CN114846791A - 支持子图片、条带和区块的视频编码 - Google Patents
支持子图片、条带和区块的视频编码 Download PDFInfo
- Publication number
- CN114846791A CN114846791A CN202080088832.7A CN202080088832A CN114846791A CN 114846791 A CN114846791 A CN 114846791A CN 202080088832 A CN202080088832 A CN 202080088832A CN 114846791 A CN114846791 A CN 114846791A
- Authority
- CN
- China
- Prior art keywords
- picture
- sub
- slice
- image
- block
- 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 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000005192 partition Methods 0.000 description 77
- 238000000638 solvent extraction Methods 0.000 description 44
- 230000011664 signaling Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 29
- 239000012634 fragment Substances 0.000 description 27
- 230000008569 process Effects 0.000 description 22
- 230000002123 temporal effect Effects 0.000 description 16
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000001419 dependent effect Effects 0.000 description 9
- 208000031212 Autoimmune polyendocrinopathy Diseases 0.000 description 7
- 235000019395 ammonium persulphate Nutrition 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 241000023320 Luma <angiosperm> Species 0.000 description 6
- 238000003491 array Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 5
- 238000013459 approach Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000000261 appearance potential spectroscopy Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
Abstract
本发明提供一种处理一个或多于一个图像的图像数据的方法,各个图像由一个或多于一个区块组成并且可分割成一个或多于一个图像部分,其中,该图像可分割成一个或多于一个子图片,并且该方法包括:确定包括在子图片中的一个或多于一个图像部分;以及使用从该确定所获得的信息来处理该一个或多于一个图像。
Description
技术领域
本发明涉及图像的分区,以及图像或包括图像的图像序列的编码或解码。本发明的实施例特别但不排他地在使用图像到一个或多于一个子图片的第一分区以及图像到一个或多于一个条带的第二分区对图像序列进行编码或解码的情况下使用。
背景技术
视频编码包括图像编码(图像等同于视频的单个帧、或图片)。在视频编码中,在可以对图像使用诸如运动补偿/预测(例如,帧间预测)或帧内预测等的一些编码工具之前,首先将图像分区(例如,分割)成一个或多于一个图像部分,使得可以在图像部分上使用编码工具。本发明特别涉及将图像分区成两种类型的图像部分,即子图片和条带,该子图片和条带已经由视频编码专家组/运动图像专家组(VCEG/MPEG)标准化组研究,并且被考虑用于通用视频编码(VVC)标准。
子图片是在VVC中引入的新概念,以实现来自不同位流的独立空间区域(或图像部分)的位流提取和合并操作。“独立”在这里是指这些区域(或图像部分)在不参考从编码/解码其他区域或图像部分所获得的信息的情况下被编码/解码。例如,独立空间区域(即,在不参考来自相同图像的其他区域/图像部分的编码/解码的情况下编码/解码的区域或图像部分)用于感兴趣区域(ROI)流式传输(例如,在3D视频流式传输期间)或用于全向视频内容的流式传输(例如,使用全向介质格式(OMAF)标准流式传输的图像序列),特别是当将视口相关流式传输方法用于流式传输时。来自全向视频内容的各个图像被分割成以其不同版本编码(例如,在图像质量或分辨率方面)的独立区域。然后,客户终端(例如,具有显示器的装置,诸如移动电话等)能够选择独立区域的适当版本以获得独立区域在主观看方向上的高质量版本,同时仍然能够针对全向视频内容的剩余部分使用剩余区域的较低质量版本以提高编码效率。
高效视频编码(HEVC或H.265)提供运动受限区块集的用信号通知(例如,位流包括用于指定或确定区块集的数据,该区块集的运动预测被限制以使其“独立于”图像的其他区域)以指示独立编码的区域。在HEVC中,该用信号通知在补充增强信息(SEI)消息中进行,并且仅是可选的。然而,在HEVC中,使条带的用信号通知独立于该SEI消息,使得独立于将相同图像分区成一个或多于一个区块集来定义将图像分区成一个或多于一个条带。这意味着条带分区不具有施加在其上的相同运动预测限制。
基于通用视频编码草案4(VVC4)的旧草案的提议包括依赖于子图片的用信号通知的用信号通知区块组分区。区块组是图片的排他地包含在单个网络抽象层(NAL)单元中的整数个完整区块。该提议(JVET-N0107:AHG 12:Sub-picture-based coding for VVC,Huawei)是用于引入VVC的子图片概念的句法改变提议。使用序列参数集(SPS)中的亮度样本位置来用信号通知子图片位置。接着,SPS中的标志指示针对各个子图片是否约束运动预测,但在图片参数集(PPS)中用信号通知区块组分区(即,将图片分区成一个或多于一个区块组),其中针对每个子图片定义各个PPS。由于针对每个子图片提供PPS,因此在JVET-N0107中针对每个子图片用信号通知区块组分区。
然而,最新的通用视频编码草案7(VVC7)不再具有该区块组分区概念。VVC7在SPS中用信号通知以CTU为单位的子图片布局。SPS中的标志指示是否针对子图片约束运动预测。针对这些的SPS句法元素如下:
在VVC7中,基于区块分区在PPS中如下定义条带分区:
这意味着在VVC7中条带分区是独立于子图片分区而定义的。用于条带分区的VVC7句法在区块结构之上进行而不参考子图片,这是因为子图片的这种独立避免了在编码/解码处理期间对子图片的任何特定处理,从而使得对子图片的处理更简单。
发明内容
如上文所提及,VVC7提供数个工具以将图片分区成像素区域(或成分样本)。这些工具的一些示例是子图片、条带及区块。为了容纳所有这些工具同时保持其功能性,VVC7对将图片分区成这些区域施加一些约束。例如,区块必须具有矩形形状,并且区块必须形成网格。条带可以是整数个区块或区块的片段(即,条带仅包括区块的一部分或“部分区块”或“片段区块”)。子图片是必须包含一个或多于一个条带的矩形区域。然而,在VVC7中,子图片分区的用信号通知独立于条带和区块网格的用信号通知。因此,VVC7中的这种用信号通知需要解码器检查并确保图片分区符合VVC7的约束,这可能是复杂的并且导致解码器端处不必要的时间或资源消耗。
本发明的实施例的目的是解决图像的前述分区以及图像或包括所述图像的图像序列的编码或解码的一个或多于一个问题或缺点。例如,本发明的一个或多于一个实施例旨在改进和优化图片分区的用信号通知(例如,在VVC7上下文内),同时确保在用信号通知或编码处理期间通过设计实现/满足需要在VVC7中检查的约束中的至少一些。
根据本发明的各方面,提供了如所附权利要求中阐述的设备/装置、方法、程序、计算机可读存储介质和载体介质/信号。根据从属权利要求和说明书,本发明的其他特征将是明显的。根据本发明的其他方面,提供了如所附权利要求中阐述的系统、用于控制这种系统的方法、用于进行方法的设备/装置、用于处理的设备/装置、存储如所附权利要求中阐述的信号的介质存储装置、存储如所附权利要求中阐述的程序的计算机可读存储介质或非暂时性计算机可读存储介质、以及使用如所附权利要求中阐述的编码方法生成的位流。根据从属权利要求和随后的说明书,本发明的其他特征将是明显的。
根据本发明的第一方面,提供一种处理一个或多于一个图像的图像数据的方法,各个图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中该图像能够分割成一个或多于一个子图片,并且该方法包括:确定子图片中所包括的一个或多于一个图像部分;以及使用从所述确定所获得的信息来处理所述一个或多于一个图像。
根据本发明的第二方面,提供一种对一个或多于一个图像进行分区的方法,该方法包括:将图像分区成一个或多于一个区块;将所述图像分区成一个或多于一个子图片;以及通过根据第一方面处理图像的图像数据,将所述图像分区成一个或多于一个图像部分。
根据本发明的第三方面,提供一种用信号通知一个或多于一个图像的分区的方法,所述方法包括:根据第一方面处理一个或多于一个图像的图像数据;以及在位流中用信号通知用于确定分区的信息。
对于本发明的前述方面,可以根据本发明的实施例提供以下特征。适当地,图像部分能够包括部分区块。适当地,图像部分在单个逻辑单元(例如,在一个网络抽象层单元或一个NAL单元中)中编码或从单个逻辑单元解码(例如,在单个逻辑单元中用信号通知、传送、提供或从单个逻辑单元获得)。适当地,区块和/或子图片不在单个逻辑单元(例如,一个NAL单元)中编码或者从单个逻辑单元解码(例如,在单个逻辑单元中用信号通知、传送、提供或从单个逻辑获得)。
根据本发明的第四方面,提供一种处理一个或多于一个图像的图像数据的方法,各个图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中图像部分能够包括区块的一部分(部分区块),并且图像能够分割成一个或多于一个子图片,并且该方法包括:确定子图片中所包括的一个或多于一个图像部分;以及使用从所述确定所获得的信息来处理所述一个或多于一个图像。区块的部分(部分区块)可以是区块内的整数个连续完整编码树单元(CTU)行。
对于本发明的前述方面,可以根据本发明的实施例提供以下特征。适当地,所述确定包括使用以下项中的一个或多于一个来定义所述一个或多于一个图像部分:子图片的标识符;子图片的大小、宽度或高度;子图片中是否仅包括单个图像部分;以及子图片中包括的图像部分的数量。
适当地,当子图片中所包括的图像部分的数量大于1时,基于其中包括的区块的数量来确定各个图像部分。
适当地,当图像部分包括区块的一个或多于一个部分(部分区块)时,基于要包括在其中的编码树单元(CTU)的行或列的数量来确定所述图像部分。
适当地,所述处理包括:在图片参数集(PPS)中提供或从PPS获得用于基于区块的数量来确定图像部分的信息;以及当图像部分包括区块的一个或多于一个部分(部分区块)时,在包括所述图像部分的经编码数据的一个或多于一个逻辑单元的头部中提供或者从该头部获得用于识别包括区块的一个或多于一个部分(部分区块)的所述图像部分的信息。
适当地,图像部分由以区块光栅扫描顺序的区块序列组成。
适当地,所述处理包括在位流中提供或者从位流获得用于确定以下项中的一个或多于一个的信息:子图片中是否仅包括单个图像部分;子图片中包括的图像部分的数量。适当地,处理包括在位流中提供或从位流获得在处理一个或多于一个图像时是否允许使用包括区块的一部分(部分区块)的图像部分。
适当地,在位流中提供或者从位流获得的信息包括:指示在视频序列中是否使用子图片的信息;并且当信息指示在视频序列中未使用子图片时,视频序列的一个或多于一个图像部分被确定为不允许包括区块的一部分(部分区块)。
适当地,用于确定的信息在图片参数集(PPS)中提供或者从PPS获得。
适当地,用于确定的信息在序列参数集(SPS)中提供或者从SPS获得。
适当地,当用于确定的信息指示子图片中所包括的图像部分的数量是1时,子图片由不包括区块的一部分(部分区块)的单个图像部分组成。
适当地,子图片包括两个或多于两个图像部分,各个图像部分包括区块的一个或多于一个部分(部分区块)。
适当地,区块的一个或多于一个部分(部分区块)来自相同的单个区块。
适当地,两个或多于两个图像部分能够包括来自多于一个区块的区块的一个或多于一个部分(部分区块)。
适当地,图像部分由多个区块组成,在图像中所述图像部分形成矩形区域。
适当地,图像部分是条带(一个或多于一个图像部分是一个或多于一个条带)。
根据本发明的第五方面,提供一种对一个或多于一个图像进行编码的方法,该方法包括以下项中的任一个:根据第一方面或第四方面处理图像数据;根据第二方面进行分区;以及/或者根据第三方面用信号通知。
适当地,所述方法还包括:接收图像;根据第一方面或第四方面处理所接收的图像的图像数据;以及对所接收的图像进行编码并生成位流。
适当地,该方法还包括在位流中提供以下项中的一个或多于一个:图片参数集(PPS)中的用于基于区块的数量来确定图像部分的信息,以及当图像部分包括区块的一个或多于一个部分(部分区块)时,在包括所述图像部分的经编码数据的一个或多于一个逻辑单元的头部、条带区段头部或条带头部中的、用于标识包括区块的一个或多于一个部分(部分区块)的所述图像部分的信息;在PPS中,用于确定子图片中是否仅包括单个图像部分的信息;在PPS中,用于确定子图片中所包括的图像部分的数量的信息;在序列参数集(SPS)中,用于确定在处理一个或多于一个图像时是否允许使用包括区块的一部分(部分区块)的图像部分的信息;以及在SPS中,指示在视频序列中是否使用子图片的信息。
根据本发明的第六方面,提供一种对一个或多于一个图像进行解码的方法,该方法包括以下项中的任一个:根据第一方面或第四方面处理图像数据;根据第二方面进行分区;以及/或者根据第三方面用信号通知。
适当地,所述方法还包括:接收位流;根据第一方面或第四方面中的任一个对来自所接收的位流的信息进行解码并处理图像数据;以及使用所解码的信息和所处理的图像数据来获得图像。
适当地,该方法还包括从位流获得以下项中的一个或多于一个:来自图片参数集(PPS)的用于基于区块的数量来确定图像部分的信息;以及当图像部分包括区块的一个或多于一个部分(部分区块)时,来自包括所述图像部分的经编码数据的一个或多于一个逻辑单元的头部、条带区段头部或条带头部的、用于标识包括区块的一个或多于一个部分(部分区块)的所述图像部分的信息;来自PPS的用于确定子图片中是否仅包括单个图像部分的信息;来自PPS的用于确定子图片中所包括的图像部分的数量的信息;来自序列参数集(SPS)的用于确定在处理一个或多于一个图像时是否允许使用包括区块的一部分(部分区块)的图像部分的信息;以及来自SPS的指示子图片是否被用于视频序列的信息。
根据本发明的第七方面,提供一种处理一个或多于一个图像的图像数据的装置,该装置被配置为进行根据第一方面、第四方面、第二方面和第三方面中的任一个的方法。
根据本发明的第八方面,提供一种对一个或多于一个图像进行编码的装置,该装置包括根据第七方面的处理装置。适当地,所述装置被配置为进行根据第五方面的方法。
根据本发明的第九方面,提供一种对一个或多于一个图像进行解码的装置,该装置包括根据第七方面的处理装置。适当地,该装置被配置为进行根据第六方面的方法。
根据本发明的第十方面,提供一种程序,当其在计算机或处理器上运行时,使计算机或处理器执行根据第一方面、第四方面、第二方面或第三方面、第五方面或第六方面的方法。
根据本发明的第十一方面,提供一种承载/存储第十方面的程序的载体介质或计算机可读存储介质。
根据本发明的第十二方面,提供一种承载用于图像的信息数据集的信号,所述图像使用根据第五方面的方法来编码并由位流表示,所述图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中图像部分能够包括区块的一部分(部分区块),并且所述图像能够分割成一个或多于一个子图片,其中,所述信息数据集包括用于确定子图片中所包括的一个或多于一个图像部分的数据。
本发明的又一些方面涉及程序,所述程序在由计算机或处理器执行时使计算机或处理器执行前述方面的任何方法。该程序可以单独提供,或者可以在载体介质上、由载体介质承载或在载体介质中承载。载体介质可以是非暂时性的,例如存储介质,特别是计算机可读存储介质。载体介质也可以是暂时性的,例如信号或其他传输介质。信号可以经由任何合适的网络(包括互联网)传输。
本发明的又一些方面涉及一种照相机,该照相机包括根据前述装置方面中的任一个的装置。根据本发明的又一方面,提供一种移动装置,其包括根据前述装置方面中的任一个的装置和/或体现上述照相机方面的照相机。
本发明的一个方面中的任何特征可以以任何适当的组合应用于本发明的其他方面。特别地,方法方面可以应用于设备方面,反之亦然。此外,以硬件实现的特征可以以软件实现,反之亦然。本文中对软件和硬件特征的任何引用应当被相应地解释。如本文所述的任何设备特征也可以作为方法特征提供,反之亦然。如本文所使用的,部件加功能特征可以根据其相应结构(诸如适当编程的处理器和相关联的存储器)来替代地表达。还应当理解,在本发明的任何方面中描述和定义的各种特征的特定组合可以独立地实现和/或提供和/或使用。
通过参考附图对实施例的以下说明,本发明进一步的特征、方面和优点将变得明显。下面描述的本发明的各个实施例可以单独实现或作为多个实施例的组合实现。此外,在必要时或者在单个实施例中来自各个实施例的元件或特征的组合是有益的情况下,可以组合来自不同实施例的特征。
附图说明
现在将仅通过示例的方式并参考以下附图来描述本发明的实施例,其中:
图1示出根据本发明实施例将图片分区成区块和条带;
图2示出根据本发明实施例的图像的子图片分区;
图3示出根据本发明实施例的位流;
图4是示出根据本发明实施例的编码处理的流程图;
图5是示出根据本发明实施例的解码处理的流程图;
图6是示出根据本发明实施例的在用信号通知条带分区时使用的确定步骤的流程图;
图7示出根据本发明实施例的子图片和条带分区的示例;
图8示出根据本发明实施例的子图片和条带分区的示例;
图9a是示出根据本发明实施例的编码方法的步骤的流程图;
图9b是示出根据本发明实施例的解码方法的步骤的流程图;
图10是示出根据本发明实施例的编码方法的步骤的框图;
图11是示出根据本发明实施例的解码方法的步骤的框图;
图12是示意性地示出可以实现本发明的一个或多于一个实施例的数据通信系统的框图;
图13是示出可以实现本发明的一个或多于一个实施例的处理装置的组件的框图;
图14是示出可以实现本发明的一个或多于一个实施例的网络照相机系统的图;以及
图15是示出可以实现本发明的一个或多于一个实施例的智能电话的图。
具体实施方式
下面描述的本发明的实施例涉及改进图像(或图片)的编码和解码。
在本说明书中,“用信号通知”可以指将关于一个或多于一个参数或句法元素的信息插入到(提供/包括/编码在)位流中或者从位流提取/获得(解码)该信息,所述信息例如是用于确定子图片的标识符、子图片的大小/宽度/高度、子图片中是否仅包括单个图像部分(例如,条带)、条带是否是矩形条带和/或子图片中包括的条带的数量中的任何一个或多于一个的信息。在本说明书中,“处理”可以指对数据进行的任何类型的操作,例如,对一个或多于一个图像/图片的图像数据进行编码或解码。
在本说明书中,术语“条带”用作图像部分的示例(这种图像部分的其他示例将是包括一个或多于一个编码树单元的图像部分)。应当理解,本发明的实施例还可以基于图像部分而不是条带以及适当修改的参数/值/句法(诸如图像部分的头部(而不是条带头部或条带区段头部))来实现。还应理解,本文中描述为在条带头部、条带区段头部、序列参数集(SPS)或图片参数集(PPS)中用信号通知的各种信息可以在别处用信号通知,只要其能够提供通过在这些介质中用信号通知所述信息而提供的相同功能性即可。还应理解,条带、区块组、区块、编码树单元(CTU)/最大编码单元(LCU)、编码树块(CTB)、编码单元(CU)、预测单元(PU)、变换单元(TU)或像素/样本块中的任一个可被称为图像部分。
还应理解:当组件或工具被描述为“活动”时,组件/工具被“启用”或“可使用”或“已使用”;当被描述为“未活动”时,组件/工具被“禁用”或“不可用”或“未使用”;并且“可以推断”是指能够从其他信息确定/获得相关值或参数,而无需在位流中明确地用信号通知。此外,还应当理解,当标志被描述为“活动”时,意味着标志指示相关组件/工具是“活动”(即“有效”)的。
在本说明书中,除非另有说明,否则以下术语用于与它们在VVC7中定义的相同或功能等同的定义。VVC7中使用的定义如下所述。
条带:图片的排他地包含在单个NAL单元中的整数个完整区块或者区块内的整数个连续完整CTU行。
条带头部:包含与条带中表示的所有区块或区块内的CTU行有关的数据元素的经编码条带的一部分。
区块:图片中的特定区块列和特定区块行内的CTU的矩形区域。
子图片:图片内的一个或多于一个条带的矩形区域
图片(或图像):单色格式的亮度样本阵列或4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和两个相应的色度样本阵列。
经编码图片:包括AU内的具有nuh_layer_id的特定值的VCL NAL单元且包含图片的所有CTU的图片的经编码表示。
经编码表示:以编码形式表示的数据元素。
光栅扫描:矩形二维图案到一维图案的映射,使得一维图案中的第一条目来自从左到右扫描的二维图案的顶部第一行,随后类似地是各自从左到右扫描的图案的第二、第三等行(向下)。
块:M×N(M列×N行)样本阵列,或者M×N变换系数阵列。
编码块:针对M和N的某些值的M×N样本块,使得CTB至编码块的分割是分区。
编码树块(CTB):针对N的某个值的N×N样本块,使得成分至CTB的分割是分区。
编码树单元(CTU):具有三个样本阵列的图片的亮度样本的CTB、色度样本的两个相应CTB,或者单色图片或使用三个单独颜色平面和用于编码样本的句法结构所编码的图片的样本的CTB。
编码单元(CU):具有三个样本阵列的图片的亮度样本的编码块、色度样本的两个相应编码块,或者单色图片或使用三个单独颜色平面和用于编码样本的句法结构所编码的图片的样本的编码块。
成分:来自构成4:2:0、4:2:2或4:4:4颜色格式的图片的三个阵列(亮度和两个色度)之一的阵列或单个样本,或者构成单色格式的图片的阵列或阵列的单个样本。
图片参数集(PPS):包含应用于如由在各个条带头部中找到的句法元素所确定的零个或更多个完整编码图片的句法元素的句法结构。
序列参数集(SPS):包含应用于如由在PPS中找到的句法元素的内容所确定的零个或更多个完整CVS的句法元素的句法结构,所述PPS被在各个条带头部中找到的句法元素参考。
在本说明书中,除非另有说明,否则以下术语也用于与它们在下面定义的相同或功能等同的定义。
区块组:图片的排他地包含在单个NAL单元中的整数个完整(即整个)区块。
“区块片段”、“部分区块”、“区块的一部分”或“区块的片段”:图片的区块内不形成完整(即整个)区块的整数个连续完整CTU行。
条带区段:图片的排他地包含在单个NAL单元中的整数个完整区块或区块内的整数个连续完整CTU行。
条带区段头部:包含与条带区段中表示的所有区块或区块内的CTU行有关的数据元素的经编码条带区段的一部分。
存在条带区段时的条带:共同表示图片的区块或整数个完整区块的一个或多于一个条带区段的集合
本发明的实施例
图片/图像的分区和位流
3.1将图片分区成区块和条带
在大多数编码系统(如HEVC或新兴VVC标准)中,视频的压缩依赖于基于块的视频编码。在这些编码系统中,视频由可以在不同时间点(例如,在视频内的不同时间位置)显示的帧或图片或图像或样本的序列组成。在多层视频(例如,可缩放、立体或3D视频)的情况下,可能需要解码数个图片以能够形成要在特定时间点显示的最终/所得图像。图片也可以由多于一个的图像成分组成(即,图片的图像数据包括多于一个的图像成分)。这种图像成分的示例将是用于编码亮度、色度或深度信息的成分。
视频序列的压缩使用针对各个图片的数个不同的分区技术(即,用于分区/分割图片的不同方案/框架/布置/机制)以及在压缩处理期间如何实现这些分区技术。
图1示出根据本发明实施例的将图片分区成区块和条带,其与VVC7兼容。图片101和102被分割成由虚线表示的编码树单元(CTU)。CTU是VVC7的编码和解码的基本单元。例如,在VVC7中,CTU可以编码128×128个像素的区域。
编码树单元(CTU)也可以被称为(像素或成分样本(值)的)块、宏块或甚至编码块。编码树单元可以用于同时编码/解码图片的不同图像成分,或者可以限于仅一个图像成分,使得图片的不同图像成分可以被单独/独立地编码/解码。当图像的数据包括针对各个成分的单独数据时,CTU将多个编码树块(CTB)分组,针对各个成分一个CTB。
如图1所示,还可以根据由细实线表示的区块网格(即,分成一个或多于一个区块网格)来分区图片。区块是作为可独立于CTU分区而定义的(像素/成分样本的)矩形区域的图片部分(图片的一部分/部分)。例如在VVC7中,区块还可以对应于CTU序列,以在图1中的所表示的示例中,分区技术可以将区块的边界限制为与CTU的边界一致/对准。
定义区块,使得区块边界打破编码/解码处理的空间依赖(即,在给定图片中,定义/指定区块,使得其可以独立于同一图片的其他空间“相邻”区块而进行编码/解码)。这意味着区块中的CTU的编码/解码不基于来自同一图片中的其他区块的像素/样本或参考数据。
一些编码/解码系统(例如,本发明的实施例或用于VVC7的实施例)提供了条带的概念(即,还使用基于一个或多于一个条带的分区技术)。该机制使得能够将图片分区成一个或数个区块组,区块组统称为条带。各个条带由一个或数个区块或部分区块组成。如图片101和102所示,提供了两个不同种类的条带。第一种类的条带被限制为如图片101中的粗实线所表示的在图片中形成矩形区/区域的条带。图片101示出将图片分区成六个不同矩形条带(0)至(5)。第二种类的条带被限制为如图片102中的粗实线所表示的光栅扫描顺序中的连续区块(使得它们形成区块序列)。图片102示出将图片分区成由按光栅扫描顺序的连续区块组成的三个不同条带(0)至(2)。通常,矩形条带是用于应对视频中的感兴趣区域(ROI)的选择的结构/布置/配置。条带可以作为一个或数个个网络抽象层(NAL)单元在位流中编码(或从位流解码)。NAL单元是用于将数据封装在经编码/经解码位流(例如,包含整数个字节的包,其中多个包共同形成经编码视频数据)中的数据的逻辑单元。在VVC7的编码/解码系统中,条带通常被编码为单个NAL单元。当条带在位流中被编码为数个NAL单元时,条带的各个NAL单元被称作条带区段。条带区段包括含有针对该条带区段的编码参数的条带区段头部。根据变型,条带的第一条带区段NAL单元的头部包含针对条带的所有编码参数。条带的后续NAL单元的条带区段头部可以包含比第一NAL单元少的参数。在这种情况下,第一条带区段是独立条带区段,并且后续区段是依赖条带区段(因为它们依赖于来自第一条带区段的NAL单元的编码参数)。
3.2分区成子图片
图2示出了根据本发明实施例的图片的子图片分区,即,将图片分区成一个或多于一个子图片。子图片表示覆盖图片的矩形区域的图片部分(图片的一部分或部分)。各个子图片可以具有与另一子图片不同的大小和编码参数。子图片布局,即图片中的子图片的(例如,如使用子图片的位置和尺寸/宽度/高度定义的)几何形状允许对图片的条带集合进行分组,并且可以约束(即,施加限制)两个图片之间的时间运动预测。
在图2中,图片201的区块分区是4×5区块网格。条带分区定义24个条带,其针对每个区块包括一个条带(除了右手侧的最后一列区块之外,其中对于最后一列区块,各个区块被分割成两个条带(即,条带包括部分区块))。图片201也被分割成两个子图片202和203。子图片被定义为形成矩形区域的一个或多于一个条带。子图片202(示为虚线区域)包括前三个区块列(从左侧开始)中的条带,且子图片203(示为其上具有对角线的阴影区域)包括剩余条带(在右手侧的最后两个区块列中)。如图2中所示,VVC7及本发明的实施例提供允许在图片级别(例如,使用PPS中提供的句法元素针对每个图片)定义单个条带分区和单个区块分区。子图片分区应用于区块和条带分区的顶部。子图片的另一方面是各个子图片与标志集合相关联。这使得可以(使用标志集合中的一个或多于一个)指示时间预测被约束为使用来自作为同一子图片的一部分的参考帧的数据(例如,时间预测被限制,使得子图片的预测子不能使用来自另一子图片的参考数据)。例如,参考图2,CTB 204属于子图片202。当指示时间预测针对子图片202而受到约束时,子图片202的时间预测不能使用来自子图片203的参考块(或参考数据)。结果,子图片202的条带可独立于子图片203的条带而进行编码/解码。该特性/属性/性质/能力在包括将全向视频序列分区段成空间部分的视口相关流式传输中是有用的,其中各个空间部分表示360(度)内容的特定观看方向。然后,观看者可以选择与期望/相关观看方向相对应的区段,并且使用子图片的该特性,可以对区段进行编码/解码,而无需访问来自360内容的剩余部分的数据。
子图片的另一用途是生成具有感兴趣区域的流。子图片为这些感兴趣区域提供了可以独立编码/解码的空间表示。子图片被设计为使得能够/允许容易地访问对应于这些区域的编码数据。结果,可以提取对应于子图片的编码数据,并生成包括仅单个子图片或子图片与一个或多于一个其他子图片的组合/合成的数据的新位流,即,可以使用基于子图片的位流生成来提高灵活性和可扩展性。
3.3位流
图3示出了符合VVC7的编码系统的要求的根据本发明实施例的位流的组织(即,结构、配置或布置)。位流300由表示/指示句法元素的有序序列的数据和经编码(图像)数据组成。句法元素和经编码(图像)数据被放置(即,打包/分组)到NAL单元301至308中。存在不同的NAL单元类型。网络抽象层(NAL)提供将位流封装成针对不同协议(如实时协议/因特网协议(RTP/IP)、ISO基本介质文件格式等)的包的能力/性能。网络抽象层还提供用于包丢失弹性的框架。
NAL单元被分割成VCL NAL单元和非VCL NAL单元,VCL代表视频编码层。VCL NAL单元包含实际经编码视频数据。非VCL NAL单元包含附加信息。该附加信息可以是对经编码视频数据进行解码所需的参数,或者是可以增强经解码视频数据的可用性的补充数据。图3中的NAL单元306对应于条带(即,它们包括条带的实际经编码视频数据)并且构成位流的VCLNAL单元。
不同的NAL单元301至305对应于不同的参数集,这些NAL单元是非VCL NAL单元。DPS NAL单元301代表解码参数集NAL单元,包含对于给定解码处理恒定的参数。VPS NAL单元302(VPS代表视频参数集NAL单元)包含针对整个视频定义的参数(例如,整个视频包括图片/图像的一个或多于一个序列),因此在解码整个位流的经编码视频数据时适用。DPS NAL单元可以定义比VPS NAL单元中的参数更静态的参数(在参数稳定且在解码处理期间不改变那么多的意义上)。换句话说,DPS NAL单元的参数比VPS NAL单元的参数更不频繁地改变。SPS NAL单元303(SPS代表序列参数集)包含针对视频序列(即图片或图像的序列)定义的参数。具体地,SPS NAL单元可以定义视频序列的子图片布局及相关联参数。与各个子图片相关联的参数指定应用于子图片的编码约束。根据变型,参数包括指示子图片之间的时间预测被限制的标志,使得来自同一子图片的数据可用在时间预测处理期间。另一标志可跨子图片边界地启用或禁用环路滤波器(即,后滤波)。
PPS NAL单元304(PPS代表图片参数集)包含针对图片或图片组定义的参数。APSNAL单元305(APS代表自适应参数集)包含环路滤波器的参数,环路滤波器通常是自适应环路滤波器(ALF)或整形器模型(或具有色度缩放模型的亮度映射)或在条带级别使用的缩放矩阵。位流还可以包含SEI NAL单元(图3中未示出),其代表补充增强信息NAL单元。位流中这些参数集(或NAL单元)的出现周期(或包括频率)是可变的。针对整个位流定义的VPS可在位流中仅出现一次。相比之下,针对条带定义的APS可针对各个图片中的各个条带出现一次。实际上,不同条带可依赖于(例如,指代)相同APS,因此在图片的位流中,通常存在比条带更少的APS NAL单元。
AUD NAL单元307是分离两个访问单元的访问单元定界符NAL单元。访问单元是可以包括具有相同解码时间戳的一个或多于一个经编码图片的NAL单元集合(即,与具有相同时间戳的一个或多于一个经编码图片相关的一组NAL单元)。
PH NAL单元308是图片头部NAL单元,其对单个经编码图片的条带集合所共有的参数进行分组。图片可以指一个或多于一个APS以指示由图片的条带使用的AFL参数、整形器模型和缩放矩阵。
VCL NAL单元306各自包含条带的视频/图像数据。条带可对应于整个图片或子图片、单个区块或多个区块或区块的片段(部分区块)。例如,图3的条带包含数个区块320。条带由条带头部310和原始字节序列有效载荷(RBSP)311组成,原始字节序列有效载荷(RBSP)311包含编码为编码块340的经编码像素/成分样本数据。
如VVC7中的PPS的句法包括指定以亮度样本为单位的图片的大小的句法元素,且还包括用于指定各个图片的以区块和条带为单位的分区的句法元素。
PPS包含使得可以确定(即,能够确定)图片/帧中的条带位置的句法元素。由于子图片形成图片/帧中的矩形区域,因此可以从参数集NAL单元(即,DPS、VPS、SPS、PPS和APSNAL单元中的一个或多于一个)确定属于子图片的条带集合、区块的部分或区块。
编码和解码处理
3.4编码处理
图4示出了根据本发明实施例的用于将视频的图片编码在位流中的编码方法。
在第一步骤401中,图像被分割成子图片。对于各个子图片,子图片的大小根据应用所需的空间访问粒度来确定(例如,子图片大小可以根据应用/使用场景所需的图片中的区/空间部分/区域的大小/尺度/粒度级别来表示,子图片大小能够足够小以包含单个区/空间部分/区域)。通常,对于视口相关流流式传输方法,子图片大小被设置为覆盖视场的预定范围(例如,60°水平视场的范围)。对于感兴趣区域的自适应流式传输,使各个子图片的宽度和高度依赖于输入视频序列中存在的感兴趣区域。通常,使各个子图片的大小包含一个感兴趣区域。子图片的大小以亮度样本单元或以CTB的大小的倍数来确定。另外,在步骤401中确定经编码图片中的各个子图片的位置。子图片的位置和大小形成子图片布局信息,该子图片布局信息通常在非VCL NAL单元(诸如参数集NAL单元等)中用信号通知。例如,在步骤402中,将子图片布局信息编码在SPS NAL单元中。
针对这种SPS NAL单元的SPS句法通常包含以下句法元素:
描述符列给出了用于对句法元素进行编码的编码方法,例如,u(n)(其中n是整数值)意味着使用n个位对句法元素进行编码,并且ue(v)意味着使用无符号整数0阶指数哥伦布编码的句法元素(其中左首位是可变长度编码)对句法元素进行编码。除了有符号整数之外,se(v)等同于ue(v)。u(v)意味着使用固定长度编码(具有从其他参数确定的以位为单位的特定长度)对句法元素进行编码。
在图片的位流中用信号通知的子图片的存在依赖于标志subpics_present_flag的值。当该标志等于0时,指示位流不包含与将图片分区成一个或多于一个子图片相关的信息。在这种情况下,推断存在覆盖整个图片的单个子图片。当该标志等于1时,句法元素集合指定帧(即,图片)中的子图片的布局:用信号通知包括使用循环(即,用于重复指令序列直到满足特定条件的编程结构)来确定/定义/指定图片的子图片(图片中的子图片的数量用sps_num_subpics_minus1句法元素来编码),其包括定义各个子图片的位置和大小。这个“for循环”的索引是子图片索引。句法元素subpic_ctu_top_left_x[i]和subpic_ctu_top_left_y[i]分别对应于第i个子图片的第一CTU的列索引和行索引。subpic_width_minus1[i]和subpic_height_minus1[i]句法元素用信号通知以CTU为单位的第i个子图片的宽度和高度。
除了子图片布局之外,SPS还指定对子图片边界的约束:例如,subpic_treated_as_pic_flag[i]等于1指示第i个子图片的边界被视为用于时间预测的图片边界。确保了从属于同一子图片的参考图片的数据预测第i个子图片的编码块。当等于0时,该标志指示时间预测可受约束或可不受约束。第二标志(loop_filter_across_subpic_enabled_flag[i])指定是否允许环路滤波处理使用来自另一子图片的数据(通常为像素值)。这两个标志使得可以指示子图片是否独立于其他子图片被编码。该信息在确定子图片是否可以从其他子图片中提取、导出或与其他子图片合并时是有用的。
在步骤403中,编码器确定视频序列的图片中的区块和条带中的分区,并在诸如PPS等的一个非VCL NAL单元中描述这些分区。稍后参考图6进一步描述该步骤。条带和区块分区的用信号通知受子图片约束,使得各个子图片包括至少一个条带、以及区块的一部分(即,部分区块)或一个或多于一个区块。
在步骤404中,在位流中编码形成子图片的至少一个条带。
3.5解码处理
图5示出了根据本发明实施例的条带的一般解码处理。对于各个VCL NAL单元,解码器确定应用于当前条带的PPS和SPS。通常,确定用于当前图片的PPS和SPS的标识符。例如,条带的图片头部用信号通知使用中的PPS的标识符。然后与该PPS标识符相关联的PPS还参考使用另一标识符(SPS的标识符)的SPS。
在步骤501中,解码器确定子图片分区,例如通过对描述/指示子图片布局的参数集进行解析来确定图片/帧的子图片的大小,通常是其宽度和高度。对于VVC7和符合VVC7的该部分的实施例,包括用于确定该子图片分区的信息的参数集是SPS。在第二步骤502中,解码器解析与将图片分区成区块相关的一个参数集NAL单元(或非VCL NAL单元)的句法元素。例如,对于符合VVC7的流,区块分区的用信号通知是在PPS NAL单元中。在该确定步骤期间,解码器初始化描述/定义各个子图片中存在的区块的特性的变量集。例如,可以确定第i个子图片的以下信息(参见图6的步骤601):
·指示子图片是否包含区块的片段(即,部分区块)的标志(参见图6的步骤603)
·指示子图片中的区块的数量的整数值(图6的步骤602)
·指定以区块为单位的子图片的宽度的整数值(图6的步骤604)
·指定以区块为单位的子图片的高度的整数值(图6的步骤604)
·以光栅扫描顺序存在于子图片中的区块索引的列表(图6的步骤605)
图6示出了根据本发明实施例的条带分区的用信号通知,其涉及可以在编码和解码处理这两者中使用的确定步骤。
在步骤503中,解码器依赖于条带分区的用信号通知(在一个非VCL NAL单元中,例如,通常在VVC7的PPS中)和先前确定的信息来推断(即,导出或确定)各个子图片的条带分区。特别地,解码器可以推断(即,导出或确定)条带的数量、一个或多于一个条带的宽度和高度。解码器还可以获得存在于条带头部中的信息以确定存在于条带数据中的CTB的解码位置。
在最后的步骤504中,解码器对形成图片的在步骤503中确定的位置处的子图片的条带进行解码。
用信号通知分区
3.6用信号通知条带分区
根据本发明的实施例,条带可以由图片的整数个完整区块或区块内的整数个完整且连续的CTU行或列组成(后一种可能性意味着条带能够包括部分区块,只要部分区块包括连续的CTU行或列即可)。
还可以支持/提供两种条带模式以供使用,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式中,条带包含图片的按区块光栅扫描顺序的完整区块序列。在矩形条带模式中,条带包含共同形成图片的矩形区域的多个完整区块、或者共同形成图片的矩形区域的一个区块的多个连续完整CTU行(或列)。在对应于矩形条带的矩形区域内按区块光栅扫描顺序扫描该条带内的区块。
用于指定条带结构(布局和/或分区)的VVC7的句法独立于用于子图片的VVC7的句法。例如,在不参考子图片(即,不参考用于形成子图片的句法元素)的情况下,在区块结构/分区之上(即,基于或参考区块结构/分区)进行条带分区(即,将图片分区成条带)。另一方面,VVC7对子图片施加一些限制(即,约束),例如,子图片必须包含一个或多于一个条带,并且条带头部包括slice_address句法元素,slice_address句法元素是条带相对于其子图片的索引(即,针对相关联的子图片定义的索引,诸如子图片中的条带之中的条带的索引)。VVC7还仅允许包括矩形条带模式中的部分区块的条带,并且光栅扫描条带模式不定义包括部分区块的这种条带。在VVC7中使用的当前句法系统没有通过设计来强制执行所有这些约束,因此该句法系统的实现导致易于生成不符合VVC7规范/要求的位流的系统。
因此,本发明的实施例使用来自子图片布局定义的信息来指定条带分区,以尝试为子图片、区块和条带的用信号通知提供更好的编码效率。
具有在区块内定义多个条带(也称为“区块片段”条带或包括部分区块的条带)的能力的要求来自全向流式传输要求。已经识别出需要在区块内定义条带以用于OMAF流的BEAMER(Bitstream Extraction And MERging(位流提取和合并))操作。这意味着“区块片段”条带可以存在于不同的子图片中以允许BEAMER操作,这然后意味着具有包含具有多个条带的一个完整区块的子图片几乎没有意义。
下面的本发明的前三个实施例(实施例1、实施例2和实施例3)定义了基于子图片的条带分区确定和用信号通知。第一实施例1包括不允许/阻止/禁止子图片包含多个“区块片段”条带的句法系统,而第二实施例2包括仅当子图片包含至多一个区块时才允许/准许的句法系统(即,如果子图片包含多于一个区块,则其所有条带包含整数个完整区块)。实施例3提供了“区块片段”条带的使用的显式用信号通知。当不使用“区块片段”条带时,避免用信号通知与这种条带相关的句法元素,这可以提高用信号通知条带分区的编码效率。实施例1至3允许/准许仅在矩形条带模式中使用区块片段条带。
第四实施例4是前三个实施例的替代方案,其中统一句法系统用于允许/准许在光栅扫描和矩形条带模式两者中使用区块片段条带。第五实施例5是其他实施例的替代方案,其中子图片布局和条带分区不在位流中被用信号通知,而是从区块的用信号通知被推断(即,确定或导出)。
实施例1
在第一实施例(实施例1)中,修改VVC7的条带分区的句法以避免指定难以正确实现的许多约束,并且还依赖于子图片布局来推断/导出用于条带分区的参数,例如条带的大小。由于子图片由完整条带的集合/组表示(即,由完整条带的集合/组组成),因此当子图片包含单个条带时,可以推断条带的大小。类似地,根据子图片中的条带的数量和子图片中较早处理/遇到的条带的大小,可以推断/导出/确定最后条带的大小。
在实施例1中,仅当条带覆盖完全/整个子图片(换句话说,子图片中存在单个条带)时,才允许条带包括区块的片段/部分(即,部分区块)。当子图片中存在多于一个条带时,用信号通知条带大小是必要的。另一方面,当子图片中存在单个条带时,条带大小与子图片大小相同。因此,当条带包括区块的片段时,条带大小不在参数集NAL单元中用信号通知(因为其与子图片大小相同)。因此,可以约束条带宽度和高度仅针对条带大小的用信号通知的场景以区块为单位。
该实施例的PPS的句法包括指定包括在各个子图片中的条带的数量。当条带的数量大于1时,条带的大小(宽度和高度)以区块为单位表示。如上所述,最后条带的大小不用信号通知并且从子图片布局推断/导出/确定。
根据该实施例的变型,PPS句法包含具有以下语义(即,定义或函数)的以下句法元素:
PPS句法
PPS语义
针对每个子图片定义条带。“for循环”与num_slices_in_subpic_minus1句法元素一起使用以形成/处理该特定子图片中的正确数量的条带。句法元素num_slices_in_subpic_minus1[i]指示(具有等于i的子图片索引的子图片中的)条带的数量减1,即,句法元素指示比子图片中的条带的数量少一的值。当等于0时,指示子图片包含大小等于子图片大小的单个条带。当条带的数量大于1时,条带的大小以整数个区块为单位来表示。最后条带的大小是从子图片大小(及子图片中的其它区块的大小)推断。利用这种方法,通过句法元素的以下语义,当“区块片段”条带覆盖完整子图片时,可以定义“区块片段”条带:
pps_num_subpics_minus1加1指定参考PPS的经编码图片中的子图片的数量。对位流一致性的要求是pps_num_subpic_minus1的值应等于sps_num_subpics_minus1(其为在SPS级别定义的子图片的数量)。
single_slice_per_subpic_flag等于1指定各个子图片由一个且仅一个矩形条带组成。single_slice_per_subpic_flag等于0指定各个子图片可以由一个或多于一个矩形条带组成。当subpics_present_flag等于0时,single_slice_per_subpic_flag应等于0。当single_slice_per_subpic_flag等于1时,推断num_slices_in_pic_minus1等于sps_num_subpics_minus1(其是在SPS级别定义的子图片的数量)。
num_slices_in_subpic_minus1[i]加1指定第i个子图片中的矩形条带的数量。num_slices_in_subpic_minus1的值应在0至MaxSlicesPerPicture-1(包含端点)的范围内,其中MaxSlicesPerPicture在附录A中指定。当no_pic_partition_flag等于1时,推断num_slices_in_subpic_minus1[0]的值等于0。
该句法元素确定条带头部的slice_address的长度,其为Ceil(log2(num_slices_in_subpic_minus1[SubPicIdx]+1))位(其中SubPicIdx为条带的子图片的索引)。slice_address的值可以在0至num_slices_in_subpic_minus1[SubPicIdx](包含端点)的范围内。
tile_idx_delta_present_flag等于0指定在PPS中不存在tile_idx_delta值,并且以光栅顺序指定参考PPS的图片的所有子图片中的所有矩形条带。tile_idx_delta_present_flag等于1指定:tile_idx_delta值可以存在于PPS中,并且以tile_idx_delta的值指示的顺序指定参考PPS的图片的所有子图片中的所有矩形条带。
slice_width_in_tiles_minus1[i][j]加1指定第i个子图片中的以区块列为单位的第j个矩形条带的宽度。slice_width_in_tiles_minus1[i][j]的值应在0至NumTileColumns-1(包含端点)的范围内(其中NumTileColumns是区块网格中的区块列的数量)。当不存在时,根据子图片大小来推断slice_width_in_tiles_minus1[i][j]的值。
slice_height_in_tiles_minus1[i][j]加1指定第i个子图片中的以区块行为单位的第j个矩形条带的高度。slice_height_in_tiles_minus1[i][j]的值应在0至NumTileRows-1(包含端点)的范围内(其中NumTileRows是区块网格中的区块行的数量)。当不存在时,根据第i个子图片大小来推断slice_height_in_tiles_minus1[i][j]的值。
tile_idx_delta[i][j]指定第i个子图片的第j个矩形条带与第(j+1)个矩形条带之间的区块索引的差。tile_idx_delta[i][j]的值应在–NumTilesInPic[i]+1至NumTilesInPic[i]-1(包含端点)的范围内(其中NumTilesInPic[i]是图片中的区块的数量)。当不存在时,推断tile_idx_delta[i][j]的值等于0。在所有其它情况下,tile_idx_delta[i][j]的值不应等于0。
因此,根据该变型:
·子图片是图片内的一个或多于一个条带的矩形区域。条带的地址是相对于子图片来定义的。子图片与其条带之间的这种关联/关系反映在句法系统中,该句法系统在应用于各个子图片的“for循环”中定义条带。
·通过设计,避免了可能导致在同一子图片中具有来自两个不同区块的多于一个区块片段条带的不想要的分区。
·可以从区块和子图片分区这两者推导出条带分区,这提高了用信号通知的编码效率。
根据该变型的另一变型,使用以下处理来进行条带分区的这种推导/导出。对于矩形条带,当single_slice_per_subpic_flag等于0时,如下导出列表NumCtuInSlice[i](其中i的范围从0到num_slices_in_pic_minus1(包含端点))(指定第i个条带中的CTU的数量)以及矩阵CtbAddrInSlice[i][j](其中i的范围从0到num_slices_in_pic_minus1(包含端点),以及j的范围从0到NumCtuInSlice[i]-1(包含端点))(指定第i个条带内的第j个CTB的图片光栅扫描地址):
其中函数AddCtbsToSlice(sliceIdx,startX,stopX,startY,stopY)用等于SliceIdx的索引填充条带的CtbAddrInSlice阵列。以光栅扫描顺序针对CTB用CTB地址填充阵列,其中CTB行的垂直地址在startY和stopY之间;以及CTB列的水平地址在startX和stopX之间。
该处理包括对各个子图片应用处理循环。对于各个子图片,子图片中的第一区块的区块索引是根据子图片的第一区块的水平和垂直地址(即subpicTileTopLeftX[i]和SubpicTileTopLeftX[i]变量)以及由区块分区信息指定的区块列的数量来确定的。该值推断/指示/表示子图片的第一条带中的第一区块的索引。对于各个子图片,将第二处理循环应用于子图片的各个条带。条带的数量等于一加上变量num_slices_in_subpics_minus1[i][j],该变量在PPS中编码或从位流中包括的其它信息推断/导出/确定。当条带是子图片的最后一个时,以区块为单位的条带的宽度被推断/推导/导出/确定为等于以区块为单位的子图片宽度减去条带的第一区块的列的水平地址加上子图片的第一区块的列的水平地址。类似地,区块中的条带的高度被推断/推导/导出/确定为等于以区块为单位的子图片高度减去条带的第一区块的行的垂直地址加上子图片的第一区块的行的垂直地址。先前条带的第一区块的索引在区块分区信息中编码(例如,作为与先前条带的第一区块的区块索引的差),或其经推断/推导/导出/确定为等于子图片中的区块的按光栅扫描顺序的下一区块。
当子图片包含区块的片段(即,部分区块)时,推断/推导/导出/确定条带的以CTU为单位的宽度和高度等于子图片的以CTU为单位的宽度和高度。CtbAddrInSlice[sliceIdx]阵列按光栅扫描顺序填充有子图片的CTU。否则,子图片包含一个或多于一个区块,并且CtbAddrInSlice[sliceIdx]阵列填充有条带中包括的区块的CTU。子图片的条带中包括的区块是具有区块列的垂直地址和区块列的水平地址的区块,垂直地址从[tileX,tileX+slice_width_in_tiles_minus1[i][j]]的范围定义,水平地址从[tileY,tileY+slice_height_in_tiles_minus1[i][j]]的范围定义,其中tileX是条带的第一区块的区块列的垂直地址;tiley是条带的第一区块的区块行的水平地址;i是子图片索引,并且j是子图片中的条带的索引。
最后,对条带的处理循环包括用于确定子图片的下一条带中的第一区块的确定步骤。当对区块索引偏移(tile_idx_delat[i][j])进行编码(tile_idx_delta_present_flag[i]等于1)时,将下一条带的区块索引设置为等于当前条带的第一区块的索引加上区块索引偏移值的值。否则(即,当区块索引偏移未被编码时),将tileIdx设置为等于子图片的第一区块的区块索引加上图片中的区块列的数量与当前条带的以区块为单位的高度减1的乘积。
根据另一变型,当子图片包括部分区块时,不是在PPS中用信号通知包括在子图片中的条带的数量,而是推断/推导/导出/确定子图片由该部分区块组成。例如,可替代地使用以下替代PPS句法来做到这一点。
替代PPS句法
在另一变型中,当子图片表示区块的片段(即,子图片包括部分区块)时,推断子图片中的条带的数量等于一。随着表示区块片段的子图片的数量(即,包括部分区块的子图片的数量)增加,句法元素的编码数据大小进一步减小,这而改善了流的压缩。PPS的句法例如如下:
num_slices_in_subpic_minus1[i]的新语义/定义如下:
num_slices_in_subpic_minus1[i]加1指定第i个子图片中的矩形条带的数量。num_slices_in_subpic_minus1的值应在0至MaxSlicesPerPicture-1(包含端点)的范围内,其中MaxSlicesPerPicture在附录A中指定。当不存在时,推断num_slices_in_subpic_minus1[i]的值等于0(i在0至pps_num_subpic_minus1(包含端点)的范围内。
tileFractionSubPicture[i]变量指定第i个子图片是否覆盖区块的片段(部分区块),即,子图片的大小严格低于(即,小于)子图片的第一CTU所属的区块。
解码器如下根据子图片布局和区块网格信息确定该变量。当子图片的顶部和底部水平边界都是区块边界时,tileFractionSubpicture[i]被设置为等于0。相比之下,当顶部或底部水平子图片边界中的至少一个不是区块边界时,tileFractionSubpicture[i]被设置为等于1。
在又一变型中,slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]的存在或其缺失是从以区块为单位的子图片的宽度和高度推断的。例如,变量subPictureWidthInTiles[i]和subPictureHeightInTiles[i]分别以区块为单位定义第i个子图片的宽度和高度。当子图片是区块的片段时,子图片的宽度被设置为1(因为区块的片段具有等于区块的宽度的宽度),并且高度按照惯例被设置为0以指示子图片的高度低于一个完整区块。应当理解,可以使用任何其他预设/预定值,主要约束是设置/确定两个值,使得它们不表示以区块为单位的可能子图片大小。例如,可将值设置为等于图片中的区块的最大数量加1。在这种情况下,可以推断子图片是区块的片段,这是因为大于区块的最大数量的子图片的宽度或高度是不可能的。
一旦确定区块分区(通常基于num_exp_tile_columns_minus1、num_exp_tile_rows_minus1、tile_column_width_minus1[i]和tile_row_height_minus1[i]句法元素),就初始化这些变量。该处理可以包括对各个子图片进行处理循环。也就是说,对于各个子图片,如果子图片覆盖区块的片段,则子图片的以区块为单位的宽度和高度分别设置为1和0。否则,如下确定子图片的以区块为单位的宽度的确定:子图片的第一CTU的CTU列的水平地址(从第i个子图片的子图片布局句法元素subpic_ctu_top_left_x[i]确定)用于确定子图片中的第一区块的区块列的水平地址。
然后,对于区块网格的各个区块列,确定区块列的最左和最右CTU列的水平地址。当子图片的第一CTU的CTU列的水平地址在这两个地址之间时,水平地址指示子图片中的第一区块的区块列的水平地址。相同的处理适用于确定包含子图片的最右CTU列的区块列的水平地址。最右CTU列的CTU列的水平地址等于子图片的第一CTU的CTU列的水平地址与子图片的以CTU为单位的宽度之和(subpic_width_minus1[i]加1)。以区块为单位的子图片的宽度等于最后CTU列的区块列的水平地址与子图片的第一CTU的水平地址的差。当确定以区块为单位的子图片的高度时,同样的原理适用。该处理将以区块为单位的子图片高度确定为子图片的第一CTU和子图片的最后CTU行的区块行的垂直地址的差。
在另一变型中,当子图片中的区块的数量等于子图片中的条带的数量时,slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]不存在并且被推断为等于0。实际上,在相等的情况下,子图片和条带约束强制各个条带恰好包含一个区块。当子图片是区块片段(tileFractionSubpicture[i]等于1)时,子图片中的区块的数量等于1。否则,等于subPictureHeightInTiles[i]和SubPictureWidthInTiles[i]的乘积。
在另一变型中,当以区块为单位的子图片的宽度等于1时,slice_width_in_tiles_minus1[i][j]不存在并且被推断为等于0。
在另一变型中,当以区块为单位的子图片的高度等于1时,slice_height_in_tiles_minus1[i][j]不存在并且被推断为等于0。
在又一另一变型中,使用三种前述另一变型的任何组合。
在一些先前的变型中,从子图片分区信息推断句法元素的存在。当在不同的参数集NAL单元中定义子图片分区时,条带分区的解析依赖于来自其他参数集NAL单元的信息。这种依赖可以限制变型在某些应用中的使用,这是因为在不存储来自另一参数集的信息的情况下不能进行包括条带分区的参数集的解析。对于参数的解码,即确定由句法元素编码的值,这种依赖不是限制,这是因为解码器需要使用的所有参数集以任何方式解码像素样本(可能存在由于必须等待解码所有相关参数集导致的一些延迟)。因此,在另一变型中,仅当子图片、区块和条带分区在相同参数集NAL单元中用信号通知时才启用句法元素的存在的推断。例如,指定以区块为单位的第i个子图片的宽度的变量subpictureWidthInTiles[i],指定以区块为单位的第i个子图片的高度的变量subpictureHeightInTiles[i],指定第i个子图片中的第一区块的列的水平地址的变量subpictileTopLeftX[i],以及指定第i个子图片中的第一区块的行的垂直地址的subpicTileTopLefty[i](其中i在0至pps_num_subpicture_minus1(包含端点)的范围内)如下确定:
指定子图片是否包含区块的片段的tileFractionSubpicture[i]变量导出如下:
指定第i个子图片中的矩形条带的数量的列表SliceSubpicToPicIdx[i][k]和第i个子图片的第k个条带的图片级别条带索引如下导出:
其中:
·CtbToTileRowBd[ctbAddrY]以CTB为单位将垂直CTB地址(ctbAddrY)转换为上区块列边界
·CtbTotileColBd[ctbAddrX]以CTB为单位将水平CTB地址(ctbAddrX)转换为左区块列边界
·ColWidth[i]是以CTB为单位的第i个区块列的宽度
·RowHeight[i]是以CTB为单位的第i个区块行的高度
·tileColBd[i]是以CTB为单位的第i个区块列边界的位置
·tileRowBd[i]是以CTB为单位的第i个区块行边界的位置
·NumTileColumns是区块列的数量
·NumTileRows是区块行的数量
图7示出使用上述实施例/变型/另一变型的用信号通知的子图片和条带分区的示例。在该示例中,图片700被分割成标记为(1)至(9)的9个子图片和4×5区块网格(区块边界以粗实线示出)。对于各个子图片,条带分区(各个条带中包括的区域以细实线示出,其恰好在条带边界内)如下:
·子图片(1):3个条带,其分别包含1个区块、2个区块和3个区块。条带的高度等于1个区块,并且条带的宽度以区块为单位分别为1、2和3(即,由在水平方向上布置的一行区块组成的3个条带)
·子图片(2):2个相等大小的条带,大小为1个区块的宽度和1个区块的高度(即,2个条带各自由单个区块组成)
·子图片(3)至(6):1个“区块片段”条带,即由单个部分区块组成的条带
·子图片(7):列的大小为2个区块的2个条带(即,2个条带各自由在垂直方向上布置的2个区块的列组成)
·子图片(8):行为3个区块的1个条带
·子图片(9):行的大小为1个区块和行的大小为2个区块的2个条带
对于子图片(1),对前两个条带的宽度和高度进行编码,而推断最后条带的大小。
对于子图片(2),推断前两个条带的宽度和高度,这是因为子图片中存在针对两个区块的两个条带。
对于子图片(3)至(6),各个子图片中的条带的数量等于1,并且条带的宽度和高度被推断为等于子图片大小,这是因为各个子图片是区块的片段。
对于子图片(7),从子图片大小推断第一条带的宽度和高度以及最后条带的宽度和高度。
对于子图片(8),推断条带的宽度和高度等于子图片大小,这是因为子图片中存在单个条带。
对于子图片(9),推断条带的高度等于1(因为以区块为单位的子图片高度等于1),并且对第一条带的宽度进行编码,而最后条带的宽度等于子图片的宽度减去第一条带的宽度。
实施例2
在第二实施例(实施例2)中,放松/去除“区块片段”条带(即,作为部分区块的条带)应覆盖整个子图片的约束/限制。结果,子图片可以包含一个或多于一个条带,各个条带包括一个或多于一个区块,但是也可以包含一个或多于一个“区块片段”条带。
在该实施例中,子图片分区允许/实现条带位置和大小的预测/导出/确定。
根据该实施例的变型,可以使用以下PPS句法来进行该操作。
PPS句法
例如,PPS句法如下:
句法元素single_slice_per_subpic_flag、tile_idx_delta_present_flag、num_slices_in_subpic_minus1[i]和tile_idx_delta[i][j]的语义与先前实施例中的相同。
slice_width_minus1和slice_height_minus1句法元素(参数)依赖于子图片分区来指定以区块或CTU为单位的条带大小。
当条带的最后CTU是区块的最后CTU时,将变量newTileIdxDeltaRequired设置为等于一。当条带不是“区块片段”条带时,newTileIdxDeltaRequired等于1。当条带是“区块片段”条带时,如果条带不是条带中的区块中的最后一个,则将newTileIdxDeltaRequired设置为0。否则,是区块中的最后一个,并且newTileIdxDeltaRequired被设置为1。
在第一另外的变型中,子图片被约束/限制为包含单个区块的片段区块条带。在这种情况下,如果子图片包含多于一个区块,则大小以区块为单位。否则,子图片包含单个区块或区块的一部分(部分区块),且条带高度以CTU为单位定义。条带的宽度必须等于子图片宽度,因此可推断且无需在PPS中编码。
slice_width_minus1[i][j]加1指定第j个矩形条带的宽度。slice_width_in_tiles_minus1[i][j]的值应在0至NumTileColumns-1(包含端点)的范围内(其中NumTileColumns是区块网格中的区块列的数量)。当不存在时(即,当SubPictureWidthInTiles[i]*SubPictureHeightInTiles[i]==1或SubPictureWidthinTiles[i]等于1时),推断slice_width_in_tiles_minus1[i][j]的值等于0。
slice_height_in_tiles_minus1[i][j]加1指定第i个子图片中的第j个矩形条带的高度。slice_height_in_tiles_minus1[i][j]的值应在0至NumTileRows-1(包含端点)的范围内(其中NumTileRows是区块网格中的区块行的数量)。当不存在时(即,当subPictureHeightInTiles[i]等于1并且num_slices_in_subpic_minus1[i]==0时),推断slice_height_in_tiles_minus1[i][j]的值等于0。
如下导出指定第i个子图片的第j个矩形条带的以区块为单位的宽度的变量SliceWidthInTiles[i][j]、指定第i个子图片的第j个矩形条带的以区块为单位的高度的变量SliceHeightInTiles[i][j]、指定第i个子图片的第j个矩形条带的以CTB为单位的高度的变量SliceHeightInCTUs[i][j](i在0至pps_num_subpic_minus1的范围内,且j在0至num_slices_in_subpic_minus1[i]的范围内)。
利用该算法,SliceHeightInCTUs[i][j]仅在sliceHeightInTiles[i][j]等于0时有效。
在替代的另一变型中,允许子图片包含来自数个区块的区块片段条带(即,包括来自多于一个区块的部分区块的条带),其中限定/限制/条件是所有子图片的条带必须是区块片段条带。因此,不可以定义包含第一区块片段条带(其包括第一区块的部分区块)和第二区块片段条带(其包括与第一区块不同的第二区块的部分区块)以及另一条带(其整体覆盖第三(不同)区块(即,第三区块是完整/整个区块))的子图片。在这种情况下,如果子图片包含比子图片中的区块更多的条带,则slice_height_minus1[i][j]句法元素是以CTU为单位,且slice_width_minus1[i][j]被推断为等于以CTU为单位的子图片宽度。否则,条带的大小以区块为单位。
在另一变型中,条带PPS句法如下:
在该另一变型中,除了单独的句法元素根据条带是否以CTU为单位定义来定义以区块为单位的条带宽度和高度或者以CTU为单位的条带高度之外,应用相同的原理。当条带以区块单元用信号通知时,条带宽度和高度用slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]定义,而当宽度以CTU单元表示时,使用slice_width_in_ctu_minus1[i][j]。变量sliceInCtuFlag[i]等于1指示第i个子图片仅包含区块片段条带(即,子图片中没有整个/完整的区块条带)。当等于0时,指示第i个子图片包含包括一个或多于一个区块的条带。
对于0至pps_num_subpic_minus1范围内的i,如下导出变量sliceInCtuFlag[i]:
sliceInCtuFlag[i]变量的确定引入了条带和子图片分区信息之间的解析依赖。因此,在变型中,当在不同参数集NAL单元中用信号通知条带、区块和子图片分区时,用信号通知并且不推断sliceInCtuFlag[i]。
在另一变型中,允许子图片包含来自数个区块的区块片段条带,而没有任何特定约束/限制。因此,可以定义包含第一区块片段条带(其包括第一区块的部分区块)和第二区块片段条带(其包括与第一区块不同的第二区块的部分区块)以及另一条带(其整体覆盖第三(不同)区块(即,第三区块是完整/整个区块))的子图片。在这种情况下,当子图片中的区块的数量大于1时,标志指示是否以CTU或区块单元指定条带大小。例如,PPS的以下句法用信号通知slice_in_ctu_flag[i]句法元素,slice_in_ctu_flag[i]句法元素指示第i个子图片的条带大小是以CTU还是区块为单元来表示。slice_in_ctu_flag[i]等于0指示slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]句法元素的存在以及slice_height_in_ctu_minus1[i][j]的不存在,即条带大小以区块单元表示。slice_in_ctu_flag[i]等于1指示slice_height_in_ctu_minus1[i][j]的存在以及slice_width_in_tiles_minus1[i][j]和slice_height_in_tiles_minus1[i][j]句法元素的不存在,即条带大小以CTU单元来表示。
图8示出了使用上面进一步描述的实施例/变型/的用信号通知的子图片和条带分区的示例。在该示例中,图片800被分割成标记为(1)至(6)的6个子图片和4×5区块网格(区块边界以粗实线示出)。对于各个子图片,条带分区(各个条带中包括的区以恰好在条带边界内的细实线示出)如下:
·子图片(1):行的大小为1个区块、2个区块和3个区块的3个条带(即,由在水平方向上布置的一行区块组成的3个条带)
·子图片(2):大小相等的2个条带,大小为1个区块(即,2个条带各自由单个区块组成)
·子图片(3):4个“区块片段”条带,即各自由单个部分区块组成的4个条带
·子图片(4):列的大小为2个区块的2个条带(即,2个条带各自由在垂直方向上布置的一列2个区块组成)
·子图片(5):行为3个区块的1个条带
·子图片(6):行的大小为1个区块和行的大小为2个区块的2个条带
对于子图片(3),子图片中的条带的数量等于4,并且子图片仅包含两个区块。推断条带的宽度等于子图片宽度,并且以CTU单元指定条带的高度。
对于子图片(1)、(2)、(4)及(5),条带的数量低于子图片中的区块,因此在必要时(即,在无法从其它信息推断/导出/确定的情况下)以区块为单位指定宽度及高度。
对于子图片(1),对前两个条带的宽度和高度进行编码,而推断最后条带的大小。
对于子图片(2),推断前两个条带的宽度和高度,这是因为子图片中存在2个区块的2个条带。
对于子图片(4),从子图片大小推断第一条带的宽度和高度以及最后条带的大小。
对于子图片(5),推断宽度和高度等于子图片大小,这是因为子图片中存在单个条带。
对于子图片(5),推断条带的高度等于1(因为以区块为单位的子图片高度等于1),且编码第一条带的宽度,而推断最后条带的宽度等于子图片的宽度减去第一条带的大小。
实施例3
在该第三实施例(实施例3)中,在位流中,指定是启用还是禁用区块片段条带。原理是在参数集NAL单元(或非VCL NAL单元)中的一个中包括指示是否允许使用“区块片段”条带的句法元素。
根据变型,SPS包括指示是否允许“区块片段”条带的标志,因此当该标志指示不允许“区块片段”条带时,可以跳过“区块片段”的用信号通知。例如,当标志等于0时,指示不允许“区块片段”条带。当标志等于1时,允许“区块片段”条带。NAL单元可以包括用以指示“区块片段”条带的位置的句法元素。例如,可使用以下SPS句法元素及其语义来进行该操作。
SPS句法:用于启用/禁用区块片段条带
SPS语义
sps_tile_fraction_slices_enabled_flag指定是否在经编码视频序列中启用“区块片段”条带。sps_tile_fraction_slices_enabled_flag等于0指示条带应包含整数个区块。sps_tile_fraction_slices_enabled_flag等于1指示条带可以包含整数个区块或来自一个区块的整数个CTU行。
在另一变型中,在PPS级别指定sps_tile_fraction_slices_enabled_flag以提供用于自适应应用/定义“区块片段”条带的存在的更多粒度。在又一变型中,标志可以位于图片头部NAL单元中,以允许/使得能够基于图片适配“区块片段”条带的存在。标志可以以不同的值存在于多个NAL单元中,以允许覆盖在更高级别的参数集中定义的配置。例如,图片头部中的标志的值覆盖PPS中的值,PPS中的值覆盖SPS中的值。
在替代变型中,sps_tile_fraction_slices_enabled_flag的值可以从其他句法元素来约束或推断。例如,当在视频序列中不使用子图片(即,subpics_present_flag等于0)时,推断sps_tile_fraction_slices_enabled_flag等于0。
实施例1和实施例2的变型可以以类似的方式考虑sps_tile_fraction_slices_enabled_flag的值以推断是否存在用信号通知区块片段条带。例如,可以如下修改上面呈现的PPS:
当sps_tile_fraction_slices_enabled_flag等于0时,以区块为单位推断条带高度的用信号通知。
实施例4
在VVC7中,仅针对矩形条带模式启用区块片段条带。下面描述的实施例4具有的优点在于,使得能够在光栅扫描条带模式中也使用区块片段条带。这提供了能够更精确地调整经编码条带的以位为单位的长度的可能性,这是因为条带边界不被约束为如VVC7中那样与区块边界对准。
该原理包括在两个地方定义条带分区(或提供条带分区的相关信息)。参数集以区块为单位定义条带。区块片段条带在条带头部中用信号通知。在变型中,sps_tile_fraction_slices_enabled_flag被预定为等于1,并且在条带头部中用信号通知“区块片段”始终存在。
为了实现这一点,在实践中,条带的语义从VVC7和前述实施例/变型/进一步变型的语义修改:条带是共同表示图片的区块或整数个完整区块的一个或多于一个条带区段的集合。条带区段表示图片内的、排他地包含在单个NAL单元中的整数个完整区块或区块内的整数个连续完整CTU行(即,“区块片段”),即,一个或多于一个区块或“区块片段”。“区块片段”条带是一个区块的连续CTU行的集合。允许条带区段包含区块的所有CTU行。在这种情况下,条带区段包含单个条带区段。
根据变型,任何先前实施例的PPS句法被修改为包括区块片段特定的用信号通知。下文示出这种PPS句法修改的示例。
PPS句法
修改任何先前实施例的PPS句法以移除区块片段特定的用信号通知。例如,PPS句法如下:
对于句法元素,具有相同的语义。
条带区段句法
条带区段NAL单元由条带区段头部和条带区段数据组成,其类似于条带的VVC7NAL单元结构。来自先前实施例的条带头部变成具有与条带头部中相同的句法元素的条带区段头部,但作为条带区段头部,其包括用于定位/识别条带中的条带区段(例如,在PPS中描述/定义)的附加句法元素。
条带区段头部包括用信号通知以指定在条带中条带区段以哪个CTU行开始。slice_ctu_row_offset指定条带中第一CTU的CTU行偏移。
当rect_slice_flag等于0(即,条带模式处于光栅扫描条带模式)时,CTU行偏移是相对于具有等于slice_address的索引的区块的第一行的。当rect_slice_flag等于1(即,处于矩形条带模式)时,CTU行偏移是相对于在以slice_subpic_id标识的子图片中具有等于slice_address的索引的条带的第一CTU的。使用可变或固定长度编码来编码CTU行偏移。对于固定长度,从PPS确定条带中的CTU行的数量,且句法元素的以位为单位的长度等于log2(CTU行的数量减1)。
有两种方式用于指示条带区段的结束。
在第一方式中,条带区段指示条带区段中的CTU行的数量(减1)。使用可变长度编码或固定长度编码对CTU行的数量进行编码。对于固定长度编码,从PPS确定条带中的CTU行的数量。句法元素的以位为单位的长度等于log2(条带中的CTU行的数量减CTU行偏移减1的差)。
条带头部的句法例如如下:
num_ctu_rows_in_slice_minus1加1指定条带区段NAL单元中的CTU行的数量。num_ctu_rows_in_slice_minus1的范围是0至条带中包含的区块中的CTU行的数量减2。
当sps_tile_fraction_slices_enabled_flag等于1且num_tiles_in_slice_segment_minus1等于0时,指定当前条带中CTU的数量的变量NumCtuInCurrSlice等于CTU行的数量乘以条带中存在的区块的以CTU为单位的宽度。
在第二方式中,条带区段数据包括用信号通知以在各个CTU行的结束处指定条带区段是否结束。该第二方式的优点是编码器不必预先确定给定条带区段中的CTU的数量。这减少了编码器的延迟,编码器可以实时输出条带头部,而对于第一方式,必须缓冲条带头部以在条带区段的编码结束处指示条带区段中的CTU行的数量。
实施例5
实施例5是对子图片布局的用信号通知的修改,这可以获得在某些情况下的改进。实际上,增加视频序列中的子图片或条带或区块的数量会限定/限制时间和帧内预测机制的有效性/效率。结果,可以降低视频序列的压缩效率。由于这个原因,子图片布局可以根据应用要求(例如ROI的大小)而被预定/确定/预测/估计的可能性很高。然后,编码处理生成将与子图片布局最佳匹配的区块分区。在最佳情况场景中,各个子图片恰好包含一个区块。为了限制对压缩效率的影响,编码器试图通过使用针对每个子图片的单个条带来最小化针对每个子图片的条带数量。因此,编码器的最佳选项是针对每个子图片定义一个条带和一个区块。
在这种情况下,子图片布局和条带布局是相同的。该实施例在SPS中添加标志以指示这种特定情况/场景/情形。当该标志等于1时,子图片布局不存在,并且可以被推断/导出/确定为与条带分区相同。否则,当标志等于0时,根据上面关于先前实施例/变型/另外的变型描述的内容,在位流中显式地用信号通知子图片布局。
根据变型,SPS包括用于该目的的sps_single_slice_per_subpicture标志:
sps_single_slice_per_subpicture等于1指示各个子图片包括单个条带且不存在subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_height_minus1[i](i在0至sps_num_subpics_minus1(包含端点)的范围内)。sps_single_slice_per_subpicture等于0指示子图片可以包括或可以不包括单个条带且存在subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_height_minus1[i](i在0至sps_num_subpics_minus1(包含端点)的范围内)。
根据又一变型,PPS句法包括以下句法元素以指示可以从条带布局推断子图片布局:
如果pps_single_slice_per_subpic_flag或sps_single_slice_per_subpic_flag等于1,则针对每个子图片存在单个条带。当sps_single_slice_per_subpic_flag等于1时,从SPS,不存在条带布局,并且pps_single_slice_per_subpic_flag必须等于0。然后PPS指定条带分区。第i个子图片具有对应于第i个条带的大小和位置(即,第i个子图片和第i个条带具有相同的大小和位置)。
当sps_single_slice_per_subpic_flag等于0时,条带布局存在于SPS中,并且pps_single_slice_per_subpic_flag可以等于1或0。当sps_single_slice_per_subpic_flag等于1时,然后SPS指定子图片分区。第i个条带具有对应于第i个子图片的大小和位置(即,第i个条带和第i个子图片具有相同的大小和位置)。
为了维持经编码视频序列的相同子图片布局,编码器可以约束参考sps_single_slice_per_subpic_flag等于1的SPS的所有PPS以描述/定义/强制实行相同条带分区。
在变型中,在PPS中提供另一标志(pps_single_slice_per_tile)以指示针对每个区块存在单个条带。当该标志等于1时,推断条带分区等于区块分区(即,与区块分区相同)。在这种情况下,当sps_single_slice_per_subpic_flag等于1时,推断子图片和条带分区与区块分区相同。
本发明实施例的实现
前述实施例/变型中的一个或多于一个可以以编码器或解码器的形式实现,编码器或解码器进行一个或多于一个前述实施例/变型的方法步骤。以下实施例示出了这样的实现。
图9a是示出根据本发明的实施例/变型的编码方法的步骤的流程图,并且图9b是示出根据本发明的实施例/变型的解码方法的步骤的流程图。
根据图9a的编码方法,在9911处获得子图片分区信息,并且在9912处获得条带分区信息。在9915处,使用该获得的信息来确定用于确定以下项中的一个或多于一个的信息:子图片中的条带的数量;子图片中是否仅包括单个条带;以及/或者条带是否能够包括区块片段。然后在9919处,例如通过在位流中提供数据,对用于获得该确定的信息的数据进行编码。
根据图9b的解码方法,在9961处,(例如,从位流)解码数据以获得用于确定以下项的信息:子图片中的条带的数量;子图片中是否仅包括单个条带;以及/或者条带是否能够包括区块片段。在9964处,使用该获得的信息来确定以下项中的一个或多于一个:子图片中的条带的数量;子图片中是否仅包括单个条带;以及/或者条带是否能够包括区块片段。然后在9967处,基于该确定及其结果,确定子图片分区信息和/或条带分区信息。
应当理解,任何前述实施例/变型可以由图10中的编码器(例如,当进行分割成块9402、熵编码9409和/或位流生成9410时)或图11中的解码器(例如,当进行位流处理9561、熵解码9562和/或视频信号生成9569时)使用。
图10示出根据本发明实施例的编码器的框图。编码器由连接的模块表示,各个模块适于例如以由装置的中央处理单元(CPU)执行的编程指令的形式实现根据本发明的一个或多于一个实施例/变型的实现对图像序列的图像进行编码的至少一个实施例的方法的至少一个相应步骤。
由编码器9400接收数字图像原始序列i0至in 9401作为输入。各个数字图像由样本集合(有时也称为像素(在下文中,它们称为像素))表示。在实现编码处理之后,位流9410由编码器9400输出。位流9410包括诸如条带等的多个编码单元或图像部分的数据,各个条带包括用于发送用于对条带进行编码的编码参数的编码值的条带头部和包括编码视频数据的条带主体。由模块9402将输入数字图像i0至in 9401分割成像素块。块与图像部分(在下文中,图像部分表示图像的任何类型的一部分,诸如区块、条带、条带区段或子图片)相对应并且可以是可变大小(例如,4×4、8×8、16×16、32×32、64×64、128×128个像素并且也可以考虑数个矩形块大小)。针对各个输入块选择编码模式。
提供了两类编码模式:基于空间预测编码的编码模式(帧内预测)和基于时间预测的编码模式(例如帧间编码、合并、跳过)。测试可能的编码模式。
模块9403实现帧内预测处理,其中由从要编码的给定块的邻近的像素计算的预测子来预测所述要编码的块。如果选择了帧内编码,则对所选择的帧内预测子的指示以及给定块与其预测子之间的差进行编码以提供残差。
时间预测由运动估计模块9404和运动补偿模块9405实现。首先,从参考图像集合9416中选择参考图像,并且由运动估计模块9404选择参考图像的一部分(也称为参考区域或图像部分,其是与要编码的给定块最接近的区域(在像素值相似度方面最接近))。然后运动补偿模块9405使用所选择的区域预测要编码的块。由运动补偿模块9405计算所选择的参考区域和给定块之间的差(也称为残差块/数据)。使用运动信息(例如,运动矢量)来指示所选择的参考区域。
因此,在这两种情况下(空间和时间预测),当不处于SKIP(跳过)模式时,通过从原始块减去预测子来计算残差。
在由模块9403实现的帧内预测中,预测方向被编码。在由模块9404、9405、9416、9418、9417实现的帧间预测中,至少一个运动矢量或用于标识这种运动矢量的信息(数据)被编码以用于时间预测。
如果选择了帧间预测,则对与运动矢量和残差块相关的信息进行编码。为了进一步降低位率,假设运动是均匀的,通过相对于运动矢量预测子的差来编码运动矢量。通过运动矢量预测和编码模块9417从运动矢量场9418获得来自运动信息预测子候选集合的运动矢量预测子。
编码器9400还包括选择模块9406,该选择模块9406用于通过应用诸如率失真准则等的编码成本准则来选择编码模式。为了进一步减少冗余,变换模块9407对残差块应用变换(诸如DCT等),然后所获得的变换数据由量化模块9408进行量化,并由熵编码模块9409进行熵编码。最后,当不处于SKIP模式并且所选择的编码模式需要对残差块进行编码时,将正被编码的当前块的编码残差块插入到位流9410中。
编码器9400还进行编码图像的解码,以生成用于后续图像的运动估计的参考图像(例如,参考图像/图片9416中的参考图像)。这使得接收位流的编码器和解码器能够具有相同的参考帧(例如,使用重建图像或重建图像部分)。逆量化(“去量化”)模块9411进行量化数据的逆量化(“去量化”),然后由逆变换模块9412进行逆变换。帧内预测模块9413使用预测信息来确定针对给定块使用哪个预测子,并且运动补偿模块9414实际上将由模块9412获得的残差添加到从参考图像集合9416获得的参考区域。然后,由模块9415应用后滤波来对像素的重建帧(图像或图像部分)进行滤波,以获得参考图像集合9416的另一参考图像。
图11示出根据本发明实施例的可用于从编码器接收数据的解码器9560的框图。解码器由所连接的模块表示,各个模块适于例如以由装置的CPU执行的编程指令的形式实现由解码器9560实现的方法的相应步骤。
解码器9560接收位流9561,位流9561包括经编码的单元(例如,对应于图像部分、块或编码单元的数据),各个编码单元由包含与编码参数有关的信息的头部和包含编码视频数据的主体构成。如关于图10所说明的,针对给定图像部分(例如,块或CU)在预定数量的位上对编码视频数据进行熵编码,并且对运动信息(例如,运动矢量预测子的索引)进行编码。所接收的编码视频数据由模块9562进行熵解码。残差数据然后由模块9563去量化,然后由模块9564应用逆变换以获得像素值。
指示编码模式的模式数据也被熵解码,并且基于该模式,对图像数据的编码块(单元/集合/组)进行帧内类型解码或帧间类型解码。在帧内模式的情况下,帧内预测模块9565基于位流中指定的帧内预测模式来确定帧内预测子(例如,可以使用位流中提供的数据来确定帧内预测模式)。如果模式是帧间模式,则从位流提取/获得运动预测信息,以找到(标识)编码器使用的参考区域。例如,运动预测信息包括参考帧索引和运动矢量残差。通过运动矢量解码模块9570将运动矢量预测子添加到运动矢量残差以获得运动矢量。
运动矢量解码模块9570对通过运动预测编码的各个图像部分(例如,当前块或CU)应用运动矢量解码。一旦获得了当前块的运动矢量预测子的索引,则与图像部分(例如,当前块或CU)相关联的运动矢量的实际值可以被解码,并且用于通过模块9566来应用运动补偿。从参考图像集合9568提取/获得由解码运动矢量指示的参考图像部分,使得模块9566可以进行运动补偿。用解码的运动矢量更新运动矢量场数据9571,以用于预测随后解码的运动矢量。
最后得到解码块。在适当的情况下,由后滤波模块9567应用后滤波。最终获得并由解码器9560提供解码视频信号9569。
图12例示可以实现本发明的一个或多于一个实施例的数据通信系统。数据通信系统包括传输装置(在这种情况下是服务器9201),其可操作以经由数据通信网络9200将数据流的数据包传输至接收装置(在这种情况下是客户端终端9202)。数据通信网络9200可以是广域网(WAN)或局域网(LAN)。这种网络可以是例如无线网络(Wifi/802.11a或b或g)、以太网网络、互联网网络或由数个不同网络组成的混合网络。在本发明的特定实施例中,数据通信系统可以是数字电视广播系统,其中服务器9201将相同的数据内容发送到多个客户端。
由服务器9201提供的数据流9204可以由表示视频和音频数据的多媒体数据组成。在本发明的一些实施例中,音频和视频数据流可以分别由服务器9201使用麦克风和照相机来捕获。在一些实施例中,数据流可以存储在服务器9201上或由服务器9201从其它数据提供商接收,或在服务器9201处生成。服务器9201设置有用于对视频和音频流进行编码的编码器,特别是用以提供用于传输的压缩位流,该压缩位流是作为编码器的输入所呈现的数据的更紧凑表示。为了获得更好的传输数据的质量与传输数据的量的比率,可以例如根据高效视频编码(HEVC)格式或H.264/高级视频编码(AVC)格式或多用途视频编码(VVC)格式来压缩视频数据。客户端9202接收所传输的位流,并且解码重建的位流,以在显示装置上再现视频图像和利用扬声器再现音频数据。
尽管在该实施例中考虑了流式传输场景,但将认识到,在本发明的一些实施例中,可以使用例如介质存储装置(诸如光盘等)来进行编码器与解码器之间的数据通信。在本发明的一个或多于一个实施例中,视频图像可以与表示要应用到图像的重建像素的补偿偏移的数据一同传输,以在最终图像中提供经滤波的像素。
图13示意性地例示被配置为实现本发明的至少一个实施例/变型的处理装置9300。处理装置9300可以是诸如微计算机、工作站、用户终端或轻型便携式装置等的装置。装置/设备9300包括通信总线9313,其连接到:
-表示为CPU的中央处理单元9311,诸如微处理器等;
-表示为ROM的只读存储器9307,其用于存储操作装置9300和/或实现本发明的计算机程序/指令;
-用于存储本发明实施例/变型的方法的可执行代码的表示为RAM的随机存取存储器9312,以及适于记录变量和参数的寄存器,该变量和参数是根据本发明实施例/变型实现对数字图像序列进行编码的方法和/或对位流进行解码的方法所需的;以及
-连接至通信网络9303的通信接口9302,通过该通信接口传输或接收要处理的数字数据。
可选地,设备9300还可以包括以下组件:
-诸如硬盘等的数据存储部件9304,其用于存储实现本发明的一个或多于一个实施例/变型的方法的计算机程序以及在实现本发明的一个或多于一个实施例/变型期间所使用或产生的数据;
-用于盘9306(例如存储介质)的盘驱动器9305,该盘驱动器9305适于从盘9306读取数据或将数据写入所述盘9306,或者;
-屏幕9309,其用于借助于键盘9310、触摸屏或任何其它指示/输入装置来显示数据和/或用作与用户交互的图形界面。
设备9300可以连接到诸如数字照相机9320或麦克风9308等的各种外围设备,其各自连接到输入/输出卡(未示出)以向设备9300提供多媒体数据。
通信总线提供设备9300中所包括的或连接到设备9300的各种元素之间的通信和互操作性。总线的表示不是限制性的,并且特别地,中央处理单元9311可操作地将指令直接或者借助于设备9300的其它元素通信到设备9300的任何元素。
盘9306可以由诸如可重写或不可重写的致密盘(CD-ROM)、ZIP盘或存储卡等的任何信息介质代替,并且一般而言,由微计算机或处理器可以进行读取的信息存储部件代替,该盘9306集成到或不集成到设备中、可能可移动并且适于存储其执行使得能够实现根据本发明的对数字图像序列进行编码的方法和/或对位流进行解码的方法的一个或多于一个程序。
可执行代码可以存储在只读存储器9306中、硬盘9304上或可移动数字介质(诸如,例如如前述的盘9306等)上。根据一变型,程序的可执行代码可以经由接口9302借助于通信网络9303来接收,以在执行之前存储在设备9300的存储部件之一(例如硬盘9304)中。
中央处理单元9311适于控制和指导执行根据本发明的一个或多于一个程序的指令或软件代码的部分、存储在上述存储部件之一中的指令的执行。在通电时,存储在非易失性存储器中(例如,在硬盘9304、盘9306上或在只读存储器9307中)的一个或多于一个程序被传递到随机存取存储器9312中(其然后包含一个或多于一个程序的可执行代码)以及用于存储实现本发明所必需的变量和参数的寄存器。
在该实施例中,设备是使用软件来实现本发明的可编程设备。然而,可替代地,本发明可以以硬件(例如,以专用集成电路或ASIC的形式)来实现。
本发明实施例的实现
本发明实施例的实现
还应理解,根据本发明的其它实施例,在诸如计算机、移动电话(蜂窝电话)、平板或能够向用户提供/显示内容的任何其它类型的装置(例如,显示设备)等的用户终端中提供根据上述实施例/变型的解码器。根据又一实施例,在图像捕获设备中提供根据上述实施例/变型的编码器,该图像捕获设备还包括用于捕获和提供内容以供编码器进行编码的照相机、摄像机或网络照相机(例如,闭路电视或视频监视照相机)。以下参见图14和15提供两个这样的实施例。
图14是例示包括网络照相机9452和客户端设备9454的网络照相机系统9450的图。
网络照相机9452包括摄像单元9456、编码部9458、通信单元9460和控制单元9462。网络照相机9452和客户端设备9454经由网络9200相互连接以能够彼此通信。摄像单元9456包括镜头和图像传感器(例如,电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)),并捕获对象的图像并基于该图像生成图像数据。该图像可以是静止图像或视频图像。摄像单元还可以包括分别适于缩放或平摇(光学地或数字地)的缩放部件和/或平摇部件。编码部9458通过使用在前述实施例/变型中说明的所述编码方法来对图像数据进行编码。编码部9458使用在前述实施例/变型中说明的编码方法中的至少之一。对于其它实例,编码部9458可以使用在前述实施例/变型中说明的编码方法的组合。
网络照相机9452的通信单元9460将由编码部9458编码的经编码的图像数据传输至客户端设备9454。此外,通信单元9460还可以接收来自客户端设备9454的命令。命令包括用于设置用于编码部9458的编码的参数的命令。控制单元9462根据通信单元9460接收到的命令来控制网络照相机9452中的其它单元。
客户端设备9454包括通信单元2114、解码部2116和控制单元9468。客户端设备9454的通信单元2118可以向网络照相机9452传输命令。此外,客户端设备9454的通信单元2118从网络照相机9452接收经编码的图像数据。解码部9466通过使用在前述实施例/变型中的一个或多于一个中说明的所述解码方法来对经编码的图像数据进行解码。对于其它实例,解码部9466可以使用在前述实施例/变型中说明的解码方法的组合。客户端设备9454的控制单元9468根据由通信单元2114接收的用户操作或命令来控制客户端设备9454中的其它单元。客户端设备9454的控制单元9468还可以控制显示设备9470以显示由解码部9466解码的图像。
客户端设备9454的控制单元9468还控制显示设备9470以显示用于指定网络照相机9452的参数(例如用于编码部9458的编码的参数)的值的GUI(图形用户界面)。客户端设备9454的控制单元9468还可以根据对显示设备9470所显示的GUI的用户操作输入来控制客户端设备9454中的其它单元。客户端设备9454的控制单元9468还可以根据对显示设备9470所显示的GUI的用户操作输入来控制客户端设备9454的通信单元9464,以将用于指定网络照相机9452的参数的值的命令传输至网络照相机9452。
图15是例示智能电话9500的图。智能电话9500包括通信单元9502、解码/编码部9504、控制单元9506和显示单元9508。
通信单元9502经由网络接收经编码的图像数据。解码/编码部9504对通信单元9502接收到的经编码的图像数据进行解码。解码部9504通过使用在前述实施例/变型中的一个或多于一个中说明的所述解码方法来对经编码的图像数据进行解码。解码/编码部9504还可以使用在前述实施例/变型中说明的编码或解码方法中的至少之一。对于其它实例,解码/编码部9504可以使用在前述实施例/变型中说明的解码或编码方法的组合。
控制单元9506根据通信单元9502接收到的用户操作或命令控制智能电话9500中的其它单元。例如,控制单元9506控制显示单元9508以显示由解码/编码部9504解码的图像。
智能电话还可以包括用于记录图像或视频的图像记录装置9510(例如,数字照相机和相关联的电路)。这样的所记录图像或视频可以在控制单元9506的指令下由解码/编码部9504进行编码。智能电话还可以包括适于感测移动装置的定向的传感器9512。这样的传感器可以包括加速度计、陀螺仪、罗盘、全球定位(GPS)单元或类似的位置传感器。这样的传感器2212可以确定智能电话是否改变定向,并且在编码视频流时可以使用这样的信息。
虽然已经参考实施例及其变型描述了本发明,但是应当理解,本发明不限于所公开的实施例/变型。本领域技术人员将理解,在不脱离所附权利要求限定的本发明的范围的情况下,可以进行各种改变和修改。本说明书(包括任何所附权利要求、摘要和附图)中公开的所有特征、和/或所公开的任何方法或处理的所有步骤,可以以任何组合进行组合,除了这样的特征和/或步骤中的至少一些相互排斥的组合之外。除非另外明确说明,否则本说明书(包括任何所附权利要求、摘要和附图)中所公开的各个特征可以由用于相同、等同或相似目的的替代特征代替。因此,除非另有明确说明,否则所公开的各个特征仅为通用系列等效或类似特征的一个示例。
还应理解,上述比较、确定、推断、评估、选择、执行、进行或考虑的任何结果(例如,在编码、处理或分区处理期间作出的选择)可以在位流中的数据(例如,指示结果的标志或信息)中指示或可从位流中的数据确定/推断,使得在处理中可以使用所指示或确定/推断的结果,而不是例如在解码或分区处理期间实际进行所述比较、确定、评估、选择、执行、进行或考虑。应理解,当使用“表”或“查找表”时,也可以使用诸如数组等的其它数据类型来进行相同的功能,只要该数据类型能够进行相同的功能(例如,表示不同元素之间的关系/映射)即可。
在权利要求中,词语“包括”不排除其它元素或步骤,并且不定冠词“a”或“an”不排除多个。仅仅在相互不同的从属权利要求中记载不同特征的事实并不指示这些特征的组合不能被有利地使用。权利要求中出现的附图标记仅作为说明,并且不应对权利要求的范围产生限定作用。
在前述实施例/变型中,可以以硬件、软件、固件或其任何组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多于一个指令或代码存储在计算机可读介质上或通过计算机可读介质而发送,并且可以由基于硬件的处理单元执行。
计算机可读介质可以包括计算机可读存储介质,其与诸如数据存储介质等的有形介质或者包括例如根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质的通信介质相对应。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或者(2)诸如信号或载波等的通信介质。数据存储介质可以是可由一个或多于一个计算机或者一个或多于一个处理器访问以检索用于实现本发明中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储装置、闪速存储器或可以用于以指令或数据结构的形式存储期望程序代码并可以由计算机访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线(DSL)或无线技术(诸如红外、无线电和微波等)从网站、服务器或其它远程源发送指令,则同轴线缆、光纤线缆、双绞线、DSL或无线技术(诸如红外、无线电和微波等)包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其它瞬态介质,而是针对非瞬态的有形存储介质。这里使用的盘(disk)和碟(disc)包括致密盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中盘通常以磁性方式复制数据,而碟则通过激光以光学方式再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可以由诸如一个或多于一个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门/逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路等的一个或多于一个处理器执行。因此,如这里使用的术语“处理器”可以指任何前述结构或适合于实现这里所述技术的任何其它结构。另外,在一些方面,这里描述的功能可以在被配置为编码和解码的专用硬件和/或软件模块内提供,或结合在组合编解码器中。此外,该技术可以在一个或多于一个电路或逻辑元件中完全实现。
Claims (26)
1.一种用于处理一个或多于一个图像的图像数据的方法,各个图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中,图像部分能够包括区块的一部分,以及所述图像能够分割成一个或多于一个子图片,并且所述方法包括:
确定子图片中所包括的一个或多于一个图像部分;以及
使用从所述确定所获得的信息来处理所述一个或多于一个图像。
2.根据权利要求1所述的方法,其中,区块的所述一部分是区块内的整数个连续完整编码树单元行即CTU行。
3.根据权利要求1或2所述的方法,其中,所述确定包括:使用所述子图片的标识符来定义所述一个或多于一个图像部分。
4.根据权利要求1至3中任一项所述的方法,其中,所述确定包括:使用所述子图片的大小、宽度或高度来定义所述一个或多于一个图像部分。
5.根据权利要求1至4中任一项所述的方法,其中,所述确定包括:基于在所述子图片中是否仅包括单个图像部分来定义所述一个或多于一个图像部分。
6.根据权利要求1至5中任一项所述的方法,其中,所述确定包括:使用所述子图片中所包括的图像部分的数量来定义所述一个或多于一个图像部分。
7.根据前述权利要求中任一项所述的方法,其中,在图像部分包括区块的一个或多于一个部分的情况下,基于要包括在所述图像部分中的编码树单元即CTU的行或列的数量来确定所述图像部分。
8.根据前述权利要求中任一项所述的方法,其中,所述处理包括在位流中提供或者从位流获得用于确定以下项中的一个或多于一个的信息:
在所述子图片中是否仅包括单个图像部分;以及
所述子图片中所包括的图像部分的数量。
9.根据权利要求8所述的方法,其中,在图片参数集即PPS中提供或者从PPS获得用于确定的信息。
10.根据权利要求8或9所述的方法,其中,在序列参数集即SPS中提供或者从SPS获得用于确定的信息。
11.根据前述权利要求中任一项所述的方法,其中,所述子图片包括两个或多于两个图像部分,各个图像部分包括区块的一个或多于一个部分。
12.根据权利要求11所述的方法,其中,所述区块的一个或多于一个部分来自相同的单个区块。
13.根据前述权利要求中任一项所述的方法,其中,图像部分由一个或多于一个区块组成,在所述图像中所述图像部分形成矩形区域。
14.一种用于处理一个或多于一个图像的图像数据的方法,各个图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中,所述图像能够分割成一个或多于一个子图片,并且所述方法包括:
确定子图片中所包括的一个或多于一个图像部分;以及
使用从所述确定所获得的信息来处理所述一个或多于一个图像。
15.根据前述权利要求中任一项所述的方法,其中,图像部分是条带。
16.一种用于对一个或多于一个图像进行编码的方法,所述方法包括根据权利要求1至15中任一项来处理图像数据。
17.一种用于对一个或多于一个图像进行解码的方法,所述方法包括根据权利要求1至15中任一项来处理图像数据。
18.根据权利要求16或17所述的方法,还包括:在位流中在图片参数集即PPS中提供或者从位流从PPS获得用于确定在所述子图片中是否仅包括单个图像部分的信息。
19.根据权利要求16至18中任一项所述的方法,还包括:在位流中在图片参数集即PPS中提供或者从位流从PPS获得用于确定所述子图片中所包括的图像部分的数量的信息。
20.根据权利要求16至19中任一项所述的方法,还包括:在位流中在序列参数集即SPS中提供或者从位流从SPS获得指示在视频序列中是否使用子图片的信息。
21.一种用于处理一个或多于一个图像的图像数据的装置,所述装置被配置为进行根据权利要求1至15中任一项所述的方法。
22.一种用于对一个或多于一个图像进行编码的装置,所述装置被配置为进行根据权利要求16和18至20中任一项所述的编码的方法。
23.一种用于对一个或多于一个图像进行解码的装置,所述装置被配置为进行根据权利要求17至20中任一项所述的解码的方法。
24.一种程序,其在计算机或处理器上运行时,使所述计算机或处理器执行根据权利要求1至20中任一项所述的方法。
25.一种载体介质,其承载根据权利要求24所述的程序。
26.一种信号,其承载使用根据权利要求16和18至20中任一项所述的编码的方法所编码的由位流表示的图像的信息数据集,所述图像由一个或多于一个区块组成并且能够分割成一个或多于一个图像部分,其中,图像部分能够包括区块的一部分,并且所述图像能够分割成一个或多于一个子图片,其中,所述信息数据集包括用于确定子图片中所包括的一个或多于一个图像部分的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1919024.8A GB2590632B (en) | 2019-12-20 | 2019-12-20 | Video coding and decoding |
GB1919024.8 | 2019-12-20 | ||
PCT/EP2020/086719 WO2021122956A1 (en) | 2019-12-20 | 2020-12-17 | Video coding supporting subpictures, slices and tiles |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114846791A true CN114846791A (zh) | 2022-08-02 |
Family
ID=69322727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080088832.7A Pending CN114846791A (zh) | 2019-12-20 | 2020-12-17 | 支持子图片、条带和区块的视频编码 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20230060709A1 (zh) |
EP (1) | EP4078954A1 (zh) |
JP (2) | JP7345051B2 (zh) |
KR (1) | KR20220110300A (zh) |
CN (1) | CN114846791A (zh) |
GB (1) | GB2590632B (zh) |
TW (1) | TWI824207B (zh) |
WO (1) | WO2021122956A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7568350B2 (ja) | 2019-12-26 | 2024-10-16 | バイトダンス インコーポレイテッド | ビデオコーディングにおける復号パラメータセット |
CN115211126A (zh) * | 2020-02-14 | 2022-10-18 | 抖音视界有限公司 | 环路滤波和视频条带之间的相互作用 |
JP7395005B2 (ja) * | 2020-02-24 | 2023-12-08 | バイトダンス インコーポレイテッド | サブピクチャの高さの導出 |
WO2021178501A1 (en) | 2020-03-03 | 2021-09-10 | Bytedance Inc. | Controlling a scaling process using slice header signaling |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019016287A1 (en) * | 2017-07-19 | 2019-01-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | APPARATUS AND METHOD FOR ENCODING IMAGES |
WO2019139014A1 (en) * | 2018-01-12 | 2019-07-18 | Sharp Kabushiki Kaisha | Systems and methods for signaling sub-picture composition information for virtual reality applications |
CN110035331A (zh) * | 2018-01-12 | 2019-07-19 | 华为技术有限公司 | 一种媒体信息的处理方法及装置 |
WO2019195035A1 (en) * | 2018-04-03 | 2019-10-10 | Futurewei Technologies, Inc. | Error mitigation in sub-picture bitstream based viewport dependent video coding |
CN110493604A (zh) * | 2019-08-28 | 2019-11-22 | 成都索贝数码科技股份有限公司 | 一种基于gpu集群实现8k hevc实时编码的方法 |
US20200186833A1 (en) * | 2017-07-04 | 2020-06-11 | Lg Electronics Inc. | Area-based processing method and apparatus for 360-degree video |
US20210136407A1 (en) * | 2017-10-20 | 2021-05-06 | Sharp Kabushiki Kaisha | Video coding apparatus and video decoding apparatus |
US20220329792A1 (en) * | 2019-09-17 | 2022-10-13 | Canon Kabushiki Kaisha | Method and apparatus for encoding and decoding a video stream with subpictures |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10244246B2 (en) * | 2012-02-02 | 2019-03-26 | Texas Instruments Incorporated | Sub-pictures for pixel rate balancing on multi-core platforms |
CN118784881A (zh) * | 2016-02-09 | 2024-10-15 | 弗劳恩霍夫应用研究促进协会 | 解码器、编码器、方法、网络设备以及可读存储介质 |
JP7020782B2 (ja) | 2017-01-20 | 2022-02-16 | キヤノン株式会社 | 再生装置及びその制御方法 |
JP7404373B2 (ja) * | 2019-01-09 | 2023-12-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | ビデオエンコーダ、ビデオデコーダ、および対応する方法 |
CN113557744A (zh) * | 2019-03-11 | 2021-10-26 | 华为技术有限公司 | 视频译码中的分块级滤波 |
KR20200145752A (ko) * | 2019-06-19 | 2020-12-30 | 한국전자통신연구원 | 비디오 영상 부/복호화를 위한 가상 경계 시그널링 방법 및 장치 |
US11483558B2 (en) * | 2019-06-21 | 2022-10-25 | Tencent America LLC | Method for region-wise scalability with adaptive resolution change |
US11375223B2 (en) * | 2019-09-20 | 2022-06-28 | Tencent America LLC | Method for signaling output layer set with sub-picture |
US20220224932A1 (en) * | 2019-09-23 | 2022-07-14 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium storing bitstream |
KR20220063262A (ko) | 2019-09-23 | 2022-05-17 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 서브픽처 기반 비디오 코딩에서 서브픽처당 하나의 슬라이스의 지시 |
US12052417B2 (en) * | 2019-10-07 | 2024-07-30 | Sk Telecom Co., Ltd. | Method for splitting picture and decoding apparatus |
JP7395727B2 (ja) * | 2019-10-23 | 2023-12-11 | 北京字節跳動網絡技術有限公司 | ビデオ・データを処理する方法、装置及び記憶方法 |
US11297350B1 (en) * | 2020-03-27 | 2022-04-05 | Tencent America LLC | Method for output layer set for multilayered video stream |
-
2019
- 2019-12-20 GB GB1919024.8A patent/GB2590632B/en active Active
-
2020
- 2020-12-15 TW TW109144275A patent/TWI824207B/zh active
- 2020-12-17 WO PCT/EP2020/086719 patent/WO2021122956A1/en unknown
- 2020-12-17 CN CN202080088832.7A patent/CN114846791A/zh active Pending
- 2020-12-17 KR KR1020227023887A patent/KR20220110300A/ko active Search and Examination
- 2020-12-17 EP EP20823880.8A patent/EP4078954A1/en active Pending
- 2020-12-17 JP JP2022508944A patent/JP7345051B2/ja active Active
- 2020-12-17 US US17/787,196 patent/US20230060709A1/en active Pending
-
2023
- 2023-08-24 JP JP2023136525A patent/JP2023159358A/ja active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200186833A1 (en) * | 2017-07-04 | 2020-06-11 | Lg Electronics Inc. | Area-based processing method and apparatus for 360-degree video |
WO2019016287A1 (en) * | 2017-07-19 | 2019-01-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | APPARATUS AND METHOD FOR ENCODING IMAGES |
US20210136407A1 (en) * | 2017-10-20 | 2021-05-06 | Sharp Kabushiki Kaisha | Video coding apparatus and video decoding apparatus |
WO2019139014A1 (en) * | 2018-01-12 | 2019-07-18 | Sharp Kabushiki Kaisha | Systems and methods for signaling sub-picture composition information for virtual reality applications |
CN110035331A (zh) * | 2018-01-12 | 2019-07-19 | 华为技术有限公司 | 一种媒体信息的处理方法及装置 |
WO2019195035A1 (en) * | 2018-04-03 | 2019-10-10 | Futurewei Technologies, Inc. | Error mitigation in sub-picture bitstream based viewport dependent video coding |
CN110493604A (zh) * | 2019-08-28 | 2019-11-22 | 成都索贝数码科技股份有限公司 | 一种基于gpu集群实现8k hevc实时编码的方法 |
US20220329792A1 (en) * | 2019-09-17 | 2022-10-13 | Canon Kabushiki Kaisha | Method and apparatus for encoding and decoding a video stream with subpictures |
Non-Patent Citations (1)
Title |
---|
郭春辉;: "基于多DSP的H.264高清视频实时编码系统", 现代电子技术, no. 05, 1 March 2010 (2010-03-01) * |
Also Published As
Publication number | Publication date |
---|---|
GB2590632B (en) | 2023-07-26 |
JP7345051B2 (ja) | 2023-09-14 |
EP4078954A1 (en) | 2022-10-26 |
GB201919024D0 (en) | 2020-02-05 |
TWI824207B (zh) | 2023-12-01 |
GB2590632A (en) | 2021-07-07 |
US20230060709A1 (en) | 2023-03-02 |
TW202126045A (zh) | 2021-07-01 |
WO2021122956A1 (en) | 2021-06-24 |
KR20220110300A (ko) | 2022-08-05 |
JP2022553599A (ja) | 2022-12-26 |
JP2023159358A (ja) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7384902B2 (ja) | 映像符号化におけるスライシング及びタイリング | |
KR101904625B1 (ko) | 비디오 코딩에서 서브-디코딩된 픽처 버퍼 (서브-dpb) 기반의 dpb 동작들을 위한 시그널링 | |
EP3158761B1 (en) | Extensible design of nesting supplemental enhancement information (sei) messages | |
CN114982246B (zh) | 环路滤波器的自适应舍入 | |
US20140198846A1 (en) | Device and method for scalable coding of video information | |
US9584808B2 (en) | Device and method for scalable coding of video information | |
JP7345051B2 (ja) | サブピクチャ、スライス、およびタイルをサポートするビデオ符号化 | |
KR20210095959A (ko) | 비디오 인코더, 비디오 디코더 및 대응하는 방법 | |
TW202110180A (zh) | 跨逐線掃描切片之適應性迴圈濾波 | |
KR20220157414A (ko) | 비디오 코딩 및 디코딩을 위한 고레벨 신택스 | |
KR20220153071A (ko) | 비디오 코딩 및 디코딩을 위한 고레벨 신택스 | |
AU2021256044A1 (en) | Adaptive loop filtering for color format support | |
KR102650289B1 (ko) | 비디오 인코더, 비디오 디코더 및 상응하는 방법들 | |
KR20210095949A (ko) | 비디오 코딩 방법 및 장치 | |
CN105850122B (zh) | 在多层译码中用于对参考图片集(rps)进行译码的方法 | |
US20230179802A1 (en) | High level syntax for video coding and decoding | |
WO2021191159A1 (en) | Video coding and decoding | |
TWI851707B (zh) | 用於適應性迴圈濾波器變數之適應變數集合 | |
RU2792176C2 (ru) | Кодер видео, декодер видео и соответствующие способы | |
TW202046739A (zh) | 用於適應性迴圈濾波器變數之適應變數集合 | |
CN118511511A (zh) | 基于dimd模式的帧内预测方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40081377 Country of ref document: HK |