上下文自适应的vlc视频变换系数编码/解码方法与设备的制作方法

文档序号:7853880阅读:342来源:国知局
专利名称:上下文自适应的vlc视频变换系数编码/解码方法与设备的制作方法
技术领域
本发明涉及视频编码/解码领域。更具体地,本发明涉及图片宏块的(亮度/色度)块变换系数的编码,以及该编码的解码。
背景技术
微处理器和视频相关技术的进步已经带来了许多类型的视频设备的广泛部署和采用。这样的视频设备的例子包括但不局限于数字便携式摄像机、数字多用途盘(DVD)播放器、视频使能的膝上型计算机和桌上型计算设备以及服务器等等。
联网、电信、卫星以及其它相关技术的进步也已经导致对视频的按要求递送和/或实时在线递送的增加,这包括在公共网络如因特网上的递送。
不管视频是离线递送(例如从DVD播放器)或是在线递送(例如从视频服务器),高质量的视频都固有地要求大量的数据。因此,视频递送与再现经常包括编码与解码来减少要存储、检索和/或发送的数据量。
视频的编码/解码经常包括将该视频作为一个图片流处理。每张图片可以是一场或一帧(典型地由两个隔行的场组成),并且可被分解成多个宏块。每个宏块经常被再分割为各种大小的块,这些块被转换并量化为多个采样、各种类型的亮度和/或色度采样。
许多编码/解码技术在本领域是公知的。例如,一种技术使用单个的可变长度编码(VLC)方案来编码宏块的各种参数。该技术易于实施,然而数据的减少量即压缩只是中等有效。
其它技术,如基于上下文的自适应二进制算法编码(CABAC),使用上下文适配与算法编码来提高整体的有效性。然而,诸如CABAC的技术是复杂的、要求存储量,并且难于实施。
需要的是一种比常规的非上下文自适应技术更为有效,但实施比迄今已知的上下文自适应技术更简单的上下文自适应技术。
附图简述本发明将通过但不局限于附图中示出的示范实施例的方式进行描述,在附图中相同的标记代表相似的部件,并且其中

