CN116648913A - 视频解码器初始化信息约束 - Google Patents

视频解码器初始化信息约束 Download PDF

Info

Publication number
CN116648913A
CN116648913A CN202180086802.7A CN202180086802A CN116648913A CN 116648913 A CN116648913 A CN 116648913A CN 202180086802 A CN202180086802 A CN 202180086802A CN 116648913 A CN116648913 A CN 116648913A
Authority
CN
China
Prior art keywords
video
initialization information
codec
decoder
bitstream
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
CN202180086802.7A
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 CN116648913A publication Critical patent/CN116648913A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors

Abstract

公开了一种处理视频数据的机制。视频解码器初始化信息在编码器和解码器之间被信令通知。当根据相同视频编解码器和相同档次对多个视频单元进行编解码时,视频解码器初始化信息包含多个视频单元的一系列初始化参数。基于一系列初始化参数执行可视媒体数据和可视媒体数据文件之间的转换。

Description

视频解码器初始化信息约束
相关申请的交叉引用
本专利申请要求Ye-Kui Wang等人于2020年12月23日提交的、名称为“视频解码器初始化信息”的国际申请No.PCT/CN2020/138662和Ye-Kui Wang等人于2021年1月6日提交的、名称为“视频解码器初始化信息”的国际申请No.PCT/CN2021/070411的权益,上述国际申请通过引用并入本文。
技术领域
本专利涉及文件格式中的数字音频视频媒体信息的生成、存储和消耗。
背景技术
在互联网和其他数字通信网络中,数字视频占用了最大的带宽。随着能够接收和显示视频的连接用户设备数量的增加,预计数字视频使用的带宽需求将继续增长。
发明内容
第一个方面涉及一种处理视频数据的方法,包括:当根据相同视频编解码器和相同档次对多个视频单元进行编解码时,信令通知包含多个视频单元的一系列初始化参数的视频解码器初始化信息;以及基于一系列初始化参数执行可视媒体数据和可视媒体数据文件之间的转换。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:多个视频单元包括包含编解码视频序列的比特流,并且,仅当根据相同视频编解码器对编解码视频序列进行编解码时以及当编解码视频序列符合相同档次时,才信令通知视频解码器初始化信息。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:多个视频单元包括视频轨道,解码器初始化信息在国际标准化组织(ISO)基本媒体文件格式(ISOBMFF)文件的文件级别框或电影级别框中被信令通知,并且视频解码器初始化信息应用于使用相同视频编解码器的相同档次的一组或多组替代视频轨道。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:多个视频单元包括视频轨道,解码器初始化信息在ISOBMFF文件的文件级别框或电影级别框中被信令通知,并且视频解码器初始化信息适用于使用相同视频编解码器的相同档次的所有视频轨道。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:多个视频单元包括视频轨道中的样点条目,解码器初始化信息在ISOBMFF文件的轨道级别框中被信令通知,并且解码器初始化信息应用于视频轨道。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:要求视频轨道的所有样点条目指示相同视频编解码器的相同档次。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息在ISOBMFF文件的轨道组框中被信令通知,并且解码器初始化信息的存在指示视频轨道是一组视频轨道的一部分,一组视频轨道全部使用相同视频编解码器的相同档次并且共享相同的解码器初始化信息。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息的存在指示一组视频轨道中的所有轨道中的所有样点条目使用相同视频编解码器的相同档次并且共享相同解码器初始化信息。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息在ISOBMFF文件的轨道级别框中被信令通知,并且解码器初始化信息指示当前轨道,并且被指示为当前轨道的替代轨道的所有轨道使用相同视频编解码器的相同档次并且共享相同解码器初始化信息。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:多个视频单元包括自适应集中的表示,并且仅当根据相同视频编解码器对表示进行编解码时以及当表示符合相同档次时,才信令通知视频解码器初始化信息。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息在基于超文本传输协议的动态自适应流(DASH)媒体呈现描述(MPD)中的自适应集中被信令通知,并且解码器初始化信息适用于自适应集中使用相同视频编解码器的相同档次的所有表示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息的存在指示自适应集的所有表示使用相同视频编解码器的相同档次。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括当解码比特流时存储在解码图片缓冲器(DPB)中的解码图片的最大数量(maxDecPics)、比特流中编解码图片的最大解码图片宽度(maxDecPicW)、比特流中编解码图片的最大解码图片高度(maxDecPicH)或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括在对应比特流中使用层间预测、参考图片重采样、环绕运动补偿、来自参考图片的运动矢量预测、调色板编解码模式、自适应色彩变换、帧内块复制、自适应环路滤波器(ALF)自适应参数集(APS)NAL单元、具有色度缩放的亮度映射(LMCS)APS NAL单元、缩放列表APSNAL单元或其组合的指示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括当前图片和对应参考图片之间的最大图片顺序计数的指示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供解码器初始化信息包括最大颜色格式、最大比特深度、最大编解码图片缓冲器尺寸、最小编解码单元(CU)尺寸、缩放比例计算信息或者其组合的指示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括对去块、填充、子图片分割、条带分割、片分割、环绕运动补偿、参考图片重采样、长期参考图片或其组合的使用的指示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括对应比特流的所有编解码视频序列(CVS)都符合的最大层、对应比特流的所有CVS都符合的最大等级,或其组合。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括用于执行可视媒体数据和可视媒体数据文件之间的转换的视频编解码器的指示。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:解码器初始化信息包括所有比特流都符合的档次。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:转换包括根据可视媒体数据生成可视媒体数据文件。
可选地,在前述方面的任一方面中,该方面的另一实现方式提供:转换包括解析可视媒体数据文件以获得可视媒体数据。
第二方面涉及一种处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,指令在由处理器执行时使处理器执行前述方面的任一方面的方法。
第三方面涉及一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得计算机可执行指令在由处理器执行时使视频编解码设备执行前述方面的任一方面的方法。
为清晰起见,任何一个前述实施例可与任何一个或多个其他前述实施例组合,以在本公开的范围内形成新的实施例。
从以下结合附图和权利要求的详细说明中,可更清楚地理解这些和其他特征。
附图说明
为了更全面地理解本公开内容,现结合附图和详细说明参考以下简要说明,其中相同的参考数字代表相同的部件。
图1是用于建立与SDP的通信会话的示例机制的协议图;
图2是用于根据DASH执行视频流式传输的示例机制的协议图;
图3是图示在DASH中使用的MPD对视频的描述的示意图;
图4为ISOBMFF中存储的媒体文件的示意图;
图5是包含编码可视媒体数据的比特流的示意图;
图6是示出示例视频处理系统的框图;
图7是示例视频处理装置的框图;
图8是视频处理的示例方法的流程图;
图9是图示示例视频编解码系统的框图;
图10是图示示例编码器的框图;
图11是图示示例解码器的框图;以及
图12是示例编码器的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但可使用任何数量的技术实现所公开的系统和/或方法,无论是当前已知的还是待开发的。本公开不应以任何方式限于以下示出的示例性实现方式、附图和技术,包括在此示出和描述的示例性设计和实现方式,而是可以在所附权利要求及其等同物的全部范围内进行修改。
多功能视频编解码(VVC),也称为H.266,在某些描述中使用术语仅是为了便于理解,而不是为了限制所公开技术的范围。因此,本文描述的技术也适用于其他视频编解码器协议和设计。在本文中,相对于VVC规范或国际标准化组织(ISO)基本媒体文件格式(ISOBMFF)文件格式规范的当前草案,文本的编辑更改通过删除线表示取消的文本和斜体表示添加的文本。
该专利涉及视频编解码、视频文件格式、视频信令通知和视频应用。具体而言,本文涉及视频解码器初始化信息的信令通知以及这种信令通知用于解码器初始化和重新初始化。这可以帮助避免和/或减少在应用会话期间视频解码器重新初始化的发生,从而帮助改善用户体验。所公开的示例可以单独地或以各种组合方式应用于由诸如VVC标准的任何编解码器编解码的视频比特流,以及用于诸如VVC视频文件格式的任何视频文件格式。所公开的示例还可以用于各种视频应用,包括基于HTTP上的动态自适应流(DASH)的流应用和使用基于会话描述协议(SDP)的信令通知的会话应用。
本公开包括以下缩写。自适应颜色变换(ACT)、自适应环路滤波器(ALF)、自适应运动矢量分辨率(AMVR)、自适应参数集(APS)、接入单元(AU)、接入单元分隔符(AUD)、高级视频编解码(Rec.ITU-T H.264|ISO/IEC 14496-10)(AVC)、双向预测(B)、具有CU级别权重的双向预测(BCW)、双向光流(BDOF)、基于块的增量脉冲编解码调制(BDPCM)、缓冲期(BP)、基于上下文的自适应二进制算术编解码(CABAC)、编解码块(CB)、恒定比特率(CBR)、跨分量自适应环路滤波器(CCALF)、编解码图片缓冲器(CPB)、清洁随机接入(CRA)、循环冗余校验(CRC)、编解码树块(CTB)、编解码树单元(CTU)、编解码单元(CU)、编解码视频序列(CVS)、解码能力信息(DCI)、解码初始化信息(DII)、解码图片缓冲器(DPB)、依赖随机接入点(DRAP)、解码单元(DU)、解码单元信息(DUI)、指数Golomb(EG)、k阶指数Golomb(EGk)、比特流结尾(EOB)、序列结尾(EOS)、填充符数据(FD)、先进先出(FIFO)、固定长度(FL)、绿色、蓝色和红色(GBR)、通用约束信息(GCI)、逐步解码刷新(GDR)、几何分割模式(GPM)、高效视频编解码(也称为Rec.ITU-T H.265|ISO/IEC 23008-2)(HEVC)、假想参考解码器(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)、可变比特率(VBR)、视频编解码层(VCL)、视频参数集(VPS)、多功能补充增强信息(也称为Rec.ITU-T H.274|ISO/IEC 23002-7)(VSEI)、视频可用性信息(VUI)以及多功能视频编解码(也称为Rec.ITU-T H.266|ISO/IEC 23090-3)(VVC)。
视频编解码标准主要是通过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联合成立联合视频探索团队(JVET)。JVET采用了许多方法并将其纳入名为联合探索模型(JEM)的参考软件。当多功能视频编解码(VVC)项目正式启动时,JVET后来更名为联合视频专家团队(JVET)。VVC是编解码标准,目标是与HEVC相比降低50%比特率。VVC已由JVET最终确定。
基本视频编解码(EVC)标准(ISO/IEC 23094-1)是由MPEG开发的另一种视频编解码标准。
下面讨论VVC中的解码能力信息(DCI)。DCI NAL单元是视频编解码比特流的一部分,视频编解码比特流包含比特流级别档次、层和级别(PTL)信息。DCI NAL单元包括可以在VVC比特流的发送方和接收方之间的会话协商期间使用的一个或多个PTL语法结构。当DCINAL单元存在于VVC比特流中时,比特流的CVS中的每个输出层集合(OLS)应符合DCI NAL单元中的至少一个PTL结构中携带的PTL信息。
在AVC和HEVC中,用于会话协商的PTL信息在SPS(用于HEVC和AVC)和VPS(用于HEVC分层扩展)中可用。这种为HEVC和AVC中的会话协商传送PTL信息的设计可能具有某些缺点,因为SPS和VPS的范围在CVS内,而不是整个比特流。因此,发送者-接收者会话发起可能在每个新CVS的比特流流式传输期间遇到重新初始化。DCI解决了这个问题,因为DCU NAL单元携带比特流级别信息。因此,可以保证符合所指示的解码能力,直到比特流结束。
文件格式标准如下所述。媒体流应用通常基于互联网协议(IP)、传输控制协议(TCP)和超文本传输协议(HTTP)传输方法,并且通常依赖于诸如ISOBMFF的文件格式。一种这样的流式传输系统是基于HTTP的动态自适应流(DASH)。视频可以以视频格式编码,例如AVC和/或HEVC。编码的视频可以封装在ISOBMFF轨道中,并包含在DASH表示和片段中。出于内容选择的目的,关于视频比特流的重要信息,例如档次、层和级别等,可以作为文件格式级别元数据和/或在DASH媒体呈现描述(MPD)中展示。例如,这种信息可以用于选择适当的媒体片段,用于在流式传输会话开始时的初始化和流式传输会话期间的流自适应。
类似地,当使用具有ISOBMFF的图像格式时,可采用特定于图像格式的文件格式规范,例如AVC图像文件格式和HEVC图像文件格式。MPEG正在开发VVC视频文件格式,这是基于ISOBMFF的用于存储VVC视频内容的文件格式。MPEG也正在开发基于ISOBMFF的VVC图像文件格式,该文件格式用于存储使用VVC编解码的图像内容。
下面讨论DASH。DASH支持创建多媒体内容的视频和/或音频数据的多种表示。不同的表示可以对应于不同的编解码特性,例如视频编解码标准的不同档次或级别、不同的比特率、不同的空域分辨率等。DASH采用在媒体呈现描述(MPD)数据结构中定义的这种表示的清单。媒体呈现可以对应于DASH流式传输客户端设备可访问的结构化数据集合。DASH流式传输客户端设备可以请求并下载媒体数据信息,以向客户端设备的用户呈现流服务。媒体呈现可以在MPD数据结构中描述,其可以包括MPD的更新。
媒体呈现可包含一个或多个周期的序列。每个周期可以扩展到下一个周期的开始,或者在最后一个周期的情况下扩展到媒体呈现的结束。每个周期可以包含相同媒体内容的一个或多个表示。一个表示可以是音频、视频、定时文本或其他此类数据的多个可选编码版本之一。这些表示可以因编码类型而不同,例如,视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率、语言和/或编解码器。术语“表示”可以用来指对应于多媒体内容的特定周期并以特定方式编码的编码音频或视频数据的一部分。
特定周期的表示可分配给MPD中的属性所指示的组,该属性指示表示所属的自适应集。同一自适应集中的表示通常被认为是彼此可替换的,因为客户端设备可以在这些表示之间动态且无缝地切换,例如,以执行带宽自适应。例如,特定周期的视频数据的每个表示可以被分配给相同的适应集。可以选择任何表示进行解码,以呈现对应周期的多媒体内容的媒体数据,例如视频数据或音频数据。在一些示例中,一个周期内的媒体内容可以由来自组0的一个表示(如果存在的话)或者来自每个非零组的至多一个表示的组合来表示。周期的每个表示的定时数据可以相对于周期的开始时域来表示。
一个表示可以包括一个或多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自初始化的。如果存在,初始化片段可能包含用于访问表示的初始化信息。通常,初始化片段不包含媒体数据。片段可以由标识符唯一地参考,例如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)。MPD可以为每个片段提供标识符。在一些示例中,MPD还可以提供范围属性形式的字节范围,其可以对应于可通过URL、URN或URI访问的文件内的片段的数据。
可以选择不同的表示来基本上同时检索不同类型的媒体数据。例如,客户端设备可选择音频表示、视频表示和定时文本表示,从中检索片段。在一些示例中,客户端设备可以选择特定自适应集来执行带宽自适应。例如,客户端设备可选择包括视频表示的自适应集、包括音频表示的自适应集和/或包括定时文本的自适应集。客户端设备还可以为某些类型的媒体(例如,视频)选择自适应集,并直接为其他类型的媒体(例如,音频和/或定时文本)选择表示。
以下步骤显示了示例DASH流式传输过程。客户端获取MPD。客户端估计下行链路带宽。客户端根据估计的下行带宽和编解码器、解码能力、显示尺寸、音频语言设置等选择视频表示和音频表示。除非到达媒体呈现结束,客户端继续请求所选表示的媒体片段,并将流式传输内容呈现给用户。客户端不断估计下行链路带宽。当带宽发生显著变化(例如,变得更低)时,客户端选择不同的视频表示来匹配新估计的带宽,并继续从新选择的表示中请求媒体片段。
下面讨论视频实时传输协议(RTP)有效载荷格式和会话描述协议(SDP)。对于视频应用中使用的任何视频编解码器,例如采用RTP的VVC,应该指定RTP有效载荷格式。此外,还应该指定使用SDP信令通知媒体类型参数的机制。视频编解码器的RTP有效载荷格式主要指定了如何将编解码的视频比特流封装在RTP包和RTP流中。IETF RFC 6184、RFC 6190和RFC7798分别指定了AVC、SVC和HEVC的RTP有效载荷格式。IETF正在为VVC开发RTP有效载荷。
以下是所公开的技术方案所解决的示例技术问题。当前的视频编解码和通信标准和系统缺乏信令通知视频解码器初始化信息的机制。例如,在自适应流式传输中,流式传输客户端经常请求切换到具有不同空域分辨率的不同比特流,以适应不断变化的网络条件,例如不断变化的带宽。不同的比特流可以存储在不同的文件格式(FF)轨道中,并封装在同一自适应集中的不同DASH表示中。因此,这种比特流切换通常涉及在FF轨道和DASH表示之间切换。在许多情况下,切换后的比特流与切换前的比特流具有相同的编解码器(例如,VVC)和相同的档次(例如,VVC主10档次)。根据其他信息的可用性,例如最大空域分辨率和解码器的实现方式,当空域分辨率发生变化时,尤其是变大时,可以重新初始化解码器。解码器初始化或重新初始化通常需要100-200毫秒(ms)的时间。在最好的情况下,初始化或重新初始化可能仅为16毫秒,取决于各种因素,包括存储器分配时间、安全/非安全、映射时间、双倍数据速率(DDR)存储器的存储器碎片、系统存储器管理单元(SMMU)的内部碎片等。因此,解码器重新初始化会中断流式传输会话,影响回放连续性等。因此,信令通知视频解码器用于解码器初始化的信息是有用的,使得可以在应用会话中尽可能避免或减少视频解码器重新初始化,以最大化用户体验。
本文公开了解决上面列出的一个或多个问题的机制。作为具体示例,解码器可以被配置为通过根据DASH协议从包含比特流的一组轨道中动态地选择以流式传输视频数据。在这样的示例中,解码器可以根据不断变化的网络条件从轨道中选择片段。当用于解码当前轨道片段的设置不足以支持解码新选择的轨道中的下一个轨道片段时,可以触发解码器重新初始化。所公开的机制支持最小化和/或消除这样的重新初始化。例如,编解码器或中间存储服务器可以向解码器信令通知解码器初始化信息。解码器初始化信息可以描述存储器约束、编解码工具和/或在对一组相关轨道和/或比特流中的每一个进行编码时使用的其他设置。解码器可以使用此信息来减轻重新初始化。例如,解码器可以基于各种轨道/比特流所使用的最严格的一组存储器约束、编解码工具和/或设置来初始化。这样,最严格的设置支持解码解码器可能选择的每个轨道/比特流。作为具体示例,每个轨道可以包含以不同分辨率编解码的图片比特流。解码器可以根据当前的网络条件选择不同的轨道来增加或减少分辨率。解码时,解码器在解码图片缓冲器中分配存储器,用于存储帧间预测中使用的参考图片。分配的存储器数量可能因分辨率而异。因此,解码器可以在初始化期间选择与最高分辨率轨道相关联的存储器分配参数。这样,存储器分配足以支持解码任何轨道,因此不需要重新初始化。许多不同的参数可以用于对比特流进行编解码以包含在轨道中。下面包括可用作解码器初始化的解码器初始化信息的参数的非详尽列表。
取决于示例实现方式,解码器初始化信息可以在不同位置被信令通知。例如,解码器初始化信息可以在比特流级别被信令通知,例如在一个或多个比特流中的DCI NAL单元和/或DII SEI消息中。在另一个示例中,解码器初始化信息可以在文件格式级别被信令通知,诸如在文件级别框、电影级别框和/或描述ISOBMFF文件中的(多个)轨道的轨道级别框中。在另一个示例中,解码器初始化信息可以在通信协议级别被信令通知,例如在描述包含轨道的表示的DASH MPD中。在另一个示例中,解码器初始化信息可以在通信会话级别被信令通知,例如在RTP标头扩展、SDP提议和/或描述可以作为通信会话的一部分而被请求的数据的SDP应答中。
在一个示例中,当选定的比特流使用不同的编解码器和/或基于与当前比特流不同的档次进行编解码时,解码器可能无法避免重新初始化。这样,在一些示例中,解码器初始化信息仅针对全部根据相同的编解码器和档次编解码的比特流、轨道和/或表示来信令通知。此外,每当选定的比特流、轨道和/或表示需要改变编解码器、档次、HRD参数和/或定时参数时,解码器可以执行重新初始化。
为了解决上述问题和其他问题,公开了总结如下的方法。这些项目应被视为解释一般概念的示例,而不应以狭义的方式进行解释。此外,这些项目可以单独应用或以任何方式组合应用。
示例1
某些视频解码器初始化信息被信令通知给视频解码器。在一个示例中,解码器初始化信息包括至少一个或多个以下参数。解码比特流时DPB中存储的解码图片的最大数量(maxDecPics);亮度样点中的比特流中所有编解码图片的最大解码图片宽度(maxDecPicW);亮度样点中的比特流中所有编解码图片的最大解码图片高度(maxDecPicH);在解码比特流时是否启用/使用某些编解码工具和/或某些NAL单元可以作为解码器初始化信息被信令通知;和/或解码比特流时当前图片与其参考图片之间的最大POC距离。
在一个示例中,某些编解码工具可以是以下的一种或多种:层间预测、参考图片重采样(RPR)或自适应分辨率、环绕运动补偿、来自参考图片的运动预测(例如,时域运动矢量预测(TMVP)或基于子块的时域运动矢量预测(SbTMVP))、调色板、自适应颜色变换(ACT)和/或帧内块复制(IBC)。在一个示例中,某个NAL单元可以是以下的一种或多种:ALF APS NAL单元、LMCS APS NAL单元或缩放列表APS NAL单元。
示例2
当一些视频解码器初始化信息可用于解码器解码比特流时,解码器基于解码器初始化信息被初始化。在一个示例中,解码器被初始化,使得DPB至少包含maxDecPics图片时隙,其中一个时隙可用于每个解码图片。在一个示例中,解码器被初始化,使得DPB的每个图片时隙的宽度至少为maxDecPicW个亮度样点。在一个示例中,解码器被初始化,使得DPB的每个图片时隙的高度至少为maxDecPicH个亮度样点。
示例3
在一个示例中,视频解码器初始化信息在VVC中指定的DCI NAL单元中被信令通知。此外,还可以应用以下一项或多项。在一个示例中,当比特流的所有CVS都符合一个档次和一个层时,解码器初始化信息的参数仅存在于DCI NAL单元中。在一个示例中,当DCI NAL单元中只有一个profile_tier_level()语法结构时,解码器初始化信息的参数仅存在于DCI NAL单元中。在一个示例中,解码器初始化信息包括至少一个或多个以下参数。解码比特流时DPB中存储的解码图片的最大数量(maxDecPics);亮度样点中的比特流中所有编解码图片的最大解码图片宽度(maxDecPicW);亮度样点中的比特流中所有编解码图片的最大解码图片高度(maxDecPicH);比特流中所有编解码图片的最大颜色格式(例如,sps_chroma_format_idc的最大值);比特流中所有编解码图片的最大比特深度(例如,sps_bitdepth_minus8的最大值);比特流的最大编解码图片缓冲器(CPB)尺寸,以比特为单位;是否为比特流启用/使用ALF APS NAL单元;是否为比特流启用/使用显式缩放列表APS NAL单元;是否为比特流启用/使用LMCS APS NAL单元;是否为比特流启用/使用时域运动矢量预测(例如,如果sps_temporal_mvp_enabled_flag的值对于比特流的任何参考SPS等于1,则为是);是否为比特流启用/使用帧内块复制(IBC);是否为比特流启用/使用了调色板编解码模式;是否为比特流启用/使用自适应颜色变换;是否为比特流启用/使用去块(例如,如果deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag的值对于比特流的任何参考PPS等于0,则否);最小CU尺寸信息(例如,由sps_log2_min_luma_coding_block_size_minus2指示;请注意,TMVP存储粒度可能取决于最小CU尺寸);指示为运动补偿启用/使用哪种填充方法(请注意,这在支持多种填充方法进行运动补偿的视频编解码器设计中很有用);是否为比特流启用/使用子图片分割;是否为比特流启用/使用条带分割;是否为比特流启用/使用片分割;是否启用/使用环绕运动补偿(例如,由sps_ref_wraparound_enabled_flag指示);是否启用/使用参考图片重采样(由sps_ref_pic_resampling_enabled_flag指示);应用于图片尺寸以计算缩放比例的偏移/变化(由pps_sclaing_win_left_offset/pps_sclaing_win_right_offset/pps_sclaing_win_top_offset/pps_sclaing_win_bottom_offset表示);和/或是否为帧间预测启用/使用长期参考图片(由sps_long_term_ref_pics_flag指示)可以包括在解码器初始化信息中。
示例4
在一个示例中,视频解码器初始化信息在SEI消息中被信令通知。例如,可以在名为解码器初始化信息(DII)SEI消息的消息中信令通知解码器初始化信息。此外,以下一项或多项适用。在一个示例中,DII SEI消息可以与使用任何视频编解码器编解码的视频比特流一起使用,例如VVC、HEVC、AVC、EVC、音频视频编解码标准(AVS)、开放媒体联盟(AOMedia)视频1(AV1)、AOMedia视频2(AV2)、视频编解码格式一(VC1)(也称为电影和电视工程师协会(SMPTE)421)或其组合。在一个示例中,DII SEI消息中提供的信息适用于整个比特流。在一个示例中,当存在于比特流中时,DII SEI消息应当存在于比特流的第一个AU中,并且也可以存在于比特流的其他AU中,例如IRAP AU。在一个示例中,DII SEI消息可以在比特流中提供或通过外部机制提供。在一个示例中,当比特流的所有CVS都被指示为符合同一档次时,DII SEI消息可以仅与视频比特流一起使用。在一个示例中,当比特流的所有CVS都被指示为符合同一档次时,DII SEI消息可以仅与视频比特流一起使用,并且对于VVC和HEVC,比特流的所有CVS都被指示为符合相同层。在一个示例中,当比特流的所有CVS都符合一个档次时,DII SEI消息可以仅与视频比特流一起使用。在一个示例中,当比特流的所有CVS都符合一个档次时,DII SEI消息可以仅与视频比特流一起使用,并且对于VVC和HEVC,比特流的所有CVS都符合一个层。
在一个示例中,DII SEI消息包括指示以下参数中的至少一个或多个的语法元素。比特流的所有CVS符合的最大层;比特流的所有CVS符合的最大级别;解码比特流时存储在DPB中的解码图片的最大数量(maxDecPics);亮度样点中的比特流中所有编解码图片的最大解码图片宽度(maxDecPicW);亮度样点中的比特流中所有编解码图片的最大解码图片高度(maxDecPicH);比特流中所有编解码图片的最大颜色格式(例如,VVC中的sps_chroma_format_idc或HEVC或AVC中的chroma_format_idc的最大值);比特流中所有编解码图片的最大比特深度(例如VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_luma_minus8和bit_depth_chroma_minus8的最大值);比特流中所有编解码图片的最大亮度比特深度(例如VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_luma_minus8的最大值);比特流中所有编解码图片的最大色度比特深度(例如VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_chroma_minus8的最大值);比特流的最大CPB尺寸,以比特为单位;是否为比特流启用/使用ALF APS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为比特流启用/使用显式缩放列表APS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为比特流启用/使用LMCS APS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为比特流启用/使用时域运动矢量预测(例如,对于VVC,这是sps_temporal_mvp_enabled_flag的最大值);是否为比特流启用/使用帧内块复制(IBC);是否为比特流使用调色板编解码模式(对于编解码器,例如AVC,不支持调色板编解码模式,这是否);是否为比特流启用/使用自适应颜色变换(对于编解码器,例如,对于AVC,不支持自适应颜色变换,这是否);是否为比特流启用/使用去块(对于编解码器,例如HEVC和VVC,如果deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag的值对于比特流的任何参考PPS等于0,则否);最小CU尺寸信息(例如,由sps_log2_min_luma_coding_block_size_minus2指示,注意TMVP存储粒度可能取决于最小CU尺寸);指示为运动补偿启用/使用哪种填充方法(请注意,这在支持多种填充方法进行运动补偿的视频编解码器设计中很有用);是否为比特流启用/使用子图片分割;是否为比特流启用/使用条带分割;是否为比特流启用/使用片分割;是否启用/使用环绕运动补偿(例如,由sps_ref_wraparound_enabled_flag指示);是否启用/使用参考图片重采样(由sps_ref_pic_resampling_enabled_flag指示);应用于图片尺寸以计算缩放比例的偏移/变化(由pps_sclaing_win_left_offset/pps_sclaing_win_right_offset/pps_sclaing_win_top_of fset/pps_sclaing_win_bottom_offset指示);和/或是否为帧间预测启用/使用长期参考图片(由sps_long_term_ref_pics_flag指示)可以包括在DIISEI消息中。
示例5
在一个示例中,视频DII在ISOBMFF文件中或根据从ISOBMFF导出并与之兼容的文件格式的文件中被信令通知。此外,以下一项或多项可能适用。在一个示例中,不同组的DII在文件级别或电影级别框中被信令通知,并且每个DII组应用于文件中的一组或多组替代视频轨道。在一个示例中,DII在文件级别元数据框中被信令通知。在一个示例中,DII在电影级别元数据框中信令通知。在一个示例中,DII在电影标头框中被信令通知。在一个示例中,DII在文件级别或电影框中被信令通知,并应用于文件中的所有视频轨道。在一个示例中,DII在文件级别元数据框中被信令通知。在一个示例中,DII在电影级别元数据框中信令通知。在一个示例中,DII在电影标头框中被信令通知。在一个示例中,DII在视频轨道或图片序列轨道的轨道级别框中被信令通知,并应用于整个视频轨道。在一个示例中,DII在样点描述框中被信令通知,并且当存在多个样点条目时,要求所有样点条目的DII相同。在一个示例中,DII在轨道标头框中被信令通知。在一个示例中,DII在轨道组框中信令通知。在一个示例中,DII在轨道组类型框中信令通知,并且定义了分组类型,例如'sdii',指示该轨道属于共享相同DII的一组轨道。在track_group_type'sdii'的TrackGroupTypeBox中具有相同track_group_id值的轨道被映射为共享相同的DII。在一个示例中,DII在轨道级别元数据框中被信令通知。在一个示例中,DII在轨道级别框中被信令通知并且应用于当前轨道和被指示为当前轨道的替代轨道的所有其他轨道。在一个示例中,DII在样点描述框中被信令通知,并且当存在多个样点条目时,要求所有样点条目的DII相同。此外,在一个示例中,DII在轨道标头框中被信令通知。在一个示例中,DII在轨道级别元数据框中被信令通知。
在一个示例中,当比特流的所有CVS被指示使用同一视频编解码器时,DII可以仅针对文件或轨道或一组轨道或一组替代轨道被信令通知。在一个示例中,当比特流的所有CVS都被指示为符合相同的档次时,DII可以仅针对文件或轨道或一组轨道或一组替代轨道被信令通知。在一个示例中,当比特流的所有CVS都被指示为符合相同的档次时,DII可能仅针对文件或轨道或一组轨道或一组替代轨道被信令通知,并且对于VVC和HEVC,所有比特流的CVS被指示为符合同一层。在一个示例中,当比特流的所有CVS都符合一个档次时,DII可能仅针对文件或轨道或一组轨道或一组替代轨道被信令通知。在一个示例中,当存在比特流的所有CVS都符合的一个档次时,DII可能仅针对文件或轨道或一组轨道或一组替代轨道被信令通知,并且对于VVC和HEVC,存在比特流的所有CVS都符合的一个层。
在一个示例中,DII包括指示以下参数中的至少一个或多个的字段。用于编码(多个)比特流的视频编解码器;(多个)比特流符合的档次;(多个)比特流的所有CVS符合的最大层;(多个)比特流的所有CVS符合的最大级别;解码(多个)比特流时存储在DPB中的解码图片的最大数量(maxDecPics);亮度样点中(多个)比特流中所有编解码图片的最大解码图片宽度(maxDecPicW);亮度样点中(多个)比特流中所有编解码图片的最大解码图片高度(maxDecPicH);(多个)比特流中所有编解码图片的最大颜色格式(例如,VVC中的sps_chroma_format_idc或HEVC或AVC中的chroma_format_idc的最大值);(多个)比特流中所有编解码图片的最大比特深度(例如,VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_luma_minus8和bit_depth_chroma_minus8的最大值);(多个)比特流中所有编解码图片的最大亮度比特深度(例如,VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_luma_minus8的最大值);(多个)比特流中所有编解码图片的最大色度比特深度(例如,VVC中sps_bitdepth_minus8的最大值或HEVC或AVC中bit_depth_chroma_minus8的最大值);(多个)比特流的最大CPB尺寸,以比特为单位;是否为(多个)比特流启用/使用ALFAPS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为(多个)比特流启用/使用显式缩放列表APS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为(多个)比特流启用/使用LMCS APS NAL单元(对于编解码器,例如HEVC和AVC,不支持ALF APS,这是否);是否为至少一个比特流启用/使用时域运动矢量预测(例如,对于VVC,这是sps_temporal_mvp_enabled_flag的最大值);是否为至少一个比特流启用/使用IBC;是否为至少一个比特流启用/使用调色板编解码模式(对于编解码器,例如AVC,不支持调色板编解码模式,这是否);是否为至少一个比特流启用/使用自适应颜色变换(对于编解码器,例如,对于AVC,不支持自适应颜色变换,这是否);是否为至少一个比特流启用/使用去块(对于编解码器,例如HEVC和VVC,如果deblocking_filter_override_enabled_flag和pps_deblocking_filter_disabled_flag的值对于比特流的任何参考PPS等于0,则否);最小CU尺寸信息(例如,由sps_log2_min_luma_coding_block_size_minus2指示,注意TMVP存储粒度可能取决于最小CU尺寸);为至少一个比特流的运动补偿启用/使用哪种填充方法的指示(请注意,这在支持用于运动补偿的多种填充方法的视频编解码器设计中可能很有用);是否为至少一个比特流启用/使用子图片分割;是否为至少一个比特流启用/使用条带分割;是否为至少一个比特流启用/使用片分割;是否为至少一个比特流启用/使用环绕运动补偿(例如,由sps_ref_wraparound_enabled_flag指示);是否为至少一个比特流启用/使用参考图片重采样(由sps_ref_pic_resampling_enabled_flag指示);应用于图片尺寸以计算缩放比例的偏移/变化(由pps_sclaing_win_left_offset/pps_sclaing_win_right_offset/pps_sclaing_win_top_of fset/pps_sclaing_win_bottom_offset表示);和/或是否为至少一个比特流的帧间预测启用/使用长期参考图片(由sps_long_term_ref_pics_flag指示)可以被包括在DII的字段中。
示例6
在一个示例中,视频DII在DASH MPD中被信令通知。以下一项或多项可能适用。在一个示例中,DII在自适应集中被信令通知并应用于自适应集中的所有表示。在一个示例中,DII在表示中被信令通知并应用于整个表示。在一个示例中,DII是可选的,并且仅当比特流的所有cv被指示使用相同的视频编解码器时,才可以针对自适应集或表示被信令通知。在一个示例中,当比特流的所有CVS被指示为符合相同的档次时,DII可以仅针对自适应集或表示被信令通知。在一个示例中,当比特流的所有CVS都被指示为符合同一档次时,DII可能仅针对自适应集或表示被信令通知,并且对于VVC和HEVC,比特流的所有CVS被指示为符合同一层。在一个示例中,当存在比特流的所有CVS都符合的一个档次时,DII可以仅针对自适应集或表示被信令通知。在一个示例中,当存在比特流的所有CVS都符合的一个档次时,DII可以仅针对自适应集或表示被信令通知,对于VVC和HEVC,存在比特流的所有CVS都符合的一个层。
在一个示例中,DII包括指示示例5中描述的至少一个或多个参数的字段。
示例7
在一个示例中,视频解码器初始化信息在RTP标头扩展中被信令通知或作为SDP提议/应答中使用的SDP参数。以下一项或多项可能适用。在一个示例中,DII是可选的,并且当视频编解码器的相同档次将用于整个会话时,可以仅在会话协商期间在特定视频编解码器的SDP线路中被信令通知(例如,SDP提议/应答)。在一个示例中,DII可以仅在比特流的所有CVS被指示为符合相同档次时被信令通知,并且对于VVC和HEVC,比特流的所有CVS被指示为符合相同层级。在一个示例中,DII可以仅在存在比特流的所有CVS都符合的一个档次时才被信令通知。在一个示例中,DII仅当存在比特流的所有CVS都符合的一个档次时才被信令通知,并且对于VVC和HEVC,存在比特流的所有CVS都符合的一个层。在一个示例中,DII是可选的,并且当在整个会话中要在RTP流中携带的比特流的所有CVS使用相同的视频编解码器时,可以仅在会话协商之后在RTP标头扩展中被信令通知。在一个示例中,DII可以仅在比特流的所有CVS被指示为符合同一档次时才被信令通知。在一个示例中,DII可以仅在比特流的所有CVS被指示为符合相同档次时被信令通知,并且对于VVC和HEVC,比特流的所有CVS被指示为符合相同层。在一个示例中,DII可以仅在存在比特流的所有CVS都符合的一个档次时才被信令通知。在一个示例中,DII仅当存在比特流的所有CVS都符合的一个档次时才被信令通知,并且对于VVC和HEVC,存在比特流的所有CVS都符合的一个层。
在一个示例中,DII包括指示示例5中描述的至少一个或多个参数的字段。
示例8
当档次/级别/层信息更改时,解码器可能会重新初始化。在一个示例中,如果VVC中规定的GCI的一个或多个语法元素发生变化,则解码器将重新初始化。
示例9
当通用定时和HRD参数语法的一个或多个语法元素改变时,可以重新初始化解码器。
示例10
在一个示例中,视频解码器初始化信息(DII)在ISOBMFF文件和/或根据源自ISOBMFF并与之兼容的文件格式的文件中被信令通知。以下一项或多项也适用。在一个示例中,在文件级别或电影级别框中信令通知不同的DII集合,并且每个DII组应用于文件中使用相同视频编解码器的相同档次的一组或多组替代视频轨道。在一个示例中,在文件级别元数据框中信令通知DII。在一个示例中,DII在电影级别元数据框中被信令通知。在一个示例中,在电影标头框中信令通知DII。在一个示例中,DII在文件级别或电影框中被信令通知,并应用于文件中使用相同视频编解码器的相同档次的所有视频轨道。在一个示例中,在文件级别元数据框中信令通知DII。在一个示例中,DII在电影级别元数据框中被信令通知。在一个示例中,在电影标头框中信令通知DII。在一个示例中,DII在视频轨道或图像序列轨道的轨道级别框中被信令通知,并应用于整个视频轨道。要求轨道中的所有样点条目指示相同视频编解码器的相同档次。在一个示例中,在样点描述框中信令通知DII。此外,当存在多个样点条目时,要求所有样点条目的DII相同。在一个示例中,在轨道标头框中信令通知DII。在一个示例中,在轨道组框中信令通知DII。在一个示例中,在轨道组类型框中信令通知DII。定义了分组类型,例如“vdii”,它的存在指示该轨道属于共享相同DII的一组视频轨道,并且该组轨道中所有轨道的所有样点条目使用相同视频编解码器的相同档次。在track_group_type‘vdii’的TrackGroupTypeBox内具有相同track_group_id值的轨道被映射为共享相同的DII。在一个示例中,在轨道组类型框中信令通知DII,并且定义分组类型,例如“vdii”,它的存在指示该轨道属于使用相同视频编解码器的相同档次并且共享相同DII的一组视频轨道。在一个示例中,在轨道级别元数据框中信令通知DII。在一个示例中,在轨道级别框中信令通知DII,并将其应用于当前轨道以及被指示为当前轨道的替代轨道并且被指示为使用与当前轨道相同的视频编解码器的相同档次的所有其他轨道。在一个示例中,在样点描述框中信令通知DII,并且当有多个样点条目时,要求所有样点条目的DII都相同。在一个示例中,在轨道标头框中信令通知DII。在一个示例中,在轨道级别元数据框中信令通知DII。在一个示例中,DII包括指示示例5中描述的至少一个或多个参数的字段。
示例11
在一个示例中,在DASH MPD中信令通知视频DII。以下一项或多项适用。在一个示例中,DII在自适应集中被信令通知,并且应用于自适应集中使用相同视频编解码器的相同档次的所有视频表示。在一个示例中,DII是可选的,并且仅当自适应集中的所有表示使用相同的视频编解码器时,才可以针对自适应集被信令通知。在一个示例中,DII的存在指示自适应集的所有表示使用相同视频编解码器的相同档次并共享相同的DII。在一个示例中,DII包括指示示例5中描述的至少一个或多个参数的字段。
下面是针对上面总结的一些方面的一些示例实施例,其中一些可以应用于VVC视频文件格式的标准规范。已添加或修改的相关部分以下划线粗体表示,并且删除的部分以粗体斜体表示。
在一个示例中,解码能力信息RBSP语法修改如下:
/>
在一个示例中,增加解码能力信息扩展语法如下:
在一个示例中,解码能力信息RBSP语义修改如下:
DCI RBSP可以通过存在于比特流中、至少包含在比特流的第一个AU中或通过外部方式来提供给解码器。注1–DCI RBSP中包含的信息对于本规范的条款2至9中指定的解码过程的操作不是必需的。如果存在,比特流中的所有DCI NAL单元应具有相同的内容。dci_reserved_zero_4bits在符合本规范该版本的比特流中应等于0。dci_reserved_zero_4bits的大于0的值被保留以供ITU-T|ISO/IEC将来使用。解码器应允许dci_reserved_zero_4bits的大于0的值出现在比特流中,并且应该忽略dci_reserved_zero_4bits的值。dci_num_ptls_minus1加1指定DCI NAL单元中profile_tier_level()语法结构的数量。dci_num_ptls_minus1的值应在0到14(包括端值)的范围内。dci_num_ptls_minus1的值15被保留以供ITU-T|ISO/IEC将来使用。比特流一致性要求比特流中CVS中的每个OLS应至少符合DCI NAL单元中的profile_tier_level()语法结构之一。注2–DCI NAL单元可以包括PTL信息,可能携带在多个profile_tier_level()语法结构中,共同应用于多个OLS,并且不需要单独包括每个OLS的PTL信息。
dci_extension_flag等于0指定没有dci_extension_data_flag语法元素是dci_ extension()语法结构存在于DCI RBSP语法结构中。dci_extension_flag等于1指定dci_extension_data_flag语法元素可能是dci_extension()语法结构存在于DCI RBSP语法结构中。dci_extension_flag在符合本规范该版本的比特流中应等于0。然而,dci_extension_flag等于1的某些使用可以在本规范的某些未来版本中指定,并且符合本规范该版本的解码器应允许dci_extension_flag等于1的值出现在语法中。当dci_num_ptls_ minus1大于0时,dci_extension_flag的值应等于0。
dci_extension_alignment_bit_equal_to_one应等于1。或者,将下面两行语法替换为7位字段,例如命名为dci_extension_alignment_zero_7bits,并且要求该字段的值等于0:
while(!byte_aligned())
dci_extension_alignment_bit_equal_to_one u(1)
dci_extension2_flag等于0指定DCIRBSP语法结构中不存在dci_extension_ data_flag语法元素。vps_extension2_flag等于1指定dci_extension_data_flag语法元素 可能存在于DCIRBSP语法结构中。dci_extension_flag在符合本规范该版本的比特流中应 等于0。然而,dci_extension_flag等于1的某些用法可能会在本规范的某些未来版本中被 指定,并且符合本规范该版本的解码器应允许dci_extension_flag等于1的值出现在语法 中,并且应该忽略DCIRBSP中dci_extension2_flag的值1之后的所有数据。
dci_extension_data_flag可以有任何值。它的存在和值不影响本规范该版本中规定的解码过程。符合本规范该版本的解码器应忽略所有dci_extension_data_flag语法元素。
在一个示例中,解码能力信息扩展语义被添加/修改如下:
注–当对于比特流存在dci_extension()语法结构,并且根据DCINAL单元中提供的 信息初始化解码器时,预计不需要解码器重新初始化来解码整个比特流。
本实施例可以应用于VSEI。大多数已添加或修改的相关部分以粗体下划线突出显示,并且一些已删除的部分以粗体斜体突出显示。
dci_max_num_dec_pics_in_dpb_minus1加1指示解码比特流时任意时刻DPB中存 储的解码图片的最大数量。dci_max_bitdepth_minus8加8指示当解码比特流时,解码图片 的每个颜色分量的最大比特深度,以比特为单位。dci_max_bitdepth_minus8的值应在0到8 (包括端值)的范围内。dci_max_pic_width指示解码比特流时解码图片的最大宽度,以亮度 样点为单位。dci_max_pic_height指示解码比特流时解码图片的最大高度,以亮度样点为 单位。dci_max_chroma_format指示解码比特流时图片参考的SPS的sps_chroma_format_ idc的最大值。dci_ext_reserved_zero_6bits在符合本规范该版本的比特流中应等于0。 dci_ext_reserved_zero_6bits的大于0的值被保留以供ITU-T|ISO/IEC将来使用。解码器 应允许dci_ext_reserved_zero_6bits的大于0的值出现在比特流中,并应忽略dci_ext_ reserved_zero_6bits的值。
下面是上面总结的一些方面的一些示例实施例,其中一些可以应用于VSEI。已添加或修改的相关部分以下划线粗体表示,并且删除的部分以粗体斜体表示。
在一个示例中,SEI消息通用类别被修改如下:
条款8指定了SEI消息的语法和语义。对于指定语法结构为空的SEI消息,例如从属随机接入点SEI消息,仅指示存在SEI消息(例如,由有效载荷类型指示符指示)就足以传送相关信息(例如,通过指示满足一组规定的约束)。每个SEI消息的语义和持久性范围在每个特定SEI消息的语义规范中规定。注–SEI消息的持久性信息总结如下。
SEI消息的持久性范围(信息性)
/>
...
在一个示例中,解码器初始化信息SEI消息语法被添加/修改如下:
在一个示例中,解码器初始化信息SEI消息语义被添加/修改如下:
当与AU关联时,解码器初始化信息(DII)SEI消息提供适用于整个比特流的信息。 通过存在于比特流中、包括在比特流的至少第一个AU中、或者通过外部装置提供,DIISEI消 息可以对解码器可用。如果存在,比特流中的所有DIISEI消息应具有相同的有效载荷内容。 当比特流中的任意两个CVS被指示符合不同的档次时,不应有与比特流的AU关联的DIISEI 消息。注-当与比特流的AU相关联的DIISEI消息和解码器根据档次和DIISEI消息中提供的 信息进行初始化时,预计不需要解码器重新初始化来解码整个比特流。dii_max_level_idc 指示比特流中CVS符合的最大级别。当DIISEI消息与HEVC或VVC比特流一起使用时,dii_ max_tier_flag指示比特流中的CVS符合的最大层。当DIISEI消息与AVC比特流一起使用时, dii_max_tier_flag的语义未指定,并且解码器应忽略dii_max_tier_flag的值。dii_ reserved_zero_bit在符合本规范该版本的比特流中应等于0。dii_reserved_zero_bit的 等于1的值被保留以供ITU-T|ISO/IEC将来使用。解码器应允许等于1的dii_reserved_ zero_bit出现在比特流中,并且应该忽略dii_reserved_zero_bit的值。dii_max_chroma_ format指示在解码比特流时由图片参考的SPS的sps_chroma_format_idc(当DIISEI消息与 VVC比特流一起使用时)或chroma_format_idc(当DIISEI消息与AVC或HEVC比特流一起使用 时)的最大值。dii_max_bitdepth_minus8加8指示当解码比特流时,解码图片的每个颜色分 量的最大比特深度,以比特为单位。dii_max_bitdepth_minus8的值应在0到8(包括端值)的 范围内。
dci_max_num_dec_pics_in_dpb_minus1加1指示解码比特流时任意时刻DPB中存 储的解码图片的最大数量。当DII SEI消息与VVC比特流一起使用时,dci_max_num_dec_ pics_in_dpb_minus1的值应在0到15(包括端值)的范围内。请注意,该字段由8比特组成,而 不是如上面的DCI语法中的4比特,使得相同的语法可以应用于可能具有在DPB中存储的超 过16个解码图片的其他(未来)编解码器或档次。例如,分层的HEVC比特流可能总共有超过 16个解码图片存储在DPB中。dci_max_pic_width指示解码比特流时解码图片的最大宽度, 以亮度样点为单位。dci_max_pic_height指示解码比特流时解码图片的最大高度,以亮度 样点为单位。
以下为上文总结的一些方面的一些示例实施例,其中一些可通过添加以下子条款应用于ISOBMFF:
视频解码器初始化信息轨道组描述如下。视频解码器初始化信息轨道组的示例定义如下。track_group_type等于‘vdii’的TrackGroupTypeBox指示该轨道属于使用相同视频编解码器的相同档次并共享相同视频解码器初始化信息的一组视频轨道。当根据视频解码器初始化信息初始化视频解码器时,当在这组轨道中携带的任意两个比特流之间发生比特流切换时,预计不需要视频解码器重新初始化。用于视频轨道块的视频编解码器由样点条目类型指示。
视频解码器初始化信息轨道组的语法描述如下:
视频解码器初始化信息轨道组的语义描述如下:dii_profile_max_tier_idc指示档次,并在适用时(例如,HEVC和VVC)指示该组轨道中携带的视频比特流符合的最大层。当视频编解码器为AVC时,dii_profile_max_tier_idc应等于profile_idc。当视频编解码器为HEVC或VVC时,dii_profile_max_tier_idc的前7比特应等于general_profile_idc,并且dii_profile_max_tier_idc的最后一比特应等于该组轨道中携带的所有视频比特流的general_tier_flag的最大值。dii_max_level_idc指示该组轨道中携带的视频比特流符合的最大级别。dii_max_chroma_format_idc指示当解码该组轨道中携带的比特流时,图片参考的SPS的sps_chroma_format_idc(当视频编解码器是VVC时)或chroma_format_idc(当视频编解码器是AVC或HEVC时)的最大值。dii_max_bitdepth_minus8加8指示当解码该组轨道中携带的比特流时,解码图片的每个颜色分量的最大比特深度,以比特为单位。dii_max_bitdepth_minus8的值应在0到8(包括端值)的范围内。dci_max_num_dec_pics_in_dpb_minus1加1指示当解码该组轨道中携带的比特流时,在任何时刻存储在解码图片缓冲器中的解码图片的最大数量。dci_max_pic_width指示当解码该组轨道中携带的比特流时,解码图片的最大宽度,以亮度样点为单位。dci_max_pic_height指示当解码该组轨道中携带的比特流时,解码图片的最大高度,以亮度样点为单位。
以下为上文总结的一些方面的一些示例实施例,其中一些可应用于DASH。已增加或修改的相关部分用下划线粗体表示,并且删除的部分用粗体斜体表示。
自适应集元素的语义
/>
示例可扩展标记语言(XML)语法如下。
/>
视频解码器初始化信息的定义示例如下。元素VideoDecoderInitInfo可以存在于 自适应集中,以为自适应集中所有表示中携带的视频比特流提供视频解码器初始化信息。 这个元素的存在指示自适应集的所有表示使用相同视频编解码器的相同档次,并且共享相 同的解码器初始化信息。当根据视频解码器初始化信息(如果存在)初始化视频解码器时, 预计当在该自适应集中的所有表示中携带的任意两个比特流之间发生比特流切换时,不需 要视频解码器重新初始化。在自适应集中的表示中携带的视频编解码器和档次比特流由@ codecs属性信令通知。
视频解码器初始化信息的语义示例如下。
VideoDecoderInitInfo元素的语义
/>
示例XML语法如下。
图1是用于建立与SDP的通信会话的示例机制100的协议图。例如,可以建立通信会话以用于在编码器和/或内容服务器与解码器之间传送视频数据。例如,可以建立通信会话以用于将视频从发送方流式传输到接收方以便显示给用户(例如,电视)。在另一个示例中,发送方和接收方可以是在双向方向上传送视频的对等方(例如,视频呼叫)。作为具体示例,发送方可以向接收方发送直播视频数据流,并且接收方可以向发送方返回直播视频数据流。
在SDP中,发起通信的设备称为提议者(例如,解码器),而响应设备称为应答者(例如,编码器)。在步骤102,提议者可以通过向应答者发送SDP提议来发起视频通信会话。SDP提议是描述提议者的媒体能力的消息,因此描述了提议者愿意接收的媒体。应答者审核SDP提议,并且确定应答者是否能满足SDP提议中的条件。应答者可以接受或拒绝步骤102的SDP提议。假设应答者决定接受请求,则应答者可以通过在步骤104向提议者发送SDP应答来指示这种接受。SDP应答描述应答者基于SDP提议愿意发送的媒体。例如,当应答者同意提议者条款时,SDP应答可以包括与SDP提议相同的媒体描述。在另一个示例中,当应答者同意一些但不是所有的提议者条款时,SDP应答可以包括在SDP提议中描述的媒体能力的子集。假设达成某种协议,则应答者然后可以基于在步骤104的SDP应答中的描述在步骤106将媒体传输到提议者。在双向上下文中,机制100可以执行两次,其中每个设备充当用于要接收的媒体流的提议者。
如上所述,本公开向解码器信令通知解码器初始化信息,解码器可以是机制100中的提议者。这允许解码器基于多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需要。在一个示例中,解码器初始化信息可以在步骤102由提议者在SDP提议中被信令通知/请求。然后编码器可以通过在步骤104在SDP应答中信令通知解码器初始化信息来响应。然后,在步骤104,解码器可以基于在SDP应答中接收的解码器初始化信息来执行初始化。在具体示例中,解码器初始化信息可以在SDP提议中和/或在RTP标头扩展中的SDP应答中被请求和/或发送。
图2是用于根据DASH执行视频流式传输的示例机制200的协议图。DASH允许接收方(例如,提议者/解码器)在单个媒体会话期间从多个替代媒体流中进行选择。通过这种方式,接收方可以根据不断变化的网络条件动态增加或减少视频分辨率。因此,接收方基于当前网络条件持续接收最佳可用视频分辨率,同时避免在网络条件恶化时暂停视频流以等待更多数据。DASH可以与SDP结合使用。例如,机制200可用于根据机制100的步骤106来传输媒体。
上述功能是通过在步骤202将MPD从发送方发送到接收方来实现的。MPD描述了多个替代和可互换的媒体流。例如,每个媒体流可以以不同的分辨率、压缩等描述相同的媒体。在步骤204,接收方使用MPD中的描述来请求媒体的片段。例如,接收方可以查看当前网络条件和/或当前缓冲器条件。当缓冲器填充新媒体数据的速度快于旧媒体数据的显示速度时,接收方可以从更高分辨率的媒体流中请求一个片段。当由于媒体数据的显示发生得比可以接收到新媒体数据的速度快而导致缓冲器变空时,接收方可以请求来自较低分辨率媒体流的片段。在步骤206,发送器(例如,应答器、编码器和/或内容服务器)可以发送在步骤204请求的片段。重复步骤204和206直到媒体呈现完成(或用户取消会话)。
如上所述,本公开向解码器信令通知解码器初始化信息,解码器可以是机制200中的接收方。这允许解码器基于多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需要。在示例中,可以在步骤202信令通知的MPD中信令通知解码器初始化信息。例如,解码器初始化信息可以描述接收方可以请求的每个媒体流。然后,解码器可以根据MPD中的解码器初始化信息执行初始化。
图3是图示由在DASH中使用的MPD 300对视频的描述的示意图,例如在机制200的步骤202中。MPD 300根据周期310、自适应集320、表示330和片段340来描述媒体流。周期310包括定时数据并且指示内容周期,在该内容周期期间媒体内容的一组一致的编解码版本是可用的(例如,一组可用的比特率、语言、字幕、副标题等不改变)。周期310可以包含一个或多个自适应集320。自适应集320包括一个或多个媒体内容分量的一组可互换编码版本。例如,第一自适应集320可包括主要视频分量,第二自适应集320可包括主要音频分量,第三自适应集320可包括字幕等。自适应集320还可包括多路复用内容,例如结合视频和音频。每个自适应集320包括一个或多个表示330。表示330描述一个或多个媒体内容分量的可交付编码版本,例如媒体内容的ISOBMFF版本。表示330中的媒体内容被进一步划分为片段340。片段340是媒体内容的预定义字节尺寸(例如,1,000字节)和/或播放时间间隔(例如,2或5秒)。每个片段340是可单独寻址的数据单元,可以使用通过MPD 300通告的通用资源定位器(URL)来下载。
例如,对于每个周期310,解码器可以选择一个或多个自适应集320以基于MPD 300中的数据获得视频、音频和/或隐藏式字幕。解码器然后可以开始流式传输来自所选自适应集320的媒体数据。解码器可以基于当前网络条件为每个自适应集320选择表示330并使用URL来获得对应的片段340以呈现给用户。随着网络条件的改变,解码器可以在对应的自适应集320内选择不同的表示330。这允许解码器以可以呈现的最佳质量获得对应媒体的片段340,而无需暂停以基于当前的网络条件重新填充缓冲器。
在示例中,解码器初始化信息可以被包括在MPD 300中描述自适应集320的数据中和/或描述表示330的数据中。例如,自适应集320可以包括自适应集320中包含的每个表示330的解码器初始化信息。在另一示例中,每个表示330可以包含描述该表示330的媒体的解码器初始化信息。然后解码器可以使用解码器初始化信息来执行初始化过程。以此方式,针对解码器可能选择的任何表示330来初始化解码器。因此,解码器不需要由于在所选自适应集320内的表示330之间交换而重新初始化。
图4是存储在ISOBMFF中的媒体文件400的示意图。例如,媒体文件400可以存储在ISOBMFF中并被用作DASH表示。ISOBMFF媒体文件400存储在多个框中,这些框携带与媒体内容或媒体呈现相关联的对象和/或数据。例如,媒体文件400可以包括文件类型框(例如ftyp)430、电影框(例如moov)410和媒体数据框(例如mdat)420。
文件类型框430可以携带描述整个文件的数据,因此可以携带文件级别数据。因此,文件级别框是包含与整个媒体文件400相关的数据的任何框。例如,文件类型框430可以包括指示媒体文件400的ISO规范的版本号和/或兼容性信息的文件类型。电影框410可以携带描述媒体文件中包含的电影的数据,因此可以携带电影级别数据。电影级别框是包含描述媒体文件400中包含的整个电影的数据的任何框。电影框410可以包含范围广泛的子框,这些子框用于包含用于各种用途的数据。例如,电影框410包含轨道框(trak)411,其携带描述媒体呈现的轨道的元数据。例如,轨道框411之一可以携带媒体数据框420中的音频数据的音频描述,另一个轨道框411可以携带媒体数据框420中的视频数据的视频描述,以及又一个轨道框411可以携带用于媒体数据框420中的媒体数据的流式传输和/或回放的提示。应当注意,轨道可以被称为相关样点的定时序列。例如,媒体轨道可以包括图片序列或采样音频,而元数据轨道可以包括以元数据为单位的元数据序列。描述轨道的数据是轨道级别数据,因此描述轨道的任何框都是轨道级别框。
媒体数据框420包括媒体呈现的交错和按时间排序的媒体数据(例如,一个或多个媒体轨道中的编解码视频图片和/或音频)。例如,媒体数据框420可包括根据VVC、AVC、HEVC等编解码的视频数据的比特流。媒体数据框420可包括视频图片、音频、文本或用于显示给用户的其他媒体数据。
如上所述,本公开向解码器信令通知解码器初始化信息。这允许解码器根据多个潜在媒体流的参数执行初始化过程,以便在流之间交换时最小化重新初始化解码器的需求。在示例中,解码器初始化信息可以在媒体文件400中被信令通知。例如,解码器初始化信息可以在文件级别框、电影级别框和/或轨道级别框中被信令通知,诸如文件类型框430、电影框410和/或轨道框411。如上所述,ISOBMFF包括用于特定目的的许多不同框。在各种示例中,解码器初始化信息可以在文件级别元数据框(包含在文件类型框430中)、电影级别元数据框(包含在电影框410中)、电影标头框(mvhd)(包含在电影框410中)、样点描述框(stsd)(包含在轨道框411中)、轨道标头框(包含在轨道框411中)、轨道组框(包含在轨道框411中)、轨道级别元数据框(包含在轨道框411中)、其他框和/或其各种组合中被信令通知。
图5是包含编解码可视媒体数据的比特流500的示意图。比特流500包含已经由编码器编码/压缩以供解码器解码/解压缩的媒体数据。例如,比特流500可以被包括在ISOBMFF媒体文件400的媒体数据框420中。此外,比特流500可以被包括在DASH中的表示330中。可以根据各种编解码格式对比特流500进行编解码,例如VVC、AVC、EVC、HEVC等。在一些编解码格式中,比特流500被表示为一系列NAL单元510。NAL单元510是尺寸适合放置在数据包中的数据单元。例如,VVC包含许多类型的NAL单元510。比特流500可以包含包含视频数据的视频编解码层(VCL)NAL单元和包含描述VCL NAL单元的数据的非VCL NAL单元,描述所采用的编解码工具,描述编解码约束等。在示例中,比特流500可以包括DCI NAL单元511和/或SEI NAL单元515。DCI NAL单元511是非VCL NAL单元,其包含描述解码器解码对应比特流所需的编解码能力的数据。SEI NAL单元515包含辅助与解码、显示或其他目的有关的过程的数据,但解码过程不需要它来确定解码图片中的样点值。在示例中,解码器初始化信息可以包含在DCI NAL单元511和/或SEI NAL单元515中。作为具体示例,SEI NAL单元515可以包含DII SEI消息516,它是专门设计来携带比特流500的解码器初始化信息的SEI消息。作为具体示例,比特流500可以进一步划分为AU,并且DII SEI消息516可以被包括在比特流500中的第一个AU中。因此,解码器可以获取每个比特流500的第一个AU,解码器可以将其解码并显示为媒体呈现的一部分。然后解码器可以基于每个相关比特流500中的解码器初始化信息来执行初始化以避免重新初始化。
图6是可实现本文中所公开的各种技术的示例视频处理系统600的框图。各种实现方式可以包括系统600中的一些或全部组件。系统600可以包括用于接收视频内容的输入602。视频内容可以以原始或未压缩的格式(例如8或10比特多分量像素值)接收,或者可以以压缩或编码的格式接收。输入602可以代表网络接口、外围总线接口或存储接口。网络接口的示例包括有线接口(诸如以太网、无源光网络(PON)等)和无线接口(诸如Wi-Fi或蜂窝接口)。
系统600可以包括可以实现本文中描述的各种编解码或编码方法的编解码组件604。编解码组件604可以减少从编解码组件604的输入602到输出的视频的平均比特率,以产生视频的编解码表示。因此,编解码技术有时称为视频压缩或视频转码技术。编解码组件604的输出可以被存储或经由所连接的通信来发送,如组件606所表示的。在输入602处接收的视频的存储或通信的比特流(或编解码)表示可以由组件608使用,以生成被发送到显示接口610的像素值或可显示视频。从比特流表示中生成用户可见的视频的过程有时称为视频解压缩。此外,尽管某些视频处理操作被称为“编解码”操作或工具,但是应当理解,在编码器处使用编解码工具或操作,并且将由解码器进行反演编解码的结果的对应解码工具或操作。
外围总线接口或显示接口的示例可以包括通用串行总线(USB)或高清晰度多媒体接口(HDMI)或Displayport等。存储接口的示例包括SATA(串行高级技术附件)、PCI、IDE接口等。本文中描述的技术可以实施在各种电子设备中,诸如移动电话、计算机电脑、智能电话或其它能够进行数字数据处理和/或视频显示的设备。
图7是示例视频处理装置700的框图。装置700可以用于实现本文中所述的方法中的一个或多个。装置700可以实施在智能电话、平板电脑、计算机、物联网(IoT)接收器等中。装置700可以包括一个或多个处理器702、一个或多个存储器704和视频处理硬件706。(多个)处理器702可以配置为实现本文中所述的一个或多个方法。(多个)存储器704可以用于存储数据和代码,该代码用于实现本文所描述的方法和技术。视频处理硬件706可以用于在硬件电路中实现本文中所描述的一些技术。在一些实施例中,视频处理硬件706可以至少部分地包括在处理器702中,例如图形协处理器。
图8是视频处理的示例方法800的流程图。方法800包括在步骤802信令通知包含一系列初始化参数的视频解码器初始化信息。当多个视频单元根据相同视频编解码器和相同档次被编解码时,初始化参数用于多个视频单元。在编码器的上下文中,信令通知包括获得视频解码器初始化信息并编码这些参数以传输到解码器。在解码器的上下文中,信令通知包括接收视频解码器初始化信息和初始化解码器,以准备解码可视媒体数据文件。在步骤804,在可视媒体数据和根据视频文件格式存储对应于可视媒体数据的信息的文件之间执行转换。在编码器的上下文中,这种转换可以通过接收可视媒体数据、基于视频解码器初始化信息将可视媒体数据编码成视频文件格式的可视媒体数据文件、以及存储视频媒体数据文件以便向解码器传输来执行。在解码器的上下文中,这种转换可以通过解码视频文件格式的可视媒体数据文件来执行,以获得可视媒体数据,用于使用基于视频解码器初始化信息选择的设置来显示。
如上所述,视频解码器初始化信息可以通过各种机制被信令通知,具体取决于示例。例如,可以在至少一个比特流中的至少一个DCI NAL单元中信令通知解码器初始化信息。在另一个示例中,解码器初始化信息可以在至少一个比特流中的至少一个DII SEI消息中被信令通知。在特定示例中,可以要求DII SEI消息存在于对应比特流的第一个AU中。在另一个示例中,解码器初始化信息可以在文件级别框、电影级别框、至少一个轨道级别框或其组合中的ISOBMFF文件中被信令通知。例如,解码器初始化信息可以在文件级别元数据框、电影级别元数据框、电影标头框、样点描述框、轨道标头框、轨道组框、轨道级别元数据框或其组合中被信令通知。在另一个示例中,解码器初始化信息可以在DASH MPD中被信令通知。例如,解码器初始化信息可以在自适应集、表示或其组合中被信令通知。在另一个示例中,解码器初始化信息可以在RTP标头扩展中被信令通知。例如,解码器初始化信息可以作为SDP提议、SDP应答或其组合的一部分来被信令通知。
在示例中,多个视频单元包括包含编解码视频序列的比特流。此外,仅当编解码视频序列根据相同视频编解码器被编解码并且当编解码视频序列符合相同档次时,才可以信令通知视频解码器初始化信息。在一个示例中,多个视频单元包括视频轨道。解码器初始化信息可以在ISOBMFF文件的文件级别框或电影级别框中被信令通知。此外,视频解码器初始化信息可以应用于使用相同视频编解码器的相同档次的一组或多组替代视频轨道。在另一个示例中,视频解码器初始化信息应用于使用相同视频编解码器的相同档次的所有视频轨道。在一个示例中,多个视频单元可以包括视频轨道中的样点条目。此外,解码器初始化信息可以在ISOBMFF文件的轨道级别框中被信令通知。解码器初始化信息可以应用于视频轨道。在一个示例中,要求视频轨道的所有样点条目指示相同视频编解码器的相同档次。在一个示例中,解码器初始化信息在ISOBMFF文件的轨道组框中被信令通知。解码器初始化信息的存在可以指示该视频轨道是一组视频轨道的一部分,这些视频轨道都使用相同视频编解码器的相同档次并且共享相同的解码器初始化信息。在一个示例中,解码器初始化信息的存在可以指示该组视频轨道中的所有轨道中的所有样点条目使用相同视频编解码器的相同档次,并且共享相同的解码器初始化信息。在一个示例中,解码器初始化信息可以指示当前轨道,并且被指示为当前轨道的替代轨道的所有轨道使用相同视频编解码器的相同档次,并且共享相同的解码器初始化信息。
在一个示例中,多个视频单元可包括自适应集中的表示。仅当根据相同的视频编解码器对表示进行编解码并且当表示符合相同的档次时,才可以信令通知视频解码器初始化信息。在一个示例中,解码器初始化信息在DASH MPD中的自适应集中被信令通知。解码器初始化信息可以应用于使用相同视频编解码器的相同档次的自适应集中的所有表示。在一个示例中,解码器初始化信息的存在指示自适应集的所有表示使用相同视频编解码器的相同档次。
视频解码器初始化信息可以包括一系列初始化参数。例如,视频解码器初始化信息可以包括相同的参数,该参数对于不同的比特流、轨道和/或表示被设置为不同的值。此外,视频解码器初始化信息可以包括各种比特流、轨道和/或表示的多个不同参数。然后,当在指示的比特流、轨道和/或表示之间交换时,解码器可以使用一系列初始化参数中的任何或所有参数,以最小化重新初始化的设置来初始化解码器。例如,视频解码器初始化信息可以包括当解码比特流时存储在DPB中的maxDecPics、比特流中编解码图片的最大maxDecPicW、比特流中编解码图片的maxDecPicH或其组合。此外,视频解码器初始化信息可以包括在对应比特流中使用层间预测、参考图片重采样、环绕运动补偿、来自参考图片的运动矢量预测、调色板编解码模式、自适应颜色变换、帧内块复制、ALF APS NAL单元、LMCSAPS NAL单元、缩放列表APS NAL单元或其组合的指示。此外,视频解码器初始化信息可以包括当前图片和对应的参考图片之间的最大图片顺序计数的指示。此外,视频解码器初始化信息可以包括最大颜色格式、最大比特深度、最大编解码图片缓冲器尺寸、最小CU尺寸、缩放比率计算信息或其组合的指示。此外,视频解码器初始化信息可以包括对去块、填充、子图片分割、条带分割、片分割、环绕运动补偿、参考图片重采样、长期参考图像或其组合的使用的指示。此外,视频解码器初始化信息可以包括对应比特流的所有CVS符合的最大层、对应比特流的所有CVS符合的最大级别或其组合。此外,视频解码器初始化信息可以包括用于执行可视媒体数据和可视媒体数据文件之间的转换的视频编解码器的指示。此外,视频解码器初始化信息可以包括所有比特流都符合的档次。
应注意,方法800可在用于处理视频数据的装置中实现,该装置包括处理器和其上带有指令的非暂时性存储器,例如视频编码器1000、视频解码器1100和/或编码器1200。在这种情况下,由处理器执行的指令使得处理器执行方法800。此外,方法800可以由包括供视频编解码设备使用的计算机程序产品的非暂时性计算机可读介质来执行。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可执行指令,使得当由处理器执行时,使得视频编解码设备执行方法800。
图9是示出可利用本公开的技术的示例视频编解码系统900的框图。如图9所示,视频编解码系统900可以包括源设备910和目标设备920。源设备910生成编码的视频数据,其可以被称为视频编码设备。目标设备920可以解码由源设备910生成的编码的视频数据,该目标设备920可以被称为视频解码设备。
源设备910可以包括视频源912、视频编码器914和输入/输出(I/O)接口916。视频源912可以包括诸如视频捕获设备的源、从视频内容提供者接收视频数据的接口、和/或生成视频数据的计算机图形系统,或这些源的组合。视频数据可以包括一个或多个图片。视频编码器914对来自视频源912的视频数据进行编码以生成比特流。比特流可以包括形成视频数据的编解码表示的比特序列。比特流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其他语法元素。I/O接口916包括调制器/解调器(调制解调器)和/或发送器。可以将编码的视频数据经由I/O接口916通过网络930直接发送到目标设备920。还可以将编码的视频数据存储到存储介质/服务器940上,用于由目标设备920存取。
目标设备920可以包括I/O接口926、视频解码器924和显示设备922。I/O接口926可以包括接收器和/或调制解调器。I/O接口926可以从源设备910或存储介质/服务器940获取编码的视频数据。视频解码器924可以对编码的视频数据进行解码。显示设备922可以向用户显示解码的视频数据。显示设备922可以与目标设备920集成,或可以在配置为与外置显示设备相接的目标设备920外部。
视频编码器914和视频解码器924可以根据视频压缩标准(诸如,高效视频编解码(HEVC)标准、多功能视频编解码(VVC)标准和其他当前和/或其他标准)进行操作。
图10是示出视频编码器1000的示例的框图,该视频编码器200可以是图9中示出的系统900中的视频编码器914。视频编码器1000可以被配置为执行本公开的任何或全部技术。在图10的示例中,视频编码器1000包括多个功能组件。本公开所描述的技术可以在视频编码器1000的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
视频编码器1000的功能组件可以包括分割单元1001、预测单元1002(其可以包括模式选择单元1003、运动估计单元1004、运动补偿单元1005、帧内预测单元1006)、残差生成单元1007、变换处理单元1008、量化单元1009、逆量化单元1010、逆变换单元1011、重建单元1012、缓冲器1013和熵编码单元1014。
在其他示例中,视频编码器1000可以包括更多、更少或不同的功能组件。在一个示例中,预测单元1002可以包括帧内块复制(IBC)单元。IBC单元可以以IBC模式进行预测,其中至少一个参考图片是当前视频块所位于的图片。
此外,诸如运动估计单元1004和运动补偿单元1005的一些组件可以被高度集成,但是出于解释的目的在图10的示例中分开表示。
分割单元1001可以将图片分割成一个或多个视频块。视频编码器1000和视频解码器1100可以支持各种视频块尺寸。
模式选择单元1003可以例如基于错误结果选择帧内或帧间的编解码模式中的一个,并且将得到的帧内或帧间编解码块提供到残差生成单元1007来生成残差块数据而且提供到重建单元1012来重建编解码块以用作参考图片。在一些示例中,模式选择单元1003可以选择帧内和帧间预测的组合(CIIP)模式,其中预测是基于帧间预测信号和帧内预测信号。模式选择单元1003还可以为帧间预测情况下的块选择运动矢量的分辨率(例如子像素或整像素精度)。
为了对当前视频块进行帧间预测,运动估计单元1004可以通过将来自缓冲器1013的一个或多个参考帧与当前视频块进行比较,生成当前视频块的运动信息。运动补偿单元1005可以基于来自缓冲器1013的图片(而不是与当前视频块相关联的图片)的运动信息和解码样点来为当前视频块确定预测的视频块。
运动估计单元1004和运动补偿单元1005可以为当前视频块进行不同操作,例如执行不同操作取决于当前视频块是在I条带、P条带还是B条带中。
在一些示例中,运动估计单元1004可以进行当前视频块的单向预测,并且运动估计单元1004可以在列表0或列表1的参考图片中搜索当前视频块的参考视频块。然后运动估计单元1004可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在当前视频块与参考视频块之间的空域位移的运动矢量。运动估计单元1004可以输出参考索引、预测方向指示符、和运动矢量作为当前视频块的运动信息。运动补偿单元1005可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元1004可以进行当前视频块的双向预测,运动估计单元1004可以在列表0的参考图片中搜索当前视频块的参考视频块并且还可以在列表1的参考图片中搜索当前视频块的另一个参考视频块。然后运动估计单元1004可以生成指示列表0或列表1的参考图片中含有参考视频块的参考索引以及指示在参考视频块与当前视频块之间的空域位移的运动矢量。运动估计单元1004可以输出参考索引和当前视频块的运动矢量作为当前视频块的运动信息。运动补偿单元1005可以基于由当前视频块的运动信息指示的参考视频块来生成当前视频块的预测视频块。
在一些示例中,运动估计单元1004可以输出运动信息的全部集合,用于解码器的解码处理。在一些示例中,运动估计单元1004可以不输出当前视频的运动信息的全部集合。而是,运动估计单元1004可以参考另一个视频块的运动信息来信令通知当前视频块的运动信息。例如,运动估计单元1004可以确定当前视频块的运动信息与相邻视频块的运动信息足够相似。
在一个示例中,运动估计单元1004可以在与当前视频块相关联的语法结构中指示:向视频解码器1100指示当前视频块具有与另一个视频块相同的运动信息的值。
在另一个示例中,运动估计单元1004可以在与当前视频块相关联的语法结构中标识另一个视频块和运动矢量差(MVD)。运动矢量差指示当前视频块的运动矢量与指示视频块的运动矢量之间的差。视频解码器1100可以使用指示视频块的运动矢量和运动矢量差来确定当前视频块的运动矢量。
如上所讨论的,视频编码器1000可以预测性地信令通知运动矢量。可以由视频编码器1000实现的预测性的信令通知技术的两个示例包括高级运动矢量预测(AMVP)和merge模式信令通知。
帧内预测单元1006可以对当前视频块进行帧内预测。当帧内预测单元1006对当前视频块进行帧内预测时,帧内预测单元1006可以基于相同图片中其他视频块的解码样点来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块和各种语法元素。
残差生成单元1007可以通过从当前视频块中减去当前视频块的(多个)预测视频块来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样点的不同样点分量的残差视频块。
在其他示例中,例如在跳过模式下,对于当前视频块可能不存在当前视频块的残差数据,并且残差生成单元1007可以不进行减去操作。
变换处理单元1008可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块来生成当前视频块的一个或多个变换系数视频块。
在变换处理单元1008生成与当前视频块相关联的变换系数视频块之后,量化单元1009可以基于与当前视频块相关联的一个或多个量化参数(QP)值来量化与当前视频块相关联的变换系数视频块。
逆量化单元1010和逆变换单元1011可以将逆量化和逆变换分别应用于变换系数视频块,来从变换系数视频块重建残差视频块。重建单元1012可以将重建的残差视频块添加到来自由预测单元1002生成的一个或多个预测视频块的对应样点,以产生与当前块相关联的重建视频块用于存储在缓冲器1013中。
在重建单元1012重建视频块之后,可以进行环路滤波操作以降低视频块中视频块化伪影。
熵编码单元1014可以从视频编码器1000的其他功能组件接收数据。当熵编码单元1014接收数据时,熵编码单元1014可以进行一个或多个熵编码操作以生成熵编码数据并且输出包括熵编码数据的比特流。
图11是示出视频解码器1100的示例的框图,该视频解码器1100可以是图9中示出的系统900中的视频解码器924。
视频解码器1100可以被配置为进行本公开的任何或全部技术。在图11的示例中,视频解码器1100包括多个功能组件。本公开所描述的技术可以在视频解码器1100的各种组件之间共享。在一些示例中,处理器可以配置为进行本公开中描述的任何或全部技术。
在图11的示例中,视频解码器1100包括熵解码单元1101、运动补偿单元1102、帧内预测单元1109、逆量化单元1104、逆变换单元1105以及重建单元1106和缓冲器1107。在一些示例中,视频解码器1100可以进行与关于视频编码器1000(图10)所描述的编码过程总体反演的解码过程。
熵解码单元1101可以检索编码比特流。编码比特流可以包括熵编解码视频数据(例如,视频数据的编解码块)。熵解码单元1101可以对熵编解码视频进行解码,并且根据熵解码视频数据,运动补偿单元1102可以确定包括运动矢量、运动矢量精度、参考图片列表索引和其他运动信息的运动信息。运动补偿单元1102例如可以通过进行AMVP和merge模式确定此类信息。
运动补偿单元1102可以产生运动补偿块,可能地基于插值滤波器进行插值。要以子像素精度使用的插值滤波器的标识符可以包括在语法元素中。
运动补偿单元1102可以使用由视频编码器1000在编码视频块的期间所使用的插值滤波器,来计算出参考块的子整数个像素的插值的值。运动补偿单元1102可以根据接收的语法信息确定由视频编码器1000所使用的插值滤波器并且使用插值滤波器来产生预测块。
运动补偿单元1102可以使用一些语法信息来确定:用于对编码视频序列的(多个)帧和/或(多个)条带进行编码的块的尺寸,描述编码视频序列的图片的每个宏块如何被分割的分割信息,指示如何编码每个分割的模式,每个帧间编码块的一个或多个参考帧(和参考帧列表),以及对编码视频序列进行解码的其他信息。
帧内预测单元1103可以使用例如在比特流中接收的帧内预测模式来从空域相邻块形成预测块。逆量化单元1104逆量化(即去量化)在比特流中提供的且由熵解码单元1101解码的量化的视频块系数。逆变换单元1105应用逆变换。
重建单元1106可以用由运动补偿单元1102或帧内预测单元1103生成的对应预测块求和残差块,以形成解码块。如所期望的,去块滤波器还可以应用于滤波解码块以便移除块效应伪影。解码视频块然后存储在缓冲器1107中,该缓冲器1107提供用于随后的运动补偿/帧内预测的参考块,并且还产生用于在显示设备上呈现的解码视频。
图12是示例编码器1200的示意图。编码器1200适合于实现VVC技术。编码器1200包括三个环路滤波器,即去块滤波器(DF)1202、样点自适应偏移(SAO)1204和自适应环路滤波器(ALF)1206。与使用预定义滤波器的DF 1202不同,SAO 1204和ALF 1206利用当前图片的原始样点,通过分别添加偏移和应用有限脉冲响应(FIR)滤波器,利用编解码的辅助信息信令通知偏移和滤波器系数,来减小原始样点和重构样点之间的均方误差。ALF 1206位于每个图片的最后处理阶段,并且可以被视为试图捕捉和修复由先前阶段产生的伪像的工具。
编码器1200还包括帧内预测组件1208和运动估计/补偿(ME/MC)组件1210,配置为接收输入视频。帧内预测组件1208被配置成执行帧内预测,而ME/MC组件1210被配置成利用从参考图片缓冲器1212获得的参考图片来执行帧间预测。来自帧间预测或帧内预测的残差块被馈送到变换(T)组件1214和量化(Q)组件1216中,以生成量化的残差变换系数,这些系数被馈送到熵编解码组件1218中。熵编解码组件1218对预测结果和量化的变换系数进行熵编解码,并将其向视频解码器(未示出)发送。从量化组件1216输出的量化组件可以被馈送到逆量化(IQ)组件1220、逆变换组件1222和重构(REC)组件1224。REC组件1224能够将图像输出到DF 1202、SAO 1204和ALF 1206,以便在这些图片被存储在参考图片缓冲器1212中之前进行滤波。
接下来提供了一些实施例优选的解决方案的列表。
以下解决方案显示了本文讨论的技术的实例。
1.一种可视媒体处理方法(例如,图8中描绘的方法800),包括执行视频和视频的编解码比特流之间的转换;其中编解码比特流符合格式规则,其中格式规则指定编解码比特流包括解码器初始化信息,其中解码器初始化信息可由解码器用于初始化用于转换的解码器资源。
2.根据解决方案1所述的方法,其中解码器初始化信息包括在解码期间要存储在解码图片缓冲器中的解码图片的数量。
3.根据解决方案1-2中任一项所述的方法,其中解码器初始化信息包括编解码比特流中的最大图片宽度。
4.根据解决方案1-3中任一项所述的方法,其中解码器初始化信息包括编解码比特流中的最大图片高度。
5.根据解决方案1-4中任一项所述的方法,其中解码器初始化信息包编解码工具是否被启用。
6.以上或以下解决方案中任一项所述的方法,其中解码器被初始化,使得解码图片缓冲器被控制为包括多个图片时隙,其中图片时序的数量由预定义的最大限制来定义。
7.以上或以下解决方案中任一项所述的方法,其中根据比特流中编解码图片的最大高度或最大宽度来初始化解码器。
8.根据任何上述解决方案所述的方法,其中根据格式规则,解码器初始化信息被包括在解码能力信息(DCI)网络抽象层单元(NAL)字段中。
9.任何上述解决方案所述的方法,其中根据格式规则,解码器初始化信息被包括在补充增强信息(SEI)消息中。
10.任何上述解决方案所述的方法,其中根据国际标准组织基本媒体文件格式(ISOBMFF)格式化编解码比特流,并且包括解码器初始化信息。
11.任何上述解决方案所述的方法,其中根据基于超文本传输协议的运动图像专家组(MPEG)动态自适应流(DASH)媒体呈现描述(MPD)格式来格式化编解码比特流,以包括解码器初始化信息。
12.任何上述解决方案所述的方法,其中根据实时传输协议(RTP)格式格式化编解码比特流以包括解码器初始化信息。
13.解决方案12所述的方法,其中解码器初始化信息被包括作为会话描述协议参数。
14.任何上述解决方案所述的方法,其中格式规则指定当编解码比特流的档次、级别或层改变时,解码器被重新初始化。
15.任何上述解决方案所述的方法,其中格式规则指定当编解码比特流中的定时参数或假设参考解码器参数语法改变时,解码器被重新初始化。
16.一种视频解码装置,包括被配置为实现解决方案1至15中的一项或多项所述的方法的处理器。
17.一种视频编码装置,包括被配置为实现解决方案1至15中的一项或多项所述的方法的处理器。
18.一种其上存储有计算机代码的计算机程序产品,计算机代码在由处理器执行时使处理器实现解决方案1至15中任一项所述的方法。
19.一种计算机可读介质,其上记录有符合根据解决方案1至15中任一项生成的比特流格式的比特流。
20.一种方法,包括根据解决方案1至15中任一项所述的方法生成比特流,并将该比特流写入计算机可读介质。
21.本文档中描述的方法、装置或系统。
在本文所述的解决方案中,编码器可通过根据格式规则产生编解码表示来符合格式规则。在本文描述的解决方案中,解码器可以使用格式规则来解析编解码表示中的语法元素,根据格式规则了解语法元素的存在和不存在,以产生解码的视频。
在本文中,术语“视频处理”可指视频编码、视频解码、视频压缩或视频解压缩。例如,在从视频的像素表示到对应的比特流表示的转换期间,可以应用视频压缩算法,反之亦然。如语法所定义,当前视频块的比特流表示可(例如)对应于共位或散布在比特流内不同位置的比特。例如,可以根据变换和编解码的误差残差值并且还使用头中的比特和比特流中的其他字段,对宏块进行编码。此外,在转换期间,解码器可以基于该确定,在知道一些字段可能存在或不存在的情况下解析比特流,如以上解决方案中所述。类似地,编码器可确定包括或不包括某些语法字段,并通过从编解码表示中包括或排除语法字段来相应地生成编解码表示。
本文中所述的公开和其他方案、示例、实施例、模块和功能操作可以被实现在数字电子电路中或者在计算机软件、固件或硬件中,含有本文中所公开的结构以及其结构的等同物,或者它们中的一个或多个的组合。所公开的和其他实施例可以被实现为计算机可读介质上所编码的一个或多个计算机程序产品,即一个或多个计算机程序指令模块,用于由数据处理装置执行或者控制数据处理装置的操作。该计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读可传播信号的复合物,或其一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言,并且可以以任何形式来部署计算机程序,包括独立程序或适合在计算环境中使用的模块、组件、子例程或其它单元。计算机程序不必须对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分中(例如,在标记语言文档中存储的一个或多个脚本)、在专用于所讨论的程序的单个文件中、或在多个协同文件中(例如存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以部署为在一个计算机上或者在多个计算机上执行,该多个计算机位于一个站点处或者分布跨多个站点并由通信网络互连。
可以由执行一个或多个计算机程序的一个或多个可编程处理器来进行在本文档中所描述的过程和逻辑流,以通过在输入数据上操作并且生成输出来进行功能。也可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))进行过程和逻辑流,并且装置可以实现为专用逻辑电路(例如FPGA或ASIC)。
适合于计算机程序的执行的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者该两者接收指令和数据。计算机的基本元件是用于进行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备(例如磁、磁光盘或光盘),或者可操作地耦合以从海量存储设备(例如磁、磁光盘或光盘)接收数据或者将数据传输到海量存储设备(例如磁、磁光盘或光盘),或者以上两者。但是,计算机不必具有此类设备。适用于存储计算机程序指令和数据的计算机可读介质含有所有形式的非易失性存储器、介质和存储器设备,含有例如半导体存储器设备(例如EPROM、EEPROM和闪速存储器设备);磁盘(例如内部硬盘或可移动磁盘);磁光盘;和CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充,或者合并在专用逻辑电路中。
虽然本专利文档含有许多细节,但这些细节不应被解释为对任何主题或可要求保护的范围的限制,而是作为规定于特定技术的特定实施例的特征的描述。在本专利文档中,在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反地,在单个实施例的上下文中所描述的各种特征还可以分别在多个实施例中来实现或者以各种合适的子组合来实现。此外,尽管特征可以如上文描述为以某些组合起作用并且甚至最初同样地要求,但是在某些情况下来自所要求保护的组合的一个或多个特征可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,尽管在附图中以特定顺序描绘了操作,但这不应当理解为要求按所示的特定次序或顺序次序进行此类操作或者进行所有示出的操作,以实现期望的结果。此外,在本专利文档中描述的实施例中的各种系统组件的分开不应被理解为在所有实施例中都要求这种分开。
仅描述了几个实现方式和示例,并且可以基于本专利文档中描述和示出的内容来作出其它实现方式、增强和变型。
当除了第一组件和第二组件之间的线、迹线或另一种介质之外,不存在中间组件时,第一组件直接耦合至第二组件。当在第一组件和第二组件之间存在除了线、迹线或另一种介质之外的中间组件时,第一组件间接耦合到第二组件。术语“耦合”及其变体包括直接耦合和间接耦合。除非另有说明,术语“约”的使用意味着包括后续数值的10%的范围。
虽然本公开中提供了若干实施例,但应理解,在不脱离本公开的精神或范围的情况下,所公开的系统和方法可体现为许多其他特定形式。当前的示例被认为是说明性的而非限制性的,并且意图不限于这里给出的细节。例如,各种元件或组件可以组合或集成在另一个系统中,或者可以省略或不实现某些特征。
此外,在不脱离本公开的范围的情况下,各种实施例中描述和说明的离散或单独的技术、系统、子系统和方法可与其他系统、模块、技术或方法组合或集成。被示出或讨论为耦合的其他项目可以直接连接,或者可以通过一些接口、设备或中间组件以电、机械或其他方式间接耦合或通信。本领域的技术人员可以确定改变、替换和变更的其他示例,并且可以在不脱离这里公开的精神和范围的情况下进行这些改变、替换和变更。

Claims (24)

1.一种处理视频数据的方法,包括:
当根据相同视频编解码器和相同档次对多个视频单元进行编解码时,信令通知包含所述多个视频单元的一系列初始化参数的视频解码器初始化信息;以及
基于所述一系列初始化参数,执行可视媒体数据和可视媒体数据文件之间的转换。
2.根据权利要求1所述的方法,其中,所述多个视频单元包括包含编解码视频序列的比特流,并且仅当根据所述相同视频编解码器对所述编解码视频序列进行编解码时以及当所述编解码视频序列符合所述相同档次时,才信令通知所述视频解码器初始化信息。
3.根据权利要求1-2中任一项所述的方法,其中,所述多个视频单元包括视频轨道,所述解码器初始化信息在国际标准化组织(ISO)基本媒体文件格式(ISOBMFF)文件的文件级别框或电影级别框中被信令通知,并且所述视频解码器初始化信息应用于使用所述相同视频编解码器的相同档次的一组或多组替代视频轨道。
4.根据权利要求1-3中任一项所述的方法,其中,所述多个视频单元包括视频轨道,所述解码器初始化信息在ISOBMFF文件的文件级别框或电影级别框中被信令通知,并且所述视频解码器初始化信息适用于使用所述相同视频编解码器的相同档次的所有视频轨道。
5.根据权利要求1-4中任一项所述的方法,其中,所述多个视频单元包括视频轨道中的样点条目,所述解码器初始化信息在ISOBMFF文件的轨道级别框中被信令通知,并且所述解码器初始化信息应用于所述视频轨道。
6.根据权利要求1-5中任一项所述的方法,其中,要求所述视频轨道的所有样点条目指示所述相同视频编解码器的相同档次。
7.根据权利要求1-6中任一项所述的方法,其中,所述解码器初始化信息在ISOBMFF文件的轨道组框中被信令通知,并且所述解码器初始化信息的存在指示所述视频轨道是一组视频轨道的一部分,所述一组视频轨道全部使用所述相同视频编解码器的相同档次并且共享相同的解码器初始化信息。
8.根据权利要求1-7中任一项所述的方法,其中,所述解码器初始化信息的存在指示所述一组视频轨道中的所有轨道中的所有样点条目使用所述相同视频编解码器的相同档次并且共享相同解码器初始化信息。
9.根据权利要求1-7中任一项所述的方法,其中,所述解码器初始化信息在ISOBMFF文件的轨道级别框中被信令通知,并且所述解码器初始化信息指示当前轨道,并且被指示为所述当前轨道的替代轨道的所有轨道使用所述相同视频编解码器的相同档次并且共享相同解码器初始化信息。
10.根据权利要求1-9中任一项所述的方法,其中,所述多个视频单元包括自适应集中的表示,并且仅当根据所述相同视频编解码器对所述表示进行编解码时以及当所述表示符合所述相同档次时,才信令通知所述视频解码器初始化信息。
11.根据权利要求1-10中任一项所述的方法,其中,所述解码器初始化信息在基于超文本传输协议的动态自适应流(DASH)媒体呈现描述(MPD)中的自适应集中被信令通知,并且所述解码器初始化信息适用于所述自适应集中使用所述相同视频编解码器的相同档次的所有表示。
12.根据权利要求1-11中任一项所述的方法,其中,所述解码器初始化信息的存在指示所述自适应集的所有表示使用所述相同视频编解码器的相同档次。
13.根据权利要求1-12中任一项所述的方法,其中,所述解码器初始化信息包括当解码比特流时存储在解码图片缓冲器(DPB)中的解码图片的最大数量(maxDecPics)、所述比特流中编解码图片的最大解码图片宽度(maxDecPicW)、所述比特流中编解码图片的最大解码图片高度(maxDecPicH)或其组合。
14.根据权利要求1-12中任一项所述的方法,其中,所述解码器初始化信息包括在对应比特流中使用层间预测、参考图片重采样、环绕运动补偿、来自参考图片的运动矢量预测、调色板编解码模式、自适应色彩变换、帧内块复制、自适应环路滤波器(ALF)自适应参数集(APS)NAL单元、具有色度缩放的亮度映射(LMCS)APS NAL单元、缩放列表APS NAL单元或其组合的指示。
15.根据权利要求1-14中任一项所述的方法,其中,所述解码器初始化信息包括当前图片和对应参考图片之间的最大图片顺序计数的指示。
16.根据权利要求1-15中任一项所述的方法,其中,所述解码器初始化信息包括最大颜色格式、最大比特深度、最大编解码图片缓冲器尺寸、最小编解码单元(CU)尺寸、缩放比例计算信息或者其组合的指示。
17.根据权利要求1-16中任一项所述的方法,其中,所述解码器初始化信息包括对去块、填充、子图片分割、条带分割、片分割、环绕运动补偿、参考图片重采样、长期参考图片或其组合的使用的指示。
18.根据权利要求1-17中任一项所述的方法,其中,所述解码器初始化信息包括对应比特流的所有编解码视频序列(CVS)都符合的最大层、对应比特流的所有CVS都符合的最大等级,或其组合。
19.根据权利要求1-18中任一项所述的方法,其中,所述解码器初始化信息包括用于执行所述可视媒体数据和所述可视媒体数据文件之间的转换的视频编解码器的指示。
20.根据权利要求1-19中任一项所述的方法,其中,所述解码器初始化信息包括所有比特流都符合的档次。
21.根据权利要求1-18中任一项所述的方法,其中,所述转换包括根据所述可视媒体数据生成所述可视媒体数据文件。
22.根据权利要求1-18中任一项所述的方法,其中所述转换包括解析所述可视媒体数据文件以获得所述可视媒体数据。
23.一种处理视频数据的装置,包括处理器和其上具有指令的非暂时性存储器,其中,所述指令在由所述处理器执行时使所述处理器执行权利要求1-22中任一项所述的方法。
24.一种非暂时性计算机可读介质,包括供视频编解码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非暂时性计算机可读介质上的计算机可执行指令,使得所述计算机可执行指令在由处理器执行时使所述视频编解码设备执行权利要求1-22中任一项所述的方法。
CN202180086802.7A 2020-12-23 2021-12-23 视频解码器初始化信息约束 Pending CN116648913A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN2020138662 2020-12-23
CNPCT/CN2020/138662 2020-12-23
CNPCT/CN2021/070411 2021-01-06
CN2021070411 2021-01-06
PCT/CN2021/140742 WO2022135508A1 (en) 2020-12-23 2021-12-23 Video decoder initialization information constraints

Publications (1)

Publication Number Publication Date
CN116648913A true CN116648913A (zh) 2023-08-25

Family

ID=82157413

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202180086802.7A Pending CN116648913A (zh) 2020-12-23 2021-12-23 视频解码器初始化信息约束
CN202180086701.XA Pending CN116648918A (zh) 2020-12-23 2021-12-23 视频解码器初始化信息

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202180086701.XA Pending CN116648918A (zh) 2020-12-23 2021-12-23 视频解码器初始化信息

Country Status (3)

Country Link
US (2) US20230345025A1 (zh)
CN (2) CN116648913A (zh)
WO (2) WO2022135507A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024076494A1 (en) * 2022-10-03 2024-04-11 Bytedance Inc. Enhanced signalling of preselection in a media file

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5032936B2 (ja) * 2007-10-04 2012-09-26 キヤノン株式会社 動画像符号化装置及びその制御方法
KR101965388B1 (ko) * 2011-11-04 2019-04-04 주식회사 골드피크이노베이션즈 양자화 계수 부/복호화 방법 및 이러한 방법을 사용하는 장치
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
GB2539461B (en) * 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
CN112866754A (zh) * 2015-09-07 2021-05-28 Lg 电子株式会社 广播信号发送设备和方法以及广播信号接收设备和方法
US11095896B2 (en) * 2017-10-12 2021-08-17 Qualcomm Incorporated Video coding with content adaptive spatially varying quantization
KR20190056888A (ko) * 2017-11-17 2019-05-27 삼성전자주식회사 비디오 부호화 장치 및 방법
US11184665B2 (en) * 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data

Also Published As

Publication number Publication date
US20230336753A1 (en) 2023-10-19
WO2022135508A1 (en) 2022-06-30
US20230345025A1 (en) 2023-10-26
CN116648918A (zh) 2023-08-25
WO2022135507A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
JP7433280B2 (ja) ビデオストリームにおける従属ランダムアクセスポイント指示
JP7222043B2 (ja) ビデオコーディングにおけるデコード機能情報のストレージ
JP7414882B2 (ja) 共通メディアアプリケーションフォーマットでの復号化能力情報
CN116830573A (zh) 交叉随机访问点信令增强
US20230336753A1 (en) Video decoder initialization information
CN114760476B (zh) 视频解码器初始化信息信令
WO2022143614A1 (en) Cross random access point signaling in video coding
CN116547971A (zh) Vvc视频编解码中的滚动样点组
CN115428438A (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