CN113892271A - 用于在视频编码中发送信号通知假想参考解码器参数的系统和方法 - Google Patents
用于在视频编码中发送信号通知假想参考解码器参数的系统和方法 Download PDFInfo
- Publication number
- CN113892271A CN113892271A CN202080039676.5A CN202080039676A CN113892271A CN 113892271 A CN113892271 A CN 113892271A CN 202080039676 A CN202080039676 A CN 202080039676A CN 113892271 A CN113892271 A CN 113892271A
- Authority
- CN
- China
- Prior art keywords
- sub
- equal
- sps
- cpb
- flag
- 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 162
- 230000011664 signaling Effects 0.000 title abstract description 56
- 230000002123 temporal effect Effects 0.000 claims abstract description 153
- 239000000872 buffer Substances 0.000 claims description 48
- 239000010410 layer Substances 0.000 description 253
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 109
- 241000023320 Luma <angiosperm> Species 0.000 description 108
- 230000003139 buffering effect Effects 0.000 description 57
- 239000013598 vector Substances 0.000 description 51
- 230000008569 process Effects 0.000 description 44
- 238000013139 quantization Methods 0.000 description 37
- 239000000523 sample Substances 0.000 description 36
- 238000012545 processing Methods 0.000 description 29
- 238000005192 partition Methods 0.000 description 26
- 238000004891 communication Methods 0.000 description 22
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 19
- 230000003044 adaptive effect Effects 0.000 description 16
- 108091000069 Cystinyl Aminopeptidase Proteins 0.000 description 15
- 102100020872 Leucyl-cystinyl aminopeptidase Human genes 0.000 description 15
- 238000000638 solvent extraction Methods 0.000 description 15
- 238000001914 filtration Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 229940075930 picrate Drugs 0.000 description 10
- OXNIZHLAWKMVMX-UHFFFAOYSA-M picrate anion Chemical compound [O-]C1=C([N+]([O-])=O)C=C([N+]([O-])=O)C=C1[N+]([O-])=O OXNIZHLAWKMVMX-UHFFFAOYSA-M 0.000 description 10
- 239000011449 brick Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 241000238876 Acari Species 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 238000004804 winding Methods 0.000 description 2
- 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 1
- 101150114515 CTBS gene Proteins 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 241000985610 Forpus Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- OLBCVFGFOZPWHH-UHFFFAOYSA-N propofol Chemical compound CC(C)C1=CC=CC(C(C)C)=C1O OLBCVFGFOZPWHH-UHFFFAOYSA-N 0.000 description 1
- 229960004134 propofol Drugs 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect 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/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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开涉及视频编码,并且更具体地涉及用于发送信号通知编码视频的假想参考解码器(HRD)参数的技术。在一个示例中,对视频数据进行解码的方法包括:对序列参数集中的第一语法元素进行解码,其中该第一语法元素指定是HRD参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是HRD参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该HRD参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该HRD参数语法结构中的该参数中的每个参数进行解码。
Description
技术领域
本公开涉及视频编码,并且更具体地涉及用于发送信号通知编码视频的假想参考解码器参数的技术。
背景技术
数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准定义了封装编码视频数据的合规比特流的格式。合规比特流是可以由视频解码设备接收和解码以生成重构视频数据的数据结构。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括ISO/IEC MPEG-4Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)和高效视频编码(HEVC)。HEVC在2016年12月的ITU-T H.265建议书的高效视频编码(HEVC)中有所描述,该文献以引用方式并入本文,并且在本文中被称为ITU-T H.265。目前正在考虑对ITU-T H.265进行扩展和改进以开发下一代视频编码标准。例如,ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像专家组(MPEG)(被统称为联合视频研究组(JVET))正在致力于标准化压缩能力显著超过当前HEVC标准的视频编码技术。以引用方式并入本文的联合探索模型7(JEM 7)、联合探索测试模型7(JEM 7)的算法描述、ISO/IEC JTC1/SC29/WG11文档:JVET-G1001(2017年7月,意大利,都灵)描述了由JVET在联合测试模型研究下的编码特征,该技术是超越ITU-T H.265功能的潜在增强视频编码技术。应当指出的是,JEM 7的编码特征在JEM参考软件中实现。如本文所用,术语JEM可统称包括在JEM 7中的算法以及JEM参考软件的具体实施。此外,响应于由VCEG和MPEG联合发布的“Joint Call for Proposals on Video Compressionwith Capabilities beyond HEVC”,在2018年4月16日至20日于加利福尼亚州圣地亚哥(San Diego,CA)举行的ISO/IEC JTC1/SC29/WG11第10次会议上,各个小组提出了对视频编码工具的多种描述。根据对视频编码工具的多种描述,视频编码规范的最终初始草案文本在2018年4月16日至20日于加利福尼亚州圣地亚哥举行的ISO/IEC JTC1/SC29/WG11第10次会议中的“Versatile Video Coding(Draft 1)”即文档JVET-J1001-v2中有所描述,该文档以引用方式并入本文并且被称为JVET-J1001。VCEG和MPEG的下一代视频编码标准的当前开发被称为通用视频编码(VVC)项目。2019年3月19日至27日在瑞士日内瓦(Geneva,CH)举行的ISO/IEC JTC1/SC29/WG11第14次会议中的“Versatile Video Coding(Draft 5)”(文档JVET-N1001-v7,其以引用方式并入本文,并且称为JVET-N1001)表示对应于VVC项目的视频编码规范的草稿文本的当前迭代。
视频压缩技术能够减少存储和传输视频数据的数据需求。视频压缩技术可以通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即,视频序列内的一组图片、一组图片内的图片、图片内的区域、区域内的子区域等)。可以使用帧内预测编码技术(例如,图片内的空间预测技术)和帧间预测技术(即图片间的技术(时间))来生成待编码的单位视频数据与视频数据的参考单元之间的差值。该差值可以被称为残差数据。残差数据可以被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引和运动信息)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在形成兼容比特流的数据结构中。
发明内容
在一个示例中,一种对视频数据进行解码的方法,该方法包括:对序列参数集中的第一语法元素进行解码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行解码。
在一个示例中,一种对图像数据进行编码的方法,该方法包括:对序列参数集中的第一语法元素进行编码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行编码。
在一个示例中,一种对视频数据进行解码的解码器,该解码器包括:处理器,和与该处理器相关联的存储器;其中该处理器被配置为执行以下步骤:对序列参数集中的第一语法元素进行解码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行解码。
在一个示例中,一种对视频数据进行编码的编码器,该编码器包括:处理器,和与该处理器相关联的存储器;其中该处理器被配置为执行以下步骤:对序列参数集中的第一语法元素进行编码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行编码。
附图说明
[图1]图1是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码和解码的系统的示例的框图。
[图2]图2是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。
[图3]图3是示出根据本公开的一种或多种技术封装编码视频数据和对应元数据的数据结构的概念图。
[图4]图4是示出根据本公开的一种或多种技术的可被包括在可被配置为对视频数据进行编码和解码的系统的具体实施中的部件的示例的概念图。
[图5]图5是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。
[图6]图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。
具体实施方式
一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体地讲,本公开描述了用于发送信号通知编码视频的假想参考解码器参数的技术。应当指出的是,尽管本公开的技术是关于ITU-T H.264、ITU-T H.265、JEM和JVET-N1001描述的,但本公开的技术可普遍应用于视频编码。例如,除了包括在ITU-T H.265、JEM和JVET-N1001中的那些技术,本文所述的编码技术可并入视频编码系统(包括基于未来视频编码标准的视频编码系统),包括视频块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术。因此,对ITU-T H.264、ITU-T H.265、JEM和/或JVET-N1001的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。
在一个示例中,对视频数据进行编码的方法包括:发送信号通知标记,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例。
在一个示例中,设备包括一个或多个处理器,该一个或多个处理器被配置为:发送信号通知标记,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器:发送信号通知标记,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例。
在一个示例中,装置包括:用于发送信号通知标记的装置,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;和用于根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例的装置。
在一个示例中,对视频数据进行解码的方法包括:解析标记,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例。
在一个示例中,设备包括一个或多个处理器,该一个或多个处理器被配置为:解析标记,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器:解析标记,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例。
在一个示例中,装置包括:用于解析标记的装置,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;和用于根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例的装置。
在以下附图和描述中阐述了一个或多个示例的细节。根据描述和附图以及权利要求书,其他特征、对象和优点将显而易见。
视频内容包括由一系列帧(或图片)组成的视频序列。一系列帧也可以被称为一组图片(GOP)。每个视频帧或图片可被分成一个或多个区域。可根据基本单元(例如,视频块)和限定区域的一组规则来限定区域。例如,限定区域的规则可以是区域必须是布置成矩形的整数个视频块。此外,区域中的视频块可以根据扫描模式(例如,光栅扫描)来排序。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语“当前视频块”可以指图片的正被编码或解码的区域。视频块可被定义为样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(Y)和色度(Cb和Cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。此外,在一些情况下,像素或样本可被称为pel。视频采样格式(也可以被称为色度格式)可以相对于视频块中包括的亮度样本的数量来定义视频块中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。
视频编码器可对视频块和其子分区执行预测编码。视频块和其子分区可以被称为节点。ITU-T H.264指定包括16×16亮度样本的宏块。也就是说,在ITU-T H.264中,图片被分段成宏块。ITU-T H.265指定了类似的编码树单元(CTU)结构(其可被称为最大编码单元(LCU))。在ITU-T H.265中,图片被分段成CTU。在ITU-T H.265中,对于图片,CTU大小可被设定为包括16×16、32×32或64×64亮度样本。在ITU-T H.265中,CTU由视频数据的每个分量(例如,亮度(Y)和色度(Cb和Cr))的相应编码树块(CTB)组成。应当指出的是,具有一个亮度分量和两个对应色度分量的视频可被描述为具有两个通道,即,亮度通道和色度通道。此外,在ITU-T H.265中,可根据四叉树(QT)划分结构来划分CTU,这使得CTU的CTB被划分为编码块(CB)。也就是说,在ITU-T H.265中,CTU可被划分为四叉树叶节点。根据ITU-T H.265,一个亮度CB连同两个对应的色度CB和相关联语法元素被称为编码单元(CU)。在ITU-TH.265中,可以发送信号通知CB的最小允许大小。在ITU-T H.265中,亮度CB的最小允许最小大小是8×8亮度样本。在ITU-T H.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在CU位阶处进行。
在ITU-T H.265中,CU与在CU处具有其根的预测单元(PU)结构相关联。在ITU-TH.265中,PU结构允许分割亮度CB和色度CB以生成对应的参考样本。即,在ITU-T H.265中,可将亮度CB和色度CB分割成相应的亮度预测块和色度预测块(PB),其中PB包括对其应用相同预测的样本值的块。在ITU-T H.265中,可将CB划分为1个、2个或4个PB。ITU-T H.265支持从64×64样本向下至4×4样本的PB大小。在ITU-T H.265中,正方形PB被支持用于帧内预测,其中CB可以形成PB或者CB可以被分割成四个正方形PB。在ITU-T H.265中,除了正方形PB之外,还支持矩形PB来进行帧间预测,其中CB可垂直地或水平地减半以形成PB。此外,应当指出的是,在ITU-T H.265中,对于帧间预测,支持四个非对称PB划分,其中CB在CB的高度(顶部或底部)或宽度(左侧或右侧)的四分之一处被划分为两个PB。对应于PB的帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)用于生成PB的参考和/或预测样本值。
JEM指定具有最大大小的256×256亮度样本的CTU。JEM指定四叉树加二叉树(QTBT)块结构。在JEM中,QTBT结构允许由二叉树(BT)结构进一步划分四叉树叶节点。也就是说,在JEM中,二叉树结构允许将四叉树叶节点垂直或水平递归划分。在JVET-N1001中,根据四叉树加多类型树(QTMT或QT+MTT)结构来划分CTU。JVET-N1001中的QTMT类似于JEM中的QTBT。然而,在JVET-N1001中,除了指示二进制分割之外,多类型树还可以指示所谓的三元(或三叉树(TT))分割。三元分割将一个块垂直地或水平地分成三个块。在垂直TT分割的情况下,块从左边缘起在其宽度的四分之一处以及从右边缘起在其宽度的四分之一处分割,并且在水平TT分割的情况下,块从顶部边缘起在其高度的四分之一处以及从底部边缘起在其高度的四分之一处分割。
如上所述,每个视频帧或图片可被分成一个或多个区域。例如,根据ITU-T H.265,每个视频帧或图片可被划分为包括一个或多个切片,并且进一步被划分为包括一个或多个图块,其中每个切片包括CTU序列(例如,以光栅扫描顺序排列),并且其中图块是对应于图片的矩形区域的CTU序列。应当指出的是,在ITU-T H.265中,切片是从独立切片片段开始并且包含在下一个独立切片片段(如果有的话)之前的所有后续从属切片片段(如果有的话)的一个或多个切片片段的序列。切片片段(如切片)是CTU序列。因此,在一些情况下,术语“切片”和“切片片段”可互换使用以指示以光栅扫描顺序排列布置的CTU序列。此外,应当指出的是,在ITU-T H.265中,图块可由包含在多于一个切片中的CTU组成,并且切片可由包含在多于一个图块中的CTU组成。然而,ITU-T H.265规定了应满足以下一个或两个条件:(1)片段中的所有CTU属于同一个图块;以及(2)图块中的所有CTU属于同一个切片。
关于JVET-N1001,切片需要由整数个砖块组成,而不是仅需要由整数个CTU组成。在JVET-N1001中,砖块是图片中特定图块内的矩形CTU行区域。此外,在JVET-N1001中,图块可被划分成多个砖块,每个砖块由图块内的一个或多个CTU行组成。未被划分成多个砖块的图块也被称为砖块。然而,作为图块的真子集的砖块不被称为图块。因此,在一些视频编码技术中,可支持或可不支持包括不形成图片的矩形区域的一组CTU的切片。此外,应当指出的是,在一些情况下,切片可能需要由整数个完整图块组成,并且在这种情况下,切片被称为图块组。本文所述的技术可适用于砖块、切片、图块和/或图块组。图2是示出包括切片的图片组的示例的概念图。在图2所示的示例中,Pic3被示出为包括两个切片(即,切片0和切片1)。在图2所示的示例中,切片0包括一个砖块,即砖块0,并且切片1包括两个砖块,即砖块1和砖块2。应当指出的是,在一些情况下,切片0和切片1可满足图块和/或图块组的要求并被分类为图块和/或图块组。
对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在ITU-TH.265中,已定义的可能的帧内预测模式包括平面(即,表面拟合)预测模式、DC(即平坦的整体平均)预测模式,以及33个角度预测模式(predMode:2-34)。在JEM中,已定义的可能的帧内预测模式包括平面预测模式、DC预测模式,以及65个角度预测模式。应当指出的是,平面预测模式和DC预测模式可以被称为无方向预测模式,并且角度预测模式可以被称为方向预测模式。应当指出的是,无论已定义的可能预测模式的数量如何,本文描述的技术可以是普遍适用的。
对于帧间预测编码,确定参考图片,并且运动矢量(MV)识别该参考图片中用于生成对当前视频块的预测的样本。例如,可使用位于一个或多个先前编码的图片中的参考样本值来预测当前视频块,并且运动矢量用于指示参考块相对于当前视频块的位置。运动矢量可描述例如运动矢量的水平位移分量(即MVx)、运动矢量的垂直位移分量(即MVy)和运动矢量的分辨率(例如,四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)。先前解码的图片(其可包括在当前图片之前或之后输出的图片)可被组织成一个或多个参考图片列表,并且使用参考图片索引值来标识。此外,在帧间预测编码中,单预测是指使用来自单个参考图片的样本值生成预测,双预测是指使用来自两个参考图片的相应样本值生成预测。也就是说,在单预测中,单个参考图片和对应的运动矢量用于生成对当前视频块的预测,而在双预测中,第一参考图片和对应的第一运动矢量以及第二参考图片和对应的第二运动矢量用于生成对当前视频块的预测。在双预测中,将相应的样本值组合(例如,相加、舍入和裁剪,或根据权重进行平均)以生成预测。图片及其区域可基于哪些类型的预测模式可用于对其视频块进行编码而被分类。也就是说,对于具有B类型的区域(例如,B切片),可利用双预测、单预测和帧内预测模式,对于具有P类型的区域(例如,P切片),可利用单预测和帧内预测模式,对于具有I类型的区域(例如,I切片),只能利用帧内预测模式。如上所述,通过参考索引来识别参考图片。例如,对于P切片,可以存在单个参考图片列表RefPicList0,并且对于B切片,除了RefPicList0之外,可以存在第二独立参考图片列表RefPicList1。应当指出的是,对于B切片中的单预测,可使用RefPicList0或RefPicList1中的一者来生成预测。此外,应当指出的是,在解码过程期间,在开始对图片进行解码时,从存储在解码图片缓冲器(DPB)中的先前解码的图片生成一个或多个参考图片列表。
此外,编码标准可支持各种运动矢量预测模式。运动矢量预测使能够基于另一运动矢量来导出用于当前视频块的运动矢量的值。例如,可以从当前视频块的空间相邻块和时间相邻块导出具有相关联的运动信息的一组候选块。此外,所生成的(或默认的)运动信息可用于运动矢量预测。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。此外,运动矢量预测的其他示例包括高级时间运动矢量预测(ATMVP)和空间-时间运动矢量预测(STMVP)。对于运动矢量预测,视频编码器和视频解码器两者执行相同的过程以导出一组候选。因此,对于当前视频块,在编码和解码期间生成相同的一组候选。
如上所述,对于帧间预测编码,先前编码的图片中的参考样本用于对当前图片中的视频块进行编码。在对当前图片进行编码时可用作参考的先前编码的图片被称为参考图片。应当指出的是,解码顺序不一定对应于图片输出顺序,即视频序列中图片的时间顺序。在ITU-T H.265中,当图片被解码时,其被存储到解码图片缓冲器(DPB)(其可被称为帧缓冲器、参考缓冲器、参考图片缓冲器等)。在ITU-T H.265中,存储到DPB的图片在被输出时从DPB中移除,并且不再需要用于编码后续图片。在ITU-TH.265中,在对切片标头进行解码之后,即,在对图片进行解码开始时,每个图片调用一次是否应从DPB中移除图片的确定。例如,参考图2,Pic3被示出为参考Pic2。类似地,Pic4被示出为参考Pic1。关于图2,假设图片数量对应于解码顺序,DPB将填充如下:在解码Pic1之后,DPB将包括{Pic1};在解码Pic2开始时,DPB将包括{Pic1};在解码Pic2之后,DPB将包括{Pic1,Pic2};在解码Pic3开始时,DPB将包括{Pic1,Pic2}。然后,将参考Pic2解码Pic3,并且在解码Pic3之后,DPB将包括{Pic1,Pic2,Pic3}。在解码Pic4开始时,图片Pic2和Pic3将被标记以从DPB中移除,因为它们不是解码Pic4(或任何后续图片,未示出)所需的,并且假设Pic2和Pic3已被输出,则DPB将被更新以包括{Pic1}。然后将参考Pic1对Pic4进行解码。标记图片以将其从DPB中移除的过程可以称为参考图片集(RPS)管理。
如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.265和JVET-N1001中,CU与在CU级具有其根的变换单元(TU)结构相关联。即,为了生成变换系数,可以对差值的阵列进行划分(例如,可以将四个8×8变换应用于16×16残差值阵列)。对于视频数据的每个分量,差值的此类再分可被称为变换块(TB)。应当指出的是,在一些情况下,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。
可以直接对变换系数或残差样本值执行量化过程(例如,就调色板编码量化而言)。量化通过限制为一组指定值的振幅来近似变换系数。量化实质上对变换系数进行缩放以便改变表示一组变换系数所需的数据量。量化可以包括将变换系数(或将偏移值添加到变换系数得到的值)除以量化缩放因子和任何相关联的取整函数(例如,取整为最接近的整数)。量化的变换系数可以被称为系数位阶值。逆量化(或“去量化”)可以包括将系数位阶值与量化缩放因子相乘,以及任何倒数取整或偏移加法运算。应当指出的是,如本文所用,术语量化过程在一些情况下可指除以缩放因子以生成位阶值,并且在一些情况下可指乘以缩放因子以恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。此外,应当指出的是,虽然在下面的示例中的一些示例中关于与十进制记数法相关的算术运算描述了量化过程,但是这样的描述是为了说明的目的,并且不应该被解释为进行限制。例如,本文描述的技术可以在使用二进制运算等的设备中实现。例如,本文描述的乘法和除法运算可以使用移位运算等来实现。
可根据熵编码技术对量化的变换系数和语法元素(例如,指示视频块的编码结构的语法元素)进行熵编码。熵编码过程包括使用无损数据压缩算法对语法元素值进行编码。熵编码技术的示例包括内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等。熵编码的量化变换系数和对应的熵编码的语法元素可形成可用于在视频解码器处再现视频数据的合规比特流。熵编码过程,例如CABAC,可以包括对语法元素进行二值化。二值化是指将语法元素的值转换为一个或多个位的序列的过程。这些位可以被称为“bin”。二值化可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码。例如,二值化可以包括使用8位固定长度二值化技术将语法元素的整数值5表示为00000101,或者使用一元编码二值化技术将整数值5表示为11110。如本文所用,术语固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准具体地定义Golomb-Rice编码实现。在CABAC的示例中,对于特定bin,上下文提供bin的最大概率状态(MPS)值(即,bin的MPS为0或1中的一者),以及bin是MPS或最小概率状态(LPS)的概率值。例如,上下文可以指示bin的MPS为0,并且bin为1的概率为0.3。应当指出的是,可以基于包括当前语法元素和先前编码的语法元素中的bin的先前编码的bin的值来确定上下文。例如,与相邻视频块相关联的语法元素的值可以用于确定当前bin的上下文。
关于本文所用的公式,可以使用以下算术运算符:
+加法
-减法
*乘法,包括矩阵乘法
xy求幂。将x指定为y的幂。在其他上下文中,此类符号用于上标而非旨在用于解释为求幂。
/将结果向着零截断的整数除法。例如,将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。
÷在不旨在进行截断或舍入情况下用于表示数学公式中的除法。
此外,可使用以下数学函数:
Log2(x)x的以2为底的对数;
Ceil(x)大于或等于x的最小整数。
关于本文使用的示例性语法,可以应用以下逻辑运算符的定义:
x&&y x和y的布尔逻辑“和”
x||y x和y的布尔逻辑“或”
!布尔逻辑“否”
x?y:z如果x为TRUE或不等于0,则求值为y;否则,求值为z。
此外,可应用以下关系运算符:
> 大于
≥ 大于或等于
< 小于
≤ 小于或等于
== 等于
!= 不等于
此外,应当指出的是,在本文所用的语法描述符中,可以应用以下描述符:
-b(8):具有任何位串模式的字节(8位)。该描述符的解析过程由函数read_bit(8)的返回值指定。
-f(n):从最左位起使用n位(从左到右)写入的固定模式位串。该描述符的解析过程由函数read_bit(n)的返回值指定。
-se(v):有符号整数0阶Exp-Golomb编码的语法元素,从最左位起。
-tb(v):使用至多maxVal位的截断二元码,其中maxVal在语法元素的语义中定义。
-tu(v):使用至多maxVal位的截断一元码,其中maxVal在语法元素的语义中定义。
-u(n):使用n位的无符号整数。当语法表中n是“v”时,位数以取决于其他语法元素的值的方式变化。该描述符的解析过程由函数read_bits(n)的返回值指定,该返回值被解释为首先写入最高有效位的无符号整数的二进制表示。
-ue(v):无符号整数O阶Exp-Golomb编码的语法元素,从最左位起。
如上所述,视频内容包括由一系列帧(或图片)组成的视频序列,并且每个视频帧或图片可被分成一个或多个区域。编码视频序列(CVS)可以被封装(或结构化)为一系列访问单元,其中每个访问单元包括被配置为网络抽象层(NAL)单元的视频数据。比特流可被描述为包括形成一个或多个CVS的NAL单元序列。应当指出的是,多层扩展使视频呈现能够包括基底层和一个或多个附加增强层。例如,基底层可以使得能够呈现具有基本质量水平(例如,高清晰度呈现和/或30Hz帧率)的视频呈现,并且增强层可以使得能够呈现具有增强的质量水平(例如,超高清渲染和/或60Hz帧率)的视频呈现。可以通过参考基底层来对增强层进行编码。也就是说,例如可以通过参考基底层中的一个或多个图片(包括其缩放版本)来对增强层中的图片进行编码(例如,使用层间预测技术)。每个NAL单元可以包括指示NAL单元与之相关联的视频数据层的标识符。应当指出的是,子比特流提取可以指接收兼容或符合性比特流的设备通过丢弃和/或修改接收到的比特流中的数据来形成新的兼容或符合性比特流的过程。例如,子比特流提取可以用于形成对应于视频的特定表示(例如,高质量表示)的新的兼容或符合性比特流。层也可彼此独立地被编码。在这种情况下,两层之间可能不存在层间预测。
参考图2中所示的示例,Pic3中包括的每个视频数据切片(即,切片0切片1)被示出为封装在NAL单元中。在JVET-N1001中,视频序列、GOP、图片、切片和CTU中的每一者可以与描述视频编码属性的元数据相关联。JVET-N1001定义了可用于描述视频数据和/或视频编码属性的参数集。具体地讲,JVET-N1001包括以下五种类型的参数集:解码参数集(DPS)、视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)和自适应参数集(APS)。关于SPS,JVET-N1001包括以下定义:
序列参数集(SPS):一种语法结构,包含应用于零个或多个完整CVS的语法元素,这些CVS由在每个切片标头中找到的语法元素引用的PPS中找到的语法元素的内容确定。
在JVET-N1001中,参数集可以被封装为特殊类型的NAL单元,或者可以作为消息发送信号通知。包括编码视频数据(例如,切片)的NAL单元可以被称为VCL(视频编码层)NAL单元,并且包括元数据(例如,参数集)的NAL单元可以被称为非VCL NAL单元。此外,JVET-N1001使得补充增强信息(SEI)消息能够被发送信号通知。在JVET-N1001中,SEI消息协助与解码、显示或其他目的有关的过程,然而,可能不需要SEI消息来通过解码过程构建亮度或色度样本。在JVET-N1001中,可以使用非VCL NAL单元在比特流中发送信号通知SEI消息。此外,SEI消息可以通过某种方式传送,而不是通过存在于比特流中(即,在带外发送信号通知)。
访问单元可被称为层访问单元。如上所述,多层扩展使视频呈现能够包括基底层和一个或多个附加增强层。应当指出的是,在ITU-T H.265中,可扩展层的时间真子集不被称为层,而是被称为子层或时间子层:
也就是说,ITU-T H.265提供了关于子层的以下定义:
子层:时间可扩展比特流的时间可扩展层,由具有特定TemporalId变量值的VCLNAL单元和相关联的非VCL NAL单元组成。
术语子层和时间子层可互换使用。
图3示出了包括多个CVS的比特流的示例,其中CVS由包括在相应的访问单元中的NAL单元表示。在图3所示的示例中,非VCL NAL单元包括相应的参数集NAL单元(即,序列参数集(SPS)和图像参数集(PPS)NAL单元)、SEI消息NAL单元和访问单元界定符NAL单元。应当指出的是,在图3中,HEADER是NAL单元标头。
JVET-N1001定义了NAL单元标头语义,其指定了包括在NAL单元中的原始字节序列有效载荷(RBSP)数据结构的类型。表1示出了JVET-N1001中提供的NAL单元标头的语法。
表1
JVET-N1001针对表1中所示的相应语法元素提供了以下定义。
Zero_tid_required_flag等于0指定zero_tid_required_flag不对nuh_temporal_id_plus1的值施加任何附加约束。
nuh_temporal_id_plus1减1指定NAL单元的时间标识符。
nuh_temporal_id_plus1的值应不等于0。当zero_tid_required_flag等于1时,nuh_temporal_id_plus1的值应等于1。
变量TemporalId如下导出:
TemporalId=nuh_temporal_id_plus1-1
注意—在16至31的范围内(包括端值)的NAL单元类型具有等于1的zero_tid_required_flag,并且因此具有等于0的TemporalId。
层访问单元的所有VCL NAL单元的TemporalId的值应相同。编码图片或层访问单元的TemporalId的值是编码图片或层访问单元的VCL NAL单元的TemporalId的值。
非VCL NAL单元的TemporalId的值被约束如下:
-如果NalUnitType等于SPS_NUT,则TemporalId等于0,并且包含NAL单元的层访问单元的TemporalId应等于0。
-否则,如果NalUnitType等于APS_NUT,则TemporalId应等于包含NAL单元的层访问单元的TemporalId。
-否则,当NalUnitType不等于EOS_NUT并且不等于EOB_NUT时,TemporalId应大于或等于包含NAL单元的层访问单元的TemporalId。
注意—当NAL单元是非VCL NAL单元时,TemporalId的值等于非VCL NAL单元所应用的所有层访问单元的TemporalId值的最小值。当NalUnitType等于PPS_NUT时,TemporalId可大于或等于包含层访问单元的TemporalId,因为所有图片参数集(PPS)可包括在比特流的开始中,其中第一编码图片具有等于0的TemporalId。当NalUnitType等于PREFIX_SEI_NUT或SUFFLX_SEI_NUT时,TemporalId可大于或等于包含层访问单元的TemporalId,因为SEI NAL单元可包含应用于比特流子集的信息,该比特流子集包括其TemporalId值大于包含SEI NAL单元的层访问单元的TemporalId的层访问单元。
nuh_layer_id指定VCL NAL单元所属的层的标识符或者非VCL NAL单元适用的层的标识符。nuh_layer_id的值应在0至126的范围内(包括端值)。未来可由ITU-T|ISO/IEC指定值127。出于确定比特流的解码单元中的数据量之外的目的,解码器应忽略NAL单元中nuh_layer_id的值127之后的所有数据。
注意—在本说明书的未来扩展中,nuh_layer_id的值127可用于指示扩展层标识符。
编码图片的所有VCL NAL单元的nuh_layer_id的值应相同。编码图片的nuh_layer_id的值是编码图片的VCL NAL单元的nuh_layer_id的值。
nuh_reserved_zero_bit应等于“0”。未来可由ITU-T|ISO/IEC指定nuh_rescrved_zero位的值1。解码器应忽略(即,从比特流中移除并丢弃)nuh_reserved_zero_bit等于“1”的NAL单元。
关于语法元素nal_unit_type_lsb,JVET-N1001提供如下:
nal_unit_type_lsb指定NAL单元类型的最低有效位。
变量NalUnitType指定NAL单元类型,即,如表2中指定的NAL单元中包含的RBSP数据结构的类型,该变量如下导出:
NalUnitType=(zero_tid_required_flag<<4)+nal_unit_type_lsb
具有在UNSPEC28…UNSPEC31的范围内(包括端值)的NalUnitType的NAL单元(其语义未指定)应不影响本说明书中指定的解码过程。
注意—在UNSPEC28…UNSPEC31的范围内的NAL单元类型可如由应用程序所确定的那样使用。在本说明书中未指定针对NalUnitType的这些值的解码过程。由于不同的应用程序可能出于不同的目的使用这些NAL单元类型,因此在设计生成具有这些NalUnitType值的NAL单元的编码器时以及在设计解释具有这些NalUnitType值的NAL单元的内容的解码器时必须特别注意。本说明书未定义对这些值的任何管理。这些NalUnitType值可能仅适用于使用“冲突”(即,同一NalUnitType值的NAL单元内容的含义具有不同定义)不重要、或不可能或被管理的上下文中,例如,在控制应用程序或运输规范中定义或管理,或者通过控制分发比特流的环境来管理。
出于确定比特流的解码单元中的数据量之外的目的,解码器应忽略(从比特流中移除并丢弃)使用NalUnitType的保留值的所有NAL单元的内容。
注意—该要求允许未来定义本说明书的兼容扩展。
表2
注意—干净随机存取(CRA)图片可具有存在于比特流中的相关联RASL或RADL图片。
注意—具有等于IDR_N_LP的NalUnitType的瞬时解码刷新(IDR)图片不具有存在于比特流中的相关联前导图片。具有等于IDR_W_RADL的NalUnitType的IDR图片不具有存在于比特流中的相关联RASL图片,但可具有在比特流中的相关联RADL图片。
应当指出的是,一般来讲,例如相对于ITU-T H.265,IRAP图片是在其解码过程中不引用其自身之外的任何图片来进行帧间预测的图片。通常,比特流中解码顺序中的第一图片必须是IRAP图片。在ITU-T H.265中,IRAP图片可以是断链路存取(BLA)图片、干净随机存取(CRA)图片或瞬时解码刷新(IDR)图片。ITU-T H.265描述了前导图片的概念,前导图片是在输出顺序中在相关联IRAP图片之前的图片。ITU-T H.265还描述了拖尾图片的概念,拖尾图片是在输出顺序中在相关联IRAP图片之后的非IRAP图片。与IRAP图片相关联的拖尾图片在解码顺序中也在IRAP图片之后。对于IDR图片,不存在需要引用在IDR图片之前解码的图片的拖尾图片。ITU-T H.265规定了CRA图片可具有在解码顺序中在CRA图片之后的前导图片,并且包含引用在CRA图片之前解码的图片的图片间预测。因此,当CRA图片用作随机访问点时,这些前导图片可能不可解码并且被识别为随机访问跳过前导(RASL)图片。BLA图片也可在RASL图片之后。当这些RASL图片不可解码时,即当解码器在CRA点处开始其解码过程时,对于BLA图片并且对于CRA图片,这些RASL图片总是被丢弃。可在解码顺序中在IRAP图片之后并且在输出顺序中在IRAP图片之前的另一类型的图片是随机访问可解码前导(RADL)图片,其不可包含对在解码顺序中在IRAP图片之前的任何图片的引用。
如上所述,在JVET-N1001中,非VCL NAL单元包括相应参数集NAL单元。表3示出了JVET-N1001中提供的序列参数集语法。
表3
关于表3,JVET-N1001提供了以下语义:
当sps_decoding_parameter_set_id,g_parameter_set_id大于0时,其指定由SPS引用的DPS的dps_decoding_parameter_set_id的值。当sps_decoding_parameter_set_id等于0时,SPS不引用DPS,并且当对引用SPS的每个CVS进行解码时,没有DPS是活动的。
当sps_video_parameter_set_id大于0时,其指定由SPS引用的VPS的vps_video_parameter_set_id的值。当sps_video_parameter_set_id等于0时,SPS不引用VPS,并且当对引用SPS的每个CVS进行解码时,没有VPS是活动的。
Sps_max_sub_layers_minus1加1指定引用SPS的每个CVS中可存在的最大时间子层数量。sps_max_sub_layers_minus1的值应在0至6的范围内(包括端值)。
在符合本说明书的此版本的比特流中,sps_reserved_zero_5bits应等于0。保留用于sps_reserved_zero 5bits的其他值以供ITU-T|ISO/IEC将来使用。
gra_enabled_flag等于1指定在引用SPS的CVS中可存在GRA图片。gra_enabled_flag等于0指定在引用SPS的CVS中不存在GRA图片。
sps_seq_parameter_set_id提供SPS的标识符以供其他语法元素引用。sps seqparameter set id的值应在0至15的范围内(包括端值)。
如所指定的,chroma_format_idc指定相对于亮度采样的色度采样。chroma_format_idc的值应在0至3的范围内(包括端值)。
Separate_colour_plane_flag等于1指定4:4:4色度格式的三个颜色分量被单独地编码。separate_colour_plane_flag等于0指定颜色分量不被单独地编码。当separate_colourjplane_flag不存在时,推断其等于0。当scparale_colour plane_flag等于1时,编码图片由三个单独的分量组成,每个分量由一个颜色平面(Y、Cb或Cr)的编码样本组成并且使用单色编码语法。在这种情况下,每个颜色平面与特定的colour_plane_id值相关联。
注意—在具有不同colour_plane_id值的颜色平面之间的解码过程不存在相关性。例如,具有colour_plane_id的一个值的单色图片的解码过程不使用来自具有不同颜色平面id值的单色图片的任何数据进行帧间预测。
根据separate_colour_plane_flag的值,变量ChromaArrayType的值如下指定:
-如果separate_colour_plane flag等于0,则将ChromaArrayType设定为等于chroma_format_idc。
-否则(separate_colour__plane_flag等于1),将ChromaArrayType设定为等于0。
pic_width_in_luma_samples指定每个解码图片的宽度,单位为亮度样本。pic_width_in_luma_samples应不等于0并且应为MinCbSizeY的整数倍。
pic_height_in_luma_samples指定每个解码图片的高度,单位为亮度样本。pic_height_in_luma_samples应不等于0并且应为MinCbSizeY的整数倍。
conformance_window_flag等于1表示在SPS中贴合裁剪窗口偏移参数紧随其后。conformance_window_flag等于0表示不存在贴合裁剪窗口偏移参数。
conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset根据在要输出的图片坐标中指定的矩形区域,指定CVS中从解码过程输出的图片的样本。当conformance_window_flag等于0时,推断conf_win_left_offset、conf_win_right_offset、conf_win_top_offset和conf_win_bottom_offset的值等于0。
贴合裁剪窗口包含具有从SubWidthC*conf_win_left_offset到pic_width_in_luma_samples的水平图片坐标-(SubWidthC*conf_win_right_offset+1),和从SubHeightC*conf_win_top_offset到pic_height_in_luma_samples的垂直图片坐标-(SubHeightC*conf_win_bottom_offset+1)(包括端点)的亮度样本。
SubWidthC*(conf_win_left_offset+conf_win_right_offset)的值应小于pic_width__in_luma_samples,并且SubHeightC*(conf_win_top_offset+conf_win_bottom_offset)的值应小于pic_height_in_luma_samples。
当ChromaArrayType不等于0时,两个色度矩阵的对应指定样本是具有图片坐标(x/SubWidthC,y/SubHeightC)的样本,其中(x,y)是指定的亮度样本的图片坐标。
注意—贴合裁剪窗口偏移参数仅在输出时应用。所有内部解码过程都应用于未裁剪的图片大小。
bit_depth_luma_minus8如下指定亮度阵列BitDepthY的样本的位深度和亮度量化参数范围偏移QpBdOffsety的值:
BitDepthY=8+bit_depth_luma_minus8
QpBdOffsetY=6*bit_depth_luna_minus8
bit_depth_luma_minus8应在0至8的范围内(包括端值)。
bit_depth_chroma_minus8如下指定色度阵列BitDepthC的样本的位深度和色度量化参数范围偏移QpBdOffsetC的值:
BitDepthC=8+bit_depth_chroma_minus8
QpBdOffsetC=6*bit_depth_chroma_minus8
bit_depth_chroma_minus8应在0至8的范围内(包括端值)。
log2 max_pic_order_cnt_lsb_minus4如下指定在图片序列号的解码过程中使用的变量MaxPicOrderCntLsb的值:
MaxPicOrderCntLsb=2(log2_max_pic_order”cnt_lsb”minus4+4)
log2_max_pic_order_cnt_lsb_minus4的值应在0至12的范围内(包括端值)。
sps_sub_layer_ordering_info_present_flag等于1指定对于sps_max_sub_layers_minus1+1个子层存在sps_max_dec_pic_buffering_minus1[i]、sps_max_num_reorder_pics[i]和sps_max_latency_increase_plus1[i]。sps_sub_layer_orderinginfo_present_flag等于0指定sps_max_dec_pic_buffering_rninus1[sps_max_sub_layers_minus1]、sps_max_num_reorderjpics[sps_max_sub_layers_minus1]和sps_max_latency_increase_plus1[sps_max_sub_layers_minus1]的值适用于所有子层。
sps_max_dec_pic_buffering_minus1[i]加1指定当HighestTid等于i时CVS的解码图片缓冲器的最大所需大小,单位为图片存储缓冲器。sps_maxdec_pic_buffering_minus1[i]的值应在0至MaxDpbSize-1的范围内(包括端值),其中MaxDpbSize如别处所指定。当i大于0时,sps_max_dec_pic_buffering_minus1[i]应大于或等于sps_max_dec_pic_buffering_minus1[i-1]。当对于i在0至sps_max_sub_layers_minus1-1的范围内(包括端值),不存在sps_max_dec_pic_buffering_minus1[i]时,由于sps_sub_layer_ordering_info_present_flag等于0,推断其等于sps_max_dec_pic_buffering_minus1[sps_max_sub_layers_minus1]。
sps_max_num_reorder_pics[i]指示当HighestTid等于i时,可在解码顺序中在CVS中的任何图片之前并且在输出顺序中在该图片之后的最大允许图片数量。sps_max_num_reorder_pics[i]的值应在0至sps_max_dec_pic_buffering_minus1[i]的范围内(包括端值)。当i大于0时,sps_max_num_reorder_pics[i]应大于或等于sps_max_num_reorder_pics[i-1]。当对于i在0至sps_max_sub_layers_minus1-1的范围内(包括端值),不存在sps_max_num_reorder_pics[i]时,由于sps_sub_layer orderinginfo_present_nag等于0,推断其等于sps_max_num_reorder_pics[sps_max_sub_layers_minus1]。
sps_max_latency_increase_plusl[i]不等于0用于计算SpsMaxLatencyPictures[i]的值,其指定当HighestTid等于i时,可在输出顺序中在CVS中的任何图片之前并且在解码顺序中在该图片之后的最大图片数量。
当sps_max_latency_increase_plusl[i]不等于0时,SpsMaxLatencyPictures[i]的值如下指定:
SpsMaxLatencyPictures[i]=sps_max_num_reorder_pics[i]+sps_max_latency_increase_plus1[i]-1
当sps_max_latency_increase_plus1[i]等于0时,不表示对应的限制。
sps_max_latency_increase_plus1[i]的值应在0至232-2的范围内(包括端值)。当对于i在0至sps_max_sub_layers_minus1-1的范围内(包括端值),不存在sps_max_latency_increase_plusl[i]时,由于sps_sub_layer_ordering_info_present_flag等于0,推断其等于sps_max_latency_increase_plus1[sps_max_sub_layers_minus1]。
long_term_ref_pics_flag等于0表示没有LTRP用于CVS中任何编码图片的帧间预测。long_term_ref_pics_flag等于1表示LTRP可以用于CVS中的一个或多个编码图片的帧间预测。
sps_idr_rpl_present_flag等于1指定IDR图片的切片标头中存在参考图片列表语法元素。sps_idr_rpl_present_flag等于0指定IDR图片的切片标头中不存在参考图片列表语法元素。
rpl1_same_as_rp10_flag等于1表示语法结构num_refjpic_lists_in_sps[1]和ref_pic_list_struct(1,rplsIdx)不存在,并且以下适用:
-推断num_ref_pic_lists_in_sps[1]的值等于num_ref_pic_lists_in_sps[0]的值。
-推断refjpic_list_struct(1,rplsIdx)中的语法元素中的每个语法元素的值等于对于rplsIdx范围在0至num_ref_pic_lists_in_sps[0]-1的ref_pic_list_struct(0,rplsIdx)中的对应语法元素的值。
num_ref_pic_lists_in_sps[i]指定包括在SPS中的ref_pic_list_struct(listIdx,rplsIdx)语法结构的数量,其中listIdx等于i。num_ref_pic_lists_in_sps[i]的值应在0至64的范围内(包括端值)。
注意—对于listIdx的每个值(等于0或1),解码器应为总数为num_ref_pic_lists_in_sps[i]+1的语法结构ref_pic_list_struct(listIdx,rplsIdx)分配内存,因为可能在当前图片的切片标头中存在直接发送信号通知的一个ref_pic_list_struct(listIdx,rplsIdx)语法结构。
qtbtt_dual_tree_intra_flag等于1指定,对于I切片,使用隐式四叉树分割将每个CTU分割成具有64×64亮度样本的编码单元,并且这些编码单元是亮度和色度的两个单独coding_tree语法结构的根。
log2_ctu_size_minus2加2指定每个CTU的亮度编码树块大小。
log2_min_luma_coding_block_size minus2加2指定最小亮度编码块大小。
变量CtbLog2SizeY、CtbSizeY、MinCbLog2SizeY、MinCbSizeY、MinTbLog2SizeY、MaxTbLog2SizeY、MinTbSizeY、MaxTbSizeY、PicWidthlnCtbsY、PicHeightlnCtbsY、PicSizelnCtbsY、PicWidthlnMinCbsY、PicHeightlnMinCbsY、PicSizelnMinCbsY、PicSizelnSamplesY、PicWidthlnSamplesC和PicHeightlnSamplesC如下导出:
CtbLog2SizeY=log2_ctu_size_minus2+2
CtbSizeY=1<<CtbLog2SizeY
MinCbLog2SizeY=log2 min_luma_coding_block_size minus2+2
MinCbSizeY=1<<MinCbLog2SizeY
MinTbLog2SizeY=2
MaxTbLog2SizeY=6
MinTbSizeY=1<<MinTbLog2SizeY
MaxTbSizeY=1<<MaxTbLog2SizeY
PicWidthlnCtbsY=Ceil(pic_width_in_luma_samples÷CtbSizeY)
PicHeightlnCtbsY=Ceil(pic_height_in_luma_samples÷CtbSizeY)
PicSizelnCtbsY=PicWidthlnCtbsY*PicHeightlnCtbsY
PicWidthlnMinCbsY=pic_width_in_luma_samples/MinCbSizeY
PicHeightlnMinCbsY=pic_height_in_luma_samples/MinCbSizeY
PicSizelnMinCbsY=PicWidthlnMinCbsY*PicHeightlnMinCbsY
PicSizelnSamplesY=pic_width_in_luma_samples*pic_height_in_luma_samples
PicWidthlnSamplesC=pic_width_in_luma_samples/SubWidthC
PicHeightlnSamplesC=pic_height_in_luma_samples/SubHeightC
变量CtbWidthC和CtbHeightC分别指定每个色度CTB的阵列的宽度和高度,这两个变量如下导出:
-如果chroma_format_idc等于0(单色)或separate_colour_plane_flag等于1,则CtbWidthC和CtbHeightC均等于0。
-否则,CtbWidthC和CtbHeightC如下导出:
CtbWidthC=CtbSizeY/SubWidthC
CtbHeightC=CtbSizeY/SubHeightC
对于0至4范围内(包括端值)的log2BlockWidth和0至4范围内(包括端值)的log2BlockHeight,以1<<log2BlockWidth和1<<log2BlockHeight作为输入调用如所指定的右上对角线扫描顺序阵列初始化过程,并且将输出分配给DiagScanOrder[log2BlockWidth][log2BlockH eight]。
partition_constraints_override_enabled_flag等于1指定引用SPS的切片的切片标头中存在partition_constraints_override_flag。
partition_constraints_override_enabled_flag等于0指定引用SPS的切片的切片标头中不存在partition_constraints_override_flag。
sps_log2_diff_min_qt_min_cb_intra_slice_luma指定对CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小的以2为底的对数与引用SPS的slice_type等于2(I)的切片中的亮度CU的亮度样本中的最小编码块大小的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2_diff_min_qt_min_cb_luma覆写。sps_log2_diff_min_qt_min_cb_intra_slice_luma的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。对CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小的以2为底的对数如下导出:
MinQtLog2SizeIntraY=sps_log2_diff_min_qt_min_cb_intra_slice_luma+MinCbLog2SizeY
sps_log2 diff_min_qt_min_cb_inter_slice指定对CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小的以2为底的对数与引用SPS的slice_type等于0(B)或1(P)的切片中的亮度CU的亮度样本中的最小亮度编码块大小的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2 diff_mim_qt_min cb_luma覆写。sps log2_diff_min_qt_min_cb_inter_slice的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。对CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小的以2为底的对数如下导出:
MinQtLog2SizeInterY=sps_log2_diff_min_qt_min_cb_inter_slice+MinCbLog2SizeY
sps_max_mtt_hierarchy_depth_inter_slice指定对引用SPS的slice_type等于0(B)或1(P)的切片中的四叉树叶进行多类型树分割产生的编码单元的默认最大分级结构深度。当partition_constraints_override_flag等于1时,默认最大分级结构深度可以被引用SPS的切片的切片标头中的slice_max_mtt_hierarchy_depth_luma覆写。sps_max_mti_hierarchy_depth_inter_slice的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。
sps_max_mtt_hierarchy_depth_intra_slice_luma指定对引用SPS的slice_type等于2(I)的切片中的四叉树叶进行多类型树分割产生的编码单元的默认最大分级结构深度。当partition_constraints_override_flag等于1时,默认最大分级结构深度可以被引用SPS的切片的切片标头中的slice_max_mtt_hierarchy_dcpth luma覆写。sps_max_mtt_hierarchy_depth_intra_slice_luma的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。
sps_log2_diff_max_bt_min_qt_intra_slice_luma指定可使用二进制分割的亮度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于2(I)的切片中的CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2_diff_max_bt_min_qt_luma覆写。sps_log2_diff_max_bt_min_qt_intra_slice_luma的值应在0至CtbLog2SizeY-MinQtLog2SizeIntraY的范围内(包括端值)。当sps_log2_diff_max_bt_min_qt_intra_slice_luma不存在时,推断sps_log2_diff_max_bt_min_qt_intra_slice_luma的值等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_luma指定可使用三元分割的亮度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于2(I)的切片中的CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2_diff_max_tt_min_qt_luma覆写。sps_log2_diff_max_tt_min_qt_intra_slice_luma的值应在0至CtbLog2SizeY-MinQtLog2SizelntraY的范围内(包括端值)。当sps_log2_diff_max_tt_min_qt_intra_slice_luma不存在时,推断sps_log2_diff_max_tt_min_qt_intra_slice_luma的值等于0。
sps_log2_diff_max_bt_min_qt_inter_slice指定可使用二进制分割的亮度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于0(B)或1(P)的切片中的CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2_diff_max_bt_min_qt_luma覆写。sps_log2_diff_max_bt_min_qt_inter_slice的值应在0至CtbLog2SizeY-MinQtLog2SizeInterY的范围内(包括端值)。当sps_log2_diff_max_bt_min_qt_inter_slice不存在时,推断sps_log2_diff_max_bt_min_qt_inter_slice的值等于0。
sps_log2_diff_max_tt_min_qt_inter_slice指定可使用三元分割的亮度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于0(B)或1(P)的切片中的CTU进行四叉树分割产生的亮度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2 diffmax ttmin qtluma覆写。sps_log2_diff_max_tt_min_qt_inter_slice的值应在0至CtbLog2SizeY-MinQtLog2SizeInterY的范围内(包括端值)。当sps_log2_diff_max_tt_min_qt_inter_slice不存在时,推断sps_log2_diff_max_tt_min_qt_inter_slice的值等于0。
sps_log2_diff_min_qt_min_cb_intra_slice_chroma指定对treeType等于DUAL_TREE_CHROMA的色度CTU进行四叉树分割产生的色度叶片块的亮度样本中的最小大小的以2为底的对数与引用SPS的slice_type等于2(I)的切片中treeType等于DUAL_TREE_CHROMA的色度CU的亮度样本中的最小编码块大小的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice Jog2_diff_min_qt_min_cb_chroma覆写。sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。当不存在时,推断sps_log2_diff_min_qt_min_cb_intra_slice_chroma的值等于0。对treeType等于DUAL_TREE_CHROMA的CTU进行四叉树分割产生的色度叶片块的亮度样本中的最小大小的以2为底的对数如下导出:
MinQtLog2SizeIntraC=sps_log2_diff_min_qt_min_cb_intra_slice_chroma+MinCbLog2SizeY
Sps_max_mtt_hierarchy_depth_intra_slice_chroma指定由参考指定对引用SPS的slice_type等于2(I)的切片中treeType等于DUAL_TREE_CHROMA的色度四叉树叶进行多类型树分割产生的色度编码单元的默认最大分级结构深度。当partition_constraints_override_flag等于1时,默认最大分级结构深度可以被引用SPS的切片的切片标头中的slice_max_mtt_hierarchy_depth_chroma覆写。sps_max_mtt_hierarchy_depth_intra_slice_chroma的值应在0至CtbLog2SizeY-MinCbLog2SizeY的范围内(包括端值)。当不存在时,推断sps_max_mtt_hierarchy_depth_intra_slice_chroma的值等于0。
sps_log2_diff_max_bt_min_qt_intra_slice_chroma指定可使用二进制分割的色度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于2(I)的切片中treeType等于DUAL_TREE_CHROMA的色度CTU进行四叉树分割产生的色度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2 diff_max_bt min_qt_chroma覆写。sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值应在0至CtbLog2SizeY-MinQtLog2SizeIntraC的范围内(包括端值)。当sps_log2_diff_max_bt_min_qt_intra_slice_chroma不存在时,推断sps_log2_diff_max_bt_min_qt_intra_slice_chroma的值等于0。
sps_log2_diff_max_tt_min_qt_intra_slice_chroma指定可使用三元分割的色度编码块的亮度样本中的最大大小(宽度或高度)的以2为底的对数与对引用SPS的slice_type等于2(I)的切片中treeType等于DUALTREECHROMA的色度CTU进行四叉树分割产生的色度叶片块的亮度样本中的最小大小(宽度或高度)的以2为底的对数之间的默认差值。当partition_constraints_override_flag等于1时,该默认差值可以被引用SPS的切片的切片标头中存在的slice_log2_diff_max_tt_min_qt_chroma覆写。sps_log2_diff_max_tt_min_qt_intra_slice_chroma的值应在0至CtbLog2SizeY-MinQtLog2SizeIntraC的范围内(包括端值)。当sps_log2_diff_max_tt_min_qt_intra_slice_chroma不存在时,推断spslog2_diff_max_tt_min_qt_intra_slice_chroma的值等于0。
sps_sao_enabled_flag等于1指定在解块滤波过程之后对重构图片应用样本自适应偏移过程。sps_sao_enabled_flag等于0指定在解块滤波器过程之后不对重构图片应用样本自适应偏移过程。
sps_alf_cnablcd_flag等于0指定禁用自适应回路滤波器。sps_alf_cnablcd_flag等于1指定启用自适应回路滤波器。
sps_pcm_enabled_flag等于0指定CVS中不存在PCM相关的语法(pcm_sample_bit_depth_luma_minus1、pcm_sample_bit_depth_chroma_minus1、log2_min_pcm_luma_coding_block_size_minus3、log2_diff_max_min_pcm_luma_coding_block_size、pcm_loop_filter_disabled_flag、pcm_flag、pcm_alignment_zero_bit语法元素和pcm_sample()语法结构)。
注意—当MinCbLog2SizeY等于6并且sps_pcm_enabled_flag等于1时,CVS中不存在PCM样本数据相关的语法(pcm_flag、pcm_alignment_zero_bit语法元素和pcm_sample()语法结构),因为可传送PCM样本数据相关的语法的编码块的最大大小被限制为小于或等于Min(CtbLog2SizeY,5)。因此,MinCbLog2SizeY等于6和sps_pcm_enabled_flag等于1不是在CVS中传送PCM样本数据的适当设置。
pcm_sample_bit_depth_luma_minus1如下指定用于表示亮度分量的每个PCM样本值的位数:
PcmBitDepthY=pcm_sample_bit_depth_luma_minus1+1
PcmBitDepthY的值应小于或等于BitDepthY的值。
pcm_sample_bit_depth_chroma_minus1如下指定用于表示色度分量的每个PCM样本值的位数:
PcmBitDepthC=pcm_sample_bit_depth_chroma_minus1+1
PcmBitDepthC的值应小于或等于BitDepthC的值—当ChromaArrayType等于0时,在解码过程中不使用pcm_sample_bit_depth_chroma_minus1,并且解码器应忽略其值。
log2_min_pcm luma_coding_block_size_minus3加3指定pcm_flag等于1的编码块的最小大小。
变量Log2MinIpcmCbSizeY被设置为等于log2_min_pcm_luma_coding_block_size_minus3+3。Log2MinIpcmCbSizeY的值应在Min(MinCbLog2SizeY,5)至Min(CtbLog2SizeY,5)的范围内(包括端值)。
log2_diff_max_min_pcm_luma_coding_block_size指定pcm_flag等于1的编码块的最大和最小大小之间的差值。
变量Log2MaxIpcmCbSizeY被设置为等于
log2_diff_max_min_pcm_luma_coding_block_size+Log2MinIpcmCbSizeY。Log2MaxIpcmCbSizeY的值应小于或等于Min(CtbLog2SizeY,5)。
pcm_loop_filter_disabled_flag如下指定是否在pcm_flag等于1的编码单元中的重构样本上禁用回路滤波过程:
-如果pcm_loop_filter_disabled_flag等于1,则在pcm_flag等于1的编码单元中的重构样本上禁用解块滤波过程、样本自适应偏移滤波过程和自适应回路滤波过程。
-否则(pcm_loop_filter_disabled_flag值等于0),在pcm_flag等于1的编码单元中的重构样本上不禁用解块滤波过程、样本自适应偏移滤波过程和自适应回路滤波过程。
当pcm_loop_filter_disabled_flag不存在时,推断其等于0。
sps_ref_wraparound_enabled_flag等于1指定在帧间预测中应用水平环绕式运动补偿。sps_ref_wraparound_enabled_flag等于0指定不应用水平环绕式运动补偿。当不存在时,推断sps_ref_wraparound_enabled_flag的值等于0。
sps_ref_wraparound_offset_minus1加1指定用于计算水平环绕位置的偏移,单位为MinCbSizeY亮度样本。ref_wraparound_offset_minus1的值应在(CtbSizeY/MinCbSizeY)+1至(pic_width_in_luma_samples/MinCbSizeY)-1的范围内(包括端值)。
sps_temporal_mvp_enabled_flag等于1指定CVS中slice_type不等于I的切片的切片标头中存在slice_temporal_mvp_enabled_flag。sps_temporal_mvp_enabled_flag等于0指定切片标头中不存在slice_temporal_mvp_enabled_flag并且CVS中不使用时间运动矢量预测器。
sps_sbtmvp_enabled_flag等于1指定在CVS中在图片解码中可使用基于子块的时间运动矢量预测器,其中所有切片具有不等于1的slice_type。sps_sbtmvp_enabled_flag等于0指定在CVS中不使用基于子块的时间运动矢量预测器。当sps_sbtmvp_enabled_flag不存在时,推断其等于0。
sps_amvr_enabled_flag等于1指定在运动矢量编码中使用自适应运动矢量差分辨率。amvr_enabled_flag等于0指定在运动矢量编码中不使用自适应运动矢量差分辨率。
sps_bdof_enabled_flag等于0指定禁用双向光流帧间预测。sps_bdof_enabled_flag等于1指定启用双向光流帧间预测。
sps_smvd_enabled_flag等于1指定在运动矢量解码中可使用对称运动矢量差。sps_smvd_enabled_flag等于0指定在运动矢量编码中不使用对称运动矢量差。
sps_affine_amvr_enabled_flag等于1指定在仿射帧间模式的运动矢量编码中使用自适应运动矢量差分辨率,sps_affine_amvr_enabled_flag等于0指定在仿射帧间模式的运动矢量编码中不使用自适应运动矢量差分辨率。
sps_dmvr_enabled_flag等于1指定启用基于解码器运动矢量修正的帧间双预测。sps_dmvr_enabled_flag等于0指定禁用基于解码器运动矢量修正的帧间双预测。
sps_mmvd_enabled_flag等于1指定启用具有运动矢量差的合并模式。sps_mmvd_enabled_flag等于0指定禁用具有运动矢量差的合并模式。
sps_isp_enabled_flag等于1指定启用具有子划分的帧内预测。sps_isp_enabled_flag等于0指定禁用具有子划分的帧内预测。
sps_mrl_enabled_flag等于1指定启用具有多个参考行的帧内预测。sps_mrl_enabled_flag等于0指定禁用具有多个参考行的帧内预测。
sps_mip_enabled_flag等于1指定启用基于矩阵的帧内预测。sps_mip_enabled_flag等于0指定禁用基于矩阵的帧内预测。
sps_cclm_enabled_flag等于0指定禁用从亮度分量到色度分量的跨分量线性模型帧内预测,sps_cclm_enabled_flag等于1指定启用从亮度分量到色度分量的跨分量线性模型帧内预测。
sps_cclm_colocated_chroma_flag等于1指定跨分量线性模型帧内预测中的左上下采样的亮度样本与左上亮度样本并置。sps_cclm_colocated_chroma_flag等于0指定跨分量线性模型帧内预测中的左上下采样的亮度样本与左上亮度样本水平共站,但是相对于左上亮度样本竖直移位0.5个亮度样本单位。
sps_mts_enabled_flag等于1指定序列参数集RBSP语法中存在sps_explicit_mts_intra_enabled_flag并且序列参数集RBSP语法中存在sps_explicit_mts_inter_enabled_flag。sps_mts_enabled_flag等于0指定序列参数集RBSP语法中不存在sps_explicit_mts_intra_enabled_flag并且序列参数集RBSP语法中不存在sps_explicit_mts_inter_enabled_flag。
sps_explicit_mts_intra_enabled_flag等于1指定用于帧内编码单元的变换单元语法中可存在tu_mts_idx。sps_explicit_mts_intra_enabled_flag等于0指定用于帧内编码单元的变换单元语法中不存在tu_mts_idx。当不存在时,推断sps_explicit_mts_intra_enabled_flag的值等于0。
sps_explicit_mts_inter_enabled_flag等于1指定用于帧间编码单元的变换单元语法中可存在tu_mts_idx。sps_explicit_mts_inter_enabled_flag等于0指定用于帧间编码单元的变换单元语法中不存在tu_mts_idx。当不存在时,推断sps_explicit_mts_inter_enabled_flag的值等于0。
sps_sbt_enabled_flag等于0指定禁用用于帧间预测CU的子块变换。sps_sbt_enabled_flag等于1指定启用用于帧间预测CU的子块变换。
sps_sbt_max_size_64_flag等于0指定用于允许子块变换的最大CU宽度和高度是32个亮度样本。sps_sbt_max_size_64_flag等于1指定用于允许子块变换的最大CU宽度和高度是64个亮度样本。
MaxSbtSize=sps_sbt_max_size_64_flag?64:32
sps_affine_enabled_flag指定是否可以将基于仿射模型的运动补偿用于帧间预测。如果sps_affine_enabled_flag等于0,则语法应被约束为使得在CVS中不使用基于仿射模型的运动补偿,并且CVS的编码单元语法中不存在inter_affine_flag和cu_affine_type_flag。否则(sps_affine_enabled_flag等于1),在CVS中可使用基于仿射模型的运动补偿。
sps_afflne_type_flag指定是否可以将基于6参数仿射模型的运动补偿用于帧间预测。如果sps_affine_type_flag等于0,则语法应被约束为使得在CVS中不使用基于6参数仿射模型的运动补偿,并且CVS中的编码单元语法中不存在cu_affine_type_flag。否则(sps_affine_type_flag等于1),在CVS中可使用基于6参数仿射模型的运动补偿。当不存在时,推断sps_affine_type_flag的值等于0。
sps_bcw_enabled_flag指定是否可以将具有CU权重的双预测用于帧间预测。如果sps_bcw_enabled_flag等于0,则语法应被约束为使得在CVS中不使用具有CU权重的双预测,并且CVS的编码单元语法中不存在bcw_idx。否则(sps_bcw_enabled_flag等于1),在CVS中可使用具有CU权重的双预测。
sps_ibc_enabled_flag等于1指定在CVS中在图片解码中可使用当前图片引用。sps_ibc_enabled_flag等于0指定在CVS中不使用当前图片引用。当sps_ibc_enabled_flag不存在时,推断其等于0。
sps_ciip_enabled_flag指定用于帧间编码单元的编码单元语法中可存在ciip_flag。sps_ciip_enabled_flag等于0指定用于帧间编码单元的编码单元语法中不存在ciip_flag。
sps_fpel_mmvd_enabled_flag等于1指定具有运动矢量差的合并模式正使用整数样本精度。sps_fpel_mmvd_enabled_flag等于0指定具有运动矢量差的合并模式可使用分数样本精度。
sps_triangle_enabled_flag指定是否可以将基于三角形形状的运动补偿用于帧间预测。sps_triangle_enabled_flag等于0指定语法应被约束为使得在CVS中不使用基于三角形形状的运动补偿,并且在CVS的编码单元语法中不存在merge_triangle_split_dir、merge_triangle_idx0和merge_triangle_idx1。sps_triangle_enabled_flag等于1指定在CVS中可使用基于三角形形状的运动补偿。
sps_lmcs_enabled_flag等于1指定在CVS中使用具有色度缩放的亮度映射。sps_lmcs_enabled_flag等于0指定在CVS中不使用具有色度缩放的亮度映射。
sps_ladf_enabled_flag等于1指定在SPS中存在sps_num_ladf_intervals_minus2、sps_ladf_lowest_interval_qp_offset、sps_ladf_qp_offset[i]和sps_ladf_delta_threshold_minus1[i]。
sps_num_ladf_intervals_minus2加1指定在SPS中存在的sps_ladf_delta_threshold_minus1[i]和sps_ladf_qp_offset[i]语法元素的数量。sps_num_ladf_intervals_minus2的值应在0至3的范围内(包括端值)。
sps_ladf_lowest_interval_qp_offset指定用于导出指定的变量qP的偏移。sps_ladf_lowest_interval_qp_offset的值应在0至63的范围内(包括端值)。
sps_ladf_qp_offset[i]指定用于导出指定的变量qP的偏移阵列。sps_ladf_qp_offset[i]的值应在0至63的范围内(包括端值)。
sps_ladf_delta_threshold_minus1[i]用于计算SpsLadfIntervalLowerBound[i]的值,其指定第i个亮度强度水平间隔的下界。sps_ladf_delta_threshold_minus1[i]的值应在0至2BitDepthY-3的范围内(包括端值)。
将SpsLadfIntervalLowerBound[0]的值设定为等于0。
对于i在0至sps_num_ladf_intervals_minus2的范围内(包括端值)的每个值,变量SpsLadfIntervalLowerBound[i+1]如下导出:
SpsLadfIntervalLowerBound[i+1]=SpsLadfIntervalLowerBound[i]
+sps_ladf_delta_threshold_minus1[i]+1
timing_info_present_flag等于1指定在SPS RBSP语法结构中存在语法元素num_units_in_tick、time_scale和hrd_parameters_present_flag。timing_info_present_flag等于0指定在SPS RBSP语法结构中不存在num_units_in_tick、time_scale和hrd_parameters_present_flag。
num_units_in_tick是以频率time_scale Hz工作的时钟的时间单位数,该频率对应于时钟节拍计数器的一个增量(称为时钟节拍)。num_units_in_tick应大于0。以秒为单位的时钟节拍等于num_units_in_tick除以time_scale的商。例如,当视频信号的图片率为25Hz时,time_scale可等于27,000,000并且num_units_in_tick可等于1,080,000,并且因此时钟节拍可等于0.04秒。
time_scale是一秒钟内经过的时间单位数。例如,使用27MHz时钟测量时间的时间坐标系的time_scale为27,000,000。time_scale的值应大于0。
hrd_parameters_present_flag等于1指定在SPS RBSP语法结构中存在语法结构hrd_parameters()。hrd_parameters_present_flag等于0指定在SPS RBSP语法结构中不存在语法结构hrd_parameters()。
vui_parameters_present_flag等于1指定在SPS RBSP语法结构中存在语法结构vui_parameters()。vui_parameters_present_flag等于0指定在SPS RBSP语法结构中不存在语法结构vui_parameters()。
sps_extension_flag等于0指定在SPS RBSP语法结构中不存在sps_extension_data_flag语法结构。sps_extension_flag等于1指定在SPS RBSP语法结构中存在sps_extension_data_flag语法结构。
sps_extension_data_flag可具有任何值。其存在和值不影响解码器符合本说明书的此版本中指定的配置文件。符合本说明书的此版本的解码器应忽略所有sps_extension_data_flag语法元素
如表3所示,hrd_parameters_present_flag指定在SPS RBSP语法结构中是否存在语法结构hrd_parameters()。语法结构hrd_parameters()提供所谓的假想参考解码器(HRD)参数。通常,视频编码标准指定可用于检查比特流和解码器符合性的HRD。例如,视频编码标准可指定包含编码图片缓冲器(CPB)、瞬时解码过程、解码图片缓冲器(DPB)、以及输出裁剪和对应的符合性测试的HRD。HRD参数值可指定要执行哪些符合性测试/如何执行符合性测试。因此,视频解码器可基于所接收的HRD参数值来执行符合性测试,以确定比特流是否符合。此外,视频解码器可使用HRD参数值中提供的定时信息来确定输出解码图片的最佳时间,这可提供最佳视频质量。用于符合性比特流的HRD操作和发送信号通知的HRD参数可保证,当以指定缓冲器大小、指定比特率并且以指定初始缓冲延迟解码比特流时,视频缓冲器将从不上溢或下溢。在该上下文中,缓冲器上溢可意指视频缓冲器已经接收到新数据,但是其不具有用该数据填充视频缓冲器的能力,因为视频缓冲器已经充满了待解码或显示的数据。另外,在该上下文中,缓冲器下溢可意指视频解码器处于以下状态:视频解码器可在视频缓冲器中解码来自数据的下一图片(例如,能够将其不间断地呈现给用户),但其缓冲器中没有任何数据。这样,视频解码器可基于发送信号通知的HRD参数对编码视频进行解码。
JVET-N1001指定HRD。表4示出了JVET-N1001中提供的hrd_parameters()语法结构。
表4
关于表4,JVET-N1001提供了以下语义:
hrd_parameters()提供HRD操作中使用的HRD参数。
vui_nal_hrd_parameters_present_flag等于1指定hrd_parameters()语法结构中存在NAL HRD参数(其与II型比特流符合性有关)。vui_nal_hrd_parameters_present_flag等于0指定hrd_parameters()语法结构中不存在NAL HRD参数。
注意—当vui_nal_hrd_paramcters_present_flag等于0时,在不提供NAL HRD参数和所有缓冲周期以及图片定时SEI消息的情况下,不可通过本说明书中未指定的一些方式验证比特流的符合性。
变量NalHrdBpPresentFlag如下导出:
-如果以下条件中的一者或多者为真,则将NalHrdBpPresentFlag设定为等于1:
-vui_nal_hrd_parameters_present_flag存在于比特流中并且等于1。
-在缓冲周期SEI消息中存在于比特流中的NAL HRD操作的缓冲周期存在的需要由应用程序通过本说明书中未指定的一些方式来确定。
-否则,将NalHrdBpPresentFlag的值设定为等于0。
vui_vcl_hrd_parameters_present_flag等于1指定在hrd_parameters()语法结构中存在VCL HRD参数(其与所有比特流符合性有关)。vui_vcl_hrd_parameters_present_flag等于0指定在hrd_parameters()语法结构中不存在VCL HRD参数。
注意—当vui_vcl_hrd_parameters_present_flag等于0时,在不提供VCL HRD参数和所有缓冲周期以及图片定时SEI消息的情况下,不可通过本说明书中未指定的一些方式验证比特流的符合性。
变量VclHrdBpPresentFlag如下导出:
-如果以下条件中的一者或多者为真,则将VclHrdBpPresentFlag设定为等于1:
-vui_vcl_hrd parameters present_flag存在于比特流中并且等于1。
-在缓冲周期SEI消息中存在于比特流中的VCL HRD操作的缓冲周期存在的需要由应用程序通过本说明书中未指定的一些方式来确定。
-否则,将VclHrdBpPresentFlag的值设定为等于0。
变量CpbDpbDelaysPresentFlag如下导出:
-如果以下条件中的一者或多者为真,则将CpbDpbDelaysPresentFlag设定为等于1:
-vui_nal_hrd_parameters_present_flag存在于比特流中并且等于1。
-vui_vcl_hrd_parameters_present_flag存在于比特流中并且等于1。
-在图片定时SEI消息中存在于比特流中的CPB和DPB输出延迟存在的需要由应用程序通过本说明书中未指定的一些方式来确定。
-否则,将CpbDpbDelaysPresentFlag的值设定为等于0。
bit rate scale(与bit rate value_minus1[i]一起)指定第i个CPB的最大输入比特率。
Cpb_size_scale(与cpb_size_value_minus1[i]一起)指定当CPB在访问单元级操作时,第i个CPB的CPB大小。
fixed_pic_rate_general_flag[i]等于1指示当HighestTid等于i时,按输出顺序的连续图像的HRD输出时间之间的时间距离受到如下所述的约束。fixed_pic_rate_general_flag[i]等于0指示该约束可能不适用。
当fixed_pic_rate_general_flag[i]不存在时,推断其等于0。
fixed_pic_rate_within_cvs_flag[i]等于1指示当HighestTid等于i时,按输出顺序的连续图像的HRD输出时间之间的时间距离受到如下所述的约束。fixed_pic_rate_within_cvs_flag[i]等于0指示该约束可能不适用。
当fixed_pic_rate_general_flag[i]等于1时,推断fixed_pic_rate_within_cvs_flag[i]的值等于1。
elemental_duration_in tc_minus1[i]加1(当存在时)指定当HighestTid等于i时,指定如下所指定按输出顺序的连续图片的HRD输出时间的元素单元之间的时间距离,单位为时钟节拍。elemental_duration_in_tc_minus1[i]的值应在0至2047的范围内(包括端值)。
对于输出的每个图片n而不是输出的比特流(按输出顺序)中的最后一个图片,变量DpbOutputElementalInterval[n]的值如下指定:
DpbOutputElementalInterval[n]=DpbOutputInterval[n]÷DeltaToDivisor
其中DpbOutputInterval[n]在公式C-13中指定(即,DpbOutputInterval[n]=DpbOutputTime[nextPicInOutputOrder]-DpbOutputTime[n]),并且在表5中基于包含图片n的CVS的frame_field_info_present_flag和pic_struct的值来指定DeltaToDivisor。表5中标记为“-”的条目指示DeltaToDivisor不依赖于对应语法元素。
当对于包含图片n的CVS,HighestTid等于i并且fixed_pic_rate_general_flag[i]等于1时,针对DpbOutputElementalInterval[n]计算的值应等于ClockTick*(elemental_duration_in_tc_minus1[i]+1),其中当对于被指定用于公式C-13中的输出顺序中的下一个图片nextPicInOutputOrder,以下条件中的一者为真时,ClockTick由公式C-1(即,ClockTick=num_units_in_tick÷time_scale)指定(使用包含图片n的CVS的ClockTick的值):
-图片nextPicInOutputOrder与图片n在同一CVS中。
-图片nextPicInOutputOrder在不同CVS中,并且在包含图片nextPicInOutputOrder的CVS中fixed_pic_rate_general_flag[i]等于1,ClockTick的值对于两个CVS是相同的,并且elemental_duration_in_tc_minus1[i]的值对于两个CVS是相同的。
当对于包含图片n的CVS,HighestTid等于i并且fixed_pic_rate_within_cvs_flag[i]等于1时,针对DpbOutputElementalInterval[n]计算的值应等于ClockTick*(elemental_duration_in_tc_minus1[i]+1),其中当被指定用于公式C-13中的输出顺序中的下一个图片nextPicInOutputOrder与图片n在同一CVS中时,ClockTick由公式C-1(使用包含图片n的CVS的ClockTick的值)指定。
表5
当HighestTid等于i时,low_delay_hrd_flag[i]指定HRD操作模式。
当不存在时,推断low_delay_hrd_flag[i]的值等于0。
注意—当low_delay_hrd_flag[i]等于1时,允许由于访问单元使用的位数而违反标称CPB移除时间的“大图片”。预期但并非必需的是,此类“大图片”仅偶尔出现。
vui_cpb_cnt_minus1[i]加1指定当HighestTid等于i时,CVS的比特流中的另选CPB规范的数量。vui_cpb_cnt_minus1[i]的值应在0至31的范围内(包括端值)。当不存在时,推断vui_cpb_cnt_minus1[i]的值等于0。
表6示出了JVET-N1001中提供的子层HRD参数集语法结构。
表6
关于表6,JVET-N1001提供了以下语义:
将变量CpbCnt设定为等于vui_cpb_cnt_minus1[subLayerId]。
bit_rate_value_minus1[i](与bit_rate_scale一起)指定当CPB在访问单元级操作时,第i个CPB的最大输入比特率。bit_rate_value_minus1[i]应在0至232-2的范围内(包括端值)。对于任何i>0,bit_rate_value_minus1[i]应大于bit_rate_value_minus1[i-1]。
以每秒比特数为单位的比特率如下给出:
BitRate[i]=(bit_rate_value_minus1[i]+1)*2(6+bit_rate_scale)
当bit_rate_value_minus1[i]语法元素不存在时,推断BitRate[i]的值对于VCLHRD参数等于CpbBrVclFactor*MaxBR,对于NAL HRD参数等于CpbBrNalF actor*MaxBR,其中MaxBR、CpbBrVclFactor和CpbBrNalF act or在子条款A.4中指定。]
cpb_size_value_minus1[i]与cpb_size_scale一起使用以指定当CPB在访问单元级别操作时,第i个CPB大小。cpb_size_value_minus1[i]应在0至232-2的范围内(包括端值)。对于任何i大于0,cpb_size_value_minus1[i]应小于或等于cpb_size_value_minus1[i-1]。
CPB大小,单位为位,由下式给出:
CpbSize[i]=(cpb_size_value_minus1[i]+1)*2(4+cpb_size_scale)
当cpb_size_value_minus1[i]语法元素不存在时,推断CpbSize[i]的值对于VCLHRD参数等于CpbBrVclFactor*MaxCPB,并且对于NAL HRD参数等于CpbBrNalFactor*MaxCPB,其中MaxCPB、CpbBrVclFactor和CpbBrNalFactor在子条款A.4中指定。]
cbr_flag[i]等于0指定为了由HRD使用第i个CPB规范解码该比特流,假想流调度器(HSS)在间歇比特率模式中操作。cbr_flag[i]等于1指定HSS在恒定比特率(CBR)模式中操作。当不存在时,
·推断cbr_flag[i]的值等于0。
应当指出的是,虽然语法元素bit_rate_value_minus1和cpb_size_value_minus1的语义包括对用于指定MaxCPB、CpbBrVclFactor和CpbBrNalFactor的子条款A.4的引用,但是JVET-N1001不定义附录A并且因此不包括子条款A.4以及用于指定MaxBR、CpbBrVclFactor和CpbBrNalFactor的机制。根据本文的技术用于指定MaxCPB、CpbBrVclFactor和CpbBrNalFactor的技术在下文中相对于表10提供。
如上所述,JVET-N1001使得SEI消息能够被发送信号通知,这有助于与解码、显示或其他目的相关的过程。此外,如上文在表4的语义中所提供的,用于VCL HRD操作的SEI消息类型包括缓冲周期SEI消息。
表7示出了JVET-N1001中提供的buffering_period()语法结构。
表7
关于表7,JVET-N1001提供了以下语义:
缓冲周期SEI消息提供初始CPB移除延迟和初始CPB移除延迟偏移信息,以用于以解码顺序在相关联访问单元的位置处初始化HRB。
当缓冲周期SEI消息存在时,当图片具有等于0的TemporalId时,该图片被称为notDiscardablePic图片并且不是RASL或RADL图片。
在当前图片不是比特流中解码顺序中的第一图片时,使prevNonDiscardablePic是解码顺序中TemporalId等于0的前一图片,其不是RASL或RADL图片。
缓冲周期SEI消息的存在如下指定:
-如果NalHrdBpPresentFlag等于1或者VclHrdBpPresentFlag等于1,则对于CVS中的每个访问单元,以下适用:
-如果访问单元是IRAP访问单元,则适用于操作点的缓冲周期SEI消息应与访问单元相关联。
-否则,如果访问单元包含notDiscardablePic,则适用于操作点的缓冲周期SEI消息可以或可不与访问单元相关联。
-否则,访问单元应不与适用于操作点的缓冲周期SEI消息相关联。
-否则(NalHrdBpPresentFlag和VclHrdBpPresentFlag均等于0),CVS中应没有访问单元与缓冲期SEI消息关联。
注意—对于一些应用程序,可能期望频繁存在缓冲周期SEI消息(例如,用于在IRAP图片或非IRAP图片处随机访问或用于比特流剪接)。
bp_seq_parameter_set_id指示并应等于SPS的sps_seq_parameter_set_id,对于与缓冲周期SEI消息相关联的编码图片,该SPS是活动的。bp_seq_parameter_set_id的值应等于PPS中pps_seq_parameter_set_id的值,该PPS被与缓冲周期SEI消息相关联的编码图片的切片标头的slice_pic_parameter_set_id引用。bp_seq_parameter_set_id的值应在0至15的范围内(包括端值)。
bp_nal_hrd_parameters_present_flag等于1指定缓冲周期SEI消息中存在语法元素对nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]的列表。bp_nal_hrd_parameters_present_flag等于0指定缓冲周期SEI消息中不存在语法元素对nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]。
比特流符合性要求,与访问单元相关联的缓冲周期SEI消息中的bp_nal_hrd_parameters_present_flag的值等于活动SPS的VUI参数中的vui_nal hrd_paramctersprescnt flag的值。
bp_vcl_hrd_parameters_present_flag等于1指定冲周期SEI消息中存在语法元素对vcl_initial cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的列表。bp_vcl_hrd_parameters_present_flag等于0指定缓冲周期SEI消息中不存在语法元素对vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]。
比特流符合性要求,与访问单元相关联的缓冲周期SEI消息中的bp_vcl_hrd_parameters_present_flag的值等于活动SPS的VUI参数中的vui_vcl_hrd_parameters_present_flag的值。
initial_cpb_removal_delay_length_minus1加1指定缓冲周期SEI消息的语法元素nal_initial_cpb_removal_delay[i]、nal_initial_cpb_removal_offset[i]、vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的长度,单位为位。当不存在时,推断initial_cpb_removal_delay_length_minus1的值等于23。
cpb_removal_delay_length_minus1加1指定缓冲周期SEI消息中的语法元素cpb_removal_delay_delta_minus1和cpb_removal_delay_delta[i]以及图片定时SEI消息中的语法元素cpb_removal_delay__minus1[i]的长度,单位为位。当不存在时,推断cpb_removal_delay_length_minus1的值等于23。
dpb_output_delay_length_minus1加1指定图片定时SEI消息中的语法元素dpb_output_delay的长度,单位为位。当不存在时,推断dpb_output_delay_length_minus1的值等于23。
concatenation_flag指示:在当前图片不是比特流中解码顺序中的第一图片时,是相对于具有缓冲周期SEI消息的前一图片的标称CPB移除时间还是相对于图片prevNonDiscardablePic的标称CPB移除时间来确定当前图片的标称CPB移除时间。
cpb_removal_delay_delta_minus1加1指定:在当前图片不是比特流中解码顺序中的第一图片时,相对于图片prevNonDiscardablePic的标称CPB移除时间的CPB移除延迟增量值。该语法元素的长度是cpb_removal_deiay_length minus1+1位。
在当前图片包含缓冲周期SEI消息并且concatenation_flag等于0并且当前图片不是比特流中解码顺序中的第一图片时,比特流符合性要求应用以下约束:
-如果图片prevNonDiscardablePic不与缓冲周期SEI消息相关联,则当前图片的cpb_removal_delay_minus1应等于prevNonDiscardablePic的cpb_removal_delay_minus1加cpb_removal_delay_delta_minus1+1。
-否则,cpb_removal_delay_minus1应等于cpb_removal_delay_delta_minus 1。
注意—在当前图片包含缓冲周期SEI消息并且concatenation_flag等于1时,不使用当前图片的cpb_removal_delay_minus1。在一些情况下,以上指定的约束可使得可能通过简单地在用于剪接点处的IRAP图片的缓冲周期SEI消息中将concatenation_flag的值从0改变为1来剪接比特流(其使用适当设计的引用结构)。当concatenation_flag等于0时,以上指定的约束使得解码器能够检查约束是否得到满足,作为检测图片prevNonDiscardablePic的丢失的方式。
cpb_removal_delay_deltas_present_flag等于1指定缓冲周期SEI消息包含CPB移除延迟增量。cpb_removal_delay_deltas_present_flag等于0指定缓冲周期SEI消息中不存在CPB移除延迟增量。
num_cpb_removal_delay_deltas_minus1加1指定缓冲周期SEI消息中的语法元素cpb_removal_delay_delta[i]的数量。num_cpb_removal_offsets_minus1的值应在0至15的范围内(包括端值)。
cpb_removal_delay_delta[i]指定第i个CPB移除延迟增量。该语法元素的长度是cpb_removal_delay_length_minus1+1位。
bp_cpb_cnt_minus1加1指定当bp_nal_hrd_parameters_present_flag等于1时语法元素对nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]的数量,并且指定当bp_vcl_hrd_parameters_present_flag等于1时语法元素对vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的数量。bp_cpb_cnt_minus1的值应在0至31的范围内(包括端值)。
nal_initial_cpb_removal_delay[i]指定NAL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。nal_initial_cpb_removal_delay[i]的长度是initial_cpb_removal_delay_length_minus1+1位。nal_initial_cpb_removal_delay[i]的值应不等于0并且应小于或等于90000*(CpbSize[i]4÷BitRate[i]),其为90kHz时钟单位下的CPB大小的时间等效物。
nal_initial_cpb_removal_offset[i]指定NAL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。nal_initial_cpb_removal_offset[i]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值,nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]的总和应恒定。
vcl_initial_cpb_removal_delay[i]指定VCL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。vcl_initial_cpb_removal_delay[i]的长度是initial_cpb_removal_delay_length_minus1+1位。vcl_initial_cpb_removal_delay[i]的值应不等于0并且应小于或等于90000*(CpbSize[i]÷BitRate[i]),其为90kHz时钟单位下的CPB大小的时间等效物。
vcl_initial_cpb_removal_offset[i]指定VCL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。vcl_initial_cpb_removal_offset[i]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值,vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的总和应恒定。
参考表7和对应的语义,缓冲周期SEI消息发送信号通知NAL HRD和VCL HRD的初始CPB移除延迟。这通过用于NAL HRD的语法元素nal_initial_cpb_removal_delay[i]、nal_initial_cpb_removal_offset[i]和用于VCL HRD的语法元素vcl_initial_cpb_removal_delay[i]、vcl_initial_cpb_removal_offset[i]来实现。针对不同的HRD调度发送信号通知这些NAL和VCL HRD初始CPB移除延迟的数量(经由语法元素bp_cpb_cnt_minus1发送信号通知),并且允许基于所选择的HRD调度索引(SchedSelIdx)来选择适当的初始CPB移除延迟参数。然而,一个缓冲周期SEI消息仅发送信号通知特定HighestTid值的初始CPB移除延迟参数。由于比特流可以在不同的最高TemporalID值处操作,并且由于初始CPB移除延迟值对于具有不同时间子层数量的子比特流是不同的,因此发送信号通知不太理想,因为不允许在缓冲周期SEI消息中针对比特流的所有支持的不同HighestTid值发送信号通知初始CPB移除延迟。根据本文的技术,描述了允许针对比特流的所有支持的不同HighestTid值发送信号通知初始CPB移除延迟的缓冲周期SEI消息,并且基于所选择的HRD调度和所选择的最高时间子层数量能够适当选择初始CPB移除延迟参数。这允许用于发送信号通知初始CPB移除延迟参数的低开销参数。
在JVET-N1001中,发送信号通知HRD参数不太理想。具体地讲,在JVET-N1001中,当存在HRD参数时,针对每个时间子层发送信号通知HRD参数的相应实例。此类信令可能是低效的,因为在一些情况下,时间子层可共享公共HRD参数集。在其他情况下,需要针对每个时间子层发送信号通知HRD参数可能是麻烦的,因为这些参数需要使用相对复杂的公式来计算。根据本文所述的技术,提供了一种用于针对子层有条件地发送信号通知HRD参数的相应实例的机制。此外,还指定了不针对每个子层发送信号通知HRD参数的相应实例的情况的推断规则。
图1是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可以根据本公开的一种或多种技术来封装视频数据系统的示例。如图1所示,系统100包括源设备102、通信介质110和目标设备120。在图1所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码的视频数据传输到通信介质110的任何设备。目标设备120可以包括被配置为经由通信介质110接收编码视频数据并且对编码视频数据进行解码的任何设备。源设备102和/或目标设备120可以包括配备用于进行有线和/或无线通信的计算设备,并且可以包括例如机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、医学成像设备和移动设备(包括例如智能电话、蜂窝电话、个人游戏设备)。
通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合操作。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(DVB)标准、高级电视系统委员会(ATSC)标准、综合服务数字广播(ISDB)标准、有线数据业务接口规范(DOCSIS)标准、全球移动通信系统(GSM)标准、码分多址(CDMA)标准、第3代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、互联网协议(IP)标准、无线应用协议(WAP)标准以及电气与电子工程师协会(IEEE)标准。
存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存存储器、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储设备可以包括存储卡(例如,安全数字(SD)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。
图4是示出可以被包括在系统100的具体实施中的部件的示例的概念图。在图4所示的示例具体实施中,系统100包括一个或多个计算设备402A至402N、电视服务网络404、电视服务提供方站点406、广域网408、局域网410以及一个或多个内容提供方站点412A至412N。图4中所示的具体实施表示系统的示例,该系统可被配置为允许数字媒体内容(诸如电影、现场体育赛事等)和与其相关联的数据和应用程序以及媒体呈现被分发到多个计算设备(诸如计算设备402A至402N)并由该多个计算设备访问。在图4所示的示例中,计算设备402A至402N可以包括被配置为从电视服务网络404、广域网408和/或局域网410中的一者或多者接收数据的任何设备。例如,计算设备402A至402N可以配备用于有线和/或无线通信,并且可被配置为通过一个或多个数据信道接收服务,并且可以包括电视,包括所谓的智能电视、机顶盒和数字视频记录器。此外,计算设备402A至402N可以包括台式计算机、膝上型计算机或平板计算机、游戏控制台、移动设备(包括例如“智能”电话、蜂窝电话和个人游戏设备)。
电视服务网络404是被配置为使得能够分发可以包括电视服务的数字媒体内容的网络的示例。例如,电视服务网络404可以包括公共空中电视网络、公共或基于订阅的卫星电视服务提供方网络,以及公共或基于订阅的有线电视提供方网络和/或云上或互联网服务提供方。应当指出的是,尽管在一些示例中,电视服务网络404可以主要用于允许提供电视服务,但是电视服务网络404还可以根据本文所述的电信协议的任何组合允许提供其他类型的数据和服务。此外,应当指出的是,在一些示例中,电视服务网络404可以允许电视服务提供方站点406与计算设备402A至402N中的一个或多个之间的双向通信。电视服务网络404可以包括无线和/或有线通信媒体的任何组合。电视服务网络404可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。电视服务网络404可以根据一个或多个电信协议的组合操作。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括DVB标准、ATSC标准、ISDB标准、DTMB标准、DMB标准、有线数据服务接口规范(DOCSIS)标准、HbbTV标准、W3C标准和UPnP标准。
再次参考图4,电视服务提供方站点406可被配置为经由电视服务网络404分发电视服务。例如,电视服务提供方站点406可以包括一个或多个广播站、有线电视提供方或卫星电视提供方或基于互联网的电视提供方。例如,电视服务提供方站点406可被配置为通过卫星上行链路/下行链路接收传输(包括电视节目)。此外,如图4所示,电视服务提供方站点406可以与广域网408通信,并且可被配置为从内容提供方站点412A至412N接收数据。应当指出的是,在一些示例中,电视服务提供方站点406可以包括电视演播室,并且内容可以源自该电视演播室。
广域网408可以包括基于分组的网络,并且根据一个或多个电信协议的组合运营。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括全球系统移动通信(GSM)标准、码分多址(CDMA)标准、第3代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、欧洲标准(EN)、IP标准、无线应用协议(WAP)标准、以及电气与电子工程师协会(IEEE)标准,诸如,一个或多个IEEE 802标准(例如,Wi-Fi)。广域网408可以包括无线和/或有线通信媒体的任何组合。广域网408可以包括同轴电缆、光纤电缆、双绞线电缆、以太网电缆、无线发射器和接收器、路由器、交换机、中继器、基站、或可用于促进各种设备和站点之间的通信的任何其他设备。在一个示例中,广域网408可以包括互联网。局域网410可以包括基于分组的网络,并且根据一个或多个电信协议的组合运营。可以基于访问级别和/或物理基础设施将局域网410与广域网408区分开。例如,局域网410可以包括安全家庭网络。
再次参考图4,内容提供方站点412A至412N表示可以向电视服务提供方站点406和/或计算设备402A至402N提供多媒体内容的站点的示例。例如,内容提供方站点可以包括具有一个或多个工作室内容服务器的工作室,该工作室内容服务器被配置为向电视服务提供方站点406提供多媒体文件和/或流。在一个示例中,内容提供方站点412A至412N可被配置为使用IP套件提供多媒体内容。例如,内容提供方站点可被配置为根据实时流协议(RTSP)、HTTP等向接收器设备提供多媒体内容。此外,内容提供方站点412A至412N可被配置为通过广域网408向接收器设备402A至402N和/或电视服务提供方站点406中的一个或多个提供包括基于超文本的内容等的数据。内容提供方站点412A至412N可以包括一个或多个web服务器。可以根据数据格式来定义由数据提供方站点412A至412N提供的数据。
再次参考图1,源设备102包括视频源104、视频编码器106、数据封装器107和接口108。视频源104可以包括被配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可以包括被配置为接收视频数据并生成表示视频数据的兼容比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。合规比特流的各方面可根据视频编码标准来定义。当生成兼容比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(观察者可觉察的或不可觉察的)或无损的。图5是示出可实现本文所述的用于对视频数据进行编码的技术的视频编码器500的示例的框图。应当指出的是,尽管示例性视频编码器500被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器500和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器500的功能。
视频编码器500可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图5所示的示例中,视频编码器500接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可以包括宏块、CTU、CB、其子分区和/或另外的等效编码单元。在一些示例中,视频编码器500可被配置为执行源视频块的附加细分。应当指出的是,本文描述的技术通常适用于视频编码,而不管在编码之前和/或期间如何划分源视频数据。在图5所示的示例中,视频编码器500包括加法器502、变换系数生成器504、系数量化单元506、逆量化和变换系数处理单元508、加法器510、帧内预测处理单元512、帧间预测处理单元514、滤波器单元516和熵编码单元518。如图5所示,视频编码器500接收源视频块并输出比特流。
在图5所示的示例中,视频编码器500可以通过从源视频块中减去预测视频块来生成残差数据。下面详细描述了对预测视频块的选择。求和器502表示被配置为执行该减法运算的部件。在一个示例中,视频块的减法发生在像素域中。变换系数生成器504对残差块或其子分区应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)或概念上类似的变换(例如,可以将四个8×8变换应用于16×16残差值阵列)以产生残差变换系数集合。变换系数生成器504可以被配置为执行离散三角变换系列中包括的变换的任何和全部组合,包括其近似。变换系数生成器504可将变换系数输出到系数量化单元506。系数量化单元506可被配置为执行变换系数的量化。量化过程可以减少与一些或所有系数相关联的位深度。量化的程度可以改变编码的视频数据的率失真(即比特率与视频质量的关系)。量化的程度可以通过调整量化参数(QP)来修改。可以基于切片位阶值和/或CU位阶值(例如,CU增量QP值)来确定量化参数。QP数据可以包括用于确定用于量化特定变换系数集合的QP的任何数据。如图5所示,量化的变换系数(可被称为位阶值)被输出到逆量化和变换系数处理单元508。逆量化和变换系数处理单元508可被配置为应用逆量化和逆变换来生成重构的残差数据。如图5所示,在求和器510处,重构残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得重构视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器500可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一者或多者的同时执行编码)。比特流的率失真或其他系统参数可以基于重构视频块的评估来优化。此外,重构视频块可被存储并用作预测后续块的参考。
再次参考图5,帧内预测处理单元512可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元512可被配置为评估帧并且确定用以编码当前块的帧内预测模式。如上所述,可能的帧内预测模式可以包括平面预测模式、DC预测模式和角度预测模式。此外,应当指出的是,在一些示例中,可以根据亮度预测模式的预测模式来推断色度分量的预测模式。帧内预测处理单元512可在执行一个或多个编码回合之后选择帧内预测模式。此外,在一个示例中,帧内预测处理单元512可以基于率失真分析来选择预测模式。如图5所示,帧内预测处理单元512将帧内预测数据(例如,语法元素)输出到熵编码单元518和变换系数生成器504。如上所述,对残差数据执行的变换可以是模式相关的(例如,可以基于预测模式确定二次变换矩阵)。
再次参考图5,帧间预测处理单元514可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元514可被配置为接收源视频块并且计算视频块的PU的运动矢量。运动矢量可以指示当前视频帧内的视频块的PU相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动矢量)或双向预测(使用两个运动矢量)。帧间预测处理单元514可被配置为通过计算由例如绝对差之和(SAD)、平方差之和(SSD)或其他差值度量确定的像素差来选择预测块。如上所述,可以根据运动矢量预测来确定和指定运动矢量。如上所述,帧间预测处理单元514可被配置为执行运动矢量预测。帧间预测处理单元514可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元514可定位帧缓冲器内的预测视频块(图5中未示出)。应当指出的是,帧间预测处理单元514可以进一步被配置为将一个或多个内插滤波器应用于重构残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元514可将所计算的运动矢量的运动预测数据输出到熵编码单元518。
如图5所示,滤波器单元516接收重构的视频块和编码参数,并且输出已修改的重构视频数据。滤波器单元516可被配置为执行解块和/或样本自适应偏移(SAO)滤波。SAO滤波是一种可用于通过向重构视频数据添加偏移以改善重构的非线性振幅映射。应当指出的是,如图5所示,帧内预测处理单元512和帧间预测处理单元514可以经由滤波器单元216接收修改的重构视频块。熵编码单元518接收量化的变换系数和预测语法数据(即,帧内预测数据和运动预测数据)。应当指出的是,在一些示例中,系数量化单元506可以在将系数输出到熵编码单元518之前执行对包括量化变换系数的矩阵的扫描。在其他示例中,熵编码单元518可执行扫描。熵编码单元518可以被配置为根据本文所述的技术中的一种或多种技术执行熵编码。这样,视频编码器500表示被配置为根据本公开的一种或多种技术生成编码视频数据的设备的示例。
再次参考图1,数据封装器107可以接收编码视频数据,并根据定义的数据结构生成兼容比特流,例如,NAL单元序列。接收兼容比特流的设备可以从其再现视频数据。此外,如上所述,子比特流提取可以指通过丢弃和/或修改接收的比特流中的数据,接收符合ITU-T H.265的比特流的设备形成新的符合ITU-T H.265的比特流的过程。应当指出的是,可以使用术语符合性比特流来代替术语兼容比特流。在一个示例中,数据封装器107可被配置为根据本文所述的一种或多种技术生成语法。应当指出的是,数据封装器107不必要位于与视频编码器106相同的物理设备中。例如,被描述为由视频编码器106和数据封装器107执行的功能可以分布在图4所示的设备中。
如上所述,在JVET-N1001中,发送信号通知HRD参数不太理想。根据本文的技术,发送信号通知时间子层的HRD参数由标记控制。也就是说,在一个示例中,根据本文的技术,通过标记控制是针对每个时间子层发送信号通知相应HRD参数还是针对所有时间子层发送信号通知HRD参数的单个实例。在针对所有时间子层发送信号通知HRD参数的单个实例的情况下,针对每个时间子层推断特定HRD参数。
表8示出了可根据本文的技术发送信号通知的序列参数集的语法的示例。
表8
关于表8,语义可基于上面关于表3为语法元素sub_layer_cpb_parameters_present_flag提供的语义,在一个示例中,可使用以下语义:
sub_layer_cpb_parameters_present_flag等于1指定语法结构hrdjparameters()包括用于在0至spsmax_sub_layers_minus1的范围内(包括端值)的时间子层的参数(sub_layer_hrd_parameters(i),其中i在0至spsmax_sub_layers_minus1的范围内(包括端值))。sub_layer_cpb_parameters_present_flag等于0指定语法结构hrd_parameters()包括仅用于第sps_max_sub_layers_minus1个时间子层的参数。
在另一个示例中,可使用以下语义:
sub_layer_cpb_parameters_present_flag等于1指定语法结构hrd_parameters()包括用于在0至sps_max_sub_layers_minus1的范围内(包括端值)的时间子层的参数(sub_layer_hrd_parametcrs(i),其中i在0至sps_max_sub_layers_minus1的范围内(包括端值))。sub_layer_cpb_parameters_present_flag等于0指定语法结构hrd_parameters()包括仅用于sub_jayer_hrd_parameters(sps_max_sub_layers_minnus)的参数,并且这些参数应用于所有子层。
在一个示例中,可以将一次或多次出现的字词“用于时间子层的参数”更改为字词“用于时间子层表示的参数”,并且可以将字词“仅用于sub_layer_hrd_parameters(sps_max_sub_layers_minus)的参数”更改为字词“仅用于最高时间子层表示的参数”。
表9示出了可根据本文的技术发送信号通知的HRD语法结构的示例。
表9
关于表9,语义可基于上面关于表4提供的语义。
关于上表6,在一个示例中,根据本文的技术,语义可基于以下语义:
将变量CpbCnt设定为等于vui_cpb_cnt_minus1[subLayerId]。
bit_rate_value_minus1[i](与bit_rate_scale一起)指定当CPB在访问单元级操作时,第i个CPB的最大输入比特率。bit_rate_value_minus1[i]应在0至232-2的范围内(包括端值)。对于任何i>0,bit rate value_minus1[i]应大于bitjrate_value_minus1[i-1]。
以每秒比特数为单位的比特率如下给出:
BitRate[i]=(bit_rate_value_minus 1[i]+1)*2(6+bit_rate_scale)
当bit_ratevalue_minus1[i]语法元素不存在时,
·如果bit rate_value_minus1[sps_max_sub_layers_minus1]存在,则推断BitRate[i]的值等于BitRate[sps_max_sub_layers_minus1]。
·否则,推断BitRate[i]的值对于VCL HRD参数等于CpbBrVclFactor*MaxBR,并且对于NAL HRD参数等于CpbBrNalFactor*MaxBR,其中MaxBR、CpbBrVclFactor和CpbBrNalFactor如下所提供的那样指定。]
cpb_size_value_minus1[i]与cpb_size_scale一起使用以指定当CPB在访问单元级别操作时,第i个CPB大小。cpb_size valuc_minus1[i]应在0至232-2的范围内(包括端值)。对于任何i大于0,cpb_size_value_minus1[i]应小于或等于cpb_size_value_minus1[i-1]。
CPB大小,单位为位,由下式给出:
CpbSize[i]=(cpb_size_value_minus1[i]+1)*2(4+cpb_size_scale)
当cpb_size_value_minus1[i]语法元素不存在时,
·如果cpb_size_value_minus1[sps_max_sub_layers_minus1]存在,则推断CpbSize[i]的值等于CpbSize[sps_max_sub_layers_minus1]。
·否则,推断CpbSize[i]的值对于VCL HRD参数等于CpbBrVclFactor*MaxCPB,并且对于NAL HRD参数等于CpbBrNalFactor*MaxCPB,其中MaxCPB、CpbBrVclFactor和CpbBrNalFactor如下所提供的那样指定。
cbr_flag[i]等于0指定为了由HRD使用第i个CPB规范解码该比特流,假想流调度器(HSS)在间歇比特率模式中操作。cbr_flag[i]等于1指定HSS在恒定比特率(CBR)模式中操作。当不存在时,
·如果cbr_flag[sps_max_sub_layers_minus1]存在,则推断cbr_flag[i]的值等于cbr_flag[sps_max_sub_layers_minus1]。
·推断cbr_flag[i]的值等于0。
在另一个示例中,当不存在时,推断cbr_flag[i]的值等于0。
如关于表8和表9以及更新的语义表6所提供的,根据本文的技术,循环(i=start-NumSubLayers;i<=maxNumSubLayersMinus1;i++){…}的迭代次数为一或maxNumSubLayersMinus1+1。因此,与JVET-N1001相比,用于发送信号通知HRD参数的数据量可减少。
在一个变型示例中,根据本文的技术,JVET-N1001中的现有标记(而不是新标记)可用于控制是针对每个时间子层还是仅针对所有时间子层发送信号通知HRD CPB参数。在针对所有时间子层发送信号通知HRD CPB参数的情况下,针对每个时间子层推断HRD CPB参数。例如,可使用在SPS中发送信号通知的标记sps_sub_layer_ordering_info_present_flag来代替新标记sub_layer_cpb_parameters_present_flag。在这种情况下,在一个示例中,sps_sub_layer_ordering_info_present_flag的语义可以如下:
sps_sub_layer_ordering_info_present_flag等于1指定对于sps__max_sub_layers_minus1+1个子层存在sps_max_dec_pic_buffering_minus1[i]、sps_max_num_reorder_pics[i]和sps_max_latency_increase_plus1[i],并且语法结构hrd_parameters()包括用于在0至sps_max_sub_layers_minus1的范围内(包括端值)的时间子层的参数(sub_layer_hrd_parameters(i),其中i在0至sps_max_sub_layers_minus1的范围内(包括端值))。sps_sub_layer_ordering_info_present_flag等于0指定sps_max_dec_pic_buffering_minus1[spsmax_sub_layers_minus1]、sps_max_num_reorder_pics[sps_max_sub_layers_minus1]和sps__max_latency_increase_plusl[sps_max_sub_layers_minus1]的值应用于所有子层,并且同样地语法结构hrd_parameters()包括仅用于sub_layer_hrd_paramcters(sps_max_sub_layers_minus)的参数,并且这些参数应用于所有子层。
如上所述,JVET-N1001不定义用于指定MaxBR、CpbBrVclFactor和CpbBrNalFactor的附录A。在一个示例中,根据本文的技术,MaxBR、CpbBrVclFactor和CpbBrNalFactor可如下定义:
-使变量CpbBrVclFactor等于1000。
-使变量CpbBrNalFactor等于1100。
-MaxBR可以如下表10中指定为级别的函数。
Main配置文件和Main 10配置文件的层和级别限制
表10
如上所述,JVET-N1001中的缓冲周期SEI消息不太理想。在一个示例中,根据本文的技术,标记用于指定是否可发送信号通知不同最高时间子层表示相关的初始CPB移除延迟值。此外,在一个示例中,如果标记是1,则针对比特流支持的不同最高时间子层发送信号通知初始CPB移除延迟值。此外,基于HighestTid来修改编码图片缓冲器的操作以使用适当的初始缓冲延迟参数。另外,每个时间子层表示的BitRate和CpbSize值可单独地计算。
表11示出了可根据本文的技术发送信号通知的缓冲周期SEI消息语法结构的示例。
表11
关于表11,语义可基于上文关于表7为语法元素bp_nal_hrd_parameters_present_flag、bp_vcl_hrd_parameters_present_flag、initial_cpb_removal_delay_length_minus1、bp_cpb_ent_minus1[j]、nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j]、vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]提供的语义,在一个示例中,语义可基于以下:
bp_nal_hrd_parameters_resent_flag等于1指定缓冲周期SEI消息中存在语法元素对nal_initial_cpb_removal_delay[i][j]和nal_initial_cpb_removal_offset[i][j]的列表。bp_nal_hrd_parameters_present_flag等于0指定缓冲周期SEI消息中不存在语法元素对nal_initial_cpb_removal_delay[i][j]和nal_initial_cpb_removal_offset[i][j]。
比特流符合性要求,与访问单元相关联的缓冲周期SEI消息中的bp_nal_hrd_parameters_present_flag的值等于活动SPS的VUI参数中的vui_nal_hrd_parameters_present_flag的值。
bp_vcl_hrd_parameters_present_flag等于1指定缓冲周期SEI消息中存在语法元素对vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]的列表。bp_vcl_hrd_parameters_present_flag等于0指定缓冲周期SEI消息中不存在语法元素对vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]。
比特流符合性要求,与访问单元相关联的缓冲周期SEI消息中的bp_vcl_hrd_parameters_present_flag的值等于活动SPS的VUI参数中的vui_vcl_hrd_parameters_present_flag的值。
initial_cpb_removal_delay_length_minus1加1指定缓冲周期SEI消息的语法元素nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j]、vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]的长度,单位为位。
当不存在时,推断initial_cpb_removal_delay_length_minus1的值等于23。
bp_cpb_cnt_minus1[j]加1指定当bp_nal_hrd_parameters_present_flag等于1时,用于第j个时间子层表示的语法元素对nal_initial_cpb_removal_delay[i][j]和nal_initial_cpb_removal_offset[i][j]的数量,并且指定当bp_vcl_hrd_paraineters_presenl_flag等于1时,用于第j个时间子层表示的语法元素对vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]的数量。bp_cpb_cnt_minus1[j]的值应在0至31的范围内(包括端值)。
nal_initial_cpb_removal_delay[i][j]指定对于第j个时间子层表示,NALHRD的第i个初始CPB移除延迟,单位为90kHz时钟。nal_initial_cpb_removal_delay[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。nal_initial_cpb_removal_delay[i][j]的值应不等于0并且应小于或等于90000*(CpbSize[i]4-BitRate[i]),其为90kHz时钟单位下的CPB大小的时间等效物,其中BitRate[i]、CpbSize[i]分别通过将HighestTid值设定为等于j而从上面提供的公式获得。
nal_initial_cpb_removal_offset[i][j]指定对于第j个时间子层表示,NAL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。nal_initial_cpb_removal_offset[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值并且对于j的每个值,nal_initial_cpb_removal_delay[i][j]和nal_initial_cpb_removal_offset[i][j]的总和应恒定。
vcl_initial_cpb_removal_delay[i][j]指定对于第j个时间子层表示,VCL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。vcl_initial_cpb_removal_delay[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。vcl_initial_cpb_removal_delay[i][j]的值应不等于0并且应小于或等于90000*(CpbSize[i]+BitRate[i]),其为90kHz时钟单位下的CPB大小的时间等效物,其中BitRate[i]、CpbSize[i]分别通过将HighestTid值设定为等于j而从上面提供的公式获得。
vcl_initial_cpb_removal_offset[i][j]指定对于第j个时间子层表示,VCLHRD的第i个初始CPB移除偏移,单位为90kHz时钟。vcl_initial_cpb_removal_offset[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值并且对于j的每个值,vcl_initial_cpb_removal_delay[i][j]和vcl_initial_cpb_removal_offset[i][j]的总和应恒定。
应当指出的是,在一个示例中,术语“用于第j个时间子层表示的”可替换为术语“应用于等于j的HighestTid的”。
此外,在一个示例中,发送信号通知标记,并且根据标记值,仅针对整个比特流/CVS发送信号通知初始CPB移除延迟,或者针对比特流/CVS的每个时间子层表示发送信号通知初始CPB移除延迟。表12示出了可根据该示例发送信号通知的缓冲周期SEI消息语法结构的示例。
表12
关于表12,语义可基于上面关于表11为语法元素sub_layer_initial_cpb_removal_delay_present_flag提供的语义,在一个示例中,语义可基于以下:
sub_layer_initial_cpb_removal_delay_present_flag等于1指定针对在0至sps_max_sub_layers_minus1的范围内(包括端值)的时间子层表示,存在初始CPB移除延迟相关的语法元素(即,当bp_nal_hrd_parameters_present_flag等于1时,存在nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j],并且当bpvcl_hrd_parameters_present_flag等于1时,存在vcl_initial_cpb_removal_delay[i][j]、vcl_initial_cpb_removal_offset[i][j])。sub_layer_initial_cpb_removal_delay_present_flag等于0指定仅针对第sps_max_sub_layers_minus1个时间子层表示,存在初始CPB移除延迟相关的语法元素(即,当bp_nal_hrd_parameters_present_flag等于1时,存在nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j],并且当bp_vcl_hrd_parameters_present_flag等于1时,存在vcl_initial_cpb_removal_delay[i][j]、vcl_imtial_cpb_removal_offset[i][j])。
在一个示例中,术语“在0至sps_max_sub_layers_minus1的范围内(包括端值)的时间子层表示”可替换为术语“在0至HighestTid的范围内(包括端值)的时间子层表示”,或“在TemporalId至sps_max_sub_layers_minus1的范围内(包括端值)的时间子层表示”,或“在TemporalId至HighestTid的范围内(包括端值)的时间子层表示”。
此外,关于表11和表12,在一个示例中,可以对语法进行以下修改中的一个或多个修改:
循环
for(j=0;j<=sps_max_sub_layers_minus1;j++)
可替换为循环
for(j=0;j<=HighestTid;j++);
循环
for(j=(sub_layer_initial_cpb_removal_delay_present_flag?0:
sps_max_sub_layers_minus1);j<=sps_max_mb_layers_minus1;j++)
可替换为循环
for(j=(sub_layer_initial_cpb_removal_delay_present_flag?0:HighestTid);j<=HighestTid;j++);
循环
for(j=0;j<=sps_max_sub_layers_minus1;j++)
可替换为循环
for(j=TemporalId;j<=sps_max_sub_layers_minus1;j++);
循环
for(j=(sub_layer_initial_cpb_removal_delay_present_flag?0:sps_max_sub_layers_minus1);j<=sps_max_sub_layers_minus1;J++)可替换为循环
for(j=(sub_layer_imtial_cpb_removal_delay_present_flag?TemporalId:sps_max__sub_layers_minus1);j<=HighestTid;j++);
循环
for(j=0;j<=sps_max_sub_layers_minus1;j++)
可替换为循环
for(j=TemporalId;j<=HighestTid;j++);并且/或者
循环
for(j=(sub_layer_initial_cpb_removal_delay_present_flag?0:sps_max_sub_layers_minus1);j<=sps_max_sub_layers_minus1;J++)可替换为循环
for(j=(sub_layer_initial_cpb_removal_delay_prescnt_flag?TemporalId:
HighestTid);j<=HighestTid;j++)
在一个示例中,根据本文的技术,提供初始CPB移除延迟和初始CPB移除延迟偏移的变量InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset[SchedSelIdx]可如下导出:
-InitCpbRemovaIDelay[SchedSelIdx]和InitCpbRemovalDelayOffset[SchedSelIdx]被设定为:当NalHrdModeFlag等于1时,分别等于缓冲周期SEI消息语法元素nal_initial_cpb_removal_delay[SchedSelIdx][HighestTid]和nal_initial_cpb_removal_offset[SchedSelIdx][HighestTid]的值,或者当NalHrdModeFlag等于0时,分别等于vcl_initial_cpb__removal_delay[SchedSelIdx][HighestTid]和vcl_initial_cpb_removal_offset[SchedSelIdx][HighestTid]的值,其中缓冲周期SEI消息语法元素如下选择:
对于从访问单元0开始的BitstreamToDecode中的每个访问单元,选择与访问单元相关联并应用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可用),并且选择与访问单元相关联并应用于TargetOp的图片定时SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可用)。所选择的缓冲周期和图片定时SEI消息应为SEI消息或通过外部方式提供。
在一个示例中,根据本文的技术,提供初始CPB移除延迟和初始CPB移除延迟偏移的变量InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset[SchedSelIdx]可如下导出:
-InitCpbRemovalDelay[SchedSelIdx]和InitCpbRemovalDelayOffset[SchedSelIdx]被设定为:当NalHrdModeFlag等于1时,分别等于缓冲周期SEI消息语法元素nal_initial_cpb_removal_delay[SchedSelIdx][HighestTid]和nal_initial_cpb_removal_offset[SchedSelIdx][HighestTid]的值,或者当NalHrdModeFlag等于0时,分别等于vcl_initial_cpb_removal_delay[SchedSelIdx][HighestTid]和vcl_initial_cpb_removal_offset[SchedSelIdx][HighestTid]的值,其中包含语法元素的缓冲周期SEI消息如下选择:
对于从访问单元0开始的BitstreamToDecode中的每个访问单元,选择与访问单元相关联并应用于TargetOp的缓冲周期SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可用),并且选择与访问单元相关联并应用于TargetOp的图片定时SEI消息(存在于BitstreamToDecode中或通过本说明书中未指定的外部方式可用)。所选择的缓冲周期和图片定时SEI消息应为SEI消息或通过外部方式提供。
此外,在一个实例中,根据本文的技术,每个时间子层表示的BitRate和CpbSize值可单独地计算,并保持单独跟踪,并在操作期间使用适当的变量值。目前,在JVET-N1001没有这种变化的情况下,当BitRate和CpbSize值用于不同的HighestTid值时,存在一定程度的不明确性。据断言,下文提出的更改使规范文本明确。
表13示出了可根据该示例发送信号通知的sub_layer_hrd_parameters()语法结构的示例。
表13
关于表13,在一个示例中,以下语义可用于sub_layer_hrd_parameters()语法结构:
将变量CpbCnt设定为等于vui_cpb_cnt_minus1[subLayerId]。
bit_rate_value_minus1[i][subLayerId](与bit_rate_scale一起)指定当CPB在访问单元级操作时,第i个CPB的最大输入比特率,其中HighestTid等于subLayerId。bit_rate_value_minus1[i][subLayerId]应在0至232-2的范围内(包括端值)。对于任何i>0,bit_rate_value_minus1[i][subLayerId]应大于bit_rate_value_minus1[i-1][subLayerId]。
以每秒比特数为单位的比特率如下给出:
BitRate[i][subLayerId]=(bit_rate_value_minus1[i][subLayerId]+1)*2(6 +bit_rate_scale)
当bit_rate_value_minus1[i][subLayerId]语法元素不存在时,推断BitRate[i][subLayerId]的值对于VCL HRD参数等于CpbBrVclFactor*MaxBR,并且对于NAL HRD参数等于CpbBrNalFactor*MaxBR,其中MaxBR、CpbBrVclFactor和CpbBrNalFactor被指定为例如如上所提供]。
cpb_size_value_minus1[i][subLayerId]与cpb_size_scale一起使用以指定当CPB在访问单元级别操作时,第i个CPB大小,其中HighestTid等于subLayerId。cpb_size_value_minus1[i][subLayerId]应在0至232-2的范围内(包括端值)。对于任何i大于0,cpb_size_value_minus1[i][subLayerId]应小于或等于cpb_size__value_minus1[i-1][subLayerId]。
CPB大小,单位为位,由下式给出:
CpbSize[i][subLayerId]=(cpb_size_value_minus1[i][subLayerId]+1)*2(4 +cpb_size_scale)
当cpb_size_value__minus1[i][subLayerId]语法元素不存在时,推断CpbSize[i][subLayerId]的值对于VCL HRD参数等于CpbBrVclFactor*MaxCPB,并且对于NAL HRD参数等于CpbBrNalF actor*MaxCPB,其中MaxCPB、CpbBrVclFactor和CpbBrNalFactor被指定为例如如上所提供。]
cbr_flag[i][subLayerId]等于0指定为了由HRD使用第i个CPB规范解码该比特流,假想流调度器(HSS)在间歇比特率模式中操作,其中HighestTid等于subLayerId。cbr_flag[i][subLayerId]等于1指定HSS在恒定比特率(CBR)模式中操作,其中HighestTid等于subLayerId。当不存在时,推断cbr_flag[i][subLayerId]的值等于0。
此外,对于hrd_parameters()语法结构中的语法元素bit_rate_scale和cpb_size_scale,在一个示例中,语义可基于以下:
Bit_rate_scale(与bit_rate_value_minus1[i][subLayerId]一起)指定第i个CPB的最大输入比特率。
Cpb_size_scale(与cpb_size_value_minus1[i][subLayerId]一起)指定当CPB在访问单元级操作时,第i个CPB的CPB大小。
此外,对于缓冲周期SEI消息语法结构中的语法元素nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j]和vcl_initial_cpb_removal_delay[i][j],在一个示例中,语义可基于以下:
nal_initial_cpb_removal_delay[i][j]指定对于第j个时间子层表示,NAL HRB的第i个初始CPB移除延迟,单位为90kHz时钟。nal_initial_cpb_removal_delay[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。nal_initial_cpb_removal_delay[i][j]的值应不等于0并且应小于或等于90000*(CpbSize[i][j]+BitRate[i][j]),其为90kHz时钟单位下的CPB大小的时间等效物。
nal_initial_cpb_removal_offset[i][j]指定对于第j个时间子层表示,NAL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。nal_initial_cpb_removal_offset[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值并且对于j的每个值,nal_initial_cpb_removal_delay[i][j]和nal_initial_cpb_removal_offset[i][j]的总和应恒定。
vcl_initial_cpb_removal_delay[i][j]指定对于第j个时间子层表示,VCL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。vcl_initial_cpb_removal_delay[i][j]的长度是initial_cpb_removal_delay_length_minus1+1位。vcl_initial_cpb_removal_delay[i][j]的值应不等于0并且应小于或等于90000*(CpbSize[i][j]÷BitRate[i][j]),其为90kHz时钟单位下的CPB大小的时间等效物。
在另一个示例中,对于缓冲周期SEI消息语法结构中的语法元素nal_initial_cpb_removal_delay[i][j]、nal_initial_cpb_removal_offset[i][j]和vcl_initial_cpb_removal_delay[i][j],语义可基于以下:
bp_cpb_cnt_minus1加1指定当bp_nal_hrd-parameters_present_flag等于1时语法元素对nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]的数量,并且指定当bp_vcl_hrd_parameters_present_flag等于1时语法元素对vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的数量。bp_cpb_cnt_minus1的值应在0至31的范围内(包括端值)。
nal_initial_cpb_removal_delay[i]指定NAL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。nal_initial_cpb_removal_delay[i]的长度是initial_cpb_removal_delay_length_minus1+1位。nal_initial_cpb_removal_delay[i]的值应不等于0并且应小于或等于90000*(CpbSize[i][HighestTid]÷BitRate[i][HighestTid]),其为90kHz时钟单位下的CPB大小的时间等效物。
nal_initial_cpb_removal_offset[i]指定NAL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。nal_initial_cpb_removal_offset[i]的长度是initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值,nal_initial_cpb_removal_delay[i]和nal_initial_cpb_removal_offset[i]的总和应恒定。
vcl_initial_cpb_removal_delay[i]指定VCL HRD的第i个初始CPB移除延迟,单位为90kHz时钟。vcl_initial_cpb_removal_delay[i]的长度是initialcpb_removal_delay_length_minus1+1位。vcl_initial_cpb_removal_delay[i]的值应不等于0并且应小于或等于90000*(CpbSize[i][HighestTid]÷BitRate[i][HighestTid]),其为90kHz时钟单位下的CPB大小的时间等效物。
vcl_initial_cpb_removal_offset[i]指定VCL HRD的第i个初始CPB移除偏移,单位为90kHz时钟。vcl_initial_cpb_removal_offset[i]的长度是vcl_initial_cpb_removal_delay_length_minus1+1位。
在整个CVS上,对于i的每个值,vcl_initial_cpb_removal_delay[i]和vcl_initial_cpb_removal_offset[i]的总和应恒定。
此外,在一个示例中,根据本文的技术,访问单元m的最终到达时间可如下导出:
FinalArrivalTime[m]=initArrivalTime[m]+sizelnbits[m]÷BitRate[SchedSelIdx][HighestTid]
其中sizelnbits[m]是访问单元m的位的大小,计数用于I型符合性点的VCL NAL单元和填充数据NAL单元的位或用于II型符合性点的II型比特流的所有位。
此外,在一个示例中,根据本文的技术,SchedSelIdx、BitRate[SchedSelIdx][HighestTid]和CpbSize[SchedSelIdx][HighestTid]的值可被约束为如下:
-如果包含访问单元m的访问单元与先前访问单元的所选hrd_parameters()语法结构不同,则HSS从包含访问单元m的访问单元的所选hrd_parameters()语法结构中提供的SchedSelIdx值中选择SchedSelIdx的值SchedSelIdx 1,该值产生用于包含访问单元m的访问单元的BitRate[SchedSelIdx1][HighestTid]或CpbSize[SchedSelIdx1][HighestTid]。BitRate[SchedSelIdx1][HighestTid]或CpbSize[SchedSelIdx1][HighestTid]的值可不同于用于先前访问单元的SchedSelIdx的值为SchedSelIdx0的BitRate[SchedSelIdx0][HighestTid]或CpbSize[SchedSelIdx0][HighestTid]的值。
-否则,HSS继续以SchedSelIdx、BitRate[SchedSelIdx][HighestTid]和CpbSize[SchedSelIdx][HighestTid]的先前值操作。
当HSS选择BitRate[SchedSelIdx][HighestTid]或CpbSize[SchedSelIdx][HighestTid]的址,不同于先前访问单元的这些值时,以下适用:
-变量BitRate[SchedSelIdx][HighestTid]在当前访问单元的初始CPB到达时间处生效。
-变量CpbSize[SchedSelIdx][HighestTid]如下生效:
-如果CpbSize[SchedSelIdx][HighestTid]的新值大于旧CPB大小,则该变量在当前访问单元的初始CPB到达时间处生效。
-否则,CpbSize[SchedSelIdx][HighestTid]的新值在当前访问单元的CPB移除时间处生效。
此外,在一个示例中,根据本文的技术,当HRD参数和缓冲周期SEI消息在vui_cpb_cnt_minus1[HighestTid]大于0时存在,解码器应能够使用的“内插”递送调度来解码从HSS操作递送的比特流,该“内插”递送调度被指定为具有峰值比特率r、CPB大小c(r)和初始CPB移除延迟(f(r)÷r),如下所述:
α={r-BitRate[SchedSelIdx-1][HighestTid])÷(BitRate[SchedSelIdx][HighestTid]-BitRate[SchedSelIdx-1][HighestTid]),
c(r)=α*CpbSize[SchedSelIdx][HighestTid]+(1-α)*CpbSize[SchedSelIdx-1][HighestTid],
f(r)=α*InitCpbRemovalDelay[SchedSelIdx]*BitRate[SchedSelIdx][HighestTid]+(1-α)*InitCpbRemovalDelay[SchedSelIdx-1]*BitRate[SchedSelIdx-1][HighestTid]
对于任何SchedSelIdx>0并且使得BitRate[SchedSelIdx-1][HighestTid]<=r<=BitRate[SchedSelIdx][HighestTid]的r,使得对于指定的配置文件、层和级别的最大比特率和缓冲器大小,r和c(r)在例如关于表10指定的限制内。
参考表3,应当指出的是,语法元素num_units_in_tick和time_scale用于导出用于HRD操作的变量ClockTick。因此,发送信号通知这两个语法元素但不发送信号通知HRD参数(hrd_parameters)并无意义。在一个示例中,根据本文的技术,可基于hrd_parameters_present_flag有条件地发送信号通知语法元素num_units_in_tick和time_scale,这提供了语法的简化并提高了编码效率。表14示出了可根据本文的技术发送信号通知的序列参数集的语法的示例。
表14
关于表14,语义可基于上面关于表3为语法元素hrd_parameters_present_flag提供的语义,在一个示例中,可使用以下语义:
hrd_parameters_present_flag等于1指定在SPS RBSP语法结构中存在语法元素num_units_in tick、time scale和语法结构hrd_parameters()。hrd_parameters_present_flag等于0指定在SPS RBSP语法结构中不存在语法元素num_units_in_tick、time_scale和语法结构hrd_parameters()。
应当指出的是,在一个示例中,标记hrd_parameters_present_flag可被称为hrd_and_timing_info_parameters_present_flag或hrd_timing_parameters_present_flag或hrd_and_timing_parameters_present_flag。
此外,应当指出的是,对于语法元素num_units_in_tick和time_scale中的每一者,值0无意义并且不被允许。根据本文的技术,在一个示例中,语法元素num_units_in_tick和time_scale中的一者或两者可使用减一编码来编码。根据本文的技术,上表中的num_units_in_tick和/或time_scale的实例可替换为具有基于以下语义的语法元素num_units_in_tick_minus1和/或time_scale_minus1:
Num_units_in_tick_minus1加1是以频率time_scale Hz工作的时钟的时间单位数,该频率对应于时钟节拍计数器的一个增量(称为时钟节拍)。以秒为单位的时钟节拍等于num_units_in_tick除以time_scale的商。例如,当视频信号的图片率为25Hz时,time_scale可等于27,000,000并且num_units_in_tick可等于1,080,000,并且因此时钟节拍可等于0.04秒。
Time_scale_minus1加1是一秒钟内经过的时间单位数。例如,使用27MHz时钟测量时间的时间坐标系的time_scale为27,000,000。
在一个示例中,利用上述技术,相关参数的语法可以如表15所示。
表15
这样,源设备102表示设备的示例,该设备被配置为:发送信号通知标记,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例。
再次参考图1,接口108可以包括被配置为接收由数据封装器107生成的数据并且将数据传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以使文件能够存储在存储设备上。例如,接口108可以包括支持外围部件互连(PCI)和高速外围部件互连(PCIe)总线协议、专用总线协议、通用串行总线(USB)协议、I2C的芯片组、或可用于互连对等设备的任何其他逻辑和物理结构。
再次参考图1,目标设备120包括接口122、数据解封装器123、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收数据的任何设备。接口122可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括允许从存储设备检索兼容视频比特流的计算机系统接口。例如,接口122可以包括支持PCI和PCIe总线协议、专用总线协议、USB协议、I2C的芯片组,或者可用于互连对等设备的任何其他逻辑和物理结构。数据解封装器123可被配置为接收和解析本文所述的任何示例语法结构。
视频解码器124可以包括被配置为接收比特流(例如,子比特流提取)和/或其可接受变体且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另外的类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,尽管在图1所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可以被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。
图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图(例如,用于上述参考图片列表构建的解码过程)。在一个示例中,视频解码器600可被配置为对变换数据进行解码并基于解码的变换数据从变换系数重构残差数据。视频解码器600可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。视频解码器600可被配置为解析上面在表1至表15中所述的语法元素的任何组合。视频解码器600可基于或根据上述过程解码图片。
在图6所示的示例中,视频解码器600包括熵解码单元602、逆量化单元和变换系数处理单元604、帧内预测处理单元606、帧间预测处理单元608、加法器610、后置滤波器单元612和参考缓冲器614。视频解码器600可被配置为以与视频编码系统一致的方式对视频数据进行解码。应当指出的是,尽管示出的示例性视频解码器600具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器600和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器600的功能。
如图6所示,熵解码单元602接收熵编码的比特流。熵解码单元602可被配置为根据与熵编码过程互逆的过程从比特流中解码语法元素和量化系数。熵解码单元602可被配置为根据上文所述的任何熵编码技术来执行熵解码。熵解码单元602可以与视频编码标准一致的方式确定编码的比特流中的语法元素的值。如图6所示,熵解码单元602可以从比特流确定量化参数、量化系数值、变换数据和预测数据。在该示例中,如图6所示,逆量化单元和变换系数处理单元604从熵解码单元602接收量化参数、量化系数值、变换数据和预测数据,并输出重构的残差数据。
再次参考图6,可以将重构的残差数据提供给加法器610。加法器610可以将重构的残差数据添加到预测视频块并生成重构的视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。帧内预测处理单元606可被配置为接收帧内预测语法元素并且从参考缓冲器614检索预测视频块。参考缓冲器614可以包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。帧间预测处理单元608可接收帧间预测语法元素并生成运动矢量,以识别存储在参考缓冲器616中的一个或多个参考帧中的预测块。帧间预测处理单元608可以生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以包括在语法元素中。帧间预测处理单元608可以使用内插滤波器来计算参考块的子整数像素的内插值。后置滤波器单元614可被配置为对重构的视频数据执行滤波。例如,后置滤波器单元614可被配置为执行解块和/或样本自适应偏移(SAO)滤波,例如基于在比特流中指定的参数。此外,应当指出的是,在一些示例中,后置滤波器单元614可被配置为执行专用的任意滤波(例如,视觉增强,诸如蚊状噪声消除)。如图6所示,视频解码器600可以输出重构的视频块。这样,视频解码器600表示设备的示例该设备被配置为:解析标记,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例。
在一个或多个示例中,所述功能可以通过硬件、软件、固件或它们的任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可以对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
以举例而非限制的方式,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器、或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。
可以由一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种设备或装置包括无线手机、集成电路(IC)或IC集(例如,芯片集)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。
此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实现或执行。被设计为执行本说明书中所述的功能的电路可以包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、分立栅极或晶体管逻辑器或分立硬件部件或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。
已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
<发明内容>
在一个示例中,一种发送信号通知用于对视频数据进行解码的假想参考解码器(HRD)参数的方法,该方法包括:发送信号通知标记,其中该标记的值指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值发送信号通知HRD参数的多个实例。
在一个示例中,一种对视频数据进行解码的方法,该方法包括:解析标记,该标记指示是针对视频数据的每个时间子层发送信号通知HRD参数的相应实例还是针对视频数据的所有时间子层发送信号通知HRD参数的单个实例;以及根据视频数据的时间子层数量和该标记的值解析HRD参数的多个实例。
在一个示例中,提供了一种方法,其中标记包括在序列参数集中。
在一个示例中,一种设备,该设备包括被配置为执行步骤的任意和全部组合的一个或多个处理器。
在一个示例中,提供了一种设备,其中该设备包括视频编码器。
在一个示例中,提供了一种设备,其中该设备包括视频解码器。
在一个示例中,一种系统,该系统包括:设备,该设备包括视频编码器;并且该设备包括视频解码器。
在一个示例中,一种装置,该装置包括:用于执行步骤的任意和全部组合的装置。
在一个示例中,一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质包括存储在其上的指令,当这些指令被执行时,使得设备的一个或多个处理器执行步骤的任意和全部组合。
在一个示例中,一种对视频数据进行解码的方法,该方法包括:对序列参数集中的第一语法元素进行解码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行解码。
在一个示例中,提供了一种方法,其中第一语法元素是子层编码图片缓冲器参数存在标记。
在一个示例中,提供了一种方法,其中假想参考解码器参数语法结构包括子层假想参考解码器参数语法结构。
在一个示例中,提供了一种方法,其中子层HRD参数语法结构包括第二语法元素,该第二语法元素指定编码图片缓冲器的最大输入比特率,其中最高时间标识符等于当该编码图片缓冲器在访问单元级操作时的对应标识符。
在一个示例中,提供了一种方法,其中第二语法元素是比特率值减一语法元素。
在一个示例中,提供了一种方法,其中子层HRD参数语法结构包括第三语法元素,该第三语法元素指定编码图片缓冲器大小,其中最高时间标识符等于当该编码图片缓冲器在访问单元级操作时的对应标识符。
在一个示例中,提供了一种方法,其中第三语法元素是编码图片缓冲器大小值减一语法元素。
在一个示例中,一种对图像数据进行编码的方法,该方法包括:对序列参数集中的第一语法元素进行编码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行编码。
在一个示例中,一种对视频数据进行解码的解码器,该解码器包括:处理器,和与该处理器相关联的存储器;其中该处理器被配置为执行以下步骤:对序列参数集中的第一语法元素进行解码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行解码。
在一个示例中,一种对视频数据进行编码的编码器,该编码器包括:处理器,和与该处理器相关联的存储器;其中该处理器被配置为执行以下步骤:对序列参数集中的第一语法元素进行编码,其中该第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;根据该第一语法元素的值定义该假想参考解码器参数语法结构的起始子层;以及通过使用该起始子层和最大子层数量对该假想参考解码器参数语法结构中的这些参数中的每个参数进行编码。
<交叉引用>
本非临时专利申请根据《美国法典》第35卷第119节(35U.S.C.§119)要求于2019年5月30日提交的临时申请62/854,921、2019年6月20日提交的临时申请62/864,398、2019年6月24日提交的临时申请62/865,733的优先权,其全部内容据此以引用方式并入。
Claims (10)
1.一种对视频数据进行解码的方法,所述方法包括:
对序列参数集中的第一语法元素进行解码,其中所述第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;
根据所述第一语法元素的值定义所述假想参考解码器参数语法结构的起始子层;以及
通过使用所述起始子层和最大子层数量对所述假想参考解码器参数语法结构中的所述参数中的每个参数进行解码。
2.根据权利要求1所述的方法,其中所述第一语法元素是子层编码图片缓冲器参数存在标记。
3.根据权利要求1所述的方法,其中所述假想参考解码器参数语法结构包括子层假想参考解码器参数语法结构。
4.根据权利要求3所述的方法,其中所述子层HRD参数语法结构包括第二语法元素,所述第二语法元素指定编码图片缓冲器的最大输入比特率,其中最高时间标识符等于当所述编码图片缓冲器在访问单元级操作时的对应标识符。
5.根据权利要求4所述的方法,其中所述第二语法元素是比特率值减一语法元素。
6.根据权利要求3所述的方法,其中所述子层HRD参数语法结构包括第三语法元素,所述第三语法元素指定编码图片缓冲器大小,其中最高时间标识符等于当所述编码图片缓冲器在访问单元级操作时的对应标识符。
7.根据权利要求6所述的方法,其中所述第三语法元素是编码图片缓冲器大小值减一语法元素。
8.一种对图像数据进行编码的方法,所述方法包括:
对序列参数集中的第一语法元素进行编码,其中所述第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;
根据所述第一语法元素的值定义所述假想参考解码器参数语法结构的起始子层;以及
通过使用所述起始子层和最大子层数量对所述假想参考解码器参数语法结构中的所述参数中的每个参数进行编码。
9.一种对视频数据进行解码的解码器,所述解码器包括:
处理器;和
与所述处理器相关联的存储器;其中所述处理器被配置为执行以下步骤:
对序列参数集中的第一语法元素进行解码,其中所述第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;
根据所述第一语法元素的值定义所述假想参考解码器参数语法结构的起始子层;以及
通过使用所述起始子层和最大子层数量对所述假想参考解码器参数语法结构中的所述参数中的每个参数进行解码。
10.一种对视频数据进行编码的编码器,所述编码器包括:
处理器;和
与所述处理器相关联的存储器;其中所述处理器被配置为执行以下步骤:
对序列参数集中的第一语法元素进行编码,其中所述第一语法元素指定是假想参考解码器参数语法结构包括标识符在0到最大时间子层数量减一的范围内的时间子层的参数还是假想参考解码器参数语法结构包括标识符仅等于最大时间子层数量减一的时间子层的参数;
根据所述第一语法元素的值定义所述假想参考解码器参数语法结构的起始子层;以及
通过使用所述起始子层和最大子层数量对所述假想参考解码器参数语法结构中的所述参数中的每个参数进行编码。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962854921P | 2019-05-30 | 2019-05-30 | |
US62/854921 | 2019-05-30 | ||
US201962864398P | 2019-06-20 | 2019-06-20 | |
US62/864398 | 2019-06-20 | ||
US201962865733P | 2019-06-24 | 2019-06-24 | |
US62/865733 | 2019-06-24 | ||
PCT/JP2020/020794 WO2020241653A1 (en) | 2019-05-30 | 2020-05-26 | Systems and methods for signaling hypothetical reference decoder parameters in video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113892271A true CN113892271A (zh) | 2022-01-04 |
Family
ID=73553758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080039676.5A Pending CN113892271A (zh) | 2019-05-30 | 2020-05-26 | 用于在视频编码中发送信号通知假想参考解码器参数的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11856231B2 (zh) |
CN (1) | CN113892271A (zh) |
WO (1) | WO2020241653A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116847071A (zh) * | 2022-10-13 | 2023-10-03 | 弗劳恩霍夫应用研究促进协会 | 使用编码图片缓存器的视频编码 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118524231A (zh) * | 2018-09-18 | 2024-08-20 | 华为技术有限公司 | 视频编码器、视频解码器及对应方法 |
TW202106014A (zh) * | 2019-06-20 | 2021-02-01 | 日商索尼股份有限公司 | 影像處理裝置及影像處理方法 |
EP4030764A4 (en) * | 2019-09-11 | 2022-11-23 | Panasonic Intellectual Property Corporation of America | CODING DEVICE, DECODING DEVICE, CODING METHOD AND DECODING METHOD |
WO2021049580A1 (ja) * | 2019-09-11 | 2021-03-18 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
KR20220065867A (ko) * | 2019-09-24 | 2022-05-20 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 레이어에 대한 hrd 파라미터 |
EP4022929A4 (en) * | 2019-09-24 | 2022-11-23 | Huawei Technologies Co., Ltd. | ENCODER, DECODER SUPPORTING LOWER LAYER FRAMES |
US20230362412A1 (en) * | 2019-12-19 | 2023-11-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Output process disable indicator |
US11659207B2 (en) * | 2020-06-08 | 2023-05-23 | Qualcomm Incorporated | General constraints of syntax elements for video coding |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104641648A (zh) * | 2012-09-24 | 2015-05-20 | 高通股份有限公司 | 视频译码中的假想参考解码器参数 |
US20160255353A1 (en) * | 2013-10-11 | 2016-09-01 | Sharp Kabushiki Kaisha | Highest temporal sub-layer list |
CN106464917A (zh) * | 2014-06-18 | 2017-02-22 | 高通股份有限公司 | 用信号表示用于位流分区的hrd参数 |
CN107079176A (zh) * | 2014-10-15 | 2017-08-18 | 高通股份有限公司 | 用于hevc延伸承载的数据流的hrd描述符及缓冲器模型的设计 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9319703B2 (en) * | 2012-10-08 | 2016-04-19 | Qualcomm Incorporated | Hypothetical reference decoder parameter syntax structure |
JP6472449B2 (ja) * | 2014-01-02 | 2019-02-20 | シャープ株式会社 | ビデオシーケンスを復号するための方法 |
CN113661714B (zh) * | 2019-03-11 | 2024-10-01 | 交互数字Vc控股公司 | 子画面比特流提取和重新定位 |
-
2020
- 2020-05-26 US US17/613,523 patent/US11856231B2/en active Active
- 2020-05-26 WO PCT/JP2020/020794 patent/WO2020241653A1/en active Application Filing
- 2020-05-26 CN CN202080039676.5A patent/CN113892271A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104641648A (zh) * | 2012-09-24 | 2015-05-20 | 高通股份有限公司 | 视频译码中的假想参考解码器参数 |
US20160255353A1 (en) * | 2013-10-11 | 2016-09-01 | Sharp Kabushiki Kaisha | Highest temporal sub-layer list |
CN106464917A (zh) * | 2014-06-18 | 2017-02-22 | 高通股份有限公司 | 用信号表示用于位流分区的hrd参数 |
CN106464918A (zh) * | 2014-06-18 | 2017-02-22 | 高通股份有限公司 | 用信号表示用于位流分区的hrd参数 |
CN107079176A (zh) * | 2014-10-15 | 2017-08-18 | 高通股份有限公司 | 用于hevc延伸承载的数据流的hrd描述符及缓冲器模型的设计 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116847071A (zh) * | 2022-10-13 | 2023-10-03 | 弗劳恩霍夫应用研究促进协会 | 使用编码图片缓存器的视频编码 |
CN116847071B (zh) * | 2022-10-13 | 2024-04-02 | 弗劳恩霍夫应用研究促进协会 | 使用编码图片缓存器的视频解码装置 |
Also Published As
Publication number | Publication date |
---|---|
US11856231B2 (en) | 2023-12-26 |
WO2020241653A1 (en) | 2020-12-03 |
US20220264153A1 (en) | 2022-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220394301A1 (en) | Systems and methods for signaling picture information in video coding | |
US12114019B2 (en) | Systems and methods for signaling general constraint information in video coding | |
US11778236B2 (en) | Device, and method of decoding video data | |
US11856231B2 (en) | Systems and methods for signaling hypothetical reference decoder parameters in video coding | |
US12022123B2 (en) | Systems and methods for signaling subpicture information in video coding | |
CN114270864A (zh) | 用于在视频编码中发送信号通知图片信息的系统和方法 | |
US11503342B2 (en) | Systems and methods for signaling sequence parameter information in video coding | |
US12096033B2 (en) | Systems and methods for signaling buffering period information in video coding | |
US20230026475A1 (en) | Systems and methods for signaling reference picture lists in video coding | |
US20220109865A1 (en) | Systems and methods for signaling picture buffer information for intra random access point picture sub-bitstreams in video coding | |
US20220385918A1 (en) | Systems and methods for signaling buffering period information in video coding | |
US20230068404A1 (en) | Systems and methods for signaling subpicture information in video coding | |
US20230016439A1 (en) | Systems and methods for signaling picture timing and decoding unit information in video coding | |
US12088848B2 (en) | Systems and methods for signaling output layer set information in video coding | |
US20230040376A1 (en) | Systems and methods for signaling picture output resolution in video coding | |
US12022122B2 (en) | Systems and methods for signaling decoded picture buffer information in video coding | |
US20240048770A1 (en) | Systems and methods for signaling hypothetical reference decoder parameters in video coding | |
CN113632489B (zh) | 对视频数据进行解码的设备和方法 | |
CN118303028A (zh) | 用于减少编码视频数据的解码中的延迟的系统和方法 | |
CN113632489A (zh) | 在视频编码中用于发送信号通知图块组信息的系统和方法 | |
CN118283280A (zh) | 对视频数据执行神经网络滤波的方法及设备 | |
CN118338020A (zh) | 设备、以及对视频数据执行神经网络滤波的方法 | |
CN118338022A (zh) | 对视频数据执行神经网络滤波的方法、以及设备 | |
CN117651132A (zh) | 发送信号通知神经网络环路后滤波器信息的方法和设备 | |
CN117857789A (zh) | 更新视频数据的神经网络环路后滤波器信息的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |