CN115462070A - 对参考图片列表的约束 - Google Patents

对参考图片列表的约束 Download PDF

Info

Publication number
CN115462070A
CN115462070A CN202180029943.5A CN202180029943A CN115462070A CN 115462070 A CN115462070 A CN 115462070A CN 202180029943 A CN202180029943 A CN 202180029943A CN 115462070 A CN115462070 A CN 115462070A
Authority
CN
China
Prior art keywords
picture
sub
video
pictures
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
CN202180029943.5A
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.)
ByteDance Inc
Original Assignee
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 ByteDance Inc filed Critical ByteDance Inc
Publication of CN115462070A publication Critical patent/CN115462070A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks

Landscapes

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

Abstract

描述了用于处理视频的方法和装置。该处理可以包括视频编码、解码或转码。一种示例视频处理方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中比特流符合格式规则,该格式规则指定,响应于子图片不是帧内随机访问点子图片的前置子图片,子图片不能是随机访问类型的子图片,并且其中前置子图片按照输出顺序在帧内随机访问点子图片之前。

Description

对参考图片列表的约束
相关申请的交叉引用
根据适用的专利法和/或依据巴黎公约的规则,本申请适时要求于2020年4月20日提交的美国临时专利申请No.63/012,713的优先权和权益。出于根据法律的所有目的,前述申请的全部公开通过引用而并入作为本申请的公开的一部分。
技术领域
本专利文档涉及图像和视频编码与解码。
背景技术
数字视频占了互联网和其他数字通信网络上的最大带宽使用。随着能够接收和显示视频的连接用户设备的数量增加,预计对数字视频使用的带宽需求将继续增长。
发明内容
本文档公开了可以由视频编码器和解码器用于使用语法的各种规则来处理视频的编解码表示的技术。
在一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中比特流符合格式规则,该格式规则指定,响应于子图片不是帧内随机访问点子图片的前置子图片,子图片不能是随机访问类型的子图片,并且其中前置子图片按照输出顺序在帧内随机访问点子图片之前。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中比特流符合格式规则,该格式规则指定,响应于以下情况,第一子图片在恢复点图片中按照输出顺序在第二子图片之前:第一子图片和第二图片具有网络抽象层(NAL)单元的相同层标识符和相同的子图片索引,以及第一子图片按照解码顺序在第二子图片之前。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的条目包括根据第一顺序在根据第二顺序在当前图片之前的第二图片之前的第一图片,其中第二图片包括具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片是完全随机访问子图片。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的活动条目包括根据第一顺序在第二图片之前的第一图片,其中第二图片包括具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片按照第二顺序在帧内随机访问点子图片之后。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在第二图片之前的第一图片,其中第二图片包括具有零个或更多个相关联的前置子图片并且具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片按照第一顺序和第二顺序在帧内随机访问点子图片以及零个或多个相关联的前置子图片之后。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,该格式规则指定,响应于当前子图片是随机访问可解码前置子图片,不允许当前条带的参考图片列表的活动条目包括以下中的任何一个或多个:第一图片,包括具有与当前子图片相同的子图片索引的随机访问跳过前置子图片,以及第二图片,按照解码顺序在包括与随机访问可解码前置子图片相关联的帧内随机访问点子图片的第三图片之前。
在另一个示例方面,公开了一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换。编解码表示符合指定包括一个或多个子图片的一个或多个图片根据网络抽象层(NAL)单元而被包括在编解码表示中的格式规则,其中在编解码表示中指示的类型NAL单元包括特定类型的图片的编解码条带或特定类型的子图片的编解码条带。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定具有不同网络抽象层单元类型的两个邻近子图片将具有被视为图片标志的子图片的相同指示的格式规则。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合定义第一类型的子图片和第二类型的子图片的顺序的格式规则,其中第一子图片是后置子图片或前置子图片或随机访问跳过前置(RASL)子图片类型,并且第二子图片是RASL类型或随机访问可解码前置(RADL)类型或即时解码刷新(IDR)类型或逐渐解码刷新(GDR)类型子图片。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合定义允许或不允许第一类型的子图片与第二类型的子图片一起出现的条件的格式规则。
在另一个示例方面,公开了另一种视频处理方法。该方法包括执行包括包含一个或多个子图片的一个或多个视频图片的视频和视频的编解码表示之间的转换;其中编解码表示包括按照根据规则的顺序的视频图片的一个或多个层。
在又一个示例方面,公开了一种视频编码器装置。视频编码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种视频解码器装置。视频解码器包括被配置为实施上述方法的处理器。
在又一个示例方面,公开了一种存储有代码的计算机可读介质。该代码以处理器可执行代码的形式体现本文描述的方法之一。
这些以及其他特征将在本文档中描述。
附图说明
图1示出了图片的光栅扫描条带分割的示例,其中图片被分为12个片和3个光栅扫描条带。
图2示出了图片的矩形条带分割的示例,其中图片被分为24个片(6个片列和4个片行)和9个矩形条带。
图3示出了被分割为片和矩形条带的图片的示例,其中图片被分为4个片(2个片列和2个片行)和4个矩形条带。
图4示出了被分割为15个片、24个条带和24个子图片的图片。
图5是示例视频处理系统的框图。
图6是视频处理装置的框图。
图7是视频处理的示例方法的流程图。
图8是示出根据本公开的一些实施例的视频编解码系统的框图。
图9是示出根据本公开的一些实施例的编码器的框图。
图10是示出根据本公开的一些实施例的解码器的框图。
图11至图16是视频处理的示例方法的流程图。
具体实施方式
在本文档中使用章节标题以易于理解,并且不将每个章节中公开的技术和实施例的应用性仅限制于该章节。此外,在一些描述中使用H.266技术术语仅仅是为了易于理解,而不是为了限制所公开的技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文档中,相对于VVC规范的当前草案,通过左右双方括号(例如,[[]])示出对文本的编辑改变,双方括号之间的删除的文本指示取消的文本,并且
Figure BDA0003900390240000041
指示添加的文本。
1.引言
本文档涉及视频编解码技术。具体地,它关于子图片类型的定义以及单层和多层上下文中在不同类型的子图片之间的解码顺序、输出顺序和预测关系方面的关系。关键是通过对解码顺序、输出顺序和预测关系的约束集合来清楚地指定图片内的混合子图片类型的含义。该思想可以单独或以各种组合应用于支持多层视频编解码的任何视频编解码标准或非标准视频编解码器,例如正在开发的多功能视频编解码(VVC)。
2.缩写
APS 自适应参数集
AU 访问单元
AUD 访问单元分隔符
AVC 高级视频编解码
CLVS 编解码层视频序列
CPB 编解码图片缓冲区
CRA 完全随机访问
CTU 编解码树单元
CVS 编解码视频序列
DCI 解码能力信息
DPB 解码图片缓冲区
EOB 比特流结尾
EOS 序列结尾
GDR 逐渐解码刷新
HEVC 高效视频编解码
HRD 假设参考解码器
IDR 即时解码刷新
JEM 联合探索模型
MCTS 运动约束片集
NAL 网络抽象层
OLS 输出层集
PH 图片标头
PPS 图片参数集
PTL 档次、层和级别
PU 图片单元
RADL 随机访问可解码前置(图片)
RAP 随机访问点
RASL 随机访问跳过前置(图片)
RBSP 原始字节序列有效载荷
RPL 参考图片列表
SEI 辅助增强信息
SPS 序列参数集
STSA 逐步时域子层访问
SVC 可缩放视频编解码
VCL 视频编解码层
VPS 视频参数集
VTM VVC测试模型
VUI 视频可用性信息
VVC 多功能视频编解码
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高级视频编解码(Advanced Video Coding,AVC)和H.265/HEVC标准。自H.262以来,视频编解码标准基于混合视频编解码结构,其中采用了时域预测加变换编解码。为探索HEVC之外的未来视频编解码技术,VCEG和MPEG于2015年联合成立了联合视频探索团队(Joint Video Exploration Team,JVET)。从那时起,JVET已经采用了许多新的方法,并将其放入了名为联合探索模型(Joint Exploration Model,JEM)的参考软件中。JVET会议每季度同时举行一次,新编解码标准的目标是与HEVC相比降低50%的比特率。新视频编解码标准在2018年4月的JVET会议上被正式命名为多功能视频编解码(VVC),第一版VVC测试模型(VTM)也在当时发布。由于对VVC标准化的持续努力,新的编解码技术在每次JVET会议上都被采用到VVC标准中。VVC的工作草案和测试模型VTM在每次会议后都会更新。VVC项目现在的目标是在2020年7月的会议上技术上完成(FDIS)。
3.1.HEVC中的图片分割方案
HEVC包括四种不同的图片分割方案,即常规条带、依赖条带、片和波前并行处理(WPP),其可以被应用于最大传输单元(MTU)尺寸匹配、并行处理、以及减少的端到端延迟。
常规条带与H.264/AVC中的类似。每个常规条带被封装在其自己的NAL单元中,并且跨条带边界的图片内预测(帧内样点预测、运动信息预测、编解码模式预测)和熵编解码依赖性被禁用。因此,常规条带可以独立于相同图片内的其他常规条带来重构(尽管由于环路滤波操作可能仍然具有相互依赖性)。
常规条带是可以用于并行化的唯一工具,其在H.264/AVC中也以几乎相同的形式可用。基于常规条带的并行化不需要太多的帧间处理器或帧间核通信(除了在对预测编解码图片进行解码时用于运动补偿的帧间处理器或帧间核数据共享,由于图片内预测,这通常比帧间处理器或帧间核数据共享难得多)。然而,出于同样的原因,由于条带标头的比特成本以及缺乏跨条带边界的预测,使用常规条带可能导致大量编解码开销。此外,由于常规条带的图片内独立性以及每个常规条带被封装在它自己的NAL单元中,常规条带(与下面提到的其他工具相比)也充当比特流分割的关键机制,以匹配MTU尺寸要求。在许多情况下,并行化的目标和MTU尺寸匹配的目标对图片中的条带布局提出了矛盾的要求。对这种情况的认识导致了下面提到的并行化工具的开发。
依赖条带具有短的条带标头,并且允许在树块边界处分割比特流,而不打破任何图片内预测。基本上,依赖条带提供将常规条带分段为多个NAL单元,以通过允许常规条带的一部分在整个常规条带的编码完成之前被传送出去来提供减少的端到端延迟。
在WPP中,图片被分割为单行编码树块(CTB)。熵解码和预测被允许使用来自其他分割中的CTB的数据。通过CTB行的并行解码,并行处理是可能的,其中CTB行的解码的开始被延迟了两个CTB,从而确保在主体CTB被解码之前,与主体CTB上方和右侧的CTB有关的数据是可用的。使用这种错列的开始(当以图形表示时,看起来像波前),利用与图片包含CTB行一样多的处理器/核心,并行化是可能的。因为图片内邻近树块行之间的图片内预测被准许,所以实现图片内预测的所需帧间处理器/帧间核通信可能是大量的。与未应用时相比,WPP分割不会导致产生附加的NAL单元,因此WPP不是用于MTU尺寸匹配的工具。然而,如果需要MTU尺寸匹配,常规条带可以与WPP一起使用,其中有一定的编解码开销。
片定义了将图片分割为片列和行的水平和垂直边界。片列从图片的顶部延伸到图片的底部。同样,片行从图片的左边延伸到图片的右边。图片中的片的数量可以简单地推导为片列的数量乘以片行的数量。
在以图片的片光栅扫描的顺序解码下一个片的左上方CTB之前,CTB的扫描顺序被改变为在片内是局部的(以片的CTB光栅扫描的顺序)。与常规条带类似,片打破了图片内预测依赖性以及熵解码依赖性。然而,它们不需要被包括在单独的NAL单元中(在这方面与WPP相同);因此,片不能用于MTU尺寸匹配。每个片可以由一个处理器/核心处理,并且解码邻近片的处理单元之间的图片内预测所需的帧间处理器/帧间核通信限于在条带跨越多于一个片的情况下传送共享的条带标头、以及与重构样点和元数据的共享有关的环路滤波。当条带中包括多于一个片或WPP段时,条带中除了第一个之外的每个片或WPP段的入口点字节偏移在条带标头中被信令通知。
为简单起见,已经在HEVC中指定了对四种不同图片分割方案的应用的限制。给定的编解码视频序列不能同时包括HEVC中指定的大部分档次的片和波前。对于每个条带和片,必须满足以下条件中的一个或两个:1)条带中的所有编解码树块属于相同片;2)片中的所有编解码树块属于相同条带。最终,波前段恰好包含一个CTB行,并且当使用WPP时,如果条带从CTB行内开始,则它必须在相同的CTB行中结束。
在2017年10月24日的JCT-VC输出文档JCTVC-AC1005,J.Boyce,A.Ramasubramonian,R.Skupin,G.J.Sullivan,A.Tourapis,Y.-K.Wang(编辑),“HEVCAdditional Supplemental Enhancement Information(Draft 4)(HEVC附加辅助增强信息(草案4))”中指定了对HEVC的最新修正,在此公开可用:http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zip。通过包括该修正,HEVC指定了三种MCTS相关的SEI消息,即时域MCTS SEI消息、MCTS提取信息集SEI消息和MCTS提取信息嵌套SEI消息。
时域MCTS SEI消息指示比特流中MCTS的存在,并且信令通知MCTS。对于每个MCTS,运动矢量被限制为指向MCTS内的全样点位置和仅需要MCTS内的全样点位置进行插值的分数样点位置,并且不允许使用从MCTS外的块推导的用于时域运动矢量预测的运动矢量候选。这样,每个MCTS可以被独立解码,而不存在不包括在MCTS中的片。
MCTS提取信息集SEI消息提供了可以在MCTS子比特流提取中使用的辅助信息(被指定为SEI消息的语义的一部分),以生成MCTS集的一致性比特流。该信息由多个提取信息集组成,每个定义了多个MCTS集,并包含要在MCTS子比特流提取过程期间使用的替换VPS、SPS和PPS的RBSP字节。当根据MCTS子比特流提取过程来提取子比特流时,参数集(VPS、SPS和PPS)需要被重写或替换,条带标头需要稍微更新,因为一个或所有条带地址相关的语法元素(包括first_slice_segment_in_pic_flag和slice_segment_address)通常需要具有不同的值。
3.2.VVC中的图片的分割
在VVC中,图片被分为一个或多个片行和一个或多个片列。片是覆盖图片的矩形区域的CTU序列。片中的CTU在该片内按照光栅扫描顺序被扫描。
条带由整数个完整片或图片的片内的整数个连续的完整CTU行组成。
支持两种条带模式,即光栅扫描条带模式和矩形条带模式。在光栅扫描条带模式下,条带包含图片的片光栅扫描中的完整条带序列。在矩形条带模式下,条带包含共同形成图片的矩形区域的多个完整片,或者共同形成图片的矩形区域的一个片的多个连续的完整CTU行。矩形条带内的片在对应于该条带的矩形区域内按照片光栅扫描顺序被扫描。
子图片包含共同覆盖图片的矩形区域的一个或多个条带。
图1示出了图片的光栅扫描条带分割的示例,其中图片被分为12个片和3个光栅扫描条带。
图2示出了图片的矩形条带分割的示例,其中图片被分为24个片(6个片列和4个片行)和9个矩形条带。
图3示出了被分割为片和矩形条带的图片的示例,其中图片被分为4个片(2个片列和2个片行)和4个矩形条带。
图4示出了图片的子图片分割的示例,其中图片被分割为18个片,左手边的12个片每个覆盖4×4CTU的一个条带,并且右手边的6个片每个覆盖2×2CTU的2个垂直堆叠条带,总共产生24个条带和不同维度的24个子图片(每个条带是子图片)。
3.3.序列内的图片分辨率改变
在AVC和HEVC中,图片的空域分辨率不能改变,除非使用新SPS的新序列以IRAP图片开始。VVC在不编码IRAP图片的位置处启用序列内的图片分辨率改变,该IRAP图片总是被帧内编解码。该特征有时被称为参考图片重采样(RPR),因为当参考图片具有与正被解码的当前图片不同的分辨率时,该特征需要对用于帧间预测的参考图片的重采样。
缩放比例被限制为大于或等于1/2(从参考图片到当前图片的2倍下采样)、并且小于或等于8(8倍上采样)。指定了具有不同频率截止的三个重采样滤波器集合来处理参考图片和当前图片之间的各种缩放比例。三个重采样滤波器集合分别被应用于范围从1/2到1/1.75、从1/1.75到1/1.25和从1/1.25到8的缩放比例。每个重采样滤波器集合具有用于亮度的16个相位和用于色度的32个相位,这与运动补偿插值滤波器的情况相同。实际上,正常的MC插值过程是重采样过程的特殊情况,其中缩放比例的范围从1/1.25到8。水平和垂直缩放比例是基于图片宽度和高度以及为参考图片和当前图片指定的左、右、顶部和底部缩放偏移来推导的。
支持该特征的VVC设计与HEVC不同的其它方面包括:i)图片分辨率和对应的一致性窗口在PPS中而不是在SPS中被信令通知,而在SPS中,最大图片分辨率被信令通知。ii)对于单层比特流,每个图片存储(DPB中用于存储一个解码图片的变量槽)占用存储具有最大图片分辨率的解码图片所需的缓冲区尺寸。
3.4.一般以及VVC中的可缩放视频编解码(SVC)
可缩放视频编解码(SVC,有时也称为视频编解码中的可缩放性)是指使用基本层(BL)(有时被称为参考层(RL))和一个或多个可缩放增强层(EL)的视频编解码。在SVC中,基本层可以携带具有基本质量水平的视频数据。一个或多个增强层可以携带附加的视频数据,以支持例如更高的空域、时域和/或信噪比(SNR)水平。可以相对于先前编码的层来定义增强层。例如,底部层可以充当BL,而顶部层可以充当EL。中间层可以充当EL或RL,或者充当两者。例如,中间层(例如,既不是最低层也不是最高层的层)可以是中间层下方的层(诸如基本层或任何居间增强层)的EL,并且同时充当中间层上方的一个或多个增强层的RL。类似地,在HEVC标准的多视图或3D扩展中,可以有多个视图,并且一个视图的信息可以用于编解码(例如,编码或解码)另一个视图的信息(例如,运动估计、运动矢量预测和/或其他冗余)。
在SVC中,由编码器或解码器使用的参数基于可以利用它们的编解码级别(例如,视频级别、序列级别、图片级别、条带级别等)被分组为参数集。例如,比特流中不同层的一个或多个编解码视频序列可以利用的参数可以被包括在视频参数集(VPS)中,并且编解码视频序列中的一个或多个图片可以利用的参数可以被包括在序列参数集(SPS)中。类似地,图片中的一个或多个条带利用的参数可以被包括在图片参数集(PPS)中,并且特定于单个条带的其他参数可以被包括在条带标头中。类似地,可以在各种编解码级别提供特定层在给定时间使用哪个(哪些)参数集的指示。
由于VVC中对参考图片重采样(RPR)的支持,可以设计对包含多个层(例如,VVC中具有SD和HD分辨率的两个层)的比特流的支持,而不需要任何附加的信号处理级别编解码工具,因为空域可缩放性支持所需的上采样可以仅使用RPR上采样滤波器。然而,对于可缩放性支持,需要高级别语法改变(与不支持可缩放性相比)。在VVC版本1中指定了可缩放性支持。与任何更早的视频编解码标准(包括AVC和HEVC的扩展)中的可缩放性支持不同,VVC可缩放性的设计已经尽可能对单层解码器设计友好。多层比特流的解码能力以好像比特流中只有单个层的方式被指定。例如,诸如DPB尺寸的解码能力以独立于要被解码的比特流中的层的数量的方式被指定。基本上,为单层比特流设计的解码器不需要太多改变以能够解码多层比特流。与AVC和HEVC的多层扩展的设计相比,HLS方面在牺牲一些灵活性的情况下得到显著简化。例如,要求IRAP AU包含存在于CVS中的每个层的图片。
3.5.HEVC和VVC中的随机访问及其支持
随机访问是指从按照解码顺序不是比特流的第一个图片的图片开始访问和解码比特流。为了支持广播/多播和多方视频会议中的调谐和通道切换、本地回放和流式传输中的搜索、以及流式传输中的流自适应,比特流需要包括间隔近的随机访问点,其通常是帧内编解码图片,但也可以是帧间编解码图片(例如,在逐渐解码刷新的情况下)。
HEVC通过NAL单元类型在NAL单元标头中包括帧内随机访问点(IRAP)图片的信令。支持三种类型的IRAP图片,即即时解码器刷新(IDR)、完全随机访问(CRA)和断开链接访问(BLA)图片。IDR图片将帧间图片预测结构约束为不参考当前图片组(GOP)之前的任何图片,该当前图片组(GOP)传统上被称为封闭GOP随机访问点。通过允许特定图片参考当前GOP之前的图片,CRA图片限制更少,其中在随机访问的情况下,所有图片都被丢弃。CRA图片传统上被称为开放GOP随机访问点。BLA图片通常源于CRA图片处两个比特流或其一部分的拼接,例如在流切换期间。为了更好地使得系统能够使用IRAP图片,总共定义了六个不同的NAL单元以信令通知IRAP图片的属性,这可以用于更好地匹配在ISO基本媒体文件格式(ISOBMFF)中定义的流访问点类型,该流访问点类型用于基于HTTP的动态自适应流(DASH)中的随机访问支持。
VVC支持三种类型的IRAP图片、两种类型的IDR图片(一种类型具有或者另一种类型不具有相关联的RADL图片)以及一种类型的CRA图片。这些与HEVC中基本相同。HEVC中的BLA图片类型不包括在VVC中,主要由于两个原因:i)BLA图片的基本功能可以通过CRA图片加上序列NAL单元结尾来实现,其存在指示后续图片在单层比特流中开始新的CVS。ii)在开发VVC期间,期望指定比HEVC更少的NAL单元类型,如通过针对NAL单元标头中的NAL单元类型字段使用5比特而不是6比特所指示的。
VVC和HEVC之间在随机访问支持中的另一个关键差异是VVC中以更规范的方式支持GDR。在GDR中,对比特流的解码可以从帧间编解码图片开始,尽管在开始时不是整个图片区域都可以被正确解码,但是在多个图片之后,整个图片区域将是正确的。使用恢复点SEI消息来信令通知GDR随机访问点和恢复点,AVC和HEVC也支持GDR。在VVC中,新的NAL单元类型被指定用于GDR图片的指示,并且恢复点在图片标头语法结构中被信令通知。允许CVS和比特流以GDR图片开始。这意味着允许整个比特流仅包含帧间编解码图片,而没有单个帧内编解码图片。以这种方式指定GDR支持的主要益处是提供GDR的一致性行为。GDR使得编码器能够通过在多个图片中分布帧内编解码的条带或块来平滑比特流的比特率,与对整个图片进行帧内编解码相反,从而允许显著的端到端延迟降低,随着如无线显示、在线游戏、基于无人机的应用的超低延迟应用变得更流行,这在当今被认为比以前更重要。
VVC中的另一个GDR相关特性是虚拟边界信令。GDR图片与其恢复点之间的图片处的刷新区域(即,正确解码的区域)和未刷新区域之间的边界可以被信令通知作为虚拟边界,并且当被信令通知时,将不会应用跨边界的环路滤波,因此将不会出现边界处或边界附近的一些样点的解码失配。当应用确定在GDR过程期间显示正确解码的区域时,这可以是有用的。
IRAP图片和GDR图片可以被统称为随机访问点(RAP)图片。
3.6.参考图片管理和参考图片列表(RPL)
参考图片管理是使用帧间预测的任何视频编解码方案所必需的核心功能。它管理参考图片在解码图片缓冲区(DPB)中的存储和从DPB的移除,并且将参考图片按照它们正确的顺序放在RPL中。
HEVC的参考图片管理,包括参考图片标记和从解码图片缓冲区(DPB)中的移除以及参考图片列表构建(RPLC),与AVC的不同。代替AVC中的基于滑动窗口加自适应存储器管理控制操作(MMCO)的参考图片标记机制,HEVC指定了基于所谓的参考图片集(RPS)的参考图片管理和标记机制,RPLC因此基于RPS机制。RPS由与图片相关联的参考图片集合组成,该参考图片集合由按照解码顺序在相关联图片之前的所有参考图片组成,其可以用于相关联图片或按照解码顺序在相关联图片之后的任何图片的帧间预测。参考图片集由五个参考图片列表组成。前三个列表包含可以用于当前图片的帧间预测并且可以用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。其他两个列表由不用于当前图片的帧间预测但是可以用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片组成。RPS提供了DPB状态的“帧内编解码”信令,而不是如AVC中的“帧间编解码”信令,主要是为了提高容错性。HEVC中的RPLC过程基于RPS,通过针对每个参考索引信令通知RPS子集的索引;这个过程比AVC中的RPLC过程简单。
VVC中的参考图片管理比AVC更类似于HEVC,但是稍微更简单并且更稳健。如在那些标准中,推导了两个RPL,列表0和列表1,但是它们不基于在HEVC中使用的参考图片集概念或者在AVC中使用的自动滑动窗口过程;相反,它们更直接地被信令通知。针对RPL列出参考图片作为活动和非活动条目,并且仅活动条目可以在当前图片的CTU的帧间预测中用作参考索引。非活动条目指示要被保存在DPB中以由比特流中稍后到达的其他图片参考的其他图片。
3.7.参数集
AVC、HEVC和VVC指定了参数集。参数集的类型包括SPS、PPS、APS和VPS。在AVC、HEVC和VVC中的全部中都支持SPS和PPS。VPS从HEVC开始引入,并且被包括在HEVC和VVC中。APS没有被包括在AVC或HEVC中,但是被包括在最新的VVC草案文本中。
SPS被设计为携带序列级别标头信息,并且PPS被设计为携带不频繁改变的图片级别标头信息。利用SPS和PPS,不频繁改变的信息不需要针对每个序列或图片重复,因此可以避免该信息的冗余信令。此外,SPS和PPS的使用实现了重要标头信息的带外传输,因此不仅避免了对冗余传输的需要,还提高了容错性。
引入VPS用于携带对多层比特流中的所有层共同的序列级别标头信息。
引入APS用于携带这样的图片级别或条带级别信息,该信息需要相当多的比特来编解码,可以由多个图片共享,并且在序列中可以有相当多的不同变化。
3.8.VVC中的相关定义
最新的VVC文本中(JVET-Q2001-vE/v15中)的相关定义如下。
(特定图片的)相关联的IRAP图片:按照解码顺序的先前IRAP图片(当存在时)具有与特定图片相同的nuh_layer_id值。
完全随机访问(CRA)PU:编解码图片是CRA图片的PU。
完全随机访问(CRA)图片:每个VCL NAL单元具有等于CRA_NUT的nal_unit_type的IRAP图片。
编解码视频序列(CVS):按照解码顺序由CVSS AU组成的AU的序列,其后是不作为CVSS AU的零个或更多个AU,包括直到但不包括作为CVSS AU的任何后续AU的所有后续AU。
编解码视频序列起始(CVSS)AU:对于CVS中的每个层都有PU并且每个PU中的编解码图片是CLVSS图片的AU。
逐渐解码刷新(GDR)AU:每个存在PU中的编解码图片是GDR图片的AU。
逐渐解码刷新(GDR)PU:编解码图片是GDR图片的PU。
逐渐解码刷新(GDR)图片:每个VCL NAL单元具有等于GDR_NUT的nal_unit_type的图片。
即时解码刷新(IDR)PU:编解码图片是IDR图片的PU。
即时解码刷新(IDR)图片:每个VCL NAL单元具有等于IDR_W_RADL或IDR_N_LP的nal_unit_type的IRAP图片。
帧内随机访问点(IRAP)AU:对于CVS中的每个层都有PU并且每个PU中的编解码图片是IRAP图片的AU。
帧内随机访问点(IRAP)PU:编解码图片是IRAP图片的PU。
帧内随机访问点(IRAP)图片:所有VCL NAL单元都具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type的相同值的编解码图片。
前置图片:在与相关联的IRAP图片相同的层中并且按照输出顺序在相关联的IRAP图片之前的图片。
输出顺序:从DPB输出解码图片(对于要从DPB输出的解码图片)的顺序。
随机访问可解码前置(RADL)PU:编解码图片是RADL图片的PU。
随机访问可解码前置(RADL)图片:每个VCL NAL单元具有等于RADL_NUT的nal_unit_type的图片。
随机访问跳过前置(RASL)PU:编解码图片是RASL图片的PU。
随机访问跳过前置(RASL)图片:每个VCL NAL单元具有等于RASL_NUT的nal_unit_type的图片。
逐步时域子层访问(STSA)PU:编解码图片是STSA图片的PU。
逐步时域子层访问(STSA)图片:每个VCL NAL单元具有等于STSA_NUT的nal_unit_type的图片。
注–STSA图片不使用具有与STSA图片相同的TemporalId的图片进行帧间预测参考。具有与STSA图片相同的TemporalId的按照解码顺序在STSA图片之后的图片不使用具有与STSA图片相同的TemporalId的按照解码顺序在STSA图片之前的图片进行帧间预测参考。STSA图片实现在STSA图片处从紧邻的更低子层向上切换到包含STSA图片的子层。STSA图片必须具有大于0的TemporalId。
子图片:图片内的一个或多个条带的矩形区域。
后置图片:按照输出顺序在相关联的IRAP图片之后并且不是STSA图片的非IRAP图片。
注–与IRAP图片相关联的后置图片按照解码顺序也在IRAP图片之后。不允许按照输出顺序在相关联的IRAP图片之后并且按照解码顺序在相关联的IRAP图片之前的图片。
3.9.VVC中的NAL单元标头语法和语义
在最新的VVC文本中(在JVET-Q2001-vE/v15中),NAL单元标头语法和语义如下。
7.3.1.2NAL单元标头语法
Figure BDA0003900390240000161
7.4.2.2NAL单元标头语义
forbidden_zero_bit应当等于0。
nuh_reserved_zero_bit应当等于0。nuh_reserved_zero_bit的值1可以在未来由ITU-T|ISO/IEC指定。解码器应当忽略(即,从比特流中移除并且丢弃)nuh_reserved_zero_bit等于1的NAL单元。
nuh_layer_id指定VCL NAL单元所属的层的标识符或者非VCL NAL单元适用的层的标识符。nuh_layer_id的值应当在0到55的范围(包括0和55)内。nuh_layer_id的其他值被保留以供ITU-T|ISO/IEC未来使用。
nuh_layer_id的值对于编解码图片的所有VCL NAL单元应当是相同的。编解码图片或PU的nuh_layer_id的值是编解码图片或PU的VCL NAL单元的nuh_layer_id的值。
AUD、PH、EOS和FD NAL单元的nuh_layer_id的值被约束如下:
-如果nal_unit_type等于AUD_NUT,则nuh_layer_id应当等于vps_layer_id[0]。
-否则,当nal_unit_type等于PH_NUT、EOS_NUT或FD_NUT时,nuh_layer_id应当等于相关联的VCL NAL单元的nuh_layer_id。
注1–DCI、VPS和EOB NAL单元的nuh_layer_id的值不受约束。
nal_unit_type的值对于CVSS AU的所有图片应当是相同的。
nal_unit_type指定NAL单元类型,即如表5所指定的NAL单元中包含的RBSP数据结构的类型。
具有在UNSPEC_28..UNSPEC_31(未指定语义)的范围(包括UNSPEC_28和UNSPEC_31)内的nal_unit_type的NAL单元不应当影响本规范中指定的解码过程。
注2–可以如应用所确定的使用在UNSPEC_28..UNSPEC_31的范围内的NAL单元类型。在本规范中没有指定nal_unit_type的这些值的解码过程。由于不同的应用可能出于不同的目的使用这些NAL单元类型,所以在生成具有这些nal_unit_type值的NAL单元的编码器的设计中、以及在解释具有这些nal_unit_type值的NAL单元的内容的解码器的设计中,必须特别小心。本规范没有定义这些值的任何管理。这些nal_unit_type值可能仅适合于在使用的“冲突”(即,相同nal_unit_type值的NAL单元内容的含义的不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中定义或管理、或通过控制比特流被分布的环境)的上下文中使用。
出于除了确定比特流的DU中的数据量(如附录C所指定的)之外的目的,解码器应当忽略(从比特流中移除并且丢弃)使用nal_unit_type的保留值的所有NAL单元的内容。
注3–该要求允许对本规范的兼容扩展的未来定义。
表5–NAL单元类型码和NAL单元类型分类
Figure BDA0003900390240000171
Figure BDA0003900390240000181
注4–完全随机访问(CRA)图片可以具有存在于比特流中的相关联的RASL或RADL图片。
注5–具有等于IDR_N_LP的nal_unit_type的即时解码刷新(IDR)图片不具有存在于比特流中的相关联前置图片。具有等于IDR_W_RADL的nal_unit_type的IDR图片不具有存在于比特流中的相关联的RASL图片,但是可以具有比特流中的相关联的RADL图片。
nal_unit_type的值对于子图片的所有VCL NAL单元应当是相同的。子图片被称为具有与子图片的VCL NAL单元相同的NAL单元类型。
对于任何特定图片的VCL NAL单元,以下适用:
-如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有VCL NAL单元应当是相同的,并且图片或PU被称为具有与图片或PU的编解码条带NAL单元相同的NAL单元类型。
-否则(mixed_nalu_types_in_pic_flag等于1),图片应当具有至少两个子图片,并且图片的VCL NAL单元应当恰好具有两个不同的nal_unit_type值,如下所示:图片的至少一个子图片的VCL NAL单元都应当具有等于STSA_NUT、RADL_NUT、RASL_NUT、IDR_W_RADL、IDR_N_LP或CRA_NUT的nal_unit_type的特定值,而图片中的其他子图片的VCL NAL单元都应当具有等于TRAIL_NUT、RADL_NUT或RASL_NUT的nal_unit_type的不同特定值。
对于单层比特流,以下约束适用:
-除了比特流中按照解码顺序的第一个图片之外的每个图片被认为与按照解码顺序的先前IRAP图片相关联。
-当图片是IRAP图片的前置图片时,其应当是RADL或RASL图片。
-当图片是IRAP图片的后置图片时,其不应当是RADL或RASL图片。
-在比特流中不应当存在与IDR图片相关联的RASL图片。
-在比特流中不应当存在与具有等于IDR_N_LP的nal_unit_type的IDR图片相关联的RADL图片。
注6–通过丢弃IRAP PU之前的所有PU,可以在IRAP PU的位置处执行随机访问(并且正确解码IRAP图片和按照解码顺序的所有后续非RASL图片),前提是每个参数集在其被参考时(在比特流中或者通过本规范中未指定的外部手段)可用。
-按照解码顺序在IRAP图片之前的任何图片按照输出顺序应当在IRAP图片之前,并且按照输出顺序应当在与IRAP图片相关联的任何RADL图片之前。
-与CRA图片相关联的任何RASL图片按照输出顺序应当在与CRA图片相关联的任何RADL图片之前。
-与CRA图片相关联的任何RASL图片按照输出顺序应当在按照解码顺序在CRA图片之前的任何IRAP图片之后。
-如果field_seq_flag等于0,并且当前图片是与IRAP图片相关联的前置图片,则其按照解码顺序应当在与相同的IRAP图片相关联的所有非前置图片之前。否则,设picA和picB分别是与IRAP图片相关联的按照解码顺序的第一个和最后一个前置图片,应当有按照解码顺序在picA之前的至多一个非前置图片,并且不应当有按照解码顺序在picA和picB之间的非前置图片。
nuh_temporal_id_plus1减1指定NAL单元的时域标识符。
nuh_temporal_id_plus1的值不应当等于0。
变量TemporalId被推导如下:
TemporalId=nuh_temporal_id_plus1-1 (36)
当nal_unit_type在IDR_W_RADL到RSV_IRAP_12的范围(包括IDR_W_RADL和RSV_IRAP_12)内时,TemporalId应当等于0。
当nal_unit_type等于STSA_NUT并且vps_independent_layer_flag[GeneralLayerIdx[nuh_layer_id]]等于1时,TemporalId不应当等于0。
TemporalId的值对于AU的所有VCL NAL单元应当是相同的。编解码图片、PU或AU的TemporalId的值是编解码图片、PU或AU的VCL NAL单元的TemporalId的值。子层表示的TemporalId的值是子层表示中的所有VCL NAL单元的TemporalId的最大值。
非VCL NAL单元的TemporalId的值被约束如下:
-如果nal_unit_type等于DCI_NUT、VPS_NUT或SPS_NUT,则TemporalId应当等于0,并且包含NAL单元的AU的TemporalId应当等于0。
-否则,如果nal_unit_type等于PH_NUT,则TemporalId应当等于包含NAL单元的PU的TemporalId。
-否则,如果nal_unit_type等于EOS_NUT或EOB_NUT,则TemporalId应当等于0。
-否则,如果nal_unit_type等于AUD_NUT、FD_NUT、PREFIX_SEI_NUT或SUFFIX_SEI_NUT,则TemporalId应当等于包含NAL单元的AU的TemporalId。
-否则,当nal_unit_type等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId应当大于或等于包含NAL单元的PU的TemporalId。
注7–当NAL单元是非VCL NAL单元时,TemporalId的值等于非VCL NAL单元适用的所有AU的TemporalId值中的最小值。当nal_unit_type等于PPS_NUT、PREFIX_APS_NUT或SUFFIX_APS_NUT时,TemporalId可以大于或等于包含AU的TemporalId,因为所有PPS和APS都可以被包括在比特流的开头(例如,当它们在带外传输,并且接收器将它们放置在比特流的开头时),其中第一个编解码图片具有等于0的TemporalId。
3.10.图片内的混合NAL单元类型
7.4.3.4图片参数集语义
...
mixed_nalu_types_in_pic_flag等于1指定参考PPS的每个图片具有多于一个VCLNAL单元,VCL NAL单元不具有nal_unit_type的相同值,并且该图片不是IRAP图片。mixed_nalu_types_in_pic_flag等于0指定参考PPS的每个图片具有一个或多个VCL NAL单元,并且参考PPS的每个图片的VCL NAL单元具有nal_unit_type的相同值。
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应当等于0。
对于具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type值nalUnitTypeA的每个条带,在还包含具有nal_unit_type的另一个值的一个或多个条带的图片picA中(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
-条带应当属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应当属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的子图片picA。
-如果nalUnitTypeA等于CRA,则对于按照解码顺序并且按照输出顺序在CLVS中的当前图片之后的所有后续PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于CLVS中按照解码顺序在当前图片之后的所有PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
注1–mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自编码器必须确保匹配比特流结构以及原始比特流的参数的进一步对齐的子图片比特流合并操作的编解码图片。这样的对齐的一个示例如下:当sps_idr_rpl_present_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考PPS的图片不能具有nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带。
3.11.VVC中的图片标头结构语法和语义
在最新的VVC文本中(在JVET-Q2001-vE/v15中),本文中与本发明最相关的图片标头结构语法和语义如下。
7.3.2.7图片标头结构语法
Figure BDA0003900390240000221
Figure BDA0003900390240000231
7.4.3.7图片标头结构语义
PH语法结构包含对于与PH语法结构相关联的编解码图片的所有条带共同的信息。
gdr_or_irap_pic_flag等于1指定当前图片是GDR或IRAP图片。gdr_or_irap_pic_flag等于0指定当前图片可以是或者可以不是GDR或IRAP图片。
gdr_pic_flag等于1指定与PH相关联的图片是GDR图片。gdr_pic_flag等于0指定与PH相关联的图片不是GDR图片。当不存在时,gdr_pic_flag的值被推断为等于0。当gdr_enabled_flag等于0时,gdr_pic_flag的值应当等于0。
注1–当gdr_or_irap_pic_flag等于1并且gdr_pic_flag等于0时,与PH相关联的图片是IRAP图片。
...
ph_pic_order_cnt_lsb指定当前图片以MaxPicOrderCntLsb为模的图片顺序计数。ph_pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4比特。ph_pic_order_cnt_lsb的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
no_output_of_prior_pics_flag影响如附录C所指定的在解码不是比特流中的第一个图片的CLVSS图片之后的DPB中的先前解码图片的输出。
recovery_poc_cnt指定按照输出顺序的解码图片的恢复点。如果当前图片是与PH相关联的GDR图片,并且在具有等于当前GDR图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的CLVS中有按照解码顺序在当前GDR图片之后的图片picA,则图片picA被称为恢复点图片。否则,具有大于当前图片的PicOrderCntVal加recovery_poc_cnt的值的PicOrderCntVal的按照输出顺序的第一个图片被称为恢复点图片。恢复点图片按照解码顺序不应当在当前GDR图片之前。recovery_poc_cnt的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
当当前图片是GDR图片时,变量RpPicOrderCntVal被推导如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt (81)
注2–当gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关联的GDR图片的RpPicOrderCntVal时,按照输出顺序的当前解码图片和后续解码图片与通过从按照解码顺序在相关联的GDR图片之前的先前IRAP图片(当存在时)开始解码过程而产生的对应图片恰好匹配。
...
3.12.VVC中对RPL的约束
在最新的VVC文本中(在JVET-Q2001-vE/v15中),VVC中对RPL的约束如下(作为VVC的条款8.3.2参考图片列表构建的解码过程的一部分)。
8.3.2参考图片列表构建的解码过程
...
对于等于0或1的每个i,RefPicList[i]中的前NumRefIdxActive[i]个条目被称为RefPicList[i]中的活动条目,并且RefPicList[i]中的其他条目被称为RefPicList[i]中的非活动条目。
注2–特定图片可能由RefPicList[0]中的条目和RefPicList[1]中的条目参考。特定图片也可能由RefPicList[0]中的多于一个条目或RefPicList[1]中的多于一个条目参考。
注3–RefPicList[0]中的活动条目和RefPicList[1]中的活动条目共同参考可以用于当前图片和按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。RefPicList[0]中的非活动条目和RefPicList[1]中的非活动条目共同参考不用于当前图片的帧间预测但可以用于按照解码顺序在当前图片之后的一个或多个图片的帧间预测的所有参考图片。
注4–在RefPicList[0]或RefPicList[1]中可以有等于“无参考图片”的一个或多个条目,因为对应的图片不存在于DPB中。应该忽略RefPicList[0]或RefPicList[0]中等于“无参考图片”的每个非活动条目。应该针对RefPicList[0]或RefPicList[1]中等于“无参考图片”的每个活动条目推断无意的图片丢失。
比特流一致性的要求是以下约束适用:
-对于等于0或1的每个i,num_ref_entries[i][RplsIdx[i]]不应当小于NumRefIdxActive[i]。
-RefPicList[0]或RefPicList[1]中的每个活动条目所参考的图片应当存在于DPB中,并且应当具有小于或等于当前图片的TemporalId的TemporalId。
-RefPicList[0]或RefPicList[1]中的每个条目所参考的图片不应当是当前图片,并且应当具有等于0的non_reference_picture_flag。
-图片的条带的RefPicList[0]或RefPicList[1]中的STRP条目和相同图片的相同条带或不同条带的RefPicList[0]或RefPicList[1]中的LTRP条目不应当参考相同图片。
-在RefPicList[0]或RefPicList[1]中不应当有当前图片的PicOrderCntVal和条目所参考的图片的PicOrderCntVal之间的差大于或等于224的LTRP条目。
-设setOfRefPics是RefPicList[0]中具有与当前图片相同的nuh_layer_id的所有条目和RefPicList[1]中具有与当前图片相同的nuh_layer_id的所有条目所参考的独有图片的集合。setOfRefPics中的图片的数量应当小于或等于MaxDpbSize-1(包括MaxDpbSize-1),其中MaxDpbSize如条款A.4.2所指定的,并且setOfRefPics对于图片的所有条带应当是相同的。
-当当前条带具有等于STSA_NUT的nal_unit_type时,在RefPicList[0]或RefPicList[1]中不应当有具有等于当前图片的TemporalId的TemporalId和等于当前图片的nuh_layer_id的nuh_layer_id的活动条目。
-当当前图片是具有等于当前图片的TemporalId的TemporalId和等于当前图片的nuh_layer_id的nuh_layer_id的、按照解码顺序在STSA图片之后的图片时,不应当包括按照解码顺序在STSA图片之前、具有等于当前图片的TemporalId的TemporalId、并且具有等于当前图片的nuh_layer_id的nuh_layer_id的图片作为RefPicList[0]或RefPicList[1]中的活动条目。
-当当前图片是CRA图片时,不应当有按照输出顺序或解码顺序在按照解码顺序的任何在前IRAP图片(当存在时)之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
-当当前图片是后置图片时,不应当有通过用于生成与当前图片相关联的IRAP图片的不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
-当当前图片是按照解码顺序和输出顺序都在与相同的IRAP图片相关联的一个或多个前置图片(如果有的话)之后的后置图片时,不应当有通过用于生成与当前图片相关联的IRAP图片的不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
-当当前图片是恢复点图片或者按照输出顺序在恢复点图片之后的图片时,在RefPicList[0]或RefPicList[1]中不应当有包含通过用于生成恢复点图片的GDR图片的不可用参考图片的解码过程而生成的图片的条目。
-当当前图片是后置图片时,不应当有按照输出顺序或解码顺序在相关联的IRAP图片之前的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
-当当前图片是按照解码顺序和输出顺序都在与相同的IRAP图片相关联的一个或多个前置图片(如果有的话)之后的后置图片时,不应当有按照输出顺序或解码顺序在相关联的IRAP图片之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
-当当前图片是RADL图片时,在RefPicList[0]或RefPicList[1]中不应当有作为以下任何一个的活动条目:
ο RASL图片
ο通过用于生成不可用参考图片的解码过程而生成的图片
ο按照解码顺序在相关联的IRAP图片之前的图片
-当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应当在与当前图片相同的AU中。
-当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应当存在于DPB中,并且应当具有小于当前图片的nuh_layer_id的nuh_layer_id。
-条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目应当是活动条目。
...
3.13.PictureOutputFlag的设置
在最新的VVC文本中(在JVET-Q2001-vE/v15中),设置变量PictureOutputFlag的值的规范如下(作为用于编解码图片的条款8.1.2解码过程的部分)。
8.1.2编解码图片的解码过程
本条款中指定的解码过程适用于BitstreamToDecode中的每个编解码图片(称为当前图片,并且由变量CurrPic表示)。
根据chroma_format_idc的值,当前图片的样点阵列的数量如下:
-如果chroma_format_idc等于0,则当前图片由1个样点阵列SL组成。
-否则(chroma_format_idc不等于0),当前图片由3个样点阵列SL、SCb、SCr组成。
当前图片的解码过程将来自条款7的语法元素和大写变量作为输入。当解释在每个NAL单元中以及在条款8的剩余部分中的每个语法元素的语义时,术语“比特流”(或其部分,例如比特流的CVS)是指BitstreamToDecode(或其部分)。
根据separate_colour_plane_flag的值,解码过程的结构如下:
-如果separate_colour_plane_flag等于0,则解码过程被调用一次,其中当前图片为输出。
-否则(separate_colour_plane_flag等于1),解码过程被调用三次。解码过程的输入是具有colour_plane_id的相同值的编解码图片的所有NAL单元。具有colour_plane_id的特定值的NAL单元的解码过程被指定为好像只有具有colour_plane_id的该特定值的单色色彩格式的CVS将存在于比特流中。三个解码过程中的每一个的输出被分配给当前图片的3个样点阵列之一,其中colour_plane_id等于0、1和2的NAL单元被分别分配给SL、SCb和SCr
注–当separate_colour_plane_flag等于1并且chroma_format_idc等于3时,变量ChromaArrayType被推导为等于0。在解码过程中,该变量的值被评估,导致与单色图片相同的操作(当chroma_format_idc等于0时)。
对于当前图片CurrPic,解码过程操作如下:
1.在条款8.2中指定了NAL单元的解码。
2.条款8.3中的过程指定了使用条带标头层及以上中的语法元素的以下解码过程:
-如条款8.3.1所指定的推导与图片顺序计数有关的变量和函数。这仅需要为图片的第一个条带调用。
-在非IDR图片的每个条带的解码过程的开始时,调用在条款8.3.2中指定的参考图片列表构建的解码过程,用于推导参考图片列表0(RefPicList[0])和参考图片列表1(RefPicList[1])。
-调用条款8.3.3中参考图片标记的解码过程,其中参考图片可以被标记为“未用于参考”或“用于长期参考”。这仅需要为图片的第一个条带调用。
-当当前图片是NoOutputBeforeRecoveryFlag等于1的CRA图片或NoOutputBeforeRecoveryFlag等于1的GDR图片时,调用在子条款8.3.4中指定的用于生成不可用参考图片的解码过程,其仅需要为图片的第一个条带调用。
-PictureOutputFlag被设置如下:
-如果以下条件之一为真,则PictureOutputFlag被设置为等于0:
-当前图片是RASL图片,并且相关联的IRAP图片的NoOutputBeforeRecoveryFlag等于1。
-gdr_enabled_flag等于1,并且当前图片是NoOutputBeforeRecoveryFlag等于1的GDR图片。
-gdr_enabled_flag等于1,当前图片与NoOutputBeforeRecoveryFlag等于1的GDR图片相关联,并且当前图片的PicOrderCntVal小于相关联的GDR图片的RpPicOrderCntVal。
-sps_video_parameter_set_id大于0,ols_mode_idc等于0,并且当前AU包含满足以下所有条件的图片picA:
-PicA具有等于1的PictureOutputFlag。
-PicA具有大于当前图片的nuh_layer_id的nuh_layer_id nuhLid。
-PicA属于OLS的输出层(即,OutputLayerIdInOls[TargetOlsIdx][0]等于nuhLid)。
-sps_video_parameter_set_id大于0,ols_mode_idc等于2,并且ols_output_layer_flag[TargetOlsIdx][GeneralLayerIdx[nuh_layer_id]]等于0。
-否则,PictureOutputFlag被设置为等于pic_output_flag。
3.条款8.4、8.5、8.6、8.7和8.8中的过程指定了使用所有语法结构层中的语法元素的解码过程。比特流一致性的要求是,图片的编解码条带应当包含图片的每个CTU的条带数据,使得将图片划分为条带,并且将条带划分为各自形成图片的分割的CTU。
4.在当前图片的所有条带都被解码之后,当前解码图片被标记为“用于短期参考”,并且RefPicList[0]或RefPicList[1]中的每个ILRP条目被标记为“用于短期参考”。
4.由所公开的技术解决方案解决的技术问题
最新的VVC文本中(JVET-Q2001-vE/v15中)的现有设计有以下问题:
1)由于允许在一个图片内混合不同类型的子图片,因此将具有VCLNAL单元类型的NAL单元的内容称为特定类型的图片的编解码条带是令人困惑的。例如,仅当图片的所有条带具有等于CRA_NUT的nal_unit_type时,nal_unit_type等于CRA_NUT的NAL单元才是CRA图片的编解码条带;当该图片的一个条带具有不等于CRA_NUT的nal_unit_type时,该图片不是CRA图片。
2)当前,如果子图片包含nal_unit_type在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的VCL NAL单元,则对于子图片,要求subpic_treated_as_pic_flag[]的值等于1,并且对于图片,mixed_nalu_types_in_pic_flag等于1。换句话说,对于图片中与另一类型的子图片混合的IRAP子图片,要求subpic_treated_as_pic_flag[]的值等于1。然而,随着支持VCL NAL单元类型的更多混合,这个要求是不够的。
3)当前,图片内仅允许多达两种不同类型的VCL NAL单元(和两种不同类型的子图片)。
4)在单层和多层上下文中,缺乏对后置子图片相对于相关联的IRAP或GDR子图片的输出顺序的约束。
5)当前,指定当图片是IRAP图片的前置图片时,其应当是RADL或RASL图片。该约束连同前置/RADL/RASL图片的定义一起,不允许从两个CRA图片和它们的非AU对齐的相关联的RADL和RASL图片的混合产生的图片内的RADL和RASL NAL单元类型的混合。
6)在单层和多层上下文中,缺乏对前置子图片的子图片类型(即,子图片中的VCLNAL单元的NAL单元类型)的约束。
7)在单层和多层上下文中,缺乏对RASL子图片是否可以存在并与IDR子图片相关联的约束。
8)在单层和多层上下文中,缺乏对RADL子图片是否可以存在并与具有等于IDR_N_LP的nal_unit_type的IDR子图片相关联的约束。
9)在单层和多层上下文中,缺乏对按照解码顺序在IRAP子图片之前的子图片和与IRAP子图片相关联的RADL子图片之间的相对输出顺序的约束。
10)在单层和多层上下文中,缺乏对按照解码顺序在GDR子图片之前的子图片和与GDR子图片相关联的子图片之间的相对输出顺序的约束。
11)在单层和多层上下文中,缺乏对与CRA子图片相关联的RASL子图片和与CRA子图片相关联的RADL子图片之间的相对输出顺序的约束。
12)在单层和多层上下文中,缺乏对与CRA子图片相关联的RASL子图片和按照解码顺序在CRA子图片之前的IRAP子图片之间的相对输出顺序的约束。
13)在单层和多层上下文中,缺乏对IRAP图片的相关联的非前置图片和前置图片之间的相对解码顺序的约束。
14)在单层和多层上下文中,缺乏对按照解码顺序在STSA子图片之后的子图片的RPL活动条目的约束。
15)在单层和多层上下文中,缺乏对CRA子图的RPL条目的约束。
16)在单层和多层上下文中,缺乏对参考通过用于生成不可用参考图片的解码过程而生成的图片的子图片的RPL活动条目的约束。
17)在单层和多层上下文中,缺乏对参考通过用于生成不可用参考图片的解码过程而生成的图片的子图片的RPL条目的约束。
18)在单层和多层上下文中,缺乏对与IRAP图片相关联并且按照输出顺序在IRAP图片之后的子图片的RPL活动条目的约束。
19)在单层和多层上下文中,缺乏对与IRAP图片相关联并且按照输出顺序在IRAP图片之后的子图片的RPL条目的约束。
20)在单层和多层上下文中,缺乏对RADL子图片的RPL活动条目的约束。
5.解决方案和实施例的示例
为了解决以上问题和其他问题,公开了如下总结的方法。这些项应该被认为是解释一般概念的示例,而不应该以狭隘的方式进行解释。此外,这些项可以被单独应用或者以任何方式组合。
1)为了解决问题1,代替将具有VCL NAL单元类型的NAL单元的内容指定为“特定类型的图片的编解码条带”,而指定为“特定类型的图片或子图片的编解码条带”。例如,nal_unit_type等于CRA_NUT的NAL单元的内容被指定为“CRA图片或子图片的编解码条带”。
a.此外,定义了以下术语中的一个或多个:相关联的GDR子图片、相关联的IRAP子图片、CRA子图片、GDR子图片、IDR子图片、IRAP子图片、前置子图片、RADL子图片、RASL子图片、STSA子图片、后置子图片。
2)为了解决问题2,添加约束以要求具有不同NAL单元类型的任何两个邻近子图片都应当具有等于1的subpic_treated_as_pic_flag[]。
a.在一个示例中,该约束被指定如下:对于图片中具有子图片索引i和j的任何两个邻近子图片,当subpic_treated_as_pic_flag[i]或subpic_treated_as_pic_flag[j]等于0时,两个子图片应当具有相同的NAL单元类型。
a.可替代地,要求当具有子图片索引i的任何子图片具有等于0的subpic_treated_as_pic_flag[i]时,图片中的所有子图片应当具有相同的NAL单元类型(即,图片中的所有VCL NAL单元应当具有相同的NAL单元类型,即,mixed_nalu_types_in_pic_flag的值应当等于0)。这意味着,当所有子图片的对应subpic_treated_as_pic_flag[]等于1时,mixed_nalu_types_in_pic_flag只能等于1。
3)为了解决问题3,当mixed_nalu_types_in_pic_flag等于1时,可以允许图片包含多于两种不同类型的VCL NAL单元。
4)为了解决问题4,指定后置子图片按照输出顺序应当在相关联的IRAP或GDR子图片之后。
5)为了解决问题5,为了允许从两个CRA图片和它们的非AU对齐的相关联的RADL和RASL图片的混合产生的图片内的RADL和RASL NAL单元类型的混合,指定IRAP图片的前置图片应当是RADL或RASL图片的现有约束被改变如下:当图片是IRAP图片的前置图片时,图片中的所有VCL NAL单元的nal_unit_type值应当等于RADL_NUT或RASL_NUT。此外,在具有RADL_NUT和RASL_NUT的混合nal_unit_type值的图片的解码过程中,当包含图片的层是输出层时,图片的PictureOutputFlag被设置为等于pic_output_flag。
这样,通过被输出的所有图片对于一致性解码器都需要正确的约束,可以保证这样的图片内的RADL子图片,尽管当相关联的CRA图片具有等于1的NoOutputBeforeRecoveryFlag时,这样的图片内的“中间值”RASL子图片的“正确性”的保证也是适当的,但是实际上并不需要。该保证的不必要部分无关紧要,并且不会增加实施一致性编码器或解码器的复杂性。在这种情况下,添加这样的注释是有用的,即阐明尽管与NoOutputBeforeRecoveryFlag等于1的CRA图片相关联的这样的RASL子图片可以通过解码过程输出,但是它们不旨在用于显示,因此不应该用于显示。
6)为了解决问题6,指定当子图片是IRAP子图片的前置子图片时,其应当是RADL或RASL子图片。
7)为了解决问题7,指定与IDR子图片相关联的RASL子图片不应当存在于比特流中。
8)为了解决问题8,指定与具有等于IDR_N_LP的nal_unit_type的IDR子图片相关联的RADL子图片不应当存在于比特流中。
9)为了解决问题9,指定按照解码顺序在nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的IRAP子图片之前的、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何子图片按照输出顺序应当在IRAP子图片及其所有相关联的RADL子图片之前。
10)为了解决问题10,指定按照解码顺序在nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的GDR子图片之前的、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何子图片按照输出顺序应当在GDR子图片及其所有相关联的子图片之前。
11)为了解决问题11,指定与CRA子图片相关联的任何RASL子图片按照输出顺序应当在与CRA子图片相关联的任何RADL子图片之前。
12)为了解决问题12,指定与CRA子图片相关联的任何RASL子图片按照输出顺序应当在按照解码顺序在CRA子图片之前的任何IRAP子图片之后。
13)为了解决问题13,指定如果field_seq_flag等于0,并且nuh_layer_id等于特定值layerId且子图片索引等于特定值subpicIdx的当前子图片是与IRAP子图片相关联的前置子图片,则其按照解码顺序应当在与相同的IRAP子图片相关联的所有非前置子图片之前;否则,设subpicA和subpicB分别是与IRAP子图片相关联的、按照解码顺序的第一个和最后一个前置子图片,则应当有按照解码顺序在subpicA之前的、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的至多一个非前置子图片,并且不应当有按照解码顺序在picA和picB之间的、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的非前置图片。
14)为了解决问题14,指定当TemporalId等于特定值tId、nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是按照解码顺序在TemporalId等于tId、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的STSA子图片之后的子图片时,不应当包括按照解码顺序在包含STSA子图片的图片之前的、TemporalId等于tId并且nuh_layer_id等于layerId的图片作为RefPicList[0]或RefPicList[1]中的活动条目。
15)为了解决问题15,指定当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是CRA子图片时,不应当有按照输出顺序或解码顺序在包含按照解码顺序的nuh_layer_id等于layerId并且子图片索引等于subpicIdx的在前IRAP子图片的任何图片(当存在时)之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
16)为了解决问题16,指定当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片不是与NoOutputBeforeRecoveryFlag等于1的CRA图片的CRA子图片相关联的RASL子图片、NoOutputBeforeRecoveryFlag等于1的GDR图片的GDR子图片、或者NoOutputBeforeRecoveryFlag等于1并且nuh_layer_id等于layerId的GDR图片的恢复图片的子图片时,不应当有通过用于生成不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
17)为了解决问题17,指定当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片不是NoOutputBeforeRecoveryFlag等于1的CRA图片的CRA子图片、按照解码顺序在与NoOutputBeforeRecoveryFlag等于1的CRA图片的相同CRA子图片相关联的前置子图片之前的子图片、与NoOutputBeforeRecoveryFlag等于1的CRA图片的CRA子图片相关联的前置子图片、NoOutputBeforeRecoveryFlag等于1的GDR图片的GDR子图片、或者NoOutputBeforeRecoveryFlag等于1并且nuh_layer_id等于layerId的GDR图片的恢复图片的子图片时,不应当有通过用于生成不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
18)为了解决问题18,指定当当前子图片与IRAP子图片相关联并且按照输出顺序在IRAP子图片之后时,不应当有按照输出顺序或解码顺序在包含相关联的IRAP子图片的图片之前的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
19)为了解决问题19,指定当当前子图片与IRAP子图片相关联,按照输出顺序在IRAP子图片之后,并且按照解码顺序和输出顺序都在与相同的IRAP子图片相关联的前置子图片(如果有的话)之后时,不应当有按照输出顺序或解码顺序在包含相关联的IRAP子图片的图片之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
20)为了解决问题20,指定当当前子图片是RADL子图片时,在RefPicList[0]或RefPicList[1]中不应当有作为以下中的任何一个的活动条目:
a.包含RASL子图片的图片
b.按照解码顺序在包含相关联的IRAP子图片的图片之前的图片
21)指定当子图片不是IRAP子图片的前置子图片时,其不应当是RADL或RASL子图片。
22)可替代地,为了解决问题10,指定在恢复点图片中按照解码顺序在nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的子图片之前的、nuh_layer_id等于layerId并且子图片索引等于subpicIdx的任何子图片在恢复点图片中按照输出顺序应当在该子图片之前。
23)可替代地,为了解决问题15,指定当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是CRA子图片时,不应当有按照输出顺序或解码顺序在包含nuh_layer_id等于layerId并且子图片索引等于subpicIdx的IRAP子图片的按照解码顺序的任何在前图片(当存在时)之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
24)可替代地,为了解决问题18,指定当当前子图片按照解码和输出顺序都在具有nuh_layer_id的相同值和子图片索引的相同值的IRAP子图片之后时,不应当有按照输出顺序或解码顺序在包含该IRAP子图片的图片之前的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
25)可替代地,为了解决问题19,指定当当前子图片按照解码和输出顺序都在具有nuh_layer_id的相同值和子图片索引的相同值的IRAP子图片以及与该IRAP子图片相关联的前置子图片(如果有的话)之后时,不应当有按照输出顺序或解码顺序在包含该IRAP子图片的图片之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
26)可替代地,为了解决问题20,指定当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是RADL子图片时,在RefPicList[0]或RefPicList[1]中不应当有作为以下中的任何一个的活动条目:
a.包含子图片索引等于subpicIdx的RASL子图片的、nuh_layer_id等于layerId的图片
b.按照解码顺序在包含相关联的IRAP子图片的图片之前的图片
6.实施例
以下是上面第5节中总结的本发明的一些方面的一些示例实施例,其可以被应用于VVC规范。改变的文本基于JVET-Q2001-vE/v15中的最新VVC文本。已经被添加或修改的最相关部分以
Figure BDA0003900390240000361
突出显示,并且删除的部分中的一些以左右双方括号(例如,[[]])突出显示,其中删除的文本在双方括号之间。还有编辑性质的或者不是本技术解决方案的一部分的一些其他改变,因此没有突出显示。
6.1.第一实施例
该实施例针对第1、1a、2、2a、4和6至20项。
3定义
...
(具有nuh_layer_id的特定值layerId的特定图片的)相关联的GDR图片:nuh_layer_id等于layerId的、按照解码顺序的先前GDR图片(当存在时),其中按照解码顺序在该图片和特定图片之间没有nuh_layer_id等于layerId的IRAP图片。
Figure BDA0003900390240000362
(具有nuh_layer_id的特定值layerId的特定图片的)相关联的IRAP图片:nuh_layer_id等于layerId的、按照解码顺序的先前IRAP图片(当存在时),其中按照解码顺序在该图片和特定图片之间没有nuh_layer_id等于layerId的GDR图片。
Figure BDA0003900390240000371
完全随机访问(CRA)图片:每个VCL NAL单元具有等于CRA_NUT的nal_unit_type的IRAP图片。
Figure BDA0003900390240000372
逐渐解码刷新(GDR)AU:对于CVS中的每个层有PU并且每个存在PU中的编解码图片是GDR图片的AU。
逐渐解码刷新(GDR)图片:每个VCL NAL单元具有等于GDR_NUT的nal_unit_type的图片。
Figure BDA0003900390240000373
即时解码刷新(IDR)图片:每个VCL NAL单元具有等于IDR_W_RADL或IDR_N_LP的nal_unit_type的IRAP图片。
Figure BDA0003900390240000374
帧内随机访问点(IRAP)图片:所有VCL NAL单元都具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type的相同值的图片。
Figure BDA0003900390240000375
前置图片:按照输出顺序在相关联的IRAP图片之前的图片。
Figure BDA0003900390240000376
输出顺序:
Figure BDA0003900390240000377
顺序,
Figure BDA0003900390240000378
Figure BDA0003900390240000379
从DPB输出解码图片的
Figure BDA00039003902400003710
随机访问可解码前置(RADL)图片:每个VCL NAL单元具有等于RADL_NUT的nal_unit_type的图片。
Figure BDA0003900390240000381
随机访问跳过前置(RASL)图片:每个VCL NAL单元具有等于RASL_NUT的nal_unit_type的图片。
Figure BDA0003900390240000382
逐步时域子层访问(STSA)图片:每个VCL NAL单元具有等于STSA_NUT的nal_unit_type的图片。
Figure BDA0003900390240000383
后置图片:每个VCL NAL单元具有等于TRAIL_NUT的nal_unit_type的图片。
注–与IRAP或GDR图片相关联的后置图片按照解码顺序也在IRAP或GDR图片之后。不允许按照输出顺序在相关联的IRAP或GDR图片之后并且按照解码顺序在相关联的IRAP或GDR图片之前的图片。
Figure BDA0003900390240000384
...
7.4.2.2NAL单元标头语义
...
nal_unit_type指定NAL单元类型,即如表5所指定的NAL单元中包含的RBSP数据结构的类型。
具有在UNSPEC_28..UNSPEC_31(未指定语义)的范围(包括UNSPEC_28和UNSPEC_31)内的nal_unit_type的NAL单元不应当影响本规范中指定的解码过程。
注2–可以如应用所确定的使用在UNSPEC_28..UNSPEC_31的范围内的NAL单元类型。在本规范中没有指定nal_unit_type的这些值的解码过程。由于不同的应用可能出于不同的目的使用这些NAL单元类型,所以在生成具有这些nal_unit_type值的NAL单元的编码器的设计中、以及在解释具有这些nal_unit_type值的NAL单元的内容的解码器的设计中,必须特别小心。本规范没有定义这些值的任何管理。这些nal_unit_type值可能仅适合于在使用的“冲突”(即,相同nal_unit_type值的NAL单元内容的含义的不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中定义或管理、或通过控制比特流被分布的环境)的上下文中使用。
出于除了确定比特流的DU中的数据量(如附录C所指定的)之外的目的,解码器应当忽略(从比特流中移除并且丢弃)使用nal_unit_type的保留值的所有NAL单元的内容。
注3–该要求允许对本规范的兼容扩展的未来定义。
表5–NAL单元类型码和NAL单元类型分类
Figure BDA0003900390240000391
Figure BDA0003900390240000401
注4–完全随机访问(CRA)图片可以具有存在于比特流中的相关联的RASL或RADL图片。
注5–具有等于IDR_N_LP的nal_unit_type的即时解码刷新(IDR)图片不具有存在于比特流中的相关联前置图片。具有等于IDR_W_RADL的nal_unit_type的IDR图片不具有存在于比特流中的相关联的RASL图片,但是可以具有比特流中的相关联的RADL图片。
nal_unit_type的值对于子图片的所有VCL NAL单元应当是相同的。子图片被称为具有与子图片的VCL NAL单元相同的NAL单元类型。
Figure BDA0003900390240000411
对于任何特定图片的VCL NAL单元,以下适用:
-如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值对于图片的所有VCL NAL单元应当是相同的,并且图片或PU被称为具有与图片或PU的VCL NAL单元相同的NAL单元类型。
-否则(mixed_nalu_types_in_pic_flag等于1),图片应当具有至少两个子图片,并且图片的VCL NAL单元应当恰好具有两个不同的nal_unit_type值,如下所示:图片的至少一个子图片的VCL NAL单元都应当具有等于STSA_NUT、RADL_NUT、RASL_NUT、IDR_W_RADL、IDR_N_LP或CRA_NUT的nal_unit_type的特定值,而图片中的其他子图片的VCL NAL单元都应当具有等于TRAIL_NUT、RADL_NUT或RASL_NUT的nal_unit_type的不同特定值。
比特流一致性的要求是以下约束适用:
-后置图片按照输出顺序应当在相关联的IRAP或GDR图片之后。
Figure BDA0003900390240000412
-当图片是IRAP图片的前置图片时,其应当是RADL或RASL图片。
Figure BDA0003900390240000413
-在比特流中不应当存在与IDR图片相关联的RASL图片。
Figure BDA0003900390240000414
-在比特流中不应当存在与具有等于IDR_N_LP的nal_unit_type的IDR图片相关联的RADL图片。
注6–通过丢弃IRAP PU之前的所有PU,可以在IRAP PU的位置处执行随机访问(并且正确解码IRAP图片和按照解码顺序的所有后续非RASL图片),前提是每个参数集在其被参考时(在比特流中或者通过本规范中未指定的外部手段)可用。
Figure BDA0003900390240000421
-按照解码顺序在nuh_layer_id等于特定值layerId的IRAP图片之前的、nuh_layer_id等于layerId的任何图片按照输出顺序应当在IRAP图片及其所有相关联的RADL图片之前。
Figure BDA0003900390240000422
-按照解码顺序在nuh_layer_id等于特定值layerId的GDR图片之前的、nuh_layer_id等于layerId的任何图片按照输出顺序应当在GDR图片及其所有相关联的图片之前。
Figure BDA0003900390240000423
-与CRA图片相关联的任何RASL图片按照输出顺序应当在与CRA图片相关联的任何RADL图片之前。
Figure BDA0003900390240000424
-与CRA图片相关联的任何RASL图片按照输出顺序应当在按照解码顺序在CRA图片之前的任何IRAP图片之后。
Figure BDA0003900390240000425
-如果field_seq_flag等于0,并且nuh_layer_id等于特定值layerId的当前图片是与IRAP图片相关联的前置图片,则其按照解码顺序应当在与相同的IRAP图片相关联的所有非前置图片之前。否则,设picA和picB分别是与IRAP图片相关联的、按照解码顺序的第一个和最后一个前置图片,则应当有按照解码顺序在picA之前的、nuh_layer_id等于layerId的至多一个非前置图片,并且不应当有按照解码顺序在picA和picB之间的、nuh_layer_id等于layerId的非前置图片。
Figure BDA0003900390240000431
...
7.4.3.4图片参数集语义
...
mixed_nalu_types_in_pic_flag等于1指定参考PPS的每个图片具有多于一个VCLNAL单元,
Figure BDA0003900390240000432
VCL NAL单元不具有nal_unit_type的相同值[[,并且该图片不是IRAP图片]]。mixed_nalu_types_in_pic_flag等于0指定参考PPS的每个图片具有一个或多个VCLNAL单元,并且参考PPS的每个图片的VCL NAL单元具有nal_unit_type的相同值。
当no_mixed_nalu_types_in_pic_constraint_flag等于1时,mixed_nalu_types_in_pic_flag的值应当等于0。
[[对于具有在IDR_W_RADL到CRA_NUT的范围(包括IDR_W_RADL和CRA_NUT)内的nal_unit_type值nalUnitTypeA的每个条带,在还包含具有nal_unit_type的另一个值的一个或多个条带的图片picA中(即,图片picA的mixed_nalu_types_in_pic_flag的值等于1),以下适用:
-条带应当属于对应subpic_treated_as_pic_flag[i]的值等于1的子图片subpicA。
-条带不应当属于包含nal_unit_type不等于nalUnitTypeA的VCL NAL单元的子图片picA。
-如果nalUnitTypeA等于CRA,则对于按照解码顺序并且按照输出顺序在CLVS中的当前图片之后的所有后续PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。
-否则(即,nalUnitTypeA等于IDR_W_RADL或IDR_N_LP),对于CLVS中按照解码顺序在当前图片之后的所有PU,这些PU中的subpicA中的条带的RefPicList[0]和RefPicList[1]都不应当包括活动条目中按照解码顺序在picA之前的任何图片。]]
注1–mixed_nalu_types_in_pic_flag等于1指示参考PPS的图片包含具有不同NAL单元类型的条带,例如,源自编码器必须确保匹配比特流结构以及原始比特流的参数的进一步对齐的子图片比特流合并操作的编解码图片。这样的对齐的一个示例如下:当sps_idr_rpl_present_flag的值等于0并且mixed_nalu_types_in_pic_flag等于1时,参考PPS的图片不能具有nal_unit_type等于IDR_W_RADL或IDR_N_LP的条带。
...
7.4.3.7图片标头结构语义
...
recovery_poc_cnt指定按照输出顺序的解码图片的恢复点。
Figure BDA0003900390240000441
如果当前图片是[[与PH相关联的]]GDR图片,并且在具有等于
Figure BDA0003900390240000442
[[当前GDR图片的PicOrderCntVal加recovery_poc_cnt的值]]的PicOrderCntVal的CLVS中有按照解码顺序在当前GDR图片之后的图片picA,则图片picA被称为恢复点图片。否则,
Figure BDA0003900390240000443
具有大于
Figure BDA0003900390240000444
[[当前图片的PicOrderCntVal加recovery_poc_cnt的值]]的PicOrderCntVal的按照输出顺序的第一个图片被称为恢复点图片。恢复点图片按照解码顺序不应当在当前GDR图片之前。
Figure BDA0003900390240000445
Figure BDA0003900390240000446
Figure BDA0003900390240000447
recovery_poc_cnt的值应当在0到MaxPicOrderCntLsb-1的范围(包括0和MaxPicOrderCntLsb-1)内。
[[当当前图片是GDR图片时,变量RpPicOrderCntVal被推导如下:
RpPicOrderCntVal=PicOrderCntVal+recovery_poc_cnt(81)]]
注2–当gdr_enabled_flag等于1并且当前图片的PicOrderCntVal大于或等于相关联的GDR图片的
Figure BDA0003900390240000451
[[RpPicOrderCntVal]]时,按照输出顺序的当前解码图片和后续解码图片与通过从按照解码顺序在相关联的GDR图片之前的先前IRAP图片(当存在时)开始解码过程而产生的对应图片恰好匹配。
...
8.3.2参考图片列表构建的解码过程
...
比特流一致性的要求是以下约束适用:
-对于等于0或1的每个i,num_ref_entries[i][RplsIdx[i]]不应当小于NumRefIdxActive[i]。
-RefPicList[0]或RefPicList[1]中的每个活动条目所参考的图片应当存在于DPB中,并且应当具有小于或等于当前图片的TemporalId的TemporalId。
-RefPicList[0]或RefPicList[1]中的每个条目所参考的图片不应当是当前图片,并且应当具有等于0的non_reference_picture_flag。
-图片的条带的RefPicList[0]或RefPicList[1]中的STRP条目和相同图片的相同条带或不同条带的RefPicList[0]或RefPicList[1]中的LTRP条目不应当参考相同图片。
-在RefPicList[0]或RefPicList[1]中不应当有当前图片的PicOrderCntVal和条目所参考的图片的PicOrderCntVal之间的差大于或等于224的LTRP条目。
-设setOfRefPics是RefPicList[0]中具有与当前图片相同的nuh_layer_id的所有条目和RefPicList[1]中具有与当前图片相同的nuh_layer_id的所有条目所参考的独有图片的集合。setOfRefPics中的图片的数量应当小于或等于MaxDpbSize-1(包括MaxDpbSize-1),其中MaxDpbSize如条款A.4.2所指定的,并且setOfRefPics对于图片的所有条带应当是相同的。
-当当前条带具有等于STSA_NUT的nal_unit_type时,在RefPicList[0]或RefPicList[1]中不应当有具有等于当前图片的TemporalId的TemporalId和等于当前图片的nuh_layer_id的nuh_layer_id的活动条目。
-当当前图片是具有等于当前图片的TemporalId的TemporalId和等于当前图片的nuh_layer_id的nuh_layer_id的、按照解码顺序在STSA图片之后的图片时,不应当包括按照解码顺序在STSA图片之前、具有等于当前图片的TemporalId的TemporalId、并且具有等于当前图片的nuh_layer_id的nuh_layer_id的图片作为RefPicList[0]或RefPicList[1]中的活动条目。
Figure BDA0003900390240000461
-当nuh_layer_id等于特定值layerId的当前图片是CRA图片时,不应当有按照输出顺序或解码顺序在按照解码顺序的nuh_layer_id等于layerId的任何在前IRAP图片(当存在时)之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
Figure BDA0003900390240000462
-当nuh_layer_id等于特定值layerId的当前图片不是与NoOutputBeforeRecoveryFlag等于1的CRA图片相关联的RASL图片、NoOutputBeforeRecoveryFlag等于1的GDR图片、或者NoOutputBeforeRecoveryFlag等于1并且nuh_layer_id等于layerId的GDR图片的恢复图片时,不应当有通过用于生成不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
Figure BDA0003900390240000471
-当nuh_layer_id等于特定值layerId的当前图片不是NoOutputBeforeRecoveryFlag等于1的CRA图片、按照解码顺序在与NoOutputBeforeRecoveryFlag等于1的相同CRA图片相关联的前置图片之前的图片、与NoOutputBeforeRecoveryFlag等于1的CRA图片相关联的前置图片、NoOutputBeforeRecoveryFlag等于1的GDR图片、或者NoOutputBeforeRecoveryFlag等于1并且nuh_layer_id等于layerId的GDR图片的恢复图片时,不应当有通过用于生成不可用参考图片的解码过程而生成的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
Figure BDA0003900390240000472
-当当前图片与IRAP图片相关联并且按照输出顺序在IRAP图片之后时,不应当有按照输出顺序或解码顺序在相关联的IRAP图片之前的、RefPicList[0]或RefPicList[1]中的活动条目所参考的图片。
Figure BDA0003900390240000481
-当当前图片与IRAP图片相关联、按照输出顺序在IRAP图片之后、并且按照解码顺序和输出顺序都在与相同的IRAP图片相关联的前置图片(如果有的话)之后时,不应当有按照输出顺序或解码顺序在相关联的IRAP图片之前的、RefPicList[0]或RefPicList[1]中的条目所参考的图片。
Figure BDA0003900390240000482
-当当前图片是RADL图片时,在RefPicList[0]或RefPicList[1]中不应当有作为以下任何一个的活动条目:
o RASL图片
o按照解码顺序在相关联的IRAP图片之前的图片
Figure BDA0003900390240000483
-当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应当在与当前图片相同的AU中。
-当前图片的条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目所参考的图片应当存在于DPB中,并且应当具有小于当前图片的nuh_layer_id的nuh_layer_id。
-条带的RefPicList[0]或RefPicList[1]中的每个ILRP条目应当是活动条目。
图5是示出可以在其中实施本文公开的各种技术的示例视频处理系统1900的框图。各种实施方式可以包括系统1900的一些或所有组件。系统1900可以包括用于接收视频内容的输入1902。视频内容可以以例如8或10比特多分量像素值的原始或未压缩格式而接收,或者可以是压缩或编码格式。输入1902可以表示网络接口、外围总线接口或存储接口。网络接口的示例包括诸如以太网、无源光网络(PON)等的有线接口和诸如Wi-Fi或蜂窝接口的无线接口。
系统1900可以包括可以实施本文档中描述的各种编解码或编码方法的编解码组件1904。编解码组件1904可以将来自输入1902的视频的平均比特率减小到编解码组件1904的输出,以产生视频的编解码表示。编解码技术因此有时被称为视频压缩或视频转码技术。编解码组件1904的输出可以被存储,或者经由如组件1906所表示的通信连接来发送。在输入1902处接收的视频的存储或通信传送的比特流(或编解码)表示可以由组件1908用于生成像素值或传送到显示接口1910的可显示视频。从比特流表示生成用户可视视频的过程有时被称为视频解压缩。此外,虽然某些视频处理操作被称为“编解码”操作或工具,但是将理解,编解码工具或操作在编码器处被使用,并且反转编解码结果的对应的解码工具或操作将由解码器执行。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)、或高清晰度多媒体接口(HDMI)、或显示端口(Displayport)等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文档中描述的技术可以体现在各种电子设备中,诸如移动电话、膝上型电脑、智能电话、或能够执行数字数据处理和/或视频显示的其他设备。
图6是视频处理装置3600的框图。装置3600可以用于实施本文描述的一种或多种方法。装置3600可以体现在智能手机、平板电脑、计算机、物联网(IoT)接收器等中。装置3600可以包括一个或多个处理器3602、一个或多个存储器3604和视频处理硬件3606。(多个)处理器3602可以被配置为实施本文档中描述的一种或多种方法。存储器(多个存储器)3604可以用于存储用于实施本文描述的方法和技术的数据和代码。视频处理硬件3606可以用于在硬件电路系统中实施本文档中描述的一些技术。
图8是示出可以利用本公开的技术的示例视频编解码系统100的框图。
如图8所示,视频编解码系统100可以包括源设备110和目标设备120。源设备110生成编码视频数据,其中该源设备110可以被称为视频编码设备。目标设备120可以解码由源设备110生成的编码视频数据,其中该目标设备120可以被称为视频解码设备。
源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括源,诸如视频捕捉设备、从视频内容提供器接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片。视频编码器114对来自视频源112的视频数据进行编码,以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关数据。编解码图片是图片的编解码表示。相关数据可以包括序列参数集、图片参数集和其他语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发送器。编码视频数据可以通过网络130a经由I/O接口116直接发送到目标设备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)标准和其他当前和/或另外的标准。
图9是示出视频编码器200的示例的框图,该视频编码器200可以是图8所示的系统100中的视频编码器114。
视频编码器200可以被配置为执行本公开的任何或所有技术。在图9的示例中,视频编码器200包括多个功能组件。本公开中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
视频编码器200的功能组件可以包括分割单元201、预测单元202(其可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206)、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲区213和熵编码单元214。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括帧内块复制(IBC)单元。IBC单元可以执行IBC模式下的预测,其中至少一个参考图片是当前视频块所在的图片。
此外,诸如运动估计单元204和运动补偿单元205的一些组件可以高度集成,但是出于解释的目的,在图9的示例中被单独表示。
分割单元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可以执行一个或多个熵编码操作,以生成熵编码数据,并输出包括该熵编码数据的比特流。
所公开的技术的一些实施例包括做出启用视频处理工具或模式的决定或确定。在示例中,当启用视频处理工具或模式时,编码器将在视频的块的处理中使用或实施该工具或模式,但可能不一定基于该工具或模式的使用来修改产生的比特流。也就是说,当基于该决定或确定来启用视频处理工具或模式时,从视频的块到视频的比特流(或比特流表示)的转换将使用该视频处理工具或模式。在另一示例中,当启用视频处理工具或模式时,解码器将在知道比特流已经基于视频处理工具或模式而修改的情况下处理比特流。也就是说,将使用基于该决定或确定而启用的视频处理工具或模式来执行从视频的比特流到视频的块的转换。
图10是示出视频解码器300的示例的框图,该视频解码器300可以是图8所示的系统100中的视频解码器114。
视频解码器300可以被配置为执行本公开的任何或所有技术。在图10的示例中,视频解码器300包括多个功能组件。本公开中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置为执行本公开中描述的任何或所有技术。
在图10的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲区307。在一些示例中,视频解码器300可以执行通常与针对视频编码器200(图9)描述的编码过程相反的解码过程。
熵解码单元301可以检索编码比特流。编码比特流可以包括熵编解码的视频数据(例如,视频数据的编码块)。熵解码单元301可以对熵编解码的视频数据进行解码,并且从熵解码的视频数据中,运动补偿单元302可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元302可以例如通过执行AMVP和Merge模式来确定这样的信息。
运动补偿单元302可以产生运动补偿块,可以基于插值滤波器执行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元302可以使用如视频编码器200在视频块的编码期间所使用的插值滤波器来计算参考块的子整数像素的插值。运动补偿单元302可以根据所接收的语法信息确定视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸、描述编码视频序列的图片的每个宏块如何被分割的分割信息、指示每个分割如何被编码的模式、每个帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于对编码视频序列进行解码的其他信息。
帧内预测单元303可以使用例如在比特流中接收的帧内预测模式来从空域上相邻的块形成预测块。逆量化单元303对在比特流中提供并由熵解码单元301解码的量化后的视频块系数进行逆量化,即,反量化。逆变换单元303应用逆变换。
重构单元306可以将残差块与由运动补偿单元202或帧内预测单元303生成的对应预测块相加,以形成解码块。如果需要,还可以应用去方块滤波器对解码块进行滤波,以便移除块效应。解码视频块然后被存储在缓冲区307中,为随后的运动补偿/帧内预测提供参考块,并且还产生解码视频以在显示设备上呈现。
接下来提供一些实施例优选的解决方案的列表。
以下解决方案示出了在前一节(例如,第1项)中讨论的技术的示例实施例。
1.一种视频处理方法(例如,在图7中示出的方法700),包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换(702),其中编解码表示符合指定包括一个或多个子图片的一个或多个图片根据网络抽象层(NAL)单元而被包括在编解码表示中的格式规则,其中在编解码表示中指示的类型NAL单元包括特定类型的图片的编解码条带或特定类型的子图片的编解码条带。
以下解决方案示出了在前一节(例如,第2项)中讨论的技术的示例实施例。
2.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合指定具有不同网络抽象层单元类型的两个邻近子图片将具有被视为图片标志的子图片的相同指示的格式规则。
以下解决方案示出了在前一节(例如,第4、5、6、7、9、1、11、12项)中讨论的技术的示例实施例。
3.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合定义第一类型的子图片和第二类型的子图片的顺序的格式规则,其中第一子图片是后置子图片或前置子图片或随机访问跳过前置(RASL)子图片类型,并且第二子图片是RASL类型或随机访问可解码前置(RADL)类型或即时解码刷新(IDR)类型或逐渐解码刷新(GDR)类型子图片。
4.根据解决方案3所述的方法,其中,该规则指定后置子图片按照输出顺序在相关联的帧内随机访问点或GDR子图片之后。
5.根据解决方案3所述的方法,其中,该规则指定,当图片是帧内随机访问点图片的前置图片时,图片中的所有网络抽象层单元的nal_unit_type值等于RADL_NUT或RASL_NUT。
6.根据解决方案3所述的方法,其中,该规则指定作为IRAP子图片的前置子图片的给定子图片也必须是RADL或RASL子图片。
7.根据解决方案3所述的方法,其中,该规则指定不允许作为RASL子图片的给定子图片与IDR子图片相关联。
8.根据解决方案3所述的方法,其中,该规则指定具有与IRAP子图片相同的层id和子图片索引的给定子图片按照输出顺序必须在IRAP子图片及其所有相关联的RADL子图片之前。
9.根据解决方案3所述的方法,其中,该规则指定具有与GDR子图片相同的层id和子图片索引的给定子图片按照输出顺序必须在GDR子图片及其所有相关联的RADL子图片之前。
10.根据解决方案3所述的方法,其中,该规则指定作为与CRA子图片相关联的RASL子图片的给定子图片按照输出顺序在与CRA子图片相关联的所有RADL子图片之前。
11.根据解决方案3所述的方法,其中,该规则指定作为与CRA子图片相关联的RASL子图片的给定子图片按照输出顺序在与CRA子图片相关联的所有IRAP子图片之前。
12.根据解决方案3所述的方法,其中,该规则指定给定子图片是具有IRAP子图片的前置子图片,给定子图片按照解码顺序在与IRAP图片相关联的所有非前置子图片之前。
以下解决方案示出了在前一节(例如,第8、14、15项)中讨论的技术的示例实施例。
13.一种视频处理方法,包括:执行包括包含一个或多个子图片的一个或多个图片的视频和视频的编解码表示之间的转换,其中编解码表示符合定义允许或不允许第一类型的子图片与第二类型的子图片一起出现的条件的格式规则。
14.根据解决方案13所述的方法,其中,该规则指定,在有网络抽象层类型IDR_N_LP的IDR子图片的情况下,不允许编解码表示具有RADP子图片。
15.根据解决方案13所述的方法,其中,该规则不允许将图片包括在包括逐步时域子层访问(STSA)子图片的图片的参考列表中,使得该图片在包括STSA子图片的图片之前。
16.根据解决方案13所述的方法,其中,该规则不允许将图片包括在包括帧内随机访问点(IRAP)子图片的图片的参考列表中,使得该图片在包括IRAP子图片的图片之前。
以下解决方案示出了在前一节(例如,第21-26项)中讨论的技术的示例实施例。
17.一种视频处理的方法,包括:执行包括包含一个或多个子图片的一个或多个视频图片的视频和视频的编解码表示之间的转换;其中编解码表示包括按照根据规则的顺序的视频图片的一个或多个层。
以下解决方案示出了在前一节(例如,第21项)中讨论的技术的示例实施例。
18.根据解决方案17所述的方法,其中,该规则指定不是类型帧内随机访问点的前置图片的子图片不能具有随机访问可解码前置(RADL)或随机访问跳过前置(RASL)子图片类型。
以下解决方案示出了在前一节(例如,第22项)中讨论的技术的示例实施例。
19.根据解决方案17-18中任一项所述的方法,其中,该规则指定在恢复点图片中按照解码顺序在第二子图片之前的第一子图片按照输出顺序也必须在第二子图片之前,其中第一子图片和第二子图片属于相同的层并且具有相同的子图片索引。
以下解决方案示出了在前一节(例如,第23项)中讨论的技术的示例实施例。
20.根据解决方案17-19中任一项所述的方法,其中,该规则指定参考图片列表所参考的视频图片按照输出顺序或解码顺序在具有与CRA子图片具有相同的层id和子图片索引的帧内随机访问点子图片的完全随机访问(CRA)子图片之前。
以下解决方案示出了在前一节(例如,第24项)中讨论的技术的示例实施例。
21.根据解决方案17-20中任一项所述的方法,其中,该规则指定,当当前子图片按照解码和输出顺序都在具有nuh_layer_id的相同值和子图片索引的相同值的帧内随机访问点(IRAP)子图片之后时,不允许参考图片列表中的活动条目所参考的图片按照输出顺序或解码顺序在包含该IRAP子图片的图片之前。
以下解决方案示出了在前一节(例如,第25项)中讨论的技术的示例实施例。
22.根据解决方案17-21中任一项所述的方法,其中,该规则指定,当当前子图片按照解码和输出顺序都在具有nuh_layer_id的相同值和子图片索引的相同值的帧内随机访问点IRAP子图片以及与该IRAP子图片相关联的前置子图片之后时,不应当有按照输出顺序或解码顺序在包含该IRAP子图片的图片之前的、参考图片列表中的条目所参考的图片。
以下解决方案示出了在前一节(例如,第26项)中讨论的技术的示例实施例。
23.根据解决方案17-22中任一项所述的方法,其中,该规则指定,当nuh_layer_id等于特定值layerId并且子图片索引等于特定值subpicIdx的当前子图片是RADL子图片时,在参考图片列表中不应当有作为以下中的任何一个的活动条目:(a)包含子图片索引等于subpicIdx的RASL子图片的、nuh_layer_id等于layerId的图片,或者(b)按照解码顺序在包含相关联的IRAP子图片的图片之前的图片。
24.根据解决方案1至23中任一项所述的方法,其中,该转换包括将视频编码为编解码表示。
25.根据解决方案1至23中任一项所述的方法,其中,该转换包括对编解码表示进行解码以生成视频的像素值。
26.一种视频解码装置,包括被配置为实施根据解决方案1至25中的一项或多项所述的方法的处理器。
27.一种视频编码装置,包括被配置为实施根据解决方案1至25中的一项或多项所述的方法的处理器。
28.一种存储有计算机代码的计算机程序产品,该代码在由处理器执行时使得处理器实施根据解决方案1至25中任一项所述的方法。
29.一种本文档中描述的方法、装置或系统。
在本文描述的解决方案中,编码器可以通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以在根据格式规则知道语法元素的存在和不存在的情况下,使用格式规则来解析编解码表示中的语法元素,以产生解码视频。
图11示出了视频处理的示例方法1100的流程图。操作1102包括执行包括包含一个或多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中比特流符合格式规则,该格式规则指定,响应于子图片不是帧内随机访问点子图片的前置子图片,子图片不能是随机访问类型的子图片,并且其中前置子图片按照输出顺序在帧内随机访问点子图片之前。
在方法1100的一些实施例中,帧内随机访问点子图片是所有视频编解码层(VCL)网络抽象层(NAL)单元具有在IDR_W_RADL到CRA_NUT的范围内的NAL单元类型的相同值的子图片,该范围包括IDR_W_RADL和CRA_NUT。在方法1100的一些实施例中,随机访问类型的子图片包括随机访问可解码前置子图片。在方法1100的一些实施例中,随机访问可解码前置子图片是每个视频编解码层(VCL)网络抽象层(NAL)单元具有等于RADL_NUT的NAL单元类型的子图片。在方法1100的一些实施例中,随机访问类型的子图片包括随机访问跳过前置子图片。在方法1100的一些实施例中,随机访问跳过前置子图片是每个视频编解码层(VCL)网络抽象层(NAL)具有等于RASL_NUT的NAL单元类型的子图片。
图12示出了视频处理的示例方法1200的流程图。操作1202包括执行包括包含多个子图片的一个或多个图片的视频和视频的比特流之间的转换,其中比特流符合格式规则,该格式规则指定,响应于以下情况,第一子图片在恢复点图片中按照输出顺序在第二子图片之前:第一子图片和第二图片具有网络抽象层(NAL)单元的相同层标识符和相同的子图片索引,以及第一子图片按照解码顺序在第二子图片之前。
图13示出了视频处理的示例方法1300的流程图。操作1302包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的条目包括根据第一顺序在根据第二顺序在当前图片之前的第二图片之前的第一图片,其中第二图片包括具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片是完全随机访问子图片。
在方法1300的一些实施例中,第一顺序包括解码顺序或输出顺序。在方法1300的一些实施例中,第二顺序包括解码顺序。在方法1300的一些实施例中,参考图片列表包括列表0参考图片列表。在方法1300的一些实施例中,参考图片列表包括列表1参考图片列表。在方法1300的一些实施例中,完全随机访问子图片是每个视频编解码层(VCL)NAL单元具有等于CRA_NUT的NAL单元类型的帧内随机访问点子图片。
图14示出了视频处理的示例方法1400的流程图。操作1402包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的活动条目包括根据第一顺序在第二图片之前的第一图片,其中第二图片包括具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片按照第二顺序在帧内随机访问点子图片之后。
在方法1400的一些实施例中,第一顺序包括解码顺序或输出顺序。在方法1400的一些实施例中,活动条目对应于可用作当前条带的帧间预测中的参考索引的条目。在方法1400的一些实施例中,第二顺序包括解码顺序和输出顺序。在方法1400的一些实施例中,参考图片列表包括列表0参考图片列表。在方法1400的一些实施例中,参考图片列表包括列表1参考图片列表。
图15示出了视频处理的示例方法1500的流程图。操作1502包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,其中格式规则指定在比特流中指示图片的顺序,其中格式规则不允许当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在第二图片之前的第一图片,其中第二图片包括具有零个或更多个相关联的前置子图片并且具有与当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且其中当前子图片按照第一顺序和第二顺序在帧内随机访问点子图片以及零个或多个相关联的前置子图片之后。
在方法1500的一些实施例中,第一顺序包括解码顺序。在方法1500的一些实施例中,第二顺序包括输出顺序。在方法1500的一些实施例中,参考图片列表包括列表0参考图片列表。在方法1500的一些实施例中,参考图片列表包括列表1参考图片列表。
图16示出了视频处理的示例方法1600的流程图。操作1602包括执行包括当前图片的视频和视频的比特流之间的转换,该当前图片包括包含当前条带的当前子图片,其中比特流符合格式规则,该格式规则指定,响应于当前子图片是随机访问可解码前置子图片,不允许当前条带的参考图片列表的活动条目包括以下中的任何一个或多个:第一图片,包括具有与当前子图片相同的子图片索引的随机访问跳过前置子图片,以及第二图片,按照解码顺序在包括与随机访问可解码前置子图片相关联的帧内随机访问点子图片的第三图片之前。
在方法1600的一些实施例中,活动条目对应于可用作当前条带的帧间预测中的参考索引的条目。在方法1600的一些实施例中,参考图片列表包括列表0参考图片列表。在方法1600的一些实施例中,参考图片列表包括列表1参考图片列表。
在方法1100-1600的一些实施例中,执行转换包括将视频编码为比特流。在方法1100-1600的一些实施例中,执行转换包括从视频生成比特流,并且该方法还包括将比特流存储在非暂时性计算机可读记录介质中。在方法1100-1600的一些实施例中,执行转换包括从比特流解码视频。
在一些实施例中,一种视频解码装置包括被配置为实施针对方法1100-1600描述的操作的处理器。在一些实施例中,一种视频编码装置包括被配置为实施针对方法1100-1600描述的操作的处理器。在一些实施例中,一种存储有计算机指令的计算机程序产品,该指令在由处理器执行时使得处理器实施针对方法1100-1600描述的操作。在一些实施例中,一种非暂时性计算机可读存储介质存储根据针对方法1100-1600描述的操作而生成的比特流。在一些实施例中,一种非暂时性计算机可读存储介质存储使得处理器实施针对方法1100-1600描述的操作的指令。在一些实施例中,一种比特流生成的方法,包括:根据针对方法1100-1600描述的操作来生成视频的比特流,以及将比特流存储在计算机可读程序介质上。一些实施例包括如本文档所描述的一种方法、一种装置、一种根据所公开的方法而生成的比特流、或者一种系统。
在本文档中,术语“视频处理”可以指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义的,当前视频块的比特流表示可以例如对应于并置或者散布在比特流内的不同地方的比特。例如,可以按照变换和编解码的误差残差值并且还使用比特流中的标头和其他字段中的比特对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案所描述的。类似地,编码器可以确定包括或不包括某些语法字段,并通过包括语法字段或从编解码表示中排除语法字段来相应地生成编解码表示。
本文档中描述的所公开的以及其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路中、或者在计算机软件、固件或硬件(包括本文档中公开的结构及其结构等同物)中、或者在它们中的一个或多个的组合中被实施。所公开的以及其他实施例可以被实施为一个或多个计算机程序产品,即在计算机可读介质上编码的计算机程序指令的一个或多个模块,该计算机程序指令用于由数据处理装置执行或控制数据处理装置的操作。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质的组合、或它们中的一个或多个的组合。术语“数据处理装置”包含用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机、或多个处理器或计算机。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是被生成以对信息进行编码以用于发送到合适的接收器装置的人工生成的信号,例如机器生成的电信号、光学信号或电磁信号。
计算机程序(也已知为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子例程或其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,存储在专用于所讨论的程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个站点上或跨多个站点分布并通过通信网络互连的多个计算机上执行。
本文档书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合于执行计算机程序的处理器包括例如通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或可操作地耦合以从该一个或多个大容量存储设备接收数据或向该一个或多个大容量存储设备传递数据、或者从其接收数据并向其传递数据。然而,计算机不需要这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可换式盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本专利文档包含许多细节,但这些细节不应被解释为对任何主题或可能要求保护的范围的限制,而是作为指定于特定技术的特定实施例的特征的描述。在本专利文档中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独在多个实施例中或以任何合适的子组合实施。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合排除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为需要以所示的特定顺序或以先后顺序执行这样的操作或者执行所有示出的操作以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离。
仅描述了一些实施方式和示例,并且可以基于本专利文档中描述和示出的内容来进行其他实施方式、增强和变化。

Claims (38)

1.一种视频处理的方法,包括:
执行包括包含一个或多个子图片的一个或多个图片的视频和所述视频的比特流之间的转换,
其中,所述比特流符合格式规则,所述格式规则指定,响应于子图片不是帧内随机访问点子图片的前置子图片,所述子图片不能是随机访问类型的子图片,并且
其中,所述前置子图片按照输出顺序在所述帧内随机访问点子图片之前。
2.根据权利要求1所述的方法,其中,所述帧内随机访问点子图片是所有视频编解码层(VCL)网络抽象层(NAL)单元具有在IDR_W_RADL到CRA_NUT的范围内的NAL单元类型的相同值的子图片,所述范围包括IDR_W_RADL和CRA_NUT。
3.根据权利要求1所述的方法,其中,所述随机访问类型的子图片包括随机访问可解码前置子图片。
4.根据权利要求3所述的方法,其中,所述随机访问可解码前置子图片是每个视频编解码层(VCL)网络抽象层(NAL)单元具有等于RADL_NUT的NAL单元类型的子图片。
5.根据权利要求1所述的方法,其中,所述随机访问类型的子图片包括随机访问跳过前置子图片。
6.根据权利要求5所述的方法,其中,所述随机访问跳过前置子图片是每个视频编解码层(VCL)网络抽象层(NAL)具有等于RASL_NUT的NAL单元类型的子图片。
7.一种视频处理的方法,包括:
执行包括包含多个子图片的一个或多个图片的视频和所述视频的比特流之间的转换,
其中,所述比特流符合格式规则,所述格式规则指定,响应于以下情况,第一子图片在恢复点图片中按照输出顺序在第二子图片之前:
所述第一子图片和所述第二图片具有网络抽象层(NAL)单元的相同层标识符和相同的子图片索引,以及
所述第一子图片按照解码顺序在所述第二子图片之前。
8.一种视频处理的方法,包括:
执行包括当前图片的视频和所述视频的比特流之间的转换,所述当前图片包括包含当前条带的当前子图片,
其中,所述比特流符合格式规则,
其中,所述格式规则指定在所述比特流中指示图片的顺序,
其中,所述格式规则不允许所述当前条带的参考图片列表中的条目包括根据第一顺序在根据第二顺序在所述当前图片之前的第二图片之前的第一图片,
其中,所述第二图片包括具有与所述当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且
其中,所述当前子图片是完全随机访问子图片。
9.根据权利要求8所述的方法,其中,所述第一顺序包括解码顺序或输出顺序。
10.根据权利要求8-9中任一项所述的方法,其中,所述第二顺序包括解码顺序。
11.根据权利要求8-10中任一项所述的方法,其中,所述参考图片列表包括列表0参考图片列表。
12.根据权利要求8-10中任一项所述的方法,其中,所述参考图片列表包括列表1参考图片列表。
13.根据权利要求8-12中任一项所述的方法,其中,所述完全随机访问子图片是每个视频编解码层(VCL)NAL单元具有等于CRA_NUT的NAL单元类型的帧内随机访问点子图片。
14.一种视频处理的方法,包括:
执行包括当前图片的视频和所述视频的比特流之间的转换,所述当前图片包括包含当前条带的当前子图片,
其中,所述比特流符合格式规则,
其中,所述格式规则指定在所述比特流中指示图片的顺序,
其中,所述格式规则不允许所述当前条带的参考图片列表中的活动条目包括根据第一顺序在第二图片之前的第一图片,
其中,所述第二图片包括具有与所述当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且
其中,所述当前子图片按照第二顺序在所述帧内随机访问点子图片之后。
15.根据权利要求14所述的方法,其中,所述第一顺序包括解码顺序或输出顺序。
16.根据权利要求14至15中任一项所述的方法,其中,所述活动条目对应于可用作所述当前条带的帧间预测中的参考索引的条目。
17.根据权利要求14所述的方法,其中,所述第二顺序包括解码顺序和输出顺序。
18.根据权利要求14-17中任一项所述的方法,其中,所述参考图片列表包括列表0参考图片列表。
19.根据权利要求14-17中任一项所述的方法,其中,所述参考图片列表包括列表1参考图片列表。
20.一种视频处理的方法,包括:
执行包括当前图片的视频和所述视频的比特流之间的转换,所述当前图片包括包含当前条带的当前子图片,
其中,所述比特流符合格式规则,
其中,所述格式规则指定在所述比特流中指示图片的顺序,
其中,所述格式规则不允许所述当前条带的参考图片列表中的条目包括按照第一顺序或第二顺序在第二图片之前的第一图片,
其中,所述第二图片包括具有零个或更多个相关联的前置子图片并且具有与所述当前子图片相同的网络抽象单元(NAL)单元的层标识符和相同的子图片索引的帧内随机访问点子图片,并且
其中,所述当前子图片按照第一顺序和第二顺序在所述帧内随机访问点子图片以及零个或多个相关联的前置子图片之后。
21.根据权利要求20所述的方法,其中,所述第一顺序包括解码顺序。
22.根据权利要求20所述的方法,其中,所述第二顺序包括输出顺序。
23.根据权利要求20-22中任一项所述的方法,其中,所述参考图片列表包括列表0参考图片列表。
24.根据权利要求20-22中任一项所述的方法,其中,所述参考图片列表包括列表1参考图片列表。
25.一种视频处理的方法,包括:
执行包括当前图片的视频和所述视频的比特流之间的转换,所述当前图片包括包含当前条带的当前子图片,
其中,所述比特流符合格式规则,所述格式规则指定,响应于所述当前子图片是随机访问可解码前置子图片,不允许所述当前条带的参考图片列表的活动条目包括以下中的任何一个或多个:
第一图片,包括具有与所述当前子图片相同的子图片索引的随机访问跳过前置子图片,以及
第二图片,按照解码顺序在包括与所述随机访问可解码前置子图片相关联的帧内随机访问点子图片的第三图片之前。
26.根据权利要求25所述的方法,其中,所述活动条目对应于可用作所述当前条带的帧间预测中的参考索引的条目。
27.根据权利要求25所述的方法,其中,所述参考图片列表包括列表0参考图片列表。
28.根据权利要求25所述的方法,其中,所述参考图片列表包括列表1参考图片列表。
29.根据权利要求1至28中任一项所述的方法,其中,执行所述转换包括将所述视频编码为所述比特流。
30.根据权利要求1至28中任一项所述的方法,其中,执行所述转换包括从所述视频生成所述比特流,并且所述方法还包括将所述比特流存储在非暂时性计算机可读记录介质中。
31.根据权利要求1至28中任一项所述的方法,其中,执行所述转换包括从所述比特流解码所述视频。
32.一种视频解码装置,包括被配置为实施根据权利要求1至31中的一项或多项所述的方法的处理器。
33.一种视频编码装置,包括被配置为实施根据权利要求1至31中的一项或多项所述的方法的处理器。
34.一种存储有计算机指令的计算机程序产品,所述指令在由处理器执行时使得所述处理器实施根据权利要求1至31中任一项所述的方法。
35.一种非暂时性计算机可读存储介质,存储根据权利要求1至31中任一项所述的方法而生成的比特流。
36.一种存储指令的非暂时性计算机可读存储介质,所述指令使得处理器实施根据权利要求1至31中任一项所述的方法。
37.一种比特流生成的方法,包括:
根据权利要求1至31中任一项所述的方法来生成视频的比特流,以及
将所述比特流存储在计算机可读程序介质上。
38.本文档中描述的一种方法、一种装置、一种根据所公开的方法而生成的比特流、或者一种系统。
CN202180029943.5A 2020-04-20 2021-04-19 对参考图片列表的约束 Pending CN115462070A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063012713P 2020-04-20 2020-04-20
US63/012,713 2020-04-20
PCT/US2021/027963 WO2021216448A1 (en) 2020-04-20 2021-04-19 Constraints on reference picture lists

Publications (1)

Publication Number Publication Date
CN115462070A true CN115462070A (zh) 2022-12-09

Family

ID=78269884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180029943.5A Pending CN115462070A (zh) 2020-04-20 2021-04-19 对参考图片列表的约束

Country Status (7)

Country Link
US (2) US11889060B2 (zh)
EP (1) EP4122195A4 (zh)
JP (1) JP2023522224A (zh)
KR (1) KR20230002395A (zh)
CN (1) CN115462070A (zh)
BR (1) BR112022021342A2 (zh)
WO (1) WO2021216448A1 (zh)

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2542266C (en) 2004-04-28 2012-07-17 Matsushita Electric Industrial Co. Ltd. Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
US8665968B2 (en) 2009-09-30 2014-03-04 Broadcom Corporation Method and system for 3D video coding using SVC spatial scalability
US10003817B2 (en) * 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US9503702B2 (en) 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
US9979959B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
US9736476B2 (en) 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US20140003504A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US9491457B2 (en) 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
US20140092953A1 (en) 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
CN104704850A (zh) 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
US9325997B2 (en) 2012-11-16 2016-04-26 Huawei Technologies Co., Ltd Signaling scalability information in a parameter set
KR101981712B1 (ko) 2012-11-21 2019-05-24 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치
US9521393B2 (en) 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
US20140218473A1 (en) 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
US9998735B2 (en) * 2013-04-01 2018-06-12 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
US9674533B2 (en) 2013-04-05 2017-06-06 Qualcomm Incorporated Picture alignments in multi-layer video coding
KR20150009467A (ko) 2013-07-15 2015-01-26 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
US9860529B2 (en) 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
WO2015015058A1 (en) * 2013-07-31 2015-02-05 Nokia Corporation Method and apparatus for video coding and decoding
US10116948B2 (en) 2014-02-21 2018-10-30 Sharp Kabushiki Kaisha System for temporal identifier handling for hybrid scalability
WO2015140401A1 (en) 2014-03-17 2015-09-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
CA3171803A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9800898B2 (en) 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
US20170105004A1 (en) 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture
MX2021011021A (es) 2019-03-11 2021-11-12 Huawei Tech Co Ltd Imágenes con tipos de unidad nal mezclados.
BR112021022174A2 (pt) * 2019-05-11 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método para processar dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação
US11166033B2 (en) 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
US11483558B2 (en) 2019-06-21 2022-10-25 Tencent America LLC Method for region-wise scalability with adaptive resolution change
US20210076074A1 (en) 2019-09-11 2021-03-11 Qualcomm Incorporated Maximum and minimum block sizes signaling at high level syntax for video coding and transform units
WO2021073488A1 (en) * 2019-10-13 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Interplay between reference picture resampling and video coding tools
US11375232B2 (en) 2019-12-10 2022-06-28 Zte (Uk) Limited Sub picture signaling in video coding
JP2023507348A (ja) 2019-12-20 2023-02-22 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ビデオストリームにおいて異なるnalユニットタイプのnalユニットを混合するためのデコーダ、エンコーダおよび方法
US20230045490A1 (en) 2019-12-23 2023-02-09 Lg Electronics Inc. Image or video coding based on nal unit-associated information
US11399188B2 (en) 2020-01-01 2022-07-26 Tencent America LLC Method for mixed NAL unit type support in a coded picture
WO2021136554A1 (en) * 2020-01-05 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. General constraints information for video coding
CN115868165A (zh) * 2020-03-21 2023-03-28 抖音视界有限公司 参考图片重采样

Also Published As

Publication number Publication date
US11889060B2 (en) 2024-01-30
BR112022021342A2 (pt) 2022-12-13
KR20230002395A (ko) 2023-01-05
US20240137493A1 (en) 2024-04-25
EP4122195A1 (en) 2023-01-25
WO2021216448A1 (en) 2021-10-28
JP2023522224A (ja) 2023-05-29
US20230059682A1 (en) 2023-02-23
EP4122195A4 (en) 2023-06-21

Similar Documents

Publication Publication Date Title
US20230017513A1 (en) Use of Subpicture Information in Video Coding
US20240048689A1 (en) Sublayers information in video coding
CN115769571A (zh) 视频编解码中的解码的图片缓冲器管理和子图片
CN115699732A (zh) 视频编解码中的参考图片重采样
CN115299052A (zh) 对参考图片列表条目的约束
CN115315941A (zh) 可缩放视频编解码中的解码图片缓冲存储器分配和图片输出
CN115668924A (zh) 参考图片信息的约束
CN115668949A (zh) 编解码视频中的帧间层参考图片的标识
US20240137493A1 (en) Constraints On Reference Picture Lists
CN115699772A (zh) 视频编解码中的补充增强信息的约束

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination