CN116530083A - 视频比特流中的嵌套的和非嵌套的sei消息 - Google Patents

视频比特流中的嵌套的和非嵌套的sei消息 Download PDF

Info

Publication number
CN116530083A
CN116530083A CN202180066034.9A CN202180066034A CN116530083A CN 116530083 A CN116530083 A CN 116530083A CN 202180066034 A CN202180066034 A CN 202180066034A CN 116530083 A CN116530083 A CN 116530083A
Authority
CN
China
Prior art keywords
picture
video
sub
bitstream
current
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
CN202180066034.9A
Other languages
English (en)
Inventor
王业奎
邓智玭
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.)
Douyin Vision Co Ltd
ByteDance Inc
Original Assignee
Douyin Vision Co Ltd
ByteDance Inc
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 Douyin Vision Co Ltd, ByteDance Inc filed Critical Douyin Vision Co Ltd
Publication of CN116530083A publication Critical patent/CN116530083A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • CCHEMISTRY; METALLURGY
    • C09DYES; PAINTS; POLISHES; NATURAL RESINS; ADHESIVES; COMPOSITIONS NOT OTHERWISE PROVIDED FOR; APPLICATIONS OF MATERIALS NOT OTHERWISE PROVIDED FOR
    • C09KMATERIALS FOR MISCELLANEOUS APPLICATIONS, NOT PROVIDED FOR ELSEWHERE
    • C09K13/00Etching, surface-brightening or pickling compositions
    • C09K13/04Etching, surface-brightening or pickling compositions containing an inorganic acid
    • C09K13/06Etching, surface-brightening or pickling compositions containing an inorganic acid with organic material
    • CCHEMISTRY; METALLURGY
    • C23COATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; CHEMICAL SURFACE TREATMENT; DIFFUSION TREATMENT OF METALLIC MATERIAL; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL
    • C23FNON-MECHANICAL REMOVAL OF METALLIC MATERIAL FROM SURFACE; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL; MULTI-STEP PROCESSES FOR SURFACE TREATMENT OF METALLIC MATERIAL INVOLVING AT LEAST ONE PROCESS PROVIDED FOR IN CLASS C23 AND AT LEAST ONE PROCESS COVERED BY SUBCLASS C21D OR C22F OR CLASS C25
    • C23F1/00Etching metallic material by chemical means
    • C23F1/10Etching compositions
    • C23F1/14Aqueous compositions
    • C23F1/16Acidic compositions
    • C23F1/26Acidic compositions for etching refractory metals
    • CCHEMISTRY; METALLURGY
    • C23COATING METALLIC MATERIAL; COATING MATERIAL WITH METALLIC MATERIAL; CHEMICAL SURFACE TREATMENT; DIFFUSION TREATMENT OF METALLIC MATERIAL; COATING BY VACUUM EVAPORATION, BY SPUTTERING, BY ION IMPLANTATION OR BY CHEMICAL VAPOUR DEPOSITION, IN GENERAL; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL
    • C23FNON-MECHANICAL REMOVAL OF METALLIC MATERIAL FROM SURFACE; INHIBITING CORROSION OF METALLIC MATERIAL OR INCRUSTATION IN GENERAL; MULTI-STEP PROCESSES FOR SURFACE TREATMENT OF METALLIC MATERIAL INVOLVING AT LEAST ONE PROCESS PROVIDED FOR IN CLASS C23 AND AT LEAST ONE PROCESS COVERED BY SUBCLASS C21D OR C22F OR CLASS C25
    • C23F1/00Etching metallic material by chemical means
    • C23F1/10Etching compositions
    • C23F1/14Aqueous compositions
    • C23F1/16Acidic compositions
    • C23F1/28Acidic compositions for etching iron group metals
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • H01L21/04Manufacture or treatment of semiconductor devices or of parts thereof the devices having at least one potential-jump barrier or surface barrier, e.g. PN junction, depletion layer or carrier concentration layer
    • H01L21/18Manufacture or treatment of semiconductor devices or of parts thereof the devices having at least one potential-jump barrier or surface barrier, e.g. PN junction, depletion layer or carrier concentration layer the devices having semiconductor bodies comprising elements of Group IV of the Periodic System or AIIIBV compounds with or without impurities, e.g. doping materials
    • H01L21/30Treatment of semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/26
    • H01L21/31Treatment of semiconductor bodies using processes or apparatus not provided for in groups H01L21/20 - H01L21/26 to form insulating layers thereon, e.g. for masking or by using photolithographic techniques; After treatment of these layers; Selection of materials for these layers
    • H01L21/3205Deposition of non-insulating-, e.g. conductive- or resistive-, layers on insulating layers; After-treatment of these layers
    • H01L21/321After treatment
    • H01L21/3213Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer
    • H01L21/32133Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only
    • H01L21/32134Physical or chemical etching of the layers, e.g. to produce a patterned layer from a pre-deposited extensive layer by chemical means only by liquid etching only
    • 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/172Methods 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 picture, frame or field
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain

Abstract

描述了用于编码、解码或转码数字视频的系统、方法和装置。视频处理的一种示例方法包括视频和包括多层的视频的比特流之间的转换,其中,比特流包括与特定输出层集OLS或特定层的访问单元AU或解码单元DU相关联的多个补充增强信息SEI消息,其中,包括不同于可缩放嵌套类型的消息类型的多个SEI消息基于格式规则,并且其中格式规则规定由于多个SEI消息与特定OLS或特定层的AU或DU相关联而导致多个SEI消息中的每一个具有相同的SEI有效载荷内容。

Description

视频比特流中的嵌套的和非嵌套的SEI消息
相关申请的交叉引用
根据巴黎公约适用的专利法和/或规则,提出本申请是为了及时要求2020年9月25日提交的国际专利申请No.PCT/CN2020/117596的优先权和权益。出于法律规定的所有目的,上述申请的全部公开内容通过引用并入作为本申请的公开内容的部分。
技术领域
该专利文档涉及文件格式的数字音频视频媒体信息的生成、存储和消费。
背景技术
数字视频占互联网和其他数字通信网络上最大的带宽使用。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可由视频编码器和解码器使用以根据文件格式处理视频或图像的编解码表示的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括:执行视频和包括多层的视频的比特流之间的转换,其中比特流包括与特定输出层集OLS或特定层的访问单元AU或解码单元DU相关联的多个补充增强信息SEI消息,其中包括不同于可缩放嵌套类型的消息类型的多个SEI消息基于格式规则,并且其中格式规则规定由于多个SEI消息与特定OLS或特定层的AU或DU相关联,多个SEI消息中的每一个具有相同的SEI有效载荷内容。
在另一个示例方面,公开了另一种视频处理方法。该方法包括:执行包括当前块的视频和视频的比特流之间的转换,其中比特流符合格式规则,并且其中,格式规则规定,由于从比特流中排除语法字段而对比特流的约束,语法字段指示与包括当前块的当前图片或包括当前块的当前访问单元相关联的图片顺序计数。
在又一个示例方面,公开了另一种视频处理方法。该方法包括:执行视频和视频的比特流之间的转换,其中比特流符合由规则定义的子比特流提取过程的顺序,规则规定(a)子比特流提取过程排除从输出比特流中移除满足条件的所有补充增强信息(SEI)网络抽象层(NAL)单元的操作,或者(b)子比特流提取过程的顺序包括在从输出比特流中移除SEINAL单元之前用替换参数集替换参数集。
在又一示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实现上述方法的处理器。
在又一示例方面,公开了一种其上存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现了这里描述的方法之一。
在又一示例方面,公开了一种其上存储有比特流的计算机可读介质。使用本文档中描述的方法生成或处理比特流。
这些和其他特征在整个本文档中都进行了描述。
附图说明
图1显示了分割为18个片、24个条带和24个子图片的图片。
图2显示了典型的基于子图片的视口相关的360°视频传输方案。
图3显示了从包含两个子图片和四个条带的比特流中提取一个子图片的示例。
图4为示例视频处理系统的框图。
图5为视频处理装置的框图。
图6是图示根据本公开的一些实施例的视频编解码系统的框图。
图7是图示根据所公开技术的一些实施例的编码器的框图。
图8是图示根据所公开技术的一些实施例的解码器的框图。
图9-11是根据所公开技术的一些实施例的视频处理的示例方法的流程图。
具体实施方式
本文档中使用章节标题是为了易于理解并且不将各章节中公开的技术和实施例的适用性仅限制于该章节。此外,在一些描述中使用H.266术语仅仅是为了易于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。
1.初步讨论
本文档涉及视频编解码技术。具体地说,它涉及图像顺序计数(POC)、补充增强信息(SEI)和子图片子比特流提取。这些思想可以单独或以各种组合应用于任何视频编解码标准或非标准视频编解码器,例如最近完成的多功能视频编解码(VVC)。
2.缩略语
ACT 自适应颜色变换
ALF 自适应环路滤波器
AMVR 自适应运动矢量精度
APS 自适应参数集
AU 访问单元
AUD 访问单元定界符
AVC 高级视频编解码(Rec.ITU-T H.264|ISO/IEC 14496-10)
B 双向预测
BCW CU级别双向加权预测
BDOF 双向光流
BDPCM 基于块的增量脉冲编解码调制
BP 缓冲期
CABAC 基于上下文的自适应二元算术编解码
CB 编解码块
CBR 恒定比特率
CCALF 跨分量自适应环路滤波器
CLVS 编解码层视频序列
CLVSS 编解码层视频序列开始
CPB 编解码图片缓冲器
CRA 清洁随机访问
CRC 循环冗余校验
CTB 编解码树块
CTU 编解码树单元
CU 编解码单元
CVS 编解码视频序列
CVSS 编解码视频序列开始
DPB 解码图片缓冲器
DCI 解码能力信息
DRAP 依赖随机访问点
DU 解码单元
DUI 解码单元信息
EG 指数Golomb
EGk k阶指数Golomb
EOB 比特流结束
EOS 序列结束
FD 填充符数据
FIFO 先进先出
FL 固定长度
GBR 绿色、蓝色和红色
GCI 通用约束信息
GDR 逐步解码刷新
GPM 几何分割模式
HEVC 高效视频编解码(Rec.ITU-T H.265|ISO/IEC 23008-2)
HRD 假设参考解码器
HSS 假设流调度器
I 帧内
IBC 帧内块复制
IDR 即时解码刷新
ILRP 层间参考图片
IRAP 帧内随机访问点
LFNST 低频不可分变换
LPS 最小可能符号
LSB 最低有效位
LTRP 长期参考图片
LMCS 亮度映射与色度缩放
MIP 基于矩阵的帧内预测
MPS 最可能符号
MSB 最高有效位
MTS 多重变换选择
MVP 运动矢量预测
NAL 网络抽象层
OLS 输出层集
OP 操作点
OPI 操作点信息
P 预测
PH 图片标头
POC 图片顺序计数
PPS 图片参数集
PROF 利用光流的预测细化
PT 图片时序
PU 图片单元
QP 量化参数
RADL 随机访问可解码前导(图片)
RASL 随机访问跳过前导(图片)
RBSP 原始字节序列有效负载
RGB 红色、绿色和蓝色
RPL 参考图片列表
SAO 样点自适应偏移
SAR 样点纵横比
SEI 补充增强信息
SH 条带标头
SLI 子图片级别信息
SODB 数据位串
SPS 序列参数集
STRP 短期参考图片
STSA 逐步时域子层访问
TR 截断莱斯
TU 变换单元
VBR 可变比特率
VCL 视频编解码层
VPS 视频参数集
VSEI 通用补充增强信息(Rec.ITU-T H.274|ISO/IEC 23002-7)
VUI 视频可用性信息
VVC 多功能视频编解码(Rec.ITU-T H.266|ISO/IEC 23090-3)
3.视频编解码综述
视频编解码标准主要是通过众所周知的ITU-T和ISO/IEC标准的发展而得以演进。ITU-T制作了H.261和H.263标准,ISO/IEC制作了MPEG-1和MPEG-4Visual标准,并且两个组织联合制作了H.262/MPEG-2视频标准和H.264/MPEG-4高级视频编解码(AVC)标准和H.265/HEVC标准。从H.262开始,视频编解码标准基于混合视频编解码结构,其中利用时域预测加变换编解码。为了探索HEVC之外的未来视频编解码技术,由VCEG和MPEG于2015年联合成立联合视频探索团队(JVET)。从那时起,JVET采用了许多新方法并将其纳入名为联合探索模型(JEM)的参考软件。当多功能视频编解码(VVC)项目正式启动时,JVET后来更名为联合视频专家团队(JVET)。VVC是新的编解码标准,目标是与HEVC相比降低50%比特率,该标准已由JVET在2020年7月1日结束的第19次会议上最终确定。
多功能视频编解码(VVC)标准(ITU-TH.266|ISO/IEC23090-3)和相关的多功能补充增强信息(VSEI)标准(ITU-TH.274|ISO/IEC23002-7)设计用于最大范围的应用,包括传统应用,如电视广播、视频会议或存储介质回放,以及更新和更高级的使用情况,如自适应比特率流、视频区域提取、复合和merging来自多个编解码视频比特流的内容、多视图视频、可缩放分层编解码和视口自适应360°沉浸式媒体。
3.1.HEVC和VVC中的图片顺序计数(POC)
在HEVC和VVC中,POC基本上用作图片ID,用于在解码过程的许多部分中识别图片,包括DPB管理,其一部分是参考图片管理。
对于新引入的PH,在VVC,用于导出POC值并对图片的所有条带具有相同值的POC最低有效位(LSB)的信息在PH中被信令通知,与在SH中被信令通知的HEVC相反。VVC还允许信令通知PH中的POC最高有效位(MSB)循环值,以使得能够在不跟踪POC MSB的情况下导出POC值,这依赖于较早解码的图片的POC信息。例如,这允许在多层比特流中的AU内混合IRAP和非IRAP图片。HEVC和VVC的POC信令通知之间的另一个不同之处在于,在HEVC,POC LSB不针对IDR图像进行信令通知,这在HEVC的多层扩展的后期开发期间表现出一些缺点,以使得在AU内能够混合IDR和非IDR图片。因此,在VVC,针对包括IDR图片的每个图片,信令通知POCLSB信息。IDR图片的POC LSB信息的信令通知还使得支持将来自不同比特流的IDR图片和非IDR图片merge成一个图片变得更加容易,因为否则对merge图片中的POC LSB的处理将需要一些复杂的设计。
VVC的POC的解码过程规定如下:
8.3.1图片顺序计数的解码过程
该过程的输出为PicOrderCntVal,即当前图片的图片顺序计数。
每个编解码图片都与图片顺序计数变量相关联,表示为PicOrderCntVal。
假设变量currLayerIdx设置为等于GeneralLayerIdx[nuh_layer_id]。
PicOrderCntVal被导出如下:
–如果vps_independent_layer_flag[currLayerIdx]等于0并且在当前AU中有图片picA,其nuh_layer_id等于layerIdA使得GeneralLayerIdx[layerIdA]在列表ReferenceLayerIdx[currLayerIdx]中,PicOrderCntVal被导出为等于PicOrderCntValpicA,并且ph_pic_order_cnt_lsb的值在当前AU的所有VCLNAL单元中应相同。
—否则,当前图片的PicOrderCntVal是按照本子条款的其余部分的规定导出的。
当ph_poc_msb_cycle_val不存在且当前图片不是CLVSS图片时,变量prevPicOrderCntLsb和prevPicOrderCntMsb导出如下:
–设prevTid0Pic是按解码顺序的前一个图片,其nuh_layer_id等于当前图片的nuh_layer_id,其TemporalId和ph_non_ref_pic_flag都等于0,并且不是RASL或RADL图片。
注1–在仅由帧内图片组成、从单层比特流中提取并用于仅帧内图片特技播放的子比特流中,prevTid0Pic是按解码顺序的前一个帧内图片。为了确保正确的POC导出,编码器可以选择为帧内图片包含ph_poc_msb_cycle_val,或者将sps_log2_max_pic_order_cnt_lsb_minus4的值设置得足够大,以便当前图片和prevTid0Pic之间的POC差小于MaxPicOrderCntLsb/2。
注2–当vps_max_tid_il_ref_pics_plus1[i][j]对于层索引中的任何i值等于0且j等于当前层的层索引时,某些OLS的提取子比特流中的prevTid0Pic将是当前层中按解码顺序的ph_recovery_poc_cnt等于0的前一个IRAP或GDR图片。为了确保这样的子比特流是一致性比特流,编解码器可以选择为每个IRAP或GDR图片包含ph_poc_msb_cycle_val,其中ph_recovery_poc_cnt等于0,或者将sps_log2_max_pic_order_cnt_lsb_minus4的值设置得足够大,使得当前图片和prevTid0Pic之间的POC差小于MaxPicOrderCntLsb/2。
–变量prevPicOrderCntLsb被设置为等于prevTid0Pic的ph_pic_order_cnt_lsb。
–变量prevPicOrderCntMsb被设置为等于prevTid0Pic的PicOrderCntMsb。当前图片的变量PicOrderCntMsb导出如下:
–如果存在ph_poc_msb_cycle_val,则将PicOrderCntMsb设置为等于ph_poc_msb_cycle_val*MaxPicOrderCntLsb。
–否则(ph_poc_msb_cycle_val不存在),如果当前图片是CLVSS图片,PicOrderCntMsb被设置为等于0。
–否则,PicOrderCntMsb导出如下:
PicOrderCntVal导出如下:
PicOrderCntVal = PicOrderCntMsb + ph_pic_order_cnt_lsb (197)
注3–ph_poc_msb_cycle_val不存在的所有CLVSS图片都具有等于ph_pic_order_cnt_lsb的PicOrderCntVal,因为对于那些图片PicOrderCntMsb设置为等于0。
PicOrderCntVal的值应在-2 31到2 31–1(包括端值)的范围内。
在一个CVS中,任何两个具有相同的nuh_layer_id值的编解码图片的PicOrderCntVal值不应该相同。
任何特定AU中的所有图片都应具有相同的PicOrderCntVal值。
函数PicOrderCnt(picX)规定如下:
PicOrderCnt( picX ) = PicOrderCntVal of the picture picX (198)
函数DiffPicOrderCnt(picA,picB)规定如下:
DiffPicOrderCnt( picA, picB ) = PicOrderCnt( picA ) - PicOrderCnt(picB ) (199)
比特流不应包含导致解码过程中使用的DiffPicOrderCnt(picA,picB)值不在-215到2 15–1(包括端值)范围内的数据。
注4–设X为当前图片,并且Y和Z为同一CVS中的另外两个图片,当DiffPicOrderCnt(X,Y)和DiffPicOrderCnt(X,Z)都为正或都为负时,Y和Z被视为与X处于相同的输出顺序方向。
3.2.VUI和SEI消息
VUI是作为SPS的一部分发送的语法结构(也可能在HEVC的VPS中)。VUI携带不影响标准解码过程的信息,但对于编解码视频的正确呈现可能很重要。
SEI协助与解码、显示或其他目的相关的过程。与VUI一样,SEI也不影响规范解码过程。SEI在SEI消息中携带。SEI消息的解码器支持是可选的。然而,SEI消息确实会影响比特流一致性(例如,如果比特流中的SEI消息的语法不符合规范,则比特流不符合规范)并且HRD规范中需要一些SEI消息。
与VVC一起使用的VUI语法结构和大多数SEI消息未在VVC规范中规定,而是在VSEI规范中规定。HRD一致性测试所需的SEI消息在VVC规范中规定。VVC v1定义了五个与HRD一致性测试相关的SEI消息,并且VSEI v1规定了20个额外的SEI消息。VSEI规范中携带的SEI消息不会直接影响符合解码器的行为,并且已被定义为使得它们可以以编解码格式不可知的方式使用,从而允许VSEI在未来与VVC之外的其他视频编解码标准一起使用。VSEI规范没有特别提到VVC语法元素名称,而是提到了变量,其值在VVC规范中设置。
与HEVC相比,VVC的VUI语法结构只关注与图片的正确呈现相关的信息,并且不包含任何时序信息或比特流限制指示。在VVC中,VUI在SPS中信令通知,SPS在VUI语法结构之前包含长度字段,以信令通知VUI有效载荷的长度(以字节为单位)。这使得解码器可以轻松地跳过信息,并且更重要的是,通过以类似于SEI消息语法缩放的方式将新语法元素直接添加到VUI语法结构的末尾,允许方便的未来VUI语法扩展。
VUI语法结构包含以下信息:
·内容是交错的或渐进的;
·内容是否包含帧封装立体视频或投影全向视频;
·样点纵横比;
·内容是否适合过扫描显示;
·颜色描述,包括颜色原色、矩阵和传输特性,这对于能够信令通知超高清(UHD)与高清(HD)颜色空间以及高动态范围(HDR)尤为重要;
·与亮度相比的色度位置(与HEVC相比,渐进的内容的信令通知已被阐明)。
当SPS不包含任何VUI时,信息被认为是未规定的,并且如果比特流的内容旨在用于在显示器上呈现,则信息必须通过外部方式传达或由应用规定。
表1列出了为VVC v1规定的所有SEI消息,以及包含它们的语法和语义的规范。在VSEI规范中规定的20个SEI消息中,许多是从HEVC继承的(例如,填充符有效载荷和两个用户数据SEI消息)。一些SEI消息对于正确处理或呈现编解码视频内容是必不可少的。例如,对于与HDR内容特别相关的主显示器颜色量、内容光级别信息或替代传输特性SEI消息,就是这种情况。其他示例包括等矩形投影、球体旋转、区域打包或全向视口SEI消息,这些消息与360°视频内容的信令通知和处理相关。
表1:VVC v1中的SEI消息列表
为VVC v1规定的新SEI消息包括帧字段信息SEI消息、样点纵横比信息SEI消息和子图片级别信息SEI消息。
帧字段信息SEI消息包含指示关联图片应该如何显示的信息(例如场奇偶校验或帧重复周期)、关联图片的源扫描类型以及关联图片是否是先前图片的副本。在先前视频编解码标准中,该信息通常与相关图片的时序信息一起在图片时序SEI消息中被信令通知。然而,据观察,帧字段信息和时序信息是两种不同类型的信息,不一定一起被信令通知。一个典型的示例包括在系统级别信令通知时序信息,但在比特流内信令通知帧字段信息。因此决定从图片时序SEI消息中移除帧字段信息,并改为在专用SEI消息中信令通知它。这一变化还使得修改帧字段信息的语法成为可能,以向显示器传达更多和更清晰的指令,例如将字段配对在一起,或帧重复的更多值。
样点纵横比SEI消息可以为同一序列内的不同图片信令通知不同的样点纵横比,而VUI中包含的对应信息适用于整个序列。当使用具有导致同一序列的不同图片具有不同样点纵横比的缩放因子的参考图片重采样特征时,这可能是相关的。
子图片级别信息SEI消息提供子图片序列的级别信息。
3.3.VVC中的图片分割和子图片
在VVC中,图片被划分成一个或多个片行以及一个或多个片列。片是覆盖图片的矩形区域的CTU序列。片中的CTU在该片内按光栅扫描顺序进行扫描。
条带由整数个完整片或图片的片内的整数个连续完整的CTU行组成。
支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式下,条带包含在图片的片光栅扫描中的一系列完整的片。在矩形条带模式下,条带包含共同形成图片的矩形区域的多个完整的片,或者共同形成图片的矩形区域的一个片的多个连续完整的CTU行。矩形条带内的片在对应于该条带的矩形区域内以片光栅扫描顺序进行扫描。
子图片包含一个或多个条带,该一个或多个条带共同覆盖图片的矩形区域。
3.3.1.子图片的概念和功能
在VVC,每个子图片由一个或多个完整的矩形条带组成,这些矩形条带共同覆盖图片的矩形区域,例如,如图1所示。子图片可以被规定为可提取的(即,独立于同一图片的其他子图片和按解码顺序的较早的图片进行编解码)或者不可提取的。不管子图片是否可提取,编码器可以控制是否对每个子图片单独地跨子图片边界应用环路滤波(包括去块、SAO和ALF)。
在功能上,子图片类似于HEVC的运动约束片集(MCTS)。对于视口相关的360°视频流式传输优化和感兴趣区域(ROI)应用等用例,它们都允许对编解码图片序列的矩形子集进行独立编解码和提取。
在360°视频(又称全向视频)的流式传输中,在任何特时序刻,仅向用户呈现整个全向视频球体的子集(即当前视口),而用户可随时转动他/她的头部以改变观看方向,从而改变当前视口。虽然期望在客户端处至少有一些未被当前视口覆盖的区域的较低质量表示可用,并准备好呈现给用户,以防用户突然将他/她的观看方向改变到球体上的任何地方,但是全向视频的高质量表示只需要用于在任何给时序刻呈现给用户的当前视口。将整个全向视频的高质量表示划分成适当粒度的子图片能够实现如图1所示的优化,其中12个高精度子图片在左手侧,并且全向视频的其余12个较低精度子图片在右手侧。
另一种典型的基于子图片的视口相关的360°视频传输方案如图2所示,其中仅全视频的较高精度表示由子图片组成,而全视频的较低精度表示不使用子图片,并且可采用比较高精度表示更低频率的RAP进行编解码。客户端接收较低精度的完整视频,而对于较高精度的视频,客户端仅接收并解码覆盖当前视口的子图片。
3.3.2.子图片和MCTS之间的区别
子图片和MCTS之间有几个重要的设计差异。首先,VVC中的子图片特征允许编解码块的运动矢量指向子图片外部,即使在这种情况下可以通过在子图片边界应用样点填充来提取子图片,类似于在图片边界处。其次,在merge模式和VVC的解码器侧运动矢量细化过程中,对运动矢量的选择和导出引入了额外的变化。与在MCTS的编解码器侧应用的非规范运动约束相比,这允许更高的编解码效率。第三,当从图片序列中提取一个或多个可提取子图片以创建作为符合比特流的子比特流时,不需要重写SH(和PH NAL单元,当存在时)。在基于HEVC MCTS的子比特流提取中,需要对SH进行重写。请注意,在HEVC MCTS提取和VVC子图片提取两者中,都需要重写SPS和PPS。然而,比特流中通常只有几个参数集,而每个图片至少有一个条带,因此重写SH对应用系统来说可能是一个很大的负担。第四,图片内不同子图片的条带允许具有不同的NAL单元类型。这是通常称为图片内的混合NAL单元类型或混合子图片类型的特征,下面将进行更详细的讨论。第五,VVC对子图片序列规定了HRD和级别定义,从而编解码器可以保证每个可提取子图片序列的子比特流的一致性。
3.3.3.图片内的混合子图片类型
在AVC和HEVC中,图片中的所有VCL NAL单元都需要具有相同的NAL单元类型。VVC引入了在图片内混合具有某些不同VCL NAL单元类型的子图片的选项,从而不仅在图片级别而且在子图片级别提供对随机访问的支持。在VVC中,子图片内的VCL NAL单元仍然需要具有相同的NAL单元类型。
从IRAP子图片随机访问的能力有利于360°视频应用。在类似于图2所示的视口相关的360°视频传输方案中,空域相邻视口的内容大部分重叠,即在视口方向改变期间,视口中只有一小部分子图片被新的子图片替换,而大多数子图片保留在视口中。新引入视口的子图片序列必须以IRAP条带开始,但是当允许剩余的子图片在视口变化时执行帧间预测时,可以实现整体传输比特率的显著降低。
在图片参考的PPS中提供了图片是否仅包含一种类型的NAL单元或多于一种类型的指示(即,使用称为pps_mixed_nalu_types_in_pic_flag的标志)。图片可以由包含IRAP条带的子图片和同时包含拖尾条带的子图片组成。图片内不同NAL单元类型的一些其他组合也是允许的,包括NAL单元类型RASL和RADL的前导图片条带,这允许将从不同比特流中提取的具有open-GOP和close-GOP编解码结构的子图片序列merge到一个比特流。
3.3.4.子图片布局和ID信令通知
VVC中子图片的布局在SPS中被信令通知,因此在CLVS内是不变的。每个子图片都由其左顶角CTU的位置及其宽度和高度(以CTU数量表示)信令通知,因此确保子图片以CTU粒度覆盖图片的矩形区域。在SPS中信令通知子图片的顺序确定了图片内每个子图片的索引。
为了能够在不重写SH或PH的情况下提取和merge子图片序列,VVC中的条带寻址方案基于子图片ID和子图片特定的条带索引,以将条带与子图片相关联。在SH中,信令通知包含条带的子图片的子图片ID和子图片级别条带索引。请注意,特定子图片的子图片ID的值可能与其子图片索引的值不同。两者之间的映射要么在SPS或PPS(但不是两者)中被信令通知,要么隐式推断。当存在时,则在子图片子比特流提取过程期间重写SPS和PPS时需要重写或添加子图片ID映射。子图片ID和子图片级别条带索引一起向解码器指示条带的第一个解码CTU在解码图片的DPB时隙内的确切位置。在子比特流提取后,子图片的子图片ID不变,而子图片索引可能改变。即使当子图片中条带中第一个CTU的光栅扫描CTU地址与原始比特流中的值相比已经改变时,相应SH中的子图片ID和子图片级别条带索引的未改变的值仍将正确确定每个CTU在提取的子比特流的解码图像中的位置。图3示出了使用子图片ID、子图片索引和子图片级别条带索引来实现子图片提取,其中示例包含两个子图片和四个条带。
与子图片提取类似,子图片的信令通知允许通过仅重写SPS和PPS将来自不同比特流的多个子图片merge为单个比特流,前提是不同的比特流是协调生成的(例如,使用不同的子图片ID,但在其他方面主要对齐SPS、PPS和PH参数,例如CTU尺寸、色度格式、编解码工具等)。
虽然子图片和条带分别在SPS和PPS中独立地信令通知,但在子图片和条带布局之间存在固有的相互约束以形成一致性比特流。首先,子图片的存在要求使用矩形条带,并且禁止光栅扫描条带。其次,给定子图片的条带应是按解码顺序的连续NAL单元,这意味着子图片布局约束了比特流内的编解码条带NAL单元的顺序。
3.4.VVC中的通用子比特流提取过程
与HEVC相似,VVC规范包括子比特流提取过程,允许提取对应于特定操作点的子比特流(即,OLS和包含的时域子层)。而在HEVC,提取过程是解码过程的一部分,即解码器将需要丢弃与操作点不相关的NAL单元,当其出现在比特流中时,VVC设计假设馈送到解码器的比特流不包含不属于所指示的操作点的NAL单元,即当需要时,与操作点不相关的NAL单元被不是解码器一部分的提取器丢弃。与HEVC相比,显著的不同是,在VVC,可缩放嵌套的HRDSEI消息的处理是标准化规定的,例如,提取的比特流携带目标操作点的正确HRD时序参数。该过程包括当目标操作点不包括比特流中的所有层时,移除原始BP SEI消息以及DUI SEI消息(如果有的话),并插入最初包括在可缩放嵌套SEI消息中的适当SEI消息。然而,PT SEI消息有特殊的处理;只有当没有指示每个PT SEI消息适用于所有OLS时,才需要上述操作。
VVC的通用子比特流提取过程的规范如下:
C.6通用子比特流提取过程
此过程的输入是比特流inBitstream、目标OLS索引targetOlsIdx和目标最高TemporalId值tIdTarget。
此过程的输出是子比特流outBitstream。
具有OLS索引targetOlsIdx的OLS称为目标OLS。
对输入比特流的比特流一致性的要求是,满足以下所有条件的任何输出子比特流都应该是一致性比特流:
–输出子比特流是本子条款中规定的过程的输出,其中比特流targetOlsIdx等于VPS规定的OLS列表的索引,并且作为输入的tIdTarget等于0到vps_ptl_max_tid[vps_ols_ptl_idx[targetOlsIdx]](包括端值)范围内的任何值。
–输出子比特流包含至少一个VCL NAL单元,其nuh_layer_id等于LayerIdInOls[targetOlsIdx]中的每个nuh_layer_id值。
–输出子比特流包含至少一个TemporalId等于tIdTarget的VCLNAL单元。
注–一致性比特流包含一个或多个TemporalId等于0的编解码的条带NAL单元,但是不必包含nuh_layer_id等于0的编解码的条带NAL单元。
通过应用以下有序步骤来导出输出子比特流OutBitstream:
1.比特流outBitstream被设置为与比特流inBitstream相同。
2.从outBitstream中移除所有TemporalId大于tIdTarget的NAL单元。
3.从outBitstream中移除所有具有nuh_layer_id的NAL单元,这些单元不包括在列表LayerIdInOls[targetOlsIdx]中,并且不是DCI、OPI、VPS、AUD或EOB NAL单元,并且也不是包含有效载荷PayloadType等于0、1、130或203的不可缩放嵌套的SEI消息的SEI NAL单元。
4.从outBitstream中移除以下所有条件为真的所有APS和VCL NAL单元,以及这些VCL NAL单元的关联非VCL NAL单元,其中nal_unit_type等于PH_NUT或FD_NUT,或者其中nal_unit_type等于SUFFIX_SEI_NUT或PREFIX_SEI_NUT,并且包含有效载荷类型不等于0(BP)、1(PT)、130(DUI)和203(SLI)中任何一个的SEI消息:
–nal_unit_type等于APS_NUT、TRAIL_NUT、STSA_NUT、RADL_NUT或RASL_NUT,或者nal_unit_type等于GDR_NUT并且关联的ph_recovery_poc_cnt大于0。
–TemporalId大于或等于NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]]。
5.当通过上述步骤2、3或4移除AU的所有VCL NAL单元,并且AU中存在AUD或OPINAL单元时,从outBitstream移除AUD或OPI NAL单元。
6.对于outBitstream中的每个OPI NAL单元,将opi_htid_info_present_flag设置为1,将opi_ols_info_present_flag设置为1,将opi_htid_plus1设置为tIdTarget+1,并且将opi_ols_idx设置为targetOlsIdx。
7.当AUD存在在outBitstream的AU中,并且AU成为IRAP或GDR AU时,将AUD的aud_irap_or_gdr_flag设置为1。
8.从outBitstream中移除包含可缩放嵌套SEI消息的所有SEI NAL单元,该消息的sn_ols_flag等于1,并且在0到sn_num_olss_minus1(包括端值)的范围内没有i值,使得NestingOlsIdx[i]等于targetOlsIdx。
9.从outBitstream中移除所有包含可缩放嵌套SEI消息的SEI NAL单元,该消息的sn_ols_flag等于0,并且列表NestingLayerId中的值不等于列表LayerIdInOls[targetOlsIdx]中的值。
10.当LayerIdInOls[targetOlsIdx]不包括比特流bitstream中的所有VCL NAL单元中的nuh_layer_id的所有值时,以下按所列顺序适用:
a.从outBitstream中移除包含payloadType等于0(BP)、130(DUI)或203(SLI)的不可缩放嵌套的SEI消息的所有SEI NAL单元。
b.当general_same_pic_timing_in_all_ols_flag等于0时,从outBitstream中移除所有包含payloadType等于1(PT)的不可缩放嵌套的SEI消息的SEI NAL单元。
c.当outBitstream包含SEI NAL单元seiNalUnitA,该单元包含应用于目标ols的sn_ols_flag等于1且sn_subpic_flag等于0的可缩放嵌套SEI消息时,或者当NumLayersInOls[targetOlsIdx]等于1且outBitstream包含SEI NAL单元seiNalUnitA,该单元包含应用于outBitstream中的层的sn_ols_flag等于0且sn_subpic_flag等于0的可缩放嵌套SEI消息时,生成新的SEI NAL单元seiNalUnitB,将它包含在包含seinal unit的PU中,紧跟在seiNalUnitA之后,从可缩放嵌套SEI消息中提取可缩放嵌套的SEI消息并将它们直接包含在seiNalUnitB中(作为非可缩放嵌套的SEI消息),并从outBitstream中移除seiNalUnitA。
3.5.VVC中子图片子比特流提取过程
VVC允许对各个独立编解码的子图片进行HRD一致性测试,即,可提取与各个子图片相关的比特流部分,以形成有效比特流,并可测试该比特流与HRD模型的一致性。一致性测试需要为这样的子图片子比特流定义完整的HRD模型,并且VVC允许通过被称为子图片级别信息(SLI)SEI消息的新SEI消息来携带除其他HRD参数之外的必要信息。
SLI SEI消息提供了子图片序列的级别信息,其用于导出描述解码器对子图片比特流的处理的HRD模型的CPB尺寸和比特率值所需要的。虽然由多个子图片组成的原始比特流可以遵守由比特流的参数集中所指示的特定级别所定义的限制(例如,60Hz的4K的级别5.1),但是该特定比特流的子图片子比特流可以对应于较低的级别(例如,60Hz的720p的级别3)。此外,VVC允许通过参考级别的分数来表达特定子图片子比特流的级别,这允许比HEVC中更精细的粒度级别信令通知,并且该信息还向将多个子图片merge到单个联合比特流中的系统提供关于每个子图片子比特流将对merge比特流的级别限制贡献多少的指导。还可以在SLI SEI消息中信令通知附加属性,例如表现出恒定比特率的比特流,或者在多层比特流的情况下,没有应用子图片分割的层的级别贡献,从而也能够为这种场景下的每个单独的子图片序列导出完整的HRD模型。允许符合子图片子比特流的努力的另一部分是应用具有图片范围也具有子图片范围的许多一致性相关约束,例如对于属于单个子图片的VCL NAL单元的最小压缩比或bin位比率的约束。
在HEVC,独立编解码区域(即MCTS)的子比特流提取和一致性测试需要借助于MCTS提取信息集SEI消息以嵌套的形式携带这种子比特流的参数集。
VVC增加了新的子图片子比特流提取过程,通过移除与其他子图片相关的不必要的NAL单元,并主动重写参数集的相关部分,以正确反映子图片子比特流的属性,允许从独立编解码的子图片生成一致性比特流。例如,该过程包括重写VPS和SPS中的级别指示符和HRD参数,以及各个参数集的适当部分中的图片尺寸、分割信息、一致性窗口偏移、缩放窗口偏移和虚拟边界位置。子图片子比特流提取过程基于SLI SEI消息中提供的信息重写比特流的参数集中的一些信息。
VVC的子图片子比特流提取过程的规范如下:
C.7子图片子比特流取过程
对该过程的输入是比特流inBitstream、目标OLS索引targetOlsIdx、目标最高TemporalId值tIdTarget和目标子图片索引值subpicIdxTarget[i]的列表,其中i从0到NumLayersInOls[targetOlsIdx]1(包括端值)。
该过程的输出是子比特流outBitstream。
具有OLS指数targetOlsIdx的OLS被称为目标OLS。在目标OLS的层中,参考的SPS的sps_num_subpics_minus1大于0的图称为multiSubpicLayers。
对输入比特流的比特流一致性的要求是,满足以下所有条件的任何输出子比特流都应该是一致性比特流:
–输出子比特流是该子条款中规定的过程的输出,其中比特流targetOlsIdx等于VPS规定的OLS的列表的索引,tIdTarget等于0到vps_max_sublayers_minus1(包括端值)范围内的任何值,并且满足以下条件的i从0到NumLayersInOls[targetOlsIdx]-1(包括端值)的列表subpicIdxTarget[i],作为输入:
–subpicIdxTarget[i]的值等于0到sps_num_subpics_minus1(包括端值)范围内的值,使得sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]]等于1,其中sps_num_subpics_minus1和sps_subpic_treated_as_pic_flag[subpicIdxTarget[i]]是在nuh_layer_id等于LayerIdInOls[targetOlsIdx][i]的层所参考的SPS中找到的,或者是基于该SPS推断的。
注1–当nuh_layer_id等于LayerIdInOls[targetOlsIdx][i]的层的sps_num_subpics_minus1等于0时,subpicIdxTarget[i]的值等于0。
–对于m和n的任意两个不同的整数值,当sps_num_subpics_minus1大于0时,对于nuh_layer_id分别等于LayerIdInOls[targetOlsIdx][m]和LayerIdInOls[targetOlsIdx][n]的两个层,subpicIdxTarget[m]等于subpicIdxTarget[n]。
–输出子比特流包含至少一个VCL NAL单元,其nuh_layer_id等于列表LayerIdInOls[targetOlsIdx]中的每个nuh_layer_id值。
–输出子比特流包含至少一个TemporalId等于tIdTarget的VCL NAL单元。
注2–一致性比特流包含一个或多个TemporalId等于0的编解码的条带NAL单元,但是不必包含nuh_layer_id等于0的编解码的条带NAL单元。
–其中对于0到NumLayersInOls[targetOlsIdx]-1(包括端值)范围内的每个i,输出子比特流包含至少一个nuh_layer_id等于LayerIdInOls[targetOlsIdx][i],sh_subpic_id等于SubpicIdVal[subpicIdxTarget[i]]的VCL NAL单元,。
输出子比特流outBitstream通过以下顺序步骤导出:
1.附录C.6中规定的子比特流提取过程以inBitstream、targetOlsIdx和tIdTarget作为输入调用,并且该过程的输出分配给outBitstream。
2.对于0到NumLayersInOls[targetOlsIdx]-1(包括端值)范围内的每个i值,从outBitstream中移除所有nuh_layer_id等于LayerIdInOls[targetOlsIdx][i]且sh_subpic_id不等于SubpicIdVal[subpicIdxTarget[i]]的VCL NAL单元、它们的相关填充符数据NAL单元以及它们的包含填充符有效载荷SEI消息的相关SEI NAL单元。
3.当应用于目标OLS的SLI SEI消息存在并且SLI SEI消息的sli_cbr_constraint_flag等于0时,移除nal_unit_type等于FD_NUT的所有NAL单元和包含填充符有效载荷SEI消息的SEI NAL单元。
4.从outBitstream中移除包含sn_subpic_flag等于1的可缩放嵌套SEI消息的所有SEI NAL单元,并且j从0到sn_num_subpics_minus1(包括端值)的sn_subpic_id[j]值中没有一个值等于multiSubpicLayers中的层的任何SubpicIdVal[subpicIdxTarget[i]]值。
5.当通过步骤2移除了至少一个VCL NAL单元时,从outBitstream中移除所有包含sn_subpic_flag等于0的可缩放嵌套SEI消息的SEI NAL单元。
6.如果本文档中未规定的一些外部装置可用于为子比特流outBitstream提供替换参数集,则用替换参数集替换所有参数集。否则,应用以下有序步骤:
a.对于multiSubpicLayers中的任何层,变量spIdx被设置为等于subpicIdxTarget[i]的值。
b.当应用于目标OLS的SLI SEI消息存在时,对于在0到tIdTarget–1(包括端值)的范围内的k,将所有参考的VPS中profile_tier_level()语法结构列表中的第vps_ols_ptl_idx[targetOlsIdx]个条目中的general_level_idc和sublayer_level_idc[k]的值(当存在时)以及所有参考的SPS中的profile_tier_level()语法结构中的general_level_idc和sublayer_level_idc[k]的值(当NumLayersInOls[targetOlsIdx]等于1时)分别设置为等于SubpicLevelIdc[spIdx][tIdTarget]和SubpicLevelIdc[spIdx][k],这是由用于第spIdx个子图片序列的等式1621导出的。
c.当应用于目标OLS的SLI SEI消息存在时,对于0到tIdTarget(包括端值)的范围内的k,让spLvIdx被设置为等于SubpicLevelIdx[spIdx][k],其中SubpicLevelIdx[spIdx][k]是由用于第spIdx个子图片序列的等式1621导出的。当VCL HRD参数或NAL HRD参数存在时,对于0到tIdTarget(包括端值)的范围内的k,设置所有参考的VPS中的第vps_ols_timing_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]个ols_timing_hrd_parameters()语法结构中的第j个CPB的cpb_size_value_minus1[k][j]和bit_rate_value_minus1[k][j]的相应值(如果存在)以及所有参考的SPS中的ols_timing_hrd_parameters()语法结构中的第j个CPB的cpb_size_value_minus1[k][j]和bit_rate_value_minus1[k][j]的相应值(当NumLayersInOls[targetOlsIdx]等于1时),使它们分别对应于等式1617和1618导出的SubpicCpbSizeVcl[spLvIdx][spIdx][k]和SubpicCpbSizeNal[spLvIdx][spIdx][k],以及使它们分别对应于等式1619和1620导出的SubpicBitrateVcl[spLvIdx][spIdx][k]和SubpicBitrateNal[spLvIdx][spIdx][k],其中j在0至hrd_cpb_cnt_minus1(包括端值)的范围内,并且i在0至NumLayersInOls[targetOlsIdx]-1(包括端值)的范围内。
d.对于multiSubpicLayers中的每一层,以下有序步骤适用于重写该层中图片所参考的SPS和PPS:
i.变量subpicWidthInLumaSamples和subpicHeightInLumaSamples导出如下:
ii.将所有参考的SPS中的sps_pic_width_max_in_luma_samples和sps_pic_height_max_in_luma_samples的值以及所有参考的PPS中的pps_pic_width_in_luma_samples和pps_pic_height_in_luma_samples的值分别设置为等于subpicWidthInLumaSamples和subpicHeightInLumaSamples。
iii.将所有参考的PPS中的pps_num_subpics_minus1的值设置为等于0。
iv.将所有参考的SPS中的语法元素sps_subpic_ctu_top_left_x[spIdx]和sps_subpic_ctu_top_left_y[spIdx]的值(如果存在)设置为等于0。
v.对于不等于spIdx的每个j,移除所有参考的SPS中的语法元素sps_subpic_ctu_top_left_x[j]、sps_subpic_ctu_top_left_y[j]、sps_subpic_width_minus1[j]、sps_subpic_height_minus1[j]、sps_subpic_treated_as_pic_flag[j]、sps_loop_filter_across_subpic_enabled_flag[j]和sps_subpic_id[j](如果存在)。
vi.当spIdx大于0且参考的SPS的sps_subpic_id_mapping_explicitly_signalled_flag等于0,设置sps_subpic_id_mapping_explicitly_signalled_flag和sps_subpic_id_mapping_present_flag的值都等于1,将sps_subpic_id[0]等于spIdx添加到SPS中。
vii.对于不等于spIdx的每个j,移除所有参考的PPS中的语法元素pps_subpic_id[j](如果存在)。
viii.设置所有参考的PPS中的语法元素以信令通知片和条带,以移除与子图片索引等于spIdx的子图片不相关的所有片行、片列和条带。
ix.变量subpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset和subpicConfWinBottomOffset导出如下:
其中这些等式中的sps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples、sps_pic_height_max_in_luma_samples、sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset的值是来自重新写入之前的原始SPS的值。
注3–对于输入比特流和输出比特流两者中的multiSubpicLayers中的层中的图片,sps_pic_width_max_in_luma_samples和sps_pic_height_max_in_luma_samples的值分别等于pps_pic_width_in_luma_samples和pps_pic_height_in_luma_samples。因此,在这些等式中,sps_pic_width_max_in_luma_samples和sps_pic_height_max_in_luma_samples可以分别替换为pps_pic_width_in_luma_samples和pps_pic_height_in_luma_samples。
x.将所有参考的SPS中的sps_conf_win_left_offset、sps_conf_win_right_offset、sps_conf_win_top_offset和sps_conf_win_bottom_offset的值分别设置为等于subpicConfWinLeftOffset、subpicConfWinRightOffset、subpicConfWinTopOffset和subpicConfWinBottomOffset。
xi.变量subpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset和subpicScalWinBotOffset导出如下:
其中,这些等式中的sps_subpic_ctu_top_left_x[spIdx]、sps_subpic_width_minus1[spIdx]、sps_subpic_ctu_top_left_y[spIdx]、sps_subpic_height_minus1[spIdx]、sps_pic_width_max_in_luma_samples和sps_pic_height_max_in_luma_samples的值是来自重新写入之前的原始SPS,并且这些等式中的pps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset和pps_scaling_win_bottom_offset的值是来自重新写入之前的原始PPS。
xii.将参考的所有PPS NAL单元中的pps_scaling_win_left_offset、pps_scaling_win_right_offset、pps_scaling_win_top_offset和pps_scaling_win_bottom_offset的值分别设置为等于subpicScalWinLeftOffset、subpicScalWinRightOffset、subpicScalWinTopOffset和subpicScalWinBotOffset。
xiii.变量numVerVbs、subpicVbx[i]、numHorVbs和subpicVby[i]导出如下:
其中这些等式中的sps_num_ver_virtual_boundaries、sps_virtual_boundary_pos_x_minus1[i]、sps_subpic_ctu_top_left_x[spIdx],sps_subpic_width_minus1[spIdx]、sps_num_hor_virtual_boundaries、sps_virtual_boundary_pos_y_minus1[i]、sps_subpic_ctu_top_left_y[spIdx]和sps_subpic_height_minus1[spIdx]的值是来自重新写入之前的原始SPS的值。
xiv.对于在0到numVerVbs-1(包括端值)范围内的i以及在0到numHorVbs-1(包括端值)范围内的j,当sps_virtual_boundaries_present_flag等于1时,设置所有参考SPS中的sps_num_ver_virtual_boundaries、sps_virtual_boundary_pos_x_minus1[i]、sps_num_hor_virtual_boundaries和sps_virtual_boundary_pos_y_minus1[j]语法元素的值分别等于numVerVbs、subpicVbx[i]–1、numHorVbs和subpicVby[j]–1。提取的子图片之外的虚拟边界被移除。当numVerVbs和numHorVbs都等于0时,将所有参考的SPS中的sps_virtual_boundaries_enabled_flag的值设置为0,并移除语法元素sps_virtual_boundaries_present_flag、sps_num_ver_virtual_boundaries、sps_virtual_boundary_pos_x_minus1[i]、sps_num_hor_virtual_boundaries和sps_virtual_boundary_pos_y_minus1[i]。
e.当存在适用于目标OLS的SLI SEI消息时,以下适用:
i.如果sli_cbr_constraint_flag等于1,将所有参考的VPS中的第vps_ols_timing_hrd_idx[MultiLayerOlsIdx[targetOlsIdx]]个ols_timing_hrd_parameters()语法结构中的第j个CPB的cbr_flag[tIdTarget][j]设置为等于1,并且当NumLayersInOls[targetOlsIdx]等于1,将所有参考SPS中的ols_timing_hrd_parameters()语法结构中的cbr_flag[tIdTarget][j]设置为等于1。
ii.否则,(sli_cbr_constraint_flag等于0),设置cbr_flag[tIdTarget][j]等于0。在这两种情况下,j在0到hrd_cpb_cnt_minus1(包括端值)的范围内。
7.当至少一个VCL NAL单元已被步骤2移除时,以下内容将按列出的顺序应用:
a.从outBitstream中移除包含payloadType等于0(BP)、130(DUI)、203(SLI)或132(解码图片哈希)的不可缩放嵌套的SEI消息的所有SEI NAL单元。
b.当general_same_pic_timing_in_all_ols_flag等于0时,从outBitstream中移除所有包含payloadType等于1(PT)的不可缩放嵌套的SEI消息的SEI NAL单元。
c.当outBitstream包含SEI NAL单元seiNalUnitA,该单元包含应用于目标ols和outBitstream中的子图片的sn_ols_flag等于1且sn_subpic_flag等于1的可缩放嵌套SEI消息时,或者当NumLayersInOls[targetOlsIdx]等于1且outBitstream包含SEI NAL单元seiNalUnitA,该单元包含应用于outBitstream中的层和子图片的sn_ols_flag等于0且sn_subpic_flag等于1的可缩放嵌套SEI消息时,生成新的SEI NAL单元seiNalUnitB,将它包含在包含seinal unit的PU中,紧跟在seiNalUnitA之后,从可缩放嵌套SEI消息中提取可缩放嵌套的SEI消息并将它们直接包含在seiNalUnitB中(作为非可缩放嵌套的SEI消息),并从outBitstream中移除seiNalUnitA。
4.公开的技术方案所解决的技术问题示例
VVC的POC、SEI和子图片子比特流提取的设计存在以下问题:
1)VVC规范的条款C.4包括以下与POC相关的约束:
让currPicLayerId等于当前图片的nuh_layer_id。
对于每个当前图片,将变量maxPicOrderCnt和minPicOrderCnt设置为分别等于以下图片的PicOrderCntVal值的最大值和最小值,其中
nuh_layer_id等于currPicLayerId:
–当前图片。
–按解码顺序的前一个图片,其TemporalId和ph_non_ref_pic_flag都等于0,并且不是RASL或RADL图片。
–当前图片的RefPicList[0]中的所有条目和RefPicList[1]中的所有条目参考的STRP。
–所有PictureOutputFlag等于1的图片n,AuCpbRemovalTime[n]小于AuCpbRemovalTime[currPic]并且DpbOutputTime[n]大于或等于AuCpbRemovalTime[currPic],其中currPic是当前图片。
对于不是CLVSS图片的每个当前图片,maxPicOrderCnt-minPicOrderCnt的值应小于MaxPicOrderCntLsb/2。
如果放宽上面的第二个项目符号项,则上述约束不允许以下将为一致性比特流的比特流:
a.原始比特流为单层比特流,并且子比特流outBitstream是通过移除所有非帧内编解码图片从比特流中提取出来的。outBitstream中至少有一个图片picA使得图片picA与图片prevTid0Pic的POC值之差,即TemporalId和ph_non_ref_pic_flag都等于0且不是RASL或RADL图片的同层中按解码顺序的前一个图片大于MaxPicOrderCntLsb/2。根据上述约束,此比特流outBitstream则不是一致性比特流,因为它违反了约束。
然而,如果picA具有在PH中信令通知的POC MSB值,则可以正确地导出其POC。因此,如果第二个项目符号项更改如下,比特流outBitstream可能成为一致性比特流:
–当当前图片不存在ph_poc_msb_cycle_val时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0,并且该图片不是RASL或RADL图片。
b.原始比特流为多层比特流,层索引为j的层为比特流中层索引为layerB的另一层的直接参考层,并且vps_max_tid_il_ref_pics_plus1[i][j]等于0。
则在提取的比特流outBitstream中,按照通用子比特流提取过程,对于第j层是输出层而第i层不是的OLS,在第i层中只有ph_recovery_poc_cnt等于0的GDR图片或IRAP图片。此时,同上,如果在outBitstream中至少有一个图片picA在第i层,使得图片picA与图片prevTid0Pic之间的POC值的差(即同层按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0,并且该图片不是RASL或RADL图片)大于MaxPicOrderCntLsb/2。根据上述约束,此比特流outBitstream则不是一致性比特流,因为它违反了约束。由于如果原始比特流是一致性比特流,则像outBitstream这样的提取比特流需要是一致性比特流,因此,原始比特流也不是一致性比特流。
但是,如果picA具有在PH中信令通知的POC MSB值,则可以正确导出其POC。同样,如果将上面的第二个项目符号项更改为如下,则本示例中的比特流outBitstream和原始比特流都可能成为一致性比特流:
–当当前图片不存在ph_poc_msb_cycle_val时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0,并且该图片不是RASL或RADL图片。
c.类似于以上示例a和b中的原始比特流和outBitstream,但是包含多个层,并且对于图片picA,在相同的AU中有另一个图片picB,并且该图片属于包含picA的层的参考层。换句话说,picA的POC值将被导出为等于picB的POC值。在这种情况下,即使picA和prevTid0Pic之间的图片POC差大于MaxPicOrderCntLsb/2,picA的POC值仍然可以被正确导出,只要picB的POC值可以被正确导出。
因此,如果将上面的第二个项目符号项更改为如下,则此类示例中的比特流outBitstream可能成为一致性比特流:
–当在当前AU中没有属于当前层的参考层的图片时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0并且该图片不是RASL或RADL图片。
2)在通用的子比特流提取过程中,步骤9从outBitstream中移除所有SEI NAL单元,这些单元包含sn_ols_flag等于0的可缩放嵌套SEI消息,并且列表NestingLayerId中没有值等于列表LayerIdInOls[targetOlsIdx]中的值。然而,这个步骤实际上是不需要的,因为:1)对于包含sn_ols_flag等于0的可缩放嵌套SEI消息的SEI NAL单元,NestingLayerId将总是包括SEI NAL单元的层Id。2)如果SEI NAL单元的层ID不在列表LayerIdInOls[targetOlsIdx]中,则它可能已经在步骤3中被移除。
3)在子图片子比特流提取过程中,当至少一个VCL NAL单元已被步骤2移除后,步骤5从outBitstream中移除所有包含sn_subpic_flag等于0的可缩放嵌套SEI消息的SEINAL单元,包括嵌套的SLI SEI消息。但是,步骤6可能需要嵌套的SLI SEI消息(如果存在)以重写参数集。
4)允许嵌套和非嵌套的HRD相关SEI消息两者存在并应用于相同的OLS。类似地,也允许嵌套的和非嵌套的非HRD相关SEI消息两者存在并应用于同一层。然而,缺少要求特定有效载荷类型的这种SEI消息的内容相同的约束。
5.技术解决方案的示例
为解决上述及其他问题,公开了总结如下的方法。这些项目应该被认为是解释通用概念的示例,而不应该以狭隘的方式解释。此外,这些项目可以单独使用或以任何方式组合使用。
1)为解决问题1,建议将问题1中描述的POC相关约束中的第二个项目符号项改为以下之一:
a.当当前图片不存在ph_poc_msb_cycle_val并且在当前AU中没有图片属于当前层的参考层时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0并且该图片不是RASL或RADL图片。
i.或者,将短语“当前AU中没有属于当前层的参考层的图片”替换为“当前图片的PocFromIlrpFlag等于0”,并规定PocFromIlrpFlag如下:
设变量currLayerIdx等于GeneralLayerIdx[nuh_layer_id]。如果vps_independent_layer_flag[currLayerIdx]等于0,并且当前AU中有nuh_layer_id等于layerIdA的图片picA,使得GeneralLayerIdx[layerIdA]在列表ReferenceLayerIdx[currLayerIdx]中,则将变量PocFromIlrpFlag设置为等于1。否则,PocFromIlrpFlag被设置为等于0。
b.当当前图片不存在ph_poc_msb_cycle_val时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0,并且该图片不是RASL或RADL图片。
c.当当前AU中不存在属于当前层的参考层的图片时,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0,并且该图片不是RASL或RADL图片。
i.或者,将“当前AU中没有属于当前层的参考层的图片”替换为“当前图片的PocFromIlrpFlag等于0”,并如上规定PocFromIlrpFlag。
d.当当前图片或当前AU中不存在ph_poc_msb_cycle_val时,没有图片属于当前层的参考层,按解码顺序的前一个图片的TemporalId和ph_non_ref_pic_flag都等于0并且该图片不是RASL或RADL图片。
i.或者,将短语“当前AU中没有属于当前层的参考层的图片”替换为“当前图片的PocFromIlrpFlag等于0”,并如上规定PocFromIlrpFlag。
2)为了解决问题2,移除通用子比特流提取过程的步骤9。
3)为了解决问题3,子图片的子比特流提取过程的步骤5被移动到整个步骤6之后。
4)为了解决问题4,提出了以下约束:当存在与特定AU或DU相关联并且应用于特定OLS或层的具有不等于133的特定payloadType值的多个SEI消息时,无论这些SEI消息中的一些或全部是否是可缩放嵌套的,SEI消息都将具有相同的SEI有效载荷内容。
请注意,payloadType等于133的SEI消息是可缩放的嵌套SEI消息。
6.实施例
下面是上面章节5中总结的一些本发明方面的一些示例实施例,其可以应用于VVC规范。更改的文本基于JVET-S2001-vH中最新的VVC文本。已增加或修改的大部分相关部分用粗体、斜体和下划线字体显示,例如,表示增加,并且一些删除的部分用粗体、斜体双括号括起来,例如,/>特征/>表示一个删除。可能还有其他一些本质上是编辑性的更改,因此没有突出显示。
6.1.第一实施例
此实施例适用于项目1.a.i、2、3和4。
8.3.1图片顺序计数的解码过程
该过程的输出为PicOrderCntVal,即当前图片的图片顺序计数。
每个编解码图片都与图片顺序计数变量相关联,表示为PicOrderCntVal。
将变量currLayerIdx设置为等于GeneralLayerIdx[nuh_layer_id]。
PicOrderCntVal被导出如下:
–如果vps_independent_layer_flag[currLayerIdx]等于0并且在当前AU中有nuh_layer_id等于layerIdA的图片picA,使得GeneralLayerIdx[layerIdA]在列表ReferenceLayerIdx[currLayerIdx]中,PicOrderCntVal被导出为等于picA的PicOrderCntVal,并且ph_pic_order_cnt_lsb的值在当前AU的所有VCL NAL单元中应相同。
—否则,并且当前图片的PicOrderCntVal如该子条款的剩余部分中所规定的那样被导出。
当ph_poc_msb_cycle_val不存在且当前图片不是CLVSS图片时,变量prevPicOrderCntLsb和prevPicOrderCntMsb导出如下:
–设prevTid0Pic是按解码顺序的前一个图片的nuh_layer_id等于当前图片的nuh_layer_id,该图片的TemporalId和ph_non_ref_pic_flag都等于0,并且不是RASL或RADL图片。
注1–在仅由帧内图片组成、从单层比特流中提取并用于仅帧内图片特技播放的子比特流中,prevTid0Pic是按解码顺序的前一个帧内图片。为了确保正确的POC导出,编码器可以选择为/>帧内图片包含ph_poc_msb_cycle_val,或者将sps_log2_max_pic_order_cnt_lsb_minus4的值设置得足够大,使得当前图片和prevTid0Pic之间的POC差小于MaxPicOrderCntLsb/2。
注2–当vps_max_tid_il_ref_pics_plus1[i][j]对于层索引中的任何i值等于0且j等于当前层的层索引时,某些OLS的提取子比特流中的prevTid0Pic将是当前层中按解码顺序的ph_recovery_poc_cnt等于0的前一个IRAP或GDR图片。为了确保这样的子比特流是一致性比特流,编解码器可以选择为每个IRAP或GDR图片包含ph_poc_msb_cycle_val,其中ph_recovery_poc_cnt等于0,或者将sps_log2_max_pic_order_cnt_lsb_minus4的值设置得足够大,使得当前图片和prevTid0Pic之间的POC差小于MaxPicOrderCntLsb/2。
–变量prevPicOrderCntLsb被设置为等于prevTid0Pic的ph_pic_order_cnt_lsb。
–变量prevPicOrderCntMsb被设置为等于prevTid0Pic的PicOrderCntMsb。
...
C.4比特流一致性
符合本规范的编解码数据的比特流应满足本子条款规定的所有要求。
应根据本附录之外的本规范中规定的语法、语义和约束来构建比特流。
比特流中的第一个编解码图片应为IRAP图片(即IDR图片或CRA图片)或GDR图片。
比特流由HRD测试是否符合子条款C.1中的规定。
让currPicLayerId等于当前图片的nuh_layer_id。
对于每个当前图片,将变量maxPicOrderCnt和minPicOrderCnt设置为分别等于以下图片的PicOrderCntVal值的最大值和最小值,其中nuh_layer_id等于currPicLayerId:
–当前图片。
按解码顺序的前一个图片,其TemporalId和ph_non_ref_pic_flag都等于0,并且不是RASL或RADL图片。
–当前图片的RefPicList[0]中的所有条目和RefPicList[1]中的所有条目参考的STRP。
–所有PictureOutputFlag等于1的图片n,AuCpbRemovalTime[n]小于AuCpbRemovalTime[currPic]并且DpbOutputTime[n]大于或等于AuCpbRemovalTime[currPic],其中currPic是当前图片。
每个比特流一致性测试都应满足以下所有条件:
...
8.对于不是CLVSS图片的每个当前图片,maxPicOrderCnt-minPicOrderCnt的值应小于MaxPicOrderCntLsb/2。
...
C.6通用子比特流提取过程
...
比特流outBitstream被设置为与比特流inBitstream相同。
1.比特流outBitstream被设置为与比特流inBitstream相同。
2.从outBitstream中移除所有TemporalId大于tIdTarget的NAL单元。
3.从outBitstream中移除所有具有nuh_layer_id的NAL单元,这些单元不包括在列表LayerIdInOls[targetOlsIdx]中,并且不是DCI、OPI、VPS、AUD或EOB NAL单元,并且也不是包含有效载荷PayloadType等于0、1、130或203的不可缩放嵌套的SEI消息的SEI NAL单元。
4.从outBitstream中移除以下所有条件为真的所有APS和VCL NAL单元,以及这些VCL NAL单元的关联非VCL NAL单元,其中nal_unit_type等于PH_NUT或FD_NUT,或者其中nal_unit_type等于SUFFIX_SEI_NUT或PREFIX_SEI_NUT,并且包含有效载荷类型不等于0(BP)、1(PT)、130(DUI)和203(SLI)中任何一个的SEI消息:
–nal_unit_type等于APS_NUT、TRAIL_NUT、STSA_NUT、RADL_NUT或RASL_NUT,或者nal_unit_type等于GDR_NUT并且关联的ph_recovery_poc_cnt大于0。
–TemporalId大于或等于NumSubLayersInLayerInOLS[targetOlsIdx][GeneralLayerIdx[nuh_layer_id]]。
5.当通过上述步骤2、3或4移除AU的所有VCL NAL单元,并且AU中存在AUD或OPINAL单元时,从outBitstream移除AUD或OPI NAL单元。
6.对于outBitstream中的每个OPI NAL单元,将opi_htid_info_present_flag设置为1,将opi_ols_info_present_flag设置为1,将opi_htid_plus1设置为tIdTarget+1,并且将opi_ols_idx设置为targetOlsIdx。
7.当AUD存在在outBitstream的AU中,并且AU成为IRAP或GDR AU时,将AUD的aud_irap_or_gdr_flag设置为1。
8.从outBitstream中移除包含可缩放嵌套SEI消息的所有SEI NAL单元,该消息的sn_ols_flag等于1,并且在0到sn_num_olss_minus1(包括端值)的范围内没有i值,使得NestingOlsIdx[i]等于targetOlsIdx。
从outBitstream中移除所有包含可缩放嵌套SEI消息的SEI NAL单元,该消息的sn_ols_flag等于0,并且列表NestingLayerId中的值不等于列表LayerIdInOls[targetOlsIdx]中的值。/>
9.当LayerIdInOls[targetOlsIdx]不包括比特流bitstream中的所有VCL NAL单元中的nuh_layer_id的所有值时,以下按所列顺序适用:
...
C.7子图片子比特流提取过程
...
输出子比特流outBitstream通过以下顺序步骤导出:
1.附录C.6中规定的子比特流提取过程以inBitstream、targetOlsIdx和tIdTarget作为输入调用,并且该过程的输出分配给outBitstream。
2.对于0到NumLayersInOls[targetOlsIdx]-1(包括端值1)范围内的每个i值,从outBitstream中移除所有nuh_layer_id等于LayerIdInOls[targetOlsIdx][i]且sh_subpic_id不等于SubpicIdVal[subpicIdxTarget[i]]的VCL NAL单元、它们的相关填充符数据NAL单元以及它们的包含填充符有效载荷SEI消息的相关SEI NAL单元。
3.当应用于目标OLS的SLI SEI消息存在并且SLI SEI消息的sli_cbr_constraint_flag等于0时,移除nal_unit_type等于FD_NUT的所有NAL单元和包含填充符有效载荷SEI消息的SEI NAL单元。
4.从outBitstream中移除包含sn_subpic_flag等于1的可缩放嵌套SEI消息的所有SEI NAL单元,并且j从0到sn_num_subpics_minus1(包括端值)的sn_subpic_id[j]值中没有一个值等于multiSubpicLayers中的层的任何SubpicIdVal[subpicIdxTarget[i]]值。
当通过步骤2移除了至少一个VCL NAL单元时,从outBitstream中移除所有包含sn_subpic_flag等于0的可缩放嵌套SEI消息的SEI NAL单元。/>
5.如果本文档中未规定的一些外部装置可用于为子比特流outBitstream提供替换参数集,则用替换参数集替换所有参数集。否则,应用以下有序步骤:
...
7.当至少一个VCL NAL单元已被步骤2移除时,以下内容将按列出的顺序应用:
...
图4是可实现本文中所公开的各种技术的示例视频处理系统4000的框图。各种实现方式可以包括系统4000中的一些或全部组件。系统4000可以包括用于接收视频内容的输入4002。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入4002可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统4000可以包括可以实现本文档中描述的各种编解码或编码方法的编解码组件4004。编解码组件4004可以减少从输入4002到编解码组件4004的输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件4004的输出可以被存储或经由所连接的通信来发送,如组件4006所表示的。在输入4002处接收的视频的存储或通信的比特流(或编解码)表示可以由组件4008使用,以生成被发送到显示接口4010的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以实施在各种电子设备中,诸如移动电话、膝上型计算机、智能电话或其它能够进行数字数据处理和/或视频显示的装设备。
图5是视频处理装置5000的框图。装置5000可以用于实现本文中所述的方法(如图9-11所示的方法)中的一个或多个。装置5000可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置5000可以包括一个或多个处理器5002、一个或多个存储器5004和视频处理硬件5006。(多个)处理器5002可以配置为实现本文档中所述的一个或多个方法。(多个)存储器5004可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件5006可以用于在硬件电路中实现本文档中所描述的一些技术。在一些实施例中,视频处理硬件5006可以至少部分地包括在处理器5002中,例如图形协处理器。
图6是示出可利用本公开的技术的示例视频编解码系统100的框图。
如图6所示,视频编解码系统100可以包括源设备110和目的地设备120。源设备110生成编码的视频数据,其可以被称为视频编码设备。目的地设备120可以解码由源设备110生成的编码的视频数据,该目的地设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口116包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口116通过网络130a直接发送到目的地设备120。还可以将编码的视频数据存储到存储介质/服务器130b上,用于由目的地设备120存取。
目的地设备120可以包括I/O接口126、视频解码器124和显示设备122。
I/O接口126可以包括接收器和/或调制解调器。I/O接口126可以从源设备110或存储介质/服务器130b获取编码的视频数据。视频解码器124可以对编码的视频数据进行解码。显示设备122可以向用户显示解码的视频数据。显示设备122可以与目的地设备120集成,或可以在配置为与外置显示设备相接的目的地设备120外部。
视频编码器114和视频解码器124可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVM)标准和其他当前和/或其他标准)进行操作。
图7是示出视频编码器200的示例的框图,该视频编码器200可以是图6中示出的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或全部技术。在图7的示例中,视频编码器200包括多个功能组件。本公开所描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重建单元212、缓冲器213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在一个示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以被高度集成,但是出于解释的目的在图7的示例中分开表示。
分割单元201可以将图片分割成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块尺寸。
模式选择单元203可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元207来生成残差块数据而且提供到重建单元212来重建编解码块以用作参考图片。在一些示例中,模式选择单元203可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元203还可以为帧间预测情况下的块选择运动矢量的精度(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元205可以基于来自缓冲器213的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元204和运动补偿单元205可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元204可以进行当前视频块的单向预测,并且运动估计单元204可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以进行当前视频块的双向预测,运动估计单元204可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。运动估计单元204然后可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元204可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出运动信息的全部集合,用于解码器的解码处理。
在一些示例中,运动估计单元204可以不输出当前视频的运动信息的全部集合。而是,运动估计单元204可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示:向视频解码器300指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器300可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器200可以预测性地信令通知运动矢量。可以由视频编码器200实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元206可以对当前视频块进行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元207可以通过从当前视频块中减去(例如,由减号表示)当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元207可以不进行减去操作。
变换处理单元208可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元212可以将重建的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器213中。
在重建单元212重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收数据时,熵编码单元214可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图8是示出视频解码器300的示例的框图,该视频解码器300可以是图6中示出的系统100中的视频解码器114。
视频解码器300可以被配置为进行本公开的任何或全部技术。在图8的示例中,视频解码器300包括多个功能组件。本公开所描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图8的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305以及重建单元306和缓冲器307。在一些示例中,视频解码器300可以进行与关于视频编码器200(图7)所描述的编码过程总体反演的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元301可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元302可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用由视频编码器200在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元303逆量化(即,去量化)在比特流中提供的且由熵解码单元301解码的量化的视频块系数。逆变换单元303应用逆变换。
重建单元306可以用由运动补偿单元202或帧内预测单元303生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器307中,该缓冲器307提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图9-11显示了可在例如图4-8所示的实施例中实现上述技术解决方案的示例方法。
图9示出视频处理的示例方法900的流程图。方法900包括:在操作910,执行视频和包括多层的视频的比特流之间的转换,比特流还包括与特定输出层集OLS或特定层的访问单元AU或解码单元DU相关联的多个补充增强信息SEI消息,包括不同于可缩放嵌套类型的消息类型的该多个SEI消息基于格式规则,并且该格式规则规定由于多个SEI消息与特定OLS或特定层的AU或DU相关联而导致多个SEI消息中的每一个具有相同的SEI有效载荷内容。
图10示出视频处理的示例方法1000的流程图。方法1000包括:在操作1010,执行包括当前块的视频和视频的比特流之间的转换,比特流符合格式规则,该格式规则规定了由于从比特流中排除语法字段而对比特流的约束,该语法字段指示与包括当前块的当前图片或包括当前块的当前访问单元(AU)相关联的图片顺序计数(POC)。
图11示出视频处理的示例方法1100的流程图。方法1100包括:在操作1110,执行视频和视频的比特流之间的转换,该比特流符合由规则定义的子比特流提取过程的顺序,规则规定(a)子比特流提取过程排除从输出比特流中移除满足条件的所有补充增强信息(SEI)网络抽象层(NAL)单元的操作,或者(b)子比特流提取过程的顺序包括在从输出比特流中移除SEI NAL单元之前用替换参数集替换参数集。
以下解决方案显示了上一章节中讨论的技术的示例实施例(例如,项目1-4)。
接下来提供了一些实施例优选的解决方案的列表。
A1.一种处理视频数据的方法,包括:
执行视频和包括多层的视频的比特流之间的转换,
其中,比特流包括与特定输出层集OLS或特定层的访问单元AU或解码单元DU相关联的多个补充增强信息SEI消息,
其中,包括不同于可缩放嵌套类型的消息类型的多个SEI消息基于格式规则,并且
其中,格式规则规定由于多个SEI消息与特定OLS或特定层的AU或DU相关联而导致多个SEI消息中的每一个具有相同的SEI有效载荷内容。
A2.根据解决方案A1所述的方法,其中,可缩放嵌套SEI消息的有效载荷类型的值等于133。
A3.根据解决方案A1所述的方法,其中,多个SEI消息包括至少一个包含在可缩放嵌套SEI消息中的SEI消息和至少一个不包含在可缩放嵌套SEI消息中的SEI消息。
A4.一种处理视频数据的方法,包括:
执行包括当前块的视频和视频的比特流之间的转换,
其中,该比特流符合格式规则,并且
其中,该格式规则规定,由于从比特流中排除语法字段而对比特流的约束,语法字段指示与包括当前块的当前图片或包括当前块的当前访问单元(AU)相关联的图片顺序计数(POC)。
A5.根据解决方案A4所述的方法,其中,指示与当前图片和当前AU相关联的POC的语法字段被排除,并且其中,约束规定在当前AU中没有属于当前层的参考层的图片。
A6.根据解决方案A4或A5所述的方法,其中,该约束规定按解码顺序的前一个图片不是随机访问跳过前导(RASL)图片或随机访问可解码前导(RADL)图片。
A7.根据解决方案A4所述的方法,其中,该约束规定,由于当前AU排除了属于当前AU中的当前层的参考层的图片,按解码顺序的前一个图片不是随机访问跳过前导(RASL)图片或随机访问可解码前导(RADL)图片。
A8.根据解决方案A6或A7所述的方法,其中,前一个图片的时域标识符等于0,并且其中,时域标识符是TemporalId。
A9.根据解决方案A4至A8中任一项所述的方法,其中,语法字段是ph_poc_msb_cycle_val。
A10.根据解决方案A1至A9中任一项所述的方法,其中,转换包括从比特流解码视频。
A11.根据解决方案A1至A9中任一项所述的方法,其中,转换包括将视频编码成比特流。
A12.一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:
根据解决方案A1至A9中任一项或多项所述的方法从视频生成比特流;以及
将比特流存储在计算机可读记录介质中。
A13.一种视频处理装置,包括被配置为实现解决方案A1至A12中的任一项或多项所述的方法的处理器。
A14.一种其上存储有指令的计算机可读介质,指令在被执行时使处理器实现根据解决方案A1至A12中的一项或多项所述的方法。
A15.一种计算机可读介质,存储根据解决方案A1至A12中的任一项或多项所述生成的比特流。
A16.一种用于存储比特流的视频处理装置,其中,视频处理装置被配置为实现解决方案A1至A12中的任一项或多项所述的方法。
接下来提供了一些实施例优选的解决方案的另一个列表。
B1.一种处理视频数据的方法,包括:
执行视频和视频的比特流之间的转换,
其中,比特流符合由规则定义的子比特流提取过程的顺序,该规则规定(a)子比特流提取过程排除从输出比特流中移除满足条件的所有补充增强信息(SEI)网络抽象层(NAL)单元的操作,或者(b)子比特流提取过程的顺序包括在从输出比特流中移除SEI NAL单元之前用替换参数集替换参数集。
B2.根据解决方案B1所述的方法,其中,条件规定SEI NAL单元中的至少一个包括可缩放嵌套SEI消息,该可缩放嵌套SEI消息包括(a)等于零的标志和(b)具有与列表中的第二标识符的值不同的值的第一标识符。
B3.根据解决方案B2所述的方法,其中标志指示可缩放嵌套SEI消息是否适用于特定输出层集,其中第一标识符是嵌套层标识符,并且其中第二标识符是输出层集中的层的层标识符。
B4.根据解决方案B3所述的方法,其中标志是sn_ols_flag。
B5.根据解决方案B3所述的方法,其中第一标识符是NestingLayerId,并且第二标识符是LayerIdInOls[targetOlsIdx]。
B6.根据解决方案B1所述的方法,其中SEI NAL单元中的至少一个包括可缩放嵌套SEI消息。
B7.根据解决方案B6所述的方法,其中,由于从输出比特流中移除至少一个视频编解码层(VCL)NAL单元而导致从输出比特流中移除SEI NAL单元。
B8.根据解决方案B6或B7所述的方法,其中可缩放嵌套SEI消息包括等于零的标志。
B9.根据解决方案B8所述的方法,其中标志是sn_subpic_flag。
B10.根据解决方案B1至B9中任一项所述的方法,其中,转换包括从比特流中解码视频。
B11.根据解决方案B1至B9中任一项所述的方法,其中,转换包括将视频编码成比特流。
B12.一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:
根据解决方案B1至B9中任一项或多项所述的方法从视频生成比特流;以及
将比特流存储在计算机可读记录介质中。
B13.一种视频处理设备,包括被配置为实现解决方案B1至B12中任一项或多项所述的方法的处理器。
B14.一种其上存储有指令的计算机可读介质,指令在被执行时使处理器实现解决方案B1至B12中的一项或多项所述的方法。
B15.一种存储根据解决方案B1至B12中任一项或多项生成的比特流的计算机可读介质。
B16.一种用于存储比特流的视频处理设备,其中视频处理设备被配置为实现解决方案B1至B12中任一项或多项所述的方法。
接下来提供了一些实施例优选的解决方案的又一个列表。
P1.一种视频处理的方法,包括:执行包括一个或多个层的视频和该视频的编解码表示之间的转换,该一个或多个层包括一个或多个图片,其中该编解码表示符合格式规则,其中该格式规则在没有指示与当前访问单元中的当前图片相关联的图片顺序计数的语法字段的情况下规定对该编解码表示的约束。
P2.根据解决方案P1所述的方法,其中格式规则规定了按解码顺序的前一个图片不是随机访问跳过前导或随机访问可解码前导图片的约束。
P3.根据解决方案P1所述的方法,其中格式规则规定约束基于在当前访问单元中没有属于当前层的参考层的图片的条件。
P4.一种视频处理的方法,包括:执行包括一个或多个层的视频和该视频的编解码表示之间的转换,该一个或多个层包括一个或多个图片,其中该编解码表示符合由规则定义的子比特流提取过程的顺序。
P5.根据解决方案P4所述的方法,其中规则规定子比特流提取过程省略了根据条件从所有SEI网络抽象层单元的输出比特流中移除可缩放嵌套补充增强信息(SEI)消息的步骤。
P6.根据解决方案P4所述的方法,其中规则规定子比特流提取过程的顺序包括,在移除输出比特流中包含可缩放嵌套SEI消息的补充增强信息(SEI)网络抽象层(NAL)单元之前,用替换参数集替换参数集。
P7.一种视频处理方法,包括:执行包括一个或多个层的视频和该视频的编解码表示之间的转换,该一个或多个层包括一个或多个图片,其中该编解码表示符合格式规则,其中该格式规则规定在存在多个补充增强信息(SEI)消息,多个SEI消息具有不等于133的特定有效载荷类型值,多个SEI消息与特定访问单元或解码单元相关联并且应用于特定输出层集或层的情况下,多个SEI消息具有相同的SEI有效载荷内容。
P8.根据解决方案P7的方法,其中多个SEI消息中的一些或全部是可缩放嵌套的。
P9.根据解决方案P1至P8中任一项的方法,其中转换包括从视频生成编解码表示。
P10.根据解决方案P1至P8中任一项的方法,其中转换包括解码编解码表示以生成视频。
P11.一种视频解码装置,包括被配置为实现解决方案P1到P10中的一项或多项所述的方法的处理器。
P12.一种视频编码装置,包括被配置为实现解决方案P1到P10中的一项或多项所述的方法的处理器。
P13.一种其上存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实现解决方案P1至P10中任一项所述的方法。
P14.一种存储根据解决方案P1至P10中任一项生成的编解码表示的计算机可读介质。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则了解语法元素的存在和不存在,以产生解码的视频。
在本文档中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用标头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文档中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文档中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,即一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。

Claims (16)

1.一种处理视频数据的方法,包括:
执行包括多层的视频和所述视频的比特流之间的转换,
其中,所述比特流包括与特定输出层集OLS或特定层的访问单元AU或解码单元DU相关联的多个补充增强信息SEI消息,
其中,包括不同于可缩放嵌套类型的消息类型的所述多个SEI消息基于格式规则,并且
其中,所述格式规则规定,由于所述多个SEI消息与所述特定OLS或所述特定层的AU或DU相关联,所述多个SEI消息中的每一个具有相同的SEI有效载荷内容。
2.根据权利要求1所述的方法,其中,所述可缩放嵌套SEI消息的有效载荷类型的值等于133。
3.根据权利要求1所述的方法,其中,所述多个SEI消息包括至少一个包含在可缩放嵌套SEI消息中的SEI消息和至少一个不包含在可缩放嵌套SEI消息中的SEI消息。
4.一种处理视频数据的方法,包括:
执行包括当前块的视频和所述视频的比特流之间的转换,
其中,所述比特流符合格式规则,并且
其中,所述格式规则规定,由于从所述比特流中排除语法字段而对所述比特流的约束,所述语法字段指示与包括所述当前块的当前图片或包括所述当前块的当前访问单元AU相关联的图片顺序计数POC。
5.根据权利要求4所述的方法,其中,所述语法字段指示与所述当前图片和所述当前AU相关联的所述POC的所述语法字段被排除,并且其中,所述约束规定在所述当前AU中没有属于当前层的参考层的图片。
6.根据权利要求4或5所述的方法,其中,所述约束规定按解码顺序的前一个图片不是随机访问跳过前导RASL图片或随机访问可解码前导RADL图片。
7.根据权利要求4所述的方法,其中,所述约束规定,由于所述当前AU排除了属于所述当前AU中的当前层的参考层的图片,按解码顺序的前一个图片不是随机访问跳过前导RASL图片或随机访问可解码前导RADL图片。
8.根据权利要求6或7所述的方法,其中,所述前一个图片的时域标识符等于0,并且其中,所述时域标识符是TemporalId。
9.根据权利要求4至8中任一项所述的方法,其中,所述语法字段是ph_poc_msb_cycle_val。
10.根据权利要求1至9中任一项所述的方法,其中,所述转换包括从所述比特流解码所述视频。
11.根据权利要求1至9中任一项所述的方法,其中,所述转换包括将所述视频编码成所述比特流。
12.一种将表示视频的比特流存储到计算机可读记录介质的方法,包括:
根据权利要求1至9中任一项或多项所述的方法从所述视频生成所述比特流;以及
将所述比特流存储在所述计算机可读记录介质中。
13.一种视频处理装置,包括被配置为实现权利要求1至12中的任一项或多项所述的方法的处理器。
14.一种其上存储有指令的计算机可读介质,所述指令在被执行时使处理器实现根据权利要求1至12中的一项或多项所述的方法。
15.一种计算机可读介质,存储根据权利要求1至12中的任一项或多项所述生成的比特流。
16.一种用于存储比特流的视频处理装置,其中,所述视频处理装置被配置为实现权利要求1至12中的任一项或多项所述的方法。
CN202180066034.9A 2020-09-25 2021-09-26 视频比特流中的嵌套的和非嵌套的sei消息 Pending CN116530083A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CNPCT/CN2020/117596 2020-09-25
CN2020117596 2020-09-25
PCT/CN2021/120530 WO2022063256A1 (en) 2020-09-25 2021-09-26 Nested and non-nested sei messages in video bitstreams

Publications (1)

Publication Number Publication Date
CN116530083A true CN116530083A (zh) 2023-08-01

Family

ID=80844978

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202180066034.9A Pending CN116530083A (zh) 2020-09-25 2021-09-26 视频比特流中的嵌套的和非嵌套的sei消息
CN202180066036.8A Pending CN116325753A (zh) 2020-09-25 2021-09-26 子比特流提取

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202180066036.8A Pending CN116325753A (zh) 2020-09-25 2021-09-26 子比特流提取

Country Status (6)

Country Link
US (3) US20230279294A1 (zh)
EP (2) EP4205399A4 (zh)
JP (2) JP2023542213A (zh)
KR (2) KR20230075492A (zh)
CN (2) CN116530083A (zh)
WO (2) WO2022063256A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020256391A1 (ko) * 2019-06-18 2020-12-24 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
KR20230020980A (ko) * 2020-06-09 2023-02-13 바이트댄스 아이엔씨 다중-계층 비디오 비트스트림의 서브-비트스트림 추출
US11695965B1 (en) * 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2008206744B2 (en) * 2007-01-18 2011-09-22 Nokia Technologies Oy Carriage of SEI messages in RTP payload format
WO2015009693A1 (en) * 2013-07-15 2015-01-22 Sony Corporation Layer based hrd buffer management for scalable hevc
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
US10645404B2 (en) * 2014-03-24 2020-05-05 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US10205949B2 (en) * 2014-05-21 2019-02-12 Arris Enterprises Llc Signaling for addition or removal of layers in scalable video
US9769492B2 (en) * 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US10063867B2 (en) * 2014-06-18 2018-08-28 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US10432951B2 (en) * 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
EP3226561A1 (en) * 2016-03-31 2017-10-04 Thomson Licensing Method and apparatus for coding a video into a bitstream carrying region-based post processing parameters into an sei nesting message
US10764575B2 (en) * 2017-03-03 2020-09-01 Qualcomm Incorporated Coding MCTS-nested SEI messages to exclude other SEI messages that are not MCTS-nested
US10701400B2 (en) * 2017-03-21 2020-06-30 Qualcomm Incorporated Signalling of summarizing video supplemental information
TWI808365B (zh) * 2019-12-20 2023-07-11 弗勞恩霍夫爾協會 視訊資料串流、視訊編碼器、用於假想參考解碼器(hrd)時序修復之設備與方法、及用於可擴展與可合併位元串流之另一附加物
US11589052B2 (en) * 2020-06-10 2023-02-21 Tencent America LLC Techniques for bitstream extraction for subpicture in coded video stream

Also Published As

Publication number Publication date
EP4205398A4 (en) 2024-03-06
EP4205399A1 (en) 2023-07-05
EP4205398A1 (en) 2023-07-05
WO2022063257A1 (en) 2022-03-31
KR20230074521A (ko) 2023-05-30
CN116325753A (zh) 2023-06-23
WO2022063256A1 (en) 2022-03-31
EP4205399A4 (en) 2024-03-06
JP2023542214A (ja) 2023-10-05
US11949900B2 (en) 2024-04-02
US20230232029A1 (en) 2023-07-20
KR20230075492A (ko) 2023-05-31
JP2023542213A (ja) 2023-10-05
US20230279294A1 (en) 2023-09-07
US20230232030A1 (en) 2023-07-20

Similar Documents

Publication Publication Date Title
JP7397036B2 (ja) 映像符号化におけるサブピクチャエンティティ
US11949900B2 (en) Sub-bitstream extraction
KR20220037400A (ko) 코딩된 비디오의 서브 픽처 트랙
US20230239502A1 (en) Signalling of multiview information
JP7413434B2 (ja) サブピクチャトラックレベルインジケータ
CN116547971A (zh) Vvc视频编解码中的滚动样点组

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