低成本的视频编码器的制作方法

文档序号:7915095阅读:291来源:国知局
专利名称:低成本的视频编码器的制作方法
低成本的视频编码器
相关申请的交叉引用本申请要求美国临时专利申请61/251,857的优先权,该临时专利申请的申请日为2009年10月15日,在此以参考的方式并入。
背景技术
数字视频编码技术实现了构成数字视频序列的大量可视化数据的有效存储和传输。随着国际数字视频编码标准的发展,数字视频现在许多场合已经司空见惯,其范围从视频会议和DVD到数字电视、移动视频、互联网视频码流及共享。数字视频编码标准提供了推动全球数字视频应用增长所需的互操作性和灵活性。当前有两个国际组织负责制定和实施数字视频编码标准视频编码专家组(VCEG)和运动图像专家组(MPEG)。VCEG已制定H. 26x (例如H. 261、Η· 263)视频编码标准家族,MPEG已制定了 MPEG-x (例如MPEG- I、MPEG_4)视频编码标准家族。H. 26x标准主要用于实时视频通信应用,例如视频会议和视频电话;而MPEG标准旨在解决视频存储、视频广播和视频码流应用的需求。ITU-T和IS0/IEC也致力于开发高性能、高品质的视频编码标准,包括以前的H. 262 (或MPEG-2)和最近的H. 264 (MPEG_4Part 10/AVC)标准。H. 264视频编码标准于2003年通过,相对于之前的视频编码标准,其以大大降低的比特率提供高视频质量。H. 264标准提供了足够的灵活性,适用于各种广泛的应用,包括高、低比特率的应用以及高、低分辨率的应用。H. 264编码器把每个数字视频序列帧划分为16 X 16的像素块,称为“宏块”。每个宏块或者是“帧内编码”,或者是“帧间编码”。帧内编码宏块通过利用空间冗余进行压缩,该空间冗余存在于通过变换、量化和熵(如可变长度)编码的宏块内。为了进一步提高编码效率,通过使用帧内预测,利用帧内编码宏块及其相邻宏块之间的空间相关性,其中帧内编码的宏块首先从相邻宏块进行预测,然后仅对与预测宏块不同的部分进行编码。另一方面,帧间编码的宏块,利用时间冗余-不同帧之间的相似性。在典型的视频序列中,连续帧往往彼此相似,只有帧与帧之间轻微的像素运动,其通常由拍摄目标移动或者相机移动导致。因此,对于所有帧间编码的宏块,H. 264编码器执行运动估计和运动补偿。在运动估计过程中,H. 264编码在另一个帧中搜索最佳匹配的16X16像素块,以下简称“参考帧”。在实际应用中,该搜索通常仅限于密闭(conf ined)的“搜索窗口”,其位于当前宏块位置的中央。在运动补偿阶段,获得的最佳匹配的16X16像素块从当前宏块中减去以产 生残余块,然后将其与“运动矢量”进行编码和传输,该“运动矢量”描述最佳匹配块的相对位置。应该指出的是,根据H. 264标准,H. 264编码器可以选择将16 X 16的帧间编码宏块分割成各种尺寸的分区,例如16X8、8X16、8X8、4X8、8X4和4X4的分区,并且对每个分区独立进行运动估计、运动补偿,并与其自己的运动矢量进行编码。然而,为了简洁及不限制通用性的目的,在此披露的实施例仅指单分区的帧间宏块。
如同许多其它的视频编码标准,H. 264标准区分三种主要类型的帧1帧、P帧和B帧。I帧可以包含帧内编码的宏块。P帧只包含帧内编码的宏块和/或从过去的參考帧进行运动补偿的帧间编码的宏块。B帧可以包含帧内编码的宏块和/或从过去的帧、未来的帧或者二者的线性组合进行运动补偿的帧间编码的宏块。至于对于给定帧,哪ー帧能选为參考帧,不同的标准具有不同的限制,在MPEG-4视频标准中,例如,只有最近的过去或未来的P帧或I帧可以指定为当前帧的參考帧。H. 264标准不会有此限制,并允许更远的帧作为当前帧的參考帧。在图I中,示意性地显示了传统H. 264编码器系统100的典型实施方式。当前帧105在宏块单元110 (箭头表示)中进行处理。宏块110如预测模式119 (箭头表示)所指示,以帧内模式或者帧间模式进行编码,并且对于每个宏块,形成预测块125(箭头表示)。在帧内模式中,帧内预测模块180根据存储于帧内预测缓冲区165的相邻宏块数据166(箭头表示),形成帧内预测块118 (箭头表示)。在帧间模式中,ME/MC模块115执行运动估计,并输出运动补偿预测块117 (箭头表示)。取决于预测模式119,MUX 120经过帧内预测块118或者运动补偿预测块117,并且由此产生的预测块125从宏块110中减去。残余块130 (箭头表示)由DCT/Q模块135进行变换并量化,产生量化块140 (箭头表示),其随后被熵编码 器145进行编码,并传输给比特流缓冲区150进行传输和/或存储。仍然參考图1,除了对宏块进行编码和传输,编码器对其进行解码(“重构”),以提供对于未来的帧内预测或者帧间预测的參考。量化块140被IDCT/InvQ模块155进行逆变换和逆量化,并反向添加至预测块125形成重构块160 (箭头表示)。然后将重构块160写入帧内预测缓冲区165,以用于对未来宏块的帧内预测。重构块160还经过解块过滤器170,其可以减少不必要的压缩失真,并最终存储于其在未压缩的參考帧缓冲区175内的对应位置。应该指出的是,在H. 264标准中,解块过滤是可选的,有些系统可能不包括解块过滤器170,并将重构块160直接存储于未压缩的參考帧缓冲区175中。

发明内容
在一具体实施方式
中,本发明提供了一种用于编码视频数据新単元的方法,其包括(I)将已编码的參考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至參考窗ロ缓冲区;(2)基于參考窗ロ缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。在另一具体实施方式
中,本发明提供了一种用于对视频数据的新单元进行编码的系统,其包括參考窗ロ的缓冲区、解码子系统、编码子系统。解码子系统如此设置将已编码的參考视频数据単元的搜索窗口内的块,以光栅顺序递增地解码至參考窗ロ缓冲区;编码子系统如此设置基于參考窗ロ缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。


下面将结合附图及其简要说明,对本发明进行详细描述。应该指出的是,为了说明清楚的目的,附图中的某些元件可能不会按比例绘制。图I是说明现有技术的H. 264视频编码器系统的框图。
图2是说明根据本发明一具体实施方式
,帧参考方案的框图。图3是说明根据本发明另一具体实施方式
,H. 264视频编码器系统的框图。图4是说明根据本发明另一具体实施方式
,参考帧的部分解码过程的框图。图5是进一步说明根据本发明另一具体实施方式
,图4的部分解码过程的时间图。图6是说明根据本发明另一具体实施方式
,另一帧参考方案的框图。图7是说明根据本发明另一具体实施方式
,另一 H. 264视频编码器系统的框图。图8是说明根据本发明另一具体实施方式
,参考帧的另一部分解码过程的框图。 图9是进一步说明根据本发明另一具体实施方式
,图8的部分解码过程的时间图。图10显示根据本发明另一具体实施方式
,对视频数据的新单元进行编码的方法。
具体实施例方式后文的具体实施方式
及其中的方面,结合系统、工具和方法进行说明和描述,其意图为示范和说明,而非限制范围。在不同的具体实施方式
中,已解决与上述系统和方法相关的一个或多个限制,而其它具体实施方式
指向其它改进。H. 264编码器设计的一个重要特点是,其需要的存储器大小和存储器带宽。图I中描述的典型的H. 264编码器系统100需要至少以下存储器缓冲区帧内预测缓冲区165、当前帧的缓冲区105、未压缩的参考帧缓冲区175。帧内预测缓冲区165相对较小,由于帧内预测只需要几个相邻的宏块。当前帧105不必全部存储。例如,如果使用“乒乓”缓冲区,只需要两行宏块当宏块的一行正在处理,宏块的第二行填充新的像素数据,一旦第一行处理完毕,它们就进行角色转换。通过实施更先进的存储器管理技术,可以节省更多的存储器。继续参考图1,对比上述两个存储器缓冲区,未压缩的参考帧缓冲区175包含完整的、非编码(“未压缩”)的帧。一个未压缩的VGA (640X480)帧可能需要460KB的存储器,并且缓冲区通常会包含至少两个未压缩帧一个正在被参考,另一个正在编码、重构、保存以供将来参考。此外,如果使用B帧,每一个B帧将暂时存储、压缩,直到其未来的参考帧编码和重构。存储器的过度需求转化为增加的系统成本为了支持H. 264编码器,该系统必须向其提供足够的存储器空间和存储器带宽。后者是重要因素,因为即使可能具有非必需存储空间的系统,也会经常需要额外的电路,以保证足够高的存储器访问速度,以适应H. 264编码器(以其最大数据传输率运作),并且所有其它客户共享该存储器。在小型的便携式应用中,例如手机、摄像机或数码相机中,存储空间和带宽尤其受限制,因为它们都对功耗高度敏感,并且随着存储器的访问速度提高,功耗增加。因此,许多不需要帧间存储芯片的单芯片应用程序,被迫包括一个,仅仅为了支持H. 264编码器。这不仅会影响整体成本,也会增加应用程序占用的空间,等等便携式应用厂商尽量避免的弊端。因此,可取的是,提供能大幅减少所需存储量的H. 264编码器系统和方法,从而避免对帧间存储芯片的需求,提高系统的整体性能,并降低其成本。如前所述,关于分配不同的帧类型(即I巾贞、P帧或B帧)至不同的帧,并且在P帧或B帧的情况下,在选择它们各自的参考帧中,H. 264标准是非常灵活的。图2说明根据本发明一具体实施方式
的类型分配及参考方案200。每一帧被分配为I帧或P帧,并且没有B帧。每一 P帧参考在显示顺序中位于其之前的I帧。例如,P帧220,230,240和250使用I帧210作为其參考帧,并且P帧270、280和290使用I帧260作
为其參考帧。值得注意的是,两个连续I帧之间的P帧数量可以是任意数,并且该数字不需要在整个视频码流中保持恒定。根据一具体实施方式
,H. 264编码器不会存储或依靠完全未压缩的參考帧。相反,运动估计和运动补偿所需的參考数据通过逐步解码相应的參考I帧获得,该參考I帧编码(压缩)存储于比特流缓冲区。例如,在某些具体实施方式
中,只对已编码的參考视频数据(例如,编码的參考帧例如參考I帧)的搜索窗口内的块进行解码。在图3中,描述了根据本发明典型的H. 264编码器系统300。当前帧305在宏块单元310中处理(以箭头表示)。如预测模式319 (箭头表示)所指示,宏块310或者以帧内模式编码,或者以帧间模式编码,并且对于每个宏块,形成预测块325(箭头表示)。在帧内模式中,帧内预测块318 (箭头表示)由帧内预测块基于相邻宏块数据366 (箭头表示)形成,相邻宏块数据366存储于帧内预测缓冲区内。在帧间模式中,ME/MC模块执行运动估计,并输 出运动补偿预测块317 (箭头表示)。根据预测模式319,MUX320或者经过帧内预测块318,或者经过运动补偿预测块317,然后从宏块310中减去由此产生的预测块325。残余块330(箭头表示)由DCT/Q模块335进行变换并量化,产生量化块340块(箭头表示),然后由熵编码器345对其进行编码,并传输至比特流缓冲区350以进行传输和/或存储。因此,ME/MC模块315、帧内预测模块380、MUX320、DCT/Q模块335以及熵编码器345可视为共同构成编码子系统。据估计,编码器系统300的可选实施方式,将具有不同的编码子系统配置。例如,在可选的实施方式中,熵编码345由不同类型的编码器取代。继续參考图3,除了对宏块进行编码和传输,H. 264编码器系统300还其进行解码(重构),以对于未来的帧内预测或者帧间预测提供參考。量化块340被IDCT/InvQ模块355进行逆变换和逆量化,并反向添加至325预测块,形成重构块360 (箭头表示)。然后将重构块360写入至帧内预测缓冲区365,以用于未来宏块的帧内预測。继续參考图3,通过从宏块单元381 (以箭头表示)的比特流缓冲区350读取已编码的I帧,获得參考I帧数据。每个宏块381由熵解码器382进行解码,由IDCT/InvQ模块383进行逆变换和逆量化,并添加至帧内预测模块384的输出。然后解块过滤器387进行过滤,以減少不必要的压缩失真,并最终存储在未压缩參考窗ロ缓冲388内的相应位置。因此,熵解码器382、IDCT/InvQ模块383、帧内预测模块384、解块滤波器387可视为共同构成解码子系统,在编码系统300的不同实施方式中,其配置可能会有所不同。应该指出的是,由于在H. 264标准中,解块过滤器是可选的,ー些具体实施方式
中可能选择绕过解块过滤器387。此外,为了简洁的目的,简化帧内解码路径内的帧内预测电路,并减少至帧内预测模块384,从图纸中省略标准的帧内预测反馈环路。还应指出的是,在同一个芯片或板上既包括H. 264编码器、又包括H. 264解码器的应用中,H. 264编码器可能能够重新使用H. 264解码器的一些电路,例如上文所述的帧内解码路径。因此,据估计,在某些具体实施方式
中,编码器系统300的部分或全部组件将是共同集成电路芯片的一部分。没有必要在參考窗ロ缓冲区388中存储全部參考I帧,仅仅存储对应于由H. 264编码器系统定义的搜索窗ロ的部分參考I帧-ME/MC模块315寻找最佳匹配的參考块的唯一区域。因为在大多数实际实现中,搜索窗ロ只占整个帧的一小部分,參考窗ロ的缓冲区388通常相对较小,并可以在同一芯片上进行帧内存储。因此,在某些具体实施方式
中,參考窗口的缓冲区388小于参考I帧。图4示意性地说明,根据本发明一具体实施方式
,参考帧如何逐步解码。在该实施例中,当前帧440为45宏块宽,搜索窗口 420定义为44X 3宏块,其中心与当前正在处理的宏块对齐。这意味着,为了处理当前编码的帧440中的帧间编码宏块,来自参考I帧的44X 3宏块窗口必须立即解码,并且参考窗口缓冲区有空间(available)。例如,为了对第一宏块MBO 410 (P帧)进行编码,需要宏块MB0-MB22和MB45-MB66 (参考I帧)的支持。同样,对MB67 430 (P帧)进行编码,需要MB1_MB44、MB46_MB89以及MB91-MB134 (参考I帧)的支持。应该指出的是,如果处理的宏块位置为,支持窗口超过帧的边界,很明显,该超出的部分不能也不需要进行解码。图5提供了典型的时间图500,其描述了根据一具体实施方式
,同时进行的P帧编码和参考I帧解码。首先,参考I帧的宏块MBO至MB66解码并存储至参考窗口的缓冲区。这对于待编码的P帧的第一宏块(ΜΒ0 510)提供了足够的参考数据支持。虽然P帧的MBO 510正在编码,参考I帧的MB67 520正在解码并存入参考窗口的缓冲区。然后,对P帧的MBl进行编码,并对参考I帧的MB68进行解码并存储,并且以这种方式以光栅顺序继续该进程,直到对P帧中的最后宏块进行编码(当其最后宏块被解码,I帧解码较早结束)。因此,参考I帧的解码开始和解码结束均早于P帧的编码。为了有效使用存储器,新解码的I帧宏块可以覆盖参考窗口缓冲区中“最旧的”1帧宏块,即不会再用作参考的宏块。例如,在图4描述的具体实施方式
中,MB135可以代替MB0,MB136可以覆盖MB1,等等。可以通过循环缓冲区管理实现这种机制。因此,在一些具体实施方式
中,在搜索窗口内没有相应的编码块的宏块,将从参考窗口的缓冲区388中丢弃。在上面的实施例中,参考窗口缓冲区的大小,略微超过了搜索窗口的大小。这是因为解码的宏块以光栅顺序进行处理,其为迄今最简单的对I帧进行解码的方式。然而,值得注意的是,有更复杂的解码序列,使参考窗口缓冲区的大小下降到搜索窗口的大小。根据另一具体实施方式
,H. 264视频编码器只采用I帧和P帧。一些P帧,以下称为P’帧,将用作其它P帧的参考。其它P帧将参考前面的P’帧或I帧,无论哪一个更加接近。图6显示了该参考方案的一个实施例。值得注意的是,两个连续参考帧(P’或I)之间的P帧数目和I帧之间的P’帧数目可以是任意的,在整个视频码流中,这些数字没有必要保持不变。同样值得注意的是,I帧后面不一定跟随P’帧;相反,其可能跟随一个或多个P帧。图6说明了根据另一具体实施方式
的分配类型和参考方案600。每一帧被分配为I帧或P帧,而没有B帧。一些P帧,以下称为P’帧,将用作其它P帧的参考。其它P帧将参考前面的P’帧或I帧,无论哪一个更加接近。在图6所示的实施例中,如箭头所示,P’帧620和630使用I帧610作为它们的参考帧,P帧621、622、623和631、632、633分别使用P’帧620和630作为它们参考帧。然而,在下一组帧中,参考方案可能略有不同,如该实施例所示=P帧651和652使用I帧650作为它们的参考帧,P帧661和662使用P’帧660作为它们的参考帧。值得注意的是,两个连续参考帧(P’或I)之间的P帧数目和I帧之间的P’帧数目可以是任意的,在整个视频码流中,这些数字没有必要保持不变。同样值得注意的是,I帧后面不一定跟随P’帧;相反,如上文所述,其可能跟随一个或多个P帧。在该具体实施方式
中,H. 264视频编码器不会储存或依靠完全未压缩的参考帧。相反,运动估计和运动补偿所需的參考数据通过对该參考帧(I帧或P’帧)进行逐步解码获得,该參考帧存储编码(压缩)于比特流缓冲区中。当P’帧为參考帧时,为了对其进行解码,其自己的參考(其必须为I帧)必须首先至少部分解码。在这种情况下,对P’帧和I帧进行逐步解码,以对编码器提供參考数据。在图7中,描述了根据该具体实施方式
的典型H. 264编码器系统700。当前帧705在宏块(箭头表示)710的単元中进行处理。如预测模块719 (箭头表示)的指示,宏块710或者以帧内模式进行编码,或者以帧间模式进行编码,并且对于每个宏块均形成预测块725(箭头表示)。在帧内模式中,帧内预测模块780基于相邻的宏块数据766形成帧内预测块718(箭头表示),该相邻的宏块数据766存储于帧内预测缓冲区765中。在帧间模式中,ME/MC模块715执行运动估计,并输出运动补偿预测块717 (箭头表示)。根据预测模式719,MUX 720或者经过帧内预测块718,或者经过运动补偿预测块717,然后从宏块710中减去由此产生的预测块725。残余块730 (箭头表示)由DCT/Q模块735进行变换和量化,产生量化块740 (箭头表示),然后由熵编码器对其编码,并传送至比特流缓冲区750进行传输和/ 或存储。因此,ME/MC模块715、帧内预测模块780、MUX 720,DCT/Q模块735、熵编码器745可视为共同构成编码子系统。据估计,编码器系统700的可选实施方式将具有不同的编码子系统配置。例如,在可选的实施方式中,用另ー种类型的编码器取代熵编码器745。继续參考图7,除了对宏块进行编码和传输,H. 264编码器系统700还对其进行解码(重构),以提供对于未来的帧内预测或者帧间预测的參考。量化块740被IDCT/InvQ模块755进行逆变换和逆量化,并反向添加预测块725,以形成重构块760 (箭头表示)。重构块760然后写入帧内预测缓冲区765,以用于未来宏块的帧内预測。继续參照图7,当前帧705可以使用I帧或者P’帧作为參考。在这两种情况下,通过从宏块781単元的比特流缓冲区750读取,首次获得I帧參考数据;每个宏块781通过熵解码器782进行解码,通过IDCT/InvQ模块783进行逆变换和逆量化,并添加到预测模块784的输出。然后通过解块过滤器787进行过滤,以减少不必要的压缩失真,并最终存储在未压缩的I參考窗ロ缓冲区788内的相应位置。如前所述,没有必要在I參考窗ロ缓冲区788中存储整个參考I帧,而仅仅存储对应于由H. 264编码器系统700所定义的搜索窗ロ的中贞部分。继续參考图7,当I帧被当前帧705用作參考帧,I參考窗ロ的缓冲区788内的可用数据简单地被MUX 799传送至ME/MC模块715。然而,当P’帧被当前帧705用作參考帧,使用I參考窗ロ缓冲区788内的数据对參考P’帧进行解码-其传送至ME/MC模块795,以在对參考P’帧的帧间编码宏块进行解码时使用,如下文所述。当当前帧705参考P’帧时,从宏块791単元的比特流缓冲器中首次获得P’帧已编码的数据;每个宏块791被熵解码器792进行解码,被IDCT/InvQ模块793进行逆变换和逆量化,并添加到MUX 796的输出,根据当前解码的P’帧宏块791的编码模式,其或者传送帧内预测模块794的输出,或者传送ME/MC模块795 (其从I參考窗ロ的缓冲区788得到其參考数据788)的输出。然后该宏块被解块过滤器797过滤,并最終存储于未压缩的P’參考窗ロ的缓冲区798内的相应位置。P’參考窗ロ的缓冲区798中的数据被MUX 799传送至将要使用其对当前宏块710进行编码的ME/MC模块715。因此,熵解码器782和792、IDCT/InvQ模块783和793、帧内预测模块784和794、解块过滤器787和797、ME/MC模块795可被视为共同构成解码子系统,在编码系统700的不同实施方式中,其配置可能不同。应该指出的是,由于H. 264标准中,解块过滤是可选的,一些具体实施方式
可能选择绕过解块过滤器787和/或解块过滤器797。同样应该指出的是,为了简洁的目的,简化两个解码路径内的帧内预测电路,并减少至帧内预测模块794和784,从图纸中省略标准的帧内预测反馈环路。据估计,在某些具体实施方式
中,编码器系统700的部分或全部组件将是共同集成电路芯片的一部分。参考典型的H. 264编码器系统700,对参考I帧的帧进行编码的过程和时间图类似于图4和图5中充分描述的典型H. 264编码器系统300。图8和图9显示了对参考P’帧的帧进行编码的过程和时间图。图8示意性地说明,根据本发明一具体实施方式
,参考P’帧如何逐步解码。在该实施例中,当前帧840为45宏块宽,搜索窗口定义为44X3宏块,其中心与当前正在处理的宏块对齐。第一搜索窗口 820标示对当前帧840的MBO 810进行编码所需的P’帧参考数据的位置。按照光栅顺序,第一搜索窗口 820中的最后宏块为MB66 860 (参考P’巾贞)。对该宏块进行解码要求,反过来(in turn),参考P’帧所参考的I帧内的第二搜索窗口 850的支持。按照光栅顺序,第二搜索窗口 850中的最后宏块为MB133 (被参考P’帧所参考的I帧)。图9提供了典型的时间图900,其描述了根据一具体实施方式
,同时进行的P帧编码、参考P’帧解码及其参考I帧解码。首先,参考I帧的宏块MBO至MB66解码并存储至I参考窗口的缓冲区。这对于待解码的P’帧的第一宏块(ΜΒ0 910)提供了足够的参考数据支持。因此,开始下一个宏块循环,P’帧宏块开始依次以光栅顺序解码,同时继续对I帧进行解码。一旦P’帧的MBO至MB66已经解码,并存储至P’参考窗口缓冲器,就有足够的参考数据以开始对当前P帧的第一宏块(ΜΒ0 920)进行编码。然后继续该过程,同时对I帧和P’帧进行解码,并对当前P帧进行编码,直到当前P帧已经完全编码(对P’帧解码和对I帧解码较早结束)。因此,对I帧和P’帧的解码开始和解码结束均早于对P帧的编码。如前所述,为了有效使用存储器,可以对I参考和P’参考窗口缓冲区实施循环缓冲区管理,并且可以进一步降低参考窗口缓冲区的大小。虽然本申请中所描述的实施例,涉及按照H. 264视频编码标准的视频编码,本领域的技术人员将会注意到,这里描述并主张权利的过程可能适用于其它视频编码标准,该其它视频编码标准使用相似的灵活参考帧方案,例如VC-ι标准,其正式的名称为SMPTE421 M视频编解码标准。同样值得注意的是,虽然在此披露的实施例指导以视频编码器的各种硬件实现,这里描述并主张权利的技术可能也适用于纯粹的软件实现,或者结合软件和硬件元素以建立视频编解码器的实现。此外,虽然这里公开的方法和系统总体上关于视频帧和宏块,应该注意的是,这种系统和方法可用于与其它视频数据单元一起使用,例如视频领域、“视频片”和/或部分宏块。因此,应当指出的是,上面的描述所包含的内容或者附图显示的内容,应解释为说明性的意义而非限制性的意义。
图10显示了一种用于对视频数据的新单元进行编码的方法1000。方法1000以步骤1002开始,将已编码的参考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至参考窗口缓冲区。步骤1002的一个实施例是,使用熵解码器382、IDCT/InvQ模块383、帧内预测模块384 (图3),将比特流缓冲区350内的參考I帧的搜索窗口内的宏块,解码至參考窗ロ的缓冲区388。步骤1002的另ー个实施例是,使用熵解码器782和792、IDCT/InvQ模块783和793、帧内预测模块784、ME/MC模块795 (图7),将比特流缓冲区750内參考P’帧的搜索窗ロ内的宏块,解码至參考窗ロ的缓冲区798。方法1000继续进行至步骤1004,基于參考窗ロ缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。步骤1004的一个实施例是,使用ME/MC模块315、MUX 320、DCT/Q模块335、熵编码器345,基于參考窗ロ的缓冲区388 (图3),对宏块310进行编码。步骤1004的另ー个实施例是,使用ME/MC模块715、MUX 720、DCT/Q模块735、熵编码器745,基于參考窗ロ的缓冲区798 (图7),对宏块710进行编码。以上所述的变化以及其它变化,可以在这里描述的图像传感器系统中制造,而不脱离其范围。因此,应当指出的是,上面的描述所包含的内容或者附图显示的内容,应解释 为说明性的意义而非限制性的意义。后面的权利要求的目的是涵盖这里描述的所有通用和特定特征,以及本方法和系统的范围的全部陈述,其由于语言,可能落入其间。
权利要求
1.一种用于编码视频数据新单元的方法,包括如下步骤 将已编码的参考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至参考窗口缓冲区; 基于参考窗口缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。
2.如权利要求I所述的方法,其中所述参考窗口缓冲区小于已编码的参考视频数据单元。
3.如权利要求2所述的方法,其中,对已编码的参考视频数据单元进行解码之后,对视频数据新单元进行编码;对视频数据新单元的编码,在对已编码的参考视频数据单元进行解码之后结束。
4.如权利要求3所述的方法,其中 视频数据新单元是新的视频数据帧; 已编码的参考视频数据单元是视频数据的已编码参考帧。
5.如权利要求4所述的方法,其中每个块都是宏块。
6.如权利要求I所述的方法,其中参考窗口的缓冲区是循环的。
7.如权利要求I所述的方法,其中搜索窗口的位置基于正在编码的视频数据新单元的块。
8.如权利要求7所述的方法,其中搜索窗口的中央位置对应于正在编码的视频数据新单元块的位置。
9.如权利要求7所述的方法,进一步包括从参考窗口的缓冲区丢弃已解码的块,该参考窗口的缓冲区没有相应的已编码的块在搜索窗口内。
10.如权利要求I所述的方法,其中搜索窗口小于编码的参考视频数据单元。
11.如权利要求I所述的方法,其中,根据H.264视频编码标准来执行编码的步骤。
12.如权利要求I所述的方法,其中已编码参考视频数据单元的搜索窗口内的块包括帧内编码的块。
13.如权利要求12所述的方法,其中,所述帧内编码的块属于已编码的参考视频数据的I帧。
14.如权利要求12所述的方法,其中已编码参考视频数据单元的搜索窗口内的块进一步包括帧间编码的块。
15.如权利要求14所述的方法,其中解码步骤包括 将所述帧内编码的块解码成多个第一块; 使用第一块,将所述帧间编码的块解码成参考窗口缓冲区内的已解码的块。
16.如权利要求15所述的方法,其中 帧内编码的块属于已编码的参考视频数据的I帧; 帧间编码的块属于已编码的参考视频数据的P帧,其参考已编码的参考视频数据的I帧。
17.一种用于对视频数据的新单元进行编码的系统,包括 参考窗口的缓冲区; 解码子系统,其如此设置将已编码的参考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至参考窗口缓冲区; 编码子系统,其如此设置基于参考窗口缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。
18.如权利要求17所述的系统,其中所述参考窗口缓冲区小于已编码的参考视频数据单元。
19.如权利要求18所述的系统,其中所述编码子系统如此设置根据H.264视频编码标准,对视频数据新单元的每个块进行编码。
20.如权利要求17所述的系统,其中所述参考窗口的缓冲区、解码子系统、编码子系统都是共同的集成电路芯片的一部分。
全文摘要
本发明公开了一种用于编码视频数据新单元的方法,包括(1)将已编码的参考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至参考窗口缓冲区;(2)基于参考窗口缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。本发明同时公开了一种用于对视频数据的新单元进行编码的系统,包括参考窗口的缓冲区、解码子系统、编码子系统。解码子系统如此设置将已编码的参考视频数据单元的搜索窗口内的块,以光栅顺序递增地解码至参考窗口缓冲区;编码子系统如此设置基于参考窗口缓冲区内已解码的块,以光栅顺序对视频数据新单元的每个块进行编码。
文档编号H04N7/26GK102714717SQ201080057150
公开日2012年10月3日 申请日期2010年10月15日 优先权日2009年10月15日
发明者叶裕国 申请人:豪威科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1