数字视频电路新设计大型专题(四)

2007-10-20 16:14:57  作者:<a href="http://www.speclcd.com" targ  来源:液晶资讯网

简介:33333333333333333333
数字视频电路新设计大型专题(四):利用软件开发出高弹性影像编译码系统 面对更精细显示的趋势需求,全球各业者积极的开发研究更高阶的影像编译码系统与电路。日本KDDI研究所在先前便开发了利用MPEG-2,将4K×2K的高精细影像进行实时编码的系统,这个实时编码系的特点是,通过集群连接9颗CPU来进行软件处理,乍看之下所耗费的运算资源相当的庞大,但是从另外一个角度来看,也可以认为4K×2K的高精细影像已经不再是梦想了,目前需要克服的只剩下如何降低运算成本,以及如何达到高数据量传输的技术了。 所以,不只系统开发者全力朝向4K×2K的高精细影像发展,甚至连面板业者也加入了这一波的趋势,积极开发符合4K×2K的高精细影像面板。例如像夏普就开始朝向这方面进行研发,希望让液晶面板走在1080p之前,以高解析的技术摆脱对手的竞争。期望在其它的平面显示还在设法达到1080p的时候,夏普的液晶面板已经在1080p之前又迈出了一步。夏普这次开发的64英寸液晶面板的像素数与4K数字电影规格同为4096×2160,而且支持10 bit灰阶显示能力。此外,奇美电子也曾在2005年开发出了,在像素方面接近4K数字电影规格,分辨率为3840×2160、为超高分辨率液晶面板。4K×2K数字电影规格,是由好莱坞的主要电影公司组成的“数字电影协会(DCI;Digital Cinema Initiative)”所定义的高解析显示规格。 ▲图说:不只系统开发者全力朝向4K×2K的高精细影像发展,甚至连面板业者也加入了这一波的趋势,积极开发符合4K×2K的高精细影像液晶电视。(资料片来源:大同) 就基础来看,日本KDDI研究所这次开发的系统,相当适用于利用数字元播放的动态影像内容,当然其它的编译码技术,包括H.264/MPEG-4、AVC MPEG-4等也可以达到这样的目标,但是,其最大的差异是,这项技术是利用软件来完成实时编码处理,这部分与硬件相比,可以将开发期限缩短大约1/2& #8764;1/4,而其中的开发重点在于,进行实时编码而进行的CPU之间的连接。日本KDDI通过软件运算机制,实现了开发出将4096×2160、也就是4K×2K的高精细影像,以40MBit/秒的速度进行编码处理的系统。开发的系统采用了将9颗CPU逐点相连的集群结构,通过系统,将编码处理中的各节点相互结合,来降低演算量的系统架构。 利用软件开发高弹性编译码系统 日本KDDI会如此开发设计,是因为考虑到完成软件运算实时的编码处理是为了降低成本。因为当进行高质量的影像放送系统时,如果没有进行实时编码处理时,就需要大容量存储设备来保存原来影像,但是如果采用了这项机制,进行实时编码,这样的存储设备所需要的成本就可以降低。除此之外,因为利用软件进行的编码处理,也可以实现开发成本的降低。这对于高质量影像的需求逐年递增来说,应该是一项好消息,因为就目前而言专用编译码芯片的开发成本问题还是无法的得到有效的解决。一直以来,数字电影之类的高精细影像编码,往往需要使用专用芯片,但是专用芯片的开发需要相当长的一段时间,而且期望支持更精细影像、提高编码效率、或者增加支持其它的编码方式时,就必须从头开始重新设计芯片。 例如,如果是使用专用芯片进行编码的系统的话,通常从MPEG-2过渡到H.264/MPEG-4AVC(H.264)需要近两年的时间,因为如果采用阿拉伯计数法的基本设计,和详细的内部设计各需要三个月,而在电路设计的部分则是需要六个月,再加上六个月的芯片硬件开发,以及芯片的测试及调整也需要六个月的时间,所以整体加起来就需要耗费将近两年的开发时间。另一方面,这还不包括成本因素的考虑。 但是与此相对的,用软件进行编码处理时,最长用半年时间就可以实现系统的过渡。通常,在芯片开发中,也会在阿拉伯计数法的详细设计阶段,进行验证逻辑的模拟软件的开发,但是在详细设计的完成阶段,是为了最终用芯片处理的内容通过软件可以进行搭配。所以系统除了编码处理部分需要进行软件变更,而对于4K×2K的影像的输入部分,和编码数据的输出部分原来也必须编入各种软件链接库,但是这项作业流程却是不满一个月。
▲图说:如果是使用专用芯片进行编码的系统的话,通常从MPEG-2过渡到H.264/MPEG-4AVC (H.264) 需要近两年的时间。(资料来源:XILINX) 软件编译码三大特色 这一次日本KDDI开发的软件编译码系统有三个特色,分别是最佳化的节点间连结、运动补偿预测性能的提高、编码数据速度的最合适分配。就如前述,这个系统是由连接9片CPU板所构成的,每一片CPU板上都搭配了一颗运算频率为2.5GHz的86系列架构微处理器“Opteron”,以及与之直接相连的2G的主记忆。 而在这些的系统基础上,日本KDDI所采用的操作系统是Linux。9CPU板分别使用Rapid Array来进行逐点相连的,使得每1频道的最大数据传输速率为4GBit/秒,当然日本KDDI也考虑过使用Ethernet、Myrinet、InfiniBand等等的架构,但是整体而言Latency都相当小,只能有1.7μs左右,因此最后,日本KDDI选择了采用Rapid Array作为连接的技术。在系统所有的九片CPU板中,日本KDDI使用了八片CPU板进行了运动补偿预测以及DCT的编码处理,这些叫做编码节点,而剩下来最后一片,则是作为进行整体控制的首尾节点。 在系统规划上,当进行4K×2K影像进行实时编码时,会将画面分割成八个领域,再将各个领域的编码处理,分别分配到各个编码节点上。日本KDDI之所以把4K×2K分割成八个领域是考虑到了,现在的电脑处理能力。以MPEG-2为例,使用运算频率为3GHz左右的“Pentium 4”,可以进行实时编码的动态影像像素只有HDTV的一半左右。而4K×2K的像素更是HDTV的4倍,所以这样的观念下,日本KDDI才会将画面分割成八个领域,再由八片CPU板进行了运动补偿预测以及DCT的编码处理。
▲图说:利用软件进行的编码处理,也可以实现开发成本的降低。这对于高质量影像的需求逐年递增来说,应该是一项好消息。(资料来源:Inrialpes) MPI与CPU板之间的结合 为了让九片CPU板得到完美的数据通信,在系统中日本KDDI则是利用了MPI(Message Passing Interface)接口。MPI是在并联电脑中,经常使用的代表性通信技术,这具备用于主机板间信息交换的常用的API。所以日本KDDI使用MPI通信,作为对各编码主板发出影像数据的分配、处理开始的指示等。利用MPI在输入4K×2K影像的首尾CPU板中触发开始录像垂直同步信号。 就基本规格上,动态影像的画面比率为30画面/秒。所以每1画面所费的时间大约为30ms。也就是说,实时处理基本拥有的条件是,将一系列的画面处理需要在30ms以内完成。所谓的一系列处理是指,将4K×2K的影像输入到首尾节点上以后,还有画面的分割、往各编码节点上的分配、各编码节点的编码处理、从各编码节点向首尾节点的编码数据传送、首尾节点中的编码数据的再构成等等。所以就这个处理传节流程上,首尾节点中的整体控制变得很重要。 首尾节点相对于编码节点,在给予分割领域影像数据的同时,还指定了编码处理时间、编码量、量子化误差电力的目标值。这些目标值作为控制信息,与影像数据一起向编码节点发送信息。在日本KDDI开发的系统中,所分配的各编码节点的性能是一样,所以用首尾节点分割的领域,全部作为同一像素。然而在未来开发系统的设计,由于对不同运转频率的微处理器进行组合时,节点的性能会变得零散。这个原因是与编码节点的性能相对应,所以必须变更用首尾节点分割的领域的像素。具体来说,在系统启动时,对于首尾节点和各编码节点之间必须进行测试的动作,也就是把由于首尾节点而固定的像素的测试影像信息,发送到编码节点上一直到得出结果。一般而言,编码处理所需要的时间与像素成比例,在测试中如果量测出相对于互换的固定像素影像的编码处理时间,就可以估计各编码节点的性能。 采用共有的主记忆架构 虽然这样的系统架构,可以实现利用软件进行的实时编码。但是如果期望获得画质提高的目标,就必在分割成的八个领域中,利用互相共有主记忆来分担相邻领域的编码节点之间负担,提高运动补偿预测的效率。这样设计的原因是,如果运动补偿预测的效率得到提升的话,就可以以更低的编码数据速度实现相同画质。换言之,如果是相同编码数据速度,那么运动补偿预测效率编码处理的画质就会得到提高。 虽然这样的系统架构可以获得相当不错的效率,但是开发这样分割画面进行处理时,必须对运动补偿预测做一番努力。因为,即将出现的画面中有的对象,在移动到在后面画面中,由其它编码节点担任的领域时,编码节点之间没有联接的话这样的处理结果传输就无法完成。因此必须再次重新对画面全体进行编码,这就成为编码数据量增大的原因。 如果编码节点之间如果存在共有主记忆的话,那么必要的数据就可以从其它编码节点上读取出来。如此一来,在即将出现的画面中即使是其它编码节点中存在的对象物,运动补偿预测也可以发挥效果。在这个系统中,日本KDDI限撕嵯蛄煊蚴64×540像素,上下领域是2048×32像素,这个限制是尽量参考了担任相邻领域的节点的主记忆中的影像,一般而言因为动影像水平方向的运动比较多,所以相邻领域中大多参考了横向影像。 另外,也可以考虑按照分散共有记忆方式,参考所有编码节点主记忆的方法,但是这样一来就难以进行实时处理。所以分散共有记忆中,MPI利用到了参考其它主记忆的数据,因为如果参考所有的主记忆,这样的话与MPI传输的频率就会增大,而导致Latency增长。 所以MPI的上面置了提供共有记忆空间的软件链接库,利用这个链接库的API记述了程序。因此在进行运动补偿预测的基础上,影像在前面的画面中,只有在相邻领域中存在时,才向其它节点的主记忆进行存取,因此就可能的降低了编码节点之间的通信。
▲图说:利用互相共有主记忆来分担相邻领域的编码节点之间负担,提高运动补偿预测的效率。(资料来源:Sandpile) 调整编码数据速度完成最佳化 为了提高画面的画质,在这系统中,日本KDDI也加入了与画面相适应、且灵活变更各编码节点中的编码数据速度架构。例如假设各编码节点的编码数据速度完全相同,那么根据给予各编码节点的不同影像,使得满足一定画质必需的编码数据量也会不同,因此画质不可能在画面整体上都达到平均,这就是降低导致画面的画质的原因,也就是说,编码越难的话,画质的劣化就会越严重。 所以,首尾节点从各编码节点接收到编码信息后,必须决定对于下一画面编码数据速度和量子化误差电力的目标值。具体而言,当各编码节点完成编码时,与编码数据一起,把在编码处理的过程中,提取的比率扭曲函数参数作为控制信息,然后发送到首尾节点上。 因此,利用各编码节点接收到的比率扭曲函数的参数为基础,为使量子化误差电力相同,计算出各领域的编码数据速度。再进行下一画面编码时,将这里计算出的编码数据速度,和量子化误差电力发送到各编码节点上,就可以提高了画质的平均性。另外编码处理中,实际的编码数据速度,有时会比从首尾节点接收的目标编码数据速度大。这是在编码节点中,会慢慢地按大致方向调整量子化参数,增大作为目标值收到首尾节点指示的量子化误差电力。 就系统架构而言,这样的设计似乎是相当完善的,不过就实际上是否能如预期。日本KDDI就用真实的影像对系统进行了测试。 在样本影像中,日本KDDI所采用的输入影像,是以数字电影的内容为样本,将70mm胶片的影片内容,利用4K×2K的解像度质量进行扫描,所得到的样本质量就可以达到4096×2160像素。而编码的部分,则是使用了MPEG-2的Main Profile中High Level,设定在High Level,是因为在MPEG-2的编码规则中不能处理4K×2K的像素。而这个实际测试所得到的结果是,在新设计的系统中,可以实现以40MBit/秒的速度进行实时编码。顺带一提的是,到目前为止,市场上还没有仅仅用软件,就可以对4K×2K的高精细影像进行实时编码的系统。 利用软件编译码 需考虑稳定性课题 当这个系统要达到实用化或商品化时,有一点不得不考虑的是,系统的高持久性,以及耐用度。所以为了达到长时间的稳定运转,就必须让操作系统、电路组件等,与软件系统达到更高层次的合适化。另外,硬件基板的生产中特有的问题,存在着包括Over Flow变量的过大、记忆泄漏等,这些也会给长时间运转带来问题,因此,在产品完成时必须进行仔细的测试和调整。与专用芯片构成的系统相比,利用软件完成的编译码系统还是有性能方面的问题,例如需要配合网络区域,来保持IP包发送间隔的平均,这个要求对于时间的控制要相当的精确,其对这样的处理有些不适合,这点必须加以解决。这样的问题是基于操作系统提供的Task Switching精度,在Windows、Linux等通用的操作系统中是ms的等级。活动影像的画面周期为大约30画面/秒,从这点而言,可以说ms等级的时间控制方面是不足的。 一方面现在根据用途各种各样的编码方式相当多,因此软件编码的开发是有其存在的意义性。例如,从H.261到H.264的一系列编码方式的发展中,编码的记述规则本身发生了变化,但是所谓的“运动补偿预测与DCT的并用”的基本框架却继承下来了。只要不超出这个框架,就像前面所叙述的,利用数据并列与硬件的结合就能够比较简单实现。以H.264为例,虽然面板尺寸的规格,比原来的增大,导致各个演算更为复杂了,但是如果能够妥善处理数据并列,就不成太难的问题了。(参考数据:NE杂志 依藤大贵、KDDI相关资料)

相关文件下载

责任编辑:phpcms

关于 [标签:XXX]  的文章
热门图文
返回液晶技术频道首页