用于运动补偿视频解码过程的有效存储器提取的制作方法

文档序号:7678208阅读:208来源:国知局

专利名称::用于运动补偿视频解码过程的有效存储器提取的制作方法
技术领域
:本发明涉及视频处理,且更特定来说,涉及用于运动补偿解码视频序列的存储器提取技术。
背景技术
:数字视频能力可并入到广泛的装置中,其中包含数字电视、数字直接广播系统、无线通信装置、便携式数字助理(PDA)、膝上型计算机、台式计算机、直接双向通信装置(有时称为"对讲机")、数字音乐及视频装置(例如,"iPod")及无线电电话(例如蜂窝式、卫星或基于地面的无线电电话)。这些视频装置及其它视频装置可在创建、修改、传输、存储、及播放全运动视频序列方面提供对常规模拟视频系统的显著改善。大量视频处理及编码技术已建立用来通信数字视频序列。例如,运动图像专家组(MPEG)已开发出大量视频编码标准,其中包含MPEG-l、MPEG-2和MPEG-4。其它标准包含ITUH.263标准及新兴的ITUH.264标准,所述两个标准均由国际电信联盟(ITU)开发。在MPEG-4的名称为"高级视频编码(AdvancedVideoCoding)"第IO部分中也阐述了所述ITUH.264标准。各种公司还开发出大量专有标准,且新的标准继续出现并演进。这些视频标准及其它视频标准均利用数据压縮。例如,许多视频编码技术利用经设计以通过利用时间相关或帧间相关对数据进行压缩的图形及视频压縮算法来提供帧间压縮。所述帧间压縮技术通过将某些图像帧的基于像素表示转换成运动表示来利用横跨帧的数据冗余。另外,视频压缩技术还可使用图像帧内的类似性(称为空间相关或帧内相关),从而允许帧内压縮。帧间压缩通常是经由运动估计及运动补偿编码技术来实现。在运动估计编码中,将待编码的视频块与参考帧(例如,先前已编码的帧)的视频块作比较以寻找类似视频块(称为预测视频块)。所述预测视频块由运动向量来识别,且可用于通过运动补9偿编码来编码当前视频块。所述运动补偿编码过程包含创建指示待编码的当前视频块与预测视频块之间的差的差块。特定来说,运动补偿编码通常是指使用运动向量来提取最佳预测块,且然后从输入块中减去最佳预测以产生差块(称为残差或残差视频块)的动作。所述残差视频块通常包含大致小于待编码的原始视频块的数据。在运动补偿已创建残差之后,还可执行一系列的额外步骤以进一步压縮数据。就解码来说,运动补偿通常是视频解码过程中带宽最密集的部分。对于运动补偿解码来说,将残差视频块相加回到用来编码残差的预测视频块。在此过程期间,参考帧的预测视频块需要使用识别参考帧中的此类视频块的运动向量来提取。这些与运动补偿解码相关联的存储器提取是带宽密集的,且当块大小降低及分辨率提高时可变得效率更低。
发明内容本发明描述可在运动补偿解码过程期间改善数据提取的有效存储器提取技术。所述技术提出在所述运动补偿解码过程的不同情景中可极为有效的数种不同的存储器提取模式。在某些实施例中,运动补偿单元基于具体情况从多个可能模式中选择一特定存储器提取模式以用于与一宏块的运动补偿解码过程相关联的存储器提取。当在帧间压缩中使用到次整数像素的分数内插时,本文所述技术可特别有用。当支持所述分数内插时,例如根据ITUH.264及MPEG-4,第10部分,可需要许多额外的参考像素值提取来支持所述分数内插。在一个实施例中,本发明提供一种包括以下的方法接收用于视频数据宏块的运动向量;从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取;及根据选定的存储器提取模式提取数据,其中所提取的数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。在另一实施例中,本发明提供一种包括以下的装置存储器,其存储像素数据;及运动补偿器,其接收用于视频数据宏块的运动向量,从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取,及根据选定的存储器提取模式从所述存储器提取数据,其中所提取的数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。在另一实施例中,本发明提供一种解码器,其接收用于视频数据宏块的运动向量,从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取,及根据选定的存储器提取模式提取数据,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。在另一实施例中,本发明提供一种包括以下的装置用于接收用于视频数据宏块的运动向量的装置;用于从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取的装置;及用于根据选定的存储器提取模式提取数据的装置,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。本文所述的这些及其它技术可实施于硬件、软件、固件,或其任一组合中。如果实施于软件中,那么可在数字信号处理器(DSP)或其它类型的处理器中执行所述软件。执行所述技术的软件可初始地存储在计算机可读媒体中且加载到处理器中并在此处执行以允许在运动补偿解码过程期间执行有效的存储器加载的视频解码。因此,本发明还包含一种计算机可读媒体,其包括可执行指令,所述指令在执行时致使解码器接收用于视频数据宏块的运动向量,从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取,及根据选定的存储器提取模式提取数据,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。本发明的一个或一个以上实施例的细节阐述于附图及下文说明中。从说明及图式及从权利要求书中将明了本发明的其它特征及优点。图1是图解说明可实施本文所述的存储器提取技术的例示性装置的方框图。图2是图解说明宏块、分区及子分区的概念之概念图。图3是图解说明由分数内插所需的额外像素围绕的视频数据宏块分区或子分区的概念图。图4是图解说明根据本发明的例示性运动补偿器的方框图。图5-9是图解说明根据本发明不同实施例的存储器提取技术的不同概念图。图10是图解说明在视频帧边缘上的视频数据宏块分区或子分区及可根据本发明可复制以促进分数内插的额外像素的概念图。图11是图解说明根据本发明的用于运动补偿解码过程的例示性提取技术的流程图。具体实施例方式本发明描述可在运动补偿解码过程期间改善数据提取的有效存储器提取技术。运动补偿通常是视频解码过程中带宽最密集的部分。对于运动补偿解码过程,将所接收的残差视频块相加回到用来编码所述残差视频块的预测视频块。在此过程期间,参考视频帧的预测视频块需要使用运动向量来提取,所述运动向量识别参考帧中与所编码的残差视频块相关的此类预测视频块。与运动补偿解码过程相关联的存储器加载消耗大量存储器带宽,且当块大小降低及分辨率改善时可变得效率更低。例如,如果执行分数内插,那么需要在此运动补偿解码过程期间提取相邻所述预测视频块的额外像素值。在此情况下,当块大小变小时,分数内插所需的额外数据量可变得庞大。同时,数据重叠可导致对相同数据的数次提取,例如,如果一个视频块子分区相对于另一子分区沿不同方向编码以使得所述子分区重叠的话。本发明提出在运动补偿解码过程的不同情景中可为有效的数种不同的存储器提取模式。通过定义数种提取模式,及针对既定情景选择适当模式,可改善所述解码过程。例如,运动补偿单元可基于具体情况从多个可能模式中选择一特定存储器提取模式以用于与一宏块的运动补偿解码相关联的存储器提取。当在帧间压縮中使用到次整数像素的分数内插时,本发明中所述的技术可特别有用,因为此可添加在运动补偿解码过程期间需要提取的大量数据。在某些情况下,本文所述的技术可减少ITUH.264运动补偿解码所需的带宽多达约65%。图1是图解说明可实施于视频编码装置中的例示性解码器10的方框图。解码器10可形成能够接收并解码视频数据的数字视频装置的一部分。在某些情况下,解码器10还可包含编码组件且可形成集成编码器/解码器(CODEC)的一部分。解码器10可实施于例如以下的装置内数字电视、数字直接广播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、数字音乐及视频播放器、台式计算机、数码相机、数字记录装置、具备网络能力的数字电视、蜂窝式或卫星无线电电话或具有视频能力的任何其它装置。解码器IO可形成为用于移动无线电电话的所谓"芯片组"的一部分,包含硬件、软件、固件及/或一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)的组合或其各种组合。另一选择为,解码器10可完全实施于软件中,在此情况下,所述软件可被加载到处理器上以提供本文所述的解码功能性。在此情况下,实施如本文所述的解码器功能性的所述软件可原始地存储在计算机可读媒体上。解码器IO可符合一个或一个以上视频编码标准,例如MPEG-4、ITU-TH.263、ITU-TH.264,或任何其它视频编码标准。解码器IO可支持包含运动补偿解码过程的帧间解码技术且还可支持其它技术,例如用于帧内编码的熵解码及可能帧内预测解码技术(例如空间补偿)。本文所述的技术可特别适用于新兴的ITUH.264标准,所述标准还阐述于MPEG-4中,名称为"高级视频编码(AdvancedVideoCoding)"的第IO部分中。如图1中所示,解码器10包含接收传入位流2的熵解码单元12。熵解码通常是指任何无损失解压縮过程,例如可变长度解码或霍夫曼(Huffman)解码。特定来说,传入位流2经熵解码以产生残差4及与所述残差相关联的一个或一个以上运动向量6。经熵解码的位流还可提供模式信息8,其规定如何解码残差4,例如使用帧间预测或帧内预测。换句话说,模式信息8指示残差4是基于当前帧(帧内)内的预测块而产生还是基于不同帧(帧间)内的残差块而产生。在某些情况中,模式信息8可包含有12运动向量6。残差4可由逆扫描单元14、逆量化单元16及逆变换单元18进行处理。逆扫描将残差的一维数据结构变换成两维视频块。逆量化应用一个或一个以上量化参数以从所述残差去除量化。逆变换是指对残差视频块去除任何变换的过程,例如离散余弦变换(DCT)。如上文所述,产生模式信息8以选择解码器10中的帧内或帧间模式。如果残差4为帧内编码,那么运动向量6用来识别来自当前视频帧的预测视频块,所述当前视频帧可存储于存储器20(也称作参考帧存储装置20)中。在此情况下,可将逻辑22设定为实施空间补偿单元24的帧内预测模式。在帧内预测模式中,空间补偿单元24使用运动向量6来从存储器20提取一个或一个以上像素数据块。空间补偿单元24输出帧内预测视频块26。然后使用加法器28将帧内预测视频块与残差4(在逆扫描、逆量化及逆变换之后)相加。如果需要,还可通过解块滤波单元30执行解块滤波,通常针对既定宏块的亮度值或块而不针对色度值。解块滤波单元的输出是经解码的宏块32,其还可作为可在解码过程的随后迭代中使用的当前帧的一部分存储回到存储器20中。如果残差4为帧间编码,那么运动向量6用来识别来自可存储于存储器20中的不同视频帧的一个或一个以上预测视频块。帧间预测可以是单一方向的,在此情况下,每一运动向量通常指向先前帧的视频块或帧间预测可以是双方向的,在此情况下,运动向量可指向先前或随后帧的视频块。然而,为简单起见,通常从其中运动向量指向先前帧的视频块的单一方向预测的角度来描述本发明技术。对于帧间编码模式来说,可将逻辑22设定为实施运动补偿单元34(也称为运动补偿器)的帧间预测。运动补偿单元34使用运动向量6来从存储器20提取一个或一个以上像素数据块。运动补偿单元34输出帧间预测视频块36。然后,使用加法器28将所述帧间预测视频块36与残差4(在逆扫描、逆量化及逆变换之后)相加。如果需要,还可通过解块滤波单元30执行解块滤波。同样,解码器10可输出经解码的宏块32,且所述经解码的宏块32还可作为可用于解码过程的随后迭代中的当前帧的一部分存储回到存储器20中。如上文所述,运动补偿通常是视频解码过程中的带宽最密集部分。特定来说,与运动补偿解码过程相关联的存储器加载及提取均是带宽极密集的,且当块大小降低及分辨率改善时可变得效率更低下。此外,如果执行分数内插,那么在此运动补偿解码过程期间将需要提取相邻预测视频块的额外像素值。被帧间预测的宏块可从整数倍的称作分区及子分区的大小不同的非重叠块形成。MPEG-4及ITU-H.263支持一个16x16宏块或者四个8x8宏块分区形状。ITUH.264及MPEG-4中名称为"高级帧内编码"的第10部分支持一个16x16宏块、两个16x8分区、两个8x16分区或四个8x8块分区。此外,ITUH.264及MPEG-4的第10部分进一步支持将每一8x8分区再划分成一个8x8子分区、两个8x4子分区、两个4x8子13分区或四个4x4子分区。在图2的概念图中大致图解说明宏块、分区及子分区的概念。分区40可包括完整的16乘16宏块或所述宏块可被划分成两个16x8分区、两个8x16分区或四个8x8块分区。此外,所述8x8块分区可进一步被划分成子分区42,S卩,一个8x8子分区、两个8x4子分区、两个4x8子分区或四个4x4子分区。如可在图2中看到,所述8x8块有时称为分区且有时称为子分区。当然,本发明的技术还可应用于根据其它标准或视频块大小所定义的宏块、分区及子分区。每一宏块可包含用于色度及亮度值的分区及/或子分区,且在某些情况下,由于这些不同像素分量的不同取样率,因此用于色度及亮度的块可不同。换句话说,宏块可包括更多色度值块中的一者及一个或一个以上亮度值块。然而,为简单起见,下文论述通常集中在作为像素块的宏块上。通常,应理解,这些像素块可以是色度块、亮度块及其组合。此外,可以多于一个的视频数据块表示一既定宏块的像素,例如,一个或一个以上色度值块及一个或一个以上亮度值块。每一分区或子分区具有其自身运动向量,所述运动向量描述待使用的参考帧及所述参考帧中从其收集预测分区或子分区的位置。此外,许多视频编码标准支持这些运动向量的半像素精确度。在此情况下,可通过对相邻整数像素进行双线性内插来产生半像素。例如,运动补偿器34可根据需要产生此类半像素帧间值。某些标准(例如,ITUH.264及MPEG-4,第10部分)进一步支持运动向量的四分之一像素精确度。在此情况下,可通过使用6阶滤波器沿水平及垂直方向滤波相邻整数像素产生半像素。然后,可通过对相邻半像素进行双线性内插来产生四分之一像素。此滤波及内插可实施于运动补偿器34中。遗憾的是,对于根据ITUH.264及MPEG-4,第10部分的此类四分之一像素精确度,必须提取用于待滤波的每一既定视频块的额外数据。此意指,对于任一既定宏块、分区或子分区,运动补偿器34必须不仅从存储器20提取既定视频块,还要提取所述既定视频块的最边缘像素(即,最靠近所述视频块的边缘的像素)的内插所需的相邻视频块。在这些情况下,当分区及子分区变得越来越小时,在运动补偿过程期间需要提取的数据量可变得广大。图3是图解说明由分数内插所需的额外像素52围绕的视频数据宏块分区或子分区50的概念图。应了解,包含更多的子分区可导致更高的分辨率,但由于分数内插所需的围绕既定分区或子分区的额外像素52所致需要明显更多的数据提取。同样,额外像素(例如,根据ITUH.264及MPEG-4,第10部分)是由于需要应用用于半像素内插的六阶滤波器所致。因此,在此背景中需要邻近既定视频块的最边缘像素的像素以允许到子像素分辨率的内插。为适应分数像素运动补偿,需要从参考帧提取大于分区(或子分区)大小的区域,即额外像素52。为适应符合ITUH.264的四分之一像素运动补偿,对于一16x8分区来说,需要来自参考帧的(16+5)x(8+5)区域(113%额外开销)((16+5)x(8+5)-(阔)—1I3%(16,—°而且,当分区(或子分区)大小减小时,额外开销将增加。当每一8x8分区被再划分成4x4子分区时,情况更遭(导致406%的额外开销)。以下表1显示ITUH.264标准的所有分区及子分区所需的额外开销。表l<table>tableseeoriginaldocumentpage15</column></row><table>由于过多的额外开销及其它理由,本发明提出可在运动补偿解码过程的不同情景中通过运动补偿器34来实施的数种不同存储器提取模式。由于在任何既定时间可使用的分区及子分区类型不同,因此在不同情况中最有效的模式可不同。通过定义数种提取模式,且针对既定情景选择适当的模式,运动补偿器34可改善解码过程。例如,运动补偿器34可基于具体情况从多个可能模式中选择一特定存储器提取模式以用于与一宏块的运动补偿解码相关联的存储器提取。如所述,当在帧间压縮中使用到次整数像素的分数内插时,本文所述的技术可特别有用,因为此可添加在运动补偿期间需要提取的大量数据。图4是图解说明根据本发明的例示性运动补偿器60的方框图。图4中所图解说明的运动补偿器60及存储器62可对应于图1中的运动补偿器34及存储器20或可实施于不同的解码器架构内。运动补偿器60接收运动向量64且使用运动向量64从存储器62中提取对应的像素数据块。运动补偿器60与存储器8可经由存储器总线65或其它类型的数据传递接口来耦合。在图4中所图解说明的实例中,运动补偿器60支持至少三种不同的用于运动补偿的存储器提取模式MC类型1(66A)、MC类型2(66B)及MC类型3(66C)。还可定义额外的模式,如通过呈现MC类型N(66N)所大致显示。确实,还针对以下情况构思了组合MC类型1及MC类型3的益处的MC类型4模式:在子分区层级,对于子分区中的某些,MC类型1可适用且对于其它子分区,MC类型3可适用。在下文将进行对此MC类型4模式的额外论述。在任何情况下,如图4中所示,存储器提取模式选择器70可确定用于既定情景的最佳模式且可使用开关68选择适当的模式。换句话说,运动补偿器60接收用于视频数据宏块的运动向量64,从多个可能模式(66A-66N)中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取,及根据选定的存储器提取模式提取数据。所提取的数据包含由运动向量64识别的像素值及分数内插所需的额外像素值。运动补偿器60还可包含参考块重构器72,其从所提取的数据重构适当参考块。对于整数像素值,参考块重构器72可简单地识别用于参考块的适合像素。然而,对于分数像素值,参考块重构器72可针对半像素或四分之一像素内插(例如根据视频编码标准)实施适当的滤波。同样,对于其中提取包含多个分区或子分区(下文进行论述)的大区域的某些模式,重构器72可处置从比正构造的参考块大得多的所提取区域识别参考块的适合像素。存储器62可包括任何类型的易失性或非易失性存储器技术,例如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)或快闪存储器。存储器可还实施为电可擦除可编程只读存储器(EEPROM)或另一非易失性或易失性存储器类型。不同的提取模式MC类型1(66A)、MC类型2(66B)及MC类型3(66C)可以不同方式提取数据。在一个实例中,MC类型1(66A)致使针对宏块的每一分区及子分区进行单独提取,MC类型2(66B)致使提取一包含宏块的每一分区及子分区的区域,且MC类型3(66C)致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。下文将提供MC类型1(66A)、MC类型2(66B)及MC类型3(66C)的额外细节及图解说明。在MC类型1(66A)中,可单独地提取每一分区或子分区以用于运动补偿解码过程。图5及6是对根据MC类型1(66A)的提取的概念性图解说明。如图5中所示,针对一宏块界定四个不同分区81A-81D。在提取所述不同分区81A-81D中的每一者的过程中,也提取邻近所述不同分区的额外像素82A-82D以促进分数内插。图6图解说明在此情况下在子分区层级上执行的类似MC类型1(66A)提取技术。在此情况下,一宏块分为分区85及数个子分区84A-841。分区及子分区的不同相对运动导致根据MC类型1(66A)所提取的不同区域之间的大致重叠。此重叠可导致效率低下,这是因为某些相同数据针对不同分区及子分区被提取了数次。而且,子分区的小块大小对于单独提取可为效率低下的,此是由于在既定存储器提取命令下提取小量数据所致。通常,较大的视频块可用比较小视频块中相称量的像素少的带宽来提取,这是因为一个较大视频块可经由一个命令串或突发来提取,此与许多较小块相反,其需要用于每一块的单独的离散命令。图6还显示所添加的区域(标示为虚线),其形成在分区85及子分区84A-84I中的每一者周围。可需要这些在分区85及子分区84A-84I周围的额外区域以用于分数内插。这些额外区域不仅增加需要提取的数据量,而且还致使不同提取之间更多的重叠。在MC类型2(66B)中,界定相对大的边界区域,其包含宏块的每一分区及子16分区。图7是根据MC类型2(66B)的提取的概念图。如图7中所示,针对一宏块界定三个不同分区91A-91C及三个不同子分区92A-92C。在此情况下,不是以单独的提取命令针对每一分区及子分区提取所请求的像素,而是在相应搜索空间96内围绕分区91A-91C及三个不同子分区92A-92C界定大的边界区域95,所述搜索空间96通常是已解码的先前帧。运动向量可包括用于宏块的不同分区91A-91C的一个或一个以上运动向量,且还可包括用于区域99的不同子分区的一个或一个以上运动向量,区域99自身可看作一分区(即,包含子分区的分区)。在此实例中,边界区域95为矩形且包含所有不同分区91A-91C及子分区92A-92C。另夕卜,边界区域95包含分数内插所需的各种额外像素值(例如,在围绕分区91A-91C及子分区92A-92C的区域中)。然而,根据MC类型2(66B),某些像素值(例如,在区98中)不在分区91A-91C或子分区92A-92C内且分数内插并不需要。此是由于边界区域95的矩形性质,所述性质给存储器提取添加简单性。也可界定非矩形边界区域以排除不需要的像素,但非矩形区域可给存储器提取添加不期望的复杂性。因此,非矩形边界区域可为不太需要的,且提取分数内插所不需要的额外像素值(例如,在区98中)在可使用存储器提取命令突发的情况下可实现添加的简单性。以举例方式,分区91A-91C可包括宏块的8乘8像素分区。子分区92A及94B可包括4乘4像素子分区及子分区92C。包含所有子分区92A-94C的区99自身可看作一个分区,即,包含子分区的分区。在某些情况下,但并不是所有情况下,MC类型2(66B)可提供对MC类型1(66A)的优点。一个优点是避免对相同像素的多次提取。分区91A的分数内插所需像素中的某些将与子分区92B的分数内插所需的像素重叠。然而,对于MC类型2(66B),这些像素作为边界区域95的一部分仅被提取一次,但所述像素用于运动补偿解码分区91A及子分区92B两者。MC类型2的另一潜在优点是边界区域95自身是一个大的邻近像素块的事实。由于此理由,提取边界区域95可相对于其中需要某些非邻近像素的情形而简化。边界区域95的矩形性质及边界区域95内的所有像素均被提取的事实给存储器提取添加简单性。在此情况下,执行边界区域95的完全提取所需要的存储器字数量相对于提取不限界于共用区域内的相称量的数据可能需要的字数量可减少。执行此类提取所需要的存储器字的实际数量将取决于数个因素,其中包含待提取的数据量、边界区域95的大小及形状(矩形为有效的形状),及存储器总线的宽度,即总线65的宽度(图4)。另一方面,在某些情况下,MC类型2(66B)实际上可比MC类型1(66A)效率低或复杂。此通常是由于根据MC类型2(66B),某些像素值(例如,在区98中)并不在分区91A-91C或子分区92A-92C内且分数内插并不需要的事实所致。对此类数据的提取是无关紧要的但却包含在内,这是因为在大多数情况下,矩形边界区域1795的添加简单性胜过排除无关紧要数据需要的添加成本或复杂性。然而,在某些情况下,如果分区91A-91C及子分区92A-92C展示出使其远离彼此移动的运动,那么大量此无关紧要数据可呈现在边界区域95中。在MC类型3(66C)中,使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区执行提取。以此方式,MC类型3(66C)因为围绕若干视频块集使用边界区域而稍微类似于MC类型2(66B),但因为在分区层级在相应子分区周围界定数个边界区域而不同。图8及9是根据MC类型3(66C)的提取的概念图解说明。如图8中所示,在搜索空间109内在分区层级界定四个不同的边界区域101A-101D,所述搜索空间109可以是视频序列中先前经解码的帧。换句话说,每一分区(无论其是唯一子分区还是较小子分区集)均包含其自身的分区边界区域。分区边界区域101A包含分区102及分区102的分数内插所需的额外像素。分区102可包括8乘8块,且因此,其自身可看作一子分区(参见图2)。分区边界区域101B包含三个子分区103A-103C、子分区103A-103C的分数内插所需的任何像素、及由于边界区域101B的矩形性质及子分区103A-103C的相对运动所致的可能某些额外像素。类似地,分区边界区域IOIC包含两个子分区104A及104B、子分区103A-103C的分数内插所需的像素、及由于边界区域101C的矩形性质及子分区104A-104B的相对运动所致的可能某些额外像素。类似于边界区域101B及IOIC,分区边界区域101D包含子分区(在此情况下为四个子分区105A-105D)、子分区105A-105D的分数内插所需的像素、及由于边界区域101D的矩形性质及子分区105A-105D的相对运动所致的可能某些额外像素。图9类似于图8,但其具有相应分区(其中的某些包含子分区)的不同相对运动。在图9中,在分区层级界定四个不同的边界区域111A-111D。换句话说,每一分区(无论其仅是分区还是子分区集)均包含其自身分区边界区域。分区边界区域111A包含分区112及分区分数内插所需的额外像素。分区边界区域111B包含三个子分区113A-113C、子分区113A-113C的分数内插所需的任何像素及由于边界区域111B的矩形性质及子分区113A-113C的相对运动所致的额外像素。分区边界区域111C包含两个子分区114A及114B、子分区113A-113C的分数内插所需的像素及由于边界区域111C的矩形性质及子分区114A-114B的相对运动所致的额外像素。类似于边界区域111B及111C,分区边界区域111D包含子分区(在此情况下为四个子分区115A-115D)、子分区115A-115D的分数内插所需的像素,及由于边界区域111D的矩形性质及子分区115A-115D的相对运动所致的额外像素。在图8中,不同的边界区域具有重叠,在此情况下,某些相同像素将作为不同边界区域的一部分被提取。然而,在图9中,由于在分区层级的不同相对运动,使此重叠最小化。出于此理由,图9中的情景比图8中的情景更可能使用MC类型3(66C)。相对于MC类型1(66A)及MC类型2(66B),MC类型3(66C)可更有效及/或更适合某些情形。图9中的情景是使用MC类型3(66C)的极可能候选情景。与MC类型2(66B)相对于MC类型1(66A)相关联的相同优点中的许多优点还可适用于MC类型3(66C)相对于MC类型1(66A)。MC类型3相对于MC类型2(66B)具有需要四个代替一个边界区域的缺点,且还具有所述边界区域之间重叠的潜在性,此可导致多次提取相同像素的低下效率。另一方面,MC类型3(66C)相对于MC类型2(66B)具有效率潜在性,尤其是对于类似于图9中所示情景的情景。参考图9,根据MC类型3(66C),可针对宏块的数个不同子分区113A-113C、114A及114B及115A-115D接收运动向量。然后通过在搜索空间119内在子分区的不同子集周围界定多个分区区域(例如,111B、111C及111D)来提取数据。例如,子分区113A-113C可包括一个子集,子分区114A及114B可包括另一子集且子分区115A-115D可包括另一子集。在分区层级界定每一子集。在此情况下,分区112的数据不会(例如)由于宏块的所述区域中的较低分辨率所致而分为子分区层级。在此情况下,围绕分区112界定分区区域111A。因此,在分区112可被看作8乘8像素分辨率的分区或子分区(参见图2)的情况下,分区区域111A也可被看作围绕其自身子分区子集来界定。在任何情况下,分区区域中的每一者均包含所述子分区子集中的一者及分数内插所需的邻近不同子分区的额外像素值。然后,运动补偿器60可从存储器62中提取多个分区区域以用于由图9中所示的各个分区或子分区所界定的宏块的运动补偿解码过程。分区/子分区112可包含8像素乘8像素视频数据块(及可能用以传达色度及亮度信息的两个或两个以上块)。子分区113A、113C及115A-115D可包含4像素乘4像素视频数据块(及可能用于每一所图解说明块的用以传达色度及亮度信息的两个或两个以上块)。子分区113A可包含一8像素乘4像素块(及可能用以传达色度及亮度信息的两个或两个以上块),而子分区114A及114B可包含若干4像素乘8像素块(及可能每一所图解说明块的用以传达色度及亮度信息的两个或两个以上)。分区区域111A-111D为矩形。此外,包含分辨率超过8乘8像素块的子分区的那些分区区域(例如,111B-111D)可包含不在所述子分区内且分数内插并不需要的某些额外像素值。此是由于区域111A-111D的矩形性质所致。尽管对此类数据的提取可为无关紧要的,但矩形边界区域111A-111D的添加简单性可胜过排除无关紧要数据所需的添加成本或复杂性。无论所使用的模式如何,可能产生的另一问题与视频帧边缘处的分数内插相关。在此情况下,此边缘像素的分数内插所需的数据可能不存在。图10是图解说明此边缘像素内插问题的一个相对简单解决方案的概念图。特定来说,当从参考视频帧122所请求的区域120包含驻留在参考视频帧122外部的部分124时,运动补偿器60(或另一组件)可简单地复制参考帧的最边缘像素值以界定部分124中的像素。然后,所复制的像素可用来执行到半像素及四分之一像素分辨率的任何分数内插。根据本发明,针对MC类型1、MC类型2及MC类型3所述的技术可单独使用或以组合方式使用。尽管在上述说明中,将所述技术描述为被选择的替代模式,但不同的模式(特定来说为MC类型2及MC类型3)可单独用于某些解码器。当一起使用时,选定的模式可取决于数个因素,其中包含存储器总线的宽度、存储器大小、运动补偿器中缓冲存储空间量、针对每一可能模式需要提取的数据总量、每宏块所需的用于运动补偿目的的平均存储器命令数量、每宏块所需的用于运动补偿目的的平均突发式请求数量。突发式请求是指出于有效性目的可串在一起的存储器命令,例如,当所请求的像素值以邻近方式存储时。突发式请求比非突发式请求更是所需要的,且通常在MC类型2及3中相对于MC类型1中更经常发生。图11是图解说明根据本发明用于运动补偿解码过程的例示性提取技术的流程图。如图11中所显示,解码器10的运动补偿器34接收与宏块相关联的运动向量6(132)。使用这些运动向量,运动补偿器34从MC类型1、MC类型2及MC类型3中选择存储器提取模式(134)。特定来说,运动补偿器34可选择使用最少存储器带宽的模式。存储器带宽量可受包含以下的数个变数影响可用存储器量、存储器速率、存储器之存储器总线宽度及待提取的区域的大小、形状及数量。如果运动补偿器34选择MC类型1,(是分支136),那么单独提取宏块的每一分区及子分区(138)。针对每一分区及子分区的所提取数据可包含到分数像素分辨率(如果需要)的分数内插所需的额外数据。然后,解码器IO继续进行包含由运动补偿器34使用所提取的数据执行的运动补偿过程的对宏块进行解码(148)。如果运动补偿器34选择MC类型2(是分支140),那么运动补偿器34界定包含宏块的每一分区及子分区的区域(142)。而且,此区域可包含到分数像素分辨率(如果需要)的分数内插所需的每一分区及子分区的额外数据。所述区域可为矩形,在此情况下,所提取数据中的某些可能是无关紧要的且运动补偿器34并不使用。在任何情况下,解码器IO然后继续进行包含由运动补偿器34使用所提取的数据执行的运动补偿过程的对宏块警醒解码(148)。如果运动补偿器34选择MC类型3(144),那么运动补偿器34界定包含宏块的不同子分区子集的数个区域(146)。每一子集均可包含所有与宏块的既定分区相关联的子分区。换句话说,所界定的区域中的每一者均包含与宏块的每一相应分区相关联的子分区。此外,所述区域中的每一者均可包含到分数像素分辨率(如果需要)的分数内插所需的每一子分区的额外数据。所述区域可为矩形,在此情况下,所提取数据中的某些可能是无关紧要且运动补偿器34并不使用。在任何情况下,解码器IO然后继续进行包含由运动补偿器34使用所提取数据执行的运动补偿过程的对宏块进行解码(148)。作为又一可能性,MC类型3模式自身可包含在分区层级的另一模式决策。在前述论述中,每一模式决策均被描述为宏块层级的模式决策,目卩,如何针对一宏块提取数据。另一可能性(本文中界定为MC类型4)可界定组合根据MC类型1的提取与根据MC类型3的提取以用于宏块的存储器提取。为实现MC类型4,可确定对于包含子分区的分区中的某些,最有效的提取方式是在那些子分区周围界定边界区域,而20对于包含子分区的其它分区,最有效的提取方式是单独提取所述子分区中的每一者。在数个分区中的一者包含彼此靠近移动的数个子分区,而所述分区中的另一者包含远离彼此移动的数个子分区时,可能发生此情景。在此情况下,针对分区中的某些执行MC类型3提取且针对所述分区中的其它分区执行MC类型1的MC类型4模式可最有效。换句话说,MC类型4致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对分区中的某些进行提取且致使针对宏块的其它子分区的单独提取。在MC类型4的某些实施方案中,模式决策可发生在宏块及分区层级两者处,S卩,在宏块层级处,是执行针对分区的单独搜索还是界定边界区域,且在分区层级处,是执行针对子分区的单独搜索还是界定边界区域。根据本文所述的技术,还可使用这些及其它类型的模式。上文已描述了许多实施例。本文所述的技术可实施于硬件、软件、固件或其任一组合中。如果实施于软件中,所述技术可针对包括指令的计算机可读媒体,所述指令在解码器中执行时,致使解码器执行本文所述技术。在所述情况下,计算机可读媒体可包括随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器或类似存储器。解码器可包括执行用于实施本文所述技术的软件指令的任何处理器或计算机。然而,可对本文所述技术作出各种修改。例如,技术MC类型2或MC类型3可单独使用以提供具有有效的存储器提取能力的运动补偿解码。然而,在MC类型1、MC类型2与MC类型3之间的选择通常比个别使用所述模式中的任一者更有效。这些及其它实施例均在所附权利要求书的范围内。2权利要求1、一种方法,其包括接收用于视频数据宏块的运动向量;从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取;及根据所述选定存储器提取模式提取数据,其中所述所提取的数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。2、如权利要求l所述的方法.其中所述运动向量包括用于所述宏块的不同分区的一个或一个以上运动向量;且根据所述选定存储器提取模式提取数据包括在搜索空间内在所述不同分区周围界定区域,所述区域包含所述不同分区中的每一者及所述分数内插所需的邻近所述不同分区的额外像素值;及提取所述所界定的区域以用于所述宏块的所述运动补偿解码过程。3、如权利要求2所述的方法,其中所述分区包含所述宏块的8乘8像素分区。4、如权利要求2所述的方法,其中所述分区中的一者或一者以上包含子分区且所述运动向量识别所述子分区的运动。5、如权利要求2所述的方法,其中所述所界定的区域为矩形且包含所有所述不同分区、分数内插所需的所述额外像素值及不在所述分区内且所述分数内插不需要的某些像素值。6、如权利要求l所述的方法,其中所述运动向量包括用于所述宏块的不同子分区的运动向量;且根据所述选定存储器提取模式提取数据包括在搜索空间内在所述子分区的不同子集周围界定多个分区区域,其中所述分区区域中的每一者均包含所述子分区的所述子集中的一者及所述分数内插所需的邻近所述不同子分区的额外像素值;及提取所述多个分区区域以用于所述宏块的所述运动补偿解码过程。7、如权利要求6所述的方法,其中所述子分区包含所述宏块的一个或一个以上4乘4像素子分区。8、如权利要求6所述的方法,其中所述分区区域中的每一者均为矩形且包含不在所述子分区内且所述分数内插不需要的某些额外像素值。9、如权利要求6所述的方法,其中所述分区区域中的每一者均包含与所述宏块的一相应分区相关联的若干子分区。10、如权利要求1所述的方法,其进一步包括复制参考视频帧的边缘像素值以界定分数内插所需的所述像素值中驻留在所述参考视频帧外部的某些像素值。11、如权利要求1所述的方法,其进一步包括使用所述所提取的数据解码所述宏块。12、如权利要求1所述的方法,其中所述宏块包括更多色度值块中的一者及一个或一个以上亮度值块。13、如权利要求1所述的方法,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;及第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。14、如权利要求l所述的方法,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取;及第四模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对所述分区中的某些分区进行提取且致使针对所述宏块的其它子分区进行单独提取。15、一种装置,其包括存储器,其存储像素数据;及运动补偿器,其接收用于视频数据宏块的运动向量,从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取,及根据所述选定存储器提取模式从所述存储器提取数据,其中所述所提取的数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。16、如权利要求15所述的装置,其中所述运动补偿器接收用于所述宏块的不同分区的一个或一个以上运动向量;及根据所述选定存储器提取模式通过以下方式从所述存储器提取所述数据在搜索空间内围绕所述不同分区界定区域,所述区域包含所述不同分区中的每一者及所述分数内插所需的邻近所述不同分区的额外像素值;及提取所述区域以用于所述宏块的所述运动补偿解码过程。17、如权利要求16所述的装置,其中所述分区中的一者或一者以上包含子分区且所述运动向量识别所述子分区的运动。18、如权利要求16所述的装置,其中所述区域为矩形且包含所有所述不同分区、分数内插所需的所述额外像素值及不在所述分区内且所述分数内插不需要的某些像素值。19、如权利要求15所述的装置,其中所述运动补偿器接收用于所述宏块的不同子分区的运动向量;及根据所述选定存储器提取模式通过以下方式从所述存储器提取所述数据在搜索空间内在所述子分区的不同子集周围界定多个分区区域,其中所述分区区域中的每一者均包含所述子分区的所述子集中的一者及所述分数内插所需的邻近所述不同子分区的额外像素值;及提取所述多个分区区域以用于所述宏块的所述运动补偿解码过程。20、如权利要求19所述的装置,其中所述分区区域中的每一者均为矩形且包含不在所述子分区内且所述分数内插不需要的某些额外像素值。21、如权利要求19所述的装置,其中所述分区区域中的每一者均包含与所述宏块的一相应分区相关联的若干子分区。22、如权利要求15所述的装置,其中所述运动补偿器复制参考视频帧的边缘像素值以界定分数内插所需的所述像素值中驻留在所述参考视频帧外部的某些像素值。23、如权利要求15所述的装置,其中所述运动补偿器使用所述所提取的数据解码所述宏块。24、如权利要求15所述的装置,其中所述宏块包括较多个色度值块中的一者及一个或一个以上亮度值块。25、如权利要求15所述的装置,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;及第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。26、如权利要求l所述的装置,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取;及第四模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对所述分区中的某些分区进行提取且致使针对所述宏块的其它子分区进行单独提取。27、一种解码器,其接收用于视频数据宏块的运动向量;从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取;及根据所述选定存储器提取模式提取数据,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。28、如权利要求27所述的解码器,其中所述解码器接收用于所述宏块的不同分区的一个或一个以上运动向量;及根据所述选定存储器提取模式通过以下方式从所述存储器提取所述数据在搜索空间内围绕所述不同分区界定区域,所述区域包含所述不同分区中的每一者及所述分数内插所需的邻近所述不同分区的额外像素值;及提取所述区域以用于所述宏块的所述运动补偿解码过程。29、如权利要求27所述的解码器,其中所述解码器接收用于所述宏块的不同子分区的运动向量;根据所述选定存储器提取模式通过以下方式从存储器提取所述数据在搜索空间内在所述子分区的不同子集周围界定多个分区区域,其中所述分区区域中的每一者均包含所述子分区的所述子集中的一者及所述分数内插所需的邻近所述不同子分区的额外像素值;及提取所述多个分区区域以用于所述宏块的所述运动补偿解码过程。30、如权利要求27所述的解码器,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;及第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。31、如权利要求30所述的解码器,其中所述多个模式包含第四模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对所述分区中的某些分区进行提取且致使针对所述宏块中的其它子分区进行单独提取。32、如权利要求27所述的解码器,其中所述解码器使用所述所提取的数据执行运动补偿解码过程。33、一种计算机可读媒体,其包括在被执行时致使解码器执行以下操作的可执行指令接收用于视频数据宏块的运动向量;从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取;及根据所述选定存储器提取模式提取数据,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。34、如权利要求33所述的计算机可读媒体,其中所述指令在被执行时致使所述解码器执行以下操作接收用于所述宏块的不同分区的一个或一个以上运动向量;及根据所述选定存储器提取模式通过以下方式提取数据在搜索空间内围绕所述不同分区界定区域,所述区域包含所述不同分区中的每一者及所述分数内插所需的邻近所述不同分区的额外像素值;及提取所述区域以用于所述宏块的所述运动补偿解码过程。35、如权利要求33所述的计算机可读媒体,其中所述指令在被执行时致使所述解码器执行以下操作接收用于所述宏块的不同子分区的运动向量;及根据所述选定存储器提取模式通过以下方式提取数据:在搜索空间内在所述子分区的不同子集周围界定多个分区区域,其中所述分区区域中的每一者均包含所述子分区的所述子集中的一者及所述分数内插所需的邻近所述不同子分区的额外像素值;及提取所述多个分区区域以用于所述宏块的所述运动补偿解码过程。36、如权利要求33所述的计算机可读媒体,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;及第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。37、如权利要求36所述的计算机可读媒体,其中所述多个模式包含第四模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对所述分区中的某些分区进行提取且致使针对所述宏块的其它子分区进行单独提取。38、一种装置,其包括接收装置,其用于接收用于视频数据宏块的运动向量;选择装置,其用于从多个可能模式中选择一存储器提取模式以用于与所述宏块的运动补偿解码过程相关联的存储器提取;及提取装置,其用于根据所述选定存储器提取模式提取数据,其中所述数据包含由所述运动向量识别的像素值及分数内插所需的额外像素值。39、如权利要求38所述的装置,其中所述接收装置接收用于所述宏块的不同分区的一个或一个以上运动向量;及所述提取装置在搜索空间内围绕所述不同分区界定区域,且提取所述区域以用于所述宏块的所述运动补偿解码过程,所述区域包含所述不同分区的每一者及所述分数内插所需的邻近所述不同分区的额外像素值。40、如权利要求38所述的装置,其中所述接收装置接收用于所述宏块的不同子分区的运动向量;及所述提取装置在搜索空间内在所述子分区的不同子集周围界定多个分区区域,且提取所述多个分区区域以用于所述宏块的所述运动补偿解码过程,其中所述分区区域中的每一者均包含所述子分区的所述子集中的一者及所述分数内插所需的邻近所述不同子分区的额外像素值。41、如权利要求38所述的装置,其中所述多个模式包含第一模式,其致使针对所述宏块的每一分区及子分区进行单独提取第二模式,其致使提取包含所述宏块的每一分区及子分区的区域;及第三模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对每一分区进行提取。42、如权利要求41所述的装置,其中所述多个模式包含第四模式,其致使使用包含每一相应分区的一个或一个以上子分区的分区区域针对所述分区中的某些分区进行提取且致使针对所述宏块的其它子分区进行单独提取。全文摘要本发明描述可在运动补偿解码过程期间改善数据提取的有效存储器提取技术。所述技术提出在所述运动补偿解码过程的不同情景中可极为有效的数种不同的存储器提取模式。在某些实施例中,运动补偿器基于具体情况从多个可能模式中选择特定存储器提取模式以用于与宏块的运动补偿解码过程相关联的存储器提取。当在帧间压缩中使用到次整数像素的分数内插时,本文中所述的技术可尤其有用。文档编号H04N7/36GK101496411SQ200780027877公开日2009年7月29日申请日期2007年7月27日优先权日2006年7月27日发明者拉温德拉·C·纳加拉杰,斯蒂芬·莫洛伊申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1