CN116868575A - 生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法 - Google Patents

生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法 Download PDF

Info

Publication number
CN116868575A
CN116868575A CN202180093370.2A CN202180093370A CN116868575A CN 116868575 A CN116868575 A CN 116868575A CN 202180093370 A CN202180093370 A CN 202180093370A CN 116868575 A CN116868575 A CN 116868575A
Authority
CN
China
Prior art keywords
information
nal unit
media file
decoder configuration
configuration record
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
CN202180093370.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 CN116868575A publication Critical patent/CN116868575A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • 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)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供了用于生成/接收包括NAL单元信息的媒体文件的方法和装置,并且提供了发送媒体文件的方法。根据本公开的用于接收媒体文件的方法包括以下步骤:从媒体文件内的解码器配置记录获取关于视频数据的网络抽象层(NAL)单元信息;以及基于NAL单元信息对视频数据进行处理,其中,NAL单元信息包括第一信息,该第一信息指示针对应用该解码器配置记录的流的具有在该解码器配置记录内指示的NAL单元类型的NAL单元的数量,并且基于所指示的NAL单元类型为预定非视频编码层(VCL)NAL单元类型,可以跳过获取第一信息的步骤。

Description

生成/接收包括NAL单元信息的媒体文件的方法和装置及发送 媒体文件的方法
技术领域
本公开涉及生成/接收包括NAL单元信息的媒体文件的方法和设备,并且更具体地,涉及能够通过防止遗漏必不可少的层信息来确保正确的样本重构的用于生成/接收媒体文件的方法和设备以及用于发送通过本公开的生成媒体文件的方法/设备生成的媒体文件的方法。
背景技术
近来,对诸如360度图像的高分辨率且高质量图像的需求正在增加。随着图像的分辨率或质量增加,文件大小或帧速率增加,这不可避免地增加了存储成本和传输成本。另外,随着诸如智能电话和平板PC的移动装置变得流行,对基于通信网络的多媒体服务的需求正在迅速增加。然而,存在用于多媒体服务的硬件和网络资源受到限制的问题。
因此,需要用于更有效地存储和发送图像数据的高效图像压缩和文件处理技术。
发明内容
技术问题
本公开的一个目的是提供生成/接收有效地对NAL单元信息进行编码/解码的媒体文件的方法和设备。
另外,本公开的一个目的是提供生成/接收不包括特定类型的NAL单元数量信息的媒体文件的方法和设备。
另外,本公开的一个目的是提供生成/接收限制特定类型的NAL单元数量信息值的媒体文件的方法和设备。
本公开的一个目的是提供一种发送通过根据本公开的媒体文件生成方法或设备生成的媒体文件的方法。
本公开的一个目的是提供一种存储通过根据本公开的媒体文件生成方法或设备生成的媒体文件的记录介质。
本公开的一个目的是提供一种存储通过根据本公开的媒体文件接收设备接收并用于重构图像的媒体文件的记录介质。
本公开所解决的技术问题不限于上述技术问题,本领域技术人员通过以下描述将清楚此处未描述的其它技术问题。
技术方案
根据本公开的一方面的媒体文件接收方法可以包括以下步骤:从媒体文件中的解码器配置记录获得视频数据的网络抽象层(NAL)单元信息,以及基于所述NAL单元信息,对所述视频数据进行处理。所述NAL单元信息可以包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且基于所指示的NAL单元类型为预定非视频编码层(非VCL)NAL单元类型,可以跳过获得所述第一信息的步骤。
根据本公开的另一方面的媒体文件接收设备可以包括存储器和至少一个处理器。所述至少一个处理器可以从媒体文件中的解码器配置记录获得视频数据的网络抽象层(NAL)单元信息以及基于所述NAL单元信息对所述视频数据进行处理。所述NAL单元信息可以包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且基于所指示的NAL单元类型为预定非视频编码层(非VCL)NAL单元类型,可以跳过获得所述第一信息的步骤。
根据本公开的另一方面的媒体文件生成方法可以包括以下步骤:对视频数据进行编码;生成包括经编码的视频数据的网络抽象层(NAL)单元信息的解码器配置记录;以及基于经编码的视频数据和所述解码器配置记录生成媒体文件。所述NAL单元信息可以包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且基于所指示的NAL单元类型为预定非视频编码层(非VCL)NAL单元类型,所述第一信息可以不被包括在所述解码器配置记录中。
根据本公开的另一方面的媒体文件生成设备可以包括存储器和至少一个处理器。所述至少一个处理器可以对视频数据进行编码、生成包括经编码的视频数据的网络抽象层(NAL)单元信息的解码器配置记录以及基于经编码的视频数据和所述解码器配置记录生成媒体文件。所述NAL单元信息可以包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且基于所指示的NAL单元类型为预定非视频编码层(非VCL)NAL单元类型,所述第一信息可以不被包括在所述解码器配置记录中。
在根据本公开的另一方面的媒体文件发送方法中,可以发送通过本公开的媒体文件生成方法或设备生成的媒体文件。
根据本公开的另一方面的计算机可读记录介质可以存储通过本公开的媒体文件生成方法或设备生成的媒体文件。
以上关于本公开的简要概述的特征仅仅是本公开的以下详细描述的示例性方面,并不限制本公开的范围。
有益效果
根据本公开,可以提供用于生成/接收有效地对NAL单元信息进行编码/解码的媒体文件的方法和设备。
根据本公开,可以提供用于生成/接收不包括特定类型的NAL单元数量信息的媒体文件的方法和设备。
根据本公开,可以提供用于生成/接收限制特定类型的NAL单元数量信息值的媒体文件的方法和设备。
根据本公开,可以提供一种发送通过根据本公开的媒体文件生成方法或设备生成的媒体文件的方法。
根据本公开,可以提供存储通过根据本公开的媒体文件生成方法或设备生成的媒体文件的记录介质。
根据本公开,可以提供存储通过根据本公开的媒体文件接收设备接收并且用于重构图像的媒体文件的记录介质。
本领域技术人员将理解,通过本公开可以实现的效果不限于上文具体描述的内容,并且根据详细描述将更清楚地理解本公开的其它优点。
附图说明
图1是示意性地例示根据本公开的实施方式的媒体文件发送/接收系统的图。
图2是例示媒体文件发送方法的流程图。
图3是例示媒体文件接收方法的流程图。
图4是示意性地例示根据本公开的实施方式的图像编码设备的图。
图5是示意性地例示根据本公开的实施方式的图像解码设备的图。
图6是例示针对经编码的图像/视频的层结构的示例的图。
图7是例示媒体文件结构的示例的图。
图8是例示图7的trak框结构的示例的图。
图9是例示图像信号结构的示例的图。
图10是例示用于用信号通知PTL记录的语法结构的图。
图11是例示用于用信号通知解码器配置记录的语法结构的图。
图12是例示根据本公开的实施方式的用于用信号通知解码器配置记录的语法结构的示例的图。
图13是例示根据本公开的实施方式的媒体文件生成方法的流程图。
图14是例示根据本公开的实施方式的媒体文件接收方法的流程图。
图15是例示本公开的实施方式可应用于的内容流传输系统的图。
具体实施方式
在下文中,将参照附图对本公开的实施方式进行详细描述,以易于本领域技术人员实现。然而,本公开可以以各种不同的形式实现,并且不限于本文描述的实施方式。
在描述本公开时,如果确定相关已知功能或构造的详细描述使本公开的范围不必要地含糊不清,则将省略其详细描述。在附图中,省略了与本公开的描述无关的部分,并且相似的附图标记被赋予相似的部分。
在本公开中,当一个组件“连接”、“联接”或“链接”到另一个组件时,它不仅可以包括直接连接关系,还可以包括存在中间组件的间接连接关系。另外,当一个组件“包括”或“具有”其它组件时,除非另有说明,否则其意指还可以包括其它组件,而不是排除其它组件。
在本公开中,术语第一、第二等仅用于将一个组件与其它组件区分开的目的,并且除非另有说明,否则不限制组件的顺序或重要性。相应地,在本公开的范围内,一个实施方式中的第一组件在另一个实施方式中可以被称为第二组件,类似地,一个实施方式中的第二组件在另一个实施方式中可以被称为第一组件。
在本公开中,相互区分的组件旨在清楚地描述每个特征,并不意味着组件必须分开。即,多个组件可以集成并实现为一个硬件或软件单元中,或者一个组件可以分布并实现为多个硬件或软件单元。因此,即使没有特别说明,这些组件集成或组件分布的实施方式也包括在本公开的范围内。
在本公开中,各个实施方式中所描述的组件并不一定是必不可少的组件,一些组件可以是可选的组件。因此,由实施方式中描述的组件的子集组成的实施方式也包括在本公开的范围内。另外,除了在各种实施方式中描述的组件之外还包括其它组件的实施方式包括在本公开的范围内。
本公开涉及图像的编码和解码,除非在本公开中重新定义,否则本公开中使用的术语可以具有本公开所属技术领域中常用的一般含义。
在本公开中,“画面”通常是指表示特定时间段内的一个图像的单元,并且切片(slice)/拼块(tile)是构成画面的一部分的编码单元,一个画面可以由一个或更多个切片/拼块组成。另外,切片/拼块可以包括一个或更多个编码树单元(CTU)。
在本公开中,“像素”或“像元(pel)”可以意指构成一个画面(或图像)的最小单元。此外,“样本”可以用作对应于像素的术语。一个样本一般可以表示像素或像素的值,也可以仅表示亮度分量的像素/像素值或仅表示色度分量的像素/像素值。
在本公开中,“单元”可以表示图像处理的基本单元。该单元可以包括画面的特定区域和与该区域相关的信息中的至少一个。在某些情况下,该单元可以与诸如“样本阵列”、“块”或“区域”的术语互换使用。在一般情况下,M×N块可以包括M列N行的样本(或样本阵列)或变换系数的集合(或阵列)。
在本公开中,“当前块”可以意指“当前编码块”、“当前编码单元”、“编码目标块”、“解码目标块”或“处理目标块”中的一个。当执行预测时,“当前块”可以意指“当前预测块”或“预测目标块”。当执行变换(逆变换)/量化(解量化)时,“当前块”可以意指“当前变换块”或“变换目标块”。当执行滤波时,“当前块”可以意指“滤波目标块”。
另外,在本公开中,除非明确说明为色度块,“当前块”可以意指包括亮度分量块和色度分量块二者的块或“当前块的亮度块”。当前块的亮度分量块可以通过包括诸如“亮度块”或“当前亮度块”的亮度分量块的明确描述来表示。另外,“当前块的色度分量块”可以通过包括诸如“色度块”或“当前色度块”的色度分量块的明确描述来表示。
在本公开中,术语“/”或“,”可以解释为指示“和/或”。例如,“A/B”和“A,B”可以意指“A和/或B”。此外,“A/B/C”和“A/B/C”可以意指“A、B和/或C中的至少一个”。
在本公开中,术语“或”应被解释以指示“和/或”。例如,表达“A或B”可以包括1)仅“A”,2)仅“B”,或3)“A和B”两者。换言之,在本公开中,“或”应被解释以指示“附加地或另选地”。
媒体文件发送/接收系统的概述
图1是示意性地例示根据本公开的实施方式的媒体文件发送/接收系统的图。
参照图1,媒体文件发送/接收系统1可以包括发送设备A和接收设备B。在一些实施方式中,媒体文件发送/接收系统1可以支持基于MPEG-DASH(HTTP动态自适应流传输)的自适应流传输,从而支持无缝媒体内容再现。
发送设备A可以包括视频源10、编码器20、封装单元30、发送处理器40和发送器45。
视频源10可以生成或获得诸如视频或图像的媒体数据。为此,视频源10可以包括视频/图像拍摄装置和/或视频/图像生成装置,或者可以连接至外部装置以接收媒体数据。
编码器20可以对从视频源10接收的媒体数据进行编码。编码器20可以根据针对压缩和编码效率的视频编解码器标准(例如,通用视频编码(VVC)标准)执行诸如预测、变换以及量化的一系列过程。编码器20可以以比特流的形式输出经编码的媒体数据。
封装单元30可以对经编码的媒体数据和/或媒体数据相关元数据进行封装。例如,封装单元30可以对文件格式(例如,ISO基本媒体文件格式(ISO BMFF)或通用媒体应用格式(CMAF))的数据进行封装,或对分段形式的数据进行处理。在一些实施方式中,以文件的形式封装的媒体数据(下文称为“媒体文件”)可以存储在存储单元(未示出)中。存储在存储单元中的媒体文件可以由发送处理器40读取,并根据按需、非实时(NRT)或宽带方法发送至接收设备B。
发送处理器40可以通过根据任意发送方法处理媒体文件来生成图像信号。媒体文件发送方法可以包括广播方法和宽带方法。
根据广播方法,可以使用MPEG媒体传输(MMT)协议或单向传输实时对象传送(ROUTE)协议来发送媒体文件。MMT协议可以是与基于IP的网络环境中的文件格式或编解码器无关地支持媒体流传输的传输协议。在使用MMT协议的情况下,可以基于MMT在媒体处理单元(MPU)中处理媒体文件,然后根据MMT协议发送媒体文件。ROUTE协议是单向传输文件传送(FLUTE)的扩展,并且可以是支持媒体文件的实时传输的传输协议。在使用ROUTE协议的情况下,媒体文件可以基于MPEG-DASH被处理成一个或更多个分段,然后根据ROUTE协议来发送。
根据宽带方法,媒体文件可以使用HTTP(超文本传输协议)通过网络来发送。通过HTTP发送的信息可以包括信令元数据、分段信息和/或非实时(NRT)服务信息。
在一些实施方式中,发送处理器40可以包括MPD生成器41和分段生成器42,以支持自适应媒体流传输。
MPD生成器41可以基于媒体文件生成媒体呈现描述(MPD)。MPD是包括关于媒体呈现的详细信息的文件,并且可以以XML格式表达。MPD可以提供诸如每个分段的标识符的信令元数据。在这种情况下,接收设备B可以基于MPD动态地获得分段。
分段生成器42可以基于媒体文件生成一个或更多个分段。分段可以包括实际媒体数据,并且可以具有诸如ISO BMFF的文件格式。分段可以被包括在图像信号的表示中,并且如上文所描述,可以基于MPD来识别分段。
另外,发送处理器40可以基于所生成的MPD和分段根据MPEG-DASH标准来生成图像信号。
发送器45可以将所生成的图像信号发送至接收设备B。在一些实施方式中,发送器45可以根据MMT标准或MPEG-DASH标准通过IP网络向接收设备B发送图像信号。根据MMT标准,发送至接收设备B的图像信号可以包括包含媒体数据的再现信息的呈现信息文档(PI)。根据MPEG-DASH标准,发送至接收设备B的图像信号可以包括前述MPD作为媒体数据的再现信息。然而,在一些实施方式中,MPD和分段可以分别地发送至接收设备B。例如,包括MPD的第一图像信号可以由发送设备A或外部服务器生成并且发送至接收设备B,包括分段的第二图像信号可以由发送设备A生成并且可以发送至接收设备B。
此外,尽管在图1中将发送处理器40和发送器45例示为分开的元件,但在一些实施方式中,它们可以整体地实现为单个元件。此外,发送处理器40可以被实现为与发送设备A分开的外部装置(例如,DASH服务器)。在这种情况下,发送设备A可以作为通过对媒体数据进行编码来生成媒体文件的源设备操作,并且外部设备可以作为通过根据任意传输协议处理媒体数据来生成图像信号的服务器设备操作。
接下来,接收设备B可以包括接收器55、接收处理器60、解封装单元70、解码器80和渲染器90。在一些实施方式中,接收设备B可以是基于MPEG-DASH的客户端。
接收器55可以从发送设备A接收图像信号。根据MMT标准的图像信号可以包括PI文档和媒体文件。另外,根据MPEG-DASH标准的图像信号可以包括MPD和分段。在一些实施方式中,MPD和分段可以通过不同的图像信号分开地发送。
接收处理器60可以通过根据传输协议处理所接收的图像信号来提取/解析媒体文件。
在一些实施方式中,接收处理器60可以包括MPD解析单元61和分段解析单元62,以便于支持自适应媒体流传输。
MPD解析单元61可以从所接收的图像信号获得MPD,并且对所获得的MPD进行解析以生成获得分段所需的命令。此外,MPD解析单元61可以基于所解析的MPD获得媒体数据再现信息(例如,颜色转换信息)。
分段解析单元62可以基于所解析的MPD获得分段,并且对所获得的分段进行解析以提取媒体文件。在一些实施方式中,媒体文件可以具有诸如ISO BMFF或CMAF的文件格式。
解封装单元70可以对所提取的媒体文件进行解封装以获得媒体数据和与其相关的元数据。所获得的元数据可以具有文件格式的框或轨道的形式。在一些实施方式中,解封装单元70可以从MPD解析单元61接收解封装所需的元数据。
解码器80可以根据视频编解码器标准(例如,VVC标准)对所获得的媒体数据进行解码。为此,解码器80可以执行诸如与编码器20的操作相对应的预测、逆量化以及逆变换的一系列过程。
渲染器90可以对诸如经解码的视频或图像的媒体数据进行渲染。经渲染的媒体数据可以通过显示单元(未示出)再现。
在下文中,将详细描述媒体文件发送/接收方法。
图2是例示了媒体文件发送方法的流程图。
在一个示例中,图2的每个步骤可以由图1的发送设备A执行。具体地,步骤S210可以由图1的编码器20执行。此外,步骤S220和步骤S230可以由发送处理器40执行。此外,步骤S240可以由发送器45执行。
参照图2,发送设备可以对诸如视频或图像的媒体数据进行编码(S210)。媒体数据可以由发送设备拍摄/生成或从外部装置(例如,相机、视频档案等)获得。可以根据视频编解码器标准(例如,VVC标准)以比特流的形式对媒体数据进行编码。
发送设备可以基于经编码的媒体数据生成MPD以及一个或更多个分段(S220)。如上所述,MPD可以包括关于媒体呈现的详细信息。分段可以包含实际媒体数据。在一些实施方式中,媒体数据可以按照诸如ISO BMFF或CMAF的文件格式被封装并且被包括在分段中。
发送设备可以生成包括所生成的MPD和分段的图像信号(S230)。在一些实施方式中,可以针对MPD和分段中的每一者单独地生成图像信号。例如,发送设备可以生成包括MPD的第一图像信号并且生成包括分段的第二图像信号。
发送设备可以将所生成的图像信号发送至接收设备(S240)。在一些实施方式中,发送设备可以使用广播方法发送图像信号。在这种情况下,可以使用MMT协议或ROUTE协议。另选地,发送设备可以使用宽带方法发送图像信号。
此外,虽然在图2中,MPD和包括该MPD的图像信号被描述为由发送设备生成和发送(步骤S220至步骤S240),但是在一些实施方式中,MPD和包括该MPD的图像可以由与发送设备不同的外部服务器生成并发送。
图3是例示媒体文件接收方法的流程图。
在示例中,图3的每个步骤可以由图1的接收设备B执行。具体地,步骤S310可以由接收器55执行。此外,步骤S320可以由接收处理器60执行。此外,步骤S330可以由解码器80执行。
参照图3,接收设备可以从发送设备接收图像信号(S310)。根据MPEG-DASH标准的图像信号可以包括MPD和分段。在一些实施方式中,可以通过不同的图像信号单独地接收MPD和分段。例如,可以从图1的发送设备或外部服务器接收包括MPD的第一图像信号,并且可以从图1的发送设备接收包括分段的第二图像信号。
接收设备可以从所接收的图像信号提取MPD和分段,并且对所提取的MPD和分段进行解析(S320)。具体地,接收设备可以对MPD进行解析以生成获得分段所需的命令。然后,接收设备可以基于所解析的MPD获得分段,并且对所获得的分段进行解析以获得媒体数据。在一些实施方式中,接收设备可以对文件格式的媒体数据执行解封装,以从分段获得媒体数据。
接收设备可以对诸如所获得的视频或图像的媒体数据进行解码(S330)。接收设备可以执行诸如逆量化、逆变换和预测的一系列过程以对媒体数据进行解码。然后,接收设备可以对经解码的媒体数据进行渲染并且通过显示器再现媒体数据。
在下文中,将详细描述图像编码/解码设备。
图像编码设备的概述
图4是示意性地例示根据本公开的实施方式的图像编码设备的图。图4的图像编码设备400可以与参照图1描述的发送设备A的编码器20相对应。
参照图4,图像编码设备400可以包括图像分割器410、减法器415、变换器420、量化器430、解量化器440、逆变换器450、加法器455、滤波器460、存储器470、帧间预测单元480、帧内预测单元485和熵编码器490。帧间预测单元480和帧内预测单元485可以统称为“预测器”。变换器420、量化器430、解量化器440和逆变换器450可以被包括在残差处理器中。残差处理器还可以包括减法器415。
在一些实施方式中,配置图像编码设备400的多个组件中的全部或至少一些可以由一个硬件组件(例如,编码器或处理器)来配置。此外,存储器470可以包括解码画面缓冲器(DPB)并且可以由数字存储介质配置。
图像分割器410可将输入到图像编码设备400的输入图像(或画面或帧)分割成一个或更多个处理单元。例如,处理单元可以称为编码单元(CU)。可以通过根据四叉树二叉树三叉树(QT/BT/TT)结构递归地分割编码树单元(CTU)或最大编码单元(LCU)来获得编码单元。例如,可以基于四叉树结构、二叉树结构和/或三叉树结构将一个编码单元分割为更深深度的多个编码单元。对于编码单元的分割,可以首先应用四叉树结构,然后可以应用二叉树结构和/或三叉树结构。可以基于不再分割的最终编码单元来执行根据本公开的编码过程。可以将最大编码单元用作最终编码单元,也可以将通过分割最大编码单元获得的更深深度的编码单元用作最终编码单元。这里,编码过程可以包括稍后将描述的预测、变换和重构的过程。作为另一个示例,编码过程的处理单元可以是预测单元(PU)或变换单元(TU)。预测单元和变换单元可以从最终编码单元划分或分割。预测单元可以是样本预测单元,变换单元可以是用于推导变换系数的单元和/或用于从变换系数推导残差信号的单元。
预测单元(帧间预测单元480或帧内预测单元485)可以对要处理的块(当前块)执行预测,并且生成包括当前块的预测样本的预测块。预测单元可以确定对当前块或CU单元是应用帧内预测还是帧间预测。预测单元可以生成与当前块的预测有关的各种信息,并且将生成的信息传输到熵编码器490。关于预测的信息可以在熵编码器490中被编码并且以比特流的形式输出。
帧内预测单元485可以通过参考当前画面中的样本来预测当前块。根据帧内预测模式和/或帧内预测技术,参考样本可以位于当前块的邻居中或者可以被分开放置。帧内预测模式可以包括多个非定向模式和多个定向模式。非定向模式可以包括例如DC模式和平面模式。根据预测方向的详细程度,定向模式可以包括例如33个定向预测模式或65个定向预测模式。然而,这仅仅是示例,可以根据设置使用更多或更少的定向预测模式。帧内预测单元485可以通过使用应用于邻近块的预测模式来确定应用于当前块的预测模式。
帧间预测单元480可以基于由参考画面上的运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。包括参考块的参考画面和包括时间邻近块的参考画面可以相同或不同。时间邻近块可以被称为并置参考块、并置CU(colCU)等。包括时间邻近块的参考画面可以被称为并置画面(colPic)。例如,帧间预测单元480可以基于邻近块配置运动信息候选列表并生成指示使用哪个候选来推导当前块的运动向量和/或参考画面索引的信息。可以基于各种预测模式来执行帧间预测。例如,在跳过模式和合并模式的情况下,帧间预测单元480可以使用邻近块的运动信息作为当前块的运动信息。在跳过模式的情况下,与合并模式不同,可以不传输残差信号。在运动向量预测(MVP)模式的情况下,邻近块的运动向量可以用作运动向量预测子,并且当前块的运动向量可以通过对运动向量差和运动向量预测子的指示符进行编码来用信号通知当前块的运动向量。运动向量差可以意指当前块的运动向量与运动向量预测子之间的差。
预测单元可以基于以下描述的各种预测方法和预测技术来生成预测信号。例如,预测单元不仅可以应用帧内预测或帧间预测,还可以同时应用帧内预测和帧间预测,以预测当前块。同时应用帧内预测和帧间预测两者来预测当前块的预测方法可以称为组合帧间和帧内预测(CIIP)。此外,预测单元可以执行帧内块复制(IBC)以预测当前块。帧内块复制可以用于游戏等的内容图像/视频编码,例如,屏幕内容编码(SCC)。IBC是一种在与当前块相隔预定距离的位置处使用当前画面中先前重构的参考块来预测当前画面的方法。当应用IBC时,参考块在当前画面中的位置可以被编码为与预定距离相对应的向量(块向量)。IBC基本上在当前画面中执行预测,但是可以类似于帧间预测执行,因为在当前画面内推导参考块。即,IBC可以使用本公开中描述的至少一种帧间预测技术。
预测单元生成的预测信号可用于生成重构信号或生成残差信号。减法器415可以通过从输入图像信号(原始块或原始样本阵列)中减去从预测单元输出的预测信号(预测块或预测样本阵列)来生成残差信号(残差块或残差样本阵列)。生成的残差信号可以被传输到变换器420。
变换器420可以通过将变换技术应用于残差信号来生成变换系数。例如,变换技术可以包括离散余弦变换(DCT)、离散正弦变换(DST)、karhunen-loève变换(KLT)、基于图的变换(GBT)或条件非线性变换(CNT)中的至少一种。这里,GBT是指当像素之间的关系信息由图形表示时从图形获得的变换。CNT是指基于使用所有先前重构的像素生成的预测信号获得的变换。此外,变换处理可以应用于具有相同大小的正方形像素块或者可以应用于具有可变大小而不是正方形的块。
量化器430可以对变换系数进行量化并且将它们传输到熵编码器490。熵编码器490可以对量化的信号(关于量化的变换系数的信息)进行编码并且输出比特流。关于量化变换系数的信息可以被称为残差信息。量化器430可以基于系数扫描顺序将块类型的量化变换系数重新排列为一维向量形式,并基于一维向量形式的量化变换系数生成关于量化变换系数的信息。
熵编码器490可以执行各种编码方法(例如,指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等)。熵编码器490可以一起或单独地对量化变换系数以外的视频/图像重构所需的信息(例如,语法元素的值等)进行编码。经编码的信息(例如,编码的视频/图像信息)可以比特流的形式以网络抽象层(NAL)为单元进行传输或存储。视频/图像信息还可以包括关于各种参数集(例如,自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS))的信息。此外,视频/图像信息还可以包括一般约束信息。本公开中描述的用信号通知的信息、传输的信息和/或语法元素可以通过上述编码过程被编码并且被包括在比特流中。
比特流可以通过网络传输或者可以存储在数字存储介质中。网络可以包括广播网络和/或通信网络,数字存储介质可以包括USB、SD、CD、DVD、蓝光、HDD、SSD等各种存储介质。可以包括传输从熵编码器490输出的信号的发送器(未示出)和/或存储该信号的存储单元(未示出)作为图像编码设备400的内部/外部元件。另选地,可以提供发送器作为熵编码器490的组件。
从量化器430输出的量化变换系数可用于生成残差信号。例如,可以通过解量化器440和逆变换器450对量化变换系数应用解量化和逆变换来重构残差信号(残差块或残差样本)。
加法器455将重构残差信号与从帧间预测单元480或帧内预测单元485输出的预测信号相加,以生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则可以将预测块用作重构块。加法器455可以称为重构器或重构块生成器。生成的重构信号可以用于当前画面中要处理的下一个块的帧内预测,并且可以用于通过如下所述的滤波对下一个画面进行帧间预测。
此外,在图像编码和/或重构过程中,具有色度缩放的亮度映射(LMCS)是适用的。
滤波器460可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器460可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器470中,具体地,存储器470的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。滤波器460可以生成与滤波有关的各种信息并将所生成的信息传输到熵编码器490,如稍后在每种滤波方法的描述中所描述的。与滤波相关的信息可以由熵编码器490编码并以比特流的形式输出。
传输到存储器470的修改的重构画面可以用作帧间预测单元480中的参考画面。当通过图像编码设备400应用帧间预测时,可以避免图像编码设备400和图像解码设备之间的预测失配并且可以提高编码效率。
存储器470的DPB可以存储修改的重构画面以用作帧间预测单元480中的参考画面。存储器470可以存储从其中推导(或编码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元480并用作空间邻近块的运动信息或时间邻近块的运动信息。存储器470可以存储当前画面中重构块的重构样本并且可以将重构样本传送到帧内预测单元485。
图像解码设备的概述
图5是示意性地例示根据本公开的实施方式的图像解码设备的图。图5的图像解码设备500可以与参照图1描述的接收设备B的解码器80相对应。
参照图5,图像解码设备500可以包括熵解码器510、解量化器520、逆变换器530、加法器535、滤波器540、存储器550、帧间预测单元560和帧内预测单元565。帧间预测单元560和帧内预测单元565可以统称为“预测器”。解量化器520和逆变换器530可以被包括在残差处理器中。
根据实施方式,配置图像解码设备500的多个组件中的全部或至少一些可以由硬件组件(例如,解码器或处理器)来配置。此外,存储器550可以包括解码画面缓冲器(DPB)或者可以由数字存储介质配置。
已经接收到包括视频/图像信息的比特流的图像解码设备500可以通过执行与由图4的图像编码设备100执行的处理相对应的处理来重构图像。例如,图像解码设备500可以使用在图像编码设备中应用的处理单元来执行解码。因此,解码的处理单元例如可以是编码单元。编码单元可以通过分割编码树单元或最大编码单元来获得。通过图像解码设备500解码和输出的重构图像信号可以通过再现设备(未示出)再现。
图像解码设备500可以接收由图4的图像编码设备以比特流的形式生成的信号。接收到的信号可以通过熵解码器510进行解码。例如,熵解码器510可以对比特流进行解析以推导图像重构(或画面重构)所需的信息(例如,视频/图像信息)。视频/图像信息还可以包括关于各种参数集(例如,自适应参数集(APS)、画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS))的信息。此外,视频/图像信息还可以包括一般约束信息。图像解码设备还可以基于关于参数集的信息和/或一般约束信息对画面进行解码。本公开中描述的用信号通知/接收的信息和/或语法元素可以通过解码过程被解码并从比特流中获得。例如,熵解码器510基于诸如指数哥伦布编码、CAVLC或CABAC的编码方法对比特流中的信息进行解码,并输出图像重构所需的语法元素的值和残差的变换系数的量化值。更具体地,CABAC熵解码方法可以接收与比特流中每个语法元素对应的bin,使用解码目标语法元素信息、邻近块和解码目标块的解码信息或前一阶段解码的符号/bin的信息来确定上下文模型,根据确定的上下文模型通过预测bin的出现概率来对bin执行算术解码,并且生成与每个语法元素的值对应的符号。在这种情况下,CABAC熵解码方法可以在确定上下文模型后,通过将解码的符号/bin的信息用于下一个符号/bin的上下文模型来更新上下文模型。由熵解码器510解码的信息中与预测相关的信息可以被提供给预测单元(帧间预测单元560和帧内预测单元565),并且在熵解码器510中对其执行熵解码的残差值,即,量化变换系数和相关的参数信息可以被输入到解量化器520。另外,可以将熵解码器510解码的信息当中关于滤波的信息提供给滤波器540。此外,用于接收从图像编码设备输出的信号的接收器(未示出)可以进一步被配置为图像解码设备500的内部/外部元件,或者接收器可以是熵解码器510的组件。
此外,根据本公开的图像解码设备可以被称为视频/图像/画面解码设备。图像解码设备可以分为信息解码器(视频/图像/画面信息解码器)和样本解码器(视频/图像/画面样本解码器)。信息解码器可以包括熵解码器510。样本解码器可以包括解量化器520、逆变换器530、加法器535、滤波器540、存储器550、帧间预测单元560或帧内预测单元565中的至少一个。
解量化器520可以对量化变换系数进行解量化并输出变换系数。解量化器520可以以二维块的形式重新排列量化变换系数。在这种情况下,可以基于在图像编码设备中执行的系数扫描顺序来执行重新排列。解量化器520可以通过使用量化参数(例如,量化步长信息)对量化变换系数执行解量化并获得变换系数。
逆变换器530可以对变换系数进行逆变换以获得残差信号(残差块、残差样本阵列)。
预测单元可以对当前块执行预测并生成包括当前块的预测样本的预测块。预测单元可以基于从熵解码器510输出的关于预测的信息来确定是将帧内预测还是帧间预测应用于当前块,并且可以确定特定帧内/帧间预测模式(预测技术)。
与在图像编码设备100的预测单元中描述的相同的是,预测单元可以基于稍后描述的各种预测方法(技术)来生成预测信号。
帧内预测单元565可以通过参考当前画面中的样本来预测当前块。帧内预测单元485的描述同样适用于帧内预测单元565。
帧间预测单元560可以基于参考画面上由运动向量指定的参考块(参考样本阵列)来推导当前块的预测块。在这种情况下,为了减少在帧间预测模式中传输的运动信息量,可以基于邻近块和当前块之间的运动信息的相关性以块、子块或样本为单位来预测运动信息。运动信息可以包括运动向量和参考画面索引。运动信息还可以包括帧间预测方向(L0预测、L1预测、双预测等)信息。在帧间预测的情况下,邻近块可以包括当前画面中存在的空间邻近块和参考画面中存在的时间邻近块。例如,帧间预测单元560可以基于邻近块配置运动信息候选列表,并且基于接收到的候选选择信息推导当前块的运动向量和/或参考画面索引。可以基于各种预测模式来执行帧间预测,并且关于预测的信息可以包括指示当前块的帧间预测模式的信息。
加法器535可以通过将获得的残差信号与从预测单元(包括帧间预测单元560和/或帧内预测单元565)输出的预测信号(预测块、预测样本阵列)相加生成重构信号(重构画面、重构块、重构样本阵列)。如果要处理的块没有残差(例如,应用跳过模式的情况),则预测块可以用作重构块。加法器155的描述同样适用于加法器535。加法器535可以称为重构器或重构块生成器。所生成的重构信号可以用于当前画面中要处理的下一块的帧内预测,并且可以用于通过如下所述的滤波对下一画面的帧间预测。
此外,在画面解码过程中,具有色度缩放的亮度映射(LMCS)是适用的。
滤波器540可以通过对重构信号应用滤波来提高主观/客观图像质量。例如,滤波器540可以通过对重构画面应用各种滤波方法来生成修改的重构画面,并将修改的重构画面存储在存储器550中,具体地,存储器550的DPB中。各种滤波方法可以包括例如去块滤波、样本自适应偏移、自适应环路滤波、双边滤波等。
存储在存储器550的DPB中的(修改的)重构画面可以用作帧间预测单元560中的参考画面。存储器550可以存储从其中推导(或解码)当前画面中的运动信息的块的运动信息和/或画面中已经重构的块的运动信息。存储的运动信息可以被传输到帧间预测单元560,以用作空间邻近块的运动信息或时间邻近块的运动信息。存储器550可以存储当前画面中重构块的重构样本并将重构样本传送到帧内预测单元565。
在本公开中,在图像编码设备400的滤波器460、帧间预测单元480和帧内预测单元485中描述的实施方式可以同等地或对应地应用于图像解码设备500的滤波器540、帧间预测单元560和帧内预测单元565。
编码设备的量化器可以通过对变换系数应用量化来推导量化变换系数,并且编码设备的解量化器或者解码设备的解量化器可以通过对量化变换系数应用解量化来推导变换系数。在视频编码中,可以改变量化速率并且可以使用经改变的量化速率来调整压缩率。从实现方式的观点,考虑到复杂性,可以使用量化参数(QP)而非直接使用量化速率。例如,可以使用具有整数值0至63的量化参数并且每个量化参数值可以对应于实际量化速率。另外,可以不同地设置亮度分量(亮度样本)的量化参数QPY和色度分量(色度样本)的量化参数QPC
在量化过程中,变换系数C可以作为输入接收并且除以量化速率Qstep,并且可以基于此推导量化变换系数C’。在这种情况下,考虑到计算复杂性,将量化速率乘以缩放以形成整数,并且可以按照与缩放值相对应的值来执行移位运算。基于量化速率与缩放值的乘积,可以推导量化缩放。也就是说,可以根据QP推导量化缩放。在这种情况下,通过将量化缩放应用于变换系数C,可以基于此推导量化变换系数C’。
解量化过程是量化过程的逆过程,并且量化变换系数C’可以乘以量化速率Qstep,从而基于此推导重构变换系数C”。在这种情况下,可以根据量化参数推导级别缩放,可以将级别缩放应用于量化变换系数C’,从而基于此推导重构变换系数C”。由于变换和/或量化过程中的损失,所以重构变换系数C”可以与原始变换系数C略微不同。因此,即使编码设备也可以以与解码设备相同的方式执行解量化。
此外,可以应用根据频率调整量化强度的自适应频率加权量化技术。自适应频率加权量化技术可以对应于根据频率不同地应用量化强度的方法。在自适应频率加权量化中,可以使用预定义的量化缩放矩阵根据频率来不同地应用量化强度。也就是说,可以基于量化缩放矩阵进一步执行上文所描述的量化/解量化过程。
例如,可以根据当前块的大小和/或应用于当前块以生成当前块的残差信号的预测模式是帧间预测还是帧内预测来使用不同量化缩放矩阵。量化缩放矩阵还可以称为量化矩阵或缩放矩阵。量化缩放矩阵可以是预定义的。另外,用于频率自适应缩放的量化缩放矩阵的频率量化缩放信息可以由编码设备构造/编码并且用信号通知给解码设备。频率量化缩放信息可以称为量化缩放信息。频率量化缩放信息可以包括缩放列表数据scaling_list_data。
基于缩放列表数据,可以推导量化缩放矩阵。另外,频率量化缩放信息可以包括指定是否存在缩放列表数据的存在标志信息。另选地,当在较高级别(例如,SPS)处用信号通知缩放列表数据时,还可以包括指定缩放列表数据是否在较低级别(例如,PPS或拼块组报头等)处被修改的信息。
图6是例示编码图像/视频的层结构的示例的图。
编码图像/视频被分类为用于图像/视频解码处理和处理自己的视频编码层(VCL)、用于发送和存储编码信息的下层系统以及存在于VCL和下层系统之间并负责网络适配功能的网络抽象层(NAL)。
在VCL中,可以生成包括压缩图像数据(切片数据)的VCL数据,或者可以生成图像的解码处理另外所需的补充增强信息(SEI)消息或包括诸如画面参数集(PPS)、序列参数集(SPS)或视频参数集(VPS)的信息的参数集。
在NAL中,报头信息(NAL单元报头)可以被添加到VCL中生成的原始字节序列有效载荷(RBSP)以生成NAL单元。在这种情况下,RBSP是指VCL中生成的切片数据、参数集、SEI消息。NAL单元报头可以包括根据对应NAL单元中所包括的RBSP数据指定的NAL单元类型信息。
如图6所示,NAL单元可以根据VCL中生成的RBSP的类型被分类为VCL NAL单元和非VCL NAL单元。VCL NAL单元可以意指包括关于图像的信息(切片数据)的NAL单元,非VCLNAL单元可以意指包括对图像进行解码所需的信息(参数集或SEI消息)的NAL单元。
VCL NAL单元和非VCL NAL单元可以根据下层系统的数据标准附有报头信息并通过网络发送。例如,NAL单元可以被修改为具有预定标准(例如,H.266/VVC文件格式、RTP(实时传输协议)或TS(传输流))的数据格式,并通过各种网络发送。
如上所述,在NAL单元中,可以根据对应NAL单元中所包括的RBSP数据结构来指定NAL单元类型,并且关于NAL单元类型的信息可以被存储在NAL单元报头中并用信号通知。例如,这可以根据NAL单元是否包括图像信息(切片数据)大致分类为VCL NAL单元类型和非VCL NAL单元类型。VCL NAL单元类型可以根据包括在VCL NAL单元中的画面的性质/类型来细分,并且非VCL NAL单元类型可以根据参数集的类型来细分。
根据画面类型的VCL NAL单元类型的示例如下。
-“IDR_W_RADL”、“IDR_N_LP”:瞬时解码刷新(IDR)画面的VCL NAL单元类型,其为IRAP(帧内随机访问点)画面的类型;
IDR画面可以是比特流中的按解码顺序的第一画面或第一画面之后的画面。具有诸如“IDR_W_RADL”的NAL单元类型的画面可以具有与画面相关联的一个或更多个随机访问可解码先导(RADL)画面。相比之下,具有诸如“IDR_N_LP”的NAL单元类型的画面不具有与画面相关联的任何先导画面。
-“CRA_NUT”:纯随机访问(CRA)画面的VCL NAL单元类型,其为IRAP画面的类型;
CRA画面可以是比特流中的按解码顺序的第一画面或者可以是第一画面之后的画面。CRA画面可以与RADL或RASL(随机访问跳过先导)画面相关联。
-“GDR_NUT”:随机访问逐渐解码刷新(GDR)画面的VCL NAL单元类型;
-“STSA_NUT”:随机访问逐步时间子层访问(STSA)画面的VCL NAL单元类型;
-“RADL_NUT”:作为先导画面的RADL画面的VCL NAL单元类型;
-“RASL_NUT”:作为先导画面的RASL画面的VCL NAL单元类型;
-“TRAIL_NUT”:后置画面的VCL NAL单元类型;
后置画面是非IRAP画面,其可以按输出顺序在与后置画面相关联的IRAP画面或GDR画面之后,并且可以按解码顺序在与后置画面相关联的IRAP画面之后。
接下来,根据参数集类型的非VCL NAL单元类型的示例如下。
-“DCI_NUT”:包括解码能力信息(DCI)的非VCL NAL单元类型
-“VPS_NUT”:包括视频参数集(VPS)的非VCL NAL单元类型
-“SPS_NUT”:包括序列参数集(SPS)的非VCL NAL单元类型
-“PPS_NUT”:包括画面参数集(PPS)的非VCL NAL单元类型
-“PREFIX_APS_NUT”、“SUFFIX_APS_NUT”:包括自适应参数集(APS)的非VCL NAL单元类型
-“PH_NUT”:包括画面报头的非VCL NAL单元类型
上文所描述的NAL单元类型可以由包括在NAL单元报头中的预定语法信息(例如,nal_unit_type)标识。
此外,在本公开中,以比特流的形式编码的图像/视频信息不仅可以包括画面分割信息、帧内/帧间预测信息、残差信息和/或环路内滤波信息等,还包括切片报头信息、画面报头信息、APS信息、PPS信息、SPS信息、VPS信息和/或DCI。另外,所编码的图像/视频信息还可以包括一般约束信息(GCI)和/或NAL单元报头信息。根据本公开的实施方式,可以将经编码的图像/视频信息封装到预定格式(例如,ISO BMFF)的媒体文件中,并将其发送至接收设备。
媒体文件
可以基于预定的媒体文件格式配置(或格式化)经编码的图像信息以生成媒体文件。例如,经编码的图像信息可以基于针对经编码的图像信息的一个或更多个NAL单元/样本条目来形成媒体文件(分段)。
媒体文件可以包括样本条目和轨道。在一个示例中,媒体文件可以包括各种记录,并且每个记录可以包括与媒体文件格式相关的信息或者与图像相关的信息。在一个示例中,一个或更多个NAL单元可以存储在媒体文件中的配置记录(或解码器配置记录)字段中。另外,媒体文件可以包括操作点记录和/或操作点组框。在本公开中,支持多功能视频编码(VVC)的解码器配置记录可以称为VVC解码器配置记录。同样地,支持VVC的操作点记录可以称为VVC操作点记录。
在媒体文件格式中使用的术语“样本”可以意指与表示画面的三个样本阵列(Y、Cb、Cr)中的任一者的单个时间或单个元素相关联的所有数据。当术语“样本”在轨道(媒体文件格式)的上下文中使用时,“样本”可以指代与轨道的单个时间相关联的所有数据。这里,时间可以对应于解码时间或合成时间(composition time)。此外,当在画面(例如,亮度样本)的上下文中使用术语“样本”时,“样本”可以指示表示画面的三个样本阵列中的任一者的单个元素。
图7是例示媒体文件结构的示例的图。
如上所述,为了存储和发送诸如音频、视频或图像的媒体数据,可以定义标准化的媒体文件格式。在一些实施方式中,媒体文件可以具有根据ISO基本媒体文件格式(ISOBMFF)的文件格式。
媒体文件可以包括一个或更多个框(box)。这里,框可以是包括媒体数据或与媒体数据有关的元数据的数据块或对象。在媒体文件内,框可以形成分层结构。因此,媒体文件可以具有适合于存储和/或发送大容量媒体数据的形式。此外,媒体文件可以具有便于访问特定媒体数据的结构。
参照图7,媒体文件700可以包括ftyp框710、moov框720、moof框730和mdat框740。
ftyp框710可以包括媒体文件700的文件类型、文件版本和/或兼容性相关信息。在一些实施方式中,ftyp框710可以位于媒体文件700的开始处。
moov框720可以包括描述媒体文件700中的媒体数据的元数据。在一些实施方式中,moov框720可以存在于元数据相关框当中的最上层中。此外,moov框720可以包括媒体文件700的报头信息。例如,moov框720可以包括解码器配置记录作为解码器配置信息。
moov框720是子框,并且可以包括mvhd框721、trak框722和mvex框723。
mvhd框721可以包括媒体文件700中的媒体数据的呈现相关信息(例如,媒体创建时间、改变时间、周期等)。
trak框722可以包括媒体数据的轨道的元数据。例如,trak框722可以包括音频轨道或视频轨道的流相关信息、呈现相关信息和/或访问相关信息。根据媒体文件700中存在的轨道的数量,可以存在多个trak框722。稍后将参照图8描述trak框722的结构的示例。
mvex框723可以包括关于一个或更多个电影片段是否存在于媒体文件700中的信息。电影片段可以是通过划分媒体文件700中的媒体数据而获得的媒体数据的一部分。电影片段可以包括一个或更多个编码画面。例如,电影片段可以包括一个或更多个画面组(GOP),并且每个画面组可以包括多个编码帧或画面。电影片段可以存储在mdat框740-1至740-N(其中,N是大于或等于1的整数)中的每一者中。
moof框730-1至730-N(其中,N是大于或等于1的整数)可以包括电影片段的元数据,即,mdat框740-1至740-N。在一些实施方式中,moof框730-1至730-N可以存在于电影片段的元数据相关框当中的最上层中。
mdat框740-1至740-N可以包括实际媒体数据。根据媒体文件700中存在的电影片段的数量,可以存在多个mdat框740-1至740-N。mdat框740-1至740-N中的每一者可以包括一个或更多个音频样本或视频样本。在一个示例中,样本可以意指访问单元(AU)。当解码器配置记录被存储在样本条目中时,解码器配置记录可以包括用于指示每个样本所属的网络抽象层(NAL)单元的长度的长度字段的大小以及参数集。
在一些实施方式中,媒体文件700可以以分段为单位被处理和存储和/或发送。分段可以包括初始化分段I_seg和媒体分段M_seg。
初始化分段I_seg可以是包括用于访问表示的初始化信息的对象类型数据单元。初始化分段I_seg可以包括前述ftyp框710和/或moov框720。
媒体分段M_seg可以是包括流传输服务的时间上划分的媒体数据的对象类型数据单元。媒体分段M_seg可以包括前述moof框730-1至730-N和mdat框740-1至740-N。尽管图7中未示出,但是媒体分段M_seg还可以包括:包括分段类型相关信息的styp框和包括媒体文件700中包括的子分段的标识信息的sidx框(可选的)。
图8是例示图7的trak框结构的示例的图。
参照图8,trak框800可以包括tkhd框810、tref框820和mdia框830。
tkhd框810是轨道报头框,并且可以包括由trak框800指示的轨道(以下称为”对应轨道”)的报头信息(例如,对应轨道的创建/修改时间、轨道标识符等)。
tref框820是轨道参考框,并且可以包括对应轨道的参考信息(例如,由对应轨道参考的另一轨道的轨道标识符)。
mdia框830可以包括描述对应轨道中的媒体数据的信息和对象。在一些实施方式中,mdia框830可以包括提供关于媒体数据的信息的minf框840。此外,minf框840可以包括包含针对包括媒体数据的样本的元数据的stbl框850。
stbl框850是样本表框,并且可以包括轨道中的样本的位置信息、时间信息等。读取器可以基于由stbl框850提供的信息确定样本类型、容器内的样本大小和偏移,并且以正确的时间顺序定位样本。
stbl框850可以包括一个或更多个样本条目框851和852。样本条目框851和852可以针对特定样本提供各种参数。例如,针对视频样本的样本条目框可以包括视频样本的宽度、高度、分辨率和/或帧计数。另外,针对音频样本的样本条目框可以包括音频样本的声道计数、声道布局和/或采样速率。在一些实施方式中,样本条目框851和852可以被包括在stbl框850中的样本描述框(未示出)中。样本描述框可以提供关于应用于样本的编码类型的详细信息和该编码类型所需的任何初始化信息。
另外,stbl框850可以包括一个或更多个样本至组框853和854以及一个或更多个样本组描述框855和856。
样本至组框853和854可以指示样本所属的样本组。例如,样本至组框853和854可以包括指示样本组的类型的分组类型语法元素(例如,grouping_type)。此外,样本至组框853和854可以包含一个或更多个样本组条目。样本组条目可以包括样本计数语法元素(例如,sample_count)和组描述索引语法元素(例如,group_description_index)。这里,样本计数语法元素可以指示应用对应组描述索引的连续样本的数量。样本组可以包括流访问点(SAP)样本组、随机访问恢复点样本组等,并且稍后将描述其细节。
样本组描述框855和框856可以提供样本组的描述。例如,样本组描述框855和856可以包括分组类型语法元素(例如,grouping_type)。样本组描述框855和856可以与具有相同分组类型语法元素值的样本至组框853和854相对应。此外,样本组描述框855和856可以包括一个或更多个样本组描述条目。样本组描述条目可以包括“spor”样本组描述条目、“minp”样本组描述条目、“roll”样本组描述条目等。
如上文参照图7和图8所描述的,可以根据诸如ISO BMFF的文件格式将媒体数据封装到媒体文件中。另外,媒体文件可以根据MMT标准或MPEG-DASH标准通过图像信号被发送至接收设备。
图9是例示图像信号结构的示例的图。
参照图9,图像信号符合MPEG-DASH标准,并且可以包括MPD 910和多个表示(representation)920-1至920-N。
MPD 910是包括关于媒体呈现的详细信息的文件,并且可以以XML格式表达。MPD910可以包括关于多个表示920-1至920-N的信息(例如,流传输内容的比特速率、图像分辨率、帧速率等)以及关于HTTP资源(例如,初始化分段和媒体分段)的URL的信息。
表示920-1至920-N(其中,N是大于1的整数)中的每一者可以被划分为多个分段S-1至S-K(其中,K是大于1的整数)。这里,多个分段S-1至S-K可以对应于上面参照图7描述的初始化分段和媒体分段。第K分段S-K可以表示表示920-1至920-N中的每一者中的最后电影片段。在一些实施方式中,包括在表示920-1至920-N中的每一者中的分段S-1至S-K的数量(也就是说,K的值)可以彼此不同。
分段S-1至S-K中的每一者可以包括诸如一个或更多个视频或图像样本的实际媒体数据。包含在分段S-1至S-K中的每一者内的视频或图像样本的特性可以由MPD 910描述。
分段S-1至S-K中的每一者具有唯一的URL(统一资源定位符),并因此可以被独立地访问和重构。
此外,可以如下定义三种类型的基本流来存储VVC内容。
-视频基本流:视频基本流包括VCL NAL单元,但不包括参数集、DCI或OPI NAL单元。此时,参数集、DCI或OPI NAL单元可以被存储在一个或更多个样本条目中。视频基本流可以包括排除参数集、DCI NAL单元和OPI NAL单元的非VCL NAL单元。
-视频和参数集基本流:视频和参数集基本流包括VCL NAL单元。此外,视频和参数集基本流可以包括参数集、DCI或OPI NAL单元,并且可以具有被存储在一个或更多个样本条目中的参数集、DCI或OPI NAL单元。
-非VCL基本流:非VCL基本流仅包括与视频轨道内承载的基本流同步的非VCL NAL单元。
另外,VVC文件格式如下定义各种类型的轨道。
-VVC轨道:VVC轨道可以通过在样本和样本条目中包括NAL单元(可能通过参考包含VVC比特流的其它子层的VVC轨道,以及可能通过参考VVC子画面轨道)来指示VVC比特流。当VVC轨道参考VVC子画面轨道时,VVC轨道可以称为VVC基本轨道。
-VVC非VCL轨道:承载自适应环路滤波器(ALF)的自适应参数集(APS)、具有色度缩放的亮度映射(LMCS)或缩放列表参数以及其它非VCL NAL单元可以被存储在与包含VCLNAL单元的轨道分离的轨道中并且通过该轨道发送。VVC非VCL轨道可以指代这种轨道。VVC非VCL轨道不包括样本条目中的参数集、DCI或OPI NAL单元。
-VVC子画面轨道:VVC子画面轨道可以包含形成矩形区域的一个或更多个VVC子画面的序列或一个或更多个完整切片的序列。另外,VVC子画面轨道的样本可以包含按解码顺序连续的一个或更多个完整子画面或按解码顺序连续并形成矩形区域的一个或更多个完整切片。被包括在VVC子画面轨道的每个样本中的VVC子画面或切片可以按解码顺序连续。
另一方面,VVC非VCL轨道和VVC子画面轨道可以实现流传输应用中的VVC视频的优选传递。轨道中的每一个可以在其自己的DASH表示中承载。另外,针对轨道的子集的解码和渲染,包含VVC子画面轨道的子集的DASH表示和包含非VCL轨道的DASH表示可以由客户端逐分段地请求。以这种方式,可以避免APS和其它非VCL NAL单元的冗余发送。
VVC解码器配置记录的概述
当VVC解码器配置记录(下文简称为“解码器配置记录”)被存储在样本条目中时,解码器配置记录可以包括用于每个样本的长度字段的大小,以便于指示NAL单元、DCI、OPI和SEI NAL单元的长度和参数集。解码器配置记录可以被外部帧化。解码器配置记录的大小可以由包括解码器配置记录的结构提供。
解码器配置记录可以包括版本字段。解码器配置记录的不兼容改变可以通过版本号的改变来指示。如果版本号未被识别,则读取器将不对解码器配置记录或解码器配置记录所应用的流进行解码。解码器配置记录的兼容扩展可以扩展解码器配置记录并且可以不改变配置版本代码。
如果轨道原生地(natively)包含VVC比特流或通过“subp”轨道参考包含VVC比特流,则在解码器配置记录中应存在VvcPtlRecord,并且可以通过output_layer_set_idx字段来指示VVC比特流的特定输出层集合。如果在轨道的解码器配置记录中ptl_present_flag等于0,则轨道应具有针对可以指代VVC轨道或“opeg”实体组的ID的“oref”轨道参考。
针对在对通过解码器配置记录描述的流进行解码时所参考的所有参数集,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()语法结构(所有参数集)中所指示的最高层级的层级。
可以仅在由解码器配置记录中的output_layer_set_idx标识的输出层集合符合的所有profile_tier_level()语法结构(所有参数集)中的所有general_constraints_info()语法结构中设置general_constraint_info的每个比特。
级别指示符general_level_idc应指示大于或等于由解码器配置记录中的output_layer_set_idx识别的输出层集合符合的所有profile_tier_level()语法结构(所有参数集)中的最高级别的能力级别。
以下约束可以应用于chroma_format_idc。
-如果应用了解码器配置记录的VVC流是单层比特流,则sps_chroma_format_idc的值应当在由应用当前样本条目描述的样本中的VCL NAL单元参考的所有SPS内是相同的。另外,chroma_format_idc的值应等于sps_chroma_format_idc的值。
-如果应用了解码器配置记录的VVC流是多层比特流,则vps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]的值应当针对应用当前样本条目描述的所有CVS是相同的。另外,chroma_format_idc的值应等于vps_ols_dpb_chroma_format[MultiLayerOlsIdx[output_layer_set_idx]]的值。
接下来,可以将以下约束应用于bit_depth_minus8。
-如果应用解码器配置记录的VVC流是单层比特流,则sps_bitdepth_minus8的值应在由应用当前样本条目描述的样本中的VCL NAL单元参考的所有SPS中是相同的。另外,bit_depth_minus8的值应等于sps_bitdepth_minus8的值。
-如果应用解码器配置记录的VVC流是多层比特流,则vps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]的值应当针对应用当前样本条目描述的所有CVS是相同的。另外,bit_depth_minus8的值应等于vps_ols_dpb_bitdepth_minus8[MultiLayerOlsIdx[output_layer_set_idx]]的值。
接下来,可以将以下约束应用于picture_width。
-如果应用解码器配置记录的VVC流是单层比特流,则sps_pic_width_max_in_luma_samples的值应当在由应用当前样本条目描述的样本中的VCL NAL单元参考的所有SPS中是相同的。另外,picture_width的值应等于sps_pic_width_max_in_luma_samples的值。
-如果应用解码器配置记录的VVC流是多层比特流,则vps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]的值应当针对应用当前样本条目描述的所有CVS是相同的。另外,picture_width的值应等于vps_ols_dpb_pic_width[MultiLayerOlsIdx[output_layer_set_idx]]的值。
接下来,可以将以下约束应用于picture_height。
-如果应用解码器配置记录的VVC流是单层比特流,则sps_pic_height_max_in_luma_samples的值应当在由应用当前样本条目描述的样本中的VCL NAL单元参考的所有SPS中是相同的。另外,picture_height的值应等于sps_pic_height_max_in_luma_samples的值。
-如果应用解码器配置记录的VVC流是多层比特流,则vps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]的值应当针对应用当前样本条目描述的所有CVS是相同的。另外,picture_height的值应等于vps_ols_dpb_pic_height[MultiLayerOlsIdx[output_layer_set_idx]]的值。
可以在VVC解码器配置记录内提供VVC视频基本流中使用的其它重要格式信息以及比特深度和色度格式的显式指示符。如果两个序列的颜色空间或比特深度指示符在VUI信息内不同,则可能需要两个不同的VVC样本条目。
此外,可以存在被设置为承载初始化非VCL NAL单元的阵列。NAL单元类型可以限于仅指示DCI、OPI、VPS、SPS、PPS、前缀APS和前缀SEI NAL单元。样本条目内承载的NAL单元可以紧接在AUD和OPI NAL单元之后被包括或者可以被包括在从参考样本条目的第一样本重构的访问单元的开始处。在一个示例中,阵列可以按DCI、OPI、VPS、SPS、PPS、前缀APS和前缀SEI的顺序布置。
图10是例示用于用信号通知PTL记录的语法结构的图。
参照图10,语法VvcPTLRecord可以包括语法元素num_bytes_constraint_info。
语法元素num_bytes_constraint_info可以用于指示general_constraint_info字段的长度。general_constraint_info字段的长度可以是num_bytes_constraint_info*8-2比特。num_bytes_constraint_info的值应大于0。num_bytes_constraint_info等于1可以指示由general_constraint_info字段表示的general_constraint_info()语法结构中的gci_present_flag为0。作为参考,gci_present_flag的语义可以在诸如VVC的标准文档中定义。例如,gci_present_flag等于1可以指示一般约束信息(GCI)语法元素存在于general_constraint_info()语法结构中。相比之下,gci_present_flag等于0可以指示GCI语法元素不存在于general_constraint_info()语法结构中。
另外,语法VvcPTLRecord可以包括语法元素general_profile_idc、general_tier_flag、general_level_idc、ptl_frame_only_constraint_flag、ptl_multilayer_enabled_flag、general_constraint_info、sublayer_level_present[j]、sublayer_level_idc[i]、num_sub_profiles和general_sub_profile_idc[j]。
语法元素可以包括作为针对应用解码器配置记录的流的在诸如ISO/IEC 23090-3的标准文档中定义的字段或语法结构的general_profile_idc、general_tier_flag、general_level_idc、ptl_frame_only_constraint_flag、ptl_multilayer_enabled_flag、general_constraint_info()、ptl_sublayer_level_present[i]、sublayer_level_idc[i]、ptl_num_sub_profiles和general_sub_profile_idc[j]的匹配值。
图11是例示用于用信号通知解码器配置记录的语法结构的图。
参照图11,语法VvcDecoderConfigurationRecord可以包括语法元素lengthSizeMinusOne、ptl_present_flag、output_layer_set_idx、numTemporalLayers和track_ptl。
语法元素lengthSizeMinusOne加1可以指示在应用解码器配置记录的流中的以字节为单位的VVC视频流样本中的NALUnitLength字段的长度。例如,一个字节的大小可以由值为0的lengthSizeMinusOne指示。语法元素(或字段)的值应为分别对应于1、2或4字节的编码长度的0、1或3中的任一者。
语法元素ptl_present_flag可以指示轨道是否包括与特定操作点相对应的VVC比特流。具体地,ptl_present_flag等于第二值(例如,1)可以指示轨道包括与由output_layer_set_idx和numTemporalLayers指定的操作点相对应的VVC比特流,并且轨道中的所有NAL单元属于操作点。相比之下,ptl_present_flag等于第一值(例如,0)可以指示轨道不包括与特定操作点相对应的VVC比特流,但可以包括与多个输出层集合相对应的VVC比特流,或可以包括不形成输出层集合的单个层或除了TemporalId等于0的子层之外的单个子层。
语法元素output_layer_set_idx可以指示由包括在轨道中的VVC比特流表示的输出层集合的索引。output_layer_set_idx的值可以用作由外部装置或针对VVC解码器的OPINAL单元提供的变量TargetOlsIdx的值,以便于对包括在轨道中的比特流进行解码。
语法元素numTemporalLayers可以指示应用解码器配置记录的轨道是否暂时可缩放。具体地,numTemporalLayers大于1可以指示应用解码器配置记录的轨道是暂时可缩放的,并且包括(在轨道中)的时间层(时间子层或子层)的数量可以等于numTemporalLayers的值。另外,numTemporalLayers等于1可以指示应用解码器配置记录的轨道不是暂时可缩放的。此外,numTemporalLayers等于0可以指示不知道应用解码器配置记录的轨道是否暂时可缩放。
语法元素track_ptl可以指示由包括在轨道中的VVC比特流表示的输出层集合的简档、层级和级别。
另外,语法VvcDecoderConfigurationRecord可以包括语法元素array_completeness、NAL_unit_type、numNalus、nalUnitLength和nalUnit。
语法元素array_completeness可以指示给定类型的NAL单元是否存在于流中。具体地,array_completeness等于第二值(例如,1)可以指示给定类型的所有NAL单元存在于后面的阵列中且不存在于流中。另选地,array_completeness等于第一值(例如,0)可以指示给定类型的附加NAL单元可以存在于流中。array_completeness的允许值可以由样本条目名称限制。
语法元素NAL_unit_type可以指示后面的阵列中的NAL单元的类型。在一个示例中,NAL_unit_type可以被限制为采用指示DCI、OPI、VPS、SPS、PPS、前缀APS或前缀SEI NAL单元的值中的任一者。
语法元素numNalus可以指示针对应用解码器配置记录的流的具有被包括在解码器配置记录中的所指示的类型的NAL单元的数量。SEI阵列将仅包括‘声明性’性质的SEI消息,即,提供关于整个流的信息的消息。用户数据SEI消息可以对应于该(声明性)SEI消息。
语法元素nalUnitLength可以指示NAL单元的以字节为单位的长度。
语法元素nalUnit可以包括DCI、OPI、VPS、SPS、PPS、APS或声明性SEI NAL单元。
VVC字段格式允许VVC轨道的样本条目(例如,‘vvc1’或‘vvi1’)承载DCI(解码能力信息)、OPI(操作点信息)、VPS(视频参数集)、SPS(序列参数集)、PPS(画面参数集)、APS(自适应参数集)或声明性SEI(补充增强信息)NAL单元。针对每种类型的非VCL NAL单元,可以存在指示存在于样本条目中的NAL单元的数量的语法元素numNalus。
此外,同一类型的多个非VCL NAL单元可以存在于样本条目中。然而,针对一些类型,仅一个非VCL NAL单元可以存在于样本条目中。例如,在样本条目中仅存在针对DCI、OPI和VPS的一个NAL单元类型。然而,根据现有VVC文件格式,不管NAL单元类型如何,都存在指示存在于样本条目中的NAL单元的数量的语法元素numNalus。因此,可能出现诸如出现信息冗余和文件大小(比特数量)增加的问题。另外,当用于DCI、OPI和VPS的语法元素numNalus的值大于1时,可能出现诸如与实际值(即,1)不一致的问题。
为了解决这些问题,根据本公开的实施方式,可以去除指示针对特定NAL单元类型的NAL单元的数量的语法元素numNalus的信令。
本公开的实施方式可以包括以下方面中的至少一个方面。根据实施方式,各方面可以单独实现,或者可以以两个或更多个方面的组合来实现。
(方面1):如果DCI或OPI NAL单元存在于VVC轨道的样本条目中,则不存在(即,未用信号通知)语法元素numNalus,并且语法元素numNalus的值可以被推断为1。
(方面2):另选地,如果DCI或OPI NAL单元存在于VVC轨道的样本条目中,则语法元素numNalus的值可以被限制为1。
(方面3):当VPS NAL单元存在于VVC轨道的样本条目中并且语法元素array_completeness的值等于第二值(例如,1)时,不存在(即,未用信号通知)语法元素numNalus,并且语法元素numNalus的值可以被推断为1。
(方面4):另选地,当VPS NAL单元存在于VVC轨道的样本条目中并且语法元素array_completeness的值等于第二值(例如,1)时,语法元素numNalus的值可以被推断为1。
在下文中,将详细描述本公开的基于上述方面的实施方式。
实施方式1
本公开的实施方式1可以基于上述方面1和方面3提供。
具体地,根据实施方式1,当DCI或OPI NAL单元存在于VVC轨道的样本条目中时,不存在(即,未用信号通知)语法元素numNalus,并且语法元素numNalus可以被推断为1。
另外,根据实施方式1,当VPS NAL单元存在于VVC轨道的样本条目中并且语法元素array_completeness的值等于第二值(例如,1)时,不存在(即,未用信号通知)语法元素numNalus,并且语法元素numNalus可以被推断为1。
因此,可以跳过用信号通知指示针对特定NAL单元类型(例如,DCI_NUT和OPI_NUT)的NAL单元的数量的语法元素numNalus。
包括根据实施方式1的语法元素numNalus的语法VvcDecoderConfigurationRecord的示例示于图12中。
图12是例示根据本公开的一个实施方式的用于用信号通知解码器配置记录的语法结构的示例的图。图12的语法结构可以基本上与上文参照图11描述的语法VvcDecoderConfigurationRecord相同。在下文中,将关注与图11的语法结构的差异。
参照图12,语法VvcDecoderConfigurationRecord可以包括语法元素numOfArrays、array_completeness和NAL_unit_type。
语法元素numOfArrays可以指示具有所指示的类型的NAL单元阵列的数量。
语法元素array_completeness可以指示流中是否存在给定类型的NAL单元。具体地,array_completeness等于第二值(例如,1)可以指示预定类型的所有NAL单元存在于后面的阵列中并且不存在于流中。另选地,array_completeness等于第一值(例如,0)可以指示预定类型的附加NAL单元可以存在于流中。array_completeness的允许值可以由样本条目名称限制。
语法元素NAL_unit_type可以指示后面的阵列中的NAL单元的类型。在一个示例中,NAL_unit_type可以限制于取指示DCI、OPI、VPS、SPS、PPS、前缀APS或前缀SEI NAL单元的值中的任一者。
语法元素numNalus可以指示包括在应用解码器配置记录的流的解码器配置记录中的所指示类型的NAL单元的数量。SEI阵列应仅包括“声明性(declarative)”性质的SEI消息,也就是说,提供关于整个流的信息的消息。用户数据SEI消息可以对应于该(声明性)SEI消息。
可以基于与NAL单元类型相关的预定条件选择性地存在(或用信号通知)语法元素numNalus。
在一个实施方式中,条件可以包括语法元素NAL_unit_type的值既不是DCI_NUT也不是OPI_NUT(即,NAL_unit_type!=DCI_NUT&&NAL_unit_type!=OPI_NUT)的第一条件。当第一条件为假(例如,NAL_unit_type=DCI_NUT或OPI_NUT)时,可以不存在语法元素numNalus。
另外,条件可以包括语法元素NAL_unit_type的值为VPS_NUT并且语法元素array_completeness的值不为第二值(例如,1)(即,!(NAL_unit_type==VPS_NUT&&array_completeness))的第二条件。当第二条件为假(例如,NAL_unit_type=VPS_NUT&&array_completeness=1)时,可以不存在语法元素numNalus。
在一个实施方式中,当不存在语法元素numNalus时(例如,当第一条件为假)时,语法元素numNalus的值可以被推断为1。
如上文所述,根据本公开的实施方式1,针对被约束为在样本条目中仅具有一个NAL单元的特定NAL单元类型(例如,DCI_NUT和OPI_NUT),可以跳过用信号通知指示NAL单元的数量的语法元素numNalus并且将其推断为预定值(例如,1)。因此,可以防止不必要的信息冗余的发生并且可以减少文件大小(比特数量)。另外,针对特定NAL单元类型,可以防止语法元素numNalus具有与实际值(即,1)不一致的值。
实施方式2
本公开的实施方式2可以基于上述方面2和方面4提供。
具体地,根据实施方式2,当DCI或OPI NAL单元存在于VVC轨道的样本条目中时,语法元素numNalus的值可以被限制为1。
另外,根据实施方式2,当VPS NAL单元存在于VVC轨道的样本条目中并且语法元素array_completeness的值等于第二值(例如,1)时,语法元素numNalus的值可以被推断为1。
以上参照图11描述的语法VvcDecoderConfigurationRecord结构可以基本上等同地应用于实施方式2。然而,与图11的情况不同,可以将以下约束添加到语法元素numNalus。
在一个实施方式中,如果满足以下条件中的一者,则语法元素numNalus的值应为1。
-条件1:语法元素NAL_unit_type的值等于DCI_NUT。
-条件2:语法元素NAL_unit_type的值等于OPI_NUT。
-条件3:语法元素NAL_unit_type的值等于VPS_NUT并且语法元素array_completeness的值等于第二值(例如,1)。
此外,图12的语法VvcDecoderConfigurationRecord结构可以应用于实施方式2。然而,即使在这种情况下,与图12的情况不同,上述约束也可以添加到语法元素numNalus。
如上文所述,根据本公开的实施方式2,针对被约束为在样本条目中仅具有一个NAL单元的特定NAL单元类型(例如,DCI_NUT和OPI_NUT),指示NAL单元的数量的语法元素numNalus的值可以被限制为1。另外,针对特定NAL单元类型,可以防止语法元素numNalus具有与实际值(即,1)不一致的值。
在下文中,将详细描述根据本公开的一个实施方式的用于接收/生成媒体文件的方法。
图13是例示根据本公开的一个实施方式的媒体文件接收方法的流程图。图13的每个步骤可以由媒体文件接收设备执行。在一个示例中,媒体文件接收设备可以对应于图1的接收设备B。
参照图13,媒体文件接收设备可以从自媒体文件生成/接收设备接收的媒体文件中的解码器配置记录获得视频数据的网络抽象层(NAL)单元信息(S1310)。
媒体文件可以具有诸如ISO基本媒体文件格式(ISO BMFF)、共同媒体应用格式(CMAF)等的文件格式。
NAL单元信息可以包括第一信息(例如,numNalus),该第一信息指示针对应用解码器配置记录的流的具有在解码器配置记录中指示的NAL单元类型的NAL单元的数量。
在一个实施方式中,NAL单元信息还可以包括指示所指示的NAL单元类型的第二信息(例如,NAL_unit_type)。
媒体文件接收设备可以基于NAL单元信息对视频数据进行处理(S1620)。这里,视频数据的处理包括对媒体文件进行解封装的过程、从经解封装的媒体文件获得视频数据的过程以及根据视频编解码器标准(例如,VVC标准)对所获得的视频数据进行解码的过程。
在一个实施方式中,基于所指示的NAL单元类型为预定非VCL(非视频编码层)NAL单元类型,可以跳过获得第一信息的步骤。
在一个实施方式中,预定非VCL NAL单元类型可以为解码能力信息(DCI)NAL单元类型或操作点信息(OPI)NAL单元类型。
在一个实施方式中,基于跳过获得第一信息的步骤,可以确定第一信息的值为1。
在一个实施方式中,基于所指示的NAL单元类型为视频参数集(VPS)NAL单元类型并且具有所指示的NAL单元类型的所有NAL单元存在于后续阵列中且不存在于流中,可以跳过获得第一信息的步骤并且可以确定第一信息的值为1。
在一个实施方式中,基于所指示的NAL单元类型为预定非VCL NAL单元类型,从解码器配置记录获得第一信息,并且第一信息的值可以被限制为1。
图14是例示根据本公开的一个实施方式的媒体文件生成方法的流程图。图14的每个步骤可以由媒体文件生成设备执行。在一个示例中,媒体文件生成设备可以对应于图1的发送设备A。
参照图14,媒体文件生成设备可以对视频数据进行编码(S1410)。在一个示例中,可以根据视频编解码器标准(例如,VVC标准)通过预测、变换和量化过程来对视频数据进行编码。
媒体文件生成设备可以生成包括经编码的视频数据的网络抽象层(NAL)单元信息的解码器配置记录(S1420)。
NAL单元信息可以包括第一信息(例如,numNalus),该第一信息指示针对应用解码器配置记录的流的具有在解码器配置记录中指示的NAL单元类型的NAL单元的数量。
在一个实施方式中,NAL单元信息还可以包括指示所指示的NAL单元类型的第二信息(例如,NAL_unit_type)。
然后,媒体文件生成设备可以基于经编码的视频数据和解码器配置记录来生成媒体文件(S1430)。
媒体文件可以具有诸如ISO基本媒体文件格式(ISO BMFF)、共同媒体应用格式(CMAF)等的文件格式。
在一个实施方式中,基于所指示的NAL单元类型为预定非VCL(非视频编码层)NAL单元类型,第一信息可以不被包括在解码器配置记录中。
在一个实施方式中,预定非VCL NAL单元类型可以为解码能力信息(DCI)NAL单元类型或操作点信息(OPI)NAL单元类型。
在一个实施方式中,基于第一信息不被包括在解码器配置记录中,可以确定第一信息的值为1。
在一个实施方式中,基于所指示的NAL单元类型为视频参数集(VPS)NAL单元类型并且所指示的NAL单元类型的所有NAL单元存在于后续阵列中且不存在于流中,第一信息可以不被包括在解码器配置记录中并且可以确定第一信息的值为1。
在一个实施方式中,基于所指示的NAL单元类型为预定非VCL NAL单元类型,第一信息被包括在解码器配置记录中,并且第一信息的值可以被限制为1。
如上文所描述的,根据本公开的一个实施方式,针对特定NAL单元类型(例如,DCI_NUT和OPI_NUT),可以去除指示NAL单元的数量的语法元素numNalus的信令。此外,针对特定NAL单元类型,语法元素numNalus的值可以被限制为1。因此,可以防止不必要的信息冗余的出现并且可以减少文件大小(比特数量)。另外,针对特定NAL单元类型,可以防止语法元素numNalus具有与实际值(即,1)不一致的值。
图15是示出可应用本公开的实施方式的内容流系统的图。
如图15中所示,应用本公开的实施方式的内容流系统可以主要包括编码服务器、流服务器、网络服务器、媒体存储装置、用户装置和多媒体输入装置。
编码服务器将从诸如智能电话、相机、摄像机等多媒体输入装置输入的内容压缩成数字数据以生成比特流并将该比特流发送到流服务器。作为另一示例,当智能电话、相机、摄像机等多媒体输入装置直接生成比特流时,可以省略编码服务器。
比特流可以由应用本公开的实施方式的图像编码方法或图像编码设备产生,并且流服务器可以在发送或接收比特流的过程中暂时存储比特流。
流服务器基于用户通过网络服务器的请求将多媒体数据发送到用户装置,并且网络服务器用作向用户告知服务的媒介。当用户向网络服务器请求所需的服务时,网络服务器可以将其递送到流服务器,并且流服务器可以向用户发送多媒体数据。在这种情况下,内容流系统可以包括单独的控制服务器。在这种情况下,控制服务器用于控制内容流系统中的装置之间的命令/响应。
流服务器可以从媒体存储装置和/或编码服务器接收内容。例如,当从编码服务器接收内容时,可以实时接收内容。在这种情况下,为了提供平滑的流服务,流服务器可以在预定时间内存储比特流。
用户装置的示例可以包括移动电话、智能电话、膝上型计算机、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航设备、板式PC、平板PC、超级本、可穿戴装置(例如,智能手表、智能眼镜、头戴式显示器)、数字电视、台式计算机、数字标牌等。
内容流系统中的各个服务器可以作为分布式服务器运行,在这种情况下,从各个服务器接收的数据可以被分布。
本公开的范围包括用于使根据各种实施方式的方法的操作能够在设备或计算机上执行的软件或机器可执行命令(例如,操作系统、应用、固件、程序等)、具有存储在其上并且可在设备或计算机上执行的此类软件或命令的非暂时性计算机可读介质。
工业适用性
本公开的实施方式可以用于生成并发送/接收媒体文件。

