CN117917892A - 在视频编码中发送信号通知下采样偏移信息的系统和方法 - Google Patents
在视频编码中发送信号通知下采样偏移信息的系统和方法 Download PDFInfo
- Publication number
- CN117917892A CN117917892A CN202310118881.6A CN202310118881A CN117917892A CN 117917892 A CN117917892 A CN 117917892A CN 202310118881 A CN202310118881 A CN 202310118881A CN 117917892 A CN117917892 A CN 117917892A
- Authority
- CN
- China
- Prior art keywords
- phase
- picture
- den
- horizontal
- vertical
- 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 description 136
- 230000011664 signaling Effects 0.000 title claims description 37
- 238000005070 sampling Methods 0.000 claims description 50
- 238000009877 rendering Methods 0.000 claims description 20
- 239000000523 sample Substances 0.000 description 134
- 239000010410 layer Substances 0.000 description 69
- 241000023320 Luma <angiosperm> Species 0.000 description 43
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 43
- 230000008569 process Effects 0.000 description 36
- 238000013139 quantization Methods 0.000 description 33
- 239000013598 vector Substances 0.000 description 31
- 238000012545 processing Methods 0.000 description 29
- 238000004891 communication Methods 0.000 description 21
- 230000006854 communication Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 17
- 238000000605 extraction Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 7
- 241001482237 Pica Species 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 230000010363 phase shift Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 239000011800 void material Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 101150103552 cagE gene Proteins 0.000 description 3
- 230000001413 cellular effect 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
- 239000011159 matrix material Substances 0.000 description 3
- 239000013074 reference sample Substances 0.000 description 3
- 230000000153 supplemental effect 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
- 239000011449 brick Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process 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
- 235000009566 rice Nutrition 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method 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
- 238000012952 Resampling Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000000295 complement effect 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
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 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
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本发明公开了一种设备,该设备可被配置为在相位指示信息消息中发送信号通知编码视频的下采样偏移信息。设备可被配置为接收该相位指示信息消息。该相位指示消息可应用于当前经裁剪的解码图片并且持续用于当前层按输出顺序具有与该当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的所有后续图片,直到输出该当前层中具有相关联相位指示信息消息以及与该当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的图片,并且该图片按输出顺序在该当前图片之后。
Description
相关申请
本申请要求于2022年10月22日提交的美国临时申请第63/418,494号的权益,其全部内容以引用方式并入本文
技术领域
本公开涉及视频编码,并且更具体地涉及用于发送信号通知编码视频的下采样信息的技术。
背景技术
数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准定义了封装编码视频数据的兼容比特流的格式。兼容比特流是可以由视频解码设备接收和解码以生成重构视频数据的数据结构。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括ISO/IEC MPEG-4Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4AVC)和高效视频编码(HEVC)。HEVC在2016年12月的ITU-TH.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)项目。2020年10月7日至16日通过远程会议举行的ISO/IECJTC1/SC29/WG11第20次会议中的“Versatile Video Coding(Draft10)”(文档JVET-T2001-v2,其以引用方式并入本文,并且称为JVET-T2001)表示对应于VVC项目的视频编码规范的草稿文本的当前迭代。
视频压缩技术能够减少存储和传输视频数据的数据需求。视频压缩技术可以通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即,视频序列内的一组图片、一组图片内的图片、图片内的区域、区域内的子区域等)。可以使用帧内预测编码技术(例如,图片内的空间预测技术)和帧间预测技术(即图片间的技术(时间))来生成待编码的单位视频数据与视频数据的参考单元之间的差值。该差值可以被称为残差数据。残差数据可以被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引和运动信息)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在形成兼容比特流的数据结构中。
发明内容
一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体地,本公开描述了用于发送信号通知编码视频数据的下采样偏移信息的技术。应当指出的是,尽管本公开的技术是关于ITU-T H.264、ITU-T H.265、JEM和JVET-T2001描述的,但本公开的技术可普遍应用于视频编码。例如,除了包括在ITU-T H.265、JEM和JVET-T2001中的那些技术,本文所述的编码技术可并入视频编码系统(包括基于未来视频编码标准的视频编码系统),包括视频块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术。因此,对ITU-T H.264、ITU-T H.265、JEM和/或JVET-T2001的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。
在一个示例中,一种发送信号通知视频数据的相位指示信息的方法包括:发送信号通知对应于编码视频序列的相位指示信息消息;在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的水平位置的语法元素,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;以及在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的垂直位置的一个或多个语法元素,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种设备包括一个或多个处理器,该一个或多个处理器被配置为:发送信号通知对应于编码视频序列的相位指示信息消息;在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的水平位置的语法元素,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;并且在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的垂直位置的一个或多个语法元素,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器:发送信号通知对应于编码视频序列的相位指示信息消息;在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的水平位置的语法元素,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;并且在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的垂直位置的一个或多个语法元素,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种装置包括:用于发送信号通知对应于编码视频序列的相位指示信息消息的装置;用于在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的水平位置的语法元素的装置,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;以及用于在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的垂直位置的一个或多个语法元素的装置,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种对视频数据进行解码的方法包括:接收相位指示信息消息;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的水平位置,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;以及基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的垂直位置,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种设备包括一个或多个处理器,该一个或多个处理器被配置为:接收相位指示信息消息;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的水平位置,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的垂直位置,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器:接收相位指示信息消息;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的水平位置,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的垂直位置,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在一个示例中,一种装置包括:用于接收相位指示信息消息的装置;用于基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的水平位置的装置,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;以及用于基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的垂直位置的装置,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
在以下附图和描述中阐述了一个或多个示例的细节。根据描述和附图以及权利要求书,其他特征、对象和优点将显而易见。
附图说明
图1是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码和解码的系统的示例的框图。
图2是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。
图3是示出根据本公开的一种或多种技术封装编码视频数据和对应元数据的数据结构的概念图。
图4是示出根据本公开的一种或多种技术可使用的视频分量采样格式的示例的概念图。
图5A至图5F是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型的示例的概念图。
图6A至图6B是示出根据本公开的一种或多种技术的可使用的像素坐标系的示例的概念图。
图7是示出根据本公开的一种或多种技术的可使用的下采样的示例的概念图。
图8是示出根据本公开的一种或多种技术的下采样的示例的概念图。
图9是示出根据本公开的一种或多种技术的可被包括在可被配置为对视频数据进行编码和解码的系统的具体实施中的部件的示例的概念图。
图10是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。
图11是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。
具体实施方式
视频内容包括由一系列帧(或图片)组成的视频序列。一系列帧也可以被称为一组图片(GOP)。每个视频帧或图片可被分成一个或多个区域。可根据基本单元(例如,视频块)和限定区域的一组规则来限定区域。例如,限定区域的规则可以是区域必须是布置成矩形的整数个视频块。此外,区域中的视频块可以根据扫描模式(例如,光栅扫描)来排序。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语“当前视频块”可以指图片的正被编码或解码的区域。视频块可被定义为样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(Y)和色度(Cb和Cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。此外,在一些情况下,像素或样本可被称为pel。视频采样格式(也可以被称为色度格式)可以相对于视频块中包括的亮度样本的数量来定义视频块中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。应当指出的是,在一些情况下,术语“亮度(luma)”和“亮度(luminance)”可互换使用。
视频编码器可对视频块和其子分区执行预测编码。视频块和其子分区可以被称为节点。ITU-T H.264指定包括16×16亮度样本的宏块。也就是说,在ITU-T H.264中,图片被分段成宏块。ITU-T H.265指定了类似的编码树单元(CTU)结构(其可被称为最大编码单元(LCU))。在ITU-TH.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处具有其根的预测单元结构相关联。在ITU-T H.265中,预测单元结构允许分割亮度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-TH.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-T2001中,根据四叉树加多类型树(QTMT或QT+MTT)结构来划分CTU。JVET-T2001中的QTMT类似于JEM中的QTBT。然而,在JVET-T2001中,除了指示二进制分割之外,多类型树还可以指示所谓的三元(或三叉树(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-T2001,切片需要由整数个完整图块或图块内的整数个连续完整CTU行组成,而不是仅需要由整数个CTU组成。应当指出的是,在JVET-T2001中,切片设计不包括切片区段(即,没有独立的/从属的切片片段)。因此,在JVET-T2001中,图片可以包括单个图块,其中该单个图块被包含在单个切片内,或者图片可以包括多个图块,其中该多个图块(或其CTU行)可以被包含在一个或多个切片内。在JVET-T2001中,通过指定图块行的相应高度和图块列的相应宽度来指定图片将图片划分为图块。因此,在JVET-T2001中,图块是特定图块行和特定图块列位置内的矩形CTU区域。此外,应当指出的是,JVET-T2001规定图片可以被划分为子图片,其中子图片是图片内的矩形CTU区域。子图片的左上CTU可位于图片内的任何CTU位置,其中子图片被约束为包括一个或多个切片。因此,不同于图块,子图片不必被限制到特定行和列位置。应当指出的是,子图片可用于封装图片内感兴趣区域,并且子比特流提取过程可用于仅对特定感兴趣区域进行解码和显示。也就是说,如下文进一步详细描述的,编码视频数据的比特流包括网络抽象层(NAL)单元序列,其中NAL单元包封编码视频数据(即,对应于图片切片的视频数据),或者NAL单元包封用于对视频数据进行解码的元数据(例如,参数集),并且子比特流提取过程通过从比特流中移除一个或多个NAL单元来形成新比特流。
图2是示出根据图块、切片和子图片划分的图片组内的图片的示例的概念图。应当指出的是,本文所述技术可以适用于图块、切片、子图片、其子分区和/或其等效结构。也就是说,无论图片怎样被划分为区域,本文所述技术可普遍适用。例如,在一些情况下,本文所述技术可以适用于图块可以被划分为所谓的砖块的情况,其中砖块是特定图块内的矩形CTU行区域。此外,例如,在一些情况下,本文所述技术可以适用于一个或多个图块可被包括在所谓的图块组中的情况下,其中图块组包括整数个相邻图块。在图2所示的示例中,Pic3被示出为包括16个图块(即,图块0至图块15)和三个切片(即,切片0至切片2)。在图2所示的示例中,切片0包括四个图块(即,图块0至图块3),切片1包括八个图块(即,图块4至图块11),并且切片2包括四个图块(即,图块12至图块15)。此外,如图2的示例所示,Pic3被示出包括两个子图片(即,子图片0和子图片1),其中子图片0包括切片0和切片1并且其中子图片1包括切片2。如上所述,子图片可用于封装图片内的感兴趣区域,并且可以使用子比特流提取过程以便选择性地对感兴趣区域进行解码(和显示)。例如,参考图2,子图片0可以对应于体育赛事呈现的动作部分(例如,字段的视图),并且子图片1可以对应于在体育赛事呈现期间显示的滚动横幅。通过以这种方式将图片组织成子图片,观看者可能能够禁用滚动横幅的显示。也就是说,通过子比特流提取过程,切片2NAL单元可以从比特流中移除(并且因此未被解码和/或显示),并且切片0NAL单元和切片1NAL单元可以被解码并显示。下面进一步详细描述如何将图片的切片封装成相应NAL单元数据结构和子比特流提取。
如上所述,视频采样格式(也可以被称为色度格式)可以相对于CU中包括的亮度样本的数量来定义CU中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。因此,对于根据4:2:0格式格式化的CU,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。图4是示出根据4:2:0样本格式格式化的编码单元的示例的概念图。图4示出了色度样本相对于CU内的亮度样本的相对位置。如上所述,通常根据水平和垂直亮度样本的数量来定义CU。因此,如图4所示,根据4:2:0样本格式格式化的16×16CU包括亮度分量的16×16样本和用于每个色度分量的8×8样本。此外,在图4所示的示例中,示出了16×16CU的相邻视频块的色度样本相对于亮度样本的相对位置。对于根据4:2:2格式格式化的CU,亮度分量的样本阵列的宽度是每个色度分量的样本阵列的宽度的两倍,但是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4:4:4格式格式化的CU,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。
表1示出了在JVET-T2001中如何基于语法元素chroma_format_idc的值来指定色度格式。此外,表1示出了如何根据色度格式来指定变量SubWidthC和SubHeightC。SubWidthC和SubHeightC用于例如解块。关于表1,JVET-T2001提供了以下规定:
在单色采样中,只存在一个样本阵列,该样本阵列被标称地视为亮度阵列。
在4:2:0采样中,两个色度阵列中的每一个具有该亮度阵列的一半的高度和一半的宽度。
在4:2:2采样中,两个色度阵列中的每一个具有该亮度阵列的相同的高度和一半的宽度。
在4:4:4采样中,两个色度阵列中的每一个具有该亮度阵列的相同的高度和相同的宽度。
chroma_format_idc | 色度格式 | SubWidthC | SubHeightC |
0 | 单色 | 1 | 1 |
1 | 4:2:0 | 2 | 2 |
2 | 4:2:2 | 2 | 1 |
3 | 4:4:4 | 1 | 1 |
表1
应当指出的是,对于采样格式,例如4:2:0样本格式,可以指定色度位置类型。也就是说,例如对于4:2:0样本格式,可以相对于亮度样本为色度样本指定指示相对空间定位的水平偏移值和垂直偏移值。表2提供了针对5种色度位置类型的HorizontalOffsetC和VerticalOffsetC的定义。
ChromaLocType | HorizontalOffsetC | VerticalOffsetC |
0 | 0 | 0.5 |
1 | 0.5 | 0.5 |
2 | 0 | 0 |
3 | 0.5 | 0 |
4 | 0 | 1 |
5 | 0.5 | 1 |
表2
图5A至图5F示出了针对4:2:0样本格式指定的色度位置类型。例如当使用下采样滤波器时,HorizontalOffsetC和VerticalOffsetC可用作水平和垂直滤波操作的相位偏移。此外,应当指出的是,Rec.ITU-T H.274,Versatile supplemental enhancementinformation messages for coded bitstreams(2020年8月)提供了指示应用于一个或多个编码层视频序列(CLVS)的视频可用性信息(VUI)参数的VUI参数语法和语义。VUI参数可以被包括在vui_parameters()语法结构中,该语法结构被包括在序列参数集(SPS)中包括的vui_payload()中。序列参数集在下面进一步详细描述。
对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在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,Pic2被示出为参考Pic1。类似地,Pic3被示出为参考Pic0。关于图2,假设图片数量对应于解码顺序,DPB将填充如下:在解码Pic0之后,DPB将包括{Pic0};在解码Pic1开始时,DPB将包括{Pic0};在解码Pic1之后,DPB将包括{Pic0,Pic1};在解码Pic2开始时,DPB将包括{Pic0,Pic1}。然后,将参考Pic1解码Pic2,并且在解码Pic2之后,DPB将包括{Pic0,Pic1,Pic2}。在解码Pic3开始时,图片Pic0和Pic1将被标记以从DPB中移除,因为它们不是解码Pic3(或任何后续图片,未示出)所需的,并且假设Pic1和Pic2已被输出,则DPB将被更新以包括{Pic0}。然后将参考Pic0对Pic3进行解码。标记图片以将其从DPB中移除的过程可以称为参考图片集(RPS)管理。
如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差值可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.265和JVET-T2001中,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的上下文。
如上所述,视频内容包括由一系列图片组成的视频序列,并且每个图片可被分成一个或多个区域。在JVET-T2001中,图片的编码表示包括访问单元(AU)内的特定层的视频编码层(VCL)NAL单元并且包含图片的所有CTU。例如,再次参考图2,Pic3的编码表示被封装在三个编码切片NAL单元(即,切片0NAL单元、切片1NAL单元和切片2NAL单元)中。应当指出的是,术语视频编码层(VCL)NAL单元用作编码切片NAL单元的总称,即,VCL NAL是包括所有类型的切片NAL单元的总称。如上所述,并且在下文进一步详细描述,NAL单元可以封装用于对视频数据进行解码的元数据。封装用于对视频序列进行解码的元数据的NAL单元通常被称为非VCL NAL单元。因此,在JVET-T2001中,NAL单元可以是VCL NAL单元或非VCL NAL单元。应当指出的是,VCL NAL单元包括切片标头数据,其提供用于对特定切片进行解码的信息。因此,在JVET-T2001中,用于对视频数据进行解码的信息(在一些情况下可以被称为元数据)不限于被包括在非VCL NAL单元中。JVET-T2001规定图片单元(PU)是根据指定的分类规则彼此相关联、在解码顺序中连续并且包含正好一个编码图片的一组NAL单元,并且访问单元(AU)是属于不同层并且包含与从DPB输出的同一时间相关联的编码图片的一组PU。JVET-T2001进一步规定层是全部具有层标识符的特定值的一组VCL NAL单元及其相关联非VCLNAL单元。此外,在JVET-T2001中,PU由零个或一个图片标头(PH)NAL单元、一个编码图片(其由一个或多个VCL NAL单元构成)以及零个或更多个其他非VCL NAL单元组成。此外,在JVET-T2001中,编码视频序列(CVS)是AU序列,其由按解码顺序排列的CVSS AU和随后的零个或更多个非CVSS AU的AU(包括到下一个(不含)是CVSS AU的任何后续AU之前的所有后续AU)组成,其中编码视频序列开始(CVSS)AU是其中CVS中的每个层存在PU的AU,并且每个存在的图片单元中的编码图片是编码层视频序列开始(CLVSS)图片。在JVET-T2001中,编码层视频序列(CLVS)是同一层内的PU序列,其由按解码顺序排列的CLVSS PU和随后的非CLVSSPU的零个或更多个PU(包括到下一个(不含)是CLVSS PU的任何后续PU之前的所有后续PU)组成。这就是说,在JVET-T2001中,比特流可被描述为包括形成一个或多个CVS的AU序列。
多层视频编码使得视频呈现能够被解码/显示为对应于视频数据基础层的呈现,并且被解码/显示为对应于视频数据的增强层的一个或多个附加呈现。例如,基底层可以使得能够呈现具有基本质量水平(例如,高清晰度呈现和/或30Hz帧率)的视频呈现,并且增强层可以使得能够呈现具有增强的质量水平(例如,超高清渲染和/或60Hz帧率)的视频呈现。可以通过参考基底层来对增强层进行编码。也就是说,例如可以通过参考基底层中的一个或多个图片(包括其缩放版本)来对增强层中的图片进行编码(例如,使用层间预测技术)。应当指出的是,层也可彼此独立地被编码。在这种情况下,两层之间可能不存在层间预测。每个NAL单元可以包括指示NAL单元与之相关联的视频数据层的标识符。如上所述,子比特流提取过程可以用于仅对图片的特定感兴趣区域进行解码和显示。此外,子比特流提取过程可以用于仅对特定视频层进行解码和显示。子比特流提取可以指接收兼容或符合性比特流的设备通过丢弃和/或修改接收到的比特流中的数据来形成新的兼容或符合性比特流的过程。例如,子比特流提取可以用于形成对应于特定视频表示(例如,高质量表示)的新的兼容或符合性比特流。
在JVET-T2001中,视频序列、GOP、图片、切片和CTU中的每一者可以与描述视频编码属性的元数据相关联,并且一些类型的元数据被封装在非VCL NAL单元中。JVET-T2001定义了可用于描述视频数据和/或视频编码属性的参数集。特别地,JVET-T2001包括以下四种参数集:视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)和自适应参数集(APS),其中SPS应用于零个或更多整数个CVS,PPS适用于零个或更多整数个编码图片,APS适用于零个或更多个切片,并且VPS可以任选地由SPS引用。PPS应用于引用它的一个或多个单个编码图片。在JVET-T2001中,参数集可以被封装为非VCL NAL单元,并且/或者可以作为消息发送信号通知。JVET-T2001还包括图片标头(PH),该图片标头在被发送信号通知时作为非VCLNAL单元被封装在其自身的NAL单元中,或在被发送信号通知时作为VCL NAL单元的一部分被封装在编码切片的切片标头中。在JVET-T2001中,图片标头应用于编码图片的所有切片。JVET-T2001进一步使得能够发送信号通知解码能力信息(DCI)和补充增强信息(SEI)消息。在JVET-T2001中,DCI和SEI消息协助与解码、显示或其他目的有关的过程,然而,可能不需要DCI和SEI消息来根据解码过程构建亮度或色度样本。在JVET-T2001中,可以使用非VCLNAL单元在比特流中发送信号通知DCI和SEI消息。此外,DCI和SEI消息可以通过某种机制传送,而不是通过存在于比特流中(即,在带外发送信号通知)。
图3示出了包括多个CVS的比特流的示例,其中CVS包括AU,并且AU包括图片单元。图3中所示的示例对应于在比特流中封装图2的示例中所示的切片NAL单元的示例。在图3所示的示例中,Pic3的对应图片单元包括三个VCL NAL编码切片NAL单元,即切片0NAL单元、切片1NAL单元和切片2NAL单元,以及两个非VCL NAL单元,即PPS NAL单元和PH NAL单元。应当指出的是,在图3中,标头是NAL单元标头(即,不与切片标头混淆)。此外,应当指出的是,在图3中,未示出的其他非VCL NAL单元可被包括在CVS中,例如SPS NAL单元、VPS NAL单元、SEI消息NAL单元等。此外,应当指出的是,在其他示例中,用于解码Pic3的PPS NAL单元可被包括在比特流中的其他地方,例如,在对应于Pic0的图片单元中,或可以由外部机构提供。如下文进一步详细描述的,在JVET-T2001中,PH语法结构可以存在于VCL NAL单元的切片标头中或存在于当前PU的PH NAL单元中。
关于本文所用的公式,可以使用以下算术运算符:
+加法
-减法
*乘法,包括矩阵乘法
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)的返回值指定。
-i(n):使用n位的有符号整数。当语法表中n是“v”时,位数以取决于其他语法元素的值的方式变化。该描述符的解析过程由函数read_bits(n)的返回值指定,该返回值被解释为首先写入最高有效位的二进制补码整数表示。
-se(v):有符号整数0阶Exp-Golomb编码的语法元素,从最左位起。
-tb(v):使用至多maxVal位的截断二元码,其中maxVal在语法元素的语义中定义。
-tu(v):使用至多maxVal位的截断一元码,其中maxVal在语法元素的语义中定义。
-u(n):使用n位的无符号整数。当语法表中n是“v”时,位数以取决于其他语法元素的值的方式变化。该描述符的解析过程由函数read_bits(n)的返回值指定,该返回值被解释为首先写入最高有效位的无符号整数的二进制表示。
-ue(v):无符号整数0阶Exp-Golomb编码的语法元素,从最左位起。
JVET-T2001定义了NAL单元标头语义,其指定了包括在NAL单元中的原始字节序列有效载荷(RBSP)数据结构的类型。表3示出了JVET-T2001中提供的NAL单元标头的语法。
表3
JVET-T2001针对表3中所示的相应语法元素提供了以下定义。
forbidden_zero_bit应等于0。
nuh_reserved_zero_bit应等于0。未来可由ITU-T|ISO/IEC指定nuh_reserved_zero_bit的值1。尽管在此说明书的此版本中需要nuh_reserved_zero_bit的值等于0,但符合此说明书的此版本的解码器应允许nuh_reserved_zero_bit的值等于1出现在语法中并且应忽略(即,从比特流中移除并丢弃)nuh_reserved_zero_bit等于1的NAL单元。
nuh_layer_id指定VCL NAL单元所属的层的标识符或者非VCL NAL单元适用的层的标识符。nuh_layer_id的值应在0至55的范围内(包括端值)。保留nuh_layer_id的其他值以供ITU-T|ISO/IEC将来使用。尽管在此说明书的此版本中需要nuh_layer_id的值在0至55的范围内(包括端值),但符合此说明书的此版本的解码器应允许nuh_layer_id的值大于55出现在语法中并且应忽略(即,从比特流中移除并丢弃)nuh_layer_id大于55的NAL单元。
编码图片的所有VCL NAL单元的nuh_layer_id的值应相同。编码图片或PU的nuh_layer_id的值是编码图片或PU的VCL NAL单元的nuh_layer_id的值。
当nal_unit_type等于PH_NUT或FD_NUT时,nuh_layer_id应等于相关联VCL NAL单元的nuh_layer_id。
当nal_unit_type等于EOS_NUT时,nuh_layer_id应等于CVS中存在的层的nuh_layer_id值中的一者。
注意—DCI、OPI、VPS、AUD和EOB NAL单元的nuh_layer_id的值不受限制。
nuh_temporal_id_plus1减去1指定NAL单元的时间标识符。
nuh_temporal_id_plus1的值应不等于0。
变量TemporalId如下导出:
TemporalId=nuh_temporal_id_plus1-1
当nal_unit_type处于IDR_W_RADL至RSV_IRAP_11的范围内(包括端值)时,TemporalId应等于0。当nal_unit_type等于STSA_NUT并且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,TemporalId应大于0。
对于AU的所有VCL NAL单元,TemporalId的值应相同。编码图片、PU或AU的TemporalId的值是编码图片、PU或AU的VCL NAL单元的TemporalId的值。子层表示的TemporalId的值是子层表示中的所有VCL NAL单元的TemporalId的最大值。
非VCL NAL单元的TemporalId的值被如下进行约束:
-如果nal_unit_type等于DCI_NUT、OPI_NUT、VPS_NUT或SPS_NUT,则Temporalld应等于0,并且包含NAL单元的AU的TemporalId应等于0。
-否则,如果nal_unit_type等于PH_NUT,则TemporalId应等于包含NAL单元的PU的TemporalId。
-否则,如果nal_unit_type等于EOS_NUT或EOB_NUT,则TemporalId应等于0。
-否则,如果nal_unit_type等于AUD_NUT、FD_NUT、PREFIX_SEI_NUT或SUFFIX_SEI_NUT,则TemporalId应等于包含NAL单元的AU的TemporalId。
-否则,当nal_unit_type等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId应大于或等于包含NAL单元的PU的TemporalId。
注意—当NAL单元是非VCL NAL单元时,TemporalId的值等于非VCL NAL单元所应用的所有AU的TemporalId值的最小值。当nal_unit_type等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId可以大于或等于包含AU的TemporalId,因为所有PPS和APS可被包括在比特流的开始中(例如,当它们被输送到带外,并且接收器将它们放置在比特流的开始处时),其中第一编码图片具有等于0的TemporalId。
nal_unit_type指定NAL单元类型,即,如表4中指定的NAL单元中包含的RBSP数据结构的类型。
具有在UNSPEC28…UNSPEC31的范围内(包括端值)的nal_unit_type的NAL单元(其语义未指定)应不影响此说明书中指定的解码过程。
注意—在UNSPEC_28..UNSPEC_31的范围内的NAL单元类型可如由应用程序所确定的那样使用。在此说明书中未指定针对nal_unit_type的这些值的解码过程。由于不同的应用程序可能出于不同的目的使用这些NAL单元类型,因此在设计生成具有这些nal_unit_type值的NAL单元的编码器时以及在设计解释具有这些nal_unit_type值的NAL单元的内容的解码器时需要特别注意。本说明书未定义对这些值的任何管理。这些nal_unit_type值可能仅适用于使用“冲突”(即,同一nal_unit_type值的NAL单元内容的含义具有不同定义)不重要、或不可能或被管理的上下文中,例如,在控制应用程序或运输规范中定义或管理,或者通过控制分发比特流的环境来管理。
出于确定比特流的DU中的数据量(如附件C中所指定的)之外的目的,解码器将忽略(从比特流中移除并丢弃)使用nal_unit_type的保留值的所有NAL单元的内容。注意—该要求允许对此说明书进行兼容扩展的未来定义。
表4
注意—干净随机存取(CRA)图片可具有存在于比特流中的相关联RASL或RADL图片。
注意—具有等于IDR_N_LP的nal_unit_type的瞬时解码刷新(IDR)图片不具有存在于比特流中的相关联前导图片。具有等于IDR_W_RADL的nal_unit_type的IDR图片不具有存在于比特流中的相关联RASL图片,但可具有在比特流中的相关联RADL图片。
对于子图片的所有VCL NAL单元,nal_unit_type的值应相同。子图片被称为具有与子图片的VCL NAL单元相同的NAL单元类型。
对于任何特定图片的VCL NAL单元,以下适用:
-如果pps_mixed_nalu_types_in_pic_flag等于0,则对于图片的所有VCL NAL单元nal_unit_type的值应相同,并且图片或PU被称为具有与图片或PU的编码切片NAL单元相同的NAL单元类型。
-否则(pps_mixed_nalu_types_in_pic_flag等于1),所有以下约束适用:
-图片应具有至少两个子图片。
-图片的VCL NAL单元应具有两个或更多个不同的nal_unit_type值。
-应没有图片的VCL NAL单元具有等于GDR_NUT的nal_unit_type。
-当图片的VCL NAL单元具有等于nalUnitTypeA(其等于IDR_W_RADL、IDR_N_LP或CRA_NUT)的nal_unit_type时,图片的其他VCL NAL单元应全部具有等于nalUnitTypeA或TRAIL_NUT的nal_unit_type。
对于IRAP或GDR AU中的所有图片,nal_unit_type的值应相同。
当sps_video_parameter_set_id大于0,vps_max_tid_il_ref_pics_plus1[i][j]等于0(其中j等于GeneralLayerIdx[nuh_layer_id]并且i的任何值在j+1至vps_max_layers_minus1的范围内(包括端值)并且pps_mixed_nalu_types_in_pic_flag等于1时,nal_unit_type的值应不等于IDR_W_RADL、IDR_N_LP或CRA_NUT。
比特流符合性要求以下约束适用:
-当图片是IRAP图片的前导图片时,该图片应为RADL或RASL图片。
-当子图片是IRAP子图片的前导图片时,该子图片应为RADL或RASL子图片。
-当图片不是IRAP图片的前导图片时,该图片应不是RADL或RASL图片。
-当子图片不是IRAP子图片的前导图片时,该子图片应不是RADL或RASL子图片。
-与IDR图片相关联的RASL图片不应存在于比特流中。
-IDR子图片相关联的RASL子图片不应存在于比特流中。
-与具有等于IDR_N_LP的nal_unit_type的IDR图片相关联的RADL图片不应存在于比特流中。
注意—可以通过丢弃在IRAP AU之前的所有PU(并且按解码顺序正确解码IRAP AU和所有后续AU中的非RASL图片)来执行IRAP AU的位置处的随机访问,前提条件是每个参数集(在比特流中或通过此说明书中未指定的外部方式)当被引用时是可用的。
-与具有等于IDR_N_LP的nal_unit_type的IDR子图片相关联的RADL子图片不应存在于比特流中。
-在解码顺序中在nuh_layer_id等于特定值layerId的IRAP图片之前的nuh_layer_id等于layerId的任何图片应在输出顺序中在IRAP图片之前,并且应在输出顺序中在与IRAP图片相关联的任何RADL图片之前。
-在解码顺序中在nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的IRAP子图片之前的nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何子图片,应在输出顺序中在IRAP子图片及其所有相关联的RADL子图片之前。
-在解码顺序中在nuh_layer_id等于特定值layerId的恢复点图像之前的nuh_layer_id等于layerId的任何图片应在输出顺序中在恢复点图片之前。
-在解码顺序中在nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的恢复点图片之前的nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何子图片应在输出顺序中在恢复点图片之前。
-与CRA图片相关联的任意RASL图片都应按输出顺序排列在与CRA图片相关联的任意RADL图片之前。
-与CRA子图片相关联的任意RASL子图片都应按输出顺序排列在与CRA子图片相关联的任意RADL子图片之前。
-与CRA图片相关联的nuh_layer_id等于特定值layerId的任何RASL图片都应按输出顺序排列在nuh_layer_id等于layerId的任何IRAP或GDR图片之后,该IRAP或GDR图片按解码顺序排列在CRA图片之前。
-与CRA子图片相关联的nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的任何RASL子图片都应按输出顺序排列在nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何IRAP或GDR子图片之后,该IRAP或GDR图片按解码顺序排列在CRA子图片之前。
-如果sps_field_seq_flag等于0,则以下适用:当nuh_layer_id等于特定值layerId的当前图片是与IRAP图片相关联的前导图片时,该当前图片应按解码顺序排列在与相同IRAP图片相关联的所有非前导图片之前。否则(sps_field_seq_flag等于1),让picA和picB在解码顺序中分别是与IRAP图片相关联的第一个前导图片和最后一个前导图片,在解码顺序中picA之前应存在nuh_layer_id等于layerId的最多一个非前导图片,并且在解码顺序中picA和picB之间不应存在nuh_layer_id等于layerId的非前导图片。
-如果sps_field_seq_flag等于0,则以下适用:当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是与IRAP子图片相关联的前导子图片时,该当前子图片应按解码顺序在与相同IRAP子图片相关联的所有非前导子图片之前。否则(sps_field_seq_flag等于1),让subpicA和subpicB在解码顺序中分别是与IRAP子图片相关联的第一个和最后一个前导子图片,在解码顺序中在subpicA之前应存在nuh_layer_id等于layerId并且子图片索引等于subpicIdx的最多一个非前导子图片,并且在解码顺序中在picA和picB之间不存在nuh_layer_id等于layerId并且子图片索引等于subpicIdx的非前导图片。
应当指出的是,一般来讲,帧内随机接入点(IRAP)图片是在其解码过程中不引用除其自身之外的任何图片来进行预测的图片。在JVET-T2001中,IRAP图片可以是干净随机存取(CRA)图片或瞬时解码刷新(IDR)图片。在JVET-T2001中,比特流中按解码顺序排列的第一图片必须是IRAP图片或渐进解码刷新(GDR)图片。JVET-T2001描述了前导图片的概念,前导图片是在输出顺序中在相关联IRAP图片之前的图片。JVET-T2001还描述了拖尾图片的概念,拖尾图片是在输出顺序中在相关联IRAP图片之后的非IRAP图片。与IRAP图片相关联的拖尾图片在解码顺序中也在IRAP图片之后。对于IDR图片,不存在需要引用在IDR图片之前解码的图片的拖尾图片。JVET-T2001规定了CRA图片可具有在解码顺序中在CRA图片之后的前导图片,并且包含参考在CRA图片之前解码的图片的图片间预测。因此,当CRA图片用作随机访问点时,这些前导图片可能不可解码并且被识别为随机访问跳过前导(RASL)图片。可在解码顺序中在IRAP图片之后并且在输出顺序中在IRAP图片之前的另一类型的图片是随机访问可解码前导(RADL)图片,其不可包含对在解码顺序中在IRAP图片之前的任何图片的参考。GDR图片是其中每个VCL NAL单元具有等于GDR_NUT的nal_unit_type的图片。如果当前图片是与发送信号通知语法元素recovery_poc_cnt的图片标头相关联的GDR图片,并且存在CLVS中在解码顺序中在当前GDR图片后面的并且具有等于当前GDR图片的PicOrderCntVal加上recovery_poc_cnt的值的PicOrderCntVal的图片picA,则图片picA被称为恢复点图片。
如上所述,例如当使用下采样滤波器时,HorizontalOffsetC和VerticalOffsetC可用作水平和垂直滤波操作的相位偏移。以一定程度类似的方式,相对于单个分量(例如,亮度)的下采样,经滤波样本的位置可相对于滤波器支持样本的数量而定。此外,应当指出的是,不同图形呈现系统可利用不同像素空间坐标系。例如,图6A示出了像素空间坐标系的示例,其中呈现目标的原点(0,0)位于左上角并且像素中心位于(x+0.5,y+0.5)。图6A中的示例可对应于Microsoft Direct3D 10图形。图6B示出了像素空间坐标系的示例,其中呈现目标的原点(0,0)位于距左上角(0.5,0.5)偏移处并且像素中心位于(x,y)处。图6B中的示例可对应于Microsoft Direct3D 9图形。应当指出的是,在一些情况下,像素空间坐标系可与显示窗口坐标系(其可包括例如纹素空间)对准。然而,在一些情况下,像素坐标系和显示窗口可能不对准。在这些情况下,当将图像呈现到显示窗口时,为了确保对准,需要公式以便将像素空间坐标系变换为显示窗口坐标系。应当指出的是,在一些情况下,术语“显示窗口”和“呈现窗口”可互换使用。
当对视频数据的分量进行下采样时,可能存在若干种可能方式使所得经下采样值对应于像素坐标系。例如,参见图7,在图7的示例中,在每个方向上以因子4对输入样本进行下采样。然而,在图7的顶部的示例中,下采样滤波器在4×4区域的中心位置处生成经滤波样本,并且在图7的底部的示例中,下采样滤波器在4×4区域的左上并置位置处生成经滤波样本。如图7中进一步所示,经滤波样本的像素中心值可基于像素空间坐标系(例如,Microsoft Direct3D 10)来表达。在大多数情况下,接收经滤波样本值的设备将简单地接收2×2阵列中的四个经滤波样本值。因此,当设备执行上采样时,设备假设(即,例如,根据默认过程)所接收样本的像素中心位置。如图7所示,根据所利用的下采样滤波器,一组假设经滤波像素中心位置(例如,[(2,2),(6,2),(2,6),(6,6)])可与一组实际经滤波像素中心位置(例如,[(0.5,0.5),(4.5,0.5),(0.5,4.5),(4.5,4.5)])相当不同。当一组假设经滤波像素中心位置不同于一组实际经滤波像素中心位置时,结果是所谓的相移,其在图像呈现期间可能是可见的。
可存在多种方式相对于输入样本定位经滤波样本。即,多种滤波设计可以用于下采样。2020年10月6日至15日通过远程会议举行的ISO/IEC JTC1/SC29/WG11第24次会议中的“Down-sample phase indication(SEI message)”(文档JVET-X0092-v1,其被称为JVET-X0092)描述了下采样滤波器的若干示例,例如,Lanczons1 phase 0、Linear等。应当指出的是,可基于滤波器系数的数量将下采样滤波器分类为奇数或偶数中的一者。JVET-X0092还提供了其中相移在呈现图像中可感知的示例,并且提供了通常可以如下计算的相移:
相移=(下采样缩放因子-1)/2
应当指出的是,下采样/上采样缩放因子可为非整数值。例如,经滤波样本值的2×2阵列可经上采样到9×9阵列。在此类情况下,经滤波样本像素中心位置的假设位置可影响经内插样本值。
JVET-X0092描述了将相位指示SEI消息添加到用于编码视频比特流的通用补充增强信息消息,其中相位指示SEI消息包含指示视频的建议相位指示的单个语法元素。表5示出了JVET-X0092中提供的相位指示SEI消息的语法。
表5
关于表5,JVET-X0092提供了以下语义:
相位指示SEI消息提供了关于重新缩放操作中视频的建议相位位置的信息。
相位指示SEI消息持续用于当前层按解码顺序从当前图片直到CLVS结束。应用于相同CLVS的所有相位指示SEI消息应具有相同内容。
phase_idc指示如表6中指定的视频的相位。phase_idc的值应在0至2的范围内(包括端值)。phase_idc的被指定为保留以供将来用于Rec.ITU-T H.273|ISO/IEC 23091 2的值应不存在于符合此说明书的此版本的比特流中。
表6
注意—相位指示SEI消息可用于提供关于已用于通过下采样过程从较高空间分辨率的视频创建视频的滤波器的相位的信息。作为示例,通过利用具有奇数个滤波器抽头(例如,[A,B,C,B,A])的对称滤波器以50%(即,缩放因子0.5)水平和垂直地抽取较高分辨率视频的样本数量而产生的视频可发送信号通知phase_idc等于1。通过利用具有偶数个滤波器抽头(例如,[D,E,F,F,E,D])的对称滤波器以50%(即,缩放因子0.5)水平和垂直地抽取较高分辨率视频的样本数量而产生的视频可发送信号通知phase_idc等于2。
应当指出的是,JVET-X0092中的phase_idc仅涵盖指示左上角对准或居中对准中的一者,因此未能特定地和/或充分地涵盖至少以下情况:(1)下采样仅在一个维度(例如,1920×1080到960×1080)中发生;(2)下采样级联,并且对于每个下采样步骤使用不同的滤波器。(例如,使用奇滤波器将7680×4320图像下采样到3840×2160,然后使用偶滤波器下采样到1920×1080);(3)下采样级联,并且对于每个下采样步骤使用不同的比率(例如,使用奇滤波器将3840×2160图片下采样到1920×1080,然后下采样到640×360)。关于(2)和(3),图8是示出用于将3840×2160视频下采样到640×360视频的各种滤波步骤的概念性示例。因此,如图8所示,存在许多方式将视频下采样到特定缩放因子(即,如图8所示的6),并且每个滤波步骤可被实施为具有经滤波样本的不同相对位置。应当指出的是,在动态流传输基础结构中,级联滤波器可用于生成各种分辨率的视频。因此,根据本文的技术,能够发送信号通知关于已用于以特定大小创建视频的滤波器的相位的更多信息可能是有用的。因此,JVET-X0092中发送信号通知phase_idc可能不够理想。
图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)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。图9是示出可以被包括在系统100的具体实施中的部件的示例的概念图。在图9所示的示例性具体实施中,系统100包括一个或多个计算设备402A至402N、电视服务网络404、电视服务提供方站点406、广域网408、局域网410以及一个或多个内容提供方站点412A至412N。图9中所示的具体实施表示系统的示例,该系统可被配置为允许数字媒体内容(诸如电影、现场体育赛事等)和与其相关联的数据和应用程序以及媒体呈现被分发到多个计算设备(诸如计算设备402A至402N)并由该多个计算设备访问。在图9所示的示例中,计算设备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标准。
再次参考图9,电视服务提供方站点406可被配置为经由电视服务网络404分发电视服务。例如,电视服务提供方站点406可以包括一个或多个广播站、有线电视提供方或卫星电视提供方或基于互联网的电视提供方。例如,电视服务提供方站点406可被配置为通过卫星上行链路/下行链路接收传输(包括电视节目)。此外,如图9所示,电视服务提供方站点406可以与广域网408通信,并且可被配置为从内容提供方站点412A至412N接收数据。应当指出的是,在一些示例中,电视服务提供方站点406可以包括电视演播室,并且内容可以源自该电视演播室。
广域网408可以包括基于分组的网络,并且根据一个或多个电信协议的组合运营。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括全球系统移动通信(GSM)标准、码分多址(CDMA)标准、第三代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、欧洲标准(EN)、IP标准、无线应用协议(WAP)标准、以及电气与电子工程师协会(IEEE)标准,诸如,一个或多个IEEE 802标准(例如,Wi-Fi)。广域网408可以包括无线和/或有线通信媒体的任何组合。广域网408可以包括同轴电缆、光纤电缆、双绞线电缆、以太网电缆、无线发射器和接收器、路由器、交换机、中继器、基站、或可用于促进各种设备和站点之间的通信的任何其他设备。在一个示例中,广域网408可以包括互联网。局域网410可以包括基于分组的网络,并且根据一个或多个电信协议的组合运营。可以基于访问级别和/或物理基础设施将局域网410与广域网408区分开。例如,局域网410可以包括安全家庭网络。
再次参考图9,内容提供方站点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可以压缩视频数据。压缩可能是有损的(观察者可觉察的或不可觉察的)或无损的。图10是示出可实现本文所述的用于对视频数据进行编码的技术的视频编码器500的示例的框图。应当指出的是,尽管示例性视频编码器500被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器500和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器500的功能。
视频编码器500可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图10所示的示例中,视频编码器500接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可以包括宏块、CTU、CB、其子分区和/或另外的等效编码单元。在一些示例中,视频编码器500可被配置为执行源视频块的附加再分。应当指出的是,本文描述的技术通常适用于视频编码,而不管在编码之前和/或期间如何划分源视频数据。在图10所示的示例中,视频编码器500包括加法器502、变换系数生成器504、系数量化单元506、逆量化和变换系数处理单元508、加法器510、帧内预测处理单元512、帧间预测处理单元514、滤波器单元516和熵编码单元518。如图10所示,视频编码器500接收源视频块并输出比特流。
在图10所示的示例中,视频编码器500可以通过从源视频块中减去预测视频块来生成残差数据。下面详细描述了对预测视频块的选择。求和器502表示被配置为执行该减法运算的部件。在一个示例中,视频块的减法发生在像素域中。变换系数生成器504对残差块或其子分区应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)或概念上类似的变换(例如,可以将四个8×8变换应用于16×16残差值阵列)以产生残差变换系数集合。变换系数生成器504可被配置为执行离散三角变换系列中包括的变换的任何和全部组合,包括其近似。变换系数生成器504可将变换系数输出到系数量化单元506。系数量化单元506可被配置为执行变换系数的量化。量化过程可以减少与一些或所有系数相关联的位深度。量化的程度可以改变编码的视频数据的率失真(即比特率与视频质量的关系)。量化的程度可以通过调整量化参数(QP)来修改。可以基于切片位阶值和/或CU位阶值(例如,CU增量QP值)来确定量化参数。QP数据可以包括用于确定用于量化特定变换系数集合的QP的任何数据。如图10所示,量化的变换系数(可被称为位阶值)被输出到逆量化和变换系数处理单元508。逆量化和变换系数处理单元508可被配置为应用逆量化和逆变换来生成重构残差数据。如图10所示,在求和器510处,重构残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得重构视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器500可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一者或多者的同时执行编码)。比特流的率失真或其他系统参数可以基于重构视频块的评估来优化。此外,重构视频块可被存储并用作预测后续块的参考。
再次参考图10,帧内预测处理单元512可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元512可被配置为评估帧并且确定用以编码当前块的帧内预测模式。如上所述,可能的帧内预测模式可以包括平面预测模式、DC预测模式和角度预测模式。此外,应当指出的是,在一些示例中,可以根据亮度预测模式的预测模式来推断色度分量的预测模式。帧内预测处理单元512可在执行一个或多个编码回合之后选择帧内预测模式。此外,在一个示例中,帧内预测处理单元512可以基于率失真分析来选择预测模式。如图10所示,帧内预测处理单元512将帧内预测数据(例如,语法元素)输出到熵编码单元518和变换系数生成器504。如上所述,对残差数据执行的变换可以是模式相关的(例如,可以基于预测模式确定二次变换矩阵)。
再次参考图10,帧间预测处理单元514可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元514可被配置为接收源视频块并且计算视频块的PU的运动矢量。运动矢量可以指示当前视频帧内的视频块的预测单元相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动矢量)或双向预测(使用两个运动矢量)。帧间预测处理单元514可被配置为通过计算由例如绝对差之和(SAD)、平方差之和(SSD)或其他差值度量确定的像素差来选择预测块。如上所述,可以根据运动矢量预测来确定和指定运动矢量。如上所述,帧间预测处理单元514可被配置为执行运动矢量预测。帧间预测处理单元514可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元514可定位帧缓冲器内的预测视频块(图10中未示出)。应当指出的是,帧间预测处理单元514可以进一步被配置为将一个或多个内插滤波器应用于重构残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元514可将所计算的运动矢量的运动预测数据输出到熵编码单元518。
如图10所示,滤波器单元516接收重构的视频块和编码参数,并且输出已修改的重构视频数据。滤波器单元516可被配置为执行解块和/或样本自适应偏移(SAO)滤波。SAO滤波是一种可用于通过向重构视频数据添加偏移以改善重构的非线性振幅映射。应当指出的是,如图10所示,帧内预测处理单元512和帧间预测处理单元514可以经由滤波器单元516接收经修改的重构视频块。熵编码单元518接收量化的变换系数和预测语法数据(即,帧内预测数据和运动预测数据)。应当指出的是,在一些示例中,系数量化单元506可以在将系数输出到熵编码单元518之前执行对包括量化变换系数的矩阵的扫描。在其他示例中,熵编码单元518可执行扫描。熵编码单元518可以被配置为根据本文所述的技术中的一种或多种技术执行熵编码。这样,视频编码器500表示被配置为根据本公开的一种或多种技术生成编码视频数据的设备的示例。
再次参考图1,数据封装器107可以接收编码视频数据,并根据定义的数据结构生成兼容比特流,例如,NAL单元序列。接收兼容比特流的设备可以从其再现视频数据。此外,如上所述,子比特流提取可以指通过丢弃和/或修改接收的比特流中的数据,接收兼容比特流的设备形成新的兼容比特流的过程。应当指出的是,可以使用术语符合性比特流来代替术语兼容比特流。在一个示例中,数据封装器107可被配置为根据本文所述的一种或多种技术生成语法。应当指出的是,数据封装器107不需要必须位于与视频编码器106相同的物理设备中。例如,被描述为由视频编码器106和数据封装器107执行的功能可以分布在图9所示的设备中。
如上所述,根据本文的技术,能够发送信号通知关于已用于以特定大小创建视频的滤波器的相位的更多信息可能是有用的。在一个示例中,根据本文的技术,SEI消息可包括指示水平维度和垂直维度中的每一者的分数偏移值的语法元素。即,例如,左上经滤波样本相对于显示窗口的左上角的位置可由所指示的分子除以所指示的分母来给出。表7A示出了根据本文的技术的示例性相位指示SEI消息的语法。
表7A
对于表7A,语义可以基于以下内容:
hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置hor_phase_num÷hor_phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于hor_phase_den。
ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置ver_phase_num÷ver_phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于ver_phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
表7B示出了根据本文的技术的示例性相位指示SEI消息的语法。
表7B
对于表7B,语义可以基于以下内容:
hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置hor_phase_num÷hor_phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。当存在时,hor_phase_num应大于或等于0且小于或等于hor_phase_den。
ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置ver_phase_num÷ver_phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。当存在时,ver_phase_num应大于或等于0且小于或等于ver_phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
表7C和表7D示出了根据本文的技术的示例性相位指示SEI消息的语法。
表7C
表7D
对于表7C和表7D,语义可以基于以下内容:
hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置hor_phase_num÷hor_phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。当存在时,hor_phase_num语法元素的长度为Ceil(Log2(hor_phase_den+1))位,并且该语法元素的值应大于或等于0且小于或等于hor_phase_den。
ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置ver_phase_num÷ver_phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。当存在时,ver_phase_num语法元素的长度为Ceil(Log2(ver_phase_den+1))位,并且该语法元素的值应大于或等于0且小于或等于ver_phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
参见图7,关于图7中示出的示例,可以发送信号通知hor_phase_num、hor_phase_den、ver_phase_num和ver_phase_den的以下值:
情况[(2,2),(6,2),(2,6),(6,6)]:
hor_phase_num=1,hor_phase_den=2,ver_phase_num=1,ver_phase_den=2情况[(0.5,0.5),(4.5,0.5),(0.5,4.5),(4.5,4.5)]:
hor_phase_num=1,hor_phase_den=8,ver_phase_num=1,ver_phase_den=8
在一个示例中,根据本文的技术,可针对水平和垂直方向中的任一者或两者使用固定分母。在一个示例中,分母可为2的幂(例如,128)。应当指出的是,与表7A中的语法相比,使用固定分母需要较少语法元素,不提供除以非2的幂的隐含除法,并且可引入较小舍入误差(例如,1/12=0.08333...将表示为11/128=0.0859375)。表8示出了根据本文的技术的示例性相位指示SEI消息的语法。
表8
对于表8,语义可以基于以下内容:
hor_phase_num指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_num等于255,则水平位置未被定义。否则,如果hor_phase_num小于或等于128,则水平位置hor_phase_num÷128以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。保留hor_phase_num值129至254以供将来使用。
ver_phase_num指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_num等于255,则垂直位置未被定义。否则,如果ver_phase_num小于或等于128,则垂直位置ver_phase_num÷128以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。保留ver_phase_num值129至254以供将来使用。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
在一个示例中,根据本文的技术,可针对水平和垂直方向两者发送信号通知共同分母。表9示出了根据本文的技术的示例性相位指示SEI消息的语法。
表9
对于表9,语义可以基于以下内容:
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置hor_phase_num÷phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于phase_den。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置ver_phase_num÷phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
对于表9,在一个示例中,语义可以基于以下内容:
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置hor_phase_num÷(2*phase_den)以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于(2*phase_den)。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置ver_phase_num÷(2*phase_den)以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于(2*phase_den)。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
应当指出的是,关于以上示例,将发送信号通知的分母乘以2允许较大范围的分母值而不用发送信号通知附加位。此外,比率hor_phase_num^(2*phase_den)和ver_phase_num÷(2*phase_den)通常等于或小于1/2。hor_phase_num和ver_phase_num值大于phase_den的情况是不可能的。还应当指出的是,分母phase_den通常是偶数。
对于表9,在一个示例中,语义可以基于以下内容:
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置(hor_phase_num-128+phase_den)÷(2*phase_den)以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置(ver_phase_num-128+phase_den)÷(2*phase_den)以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
应当指出的是,关于以上示例,128是用于编码phase_den的u(8)范围的中点。当以0..1范围中的任意偏移对图片进行上采样时,使用参考图片重新采样(RPR)可能导致0..1范围之外的偏移。
在一个示例中,根据本文的技术,可发送信号通知标记以用于指示相位对于水平和垂直方向是否相同。表10示出了根据本文的技术的示例性相位指示SEI消息的语法。
表10
对于表10,语义可以基于以下内容:
same_hor_ver_phase等于0指定亮度采样位置相对于显示窗口的垂直位置可能与亮度采样位置相对于显示窗口的水平位置不同。
hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置hor_phase_num÷hor_phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于hor_phase_den。
ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置ver_phase_num÷ver_phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于ver_phase_den。当不存在时,推断ver_phase_num和ver_phase_den应分别等于hor_phase_num和hor_phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
应当指出的是,在一个示例中,hor_phase_num、hor_phase_den、phase_den、ver_phase_num及/或ver_phase_den的精度可小于8位。例如,hor_phase_num、hor_phase_den、ver_phase_num和ver_phase_den各自可以用4位来发送信号通知。用4位发送信号通知hor_phase_num、hor_phase_den、ver_phase_num和ver_phase_den具有减少信令开销同时保持数据字节对准的益处。
如以上语义中所提供,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。在一个示例中,根据本文的技术,上文所述的信令技术可结合phase_idc来使用。即,在一个示例中,发送信号通知的值可用于导出tex_offset的值。
例如,表11示出了根据本文的技术的示例性相位指示SEI消息的语法。
表11
对于表11,语义可以基于以下内容:
phase_idc指示如表12中所提供的tex_offset信息。phase_idc的值应在0至3的范围内(包括端值)。phase_idc的被指定为保留以供将来用于Rec.ITU-T H.273|ISO/IEC23091 2的值应不存在于符合此说明书的此版本的比特流中。
表12
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置hor_phase_num÷phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于phase_den。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置ver_phase_num÷phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于phase_den。
注意:可以在呈现过程期间使用相位指示符。例如,如果使用如OpenGL中的着色器,则纹理坐标可偏移,偏移量为与发送信号通知的水平和垂直相位指示符成比例的量。
即,假设将图片呈现为左下角在(-1,-1)且右上角在(1,1)的矩形,可使用phase_idc、hor_phase_num、ver_phase_num和phase_den来导出tex_offset的值,其中如下指定顶点着色器和片段着色器:
顶点着色器
·在vec2 pos中;//矩形的角的坐标
·在vec2 uv外;//纹理坐标(用于片段着色器)
·void main(){uv=0.5*vec2(1.0+pos.x,1.0-pos.y);}
片段着色器
·在vec2 uv中;//纹理坐标(来自顶点着色器)
·在vec4 color外;//采样位置的颜色
·均匀sampler2D tex;//纹理图像
·均匀vec2 tex_offset;//全局纹理偏移
·void main(){vec4 color=texture(tex,uv+tex_offset/
textureSize(tex));}
其中,vec2可以指两个浮点值的矢量。
在一个示例中,如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(0.5f-hor_phase_num/phase_den,ver_phase_num/phase_den-0.5f));
在一个示例中,如果纹理坐标系在左上角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(0.5f-hor_phase_num/phase_den,0.5f-ver_phase_num/phase_den));
表13A示出了根据本文的技术的示例性相位指示SEI消息的语法。
表13A
对于表13A,在一个示例中,语义可以基于以下内容:
hor_phase_num_plus128和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置0.5+((hor_phase_num_plus128-128)÷phase_den)定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_num_plus128和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置0.5+((ver_phase_num_plus128-128)÷phase_den)定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_num_plus128、ver_phase_num_plus128和phase_den导出tex_offset:
tex_offset=vec2((hor_phase_num_plus128-128)÷phase_den,(128-ver_phase_num_plus128)÷phase_den)
如果纹理坐标系在左上角中以(0,0)限定,则可如下从hor_phase_num_plus128、ver_phase_num_plus128和phase_den导出tex_offset:
tex_offset=vec2((hor_phase_num_plus128-128)÷phase_den,(ver_phase_num_plus128-128)÷phase_den)
表13B示出了根据本文的技术的示例性相位指示SEI消息的语法,其中发送信号通知单独的水平和垂直分母值。
/>
表13B
对于表13B,在一个示例中,语义可以基于以下内容:
hor_phase_num_plus128和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置0.5+((hor_phase_num_plus128-128)÷hor_phase_den)定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_num_plus128和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置0.5+((ver_phase_num_plus128-128)÷ver_phase_den)定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_num_plus128、ver_phase_num_plus128、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2((hor_phase_num_plus128-128)÷hor_phase_den,(128-ver_phase_num_plus128)÷ver_phase_den)
如果纹理坐标系在左上角中以(0,0)限定,则可如下从hor_phase_num_plus128、ver_phase_num_plus128、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2((hor_phase_num_plus128-128)÷hor_phase_den,(ver_phase_num_plus128-128)÷ver_phase_den)
表14A示出了根据本文的技术的示例性相位指示SEI消息的语法。
表14A
对于表14A,在一个示例中,语义可以基于以下内容:
hor_phase_sign、abs_hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置0.5+((1-2*hor_phase_sign)*abs_hor_phase_num)÷phase_den定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_sign、abs_ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置0.5+((1-2*ver_phase_sign)*abs_ver_phase_num)÷phase_den定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
在一个示例中,如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_sign、abs_hor_phase_num、ver_phase_sign、abs_ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(((1-2*hor_phase_sign)*abs_hor_phase_num)÷phase_den,((2*ver_phase_sign-1)*abs_ver_phase_num)÷phase_den)
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_sign、abs_hor_phasenum、ver_phase_sign、abs_ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(((1-2*hor_phase_sign)*abs_hor_phase_num)÷phase_den,((1-2*ver_phase_sign)*abs_ver_phase_num)÷phase_den)
表14B示出了根据本文的技术的示例性相位指示SEI消息的语法,其中发送信号通知单独的水平和垂直分母值。
表14B
对于表14B,在一个示例中,语义可以基于以下内容:
Hor_phase_sign、abs_hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置0.5+((1-2*hor_phase_sign)*abs_hor_phase_num)÷hor_phase_den定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_sign、abs_ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置0.5+((1-2*ver_phase_sign)*abs_ver_phase_num)÷ver_phase_den定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
在一个示例中,如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_sign、abs_hor_phase_num、ver_phase_sign、abs_ver_phase_num、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2(((1-2*hor_phase_sign)*abs_hor_phase_num)÷hor_phase_den,((2*ver_phase_sign-1)*abs_ver_phase_num)÷ver_phase_den)
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_sign、abs_hor_phasenum、ver_phase_sign、abs_ver_phase_num、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2(((1-2*hor_phase_sign)*abs_hor_phase_num)÷hor_phase_den,((1-2*ver_phase_sign)*abs_ver_phase_num)÷ver_phase_den)
表15A示出了根据本文的技术的示例性相位指示SEI消息的语法。
表15A
对于表15A,在一个示例中,语义可以基于以下内容:
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置0.5+hor_phase_num÷phase_den定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置0.5+ver_phase_num÷phase_den定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(hor_phase_num÷phase_den,-ver_phase_num÷phase_den)
如果纹理坐标系在左上角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num和phase_den导出tex_offset:
tex_offset=vec2(hor_phase_num÷phase_den,ver_phase_num÷phase_den)
表15B示出了根据本文的技术的示例性相位指示SEI消息的语法,其中发送信号通知单独的水平和垂直分母值。
表15B
对于表15B,在一个示例中,语义可以基于以下内容:
hor_phase_num和hor_phase_den指定亮度采样位置相对于显示窗口的水平位置。如果hor_phase_den等于0,则水平位置未被定义。否则,如果hor_phase_den大于0,则水平位置0.5+hor_phase_num÷hor_phase_den定义显示窗口与第一水平亮度采样位置之间的距离,以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。
ver_phase_num和ver_phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果ver_phase_den等于0,则垂直位置未被定义。否则,如果ver_phase_den大于0,则垂直位置0.5+ver_phase_num÷ver_phase_den定义显示窗口与第一垂直亮度采样位置之间的距离,以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。
如果纹理坐标系在左下角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2(hor_phase_num÷hor_phase_den,-ver_phase_num÷ver_phase_den)
如果纹理坐标系在左上角中以(0,0)限定,则可如下从hor_phase_num、ver_phase_num、hor_phase_den和ver_phase_den导出tex_offset:
tex_offset=vec2(hor_phase_num÷hor_phase_den,ver_phase_num÷ver_phase_den)
如上所述,可指定色度位置类型。在一些情况下,利用相同特定滤波器根据缩放因子对亮度样本和色度样本进行下采样可导致相对于亮度样本位置的色度样本位置不匹配针对色度位置类型ChromaLocType定义的条目中的任一条目。例如,对于色度位置类型2,当相同滤波器应用于色度样本时,利用偶滤波器根据缩放因子2对亮度样本进行下采样导致不能利用针对ChromaLocType定义的条目来表达的色度位置。在一些情况下,例如,对于色度位置类型0,当针对亮度和色度使用相同滤波器时,为了保持亮度和色度的相对位置与色度位置类型0一致,奇滤波器需要用于水平方向并且偶滤波器需要用于垂直方向。
关于对应于上文所述的表11和表12的示例,在一个示例中,根据本文的技术,HorizontalOffsetC和VerticalOffsetC可用于如下导出tex_offset_chroma:tex_offset_chroma=(0.5-HorizontalOffetC,0.5-VerticalOffsetC),其中如下指定顶点着色器和片段着色器:
顶点着色器
·在vec2 pos中;//矩形的角的坐标
·在vec2 uv外;//纹理坐标(用于片段着色器)
·void main(){uv=0.5*vec2(1.0+pos.x,1.0-pos.y);}
片段着色器
·在vec2 uv中;//纹理坐标(来自顶点着色器)
·在vec4 color外;//采样位置的颜色
·均匀sampler2D tex;//纹理图像
·均匀sampler2D tex_chroma;//纹理图像(色度)
·均匀vec2 tex_offset;//全局纹理偏移
·均匀vec2 tex_offset_chroma;//色度的全局纹理偏移
·void main(){
vec4 luma=texture(tex,uv+tex_offset/textureSize(tex));
vec4 chroma=texture(tex_chroma,uv+tex_offset/textureSize(tex)+tex_offset_chroma/textureSize(tex));
color=vec4(luma.r,chroma.r,chroma.g,1.0);
}
在一个示例中,根据本文的技术,可发送信号通知关于色度位置的信息。此外,在一个示例中,根据本文的技术,上文所述的信令技术可结合phase_idc来使用。例如,在一个示例中,phase_idc的语义可以基于以下内容:
phase_idc指示如表16中指定的视频的相位。phase_idc的值应在0至6的范围内(包括端值)。phase_idc的被指定为保留以供将来用于Rec.ITU-T H.273|ISO/IEC 23091 2的值应不存在于符合此说明书的此版本的比特流中。
表16
在一个示例中,根据本文的技术,表17示出了根据本文的技术的示例性相位指示SEI消息的语法。
表17
对于表17,语义可以基于以下内容:
same_hor_ver_phase等于0指定亮度采样位置相对于显示窗口的垂直位置可能与亮度采样位置相对于显示窗口的水平位置不同。
chroma_phase_idc指示色度特定语法元素的存在。如果chroma_phase_idc等于0,则不存在色度特定语法元素。如果chroma_phase_idc等于1,则存在特定于第一色度分量的语法元素。如果chroma_phase_idc等于2,则存在特定于第一和第二色度分量的语法元素。保留chroma_phase_idc的值3以供将来使用。
hor_phase_num和phase_den指定亮度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置hor_phase_num÷phase_den以两个水平相邻的亮度采样位置之间的水平距离为单位来表达。hor_phase_num应大于或等于0且小于或等于phase_den。
ver_phase_num和phase_den指定亮度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置ver_phase_num÷phase_den以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于phase_den。
cb_hor_phase_num和phase_den指定Cb色度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置cb_hor_phase_num÷phase_den以两个水平相邻的Cb色度采样位置之间的水平距离为单位来表达。cb_hor_phase_num应大于或等于0且小于或等于phase_den。当不存在时,将cb_hor_phase_num设置为等于hor_phase_num。
cb_ver_phase_num和phase_den指定Cb色度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置cb_ver_phase_num÷phase_den以两个垂直相邻的Cb色度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于phase_den。当不存在时,将cb_ver_phase_num设置为等于ver_phase_num。
cr_hor_phase_num和phase_den指定Cr色度采样位置相对于显示窗口的水平位置。如果phase_den等于0,则水平位置未被定义。否则,如果phase_den大于0,则水平位置hor_phase_num÷phase_den以两个水平相邻的Cr色度采样位置之间的水平距离为单位来表达。cr_hor_phase_num应大于或等于0且小于或等于phase_den。当不存在时,将cr_hor_phase_num设置为等于hor_phase_num。
cr_ver_phase_num和phase_den指定Cr色度采样位置相对于显示窗口的垂直位置。如果phase_den等于0,则垂直位置未被定义。否则,如果phase_den大于0,则垂直位置cb_ver_phase_num÷phase_den以两个垂直相邻的Cr色度采样位置之间的垂直距离为单位来表达。ver_phase_num应大于或等于0且小于或等于phase_den。当不存在时,将cb_ver_phase_num设置为等于ver_phase_num。
关于对应于上文所述的表16和表17的示例,在一个示例中,根据本文的技术,phase_chroma_idc、cb_hor_phase_num、cb_ver_phase_num、cr_hor_phase_num、cr_ver_phase_num和phase_den可用于导出tex_offset_chroma的值,其中如上文所提供指定顶点着色器和片段着色器。
应当指出的是,在一些示例中,phase_indication()可以被包括在vui_parameters()语法结构中。
应当指出的是,所提出的相位指示不仅可以用作呈现视频的指导。相位指示还可以在对解码视频执行其他操作时使用,诸如重新缩放、颜色转换、格式转换、代码转换、码率转换、混合、编辑或其他形式的后期制作。特别地,呈现是所公开的SEI消息的一个重要方面/用途。另一重要方面是使用相位指示对经解码视频执行正确滤波(例如,执行上采样)。利用正确相移的上采样对于不涉及呈现的情况也可能是有用的,例如在解码视频被代码转换为不同格式的情况下。
关于上文所述的示例性SEI消息,在一个示例中,消息的持久范围可(1)包含SEI消息的图片单元(PU)或(2)由SEI消息的语法指定。在一个示例中,相位指示SEI消息应用于当前解码图片并且持续用于当前层按输出顺序的所有后续图片,直到以下条件中的一者或多者为真:当前层的新CLVS开始;比特流结束;或者输出当前层中具有相关联相位指示SEI消息的图片,并且该图片按输出顺序在当前图片之后。在一个示例中,相位指示SEI消息应用于当前解码图片并且持续用于当前层按输出顺序具有与当前图片相同的ph_pic_parameter_set_id值的所有后续图片,直到以下条件中的一者或多者为真:当前层的新CLVS开始;比特流结束;或者输出当前层中具有相关联相位指示SEI消息和与当前图片相同的ph_pic_parameter_set_id值的图片,并且该图片按输出顺序在当前图片之后。
在一个示例中,相位指示SEI消息应用于具有以亮度样本为单位的经裁剪图片宽度和经裁剪图片高度(本文中分别由CroppedWidth和CroppedHeight表示)的当前经裁剪的解码图片,并且持续用于当前层按输出顺序具有与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值的所有后续图片,直到以下条件中的一者或多者为真:当前层的新CLVS开始;比特流结束;或者输出当前层中具有相关联相位指示SEI消息以及与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值的图片,并且该图片按输出顺序在当前图片之后。
在一个示例中,相位指示SEI消息应用于具有以亮度样本为单位的经裁剪图片宽度和经裁剪图片高度(本文中分别由CroppedWidth和CroppedHeight表示)的当前经裁剪的解码图片,并且持续用于当前层按输出顺序具有与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值的所有后续图片,直到以下条件中的一者或多者为真:当前层的新CLVS开始;比特流结束;或者按输出顺序在当前图片之后输出当前层中具有相关联相位指示SEI消息以及与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值的图片。
在一个示例中,相位指示SEI消息应用于具有以亮度样本为单位的经裁剪图片宽度和经裁剪图片高度(本文中分别由CroppedWidth和CroppedHeight表示)的当前经裁剪的解码图片,并且持续用于当前层按输出顺序具有与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值的所有后续图片,直到以下条件中的一者或多者为真:当前层的新CLVS开始;比特流结束;输出当前层中具有相关联相位指示SEI的图片并且该图片按输出顺序在当前图片之后,或者输出当前层中具有与当前图片相比不同的CroppedWidth值或具有与当前图片相比不同的CroppedHeight值的图片并且该图片按输出顺序在当前图片之后。
在一个示例中,可以将附加条件添加到上文列出的条件列表中。在一个示例中,条件“与当前图片相同的CroppedWidth值和与当前图片相同的CroppedHeight值”可进一步扩写为“以及与当前图片相同的pps_pic_width_in_luma_samples值和与当前图片相同的pps_pic_height_in_luma_samples值”。
以此方式,源设备102表示设备的示例,该设备被配置为:发送信号通知对应于编码视频序列的相位指示信息消息;在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的水平位置的语法元素,其中水平位置被表达为所指定的水平位置的发送信号通知的值减去128的差除以相位分母的商加上0.5;并且在相位指示信息消息中发送信号通知指定亮度采样位置相对于显示窗口的垂直位置的一个或多个语法元素,其中垂直位置被表达为所指定的垂直位置的发送信号通知的值减去128的差除以相位分母的商加上0.5。
再次参考图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可被配置为将视频数据输出到任何通信介质,如本文所述。
图11是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图(例如,用于上述参考图片列表构建的解码过程)。在一个示例中,视频解码器600可被配置为对变换数据进行解码并基于解码的变换数据从变换系数重构残差数据。视频解码器600可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。视频解码器600可被配置为解析上面在表1至表17中所述的语法元素的任何组合。视频解码器600可以基于或根据上述过程并且还基于表1至表17中的经解析值来呈现图片。
在图11所示的示例中,视频解码器600包括熵解码单元602、逆量化单元604、逆变换处理单元606、帧内预测处理单元608、帧间预测处理单元610、求和器612、后置滤波器单元614和参考缓冲器616。视频解码器600可被配置为以与视频编码系统一致的方式对视频数据进行解码。应当指出的是,尽管示出的示例性视频解码器600具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器600和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器600的功能。
如图11所示,熵解码单元602接收熵编码的比特流。熵解码单元602可被配置为根据与熵编码过程互逆的过程从比特流中解码语法元素和量化系数。熵解码单元602可被配置为根据上文所述的任何熵编码技术来执行熵解码。熵解码单元602可以与视频编码标准一致的方式确定编码的比特流中的语法元素的值。如图11所示,熵解码单元602可以从比特流确定量化参数、量化系数值、变换数据和预测数据。在该示例中,如图11所示,逆量化单元604和逆变换处理单元606从熵解码单元602接收量化系数值并输出重构残差数据。
再次参见图11,可以将重构残差数据提供给求和器612。求和器612可以将重构残差数据添加到预测视频块并且生成重构视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。帧内预测处理单元608可被配置为接收帧内预测语法元素并且从参考缓冲器616检索预测视频块。参考缓冲器616可以包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。帧间预测处理单元610可接收帧间预测语法元素并生成运动矢量,以识别存储在参考缓冲器616中的一个或多个参考帧中的预测块。帧间预测处理单元610可以生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以包括在语法元素中。帧间预测处理单元610可以使用内插滤波器来计算参考块的子整数像素的内插值。后置滤波器单元614可被配置为对重构视频数据执行滤波。例如,后置滤波器单元614可被配置为执行解块和/或样本自适应偏移(SAO)滤波,例如基于在比特流中指定的参数。此外,应当指出的是,在一些示例中,后置滤波器单元614可被配置为执行专用的任意滤波(例如,视觉增强,诸如蚊状噪声消除)。例如,后置滤波器单元614可被配置为基于上文所述的所接收的phase_indication()消息来执行呈现操作。如图11所示,视频解码器600可以输出重构的视频块。以此方式,视频解码器600表示设备的示例,该设备被配置为:接收相位指示信息消息;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的水平位置;基于相位指示信息消息中包括的一个或多个语法元素的经解析值来确定亮度采样位置相对于显示窗口的垂直位置;并且基于所确定的水平位置和垂直位置来呈现视频。
在一个或多个示例中,所述功能可以通过硬件、软件、固件或它们的任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
以举例而非限制的方式,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器,或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。
可以由一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种设备或装置(包括无线手机、集成电路(IC)或一组IC(例如,芯片组))中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。
此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实现或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立栅极或晶体管逻辑器或分立硬件部件或它们的组合。通用处理器可以是微处理器,或另选地,该处理器可以是常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。
已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
Claims (4)
1.一种发送信号通知视频数据的相位指示信息的方法,所述方法包括:
发送信号通知对应于编码视频序列的相位指示信息消息;
在所述相位指示信息消息中发送信号通知指示水平相位分子值的语法元素;
在所述相位指示信息消息中发送信号通知指示水平相位分母值的语法元素,其中亮度采样位置相对于渲染窗口的水平位置等于所指示的水平相位分子值与所指示的水平相位分母值的商,并且以两个水平相邻的亮度采样位置之间的水平距离为单位来表达;
在所述相位指示信息消息中发送信号通知指示垂直相位分子值的语法元素;以及
在所述相位指示信息消息中发送信号通知指示垂直相位分母值的语法元素,其中亮度采样位置相对于渲染窗口的垂直位置等于所指示的垂直相位分子值与所指示的垂直相位分母值的商,并且以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达,
其中所述相位指示消息应用于当前经裁剪的解码图片并且持续用于当前层按输出顺序具有与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的所有后续图片,直到输出所述当前层中具有相关联相位指示信息消息以及与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的图片,并且所述图片按输出顺序在所述当前图片之后。
2.一种对视频数据进行解码的方法,所述方法包括:
接收相位指示信息消息;
解析所述相位指示信息消息中指示水平相位分子值的语法元素;
解析所述相位指示信息消息中指示水平相位分母值的语法元素;
基于所指示的水平相位分子值和所指示的水平相位分母值来确定亮度采样位置相对于渲染窗口的水平位置,其中所述亮度采样位置相对于渲染窗口的水平位置等于所指示的水平相位分子值与所指示的水平相位分母值的商,并且以两个水平相邻的亮度采样位置之间的水平距离为单位来表达;
解析所述相位指示信息消息中指示垂直相位分子值的语法元素;
解析所述相位指示信息消息中指示垂直相位分母值的语法元素;以及
基于所指示的垂直相位分子值和所指示的垂直相位分母值来确定亮度采样位置相对于显示窗口的垂直位置,其中所述亮度采样位置相对于渲染窗口的垂直位置等于所指示的垂直相位分子值与所指示的垂直相位分母值的商,并且以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达,
其中所述相位指示消息应用于当前经裁剪的解码图片并且持续用于当前层按输出顺序具有与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的所有后续图片,直到输出所述当前层中具有相关联相位指示信息消息以及与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的图片,并且所述图片按输出顺序在所述当前图片之后。
3.一种设备,所述设备包括一个或多个处理器,所述一个或多个处理器被配置为:
接收相位指示信息消息;
解析所述相位指示信息消息中指示水平相位分子值的语法元素;
解析所述相位指示信息消息中指示水平相位分母值的语法元素;
基于所指示的水平相位分子值和所指示的水平相位分母值来确定亮度采样位置相对于渲染窗口的水平位置,其中所述亮度采样位置相对于渲染窗口的水平位置等于所指示的水平相位分子值与所指示的水平相位分母值的商,并且以两个水平相邻的亮度采样位置之间的水平距离为单位来表达;
解析所述相位指示信息消息中指示垂直相位分子值的语法元素;
解析所述相位指示信息消息中指示垂直相位分母值的语法元素;以及
基于所指示的垂直相位分子值和所指示的垂直相位分母值来确定亮度采样位置相对于显示窗口的垂直位置,其中所述亮度采样位置相对于渲染窗口的垂直位置等于所指示的垂直相位分子值与所指示的垂直相位分母值的商,并且以两个垂直相邻的亮度采样位置之间的垂直距离为单位来表达,
其中所述相位指示消息应用于当前经裁剪的解码图片并且持续用于当前层按输出顺序具有与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的所有后续图片,直到输出所述当前层中具有相关联相位指示信息消息以及与所述当前经裁剪的解码图片相同的经裁剪图片宽度和经裁剪图片高度的图片,并且所述图片按输出顺序在所述当前图片之后。
4.根据权利要求3所述的设备,其中所述设备包括视频解码器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/418494 | 2022-10-22 | ||
US202218073916A | 2022-12-02 | 2022-12-02 | |
US18/073916 | 2022-12-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917892A true CN117917892A (zh) | 2024-04-23 |
Family
ID=90729805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310118881.6A Pending CN117917892A (zh) | 2022-10-22 | 2023-02-06 | 在视频编码中发送信号通知下采样偏移信息的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117917892A (zh) |
-
2023
- 2023-02-06 CN CN202310118881.6A patent/CN117917892A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220394301A1 (en) | Systems and methods for signaling picture information in video coding | |
US11611778B2 (en) | Systems and methods for signaling general constraint information in video coding | |
US11695963B2 (en) | Systems and methods for signaling scaling window information in video coding | |
US11470357B2 (en) | Systems and methods for signaling decoding capability information in video coding | |
US20220353536A1 (en) | Systems and methods for signaling picture information in video coding | |
US11856236B2 (en) | Systems and methods for signaling sequence parameter information in video coding | |
US20220321919A1 (en) | Systems and methods for signaling neural network-based in-loop filter parameter information in video coding | |
US20220353537A1 (en) | Systems and methods for signaling subpicture information in video coding | |
WO2021153475A1 (en) | Systems and methods for signaling picture information in a slice header in video coding | |
US20220132151A1 (en) | Systems and methods for signaling tile group information in video coding | |
US20220103866A1 (en) | Systems and methods for signaling profile and level information in video coding | |
US20230068404A1 (en) | Systems and methods for signaling subpicture information in video coding | |
US11895310B2 (en) | Systems and methods for signaling operation range profile information in video coding | |
WO2021125145A1 (en) | Systems and methods for signaling picture output resolution in video coding | |
US20230016439A1 (en) | Systems and methods for signaling picture timing and decoding unit information in video coding | |
CN115428447A (zh) | 在视频编码中用于执行帧内预测的系统和方法 | |
WO2023085181A1 (en) | Systems and methods for signaling downsampling offset information in video coding | |
US20230128399A1 (en) | Systems and methods for signaling decoded picture buffer information in video coding | |
EP4358515A1 (en) | Systems and methods for signaling downsampling offset information in video coding | |
CN117917892A (zh) | 在视频编码中发送信号通知下采样偏移信息的系统和方法 | |
US20230134652A1 (en) | Systems and methods for applying deblocking filters in video coding | |
WO2023171513A1 (en) | Systems and methods for signaling sublayer non-reference information in video coding | |
WO2020230798A1 (en) | Systems and methods for signaling tile group information in video coding | |
CN117857789A (zh) | 更新视频数据的神经网络环路后滤波器信息的方法和设备 | |
CN117651132A (zh) | 发送信号通知神经网络环路后滤波器信息的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |