CN101518091A - 解码装置、解码方法、解码程序以及集成电路 - Google Patents

解码装置、解码方法、解码程序以及集成电路 Download PDF

Info

Publication number
CN101518091A
CN101518091A CNA2007800357642A CN200780035764A CN101518091A CN 101518091 A CN101518091 A CN 101518091A CN A2007800357642 A CNA2007800357642 A CN A2007800357642A CN 200780035764 A CN200780035764 A CN 200780035764A CN 101518091 A CN101518091 A CN 101518091A
Authority
CN
China
Prior art keywords
mentioned
decoding
block image
picture
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800357642A
Other languages
English (en)
Other versions
CN101518091B (zh
Inventor
大宫淳
西村明夫
小林忠司
望月义幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101518091A publication Critical patent/CN101518091A/zh
Application granted granted Critical
Publication of CN101518091B publication Critical patent/CN101518091B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种能够在压缩编码后的图像数据的解码处理中提高高速缓冲命中率的解码装置。解码装置在解码处理之前,针对GOP包含的帧类别是P图片或者B图片的多个MPEG数据流,按照每个参考图片生成排序表。解码装置使用生成的排序表,选择由参考同一参考宏块的多个解码对象宏块构成的图片组。解码装置从参考图片中取得包含选择出的图片组所参考的同一参考宏块在内的4个宏块,存储到高速缓冲存储器。解码装置使用存储在高速缓冲存储器中的4个宏块,对选择出的图片组包含的解码对象的各个宏块依次进行解码。

Description

解码装置、解码方法、解码程序以及集成电路
技术领域
本发明涉及对压缩编码后的动态图像数据进行解码的技术,尤其涉及提高通过具有高速缓冲机构的处理单元进行信号处理时的存储器存取效率的技术。
背景技术
作为用于在记录或传送动态图像数据时压缩其数据量的方式,被称作MPEG(Moving Picutre coding Experts Group)的国际标准方式被广泛普及。MPEG包括:作为面向CD(Compact Disc)的动态图像编码标准而普及的MPEG-1、与数字电视和DVD(Digital Versatile Disc)对应的MPEG-2、以及假定在互联网或移动通信中使用并进行了低比特率化的MPEG-4等。此外,近年来制定了谋求压缩率的进一步提高的H.264/AVC(Advanced VideoCoding),使用H.264/AVC的设备也在不断普及。
依据上述MPEG标准压缩后的图像数据的解码需要庞大的计算量。为此,在早期的利用MPEG的设备中,为了在保持实时性的同时对MPEG压缩数据进行解码,通常要使用专用的硬件。但是,随着近年来计算机技术的发展,不需要专用的硬件而仅利用软件实时地进行解码已经成为可能。由于不需要专用的硬件,因而能够在各种设备中利用MPEG数据,其推广值得期待。
MPEG的解码算法由被称作VLD(Variable Length Decoding)的可变长度编码解码处理、反量化处理、逆DCT(Discrete Cosine Transform:离散余弦变换)处理、以及运动补偿处理等4个处理构成。上述MPEG-1/2/4和H.264/AVC等的具体处理存在不同,但利用大致相同的算法。
对MPEG数据进行解码的系统通常由HDD或CD/DVD这样的外部存储装置、主存储器、CPU以及显示装置构成。外部存储装置存储有MPEG数据。CPU从外部存储装置读取MPEG数据,将读取的MPEG数据临时存储到主存储器。CPU利用由该CPU运行的解码处理程序对存储在主存储器中的MPEG数据进行解码,将作为其解码结果的图像数据再次存储到主存储器。CPU再次读取存储在主存储器中的图像数据,进行用于显示到显示装置的格式转换,将其结果转送给显示装置。显示装置显示接收到的图像。
图14是表示在现有技术中采用MPEG方式进行解码时的图片(图像数据)的顺序的图。对MPEG定义有3个图片类型,它们是:不进行运动补偿而能够仅根据该图片内的信息对图片进行解码的I图片、需要利用过去的图片的信息进行该图片的预测解码处理的运动补偿处理的P图片、利用过去和未来双向的信息进行该图片的预测解码处理的B图片。
图14(a)是表示存储在外部记录装置上的图片的顺序的图。在各图片内标注的序号表示从该图片的起始起的顺序,在图片下部示出该图片的类型。在图14(a)中,图片序号1是I图片,因而不需要其它图片的信息即可进行解码。图片序号2、3是B图片,因而需要利用图片序号1的图片和图片序号4的图片的双方的信息进行解码。B图片不被用于其它图片的预测处理。图片序号4是P图片,因而利用图片序号1的图片的信息进行解码。同样地,图片序号5、6的图片利用图片序号4的图片和图片序号7的图片的信息进行解码;图片序号7的图片利用图片序号4的图片进行解码。
图14(b)是按照上述图片类型和解码的顺序表示解码处理顺序的图。在实际进行解码处理的情况下,最初对图片序号1的I图片进行解码。接着,利用完成解码的图片序号1的图像数据对图片序号4的P图片进行解码。接着,利用完成解码的图片序号1的图像数据和图片序号4的图像数据,依次对图片序号3和图片序号4的B图片进行解码。图片序号6以后同样地在对P图片进行解码后对B图片进行解码。该解码顺序需要按照与进行基于MPEG的压缩处理的顺序相同的顺序来进行。
图14(c)表示显示完成解码的图像的顺序。
在MPEG的解码处理中,对主存储器的存取频繁发生。通常,在上述所示的系统中,为了减轻对主存储器的存取负荷,在CPU中具有高速缓冲存储器。高速缓冲存储器是被设计成虽然与同CPU外部连接的主存储器相比容量较少但能非常高速地进行存取的存储器。
例如,在对图14(b)所示的图片序号4的P图片进行解码的情况下,CPU首先使用解码的解码对象宏块具有的运动矢量,从I图片(图片序号“1”)取得解码处理时参考的宏块(通常是4个宏块),存储到高速缓冲存储器。CPU使用存储的宏块对解码对象宏块进行解码。取得下一个解码对象宏块,使用取得的解码对象宏块具有的运动矢量,从I图片(图片序号“1”)取得解码处理时参考的宏块(通常是4个宏块),存储到高速缓冲存储器,进行解码处理。此时,从高速缓冲存储器删除已经存储的4个宏块。CPU重复该动作直到P图片的全部宏块的解码完成为止。当P图片的解码完成时,进行B图片的解码,在该情况下基本上重复与上述相同的动作。另外,在该情况下,参考的图片是I图片和P图片。
此外,为了P图片、B图片的解码而参考的宏块通常多是在一幅图片的解码时只使用一次。并且,现在的MPEG数据的解码通常采用一幅一幅地依次处理解码对象的图片的方法。因此,被读入到高速缓冲存储器的参考图片的数据被连续存取的概率非常低,不会被再利用而被丢弃,从而导致高速缓冲存储器的利用效率异常糟糕。
在MPEG数据的解码方法中,无法将在运动补偿处理中参考的全部宏块(参考的完成解码的图片整体)预先存储到高速缓冲存储器,因而必须从主存储器多次读入相同的数据(参考的宏块),成为解码处理的性能减低的主要原因。
作为解决上述课题的技术,在专利文献1中公开了如下方法:利用连续的B图片的类似性,有效使用高速缓冲存储器内的数据,抑制解码处理的速度降低。已公开的方法的特征在于,如果在进行某个图片的解码处理时该图片是B图片、并且其下一个图片也是B图片,则通过交替地重复第1个图片的1个宏块的解码处理和第2个图片的1个宏块的解码处理,来同时进行相邻的2个图片的解码处理(也可以不是交替地对1个宏块进行解码,而是交替地重复一定数量的宏块的解码处理)。即,在上述专利文献1中,在相邻的图片都是B图片的情况下,以一个或者多个宏块为单位交替地进行这2个图片的解码处理,因而位于相邻的图片的相同位置的宏块的解码处理被连续地进行,因此,能够降低在运动补偿处理中产生高速缓冲错误的概率。该方法利用了如下的性质:位于相邻的图片的相同位置的宏块的运动补偿处理多是利用位于参考的图片的附近位置的区域(宏块)。
专利文献1:日本专利第3322233号说明书
非专利文献1:ITU-T Rec.H.264 ISO/IEC 14496-10 AVC Joint FinalCommittee Draft of Joint Video Specification(2002-8-10)(P54 8.3.6.3Default index orders,P56 8.3.6.4 Changing the default index orders)
上述所示的技术不需要在连续的2个B图片(例如图14(c)中的B2、B3)的解码处理中,从主存储器多次读入相同的数据(参考的宏块),因而在提高解码处理的性能方面是有效的。在此,B2、B3分别表示图片序号是2、3的B图片。
但是,在专利文献1中公开的技术在B2、B3必定参考显示顺序(时间顺序)上紧前一幅图片(在图14(c)中是I1)和紧后一幅图片(在图14(c)中是P4)而被解码的编码串的情况下是有效的,但是无法应对例如像在非专利文献1中规定的H.264/MPEG4AVC那样能以宏块为单位指定前方的参考图片的编码串。在此,I1表示图片序号是1的I图片,P4表示图片序号是4的P图片。
此外,还无法应对如下的编码串:即使以图片为单位来看,参考关系也不限于参考解码顺序上之前刚刚解码的图片(P4)。
具体地说,在不仅与之前的P图片(P4)连续(相邻)的2幅B图片(B2、B3)、而且按照解码顺序不与之前的P图片(P4)连续的其它图片(例如图14(c)中的B5、B6)中的预定宏块也参考上述相同的数据进行解码的编码串的情况下,需要在对其它图片进行解码时再次从主存储器读取上述相同的数据,存在解码处理的性能不会提高的问题。
发明内容
因此,本发明的目的在于提供一种解码装置、解码方法、解码程序以及集成电路,当是解码对象图片内参考的图片能指定成以片(slice)为单位或以宏块为单位的编码串的情况下,以及/或者,当按照解码顺序不连续的图片利用同一参考数据的情况下,也能够提高高速缓冲命中率。
为了达到上述目的,本发明提供一种解码装置,对将多个帧图像预测编码而成的编码串进行解码,其特征在于,上述编码串包含多个编码帧图像,各个编码帧图像包含多个编码块图像,至少一部分编码块图像是块图像参考1个参考块图像被预测编码而成的,并且该至少一部分编码块图像包含表示从上述块图像参考该参考块图像的参考关系信息,上述解码装置具有:高速缓冲存储器;取得单元,取得上述编码串;提取单元,从取得的上述编码串中提取多个参考关系信息;确定单元,选择1个参考块图像,对于选择出的上述参考块图像,使用提取出的上述多个参考关系信息,从该参考块图像进行逆追溯,确定多个参考源的编码块图像;存储单元,读取上述参考块图像,将读取的上述参考块图像存储到上述高速缓冲存储器;以及解码单元,在上述参考块图像本身未被丢弃而保持在上述高速缓冲存储器期间,参考该参考块图像,对确定的上述多个编码块图像进行解码。
发明效果:
根据上述结构,解码装置使用按照通过参考而被解码的每个编码块图像取得的各个参考关系信息,确定参考1个参考块图像而被解码的多个编码块图像,将上述参考块图像存储到高速缓冲存储器,对参考存储在上述高速缓冲存储器中的参考块图像而被解码的多个编码块图像连续地进行解码。由此,解码装置每当对参考同一参考块图像的多个编码块图像进行解码时,无需读取上述参考块图像进行存储,因此,当在解码对象图片内参考的图片是能指定成以片为单位或以宏块为单位的编码串的情况下,以及/或者,当按照解码顺序不连续的图片利用同一参考数据的情况下,都能够提高高速缓冲命中率。
特别是在H.264/MPEG4AVC那样不连续的图片之间存在参考/被参考关系的情况下,上述效果尤为显著。此外,在1个GOP(Group Of Picture:图片组)包含的图片数较多(包含多于15幅的图片数的LongGOP)那样的编码串中,即使是不连续的图片(远方图片)参考相同的数据进行该远方图片内的预定宏块的解码的编码串的情况下,也能够举出同样的效果。
在此,也可以是,上述参考关系信息包含表示参考目标的帧图像的参考帧信息,上述确定单元从上述多个参考关系信息中包含的上述参考帧信息所示的多个参考目标的帧图像中,选择1个帧图像,从选择出的上述帧图像中选择上述参考块图像。
根据上述结构,解码装置使用取得的参考关系信息分别包含的参考帧信息,由此,能够决定参考的1个帧图像包含的参考块图像,确定参考已决定的参考块图像而被解码的多个编码块图像。
在此,也可以是,上述参考关系信息包含表示参考目标的参考块图像内的参考位置的参考位置信息,上述确定单元针对选择出的上述帧图像,从包含以该帧图像作为参考目标的参考帧信息在内的多个参考关系信息中分别提取参考位置信息,生成由提取出的多个参考位置信息构成的参考列表,从生成的上述参考列表中,确定与以上述参考块图像内作为参考位置的参考位置信息相对应的上述多个编码块图像。
根据上述结构,解码装置使用取得的参考关系信息分别包含的参考位置信息,由此,能够容易地确定参考已决定的参考块图像的多个编码块图像。
在此,也可以是,上述确定单元将解码位置信息与上述提取出的参考位置信息分别对应起来生成上述参考列表,其中,上述解码位置信息表示包含编码块图像的编码帧图像和该编码帧图像内的该编码块图像的位置,上述编码块图像包含具有上述参考位置信息的参考关系信息,并且,上述确定单元从生成的上述参考列表中,取得表示以上述参考块图像内作为参考区域的上述多个参考位置信息,确定与取得的多个参考位置信息分别对应的解码位置信息,由此确定上述多个编码块图像。
根据上述结构,解码装置使用参考列表确定参考已决定的参考块图像的多个解码位置信息,由此,能够容易地确定多个编码块图像。
在此,也可以是,上述解码单元对由上述确定单元确定的解码位置信息分别所示的编码块图像分别依次进行解码。
根据上述结构,解码装置使用已确定的多个解码位置信息,由此,能够容易地确定解码对象。
在此,也可以是,上述确定单元对于上述帧图像内的全部参考块图像重复多个编码块图像的确定。
根据上述结构,解码装置在1个帧图像中,能够针对该帧图像包含的各个参考块图像,确定参考该参考块图像的多个编码块图像。
在此,也可以是,上述确定单元对于上述参考列表包含的参考位置信息分别进行分类,使得表示参考区域包含在同一参考块图像中的多个参考位置信息属于同一组。
根据上述结构,解码装置进行参考列表内的重新排列,由此,能够容易地进行上述多个编码块图像的确定。
在此,也可以是,上述确定单元根据上述参考列表包含的多个参考位置信息所示的各个参考位置,计算包含由该参考位置确定的参考区域在内的参考块图像的块序号,按照计算出的块序号的顺序,进行由上述参考位置信息和与之对应的解码位置信息构成的组的重新排列。
根据上述结构,解码装置使用计算出的多个开始位置,由此,能够容易地进行上述参考列表的重新排列。
在此,也可以是,上述参考位置由表示帧图像中的第1轴上的位置的第1位置信息和表示与上述第1轴正交的第2轴上的位置的第2位置信息构成,上述块图像确定部根据由上述第1坐标和上述第2坐标所示的坐标点,计算包含该坐标点的参考块图像的块序号。
根据上述结构,解码装置能够根据作为帧图像上的坐标(第1位置信息和第2位置信息构成的组)给出的位置信息,确定参考块图像的开始位置。
在此,也可以是,上述解码单元参考上述参考块图像,对上述确定的多个编码块图像连续地进行解码。
根据上述结构,解码装置能够通过控制单元,使用存储在高速缓冲存储器中的参考块图像,对已确定的多个编码块图像连续地进行解码。即,解码装置通过仅读取一次参考块图像,就能够对参考读取的参考块图像的全部编码块图像进行解码。
在此,也可以是,上述编码块图像分别包含表示再现时的再现顺序的再现信息,上述解码单元对于上述确定的多个编码块图像的每一个,根据再现信息所示的再现顺序,对上述确定的多个编码块图像分别进行解码。
根据上述结构,解码装置能够根据读取顺序,对上述确定单元确定的多个编码块图像分别进行解码。
在此,也可以是,上述解码装置还具有控制单元,上述控制单元进行控制,使得在上述解码后的1个帧图像中,按照由上述确定单元确定的多个编码块图像的每一个,重复上述存储单元和上述解码单元各自的动作,上述存储单元在由上述解码单元对上述多个编码块图像进行解码后,利用上述控制单元从上述1个帧图像中取得其它参考块图像,上述解码单元在对上述多个编码块图像进行解码后,利用上述控制单元对以上述其它参考块图像作为参考目标的多个编码块图像进行解码,上述控制单元进行控制,使得在到上述解码单元将上述帧图像包含的全部参考块图像用于解码处理为止的期间,重复上述存储单元和上述解码单元的动作。
根据上述结构,解码装置能够按照上述帧图像包含的1个以上的每个参考块图像,对参考1个帧图像的全部编码块图像进行解码。由此,解码装置能够有效地利用高速缓冲存储器内的数据(参考块图像)。
在此,也可以是,上述编码串包含不参考其它帧图像而被编码的至少一个帧内(intra)编码帧图像和参考其他帧图像而被编码的多个非帧内(non-intra)编码帧图像,上述解码单元还对1个帧内编码帧图像进行解码来生成帧图像,作为针对上述编码串的最初的解码处理,上述存储单元、上述解码单元以及上述控制单元对参考上述帧图像的全部非帧内编码帧图像进行解码,作为针对上述多个非帧内编码帧图像的最初的解码。
根据上述结构,解码装置最初对帧内编码帧图像进行解码,由此,能够对参考已根据该帧内编码帧图像被解码的帧图像的编码块图像进行解码,对参考该帧图像的编码帧图像进行解码。
附图说明
图1是表示解码处理系统1的结构的框图。
图2是说明本发明的GOP(Group Of Picture:图片组)中包含的数据的组的图。
图3是表示MPEG数据流的数据构造的一例的图。
图4是表示参考位置信息表T100和索引信息表T200的数据构造的一例的图。
图5是表示排序表T300的数据构造的一例的图。
图6是表示解码处理部204的结构的框图。
图7是表示解码用半导体装置10的动作的流程图。
图8是表示MB解码处理的动作的流程图,下接图9。
图9是表示MB解码处理的动作的流程图,上接图8。
图10是表示MPEG数据中的图片间的运动补偿处理时的参考关系的图。
图11是表示本发明的MPEG数据的解码顺序的图。
图12是表示CPU100不需要为了参考而再次向主存储器30存取从主存储器30已读取的信息的情况的图。
图13是表示能重复利用存储在高速缓冲存储器101中的信息的情况的图。
图14是表示在现有技术中MPEG2方式的图片的存储顺序、解码顺序以及输出顺序的图。
符号说明
1:解码处理系统;10:解码用半导体装置;20:外部存储装置;30:主存储器;30:再次主存储器;40:显示装置;100:CPU;101:高速缓冲存储器;200:应用部;201:GOP读取部;202:参考MB信息取得部;203:排序处理部;204:解码处理部;250:解码处理控制部;251:图片组选择部;252:参考MB读取部;253:MB解码处理部。
具体实施方式
1.第1实施方式
说明作为本发明的第1实施方式的解码处理系统1。
解码处理系统1如图1所示,包括解码用半导体装置10、外部存储装置20、主存储器30以及显示装置40。
在此,具体地说,解码处理系统1是对压缩编码后的图像进行解码的解码装置。显示装置40如上所述可以安装到解码装置中,或者,显示装置40也可以是与解码装置分开的装置而通过专用线与解码装置连接。此外,外部存储装置20同样可以安装到解码装置中,或者,也可以作为与解码装置分开的装置而通过专用线与解码装置连接。
外部存储装置20存储有MPEG数据。具体地说,外部存储装置20是HDD或CD/DVD等。
主存储器30具有在进行MPEG数据的解码时存储解码对象的MPEG数据和解码后的图像数据的区域。
解码用半导体装置10根据MPEG数据的解码处理程序,对存储在外部存储装置20中的MPEG数据进行解码,生成图像数据。此外,解码用半导体装置10针对解码后的图像数据进行格式转换,使得能够由显示装置40进行显示,并将其结果转送给显示装置40。
显示装置40显示格式转换后的图像。
在本发明的MPEG数据流的解码处理中,可至少包含1GOP(Group OfPicture:属于GOP头间的预定幅数的图片的集合)以上的图片组,将能够仅参考构成预定单位的全部图片包含在同一预定单位内的图片组进行解码的图片的集合作为本发明的GOP单位来处理。
在此,使用图2说明本发明的GOP单位。图2按照图片的排列从上到下的顺序表示编码顺序、解码/传送顺序以及显示顺序。在解码/传送顺序示出的3种虚线表示从参考源的图片到参考目标的图片的方向。例如,表示出P1(或者P1中的预定的宏块)参考I1的预定像素值进行解码。此外,例如B3、B4按照解码/传送的顺序位于I1和P1的后方,按照编码的顺序和显示的顺序位于I1的后方且P1的前方,因此,这些图片(或者这些图片中的预定的宏块)表示通过进行前方和后方的双向的参考来进行解码。
在此,在本发明中定义的GOP表示在图2所示的以往的GOP单位即GOP(i)、GOP(i+1)以及GOP(i+2)中,按照显示顺序表示的阴影部分(GOP(i+1)以及GOP(i+2))。
因此,由于从前一个或者后一个GOP中包含的例如B图片起参考,从而在GOP(i+2)的B图片参考GOP(i+1)的P图片的情况下,GOP(i+1)和GOP(i+2)成为本发明的1个GOP单位。在此,将像GOP(i+2)那样包括参考之前的GOP中的图片进行解码、或者参考之后的GOP中的图片进行解码的图片在内的GOP称作OpenGOP。
此外,相反地,由于GOP(i)和GOP(i+1)没有参考关系,因此,GOP(i)和GOP(i+1)不构成本发明的1个GOP。
另外,在本发明中,像图2的由解码/传送顺序示出的GOP(i+1)中的图片Pn那样,将包括越过近前的图片P2而参考远方的图片P1进行解码那样的图片在内的编码串也作为解码处理的对象。
在此,说明MPEG数据流的数据构造的一例。另外,以下有时将宏块仅标记成MB。
MPEG数据流D100如图3所示,包括帧类别D101、宏块信息(MB0)D110、宏块信息(MB1)D110a、宏块信息(MB2)D110b、…、宏块信息(MBn)D110n、…。帧类别D101、宏块信息(MB0)D110、D110a、D110b、…、D110n、…被编码。
帧类别D101是识别MPEG数据流D100的帧(I图片、B图片、P图片)的信息。
此外,宏块信息(MB0)D110由运动矢量信息D120和差分信息D121构成。运动矢量信息D120是表示解码处理时参考的图片的宏块内的位置的信息,利用相对于图片的帧表示水平方向的位置的X坐标以及表示垂直方向的位置的Y坐标来表示。差分信息是为了不参考其它图片进行解码而需要的信息。即,在解码对象的宏块中,当仅使用差分信息进行解码时,生成由除了应参考的图片数据以外的其它图像数据构成的图片。
宏块通常由16像素×16像素构成。此外,通常在使用运动矢量的解码处理中,从运动矢量信息所示的位置起使用16像素×16像素的宏块。
另外,宏块信息(MB1)D110a、宏块信息(MB2)D110b、…、宏块信息(MBn)D110n的数据构造与宏块信息(MB0)D110相同,因而在此省略说明。
1.1解码用半导体装置10的结构
解码用半导体装置10如图1所示,包括CPU100和应用部200。
(1)CPU100
CPU100如图1所示,具有高速缓冲存储器101。高速缓冲存储器101是被设计成虽然与主存储器30相比容量较少但能非常高速地进行存取的存储器。
CPU100构成计算机系统,读入存储在应用部200中的程序,通过使读入的程序和硬件资源协作来实现功能。
CPU100在对MPEG数据进行解码时从外部存储装置20以GOP为单位读取1个以上的MPEG数据,将读取的GOP中包含的1个以上的MPEG数据存储到主存储器30。
CPU100读取存储在主存储器30中的MPEG数据,进行读取的数据的解码,将解码后的图像数据存储到主存储器30。
CPU100从主存储器30读取解码时参考的数据,将读取的数据存储到高速缓冲存储器101。在此,CPU100从主存储器30读取解码对象的图片参考的、即包括相当于由运动矢量指示的宏块的区域在内的通常4个宏块,将读取的4个宏块存储到高速缓冲存储器101。另外,以下将读取的4个宏块也称作参考块图像。
CPU100在连续对相同的数据进行存取的情况下,不是每当存取时从主存储器30取得数据,而是通过利用存储在CPU100内的高速缓冲存储器101中的数据,减少对主存储器30的存取,能够更高速地进行处理(称作高速缓冲命中)。不过,CPU100存取的数据被依次存储到高速缓冲存储器101,因此,即使在对相同的数据进行存取的情况下,有时在对别的数据进行存取后试着再次对该数据进行存取时,在高速缓冲存储器101中已经不存在该数据(称作高速缓冲错误)。在该情况下,CPU100再次对主存储器30进行存取而取得数据,将取得的数据存储到高速缓冲存储器101。
(2)应用部200
应用部200是应用程序和硬件协作的具体单元,如图1所示,具有GOP读取部201、参考MB信息取得部202、排序处理部203以及解码处理部204。
(2-1)GOP读取部201
GOP读取部201在MPEG数据的解码处理开始时、以及从解码处理部204接收到表示进行MPEG数据流的读取的读取指示的情况下,以上述本发明的GOP为单位,从外部存储装置20读取MPEG数据流,将读取的GOP存储到主存储器30。
GOP读取部201在GOP的存储完成时,将表示进行已存储的GOP中包含的1个以上的图片的解析的解析指示通知给参考MB信息取得部202。
GOP读取部201在接收到表示针对从解码处理部204取得的GOP的解码已完成的GOP解码完成通知时,判断是否存在未读取的MPEG数据流。当判断为存在未读取的MPEG数据流的情况下,GOP读取部201读取下一个GOP,进行上述动作。当判断为不存在的情况下,GOP读取部201结束处理。
(2-2)参考MB信息取得部202
参考MB信息取得部202当从GOP读取部201接收到解析指示时,进行以下动作。
参考MB信息取得部202针对存储在主存储器30中的GOP中包含的1个以上的MPEG数据流的每一个,依次检查MPEG数据流的帧类别是表示I图片、P图片、B图片的哪一个。此时,通常帧类别已被编码,因此,参考MB信息取得部202对帧类别进行解码来检查作为解析对象的MPEG数据流的帧类别(I图片、P图片、B图片)。
在作为解析对象的MPEG数据流的帧类别是P图片和B图片的任意一个的情况下,参考MB信息取得部202按照作为解析对象的MPEG数据流(以下称作“解析对象图片”)中包含的宏块数据(以下称作“解析对象MB”)提取运动矢量信息,使用提取出的运动矢量,确定参考的图片(参考图片)和在该图片中参考的位置(参考位置)。此时,通常运动矢量信息被编码,因此,参考MB信息取得部202对运动矢量信息进行解码并确定解析对象MB参考的参考图片和参考位置。另外,解析对象MB参考的参考图片可以是被指定成以MB为单位的图片,也可以是根据在包含MB的片头中记述的值被导出的图片。
参考图片的确定方法与以往相同,因此,在此省略说明。在此,参考位置的确定也与以往相同,使用运动矢量来确定参考位置的X坐标和Y坐标。由此,能够将参考位置作为基准,确定在解码处理时的参考中使用的图像区域(从参考位置起16像素×16像素的宏块)。此时,参考MB信息取得部202按照每个参考图片生成图4(a)所示的参考位置信息表T100。参考位置信息表T100具有用于存储1个以上的由MB序号、X坐标以及Y坐标构成的组的区域。MB序号表示识别解析对象MB的序号。X坐标表示在参考图片中参考位置的水平方向,Y坐标表示在参考图片中参考位置的垂直方向。此外,在X坐标和Y坐标中,“-”表示没有应参考的位置,即,表示由MB序号表示的解析对象MB不参考参考图片的宏块而进行解码。以下将由MB序号、X坐标以及Y坐标构成的组称作参考MB信息。即,参考MB信息取得部202通过确定参考图片和参考位置,能够取得参考图片的信息和1个以上的参考MB信息。
此外,参考MB信息取得部202在解析对象图片是P图片和B图片的任意一个的情况下,还对解析对象图片中的各个解析对象MB(宏块信息)中包含的差分信息分别附加索引,按照每个解析对象图片,生成图4(b)所示的索引信息表T200。索引信息表T200具有用于存储1个以上的由MB序号、索引信息以及数据起始位置信息构成的组的区域。MB序号表示识别解析对象MB的序号。索引信息表示对解析对象MB中包含的差分信息附加的索引。数据起始位置信息是表示附加有索引信息所示的索引的差分信息的起始位置的信息。
参考MB信息取得部202在GOP中包含的全部MPEG数据流的解析完成时,将生成的指示1个以上的参考位置信息表的排序的排序指示通知给排序处理部203。
另外,在解析对象图片是B图片的情况下,参考的图片有2个,因此,参考MB信息取得部202需要生成针对各个参考图片的参考位置信息表。即,参考MB信息取得部202在解析对象图片是B图片的情况下,生成2个参考位置信息表和1个索引信息表。
(2-3)排序处理部203
排序处理部203在从参考MB信息取得部202接收到排序指示时,针对参考MB信息取得部202生成的1个以上的参考位置信息表,按照每个由参考位置信息表确定的参考图片,生成图5所示的排序表T300。另外,作为一例,图5所示的排序表T300是将参考图片设为图2所示的I图片“I1”的表。
排序表T300具有用于存储1个以上的由参考图片、X坐标、Y坐标、解码图片、解码对象MB以及索引信息构成的组的区域。
参考图片表示解码处理时参考的图片。X坐标表示在参考图片中参考位置的水平方向,Y坐标表示在参考图片中参考位置的垂直方向。
解码图片表示使用参考图片进行解码的MPEG数据流(以下称作“解码对象数据”)。
解码对象MB表示解码对象数据(即解码对象的MPEG数据流)中包含的1个以上的宏块中成为解码对象的宏块信息。例如,解码对象MB(x,y)表示在解码后的图片中位于水平方向“x”、垂直方向“y”的宏块。在此,解码对象MB(x,y)与形成对应的解码图片的MPEG数据流中包含的宏块信息一对一地对应起来。例如,解码对象MB(0,0)与宏块信息MB0对应起来。
索引信息表示在解码处理时对由解码对象MB表示的宏块信息中包含的差分信息附加的索引。
另外,将由参考图片、X坐标、Y坐标、解码图片、解码对象MB以及索引信息构成的信息称作解码处理信息。
排序处理部203在生成排序表T300时,将“Key=int(Y/16)×120+int(X/16)”作为关键字,对排序表的信息进行排序。在此,X、Y分别是解码处理信息中包含的X坐标和Y坐标的值。
排序处理部203在针对每个参考图片的排序表的生成完成时,将表示进行解码处理的解码指示通知给解码处理部204。
上述所示的计算式“Key”是计算包含参考位置的宏块的MBA(MacroBlock Address:宏块地址)的运算式。
排序处理部203按照每个参考块图像,确定1个以上的将该参考块图像作为参考目标的解码图片和该解码对象MB,通过排序进行重新排序,使得确定的1个以上的解码图片和该解码对象MB连续。排序处理部203相当于本发明的确定单元。
针对排序表的生成,以下说明具体的动作。
处理(1):排序处理部203首先选择1个以上的参考图片中的尚未生成排序表的1个参考图片。
处理(2):排序处理部203针对选择出的1个参考图片,生成排序前的排序表。排序处理部203在生成的排序前的排序表中,针对该排序表内的解码处理信息中包含的由X坐标和Y坐标构成的组分别实施计算式“Key”,计算各个解码处理信息中包含的解码图片及其解码对象MB各自的参考块图像的MBA。
处理(3):针对在处理(2)中计算出的1个以上的MBA,排序处理部203选择表示尚未选择的值中最小的值的MBA,即,排序处理部203选择1个参考块图像。排序处理部203确定利用上述计算式计算与选择出的MBA相同的值的、包括由X坐标和Y坐标构成的组的1个以上的解码处理信息。即,排序处理部203确定由将决定的参考块图像作为参考目标的解码图片及其解码对象MB构成的1个以上的组。
处理(4):排序处理部203进行排序表的重新排序,使得确定的1个以上的解码处理信息连续。
处理(5):排序处理部203在到选择了由1个以上的MBA分别表示的全部值为止的期间,重复处理(3)、(4),生成针对在处理(1)中选择出的参考图片的排序后的排序表。
处理(6):排序处理部通过重复处理(1)~(5),生成针对全部参考图片的排序后的排序表。
(2-4)解码处理部204
解码处理部204如图6所示,包括解码处理控制部250、图片组选择部251、参考MB读取部252以及MB解码处理部253。
(解码处理控制部250)
解码处理控制部250在从排序处理部203接收到解码指示时,从存储在主存储器30的GOP中取得1个MPEG数据流,判断取得的MPEG数据流的帧类别是否是I图片。此时,通常帧类别被编码,因此,解码处理控制部250对帧类别进行解码并对取得的MPEG数据流的帧类别进行检查。
在判断为是I图片的情况下,解码处理控制部250将指示I图片的解码的I图片解码指示通知给MB解码处理部253。
在判断为不是I图片的情况下,解码处理控制部250判断是否存在取得的MPEG数据流所参考的、且完成解码的I图片或者P图片。在判断为存在的情况下,解码处理控制部250决定参考的图片,取得已决定的参考图片,将指示对参考已取得的参考图片的图片组进行选择的选择指示通知给图片组选择部251。
在判断为不存在被参考且完成解码的I图片和P图片的情况下,解码处理控制部250从存储在主存储器30的GOP中取得未取得的1个MPEG数据流,进行上述动作。
解码处理控制部250在从MB解码处理部253接收到表示I图片的解码已完成的第1解码完成通知、或者从图片组选择部251接收到表示使用参考图片的解码已完成的第2解码完成通知时,判断GOP内的全部图片的解码是否已完成。在判断为解码已完成的情况下,解码处理控制部250结束处理,在判断为解码没有完成的情况下,从存储在主存储器30的GOP中取得未取得的1个图片,进行上述动作。
另外,解码处理控制部250在处理完成时将GOP解码完成通知通知给GOP读取部201。
在此,“I图片的解码”是指“针对帧类别是I图片的MPEG数据流的解码”。
(图片组选择部251)
图片组选择部251在从解码处理控制部250接收到选择指示时,使用由排序处理部203生成的1个以上的排序表中的、针对解码处理控制部250取得的参考图片的排序表,选择包含参考位置的宏块是同一宏块且参考包括同一宏块的4个宏块的图片组。在此,图片组是指由存储在主存储器30的GOP中包含的1个以上的MPEG数据流构成的集合。例如,图片组选择部251使用上述所示的计算式“Key”,计算包含参考位置的宏块的MBA,取得1个以上的计算出的MBA相同的解码处理信息,从而选择上述图片组。
图片组选择部251在取得1个以上的解码处理信息时,将表示取得4个宏块的参考MB读取指示通知给参考MB读取部252。
图片组选择部251在从MB解码处理部253接收到表示通过参考宏块已完成解码处理的第3解码完成通知时,判断在参考图片中是否存在参考其它宏块的图片组。
在判断为存在的情况下,图片组选择部251取得参考其它宏块的图片组,进行上述动作。
在判断为不存在的情况下,图片组选择部251将表示不参考宏块而进行解码的帧内MB解码指示通知给MB解码处理部253。
以下,也可以将参考宏块进行解码的解码对象的宏块称作非帧内(non-intra)MB,此外,有时将不参考其它宏块而进行解码的解码对象的宏块称作帧内(intra)MB。
在此,以下使用图5所示的排序表T300表示取得解码处理信息的一例。
图片组选择部251使用解码处理信息T301中包含的X坐标和Y坐标的各值计算“Key”。在该情况下,Key=0。此时,要注意通过计算出的Key值参考的宏块的开始序号已被决定。
图片组选择部251取得包含能够计算出与计算出的Key值相同的值的X坐标和Y坐标的各值在内的其它解码处理信息,在该情况下,取得解码处理信息T302、T303。
通过这些动作,图片组选择部251能够取得解码处理信息T301、T302以及T303。
当使用解码处理信息T301、T302以及T303的解码处理完成时,图片组选择部251接着使用解码处理信息T304中包含的X坐标和Y坐标的各值计算“Key”,进行上述动作。
通过针对排序表T300中包含的全部解码处理信息进行这些动作,使用参考图片“I1”的解码处理完成。
(参考MB读取部252)
参考MB读取部252在从图片组选择部251接收到参考MB读取指示时,从主存储器30读取包含由“Key”值确定的宏块的MBA所示的宏块在内的4个宏块,将读取的4个宏块存储到高速缓冲存储器101,其中,上述“Key”值是在图片组选择部251取得1个以上的解码处理信息时使用的。
参考MB读取部252将表示进行MB解码的MB解码指示通知给MB解码处理部253。
例如,在由取得1个以上的解码处理信息时使用的“Key”值确定的宏块的MBA(Macro Block Address)是(k,1)的情况下,参考MB读取部252从主存储器30读取MBA是(k,1)、(k+1,1)、(k,1+1)、(k+1,1+1)的4个宏块,将读取的4个宏块存储到高速缓冲存储器101。
(MB解码处理部253)
MB解码处理部253在从解码处理控制部250接收到I图片解码指示时,根据由解码处理控制部250取得的MPEG数据流(帧类别是“I图片”)中包含的全部宏块信息,进行对应于各个宏块信息的宏块的解码。在I图片的解码完成时,将第1解码完成通知通知给解码处理控制部250。此时,解码后的I图片(图像数据)被存储到主存储器30。在此,“对宏块进行解码”是指“对编码后的宏块进行解码”。此外,编码后的宏块的解码有2种方法。一种是使用运动矢量和差分信息的解码,另一种是仅使用差分信息的解码。
MB解码处理部253在从参考MB读取部252接收到MB解码指示时,在由图片组选择部251选择出的图片组中,使用存储在高速缓冲存储器101中的4个MB,依次进行图片组选择部251取得的1个以上的解码处理信息所示的全部宏块的解码。例如,在图片组选择部251取得图5所示的解码处理信息T301、T302以及T303的情况下,MB解码处理部253首先选择解码处理信息T301,使用选择出的解码处理信息T301所示的宏块信息,对与上述宏块信息对应的宏块进行解码。接着,MB解码处理部253选择解码处理信息T302,使用选择出的解码处理信息T302所示的宏块信息,对与上述宏块信息对应的宏块进行解码。在使用解码处理信息T302所示的宏块信息进行解码之后,MB解码处理部253选择解码处理信息T303,使用选择出的解码处理信息T303所示的宏块信息,对与上述宏块信息对应的宏块进行解码。
此时,MB解码处理部253确定与选择出的解码处理信息中包含的索引信息所示的索引对应的数据的起始位置,从而取得成为解码对象的宏块信息中包含的差分信息。MB解码处理部253与现有技术相同,针对取得的差分信息(如上所述已被编码),实施可变长度解码、反量化、逆DCT以及运动补偿的各个处理,从而进行宏块的解码。MB解码处理部253能够从高速缓冲存储器101读取解码处理信息中包含的X坐标和Y坐标所示的宏块,在通过逆DCT恢复的像素空间数据中增加读取的宏块,从而对1个宏块进行解码。
MB解码处理部253在与图片组选择部251取得的1个以上的解码处理信息所示的全部宏块信息分别对应的宏块的解码完成时,将第3解码完成通知通知给图片组选择部251。
MB解码处理部253在从图片组选择部251接收到帧内MB解码指示时,判断在由解码处理控制部250取得的参考参考图片的1个以上的MPEG数据流中,除了已经用于解码的宏块信息以外是否还存在表示帧内MB的宏块信息。
在判断为存在表示帧内MB的宏块信息的情况下,MB解码处理部253对参考参考图片的1个以上的MPEG数据流中包含的全部帧内MB进行解码。
此时,MB解码处理部253与现有技术相同,针对宏块信息中包含的差分信息实施可变长度解码、反量化以及逆DCT的各个处理,从而进行帧内MB的解码。
在判断为不存在表示帧内MB的宏块信息的情况下、以及全部帧内MB的解码完成的情况下,MB解码处理部253将第2解码完成通知通知给解码处理控制部250。
1.2解码处理系统1的动作
(1)解码用半导体装置10的动作
在此,使用图7所示的流程图说明解码用半导体装置10的动作。
GOP读取部201以GOP为单位读取存储在外部存储装置20中的MPEG数据流,存储到主存储器30(步骤S5)。
GOP读取部201判断在主存储器30中是否已经完成至少1个GOP的存储(步骤S10)。
在判断为没有完成的情况下(步骤S10中的“否”),GOP读取部201返回步骤S5。
在判断为已经完成的情况下(步骤S10中的“是”),GOP读取部201将解析指示通知给参考MB信息取得部202,参考MB信息取得部202从GOP读取部201接收解析指示。参考MB信息取得部202取得存储在主存储器30中的GOP中包含的1个MPEG数据流(步骤S15)。
参考MB信息取得部202判断取得的MPEG数据流的帧类别是否是P图片或者B图片。
在判断为帧类别是P图片或者B图片的情况下(步骤S20中的“是”),参考MB信息取得部202从取得的MPEG数据流中包含的1个以上的宏块信息中取得参考MB信息,生成针对取得的MPEG数据流的参考位置信息表(步骤S25)。此外,此时,参考MB信息取得部202按照每个取得的MPEG数据流(帧类别是P图片或者B图片),生成索引信息表。
在判断为取得的MPEG数据流的帧类别既不是P图片也不是B图片、即是I图片的情况下(步骤S20中的“否”),或者生成参考位置信息表后,参考MB信息取得部202判断取得的MPEG数据流是否是GOP中的最后的数据(步骤S30)。
在判断为不是最后的数据的情况下(步骤S30中的“否”),参考MB信息取得部202返回步骤S15。
在判断为是最后的数据的情况下(步骤S30中的“是”),参考MB信息取得部202将排序指示通知给排序处理部203,排序处理部203从参考MB信息取得部202接收排序指示。排序处理部203针对参考MB信息取得部202生成的1个以上的参考位置信息表,按照由参考位置信息表确定的每个参考图片生成排序表,由此针对参考的MB对参考关系进行排序(步骤S35)。
排序处理部203当按照每个参考图片完成排序表的生成时,将解码指示通知给解码处理部204,解码处理部204从排序处理部203接收解码指示。
解码处理部204进行MB解码处理,进行GOP中包含的全部MPEG数据流的解码(步骤S40)。
解码处理部204当MB解码处理完成时,将GOP解码完成通知通知给GOP读取部201,GOP读取部201从解码处理部204接收GOP解码完成通知。GOP读取部201判断是否存在未读取的MPEG数据流、即MPEG数据流的读入是否已结束(步骤S45)。在判断为读入尚未结束的情况下(步骤S45中的“否”),GOP读取部201返回步骤S5。在判断为已结束的情况下(步骤S45中的“是”),GOP读取部201结束处理。
(2)MB解码处理
在此,使用图8和图9所示的流程图说明图7的步骤S40所示的MB解码处理。
解码处理控制部250当从排序处理部203接收到解码指示时,从存储在主存储器30的GOP中取得1个MPEG数据流(步骤S100),判断取得的MPEG数据流的帧类别是否是I图片(步骤S105)。
在判断为帧类别是I图片的情况下(步骤S105中的“是”),解码处理控制部250将I图片解码指示通知给MB解码处理部253。MB解码处理部253当从解码处理控制部250接收到I图片解码指示时,对由解码处理控制部250取得的MPEG数据流(帧类别是I图片)中包含的全部宏块信息分别进行宏块的解码(步骤S110)。
MB解码处理部253当I图片的解码完成时,将第1解码完成通知通知给解码处理控制部250。此时,将解码后的I图片(图像数据)存储到主存储器30。
解码处理控制部250当从MB解码处理部253接收到第1解码完成通知时,判断GOP内的全部MPEG数据流的解码是否已完成(步骤S115)。在判断为解码已完成的情况下(步骤S115中的“是”),解码处理控制部250结束处理。在判断为解码尚未完成的情况下(步骤S115中的“否”),解码处理控制部250返回步骤S100。另外,解码处理控制部250在处理结束时将GOP解码完成通知通知给GOP读取部201。
在判断为取得的MPEG数据流的帧类别不是I图片的情况下(步骤S105中的“否”),解码处理控制部250判断是否存在取得的MPEG数据流所参考的、且完成解码的I图片或者P图片(步骤S120)。
在判断为不存在的情况下(步骤S120中的“否”),解码处理控制部250返回步骤S100。
在判断为存在的情况下(步骤S120中的“是”),解码处理控制部250决定参考的图片,取得已决定的参考图片(步骤S125)。
解码处理控制部250将选择指示通知给图片组选择部251,图片组选择部251从解码处理控制部250接收选择指示。图片组选择部251使用由排序处理部203生成的1个以上的排序表中的、针对解码处理控制部250取得的参考图片的排序表,选择包含参考位置的宏块是同一宏块、且参考包括同一宏块的4个宏块的图片组(步骤S130)。例如,图片组选择部251使用上述所示的计算式“Key”,计算包含参考位置的宏块的MBA,取得1个以上的计算出的MBA相同的解码处理信息,由此选择上述图片组。
图片组选择部251当取得1个以上的解码处理信息时,将参考MB读取指示通知给参考MB读取部252。参考MB读取部252当从图片组选择部251接收到参考MB读取指示时,从主存储器30读取包含由“Key”值确定的宏块的MBA所示的宏块在内的4个宏块,将读取的4个宏块存储到高速缓冲存储器101,其中,上述“Key”值是在图片组选择部251取得1个以上的解码处理信息时使用的(步骤S135)。
参考MB读取部252将MB解码指示通知给MB解码处理部253。MB解码处理部253当从参考MB读取部252接收到MB解码指示时,在由图片组选择部251选择出的图片组中,使用存储在高速缓冲存储器101的4个MB,依次进行图片组选择部251取得的1个以上的解码处理信息所示的全部宏块的解码(步骤S140)。
MB解码处理部253当图片组选择部251取得的1个以上的解码处理信息所示的全部宏块的解码完成时,将第3解码完成通知通知给图片组选择部251。图片组选择部251当从MB解码处理部253接收到第3解码完成通知时,在参考图片中,判断是否存在参考其它宏块的图片组,即,判断已取得的参考参考图片的全部非帧内MB的解码是否已完成(步骤S145)。
在判断为存在参考其它宏块的图片组、即参考参考图片的全部非帧内MB的解码尚未完成的情况下(步骤S145中的“否”),图片组选择部251返回步骤S135,取得参考其它宏块的图片组,进行以后的动作。
在判断为不存在参考其它宏块的图片组、即参考参考图片的全部非帧内MB的解码已完成的情况下(步骤S145中的“是”),图片组选择部251将帧内MB解码指示通知给MB解码处理部253。MB解码处理部253当从图片组选择部251接收到帧内MB解码指示时,判断在由解码处理控制部250取得的参考参考图片的1个以上的MPEG数据流中,除了已经用于解码的宏块信息以外是否还存在表示帧内MB的宏块信息(步骤S150)。
在判断为存在表示帧内MB的宏块信息的情况下(步骤S150中的“是”),MB解码处理部253对参考参考图片的1个以上的MPEG数据流中包含的全部帧内MB进行解码(步骤S155)。
在判断为不存在表示帧内MB的宏块信息的情况下(步骤S150中的“否”)、以及执行步骤S155后,MB解码处理部253将第2解码完成通知通知给解码处理控制部250。
解码处理控制部250当从MB解码处理部253接收到第2解码完成通知时,执行步骤S115,进行这以后的动作。
1.3具体例
(1)参考关系的具体例
在此,使用图10所示的具体例说明参考图片和解码对象图片之间的参考关系。
如图10所示,图片D200是参考图片,是I图片或者P图片的任意一个。图片D210、D211、D212以及D213是解码对象图片,是B图片。此外,D213是解码对象图片,是P图片。
图片D200中的MBA(Macro Block Adress)是(k,1)、(k+1,1)、(k,1+1)、(k+1,1+1)的4个宏块中包含的区域的信息分别被图片D200之前的2个图片D210和图片D211、以及图片D200之后的3个图片D212、图片D213以及图片D214参考,使用参考MB信息取得部202和排序处理部203,得到“分别用于(mb1,nb1)、(mb2,nb2)、(mb3,nb3)、(mb4,nb4)、(mp1,np1)这样的MBA的宏块的解码”这样的信息。
这样,排序处理部203重点针对“参考的宏块”对GOP内的每个宏块的参考关系进行排序。无需在该时刻预先求出各个宏块的具体值,只要宏块间的参考关系、尤其是从参考的宏块来看本身的值被哪个图像的哪个宏块参考变得明确即可。
(2)解码处理的具体例
在此,使用图11所示的具体例说明解码处理的顺序。
图11表示一个GOP中的使用本发明时的解码处理的顺序。
I图片(记作I1)的解码采用与以往相同的方法。接着,进行最初出现的P图片(记作P1)的解码。其顺序与以往相同,但本发明的优点在于,在进行P1的解码的同时,使用I1和P1的信息进行解码的B图片(记作B3、B4)的解码也并行进行。即,可知为了对P1进行解码,在对主存储器进行存取而读取已经完成解码的I1的宏块的信息时,B3、B4的解码处理中也利用该宏块的信息(因为图像间、宏块间的参考关系预先明确),因此,在利用该宏块的信息的B3、B4的宏块解码处理中利用该值。当按照这样的顺序进行解码处理时,对相同的数据连续地进行存取,因而在具有高速缓冲存储器的计算机中大致可靠地进行高速缓冲命中。因此,从主存储器读取在P1、B3、B4这3个图片的解码中使用的I1的信息的次数是1次即可。
在此,在进行当前解码处理的GOP不是Closed GOP的情况下,有时能够使用前一个GOP中包含的图片的信息进行GOP的起始中包含的B图片的解码(在图11中示出这样的情况)。此时,与先前说明的P1、B3、B4这3个图片的解码并行地,GOP的起始的2个B图片B1、B2的解码也同时进行。在B1、B2的解码中可利用前一个GOP中包含的P图片Pp(也可能有I图片的情况)和I1图片的信息。因此,能够并行地进行合计5个图片的解码处理。B1、B2已经被设置成了从Pp得到的信息,因而通过从I1得到信息而结束解码处理。P1也仅从I1得到信息而进行解码处理,因此解码处理完成。
然而,B3、B4当不从P1得到信息时解码处理无法完成,但是P1当前正在进行解码处理,因此,P1的信息处于无法用于解码的状态。因此,仅使用从I1得到的信息在解码处理的中途阶段的状态下临时存储到主存储器。在图11中,表示解码顺序的数字中右上标记有“’”的数字表示双向参考图片中只能取得一方信息的状态。
接着,使用P1进行B3、B4、B5、B6、P2的解码。对于B3、B4,由于已经取得用于双向预测的I1的信息,因而在取得来自P1的信息的时刻完成解码。由于P2仅参考P1,因而通过取得来自P1的信息,可进行解码。由于B5、B6是双向预测,因而P1和P2的信息是解码所需要的,但是由于P2的解码尚未完成,因而与进行B1、B2、P1的解码时相同,仅将从P1得到的信息用于解码(顺序的序号是“3’”)。此时也决定以P1的被参考的宏块为基准进行解码处理的区域,依次进行解码处理,从而参考的完成解码的P1的宏块的信息只进行1次存储器存取即可(因为不产生高速缓冲错误)。
以下同样地,对于GOP内的全部图片(即MPEG数据流)进行与上述相同的处理,由此,对于各个宏块(被参考的宏块),能够只进行1次用于取得P图片、B图片的解码时参考的宏块的存储器存取(因为第2次以后能够从高速缓冲存储器得到)。
对于GOP的全部图片(MPEG数据流)完成解码处理后,依次从主存储器读取完成解码的图片,转送到显示装置。另外,向显示装置的转送不需要等待GOP的全部图片的解码,也可以依次将已不需要被参考的完成解码的图片转送到显示装置。此外,为了在显示装置上进行显示,有时需要进行格式转换或扫描转换等处理。在该情况下(一般地)在CPU100中进行上述处理后转送到显示装置。
由以上说明可知P1与B1、B2同时完成解码处理。另外,关于P图片、B图片的帧内宏块的解码定时,只要在用于参考或者显示的输出之前完成即可。
本发明预先使用参考MB信息取得部202和排序处理部203,在明确图片间、宏块间的参考关系后开始解码处理,因而能够连续地进行可将为了参考而读取的宏块用于解码处理的图片、宏块的解码,因此,连续地对相同的数据(为了参考而读取的信息)进行存取,因而与现有方法相比能够提高高速缓冲命中率。
(3)对高速缓冲存储器101的存取的具体例
在此,使用图12和图13所示的具体例说明对高速缓冲存储器101的存取。
图12和图13是用于说明不需要再次对主存储器30存取CPU100为了参考而从主存储器30读取的信息的情况的图。
在图12中,读取参考图片的一部分(4个宏块),存储到高速缓冲存储器101。
此时,解码处理系统1已经使用参考MB信息取得部202和排序处理部203,作为信息而取得可在哪个图片的哪个宏块中利用从主存储器30读取的信息,因而从主存储器30读取相当于利用该信息的图片、宏块的数据流(或者解码中途的图片),进行这些数据的解码处理。
由此,对要参考的全部图片使用曾经读取的参考图片的一部分(4个宏块),因此,可知其后不会为了进行解码处理而再次读取曾经读取的参考图片的一部分。
图13是针对在图12中说明的内容而用于说明可重复利用存储在高速缓冲存储器101中的信息的情况的图。
如上所述,读取参考图片的一部分(4个宏块),存储到高速缓冲存储器101。
此时,解码处理系统1已经使用参考MB信息取得部202和排序处理部203,作为信息而取得可在哪个图片的哪个宏块中利用从主存储器30读取的信息,因而从主存储器30读取相当于利用该信息的图片、宏块的数据流或者解码中途的图片(在此设为解码图片1、2、…、n)。解码处理系统1使用存储在高速缓冲存储器101中的4个宏块,进行针对从主存储器30读取的解码图片1、2、…、n的解码处理。
另外,在图12、图13中,各个解码对象图片的解码中的宏块所利用的参考数据不是彼此完全一致,但需要是可从存储在高速缓冲存储器的4个宏块的信息中提取的信息。
1.4变形例
根据上述实施方式说明了本发明,但是本发明显然不限于上述实施方式。以下的情况也包含在本发明中。
(1)本发明的参考块图像的概念涵盖4个宏块,该4个宏块包括含有参考位置的宏块。
或者,参考块图像也可以由1个宏块构成。即,参考块图像由1个以上的宏块构成。
(2)在上述第1实施方式中,在取得解码处理信息后,将解码时的参考中使用的4个宏块读取到高速缓冲存储器中,但不限于此。
解码处理部也可以在取得解码处理信息前,将解码时的参考中使用的4个宏块读取到高速缓冲存储器中。
在该情况下,解码处理部取得解码处理信息,所述解码处理信息表示参考存储在高速缓冲存储器的4个宏块。
(3)在上述第1实施方式中,在解码时的参考中使用的宏块的个数、即读取到高速缓冲存储器中的宏块的个数为4个,但不限于此。
在解码时的参考中使用的宏块的个数只要是成为包含由运动矢量确定的块在内的尺寸的数量即可。
在上述第1实施方式中,由运动矢量确定的块的尺寸是16像素×16像素,与通常的宏块的尺寸相同,因而可知为了包含由运动矢量确定的块,只要在解码时的参考中使用的宏块的个数是4个就足够了。
(4)在上述第1实施方式中,在P图片、B图片中包含的非帧内宏块的解码后,对帧内宏块进行解码,但不限于此。
也可以先进行帧内宏块的解码,其后进行非帧内宏块的解码。
(5)本申请在并列进行多个压缩后的数据流的解码处理时也有效。基本上采用如下方法:在以数据流的GOP为单位取入主存储器并使参考关系关闭的数据(图片)的解码完成后,开始下一个GOP(该GOP可以是别的数据流的GOP,也可以是同一数据流的GOP)的解码。由此,能够最大限度地提高对主存储器的存取效率。在本申请中没有描述将哪个数据流的GOP取入主存储器进行解码处理,但是将各数据流的帧速率或压缩率等作为参数,只要在再现时不感到不适感则可以是任何的顺序。
(6)在上述第1实施方式中,为了简单,取入主存储器的GOP限定成一个进行了说明,但是也可以根据主存储器的容量将多个GOP取入主存储器,对它们进行并列(或者通过时分处理而在表面上并行地)处理。该方法在同时处理多个数据流时有效。
(7)在上述第1实施方式中,使用基于MPEG格式的动态图像压缩而成的数据流,但不限于此。显然也可以使用MPEG-2/4或H.264这样的动态图像压缩而成的数据流。
此外,要处理的数据不限于动态图像。也能够使用与动态图像中所说的图片相当的、在预定数据的集合之间存在参考关系的数据流(例如声音数据等)。
(8)在上述第1实施方式中,解码处理系统1包括解码用半导体装置10、外部存储装置20、主存储器30以及显示装置40,但不限于此。
也可以在解码处理系统1中追加输入装置,所述输入装置从外部的装置接收MPEG数据流,将接收到的MPEG数据流存储到外部存储装置20。
(9)在上述第1实施方式中,作为图片组选择部251的动作的一例,使用计算式“Key”计算包含参考位置的宏块的MBA,取得1个以上的计算出的MBA相同的解码处理信息,由此选择上述图片组,但不限于此。
图片组选择部251也可以采用如下动作:对解码对象图片的读取顺序进行调度,使得参考同一参考块组(存储在高速缓冲存储器的4个宏块)连续进行使用运动补偿对各个块进行的解码。
例如,读取顺序基于解码对象图片的再现顺序。
此时,MB解码处理部253根据被调度的顺序进行MB的解码处理。
(10)上述第1实施方式中的解码处理系统例如是对被压缩编码的动态图像进行解码并对解码后的动态图像进行再现的解码处理装置。具体地说,解码处理装置是数字电视或DVD播放器等。
即,上述第1实施方式中的解码用半导体装置包含在解码处理装置中。
(11)在上述第1实施方式中,用软件进行MPEG数据流的解码处理,但不限于此。
也可以用专用的硬件进行MPEG数据流的解码处理。
此外,也可以用专用的硬件进行应用部中的GOP读取部、参考MB信息取得部、排序处理部以及解码处理部的各个动作。此外,也可以用专用的硬件进行这些构成要素的一部分动作。
(12)在上述第1实施方式中,解码处理信息包含X坐标和Y坐标,但不限于此。
也可以是解码处理信息包含由X坐标和Y坐标所示的宏块地址来取代X坐标和Y坐标。
在该情况下,宏块地址可以在生成参考位置表时计算,也可以在生成排序表时计算。
或者,也可以用宏块地址表示运动矢量所示的参考位置,来取代用X坐标和Y坐标进行表示。
或者,也可以是参考位置中包含的信息包含宏块地址以及由X坐标和Y坐标构成的组这双方。
(12)本发明也可以是上述所示的方法。此外,既可以是由计算机实现这些方法的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本发明也可以是将上述计算机程序或者上述数字信号记录到计算机可读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc)、半导体存储器等。此外,也可以是这些记录介质中记录的上述计算机程序或者上述数字信号。
此外,本发明也可以是将上述计算机程序或者上述数字信号经由电气通信线路、无线或者有线通信线路、以互联网为代表的网络等进行传送。
此外,本发明也可以是具有微处理器和存储器的计算机系统,上述存储器存储有上述计算机程序,上述微处理器按照上述计算机程序进行动作。
此外,也可以是通过将上述程序或者上述数字信号记录、移送到上述记录介质,或者通过经由上述网络等移送上述程序或者上述数字信号,来由独立的其它计算机系统实施。
(13)构成上述各个装置(解码用半导体装置或解码装置)的构成要素的一部分或者全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是在1个芯片上集成多个结构部而制造出来的超多功能LSI,具体而言,是构成为包含微处理器、ROM、RAM等的计算机系统。上述RAM中存储有计算机程序。通过上述微处理器按照上述计算机程序进行动作,系统LSI实现其功能。
此外,构成上述各个装置(解码用半导体装置或解码装置)的构成要素的各部可以单独地构成1个芯片,也可以包含一部分或者全部地构成1个芯片。
此外,在此取为系统LSI,但有时根据集成度的不同也称作IC、LSI、超级LSI、Ultra LSI。此外,集成电路化的方法不限于LSI,也可以用专用电路或者通用处理器来实现。也可以在制造出LSI之后,利用可编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)、可重构LSI内部的电路单元的连接或设定的可重构处理器。
并且,如果由于半导体技术的进步或者派生的其它技术而出现与LSI置换的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。也有可能适用生物技术等。
(14)也可以是分别组合上述实施方式和上述变形例。
1.5总结
当前,在被广泛采用的CPU中,例如设置在CPU内部的一次高速缓冲是几十KB,设置在CPU外部的二次高速缓冲最大是2MB。一般搭载在面向用户的设备中的CPU或者微机的高速缓冲存储器的容量与上述相比较小,多是一次高速缓冲是几十KB,二次高速缓冲是几百KB。另一方面,MPEG作为处理对象的图像数据(完成解码)在利用一般的MPEG-2的简档被压缩的情况下,成为每个图片700KB左右。该值表示能够在二次高速缓冲中存储一幅到几幅的图片,但是对于今后预计普及的高清晰图像,可预想到在最糟糕的情况下连一幅图片都不能存储的情况。此外,如上所述在B图片的解码中需要至少2幅完成解码的图片,因此,即使仅将一幅图像数据存储在高速缓冲存储器中,也必须对主存储器存取涉及另一幅图片的信息,使用现有的方法也难以提高解码处理整体的处理速度。
但是,本发明中的解码处理的方法是有选择地从主存储器中读取参考被读入高速缓冲存储器的信息的图片、以及相当于宏块的数据流,来进行解码。参考的信息已经存储在高速缓冲存储器中,对其连续地进行存取,因此,不会产生用于取得同一数据而对主存储器的多次存取。因此,通过采用本发明的解码处理的方法,能够提高解码处理整体的处理速度。
此外,在像现有的解码处理那样按照每个图片实施解码处理的情况下,在参考I图片对某个图片(例如P图片)进行解码之后,对别的图片(例如B图片)进行解码时,针对相同的参考图片(I图片),必须再次对主存储器进行存取来取得数据。此时,存取需要的时间一般需要对高速缓冲存储器进行存取而取得数据的存取时间的几倍到几十倍的时间。并且,在该期间,CPU处于在能够取得数据之前什么也不能做的状态,可以说高速缓冲存储器的利用效率对整体性能造成的影响极大。
此外,在专利文献1中,可仅适用于连续的B图片,而不能用于同样需要运动补偿处理的P图片的解码。并且,由于目的在于抑制一组连续的B图片的解码处理中的高速缓冲错误,因而在位于参考的图片前后的多个B图片组之间,很难再次利用高速缓冲存储器内的数据,高速缓冲命中率的提高存在界限。并且,在近年来正在普及的H.264/AVC等利用长GOP的方式中,用于运动补偿的参考数据的设定方法的自由度大幅度扩大,因而在专利文献1所述的方法中,有可能未必提高高速缓冲命中率。
但是,如本发明所示,通过按照连续地对相同的数据进行存取的方式控制算法,能够有效地利用高速缓冲存储器,因此,高速缓冲存储器的利用效率提高,解码处理整体的性能也提高。
此外,根据本发明,抑制对MPEG数据进行解码时的高速缓冲错误,减少对主存储器的存取次数,由此能够进行更高速的解码处理。
在现有技术中,针对参考其它图片进行解码的图片(B图片或者P图片)实施解码处理,直到1个图片(B图片或者P图片)的解码完成为止。但是,在本发明中,不是按照每个图片实施解码处理,而是针对通过参考参考图片而解码的多个图片(B图片或者P图片)交替地实施解码处理,由此能够对上述多个图片进行解码。
此外,本发明还包括以下所示的特征。
(1)本发明提供一种动态图像解码方法,包括内置高速缓冲存储器的运算器和主存储器,其特征在于,在开始存储在上述主存储器中的GOP包含的图片的解码处理之前,预取与上述GOP包含的全部图片的运动补偿相关的信息。
根据该结构,在包含高速缓冲存储器的运算器中连续使用从主存储器读取的数据,因而能够利用存储在运算器内的高速缓冲存储器中的数据(高速缓冲命中),结果,对主存储器的存取减少,由此能够实现解码处理的高效化、高速化。
(2)在此,也可以是,在上述(1)的动态图像解码方法中,上述预取的与运动补偿相关的信息是参考图片和运动矢量,根据上述参考图片和上述运动矢量确定用于运动补偿的图像区域。
(3)在此,也可以是,在上述(2)的动态图像解码方法中,上述用于运动补偿的图像区域的尺寸和参考上述用于运动补偿的图像区域的上述GOP包含的图片的图像区域的尺寸是进行运动补偿处理的块的尺寸。
(4)在此,也可以是,在上述(3)的动态图像解码方法中,设定由包含上述用于运动补偿的图像区域在内的1个以上的块组构成的参考块区域,提取进行参考上述参考块区域的上述GOP包含的全部图片的上述运动补偿的全部块。
(5)在此,也可以是,在上述(4)的动态图像解码方法中,在执行上述GOP包含的图片的解码处理时,对于包含上述用于运动补偿的区域在内的1个以上的块组是相同的、且进行上述GOP包含的全部图片的上述运动补偿的各个块,连续地进行它们的解码。
(6)在此,也可以是,在上述(5)的动态图像解码方法中,以GOP为单位,按照上述每个动态图像交替地执行多个不同的动态图像压缩数据的解码处理。
(7)在此,也可以是,在上述(5)或(6)的动态图像解码方法中,还具有存储动态图像压缩数据的外部存储装置。
(8)在此,也可以是,在上述(5)或(6)的动态图像解码方法中,还具有进行动态图像压缩数据流的输入的数据输入装置。
(9)在此,也可以是,在上述(5)或(6)的动态图像解码方法中,还具有显示解码完成的动态图像数据的显示装置。
(10)此外,本发明提供一种动态图像解码装置,具有:解码单元,对动态图像压缩数据进行解码;高速缓冲存储器单元,内置于上述解码单元;以及主存储器单元,临时存储上述动态图像压缩数据,读取成为上述解码单元指定的解码处理对象的数据,并发送到上述解码单元,其特征在于,具有运动补偿信息预取单元,提取参考图片和运动矢量,作为存储在上述主存储器单元中的GOP包含的全部图片的、与运动补偿相关的信息。
(11)在此,也可以是,在上述(10)的动态图像解码装置中,还具有参考关系排序单元,该参考关系排序单元根据上述参考图片和上述运动矢量确定与进行运动补偿的块相同尺寸的参考图像区域,提取进行参考参考块区域的上述GOP包含的全部图片的上述运动补偿的全部块,上述参考块区域由包含上述参考图像区域的1个以上的块构成。
(12)在此,也可以是,在上述(11)的动态图像解码装置中,还具有调度单元,该调度单元按照上述参考关系排序单元的提取结果,对从上述主存储器单元读取上述动态图像压缩数据的读取顺序进行调度,使得对进行参考同一上述参考块区域的上述GOP包含的全部图片的上述运动补偿的各个块,连续地进行上述解码单元中的解码处理。
工业上的可利用性
本发明能够有经营性地即反复地且持续地用于制造、销售对压缩后的动态图像进行解码的解码用半导体装置的产业中。
此外,本发明涉及的解码用半导体装置作为对MPEG压缩后的AV内容进行视听的数字电视或数字视频播放器等是有用的。此外,还能够应用于移动设备中的行动地面数字视频(One-segment)广播接收机等。

Claims (19)

1.一种解码装置,对将多个帧图像预测编码而成的编码串进行解码,其特征在于,
上述编码串包含多个编码帧图像,各个编码帧图像包含多个编码块图像,至少一部分编码块图像是块图像参考1个参考块图像被预测编码而成的,并且该至少一部分编码块图像包含表示从上述块图像参考该参考块图像的参考关系信息,
上述解码装置具有:
高速缓冲存储器;
取得单元,取得上述编码串;
提取单元,从取得的上述编码串中提取多个参考关系信息;
确定单元,选择1个参考块图像,对于选择出的上述参考块图像,使用提取出的上述多个参考关系信息,从该参考块图像进行逆追溯,确定多个参考源的编码块图像;
存储单元,读取上述参考块图像,将读取的上述参考块图像存储到上述高速缓冲存储器;以及
解码单元,在上述参考块图像本身未被丢弃而保持在上述高速缓冲存储器期间,参考该参考块图像,对确定的上述多个编码块图像进行解码。
2.根据权利要求1所述的解码装置,其特征在于,
上述参考关系信息包含表示参考目标的帧图像的参考帧信息,
上述确定单元从上述多个参考关系信息中包含的上述参考帧信息所示的多个参考目标的帧图像中,选择1个帧图像,从选择出的上述帧图像中选择上述参考块图像。
3.根据权利要求2所述的解码装置,其特征在于,
上述参考关系信息包含表示参考目标的参考块图像内的参考位置的参考位置信息,
上述确定单元针对选择出的上述帧图像,从包含以该帧图像作为参考目标的参考帧信息在内的多个参考关系信息中分别提取参考位置信息,生成由提取出的多个参考位置信息构成的参考列表,从生成的上述参考列表中,确定与以上述参考块图像内作为参考位置的参考位置信息相对应的上述多个编码块图像。
4.根据权利要求3所述的解码装置,其特征在于,
上述确定单元将解码位置信息与上述提取出的参考位置信息分别对应起来生成上述参考列表,其中,上述解码位置信息表示包含编码块图像的编码帧图像和该编码帧图像内的该编码块图像的位置,上述编码块图像包含具有上述参考位置信息的参考关系信息,并且,上述确定单元从生成的上述参考列表中,取得表示以上述参考块图像内作为参考区域的上述多个参考位置信息,确定与取得的多个参考位置信息分别对应的解码位置信息,由此确定上述多个编码块图像。
5.根据权利要求4所述的解码装置,其特征在于,
上述解码单元对由上述确定单元确定的解码位置信息分别所示的编码块图像分别依次进行解码。
6.根据权利要求4所述的解码装置,其特征在于,
上述确定单元对于上述帧图像内的全部参考块图像重复多个编码块图像的确定。
7.根据权利要求5所述的解码装置,其特征在于,
上述确定单元对于上述参考列表包含的参考位置信息分别进行分类,使得表示参考区域包含在同一参考块图像中的多个参考位置信息属于同一组。
8.根据权利要求7所述的解码装置,其特征在于,
上述确定单元根据上述参考列表包含的多个参考位置信息所示的各个参考位置,计算包含由该参考位置确定的参考区域在内的参考块图像的块序号,按照计算出的块序号的顺序,进行由上述参考位置信息和与之对应的解码位置信息构成的组的重新排列。
9.根据权利要求8所述的解码装置,其特征在于,
上述参考位置由表示帧图像中的第1轴上的位置的第1位置信息和表示与上述第1轴正交的第2轴上的位置的第2位置信息构成,
上述块图像确定部根据由上述第1坐标和上述第2坐标所示的坐标点,计算包含该坐标点的参考块图像的块序号。
10.根据权利要求1所述的解码装置,其特征在于,
上述解码单元参考上述参考块图像,对上述确定的多个编码块图像连续地进行解码。
11.根据权利要求10所述的解码装置,其特征在于,
上述编码块图像分别包含表示再现时的再现顺序的再现信息,
上述解码单元对于上述确定的多个编码块图像的每一个,根据再现信息所示的再现顺序,对上述确定的多个编码块图像分别进行解码。
12.根据权利要求1所述的解码装置,其特征在于,
上述解码装置还具有控制单元,上述控制单元进行控制,使得在上述解码后的1个帧图像中,按照由上述确定单元确定的多个编码块图像的每一个,重复上述存储单元和上述解码单元各自的动作,
上述存储单元在由上述解码单元对上述多个编码块图像进行解码后,利用上述控制单元从上述1个帧图像中取得其它参考块图像,
上述解码单元在对上述多个编码块图像进行解码后,利用上述控制单元对以上述其它参考块图像作为参考目标的多个编码块图像进行解码,
上述控制单元进行控制,使得在到上述解码单元将上述帧图像包含的全部参考块图像用于解码处理为止的期间,重复上述存储单元和上述解码单元的动作。
13.根据权利要求12所述的解码装置,其特征在于,
上述编码串包含不参考其它帧图像而被编码的至少一个帧内编码帧图像和参考其他帧图像而被编码的多个非帧内编码帧图像,
上述解码单元还对1个帧内编码帧图像进行解码来生成帧图像,作为针对上述编码串的最初的解码处理,
上述存储单元、上述解码单元以及上述控制单元对参考上述帧图像的全部非帧内编码帧图像进行解码,作为针对上述多个非帧内编码帧图像的最初的解码。
14.根据权利要求13所述的解码装置,其特征在于,
上述解码装置还具有主存储器,
上述取得单元将取得的上述编码串存储到上述主存储器,
上述解码单元对编码块图像进行解码,将其结果存储到上述主存储器,
上述存储单元从上述主存储器读取上述参考块图像。
15.根据权利要求1所述的解码装置,其特征在于,
上述高速缓冲存储器、上述取得单元、上述提取单元、上述确定单元、上述存储单元以及上述解码单元构成解码用半导体装置。
16.一种在解码装置中使用的解码方法,该解码装置对将多个帧图像预测编码而成的编码串进行解码,其特征在于,
上述编码串包含多个编码帧图像,各个编码帧图像包含多个编码块图像,至少一部分编码块图像是块图像参考1个参考块图像被预测编码而成的,并且该至少一部分编码块图像包含表示从上述块图像参考该参考块图像的参考关系信息,
上述解码装置具有高速缓冲存储器,
上述解码方法包括:
取得步骤,取得上述编码串;
提取步骤,从取得的上述编码串中提取多个参考关系信息;
确定步骤,选择1个参考块图像,对于选择出的上述参考块图像,使用提取出的上述多个参考关系信息,从该参考块图像进行逆追溯,确定多个参考源的编码块图像;
存储步骤,读取上述参考块图像,将读取的上述参考块图像存储到上述高速缓冲存储器;以及
解码步骤,在上述参考块图像本身未被丢弃而保持在上述高速缓冲存储器期间,参考该参考块图像,对确定的上述多个编码块图像进行解码。
17.一种在解码装置中使用的解码程序,该解码装置对将多个帧图像预测编码而成的编码串进行解码,其特征在于,
上述编码串包含多个编码帧图像,各个编码帧图像包含多个编码块图像,至少一部分编码块图像是块图像参考1个参考块图像被预测编码而成的,并且该至少一部分编码块图像包含表示从上述块图像参考该参考块图像的参考关系信息,
上述解码装置具有高速缓冲存储器,
上述解码程序具有:
取得步骤,取得上述编码串;
提取步骤,从取得的上述编码串中提取多个参考关系信息;
确定步骤,选择1个参考块图像,对于选择出的上述参考块图像,使用提取出的上述多个参考关系信息,从该参考块图像进行逆追溯,确定多个参考源的编码块图像;
存储步骤,读取上述参考块图像,将读取的上述参考块图像存储到上述高速缓冲存储器;以及
解码步骤,在上述参考块图像本身未被丢弃而保持在上述高速缓冲存储器期间,参考该参考块图像,对确定的上述多个编码块图像进行解码。
18.根据权利要求17所述的解码程序,其特征在于,
上述解码程序被记录在计算机可读取的记录介质中。
19.一种解码装置的集成电路,该解码装置对将多个帧图像预测编码而成的编码串进行解码,其特征在于,
上述编码串包含多个编码帧图像,各个编码帧图像包含多个编码块图像,至少一部分编码块图像是块图像参考1个参考块图像被预测编码而成的,并且该至少一部分编码块图像包含表示从上述块图像参考该参考块图像的参考关系信息,
上述集成电路具有:
高速缓冲存储器;
取得单元,取得上述编码串;
提取单元,从取得的上述编码串中提取多个参考关系信息;
确定单元,选择1个参考块图像,对于选择出的上述参考块图像,使用提取出的上述多个参考关系信息,从该参考块图像进行逆追溯,确定多个参考源的编码块图像;
存储单元,读取上述参考块图像,将读取的上述参考块图像存储到上述高速缓冲存储器;以及
解码单元,在上述参考块图像本身未被丢弃而保持在上述高速缓冲存储器期间,参考该参考块图像,对确定的上述多个编码块图像进行解码。
CN2007800357642A 2006-09-26 2007-09-11 解码装置、解码方法、解码程序以及集成电路 Expired - Fee Related CN101518091B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006260257 2006-09-26
JP260257/2006 2006-09-26
PCT/JP2007/067635 WO2008038513A1 (en) 2006-09-26 2007-09-11 Decoding device, decoding method, decoding program, and integrated circuit

Publications (2)

Publication Number Publication Date
CN101518091A true CN101518091A (zh) 2009-08-26
CN101518091B CN101518091B (zh) 2011-09-28

Family

ID=39229952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800357642A Expired - Fee Related CN101518091B (zh) 2006-09-26 2007-09-11 解码装置、解码方法、解码程序以及集成电路

Country Status (4)

Country Link
US (1) US8731311B2 (zh)
JP (1) JP5346584B2 (zh)
CN (1) CN101518091B (zh)
WO (1) WO2008038513A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437303A (zh) * 2020-11-12 2021-03-02 北京深维科技有限公司 一种jpeg解码方法及装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9877033B2 (en) * 2009-12-21 2018-01-23 Qualcomm Incorporated Temporal and spatial video block reordering in a decoder to improve cache hits
JP6203515B2 (ja) * 2013-03-29 2017-09-27 株式会社メガチップス 画像処理装置
KR101805630B1 (ko) * 2013-09-27 2017-12-07 삼성전자주식회사 멀티 디코딩 처리 방법 및 이를 수행하기 위한 멀티 디코더
EP3349458A4 (en) 2015-11-24 2018-10-24 Samsung Electronics Co., Ltd. Encoding sequence encoding method and device thereof, and decoding method and device thereof
CN110740335A (zh) * 2019-09-02 2020-01-31 西安万像电子科技有限公司 数据传输方法、系统及设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148272A (en) * 1991-02-27 1992-09-15 Rca Thomson Licensing Corporation Apparatus for recombining prioritized video data
US6026217A (en) * 1996-06-21 2000-02-15 Digital Equipment Corporation Method and apparatus for eliminating the transpose buffer during a decomposed forward or inverse 2-dimensional discrete cosine transform through operand decomposition storage and retrieval
JP3372864B2 (ja) * 1998-04-01 2003-02-04 日本電気株式会社 動画像伸長装置及び方法
JP2000175201A (ja) 1998-12-04 2000-06-23 Sony Corp 画像処理装置及び方法、並びに提供媒体
JP3322233B2 (ja) * 1999-03-19 2002-09-09 日本電気株式会社 動画像伸長方法及びそれを実行するプログラムを記録した記録媒体
US7492387B2 (en) * 2002-08-05 2009-02-17 Chih-Lung Yang Implementation of MPCP MCU technology for the H.264 video standard
JP4118180B2 (ja) * 2003-03-27 2008-07-16 三洋電機株式会社 符号化復号化システム
JP2005102144A (ja) * 2003-08-27 2005-04-14 Renesas Technology Corp Mpegのデータ処理装置
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
CN1922884B (zh) * 2004-02-20 2012-05-23 三叉微系统(远东)有限公司 视频解码方法
US7627227B2 (en) * 2004-05-17 2009-12-01 Microsoft Corporation Reverse presentation of digital media streams
US8208564B2 (en) * 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US20070199011A1 (en) * 2006-02-17 2007-08-23 Sony Corporation System and method for high quality AVC encoding
EP2005752A4 (en) * 2006-03-30 2010-06-09 Lg Electronics Inc METHOD AND APPARATUS FOR DECODING / ENCODING A VIDEO SIGNAL

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437303A (zh) * 2020-11-12 2021-03-02 北京深维科技有限公司 一种jpeg解码方法及装置

