动态图像信息的高性能编码压缩系统的制作方法

文档序号:7509171阅读:138来源:国知局
专利名称:动态图像信息的高性能编码压缩系统的制作方法
技术领域
本发明,与可视电话等所需要的,降低比特率的动态图像信息的编码压缩系统相关。换言之,在图像信息中,有比较重要的部分,比如在可视电话中人说话时嘴唇运动的脸部图像;也有不太重要的部分,比如人的脸部图像以外的背景;把它们加以区别,着重重要部分的信息处理,以此来提高信息传送效率,同时,原来的电话线路制约着不断增长的传送容量,只有将图像信息传送量压缩到最小限度,以此来适应原来的电话线路,来同步传送接近自然对话的表情,特别要实现说话时声音与嘴唇的运动同步传送,即唇声同步。本发明就是涉及这样的动态图像信息的高性能编码压缩系统。
背景技术
以前的可视电话里所看到图像,为了能够在可以传送的信息量允许范围内传送信息,由于受电话线路的制约,图像信息被削减,图像质量不佳,和电视的动态画面相比,传送的是近似于连续的缺乏变化的静止画面。或者说,感觉上,是把打电话人的脸部照片用传真(FAX)比电话的声音稍稍晚一点发送出来。这样的话,同动态画面机能相比,就要优先维持每一帧的画质。而为了维持静止画面时的画质,不得不降低理应按每秒传送25帧(欧洲,亚洲的PAL,SECAM方式电视)或者每秒30帧(日本等国的NTSC方式电视)的电视图像的每秒可传送的帧数,即以大幅度降低电视原本具有的动态图像机能作为代价。这样,即使大多数的帧被削减,可是和声音相比信息量还是很多,因其处理和传送需要时间,最终导致接收延迟,所以嘴唇的运动和说话的声音不一致。反过来,如果为了和延迟接收的图像配合,而采取强制使声音同步的方法。这样,回话也将被延迟,就象在电视卫星转播见到的一样,交谈非常的不和谐。

