CN101115205A - 视频流处理装置与方法 - Google Patents

视频流处理装置与方法 Download PDF

Info

Publication number
CN101115205A
CN101115205A CNA2007101397210A CN200710139721A CN101115205A CN 101115205 A CN101115205 A CN 101115205A CN A2007101397210 A CNA2007101397210 A CN A2007101397210A CN 200710139721 A CN200710139721 A CN 200710139721A CN 101115205 A CN101115205 A CN 101115205A
Authority
CN
China
Prior art keywords
macroblock
macroblock unit
unit
present
parameters set
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
CNA2007101397210A
Other languages
English (en)
Other versions
CN101115205B (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN101115205A publication Critical patent/CN101115205A/zh
Application granted granted Critical
Publication of CN101115205B publication Critical patent/CN101115205B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/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
    • 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

Abstract

本发明提供一种视频流处理装置与方法。该方法为在编码或译码等处理视频流时,决定目前宏块的类别。此类别指出要处理目前宏块单元时,需要参考所需对应宏块参数集合的哪些部份。此对应的宏块参数集合映像到目前宏块单元的一依赖宏块单元集合。假如在区域缓冲区已经有所需的宏块参数,则直接处理目前宏块单元。假如这些数据不在区域缓区,则将这些数据从存储器电路中加载到区域缓冲区,以处理目前宏块单元。

Description

视频流处理装置与方法
技术领域
本发明是有关于一种视频运算及处理装置与方法,且特别有关于一种视频运算及处理装置与方法,可用于处理基于宏块构成的视频流。
背景技术
包括编码或是译码的视频处理,在今日持续不断地发展。通过这些发展,带来了更高的压缩比,而这使得视频能够用越来越有效率地方式予以储存或进行。大多数今日常见的视频编码方法或标准,例如H.264,MPEG2,AVC等,都是奠基在宏块(macroblock)上面进行编码或译码。更具体地说,一个帧(frame)可以被切分成复数个宏块。通过分析与利用各个宏块在时间上与空间上的关联相似性,压缩比得以获得更高的效率。在一些码处理工具(coding tool)中,两个或两个以上的宏块被群组成一个运算的基本单位,在下面的描述中,提到宏块单元(macroblock unit)或是MBU,指的就是,可包含一个或多于一个的宏块,以作为运算时的基本单位。
请参照图1,其以H.264为例,例示视频帧100的局部,包括复数个宏块。在图1中,宏块单元在非MBAFF(宏块基础适应形帧/域,Macroblock-basedadaptive frame/field)编码下,为16×16像素,而在MBAFF编码下,宏块单元为16×32像素或16×16像素,但这里所写的仅为范例。假如宏块单元MBU5是目前宏块单元,也即待编码或译码的宏块单元,则需要使用到来自MBU0,MBU1,MBU2与MBU4的信息。假如宏块单元MBU6是目前待编码或译码的目前宏块单元,则需要使用来自MBU1,MBU2,MBU3与MBU5的信息。换言之,一个目前宏块单元可能需要来自左上宏块单元,上方宏块单元,右上宏块单元,以及邻接宏块单元。
基于宏快的编码与译码都变得越来越困难。因此,在实做时,每个因素都必须审慎地考虑,这样才能建造出一个实用的产品,供用户使用。
发明内容
依据本发明的一较佳实施例为处理以宏块单元为基础的视频流。每一宏块单元对应到视频流中的一帧中的至少一宏块。此方法包含下列步骤。
找出目前宏块单元的一依赖宏块单元集合(dependent set of macroblockunits)。此依赖宏块单元集合可包括H.264标准中提到的“邻近宏块”(neighboring macroblocks)。换言之,目前宏块单元的依赖宏块集合所包括的宏块,其对应的宏块参数集合可能会需要用来处理目前宏块。该依赖宏块集合的范例包括左上宏块单元,上方宏块单元,右上宏块单元,以及左方宏块单元。但是,此依赖宏块单元集合的元素可依据不同的编码工具或目前宏块单元所在的位置而作调整。举例来说,当一个帧是以多个切段(slice)进行编码时,目前宏块单元的上方宏块单元将不再出现在目前宏块单元的依赖宏块单元集合中。
假如对应宏块参数集合的所需部份已经存放在区域缓冲器(local buffer),目前宏块单元便可以开始被处理。这边所谓的“所需部份”可指向用于特定码处理工具(coding tools)所需的参数。假如对应的宏块参数集合的所需部份仍有局部尚未存放在区域缓冲器,则所需数据会从存储器电路读到区域缓冲器。此外,目前宏块单元的类别会被决定出来,使得可决定该宏块参数集合的哪些部分是属于处理该目前宏块单元的所需部分。此外,下列所提的四种范例方法,可进一步强化处理视讯流之效率。
在第一范例方法中,包括该宏块参数集合中不需要的部份也会被加载到区域缓冲器,因为此不需要的部份可能是处理下一个宏块单元所需要的部份。在第二个范例方法中,每一宏块参数集合包含一第一组参数与一第二组参数。该第一组参数对应一左下宏块单元而该第二组参数对应一下方宏块单元。并且,在处理所述的目前宏块单元时,将来自一上方宏块单元的该第二组宏块单元与来自一右上方宏块单元的该第一组宏块单元从该存储器电路复制到该区域缓冲器。在第三个范例中,该区域缓冲器的至少一部分,是由至少两个互斥(mutually exclusive)码处理工具所共享,以用来储存该依赖宏块集合的所述的宏块参数集合的所需部份。举例来说,帧内预测与跨帧预测便是互斥的码处理工具。在第四个范例方法中,当该目前宏块单元属于一内编码切块(interceded slice)时,总是将该依赖宏块集合的所述的宏块参数集合的该跨帧预测参数部分复制到该区域缓冲器。
附图说明
图1为例示宏块之间的关联;
图2为例示一较佳实施例的电子装置的架构示意图;
图3为例示由宏块组成的帧;
图4为例示由两个垂直相邻的宏块组成的宏块单元;
图5为例示一目前宏块单元与其依赖宏块单元集合的关系;
图6为例示另一目前宏块单元与其依赖宏块单元集合的关系;
图7为例示供宏块单元的管线处理;
图8为例示宏块单元间的关联;
图9为例示区域缓冲区的存放内容;
图10为例示将参数加载到区域缓冲区的序列;
图11为例示存储器电路所存放的内容;以及
图12为例示一范例方法。
具体实施方式
图2所例示,依据本发明实施例的电子装置包括一处理单元22,一区域缓冲器24与一存储器电路26。该处理单元22可指向任何特制电路(customizedcircuit),以及/或任何于各种硬件组合上执行的指令。在实际的设计中,处理单元22可为一集成电路芯片,一集成电路芯片的其中一部份,或各种软件/硬件的组合形式。处理单元22可设计成可直接存取该区域缓冲器24与该存储器电路26。另一方面,处理单元26也可以通过一额外的存储器控制器(未图标),存取该存储器电路26。处理单元22可设计成可直接在该区域缓冲器24与该存储器电路26间搬移数据。或是,处理单元22也可向另一额外电路请求,以达成在区域缓冲器24与该存储器电路26间搬移数据的能力。
上述电子装置为设计用来,针对一视频流(video stream),进行编码(encoding)或译码(decoding)的处理。在编码时,该视频流可指向准备转换成一比特流(bit stream)的一序列影像帧(image frame)。在译码时,该视频流可指向可还原回一序列影像帧的比特流。不管是在编码或译码的处理,其运算的基本单元都是宏块单元(macroblock unit)。
今日许多热门的视频编码,例如H.264,MPEG2,MPEG4,MPEG7,AVC等,皆是采用上述的宏块机制。当一影像以宏块方式编码时,分析与寻找同帧(intra-frame)或跨帧(inter-frame)的宏块间相似性,可用来增加更高的压缩率。
以下所介绍的本发明的技巧,可以应用在任何架构在宏块上的编码方式。至于各种编码方式的一般实施细节,本领域普通技术人员可参考已知的参考文献。配合下面所介绍的说明,本领域普通技术人员便能将各种编码方式的实做中,结合本发明所提供的技巧。举例来说,H.264的编码方式是基于宏块的概念。通过IEEE Transcations on Circuits and Systems for Video Technology这本期刊,于2003年七月的文章,“Overview ofthe H.264/AVC Video CodingStandard”,本领域技术人员可了解整个H.264编码与译码的基本架构的理解,得知其是如何运用宏块的概念,建构能带来高压缩率的编码或译码方法。在这篇文章中,帧内(Intra-Frame)预测(prediction),跨帧(Inter-Frame)预测(prediction),以及其他像是切块群组(slice group)都有相当清楚的说明。对于这类的背景知识,除了跟整合本发明有直接相关的部份,在这里并不重复赘述。
图3例示QCIF图片的范例,这张图片包含11乘9的宏块。一个宏块单元(macroblock unit)可包括单一个宏块。一个宏块单元也可包括在特定编码样态(coding pattern)或编码工具(coding tool)下的二个,或多于二个的宏块。在图4所例示的范例中,一个宏块单元包括两个垂直相邻的宏块。举例来说,宏块0与宏块1被群组成一个运算的基本单元。
当针对目前宏块单元进行编码或译码时,会需要该目前宏块单元邻近的宏块单元的信息。所谓邻近宏块单元的信息,在这里称为“宏块参数集合”(macroblock parameter set)。以H.264作为范例,对应一个宏块单元的宏块参数集合可包括,但不限于,亮度内模式(Luma Intra Mode),彩度内模式(ChromaIntra Mode),重建像素(Resonstructed Pixel),移动向量(Motion Vectors),参考索引(Reference Indices),直接模式旗标(Direct Mode Flag),切块标识符(SliceID),域解码旗标(Field Decoding Flag),宏块类别(MB Type)等等。
一个宏块单元所对应的宏块参数集合中,并非每一个参数,都对处理每个相关的宏块单元所需要。举例来说,邻近宏块单元,用于页帧内预测(intrprediction)的参数,像是亮度内模式(Lima Intra Mode),彩度内模式(ChromaIntra mode)以及重建像素(Reconstruction pixels),如果在处理一个用跨帧预测编码的宏块单元时,并不是需要的信息。
在图5中,一个宏块单元包含一个宏块。当要处理位于CurrMbAddr地址的宏块单元时,需要参考到位于mbAddrA,mbAddrB,mbAddrC与mbAddrD所对应的宏块参数集合中的部份信息。
在图6中,一个宏块单元包含两个邻近宏块,当位在CurrMbAddr1与CurrMbAddr2的两个宏块被群组成一个宏块单元被处理时,在地址mbAddrA1,mbAddrA2 mbAddrB1,mbAddrB2,mbAddrC1,mbAddrC2,mbAddrD1与mbAddrD2所对应宏块参数集合可能是需要被用到的。在CurrMbAddr1与CurrMbAddr2的宏块可被称为宏块对(macroblock pair),但可能这两个宏块仍然被当作是两个宏块单元。甚至,在CurrMbAddr1与CurrMbAddr2的宏块单元可以分成两个不同类别,例如一个是帧内预测类别,而另一个是跨帧预测类别。
图1中的电子装置中的处理单元22可以通过并行管线设计(pipeline)实施。举例来说,图7例示具有二个管线阶段(pipeline stage)的一种实做范例。这二种管线阶段分别为信息量解码(entropy decoding)与预测,包括帧内预测(intraprediction)与跨帧预测(inter prediction)。在时间阶段0时,宏块单元MB0被译码。在信息量解码时,MB0的类别指出MB0本身原先是通过帧内预测加以编码。因此,在时间阶段1时,MB0可通过帧内算法,并参考邻近宏块单元的宏块参数集合中,相关于帧内预测所需的部份参数,以针对MB0进行译码。此外,在这个范例中,在译码宏块MB1时,通过MB1的类别指出MB1是通过跨页帧预测编码。因此,在时间阶段2时,MB1是通过跨页帧预测算法,并参考邻近宏块单元的宏块参数集合中,相关于帧内预测所需的部份参数,以针对MB0进行译码。
必须指出的是,一个目前宏块单元(也就是目前正在处理的宏块单元)其所需的邻近宏块单元,在这边被称为该目前宏块单元所对应的“依赖宏块单元集合”(dependent macroblock unit set)。该依赖宏块单元集合可依据所对应的目前宏块单元所在的位置,而改变其元素。举例来说,依赖宏块单元集合可包含目前宏块单元的左上宏块单元,上方宏块单元,右上宏块单元以及左方宏块单元。但是,当目前宏块单元位于帧的边界时,此依赖宏块单元集合就不会包含上述范例中所列出的所有邻近宏块单元。此外,有时候一个帧可被拆开成复数个切段(slice),造成目前宏块单元可由不同邻近宏块单元所组成。
换言之,在实做如图1所示的电子装置时,光是为了要处理一个宏块单元,至少就需要存取多个宏块参数集合,而这会让整个设计变得很复杂。在现有的技术中,在处理目前宏块单元,每次皆需要将其所对应的依赖宏块单元集合的宏块参数集合中所需的部份从动态随机存取存储器,静态随机存取存储器或是闪存等存储器电路取出,而置于区域缓冲器中。本发明则观察并且发现到如果是通过传统的方法,来读取宏块参数集合,并不是非常有效率。在下列的叙述中,会说明四种范例,来解释如何改善存取所需宏块参数的过程。
总的来说,图1的处理单元22皆会决定一目前宏块单元的类别。这个类别会指出到底在处理这个目前宏块单元时,会需要存取到对应宏块参数集合的哪些部份内容。这些对应宏块参数集合可映像到该目前宏块单元所对应的依赖宏块单元集合。假如图1中的区域缓冲器24已经存放宏块参数集合所需的部份数据,则处理单元22对该目前宏块单元进行处理。假如宏块参数集合中所需的部份尚未存于区域缓冲器24时,则处理单元22将这些所需要的数据,从存储器电路26加载到该区域缓冲器24。
在第一个范例的方法中,处理单元22更进一步将宏块参数集合中的不需要部份,也从存储器电路26加载到区域缓冲器24中。这边所谓的宏块参数集合的“不需要部份”,指得是在处理目前宏块单元单元时,该目前宏块单元的类别所指出,不需要参考的信息部份。然而,这些所谓的“不需要部份”,却有可能会是处理下一个宏块单元时,所需参考的信息。
以图8为例,处理单元22发现目前宏块单元MB’0的类别指出的是,帧内预测的类别。因此,属于跨帧预测所需参考的参数“移动向量(MotionVectors)”就不是属于处理MB’0所需的部份。尽管如此,处理单元22仍然将MB0的“移动向量”之类的“其他部份”也从存储器电路26中加载到区域缓冲器24内。这是因为在处理MB’1时,就可能会参考到MB0的“移动向量”的参数。经由这第一个范例方法,存储器的存取可更为规律。此外,宏块参数集合的数据管理,也能够变得更简单,与更具有扩充性。同时,编码或译码所涉及的管线阶段,在设计上也更具有弹性。
此外,当确认区域缓冲区24某部份宏块参数集合的数据,已经不再可能用到时,也可以对区域缓冲区24的这些空间进行释出。举例来说,当MB’1为待处理的目前宏块单元,而且MB’1的类别已经确定后,MB’1不需要的MB0宏块参数集合的部份数据所占的地址可以释出,藉以存放其他的数据,就如图9所示一般。
此外,假如目前宏块单元是一列(row)中的最后一个元素,在解出目前宏块单元后,可把下一列的第一个宏块单元所对应的宏块参数预先加载到区域缓冲器24中。
在处理宏块单元的过程中,会陆续获得对应的宏块参数集合。这些宏块参数集合可写入到该存储器电路26中。通常,存储器电路26可存放一整列的宏块单元所对应的宏块参数集合。
在第二范例方法中,每一宏块参数集合包含一第一组参数与一第二组参数。该第一组参数系对应一左下宏块单元,可能同时包含帧内预测参数与跨帧预测参数。该第二组参数系对应一下方宏块单元,也可能同时包含帧内预测参数与跨帧预测参数。在处理该目前宏块单元时,将来自一上方宏块单元的该第二组宏块单元与来自一右上方宏块单元的该第一组宏块单元从该存储器电路26复制到该区域缓冲器24。当采用此种方法时,数据存取会呈现如第10图所示之顺序。图中所示的“info group 1”与“info group 2”分别对应到这边所说的第一组参数与第二组参数。
在第三范例方法中,该区域缓冲器24之至少一部分,系由至少两个互斥码处理工具所共享,以用来储存该依赖宏块集合之该些宏块参数集合之所需部份。举例来说,宏块单元不会同时是帧内预测类别,又是跨帧预测类别。因此,目前宏块单元的类别会先解出来。在知道类别后,宏块参数集合中只有需要的部份才会从存储器电路26被加载到区域缓冲器24。
图11为例示所有可能会用到的参数的类别,而这些参数存于存储器电路26中的不同地址。当这些参数被加载到区域缓冲器24时,属于互斥码处理工具的部分参数可共享区域缓冲器24的相同空间。图中所示的“IP info”指的是,帧内预测类别的参数。“MV info”指的是,跨帧预测类别的参数。至于“Other Info”指的是,存于存储器电路26中所需的其他类别的参数。通过此第三种范例方法,“MV info”与“IP info”同时间,只有其中一种会被存在区域缓冲器24中,因此,区域缓冲器24可以设计地更小。
在第四范例方法中,当该目前宏块单元属于一内编码切块时,总是将该依赖宏块集合之该些宏块参数集合的该跨帧预测参数部分复制到该区域缓冲器,因为该跨帧预测参数部分将会被频繁地使用。
在实际的设计中,用来处理不同类别的处理的硬件(hardware)是可以共享的。举例来说,使用一个一般用途的处理器(general processor),在上面执行相关的指令或程序,即可同时处理页帧内预测与跨页帧预测两种类型的编码与译码的工作。当然,本领域技术人员应该知道,在实做时,也可针对不同类别,设计专属的硬件电路,以加速处理速度。存储器电路26或是区域缓冲器24可包含一个或一个以上的储存组件,例如缓存器(register),动态随机存取存储器,静态随机存取存储器,闪存,或任何这些组件的各种组合。
此外,必须说明的是,上面所述的范例方法皆可透过多组平行运作的硬件电路来加以实作。举例来说,可使用两组硬件电路来分别实作跨图框预测与图框内预测的编码,而这两组硬件电路可平行运作,藉以找出到底哪组编码方式能得到较佳的编码结果。这多组平行运作的硬件电路可共享同一个区域缓冲器。换言之,同一个区域缓冲器此时可能存有对一组硬件电路是需要的参数,而该参数对另一组硬件电路却是不需要的。
图12为一流程图,例示依据较佳实施例的方法。一目前宏块单元的对应依赖宏块单元集合被找出来(步骤1201)。接着,判断区域缓冲器是否存有该依赖宏块单元集合之宏块参数集合所需的部份(步骤1203)。假如目前宏块单元所对应的依赖宏块单元集合的宏块参数集合中所需的部分尚未存于该区域缓冲器,该所需部份会被加载该区域缓冲器(步骤1205)。假如区域缓冲器存有该依赖宏块单元集合的宏块参数集合所需的信息,则目前宏块单元就会进行处理(步骤1207)。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。

Claims (20)

1.一种基于宏块单元处理视频流的方法,每一宏块单元对应该视频流的一帧的至少一宏块,其特征在于,该方法包含:
找出对应一目前宏块单元的一依赖宏块单元集合;
假如于一区域缓冲器已存有所述依赖宏块单元集合的复数宏块参数集合的所需部份,对所述的目前宏块单元进行处理;以及
将所述依赖宏块单元集合的宏块参数集合的所述的所需部份中,尚未存于所述的区域缓冲器的数据,从一存储器电路读入该区域缓冲器,以处理所述的目前宏块单元。
2.如权利要求1所述的方法,其特征在于,该方法还包含:
决定所述目前宏块单元的一类别,藉此类别指出该些宏块参数集合的哪些部份属于对应所述目前宏块单元的所述所需部份。
3.如权利要求1所述的方法,其特征在于,所述的目前宏块单元集合的所述的依赖宏块单元集合至少包含下列之一:该目前宏块单元的一左上宏块单元,一上方宏块单元以及一右上宏块单元。
4.如权利要求1所述的方法,其特征在于,所述的目前宏块单元的所述的依赖宏块单元集合还包含:该目前宏块单元的一左方宏块单元。
5.如权利要求1所述的方法,其特征在于,所述的一个宏块单元包含一个宏块。
6.如权利要求1所述的方法,其特征在于,所述的一个宏块单元包含至少两个宏块。
7.如权利要求1所述的方法,其特征在于,该方法还包含:
将尚未存于所述的区域缓冲器,所述的对应宏块参数集合中的不需要部份的数据,从所述的存储器电路加载该区域缓冲器,其中所述的对应宏块参数集合中的所述不需要部份的数据,并不需要用于处理所述的目前宏块单元,但可能需要用于处理下一个宏块单元。
8.如权利要求7所述的方法,其特征在于,该方法还包含:
当所述的目前宏块单元是一列中的最后一元素,将对应到下一列的一开头宏块单元所对应的复数宏块参数集合的所述所需部分与所述的不需要部份,皆从所述的存储器电路加载到所述的区域缓冲器。
9.如权利要求1所述的方法,其特征在于,该方法还包含:
释放所述的区域缓冲器中,所用来存放处理下一个宏块单元时已经不再需要宏块参数集合的部份数据。
10.如权利要求1所述的方法,其特征在于,所述的存储器电路储存至少一列宏块单元所对应的复数宏块参数集合。
11.如权利要求1所述的方法,其特征在于,该处理包含一帧内预测与一跨帧预测,并且在该帧内预测与跨帧预测,共享一套硬件电路。
12.如权利要求1所述的方法,其特征在于,每一宏块参数集合包含一第一组参数与一第二组参数,该第一组参数系对应一左下宏块单元而该第二组参数系对应一下方宏块单元,并且在处理该目前宏块单元时,将来自一上方宏块单元的第二组宏块单元与来自一右上方宏块单元的第一组宏块单元从存储器电路加载到所述的区域缓冲器。
13.如权利要求1所述的方法,其特征在于,该区域缓冲器的至少一部分,是由至少两个互斥码处理工具所共享,以用来储存所述的依赖宏块集合的宏块参数集合的所需部份。
14.如权利要求13所述的方法,其特征在于,一个宏块参数集合的所有部份,对应到不同码处理工具的不同部分,被存放到该存储器电路的不同地址。
15.如权利要求1所述的方法,其特征在于,一个宏块参数集合包含一跨帧预测参数部分与一帧内预测参数部份,且该方法还包含:
当所述的目前宏块单元属于一内编码切块时,总是将所述的依赖宏块集合的宏块参数集合的跨帧预测参数部分复制到所述的区域缓冲器。
16.一种处理一视频流的电子装置,该视频流包含复数个帧,且每一帧包含复数个宏块单元,其特征在于,所述的电子装置包含:
一存储器电路;
一区域缓冲器;以及
一处理单元耦接于所述的存储器电路与所述的区域缓冲器,其中所述的处理单元找出对应一目前宏块单元的一依赖宏块单元集合;假如于一区域缓冲器已存有该依赖宏块单元集合的复数宏块参数集合的所需部份,对该目前宏块单元进行处理;以及将该依赖宏块单元的宏块参数集合的所需部份中,尚未存于所述的区域缓冲器的数据,从一存储器电路读入该区域缓冲器,以处理该目前宏块单元。
17.如权利要求16所述的电子装置,其特征在于,其中所述的处理单元决定所述的目前宏块单元的一类别,藉此类别指出所述的宏块参数集合的哪些部份系属于对应该目前宏块单元的所需部份。
18.如权利要求16所述的电子装置,其特征在于,所述的处理单元将尚未存于所述的区域缓冲器,对应于所述的依赖宏块单元集合的宏块参数集合中的不需要部份,从所述的存储器电路加载该区域缓冲器,其中所述的依赖宏块单元集合的宏块参数集合中的所述不需要部份是指于处理所述的目前宏块单元并不需要参考,但处理下一个宏块单元时可能需要的数据。
19.如权利要求16所述的电子装置,其特征在于,每一宏块参数集合包含一第一组参数与一第二组参数,该第一组参数对应一左下宏块单元而该第二组参数对应一下方宏块单元,并且在处理所述的目前宏块单元时,将来自一上方宏块单元的第二组宏块单元与来自一右上方宏块单元的第一组宏块单元从所述的存储器电路复制到所述的区域缓冲器。
20.如权利要求16所述的电子装置,其特征在于,所述的区域缓冲器的至少一部分,是由至少两个互斥码处理工具所共享,以用来储存所述的依赖宏块集合的宏块参数集合的所需部份。
CN2007101397210A 2006-07-28 2007-07-27 视频流处理装置与方法 Expired - Fee Related CN101115205B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82060906P 2006-07-28 2006-07-28
US60/820,609 2006-07-28

Publications (2)

Publication Number Publication Date
CN101115205A true CN101115205A (zh) 2008-01-30
CN101115205B CN101115205B (zh) 2010-10-27

Family

ID=38885172

Family Applications (2)

Application Number Title Priority Date Filing Date
CNA2007101397206A Pending CN101115204A (zh) 2006-07-28 2007-07-27 视频流运算与处理装置与方法
CN2007101397210A Expired - Fee Related CN101115205B (zh) 2006-07-28 2007-07-27 视频流处理装置与方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNA2007101397206A Pending CN101115204A (zh) 2006-07-28 2007-07-27 视频流运算与处理装置与方法

Country Status (4)

Country Link
US (2) US20080025412A1 (zh)
CN (2) CN101115204A (zh)
DE (1) DE102007035204A1 (zh)
TW (2) TWI372364B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659602A (zh) * 2013-10-14 2016-06-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
CN107925769A (zh) * 2015-09-08 2018-04-17 联发科技股份有限公司 用于帧内块复制模式的已解码图像缓存器的方法和系统
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US10582213B2 (en) 2013-10-14 2020-03-03 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI478584B (zh) * 2007-03-08 2015-03-21 Realtek Semiconductor Corp 一種視訊編解碼的方法及其裝置
US8184715B1 (en) * 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US20090225867A1 (en) * 2008-03-06 2009-09-10 Lee Kun-Bin Methods and apparatus for picture access
WO2009136681A1 (en) * 2008-05-08 2009-11-12 Lg Electronics Inc. Method for encoding and decoding image, and apparatus for displaying image
US8335256B2 (en) * 2008-11-14 2012-12-18 General Instrument Corporation Motion compensation in video coding
CN103141103B (zh) * 2010-04-09 2016-02-03 Lg电子株式会社 处理视频数据的方法和装置
US9568985B2 (en) 2012-11-23 2017-02-14 Mediatek Inc. Data processing apparatus with adaptive compression algorithm selection based on visibility of compression artifacts for data communication over camera interface and related data processing method
KR102069857B1 (ko) * 2013-02-28 2020-01-23 삼성전자주식회사 자체-학습을 통해 원래 이미지를 회전하는 방법과 상기 방법을 수행할 수 있는 장치들
US20230064790A1 (en) * 2021-08-30 2023-03-02 Mediatek Inc. Prediction processing system using reference data buffer to achieve parallel non-inter and inter prediction and associated prediction processing method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724369A (en) * 1995-10-26 1998-03-03 Motorola Inc. Method and device for concealment and containment of errors in a macroblock-based video codec
JPH10101674A (ja) * 1996-08-06 1998-04-21 Taisho Pharmaceut Co Ltd チアゾリン化合物のパラトルエンスルホン酸塩水和物
US6539059B1 (en) * 2000-03-02 2003-03-25 Sun Microsystems, Inc. Apparatus and method for efficiently scalable digital video decoding
TWI226803B (en) * 2003-07-30 2005-01-11 Mediatek Inc Method for using memory to store motion vectors of decoded macroblocks
US7415069B2 (en) * 2003-12-09 2008-08-19 Lsi Corporation Method for activation and deactivation of infrequently changing sequence and picture parameter sets
WO2006020019A1 (en) * 2004-07-15 2006-02-23 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
US7738561B2 (en) * 2004-11-16 2010-06-15 Industrial Technology Research Institute MPEG-4 streaming system with adaptive error concealment
KR100843196B1 (ko) * 2004-12-17 2008-07-02 삼성전자주식회사 H.264/avc 비디오 디코더의 디블록킹 필터
US7813432B2 (en) * 2004-12-30 2010-10-12 Intel Corporation Offset buffer for intra-prediction of digital video
US7965898B2 (en) * 2005-10-28 2011-06-21 Nvidia Corporation Accelerating video decoding using multiple processors

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659602A (zh) * 2013-10-14 2016-06-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
US10582213B2 (en) 2013-10-14 2020-03-03 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10785486B2 (en) 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
US10812817B2 (en) 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN107925769A (zh) * 2015-09-08 2018-04-17 联发科技股份有限公司 用于帧内块复制模式的已解码图像缓存器的方法和系统
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction

Also Published As

Publication number Publication date
TWI370995B (en) 2012-08-21
CN101115205B (zh) 2010-10-27
US20080025412A1 (en) 2008-01-31
CN101115204A (zh) 2008-01-30
TW200811751A (en) 2008-03-01
TW200811752A (en) 2008-03-01
US20150195546A1 (en) 2015-07-09
TWI372364B (en) 2012-09-11
DE102007035204A1 (de) 2008-02-07

Similar Documents

Publication Publication Date Title
CN101115205B (zh) 视频流处理装置与方法
US20080159408A1 (en) Methods and apparatus to decode and encode video information
US9336558B2 (en) Wavefront encoding with parallel bit stream encoding
US7860166B2 (en) Method and apparatus for motion estimation in video signal decoding
TW201526617A (zh) 影像處理方法與系統、解碼方法、編碼器與解碼器
BRPI0617670A2 (pt) dispositivo, método e programa de codificação de previsão de imagem
JP2010515397A (ja) ビデオハードウェアにおける画像圧縮のためのアーキテクチャ
CN104581177B (zh) 一种结合块匹配和串匹配的图像压缩方法和装置
CN105681807A (zh) 一种基于h264协议的分像素运动矢量计算方法和装置
US9888247B2 (en) Video coding using region of interest to omit skipped block information
JPWO2009063646A1 (ja) 画像復号装置及び画像復号方法
US9118891B2 (en) Video encoding system and method
CN102714733A (zh) 运动图像编码方法、运动图像解码方法、运动图像编码装置以及运动图像解码装置
CN101783958B (zh) Avs视频标准中时域直接模式运动矢量的计算方法和装置
JP5346584B2 (ja) 復号装置、復号方法、復号プログラム及び集積回路
JP2004072301A (ja) 動きベクトル検出方法
US10715822B2 (en) Image encoding method and encoder
JP2007325119A (ja) 画像処理装置及び画像処理方法
CN109688408A (zh) 多重编解码器编码器及多重编解码器编码系统
Migallón et al. Performance analysis of frame partitioning in parallel HEVC encoders
CN101394559A (zh) 动态图像处理方法、译码方法及其装置
CN102333220B (zh) 一种选择在变换域完成预测编码的视频编解码方法
Tsung et al. Video encoder design for high-definition 3D video communication systems
CN108366263A (zh) 视频解码方法、设备及存储介质
CN113141507B (zh) 视频编解码中的运动信息列表构建方法、装置及设备

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: 20101027

Termination date: 20190727