CN116406505A - 媒体文件处理方法和装置 - Google Patents

媒体文件处理方法和装置 Download PDF

Info

Publication number
CN116406505A
CN116406505A CN202180070112.2A CN202180070112A CN116406505A CN 116406505 A CN116406505 A CN 116406505A CN 202180070112 A CN202180070112 A CN 202180070112A CN 116406505 A CN116406505 A CN 116406505A
Authority
CN
China
Prior art keywords
sub
picture
track
slices
vvc
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
CN202180070112.2A
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 CN116406505A publication Critical patent/CN116406505A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/81Monomedia components thereof
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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)内容或全息图的360度视频)的兴趣和需求正在增长。具有与诸如游戏图像的真实图像不同的图像特征的图像和视频的广播正在增长。
因此,需要一种高效的图像和视频压缩技术,以便于有效地压缩和发送或存储和播放具有这种各种特性的高分辨率和高质量图像和视频的信息。
然而,即使视频信息被压缩处理,如上所述,随着对高质量图像的需求的增长,处理中的图像信息的大小(或量)增加,并且预期压缩图像信息的大小甚至比现有技术更大。
因此,为了处理高分辨率高容量视频信息,存在如下问题:如何定义视频信息文件和包括用于处理这种视频信息文件的信息的文件的格式,使得可以有效地处理媒体。
发明内容
技术方案
根据本公开的一个实施方式,本文提供了一种用于高效地存储和传递视频/音频数据的方法和设备。
根据本公开的一个实施方式,本文提供了一种用于配置(或形成)可以通过支持VVC而使用的文件格式的方法和设备。
根据本公开的一个实施方式,本文提供了一种用于形成用于存储和传递视频/图像数据的轨道以及用于生成媒体文件的方法和设备。
根据本公开的一个实施方式,本文提供了一种用于防止出现子图片轨道被允许包括一个或更多个完整切片但不是所有切片被包括在一个子图片中的情况的方法和设备。
根据本公开的一个实施方式,本文提供了一种用于防止出现子图片轨道包括切片但不是所有切片被包括在一个子图片中的情况的问题的方法和设备。
根据本公开的一个实施方式,本文提供了一种由媒体文件生成设备执行的用于生成媒体文件的方法。
根据本公开的一个实施方式,本文提供了一种生成媒体文件的媒体文件生成设备。
根据本公开的一个实施方式,本文提供了一种由媒体文件处理设备执行的用于处理媒体文件的方法。
根据本公开的一个实施方式,本文提供了一种处理媒体文件的媒体文件处理设备。
有益效果
根据本公开的一个实施方式,可以高效地存储和传递视频/图像数据。
根据本公开的一个实施方式,可以配置(或形成)可以通过支持VVC而使用的文件格式。
根据本公开的一个实施方式,可以形成用于存储和传递视频/图像数据的轨道,并且可以生成媒体文件。
根据本公开的一个实施方式,可以防止出现子图片轨道被允许包括一个或更多个完整切片但不是所有切片被包括在一个子图片中的情况。
根据本公开的一个实施方式,可以防止出现子图片轨道包括切片但不是所有切片被包括在一个子图片中的情况。
根据本公开的一个实施方式,VVC子图片轨道、VVC子图片和VVC子图片内的切片之间的关系可以变得简单且清楚。
附图说明
图1和图2是例示了媒体文件结构的示例的图。
图3是例示了根据本公开的一个实施方式的基于DASH的自适应流模型的整体操作的图。
图4示意性地例示了本文档的示例性实施方式适用于的视频/图像编码系统的示例。
图5是示意性地解释本文档的示例性实施方式适用于的视频/图像编码设备的配置的图。
图6是示意性地解释本文档的示例性实施方式适用于的视频/图像解码设备的配置的图。
图7示出了编码后的视频/图像的示例性分层结构。
图8示出了应用本公开提出的实施方式的生成媒体文件的方法的示例。
图9示出了应用对通过应用本公开提出的实施方式而生成的媒体文件进行处理的方法的示例。
图10示出了根据本公开的由用于生成媒体文件的设备执行的生成媒体文件的方法的总体视图。
图11示出了根据本公开的执行生成媒体文件的方法的、用于生成媒体文件的设备的总体视图。
图12示出了根据本公开的由用于处理媒体文件的设备执行的生成媒体文件的方法的总体视图。
图13示出了根据本公开的执行处理媒体文件的方法的、用于处理媒体文件的设备的总体视图。
图14例示了本文档中公开的实施方式应用于的内容流传输系统的示例性结构图。
具体实施方式
本文档可按各种形式修改,将描述并且在附图中例示其特定实施方式。然而,这些实施方式并非旨在限制本文档。以下描述中使用的术语仅用于描述特定实施方式,而非旨在限制本文档。单数表达包括复数表达,只要清楚地不同解读即可。诸如“包括”和“具有”这样的术语旨在指示存在以下描述中使用的特征、数量、步骤、操作、元件、组件或其组合,因此应该理解,不排除存在或添加一个或更多个不同的特征、数量、步骤、操作、元件、组件或其组合的可能性。
另一方面,为了方便解释不同特定功能,在本文档中描述的附图中的元件被独立地绘制,并且不意味着这些元件由独立的硬件或独立的软件实现。例如,可以组合元件中的两个或更多个元件以形成单个元件,或者可以将一个元件划分成多个元件。在不脱离本文档的概念的情况下,元件被组合和/或划分的实施方式属于本文档。
在下文中,将参照附图更详细地描述本文档的优选实施方式。在下文中,贯穿本说明书将使用相同的附图标记来指代相同的组件,并且可以省略相同部件的冗余描述。
图1和图2是例示了媒体文件的结构的示例的图。
根据实施方式的媒体文件可以包括至少一个框。这里,框可以是包括媒体数据或与媒体数据相关的元数据的数据块或对象。框可以处于分层结构中,并因此可以对数据进行分类,并且媒体文件可以具有适于存储和/或发送大容量媒体数据的格式。此外,媒体文件可以具有允许用户容易地访问诸如移动至特定媒体内容点的媒体信息的结构。
根据一个实施方式的媒体文件可以包括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框。
根据一个实施方式(200),媒体文件可以被划分为多个片段。因此,媒体文件可以被分段并存储或发送。媒体文件的媒体数据(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框可以包括诸如每个媒体样本的时段、大小和再现时间的信息。
前述媒体文件及其片段可以被处理成段并被发送。分段可以包括初始化分段和/或媒体分段。
所示实施方式210的文件除了媒体数据之外还可以包括与媒体解码器初始化相关的信息。例如,该文件可以对应于前述初始化分段。初始化分段可以包括前述ftyp框和/或moov框。
所示实施方式220的文件可以包括前述片段。例如,该文件可以对应于前述媒体分段。媒体分段还可以包括styp框和/或sidx框。
styp框(分段类型框)可以提供用于识别划分片段的媒体数据的信息。styp框可以用作用于划分片段的上述ftyp框。根据实施方式,styp框可以具有与ftyp框相同的格式。
sidx框(分段索引框)可以提供指示划分片段的索引的信息。因此,可以指示划分片段的顺序。
根据实施方式230,还可以包括ssix框。ssix框(子分段索引框)可以提供指示当分段被划分为子分段时的子段的索引的信息。
例如,媒体文件中的框可以包括如所示实施方式250中所示的基于框或FullBox的更多扩展信息。在本实施方式中,大小(size)字段和大大小(largesize)字段可以以字节表示对应框的长度。版本字段可以指示对应框格式的版本。类型字段可以指示对应框的类型或标识符。标志字段可以指示与对应框相关联的标志。
此外,本文档的视频/图像的字段(特性)可以通过被包括在基于DASH的自适应流传输模型中来传送。
图3是例示了根据本公开的实施方式的基于DASH的自适应流传输模型的整体操作的图。根据(400)所示实施方式的基于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数据模型可以具有分层结构(410)。媒体呈现可以由MPD描述。MPD可以描述进行媒体呈现的多个时段的时间序列。一个时段可以指示媒体内容的一个部分。
在一个时段中,数据可以被包括在适配集中。适配集可以是可以彼此交换的媒体内容组成部分集。适配可以包括表示(representation)集。一个表示可以对应于一个媒体内容组成部分。在一个表示中,内容可以在时间上划分成多个分段。这可以用于适当的访问和传递。可以提供每个分段的URL,以便于访问每个分段。
MPD可以提供与媒体呈现相关的信息。时段元素、适配集元素和表示元素可以分别描述对应时段、适配集和表示。一个表示可以被划分为子表示。子表示元素可以描述对应子表示。
这里,可以定义公共属性/元素。公共属性/元素可以应用于(被包括在)适配集、表示和子表示中。EssentialProperty和/或SupplementalProperty可以被包括在公共属性/元素中。
EssentialProperty可以是包括被认为对于处理与媒体呈现相关的数据是必要的元素的信息。SupplementalProperty可以是包括可以用于处理与媒体呈现相关的数据的元素的信息。在一些实施方式中,在通过MPD传递信令信息(稍后进行其描述)的情况下,信令信息可以在被定义在EssentialProperty和/或SupplementalProperty中的同时被传递。
图4示意性地例示了可以应用本文档的实施方式的视频/图像编码系统的示例。
参照图4,视频/图像编码系统可以包括第一设备(源设备)和第二设备(接收设备)。源设备可以经由数字存储介质或网络以文件或流传输的形式将编码后的视频/图像信息或数据发送到接收设备。
源设备可以包括视频源、编码设备和发送器。接收设备可以包括接收器、解码设备和渲染器。编码设备可以称为视频/图像编码设备,解码设备可以称为视频/图像解码设备。发送器可以包括在编码设备中。接收器可以包括在解码设备中。渲染器可以包括显示器,并且显示器可以被配置为单独的设备或外部组件。
视频源可以通过捕获、合成或生成视频/图像的处理来获取视频/图像。视频源可以包括视频/图像捕获设备和/或视频/图像生成设备。例如,视频/图像捕获设备可以包括一个或更多个摄像头、包括先前捕获的视频/图像的视频/图像档案等。例如,视频/图像生成设备可以包括计算机、平板计算机和智能电话,并且可以(以电子方式)生成视频/图像。例如,可以通过计算机等生成虚拟视频/图像。在这种情况下,视频/图像捕获处理可以由生成相关数据的处理代替。
编码设备可以对输入视频/图像进行编码。为了压缩和编码效率,编码设备可以执行诸如预测、变换和量化的一系列过程。编码后的数据(编码的视频/图像信息)可以按比特流的形式输出。
发送器可以通过数字存储介质或网络将以比特流的形式输出的编码后的图像/图像信息或数据以文件或流的形式发送至接收设备的接收器。数字存储介质可以包括诸如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中的至少一个”。
此外,在本文档中使用的括号可以意指“例如”。具体地,在表达“预测(帧内预测)”的情况下,可以指示“帧内预测”被提议作为“预测”的示例。换句话说,本文档中的术语“预测”不限于“帧内预测”,并且可以指示“帧内预测”被提议作为“预测”的示例。此外,即使在表达“预测(即,帧内预测)”的情况下,也可以指示“帧内预测”被提议作为“预测”的示例。
在本文档的一个图中被单独描述的技术特征可以单独实现,或者可以同时实现。
制作以下附图以解释本文档的具体示例。由于附图中描述的特定设备的名称或特定信号/消息/字段的名称是作为示例提供的,因此本文档的技术特征不限于以下附图中使用的特定名称。
图5是例示了可以应用本文档的实施方式的视频/图像编码设备的配置的示意图。下文中,编码设备可以包括视频编码设备和/或图像编码设备。
参照图5,编码设备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可以执行诸如(例如)指数哥伦布(exponential 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中。各种滤波方法可以包括例如去块滤波、样本自适应偏移(SAO)、自适应环路滤波器、双边滤波器等。滤波器260可以生成与滤波相关的各种类型的信息,并将所生成的信息传送到熵编码器290,如随后的每种过滤方法的描述中描述的。与滤波相关的信息可以由熵编码器290编码并以比特流的形式被输出。
发送到存储器270的修正后的重构图片可以被用作帧间预测器221中的参考图片。当通过编码设备应用帧间预测时,可以避免编码设备200与解码设备之间的预测失配,并且可以提高编码效率。
存储器270的DPB可以存储修正后的重构图片,以用作帧间预测器221中的参考图片。存储器270可以存储从其推导出(或编码)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器221,以被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器270可以存储当前图片中的重构块的重构样本,并可以将重构样本传送到帧内预测器222。
图6是例示了可以应用本文档的实施方式的视频/图像解码设备的配置的示意图。下文中,解码设备可以包括视频解码设备和/或图像解码设备。
参照图6,解码设备300可包括熵解码器310、残差处理器320、预测器330、加法器340、滤波器350和存储器360。预测器330可包括帧间预测器332和帧内预测器331。残差处理器320可包括解量化器321和逆变换器321。根据一个实施方式,熵解码器310、残差处理器320、预测器330、加法器340和滤波器350可由硬件部件(例如,解码器芯片组或处理器)配置。另外,存储器360可包括解码图片缓冲器(DPB)或者可由数字存储介质配置。硬件组件还可包括存储器360作为内部/外部组件。
当输入包括视频/图像信息的比特流时,解码设备300可重构与在图5的编码设备中处理视频/图像信息的处理对应的图像。例如,解码设备300可基于从比特流获得的块分割相关信息来推导单元/块。解码设备300可使用编码设备中应用的处理器来执行解码。因此,例如,解码的处理器可以是编码单元,并且编码单元可根据四叉树结构、二叉树结构和/或三叉树结构从编码树单元或最大编码单元分割。可从编码单元推导一个或更多个变换单元。通过解码设备300解码和输出的重构图像信号可通过再现设备再现。
解码设备300可以以比特流的形式接收从图5的编码设备输出的信号,并且可以通过熵解码器310对接收到的信号进行解码。例如,熵解码器310可以对比特流进行解析,以推导出图像重构(或图片重构)所必需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于诸如自适应参数集(APS)、图片参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)这样的各种参数集的信息。另外,视频/图像信息还可以包括一般约束信息。解码设备还可以基于关于参数集的信息和/或一般约束信息对图片进行解码。随后在本文档中描述的发信号通知/接收的信息和/或语法元素可以通过解码过程被解码,并从比特流中获得。例如,熵解码器310可以基于诸如指数哥伦布编码、CABAC或CAVLC这样的编码方法对比特流中的信息进行解码,并且输出图像重构所需的语法元素和针对残差的变换系数的量化值。更具体地,CABAC熵解码方法可以在比特流中接收与每个语法元素对应的bin元,使用解码目标语法元素信息、解码目标块的解码信息或前一级中解码的符号/bin的信息来确定上下文模型,并通过根据所确定的上下文模型预测出现bin的概率来对bin执行算术解码,并生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以通过在确定上下文模型之后,将解码后的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器310解码的信息当中的与预测相关的信息可以被提供到预测器(帧间预测器332和帧内预测器331),并且关于在熵解码器310中被执行了熵解码的残差值(即,量化后的变换系数和相关的参数信息)可以输入到残差处理器320。残差处理器320可以推导出残差信号(残差块、残差样本、残差样本数组)。另外,由熵解码器310解码的信息当中的关于滤波的信息可以被提供到滤波器350。此外,用于接收从编码设备输出的信号的接收器(未示出)可以另外被配置为解码设备300的内部/外部元件,或者接收器可以是熵解码器310的组件。此外,根据本文档的解码设备可以被称为视频/图像/图片解码设备,并且解码设备可以被分类为信息解码器(视频/图像/图片信息解码器)和样本解码器(视频/图像/图片样本解码器)。信息解码器可以包括熵解码器310,并且样本解码器可以包括解量化器321、逆变换器322、加法器340、滤波器350、存储器360、帧间预测器332和帧内预测器331中的至少一个。
解量化器321可将量化后的变换系数解量化并输出变换系数。解量化器321可按二维块形式重排量化后的变换系数。在这种情况下,可基于在编码设备中执行的系数扫描顺序来执行重排。解量化器321可使用量化参数(例如,量化步长信息)对量化后的变换系数执行解量化并且获得变换系数。
逆变换器322对变换系数逆变换以获得残差信号(残差块、残差样本数组)。
预测器可对当前块执行预测并生成包括当前块的预测样本的预测块。预测器可基于从熵解码器310输出的关于预测的信息来确定对当前块应用帧内预测还是帧间预测并且可确定特定帧内/帧间预测模式。
预测器330可以基于下述的各种预测方法来生成预测信号。例如,预测器不仅可以应用帧内预测或帧间预测来预测一个块,而且还可以同时应用帧内预测和帧间预测。这可以被称为帧间和帧内预测组合(CIIP)。另外,预测器可以基于块内复制(IBC)预测模式或调色板模式来预测块。IBC预测模式或调色板模式可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC基本上在当前图片中执行预测,但可以在当前图片中推导参考块方面与帧间预测类似地执行。即,IBC可以使用本文档中描述的帧间预测技术中的至少一种。调色板模式可以被视为帧内编码或帧内预测的示例。当应用调色板模式时,可以基于关于调色板表和调色板索引的信息来发信号通知图片内的样本值。
帧内预测器331可以通过参考当前图片中的样本来预测当前块。根据预测模式,所参考的样本可以位于当前块的邻居中,或者其位置可以与当前块分开。在帧内预测中,预测模式可以包括多种非定向模式和多种定向模式。帧内预测器331可以通过使用应用于邻近块的预测模式来确定将应用于当前块的预测模式。
帧间预测器332可以基于参考图片上的运动向量所指定的参考块(参考样本数组)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式下发送的运动信息的量,可以基于邻近块与当前块之间的运动信息相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考图片索引。运动信息还可以包括关于帧间预测方向(L0预测、L1预测、Bi预测等)的信息。在帧间预测的情况下,邻近块可以包括当前图片中存在的空间邻近块和参考图片中存在的时间邻近块。例如,帧间预测器332可以基于邻近块来构造运动信息候选列表,并基于接收到的候选选择信息来推导当前块的运动向量和/或参考图片索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示针对当前块的帧间预测的模式的信息。
加法器340可以通过将所获得的残差信号与从预测器330输出的预测信号(预测块或预测样本数组)相加来生成重构信号(重构图片、重构块或重构样本数组)。如果不存在处理目标块的残差(例如,应用跳变模式的情况),则预测块可以用作重构块。
加法器340可以被称为重构器或重构块生成器。所生成的重构信号可以用于在当前图片中将处理的下一个块的帧内预测,并且如随后描述的,还可以通过滤波来输出或者还可以用于下一个图片的帧间预测。
此外,具有色度缩放的亮度映射(LMCS)还可以被应用于图片解码处理。
滤波器350可以通过向重构信号应用滤波来改善主观/客观图像质量。例如,滤波器350可以通过向重构图片应用各种滤波方法来生成修正后的重构图片,并将修正后的重构图片存储在存储器360中,具体地,存储在存储器360的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波器、双边滤波器等。
存储在存储器360的DPB中的(修正后的)重构图片可以被用作帧间预测器332中的参考图片。存储器360可以存储从其推导出(或解码出)当前图片中的运动信息的块的运动信息和/或已经重构的图片中的块的运动信息。所存储的运动信息可以被传送到帧间预测器332,以便被用作空间邻近块的运动信息或时间邻近块的运动信息。存储器360可以存储当前图片中的重构块的重构样本,并将重构样本传送到帧内预测器331。
在本公开中,在编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以与解码设备300的滤波器350、帧间预测器332和帧内预测器331相同或者被分别对应地应用。对于帧间预测器332和帧内预测器331,也可以同样适用。
此外,上述编码后的图像/视频信息可以基于媒体文件格式来配置,以生成媒体文件。例如,编码后的图像/视频信息可以基于编码后的图像/视频信息上的一个或更多个NAL单元/样本条目而形成媒体文件(分段)。媒体字段可以包括样本条目和轨道。例如,媒体文件(分段)可以包括各种记录,并且每个记录可以包括与图像/视频信息相关的信息或与媒体文件格式相关的信息。另外,例如,一个或更多个NAL单元可以存储在媒体文件的配置记录(或解码器配置记录或VVC解码器配置记录)字段中。在本文中,该字段也可以称为语法元素。
例如,ISO基本媒体文件格式(ISOBMFF)可以用作可以应用本公开中所公开的方法/实施方式的媒体文件格式。ISOBMFF可以用作各种编解码器封装格式(例如,AVC文件格式、HEVC文件格式和/或VVC文件格式等)以及各种多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)和/或DVB文件格式等)的基础。另外,除了连续媒体(例如,音频和视频)之外,静态媒体(例如,图像)和元数据也可以根据ISOBMFF存储在文件中。根据ISOBMFF结构化的文件可以用于诸如本地媒体文件播放、远程文件的渐进式下载、用于HTTP上的动态自适应流传输(DASH)的分段、要进行流传输的内容的容器和分组化指令、接收的实时媒体流的记录等的各种目的。
下文将描述的‘box’可以作为ISOBMFF的基本语法元素。ISOBMFF文件可以由一系列框配置而成,并且另一框可以被包括在一框中。例如,电影框(分组类型为‘moov’的框)可以包括针对属于媒体文件的连续媒体流的元数据,并且每个流可以在文件中被指示为轨道。轨道上的元数据可以属于轨道框(分组类型为‘trak’的框),轨道的媒体内容可以被包括在媒体数据框(分组类型为‘mdat’的框)中,或者可以直接属于单独的文件。轨道的媒体内容可以由一系列样本(例如,音频或视频访问单元)配置而成。例如,ISOBMFF可以指定诸如包括基本媒体流的媒体轨道、包括媒体传输指令或指示接收到的分组流的提示轨道、包括定时元数据轨道的定时元数据轨道的各种类型的轨道。
另外,尽管ISOBMFF被设计用于存储目的,但当执行渐进式下载或执行诸如DASH的流传输时,ISOBMFF也非常有用。出于流传输的目的,可以使用ISOBMFF中定义的电影片段。片段化后的ISOBMFF文件例如可以分别指示为与视频和音频相关的两个单独文件。例如,当在接收到‘moov’之后包括随机访问时,所有电影片段‘moof’可以与相关媒体数据一起被解码。
另外,每个轨道的元数据可以包括样本描述条目的列表,其提供处理对应格式所需的轨道和初始化数据中使用的编码或封装格式。另外,每个样本可以连接至轨道的样本描述条目之一。
当使用ISOBMFF时,样本特定元数据可以由各种机制指定。样本表框(分组类型为‘stbl’的框)中的特定框可以被标准化,以响应一般要求。例如,Sync样本框(分组类型为‘stss’的框)可以用于列出轨道的随机访问样本。通过使用样本分组机制,可以根据四字符分组类型将样本映射到共享同一特性(其被指定为文件中的样本组描述条目)的指定样本组。可以将各种分组类型指定到ISOBMFF。
图7示出了编码后的视频/图像的示例性分层结构。
参照图7,编码后的图像/视频被划分为视频编码层(VCL)、子系统和网络抽象层(NAL),VCL处理图像/视频及其自身的解码过程,子系统发送和存储编码后的信息,并且NAL负责功能并且存在于VCL与子系统之间。
在VCL中,生成包括压缩图像数据(切片数据)的VCL数据,或者可以生成包括图片参数集(PSP)、序列参数集(SPS)和视频参数集(VPS)或图像解码过程另外需要的补充增强信息(SEI)消息的参数集。
在NAL中,可以通过向在VCL中生成的原始字节序列有效载荷(RBSP)添加报头信息(NAL单元报头)来生成NAL单元。在这种情况下,RBSP是指在VCL中生成的切片数据、参数集、SEI消息等。NAL单元报头可以包括根据包括在对应NAL单元中的RBSP数据指定的NAL单元类型信息。
如图7所示,根据在VCL中生成的RBSP,NAL单元可以分类为VCL NAL单元和非VCLNAL单元。VCL NAL单元可以意指包括关于图像(切片数据)的信息NAL单元,并且非VCL NAL单元可以意指包括解码图像所需的信息(参数集或SEI消息)的NAL单元。
上述VCL NAL单元和非VCL NAL单元可以通过根据子系统的数据标准附接报头信息来经由网络发送。例如,NAL单元可以被变换为诸如H.266/VVC文件格式、实时传输协议(RTP)、传输流(TS)等这样的预定标准的数据格式,并通过各种网络发送。
如上所述,可以根据包括在对应NAL单元中的RBSP数据结构以NAL单元类型指定NAL单元,并且关于NAL单元类型的信息可以在NAL单元报头中存储并发信号通知。
例如,根据NAL单元是否包括关于图像的信息(切片数据),NAL单元可以分类为VCLNAL单元类型和非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_unit_type值指定NAL单元类型。
此外,如上所述,一个图片可以包括多个切片,并且一个切片可以包括切片报头和切片数据。在这种情况下,还可以向一个图片中的多个切片(切片报头和切片数据集)添加一个图片报头。图片报头(图片报头语法)可以包括通常适用于图片的信息/参数。例如,一个图片可以由不同类型的切片配置而成(例如,帧内编码后的切片(即,I切片)和/或帧间编码后的切片(即,P切片和B切片))。在这种情况下,图片报头可以包括应用于帧内编码后的切片和帧间编码后的切片的信息/参数。另选地,一个图片也可以由一种类型的切片配置而成。
切片报头(切片报头语法)可以包括通常适用于切片的信息/参数。APS(APS语法)或PPS(PPS语法)可以包括通常适用于一个或更多个切片或图片的信息/参数。SPS(SPS语法)可以包括通常适用于一个或更多个序列的信息/参数。VPS(VPS语法)可以包括通常适用于多个层的信息/参数。DPS(DPS语法)可以包括通常适用于整个视频的信息/参数。DPS可以包括与编码视频序列(CVS)的级联相关的信息/参数。
在本说明书(或文档)中,被编码并且以比特流的形式从编码设备向解码设备发信号通知的视频/图像信息可以不仅包括与图片内分割相关的信息、帧内/帧间预测信息、与层间预测相关的信息、残差信息、环路内滤波信息等,而且还可以包括被包括在切片报头中的信息、被包括在图片报头中的信息、被包括在APS中的信息、被包括在PPS中的信息、被包括在SPS中的信息、被包括在VPS中的信息和/或被包括在DPS中的信息。另外,视频/图像信息还可以包括NAL单元报头的信息。
在本公开中,编码设备200的滤波器260、帧间预测器221和帧内预测器222中描述的实施方式可以与解码设备300的滤波器350、帧间预测器332和帧内预测器331相同或分别对应于解码设备300的滤波器350、帧间预测器332和帧内预测器331应用。
此外,上述编码后的图像/视频信息可以基于媒体文件格式被配置,以便于生成媒体文件。例如,编码后的图像/视频信息可以基于用于编码后的图像/视频信息的一个或更多个NAL单元/样本条目而形成媒体文件(分段)。媒体文件可以包括样本条目和轨道。例如,媒体文件(分段)可以包括各种记录,并且每个记录可以包括与图像/视频相关的信息或与媒体文件格式相关的信息。另外,例如,一个或更多个NAL单元可以存储在媒体文件的配置记录(或解码器配置记录或VVC解码器配置记录)字段中。在本文中,字段也可以称为语法元素。
此外,将在下文中描述的‘样本’可以是表示图片的3个样本阵列(Y、Cb、Cr)中的一者的单个元素或与单个时间相关的所有数据。例如,当在(媒体文件格式的)轨道的上下文中使用术语‘样本’时,‘样本’可以表示与对应轨道的单个时间相关的所有数据。在本文中,时间可以是解码时间或合成时间。另外,例如,当在图片的上下文中使用术语‘样本’时,即,当在诸如“亮度样本”的短语中使用所述术语时,则样本可以指示属于表示图片的3个样本阵列中的一者的单个元素。
此外,可以定义以下三种类型的基本流以存储VVC内容:
-不包括参数集的视频基本流,其中,所有参数集可以存储在一样本条目或多个样本条目中
-可以包括参数集和存储有参数集的一样本条目或多个样本条目的视频和参数集基本流
-包括非VCL NAL单元的、与被包括在视频轨道中的基本流同步的非VCL基本流;在本文中,VVC非VCL轨道不包括样本条目中的参数集。
此外,针对VVC的基于ISO的媒体文件格式(ISOBMFF)的操作点信息可以从分组类型为‘vopi’的组框或组类型为‘opeg’的实体组发信号通知给样本。在本文中,操作点可以是由OLS索引和最高TemporalId值标识的输出层集合(OLS)的时间子集。每个操作点可以与定义每个操作点的一致性点的简档、层级和级别(即,PTL)相关。可能需要操作点信息来从每个操作点识别样本和样本条目。
应用可以通过使用从给定VVC比特流提供的各种操作点和操作点信息样本组‘vopi’来提供有关于操作点的构成的信息。每个操作点可以与OL,最高TemporalId值以及简档、级别和层级信令相关。所有上述信息可以由‘vopi’样本组捕获。除了上述信息之外,样本组还可以提供层之间的依赖性信息。
此外,当针对VVC比特流存在一个或更多个VVC轨道并且针对VVC比特流不存在操作点实体组时,可以应用所有以下细节:
-在针对VVC比特流的VVC轨道当中,应当仅存在传递‘vopi’样本的一个轨道组。
-针对VVC比特流的所有其它VVC轨道应当具有用于传递‘vopi’样本的轨道的‘oref’类型轨道参考。
另外,针对给定轨道的特定样本,另一轨道的时间并置样本可以被定义为具有与特定样本相同的解码时间的样本。针对具有对传递‘vopi’样本组的轨道Tk的‘oref’轨道参考的轨道TN的每个样本SN,可以应用以下内容:
-当轨道Tk中存在时间并置样本Sk时,样本SN可以与和样本Sk相同的‘vopi’样本组实体相关。
-否则,样本SN可以与和样本Sk相同的‘vopi’样本组实体相关。
当在VVC比特流中参考多个VPS时,可能必须将多个实体包括在grouping_type‘vopi’所属的样本组描述框中。在存在单个VPS的更一般情况下,可以通过使用在ISO/IEC14496-12中定义的默认样本组机制来推荐在样本表框中包括操作点信息样本组,而不将其包括在每个轨道片段中。
另外,可以不针对分组类型为‘vopi’的SampleToGroupBox定义grouping_type_parameter。
包括上述操作点信息(即,操作点信息样本组)的‘vopi’样本组的语法可以如下表所示。
[表1]
Figure BDA0004175553160000231
另外,操作点信息样本组的语法的语义可以如下表所示。
[表2]
Figure BDA0004175553160000232
Figure BDA0004175553160000241
Figure BDA0004175553160000251
另外,例如,操作点实体组可以定义为能够提供操作点的轨道映射和操作点的简档级别信息。
当聚合被映射到操作点实体组中的上述操作点的轨道的样本时,隐式重构过程不再需要移除任何更多NAL单元来获得符合的VVC比特流。属于操作点实体组的轨道应具有针对在操作点实体组中指示的group_id的‘oref’类型的轨道参考。
另外,包括在操作点实体组中的所有entity_id值应当属于同一VVC比特流。如果存在(或现有),则OperatingPointGroupBox被包括在电影级别MetaBox的GroupsListBox中,并且不被包括在文件级别或轨道级别MetaBox中。在本文中,OperatingPointGroupBox可以指示操作点实体组。
上述操作点实体组的语法可以如下表所示。
[表3]
Figure BDA0004175553160000252
Figure BDA0004175553160000261
另外,操作点实体组的语法的语义可以如下表所示。
[表4]
Figure BDA0004175553160000262
Figure BDA0004175553160000271
另外,例如,媒体文件可以包括用于图像/视频内容的解码器配置信息。也就是说,媒体文件可以包括VVC解码器配置记录,该VVC解码器配置记录包括解码器配置信息。
当VVC解码器配置记录被存储在样本条目中时,VVC解码器配置记录不仅可以包括参数集,还可以包括用于每个样本的长度字段的大小,以指示包括在VVC解码器配置记录中的NAL单元的长度。VVC解码器配置记录可以由外部源(帧)形成(或配置)(在本文中,VVC解码器配置记录的大小是从包括VVC解码器配置记录的结构提供的)。
另外,VVC解码器配置记录可以包括版本字段。例如,本公开中的版本可以定义VVC解码器配置记录的版本1。与VVC解码器配置记录不兼容的改变可以被指示为版本号的改变。在未被识别的版本号的情况下,读取器不应对VVC解码器配置记录或对应记录所应用的流进行解码。
VVC解码器配置记录的兼容扩展可以不改变配置版本代码。读取器应该准备忽略(或忽视)超过读取器理解的数据定义的未被识别的数据。
当轨道基本上包括VVC比特流时,或者当轨道通过‘subp’轨道参考解决该问题时,VvcPtlRecord应当存在于解码器配置记录中。另外,当轨道的解码器配置记录中的ptl_present_flag等于0时,轨道应包括‘oref’轨道记录。
当正在解码VVC解码器配置记录中描述的流时,VvcPTrecord、chroma_format_idc和bit_depth_minus8的语法元素的值针对被激活的所有参数集可以是有效的。更具体地,可以应用以下限制:
-简档指示general_profile_idc指示跟随有与当前配置记录相关联的流的简档。
-层级指示general_tier_flag可以指示与所有参数集中所指示的最高层级相同或更高的层级。
-general_constraint_info的每个比特可以仅在所有参数集配置对应比特时被配置。
-级别指示general_level_idc可以指示等于或高于针对参数集当中的最高层级指示的最高级别的容量级别。
另外,可以如下将限制应用于chroma_format_idc:
-当ISO/IEC 23090-3中定义的sps_chroma_format_idc的值在由轨道的NAL单元参考的所有SPS中相同时,chroma_format_idc应与sps_chroma_format_idc相同。
-相反,当ptl_present_flag等于1时,chroma_format_idc应等于vps_ols_dpb_chroma_format[output_layer_set_idx],其在ISO/IEC 23090-3中定义。
-否则(即,在不应用上述条件的情况下),不存在chroma_format_idc。
除了在VVC视频基本流中使用的其它重要格式信息之外,可以从VVC解码器配置记录提供对色度格式和比特深度的显式指示。如果在两个序列的VUI信息中颜色空间信息不同,则可能需要两个不同的VVC样本条目。
另外,例如,传递初始化NAL单元的阵列集合可以被包括在VVC解码器配置记录中。NAL单元类型可以限于仅指示DCI、VPS、SPS、PPS、前缀APS和前缀SEI NAL单元。可以在未来定义由ISO/IEC 23090-3和本公开保留的NAL单元类型,并且可能需要读取器忽略(或忽视)具有保留的NAL单元类型或未经授权值的阵列。
此外,阵列可以按DCI、VPS、SPS、PPS、前缀APS和前缀SEI的顺序存在。
上述VVC解码器配置记录的语法可以如下表所示。
[表5]
Figure BDA0004175553160000291
另外,VVC解码器配置记录的语法的语义可以如下表所示。
[表6]
Figure BDA0004175553160000301
Figure BDA0004175553160000311
Figure BDA0004175553160000321
例如,参照上面的表6,针对VVC解码器配置记录应用于的流,如ISO/IEC 23090-3中定义的,语法元素general_profile_idc、general_tier_flag、general_sub_profile_idc、general_constraint_info、general_level_idc、ptl_frame_only_constraint_flag、ptl_multilayer_enabled_flag、sublayer_level_present和sublayer_level_idc[i]可以包括字段general_profile_idc、general_tier_flag和general_sub_profile_idc的匹配值,以及general_constraint_info()、general_level_idc、ptl_multilayer_enabled_flag、ptl_frame_only_constraint_flag、sublayer_level_present和sublayer_level_idc[i]中的比特。在本文中,avgFrameRate可以提供VVC解码器配置记录应用于的流的以帧/(256秒)为单位的平均帧速率。值0可以指示未给定(或未指定)平均帧速率。
另外,例如,参照表6,语法元素constantFrameRate可以指示VVC解码器配置记录的恒定帧速率。例如,constantFrameRate等于1可以指示VVC解码器配置记录应用于的流具有恒定帧速率。constantFrameRate的值等于2可以指示流的每个时间层的表示具有恒定帧速率。constantFrameRate的值等于0可以指示流可以具有或可以不具有恒定帧速率。
另外,例如,参照表6,语法元素numTemporalLayers可以指示包括在VVC解码器配置记录应用于的轨道中的时间层的数量。例如,如果numTemporalLayers大于1,则这可以指示VVC解码器配置记录应用于的轨道可以是时间上可缩放的,并且被包括在轨道中的时间层(也称为ISO/IEC 23090-3中的时间子层或子层)的数量等于numTemporalLayers。numTemporalLayers的值为1可以指示VVC解码器配置记录应用于的轨道不是时间上可缩放的。numTemporalLayers的值为0可以指示不知道VVC解码器配置记录应用于的轨道是否是时间上可缩放的。
另外,例如,参照表6,语法元素lengthSizeMinusOne可以指示该配置记录应用于的VVC视频流样本中包括的NALUnitLength字段的以字节为单位的长度。例如,一个字节的大小可以用值0指示。lengthSizeMinusOne的值可以是分别与用1、2或4字节编码的长度相对应的0、1或3中的一者。
另外,例如,参照表6,语法元素ptl_present_flag可以指示轨道包括与特定(或指定)输出层集合相对应的VVC比特流,并且相应地指示是否包括PTL信息。例如,ptl_present_flag的值为1可以指示轨道包括与特定输出层集合(特定OLS)相对应的VVC比特流。此外,ptl_present_flag的值为0可以指示轨道可以不包括与特定OLS相对应的VVC比特流,而是可以包括不形成OLS的一个或更多个单个层或除了TemporalId等于0的子层之外的单个子层。
另外,例如,参照表6,语法元素num_sub_profiles可以定义VVC解码器配置记录中标记的子简档的数量。
另外,例如,参照表6,语法元素track_ptl可以指示由包括在轨道中的VVC比特流指示的OLS的简档、层级和级别。
另外,例如,参照表6,语法元素output_layer_set_idx可以指示由包括在轨道的VVC比特流指示的输出层集合的输出层集合索引。output_layer_set_idx的值可以用作由外部装置提供给VVC解码器的如在ISO/IEC 23090-3中给出的用于解码包括在轨道中的比特流的TargetOlsIdx参数的值。
另外,例如,参照表6,语法元素chroma_format_present_flag可以指示chroma_format_idc是否存在。例如,chroma_format_present_flag的值为0可以指示chroma_format_idc不存在。chroma_format_present_flag的值为1可以指示chroma_format_idc存在。
另外,例如,参照表6,语法元素chroma_format_idc可以指示应用于轨道的色度格式。例如,以下约束可以应用于chroma_format_idc:
-当在由轨道的NAL单元参考的所有SPS中如ISO/IEC 23090-3中定义的sps_chroma_format_idc的值相同时,chroma_format_idc应与sps_chroma_format_idc相同。
-另选地,如果ptl_present_flag等于1,则chroma_format_idc应与vps_ols_dpb_chroma_format[output_layer_set_idx]相同,如ISO/IEC 23090-3中定义的。
-否则(即,如果上述限制均不适用),chroma_format_idc不存在。
另外,例如,参照表6,语法元素bit_depth_present_flag可以指示bit_depth_minus8是否存在。例如,bit_depth_present_flag可以指示bit_depth_minus8不存在。的bit_depth_present_flag的值为1可以指示bit_depth_minus8存在。
另外,例如,参照表6,语法元素bit_depth_minus8可以指示应用于轨道的比特深度。例如,以下约束可以应用于bit_depth_minus8:
-当如ISO/IEC 23090-3中定义的sps_bitdepth_minus8的值在轨道的NAL单元参考的所有SPS中相同时,bit_depth_minus8应与sps_bitdepth_minus8相同。
-另选地,如果ptl_present_flag等于1,则bit_depth_minus8应与vps_ols_dpb_bitdepth_minus8[output_layer_set_idx]相同,如ISO/IEC 23090-3中定义的。
-否则(即,如果上述限制均不适用),bit_depth_minus8不存在。
另外,例如,参照表6,语法元素numArrays可以指示所指示的类型的NAL单元阵列的数量。
另外,例如,参照表6,语法元素array_completeness可以指示流中是否存在附加NAL单元。例如,如果array_completeness等于1,则这可以指示给定类型的所有NAL单元被包括在后续(或下一)阵列中并且不被包括在所述流中。另外,例如,如果array_completeness等于0,则这可以指示所指示的类型的附加NAL单元可以被包括在所述流中。默认值和允许(或授权)值可以受样本条目名称限制(约束)。
另外,例如,参照表6,语法元素NAL_unit_type可以指示后续阵列中的NAL单元(其应包括全部类型)的类型。NAL_unit_type可以具有如ISO/IEC 23090-2中定义的值。另外,NAL_unit_type可以被限制为具有分别指示DCI、VPS、SPS、PPS、APS、前缀SEI或后缀SEI NAL单元的值之一。
另外,例如,参照表6,语法元素numNalus可以指示被包括在VVC解码器配置记录应用于的流的VVC解码器配置记录中的所指示的类型的NAL单元的数量。SEI阵列可以仅包括‘声明性’性质的SEI消息,即,提供关于整体(或整个)流的信息的消息。这种SEI的示例可以是用户数据SEI。
另外,例如,参照表6,语法元素nalUnitLength可以指示NAL单元的字节长度。
另外,例如,nalUnit可以包括DCI、VPS、SPS、PPS、APS或声明性SEI NAL单元,如ISO/IEC 23090-3中定义的。
此外,可以首先确定操作点,以便于从传递多层VVC比特流的多个轨道的样本重构访问单元。例如,当VVC比特流被表示为多个VVC轨道时,文件解析器可以识别如下所述选择的操作点所需的轨道。
例如,文件解析器可以找到具有VVC样本条目的所有轨道。在轨道包括针对相同ID的‘oref’轨道参考的情况下,对应ID可以被验证为VVC轨道或‘opeg’实体组。操作点可以从‘opeg’实体组或‘vopi’实体组中选择(其适合于解码容量和应用目的)。
在存在‘opeg’实体组的情况下,可以指示准确地指示所选操作点的轨道的集合。因此,VVC比特流可以从轨道集重构并且可以被解码。
另外,在不存在‘opeg’实体组的情况下(即,在存在‘vopi’样本组的情况下),可以从‘vopi’样本组和‘linf’样本组搜索解码所选的操作点所需的轨道的集合。
为了从传递VVC比特流的多个VVC轨道重构比特流,可能需要确定TemporalId的目标最高(或最大)值。在多个轨道包括访问单元的数据的情况下,可以基于样本解码时间执行轨道中的样本中的每一者的对齐(或阵列)。也就是说,可以在不考虑编辑列表的情况下使用时间-样本表。
当利用多个VVC轨道表示VVC比特流时,如果通过延长解码时间将轨道组合成单个流,则样本的解码时间可能需要具有如ISO/IEC 23090-3中给出的准确的访问单元顺序。此外,可以从根据隐式重构过程所需的轨道的每个样本重构访问单元序列,这将在下文中进行描述。例如,VVC比特流的隐式重构过程可以如下所述。
例如,在存在操作点信息样本组的情况下,可以基于如操作点信息和层信息样本组中所指示的传递的层和参考层来选择所需(或需要的)轨道。
另外,例如,在存在操作点实体组的情况下,可以基于OperatingPointGroupBox的信息选择所需(或需要的)轨道。
另外,例如,在VCL NAL单元重构包括TemporalId大于0的子层的比特流的情况下,同一层内的所有较低级别子层(即,具有包括较低TemporalId值的VCL NAL单元的子层)可以被包括在所得比特流中,并且可以相应地选择所需轨道。
另外,例如,在访问单元被重构的情况下,可以根据来自具有相同解码时间的样本的nuh_layer_id值的递增顺序将图片单元(在ISO/IEC 23090-3中调节)指派给访问单元。
另外,例如,在访问单元通过使用依赖层而重构并且max_tid_il_ref_pics_plus1大于0的情况下,同一层内的TemporalId值小于或等于max_tid_il_ref_pics_plus1-1(在操作点信息样本组中指示)的VCL NAL单元的层的子层也可以被包括在所得比特流中,并且可以相应地选择所需轨道。
另外,例如,在VVC轨道包括‘subp’轨道参考的情况下,每个图片单元可以如ISO/IEC 23090-3的第11.7.3节中给出的方式以及对EOS和EOB NAL单元的附加限制(或限制)(这将在下面给出)重构。可以根据nuh_layer_id的递增顺序针对目标操作点的每个层重复在ISO/IEC 23090-3的第11.7.3节中描述的过程。否则,可以如下所述重构每个图片单元。
可以根据解码时间的递增顺序将重构后的访问单元指派给VVC比特流,并且如下文另外描述,可以从VVC比特流移除比特流结尾(EOB)和序列结尾(EOS)NAL单元的副本。
另外,例如,针对存在于VVC比特流的同一编码视频序列中并且属于存储于多个轨道中的不同子层的访问单元,可以存在一个或更多个轨道,其中,一个或更多个轨道包括在样本中的每一者中具有特定nuh_layer_id的EOS NAL单元。在这种情况下,可以在最终重构后的比特流中的访问单元当中的最后访问单元(具有最大解码时间的单元)中仅维持EOSNAL单元中的一者,并且可以在除了访问单元当中的最后访问单元的EOB NAL单元(如果存在)之外的所有NAL单元之后仅指派一个EOS NAL单元,并且可以删除其它EOS NAL单元。类似地,包括EOB NAL单元的一个或更多个轨道可以存在于每个样本中。在这种情况下,在EOBNAL单元当中,仅一个EOB NAL单元可以维持于最终重构的比特流中并且可以被指派给这种访问单元的最后端,并且可以删除其它EOB NAL单元。
另外,例如,由于特定层或子层可以由一个或更多个轨道表示,所以当搜索操作点的所需轨道时,可能需要从全部传递特定层或子层的轨道的集合中选择轨道。
另外,例如,在不存在操作点实体组的情况下,在从传递同一层或子层的轨道中选择轨道之后,所需的最终轨道可以共同地传递仍然不属于目标操作点的层或子层的一部分。虽然针对目标操作点重构的比特流是由最终所需轨道传递的,但是可以不包括不属于目标操作点的层或子层。
此外,根据本公开,为了高效处理,可以支持基于区域的独立处理。为此,可以提取和/或处理特定区域,以配置独立的比特流,并且可以针对特定区域提取和/或处理形成(或配置)文件格式。在这种情况下,可以发信号通知所提取的区域的圆坐标信息,以在接收端支持高效的图像区域解码和渲染。在下文中,输入图像的独立处理所支持的区域可以称为子图片。例如,子图片可以用于诸如VR或AR的360度视频/图像内容。然而,子图片将不限于此。例如,在360度视频/图像内容中,用户看到(或观看)的部分可能不是306度视频/图像内容的全部(或整体),而是可以仅是该内容的一部分。子图片可以用于独立地处理用户观看的360度视频/图像内容的与内容的其它部分分开的部分。输入图像可以在编码之前被拆分成子图片序列,并且每个子图片序列可以覆盖360度视频/图像内容的空间区域的子集。每个子图片序列可以被独立地编码和输出为单层比特流。每个子图片比特流可以基于单个轨道被封装在文件内,或者可以被流传输。在这种情况下,接收设备可以对覆盖整个区域的轨道进行解码和渲染,或者可以选择与特定子图片相关的轨道,然后可以对所选子图片进行解码和渲染。在下文中,将详细描述VVC标准中使用的子图片的概念和特性。
VVC中使用的子图片可以称为VVC子图片。VVC子图片可以是包括图片中的一个或更多个切片的矩形区域。也就是说,子图片可以包括覆盖图片的矩形区域的一个或更多个切片。VVC子图片可以包括一个或更多个完整图块或一个图块的一部分。编码器可以将子图片的边界视为与图片的边界相同并且可以不使用跨子图片边界的环路滤波。因此,可以从VVC比特流提取所选子图片,或者对子图片进行编码,使得其可以与目的地VVC比特流集成。另外,可以在不修改(或校正)VCL NAL单元的情况下执行这种VVC比特流提取或集成过程。可以通过SPS或PPS标记比特流中存在的子图片的子图片标识符(ID)。在下文中,为了简单起见,可以从VVC子图片、VVC轨道、VVC子图片轨道等中省略‘VVC’。
此外,上述媒体文件可以被包括在轨道中。也就是说,包括视频/图像数据的比特流可以存储在上述轨道中,从而形成(或配置)媒体文件。轨道的类型,更具体地,用于传输VVC基本流的轨道的类型如下表所示。
[表7]
Figure BDA0004175553160000371
Figure BDA0004175553160000381
a)VVC轨道:
VVC轨道可以通过在VVC轨道的样本和/或样本条目中包括NAL单元、通过参考包括另一VVC比特流的子层的VVC轨道或通过参考VVC子图片轨道来表示VVC比特流。在VVC轨道参考VVC子图片轨道的情况下,VVC轨道可以称为VVC基本轨道。
b)VVC非VCL轨道
传输ALF、LMCS或缩放列表参数的APS和其它非VCL NAL单元可以通过与包括VCLNAL单元的轨道不同的轨道来存储和发送。该轨道是VVC非VCL轨道。
c)VVC子图片轨道
1)子图片轨道包括以下之一:
1-1)一个或更多个VVC子图片的序列
1-2)形成矩形区域的一个或更多个完整的切片序列
2)子图片轨道的样本包括以下之一:
2-1)在ISO/IEC 23090-3中指定的并且具有连续的解码顺序的一个或更多个完整子图片
2-2)在ISO/IEC 23090-3中指定的、具有连续解码顺序并形成矩形区域的一个或更多个完整切片
VVC子图片轨道或被包括在VVC子图片轨道的随机样本中的切片可以按解码顺序连续。
VVC非VCL轨道和VVC子图片轨道可以如下所述优选地在流传输应用内传递VVC视频。轨道可以各自以其自身的DASH表示来传输(或承载),其中,包括用于解码和渲染轨道的子集的VVC子图片的子集的DASH表示和包括非VCL轨道的DASH表示可以由客户端针对每个段请求。通过使用该方法,可以防止APS和其它非VCLNAL单元的冗余传输。
从参考VVC子图片轨道的VVC轨道中的样本重构图片单元的方法可以如下所述。
VVC轨道的样本可以根据下表中所示的顺序被分解为包括以下NAL单元的访问单元。
[表8]
Figure BDA0004175553160000391
Figure BDA0004175553160000401
-当AUD NAL单元(如果有的话)存在于(或位于)样本中时(并且当是第一NAL单元时)的AUD NAL单元
-当样本是与同一样本条目相关联的样本序列中的第一样本时,包括在样本条目中的参数集和SEI NAL单元(如果有的话)
-存在于高达PH NAL单元并且包括PH NAL单元的样本中的NAL单元(如果有的话)
-根据由映射到样本的‘spor’样本组描述条目给出的顺序来自每个参考的VVC子图片轨道的时间对齐的分解样本(按照解码时间时间对齐)(如果有的话)的内容,其中排除了所有VPS、DCI、SPS、PPS、AUD、PH、EOS和EOB NAL单元。轨道参考可以如下所述来分解。当正参考的VVC子图片轨道与VVC非VCL轨道相关联时,VVC子图片轨道的分解样本包括在VVC非VCL轨道中时间对齐的非VCL单元(如果有的话)。
-样本中的PH NAL单元之后的NAL单元。样本中的PH NAL单元之后的NAL单元可以包括后缀SEI NAL单元、后缀APS NAL单元、EOS NAL单元、EOB NAL单元或在最后VCLNAL单元之后授权的保留NAL单元。
此外,‘spor’样本组描述条目的‘subp’轨道参考索引可以如下表所示分解。
[表9]
Figure BDA0004175553160000402
Figure BDA0004175553160000411
-在轨道参考指示VVC子图片轨道的轨道ID的情况下,轨道参考可以被分解到VVC子图片轨道。
-在其它情况下,即,在轨道参考指示‘alte’轨道组的情况下,轨道参考可以被分解到‘alte’轨道组的随机轨道。在特定轨道参考索引值被分解到先前样本的特定样本的情况下,应将对应值分解到当前样本中的以下各项中的一者:
-同一特定轨道,以及
-包括与当前样本时间对齐的sync样本的‘alte’轨道组中的另一随机轨道。
为了避免发生解码不匹配,‘alte’轨道中的VVC子图片轨道应当与同一VVC基本轨道参考的所有其它VVC子图片轨道都是强制独立的,并且可以被如下限制:
-所有VVC子图片轨道应包括VVC子图片。
-子图片的边界(或多个边界)应与图片的边界(或多个边界)相同。
-环路滤波应跨子图片的边界(或多个边界)关闭。也就是说,可以不在子图片边界(或多个边界)附近执行环路滤波。
此外,当读取器进行初始选择时,或者当用户选择包括具有与先前选择不同的子图片ID值的集合的VVC子图片的VVC子图片轨道时,可以如下表所示地执行以下步骤。
[表10]
Figure BDA0004175553160000412
Figure BDA0004175553160000421
-为了确定是否需要改变PPS或SPS NAL单元,可以研究‘spor’样本组描述条目。SPS改变可以仅在CLVS的起始点处是可能的。
-在‘spor’样本组描述条目指示起始码仿真防止字节存在于包括该字节的NAL单元的子图片ID内或之前的情况下,可以从NAL单元推导RBSP(即,可以移除起始码仿真防止字节)。在下一阶段中执行覆盖之后,可以再次执行起始码仿真防止。
-读取器可以使用‘spor’样本组描述条目内的比特位置和子图片ID长度信息,以便于确定将用于覆盖以将子图片ID更新为所选子图片ID的比特。
-在最初选择PPS或SPS的子图片ID值的情况下,读取器可能需要用已在重构后的访问单元中选择的子图片ID值来重写PPS或SPS。
-当PPS或SPS的子图片ID值在执行同一PPS ID值或SPS ID值与(每一个)先前PPSID值或SPS ID值之间的比较之后改变时,读取器应包括先前PPS和SPS的副本,并且(每一个)PPS和SPS可能需要重写到在重构后的访问单元中更新的子图片ID值。
此外,如下所述,可能发生与上述轨道、子图片和切片相关的以下问题(或事项)。
在ISOBMFF中,用于传输VVC的当前规范准许(或允许)子图片轨道包括如ISO/IEC23090-3(或VVC)中指定的一个或更多个完整切片,其按照解码顺序是连续的并且配置(或形成)矩形区域。在本文中,尽管子图片轨道包括一个或更多个完整切片,但是允许包括在一个子图片中的并非所有切片的情况的有用性是不清楚的。也就是说,尽管子图片轨道包括切片,但如果并非所有切片被包括在一个子图片中,则除非所述切片始终由VVC基本轨道(该VVC基本轨道还参考包括同一子图片的剩余切片的其它子图片轨道)参考,否则轨道变得无用。
因此,本公开提出了针对上述问题的以下解决方案。所提出的实施方式可以单独地或组合地应用。
1.子图片可以限于包括一个或更多个子图片中的所有切片,如ISO/IEC 23090-3中所指定的。
2.作为一种另选方案,如果一个子图片中不包括所有切片,则即使子图片轨道包括一个或更多个切片,也可以应用以下所有条件:
a)子图片轨道内的所有切片可以属于同一子图片。
b)参考子图片轨道的所有VVC基本轨道还参考包括同一子图片的剩余切片的子图片轨道。
在下文中,将更详细地描述上述解决方案。
根据本公开中提出的一个实施方式,VVC子图片轨道可以仅限于一个或更多个VVC子图片。也就是说,根据上述表1,VVC子图片轨道被设计为包括形成矩形区域的一个或更多个VVC子图片的序列或一个或更多个完整切片序列。根据本实施方式,可以排除VVC子图片轨道包括形成矩形区域的一个或更多个完整切片序列的情况。
另外,VVC子图片轨道的样本可以被限制为仅包括如ISO/IEC 23090-3中指定的具有连续解码顺序的一个或更多个完整子图片。也就是说,根据上述表1,VVC子图片轨道被设计为包括如ISO/IEC 23090-3中指定的具有连续解码顺序的一个或更多个完整子图片,或者如ISO/IEC 23090-3中指定的具有连续解码顺序并形成矩形区域的一个或更多个完整切片。根据本实施方式,可以排除VVC子图片轨道包括如ISO/IEC 23090-3中指定的具有连续解码顺序并形成矩形区域的一个或更多个完整切片序列的情况。
在应用本实施方式的情况下,子图片轨道可以被配置为始终仅包括一个或更多个完整子图片。因此,这具有防止出现上述问题的效果,即,允许子图片轨道包括一个或更多个完整切片但不包括一个子图片内的所有切片的情况。另外,在应用本实施方式的情况下,可能有利的是,VVC子图片轨道、VVC子图片和VVC子图片内的切片之间的关系可以变得简单且清楚。
总之,根据本公开的一个实施方式,VVC子图片轨道可以例如如下表所示。
[表11]
Figure BDA0004175553160000441
根据本公开提出的另一实施方式,在允许VVC子图片轨道包括一个或更多个完整切片但不包括一个子图片中的所有切片的情况下,可以应用以下所有项:
-子图片轨道内的所有切片应属于同一子图片。
-参考子图片轨道的所有VVC基本轨道还应当参考包括同一子图片的剩余切片的子图片轨道。
在应用本实施方式的情况下,在子图片轨道包括一个或更多个完整切片但不包括一个图片中的所有切片的情况下,通过限制配置使得子图片轨道中的所有切片属于同一子图片,并且使得参考子图片轨道的所有VVC基本轨道还参考包括同一子图片的剩余切片的子图片轨道,这具有解决上述问题的有利效果。也就是说,即使子图片轨道包括切片,但在切片并非全部包括在一个子图片中的情况下,这可以具有防止以下情况的有利效果:切片未始终由同一VVC基本轨道参考,其还参考包括同一子图片的剩余切片的其它子图片轨道,这接着导致轨道变得无用。另外,在应用本实施方式的情况下,可能有利的是,VVC子图片轨道、VVC子图片和VVC子图片内的切片之间的关系可以变得简单且清楚。
总之,根据本公开的一个实施方式,VVC子图片轨道可以例如如下表所示。
[表12]
Figure BDA0004175553160000442
Figure BDA0004175553160000451
图8示出了应用本公开提出的实施方式的生成媒体文件的方法的示例。
图8的过程可以由第一设备执行。第一设备例如可以包括发送端、编码端、媒体文件生成端等。然而,第一设备将不限于此。
参照图8,第一设备可以形成(或配置)子图片轨道(S800)。如上所述,子图片轨道可以包括形成矩形区域的一个或更多个VVC子图片的序列或一个或更多个完整切片的序列。换句话说,形成矩形区域的一个或更多个VVC子图片的序列或一个或更多个完整切片的序列可以存储在子图片轨道中,然后可以被传递。
在形成子图片轨道之后,第一设备可以基于子图片轨道生成媒体文件(S810)。
图9示出了对通过应用本公开提出的实施方式而生成的媒体文件进行处理的方法的示例。
图9的过程可以由第二设备执行。第二设备例如可以包括接收端、解码端、渲染端等。然而,第二设备将不限于此。
参照图9,第二设备可以获得/接收包括子图片轨道的媒体文件(S900)。媒体文件可以是第一设备生成的媒体文件。媒体文件可以包括上述框和轨道,并且包括视频/图像数据的比特流可以存储在媒体文件内的框和轨道二者中。轨道可以包括上述VVC轨道、VVC非VCL轨道或VVC子图片轨道等。
第二设备可以解析/获得子图片轨道(S910)。第二设备可以解析/获得包括在媒体文件中的子图片轨道。例如,第二设备可以通过使用存储在子图片轨道中的视频/图像数据来再现视频/图像。
由第一设备生成并由第二设备获得/接收的媒体文件可以包括上述(VVC)子图片轨道。基于子图片轨道,第二设备可以推导子图片内的一个或更多个子图片或一个或更多个切片。可以基于切片或子图片执行视频/图像解码。
图10示出了根据本公开的由用于生成媒体文件的设备执行的生成媒体文件的方法的整体视图。图10中公开的方法可以由在图11中公开的用于生成媒体文件的设备(或媒体文件生成设备)来执行。媒体文件生成设备可以表示上述第一设备。更具体地,例如,图10的S1000至S1010可以由媒体文件生成设备的图像处理器执行,并且S1020可以由媒体文件生成设备的媒体文件生成器执行。另外,虽然图中未示出,但是对包括图像信息的比特流进行编码的过程可以由媒体文件生成设备的编码器执行。
媒体文件生成设备可以形成(或配置)子图片轨道(S1000)。例如,在S1000形成的子图片轨道可以包括VVC子图片轨道。例如,子图片轨道可以包括一个或更多个(VVC)子图片的序列或一个或更多个完整切片的序列。换句话说,一个或更多个(VVC)子图片的序列或一个或更多个完整切片的序列可以存储在子图片轨道中,然后可以被传递。一个或更多个完整切片的序列可以形成矩形区域。
例如,子图片轨道的样本可以包括如ISO/IEC 23090-3中指定的一个或更多个完整子图片,或如ISO/IEC 23090-3中指定的一个或更多个完整切片。一个或更多个完整子图片可以具有连续解码顺序。一个或更多个完整切片可以形成矩形区域。另外,一个或更多个完整切片也可以具有连续解码顺序。
例如,媒体文件生成设备可以通过网络或(数字)存储介质获得编码后的图像信息。在本文中,网络可以包括广播网络和/或通信网络,并且数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。另选地,例如,媒体文件生成设备可以包括编码器,并且可以推导编码后的图像信息。
媒体文件生成设备可以形成(或配置)基本轨道(S1010)。在步骤S1010形成的基本轨道可以例如包括VVC基本轨道。VVC基本轨道可以是VVC轨道参考子图片的情况的VVC轨道。也就是说,当VVC轨道参考VVC子图片轨道时,VVC轨道可以称为VVC基本轨道。
根据一个实施方式,在步骤S1000形成的子图片轨道可以包括多个子图片轨道。例如,子图片轨道可以包括第一子图片轨道以及一个或更多个第二子图片轨道。第一子图片轨道可以包括一个或更多个切片,其中,在一个或更多个切片不是子图片的所有切片的情况下,第一子图片轨道的所有切片被包括在与对应子图片相同的子图片中,并且参考第一子图片轨道的基本轨道可以参考包括同一子图片的剩余切片的一个或更多个第二子图片轨道。
更具体地,根据一个实施方式,子图片可以包括第一切片和第二切片。也就是说,子图片可以由第一切片和第二切片形成。更具体地,子图片可以由第一切片和与在排除第一切片之后剩余的剩余切片相对应的第二切片形成。换句话说,第二切片可以是在排除第一切片之后剩余的切片。
可能存在第一子图片轨道包括第一切片但不包括第二切片的情况。如上文所描述的,当第一子图片轨道包括第一切片时,第一子图片内的所有切片可以形成(或配置)同一子图片,并且参考第一子图片轨道的基本轨道可以参考一个或更多个第二子图片轨道,其中,一个或更多个第二子图片轨道可以包括第二切片。
换句话说,即使在特定子图片轨道仅包括一个子图片的一部分切片而不是所有切片的情况下,上述问题也可以通过设置限制(或约束)来解决,使得子图片的剩余切片被包括在也由参考特定子图片轨道的基本轨道参考的另一子图片轨道中。
根据一个实施方式,子图片轨道中的每个子图片轨道可以包括一个或更多个子图片或一个或更多个切片。在本文中,一个或更多个切片可以形成矩形区域。因此,当子图片轨道中的每个子图片轨道包括一个或更多个切片时,包括在子图片轨道中的每个子图片轨道中的一个或更多个切片可以形成矩形区域。
根据一个实施方式,子图片轨道中的每个子图片轨道可以包括一个或更多个子图片,其中,可以不包括一个或更多个切片。在本文中,一个或更多个切片可以形成子图片的一部分。通过排除子图片轨道仅包括子图片的一部分的情况,即,子图片轨道包括仅形成(或配置)子图片的一部分的切片的情况,可以解决上述问题。在这种情况下,子图片轨道中的每个子图片轨道可以如上文在表11中呈现。
根据一个实施方式,子图片轨道的样本可以包括一个或更多个完整子图片或一个或更多个完整切片。在本文中,一个或更多个完整切片可以形成矩形区域。因此,在子图片轨道的样本包括一个或更多个完整切片的情况下,包括在子图片轨道的样本中的一个或更多个完整切片可以形成矩形区域。一个或更多个完整子图片可以按解码顺序连续。一个或更多个完整切片可以按解码顺序连续。
根据一个实施方式,子图片轨道的样本可以包括一个或更多个完整子图片,其中,子图片轨道的样本可以不包括一个或更多个完整切片。在本文中,一个或更多个完整切片可以形成子图片的一部分。通过排除子图片轨道的样本仅包括完整子图片的一部分的情况,即,子图片轨道的样本包括仅形成(或配置)完整子图片的一部分的完整切片的情况,可以解决上述问题。在这种情况下,子图片轨道的样本可以如上文在表11中呈现。
在通过使用上述方法形成子图片轨道和基本轨道之后,媒体文件生成设备可以基于子图片轨道生成媒体文件(S1020)。
此外,虽然图中未示出,但是媒体文件生成设备可以将所生成的媒体文件存储在(数字)存储介质中,或者可以通过网络或(数字)存储介质将所生成的媒体文件传递至媒体文件处理设备。在本文中,网络可以包括广播网络和/或通信网络,数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。
图11示出了根据本公开的执行生成媒体文件的方法的、用于生成媒体文件的设备的整体视图。图10中公开的方法可以由用于在图11中公开的生成媒体文件的设备(或媒体文件生成设备)来执行。更具体地,例如,图11的媒体文件生成设备的图像处理器可以执行图10的S1000至S1010,并且图11的媒体文件生成设备的媒体文件生成器可以执行S1020。另外,虽然图中未示出,但是对包括图像信息的比特流进行编码的过程可以由媒体文件生成设备的编码器执行。
图12示出了根据本公开的由用于处理媒体文件的设备执行的处理媒体文件的方法的整体视图。图12中公开的方法可以由在图13中公开的用于处理媒体文件的设备(或媒体文件处理设备)来执行。媒体文件处理设备可以表示上述第二设备。更具体地,例如,图12的S1200可以由媒体文件处理设备的接收器执行,并且S1210和S1220可以由媒体文件处理设备的媒体文件处理器执行。另外,虽然图中未示出,但是基于解码器配置记录对比特流进行解码的过程可以由媒体文件生成设备的编码器来执行。
媒体文件处理设备获得包括子图片轨道和基本轨道的媒体文件(S1200)。例如,媒体文件处理设备可以通过网络或者(数字)存储介质获得包括子图片轨道和基本轨道的媒体文件。在本文中,网络可以包括广播网络和/或通信网络,数字存储介质可以包括诸如USB、SD、CD、DVD、蓝光、HDD、SSD等的各种存储介质。
媒体文件处理设备对子图片轨道进行解析(S1210)。例如,媒体文件处理设备可以解析/推导子图片轨道。
在S1210解析的子图片轨道可以例如包括VVC子图片轨道。例如,子图片轨道可以包括一个或更多个VVC子图片的序列或一个或更多个完整切片的序列。换句话说,一个或更多个VVC子图片的序列或一个或更多个完整切片的序列可以通过子图片轨道被传递。一个或更多个完整切片的序列可以形成矩形区域。
例如,子图片轨道的样本可以包括如ISO/IEC 23090-3中指定的一个或更多个完整子图片,或如ISO/IEC 23090-3中指定的一个或更多个完整切片。一个或更多个完整子图片可以具有连续解码顺序。一个或更多个完整切片可以形成矩形区域。另外,一个或更多个完整切片也可以具有连续解码顺序。
媒体文件处理设备对基本轨道进行解析(S1220)。例如,媒体文件处理设备可以解析/推导基本轨道。在S1220解析的基本轨道可以例如包括VVC基本轨道。VVC基本轨道可以是VVC轨道参考子图片的情况的VVC轨道。也就是说,当VVC轨道参考VVC子图片轨道时,VVC轨道可以称为VVC基本轨道。
根据一个实施方式,在S1210解析的子图片轨道可以包括多个子图片轨道。例如,子图片轨道可以包括第一子图片轨道以及一个或更多个第二子图片轨道。第一子图片轨道可以包括一个或更多个切片,其中,在一个或更多个切片不是子图片的所有切片的情况下,第一子图片轨道的所有切片被包括在与对应子图片相同的子图片中,并且参考第一子图片轨道的基本轨道可以参考包括同一子图片的剩余切片的一个或更多个第二子图片轨道。
更具体地,根据一个实施方式,子图片可以包括第一切片和第二切片。也就是说,子图片可以由第一切片和第二切片形成。更具体地,子图片可以由与在排除第一切片和第二切片之后剩余的剩余切片相对应的第二切片形成。换句话说,第二切片可以是在排除第一切片之后剩余的切片。
可能存在第一子图片轨道包括第一切片但不包括第二切片的情况。如上文所描述的,当第一子图片轨道包括第一切片时,第一子图片内的所有切片可以形成(或配置)同一子图片,并且参考第一子图片轨道的基本轨道可以参考一个或更多个第二子图片轨道,其中,一个或更多个第二子图片轨道可以包括第二切片。
换句话说,即使在特定子图片轨道仅包括一个子图片的切片的一部分而不是所有切片的情况下,上述问题也可以通过设置限制(或约束)来解决,使得子图片的剩余切片被包括在也由参考特定子图片轨道的基本轨道参考的另一子图片轨道中。
根据一个实施方式,子图片轨道中的每个子图片轨道可以包括一个或更多个子图片或一个或更多个切片。在本文中,一个或更多个切片可以形成矩形区域。因此,当子图片轨道中的每个子图片轨道包括一个或更多个切片时,子图片轨道中的每个子图片轨道中包括的一个或更多个切片可以形成矩形区域。
根据一个实施方式,子图片轨道中的每个子图片轨道可以包括一个或更多个子图片,其中,可以不包括一个或更多个切片。在本文中,一个或更多个切片可以形成子图片的一部分。通过排除子图片轨道仅包括子图片的一部分的情况,即,子图片轨道包括仅形成(或配置)子图片的一部分的切片的情况,可以解决上述问题。在这种情况下,子图片轨道中的每个子图片轨道可以如上文在表11中呈现。
根据一个实施方式,子图片轨道的样本可以包括一个或更多个完整子图片或一个或更多个完整切片。在本文中,一个或更多个完整切片可以形成矩形区域。因此,在子图片轨道的样本包括一个或更多个完整切片的情况下,包括在子图片轨道的样本中的一个或更多个完整切片可以形成矩形区域。一个或更多个完整子图片可以按解码顺序连续。一个或更多个完整切片可以按解码顺序连续。
根据一个实施方式,子图片轨道的样本可以包括一个或更多个完整子图片,其中,子图片轨道的样本可以不包括一个或更多个完整切片。在本文中,一个或更多个完整切片可以形成子图片的一部分。通过排除子图片轨道的样本仅包括完整子图片的一部分的情况,即,子图片轨道的样本包括仅形成(或配置)完整子图片的一部分的完整切片的情况,可以解决上述问题。在这种情况下,子图片轨道的样本可以如上文在表11中呈现。
此外,尽管在附图中未示出,但是媒体文件处理设备可以基于子图片轨道和基本轨道对比特流进行解码。例如,媒体文件处理设备可以基于子图片轨道和基本轨道对子图片的比特流中的图像信息进行解码,并且可以基于图像信息生成重构后的图片。
图13示出了根据本公开的执行处理媒体文件的方法的、用于处理媒体文件的设备的整体视图。图12中公开的方法可以由在图13中公开的用于处理媒体文件的设备(或媒体文件处理设备)来执行。更具体地,例如,图13的媒体文件处理设备的接收器可以执行图12的S1200,并且图13的媒体文件处理设备的媒体文件处理器可以执行图12的S1210和S1220。此外,虽然图中未示出,但是媒体文件处理设备可以包括解码器,解码器可以基于子图片轨道和基本轨道对比特流进行解码。
根据本公开的上述实施方式,子图片轨道可以始终包括一个或更多个完整子图片。因此,这具有防止发生上述问题的效果,即,允许子图片轨道包括一个或更多个完整切片但不包括一个子图片内的所有切片的情况。另外,在应用本实施方式的情况下,可能有利的是,VVC子图片轨道、VVC子图片和VVC子图片内的切片之间的关系可以变得简单且清楚。
根据本公开的上述其它实施方式,在子图片轨道包括一个或更多个完整切片但不包括一个图片中的所有切片的情况下,通过限制配置使得子图片轨道中的所有切片属于同一子图片,并且使得参考子图片轨道的所有VVC基本轨道还参考包括同一子图片的剩余切片的子图片轨道,这具有解决上述问题的有利效果。也就是说,即使子图片轨道包括切片,但在切片并非全部包括在一个子图片中的情况下,这可以具有防止以下情况的有利效果:切片不总是由同一VVC基本轨道参考,其还参考包括同一子图片的剩余切片的其它子图片轨道,这接着导致轨道变得无用。另外,在应用本实施方式的情况下,可能有利的是,VVC子图片轨道、VVC子图片和VVC子图片内的切片之间的关系可以变得简单且清楚。
在上述实施方式中,借助于一系列步骤或块在流程图的基础上解释方法,但是本公开不限于该步骤顺序,并且可以按照与上述顺序或步骤不同的顺序或步骤来执行特定步骤,或者与另一步骤同时执行。此外,本领域普通技术人员可以理解,流程图中示出的步骤不是排他性的,并且可以并入另一步骤,或者可以移除流程图的一个或更多个步骤,而不影响本公开的范围。
本文档中描述的实施方式可以在处理器、微处理器、控制器或芯片上实现和执行。例如,每个图中所示的功能部件可以在计算机、处理器、微处理器、控制器或芯片上实现和执行。在这种情况下,用于实现的信息(例如,关于指令的信息)或算法可以存储在数字存储介质中。
此外,本文档适用于的设备可以被包括在多媒体广播发送和接收设备、移动通信终端、家庭影院视频设备、数字影院视频设备、监控摄像头、视频聊天设备、诸如视频通信的实时通信设备、移动流传输设备、存储介质、便携式摄像机、视频点播(VoD)服务提供设备、顶置(OTT)视频设备、互联网流传输服务提供设备、三维(3D)视频设备、视频电话设备、运输工具终端(例如,车载终端、飞机终端或轮船终端)和医疗视频设备中;并且可以被用于处理视频信号或数据信号。例如,顶置(OTT)视频设备可以包括游戏控制台、蓝光播放器、联网TV、家庭影院系统、智能手机、平板PC和数字视频记录仪(DVR)。
此外,本文档适用于的处理方法可以由计算机执行的程序的形式产生,并且可以存储在计算机可读记录介质中。具有根据本文档的数据结构的多媒体数据也可以存储在计算机可读记录介质中。计算机可读记录介质包括存储有计算机可读数据的所有类型的存储设备。例如,计算机可读记录介质可以包括蓝光光盘(BD)、通用串行总线(USB)、ROM、PROM、EPROM、EEPROM、RAM、CD-ROM、磁带、软盘和光学数据存储设备。此外,计算机可读记录介质包括以载波形式实现的介质(例如,通过互联网的传输)。此外,使用编码方法生成的比特流可以存储在计算机可读记录介质中,或者可以通过有线和无线通信网络发送。
此外,本文档的实施方式可以被实现为使用程序代码的计算机程序产品。程序代码可以由根据本文档的实施方式的计算机执行。程序代码可以存储在计算机可读的载体上。
图14例示了可以应用本文档中公开的实施方式的内容流传输系统的示例。
应用本公开的实施方式的内容流传输系统可以基本上包括编码服务器、流传输服务器、网络服务器、媒体存储器、用户设备和多媒体输入设备。
编码服务器将从诸如智能电话、照相机、便携式摄像机等的多媒体输入设备输入的内容压缩为数字数据,以生成比特流,并且将该比特流发送至流传输服务器。作为另一示例,在诸如智能电话、照相机、便携式摄像机等的多媒体输入设备直接生成比特流的情况下,可以省略编码服务器。
可以通过本文档的实施方式应用于的编码方法或比特流生成方法来生成比特流。并且流传输服务器可以在发送或接收比特流的过程中暂时存储比特流。
流传输服务器基于用户的请求通过网络服务器向用户设备发送多媒体数据,该网络服务器充当向用户通知存在什么服务的介质。当用户从网络服务器请求想要的服务时,网络服务器将请求转移至流传输服务器,并且流传输服务器将多媒体数据发送至用户。在这种情况中,内容流传输系统可以包括单独的控制服务器。在这种情况下,控制服务器用来控制内容流系统中的各个设备之间的命令/响应。
流传输服务器可以从媒体存储器和/或编码服务器接收内容。例如,在从编码服务器接收内容的情况下,可以实时地接收内容。在这种情况下,为了提供流畅的流传输服务,流传输服务器可以将比特流存储预定时间。
用户设备的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航、板式PC、平板PC、超薄本、可穿戴设备(例如,智能手表、智能眼镜、头戴式显示器)、数字TV、台式计算机、数字标牌等。可以将内容流传输系统中的每个服务器作为分布式服务器操作,并且在这种情况下,可以分发从每个服务器接收的数据。
本文中描述的权利要求可以以各种方式组合。例如,本说明书的方法权利要求中的技术特征可以组合并实现为设备,并且本说明书的设备权利要求中的技术特征可以组合并实现为方法。另外,本说明书的方法权利要求中的技术特征和设备权利要求中的技术特征可以组合以实现为设备,并且本说明书的方法权利要求中的技术特征和设备权利要求中的技术特征可以组合以实现为方法。

Claims (14)

1.一种用于媒体文件生成的方法,所述方法包括以下步骤:
对子图片轨道进行配置,其中,所述子图片轨道中的每个子图片轨道包括一个或更多个子图片或一个或更多个切片中的一者;
对参考至少一个子图片轨道的基本轨道进行配置;以及
生成包括所述子图片轨道和所述基本轨道的媒体文件,
其中,所述子图片轨道包括第一子图片轨道以及一个或更多个第二子图片轨道,
其中,基于所述第一子图片轨道包括不等于子图片的所有切片的所述一个或更多个切片的情况,
所述第一子图片轨道中的所有切片属于同一子图片,并且
参考所述第一子图片轨道的所述基本轨道还参考包含所述同一子图片的剩余切片的所述一个或更多个第二子图片轨道。
2.根据权利要求1所述的方法,其中,所述子图片包括一个或更多个第一切片以及一个或更多个第二切片,
其中,所述一个或更多个第二切片是所述子图片的除了所述一个或更多个第一切片之外的剩余切片,
其中,基于所述第一子图片轨道包括所述一个或更多个第一切片的情况,
所述第一子图片轨道中的所有切片构成所述同一子图片,
参考所述第一子图片轨道的所述基本轨道还参考所述一个或更多个第二子图片轨道,其中,所述一个或更多个第二子图片轨道包括所述一个或更多个第二切片。
3.根据权利要求1所述的方法,其中,基于所述子图片轨道中的所述每个子图片轨道包括所述一个或更多个切片的情况,所述一个或更多个切片形成矩形区域。
4.根据权利要求1所述的方法,其中,所述子图片轨道中的所述每个子图片轨道包括除了所述一个或更多个切片之外的所述一个或更多个子图片,
其中,所述一个或更多个切片构成所述子图片的一部分。
5.根据权利要求1所述的方法,其中,所述子图片轨道的样本包括一个或更多个完整子图片或者一个或更多个完整切片中的一者。
6.根据权利要求5所述的方法,其中,基于所述子图片轨道的所述样本包括所述一个或更多个完整切片的情况,所述一个或更多个完整切片形成矩形区域。
7.根据权利要求5所述的方法,其中,所述子图片轨道的所述样本包括除了所述一个或更多个完整切片之外的所述一个或更多个完整子图片,
其中,所述一个或更多个完整切片构成所述子图片的一部分。
8.一种用于媒体文件处理的方法,所述方法包括以下步骤:
获得媒体文件,所述媒体文件包括子图片轨道和参考至少一个子图片轨道的基本轨道,其中,所述子图片轨道中的每个子图片轨道包括一个或更多个子图片或一个或更多个切片中的一者;
对所述子图片轨道进行解析;以及
对所述基本轨道进行解析,
其中,所述子图片轨道包括第一子图片轨道以及一个或更多个第二子图片轨道,
其中,基于所述第一子图片轨道包括不等于子图片的所有切片的所述一个或更多个切片的情况,
所述第一子图片轨道中的所有切片属于同一子图片,并且
参考所述第一子图片轨道的所述基本轨道还参考包含所述同一子图片的剩余切片的所述一个或更多个第二子图片轨道。
9.根据权利要求8所述的方法,其中,所述子图片包括一个或更多个第一切片以及一个或更多个第二切片,
其中,所述一个或更多个第二切片是所述子图片的除了所述一个或更多个第一切片之外的剩余切片,
其中,基于所述第一子图片轨道包括所述一个或更多个第一切片的情况,
所述第一子图片轨道中的所有切片构成所述同一子图片,
参考所述第一子图片轨道的所述基本轨道还参考所述一个或更多个第二子图片轨道,其中,所述一个或更多个第二子图片轨道包括所述一个或更多个第二切片。
10.根据权利要求8所述的方法,其中,基于所述子图片轨道中的所述每个子图片轨道包括所述一个或更多个切片的情况,所述一个或更多个切片形成矩形区域。
11.根据权利要求8所述的方法,其中,所述子图片轨道中的所述每个子图片轨道包括除了所述一个或更多个切片之外的所述一个或更多个子图片,
其中,所述一个或更多个切片构成所述子图片的一部分。
12.根据权利要求8所述的方法,其中,所述子图片轨道的样本包括一个或更多个完整子图片或一个或更多个完整切片中的一者。
13.根据权利要求12所述的方法,其中,基于所述子图片轨道的所述样本包括所述一个或更多个完整切片的情况,所述一个或更多个完整切片形成矩形区域。
14.根据权利要求12所述的方法,其中,所述子图片轨道的所述样本包括除了所述一个或更多个完整切片之外的所述一个或更多个完整子图片,
其中,所述一个或更多个完整切片构成所述子图片的一部分。
CN202180070112.2A 2020-09-24 2021-09-23 媒体文件处理方法和装置 Pending CN116406505A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063082480P 2020-09-24 2020-09-24
US63/082,480 2020-09-24
PCT/KR2021/012948 WO2022065872A1 (ko) 2020-09-24 2021-09-23 미디어 파일 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
CN116406505A true CN116406505A (zh) 2023-07-07

Family

ID=80845859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180070112.2A Pending CN116406505A (zh) 2020-09-24 2021-09-23 媒体文件处理方法和装置

Country Status (3)

Country Link
US (1) US20230362456A1 (zh)
CN (1) CN116406505A (zh)
WO (1) WO2022065872A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9955178B2 (en) * 2012-03-22 2018-04-24 Lg Electronics Inc. Method for encoding and decoding tiles and wavefront parallel processing and apparatus using same
US11062738B2 (en) * 2017-03-23 2021-07-13 Qualcomm Incorporated Signalling of video content including sub-picture bitstreams for video coding
GB2560921B (en) * 2017-03-27 2020-04-08 Canon Kk Method and apparatus for encoding media data comprising generated content
CN109587478B (zh) * 2017-09-29 2023-03-31 华为技术有限公司 一种媒体信息的处理方法及装置
CN111771379B (zh) * 2018-01-25 2022-10-11 弗劳恩霍夫应用研究促进协会 有效子图片提取

Also Published As

Publication number Publication date
US20230362456A1 (en) 2023-11-09
WO2022065872A1 (ko) 2022-03-31

Similar Documents

Publication Publication Date Title
JP6768907B2 (ja) メディアファイルの処理装置及び処理方法
KR102037009B1 (ko) 동작 포인트 디스크립터가 동적으로 설정될 수 있는 캡슐화된 비트-스트림으로부터 미디어 데이터 및 메타데이터를 획득하는 방법, 디바이스, 및 컴퓨터 프로그램
US20220201308A1 (en) Media file processing method and device therefor
US20240048768A1 (en) Method and apparatus for generating and processing media file
US20230336761A1 (en) Method for processing media file and device therefor
US20240056618A1 (en) Method and device for generating/receiving media file including nal unit array information, and method for transmitting media file
CN116134821A (zh) 用于在图像/视频编码系统中处理高级语法的方法和设备
EP4287624A1 (en) Media file processing method and device
US20230362456A1 (en) Media file processing method and device
EP4329303A1 (en) Media file processing method, and device therefor
US20230328261A1 (en) Media file processing method and device therefor
US20240040169A1 (en) Media file processing method and device therefor
US20240031622A1 (en) Media file processing method and device
US20230388508A1 (en) Method and device for generating media file
US20230345028A1 (en) Media file processing method and apparatus therefor
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
US20230319374A1 (en) Method and device for creating/receiving media file containing layer information, and media file transfer method
EP4266689A1 (en) Method and device for generating/receiving media file including nal unit information, 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
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
US20230336783A1 (en) Method and device for generating/receiving media file including output layer set information, and method for transmitting media file
EP4329315A1 (en) Method and device for generating/receiving media file on basis of eos sample group, and method for transmitting media file
CN117223290A (zh) 用于基于eos样本组生成/接收媒体文件的方法和设备以及用于发送媒体文件的方法

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