运动图像解码装置的制作方法

文档序号:7681393阅读:86来源:国知局
专利名称:运动图像解码装置的制作方法
技术领域
本发明涉及运动图像解码装置以及运动图像解码方法,通过参考已解码的图像的运动矢量或参考图像等的信息,从而对所输入的流进行解码。
背景技术
一般而言,在运动图像编码中,通过减少运动图像具有的空间方向以及时间方向的冗余性,从而压缩信息量。在此,对于减少时间方向的冗余性的方法,利用图像间预测。在图像间预测中,在对某图像进行编码时,将按照显示时间顺序处于前面或后面的图像作为参考图像。而且,通过检测从该参考图像开始的运动量,并针对由运动补偿得到的图像和编码对象的图像的差分值,除去空间方向的冗余度来进行信息量的压缩。近些年,在标准化了的H. 264标准中,以切片为编码的单位。切片比图像小,是由多个宏块构成的单位。图像由一个或多个切片构成。将只包含不具有参考图像而只利用编码对象图像来进行画面内预测的宏块的切片称为I切片。并且,将包含参考已解码的一幅图像来进行画面间预测的宏块和进行画面内预测的宏块的切片称为P切片。并且,将包含同时参考已解码的二幅以下的图像来进行画面间预测的宏块和进行画面内预测的宏块的切片称为B切片。图像可以由多种切片构成,将只包含I切片的图像称为I图像,将只包含I切片和 P切片的图像称为P图像,将包含I切片、P切片和B切片的图像称为B图像。以后,为了便于理解,而利用图像进行说明,但是,利用切片也可以成立相同的内容。在H. 264标准中,与MPEG2标准或MPEG4标准相比,大幅度地放宽了对参考图像的限制。在属于P图像的宏块参考的参考图像,若是已解码的图像,则在显示时间上处于前面或后面都可以。在属于B图像的宏块参考的二幅以下的图像,若是已解码,则在显示时间上处于前面或后面都可以。并且,参考图像不依赖于图像种类,而可以是I图像、P图像以及B 图像中的任意的图像。图1是示出所述以往的运动图像编码方式中的各个图像的预测关系(参考关系) 的模式图。在图中的纵线示出一幅图像,在各个图像的右下示出图像类型(I、P、B)。并且,图中的箭头线示出,处于箭头线的始端的图像将处于箭头线的末端的图像作为参考图像来利用,从而进行画面间预测解码。在B图像中,能够按每个宏块最多参考二幅的图像,将一方的参考称为前向参考 L0,将另一方的参考称为后向参考Li。虽然称为前向参考,但只要使在显示时间上处于前面的图像优先,就并不一定需要是在显示时间上处于前面的图像。并且,虽然称为后向参考, 但只要使在显示时间上处于后面的图像优先,就并不一定需要是在显示时间上处于后面的图像。在P图像中,能够按每个宏块最多参考一幅的图像,只能够进行前向参考L0。此时,与B图像相同,被参考的图像也并不一定需要是在显示时间上处于前面的图像。例如, 在图中从开头起第九幅的B图像B9,利用为前向参考在显示时间上处于后面的第十幅的P 图像PlO以作为参考图像,利用作为后向参考在显示时间上处于前面的第七幅的P图像P7 以作为参考图像来利用。并且,在H. 264标准中,与MPEG2标准或MPEG4标准相比,大幅度地放宽了对显示顺序的限制。只要存储已解码的图像的图像存储器不溢出,就能够不依赖于解码顺序而决定显示顺序。图2是示出H. 264标准的运动图像编码方式中的各个图像的解码顺序和显示顺序的关系的一个例子的模式图。在图中,在上面按照解码顺序排列各个图像,在下方按照显示顺序排列各个图像。 中间的箭头线示出各个图像的解码顺序和显示顺序的对应关系。显示顺序被编码,以作为各个图像的属性。例如,图中的P图像P10,在以后被解码的B图像B11、或P图像P13之后被显示。并且,在H. 264标准中,在B图像的解码中能够选择称为直接模式的编码模式,该直接模式是编码对象宏块本身不具有运动矢量的编码模式。直接模式有两种模式,即,时间直接模式和空间直接模式。在时间直接模式中,将已编码的其它的图像的运动矢量作为参考运动矢量,并根据图像间的显示时间上的位置关系来进行比例缩放(scaling)处理,从而预测并生成用于编码对象宏块的运动矢量(参照专利文献1)。图3是示出时间直接模式的运动矢量的预测生成方法的模式图。纵线示出图像,添加在图像右上的符号中P示出P图像、B示出B图像,添加在图像类型的数字示出各个图像的解码顺序(以后,起名称的基准相同)。并且,各个图像P1、 83、84、85、卩2具有11、12、13、14、丁5以作为显示时间信息。在此,说明通过时间直接模式对图像B5的宏块BLO进行解码的情况。利用图像P2中位于与宏块BLO相同位置的宏块(锚(anchor)宏块)BLl的运动矢量MV1,该图像P2是在显示时间上处于图像B5近旁的已解码图像(锚图像)。该运动矢量MVl是宏块BLl被解码时所利用的运动矢量,表示将图像Pl参考。在此情况下,在对宏块BLO进行解码时利用的运动矢量,对于图像Pl成为运动矢量MV_F,对于图像P2成为运动矢量MV_B。此时,在运动矢量MVl的大小为MV、运动矢量MV_F的大小为MVf、运动矢量 MV_B 的大小为 MVb 的情况下,能够由 MVf = (T4-T1)/(T5-T1) XMV 和 MVb = (Τ5-Τ4) / (Τ5-Τ1) XMV 分别取得 MVf 和 MVb。利用如此依据运动矢量MVl进行比例缩放处理而得到的运动矢量MV_F、运动矢量 MV_B,来依据作为参考图像的图像Pl和图像P2进行宏块BLO的运动补偿。并且,在锚宏块BLl是画面内预测宏块的情况下,不具有运动矢量。此时,成为运动矢量MVl = 0。因此,图像P2和图像B4中位于与宏块BLO相同位置的宏块的像素值的平均值,成为宏块BLO的像素值。在空间直接模式中,与时间直接模式相同,编码对象宏块本身不具有运动矢量,而参考在空间上位于编码对象宏块周边的已编码宏块具有的运动矢量,并利用它来进行解码 (参照专利文献2)。图4是示出空间直接模式的运动矢量的预测生成方法的模式图。在此,说明通过空间直接模式对图中的图像B5的宏块BLO进行解码的情况。在此情况下,将包含作为解码对象的宏块BLO周边的三个像素A、B、C的已解码宏块的各个运动矢量MVA1、MVBU MVCl中的、表示参考在显示时间上最接近解码对象图像的已解码图像的运动矢量,决定为编码对象宏块的运动矢量的候补。在由此决定的运动矢量有三个的情况下,选择它们的中央值,以作为编码对象宏块的运动矢量。并且,在有两个的情况下,求出它们的平均值,以作为编码对象宏块的运动矢量。在图示出的例子中,参考图像P2来求出运动矢量MVAl、MVCl,参考图像Pl来求出运动矢量MVBl。因此,求出表示参考作为在显示时间上最接近解码对象图像的已解码图像的图像 P2的运动矢量MVA1、MVC1的平均值,以作为解码对象宏块的第一个运动矢量的MV_F。在求出第二个运动矢量的MV_B时也相同。另一方面,在运动图像解码中,存在接收了的压缩流中包含错误的情况。在包含错误的情况下,可以在检测错误后使解码工作停止,但若停止,则导致正在视听中的用户不能收看的问题。于是,进行称为错误隐藏(error coneealment)的处理,在该处理中,在尽量不使错误明显的同时,避免解码的停止,从而继续进行解码。以往的错误隐藏的代表方法是,在解码对象图像中检测出错误的情况下,对于该图像的图像数据,以周边的其它的图像数据来代用的方法(参照专利文献3)。图5是示出以往的错误隐藏的方法的模式图。设想由P1、B1、B2、P2的图像构成, Pl正常地被解码,但P2因发生错误而解码被停止。此时,在专利文献3中,通过以已解码的Pl的图像来置换B1、B2、P2的图像,从而进行错误隐藏。此时,所代用的图像是其它的图像能够参考的图像,也是最后被解码了的图像。据此,替代发生了错误的图像而显示与Bi、 B2、P2虽不同但在时间上接近的图像,从而能够不使正在视听中的用户感到发生了错误,而视觉到顺利地进行解码。专利文献1 日本国特开平11-75191号公报专利文献2 国际公开第2004/008775号小手册专利文献3 日本国特开平10-23435号公报如上所述,在运动图像编码方法中,存在解码对象宏块本身不具有运动矢量的编码模式。在其中之一的时间直接模式中,通过利用已解码的其它的图像的运动矢量或参考类型、显示时间信息等,从而预测并生成解码对象宏块的运动矢量。另一方面,在以往的错误隐藏中,按照发生了错误的图像的种类,选择已解码的其它的图像,并以所述选择的图像来进行代用。但是,只针对显示的图像数据进行代用,而不对应于运动矢量或参考类型、显示时间信息等。因此,在某图像中检测出错误、且该图像被指定为时间直接模式的锚图像的情况下存在以下的可能性,即,由于缺乏用于预测解码对象宏块的运动矢量的运动矢量的信息, 因此不能正常进行解码工作,产生用于解码的数据的不匹配性,解码工作变得不稳定,在最坏的情况下停止。

发明内容
于是,鉴于所述的情况,本发明的目的在于,在发生了错误的图像被指定为锚图像的情况下,也进行错误隐藏来隐藏错误的发生,并且,继续稳定的解码。为了解决所述以往的问题,本发明的运动图像解码装置,参考作为宏块单位的信息的宏块信息,对所输入的运动图像编码流进行解码,所述宏块信息是至少具有运动矢量信息的宏块信息,所述运动图像解码装置,包括判定单元,判定所述运动图像编码流是否有错误;解码单元,通过对所述运动图像编码流中包含的解码对象图像进行解码,从而生成图像数据;以及保存单元,将所述运动图像编码流中的宏块信息与被解码了的图像数据对应起来并保存;所述保存单元,在由所述判定单元判定为有错误的情况下,将示出发生了错误的信息与所述宏块信息对应起来并保存;所述解码单元,在通过解码模式对所述运动图像编码流进行解码的情况下,且在已解码的图像的宏块信息是发生了错误的宏块信息的情况下,进行错误隐藏,所述解码模式是参考已解码的图像的宏块信息进行解码的解码模式。并且,本发明的运动图像解码装置,包括判定单元,判定在所述流中是否有错误; 保存单元,将至少包含所述流的运动矢量信息的、作为以宏块为单位的信息的宏块信息和已解码的图像数据对应起来并保存;图像数据置换单元,将由所述判定单元判定为有错误的流的图像数据,置换为所述保存单元所保存的图像数据;宏块信息置换单元,将由所述判定单元判定为有错误的流的宏块信息,置换为所述保存单元所保存的宏块信息;所述保存单元,将所述宏块信息置换单元所置换的宏块信息和所述图像数据置换单元所置换的图像数据对应起来并保存。根据本发明涉及的运动图像解码装置,通过具有由宏块信息置换单元将判定为有错误的流的宏块信息置换已解码的图像的宏块信息的结构,从而在发生了错误、且进行了错误隐藏的图像被指定为锚图像的情况下,也能够继续稳定的时间直接模式的解码。