Claims (15)

1.一种由用于接收预定格式的媒体文件的媒体文件接收设备执行的媒体文件接收方法,所述媒体文件包括视频数据,所述媒体文件接收方法包括以下步骤:
从媒体文件中的解码器配置记录获得视频数据的网络抽象层NAL单元信息;以及
基于所述NAL单元信息对所述视频数据进行处理,
其中,所述NAL单元信息包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且
其中,基于所指示的NAL单元类型为预定非视频编码层VCL NAL单元类型,跳过获得所述第一信息的步骤。
2.根据权利要求1所述的媒体文件接收方法,其中,所述预定非VCL NAL单元类型为解码能力信息DCI NAL单元类型或操作点信息OPI NAL单元类型。
3.根据权利要求1所述的媒体文件接收方法,其中,基于跳过获得所述第一信息的步骤,确定所述第一信息的值为1。
4.根据权利要求1所述的媒体文件接收方法,其中,所述NAL单元信息还包括指定所指示的NAL单元类型的第二信息。
5.根据权利要求1所述的媒体文件接收方法,其中,基于所指示的NAL单元类型为视频参数集VPS NAL单元类型并且所指示的NAL单元类型的所有NAL单元存在于后续阵列中且不存在于所述流中,跳过获得所述第一信息的步骤并且确定所述第一信息的值为1。
6.根据权利要求1所述的媒体文件接收方法,其中,基于所指示的NAL单元类型为所述预定非VCL NAL单元类型,从所述解码器配置记录获得所述第一信息,并且所述第一信息的值被限制为1。
7.一种媒体文件接收设备,所述媒体文件接收设备包括存储器和至少一个处理器,所述至少一个处理器被配置为:
从媒体文件中的解码器配置记录获得视频数据的网络抽象层NAL单元信息;以及
基于所述NAL单元信息,对所述视频数据进行处理,
其中,所述NAL单元信息包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且
其中,基于所指示的NAL单元类型为预定非视频编码层VCL NAL单元类型,跳过获得所述第一信息的步骤。
8.一种由用于生成预定格式的媒体文件的设备执行的媒体文件生成方法,所述媒体文件包括视频数据,所述媒体文件生成方法包括以下步骤:
对视频数据进行编码;
生成包括经编码的视频数据的网络抽象层NAL单元信息的解码器配置记录;以及
基于经编码的视频数据和所述解码器配置记录,生成媒体文件,
其中,所述NAL单元信息包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且
其中,基于所指示的NAL单元类型为预定非视频编码层VCL NAL单元类型,所述第一信息不被包括在所述解码器配置记录中。
9.根据权利要求8所述的媒体文件生成方法,其中,所述预定非VCL NAL单元类型为解码能力信息DCI NAL单元类型或操作点信息OPI NAL单元类型。
10.根据权利要求8所述的媒体文件生成方法,其中,基于所述第一信息不在所述解码器配置记录中,确定所述第一信息的值为1。
11.根据权利要求8所述的媒体文件生成方法,其中,所述NAL单元信息还包括指定所指示的NAL单元类型的第二信息。
12.根据权利要求8所述的媒体文件生成方法,其中,基于所指示的NAL单元类型为视频参数集VPS NAL单元类型并且所指示的NAL单元类型的所有NAL单元存在于后续阵列中且不存在于所述流中,所述第一信息不被包括在所述解码器配置记录中并且确定所述第一信息的值为1。
13.根据权利要求8所述的媒体文件生成方法,其中,基于所指示的NAL单元类型为所述预定非VCL NAL单元类型,所述第一信息被包括在所述解码器配置记录中,并且所述第一信息的值被限制为1。
14.一种发送通过根据权利要求8所述的媒体文件生成方法生成的媒体文件的方法。
15.一种媒体文件生成设备,所述媒体文件生成设备包括存储器和至少一个处理器,所述至少一个处理器被配置为:
对视频数据进行编码;
生成包括经编码的视频数据的网络抽象层NAL单元信息的解码器配置记录;以及
基于经编码的视频数据和所述解码器配置记录,生成媒体文件,
其中,所述NAL单元信息包括第一信息,所述第一信息指定针对应用所述解码器配置记录的流的具有在所述解码器配置记录中指示的NAL单元类型的NAL单元的数量,并且
其中,基于所指示的NAL单元类型为预定非视频编码层VCL NAL单元类型,所述第一信息不被包括在所述解码器配置记录中。
CN202180093370.2A 2020-12-17 2021-12-17 生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法 Pending CN116868575A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063127090P 2020-12-17 2020-12-17
US63/127,090 2020-12-17
PCT/KR2021/019266 WO2022131845A1 (ko) 2020-12-17 2021-12-17 Nal 유닛 정보를 포함하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법

Publications (1)

Publication Number Publication Date
CN116868575A true CN116868575A (zh) 2023-10-10

Family

ID=82059448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180093370.2A Pending CN116868575A (zh) 2020-12-17 2021-12-17 生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法

Country Status (4)

Country Link
US (1) US20230412846A1 (zh)
EP (1) EP4266689A1 (zh)
CN (1) CN116868575A (zh)
WO (1) WO2022131845A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2060122A4 (en) * 2006-09-07 2016-04-27 Lg Electronics Inc METHOD AND DEVICE FOR CODING AND DECODING A VIDEO SIGNAL
EP2901688B1 (en) * 2012-09-28 2019-10-23 Nokia Technologies Oy An apparatus and a method for video coding and decoding
US9154785B2 (en) * 2012-10-08 2015-10-06 Qualcomm Incorporated Sub-bitstream applicability to nested SEI messages 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

Also Published As

Publication number Publication date
EP4266689A1 (en) 2023-10-25
US20230412846A1 (en) 2023-12-21
WO2022131845A1 (ko) 2022-06-23

Similar Documents

Publication Publication Date Title
KR102613593B1 (ko) 필수 및 비필수 비디오 보충 정보의 시그널링
US10034010B2 (en) Alignment of operation point sample group in multi-layer bitstreams file format
TW201735608A (zh) 用於產生對視訊之顏色再映射資訊之補充增強資訊訊息之方法及系統
CN114930857A (zh) 用于视频编码的视频数据的存储和传递
US20220201308A1 (en) Media file processing method and device therefor
US20230336761A1 (en) Method for processing media file and device therefor
EP4266689A1 (en) Method and device for generating/receiving media file including nal unit information, and method for transmitting media file
US20230319374A1 (en) Method and device for creating/receiving media file containing layer information, and media file transfer method
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
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
US20240056618A1 (en) Method and device for generating/receiving media file including nal unit array information, and method for transmitting media file
US20240056578A1 (en) Media file generation/reception method and apparatus supporting random access in units of samples, 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
US20230328261A1 (en) Media file processing method and device therefor
EP4329315A1 (en) Method and device for generating/receiving media file on basis of eos sample group, and method for transmitting media file
US20230362456A1 (en) Media file processing method and device
US20240040169A1 (en) Media file processing method and device therefor
US20240031622A1 (en) Media file processing method and device
US20240048768A1 (en) Method and apparatus for generating and processing media file
US20240089518A1 (en) Media file processing method and device
US20240040131A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
US20230345028A1 (en) Media file processing method and apparatus therefor
CN117223290A (zh) 用于基于eos样本组生成/接收媒体文件的方法和设备以及用于发送媒体文件的方法
US20230388508A1 (en) Method and device for generating media file

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