图1示出了根据一个实施例的、本发明的用于编码图片宏块的(亮度/色度)块变换系数的上下文自适应VLC编码器的全图;图2示出了根据一个实施例的、图1编码器块的相关方面的操作流程,该流程用来以组合的方式编码图片宏块的(亮度/色度)块的一串变换系数的多个系数和多个拖尾的1值(trailing one)系数;图3示出了根据一个实施例的、图1编码器块的相关方面的操作流程,该流程用来编码图片宏块的(亮度/色度)块变换系数的电平测度(level measure);图4示出了根据一个实施例的、图1编码器块的相关方面的操作流程,该流程用来编码被插入图片宏块的(亮度/色度)块变换系数的非零系数之间的多个零系数和它们各自的游程长度;图5示出了根据一个实施例的、本发明的上下文自适应VLC解码器的全图,该解码器用于解码根据类似于图1的编码器的编码原理编码的变换系数;图6示出了根据一个实施例的、具有结合了本发明的编码/解码方法的编码器和解码器的视频设备;图7示出了根据一个实施例的、具有可记录媒体的产品,该产品具有本发明的编码器/解码器的软件实现,其被设计用于对一个设备编程使该设备具有本发明的编码/解码能力;以及图8示出了根据一个实施例的、具有结合了本发明的编码/解码方法的视频发送设备和视频接收设备的系统。
本发明的实施方案详述本发明包括上下文自适应VLC变换系数编码器、互补的解码器、配备有这些编码器和/或解码器的设备、由这些设备组成的系统、以及这些部件、设备和系统的操作方法,以及相关主题。
在下面的描述中,本发明的各个方面将被描述。然而,对于本领域的技术人员而言,显然本发明可以只使用本发明的一些或全部方面被实施。为了解释,提出了特定的数字、材料和配置以便提供对于本发明的全面的理解。然而,对于本领域的技术人员而言,显然本发明可以不使用这些特定的细节而被实施。另外,熟知的特征被省略或简化以便使本发明更清楚。
术语与本领域的技术人员传递他们工作的本质给本领域的其他技术人员通常采用的方式一致,部分描述将以视频编码和解码术语给出,如图片、宏块、块、采样、亮度、色度、变换系数、之字形扫描次序、数量、符号、电平、游程长度等等。这些术语对于本领域的技术人员而言很好理解。特别地,在视频设备中,这些量采取了电、磁、或光信号的形式,以便能够被存储、转换、组合、以及另外通过处理器及其子系统的电和/或光器件被操作。
在各种视频编码/解码标准中,编码是根据一定的语法规则组织的,因此它们也被称作“语法元素”。
章节标题、描述的次序以及实施例章节标题只是用来提高可读性,并且它们并非要被解释来限制或缩小本发明。
各种操作将以最有助于理解本发明的方式依次被描述为多个不连续的步骤;然而,描述的次序不应被解释为意味着这些操作是必定遵守的次序。特别地,这些操作不必按照所介绍的次序执行。
短语“在一个实施例中”被重复使用。该短语一般不指同一个实施例,然而,也可能是同一个实施例。术语“包含”、“具有”和“包括”是同义的,除非上下文指示另外的含义。
概述图1示出了根据一个实施例的、本发明的用于编码图片宏块的(亮度/色度)块变换系数的上下文自适应VLC编码器的全图。如图所示,对于该实施例,上下文自适应VLC编码器100包括编码器块102-106,它们平行地被耦合到编码器100的输入108用来接收视频图片宏块的(亮度/色度)块的量化的变换系数。相应地,编码器块102-106把所接收的(亮度/色度)块的变换系数编码为VLC码字,并且将该VLC码字作为比特流在输出端110处输出。VLC码字也称作变换系数的“编码”(或“语法元素”)。
更具体地,编码器块102被配备有VLC码字表122和编码逻辑124,来自适应地选择VLC码字表122中的一个来以组合的方式编码宏块的各个块中系数的数量和拖尾的1值系数的数量(Num-Trail)。即,宏块的各个块中系数的数量和拖尾的1值系数的数量有利地由单个的VLC码字编码。编码器块102是Num-Trail编码器块102的简称。
“拖尾的1值系数”,如该术语所示,指的是在典型地根据之字形扫描次序安排的块变换系数“后面(back)”的“1”值系数。之字形扫描次序是变换系数从(大约)最低的空间频率到最高空间频率的顺序的排序。“前面(front)”和“后面”的方位可从“次序”的角度看出。例如,如果采样块的变换系数为5001201101001111,最后的四个“1”变换系数(从后面数)被称作拖尾的1值系数,或T1。
在一个实施例中,拖尾的1值系数的长度被剪短为3(从该串变换系数的“后面”计数)。即,对于该实施例,为了编码,T1系数的最大长度被限制到3。“被排除的”拖尾的1值系数被作为在该拖尾的1值系数之前的“非零系数”“正常地”编码。
在替代的实施例中,本发明可以用更大或更小的最大长度的T1系数来实现。
编码器块104配备有VLC码字表132和编码逻辑134来自适应地选择VLC码字表132中的一个,以编码位于该采样块的拖尾的1值系数之前的(包括“被排除的”或“剪短的”拖尾的1值系数,如果有的话)每个非零系数的电平测度(或简称电平)。换句话说,与已有技术不同,在本发明下,系数的数量和非零系数的电平有利地被单独编码。编码器块104是电平编码器块104的简称。
在一个实施例中,电平编码器块104也被配备来编码T1系数的符号(SignTrail)。在替代的实施例中,该T1系数的符号的编码可以例如改为由Num-Trail编码器102编码。
编码器块106被配备有VLC码字表142和编码逻辑144以编码被插入块的非零系数之间的零系数的总数,以及它们各自的游程长度(TotalZero与RunLength)。在较早的实例中,有总共6个零被插入非零之间,并且它们各自的游程长度是2、1、1、2。编码器块106是TotalZero-RunLength编码器块106的简称。
在一个实施例中,每个宏块包含16(4×4)个块的亮度采样,8个相应的4×4色度AC块,以及2个2×2色度DC块。相应的输出格式如下亮度{〔NumTrail Sign-Trail Levels(16)Total Zeros RunLengths〕*4}*4色度DC〔NumTrail Sign-Trail Levels(4)Total Zeros RunLengths〕*2色度AC{〔NumTrail Sign-Trail Levels(15)Total Zeros RunLengths〕*4}*2对于熟知的内(intra)16×16的宏块类型,有1个内16×16 DC采样块和16个内4×4AC采样块,相应的输出格式如下内16×16DCNumTrail Sign-Trail Levels(16)TotalZeros RunLengths内16×16AC〔NumTrail Sign-Trail Levels(15)TotalZeros RunLengths〕*16(4×4块)除了新的VLC码字表122、132和142,以及编码逻辑124、134和144自适应地选择提供给编码器块102-106的适当的VLC码字表之外,编码器100的其它方面,包括编码器块102-106的其它方面是已知的,并且将不作进一步的描述。
在各个实施例中,包括编码块102-106的编码器100可以以硬件的方式来实现,例如通过专用集成电路(ASIC)实现,或以软件的方式来实现,例如通过诸如C的编程语言实现,或者以两者的结合的方式实现。
数量和拖尾的1值系数编码器块在各个实施例中,Num-Trail编码器块102包括三个(3)用于编码亮度采样块的变换系数的VLC码字表,以及一个(1)用于编码色度采样块的变换系数的VLC码字表。
更具体地,在一个实施例中,用于编码亮度采样块的变换系数的所述三个码字表为

表1-亮度Num-VLC0


表2-亮度Num-VLC1

表3-亮度Num-VLC0用于编码色度采样块的变换系数的单个码字表为

表4-色度Num-VLC
在替代的实施例中,可以使用不同数量的VLC码字表和不同的VLC码字,包括VLC码字被存储的方式。更具体地,在一些实施例中,VLC码字本身可以被存储在保存格式为{p,L}的存储空间中,其中p代表码字的被明确地列举的部分,而L代表该特定码字的长度。当VLC码字被使用的时候,VLC码字的未列举的部分是从前面填充的零,例如,“0100 8”变成00000100。
特别地,在一个替代的实施例中,用于编码亮度采样块的变换系数的VLC码字表为

表5-亮度Num-VLC0’


表6-亮度Num-VLC1’

表7-亮度Num-VLC2’
用于编码色度采样块的变换系数的码字表为

表8-色度Num-VLC’图2示出了根据一个实施例的、图1的编码器块的相关方面的操作流程,该操作流程用来以组合的方式编码图片宏块的(亮度/色度)块的一串变换系数的系数的数量和T1系数的数量。如图所示,对于该实施例,一接收到图片宏块的(亮度/色度)块的变换系数,Num-Trail编码器块102的编码逻辑124就首先确定该采样块是亮度还是色度采样块,块201。在各个实施例中,指示当前的变换系数是亮度还是色度采样块的系数的信息与该系数一起被提供,并且编码逻辑124基于提供的伴随信息确定该采样块类型。
对于3个亮度与1个色度VLC码字表实施例,一确定该采样块是色度采样块,Num-Trail编码器块102的编码逻辑124就继续选择色度VLC码字表来编码变换系数,块204。
然而,如果当前采样块是亮度采样块,则Num-Trail编码器块102的编码逻辑124首先确定一个上下文度量,用于帮助上下文自适应选择所提供的多个亮度VLC码字表中的一个。在各个实施例中,Num-Trail编码器块102的编码逻辑124计算在一个或多个选择的邻近采样块中变换系数的平均数量作为该上下文度量(Avg)。更具体地,在一个实施例中(其中宏块的采样块以常规的之字形的方式被提供),编码逻辑124计算当前采样块上面的采样块和左面的采样块的Avg作为上下文度量。
在其中没有上面的采样块的退化(degenerate)的情况中,Avg被设置为当前采样块左面的采样块中变换系数的数量。以类似的方式,在其中没有当前的采样块左面的采样块的退化的情况中,Avg被设置为之上采样块中的变换系数的数量。在其中既没有当前采样块之上的采样块也没有左面的采样块的退化的情况中,Avg被设置为零。
在一个实施例中,Num-Trail编码器块102的编码逻辑124选择VLC码字表如下如果(0<=Avg<2),则选择码字表Num-VLC0/Num-VLC0’;如果(2<=Avg<4),则选择码字表Num-VLC1/Num-VLC1’;如果(4<=Avg<8),则选择码字表Num-VLC2/Num-VLC2’;并且如果(8<=Avg),则生成一个6比特固定长度码字(FLC)xxxxyy,其中xxxx表示系数的数量,而yy表示T1。
在一个实施例中,当Avg=>8,并且用于当前采样块的系数的数量为0时,特定的码字000011被使用。
继续参照图2,其后,即,一选择了VLC码字表(或FLC,在亮度采样块的情况中),编码逻辑124就继续确定用于当前采样块的系数的数量和T1,块206-208。然后,逻辑124使用选择的VLC码字表(或FLC,在亮度采样块的情况中)来相应编码当前采样块的系数的数量和T1。
电平编码器块在各个实施例中,电平编码器块103包括多个VLC码字表,用于编码亮度以及色度采样块的变换系数的电平。
更具体地,在一个实施例中,多个VLC码字表从五(5)个构建的码字表中“导出”,并且该构建的码字表为101001..
00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx表9-Lev-VLC0
1x01x001x..
00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx表10-Lev-VLC11xx01xx001xx..
00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx表11-Lev-VLC21xxx01xxx001xxx..
00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx表12-Lev-VLC3
1xxxx01xxxx001xxxx..
000000000000001xxxx0000000000000001xxxxxxxxxxxx表13-Lev-VLC4在每个VLC码字表中的码字根据前导的零的数量而增加,并且xxx串代表可能的组合的次序,例如,对于表示为01xxxx的码字,码字为010000,010001,010010,...,011111。
电平根据上升的码号(code number)对而被指配。电平的正值接收码号对的较小的码号且电平的负值接收较大的码号。
在每个表中最后的两个条目可以被视为转义码(escape code)。具有四个“x”的第一转义码被用于编码在最后的规则编码电平上面的8个电平。下一个具有12个“x”的转义码被用于编码所有的其余电平。
一般地,将被编码的电平取值±1,±2等等(Level)。然而,对于将被编码的第一系数(T1之后,从一串变换系数的后面开始处理),如果T1<3或Number_of_coefficients=T1,则将被编码的电平可以取值±2,±3等等(Level’)。这样,如果Lev-VLC0或Lev-VLC1被使用来编码第一系数(在T1之后,从后面开始处理),电平可以在±2处开始。
为了说明,考虑下面的示例“导出的”VLC码字表,其中列出了用于每个Lev-VLC表的码字的选择。



图3示出了根据一个实施例的、图1的编码器块的相关方面的操作流程,该操作流程用于编码图片宏块的(亮度/色度)块的变换系数的电平测度。如图所示,对于该实施例,一接收到(亮度/色度)块的变换系数,电平编码器块104的编码逻辑134就首先编码T1的符号,块302。对于该实施例,用1个比特来编码每个符号。
此外,电平编码器块104的编码逻辑134开始对T1后(从后面开始处理)的第一非零系数进行电平编码,块304。对于该实施例,电平编码器块104的编码逻辑134计算上下文度量来帮助自适应选择一个适当的电平VLC码字表以便执行该编码,块306。在各个实施例中,上下文度量是当前宏块的量化参数值,并且该值也与该块中的系数的数量以及该块的变换系数的电平一起被提供。
在一个实施例中,电平编码器块104选择电平VLC码字表如下如果宏块间具有任意量化参数,或宏块内具有量化参数值>=9,则对于第一系数,选择Lev-VLC0,对于下一个系数,选择Lev-VLC1,并且然后,如果电平的绝对值>3,则选择下一个“较高的”Lev-VLCx码字表,直到2个码字表“较高”;如果宏块内具有量化参数值<9,如果(系数的数量>10)则对于第一系数,选择Lev-VLC1,对于下一个系数,选择Lev-VLC2,否则对于第一系数,选择Lev-VLC0,对于下一个系数,选择Lev-VLC1,
然后,如果电平的绝对值>3并且VLC码字表为Lev-VLC1,则选择Lev-VLC2,如果电平的绝对值>5并且VLC码字表>=Lev-VLC2,则选择下一个“较高的”Lev-VLCx码字表,直到4个码字表“较高”。
继续参照图3,一选择适合的VLC码字表,编码逻辑134就编码将被编码的当前非零变换系数的电平,块310。
接下来,编码逻辑134确定是否在T1系数之前的所有非零系数已经被电平编码,块312。如果没有,编码逻辑134继续如前所述的在块304中的操作。如果在T1系数之前的所有非零系数已经被电平编码,编码逻辑134就终止对于当前采样块的电平编码过程。
零总数和游程长度编码器块在各个实施例中,TotalZero-RunLength(零总数和游程长度)编码器块106包括多个VLC码字表用于编码被插入非零系数之间的零系数的数量和它们各自的游程长度。
更具体地,在一个实施例中,TotalZero-RunLength编码器块106包括两个VLC码字表用于编码“零总数”,一个用于亮度采样块的变换系数,而另一个用于色度采样块的变换系数,以及包括一个VLC码字表用于编码每种类型的采样块的“游程长度”。该VLC码字表是

表14-亮度零总数VLC码字表

表15-色度零总数VLC码字表

表16-游程长度VLC码字表类似地,在替代的实施例中,不同数量的VLC码字表以及不同的VLC码字,包括存储该VLC码字的不同方式,可以被用于实施本发明。特别地,在一个实施例中,本发明可以改用下面三个VLC码字表而被实施。

表14-亮度零总数VLC码字表

表15-色度零总数VLC码字表

表16-游程长度VLC码字表表14-16的VLC码字被表示为与先前描述的空间保存格式相同的格式。
图4示出了根据一个实施例的、TotalZero-RunLength编码器块142的编码逻辑144的相关方面的操作流程,该操作流程用来编码被插入图片宏块的(亮度/色度)块变换系数的非零系数之间的零系数的数量及其各自的游程长度。
如图所示,对于该实施例,一接收到(亮度/色度)块的变换系数,编码逻辑144就确定被插入非零系数之间的零系数的数量(零总数),块402。接下来,编码逻辑144选择对应于该块中系数的数量和采样块类型的合适的码字表,块404。在其它的实施例中,其它的准则可以被用于选择码字表。接下来,编码逻辑144使用所选择的码字表编码零总数信息。
此外,编码逻辑144选择被插入的零的第一游程(run)(从后面开始处理,或在替代的实施例中,从前面开始处理),并且确定游程长度(Run Length),块406-408。接下来,编码逻辑144根据被留下要被插入的零的数量来选择合适的码字表,块407。然后,编码逻辑144使用选定的游程长度码字表来编码游程长度信息。编码逻辑144然后确定是否所有的被插入的零的游程已经被编码,块410。如果没有,编码逻辑144退回到块406继续如先所述的操作。如果所有的被插入的零游程已经被编码,TotalZero与Run Length编码过程终止。
解码器图5示出了根据一个实施例的、本发明的一个上下文自适应VLC解码器的全图,该解码器用于解码根据类似于图1的编码器的编码原理编码的变换系数。如图所示,对于该实施例,上下文自适应VLC解码器500如编码器100那样被类似地构成,具有解码器块502-506,它们平行地被耦合到解码器500的输入510,用来接收一个编码视频图片宏块的(亮度/色度)块的、已量化变换系数的VLC码字的比特流。作为响应,解码器块502-506把接收到的这些(亮度/色度)块的变换系数的编码解码回到它们的量化形式,并且在输出端108处输出它们。
对于该实施例,解码器块502-506如编码器块102-106那样被类似地构成。即,解码器块502包括VLC码字表522和编码逻辑524,用于解码图片宏块的(亮度/色度)块的一串变换系数中的系数和T1系数的数量的组合VLC码字。此外,解码器块504包括VLC码字表532和编码逻辑534,用于解码(亮度/色度)块的变换系数的电平的VLC码字。类似地,解码器块506包括VLC码字表532和编码逻辑534,用于解码在(亮度/色度)块的非零变换系数中的零总数和各个“零”游程长度的VLC码字。
本发明的实例应用图6示出了根据一个实施例的、结合了本发明的方法的视频设备。如图所示,视频设备600包括耦合到该设备的输入和输出的编码器610和解码器620。如先前所述,编码器610被设计为接收视频图片宏块的(亮度/色度)块的量化的变换系数632a,并且作为响应而自适应地编码它们为VLC码字634a。解码器620被设计为接收另一个视频图片宏块的(亮度/色度)块的变换系数的VLC码字634b,并且作为响应而自适应地将这些码字解码回系数632b。
编码器610和解码器620如先前所述的编码器100和解码器500那样被类似地构成。在各个实施例中,编码器610和解码器620可以共享至少部分的它们的组成表和编码逻辑(如编码器610和解码器620的交叉块所示)。
在各个实施例中,视频设备600可以为数码相机、DVD播放器、视频监视摄像机、视频会议设备、医疗图像设备、以及其它类似的视频设备。在其它实施例中,视频设备600可以是无线移动电话、诸如个人数字助理的手掌大小的计算设备、膝上型计算设备、桌上型计算设备、机顶盒、服务器、以及其它类似的计算设备。执行一个这些视频设备600的应用可以包括包含视频的即时消息传递和/或电子邮件。而在其它实施例中,视频设备600可以是电路板组件,如视频“附加”电路板(也称作子电路板)、母板、以及其它类似的电路板。
图7示出了包括具有编程指令的可记录媒体700的产品,用于实现如前所述的编码器100和/或解码器500的软件实施例。实现编码器100和/或解码器500的软件实施例的编程指令被设计用于对视频设备710编程,使该视频设备710具有本发明的编码和解码能力。
对于该实施例,视频设备710包括存储媒体712来存储至少一部分用来实现编码器100和/或解码器500的软件实施例的、所述编程指令的工作副本,以及包括至少一个被耦合到存储媒体712来执行所述编程指令的处理器714。
视频设备712可以是先前所列举的示例性设备或其它类似的视频设备中的任何一个。产品710可以为例如磁盘、光盘(CD)、DVD或其它类似的计算机可读媒体。在其它的实施例中,产品710可以是通过专用和/或公共网络如因特网来在线分布编码器100和/或解码器500的分布式服务器。在一个实施例中,产品710是web服务器。
图8示出了具有如图所示的彼此通信地耦合的视频发送器802和视频接收器804的实例系统,其中视频发送器802根据本发明的方法编码视频,并且提供该编码的视频给视频接收器802,并且视频接收器802反过来解码该编码的视频以再现该视频。视频发送器802和视频接收器804分别被配备有先前所描述的编码器100和解码器500。
视频发送器802的一个例子是视频服务器,而视频接收器804的一个例子为耦合到视频发送器802上的客户设备。
结论与结束语这样,从上面的描述中可以看出,已经描述了用于编码和解码图片宏块的(亮度/色度)块变换系数的新颖方法,包括结合了该方法的编码器、解码器、设备以及系统。
尽管本发明已经按照上述实施例和实例应用进行了描述,但本领域的技术人员将认识到本发明不局限于所描述的实施例和实例应用。本发明可以用在附属权利要求的精神和范围内所进行的修改和替换来实施。例如,不同的编码器/解码器块的数量,不同的在各个编码器/解码器块中的码字表的数量,不同的码字表,不同的码字表选择逻辑,以及不同的编码指令,可以被代替地实施。
这样,该描述可以被视为是对于本发明的示例性而非限制性的说明。
权利要求
1.一种设备,包括存储媒体;以及存储在所述存储媒体中的多个码字表,所述多个码字表中的每一个具有多个码字,所述码字至少部分地基于采样块类型而被有选择地访问,以便执行至少下列之一以一种组合的方式编码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数;并且解码图片宏块的采样块的一串变换系数中多个系数和多个拖尾的1值系数的组合编码。
2.如权利要求1所述的设备,其中至少所述码字表中被选定的一个包含将为图片宏块的亮度采样块而选择地访问的码字,以执行组合编码、和解码所述亮度采样块的一串变换系数中多个系数及多个拖尾的1值系数的组合编码中的至少一个。
3.如权利要求2所述的设备,其中所述码字表包含至少一个具有从如下所示码字表中选定的码字表的大多数码字的码字表
4.如权利要求2所述的设备,其中所述设备进一步包含被耦合到所述存储媒体的逻辑,用来选择所述码字表和FLC中的一个,以编码/解码图片宏块的亮度采样块的一串变换系数。
5.如权利要求4所述的设备,其中所述逻辑被装配来选择所述码字表和FLC中的一个,至少部分基于所述图片宏块的一个或多个邻近亮度采样块的一串或多串变换系数中的系数数量,以一种自适应的方式编码/解码图片宏块的亮度采样块的一串变换系数。
6.如权利要求5所述的设备,其中所述图片宏块的一个或多个邻近亮度采样块包含所述图片宏块的上邻近亮度采样块以及左邻近亮度采样块中的至少一个。
7.如权利要求1所述的设备,其中至少所述码字表中选定的一个包含将被有选择地访问的码字,以便执行图片宏块的色度采样块的一串变换系数中多个系数和多个拖尾的1值系数的组合编码与解码一个组合编码中的至少一个。
8.如权利要求5所述的设备,其中所述码字表包含至少一个具有如下所示的大多数码字的码字表
9.如权利要求1所述的设备,其中所述设备进一步包含用于执行至少下列之一的逻辑编码图片宏块的采样块的、一串变换系数的拖尾的1值系数的符号;以及解码图片宏块的采样块的、一串变换系数的拖尾的1值系数的符号的编码。
10.如权利要求1所述的设备,其中所述设备进一步包含被耦合到所述存储媒体的处理器,用来有选择地访问所述码字表的所述码字来执行所述编码/解码。
11.如权利要求1所述的设备,其中所述设备包含手掌大小的计算设备、无线移动电话、数字个人助理、膝上型计算设备、桌上型计算设备、机顶盒、服务器、光盘播放器、数字多用途盘播放器、电视机、以及显示监控器中选定的一个。
12.如权利要求1所述的设备,其中所述设备包含具有综合的视频能力的一个视频子卡和一个母板。
13.一种设备,包含存储媒体;以及存储在所述存储媒体中的多个码字表,所述码字表中的每一个具有多个码字,所述码字要被自适应地访问以执行至少下列之一编码图片宏块的采样块的变换系数的电平测度,使所述编码独立于所述采样块的变换系数的多个系数的编码;并且解码图片宏块的采样块的变换系数的电平测度的编码,其中所述编码独立于所述采样块的变换系数的多个系数。
14.如权利要求13所述的设备,其中所述图片宏块的采样块的变换系数包含图片宏块的亮度采样块和色度采样块中选定的一个采样块的变换系数。
15.如权利要求13所述的设备,其中所述码字表包含至少一个具有如下所示的码字表中选定的码字表的大多数码字的码字表101001..00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx1x01x001x..00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx1xx01xx001xx..00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxx01xxx001xxx..00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxxx01xxxx001xxxx..000000000000001xxxx0000000000000001xxxxxxxxxxxx
16.如权利要求13所述的设备,其中所述设备进一步包含被耦合到所述存储媒体的逻辑,以便至少部分地基于所述宏块的量化参数、所述块中的系数的数量、以及一个或多个先前被编码/解码的变换系数的电平中的一个或多个来自适应地选择所述码字表中的一个,以编码/解码图片宏块的采样块的变换系数的电平测度。
17.如权利要求16所述的设备,其中所述码字表包含不同数量的码字;并且所述逻辑被装配来编码/解码变换系数,在选择较大的码字表之前对称地选择较小的码字表。
18.如权利要求16所述的设备,其中逻辑被装配来以从后到前的处理次序和从前到后的处理次序中选定的一个去处理所述变换系数。
19.如权利要求13所述的设备,其中所述设备进一步地包含用于执行至少下列之一的逻辑编码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号;以及解码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号的编码。
20.如权利要求13所述的设备,其中所述设备进一步包含被耦合到所述存储媒体的处理器,用来有选择地访问所述码字表的所述码字以执行所述编码/解码。
21.如权利要求13所述的设备,其中所述设备包含手掌大小的计算设备、无线移动电话、数字个人助理、膝上型计算设备、桌上型计算设备、机顶盒、服务器、光盘播放器、数字多用途盘播放器、电视机、以及显示监控器中选定的一个。
22.如权利要求13所述的设备,其中所述设备包含具有综合的视频能力的一个视频子卡和一个母板。
23.一种设备,包含存储媒体;以及存储在所述存储媒体中的多个码字表,所述码字表中的每一个具有多个码字,所述码字至少部分地基于采样块类型而被有选择地访问,以便执行至少下列之一编码插入在图片宏块的采样块的一串变换系数的非零系数之间的多个零系数,和在所述各个非零系数之前的零系数的一个或多个游程长度;并且解码插入在图片宏块的采样块的一串变换系数的非零系数之间的多个零系数、和在所述各个非零系数之前的所述零系数的一个或多个游程长度的编码。
24.如权利要求23所述的设备,其中所述码字表包含具有多个码字的码字表来编码/解码插入在图片宏块的亮度采样块的、一串变换系数的非零系数之间的多个零系数。
25.如权利要求24所述的设备,其中所述码字表包含具有如下所示的大多数码字的码字表
26.如权利要求23所述的设备,其中所述码字表包含具有多个码字的码字表来编码/解码插入在图片宏块的色度采样块的一串变换系数的非零系数之间的多个零系数。
27.如权利要求26所述的设备,其中所述码字表包含具有如下所示的大多数码字的码字表
28.如权利要求23所述的设备,其中所述码字表包含一个具有多个码字的码字表,来编码/解码在图片宏块的采样块的一串变换系数的所述各个非零系数之前的零系数的所述一个或多个游程长度。
29.如权利要求28所述的设备,其中所述码字表包含至少一个具有如下所示的码字中的大多数码字的码字表
30.如权利要求23所述的设备,其中所述设备进一步包含被耦合到所述存储媒体的处理器,用来有选择地访问所述码字表的所述码字以执行所述编码/解码。
31.如权利要求23所述的设备,其中所述设备包含手掌大小的计算设备、无线移动电话、数字个人助理、膝上型计算设备、桌上型计算设备、机顶盒、服务器、光盘播放器、数字多用途盘播放器、电视机、以及显示监控器中选定的一个。
32.如权利要求23所述的设备,其中所述设备包含具有综合的视频能力的一个视频子卡和一个母板。
33.一种制造的产品,包括可记录媒体;以及记录在所述可记录媒体上、将被检索来对设备编程的多个码字表,其中所述多个码字表中的每一个具有多个码字以使得该设备能够有选择地访问所述码字以执行至少下列之一以一种组合的方式编码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数;并且解码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数的组合编码。
34.如权利要求33所述的产品,其中所述码字表包含至少一个具有如下所示码字表中选定的码字表的大多数码字的码字表
35.如权利要求33所述的产品,其中所述产品进一步包含记录在所述可记录媒体上的编程指令,用来对该设备编程使之能够选择所述码字表和FLC中的一个,以编码/解码图片宏块的亮度采样块的一串变换系数。
36.如权利要求35所述的产品,其中所述编程指令被设计来装备所述设备,以至少部分地基于所述图片宏块的一个或多个邻近的亮度采样块的、一串或多串变换系数中的系数的数量,选择所述码字表和FLC中的一个来以一种自适应的方式编码/解码图片宏块的亮度采样块的一串变换系数。
37.如权利要求36所述的产品,其中所述图片宏块的一个或多个邻近的亮度采样块包含所述图片宏块的上邻近亮度采样块与左邻近亮度采样块中的至少一个。
38.如权利要求33所述的产品,其中所述产品进一步包含被设计来对所述设备编程、使该设备被装备来执行至少下列之一的编程指令编码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号;并且解码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号的编码。
39.一种产品,包含可记录媒体;以及记录在所述可记录媒体上、要被检索以对设备编程的多个码字表,所述码字表中的每一个具有多个码字,所述码字被所述设备有选择地访问,以便执行至少下列之一编码图片宏块的采样块的变换系数的电平测度,使所述编码独立于所述采样块的变换系数的多个系数的编码;并且解码图片宏块的采样块变换系数的电平测度的编码,使所述编码独立于所述采样块的变换系数的多个系数的编码。
40.如权利要求39所述的产品,其中所述码字表包含至少一个具有如下所示码字表中选定的码字表的大多数码字的码字表101001..00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx1x01x001x..00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx1xx01xx001xx..00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxx01xxx001xxx..00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxxx01xxxx001xxxx..000000000000001xxxx0000000000000001xxxxxxxxxxxx
41.如权利要求39所述的产品,其中所述产品进一步包含编程指令,该指令被设计用来对所述设备编程,使该设备能够至少部分地基于所述宏块的量化参数、所述块中的系数的数量、以及一个或多个先前被编码/解码的变换系数的电平中的一个或多个来选择所述码字表中的一个以编码/解码图片宏块的采样块的变换系数的电平测度。
42.如权利要求41所述的产品,其中所述码字表包含不同数量的码字;并且所述编程指令被设计来装备所述设备以编码/解码变换系数,在选择较大的码字表之前对称地选择较小的码字表。
43.如权利要求41所述的产品,其中所述编程指令被设计来使所述设备能够以从后到前的处理次序和从前到后的处理次序中选定的一个次序来编码所述变换系数。
44.如权利要求39所述的产品,其中所述产品进一步包含被设计来对设备编程以使该设备能够执行至少下列之一的编程指令编码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号;并且解码图片宏块的采样块的一串变换系数的拖尾的1值系数的符号的编码。
45.一种产品,包含可记录媒体;以及记录在所述可记录媒体上、要被检索来对设备编程的多个码字表,所述码字表中的每一个具有多个码字,所述码字被所述设备有选择地访问,以便执行至少下列之一编码插入在图片宏块的采样块的一串变换系数的非零系数之间的多个零系数,和在所述各个非零系数之前的零系数的一个或多个游程长度;并且解码插入在图片宏块的采样块的一串变换系数的非零系数之间的多个零系数、和在所述各个非零系数之前的零系数的一个或多个游程长度的编码。
46.如权利要求45所述的产品,其中所述码字表包含至少一个具有如下所示大多数码字的码字表
47.如权利要求45所述的产品,其中所述码字表包含至少一个具有如下所示的大多数码字的码字表
48.一种视频编码方法,包含以一种组合的方式编码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数;编码所述拖尾的1值系数的符号;编码在所述拖尾的1值系数之前的每个所述非零变换系数的电平测度;以及编码插入在所述拖尾的1值系数之前的非零系数之间的多个零系数,和在所述拖尾的1值系数之前的各个非零系数之前的所述零系数的一个或多个游程长度。
49.如权利要求48所述的方法,其中所述以一种组合的方式编码在图片宏块的采样块的一串变换系数中的所述拖尾的1值系数之前的多个拖尾的1值系数和多个非零系数包含访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定一个码字表的大多数码字的码字表
50.如权利要求47所述的方法,其中对于亮度采样块来说,所述以一种组合的方式编码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数进一步包含选择多个码字表和FLC中的一个。
51.如权利要求49所述的方法,其中所述选择多个码字表和FLC中的一个以一种自适应的方式执行,是至少部分地基于所述图片宏块的一个或多个邻近的亮度采样块的一串或多串变换系数中的系数的数量。
52.如权利要求51所述的方法,其中所述图片宏块的一个或多个邻近的亮度采样块包含所述图片宏块的上邻近亮度采样块以及左邻近亮度采样块中的至少一个。
53.如权利要求46所述的方法,其中所述编码在所述拖尾的1值系数之前的每个非零变换系数的电平测度包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定的码字表的大多数码字的码字表101001..00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx1x01x001x..00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx1xx01xx001xx..00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxx01xxx001xxx..00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxxx01xxxx001xxxx..000000000000001xxxx0000000000000001xxxxxxxxxxxx
54.如权利要求48所述的方法,其中所述编码在所述拖尾的1值系数之前的每个非零变换系数的电平测度包含至少部分地基于所述宏块的量化参数、所述块中的系数的数量、以及一个或多个先前被编码/解码的变换系数的电平中的一个或多个来选择码字表。
55.如权利要求54所述的方法,其中所述码字表包含不同数量的码字;并且所述编码在所述拖尾的1值系数之前的每个非零变换系数的电平测度包含在选择较大的码字表之前对称地选择较小的码字表。
56.如权利要求48所述的方法,其中所述编码插入在所述拖尾的1值系数之前的非零系数之间的多个零系数、和在所述各个非零系数之前的零系数的一个或多个游程长度包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有如下所示的大多数码字的码字表
57.
58.一种视频解码方法,包含解码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数的组合编码;解码拖尾的1值系数的符号的编码;解码在所述拖尾的1值系数之前的所述非零变换系数的电平测度的编码;以及解码插入在所述非零系数之间的多个零系数、和在所述各个非零系数之前的零系数的一个或多个游程长度的编码。
59.如权利要求57所述的方法,其中所述解码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数的组合编码包含访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定的码字表的大多数码字的码字表
60.如权利要求58所述的方法,其中对于亮度采样块来说,所述解码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数的组合编码进一步包含选择多个码字表和FLC中的一个。
61.如权利要求59所述的方法,其中所述选择多个码字表和FLC中的一个以一种自适应的方式执行,是至少部分地基于所述图片宏块的一个或多个邻近的亮度采样块的一串或多串变换系数中的系数的数量。
62.如权利要求60所述的方法,其中所述图片宏块的一个或多个邻近的亮度采样块包含所述图片宏块的上邻近亮度采样块以及左邻近亮度采样块中的至少一个。
63.如权利要求57所述的方法,其中所述解码在所述拖尾的1值系数之前的所述非零变换系数的电平测度的编码包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定的码字表的大多数码字的码字表101001..00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx1x01x001x..00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx1xx01xx001xx..00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxx01xxx001xxx..00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxxx01xxxx001xxxx..000000000000001xxxx0000000000000001xxxxxxxxxxxx
64.如权利要求58所述的方法,其中所述解码在所述拖尾的1值系数之前的所述非零变换系数的电平测度的编码包含至少部分地基于所述宏块的量化参数、所述块中的系数的数量、以及一个或多个先前被编码/解码的变换系数的电平中的一个或多个来选择码字表。
65.如权利要求63所述的方法,其中所述码字表包含不同数量的码字;并且所述解码在所述拖尾的1值系数之前的所述非零变换系数的电平测度的编码包含在选择较大的码字表之前对称地选择较小的码字表。
66.如权利要求55所述的方法,其中所述解码插入在所述拖尾的1值系数之前的所述非零系数之间的多个零系数、和在所述各个非零系数之前的零系数的一个或多个游程长度的编码包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有如下所示的大多数码字的码字表
67.一种在系统中视频编码和解码的方法,包括第一设备,通过下列步骤编码图片宏块的采样块的一串变换系数以一种组合的方式编码所述变换系数串中的多个系数和多个拖尾的1值系数,编码所述拖尾的1值系数的符号,编码在所述拖尾的1值系数之前的每个所述非零变换系数的电平测度,以及编码插入在所述非零系数之间的多个零系数,和在所述各个非零系数之前的零系数的一个或多个游程长度;以及第二设备,通过下列步骤来恢复所述采样块解码在所述变换系数串中的多个系数和多个拖尾的1值系数的组合编码,解码所述拖尾的1值系数的符号的编码,解码在所述拖尾的1值系数之前的所述非零变换系数的电平测度的编码,以及解码插入在所述非零系数之间的多个零系数的编码、和在所述各个非零系数之前的零系数的一个或多个游程长度的编码。
68.如权利要求65所述的方法,其中所述以一种组合的方式通过所述第一设备编码在图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数,以及通过所述第二设备对所述组合编码的所述解码包含访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定的码字表的大多数码字的码字表
69.如权利要求64所述的方法,其中对于亮度采样块来说,所述以一种组合的方式、由所述第一设备编码图片宏块的采样块的一串变换系数中的多个系数和多个拖尾的1值系数,以及通过所述第二设备对所述组合编码的所述解码进一步包含选择多个码字表和FLC中的一个。
70.如权利要求68所述的方法,其中所述选择多个码字表和FLC中的一个以一种自适应的方式执行,至少部分地基于所述图片宏块的一个或多个邻近的亮度采样块的一串或多串变换系数中的系数的数量。
71.如权利要求69所述的方法,其中所述图片宏块的一个或多个邻近的亮度采样块包含所述图片宏块的上邻近亮度采样块以及左邻近亮度采样块中的至少一个。
72.如权利要求66所述的方法,其中通过所述第一设备的所述编码在所述拖尾的1值系数之前的所述非零变换系数的电平测度、以及由所述第二设备解码所述电平测度编码包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有从下面所示码字表中选定的码字表的大多数码字的码字表101001..00000000000001000000000000001xxxx0000000000000001xxxxxxxxxxxx1x01x001x..00000000000001x000000000000001xxxx0000000000000001xxxxxxxxxxxx1xx01xx001xx..00000000000001xx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxx01xxx001xxx..00000000000001xxx000000000000001xxxx0000000000000001xxxxxxxxxxxx1xxxx01xxxx001xxxx..000000000000001xxxx0000000000000001xxxxxxxxxxxx
73.如权利要求66所述的方法,其中通过所述第一设备编码在所述拖尾的1值系数之前的所述非零变换系数的电平测度、以及通过所述第二设备解码所述电平测度编码包含至少部分地基于所述宏块的量化参数、所述块中的系数的数量、以及一个或多个先前被编码/解码的变换系数的电平中的一个或多个来选择码字表。
74.如权利要求72所述的方法,其中所述码字表包含不同数量的码字;并且通过所述第一设备编码在所述拖尾的1值系数之前的所述非零变换系数的电平测度、以及通过所述第二设备解码所述电平测度包含在选择较大的码字表之前对称地选择较小的码字表。
75.如权利要求66所述的方法,其中通过所述第一设备编码插入在所述非零系数之间的多个零系数、和在所述各个非零系数之前的零系数的一个或多个游程长度,以及通过所述第二设备解码该多个零系数和游程长度编码包含有选择地访问一个或多个码字表,所述码字表包括至少一个具有如下所示的大多数码字的码字表
全文摘要
视频图片宏块的采样块的变换系数通过以组合方式自适应地编码在所述拖尾的1值系数之前的非零系数的数量和拖尾的1值系数的数量而被编码。所述变换系数可以通过自适应地编码所述拖尾的1值系数的符号、所述非零系数的电平测度、插入在所述非零系数之间的零系数的总数、以及所述零系数的各个游程长度中的一个或多个而被进一步编码。所述数量和拖尾的1值系数的自适应编码可以为一个或多个邻近采样块执行,而电平测度的自适应编码可以为了宏块的量化参数以及先前编码的电平测度执行。解码可以以相反的方式执行。
文档编号H04N7/26GK1656817SQ03811582
公开日2005年8月17日 申请日期2003年3月12日 优先权日2002年3月22日
发明者G·比永特加德, K·O·利列沃尔德 申请人:真实网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1