CN103069801A - 用于确定在语法元素与用于可变长度编码的码字之间的映射的方法和装置 - Google Patents
用于确定在语法元素与用于可变长度编码的码字之间的映射的方法和装置 Download PDFInfo
- Publication number
- CN103069801A CN103069801A CN2011800398865A CN201180039886A CN103069801A CN 103069801 A CN103069801 A CN 103069801A CN 2011800398865 A CN2011800398865 A CN 2011800398865A CN 201180039886 A CN201180039886 A CN 201180039886A CN 103069801 A CN103069801 A CN 103069801A
- Authority
- CN
- China
- Prior art keywords
- sequencing
- syntactic element
- code word
- mapping
- classification levels
- 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
Links
- 238000013507 mapping Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000012163 sequencing technique Methods 0.000 claims description 225
- 238000003860 storage Methods 0.000 claims description 75
- 238000006243 chemical reaction Methods 0.000 claims description 33
- 230000033001 locomotion Effects 0.000 claims description 30
- 230000011218 segmentation Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006978 adaptation Effects 0.000 description 25
- 230000005540 biological transmission Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 238000005520 cutting process Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013479 data entry Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000012723 sample buffer Substances 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
公开了一种方法,该方法包括:接收语法元素,语法元素将被编码为码字集合的码字,基于树结构中的分级级别确定在语法元素与码字之间的映射,使用映射以获得码字,并且更新映射。
Description
技术领域
提供了一种用于确定在语法元素与用于可变长度编码的码字之间的映射的方法、用于确定在语法元素与用于可变长度解码的码字之间的映射的方法、装置、编码器和解码器。
背景技术
视频编码解码器包括将输入视频变换成适合于存储和/或传输的压缩表示的编码器和可以将压缩视频表示解压回成可查看形式的解码器。通常,编码器丢弃原视频序列中的一些信息以便以更紧凑形式、例如以更低比特率表示视频。
例如根据国际电信联盟的ITU-T H.263和H.264编码标准操作的典型视频编码解码器在两个阶段中对视频信息进行编码。在第一阶段中,预测某个画面区域或者“块”中的像素值。可以例如通过运动补偿机制预测这些像素值,这些运动补偿机制涉及发现并且指示先前编码的视频帧之一(或者以后编码的视频帧)中与正在编码的块接近地对应的区域。此外,可以通过涉及发现并且指示空间区域关系的空间机制预测像素值。
第二阶段是对在预测的像素块与原像素块之间的误差进行编码。这通常通过使用指定的变换对像素值差值进行变换来实现。这一变换通常是离散余弦变换(DCT)或者其变体。在变换差值之后,量化并且熵编码变换的差值。
通过变化量化过程的保真性,编码器可以控制在像素表示的准确性(换而言之,画面的质量)与所得编码视频表示的大小(换而言之,文件大小或传输比特率)之间的平衡。在图1中描绘了编码过程的例子。
解码器通过应用与编码器使用的预测机制相似的预测机制以便形成像素块的预测表示(使用由编码器创建并且在图像的压缩表示中存储的运动或者空间信息)和预测误差解码(预测误差编码的逆操作,用于在空间域中恢复量化的预测误差信号)来重建输出视频。
在应用像素预测和误差解码过程之后,解码器组合预测与预测误差信号(像素值)以形成输出视频帧。
解码器(和编码器)也可以应用额外滤波过程以便在传达输出视频用于显示和/或存储为用于视频序列中的将来帧的预测参考之前提高输出视频的质量。在图2中描绘了解码过程的例子。
在典型视频编码解码器中,运动信息由与每个运动补偿的图像块关联的运动矢量指示。这些运动矢量中的每个运动矢量表示待编码(在编码器中)或者解码(在解码器中)的画面中的图像块和先前编码或者解码的图像(或者画面)之一中的预测源块的移位。为了高效表示运动矢量,通常相对于块特有预测运动矢量不同地对运动矢量编码。在典型视频编码解码器中,例如通过计算相邻块的编码或者解码运动矢量的中值来以预定义方式创建预测的运动矢量。
在典型视频编码解码器中,首先用变换内核(比如DCT)变换、然后编码在运动补偿之后的预测残值。针对这一点的原因在于经常在残值之间仍然有一些相关性并且变换可以在许多情况下帮助减少这一相关性并且提供更高效编码。
典型视频编码解码器利用拉格朗日成本函数以发现最优编码模式,例如希望的宏块模式和关联运动矢量。这一类型的成本函数使用加权因子或者λ以将由于有损编码方法所致的确切或者估计图像失真与为了表示图像区域中的像素值而需要的确切或者估计信息量联系在一起。
这可以由下式表示:
C=D+λR (1)
其中C是待最小化的拉格朗日成本,D是在当前考虑模式和运动矢量时的图像失真(换而言之,均方误差),并且R是为了表示所需数据以在解码器中重建图像块而需要的比特数(包括用于表示候选运动矢量的数据量)。
当使用可以具有不同长度的码字对源符号编码时,将源符号转译成唯一码字。这一种类的编码可以称为可变长度编码(VLC)。可以设计编码使得用更短码字表示更有可能的符号而用更长码字表示更少可能的符号。在传输码字时可以用与更长码字比较更少比特来表示更短码字。可变长度编码的一个目标在于与这样对符号编码的情形比较减少为了表示符号而需要的信息量。换而言之,当将符号集合转译成码字时,所得编码表示应当包含比源更少的比特。符号集合可以包括许多种类的信息。例如符号集合可以是由字节构成的文件、信息流如视频流或者音频流、图像等。
可变长度码字的设计可以依赖于源符号表示的源的概率统计量。为了获得用于可变长度编码的码字集合,可以从一些有代表性的源材料收集合概率统计量,并且围绕这些统计量设计码字。这可以很好地工作,但是在许多情况下,统计量不平稳而可能随时间变化,并且具有固定码字集合可能未产生良好压缩。为了实现更好压缩,可以不断局部适配可变长度码字集合以适合源的观测统计量。
一种执行适配的方式是保持跟踪符号频率并且使用频率以在对符号编码时候动态地定义可变长度码字集合。这一种类的完全适配是很复杂的操作,尤其是如果源符号范围大的情况下。在实际的实现方式中,可以执行某一形式的次优适配。例如编码器可以使用多个预定义可变长度码字集合并且基于局部统计量的估计来选择它们中的一个集合。在另一实现方式中,编码器可以逐渐适配集合的码字使得一次改变集合的个体码字中的仅少数码字,从而每个编码码字的复杂性低。
发明内容
本发明引入了一种用于确定在语法元素与用于可变长度编码的码字之间的映射的方法。可以通过使用树结构中的分级级别的信息来实现映射的确定。在一些例子实施例中,树结构可以包括以下中的一种或者多种:变换块、运动分割块、预测块。
根据本发明的一个例子实施例,提供一种用于确定在语法元素与用于可变长度编码的码字之间的映射的方法。根据本发明的另一例子实施例,提供一种用于确定在语法元素与用于可变长度解码的码字之间的映射的方法。
根据本发明的第一方面,有一种方法,该方法包括:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
根据本发明的第二方面,提供一种方法,该方法包括:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
根据本发明的第三方面,提供一种装置,该装置包括:
输入,被配置用于接收语法元素,语法元素将被编码为码字集合的码字;
确定单元,被配置用于基于树结构中的分级级别确定在语法元素与码字之间的映射;
码字选择器,被配置用于使用映射以获得码字;以及
适配器,被配置用于更新映射。
根据本发明的第四方面,提供一种装置,该装置包括:
输入,被配置用于接收码字集合的码字;
确定单元,被配置用于确定树结构中的分级级别;
语法元素选择器,被配置用于基于所述分级级别确定用于获得语法元素的映射;以及
适配器,被配置用于更新映射。
该装置可以包括编码器。
该装置可以包括解码器。
一种电子设备可以包括特征如上的装置。
一种芯片集可以包括特征如上的装置。
根据本发明的第五方面,提供一种存储介质,该存储介质具有在其上存储的用于由编码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
根据本发明的第六方面,提供一种存储介质,该存储介质具有在其上存储的用于由解码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
根据本发明的第七方面,提供一种装置,该装置包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起使装置至少:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
根据本发明的第八方面,提供一种装置,该装置包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起使装置至少:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
根据本发明的第九方面,提供一种装置,该装置包括:
用于接收语法元素的装置,语法元素将被编码为码字集合的码字;
用于基于树结构中的分级级别确定在语法元素与码字之间的映射的装置;
用于使用映射以获得码字的装置;以及
用于更新映射的装置。
根据本发明的第十方面,提供一种装置,该装置包括:
用于接收码字集合的码字的装置;
用于确定树结构中的分级级别的装置;
用于基于分级级别确定用于获得语法元素的映射的装置;以及
用于更新映射的装置。
在用于将语法元素的值转换成二进制形式的转换过程中,可以使用变换大小或者其它变换特性作为输入参数。如果转换过程使用自适应排序表,则不同排序表可以用于不同变换大小。可以将变换在四叉树结构中的拆分编码为组而不是对它们个别编码。
在一些实施例中,除了变换特性之外还可以使用四叉树中的更高或者邻近节点的已经编码的cbp值以确定排序表。
在一些另外实施例中,可以未使用自适应排序表而完成将语法元素的值转换成二进制形式。例如可以使用不同VLC表以对不同变换大小的编码块图案值编码。如果使用情境自适应二进制算法编码(CABAC)或者相似熵编码方法,则可以基于变换大小完成针对编码块图案值的情境选择。
附图说明
图1描绘系统的一个例子实施例的简化框图,在该系统中从编码器向解码器传输信息;
图2描绘根据本发明一个例子实施例的编码器的简化框图;
图3描绘根据本发明一个例子实施例的解码器的简化框图;
图4描绘根据本发明一个例子实施例的编码方法的流程图;
图5描绘根据本发明一个例子实施例的解码方法的流程图;
图6a描绘将宏块划分成更小块的例子;
图6b描绘图6a的宏块的语法元素的分级结构的例子的树图;
图6c描绘宏块的语法元素的分级结构的另一例子的树图;
图7a-7c描绘划分成四个子块的宏块和对应编码块图案值的一些例子;
图8示意地示出实施本发明一些实施例的电子设备;
图9示意地示出适合于实施本发明一些实施例的用户设备;
图10进一步示意地示出使用无线和有线网络连接来连接的实施本发明实施例的电子设备;
图11示意地示出视频编码器的一个实施例;
图12示出视频解码器的一个实施例的示意图;
图13描绘根据本发明另一例子实施例的编码器的简化框图;
图14描绘根据本发明另一例子实施例的解码器的简化框图。
具体实施方式
下文进一步具体描述用于提供视频编码解码器的增强编码效率和信号保真性的适当装置和可能机制。就这一点而言,首先参照图8和图9,图8示出示例装置或者电子设备50的示意框图,该装置或者电子设备可以并入根据本发明一个实施例的编码解码器,图9示意地示出适合于实施本发明一些实施例的用户设备。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而将清楚本发明的实施例可以实施于可能需要对视频图像编码并且解码或者编码或者解码的任何电子设备或者装置内。
装置50可以包括用于并入并且保护设备的壳30。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当显示技术。装置50还可以包括键区34。在本发明的其它实施例中,可以运用任何适当数据或者用户接口机制。例如可以实施用户接口为虚拟键盘或者数据录入系统,该虚拟键盘或者数据录入系统作为触敏显示器的部分。该装置可以包括麦克风2.3或者任何适当音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池40(或者在本发明的其它实施例中,该设备可以由任何适当移动能量设备、比如太阳能电池、燃料电池或者时钟机构生成器供电)。该装置还可以包括用于与其它设备的短程视线通信的红外线端口42。在其它实施例中,装置50还可以包括任何适当短程通信解决方案、比如蓝牙无线连接或者USB/火线有线连接。
装置50可以包括用于控制装置50的控制器1.4、11.4或者处理器。控制器1.4、11.4可以连接到存储器58,该存储器在本发明的实施例中既可以存储形式为图像和音频数据的数据和/或也可以存储用于在控制器1.4、11.4上实施的指令。控制器1.4、11.4还可以连接到适合于实现音频和/或视频数据的编码和解码或者辅助控制器1.4、11.4实现的编码和解码的编码解码器电路54。
装置50还可以包括卡读取器48和智能卡46、例如用于提供用户信息并且适合于提供用于在网络认证并且授权用户的认证信息的UICC和UICC读取器。
装置50可以包括连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号的无线电接口电路52。装置50还可以包括连接到无线电接口电路52用于向其它装置传输在无线电接口电路52生成的射频信号并且用于从其它装置接收射频信号的天线44。
在本发明的一些实施例中,装置50包括能够记录或者检测然后向编码解码器54或者控制器传递用于处理的各个帧的相机。在本发明的一些实施例中,该装置可以在传输和/或存储之前从另一设备接收用于处理的视频图像数据。在本发明的一些实施例中,装置50可以无线或者通过有线连接接收用于编码/解码的图像。
关于图10,示出其中可以利用本发明实施例的系统的例子。系统110包括可以通过一个或者多个网络通信的多个通信设备。系统110可以包括有线或者无线网络的任何组合,这些网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等)、比如IEEE802.x标准中的任何标准定义的无线局域网(WLAN)、蓝牙专用网、以太网局域网、令牌环局域网、广域网和因特网。
系统110可以包括适合于实施本发明实施例的有线和无线通信设备或者装置50二者。
例如图10中所示系统示出移动电话网络111和因特网表示128。与因特网128的连通性可以包括但不限于长程无线连接、短程无线连接和各种有线连接,这些有线连接包括但不限于电话线、电视线、电力线和相似通信路径。
系统110中所示例子通信设备可以包括但不限于电子设备或者装置50、个人数字助理(PDA)与移动电话的组合114、PDA116、集成消息接发设备(IMD)118、桌面型计算机120、笔记本计算机122。装置50可以静止或者在由移动的个人携带时可移动。装置50也可以位于交通模式中,该交通模式包括但不限于汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或者任何相似适当交通模式。
一些或者另外装置可以通过与基站124的无线连接25发送并且接收呼叫和消息而且与服务提供商通信。基站124可以连接到允许在移动电话网络111与因特网128之间通信的网络服务器126。该系统可以包括额外通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-网际协议(TCP-IP)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即使消息接发服务(IMS)、蓝牙、IEEE802.11和任何相似无线通信技术。在实施本发明的各种实施例时涉及到的通信设备可以使用各种介质来通信,这些介质包括但不限于无线电、红外线、激光、线缆连接和任何适当连接。
在下文中,将更具体描述图1的系统。编码器1从源2接收待编码和传输的信息。编码器可以是用户装置50的编码解码器的部分,或者它可以是另一装置的部分,或者它也可以是它自己的装置。信息可以例如是视频信息、音频信息、静止图像、文字等。信息也可以是两个或者更多不同种类的信息的组合。然后可以提供用于每个类型的信息的不同编码器和解码器或者相同编码器和/或解码器可以处理不同种类的信息。源2可以例如是视频相机2.1、静止相机2.2、麦克风2.3、能够回放例如数字万用盘(DVD)的设备2.4、存储介质2.5等。信息和源2的上述例子仅用于举例说明本发明而不是用于限制本发明的范围。来自源2的信息由第一设备8的编码器1编码。可以向存储器4存储和/或发射器9向传输信道15传输编码的信息。传输的信息可以由第二设备10的接收器114接收。第二设备10包括对接收的信息解码的解码器11。可以例如通过向第二设备的存储器12存储解码的信息来后处理解码的信息、如果信息包含可视信息则显示器可以显示信息、如果信息包含音频信息则可以将信息变换成音频信息等。
关于图11,示出了适合于实现对视频信息编码的视频编码器的框图。
图11示出编码器包括像素预测器302、预测误差编码器303和预测误差解码器304。
像素预测器302接收将在帧间预测器306(该帧间预测器确定在图像与参考帧318之间的差值)和帧内预测器308(该帧内预测器仅基于当前帧或者画面确定图像)编码的图像300。向模式选择器310传递帧间预测器和帧内预测器二者的输出。模式选择器310也接收图像300的副本。模式选择器的输出是来自帧间预测器306或者帧内预测器308的向第一求和设备321传递的图像块的预测表示312。第一求和设备可以从图像300减去像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
像素预测器302还从初步重建器339接收图像块的预测表示312与预测误差解码器304的输出338的组合。可以向帧内预测器308并且向滤波器316传递初步重建图像314。接收初步表示的滤波器316可以对初步表示滤波并且输出可以保存于参考帧存储器318中的最终重建图像340。参考帧存储器318可以连接到帧间预测器306以用作图像300在帧间预测操作中与之比较的参考图像。
像素预测器302的操作可以被配置用于实现在本领域中已知的任何已知像素预测算法。
预测误差编码器303包括向宏块的系数值执行变换、比如离散余弦变换(DCT)、离散正弦变换(DST)或者Karhunen-Loéve变换(KLT)的变换块351。预测误差编码器303也包括对系数执行量化操作的量化器块353。向熵编码器330并且也向预测误差解码器304传递预测误差编码器303的输出。
熵编码器330接收预测误差编码器的输出并且可以对信号执行适当熵编码/可变长度编码以提供误差检测和纠正能力。熵编码器330可以包括编码器1。
预测误差解码器304从预测误差编码器303接收输出并且执行预测误差编码器303的相反过程以产生解码的预测误差信号338,该解码的预测误差信号当在第二求和设备339与图像块的预测表示312组合时产生初步重建图像314。
在图2中描绘编码器1的一个例子实施例。编码器1具有用于接收待编码的信息的输入1.1。如果信息是以模拟形式,则它由例如模数转换器3转换成数字形式。模数转换器3基于模拟信息形成采样。采样表示一些时间间隔的模拟信号。然而信息可以已经是以编码器1可以处理它的形式。因此可以无需模数转换器3。可以向采样缓冲器4.1存储采样。
在图11的系统中,可以向输入1.1提供来自预测误差编码器303的待编码的信息而未使用模数转换器3,因为量化的系数已经是以数字形式。
在下文中,假设待传输的信息是可视信息。向像素预测器302、预测误差编码器303和预测误差解码器304提供可视信息。如上文提到的那样,可以执行像素预测操作如帧内预测或者帧间预测以形成帧内(I)画面、预测(P)画面和/或双向预测(B)画面。可以将这些画面变换成宏块。例如块处理器1.7可以使用以下变换大小:4x4、8x8、16x16、32x32、64x64和128x128。
待传输的信息由编码器1编码以形成码字。在下文中,参照图4的流程图和图2的编码器1更具体描述编码过程。这里假设可以根据待编码的信息估计一些统计参数。例如可以已知或者可以通过某一判据估计表示信息的符号的概率分布。在本发明中,提供两个或者更多不同可变长度码字集合,从这些码字集合选择可变长度码字用于待编码的符号。可以认为码字集合形成不同可变长度码字表5.1-5.M(VLC表),在这些VLC表中,行表示从符号到码字的映射。可变长度码字表在说明书中也称为自适应排序表。有用于在实际应用中实施码字表的许多可能性。这将在说明书中的后文更具体加以讨论。
在一些实施例中,可以通过使用自适应排序表对语法元素编码。这可以用以下非限制例子来举例说明。可以如下执行向比特流中写入语法元素X的值的操作。假设语法元素的值是Y。在开始或者在某一恢复点,可以选择默认表或者在默认表集合之中的一个表。也有可能的是未在设备的存储器中定义表而是可以是使用算法或者函数以确定表的元素的值。然而为了清楚说明排序操作的目的,假设表存储于存储器中。为一些语法元素维护排序表用于改进的情境适配。将与语法元素X对应的排序表表示为一维阵列排序表X[i]。首先确定排序表X中值Y的等级,并且使用可变长度编码(VLC)对该等级编码。此后更新排序表使得值Y将具有更低等级。这可以通过各种方式来完成,但是一种可能方式是交换值Y的等级与紧接位于值Y上方的具有等级-1——即等级比值Y的等级少一——的值。增加与等级-1对应的值的等级。换而言之,切换值Y和在Y上方的值的等级。
在上述例子中,降低值Y的等级意味着预计值Y比一些其它值更频繁地出现。在一些其它实施例中,操作可以反向、即增加等级可以指示假设等级增加的值比一些其它值更经常出现,其中可以针对该值映射更短码字。在表1中,使用第一备选、即在表1的顶部的值具有最低等级而在表1的底部的值具有最高等级。对应地,可以针对具有更低等级的值分配更短码字,并且可以针对具有更高等级的值分配更长码字。
作为例子,表X可以包含以下值:
表1
语法元素 | VLC码字 |
A | 1 |
B | 010 |
C | 011 |
D | 00100 |
如果待编码的语法元素是C,则将意味着VLC码字将是011。上文讨论的排序操作将造成在确定用于语法元素C的码字之后交换用于语法元素C和B的码字。因此,重排的排序表变成:
表2
语法元素 | VLC码字 |
A | 1 |
C | 010 |
B | 011 |
D | 00100 |
因此,如果再次对语法元素C编码,则将使用码字010以表示语法元素C并且将再次修改语法元素C的等级。在这一例子中,这将意味着如表3中所示用于语法元素C的更新VLC码字将是1而用于语法元素A的更新VLC码字将是010:
表3
语法元素 | VLC码字 |
C | 1 |
A | 010 |
B | 011 |
D | 00100 |
可以按块对视频或者其它图像编码。例如可以将大小为NxN的宏块划分成大小为N/2x N/2的四个更小块(子块)。更小块中的一些块可以仅包含零值,而一些其它块可以包含一个或者更多非零值。如果编码器1无需对零值块编码而是仅在比特流中提供哪些块包含非零值(或者哪些块仅包含零值)的指示,则可以提高编码效率。在一些实施例中,这通过形成用于块的编码块图案来执行,该编码块图案指示哪些块包含至少一个非零值(非零符号)。图7a-7c描绘划分成四个子块的宏块及其对应编码块图案值的一些例子。在图7a的例子中,宏块700的左下块703包含一个或者多个非零值,而其它三个块701、702、704仅包含零值。可以将图7a的例子的编码块图案表示为二进制值0010。在图7b的例子中,宏块700的左上块701和左下块703包含一个或者多个非零值,而其它两个块702、704仅包含零值。然后可以将图7b的例子的编码块图案表示为二进制值1010。对应地,在图7c的例子中,宏块700的左上块701和右下块704包含一个或者多个非零值,而其它两个块702、703仅包含零值。然后可以将图7c的例子的编码块图案表示为二进制值1001。在这一例子中,二进制数1指示块包含非零值,而二进制数0指示块仅包含零值。然而将有可能使用不同符号或者使用二进制数1以指示仅有零值的块而使用二进制数0以指示具有非零值的块。
根据本发明一个例子实施例的编码器1如下执行编码。在编码的开始,将一些变量初始化成它们的初始值。这例如由编码器的控制器1.4执行,该控制器将一些存储器位置设置成所选状态。例如这些存储器位置可以位于存储器4中或者它们可以在控制器1.4内部。在图2的例子实施例中,向控制器1.4的内部寄存器1.4.1中存储变量。用图4的流程图中的块401并且用图2中的初始化块1.3描绘初始化阶段。
在初始化中,可以将不同自适应排序表初始化成某些状态。例如可以按照码值的升序、比如从0至15,排列码值到码字的映射。因此将码值0映射到第一码字、将码值1映射到第二码字等。
在初始化阶段之后,可以开始编码,并且可以向编码器1输入宏块(块402)。控制器1.4可以通知块处理器1.7确定用于当前宏块的编码块图案(块403)。控制器1.4也可以通知块处理器1.7确定用于当前宏块的块分割。可以利用自适应排序表5.1、5.2、…、5.M对编码块图案值、关于块分割的信息和关于变换分割的信息进行编码。这在下文更具体加以说明。
在一些实施例中,块处理器1.7从视频编码器接收编码块图案、关于块分割的信息和关于变换块大小的信息、关于宏块大小的信息,其中块处理器1.7无需确定编码块图案和/或块分割。
编码器1可以在比特流中插入宏块的如下子块的指示,这些子块包含一个或者多个非零值,即上文提到的编码块图案。编码器1可以从视频编码器接收用于宏块的编码块图案值,或者编码器1可以确定编码块图案值。
为了提高编码效率,可以根据情境将不同排序表用于相同语法元素,比如编码块图案、关于变换块的信息、关于运动分割的信息。例如可以将三个不同排序表用于用排序表编码的每个语法元素。可以针对每个画面类型(I画面、P画面和B画面)定义这三个排序表。换而言之,对于上述例子,可以给定排序表为二维阵列排序表X[ctx][i],其中变量ctx标识使用哪个排序表并且变量i指示应当对其进行编码的编码块图案。
在下文中,假设使用排序表CBP[ctx][i]5.1对编码块图案(cbp)信息编码。可以使用以下信息来计算情境变量:当前块的画面类型和变换大小(块404)。编码器1可以从视频编码器、例如从运动选择器310接收关于当前块的画面类型和/或分级级别的信息或者编码器1可以确定它们。在树结构中的分级级别可以指代用于变换分割的编码树、用于运动分割的编码树或者与块大小有关的编码树。这里应当注意无需实际地实施树结构或者编码树为设备中的某些单元或者结构而是可以举例说明树结构或者编码树为关于在不同种类的实体之间的依赖性的信息。换而言之,可以有在实体之间的一些分级依赖性规则。作为非限制例子,可以在树结构的最高级别有具有大小64x64的块。这一级别也可以称为树结构或者编码树的根,而在根以下的级别可以称为节点,并且在某一分级级别的节点可以形成节点集合。块可以可划分成更小块、例如四个32x32块,可以认为这些块都表示树结构的下一级别(在这一例子中为在第二级别的四个节点)。这些四个32x32块中的每个块还可以划分成更小块、例如16x16块。可以认为数目可以在0与16(=各自划分成四个更小16x16块的四个32x32块)之间的这些16x16块表示树结构的第三分级级别(在这一例子中为在第三级别的0至16个节点)。也可以提到称为距离的术语可以与树结构的分级级别结合使用,其中某个分级级别的元素具有从根的相同距离。例如第二分级级别的距离从根为一(其中根表示第一或者最高分级级别)。
在下文中,使用术语编码树作为树结构的例子。
表4举例说明从画面类型-变换大小到ctx变量的例子映射。这样,为编码树中的不同分级级别维持不同排序表,这可以提高编码效率。这是因为语法元素的值可以在编码树的相同分级级别之间更相关,并且排序表的分离利用这一相关性。
表4举例说明使用画面类型和用于变换块的编码树分级级别作为情境的例子。
表4
例如,如果画面类型是帧内画面(I画面)并且编码树的分级级别是2,则在使用表4时对应情境(索引)将是2。对应地,对于在P画面中的具有分级级别1的块,情境将是5。
为了简化,在下述例子中假设视频编码器1支持四个分级级别(0,1,2,3)。可以给定初始自适应排序表为:
tableCBP[ctx][i]=
{{0,1,2,3,4,5,6,7,8,9,10,11,12,1314,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}}
其中行与不同画面类型和分级级别对应。在这一例子中,行与表1的行对应、即第一行与大小为4x4的I画面对应、第二行与大小为8x8的I画面对应等。
例如,如果编码器1将对编码块图案(cbp)值10编码,该cbp值在二进制形式中是1010,该1010例如指示左上和左下块包含至少一个非零系数。编码器1例如通过使用表4来确定情境变量ctx。现在假设在I画面中对编码块图案编码并且分级级别是1。因此如从表4可见,可以确定情境变量ctx是1。值10的等级在对应排序表(tableCBP[ctx][i])中也是10,并且可以使用VLC表来二值化等级值。然后更新对应排序表并且tableCBP阵列变成:
tableCBP[ctx][i]=
{{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,10,9,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}}
换而言之,已经交换在第二行的值10和9。
现在假设编码器接着对I画面中的具有等于3的分级级别的下一编码块图案值3编码。从表4发现ctx变量是3。在对应排序表中的值3的等级是3,并且使用VLC表来二值化等级值3。然后更新对应排序表,并且tableCPB阵列变成:
tableCBP[ctx][i]=
{{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,10,9,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,3,2,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14.15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}}
已经交换在第四行的值3和2。
如上所见,有可能将不同自适应排序表用于不同变换大小编码块图案值。
接着举例说明用于对等级值编码的VLC表的一些例子。
表5
表6
等级 | VLC码字 |
0 | 1 |
1 | 010 |
2 | 011 |
3 | 00010 |
4 | 00011 |
5 | 00001000 |
6 | 00001001 |
7 | 00001010 |
8 | 00001100 |
9 | 00001101 |
10 | 00001110 |
11 | 00001111 |
12 | 00000100 |
13 | 00000101 |
14 | 00000110 |
15 | 00000111 |
使用上述例子,如果使用表5则将首先选择VLC码字0000100或者如果使用表6则将选择VLC码字00001110以对编码块图案值10编码。当将再次对编码块图案值10编码时,用于值10的更新等级是9,其中VLC码字是00011(表5)或者00001101(表6)。
在第二例子中,编码器1对I画面中的具有分级级别3的编码块图案值3编码。从表4发现ctx变量是3,其中如果使用表5则VLC码字将首先是011或者如果使用表6则是00010。下一次将二值化编码块图案值3为010(表5)或者为011(表6)。
在编码器1中,排序表选择器1.6计算指向自适应排序表CBP[ctx][i]的索引ctx并且通过使用索引ctx来选择排序表中的正确行。排序表选择器1.6然后可以通过使用当前语法元素的值作为指向排序表中的行的指针从表分配码字以用来表示语法元素(块405)。排序表适配器1.8可以例如通过交换自适应排序表中的两个连续元素的值使用相同指针以适配排序表,如上文举例说明的那样(块406)。
在图13中所示另一实施例中,可以通过使用码字选择器1.9来实施码字选择,该码字选择器可以从排序表选择器1.6接收关于所选排序表的信息。码字选择器1.9然后可以使用语法元素的值以从所选码字表选择码字。
可以针对待编码的其它宏块或者其它数据重复上述过程(块407)。
在一些实施例中,可以例如使用四叉树分割将宏块分割成更小块。在图6a和6b中描绘以四叉树方式将宏块分割成更小块的例子。图6a描绘分割成更小块610、620、630、640的宏块600的例子。在这一例子中,将左上块610划分成四个更小块611-614,将右下块640划分成四个更小块641-644,并且将后一个分割的块640(即大宏块600的右下块)的左上块641进一步划分成四个更小块645-648。在图6b中图示与图6a的例子的块分割对应的四叉树。四叉树分割是一种分级变换。在一些实施例中,可以例如通过使用二进制数1和0对四叉树编码。例如数1可以指示块划分成更小块,其中数0可以指示块没有划分成更小块。这一指示可以称为拆分标志,该拆分标志指示在每个树节点是否应当进一步拆分该变换。然后可以将图6b的例子的四叉树编码为二进制值1001、0000、1000、0000的集合。第一二进制值1001表示四叉树的第一(最高)级别,指示将第一(左上)和最后(右下)块划分成更小块。接下来两个二进制值0000和1000表示四叉树的第二(最高)级别,并且最后二进制值0000表示四叉树的第三(最高)级别的一个部分。如果将第二级别的其它块中的一些块划分成更小块,则四叉树将在第三级别包括更多二进制值。换而言之,如果在四叉树的某一级别的二进制值包括数1,则四叉树的二进制表示将包含在下一更低级别的二进制值。在图6c中图示四叉树的另一例子。图6c的四叉树的对应二进制表示可以是1001、0010、1000、0100、0000、0000。这里应当注意也可以用不同方式、例如以二进制数1可以指示块没有划分成更小块、其中数0可以指示块划分成更小块这样的方式表示四叉树。也可以使用除了二进制数0和1之外的其它数或者字符以表征四叉树结构。
从上文可以推断,可以通过使用四叉树向解码器指示对图像的宏块或者图像的分片的分割。因此,编码器1可以通过对四叉树的二进制表示编码来向比特流中插入宏块的分割指示。在下文中,公开对二进制表示编码的例子实现方式。
在一些实施例中,宏块可以具有大的大小(例如128x128或者更是大于该大小)并且可以用四叉树方式划分成更小块。视频编码器的块处理器1.7或者在一些其它实施例中编码器1可以检查大宏块的内容并且基于该检查可以判决针对宏块的某些区域将使用更小块大小。该判决可以依赖于图像内容的平滑性、在宏块的区域中的细节数目等。
当编码器1已经接收信息或者确定宏块的分割时,编码器1可以例如如下对关于分割的信息编码。这一信息在本文中称为变换结构信息。应当注意,除了变换结构之外还可以将如下文说明的相似四叉树用于块大小、运动分割。
在一些实施例中,无需将块划分成相同大小的四个更小块。例如可以将MxM块划分成两个(M/2)xM块或者两个Mx(M/2)块。也可以有可能将MxM块划分成具有不同大小的块。例如可以将它划分成大小为(M-N)xM的一个块和大小为NxM的另一个块、大小为Mx(M-N)的一个块和大小为MxN的另一个块等。也可以有可能将块划分成无需相同大小的四个更小块。例如MxM块可以划分成一个NxN块、一个(M-N)x(M-N)块、一个(M-N)xN块和一个Nx(M-N)块。上文提到的参数M、N是正整数。在一些实施例中,可以使用这些种类的块大小以表示运动分割块,并且语法元素然后可以涉及运动分割信息。
使用VLC编码可能未对使用1位语法元素高效编码,因此对语法元素分组可以更好。使用称为变换拆分图案(tsp)的语法元素,该tsp指示进一步划分四个变换块中的哪个变换块。与上文举例说明的编码块图案相似,然后可以使用自适应排序表对tsp语法元素编码。
现在假设使用排序表TSP[ctx][i]对tsp信息编码。与编码块图案编码相似,使用以下信息来计算情境变量:当前块的画面类型和变换大小。
为了简化,在下述例子中再次假设视频编码器1支持大小为4x4、8x8、16x16和32x32的变换。在这一例子中,32x32变换大小指代变换编码树分级级别0,16x16指代分级级别1,等等。可以给定用于tsp信息的初始自适应排序表为:
tableTSP[ctx][i]=
{{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}}
其中行与不同画面类型和块大小对应。在这一例子中,行与表1的行对应、即第一行与大小为4x4的I画面对应、第二行与大小为8x8的I画面对应等。
在图6a和6b的例子中,在四叉树的顶部的节点与未拆分的宏块的大小对应。在这一情况下,大小是128x128画面元素,但是它可以不同于该大小。无需对该节点编码。可以具有tsp信息的第一级别(在图6b中最高)是在顶部节点以下的级别、即从顶部节点的四个分支。这一级别与块大小128/2x128/2=64x64对应。因此,如果将对tsp值9编码(=作为二进制数的1001),那么如果宏块是I画面的宏块则表4将指示索引ctx是3、如果宏块是P画面的宏块则将是7或者如果宏块是B画面的宏块则将是11。
如果宏块属于P画面,则可以从表TSP[ctx][i]的第八行选择VLC码字。值是9,因而选择来自第八行的第十个VLC码字,并且例如通过将第十行的等级减少1来修改该等级。因此修改表TSP[ctx][i]如下:
{{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,23,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,23,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,23,4,5,6,7,9,8,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}}
以相同方式,可以二值化用于四叉树的更低级别(更小块大小、比如16x16、8x8、4x4)的tsp值。
在一些实施例中,无需总是对整个四叉树编码。例如更低级别中的一些级别可以例如在没有更大宏块的部分分割成最小可能块大小时包含零值。例如大小为128x128的宏块可以已经划分成64x64画面元素的子块并且这些子块或者它们中的仅部分可以已经进一步划分成32x32画面元素的子块并且尚未进行进一步划分。在这一例子中,如果仅对第一和第二级别的tsp值编码则可以足够了。
编码器1可以在比特流中插入已经对哪些参数编码的指示。例如可以提供某些VLC码字表示编码块图案的值或者变换拆分图案的值这样的指示。例如也可以通过使用其它手段来提供这一信息或者这些VLC码字可以位于比特流的某些位置。
排序表和码字表5.1-5.M的设计可以是应用特有的,例如未必有针对每个使用情况工作的单个表集合。然而前面的表1-6举例说明可以使用的一个可能表设计。
在一些实施例中,排序表和码字表不是分离表而是可以组合它们。换而言之,使用表4和5,表CBP[ctx][i]可以实施于设备的存储器中使得为可变ctx的每个可能值、即为表的每行保留某个存储器区域并且这一区域包含用于该行的变量i的每个可能值的码字。当改变值Y的等级时,与值Y的当前等级对应的码字可以与应当用来改变值Y的等级的另一值Z的等级对应的码字交换。使用表5作为例子,为表CBP[ctx][i]保留的存储器区域的部分可以初始地包含值10、11、010、011、00100、00101、…。在其中将对值3编码的情形中,编码器1将分配码字011以表示值3并且调换码字010和011。此后,存储器的上文提到的部分将包含以下值10、11、011、010、00100、00101、...。也有用于实施排序表和码字以及在它们之间的映射的其它可能性。
也在先前例子中,例如从驻留于存储器4中的预定义的表加载码字。然而在一些情况下,有可能动态生成码字,从而码字无需存储于存储器中。当编码器需要获得码字时,它使用表编号和码字编号以使用预定义算法来生成码字。
可以用许多方式实施码字表5.1-5.M和自适应排序表的存储。它们可以例如存储到第一设备8的存储器4。每行可以存储于连续存储器位置使得每个值具有某一比特长度或者使得在每个值之后有用于将不同列相互分离的字段分离符。也有可能逐列存储表的值。
在上文中,从编码器的观点讨论本发明的一些原理,但是解码器实现方式除了处理反向、即接收的码字用来确定对应符号之外颇为相似。现在参照图3的解码器和图5的流程图更具体说明这一点。第二设备10(图1)接收传输的信息并且在接收器14中例如执行将射频信号转换14.1成更低频信号(例如基带信号)、信道解码14.2更低频信号和/或用于从接收的信号获得码字的一些其它操作。接收的码字可以存储于第二设备的存储器12中用于进一步处理。
第二设备10或者解码器11包括与编码器1在对编码块图案和/或变换拆分图案编码时使用的表对应的表,或者可以用另一方式、例如通过从第一设备向第二设备传输表或者通过从存储介质、从服务器等下载它们来向解码器11提供它们。
解码器11的初始化块113将自适应排序表初始化(图5中的块501)成与在编码器1的自适应排序表的初始状态对应的初始状态。解码器11有权访问与编码器的表对应的表。例如解码器11具有与编码器1的自适应排序表5.1-5.M相似的自适应排序表17.1-17.M的集合。表可以例如形成于解码器的存储器12中,或者解码器11可以包括待使用的一些算法而不是表。
解码器11可以包括变量k,该变量指示码字的类型、例如码字是否涉及编码块图案信息、变换拆分图案信息或者码字是否包括关于块的系数的信息等。也可以有解码器11用于将不同类型的码字相互分离的其它方式。
符号确定块11.2可以使用变量k的当前值以确定将使用哪个自适应排序表(块502)或者可以有用于选择自适应排序表的排序表选择器11.9。例如,如果变量k指示当前码字涉及编码块图案信息,则符号确定块11.2或者排序表选择器11.9使用关于画面类型和变换大小的信息以选择编码块图案表CBP[ctx][i]的正确行并且使用码字以选择该行中的正确元素。
例如逐个地或以更大部分向解码器11的输入端11.1输入接收的比特,从该解码器的输入端向符号确定块11.2递送比特(块503)。符号确定块11.2检查自适应排序表17.1、17.2、17.M的码字以确定这样的码字是否存在于自适应排序表中(块504、505)。如果该检查指示码字存在,则可以使用这样获得的码字以确定符号、即编码块图案值(块506)。然而如果目前为止解码的比特图案不是码字表中的码字,则也输入并且与先前比特组合下一比特。当已经发现存在的码字时,可以使用它以确定正确编码块图案值。也可以向第二设备10的存储器12存储编码块图案值。符号确定块11.2可以包括用于执行检查自适应排序表中的对应符号和码字的符号选择器11.8。在从输入比特流发现码字和对应编码块图案值之后,例如适配器11.6可以如结合编码器的操作公开的那样通过增加编码块图案值的等级来更新编码块图案表CBP[ctx][i](块507)。在对涉及变换拆分图案值的码字解码的情况下,除了待使用的表是与编码器的变换拆分图案表TSP[ctx][i]对应的变换拆分图案表TSP[ctx][i]之外,操作与上述颇为相似。
在一些实施例中,如图14中所示,解码器11可以包括语法元素选择器11.8,该语法元素选择器可以使用码字以在所选排序表的所选行中选择正确语法元素,以及适配器11.10,用于适配所选排序表。
控制器11.4可以包括用于更新自适应排序表和可能一些其它变量的更新单元11.7。
这里应当注意也有从码字解码符号的其它可能性。它无需逐位发生而是可以在这一背景中利用任何种类的发现匹配码字的方法。例如向解码器11的输入端11.1输入比特流的部分,从该解码器的输入端11.1向符号确定块11.2递送比特。符号确定块11.2从所选可变长度码字表检查比特流的所述部分是否包括所述所选可变长度码字表中的码字。如果该检查指示比特流的所述部分包括所述所选可变长度码字表中的码字,则符号确定块11.2确定所述所选可变长度码字表中的哪个符号与码字对应并且输出该符号。如果该检查指示比特流的所述部分未包括所述所选可变长度码字表中的任何码字,则向解码器11的输入端11.1输入并且向符号确定块11.2递送比特流的下一部分用于进一步检查。重复上述步骤直至已经从所选可变长度码字表发现有效码字。
当已经发现码字和对应语法元素时,解码器11的输出端11.6可以提供语法元素用于进一步处理。进一步处理可以包括存储语法元素、重建图像的块或者整个图像等。
也有用于在解码过程中发现匹配码字的其它可能性、比如使用查找表或者使用二叉树。
通过重复该过程,正确地解码比特流从而产生传输的相同符号流。
图12示出了适合于对宏块解码并且重建视频例如用于显示、用于存储或者用于进一步处理的视频解码器的框图。视频解码器示出熵解码器600,该熵解码器可以对接收的信号执行熵解码并且可以包括上文描述的解码器11。熵解码器因此执行与上文描述的编码器的熵编码器330相反的操作。熵解码器600向预测误差解码器602和像素预测器604输出熵解码的结果。
像素预测器604接收熵解码器600的输出,并且在像素预测器604内的预测器选择器614确定是否将执行帧内预测或者帧间预测操作。预测器选择器还向第一组合器613输出图像块的预测表示616。与重建的预测误差信号612结合使用图像块的预测表示616以生成初步重建图像618。可以在预测器614中使用或者可以向滤波器620传递初步重建图像618。滤波器620应用滤波,输出最终预测信号622。最终预测信号622可以存储于参考帧存储器624中,参考帧存储器624还连接到预测器614用于预测操作。
预测误差解码器602接收熵解码器600的输出并且通过逆变换块692执行逆变换和通过逆量化器693执行逆量化以获得重建的预测误差信号612。
在上述例子中,描绘了编码器1和解码器11的功能单元为分离块。然而在实际实现方式中,功能单元或者它们中的一些功能单元可以实施于硬件中或者实施为编码器1的控制器1.4和/或解码器11的控制器11.4的程序代码。控制器1.4、11.4可以是包括程序代码解译器或者用于执行程序代码的其它装置的数字信号处理器或者其它处理器。程序代码可以存储在存储介质、比如存储器4、12中或者存储在盘、例如CDROM中或者存储在另一种类的载体中。
可以在例如使用数据压缩以压缩视频信号的应用中使用本发明。在视频编码中,已经观测到该方法有益于至少对宏块、编码块图案(cbp)和在离散余弦变换(DCT)变换块中的最后非零系数的位置编码。
也可以在对关于离散余弦变换(DCT)变换块中的最后非零系数的位置的信息编码时利用本发明。然后可以例如根据当前块的画面类型和当前块的变换大小基于自适应排序表选择VLC码字。
包括编码器1的第一设备8可以例如是无线通信设备、计算机、服务器、CDROM播放器、DVD播放器等。包括解码器11的第二设备10可以例如是无线通信设备、计算机、服务器、CDROM播发器、DVD播放器等。传输信道15可以包括通信网络,诸如无线通信网络、局域网、在第一设备9与第二设备10之间的有线或者无线连接等。
上文描述的本发明的实施例以分离编码器和解码器装置的方式描述编码解码器以便有助于理解涉及到的过程。然而将理解可以实施装置、结构和操作为单个编码器-解码器装置/结构/操作。另外,在本发明的一些实施例中,编码器和解码器可以共享一些或者所有共同的元素。
虽然上述例子描述在电子设备内的编码解码器内操作的本发明实施例,但是将理解可以实施如上文描述的本发明为任何视频编码解码器的部分。因此例如可以在可以通过固定或者有线通信路径实施视频编码的视频编码解码器中实施本发明的实施例。
因此,用户设备可以包括视频编码解码器、比如在上述发明实施例中描述的视频编码解码器。
应当理解术语用户设备旨在于覆盖任何适当类型的无线用户设备、比如移动电话、便携数据处理设备或者便携网上浏览器。
公共陆地移动网络(PLMN)的更多单元也可以包括如上文描述的视频编码解码器。
一般而言,本发明的各种实施例可以实施于硬件或者专用电路、软件、逻辑或者其任何组合中。例如一些方面可以实施于硬件中,而其它方面可以实施于控制器、微处理器或者其它计算设备可以执行的固件或者软件中,但是本发明不限于此。尽管本发明的各种方面可以图示和描述为框图、流程图或者使用一些其它图形表示来图示和描述,但是应当理解,作为非限制例子,可以在硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其某一组合中实施这里描述的这些块、装置、系统、技术或者方法。
移动设备的数据处理器、比如在处理器实体中可执行的计算机软件或者硬件或者软件与硬件的组合可以实施本发明的实施例。另外就这一点而言应当注意,如图中的逻辑流程的任何块可以代表程序步骤或者互连逻辑电路、块和功能或者程序步骤与逻辑电路、块和功能的组合。软件可以存储于比如在处理器内实施的存储器芯片或者存储器块、磁介质如硬盘或者软盘和光学介质比如DVD及其数据变体CD这样的物理介质上。
存储器可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术、比如基于半导体的存储器设备、磁存储器设备和系统、光学存储器设备和系统、固定存储器和可拆卸存储器来实施。数据处理器可以是适合于本地技术环境的任何类型并且可以包括作为非限制例子的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多芯处理器架构的处理器中的一个或者多个类型。
可以在各种部件、比如集成电路模块中实现本发明的实施例。集成电路的设计主要是高度自动化过程。复杂而强大的软件工具可用于将逻辑级设计转换成准备好在半导体衬底上蚀刻和形成的半导体电路设计。
程序、比如Mountain View,California的Synopsys Inc.和SanJose,California的Cadence Design提供的程序使用建立好的设计规则以及预存的设计模块的库在半导体芯片上自动对导体布线并且对部件定位。一旦已经完成用于半导体电路的设计,所得设计可以按照标准化电子格式(例如Opus、GDSII等)送往半导体制作设施或者“fab”用于制作。
前文描述已经通过示例而非限制的例子提供对本发明示例实施例的完全而有启发的描述。然而各种修改和适配鉴于在与附图和所附权利要求结合阅读前文描述时可以变得为本领域技术人员所清楚。然而对本发明的教导的所有这样和相似的修改仍将落入本发明的范围内。
根据第一实施例的一种方法包括:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
在本发明第一实施例的方法中,树结构可以是编码树。
在本发明第一实施例的方法中,编码树可以包括四叉树。
本发明第一实施例的方法可以包括使用排序表以定义映射。
在本发明第一实施例的方法中,所述更新映射可以包括更新排序表。
本发明第一实施例的方法可以包括通过交换排序表中的两个值来更新映射。
本发明第一实施例的方法可以包括使用至少两个排序表,其中方法还包括使用分级级别以从所述至少两个排序表选择排序表。
本发明第一实施例的方法可以包括使用各自包括码字集合的至少两个排序表,其中方法还包括:
使用分级级别以从所述至少两个排序表选择排序表;并且
使用所述语法元素以选择码字。
本发明第一实施例的方法可以包括使用各自包括码字集合的至少两个排序表,其中方法还包括:
使用分级级别以从所述至少两个排序表选择排序表;
使用所述语法元素以选择码字;并且
交换码字与选择的排序表中的所述码字集合的另一码字。
在本发明第一实施例的方法中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第一实施例的方法中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第一实施例的方法中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第二实施例的一种方法包括:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
在本发明第二实施例的方法中,树结构可以是编码树。
在本发明第二实施例的方法中,编码树可以是四叉树。
在本发明第二实施例的方法中,所述确定可以包括基于码字从确定的排序表获得语法元素。
本发明第二实施例的方法可以包括使用排序表以定义映射。
在本发明第二实施例的方法中,所述更新映射可以包括更新排序表。
本发明第二实施例的方法可以包括通过交换排序表中的两个值来更新映射。
本发明第二实施例的方法可以包括使用至少两个排序表,其中方法还包括使用分级级别以从所述至少两个排序表选择排序表。
本发明第二实施例的方法可以包括使用各自包括码字集合和语法元素集合的至少两个排序表,其中方法还包括:
使用分级级别以从所述至少两个排序表选择排序表;并且
使用所述码字以选择语法元素。
本发明第二实施例的方法可以包括使用各自包括码字集合和语法元素集合的至少两个排序表,其中方法还包括:
使用分级级别以从所述至少两个排序表选择排序表;
使用所述码字以选择语法元素;并且
交换语法元素与选择的排序表中的所述语法元素集合的另一语法元素。
在本发明第二实施例的方法中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第二实施例的方法中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第二实施例的方法中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第三实施例的一种装置包括:
输入,被配置用于接收语法元素,语法元素将被编码为码字集合的码字;
确定单元,被配置用于基于树结构中的分级级别确定在语法元素与码字之间的映射;
码字选择器,被配置用于使用映射以获得码字;以及
适配器,被配置用于更新映射。
在本发明第三实施例的装置中,树结构可以是编码树。
在本发明第三实施例的装置中,编码树可以包括四叉树。
本发明第三实施例的装置可以包括用于定义映射的排序表。
在本发明第三实施例的装置中,所述适配器可以被配置用于更新排序表。
在本发明第三实施例的装置中,所述适配器可以被配置用于交换排序表中的两个值。
本发明第三实施例的装置可以包括至少两个排序表,其中装置还可以包括被配置用于使用分级级别以从所述至少两个排序表选择排序表的排序表选择器。
本发明第三实施例的装置可以包括各自包括码字集合的至少两个排序表,其中所述排序表选择器可以被配置用于使用分级级别以从所述至少两个排序表选择排序表;并且所述码字选择器可以被配置用于使用所述语法元素以选择码字。
本发明第三实施例的装置可以包括各自包括码字集合的至少两个排序表,其中所述排序表选择器可以被配置用于使用分级级别以从所述至少两个排序表选择排序表;所述码字选择器可以被配置用于使用所述语法元素以选择码字;并且所述适配器可以被配置用于交换码字与选择的排序表中的所述码字集合的另一码字。
在本发明第三实施例的装置中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第三实施例的装置中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第三实施例的装置中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第四实施例的一种装置包括:
输入,被配置用于接收码字集合的码字;
确定单元,被配置用于确定树结构中的分级级别;
语法元素选择器,被配置用于基于所述分级级别确定用于获得语法元素的映射;以及
适配器,被配置用于更新映射。
在本发明第四实施例的装置中,树结构可以是编码树。
在本发明第四实施例的装置中,编码树可以包括四叉树。
本发明第四实施例的装置可以包括用于定义映射的排序表。
在本发明第四实施例的装置中,所述适配器可以被配置用于更新排序表。
在本发明第四实施例的装置中,所述适配器可以被配置用于交换排序表中的两个值。
本发明第四实施例的装置可以包括至少两个排序表,其中装置还可以包括被配置用于使用分级级别以从所述至少两个排序表选择排序表的排序表选择器。
本发明第四实施例的装置可以包括各自包括码字集合和语法元素集合的至少两个排序表,其中所述排序表选择器可以被配置用于使用分级级别以从所述至少两个排序表选择排序表;并且所述语法元素选择器可以被配置用于使用所述码字以选择语法元素。
本发明第四实施例的装置可以包括各自包括码字集合的至少两个排序表,其中所述排序表选择器可以被配置用于使用分级级别以从所述至少两个排序表选择排序表;所述语法元素选择器可以被配置用于使用所述码字以选择语法元素;并且所述适配器可以被配置用于交换语法元素与选择的排序表中的所述语法元素集合的另一语法元素。
在本发明第四实施例的装置中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第四实施例的装置中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第四实施例的装置中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第五实施例的一种存储介质,具有在其上存储的用于由编码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
在本发明第五实施例的存储介质中,树结构可以是编码树。
在本发明第五实施例的存储介质中,编码树可以包括四叉树。
本发明第五实施例的存储介质可以包括用于使用排序表以定义映射的指令。
在本发明第五实施例的存储介质中,所述更新映射可以包括用于更新排序表的指令。
本发明第五实施例的存储介质可以包括用于通过交换排序表中的两个值来更新映射的指令。
本发明第五实施例的存储介质可以包括用于使用至少两个排序表的指令,其中存储介质还包括用于使用分级级别以从所述至少两个排序表选择排序表的指令。
本发明第五实施例的存储介质可以包括用于使用各自包括码字集合的至少两个排序表的指令,其中存储介质还包括用于以下操作的指令:
使用分级级别以从所述至少两个排序表选择排序表;并且
使用所述语法元素以选择码字。
本发明第五实施例的存储介质可以包括用于使用各自包括码字集合的至少两个排序表的指令,其中存储介质还包括用于以下操作的指令:
使用分级级别以从所述至少两个排序表选择排序表;
使用所述语法元素以选择码字;并且
交换码字与选择的排序表中的所述码字集合的另一码字。
在本发明第五实施例的存储介质中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第五实施例的存储介质中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第五实施例的存储介质中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第六实施例的一种存储介质,具有在其上存储的用于由解码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
在本发明第六实施例的存储介质中,树结构可以是编码树。
在本发明第六实施例的存储介质中,编码树可以是四叉树。
在本发明第六实施例的存储介质中,所述确定可以包括用于基于码字从确定的排序表获得语法元素的指令。
本发明第六实施例的存储介质可以包括用于使用排序表以定义映射的指令。
在本发明第六实施例的存储介质中,所述更新映射可以包括用于更新排序表的指令。
本发明第六实施例的存储介质可以包括用于通过交换排序表中的两个值来更新映射的指令。
本发明第六实施例的存储介质可以包括用于使用至少两个排序表的指令,其中存储介质还包括用于使用分级级别以从所述至少两个排序表选择排序表的指令。
本发明第六实施例的存储介质可以包括用于使用各自包括码字集合和语法元素集合的至少两个排序表的指令,其中存储介质还包括用于以下操作的指令:
使用分级级别以从所述至少两个排序表选择排序表;并且
使用所述码字以选择语法元素。
本发明第六实施例的存储介质可以包括用于使用各自包括码字集合和语法元素集合的至少两个排序表的指令,其中存储介质还包括用于以下操作的指令:
使用分级级别以从所述至少两个排序表选择排序表;
使用所述码字以选择语法元素;并且
交换语法元素与选择的排序表中的所述语法元素集合的另一语法元素。
在本发明第六实施例的存储介质中,分级级别可以与具有从树结构的根的相同距离的节点集合对应。
在本发明第六实施例的存储介质中,树结构可以涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
在本发明第六实施例的存储介质中,语法元素可以涉及以下各项之一:
编码块图案;
变换拆分图案;
运动分割信息。
根据第七实施例的一种装置包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起使装置至少:
接收语法元素,语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在语法元素与码字之间的映射;
使用映射以获得码字;并且
更新映射。
根据第八实施例的一种装置包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
至少一个存储器和计算机程序代码被配置用于与至少一个处理器一起使装置至少:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;并且
更新映射。
根据第九实施例的一种装置包括:
用于接收语法元素的装置,语法元素将被编码为码字集合的码字;
用于基于树结构中的分级级别确定在语法元素与码字之间的映射的装置;
用于使用映射以获得码字的装置;以及
用于更新映射的装置。
根据第十实施例的一种装置包括:
用于接收码字集合的码字的装置;
用于确定树结构中的分级级别的装置;
用于基于所述分级级别确定用于获得语法元素的映射的装置;以及
用于更新映射的装置。
Claims (57)
1.一种方法,包括:
接收语法元素,所述语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在所述语法元素与所述码字之间的映射;
使用所述映射以获得所述码字;以及
更新所述映射。
2.根据权利要求1所述的方法,其中所述树结构是编码树。
3.根据权利要求2所述的方法,其中所述编码树可以包括四叉树。
4.根据权利要求1、2或者3所述的方法,包括:使用排序表以定义所述映射。
5.根据权利要求4所述的方法,其中所述更新所述映射包括:更新所述排序表。
6.根据权利要求4所述的方法,包括:通过交换所述排序表中的两个值来更新所述映射。
7.根据权利要求1至6中的任一权利要求所述的方法,包括:使用至少两个排序表,其中所述方法还包括使用所述分级级别以从所述至少两个排序表选择排序表。
8.根据权利要求1至6中的任一权利要求所述的方法,包括:使用各自包括码字集合的至少两个排序表,其中所述方法还包括:
使用所述分级级别以从所述至少两个排序表选择排序表;以及
使用所述语法元素以选择所述码字。
9.根据权利要求1至6中的任一权利要求所述的方法,包括:使用各自包括码字集合的至少两个排序表,其中所述方法还包括:
使用所述分级级别以从所述至少两个排序表选择排序表;
使用所述语法元素以选择所述码字;以及
交换所述码字与所述选择的排序表中的所述码字集合的另一码字。
10.根据权利要求所述1至9中的任一权利要求所述的方法,其中所述分级级别与具有从所述树结构的根的相同距离的节点集合对应。
11.根据权利要求1至10中的任一权利要求所述的方法,所述树结构涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
12.根据权利要求1至11中的任一权利要求所述的方法,所述语法元素涉及以下各项中的至少一项:
编码的块图案;
变换拆分图案;
运动分割信息。
13.一种方法,包括:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;以及
更新所述映射。
14.根据权利要求13所述的方法,其中所述树结构是编码树。
15.根据权利要求14所述的方法,其中所述编码树是四叉树。
16.根据权利要求13至15中的任一权利要求所述的方法,包括使用排序表以定义所述映射。
17.根据权利要求16所述的方法,所述更新所述映射包括:更新所述排序表。
18.根据权利要求17所述的方法,包括:通过交换所述排序表中的两个值来更新所述映射。
19.根据权利要求16、17或者18所述的方法,其中所述确定包括:基于所述码字从所述确定的排序表获得语法元素。
20.根据权利要求13至19中的任一权利要求所述的方法,包括:使用至少两个排序表,其中所述方法还包括使用所述分级级别以从所述至少两个排序表选择排序表。
21.根据权利要求13至19中的任一权利要求所述的方法,包括:使用各自包括码字集合和语法元素集合的至少两个排序表,其中所述方法还包括:
使用所述分级级别以从所述至少两个排序表选择排序表;以及
使用所述码字以选择所述语法元素。
22.根据权利要求13至19中的任一权利要求所述的方法,包括:使用各自包括码字集合和语法元素集合的至少两个排序表,其中所述方法还包括:
使用所述分级级别以从所述至少两个排序表选择排序表;
使用所述码字以选择所述语法元素;以及
交换所述语法元素与所述选择的排序表中的所述语法元素集合的另一语法元素。
23.根据权利要求13至22中的任一权利要求所述的方法,所述分级级别与具有从所述树结构的根的相同距离的节点集合对应。
24.根据权利要求13至23中的任一权利要求所述的方法,其中所述树结构涉及以下各项中的至少一项:
变换大小;
预测块大小;或者
宏块大小。
25.根据权利要求13至24中的任一权利要求所述的方法,其中所述语法元素涉及以下各项中的至少一项:
编码的块图案;
变换拆分图案;
运动分割信息。
26.一种装置包括:
输入,被配置用于接收语法元素,所述语法元素将被编码为码字集合的码字;
确定单元,被配置用于基于树结构中的分级级别确定在所述语法元素与所述码字之间的映射;
码字选择器,被配置用于使用所述映射以获得所述码字;以及
适配器,被配置用于更新所述映射。
27.根据权利要求26所述的装置,其中所述树结构是编码树。
28.根据权利要求26或者27所述的装置,包括:用于定义所述映射的排序表。
29.根据权利要求28所述的装置,其中所述适配器被配置用于更新所述排序表。
30.根据权利要求26至29中的任一权利要求所述的装置,包括:至少两个排序表和被配置用于使用所述分级级别以从所述至少两个排序表选择排序表的排序表选择器。
31.根据权利要求26至29中的任一权利要求所述的装置,所述至少两个排序表包括码字集合,其中所述排序表选择器被配置用于使用所述分级级别以从所述至少两个排序表选择排序表;并且所述码字选择器被配置用于使用所述语法元素以选择所述码字。
32.根据权利要求26至29中的任一权利要求所述的装置,所述至少两个排序表包括码字集合,其中所述排序表选择器被配置用于使用所述分级级别以从所述至少两个排序表选择排序表;所述码字选择器被配置用于使用所述语法元素以选择所述码字;并且所述适配器被配置用于交换所述码字与所述选择的排序表中的所述码字集合的另一码字。
33.一种装置,包括:
输入,被配置用于接收码字集合的码字;
确定单元,被配置用于确定树结构中的分级级别;
语法元素选择器,被配置用于基于所述分级级别确定用于获得语法元素的映射;以及
适配器,被配置用于更新所述映射。
34.根据权利要求33所述的装置,其中所述树结构是编码树。
35.根据权利要求33或者34所述的装置,包括:用于定义所述映射的排序表。
36.根据权利要求35所述的装置,其中所述适配器被配置用于更新所述排序表。
37.根据权利要求33至36中的任一权利要求所述的装置,包括:至少两个排序表和被配置用于使用所述分级级别以从所述至少两个排序表选择排序表的排序表选择器。
38.根据权利要求37所述的装置,包括:各自包括码字集合和语法元素集合的至少两个排序表,其中所述排序表选择器被配置用于使用所述分级级别以从所述至少两个排序表选择排序表;并且所述语法元素选择器被配置用于使用所述码字以选择所述语法元素。
39.根据权利要求37所述的装置,包括:各自包括码字集合的至少两个排序表,其中所述排序表选择器被配置用于使用所述分级级别以从所述至少两个排序表选择排序表;所述语法元素选择器被配置用于使用所述码字以选择所述语法元素;并且所述适配器被配置用于交换所述语法元素与所述选择的排序表中的所述语法元素集合的另一语法元素。
40.一种存储介质,具有在其上存储的用于由编码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收语法元素,所述语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在所述语法元素与所述码字之间的映射;
使用所述映射以获得所述码字;以及
更新所述映射。
41.根据权利要求40所述的存储介质,包括:用于使用排序表以定义所述映射的指令。
42.根据权利要求41所述的存储介质,包括:用于更新所述排序表的指令。
43.根据权利要求40、41或者42所述的存储介质,包括:用于使用至少两个排序表的指令,其中所述存储介质还包括用于使用所述分级级别以从所述至少两个排序表选择排序表的指令。
44.根据权利要求40至43中的任一权利要求所述的存储介质,包括用于使用各自包括码字集合的至少两个排序表的指令,其中所述存储介质还包括用于以下操作的指令:
使用所述分级级别以从所述至少两个排序表选择排序表;以及
使用所述语法元素以选择所述码字。
45.根据权利要求40至43中的任一权利要求所述的存储介质,包括:用于使用各自包括码字集合的至少两个排序表的指令,其中所述存储介质还包括用于以下操作的指令:
使用所述分级级别以从所述至少两个排序表选择排序表;
使用所述语法元素以选择所述码字;以及
交换所述码字与所述选择的排序表中的所述码字集合的另一码字。
46.一种存储介质,具有在其上存储的用于由解码器使用的计算机可执行程序代码,所述程序代码包括用于以下操作的指令:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;以及
更新所述映射。
47.根据权利要求46所述的存储介质,包括:用于使用排序表以定义所述映射的指令。
48.根据权利要求47所述的存储介质,包括:用于更新所述排序表的指令。
49.根据权利要求47或者48所述的存储介质,包括:用于通过交换所述排序表中的两个值来更新所述映射的指令。
50.根据权利要求47至49中的任一权利要求所述的存储介质,包括:用于基于所述码字从所述确定的排序表获得语法元素的指令。
51.根据权利要求46至50中的任一权利要求所述的存储介质,包括:用于使用至少两个排序表的指令,其中所述存储介质还包括用于使用所述分级级别以从所述至少两个排序表选择排序表的指令。
52.根据权利要求46至50中的任一权利要求所述的存储介质,包括用于使用各自包括码字集合和语法元素集合的至少两个排序表的指令,其中所述存储介质还包括用于以下操作的指令:
使用所述分级级别以从所述至少两个排序表选择排序表;以及
使用所述码字以选择语法元素。
53.根据权利要求46至50中的任一权利要求所述的存储介质,包括:用于使用各自包括码字集合和语法元素集合的至少两个排序表的指令,其中所述存储介质还包括用于以下操作的指令:
使用所述分级级别以从所述至少两个排序表选择排序表;
使用所述码字以选择所述语法元素;以及
交换所述语法元素与所述选择的排序表中的所述语法元素集合的另一语法元素。
54.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
所述至少一个存储器和所述计算机程序代码被配置用于与所述至少一个处理器一起使所述装置至少:
接收语法元素,所述语法元素将被编码为码字集合的码字;
基于树结构中的分级级别确定在所述语法元素与所述码字之间的映射;
使用所述映射以获得所述码字;以及
更新所述映射。
55.一种装置,包括:
至少一个处理器;以及
包括计算机程序代码的至少一个存储器;
所述至少一个存储器和所述计算机程序代码被配置用于与所述至少一个处理器一起使所述装置至少:
接收码字集合的码字;
确定树结构中的分级级别;
基于所述分级级别确定用于获得语法元素的映射;以及
更新所述映射。
56.一种装置,包括:
用于接收语法元素的装置,所述语法元素将被编码为码字集合的码字;
用于基于树结构中的分级级别确定在所述语法元素与所述码字之间的映射的装置;
用于使用所述映射以获得所述码字的装置;以及
用于更新所述映射的装置。
57.一种装置,包括:
用于接收码字集合的码字的装置;
用于确定树结构中的分级级别的装置;
用于基于所述分级级别确定用于获得语法元素的映射的装置;以及
用于更新所述映射的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US36168310P | 2010-07-06 | 2010-07-06 | |
US61/361,683 | 2010-07-06 | ||
PCT/IB2011/053008 WO2012023061A1 (en) | 2010-07-06 | 2011-07-06 | Method and apparatus for determining mapping between a syntax element and a code word for variable length coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103069801A true CN103069801A (zh) | 2013-04-24 |
CN103069801B CN103069801B (zh) | 2016-06-01 |
Family
ID=45604818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180039886.5A Active CN103069801B (zh) | 2010-07-06 | 2011-07-06 | 用于确定在语法元素与用于可变长度编码的码字之间的映射的方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8576097B2 (zh) |
EP (2) | EP3554075A1 (zh) |
KR (1) | KR101497845B1 (zh) |
CN (1) | CN103069801B (zh) |
RU (1) | RU2565877C2 (zh) |
WO (1) | WO2012023061A1 (zh) |
ZA (1) | ZA201300915B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810701A (zh) * | 2016-04-29 | 2021-12-17 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5368631B2 (ja) | 2010-04-08 | 2013-12-18 | 株式会社東芝 | 画像符号化方法、装置、及びプログラム |
EP3404918A1 (en) * | 2010-09-30 | 2018-11-21 | Samsung Electronics Co., Ltd. | Video decoding method for decoding hierarchical-structure symbols |
KR101955374B1 (ko) * | 2011-06-30 | 2019-05-31 | 에스케이 텔레콤주식회사 | 고속 코딩 단위(Coding Unit) 모드 결정을 통한 부호화/복호화 방법 및 장치 |
MY164655A (en) * | 2011-07-29 | 2018-01-30 | Sun Patent Trust | Moving Picture Coding Method, Moving Picture Decoding Method, Moving Picture Coding Apparatus, Moving Picture Decoding Apparatus, And Decoding Apparatus |
EP2988511A1 (en) | 2011-08-04 | 2016-02-24 | MediaTek Inc. | Method and apparatus for reordered binarization of syntax elements in cabac |
US10412414B2 (en) | 2012-08-13 | 2019-09-10 | Gurulogic Microsystems Oy | Decoder and method for decoding encoded input data containing a plurality of blocks or packets |
US9538239B2 (en) * | 2012-08-13 | 2017-01-03 | Gurulogic Microsystems Oy | Decoder and method for decoding encoded input data containing a plurality of blocks or packets |
US9735812B2 (en) * | 2015-06-26 | 2017-08-15 | Intel IP Corporation | Digital RF receiver power saving with signal quality dependent word length reduction |
CN112601083A (zh) | 2017-06-28 | 2021-04-02 | 华为技术有限公司 | 一种图像数据的编码、解码方法及装置 |
CN111418214B (zh) * | 2017-11-28 | 2021-06-29 | 华为技术有限公司 | 使用重建像素点的语法预测 |
CN109462762B (zh) * | 2018-10-26 | 2020-12-01 | 国网福建省电力有限公司漳州供电公司 | 用于无人机航拍的图像处理方法 |
US20240048641A1 (en) * | 2022-08-05 | 2024-02-08 | Samsung Display Co., Ltd. | System and method for dynamic entropy coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4916914A (en) * | 1988-05-27 | 1990-04-17 | Cpi Engineering Services, Inc. | Rotary displacement compression heat transfer systems incorporating highly fluorinated refrigerant-synthetic oil lubricant compositions |
US5452104A (en) * | 1990-02-27 | 1995-09-19 | Qualcomm Incorporated | Adaptive block size image compression method and system |
CN101637024A (zh) * | 2007-01-08 | 2010-01-27 | 高通股份有限公司 | 用于经译码块模式的可变长度译码技术 |
US20100086031A1 (en) * | 2008-10-03 | 2010-04-08 | Qualcomm Incorporated | Video coding with large macroblocks |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4816914A (en) * | 1987-01-07 | 1989-03-28 | Pictel Corporation | Method and apparatus for efficiently encoding and decoding image sequences |
US6941511B1 (en) * | 2000-08-31 | 2005-09-06 | International Business Machines Corporation | High-performance extensible document transformation |
ES2328916T3 (es) * | 2002-04-02 | 2009-11-19 | Nokia Corporation | Coeficientes de transformacion de codificacion en codificadores y/o descodificadores de imagenes/video. |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US7199735B1 (en) * | 2005-08-25 | 2007-04-03 | Mobilygen Corporation | Method and apparatus for entropy coding |
CN100466739C (zh) * | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
US7443318B2 (en) * | 2007-03-30 | 2008-10-28 | Hong Kong Applied Science And Technology Research Institute Co. Ltd. | High speed context memory implementation for H.264 |
US8041746B2 (en) * | 2007-10-30 | 2011-10-18 | Sap Ag | Mapping schemas using a naming rule |
-
2011
- 2011-07-06 US US13/177,126 patent/US8576097B2/en active Active
- 2011-07-06 EP EP19176919.9A patent/EP3554075A1/en active Pending
- 2011-07-06 WO PCT/IB2011/053008 patent/WO2012023061A1/en active Application Filing
- 2011-07-06 RU RU2013104941/08A patent/RU2565877C2/ru active
- 2011-07-06 EP EP11817837.5A patent/EP2591605B1/en active Active
- 2011-07-06 KR KR1020137003027A patent/KR101497845B1/ko active IP Right Grant
- 2011-07-06 CN CN201180039886.5A patent/CN103069801B/zh active Active
-
2013
- 2013-02-04 ZA ZA2013/00915A patent/ZA201300915B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4916914A (en) * | 1988-05-27 | 1990-04-17 | Cpi Engineering Services, Inc. | Rotary displacement compression heat transfer systems incorporating highly fluorinated refrigerant-synthetic oil lubricant compositions |
US5452104A (en) * | 1990-02-27 | 1995-09-19 | Qualcomm Incorporated | Adaptive block size image compression method and system |
CN101637024A (zh) * | 2007-01-08 | 2010-01-27 | 高通股份有限公司 | 用于经译码块模式的可变长度译码技术 |
US20100086031A1 (en) * | 2008-10-03 | 2010-04-08 | Qualcomm Incorporated | Video coding with large macroblocks |
Non-Patent Citations (1)
Title |
---|
KEMAL UGUR等: "Description of video coding technology proposal by Tandberg, Nokia, Ericsson", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1ST MEETING: DRESDEN》, 23 April 2010 (2010-04-23), pages 9 - 11 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810701A (zh) * | 2016-04-29 | 2021-12-17 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
CN113810701B (zh) * | 2016-04-29 | 2024-04-19 | 世宗大学校产学协力团 | 用于对图像信号进行编码和解码的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120169519A1 (en) | 2012-07-05 |
EP2591605A4 (en) | 2016-11-30 |
KR20130030299A (ko) | 2013-03-26 |
KR101497845B1 (ko) | 2015-03-02 |
EP3554075A1 (en) | 2019-10-16 |
EP2591605B1 (en) | 2019-11-06 |
RU2013104941A (ru) | 2014-10-20 |
CN103069801B (zh) | 2016-06-01 |
WO2012023061A1 (en) | 2012-02-23 |
EP2591605A1 (en) | 2013-05-15 |
US8576097B2 (en) | 2013-11-05 |
ZA201300915B (en) | 2014-07-30 |
RU2565877C2 (ru) | 2015-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103069801B (zh) | 用于确定在语法元素与用于可变长度编码的码字之间的映射的方法和装置 | |
CN104205646B (zh) | 变换系数编码 | |
CN102017634B (zh) | 重新排序的变换系数的多级表示 | |
CN105379283B (zh) | 数据编码和解码 | |
CN103024373B (zh) | 预测尺寸单元根据视频编码的信令 | |
EP3523965B1 (en) | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to picture data | |
CN103999468A (zh) | 用于视频编码的方法和装置 | |
JP5590133B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム | |
US8542936B2 (en) | Image encoding and decoding device | |
CN105027561A (zh) | 用于上下文自适应、多层级有效性译码的上下文导出 | |
CN104937936A (zh) | 用于帧内预测的模式决策简化 | |
CN105103549A (zh) | 根据重要系数的参数的重要系数编码和解码 | |
CN104737540A (zh) | 用于下一代视频的视频编解码器架构 | |
CN102783151A (zh) | 用于视频编码的装置、方法和计算机程序 | |
CN103503458A (zh) | 视频编码中的运动预测 | |
CN102165771A (zh) | 使用空间可变变换的视频编码 | |
CN104025603A (zh) | 最后有效系数的位置的渐进式译码 | |
CN103609121A (zh) | 统一合并模式和自适应运动向量预测模式候选者选择 | |
CN103141100A (zh) | 用于视频译码的帧内平滑滤波器 | |
CN102845063A (zh) | 用于视频编码的设备、方法和计算机程序 | |
CN102870411A (zh) | 用于视频处理的装置、方法和计算机程序 | |
CN103416065A (zh) | 用于视频编码的方法、装置和计算机程序 | |
CN103636224A (zh) | 用于视频压缩中的系数等级译码的上下文 | |
KR20140146548A (ko) | 신호 변환 방법 및 디바이스 | |
WO2012081949A2 (ko) | 인터 예측 방법 및 그 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160111 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |