CN116982318A - 媒体文件处理方法及设备 - Google Patents

媒体文件处理方法及设备 Download PDF

Info

Publication number
CN116982318A
CN116982318A CN202180095916.8A CN202180095916A CN116982318A CN 116982318 A CN116982318 A CN 116982318A CN 202180095916 A CN202180095916 A CN 202180095916A CN 116982318 A CN116982318 A CN 116982318A
Authority
CN
China
Prior art keywords
operating point
information
operation point
media file
state
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
CN202180095916.8A
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.)
LG Electronics Inc
Original Assignee
LG Electronics 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 LG Electronics Inc filed Critical LG Electronics Inc
Publication of CN116982318A publication Critical patent/CN116982318A/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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

Landscapes

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

Abstract

本文档的一个实施方式提供了一种由媒体文件生成设备执行的媒体文件生成方法。该方法包括以下步骤:对与至少一个操作点相关的组进行配置,以及生成包括该组的媒体文件,其中,该组是实体组和样本组中的一者;该组包括关于操作点数量的数量信息、指示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用指示符信息;操作点可用指示符信息的值指示特定状态中的一个;并且特定状态包括关于操作点是完整的第一状态、关于与操作点相关联的输出层集合的不可用性的第二状态以及关于与操作点相关联的一个或更多个时间子层的不可用性的第三状态。

Description

媒体文件处理方法及设备
技术领域
本公开涉及视频/图像编码技术,并且更具体地,涉及在视频/图像编码系统中针对编码的图像信息处理媒体文件的方法和设备。
背景技术
最近,在各种领域中,对高分辨率、高质量图像/视频(例如,4K、8K或更多超高清(UHD)视频/图像)的需求不断增加。随着视频/图像分辨率或质量变得更高,相比于常规视频/图像数据,发送相对大量的信息或比特。因此,如果视频/图像数据经由诸如现有有线/无线宽带线路的介质发送或者存储在传统存储介质中,则容易增加传输和存储的成本。
此外,对虚拟现实(VR)和人工现实(AR)内容以及沉浸式媒体(例如,全息图)的兴趣和需求正在增长;并且呈现与诸如游戏图像/视频的实际视频/图像的图像/视频特性不同的图像/视频特性的图像/视频的广播也正在增长。
因此,需要高效图像压缩技术来有效地压缩并发送、存储或播放示出了如上所述的各种特性的高分辨率、高质量视频/图像。
发明内容
技术目的
本公开提供了一种用于提高视频/图像编码效率的方法和设备。
本公开还提供了一种用于生成针对编码的图像信息的媒体文件的方法和设备。
本公开还提供了一种用于对针对编码的图像信息的媒体文件进行处理的方法和设备。
技术方案
根据本文档的一个实施方式,本文提供了一种由媒体文件生成设备执行的生成媒体文件的方法。所述方法可以包括以下步骤:对与至少一个操作点相关的组进行配置;以及生成包括所述组的所述媒体文件,其中,所述组是实体组或样本组中的一者,其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
根据本文档的另一实施方式,本文提供了一种媒体文件生成设备。所述媒体文件生成设备可以包括:图像处理器,所述图像处理器对与至少一个操作点相关的组进行配置,以及媒体文件生成器,所述媒体文件生成器生成包括所述组的所述媒体文件,其中,所述组是实体组或样本组中的一者,其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
根据本说明书的又一实施方式,本文提供了一种由媒体文件处理设备执行的用于处理媒体文件的方法。所述方法可以包括以下步骤:获得包括组的所述媒体文件;以及对与至少一个操作点相关的所述组进行解析,其中,所述组是实体组或样本组中的一者,其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
根据本文档的再一实施方式,本文提供了一种媒体文件处理设备。所述媒体文件处理设备可以包括:接收器,所述接收器获得包括组的所述媒体文件;以及媒体文件处理器,所述媒体文件处理器对与至少一个操作点相关的所述组进行解析,其中,所述组是实体组或样本组中的一者,其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
根据本说明书的又一实施方式,本文提供了一种非暂时性计算机可读数字存储介质,其存储有通过用于生成媒体文件的方法生成的媒体文件。在非暂时性计算机可读数字存储介质中,所述方法可以包括以下步骤:对与至少一个操作点相关的组进行配置;以及生成包括所述组的所述媒体文件,其中,所述组是实体组或样本组中的一者,其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
有益效果
根据本文档,组是实体组或样本组中的一者,该组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,操作点可用性指示符信息的值表示特定状态中的一个,特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。通过这些内容,可以通过仅用信号通知一些操作点(并非所有操作点)不可用来提高整体编码效率。
附图说明
图1示意性例示了适用于本公开的实施方式的视频/图像编码系统的示例。
图2是例示可以应用本公开的实施方式的视频/图像编码设备的配置的示意图。
图3是例示可以应用本公开的实施方式的视频/图像解码设备的配置的示意图。
图4示例性例示了针对编码的视频/图像的层结构。
图5和图6示意性例示了媒体文件结构的示例。
图7例示了基于DASH的自适应流模型的整体操作的示例。
图8示例性例示了应用本公开提出的实施方式的用于生成媒体文件的方法。
图9示例性例示了用于对通过应用本公开提出的实施方式生成的媒体文件进行解码的方法。
图10示意性例示了根据本公开的通过用于生成媒体文件的设备生成媒体文件的方法。
图11示意性例示了根据本公开的用于生成媒体文件的设备,该设备执行用于生成媒体文件的方法。
图12示意性例示了根据本公开的通过用于处理媒体文件的设备对媒体文件进行处理的方法。
图13示意性例示了根据本公开的用于处理媒体文件的设备,该设备执行用于处理媒体文件的方法。
图14例示了应用本公开的内容流传输系统的结构图。
具体实施方式
可以以各种形式修改本公开,并且将在附图中描述和例示其特定实施方式。然而,实施方式并非旨在限制本公开。以下描述中使用的术语仅用于描述特定实施方式,而不旨在限制本公开。单数形式的表达包括复数形式的表达,只要其被不同地清楚地解读即可。诸如“包括”和“具有”的术语旨在指示存在后续描述中使用的特征、数字、步骤、操作、元件、组件或其组合,并因此应当理解,不排除存在或添加一个或更多个不同特征、数字、步骤、操作、元件、组件或其组合的可能性。
此外,为了方便说明不同的具体功能,本公开所描述的附图中的元件是独立绘制的,并且不意味着这些元件由独立的硬件或独立的软件实现。例如,元件中的两个或更多个元件可以被组合以形成单个元件,或者一个元件可以被分割成多个元件。在不脱离本公开的概念的情况下,元件被组合和/或分割的实施方式属于本公开。
在下文中,将参考附图详细描述本公开的实施方式。另外,在整个附图中,相同的附图标记可以用于指示相同的元件,并且针对类似元件的相同描述将被省略。
图1示意性例示了可以应用本文档的实施方式的视频/图像编码系统的示例。
参考图1,视频/图像编码系统可以包括第一装置(源装置)和第二装置(接收装置)。源装置可以通过数字存储介质或网络将编码的视频/图像信息或数据以文件或流的形式传送至接收装置。
源装置可包括视频源、编码设备和发送器。接收装置可包括接收器、解码设备和渲染器。编码设备可被称为视频/图像编码设备,解码设备可被称为视频/图像解码设备。发送器可被包括在编码设备中。接收器可被包括在解码设备中。渲染器可包括显示器,并且显示器可被配置为单独的装置或外部组件。
视频源可通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可包括视频/图像捕获装置,和/或视频/图像生成装置。例如,视频/图像捕获装置可包括一个或更多个照相机、包括先前捕获的视频/图像的视频/图像档案等。例如,视频/图像生成装置可包括计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可由生成相关数据的处理代替。
编码设备可以对输入视频/图像进行编码。为了压缩和编码效率,编码设备可执行诸如预测、变换和量化的一系列过程。编码的数据(编码的视频/图像信息)可按比特流的形式输出。
发送器可通过数字存储介质或网络将以比特流的形式输出的编码的视频/图像信息或数据以文件或流的形式发送至接收装置的接收器。数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送器可包括用于通过预定文件格式生成媒体文件的元件,并且可包括用于通过广播/通信网络传输的元件。接收器可接收/提取比特流并且将所接收的比特流发送至解码设备。
解码设备可通过执行与编码设备的操作对应的诸如反量化、逆变换和预测的一系列过程对视频/图像进行解码。
渲染器可对解码后的视频/图像进行渲染。渲染后的视频/图像可通过显示器显示。
本公开涉及视频/图像编码。例如,本公开中公开的方法/实施方式可以应用于通用视频编码(VVC)标准、基本视频编码(EVC)标准、AOMedia Video 1(AV1)标准、第二代音频视频编码标准(AVS2)或下一代视频/图像编码标准(例如,H.267或H.268等)中公开的方法。
本公开提出了视频/图像编码的各种实施方式,并且除非另外提及,否则这些实施方式可以彼此组合地执行。
在本公开中,视频可以意指根据时间推移的一系列图像。图片通常意指表示特定时间段中的一个图像的单元,并且子图片/切片/图块是编码时构成图片的一部分的单元。子图片/切片/图块可以包括一个或更多个编码树单元(CTU)。一个图片可以由一个或更多个子图片/切片/图块组成。一个图片可以由一个或更多个图块组组成。一个图块组可以包括一个或更多个图块。拼块可以表示图片中的图块内的CTU行的矩形区域。图块可以被分割成多个拼块,每个拼块由图块内的一个或更多个CTU行组成。未被分割成多个拼块的图块也可以称为拼块。拼块扫描是对图片进行分割的CTU的特定顺序排序,其中CTU在拼块中的CTU光栅扫描中连续排序,图块内的拼块在图块的拼块的光栅扫描中连续排序,并且图片中的图块在图片的图块的光栅扫描中连续排序。此外,子图片可以表示图片内的一个或更多个切片的矩形区域。也就是说,子图片可以包含共同覆盖图片的矩形区域的一个或更多个切片。图块是图片中的特定图块列和特定图块行内的CTU的矩形区域。图块列是CTU的矩形区域,其具有等于图片的高度的高度和由图片参数集中的语法元素指定的宽度。图块行是CTU的矩形区域,其具有由图片参数集中的语法元素指定的高度和等于图片的宽度的宽度。图块扫描是对图片进行分割的CTU的特定顺序排序,其中CTU在图块中的CTU光栅扫描中连续排序,而图片中的图块在图片的图块的光栅扫描中连续排序。切片包括可以专门包含于单个NAL单元中的图片的整数个拼块。切片可以由多个完整图块或仅一个图块的连续完整拼块序列组成。图块组和切片可以在本公开中互换使用。例如,在本公开中,图块组/图块组报头可以称为切片/切片报头。
像素或像元(pel)可意指构成一个图片(或图像)的最小单元。另外,“样本”可用作与像素对应的术语。样本通常可表示像素或像素值,并且可仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
单元可表示图像处理的基本单位。单元可包括图片的特定区域和与该区域有关的信息中的至少一个。一个单元可包括一个亮度块和两个色度(例如,cb、cr)块。在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可包括M列和N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“A或B”可以意指“仅A”、“仅B”或“A和B二者”。换句话说,在本公开中,“A或B”可以被解释为指示“A和/或B”。例如,在本公开中,“A、B或C”可以意指“仅A”、“仅B”、“仅C”或“A、B、C的任何组合”。
在本公开中使用的斜杠“/”或逗号可以意指“和/或”。例如,“A/B”可以意指“A和/或B”。因此,“A/B”可以意指“仅A”、“仅B”或“A和B二者”。例如,“A、B、C”可以意指“A、B或C”。
在本公开中,“A和B中的至少一个”可以意指“仅A”、“仅B”或“A和B二者”。另外,在本公开中,表述“A或B中的至少一个”或“A和/或B中的至少一个”可以被解释为与“A和B中的至少一个”相同。
另外,在本公开中,“A、B和C中的至少一个”可以意指“仅A”、“仅B”、“仅C”或“A、B和C的任何组合”。另外,“A、B或C中的至少一个”或“A、B和/或C中的至少一个”可以意指“A、B和C中的至少一个”。
另外,本公开中使用的括号可以意指“例如”。具体地,在指示“预测(帧内预测)”时,可以提出“帧内预测”作为“预测”的示例。换句话说,本公开中的“预测”可以不限于“帧内预测”,并且可提议“帧内预测”作为“预测”的示例。此外,即使当指示“预测(即,帧内预测)”时,也可以提议“帧内预测”作为“预测”的示例。
在本公开的一个附图中单独描述的技术特征可以单独实现或者可以同时实现。
创建以下附图以解释本公开的具体示例。由于附图中描述的特定装置的名称或特定信号/消息/字段的名称作为示例呈现,因此本公开的技术特征不限于以下附图中使用的具体名称。
图2是例示了可以应用本公开的实施方式的视频/图像编码设备的配置的示意图。在下文中,视频编码设备可以包括图像编码设备。
参考图2,编码设备200包括图像分割器210、预测器220、残差处理器230和熵编码器240、加法器250、滤波器260和存储器270。预测器220可包括帧间预测器221和帧内预测器222。残差处理器230可包括变换器232、量化器233、反量化器234和逆变换器235。残差处理器230还可包括减法器231。加法器250可被称为重构器或重构块生成器。根据实施方式,图像分割器210、预测器220、残差处理器230、熵编码器240、加法器250和滤波器260可由至少一个硬件组件(例如,编码器芯片组或处理器)配置。另外,存储器270可包括解码图片缓冲器(DPB),或者可由数字存储介质配置。硬件组件还可包括存储器270作为内部/外部组件。
图像分割器210可将输入到编码设备200的输入图像(或者图片或帧)分割成一个或更多个处理单元。例如,处理单元可被称为编码单元(CU)。在这种情况下,编码单元可根据四叉树二叉树三叉树(QTBTTT)结构从编码树单元(CTU)或最大编码单元(LCU)递归地分割。例如,一个编码单元可基于四叉树结构、二叉树结构和/或三元结构被分割成深度更深的多个编码单元。在这种情况下,例如,可首先应用四叉树结构,稍后可应用二叉树结构和/或三元结构。另选地,可首先应用二叉树结构。可基于不再分割的最终编码单元来执行根据本公开的编码过程。在这种情况下,根据图像特性基于编码效率等,最大编码单元可用作最终编码单元,或者如果需要,编码单元可被递归地分割成深度更深的编码单元并且具有最优大小的编码单元可用作最终编码单元。这里,编码过程可包括预测、变换和重构的过程(将稍后描述)。作为另一示例,处理器还可包括预测单元(PU)或变换单元(TU)。在这种情况下,预测单元和变换单元可从上述最终编码单元拆分或分割。预测单元可以是样本预测的单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
在一些情况下,单元可与诸如块或区域的术语互换使用。在一般情况下,M×N块可表示由M列和N行组成的样本或变换系数的集合。样本通常可表示像素或像素值,可仅表示亮度分量的像素/像素值或者仅表示色度分量的像素/像素值。样本可用作与像素或像元的一个图片(或图像)对应的术语。
在编码设备200中,从输入图像信号(原始块、原始样本阵列)减去从帧间预测器221或帧内预测器222输出的预测信号(预测块、预测样本阵列)以生成残差信号(残差块、残差样本阵列),并且所生成的残差信号被发送到变换器232。在这种情况下,如所示出的,在编码器200中从输入图像信号(原始块、原始样本阵列)减去预测信号(预测块、预测样本阵列)的部分可被称为减法器231。预测器可对要处理的块(以下,称为当前块)执行预测并且生成包括当前块的预测样本的预测块。预测器可确定基于当前块或CU确定应用帧内预测还是帧间预测。如在各个预测模式的描述中稍后描述的,预测器可生成与预测有关的各种类型的信息(例如,预测模式信息)并将所生成的信息发送到熵编码器240。关于预测的信息可在熵编码器240中编码并以比特流的形式输出。
帧内预测器222可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。例如,非定向模式可包括DC模式和平面模式。例如,根据预测方向的详细程度,定向模式可包括33个定向预测模式或65个定向预测模式。然而,这仅是示例,可根据设置使用更多或更少的定向预测模式。帧内预测器222可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器221可基于参考图片上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。这里,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可包括运动向量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。包括参考块的参考图片和包括时间邻近块的参考图片可相同或不同。时间邻近块可被称为并置参考块、并置CU(colCU)等,并且包括时间邻近块的参考图片可被称为并置图片(colPic)。例如,帧间预测器221可基于邻近块来配置运动信息候选列表并且生成指示哪一候选用于推导当前块的运动向量和/或参考图片索引的信息。可基于各种预测模式执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测器221可使用邻近块的运动信息作为当前块的运动信息。在跳过模式下,与合并模式不同,可不发送残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可用作运动向量预测器,并且可通过用信号通知运动向量差来指示当前块的运动向量。
预测器220可基于下面描述的各种预测方法来生成预测信号。例如,预测器可不仅应用帧内预测或帧间预测以预测一个块,而且同时应用帧内预测和帧间预测二者。这可被称为组合帧间和帧内预测(CIIP)。另外,预测器可基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编码,例如屏幕内容编码(SCC)。IBC基本上在当前图片中执行预测,但是可与帧间预测相似地执行,使得在当前图片中推导参考块。即,IBC可使用本公开中描述的至少一个帧间预测技术。调色板模式可被视为帧内编码或帧内预测的示例。当应用调色板模式时,可基于关于调色板表和调色板索引的信息用信号通知图片内的样本值。
通过预测器(包括帧间预测器221和/或帧内预测器222)生成的预测信号可用于生成重构信号或生成残差信号。变换器232可通过对残差信号应用变换技术来生成变换系数。例如,变换技术可包括离散余弦变换(DCT)、离散正弦变换(DST)、Karhunen–Loève变换(KLT)、基于图形的变换(GBT)或条件非线性变换(CNT)中的至少一个。这里,当像素之间的关系信息由图形表示时,GBT意指从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号生成的变换。另外,变换处理可应用于具有相同大小的正方形像素块或者可应用于具有正方形以外的可变大小的块。
量化器233可将变换系数量化并将它们发送到熵编码器240,并且熵编码器240可对量化的信号(关于量化的变换系数的信息)进行编码并输出比特流。关于量化的变换系数的信息可被称为残差信息。量化器233可基于系数扫描顺序将块类型量化的变换系数重排为一维向量形式,并且基于一维向量形式的量化的变换系数来生成关于量化的变换系数的信息。可生成关于变换系数的信息。熵编码器240可执行例如指数Golomb编码、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的各种编码方法。熵编码器240可对量化的变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)一起或单独地进行编码。编码的信息(例如,编码的视频/图像信息)可按比特流的形式以NAL(网络抽象层)为单位发送或存储。视频/图像信息还可包括关于各种参数集的信息,例如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可包括一般约束信息。在本公开中,从编码设备发送/用信号通知给解码设备的信息和/或语法元素可被包括在视频/图片信息中。视频/图像信息可通过上述编码过程编码并被包括在比特流中。比特流可经由网络发送或者可被存储在数字存储介质中。网络可包括广播网络和/或通信网络,并且数字存储介质可包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。发送从熵编码器240输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)可被包括作为编码设备200的内部/外部元件,并且另选地,发送器可被包括在熵编码器240中。
从量化器233输出的量化的变换系数可用于生成预测信号。例如,可通过经由反量化器234和逆变换器235对量化的变换系数应用反量化和逆变换来重构残差信号(残差块或残差样本)。加法器250将重构的残差信号与从帧间预测器221或帧内预测器222输出的预测信号相加以生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块不存在残差(诸如应用跳过模式的情况),则预测块可用作重构块。加法器250可被称为重构器或重构块生成器。如下所述,所生成的重构信号可用于当前图片中要处理的下一块的帧内预测并且可通过滤波用于下一图片的帧间预测。
此外,可在图片编码和/或重构期间应用与色度缩放的亮度映射(LMCS)。
滤波器260可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器260可通过对重构图片应用各种滤波方法来生成修改的重构图片并将修改的重构图片存储在存储器270(具体地,存储器270的DPB)中。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。滤波器260可生成与滤波有关的各种类型的信息并且将所生成的信息发送到熵编码器240,如在各个滤波方法的描述中稍后描述的。与滤波相关的信息可由熵编码器240编码并以比特流的形式输出。
发送到存储器270的修改的重构图片可用作帧间预测器221中的参考图片。当通过编码设备应用帧间预测时,可避免编码设备200与解码设备之间的预测失配并且编码效率可改进。
存储器270的DPB可存储用作帧间预测器221中的参考图片的修改的重构图片。存储器270可存储推导(或编码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。所存储的运动信息可被发送到帧间预测器221并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可存储当前图片中的重构块的重构样本并且可将重构样本传送至帧内预测器222。
图3是例示了可以应用本公开的实施方式的视频/图像解码设备的配置的示意图。
参考图3,解码设备300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可包括帧内预测器331和帧间预测器332。残差处理器320可包括反量化器321和逆变换器322。根据实施方式,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可由硬件组件(例如,解码器芯片组或处理器)配置。另外,存储器360可包括解码图片缓冲器(DPB)或者可由数字存储介质配置。硬件组件还可包括存储器360作为内部/外部组件。
当输入包括视频/图像信息的比特流时,解码设备300可重构与在图2的编码设备中处理视频/图像信息的处理对应的图像。例如,解码设备300可基于从比特流获得的块分割相关信息来推导单元/块。解码设备300可使用编码设备中应用的处理器来执行解码。因此,例如,解码的处理器可以是编码单元,并且编码单元可根据四叉树结构、二叉树结构和/或三叉树结构从编码树单元或最大编码单元分割。可从编码单元推导一个或更多个变换单元。通过解码设备300解码和输出的重构图像信号可通过再现设备再现。
解码设备300可接收从图2的编码设备以比特流的形式输出的信号,并且所接收的信号可通过熵解码器310解码。例如,熵解码器310可对比特流进行解析以推导图像重构(或图片重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可包括关于各种参数集的信息,诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)。另外,视频/图像信息还可包括一般约束信息。解码设备还可基于关于参数集的信息和/或一般约束信息将图片解码。本公开中稍后描述的用信号通知/接收的信息和/或语法元素可通过解码过程解码并从比特流获得。例如,熵解码器310基于诸如指数Golomb编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并且输出图像重构所需的语法元素和残差的变换系数的量化值。更具体地,CABAC熵解码方法可接收与比特流中的各个语法元素对应的信元(bin),使用解码目标语法元素信息、解码目标块的解码信息或在先前阶段中解码的符号/信元的信息来确定上下文模型,并且通过根据所确定的上下文模型预测信元出现的概率对信元执行算术解码,并且生成与各个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可在确定上下文模型之后通过将解码的符号/信元的信息用于下一符号/信元的上下文模型来更新上下文模型。熵解码器310所解码的信息当中与预测相关的信息可被提供给预测器(帧间预测器332和帧内预测器331),并且在熵解码器310中执行了的熵解码的残差值(即,量化的变换系数和相关参数信息)可被输入到残差处理器320。残差处理器320可推导残差信号(残差块、残差样本、残差样本阵列)。另外,熵解码器310所解码的信息当中关于滤波的信息可被提供给滤波器350。此外,用于接收从编码设备输出的信号的接收器(未示出)还可被配置成解码设备300的内部/外部元件,或者接收器可以是熵解码器310的组件。此外,根据本公开的解码设备可被称为视频/图像/图片解码设备,并且解码设备可被分类为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可包括熵解码器310,并且样本解码器可包括反量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
反量化器321可将量化的变换系数反量化并输出变换系数。反量化器321可按二维块形式重排量化的变换系数。在这种情况下,可基于在编码设备中执行的系数扫描顺序来执行重排。反量化器321可以通过使用量化参数(例如,量化步长信息)对量化的变换系数执行反量化并且获得变换系数。
逆变换器322对变换系数逆变换以获得残差信号(残差块、残差样本阵列)。
预测器可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器310输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测并且可确定特定帧内/帧间预测模式。
预测器320可基于下述各种预测方法来生成预测信号。例如,预测器不仅可应用帧内预测或帧间预测以预测一个块,而且可同时应用帧内预测和帧间预测。这可被称为组合帧间和帧内预测(CIIP)。另外,预测器可基于帧内块复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可用于游戏等的内容图像/视频编码,例如屏幕内容编码(SCC)。IBC基本上执行当前图片中的预测,但是可与帧间预测相似地执行,使得在当前图片中推导参考块。即,IBC可使用本公开中描述的至少一种帧间预测技术。调色板模式可被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息用信号通知图片内的样本值。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可位于当前块附近或者可隔开。在帧内预测中,预测模式可包括多个非定向模式和多个定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测器332可基于参考图片上运动向量所指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息量,可基于邻近块与当前块之间的运动信息的相关性以块、子块或样本为单位预测运动信息。运动信息可包括运动向量和参考图片索引。运动信息还可包括帧间预测方向(L0预测、L1预测、Bi预测等)信息。在帧间预测的情况下,邻近块可包括存在于当前图片中的空间邻近块和存在于参考图片中的时间邻近块。例如,帧间预测器332可基于邻近块来配置运动信息候选列表并且基于所接收的候选选择信息来推导当前块的运动向量和/或参考图片索引。可基于各种预测模式来执行帧间预测,并且关于预测的信息可包括指示当前块的帧间预测模式的信息。
加法器340可通过将所获得的残差信号与从预测器(包括帧间预测器332和/或帧内预测器331)输出的预测信号(预测块、预测样本阵列)相加来生成重构信号(重构图片、重构块、重构样本阵列)。如果要处理的块不存在残差(例如,当应用跳过模式时),预测块可用作重构块。
加法器340可被称为重构器或重构块生成器。所生成的重构信号可用于当前图片中要处理的下一块的帧内预测,可如下所述通过滤波输出,或者可用于下一图片的帧间预测。
此外,可在图片解码处理中应用与色度缩放的亮度映射(LMCS)。
滤波器350可通过对重构信号应用滤波来改进主观/客观图像质量。例如,滤波器350可通过对重构图片应用各种滤波方法来生成修改的重构图片并且将修改的重构图片存储在存储器360(具体地,存储器360的DPB)中。例如,各种滤波方法可包括去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
存储在存储器360的DPB中的(修改的)重构图片可用作帧间预测器332中的参考图片。存储器360可存储推导(或解码)当前图片中的运动信息的块的运动信息和/或图片中已经重构的块的运动信息。所存储的运动信息可被发送到帧间预测器332以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可存储当前图片中的重构块的重构样本并将重构样本传送至帧内预测器331。
在本公开中,在编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可与解码设备300的滤波器350、帧间预测器332和帧内预测器331相同或分别与之对应应用。这也可适用于帧间预测器332和帧内预测器331。
图4示例性例示了编码的视频/图像的层结构。
参考图4,编码的图像/视频被划分为视频编码层(VCL)、下层系统和网络抽象层(NAL),VCL执行图像/视频的解码处理并处置解码处理,下层系统发送和存储编码的信息,网络抽象层(NAL)存在于VCL与下层系统之间并且用于执行网络适配功能。
例如,可以在VCL中生成VCL数据,其包括压缩图像数据(切片数据)、或图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)或包括图像解码过程额外需要的补充增强信息(SEI)消息的参数集。
例如,在NAL中,报头信息(NAL单元数据)被添加到在VCL中生成的原始字节序列有效载荷(RSRP)以生成NAL单元。在这种情况下,在VCL中生成的切片数据、参数集、SEI消息等可以称作RBSP。NAL单元报头可以包括根据包括在对应NAL单元中的RSRP数据指定的NAL单元类型信息。
例如,如图4所示,可以根据在VCL中生成的RSRP将NAL单元分类为VCL NAL单元和非VCL NAL单元。VCL NAL单元可以意指包括关于信息的信息(切片数据)的NAL单元,并且非VCL NAL单元可以意指包括对图像进行解码所需的信息(参数集或SEI消息)的NAL单元。
VCL NAL单元和非VCL NAL单元可以通过网络被发送,而报头信息根据子系统的数据标准被添加。例如,NAL单元可以被转换成诸如H.266/VVC文件格式、实时传输协议(RTP)、传输流(TS)等的预定标准的数据格式,并且通过各种网络传输。
此外,如上文所描述的,关于NAL单元,NAL单元类型可以根据被包括在对应NAL单元中的RBSP数据结构指定,并且关于NAL单元类型的信息可以存储于NAL单元报头中并用信号通知。
例如,NAL单元可以根据NAL单元是否包括关于图像的信息(切片数据)而被分类为VCL NAL单元类型和非VCL NAL单元类型。此外,可以根据被包括在VCL NAL单元中的图片的性质和类型对VCL NAL单元类型进行分类,并且可以根据参数集的类型对非VCL NAL单元进行分类。
以下是根据被包括在非VCL NAL单元类型中的参数集的类型指定的NAL单元类型的示例。
-适配参数集(APS)NAL单元:包括APS的NAL单元的类型
-解码参数集(DPS)NAL单元:包括DPS的NAL单元的类型
-视频参数集(VPS)NAL单元:包括VPS的NAL单元的类型
-序列参数集(SPS)NAL单元:包括SPS的NAL单元的类型
-图片参数集(PPS)NAL单元:包括PPS的NAL单元的类型
-图片报头(PH)NAL单元:包括PH的NAL单元的类型
上述NAL单元类型可以具有NAL单元类型的语法信息,并且语法信息可以存储在NAL单元报头中并用信号通知。例如,语法信息可以是nal_unit_type并且NAL单元类型可以指定为nal_unit_type的值。
此外,一个图片可以包括多个切片,并且切片可以包括切片报头和切片数据。在这种情况下,可以针对多个切片(切片报头和切片数据的集合)添加一个图片报头。图片报头(图片报头语法)可以包括通常可以应用于图片的信息/参数。切片报头(切片报头语法)可以包括通常可以应用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括通常可以应用于一个或更多个切片或图片的信息/参数。SPS(SPS语法)可以包括通常可以应用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括通常可以应用于多个层的信息/参数。DPS(DPS语法)可以包括通常可以应用于整体图像的信息/参数。DPS可以包括与编码视频序列(CVS)的级联相关的信息/参数。
在本公开中,从编码设备编码到解码设备并且以比特流的形式用信号通知的图像/视频信息可以包括图片内分割相关信息、帧内/帧间预测信息、层间预测相关信息、残差信息和环路内滤波信息,并且可以包含包括在APS中的信息、包括在PPS中的信息、包括在SPS中的信息、包括在VPS中的信息和/或包括在DPS中的信息。此外,图像/视频信息还可以包括NAL单元报头的信息。
此外,可以基于媒体文件格式来配置上述编码的图像/视频信息,以便于生成媒体文件。例如,编码的图像/视频信息可以基于编码的图像/视频信息的一个或更多个NAL单元/样本条目形成媒体文件(分段)。媒体文件可以包括样本条目和轨道。例如,媒体文件(分段)可以包括各种记录,并且每个记录包括与图像/视频相关的信息或与媒体文件格式相关的信息。此外,例如,一个或更多个NAL单元可以存储在媒体文件的配置记录(或解码器配置记录或VVC解码器配置记录)字段中。这里,字段也可以称为语法元素。
例如,作为可以应用本公开中公开的方法/实施方式的媒体文件格式,可以使用ISO基本媒体文件格式(ISOBMFF)。ISOBMFF可以基于许多编解码器封装格式(例如,VC文件格式、HEVC文件格式和/或VVC文件格式)和许多多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)和/或DVB文件格式)来使用。此外,除了诸如音频和视频的连续媒体之外,还可以根据ISOBMFF将诸如图像的静态媒体和元数据存储在文件中。根据ISOBMFF的文件结构化可以用于包括本地媒体文件回放、远程文件的渐进式下载、用于HTTP上的动态自适应流传输的分段(DASH)、要流传输的内容的容器和分组化指令、所接收的实时媒体流的记录等的各种目的。
下文将要描述的‘box’可以是ISOBMFF的基本语法元素。ISOBMFF文件可以由一系列框(box)组成,并且另一框可以被包括在框中。例如,电影框(分组类型为‘moov’的框)可以包括用于包括媒体文件的连续媒体流的元数据,并且每个流可以被显示为文件中的轨道。元数据可以被包括在轨道框(分组类型为‘trak’的框)中,轨道的媒体内容可以被包括在媒体数据框(分组类型为‘mdat’的框)中或者直接被包括在单独的文件中。轨道的媒体内容可以由诸如音频或视频访问单元的样本序列构成。例如,ISOBMFF可以指定诸如包括基本媒体流的媒体轨道、包括媒体传输指令或表示接收到的分组流的提示轨道以及包括时间同步元数据的定时元数据的类型的轨道。
此外,ISOBMFF被设计用于存储用途,但对于流传输(例如,渐进式下载或DASH)也非常有用。ISOBMFF中定义的电影片段可以用于流传输用途。片段化ISOBMFF文件可以由例如与视频和音频相关的两个轨道表示。例如,当在接收到‘moov’框之后包括随机访问时,所有电影片段‘moof’可以与相关的媒体数据一起解码。
此外,每个轨道的元数据可以包括用于轨道的编码或封装格式和提供处理对应格式所需的初始化数据的样本描述条目的列表。此外,每个样本可以级联到轨道的样本描述条目之一。
当使用ISOBMFF时,可以通过各种机制指定样本特定元数据。样本表框(分组类型为‘stb1’的框)中的特定框可以被标准化以应对一般要求。例如,同步样本框(分组类型为‘stss’的框)可以用于列出随机访问样本。当使用样本分组机制时,可以通过共享指定为样本组描述条目的相同特性的样本组根据四字符分组类型来映射样本。ISOBMFF中可以指定各种分组类型。
图5和图6例示了媒体文件结构的示例。
媒体文件可以包括至少一个框。这里,框可以是包括媒体数据或与媒体数据相关的元数据的数据块或对象。框可以处于分层结构中,并因此可以对数据进行分类,并且媒体文件可以具有适于存储和/或发送大容量媒体数据的格式。此外,媒体文件可以具有允许用户容易地访问诸如移动至特定媒体内容点的媒体信息的结构。
媒体文件可以包括ftyp框、moov框和/或mdat框。
ftyp框(文件类型框)可以提供关于对应媒体文件的文件类型或兼容性相关信息。ftyp框可以包括关于对应媒体文件的媒体数据的配置版本信息。解码器可以参考ftyp框识别对应媒体文件。
moov框(电影框)可以是包括关于对应媒体文件的媒体数据的元数据的框。moov框可以用作所有元数据的容器。moov框可以是与元数据相关的框当中的最高层。根据实施方式,媒体文件中可以仅存在一个moov框。
mdat框(媒体数据框)可以是包含对应媒体文件的实际媒体数据的框。媒体数据可以包括音频样本和/或视频样本。mdat框可以用作包含这样的媒体样本的容器。
根据实施方式,上述moov框还可以包括mvhd框、trak框和/或mvex框作为下层框。
mvhd框(电影报头框)可以包括与包括在对应媒体文件中的媒体数据的媒体呈现相关的信息。也就是说,mvhd框可以包括诸如对应媒体呈现的媒体生成时间、改变时间、时间标准和时段的信息。
trak框(轨道框)可以提供关于对应媒体数据的轨道的信息。trak框可以包括诸如流相关信息、呈现相关信息以及关于音频轨道或视频轨道的访问相关信息的信息。根据轨道的数量,可以存在多个trak框。
trak框还可以包括tkhd框(track报头框)作为下层框。tkhd框可以包括关于由trak框指示的轨道的信息。tkhd框可以包括诸如对应轨道的生成时间、改变时间和轨道标识符的信息。
mvex框(电影扩展框)可以指示对应媒体文件可以具有稍后将描述的moof框。为了识别特定轨道的所有媒体样本,可能需要扫描moof框。
根据一个实施方式,媒体文件可以被划分为多个片段(500)。因此,媒体文件可以被片段化并存储或发送。媒体文件的媒体数据(mdat框)可以被划分为多个片段,每个片段可以包括moof框和划分后的mdat框。根据一个实施方式,可能需要ftyp框和/或moov框的信息,以使用该片段。
moof框(电影片段框)可以提供关于对应片段的媒体数据的元数据。moof框可以是与对应片段的元数据相关的框当中的最高层框。
mdat框(媒体数据框)可以包括如上所述的实际媒体数据。mdat框可以包括对应于与其对应的每个片段的媒体数据的媒体样本。
根据实施方式,上述moof框还可以包括mfhd框和/或traf框作为下层框。
mfhd框(电影片段报头框)可以包括关于划分后的片段之间的相关性的信息。mfhd框可以通过包括序列号来指示对应片段的划分后的媒体数据的顺序。此外,可以使用mfhd框来检查划分后的数据当中是否存在缺失数据。
traf框(轨道片段框)可以包括关于对应轨道片段的信息。traf框可以提供关于包括在对应片段中的划分后的轨道片段的元数据。traf框可以提供元数据以使得对应轨道片段中的媒体样本可以被解码/再现。根据轨道片段的数量,可以存在多个traf框。
根据实施方式,上述traf框还可以包括tfhd框和/或trun框作为下层框。
tfhd框(轨道片段报头框)可以包括对应轨道片段的报头信息。tfhd框可以提供诸如通过上述traf框指示的轨道片段的媒体样本的基本样本大小、时段、偏移和标识符的信息。
trun框(轨道片段运行框)可以包括与对应轨道片段相关的信息。trun框可以包括诸如每个媒体样本的时段、大小和再现时间的信息。
前述媒体文件及其片段可以被处理成分段并被发送。分段可以包括初始化分段和/或媒体分段。
所示实施方式(510)的文件除了媒体数据之外还可以包括与媒体解码器初始化相关的信息。例如,该文件可以对应于前述初始化分段。初始化分段可以包括前述ftyp框和/或moov框。
所示实施方式(520)的文件可以包括前述片段。例如,该文件可以对应于前述媒体分段。媒体分段还可以包括styp框和/或sidx框。
styp框(分段类型框)可以提供用于识别划分后的片段的媒体数据的信息。styp框可以用作用于划分后的片段的上述ftyp框。根据实施方式,styp框可以具有与ftyp框相同的格式。
sidx框(分段索引框)可以提供指示划分后的片段的索引的信息。因此,可以指示划分后的片段的顺序。
根据实施方式(530),还可以包括ssix框。ssix框(子分段索引框)可以提供指示当分段被划分为子分段时的子段的索引的信息。
媒体文件中的框可以包括如所示实施方式(550)中所示的基于框或FullBox的更多扩展信息。在本实施方式中,大小(size)字段和大大小(largesize)字段可以以字节表示对应框的长度。版本字段可以指示对应框格式的版本。类型字段可以指示对应框的类型或标识符。标志字段可以指示与对应框相关联的标志。
此外,根据本公开的视频/图像的字段(性质)可以在被包括在基于DASH的自适应流模型中的同时被转发。
图7例示了基于DASH的自适应流传输模型的整体操作的图。根据所示实施方式(700)的基于DASH的自适应流传输模型例示了HTTP服务器与DASH客户端之间的操作。这里,HTTP上的动态自适应流传输(DASH)是用于支持基于HTTP的自适应流传输的协议并且可以根据网络状况动态地支持流传输。结果,可以无中断地再现AV内容。
首先,DASH客户端可以获取MPD。MPD可以从诸如HTTP服务器的服务提供商传递。DASH客户端可以使用MPD中描述的分段访问信息来从服务器请求该分段。这里,可以在考虑网络状况的情况下执行该请求。
在获取分段之后,DASH客户端可以在媒体引擎中处理分段,并且可以在屏幕上显示该分段。DASH客户端可以在实时考虑再现时间和/或网络状态(自适应流传输)的情况下请求和获取必要分段。结果,可以无中断地再现内容。
媒体呈现描述(MPD)是包括使DASH客户端能够动态地获取分段的详细信息的文件,并且可以用XML格式来表达。
DASH客户端控制器可以在考虑网络状态的情况下生成用于请求MPD和/或分段的命令。另外,控制器可以控制所获取的信息用于诸如媒体引擎的内部块中。
MPD解析器可以实时解析所获取的MPD。因此,DASH客户端控制器可以生成用于获取所需分段的命令。
分段解析器可以实时解析所获取的分段。根据包括在分段中的信息,包括媒体引擎的内部块可以执行特定操作。
HTTP客户端可以从HTTP服务器请求所需MPD和/或分段。另外,HTTP客户端可以将从服务器获取的MPD和/或分段传递给MPD解析器或分段解析器。
媒体引擎可以使用包括在分段中的媒体数据来在屏幕上显示内容。这里,可以使用MPD的多条信息。
DASH数据模型可以具有分层结构(710)。媒体呈现可以由MPD描述。MPD可以描述形成媒体呈现的多个时段的时间序列。时段可以表示媒体内容的一个部分。
在一个部分中,多条数据可以被包括在适配集中。适配集可以是可以彼此交换的多个媒体内容组成部分的集合。适配集可以包括表示(representation)的集合。表示可以对应于媒体内容组成部分。在一个表示内,内容可以在时间上划分成多个分段,这可以用于适当的访问和传递。可以提供每个分段的URL,以便于访问每个分段。
MPD可以提供与媒体呈现相关的信息,并且时段元素、适配集元素和表述元素可以分别描述时段、适配集和表示。表示可以被划分为子表示,并且子表示元素可以描述对应子表示。
可以定义公共性质/元素,该公共性质/元素可以应用于(包括在)适配集、表示、子表示等中。在公共性质/元素当中,可以存在基本性质和/或补充性质。
基本性质可以是包括被认为对于处理媒体呈现相关数据是必要的元素的信息。补充性质可以是包括可以用于处理媒体呈现相关数据的元素的信息。在经由MPD传递时,以下实施方式中描述的描述符可以被定义在基本性质和/或补充性质中并被传递。
此外,将在下文中描述的‘样本’可以是表示图片的3个样本阵列(Y、Cb和Cr)中的一者的单个元素或与单个时间相关的所有数据。例如,当在(媒体文件格式的)轨道的上下文中使用术语‘样本’时,‘样本’可以意指与对应轨道的单个时间相关的所有数据。这里,时间可以是解码时间或合成时间。另外,例如,当在图片的上下文中使用术语‘样本’时,也就是说,当‘样本’用作如“亮度样本”的图片的术语时,‘样本’可以表示表示图片的3个样本阵列中的一者中的单个元素。
此外,为存储VVC内容,可以如下定义三种类型的基本流:
-包括VCL NAL单元并且不包括任何参数集NAL单元、DCI NAL单元或OPI NAL单元的视频基本流;所有参数集NAL单元、DCI NAL单元和OPI NAL单元可以存储在一个或更多个样本中。此时,视频基本流可以包括不是参数集NAL单元、不是DCI NAL单元也不是OPI NAL单元的非VCL NAL单元。
-视频和参数集基本流,其包括VCL NAL单元,可以包括参数集NAL单元、DCI NAL单元或OPI NAL单元,并且可以具有存储在一个或更多个样本条目中的参数集NAL单元、DCINAL单元或OPI NAL单元。
-仅包括非VCL NAL单元的非VCL基本流。此时,非VCL NAL单元与被包括在视频轨道中的基本流同步。此时,VVC非VCL轨道在样本条目中不包括参数集、DCI或OPI NAL单元。
此外,‘vvc1’或‘vvi1’样本条目在传输(或传递)VVC比特流的轨道当中的至少一个轨道中是强制的。VVC样本条目被定义为具有与‘vvc1’或‘vvi1’相同的样本条目类型的样本条目。另外,VVC轨道的每个样本条目是VVC样本条目。另外,VVC样本条目包括如下所述定义的VVC配置框。
例如,可选的BitRateBox可以存在于VVC样本条目中以便于用信号通知VVC视频流的比特率信息。当在MPEG-4中使用时,应插入基本流描述符中的扩展描述符也可以存在。
例如,如在ISO基本媒体文件格式规范中授权的,多个样本条目可以用于使用其它配置或参数集指示视频的区段。
当VVC子图片轨道包括可以在没有其它VVC子图片轨道的情况下消耗的一致的VVC比特流时,常规VVC样本条目(‘vvc1’或‘vvi1’)可以用于VVC子图片轨道。
否则,‘vvs1’样本条目可以用于VVC子图片轨道,并且以下限制可以应用于轨道。
-track_in_movie标志应等于0。
-轨道应仅包括一个样本条目。
-轨道应由至少一个VVC基本轨道通过‘subp’轨道参考来参考。
-DCI、OPI、VPS、SPS、PPS、AUD、PH、EOS、EOB以及其它AU级别或图片级别非VCL NAL单元不应存在于样本条目以及‘vvs1’轨道的所有样本中。
-除非另外指定,否则视频样本条目的子框(例如,CleanApertureBox和PixelAspectRatioBox)不应存在于样本条目中。并且,如果存在这样的子框,则它们应当被忽略。
-如果包括在样本中的所有VCL NAL单元不遵循同步样本要求,则样本不指示为同步样本。
-‘vvs1’轨道的样本的合成时间偏移信息不存在。
-可以存在针对‘vvs1’轨道的样本的子样本信息。如果存在这样的信息,则子样本信息应当遵循VVC的子样本的定义。
此外,VVC轨道可以包括条目,该条目包括VVC子图片轨道的轨道ID值和VVC子图片轨道的‘alte’轨道组的track_group_id值中的一者以及‘subp’轨道参考。
每个VVC基本轨道中应存在‘spor’类型的样本组。
[Ed.(MH):针对VVC基本轨道的专用样本条目类型可以通过轨道类型的编解码器MIME参数来指示VVC基本轨道。相反,指定许多VVC样本条目类型可能不是优选的。
此外,VvcNALUConfigBox可以被包括在‘vvs1’类型的样本条目中。
例如,当VVC子图片轨道由VVC基本轨道(该VVC基本轨道包括具有等于1的subpic_id_info_flag的‘spor’样本组描述条目)参考时,VVC子图片轨道包括潜在地使用默认样本分组机制的子图片ID样本组描述。
例如,当样本条目名称是‘vvc1’或‘vvi1’时,具有应用于其上的对应样本条目的流应是这样的VVC流,该VVC流鉴于VVC解码器在由VVCConfigurationBox提供的配置(包括简档、层级和级别)下操作是一致的。
例如,当样本条目名称是‘vvc1’时,针对DCI、VPS、SPS以及PPS NAL单元的阵列,array_completeness的值应等于1,并且针对所有其它阵列,array_completeness的值应等于0。当样本条目名称是‘vvi1’时,针对所有阵列,array_completeness的值应等于0。
例如,当轨道原生不包括VVC比特流时,并且当在分解(resolve)‘subp’和‘vvcN’轨道参考(如果存在)之后轨道不指示VVC比特流时,轨道应包括传递‘vopi’样本组或操作点实体组的轨道的‘oref’类型的轨道参考。
此外,例如,当单层VVC比特流包括两个时间子层(每个时间子层存储在不同轨道中)时,包括具有等于1的TemporalId的子层的轨道包括针对包括具有等于0的TemporalId的子层的轨道的‘oref’轨道参考。
此外,操作点可以是可以由OLS索引以及TemporalId的最高值识别的输出层集合(OLS)的时间子集。每个操作点可以与定义操作点的一致性点的简档、层级和级别(即,PTL)相关。
例如,VVC的基于ISO的媒体文件格式(ISOBMFF)的操作点信息可以从具有‘vopi’分组类型的组框的样本用信号通知,或者可以从‘opeg’类型的实体组用信号通知。需要该信息来识别每个操作点的样本和样本条目。
此外,可以向应用提供关于VVC比特流的信息,该信息是通过使用操作点信息样本组(‘vopi’)给出的,并且根据它们的构成(或配置)提供不同的操作点。例如,每个操作点可以与OLS的信令、最高TemporalId值以及简档、层级和级别有关。所有上述信息可以由‘vopi’样本组捕获。除了上述信息之外,样本组还可以提供层之间的依赖性信息。
例如,当针对VVC比特流存在一个或更多个VVC轨道并且针对VVC比特流不存在操作点实体组时,可以应用以下两个细节。
-在VVC比特流的VVC轨道当中,应仅存在传递(或传输)‘vopi’样本组的一个轨道。
-VVC比特流的所有其它VVC轨道应具有针对传递(或传输)‘vopi’样本组的轨道的‘oref’类型的轨道参考。
例如,针对给定轨道的特定样本,不同轨道的时间并置样本可以被定义为具有与特定样本相同的解码时间的样本。针对具有对传递‘vopi’样本组的轨道Tk的‘oref’轨道参考的轨道TN的每个样本SN,可以应用以下内容。
-当轨道Tk中存在时间并置样本Sk时,样本SN可以与和样本Sk相同的‘vopi’样本组实体相关。
-否则,样本SN可以与按解码时间在样本SN之前的轨道Tk的最后样本相同的‘vopi’样本组实体相关。
此外,当VVC比特流参考多个VPS时,多个实体可能必须包括在grouping_type‘vopi’属于的样本组描述框中。在存在单个VPS的更一般(或常规)情况下,可以推荐通过使用在ISO/IEC 14496-12中定义的默认样本组机制来在样本表框中包括操作点信息样本组,而不将其包括在每个轨道片段中。
另外,grouping_type_parameter可以不针对具有分组类型‘vopi’的SampleToGroupBox定义。
包括上述操作点信息的‘vopi’样本组(即,操作点信息样本组)的语法可以如下表所示。
[表1]
另外,操作点信息样本组的语法的语义可以如下表所示。
[表2]
/>
/>
此外,操作点实体组可以被定义为能够提供操作点的轨道映射和操作点的简档级别信息。
例如,当聚合被映射到上面在操作点实体组中描述的操作点的轨道的样本时,隐式重构过程不再需要移除任何更多NAL单元以获得一致的VVC比特流。属于操作点实体组的轨道应具有针对在操作点实体组中指示的group_id的‘oref’类型的轨道参考,并且不应传递(或传输)‘vopi’样本组。
例如,包括在操作点实体组中的所有entity_id值应指示属于同一VVC比特流的轨道的轨道ID。如果存在(或现有),则OperatingPointGroupBox被包括在文件级别MetaBox的GroupsListBox中,并且不被包括在其它级别的MetaBox中。
上述操作点实体组的语法可以如下表所示:
[表3]
/>
另外,操作点实体组的语法的语义可以如下表所示。
[表4]
/>
例如,媒体文件可以包括针对图像/视频内容的解码器配置信息。也就是说,媒体文件可以包括VVC解码器配置记录,该VVC解码器配置记录包括解码器配置信息。
此外,当VVC解码器配置记录被存储在样本条目中时,VVC解码器配置记录不仅可以包括参数集、DCI、OPI和SEI NAL单元还可以包括用于每个样本的长度字段的大小以便于指示所包括的NAL单元的长度。VVC解码器配置记录可以从外部帧化(在本文中,VVC解码器配置记录的大小是从包括VVC解码器配置记录的结构提供的)。
另外,VVC解码器配置记录可以包括版本字段。本公开中的版本可以定义VVC解码器配置记录的版本1。与VVC解码器配置记录不兼容的改变可以被指示为版本号的改变。如果版本号未被识别,则读取器不应对VVC解码器配置记录或对应记录所应用的流进行解码。
另外,例如,VVC解码器配置记录的兼容扩展可以扩展配置记录,并且可以不改变配置版本代码。读取器应准备忽略(或忽视)超过读取器理解的数据定义的未被识别的数据。
当轨道原生地(或本质上)包括VVC比特流或者通过分解‘subp’轨道参考而包括VVC比特流时,VvcPtlRecord应存在于解码器配置记录中。并且在这种情况下,针对VVC比特流的详细输出层集合被指示为字段output_layer_set_idx。
例如,当轨道的解码器配置记录中的ptl_present_flag等于0时,轨道应具有针对VVC轨道的‘oref’轨道参考或者可以参考‘opeg’实体组的ID。
此外,当正在解码VVC解码器配置记录中描述的流时,VvcPTLRecord、chroma_format_idc和bit_depth_minus8的语法元素的值针对正被参考的所有参数集可以是有效的。更具体地,可以应用以下限制。
-简档指示general_profile_idc指示由配置记录内的output_layer_set_idx标识的输出层集合符合(或遵循)的简档。
例如,当指示由配置记录内的output_layer_set_idx标识的输出层集合的不同CVS的不同简档时,可能需要检查流以确定整个流符合(或遵循)的简档(如果存在)。另外,例如,如果不能检查整个流,或者如果确定整个流没有遵循(或符合)简档,则期望将整个流划分成具有可以应用这样的规则的单独配置记录的两个或更多个子流。
-层级指示general_tier_flag可以指示与输出层集合(其由配置记录内的output_layer_set_idx标识)遵循的(所有参数集合中的)所有profile_tier_level()语法结构中指示的最高层级相同或比最高层级高的层级。
-general_constraint_info的每个比特可以仅在输出层集合(其由配置记录内的output_layer_set_idx标识)遵循的(所有参数集合中的)所有profile_tier_level()语法结构中的所有general_constraint_info()语法结构中配置对应比特时配置。
-级别指示general_level_idc指示与输出层集合(其由配置记录内的output_layer_set_idx标识)遵循的(所有参数集合中的)所有profile_tier_level()语法结构中指示的最高级别相等或比最高级别高的能力级别。
另外,可以将限制应用于chroma_format_idc,如下文所描述的。
-当应用有配置记录的VVC比特流是单层比特流时,在ISO/IEC 23090-3中定义的sps_chroma_format_idc的值在由应用有当前样本条目描述的样本中的VCL NAL单元参考的所有SPS中应是相同的,并且chroma_format_idc值应等于sps_chroma_format_idc值。
-否则(当应用有配置记录的VVC比特流是多层比特流时),针对应用有当前样本条目描述的所有CVS,在ISO/IEC 23090-3中定义的vps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]的值应相等,并且chroma_format_idc值应等于vps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]值。
另外,可以将限制应用于bit_depth_minus8,如下文所描述的。
-当应用有配置记录的VVC比特流是单层比特流时,在ISO/IEC 23090-3中定义的sps_bitdepth_minus8的值在由应用有当前样本条目描述的样本中的VCL NAL单元参考的所有SPS中应是相同的,并且bit_depth_minus8值应等于sps_bitdepth_minus8值。
-否则(当应用有配置记录的VVC比特流是多层比特流时),针对应用有当前样本条目描述的所有CVS,在ISO/IEC 23090-3中定义的vps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]的值应相等,并且bit_depth_minus8值应等于vps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]值。
另外,可以将限制应用于picture_width,如下文所描述的。
-当应用有配置记录的VVC比特流是单层比特流时,在ISO/IEC 23090-3中定义的sps_pic_width_max_in_luma_samples的值在由应用有当前样本条目描述的样本中的VCLNAL单元参考的所有SPS中应是相同的,并且picture_width值应等于sps_pic_width_max_in_luma_samples值。
-否则(当应用有配置记录的VVC比特流是多层比特流时),针对应用有当前样本条目描述的所有CVS,在ISO/IEC 23090-3中定义的vps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]的值应相等,并且picture_width值应等于vps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]值。
另外,可以将限制应用于picture_height,如下文所描述的。
-当应用有配置记录的VVC比特流是单层比特流时,在ISO/IEC 23090-3中定义的sps_pic_height_max_in_luma_samples的值在由应用有当前样本条目描述的样本中的VCLNAL单元参考的所有SPS中应是相同的,并且picture_height值应等于sps_pic_height_max_in_luma_samples值。
-否则(当应用有配置记录的VVC比特流是多层比特流时),针对应用有当前样本条目描述的所有CVS,在ISO/IEC 23090-3中定义的vps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]的值应相等,并且picture_height值应等于vps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]值。
此外,除了VVC视频基本流中使用的其它重要格式信息之外,还可以从VVC解码器配置记录提供色度格式和比特深度的显式指示。如果两个序列的VUI信息中的颜色空间信息不同,则可能需要两个不同的VVC样本条目。
另外,例如,传递初始化NAL单元的阵列集合可以被包括在VVC解码器配置记录中。NAL单元类型可以限于仅指示DCI、OPI、VPS、SPS、PPS、前缀APS和前缀SEI NAL单元。由ISO/IEC 23090-3和本公开保留的NAL单元类型可以在未来定义,并且可能需要读取器忽略(或忽视)具有保留NAL单元类型或未准许(或未授权)值的阵列。
此外,从样本条目传递的NAL单元可以紧接在AUD NAL单元和OPI NAL单元(如果存在)之后被包括。并且另外,对应NAL单元可以被包括在访问单元的开始部分中,所述访问单元是从参考样本条目的第一样本重构的。
另外,可以推荐阵列按照DCI、OPI、VPS、SPS、PPS、前缀APS和前缀SEI的顺序存在。
上述VvcPTLRecord和VVC解码器配置记录的语法可以如下面的表5和表6所示。
[表5]
[表6]
另外,VvcPTLRecord和VVC解码器配置记录的语法的语义可以如下表所示。
[表7]
/>
此外,VVC文件格式定义如下所述的各种类型的轨道。
a)VVC轨道:VVC轨道可以表示VVC比特流,如果可能的话,通过在VVC轨道的样本和样本条目中包括NAL单元,如果可能的话,通过参考包括VVC比特流的其它子层的其它VVC轨道,或者如果可能的话,通过参考VVC子图片轨道。
b)VVC非VCL轨道:载送ALF、LMCS或缩放列表参数的APS和其它非VCL NAL单元可以通过与包含VCL NAL单元的轨道分离的轨道来存储和发送,该轨道是VVC非VCL轨道。
c)VVC子图片轨道:VVC子图片轨道可以包括以下任一项:
-一个或更多个VVC子图片的序列
-形成矩形区域的一个或更多个完整切片序列。
此外,VVC子图片轨道的样本可以包括以下之一:
-在ISO/IEC 23090-3中定义并且按解码顺序连续的一个或更多个完整子图片
-在ISO/IEC 23090-3中定义、形成矩形区域并且按解码顺序连续的一个或更多个完整子图片。
此外,包括在VVC子图片轨道的任何样本中的VVC子图片或切片可以按解码顺序连续。
例如,如下所述,VVC非VCL轨道和VVC子图片轨道可以允许在流应用中执行VVC视频的优选传递。例如,对应轨道可以各自作为其自身的DASH表示来传输(或传递)。并且,针对轨道子集的解码和渲染,除了包括非VCL轨道的DASH表示之外,客户端可以针对每个片段请求包括VVC子图片轨道的子集的DASH表示。通过使用该方法,可以防止APS和其它非VCLNAL单元的冗余传输。
此外,为了从传递多层VVC比特流的多个轨道的样本重构访问单元,可以首先确定操作点。
例如,当VVC比特流被表示为多个VVC轨道时,文件解析器可以识别如下选择的操作点所需的轨道。
-基于‘opeg’实体组以及‘vvcb’实体组和对应‘vopi’样本组来选择VVC比特流。
-适合于解码能力和应用目的的操作点从‘opeg’实体组或‘vopi’样本组中选择。
-在存在‘opeg’实体组的情况下,可以指示准确指示所选操作点的轨道集合。因此,VVC比特流可以从轨道集合重构并且可以被解码。
-在不存在‘opeg’实体组的情况下(即,在存在‘vopi’样本组的情况下),可以根据“vvcb’实体组和‘vopi’样本组来确定解码所选操作点所需的轨道集合。
例如,为了从传递VVC比特流的多个VVC轨道重构比特流,可能需要首先确定TemporalId的目标最高(或最大)值。
例如,在多个轨道包括用于访问单元的数据的情况下,可以基于样本解码时间来执行轨道中的样本中的每一者的对齐(或排列)。也就是说,可以在不考虑编辑列表的情况下使用时间到样本表。
例如,当VVC比特流被表示为多个VVC轨道时,如果通过增加解码时间将轨道组合成单个流,则样本的解码时间可能需要具有如ISO/IEC 23090-3中给出的准确的访问单元顺序。
此外,可以根据隐式重构过程从所需的轨道的每个样本重构访问单元的序列,这将在下文中描述。
此外,VVC比特流的隐式重构过程可以如下所述。
例如,当存在操作点信息样本组时,可以基于由操作点信息和层信息样本组中指示的轨道传递的层及其参考层来选择所需的轨道。
另外,例如,当存在操作点实体组时,可以基于OperatingPointGroupBox的信息来选择所需的轨道。
另外,例如,当VCL NAL单元重构包括具有大于0的TemporalId的子层的比特流时,同一层内的所有较低级别子层(即,具有较低TemporalId值的VCL NAL单元的子层)可以被包括在所得比特流中,并且可以相应地选择所需的轨道。
另外,例如,当重构访问单元时,可以根据来自具有相同解码时间的样本的nuh_layer_id值的递增顺序将(在ISO/IEC 23090-3中定义的)图片单元指派给访问单元。
另外,例如,在针对访问单元的多个图片当中,当至少一个图片具有AUD NAL单元时,第一图片单元(即,具有最小nuh_layer_id值的图片单元)应具有AUD NAL单元。在本文中,仅第一图片单元中的AUD NAL单元保持(或维持)在经重构的访问单元中,而其它AUDNAL单元(如果存在)可以被丢弃。在经重构的访问单元中,AUD NAL单元具有等于1的aud_irap_or_gdr_flag,并且如果经重构的访问单元不是IRAP或GDR访问单元,则将AUD NAL单元的aud_irap_or_gdr_flag的值设定为等于0。
第一PU的AUD NAL单元可以具有等于1的aud_irap_or_gdr_flag,并且与同一访问单元相对应但存在于单独轨道中的另一PU可以具有不是IRAP图片或GDR图片的图片。在这种情况下,存在于经重构的访问单元中的AUD NAL单元的aud_irap_or_gdr_flag的值可以从1改变为0。
另外,例如,当操作点实体组不存在时,可以从传递同一层或子层的轨道中进行选择。此后,最终需要的轨道可以共同传递不属于目标操作点的层或子层的一部分。尽管针对目标操作点重构的比特流是从最终请求的轨道传递的,但对应比特流不应包括不属于目标操作点的层或子层。
VVC解码器实现方式使用与目标输出层集合索引和目标操作点的最高TemporalId值相对应的比特流,每个目标操作点与ISO/IEC 23090-3第八节中指定的TargetOlsIdX和HighestTid参数相对应。在将经重构的比特流发送至VVC解码器之前,文件解析器应当验证经重构的比特流是否包括除了包括在目标操作点中的层或子层之外的任何其它层和子层。
例如,当通过使用依赖层重构访问单元并且max_tid_il_ref_pics_plus1大于0时,所得比特流中也可以仅包括同一层内的具有小于或等于max_tid_il_ref_pics_plus1-1(在操作点信息样本组中指示)的TemporalId值的VCL NAL单元的参考层的子层,并且可以相应地选择所需的轨道。
另外,例如,当访问单元被重构针对依赖层时,并且当max_tid_il_ref_pics_plus1等于0时,在参考层的所有图片单元当中,仅具有等于0的ph_recovery_poc_cnt的GDR图片单元以及IRAP图片单元可以被包括在所得比特流中,并且仅可以选择相应地请求的轨道。
例如,当VVC轨道包括‘subp’轨道参考时,每个图片单元可以如ISO/IEC 23090-3的第11.6.3节中给出的那样并且结合对EOS NAL单元和EOB NAL单元的附加约束(或限制)被重构,这在下面给出。可以根据nuh_layer_id的递增顺序针对目标操作点的每个层重复ISO/IEC 23090-3的第11.6.3节中所描述的过程。否则,可以如下所述重构每个图片单元。
可以根据解码时间的递增顺序将经重构的访问单元指派给VVC比特流,并且如下面另外描述的,可以从VVC比特流移除比特流结束(EOB)和序列结束(EOS)NAL单元的副本。
例如,针对存在于VVC比特流的同一编码视频序列中并且属于存储于多个轨道中的不同子层的访问单元,可以存在一个或更多个轨道,其中,所述一个或更多个轨道在样本中的每一者中包括具有特定nuh_layer_id的EOS NAL单元。在这种情况下,可以在最终经重构的比特流中在访问单元当中的最后访问单元(具有最大解码时间的单元)中仅维持EOSNAL单元中的一者,并且可以在访问单元当中除最后访问单元的EOB NAL单元(如果存在)之外的所有NAL单元之后仅指派一个EOS NAL单元,并且可以丢弃(或删除)其它EOS NAL单元。类似地,包括EOB NAL单元的一个或更多个轨道可以存在于每个样本中。在这种情况下,在EOB NAL单元当中,仅一个EOB NAL单元可以维持在最终经重构的比特流中并且可以被指派到这种访问单元的最后端,并且可以丢弃(或删除)其它EOB NAL单元。
另外,例如,由于特定层或子层可以表示为一个或更多个轨道,因此当确定操作点所需的轨道时,可能需要从传递所有特定层或子层的轨道集合中选择轨道。
此外,可以从参考VVC子图片轨道的VVC轨道的样本重构图片单元。
例如,VVC轨道的样本可以被分解为包括将在后面根据以下顺序进行描述的NAL单元的图片单元。
-如果存在样本,则是AUD NAL单元。
例如,如果AUD NAL单元存在于样本中,则是样本内的第一NAL单元。
-如果样本是与同一样本条目相关的样本序列的第一样本,则是包括在样本条目中的参数集和SEI NAL单元(如果存在)。
-如果具有EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30或UNSPEC_31的nal_unit_type(具有这种NAL单元类型的NAL单元无法放置在图片单元内的第一VCL NAL单元之前)的至少一个NAL单元存在于样本内,则在这些NAL单元当中,是样本内的不包括第一单元的NAL单元,并且否则是样本内的所有NAL单元。
-被分解(在解码时间内)并根据由‘subp’轨道参考参考的VVC子图片轨道的顺序在每个参考VVC子图片轨道中时间对齐的内容(当映射到该样本的‘spor’样本组条目的同一组条目内的num_subpic_ref_idx等于0时)。另选地,被分解(在解码时间内)并按照由被映射到该样本的‘spor’样本组描述条目指定的顺序在每个所参考的VVC子图片中时间对齐的内容(如果存在),不包括所有DCI、OPI、VPS、SPS、PPS、AUD、PH、EOS、EOB和其它AU级别或图片级别非VCL NAL单元。如以下描述中给出的那样分解轨道参考。
例如,如果所参考的VVC子图片轨道与VVC非VCL轨道相关,则VVC子图片轨道的分解样本包括存在于VVC非VCL轨道中的时间对齐的样本的非VCL NAL单元(如果存在)。
-具有EOS_NUT、EOB_NUT、SUFFIX_APS_NUT、SUFFIX_SEI_NUT、FD_NUT、RSV_NVCL_27、UNSPEC_30或UNSPEC_31的nal_unit_type的所有NAL单元。
此外,如果映射到该样本的‘spor’样本组描述条目的num_subpic_ref_idx等于0,则可以如下文所述分解存在于‘subp’框中的每个轨道参考。否则,可以如下所述分解存在于映射到该样本的‘spor’样本组描述条目中的轨道参考subp_track_ref_idx的每个实例。
-如果轨道参考指示VVC子图片轨道的轨道ID,则可以将轨道参考分解到VVC子图片轨道。
-否则(当轨道参考指示‘alte’轨道组时),可以将轨道参考分解到‘alte’轨道组的任何一个轨道。此时,当针对先前样本中存在的特定轨道分解轨道参考索引值时,应将对应值分解到当前样本中的后续项中的一者。
例如,轨道参考可以被分解到同一特定轨道。
另选地,轨道参考可以被分解到包括与当前样本时间对齐的同步样本的同一‘alte’轨道组内的任何其它轨道。
为了避免发生解码失配,由于同一‘alte’轨道组中的VVC子图片轨道需要与由相同的VVC基本轨道参考的任何其它VVC子图片轨道独立,因此可以如下限制VVC子图片轨道。
例如,所有VVC子图片轨道包括VVC子图片。
另外,例如,子图片边界与图片边界相同。
此外,在‘subp’轨道参考中分解的VVC基本轨道的每个样本可以配置没有孔或交叠的矩形区域(或区域)。没有孔的矩形区域表示应该覆盖矩形区域的所有样本。交叠意味着矩形区域的所有样本应当仅被覆盖一次。
此外,当读取器进行初始选择时,或者当用户选择包括具有与先前选择不同的子图片ID值集合的VVC子图片的VVC子图片轨道时,可以执行以下步骤。
-为了确定PPS或SPS NAL单元是否需要改变,可以研究‘spor’样本组描述条目。
-当‘spor’样本组描述条目指示起始码仿真防止字节存在于包括NAL单元的子图片ID内或之前时,可以从NAL单元获得RBSP(即,移除起始码仿真防止字节)。在下一阶段执行覆写之后,可以再次执行起始码仿真阻止。
-读取器可以使用子图片ID长度信息和‘spor’样本组条目内的比特位置来确定哪些比特正在被重写以更新子图片ID。
-当初始选择PPS或SPS的子图片ID值时,读取器可能需要用已在经重构的访问单元中选择的子图片ID值重写每个PPS或SPS。
-当PPS或SPS的子图片ID值在比较(每个)相同的PPS ID值或SPS ID值和(每个)先前的PPS ID值或SPS ID值之后改变时,读取器需要包括先前PPS和SPS的副本(当具有相同PPS或SPS ID值的PPS或SPS中的每一者不存在于访问单元中时),并且(每个)PPS和SPS可能需要被重写到在经重构的访问单元中更新的子图片ID值。
当存在映射到VVC基本轨道的样本的‘minp’样本组描述条目时,可以应用以下操作。
-可以研究‘minp’样本组描述条目,以确定pps_mixed_nalu_types_in_pic_flag的值。
-如果对应值与经重构的比特流内具有相同PPS ID的先前PPS NAL单元内的值不同,则可以应用以下内容。
例如,如果通过上文所描述的步骤PPS未被包括在图片单元中,则读取器可能需要包括具有已在经重构的图片单元内更新的pps_mixed_nalu_types_in_pic_flag值的PPS的副本。
另外,例如,读取器使用‘minp’样本组描述条目内的比特位置来确定重写哪个比特以更新pps_mixed_nalu_types_in_pic_flag。
此外,在ISO/IEC 14496-12中定义的流访问点(SAP)样本组‘sap’用于提供关于所有SAP的信息。
例如,在ISO/IEC 14496-12中定义等于0的layer_id_method_idc的语义。例如,如果Layer_id_method_idc等于0,则可以如下所述解释SAP。
-如果样本条目类型是‘vvc1’或‘vvi1’,并且如果轨道不包括TemporalId为0的子层,则SAP指定对轨道中存在的所有子层的访问。
-否则,SAP指定对轨道中存在的所有层的访问。
例如,如果样本条目类型是‘vvc1’或‘vvi1’,并且如果轨道不包括TemporalId为0的任何子层,则轨道中的具有与最低TemporalId相同的TemporalId的STSA图片执行SAP的角色。
VVC比特流的GDR图片通常被指示为‘sap’样本组中的SAP类型4。
例如,VVC使得具有不同VCL_NAL单元类型的子层能够在同一编码图片内。可以通过将图片范围内的每个子图片索引的子图片更新为IRAP子图片来获得逐渐解码刷新。然而,VVC不指定从具有混合VCL NAL单元类型的图片开始的解码过程。
此外,如果以下全部为真
-VVC轨道的样本参考具有等于1的pps_mixed_nalu_types_in_pic_flag的PPS,
-针对从0至sps_num_subpics_minus1(包括0和sps_num_subpics_minus1)范围内的每个子图片索引i,以下两者均为真:
-sps_subpic_treated_as_pic_flag[i]等于1,并且
-存在具有相同子图片索引i的至少一个IRAP子图片,或在同一CLVS的当前样本之后存在至少一个IRAP子图片。
应用以下内容。
-样本可以被指示为类型4SAP样本。
-并且,样本可以被映射到‘roll’样本组描述条目。此时,‘roll’样本组描述条目可以具有用于在存在IRAP子图片之前跳过具有特定子图片索引的子图片的解码的解码过程的正确roll_distance值。
另外,如果正在使用SAP样本组,则应在传递相同VVC比特流的所有轨道中使用SAP样本组。
此外,在ISO/IEC 14496-12中定义的随机访问恢复点样本组‘roll’用于提供关于恢复点的信息以用于逐渐解码刷新。
例如,如果‘roll’样本组与VVC轨道一起使用,则grouping_type_parameter的语法和语义可以被定义为与ISO/IEC 14496-12的‘sap’样本组的语法和语义相同。
例如,当映射到‘roll’样本组的样本的目标层的图片是GDR图片时,使用layer_id_method_idc的值0和1。
例如,当layer_id_method_idc等于0时,‘roll’样本组指定存在于轨道中的所有层的行为。
在第9.5.7节中定义layer_id_method_idc等于1的语义。
例如,当layer_id_method_idc等于2和3时,当映射到‘roll’样本组的样本的目标层的图片均不是GDR图片时,使用layer_id_method_idc。并且,针对目标层的图片不是GDR图片,应用以下内容:
-所参考的PPS具有等于1的pps_mixed_nalu_types_in_pic_flag,
-针对从0至sps_num_subpics_minus1(包括0和sps_num_subpics_minus1)的范围内的每个子图片索引i,以下两者均为真:
-sps_subpic_treated_as_pic_flag[i]等于1,并且
-存在具有相同子图片索引i的至少一个IRAP子图片,或在同一CLVS的当前样本之后存在至少一个IRAP子图片。
例如,当layer_id_method_idc等于2时,‘roll’样本组指定轨道中存在的所有层的行为。
例如,在第9.5.7节中定义layer_id_method_idc等于3的语义。
例如,当读取器使用标记有等于2和3的layer_id_method_idc的样本来开始解码时,为了允许以标记为属于layer_id_method_idc的值等于2和3的样本组的样本开始的比特流变为一致性比特流,读取器可能需要校正(或修改)根据第11.6节重构的比特流的SPS、PPS和PH NAL单元。
-由样本参考的任何SPS具有等于1的sps_gdr_enabled_flag。
-由样本参考的任何PPS具有等于0的pps_mixed_nalu_types_in_pic_flag。
-从样本重构的AU的所有VCL NAL单元具有与GDR_NUT相同的nal_unit_type。
-从样本重构的AU的任何图片报头具有等于1的ph_gdr_pic_flag并且具有与具有映射到其的样本的‘roll’样本组描述条目的roll_distance相对应的ph_recovery_poc_cnt值。
另外,尽管‘roll’样本组涉及(或关于)依赖层,但是除非该层是‘roll’样本组的参考层,否则样本组可以指示当依赖层的所有参考层都可用和解码时应用的特性。另外,样本组可以用于开始预测层的解码。
此外,在现有技术中,存在用于指示包括在‘vopi’和/或‘opeg’中的操作点不可用(即,针对操作点的层或输出层集合或一些时间子层不可用/已从文件中移除)的机制。
根据该机制,包括操作点的操作点信息样本组的语法可以例如如下表所示。
[表8]
另外,根据该机制,包括操作点的操作点信息样本组的语法的语义可以如下表所示。
[表9]
例如,参照表9,语法元素incomplete_operating_points_flag可以指示‘vopi’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘vopi’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层可能在一些操作点中缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,操作点的所有输出层集合和时间子层都存在于文件中)。
另外,例如,参照表9,语法元素op_availability_idc可以指示一些输出层集合或时间子层是否针对操作点缺失。例如,op_availability_idc等于0可以指示操作点缺失。op_availability_idc等于1可以指示一些时间子层缺失(但保留一些时间子层,从而允许播放操作点);操作点的NAL单元的最大TemporalId在解码所选操作点所需的轨道集合的层信息中指示。
另外,根据该机制,操作点实体组的语法可以如下表所示。
[表10]
另外,根据该机制,操作点实体组的语法的语义可以如下表所示。
[表11]
例如,参照表11,语法元素incomplete_operating_points_flag可以指示‘opeg’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘opeg’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层可能在一些操作点中缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,所有操作点的输出层集合和时间子层都存在于文件中)。
另外,例如,参照表11,语法元素op_availability_idc可以指示一些输出层集合或时间子层是否针对操作点缺失。例如,op_availability_idc等于0可以指示操作点缺失。op_availability_idc等于1可以指示一些时间子层缺失(但保留一些时间子层,从而允许播放操作点);操作点的NAL单元的最大TemporalId在针对‘opeg’给定的轨道的层信息中指示。
此外,当incomplete_operating_points_flag为1时,不可用操作点的信令可能有问题。例如,如果标志为1,则包含标志的结构(即,‘vopi’或‘opeg’)中的所有操作点不可用,因为与操作点相关联的输出层集合不可用或与操作点相关联的时间子层中的一些不可用。更好的设计将是当标志等于1时,一些但未必所有操作点可能不可用。
因此,本文档提出了上述问题的解决方案。所提出的实施方式可以单独地或组合地应用。
例如,op_availability_idc[i]的语义可以被修改为具有以下值。
-例如,一个值指定第i操作点是完整的/可用的。
-或者,例如,一个值指定第i操作点是不完整的/不可用的,因为其关联的输出层集合的所有层都不可用。
-或者,例如,一个值指定第i操作点是不完整的/不可用的,因为与操作点相关联的一个或更多个时间子层不可用。
另外,例如,op_availability_idc[i]的指定第i操作点是完整的/可用的值可以等于该语法元素的相同字节的保留位的值(即,等于0)。
另外,例如,存在如下约束:当incomplete_operating_points_flag的值等于1时,应存在不完整的一个或更多个操作点。
另外,例如,还可以指定op_availability_idc[i]的一个值指定当与操作点相关联的一或更多个时间子层不可用时,针对该操作点的最大时间子层可以从解码操作点所需的轨道中的时间子层信息推导。
例如,作为本文档提出的实施方式,可以提出如下表所示配置的操作点信息样本组。
[表12]
参考上文所描述的表12,当操作点信息样本组中的incomplete_operating_points_flag的值为0时,可以不用信号通知op_availability_idc[i]。
另外,该实施方式提出的操作点信息样本组的语法的语义可以如下表所示:
[表13]
例如,参照表13,语法元素incomplete_operating_points_flag可以指示‘vopi’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘vopi’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层可能在一些操作点处缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,所有操作点的输出层集合和时间子层都存在于文件中)。
另外,例如,参照表13,语法元素op_availability_idc可以指示输出层集合或时间子层是否可用。例如,op_availability_idc[i]等于0可以指定第i操作点是完整的(即,输出层集合的所有层和与操作点相关联的所有时间子层都可用)。例如,op_availability_idc[i]等于1可以指定与操作点相关的输出层集合不可用。例如,op_availability_idc[i]等于2可以指定与操作点相关联的一个或更多个时间子层不可用。例如,可以保留等于3的op_availability_idc[i]。
此外,例如,当incomplete_operating_points_flag的值等于1时,存在如下约束:针对0至num_operating_points-1的范围(包括边界,等于1或2)内的i,一定存在op_availability_idc[i]的一个或更多个值。
另外,可以提出如下表所示配置的操作点实体组。
[表14]
/>
参照上文所描述的表14,当操作点实体组中的incomplete_operating_points_flag的值为0时,可以不用信号通知op_availability_idc[i]。
另外,该实施方式提出的操作点实体组的语法的语义可以如下表所示:
[表15]
例如,参照表15,语法元素incomplete_operating_points_flag可以指示‘opeg’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘opeg’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层可能在一些操作点处缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,所有操作点的输出层集合和时间子层都存在于文件中)。
此外,例如,参照表15,语法元素op_availability_idc可以指示输出层集合或时间子层是否可用。例如op_availability_idc[i]等于0可以指定第i操作点是完整的(即,输出层集合的所有层和与操作点相关联的所有时间子层都可用)。例如,op_availability_idc[i]等于1可以指定与对应操作点相关的输出层集合不可用。例如,op_availability_idc[i]等于2可以指定与对应操作点相关的一个或更多个时间子层不可用。例如,等于3的op_availability_idc[i]可以保留。
此外,例如,当incomplete_operating_points_flag的值等于1时,存在如下约束:针对0至num_operating_points-1的范围(包括边界,等于1或2)内的i,一定存在op_availability_idc[i]的一个或更多个值。
另外,例如,作为本文档提出的另一实施方式,可以提出如下表所示配置的操作点信息样本组。
[表16]
参照上文所描述的表16,当操作点信息样本组中的incomplete_operating_points_flag的值为0时,可以不用信号通知op_availability_idc[i]。
另外,该实施方式提出的操作点信息样本组的语法的语义可以如下表所示:
[表17]
例如,参照表17,语法元素incomplete_operating_points_flag可以指示‘vopi’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘vopi’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层在一些操作点处缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,所有操作点的输出层集合和时间子层都存在于文件中)。
另外,例如,参照表17,语法元素op_availability_idc可以指定输出层集合或时间子层是否可用。例如,op_availability_idc[i]大于0可以指示第i操作点可能是不完整的。op_availability_idc[i]的值可以指定以下情况。
-例如,op_availability_idc[i]等于0可以指定第i操作点是完整的(即,输出层集合的所有层和与操作点相关联的所有时间子层可用)。
-例如,op_availability_idc[i]等于1可以指定与操作点相关的一个或更多个时间子层不可用;然而,第i操作点仍然可以用针对操作点的基于操作点所需的轨道的最高temporalId推导的最大temporalId来解码。
-例如,op_availability_idc[i]等于2可以指定与操作点相关联的一个或更多个时间子层不可用,并且操作点可能不可解码。
-例如,op_availability_idc[i]等于3可以指定与操作点相关联的输出层集合不可用。
此外,例如,当incomplete_operating_points_flag的值等于1时,存在如下约束:针对0至num_operating_points-1的范围(包括边界,不等于0)内的i,一定存在op_availability_idc[i]的一个或更多个值。
另外,可以提出由下表构成的操作点实体组。
[表18]
参照上文所描述的表18,当操作点信息样本组中的incomplete_operating_points_flag的值为0时,可以不用信号通知op_availability_idc[i]。
另外,该实施方式提出的操作点实体组的语法的语义可以如下表所示:
[表19]
/>
例如,参照表19,语法元素incomplete_operating_points_flag可以指示‘opeg’中声明的操作点是否完整。例如,如果设置了incomplete_operating_points_flag,则这可以指示‘opeg’中声明的一些操作点可能是不完整的(即,一些输出层集合或时间子层在一些操作点处缺失)。如果未设置incomplete_operating_points_flag,则这可以指示所有操作点都是完整的(即,所有操作点的输出层集合和时间子层都存在于文件中)。
另外,例如,参照表19,语法元素op_availability_idc可以指定输出层集合或时间子层是否可用。例如,op_availability_idc[i]大于0可以指定第i操作点可能是不完整的。op_availability_idc[i]的值可以指定以下情况。
-例如,op_availability_idc[i]等于0可以指定第i操作点是完整的(即,输出层集合的所有层和与操作点相关联的所有时间子层可用)。
-例如,op_availability_idc[i]等于1可以指定与操作点相关的一个或更多个时间子层不可用;然而,第i操作点仍然可以用针对操作点的基于操作点所需的轨道的最高temporalId推导的最大temporalId来解码。
-例如,op_availability_idc[i]等于2可以指定与操作点相关的一个或更多个时间子层不可用,并且操作点可能不可解码。
-例如,op_availability_idc[i]等于3可以指定与操作点相关的输出层集合不可用。
此外,例如,当incomplete_operating_points_flag的值等于1时,存在如下约束:针对0至num_operating_points-1的范围(包括边界,不等于0)内的i,一定存在op_availability_idc[i]的一个或更多个值。
图8示例性例示了应用本公开提出的实施方式的用于生成媒体文件的方法。
参照图8,第一装置可以对组进行配置(S800)。例如,第一装置可以根据上述实施方式对组进行配置。例如,第一装置可以表示发送端、编码端或媒体文件生成端。另外,例如,组可以是实体组。另外,例如,组可以是样本组。并且,第一装置可以包括编码器。
第一装置可以基于组生成媒体文件(S810)。例如,第一装置可以根据上述实施方式基于组生成媒体文件。
图9示例性例示了用于对通过应用本公开提出的实施方式生成的媒体文件进行解码的方法。
参照图9,第二装置可以获得/接收包括组的媒体文件(S900)。例如,第二装置可以获得/接收包括根据上述实施方式的组的媒体文件。另外,例如,第二装置可以表示接收端、解码端或渲染端。
例如,媒体文件可以包括表1和/或表3中描述的信息。
第二装置可以解析/获得组(S910)。例如,第二装置可以解析/获得包括在媒体文件中的组。另外,例如,组可以是实体组。另外,例如,组可以是样本组。
图10示意性例示了根据本公开的用于生成媒体文件的设备生成媒体文件的方法。图10中公开的方法可以由图11中公开的用于生成媒体文件的设备(或媒体文件生成设备)执行。媒体文件生成设备可以表示前述第一装置。具体地,例如,图10的S1000可以由媒体文件生成设备的图像处理器执行,并且S1010可以由媒体文件生成设备的媒体文件生成器执行。另外,尽管附图中未示出,但是对包括图像信息的比特流进行编码的过程可以由媒体文件生成设备的编码器执行。编码器可以被包括在媒体文件生成设备中,或者可以被配置为外部组件。
媒体文件生成设备对与至少一个操作点相关的组进行配置(S1000)。例如,媒体文件生成设备可以对与至少一个操作点相关的组进行配置,并且生成包括组的媒体文件。例如,组可以是实体组。另外,例如,组可以是样本组。
例如,组可以包括关于操作点数量的数量信息。另外,例如,组可以包括表示一个或更多个操作点是否不完整的不完整操作点标志。另外,例如,组可以包括操作点可用性指示符信息。
例如,操作点可用性指示符信息的值表示特定状态中的一个。另外,例如,特定状态可以包括关于操作点是完整的第一状态。另外,例如,特定状态可以包括关于与操作点相关联的输出层集合是不可用的第二状态。例如,输出层集合的不可用性可以指示输出层集合的层中的一些或全部层不可用或缺失的情况。换句话说,特定状态可以包括关于与操作点相关联的输出层集合不可用或输出层集合中的层缺失的第二状态。另外,例如,特定状态可以包括关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。换句话说,特定状态可以包括关于与操作点相关联的一个或更多个时间子层缺失的第三状态。
例如,特定状态可以包括关于操作点是完整的第一状态、关于与操作点相关联的输出层集合是不可用的第二状态以及关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。
例如,基于与操作点相关联的输出层集合中的一些或所有层是不可用的,与操作点相关联的输出层集合可以是不可用的。换句话说,当与操作点相关联的输出层集合的一些或所有层是可用的时,与操作点相关联的输出层集合可能是不可用的。
例如,基于操作点可用性指示符信息的值等于0,操作点可用性指示符信息可以表示关于操作点是完整的第一状态。
例如,基于操作点可用性指示符信息的值等于1,操作点可用性指示符信息可以表示关于与操作点相关联的输出层集合是不可用的第二状态。换句话说,基于操作点可用性指示符信息的值等于1,操作点可用性指示符信息可以表示关于与操作点相关联的输出层集合中的一些或所有是不可用的第二状态。
例如,基于操作点可用性指示符信息的值等于2,操作点可用性指示符信息可以表示关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。换句话说,基于操作点可用性指示符信息的值等于2,操作点可用性指示符信息可以表示关于与操作点相关联的一个或更多个时间子层缺失的第三状态。
例如,操作点可用性指示符信息可以包括分别针对操作点的操作点可用性指示符。另外,例如,操作点可用性指示符的数量可以等于操作点的数量。
例如,特定状态可以包括第四状态。另外,例如,第四状态可以关于与操作点相关联的一个或更多个时间子层是不可用的。换句话说,第四状态可以关于与操作点相关联的一个或更多个时间子层是缺失的。另外,例如,基于根据与操作点相关联的最高temporalId推导的针对操作点的最大temporalId,操作点可以是完整的。
例如,第三状态可以关于操作点的一个或更多个时间子层是不完整的。换句话说,第三状态可以关于操作点的一个或更多个时间子层是缺失的。另外,例如,第三状态可以关于操作点是不完整的。
媒体文件生成设备生成包括组的媒体文件(S1010)。媒体文件生成设备可以生成包括组的媒体文件。
此外,尽管附图中未示出,但是媒体文件生成设备可以将所生成的媒体文件存储在(数字)存储介质中,或者可以通过网络或(数字)存储介质将所生成的媒体文件传递至媒体文件处理设备。在本文中,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。
图11示意性例示了用于生成媒体文件的设备,该设备执行根据本公开的用于生成媒体文件的方法。图10中公开的方法可以由图11中公开的用于生成媒体文件的设备(或媒体文件生成设备)执行。更具体地,例如,图11的媒体文件生成设备的图像处理器可以执行S1000,并且图11的媒体文件生成设备的媒体文件生成器可以执行S1010。另外,尽管附图中未示出,但是对包括图像信息的比特流进行编码的过程可以由媒体文件生成设备的编码器执行。
图12示意性例示了根据本公开的通过用于处理媒体文件的设备对媒体文件进行处理的方法。图12中公开的方法可以由图13中公开的用于处理媒体文件的设备(或媒体文件处理设备)执行。媒体文件处理设备可以表示前述第二装置。更具体地,例如,图12的S1200可以由媒体文件处理设备的接收器执行,并且S1210可以由媒体文件处理设备的媒体文件处理器执行。另外,尽管附图中未示出,但是可以由解码器执行基于组对比特流进行解码的过程。解码器可以被包括在媒体文件处理设备中或者被配置为外部组件。
媒体文件处理设备获得包括组的媒体文件(S1200)。例如,媒体文件处理设备可以通过网络或(数字)存储介质获得包括组的媒体文件。在本文中,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。
媒体文件处理设备对与至少一个操作点相关的组进行解析(S1210)。例如,媒体文件处理设备解析/获得与至少一个操作点相关的组。例如,组可以是实体组。另外,例如,组可以是样本组。
例如,组可以包括关于操作点数量的数量信息。另外,例如,组可以包括表示一个或更多个操作点是否不完整的不完整操作点标志。另外,例如,组可以包括操作点可用性指示符信息。
例如,操作点可用性指示符信息的值表示特定状态中的一个。另外,例如,特定状态可以包括关于操作点是完整的第一状态。另外,例如,特定状态可以包括关于与操作点相关联的输出层集合是不可用的第二状态。例如,输出层集合的不可用性可以指示输出层集合的层中的一些或全部层不可用或缺失的情况。换句话说,特定状态可以包括关于与操作点相关联的输出层集合不可用或输出层集合中的层缺失的第二状态。另外,例如,特定状态可以包括关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。换句话说,特定状态可以包括关于与操作点相关联的一个或更多个时间子层缺失的第三状态。
例如,特定状态可以包括关于操作点是完整的第一状态、关于与操作点相关联的输出层集合是不可用的第二状态以及关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。
例如,基于与操作点相关联的输出层集合中的一些或所有层是不可用的,与操作点相关联的输出层集合可以是不可用的。换句话说,当与操作点相关联的输出层集合的一些或所有层是可用的时,与操作点相关联的输出层集合可能是不可用的。
例如,基于操作点可用性指示符信息的值等于0,操作点可用性指示符信息可以表示关于操作点是完整的第一状态。
例如,基于操作点可用性指示符信息的值等于1,操作点可用性指示符信息可以表示关于与操作点相关联的输出层集合是不可用的第二状态。换句话说,基于操作点可用性指示符信息的值等于1,操作点可用性指示符信息可以表示关于与操作点相关联的输出层集合中的一些或所有是不可用的第二状态。
例如,基于操作点可用性指示符信息的值等于2,操作点可用性指示符信息可以表示关于与操作点相关联的一个或更多个时间子层是不可用的第三状态。换句话说,基于操作点可用性指示符信息的值等于2,操作点可用性指示符信息可以表示关于与操作点相关联的一个或更多个时间子层缺失的第三状态。
例如,操作点可用性指示符信息可以包括分别针对操作点的操作点可用性指示符。另外,例如,操作点可用性指示符的数量可以等于操作点的数量。
例如,特定状态可以包括第四状态。另外,例如,第四状态可以关于与操作点相关联的一个或更多个时间子层是不可用的。换句话说,第四状态可以关于与操作点相关联的一个或更多个时间子层是缺失的。另外,例如,基于根据与操作点相关联的最高temporalId推导的针对操作点的最大temporalId,操作点可以是完整的。
例如,第三状态可以关于操作点的一个或更多个时间子层是不完整的。换句话说,第三状态可以关于操作点的一个或更多个时间子层是缺失的。另外,例如,第三状态可以关于操作点是不完整的。
此外,尽管未示出,但是媒体文件处理设备可以基于组来解码比特流。例如,媒体文件处理设备可以基于包括在组中的信息来解码针对该组的比特流中的图像信息,并且基于该图像信息生成经重构的图片。
图13示意性例示了根据本公开的用于处理媒体文件的设备,该设备执行用于处理媒体文件的方法。图12中公开的方法可以由图13中公开的用于处理媒体文件的设备(或媒体文件处理设备)执行。更具体地,例如,图13的用于处理媒体文件的设备的接收器可以执行图12的S1200,并且图13的媒体文件处理设备的媒体文件处理器可以执行图12的S1210。此外,尽管附图中未示出,但是媒体文件处理设备可以包括解码器,并且解码器可以基于组对比特流进行解码。
根据上述公开内容,组是实体组或样本组中的一者,并且组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,操作点可用性指示符信息的值表示特定状态中的一个,并且特定状态包括关于操作点是完整的第一状态、关于与操作点相关联的输出层集合是不可用的第二状态以及关于与操作点相关联的一个或更多个时间子层是不可用的第三状态,并且通过这些内容,可以通过仅用信号通知一些操作点不可用(并非所有操作点)来提高整体编码效率。
在上述实施方式中,基于具有一系列步骤或块的流程图描述了方法。本公开不限于上述步骤或块的顺序。一些步骤或块可以同时或以与如上所述的其它步骤或块不同的顺序发生。此外,本领域技术人员将理解,上述流程图中所示的步骤不是排他性的,可以包括其它步骤,或者可以删除流程图中的一个或更多个步骤,而不影响本公开的范围。
本说明书中描述的实施方式可以通过在处理器、微处理器、控制器或芯片上实现而执行。例如,每个图中所示的功能单元可以通过在计算机、处理器、微处理器、控制器或芯片上实现而执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
另外,本公开适用于的设备可以被包括在多媒体广播发送/接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、便携式摄像机、VoD服务提供设备、顶置(OTT)视频设备、互联网流传输服务提供设备、三维(3D)视频设备、虚拟现实(VR)设备、增强现实(AR)设备、电话会议视频设备、运输工具用户设备(例如,车辆用户设备、飞机用户设备、轮船用户设备等)和医疗视频设备中,并且可以被用于处理视频信号或数据信号。例如,顶置(OTT)视频设备可以包括游戏控制台、蓝光播放器、联网TV、家庭影院系统、智能手机、平板PC和数字视频记录仪(DVR)等。
此外,本公开适用于的处理方法可以以计算机执行的程序的形式产生,并且可以存储在计算机可读记录介质中。具有根据本公开的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机系统可读数据的所有类型的存储装置。例如,计算机可读记录介质可以包括BD、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储装置。此外,计算机可读记录介质包括以载波(例如,通过互联网传输)形式实现的介质。另外,通过编码方法生成的比特流可以存储在计算机可读记录介质中,或者可以通过有线/无线通信网络发送。
另外,本公开的实施方式可以被实现为根据程序代码的计算机程序产品,并且程序代码可以通过本公开的实施方式而在计算机执行。程序代码可以存储在计算机可读的载体上。
图14例示了应用本公开的内容流传输系统的结构图。
应用本公开的实施方式的内容流传输系统可以基本上包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、照相机、便携式摄像机等的多媒体输入装置输入的内容压缩为数字数据,以生成比特流,并且将该比特流发送至流传输服务器。作为另一示例,在诸如智能电话、照相机、便携式摄像机等的多媒体输入装置直接生成比特流时,可以省略编码服务器。
可以通过本公开的实施方式应用于的编码方法或比特流生成方法来生成比特流。并且流传输服务器可以在发送或接收比特流的过程中暂时存储比特流。
流传输服务器基于用户的请求通过网络服务器向用户装置发送多媒体数据,并且网络服务器充当向用户通知服务的介质。当用户从网络服务器请求想要的服务时,网络服务器将请求传递至流传输服务器,并且流传输服务器将多媒体数据发送至用户。在这种情况中,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用来控制内容流系统中的各个装置之间的命令/响应。
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,在从编码服务器接收内容时,可以实时地接收内容。在这种情况下,为了提供流畅的流传输服务,流传输服务器可以将比特流存储预定时间。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超薄本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。可以将内容流传输系统中的每个服务器作为分布式服务器操作,并且在这种情况下,可以分发从每个服务器接收的数据。
本公开中描述的权利要求可以以各种方式组合。例如,本公开的方法权利要求中的技术特征可以组合以实现为设备,并且本公开的设备权利要求中的技术特征可以组合以实现为方法。另外,本公开的方法权利要求中的技术特征和设备权利要求中的技术特征可以组合以实现为设备,并且本公开的方法权利要求中的技术特征和设备权利要求中的技术特征可以组合以实现为方法。

Claims (17)

1.一种生成媒体文件的方法,所述方法包括以下步骤:
对与至少一个操作点相关的组进行配置;以及
生成包括所述组的所述媒体文件,
其中,所述组是实体组或样本组中的一者,
其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,
其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且
其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
2.根据权利要求1所述的方法,其中,基于与所述操作点相关联的所述输出层集合中的一些或所有层是不可用的,与所述操作点相关联的所述输出层集合是不可用的。
3.根据权利要求1所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于0,所述操作点可用性指示符信息表示关于所述操作点是完整的所述第一状态。
4.根据权利要求1所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于1,所述操作点可用性指示符信息表示关于与所述操作点相关联的所述输出层集合是不可用的所述第二状态。
5.根据权利要求1所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于2,所述操作点可用性指示符信息表示关于与所述操作点相关联的一个或更多个时间子层是不可用的所述第三状态。
6.根据权利要求1所述的方法,其中,所述操作点可用性指示符信息包括分别针对所述操作点的操作点可用性指示符,并且
其中,所述操作点可用性指示符的数量等于所述操作点的数量。
7.根据权利要求1所述的方法,其中,所述特定状态还包括第四状态,
其中,所述第四状态关于与所述操作点相关联的一个或更多个时间子层是不可用的,并且
其中,基于根据与所述操作点相关联的最高temporalId推导的针对所述操作点的最大temporalId,所述操作点是完整的。
8.根据权利要求1所述的方法,其中,所述第三状态还关于所述操作点是不完整的。
9.一种媒体文件生成设备,所述媒体文件生成设备用于生成通过根据权利要求1所述的生成媒体文件的方法生成的媒体文件。
10.一种处理媒体文件的方法,所述方法包括以下步骤:
获得包括组的所述媒体文件;以及
对与至少一个操作点相关的所述组进行解析,
其中,所述组是实体组或样本组中的一者,
其中,所述组包括关于操作点数量的数量信息、表示一个或更多个操作点是否不完整的不完整操作点标志以及操作点可用性指示符信息,
其中,所述操作点可用性指示符信息的值表示特定状态中的一个,并且
其中,所述特定状态包括关于操作点是完整的第一状态、关于与所述操作点相关联的输出层集合是不可用的第二状态以及关于与所述操作点相关联的一个或更多个时间子层是不可用的第三状态。
11.根据权利要求10所述的方法,其中,基于与所述操作点相关联的所述输出层集合中的一些或所有层是不可用的,与所述操作点相关联的所述输出层集合是不可用的。
12.根据权利要求10所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于0,所述操作点可用性指示符信息表示关于所述操作点是完整的所述第一状态。
13.根据权利要求10所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于1,所述操作点可用性指示符信息表示关于与所述操作点相关联的所述输出层集合是不可用的所述第二状态。
14.根据权利要求10所述的方法,其中,基于所述操作点可用性指示符信息的所述值等于2,所述操作点可用性指示符信息表示关于与所述操作点相关联的一个或更多个时间子层是不可用的所述第三状态。
15.根据权利要求10所述的方法,其中,所述操作点可用性指示符信息包括分别针对所述操作点的操作点可用性指示符,并且
其中,所述操作点可用性指示符的数量等于所述操作点的数量。
16.根据权利要求10所述的方法,其中,所述特定状态还包括第四状态,
其中,所述第四状态关于与所述操作点相关联的一个或更多个时间子层是不可用的,并且
其中,基于根据与所述操作点相关联的最高temporalId推导的针对所述操作点的最大temporalId,所述操作点是完整的。
17.一种媒体文件处理设备,所述媒体文件处理设备用于对通过根据权利要求10所述的处理媒体文件的方法处理的媒体文件进行处理。
CN202180095916.8A 2021-01-26 2021-12-16 媒体文件处理方法及设备 Pending CN116982318A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163141964P 2021-01-26 2021-01-26
US63/141,964 2021-01-26
PCT/KR2021/019215 WO2022164024A1 (ko) 2021-01-26 2021-12-16 미디어 파일 처리 방법 및 그 장치

Publications (1)

Publication Number Publication Date
CN116982318A true CN116982318A (zh) 2023-10-31

Family

ID=82654809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095916.8A Pending CN116982318A (zh) 2021-01-26 2021-12-16 媒体文件处理方法及设备

Country Status (4)

Country Link
US (1) US20240089518A1 (zh)
EP (1) EP4287624A1 (zh)
CN (1) CN116982318A (zh)
WO (1) WO2022164024A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013165215A1 (ko) * 2012-05-04 2013-11-07 엘지전자 주식회사 영상 정보 저장 방법 및 영상 정보 파싱 방법 그리고 이를 이용하는 장치
US9432664B2 (en) * 2012-09-28 2016-08-30 Qualcomm Incorporated Signaling layer identifiers for operation points in video coding
US20160373771A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Design of tracks and operation point signaling in layered hevc file format
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding

Also Published As

Publication number Publication date
US20240089518A1 (en) 2024-03-14
WO2022164024A1 (ko) 2022-08-04
EP4287624A1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
JP6768907B2 (ja) メディアファイルの処理装置及び処理方法
EP3311574B1 (en) Method, device, and computer program for obtaining media data and metadata from encapsulated bit-streams wherein operating point descriptors can be dynamically set
US20220201308A1 (en) Media file processing method and device therefor
US20230336761A1 (en) Method for processing media file and device therefor
CN116134821A (zh) 用于在图像/视频编码系统中处理高级语法的方法和设备
EP4287624A1 (en) Media file processing method and device
US20240040169A1 (en) Media file processing method and device therefor
EP4329303A1 (en) Media file processing method, and device therefor
US20230328261A1 (en) Media file processing method and device therefor
US20240048768A1 (en) Method and apparatus for generating and processing media file
US20230362456A1 (en) Media file processing method and device
US20230388508A1 (en) Method and device for generating media file
US20240031622A1 (en) Media file processing method and device
US20230345028A1 (en) Media file processing method and apparatus therefor
EP4266689A1 (en) Method and device for generating/receiving media file including nal unit information, and method for transmitting media file
US20240064323A1 (en) Media file generation/reception method and device for signaling subpicture id information, and computer-readable recording medium in which media file is stored
US20240056578A1 (en) Media file generation/reception method and apparatus supporting random access in units of samples, and method for transmitting media file
US20230336751A1 (en) Method and apparatus for generating/receiving media file which signals output layer set information, and computer-readable recording medium storing media file
EP4329315A1 (en) Method and device for generating/receiving media file on basis of eos sample group, and method for transmitting media file
US20230319374A1 (en) Method and device for creating/receiving media file containing layer information, and media file transfer method
US20230379481A1 (en) Media file generation/reception method and device for signaling operating point information and output layer set information, and computer-readable recording medium in which media file is stored
US20240056618A1 (en) Method and device for generating/receiving media file including nal unit array information, and method for transmitting media file
US20230336783A1 (en) Method and device for generating/receiving media file including output layer set information, and method for transmitting media file
CN117223290A (zh) 用于基于eos样本组生成/接收媒体文件的方法和设备以及用于发送媒体文件的方法
CN115668940A (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