图1是示出H. 264标准的参考图像的关系的一个例子的图。图2是示出H. 264标准的解码顺序和显示顺序的关系的一个例子的图。图3是示出通过时间直接模式的解码的一个例子的图。图4是示出通过空间直接模式的解码的一个例子的图。图5是示出以往的错误隐藏的一个例子的图。图6是本实施例1、2、3中的运动图像解码装置的结构框图。图7是与(a)、(b)、(c)分别相对应而图像存储器所存储的数据内容的一个例子的图。图8是示出本实施例1的运动图像解码装置的解码工作的一个例子的流程图。图9是示出本实施例2的运动图像解码装置的解码工作的一个例子的流程图。图10是示出本实施例3的运动图像解码装置的解码工作的一个例子的流程图。图11是本实施例4中的运动图像解码装置的结构框图。图12是示出在判定为检测出错误时将示出宏块信息中包含错误的标志作为宏块信息的一部分来存储的情况下的运动图像解码装置的工作的流程图。图13是示出在宏块信息的一部分存储有示出错误的有无的标志的情况下进行画面间预测处理的运动图像解码装置的工作的流程图。图14是示出本实施例5中的运动图像解码装置的解码工作的一个例子的流程图。图15是本发明的运动图像解码装置的硬件的结构框图。图16 (a)、(b)、(c)是利用软盘等的记录介质所记录的程序并通过计算机系统来实施所述各个实施例的图像信号处理方法的情况的说明图。符号说明
101代码串解析部
102预测残差解码部
103图像存储器
104错误判定部
105解码图像数据切换部
106运动补偿部
107加法运算部
108宏块类型开关部
109图像数据置换部
110运动矢量运算部
111宏块信息保存部
112信息切换部
113宏块信息置换部
114记忆装置
115显示装置
具体实施例方式以下,参照

本发明的实施例的运动图像解码装置。(实施例1)利用

实施例1中的运动图像解码装置的结构。图6是示出本实施例1的运动图像解码装置的结构的一个例子的框图。如图6示出,实施例1的运动图像解码装置,在所输入的代码串中的图像有错误的情况下,以已解码的其它的图像的图像数据来置换该图像的图像数据,并且,以已解码的其它的图像的宏块信息以及图像管理信息来置换作为包含运动矢量的每个宏块的信息的宏块信息、以及作为每个图像的信息的图像管理信息。该运动图像解码装置包括代码串解析部101、预测残差解码部102、图像存储器103、错误判定部104、解码图像数据切换部105、运动补偿部106、加法运算部107、宏块类型开关部108、图像数据置换部109、运动矢量运算部 110、宏块信息保存部111、信息切换部112、以及宏块信息置换部113。代码串解析部101,从所输入的代码串中抽出块类型信息、错误信息、参考图像信息、运动矢量信息、显示时间信息、预测残差编码数据等的数据,并将这些信息输出到图像存储器103。并且,代码串解析部101,至少将块类型信息、运动矢量信息、参考图像信息输出到运动矢量运算部110,至少将块类型信息、运动矢量信息、参考图像信息、显示时间信息输出到宏块信息保存部111,将预测残差编码数据输出到预测残差解码部102。而且,代码串解析部101检测代码串中是否有错误。预测残差解码部102,对代码串解析部101所抽出的预测残差编码数据进行逆正交变换处理或逆量化处理,来生成预测残差图像数据,并输出到加法运算部107。在此,预测残差解码部102、运动补偿部106、加法运算部107、以及运动矢量运算部110是“解码单元, 对所述运动图像编码流中包含的解码对象图像进行解码”的一个例子。运动矢量运算部110,在根据从代码串解析部101取得的块类型信息来判断为代码串中包含运动矢量信息的类型的情况下,将从代码串解析部101取得的运动矢量信息输出到运动补偿部106。并且,在根据块类型信息来判断为代码串中不包含运动矢量信息的直接模式的情况下,从图像存储器103中读出锚图像的同位置的宏块的运动矢量信息、块类型信息以及锚图像的显示时间信息来算出运动矢量,并将算出的运动矢量输出到运动补偿部106、宏块信息保存部111。宏块信息保存部111,保存从代码串解析部101取得的各个信息、和从运动矢量运算部110取得的运动矢量信息,并输出到信息切换部112。错误判定部104判定在代码串解析部101是否检测出错误,并将判定结果通知给解码图像数据切换部105、图像数据置换部109、信息切换部112以及宏块信息置换部113。 在此,代码串解析部101以及错误判定部104是“判定单元,判定在所述运动图像编码流中解码对象图像是否有错误”的一个例子。运动补偿部106,根据从运动矢量运算部110输出的运动矢量信息以及参考图像信息,从图像存储器103中读出已解码图像数据来生成运动补偿图像数据,并输出到加法运算部107。加法运算部107,对从预测残差解码部102输入的预测残差图像数据和从运动补偿部106输入的运动补偿图像数据进行加法运算,从而生成解码图像数据。并且,加法运算部107,将解码图像数据输出到宏块类型开关部108。宏块类型开关部108,在根据块类型信息利用运动补偿的情况下切换到108b,在不利用的情况下切换到108a。在与108b连接的情况下,将加法运算部107所生成的图像数据作为解码图像数据来取得,并输出到解码图像数据切换部105。并且,在与108a连接的情况下,将预测残差解码部102所生成的图像数据照原样作为解码图像数据来取得,并输出到解码图像数据切换部105。图像数据置换部109,从错误判定部104取得判定结果,在判定为检测出错误的情况下,从图像存储器103读出已解码的图像数据,并输出到解码图像数据切换部105。此时, 选择最后被解码了的图像数据。解码图像数据切换部105是开关等,取得错误判定部104所通知的判定结果,在判定为没有检测错误的情况下,向图像存储器103写入宏块类型开关部108的输出结果。在判定为检测出错误的情况下,向图像存储器103写入图像数据置换部109的输出结果。图像数据置换部109以及解码图像数据切换部105是“图像数据置换单元,在由所述判定单元判定为有错误的情况下,将所述解码对象图像的图像数据,置换为在所述解码对象图像之前所述保存单元所保存的已解码的图像数据”的一个例子。
图像存储器103,将解码图像数据切换部105所取得的图像数据、代码串解析部 101所抽出的各个信息,分类为图像管理信息、图像数据、宏块信息来存储。在此,设想图像管理信息至少包含显示时间信息,宏块信息至少包含解码时的运动矢量。并且,也可以图像管理信息、宏块信息分别管理相同信息。例如,图像管理信息管理显示顺序信息,宏块信息也管理显示顺序信息。在此,图像存储器103是“保存单元,将至少包含运动矢量信息的、在所述运动图像编码流内以宏块为单位所描述的宏块信息和包含所述宏块的图像的已解码的图像数据对应起来并保存”、“所述保存单元,将所述宏块信息置换单元所置换的宏块信息和所述图像数据置换单元所置换的图像数据对应起来并保存”的一个例子。信息切换部112是开关等,从错误判定部104取得判定结果,在判定为没有检测错误的情况下,向图像存储器103写入宏块信息保存部111输出的各个信息。在判定为检测出错误的情况下,向图像存储器103写入宏块信息置换部113从图像存储器103读出的宏块信息和图像管理信息。在此,图像存储器103、信息切换部112、宏块信息置换部113以及后述的宏块信息保存部602是“在由所述判定单元判定为有错误的情况下,将与所述解码对象图像相对应的所述宏块信息,置换为与所述已解码的图像相对应而保存的宏块信息, 或者,所述保存单元,将示出所述解码对象图像包含所述错误的信息与所述解码对象图像的宏块信息对应起来并保存”的一个例子。宏块信息置换部113是“宏块信息置换单元,在由所述判定单元判定为有错误的情况下,将与所述解码对象图像相对应的所述宏块信息,置换为与所述已解码的图像相对应而保存的宏块信息”的一个例子,从错误判定部104取得判定结果,在判定为检测出错误的情况下,从图像存储器103读出过去被解码的图像的图像管理信息和宏块信息。并且,将从图像存储器103读出的图像管理信息和宏块信息输出到信息切换部112。在此,过去解码的图像的图像管理信息和宏块信息是指,依据显示时间信息与图像数据置换部109使用的图像的图像数据对应起来的信息。也就是,在此为与最后被解码了的图像数据相对应的图像管理信息和宏块信息。如此,在照原样使用与最后被解码了的图像数据相对应的图像管理信息的显示时间信息的情况下,存在对所得到的运动矢量不能准确地进行比例缩放处理的可能性。但是,在所得到的运动矢量表示参考较远的图像的情况下,能够认为在比例缩放处理中解码对象图像和最后被解码了的图像之间的时间上的错开并不成为问题。从而,据此,通过时间直接模式,能够近似地算出解码对象宏块的运动矢量。其次,对于运动图像解码装置的图像存储器103所存储的数据结构,利用图7进行说明。图7是分别对应起来而图像存储器所存储的数据内容的一个例子的图。图7(a)的图像管理信息是图像存储器103所存储的多幅图像的各个图像的图像单位的管理信息,至少包含显示时间信息。图7(b)的图像数据是被解码了的图像数据,也是由亮度成分和色差成分构成的、成为参考图像数据以及输出图像数据的数据。图7(c)的宏块信息是在直接模式的解码时需要的信息,至少包含块类型信息、运动矢量信息和参考图像信息。图7(a)、(b)、(c)是在通常的解码中分别相对应的信息,被管理以作为一个集
I=I ο其次,对于本实施例的运动图像解码装置的工作,利用图8示出的流程图进行说明。图8是示出本实施例1的运动图像解码装置的解码工作的一个例子的流程图。首先,代码串解析部101,从所输入的代码串中按每个宏块取得块类型信息、运动矢量信息或参考图像信息等(S301)。错误判定部104判定在代码串解析部101是否检测出错误(S302)。在步骤S302中错误判定部104没有检测错误的情况下,在宏块类型开关部108按每个宏块类型切换图像预测方法(S303)。在宏块的预测类型是画面内预测的情况下,预测残差解码部102或图中没有示出的画面内预测部生成解码图像数据,并存储到图像存储器103(S304)。在宏块的预测类型是画面间预测的情况下,运动补偿部106利用参考图像信息或运动矢量信息生成运动补偿图像数据,在加法运算部107对运动补偿图像数据和预测残差图像数据进行加法运算来生成解码图像数据,并存储到图像存储器103(S305)。将至少包含解码时的块类型信息以及运动矢量信息的宏块信息,通过宏块信息保存部111存储到图像存储器103(S306)。按照解码对象图像内的宏块数反复进行以上的处理(S307)。在步骤S302中错误判定部104检测出错误的情况下,通过图像数据置换部109,以已解码的其它的图像的图像数据来置换正在解码中的图像整体的图像数据(S308)。通过宏块信息置换部113,以最后解码了的其它的图像的图像管理信息来置换正在解码中的图像管理信息(S309)。其次,通过宏块信息置换部113,以最后解码了的图像的宏块信息来置换正在解码中的图像整体的宏块数据(S310)。也就是,本实施例的运动图像解码装置,按每个宏块检测错误的有无,在一个图像整体中没有检测错误的情况下,按每个宏块进行通常的解码处理, 在解码对象图像内检测出错误的情况下,同时进行解码对象图像整体的图像数据、宏块信息以及图像管理信息的置换。而且,在所述实施例的记载中将图像管理信息或宏块信息置换,但是,在实际上也可以(1)将最后解码了的图像的图像数据、宏块信息以及图像管理信息复制;或( 以存储有最后解码了的图像的图像数据、宏块信息以及图像管理信息的图像存储器103内的地址来表示其数据,以作为包含错误的解码对象图像的图像数据、宏块信息以及图像管理信息。 也就是,在(1)的情况下,对于最后解码了的图像的图像数据、宏块信息以及图像管理信息,多数存在相同数据,以作为有错误的解码对象图像的实质数据,但是,在⑵的情况下, 只是示出最后被解码了的图像的图像数据、宏块信息以及图像管理信息的图像存储器103 内的地址,以作为有错误的解码对象图像的图像数据、宏块信息以及图像管理信息,因此只存在一个实质数据即可。因此,通过进行像( 那样的置换,从而获得能够节省图像存储器 103内的存储区域的效果。根据所述的结构,除了所显示的图像数据以外,还针对以后的图像的直接模式的解码所需要的宏块信息,也能够使用正确地解码后的图像的宏块信息,从而能够继续稳定的解码工作。而且,在本实施例中,对于图像数据以及宏块信息的置换,采用了以最后被解码了的图像来代用的方法,但也可以以按照显示顺序最晚的图像来代用,或可以以按照显示顺序最接近解码对象图像的图像来代用。并且,对于图像数据以及宏块信息的置换,设想了以最后被解码了的图像、按照显示顺序最晚的图像、或按照显示顺序最接近解码对象图像的图像来代用,但也可以为与其接近的图像。与其接近的图像也可以是指,例如图像存储器所存储的图像中倒数第二个被解码的图像、按照显示顺序第二晚的图像、按照显示顺序第二接近解码对象图像的图像。并且,作为图像数据的代用目标的图像和宏块信息的代用目标的图像可以相同,也可以不同。并且,也可以以其它的图像来代用宏块信息中的一部分的信息,并重新算出宏块信息中的另一部分的信息。并且,在本实施例中,以图像为单位进行图像数据以及宏块信息的错误隐藏,但也可以分别以切片为单位、以宏块为单位进行。而且,也可以将相同图像的宏块中发生了错误的宏块以后的宏块、发生了错误的宏块以前的宏块作为错误隐藏的单位。例如,在以宏块为单位进行错误隐藏的情况下,以紧前被解码了的宏块的图像数据或紧后将要被解码的宏块的图像数据来置换判定为有错误的解码对象宏块的图像数据。 并且,对于包含运动矢量信息的宏块信息,在判定为解码对象宏块中有错误的情况下,也以在解码对象宏块的紧前被解码了的宏块的宏块信息、或在解码对象宏块的紧后将要被解码的宏块的宏块信息来置换。并且,在此情况下,对于图像管理信息,由于以宏块为单位进行错误隐藏,因此也可以照原样使用解码对象图像的图像管理信息。而且,在以切片为单位进行错误隐藏的情况下,与以宏块为单位进行错误隐藏的情况相同,也以紧前被解码了的切片的图像数据或紧后将要被解码的切片的图像数据来置换判定为有错误的解码对象切片的图像数据即可。并且,对于包含运动矢量信息的宏块信息,也可以以紧前被解码了的切片中包含的所有的宏块的宏块信息、或紧后将要被解码的切片中包含的所有的宏块的宏块信息来置换判定为有错误的解码对象切片中包含的所有的宏块的宏块信息。对于图像管理信息,可以照原样使用解码对象图像的图像管理信息,也可以按照包含错误的切片的连续数,以紧前被解码了的图像的图像管理信息来置换、或以紧后将要被解码的图像的图像管理信息来置换。并且,在本实施例1中,对于宏块信息中包含的运动矢量信息以及显示时刻信息, 将最近被解码了的图像的运动矢量信息以及显示时刻信息照原样代用,但是,本发明不仅限于此。例如,也可以依据帧率等来算出图像数据被置换的帧的显示时刻信息,并将代用的宏块信息中的显示时刻信息改写为算出的显示时刻信息来使用。(实施例2)对于实施例2中的运动图像解码装置的结构,由于与在实施例1中用于说明的图 6的结构相同,因此省略说明。实施例2和实施例1的不同之处是宏块信息置换部113的工作。在实施例2中, 宏块信息置换部113是“所述宏块信息置换单元,在将由所述判定单元判定为有错误的所述运动图像编码流的图像管理信息置换为所述保存单元所保存的图像管理信息的情况下, 不将所述显示时刻信息置换而利用原来的显示时刻信息”的一个例子,从错误判定部104取得判定结果,在判定为检测出错误的情况下,从图像存储器103读出最后被解码了的图像的图像管理信息,且不是照原样输出到信息切换部112,而是将图像管理信息中的显示时间信息改写为发生了错误的图像的显示时间信息,并输出到信息切换部112。并且,与实施例 1相同,对于图像内的所有的宏块,从图像存储器103读出最后被解码了的图像的所有的宏块信息,并输出。在此,图像存储器103是“将至少具有显示时刻信息的图像单位的信息的图像管理信息和所述图像数据对应起来并保存”、“所述保存单元,保存由所述宏块信息置换单元置换后的所述图像管理信息”的一个例子。对于本实施例2的运动图像解码装置的工作,利用图9示出的流程图进行说明。图 9是示出本实施例2的运动图像解码装置的解码工作的一个例子的流程图。对于进行与图 8相同处理的步骤添加相同符号,省略说明。通过宏块信息置换部113,对于正在解码中的图像管理信息,只将显示时间信息变换为正在解码中的图像的显示时间信息后,将正在解码中的图像管理信息置换为已解码图像的图像管理信息。也就是,正在解码中的图像管理信息,只使显示时间信息照原样,而对于其它的信息被置换为已解码图像的图像管理信息(S401)。通过如此工作,能够正确地处理计算在直接模式时的显示时间,且能够更正确地进行比例缩放处理,因此画质更提高。并且,由于能够使用更正确的显示时间信息,因此更能够继续稳定的行解码工作。而且,在此,只改写图像管理信息中的显示时间信息,但也可以改写其它的图像管理信息,例如改写帧号码等。而且,在此,以正在解码中的图像的显示时间信息来置换,但也可以,例如在根据因错误而引起的缺乏,没有取得正在解码中的图像的显示时间信息的情况下,依据过去的图像的显示时间信息将本图像的显示时间信息由外部插入,来算出显示时间信息,从而进行置换。而且,在本实施例中,对于图像数据以及宏块信息的置换,采用了以最后被解码了的图像来代用的方法,但也可以以按照显示顺序最晚的图像来代用,或可以以按照显示顺序最接近解码对象图像的图像来代用。并且,作为图像数据的代用目标的图像和宏块信息的代用目标的图像可以相同, 也可以不同。并且,也可以以其它的图像来代用宏块信息中的一部分的信息,并重新算出宏块信息中的另一部分的信息。并且,在本实施例中,以图像为单位进行图像数据以及宏块信息的错误隐藏,但也可以分别以切片为单位、以宏块为单位进行。而且,也可以将相同图像的宏块中发生了错误的宏块以后的宏块、发生了错误的宏块以前的宏块作为错误隐藏的单位。(实施例3)对于实施例3中的运动图像解码装置的结构,由于与在实施例1中用于说明的图 6的结构相同,因此省略说明。实施例3和实施例1、2的不同之处是宏块信息置换部113的工作。在实施例3中, 宏块信息置换部113,从错误判定部104取得判定结果,在判定为检测出错误的情况下,与实施例2相同,将图像管理信息中的显示时间信息改写为发生了错误的图像的显示时间信息,并输出到信息切换部112。其次,与实施例1、2不同,对于发生了错误的图像的所有的宏块,将所有的块类型信息变换为画面内预测来输出。而且,宏块信息置换部113也可以,针对发生了错误的图像,即针对解码对象图像内的所有的宏块信息,从图像存储器103读出最后被解码了的图像的所有的宏块信息,以读出的所有的宏块信息来置换后,将该所有的宏块信息中包含的所有的块类型信息变换为画面内预测,从而作为该图像的宏块信息来输出。在此,宏块信息置换部113是“所述宏块信息还具有块类型信息,所述宏块信息置换单元,在由所述判定单元判定为有错误的情况下,将所述解码对象图像的所述宏块信息中包含的所述块类型信息置换为示出画面内预测的信息”的一个例子。对于本实施例3的运动图像解码装置的工作,利用图10示出的流程图进行说明。 对于进行与图8、9相同处理的步骤添加相同符号,省略说明。图10是说明本实施例3的运动图像解码装置的解码工作的一个例子的流程图。宏块信息置换部113,对于解码对象宏块的宏块信息,将块类型信息变换为画面内预测后输出到信息切换部112(S501)。可以使其它的宏块信息照原样。通过如此工作,在计算将该图像作为锚图像的直接模式的情况下,以没有运动矢量的画面内预测来处理锚图像。因此,如上所述,通过运动补偿来取得的图像数据成为取已解码的二幅参考图像的平均的图像数据,因此尤其运动少的运动图像的画质提高。而且,在此,只改写解码对象宏块的宏块信息中的块类型信息,但是,在将从图像存储器读出的已解码的图像的宏块信息输出到信息切换部112的情况下,也可以改写块类型信息的其它的宏块信息,例如改写显示时间信息。并且,在此,只将宏块信息中的块类型信息改写为画面内预测,但是,在将从图像存储器读出的已解码的图像的宏块信息输出到信息切换部112的情况下,也可以将运动矢量信息以及块类型信息改写为运动矢量值为0的画面间预测。在此,宏块信息置换部113 是“所述宏块信息置换单元,在由所述判定单元判定为有错误的情况下,将所述解码对象图像的所述宏块信息中包含的所述运动矢量信息的运动矢量变为0”的一个例子。而且,在本实施例中,对于图像数据以及宏块信息的置换,采用了以最后被解码了的图像来代用的方法,但也可以以按照显示顺序最晚的图像来代用,或可以以按照显示顺序最接近解码对象图像的图像来代用。并且,作为图像数据的代用目标的图像和宏块信息的代用目标的图像可以相同, 也可以不同。并且,也可以以其它的图像来代用宏块信息中的一部分的信息,并重新算出宏块信息中的另一部分的信息。并且,在本实施例中,以图像为单位进行图像数据以及宏块信息的错误隐藏,但也可以分别以切片为单位、以宏块为单位进行。而且,也可以将相同图像的宏块中发生了错误的宏块以后的宏块、发生了错误的宏块以前的宏块作为错误隐藏的单位。(实施例4)对于实施例4的运动图像解码装置的结构,利用图11进行说明。图11是本实施例4的运动图像解码装置的结构框图。实施例4的结构与所述的实施例不同,将错误判定部601的错误判定结果作为错误信息来输入到宏块信息保存部602。实施例4中的宏块信息保存部602,与所述的实施例相同,对于解码对象图像的所有的宏块,将解码对象图像的宏块信息中包含的至少运动矢量信息以及块类型信息,存储到图像存储器103在实施例4中,除了这些信息以外,还存储错误信息。作为该错误信息, 在判定为错误判定部601没有检测错误的情况下,宏块信息保存部602将标志作为宏块信息的一部分来存储,该标志示出所存储的宏块信息正确。在判定为错误判定部601检测出错误的情况下,针对该图像中包含的所有的宏块,将标志作为宏块信息的一部分来存储,该标志示出该宏块信息包含错误。当然也可以,只在判定为错误判定部601检测出错误的情况下,将该标志作为宏块信息的一部分来存储。在此,宏块信息保存部602是“宏块信息保存单元,在由所述判定单元判定为解码对象图像有错误的情况下,将示出所述解码对象图像包含所述错误的信息与包含所述错误的所述解码对象图像的所述宏块信息对应起来并保存”的一个例子。运动矢量运算部110,在与从图像存储器103读出的锚图像相对应的位置的宏块信息中包含的错误信息不示出该宏块的解码时的错误的情况下,视为该宏块信息正确,来进行直接模式的运动矢量的计算。另一方面,运动矢量运算部110,在宏块信息中包含的错误信息示出包含该宏块的图像的解码时的错误的情况下,视为该宏块信息不正确,不使用从图像存储器103读出的运动矢量值以及块类型信息,总视为块类型信息是画面内预测来工作。或者,运动矢量运算部110也可以,在错误信息示出包含锚宏块的图像的错误的情况下,通过空间直接模式来算出运动矢量,而替代视为块类型信息是画面内预测来工作。在此,运动矢量运算部110是 “所述解码单元,在参考已经被解码的图像的宏块信息来对解码对象图像进行解码的情况下,且在所参考的宏块信息是与示出包含所述错误的信息相对应的宏块信息的情况下,将解码工作变更为与所述宏块信息所示的解码工作不同的工作”以及“所述解码单元,在所参考的宏块信息是与示出包含所述错误的信息相对应的宏块信息的情况下,与所参考的所述宏块信息示出的块类型无关,判断为所述宏块信息示出画面内预测,来对解码对象图像进行解码”的一个例子。其次,对于本实施例4的工作,利用图12以及图13示出的流程图进行说明。图12 是示出在判定为检测出错误时将示出宏块信息中包含错误的标志作为宏块信息的一部分来存储的情况下的运动图像解码装置的工作的流程图。图13是示出在宏块信息的一部分存储有示出有无错误的标志的情况下进行画面间预测处理的运动图像解码装置的工作的流程图。首先,代码串解析部101从所输入的代码串得到宏块信息(S701)。错误判定部601判定在代码串解析部是否检测出错误(S702)。在步骤S702中错误判定部601没有判定为检测出错误的情况下,在宏块类型开关部108按每个块类型切换图像预测方法(S703)。在宏块类型是画面内预测的情况下,预测残差解码部102或图中没有示出的画面内预测部生成解码图像数据,并存储到图像存储器103(S704)。对于宏块类型是画面间预测的情况,由于将在后面说明,因此省略说明(S705)。其次,将包含解码时的块类型信息以及运动矢量信息的宏块信息,通过宏块信息保存部602存储到图像存储器103 (S706)。按照解码对象图像内的宏块数反复进行以上的处理(S707)。在步骤S702中错误判定部104判定为检测出错误的情况下,通过图像数据置换部 109,以已解码的其它的图像的图像数据来置换正在解码中的图像整体的图像数据(S708)。而且,错误判定部601,通过宏块信息保存部602,至少输出示出错误发生了的标志,以作为与正在解码中的图像的所有的宏块相对应的宏块信息,并存储到图像存储器 103(S709)。本实施例4示出的运动图像解码装置,如此完成解码对象图像的解码工作。其次,对于在块类型信息是画面间预测的情况下的步骤S705中的运动运算部110的工作,利用图 13示出的流程图进行详细说明。首先,判定块类型信息是否为直接模式(S802)。在块类型信息不是直接模式的情况下,照原样作为不是直接模式的通常的画面间预测,并算出运动矢量(S807)。在块类型信息是直接模式的情况下,从图像存储器103取得锚图像的图像管理信息以及锚宏块的宏块信息(S803)。判定锚宏块的宏块信息中的错误信息是否示出错误(S804)。在错误信息不示出错误的情况下,视为取得的宏块信息正确,进行直接模式的运算,并算出运动矢量(S805)。在错误信息示出错误的情况下,视为取得的宏块信息不正确,且视为锚宏块的块类型信息是画面内预测,进行直接模式的运算,并算出运动矢量(S806)。利用所算出的运动矢量,从图像存储器103取得参考图像,进行运动补偿的处理, 并进行画面间预测的处理(S807)。如此,在进行直接模式的解码时,在包含锚宏块的图像发生了错误的情况下,由于不会利用包含错误的宏块信息来进行直接模式的处理,因此在对包含错误的流进行解码的情况下,也能够继续稳定的解码工作。而且,在本实施例中设想,在检测出错误的情况下,向对应的图像的所有的宏块信息写入示出错误的标志,但是,也可以只向发生了错误的宏块写入,或可以向生了错误的宏块以后的所有的宏块写入。并且,也可以向对应的切片写入。并且,也可以不向宏块信息写入错误信息,而向图像管理信息写入错误。而且,在对于所有的宏块设置示出错误的标志的情况下,由于存在一个错误标志是合理的,因此例如宏块信息可以不一定是按每个宏块管理的数据,而可以是以其它的单位(图像、切片等) 管理的数据。错误标志也可以管理在其中。在以图像为单位管理的错误标志是有效的情况下,运动图像解码装置,与其图像的所有的宏块的错误标志是有效的情况相同工作即可。并且,在本实施例中,将发生了错误的锚宏块的块类型信息作为画面内预测,但也可以设想块类型信息是画面间预测,且运动矢量的大小为0。并且,本发明不仅限于此,由于重要的是在宏块信息存在错误标志时通过某种手段来进行错误隐藏,因此在存在错误标志时,并不需要作为画面内预测或作为将运动矢量为0的画面间预测,而可以通过其它的方法进行解码。(实施例5)对于实施例5中的运动图像解码装置的结构,由于与在实施例1中用于说明的图 6的结构相同,因此省略说明。在实施例5中与实施例1不同之处是错误判定部104的工作。在检测出错误的位置是宏块信息的情况下,与实施例1相同,将错误通知给解码图像数据切换部105、图像数据置换部109、宏块信息置换部113以及信息切换部112。但是,在检测出错误的位置不是宏块信息的情况下,错误判定部104,将错误只通知给解码图像数据切换部105以及图像数据置换部109。据此,以其它的图像数据来只代用图像数据,而照原样使用宏块信息。在此,代码串解析部101以及错误判定部104是“所述判定单元,还判定所述宏块信息中包含的信息是否有错误”的一个例子,宏块信息置换部113是“所述宏块信息置换单元,只在所述判定单元判定为所述宏块信息中包含的信息有错误的情况下,将解码对象图像的所述宏块信息置换为所述保存单元所保存的宏块信息”的一个例子。对于实施例5中的运动图像解码装置的工作,利用图14示出的流程图进行说明。 图14是用于说明本实施例5中的运动图像解码装置的解码工作的流程图。对于进行与图8 相同处理的步骤添加相同符号,省略说明。并且,在步骤S901检测出错误的地方是宏块信息的情况下,由于与实施例1相同,因此也省略说明。在宏块信息正常地被解码后,由错误判定部104检测出错误的情况下(S901),由图像数据置换部109,以已解码的其它的图像的图像数据来置换正在解码中的图像整体的图像数据(S308),但是,照原样使用宏块信息。通过如此工作,从而能够按照检测出错误的位置以必要且最低限度的信息来代用,因此处理能力提高。而且,在所述实施例2 5中设想,在将从图像存储器读出的已解码图像的宏块信息输出到信息切换部112的情况下,改写宏块信息中的显示时刻信息,但也可以本发明不仅限于此。例如,也可以不是将从图像存储器读出的已解码图像的显示时刻信息,改写为依据帧率等近似地算出的解码对象图像的显示时刻,而是将从图像存储器读出的已解码图像的宏块信息中包含的运动矢量信息,改写为根据近似地算出的解码对象图像的显示时刻进行比例缩放处理而得到的运动矢量信息。如上所述,根据本发明的运动图像解码装置可以获得以下的效果,即,在进行错误隐藏的情况下也能够附加一种信息,该信息是针对包含错误的图像能够补偿运动矢量的信息,该运动矢量是通过时间直接模式被参考的运动矢量。(实施例6)对于实施例6中的运动图像解码装置的结构,利用图15进行说明。图15是示出运动图像解码装置的硬件结构的一个例子的框图。实施例6中的运动图像解码装置构成为,以作为集成电路的LSI来实现实施例1 的图像存储器103以外的部分,由DRAM (Dynamic Random Access Memory)构成图像存储器 103,从记忆装置114输入代码串,并在显示装置115进行显示。本实施例的工作与实施例1相同。对于这些LSI、DRAM、记忆装置或显示装置,可以被单芯片化,以包括一部分或全部,也可以将它们分割来实现为多个LSI。在此,设想了 LSI,但是根据集成度不同,有时被称为IC、超(Super)LSI、特大 (Ultra) LSI。并且,对于集成电路化的方法,不仅限于LSI,也可以以专用电路或通用处理器来实现。也可以利用在制造LSI后能够编程的FPGA (Field Programmable Gate ArrayJS 场可编程门阵列)、或可重构LSI内部的电路单元的连接或设定的可重构处理器。而且,当然,若因半导体技术的进步或导出的其它的技术而出现代替LSI的集成电路化的技术,则可以利用其技术对功能框进行集成化。存在应用生物技术等的可能性。通过连接显示装置115,从而即使包含错误也不使画面变乱,因此收看运动图像的视听者,能够进行视听。而且,显示装置115,可以是利用阴极射线管的CRT,也可以是液晶电视机或等离子显示屏。并且,记忆装置114,可以是硬盘装置、闪存或DVD等的磁盘机。并且,图像存储器 103,不尽限于DRAM,而可以是SRAM (静态随机存取存储器)、闪存或硬盘装置等。(实施例7)而且,将用于实现所述各个实施例示出的运动信号处理方法的程序记录在软盘等记录介质中,从而能够在独立的计算机系统中简单地实施所述各个实施例示出的处理。图16是利用软盘等的记录介质所记录的程序,通过计算机系统来实施所述各个实施例的图像信号处理方法的情况的说明图。图16(b)示出从软盘的外观、剖面构造以及软盘,图16(a)示出作为记录介质主体的软盘的物理格式的例子。软盘FD内置在外壳F内,该盘的表面从外周到内周呈同心圆状形成多个轨道Tr,各个轨道在角度方向上分割为16个扇区%。因此,存储所述程序的软盘中,在所述软盘FD上所分割的区域中记录所述程序。并且,图16(C)示出用于在软盘FD进行所述程序的记录再生的结构。在将实现图像信号处理方法的所述程序记录到软盘FD的情况下,经由软盘驱动器FDD从计算机系统Cs 写入所述程序。并且,在计算机系统中构建通过软盘内的程序实现图像信号处理方法的所述图像信号处理方法的情况下,通过软盘驱动器FDD从软盘读出程序,并传输给计算机系统。而且,所述说明中使用软盘作为记录介质进行了说明,但使用光盘也同样能够进行说明。并且,对于记录介质,不仅限于此,IC卡、ROM盒等只要能够记录程序,就同样能够实施。如上所述,本发明涉及的运动图像解码装置,有用于解码或显示构成运动图像的图像的设备,例如有用于移动电话,DVD装置、机顶盒、数字电视机、汽车、汽车导航、安全系统等。
权利要求
1. 一种运动图像解码装置,参照已经解码的其他图像的宏块信息,预测并生成解码对象宏块的运动矢量信息,该解码对象宏块自身不具有运动矢量信息,其特征在于,包括 保存单元,保存从输入的运动图像编码流解码出的已解码宏块的宏块信息; 判定单元,判定所述输入的运动图像编码流中是否有错误;以及宏块信息变更单元,在由所述判定单元判定出有错误的情况下,变更所述已解码宏块的宏块信息。
全文摘要
本发明涉及一种运动图像解码装置。包括图像存储器(103),将包含运动矢量信息的、以宏块为单位所描述的宏块信息和包含宏块的图像的已解码的图像数据对应起来并保存;错误判定部(104),判定解码对象图像是否有错误;图像数据置换部(109),在判定为有错误的情况下,将解码对象图像的图像数据,置换为在解码对象图像之前图像存储器(103)所保存的已解码的图像数据;以及宏块信息置换部(113),在判定为有错误的情况下,将与包含错误的解码对象图像相对应的宏块信息,置换为与已解码的图像相对应而保存的宏块信息;或者宏块信息保存部(602),将示出解码对象图像包含错误的信息与解码对象图像的图像数据对应起来并保存。
文档编号H04N7/26GK102176751SQ201110143608
公开日2011年9月7日 申请日期2007年12月27日 优先权日2006年12月27日
发明者安倍清史, 杉本隆, 池田浩, 田中健 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1