Also Published As

Publication number Publication date
US8731311B2 (en) 2014-05-20
CN101518091B (zh) 2011-09-28
WO2008038513A1 (en) 2008-04-03
US20090279801A1 (en) 2009-11-12
JPWO2008038513A1 (ja) 2010-01-28
JP5346584B2 (ja) 2013-11-20

Similar Documents

Publication Publication Date Title
CN101455087B (zh) 图像编码装置、图像编码方法及图像编码用集成电路
CN101283600B (zh) 参考图像选择方法以及装置
CN105245875B (zh) 图像解码装置和图像解码方法
CN105684409B (zh) 在视频和图像编码和解码中使用散列值来表示各块
CN1960495B (zh) 图像编码装置、图像编码方法和集成电路装置
CN101682777B (zh) 图像预测编码装置及方法、图像预测解码装置及方法
CN101518091B (zh) 解码装置、解码方法、解码程序以及集成电路
US8873631B2 (en) Video decoding device, video decoding method, video decoding program, and video decoding integrated circuit
CN105915902A (zh) 动图像编码装置以及动图像编码方法
US8488678B2 (en) Moving image encoding apparatus and moving image encoding method
CN105900420A (zh) 选择运动向量精度
US20060171680A1 (en) Image processing apparatus and method
JP3223962B2 (ja) 画像復号化方法
US20210344898A1 (en) Video decoding device and video decoding method
KR20160001714A (ko) 픽쳐들의 그룹에서 변경가능 엘리먼트들의 세트를 결정하기 위한 방법 및 디바이스
CN101543080B (zh) 解码电路、解码方法及图像再生装置
US6687298B1 (en) Method and apparatus for expanding moving pictures by software
JP2005012439A (ja) 符号化装置、符号化方法および符号化プログラム
JP2007325119A (ja) 画像処理装置及び画像処理方法
TWI517673B (zh) Dynamic image predictive coding device, dynamic image predictive coding method, dynamic image predictive coding program, dynamic image prediction decoding device, dynamic image prediction decoding method and dynamic image prediction decoding program
CN100574437C (zh) 移动向量解码方法和移动向量解码装置
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
JP2009260494A (ja) 画像符号化装置及びその制御方法
CN101099393A (zh) 压缩编码装置、解压缩解码装置
JP3712344B2 (ja) 繰り返しビデオ信号符号化方法およびこの方法のプログラムを記録した記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110928

Termination date: 20160911