CN113632489A - 在视频编码中用于发送信号通知图块组信息的系统和方法 - Google Patents

在视频编码中用于发送信号通知图块组信息的系统和方法 Download PDF

Info

Publication number
CN113632489A
CN113632489A CN202080019098.9A CN202080019098A CN113632489A CN 113632489 A CN113632489 A CN 113632489A CN 202080019098 A CN202080019098 A CN 202080019098A CN 113632489 A CN113632489 A CN 113632489A
Authority
CN
China
Prior art keywords
tile
group
equal
picture
video
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
Application number
CN202080019098.9A
Other languages
English (en)
Inventor
萨钦·G·德施潘德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FG Innovation Co Ltd
Sharp Corp
Original Assignee
FG Innovation Co Ltd
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FG Innovation Co Ltd, Sharp Corp filed Critical FG Innovation Co Ltd
Publication of CN113632489A publication Critical patent/CN113632489A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/174Methods 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 an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种对视频数据进行解码的方法。该方法包括:接收图片参数集;以及从该图片参数集中解析第一语法元素,该第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。

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-TH.265功能的潜在增强视频编码技术。应当指出的是,JEM 7的编码特征在JEM参考软件中实现。如本文所用,术语JEM可统称包括在JEM 7中的算法以及JEM参考软件的具体实施。此外,响应于由VCEG和MPEG联合发布的“Joint Call for Proposals on Video Compressionwith Capabilities beyond HEVC”,在2018年4月16日至20日,在加利福尼亚州圣地亚哥的ISO/IEC JTC1/SC29/WG11的第10次会议上各种组提出了多种视频编码工具的描述并对其作出了响应。根据所述多种视频编码工具的描述,所得的视频编码规范的初始草案文本在以引用方式并入本文的“通用视频编码(草案1)”,在2018年4月16日至20日,在加利福尼亚州圣地亚哥的ISO/IEC JTC1/SC29/WG11的第10次会议的文档JVET-J1001-v2中有所描述,该文档以引用方式并入本文并且称为JVET-J1001。VCEG和MPEG的下一代视频编码标准的当前开发被称为通用视频编码(VVC)项目。“通用视频编码(草案4)”,ISO/IEC JTC1/SC29/WG11的第13次会议(2019年1月9日至18日,摩洛哥马拉喀什)的文档JVET-M1001-v5,表示对应于VVC项目的视频编码规范的草案文本的当前迭代,该文档以引用方式并入本文并被称为JVET-M1001。
视频压缩技术可减少存储和传输视频数据的数据需求。视频压缩技术可通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即:视频序列内的图片组、图片组内的图片、图片内的区域、区域内的子区域等)。可以使用帧内预测编码技术(例如:图片内的空间预测技术)和帧间预测技术(即:图片间技术(时间))来生成待编码的视频数据单元与视频数据的参考单元之间的差值。该差值可以被称为残差数据。残差数据可被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如:帧内预测模式索引和运动信息)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在形成兼容比特流的数据结构中。
发明内容
在一个示例中,提供了一种对视频数据进行解码的方法,该方法包括:接收图片参数集;以及从该图片参数集中解析第一语法元素,该第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
在一个示例中,提供了一种包括一个或多个处理器的设备,该一个或多个处理器被配置为:接收图片参数集;以及从该图片参数集中解析第一语法元素,该第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
附图说明
[图1]图1是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码和解码的系统的示例的框图。
[图2]图2是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。
[图3]图3是示出根据本公开的一种或多种技术封装编码视频数据和对应元数据的数据结构的概念图。
[图4]图4是示出根据本公开的一种或多种技术的可被包括在可被配置为对视频数据进行编码和解码的系统的具体实施中的部件的示例的概念图。
[图5]图5是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。
[图6]图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。
[图7]图7是示出根据本公开的一种或多种技术的编码视频数据和对应数据结构的概念图。
具体实施方式
一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体地,本公开描述了用于发送信号通知编码视频数据的图块组信息的技术。具体地讲,本公开描述了用于将图块组中具体定位的图块的索引指示和确定为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值的技术。应当指出的是,虽然本公开的技术是关于ITU-TH.264、ITU-T H.265、JEM和JVET-M1001描述的,但是本公开的技术可普遍应用于视频编码。例如:除了包括在ITU-T H.265、JEM和JVET-M1001中的那些技术,本文所述的编码技术可并入视频编码系统(包括基于未来视频编码标准的视频编码系统),包括视频块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术。因此,对ITU-T H.264、ITU-T H.265、JEM和/或JVET-M1001的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如:在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。
在一个示例中,发送信号通知用于解码视频数据的图块组信息的方法包括将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。
在一个示例中,设备包括一个或多个处理器,该一个或多个处理器被配置为将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。
在一个示例中,装置包括用于将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值的装置。
在一个示例中,对视频数据进行解码的方法包括:解析语法元素,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;以及基于索引来生成视频数据。
在一个示例中,设备包括一个或多个处理器,该一个或多个处理器被配置为:解析语法元素,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;并且基于索引来生成视频数据。
在一个示例中,非暂态计算机可读存储介质包括存储在其上的指令,这些指令在被执行时使得设备的一个或多个处理器:解析语法元素,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;并且基于索引来生成视频数据。
在一个示例中,装置包括用于解析语法元素的装置,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;和用于基于索引来生成视频数据的装置。
在以下附图和描述中阐述了一个或多个示例的细节。其他特征、目的和优点将从描述和附图以及权利要求书中显而易见。
视频内容包括由一系列帧(或图片)组成的视频序列。一系列帧也可以被称为一组图片(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-TH.265,一个亮度CB连同两个对应的色度CB和相关联的语法元素被称为编码单元(CU)。在ITU-T H.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-M1001中,CTU根据QTMT(quadtree plus multi-type tree,四叉树加多类型树)结构划分。JVET-M1001中的QTMT类似于JEM中的QTBT。然而,在JVET-M1001中,除了指示二元分割之外,多类型树还可指示所谓的三元(或TT(triple tree,三叉树))分割。三元分割将块竖直地或水平地划分成三个块。在竖直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-M1001,片段需要由整数个完整图块组成,而不是仅需要由整数个完整CTU组成。因此,在一些视频编码技术中,可以支持或可以不支持包括不形成图片的矩形区域的一组CTU的片段。此外,需要由整数个完整图块组成的片段称为图块组。本文所述的技术可适用于片段、图块和/或图块组。图2是示出包括图块组的图片组的示例的概念图。在图2所示的示例中,Pic3被示出为包括两个图块组(即:图块组1和图块组2)。应当注意,在一些情况下,图块组1和图块组2可被分类为片段和/或图块。
对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在ITU-TH.265中,已定义的可能的帧内预测模式包括平面(即:表面拟合)预测模式、DC(即:平坦的整体平均)预测模式,以及33个角度预测模式(predMode:2-34)。在JEM中,已定义的可能的帧内预测模式包括平面预测模式、DC预测模式,以及65个角度预测模式。应当指出的是,平面预测模式和DC预测模式可以被称为无方向预测模式,并且角度预测模式可以被称为方向预测模式。应当指出的是,无论已定义的可能预测模式的数量如何,本文描述的技术可以是普遍适用的。
对于帧间预测编码,确定参考图片,并且MV(motion vector,运动矢量)识别参考图片中用于生成当前视频块的预测的样本。例如:可以使用位于一个或多个先前编码的图片中的参考样本值来预测当前视频块,并且使用运动矢量来指示参考块相对于当前视频块的位置。运动矢量可描述例如:运动矢量的水平位移分量(即:MVx)、运动矢量的竖直位移分量(即:MVy)和运动矢量的分辨率(例如:四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)。先前解码的图片(其可包括在当前图片之前或之后输出的图片)可被组织进一个或多个参考图片列表,并且使用参考图片索引值来进行识别。此外,在帧间预测编码中,单预测是指使用来自单个参考图片的样本值来生成预测,双预测是指使用来自两个参考图片的相应样本值来生成预测。也就是说,在单预测中,单个参考图片和对应的运动矢量用于生成当前视频块的预测,并且在双预测中,第一参考图片和对应的第一运动矢量以及第二参考图片和对应的第二运动矢量用于生成当前视频块的预测。在双预测中,将相应的样本值进行组合(例如:相加、舍入和剪辑,或加权平均)以生成预测。图片及其区域可基于哪些类型的预测模式可用于对其视频块进行编码来进行分类。也就是说,对于具有B类型的区域(例如:B图块组),可以利用双预测、单预测和帧内预测模式,对于具有P类型的区域(例如:P图块组),可以利用单预测和帧内预测模式,并且对于具有I类型的区域(例如:I图块组),可以利用仅帧内预测模式。如上所述,通过参考索引识别参考图片。例如:对于P图块,可存在单个参考图片列表RefPicList0,并且对于B图块,除了RefPicList0之外,还可存在第二独立参考图片列表RefPicList1。应当指出的是,对于B图块中的单预测,可以使用RefPicList0或RefPicList1中的一者来生成预测。此外,需注意,在解码程序期间,在开始对图片进行解码时,从存储在DPB(decoded picture buffer,解码图片缓冲器)中的先前解码图片生成参考图片列表。
此外,编码标准可支持各种运动矢量预测模式。运动矢量预测使能够基于另一运动矢量来导出当前视频块的运动矢量的值。例如:可以从当前视频块的空间相邻块和时间相邻块导出具有相关联运动信息的一组候选块。此外,所生成的(或默认的)运动信息可用于运动矢量预测。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式以及“跳过”和“直接”运动推理。此外,运动矢量预测的其他示例包括高级时间运动矢量预测(ATMVP)和空间-时间运动矢量预测(STMVP)。对于运动矢量预测,视频编码器和视频解码器两者执行相同的程序以导出一组候选。因此,对于当前视频块,在编码和解码期间生成相同组的候选。
如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如:使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如:离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.265和JVET-M1001中,CU与在CU级具有其根的TU(transform unit,变换单元)结构相关联。也就是说,为了生成变换系数,可以对差值的阵列进行划分(例如:可以将四个8×8变换应用于16×16残差值阵列)。对于视频数据的每个分量,差值的此类再分可以被称为变换块(TB)。应当指出的是,在一些情况下,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。应当指出的是,在JVET-M1001中,可根据CU跳过模式对包括在P图块组或B图块组中的编码单元进行编码,其中当指示CU跳过模式时,根据运动矢量预测模式的子集对编码单元进行编码,并且直接根据预测对编码单元进行编码,即:不使用残差数据对视频块进行编码。
可以直接对变换系数或残差样本值执行量化过程(例如:就调色板编码量化而言)。量化通过限于一组指定值的振幅来逼近变换系数。量化实质上对变换系数进行缩放以便改变表示一组变换系数所需的数据量。量化可包括将变换系数(或将偏移值添加到变换系数所得的值)除以量化缩放因子和任何相关联的取整函数(例如:取整为最接近的整数)。量化的变换系数可以被称为系数位阶值。逆量化(或“去量化”)可以包括将系数位阶值与量化缩放因子相乘,以及任何倒数取整或偏移加法运算。应当指出的是,如本文所用,术语量化过程在一些情况下可指除以缩放因子以生成位阶值,并且在一些情况下可指乘以缩放因子以恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。此外,应当指出的是,虽然在下面的示例中的一些示例中关于与十进制记数法相关的算术运算描述了量化过程,但是这样的描述是为了说明的目的,并且不应该被解释为进行限制。例如:本文描述的技术可以在使用二进制运算等的设备中实现。例如:本文描述的乘法和除法运算可以使用移位运算等来实现。
可根据熵编码技术对量化的变换系数和语法元素(例如:指示视频块的编码结构的语法元素)进行熵编码。熵编码过程包括使用无损数据压缩算法对语法元素值进行编码。熵编码技术的示例包括内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等。熵编码的量化变换系数和对应的熵编码的语法元素可形成可用于在视频解码器处再现视频数据的兼容比特流。熵编码过程,例如:CABAC,可包括对语法元素进行二值化。二值化是指将语法元素的值转换为一个或多个位的序列的过程。这些位可以被称为“二进制码”。二值化可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断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。应当指出的是,可基于先前编码的箱的值来确定上下文,先前编码的箱包括当前语法元素和先前编码的语法元素中的箱。例如:与相邻视频块相关联的语法元素的值可以用于确定当前箱的上下文。
关于本文所用的公式,可使用以下算术运算符:
+加法
-减法
*乘法,包括矩阵乘法
xy求幂。将x指定为y的幂。在其他上下文中,此类符号用于上标而非旨在用于解释为求幂。
/将结果向着零截断的整数除法。例如:将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。
÷在不旨在进行截断或舍入情况下用于表示数学公式中的除法。
Figure BDA0003248243330000121
在不旨在进行截断或舍入情况下用于表示数学公式中的除法。
此外,可使用以下数学函数:
Log2(x),以2为底的x的对数;
Figure BDA0003248243330000131
Figure BDA0003248243330000132
Ceil(x),大于或等于x的最小整数。
关于本文使用的示例性语法,可以应用以下逻辑运算符的定义:x&&y x和y的布尔逻辑“和”
x||y x和y的布尔逻辑“或”
!布尔逻辑“否”
x?y:z如果x为TRUE或不等于0,则求值为y;
否则,求值为z。
此外,可以应用以下关系运算符:
>大于
≥大于或等于
<小于
≤小于或等于
==等于
!=不等于
此外,应当指出的是,在本文所用的语法描述符中,可以应用以下描述符:
-b(8):具有任何位串模式的字节(8位)。该描述符的解析过程由函数read_bits(8)的返回值指定。
-f(n):使用首先写入左位的n位(从左到右)的固定图案位串。该描述符的解析过程由函数readbits(n)的返回值指定。
-u(n):使用n位的无符号整数。
-ue(v):首先写入左位的无符号整数0阶Exp-Golomb编码语法元素。
-se(v):首先写入左位的带符号整数0阶Exp-Golomb编码语法元素。
如上所述,视频内容包括由一系列帧(或图片)组成的视频序列,并且每个视频帧或图片可划分成一个或多个区域。编码视频序列(CVS)可以被封装(或结构化)为一系列访问单元,其中每个访问单元包括被构造为网络抽象层(NAL)单元的视频数据。比特流可被描述为包括形成一个或多个CVS的NAL单元序列。应当指出的是,多层扩展使视频呈现能够包括基底层和一个或多个附加增强层。例如:基底层可以使得能够呈现具有基本质量水平(例如:高清晰度呈现和/或30Hz帧率)的视频呈现,并且增强层可以使得能够呈现具有增强的质量水平(例如:超高清渲染和/或60Hz帧率)的视频呈现。可以通过参考基底层来对增强层进行编码。也就是说,例如:可以通过参考基底层中的一个或多个图片(包括其缩放版本)来对增强层中的图片进行编码(例如:使用帧间预测技术)。每个NAL单元可以包括指示NAL单元与之相关联的视频数据层的标识符。应当指出的是,子比特流提取可以指通过丢弃和/或修改接收的比特流中的数据,接收兼容比特流的设备形成新的兼容比特流的过程。例如:子比特流提取可以用于形成对应于视频的特定表示(例如:高质量表示)的新的兼容比特流。
参考图2中所示的示例,Pic3中包括的每个视频数据图块组(即:图块组1和图块组2)被示出为封装在NAL单元中。在JVET-M1001中,视频序列、GOP、图片、图块组和CTU中的每一个可以与描述视频编码属性的元数据相关联。JVET-M1001定义了可用于描述视频数据和/或视频编码属性的参数集。在JVET-M1001中,参数集可以被封装为特殊类型的NAL单元,或者可以作为消息发送信号通知。包括编码视频数据(例如:图块组)的NAL单元可以被称为VCL(视频编码层)NAL单元,并且包括元数据(例如:参数集)的NAL单元可以被称为非VCLNAL单元。此外,JVET-M1001使得能够发送信号通知补充增强信息(SEI)消息。在JVET-M1001中,SEI消息协助与解码、显示或其他目的有关的过程,然而,可能不需要SEI消息来通过解码过程构造亮度或色度样本。在JVET-M1001中,可以使用非VCL NAL单元在比特流中发送信号通知SEI消息。此外,SEI消息可以通过某种方式传送,而不是通过存在于比特流中(即:在带外发送信号通知)。
如上所述,对于帧间预测编码,先前编码的图片中的参考样本用于对当前图片中的视频块进行编码。在对当前图片进行编码时可用作参考的先前编码的图片被称为参考图片。应当指出的是,解码顺序不一定对应于图片输出顺序,即:视频序列中图片的时间顺序。在ITU-T H.265中,当图片被解码时,其被存储到解码图片缓冲器(DPB)(DPB可以被称为帧缓冲器、参考缓冲器、参考图片缓冲器等)。在ITU-T H.265中,存储到DPB的图片在被输出时从DPB中移除,并且不再需要用于对后续图片进行编码。在ITU-T H.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}。然后将参考Pic-1对Pic4进行解码。标记图片以从DPB中移除的过程可以被称为参考图片集(RPS)管理。
图3示出了包括多个CVS的比特流的示例,其中CVS由包括在相应的访问单元中的NAL单元表示。在图3所示的示例中,非VCL NAL单元包括相应的参数集单元(即:序列参数集(SPS)和图片参数集(PPS)单元)、SEI消息NAL单元和访问单元界定符NAL单元。如上所述,在JVET-M1001中,非VCL NAL单元包括相应的参数集NAL单元。表1示出了JVET-M1001中提供的图片参数集语法。
Figure BDA0003248243330000161
Figure BDA0003248243330000171
表1
关于表1,JVET-M1001提供了以下语义:
pps_pic_parameter_set_id标识PPS以供其他语法元素引用。
pps_pic_parameter_set_id的值应在0至63(包括端值)的范围内。
pps_seq_parameter_set_id指定活动SPS的sps_seq_parameter_set_id的值。
pps_seq_parameter_set_id的值应在0至15(包括端值)的范围内。
single_tile_in_pic_flag等于1指定在引用PPS的每个图片中存在仅一个图块。
single_tile_in_pic_flag等于0指定在引用PPS的每个图片中存在多于一个图块。
比特流符合性要求,对于CVS内激活的所有PPS,smgle_tile_in_pic_flag的值应该是相同的。
num_tile_columns_minus1加1指定划分图片的图块列的数量。
num_tile_columns_minus1应在0至PicWidthlnCtbsY-1(包括端值)的范围内。当不存在时,推断num_tile_columns_minus1的值等于0。
num_tile_rows_minus1加1指定划分图片的图块行的数量。
num_tile_rows_minus1应在0至PicHeightlnCtbsY—1(包括端值)的范围内。当不存在时,推断num_tile_rows_minus1的值等于0。
变量NumTilesInPic被设置为等于(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)。
当single_tile_in_pic_flag等于0时,NumTilesInPic应大于1。
uniform_tile_spacing_flag等于1指定图块列边界和同样的图块行边界在整个图片上均匀地分布。uniform_tile_spacing_flag等于0的指定图块列边界和同样的图块行边界在整个图片上非均匀分布,而是使用语法元素tile_column_width_minus1[i]和tile_row_height_minus1[i]来明确地发送信号通知。当不存在时,推断uniform_tile_spacing_flag的值等于1。
tile_column_width_minus1[i]加1指定第i个图块列的宽度,单位为CTB。
tile_row_height_minus1[i]加1指定第i个图块列的高度,单位为CTB。
通过调用CTB光栅和图块扫描转换过程导出以下变量:
-列表ColWidth[i],其指定第i个图块列的宽度,单位为CTB,其中i在0至num_tile_columns_minus1(包括端值)的范围内,
-列表RowHeight[j],其指定第j个图块行的高度,单位为CTB,其中j在0至num_tile_rows_minus1(包括端值)的范围内,
-列表ColBd[i],其指定第i个图块列边界的位置,单位为CTB,其中i在0至num_tile_columns_minus1+1(包括端值)的范围内,
-列表RowBd[j],其指定第j个图块行边界的位置,单位为CTB,其中j在0至num_tile_rows_minus1+1(包括端值)的范围内,
-列表CtbAddrRsToTs[ctbAddrRs],其指定从图片的以CTB光栅扫描排序的CTB地址到以图块扫描排序的CTB地址的转换,其中ctbAddrRs在0至PicSizelnCtbsY-1(包括端值)的范围内,
-列表CtbAddrTsToRs[ctbAddrTs],其指定从以图块扫描排序的CTB地址到图片的以CTB光栅扫描排序的CTB地址的转换,其中ctbAddrTs在0至PicSizelnCtbsY-1(包括端值)的范围内,
-列表Tileld[ctbAddrTs],其指定从以图块扫描排序的CTB地址到图块ID的转换,其中ctbAddrTs在0至PicSizelnCtbsY-1(包括端值)的范围内,
-列表NumCtusInTile[tileIdx],其指定从图块索引到图块中CTU的数量的转换,其中tileIdx在0至NumTilesInPic-1(包括端值)的范围内,
-列表FirstCtbAddrTs[tileIdx],其指定从图块ID到图块中第一CTB在图块扫描中的CTB地址的转换,其中tileIdx在0至NumTilesInPic-1(包括端值)的范围内,
-列表ColumnWidthInLumaSamples[i],其指定第i个图块列的宽度,单位为亮度样本,其中i在0至num_tile_columns_minus1(包括端值)的范围内,
-列表RowHeightInLumaSamples[j],其指定第j个图块行的高度,单位为亮度样本,其中j在0至num_tile_rows_minus1(包括端值)的范围内。
ColumnWidthInLumaSamples[i],其中i在0至num_tile_columns_minus1(包括端值)的范围内,和RowHeightInLumaSamples[j],其中j在0至num_tile_rows_minus1(包括端值)的范围内,这些值均应大于0。
single_tile_per_tile_group等于1指定引用该PPS的每个图块组包括一个图块。
single_tile_per_tile_group等于0指定引用该PPS的图块组可包括多于一个图块。
rect_tile_group_flag等于0指定每个图块组内的图块以光栅扫描顺序排列并且在PPS中不发送信号传输图块组信息。rect_tile_group_flag等于1指定每个图块组内的图块覆盖图片的矩形区域并且在PPS中发送信号传输图块组信息。当single_tile_per_tile_group_flag等于1时,推断rect_tile_group_flag等于1。
num_tile_groups_in_pic_minus1加1指定引用PPS的每个图片中图块组的数量。
num_tile_groups_in_pic_minus1的值应在0至NumTilesInPic—1(包括端值)的范围内。当不存在并且single_tile_per_tile_group_fla等于1时,推断num_tile_groups_in_pic_minus1的值等于NumTilesInPic-1。
top_left_tile_idx[i]指定位于第i个图块组的左上角的图块的图块索引。对于任意不等于j的i,top_left_tile_idx[i]的值应不等于top_left_tile_idx[j]的值。当不存在时,推断top_left_tile_idx[i]的值等于i。top_left_tile_idx[i]语法元素的长度是Ceil(Log2(NumTilesInPic)位。
bottom_right_tile_idx[i]指定位于第i个图块组的右下角的图块的图块索引。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_idx[i]等于top_left_tile_idx[i]。bottom_right_tile_idx[i]语法元素的长度是Ceil(Log2(NumTilesInPic))位。
比特流符合性要求,任何特定图块应仅被包括在一个图块组中。
NumTilesInTileGroup[i]指定第i个图块组中图块的数量,该变量及其相关变量如下导出:
deltaTileIdx=bottom_right_tile_idx[i]-top_left_tile_idx[i]NumTileRowsInTileGroupMinus1[i]=deltaTileIdx/(num_tile_columns__minus1+1)NumTileColumnsInTileGroupMinus1[i]=deltaTileIdx%(num_tile_columns_minus1+1)
NumTilesTnTileGroup[i]=(NumTileRowsInTileGroupMinus1[i]+1)*(NumTileColumnsInTileGroupMinus1[i]+1)
loop_filter_across_tiles_enabled_flag等于1指定可跨引用PPS的图片中的图块边界执行循环中滤波操作。loop_filter_across_tiles_enabled_flag等于0指定不跨引用PPS的图片中的图块边界执行循环中滤波操作。循环中滤波操作包括解块滤波、样本自适应偏移滤波和自适应环路滤波操作。当不存在时,推断loop_filter_across_tiles_enabled__flag的值等于1。
loop_filter_across_tile_groups_enabled_flag等于1指定可跨引用PPS的图片中的图块组边界执行循环中滤波操作。loop_filter_across_tile_group_enabled_flag等于0指定不跨引用PPS的图片中的图块组边界执行循环中滤波操作。循环中滤波操作包括解块滤波、样本自适应偏移滤波和自适应环路滤波操作。当不存在时,推断loop_filter_across_tile_groups_enabled_flag的值等于0。
signalled_tile_group_id_flag等于1指定发送信号通知每个图块组的图块组ID。signalled_tile_group_index_flag等于0指定不发送信号通知图块组ID。当rect_tile_group_flag等于0时,推断signalled_tile_group_index_flag的值等于0。
signalled_tile_group_id_length_minus1加1指定用于表示语法元素tile_group_id[i](当存在时)的位的数量,并且指定图块组标头中的语法元素tile_group_address。signalled_tile_group_index_length_minus1的值应在0至15(包括端值)的范围内。当不存在时,推断signalled_tile_group_index_length_minus1的值等于Ceil(Log2(num_tile_groups_in_pic_minus1+1))-1。
tile_group_id[i]指定第i个图块组的图块组ID。tile_group_id[i]语法元素的长度是tile_set_id_length_minus1+1位。当不存在时,推断tile_group_id[i]的值等于i,其中每个i在0至num_tile_groups_in_pic_minus1(包括端值)的范围内。
num_ref_idx_default_active_minus1[i]加1用于:当i等于0时,指定用于P图块组或B图块组的变量NumRefIdxActive[0]的推断值,其中num_ref_idx_active_override_flag等于0;并且i当等于1时,指定B图块组的变量NumRefIdxActive[1]的推断值,其中num_ref_idx_active_override_flag等于0。num_ref_idx_default_active_minus1[i]的值应在0至14(包括端值)的范围内。
rpll_idx_present_flag等于0指定图块组标头中不存在ref_pic_list_sps_flag[1]和ref_pic_list_idx[1]。rpll_idx_present_flag等于1图块组标头中可存在rcfj?ic_list_sps_flag[1]和ref_pic_list_idx[1]。
init_qp_minus26加26指定引用PPS的每个图块组的TileGroupQpy的初始值。当解码tile_group_qp_delta的非零值时,在图块组层处修改TileGroupQpy的初始值。init_qp_minus26的值应在-(26+QpBdOffsety)至+37(包括端值)的范围内。
transform_skip_enabled_flag等于1指定变换单元语法中可存在transform_skip_flag。transform_skip_enabled__flag等于0指定变换单元语法中不存在transform_skip_flag。
log2_transform_skip_max_size_minus2指定用于变换跳过的最大块尺寸,并且应在0至3的范围内。
当不存在时,推断log2_transform_skip_max_size_minus2的值等于0。
将变量MaxTsSize设置为等于1<<(log2_transform_skip_max_size_minus2+2)。
cu_qp_delta_enabled_flag等于1指定PPS中存在diff_cu_qp_delta_depth语法元素并且变换单元语法中可存在cu_qp_delta_abs。cu_qp_delta_enabled_flag等于0指定PPS中不存在diff_cu_qp_delta_depth语法元素并且变换单元语法中不存在cu_qp_delta_abs。
diff_cu_qp_delta_depth指定传送cu_qp_delta_abs的最小编码树深度的编码单元和传送cu_qp_delta_sign_flag的最大编码树深度的编码单元之间的编码树深度差。diff_cu_qp_delta_depth的值范围如下指定:
-如果图块组类型等于1,则diff_cu_qp_delta_depth的值应在0至log2_ctu_size_minus2-log2_min_qt_size_intra_tile_group_minus2+MaxMttDepthY(包括端值)的范围内。
-否则(tile_group_type不等于1),则diff_cu_qp_delta_depth的值应在0至log2_ctu_size_minus2-log2_min_qt_size_inter_tile_group_minus2+MaxMttDepthY(包括端值)的范围内。
当不存在时,推断diff_cu_qp_delta_depth的值等于0。
pps_cb_qp_offset和pps_cr_qp_offset分别指定用于导出Qp'cb和Qp'cr的亮度量化参数Qp'Y的偏移。pps_cb_qp_offset和pps_cr_qp_offset的值应在-12至+12(包括端值)的范围内。当ChromaArrayType等于0时,在解码过程中不使用pps_cb_qp_offset和pps_cr_qp_offset,并且解码器应忽略其值。
pps_tile_group_chroma_qp_offsets_present_flag等于1指示相关联图块组标头中存在tile_group_cb_qp_offset和tile_group_cr_qp_offset语法元素。
pps_tile_group_chroma_qp_offsets_present_flag等于0指示相关联图块组标头中不存在这些语法元素。当ChromaArrayType等于0时,pps_tile_group_chroma_qp_offsets_present_flag应等于0。
weighted_pred_flag等于0指定对P图块组不应用加权预测。
weighted_pred_flag等于1指定对P图块组应用加权预测。
weighted_bipred_flag等于0指定对B图块组应用缺省加权预测。
weighted_bipred_flag等于1指定对B图块组应用加权预测。
deblocking_filter_controljpresent_flag等于1指定PPS中存在解块滤波器控制语法元素。deblocking_filter_control_present_flag等于0指定PPS中不存在解块滤波器控制语法元素。
deblocking_filter_override_enabled_flag等于1指定引用PPS的图片的图块组标头中存在deblocking_filter_override_flag。deblocking_filter_override_enabled_flag等于0指定引用PPS的图片的图块组标头中不存在deblocking_filter_override_flag。
当不存在时,推断deblocking_filter_override_enabled_flag的值等于0。
pps_deblocking_filter_disabled_flag等于1指定对其中不存在tile_group_deblocking_filter_disabled_flag的引用PPS的图块组不应用解块滤波器操作。
pps_deblocking_filter_disabled_flag等于0指定对其中不存在tile_group_deblocking_filter_disabled_flag的引用PPS的图块组应用解块滤波器操作。当不存在时,推断pps_deblocking_filter_disabled_flag的值等于0。
pps_beta_offset_div2和pps_tc_offset_div2指定应用于引用PPS的图块组的6和tC(除以2)的默认解块参数偏移,除非默认解块参数偏移被引用PPS的图块组标头中存在的解块参数偏移覆盖。pps_beta_offset_div2和pps_tc_offset_div2的值应都在-6至6(包括端值)的范围内。当不存在时,推断pps_beta_offset_div2和pps_tc_offset_div2的值等于0。
pps_extension_flag等于0指定PPS RBSP语法结构中不存在pps_extension_data_flag语法元素。pps_extension_flag等于1表示PPS RBSP语法结构中存在pps_extension_data_flag语法元素。
pps_extension_data_flag可具有任何值。其存在和值不影响解码器符合本说明书的该版本中所指定的配置文件。符合本说明书的该版本的解码器应忽略所有pps_extension_data_flag语法元素。
如上所述,在JVET-M1001中,图块组可与描述视频编码属性的元数据相关联。表2示出了JVET-M1001中提供的图块组标头语法。
Figure BDA0003248243330000261
Figure BDA0003248243330000271
Figure BDA0003248243330000281
Figure BDA0003248243330000291
表2
关于表2,JVET-M1001提供了以下语义:
当存在时,图块组标头语法元素tile_group_pic_parameter_set_id和tile_group_pic_order_cnt_lsb中的每一者的值在编码图片的所有图块组标头中都应相同。
tile_group_pic_parameter_set_id指定当前使用的PPS的pps_pic_parameter_set_id的值。tile_group_pic_parameter_set_id的值应在0至63(包括端值)的范围内。
比特流符合性要求,当前图片的TemporalId的值应大于或等于具有等于tile_group_pic_parameter_set_id的pps_pic_parameter_set_id的PPS的TemporalId的值。
tile_group_address指定图块组中第一图块的图块地址。当不存在时,推断tile_group_address的值等于0。
如果rect_tile_group_flag等于0,则以下适用:
-图块地址是如下指定的图块ID:
列表Tileld[ctbAddrTs]指定从以图块扫描排序的CTB地址到图块ID的转换,其中ctbAddrTs在0至PicSizelnCtbsY-1(包括端值)的范围内,该列表如下导出:
Figure BDA0003248243330000301
-图块组地址的长度是Ceil(Log2(NumTilesInPic))位。
-tile_group_address的值应在0至NumTilesInPic-1(包括端值)的范围内。
否则(rect_tile_group_flag等于1),则以下适用:
-图块地址是图块组的图块组ID。
-tile_group_address的长度是signalled_tile_group_index_length minus+1位。
-如果signalled_tile_group_id_flag等于0,则tile_group_address的值应在0至num_tile_groups_in_pic_minus1(包括端值)的范围内。否则,tile_group_address的值应在0至2(signalled_tile_group_index_length_minus1+1)-1(包括端值)的范围内。
比特流符合性要求应用以下约束条件:
-tile_group_address的值应不等于同一编码图片的任何其他编码图块组NAL单元的tile_group_address的值。
-图片的图块组应按照其tile_group_address值的升序排列。
-图片的图块组的形状应使得每个图块在被解码时将使其整个左边界和整个顶边界由图片边界组成或由先前解码的图块的边界组成。
当存在时,num_tiles_in_tile_group_minus1指定图块组中图块的数量减1。num_tiles_in_tile_group_minus1的值应在0至NumTilesInPic-1(包括端值)的范围内。当不存在时,推断num_tiles_in_tile_group_minus1的值等于0。
变量NumTilesInCurrTileGroup指定当前图块组中图块的数量,并且变量TgTileIdx[i]指定第i个图块组中第i个图块的图块索引,这些变量如下导出:
Figure BDA0003248243330000311
tile_group_type指定根据表3的图块组的编码类型。
tile_group_type tile_group_type的名称
0 B(B图块组)
1 P(P图块组)
2 I(I图块组)
表3
当nal_unit_type等于IRAP_NUT时,即:图片是IRAP图片时,tile_group_type应等于2。
tile_group_pic_order_cnt_lsb指定当前图片的图片次序计数模数MaxPicOrderCntLsb。tile_group_pic_order_cnt_lsb语法元素的长度是log2_max_pic_order_cnt_lsb_minus4+4位。tile_group_pic_order_cnt_lsb的值应在0至MaxPicOrderCntLsb-1(包括端值)的范围内。
ref_pic_list_sps_flag[i]等于1指定当前图片的参考图片列表i基于活动SPS中的ref_pic_list_struct(listIdx,rplsIdx)语法结构中的一者导出,其中listIdx等于i。
ref_pic_list_sps_flag[i]等于0指定当前图片的参考图片列表i基于直接包括在当前图片的图块组标头中的ref_pic_list_struct(listIdx,rplsIdx)语法结构导出,其中listIdx等于i。当num_ref_pic_lists_in_sps[i]等于0时,推断ref_pic_list_sps_flag[i]的值等于0。当rpl1_idx_present_flag等于0时,推断ref_pic_list_sps_flag[1]的值等于ref_pic_list_sps_flag[0]。
ref_pic_list_idx[i]指定进入包括在活动SPS中的ref_pic_list_struct(listIdx,rplsIdx)语法结构的列表中的索引,其中listIdx等于i;进入用于导出当前图片的参考图片列表i的ref_pic_list_struet(listIdx,rplsIdx)语法结构的列表中的索引,其中listIdx等于i。语法元素rcf_pic_list_idx[i]由Ceil(Log2(num_ref_pic_lists_in_sps[i]))位表示。当不存在时,推断ref_pic_list_idx[i]的值等于0。ref_pic_list_idx[i]的值应在0至num_ref_pic_lists_in_sps[i]—1(包括端值)的范围内。当ref_pic_list_sps_flag[i]等于1并且num_ref_pic_lists_in_sps[i]等于1时,推断ref_pic_list_idx[i]的值等于0。当ref_pic_list_sps_flag[i]等于1并且rpl1_idx_present_flag等于0时,推断ref_pic_list_idx[1]的值等于ref_pic_list_idx[0]。
变量RplsIdx[i]如下导出:
RplsIdx[i]=ref_pic_list_sps_flag[i]?ref_pic_list_idx[i]:num_ref_pic_lists insps[i]
delta_poc_msb_present_flag[i][j]等于1指定存在delta_poc_msb_cycle_lt[i][j]。delta_poc_msb_present_flag[i][j]等于0指定不存在delta_poc_msb_cycle_lt[i][j]。
令prevTid0Pic是解码次序中TemporalId等于0的先前图片并且不是RASL或RADL图片。令setOfPrevPocVals是由以下组成的组:
-prevTid0Pic的PicOrderCntVal,
-由prevTid0Pic的RefPicList[0]中的条目和RefPicList[1]中的条目引用的每个图片的PicOrderCntVal,
-在解码顺序中在prevTid0Pic之后并且在解码顺序中在当前图片之前的每个图片的PicOrderCntVal。
当值模数MaxPicOrderCntLsb等于poc_lsb_lt[i][RplsIdxt[i]][j]的setOfPrevPocVals中存在多于一个值时,delta_poc_msb_present_flag[i][j]的值应等于1。
delta_poc_msb_cycle_lt[i][j]如下指定变量FullPocLt[i][j]的值:
Figure BDA0003248243330000331
delta_poc_msb_cycle_lt[i][j]的值应在0至2(32-iog2_max_pic_order_cnt_lsb_minus4-4))(包括端值)的范围内。当不存在时,推断delta_poc_msb_cycle_lt[i][j]的值等于0。num_ref_idx_active_override_flag等于1指定对于P图块组和B图块组存在语法元素num_ref_idx_active_minus1[0],对于B图块组存在语法元素num_ref_idx_active_minus1[1]。num_ref_idx_active_override_flag等于0指定不存在语法元素num_ref_idx_active_minus 1[0]和num_ref_idx_active_minus1[1]。
num_ref_idx_active_minus1[i]用于导出如下指定的变量NumRefIdxActive[i]。
num_ref_idx_active_minus1[i]的值应在0至14(包括端值)的范围内。
对于i等于0或1,当当前图块组是B图块组,num_ref_idx_active_override_flag等于1,并且不存在num_ref_idx_active_minus1[i]时,推断num_ref_idx_active_minus1[i]等于0。
当当前图块组是P图块组,num_ref_idx_active_override_flag等于1,并且不存在
num_ref_idx_active_minus1[0]时,推断num_ref_idx_active_minus1[0]等于0。
变量NumRefIdxActive[i]如下导出:
Figure BDA0003248243330000341
NumRefIdxActive[i]-1的值指定可用于对图块组进行解码的参考图片列表i的最大参考索引。当NumRefIdxActive[i]的值等于0时,没有参考图片列表i的参考索引可用于对图块组进行解码。
变量CurrPicIsOnlyRef指定当前解码图片是当前图块组的唯一参考图片,该变量如下导出:
CurrPicIsOnlyRef=sps_cpr_enabled_flag&&(tile_group_type==P)&&(num_ref_idx_active_minus1[0]==0)
partition_constraints_override_flag等于1指定图块组标头中存在划分约束参数。partition_constraints_override_flag等于0指定图块组标头中不存在划分约束参数。当不存在时,推断partition_constraints_override_flag的值等于0。
tile_group_log2_diff_min_qt_min_cb_luma指定由CTU的四叉树分割产生的亮度叶片块的亮度样本中最小尺寸的以2为底的对数与当前图块组中亮度CU的亮度样本中最小编码块尺寸的以2为底的对数之间的差值。
tile_group_log2_diff_min_qt_min_cb_luma的值应在0至CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,如下推断tile_group_log2_diff_min_qt_min_cb_luma的值:
-如果tile_group_type等于2(I),则推断tile_group_log2_diff_min_qt_min_cb_luma的值等于sps_log2_diff_min_qt_min_cb_intra_tile_group_luma
-否则(tile_group_type等于0(B)或1(P)),推断tile_group_log2_diff_min_qt_min_cb_luma的值等于sps_log2_diff_min_qt_min_cb_inter_tile_group。
tile_group_max_mtt_hierarchy_depth_luma指定由当前图块组中的四叉树叶的多类型树分割产生的编码单元的最大分级结构深度。tile_group_max_mtt_hierarchy_depth_luma的值应在0至CtbLog2SizeY—MinCbLog2SizeY(包括端值)的范围内。当不存在时,如下推断tile_group_max_mtt_hierarchy_depth_luma的值:
-如果tile_group_type等于2(I),则推断tile_group_max_mtt_hierarchy_depth_luma的值等于sps_max_mtt_hierarchy_depth_intra_tile_group_luma
-否则(tile_group_type等于0(B)或1(P)),推断tile_group_max_mtt_hierarchy_depth_luma的值等于sps_max_mtt_hierarchy_depth_inter_tile_group。
tile_group_log2_diff_max_bt_min_qt_luma指定可以使用二元分割进行分割的亮度编码块的亮度样本中最大尺寸(宽度或高度)的以2为底的对数与由当前图块组中CTU的四叉树分割产生的亮度叶片块的亮度样本中最小尺寸(宽度或高度)的以2为底的对数之间的差值。tile_group_log2_diff_max_bt_min_qt_luma的值应在0至CtbLog2SizeY—MinQtLog2SizeY(包括端值)的范围内。当不存在时,如下推断tile_group_log2_diff_max_bt_min_qt_luma的值:
-如果tile_group_type等于2(I),则推断tile_group_log2_diff_max_bt_min_qt_luma的值等于sps_log2_diff_max_bt_min_qt_intra_tile_group_luma
-否则(tile_group_type等于0(B)或1(P)),推断tile_group_log2_diff_max_bt_min_qt_luma的值等于sps_log2_diff_max_bt_min_qt_inter_tile_group。
tile_group_Iog2_diff_max_tt_min_qt_Iuma指定可以使用三元分割进行分割的亮度编码块的亮度样本中最大尺寸(宽度或高度)的以2为底的对数与由当前图块组中CTU的四叉树分割产生的亮度叶片块的亮度样本中最小尺寸(宽度或高度)的以2为底的对数之间的差值。tile_group_log2_diff_max_tt_min_qt_luma的值应在0至CtbLog2SizeY—MinQtLog2SizeY(包括端值)的范围内。当不存在时,如下推断tile_group_log2_diff_max_tt_min_qt_luma的值:
-如果tile_group_type等于2(I),则推断tile_group_log2_diff_max_tt_min_qt_luma的值等于sps_log2_diff_max_tt_min_qt_intra_tile_group_luma
-否则(tile_group_type等于0(B)或1(P)),推断tilegroup_log2_diff_max_tt_min_qt_luma的值等于sps_log2_diff_max_tt_min_qt_inter_tile_group。
tile_group_log2_diff_min_qt_min_cb_chroma指定由treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树分割产生的色度叶片块的亮度样本中最小尺寸的以2为底的对数与当前图块组中treeType等于DUALTREE_CHROMA的色度CU的亮度样本中最小编码块尺寸的以2为底的对数之间的差值。tile_group_log2_diff_min_qt_min_cb_chroma的值应在0至CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,推断tile_group_log2_diff_min_qt_min_cb_chroma的值等于sps_log2_diff_min_qt_min_cb_intra_tile_group_chroma。
tile_group_max_mtt_hierarchy_depth_chroma指定由当前图块组中具有treeType等于DUAL_TREE_CHROMA的四叉树叶的多类型树分割产生的编码单元的最大分级结构深度。tile_group_max_mtt_hierarchy_depth_chroma的值应在0至CtbLog2SizeY-MinCbLog2SizeY(包括端值)的范围内。当不存在时,推断tile_group_max_mtt_hierarchy_depth_chroma的值等于sps_max_mtt_hierarchy_depth_intra_tile_groups_chroma。
tile_group_log2_diff_max_bt_min_qt_chroma指定可以使用二元分割进行分割的色度编码块的亮度样本中最大尺寸(宽度或高度)的以2为底的对数与由当前图块组中具有treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树分割产生的色度叶片块的亮度样本中最小尺寸(宽度或高度)的以2为底的对数之间的差值。tile_group_log2_diff_max_bt_min_qt_chroma的值应在0至CtbLog2SizeY-MinQtLog2SizeC(包括端值)的范围内。当不存在时,推断tile_group_log2_diff_max_bt,,min_qt_chroma的值等于sps_log2_diff_max_bt_min_qt_intra_tile_group_chroma。
tile_group_log2_diff_max_tt_min_qt_chroma指定可以使用三元分割进行分割的色度编码块的亮度样本中最大尺寸(宽度或高度)的以2为底的对数与由当前图块组中具有treeType等于DUAL_TREE_CHROMA的色度CTU的四叉树分割产生的色度叶片块的亮度样本中最小尺寸(宽度或高度)的以2为底的对数之间的差值。tile_group_log2_diff_max_tt_min_qt_chroma的值应在0至CtbLog2SizeY-MinQtLog2SizeC(包括端值)的范围内。当不存在时,推断tile_group_log2_diff_max_tt_min_qt_chroma的值等于sps_log2_diff_max_tt_min_qt_intra_tile_group_chroma。
变量MinQtLog2SizeY、MinQtLog2SizeC、MinQtSizeY、MinQtSizeC、MaxBtSizeY、MaxBtSizeC、MinBtSizeY、MaxTtSizeY、MaxTtSizeC、MinTtSizeY、MaxMttDepthY和MaxMttDepthC如下导出:
MinQtLog2SizeY=
MinCbLog2SizeY+tile_group_log2_diff_min_qt_min_cb_luma
MinQtLog2SizeC=
MinCbLog2SizeY+tile_group_log2_diff_min_qt_min_cb_chroma
MinQtSizeY=1<<MinQtLog2SizeY
MinQtSizeC=1<<MinQtLog2SizeC
MaxBtSizeY=
1<<(MinQtLog2SizeY+tile_group_log2_diff_max_bt_min_qt_luma)
MaxBtSizeC=
1<<(MinQtLog2SizeC+tile_group_log2_diff_max_bt_min_qt_chroma)
MinBtSizeY=1<<MinCbLog2SizeY
MaxTtSizeY=
1<<(MinQtLog2SizeY+tile_group_log2_diff_max_tt_min_qt_luma)
MaxTtSizeC=
1<<(MinQtLog2SizeC+tile_group_log2_diff_max_tt_min_qt_chroma)
MinTtSizeY=1<<MinCbLog2SizeY
MaxMttDepthY=tile_group_max_mtt_hierarchy_depth_luma
MaxMttDepthC=tile_group_max_mtt_hierarchy_depth_chroma
tile_group_temporal_mvp_enabled_flag指定时间运动矢量预测器是否可以用于帧间预测。如果tile_group_temporal_mvp_enabled_flag等于0,则应约束当前图片的语法元素,使得在对当前图片进行解码时不使用时间运动矢量预测器。否则(tile_group_temporal_mvp_enabled_flag等于1),在对当前图片进行解码时使用时间运动矢量预测器。当不存在时,推断tile_group_temporal_mvp_enabled_flag的值等于0。
mvd_l1_zero_flag等于1指示mvd_coding(x0,y0,1)语法结构未被解析,并且对于compIdx=0…1,MvdLl[x0][y0][compIdx]被设置为等于0。mvd_l1_zero_flag等于0指示mvd_coding(x0,y0,1)语法结构被解析。
collocated_from_10_flag等于1指定从参考图片列表0导出用于时间运动矢量预测的并置图片。collocated_from_10_flag等于0指定从参考图片列表1导出用于时间运动矢量预测的并置图片。当collocated_from_10_flag不存在时,推断其等于1。
six_minus_max_num_merge_cand指定6减去图块组中支持的合并运动矢量预测(MVP)候选的最大数量。合并MVP候选的最大数量MaxNumMergeCand如下导出:
MaxNumMergeCand=6-six_minus_max_num_merge_cand
MaxNumMergeCand的值应在1至6(包括端值)的范围内。
five_minus_max_num_subblock_merge_cand指定5减去图块组中支持的基于子块的合并运动矢量预测(MVP)候选的最大数量。当five_minus_max_num_subblock_merge_cand不存在时,推断其等于5-sps_sbtmvp_enabled_flag。基于子块的合并MVP候选的最大数量MaxNumSubblockMergeCand如下导出:
MaxNumSubblockMergeCand=5-five_minus_max_num_subblock_merge_candMaxNumSubblockMergeCand的值应在0至5(包括端值)的范围内。
tile_group_fpel_mmvd_enabled_flag等于1指定具有运动矢量差值的合并模式使用当前图块组中的整数样本精度。tile_group_fpel_mmvd_enabled_flag等于0指定具有运动矢量差值的合并模式可以使用当前图块组中的分数样本精度。当不存在时,推断tile_group_fpel_mmvd_enabled_flag的值等于0。
tile_group_qp_delta指定要用于图块组中的编码块的QPY的初始值,直到该初始值被编码单元层中的CuQpDeltaVal的值修改。图块组TileGroupQPY的QPY量化参数的初始值如下导出:
TileGroupQPY=26+init_qp_minus26+tile_group_qp_delta
TileGroupQPY的值应在-QpBdOffsetY至63(包括端值)的范围内。
tile_group_cb_qp_offset指定当确定Qp'Cb量化参数的值时要加到pps_cb_qp_offset的值的差值。tile_group_cb_qp_offset的值应在-12至+12(包括端值)的范围内。
当tile_group_cb_qp_offset不存在时,推断其等于0。pps_cb_qp_offset+tile_group_cb_qp_offset的值应在-12至+12(包括端值)的范围内。
tile_group_cr_qp_offset指定当确定Qp'Cr量化参数的值时要加到pps_cr_qp_offset的值的差值。tile_group_cr_qp_offset的值应在-12至+12(包括端值)的范围内。
当tile_group_cr_qp_offset不存在时,推断其等于0。pps_cr_qp_offset+tile_group_cr_qp_offset的值应在-12至+12(包括端值)的范围内。
tile_group_sao_luma_flag等于1指定针对当前图块组中的亮度分量启用SAO;
tile_group_sao_luma_flag等于0指定针对当前图块组中的亮度分量禁用SAO。
当tile_group_sao_luma_flag不存在时,推断其等于0。
tile_group_sao_chroma_flag等于1指定针对当前图块组中的色度分量启用SAO;tile_group_sao_chroma_flag等于0指定针对当前图块组中的色度分量禁用SAO。当tile_group_sao_chroma_flag不存在时,推断其等于0。
tile_group_alf_enabled_flag等于1指定自适应回路滤波器被启用并且可应用于图块组中的Y、Cb或Cr颜色分量。tile_group_alf_enabled_flag等于0指定自适应回路滤波器被禁用于图块组中的所有颜色分量。
tile_group_aps_id指定图块组引用的APS的adaptation_parameter_set_id。APSNAL单元的具有等于tile_group_aps_id的adaptation_parameter_set_id的TemporalId应小于或等于编码图块组NAL单元的TemporalId。
当同一图片的两个或更多个图块组引用具有相同adaptation_parameter_set_id值的多个APS时,具有相同adaptationjparameter_set_id值的多个APS应具有相同的内容。
dep_quant_enabled_flag等于0指定禁用依赖量化。dep_quant_enabled_flag等于1指定启用依赖量化。
sign_data_hiding_enabled_flag等于0指定禁用符号位隐藏。sign_data_hiding_enabled_flag等于1指定启用符号位隐藏。当sign_data_hiding_enabled_flag不存在时,推断其等于0。
deblocking_filter_override_flag等于1指定图块组标头中存在解块参数。deblocking_filter_override_flag等于0指定图块组标头中不存在解块参数。当不存在时,推断deblocking_filter_override_flag的值等于0。
tile_roup_deblocking_filter_disabled_flag等于1指定对当前图块组不应用解块滤波器操作。tile_group_deblocking_filter_disabled_flag等于0指定对当前图块组应用解块滤波器操作。当tile_group_deblocking_filter_disabled_flag不存在时,推断其等于pps_deblocking_filter_disabled_flag。
tile_group_beta_offset_div2和tile_group_tc_offset_div2指定当前图块组的6和tC(除以2)的解块参数偏移。tile_group_beta_offset_div2和tile_group_tc_offset_div2的值应都在-6至6(包括端值)的范围内。当不存在时,推断tile_group_beta_offset_div2和tile_group_tc_offset_div2的值分别等于pps_beta_offset_div2和pps_tc_offset_div2。
offset_len_minus1加1指定entry_point_offset_minus1[i]语法元素的长度,单位为位。offset_len_minus 1的值应在0至31(包括端值)的范围内。
entry_point_offset_minus1[i]加1指定第i个入口点偏移,单位为字节,并且由offset_len_minus1加1位表示。图块组标头之后的图块组数据由NumTilesInCurrTileGroup个子集组成,其中子集索引值在0至NumTilesInCurrTileGroup-1(包括端值)的范围内。
图块组数据的第一字节被认为是字节0。当存在时,出于子集识别的目的,将出现在编码图块组NAL单元的图块组数据部分中的防竞争字节计数为图块组数据的一部分。子集0由编码图块组数据的字节0至entry_point_offset_minus1[0](包括端值)组成,子集k(其中k在1至NumTilesInCurrTileGroup-2(包括端值)的范围内)由编码图块组数据的字节firstByte[k]至lastBytc[k](包括端值)组成,其中firstByte[k]和lastByte[k]定义为:
Figure BDA0003248243330000421
lastByte[k]=firstByte[k]+entry_point_offset_minus1[k]
最后一个子集(其中子集索引等于NumTilesInCurrTileGroup-1)由编码图块组数据的剩余字节组成。
每个子集应由图块组中位于同一图块内的所有CTU的所有编码位组成。
JVET-M1001中提供的图片参数集和图块组标头的语法和语义可能不太理想。
具体地讲,指定图块和/或图块组位于图片内何处的信息的方式可能不太理想。本公开描述了用于有效地指定图块和/或图块组位于图片内何处的技术。
根据本文所述的技术,视频编码器可以使用本文所述的语法和语义发送信号通知图块组信息等。视频解码器可以通过解析使用本文所述的语法和语义的信令来确定图块组信息等,并且基于所解析的信令来执行视频解码。
图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-M1001中,指定图块和/或图块组位于图片内何处的信息的方式可能不太理想。在一个示例中,根据本文的技术,位于第i个图块组右下角的图块的右下图块索引可被指定为相对于位于该第i个图块组左上角的图块索引(top_right_tile_idx[i])的图块索引差值。以这种方式为位于第i个图块组右下角的图块指定右下图块索引产生位节省。
表3示出了根据本文的技术的示例性图片参数集语法,其用于为位于第i个图块组右下角的图块指定右下图块索引。
Figure BDA0003248243330000511
Figure BDA0003248243330000521
表3
关于表3,语法元素bottom_right_tile_idx_delta的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
bottom_right_tile_idx_delta[i]指定位于第i个图块组右下角的图块的图块索引与位于第i个图块组左上角的图块的图块索引(即:top_left_tile_idx[i])之间的差值。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_idx_delta[i]等于0。bottom_right_tile_idx_delta[i]语法元素的长度是Ceil(Log2(NumTilesInPic-top_left_tile_idx[i]))位。
比特流符合性要求,任何特定图块应仅被包括在一个图块组中。
NumTilesInTileGroup[i]指定第i个图块组中图块的数量,该变量及其相关变量如下导出:
BottomRightTileIdx[i]=top left tile_idx[i]+bottom_right_tile_idx_delta[i]
deltaTileIdx=bottom_right_tile_idx_delta[i]
NumTileRowsInTileGroupMinus1[i]=deltaTileIdx/(num_tile_columns_minus1+1)
NumTileColumnsInTileGroupMinus1[i]=deltaTileIdx%(num_tile_columns_minus1+1)
NumTilesInTileGroup[i]=(NumTileRowsInTileGroupMinus1[i]+1)*(NumTileColumnsInTileGroupMinus1[i]+1)
在另一示例中,可如下推断变量NumTilesInTileGroup:
NumTileRowsInTileGroupMinus1[i]=bottom_right_tile_idx_delta[i]/(num_tile_columns_minus1+1)
NiunTileColumnsInTileGroupMinus1[i]=bottom_right_tile_idx_delta[i]%(num_tile_columns_minus1+1)
NumTilesInTileGroup[i]=(NumTileRowsInTileGroupMinus1[i]+1)*(NumTileColumnsInTileGroupMinus1[i]+1)
关于表3,语法元素single_tile_per_tile_group的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
single_tile_per_tile_group等于1指定引用该PPS的每个图块组包括一个图块。
single_tile_per_tile_group等于0指定引用该PPS的图块组可包括多于一个图块。
当不存在时,推断single_tile_per_tile_group_flag等于1。
在另一示例中:当不存在时,推断single_tile_per_tile_group flag等于0。
在一个示例中,根据本文的技术,位于第i个图块组左上角的图块的左上图块索引可被指定为相对于位于该第i-1个图块组左上角的图块索引的图块索引差值。为此,当发送信号通知关于PPS中的图块组的信息时,图块组以左上图块索引的升序排序。以这种方式指定左上图块索引产生位节省。另外,以这种顺序发送信号通知图块组信息允许更容易地进行错误检查,并且提供关于图块组的信令的更结构化且已知的方式。
表4示出了根据本文的技术的示例性图片参数集语法,其用于将位于第i个图块组左上角的图块的左上图块索引指定为相对于位于该第i-1个图块组左上角的图块的索引的图块索引差值。
Figure BDA0003248243330000551
Figure BDA0003248243330000561
表4
关于表4,语法元素top_left_tile_idx_delta和bottom_right_tile_idx的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
当i大于0时,top_left_tile_idx_delta[i]指定位于第i个图块组左上角的图块的图块索引与位于第i-1个图块左上角的图块的图块索引之间的差值。top_left_tile_idx_delta[0]指定位于第O个图块组左上角的图块的图块索引。当i>0时,top_left_tile_idx_delta[i]的值应不等于0。当不存在时,并且当rect_tile_group_flag等于1时,top_left_tile_idx_delta[i]的值在i大于0时被推断为等于1,并且在i等于0时被推断为等于0。当i大于0时,top_left_tile_idx_delta[i]语法元素的长度是Ceil(Log2(NumTilesInPic-TopLeftTileIdx[i-1])位。TopLeftTileIdx[0]指定位于第0个图块组左上角的图块的图块索引,推断其等于0。
在另一示例中,top_left_tile_idx_delta[i]可被替换为语法元素top_left_tile_idx_delta_minus1[i],该语法元素具有以下语义:
top_left_tile_idx_delta_minus1[i]加1在i大于0时,指定位于第i个图块组左上角的图块的图块索引与位于第i-1个图块组左上角的图块的图块索引之间的差值。当不存在时,并且当rect_tile_group_flag等于1时,top_left_tile__idx_delta_minus1[i]的值在i大于0时被推断为等于0。当i大于0时,top_left_tile_idx_delta_minus1[i]语法元素的长度是Ceil(Log2(NumTilesInPic-TopLeftTileIdx[i-1]-1)位。TopLeftTileIdx[0]指定位于第0个图块组左上角的图块的图块索引,推断其等于0。对于i>0,计算TopLeftTileIdx[i]:TopLeftTileIdx[i]=TopLeftTileIdx[i-1]+top_left_tile_idx_delta_minus1[i]+1bottom_right_tile_idx[i]指定位于第i个图块组的右下角的图块的图块索引。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_idx[i]等于top_left_tile_idx[i]。bottom_right_tile_idx[i]语法元素的长度是Ceil(Log2(NumTilesInPic))位。
比特流符合性要求,任何特定图块应仅被包括在一个图块组中。
NumTilesInTileGroup[i]指定第i个图块组中图块的数量,该变量及其相关变量如下导出:
TopLeftTileIdxf0]=0
TopLeftTileIdx[i]=TopLeftTileIdx[i-1]+top_left_tile_idx_delta[i]
deltaTileIdx=bottom_right_tile_idx[i]-TopLeftTileIdx[i]
NumTileRowsInTileGroupMinus1[i]=deltaTileIdx/
(num_tile_columns_minus1+1)
NumTileColumnsInTileGroupMinus1[i]=deltaTileIdx%
(num_tile_columns_minus1+1)
NumTilesInTileGroup[i]=(NumTileRowsInTileGroupMinus1[i]+1)*(NumTileColumnsInTileGroupMiiius1[i]+1)
关于表4,语法元素single_tile_per_tile_group的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
single_tile_per_tile_group等于1指定引用该PPS的每个图块组包括一个图块。
single_tile_per_tile_group等于0指定引用该PPS的图块组可包括多于一个图块。当不存在时,推断single_tile_per_tile_group_flag等于1。在另一示例中:当不存在时,推断single_tile_per_tile_group flag等于0。
另外,关于表4,对应图块组标头的语法元素num_tiles_in_tile_group_minus1的语义可以基于上面关于表2提供的语义,在一个示例中,可以使用以下语义:
当存在时,num_tiles_in_tile_group_minus1指定图块组中图块的数量减1。num_tiles_in_tile_group_minus1的值应在0至NumTilesInPic-1(包括端值)的范围内。当不存在时,推断num_tiles_in_tile_group_minus1的值等于0。
变量NumTilesInCurrTileGroup指定当前图块组中图块的数量,并且变量TgTileIdx[i]指定第i个图块组中第i个图块的图块索引,这些变量如下导出:
Figure BDA0003248243330000591
在一个示例中,根据本文的技术,位于第i个图块组右下角的图块的右下图块索引可被指定为相对于位于该第i个图块组左上角的图块索引的图块索引差值,并且位于第i个图块组左上角的图块的左上图块索引可被指定为相对于位于该第i-1个图块组左上角的图块索引的图块索引差值。以这种方式指定右下图块索引和左上图块索引产生位节省。另外,以这种顺序发送信号通知图块组允许更容易地进行错误检查,并且提供关于图块组的信令的更结构化且已知的方式。
表5示出了根据本文的技术的示例性图片参数集语法,其用于将位于第i个图块组右下角的图块的右下图块索引指定为相对于位于该第i个图块左上角的图块索引的图块索引差值,并且用于将位于第i个图块组左上角的图块的左上图块索引指定为相对于位于第i-1个图块组左上角的图块索引的图块索引差值。
Figure BDA0003248243330000601
Figure BDA0003248243330000611
表5
关于表5,语法元素top_left_tile_idx_delta和bottom_right_tile_idx_delta的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
当i大于0时,top_left_tile_idx_delta[i]指定位于第i个图块组左上角的图块的图块索引与位于第i-1个图块左上角的图块的图块索引之间的差值。
top_left_tile_idx_delta[0]指定位于第0个图块组左上角的图块的图块索引。当i>0时,top_left_tile_idx_delta[i]的值应不等于0。当不存在时,并且当rect_tile_group_flag等于1时,top_left_tile_idx_delta[i]的值在i大于0时被推断为等于1,并且在i等于0时被推断为等于0。当i大于0时,top_left_tile_idx_delta[i]语法元素的长度是Ceil(Log2(NumTilesInPic-TopLeftTileIdx[i-1])位。TopLeftTileIdx[0]指定位于第0个图块组左上角的图块的图块索引,推断其等于0。
在另一示例中,top_left_tile_idx_delta[i]可被替换为语法元素top_left_tile_idx_delta_minus1[i],该语法元素具有以下语义:
top_left_tile_idx_delta_minus1[i]加1在i大于0时,指定位于第i'个图块组左上角的图块的图块索引与位于第i-1个图块组左上角的图块的图块索引之间的差值。当不存在时,并且当rect_tile_group_flag等于1时,top_left_tile_idx_delta_minus1[i]的值在i大于0时被推断为等于0。当i大于0时,top_left_tile_idx_delta_minus1[i]语法元素的长度是Ceil(Log2(NumTilesInPic-TopLeftTileIdx[i-1]-1)位。TopLeftTileIdx[0]指定位于第0个图块组左上角的图块的图块索引,推断其等于0。对于i>0,计算TopLeftTileIdx[i]:TopLeftTileIdx[i]=TopLeftTileIdx[i-1]+top_left_tile_idx_delta_minus1[i]+1bottom_right_tile_idx_delta[i]指定位于第i"个图块组右下角的图块的图块索引与位于第i个图块组左上角的图块的图块索引(即:top_left_tile_idx[i])之间的差值。当single_tile_per_tile_group_flag等于1时,推断bottom_right_tile_idx_delta[i]等于0。bottom_right_tile_idx_delta[i]语法元素的长度是Ceil(Log2(NumTilesInPic-top_left_tile_idx[i]))位。
比特流符合性要求,任何特定图块应仅被包括在一个图块组中。
NumTilesInTileGroup[i]指定第i个图块组中图块的数量,该变量及其相关变量如下导出:
TopLeftTileIdx[0]=0
TopLeftTileIdx[i]=TopLeftTileIdx[i-1]+top_left_tile_idx_delta[i]
BottomRightTileIdx[i]=TopLeftTileIdx[i]+bottom right_tilc_idx_delta[i]
deltaTileIdx=BottomRightTileIdx[i]-TopLeftTileIdx[i]
NumTileRowsInTileGroupMinus1[i]=deltaTileIdx/
(num_tile_columns_minus1+1)
NumTileColumnsInTileGroupMinus 1[i]=deltaTileIdx%
(num_tile_colurnns_minus1+1)NumTilesInTileGroup[i]=
(NumTileRowsInTileGroupMinus1[i]+1)*(NumTileColumnsInTileGroupMinus1[i]+1)
关于表4,语法元素single_tile_per_tile_group的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
single_tile_per_tile_group等于1指定引用该PPS的每个图块组包括一个图块。
single_tile_per_tile_group等于0指定引用该PPS的图块组可包括多于一个图块。当不存在时,推断single_tile_per_tile_group_flag等于1。在另一示例中:当不存在时,推断single_tile_per_tile_group flag等于0。
另外,关于表5,对应图块组标头的语法元素num_tiles_in_tile_group_minus1的语义可以基于上面关于表2提供的语义,在一个示例中,可以使用以下语义:
当存在时,num_tiles_in_tile_group_minus1指定图块组中图块的数量减1。num_tiles_in_tile_group_minus1的值应在0至NumTilesInPic-1(包括端值)的范围内。当不存在时,推断num_tiles_in_tile_group_minus1的值等于0。
在一个示例中,推断规则可修改如下:当不存在时,如果single_tile_per_tile_group_flag等于1,则推断num_tiles_in_tile_group_minus1的值等于0。当不存在时,推断num_tiles_in_tile_group_minus 1的值等于NumTilesInTileGroup[tileGroupIdx];否则(即:当rect_tile_group_flag等于1并且single_tile_per_tile_group_flag等于0时),其中tileGroupIdx如下所示推断。
变量NumTilesInCurrTileGroup指定当前图块组中图块的数量,并且变量TgTileIdx[i]指定第i个图块组中第i个图块的图块索引,这些变量如下导出:
Figure BDA0003248243330000641
如上文关于图3所述,CVS由包括在相应访问单元中的NAL单元表示。JVET-M1001定义了NAL单元标头语义,其指定了包括在NAL单元中的原始字节序列有效载荷(RBSP)数据结构的类型。表1示出了JVET-M1001中提供的NAL单元标头的语法。
Figure BDA0003248243330000651
表6
JVET-M1001为表6中所示的相应语法元素提供了以下定义。
forbidden_zero_bit应等于0。
nuh_temporal_id_plus1减1指定NAL单元的时间标识符。
nuh_temporal_id_plusl的值应不等于0。
变量TemporalId如下导出:
TemporalId=nuh_temporal_id_plusl-1
当nal_unit_type等于IRAP_NUT时,编码图块组属于IRAP图片,TemporalId应等于0。
对于访问单元的所有VCL NAL单元,TemporalId的值应相同。编码图片或访问单元的TemporalId的值是编码图片或访问单元的VCL NAL单元的TemporalId的值。
非VCL NAL单元的TemporalId的值约束如下:
-如果nal_unit_type等于SPS_NUT,则TemporalId应等于0,并且包含NAL单元的访问单元的TemporalId应等于0。
-否则,如果nal_unit_type等于APS_NUT,则TemporalId应等于包含NAL单元的访问单元的TemporalId。
-否则,如果nal_unit_type等于EOS_NUT或EOB_NUT,则TemporalId应等于0。
-否则,TemporalId应大于或等于包含NAL单元的访问单元的TemporalId。注意—当NAL单元是非VCL NAL单元时,TemporalId的值等于非VCL NAL单元应用于所有访问单元的TemporalId值中的最小值。当nal_unit_type等于PPS_NUT时,TemporalId可大于或等于包含访问单元的TemporalId,因为所有图片参数集(PPS)可包括在比特流的开始,其中第一编码图片具有等于0的TemporalId。当nal_unit_type等于PREFIX_SEI_NUT或SUFFIX_SEI_NUT时,TemporalId可大于或等于包含的访问单元的TemporalId,因为SEI NAL单元可包含应用于比特流子集的信息,该比特流子集包括TemporalId值大于包含SEI NAL单元的访问单元的TemporalId的访问单元。
nuh_reserved_zero_7bits应等于‘0000000’。未来可指定nuh_reserved_zero_7bits的其他值。解码器应忽略(即:从比特流中移除并丢弃)nuh_reserved_zero_7bits的值不等于‘0000000’的NAL单元。
关于语法元素nal_unit_type,nal_unit_type指定NAL单元中包含的RBSP数据结构的类型。JVET-M1001为nal_unit_type提供以下语义。
nal_unit_type指定NAL单元中包含的RBSP数据结构的类型,如表7中所指定的。nal_unit_type在UNSPEC28…UNSPEC31的范围内、未指定语义的NAL单元不应影响本说明书中指定的解码过程。
注意1—在UNSPEC28…UNSPEC31范围内的NAL单元类型可如由应用所确定的那样使用。在本说明书中没有指定用于nal_unit_type的这些值的解码过程。由于不同的应用可能出于不同的目的使用这些NAL单元类型,因此在生成具有这些nal_unit_type值的NAL单元的编码器的设计中以及在解释具有这些nal_unit_type值的NAL单元的内容的解码器的设计中必须特别小心。本说明书未定义对这些值的任何管理。这些nal_unit_type值可能仅适用于此类上下文中:使用的“冲突”(即:对相同nal_unit_type值的NAL单元内容的含义的不同定义)不重要,或不可能,或被管理—例如:在控制应用或运输规范中被定义或管理,或通过控制比特流被分发的环境而被管理。出于除确定比特流的解码单元中的数据量之外的目的,解码器应忽略(从比特流中移除并丢弃)使用nal_unit_type的保留值的所有NAL单元的内容。
注意2—该要求允许未来定义本说明书的兼容扩展。
Figure BDA0003248243330000671
表7
注意3—净随机访问(CRA)图片可具有存在于比特流中的相关联的RASL或RADL图片。
注意4—nal_unit_type等于IDR_N_LP的瞬时解码刷新(IDR)图片不具有存在于比特流中的前导图片。nal_unit_type等于IDR_W_RADL的IDR图片不具有存在于比特流中的相关联的RASL图片,但是可以具有比特流中的相关联的RADL图片。
应当指出的是,IRAP图片是指在其解码过程中进行帧间预测时,不引用除自身以外的任何图片的图片。通常,比特流中解码顺序中的第一图片必然是IRAP图片。可能存在几种类型的IRAP图片。例如:IRAP图片可以是断链访问(BLA)图片、净随机访问(CRA)图片或瞬时解码刷新(IDR)图片。前导图片是按输出顺序在相关联的IRAP图片之前的图片。拖尾图片是按输出顺序在相关联的IRAP图片之后的非IRAP图片。在解码顺序中,与IRAP图片相关联的拖尾图片也在IRAP图片之后。对于IDR图片,不存在需要参考在IDR图片之前解码的图片的拖尾图片。CRA图片可以具有前导图片,该前导图片在解码顺序中在CRA图片之后并且包含对在CRA图片之前解码的图片的帧间图片预测引用。因此,当CRA图片用作随机接入点时,这些前导图片可能不可解码并且被识别为随机接入跳过的前导(RASL)图片。BLA图片也可后接RASL图片。当这些RASL图片不可解码时,即:当解码器在CRA点处开始其解码过程时,对于BLA图片以及对于CRA图片,这些RASL图片总是被丢弃。能够在解码顺序中在IRAP图片之后并且在输出顺序中在IRAP图片之前的另一类型的图片是随机访问可解码前导(RADL)图片,其不可包含对在解码顺序中在IRAP图片之前的任何图片的引用。
在一个示例中,根据本文的技术,可以不在对应于IRAP图片的NAL单元的图块组标头中发送信号通知语法元素tile_group_type。也就是说,可以确定图块组标头是否被包括在对应于IRAP图片的NAL单元中,并且如果图块组标头被包括在对应于IRAP图片的NAL单元中,则可以推断tile_group_type的值等于指示I图块组的值(例如:根据表3推断tile_group_type等于2)。不以这种方式发送信号通知并推断语法元素tile_group_type的值在IRAP图片的每个图块组的每个图块组标头中节省了3位。表8示出根据本文的技术的示例性图块组标头语法,其中基于图块组标头是否被包括在对应于IRAP图片的NAL单元中,有条件地发送信号通知语法元素tile_group_type,并且在不发送信号通知时推断tile_group_type的值等于指示I图块组的值。
Figure BDA0003248243330000691
表8
关于表8,语法元素的语义可以与上文提供的语义相同。然而,语法元素tile_group_type的语义可以如下:
tile_group_type指定根据表3的图块组的编码类型。当不存在时,推断tile_group_type等于2(即:I图块组)。
应当指出的是,本文的技术可以是普遍适用的,而无论根据语法元素nal_unit_type指定的IRAP图片的类型的数量如何。也就是说,条件:
if(nal_unit_type<IDR_W_RADL||(nal_unit_type>RSVJRAP_VCL13&&nal_unit_type<=RSV_VCH5))
可相应地修改以确定nal_unit_type的值是否指示IRAP。
应当指出的是,JVET-M1001包括general_constraint_info()语法结构中的语法元素intra_only_constraint_fiag,该语法元素具有以下定义:
intra_only_constraint_flag等于1指定是比特流符合性要求,tile_group_type应等于I。intra_only_constraint_flag等于0指定不施加约束。
在另一示例中,可以进一步基于语法元素intra_only_constraint_flag的值,有条件地发送信号通知tile_group_type。也就是说,在一个示例中,条件:
if(nal_unit_type<IDR_W_RADL||(nal_unit_type>RSV_IRAP_VCL13&&nal_unit_type<=RS V_VCL15))
可修改如下:
if((nal_unit_type<IDR W RADL||(nal unit type>RSVJRAPVCL13&&nal_unit_type<=RSV_VCL15))||!intra_only_eonstraint_flag)
应当指出的是,本文的技术可以是普遍适用的,而无论在何处发送信号通知intra_only_constraint_flag。此外,在一个示例中,条件!intra_only_constraint_flag可单独使用(不具有NAL单元类型条件)以指示是否发送信号通知或推断语法元素tile_group_type。因此,在这种情况下,在一个示例中,条件:
if(nal_unit_type<IDR W RADL||(nal_unit_type>RSV_IRAP_VCL13&&nal_unit_type<=RSV_VCL15))
可修改如下:
if(!intra_only_constraint_flag)
如上所述,图块组是形成整数个完整图块的CTU的集合。因此,图块组包括一个或多个图块。一个或多个图块的集合可以被称为图块集。此外,应当指出的是,可以使用图块集来定义用于编码依赖性的边界(例如:帧内预测依赖性、熵编码依赖性等),并且因此可以在编码和感兴趣区域编码中启用并行性。例如:对于图2所示的示例中的视频序列,图块组1可包括一个或多个图块集,该一个或多个图块集对应于与图块组2中包括的一个或多个图块集所对应的不同的感兴趣视觉区域(例如:图块组2可对应于视频前景中的篮球场,并且图块组1可对应于视频背景中的观众)。ITU-T H.265定义了启用运动约束图块集(MCTS)的信令。运动约束图块集可以包括图块集,对于该图块集,图片间预测依赖性限于参考图片中的并置的图块集。因此,可能独立于MCTS外部的其他图块集的解码来执行给定MCTS的运动补偿。因此,例如:参见图2,如果图块组2是Pic1至Pic4中的MCTS,则可独立于编码图块组1对图块组2执行运动补偿。
根据MCTS对视频数据进行编码对于包括全向视频呈现的视频应用程序可能是有用的。也就是说,图块集可以形成全向视频的最感兴趣区域。此外,图块集可以是包括在最感兴趣区域内的MCTS。依赖于视区的视频编码(也可以被称为依赖于视区的部分视频编码)可以用于启用仅对整个视频区域的一部分进行解码。也就是说,例如:依赖于视区的视频编码可以用于提供用于呈现当前FOV的足够信息。例如:可以使用MCTS对全向视频进行解码,使得覆盖视区的每个可能区域可以跨时间与其他区域独立解码。在这种情况下,例如:对于特定的当前视区,可以将覆盖视区的最小图块集发送到客户端、进行解码并且/或者进行呈现。该过程可以被称为基于简单图块的部分解码(STPD)。
在一个示例中,根据本文的技术,可以发送信号通知语法元素以指示矩形图块组是否是运动约束图块集。此类指示对于360视频比特流重写场景可能是有用的。表9示出了根据本文的技术的示例性图片参数集语法,其用于指定矩形图块组是否是运动约束图块集。
Figure BDA0003248243330000721
Figure BDA0003248243330000731
Figure BDA0003248243330000741
表9
关于表9,语法元素is_mcts_flag的语义可以基于上面关于表1提供的语义,在一个示例中,可以使用以下语义:
is_mcts_flag[i]等于1指定第i个图块组是运动约束图块集。is_mcts_flag[i]等于0指定第i个图块组不是运动约束图块集。
在另一示例中,发送信号通知is_mcts_flag[i]的条件可以从:
Figure BDA0003248243330000742
改变为:
Figure BDA0003248243330000743
应当指出的是,根据本文的技术,语法元素is_mcts_flag可以有条件地存在于本文所述的每个示例性图片参数集中,例如:包括top_left_tile_idx_delta和/或bottom_right_tile_idx_delta的图片参数集。
在另一示例中,可以附加地或另选地在图块组标头中发送信号通知图块组是否是运动约束图块集。表10示出了包括语法元素is_mcts_flag的示例性图块组标头语法。
Figure BDA0003248243330000751
表10
关于表10,应当指出的是,在一些示例中,可以根据上述技术(例如:根据if(nal_unit_type<IDR_W_RADL||(nal_unit_type>RSV_IRAP_VCL13&&nal_unit_type<=RSV_VCL15)))有条件地发送信号通知并推断语法元素tile_group_type。此外,语法元素的语义可以与上文提供的语义相同。语法元素is_mcts_flag的语义可以如下:
is_mcts_flag等于1指定该图块组是运动约束图块集。is_mcts_flag等于0指定该图块组不是运动约束图块集。
表11示出了包括语法元素is_mcts_flag的另一示例性图块组标头语法。
Figure BDA0003248243330000761
表11
在这种情况下,语法元素is_mcts_flag的语义可以与上面关于表10提供的语义相同。应当指出的是,对于表11,无论rect_tile_group的值如何,is_mcts_flag都包括在图块组标头中,因此表11中的示例也适用于光栅扫描图块组。
如上所述,图块组是形成整数个完整图块的CTU的集合,图块组包括一个或多个图块,并且一个或多个图块的集合可以被称为图块集。此外,如上所述,图块组、图块和图块集可以用于限定编码依赖性的边界。在一些情况下,可能有用的是设置子图块结构以用于限定编码依赖性的边界和/或CTU处理顺序。例如:对于图2所示的示例中的视频序列,图7示出了图块组1包括图块1和图块2并且图块组2包括图块3、图块4和图块5的示例。此外,图块3和图块4被示出为形成图块集。对于图块2,根据光栅扫描处理顺序对每个CTU进行编号(即:0至20)。图7进一步示出了图块2的子图块结构的示例。也就是说,在图7中,在一个示例(即:左侧的示例)中,图块2被示出为包括具有顶部两行CTU的第一子图块结构和具有底部一行CTU的第二子图块结构,并且在另一示例(即:右侧的示例)中,图块2被示出为包括具有左侧四列CTU的第一子图块结构和具有右侧三列CTU的第二子图块结构。应当指出的是,将一个或多个图块分割成一行或多行CTU可以被称为将图块分割成一个或多个程序块。也就是说,被约束为包括图块内的一行或多行CTU的子图块结构的类型可以被称为程序块。此外,在一个示例中,可以光栅扫描顺序处理程序块内的CTU。
允许图块被划分成子图块结构的方式和子图块结构被发送信号通知的方式可以实现各种类型的信令灵活性和/或编码效率改进。表12示出了根据本文的技术的示例性图片参数集语法,其用于指定矩形图块组是否包括被进一步划分成子图块结构的图块。在表12所示的示例中,可以将图块水平地分割成包括一行或多行的子图块结构。也就是说,在表12的示例中,图块可以被分割成所谓的程序块。
Figure BDA0003248243330000781
Figure BDA0003248243330000791
Figure BDA0003248243330000801
表12
关于表12,语法元素signalled_brick_id_flag、signaled_brick_id_length_minus1、num_bricks_in_tile_minus1、num_ctu_rows_in_brick_minus1和brick_id的语义可以基于上面关于表9提供的语义,在一个示例中,可以使用以下语义:
signalled_brick_id_flag等于1指定发送信号通知每个图块组中每个图块中每个程序块的程序块ID。signalled_brick_id_flag等于0指定不发送信号通知程序块ID。当rect_tile_group_flag等于0时,推断signalled_brick_id_flag的值等于0。
signaled_brick_id_length_minus1加1指定用于表示语法元素brick_id[i][j][k](当存在时)的位的数量,并且指定图块组标头中的语法元素start_brick_address。signalled_brick_id_length_minus1的值应在0至31(包括端值)的范围内。在另一示例中,可使用除31之外的一些其他上限。当不存在时,推断signalled_brick_id_length_minu1的值等于Ceil(Log2(numTotalBricks))-1。
num_bricks_in_tile_minus1[i][j]加1指定第i个图块组中第j个图块中的块的数量。num_bricks_in_tile_minus1[i][j]的值应在0至<图片中允许的最大程序块数量>-1(包括端值)的范围内,其中<图片中允许的最大程序块数量>的值可由配置文件/层/级指定。
num_ctu_rows_in_brick_minus1[i][j][k]加1指定第i个图块组中第j个图块中第k个程序块中CTU行的数量。numctu rows in brick minus1[i][j][k]的值应在0至<第i个图块组中第j个图块中的总CTU行数>-1(包括端值)的范围内。
brick_id[i][j][k]指定第i个图块组中第j个图块中第k个程序块的程序块ID。brick_id[i][j][k]语法元素的长度是signalled_brick_id__length__minus1+1位。当不存在时,如下推断brick_id[i][j][k]的值:
Figure BDA0003248243330000811
应当指出的是,语法元素signaled_brick_id_length_minus1和brick_id使得子图块结构能够以除默认有序编号标识之外的方式唯一地标识。实现子图块结构的此类标识对于比特流重写场景可能特别有用。在重写场景下,可从图片中提取一个或多个块并由其他块替换,而不必改变tile_group_address。此外,应当指出的是,未被进一步分割的图块具有一个程序块,并且整个图片可具有仅一个图块,并且因此具有仅一个程序块。关于在一个示例中将图块、程序块和图块组封装在NAL单元中,可应用以下规则中的一个或多个:
·NAL单元中可存在一个程序块
·NAL单元中可存在来自同一图块的多个程序块
·NAL单元中可存在一个或多个完整的图块。
·图块由一个或多个程序块组成。
此外,发送信号通知brick_id[i][j][k]的有益效果是,其允许将图块进一步划分成程序块,这提供了可经由NAL单元传输的更细粒度大小。
参考表12,在一个示例中,表13示出了对应图块组标头语法的示例。
Figure BDA0003248243330000821
表13
关于表13,语法元素start_brick_address_flag和num_bricks_minus1的语义可以基于上面关于表10提供的语义,在一个示例中,可以使用以下语义:
start_brick_address指定由其后跟随有tile_group_data()的该图块组标头tile_group_address指定的图块组中第一程序块的程序块地址。
当不存在时,推断start_brick_address的值等于0。以下应用:
-start_brick_address的长度是signalled_brick_id_length_minus1+1位。
-如果signalled_brick_id_flag等于0,则start_brick_address的值应在0至<该图块组中的最大程序块数量>(包括端值)的范围内。否则,start_brick_address的值应在0至2(signalled brick id length minus 1+1)-1(包括端值)的范围内。
num_bricks_minus1指定起始于start_brick address处的、由其后跟随有tilegroup_data()的该图块组标头tile_group_address指定的图块组中的程序块的数量。当不存在时,推断start_brick_address的值等于0。
在另一示例中,可发送信号通知end_tile_address,而不是num_bricks_minus1。
应当指出的是,在一些示例中,被示出为在u(v)处编码的语法元素可以在ue(v)时编码为,并且在一些示例中,被示出为在ue(v)处编码的语法元素可以在u(v)时编码。
应当指出的是,在一些示例中,表12和表13中的语法可以与本文描述的语法的其他示例组合。例如:在一个示例中,语法元素is_mcts_flag可以包括在表12和/或表13中。
这样,源设备102表示设备的示例,该设备被配置为将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。这样,源设备102表示设备的示例,该设备被配置为发送信号通知图块组是否是运动约束图块集。
再次参考图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可以包括被配置为接收比特流(例如:MCTS子比特流提取)和/或其可接受变体且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如:液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另外的类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,虽然在图1所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如:视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。
图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。在一个示例中,视频解码器600可被配置为对变换数据进行解码并基于经解码的变换数据从变换系数重构残差数据。视频解码器600可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。视频解码器600可被配置为解析上文在表1至表11中描述的语法元素的任何组合。视频解码器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表示设备的示例,该设备被配置为:解析语法元素,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;并且基于索引来生成视频数据。
在一个或多个示例中,所述功能可以通过硬件、软件、固件或其任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可包括对应于有形介质诸如:数据存储介质的计算机可读存储介质,或者包括例如:根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可以对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如:信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
以举例而非限制的方式,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器、或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如:如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如:红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如:红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。
可以由一个或多个处理器诸如:一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。
本公开的技术可以在各种设备或装置包括无线手机、集成电路(IC)或一组IC(例如:芯片组)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。
此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实施或执行。被设计为执行本说明书中所述的功能的电路可包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA),或其他可编程逻辑设备、分立栅极或晶体管逻辑器、或分立硬件部件、或它们的组合。通用处理器可为微处理器,或另选地,该处理器可为常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。
已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。
发明内容
在一个示例中,提供了一种发送信号通知用于解码视频数据的图块组信息的方法,该方法包括:将图块组中具体定位的图块的索引发送信号通知为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。在一个示例中,提供了一种对视频数据进行解码的方法,该方法包括:解析语法元素,该语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值;以及基于索引来生成视频数据。
在一个示例中,根据该方法,其中具体定位的图块是左上图块,并且另一个限定图块是前一图块组中的左上图块。
在一个实例中,根据该方法,其中具体定位的图块是右下图块,并且另一个限定图块是当前图块组中的左上图块。
在一个示例中,根据该方法,其中语法元素将图块组中具体定位的图块的索引指示为图块组中具体定位的图块的索引与另一个限定图块的索引之间的差值。
在一个示例中,该方法还包括发送信号通知指示图块组是否是运动约束图块集的语法元素。
在一个示例中,该方法还包括解析指示图块组是否是运动约束图块集的语法元素。
在一个示例中,提供了一种设备,该设备包括被配置为执行上述步骤的任意和全部组合的一个或多个处理器。
在一个示例中,根据该设备,其中该设备包括视频编码器。
在一个示例中,根据该设备,其中该设备包括视频解码器。
在一个示例中,提供了一种系统,该系统包括:该设备;和该设备。
在一个示例中,该装置包括用于执行上述步骤的任意和全部组合的装置。
在一个示例中,提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质包括存储在其上的指令,当这些指令被执行时,使得设备的一个或多个处理器执行上述步骤的任意和全部组合。
在一个示例中,提供了一种对视频数据进行解码的方法,该方法包括:接收图片参数集;以及从该图片参数集中解析第一语法元素,该第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
在一个示例中,根据该方法,其中第一图块组是由第一整数个完整图块组成的片段,并且第二图块组是由第二整数个完整图块组成的片段。
在一个示例中,根据该方法,其中第一索引是第一图块组中的左上图块,并且第二索引是第二图块组中的左上图块。
在一个示例中,该方法还包括从图片参数集中解析第二语法元素,该第二语法元素指定第一图块组和第二图块组中的每一者内的图块覆盖图片的矩形区域,并且在图片参数集中发送信号通知图块组信息。
在一个示例中,该方法还包括从图片参数集中解析第三语法元素,该第三语法元素指定图片中图块组的数量。
在一个示例中,根据该方法,其中当第二语法元素不等于零并且第三语法元素大于或等于一时,第一语法元素有条件地存在。
在一个示例中,提供了一种包括一个或多个处理器的设备,该一个或多个处理器被配置为:接收图片参数集;以及从该图片参数集中解析第一语法元素,该第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
在一个示例中,根据该设备,其中第一图块组和第二图块组中的每一者是由整数个完整图块组成的片段。
在一个示例中,根据该设备,其中第一索引是第一图块组中的左上图块,并且第二索引是第二图块组中的左上图块。
在一个示例中,根据该设备,其中该一个或多个处理器被进一步配置为从图片参数集中解析第二语法元素,该第二语法元素指定第一图块组和第二图块组中的每一者内的图块覆盖图片的矩形区域,并且在图片参数集中发送信号通知图块组信息。
在一个示例中,根据该设备,其中该一个或多个处理器被进一步配置为从图片参数集中解析第三语法元素,该第三语法元素指定图片中图块组的数量。
在一个示例中,根据该设备,其中当第二语法元素不等于零并且第三语法元素大于或等于一时,第一语法元素有条件地存在。
在一个示例中,根据该设备,其中该设备是视频解码器。
<交叉引用>
本非临时专利申请根据《美国法典》第35卷第119节(35U.S.C.§119)要求于2019年3月6日提交的临时申请62/814,748、2019年3月11日提交的临时申请62/816,815、2019年3月25日提交的临时申请62/823,563的优先权,其全部内容据此以引用方式并入。

Claims (13)

1.一种对视频数据进行解码的方法,所述方法包括:
接收图片参数集;以及
从所述图片参数集中解析第一语法元素,所述第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
2.根据权利要求1所述的方法,其特征在于,所述第一图块组是包括第一整数个完整图块的第一片段,并且所述第二图块组是包括第二整数个完整图块的第二片段。
3.根据权利要求1所述的方法,其特征在于,所述第一索引是所述第一图块组中的左上图块,并且所述第二索引是所述第二图块组中的左上图块。
4.根据权利要求1所述的方法,所述方法还包括从所述图片参数集中解析第二语法元素,所述第二语法元素指定所述第一图块组和所述第二图块组中的每一者内的图块覆盖图片的矩形区域,并且在所述图片参数集中发送信号通知图块组信息。
5.根据权利要求4所述的方法,所述方法还包括从所述图片参数集中解析第三语法元素,所述第三语法元素指定所述图片中图块组的数量。
6.根据权利要求5所述的方法,其特征在于,当所述第二语法元素不等于零并且所述第三语法元素大于或等于一时,所述第一语法元素有条件地存在。
7.一种包括一个或多个处理器的设备,所述一个或多个处理器被配置为:
接收图片参数集;以及
从所述图片参数集中解析第一语法元素,所述第一语法元素指定位于第一图块组中的图块的第一索引和位于第二图块组中的图块的第二索引之间的差值。
8.根据权利要求7所述的设备,其特征在于,所述第一图块组和所述第二图块组中的每一者是由整数个完整图块组成的片段。
9.根据权利要求7所述的设备,其特征在于,所述第一索引是所述第一图块组中的左上图块,并且所述第二索引是所述第二图块组中的左上图块。
10.根据权利要求7所述的设备,其特征在于,所述一个或多个处理器被进一步配置为从所述图片参数集中解析第二语法元素,所述第二语法元素指定所述第一图块组和所述第二图块组中的每一者内的图块覆盖图片的矩形区域,并且在所述图片参数集中发送信号通知所述图块组信息。
11.根据权利要求10所述的设备,其特征在于,所述一个或多个处理器被进一步配置为从所述图片参数集中解析第三语法元素,所述第三语法元素指定所述图片中图块组的数量。
12.根据权利要求11所述的设备,其特征在于,当所述第二语法元素不等于零并且所述第三语法元素大于或等于一时,所述第一语法元素有条件地存在。
13.根据权利要求12所述的设备,其特征在于,所述设备是视频解码器。
CN202080019098.9A 2019-03-06 2020-02-28 在视频编码中用于发送信号通知图块组信息的系统和方法 Pending CN113632489A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962814748P 2019-03-06 2019-03-06
US62/814748 2019-03-06
US201962816815P 2019-03-11 2019-03-11
US62/816815 2019-03-11
US201962823563P 2019-03-25 2019-03-25
US62/823563 2019-03-25
PCT/JP2020/008495 WO2020179713A1 (en) 2019-03-06 2020-02-28 Systems and methods for signaling tile group information in video coding

Publications (1)

Publication Number Publication Date
CN113632489A true CN113632489A (zh) 2021-11-09

Family

ID=72338714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080019098.9A Pending CN113632489A (zh) 2019-03-06 2020-02-28 在视频编码中用于发送信号通知图块组信息的系统和方法

Country Status (6)

Country Link
US (1) US11997297B2 (zh)
EP (1) EP3935859A4 (zh)
JP (1) JP7427688B2 (zh)
KR (1) KR20210135292A (zh)
CN (1) CN113632489A (zh)
WO (1) WO2020179713A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7427688B2 (ja) 2019-03-06 2024-02-05 シャープ株式会社 ビデオ符号化におけるタイルグループ情報をシグナリングするためのシステム及び方法
CN112789860A (zh) * 2019-04-17 2021-05-11 株式会社 Xris 用于对图像信号进行编码/解码的方法及其装置
US11405649B2 (en) * 2020-02-18 2022-08-02 Mediatek Inc. Specifying slice chunks of a slice within a tile
US11611778B2 (en) * 2020-05-20 2023-03-21 Sharp Kabushiki Kaisha Systems and methods for signaling general constraint information in video coding
US11729381B2 (en) * 2020-07-23 2023-08-15 Qualcomm Incorporated Deblocking filter parameter signaling
US11750815B2 (en) 2020-09-17 2023-09-05 Lemon, Inc. Versatile video coding track coding
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103975596A (zh) * 2011-10-24 2014-08-06 高通股份有限公司 用于视频译码的瓦片的分组
CN104054347A (zh) * 2012-01-18 2014-09-17 高通股份有限公司 在视频译码中波前平行处理的使用的指示
CN104885456A (zh) * 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376186B2 (en) * 2002-07-15 2008-05-20 Thomson Licensing Motion estimation with weighting prediction
CN108965892B (zh) 2012-01-30 2021-02-19 三星电子株式会社 用于视频解码的设备
US9270994B2 (en) 2012-06-29 2016-02-23 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
CN105075271A (zh) * 2013-04-08 2015-11-18 索尼公司 利用shvc的关注区域可伸缩性
GB2550912B (en) * 2016-05-27 2019-09-04 Canon Kk Method, device and computer program for encapsulating and parsing timed media data
US10841602B2 (en) 2018-07-16 2020-11-17 Tencent America LLC Hierarchical tiles
US10757389B2 (en) * 2018-10-01 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) Client optimization for providing quality control in 360° immersive video during pause
JP7427688B2 (ja) 2019-03-06 2024-02-05 シャープ株式会社 ビデオ符号化におけるタイルグループ情報をシグナリングするためのシステム及び方法
CN112789860A (zh) * 2019-04-17 2021-05-11 株式会社 Xris 用于对图像信号进行编码/解码的方法及其装置
KR20200145742A (ko) * 2019-06-20 2020-12-30 주식회사 엑스리스 영상 신호 부호화/복호화 방법 및 이를 위한 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103975596A (zh) * 2011-10-24 2014-08-06 高通股份有限公司 用于视频译码的瓦片的分组
CN104054347A (zh) * 2012-01-18 2014-09-17 高通股份有限公司 在视频译码中波前平行处理的使用的指示
CN104885456A (zh) * 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
122.MPEG MEETING: "Text of DIS ISO/IEC 23008-2:201x High Efficiency Video Coding (4th ed.)", 122.MPEG MEETING, pages 440 - 450 *

Also Published As

Publication number Publication date
EP3935859A4 (en) 2023-01-04
EP3935859A1 (en) 2022-01-12
US11997297B2 (en) 2024-05-28
JP2022524354A (ja) 2022-05-02
KR20210135292A (ko) 2021-11-12
US20220132151A1 (en) 2022-04-28
WO2020179713A1 (en) 2020-09-10
JP7427688B2 (ja) 2024-02-05

Similar Documents

Publication Publication Date Title
WO2021079948A1 (en) Systems and methods for signaling picture information in video coding
US11611778B2 (en) Systems and methods for signaling general constraint information in video coding
US11778236B2 (en) Device, and method of decoding video data
US20220353536A1 (en) Systems and methods for signaling picture information in video coding
US11503342B2 (en) Systems and methods for signaling sequence parameter information in video coding
US11997297B2 (en) Systems and methods for signaling tile group information in video coding
US20230085937A1 (en) Systems and methods for signaling picture information in a slice header in video coding
CN113892271A (zh) 用于在视频编码中发送信号通知假想参考解码器参数的系统和方法
US20240031579A1 (en) Systems and methods for signaling buffering period information in video coding
US11889118B2 (en) Systems and methods for signaling types of pictures and associated information in video coding
US20230068404A1 (en) Systems and methods for signaling subpicture information in video coding
CN112970265A (zh) 用于发送信号通知编码视频中包括的图片的图片次序计数值的系统和方法
US20230026475A1 (en) Systems and methods for signaling reference picture lists in video coding
US20230016439A1 (en) Systems and methods for signaling picture timing and decoding unit information in video coding
US20230048070A1 (en) Systems and methods for signaling output layer set information in video coding
US20220353535A1 (en) Systems and methods for signaling decoded picture buffer information in video coding
US11902546B2 (en) Systems and methods for signaling network abstraction layer unit information in video coding
US20230134652A1 (en) Systems and methods for applying deblocking filters in video coding
WO2020230798A1 (en) Systems and methods for signaling tile group information in video coding
WO2020235552A1 (en) Systems and methods for signaling picture property information in video coding
US20210352328A1 (en) Systems and methods for signaling video parameter information in video coding
CN117857789A (zh) 更新视频数据的神经网络环路后滤波器信息的方法和设备
CN117651132A (zh) 发送信号通知神经网络环路后滤波器信息的方法和设备
CN117880530A (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