发明内容当然,可视电话等所采用的图像,没有必要追求像剧场放映的高品位电影那样的画质;可视电话只要能看到和讲话人的说话相一致的嘴唇的运动,伴随嘴唇的运动,面孔以外的部分,能达到每秒24帧(电影标准)或者是每秒25或者30帧(电视标准)的程度的高忠实度的运动图像的还原,就能达到了可视电话本来的目的。根据这个目的,考虑画面中包含被拍摄者面孔轮廓等的特定区域有没有重要性,有选择性地完成各个部分的信号处理。这样就可以把信息量压缩成必要的最小限度,同时又不损害可视电话谈话的气氛,这是本发明的目的之一。
根据可视电话本来的目的,把画面中接收者不太感兴趣的部分,以及容易产生兴趣的醒目的面孔的部分作为特定区域进行区分。用达到每秒24帧(电影标准)或者是每秒25或者30帧(电视标准)的程度,实现真实运动的还原,而且嘴唇的运动和声音相一致,实现唇声同步传送,这也是本发明的目的。
和可视电话的画面相对应,根据人的兴趣来区分轻重处理,这样对占用有限而昂贵的传送线路的动态图像信息量进行压缩,进而提高信息传送的效率。这也是本发明的目的。
为此实现上述目的,本发明要解决的技术问题是1、首先,是在受到传送线路的信息处理量的制约的时候,要对传送信息做加权平均处理,也有必要进行有限的信息取舍,可是一定要把用来进行上述加权平均处理的选择基准作为必要条件。可是,作为选择基准,如果把它设定为上述包含打电话人重点区域的窗口的时候,确定用这个窗口来追随被摄像人的动作的手段,就变成了课题。
为此,可通过用窗口来追随被摄主体的运动,把该窗口确定为对其包含的图像部分的动态图像信息进行加权平均的选择基准;同时,用该窗口来追随被摄主体的运动,从而确实达到对实际的动态图像信息的加权平均。
2、在可视电话的使用当中,不仅把人的面部作为主体,同时,对于与所看到的说话人被看到的姿态,手势等动作相伴的动态图像进行信息的重点处理,即加权平均,并且使之实时而且清晰。可是,以前的做法并不设定可以追随手等部分的运动的窗口,所以就不能对这个部分进行实际的动态图像信息的加权平均。
为此,可把与说话人的姿态,手势等动作相关连的动态图像也着实地作为加权平均的选择基准,并且以此作为周边窗口,用该周边窗口来追随被摄像人的手势等动作,其目的是以人的面部为主体,以姿态和手势作为连带部分,以此来进行动态图像信息的加权平均处理。
3、在汽车里配备的移动式可视电话,摄取的是连续移动的背景。背景的移动很快,所以动态图像的信息量剧增,如何大幅度地削减其信息量,是我们研究的课题。可是,在什么时候需要大幅度削减这种因为背景剧烈移动造成的信息量以及合适的处理方法还没有确定。为此,就是确定在什么时候大幅度削减这种因为背景剧烈移动造成的信息量,并进行合适的处理,目的就是确立一种把不重要的背景的动态图像在视觉上不难看出的程度上进行适当的取舍的手段。
4、从动态图像中把运动信息提取出来,将它与已经被解码的参照图像进行运动补偿后合成的预测图像相比较得到差分图像,对此差分图像进行压缩,传送,通过此编码方式,进而确立改善解码器一侧被还原的动态图像的画质的手段。与此相关的是,在差分图像进行压缩时掺杂进来的噪声信号,在提高压缩率的同时也被加大了,结果是,导致解码器一侧图像画质的降低。更进一步的情况是,以这个画质不好的解码图像为基准而合成的预测图像,其预测精度也降低了,这样,差分图像的信息量还要增加,压缩率还要提高,如此导致恶性循环,这是问题点。
为此,用把在时间关系上前后的2个图像帧合成的预测图像作为图像解码时使用的B帧图像,其他的图像帧解码时与它没有关系,所以不会影响其他的图像帧的画质,利用这个特点,把B帧的差分图像信息强制设为0,以此把B帧浪费的信息量抑制在最小限,而把节省下来的部分用在对画质具有直接影响的I帧或P帧使之可以分担更多的信息量,这正是目的所在。
5、图像信息进行编码并传送,其解码还原的图像中包含了被编码的噪声。从对这些噪声进行削减的效果来看,灰度信号和色差信号相比,我们知道利用色差信号进行噪声削减的效果,从人眼的视觉特点出发效果更佳,因而我们确立在色差信号上进行有效的噪声削减的手段。
所以,虽然在H.263+标准中已经确立了“作为正式可选项的色差信号的噪声削减方法”,可是在“作为正式可选项的色差信号的噪声削减方法”中并不具备图像信息编码传送系统,所以,这里以更加简洁的结构以及不一样的方法来提供「色差信号的噪声削减手段」。这是该发明的目的。
6、是在编码器中信息压缩处理的比特率的控制机构。其必要性有两点原因,原因之一是为了适应传送线路对信息传送量的限制;原因之二是如果解码器对动态图像的还原速度是一定的话,各个帧的比特长度应该尽可能地平均化。
在以前的比特率控制方式中,根据国际电信同盟ITU(InternationalTelecommunication Union)发布的可视编解码测试模型近期版本11(VideoCodec Test Model,Near-Term,Versionl1)(以下,简称为TMN-11),依据H.263+标准中的动态图像信息压缩软件程序,有几种可以采用的方式。
可是,以前的比特率控制方式的情形是,从摄像头输入的图像经过上述编码器、传送线路以及解码器直到输出解码后的图像,这期间发生时间延迟及帧幅损失。而以前的比特率控制方式不具备为了使该延迟以及损失的帧数达到最小限度所需要的严格控制这种延迟时间的机能;这样,延迟时间成为问题,也就是说和无延迟的声音相比,表示嘴部运动的动态图像滞后了,由此导致嘴部的运动和声音不能同步,带来这样的课题。而且,为了使上述各个图像帧的比特长度精确的平均化,需要非常复杂的计算;而计算处理的同时,又不可避免地导致上述延迟时间的发生。
在此,是用简单的计算来置换过去所作的那些为了把上述各个图像帧的比特长度进行高精确度的平均化而不可缺少的复杂的计算,进而减少计算处理所需要的延迟时间,目的是提供能够实现唇声同步的系统。
7、把很多硬件模块进行相互之间有效地结合并构成一个系统,这时候,考虑相互之间的关联,所有的硬件模块都符合设计的情形是不存在的,这样,要缩短完成整个系统的设计所需要的时间是比较困难的,这是一个缺点;当然,一个地方的设计变更就要涉及整个设计,设计上的制约也很多。
在此,不是把很多的硬件模块进行相互之间有效地结合,也就是说没有和数据交换有关的横的连接,只通过纵的连接和控制中心连接,由这个控制中心完成控制。具体地说,把这些硬件模块相关的输入输出数据全部暂时存放在存储器里,这些硬件模块的行为序列以及公用的输入输出数据,都由控制中心进行控制。通过这样的结构,这些硬件模块的行为就不互相依赖,而是各自独立。这样不同的模块设计具有独立性,设计上的制约也明显减少;更多的设计人员分担不同的设计任务,这样,达到缩短整个系统设计需要的时间的目的。
8、是窗口存储器共享处理器阵列,即窗口MSPA(Memory SharingProcessor Array)的特点,在不降低“并行效率”的同时,从上述外部存储器把“搜索数据”和参照数据依次输入,这需要“窗口并行处理”的执行手段,目前为止并没有这种方法。
在此,就是在不降低“并行效率”的同时,从上述外部存储器把“搜索数据”和参照数据依次输入,目的是确立执行“窗口并行处理”的手段。
9、在动态图像信息的编码器以及解码器中被使用的,从二维离散余弦变换器、量化器、逆量化器一直到逆二维离散余弦变换器,是通过把实现离散余弦变换和量化这两种处理的装置进行合理组合来实现的。此方面的研究正在进行。可是,要实现这些,在理论上尚处于摸索阶段的结构,现实的做法是,对应外部存储器的数据传送方法,组成以前没有的一些新的结构,以从整体上寻求效率良好的方法,这样才能完成目的。
这里,从外部存储器读取数据,把它们进行二维离散余弦变换以及量化,然后存放到外部存储器中;与此相似,从外部存储器读取数据,对它们进行逆量化和二维离散余弦逆变换,并存放到外部存储器中。目的是确立在不降低数据传送速率的情况下确立的高效率的手段。
为解决上述问题,本发明的技术方案内容是一、针对在识别处理中的动态图像的画面中任意移动的特定区域,也就是被优先进行信息处理的窗口(21),将构成该窗口的整个图像分割成矩形的小块,依次对矩形小块处理,并利用与块的动态图像运动相伴的运动矢量,来推定下一帧的脸部的窗口的位置,进而能够用窗口(21)来追随被摄主体的运动。
这样,把窗口(21)明确为进行动态图像信息加权平均处理的判定基准,同时因为窗口(21)追随上述被摄主体的运动,所以能够真实地进行动态图像信息的加权平均处理。
二、根据前一帧和当前帧的差分超过规定的阈值作为条件,来判断次于被摄主体而具有稍差重要性的对象部分所包含的任意变动的区域,即上述被优先进行信息处理的特定的区域的周边运动窗口(51),将构成它的整个图像分割成矩形的小块;依次对其处理,并利用与块的动态图像运动相伴的运动矢量,来推定下一帧的周边运动窗口的位置和区域,进而能够用周边运动窗口(51)来追随上述任意变动的区域,举例说,不仅把人的脸部作为主体,同时,伴随着姿势、手势等动作的对象部分,与其相对应的动态图像信息也要进行加权平均处理,并且明确把上述周边运动窗口确定为该加权平均的选择基准。同时,用上述周边运动窗口追随人的手等的运动,这样就能够把以人的脸部为主体并伴随姿势、手势等动作的对象部分进行真实的动态图像信息的加权平均处理。
三、在上述窗口(21)和上述周边窗口(51)的范围之内区分被摄主体和背景,在其背景的运动很剧烈因而动态图像信息量增多的时候,削减上述背景的运动量,以此弱化背景画质的计算,即,在当前帧的“宏块”图像中,把与该“宏块”图像处在同一位置的前一图像帧的数据,按照一定的比例进行相加混合,具备这种时间方向的滤波器,以此削减上述的背景的动态图像信息量。
这样,就要确定在什么时候大幅度削减这种因为背景剧烈移动造成的信息量,同时又要进行合适的处理,把不重要的背景的动态图像在视觉上不难看出的程度上进行适当的取舍。
四、把当前帧的图像、前面参照帧的图像以及后面参照帧的图像输入并进行运动预测、运动补偿并且确定预测方式,这是运动预测功能模块;把从这个运动预测功能块输出的预测图像与当前帧的图像之间的差分信号输入,并把这个差分信号的全像素值进行强制的归零,这是全像素值归零化功能模块;输入从这个全像素规零化功能块输出的归零化的全像素信息,而且在使用上述运动预测功能块决定的预测方式来预测动态图像的下一个运动的同时,把上述的归零化全像素进行编码,这是编码合成模块;由以上模块构成编码器。通过这个编码器进行编码压缩并传送出去,经过传送线路接收到这些动态图像信息,对其进行解码,这是解码模块;把从这个解码模块输出的信号输入并进行逆量化,这是逆量化模块;把从逆量化模块输出的信号输入并进行离散余弦逆变换,并进而还原为差分图像,这是离散余弦逆变换模块;把这个还原的差分图像和通过上述预测方式预测并得到的预测图像进行相加,输出还原的图像,这是加法器模块;由以上模块构成解码器。综上,配备这样的解码器和编码器,并进行B帧的处理。
所以,作为从前后的参照帧的图像信息得到的差分信号,在把当前帧的信息进行压缩的B帧的编码方式中,不是象以前的方式那样传送差分信号自身,而是传送差分计算的种类、也就是以只发送顺方向预测、逆方向预测还是两方向预测这种信息来确立B帧信息压缩的方法。这样,在上述动态图像的运动很剧烈的时候,上述差分图像的信息量就变得很多;为了使上述差分图像的信息量最小,全像素被强制归零,这样通过使传送的图象以最少的信息传送,从而使接收者能够进行还原。
五、不使用上述预测图像,而仅仅对当前的“内部宏块”直接进行编码,对这种“内部宏块”的处理中,灰度信号和色度信号通过四舍五入进行量化;对这种“内部宏块”以外的情况,灰度信号将根据取整方式进行削减并进行量化,而色度信号还是通过四舍五入进行量化;并且对灰度信号和色差信号使用同样的量化级别,以此降低色差信号的噪声。
这样,根据在包含一个灰度信号和两个色差信号的编码器中通过量化进行变换的方法,在解码器中用相同的量化级别进行解码,就能够减轻色差信号噪声,从而确立了提高解码图像的视觉质量的量化方法。这样,使用比以前方法简单的结构,却能够发挥有效削减色差信号的噪声的效果,因而,能得到从人眼的特点出发、视觉上高画质的图像。
六、把被编码后的动态图像信息的比特量和通信缓冲器残留的比特量进行比较的比较手段;通过这个比较手段得到的比较结果,来控制帧的目标比特量以使上述残留的比特量不枯竭的控制手段;使用通过这种控制手段得到的控制结果,对从摄像头输入的图像从它经由上述编码器、传送线路、以及上述解码器直到输出解码的图像这期间发生的延迟时间和舍去的帧幅数进行控制使之达到最小限度,利用这种针对每一帧幅的帧级别的比特率的控制的这种每帧的目标比特率的计算方法。
七、具备两种计算手段。用前面帧的各个“宏块”的量化级别的加权平均的平均值,来计算出在帧的最初的“宏块”中应用的量化的级别,这是最初的第一步的计算手段;用上述目标比特量、当前“宏块”的实际的编码量以及上述最初的“宏块”中应用的量化级别,来计算出第二步以后的“宏块”所适用的量化级别的微调量,这是第二步计算方法。
所以,在上述“第六项”和“第七项”中,一方面要把图像的编码、信息的传送以及编码时产生的延迟时间抑制在最小限,也要把帧幅的丢失抑制在最小限;这就需要谋求每一帧的最适宜的目标编码比特量(以下,把这种处理称为帧级别比特率控制),同时把这以后的各个“宏块”之中的量化级别调整到最合适的程度(以下,把这种处理称为“宏块”级别比特率控制)。这种方法虽然计算量很少,却能发挥良好的控制能力。这样,以前那种为了把各个图像帧的比特长度进行高精度的平均化所必不可少的非常复杂的计算,就可以用简单的计算替代了。这样,能够减少上述计算处理产生的延迟时间,实现“唇声同步”。
八、具备这样的编码器和解码器,其中包括存储图像帧信息的存储器;彼此独立操作的硬件模块以数据总线相互结合的同时,由中心控制模块控制存储器和硬件模块之间的数据流以及操作时序,即所谓的地址产生单元AGU;由这个AGU通过控制总线对各个硬件模块进行控制并相互结合起来,从而构成系统结构。
这样,把具有灵活性和高速性,而且省电的小规模集成电路的硬件模块通过总线结合起来,使用AGU模块控制它们的操作时序以及同存储器的数据之间的数据流,如此确立最适合动态图像压缩的系统结构。
九、具有这样的中心控制模块。图像被分割成很多的块,这些块的坐标信息被处理后,存放到外部存储器中,这种外部存储器具有适合于这种块处理方式的地址结构;在集中控制模块中的具备的只读存储器ROM中以用来存放命令程序,这些命令程序控制着上述各个硬件模块的执行,而且这些命令可以产生以“宏块”的坐标为单位、以块为单位、以像素为单位的存储器寻址地址,由此构成其系统结构。
于是,作为对各个硬件模块的操作的开始和结束以及存贮器的数据输入输出的控制等等所有操作的集中控制的处理器,就能够生成以“宏块”的坐标为单位、以块为单位、以像素为单位的存储器地址。这样,这些硬件模块的操作就不互相依赖,而是各自独立。设计上的制约也明显减少;因此,更多的设计人员可以分担不同的设计任务,这样就能够缩短整个系统设计需要的时间。
十、具备以下模块和手段。包括上述的外部存储器;以及,把存储器中的“宏块”的数据按每个宏块为单位转换成串行输入并进行数据形式变换用的缓存器;以及,把从该缓存器输出的3端的数据,提供给32位并行阵列,此阵列由被连接在一起的处理器单元构成,称为窗口处理用存储器共享处理阵列结构,(窗口memory sharing process array architecture);以及,对该处理器单元的数据进行超高速运算的运算手段;以及,搜索用来表示当前帧的“宏块”是从前面帧的什么位置移动过来的运动矢量的运动矢量搜索回路。
这样,在各式各样硬件模块之中,全部80%以上的处理量是由运动矢量搜索电路完成,为此,确立了由多个处理器进行高效工作的结构。用这种结构就可以不降低高速并行的效率,而通过从外部存储器把搜索数据和参照数据串行输入,就能够进行窗口的并行处理。
十一、具备以下模块和手段。包括外部存储器;以及,从外部存储器把由横8×竖8=64像素构成的“宏块”的数据依次输入,同时,在不降低数据传送率的的情况下,把串行数据变换成并行数据,这样的两组的数据形式变换手段;以及,借助于这种数据形式变换手段,对上述并行数据进行2元离散余弦变换,这样的处理器阵列;以及,把从这个处理阵列进行2元离散余弦变换后的输出,再输入,并对其进行量化,然后把数据进行输出并存储到外部存储器中,这样的量化模块。
这样,有一些在运动矢量预测计算之后需要大量的计算模块如离散余弦变换和量化电路,以及,与它们执行相反操作的逆量化电路和逆离散余弦变换模块,这些模块中,要在不影响其内部高速操作的同时,对外部存储器储存的数据进行串行的读取、并行处理以及存储。这样,确立了在不降低高速的数据传送速率以及并行处理的效率的情况下,从外部存储器串行输入像素数据,然后进行并行处理的手段。
本发明与现有技术相比,具有以下积极效果
1、依上述发明内容第一项(以下把“上述发明内容”略去),把窗口21确定为进行动态图像信息的加权平均所需要的判别基准;进而通过上述窗口来追随被摄人的运动,能够进行可靠的动态图像信息的加权平均。
2、依第二项,不仅把人的脸部作为主体,对于伴有姿态、手势等动作的对象部分的动态图像信息,把周边运动窗口确定为对它进行加权平均的判别基准;进而通过上述周边运动窗口来追随人手等的动作,这样,能够把以人的脸部为主体,同时伴随姿态、手势等动作的对象部分,进行可靠的动态图像信息的加权平均。
3、依第三项,确定在背景的运动剧烈时对其信息量进行大幅度的削减;同时进行适当的处理,能够把不重要的背景的动态图像在不难看的程度进行适当的取舍。
4、依第四项,在上述动态图像的运动很激烈的时候,差分图像的信息量大量增加,对于B帧,应该尽可能地使差分图像的信息量最小,通过把差分全像素值强制归零,能够以最少的信息,把传送源的图像在接受方还原。
5、依第五项,使用比以前简单的结构,却能够发挥显著的削减色差信号噪声的效果,因而,能得到从人眼的特点出发、视觉上高画质的图像6、依第六项和第七项,为了对各个图像帧的比特长度进行高精度的平均化,把从前不可或缺的非常复杂的计算用简单的计算来替代,这样减少了上述计算处理所造成的延迟时间,能够实现“唇声同步”。
7、依第八项和第九项,不同的模块的设计具有独立性,设计上的制约也明显减少;更多的设计人员可以分担不同的设计任务,这样,能够缩短整个系统设计需要的时间。
8、依第十项,不降低高速并行的效率,从外部存储器串行输入搜索数据和参照数据,能够实行窗口并行处理。
9、依第十一项,不降低数据传送速率,从外部存储器串行输入数据,能够进行二元离散余弦变换以及量化和逆量化和二元离散余弦逆变换。
本发明,因为按照以上说明构成了动态图像信息的高性能编码压系统,能够最大限度有效地发挥使用光纤通信以前的既成的电话线路。也就是说,用被限定的一定频带带宽线路,只对声音进行高效率的传送,在这样的前提下来构筑系统。虽然是在现有的电话线路网(也包含了无线)所规定的信息传送容量的制约范围内,但却实现了十分实用的电视图像的传送,而且是唇声同步传送声音。因为电磁波的绝对速度达到光速,图像传输的延迟可以忽略不计,所以,只要是没有天文数字一样的距离,就可以进行接近自然的电视交谈。
本发明对旧的电话网是有效的,对今后的光纤网也是有效的。也就是说,在高速的大容量的传送线路中,通过使用本发明的可视电话,可能增大通信的件数。因而,把便利带给千家万户。
又比如,如果把本发明应用到与128M比特DRAM组合的录像还原装置中,包含声音的动态图像以每秒34K比特的数据量进行压缩,能够实现1个小时的记录和还原,这样就不需要以前的录像机的录像带驱动装置了,这样的记录再生装置能够很便宜地制造出来。正因为如此,ROM图像再生装置很容易普及,应用范围包括孩子的玩具、视听教材、生活必需品以及公用设施等,应用范围和便利性数不胜数。

图1是脸部的窗口的说明图。
图2是脸部的窗口和周边运动窗口的说明图。
图3是削减背景信息量的方法的说明图。
图4是利用B帧处理进行信息量削减的方法的说明图。
图5是有关帧级别传送率的条件以及变量一览图。
图6是帧级别传送率控制的处理流程图。
图7是与“宏块”级别传送率相关的变量和常数的一览图。
图8是“宏块”级别传送率控制的处理流程图。
图9是“宏块”级别传送率控制中函数CQ(x)的定义的说明图。
图10是“宏块”(i)中量化级别q的更新处理流程图。
图11是编码器功能框图。
图12是解码器功能框图。
图13是编码器/解码器兼用一体的功能框图。
图14是集中控制装置(AGU)的功能框图。
图15是外部存储器的存储器领域的结构图。
图16是运动矢量搜索线路图。
图17是离散余弦变换器以及量化器的功能框图。
图18是数据形式变换器功能框图。
图19是离散余弦变换/逆变换器的功能框图。
图20是离散余弦变换/逆变换器中的输入处理部分的功能框图。
图21是离散余弦变换/逆变换器中的输出处理部分的功能框图。
上述附图中的符号的说明1.存储器2.数据总线3.AGU4.控制总线8,9.ROM10.运动矢量搜索部分21.窗口22.背景图像39,57.缓冲器41.运动预测功能部分42.全像素值归零化功能部分45.编码生成部分46.解码部分47.逆量化部分48.离散余弦逆变换部分44,49.加法部分51.周边运动窗口55.数据格式变换器56.离散余弦变换/逆变换器101,102,…,132.处理器单元具体实施的方式
下面,通过图1到图21,来说明本发明的实施形式。
图1是窗口的说明图。把脸部的窗口21从背景图像22中区别开来,同时进行信息的加权平均;把脸部的窗口21作为重点,相反对背景图像22特意降低画质以减少信息量。而且,通过用脸部的窗口21来追随摇动的脸部的运动的机制,来连续更新到最新的位置。
识别处理中动态图像的画面中任意移动的特定区域,也就是被优先进行信息处理的脸部的窗口(21),构成它的所有像素被依次分割成矩形的小块,在这种处理方式下,并利用与小块的动态图像运动相伴的运动矢量,来推定下一帧的脸部的窗口的位置,进而用脸部的窗口(21)来追随被摄主体的运动。
在开始通信时,把固定形状的脸部的窗口21设定在中央位置,在这个窗口21的内部的“宏块”的运动矢量之中,计算不为0的“宏块”的平均值,把这个平均值作为窗口21的移动的方向,来更新窗口21的位置。
如果当初,人物的脸部没有定位在画面的中央,所以窗口21的位置和人的脸部不一致的时候,一旦具有运动矢量的脸的一部分进入窗口21的内部,马上就可以通过窗口21的运动矢量的作用,使窗口21逐渐与人物的脸靠近,直到最终一致。
这样,通过把窗口21确定为进行动态图像信息的加权平均的选择基准。因为窗口21可以追随脸部的运动,由此就能够进行真实的动态图像信息的加权平均。
下面,是ITU标准所规定的,与块单位的处理相关的一些定义。以下的数字表示横X竖的像素数量。动态图像的一帧,由被称为最小单位的块构成,一个块包括8×8的像素;进而,16×16像素的灰度信号,以及8×8像素的两个色差信号Cr、Cb,这三个在一起构成的区域称为“宏块”。因而,“宏块”由4个相邻的灰度信号Y,和各为1个的色差信号Cr、Cb,合计6个块构成。
上述ITU标准中采用的一帧的标准的像素数,由144×176像素的灰度信号、和72×88像素的2个色差信号Cr、Cb构成;从4分之1通用中间格式QCIF(Quarter Common Intermediate Format)开始,以及CIF(Y288×352像素,Cr/Cb144×176像素)、以及4CIF(Y576×04像素,Cr/Cb288×52像素)等等,存在很多种类。本发明以上述ITU标准中被允许使用的完整的帧的尺寸为对象,上述的宏块以及块的单位是在适应而且合乎信号处理所规定的限制范围内实行的。在这样的限定条件的范围内提高画质是创新型的本发明所要遵循的要旨。
图2是脸部的窗口同周边运动窗口的说明图,就是说在脸部的运动比较少的时候,对说话人的关心则集中于脸周围,比如手上。此项正是要解决这个问题。具体的操作是,求出前面帧的图像同当前帧的图像的差分值,当差分值超过所规定的阈值以上时进行操作,把重要性仅次于脸部比如手臂等对象围起来,也就是用16×16像素构成的大像素块(以下称为“宏块”)或者是8×8像素构成的像素块(以下称为“块”)构成任意变动的区域,即窗口51,并对其进行优先的信息处理。
于是,构成上述周边运动窗口51的整个图象被分割成矩形的小块,在这种逐次分割成矩形的方式下,同时利用与块的动态图像相伴的运动矢量,来推测下一帧的周边运动窗口的位置和领域,从而使周边运动窗口51能追随上述任意变动的的区域。周边运动窗口51,是和脸部的窗口21有区别的,它是根据前一帧图像和当前帧图像的差分值,而使用了比相应的阈值更大的范围,以此为原理计算出来的。而且可以适宜地变换为任意的形状。
这个周边运动窗口51在脸部的运动激烈的时候靠近脸部的窗口21,在脸部基本没有运动的时候,阈值会适当变化,从而使该窗口覆盖脸部的周边部分。特别是在手做出动作的时候,周边运动窗口能覆盖手的动作。这样,不仅把人的面部作为主体,而且把周边运动窗口51确定为判别是否对带有姿势、手势等动作的对象部分,进行动态图像信息的加权平均的判别标准;而且,用周边运动窗口51追随手等部分的运动,这样,就能够对以人的面部作为主体同时伴有姿势、手势等动作的对象部分进行实际的动态图像信息的加权平均。
图3是削减背景的信息量的方法的说明图,除了面部窗口21之外,也包括周边运动窗口51,把它们的范围和背景相区别,关于这一点已经通过图2进行了说明。这是一种在背景运动比较激烈因而动态图像信息量很多的时候,通过降低背景运动量来故意弱化背景的画质的算法。也就是说从当前帧的“宏块”图像和与其具有相同的位置的这一“宏块”图像在上一帧的数据按一定比例进行相加混合,用这样的时间方向的滤波器(未作图示),对上述背景的动态图像信息进行削减。
把脸部的窗口21和周边运动窗口51相结合,重点考虑这两个领域,相反对与它们以外的背景图像22故意降低画质来降低信息量,进行时间方向上的滤波。在这里,不是对当前帧的“宏块”进行处理,而是取而代之对推导出的“宏块”进行处理,该“宏块”是利用从具有相同位置的前图像帧(以下称为“前帧”或“前参考帧”)的“宏块”和当前帧的“宏块”,通过对它们进行加权后进行平均化推导出来的“宏块”。加权平均,可以认为是同位置的前帧的“宏块”同当前帧的像素值的平均值。极端的情况是只有前帧的“宏块”自己置换自己,此时平均图像就是静止图像。通过这样来抑制背景图像的噪声或运动,把背景画面使用的信息量限定在很小的比例,这样就能把更多比例的信息用于脸部和周边运动领域。
这样,消耗了大量地传送信息量的运动激烈的动态图像信息,通过时间滤波器的使用,虽然画质稍稍降低,但是能够极大降低信息量。这些信息量大幅度削减的图像经过解码器以后还原的时候,只有快速移动变化的场面画质稍稍受到一点影响。具体的说,在行驶的汽车中使用此可视电话的时候,作为讲话人背景从车窗看到的移动的风景,稍稍有一点模糊。如此这样,在背景移动激烈的时候,通过对其信息量进行大幅度的削减,同时进行适当的处理,这样那些不重要的背景的动态图像信息量,就能够被适当地削减到视觉上不至于难看的程度。
这里,预先说明一下I帧、P帧以及B帧之间的关系。
I帧,仅使用当前帧的图像信息进行编码,所以,其图像不依赖于之前的解码图像的画质。
P帧,是根据前面参考帧(与当前帧相邻的之前的已经被编码的I帧或P帧)的图像,利用在运动预测器中求得的各个“宏块”的运动矢量,生成运动补偿的预测图像,然后,把这个预测图像和当前输入帧的图像的差分图像信息进行压缩(离散余弦变换、量化、可变长编码化)并发送到解码器。
对于P帧,解码器对这个差分图像信息的压缩编码进行解码(离散余弦逆变换、逆量化、可变长解码化),同时,P帧还有一个与I帧之不同之处是它把编码器发送来的由运动矢量进行运动补偿而得到的预测图像(在编码器一侧的生成是同样的)与差分图像进行合并,以此完成P帧的解码(解码P帧=预测图像+解码差分图像)。可是,在解码差分图像中混入了压缩编码时携带的噪声。解码后P帧的画质,极大的依赖于预测图像的预测精度(预测图像同当前输入帧的图像的类似度),所以,它受到用于产生预测图像的前参照帧的画质的直接影响。
换言之,前参照帧的画质恶化的时候,解码后的当前P帧的画质也恶化,特别是给它以后的P帧的画质带来连锁的恶化的影响。反之,P帧的画质提高,以它为参照的帧的画质也提高,也带来以后帧的画质的连锁提高。
B帧,是以在时间关系上前后的2个参照帧(当前帧前相邻以及后相邻的被解码后的I帧或者P帧)的图像为基础,生成与上述同样的预测图像,进而,把和当前输入帧之间的差分图像信息的压缩编码送到解码器。
在解码器中,把被解码的差分信息,同另一个信息,也就是从编码器送来的的以运动矢量以及预测方向(同方向预测、反方向预测、双方向预测)信息为基础生成的预测图像(在编码器中的生成是同样的),两者进行合并,进而实现B帧的解码。
B帧和P帧的不同点是,因为是在2个参照帧的基础上生成的预测图像,所以同P帧相比预测的精度更高,差分图像的压缩编码量更小,这是一点;此外,因为B帧不以自身为参照,所以即使B帧的画质恶化,恶化的影响也不会波及其他(B帧以后)帧。这是另外一点。
可是,B帧的画质本身,同P帧一样,极大地受到它所参照的帧的画质的影响。
图4是通过B帧处理来削减信息量的方法的说明图。在各个处理过程中对信号以及处理的名称进行了标注,这里,当然不是仅仅把各个信号处理的功能块的名称标出来而已,而是把和各个处理相关的有必要说明的功能块设定了编号。
首先,在图4(a)所表示的编码器中,当前帧图像、前参照帧图像以及后参照帧图像被输入到预测机能块41。在这个运动预测机能块中执行运动预测、运动补偿以及决定预测方式。接着,从这个运动预测功能块41输出的预测图像与当前帧图像之间的差分图像信息被输入到全像素归零化功能块,把该差分信息的所有像素进行强制归零。
从该全像素归零化功能块42输出的归零的全像素信息经由离散余弦变换块43,再经过量化部分44,被输入到编码生成部分45。编码生成部分45,根据运动预测部分41确定的预测方式来预测动态图像的下一个运动的同时,把上述归零化的全像素信息进行编码。编码器完整的结构将在后面图11表示的结构图中叙述,图12表示解码器的结构图,图13表示编码器/解码器兼容一体的结构图,后面将通过它们一起进行叙述,所以,这里仅就B帧处理中信号的流动进行表示,并说明其作用。
图4(b)用来表示解码器。从编码器把动态图像信号进行编码压缩,然后发送出来,经过传送线路100由解码部分46接收并解码,然后从解码部分46把解码信号输入到逆量化部分47进行逆量化处理。接着,从逆量化部分47输出逆量化信号,然后输入到离散余弦逆变换部分48,在此进行离散余弦逆变换,通过以上这些步骤还原为差分信号,这个还原的差分图像同根据上述预测方式进行预测得到的预测图像合并,最后输出解码图像。
一般来说,在所使用的动态图像压缩方式中,存在如下三种帧,即对当前输入帧的图像信息进行直接编码的I帧;以及,当前帧的图像信息通过之前的参照帧的图像信息进行预测,把当前帧与这个预测图像之间的差分图像进行编码的P帧;以及,通过从时间关系上前后的2个参照帧的图像信息合成预测图像,把与这个预测图像之间的差分信号进行编码的B帧。
这里所说的“参照帧”,指的是已经被解码的I帧或P帧。这里所说的“预测图像”,指的是,参照帧与当前输入帧之间发生的运动以各种的“宏块”为单位来进行预测,并在参照帧中对运动量进行补偿而得到的图像最近,在H.263和H.263+标准中,提倡一种叫做PB帧的编码方式,即,B帧和在它后面的P帧同时以“宏块”为单位进行编码。
以前的B帧,作为PB帧编码方式中B帧的预测方法,存在以下3类(1)预测前参照帧时使用的同方向预测;(2)预测后参照帧时使用的反方向预测;(3)预测前后两方向的参照帧时使用的双向预测。
以前,为了修正当前输入帧图像与预测图像之间的偏差,把这些差分图像进行编码,然后送到解码器;而在这里,正如图4(a)所表示的,把其差分信号强制全部归零的图像,实质上,就是只把上述三种B帧的预测方法作为信息来发送,以此来极大降低B帧信息量。这里所表示的就是这样的方法。
B帧,正如前而已经说明的,因为不作为其它帧进行编码的参照帧,所以即使B帧的画质发生多少恶化,对它之后的帧的编码也没有影响。通过把B帧的信息量进行大幅度的降低而使P所占的信息量增加,其结果是P帧的画质得到了提高,正如之前说明的,动态图像整个的画质也伴随着提高了。
在强制使B帧的差分图像全部归零的图像处理中,图4(a)的虚线所包围的离散余弦变换部分43以及量化部分不是必须的,可相应做硬件的削减。
在解码器一侧引入这种新的B帧的编码方法,并不需要变更解码器一侧的结构,就能完全保持与以前标准的互换性。这样,在上述动态图像的运动非常激烈的时候,其差分图像的信息量也大大增加,为了尽量使差分图像的信息量最小,通过强制使全像素值归零,能够以最少的信息量对原图像进行还原。
这里,对降低图像色差信号的噪声,同时提高解码图像在视觉上的图像品质的量化法进行说明。通过解码器还原的图像的质量,一般来说,是取决于在对灰度信号以及2个色差信号进行压缩编码过程中混入的噪声量,人的视觉对色差信号特别敏感,由此可知,削减这两个色差信号的噪声,就可以提高视觉上图像的质量。
以前的量化方法,是通过指定的量化级别,并利用以下的公式,进行离散余弦变换,得到频域的数据。
|L|=[(|C|-Q·s·(p+f))/(Q·s)]这里,|L|是被量化的数据的绝对值,|C|是原数据的绝对值,Q是量化级别,s是量化级别的修正值,p是逆量化修正值,f是取舍修正参数,[]表示实数取整的变换计算。
逆量化修正值p以及量化级别修正值s,根据不同的动态图像编码标准来确定。在H263以及H263+标准中,逆量化修正值p,根据“宏块”的编码方式和频率数据的种类,分别取0(“内部宏块”的直流成分的时候)或者取0.5(其他的情况),量化级别修正值固定取2。这里所说的“内部宏块”,指的是,不使用预测图像而是直接对现在“宏块”图像进行编码的“宏块”。
另一方面,取舍修正参数f,在标准中并没有规定,可以自由的设定。f=0.5的时候,意味着进行四舍五入的量化;f=0的时候,意味着进行取整(削减)量化。
在TMT-11中所采用的,以前的量化的方法中,取舍修正参数f,根据“宏块”的编码的方式,分别设定为0.5(“内部宏块”的情况),或0.25(其他的情况)。在灰度信号和两个色差信号中使用相同的f值。
在本发明中,通过为不同性质的灰度信号和色差信号设定f值,灰度信号和色差信号使用相同的量化级别,成功地大幅度降低了色差信号的噪声。具体的说,如下所示来确定f值。
(1)内“宏块”的情况,同以前一样设定f=0.5(根据四舍五入进行量化)(2)其他的情况,灰度信号使用f=0(取整(削减)),色差信号取f=0.5(四舍五入)。
在灰度信号进行量化时,使用取整(削减)的方法,势必增加量化的噪声,所以以前根本没有人考虑使用这种方法。可是,对灰度信号取整(削减)的量化的效果是在取0值的量化中,频率成分的个数急剧增加,这样压缩比率显著上升,因此带来量化级别的降低。量化级别的降低则抵消了量化的噪声增加的倾向,最终的量化的噪声仅仅增加0.0dB到0.3dB的程度,和以前的情形相比,基本没有什么改变。相反,因为在色差信号的量化中使用四舍五入,色差的噪声改善了1.2dB甚至1.3dB的程度。总体上的信噪比改善了0.3dB。特别是,色差信号的噪声的大幅度的降低,保证了颜色的正确还原,视觉效果上的图像质量获得了大幅度的改善。因而,使用比以前简单的结构,发挥了明显的削减色差信号噪声的效果,通过信噪比的改善,从人眼的特点出发,取得了视觉上的实质的画质的提高。
接下来,是“内部宏块”的DC系数(8×8块的左上角的值)的量化。即,把DC系数除以8,余数四舍五入。相反,在解码器一侧,上述的DC系数,要由被量化的受信值乘以8得到,因而,[逆量化值]=8×[量化值]。当不使用预测图像,而是对当前的“宏块”(16×16或8×8)图像直接编码,只是在这种“内部宏块”的时候,才对灰度信号和色差信号进行四舍五入的量化。而对“内部宏块”以外的情况,灰度信号进行取整(削减)量化,色差信号进行四舍五入量化。
这样,通过对灰度信号和色差信号使用同样的量化级别,能够降低色差信号的噪声。但是从测量上看,削减同样程度的噪声,同灰度信号相比,对色差信号的削减,在视觉上的效果更高。因而,使用比以前简单的结构,便发挥了明显的削减色差信号噪声的效果,通过信噪比的改善,从人眼的特点出发,获得了视觉上的实质的画质的提高图5是与帧级别率相关的条件以及变量的一览图。图6时帧级别率的控制处理流程图。图5表示了在帧级别率的控制中,计算目标比特率时需要考虑的条件。输入图像1秒所对应的画面数G是根据编码器一侧的动态图像输入源(摄像机、录像机)来决定,一般取值为25到30。对于输出的图像,1秒所对应的画面数F,取输入图像1秒对应画面数G以下的值,G和F的比值为整数。
在此,1幅输出图像帧所对应的画面数C,在下一幅输出帧使用PB帧的编码方式时,取值为C=2;在下一幅输出帧使用I帧或P帧的编码方式时,取值为C=1。编码器中一秒所对应的能够还原的最大的画面数H,取F以上的值。可以保证的最大的帧延迟时间D,即从编码器一侧的图像输入开始,到解码器一侧的图像还原之间需要的延迟时间,以输入画面周期(1/G)秒为单位时间来表示。这个延迟时间,除了依赖于各个画面的编码信息的发送所需要的时间,还依赖于编码器和解码器进行处理的延迟时间。这里,对此处理延迟时间忽略不计。再有,关于D应该满足的条件将在后面叙述。
图5(b)表示的是根据图5(a)的条件确定的3个变量,E是为了100%使用信道的带宽而需要的最小比特量。当实际的比特量小于这个E的时候,用来储存输出信息的通信缓冲器变空,导致下溢出现象的发生,通讯速度的实际值下降,结果导致画质的恶化。
这里,L是能够保证帧延迟时间D而需要的最大的比特量,当实际的编码比特率超过L的时候,在解码器中还原图像的延迟就超过D了。为了减少下溢出现象从而进行稳定的动态图像通信,同时又能保证帧延迟时间D,L值必须取E以上的值,在图5(a)中给出了D必须满足的条件D≥(2C-1)G/F-1。再有,K是1帧对应分配的比特量,设定为E以上L以下的值。还有,图中的s,是确定效率值的常数,取值从0到1之间。
图5(c)表示的是依赖于各个图像帧的编码比特率的变量。图5(a)(b)(c)中出现的变量R、G、F、C、H、D、E、L、K、W、B、U、T全部近似于整数。这样,下面的帧的级别控制的处理可以全部是整数计算,硬件更容易实现。
图6表示的是帧的级别率控制的处理流程图。在图6(S61)中,把通信缓冲器残留的比特量W设定为0,开始的输入画面作为1帧进行编码。在图6(S62)中,判断现在帧的比特量B是否为正值。如果B是正值,那么现在帧处理的时间为C/F,这个期间发送的比特量设定为R·C/F。如果B是负值,判断当前的帧被跳过了,编码处理时间和输入画面的周期是同样的,为1/G秒,把这个期间发送的比特量U设定为R/G。在图6(S63)中,通信缓冲器残留的比特量W同当前帧的比特量B相加,并与在当前帧处理时间从通信缓冲器发送来的比特量U进行比较,进而更新W的值。
在图6(S64)中,计算下一帧的目标比特量T,并在此时检查W与L-E、F与H之间的大小关系。一般的情况是W<L-E,这时,从一帧对应的比特量K之中减去通信缓冲器残留的比特量W,把其差值设定为T。而在W>L-E的时候,当前帧无法在保证的帧延迟时间以内在解码器中还原,于是超过保证的延迟时间以上的滞后现象会暂时发生(以下,把这种情况称为“过剩延迟状态”)。这以后,在编码器一侧,为了消除这种暂时的过剩延迟状态,对K进行设定,如果解码器一秒对应的能够还原的最大的画面数H大于输出图像一秒对应的画面数F的话,就能够在解码器一侧消除这种过剩延迟状态。
可是,例如在H和F相等的时候,此时,虽然在编码器一侧消除了过剩延迟状态,可如果不能在解码器一侧消除,恐怕过剩延迟状态还要继续。这样,暂时的过剩延迟状态无法监测,而且过剩延迟状态持续的时候,很多时候产生延迟过大的问题,因而,在W>=L-E和F=H的时候,设定T=0。在图6(S65)中T为正值的时候,作为普通的处理,跳过下一(D/F-1)帧,并对它后面的C个(接下来的帧是I或P帧的时候C=1;PB帧的时候C=2)输入画面进行编码。在T的值为0或者负值的时候,接下来的输入画面一个也不编码全部跳过。于是,在这样跳过的时候,帧的比特量为B=0。
这样,就能够严密控制从编码器一侧的输入图像一直到解码器一侧图像被还原为止的延迟时间。而且当产生输出画面的帧丢失时,同以前的丢失C·G/F帧相比较,本发明把帧丢失抑制在1幅画面,这样总体上丢失的画面也很少,能够实现稳定的动态图像的通信。
被编码的动态图像信息的当前帧的比特量B与通信缓冲器残留的比特量W相比较的手段在图6(S62)(S63)中表示,利用其比较结果,为了使上述残留比特量W不枯竭,进而控制下一帧的目标比特量T的控制手段在图6(S64)(S65)中表示。使用通过这种控制手段得到的控制结果,把摄像机输入的图像经过上述编码器、传送线路100以及解码器,直到输出解码的图像这期间发生的延迟时间和帧丢失限定在最小值。以此确立了用帧级别率控制的计算下一帧的目标比特量的手段。这样,对于以前无法进行很好地控制而导致的实际通信速度降低的通信缓冲器的下溢出或还原图像的延迟现象,在这里通过极为简单的计算,就达到了很高的控制能力,能够实现实时“唇声同步”。
通过图7、图8、图9以及图10,对以编码比特量为指标的“宏块”级别率的控制方法进行说明。
图7,是与“宏块”级别相关的变量和常量的一览图。特别指出的是,前帧的编码化的“宏块”的量化级别的平均值Qa,是把已经被编码的“宏块”(指的是,在不使用“中间宏块”的情况下,量化频率成分以及运动矢量成分中全部变成0的“宏块”不被编码)按运用的“宏块”的数量进行等分,所得到的值。
如图8所示,是使用前一帧的各个“宏块”的量化级别的加权平均的平均值Qa,来计算出当前帧的最初(i=1)的“宏块”中运用的量化级别的初始值Q,这构成了第一种计算方法(S1).这样,在图8(S3)之中,使用上述目标比特量至当前“宏块”为止的实际的编码量以及最初(i=1)的“宏块”中运用的量化的级别,来计算出第二个以后(i=2,3直到N)的“宏块”中所应用的量化级别的微调量。这构成第二种计算方法,与此相关的结构在图9和图10之中表示。
图8是“宏块”级别控制的处理流程图。但是,最初的输入画面的1帧进行编码时,不使用这种“宏块”级别率控制,这时量化的级别固定为特定的值。图8(S1)是用来检查前一帧的状态。在前一帧为最初的I帧或者被跳过(B’=0)的时候,把前一帧的量化级别的初始值Q’原封不动的设为当前帧的量化级别的初始值。
上述以外的情况,用前一帧的编码“宏块”的量化级别的平均值Qa,同前一帧的目标比特量T’之中相对应的实际的编码比特量B’所占的比率值B’/T’相乘,以此作为函数CQ的因数,函数CQ的输出作为当前帧的量化级别的初始值Q。
图9是“宏块”级别控制中函数CQ(x)的定义的说明图。正如图9所示,函数CQ,在因数x小于量化级别的允许最大值Qmin的时候,输出为Qmin。x如果在允许范围之内,那么函数就把这个值原封不动地输出。函数CQ是这样的“截止”函数。
在前一帧中,当实际的编码比特量大于目标比特量的时候,量化级别的初始值也要设定得比Qa高;相反,实际的比特量小于目标比特量的时候,量化级别的初始值就要设定得比Qa低。适当地调整这种“宏块”级别控制的“控制速度”,能够提高其控制能力。
其他的,还有图8(S4)中需要计算的非零平均的每个量化频率成分所对应的平均比特量的预测值J。这个计算,就是利用前一帧的频率成分中所使用的所有比特量除以非零量化频率成分的个数得到的值J’,把J和J’按照t∶(1-t)的比率相加,所得到的值作为新的J的值。t是常数,为大于0小于1的实数值。
图8(S2)中,如果当前帧的目标比特量T是正值,就进行实际的当前帧的编码处理;如果不是这样,直接转到图8(S6)去。
图8(S3)是各个“宏块”(i)(i=1,2直至N)中压缩编码处理的前半部分。对于上述的差分图像执行离散余弦变换,按照量化级别q对其频率成分进行量化。
图8(S4)是把量化级别q更新为适当的值。再有,此部分处理的详细情况在图10中表示,这将在后面叙述。
图8(S5)是各个“宏块”(i)中压缩编码处理的后半部分,进行可变长度编码,B的值更新为包含“宏块”(i)的编码的部分。进而,生成逆量化、及生成离散余弦还原图像。
图8(S6)中,全部的“宏块”处理结束。当前帧的编码完成之后,替换Q`,B`,T`的值,准备下一帧的处理。
以上的处理完全通过整数运算来实现。
图10是各个“宏块”(i)中量化级别q的更新计算处理的流程图。从前后顺序上来说,是图8(S4)的处理的详细说明。在图10(S7)中,首先判断对各个“宏块”(i)进行还是不进行编码。不对“宏块”进行编码的条件是,不仅仅是“内部宏块”,而量化频率成分以及运动矢量成分全部为零。当不进行编码的时候,也就不进行量化级别q的更新。
在图10(S8)中进行“宏块”编码的时候,首先计算作为量化级别q的更新计算的指标的4个变量,即变量d,h,a,e.d是当前“宏块”(i)的比特量的预测值。它是由当前“宏块”(i)的非量化频率成分的个数z乘与上述(S61)计算的非零量化每单位频率成分所对应的平均比特量J,由此得到的值再加上频率成分以外的预想的比特量V,频率成分以外的预想的比特量采用预想的实验所得到的值。
h是残留(未处理)的“宏块”所消费的比特量的预测值,称为残量比特预测值。
a是“宏块”(i)以后能够消费的比特残量值,称为残量比特允许值。
e是在假设各个“宏块”(i)发生同样的编码比特量时,残余(未处理)的“宏块”消费的比特量的目标值。称为残量比特目标值。
在比特残量值a远大于比特残量预测值h的时候,使量化级别q上升,导致信息发生量减少;相反,在比特残量值a远小于比特残量预测值e的时候,使量化级别q下降,增加了信息发生量。
图10(S9)中,求b1,b2参数值。
当现在的量化级别q比最初的“宏块”中所使用的量化级别的初始值Q大的时候,b1是起到抑制q的作用的拉偏量,使q不至于变得比Q大更多;相反,b2则是起到在q比Q小的时候,使q不至于变得比Q小更多的这种作用的拉偏量。
图10(S10)中,求c1,c2参数值。
在这个计算中所使用的常数f,是调整对比特率控制的灵敏度的参数,一般使用1.0以上的值。
常数g是用来调整拉偏量b1,b2的所起作用的强度的参数。一般使用0.0以上的值。
图10(S11)中,进行实际的量化级别q的更新。
这里,考虑以下1-4的条件。
条件1q<Q并且a<h,为真的时候,q’取q和q1相加的值;伪的时候,由条件2判断。
条件2e>a·c1,为真的时候,q’取q和q1相加的值;伪的时候,由条件3判断。
条件3e·c2>a,为真的时候,由条件4来判断;伪的时候,取q的值。
条件4W+B<U,为真的时候,q加上q2,以外的情况q保持不变。伪的时候,q’取q的值。
但是,要满足0<q1≤qmax以及qmin≤q2<0。W是在图5(c)中表示的通信缓冲器残余比特量,U是在图5(c)中表示的在当前帧的编码处理时间中发送的比特量。
最后,利用上述4个条件的判断来计算得到q`的值,以此确定在函数CQ之中“截止”的值,并作为q的更新值。
H.263以及H.263+之中规定的量化的最大允许值Qmax设定为31,最小允许值Qmin设定为1;连续2个“宏块”的量化级别的变化量的允许最大值qmax设定为+2,变化量允许最小值qmin设定为-2。
以上的处理全部是用整数运算或固定小数点来实现的。
这样,为了对上述各个图像帧的比特长度进行高精度的平均化,把以前不可缺少的非常复杂的计算,替换为简单的计算,减少了计算处理所用的延迟时间,能够实现同步“唇声同步”。
接下来,作为一种实施的形态,构成动态图像信息的高性能编码压缩系统的System Memory Sharing Processor Array,即系统化的存储器共享型处理器阵列方式(以下,也称为系统MSPA),以这种结构为基础来进行保存的存储器,以及用于低比特率视频编码的系统,下面将用图对它们做进一步的说明。
图11是编码器结构框图,图12是解码器结构框图,图13是编码器/解码器通用一体型的结构框图。
在图13中,5是视频摄像机,由此把以人的脸部为主体的动态图像信号通过摄像机接口6输入到数据总线2中。数据总线2通过主接口7与主计算机8相连。并能够在地址产生单元(Adress Generation Unit),也即集中控制装置(以下,称为AGU)3以及存储器1之间进行数据交换。
因为使AGU3和存储器配合在一起进行功能验证,故而在设计以及试作阶段进行功能验证非常容易。
AGU3除了和存储器1以外还和编制了基本动作程序的ROM9相连,并通过控制总线4把控制信号传送到上述各个硬件模块(以下也称为“模块”或“各单元”或“单元”),进而构成动态图像的高性能编码压缩系统。
在实际应用中,作为存储器1,使用DRAM(动态存储器),得到了满意的结果。其要旨在各个图中有所记载,在本发明中,把被编码的动态图像信息进行适当的存储和自由自在地读取,这样的存储器手段,不仅仅限定上述动态存储器,使用其他的方法也可以。如果有那种实际形态的应用,当然应该看作包含在本发明的要旨之内。
上述各单元通过数据总线2实现了动态图像信息的共有,在控制总线2中,只是通过和电路外部相连的存储器1,实现上述各个单元之间的数据的传送。上述各单元与存储器1的数据传送由AGU3以及ROM9进行控制。
这是上述系统MSPA最大的特点,这样上述各个单元之间的数据的传送全部都要通过存储器进行,这样,上述各单元之间的处理的依赖关系,只由在存储器1和AGU3进行存储器数据交换时,分时处理所占的时间来决定。
作为上述的各个单元,在图11到图13中进行了表示。这样,不需要考虑上述各个单元之间的依赖的关系,通过数据总线和控制总线把独立的设计并行地连接起来,构成整体。因而,对于上述各个单元,不同的设计者可以同时进行,系统整体的程序结构不需要很大的规模,缩短了设计的时间。而且,如果上述各单元的设计需要变更的话,仅变更AGU3的程序就可以很容易地实现。因而使系统具有柔软应变的能力。
运动矢量搜索部分10,配备了图中没有表示的预测决定部分,用来计算出脸部的窗口21的图像的平均移动量。并且按照这个平均移动量来追随脸部的窗口21。
这样,与被摄人的脸部的摇动相配合,为了取得到没有延迟的高画质的效果,利用上述平均移动量来预测未来的运动,使脸部的窗口21先行一步发送给解码器。
以下,主要说明窗口MSPA。
保存图像帧信息的存储器1,与各种各样的独立执行指令的硬件模块通过数据总线结合起来,由AGU3来控制存储器1同上述硬件模块之间的数据的流动以及执行程序,AGU3通过控制总线4同各个硬件模块结合一起构成系统,并通过这种系统结构组成上述的编码器以及解码器。
实际应用的可视电话,应该是象图13的结构框图所表示的编码器/解码器通用一体的,也就是包含发送和接受双方向的装置,由这样的装置组合为一体并构成系统。这里,把图11中的编码器,以及图12中的解码器区别开来,并表示为单独的结构,省略它们的重复部分的说明。
在图11所示的编码器的系统中,在外部使用4K比特容量的存储器1,该存储器地址为16比特、数据为16比特、存取时间为40纳秒,可以存贮QCIF(176×144像素)格式的4帧的数据。
在图11中,从视频摄像机5输入的数据一方面被存储在存储器1中,另一方面,按照16×16个像素构成的“宏块”被依次压缩处理。
首先,在运动矢量搜索部分10中,搜索被处理的“宏块”是从前面帧的什么位置移动来的,并作为运动矢量输出。这时,对于不属于脸部的窗口21或周边运动窗口51的“宏块”,通过没有进行图示的时间滤波器对其图像信息进行劣化。
在上述的时间滤波器中当静止画面的图像信息被输入的时候,原始的图像信息被原封不动的输出;相反,运动激烈的电视图像信息被输入的时候,执行使运动缓和的信息操作。
这样,需要消耗大量传送信息量的剧烈运动的图像信息通过上述时间滤波器的处理,以稍稍降低一点画质,换来大幅度削减信息量。
这些信息量大幅度削减的图像经过解码器还原的时候,只有快速移动变化的场面的画质稍稍受到一点影响。具体地说,在行驶的汽车中使用此可视电话的时候,作为讲话人背景从车窗看到的移动的风景,稍稍有一点模糊。
在运动补偿部分11中,利用得到的运动矢量,由处理中的当前帧的“宏块”,以及被认为该“宏块”是由之移动而来的前一帧的位置,两者产生差分数据,并写入存储器1中。
在离散余弦(逆)变换部分/(逆)量化部分12中,从存储器1之中读取的差分数据,按照“宏块”的四分之一即一个个的8×8个像素构成的块,来进行离散余弦变换,由此得到8×8像素的频率成分。进而,一个个“宏块”根据量化步长,高速执行“位数可变”的量化操作,其结果输出到存储器1中。
在可变长编码器13中,从存储器1读取的被量化而且削减了比特量的差分数据的频率成分,被分配合适的编码,并存储到没有进行图示的内部缓冲器中。这个内部缓冲器按照一定的传送率把编码的数据输出到外部。
在离散余弦(逆)变换部分/(逆)量化部分12中,比如由352×288像素构成的一幅图像,被分割成8×8像素构成的像素块,然后通过DCT(DiscreteCosine Transform)离散余弦变换(以下也称为DCT变换),分解出频率成分(正交变换),削减高频成分来进行信息压缩,DCT变换后的各个系数同某除数进行除法运算,余数四舍五入。
以上这些,具有在编码处理时为顺方向,在解码处理是为逆方向的机能。在图12的解码器中,由于没有顺方向变换,所以配备了离散余弦逆变换部分/逆量化部分12b。
离散余弦(逆)变换部分/(逆)子化部分12,以及P“宏块”重新构筑部分14,以及“宏块”预测部分15a,以及块畸形除去滤波器部分16,它们的机能是完成从量化频率成分中重新构筑当前“宏块”的过程,并应用到下一帧的压缩处理中。
离散余弦逆变换部分/逆量化部分12用来完成离散余弦以及量化的逆操作,即,将差分数据的频率成分的量化数据输入到存储器中,通过量化操作,还原出原来的比特;进一步通过离散余弦逆变换,还原出差分数据,结果保存到存储器1。
P“宏块”重新构筑部分14,是图11、图12、图13所共有的。这里,从存储器1中读取差分数据及由运动矢量得到的前一帧的数据,把它们相加来还原出当前帧的“宏块”,然后写入存储器1。
在图13中,有B“宏块”预测部分/重新构筑部分15,利用它完成各种P帧和B帧的处理。图11所示的编码器中配备了B“宏块”预测部分15a;图12所示的解码器中配置了B“宏块”重新构筑部分15b。
在编码器的B“宏块”预测部分15a中,把被重新构筑的P“宏块”以及它由之移动而来的前一帧的“宏块”从存储器1中读取出来,把从由前一帧向前预测得到的B“宏块”数据同上面的两个数据相混合,来构筑被预测的B“宏块”,并且与实际从视频摄像机5输入的B“宏块”进行相似度的比较。对于每一个“宏块”在这些方法中判定哪一个最合适,利用可变长编码器13发送这一信息本身。在解码器中,通过B“宏块”重新构筑部分15b,来实际地再现B帧的数据。
块畸形消除滤波器16,是图11、图12、图13所共有的。从存储器1中读出被还原的P“宏块”,通过块畸形消除滤波器16的作用,除去“宏块”相连处的人眼不易察觉的类似围棋交叉点形状的噪声,结果写入存储器1。
AGU3控制各个模块的执行,以及控制各个模块同存储器1之间的数据的交换。
AGU3利用ROM9中存储的程序进行操作,所说的程序命令,是指存储器1的地址产生,以及对存储器1的存取控制等。
主接口7,代替AGU3的ROM9从外部的主计算机8向系统输入命令。执行各个模块的控制以及存储器1同主计算机8之间的数据传送。
这样,窗口MSPA,整体上由各种具有高速运行机能的硬件模块(各单元)通过数据总线2与存储器1连接而成。
也就是说,各单元从外部的存储器1读取数据,进行处理,其结果又输出到外部存储器1中。
因而,上述各单元之间没有直接的数据交换,都必须通过存储器1进行。AGU3利用ROM9中命令,来控制各单元同存储器1之间的数据传送。
还有,虽然两个存储器1被分别用于编码器和解码器,可是如果具备与两个存储器响应的响应处理能力,也未必一定要使用两个。
上述窗口MSPA的最大的特点是这样的,由于各单元之间的数据传送完全要经过外部存储器来实现,这样上述各单元之间的处理依赖关系就能够仅仅由进行存储器1存取的AGU3的时间分配来决定。因为各单元的处理依赖关系由AGU3来决定,上述各单元独立地进行设计,并通过数据总线和控制总线并行地连接起来,构成一个整体。
这样,上述各单元获得了各自设计上的独立性,设计上的制约也明显减少;因此,更多的设计人员可以分担各自的设计任务,并且同时进行设计,整个系统不需要很大的规模,缩短了设计需要的时间。
而且,由于上述各单元的处理依赖关系取决于AGU3的程序,所以能够实现柔性的设计。实际的设计中,各个P帧和B帧的“宏块”的处理需要在15,625个时钟周期以后才结束。
可是,运动矢量搜索处理,虽然用于数据输入输出的存储器1的存取时间很短,可是需要很长的处理时间,整个运动矢量搜索处理需要13,000个时钟周期。
其他的处理,由各个硬件模块完成,剩下的所有处理能够在15,625个时钟周期内处理完毕。运动矢量搜索处理和它以外的处理,实行对每个“宏块”的流水线并行处理。
也就是说,在一帧中所包含的100个“宏块”,实行连续依次的压缩处理。运动矢量搜索处理在15,625个时钟周期内完成以后,开始下一个15,625个时钟周期的运动搜索处理。这是要领的所在。
这样,在大多数的周期中,运动搜索处理和其他的处理同时进行。通过AGU3的程序进行的这种流水线处理,也使以本发明的结构,进行柔性设计变为可能。
而且,因为上述各功能块的所有输入输出数据都保存在存储器1之中,使得从外部进行的实验变得很简单。实际上,主计算机8经过主接口7,发出本应是AGU3发出的命令;而且,从主计算机8设定存储器1的数据,经过上述各功能块的处理执行以后,存储器1的数据又可以被写入主计算机8并进行检测。
特别是,上述各功能块的内部的数据也能够写入主计算机进行检测,配备这样的程序,使得检测很容易进行。
这样,上述各功能块的各种执行没有依赖的关系,只给需要操作的功能块提供时钟,而不必执行它以外的功能块,这样,能够降低系统整个的功耗。
接下来,通过图12,对解码器进行单独说明。
在可变长解码器17中被解码的频域的差分信号,经过编码器中的B“宏块”重新构筑部分15b以及块畸形消除滤波器16,还原成实际的B帧的数据。和编码器一样,独立执行的上述各功能块从存储器1读取数据,数据处理完后再存入存储器1,这些控制由AGU3执行。最终还原的图像,通过LCD接口,在外部相连的LCD上放映出来。
图14是集中控制装置(AGU3)的结构框图。执行/测试模式的切换开关30通过从主计算机8经由主接口7发出的命令(图示的PC命令),来决定是进入操作还是测试模式;通过命令编译执行控制装置31,来执行ROM9的命令程序的内容;利用存储器的重复写入/读取命令的控制部分32以及设置重复命令开始地址的地址寄存器33的操作,进行与存储器1之间的由地址控制的数据交换。
这样,来生成存储器1的地址、存储器存取控制信号以及控制上述各功能块的运算开始及结束。并且,重复命令开始地址寄存器33,以及寄存器文件34主要由通用寄存器构成,包括8个相联的4比特寄存器2组,8个相联的2比特寄存器1组,8个相联的1比特寄存器1组(没有详细图示)。
图15是外部存储器1的存储器领域构成图,与保存着上述硬件模块的执行控制命令程序的ROM9的命令相对应,图像被分割成很多块,因而,使用与处理上述块的坐标单位信息的“块方式”相适合的地址结构。
如图15所示,按存储器地址来指定行地址以及列地址,进而通过AGU3的存储器读取/写入的重复操作命令控制部分31来进行控制。
由上述存储器领域构成外部存储器1;使用上述能够按“宏块”的坐标单位、块单位、像素单位进行存储器存取的地址生成的命令,被存放在ROM9中;ROM9如图11、图12、图13所示也可以被配置在AGU3的外面。
另外,实际的硬件配置与这些结构框图的配置多少有些不同的情况也是常见的。
存储器1的存储器空间,如图15所示,其地址由18比特构成。包括帧的高位1比特、表示“宏块”位置的X坐标和Y坐标各4比特,共9比特的行地址;以及低位1比特、表示块的位置的X坐标的2比特和Y坐标的1比特、表示像素位置的X坐标的2比特和Y坐标的3比特,共9比特的列地址。可是,块位置除了用来表示灰度信号Y的信息的(0,0)(0,1)(1,0)(1,1)4个区域以外,还要为表示色差信号Cr、Cb的信息的块来分配(0,2)(1,2)区域。
因为数据是16比特,X坐标方向上相邻的2个像素(每一个8比特的数据)被分配一个地址。所以,虽然像素位置的X坐标也有8个像素等分,只能分配到2比特。
这样,命令的长度定为27比特。包含以下命令。
(1)存储器存取开始地址命令
(2)存储器读取循环命令(3)存储器写入循环命令(4)AGU寄存器控制命令(5)子程序命令以及条件转移命令(6)主计算机发出的特殊命令其中(1)的存储器存取开始地址命令,是为了存储器读取或写入,在循环命令执行之前发出,为循环命令的执行设定开始地址。
这样,就能够完成绝对地址的指定、当前处理的“宏块”的相对位置的指定、目前处理“宏块”到运动矢量之间对应的偏移量的指定。
上述(2)(3)的存储器读取/写入循环命令,是对矩形领域的很多的“宏块”进行循环操作、对矩形领域的很多的块进行循环操作、对矩形领域的很多的像素级别进行循环操作。因为具备这样的循环机构。一般需要使用循环程序段进行复杂表述的循环控制,在这里,利用(2)(3)的存储器读取/写入循环命令简单的实现了。
例如,对某帧数据的读取,或者对某“宏块”数据的读取,或者对某矩形领域的像素的读取,一条存储器读取/写入循环命令就能够实现。
(4)AGU寄存器命令,是使用AGU3时,为了完成对模块(功能块)的执行顺序的控制,而利用的辅助寄存器的数据的设立和清除等命令。
(5)中的子程序命令以及条件转移命令,是用来对AGU3的程序进行控制的命令。
(6)中的主计算机发出的特殊命令,是仅仅在取替基于ROM9中的程序而进行操作的“执行模式”,而采用了从主计算机接受命令的“测试模式”这种模式下才有效的命令。这其中,包含只按指定的“步进”数进行操作的“步进”等命令。测试模式中,从(1)到(3)的所有的命令都能从主计算机发出。
因而,在测试模式下,从主计算机8向存储器1写入图像数据,然后变换为操作模式并使某硬件模块工作,然后再回到测试模式,能够把存储器中写入的演算结果读出到主计算机8中。
这样,能够在上述各功能块的级别上进行功能验证。
主计算机8发出的特殊命令之中,也有读出上述各功能块的内部状态的命令,利用同样的方法,也能够对上述各功能块在回路级别上进行功能验证。
这里,对“运动矢量搜索模块(功能块)”进行说明。
运动矢量搜索,是针对在当前处理帧中的每一个“宏块”,搜索前一帧中的该“宏块”的位置附近,与其最相似的在16×16的像素领域的搜索。
实际的搜索是这样的,从现在的位置开始在上下、左右方向上移动。最大可移动16像素,即在48×48的像素范围内,利用插值处理,按照像素一半的分辨能力进行搜索。
在以上范围中的任意的16×16的像素区域与当前帧的“宏块”的像素之间,针对每一个像素计算出二者之间的差分的绝对值的总和SAD(Sum ofAbsolute Difference)(以下称为SAD)对按照所有的在搜索范围内的“宏块”来执行这个操作,从中找出最小的,把这个区域作为产生当前“宏块”的其在前一帧中的“宏块”的位置。
接着,求出当前处理“宏块”的位置和其在前一帧中的位置的运动矢量。这个操作,是在48×48的搜索领域内设定16×16的窗口领域,在整个的搜索领域进行求解上述SAD的窗口处理。这可以被认为是图像处理中特有的窗口处理的一种形式。
本来,在适合这种窗口处理的硬件结构的构成方法方面,我们有窗口MSPA结构,本发明之中以窗口MSPA为特点,不降低高速并行处理效率,从存储器之中串行输入搜索数据和参照数据,进行窗口并行处理。
这样,解决了以前的动态图像压缩处理的硬件结构中处理的高速化的问题。
接下来,图16是运动矢量搜索电路图,包括存储图像数据的外部存储器1;包括用来把从存储器按每一个“宏块”依次输入的“宏块”数据的用于数据形式转换的缓冲器39。它们与数据总线2相连,进行相互的数据交换。
这样,借助内部总线40从这个缓冲器39输出的3端的数据,被提供给由32个并行相联的阵列形状的处理器单元101、102直至132所构成的窗口MSPA。
这些处理器单元101至132通过加法器44对其数据进行超高速并行运算,由这个加法器构成运动矢量搜索电路,由此搜索表达当前帧的“宏块”是从前一帧的什么位置移动来的运动矢量。
例如,向处理器单元101至132中输入搜索数据和参照数据的两个像素值,进行减法和绝对值操作,再进行直到某一搜索地点为止的SAD的加法操作。这32个处理器单元101至132构成的窗口MSPA,并行执行1089次窗口处理。
一次的窗口处理需要16×16=256次的SAD处理,这样,全部的搜索,需要1089×256=278,784次的SAD操作。
实际上,这32个处理器单元(也称为处理器阵列)可以在一个时钟周期内完成SAD操作,最快需要278,784/32个=8712个时钟周期。
但因为32个处理器阵列不可能一起开始工作,所以,本系统在13,000个时钟周期内可以完成运动矢量的搜索。
这样,就确立了不降低高速并行处理效率,从存储器1串行输入探索数据和参照数据但并进行“窗口并行处理”,的手段。
这种“窗口并行处理”,在图像处理中被广泛利用,基本的原理就是,在相对宽广的图像领域内,通过相对狭小的widnow21上下左右无间隙的移动,完成图像的识别以及信息的加工处理;当着重看一些特定的像素时,因为在窗口21中包含很多的位置,如果对每一个位置的像素都进行一次特定的计算处理的话,那么每改变一个位置时都要重新执行特定的计算处理,这将会有很多无用的重复。
这里,必须省去上述的重复,所以,取代那些在上下左右移动窗口21时所做的重复计算,而是用很多的处理器实行并行处理。这样,确立了利用窗口MSPA,而不必进行重复计算,并能提高并行效率的阵列处理方法。
在这里提到的“并行效率”,指的是,在n个处理器同时并行处理的时候,把只有一个处理时的处理时间缩短到1/n,在这种100%的理想状态,所能达到的效率。与上述不用进行重复计算就能够提高“并行效率”的阵列处理方法相关的内容,因为已经公开发表过,这里省略说明。
接下来,图16中所表示的是运动矢量搜索线路图,即把上述“窗口并行处理”中运用的“已有的窗口MSPA”应用到“运动矢量搜索”中,是没有先例的新的发明。
这个“运动矢量搜索”,以16×16像素的“宏块”为单位,只对灰度信号Y进行处理;从而搜索某个“宏块”是从前面帧的什么位置移动来的。
接下来,图17是离散余弦变换器以及量化器的功能框图,来说明它们的顺操作和逆操作。
存储器1中保存的8×8=64像素的块数据,借助数据总线2依次输入到逆量化器53以及离散余弦变换/逆变换器56中。
逆量化器53以及量化器58,是用一个时钟周期就能够处理一个数据的被流水线化的模块,并且这样的设计不可以保证其高速操作。
数据形式变换器55,是为离散余弦变换器/逆变换器56而进行从并行数据形式到串行数据形式变换的变换器。离散余弦变换或者逆变换,是把普通的二维处理分解为2次的一维处理,置换操作缓冲器57在此时进行必要的8×8数据的置换操作。
数据形式变换器55的详细部分在图18中表示,并对操作进行了说明。
首先,从输入线61把由16比特构成的比特并行数据按每一个时钟依次输入,存入寄存器62以及寄存器63合计16个寄存器中。
寄存器62或者寄存器63中当8个数据到齐的时候,从这个寄存器以比特串行方式通过连接线64、65把它们输出,通过输入切换开关来选择是寄存器62还是寄存器63的输出数据。
下面,着重就数据变换器中所具备的2组寄存器62、63做进一步的说明。
通过使用2组寄存器62、63,在数据形式变换器中接收输入数据,伴随着移位操作,从下数据块向上数据块来搬送数据群,这两个处理同时并列进行,进而达到数据处理的高速化。
在图18中,把操作时序按8个时钟为间隔,对操作进行说明。
1)最初的8个时钟中,16比特的数据从数据0到数据7依次输入到寄存器62。
2)接下来的8个时钟中,不再向寄存器62输入数据,只把聚集在寄存器的最下位的8个数据从寄存器输出,同时寄存器的各个数据向下位移动。这样,被输入的并行数据以8个为一组,从下位到上位依次输出。
这期间,如果禁止向寄存器62存储数据,那么需要在紧接着的再下8个时钟周期替换着向寄存器63存储。
这样,对于数据形式变换器55,利用输入切换开关66来交替使用2组寄存器62、63,进而连续接收从存储器1而来的输入数据。这种借助流水线并行的数据处理具有高速化,也就是,由不降低数据传送速率,把依次输入的数据变成并行的2组数据的数据形式的变换方法来构成系统。
这里所说的数据传送速率,是指每秒能传送多少比特的数据,指的是其速度。串行的数据,只能通过1根线传送1比特数据,例如,需要100万比特/秒的数据传送速率的时候,10万比特/秒的数据传送速率的线最好是10根并行使用。
如图19中的离散余弦变换/逆变换器的功能框图所示,8个比特的数据串输入到输入处理部分,通过8个16比特累加器,最终输入到输出处理部分73。
图20对离散余弦变换/逆变换器得输入处理部分的功能框图进行详细图示。8个比特的输入数据串,输入到位串行加法器81以及比特串行减法器82中,它们的输出被输入到8个比特分散计算用的ROM83中,进而,8个输入数据直接输入到另外的8个比特分散计算用的ROM84中。
这二组的ROM的输出数据通过由切换信号85控制切换的开关86来进行选择,作为这个切换信号85,在实行离散余弦变换时输入为“0”,而实行逆离散余弦变换时输入为“1”。
图21对离散余弦变换/逆变换器的输出处理部分的功能框图进行详细图示。8个比特并行输入数据,输入到位并行加法器91以及比特并行减法器92中。
这二组的ROM的输出数据通过由切换信号93控制并由切换的开关94来进行选择,作为这个切换信号93,如果实行离散余弦变换时输入为“0”,如果实行逆离散余弦变换时输入为“1”。
切换开关94的输出数据输入到8个寄存器95中,并由寄存器通过输出线96串行地输出。
使用可视电话上的视频摄像头拍摄送信者的脸部,把以此为主体的视频信号通过电话线路向受信者传送。这里对其传送之前的一系列的处理进行说明。
因为是双方向的通信,送信和受信的往返的信息传送要在同一线路上同时进行,这里,省略与双方向通信有关的说明。
一般的方法是以现有的ITU国际标准H.263具有的低比特率动态图像传送的信号处理线路为基础的。
作为在此基础上的追加机能包括,提取出视频信号中面孔的部分来构成脸部的窗口21,进而通过脸部的窗口21的移动来追随面部的运动;以及,抑制脸部以外的背景部分的运动的时间滤波器;以及,传送延迟很小的新的传送率控制结构;通过这些结构和机能,来对动态图像信息进行适当的压缩信号处理。
作为在上述基础上的追加的机能,它首先对从视频摄像机等输入的视频图像信号进行识别处理,由在该动态图像的画面中任意移动的特定的区域构成脸部的窗口21,计算出该窗口21中的像素伴随脸部运动而产生的运动矢量的平均值,该追加功能块具备这种演算程序。
受信人在其肉眼的视野内能够捕捉到送信人的时候,受信人的视线就能够追随送信人的脸部的运动,于是送信人的脸部经常处在受信人的视野的中心位置。这种现象是因为人的肉眼中视野的中心附近具有最好的图像辨别能力,对感兴趣的对象为了看清楚就把它放在视野的中心位置。把有价值的有效的信息不遗漏地最大限度地收集,这是本能的、无意识的也是必要的意识行动。
这样,就要把送信人的脸部放在受信人的眼睛的分辨率更好的脸部窗口21的中心(不是画面的中心)位置。这应该是具备了第1种智能。为了把这种智能应用于电子机械装置中,需要通过演算程序来计算出包含这个人的脸部的窗口21的运动矢量的平均值;并根据上述平均值来控制脸部窗口21的移动,从机能上具备这样的窗口位置控制程序。
作为第2种智能,即在脸部的窗口21以外的背景图像22激烈移动因而动态图像信息很多的时候,把背景图像22的运动量进行适当的削减,具备由削减画质的演算程序构成的编码算法。这种演算算法,就是把连续的前后帧的同一位置的各像素的信息彼此相加,然后除以2,得到的值来替换后面帧的图像信息。这样,来抑制被编码的动态图像的信息量。
在抑制信息量的过程中,利用面部强调型H.263+编码算法,它具有输出传送率的控制机构,该机构使在传送容量受到限制的传送线路上的图像达到传送延迟最小化;进而,通过其决定操作顺序以及改变数据的授受时序的程序的机能,使肉眼能看到清晰的自然的动作。这样做的结果,并没有明显使背景图像22的画质恶化,而仅仅是有一点模糊。
把送话者的脸部的轮廓放在脸部的窗口21的大致的中心;把脸部的窗口21以外的背景图像22的信息量进行粗化;而对脸部的窗口21以内的信息量维持密化,这样视频信号所具有的图像信息量的总和很小,通过这些,使信息量符合电话线路的制约条件。
说话的同时脸部也要有一些摇动,为了追随这些运动,用脸部的窗口位置控制程序来控制脸部的窗口21的移动,通过这个程序能够持续把窗口21更新到最新位置。这样,一般来说,使用家庭用的黑白电视机,就可以得到和视听人的面孔非常相近的并且伴有自然动作的图像,而且和背景相关的无用信息能够被压缩到极限,进而能够保持很高的传送效率。
因为明确了可视电话能够传输的信息量,所以有必要把对视听者没有影响的动态图像信息进行彻底的压缩。这样,对于在局部不能忽略的信息,如果在整体上影响甚小,一定要消除。以保证其他的重要的信息能够被增加,其结果是整体的性能得以提高。
在B帧信息中对差分所有像素信息的归零化、以及对“内宏块”以外的灰度信号的数据通过削减进行量化,这些也能大幅度削减动态图像的信息量。
这些操作虽然从自身来讲要造成图像的恶化,可是与此相比能够增加的信息量远不止被削减的信息量本身,结果还是提高了画质。
接下来,是使嘴唇的运动和声音相一致的“唇声同步”的方法。通过新开发的“速率控制方式”,把1帧即动态画面的每帧图像(电视中每秒25幅或30幅)所对应的编码量进行基准化,所定的编码量比如为112字节,单位时间对应的能够传送的信息量即传送比特率,如为27kbps,通过它们能够预测的通信延迟时间被包含在“速率控制机构”中;例如通常如果能够预测有10帧的通信延迟时间发生,在利用从过去到现在的变化量来预测未来时,对上述延迟进行信息加工。
虽然或多或少要有一些预测外的发生,可是,因为是在不会产生实际应用上的问题的程度以内对未来进行预测,所以,作为本发明的一个实施形态的加工后的信息中,相对于没有延迟的接受声音来说,在通常情况下,可以成功地把图像的延迟抑制在3帧以内。
虽然可视电话包含了这些智能,可是实现这些智能的硬件如不能进行高速操作的时候,还是要损失1秒内的一些帧数。这种损失了帧数的电视图像,会造成对话的自然氛围不复存在。
新开发的窗口MSPA、以及构成硬件系统的各要素的各个装置,包括AGU集中控制装置、运动矢量搜索线路、离散余弦变换和量化变换线路以及逆量化线路和离散余弦逆变换等,实现了用小规模低成本的电路完成预想硬件的目的。其线路如前所示。
总之,为了使可视电话图像清晰,自然。
(a)只强调脸部等想看到的部分,按目标的重要性来区分,并进行相应的加权平均。
(b)为了使整个的画面清晰,削减无用的信息量。
(c)为了使画面和声音同步,营造出自然的氛围,对图像处理产生的延迟时间进行最小化处理。
(d)为了产生以自然的速度运动的画面,采用成本虽然低但高速动作的硬件构成。
由此构成图像信息传送系统。
上述可视电话只不过是本发明的一种实施形态,这个效率良好的动态图像信息的编码压缩系统的使用范围是无限的。
对于使用者不感兴趣的部分使画质劣化;相反兴趣集中的部分维持原来的画质;对于源源不断流过的无用部分,压缩到画质所需要的最小限的信息量。遵循图像传送的原本的目的,不破坏图像的氛围,实行自然的运动,这些可看做本发明包含的必要条件。
权利要求
1.一种动态图像信息的高性能编码压缩系统,其特征是输入当前帧图像、前参照帧图像和后参照帧图像,并执行运动预测、运动补偿以及决定预测方式的运动预测机能部分;以及,从该运动预测机能部分输出的预测图像与当上述前帧图像的差分信息,把它输入并把差分信息的所有像素值进行强制的归零的全像素值归零化机能部分;以及,从该全像素值归零化机能部分输出的归零化的所有像素,把它们输入,并按照前面运动预测机能部分所决定的预测方式,对动态图像的下一个运动进行预测,同时对上述归零化的全图像信息进行编码的编码生成部分;由该编码器对动态图像信息进行编码压缩后发送出去,经过传送线路接受从编码器发来的信号并进行解码的解码部分;以及,从解码部分输出的解码信号,被输入并进行逆量化的逆量化部分;以及,从该逆量化部分输出逆量化的信号,把它输入并进行离散余弦逆变换,进而还原出上述的差分图像的离散余弦逆变换部分;以及,把该还原的差分图像与通过预测方式预测得到的预测图像一起混合进而输出还原图像的加法器,由以上这些部分构成解码器。具备以上解码器,并以B帧处理为特点的动态图像信息的高性能编码压缩系统。
2.按照权利要求1所述的动态图像信息的高性能编码压缩系统,其特征是对于不使用上述预测图像而仅仅对当前“宏块”图像直接编码,既“内部宏块”的情况,对灰度信号和色差信号通过四舍五入进行量化,对这种“内部宏块”以外的情况,对灰度信号取整并进行量化,而色差信号还是通过四舍五入进行量化,对灰度信号和色差信号采用同样的量化级别,从而减低色差信号的噪声。
3.按照权利要求1所述的动态图像信息的高性能编码压缩系统,其特征是被编码的动态图像信息的比特量与通信缓冲器残留的比特量相比较的比较手段;以及,为了使上述残留的比特量不枯竭,借助通过这种比较手段得到的比较结果,来控制帧的目标比特量的控制手段;以及,利用由上述控制手段得到的控制结果,对由摄像机输入的图像,从它经过编码器、传送线路以及上述解码器,直至最后输出解码的图像,对这期间发生的延迟时间以及帧丢失进行控制,使它们为最小,在帧级别传送率控制中,计算每帧的目标比特量的计算手段。
4.按照权利要求3所述的动态图像信息的高性能编码压缩系统,其特征是使用前面帧的各个“宏块”的量化级别的加权平均的平均值,来计算出帧的最初的“宏块”中适用的量化级别,这是第一步计算方法;以及,使用上述目标比特量、当前“宏块”的实际的编码量以及上述最初的“宏块”中应用的量化的级别,来计算出第2步以后的“宏块”所适用的量化级别的微调整量,这是第二步计算方法。
5.按照权利要求4所述的动态图像信息的高性能编码压缩系统,其特征是使保存图像帧信息的存储器与彼此独立操作的硬件模块以数据总线为媒体结合起来,进而,控制上述的存储器与硬件模块之间的数据流动以及操作时序的集中控制装置,通过控制总线把各个硬件模块结合起来,以这样的系统结构组成编码器和解码器。
6.按照权利要求4或5所述的动态图像信息的高性能编码压缩系统,其特征是图像被分割成很多的块,用能处理这个块的坐标单位的信息并适合于块处理方式的地址结构,构成存储器寻址范围,这样的外部存储器;以及,可以用命令按上述“宏块”的坐标单位、块的单位、像素单位进行存储器存取的地址生成,这些用于地址生成的命令以及对上述各个硬件模块执行控制的命令程序被存储在只读存储器ROM中;集中控制装置具备以上结构。
7.按照权利要求1-5中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述外部存储器;以及,从上述存储器把“宏块”数据按每个宏块为单位转换成串行输入的数据形式变换的缓存器;以及,由上述缓存器输出的3端的数据被提供给以32个并行阵列形状连接的处理器单元,由此构成窗口处理存储器共享处理器阵列结构;以及,对处理器单元的数据进行超高速运算的运算方法;以及,搜索用来表示当前“宏块”是从前一帧的什么位置移动过来的运动矢量搜索电路。
8.按照权利要求6中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述外部存储器;以及,从上述存储器把“宏块”数据按每个宏块为单位转换成串行输入的数据形式变换的缓存器;以及,由上述缓存器输出的3端的数据被提供给以32个并行阵列形状连接的处理器单元,由此构成窗口处理存储器共享处理器阵列结构;以及,对处理器单元的数据进行超高速运算的运算方法;以及,搜索用来表示当前“宏块”是从前一帧的什么位置移动过来的运动矢量搜索电路。
9.按照权利要求1-5项中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述的存储器;以及,把存储器中横8竖8共64个像素组成的“宏块”数据以每个宏块为单位逐个串行输入,不降低数据传送率,把串行的数据变换成并行数据的两组数据形式变换方法;以及用通过这种数据变换方法,采用对上述并行数据进行二元离散余弦变换的处理器阵列;以及,把从处理器阵列输出的二元离散余弦变换数据输入,对其进行量化,然后依次输出数据并存入外部存储器,这样的量化模块。
10.按照权利要求6项中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述的存储器;以及,把存储器中横8竖8共64个像素组成的“宏块”数据以每个宏块为单位逐个串行输入,不降低数据传送率,把串行的数据变换成并行数据的两组数据形式变换方法;以及用通过这种数据变换方法,采用对上述并行数据进行二元离散余弦变换的处理器阵列;以及,把从处理器阵列输出的二元离散余弦变换数据输入,对其进行量化,然后依次输出数据并存入外部存储器,这样的量化模块。
11.按照权利要求7项中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述的存储器;以及,把存储器中横8竖8共64个像素组成的“宏块”数据以每个宏块为单位逐个串行输入,不降低数据传送率,把串行的数据变换成并行数据的两组数据形式变换方法;以及用通过这种数据变换方法,采用对上述并行数据进行二元离散余弦变换的处理器阵列;以及,把从处理器阵列输出的二元离散余弦变换数据输入,对其进行量化,然后依次输出数据并存入外部存储器,这样的量化模块。
12.按照权利要求8项中任一项所述的动态图像信息的高性能编码压缩系统,其特征是采用上述的存储器;以及,把存储器中横8竖8共64个像素组成的“宏块”数据以每个宏块为单位逐个串行输入,不降低数据传送率,把串行的数据变换成并行数据的两组数据形式变换方法;以及用通过这种数据变换方法,采用对上述并行数据进行二元离散余弦变换的处理器阵列;以及,把从处理器阵列输出的二元离散余弦变换数据输入,对其进行量化,然后依次输出数据并存入外部存储器,这样的量化模块。
全文摘要
本发明提供了一种动态图像信息的高性能编码压缩系统,其课题是在受到信息传送量制约的图像传送线路中,对动态图像的信息进行压缩削减,以此缩短传送的延迟时间和削减构成系统的硬件。解决手段是把图像中比较重要的部分,如人说话时嘴唇动作的脸部;以及不太重要的部分,如脸部以外的背景,把二者相区别,并根据加权平均对它们的信息进行处理,以此提高信息传送的效率。通过把B帧的差分信息强制地变为全零值的图像的这种方法,使传送方能够以最少的信息传送图像,而接受方又能够还原图像。从而省略编码器的离散余弦变换部分和量化部分,并且保证和以前的方式兼容。本发明可用于各种多媒体通信中的动态图像压缩。
文档编号H03M7/36GK1691782SQ20051007702
公开日2005年11月2日 申请日期2001年11月26日 优先权日2000年11月28日
发明者国枝博昭, 一色刚, 李冬菊, 伊藤和人, 大塚友彦, 崔欧·阿迪恩, 查瓦雷特·宏沙卫克 申请人:国枝博昭
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1