CN104380749A - 用于视频编码的方法和装置 - Google Patents
用于视频编码的方法和装置 Download PDFInfo
- Publication number
- CN104380749A CN104380749A CN201380031649.3A CN201380031649A CN104380749A CN 104380749 A CN104380749 A CN 104380749A CN 201380031649 A CN201380031649 A CN 201380031649A CN 104380749 A CN104380749 A CN 104380749A
- Authority
- CN
- China
- Prior art keywords
- parameter set
- identifier
- aps
- value
- parameter
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000004590 computer program Methods 0.000 claims abstract description 48
- 230000033001 locomotion Effects 0.000 description 60
- 239000010410 layer Substances 0.000 description 55
- 239000013598 vector Substances 0.000 description 41
- 230000005540 biological transmission Effects 0.000 description 36
- 230000007246 mechanism Effects 0.000 description 23
- 238000005070 sampling Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 21
- 230000007774 longterm Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 239000011229 interlayer Substances 0.000 description 12
- 238000003860 storage Methods 0.000 description 10
- 239000012141 concentrate Substances 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000004087 circulation Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000002708 enhancing effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012384 transportation and delivery Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000002265 prevention Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 4
- 230000001131 transforming effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000005728 strengthening Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000000945 filler Substances 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
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
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/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
-
- 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
Abstract
公开一种方法、装置和计算机程序产品,其中接收第一参数集并且获得第一参数集的标识符。还接收第二参数集。基于以下各项中的至少一项确定第一参数集的有效性:在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。还公开一种方法、装置和计算机程序产品,其中对第一参数集进行编码并且将标识符附着到第一参数集。还对第二参数集进行编码。基于以下各项中的至少一项确定第一参数集的有效性:在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
Description
技术领域
本申请总体上涉及一种用于视频编码和解码的装置、方法和计算机程序。
背景技术
本节旨在于提供在权利要求中记载的本发明的背景或者上下文。这里的描述可以包括如下概念,这些概念可以被探求,但未必是先前已经设想或者探求的概念。因此,除非这里另有指示,在本节中描述的内容不是针对本申请中的说明书和权利要求书的现有技术并且不因包含于本节中而被承认为现有技术。
在许多视频编码标准中,语法结构可以被布置在不同层中,其中层可以被定义为具有非分支分级关系的语法结构集合中的一个语法结构。一般而言,更高层可以包含更低层。编码层可以例如由编码的视频序列、画面、分片和树块层构成。一些视频编码标准引入参数集的概念。参数集的实例可以包括所有画面、画面组(GOP)和序列级数据,比如画面大小、显示窗口、运用的可选编码模式、宏块分配映射和其它实例。每个参数集实例可以包括唯一标识符。每个分片首部可以包括对参数集标识符的参考,并且可以在对分片进行解码时使用参考的参数集的参数值。参数集可以用来从序列、GOP和画面边界解耦不频繁地改变的画面、GOP和序列级数据的传输和解码顺序。可以使用可靠的传输协议来带外传输参数集,只要在它们被参考之前对它们进行解码。如果带内传输参数集,则可以多次重复它们以与常规视频编码方案相比提高差错恢复(errorresilience)。可以在会话设立时间传输参数集。然而,在一些系统(主要是广播系统)中,参数集的可靠带外传输可能不可行,相反地,在参数集NAL单元中带内传达参数集。
发明内容
根据本发明的一些示例实施例,提供用于传输和接收参数集以及提供用于参数集的标识符从而标识符实现确定参数集的有效性的方法、装置和计算机程序产品。在一些实施例中,参数集是自适应参数集。在一些实施例中,在确定参数集是否有效时使用一个或者多个参数集的标识符值。
在具体实施方式中提供本发明的示例的各方面。
根据本发明的第一方面,提供一种方法,该方法包括:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第二方面,提供一种方法,该方法包括:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第三方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使该装置:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;以及
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第四方面,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使该装置:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;以及
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第五方面,提供一种包括一个或者多个指令的一个或者多个序列的计算机程序产品,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使装置至少执行以下操作:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第六方面,提供一种包括一个或者多个指令的一个或者多个序列的计算机程序产品,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使装置至少执行以下操作:
对第一参数集进行编码;
附着第一参数集的标识符;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第七方面,提供一种装置,该装置包括:
用于接收第一参数集的部件;
用于获得第一参数集的标识符的部件;
用于接收第二参数集的部件;
用于基于以下各项中的至少一项确定第一参数集的有效性的部件:
-通过在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第八方面,提供一种装置,该装置包括:
用于对第一参数集进行编码的部件;
用于附着第一参数集的标识符的部件;
用于对第二参数集进行编码的部件;以及
用于基于以下各项中的至少一项确定第一参数集的有效性的部件:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第九方面,提供一种视频解码器,该视频解码器被配置用于:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据本发明的第十方面,提供一种视频编码器,该视频编码器被配置用于:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
附图说明
为了更完整理解本发明的示例实施例,现在参照结合附图进行的以下描述,在附图中:
图1示意地示出运用本发明的一些实施例的电子设备;
图2示意地示出适合用于运用本发明的一些实施例的用户设备;
图3进一步示意地示出使用无线和有线网络连接而连接的运用本发明的实施例的电子设备;
图4a示意地示出如在编码器内结合的本发明的实施例;
图4b示意地示出根据本发明的一些实施例的帧间预测器的实施例;
图5示出基于DIBR的3DV系统的简化模型;
图6示出立体相机设置的简化2D模型;
图7示出访问单元的定义和编码顺序的示例;
图8示出能够对纹理视图和景深视图进行编码的编码器的实施例的高级流程图;以及
图9示出能够对纹理视图和景深视图进行解码的解码器的实施例的高级流程图。
具体实施方式
在下文中,将在一个视频编码布置的上下文中描述本发明的若干实施例。然而,将注意的是,本发明不限于这一具体布置。事实上,不同实施例广泛地在其中需要改进参考画面操纵的任何环境中具有应用。例如,本发明可以适用于视频编码系统,比如流式系统、DVD播放器、数字电视接收器、个人视频记录器、在个人计算机、手持计算机和通信设备上的系统和计算机程序、以及其中处理视频数据的网元(比如代码转换器和云计算布置)。
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图片专家组(MPEG)的联合视频团队(JVT)开发。H.264/AVC标准由两个母标准组织发布,并且它被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也称为MPEG-4部分10高级视频编码(AVC)。已经有H.264/AVC标准的多个版本,每个版本向规范集成新扩展或者特征。这些扩展包括可伸缩视频编码(SVC)和多视图视频编码(MVC)。
有VCEG和MPEG的联合协作团队-视频编码(JCT-VC)对高效率视频编码(HEVC)的当前进行中的标准化项目。
在这一节中描述H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念作为其中可以对实施例进行实施的视频编码器、解码器、编码方法、解码方法和比特流结构的示例。H.264/AVC的关键定义、比特流和编码结构以及概念中的一些关键定义、比特流和编码结构以及概念与在草案HEVC标准中相同——因此,以下共同地描述它们。本发明的各方面不限于H.264/AVC或者HEVC,但是相反,对于本发明可以在其上面被部分或者完全实现的一个可能基础给出描述。
与许多较早的视频编码标准相似,在H.264/AVC和HEVC中指定比特流语法和语义以及用于无错比特流的解码过程。未指定编码过程,但是编码器必须生成一致性比特流。可以用假设参考解码器(HRD)验证比特流和解码器一致性。标准包含有助于应对传输错误和丢失的编码工具,但是在编码时使用工具是可选的,并且对于错误比特流尚未指定解码过程。
分别用于至H.264/AVC或者HEVC编码器的输入以及H.264/AVC或者HEVC解码器的输出的基本单元是画面。在H.264/AVC和HEVC中,画面可以是帧或者场。帧包括亮度(luma)采样和对应色度采样的矩阵。场在源信号被交错时是帧的交替采样行的集合并且可以用作编码器输入。色度画面在与亮度画面比较时可以被子采样。例如,在4:2:0采样模式中,色度画面的空间分辨率是亮度画面沿着两个坐标轴的空间分辨率的一半。
在H.264/AVC中,宏块是16x16亮度采样块和对应色度采样块。例如在4:2:0采样模式中,宏块包含每个色度分量一个8x8色度采样块。在H.264/AVC中,画面被分割成一个或者多个分片组,并且分片组包含一个或者多个分片。在H.264/AVC中,分片由在特定分片组内的光栅扫描中连续排序的整数数目的宏块构成。
在草案HEVC标准中,视频画面被划分成覆盖画面区域的编码单元(CU)。CU由定义用于在CU内的采样的预测过程的一个或者多个预测单元(PU)以及定义用于在CU中的采样的预测误差编码过程的一个或者多个变换单元(TU)构成。通常,CU由具有从可能CU大小的预定义集合可选择的大小的采样方块构成。具有最大允许大小的CU通常称为LCU(最大编码单元),并且视频画面被划分成非重叠LCU。LCU可以例如通过递归地拆分LCU和所得CU来进一步拆分成更小CU的组合。每个所得CU通常具有至少一个PU和与它关联的至少一个TU。每个PU和TU还可以被拆分成更小PU和TU,以便分别增加预测和预测误差编码过程的粒度。PU拆分可以通过将CU拆分成四个相等大小的方形PU或者以对称或者不对称方式将CU竖直地或者水平地拆分成两个矩形PU来实现。通常在比特流中用信号发送将图像划分成CU以及将CU划分成PU和TU,从而允许解码器再现这些单元的既定结构。
在草案HEVC标准中,可以以矩形并且包含整数数目的LCU的瓦片(tile)的形式分割画面。在草案HEVC标准中,划分成瓦片形成规则网格,其中瓦片的高度和宽度互不相同最多一个LCU。在草案HEVC中,分片由整数数目的CU构成。如果未使用瓦片,则在瓦片内或者在画面内按照LCU的光栅扫描顺序扫描CU。在LCU内,CU具有具体扫描顺序。
在HEVC的工作草案(WD)5中,定义用于画面分割的一些关键定义和概念如下。定义分割为将集合划分成子集,从而集合的每个元素正好在子集中的一个子集中。
在HEVC WD5中的基本编码单元是树块。树块是具有三个采样阵列的画面的NxN亮度采样块和两个对应色度采样块,或者单色画面或使用三个分离色平面来编码的画面的NxN采样块。可以分割树块用于不同编码和解码过程。树块分割是用于具有三个采样阵列的画面的树块的分割所产生的亮度采样块和两个对应色度采样块或者用于单色画面或使用三个分离色平面来编码的画面的树块的峰所产生的亮度采样块。向每个树块指派分割信令以标识用于帧内或者帧间预测以及用于变换编码的块大小。分割是递归四元树分割。四元树的根与树块关联。拆分四元树直至到达称为编码节点的叶。编码节点是预测树和变换树这两个树的根节点。预测树指定预测块的位置和大小。预测树和关联预测数据称为预测单元。变换树指定变换块的位置和大小。变换树和关联变换数据称为变换单元。用于亮度和色度的拆分信息对于预测树是相同的,并且对于变换树可以是相同的或者可以不是相同的。编码节点以及关联的预测单元和变换单元一起形成编码单元。
在HEVC WD5中,将画面划分成分片(slice)和瓦片。分片可以是树块序列,但是(在指代所谓细粒度分片时)也可以在变换单元和预测单元重合的位置处在树块内具有它的边界。在分片内的树块按照光栅扫描顺序被编码和解码。对于编码的主画面,将每个画面划分成分片是分割。
在HEVC WD5中,定义瓦片为在一列和一行中同现的、在瓦片内的光栅扫描中连续排序的整数数目的树块。对于编码的主画面,将每个画面划分成瓦片是分割。瓦片在画面内的光栅扫描中被连续排序。虽然分片包含在瓦片内的光栅扫描中连续的树块,但是这些树块未必在画面内的光栅扫描中是连续的。分片和瓦片无需包含相同树块序列。瓦片可以包括在多于一个分片中包含的树块。相似地,分片可以包括在若干瓦片中包含的树块。
在H.264/AVC和HEVC中,可以跨分片边界停用画面内预测。因此,分片可以视为一种用于将编码的画面拆分成独立可解码片的方式,并且分片因此经常被视为用于传输的基本单元。在许多情况下,编码器可以在比特流中指示跨分片边界关闭哪些类型的画面内预测,并且解码器操作例如在推断哪些预测源可用时考虑这一信息。例如,如果邻近宏块或者CU在不同分片中驻留,则来自邻近宏块或者CU的采样可以视为不可用于帧内预测。
可以定义语法元素为在比特流中表示的数据的元素。可以定义语法结构为按照指定的顺序在比特流中一起存在的零个或者更多个语法元素。
分别用于H.264/AVC或者HEVC编码器的输出以及H.264/AVC或者HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。为了通过面向分组的网络传送或者存储成结构化文件,NAL单元可以被封装成分组或者相似结构。已经在H.264/AVC和HEVC中为未提供成帧结构的传输或者存储环境指定字节流格式。字节流格式通过在每个NAL单元前面附着开始码将NAL单元相互分离。为了避免错误检测NAL单元边界,编码器运行面向字节的开始码仿真预防算法,如果开始码原本会出现,则该算法向NAL单元载荷(payload)添加仿真预防字节。为了实现在面向分组与面向流的系统之间的简单直接网关操作,无论是否使用字节流格式,总是可以执行开始码仿真预防。NAL单元可以被定义为语法结构,该语法结构包含跟随的数据类型的指示以及以RBSP的形式包含该数据的字节,该RBSP如有必要被散布以仿真预防字节。原始字节序列载荷(RBSP)可以被定义为语法结构,该语法结构包含封装在NAL单元中的整数数目的字节。RBSP为空或者具有数据比特串的形式,该数据比特串包含被RBSP停止位跟随以及被等于0的零个或者更多个后续位跟随的语法元素。
NAL单元由首部和载荷构成。在H.264/AVC和HEVC中,NAL单元首部指示NAL单元的类型以及在NAL单元中包含的编码的分片是参考画面还是非参考画面的一部分。H.264/AVC包括2位nal_ref_idc语法元素,该语法元素在等于0时指示在NAL单元中包含的编码的分片是非参考画面的一部分而在大于0时指示在NAL单元中包含的编码的分片是参考画面的一部分。草案HEVC标准包括也称为nal_ref_flag的1位nal_ref_idc语法元素,该语法元素在等于0时指示在NAL单元中包含的编码的分片是非参考画面的一部分而在等于1时指示在NAL单元中包含的编码的分片是参考画面的一部分。用于SVC和MVC NAL单元的首部还可以包含与可伸缩性和多视图分级有关的各种指示。在HEVC中,NAL单元首部包括temporal_id语法元素,该语法元素指定用于NAL单元的时间标识符。
NAL单元可以被分类成视频编码层(VCL)NAL单元和非VCLNAL单元。VCL NAL单元通常是编码的分片NAL单元。在H.264/AVC中,编码的分片NAL单元包含表示一个或者多个编码的宏块的语法元素,该一个或者多个编码的宏块中的每个编码的宏块对应于在未压缩的画面中的采样块。在HEVC中,编码的分片NAL单元包含表示一个或者多个CU的语法元素。在H.264/AVC和HEVC中,可以指示编码的分片NAL单元为在瞬时解码刷新(IDR)画面中的编码的分片或者在非IDR画面中的编码的分片。在HEVC中,可以指示编码的分片NAL单元为在干净解码刷新(CDR)画面(也可以称为干净随机访问画面或者CRA画面)中的编码的分片。
非VCL NAL单元可以例如是以下类型之一:序列参数集、画面参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、流结束NAL单元或者填充符数据NAL单元。参数集可能是重建解码的画面所需要的,而其它非VCL NAL单元中的许多非VCL NAL单元对于重建解码的采样值不是必需的。
可以在序列参数集中包括经过编码的视频序列而保持不变的参数。除了解码过程可能需要的参数之外,序列参数集还可以可选地包含视频可用性信息(VUI),该VUI包括可能对于缓冲、画面输出定时、渲染和资源保留而言重要的参数。有在H.264/AVC中指定的用于携带序列参数集的三个NAL单元:包含用于在序列中的H.264/AVC VCL NAL单元的所有数据的序列参数集NAL单元、包含用于辅助编码的画面的数据的序列参数集扩展NAL单元以及用于MVC和SVC VCL NAL单元的子集序列参数集。画面参数集包含可能在若干编码的画面中不变的这样的参数。
在草案HEVC中,也有这里称为自适应参数集(APS)的第三类型的参数集,该第三类型的参数集包括可能在若干编码的分片中不变但是可能例如对于每个画面或者每几个画面改变的参数。在草案HEVC中,APS语法结构包括与量化矩阵(QM)、自适应采样偏移、自适应环路滤波(ALF)和解块滤波有关的参数或者语法元素。在草案HEVC中,APS是NAL单元并且被编码而无来自任何其它NAL单元的参考或者预测。在APS NAL单元中包括称为aps_id语法元素的标识符,并且在分片首部中包括和使用该标识符以参考特定APS。
H.264/AVC和HEVC语法允许参数集的多个实例,并且每个实例用唯一标识符来标识。为了限制参数集需要的存储器使用,已经限制用于参数集标识符的值范围。在H.264/AVC和草案HEVC标准中,每个分片首部包括对于包含分片的画面的解码而言活跃的画面参数集的标识符,并且每个画面参数集包含活跃序列参数集的标识符。在HEVC标准中,分片首部还包含APS标识符。因而,画面和序列参数集的传输无需与分片的传输准确同步。相反,活跃序列和画面参数集在它们被参考之前的任何时刻被接收就足够了,这允许使用与用于分片数据的协议相比较更可靠的传输机制来“带外”传输参数集。例如,可以包括参数集作为在用于实时传送协议(RTP)会话的会话描述中的参数。如果带内传输参数集,则可以重复它们以提高错误稳健性。
SEI NAL单元可以包含一个或者多个SEI消息,该一个或者多个SEI消息不是输出画面的解码所必需的但是可以辅助有关过程,比如画面输出定时、渲染、错误检测、错误隐藏和资源保留。在H.264/AVC和HEVC中指定若干SEI消息,并且用户数据SEI消息使组织和公司能够指定用于它们自己使用的SEI消息。H.264/AVC和HEVC包含用于指定的SEI消息的语法和语义,但是未定义用于在接收者中处理消息的过程。因而,要求编码器在它们创建消息时遵循H.264/AVC标准或者HEVC标准,并且不要求分别符合H.264/AVC标准或者HEVC标准的解码器为了输出顺序一致性而处理SEI消息。在H.264/AVC和HEVC中包括SEI消息的语法和语义的原因之一,是允许不同系统规范等同地解释补充信息并且因此互操作。旨在于系统规范可能需要在编码端和解码端二者中使用特定SEI消息,并且还可以指定用于在接收者中处理特定SEI消息的过程。
编码的画面是画面的编码表示。在H.264/AVC中的编码的画面包括画面的解码所必需的VCL NAL单元。在H.264/AVC中,编码的画面可以是主要编码画面或者冗余编码画面。在有效比特流的解码过程中使用主要编码画面,而冗余编码画面是应当仅在主要编码画面不能被成功解码时被解码的冗余表示。在草案HEVC中,尚未指定冗余编码画面。
在H.264/AVC和HEVC中,访问单元包括主要编码画面和与它关联的那些NAL单元。在H.264/AVC中,如下约束NAL单元在访问单元内的出现顺序。可选访问单元定界符NAL单元可以指示访问单元的开始。零个或者更多个SEI NAL单元跟随它。主要编码画面的编码分片接着出现。在H.264/AVC中,主要编码画面的编码分片可以跟随有用于零个或者更多个冗余编码画面的编码分片。冗余编码画面是画面或者画面的一部分的编码表示。如果主要编码画面例如由于在传输中丢失或者在物理存储介质中破坏而不被解码器接收,则可以对冗余编码画面进行解码。
在H.264/AVC中,访问单元也可以包括辅助编码画面,该辅助编码画面是补充主要编码画面并且可以例如在显示过程中使用的画面。辅助编码画面可以例如用作阿尔法通道或者阿尔法平面,该阿尔法通道或者阿尔法平面指定在解码画面中的采样的透明度水平。可以在分层组成或者渲染系统中使用阿尔法通道或者平面,其中输出画面通过叠加在彼此上面至少部分透明的画面被形成。辅助编码画面具有与单色冗余编码画面相同的语法和语义限制。在H.264/AVC中,辅助编码画面包含与主要编码画面相同数目的宏块。
定义编码的视频序列为按照从IDR访问单元(包括IDR访问单元)到无论哪个更早出现的下一IDR访问单元(不包括下一IDR访问单元)或者到比特流的结束的解码顺序的连续访问单元序列。
可以定义画面组(GOP)及其特性如下。GOP无论任何先前画面是否被解码都可以被解码。开放GOP是这样的画面组,在该画面组中,按照输出顺序在初始帧内画面之前的画面可能在解码从开放GOP的初始帧内画面开始时不是可正确地解码的。换而言之,开放GOP的画面可以参考(在帧内预测中)属于先前GOP的画面。H.264/AVC解码器可以从在H.264/AVC比特流中的恢复点SEI消息识别开始开放GOP的帧内画面。HEVC解码器可以识别开始开放GOP的帧内画面,因为CRA NAL单元类型这一具体NAL单元类型用于它的编码分片。封闭GOP是这样的画面组,在该画面组中,所有画面可以在解码从封闭GOP的初始帧内画面开始时被正确解码。换而言之,在封闭GOP中的画面不参考在先前GOP中的任何画面。在H.264/AVC和HEVC中,封闭GOP从IDR访问单元开始。结果,封闭GOP结构与开放GOP结构相比较具有更多错误恢复可能性,然而代价是可能减少压缩效率。开放GOP编码结构由于在选择参考画面时的更大灵活性而在压缩时可能更高效。
H.264/AVC和HEVC的比特流语法指示特定画面是否为用于任何其它画面的帧间预测的参考画面。任何编码类型(I、P、B)的画面可以是在H.264/AVC和HEVC中的参考画面或者非参考画面。NAL单元首部指示NAL单元的类型以及在NAL单元中包含的编码分片是参考画面还是非参考画面的一部分。
包括H.264/AVC和HEVC的许多混合视频编码解码器在两个阶段中对视频信息进行编码。在第一阶段中,预测在某个画面区域或者“块”中的像素或者采样值。例如,可以通过运动补偿机制来预测这些像素或者采样值,这些运动补偿机制涉及到发现和指示在先前编码的视频帧之一中的与编码的块接近地对应的区域。此外,可以通过涉及发现和指示空间区域关系的空间机制来预测像素或者采样值。
使用来自先前编码图像的图像信息的预测方式也可以称为帧间预测方法,这些帧间预测方法也可以称为时间预测和运动补偿。使用在相同图像内的图像信息的预测方式也可以称为帧内预测方法。
第二阶段是对在预测的像素或者采样块与原有像素或者采样块之间的误差进行编码之一。这可以通过使用指定的变换对像素或者采样值的差进行变换来实现。这一变换可以是离散余弦变换(DCT)或者其变体。在对差进行变换之后,变换的差被量化和熵编码。
通过改变量化过程的保真性,编码器可以控制在像素或者采样表示的准确性(即画面的视觉品质)与所得编码视频表示的大小(即文件大小或者传输比特率)之间的平衡。
解码器通过应用与编码器为了形成像素或者采样块的预测的表示而使用的预测机制相似的预测机制(使用由编码器创建的并且在图像的压缩表示中存储的运动或者空间信息)和预测误差解码(预测误差编码的用于在空间域中恢复量化预测误差信号的逆操作)来重构输出视频。
在应用像素或者采样预测和误差解码过程之后,解码器组合预测和预测误差信号(像素或者采样值)以形成输出视频帧。
解码器(和编码器)也可以应用附加滤波过程以便在传递输出视频用于显示和/或存储为用于在视频序列中的即将来临的画面的预测参考之前提高它的品质。
在包括H.264/AVC和HEVC的许多视频编码解码器中,运动信息由与每个运动补偿图像块关联的运动矢量指示。这些运动矢量中的每个运动矢量表示在待编码(在编码器中)或者解码(在解码器处)的画面中的图像块和在先前编码或者解码图像(或者画面)之一中的预测源块的移位。H.264/AVC和HEVC如同许多其它视频压缩标准将画面划分成矩形网格,对于这些矩形中的每个矩形指示在参考画面之一的相似块用于帧间预测。预测块的位置被编码为运动矢量,该运动矢量指示预测块相对于正在被编码的块的位置。
可以使用以下因素中的一个或者多个因素来表征帧间预测过程。
运动矢量表示的准确性。例如,运动矢量可以是四分之一像素准确性,并且可以使用有限冲激响应(FIR)滤波器来获得在分数像素位置中的采样值。
用于帧间预测的块分割。包括H.264/AVC和HEVC在内的许多编码标准允许选择块(对于该块应用运动矢量用于在编码器中的运动补偿预测)的大小和形状并且在比特流中指示选择的大小和形状,从而解码器可以再现在编码器中完成的运动补偿预测。
用于帧间预测的参考画面数目。帧间预测源是先前解码画面。包括H.264/AVC和HEVC在内的许多编码标准实现存储用于帧间预测的多个参考画面和在块基础上选择使用的参考画面。例如,可以在H.264/AVC中在宏块或者宏块分割基础上以及在HEVC中在PU或者CU基础上选择参考画面。许多编码标准(比如H.264/AVC和HEVC)在比特流中包括语法结构,这些语法结构使解码器能够创建一个或者多个参考画面列表。指向参考画面列表的参考画面索引可以用来指示多个参考画面中的哪个参考画面用于特定块的帧内预测。参考画面索引可以在一些帧间编码模式中由编码器编码到比特流中,或者它可以在一些其它帧间编码模式中(由编码器和解码器)例如使用邻近块来推导。
运动矢量预测。为了在比特流中高效表示运动矢量,可以相对于特定于块的预测运动矢量对运动矢量进行差分编码。在许多视频编码解码器中,以预定义的方式(例如通过计算相邻块的编码或者解码运动矢量的中值)创建预测运动矢量。用于创建运动矢量预测的另一方式是从在时间参考画面中的相邻块和/或共同位置的块生成候选预测列表并且用信号发送选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预测先前编码/解码画面的参考索引。通常从在时间参考画面中的相邻块和/或共同位置的块预测参考索引。通常跨分片边界停用运动矢量的差分编码。
多假设运动补偿预测。H.264/AVC和HEVC实现在P分片中使用单个预测块(这里称为单预测分片)或者将两个运动补偿预测块的线性组合用于也称为B分片的双预测分片。在B分片中的个体块可以被双预测、单预测或者帧内预测,并且在P分片中的个体块可以被单预测或者帧内预测。用于双预测画面的参考画面可以不限于按照输出顺序的后续画面和先前画面,但是相反,可以使用任何参考画面。在许多编码标准(比如H.264/AVC和HEVC)中,为P分片构造称为参考画面列表0的一个参考画面列表,并且为B分片构造列表0和列表1这两个参考画面列表。对于B分片,即使用于预测的参考画面可以具有与彼此或者当前画面有关的任何解码或者输出顺序,在前向方向上的预测可以是指从在参考画面列表0中的参考画面预测时,而在向后方向上的预测可以是指从在参考画面列表1中的参考画面预测。
加权预测。许多编码标准将预测权重1用于帧间(P)画面的预测块而将0.5用于B画面的每个预测块(导致求平均)。H.264/AVC允许用于P和B分片的加权预测。在隐式加权预测中,权重与画面顺序计数成比例,而在显式加权预测中,显式地指示预测权重。
在许多视频编码解码器中,在运动补偿之后的预测残值先用变换内核(比如DCT)来变换,然后被编码。这一点的原因是在残值之中经常仍有一些相关性并且变换可以在许多情况下帮助减少这一相关性和提供更高效的编码。
在草案HEVC中,每个PU具有与它关联的预测信息,该预测信息定义什么种类的预测将被应用于在该PU内的像素(例如用于帧间预测的PU的运动矢量信息和用于帧内预测的PU的帧内预测方向性信息)。相似地,每个TU与如下信息关联,该信息描述用于在TU内的采样的预测误差解码过程(例如,包括DCT系数信息)。可以在CU级用信号发送预测误差编码是否被应用于每个CU。在无与CU关联的预测误差残值的情况下,可以认为没有用于CU的TU。
在一些编码格式和编码解码器中,在所谓短期与长期参考画面之间进行区分。这一区分可以影响一些解码过程,比如在时间直接模式中的运动矢量伸缩或者隐式加权预测。如果用于时间直接模式的参考画面二者为短期参考画面,则可以根据在当前画面与参考画面中的每个参考画面之间的画面顺序计数(POC)差来伸缩在预测中使用的运动矢量。然而,如果用于时间直接模式的至少一个参考画面是长期参考画面,则可以使用运动矢量的默认伸缩,例如可以使用将运动伸缩至一半。相似地,如果短期参考画面用于隐式加权预测,则可以根据在当前画面的POC与参考画面的POC之间的POC差来伸缩预测权重。然而,如果长期参考画面用于隐式加权预测,则可以使用默认预测权重,比如在用于双预测的块的隐式加权预测中为0.5。
一些视频编码格式(比如H.264/AVC)包括frame_num语法元素,该语法元素用于与多个参考画面有关的各种解码过程。在H.264/AVC中,用于IDR画面的frame_num的值为0。用于非IDR画面的frame_num的值等于被递增1的按照解码顺序的先前参考画面的frame_num(在模算术中,即在frame_num的最大值之后卷绕至0的frame_num值)。
H.264/AVC和HEVC包括画面顺序计数(POC)的概念。POC的值对于每个画面而被推导并且是随着按照输出顺序增加画面位置而不减少的。POC因此指示画面的输出顺序。POC可以在解码过程中例如用于在双预测分片的时间直接模式中的运动矢量的隐式伸缩、用于在加权预测中的隐式地推导的权重以及用于参考画面列表初始化。另外,可以在验证输出顺序一致性时使用POC。在H.264/AVC中,相对于先前IDR画面或者如下画面指定POC,该画面包含存储器管理控制操作,该存储器管理控制操作标记所有画面为“未用于参考”。
H.264/AVC指定用于解码的参考画面标记的过程以便控制在解码器中的存储器消耗。在序列参数集合中确定称为M的用于帧间预测的参考画面的最大数目。在参考画面被解码时,标记它为“用于参考”。如果参考画面的解码引起被标记为“用于参考”的多于M个的画面,则标记至少一个画面为“未用于参考”。有用于解码的参考画面标记的两个操作类型:自适应存储器控制和滑动窗。在画面基础上选择用于解码的参考画面标记的操作模式。自适应存储器控制实现用信号显式发送哪些画面被标记为“未用于参考”,并且也可以向短期参考画面指派长期索引。自适应存储器控制可能要求在比特流中存在存储器管理控制操作(MMCO)参数。可以在解码的参考画面标记语法结构中包括MMCO参数。如果滑动窗操作模式在使用中并且有标记为“用于参考”的M个画面,则在标记为“用于参考”的那些短期参考画面之中是第一解码画面的短期参考画面被标记为“未用于参考”。换而言之,滑动窗操作模式导致在短期参考画面之中的先入先出缓冲操作。
在H.264/AVC中的存储器管理控制操作之一使除了当前画面之外的所有参考画面被标记为“未用于参考”。瞬时解码刷新(IDR)画面仅包含帧内编码分片并且引起参考画面的相似“重置”。
在草案HEVC标准中,参考画面标记语法结构和有关解码过程未被使用,但是相反,参考画面集合(RPS)语法结构和解码过程代之以用于相似目的。对于画面有效或者活跃的参考画面集合包括作为参考用于该画面的所有参考画面以及对于按照解码顺序的任何后续画面保持标记为“用于参考”的所有参考画面。有参考画面集合的即称为RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll的六个子集。六个子集的注解如下。“Curr”是指在当前画面的参考画面列表中包括的参考画面,并且因此可以作为帧间预测参考用于当前画面。“Foll”是指未包括在当前画面的参考画面列表中但是可以在按照解码顺序的后续画面中用作参考画面的参考画面。“St”是指短期参考画面,这些短期参考画面一般可以通过它们的POC值的某个数目的最低有效位来标识。“Lt”是指长期参考画面,这些长期参考画面被具体标识并且一般具有比提到的某个数目的最低有效位可以表示的POC差更大的相对于当前画面的POC差。“0”是指具有比当前画面的POC值更小的POC值的那些参考画面。“1”是指具有比当前画面的POC值更大的PCO值的那些参考画面。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1统称为参考画面集合的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考画面集合的长期子集。
在草案HEVC标准中,可以在序列参数集合中指定并且通过指向参考画面集合的索引在分片首部中使用参考画面集合。也可以在分片首部中指定参考画面集合。一般仅在分片首部中指定参考画面集合的长期子集,而可以在画面参数集合或者分片首部中指定相同参考画面集合的短期子集。参考画面集合可以被独立地编码或者可以根据另一参考画面集合被预测(称为RPS间预测)。在参考画面集合被独立地编码时,语法结构包括对不同类型的参考画面迭代的多达三个循环;具有比当前画面更低的POC值的短期参考画面、具有比当前画面更高的POC值的短期参考画面和长期参考画面。每个循环条目指定将被标记为“用于参考”的画面。一般而言,画面用差分POC值来指定。RPS间预测运用当前画面的参考画面集合可以根据先前解码的参考画面集合来预测这样的事实。这是因为当前画面的所有参考画面是先前画面的参考画面或者先前解码的画面本身。仅有必要指示这些画面中的哪些画面应当是参考画面并且用于预测当前画面。在两个类型的参考画面集合编码中,还为每个参考画面发送标志(used_by_curr_pic_X_flag),该标志指示参考画面是(包括在*Curr列表中)否(包括在*Foll列表中)用于被当前画面参考。标记在当前分片使用的参考画面集合中包括的画面为“用于参考”,并且标记未在当前分片使用的参考画面集合中的画面为“未用于参考”。如果当前画面是IDR画面,则RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFol1都被设置成空。
可以在编码器中和/或在解码器中使用解码画面缓冲器(DPB)。缓冲解码画面有用于在帧间预测中的参考和用于将解码画面重新排序成输出顺序这两个原因。由于H.264/AVC和HEVC为参考画面标记和输出重新排序二者提供大量灵活性,所以用于参考画面缓冲和输出画面缓冲的分离缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考画面和输出重新排序的统一的解码画面缓冲过程。解码画面可以在它不再用作参考并且无需输出时从DPB被去除。
在H.264/AVC和HEVC的许多编码模式中,可以用指向参考画面列表的索引指示用于帧间预测的参考画面。可以用可变长度编码对索引进行编码,该可变长度编码通常使更小索引具有用于对应语法元素的更短值。在H.264/AVC和HEVC中,为每个双预测(B)分片生成两个参考画面列表(参考画面列表0和参考画面列表1),并且为每个帧间编码(P)分片形成一个参考画面列表(参考画面列表0)。此外,对于HEVC中的B分片,在已经构造最终参考画面列表(列表0和列表1)之后构造组合列表(列表C)。组合列表可以用于在B分片内的单预测(也称为单向预测)。
可以在两个步骤中构造参考画面列表(比如参考画面列表0和参考画面列表1):首先,生成初始参考画面列表。可以例如基于frame_num、POC、temporal_id、或者关于预测分级的信息(比如GOP结构)、或者其任何组合而生成初始参考画面列表。其次,可以按照在分片首部中包含的也称为参考画面列表修改语法结果的参考画面列表重新排序(RPLR)命令对初始参考画面列表进行重新排序。RPLR命令指示被排序至相应参考画面列表的开头的画面。该第二步骤也可以称为参考画面列表修改过程,并且可以在参考画面列表修改语法结构中包括RPLR命令。如果使用参考画面集合,则可以初始化参考画面列表0以首先包含RefPicSetStCurr0,接着是RefPicSetStCurr1,接着是RefPicSetLtCurr。可以初始化参考画面列表1以首先包含RefPicSetStCurr1,接着是RefPicSetStCurr0。可以通过参考画面列表修改语法结构修改初始参考画面列表,其中可以通过指向列表的条目索引标识初始参考画面列表中的画面。
可以构造HEVC中的组合列表如下。如果用于组合列表的修改标志是零,则通过隐式机制构造组合列表;否则,通过在比特流中包括的参考画面组合命令来构造它。在隐式机制中,列表C中的参考画面被以从列表0的第一条目开始、接着是列表1的第一条目等等的交错方式被映射到来自列表0和列表1的参考画面。已经在列表C中映射的任何参考画面不被再次映射。在显式机制中,用信号发送列表C中的条目数目,接着是从列表0或者列表1中的条目到列表C的每个条目的映射。此外,在列表0和列表1相同时,编码器具有如下选项,该选项为设置ref_pic_list_combination_flag为0以指示来自列表1的参考画面未被映射并且列表C等效于列表0。典型的高效率视频编码解码器(比如草案HEVC编码解码器)运用常称为合并/合并模式/过程/机制的附加运动信息编码/解码机制,其中预测和使用块/PU的所有运动信息而无任何修改/校正。用于PU的前述运动信息包括1)是‘PU仅使用参考画面列表0来单预测’或者‘PU仅使用参考画面列表1来单预测’或者‘PU使用参考画面列表0和列表1二者来双预测’的信息、2)与参考画面列表0对应的运动矢量值、3)参考画面列表0中的参考画面索引、4)与参考画面列表1对应的运动矢量值、5)参考画面列表1中的参考画面索引。相似地,预测运动信息使用时间参考画面中的相邻块和/或共同定位的块的运动信息被执行。通常,常称为合并列表的列表通过包括与可用相邻/共同定位的块关联的运动预测候选被构造,并且用信号发送选择的运动预测候选的索引。然后,选择的候选的运动信息被复制到当前PU的运动信息。在合并机制被运用于整个CU并且用于CU的预测信号用作重建信号(即预测残值未被处理)时,这一类型的对CU进行的编码/解码通常称为跳跃(skip)模式或者基于合并的跳跃模式。除了跳跃模式之外,合并机制也被运用于单独PU(未必如在跳跃模式中的整个PU),并且在这一情况下,预测残值可以用来提高预测品质。这一类型的预测模式通常称为合并间模式。
用于解码参考画面标记的语法结构可以在视频编码系统中存在。例如,在已经完成画面的解码时,解码参考画面标记语法结构(如果存在)可以用来自适应地标记画面为“未用于参考”或者“用于长期参考”。如果解码参考画面标记语法结构不存在并且标记为“用于参考”的画面的数目可能不再增加,则可以使用基本上标记最早(按照解码顺序)解码参考画面为未用于参考的滑动窗参考画面标记。
在可伸缩视频编码中,视频信号可以被编码成基础层和一个或者多个增强层。增强层可以增强时间分辨率(即帧速率)、空间分辨率或者仅增强另一层表示的视频内容或者其部分的品质。每层与所有它的从属层一起是视频信号在某个空间分辨率、时间分辨率和品质水平的一个表示。在本文中,将可伸缩层与所有它的从属层一起称为“可伸缩层表示”。可伸缩比特流的与可伸缩层表示对应的部分可以被提取和解码以在某个保真度产生原有信号的表示。
在一些情况下,在增强层中的数据可以在某个位置之后或者甚至在任意位置被截短,其中每个截短位置可以包括表示越来越增强的视觉品质的附加数据。这样的可伸缩性称为细粒度化(粒度)可伸缩性(FGS)。在SVC标准的一些草案版本中包括FGS,但是从最终SVC标准最终排除它。在SVC的一些草案版本的上下文中随后讨论FGS。不能截短的这些增强层提供的可伸缩性称为粗粒度化(粒度)可伸缩性(CGS)。它共同地包括传统品质(SNR)可伸缩性和空间可伸缩性。SVC标准支持所谓中粒度化可伸缩性(MGS),其中品质增强画面与SNR可伸缩层画面相似地被编码,但是通过让quality_id语法元素大于0来与FGS层画面相似地由高级语法元素指示。
SVC使用层间预测机制,其中可以从除了当前重建的层之外的层或者下一较低层预测某些信息。可以层间预测的信息包括帧内纹理、运动和残值数据。层间运动预测包括块编码模式预测、首部信息等,其中从更低层的运动可以用于预测较高层。在帧内编码的情况下,从周围宏块或者从更低层的共同定位的宏块的预测是可能的。这些预测技术不运用来自更早编码访问单元的信息,因此称为帧内预测技术。另外,来自更低层的残值数据也可以用于预测当前层。
SVC指定称为单循环解码的概念。它通过使用约束的帧内纹理预测模式来启用,其中层间帧内纹理预测可以应用于如下宏块(MB),对于这些宏块,基础层的对应块位于帧内MB内。同时,在基础层中的那些帧内MB使用约束的帧内预测(例如让语法元素“constrained_intra_pred_flag”等于1)。在单循环解码中,解码器仅对于希望回放的可伸缩层(称为“期望层”或者“目标层”)执行运动补偿和全画面重建,由此大量地减少解码复杂性。除了期望层之外的所有层无需被完全地解码,因为重建期望层无需未用于层间预测的MB的数据的全部或者部分(假设它是层间帧内纹理预测、层间运动预测或者层间残值预测)。
多数画面的解码需要单个解码循环,而选择性地应用第二解码循环以重建基础表示,这些基础表示需要作为预测参考但是无需输出或者显示,并且仅被重建用于所谓关键画面(对于这些关键画面,“store_ref_base_pic_flag”等于1)。
在SVC草案中的可伸缩性结构由三个语法元素表征:“temporal_id”、“dependency_id”和“quality_id”。语法元素“temporal_id”用来指示时间可伸缩性分级或者间接地指示帧速率。包括更小最大“temporal_id”的画面的可伸缩层表示具有比包括更大最大“temporal_id”的画面的可伸缩层表示更小的帧速率。给定的时间层通常依赖于更低时间层(即具有更小“temporal_id”值的时间层)但是未依赖于任何更高时间层。语法元素“dependency_id”用来指示CGS层间编码依赖性分级(该分级如较早提到的那样包括SNR和空间可伸缩性)。在任何时间级位置,更小“dependency_id”值的画面可以用于具有更大“dependency_id”值的画面的编码的层间预测。语法元素“quality_id”用来指示FGS或者MGS层的品质水平分级。在任何时间位置并且在相同“dependency_id”值的情况下,具有等于QL的“quality_id”的画面使用具有等于QL-1的“quality_id”的画面用于层间预测。具有大于0的“quality_id”的编码分片可以被编码为可截短FGS分片或者非可截短MGS分片。
为了简化,在一个访问单元中的具有相同“dependency_id”值的所有数据单元(例如在SVC上下文中的网络抽象层单元或者NAL单元)称为依赖性单元或者依赖性表示。在一个依赖性单元内,具有相同“quality_id”值的所有数据单元称为品质单元或者层表示。
也称为解码基础画面的基础表示是对具有等于0的“quality_id”的依赖性单元的视频编码层(VCL)NAL单元进行解码所产生的并且“store_ref_base_pic_flag”被设置等于1的解码画面。也称为解码画面的增强表示由普通解码过程产生,在该普通解码过程中,对于最高依赖性表示而存在的所有层表示被解码。
如较早提到的那样,CGS包括空间可伸缩性和SNR可伸缩性。空间可伸缩性最初被设计为支持视频的具有不同分辨率的表示。对于每个时间实例,VCL NAL单元在相同访问单元中被编码,并且这些VCL NAL单元可以对应于不同分辨率。在解码期间,低分辨率VCL NAL单元提供高分辨率画面的最终解码和重建可以可选地继承的运动场和残值。在与更旧视频压缩标准比较时,SVC的空间可伸缩性已经被广义化为使基础层能够是增强层的裁剪和缩放版本。
MGS品质层与FCS品质层相似地用“quality_id”来指示。对于每个依赖性单元(具有相同“dependency_id”),有具有等于0的“quality_id”的层,并且可以有具有大于0的“quality_id”的其它层。具有大于0的“quality_id”的这些层根据分片是否被编码为可截短分片而为MGS层或者FGS层。
在FGS增强层的基本形式中,仅使用层间预测。因此,FGS增强层可以被自由地截短而不在解码序列中引起任何错误传播。然而,FGS的基本形式受低压缩效率困扰。这一问题的出现是因为仅低品质画面用于帧间预测参考。因此,已经提出FGS增强画面用作帧间预测参考。然而,这可能在丢弃一些FGS数据时引起也称为漂移的编码-解码失配。
草案SVC标准的一个特征是FGS NAL单元可以被自由地丢弃或者截短,并且SVCV标准的特征是MGS NAL单元可以被自由地丢弃(但是不能被截短)而不影响比特流的一致性。如以上讨论的那样,在那些FGS或者MGS数据已经在解码期间用于帧间预测参考时,数据的丢弃或者截短将造成在解码器侧中和在编码器侧中的解码画面之间的失配。这一失配也称为漂移。
为了控制由于FGS或者MGS数据的丢弃或者截短所造成的漂移,SVC应用以下解决方案:在某个依赖性单元中,基础表示(通过仅对具有等于0的“quality_id”的CGS画面和所有被依赖的更低层数据进行解码)存储于解码画面缓冲器中。在对具有相同“dependency_id”值的后续依赖性单元进行编码时,包括FGS或者MGS NAL单元的所有NAL单元使用基础表示用于帧间预测参考。因而,由于在更早访问单元中的FGS或者MGS NAL单元的丢弃或者截短所造成的所有漂移在这一访问单元被停止。对于具有相同“dependency_id”值的其它依赖性单元,所有NAL单元使用解码画面用于帧间预测参考以求高编码效率。
每个NAL单元在NAL单元首部中包括语法元素“use_ref_base_pic_flag”。在这一元素的值等于1时,NAL单元的解码在帧间预测过程期间使用参考画面的基本表示。语法元素“store_ref_base_pic_flag”指定是(在等于1时)否(在等于0时)存储当前画面的基础表示用于将来画面用于帧间预测。
具有大于0的“quality_id”的NAL单元不含与参考画面列表构造和加权预测有关的语法元素,即语法元素“num_ref_active_1x_minus1”(x=0或1),参考画面列表重新排序语法表,并且加权预测语法表不存在。因而,MGS层或者FGS层必须在需要时从相同依赖性单元的具有等于0的“quality_id”的NAL单元继承这些语法元素。
在SVC中,参考画面列表仅由基础表示(在“use_ref_base_pic_flag”等于1时)构成或者仅由未标记为“基础表示”的解码画面(在“use_ref_base_pic_flag”等于0时)构成,但是从未同时由二者构成。
如较早指示的那样,MVC是H.264/AVC的扩展。H.264/AVC的定义、概念、语法结构、语义和解码过程中的许多定义、概念、语法结构、语义和解码过程也这样或者按照某些广义化或者约束而适用于MVC。在下文中描述MVC的一些定义、概念、语法结构、语义和解码过程。
定义在MVC中的访问单元为按照解码顺序连续的NAL单元集合并且包含由一个或者多个视图分量构成的确切一个主要编码画面。除了主要编码画面之外,访问单元也可以包含一个或者多个冗余编码画面、一个辅助编码画面或者不含编码画面的分片或者分片数据部分的其它NAL单元。访问单元的解码在解码错误、比特流错误或者可能影响解码的其它错误未出现时产生由一个或者多个解码视图分量构成的一个编码画面。换而言之,在MVC中的访问单元包含用于一个输出时间实例的视图的视图分量。
在MVC中的视图分量称为在单个访问单元中的视图的编码表示。
视图间预测可以在MVC中被使用并且是指从相同访问单元的不同视图分量的解码采样预测视图分量。在MVC中,与帧间预测相似地实现视图间预测。例如,视图间参考画面被置于与用于帧间预测的参考画面相同的参考画面列表中,并且参考索引以及运动矢量对于视图间和帧间参考画面被相似地编码或者推断。
锚画面是如下编码画面,在该编码画面中,所有分片可以仅参考在相同访问单元内的分片,即可以使用视图间预测但是不使用帧间预测,并且按照输出顺序的所有后继编码画面不使用从按照解码顺序在编码画面之前的任何画面的帧间预测。视图间预测可以用于IDR视图分量,这些IDR视图分量是非基础视图的一部分。在MVC中的基础视图是在编码视频序列中具有最小视图顺序索引值的视图。基础视图可以与其它视图独立地被解码并且不使用视图间预测。基础视图可以由仅支持单视图简档(比如H.264/AVC的基线简档或者高简档)的H.264/AVC解码器解码。
在MVC标准中,MVC解码过程的子过程中的许多子过程通过分别用“视图分量”、“帧视图分量”和“场视图分量”替换在H.264/AVC标准的子过程规范中的术语“画面”、“帧”和“场”来使用H.264/AVC标准的相应子过程。类似地,术语“画面”、“帧”和“场”经常在下文中用来分别意指“视图分量”、“帧视图分量”和“场视图分量”。
在可伸缩多视图编码中,相同比特流可以包含多个视图的编码视图分量,并且至少一些编码视图分量可以使用品质和/或空间可伸缩性被编码。
纹理视图是指如下视图,该视图表示普通视频内容,例如已经使用普通相机被捕获并且通常适合用于在显示器上渲染。纹理视图通常包括具有一个亮度分量和两个色度分量这三个分量的画面。在下文中,除非例如用术语亮度纹理画面和色度纹理画面以别的方式来指示,纹理画面通常包括所有它的分量画面或者色彩分量。
景深增强视频是指具有一个或者多个视图的纹理视频,该一个或者多个视图与具有一个或者多个景深视图的景深视频关联。多种方式可以用于表示景深增强视频,包括使用视频加上景深(V+D)、多视图视频加上景深(MVD)和分层景深视频(LDV)。在视频加上景深(V+D)表示中,分别表示单个纹理视图和相应景深视图为纹理画面和景深画面序列。MVD表示包含多个纹理视图和相应景深视图。在LDV表示中,常规地表示中心视图的纹理和景深,而其它视图的纹理和景深被部分地表示并且仅覆盖中间视图的正确视图合成所需要的去封闭(dis-occluded)区域。
景深增强视频可以用其中纹理和景深被相互独立地编码的方式被编码。例如,纹理视图可以被编码为一个MVC比特流并且景深视图可以被编码为另一MVC比特流。备选地,景深增强视频可以用其中纹理和景深被联合地编码的方式被编码。在纹理和景深视图的联合编码被应用于景深增强视频表示时,从景深画面的一些编码采样或者在景深画面的解码过程中获得的数据元素预测或者推导纹理画面的一些解码采样或者用于对纹理画面进行解码的数据元素。备选地或者附加地,从纹理画面的一些解码采样或者在纹理画面的解码过程中获得的数据元素预测或者推导景深画面的一些解码采样或者用于对景深画面进行解码的数据元素。
已经发现一种用于一些多视图3D视频(3DV)应用的解决方案是具有有限数目的输入视图,例如单一或者立体视图加上一些补充数据并且在解码器侧本地渲染(即合成)所有需要的视图。根据用于视图渲染的若干可用技术,基于景深图像的渲染(DIBR)已经表现为一种有竞争力的备选。
在图5中示出基于DIBR的3DV系统的简化模型。3D视频编码解码器的输入包括立体视频和具有立体基线b0的对应景深信息。然后3D视频编码解码器合成在具有基线(bi<b0)的两个输入视图之间的多个虚拟视图。DIBR算法也可以实现推测在两个输入视图以外而不在它们之间的视图。相似地,DIBR算法可以实现从单个纹理视图和相应景深视图的视图合成。然而,为了实现基于DIBR的多视图渲染,纹理数据应当与对应景深数据一起在解码器侧可用。
在这样的3DV系统中,在编码器侧为每个视频帧以景深画面(也称为景深映射)的形式产生景深信息。景深映射是具有每像素景深信息的图像。在景深映射中的每个采样表示相应纹理采样从相机落在其上的平面的距离。换而言之,如果z轴沿着相机的拍摄轴(并且因此与相机落在的平面正交),则在景深映射中的采样表示在z轴上的值。
可以通过各种手段获得景深信息。例如,可以从捕获相机配准的视差计算3D景物的景深。景深估计算法取得立体视图作为输入并且计算在视图的两个偏移图像之间的局部视差。每个图像在重叠块中被逐个像素处理,并且为每个像素块执行在偏移图像中对于匹配块的水平局部化搜索。一旦计算按像素的视差,则按照等式(1)计算对应景深值z:
其中如图6中所示,f是相机的焦距,并且b是在相机之间的基线距离。另外,d是指在两个相机之间观测到的视差,并且相机偏移Δd反映两个相机的光中心的可能水平错位。然而,由于算法基于块匹配,所以按视差的景深估计的品质依赖于内容并且经常不准确。例如,没有用于景深估计的简单直接解决方案有可能用于以无纹理或者大噪声水平的很平滑区域为特征的图像片段。
可以与景深映射相似地处理视差或者像差映射,比如在ISO/IEC国际标准23002-3中指定的像差映射。景深和视差具有简单直接的对应性,并且它们可以通过数学方程彼此被计算。
在访问单元内的纹理和景深视图分量的编码和解码顺序通常使得按照比特流/解码顺序,编码视图分量的数据不被任何其它编码视图分量交错,并且用于访问单元的数据不被任何其它访问单元交错。例如,如图7中所示,可以有在不同访问单元(t,t+1,t+2)中的两个纹理和景深视图(T0t,T1t,T0t+1,T1t+1,T0t+2,T1t+2,D0t,D1t,D0t+1,D1t+1,D0t+2,D1t+2),其中由纹理和景深视图分量(T0t,T1t,D0t,D1t)构成的访问单元t在比特流和解码顺序中先于由纹理和景深视图分量(T0t+1,T1t+1,D0t+1,D1t+1)构成的访问单元t+1。
在访问单元内的视图分量的编码和解码顺序可以由编码格式支配或者由编码器确定。纹理视图分量可以在相同视图的相应景深视图分量之前被编码,因此可以从相同视图的纹理视图分量预测这样的景深视图分量。这样的纹理视图分量可以例如由MVC编码器编码并且由MVC解码器解码。增强的纹理视图分量这里是指在相同视图的相应景深视图分量之后被编码并且可以通过相应景深视图分量被预测的纹理视图分量。相同访问单元的纹理和景深视图分量通常按照视图依赖性顺序被编码。纹理和景深视图分量可以相对于彼此按照任何顺序被编码,只要排序服从提到的约束。
纹理视图和景深视图可以被编码成单个比特流,其中纹理视图中的一些纹理视图可以与一个或者多个视频标准(比如H.264/AVC和/或MVC)兼容。换而言之,解码器可以能够对这样的比特流的纹理视图中的一些纹理视图进行解码,并且可以省略其余纹理视图和景深视图。
在本文中,将一个或者多个纹理和景深视图编码成单个H.264/AVC和/或MVC兼容比特流的编码器也称为3DV-ATM编码器。这样的编码器生成的比特流可以称为3DV-ATM比特流。3DV-ATM比特流可以包括纹理视图中的、H.264/AVC和/或MVC解码器不能解码的纹理视图并且包括景深视图。能够对来自3DV-ATM比特流的所有视图进行解码的解码器也可以称为3DV-ATM解码器。
3DV-ATM比特流可以包括选择的数目的AVC/MVC兼容纹理视图。用于AVC/MVC兼容纹理视图的景深视图可以根据纹理视图被预测。其余纹理视图可以利用增强的纹理编码,并且景深视图可以利用景深编码。
在图8中呈现能够对纹理视图和景深视图进行编码的编码器200的实施例的高级流程图,并且在图9中呈现能够对纹理视图和景深视图进行解码的解码器210的实施例的高级流程图。在这些图上,实线描绘主要数据流,而虚线示出控制信息信令。编码器200可以接收将被纹理编码器202编码的纹理分量201和将被景深编码器204编码的景深映射分量203。在编码器200正在根据AVC/MVC对纹理分量进行编码时,可以关断第一开关205。在编码器200正在对增强纹理分量进行编码时,可以接通第一开关205,从而可以向纹理编码器202提供景深编码器204生成的信息。这一示例的编码器也包括可以被操作如下的第二开关206。在编码器正在对AVC/MVC视图的景深进行编码时,接通第二开关206,并且在编码器正在对增强纹理视图的景深信息进行编码时,关断第二开关206。编码器200可以输出包含编码视频信息的比特流207。
解码器210可以以相似方式但是至少部分按照相反顺序操作。解码器210可以接收包含编码视频信息的比特流207。解码器210包括用于对纹理信息进行解码的纹理解码器211以及用于对景深信息进行解码的景深解码器212。可以提供第三开关213以控制从景深解码器212向纹理解码器211的信息递送,并且可以提供第四开关214以控制从纹理解码器211向景深解码器212的信息递送。在解码器210将对AVC/MVC纹理视图进行解码时,可以关断第三开关213,并且在解码器210将对增强纹理视图进行解码时,可以接通第三开关213。在解码器210将对AVC/MVC纹理视图的景深进行解码时,可以接通第四开关214,并且在解码器210将对增强纹理视图的景深进行解码时,可以关断第四开关214。解码器210可以输出重建的纹理分量215和重建的景深映射分量216。
许多视频编码器利用拉格朗日代价函数以发现速率-失真最优编码模式,例如期望的宏块模式和关联运动矢量。这一类型的代价函数使用加权因子或者λ以将由于有损编码方法所造成的确切或者估计的图像失真以及为了表示在图像区域中的像素/采样值而需要的确切或者估计的信息量连结在一起。拉格朗日代价函数可以由下式表示:
C=D+λR
其中C是待最小化的拉格朗日代价,D是当前考虑的模式和运动矢量的图像失真(例如,在原有图像块中和在编码图像块中的像素/采样值之间的均方误差),λ是拉格朗日系数,并且R是为了表示用于在解码器中重建图像块的所需数据(包括用于表示候选运动矢量的数据量)而需要的位数。
编码标准可以包括子比特流提取过程,并且例如在SVC、MVC和HEVC中指定这样的过程。子比特流提取过程涉及通过去除NAL单元来将比特流转换成子比特流。子比特流仍然保持符合该标准。例如,在草案HEVC标准中,通过排除具有大于或者等于选择的值的temporal_id的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流保持一致。因而,具有等于TID的temporal_id的画面不使用具有大于TID的temporal_id的任何画面作为帧间预测参考。
图1示出根据示例实施例的视频编码系统的框图为示例装置或者电子设备50的示意框图,该装置或者电子设备可以并入根据本发明的实施例的编码解码器。图2示出根据示例实施例的装置的布局。接着将说明图1和图2的单元。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而,将理解的是,可以在可能需要对视频图像进行编码和解码或者编码或解码的任何电子设备或者装置内实施本发明的实施例。
装置50可以包括用于结合和保护设备的壳30。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当显示器技术。装置50还可以包括小键盘34。在本发明的其它实施例中,可以运用任何适当数据或者用户接口机制。例如,可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的一部分。装置可以包括麦克风36或者任何适当的音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池40(或者在本发明的其它实施例中,设备可以由任何适当移动能量设备(比如太阳能电池、燃料电池或者时钟机构生成器)供电)。装置还可以包括用于与其它设备的近程视线通信的红外端口42。在其它实施例中,装置50还可以包括任何适当近程通信解决方案,比如蓝牙无线连接或者USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像数据和音频数据二者的数据,和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的编码和解码或者辅助由控制器56实现的编码和解码的编码解码器电路装置54。
装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46,例如UICC和UICC读取器。
装置50可以包括无线电接口电路装置52,该无线电接口电路装置连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置50还可以包括天线44,该天线连接到无线电接口电路装置52用于向其它装置发送在无线电接口电路装置52生成的射频信号以及用于从其它装置接收射频信号。
在本发明的一些实施例中,装置50包括能够记录或者检测个体帧的相机,这些帧然后被传递到编码解码器54或者控制器用于处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收用于处理的视频图像数据。在本发明的一些实施例中,装置50可以无线地或者通过有线连接接收用于编码/解码的图像。
图3示出根据示例实施例的包括多个装置、网络和网元的用于视频编码的布置。关于图3,示出可以在其中利用本发明的实施例的系统的示例。系统10包括可以通过一个或者多个网络通信的多个通信设备。系统10可以包括有线或者无线网络的任何组合,这些有线或者无线网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等),比如IEEE 802.x标准中的任何标准定义的无线局域网(WLAN)、蓝牙专用网络、以太网局域网、令牌环局域网、广域网和因特网。
系统10可以包括适合用于实施本发明的实施例的有线和无线通信设备二者或者装置50。例如,图3中所示系统示出移动电话网络11并且示出因特网28的表示。与因特网28的连通可以包括但不限于远程无线连接、近程无线连接和各种有线连接,这些有线连接包括但不限于电话线路、线缆线路、功率线路和相似通信途径。
系统10中所示示例通信设备可以包括但不限于电子设备或者装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息接发设备(IMD)18、桌面型计算机20、笔记本计算机22。装置50可以是静止的或者可以是在由移动的个人携带时可移动的。装置50也可以位于运输模式中,该运输模式包括但不限于小汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或者任何相似的适当运输模式。
一些或者更多装置可以发送和接收呼叫和消息,并且通过与基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许在移动电话网络11与因特网28之间的通信。系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-网际协议(TCP-IP)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即时消息接发服务(IMS)、蓝牙、IEEE 802.11和任何相似无线通信技术。参与实施本发明的各种实施例的通信设备可以使用各种介质来通信,这些介质包括但不限于无线电、红外线、激光、线缆连接和任何适当连接。
图4a和图4b示出根据示例实施例的用于视频编码和解码的框图。
图4a示出编码器为包括像素预测器302、预测误差编码器303和预测误差解码器304。图4a也示出像素预测器302的实施例为包括帧间预测器306、帧内预测器308、模式选择器310、滤波器316和参考帧存储器318。在这一实施例中,模式选择器310包括块处理器381和代价评估器382。编码器还可以包括用于对比特流进行熵编码的熵编码器330。
图4b描绘帧间预测器306的实施例。帧间预测器306包括用于选择一个或者多个参考帧的参考帧选择器360、运动矢量定义器361、预测列表形成器363和运动矢量选择器364。这些单元或者它们中的一些单元可以是预测处理器362的一部分或者可以通过使用其它部件来实施它们。
像素预测器302接收将在帧间预测器306(该帧间预测器确定在图像与运动补偿的参考帧318之间的差)和帧内预测器308(该帧内预测器仅基于当前帧或者画面的已经处理的部分确定用于图像块的预测)二者处被编码的图像300。向模式选择器310传递帧间预测器和帧内预测器二者的输出。帧间预测器306和帧内预测器308二者可以具有多于一个的帧内预测模式。因此,可以对于每个模式执行帧间预测和帧内预测,并且可以向模式选择器310提供预测信号。模式选择器310也接收图像300的副本。
模式选择器310确定使用哪个编码模式对当前块进行编码。如果模式选择器310判定使用帧间预测模式,则它将向模式选择器310的输出传递帧间预测器306的输出。如果模式选择器310判定使用帧内预测模式,则它将向模式选择器310的输出传递帧内预测器模式之一的输出。
模式选择器310可以在代价评估器块382中例如使用拉格朗日代价函数以通常在块基础上在编码模式及其参数(比如运动矢量、参考索引和帧内预测方向)之间选择。这种代价函数使用加权因子lambda将由于有损编码方法所造成的(确切或者估计的)图像失真与为了表示在图像区域中的像素值而需要的(确切或者估计的)信息量连结在一起:C=D+lambda×R,其中C是待最小化的拉格朗日代价,D是在考虑模式及其参数时的图像失真(例如均方误差),并且R是为了表示所需数据以在解码器中重构图像块而需要的位数(例如,包括用于表示候选运动矢量的数据量)。
向第一求和器件321传递模式选择器的输出。第一求和器件可以从图像300减去像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
像素预测器302还从初步重构器339接收图像块312的预测表示和预测误差解码器304的输出338的组合。可以向帧内预测器308以及向滤波器316传递初步重构图像314。接收初步表示的滤波器316可以对初步表示进行滤波并且输出可以在参考帧存储器318中保存的最终重构图像340。参考帧存储器318可以连接到帧间预测器306以用作将来图像300在帧间预测操作中与之比较的参考图像。在许多实施例中,参考帧存储器318可以能够存储多于一个的解码画面,并且它们中的一个或者多个解码画面可以由帧间预测器306用作将来图像300在帧间预测操作中与之比较的参考画面。参考帧存储器318可以在一些情况下也称为解码画面缓冲器。
像素预测器302的操作可以被配置用于执行本领域已知的任何已知像素预测算法。
像素预测器302也可以包括用于在从像素预测器302输出预测值之前对它们进行滤波的滤波器385。
下文将进一步具体描述预测误差编码器302和预测误差解码器304的操作。在下文中,编码器按照将要形成全图像或者画面的16x16像素宏块生成图像。然而,注意到图4a不限于块大小16x16,而是一般可以使用任何块大小和形状,并且类似地,图4a不限于将画面分割成宏块,而是可以使用任何其它将画面分割成块(比如编码单元)。因此,对于以下示例,像素预测器302输出大小为16x16个像素的一系列预测宏块,并且第一求和器件321输出一系列16x16像素残值数据宏块,这些残值数据宏块可以表示在图像300中的第一宏块与预测宏块(像素预测器302的输出)之间的差。
预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差信号320变换到变换域。变换例如是DCT变换或其变体。量化器344量化变换域信号(例如DCT系数)以形成量化系数。
预测误差解码器304从预测误差编码器303接收输出并且产生解码预测误差信号338,该解码预测误差信号在第二求和器件339与图像块312的预测表示组合时产生初步重构图像314。可以认为预测误差解码器包括解量化器346和逆变换块348,该解量化器将量化系数值(例如DCT系数)解量化以近似地重构变换信号,该逆变换块对重构变换信号执行逆变换,其中逆变换块348的输出包含重构块。预测误差解码器也可以包括可以根据进一步的解码信息和滤波器参数对重构宏块进行滤波的宏块滤波器(未示出)。
在下文中,将更具体描述帧间预测器306的示例实施例的操作。帧间预测器306接收用于帧间预测的当前块。假设对于当前块,已经存在已经编码的一个或者多个邻近块,并且已经为它们定义运动矢量。例如,在当前块的左侧上的块和/或以上的块可以是这样的块。可以例如通过使用在相同切片或者帧中的编码的邻近块和/或非邻近块的运动矢量、使用空间运动矢量预测的线性或者非线性函数、使用各种运动矢量与线性或者非线性运算的组合或者通过不利用时间参考信息的任何其它适当手段来形成用于当前块的空间运动矢量预测。也可以有可能通过比较一个或者多个编码的块的空间和时间预测信息二者来获得运动矢量预测。这些种类的运动矢量预测器也可以称为空间-时间运动矢量预测器。
可以向参考帧缓冲器存储在编码中使用的参考帧。可以在参考画面列表中的一个或者多个参考画面列表中包括每个参考帧,在参考画面列表内,每个条目具有标识参考帧的参考索引。在参考帧不再用作参考帧时,它可以从参考帧存储器被去除或者被标记为“不用于参考”或者非参考帧,其中该参考帧的存储位置可以被占用用于新参考帧。
如以上描述的那样,访问单元可以包含不同分量类型(例如主要文本分量、冗余文本分量、辅助分量、景深/视差分量)的、不同视图的和不同可伸缩层的分片。
已经提出编码器在GOS(分片组)参数集中包括常规地已经在分片首部中包括的语法元素的至少子集。编码器可以将GOS参数集编码为NAL单元。GOS参数集NAL单元可以与例如编码分片NAL单元一起包含在比特流中,但是也可以如在其它参数集的上下文中较早描述的那样被带外输送。
GOS参数集语法结构可以包括可以在参考例如来自分片首部或者另一GOS参数集的特定GOS参数集实例时使用的标识符。备选地,GOS参数集语法结构不包括标识符,但是编码器和解码器二者可以例如使用GOS参数集语法结构的比特流顺序和预定义的编号方案来推断标识符。
编码器和解码器可以从已经在比特流中被编码或者解码或者存在的其它语法结构推断GOS参数集的内容或者实例。例如,基础视图的纹理视图分量的分片首部可以隐式地形成GOS参数集。编码器和解码器可以推断用于这样的推断的GOS参数集的标识符值。例如,可以推断由基础视图的纹理视图分量的分片首部形成的GOS参数集具有等于0的标识符值。
GOS参数集可以在与它关联的特定访问单元内有效。例如,如果在用于访问单元的NAL单元序列中包括GOS参数集语法结构,其中该序列按照解码或者比特流顺序,则GOS参数集可以从它的出现位置直至访问单元的结束有效。备选地,GOS参数集可以对于许多访问单元有效。
编码器可以对用于访问单元的许多GOS参数集进行编码。如果已知、预计或者估计在待编码的分片首部中的语法元素值的至少子集将在后续分片首部中相同,则编码器可以确定对GOS参数集进行编码。
有限编号空间可以用于GOS参数集标识符。例如,固定长度码可以被使用并且可以被解释为某个范围的无符号整数值。编码器可以使用GOS参数集标识符值用于第一GOS参数集,并且如果第一GOS参数集随后不被例如任何分片首部或者GOS参数集参考,则随后用于第二GOS参数集。编码器可以在比特流内重复GOS参数集语法结构,以例如实现防范传输错误的更佳稳健性。
在许多实施例中,在语法元素集合中在概念上汇集可以在GOS参数集中包括的语法元素。可以例如在以下基础中的一个或者多个基础上形成用于GOS参数集的语法元素集:
-指示可伸缩层和/或其它可伸缩性特征的语法元素
-指示视图和/或其它多视图特征的语法元素
-与特定分量类型(比如景深/视差)有关的语法元素
-与访问单元标识、解码顺序和/或输出顺序和/或可以对于访问单元的所有分片保持不变的其它语法元素有关的语法元素
-可以在视图分量的所有分片中保持不变的语法元素
-与参考画面列表修改有关的语法元素
-与使用的参考画面集合有关的语法元素
-与解码参考画面标记有关的语法元素
-与用于加权预测的预测权重表有关的语法元素
-用于控制解块(deblocking)滤波的语法元素
-用于控制自适应环路滤波的语法元素
-用于控制采样自适应偏移的语法元素
-以上集合的任何组合
对于每个语法元素集合,编码器可以在对GOS参数集进行编码时具有以下选项中的一个或者多个选项:
-可以将语法元素集合编码成GOS参数集语法结构,即可以在GOS参数集语法结构中包括语法元素集合的编码语法元素值。
-可以通过参考将语法元素集合包含到GOS参数集中。可以给定该参考作为指向另一GOS参数集的标识符。编码器可以使用不同参考GOS参数集用于不同语法元素集合。
-可以指示或者推断语法元素集合在GOS参数集中不存在。
编码器能够在对GOS参数集进行编码时为特定语法元素集合从中选择的选项可以依赖于语法元素集合类型。例如,与可伸缩层有关的语法元素集合可以总是存在于GOS参数集中,而可以在视图分量的所有分片中保持不变的语法元素集合可能不可用于通过参考来包含但是可以可选地存在于GOS参数集中,并且与参考画面列表修改有关的语法元素可以通过参考而包含于GOS参数集语法结构中,这样包含于GOS参数集语法结构中或者在GOS参数集语法结构中不存在。编码器可以在比特流中(例如在GOS参数集语法结构中)对在编码时使用哪个选项的指示进行编码。码表和/或熵编码可以依赖于语法元素集合的类型。解码器可以基于正在解码的语法元素集合的类型使用与编码器使用的码表和/或熵编码匹配的码表和/或熵编码。
编码器可以具有用于指示在语法元素集合与作为用于该语法元素集合的值的来源而使用的GOS参数集之间的关联的多个装置。例如,编码器可以对语法元素循环进行编码,其中每个循环条目被编码为语法元素,这些语法元素指示用作参考的GOS参数集标识符值并且标识从参考GOS参数集复制的语法元素集合。在另一示例中,编码器可以对各自指示GOS参数集的多个语法元素进行编码。在包含特定语法元素集合的循环中的最后GOS参数集是用于编码器当前正在编码到比特流中的、在GOS参数集中的该语法元素集合的参考。解码器相应地从比特流解析编码GOS参数集,以便再现与编码器相同的GOS参数集。
已经提出具有一种用于自适应参数集的部分更新机制,以便减少APS NAL单元的大小并且因此花费更小比特流用于传达APSNAL单元。虽然APS提供一种用于共享在分片级的画面自适应信息公共的有效方式,但是对APS NAL单元独立地进行编码与一个或者多个更早自适应参数集比较可能在APS参数的仅部分改变时是次优的。
在文献JCTVC-H0069(http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wgl l/JCTVC-H0069-v4.zip)中,APS语法结构被细分成多个语法元素组,每个语法元素组与某个编码技术(比如自适应循环内滤波(ALF)或者采样自适应偏移(SAO))关联。在APS语法结构中的这些组中的每组被前置指示它们的相应存在的标志。APS语法架构也包括对另一APS的条件参考。ref_aps_flag用信号发送当前APS参考的参考ref_aps_id的存在。有了这一链接机制,可以创建多个APS的链接列表。在APS激活期间的解码过程使用分片首部中的参考以对链接列表的第一APS进行寻址。从对象APS对被设置关联标志(比如aps_adaptive_loop_filter_data_present_flag)的这些语法元素组进行解码。在这一解码之后,跟随链接列表去往下一链接的APS(如果有——如等于1的ref_aps_flag指示的那样)。从当前APS仅对先前未用信号发送为存在的但是当前在当前APS中用信号发送的那些组进行解码。该机制沿着链接的APS的列表继续直至满足三个条件之一:(1)已经从链接的APS链对所有需要的语法元素组(如SPS、PPS或者简档/水平指示的那样)进行解码,(2)检测到列表的结束,以及(3)已经遵循可能依赖于简档的固定数目的链路-该数目可以如1一样小。如果有不用信号发送为在链接的APS中的任何APS中存在的任何组,则有关解码工具不用于这一画面。条件(2)防止环形参考循环。按照参考机制的复杂性还受APS表的有限大小限制。在JCTVC-H0069中,提出每当激活APS时(通常在开始对分片进行解码时)一次执行解参考(de-reference),即化解用于每个语法元素组的源。
也已经在文献JCTVC-H0255中提出在分片首部中包括多个APS标识符,每个APS标识符指定用于某些语法元素组的源APS,例如一个APS是用于量化度量的源而另一APS是用于ALF参数的源。在文献JCTVC-H0381中,提出用于每个类型的APS参数的“复制”标志,该标志允许从另一APS复制该类型的APS参数。在文献JCTVC-H0505中,引入组参数集(GPS),该GPS收集不同类型的参数集(SPS、PPS和APS)的参数集标识符并且可以包含多个APS参数集标识符。另外,在JCTVC-H0505中提出分片首部包含将用于对分片进行解码的GPS标识符而不是单独PPS和APS标识符。
上述提到的用于对自适应参数集进行编码的选项可能具有以下缺点中的一个或者多个缺点:
不能检测APS NAL单元的丢失,因此可能在解码时使用错误 的APS参数值。允许对APS语法结构进行编码和使用,该APS语法结构使用较早已经用于另一APS语法结构的APS标识符。然而,特别是如果带内和/或使用不可靠的传输机制来传输APS NAL单元,则可能在传输期间丢失APS语法结构。尚未呈现用于检测APS NAL单元的丢失的手段。由于可以重用APS标识符值,所以用于在丢失的APS NAL单元中使用的APS标识符值的任何参考(例如从分片首部或者用于部分更新APS参数的另一APS NAL单元)可以指向使用相同APS标识符值的先前APS NAL单元。因而,将例如在分片解码过程中或者在部分更新APS参数时使用错误的语法元素值(syntax element value)。这样的使用错误的语法元素值可能在解码中具有严重影响,例如,清楚地可见错误可能在解码画面中存在或者解码可能完全失败。
增加的存储器消耗。用于避免在先前段落中呈现的丢失恢复问题的选项将是避免在APS NAL单元中重用APS标识符。然而,这可能潜在地导致需要具有用于APS标识符值的大或者无限值范围。在以上提到的用于对自适应参数集进行编码的选项中,解码器在存储器中保持所有自适应参数集,除非使用与较早相同的APS标识符值,在该情况下用新的自适应参数集替换较早自适应参数集。因此,APS标识符值的大或者无限值范围将导致增加的存储器消耗。另外,最坏情况的存储器消耗可能难以定义。
要求APS NAL单元的传输与NAL单元的视频编码同步;否则, 可能在解码中使用错误的APS参数值。如较早说明的那样,已经为带外和带内传输二者设计参数集,其中带外传输的益处可以是由于使用可靠传输机制而错误恢复更佳。在带外传输参数集时,它们必须在它们的激活之前可用(这是已经来自H.264/AVC的SPS和PPS设计中的熟知特征)。因此,需要在带外发送的参数集与视频编码层NAL单元之间的粗略同步水平。然而,在文献JCTVC-H0069中,提出每当激活APS时(通常在开始对分片进行解码时)一次执行解参考部分更新的APS,即化解用于每个语法元素组的源。即使分片首部参考的APS NAL单元与较早分片首部比较未发生改变,仍然可能已经重发通过部分更新机制创建的链接列表参考的APS NAL单元之一,因而当前分片首部参考的APS NAL单元的APS参数值中的一些APS参数值可能也已经改变。因而必须同步APS NAL单元的传输与VCL NAL单元,因为否则解参考的APS可能在编码器中和在解码器中不同。备选地,解码器必须将接收的APS NAL单元按照与编码器创建或者使用它们的顺序与VCL NAL单元同步。
在示例实施例中,可以使用如在H.264/AVC或者草案HEVC中指定的用于算术算符、逻辑算符、关系算符、按位算符、赋值算符和范围符号表示的公共符号表示,并且可以使用例如如在H.264/AVC或者草案HEVC中指定的算符的优先和执行顺序的公共顺序(从左向右或者从右向左)。
在示例实施例中,以下描述符可以用来指定每个语法元素的解析过程。
-b(8):具有任何比特串模式(8位)的字节。
-se(v):以左位优先的有符号整数Exp-Golomb编码的语法元素。
-u(n):使用n位的无符号整数。在n是语法表中的“v”时,位数以依赖于其它语法元素的值的方式变化。用于这一描述符的解析过程由来自比特流的n个接下来的位指定,这些位被解释为以最高有效位优先写入的无符号整数的二进制表示。
可以例如使用下表将Exp-Golomb比特串(bit string)转换成码编号(codeNum):
Bit string | codeNum |
1 | 0 |
010 | 1 |
011 | 2 |
00100 | 3 |
00101 | 4 |
00110 | 5 |
00111 | 6 |
0001000 | 7 |
0001001 | 8 |
0001010 | 9 |
... | ... |
可以例如使用下表将与Exp-Golomb比特串对应的码编号(codeNum)转换成se(v):
codeNum | syntax element value |
0 | 0 |
1 | 1 |
2 | -1 |
3 | 2 |
4 | -2 |
5 | 3 |
6 | -3 |
... | ... |
在各种实施例中,编码器可以对APS NAL单元进行编码或者创建,并且创建的APS NAL单元的顺序称为APS解码顺序。可以按照APS解码顺序根据预定义的编号方案指派APS NAL单元中的APS标识符值。例如,APS标识符值可以按照APS解码顺序对于每个APS递增1。在一些实施例中,编号方案可以由编码器确定并且例如在序列参数集中被指示。在一些实施例中,可以例如预定编号方案的初始值,从而值0用于为编码视频序列传输的第一APS NAL单元,而在其它实施例中,编号方案的初始值可以由编码器确定。在一些实施例中,编号方案可以依赖于APS NAL单元的其它语法元素值(比如temporal_id和nal_ref_flag的值)。例如,APS标识符值可以相对于具有与正在编码的当前APS NAL单元相同的temporal_id值的先前APS NAL单元递增1。如果仅在一个非参考画面中使用APS NAL单元,则编码器可以设置APS NAL单元的nal_ref_flag为0,并且APS标识符值可以仅相对于在具有等于1的nal_ref_flag的APS NAL单元中的APS标识符值递增。APS标识符值可以用不同编码方案来编码,这些编码方案可以例如在编码标准中被预定或者由编码器确定以及例如在序列参数集中被指示。例如,可变长度码(比如无符号整数Expo-Golomb码ue(v))可以用于在APS语法结构中对APS标识符值进行编码,并且无论APS标识符值何时用来参考APS NAL单元。在另一示例中,可以使用固定长度码(比如u(n),其中n可以被编码器预定义或者确定以及例如在序列参数集中被指示)。在一些实施例中,可以限制用于编码APS标识符值的值范围。可以从APS标识符值的编码中推断值范围的限制。例如,如果APS标识符值被u(n)编码,则值范围可以在编码器中和在解码器中均被推断为从0至n-1(含0和n-1)。在一些实施例中,值范围可以例如在编码标准中被预定义或者可以被编码器确定以及例如在序列参数集中被指示。例如,APS标识符值可以被ue(v)编码并且值范围可以被定义为从0至值N,其中通过在序列参数集语法结构中的语法元素指示N。APS标识符编号方案可以使用模算术,从而在标识符超过值范围中的最大值时,它卷绕至过值范围中的最小值。例如,如果APS标识符按照APS解码顺序递增1并且值范围从0至N,则标识符值可以被确定为(prevValue+1)%(N+1),其中prevValue是先前APS标识符值并且%指示模运算。
由于按照APS解码顺序的用于APS标识符值的预定义或者用信号发送的编号方案,APS NAL单元的丢失和/或无序递送可以在接收端中例如被解码器检测到。换而言之,解码器可以使用与使用的编码器相同的APS标识符编号方案并且因此推断哪个APS标识符值应当在下一个接收的APS NAL单元中存在。如果接收具有不同APS标识符值的APS NAL单元,则可以推断丢失或者无序递送。在一些实施例中,可以允许重复APS NAL单元以求错误健壮性——因此,如果接收具有与在按照接收顺序的先前APS NAL单元中的APS标识符值相同的APS NAL单元,则应当推断无丢失和无需递送。如以上说明的那样,编号方案可以依赖于在APS NAL单元中的其它参数值(比如temporal_id和nal_ref_flag),在该情况下,可以比较接收的APS NAL单元的APS标识符值以及与满足在编号方案中定义的资格的先前APS NAL单元比较的预计值。例如,在一些实施例中,可以使用基于temporal_id的编号方案,并且解码器预计APS标识符值相对于具有与当前APS NAL单元的temporal_id值相同的temporal_id值的先前APS NAL单元递增1;如果解码器接收具有另一APS标识符值的APS NAL单元,则它可以推断丢失和/或无序递送。在一些实施例中,接收器或者解码器等可以包括用于基于用于APS标识符值的编号方案将APS NAL单元从它们的接收顺序重新排序成它们的解码顺序的缓冲器和/或过程。
然而,在一些实施例中,APS标识符值间隙可以指示有意去除或者无意丢失APS NAL单元。APS NAL单元可以例如通过子比特流提取过程来有意地被去除,该子比特流提取过程从比特流去除可伸缩层或者视图等。因此,在一些实施例中,在APS NAL单元中的预计APS标识符值指派间隙可以被解码器处置如下。首先推断在按照APS解码顺序的APS NAL单元中的先前APS标识符值与当前APS标识符值之间的遗漏APS标识符值。例如,如果先前APS标识符值是3而当前APS标识符值是6并且APS标识符值根据使用的编号方案按每个APS NAL单元递增1,则可以推断具有标识符值4和5的APS NAL单元遗漏。用于遗漏APS标识符值的自适应参数集可以被具体地例如标记为“不存在”。如果在解码过程中例如使用分片首部中的APS参考标识符或者通过APS部分更新机制参考“不存在”的APS,则解码器可以推断APS的无意丢失。
在下文中,描述用于确定在存储器或者缓冲器中保持哪些自适应参数集用于编码和解码的不同选项。注意,即使在描述中使用表达(比如“从缓冲器去除”),自适应参数集仍然可以不从存储器或者缓冲器被去除而仅被标记为无效、未使用、不存在、未激活等等,从而它将不再用于编码和/或解码。相似地,尽管可以在描述中使用表达(比如“在缓冲器中保持”),自适应参数集仍然可以被维持在任何类型的存储器布置或者其它存储装置中并且仅与有效、已使用、存在、活跃等关联或者被标记为有效、已使用、存在、活跃等,从而它可以在编码和/或解码中被使用。在检查或者确定适配集合的有效性时,“在缓冲器中保持”的或者标记为有效、已使用、存在、活跃等的那些自适应参数集可以被确定为有效,并且已经“从缓冲器去除”的或者标记为无效、未使用、不存在、不活跃等的那些自适应参数集可以被确定为无效。
在一些实施例中,编码器和解码器在存储器中保持的称为max_aps的自适应参数集最大数目可以例如被编码标准预定或者被编码器确定以及在编码比特流中(例如在序列参数集中)被指示。在一些实施例中,编码器和解码器二者可以执行用于在具有max_aps个时隙的缓冲存储器中的自适应参数集的先入先出缓冲(也称为滑动窗缓冲),其中一个时隙可以保持一个自适应参数集。“不存在的”APS可以参与滑动窗缓冲。在APS滑动窗缓冲器的所有时隙被占用并且新APS被解码时,按照APS解码顺序的最旧APS从滑动窗缓冲器被去除。在一些实施例中,编号方案可以依赖于在APS NAL单元中的其它参数,并且可以有多于一个滑动窗缓冲器和解码器操作。例如,如果编号方案是特定于temporal_id值的,则可以有用于每个temporal_id值的分离滑动窗缓冲器,并且可以对于每个值分离地指示max_aps。在一些实施例中,编码器可以将特有APS缓冲器管理操作编码到比特流中,比如从滑动窗缓冲器去除具有指示的APS标识符值的APS。解码器对这样的APS缓冲器管理操作进行解码并且因此与解码器的APS滑动窗缓冲器状态比较而言相同地维持APS滑动窗缓冲器状态。在一些实施例中,某些自适应参数集可以被适配器指派为长期自适应参数集。这样的长期指派可以例如通过使用在为普通自适应参数集的APS标识符值保留的值范围以外的APS标识符值或者通过特定的APS缓冲器管理操作来完成。长期自适应参数集不受到滑动窗操作,即长期自适应参数集即使它按照APS解码顺序为最旧仍然不从滑动窗缓冲器被去除。长期APS的数目或者最大数目可以例如在序列参数集中被指示,或者解码器可以基于作为指派自适应参数为长期来推断该数目。在一些实施例中,滑动窗缓冲器可以被调整为具有与max_aps减去长期自适应参数集的数目或者最大数目相等数目的时隙。例如,编码标准可能要求以用于长期自适应参数集的APS标识符值从未在相同编码的视频序列内被另一长期自适应参数集重用这样的方式对比特流进行编码。备选地,可以要求或者设想无论何时发送超越较早长期自适应参数集的APS NAL单元时,用于该APS NAL单元的传输是可靠的。
在一些实施例中,编码器和解码器在磁存储器中保持的指定最大APS标识符值差的值可以例如在编码标准中被预定义或者可以由编码器确定以及在比特流中(例如在序列参数集中)被指示。该值可以称为max_aps_id_diff。编码器和解码器可以在存储器中仅保持如下那些自适应参数集和/或仅标记如下那些自适应参数集为“已使用”,这些自适应参数集的APS标识符值相对于特定自适应参数集的APS标识符值在由max_asp_id_diff确定的限制内,该特定自适应参数集比如是按照APS解码顺序的最新APS NAL单元或者按照APS解码顺序的具有等于0的temporal_id的最新APS NAL单元。在以下示例中,假设APS标识符具有从0至max_aps_id(含0和max_aps_id)的确切值范围,其中max_aps_id的值可以例如在编码标准中被预定义或者可以由编码器确定以及在比特流中(例如在序列参数集中)被指示。在具有等于curr_aps_id的APS标识符值的APS NAL单元被编码或者解码时,以下可以通过指派等于curr_aps_id的rp_aps_id来执行。如果rp_aps_id>=max_aps_id_diff,则从缓冲器去除具有小于rp_aps_id-max_aps_id_diff并且大于rp_aps_id的APS标识符值的所有自适应参数。如果rp_aps_id<max_aps_id_diff,则去除具有大于rp_aps_id并且小于或者等于max_aps_id-(max_aps_id_diff-(rp_aps_id+1))的APS标识符值的所有自适应参数。在存储器/缓冲器中保持其它自适应参数集。如果在解码过程中例如通过分片首部中的APS标识符参考或者通过部分APS更新机制参考这样的从存储器/缓冲器被去除的自适应参数集,则解码器可以推断无意丢失参考的APS。
在一些实施例中,编码器和解码器可以维持参考点APS标识符值rp_aps_id如下。在用于编码视频序列的第一APS NAL单元被编码或者解码时,rp_aps_id被设置成第一APS NAL单元的APS标识符值。每当具有等于curr_aps_id的APS标识符值的后续APS NAL单元按照APS解码顺序来编码或者解码时,如果从rp_aps_id递增curr_aps_id,则可以更新rp_aps_id为curr_aps_id。由于模运算可以用于APS标识符值,所以curr_aps_id是否已经相对于rp_aps_id递增这样的比较可能要求考虑在max_aps_id之后的卷绕。为了在相对于rp_aps_id的curr_aps_id递增(在模运算中)与相对于rp_aps_id的curr_aps_id递减之间区分,可以考虑最大允许递减具有阈值,该阈值可以等于或者相对于max_aps_id_diff或者可以例如在编码标准中被预定义或者可以被编码器确定以及在比特流中(例如在序列参数集中)被指示。例如,可以执行以下操作。如果curr_aps_id>rp_aps_id并且curr_aps_id<rp_aps_id+max_aps_id_diff–阈值,则rp_aps_id可以被设置成curr_aps_id。如果curr_aps_id<rp_aps_id–阈值,则rp_aps_id可以被设置成curr_aps_id。否则,保持rp_aps_id不变。可以如在先前段落中说明的那样完成确定从存储器去除哪些自适应参数集而在存储器中保持哪些自适应参数集,不同在于rp_aps_id不对于每个APS NAL单元被指派等于curr_aps_id而根据在这一段落中呈现的方案来指派。在这一段落中呈现的方案可以例如允许重新发送APS NAL单元用于错误恢复目的。
在一些实施例中,编码器可以确定用于编码的自适应参数集中的每个或者一些编码的自适应参数集的max_aps_id_diff等的值,并且在自适应参数集NAL单元中包括max_aps_id_diff。解码器然后可以使用自适应参数集NAL单元中的max_aps_id_diff而不是比特流中(比如序列参数集中)别处的等效语法元素。
在一些实施例中,APS语法结构可以包含用于自适应参数集(APSRS)的参考集合,其中集合中的每项可以通过APS标识符值来标识。APSRS可以确定编码器在缓冲器中和在解码器中保持的自适应参数集,而从存储器/缓冲器去除具有不在APSRS中的标识符值的其它自适应参数集。如果在解码过程中例如通过分片首部中的APS标识符参考或者通过部分APS更新方案参考这样的从存储器/缓冲器被去除的自适应参数集,则解码器可以推断无意丢失参考的APS。在一些实施例中,特别是在尚未应用子比特流提取时,如果APSRS包含用于不在缓冲器中的APS的标识符值,则解码器可以推断无意丢失该APS。
在一些实施例中,一个或者多个具体类型的画面可以引起从存储器去除APS NAL单元。例如,IDR画面可以使所有APS NAL单元从存储器被去除。在一些示例中,CRA画面可以使所有APS NAL单元从存储器被去除。
在一些实施例中,可以在APS语法结构中启用部分APS更新方案例如如下。对于每个语法元素组(例如QM、ALF、SAO和解块滤波器参数),编码器可以在对APS语法结构进行编码时具有以下选项中的一个或者多个选项。
–语法元素组可以被编码成APS语法结构,即可以在APS参数集语法结构中包括语法元素的编码语法元素值。
–语法元素组可以通过参考而被包括到APS中。可以给予该参考作为指向另一APS的标识符。编码器可以使用不同参考APS标识符用于不同语法元素组。
–语法元素值可以被指示或者推断不在APS中。
编码器能够在对APS进行编码时为特定语法元素组从中选择的选项可以依赖于语法元素组的类型。例如,可以要求某个语法类型的语法元素总是在APS语法结构中存在,而其它语法元素组可以通过参考而被包括或者存在于APS语法结构中。编码器可以在比特流中(例如在APS语法结构中)对在编码中使用哪个选项的指示进行编码。码表和/或熵编码可以依赖于语法元素组的类型。解码器可以基于正在解码的语法元素组的类型使用与编码器使用的码表和/或熵编码匹配的码表和/或熵编码。
编码器可以具有用于指示在语法元素组与作为用于语法元素集合的值的源而使用的APS之间的关联的多个手段。例如,编码器可以对语法元素循环进行编码,其中每个循环条目被编码为语法元素,这些语法元素指示用作参考的APS标识符值并且标识从参考APS复制的语法元素集合。在另一示例中,编码器可以对各自指示APS的多个语法元素进行编码。在包含特定语法元素组的循环中的最后APS是用于编码器当前正在编码到比特流中的在APS中的该语法元素组的参考。解码器相应地从比特流解析编码自适应参数集以便再现与编码器相同的自适应参数集。
在一些实施例中,对于与VCL NAL单元同步APS NAL单元或者对APS NAL单元进行排序的要求如下。如果带外传输ASP NAL单元,则在传输期间维持APS NAL单元的解码顺序,或者例如如以上说明的那样,在接收端中用缓冲来重建APS解码顺序就足够了。此外,带外传输机制和/或同步机制应当使得在从VCL NAL单元(比如从编码分片NAL单元)参考APS NAL单元之前向解码提供APSNAL单元。如果重用APS标识符值,则传输和/或同步机制应当留心APS NAL单元在如下NAL单元被解码之前不被解码,该NAL单元包含对具有相同标识符值的先前APS NAL单元的上个参考。然而,无需准确同步,比如如在JCTVC-H0069的部分更新方案中要求的那样分辨APS和VCL NAL单元的相应编码顺序。可以通过各种手段执行满足以上提到的要求的与VCL NAL单元同步APS NAL单元或者对APS NAL单元进行排序。例如,对在第一编码视频序列或者GOP中的所有画面进行解码而需要的所有自适应参数集可以在会话建立阶段中被传输,并且因此可用于在已经建立会话并且第一VCL数据到达用于解码时解码。可以在使用与用于第一编码视频序列或者GOP的标识符值不同的标识符值的自适应参数集之后立即完成用于后续编码视频序列或者GOP的自适应参数集。因此,传输用于第二编码视频序列或者GOP的自适应参数集,而传输第一编码视频序列或者GOP的VLC数据。可以相似地处理用于后续编码视频序列或者GOP的自适应参数集的传输。
在一些实施例中,可以在从VCL NAL单元参考APS之前的任何时间完成APS NAL单元的解参考或者解码,只要按照APS解码顺序对APS NAL单元进行解码。APS NAL单元的解码可以通过化解参考并且将参考的语法元素组复制到正在解码的APS中来完成。在一些实施例中,可以在VCL NAL单元第一次参考APS NAL单元时完成它的解参考或者解码。在一些实施例中,可以每当VCL NAL单元参考APS NAL单元时完成它的解参考或者解码。
在示例实施例中,可以指定语法结构、语法元素的语义以及解码过程如下。以粗体类型表示比特流中的语法元素。每个语法元素由它的名称(有下划线字符的所有小写字母)、可选地由它的一个或者两个语法类别以及用于它的编码表示方法的一个或者两个描述符(descriptor)来描述。解码过程根据语法元素的值和先前解码语法元素的值来表现。在语法表或者文本中使用语法元素的值时,它以普通(即非粗体)类型出现。在一些情况下,语法表可以使用从语法元素值获得的其它变量的值。这样的变量在小写和大写字母的混合所命名的语法表或者文本中出现而无任何下划线字符。始于大写字母的变量被获得用于对当前语法结构进行解码并且都是依赖性语法结构。始于大写字母的变量可以在解码过程中用于以后语法结构而不提及变量的起源语法结构。始于小写字母的变量仅在其中获得它们的上下文中被使用。在一些情况下,用于语法元素值或者变量值的“助记”名称与它们的数值可互换地使用。有时使用“助记”名称而无任何关联数值。在文本中指定值和名称的关联。名称由被下划线字符分离的一个或者多个字符组构造。每组始于大写字母并且可以包含更多大写字母。
在示例实施例中,可以使用以下各项来指定语法结构。在波形括号中包含的一组语句是复合语句并且在功能上视为单个语句。“while”结构指定测试条件是否成立,并且如果成立则指定反复地评估语句(或者复合语句),直至条件不再成立。“do…while”结构指定评估语句一次、跟随有测试条件是否成立,并且如果成立则指定评估主语句,否则指定评估备选语句。如果无需备选语句评估,则省略结构的“else”部分和关联备选语句。“for”结构指定评估初始语句、跟随有测试条件,并且如果条件成立则指定反复评估主语句、跟随有后续语句,直至条件不再成立。
在一些实施例中,可以追加序列参数集语法结构的语法以包括max_aps_id和max_aps_id_diff语法元素如下。
可以指定max_aps_id和max_aps_id_diff语法元素的语义如下。max_aps_id指定最大允许aps_id值。max_aps_id_diff指定标记为“已使用”的自适应参数集的aps_id值的值范围。
可以在一些示例实施例中指定自适应参数集RBSP aps_rbsp()的语法如下:
可以指定aps_rbsp()的语义如下。
aps_id指定标识符值,该标识符值标识自适应参数集。
等于0的partial_update_flag指定未通过参考在该APS中包括语法元素。等于1的partial_update_flag指定可以在该APS中通过参考来包括语法元素。
等于0的common_reference_aps_flag指定在该APS中通过参考而包括的每个语法元素组可以具有不同APS标识符值指定的不同源APS。等于1的common_reference_aps_flag指定在该APS中通过参考而包括的每个语法元素组来自相同源APS。
common_reference_aps_id指定用于在该APS中通过参考而包括的所有语法元素组的源APS的APS标识符值。
等于1的aps_scaling_list_data_present_flag指定缩放列表参数在该APS中存在,等于0指定缩放列表参数不在该APS中存在。
等于0的aps_scaling_list_data_referenced_flag指定缩放列表参数在该aps_rbsp()中存在。等于1的aps_scaling_list_data_referenced_flag指定在该APS中通过参考来包括缩放列表参数。
aps_scaling_list_data_reference_aps_id指定用于APS的APS标识符值,根据该APS标识符值在该APS中通过参考来包括缩放列表参数。
等于1的aps_deblocking_filter_flag指定解块参数在APS中存在。等于0的aps_deblocking_filter_flag指定解块参数不在该APS中存在。
等于0的aps_deblocking_filter_referenced_flag指定解块参数在该aps_rbsp()中存在。等于1的aps_deblocking_filter_referenced_flag指定在该APS中通过参考来包括解块参数。
aps_deblocking_filter_reference_aps_id指定用于APS的APS标识符值,根据该APS标识符值在该APS中通过参考来包括解块参数。
等于1的aps_sao_interleaving_flag指定在用于参考当前APS的分片的分片数据中交错SAO参数;等于0指定SOA参数在用于参考当前APS的分片的APS中。在无活跃APS时,推断aps_sao_interleaving_flag为0。
等于1的aps_sample_adaptive_offset_flag指定SAO对于参考当前APS的分片为开启;等于0指定SAO对于参考当前APS的分片为关断。在无活跃APS时,推断aps_sample_adaptive_offset_flag值为0。
等于0的aps_sao_referenced_flag指定SAO参数在该aps_rbsp()中存在。等于1的aps_sao_referenced_flag指定在该APS中通过参考来包括SAO参数。
aps_sao_reference_aps_id指定用于APS的APS标识符值,根据该APS标识符值在该APS中通过参考来包括SAO参数。
等于1的aps_adaptive_loop_filter_flag指定ALF对于参考当前APS的分片为开启;等于0指定ALF对于参考当前APS的分片为关断。在无活跃APS时,推断aps_adaptive_loop_filter_flag为0。
等于0的aps_alf_referenced_flag指定ALF参数在该aps_rbsp()中存在。等于1的aps_alf_referenced_flag指定在该APS中通过参考来包括ALF参数。
aps_alf_reference_aps_id指定用于APS的APS标识符值,根据该APS标识符值在该APS中通过参考来包括ALF参数。
等于0的aps_extension_flag指定无aps_extension_data_flag语法元素在画面参数集RBSP语法结构中存在。aps_extension_flag应当在符合该推荐|国际标准的比特流中等于0。暴露用于aps_extension_flag的值1用于ITU-T|ISO/IEC将来使用。解码器应当忽略在画面参数集NAL单元中的跟随用于aps_extension_flag的值1的所有数据。
aps_extension_data_flag可以具有任何值。它的值不影响解码器符合在该推荐/国际标准中指定的简档。
在一些实施例中,所有或者一些自适应参数集标识符和有关语法元素(比如aps_id、common_reference_aps_id、aps_XXX_referenced_aps_id(而XXX等于scaling_list_data、deblocking_filter、alf或者sao)和max_aps_id_diff)可以被编码为u(v)。提到的u(v)编码的语法元素的长度可以由max_aps_id的值确定。例如,Ceil(Log2(max_aps_id+1))位可以用于这些语法元素,其中Ceil(x)是大于或者等于x的最小整数,并且Log2(x)返回x以2为底的对数。由于在许多示例实施例中在序列参数集中包括max_aps_id,所以自适应参数集语法结构可以被追加为包含用于活跃序列参数集的标识符。
在一些实施例中,aps_rbsp()语法结构等可以例如通过等于1的aps_extension_flag来扩展。该扩展可以例如用来携带与可伸缩、多视图或者3D扩展有关的语法元素组。具有等于0的aps_extension_flag的APS语法结构可以通过参考来包括在具有等于0的aps_extension_flag的aps_rbsp()语法结构中包括的那些类型的语法元素组,即使aps_extension_flag在参考的APS中等于1。
在一些实施例中,自适应参数集NAL单元可以使用以下排序的步骤来解码:
–令currApsId等于正在解码的自适应参数集NAL单元的aps_id值。
–在currApsId大于或者等于max_aps_id_diff时,具有小于currApsId–max_aps_id_diff并且大于currApsId的aps_id值的所有自适应参数集被标记为“已使用”。
在currApsId小于max_aps_id_diff时,具有大于currApsId并且小于或者等于max_aps_id–(max_aps_id_diff-(currApsId+1))的aps_id值的所有自适应参数被标记为“未使用”。
–在partial_update_flag等于1并且aps_scaling_list_data_referenced_flag等于1时,在scaling_list_param()语法结构中的语法元素的值被推断为具有与在用于APS NAL单元的scaling_list_param()语法结构中相同的值,该APS NAL单元具有等于common_reference_aps_id(如果存在)或者等于aps_scaling_list_data_reference_aps_id(否则)的aps_id。
–在partial_update_flag等于1并且aps_deblocking_filter_flag等于1时,推断disable_deblocking_filter_flag、betal_offset_div2和tc_offset_div2的值分别具有与APS NAL单元中的disable_deblocking_filter_flag、beta_offset_div2(如果存在)和tc_offset_div2(如果存在)相同的值,该APS NAL单元具有等于common_reference_aps_id(如果存在)或者等于aps_deblocking_filter_reference_aps_id(否则)的aps_id。
–在partial_update_flag等于1、aps_sao_interleaving_flag为0并且aps_sample_adaptive_offset_flag等于1时,推断aps_sao_param()语法结构中的语法元素的值具有与在用于APS NAL单元的aps_sao_param()语法结构中相同的值,该APS NAL单元具有等于common_reference_aps_id(如果存在)或者等于aps_sao_reference_aps_id(否则)的aps_id。
–在partial_update_flag等于1并且aps_adaptive_loop_filter_flag等于1时,推断alf_param()语法结构中的语法元素的值具有与在用于APS NAL单元的alf_param()语法结构中相同的值,该APSNAL单元具有等于common_reference_aps_id(如果存在)或者等于aps_alf_reference_aps_id(否则)的aps_id。
–正在被解码的自适应参数集NAL单元被标记为“已使用”。
在上文中,已经借助比特流的语法描述示例实施例。然而,需要理解的是,对应结构和/或计算机程序可以在用于生成比特流的编码器和/或在用于对比特流进行解码的解码器驻留。类似地,在已经参照编码器描述示例实施例时,需要理解的是,所得比特流和解码器在它们中具有对应要素和单元。类似地,在已经借助解码器描述示例实施例时,需要理解的是,编码器具有用于生成将由解码器解码的比特流的结构和/或计算机程序。
在上文中,已经关于自适应参数集描述实施例。然而,必须理解的是,可以用任何类型的参数集(比如GOS参数集、画面参数和序列参数集)实现实施例。
虽然以上示例描述在电子设备内的编码解码器内操作的本发明的实施例,但是将认识到,可以实施如以下描述的本发明为任何视频编码解码器的一部分。因此,例如可以在视频编码解码器中实施本发明的实施例,该视频编码解码器可以通过固定或者有线通信路径实施视频编码。
因此,用户设备可以包括视频编码解码器,比如以上在本发明的实施例中描述的视频编码解码器。应当认识到,术语用户设备旨在于覆盖任何适当类型的无线用户设备,比如移动电话、便携数据处理设备或者便携web浏览器。
另外,公共陆地移动网络(PLMN)的单元也可以包括如以上描述的视频编码解码器。
一般而言,可以在硬件或者专用电路、软件、逻辑或者其任何组合中实施本发明的各种实施例。例如,可以在硬件中实施一些方面而可以在由控制器、微处理器或者其它计算设备可以执行的固件或者软件中实施其它方面,但是本发明不限于此。尽管本发明的各种方面可以被图示和描述为框图、流程图或者使用一些其它图形表示来图示和描述,但是,合理地理解到,可以在作为非限制示例的硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备或者其某个组合中实施这里描述的这些块、装置、系统、技术或者方法。
可以通过可由移动设备的数据处理器执行的比如在处理器实体中的计算机软件或者通过硬件或者通过软件和硬件的组合来实施本发明的实施例。另外就这一点而言,应当注意到,如各图中的逻辑流程的任何块可以代表程序步骤或者互连的逻辑电路、块和功能或者程序步骤和逻辑电路、块和功能的组合。软件可以存储于比如在处理器内实施的存储器芯片或者存储器块、磁介质(比如硬盘或者软盘)和光介质(如例如DVD及其数据变体CD)这样的物理介质上。
可以借助在存储器中驻留并且使相关装置实现本发明的计算机程序代码来实施本发明的各种实施例。例如,终端设备可以包括用于处理、接收和传输数据的电路装置和电子装置、存储器中的计算机程序代码以及处理器,该处理器在运行计算机程序代码时使终端设备实现实施例的特征。进而另外,网络设备可以包括用于处理、接收和传输数据的电路装置和电子装置、存储器中的计算机程序代码以及处理器,该处理器在运行计算机程序代码时使网络设备实现实施例的特征。
存储器可以是适合于本地技术环境的任何类型并且可以使用任何适当数据存储技术(比如基于半导体的存储器器件、磁存储器器件和系统、光学存储器器件和系统、固定存储器和可移除存储器)来实施。数据处理器可以是适合于本地技术环境的任何类型并且可以包括作为非限制示例的通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多芯处理器架构的处理器中的一项或者多项。
可以在各种部件(比如集成电路模块)中实现本发明的实施例。集成电路的设计主要是高度自动化过程。复杂而强大的软件工具可用于将逻辑级设计转换成准备好在半导体衬底上蚀刻和形成的半导体电路设计。
程序(比如Mountain View,California的Synopsys公司和SanJose,California的Cadence Design提供的程序)使用建立好的设计规则以及预存的设计模块的库在半导体芯片上自动对导体布线以及对部件定位。一旦已经完成用于半导体电路的设计,就可以按照标准化电子格式(例如Opus、GDSII等)向半导体制作设施或者“fab”发送所得设计用于制作。
前文描述已经通过示例性的而非限制性的示例提供对本发明示例性实施例的完全而有启发的描述。然而,各种修改和改编鉴于在与附图和所附权利要求结合阅读时的前文描述可以变得为相关领域技术人员所清楚。然而,对本发明的教导的所有这样的修改和类似修改仍将落入本发明的范围内。
在下文中,将提供一些示例。
根据第一示例,提供一种方法,该方法包括:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在一些实施例中,该方法包括定义标识符值有效范围。
在一些实施例中,该方法包括:
定义标识符值最大差;以及
定义最大标识符值;
其中该方法包括如果以下条件之一为真,则确定第一参数集有效:
-第二参数集的标识符大于第一参数集的标识符,并且在第二参数集的标识符与第一参数集的标识符之间的差小于或者等于标识符值最大差;
-第一参数集的标识符大于第二参数集的标识符,并且第二参数集的标识符小于或者等于标识符最大差,并且在第一参数集的标识符与第二参数集的标识符之间的差大于在最大标识符值与标识符值最大差之间的差。
在一些实施例中,该方法包括使用在第二参数集的标识符与第一参数集的标识符之间的差来确定是否尚未接收到在第一参数集与第二参数集之间被编码的第三参数集。
在一些实施例中,该方法包括:
对第二参数集进行解码;
检查第二参数集是否包括对尚未被确定有效的第一参数集的参考。
在一些实施例中,该方法包括:
向缓冲器中缓冲第一参数集和第二参数集;以及
如果确定第一参数集无效,则标记第一参数集未被使用。
根据第二示例,提供一种方法,该方法包括:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在一些实施例中,该方法包括定义标识符值有效范围。
在一些实施例中,该方法包括从标识符值范围选择标识符。
在一些实施例中,该方法包括:
定义标识符值最大差;以及
定义最大标识符值。
在一些实施例中,该方法包括:如果已经确定第一参数集有效,则设置第二参数集的标识符与来自第一参数集的标识符不同。
在一些实施例中,该方法包括:
如果已经确定第一参数集有效,则允许第二参数集参考第一参数集。
根据第三示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使该装置:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;以及
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置定义标识符值有效范围。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:
定义标识符值最大差;
定义最大标识符值;以及
如果以下条件之一为真,则确定第一参数集有效;
-第二参数集的标识符大于第一参数集的标识符,并且在第二参数集的标识符与第一参数集的标识符之间的差小于或者等于标识符值最大差;
-第一参数集的标识符大于第二参数集的标识符,并且第二参数集的标识符小于或者等于标识符最大差,并且在第一参数集的标识符与第二参数集的标识符之间的差大于在最大标识符值与标识符值最大差之间的差。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置使用在第二参数集的标识符与第一参数集的标识符之间的差来确定是否尚未接收到在第一参数集与第二参数集之间被编码的第三参数集。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:
对第二参数集进行解码;以及
检查第二参数集是否包括对尚未被确定有效的第一参数集的参考。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:
向缓冲器中缓冲第一参数集和第二参数集;以及
如果确定第一参数集无效,则标记第一参数集未被使用。
根据第四示例,提供一种装置,该装置包括至少一个处理器和至少一个存储器,至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理器一起,使该装置:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;以及
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置定义标识符值有效范围。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置从标识符值有效范围选择标识符。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:
定义标识符值最大差;以及
定义最大标识符值。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:在已经确定第一参数集有效的情况下,设置第二参数集的标识符与来自第一参数集的标识符不同。
在该装置的一些实施例中,所述至少一个存储器在其上存储有代码,代码在由所述至少一个处理器执行时还使该装置:在已经确定第一参数集有效的情况下,允许第二参数集参考第一参数集。
根据第五示例,提供一种包括一个或者多个指令的一个或者多个序列的计算机程序产品,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使装置至少执行以下操作:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少定义标识符值有效范围。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:
定义标识符值最大差;
定义最大标识符值;以及
如果以下条件之一为真,则确定第一参数集有效:
-第二参数集的标识符大于第一参数集的标识符,并且在第二参数集的标识符与第一参数集的标识符之间的差小于或者等于标识符值最大差;
-第一参数集的标识符大于第二参数集的标识符,并且第二参数集的标识符小于或者等于标识符最大差,并且在第一参数集的标识符与第二参数集的标识符之间的差大于在最大标识符值与标识符值最大差之间的差。
在一些实施例中,该方法包括使用在第二参数集的标识符与第一参数集的标识符之间的差来确定是否尚未接收到在第一参数集与第二参数集之间被编码的第三参数集。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:
对第二参数集进行解码;
检查第二参数集是否包括对尚未被确定有效的第一参数集的参考。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:
向缓冲器中缓冲第一参数集和第二参数集;以及
如果确定第一参数集无效,则标记第一参数集未被使用。
根据第六示例,提供一种计算机程序产品,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少执行以下操作:
对第一参数集进行编码;
附着第一参数集的标识符;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少定义标识符值有效范围。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少从标识符值有效范围选择标识符。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:
定义标识符值最大差;以及
定义最大标识符值。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:在已经确定第一参数集有效的情况下,设置第二参数集的标识符与来自第一参数集的标识符不同。
在一些实施例中,该计算机程序产品包括一个或者多个指令的一个或者多个序列,一个或者多个指令的一个或者多个序列在由一个或者多个处理器执行时,使该装置至少:在已经确定第一参数集有效的情况下,允许第二参数集参考第一参数集。
根据第七示例,提供一种装置,该装置包括:
用于接收第一参数集的部件;
用于获得第一参数集的标识符的部件;
用于接收第二参数集的部件;
用于基于以下各项中的至少一项确定第一参数集的有效性的部件:
-通过在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据第八示例,提供一种装置,该装置包括:
用于对第一参数集进行编码的部件;
用于附着第一参数集的标识符的部件;
用于对第二参数集进行编码的部件;以及
用于基于以下各项中的至少一项确定第一参数集的有效性的部件:
-通过在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-通过在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据第九示例,提供一种视频解码器,该视频解码器被配置用于:
接收第一参数集;
获得第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中接收有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中接收第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
根据第十示例,提供一种视频编码器,该视频编码器被配置用于:
对第一参数集进行编码;
将第一参数集的标识符附着到第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定第一参数集的有效性:
-在第二参数集中附着有效标识符值列表;以及如果第一参数集的标识符在有效参数值列表中,则确定第一参数集有效;
-在第二参数集中附着第二参数集的标识符;以及基于第一参数集的标识符和第二参数集的标识符,确定第一参数集有效。
Claims (52)
1.一种方法,包括:
接收第一参数集;
获得所述第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-在所述第二参数集中接收有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-在所述第二参数集中接收所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
2.根据权利要求1所述的方法,还包括定义标识符值有效范围。
3.根据权利要求2所述的方法,其中所述定义所述标识符值有效范围还包括:
定义参考点标识符;以及
基于所述参考点标识符,定义所述标识符值有效范围。
4.根据权利要求3所述的方法,还包括:
接收第三参数集;
获得所述第三参数集的指向所述第三参数集的标识符,所述标识符相对于所述参考点标识符递增;以及
将所述参考点标识符设置为所述第三参数集的所述标识符。
5.根据权利要求2所述的方法,还包括:
定义标识符值最大差;以及
定义最大标识符值;
其中所述方法包括如果以下条件之一为真,则确定所述第一参数集有效:
-所述第二参数集的所述标识符大于所述第一参数集的所述标识符,并且在所述第二参数集的所述标识符与所述第一参数集的所述标识符之间的差小于或者等于所述标识符值最大差;
-所述第一参数集的所述标识符大于所述第二参数集的所述标识符,并且所述第二参数集的所述标识符小于或者等于所述标识符最大差,并且在所述第一参数集的所述标识符与所述第二参数集的所述标识符之间的差大于在所述最大标识符值与所述标识符值最大差之间的差。
6.根据权利要求1至5中的任一权利要求所述的方法,还包括使用在所述第二参数集的所述标识符与所述第一参数集的所述标识符之间的差来确定是否尚未接收到在所述第一参数集与所述第二参数集之间被编码的第三参数集。
7.根据权利要求1至6中的任一权利要求所述的方法,还包括:
对将在解码中使用的参数集的标识符参考进行解码;
检查所述标识符参考是否在所述标识符值有效范围内。
8.根据权利要求7所述的方法,还包括:
从所述第二参数集对所述标识符参考进行解码,其中所述标识符参考将在所述第二参数集的解码中被使用。
9.根据权利要求7或者8所述的方法,还包括:
基于所述标识符参考在所述标识符值有效范围以外,推断丢失参数集。
10.根据权利要求1至9中的任一权利要求所述的方法,还包括:
向缓冲器中缓冲所述第一参数集和所述第二参数集;以及
如果确定所述第一参数集无效,则标记所述第一参数集未被使用。
11.一种方法,包括:
对第一参数集进行编码;
将所述第一参数集的标识符附着到所述第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-在所述第二参数集中附着有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-在所述第二参数集中附着所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
12.根据权利要求11所述的方法,还包括定义标识符值有效范围。
13.根据权利要求12所述的方法,其中所述定义所述标识符值有效范围还包括:
定义参考点标识符;以及
基于所述参考点标识符,定义所述标识符值有效范围。
14.根据权利要求13所述的方法,还包括:
对第三参数集进行编码;
将所述第三参数集的标识符附着到所述第三参数集,所述标识符相对于所述参考点标识符递增;以及
将所述参考点标识符设置为所述第三参数集的所述标识符。
15.根据权利要求12、13或者14所述的方法,还包括对将在解码中使用的参数集的标识符参考进行编码,从所述标识符值有效范围选择所述标识符参考。
16.根据权利要求11至15中的任一权利要求所述的方法,还包括:
定义标识符值最大差;以及
定义最大标识符值。
17.根据权利要求7至16中的任一权利要求所述的方法,还包括:如果已经确定所述第一参数集有效,则设置所述第二参数集的所述标识符与来自所述第一参数集的所述标识符不同。
18.根据权利要求7至17中的任一权利要求所述的方法,还包括:
如果已经确定所述第一参数集有效,则允许所述第二参数集参考所述第一参数集。
19.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,使所述装置:
接收第一参数集;
获得所述第一参数集的标识符;
接收第二参数集;以及
基于以下各项中的至少一项确定所述第一参数集的有效性:
-通过在所述第二参数集中接收有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-通过在所述第二参数集中接收所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
20.根据权利要求19所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置定义标识符值有效范围。
21.根据权利要求20所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置通过以下各项来定义标识符值有效范围:
定义参考点标识符;以及
基于所述参考点标识符,定义所述标识符值有效范围。
22.根据权利要求21所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
对第三参数集进行解码;
获得所述第三参数集的指向所述第三参数集的标识符,所述标识符相对于所述参考点标识符递增;以及
将所述参考点标识符设置为所述第三参数集的所述标识符。
23.根据权利要求20、21或者22所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
定义标识符值最大差;
定义最大标识符值;以及
如果所述第一参数集的所述标识符在所述参数值有效范围内,则确定所述第一参数集有效。
24.根据权利要求19至23中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:使用在所述第二参数集的所述标识符与所述第一参数集的所述标识符之间的差来确定是否尚未接收到在所述第一参数集与所述第二参数集之间被编码的第三参数集。
25.根据权利要求13至24中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
对将在解码中使用的参数集的标识符参考进行解码;
检查所述标识符参考是否在所述标识符值有效范围内。
26.根据权利要求25所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
从所述第二参数集对所述标识符参考进行解码,其中所述标识符参考将在所述第二参数集的解码中被使用。
27.根据权利要求25或者26所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
基于所述标识符参考在所述标识符值有效范围以外,推断丢失参数集。
28.根据权利要求19至27中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
向缓冲器中缓冲所述第一参数集和所述第二参数集;以及
如果确定所述第一参数集无效,则标记所述第一参数集未被使用。
29.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理器一起,使所述装置:
对第一参数集进行编码;
将所述第一参数集的标识符附着到所述第一参数集;
对第二参数集进行编码;以及
基于以下各项中的至少一项确定所述第一参数集的有效性:
-通过在所述第二参数集中附着有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-通过在所述第二参数集中附着所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
30.根据权利要求29所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置定义标识符值有效范围。
31.根据权利要求30所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置通过以下各项来定义标识符值有效范围:
定义参考点标识符;以及
基于所述参考点标识符,定义所述标识符值有效范围。
32.根据权利要求31所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
对第三参数集进行编码;
将所述第三参数集的标识符附着到所述第三参数集,所述标识符相对于所述参考点标识符递增;以及
将所述参考点标识符设置为所述第三参数集的所述标识符。
33.根据权利要求30、31或者32所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置对将在解码中使用的参数集的标识符参考进行编码,并且从所述标识符值有效范围选择所述标识符参考。
34.根据权利要求29至33中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:
定义标识符值最大差;以及
定义最大标识符值。
35.根据权利要求29至34中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:在已经确定所述第一参数集有效的情况下,设置所述第二参数集的所述标识符与来自所述第一参数集的所述标识符不同。
36.根据权利要求29至35中的任一权利要求所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时还使所述装置:在已经确定所述第一参数集有效的情况下,允许所述第二参数集参考所述第一参数集。
37.一种包括一个或者多个指令的一个或者多个序列的计算机程序产品,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使装置至少执行以下操作:
接收第一参数集;
获得所述第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-在所述第二参数集中接收有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-在所述第二参数集中接收所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
38.根据权利要求37所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少定义标识符值有效范围。
39.根据权利要求37或者38所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:
定义标识符值最大差;
定义最大标识符值;以及
如果以下条件之一为真,则确定所述第一参数集有效:
-所述第二参数集的所述标识符大于所述第一参数集的所述标识符,并且在所述第二参数集的所述标识符与所述第一参数集的所述标识符之间的差小于或者等于所述标识符值最大差;
-所述第一参数集的所述标识符大于所述第二参数集的所述标识符,并且所述第二参数集的所述标识符小于或者等于所述标识符值最大差,并且在所述第一参数集的所述标识符与所述第二参数集的所述标识符之间的差大于在所述最大标识符值与所述标识符值最大差之间的差。
40.根据权利要求37、38或者39所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少使用在所述第二参数集的所述标识符与所述第一参数集的所述标识符之间的差来确定是否尚未接收到在所述第一参数集与所述第二参数集之间被编码的第三参数集。
41.根据权利要求37至40中的任一权利要求所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:
对所述第二参数集进行解码;
检查所述第二参数集是否包括对尚未被确定有效的所述第一参数集的参考。
42.根据权利要求37至41中的任一权利要求所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:
向缓冲器中缓冲所述第一参数集和所述第二参数集;以及
如果确定所述第一参数集无效,则标记所述第一参数集未被使用。
43.一种包括一个或者多个指令的一个或者多个序列的计算机程序产品,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使装置至少执行以下操作:
对第一参数集进行编码;
附着所述第一参数集的标识符;
对第二参数集进行编码;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-通过在所述第二参数集中附着有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-通过在所述第二参数集中附着所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
44.根据权利要求43所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少定义标识符值有效范围。
45.根据权利要求43或者44所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少从所述标识符值有效范围选择所述标识符。
46.根据权利要求43、44或者45所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:
定义标识符值最大差;以及
定义最大标识符值。
47.根据权利要求43至46中的任一权利要求所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:在已经确定所述第一参数集有效的情况下,设置所述第二参数集的所述标识符与来自所述第一参数集的所述标识符不同。
48.根据权利要求43至47中的任一权利要求所述的计算机程序产品,包括一个或者多个指令的一个或者多个序列,所述一个或者多个指令的所述一个或者多个序列在由一个或者多个处理器执行时,使所述装置至少:在已经确定所述第一参数集有效的情况下,允许所述第二参数集参考所述第一参数集。
49.一种装置,包括:
用于接收第一参数集的部件;
用于获得所述第一参数集的标识符的部件;
用于接收第二参数集的部件;
用于基于以下各项中的至少一项确定所述第一参数集的有效性的部件:
-通过在所述第二参数集中接收有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-通过在所述第二参数集中接收所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
50.一种装置,包括:
用于对第一参数集进行编码的部件;
用于附着所述第一参数集的标识符的部件;
用于对第二参数集进行编码的部件;以及
用于基于以下各项中的至少一项确定所述第一参数集的有效性的部件:
-通过在所述第二参数集中附着有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-通过在所述第二参数集中附着所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
51.一种视频解码器,被配置用于:
接收第一参数集;
获得所述第一参数集的标识符;
接收第二参数集;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-在所述第二参数集中接收有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-在所述第二参数集中接收所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
52.一种视频编码器,被配置用于:
对第一参数集进行编码;
将所述第一参数集的标识符附着到所述第一参数集;
对第二参数集进行编码;
基于以下各项中的至少一项确定所述第一参数集的有效性:
-在所述第二参数集中附着有效标识符值列表;以及如果所述第一参数集的所述标识符在所述有效参数值列表中,则确定所述第一参数集有效;
-在所述第二参数集中附着所述第二参数集的标识符;以及基于所述第一参数集的所述标识符和所述第二参数集的所述标识符,确定所述第一参数集有效。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261624932P | 2012-04-16 | 2012-04-16 | |
US61/624,932 | 2012-04-16 | ||
PCT/FI2013/050419 WO2013156679A1 (en) | 2012-04-16 | 2013-04-16 | Method and apparatus for video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104380749A true CN104380749A (zh) | 2015-02-25 |
Family
ID=49325046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380031649.3A Pending CN104380749A (zh) | 2012-04-16 | 2013-04-16 | 用于视频编码的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20130272372A1 (zh) |
EP (1) | EP2839653A4 (zh) |
JP (1) | JP6057395B2 (zh) |
KR (1) | KR101715784B1 (zh) |
CN (1) | CN104380749A (zh) |
CA (1) | CA2870067C (zh) |
RU (1) | RU2584501C1 (zh) |
WO (1) | WO2013156679A1 (zh) |
ZA (1) | ZA201408279B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107483949A (zh) * | 2017-07-26 | 2017-12-15 | 千目聚云数码科技(上海)有限公司 | 增加svac svc实用性的方法及系统 |
CN107736027A (zh) * | 2015-06-12 | 2018-02-23 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
CN110007958A (zh) * | 2018-01-05 | 2019-07-12 | 龙芯中科技术有限公司 | 指令验证方法、装置及存储介质 |
CN113519162A (zh) * | 2019-03-08 | 2021-10-19 | 中兴通讯股份有限公司 | 数字视频中的参数集信令 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108337521B (zh) | 2011-06-15 | 2022-07-19 | 韩国电子通信研究院 | 存储由可伸缩编码方法生成的比特流的计算机记录介质 |
US8867852B2 (en) | 2012-01-19 | 2014-10-21 | Sharp Kabushiki Kaisha | Decoding a picture based on a reference picture set on an electronic device |
US9210430B2 (en) * | 2012-01-19 | 2015-12-08 | Sharp Kabushiki Kaisha | Reference picture set signaling and restriction on an electronic device |
US10491913B2 (en) * | 2012-04-24 | 2019-11-26 | Telefonaktiebolaget L M Ericsson (Publ) | Identifying a parameter set for decoding a multi-layer video representation |
US9813705B2 (en) * | 2012-04-26 | 2017-11-07 | Qualcomm Incorporated | Parameter set coding |
EP2865177B1 (en) | 2012-06-25 | 2018-10-03 | Huawei Technologies Co., Ltd. | Method for signaling a gradual temporal layer access picture |
US9602822B2 (en) | 2013-04-17 | 2017-03-21 | Qualcomm Incorporated | Indication of cross-layer picture type alignment in multi-layer video coding |
MY178305A (en) * | 2013-10-11 | 2020-10-07 | Vid Scale Inc | High level syntax for hevc extensions |
CN106664424A (zh) * | 2014-01-03 | 2017-05-10 | 诺基亚技术有限公司 | 参数集编码 |
KR101677242B1 (ko) * | 2014-02-18 | 2016-11-17 | 한국전자통신연구원 | 컨볼루션 기법 기반의 고속 적응적 샘플 오프셋 필터링 장치 및 방법 |
US20150264404A1 (en) * | 2014-03-17 | 2015-09-17 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US20150373341A1 (en) * | 2014-06-23 | 2015-12-24 | Cisco Technology, Inc. | Techniques for Interactive Region-Based Scalability |
RU2616178C1 (ru) * | 2016-03-28 | 2017-04-12 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Тульский государственный университет" (ТулГУ) | Способ кодирования-декодирования цифровых статических видеоизображений |
US10097745B2 (en) * | 2016-04-27 | 2018-10-09 | Zepp Labs, Inc. | Head rotation tracking device for video highlights identification |
US10506230B2 (en) * | 2017-01-04 | 2019-12-10 | Qualcomm Incorporated | Modified adaptive loop filter temporal prediction for temporal scalability support |
US10304468B2 (en) * | 2017-03-20 | 2019-05-28 | Qualcomm Incorporated | Target sample generation |
BR112021008659A2 (pt) * | 2018-11-07 | 2021-08-31 | Huawei Technologies Co., Ltd. | Codificador de vídeo, decodificador de vídeo e métodos correspondentes |
US20220337843A1 (en) * | 2019-09-23 | 2022-10-20 | Lg Electronics Inc. | Image encoding/decoding method and apparatus using user-defined palette entry, and method for transmitting bitstream |
AU2020354926A1 (en) * | 2019-09-24 | 2022-04-07 | Huawei Technologies Co., Ltd. | Decoded picture buffer operation for resolution changes |
US11206416B2 (en) * | 2020-02-21 | 2021-12-21 | Tencent America LLC | Method and apparatus for video coding |
US11792432B2 (en) * | 2020-02-24 | 2023-10-17 | Tencent America LLC | Techniques for signaling and identifying access unit boundaries |
KR20220152212A (ko) * | 2020-03-11 | 2022-11-15 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 양자화 파라미터를 위한 높은 레벨의 비트스트림 신택스 |
WO2021185733A1 (en) * | 2020-03-20 | 2021-09-23 | Interdigital Vc Holdings France | Method and device for image encoding and decoding |
US11431998B2 (en) * | 2020-05-22 | 2022-08-30 | Tencent America LLC | Systems and methods for decoding based on inferred video parameter sets |
EP4113996A1 (en) * | 2021-06-30 | 2023-01-04 | Panasonic Intellectual Property Corporation of America | Encoding mergable bitstreams with subpictures |
WO2023028382A1 (en) * | 2021-09-10 | 2023-03-02 | Innopeak Technology, Inc. | Connectivity information coding method and apparatus for coded mesh representation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040101059A1 (en) * | 2002-11-21 | 2004-05-27 | Anthony Joch | Low-complexity deblocking filter |
US20050123055A1 (en) * | 2003-12-09 | 2005-06-09 | Lsi Logic Corporation | Method for activation and deactivation of infrequently changing sequence and picture parameter sets |
US20050254526A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Parameter sets update in streaming applications |
CN101044550A (zh) * | 2004-09-03 | 2007-09-26 | 弗劳恩霍夫应用研究促进协会 | 产生编码多通道信号的设备和方法、对编码多通道信号进行解码的设备和方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1387584A1 (en) * | 2002-07-22 | 2004-02-04 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for storing and transmiting audio-visual data |
JP2005341184A (ja) * | 2004-05-27 | 2005-12-08 | Matsushita Electric Ind Co Ltd | profile_idcフラグの有効性を通知し復号する方法 |
CN101695117B (zh) * | 2004-06-02 | 2013-01-09 | 松下电器产业株式会社 | 画面编码装置和画面解码装置 |
US20060083298A1 (en) * | 2004-10-14 | 2006-04-20 | Nokia Corporation | Reference picture management in video coding |
US20090161762A1 (en) * | 2005-11-15 | 2009-06-25 | Dong-San Jun | Method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same |
US20070230564A1 (en) * | 2006-03-29 | 2007-10-04 | Qualcomm Incorporated | Video processing with scalability |
EP1933564A1 (en) * | 2006-12-14 | 2008-06-18 | Thomson Licensing | Method and apparatus for encoding and/or decoding video data using adaptive prediction order for spatial and bit depth prediction |
KR20100014552A (ko) * | 2007-03-23 | 2010-02-10 | 엘지전자 주식회사 | 비디오 신호의 인코딩/디코딩 방법 및 장치 |
US9313515B2 (en) * | 2007-05-16 | 2016-04-12 | Thomson Licensing | Methods and apparatus for the use of slice groups in encoding multi-view video coding (MVC) information |
WO2012029886A1 (ja) * | 2010-09-03 | 2012-03-08 | ソニー株式会社 | 符号化装置および符号化方法、並びに復号装置および復号方法 |
US9277228B2 (en) * | 2011-07-18 | 2016-03-01 | Qualcomm Incorporated | Adaptation parameter sets for video coding |
US20130114694A1 (en) * | 2011-11-08 | 2013-05-09 | Qualcomm Incorporated | Parameter set groups for coded video data |
US9538200B2 (en) * | 2012-01-19 | 2017-01-03 | Qualcomm Incorporated | Signaling of deblocking filter parameters in video coding |
-
2013
- 2013-04-16 CA CA2870067A patent/CA2870067C/en not_active Expired - Fee Related
- 2013-04-16 US US13/863,958 patent/US20130272372A1/en not_active Abandoned
- 2013-04-16 RU RU2014143527/08A patent/RU2584501C1/ru not_active IP Right Cessation
- 2013-04-16 EP EP13777995.5A patent/EP2839653A4/en not_active Withdrawn
- 2013-04-16 CN CN201380031649.3A patent/CN104380749A/zh active Pending
- 2013-04-16 KR KR1020147032048A patent/KR101715784B1/ko active IP Right Grant
- 2013-04-16 JP JP2015504995A patent/JP6057395B2/ja not_active Expired - Fee Related
- 2013-04-16 WO PCT/FI2013/050419 patent/WO2013156679A1/en active Application Filing
-
2014
- 2014-11-12 ZA ZA2014/08279A patent/ZA201408279B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040101059A1 (en) * | 2002-11-21 | 2004-05-27 | Anthony Joch | Low-complexity deblocking filter |
US20050123055A1 (en) * | 2003-12-09 | 2005-06-09 | Lsi Logic Corporation | Method for activation and deactivation of infrequently changing sequence and picture parameter sets |
US20050254526A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Parameter sets update in streaming applications |
CN101044550A (zh) * | 2004-09-03 | 2007-09-26 | 弗劳恩霍夫应用研究促进协会 | 产生编码多通道信号的设备和方法、对编码多通道信号进行解码的设备和方法 |
Non-Patent Citations (2)
Title |
---|
AKIRA MINEZAWA,ETC: "On partial updating of APS parameters", 《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》 * |
MING LI.ETC: "Using Multiple APSs for Quantization Matrix Parameters Signaling", 《MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107736027A (zh) * | 2015-06-12 | 2018-02-23 | 松下知识产权经营株式会社 | 图像编码方法、图像解码方法、图像编码装置及图像解码装置 |
CN107483949A (zh) * | 2017-07-26 | 2017-12-15 | 千目聚云数码科技(上海)有限公司 | 增加svac svc实用性的方法及系统 |
CN110007958A (zh) * | 2018-01-05 | 2019-07-12 | 龙芯中科技术有限公司 | 指令验证方法、装置及存储介质 |
CN113519162A (zh) * | 2019-03-08 | 2021-10-19 | 中兴通讯股份有限公司 | 数字视频中的参数集信令 |
Also Published As
Publication number | Publication date |
---|---|
EP2839653A4 (en) | 2015-11-25 |
JP6057395B2 (ja) | 2017-01-11 |
WO2013156679A1 (en) | 2013-10-24 |
KR20150003332A (ko) | 2015-01-08 |
US20130272372A1 (en) | 2013-10-17 |
RU2584501C1 (ru) | 2016-05-20 |
CA2870067A1 (en) | 2013-10-24 |
ZA201408279B (en) | 2016-05-25 |
EP2839653A1 (en) | 2015-02-25 |
KR101715784B1 (ko) | 2017-03-13 |
JP2015518683A (ja) | 2015-07-02 |
CA2870067C (en) | 2017-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205819B (zh) | 用于视频编码的方法和装置 | |
CN104380749A (zh) | 用于视频编码的方法和装置 | |
CN104604236B (zh) | 用于视频编码的方法和装置 | |
CN105556965B (zh) | 用于视频编码和解码的方法、装置和计算机程序产品 | |
KR101630564B1 (ko) | 비디오 코딩을 위한 방법 및 장치 | |
CN104813669B (zh) | 用于视频编码的方法和装置 | |
KR101967398B1 (ko) | 모션 정보를 시그널링하기 위한 구문을 수반하는 비디오 코딩을 위한 방법 및 장치 | |
KR101658324B1 (ko) | 비디오 코딩을 위한 방법 및 장치 | |
CN104521238B (zh) | 用于3d视频编码的装置和方法 | |
KR101790156B1 (ko) | 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램 | |
CN105519118A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
US20180352256A1 (en) | Method for encoding and decoding video including plurality of layers | |
CN105027567A (zh) | 用于视频编码和解码的方法和装置 | |
CN104813660A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
CN104604223A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
CN104025599A (zh) | 参考图片处理 | |
CN104396244A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
CN105325003A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
CN106664424A (zh) | 参数集编码 | |
TW201517597A (zh) | 用於視訊編碼及解碼之方法及裝置 | |
CN105027569A (zh) | 用于视频编码和解码的装置、方法和计算机程序 | |
CN104160706A (zh) | 用于视频编码的方法以及用于其的装置、计算机程序产品、系统和模块 | |
CN104813662A (zh) | 用于视频编码和解码的装置、方法和计算机程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160122 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150225 |