CN107750458A - 分层hevc文件格式中的轨道和操作点信令的设计 - Google Patents

分层hevc文件格式中的轨道和操作点信令的设计 Download PDF

Info

Publication number
CN107750458A
CN107750458A CN201680035387.1A CN201680035387A CN107750458A CN 107750458 A CN107750458 A CN 107750458A CN 201680035387 A CN201680035387 A CN 201680035387A CN 107750458 A CN107750458 A CN 107750458A
Authority
CN
China
Prior art keywords
layer
track
video
file
output file
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.)
Granted
Application number
CN201680035387.1A
Other languages
English (en)
Other versions
CN107750458B (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm 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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107750458A publication Critical patent/CN107750458A/zh
Application granted granted Critical
Publication of CN107750458B publication Critical patent/CN107750458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
    • 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/187Methods 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 scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提供用于产生用于多层视频数据的输出文件的技术和系统,其中所述输出文件是根据文件格式而产生。还提供用于处理根据所述文件格式产生的输出文件的技术和系统。所述多层视频数据可以是例如使用L‑HEVC视频编码算法经编码的视频数据。所述文件格式可基于ISO基础媒体文件格式ISOBMFF。所述输出文件可包含多个轨道。产生所述输出文件可包含根据限制产生所述输出文件。所述限制可以是所述多个轨道中的每一轨道包括来自所述多层视频数据的至多一个层。也可以根据所述多个轨道中的每一者不包含聚合器或提取器中的至少一者的限制来产生所述输出文件。

Description

分层HEVC文件格式中的轨道和操作点信令的设计
技术领域
本公开涉及呈文件格式的视频内容的存储。更具体来说,本发明涉及在根据ISO基础媒体文件格式和基于ISO基础媒体文件格式导出的文件格式形成的一或多个文件中的分层高效视频译码(L-HEVC)位流的存储的轨道和操作点信息的设计。
背景技术
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual、ITU-T H.264或ISO/IEC MPEG-4AVC,包含分别称为SVC和MVC的可缩放视频译码和多视图视频译码扩展,以及也被称作ITU-TH.265和ISO/IEC 23008-2的高效视频译码(HEVC),包含可缩放译码(可缩放高效视频译码、SHVC)和多视图(多视图高效视频译码、MV-HEVC)扩展。
发明内容
在各种实施方案中,提供用于产生用于多层视频数据的输出文件的技术和系统,其中所述输出文件是根据文件格式而产生。还提供用于处理根据所述文件格式产生的输出文件的技术和系统。所述多层视频数据可以是例如使用分层高效视频译码(L-HEVC)视频编码算法经编码的视频数据。文件格式可以基于ISO基础媒体文件格式(ISOBMFF)。
在各种实施方案中,可提供用于产生输出文件的方法。所述方法可包含处理多层视频数据,例如使用基于L-HEVC的算法产生的视频数据。所述多层视频数据可包含多个层,其中每一层可包含至少一个图片单元。图片单元可包含至少一个视频译码层(VCL)网络抽象层(NAL)单元,且还可包含与所述图片单元相关联的非VCL NAL单元。所述方法可进一步包含使用格式产生用于多层视频数据的输出文件。所述输出文件可包含多个轨道。产生所述输出文件可包含根据限制产生所述输出文件。所述限制可以是所述多个轨道中的每一轨道包括来自所述多层视频数据的至多一个层。也可以根据所述多个轨道中的每一者不包含聚合器或提取器中的至少一者的限制来产生所述输出文件。聚合器可包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构。提取器可包含实现NAL单元从除了含有媒体数据的轨道之外的其它轨道的提取的结构。
在各种实施方案中,提供包含一或多个处理器和非暂时性计算机可读媒体的设备。文件。所述设备可以是例如视频编码装置。所述非暂时性计算机可读媒体可包含当由所述一或多个处理器执行时致使所述一或多个处理器执行用于产生输出文件的操作的指令。在各种实施方案中,所述指令可致使所述一或多个处理器执行包含处理多层视频数据的操作。所述多层视频数据可包含多个层,其中每一层可包含至少一个图片单元。图片单元可包含至少一个VCL NAL单元,且还可包含与图片单元相关联的非VCL NAL单元。所述指令可进一步致使所述一或多个处理器执行包含使用格式产生用于多层视频数据的输出文件的操作。所述输出文件可包含多个轨道。产生输出文件可包含根据限制产生输出文件。所述限制可以是所述多个轨道中的每一轨道包括来自所述多层视频数据的至多一个层。所述输出文件也可根据所述多个轨道中的每一者不包含聚合器或提取器中的至少一者的限制而产生。聚合器可包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构。提取器可包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,提供有形地体现于非暂时性机器可读存储媒体中的计算机程序产品。所述计算机程序产品可包含在由一或多个处理器执行时致使所述一或多个处理器产生输出文件的指令。在各种实施方案中,所述指令可致使所述一或多个处理器处理多层视频数据。所述多层视频数据可包含多个层,其中每一层可包含至少一个图片单元。图片单元可包含至少一个VCL NAL单元,且还可包含与图片单元相关联的非VCL NAL单元。所述指令可进一步致使所述一或多个处理器使用格式产生用于多层视频数据的输出文件。所述输出文件可包含多个轨道。产生输出文件可包含根据限制产生输出文件。所述限制可以是所述多个轨道中的每一轨道包括来自所述多层视频数据的至多一个层。所述输出文件也可根据所述多个轨道中的每一者不包含聚合器或提取器中的至少一者的限制而产生。聚合器可包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构。提取器可包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,提供包含用于产生输出文件的装置的设备。所述设备可包含用于处理多层视频数据的装置。所述多层视频数据可包含包含多个层的视频数据。来自所述多个层的每一层可包含至少一个图片单元。图片单元可包含至少一个VCL NAL单元且还可包含与多层视频数据相关联的非VCL NAL单元。所述设备可进一步包含用于产生与多层视频数据相关联的输出文件的装置。所述输出文件可使用格式而产生。所述输出文件可进一步包含多个轨道。产生输出文件可包含用于根据限制产生输出文件的装置。所述限制可以是来自所述多个轨道的每一轨道包括来自多层视频的至多上层。产生输出文件可进一步包含来自所述多个轨道的每一轨道不包含聚合器或提取器中的至少一者的限制。聚合器可包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构。提取器可包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,产生用于多层视频数据的输出文件可进一步包括使样本条目名称与输出文件关联。所述样本条目名称可指示输出文件中的所述多个轨道中的每一轨道包含至多层。所述样本条目可进一步指示来自所述多个轨道的每一轨道不包含聚合器或提取器中的至少一者。
在各种实施方案中,样本条目名称可以是文件类型。文件类型可包含在输出文件中。在各种实施方案中,产生输出文件可进一步包含不产生轨道内容信息(tcon)盒。
在各种实施方案中,产生输出文件可进一步包含产生用于所述一或多个轨道中的每一者的层识别符。层识别符可识别包含在轨道中的层。
在各种实施方案中,产生输出文件可进一步包含产生操作点信息(oinf)盒。oinf盒可包含包含在多层视频数据中的一或多个操作点的列表。操作点可与一或多个层相关联。oinf盒可指示所述多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
在各种实施方案中,所述多层视频数据可进一步包含一或多个时间子层。在此实施方案中,产生输出文件可包含约束所述格式以使得来自所述多个轨道的每一轨道包含来自多层视频数据的至多一个层或一个时间子层。
在各种实施方案中,所述多层视频数据可以是L-HEVC视频数据。在各种实施方案中,输出文件的格式可包含ISO基础媒体文件格式。
在各种实施方案中,提供用于处理输出文件的方法。所述方法可包含处理输出文件的样本条目名称。输出文件可与多层视频数据相关联。所述多层视频数据可包含多个层,其中每一层包含至少一个图片单元。图片单元可包含至少一个视频译码层(VCL)网络抽象层(NAL)单元。图片单元还可包含与多层视频数据相关联的非VCL NAL单元。所述输出文件可进一步包含多个轨道。所述方法可进一步包含基于输出文件的样本条目名称确定输出文件中的所述多个轨道中的每一轨道包含至多一个层。所述方法可进一步包含确定所述多个轨道中的每一者不包含聚合器或提取器中的至少一者。聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放群组的结构。提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,提供包含一或多个处理器和非暂时性计算机可读媒体的设备。所述设备可以是例如视频解码装置。所述非暂时性计算机可读媒体可包含当由所述一或多个处理器执行时致使所述一或多个处理器执行用于处理输出文件的操作的指令。在各种实施方案中,所述指令可致使所述一或多个处理器执行包含处理输出文件的样本条目名称的操作。输出文件可与多层视频数据相关联。所述多层视频数据可包含多个层,其中每一层包含至少一个图片单元。图片单元可包含至少一个VCL NAL单元。图片单元还可包含与多层视频数据相关联的非VCL NAL单元。所述输出文件可进一步包含多个轨道。所述指令可进一步致使所述一或多个处理器执行包含以下的操作:基于输出文件的样本条目名称而确定输出文件中的所述多个轨道中的每一轨道包含至多一个层。所述指令可进一步致使所述一或多个处理器执行包含以下的操作:确定所述多个轨道中的每一者不包含聚合器或提取器中的至少一者。聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放群组的结构。提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,提供有形地体现于非暂时性机器可读存储媒体中的计算机程序产品。所述计算机程序产品可包含在由一或多个处理器执行时致使所述一或多个处理器处理输出文件的指令。在各种实施方案中,所述指令可致使所述一或多个处理器处理输出文件的样本条目名称。输出文件可与多层视频数据相关联。所述多层视频数据可包含多个层,其中每一层包含至少一个图片单元。图片单元可包含至少一个VCL NAL单元。图片单元还可包含与多层视频数据相关联的非VCL NAL单元。所述输出文件可进一步包含多个轨道。所述指令可进一步致使所述一或多个处理器基于输出文件的样本条目名称而确定输出文件中的所述多个轨道中的每一轨道包含至多一个层。所述指令可进一步致使所述一或多个处理器确定所述多个轨道中的每一者不包含聚合器或提取器中的至少一者。聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放群组的结构。提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,提供包含用于处理输出文件的装置的设备。所述设备可包含用于处理输出文件的样本条目名称的装置。输出文件可与多层视频数据相关联。所述多层视频数据可包含多个层,其中每一层包含至少一个图片单元。图片单元可包含至少一个VCLNAL单元。图片单元还可包含与多层视频数据相关联的非VCL NAL单元。所述输出文件可进一步包含多个轨道。所述设备可进一步包含用于基于输出文件的样本条目名称而确定样本输出文件中的每一轨道包含来自多层视频数据的至多一个层的装置。所述设备可进一步包含用于确定输出文件中的每一轨道不包含聚合器或提取器中的至少一者的装置。聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放群组的结构。提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在各种实施方案中,样本条目名称是文件类型,且文件类型包含在输出文件中。在各种实施方案中,输出文件不包含轨道内容信息(tcon)盒。在各种实施方案中,输出文件包含用于所述一或多个轨道中的每一者的层识别符。层识别符可识别包含在轨道中的层。
在各种实施方案中,输出文件可包含操作点信息(oinf)盒。oinf盒可包含包含在多层视频数据中的一或多个点的列表。操作点可与一或多个层相关联。oinf盒可指示所述一或多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
在各种实施方案中,所述多层视频数据可进一步包含一或多个时间子层。在这些实施方案中,来自所述一或多个轨道的每一轨道可包含来自多层视频数据的至多一个层或一个时间子层。
在各种实施方案中,所述多层视频数据是分层高效视频译码(L-HEVC)视频数据。在各种实施方案中,输出文件是使用格式而产生,其中所述格式包含ISO基础媒体文件格式。
附图说明
下文参考以下附图详细描述说明性实施例:
图1是说明包含编码装置104和解码装置的系统的实例的框图;
图2图解说明遵循ISO基础媒体文件格式的实例文件结构;
图3图解说明包含含有多个层的视频轨道的文件的实例;
图4图解说明包含三个轨道的文件的实例,每一轨道含有至多一个层;
图5图解说明其中每一轨道包含至多一个层的文件的另一实例;
图6图解说明用于对视频数据进行编码的过程的实例;
图7图解说明用于对视频数据进行解码的过程的实例;
图8是说明可实施本发明中描述的技术中的一或多个的实例编码装置的框图;以及
图9是说明实例解码装置的框图。
具体实施方式
下文提供了本发明的某些方面和实施例。如对于所属领域的技术人员来说将显而易见的是,这些方面和实施例中的一些可以独立地应用并且它们中的一些可以组合应用。在以下描述中,出于解释的目的,阐述特定细节以便提供对本发明的实施例的透彻理解。然而,很明显,可在无这些具体细节的情况下实践各种实施例。图式和描述并不意图为限制性的。
以下描述仅提供示范性实施例,且并不意图限制本发明的范围、适用性或配置。而是,示范性实施例的以下说明将为本领域的技术人员提供用于实施示范性实施例的实现描述。应理解,在不脱离如在所附权利要求书中所阐述的本发明的精神和范围的情况下,可对元件的功能和布置进行各种改变。
在以下描述中给出具体细节以提供对实施例的透彻理解。然而,所属领域的技术人员应理解,所述实施例可以在没有这些具体细节的情况下实践。举例来说,电路、系统、网络、过程和其它组件可以框图形式示出为组件以免以不必要的细节混淆实施例。在其它情况下,在没有不必要的细节的情况下示出熟知的电路、过程、算法、结构以及技术以便避免混淆实施例。
此外,应注意,个别实施例可描述为经描绘为流程图、作业图、数据流图、结构图或框图的过程。尽管流程图可将操作描述为连续过程,但许多操作可并行或同时执行。另外,可以重新布置操作的顺序。过程在过程的操作完成时终止,但是可以具有不包含在图中的额外步骤。过程可以对应于方法、功能、程序、子例程、子程序等。当过程对应于函数时,过程的终止可对应于函数返回到调用函数或主函数。
术语“计算机可读媒体”包含但不限于便携式或非便携式存储装置、光学存储装置以及能够存储、包含或运载指令和/或数据的各种其它媒体。计算机可读媒体可能包含非暂时性媒体,在非暂时性媒体中可以存储数据,并且非暂时性媒体并不包含无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性媒体的实例可包含(但不限于)磁盘或磁带、光学存储媒体,例如光盘(CD)或数字通用光盘(DVD)、快闪存储器、存储器或存储器装置。计算机可读媒体可具有存储在其上的可表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类别的代码和/或机器可执行指令,或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输或类似者的任何合适的装置传递、转发或传输。
此外,实施方案可以由硬件、软件、固件、中间件、微码、硬件描述语言或其任何组合来实施。当以软件、固件、中间件或微码实施时,用以执行必要任务的程序代码或代码段(例如,计算机程序产品)可存储在计算机可读或机器可读媒体中。包括电路(例如,集成电路)的处理器可经配置以执行必要任务。
随着越来越多的装置和系统为消费者提供消费数字视频数据的能力,对于高效视频译码技术的需要变得越来越重要。需要视频译码以减少处理存在于数字视频数据中的大量数据所必需的存储和传输需要。各种视频译码技术可用以在维持高视频质量的同时将视频数据压缩成使用较低位率的形式。
数字视频数据可以被存储和/或输送以用于各种目的。举例来说,流媒体提供者可以将电影的数字副本存储在数据库服务器上,且将电影经由因特网传输到观看者。为了存储和/或输送视频数据,可以将视频数据放置于一或多个文件中。各种格式可用以将视频数据存储于文件中。一种此类格式是国际标准组织(ISO)基础媒体文件格式(ISOBMFF)。
例如电影等给定视频也可以各种不同方式编码,包含处于不同质量、分辨率、帧速率和/或深度。同一视频也可具有不同的时间编码,例如30帧/秒(fps)或60fps。分层HEVC(L-HEVC)是以多种方式提供视频编码的一个视频压缩标准,其中每一编码(例如,质量、分辨率、帧速率、深度等)可以称为层。用于单个视频的各种层可存储于同一文件或文件群组中。ISOBMFF指定视频数据(和相关联音频数据)可存储于文件中处于若干轨道中(例如,一或多个视频轨道、一或多个音频轨道等)。ISOBMFF进一步指定一或多个层可存储于一个轨道中。通常,编码器装置可经配置以确定给定视频的层如何存储到文件中的轨道中。文件可进一步包含允许解码器装置确定如何从文件中的轨道解封装层的信息。
允许每轨道任何数目的层可能产生解码器的过度复杂性。举例来说,给定包含三个层的视频,可针对所述视频产生文件,所述文件包含每层一个轨道的三个轨道、含有所有层的一个轨道、或含有一个层的一个轨道和含有两个层的一个轨道以及其它变化。当文件也被构造为具有用于增加的封装效率的结构(例如聚合器或提取器)时,单个视频可写入文件的不同方式的数目可以显著地增加。接收分层视频数据的解码器装置可能需要支持当允许多个层存储于一个轨道中时会带来的所有不同文件格式。
在各种实施方案中,提供用于将视频文件的格式约束为具有每轨道至多一个层的系统和方法。通过约束视频文件的格式,吸入给定视频的每一层存储于至多一个轨道中,解码器装置将需要支持的文件格式的数目极大地减少。将视频编码为文件也极大地简化。
图1是说明包含编码装置104和解码装置112的系统100的实例的框图。编码装置104可为源装置的一部分,且解码装置112可为接收装置的一部分。源装置和/或接收装置可能包含电子装置,例如,移动或静止电话手持机(例如,智能电话、蜂窝式电话或类似物)、桌上型计算机、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或任何其它合适的电子装置。在一些实例中,源装置和接收装置可以包含一或多个无线收发器以用于无线通信。本文所描述的译码技术适用于各种多媒体应用中的视频译码,包含串流视频传输(例如,经由因特网)、电视广播或传输、用于数据存储媒体上的存储的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统100可以支持单向或双向视频传输,以支持例如视频会议、视频流式传输、视频重放、视频广播游戏和/或视频电话的应用。
编码装置104(或编码器)可用以使用视频译码标准或协议对视频数据进行编码以产生经编码视频位流。视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T
H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual以及ITU-T
H.264(也被称作ISO/IEC MPEG-4AVC),包含分别被称为SVC和MVC的其可缩放视频译码和多视图视频译码扩展。更为新近的视频译码标准、高效视频译码(HEVC)已经由ITU-T视频译码专家组(VCEG)和ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)完成。HEVC的各种扩展涉及多层视频译码并且也是由JCT-VC研发出来的,所述扩展包含HEVC的多视图扩展(被称作MV-HEVC)以及HEVC的可缩放扩展(被称作SHVC),或任何其它合适的译码协议。
本文中描述的许多实施例使用HEVC标准或其扩展来描述实例。然而,本文所描述的技术和系统也可以适用于其它译码标准,例如AVC、MPEG、其扩展,或已经可用或尚未可用或待开发的其它合适的译码标准。相应地,虽然本文中描述的技术和系统可以参考特定视频译码标准描述,但是所属领域的一般技术人员将理解描述不应解释为仅适用于特定标准。
视频源102可将视频数据提供到编码装置104。视频源102可为源装置的一部分,或可为除源装置以外的装置的一部分。视频源102可包含视频捕获装置(例如,摄像机、相机电话、视频电话或类似者)、含有所存储的视频的视频存档、提供视频数据的视频服务器或内容提供商、从视频服务器或内容提供商接收视频的视频馈送接口、用于产生计算机图形视频数据的计算机图形系统、此类来源的组合,或任何其它合适的视频源。视频源102的一个实例可包含因特网协议相机(IP相机)。IP相机是可用于监控、家庭安全性或其它合适应用的一类数字摄像机。不同于模拟闭路电视(CCTV)相机,IP相机可经由计算机网络和因特网发送且接收数据。
来自视频源102的视频数据可以包含一或多个输入图片或帧。图片或帧是视频的一部分的静态图像。编码装置104的编码器引擎106(或编码器)对视频数据进行编码以产生经编码视频位流。在一些实例中,经编码视频位流(或“视频位流”或“位流”)是一系列一或多个经译码视频序列。经译码视频序列(CVS)包含一系列存取单元(AU),从具有基础层中的随机存取点图片且具有某些性质的AU开始,直到具有基础层中的随机存取点图片且具有某些性质的下一AU且不包含所述下一AU。举例来说,开始CVS的随机存取点图片的某些性质可以包含等于1的RASL旗标(例如,NoRaslOutputFlag)。否则,随机存取点图片(具有等于0的RASL旗标)不开始CVS。存取单元(AU)包含一或多个经译码图片以及对应于共享同一输出时间的经译码图片的控制信息。图片的经译码切片在位流层级中囊封于数据单元中,称为网络抽象层(NAL)单元。举例来说,HEVC视频位流可以包含一或多个包含NAL单元的CVS。在HEVC标准中存在两类NAL单元,包含视频译码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元包含经译码图片数据的一个切片或切片片段(下文描述),且非VCL NAL单元包含与一或多个经译码图片有关的控制信息。
NAL单元可以含有形成视频数据的经译码表示的位序列(例如,经编码视频位流、位流的CVS或类似物),例如视频中的图片的经译码表示。编码器引擎106通过将每一图片分割成多个切片来产生图片的经译码表示。切片随后被分割成明度样本和色度样本的译码树块(CTB)。明度样本的CTB和色度样本的一或多个CTB连同样本的语法一起被称作译码树单元(CTU)。CTU是用于HEVC编码的基本处理单元。CTU可以被分裂成不同大小的多个译码单元(CU)。CU包含被称作译码块(CB)的明度和色度样本阵列。
明度和色度CB可进一步分裂成预测块(PB)。PB是使用用于帧间预测的相同运动参数的明度或色度分量的样本的块。明度PB和一或多个色度PB连同相关联的语法形成预测单元(PU)。在位流中针对每个PU用信号表示运动参数集合,并且所述运动参数集合用于明度PB和一或多个色度PB的帧间预测。CB也可以被分割成一或多个变换块(TB)。TB表示颜色分量的样本的正方形块,对所述颜色分量的相同二维变换应用于对预测残余信号进行译码。变换单元(TU)表示明度和色度样本的TB以及对应的语法元素。
CU的大小对应于译码节点的大小,且形状可为正方形。举例来说,CU的大小可以是8x8个样本、16x16个样本、32x32个样本、64x64个样本,或高达对应的CTU的大小的任何其它适当大小。短语“NxN”在本文中用以在垂直和水平尺寸方面指代视频块的像素尺寸(例如,8像素x 8像素)。块中的像素可布置成行和列。在一些实施例中,块可在水平方向上不具有与在垂直方向上相同数目的像素。举例来说,与CU相关联的语法数据可描述CU分割成一或多个PU。分割模式可在CU经帧内预测模式编码或是经帧间预测模式编码之间有所不同。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据CTU分割成一或多个TU。TU可为正方形或非正方形形状。
根据HEVC标准,使用变换单元(TU)执行变换。TU可以针对不同CU发生改变。TU可以基于给定CU内的PU的大小而设定大小。TU可与PU大小相同或小于PU。在一些实例中,可使用被称为残余四叉树(RQT)的四叉树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可以对应于TU。可以对与TU相关联的像素差值进行变换以产生变换系数。接着可通过编码器引擎106量化变换系数。
一旦视频数据的图片被分割成CU,则编码器引擎106使用预测模式预测每个PU。随后从原始视频数据中减去预测以获得残余(下文描述)。对于每个CU,可以在位流内部使用语法数据用信号表示预测模式。预测模式可以包含帧内预测(或图片内预测)或帧间预测(或图片间预测)。使用帧内预测,每个PU是从相同图片中的相邻图像数据中预测的,方法是使用例如DC预测以寻找PU的平均值、使用平面预测以配合PU的平面表面、使用方向预测以从相邻数据中进行推断,或者使用任何其它合适类型的预测。使用帧间预测,每个PU是使用运动补偿预测从一或多个参考图片中的图像数据预测的(在当前图片按输出次序之前或之后)。举例来说,可以在CU层级作出是使用图片间还是图片内预测对图片区域进行译码的决策。在一些实例中,图片的一或多个切片被指派切片类型。切片类型包含I切片、P切片和B切片。I切片(帧内、可独立解码)是图片的仅通过帧内预测经译码的切片,并且因此可独立解码,因为I切片仅需要帧内的数据来预测切片的任何块。P切片(单向预测帧)是图片的可以通过帧内预测和单向帧间预测译码的切片。P切片内的每一块是通过帧内预测或帧间预测译码的。当帧间预测适用时,仅通过一个参考图片来预测块,并且因此参考样本仅来自一个帧的一个参考区。B切片(双向预测性帧)是图片的可以通过帧内预测和帧间预测译码的切片。B切片的块可以从两个参考图片双向预测,其中每一图片贡献一个参考区且两个参考区的样本集合经加权(例如,以相等权重)以产生双向经预测块的预测信号。如上文所解释,一个图片的切片独立地经译码。在一些情况下,图片可经译码为仅一个切片。
PU可以包含与预测过程相关的数据。举例来说,当PU使用帧内预测编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU使用帧间预测编码时,PU可以包含界定PU的运动向量的数据。定义PU的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,及/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
编码装置104接着可执行变换和量化。举例来说,在预测之后,编码器引擎106可以计算对应于PU的残余值。残余值可包括像素差值。在预测执行之后可能剩余的任何残余数据是使用块变换进行变换,所述块变换可以基于离散余弦变换、离散正弦变换、整数变换、小波变换或其它合适的变换功能。在一些情况下,一或多个块变换(例如,大小32x 32、16x16、8x8、4x4或类似物)可以应用于每一CU中的残余数据。在一些实施例中,TU可用于由编码器引擎106实施的变换和量化过程。给定的具有一或多个PU的CU还可包含一或多个TU。如下文中进一步描述,可使用块变换将残余值变换成变换系数,且接着可使用TU对其进行量化和扫描以产生用于熵译码的串行化变换系数。
在一些实施例中,在使用CU的PU的帧内预测性或帧间预测性译码后,编码器引擎106可以计算CU的TU的残余数据。PU可以包括空间域(或像素域)中的像素数据。TU可包括在块变换的应用之后的变换域中的系数。如前文所述,残余数据可以对应于在未经编码图片的像素与对应于PU的预测值之间的像素差值。编码器引擎106可形成包含CU的残余数据的TU,并且接着可变换TU以产生CU的变换系数。
编码器引擎106可以执行变换系数的量化。量化通过对变换系数进行量化以减小用于表示系数的数据的量来提供进一步压缩。举例来说,量化可以减小与系数中的一些或全部相关联的位深度。在一个实例中,可在量化期间将具有n位值的系数向下舍入到m位值,其中n大于m。
一旦执行量化,经译码视频位流便包含经量化变换系数、预测信息(例如,预测模式、运动向量或类似物)、分割信息和任何其它合适的数据,例如其它语法数据。经译码视频位流的不同元素可随后由编码器引擎106进行熵编码。在一些实例中,编码器引擎106可利用预定义扫描顺序来扫描经量化的变换系数以产生可经熵编码的串行化向量。在一些实例中,编码器引擎106可以执行自适应扫描。在扫描经量化变换系数以形成向量(例如,一维向量)之后,编码器引擎106可以对向量进行熵编码。举例来说,编码器引擎106可以使用上下文适应性可变长度译码、上下文自适应二进制算术译码、基于语法上下文自适应二进制算术译码的、概率区间分割熵译码或另一合适的熵编码技术。
编码装置104的输出110可以将构成经编码视频位流数据的NAL单元经由通信链路120发送到接收装置的解码装置112。解码装置112的输入114可以接收NAL单元。通信链路120可以包含由无线网络、有线网络或有线和无线网络的组合提供的信道。无线网络可以包含任何无线接口或无线接口的组合并且可以包含任何合适的无线网络(例如,因特网或其它广域网、基于数据包的网络、WiFiTM、射频(RF)、UWB、WiFi-Direct、蜂窝式、长期演进(LTE)、WiMaxTM或类似物)。有线网络可以包含任何有线接口(例如,纤维、以太网、电力线以太网、同轴电缆上的以太网、数字信号线(DSL)或类似物)。有线和/或无线网络可以使用各种设备(例如基站、路由器、接入点、桥接器、网关、交换机或类似者)实施。经编码视频位流数据可以根据例如无线通信协议等通信标准来调制,且发射到接收装置。
在一些实例中,编码装置104可以在存储装置108中存储经编码视频位流数据。输出110可以从编码器引擎106或从存储装置108检索经编码视频位流数据。存储装置108可以包含多种分布式或本地存取的数据存储媒体中的任一种。举例来说,存储装置108可以包含硬盘驱动器、存储盘、快闪存储器易失性或非易失性存储器或用于存储经编码的视频数据的任何其它合适的数字存储媒体。
解码装置112的输入114接收经编码视频位流数据,且可将视频位流数据提供到解码器引擎116或存储装置118以用于由解码器引擎116稍后使用。解码器引擎116可以通过熵解码(例如,使用熵解码器)且提取构成经编码视频数据的一或多个经译码视频序列的元素而对经编码视频位流数据进行解码。解码器引擎116可随后重新按比例缩放并且对经编码视频位流数据执行逆变换。随后将残余数据传递到解码器引擎116的预测级。解码器引擎116随后预测像素块(例如,PU)。在一些实例中,将预测添加到逆变换的输出(残余数据)。
解码装置112可以将经解码视频输出到视频目的地装置122,所述目的地装置可以包含显示器或其它输出装置以用于向内容的消费者显示经解码视频数据。在一些方面,视频目的地装置122可以是包含解码装置112的接收装置的一部分。在一些方面,视频目的地装置122可为不同于接收装置的单独装置的一部分。
补充增强信息(SEI)消息可包含在视频位流中。举例来说,SEI消息可用以运载并不重要的信息(例如,元数据)以便由解码装置112解码位流。此信息有用于改善经解码输出的显示或处理(例如,此信息可由解码器侧实体使用以改善内容的可观看性)。
在一些实施例中,视频编码装置104和/或视频解码装置112可以相应地与音频编码装置和音频解码装置集成。视频编码装置104和/或视频解码装置112还可以包含实施上文所述的译码技术所必需的其它硬件或软件,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码装置104和视频解码装置112可以集成为相应的装置中的组合编码器/解码器(编解码器)的一部分。
对HEVC标准的扩展包含称为MV-HEVC的多视图视频译码扩展以及称为SHVC的可缩放视频译码扩展。MV-HEVC和SHVC扩展共享分层译码的概念,分层译码具有包含于经编码视频位流中的不同层。经译码视频序列中的每一层通过唯一层识别符(ID)寻址。层ID可以存在于NAL单元的标头中以识别NAL单元与之相关联的层。在MV-HEVC中,不同层可表示所述视频位流中的同一场景的不同视图。在SHVC中,提供表示不同空间分辨率(或图象分辨率)或不同重建保真度的视频位流的不同可缩放层。可缩放层可以包含基础层(具有层ID=0)和一或多个增强层(具有ID=1、2……n)。基础层可以符合HEVC的第一版本的简档,并且表示在位流中的最低可用层。与基础层相比,增强层具有增加的空间分辨率、时间分辨率或帧速率和/或重构保真度(或质量)。增强层是阶层式组织的并且可(或可不)依赖于较低层。在一些实例中,不同层可以使用单个标准编码解码器译码(例如,全部层使用HEVC、SHVC或其它译码标准进行编码)。在一些实例中,可使用多标准编解码器对不同层进行译码。举例来说,基础层可以使用AVC进行译码,而一或多个增强层可以使用HEVC标准的SHVC和/或MV-HEVC扩展进行译码。一般来说,层包含VCL NAL单元集合和对应的非VCL NAL单元集合。NAL单元被指派特定层ID值。在层可依赖于较低层的意义上,层可为阶层式的。
如先前描述,HEVC位流包含NAL单元的群组,包含VCL NAL单元和非VCL NAL单元。除其它信息之外,非VCL NAL单元还可含有具有与经编码视频位流有关的高层级信息的参数集。举例来说,参数集可包含视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)。参数集的目标的实例包含位速率效率、错误弹性以及提供系统层接口。每一切片参考单个作用中的PPS、SPS和VPS以存取解码装置112可以用于解码切片的信息。可译码用于每一参数集的识别符(ID),包含VPS ID、SPS ID和PPS ID。SPS包含SPS ID和VPS ID。PPS包含PPS ID和SPS ID。每一切片标头包含PPS ID。使用ID,可识别针对给定切片的作用中的参数集。
VCL NAL单元包含形成经译码视频位流的经译码图片数据。在HEVC标准中定义各种类型VCL NAL单元,如下方表A中所说明。在单层位流中,如第一HEVC标准中定义,包含于AU中的VCL NAL单元具有相同NAL单元类型值,所述NAL单元类型值界定AU的类型以及AU内的经译码图片的类型。举例来说,特定AU的VCL NAL单元可以包含瞬时解码刷新(IDR)NAL单元(值19),从而使AU为IDR AU且使AU的经译码图片为IDR图片。给定类型的VCL NAL单元与包含于VCL NAL单元中的图片或其部分(例如,VCL NAL单元中的图片的切片或切片片段)相关。HEVC标准中定义三类图片,包含前导图片、拖尾图片以及帧内随机存取(IRAP)图片(也被称作“随机存取图片”)。在多层位流中,AU内的图片的VCL NAL单元具有相同NAL单元类型值和相同类型的经译码图片。举例来说,含有类型IDR的VCL NAL单元的图片称为AU中的IDR图片。在另一实例中,当AU含有作为在基础层(层ID等于0)的IRAP图片的图片时,AU是IRAPAU。
文件格式标准包含ISO基础媒体文件格式(ISOBMFF,也被称作ISO/IEC 14496-12)以及从ISOBMFF导出的其它文件格式,包含MPEG-4文件格式(也被称作ISO/IEC14496-14)、3GPP文件格式(也被称作3GPP TS 26.244)以及AVC文件格式(也被称作ISO/IEC 14496-15)。一般来说,ISO/IEC 14496-15规范可以用作用于基于NAL单元的编解码器的文件格式(例如,AVC、SVC、MVC、HEVC、SHVC和MV-HEVC)。用于分层HEVC(L-HEVC)文件格式的标准从位于http://phenix.int-every.fr的MPEG委员会的网站可用。
ISOBMFF可用作许多编解码器囊封格式(例如,AVC文件格式)以及许多多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)、DVB文件格式或其它合适的格式)的基础。
除连续媒体(例如,音频和视频)之外,静态媒体(例如,图像)和元数据也可存储于符合ISOBMFF的文件中。根据ISOBMFF结构化的文件可以用于许多目的,包含本地媒体文件重放、远程文件的渐进下载、作为用于HTTP上的动态自适应流式传输(DASH)的片段、作为用于待串流的内容和用于内容的包化指令的容器,以及用于所接收实时媒体流的记录,和/或其它用途。
盒(box)是ISOBMFF中的基本语法结构。盒可以包含四字符经译码盒类型、盒的字节计数以及有效负载。ISOBMFF文件包含一系列盒,并且盒可以含有其它盒。电影盒(“moov”)含有用于存在于文件中的连续媒体流的元数据,每一者在文件中表示为轨道。轨道的元数据封闭在轨道盒(“trak”)中,而轨道的媒体内容或者封闭在媒体数据盒(“mdat”)中或者直接地封闭在单独的文件中。轨道的媒体内容包含一系列样本,例如音频或视频存取单元。
ISOBMFF规定以下类型的轨道:媒体轨道(含有基础媒体流)、提示轨道(包含媒体传输指令或者表示接收到的包流)和定时元数据轨道(包括时间同步的元数据)。
虽然原始被设计用于存储,但ISOBMFF已经被证明为对于流式传输是有价值的(例如,用于渐进下载或DASH)。出于流式传输的目的,可以使用在ISOBMFF中定义的电影片段。
用于每一轨道的元数据可以包含样本描述条目的列表,每一条目提供在轨道中使用的译码或囊封格式以及处理所述格式所需要的初始化数据。每一样本与轨道的样本描述条目中的一个相关联。
ISOBMFF实现了以各种机制指定样本特定的元数据。已经标准化在样本表盒(“stbl”)内的特定盒以响应于通用需要。举例来说,同步样本盒(“stss”)用以列出轨道的随机存取样本。样本分组机制实现根据四字符分组类型将样本映射到共享相同性质的样本的群组中,所述性质被规定为文件中的样本群组描述条目。在ISOBMFF中已经规定了若干分组类型。
ISOBMFF规范规定与DASH一起使用的流存取点(SAP)的六种类型。前两个SAP类型(类型1和2)对应于H.264/AVC和HEVC中的瞬时解码刷新(IDR)图片。IDR图片是在解码器处完全刷新或重新初始化解码过程且开始的新经译码视频序列的帧内图片(I图片)。在一些实例中,IDR图片和按解码次序跟随IDR图片的任何图片无法取决于按解码次序在所述IDR图片之前出现的任何图片。第三SAP类型(类型3)对应于开放GOP(图片群组)随机存取点,例如HEVC中的断链存取(BLA)或清洁随机存取(CRA)图片。CRA图片也是I图片。CRA图片可以不刷新解码器且可以不开始新的经译码视频序列(CVS),从而允许CRA图片的前导图片取决于按解码次序在CRA图片之前出现的图片。随机存取可以在CRA图片处通过对以下各项进行解码而完成:CRA图片,与CRA图片相关联的不取决于按解码次序在所述CRA图片之前出现的任何图片的前导图片,以及按解码和输出次序跟随CRA的所有相关联图片。在一些情况下,CRA图片可以不具有相关联前导图片。在多层情况中,属于具有大于零的层ID的层的IDR或CRA图片可以是P图片或B图片,但这些图片仅可使用从与所述IDR或CRA图片属于同一存取单元且具有小于含有所述IDR或CRA图片的层的层ID的其它图片的层间预测。第四SAP类型(类型4)对应于逐渐解码刷新(GDR)随机存取点。
ISO基础媒体文件格式经设计以含有用于便于媒体的交换、管理、编辑和呈现的灵活的可扩展格式的呈现的定时媒体信息。ISO基础媒体文件格式(ISO/IEC 14496-12:2004)是在MPEG-第4部分-12中指定的,这个部分定义了用于基于时间的媒体文件的通用结构。ISOBMFF用作所述系列中的其它文件格式的基础,例如高级视频译码(AVC)文件格式(ISO/IEC 14496-15)和HEVC文件格式。
ISO基础媒体文件格式含有用于媒体数据的定时序列(例如音频-视觉呈现)的时序、结构和媒体信息。文件结构是面向对象的。文件可以极简单地分解成基本对象,并且根据对象类型来暗示对象的结构。
符合ISO基础媒体文件格式的文件形成为一系列对象,称为“盒”。在一些情况下,所有数据可以包含于盒中且没有其它数据可以放置于同一文件中,包含例如特定文件格式所需的任何初始标志。“盒”是面向对象的构建块,其可以通过唯一类型识别符和长度界定。
图2中示出遵循ISO基础媒体文件格式的实例文件结构。通常但并非始终地,一个文件200中含有媒体呈现,其中所述媒体呈现是自含式的。电影容器202(或“电影盒”)可以含有媒体的元数据,例如一或多个视频轨道210和音频轨道216。视频轨道216可以含有关于视频的各种层的信息,其可以存储于一或多个媒体信息容器214中。举例来说,媒体信息容器214可以包含样本表,其提供关于视频的视频样本的信息。在各种实施方案中,视频222和音频224组块包含于媒体数据容器204中。在一些实施方案中,视频222和音频224组块可包含于一或多个其它文件(除文件200外)中。
在各种实施方案中,呈现(例如,运动序列)可以包含于若干文件中。所有定时和成帧(例如,位置和大小)信息可以在ISO基础媒体文件中,且辅助文件可以基本上使用任何格式。
ISO文件具有逻辑结构、时间结构和物理结构。不同的结构不需要耦合。文件的逻辑结构是电影的逻辑结构,其又含有时间平行的轨道(例如,轨道210)的集合。文件的时间结构是轨道含有在时间上的样本序列,且那些序列通过任选的编辑列表映射到总体电影的时间线中。
文件的物理结构使得用于逻辑、时间和结构分解所需的数据与媒体数据样本本身分离。此结构信息集中于电影盒(例如,电影容器202)中,可能通过电影片段盒在时间上延伸。电影盒将样本的逻辑和定时关系归档,并且还含有指向样本所位于之处的指针。指针可以指向同一文件或另一文件中,所述文件可例如通过统一资源定位符(URL)来参考。
每一媒体流包含于专用于所述媒体类型的轨道中。举例来说,在图2中说明的实例中,电影容器202包含视频轨道210和音频轨道216。电影容器202还可包含提示轨道218,其可以包含来自视频210和/或音频216轨道的传输指令,或可以表示关于电影容器202或其它电影容器中的其它轨道的其它信息。每一轨道可以通过样本条目而进一步参数化。举例来说,在所说明实例中,视频轨道210包含媒体信息容器214,其包含样本的表。样本条目含有确切媒体类型(例如,对流进行解码所需要的解码器的类型)的‘名称’以及所需要的所述解码器的任何参数化。所述名称可以采取四字符代码的形式(例如,moov、trak或其它合适的名称代码)。存在不仅用于MPEG-4媒体而且用于供使用此文件格式系列的其它组织使用的媒体类型的经界定样本条目格式。
样本条目可进一步包含指向媒体数据容器204中的盒220中的视频数据组块(例如,视频数据组块222)的指针。盒220包含交错的时间有序的视频样本(经组织为视频数据组块,例如视频数据组块222)、音频帧(例如,音频数据组块224中)以及提示指令(例如,提示指令组块226中)。
对元数据的支持可采取不同形式。在一个实例中,定时元数据可以存储于适当轨道中,按需要与所述元数据描述的媒体数据进行同步。在第二实例中,存在对于附接到电影或个别轨道的非定时元数据的一般支持。结构支持是一般的,且如媒体数据中那样允许元数据资源在文件中的别处或在另一文件中的存储。
如下文进一步论述,视频文件中的一个轨道可含有多个层。图3图解说明包含具有多个层316a到316c的视频轨道310的文件300的实例,所述多个层包含层1 316a、层2 316b以及层3 316c。视频轨道310还可包含轨道标头312,其可含有关于视频轨道310的内容的一些信息。举例来说,轨道标头312可以包含轨道内容信息(也被称作‘tcon’)盒。tcon盒可列出视频轨道310中的所有层和子层。
文件300还可包含操作点信息340(也被称作‘oinf’)盒340。oinf盒340记录关于操作点的信息,例如构成操作点的层和子层、操作点之间的相依性(如果存在)、操作点的简档、层级和层次参数,以及其它此类操作点相关信息。在一些情况下,操作点也可被称作操作点。
多个层316a到316c可以包含用于视频的不同质量、分辨率、帧速率、视图、深度或其它变化的数据。举例来说,层1 316a可表示720p分辨率的视频,而层2 316b可表示1080p分辨率的视频。层还可具有时间子层。举例来说,层1 316a可具有三个时间子层,30帧/秒(fps)、50fps和60fps中的每一者一个时间子层。
L-HEVC提供可具有多于一个层的轨道,如图3中所图示。替代地或另外,轨道可含有至多一个层。图4图解说明包含三个轨道410a到410c的文件400的实例,其中每一轨道410a到410c含有一个层(层1 416a、层2 416b和层3 416c)。文件400可具有图2中所说明的相同三个层216a到216c,但在图4中,并非所有三个层416a到416c包含于一个轨道中,每一层416a到416c包含于单独的轨道410a到410c中。每一轨道410a到410c可包含轨道标头412a到412c,其可包含关于轨道的内容的一些信息。在此实例中,因为每一轨道210a到210c各自包含至多一个层,所以轨道210a到210c都不需要‘tcon’盒来描述轨道的内容。
图4中示出的文件400还包含操作点信息(‘oinf’)盒440。在此实例中,对于每一操作点,oinf盒440可包含用于操作点的层列表中的轨道ID。
在各种实施方案中,图3和图4的实例可组合,以使得文件包含具有多个层的一些轨道以及具有至多仅一个层的一些轨道。
图5图解说明文件500的另一实例。在文件500中,每一轨道510a到510c包含一个层516a到516c。在此实例中,每一轨道510a到510c可包含轨道标头512a到512c,其可包含关于轨道的内容的一些信息。文件500类似于图4的文件400,不同之处在于在图5中的文件500的轨道标头512a到512c包含层ID 518a到518c。层ID 518a到518c可识别存储于每一轨道510a到510c中的相应层516a到516c。因为层ID 518a到518c提供包含于每一轨道510a到510c中的层516a到516c的身份,所以在此实例中不需要‘oinf’盒。
用于L-HEVC文件格式的现有设计包含复杂的轨道结构,因为现有轨道结构允许轨道含有L-HEVC位流的一或多个层,其中任选地允许提取器和聚合器的使用。如下文描述的详细实施例中所描述,聚合器包含用以通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的高效可缩放分组的结构,且提取器包含用以实现NAL单元从除了含有媒体数据的一个轨道外的其它轨道的高效提取的结构。通过此设计,播放器需要处置轨道结构和操作模式的许多不同可能的变化。本发明中描述用于简化播放器的轨道结构和操作模式的技术和系统。下文给出本发明中公开的技术和方法的概述,在稍后部分中提供一些方法的详细实施方案。这些技术和方法中的一些可以独立地应用且其中一些可以组合地应用。
在各种实施方案中,用于简化轨道结构的技术和系统可包含指定用于轨道的层信息。举例来说,可以提供限制,其要求编码器产生具有一或多个视频轨道的输出文件,所述视频轨道各自含有至多单个层或单个层的子集。可提供另一限制,其要求所述一或多个视频轨道不包含聚合器或提取器中的一或多者。在一些实例中,编码器可将识别符指派于输出文件。举例来说,识别符可以是样本条目名称。识别符可例如向解码器指示输出文件在每一轨道中具有至多一个层或单个层的子集,且输出文件不包含聚合器或提取器。本文提供样本条目名称的其它实例。在其中文件中的视频轨道被限于至多一个层或一个层的子集的实施方案中,可以不需要且可省略轨道内容信息(‘tcon’)盒。在一些情况下,含有视频轨道的文件可包含指示符,其指示用于L-HEVC位流的特定层的所有数据运载于一个轨道中。
在各种实施方案中,描述用于在LHEVCDecoderConfigurationRecord变量(下文进一步描述)中用信号表示层识别符(ID)信息以使轨道与层关联的技术和系统。举例来说,如图5中所图示,每一轨道可包含描述所述轨道中含有的层的层ID。当文件包含解码器配置记录时可以包含LHEVCDecoderConfigurationRecord变量。解码器配置记录可以指定解码器配置信息。举例来说,解码器配置记录可含有文件中的每一视频样本中使用的长度字段的大小,其中所述大小可以指示样本中含有的NAL单元的长度。如果有任何参数集存储于样本条目中,则配置记录还可包含参数集。在一些情况下,各种实施方案可以在操作点信息(oinf)盒中的每一操作点的层列表(下文描述)中添加轨道ID的信令。举例来说,图3的实例文件300包含oinf盒340,其可以提供文件300中的可用操作点的列表。
使用轨道结构的简化,(例如,媒体播放器的)文件剖析器可以在单个模式中工作。在未简化轨道结构的情况下,文件剖析器可能另外需要支持对于不同轨道结构所可能的不同操作模式中的每一者。举例来说,文件剖析器可首先找到L-HEVC位流的基础轨道(由‘sbas’轨道参考指示)。剖析器可随后剖析‘oinf’盒且获得关于文件中可用的操作点的信息。一旦获得操作点信息,剖析器便可确定将使用的操作点,且使用操作点信息可确定哪些轨道运载与选定操作点相关联的层。在一些情况下,剖析器还可使用每一“增强层”轨道(可在基础轨道中)的样本条目描述中的层ID以确定对于选定操作点需要哪些轨道。剖析器可随后获得轨道且可基于解码时间构造存取单元。剖析器可将这些存取单元传递到视频解码器用于解码。
操作点(或操作的点)界定用于对位流进行工作(例如,用于执行子位流提取)的参数,且包含目标层(用于所述操作点的层集合)和目标最高时间层的列表。多个操作点可适用于给定位流。操作点可包含层集合中的所有层或可为形成为层集合的子集的位流。举例来说,位流的操作点可与层识别符集合和时间识别符相关联。层识别符列表可用以识别将包含在操作点中的层。层识别符列表可以包含在参数集(例如,视频参数集(VPS)或与位流相关联的其它参数集)中。层识别符列表可包含层识别符(ID)值(例如,由语法元素nuh_layer_id指示)的列表。在一些情况下,层ID值可包含非负整数,且每一层可与唯一层ID值相关联,以使得每一层ID值识别特定层。最高时间ID(例如,由变量TemporalId识别)可用以界定时间子集。在一些实施例中,层识别符列表和目标最高时间ID可用作输入以从位流提取操作点。举例来说,当网络抽象层(NAL)单元具有包含在与操作点相关联的层识别符的集合中的层识别符且NAL单元的时间识别符小于或等于操作点的时间识别符时,所述NAL单元与所述操作点相关联。目标输出层是将输出的层,且输出层集合是与目标输出层的集合相关联的层集合。举例来说,输出层集合是包含规定的层集合的层的层集合,其中所述层集合中的一或多个层被指示为输出层。输出操作点对应于特定输出层集合。举例来说,输出操作点可包含通过其中输入位流、目标最高时间识别符(TemporalId)和目标层识别符列表作为输入的子位流提取过程的操作从输入位流产生且与输出层的集合相关联的位流。
作为一实例,视频文件可包含向播放器指示视频可以1080p分辨率播放的操作点。视频文件可以因此包含一层集合,所述层集合包含含有以1080p编码的视频的层。用于1080p的操作点接着可指示文件中的哪些轨道含有此层集合中的层。作为另一实例,同一视频文件还可包含指定60fps下的720p分辨率或30fps下的720p的操作点。时间层大体上被处理为子层,因此视频文件可包括包含用于视频的720p版本的层的层集合,其中所述层包含60fps子层和30fps子层两者。所述文件还可包含两个操作点:第一,指示在60fps子层的720p的操作点,以及第二,指示在30fps子层的720p的操作点。
作为又一实例,可缩放HEVC位流可以具有两个层,一个以720p经编码且另一个以1080p经编码。1080p位流可能已经通过基于720p位流进行预测而编码,使得1080p位流取决于720p位流。在此实例中,720p位流和1080p位流中的每一者将包含于单独轨道中。另外,虽然1080p操作点将指示需要含有1080p位流的轨道,但此轨道将进一步指示所述层取决于720p层。因此将指示播放器还获取且解码含有720p层的轨道。
在各种实施方案中,L-HEVC文件的‘oinf’盒可含有用于处置含有‘oinf’盒的L-HEVC文件的所有可用操作点。在一些实施方案中,L-HEVC轨道中不使用提取器或聚合器。举例来说,可要求L-HEVC轨道不使用提取器和/或聚合器。在一些实施方案中,‘oinf’盒中描述的每一操作点显式地列出对于操作点包含的所有层。在一些实施方案中,可以改变‘oinf’盒中的层相依性信令以使得对于每一层,相依性信令用于描述直接取决于所述层的层列表。在一些替代的情况中,可以定义新类型的轨道参考或新轨道参考盒,其可用以指示取决于含有所述新类型的轨道参考或新轨道参考盒的轨道的轨道。
在各种实施方案中,用于SHVC和MV-HEVC的样本条目名称可以区分以使得有可能基于名称而识别轨道可缩放性类型。在一些实施方案中,可用于处置L-HEVC文件的操作点可以视为隐式和显式操作点。显式操作点是在‘oinf’盒中列出的操作点。隐式操作点是不在‘oinf’盒中列出的操作点。其中存在提取器和/或聚合器的每一轨道被视为与隐式操作点相关联。当使用显式操作点时用于轨道的样本条目名称通常不同于当使用隐式操作点时用于轨道的样本条目名称。基于轨道的名称,可有可能分辨轨道是否与隐式操作点相关联。在一些方面中,样本条目名称的划分可如下:(1)hvc1、hve1、shv1、she1、mhv1、mhe1是用于作为显式操作点的成员的轨道的样本条目名称的实例;以及(2)hvc2、hve2、shv2、she2、mhv2、mhe2是用于作为隐式操作点的成员的轨道的样本条目名称的实例。
在各种实施方案中,可产生视频文件以使得隐式和显式操作点不在一个文件中一起使用。举例来说,L-HEVC文件中的所有操作点是隐式操作点或显式操作点。
在各种实施方案中,对于具有隐式操作点的轨道,可以在轨道的样本条目(即,LHEVCDecoderConfigurationRecord)中用信号表示以下信息中的一或多个:(1)用于包含在操作点中的层的简档、层次和层级信息的列表;(2)指示是否将输出操作点的所有层或仅最高层的旗标;以及(3)与操作点相关联的额外信息,例如位速率、帧速率、最小图片大小、最大图片大小、色度格式、位深度等。
替代地,上文所列的信息可在文件中在例如‘oinf’盒等另一盒中用信号表示。
在各种实施方案中,可以使用文件类型或“标牌”指定文件是否包含显式存取单元重构(使用提取器)或隐式重构。隐式重构标牌可以指示文件已产生以使得每一轨道包含至多一个层。在各种实施方案中,标牌可以在文件中指定。举例来说,标牌可以在称为“FileTypeBox”的盒中的“compatible_brands”字段中指示。
在一个实例中,称为‘hvce’的标牌可以包含在FileTypeBox的compatible_brands中的标牌的列表中。在此实例中,每一‘hvc2’、‘hev2’、‘lhv1’和‘lhe1’轨道可以含有(原生地或通过提取器)有效的HEVC子位流,且可以含有聚合器。‘hvce’标牌的剖析器可以处理提取器和聚合器,且不需要执行隐式重构。
在另一实例中,称为‘hvci’的标牌可以包含在FileTypeBox的compatible_brands中的标牌的列表中。在此实例中,提取器或聚合器将不存在于任何‘hvc2’、‘hev2’、‘lhv1’或‘lhe1’轨道中。‘hvci’标牌的剖析器可以执行‘hvc2’、‘hev2’、‘lhv1’和‘lhe1’轨道的隐式重构且不需要处理提取器和聚合器。在此实例中,类型‘hvc1’、‘hev1’、‘hvc2’、‘hev2’、‘lhv1’或‘lhe1’轨道的每一轨道可以含有至多一个层。
图6图解说明根据上述各种实施方案的用于对视频数据进行编码的过程600的实例。在各种实施方案中,过程600可由计算装置或设备执行,例如在图1中说明的视频编码装置104。举例来说,所述计算装置或设备可包含编码器,或者编码器的经配置以实行图6的过程600的步骤的处理器、微处理器、微型计算机或其它组件。在一些实施方案中,所述计算装置或设备可包含经配置以捕获视频数据的相机。在一些实施方案中,捕获视频数据的相机或其它捕获装置与计算装置分离,在此情况下计算装置接收所捕获的视频数据。计算装置可进一步包含经配置以传送视频数据的网络接口。网络接口可经配置以传送基于因特网协议(IP)的数据。
过程600被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的顺序并不意图解释为限制,且任何数目的所描述操作可以按任何顺序组合和/或并行以实施所述过程。
另外,过程600可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上通过硬件或其组合共同地执行的代码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可存储在计算机可读或机器可读存储媒体上,例如,呈包括可通过一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。
在步骤602,过程600可包含处理多层视频数据。多层视频数据可包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层(VCL)网络抽象层(NAL)单元和任何相关联非VCL NAL单元。多层视频数据可包含(例如)包含以720p分辨率编码的视频的层,以及包含以1080p分辨率编码的视频的不同层。在其它实例中,多播放器视频数据可包括包含以不同帧速率、深度或质量编码的视频的层。
在步骤604,过程600可以使用格式产生与多层视频数据相关联的输出文件。输出文件可包含多个轨道。产生输出文件可包含根据所述多个轨道中的每一轨道包括多层视频数据的至多一个层的限制以及所述多个轨道中的每一轨道不包含聚合器或提取器中的至少一者的限制而产生输出文件。如下文进一步所论述,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构。还如下文论述,提取器包含实现NAL单元从除了含有媒体数据的轨道外的轨道的提取的结构。
在一些实施方案中,过程600可进一步包含使样本条目名称与输出文件关联。样本条目名称可以指示输出文件中的每一轨道包含至多一个层。在一些情况下,样本条目名称还可指示轨道并不包含聚合器或提取器。在一些实施方案中,识别符可以是文件类型,且文件类型可以包含在输出文件中。举例来说,文件类型可以在称为“FileTypeBox”的盒中指定的称为“compatible_brands”的字段中指定。
在一些实施方案中,过程600可包含在无需轨道内容信息(tcon)盒的情况下产生文件的限制。当文件中的每一轨道包含至多上层时tcon盒可为不必要的。
在一些实施方案中,过程600可进一步包含产生用于输出文件的操作点信息(oinf)盒。oinf盒可包含多层视频数据中可用的操作点的列表。每一操作点可以与一或多个层相关联,且oinf盒可以指示文件中的哪些轨道包含用于每一操作点的层。
在一些实施方案中,多层视频数据可包含层的子集,其中层的子集包含一或多个时间子层。当视频数据已经以不同的每秒帧数编码时多层视频数据可包含时间子层。在这些实施方案中,过程600可包含根据每一轨道包含至多一个层或一个层子集的限制产生此输出文件。
图7图解说明根据上述各种实施方案的用于对已格式化的视频数据进行解码的过程700的实例。在各种实施方案中,过程700可以由计算装置或设备执行,例如在图1中说明的解码器装置112。举例来说,计算装置或设备可包含解码器、播放器、或者解码器或播放器的经配置以实行过程700的步骤的处理器、微处理器、微型计算机或其它组件。
过程700被说明为逻辑流程图,其操作表示可以在硬件、计算机指令或其组合中实施的一系列操作。在计算机指令的情形下,操作表示存储在一或多个计算机可读存储媒体上的计算机可执行指令,这些计算机可执行指令在由一或多个处理器执行时实施所叙述的操作。一般而言,计算机可执行指令包含例程、程序、对象、组件、数据结构以及执行特定功能或实施特定数据类型的类似物。描述操作的顺序并不意图解释为限制,且任何数目的所描述操作可以按任何顺序组合和/或并行以实施所述过程。
另外,过程700可以在配置有可执行指令的一或多个计算机系统的控制下执行并且可以实施为在一或多个处理器上通过硬件或其组合共同地执行的译码(例如,可执行指令、一或多个计算机程序或一或多个应用程序)。如上文所指出,代码可存储在计算机可读或机器可读存储媒体上,例如,呈包括可通过一个或多个处理器执行的多个指令的计算机程序的形式。计算机可读或机器可读存储媒体可为非暂时性的。
在步骤702,过程700可以处理与多层视频数据相关联的输出文件的样本条目名称。多层视频数据可包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层(VCL)网络抽象层(NAL)单元和任何相关联非VCL NAL单元。输出文件可包括多个轨道。
在步骤704,过程700可以基于输出文件的样本条目名称确定输出文件的所述多个轨道中的每一轨道包括所述多个层中的至多一个层。过程700可以进一步确定所述多个轨道中的每一者不包含聚合器或提取器中的至少一者。如上所述,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构,且提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
在一些实施方案中,样本条目名称可以是包含在输出文件中的文件类型。举例来说,文件类型可以在称为“FileTypeBox”的盒中指定的称为“compatible_brands”的字段中指定。
在一些实施方案中,输出文件可不包含轨道内容信息(tcon)盒。在这些实施方案中,每一轨道的内容可以在轨道自身中指定。
在一些实施方案中,输出文件可包含用于每一轨道的层识别符。层识别符可以识别包含在每一轨道中的层。举例来说,层识别符可以指示特定轨道包含含有以720p分辨率编码的视频数据的层。
在一些实施方案中,输出文件可包含操作点信息(oinf)盒。oinf盒可含有包含多层视频数据的操作点的列表。每一操作点可以与一或多个层相关联。oinf盒可以指示输出文件中的哪一轨道含有与每一操作点相关联的层。
在一些实施方案中,多层视频数据可包含层的子集。层的子集可包含一或多个时间子层(例如,30fps或60fps编码)。在此实施方案中,输出文件中的轨道可包含来自多层视频数据的至多一个层或一个层子集。
I.实例性实施例
本部分中提供上述各种实施方案的实例。在这些实施方案的文字中,文字改变示出了相对于“信息技术-视听对象的译码-第15部分:ISO基础媒体文件格式中的网络抽象层(NAL)单元结构化视频的运载(Information technology-Coding of audio-visualobjects-Part 15:Carriage of network abstraction layer(NAL)unit structuredvideo in the ISO base media file format)”(ISO/IEC JTC 1/SC 29、ISO/IEC FDIS14496-15:2014(E))中的文字的所提议修改,以上参考在http://phenix.int-evry.fr/mpeg/doc_end_user/documents/111_Geneva/wg11/w15182-v2-w15182.zip可用。确切地说,以带下划线的文字(添加的实例)示出添加,且以删除线()示出删除。
A.第一实例性实施例
本部分描述为了适应上述实施方案的细节修改。
9.SHVC/MV-HEVC基本流和样本定义。
9.1引言
本条款指定SHVC或MV-HEVC数据的存储格式。其扩展了条款8中的HEVC的存储格式的定义。HVC和MV-HEVC两者使用相同的分层设计。此条款对于使用相同分层设计的所有HEVC扩展使用基本名称分层HEVC(L-HEVC)。
如本条款中定义的用于L-HEVC内容的存储的文件格式使用ISO基础媒体文件格式和纯HEVC文件格式(即条款8中指定的文件格式)的现有能力。另外,使用尤其以下的结构或扩展来支持L-HEVC特定特征:
a)HEVC兼容性:
提供以HEVC兼容方式存储L-HEVC位流,以使得HEVC兼容基础层可由任何纯HEVC文件格式顺应性读取器使用。
b)AVC兼容性
提供以AVC兼容方式存储L-HEVC位流,以使得AVC兼容基础层可由任何纯AVC文件格式顺应性读取器使用。
L-HEVC位流是层的集合,其中每一层有助于按比例缩放在质量、分辨率、帧率、视图、深度等中的视觉呈现。L-HEVC层由其层识别符(L-id)识别,所述层识别符在包含且与其基础层相关联的层集合当中必须是唯一的;基础层包含在通过‘sbas’轨道参考而链接的轨道中。
一系列相关层在一起分组为层集合。层可以是一或多个层集合的成员。属于层的NAL单元可以进一步基于它们的时间识别符(T-id)分割。每一此分割被称为子层。
层集合中的一个、一些或所有层可被标记以用于输出。输出层集合是对于其指示输出层的层集合。输出层集合附连到一些指定的简档、层级和层次约束。与从0到选定最大T-id值的T-id值(包含性)的范围相关联的输出层集合称为操作点。操作点表示L-HEVC位流的可通过子位流提取过程获得的一部分。每个有效的操作点可独立于其它操作点而经解码。
L-HEVC文件格式将每一层存储于轨道中。
播放器使用 ‘oinf’盒中用信号表示的操作点时,所述播放器必须如9.7.2中指定重构L-HEVC存取单元,然后将其传递到L-HEVC解码器。
9.2 L-HEVC存储的概述
L-HEVC位流的存储由例如样本条目 操作点信息(‘oinf’)盒 等结构支持。样本条目内的结构提供用于与所述样本条目相关联的样本的解码或使用的信息,在此情况下为经译码视频信息。oinf盒记录关于操作点的信息,例如构成操作点的层和子层、其之间的相依性(如果存在)、操作点的简档、层级和层次参数,以及其它此类操作点相关信息。‘oinf’盒中的信息与使用轨道参考来找到轨道相组合足以让读取器根据操作点的能力选择操作点,识别含有对所选操作点进行解码所需要的相关层的轨道,且高效地提取操作点中的子位流。
9.3 L-HEVC轨道结构
根据8.2存储L-HEVC流,L-HEVC视频基本流的定义如下:
·L-HEVC视频基本流将含有具有大于或等于0的nuh_layer_id的所有视频译码相关NAL单元(即含有视频数据或信令视频结构的那些NAL单元),且可含有例如SEI消息和存取单元定界符NAL单元等非视频译码相关NAL单元。 未被明确地禁止的其它类型的NAL单元可存在,且如果它们未被辨识,那么它们应当由文件剖析器丢弃。
9.4纯HEVC文件格式的使用
L-HEVC文件格式是条款8中定义的纯HEVC文件格式的扩展。如果使用HEVC规范经译码,那么L-HEVC的基础层将符合如此标准中指定的HEVC文件格式。
9.5纯AVC文件格式的使用
L-HEVC文件格式支持混合编解码器配置,其中基础层是使用AVC编码器经译码。如果使用AVC规范经译码,那么L-HEVC的基础层将符合如此标准中指定的AVC文件格式。
9.6样本和配置定义
9.6.1引言
L-HEVC样本是一系列图片单元;图片单元含有L-HEVC存取单元中的经译码图片的VCL和相关联非VCL NAL单元。存取单元在ISO/IEC 23008-2中定义。轨道的样本含有仅包含于所述轨道中的那些层的图片单元。
1.6.2典型的次序和限制
除条款8.3.2中的要求之外,以下限制也适用于L-HEVC数据。
·VCL NAL单元:在一个存取单元内且属于包含于轨道中的层的所有VCL NAL单元将包含于与由所述存取单元表示的图片具有相同组成时间的样本中。在提取器的解析之后,L-HEVC样本将含有至少一个VCL NAL单元。
·
·AVC经译码基础层轨道的运载:AVC经译码基础层将始终在其自身的轨道中运载,且将由如此国际标准中指定的AVC样本组成。
9.6.3解码器配置记录
当条款8.3.3.1中定义的解码器配置记录用于可作为L-HEVC或HEVC流解译的流时,HEVC解码器配置记录将适用于HEVC兼容基础层,且应当仅含有对HEVC基础层进行解码所需要的参数集。
LHEVCDecoderConfigurationRecord结构上类似于HEVCDecoderConfigurationRecord,不同之处在于一些额外字段。语法如下:
LHEVCDecoderConfigurationRecord和HEVCDecoderConfigurationRecord共同的字段的语义保持不变。LHEVCDecoderConfigurationRecord的额外字段具有以下语义。
complete_representation:当设定此旗标时,其指示此轨道含有L-HEVC位流的形成经编码信息的完整集合的一部分的部分。此旗标被复位的轨道可以被移除而无原始经编码数据的任何损失。
注意轨道可以表示多于一个输出层集合。
注意对于包含在轨道中的每一辅助图片层,推荐在nalUnit内包含含有陈述的SEI消息的SEI NAL单元,例如用于深度辅助图片层的深度表示信息SEI消息,其指定辅助图片层的特性。
trackLayerId:指定包含于此轨道中的VCL NALU的nuh_layer_id的值。
9.7 从ISO基础媒体文件格式的导出
9.7.1 L-HEVC轨道结构
L-HEVC流由文件中的一或多个视频轨道表示。每一轨道表示经译码位流的一个 层。
存在当结合在一起时含有经编码信息的完整集合的一或多个轨道的最小集合。所有这些轨道将具有在所有其样本条目中设定的旗标“complete_representation”。形成完整经编码信息的此轨道群组称为“完整子集”。当包含在“完整子集”中的轨道被保持时可保持完整经编码信息;所有其它轨道将表示完整子集的子集、副本或重新排序。
假设最低操作点是所有操作点中含有具有仅等于0的nuh_layer_id和仅等于0的TemporalId的NAL单元的一个操作点。对于给定流,含有最低操作点的确切一个轨道将被命名为‘可缩放基础轨道’。
对于具有非HEVC经译码基础层的L-HEVC位流,基础层是最低操作点,且始终被指派其自身的一个轨道且被命名为基础轨道。作为同一流的部分的所有其它轨道将借助于类型‘sbas’ 的轨道参考链接到其基础轨道。
共享同一可缩放基础轨道的所有轨道必须共享与可缩放基础轨道相同的时间尺度。
如果由轨道表示的层使用由另一轨道表示的另一层用于层间预测参考,那么类型‘scal’ 的轨道参考将包含在参考用于层间预测的源轨道的轨道中。
注意 如果含有L-HEVC位流的部分的轨道从文件移除,那么含有参考所移除轨道的‘scal’和‘sbas’轨道的轨道也应当移除。
当基础层使用AVC经译码时,基础层轨道将根据条款5而构造而不使用单独的参数集轨道。
9.7.2 存取单元的重构
为了从一或多个L-HEVC轨道的样本重构存取单元,可能需要首先确定目标输出层和它们属于的操作点。
注意 播放器可从包含在操作点信息盒中的操作点列表得出用于对所确定目标输出层进行解码所需的层。运载用于操作点的相关层的轨道可通过遵循‘scal’轨道参考和 样本条目描述中的每一轨道的层ID而获得。
如果若干轨道含有用于存取单元的数据,那么基于样本解码时间,即仅使用时间/样本表而不考虑编辑列表来执行轨道中的相应样本的对准。
存取单元是从所需的轨道中的相应样本通过按符合ISO/IEC 23008-2的次序布置其NAL单元而重构。以下次序提供用以从样本构造符合存取单元的程序的信息概述:
·当存在时,带有具有等于0的nuh_layer_id的VCL NAL单元的图片单元(如ISO/IEC 23008-2中指定),排除位流NAL单元的末尾。
·按nuh_layer_id值的递增次序来自任何相应样本的图片单元(如ISO/IEC23008-2中指定)。
·当存在时,位流NAL单元的末尾。
9.7.3 L-HEVC视频流定义
9.7.3.1样本条目名称和格式
9.7.3.1.1定义
类型:‘hvc1’、‘hev1’、‘lhv1’、‘lhe1’、‘lhvC’
容器:样本描述盒(‘stsd’)
必选:‘hvc1’、‘hev1’、‘lhv1’或‘lhe1’样本条目是必选的
数量:一或多个样本条目可存在
当样本条目名称是‘lhv1’时,array_completeness的默认和必选值对于所有类型的参数集的阵列是1,对于所有其它阵列是0。当样本条目名称是‘lhe1’时,array_completeness的默认值对于所有阵列是0。
当样本条目名称是‘lhe1’时,以下内容适用:
·如果样本含有如ISO/IEC 23008-2中定义的至少一个IRAP图片,那么对样本中含有IRAP图片的每一层中的IRAP图片以及按解码次序的随后图片进行解码所需要的每一参数集将包含在存在于此样本中的轨道运载层的样本条目中或所述样本自身中(可能通过使用提取器)。
·否则(样本不含IRAP图片),对所述样本进行解码所需要的每一参数集将包含在存在于此样本中的轨道运载层的样本条目中或者从含有至少一个IRAP图片的先前样本到所述样本自身(包含性)的样本中的任一者中(可能通过使用提取器)。
如果轨道的样本含有HEVC兼容基础层,那么将使用‘hvc1’或‘hev1’ 样本条目。此处,条目将初始地含有HEVC配置盒,可能接着是如下方定义的L-HEVC配置盒。HEVC配置盒将简档、层次、层级以及可能还有如由HEVCDecoderConfigurationRecord界定的HEVC兼容基础层的参数集进行归档。L-HEVC配置盒可能将如由LHEVCDecoderConfigurationRecord界定的L-HEVC兼容增强层的参数集进行文档,存储于L-HEVC配置盒中。
注意当构成文件时,应当注意VPS基础中的PTL(即VPS中的第一PTL结构)可能“大于”应当包含在HEVCDecoderConfigurationRecord中的基础层的PTL。实际上,VPS扩展中的第一PTL结构中的PTL信息是应当包含在HEVCDecoderConfigurationRecord中的内容。
如果轨道的样本并不含有HEVC基础层,那么将使用样本条目类型‘lhv1’或‘lhe1’,且样本条目将含有如下方定义的L-HEVC配置盒。这包含如此国际标准中定义的LHEVCDecoderConfigurationRecord。
共享同一基础轨道的L-HEVC和HEVC轨道的任何给定样本条目中的L-HEVC和HEVC配置中的lengthSizeMinusOne字段将具有相同值。
LHEVCConfigurationBox可存在于‘hvc1’‘hev1’样本条目中。在此情况下下方的HEVCLHVCSampleEntry定义适用。
以下表针对视频轨道示出了样本条目、配置和L-HEVC工具的所有可能的使用:
表10-用于HEVC和L-HEVC轨道的样本条目的使用
9.7.3.1.2语法
9.7.3.1.3语义
当样本条目应用的流含有具有大于0的nuh_layer_id的NAL单元时,基本类VisualSampleEntry中的Compressorname指示与正推荐的值“\014LHEVC译码”一起使用的压缩器的名称(\014是12,串“LHEVC译码”的以字节计的长度)。
9.7.4 L-HEVC视觉宽度和高度
含有 特定的NAL单元的流的VisualSampleEntry中归档的视觉宽度和高度将分别为视觉宽度和高度
9.7.5同步样本
如果存取单元中的基础层图片是如ISO/IEC 23008-2中定义的IRAP图片,那么L-HEVC样本视为同步样本。同步样本由同步样本表归档,且可以另外由流存取点‘sap’样本群组归档。
9.7.6流存取点样本群组
‘sync’盒提供L-HEVC媒体流中可能的随机存取的仅一种类型的指示。存在可能的许多其它类型的随机存取。ISO/IEC 14496-12的附件I提供随机存取的不同类型的大量论述。位流中可能进行随机存取的位置称为流存取点(SAP)。附件I指定具有不同特性的六个类型的SAP。为了提供所有不同类型的SAP的信息,使用ISO/IEC 14496-12中指定的流存取样本群组‘sap’。
当在L-HEVC的情境中使用时‘sap’样本分组将把layer_id_method_idc值设定为1。
字段target_layers的长度是28位。字段中的每一位表示轨道中运载的层。由于此字段的长度仅为28位,因此轨道中的SAP点的指示被约束为最大28层。此字段的从LSB开始的每一位将映射到轨道内容信息盒(‘tcon’)中用信号表示的按层ID升序的层ID的列表。
举例来说,如果轨道运载具有层ID 4、10和29的层,那么层ID 4映射到最低有效位,层ID 10映射到第二最低有效位,且层ID 29映射到第三最低有效位。所述位中的一的值用信号表示在样本中映射层具有作为某种类型的SAP的图片。在先前实例中以下表给出层特定SAP信息的实例。
表11-用于上述实例使用情况的‘sap’样本分组的target_layer字段的位模式
目标层的位模式(LSB最右边位) SAP的层ID(4、10、29当中)
000000000000000000000010 {10}
000000000000000000000100 {29}
000000000000000000000101 {29,4}
通过遵循SampleToGroup盒中的样本的group_description_index而解析类型。
9.7.7随机存取恢复点和随机存取点上的样本群组
对于通过类型‘hvc1’‘hev1’的样本条目描述的视频数据,随机存取恢复样本群组和流存取点样本群组分别识别随机存取恢复点和随机存取点,以用于HEVC解码器和对整个位流操作的L-HEVC解码器(如果存在)。
对于通过L-HEVC样本条目类型描述的视频数据,随机存取恢复样本群组识别含有 其的轨道中的随机存取恢复点
如果样本中的经译码图片是如ISO/IEC 23008-2中定义的IRAP图片(具有或不具有RASL图片),且ISO/IEC 14496-12中的前导样本是其中所有图片是如ISO/IEC 23008-2中定义的RASL图片的样本,那么L-HEVC样本视为随机存取点。
9.7.8独立且可弃式样本盒
如果在HEVC且L-HEVC兼容的轨道中使用的独立且可弃式样本盒,那么应当注意不管使用L-HEVC数据的何种有效子集(可能仅HEVC数据)由此盒提供的信息都为真。如果所述信息变化,那么可能需要‘unknown’值(字段sample-depends-on、sample-is-depended-on和sample-has-redundancy的值0)。
9.7.9用于L-HEVC的子样本的定义
此子条款扩展了8.4.8中的HEVC的子样本的定义。
对于L-HEVC流中的子样本信息盒的使用(ISO/IEC 14496-12的条款8.7.7),子样本是基于如下方指定的子样本信息盒的旗标的值而定义。此盒的存在是任选的;然而,如果存在于含有L-HEVC数据的轨道中,那么其将具有此处定义的语义。
旗标具有与8.4.8中相同的语义
subsample_priority字段和可丢弃字段将如8.4.8中指定而设定。
当NAL单元的第一字节包含在子样本中时,先前长度字段也必须包含在同一子样本中。
SubLayerRefNalUnitFlag、RapNalUnitFlag、VclNalUnitFlag、vcl_idc、log2_min_luma_ctb、ctb_x和ctb_y的语义与8.4.8中相同。
DiscardableFlag指示子样本中的VCL NAL单元的discardable_flag值。子样本中的所有VCL NAL单元将具有相同discardable_flag值。
注意这与子样本信息盒中的可丢弃字段不是相同的定义。
NoInterLayerPredFlag指示子样本中的VCL NAL单元的inter_layer_pred_enabled_flag的值。子样本中的所有VCL NAL单元将具有inter_layer_pred_enabled_flag的相同值。
TempId指示子样本中的NAL单元的TemporalId值。子样本中的所有NAL单元将具有相同TemporalId值。
9.7.10处置非输出样本
8.4.9中指定的内容当涉及多个层时并不始终适用。如果无法遵循8.4.9中指定的内容,那么丢弃样本且延伸先前样本的持续时间,以使得随后的样本具有正确的组成定时。
9.7.11混合编解码器可缩放性的指示
当多层HEVC位流使用外部基础层时(即,当HEVC位流的作用中VPS具有等于0的vps_base_layer_internal_flag和等于1的vps_base_layer_available_flag时),将提供具有等于‘lhvc’的aux_info_type和等于0的aux_info_type_parameter的样本辅助信息用于可使用所述外部基础层作为用于层间预测的参考的轨道。样本辅助信息的存储将符合ISO/IEC 14496-12。
具有等于‘lhvc’的aux_info_type的样本辅助信息的语法如下:
下方指定具有等于‘lhvc’的aux_info_type的样本辅助信息的语义。在所述语义中,术语当前样本指代此样本辅助信息相关联的样本且应当提供以用于样本的解码。
等于0的bl_pic_used_flag指定无经解码基础层图片用于当前样本的解码。等于1的bl_pic_used_flag指定经解码基础层图片可以用于当前样本的解码。
当bl_pic_used_flag等于1时,bl_irap_pic_flag指定用于相关联经解码图片的BlIrapPicFlag变量的值,此时所述经解码图片被提供作为用于当前样本的解码的经解码基础层图片。
当bl_pic_used_flag等于1且bl_irap_pic_flag等于1时,bl_irap_nal_unit_type指定用于相关联经解码图片的nal_unit_type语法元素的值,此时所述经解码图片被提供作为用于当前样本的解码的经解码基础层图片。
当bl_pic_used_flag等于1时,sample_offset给出链接轨道中的相关联样本的相对索引。从链接轨道中的相关联样本的解码产生的经解码图片是为了当前样本的解码应当提供的相关联经解码图片。等于0的sample_offset指定相关联样本与当前样本的解码时间相比具有相同或最接近的先前解码时间;等于1的sample_offset指定相关联样本是相对于针对等于0的sample_offset导出的相关联样本的下一样本;等于-1的sample_offset指定相关联样本是相对于针对等于0的sample_offset导出的相关联样本的前一样本,等等。
9.8L-HEVC特定信息盒
随后的盒指定涉及L-HEVC基本流的多个层的信息。由于L-HEVC基本流中可存在可被选择用于输出的多个层,因此这些盒中运载的信息并不特定于任何单个轨道。
9.8.1操作点信息盒(‘oinf’)
9.8.1.1定义
盒类型:‘oinf’
容器:‘oref’类型参考轨道的MediaInformationBox(‘minf’)
必选:在L-HEVC位流的一个且仅一个轨道中是这样
数量:一
通过使用操作点信息盒(‘oinf’)向应用程序告知不同操作点及其构成。每一操作点与输出层集合、最大T-ID值以及简档、层级和层次信令相关。所有这些信息由‘oinf’盒捕获。除这些信息之外,此盒还提供层之间的相依性信息、L-HEVC位流中经译码的可缩放性的类型,以及涉及针对给定可缩放性类型的任何特定层的尺寸识别符。
对于具有共同‘sbas’轨道参考的L-HEVC或HEVC轨道的集合,此集合当中将存在运载‘oinf’盒的仅一个轨道。具有共同‘sbas’参考轨道的所有轨道将具有对运载‘oinf’盒的轨道的类型‘oref’的轨道参考。
当此盒存在时,轨道中将存在仅一个VPS。
9.8.1.2语法
9.8.1.3语义
scalability_mask:此字段指示由与此盒所关联的基础轨道(即,此轨道或由‘sbas’参考指向的轨道)相关的所有层表示的可缩放性类型。scalability_mask字段中的每一位表示如ISO/IEC 23008-2中定义的VPS扩展语法的scalability_mask_flag中经译码的可缩放性尺寸。位位置中的一指示可缩放性尺寸存在。
num_profile_tier_level:给出随后的简档、层次和层级组合以及相关联字段的数目。
general_profile_space、general_tier_flag、general_profile_idc、general_profile_compatibility_flags、general_constraint_indicator_flags和general_level_idc在ISO/IEC23008-2中定义。
num_operating_points:给出信息跟随的操作点的数目。
output_layer_set_idx是界定操作点的输出层集合的索引。output_layer_set_idx与layer_id值之间的映射将与由VPS针对具有索引output_layer_set_idx的输出层集合所指定的情况相同。
max_temporal_id:给出此操作点的NAL单元的最大TemporalId。
layer_count:此字段指示此操作点的如ISO/IEC 23008-2中定义的必要层的数目。
ptl_idx:用信号表示用于具有等于layer_id的识别符的层的所列出简档、层级和层次旗标的基于一的索引。当ptl_idx的值对于层等于零时,所述层将假定为未用信号表示简档、层级和层次且所述层将不是输出层或作为操作点的任何输出层的直接或间接参考层的层。
layer_id:提供用于操作点的层的层ID值。
is_outputlayer:指示层是否为输出层的旗标。一指示输出层。
is_alternate_outputlayer:此旗标当被设定时指示此层可视为用于此操作点的交替输出层。当且仅当操作点中的一个层已设定其is_outputlayer旗标时此旗标才设定成一。
minPicWidth指定如由ISO/IEC 23008-2中针对操作点的流的pic_width_in_luma_samples参数定义的明度宽度指示符的最小值。
minPicHeight指定如由ISO/IEC 23008-2中针对操作点的流的pic_height_in_luma_samples参数界定的明度高度指示符的最小值。
maxPicWidth指定如由ISO/IEC 23008-2中针对操作点的流的pic_width_in_luma_samples参数定义的明度宽度指示符的最大值。
maxPicHeight指定如由ISO/IEC 23008-2中针对操作点的流的pic_height_in_luma_samples参数定义的明度高度指示符的最大值。
maxChromaFormat指定如由ISO/IEC 23008-2中针对操作点的流的chroma_format_idc参数定义的chroma_format指示符的最大值。
maxBitDepthMinus8指定如由ISO/IEC 23008-2中分别针对操作点的流的bit_depth_luma_minus8和bit_depth_chroma_minus8参数定义的明度和色度位深度指示符的最大值。
等于0的frame_rate_info_flag指示对于操作点不存在帧速率信息。值1指示对于操作点存在帧速率信息。
等于0的bit_rate_info_flag指示对于操作点不存在位速率信息。值1指示对于操作点存在位速率信息。
avgFrameRate以用于操作点的帧/(256秒)的单位给出平均帧速率。值0指示未指定的平均帧速率。
等于1的constantFrameRate指示操作点的流具有恒定帧速率。值2指示操作点的流中的每一时间层的表示具有恒定帧速率。值0指示操作点的流可或可不具有恒定帧速率。
maxBitRate在一秒的任何窗口上以操作点的流的位/秒为单位给出最大位速率。
avgBitRate以操作点的流的位/秒为单位给出平均位速率。
max_layer_count:在所有操作点中涉及此相关联基础轨道的所有唯一层的计数。
reference_layerID:可直接 由dependent_layerID指 定的层参考的层的nuh_layer_id。
num_direct_dependent_layers:具有等于dependent_layerID的nuh_layer_id的层直接取决于具有等于reference_layerID的nuh_layer_id的层的层的数目。
dependent_layerID:具有等于dependent_layerID的nuh_layer_id的层直接取决于具有等于reference_layerID的nuh_layer_id的层的层的nuh_layer_id。
注意 如果含有L-HEVC位流的部分的轨道从文件去除,那么含有取决于所移除轨 道中含有的层的层的轨道也应当移除。
dimension_identifier:设定成如ISO/IEC 23008-2中定义的VPS扩展语法中指定的dimension_id字段的值。
B.第二实例性实施例
本部分描述为了适应上述各种实施方案的修改。
9.SHVC/MV-HEVC基本流和样本定义。
9.1引言
本条款指定SHVC或MV-HEVC数据的存储格式。其扩展了条款8中的HEVC的存储格式的定义。HVC和MV-HEVC两者使用相同的分层设计。此条款对于使用相同分层设计的所有HEVC扩展使用基本名称分层HEVC(L-HEVC)。
如本条款和附录A到附录D中定义的用于L-HEVC内容的存储的文件格式使用ISO基础媒体文件格式和纯HEVC文件格式(即条款8中指定的文件格式)的现有能力。另外,使用尤其以下的结构或扩展来支持L-HEVC特定特征:
a)聚合器:
用于通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的高效可缩放分组的结构。
b)注意:当与用于AVC/SVC/MVC的聚合器相比时,L-HEVC聚合器中的NAL单元标头语法元素的语法和语义已经被修改且聚合器的范围已经受限。
c)提取器:
用于实现NAL单元从除了含有媒体数据的轨道之外的轨道的高效提取的结构。
注意:当与用于AVC/SVC/MVC的提取器相比时,L-HEVC提取器的NAL单元标头的语法和语义已经被修改。
d)HEVC兼容性:
提供以HEVC兼容方式存储L-HEVC位流,以使得HEVC兼容基础层可由任何纯HEVC文件格式顺应性读取器使用。
e)AVC兼容性
提供以AVC兼容方式存储L-HEVC位流,以使得AVC兼容基础层可由任何纯AVC文件格式顺应性读取器使用。
L-HEVC位流是层的集合,其中每一层有助于按比例缩放在质量、分辨率、帧率、视图、深度等中的视觉呈现。L-HEVC层由其层识别符(L-id)识别,所述层识别符在包含且与其基础层相关联的层集合当中必须是唯一的;基础层包含在通过‘sbas’轨道参考而链接的轨道中。
一系列相关层在一起分组为层集合。层可以是一或多个层集合的成员。属于层的NAL单元可以进一步基于它们的时间识别符(T-id)分割。每一此分割称为子层。
层集合中的一个、一些或所有层可被标记以用于输出。输出层集合是对于其指示输出层的层集合。输出层集合附连到一些指定的简档、层级和层次约束。与从0到选定最大T-id值(包含性)的T-id值范围相关联的输出层集合称为操作点。操作点表示L-HEVC位流的可通过子位流提取过程获得的一部分。每个有效的操作点可独立于其它操作点而经解码。
对L-HEVC的支持包含若干工具,且存在它们可能如何使用的各种‘模型’。确切地说,L-HEVC流可以若干方式放置于轨道中,所述方式如下:
1.每一层在其自身的轨道中;
2预期操作点各自在轨道中(例如,HEVC基础、立体像对、多视图场景)。
L-HEVC文件格式允许 将每一层存储到轨道中。L-HEVC操作点可以由 轨道隐式地表示,即,轨道中的每一样本含有存取单元,其中存取单元的一些或所有NAL单 元可以包含于提取器和聚合器NAL单元中或由其参考。如果操作点的数目较大,那么为每一 操作点产生轨道可能是空间消耗且不可行的。
当L-HEVC位流存储于无提取器和聚合器NAL单元的轨道中 ,且播放器使用 在‘oinf’盒中显式地用信号表示的操作点时,播放器必须如9.7.2中指定重构L-HEVC存取单元,然后将其传递到L-HEVC。
9.2 L-HEVC存储的概述
L-HEVC位流的存储由例如样本条目和操作点信息(‘oinf’)盒 等结构支持。样本条目内的结构提供用于与所述样本条目相关联的样本的解码或使用的信息,在此情况下为经译码视频信息。oinf盒记录每一操作点的层 的简档、层次和层级以及 其它此类操作点相关信息。 在‘oinf’盒用信号表示的信息与使用轨道参考来找到轨道相组合足以使读取器根据其能力而选择操作点,识别含有对所选操作点进行解码所需要的相关层的轨道,且高效地提取操作点中的子位流。
9.3 L-HEVC轨道结构
根据8.2存储L-HEVC流,L-HEVC视频基本流的定义如下:
·L-HEVC视频基本流将含有具有大于0的特定nuh_layer_id的所有视频译码相关NAL单元(即含有视频数据或信令视频结构的那些NAL单元),且可含有例如SEI消息和存取单元定界符NAL单元等非视频译码相关NAL单元。此外,聚合器(参见A.2)或提取器(参见A.3)可存在。聚合器和提取器将不直接由文件剖析器输出。未被明确地禁止的其它类型的NAL单元可存在,且如果它们未被辨识,那么它们应当由文件剖析器丢弃。
9.4纯HEVC文件格式的使用
L-HEVC文件格式是条款8中定义的纯HEVC文件格式的扩展。如果使用HEVC规范经译码,那么L-HEVC的基础层将符合如此标准中指定的HEVC文件格式。
9.5纯AVC文件格式的使用
L-HEVC文件格式支持混合编解码器配置,其中基础层是使用AVC编码器经译码。如果使用AVC规范经译码,那么L-HEVC的基础层将符合如此标准中指定的AVC文件格式。
9.6样本和配置定义
9.6.1引言
L-HEVC样本是一系列图片单元;图片单元含有L-HEVC存取单元中的经译码图片的VCL和相关联非VCL NAL单元。存取单元在ISO/IEC 23008-2中定义。轨道的样本含有仅包含于所述轨道中的那些层的图片单元。
9.6.2典型次序和限制
除条款8.3.2中的要求之外,以下限制也适用于L-HEVC数据。
·VCL NAL单元:在一个存取单元内且属于包含于轨道中的层的所有VCL NAL单元将包含于与由所述存取单元表示的图片具有相同组成时间的样本中。在提取器的解析之后,L-HEVC样本将含有至少一个VCL NAL单元。
·聚合器/提取器:允许每一聚合器聚合仅属于图片单元的NAL单元。包含在聚合器中或由提取器参考的所有NAL单元的次序确切地是如同这些NAL单元存在于不含有聚合器/提取器的样本中的解码次序。在处理聚合器或提取器之后,所有NAL单元必须呈有效的解码次序,如ISO/IEC 23008-2中指定。
·AVC经译码基础层轨道的运载:AVC经译码基础层将始终在其自身的轨道中运载,且将由如此国际标准中指定的AVC样本组成。
9.6.3解码器配置记录
当条款8.3.3.1中定义的解码器配置记录用于可作为L-HEVC或HEVC流解译的流时,HEVC解码器配置记录将适用于HEVC兼容基础层,且应当仅含有对HEVC基础层进行解码所需要的参数集。
LHEVCDecoderConfigurationRecord结构上类似于HEVCDecoderConfigurationRecord,不同之处在于一些额外字段。语法如下:
LHEVCDecoderConfigurationRecord和HEVCDecoderConfigurationRecord共同的字段的语义保持不变。LHEVCDecoderConfigurationRecord的额外字段具有以下语义。
complete_representation:当设定此旗标时,其指示此轨道含有L-HEVC位流的形成经编码信息的完整集合的一部分的部分。此旗标被复位的轨道可以被移除而无原始经编码数据的任何损失。
注意轨道可以表示多于一个输出层集合。
注意对于包含在轨道中的每一辅助图片层,推荐在nalUnit内包含含有陈述的SEI消息的SEI NAL单元,例如用于深度辅助图片层的深度表示信息SEI消息,其指定辅助图片层的特性。
trackLayerId:指定包含于此轨道中的VCL NALU的nuh_layer_id的值。
ptlIdx:用信号表示用于包含于轨道中的层的所列出简档、层级和层次旗标的基 于一的索引。当ptlIdx的值等于零时,包含于轨道中的层将界定为未用信号表示简档、层级 和层次,且所述层将不是输出层或作为操作点的任何输出层的直接或间接参考层的层。当 num_signalled_operating_points等于0时,ptlIdx的值将不等于0。
minPicWidth指定如由ISO/IEC 23008-2中针对操作点的流的pic_width_in_ luma_samples参数定义的明度宽度指示符的最小值。
minPicHeight指定如由ISO/IEC23008-2中针对操作点的流的pic_height_in_ luma_samples参数界定的明度高度指示符的最小值。
maxPicWidth指定如由ISO/IEC 23008-2中针对操作点的流的pic_width_in_ luma_samples参数定义的明度宽度指示符的最大值。
maxPicHeight指定如由ISO/IEC23008-2中针对操作点的流的pic_height_in_ luma_samples参数定义的明度高度指示符的最大值。
maxChromaFormat指定如由ISO/IEC 23008-2中针对操作点的流的chroma_ format_idc参数定义的chroma_format指示符的最大值。
maxBitDepthMinus8指定如由ISO/IEC23008-2中分别针对操作点的流的bit_ depth_luma_minus8和bit_depth_chroma_minus8参数定义的明度和色度位深度指示符的 最大值。
等于0的frame_rate_info_flag指示对于操作点不存在帧速率信息。值1指示对于 操作点存在帧速率信息。
等于0的bit_rate_info_flag指示对于操作点不存在位速率信息。值1指示对于操 作点存在位速率信息。
avgFrameRate以用于操作点的帧/(256秒)的单位给出平均帧速率。值0指示未指 定的平均帧速率。
等于1的constantFrameRate指示操作点的流具有恒定帧速率。值2指示操作点的 流中的每一时间层的表示具有恒定帧速率。值0指示操作点的流可或可不具有恒定帧速率。
maxBitRate在一秒的任何窗口上以操作点的流的位/秒为单位给出最大位速率。
avgBitRate给出操作点的流的以位/秒为单位的平均位速率。
9.7从ISO基础媒体文件格式的导出
9.7.1 L-HEVC轨道结构
L-HEVC流由文件中的一或多个视频轨道表示。每一轨道表示经译码位流的一或多个层。
存在当结合在一起时含有经编码信息的完整集合的一或多个轨道的最小集合。所有这些轨道将具有在所有其样本条目中设定的旗标“complete_representation”。形成完整经编码信息的此轨道群组称为“完整子集”。当包含在“完整子集”中的轨道被保持时可保持完整经编码信息;所有其它轨道将表示完整子集的子集、副本或重新排序。
假设最低操作点是所有操作点中含有具有仅等于0的nuh_layer_id和仅等于0的TemporalId的NAL单元的一个操作点。对于给定流,含有最低操作点的确切一个轨道将被命名为‘可缩放基础轨道’。
对于具有非HEVC经译码基础层的L-HEVC位流,基础层是最低操作点,且始终被指派其自身的一个轨道且被命名为基础轨道。作为同一流的部分的所有其它轨道将借助于类型‘sbas’的轨道参考链接到其基础轨道。
共享同一可缩放基础轨道的所有轨道必须共享与可缩放基础轨道相同的时间尺度。
如果由轨道表示的层使用由另一轨道表示的另一层用于层间预测参考,那么类型‘scal’的轨道参考将包含在参考用于层间预测的源轨道的轨道中。
注意如果含有L-HEVC位流的部分的轨道从文件移除,那么含有参考所移除轨道的‘scal’和‘sbas’轨道的轨道也应当移除。
当基础层使用AVC经译码时,基础层轨道将根据条款5而构造而不使用单独的参数集轨道。
9.7.2存取单元的数据共享和重构
不同轨道可以逻辑地共享数据。此共享可采取以下两个形式中的一者:
a)样本数据在不同轨道中复制。
b)可存在当读取文件时如何执行此复制的指令。对于此情况,使用提取器(A.3中定义)。
为了从一或多个L-HEVC轨道的样本重构存取单元,可能需要首先确定目标输出层和它们属于的操作点。
注意播放器可从包含在操作点信息盒中的操作点列表或者通过解析提取器和聚 合器而得出用于对所确定目标输出层进行解码所需的层。运载用于操作点的相关层的轨道可通过遵循轨道内容盒中的‘scal’轨道参考和信息而获得。
当重构用于在‘oinf’盒中显式地列出的操作点的存取单元时,重构所述存取单元 所需的轨道是使用在此操作点中列出的层来识别,除样本中存在的hvt1或lht1外的轨道的 提取器和聚合器将被忽略。在此情况下, 基于样本解码时间,即仅使用时间/样本表而不考虑编辑列表来执行轨道中的相应样本的对准。当重构用于未在‘oinf’盒中列出的操作点的存取单元时,通过解析存在于所述样本 中的提取器而重构存取单元。
存取单元是从所需的轨道中的相应样本通过按符合ISO/IEC 23008-2的次序布置其NAL单元而重构。以下次序提供用以从样本构造符合存取单元的程序的信息概述:
·当存在时,带有具有等于0的nuh_layer_id的VCL NAL单元的图片单元(如ISO/IEC 23008-2中指定),排除位流NAL单元的末尾。
·按nuh_layer_id值的递增次序来自任何相应样本的图片单元(如ISO/IEC23008-2中指定)。
·当存在时,位流NAL单元的末尾。
9.7.3L-HEVC视频流定义
9.7.3.1样本条目名称和格式
9.7.3.1.1定义
类型:‘hvc1’、‘hev1’、‘hvc2’、‘hev2’、 ‘mhv1’、‘mhe1’、‘shv1’、 ‘she1’、‘mhv2’、‘mhe2’、‘shv2’、‘she2’、‘lhvC’
容器:样本描述盒(‘stsd’)
必选:‘hvc1’、‘hev1’、‘hvc2’、‘hev2’、‘mhe1’、‘shv1’、‘she1’、‘mhv2’、‘mhe2’、 ‘shv2’、 ‘she2’样本条目是必选的
数量:一或多个样本条目可存在
当样本条目名称是 ‘mhv1’、‘shv1’、‘mhv2’或‘shv2时,array_completeness的默认且必选值对于所有类型参数集的阵列是1,且对于所有其它阵列是0。当样本条目名称是 ‘mhe1’、‘she1’、‘mhe2’或‘she2’时,array_completeness的默认值对于所有阵列是0。
当样本条目名称是‘mhv1’、‘mhe1’、‘shv1’或‘she1’时,含有L-HEVC位流的部分的 其它轨道的样本条目名称将是‘mhv1’、‘mhe1’、‘shv1’或‘she1’。
当样本条目名称是‘mhv2’、‘mhe2’、‘shv2’或‘she2’时,含有L-HEVC位流的部分的 其它轨道的样本条目名称将是‘mhv2’、‘mhe2’、‘shv2’或‘she2’。
当样本条目名称是 ‘mhe1’或‘she1’时,以下适用:
·如果样本含有如ISO/IEC 23008-2中定义的至少一个IRAP图片,那么对样本中含有IRAP图片的每一层中的IRAP图片以及按解码次序的随后图片进行解码所需要的每一参数集将包含在存在于此样本中的轨道运载层的样本条目中或所述样本自身中(可能通过使用提取器)。
·否则(样本不含IRAP图片),对所述样本进行解码所需要的每一参数集将包含在存在于此样本中的轨道运载层的样本条目中或者从含有至少一个IRAP图片的先前样本到所述样本自身(包含性)的样本中的任一者中(可能通过使用提取器)。
共享同一基础轨道的L-HEVC和HEVC轨道的任何给定样本条目中的L-HEVC和HEVC配置中的lengthSizeMinusOne字段将具有相同值。
无论样本条目类型如何,提取器或聚合器都可用于具有大于0的nuh_layer_id的NAL单元,例如当所述同一条目类型是‘hvc1’或‘hev1’且仅HEVC配置存在时。
注意当指示HEVC兼容性时,可能必须指示用于HEVC基础层的足够高层级以适应整个流的位速率,因为所有NAL单元视为包含在HEVC基础层中且因此可以馈送到解码器,所述解码器预期丢弃其无法辨识的那些NAL单元。此情况当使用‘hvc1’、‘hev1’、‘hvc2’或‘hev2’样本条目且HEVC和L-HEVC配置均存在时发生。
LHEVCConfigurationBox可存在于‘hvc1’或‘hev1’、‘hvc2’或‘hev2’样本条目中。在此情况下下方的HEVCLHVCSampleEntry定义适用。
以下表针对视频轨道示出了样本条目、配置和L-HEVC工具的所有可能的使用:
表10-用于HEVC和L-HEVC轨道的样本条目的使用
9.7.3.1.2语法
9.7.3.1.3语义
当样本条目应用的流含有具有大于0的nuh_layer_id的NAL单元时,基本类VisualSampleEntry中的Compressorname指示与正推荐的值“\014LHEVC译码”一起使用的压缩器的名称(\014是12,串“LHEVC译码”的以字节计的长度)。
9.7.4 L-HEVC视觉宽度和高度
含有具有大于0的nuh_layer_id的特定的NAL单元的流的VisualSampleEntry中归档的视觉宽度和高度将分别为 轨道中被标记为任何输出层集合的输出层的任何层的经解码图片的最大视觉宽度和高度。
9.7.5同步样本
如果存取单元中的基础层图片是如ISO/IEC 23008-2中定义的IRAP图片,那么L-HEVC样本视为同步样本。同步样本由同步样本表归档,且可以另外由流存取点‘sap’样本群组归档。
9.7.6流存取点样本群组
‘sync’盒提供L-HEVC媒体流中可能的随机存取的仅一种类型的指示。存在可能的许多其它类型的随机存取。ISO/IEC 14496-12的附件I提供随机存取的不同类型的大量论述。位流中可能进行随机存取的位置称为流存取点(SAP)。附件I指定具有不同特性的六个类型的SAP。为了提供所有不同类型的SAP的信息,使用ISO/IEC 14496-12中指定的流存取样本群组‘sap’。
当在L-HEVC的情境中使用时‘sap’样本分组将把layer_id_method_idc值设定为1。
字段target_layers的长度是28位。字段中的每一位表示层。由于此字段的长度仅是28位,因此轨道中的SAP点的指示被约束为最大28层。此字段的从LSB开始的每一位将映射到按层ID的升序 在解析参 考轨道之后获得的层ID的列表。
举例来说,如果轨道及其参考轨道的层ID是 、10和29的层,那么层ID 4映射到最低有效位,层ID 10映射第二最低有效位,且层ID 29映射到第三最低有效位。位中的一的值用信号表示在样本中映射层具有作为某个类型的SAP的图片。在先前实例中以下表给出层特定SAP信息的实例。
表11-用于上述实例使用情况的‘sap’样本分组的target_layer字段的位模式
目标层的位模式(LSB最右边位) SAP的层ID(4、10、29当中)
000000000000000000000010 {10}
000000000000000000000100 {29}
000000000000000000000101 {29,4}
通过遵循SampleToGroup盒中的样本的group_description_index而解析类型。
9.7.7随机存取恢复点和随机存取点上的样本群组
对于通过类型‘hvc1’、‘hev1’、‘hvc2’或‘hev2’的样本条目描述的视频数据,随机存取恢复样本群组和流存取点样本群组分别识别随机存取恢复点和随机存取点,以用于HEVC解码器和对整个位流操作的L-HEVC解码器(如果存在)。
对于由L-HEVC样本条目类型描述的视频数据,随机存取恢复样本群组识别整个L-HEVC位流中的随机存取恢复点,且流存取点样本群组识别整个L-HEVC位流中的随机存取点。
如果样本中的经译码图片是如ISO/IEC 23008-2中定义的IRAP图片(具有或不具有RASL图片),且ISO/IEC 14496-12中的前导样本是其中所有图片是如ISO/IEC 23008-2中定义的RASL图片的样本,那么L-HEVC样本视为随机存取点。
9.7.8独立且可弃式样本盒
如果在HEVC且L-HEVC兼容的轨道中使用的独立且可弃式样本盒,那么应当注意不管使用L-HEVC数据的何种有效子集(可能仅HEVC数据)由此盒提供的信息都为真。如果所述信息变化,那么可能需要‘unknown’值(字段sample-depends-on、sample-is-depended-on和sample-has-redundancy的值0)。
9.7.9用于L-HEVC的子样本的定义
此子条款扩展了8.4.8中的HEVC的子样本的定义。
对于L-HEVC流中的子样本信息盒的使用(ISO/IEC 14496-12的条款8.7.7),子样本是基于如下方指定的子样本信息盒的旗标的值而定义。此盒的存在是任选的;然而,如果存在于含有L-HEVC数据的轨道中,那么其将具有此处定义的语义。
旗标如下指定此盒中给定的子样本信息的类型:
0、1、2和4:与8.4.8中相同。
5:基于图片的子样本。子样本含有一个经译码图片和相关联非VCL NAL单元。
旗标的其它值是保留的。
subsample_priority字段和可丢弃字段将如8.4.8中指定而设定。
当NAL单元的第一字节包含在子样本中时,先前长度字段也必须包含在同一子样本中。
SubLayerRefNalUnitFlag、RapNalUnitFlag、VclNalUnitFlag、vcl_idc、log2_min_luma_ctb、ctb_x和ctb_y的语义与8.4.8中相同。
DiscardableFlag指示子样本中的VCL NAL单元的discardable_flag值。子样本中的所有VCL NAL单元将具有相同discardable_flag值。
注意这与子样本信息盒中的可丢弃字段不是相同的定义。
NoInterLayerPredFlag指示子样本中的VCL NAL单元的inter_layer_pred_enabled_flag的值。子样本中的所有VCL NAL单元将具有inter_layer_pred_enabled_flag的相同值。
LayerId指示子样本中的NAL单元的nuh_layer_id值。子样本中的所有NAL单元将具有相同nuh_layer_id值。
TempId指示子样本中的NAL单元的TemporalId值。子样本中的所有NAL单元将具有相同TemporalId值。
VclNalUnitType指示子样本中的VCL NAL单元的nuh_unit_type值。子样本中的所有VCL NAL单元将具有相同nuh_unit_type值。
9.7.10处置非输出样本
8.4.9中指定的内容当涉及多个层时并不始终适用。如果无法遵循8.4.9中指定的内容,那么丢弃样本且延伸先前样本的持续时间,以使得随后的样本具有正确的组成定时。
9.7.11混合编解码器可缩放性的指示
当多层HEVC位流使用外部基础层时(即,当HEVC位流的作用中VPS具有等于0的vps_base_layer_internal_flag和等于1的vps_base_layer_available_flag时),将提供具有等于‘lhvc’的aux_info_type和等于0的aux_info_type_parameter的样本辅助信息用于可使用所述外部基础层作为用于层间预测的参考的轨道。样本辅助信息的存储将符合ISO/IEC 14496-12。
具有等于‘lhvc’的aux_info_type的样本辅助信息的语法如下:
下方指定具有等于‘lhvc’的aux_info_type的样本辅助信息的语义。在所述语义中,术语当前样本指代此样本辅助信息相关联的样本且应当提供以用于样本的解码。
等于0的bl_pic_used_flag指定无经解码基础层图片用于当前样本的解码。等于1的bl_pic_used_flag指定经解码基础层图片可以用于当前样本的解码。
当bl_pic_used_flag等于1时,bl_irap_pic_flag指定用于相关联经解码图片的BlIrapPicFlag变量的值,此时所述经解码图片被提供作为用于当前样本的解码的经解码基础层图片。
当bl_pic_used_flag等于1且bl_irap_pic_flag等于1时,bl_irap_nal_unit_type指定用于相关联经解码图片的nal_unit_type语法元素的值,此时所述经解码图片被提供作为用于当前样本的解码的经解码基础层图片。
当bl_pic_used_flag等于1时,sample_offset给出链接轨道中的相关联样本的相对索引。从链接轨道中的相关联样本的解码产生的经解码图片是为了当前样本的解码应当提供的相关联经解码图片。等于0的sample_offset指定相关联样本与当前样本的解码时间相比具有相同或最接近的先前解码时间;等于1的sample_offset指定相关联样本是相对于针对等于0的sample_offset导出的相关联样本的下一样本;等于-1的sample_offset指定相关联样本是相对于针对等于0的sample_offset导出的相关联样本的前一样本,等等。
9.8L-HEVC特定信息盒
随后的盒指定涉及L-HEVC基本流的多个层的信息。由于L-HEVC基本流中可存在可被选择用于输出的多个层,因此这些盒中运载的信息并不特定于任何单个轨道。
9.8.1操作点信息盒(‘oinf’)
9.8.1.1定义
盒类型:‘oinf’
容器:‘oref’类型参考轨道的MediaInformationBox(‘minf’)
必选:在L-HEVC位流的一个且仅一个轨道中是这样
数量:一
通过使用操作点信息盒(‘oinf’)向应用程序告知不同操作点及其构成。每一操作点与输出层集合、最大T-ID值以及简档、层级和层次信令相关。所有这些信息由‘oinf’盒捕获。除这些信息之外,此盒还提供层之间的相依性信息、L-HEVC位流中经译码的可缩放性的类型,以及涉及针对给定可缩放性类型的任何特定层的尺寸识别符。
对于具有共同‘sbas’轨道参考的L-HEVC或HEVC轨道的集合,此集合当中将存在运载‘oinf’盒的仅一个轨道。具有共同‘sbas’参考轨道的所有轨道将具有对运载‘oinf’盒的轨道的类型‘oref’的轨道参考。
当此盒存在时,轨道中将存在仅一个VPS。
9.8.1.2语法
9.8.1.3语义
scalability_mask:此字段指示由与此盒所关联的基础轨道(即,此轨道或由‘sbas’参考指向的轨道)相关的所有层表示的可缩放性类型。scalability_mask字段中的每一位表示如ISO/IEC 23008-2中定义的VPS扩展语法的scalability_mask_flag中经译码的可缩放性尺寸。位位置中的一指示可缩放性尺寸存在。
num_profile_tier_level:给出随后的简档、层次和层级组合以及相关联字段的数目。
general_profile_space、general_tier_flag、general_profile_idc、general_profile_compatibility_flags、general_constraint_indicator_flags和general_level_idc在ISO/IEC23008-2中定义。
num signalled_operating_points:给出信息跟随的操作点的数目。
当num_signalled_operating_points大于0时,以下适用:
含有L-HEVC位流的部分的每一轨道的样本条目名称将为mhv1、mhe1、shv1或she1。
否则,则num_signalled_operation_points等于0,以下适用:
含有L-HEVC位流的部分的每一轨道的样本条目名称将为mhv2、mhe2、shv2或she2。
具有样本条目名称hvc2、hev2、mhv2、mhe2、shv2和she2的每一轨道与操作点相关 联。
对于与具有样本条目名称mhv2或mhe2的轨道相关联的操作点,通过解析轨道中的 提取器获得的位流的所有层是输出层。
对于与具有样本条目名称shv2或she2的轨道相关联的操作点,通过解析轨道中的 提取器获得的位流的所有层当中的仅具有最高层ID的层是输出层。
output_layer_set_idx是界定操作点的输出层集合的索引。output_layer_set_idx与layer_id值之间的映射将与由VPS针对具有索引output_layer_set_idx的输出层集合所指定的情况相同。
max_temporal_id:给出此操作点的NAL单元的最大TemporalId。
layer_count:此字段指示此操作点的如ISO/IEC 23008-2中定义的必要层的数目。
ptl_idx:用信号表示用于具有等于layer_id的识别符的层的所列出简档、层级和层次旗标的基于一的索引。当ptl_idx的值对于层等于零时,所述层将假定为未用信号表示简档、层级和层次且所述层将不是输出层或作为操作点的任何输出层的直接或间接参考层的层。
layer_id:提供用于操作点的层的层ID值。
is_outputlayer:指示层是否为输出层的旗标。一指示输出层。
is_alternate_outputlayer:此旗标当被设定时指示此层可视为用于此操作点的交替输出层。当且仅当操作点中的一个层已设定其is_outputlayer旗标时此旗标才设定成一。
本文中所论述的译码技术可以在实例视频编码和解码系统(例如,系统100)中实施。系统包含提供待在稍后时间由目的地装置解码的经编码视频数据的源装置。明确地说,源装置经由计算机可读媒体将视频数据提供到目的地装置。源装置和目的地装置可包括各种各样裝置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些情况下,源装置和目的地装置可经装备以用于无线通信。
目的地装置可经由计算机可读媒体接收待解码的经编码视频数据。计算机可读媒体可包括能够将经编码视频数据从源装置移动到目的地装置的任何类型的媒体或装置。在一个实例中,计算机可读媒体可包括使源装置能够实时将经编码视频数据直接发射到目的地装置的通信媒体。经编码视频数据可根据通信标准(例如无线通信协议)加以调制,且发射到目的地装置。通信媒体可以包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发射线。通信媒体可形成分组网络(例如,局域网、广域网或全球网络,例如因特网)的部分。通信媒体可包含可用于促进从源装置到目的地装置的通信的路由器、交换器、基站或任何其它设备。
在一些实例中,经编码数据可从输出接口输出到存储装置。类似地,经编码数据可通过输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置产生的经编码视频的另一中间存储装置。目的地装置可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可为能够存储经编码视频数据和将所述经编码视频数据发射到目的地装置的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置可通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可能是流式传输发射、下载发射或其组合。
本发明的技术未必限于无线应用或设定。所述技术可以应用于视频译码并且支持多种多媒体应用中的任一者,例如空中协议电视广播、有线电视发射、卫星电视发射、因特网串流视频发射(例如动态自适应HTTP串流(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统可经配置以支持单向或双向视频传输,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
在一个实例中,源装置包含视频源、视频编码器和输出接口。目的地装置可包含输入接口、视频解码器和显示装置。源装置的视频编码器可经配置以应用本文所揭示的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置可从外部视频源(例如,外部相机)接收视频数据。同样,目的地装置可与外部显示装置介接,而非包含集成显示装置。
以上实例系统仅是一个实例。用于并行处理视频数据的技术可由任何数字视频编码和/或解码装置来执行。尽管本发明的技术一般通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编码解码器”)来执行。此外,本发明的技术还可由视频预处理器执行。源装置和目的地装置仅为源装置在其中产生经译码视频数据以供发射到目的地装置的此类译码装置的实例。在一些实例中,源装置和目的地装置可以大体上对称方式操作以使得所述装置中的每一者包含视频编码和解码组件。因此,实例系统可支持视频装置之间的单向或双向视频发射,例如用于视频串流、视频重放、视频广播或视频电话。
视频源可包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频存档及/或用于从视频内容提供者接收视频的视频馈入接口。作为再一替代方案,视频源可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源为摄像机,那么源装置和目的地装置可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器编码所俘获、预先俘获或计算机产生的视频。经编码视频信息可随后由输出接口输出到计算机可读媒体上。
如所提到,计算机可读媒体可包含短暂性媒体,例如,无线广播或有线网络传输,或存储媒体(即,非暂时性存储媒体),例如,硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置接收经编码视频数据且例如经由网络传输将经编码视频数据提供到目的地装置。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置接收经编码的视频数据且生产含有经编码的视频数据的光盘。因此,在各种实例中,计算机可读媒体可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置的输入接口从计算机可读媒体接收信息。计算机可读媒体的信息可包含由视频编码器界定的语法信息,其也供视频解码器使用,所述语法信息包含描述块和其它经译码单元(例如,图片群组(GOP))的特性和/或处理的语法元素。显示装置向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。已描述本发明的各种实施例。
图8和图9中分别示出编码装置804和解码装置912的具体细节。图8是说明可实施本发明中描述的技术中的一或多个的实例编码装置804的框图。举例来说,编码装置804可以产生本文中描述的语法结构(例如,VPS、SPS、PPS的语法结构,或其它语法元素)。编码装置804可以在视频切片内执行视频块的帧内预测和帧间预测译码。如先前描述,帧内译码至少部分依赖于空间预测来减少或去除给定视频帧或图片内的空间冗余。帧间译码至少部分依赖于时间预测来减少或去除视频序列的邻近或周围帧内的时间冗余。帧内模式(I模式)可指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指代若干基于时间的压缩模式中的任一者。
编码装置804包含分割单元35、预测处理单元41、滤波器单元63、图片存储器64、求和器50、变换处理单元52、量化单元54以及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。对于视频块重构,编码装置804还包含逆量化单元58、逆变换处理单元60和求和器62。滤波器单元63既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图8中将滤波器单元63展示为环路内滤波器,但在其它配置中,可将滤波器单元63实施为环路后滤波器。后处理装置57可以对由编码装置804产生的经编码的视频数据执行额外处理。本发明的技术在一些情况下可以通过编码装置804实施。然而,在其它情况下,本发明的技术中的一或多个可以通过后处理装置57实施。
如图8中所示,编码装置804接收视频数据,且分割单元35将所述数据分割成视频块。所述分割还可包含分割成切片、切片片段、瓦片或其它较大单元,以及例如根据LCU及CU的四叉树结构的视频块分割。编码装置804总体上说明对待编码的视频切片内的视频块进行编码的组件。所述切片可以分成多个视频块(并且可能分成被称作单元片的视频块集合)。预测处理单元41可以基于误差结果(例如,译码速率和失真水平,或类似物)选择多个可能的译码模式中的一个,例如多个帧内预测译码模式中的一个或多个帧间预测译码模式中的一个,以用于当前视频块。预测处理单元41可将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重建构经编码块以用作参考图片。
预测处理单元41内的帧内预测处理单元46可相对于与待译码当前块在相同帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码,以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测块执行当前视频块的帧间预测性译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式来确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42和运动补偿单元44可高度集成,但出于概念的目的分别加以说明。由运动估计单元42执行的运动估计是产生估计视频块的运动的运动向量的过程。运动向量例如可指示当前视频帧或图片内的视频块的预测单元(PU)相对于参考图片内的预测性块的位移。
预测块是被发现在像素差方面与待译码视频块的PU密切匹配的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,编码装置804可计算存储在图片存储器64中的参考图片的子整数像素位置的值。举例来说,编码装置804可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在图片存储器64中的一或多个参考图片。运动估计单元42向熵编码单元56和运动补偿单元44发送计算出的运动向量。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量获取或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44可即刻在参考图片列表中定位所述运动向量指向的预测性块。编码装置804通过从正经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,且可包含明度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44还可产生与视频块和视频切片相关联的供解码装置912在对视频切片的视频块进行解码时使用的语法元素。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测处理单元46可以对当前块进行帧内预测。明确地说,帧内预测处理单元46可以确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可例如在单独的编码遍次期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元处理46(或在一些实例中,模式选择单元40)可从测试模式选择适当帧内预测模式进行使用。举例来说,帧内预测处理单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且可从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始的未经编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(即,位数目)。帧内预测处理单元46可根据用于各种经编码块的失真和速率来计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
在任何状况下,在选择了用于块的帧内预测模式之后,帧内预测处理单元46可以将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可以对指示所选帧内预测模式的信息进行编码。编码装置804可以在所传输的位流中包含用于各种块的编码上下文的配置数据定义以及最可能帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示以供每种上下文使用。位流配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,编码装置804通过从当前视频块减去预测性块来形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中,并可应用到变换处理单元52。变换处理单元52使用变换(例如,离散余弦变换(DCT)或在概念上类似的转换)来将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域,例如频域。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化所述变换系数以进一步减小位率。量化过程可以减少与系数中的一些或全部相关联的位深度。可通过调节量化参数来修改量化的程度。在一些实例中,量化单元54可以接着执行对包含经量化的变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化的变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码技术。在熵编码单元56进行的熵编码之后,可将经编码位流传输到解码装置912,或将经编码位流存档以供稍后传输或由解码装置912检索。熵编码单元56还可熵编码正被译码的当前视频切片的运动向量及其它语法元素。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重构残余块,以供稍后用作参考图片的参考块。运动补偿单元44可以通过将残余块加到参考图片列表内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于所重构的残余块以计算子整数像素值用于运动估计。求和器62将经重构的残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生参考块以用于存储在图片存储器64中。参考块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧或图片中的块进行帧间预测。
以此方式,图8的编码装置804表示经配置以产生用于经编码视频位流的语法的视频编码器的实例。举例来说,编码装置804可以产生VPS、SPS和PPS参数集,如上文所述。编码装置804可执行本文所描述的技术中的任一者,包含上文关于图8和图9描述的过程。已相对于编码装置804总体上描述了本发明的技术,但是如上文所提及,本发明的技术中的一些也可以通过后处理装置57实施。
图9是说明实例解码装置912的框图。解码装置912包含熵解码单元80、预测处理单元81、逆量化单元86、逆变换处理单元88、求和器90、滤波器单元91和图片存储器92。预测处理单元81包含运动补偿单元82和帧内预测处理单元84。在一些实例中,解码装置912可执行总体上与关于图8的编码装置804描述的编码遍次互逆的解码遍次。
在解码过程期间,解码装置912接收表示经编码视频切片的视频块和由编码装置804发送的相关联语法元素的经编码视频位流。在一些实施例中,解码装置912可以从编码装置804接收经编码视频位流。在一些实施例中,解码装置912可以从网络实体79接收经编码视频位流,该网络实体例如,服务器、媒体感知网络元件(MANE)、视频编辑器/拼接器或经配置以实施上文所述的技术中的一或多个的其它此类装置。网络实体79可包含或可不包含编码装置804。本发明中描述的技术中的一些可以在网络实体79将经编码视频位流传输到解码装置912之前通过网络实体79实施。在一些视频解码系统中,网络实体79和解码装置912可为单独的装置的部分,而在其它情况下,关于网络实体79描述的功能性可由包括解码装置912的相同装置执行。
解码装置912的熵解码单元80对位流进行熵解码以产生经量化的系数、运动向量和其它语法元素。熵解码单元80将运动向量和其它语法元素转发到预测处理单元81。解码装置912可接收视频切片层级和/或视频块层级处的语法元素。熵解码单元80可以处理和剖析在例如VPS、SPS和PPS中的一或多个参数集中的固定长度语法元素和可变长度语法元素这两者。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其它语法元素产生当前视频切片的视频块的预测性块。可从参考图片列表内的参考图片中的一个产生预测性块。解码装置912可基于存储在图片存储器92中的参考图片使用默认构造技术构造参考帧列表,即列表0和列表1。
运动补偿单元82通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元82可使用参数集中的一或多个语法元素来确定用以对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的一或多个参考图片列表的构造信息、用于切片的每一经帧间编码视频块的运动向量、用于切片的每一经帧间译码视频块的帧间预测状态,以及用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由编码装置804在编码视频块期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可从所接收的语法元素确定编码装置804所使用的内插滤波器,且可使用所述内插滤波器来产生预测性块。
逆量化单元86将提供于位流中且由熵解码单元80解码的经量化变换系数逆量化,例如,解量化。逆量化过程可包含使用针对视频切片中的每一视频块由编码装置804计算的量化参数,以确定应施加的量化程度以及同样地逆量化程度。逆变换处理单元88将逆变换(例如,逆DCT或其它合适的逆变换)、逆整数变换或概念上相似的逆变换过程应用到所述变换系数以便产生像素域中的残余块。
在运动补偿单元82基于运动向量及其它语法元素产生用于当前视频块的预测性块之后,解码装置912通过将来自逆变换处理单元88的残余块与运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。在需要时,还可使用环路滤波器(在译码环路中或在译码环路之后)来使像素转变变平滑或者以其它方式改善视频质量。滤波器单元91既定表示一或多个环路滤波器,例如解块滤波器、自适应环路滤波器(ALF)及样本自适应偏移(SAO)滤波器。尽管在图9中将滤波器单元91展示为环路内滤波器,但在其它配置中,可将滤波器单元91实施为环路后滤波器。接着将给定帧或图片中的经解码视频块存储在图片存储器92中,图片存储器92存储用于后续运动补偿的参考图片。图片存储器92还存储经解码视频以供稍后在显示装置(例如,图1中所示的视频目的地装置122)上呈现。
在以上描述中,参考具体实施例描述应用的方面,但是所属领域的技术人员将认识到本发明不限于此。因此,虽然已经在本文中详细地描述了应用的说明性实施例,但是应理解本发明概念可以其它方式不同地实施和采用,并且除了现有技术所限制的之外,所附权利要求书意图解释为包含此类变化。上文描述的本发明的各种特征和方面可以单独或共同地使用。另外,实施例可以在本文中描述的那些之外的任何数目的环境和应用中使用而不脱离本说明书的广泛的精神和范围。应将本说明书和图式相应地视为说明性的而非限制性的。出于说明的目的,方法是以特定次序描述的。应了解,在替代实施例中,方法可以与所描述的次序不同的次序执行。
在组件被描述为“经配置以”执行特定操作的情况下,可例如通过设计电子电路或其它硬件以执行所述操作、通过编程可编程电子电路(例如,微处理器或其它适合电子电路)以执行所述操作或其任何组合来实现此类配置。
结合本文揭示的实施例所描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件,或两者的组合。为清晰地说明硬件与软件的此可互换性,以上已大体就其功能性来描述了各种说明性组件、块、模块、电路和步骤。此功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但这样的实施决策不应被解释为会引起脱离本文所描述的系统和方法的范围。
本文中所描述的技术可在硬件、软件、固件或其任一组合中实施。所述技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包含在无线通信装置手持机及其它装置中的应用的多种用途。被描述为模块或组件的任何特征可一起实施于集成逻辑装置中或分开来实施为离散但可互操作的逻辑装置。如果在软件中实施,那么所述技术可至少部分地由包括程序代码的计算机可读数据存储媒体来实现,所述程序代码包括在被执行时执行上文所描述的方法中的一或多个的指令。计算机可读数据存储媒体可形成计算机程序产品的一部分,所述计算机程序产品可包含封装材料。计算机可读媒体可包括存储器或数据存储媒体,例如,随机存取存储器(RAM)(例如,同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等等。另外或作为替代,所述技术可至少部分地由计算机可读通信媒体来实现,所述计算机可读通信媒体以指令或数据结构的形式载运或传达程序代码且可由计算机存取、读取和/或执行(例如,传播的信号或波)。
程序代码可由处理器执行,所述处理器可包含一或多个处理器,例如,一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路。此处理器可经配置以执行本发明中所描述的技术中的任一者。通用处理器可为微处理器;但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。因此,如本文中所使用的术语“处理器”可指前述结构中的任一者、上述结构的任何组合,或适合于实施本文中所描述的技术的任何其它结构或设备。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用软件模块或硬件模块内或并入组合的视频编码器-解码器(编解码器)中。

Claims (30)

1.一种用于对视频数据进行编码的装置,其包括:
存储器,其经配置以存储所述视频数据;以及
视频编码装置,其与所述存储器通信,其中所述视频编码装置经配置以:
处理多层视频数据,所述多层视频数据包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层VCL网络抽象层NAL单元和任何相关联的非VCL NAL单元;
使用格式产生与所述多层视频数据相关联的输出文件,其中所述输出文件包含多个轨道,其中产生所述输出文件包含根据所述多个轨道中的每一轨道包括所述多层视频数据的仅一个层的限制以及所述多个轨道中的每一轨道不包含聚合器或提取器中的至少一者的限制而产生所述输出文件,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构,且提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
2.根据权利要求1所述的装置,其中所述视频编码装置进一步经配置以:
使样本条目名称与所述输出文件关联,其中所述样本条目名称指示所述输出文件的所述多个轨道中的每一轨道包括仅一个层且指示所述多个轨道中的每一轨道不包含所述聚合器或所述提取器中的至少一者。
3.根据权利要求2所述的装置,其中识别符是文件类型,且其中所述文件类型包含在所述输出文件中。
4.根据权利要求1所述的装置,其中所述视频编码装置进一步经配置以不产生轨道内容信息tcon盒。
5.根据权利要求1所述的装置,其中所述视频编码装置进一步经配置以产生用于所述一或多个轨道中的每一者的层识别符,其中层识别符识别包含在轨道中的层。
6.根据权利要求1所述的装置,其中所述视频编码装置进一步经配置以产生操作点信息oinf盒,其中所述oinf盒包含包含在所述多层视频数据中的一或多个操作点的列表,其中操作点与一或多个层相关联,且其中所述oinf盒指示所述一或多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
7.根据权利要求1所述的装置,其中所述多层视频数据进一步包含层子集,其中所述层子集包含一或多个时间子层,且其中视频编码装置进一步经配置以根据来自所述一或多个轨道的每一轨道包含来自所述多层视频数据的至多一个层或一个层子集的限制而产生所述输出文件。
8.根据权利要求1所述的装置,其中所述多层视频数据是分层高效视频译码L-HEVC视频数据。
9.根据权利要求1所述的装置,其中所述输出文件的所述格式包含国际标准组织ISO基础媒体文件格式。
10.一种用于对视频数据进行解码的装置,其包括:
存储器,其经配置以存储所述视频数据;以及
视频解码装置,其与所述存储器通信,其中所述视频解码装置经配置以:
处理与多层视频数据相关联的输出文件的样本条目名称,所述多层视频数据包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层VCL网络抽象层NAL单元和任何相关联非VCL NAL单元,所述输出文件包括多个轨道;以及
基于所述输出文件的样本条目名称确定所述输出文件的所述多个轨道中的每一轨道包括所述多个层中的仅一个层且所述多个轨道中的每一者不包含聚合器或提取器中的至少一者,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构,且提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
11.根据权利要求10所述的装置,其中所述样本条目名称是文件类型,且其中所述文件类型包含在所述输出文件中。
12.根据权利要求10所述的装置,其中所述输出文件不包含轨道内容信息tcon盒。
13.根据权利要求10所述的装置,其中所述输出文件包含用于所述一或多个轨道中的每一者的层识别符,其中层识别符识别包含在轨道中的层。
14.根据权利要求10所述的装置,其中所述输出文件包含操作点信息oinf盒,其中所述oinf盒包含包含在所述视频数据中的一或多个操作点的列表,其中操作点与一或多个层相关联,且其中所述oinf盒指示所述一或多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
15.根据权利要求10所述的装置,其中所述多层视频数据进一步包含一或多个时间子层,且其中来自所述一或多个轨道的每一轨道包含来自所述多层视频数据的仅一个层或一个时间子层。
16.根据权利要求10所述的装置,其中所述多层视频数据是分层高效视频译码L-HEVC视频数据。
17.根据权利要求10所述的装置,其中所述输出文件是使用格式而产生,且其中所述输出文件的所述格式包含国际标准组织ISO基础媒体文件格式。
18.一种有形地体现于非暂时性机器可读存储媒体中的计算机程序产品,其包含当由一或多个处理器执行时致使所述一或多个处理器进行以下操作的指令:
处理与多层视频数据相关联的输出文件的样本条目名称,所述多层视频数据包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层VCL网络抽象层NAL单元和任何相关联非VCL NAL单元,所述输出文件包括多个轨道;以及
基于所述输出文件的样本条目名称确定所述输出文件的所述多个轨道中的每一轨道包括所述多个层中的仅一个层且所述多个轨道中的每一者不包含聚合器或提取器中的至少一者,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构,且提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
19.根据权利要求18所述的计算机程序产品,其中所述样本条目名称是文件类型,且其中所述文件类型包含在所述输出文件中。
20.根据权利要求18所述的计算机程序产品,其中所述输出文件不包含轨道内容信息tcon盒。
21.根据权利要求18所述的计算机程序产品,其中所述输出文件包含用于所述一或多个轨道中的每一者的层识别符,其中层识别符识别包含在轨道中的层。
22.根据权利要求18所述的计算机程序产品,其中所述输出文件包含操作点信息oinf盒,其中所述oinf盒包含包含在所述视频数据中的一或多个操作点的列表,其中操作点与一或多个层相关联,且其中所述oinf盒指示所述一或多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
23.根据权利要求18所述的计算机程序产品,其中所述多层视频数据进一步包含一或多个时间子层,且其中来自所述一或多个轨道的每一轨道包含来自所述多层视频数据的仅一个层或一个时间子层。
24.根据权利要求18所述的计算机程序产品,其中所述输出文件是使用格式而产生,且其中所述输出文件的所述格式包含国际标准组织ISO基础媒体文件格式。
25.一种方法,其包括:
由视频解码器装置处理与多层视频数据相关联的输出文件的样本条目名称,所述多层视频数据包含多个层,每一层包括至少一个图片单元,所述至少一个图片单元包含至少一个视频译码层VCL网络抽象层NAL单元和任何相关联非VCL NAL单元,所述输出文件包括多个轨道;以及
基于所述输出文件的所述样本条目名称确定所述输出文件的所述多个轨道中的每一轨道包括所述多个层中的至多一个层且所述多个轨道中的每一者不包含聚合器或提取器中的至少一者,聚合器包含通过将NAL单元的不规则模式改变为聚合数据单元的规则模式而实现NAL单元的可缩放分组的结构,且提取器包含实现NAL单元从除了含有媒体数据的轨道之外的轨道的提取的结构。
26.根据权利要求25所述的方法,其中所述样本条目名称是文件类型,且其中所述文件类型包含在所述输出文件中。
27.根据权利要求25所述的方法,其中所述输出文件不包含轨道内容信息tcon盒。
28.根据权利要求25所述的方法,其中所述输出文件包含用于所述一或多个轨道中的每一者的层识别符,其中层识别符识别包含在轨道中的层。
29.根据权利要求25所述的方法,其中所述输出文件包含操作点信息oinf盒,其中所述oinf盒包含包含在所述多层视频数据中的一或多个操作点的列表,其中操作点与一或多个层相关联,且其中所述oinf盒指示所述一或多个轨道中的哪些含有与所述一或多个操作点中的每一者相关联的层。
30.根据权利要求25所述的方法,其中所述多层视频数据进一步包含层子集,其中所述层子集包含一或多个时间子层,且其中来自所述一或多个轨道的每一轨道包含来自所述多层视频数据的至多一个层或一个层子集。
CN201680035387.1A 2015-06-18 2016-06-17 视频编码方法、编解码装置及介质 Active CN107750458B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562181196P 2015-06-18 2015-06-18
US62/181,196 2015-06-18
US15/184,930 2016-06-16
US15/184,930 US20160373771A1 (en) 2015-06-18 2016-06-16 Design of tracks and operation point signaling in layered hevc file format
PCT/US2016/038236 WO2016205747A1 (en) 2015-06-18 2016-06-17 Design of tracks and operation point signaling in layered hevc file format

Publications (2)

Publication Number Publication Date
CN107750458A true CN107750458A (zh) 2018-03-02
CN107750458B CN107750458B (zh) 2020-09-04

Family

ID=56345227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680035387.1A Active CN107750458B (zh) 2015-06-18 2016-06-17 视频编码方法、编解码装置及介质

Country Status (7)

Country Link
US (1) US20160373771A1 (zh)
EP (1) EP3311575B1 (zh)
JP (1) JP6695907B2 (zh)
KR (1) KR20180019557A (zh)
CN (1) CN107750458B (zh)
BR (1) BR112017027306A2 (zh)
WO (1) WO2016205747A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565815A (zh) * 2020-10-16 2021-03-26 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备
WO2022089397A1 (en) * 2020-10-26 2022-05-05 Beijing Bytedance Network Technology Co., Ltd. Roll sample group in vvc video coding
CN114503587A (zh) * 2019-10-07 2022-05-13 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN116210223A (zh) * 2020-09-22 2023-06-02 Lg 电子株式会社 媒体文件处理方法及其装置
US11671627B2 (en) 2020-09-17 2023-06-06 Lemon Inc. Operating point entity group signaling in coded video

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10148969B2 (en) * 2015-02-11 2018-12-04 Qualcomm Incorporated Of sample entry and operation point signalling in a layered video file format
JP6868783B2 (ja) * 2016-02-22 2021-05-12 ソニーグループ株式会社 ファイル生成装置およびファイル生成方法、並びに、再生装置および再生方法
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
US11532128B2 (en) * 2017-03-23 2022-12-20 Qualcomm Incorporated Advanced signaling of regions of interest in omnidirectional visual media
CN110651482B (zh) * 2017-03-30 2022-02-22 联发科技股份有限公司 发信isobmff的球面区域信息的方法和装置
US11049219B2 (en) 2017-06-06 2021-06-29 Gopro, Inc. Methods and apparatus for multi-encoder processing of high resolution content
US10679415B2 (en) 2017-07-05 2020-06-09 Qualcomm Incorporated Enhanced signaling of regions of interest in container files and video bitstreams
US10986402B2 (en) 2018-07-11 2021-04-20 Qualcomm Incorporated Time signaling for media streaming
WO2020060813A1 (en) * 2018-09-18 2020-03-26 Vid Scale, Inc. Methods and apparatus for point cloud compression bitstream format
US11395006B2 (en) * 2019-03-06 2022-07-19 Tencent America LLC Network abstraction layer unit header
WO2020185145A1 (en) * 2019-03-08 2020-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods providing encoding/decoding of dependent/independent partitions and related devices
JP7273193B2 (ja) * 2019-05-12 2023-05-12 北京字節跳動網絡技術有限公司 参照ピクチャ再サンプリングのための信号通知
US11228781B2 (en) 2019-06-26 2022-01-18 Gopro, Inc. Methods and apparatus for maximizing codec bandwidth in video applications
US11481863B2 (en) 2019-10-23 2022-10-25 Gopro, Inc. Methods and apparatus for hardware accelerated image processing for spherical projections
WO2021102953A1 (en) * 2019-11-29 2021-06-03 Zte Corporation Multi-view video processing method and apparatus
JP7431330B2 (ja) 2019-12-26 2024-02-14 バイトダンス インコーポレイテッド ビデオコーディングにおけるプロファイル、層及びレイヤの指示
CN114868158A (zh) 2019-12-26 2022-08-05 字节跳动有限公司 层级视频中的解码图片缓冲区参数的信令通知
KR20220121804A (ko) 2019-12-27 2022-09-01 바이트댄스 아이엔씨 파라미터 세트들에서의 서브픽처 시그널링
WO2021142363A1 (en) 2020-01-09 2021-07-15 Bytedance Inc. Decoding order of different sei messages
CN115336277A (zh) * 2020-03-17 2022-11-11 字节跳动有限公司 在视频编解码中使用视频参数集
US11706428B2 (en) * 2020-04-06 2023-07-18 Tencent America LLC Method for signaling picture header in coded video stream
KR20220165256A (ko) * 2020-04-11 2022-12-14 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
KR20220030190A (ko) 2020-09-02 2022-03-10 레몬 인크. 미디어 파일에 대한 브랜드
US20220070495A1 (en) 2020-09-02 2022-03-03 Lemon Inc. Pictures and layers included in a vvc image item
US20220086385A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Profile, tier, level and general constraints indication in coded video
US11711518B2 (en) 2020-09-17 2023-07-25 Lemon Inc. Decoding capability information storage in video coding
JP7203172B2 (ja) * 2020-09-17 2023-01-12 レモン インコーポレイテッド デコーダコンフィギュレーションレコードにおけるピクチャ寸法インジケーション
GB2599171A (en) * 2020-09-29 2022-03-30 Canon Kk Method and apparatus for encapsulating video data into a file
WO2022071754A1 (ko) * 2020-09-29 2022-04-07 엘지전자 주식회사 출력 계층 세트 정보를 포함하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법
US11611752B2 (en) 2020-10-07 2023-03-21 Lemon Inc. Adaptation parameter set storage in video coding
WO2022131870A1 (ko) * 2020-12-17 2022-06-23 엘지전자 주식회사 Nal 유닛 어레이 정보를 포함하는 미디어 파일 생성/수신 방법, 장치 및 미디어 파일 전송 방법
CN116868575A (zh) * 2020-12-17 2023-10-10 Lg电子株式会社 生成/接收包括nal单元信息的媒体文件的方法和装置及发送媒体文件的方法
US20240031622A1 (en) * 2020-12-21 2024-01-25 Lg Electronics Inc. Media file processing method and device
US20240040169A1 (en) * 2020-12-21 2024-02-01 Lg Electronics Inc. Media file processing method and device therefor
WO2022139260A1 (ko) * 2020-12-21 2022-06-30 엘지전자 주식회사 미디어 파일을 생성하고 처리하는 방법 및 장치
WO2022164024A1 (ko) * 2021-01-26 2022-08-04 엘지전자 주식회사 미디어 파일 처리 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185995A (zh) * 2012-01-30 2014-12-03 高通股份有限公司 译码视频及存储视频内容的方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5462259B2 (ja) * 2008-07-16 2014-04-02 シズベル インターナショナル エス.アー. トラックおよびトラックサブセットグループ化の方法および装置
CN101924944B (zh) * 2009-06-15 2013-06-05 华为技术有限公司 可伸缩视频编码操作点选择方法、信息提供方法及设备
US8976871B2 (en) * 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
CN102714715B (zh) * 2009-09-22 2016-01-20 高通股份有限公司 用于文件格式轨迹选择的媒体提取器轨迹
US9049497B2 (en) * 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
CN103119934B (zh) * 2010-07-20 2017-02-22 诺基亚技术有限公司 一种流媒体传输装置
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
WO2015056179A1 (en) * 2013-10-15 2015-04-23 Nokia Technologies Oy Video encoding and decoding using syntax element
WO2016098056A1 (en) * 2014-12-18 2016-06-23 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104185995A (zh) * 2012-01-30 2014-12-03 高通股份有限公司 译码视频及存储视频内容的方法
CN104205841A (zh) * 2012-01-30 2014-12-10 高通股份有限公司 译码视频及存储视频内容的方法
CN104205840A (zh) * 2012-01-30 2014-12-10 高通股份有限公司 译码视频及存储视频内容的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JEAN LE FEUVRE等: "Clarifications on WD3 of Layered HEVC File Format", 《INTERNATIONAL ORGANISATION FOR STANDARDISATION ISO/IEC JTC1/SC29/WG11 MPEG2014/M34353》 *
PETER AMON等: "File Format for Scalable Video Coding (SVC)", 《JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 AND ITU-T SG16 Q.6)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114503587A (zh) * 2019-10-07 2022-05-13 Lg电子株式会社 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
US11671627B2 (en) 2020-09-17 2023-06-06 Lemon Inc. Operating point entity group signaling in coded video
US11758195B2 (en) 2020-09-17 2023-09-12 Lemon Inc. Dependency information signaling in coded video
CN116210223A (zh) * 2020-09-22 2023-06-02 Lg 电子株式会社 媒体文件处理方法及其装置
CN112565815A (zh) * 2020-10-16 2021-03-26 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备
CN112565815B (zh) * 2020-10-16 2022-05-24 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备
WO2022089397A1 (en) * 2020-10-26 2022-05-05 Beijing Bytedance Network Technology Co., Ltd. Roll sample group in vvc video coding

Also Published As

Publication number Publication date
EP3311575B1 (en) 2020-02-19
EP3311575A1 (en) 2018-04-25
CN107750458B (zh) 2020-09-04
JP6695907B2 (ja) 2020-05-20
KR20180019557A (ko) 2018-02-26
WO2016205747A1 (en) 2016-12-22
BR112017027306A2 (pt) 2018-09-04
JP2018524891A (ja) 2018-08-30
US20160373771A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
CN107750458A (zh) 分层hevc文件格式中的轨道和操作点信令的设计
CN105637884B (zh) 多层视频文件格式设计的方法及装置
CN105052156B (zh) Irap存取单元与位流切换及拼接
CN104054345B (zh) 对用于视频译码的参数集和nal单元标头进行译码
CN106664427B (zh) 用于对视频数据进行编码的设备和方法及计算机可读媒体
CN104272745B (zh) 具有对流调适及拼接的增强支持的视频译码
CN106170982B (zh) Hevc sei消息用于多层编解码器的一般使用
KR101951615B1 (ko) 멀티-계층 비트스트림들 파일 포맷에서의 동작 지점 샘플 그룹의 정렬
CN105794212B (zh) 一种处理多层视频数据的方法及装置
CN104471943B (zh) 视频译码中的参数集
CN104919801B (zh) 用于多视图译码加深度的纹理及深度视图的分轨存储
CN104685888B (zh) 补充增强信息消息译码
CN103814575B (zh) 用于译码视频数据的方法和装置
CN103733626B (zh) 多视图视频译码
CN108141584A (zh) 使用背景图片对预测性随机存取图片进行译码的方法和系统
CN108141583A (zh) 使用背景图片执行预测性随机存取的方法和系统
CN107211168A (zh) 在分层视频文件格式中的样本条目及操作点发信设计
CN104885459B (zh) 用于多层译码的多分辨率经解码图片缓冲器管理
CN104185995A (zh) 译码视频及存储视频内容的方法
CN104246773B (zh) 识别视频文件中的参数集
CN105379272B (zh) 在vps中用信号通知位速率信息及图片速率信息
CN108028934A (zh) 改进的视频流切换和随机存取的方法和系统
CN110089126A (zh) 用于视频的改进式限制方案设计
CN104885469A (zh) 对视频译码中的视频时序的图片次序计数时序信息的有条件信令
CN108353191A (zh) 在多层视频文件中支持随机存取及层与子层的切换

Legal Events

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