CN106464891B - 用于视频编码和解码的方法和装置 - Google Patents

用于视频编码和解码的方法和装置 Download PDF

Info

Publication number
CN106464891B
CN106464891B CN201580025366.7A CN201580025366A CN106464891B CN 106464891 B CN106464891 B CN 106464891B CN 201580025366 A CN201580025366 A CN 201580025366A CN 106464891 B CN106464891 B CN 106464891B
Authority
CN
China
Prior art keywords
picture
layer
encoded
decoded
enhancement
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.)
Active
Application number
CN201580025366.7A
Other languages
English (en)
Other versions
CN106464891A (zh
Inventor
M·汉努克塞拉
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN106464891A publication Critical patent/CN106464891A/zh
Application granted granted Critical
Publication of CN106464891B publication Critical patent/CN106464891B/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/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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/17Methods 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 an image region, e.g. an object
    • H04N19/172Methods 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 an image region, e.g. an object the region being a picture, frame or field
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

各种用于视频编码和解码的方法、装置和计算机程序产品。在某些实施例中,在包括第一视频位流的基础层和/或第二视频位流的增强层的文件或者流中对与基础层图片和增强层图片相关联的数据结构进行编码,其中,能够从所述基础层预测所述增强层;以及,还将信息编码到所述数据结构中,所述信息指示是否所述基础层图片被视为用于增强层解码的内部随机访问点图片。如果所述基础层图片被视为用于增强层解码的内部随机访问点图片;则所述数据结构信息进一步指示将在所述增强层解码中被使用的针对经解码的基础层图片的所述内部随机访问点IRAP图片的类型。

Description

用于视频编码和解码的方法和装置
技术领域
概括地说,本申请涉及用于视频编码和解码的装置、方法和计算机程序。具体地说,各种实施例涉及对经交错的源内容的编码和解码。
背景技术
本小节旨在为在权利要求中被详述的发明提供背景或者上下文。本文中的说明书可以包括这样的概念,所述概念可以被研究,但不必是之前已被设想或者研究的概念。因此,除非在本文中另外指出,否则在本小节中描述的内容不是本申请中的说明书和权利要求的现有技术,并且不经由被包括在本小节中而被承认是现有技术。
视频编码系统可以包括将输入视频变换成适于存储/传输的经压缩的表示的编码器和可以将经压缩的视频表示解压回可查看的形式的解码器。编码器可以丢弃原始视频序列中的一些信息以便以更紧凑的形式表示视频,例如以便使能以比否则可能需要的位率更低的位率存储/传输视频信息。
可伸缩视频编码指其中一个位流可以包含采用不同位率、分辨率、帧率和/或其它类型的可伸缩性的内容的多个表示的编码结构。可伸缩位流可以由提供可得的最低质量视频的基础层和一个或多个当与较低层一起被接收和解码时增强视频质量的增强层组成。为提升增强层的编码效率,该层的经编码的表示可以取决于较低层。每个层与它的全部有依赖的层一起是采用特定空间分辨率、时间分辨率、质量水平和/或其它类型的可伸缩性的操作点的视频信号的一个表示。
当前研究和开发了各种用于提供三维(3D)视频内容的技术。具体地说,密集的研究已被聚焦于其中一个查看器能够看见仅来自具体的查看点的一对立体声视频和来自不同的查看点的另一对立体声视频的各种多视图应用。用于这样的多视图应用的多数可行的方法中的一种方法已证明是这样的,其中,仅例如是单声道或者立体声视频加某些互补数据的有限数量的输入视图被提供给解码器侧,并且全部所需的视图然后被解码器本地地渲染(即,合成)以被显示在显示器上。
在对3D视频内容的编码中,可以使用诸如高级视频编码标准 (H.264/AVC)、H.264/AVC的多视图视频编码(MVC)扩展或者HEVC 的可伸缩扩展之类的视频压缩系统。
发明内容
某些实施例提供了一种用于对视频信息进行编码和解码的方法。在某些实施例中,目标是使能实现使用诸如是SHVC的可伸缩视频编码扩展进行的自适应分辨率变更。这可以经由在可伸缩视频编码位流中指示增强层中的仅特定类型的图片(例如,RAP图片或者利用不同的NAL单元类型指示的不同类型的图片)使用层间预测来完成。另外,可以在位流中指示自适应分辨率变更操作,以使得除了对于切换图片外,序列中的每个AU 包含来自单一层的单一图片(其可以或者可以不是基础层图片);并且,切换在其处发生的访问单元包括来自两个层的图片,并且可以使用层间可伸缩性工具。
前述的编码配置可以提供某些改进。例如,通过使用该指示,可以在具有可伸缩的扩展框架的视频会议环境中使用自适应分辨率变更;并且,中间框可以对于裁剪位流和适应于具有不同能力的端点具有更大灵活性。
在详细说明书中提供了本发明的示例的各种方面。
根据第一方面,提供了一种方法,所述方法包括:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第二方面,提供一种装置,所述装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第三方面,提供一种被包含在非暂时性计算机可读介质中的包括计算机程序代码的计算机程序产品,所述计算机程序代码被配置为,当在至少一个处理器上被执行时,导致装置或者系统执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二对经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第四方面,提供一种方法,所述方法包括:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码包括使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第五方面,提供一种装置,所述装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码是经由使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码是经由使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第六方面,提供一种被包含在非暂时性计算机可读介质中的包括计算机程序代码的计算机程序产品,所述计算机程序代码被配置为,当在至少一个处理器上被执行时,导致装置或者系统执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码是经由使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码是经由使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第七方面,提供一种被配置为用于对图片数据单元的位流进行解码的视频解码器,其中,所述视频解码器被进一步配置为用于执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据本发明的第八方面,提供一种被配置为用于对图片数据单元的位流进行编码的视频编码器,其中,所述视频编码器被进一步配置为用于执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码包括使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
附图说明
为更完整地理解本发明的示例实施例,现在参考下面结合附图理解的说明书,其中:
图1示意地示出了使用本发明的某些实施例的电子设备;
图2示意地示出了适于使用本发明的某些实施例的用户设备;
图3进一步示意地示出了使用无线和/或有线网络连接被连接的使用本发明的实施例的电子设备;
图4a示意地示出了编码器的一个实施例;
图4b示意地示出了根据某些实施例的空间可伸缩性编码装置的一个实施例;
图5a示意地示出了解码器的一个实施例;
图5b示意地示出了根据本发明的某些实施例的空间可伸缩性解码装置的一个实施例;
图6a和6b示出了偏移量值在扩展的空间伸缩性中的使用的一个示例;
图7示出了由两个磁贴(tile)组成的图片的一个示例;
图8是通用多媒体通信系统的图形表示;
图9图示出了其中经编码的字段位于基础层中并且包含经交错的源内容的互补字段对的经编码的帧位于增强层中的一个示例;
图10图示出了其中包含经交错的源内容的互补字段对的经编码的帧位于基础层BL中并且经编码的字段位于增强层中的一个示例;
图11图示出了其中经编码的字段位于基础层中并且包含经交错的源内容的互补字段对的经编码的帧位于增强层中并且使用了对角线预测的一个示例;
图12图示出了其中包含经交错的源内容的互补字段对的经编码的帧位于基础层中并且经编码的字段位于增强层中并且使用了对角线预测的一个示例;
图13描绘了经帧和字段编码的层的阶梯的一个示例;
图14描绘了利用双向对角线层间预测将经编码的字段和经编码的帧定位到层中作为一对经耦接的层的一个示例实施例;
图15描绘了在其中与外部的基础层图片一起使用对角线层间预测的一个示例;
图16描绘了在其中与外部的基础层图片一起使用跳过(skip)图片的一个示例;
图17图示出了在其中经编码的字段位于基础层中并且包含经交错的源内容的互补字段对的经编码的帧位于增强层中并且使用与基础层帧或者字段对相符的增强层图片来增强基础层帧或者字段对中的一个字段或者全部两个字段的质量的一个示例;
图18图示出了在其中包含经交错的源内容的互补字段对的经编码的帧位于基础层BL中并且经编码的字段位于增强层中并且使用与基础层帧或者字段对相符的增强层图片来增强基础层帧或者字段对中的一个字段或者全部两个字段的质量的一个示例;
图19描绘了不同层中的顶部和底部字段的一个示例;
图20a描绘了层树的定义的一个示例;以及
图20b描绘了具有两个无依赖的层的层树的一个示例。
具体实施方式
在下面,将在一种视频编码安排的上下文中描述本发明的几个实施例。然而应当指出,本发明不限于这个特定的安排。实际上,不同的实施例在其中期望在经编码的字段与帧之间切换时的对编码的改进的任何环境中具有广泛的应用。例如,本发明可以是适用于这样的视频编码系统的,所述视频编码系统例如是流传送系统、DVD播放器、数字电视接收器、个人录像机、个人计算机、手持型计算机和通信设备以及诸如转码器并且视频数据可在其处被处置的云计算安排之类的网络单元上的系统和计算机程序。
在下面,使用参考(解)编码的约定描述了几个实施例,该约定指示所述实施例可以应用于解码和/或编码。
由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组 (VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的动态图像专家组(MPEG)的联合视频组(JVT)开发了高级视频编码标准(其可以被缩写为AVC或者H.264/AVC)。H.264/AVC标准被两个父标准化组织发布,并且其被称为ITU-T建议H.264和也被称为MPEG-4第10部分高级视频编码(AVC)的ISO/IEC国际标准14496-10。已存在H.264/AVC 标准的多个版本,每个版本将新的扩展或者特性集成到规范。这些扩展包括可伸缩视频编码(SVC)和多视图视频编码(MVC)。
由VCEG和MPEG的联合协作组——视频编码(JCT-VC)开发了高效视频编码标准(其可以被缩写为HEVC或者H.265/HEVC)。该标准被两个父标准化组织发布,并且其被称为ITU-T建议H.265和也被称为 MPEG-H第2部分高效视频编码(HEVC)的ISO/IEC国际标准23008-2。当前存在用于开发H.265/HEVC的扩展的正在进行的标准化项目,所述扩展包括分别可以被称为SHVC、MV-HEVC、3D-HEVC和REXT的可伸缩、多视图、三维和保真度范围扩展。除非另外指出,否则已出于理解这些标准规范的定义、结构或者概念的目的而作出的在本说明书中对H.265/HEVC、SHVC、MV-HEVC、3D-HEVC和REXT的引用应当理解为是对在本申请的日期之前可得的这些标准的最新版本的引用。
当在示例实施例中描述H.264/AVC以及HEVC时,可以使用例如如在H.264/AVC或者HEVC中指定的公共的针对算术运算符、逻辑运算符、关系运算符、按位运算符、赋值运算符的记号和范围记号。此外,可以使用例如如在H.264/AVC或者HEVC中指定的公共的数学函数,并且可以使用例如如在H.264/AVC或者HEVC中指定的公共的运算符的优先级次序和执行次序(从左到右或者从右到左)。
当在示例实施例中描述H.264/AVC以及HEVC时,可以使用以下的描述符来指定每个语法元素的解析过程。
-b(8):具有任何模式的位串的字节(8位)。
-se(v):其中左位最先的有符号整数经指数哥伦布(Exp-Golomb)编码的语法元素。
-u(n):使用n个位的无符号整数。当n在语法表中是“v”时,位的数量以取决于其它语法元素的值的方式改变。对该描述符的解析过程由来自被解释为其中最先写最高有效位的无符号整数的二进制表示的位流的n个接下来的位指定。
-ue(v):其中左位最先的无符号整数经指数哥伦布编码的语法元素。
可以例如使用下面的表将指数哥伦布位串转换成代码编号 (codeNum):
可以例如使用下面的表将与指数哥伦布位串相对应的代码编号转换成 se(v):
codeNum 语法元素值
0 0
1 1
2 -1
3 2
4 -2
5 3
6 -3
当在示例实施例中描述H.264/AVC以及HEVC时,可以如下地指定语法结构、语法元素的语义和解码过程。用粗体表示位流中的语法元素。每个语法元素通过它的名称(带有下划线字符的全小写字母)、可选地它的一个或两个语法类别以及针对它的经编码的表示的方法的一个或两个描述符被描述。解码过程根据语法元素的值以及之前经解码的语法元素的值工作。当语法元素的值在语法表或者文本中被使用时,它以普通(即,非粗)字体出现。在某些情况下,语法表可以使用从语法元素值导出的其它变量的值。这样的变量通过小写和大写字母的混合并且不具有任何下划线字符而被命名地出现在语法表中。导出以大写字母开始的变量以用于对当前的语法结构和全部有依赖的语法结构的解码。以大写字母开始的变量可以在针对稍后的语法结构而不提到该变量来源语法结构的解码过程中被使用。以小写字母开始的变量仅在它们在其中被导出的上下文内被使用。在某些情况下,针对语法元素值或者变量值的“助记”名称与它们的数值可互换地被使用。有时“助记”名称被使用而不具有任何关联的数值。在文本中指定值与名称的关联。从由下划线字符分隔的一组或多组字母构造名称。每个组以大写字母开始,并且可以包含多个大写字母。
当在示例实施例中描述H.264/AVC以及HEVC时,可以使用以下方法来指定语法结构。被包围在大括号中的一组语句是复合语句,并且在功能上被看作单一的语句。“while”结构指定对是否条件为真的测试,并且如果为真,则重复地指定对语句(或者复合语句)的评估,直到条件不再为真为止。“do…while”结构指定一次对语句的评估,之后跟随对是否条件为真的测试,并且如果为真,则指定对语句的重复的评估,直到条件不再为真为止。“if…else”结构指定对是否条件为真的测试,并且如果条件为真,则指定对主语句的评估,否则指定对替换语句的评估。如果不需要任何替换语句评估,则省略该结构的“else”部分和关联的替换语句。“for”结构指定对初始语句的评估,之后跟随对条件的测试,并且如果条件为真,则指定之后跟随随后的语句的对主语句的重复的评估,直到条件不再为真为止。
在本小节中作为实施例可以在其中被实现的视频编码器、解码器、编码方法、解码方法和位流结构的一个示例描述了H.264/AVC和HEVC以及它们的扩展中的一些扩展的某些关键定义、位流和编码结构以及概念。 H.264/AVC的关键定义、位流和编码结构以及概念中的一些关键定义、位流和编码结构以及概念与草案HEVC标准中的相同——因此,在下面联合地描述了它们。本发明的各方面不限于H.264/AVC或者HEVC或者它们的扩展,而相反针对本发明可以在其上被部分上或者完全地实现的一个可能的基础给出了本说明书。
与许多较早的视频编码标准相似地,在H.264/AVC和HEVC中指定了针对无错误位流的位流语法和语义以及解码过程。未指定编码过程,但编码器必须生成相符的位流。可以利用假想参考解码器(HRD)验证位流和解码器相符性。所述标准包含帮助应对传输错误和丢失的编码工具,但在编码时对所述工具的使用是可选的,并且未针对错误的位流指定任何解码过程。
去往H.264/AVC或者HEVC编码器的输入和H.264/AVC或者HEVC 解码器的输出的基本单位分别是图片。作为去往编码器的输入被给出的图片也可以被称为源图片,并且被解码器解码的图片可以被称为经解码的图片。
源和经解码的图片可以各自由一个或多个采样数组组成,所述一个或多个采样数组诸如是采样数组的下面的集合中的一个集合:
-仅亮度(Y)(单色的)
-亮度和两个色度(YCbCr或者YCgCo)
-绿、蓝和红(GBR,也被称为RGB)
-表示其它未指定的单色或者三基色颜色采样(例如,YZX,也被称为 XYZ)的数组。
在下面,这些数组可以被称为亮度(或者L或者Y)和色度,其中,两个色度数组可以被称为Cb和Cr;而不考虑正在使用的实际颜色表示方法。可以例如在经编码的位流中例如使用H.264/AVC和/或HEVC的视频可用性信息(VUI)语法来指示正在使用的实际颜色表示方法。分量可以被定义为来自三个采样数组(亮度和两个色度)中的一个采样数组的数组或者单一的采样,或者组成单色格式的图片的数组或者数组的单一的采样。
在H.264/AVC和HEVC中,一个图片可以是一个帧或者一个字段。帧包括亮度采样以及可能对应的色度采样的矩阵。字段是帧的替换采样行的集合。例如当源信号被交错时,字段可以被用作编码器输入。色度采样数组可以缺席(并且因此单色采样可以是正在使用的),或者可以当与亮度采样数组相比时是经二次采样的。可以如下地概括一些色度格式:
-在单色采样中,存在仅一个采样数组,该采样数组可以被名义上看作亮度数组。
-在4:2:0采样中,两个色度数组中的每个色度数组具有亮度数组的半高和半宽。
-在4:2:2采样中,两个色度数组中的每个色度数组具有亮度数组的同高和半宽。
-在4:4:4采样中,当没有任何单独的颜色平面正在使用中时,两个色度数组中的每个色度数组具有与亮度数组相同的高度和宽度。
在H.264/AVC和HEVC中,有可能将采样数组作为单独的颜色平面编码到位流中,并且分别地从位流中解码经单独编码的颜色平面。当单独的颜色平面正在使用中时,它们中的每个颜色平面被(编码器和/或解码器) 作为具有单色采样的图片单独地处理。
当色度二次采样正在使用中(例如,4:2:0或者4:2:2色度采样)时,可以在编码器侧(例如,作为预处理步骤或者作为编码的一部分)确定色度采样关于亮度采样的位置。关于亮度采样位置的色度采样位置可以例如在诸如H.264/AVC或者HEVC的编码标准中被预定义,或者可以在位流中例如被指示为H.264/AVC或者HEVC的VUI的一部分。
概括地说,作为编码的输入被提供的源视频序列可以表示经交错的源内容或者渐进的源内容。对于经交错的源内容,具有相反的奇偶性的字段已在不同时间被捕获。渐进的源内容包含所捕获的帧。编码器可以通过两种方式对经交错的源内容的字段进行编码:经交错的字段的对可以被编码到经编码的帧中,或者字段可以被编码为经编码的字段。同样地,编码器可以通过两种方式对渐进的源内容的帧进行编码:渐进的源内容的帧可以被编码到经编码的帧或者经编码的字段的对中。字段对或者互补字段对可以被定义为在解码和/或输出次序中紧挨着彼此的、具有相反的奇偶性(即,一个是顶部字段,并且另一个是底部字段)并且都不属于任何其它互补字段对的两个字段。某些视频编码标准或者方案允许在同一经编码的视频序列中混合经编码的帧和经编码的字段。此外,可以在编码和/或解码时使能进行从经编码的帧中的字段预测经编码的字段和/或对于互补字段对(被编码为字段)预测经编码的帧。
分区可以被定义为将一个集合划分成子集,以使得该集合的每个元素正好在所述子集中的一个子集中。图片分区可以被定义为将图片划分成较小的非重叠的单元。块分区可以被定义为将块划分成诸如是子块的较小的非重叠的单元。在某些情况下,术语块分区可以被看作覆盖多个级别的分区,所述多个级别的分区例如是将图片分割成切片(slice)和将每个切片分割成诸如是H.264/AVC的宏块的较小的单元。应当指出,诸如是图片的相同的单元可以具有多于一个分区。例如,草案HEVC标准的编码单元可以被分割成预测单元,并且单独地经由另一个四叉树被分割成变换单元。
在H.264/AVC中,宏块是亮度采样的16x16块和色度采样的对应的块。例如,在4:2:0采样模式中,宏块包含每色度分量的色度采样的一个8x8 块。在H.264/AVC中,图片被分割成一个或多个切片组,并且切片组包含一个或多个切片。在H.264/AVC中,切片由在特定切片组内的光栅扫描中被连续地排序的整数个的宏块组成。
在HEVC标准化的过程期间,例如关于图片分区单元的术语已演进。在接下来的段落中,提供了HEVC术语的一些非限制性的示例。
在HEVC标准的一个草案版本中,图片被划分成覆盖图片的区域的编码单元(CU)。CU由定义针对该CU内的采样的预测过程的一个或多个预测单元(PU)和定义针对该CU中的采样的预测误差编码过程的一个或多个变换单元(TU)组成。通常,CU由具有可以从可能CU大小的预定义集合中选择的大小的采样的正方形块组成。具有最大所允许大小的CU 通常被称为LCU(最大编码单元),并且视频图片被划分成非重叠的LCU。 LCU可以例如经由递归地对LCU和产生的CU进行拆分而被进一步拆分成较小CU的组合。每个产生的CU通常具有与它相关联的至少一个PU 和至少一个TU。每个PU和TU可以分别进一步被拆分成较小的PU和TU,以分别提高预测和预测误差编码过程的粒度。PU拆分可以经由将CU 拆分成四个相等大小的正方形PU或者垂直上或者水平上以对称或者非对称的方式将CU拆分成两个矩形PU来实现。将图像划分成CU和将CU 划分成PU和TU通常在位流中被信号通知,这允许解码器再现这些单元的预期的结构。
在一个草案HEVC标准中,图片被分割成磁贴(tile),所述磁贴可以是矩形的,并且包含整数个LCU。在HEVC的一个草案中,分割成磁贴形成规则的网格,其中磁贴的高度和宽度最大逐LCU的与彼此不同。在一个草案HEVC中,切片由整数个CU组成。CU按照磁贴内或者图片内(如果磁贴未在使用中)的LCU的光栅扫描次序被扫描。在LCU内, CU具有特定的扫描次序。
在HEVC的有效草案(WD)5中,针对图片分区的一些关键定义和概念被定义如下。分区被定义为将一个集合划分成子集,以使得该集合的每个元素正好在所述子集中的一个子集中。
一个草案HEVC中的基本编码单元是树块。树块是具有三个采样数组的图片的亮度采样的NxN块和色度采样的两个对应的块、或者单色图片或者使用三个单独的颜色平面被编码的图片的采样的NxN块。可以针对不同的编码和解码过程对树块进行分区。树块分区是由对具有三个采样数组的图片的树块进行分区产生的亮度采样的块和色度采样的两个对应的块、或者由对单色图片或者使用三个单独的颜色平面被编码的图片的树块进行分区产生的亮度采样的块。为每个树块指派用于标识用于内部或者之间预测 (interprediction)和用于变换编码的块大小的分区信令。分区是递归的四叉树分区。四叉树的根是与树块相关联的。四叉树被拆分,直到到达被称为编码节点的叶子为止。编码节点是两个树——预测树和变换树的根节点。预测树指定预测块的位置和大小。预测树和关联的预测数据被称为预测单元。变换树指定变换块的位置和大小。变换树和关联的变换数据被称为变换单元。针对亮度和色度的拆分信息对于预测树是相同的,并且对于变换树可以或者可以不是相同的。编码节点和关联的预测和变换单元一起形成编码单元。
在一个草案HEVC中,图片被划分成切片和磁贴。切片可以是树块的序列,但(当提到所谓的精细粒度切片时)在树块内变换单元和预测单元重合的位置处也可以具有其边界。精细粒度切片特性被包括在HEVC的某些草案中,但未被包括在最终的HEVC标准中。切片内的树块按照光栅扫描次序被编码和解码。将图片划分成切片是一种分区。
在一个草案HEVC中,磁贴被定义为共现在一列和一行中的在该磁贴内的光栅扫描中被连续地排序的整数个树块。将图片划分成磁贴是一种分区。磁贴在图片内的光栅扫描中被连续地排序。尽管切片包含在磁贴的光栅扫描中连续的树块,但这些树块不必在图片内的光栅扫描中是连续的。切片和磁贴不需要包含树块的相同序列。一个磁贴可以包括被包含在多于一个切片中的树块。相似地,一个切片可以包括被包含在几个磁贴中的树块。
编码单元与编码树块之间的区别可以被例如定义如下。切片可以被定义为按照磁贴内或者图片内(如果磁贴未在使用中)的光栅扫描次序的一个或多个编码树单元(CTU)的序列。每个CTU可以包括一个亮度编码树块(CTB)和可能(取决于所使用的色度格式)两个色度CTB。CTU 可以被定义为具有三个采样数组的图片的亮度采样的编码树块和色度采样的两个对应的编码树块、或者单色图片或者使用三个单独的颜色平面被编码的图片的采样的编码树块以及用于对采样进行编码的语法结构。将切片划分成编码树单元可以被看作一种分区。CTB可以被定义为针对N的某个值的采样的NxN块。将组成具有三个采样数组的图片的数组中的一个数组或者组成单色格式的图片或者使用三个单独的颜色平面被编码的图片的数组划分成编码树块可以被看作一种分区。编码块可以被定义为针对N的某个值的采样的NxN块。将编码树块划分成编码块可以被看作一种分区。
在HEVC中,切片可以被定义为被包含在一个无依赖的切片段和同一访问单元内的处在下一个无依赖的切片段(如果有的话)之前的全部随后的有依赖的切片段(如果有的话)中的整数个编码树单元。无依赖的切片段可以被定义为这样的切片段,对于该切片段来说,不从在前的切片段的值推断该切片段头部的语法元素的值。有依赖的切片段可以被定义为这样的切片段,对于该切片段来说,从按照解码次序在前的无依赖的切片段的值推断该切片段头部的某些语法元素的值。换句话说,仅无依赖的切片段可以具有“完整的”切片头部。无依赖的切片段可以在一个NAL单元(在同一NAL单元中不具有其它切片段)中被传送,并且同样地,有依赖的切片段可以在一个NAL单元(在同一NAL单元中不具有其它切片段)中被传送。
在HEVC中,经编码的切片段可以被看作包括切片段头部和切片段数据。切片段头部可以被定义为包含关于在该切片段中被表示的最先或者全部的编码树单元的数据元素的经编码的切片段的一部分。切片头部可以被定义为是当前的切片段的无依赖切片段或者按解码次序处在当前的有依赖切片段之前的最近的无依赖切片段的切片段头部。切片段数据可以包括整数个编码树单元语法结构。
在H.264/AVC和HEVC中,可以跨切片边界禁用图片中预测。因此,切片可以被看作一种用于将经编码的图片拆分成可以无依赖地解码的片的方法,并且切片因此经常被看作用于传输的基本单元。在许多情况下,编码器可以在位流中指示哪些类型的图片中预测被跨切片边界地关闭,并且解码器操作例如当推断哪些预测源可用时考虑该信息。例如,来自邻近宏块或者CU的采样在该邻近宏块或者CU位于不同的切片中的情况下可以被看作是对于内部预测不可用的。
语法元素可以被定义为在位流中被表示的数据的元素。语法结构可以被定义为按照指定的次序一起出现在位流中的零个或更多个语法元素。
分别用于H.264/AVC或者HEVC编码器的输出和H.264/AVC或者 HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。对于通过面向分组的网络的传输或者向结构化文件中的存储,NAL单元可以被封装成分组或者相似的结构。已在H.264/AVC和HEVC中针对不提供成帧结构的传输或者存储环境指定了字节流格式。字节流格式经由在每个NAL单元前面附着开始代码将NAL单元与彼此隔开。为避免对NAL单元边界的错误检测,编码器运行面向字节的开始代码仿真防止算法,该算法在开始代码本将出现的情况下向NAL单元净荷添加仿真防止字节。为使能进行面向分组与面向流的系统之间的直观网关操作,可以不考虑是否字节流格式正在使用中而总是执行开始代码仿真防止。
NAL单元可以被定义为这样的语法结构,该语法结构包含对将跟随在后面的数据的类型的指示和当必要时具有仿真防止字节的以RBSP散布的形式包含该数据的字节。原始字节序列净荷(RBSP)可以被定义为包含被封装在NAL单元中的整数个字节的语法结构。RBSP或者是空的,或者具有包含这样的语法元素的数据位串的形式,所述语法元素之后跟随 RBSP停止位并且之后跟随零个或更多个随后的等于0的位。
NAL单元由头部和净荷组成。在H.264/AVC中,NAL单元头部指示 NAL单元的类型和被包含在NAL单元中的经编码的切片是参考图片还是非参考图片的一部分。H.264/AVC包括2位的nal_ref_idc语法元素,该语法元素当等于0时指示被包含在NAL单元中的经编码的切片是非参考图片的一部分,并且当大于0时指示被包含在NAL单元中的经编码的切片是参考图片的一部分。用于SVC的NAL单元头部和MVC NAL单元可以额外地包含与可伸缩性和多视图分层相关的各种指示。
在HEVC中,两字节NAL单元头部被用于全部所指定的NAL单元类型。所述NAL单元头部包含一个保留位、六位的NAL单元类型指示(被称为nal_unit_type)、六位的保留字段(被称为nuh_layer_id)和三位的针对时间级别的temporal_id_plus1指示。temporal_id_plus1语法元素可以被看作NAL单元的时间标识符,并且可以如下地导出基于0的TemporalId变量:TemporalId=temporal_id_plus1-1。等于0的 TemporalId与最低的时间级别相对应。需要temporal_id_plus1的值是非 0的,以避免涉及两个NAL单元头部字节的开始代码仿真。经由排除全部具有大于或者等于所选择的值的TemporalId的VCL NAL单元和包括全部其它VCL NAL单元所创建的位流保持相符。因此,具有等于TID的 TemporalId的图片不使用任何具有比TID大的TemporalId的图片作为内部预测参考。子层或者时间子层可以被定义为时间可伸缩位流的时间可伸缩层,其由具有TemporalId变量的特定值的VCLNAL单元和关联的非 VCL NAL单元组成。在不失一般性的情况下,在某些示例实施例中,例如如下地从nuh_layer_id的值导出变量LayerId:LayerId=nuh_layer_id。在下面,除非另外指出,否者可互换地使用层标识符、LayerId、 nuh_layer_id和layer_id。
在HEVC扩展中,nuh_layer_id和/或NAL单元头部中的相似的语法元素携带可伸缩性层信息。例如,LayerId值nuh_layer_id和/或相似的语法元素可以被映射到描述不同的可伸缩性维度的变量或者语法元素的值。
NAL单元可以被分类为视频编码层(VCL)NAL单元和非VCL NAL 单元。VCL NAL单元通常是经编码的切片NAL单元。在H.264/AVC中,经编码的切片NAL单元包含表示一个或多个经编码的宏块的语法元素,所述一个或多个经编码的宏块中的每个经编码的宏块与未经压缩的图片中的采样的块相对应。在HEVC中,经编码的切片NAL单元包含表示一个或多个CU的语法元素。
在H.264/AVC中,可以指示经编码的切片NAL单元是即时解码刷新 (IDR)图片中的经编码的切片或者非IDR图片中的经编码的切片。
在HEVC中,可以指示VCL NAL单元是以下类型中的一种类型。
可以如下地定义图片类型的缩写:结尾(TRAIL)图片、时间子层访问(TSA)、按步时间子层访问(STSA)、随机访问可解码前导(RADL) 图片、随机访问跳过前导(RASL)图片、断链访问(BLA)图片、即时解码刷新(IDR)图片、完全随机访问(CRA)图片。
可以另外或者替换地被称为内部随机访问点(IRAP)图片的随机访问点(RAP)图片是在其中每个切片或者切片段具有16到23(含)的范围中的nal_unit_type的图片。RAP图片包含仅经内部编码的切片(在经无依赖地编码的层中),并且可以是BLA图片、CRA图片或者IDR图片。位流中的第一个图片是RAP图片。假设必要的参数集在它们需要被激活时是可用的,则RAP图片和按照解码次序的全部随后的非RASL图片可以被正确地解码,而不执行任何按照解码次序处在RAP图片之前的图片的解码过程。位流中可以存在仅包含不是RAP图片的经内部编码的切片的图片。
在HEVC中,CRA图片可以按照解码次序是位流中的第一个图片,或者可以稍后出现在位流中。HEVC中的CRA图片允许按照解码次序跟随在CRA图片之后但按照输出次序处在它之前的所谓的前导图片。前导图片中的一些前导图片——所谓的RASL图片可以使用在CRA图片之前被解码的图片作为参考。按照解码和输出次序两者跟随在CRA图片之后的图片如果在CRA图片处执行了随机访问则是可解码的,并且因此与IDR 图片的完全随机访问功能相似地达到了完全随机访问。
CRA图片可以具有关联的RADL或者RASL图片。当CRA图片按照解码次序是位流中的第一个图片时,该CRA图片按照解码次序是经编码的视频序列中的第一个图片,并且任何关联的RASL图片不被解码器输出,并且可以不是可解码的,因为它们可能包含对未出现在位流中的图片的参考。
前导图片是按照输出次序处在关联的RAP图片之前的图片。关联的 RAP图片是按照解码次序在前的RAP图片(如果出现的话)。前导图片可以或者是RADL图片或者是RASL图片。
全部RASL图片是关联的BLA或者CRA图片的前导图片。当关联的 RAP图片是BLA图片或者是位流中的第一个经解码的图片时,RASL图片不被输出,并且可以不是可被正确地解码的,因为RASL图片可能包含对未出现在位流中的图片的参考。然而,如果解码已从RASL图片的关联的RAP图片之前的RAP图片开始,则RASL图片能够被正确地解码。 RASL图片不被用作非RASL图片的解码过程的参考图片。当出现时,全部RASL图片按照解码次序处在同一关联的RAP图片的全部结尾图片之前。在HEVC标准的某些草案中,RASL图片被称为标记为丢弃(TFD) 图片。
全部RADL图片是前导图片。RADL图片不被用作同一关联的RAP 图片的结尾图片的解码过程的参考图片。当出现时,全部RADL图片按照解码次序处在同一关联的RAP图片的全部结尾图片之前。RADL图片不参考任何按照解码次序处在关联的RAP图片之前的图片,并且因此当解码从关联的RAP图片开始时能够被正确地解码。在HEVC标准的某些较早草案中,RADL图片被称为可解码的前导图片(DLP)。
可解码的前导图片可以是这样的前导图片:使得在从CRA图片开始解码时能够被正确地解码。换句话说,可解码的前导图片在之间预测中仅使用初始CRA图片或者按照解码次序的随后的图片作为参考。非可解码的前导图片是这样的前导图片:使得在从初始CRA图片开始解码时不能被正确地解码。换句话说,非可解码的前导图片在之间预测中使用按照解码次序处在初始CRA图片之前的图片作为参考。
当从CRA图片开始的位流的一部分被包括在另一个位流中时,与该 CRA图片相关联的RASL图片可能不可正确解码,因为它们的参考图片中的一些参考图片可能未出现在经合并的位流中。为使这样的切片操作是直观的,CRA图片的NAL单元类型可以被变更,以指示它是BLA图片。与BLA图片相关联的RASL图片可能不可被正确地解码,因此不被输出/ 显示。此外,可以从解码中省略与BLA图片相关联的RASL图片。
BLA图片可以按照解码次序是位流中的第一个图片,或者可以稍后出现在位流中。每个BLA图片开始一个新的经编码的视频序列,并且具有与IDR图片相似的对解码过程的影响。然而,BLA图片包含指定非空的参考图片集合的语法元素。当BLA图片具有等于BLA_W_LP的 nal_unit_type时,它可以具有关联的RASL图片,所述关联的RASL图片不被解码器输出,并且可以不是可解码的,因为它们可能包含对未出现在位流中的图片的参考。当BLA图片具有等于BLA_W_LP的nal_unit_type 时,它可以还具有关联的RADL图片,所述关联的RADL图片被指定为将被解码。当BLA图片具有等于BLA_W_RADL(其在某些HEVC草案中被称为BLA_W_DLP)的nal_unit_type时,它不具有关联的RASL图片,但可以具有关联的RADL图片,所述关联的RADL图片被指定为将被解码。BLA_W_RADL也可以被称为BLA_W_DLP。当BLA图片具有等于BLA_N_LP的nal_unit_type时,它不具有任何关联的前导图片。
具有等于IDR_N_LP的nal_unit_type的IDR图片不具有出现在位流中的关联的前导图片。具有等于IDR_W_RADL的nal_unit_type的IDR 图片不具有出现在位流中的关联的RASL图片,但可以具有位流中的关联的RADL图片。IDR_W_RADL也可以被称为IDR_W_DLP。
在HEVC中,对于许多图片类型(例如,TRAIL_R、TRAIL_N)存在两种NAL单元类型,它们区分图片是否可以在同一子层中的按照解码次序的随后图片中被用作之间预测的参考。子层非参考图片(通常在图片类型首字母缩略词中由_N表示)可以被定义为包含在按照解码次序的同一子层的随后图片的解码过程中不能被用于之间预测的采样的图片。子层非参考图片可以被用作具有更大TemporalId值的图片的参考。子层参考图片(通常在图片类型首字母缩略词中由_R表示)可以被定义为在按照解码次序的同一子层的随后图片的解码过程中可以被用作之间预测的参考的图片。
当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、 RASL_N、RSV_VCL_N10、RSV_VCL_N12或者RSV_VCL_N14时,经解码的图片不被用作同一nuh_layer_id和时间子层的任何其它图片的参考。即,在HEVC标准中,当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或者 RSV_VCL_N14时,经解码的图片不被包括在任何具有相同TemporalId 值的图片的RefPicSetStCurrBefore、RefPicSetStCurrAfter和 RefPicSetLtCurr中的任一项中。具有等于TRAIL_N、TSA_N、STSA_N、 RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或者 RSV_VCL_N14的nal_unit_type的经编码的图片可以被丢弃,而不影响其它的具有相同的nuh_layer_id和TemporalId值的图片的可解码性。
具有任何编码类型(I、P、B)的图片可以是H.264/AVC和HEVC中的参考图片或者非参考图片。图片内的切片可以具有不同的编码类型。
结尾图片可以被定义为按照输出次序跟随在关联的RAP图片之后的图片。任何是结尾图片的图片不具有等于RADL_N、RADL_R、RASL_N 或者RASL_R的nal_unit_type。任何是前导图片的图片可以被约束为按照解码次序处在与同一RAP图片相关联的全部结尾图片之前。没有任何 RASL图片出现在与具有等于BLA_W_RADL或者BLA_N_LP的 nal_unit_type的BLA图片相关联的位流中。没有任何RADL图片出现在与具有等于BLA_N_LP的nal_unit_type的BLA图片相关联的或者与具有等于IDR_N_LP的nal_unit_type的IDR图片相关联的位流中。任何与 CRA或者BLA图片相关联的RASL图片可以被约束为按照输出次序处在任何与CRA或者BLA图片相关联的RADL图片之前。任何与CRA图片相关联的RASL图片可以被约束为,按照输出次序跟随在任何按照解码次序处在CRA图片之前的其它RAP图片之后。
在HEVC中,存在可以用于指示时间子层切换点的两种图片类型—— TSA和STSA图片类型。如果具有上至N的TemporalId的时间子层已在 TSA或者STSA图片(不含)之前被解码,并且TSA或者STSA图片具有等于N+1的TemporalId,则TSA或者STSA图片使能进行对全部具有等于N+1的TemporalId的随后图片(按照解码次序)的解码。TSA图片类型可以对TSA图片自身和按照解码次序跟随在TSA图片之后的同一子层中的全部图片施加限制。不允许这些图片中的任一个图片使用来自按照解码次序处在TSA图片之前的同一子层中的任何图片的之间预测。TSA 定义可以进一步对按照解码次序跟随在TSA图片之后的更高子层中的图片施加限制。不允许这些图片中的任一个图片参考按照解码次序处在TSA 图片之前的图片(如果该图片属于与TSA图片相同或者比TSA图片更高的子层的话)。TSA图片具有大于0的TemporalId。STSA与TSA图片相似,但不对按照解码次序跟随在STSA图片之后的更高子层中的图片施加限制,并且因此使能进行仅向STSA图片所在的子层之上的向上切换。
非VCL NAL单元可以例如具有以下类型中的一种类型:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元分隔符、序列NAL 单元的末端、流NAL单元的末端或者填充数据NAL单元。参数集对于经解码图片的重构可能是需要的,而其它非VCL NAL单元中的许多非VCL NAL单元对于经解码的采样值的重构不是必要的。
在HEVC中,已指定了以下的非VCL NAL单元类型。
通过经编码的视频序列保持未被变更的参数可以被包括在序列参数集中。除了可能被解码过程需要的参数之外,序列参数集可以可选地包含视频可用性信息(VUI),视频可用性信息(VUI)包括可能对于缓冲、图片输出时序、渲染和资源预留很重要的参数。在H.264/AVC中指定了三个用于携带序列参数集的NAL单元:包含序列中的H.264/AVC VCLNAL 单元的全部数据的序列参数集NAL单元(具有等于7的NAL单元类型),包含附属的经编码的图片的数据的序列参数集扩展NAL单元,以及针对 MVC和SVC VCL NAL单元的子集序列参数集。被包括在H.264/AVC的序列参数集NAL单元(具有等于7的NAL单元类型)中的语法结构可以被称为序列参数集数据、seq_parameter_set_data或者基础SPS(序列参数集)数据。例如,简档、级别、图片大小和色度采样格式可以被包括在基础SPS数据中。图片参数集包含很可能在几个经编码的图片中不被变更的此类参数。
在一个草案HEVC中,还存在在此被称为自适应参数集(APS)的另一种类型的参数集,所述参数集包括很可能在几个经编码的切片中不被变更但可以例如对于每个图片或者每少量几个图片变更的参数。在一个草案 HEVC中,APS语法结构包括与量化矩阵(QM)、采样自适应偏移量 (SAO)、自适应环路滤波(ALF)和去块滤波相关的参数或者语法元素。在一个草案HEVC中,APS是NAL单元,并且在不具有来自任何其它 NAL单元的参考或者预测的情况下被编码。被称为aps_id语法元素的标识符被包括在APS NAL单元中,并且在切片头部中被包括和使用以指特定的APS。然而,APS未被包括在最终的H.265/HEVC标准中。
H.265/HEVC还包括被称为视频参数集(VPS)的另一种类型的参数集。视频参数集RBSP可以包括能够被一个或多个序列参数集RBSP引用的参数。
可以如下地描述VPS、SPS和PPS之间的关系和分层。VPS在参数集分层中和在可伸缩性和/或3DV的上下文中位于SPS之上的一级中。VPS 可以包括对于跨整个经编码的视频序列中的全部(可伸缩性或者视图)层的全部切片是公共的的参数。SPS包括对于整个经编码的视频序列中的特定(可伸缩性或者视图)层中的全部切片是公共的并且可以被多个(可伸缩性或者视图)层共享的参数。PPS包括对于特定层表示(在一个访问单元中对一个可伸缩性或者视图层的表示)中的全部切片是公共的并且很可能被多个层表示中的全部切片共享的参数。
VPS可以提供关于位流中的层的依赖关系的信息以及适用于跨整个经编码的视频序列中的全部(可伸缩性或者视图)层的全部切片的许多其它信息。
H.264/AVC和HEVC语法允许参数集的许多实例,并且利用唯一的标识符来标识每个实例。为限制参数集所需的存储器使用,已限制参数集标识符的值范围。在H.264/AVC和一个草案HEVC标准中,每个切片头部包括对于包含该切片的图片的解码活跃的图片参数集的标识符,并且每个图片参数集包含活跃的序列参数集的标识符。在一个草案HEVC标准中,切片头部额外地包含APS标识符。因此,不必使图片和序列参数集的传输与切片的传输准确地同步。作为代替,活跃的序列和图片参数集在它们被参考之前的任何时刻被接收就足够,这允许使用比用于切片数据的协议更可靠的传输机制“带外”地传输参数集。例如,可以将参数集作为参数包括在实时传输协议(RTP)会话的会话描述中。如果参数集在带内被发送,则它们可以被重复以改进错误鲁棒性。
参数集可以被来自切片或者来自另一个活跃的参数集或者在某些情况下来自诸如缓冲周期SEI消息之类的另一个语法结构的参考所激活。
SEI NAL单元可以包含一个或多个SEI消息,所述SEI消息对于输出图片的解码不是必需的,但可以在诸如是图片输出时序、渲染、错误检测、错误隐藏和资源预留的相关过程中提供辅助。在H.264/AVC和HEVC中指定了几个SEI消息,并且用户数据SEI消息使组织和公司能够为他们自己的使用指定SEI消息。H.264/AVC和HEVC包含所指定的SEI消息的语法和语义,但未定义任何用于在回执中处置消息的过程。因此,需要编码器在它们创建SEI消息时遵循H.264/AVC标准或者HEVC标准,并且不需要分别与H.264/AVC标准或者HEVC标准相符的解码器为了输出次序相符性处理SEI消息。将SEI消息的语法和语义包括在H.264/AVC和 HEVC中的原因之一是允许不同的系统规范相同地解释互补信息,并且因此互操作。预期系统规范可能需要在编码端和解码端两者处使用特定的 SEI消息,并且额外地可以指定用于在回执中处置特定的SEI消息的过程。
H.264/AVC和H.265/HEVC标准两者留下一系列NAL单元类型值处未被指定的状态。预期这些未被指定的NAL单元类型值可以被其它的规范采用。具有这些未被指定的NAL单元类型值的NAL单元可以用于在视频位流内复用数据,所述数据诸如是通信协议所需的数据。如果具有这些未被指定的NAL单元类型值的NAL单元不被传递给解码器,则当这些 NAL单元被创建和包括在视频位流中时不需要执行针对视频位流的位流开始代码仿真的开始代码仿真防止,并且开始代码仿真防止移除不需要被完成,因为这些NAL单元在它们被传递给解码器之前被从视频位流中移除。当有可能具有未被指定的NAL单元类型值的NAL单元包含开始代码仿真时,NAL单元可以被称为类NAL单元的结构。与实际的NAL单元不同,类NAL单元的结构可以包含开始代码仿真。
在HEVC中,未被指定的NAL单元类型具有48到63(含)的范围中的nal_unit_type值,并且可以如下地以表的形式被指定:
在HEVC中,如此指定NAL单元UNSPEC48到UNSPEC55(含) (即,具有48到55(含)的范围中的nal_unit_type值):使得可以开始访问单元,而如此指定NAL单元UNSPEC56到UNSPEC63(即,具有 56到63(含)的范围中的nal_unit_type值):使得可以位于访问单元的末端。
经编码的图片是图片的经编码的表示。H.264/AVC中的经编码的图片包括对图片的解码所需的VCL NAL单元。在H.264/AVC中,经编码的图片可以是主要经编码图片或者冗余经编码图片。主要经编码图片在有效位流的解码过程中被使用,而冗余经编码图片是应当仅在主要经编码图片不能被成功地解码时被解码的冗余表示。
在H.264/AVC中,访问单元包括主要经编码图片和与它相关联的那些 NAL单元。在HEVC中,访问单元被定义为根据所指定的分类规则是与彼此相关联的、按照解码次序是连续的并且包含正好一个经编码的图片的 NAL单元的集合。在H.264/AVC中,如下地约束访问单元内的NAL单元的出现次序。可选的访问单元分隔符NAL单元可以指示访问单元的开始。它之后跟随0个或更多个SEI NAL单元。主要经编码图片的经编码切片接下来出现。在H.264/AVC中,主要经编码图片的经编码切片之后可以跟随 0个或更多个冗余经编码图片的经编码切片。冗余经编码图片是图片或者图片的一部分的经编码的表示。如果主要经编码图片例如由于传输的丢失或者物理存储介质的污染而未被解码器接收,则冗余经编码图片可以被解码。
在H.264/AVC中,访问单元可以还包括附属经编码图片,附属经编码图片是对主要经编码图片进行补充的图片,并且可以例如在显示过程中被使用。附属经编码图片可以例如被用作指定经解码图片中的采样的透明度级别的阿尔法通道或者阿尔法平面。阿尔法通道或者平面可以在分层的构图或者渲染系统中被使用,在所述分层的构图或者渲染系统中,经由在彼此之上覆盖至少部分地透明的图片来形成输出图片。附属经编码图片具有与单色的冗余经编码图片相同的语法和语义限制。在H.264/AVC中,附属经编码图片包含与主要经编码图片相同数量的宏块。
在HEVC中,经编码的图片可以被定义为包含图片的全部编码树单元的图片的经编码的表示。在HEVC中,访问单元可以被定义为根据所指定的分类规则是与彼此相关联的、按照解码次序是连续的并且包含具有不同值的nuh_layer_id的一个或多个经编码图片的NAL单元的集合。除了包含经编码图片的VCL NAL单元之外,访问单元可以还包含非VCL NAL 单元。
在H.264/AVC中,经编码的视频序列被定义为是按照解码次序从一个 IDR访问单元(含)到下一个IDR访问单元(不含)或者到位流的末端(出现较早的那个)的连续访问单元序列。
在HEVC中,经编码的视频序列(CVS)可以被定义为例如这样的访问单元序列:其按照解码次序包括具有等于1的NoRaslOutputFlag的 IRAP访问单元,之后跟随0个或更多个具有等于1的NoRaslOutputFlag 的不是IRAP访问单元的访问单元(包括上至全部随后的访问单元,但不包括任何具有等于1的NoRaslOutputFlag的是IRAP访问单元的随后访问单元)。IRAP访问单元可以是IDR访问单元、BLA访问单元或者CRA 访问单元。NoRaslOutputFlag的值对于按照解码次序是位流中的第一个访问单元、按照解码次序是跟随在序列NAL单元的末端之后的第一个访问单元、或者具有等于1的HandleCraAsBlaFlag的每个IDR访问单元、每个BLA访问单元和每个CRA访问单元而言等于1。等于1的NoRaslOutputFlag具有这样的影响,与对于其来说NoRaslOutputFlag被设置的IRAP图片相关联的RASL图片不被解码器输出。 HandleCraAsBlaFlag可以例如被寻求位流中的新位置或者调谐到广播并且开始解码并且然后开始从CRA图片进行解码的播放器设置为1。
可以如下地定义图片组(GOP)及其特性。可以不考虑是否任何之前的图片被解码而对GOP进行解码。开放式GOP是这样的图片组,在其中,当解码从开放式GOP的初始内部图片开始时,按照输出次序处在初始内部图片之前的图片可能不可被正确地解码。换句话说,开放式GOP的图片可以参考(在之间预测中)属于前一个GOP的图片。H.264/AVC解码器可以从H.264/AVC位流中的恢复点SEI消息识别开始开放式GOP的内部图片。HEVC解码器可以识别开始开放式GOP的内部图片,因为具体的NAL单元类型、CAR NAL单元类型被用于它的经编码的切片。封闭式 GOP是这样的图片组,在其中,当解码从该封闭式GOP的初始内部图片开始时,全部图片可以被正确地解码。换句话说,封闭式GOP中没有任何图片参考之前的GOP中的任何图片。在H.264/AVC和HEVC中,封闭式GOP从IDR访问单元开始。在HEVC中,封闭式GOP还可以从 BLA_W_RADL或者BLA_N_LP图片开始。因此,封闭式GOP结构具有比开放式GOP结构更大的错误恢复潜力,然而代价是压缩效率的可能的降低。因为在选择参考图片时的更大的灵活度,开放式GOP编码结构是在压缩上潜在更高效的。
图片结构(SOP)可以被定义为按照编码次序连续的一个或多个经编码的图片,其中,按照编码次序的第一个经编码的图片是最低时间子层处的参考图片,并且除了潜在地按照编码次序的第一个经编码的图片之外,没有任何经编码的图片是RAP图片。图片的相对解码次序由图片内的数字说明。前一个SOP中的任何图片具有比当前的SOP中的任何图片小的解码次序,并且下一个SOP中的任何图片具有比当前的SOP中的任何图片大的解码次序。术语图片组(GOP)可以有时被与术语SOP可互换地使用,并且具有与SOP的语义而非如上面描述的封闭式或者开放式GOP 的语义相同的语义。
图片自适应帧字段编码(PAFF)指编码器或者编码方案的用于基于图片确定是经编码的字段还是经编码的帧被编码的能力。序列自适应帧字段编码(SAFF)指编码器或者编码方案的用于对于诸如是经编码的视频序列、图片组(GOP)或者图片结构(SOP)的图片序列确定是经编码的字段还是经编码的帧被编码的能力。
HEVC包括各种与指示字段(与帧相对)和源扫描类型相关的方法,可以如下地概括所述方法。在HEVC中,profile_tier_level()语法结构被包括在具有等于0的nuh_layer_id的SPS中和VPS中。当profile_tier_level() 语法结构被包括在VPS中但未被包括在vps_extension()语法结构中时, profile_tier_level()语法结构所应用到的适用层集是由索引0指定的层集,即,仅包含基础层。当profile_tier_level()语法结构被包括在SPS中时, profile_tier_level()语法结构所应用到的层集是由索引0指定的层集,即,仅包含基础层。profile_tier_level()语法结构包括 general_progressive_source_flag和general_interlaced_source_flag语法元素。可以如下地解释general_progressive_source_flag和 general_interlaced_source_flag:
-如果general_progressive_source_flag等于1并且 general_interlaced_source_flag等于0,则CVS中的图片的源扫描类型应当仅被解释为渐进的。
-否则,如果general_progressive_source_flag等于0并且 general_interlaced_source_flag等于1,则CVS中的图片的源扫描类型应当仅被解释为经交错的。
-否则,如果general_progressive_source_flag等于0并且 general_interlaced_source_flag等于0,则CVS中的图片的源扫描类型应当被解释为未知的或者未被指定的。
-否者(general_progressive_source_flag等于1并且 general_interlaced_source_flag等于1),在图片级使用图片时序SEI消息中的语法元素source_scan_type来指示CVS中的每个图片的源扫描类型。
根据HEVC,SPS可以(但不需要)包含VUI(在vui_parameters 语法结构中)。VUI可以包括语法元素field_seq_flag,该语法元素 field_seq_flag当等于1时可以指示CVS传达表示字段的图片,并且可以指定图片时序SEI消息出现在当前的CVS的每个访问单元中。等于0的 field_seq_flag可以指示CVS传达表示帧的图片,并且图片时序SEI消息可以或者可以不出现在当前的CVS的任何访问单元中。当field_seq_flag 不出现时,可以推断其等于0。profile_tier_level()语法结构可以包括语法元素general_frame_only_constraint_flag,该语法元素 general_frame_only_constraint_flag当等于1时可以指定field_seq_flag等于0。等于0的general_frame_only_constraint_flag可以指示field_seq_flag 可以或者可以不等于0。
根据HEVC,VUI可以还包括语法元素frame_field_info_present_flag,该语法元素frame_field_info_present_flag当等于1时可以指定:图片时序 SEI消息对于每个图片出现并且包括pic_struct、source_scan_type和 duplicate_flag语法元素。等于0的frame_field_info_present_flag可以指定pic_struct语法元素不出现在图片时序SEI消息中。当frame_field_info_present_flag不出现时,可以如下地推断它的值:如果general_progressive_source_flag等于1并且 general_interlaced_source_flag等于1,则推断 frame_field_info_present_flag等于1。否则,推断 frame_field_info_present_flag等于0。
可以如下地概括HEVC的图片时序SEI消息的pic_struct语法元素。 pic_struct指示图片应当被显示为帧还是一个或多个字段,并且对于帧的显示,当fixed_pic_rate_within_cvs_flag(其可以被包括在SPS VUI中) 等于1时可以指示使用固定的帧刷新间隔的用于显示的帧双倍或者三倍重复周期。可以利用下面的表来指定对pic_struct的解释:
可以如下地概括HEVC的图片时序SEI消息的source_scan_type语法元素。等于1的source_scan_type可以指示关联的图片的源扫描类型应当被解释为渐进的。等于0的source_scan_type可以指示关联的图片的源扫描类型应当被解释为经交错的。等于2的source_scan_type可以指示关联的图片的源扫描类型是未知的或者未被指定的。
可以如下地概括HEVC的图片时序SEI消息的duplicate_flag语法元素。等于1的duplicate_flag可以指示当前的图片被指示为是按照输出次序的前一个图片的副本。等于0的duplicate_flag可以指示当前的图片未被指示为是按照输出次序的前一个图片的副本。duplicate_flag可以用于标记这样的已编码图片,已知已从诸如是3:2下拉或者其它这样的复制和图片速率插值方法的重复过程产生所述已编码图片。当field_seq_flag等于1并且duplicate_flag等于1时,除非由对范围9到12(含)中的pic_struct 值的使用指示了配对,否则这可以被解释为对访问单元包含具有与当前的字段相同的奇偶性的按照输出次序的前一个字段的被复制的字段的指示。
包括H.264/AVC和HEVC的许多混合视频编解码器在两个阶段中对视频进行编码。在第一阶段中,例如作为所谓的采样预测和/或作为所谓的语法预测应用预测性编码。在采样预测中,预测特定图片区域或者“块”中的像素或者采样值。可以例如使用以下方法中的一种或多种方法来预测这些像素或者采样值:
-运动补偿机制(其也可以被称为时间预测或者运动补偿时间预测或者运动补偿预测或者MCP),其涉及找到和指示与被编码的块紧密对应的之前被编码的视频帧中的一个视频帧中的区域。
-视图间预测,其涉及找到和指示与被编码的块紧密对应的之前被编码的视图分量中的一个视图分量中的区域。
-视图合成预测,其涉及基于经重构/经解码的范围信息来合成预测块或者预测块在其处被导出的图像区域。
-诸如是SVC的所谓的IntraBL(基础层)模式的使用经重构/经解码的采样的层间预测。
-层间残差预测,在其中,例如参考层的经编码的残差或者从经重构/ 经解码的参考层图片与对应的经重构/经解码的增强层图片的差别导出的残差可以用于预测当前的增强层块的残差块。残差块可以被添加到例如运动补偿预测块,以获得当前的增强层块的最终预测块。
-内部预测,其中,可以通过涉及找到和指示空间区域关系的空间机制来预测像素或者采样值。
在也可以被称为参数预测的语法预测中,从较早被(解)编码的语法元素和/或较早被导出的变量来预测语法元素和/或语法元素值和/或从语法元素导出的变量。下面提供了语法预测的非限制性示例:
-在运动向量预测中,可以关于块特定的经预测的运动向量有差别地对例如针对之间和/或视图间预测的运动向量进行编码。在许多视频编解码器中,例如经由计算相邻的块的经编码或者经解码的运动向量的中值而通过预定义的方法来创建经预测的运动向量。有时被称为高级运动向量预测 (AMVP)的另一种用于创建运动向量预测的方法在于,从时间参考图片中的相邻的块和/或协同定位的块生成候选预测的列表,并且作为运动向量预测器对所选择的候选预测进行信号通知。除了预测运动向量值之外,可以预测前一个经编码/经解码的图片的参考索引。可以从时间参考图片中的相邻的块和/或协同定位的块来预测参考索引。可以跨切片边界禁用对运动向量的有差别的编码。
-可以预测例如从CTU到CU以及下至PU的块分区。
-在滤波器参数预测中,可以预测例如针对采样自适应偏移量的滤波参数。
使用来自前一个经编码的图像的图像信息的预测方法也可以被称为之间预测方法,所述之间预测方法也可以被称为时间预测和运动补偿。使用同一图像内的图像信息的预测方法也可以被称为内部预测方法。
第二阶段是对像素或者采样的所预测的块与像素或者采样的原始块之间的误差进行编码中的一项。这可以经由使用指定的变换对像素或者采样值的差值进行变换来完成。该变换可以是离散余弦变换(DCT)或者其变型。在对差值进行变换之后,对经变换的差值进行量化和熵编码。
经由改变量化过程的保真度,编码器可以控制在像素或者采样表示的准确度(即,图片的视觉质量)与产生的经编码的视频表示的大小(即,文件大小或者传输比特率)之间的平衡。
解码器经由应用与被编码器使用的预测机制相似的预测机制以形成像素或者采样值的经预测的表示(使用由编码器创建并且被存储在图像的经压缩的表示中的运动或者空间信息)和预测误差解码(用于在空域中恢复经量化的预测误差信号的预测误差编码的逆操作)来重构输出视频。
在应用像素或者采样预测和误差解码过程之后,解码器可以合并预测和预测误差信号(像素或者采样值),以形成输出视频帧。
解码器(和编码器)可以在传递输出视频以用于显示和/或存储为视频序列中的即将到来的图片的预测参考之前还应用额外的滤波过程以改进输出视频的质量。
滤波可以用于减少来自参考图像的诸如是块、振铃等的各种效应。在之后跟随增加经逆变换的残差的运动补偿之后,获得经重构的图片。该图片可以具有诸如是块、振铃等的各种效应。为消除所述效应,可以应用各种后处理操作。如果经后处理的图片在运动补偿环路中被用作参考,则后处理操作/滤波器通常被称为环路滤波器。经由使用环路滤波器,参考图片的质量提高。因此,可以达到更高的编码效率。
滤波可以包括例如去块滤波器、采样自适应偏移量(SAO)滤波器和 /或自适应环路滤波器(ALF)。
去块滤波器可以被用作环路滤波器中的一个滤波器。去块滤波器在 H.264/AVC和HEVC标准两者中是可用的。去块滤波器的目的在于移除出现在块的边界处的块效应。这可以经由沿块边界进行滤波来达到。
在SAO中,图片被划分成区域,其中,对于每个区域作出单独的SAO 决策。区域中的SAO信息被封装在SAO参数调整单元(SAO单元)中,并且在HEVC中,用于调整SAO参数的基本单元是CTU(因此,SAO 区域是被对应的CTU覆盖的块)。
在SAO算法中,根据规则的集合对CTU中的采样进行分类,并且经由增加偏移量值来增强每个经分类的采样的集合。在位流中对偏移量值进行信号通知。存在两种类型的偏移量:1)带偏移量;2)边缘偏移量。对于CTU,或者不使用任何SAO,或者使用带偏移量或者边缘偏移量。可以由编码器利用例如速率失真优化(RDO)来决定并且向解码器信号通知对将不使用任何SAO还是使用带或者边缘偏移量的选择。
在带偏移量中,采样值的整个范围在某些实施例中被划分成32个等宽的带。例如,对于8位的采样,带的宽度是8(=256/32)。在32个带中,选择它们中的4个,并且对于所选择的带中的每个带,信号通知不同的偏移量。选择决策被编码器作出,并且可以如下地被信号通知:第一个带的索引被信号通知,并且然后推断跟随在后面的四个带是所选择的带。带偏移量在纠正平滑区域中的误差时可以有用的。
在边缘偏移量类型中,可以从其中每个类型是与一个方向关联的四个可能的类型(或者边缘分类)中选出边缘偏移量(EO)类型:1)垂直,2) 水平,3)135度对角线,以及4)45度对角线。对方向的选择由编码器给出,并且被向解码器信号通知。每个类型定义基于角度的针对给定的采样的两个相邻采样的位置。然后基于将采样值与两个邻居采样的值进行的比较将CTU中的每个采样分类到五个类别中的一个类别中。所述五个类别被描述如下:
1.当前的采样值小于两个邻居采样
2.当前的采样值小于所述邻居中的一个邻居并且等于另一个邻居
3.当前的采样值大于所述邻居中的一个邻居并且等于另一个邻居
4.当前的采样值大于两个邻居采样
5.不是以上各项中的任一项
不需要向解码器信号通知这五个类别,因为分类是基于仅经重构的采样的,经重构的采样可以是在编码器和解码器两者中可用和相同的。在边缘偏移量类型CTU中的每个采样被分类为五个类别中的一个类别之后,确定并且向解码器信号通知针对前四个类别中的每个类别的偏移量值。针对每个类别的偏移量被增加到与对应的类别相关联的采样值。边缘偏移量可以是在纠正振铃效应时有效的。
SAO参数可以当被交织在CTU数据中时被信号通知。在CTU之上,切片头部包含指定是否SAO在切片中被使用的语法元素。如果SAO被使用,则两个额外的语法元素指定是否SAO被应用于Cb和Cr分量。对于每个CTU,存在三个选项:1)从左边的CTU复制SAO参数,2)从上边的CTU复制SAO参数,或者3)信号通知新的SAO参数。
虽然在上面描述了SAO的具体实现,但应当理解,与上面描述的实现相似的SAO的其它实现可以也是可能的。例如,并非当被交织在CTU 数据中时对SAO参数进行信号通知,使用四叉树分段的基于图片的信号通知可以被使用。可以由编码器例如通过速率失真优化过程确定SAO参数的合并(即,使用与左边或者上边的CTU中的参数相同的参数)或者四叉树结构。
自适应环路滤波器(ALF)是用于增强经重构的采样的质量的另一种方法。这可以经由在环路中对采样值进行滤波来达到。ALF是对于其来说滤波器系数由编码器确定并且被编码到位流中的有限脉冲响应(FIR)滤波器。编码器可以例如利用最小二乘法或者维纳滤波器优化来选择尝试最小化相对于原始的未经压缩的图片的失真的滤波器系数。滤波器系数可以例如位于调整参数集或者切片头部中,或者它们可以以与其它CU特定的数据交织的方式出现在CU的切片数据中。
在包括H.264/AVC和HEVC的许多视频编解码器中,由与每个运动补偿图像块相关联的运动向量指示运动信息。这些运动向量中的每个运动向量表示将被编码(在编码器中)或者解码(在解码器处)的图片中的图像块与之前被编码或者解码的图像(或者图片)中的一个图像(或者图片) 中的预测源块的替换。如许多其它视频压缩标准一样,H.264/AVC和HEVC将图片划分成矩形的网,对于所述矩形中的每个矩形,参考图片中的一个参考图片中的相似的块被指示以用于之间预测。预测块的位置被编码为指示预测块相对于被编码的块的位置的运动向量。
可以例如使用以下因素中的一个或多个因素来描绘之间预测过程的特性。
运动向量表示的准确度。
例如,运动向量可以具有四分之一像素准确度、半像素准确度或者全像素准确度,并且可使用有限脉冲响应(FIR)滤波器来获得分数像素位置处的采样值。
用于之间预测的块分区。
包括H.264/AVC和HEVC的许多编码标准允许选择对于其来说在编码器中应用运动向量以用于运动补偿预测的块的大小和形状,并且在位流中指示所选择的大小和形状,以使得解码器可以再现在编码器中被完成的运动补偿预测。这个块也可以被称为运动分区。
用于之间预测的参考图片的数量。
之间预测的源是之前被解码的图片。包括H.264/AVC和HEVC的许多编码标准使能存储用于之间预测的多个参考图片和基于块来选择所使用的参考图片。例如,可以在H.264/AVC中基于宏块或者宏块分区以及在 HEVC中基于PU或者CU来选择参考图片。诸如是H.264/AVC和HEVC 的许多编码标准包括使解码器能够创建一个或多个参考图片列表的位流中的语法结构。指向参考图片列表的参考图片索引可以用于指示多个参考图片中的哪个参考图片被用于对于特定块的之间预测。参考图片索引在某些之间编码模式下可以被编码器编码到位流中,或者它在某些其它的之间编码模式下可以被(编码器和解码器)例如使用相邻的块来导出。
运动向量预测。
为在位流中高效地表示运动向量,可以关于块特定的经预测的运动向量有差别地对运动向量进行编码。在许多视频编解码器中,例如经由计算相邻块的经编码或者经解码的运动向量的中值而通过预定义的方法来创建经预测的运动向量。有时被称为高级运动向量预测(AMVP)的另一种用于创建运动向量预测的方法在于,从时间参考图片中的相邻的块和/或协同定位的块来生成候选预测的列表,并且作为运动向量预测器对所选择的候选预测进行信号通知。除了预测运动向量值之外,可以预测前一个被编码/ 被解码的图片的参考索引。可以从时间参考图片中的相邻的块和/或协同定位的块来预测参考索引。可以跨切片边界禁用对运动向量的有差别的编码。
多假设运动补偿预测。
H.264/AVC和HEVC使能在P切片(在本文中被称为单预测切片) 中使用单一的预测块或者对于也被称为B切片的双预测切片使用两个运动补偿预测块的线性组合。B切片中的各个块可以被双预测、单预测或者内部预测,并且P切片中的各个块可以被单预测或者内部预测。双预测图片的参考图片可以不限于按照输出次序的随后一个图片和前一个图片,而相反可以使用任何参考图片。在诸如是H.264/AVC和HEVC的许多编码标准中,对于P切片构造被称为参考图片列表0的一个参考图片列表,并且对于B切片构造为列表0和列表1的两个参考图片列表。对于B切片,当是前向方向上的预测时可以指从参考图片列表0中的参考图片进行的预测,并且后向方向上的预测可以指从参考图片列表1中的参考图片进行的预测,即使用于预测的参考图片可以具有与彼此或者与当前图片的任何解码或者输出次序关系。
加权预测。
许多编码标准对于之间(P)图片的预测块使用为1的预测权重,并且对于B图片的每个预测块使用为0.5的预测权重(导致求平均)。 H.264/AVC允许对于P和B切片两者的加权预测。在隐含加权预测中,权重与图片次序计数成比例,而在显式加权预测中,预测权重被显式地指示。可以例如在以下语法结构中的一个或多个语法结构中指示用于显式加权预测的权重:切片头部、图片头部、图片参数集、调整参数集或者任何相似的语法结构。
在许多视频编解码器中,运动补偿之后的预测残差被首先利用变换内核(例如,DCT)进行变换,并且然后被编码。这样做的原因在于,通常残差中仍然存在某种相关性,并且变换可以在许多情况下帮助降低该相关性并且提供更高效的编码。
在一个草案HEVC中,每个PU具有与它相关联的定义对于该PU内的像素将应用哪种预测的预测信息(例如,用于经之间预测的PU的运动向量信息和用于经内部预测的PU的内部预测方向性信息)。相似地,每个TU与描述针对该TU内的采样的预测误差解码过程的信息(包括例如 DCT系数信息)相关联。可以在CU级信号通知是否对于每个CU应用了预测误差编码。在不存在任何与CU相关联的预测误差残差的情况下,可以认为不存在任何针对CU的TU。
在某些编码格式和编解码器中,在所谓的短期和长期参考图片之间作出区分。该区分可以影响诸如是时间直接模式下的运动向量缩放或者隐含加权预测的一些解码过程。如果用于时间直接模式的参考图片中的全部两个参考图片是短期参考图片,则可以根据当前的图片与参考图片中的每个参考图片之间的图片次序计数(POC)差值来缩放预测中所使用的运动向量。然而,如果用于时间直接模式的至少一个参考图片是长期参考图片,则可以使用对运动向量的缺省的缩放,例如可以使用将运动缩放到一半。相似地,如果短期参考图片被用于隐含加权预测,则可以根据当前的图片的POC与参考图片的POC之间的POC差值来缩放预测权重。然而,如果长期参考图片被用于隐含加权预测,则可以使用缺省的预测权重,缺省的预测权重诸如是在对于双预测块的隐含加权预测中的0.5。
诸如H.264/AVC的某些视频编码格式包括frame_num语法元素,该 frame_num语法元素被用于与多个参考图片相关的各种解码过程。在 H.264/AVC中,针对IDR图片的frame_num的值是0。针对非IDR图片的frame_num的值等于被递增了1的按照解码次序的前一个参考图片的 frame_num(采用模运算,即,frame_num的值在frame_num的最大值之后回绕到0)。
H.264/AVC和HEVC包括图片次序计数(POC)的概念。POC的值被针对每个图片导出,并且是随着按照输出次序的递增的图片位置而非递减的。POC因此指示图片的输出次序。POC可以在解码过程中被使用,例如用于对双预测切片的时间直接模式中的运动向量的隐含缩放、用于加权预测中的被隐含导出的权重以及用于参考图片列表初始化。此外,POC 可以在对输出次序符合性的验证中被使用。在H.264/AVC中,相对于前一个IDR图片或者包含将全部图片标记为“未被用于参考”的存储器管理控制操作的图片来指定POC。
用于经解码的参考图片标记的语法结构可以存在于视频编码系统中。例如,当图片的解码已被完成时,经解码的参考图片标记语法结构如果出现的话则可以用于自适应的将图片标记为“未被用于参考”或者“被用于长期参考”。如果经解码的参考图片标记语法结构不出现,并且被标记为“被用于参考”的图片的数量不再增大,则可以使用基本上将最早的(按照解码次序)经解码的参考图片标记为未被用于参考的滑动窗口参考图片标记。
H.264/AVC指定用于经解码的参考图片标记的过程,以控制解码器中的存储器消耗。在序列参数集中确定被称为M的被用于之间预测的参考图片的最大数量。当参考图片被解码时,它被标记为“被用于参考”。如果对参考图片的解码导致产生多于M个被标记为“被用于参考”的图片,则至少一个图片被标记为“未被用于参考”。存在用于经解码的参考图片标记的两种类型的操作:自适应存储器控制和滑动窗口。基于图片选择经解码的参考图片标记的操作模式。自适应存储器控制使能进行对哪些图片被标记为“未被用于参考”的显式信号通知,并且还可以为短期参考图片指派长期索引。自适应存储器控制可能需要存储器管理控制操作(MMCO) 参数出现在位流中。MMCO参数可以被包括在经解码的参考图片标记语法结构中。如果滑动窗口操作模式正在使用中,并且存在M个被标记为“被用于参考”的图片,则是在那些被标记为“被用于参考”的短期参考图片中被最先解码的图片的短期参考图片被标记为“未被用于参考”。换句话说,滑动窗口操作模式导致产生在短期参考图片中的先进先出缓冲操作。
H.264/AVC中的存储器管理控制操作中的一个存储器管理控制操作导致除当前的图片之外的全部参考图片被标记为“未被用于参考”。即时解码刷新(IDR)图片仅包含经内部编码的切片,并且导致对参考图片的相似的“重置”。
在一个草案HEVC标准中,未使用参考图片标记语法结构和相关的解码过程,而作为代替,出于相似的目的使用了参考图片集(RPS)语法结构和解码过程。对于图片有效或者活跃的参考图片集包括全部被用作该图片的参考的参考图片和全部对于任何按照解码次序的随后图片被保持标记为“被用于参考”的参考图片。存在参考图片集的六个子集,所述六个子集即被称为RefPicSetStCurr0(其可以另外或者替换地被称为RefPicSetStCurrBefore)、RefPicSetStCurr1(其可以另外或者替换地被称为RefPicSetStCurrAfter)、RefPicSetStFoll0、RefPicSetStFoll1、 RefPicSetLtCurr和RefPicSetLtFoll。在某些HEVC草案规范中, RefPicSetStFoll0和RefPicSetStFoll1被看作一个子集,这一个子集可以被称为RefPicSetStFoll。所述六个子集的记号如下。“Curr”指被包括在当前图片的参考图片列表中的参考图片,并且因此可以被用作当前图片的之间预测参考。“Foll”指未被包括在当前图片的参考图片列表中但可以在按照解码次序的随后图片中被用作参考图片的参考图片。“St”指短期参考图片,所述短期参考图片概括地说可以通过它们的POC值的特定数量的最低有效位来标识。“Lt”指长期参考图片,所述长期参考图片被专门地标识,并且概括地说具有相对于当前的图片的比可以被所提到的特定数量的最低有效位表示的POC值的差值更大的POC值的差值。“0”指那些具有比当前图片的POC值小的POC值的参考图片。“1”指那些具有比当前图片的POC值大的POC值的参考图片。RefPicSetStCurr0、 RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1共同被称为参考图片集的短期子集。RefPicSetLtCurr和RefPicSetLtFoll共同被称为参考图片集的长期子集。
在一个草案HEVC标准中,参考图片集可以在序列参数集中被指定,并且通过指向参考图片集的索引在切片头部中被采用。参考图片集也可以在切片头部中被指定。参考图片集的长期子集概括地说仅在切片头部中被指定,而同一参考图片集的短期子集可以在图片参数集或者切片头部中被指定。参考图片集可以被无依赖地编码,或者可以从另一个参考图片集被预测(称为RPS间预测)。当参考图片集被无依赖地编码时,语法结构包括在不同类型的参考图片上迭代的上至三个环路:具有比当前图片低的 POC值的短期参考图片、具有比当前图片高的POC值的短期参考图片和长期参考图片。每个环路条目指定将被标记为“被用于参考”的图片。概括地说,利用有差别的POC值来指定图片。RPS间预测利用了这一事实:可以从前一个经解码的图片的参考图片集来预测当前图片的参考图片集。这是因为当前图片的全部参考图片或者是前一个图片的参考图片或者是前一个经解码的图片自身。仅有必要指示这些图片中的哪些图片应当是参考图片并且被用于对当前图片的预测。在全部两种类型的参考图片集编码中,对于每个参考图片额外地发送指示是(被包括在*Curr列表中)否(被包括在*Foll列表中)该参考图片被用于被当前图片所参考的标志 (used_by_curr_pic_X_flag)。参考图片集可以每图片被解码一次,并且其可以在对第一个切片头部进行解码之后但在对任何编码单元进行解码之前并且在重构参考图片列表之前被解码。被包括在被当前的切片使用的参考图片集中的图片被标记为“被用于参考”,并且不在被当前的切片使用的参考图片集中的图片被标记为“未被用于参考”。如果当前的图片是IDR 图片,则RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、 RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll全部被设置为空。
经解码图片缓冲器(DPB)可以在编码器和/或解码器中被使用。存在对经解码的图片进行缓冲的两个原因:用于之间预测中的参考和用于将经解码的图片重新排序为输出次序。由于H.264/AVC和HEVC为参考图片标记和输出重新排序两者提供了大量灵活度,所以用于参考图片缓冲和输出图片缓冲的单独的缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的经统一的经解码图片缓冲过程。经解码的图片当它不再被用作参考以及不需要输出时被从DPB中移除。
在H.264/AVC和HEVC的许多编码模式中,利用指向参考图片列表的索引来指示用于之间预测的参考图片。可以利用可变长度编码对所述索引进行编码,所述可变长度编码通常导致较小的索引具有对应的语法元素的较短的值。在H.264/AVC和HEVC中,对于每个双预测(B)切片生成两个参考图片列表(参考图片列表0和参考图片列表1),并且对于每个经之间编码的(P)切片形成一个参考图片列表(参考图片列表0)。
可以通过两个步骤来构造诸如参考图片列表0和参考图片列表1的参考图片列表:首先,生成初始的参考图片列表。可以例如基于frame_num、 POC、temporal_id或者诸如GOP结构的关于预测分层的信息或者它们的任意组合来生成初始的参考图片列表。第二,可以通过也被称为参考图片列表修改语法结构的可以被包含在切片头部中的参考图片列表重新排序 (RPLP)命令对初始的参考图片列表进行重新排序。RPLR命令指示被排序到各自的参考图片列表的起点的图片。这第二个步骤也可以被称为参考图片列表修改过程,并且RPLR命令可以被包括在参考图片列表修改语法结构中。如果使用了参考图片集,则参考图片列表0可以被初始化为首先包含RefPicSetStCurr0,之后跟随RefPicSetStCurr1,之后跟随 RefPicSetLtCurr。参考图片列表1可以被初始化为首先包含 RefPicSetStCurr1,之后跟随RefPicSetStCurr0。可以通过参考图片列表修改语法结构来修改初始的参考图片列表,其中,可以通过指向列表的条目索引来标识初始的参考图片列表中的图片。
诸如一个草案HEVC编解码器之类的许多高效的视频编解码器使用额外的通常被称为合并/合并模式/过程/机制的运动信息编码/解码机制,其中,在不具有任何修改/纠正的情况下预测和使用块/PU的全部运动信息。 PU的前述的运动信息可以包括以下各项中的一项或多项:1)关于“PU 被使用仅参考图片列表0进行单预测”还是“PU被使用仅参考图片列表1 进行单预测”还是“PU被使用全部两个参考图片列表0和列表1进行双预测”的信息;2)与参考图片列表0相对应的运动向量,其可以包括水平和垂直运动向量分量;3)参考图片列表0中的参考图片索引和/或被与参考图片列表0相对应的运动向量指向的参考图片的标识符,其中,参考图片的标识符可以是例如图片次序计数值、层标识符值(对于层间预测)或者图片次序计数值和层标识符值的对;4)对参考图片进行标记的参考图片的信息,例如关于参考图片被标记为“被用于短期参考”还是“被用于长期参考”的信息;5)-7)分别与2)-4)相同,但是针对参考图片列表1。
相似地,使用时间参考图片中的相邻的块和/或协同定位的块的运动信息来实现对运动信息的预测。可以经由包括与可用的相邻/协同定位的块相关联的运动预测候选项来构造通常被称为合并列表的列表,并且所选择的运动预测候选项在列表中的索引被信号通知,并且所选择的候选项的运动信息被复制到当前的PU的运动信息。当对于整个CU使用合并机制并且针对CU的预测信号被用作重构信号,即不处理预测残差时,对CU进行的这种类型的编码/解码通常被称为跳过模式或者基于合并的跳过模式。除了跳过模式之外,还可以对于各个PU(不必如在跳过模式下一样对于整个CU)使用合并机制,并且在此情况下,预测残差可以用于改进预测质量。这种类型的预测模式通常被称为合并间(inter-mode)模式。
合并列表中的候选项中的一个候选项可以是TMVP候选项,可以从所指示或者推断的参考图片内的协同定位的块来导出TMVP候选项,所述指示或者推断的参考图片诸如是例如在切片头部中例如使用 collocated_ref_idx语法元素来指示的参考图片等。
在HEVC中,当运动编码模式是合并模式时,合并列表中的时间运动向量预测的所谓的目标参考索引被设置为0。当HEVC中的使用时间运动向量预测的运动编码模式是高级运动向量预测模式时,目标参考索引值被显式地指示(例如,依照每PU地)。
当目标参考索引值已被确定时,可以如下地导出时间运动向量预测的运动向量值:计算与当前的预测单元的右下邻居协同定位的块处的运动向量。可以例如根据如上面描述的在切片头部中被信号通知的参考索引来确定协同定位的块所在的图片。关于第一图片次序计数差值与第二图片次序计数差值的比率对协同定位的块处的所确定的运动向量进行缩放。从包含协同定位的块的图片与协同定位的块的运动向量的参考图片之间导出第一图片次序计数差值。从当前的图片与目标参考图片之间导出第二图片次序计数差值。如果目标参考图片和协同定位的块的运动向量的参考图片中的一项但不是全部两项是长期参考图片(而另一项是短期参考图片),则 TMVP候选项可以被看作不可用。如果目标参考图片和协同定位的块的运动向量的参考图片中的全部两项是长期参考图片,则不可以应用任何基于 POC的运动向量缩放。
运动参数类型或者运动信息可以包括但不限于以下类型中的一个或多个类型:
-对预测类型(例如,内部预测、单预测、双预测)和/或参考图片的数量的指示;
-对诸如之间(也称为时间)预测、层间预测、视图间预测、视图合成预测(VSP)和分量间预测之类的预测方向的指示(其可以依照参考图片和/或依照预测类型被指示,并且其中,在某些实施例中,视图间和视图合成预测可以联合地被看作一种预测方向),和/或对诸如短期参考图片和/ 或长期参考图片和/或层间参考图片之类的参考图片类型的指示(其可以例如依照参考图片被指示)
-指向参考图片列表的参考索引和/或参考图片的任何其它标识符(其可以例如依照参考图片被指示,并且其类型可以取决于预测方向和/或参考图片类型,并且其可以伴随有可以由诸如参考索引所应用于的参考图片列表之类的其它相关信息块);
-水平运动向量分量(其可以例如依照预测块或者依照参考索引等被指示);
-垂直运动向量分量(其可以例如依照预测块或者依照参考索引等被指示);
-一个或多个参数(诸如包含或者关联于运动参数的图片与它的参考图片之间的图片次序计数差值和/或相对照相机间隔),其可以用于在一个或多个运动向量预测过程中对水平运动向量分量和/或垂直运动向量分量进行缩放(其中,所述一个或多个参数可以例如依照每个参考图片或者每个参考索引等被指示);
-运动参数和/或运动信息所应用于的块的坐标,例如亮度采样单元中的块的左上采样的坐标;
-运动参数和/或运动信息所应用于的块的幅度(例如,宽度和高度)。
与图片相关联的运动字段可以被看作由针对该图片的每个经编码的块产生的运动信息的集合组成。运动字段可以通过例如块的坐标来访问。运动字段可以例如在TMVP或者在其中使用了除当前的被(解)编码图片之外的预测的源或者参考的任何其它运动预测机制中被使用。
可以应用不同的空间粒度或者单元来表示和/或存储运动字段。例如,可以使用规则的空间单元网格。例如,图片可以被划分成特定大小的矩形块(诸如右边缘和底边缘上的图片的边缘处的块可能例外)。例如,空间单元的大小可以等于对于其来说可以由编码器在位流中指示不同运动的最小大小(诸如亮度采样单元中的4x4块)。例如,可以使用所谓的经压缩的运动字段,其中,空间单元可以等于诸如亮度采样单元中的16x16块的预定义或者所指示的大小,该大小可以大于用于指示不同的运动的最小大小。例如,可以以使得对于每个经解码的运动字段执行运动数据存储减少 (MDSR)(在将运动字段用于图片之间的任何预测之前)的方式来实现 HEVC编码器和/或解码器。在一种HEVC实现中,MDSR可以经由保持运动适用于经压缩的运动字段中的16x16块的左上采样来将运动数据的粒度降低到亮度采样单元中的16x16块。编码器可以将与经压缩的运动字段的空间单元相关的指示编码为例如序列级语法结构中的一个或多个语法元素和/或语法元素值,所述序列级语法结构诸如是视频参数集或者序列参数集。在某些(解)编码方法和/或设备中,可以根据运动预测的块分区(例如,根据HEVC标准的预测单元)来表示和/或存储运动字段。在某些(解) 编码方法和/或设备中,可以应用规则的网格和块分区的结合,以使得与大于预定义或者所指示的空间单元大小的分区相关联的运动被与那些分区相关联地进行表示和/或存储,而与小于或者未与预定义或者所指示的空间单元大小或者网格对齐的分区相关联的运动被针对所述预定义或者指示的单元进行表示和/或存储。
可伸缩视频编码可以指在其中一个位流可以包含采用不同比特率、分辨率和/或帧率的内容的多个表示的编码结构。在这些情况下,接收器可以取决于期望的表示的特性(例如,与设备的显示器的分辨率最佳地匹配的分辨率)来提取期望的表示。替换地,服务器或者网络单元可以取决于例如网络特性或者接收器的处理能力来提取将被发送到接收器的位流的部分。
可伸缩位流可以由提供可用的最低质量视频的基础层和一个或多个当与较低层一起被接收和解码时对视频质量进行增强的增强层组成。增强层可以对由另一个层或者其一部分表示的视频内容的例如时间分辨率(即,帧率)、空间分辨率或者简单地说质量进行增强。为改进增强层的编码效率,该层的经编码的表示可以取决于较低层。例如,可以从较低层预测增强层的运动和模式信息。相似地,较低层的像素数据可以用于创建对增强层(多个)的预测。
可伸缩性模式或者可伸缩性维度可以包括但不限于以下各项:
-质量可伸缩性:以比增强层图片低的质量对基础层图片进行编码,其可以例如在基础层中使用比在增强层中更大的量化参数值(即,更大的用于变换系数量化的量化步长大小)来达到。质量可伸缩性可以被进一步分类为如下面描述的细颗粒或者细粒度可伸缩性(FGS)、中颗粒或者中粒度可伸缩性(MGS)和/或粗颗粒或者粗粒度可伸缩性(CGS)。
-空间可伸缩性:可以以比增强层图片低的分辨率(即,具有更少的采样)对基础层图片进行编码。特别是其粗颗粒可伸缩性类型的空间可伸缩性和质量可伸缩性有时可以被看作相同类型的可伸缩性。
-位深可伸缩性:可以以比增强层图片(例如,10或12位)低的位深 (例如,8位)对基础层图片进行编码。
-色度格式可伸缩性:基础层图片提供比增强层图片(例如,4:4:4格式)低的色度采样数组的空间分辨率(例如,以4:2:0色度格式被编码)。
-色域可伸缩性:增强层图片具有比基础层图片的颜色表现范围更丰富 /广泛的颜色表现范围——例如,增强层可以具有UHDTV(ITU-R BT.2020)色域,并且基础层可以具有ITU-R BT.709色域。
-视图可伸缩性,其也可以被称为多视图编码。基础层表示第一视图,而增强层表示第二视图。
-深度可伸缩性,其也可以被称为深度增强的编码。位流的一个层或者一些层可以表示纹理视图,而其它一个层或多个层可以表示深度视图。
-感兴趣的区域可伸缩性(如下面描述的)。
-交错对渐进可伸缩性(如随后描述的)。
-混合编解码器可伸缩性:根据与增强层图片不同的编码标准或者格式对基础层图片进行编码。例如,可以利用H.264/AVC对基础层进行编码,并且可以利用HEVC扩展对增强层进行编码。
应当理解,可以合并和一起应用所述可伸缩性类型中的许多可伸缩性类型。例如,可以合并色域可伸缩性和位深可伸缩性。
在以上可伸缩性情况中的全部可伸缩性情况下,基础层信息可以用于对增强层进行编码,以最小化额外的比特率开销。
术语层可以在包括视图可伸缩性的任何类型的可伸缩性和深度增强的上下文中被使用。增强层可以指诸如SNR、空间、多视图、深度、位深、色度格式和/或色域增强的任何类型的增强。基础层可以指诸如基础视图、针对SNR/空间可伸缩性的基础层或者针对深度增强的视频编码的纹理基础视图的任何类型的基础视频序列。
感兴趣的区域(ROI)编码可以被定义为指以较高保真度对视频内的特定区域进行编码。存在使编码器和/或其它实体从将被编码的输入图片确定ROI的几种方法。例如,可以使用脸部检测,并且可以将脸部确定为 ROI。额外地或者替换地,在另一个示例中,焦点中的物体可以被检测和确定为是ROI,而焦点外的物体被确定为在ROI之外。额外地或者替换地,在另一个示例中,与物体的距离可以例如基于深度传感器被估计或者是已知的,并且ROI可以被确定为是那些相对地靠近照相机而非背景的物体。
ROI可伸缩性可以被定义为其中增强层仅例如在空间上、按质量、在位深上和/或沿其它可伸缩性维度对参考层图片的一部分进行增强的一种类型的可伸缩性。由于ROI可伸缩性可以与其它类型的可伸缩性一起被使用,所以它可以被看作形成一种不同类别的可伸缩性类型。存在可以经由使用ROI可伸缩性来实现的对具有不同需求的ROI编码的几种不同的应用。例如,可以发送增强层以对基础层中的区域的质量和/或分辨率进行增强。接收增强和基础层位流两者的解码器可以对全部两个层进行解码,并且将经解码的图片覆盖在彼此之上,以及显示最终的图片。
可以例如使用所谓的经伸缩参考层偏移量由编码器指示和/或由解码器解码增强层图片与参考层区域或者类似地增强层区域与基础层图片之间的空间对应。可以认为经伸缩参考层偏移量指定经上采样的参考层图片的转角采样相对于增强层图片的各自的转角采样的位置。所述偏移量值可以是有符号的,如在图6a和图6b中说明的,这使对所述偏移量值的使用能够在全部两种类型的经扩展的空间可伸缩性中被使用。假设是感兴趣的区域可伸缩性(图6a),则增强层图片110与参考层图片116的区域112相对应,并且经伸缩参考层偏移量指示扩展增强层图片的区域的经上采样的参考层图片的转角。可以经由四个语法元素(例如,依照增强层与其参考层的对)来指示经伸缩参考层偏移量,所述四个语法元素可以被称为 scaled_ref_layer_top_offset 118、scaled_ref_layer_bottom_offset 120、scaled_ref_layer_right_offset 122和scaled_ref_layer_left_offset 124。可以由编码器和/或解码器经由分别根据增强层图片高度或者宽度与经上采样的参考层图片高度或者宽度之间的比率对经伸缩参考层偏移量进行向下伸缩来推断被进行上采样的参考层区域。经向下伸缩的经伸缩参考层偏移量可以然后用于获得被进行上采样的参考层区域和/或确定参考层图片的哪些采样与增强层图片的特定采样协同定位。假设参考层图片与增强层图片的区域相对应(图6b),则经伸缩参考层偏移量指示处在增强层图片的该区域内的经上采样的参考层图片的转角。经伸缩参考层偏移量可以用于确定经上采样的参考层图片的哪些采样与增强层图片的特定采样协同定位。还有可能对扩展的空间可伸缩性的类型进行混合,即,水平地应用一种类型并且垂直地应用另一种类型。可以由编码器指示和/或由解码器例如从诸如SPS和/或VPS的序列级语法结构来解码经伸缩参考层偏移量。经伸缩参考偏移量的准确度可以例如在编码标准中预定义和/或由编码器指定和/ 或由解码器从位流来解码。例如,可以使用增强层中的亮度采样大小的1/16 的准确度。当没有任何层间预测在两个层之间发生时,经伸缩参考层偏移量可以在编码、解码和/或显示过程中被指示、解码和/或使用。
每个可伸缩层与全部它的有依赖的层一起是采用特定空间分辨率、时间分辨率、质量级别和/或任何其它可伸缩性维度的视频信号的一个表示。在本文档中,将可伸缩层与全部它的有依赖的层一起称作“可伸缩层表示”。与可伸缩层表示相对应的可伸缩位流的部分可以被提取和解码,以产生采用特定保真度的原始信号的表示。
可以通过两种基本的方法来启用可伸缩性。或者经由引入用于执行对来自可伸缩表示的较低层的像素值或者语法的预测的新编码模式,或者经由将较低层图片放入较高层的参考图片缓冲器(例如,经解码图片缓冲器, DPB)。第一种方法可能是更灵活的,并且因此可以在多数情况下提供更高的编码效率。然而,第二种基于参考帧的可伸缩性方法可以利用对单一层编解码器的最小变更来高效地实现,同时仍然达到可得的编码效率获益的大部分。大体地说,基于参考帧的可伸缩性编解码器可以经由对全部层使用相同的硬件或者软件实现来实现,只是要处理由外部单元进行的DPB 管理。
可以如下地实现针对质量可伸缩性(也被称为信噪比或者SNR)和/ 或空间可伸缩性的可伸缩视频编码器。对于基础层,可以使用常规的非可伸缩视频编码器和解码器。基础层的经重构/经解码的图片被包括在增强层的参考图片缓冲器和/或参考图片列表中。假设是空间可伸缩性,则经重构 /经解码的基础层图片可以在它被插入增强层图片的参考图片列表之前被进行上采样。基础层经解码图片可以与增强层的经解码参考图片类似地被插入用于对增强层图片的编码/解码的参考图片列表。因此,编码器可以选择基础层参考图片作为之间预测参考,并且在经编码位流中利用参考图片索引来指示它的用途。解码器从位流中(例如从参考图片索引)解码出基础层图片被用作增强层的之间预测参考。当经解码基础层图片被用作增强层的预测参考时,它被称为层间参考图片。
虽然前一个段落利用具有增强层和基础层的两个可伸缩性层描述了可伸缩视频编解码器,但需要理解,该描述可以被一般化到具有多于两个层的可伸缩性分层中的任意两个层。在此情况下,第二增强层可以在编码和/ 或解码过程中取决于第一增强层,并且第一增强层可以因此被看作用于对第二增强层的编码和/或解码的基础层。此外,需要理解,增强层的参考图片缓冲器或者参考图片列表中可以存在来自多于一个层的层间参考图片,并且这些层间参考图片中的每个层间参考图片可以被看作位于被编码和/ 或解码的增强层的基础层或者参考层中。
可伸缩视频编码和/或解码方案可以使用多环路编码和/或解码,可以如下地描绘所述多环路编码和/或解码的特性。在编码/解码时,基础层图片可以被重构/解码,以被用作同一层内的按照编码/解码次序的随后的图片的运动补偿参考图片,或者被用作层间(或者视图间或者分量间)预测的参考。经重构/经解码的基础层图片可以被存储在DPB中。增强层图片可以同样地被重构/被解码,以被用作同一层内的按照编码/解码次序的随后的图片的运动补偿参考图片,或者被用作对于更高的增强层(如果有的话)的层间(或者视图间或者分量间)预测的参考。除了经重构/经解码的采样值之外,基础/参考层的语法元素值或者从基础/参考层的语法元素值导出的变量可以在层间/分量间/视图间预测中被使用。
在某些情况下,增强层中的数据可以在特定位置之后或者甚至在任意位置处被截断,其中,每个截断位置可以包括表示逐渐被增强的视觉质量的额外的数据。这样的可伸缩性被称为细颗粒(粒度)可伸缩性(FGS)。 FGS被包括在SVC标准的某些草案版本中,但它最后被从最终的SVC标准中排除。随后在SVC标准的某些草案版本的上下文中讨论FGS。由那些不能被截断的增强层提供的可伸缩性被称为粗颗粒(粒度)可伸缩性 (CGS)。其总体上包括传统的质量(SNR)可伸缩性和空间可伸缩性。 SVC标准支持所谓的中颗粒可伸缩性(MGS),其中,质量增强图片与 SNR可伸缩层图片类似地被进行编码,但与FGS层图片类似地经由具有大于0的quality_id语法元素被高层语法元素所指示。
SVC使用层间预测机制,其中,可以从除当前被重构的层或者紧挨的较低层之外的层预测特定的信息。可以被进行层间预测的信息包括内部纹理、运动和残差数据。层间运动预测包括对块编码模式、头部信息等的预测,其中,来自较低层的运动可以用于对较高层的预测。假设是内部编码,则从周围的宏块或者从较低层的协同定位的宏块进行的预测是可能的。这些预测技术不使用来自较早被编码的访问单元的信息,并且因此被称为内部预测技术。此外,来自较低层的残差数据也可以用于对当前的层的预测,这可以被称为层间残差预测。
可以利用被称为单环路解码的概念来实现可伸缩视频(解)编码,其中,仅对于被解码的最高层重构经解码的参考图片,而较低层处的图片可以不被完全地解码,或者可以在将它们用于层间预测之后被丢弃。在单环路解码中,解码器仅对于期望进行回放的可伸缩层(被称为“期望层”或者“目标层”)执行运动补偿和完全的图片重构,因此当与多环路解码相比时降低解码复杂度。除期望层之外的层中的全部层不需要被完全地解码,因为经解码图片数据中的全部数据或者部分数据对于重构期望层不是所需要的。然而,较低层(比目标层低)可以用于诸如层间运动预测之类的层间语法或者参数预测。额外地或者替换地,较低层可以用于层间内部预测,并且因此较低层的经内部编码的块可能必须被解码。额外地或者替换地,可以应用层间残差预测,其中,较低层的残差信息可以用于对目标层的解码,并且该残差信息可能需要被解码或者重构。在某些编码安排中,单解码环路对于对多数图片的解码是所需要的,而第二解码环路可以被有选择地应用,以重构所谓的基础表示(即,经解码的基础层图片),所述基础表示可以是作为预测参考而不是用于输出或者显示而被需要。
SVC允许使用单环路解码。其经由使用受限的内部纹理预测模式来被启用,由此可以将层间内部纹理预测应用于对于其来说基础层的对应块位于内部MB内的宏块(MB)。同时,基础层中的那些内部MB使用受限的内部预测(例如,具有等于1的语法元素“constrained_intra_pred_flag”)。在单环路解码中,解码器仅对于期望进行回放的可伸缩层(被称为“期望层”或者“目标层”)执行运动补偿和完全的图片重构,因此大大地降低解码复杂度。除期望层之外的层中的全部层不需要被完全地解码,因为不被用于层间预测(不管是层间内部纹理预测、层间运动预测还是层间残差预测)的MB的数据中全部数据或全部数据对于期望层的重构不是所需要的。单解码环路对于解码多数图片是所需要的,而第二解码环路被有选择地应用,以重构基础表示,所述基础表示是作为预测参考而不是针对输出或显示而被需要,并且仅对于所谓的关键图片(对于其来说,“store_ref_base_pic_flag”等于1)被重构。
经由三个语法元素来描绘所述SVC草案中的可伸缩性结构的特性:“temporal_id”、“dependency_id”和“quality_id”。语法元素“temporal_id”用于指示时间可伸缩性分层,或者间接地指示帧率。包括具有较小的最大“temporal_id”值的图片的可伸缩层表示的帧率小于包括具有较大的最大“temporal_id”的图片的可伸缩层表示。给定的时间层通常取决于较低的时间层(即,具有较小的“temporal_id”的时间层),但不取决于任何较高的时间层。语法元素“dependency_id”用于指示CGS层间编码依赖分层(其如早先提到的包括SNR和空间可伸缩性两者)。在任何时间级别位置处,具有较小的“dependency_id”值的图片可以用于对具有较大的“dependency_id”值的图片的编码的层间预测。语法元素“quality_id”用于指示FGS或者MGS层的质量级别分层。在任何时间位置处,并且在具有相同的“dependency_id”值的情况下,具有等于QL的“quality_id”的图片将具有等于QL-1的“quality_id”的图片用于层间预测。具有大于0 的“quality_id”的经编码切片可以被编码为可截断的FGS切片或者非可截断的MGS切片。
为简单起见,一个访问单元中的具有相同“dependency_id”值的全部数据单元(例如,SVC上下文中的网络抽象层单元或者NAL单元)被称为依赖单元或者依赖表示。在一个依赖单元内,全部具有相同“quality_id”值的数据单元被称为质量单元或者层表示。
也被称为经解码基础图片的基础表示是由对依赖单元的具有等于0的“quality_id”并且对于其来说“store_ref_base_pic_flag”被设置为等于1 的视频编码层(VCL)NAL单元进行解码而产生的经解码的图片。也被称为经解码图片的增强表示由规则的解码过程产生,在所述规则的解码过程中,针对最高依赖表示来说出现的全部层表示被解码。
如早先提到的,CGS包括空间可伸缩性和SNR可伸缩性两者。空间可伸缩性初始被设计为用于支持具有不同分辨率的视频的表示。对于每个时刻,VCL NAL单元被编码在相同的访问单元中,并且这些VCL NAL 单元可以与不同的分辨率相对应。在解码期间,较低分辨率VCL NAL单元提供运动字段和残差,所述运动字段和残差可以被对高分辨率图片的最终解码和重构可选地继承。当与较旧的视频压缩标准相比时,SVC的空间可伸缩性已被一般化为使基础层能够是增强层的经裁剪和缩放的版本。
与FGS质量层类似地利用“quality_id”来指示MGS质量层。对于每个依赖单元(具有相同的“dependency_id”),存在具有等于0的“quality_id”的层,并且可以存在其它的具有大于0的“quality_id”的层。取决于是否切片被编码为可截断的切片,这些具有大于0的“quality_id”的层是MGS层或者FGS层。
在FGS增强层的基本形式中,使用仅层间预测。因此,FGS增强层可以被自由地截断,而不导致经解码的序列中的任何误差传播。然而,FGS 的基本形式遭受低压缩效率的困扰。这个问题因为仅低质量图片被用于之间预测参考而出现。因此已提出,经FGS增强的图片被用作之间预测参考。然而,当某些FGS数据被丢弃时,这可以导致也被称为漂移的编码-解码失配。
一个草案SVC标准的一个特征在于FGS NAL单元可以被自由地放弃或者截断,并且该SVCV标准的一个特征在于MGS NAL单元可以被自由地放弃(但不能被截断)而不影响位流的相符性。如上面讨论的,当那些 FGS或者MGS数据已在编码期间被用于之间预测参考时,放弃或者截断所述数据将导致解码器侧与编码器侧的经解码图片之间的失配。该失配也被称为漂移。
为控制由于放弃或者截断FGS或者MGS数据而产生的漂移,SVC应用以下解决方案:在特定的依赖单元中,基础表示(经由对仅具有等于0 的“quality_id”的CGS图片和全部有依赖的较低层数据进行解码)被存储在经解码图片缓冲器中。当对具有相同“dependency_id”值的随后的依赖单元进行编码时,包括FGS或者MGS NAL单元的NAL单元中的全部 NAL单元将基础表示用于之间预测参考。因此,由于放弃或者截断较早访问单元中的FGS或者MGSNAL单元而产生的全部漂移在该访问单元处被停止。对于其它的具有相同“dependency_id”值的依赖单元,NAL单元中的全部NAL单元将经解码的图片用于之间预测参考,以便获得高编码效率。
每个NAL单元在NAL单元头部中包括语法元素“use_ref_base_pic_flag”。当这个元素的值等于1时,对该NAL单元的解码在之间预测过程期间使用参考图片的基础表示。语法元素“store_ref_base_pic_flag”指定是(当等于1时)否(当等于0时)为未来的图片存储当前的图片的基础表示以用于之间预测。
具有大于0的“quality_id”的NAL单元不包含与参考图片列表构造和加权预测相关的语法元素,即,语法元素“num_ref_active_1x_minus1” (x=0或者1)、参考图片列表重新排序语法表和加权预测语法表不出现。因此,MGS或者FGS层当需要时不得不从同一依赖单元的具有等于0的“quality_id”的NAL单元继承这些语法元素。
在SVC中,参考图片列表由仅基础表示(当“use_ref_base_pic_flag”等于1时)或者仅未被标记为“基本表示”的经解码图片(当“use_ref_base_pic_flag”等于0时)组成,但从不同时由这两者组成。
已在AVC和HEVC标准中指定或者提出了几个嵌套的SEI消息。嵌套的SEI消息的想法在于,在一个嵌套的SEI消息内包含一个或多个SEI 消息,并且提供用于将被包含的SEI消息与位流的子集和/或经解码数据的子集相关联的机制。可能需要嵌套的SEI消息包含一个或多个自身不是嵌套的SEI消息的SEI消息。被包含在嵌套的SEI消息中的SEI消息可以被称为被嵌套的SEI消息。未被包含在嵌套的SEI消息中的SEI消息可以被称为非被嵌套的SEI消息。HEVC的可伸缩的嵌套的SEI消息使能识别被嵌套的SEI消息所应用于的位流子集(由子位流提取过程产生)或者层的集合。位流子集也可以被称为子位流。
已在SVC中指定可伸缩的嵌套的SEI消息。可伸缩的嵌套的SEI消息提供用于将SEI消息与诸如所指示的依赖表示或者其它可伸缩层之类的位流的子集相关联的机制。可伸缩的嵌套的SEI消息包含一个或多个自身不是可伸缩的嵌套的SEI消息的SEI消息。被包含在可伸缩的嵌套的SEI 消息中的SEI消息被称为被嵌套的SEI消息。未被包含在可伸缩的嵌套的 SEI消息中的SEI消息被称为非被嵌套的SEI消息。
用于指定HEVC标准的可伸缩和多视图扩展的工作正在进行中。被称为MV-HEVC的HEVC的多视图扩展与H.264/AVC的MVC扩展相似。与MVC相似地,在MV-HEVC中,视图间参考图片可以被包括在当前的被编码或者解码的图片的参考图片列表中。被称为SHVC的HEVC的可伸缩扩展被规划为,将被指定为使得它使用多环路解码操作(与 H.264/AVC的SVC扩展不同)。SHVC是基于参考索引的,即,层间参考图片可以被包括在当前的被编码或者解码的图片的一个或多个参考图片列表中(如上面描述的)。
有可能对于MV-HEVC和SHVC使用相同语法结构、语义和解码过程中的许多项。还可以利用与MV-HEVC和SHVC中的语法结构、语义和解码过程相同或者相似的语法结构、语义和解码过程来实现诸如经深度增强的视频之类的其它类型的可伸缩性。
对于增强层编码,HEVC的相同的概念和编码工具可以在SHVC、MV-HEVC等中被使用。然而,使用参考层中的已被编码的数据(包括经重构的图片采样和又称运动信息的运动参数)以用于高效地编码增强层的额外的层间预测工具可以被集成到SHVC、MV-HEVC等编解码器中。
在MV-HEVC、SHVC等中,VPS可以例如包括从NAL单元头部导出的LayerId值向一个或多个可伸缩性维度值的映射,例如与和SVC和 MVC相似地被定义的层的dependency_id、quality_id、view_id和 depth_flag相对应。
在MV-HEVC/SHVC中,可以在VPS中指示具有大于0的层标识符值的层不具有任何直接的参考层,即,不从任何其它层来层间预测所述层。换句话说,MV-HEVC/SHVC位流可以包含可被称为同播层的不依赖于彼此的层。
VPS的指定可以出现在位流中的可伸缩性维度、nuh_layer_id值向可伸缩性维度值的映射和层之间的依赖性的部分可以利用以下语法来指定:
可以如在以下段落中描述的那样地指定VPS的以上所示部分的语义。
等于1的splitting_flag指示,dimension_id[i][j]语法元素未出现并且NAL单元头部中的nuh_layer_id值的二进制表示被拆分成具有根据 dimension_id_len_minus[j]的值的按位计的长度的NumScalabilityTypes 段,并且从NumScalabilityTypes段推断dimension_id[LayerIdxInVps[nuh_layer_id]][j]的值。等于0的 splitting_flag指示语法元素dimension_id[i][j]出现。在下面的示例语义中,在不失一般性的情况下,假设splitting_flag等于0。
等于1的scalability_mask_flag[i]指示与下表中的第i个可伸缩性维度相对应的dimension_id语法元素出现。等于0的scalability_mask_flag[i] 指示与第i个可伸缩性维度相对应的dimension_id语法元素未出现。
在HEVC的未来的3D扩展中,可伸缩性掩码索引0可以用于指示深度地图。
dimension_id_len_minus[j]加1指定dimension_id[i][j]语法元素的按位计的长度。
等于1的vps_nuh_layer_id_present_flag指定,对于从0到 MaxLayersMinus1(其等于位流中的层的最大数量减1)(含)的i, layer_id_in_nuh[i]出现。等于0的vps_nuh_layer_id_present_flag指定,对于从0到MaxLayersMinus1(含)的i,layer_id_in_nuh[i]未出现。
layer_id_in_nuh[i]指定第i层的VCL NAL单元中的nuh_layer_id语法元素的值。对于0到MaxLayersMinus1(含)的范围中的i,当 layer_id_in_nuh[i]未出现时,该值可以被推断为等于i。当i大于0时, layer_id_in_nuh[i]大于layer_id_in_nuh[i-1]。对于从0到 MaxLayersMinus1(含)的i,变量LayerIdxInVps[layer_id_in_nuh[i]] 被设置为等于i。
dimension_id[i][j]指定第i层的第j个出现的可伸缩性维度类型的标识符。被用于dimension_id[i][j]的表示的位数是 dimension_id_len_minus1[j]+1位。当splitting_flag等于0时,对于从0 到NumScalabilityTypes-1(含)的j,dimension_id[0][j]被推断为等于 0。
如下地导出指定第i层的第smIdx个可伸缩性维度类型的标识符的变量ScalabilityId[i][smIdx]、指定第i层的视图次序索引的变量 ViewOrderIdx[layer_id_in_nuh[i]]、指定第i层的空间/质量可伸缩性标识符的DependencyId[layer_id_in_nuh[i]]和指定是否第i层是视图可伸缩性扩展层的变量ViewScalExtLayerFlag[layer_id_in_nuh[i]]:
增强层或者具有大于0的层标识符值的层可以被指示为包含对基础层或者其它层进行补充的附属视频。例如,在MV-HEVC的当前的草案中,可以使用附属图片层将附属图片编码在位流中。附属图片层与它自身的可伸缩性维度值AuxId(与例如视图次序索引类似地)相关联。具有大于0 的AuxId的层包含附属图片。一个层携带仅一种类型的附属图片,并且被包括在一个层中的附属图片的类型可以由它的AuxId值指示。换句话说, AuxId值可以被映射到附属图片的类型。例如,等于1的AuxId可以指示阿尔法平面,并且等于2的AuxId可以指示深度图片。附属图片可以被定义为对主要图片的解码过程不具有任何规范的效果的图片。换句话说,主要图片(具有等于0的AuxId)可以被约束为不从附属图片进行预测。附属图片可以从主要图片进行预测,尽管可能存在例如是基于AuxId值的不允许这样的预测的约束。SEI消息可以用于传达诸如由深度附属层表示的深度范围之类的附属图片层的更详细的特性。MV-HEVC的当前的草案包括对深度附属层的支持。
可以使用包括但不限于以下各项的不同类型的附属图片:深度图片;阿尔法图片;覆盖图片;以及标签图片。在深度图片中,采样值表示深度图片的视点(或者照相机位置)或者深度或者距离之间的差距。在阿尔法图片(又称阿尔法平面和阿尔法磨砂图片)中,采样值表示透明度或者不透明度。阿尔法图片可以针对每个像素指示一定程度的透明度或者等价地指示一定程度的不透明度。阿尔法图片可以是单色的图片,或者阿尔法图片的色度分量可以被设置为不指示任何色度(例如,当色度采样值被看作有符号的时是0,或者当色度采样值是8位的并且被看作无符号的时是 128)。覆盖图片可以在显示时被覆盖在主要图片之上。覆盖图片可以包含几个区域和背景,其中,所述区域中全部区域或者子集可以在显示时被覆盖,并且所述背景不被覆盖。标签图片包含可以用于标识单一覆盖区域的针对不同覆盖区域的不同标签。
继续可以如何指定所呈现的VPS摘录的语义:view_id_len指定 view_id_val[i]语法元素的按位计的长度。view_id_val[i]指定由VPS指定的第i个视图的视图标识符。view_id_val[i]语法元素的长度是view_id_len 位。当不出现时,推断view_id_val[i]的值等于0。对于每个具有等于 nuhLayerId的nuh_layer_id的层,设置值ViewId[nuhLayerId]等于 view_id_val[ViewOrderIdx[nuhLayerId]]。等于0的 direct_dependency_flag[i][j]指定具有索引j的层不是具有索引i的层的直接参考层。等于1的direct_dependency_flag[i][j]指定具有索引j的层可以是具有索引i的层的直接参考层。当direct_dependency_flag[i][j]对于0到MaxLayersMinus1范围中的i和j不出现时,可以推断它等于0。
增强层或者具有大于0的层标识符值的层可以被指示为包含对基础层或者其它层进行补充的附属视频。例如,在MV-HEVC的当前的草案中,可以使用附属图片层将附属图片编码在位流中。附属图片层与它自身的可伸缩性维度值AuxId(与例如视图次序索引类似地)相关联。具有大于0 的AuxId的层包含附属图片。一个层携带仅一种类型的附属图片,并且被包括在一个层中的附属图片的类型可以由它的AuxId值指示。换句话说, AuxId值可以被映射到附属图片的类型。例如,等于1的AuxId可以指示阿尔法平面,并且等于2的AuxId可以指示深度图片。附属图片可以被定义为对主要图片的解码过程不具有任何规范的效果的图片。换句话说,主要图片(具有等于0的AuxId)可以被约束为不从附属图片进行预测。附属图片可以从主要图片进行预测,尽管可能存在例如基于AuxId值的不允许这样的预测的约束。SEI消息可以用于传达诸如由深度附属层表示的深度范围之类的附属图片层的更详细的特性。MV-HEVC的当前的草案包括对深度附属层的支持。
可以使用包括但不限于以下各项的不同类型的附属图片:深度图片;阿尔法图片;覆盖图片;以及标签图片。在深度图片中,采样值表示深度图片的视点(或者照相机位置)或者深度或者距离之间的差距。在阿尔法图片(又称阿尔法平面和阿尔法磨砂图片)中,采样值表示透明度或者不透明度。阿尔法图片可以针对每个像素指示一定程度的透明度或者等价地指示一定程度的不透明度。阿尔法图片可以是单色的图片,或者阿尔法图片的色度分量可以被设置为不指示任何色度(例如,当色度采样值被看作有符号的时是0,或者当色度采样值是8位的并且被看作无符号的时是 128)。覆盖图片可以在显示时被覆盖在主要图片之上。覆盖图片可以包含几个区域和背景,其中,所述区域中全部区域或者子集可以在显示时被覆盖,并且所述背景不被覆盖。标签图片包含可以用于标识单一覆盖区域的针对不同覆盖区域的不同标签。
在SHVC、MV-HEVC等中,未变更块级语法和解码过程以支持层间纹理预测。仅已修改(与HEVC的相比)包括切片头部、PPS、SPS和 VPS的概括地说被称为语法结构的高级语法,以使得从相同访问单元的参考层被重构的图片(如果必要,被进行了上采样的)可以被用作用于对当前的增强层图片进行解码的参考图片。层间参考图片以及时间参考图片被包括在参考图片列表中。所信号通知的参考图片索引用于指示当前的预测单元(PU)是从时间参考图片还是层间参考图片被预测。对该特征的使用可以由编码器控制,并且在位流中例如在视频参数集、序列参数集、图片参数和/或切片头部中被指示。所述指示可以是专用于例如增强层、参考层、增强层与参考层的对、具体的TemporalId值、具体的图片类型(例如, RAP图片)、具体的切片类型(例如,P和B切片,但不是I切片)、具有具体的POC值的图片和/或具体的访问单元。所述指示的范围和/或持久性可以与指示自身一起被指示,和/或可以被推断。
可以使用在其中层间参考图片(如果有)可以被包括在初始的参考图片列表中的具体的过程来初始化SHVC、MV-HEVC等中的参考列表。例如,可以以与HEVC中的参考列表构造相同的方式首先将时间参考添加到参考列表(L0、L1)中。此后,可以在时间参考之后添加层间参考。可以例如从VPS扩展中所提供的层依赖性信息来推断层间参考图片。层间参考图片在当前的增强层切片是P切片的情况下可以被添加到初始的参考图片列表L0,并且在当前的增强层切片是B切片的情况下可以被添加到初始的参考图片列表L0和L1两者。层间参考图片可以按照具体的次序被添加到参考图片列表,所述具体的次序可以但不需要对于全部两个参考图片列表是相同的。例如,可以使用与初始的参考图片列表0的添加次序相反的将层间参考图片添加到初始的参考图片列表1的次序。例如,层间参考图片可以按照nuh_layer_id的升序被插入初始的参考图片0,而相反的次序可以用于对初始的参考图片列表1进行初始化。
在编码和/或解码过程中,层间参考图片可以被看作长期参考图片。
可以如下地实现可以被称为层间运动预测的一种类型的层间预测。诸如H.265/HEVC的TMVP之类的时间运动向量预测过程可以被用于利用不同层之间的运动数据的冗余性。这可以如下地完成:当经解码的基础层图片被进行上采样时,基础层图片的运动数据也被映射到对增强层的解析。如果增强层图片使用例如利用诸如H.265/HEVC的TMVP之类的时间运动向量预测机制的从基础层图片进行的运动向量预测,则对应的运动向量预测器来源于被映射的基础层运动字段。这样,可以利用不同层的运动数据之间的相关性来改进可伸缩视频编码器的编码效率。
在SHVC等中,可以经由将层间参考图片设置为用于TMVP导出的协同定位的参考图片来执行层间运动预测。可以执行两个层之间的运动字段映射过程,例如用以避免TMVP导出时的块级解码过程修改。对运动字段映射特征的使用可以由编码器控制器,并且在位流中例如在视频参数集、序列参数集、图片参数和/或切片头部中被指示。所述指示可以专用于例如增强层、参考层、增强层与参考层的对、具体的TemporalId值、具体的图片类型(例如,RAP图片)、具体的切片类型(例如,P和B切片,但不是I切片)、具有具体的POC值的图片和/或具体的访问单元。所述指示的范围和/或持久性可以与指示自身一起被指示,和/或可以被推断。
在针对空间可伸缩性的运动字段映射过程中,经上采样的层间参考图片的运动字段可以基于各自的参考层图片的运动字段被获得。针对经上采样的层间参考图片的每个块的运动参数(其可以例如包括水平和/或垂直运动向量值和参考索引)和/或预测模式可以从参考层图片中的协同定位的块的对应的运动参数和/或预测模式来导出。用于导出经上采样的层间参考图片中的运动参数和/或预测模式的块大小可以是例如16×16。16×16块大小与在其中使用了参考图片的经压缩的运动字段的HEVC TMVP导出过程中相同。
层间重新采样
编码器和/或解码器可以针对增强层与其参考层的对导出水平缩放因子(例如,被存储在变量ScaleFactorX中)和垂直缩放因子(例如,被存储在变量ScaleFactorY中),所述导出例如基于所述对的经缩放参考层偏移量。如果任一个或者全部两个缩放因子不等于1,则参考层图片可以被重新采样,以生成用于预测增强层图片的参考图片。用于进行重新采样的过程和/或滤波器可以例如在编码标准中被预定义,和/或由编码器在位流中指示(例如,被指示为被预定义的重新采样过程或者滤波器之间的索引),和/或由解码器从位流中解码。不同的重新采样过程可以取决于缩放因子的值而被编码器指示和/或被解码器解码和/或被编码器和/或解码器推断。例如,当全部两个缩放因子小于1时,可以推断预定义的下采样过程;并且当全部两个缩放因子大于1时,可以推断预定义的上采样过程。额外地或者替换地,不同的重新采样过程可以取决于哪个采样数组被处理而被编码器指示和/或被解码器解码和/或被编码器和/或解码器推断。例如,第一重新采样过程可以被推断为用于亮度采样数组,并且第二重新采样过程可以被推断为用于色度采样数组。
下面提供了用于获得经重新采样的亮度采样值的层间重新采样过程的一个示例。通过变量rlPicSampleL推断也可以被称为亮度参考采样数组的输入亮度采样数组。针对亮度采样位置(xP,yP)相对于增强层图片的左上亮度采样导出经重新采样的亮度采样值。因此,该过程生成通过变量 intLumaSample来访问的经重新采样的亮度采样。在这个示例中,以下的具有其中p=0...15和x=0...7的系数fL[p,x]的8抽头滤波器被用于亮度重新采样过程。(在下面,可以可互换地解释具有和不具有下标的记号。例如,fL可以被解释为是与fL相同的)。
可以经由应用以下的有序的步骤来导出经插值的亮度采样 IntLumaSample的值:
1.可以例如基于经缩放参考层偏移量导出与(xP,yP)相对应或者协同定位的参考层采样位置。该参考层采样位置被称为以1/16采样的单元计的(xRef16,yRef16)。
2.如下地导出变量xRef和xPhase:
xRef=(xRef16>>4)
xPhase=(xRef16)%16
其中,“>>”是向右的移位运算,即,将x的二的补码整数表示算术向右移位y个二进制数字。可以仅对于非负整数值的y定义该函数。由于向右移位而被移位到MSB(最高有效位)中的位具有等于移位运算前的x的MSB 的值。“%”是模运算,即,仅对于其中x>=0且y>0的整数x和y定义的x除以y的余数。
3.如下地导出变量yRef和yPhase:
yRef=(yRef16>>4)
yPhase=(yRef16)%16
4.如下地导出变量shift1、shift2和偏移量:
shift1=RefLayerBitDepthY-8
shift2=20-BitDepthY
offset=1<<(shift2-1)
其中,RefLayerBitDepthY是参考层中每亮度采样的位数。BitDepthY是增强层中每亮度采样的位数。“<<”是向左移位运算,即,将x的二的补码整数表示算术向左移位y个二进制数字。可以仅对于非负整数值的y定义该函数。由于向左移位而被移位到SLB(最低有效位)中的位具有等于0 的值。
5.如下地导出其中n=0…7的采样值tempArray[n]:
yPosRL=Clip3(0,RefLayerPicHeightInSamplesY-1,yRef+n-1)
refW=RefLayerPicWidthInSamplesY
tempArray[n]=(fL[xPhase,0]*rlPicSampleL[Clip3(0,refW-1,xRef-3),yPosRL]+
fL[xPhase,1]*rlPicSampleL[Clip3(0,refW-1,xRef-2),yPosRL]+
fL[xPhase,2]*rlPicSampleL[Clip3(0,refW-1,xRef-1),yPosRL]+
fL[xPhase,3]*rlPicSampleL[Clip3(0,refW-1,xRef),yPosRL]+
fL[xPhase,4]*rlPicSampleL[Clip3(0,refW-1,xRef+1),yPosRL]+
fL[xPhase,5]*rlPicSampleL[Clip3(0,refW-1,xRef+2),yPosRL]+
fL[xPhase,6]*rlPicSampleL[Clip3(0,refW-1,xRef+3),yPosRL]+
fL[xPhase,7]*rlPicSampleL[Clip3(0,refW-1,xRef+4),yPosRL])>>shift1
其中,RefLayerPicHeightInSamplesY是以亮度采样计的参考层图片的高度。RefLayerPicWidthInSamplesY是以亮度采样计的参考层图片的宽度。
6.如下地导出经插值的亮度采样值intLumaSample:
intLumaSample=(fL[yPhase,0]*tempArray[0]+
fL[yPhase,1]*tempArray[1]+
fL[yPhase,2]*tempArray[2]+
fL[yPhase,3]*tempArray[3]+
fL[yPhase,4]*tempArray[4]+
fL[yPhase,5]*tempArray[5]+
fL[yPhase,6]*tempArray[6]+
fL[yPhase,7]*tempArray[7]+offset)>>shift2
intLumaSample=Clip3(0,(1<<BitDepthY)-1,intLumaSample)
可以与上面描述的针对亮度采样值的过程相同地或者相似地指定用于获得经重新采样的色度采样值的层间重新采样过程。例如,具有与亮度采样不同的数量的抽头的滤波器可以被用于色度采样。
可以例如按图片(对于将被重新采样的整个参考层图片或者区域)、按切片(例如,对于与增强层切片相对应的参考层区域)或者按块(例如,对于与增强层编码树单元相对应的参考层区域)执行重新采样。针对所确定的区域(例如,增强层图片中的图片、切片或者编码树单元)对参考层图片进行重新采样可以例如经由在所确定的区域的全部采样位置上循环和对每个采样位置执行按采样的重新采样过程而被执行。然而,应当理解,存在用于对所确定的区域进行重新采样的其它的可能性——例如,对特定采样位置进行的滤波可以使用前一个采样位置的变量值。
在可以被称为交错对渐进可伸缩性或者字段对帧可伸缩性的可伸缩性类型中,利用用于表示渐进式源内容的增强层对基础层的经编码的经交错源内容材料进行增强。基础层中的经编码的经交错源内容可以包括经编码的字段、表示字段对的经编码的帧或者它们的混合体。在交错对渐进可伸缩性中,基础层图片可以被重新采样,以使得它变成一个或多个增强层图片的合适的参考图片。
交错对渐进可伸缩性可以还使用对表示经交错源内容的参考层经解码图片的重新采样。编码器可以指示如经由重新采样是针对顶部字段还是底部字段而被确定的额外的相位偏移量。解码器可以接收并解码额外的相位偏移量。替换地,编码器和/或解码器可以例如基于对基础层和增强层图片表示哪些字段的指示而推断额外的相位偏移量。例如,phase_position_flag[RefPicLayerId[i]]可以被有条件地包括在EL切片的切片头部中。当phase_position_flag[RefPicLayerId[i]]不出现时,可以推断它等于0。phase_position_flag[RefPicLayerId[i]]可以指定当前的图片与参考层图片之间的垂直方向上的相位位置,其中,在对参考层采样位置的导出过程中使用等于RefPicLayerId[i]的nuh_layer_id。可以例如在较早呈现的层间重新采样过程中,具体地说在yPhase的导出中考虑额外的相位偏移量。yPhase可以被更新为等于yPhase+ (phase_position_flag[RefPicLayerId[i]]<<2)。
可以被应用于经重构或者经解码的基础层图片以获得用于层间预测的参考图片的重新采样可以从重新采样滤波中排除每隔一个的采样行。类似地,重新采样可以包括抽取步骤,在所述抽取步骤中,每隔一个的采样行在可以针对重新采样而被实施的滤波步骤之前被排除。概括地说,垂直抽取因子可以通过一个或多个指示而被指示,或者被编码器或者诸如是位流复用器的另一个实体推断。所述一个或多个指示可以例如位于增强层切片的切片头部中、基础层的前缀NAL单元中、BL位流内的增强层封装NAL 单元(等)内、EL位流内的基础层封装NAL单元(等)内、属于或者用于包含或者提到基础层和/或增强层的文件的元数据内和/或诸如MPEG-2 传输流的描述符之类的通信协议中的元数据内。如果基础层可以包含经编码的字段和表示经交错的源内容的经帧编码的字段对的混合体,则所述一个或多个指示可以是按图片的。替换地或者额外地,所述一个或多个指示可以专用于时刻和/或增强层与它的参考层的对。替换地或者额外地,所述一个或多个指示可以专用于增强层与它的参考层的对(并且可以针对图片的序列(诸如针对经编码的视频序列)被指示)。所述一个或多个指示可以是例如切片头部中的flag vert_decimation_flag,flag vert_decimation_flag可以是专用于参考层的。例如被称为 VertDecimationFactor的变量可以从所述标志被导出,例如, VertDecimationFactor可以被设置为等于vert_decimation_flag+1。解码器或者诸如位流解复用器之类的另一个实体可以接收并解码所述一个或多个指示以获得垂直抽取因子,和/或它可以推断垂直抽取因子。可以例如基于关于基础层图片是字段还是帧和增强层图片是字段还是帧的信息来推断垂直抽取因子。当基础层图片被推断为是包含表示经交错源内容的字段对的帧,并且各自的增强层图片被推断为是表示渐进式源内容的帧时,可以推断垂直抽取因子等于2,即,指示在重新抽样时对经解码基础层图片的 (例如,它的亮度采样数组的)每隔一个的采样行进行处理。当基础层图片被推断为是字段,并且各自的增强层图片被推断为是表示渐进式源内容的帧时,可以推断垂直抽取因子等于1,即,指示在重新采样时对经解码基础层图片的(例如,它的亮度采样数组的)每个采样行进行处理。
可以如下面那样参考较早呈现的层间重新采样过程将对在下面由变量VertDecimationFactor表示的垂直抽取因子的使用包括在重新采样中。仅与彼此相距VertDecimationFactor的参考层图片的采样行可以参与滤波。重新采样过程的步骤5可以如下地或者以相似的方式使用 VertDecimationFactor。
5.如下地导出其中n=0…7的采样值tempArray[n]:
yPosRL=Clip3(0,RefLayerPicHeightInSamplesY-1,yRef+VertDecimationFactor*(n-4))
refW=RefLayerPicWidthInSamplesY
tempArray[n]=(fL[xPhase,0]*rlPicSampleL[Clip3(0,refW-1,xRef-3),yPosRL]+
fL[xPhase,1]*rlPicSampleL[Clip3(0,refW-1,xRef-2),yPosRL]+
fL[xPhase,2]*rlPicSampleL[Clip3(0,refW-1,xRef-1),yPosRL]+
fL[xPhase,3]*rlPicSampleL[Clip3(0,refW-1,xRef),yPosRL]+
fL[xPhase,4]*rlPicSampleL[Clip3(0,refW-1,xRef+1),yPosRL]+
fL[xPhase,5]*rlPicSampleL[Clip3(0,refW-1,xRef+2),yPosRL]+
fL[xPhase,6]*rlPicSampleL[Clip3(0,refW-1,xRef+3),yPosRL]+
fL[xPhase,7]*rlPicSampleL[Clip3(0,refW-1,xRef+4),yPosRL])>>shift1
其中,RefLayerPicHeightInSamplesY是以亮度采样计的参考层图片的高度,RefLayerPicWidthInSamplesY是以亮度采样计的参考层图片的宽度。
跳过图片可以被定义为对于其来说应用仅层间预测而不对任何预测误差进行编码的增强层图片。话句话说,对于跳过图片不应用任何内部预测或者之间预测(来自相同的层的)。在MV-HEVC/SHVC中,可以利用可以被如下地指定的VPS VUI标志higher_layer_irap_skip_flag来指示对跳过图片的使用。等于1的higher_layer_irap_skip_flag指示,对于每个对于其来说在同一访问单元中存在另一个具有较低值的nuh_layer_id的图片的参考VPS的IRAP图片,以下约束适用:
-对于该IRAP图片的全部切片:
o slice_type应当等于P。
o slice_sao_luma_flag和slice_sao_chroma_flag应两者都等于0。
o five_minus_max_num_merge_cand应当等于4。
o weighted_pred_flag在被所述切片参考的PPS中应当等于0。
-对于该IRAP图片的全部编码单元:
o cu_skip_flag[i][j]应当等于1。
o 等于0的higher_layer_irap_skip_flag指示以上的约束可以或者可以不适用。
混合编解码器可伸缩性
可伸缩视频编码中的一种类型的可伸缩性是也可以被称为混合编解码器可伸缩性的编码标准可伸缩性。在混合编解码器可伸缩性中,在不同的视频编码标准中指定基础层和增强层的位流语法、语义和解码过程。例如,可以根据诸如H.264/AVC的一个编码标准对基础层进行编码,并且可以根据诸如MV-HEVC/SHVC的另一个编码标准对增强层进行编码。这样,可以由遗留的基于H.264/AVC的系统以及基于HEVC的系统两者对相同的位流进行解码。
概括地说,在混合编解码器可伸缩性中,可以根据一个编码标准或者规范对一个或多个层进行编码,并且可以根据另一个编码标准或者规范对其它的一个或多个层进行编码。例如,可能存在被根据H.264/AVC的MVC 扩展进行编码的两个层(其中,一个是被根据H.264/AVC进行编码的基础层)以及被根据MV-HEVC进行编码的一个或多个额外的层。此外,同一位流的不同层被根据其进行编码的编码标准或者规范的数量在混合编解码器可伸缩性中可以不限于两个。
混合编解码器可伸缩性可以与诸如时间、质量、空间、多视图、深度增强、附属图片、位深、色域、色度格式和/或ROI可伸缩性之类的任何类型的可伸缩性一起被使用。由于混合编解码器可伸缩性可以与其它类型的可伸缩性一起被使用,所以可以认为它形成不同类别的可伸缩性类型。
可以例如在增强层位流中指示对混合编解码器可伸缩性的使用。例如,在MV-HEVC、SHVC等中,可以在VPS中指示对混合编解码器可伸缩性的使用。例如,可以使用以下的VPS语法:
可以如下地指定vps_base_layer_internal_flag的语义:等于0的 vps_base_layer_internal_flag指定由未在MV-HEVC、SHVC等中被指定的外部单元提供基础层。等于1的vps_base_layer_internal_flag指定在位流中提供基础层。
在许多视频通信或者传输系统、传输机制和多媒体容器文件格式中,存在用于与增强层隔开地发送或者存储基础层的机制。可以认为通过隔开的逻辑信道来存储或者发送层。下面提供了示例:
-ISO基础媒体文件格式(ISOBMFF,ISO/IEC国际标准14496-12):基础层可以被存储为一个轨道,并且每个增强层可以被存在另一个轨道中。相似地,在混合编解码器可伸缩性的情况下,非经HEVC编码的基础层可以被存储为一个轨道(例如,具有采样条目类型‘avc1’的),而增强层可以被存储为另一个轨道,其中,使用所谓的轨道参考将所述另一个轨道链接到基础层轨道。
-实时传输协议(RTP):RTP会话复用或者同步源(SSRC)复用可以用于将不同的层在逻辑上隔开。
-MPEG-2传输流(TS):每个层可以具有不同的分组标识符(PID) 值。
许多视频通信或者传输系统、传输机制和多媒体容器文件格式提供用于将诸如属于不同的轨道或者会话的隔开的逻辑信道的经编码数据与彼此相关联的手段。例如,存在用于将同一访问单元的经编码数据关联在一起的机制。例如,可以在容器文件格式或者传输机制中提供解码或者输出时间,并且可以认为具有相同的解码或者输出时间的经编码数据形成一个访问单元。
可用的媒体文件格式标准包括ISO基础媒体文件格式(ISO/IEC 14496-12,其可以被缩写为ISOBMFF)、MPEG-4文件格式(ISO/IEC 14496-14,也被称为MP4格式)、用于NAL单元结构化视频的文件格式 (ISO/IEC 14496-15)和3GPP文件格式(3GPP TS 26.244,也被称为3GP 格式)。ISO文件格式是导出全部上面提到的文件格式(排除ISO文件格式自身)的基础。这些文件格式(包括ISO文件格式自身)可以概括地被称为ISO族的文件格式。
下面作为实施例可以基于其被实现的容器文件格式的示例描述了 ISOBMFF的某些概念、结构和规范。本发明的方面不限于ISOBMFF,而相反,针对本发明可以在其之上被部分或者完全地实现的一种可能的基础给出了所述描述。
ISO基础媒体文件格式中的基础构建块被称为箱体(box)。每个箱体具有头部和净荷。箱体头部指示箱体的类型和以字节为单位的箱体的大小。一个箱体可以装入其它箱体,并且ISO文件格式指定在特定类型的箱体内允许哪些箱体类型。此外,某些箱体的出现可以是在每个文件中强制的,而其它箱体的出现可以是可选的。额外地,对于某些箱体类型,使多于一个箱体出现在文件中是可允许的。因此,可以认为ISO基础媒体文件格式指定箱体的分层结构。
根据ISO族的文件格式,文件包括被封装到箱体中的媒体数据和元数据。每个箱体由一个四字符代码(4CC)标识,并且以通知关于箱体的类型和大小的信息的头部开始。
在与ISO基础媒体文件格式相符的文件中,可以在媒体数据‘mdat’箱体中提供媒体数据,并且电影‘moov’箱体可以用于装入元数据。在某些情况下,对于将被操作的文件,‘mdat’和‘moov’箱体中的全部两个箱体可能是需要出现的。电影‘moov’箱体可以包括一个或多个轨道,并且每个轨道可以位于一个对应的轨道‘trak’箱体中。一个轨道可以是许多类型中的一种类型,所述许多类型包括指被根据媒体压缩格式进行格式化的采样的媒体轨道(以及它到ISO基础媒体文件格式的封装)。一个轨道可以被看作一个逻辑信道。
每个轨道与由四字符代码标识的指定轨道类型的句柄(handler)相关联。视频、音频和图像序列轨道可以被共同称为媒体轨道,并且它们包含基本媒体流。其它轨道类型包括提示(hint)轨道和同步的(timed)元数据轨道。轨道包括诸如音频或者视频帧的采样。媒体轨道指被根据媒体压缩格式进行格式化的采样(其也可以被称为媒体采样)(以及它到ISO基础媒体文件格式的封装)。提示轨道指提示采样,所述提示采样包含用于构造分组以用于通过所指示的通信协议传输的手册指令(cookbook instruction)。手册指令可以包括用于分组头部构造的指南,并且可以包括分组净荷构造。在分组净荷构造中,位于其它轨道或者项目中的数据可以被引用。因此,例如,位于其它轨道或者项目中的数据可以通过引用被指示为是关于特定轨道或者项目中的哪些数据被责令在分组构造过程期间被复制到分组中的。同步的元数据轨道可以指描述被引用的媒体和/或提示采样的采样。为呈现一种媒体类型,可以选择一个媒体轨道。
电影片段可以例如在向ISO文件记录内容时被使用,例如用以如果记录应用崩溃、耗尽存储器空间或者某个其它事件发生的话避免丢失数据。在没有电影片段的情况下,因为文件格式可能需要例如是电影箱体的全部元数据被写到文件的一个连续的区域中,所以数据丢失可能发生。此外,当记录文件时,对于可用的存储器的大小,可能不存在用于缓冲电影箱体的足够量的存储器空间(例如,随机访问存储器RAM),并且当电影被关闭时重新计算电影箱体的内容可能太慢。此外,电影片段可以使能使用常见的ISO文件解析器进行对文件的同时的记录和回放。此外,对于例如当电影片段被使用时对文件的同时接收和回放的渐进式下载可能需要较少持续时间的初始缓冲,并且初始的电影箱体比具有相同媒体内容但被结构化为不具有电影片段的文件更小。
电影片段特征可以使能将否则可能位于电影箱体中的元数据拆分成多个片。每个片可以与轨道的特定时段相对应。换句话说,电影片段特征可以使能对文件元数据和媒体数据进行交织。因此,电影箱体的大小可以是有限的,并且上面提到的用例被实现。
在某些示例中,电影片段的媒体采样在它们与moov箱体处于同一文件中的情况下可以位于mdat箱体中。然而对于电影片段的元数据,可以提供moof箱体。moof箱体可以包括之前本已在moov箱体中的针对特定持续时间的回放时间的信息。moov箱体可以仍然靠它自身来表示有效的电影,但另外,它可以包括指示电影片段将在同一文件中跟随在后面的mvex箱体。电影片段可以扩展在时间上关联于moov箱体的呈现。
在电影片段内,可以存在包括每轨道的几乎从零到多个的轨道片段的集合。轨道片段可以接着包括几乎从零到多个轨道运行,所述文档中的每个文档是该轨道的一个连续运行的采样。在这些结构内,许多字段是可选的,并且可以被取缺省值。可以被包括在moof箱体中的元数据可以限于可以被包括在moov箱体中的元数据的子集,并且可以在某些情况下被有差别地进行编码。可以从ISO基础媒体文件格式规范中找到关于可以被包括在moof箱体中的箱体的细节。自包含的电影片段可以被定义为由按照文件次序连续的moof箱体和mdat箱体组成,并且其中,mdat箱体包含电影片段(moof箱体为其提供元数据)的采样,并且不包含任何其它电影片段(即,任何其它moof箱体)的采样。
ISO基础媒体文件格式包含三种用于可以与特定采样相关联的同步的元数据的机制:采样组、同步的元数据轨道和采样附属信息。导出的规范可以提供与这三种机制中的一种或多种机制相似的功能。
ISO基础媒体文件格式以及诸如AVC文件格式和SVC文件格式的其导出物中的采样分组可以被定义为,基于分组准则将轨道中的每个采样指派为一个采样组的成员。采样分组中的采样组不限于是连续的采样,并且可以包含非相邻的采样。当可能存在针对一个轨道中的采样的多于一个采样分组时,每个采样分组可以具有用于指示分组的类型的类型字段。采样分组可以由两个被链接的数据结构表示:(1)SampleToGroup箱体(sbgp 箱体)表示向采样分组指派采样;以及(2)SampleGroupDescription箱体(sgpd箱体)包含针对每个采样组的描述该组的属性的采样组条目。可能存在基于不同分组准则的SampleToGroup和SampleGroupDescription 箱体的多个实例。它们可以通过指示分组类型的类型字段加以区分。
采样附属信息可以被预期用于在其中该信息在一对一的基础上与采样相关的情况,并且可以是媒体采样处理和呈现所需要的。每采样的采样附属信息可以被存储在与采样数据自身相同的文件中的任何地方;对于自包含的媒体文件,这可以是‘mdat’箱体。采样附属信息可以被存储在多个组块(chunk)中,其中,每组块的采样的数量以及组块的数量与属于主要采样数据的或者针对电影采样表(或者电影片段)中的全部采样的单一组块中的组块相匹配。针对被包含在单一组块(或者轨道运行)内的全部采样的采样附属信息被连续地(与采样数据相似地)存储。采样附属信息当出现时可以被存储在与它所相关的采样相同的文件中,因为它们共享相同的数据引用(‘dref’)结构。然而,可以使用用于指示数据的位置的附属信息偏移量(‘saio’)将该数据存储在该文件内的任何地方。使用两个箱体——采样附属信息大小箱体和采样附属信息偏移量(‘saio’)箱体来放置采样附属信息。对于全部这两个箱体,给出或者推断语法元素aux_info_type和 aux_info_type_parameter(所述语法元素中的全部两个语法元素是32位无符号整数或者等价地是四字符代码)。虽然aux_info_type确定附属信息的格式,但具有相同格式的附属信息的几个流可以在它们的 aux_info_type_parameter值不同时被使用。采样附属信息大小箱体提供每个采样的采样附属信息的大小,而采样附属信息偏移量箱体提供采样附属信息的组块或者轨道运行的(起始)位置。
Matroska文件格式能够(但不限于)在一个文件中存储视频、音频、图片或者字幕轨道中的任一项。Matroska可以被用作诸如WebM的导出的文件格式的基础格式。Matroska使用可扩展二进制元语言(EBML)作为基础。EBML指定受XML的原理启发的二进制和八位组(字节)对齐的格式。EBML自身是对二进制标记的技术的一般化的描述。Matroska 文件由组成EBML“文档”的元素组成。元素包含元素ID、针对元素的大小的描述符和二进制数据本身。元素可以被嵌套。Matroska的段元素是其它顶层(第1层)元素的容器。一个Matroska文件可以包括(但不限于由其组成)一个段。Matroska文件中的多媒体数据被组织成集群(或者集群元素),每个集群通常包含几秒的多媒体数据。集群包括BlockGroup 元素,BlockGroup元素接着包括Block元素。Cues元素包括元数据,所述元数据可以在随机访问或者寻找中有帮助,并且可以包括寻找点的文件指针或者各自的时间戳。
实时传输协议(RTP)被广泛地用于对诸如音频和视频的同步媒体的实时传输。RTP可以在用户数据报协议(UDP)之上工作,用户数据报协议(UDP)接着可以在互联网协议(IP)之上工作。在从 www.ietf.org/rfc/rfc3550.txt可得的互联网工程任务组(IETF)请求评议 (RFC)3550中指定了RTP。在RTP传输中,媒体数据被封装到RTP 分组中。通常,每个媒体类型或者媒体编码格式具有专用的RTP净荷格式。
RTP会话是利用RTP进行通信的参与者的组之间的关联。它是可以潜在地传送许多RTP流的组通信信道。RTP流是包括媒体数据的RTP分组的流。RTP流由属于特定的RTP会话的SSRC标识。SSRC指同步源或者同步源标识符,所述同步源标识符是RTP分组头部中的32位的SSRC 字段。同步源的特性在于,来自该同步源的全部分组形成相同的时序和序列号空间的部分,因此接收器可以经由同步源对分组进行分组以用于回放。同步源的示例包括从诸如麦克风或者照相机的信号源导出的分组的流的发送者或者RTP混合器。每个RTP流由一个SSRC标识,该SSRC在RTP 会话内是唯一的。一个RTP流可以被看作一个逻辑信道。
RTP分组由RTP头部和RTP分组净荷组成。可以认为分组净荷包括如在所使用的RTP净荷格式中指定的那样被格式化的RTP净荷头部和 RTP净荷数据。H.265(HEVC)的草案净荷格式指定可以使用净荷头部扩展结构(PHES)被扩展的RTP净荷头部。可以认为PHES被包括在作为RTP净荷数据内的第一个NAL单元出现的可以被称为净荷内容信息 (PACI)的类NAL单元的结构内。当净荷头部扩展机制正在使用中时,可以认为RTP分组净荷包括净荷头部、净荷头部扩展结构(PHES)和PACI 净荷。PACI净荷可以包括NAL单元或者诸如分片单元(包括NAL单元的一部分)或者几个NAL单元的聚合(或者集合)的类NAL单元的结构。 PACI是可扩展的结构,并且可以有条件地包括如由PACI头部中的出现标志控制的不同的扩展。H.265(HEVC)的草案净荷格式指定一个被称为时间可伸缩性控制信息的PACI扩展。RTP净荷可以使能经由包括和/或推断数据单元的解码次序号(DON)等来建立所包含的数据单元(例如,NAL 单元)的解码次序,其中,DON值指示解码次序。
指定可以将两个或多个标准或者编码系统的NAL单元和/或其它经编码数据单元封装到同一位流、字节流、NAL单元流等中的格式可能是可取的。这种方法可以被称为封装的混合编解码器可伸缩性。在下面,描述了用于在同一NAL单元流中包括AVC NAL单元和HEVC NAL单元的机制。需要理解,可以对于除NAL单元之外的经编码数据单元、对于位流或者字节流格式、对于任何编码标准或者系统类似地实现机制。在下面,认为基础层是经AVC编码的,并且认为增强层是利用诸如SHVC或者 MV-HEVC的HEVC扩展被编码的。需要理解,如果多于一个层是属于诸如AVC或者它的例如MVC的扩展的第一编码标准或者系统的,和/或多于一个层是第二编码标准,则可以类似地实现机制。同样地,需要理解,当层表示多于两个编码标准时,可以类似地实现机制。例如,基础层可以是利用AVC被编码的,增强层可以是利用MVC被编码的并且表示非基础视图,并且可以由利用SHVC被编码的空间或者质量可伸缩层对前述层中的任一个层或者全部两个层进行增强。
NAL单元流格式对AVC和HEVC NAL单元两者进行封装的选项包括但不限于以下各项:
AVC NAL单元可以被包含在符合HEVC的NAL单元流中。可以在 HEVC标准中所指定的nal_unit_type值中指定一个或多个可以被称为 AVC容器NAL单元的NAL单元类型以指示AVC NAL单元。可以包括 AVC NAL单元头部的AVC NAL单元可以然后被作为NAL单元净荷包括在AVC容器NAL单元中。
HEVC NAL单元可以被包含在符合AVC的NAL单元流中。可以在 AVC标准的nal_unit_type值中指定一个或多个可以被称为HEVC容器 NAL单元的NAL单元类型以指示HEVCNAL单元。可以包括HEVC NAL 单元头部的HEVC NAL单元可以然后被作为NAL单元净荷包括在HEVC 容器NAL单元中。
并非包含第一编码标准或者系统的数据单元,第二编码标准或者系统的位流、字节流、NAL单元流等可以引用第一编码标准的数据单元。额外地,可以在第二编码标准的位流、字节流、NAL单元流等内提供第一编码标准的数据单元的属性。所述属性可以与经解码参考图片标记、处理和缓冲的操作相关,所述操作可以是解码、编码和/或HRD操作的一部分。替换地或者额外地,所述属性可以与诸如CPB和DPB缓冲延迟的缓冲延迟和/或诸如CPB移除时间等的HRD时序相关。替换地或者额外地,所述属性可以与诸如图片次序计数的图片标识或者到访问单元的关联相关。所述属性可以使能在第二编码标准的解码过程和/或HRD中处置第一编码标准或者系统的经解码图片,就像所述经解码图片根据第二编码标准被解码一样。例如,所述属性可以使能在SHVC或者MV-HEVC的解码过程和/或 HRD中处置经解码的AVC基础层图片,就像所述经解码图片是HEVC 基础层图片一样。
为解码过程指定使能提供一个或多个可以在解码过程中被用作参考的经解码图片的接口可能是可取的。这种方法可以被称为例如非封装的混合编解码器可伸缩性。在某些情况下,解码过程是一个或多个增强层可以根据其被解码的增强层解码过程。在某些情况下,解码过程是一个或多个子层可以根据其被解码的子层解码过程。可以例如通过一个或多个变量来指定所述接口,所述一个或多个变量可以例如由诸如媒体播放器或者解码器控制逻辑的外部单元设置。在非封装的混合编解码器可伸缩性中,基础层可以被称为外部的基础层,这指示基础层在增强层位流(其也可以被称为 EL位流)的外部。根据HEVC扩展的增强层位流的外部的基础层可以被称为非HEVC基础层。
在非封装的混合编解码器可伸缩性中,将基础层经解码图片与增强层解码器或者位流的访问单元相关联经由可以不在增强层解码和/或位流的规范中被指定的手段被执行。可以例如但不限于使用以下手段中的一种或多种手段来执行所述关联:
可以例如使用容器文件格式元数据和/或传输协议头部来指示解码时间和/或呈现时间。在某些情况下,基础层图片当基础层图片和增强层图片的呈现时间是相同的时可以是与增强层图片相关联的。在某些情况下,基础层图片当基础层图片和增强层图片的解码时间是相同的时可以是与增强层图片相关联的。
在带内被包括在增强层位流中的类NAL单元的结构。例如,在 MV-HEVC/SHVC位流中,可以使用具有范围UNSPEC48到UNSPEC55 (含)中的nal_unit_type的类NAL单元的结构。类NAL单元的结构可以标识与包含类NAL单元的结构的增强层访问单元相关联的基础层图片。例如,在从ISO基础媒体文件格式导出的文件中,诸如ISO/IEC 14496-15 中所指定的提取器(又称提取器NAL单元)的结构可以包含枚举的轨道引用(用以指示包含基础层的轨道)和解码时间差值(用以指示相对于增强层轨道的当前文件格式采样的解码时间的基础层轨道中的文件格式采样)。ISO/IEC 14496-15中所指定的提取器包括由对包含提取器的轨道的引用指示的来自被引用的轨道(例如,包含基础层的轨道)的被引用的采样的字节范围。在另一个示例中,类NAL单元的结构包括诸如H.264/AVC 的idr_pic_id的值的BL经编码视频序列的标识符和诸如H.264/AVC的 frame_num或者POC值的BL经编码视频序列内的图片的标识符。
可以使用可以是与特定的EL图片相关联的的协议和/或文件格式元数据。例如,基础层图片的标识符可以作为MPEG-2传输流的描述符被包括,其中,该描述符是与增强层位流相关联的。
协议和/或文件格式元数据可以是与BL和EL图片相关联的。当BL 和EL图片的元数据相匹配时,可以认为它们属于相同的时刻或者访问单元。例如,可以使用跨层访问单元标识符,其中,访问单元标识符值需要在按照解码或者位流次序的特定数据范围或者数据量内与其它跨层访问单元标识符值不同。
存在至少两种用于在混合编解码器可伸缩性中处置经解码基础层图片的输出的方法。在可以被称为单独DPB混合编解码器可伸缩性方法的第一种方法中,基础层解码器处理经解码基础层图片的输出。增强层解码器需要具有一个针对经解码基础层图片的图片存储缓冲器(例如,在与基础层相关联的子DPB中)。在对每个访问单元进行解码之后,针对基础层的图片存储缓冲器可以被清空。在可以被称为共享DPB混合编解码器可伸缩性方法的第二种方法中,由增强层解码器处置经解码基础层图片的输出,而基础层解码器不需要输出基础层图片。在共享DPB方法中,经解码基础层图片可以至少概念上位于增强层解码器的DPB中。单独DPB方法可以与封装的或者非封装的混合编解码器可伸缩性一起被应用。同样地,共享 DPB方法可以与封装的或者非封装的混合编解码器可伸缩性一起被应用。
为了DPB在共享DPB混合编解码器可伸缩性(即,基础层是经非 HEVC编码的)的情况下正确地工作,基础层图片可以至少概念上被包括在可伸缩位流的DPB工作中,并且被指派以下属性等中的一个或多个属性:
1.NoOutputOfPriorPicsFlag(对于IRAP图片)
2.PicOutputFlag
3.PicOrderCntVal
4.Reference picture set(参考图片集)
这些提到的属性可以使基础层图片能够在DPB工作中与任何其它层的图片相似地被看待。例如,当基础层是经AVC编码的并且增强层是经 HEVC编码的时,这些提到的属性使能诸如以下各项地利用HEVC的语法元素来控制与AVC基础层相关的功能:
-在某些输出层集合中,基础层可以是在输出层中的,在某些其它的输出层集合中,基础层可以不是在输出层中的。
-可以将AVC基础层图片的输出与同一访问中的其它层的图片的输出同步。
-可以为基础层图片指派诸如是no_output_of_prior_pics_flag和 pic_output_flag的专用于输出操作的信息。
针对非封装的混合编解码器可伸缩性的接口可以能够但不限于传达以下各条信息中的一条或多条信息:
-对于是否存在可以被用于对特定增强层图片的层间预测的基础层图片的指示。
-基础层经解码图片的采样数组。
-包括以亮度采样计的宽度和高度、颜色格式、亮度位深和色度位深的基础层经解码图片的表示格式。
-与基础层图片相关联的图片类型或者NAL单元类型。例如,对于是否基础层图片是IRAP图片的指示,以及,如果基础层图片是IRAP图片的话,可以例如指定IDR图片、CRA图片或者BLA图片的IRAP NAL 单元类型。
-对于图片是帧还是字段的指示。如果图片是字段的话,对字段奇偶性 (顶部字段或者底部字段)的指示。如果图片是帧的话,对是否帧表示互补的字段对的指示。
-可能对于共享DPB混合编解码器可伸缩性是需要的的NoOutputOfPriorPicsFlag、PicOutputFlag、PicOrderCntVal和参考图片集中的一项或多项。
在某些情况下,经非HEVC编码的基础层图片是与上面提到的属性中的一个或多个属性相关联的。可以通过外部的手段(在位流格式之外的) 或者通过在HEVC位流中的具体的NAL单元或者SEI消息中指示属性或者通过在AVC位流中的具体的NAL单元或者SEI消息中指示属性来产生所述关联。HEVC位流中的这样的具体的NAL单元可以被称为BL封装 NAL单元,并且同样地,HEVC位流中的这样的具体的SEI消息可以被称为BL封装SEI消息。AVC位流中的这样的具体的NAL单元可以被称为EL封装NAL单元,并且同样地,AVC位流中的这样的具体的SEI消息可以被称为EL封装SEI消息。在某些情况下,被包括在HEVC位流中的BL封装NAL单元可以额外地包括基础层经编码数据。在某些情况下,被包括在AVC位流中的EL封装NAL单元可以额外地包括增强层经编码数据。
当混合编解码器可伸缩性正在使用中时,可以对于经解码的基础层图片推断解码过程和/或HRD中所需要的一些语法元素和/或变量值。例如,对于基于HEVC的增强层解码,可以推断经解码基础层图片的 nuh_layer_id等于0,并且可以设置经解码基础层图片的图片次序计数等于相同时刻或者访问单元的各自的增强层图片的图片次序计数。此外,可以推断外部基础层图片的TemporalId等于该外部基础层图片与之相关联的访问单元中的其它图片的TemporalId。
混合编解码器可伸缩性嵌套SEI消息可以包含一个或多个诸如是缓冲周期SEI消息(例如,根据H.264/AVC或者HEVC的)或者图片时序SEI 消息(例如,根据H.264/AVC或者HEVC的)的HRD SEI消息。替换地或者额外地,混合编解码器可伸缩性嵌套SEI消息可以包含诸如是 H.264/AVC的hrd_parameters()语法结构的位流级或者序列级HRD参数。替换地或者额外地,混合编解码器可伸缩性嵌套SEI消息可以包含这样的语法元素,所述语法元素中的一些语法元素可以是与位流级或者序列级 HRD参数(例如,H.264/AVC的hrd_parameters()语法结构)中和/或缓冲周期SEI消息(例如,根据H.264/AVC或者HEVC的)或者图片时序SEI消息(例如,根据H.264/AVC或者HEVC的)中的那些语法元素相同或者相似的。应当理解,被允许嵌套在混合编解码器可伸缩性嵌套SEI 消息中的SEI消息或者其它语法结构可以不限于以上那些。
混合编解码器可伸缩性嵌套SEI消息可以位于基础层位流中和/或增强层位流中。混合编解码器可伸缩性嵌套SEI消息可以包括指定被嵌套的 SEI消息所应用于的层、子层、位流子集和/或位流分区的语法元素。
在混合编解码器可伸缩性的基础层HRD参数被应用时适用的基础层简档和/或级别(和/或类似的相符性信息)可以被编码到具体的SEI消息中和/或从具体的SEI消息中被解码,所述具体的SEI消息可以被称为基础层简档和级别SEI消息。根据一个实施例,在混合编解码器可伸缩性的基础层HRD参数被应用时适用的基础层简档和/或级别(和/或类似的相符性信息)可以被编码到具体的SEI消息中和/或从具体的SEI消息中被解码,所述具体的SIE消息的语法和语义取决于基础层的编码格式。例如,可以指定AVC基础层简档和级别SEI消息,其中,SEI消息净荷可以包含 H.264/AVC的profile_idc、H.264/AVC的seq_parameter_set_data()语法结构(其可以包括其中x是0到5(含)的范围中的每个值的语法元素 constraint_setX_flag和reserverved_zero_2bits)的第二字节和/或 H.264/AVC的level_idc。
基础层HRD初始化参数SEI消息(等)、基础层缓冲周期SEI消息 (等)、基础层图片时序SEI消息(等)、混合编解码器可伸缩性嵌套SEI 消息(等)和/或基础层简档和级别SEI消息(等)可以在以下包含语法结构和/或机制的项中的一项或多项中被包括和/或被解码:
-BL位流内的与基础层图片相关联的前缀NAL单元(等)。
-BL位流内的增强层封装NAL单元(等)。
-作为BL位流内的“自支撑的”(即,非被封装的或者非被嵌套的)SEI 消息。
-BL位流内的可伸缩的嵌套SEI消息(等),其中,可以指定目标层包括基础层和增强层。
-EL位流内的基础层封装NAL单元(等)。
-作为EL位流内的“自支撑的”(即,非被封装的或者非被嵌套的) SEI消息。
-EL位流内的可伸缩的嵌套SEI消息(等),其中,可以指定目标层是基础层。
-符合文件格式的元数据,所述元数据位于文件处或者被文件引用,所述文件包括或者引用BL位流和EL位流。
-通信协议内的元数据,诸如MPEG-2传输流的描述符内的元数据。
当混合编解码器可伸缩性正在使用中时,第一位流复用器可以把基础层位流和增强层位流当作输入,并且形成诸如是MPEG-2传输流或者其一部分的经复用的位流。替换地或者额外地,第二位流复用器(也可以将其与第一位流复用器合并)可以将诸如是NAL单元的基础层数据单元封装到增强层数据单元中,将诸如是NAL单元的增强层数据单元封装到增强层位流中。第二位流复用器可以替换地将诸如是NAL单元的增强层数据单元封装到基础层数据单元中,将诸如是NAL单元的基础层数据单元封装到基础层位流中。
编码器或者诸如是文件创建器的另一个实体可以通过接口接收将被编码的不同层的预期的显示行为。所述预期的显示行为可以是例如由一个或多个用户通过用户界面创建内容,所述用户界面的设置因而影响编码器通过接口接收的预期的显示行为。
编码器或者诸如是文件创建器的另一个实体可以基于输入内容和/或编码设置确定预期的显示行为。例如,如果提供了两个视图作为将被编码为层的输入,则编码器可以确定预期的显示行为是单独地(例如,在立体的显示器上)显示所述视图。在另一个示例中,编码器接收感兴趣的增强层(EL)将被编码的编码设置。编码器可以例如具有这样的启发式规则:如果ROI增强层与它的参考层(RL)之间的缩放因子小于或者等于例如是2的特定限制,则预期的显示行为是将EL图片覆盖在各自的经上采样的RL图片之上。
基于所接收和/或所确定的显示行为,编码器或者诸如是文件创建器的另一个实体可以将对两个或多个层的预期的显示行为的指示编码到位流中,例如编码在诸如是VPS和/或SPS(其中,所述指示可以位于它们的 VUI部分内)的序列级语法结构中,或者作为SEI编码在例如SEI消息中。替换地或者另外,编码器或者诸如是文件创建器的另一个实体可以将对两个或多个层的预期的显示行为的指示编码到包括经编码图片的容器文件中。替换地或者另外,编码器或者诸如是文件创建器的另一个实体可以将对两个或多个层的预期的显示行为的指示编码到诸如是MIME媒体参数、 SDP或者MPD的描述中。
解码器或者诸如是媒体播放器或者文件解析器的另一个实体可以从位流中解码对两个或多个层的预期的显示行为的指示,所述解码例如是从诸如是VPS和/或SPS(其中,所述指示可以位于它们的VUI部分内)的序列级语法结构中,或者通过SEI机制例如从SEI消息中。替换地或者另外,解码器或者诸如是媒体播放器或者文件解析器的另一个实体可以从包括经编码图片的容器文件中解码对两个或多个层的预期的显示行为的指示。替换地或者另外,解码器或者诸如是媒体播放器或者文件解析器的另一个实体可以从诸如是MIME媒体参数、SDP或者MPD的描述中解码对两个或多个层的预期的显示行为的指示。基于经解码的显示行为,解码器或者诸如是媒体播放器或者文件解析器的另一个实体可以从两个或多个层的经解码(并且可能经裁剪)的图片创建一个或多个将被显示的图片。解码器或者诸如是媒体播放器或者文件解析器的另一个实体还可以显示所述一个或多个将被显示的图片。
对角线层间预测
另一种类别的层间预测区分对齐的层间预测和对角线(或者定向的) 层间预测。可以认为对齐的层间预测从被包括在与被预测的图片相同的访问单元中的图片发生。层间参考图片可以被定义为来自与被预测的图片不同的层(例如,在HEVC上下文中具有与当前图片的nuh_layer_id值不同的nuh_layer_id值)的参考图片。对齐的层间参考图片可以被定义为被包括在也包含当前图片的访问单元中的层间参考图片。可以认为对角线层间预测从与包含当前的被预测的图片的访问单元不同的访问单元的图片发生。
可以例如如下地启用对角线预测和/或对角线层间参考图片。额外的短期参考图片集(RPS)等可以被包括在切片段头部中。所述额外的短期RPS 等是与如由编码器在切片段头部中指示和由解码器从切片段头部中解码的所指示的直接参考层相关联的。可以例如通过根据可以例如出现在VPS中的层依赖性信息为可能的直接参考层编制索引来执行所述指示。所述指示可以例如是被编制索引的直接参考层中的索引值,或者所述指示可以是包括直接参考层的位掩码,其中,掩码中的位置指示直接参考层,并且掩码中的位值指示是否层被用作对角线层间预测的参考(并且因此针对该层和与该层相关联的短期RPS等被包括)。额外的短期RPS语法结构等指定被包括在当前图片的初始参考图片列表中的来自直接参考层的图片。与被包括在切片段头部中的常规的短期RPS不同,对所述额外的短期RPS等的解码不导致对图片的标记(例如,标记为“未被用于参考”或者“被用于长期参考”)的任何变更。所述额外的短期RPS等不需要使用与常规的短期RPS相同的语法——具体地说,有可能排除用于指示所指示的图片可以被用于当前图片的参考或者所指示的图片未被用于当前图片的参考但可以被用于按照解码次序的随后的图片的参考的标志。参考图片列表构造的解码过程可以被修改为包括来自当前图片的额外的短期RPS语法结构等的参考图片。
自适应分辨率变更指例如视频会议用例中的动态地变更视频序列内的分辨率。自适应分辨率变更可以用于例如更好的网络适应和错误恢复。为了对不同内容的变更的网络需求的更好适应,能够除质量之外变更时间/ 空间分辨率两者可能是可取的。自适应分辨率变更可以还使能实现快速启动,其中,会话的启动时间可以能够经由首先发送低分辨率帧并且然后提高分辨率而被提高。自适应分辨率变更可以进一步在组成会议时被使用。例如,当一个人开始讲话时,他/她的对应的分辨率可以被提高。利用IDR 帧实现该效果可能导致质量的“波动”,因为IDR帧需要以相对低的质量被编码以使得延迟不被显著增大。
在下面,使用可伸缩视频编码框架详细描述了自适应分辨率变更用例的一些细节。由于可伸缩视频编码固有地包括用于分辨率变更的机制,所以自适应分辨率变更可以被高效地支持。在分辨率切换在其处发生的访问单元处,可以对两个图片进行编码和/或解码。较高层处的图片可以是IRAP 图片,即,没有任何之间预测被用于对它进行编码或者解码,但层间预测可以被用于对它进行编码或者解码。较高层处的图片可以是跳过图片,即,其除空间分辨率之外可能不在质量和/或其它可伸缩性维度方面增强较低层图片。没有任何分辨率变更在其处发生的访问单元可以包含仅一个图片,可以从同一层中的较早图片对该仅一个图片进行之间预测。
在MV-HEVC和SHVC的VPS VUI中,已指定以下的与自适应分辨率变更相关的语法元素:
可以如下地指定上面描述的语法元素的语义。
等于1的single_layer_for_non_irap_flag指示或者访问单元的全部 VCL NAL单元具有相同的nuh_layer_id值,或者两个nuh_layer_id值被访问单元的VCL NAL单元使用,并且具有较大nuh_layer_id值的图片是 IRAP图片。等于0的single_layer_for_non_irap_flag指示由等于1的 single_layer_for_non_irap_flag暗示的约束可以适用或者可以不适用。
等于1的higher_layer_irap_skip_flag指示,对于每个对于其来说相同的访问单元中存在另一个具有较低值的nuh_layer_id的图片的引用VPS 的IRAP图片,以下约束适用:
-对于该IRAP图片的全部切片:
o slice_type应当等于P。
o slice_sao_luma_flag和slice_sao_chroma_flag应两者都等于0。
o five_minus_max_num_merge_cand应当等于4。
o 在被所述切片引用的PPS中,weighted_pred_flag应当等于0。
-对于该IRAP图片的全部编码单元:
o cu_skip_flag[i][j]应当等于1。
o 等于0的higher_layer_irap_skip_flag指示以上约束可以适用或者可以不适用。
编码器可以将single_layer_for_non_irap_flag和higher_layer_irap_skip_flag两者设置为等于1,作为对于以下事项的向解码器的指示:是否同一访问单元中存在两个图片,具有较高nuh_layer_id 的那个图片是IRAP图片,对于所述IRAP图片来说,可以经由利用另一个图片作为输入应用对层间参考图片的重新采样过程来导出经解码的采样。
当前研究和开发了各种用于提供三维(3D)视频内容的技术。可以认为,在立体或者两视图视频中,针对左眼呈现一个视频序列或者视图,同时针对右眼呈现一个并行的视图。对于启用视点切换的应用或者对于可以同时呈现大量视图并且让观看者从不同的视点观察内容的自动立体显示器,可能需要多于两个并行的视图。密集的研究已被聚焦于用于自动立体显示器和这样的多视图应用的视频编码,在这样的多视图应用中,观看者能够从一个具体的视点看到仅一对立体声视频并且从一个不同的视点看到另一对立体声视频。已证明用于这样的多视图应用的最可行的方法中的一种方法是这样的,其中,仅例如是单声道或者立体声视频的有限数量的视图加上某些补充数据被提供给解码器侧,并且全部所需的视图然后在解码器本地被渲染(即,合成)以被显示在显示器上。
帧打包指一种方法,其中,在编码器侧作为编码的预处理步骤将多于一个帧打包到单一的帧中,并且然后利用常规的2D视频编码方案对经帧打包的帧进行编码。由解码器产生的输出帧因此包含与在编码器侧在空间上被打包到一个帧中的输入帧相对应的组成帧。帧打包可以被用于立体视频,其中,一对帧(一个与左眼/照相机/视图相对应并且另一个与右眼/照相机/视图相对应)被打包到单一的帧中。帧打包可以另外或者替换地被用于经深度或者差异增强的视频,其中,组成帧中的一个组成帧表示与包含规则的颜色信息(亮度和色度信息)的另一个组成帧相对应的深度或者差异信息。对帧打包的其它使用也可以是可能的。可以在视频位流中例如使用H.264/AVC的帧打包安排SEI消息等来信号通知对帧打包的使用。可以另外或者替换地通过诸如是高清多媒体接口(HDMI)的视频接口来指示对帧打包的使用。可以另外或者替换地使用诸如是会话描述协议(SDP) 的各种能力交换和模式协商协议来指示和/或协商对帧打包的使用。
帧打包可以在帧兼容的立体视频中被使用,其中,在编码器侧作为编码的预处理步骤执行将立体声对空间打包到单一的帧中,并且然后利用常规的2D视频编码方案对经帧打包的帧进行编码。由解码器产生的输出帧包含立体声对的组成帧。在一种经典的工作模式下,对每个视图的原始帧和经打包的单一帧的空间解析具有相同的分辨率。在此情况下,编码器在打包操作之前对立体视频的两个视图进行下采样。空间打包可以使用例如逐侧或者上下格式,并且下采样应当被相应地执行。
视图可以被定义为表示一个照相机或者视点的图片的序列。表示一个视图的图片也可以被称为视图分量。换句话说,视图分量可以被定义为单一的访问单元中的视图的经编码的表示。在多视图视频编码中,将多于一个视图编码在位流中。由于视图通常旨在被显示在立体或者多视图自动立体显示器上,或者旨在被用于其它3D安排,所以它们通常表示相同的场景,并且虽然表示内容的不同视点但是是按内容部分上重叠的。因此,视图间预测可以在多视图视频编码中被使用,以利用视图间相关性和提升压缩效率。一种用于实现视图间预测的方法在于,将一个或多个其它视图的一个或多个经解码的图片包括在位于第一视图内的被编码或者解码的图片的参考图片列表中。视图可伸缩性可以指这样的多视图视频编码或者多视图视频位流,这样的多视图视频编码或者多视图视频位流使能够移除或者省略一个或多个经编码的视图,而产生的位流仍然是相符的并且利用比初始少的数量的视图来表示视频。
已提出可以以使得对于经帧打包的图片的每个组成帧对单独的增强层图片进行编码/解码的方式来对经帧打包的视频进行增强。例如,表示左视图的组成帧的空间增强图片可以在一个增强层内被提供,并且表示右视图的组成帧的空间增强图片可以在另一个增强层内被提供。例如,9.0版本的 H.264/AVC指定了针对立体视频编码的多分辨率帧兼容(MFC)增强和一个利用MFC增强的简档。在MFC中,基础层(又称基础视图)包括经帧打包的立体视频,而每个非基础视图包括基础层的组成视图中的一个组成视图的全分辨率增强。
如早先所指示的,MVC是H.264/AVC的扩展。H.264/AVC的定义、概念、语法结构、语义和解码过程中的许多项也同样地或者在具有特定的一般化或者约束的情况下适用于MVC。下面描述了MVC的某些定义、概念、语法结构、语义和解码过程。
MVC中的访问单元被定义为按照解码次序是连续的并且包含正好一个由一个或多个视图分量组成的主要经编码图片的NAL单元的集合。除了主要经编码图片之外,访问单元可以还包含一个或多个冗余经编码图片、一个附属经编码图片或者其它的不包含经编码图片的切片或者切片数据分区的NAL单元。当解码错误、位流错误或者可以影响解码的其它错误不出现时,对访问单元的解码产生一个由一个或多个经解码的视图分量组成的经解码的图片。换句话说,MVC中的一个访问单元包含一个输出时刻的视图的视图分量。
MVC中的视图分量被称为单一访问单元中的视图的经编码的表示。
视图间预测可以在MVC中被使用,并且指从相同访问单元的不同视图分量的经解码的采样对视图分量的预测。在MVC中,与之间预测类似地来实现视图间预测。例如,视图间参考图片被放入与之间预测的参考图片相同的参考图片列表中,并且对于视图间和之间参考图片类似地对参考索引以及运动向量进行编码或者推断。
锚图片(anchor picture)是经编码的图片,在所述经编码的图片中,全部切片可以参考仅相同访问单元内的切片,即,可以使用视图间预测,但不使用任何之间预测,并且全部按照输出次序跟随在后面的经编码图片不使用从按照解码次序处在该经解码的图片之前的任何图片进行的之间预测。视图间预测可以被用于是非基础视图的一部分的IDR视图分量。MVC 中的基础视图是在经编码视频序列中具有最小视图次序索引值的视图。基础视图可以独立于其它视图被解码,并且不使用视图间预测。基础视图可以被支持仅单一视图简档的H.264/AVC解码器解码,所述单一视图简档诸如H.264/AVC的基线简档或者高简档。
在MVC标准中,MVC解码过程的子过程中的许多子过程经由分别用“视图分量”、“帧视图分量”和“字段视图分量”替换H.264/AVC标准的子过程规范中的术语“图片”、“帧”和“字段”来使用H.264/AVC标准的各自的子过程。同样地,术语“图片”、“帧”和“字段”通常在下面用于分别表示“视图分量”、“帧视图分量”和“字段视图分量”。
如早先提到的,MVC位流的非基础视图可以指子集序列参数集NAL 单元。MVC的子集序列参数集包括基础SPS数据结构和序列参数集MVC 扩展数据结构。在MVC中,来自不同视图的经编码图片可以使用不同的序列参数集。MVC中的SPS(具体地说,MVC中的SPS的序列参数集 MVC扩展部分)可以包含用于视图间预测的视图依赖信息。该信息可以例如被信令感知媒体网关使用以构造视图依赖树。
在SVC和MVC中,前缀NAL单元可以被定义为按照解码次序紧接在基础层/视图经编码切片的VCL NAL单元之前的NAL单元。按照解码次序紧跟在前缀NAL单元之后的NAL单元可以被称为关联的NAL单元。前缀NAL单元包含与关联的NAL单元相关联的数据,可以认为所述数据是关联的NAL单元的一部分。当SVC或者MVC解码过程正在使用中时,前缀NAL单元可以用于包括影响对基础层/视图经编码切片的解码的语法元素。H.264/AVC基础层/视图解码器可以在它的解码过程中忽略前缀 NAL单元。
在可伸缩多视图编码中,同一位流可以包含多个视图的经编码的视图分量,并且可以使用质量和/或空间可伸缩性对至少一些经编码的视图分量进行编码。
存在其中对纹理视图和深度视图两者进行编码的针对深度增强的视频编码的正在进行的标准化活动。
纹理视图指表示普通视频内容的视图,所述视图例如已使用普通照相机被捕获,并且通常适于渲染在显示器上。纹理视图通常包括具有三个分量的图片,所述三个分量是一个亮度分量和两个色度分量。在下面,除非例如用术语亮度纹理图片和色度纹理图片指出,否则纹理图片通常包括它的全部分量图片或者颜色分量。
深度视图指表示纹理采样与照相机传感器相距的距离信息、纹理采样与另一个视图中的各自的纹理采样之间的差异或者视差信息或者类似的信息的视图。深度视图可以包括具有一个与纹理视图的亮度分量类似的分量的深度图片(又称深度地图)。深度地图是具有每像素的深度信息或者类似的信息的图像。例如,深度地图中的每个采样表示各自的一个或多个纹理采样与照相机所在的平面相距的距离。换句话说,如果z轴是沿照相机的拍摄轴的(并且因此与照相机所在的平面互相垂直),则深度地图中的采样表示z轴上的值。深度地图值的语义可以例如包括以下各项:
1.经编码深度视图分量中的每个亮度采样值表示真实距离(Z)值的倒数,即,1/Z,该倒数在亮度采样的动态范围中被规范化,诸如被规范化到针对8位亮度表示的0到255(含)的范围。可以以其中量1/Z在差异方面是均匀的的方式来完成所述规范化。
2.经编码深度视图分量中的每个亮度采样值表示真实距离(Z)值的倒数,即,1/Z,该倒数被映射到亮度采样的动态范围,诸如被映射到针对 8位亮度表示的0到255的范围,其中,使用映射函数f(1/Z)或者诸如按片线性映射的表完成所述映射。换句话说,深度地图值导致应用函数f(1/Z)。
3.经编码深度视图分量中的每个亮度采样值表示诸如被规范到针对8 位亮度表示的0到255(含)的范围之类的在亮度采样的动态范围中被规范化的真实距离(Z)值。
4.经编码深度视图分量的每个亮度采样值表示从当前的深度视图到另一个所指示或者导出的深度视图或者视图位置的差异或者视差值。
可以在位流中例如在视频参数集语法结构、序列参数集语法结构、视频可用性信息语法结构、图片参数集语法结构、照相机/深度/适应参数集语法结构、补充增强信息消息或者任何类似的项内指示深度地图值的语义。
尽管诸如深度视图、深度视图分量、深度图片和深度地图之类的短语被用于描述各种实施例,但应当理解,包括但不限于上面描述那些语义的深度地图值的任何语义可以在各种实施例中被使用。例如,本发明的实施例可以被应用于其中采样值指示差异值的深度图片。
编码系统或者任何其它创建或者修改包括经编码深度地图的位流的实体可以创建并且包括关于深度采样的语义和关于深度采样在位流中的量化方案的信息。这样的关于深度采样的语义和关于深度采样的量化方案的信息可以例如被包括在视频参数集结构、序列参数集结构或者SEI消息中。
经深度增强的视频指具有一个或多个与具有一个或多个深度视图的深度视频相关联的视图的纹理视频。一些方法可以用于表示经深度增强的视频,包括使用视频加深度(V+D)、多视图视频加深度(MVD)和分层的深度视频(LDV)。在视频加深度(V+D)表示中,纹理的单一视图和深度的各自的视图分别被表示为纹理图片和深度图片的序列。MVD表示包含一些纹理视图和各自的深度视图。在LDV表示中,中央视图的纹理和深度被常规地表示,而其它视图的纹理和深度被部分地表示,并且覆盖仅中间视图的正确视图合成所需要的非封闭的区域。
纹理视图分量可以被定义为单一访问单元中的视图的纹理的经编码的表示。可以以与单视图纹理位流或者多视图纹理位流兼容的方式对经深度增强的视频位流中的纹理视图分量进行编码,以使得单视图或者多视图解码器即使它不具有任何用于对深度视图进行解码的能力也可以对纹理视图进行解码。例如,H.264/AVC解码器可以对来自经深度增强的H.264/AVC 位流的单一的纹理视图进行解码。可以替换地以使得具有单视图或者多视图纹理解码能力的解码器(诸如H.264/AVC或者MVC解码器)例如因为纹理视图分量使用基于深度的编码工具而不能够对该纹理视图分量进行解码的方式对纹理视图分量进行编码。深度视图分量可以被定义为单一的访问单元中的视图的深度的经编码的表示。视图分量对可以被定义为同一访问单元内的相同视图的纹理视图分量和深度视图分量。
可以以其中独立于彼此地对纹理和深度进行编码的方式对经深度增强的视频进行编码。例如,纹理视图可以被编码为一个MVC位流,并且深度视图可以被编码为另一个MVC位流。还可以以其中联合地对纹理和深度进行编码的方式对经深度增强的视频进行编码。在一种形式的对纹理和深度视图的联合编码中,从深度图片的某些经解码的采样或者在深度图片的解码过程中获得的数据元素来预测或者导出纹理图片的某些经解码的采样或者用于对纹理图片的解码的数据元素。替换地或者另外,可以从纹理图片的某些经解码的采样或者在纹理图片的解码过程中获得的数据元素来预测或者导出深度图片的某些经解码的采样或者用于对深度图片的解码的数据元素。在另一个选项中,不从彼此来预测纹理的经编码视频数据和深度的经编码视频数据,或者不基于另一项对其中一项进行编码/解码,但经编码的纹理和深度视图可以在编码时被复用到同一位流中,并且在解码时从该位流中被解复用。在又另一个选项中,尽管在例如底下的切片层中不从深度的经编码视频数据来预测纹理的经编码视频数据,但可以与彼此共享或者从彼此来预测纹理视图和深度视图的高层编码结构中的某些编码结构。例如,可以从经编码纹理切片的切片头部来预测经编码深度切片的切片头部。此外,参数集中的某些参数集可以被经编码纹理视图和经编码深度视图两者使用。
经深度增强的视频格式使能生成未被经编码视图中的任一个经编码视图表示的照相机位置处的虚拟视图或者图片。概括地说,任何基于深度图像的渲染(DIBR)算法可以用于对视图进行合成。
用于指定可以被称为3D-HEVC的HEVC标准的经深度增强视频编码扩展的工作也在进行中,在所述扩展中,纹理视图和深度视图可以被编码到单一的位流中,其中,所述纹理视图中的一些纹理视图可以是与HEVC 兼容的。换句话说,HEVC解码器可以是能够对这样的位流的纹理视图中的一些纹理视图进行解码的,并且可以省略剩余的纹理视图和深度视图。
在可伸缩和/或多视图视频编码中,可以支持至少以下的用于对图片和 /或具有随机访问属性的访问单元进行编码的原则。
-一个层内的RAP图片可以是不具有层间/视图间预测的经内部编码的图片。这样的图片使能具有对它所在的层/视图的随机访问能力。
-一个增强层内的RAP图片可以是不具有之间预测(即,时间预测) 但具有被允许的层间/视图间预测的图片。这样的图片使能在假如全部参考层/视图是可用的的情况下开始对该图片所在的层/视图的解码。在单环路解码中,如果经编码的参考层/视图是可用的(其可以是例如SVC中的针对具有大于0的dependency_id的IDR图片的情况),则可能是足够的。在多环路解码中,可能需要参考层/视图被解码。这样的图片可以例如被称为逐步层访问(STLA)图片或者增强层RAP图片。
-锚访问单元或者完整的RAP访问单元可以被定义为在全部层中包括仅经内部编码的图片和STLA图片。在多环路解码中,这样的访问单元使能实现对全部层/视图的随机访问。这样的访问单元的一个示例是MVC锚访问单元(在该类型中,IDR访问单元是一种特殊情况)。
-逐步RAP访问单元可以被定义为在基础层中包括RAP图片但不需要在全部增强层中包含RAP图片。逐步RAP访问单元使能开始基础层解码,而增强层解码可以在增强层包含RAP图片并且(在多环路解码的情况下) 全部它的参考层/视图在该点被解码时被开始。
在HEVC的可伸缩扩展或者与HEVC类似的单层编码方案的任何可伸缩扩展中,可以指定IRAP图片具有以下属性中的一个或多个属性。
-具有大于0的nuh_layer_id的IRAP图片的NAL单元类型值可以用于指示增强层随机访问点。
-增强层IRAP图片可以被定义为使能在该增强层的全部参考层已在该EL IRAP图片之前被解码时开始对该增强层的解码的图片。
-可以对于具有大于0的nuh_layer_id的IRAP NAL单元允许层间预测,而不允许之间预测。
-不需要跨层地对齐IRAP NAL单元。换句话说,一个访问单元可以包含IRAP图片和非IRAP图片两者。
-在基础层处的BLA图片之后,当增强层包含IRAP图片并且对它的参考层中的全部参考层的解码已被开始时,可以开始对该增强层的解码。换句话说,基础层中的BLA图片开始逐层启动过程。
-当对增强层的解码从CRA图片开始时,与BLA图片的RASL图片 (HEVC版本1中的)类似地处置它的RASL图片。
具有未被跨层地对齐的IRAP图片等的可伸缩位流可以被使用,例如,更频繁的IRAP图片可以在基础层中被使用,在所述基础层处,它们可以由于例如较小的空间分辨率而具有较小的经编码大小。用于解码的逐层启动的过程或者机制可以被包括在视频解码方案中。解码器可以因此在基础层包含IRAP图片时开始对位流的解码,并且在其它层包含IRAP图片时逐步开始对所述其它层进行解码。换句话说,在解码过程的逐层启动中,解码器随着来自额外的增强层的随后的图片在解码过程中被解码而渐进地增加经解码的层的数量(其中,层可以表示在空间分辨率、质量级别、视图、诸如深度的额外的分量或者一种组合上的增强)。经解码的层的数量的渐进的增加可以被感知为例如图片质量的渐进的改进(在质量和空间可伸缩性的情况下)。
逐层启动机制可以为特定的增强层中的按照解码次序的第一个图片的参考图片生成不可用的图片。替换地,解码器可以省略对处在可以从其开始对层的解码的IRAP图片之前的图片的解码。可以由编码器或者另一个实体在位流内特别地标记这些可以被省略的图片。例如,一个或多个具体的NAL单元类型可以被用于它们。这些图片可以被称为跨层随机访问跳过(CL-RAS)图片。
逐层启动机制可以在增强层的全部参考层已与所述参考层中的IRAP 图片类似地被初始化时从该增强层中的IRAP图片开始对增强层图片的输出。换句话说,任何按照输出次序处在这样的IRAP图片之前的图片(相同的层内的)不可以从解码器被输出和/或不可以被显示。在某些情况下,与这样的IRAP图片相关联的可解码的前导图片可以被输出,而处在这样的IRAP图片之前的其它图片不可以被输出。
也可以被称为切片化的对经编码的视频数据的连接(concatenation) 可以发生,例如,经编码的视频序列可以被连接成位流,所述位流被广播或者流传送或者存储在大容量存储器中。例如,可以将表示商业广告或者广告的经编码的视频序列与电影或者其它“主要”内容相连接。
可伸缩视频位流可以包含未被跨层地对齐的IRAP图片。然而,使能连接在它的第一个访问单元中的基础层中但不必在全部层中包含IRAP图片的经编码的视频序列可能是方便的。在第一个经编码的视频序列之后被切片化的第二个经编码的视频序列应当触发逐层解码启动过程。那是因为,所述第二个经编码的视频序列的第一个访问单元可能未在它全部的层中包含IRAP图片,并且因此那个访问单元中的非IRAP图片的某些参考图片可能不是可用的(在经连接的位流中)并且因此不能被解码。在下文中被称为切片器的对经编码的视频序列进行连接的实体因此应当修改第二个经编码的视频序列的第一个访问单元,以使得它触发解码器中的逐层启动过程。
用于指示对逐层启动过程的触发的指示可以存在于位流语法中。这些指示可以由编码器或者切片器生成,并且可以被解码器遵守。这些指示可以用于仅特定的图片类型或者NAL单元类型,诸如仅用于IDR图片,虽然在其它实施例中这些指示可以用于任何图片类型。在不失一般性的情况下,下面提到了被认为被包括在切片段头部中的称为cross_layer_bla_flag 的指示。应当理解,可以额外地或者替换地使用具有任何其它名称或者被包括在任何其它语法结构中的类似的指示。
独立于触发逐层启动过程的指示地,特定的NAL单元类型和/或图片类型可以触发逐层启动过程。例如,基础层BLA图片可以触发逐层启动过程。
可以在以下情况中的一种或多种情况下发起逐层启动机制:
-在位流的起点处。
-当被特别地控制时,例如当例如作为对调谐到广播或者寻找文件或者流中的位置的响应而开启或者重启解码过程时,在经编码的视频序列的起点处。解码过程可以输入可以被诸如视频播放器等的外部单元控制的例如被称为NoClrasOutputFlag的变量。
-基础层BLA图片。
-具有等于1的cross_layer_bla_flag的基础层IDR图片。(或者具有等于1的cross_layer_bla_flag的基础层IRAP图片)。
当逐层启动机制被发起时,DPB中的全部图片可以被标记为“未被用于参考”。换句话说,全部层中的全部图片可以被标记为“未被用于参考”,并且将不被用作用于对发起逐层启动机制的图片或者任何按照解码次序的随后图片的预测的参考。
跨层随机访问被跳过(CL-RAS)图片可以具有这样的属性:当逐层启动机制被调用时(例如,当NoClrasOutputFlag等于1时),CL-RAS 图片不被输出,并且可能不可被正确地解码,因为CL-RAS图片可以包含对未出现在位流中的图片的参考。可以指定,CL-RAS图片不被用作非 CL-RAS图片的解码过程的参考图片。
可以例如经由一个或多个NAL单元类型或者切片头部标记(例如,经由将cross_layer_bla_flag重命名为cross_layer_constraint_flag,以及重新定义非IRAP图片的cross_layer_bla_flag的语义)来显式指示CL-RAS 图片。一个图片当它是非IRAP图片(例如,如经由它的NAL单元类型确定)、它位于增强层中并且它具有等于1的cross_layer_constraint_flag (等)时可以被看作CL-RAS图片。否则,图片可以被分类为是非CL-RAS 图片。如果图片是IRAP图片(例如,如经由它的NAL单元类型确定的)、它位于基础层中并且cross_layer_constraint_flag等于1,则可以推断 cross_layer_bla_flag等于1(或者可以将各自的变量设置为1)。否则,可以推断cross_layer_bla_flag等于0(或者可以将各自的变量设置为0)。替换地,可以推断CL-RAS图片。例如,当LayerInitializedFlag[layerId]等于0时,可以推断具有等于0的nuh_layer_id的图片是CL-RAS图片。
可以以使得特定的变量控制是否使用逐层启动过程的方式来指定解码过程。例如,可以使用变量NoClrasOutputFlag,该变量当等于0时指示正常的解码操作,并且当等于1时指示逐层启动操作。可以例如使用以下步骤中的一个或多个步骤来设置NoClrasOutputFlag:
1)如果当前的图片是IRAP图片,该IRAP图片是位流中的第一个图片,则NoClrasOutputFlag被设置为等于1。
2)否则,如果某些外部单元对于将变量NoClrasOutputFlag设置为等于针对基础层IRAP图片的值是可用的,则变量NoClrasOutputFlag被设置为等于由该外部单元提供的值。
3)否则,如果当前的图片是BLA图片,该BLA图片是经编码的视频序列(CVS)中的第一个图片,则NoClrasOutputFlag被设置为等于1。
4)否则,如果当前的图片是IDR图片,该IDR图片是经编码的视频序列 (CVS)中的第一个图片,并且cross_layer_bla_flag等于1,则NoClrasOutputFlag被设置为等与1。
5)否则,NoClrasOutputFlag被设置为等于0。
可以替换地例如如下面那样更概括地叙述上面的步骤4:“否则,如果当前的图片是IRAP图片,该IRAP图片是CVS中的第一个图片,并且对逐层启动过程的指示是与该IRAP图片相关联的,则NoClrasOutputFlag 被设置为等于1”。可以移除上面的步骤3,并且可以指定BLA图片在它的cross_layer_bla_flag等于1时发起逐层启动过程(即,将NoClrasOutputFlag设置为等于1)。应当理解,其它的用于叙述条件的方法是可能的,并且是同等适用的。
针对逐层启动的解码过程可以例如经由两个数组变量 LayerInitializedFlag[i]和FirstPicInLayerDecodedFlag[i]来控制,所述两个数组变量可以具有针对每个层(可能排除基础层,以及可能也排除其它无依赖的层)的条目。当逐层启动过程例如作为对NoClrasOutputFlag等于1的响应而被调用时,这些数组变量可以被重置为它们的缺省值。例如,当64个层被启用(例如,具有6位nuh_layer_id)时,可以如下地重置所述变量:对于从0到63(含)的i的全部值,将变量LayerInitializedFlag[i] 设置为等于0,并且对于从1到63(含)的i的全部值,将变量 FirstPicInLayerDecodedFlag[i]设置为等于0。
解码过程可以包括以下的或者类似的用于控制RASL图片的输出的操作。在当前的图片是IRAP图片时,以下操作适用:
-如果LayerInitializedFlag[nuh_layer_id]等于0,则变量 NoRaslOutputFlag被设置为等于1。
-否则,如果某些外部单元对于将变量HandleCraAsBlaFlag设置为针对当前的图片的值是可用的,则变量HandleCraAsBlaFlag被设置为等于由该外部单元提供的值,并且变量NoRaslOutputFlag被设置为等于 HandleCraAsBlaFlag。
-否则,变量HandleCraAsBlaFlag被设置为等于0,并且变量 NoRaslOutputFlag被设置为等于0。
解码过程可以包括以下的用于更新层的LayerInitializedFlag的操作。在当前的图片是IRAP图片并且以下两项中的任一项为真时, LayerInitializedFlag[nuh_layer_id]被设置为等于1。
-nuh_layer_id等于0。
-LayerInitializedFlag[nuh_layer_id]等于0,并且对于等于 RefLayerId[nuh_layer_id][j]的refLayerId的全部值, LayerInitializedFlag[refLayerId]等于1,其中,j在0到 NumDirectRefLayers[nuh_layer_id]–1(含)的范围中。
当FirstPicInLayerDecodedFlag[nuh_layer_id]等于0时,可以在对当前的图片进行解码之前调用用于生成不可用的参考图片的解码过程。用于生成不可用的参考图片的解码过程可以针对具有缺省值的参考图片集中的每个图片生成图片。可以主要仅针对CL-RAS图片的语法约束的指定来指定生成不可用的参考图片的过程,其中,CL-RAS图片可以被定义为具有等于layerId的nuh_layer_id的图片,并且LayerInitializedFlag[layerId]等于0。在HRD操作中,在导出CPB到达和移除时间时可能需要考虑 CL-RAS图片。解码器可以忽略任何CL-RAS图片,因为这些图片未被指定为用于输出,并且对任何其它的被指定为用于输出的图片的解码过程没有任何影响。
编码标准或者系统可以引用术语工作点等,所述工作点等可以指示解码在其下工作的可伸缩层和/或子层,和/或可以是与包括被解码的可伸缩层和/或子层的子位流相关联的。下面提供了工作点的一些非限制性的定义。
在HEVC中,工作点被定义为,经由利用另一个位流、目标最高 TemporalId和目标层标识符列表作为输入的子位流提取过程的工作从该另一个位流创建的位流。
HEVC的VPS指定层集和这些层集的HRD参数。层集可以在子位流提取过程中被用作目标层标识符列表。
在SHVC和MV-HEVC中,工作点定义可以包括考虑目标输出层集。在SHVC和MV-HEVC中,工作点可以被定义为,经由利用另一个位流、目标最高TemporalId和目标层标识符列表作为输入的子位流提取过程的工作从该另一个位流创建的并且与目标输出层的集合相关联的位流。
输出层集可以被定义为由所指定的层集中的一个层集的层组成的层的集合,其中,层的所述集合中的一个或多个层被指示为是输出层。输出层可以被定义为,当解码器和/或HRD使用输出层集作为目标输出层集工作时被输出的输出层集的层。在MV-HEVC/SHVC中,经由将 TargetOptLayerSetIdx设置为等于是目标输出层集的输出层集的索引,变量TargetOptLayerSetIdx可以指定哪个输出层集是目标输出层集。 TargetOptLayerSetIdx可以例如被HRD设置和/或可以被外部单元设置,例如被播放器等通过由解码器提供的接口进行设置。在MV-HEVC/SHVC 中,目标输出层可以被定义为这样的层,该层将被输出,并且是具有使得 TargetOptLayerSetIdx等于olsIdx的索引olsIdx的输出层集的输出层中的一个输出层。
MV-HEVC/SHVC使能使用具体的机制或者经由显式地指示输出层来导出VPS中指定的每个层集的“缺省的”输出层集。已指定了两种具体的机制:可以在VPS中指定,每个层是输出层,或者仅最高层是“缺省的”输出层集中的输出层。可以在使用所提到的具体的机制来确定是否层是输出层时从考虑中排除附属图片层。除了“缺省的”输出层集之外,VPS扩展使能指定额外的输出层集,所述额外的输出层集具有所选择的被指示为是输出层的层。
在MV-HEVC/SHVC中,对于每个输出层集,关联了 profile_tier_level()语法结构。更确切地说,在VPS扩展中提供了 profile_tier_level()语法结构的列表,并且对于每个输出层集给出所述列表内的指向适用的profile_tier_level()的索引。换句话说,对于每个输出层集,指示简档、层和级别值的组合。
尽管输出层的不变的集合完全适于其中最高层在每个访问单元中保持不被变更的用例和位流,但它们可能不支持其中最高层从一个访问单元到另一个访问单元地变更的用例。因此已提出,编码器可以在位流内指定对替换的输出层的使用,并且响应于所指定的对替换的输出层的使用,解码器在输出层中的图片在同一访问单元内不出现时输出来自替换的输出层的经解码的图片。关于如何指示替换的输出层,存在几种可能性。例如,输出层集中的每个输出层可以是与最小的替换的输出层相关联的,并且 output-layer-wise语法元素可以用于指定针对每个输出层的替换的输出层。替换地,替换的输出层集机制可以限于被用于仅包含仅一个输出层的输出层集,并且output-layer-set-wise语法元素可以用于指定针对输出层集的输出层的替换的输出层。替换地,替换的输出层集机制可以限于被用于仅在其中全部所指定的输出层集包含仅一个输出层的位流或者CVS,并且可以经由逐位流或者逐CVS语法元素来指示替换的输出层。可以例如经由在例如VPS内列出替换的输出层(例如,使用它们的层标识符或者直接或间接参考层的列表的索引)、指示最小的替换的输出层(例如,使用它的层标识符或者它在直接或间接参考层的列表内的索引)或者指定任何直接或间接参考层是替换的输出层的标志来指定替换的输出层。当使多于一个替换的输出层能够被使用时,可以指定,下至所指示的最小的替换的输出层的按照递减的层标识符次序出现在访问单元中的第一个直接或者间接的层间参考图片被输出。
可伸缩视频位流的HRD可以与单层位流的HRD类似地工作。然而,特别当涉及到对可伸缩位流的多环路解码中的DPB操作时,某些变更可能是需要的或者可取的。有可能通过多种方法指定对可伸缩位流的多环路解码的DPB操作。在一种逐层的方法中,每个层可以概念上具有它自身的 DPB,所述DPB否则可以独立地工作,只是可以对于全部逐层的DPB联合地提供某些DPB参数,并且图片输出可以同步地工作,以使得具有相同输出时间的图片被同时输出,或者在输出次序相符性检查中,来自同一访问单元的图片被紧接着彼此地输出。在被称为分辨率特定的方法的另一种方法中,具有相同的关键属性的层共享相同的子DPB。关键属性可以包括以下各项中的一项或多项:图片宽度、图片高度、色度格式、位深、颜色格式/色域。
利用相同的DPB模型来支持逐层的和分辨率特定的DPB方法两者可能是可能的,所述相同的DPB模型可以被称为子DPB模型。DPB被分割成几个子DPB,并且每个子DPB被独立地管理,只是可以对于全部子DPB 联合地提供某些DPB参数,并且图片输出可以同步地工作,以使得具有相同输出时间的图片被同时输出,或者在输出次序相符性检查中,来自同一访问单元的图片被紧接着彼此地输出。
可以认为DPB在逻辑上被分割成子DPB,并且每个子DPB包含图片存储缓冲器。每个子DPB可以是与一个层(在层特定的模式下)或者具有分辨率、色度格式和位深的特定组合的全部层(在所谓的分辨率特定的模式下)相关联的,并且所述层中的全部图片可以存储在关联的子DPB中。子DPB的工作可以是独立于彼此的——就经解码图片的插入、标记和移除以及每个子DPB的大小来说,尽管来自不同子DPB的经解码图片的输出可以通过它们的输出时间或者图片次序计数值被链接。在分辨率特定的模式下,编码器可以提供依照子DPB和/或依照层的图片缓冲器数量,并且解码器或者HRD可以在它们的缓冲操作中使用任一种或者全部两种类型的图片缓冲器数量。例如,在输出次序相符性解码中,当一个层中的所存储的图片的数量满足或者超过所指定的每层图片缓冲器数量时,和/或当被存储在子DPB中的图片的数量满足或者超过针对该子DPB所指定的图片缓冲器的数量时,可以调用碰撞过程。
在MV-HEVC和SHVC的当前的草案中,DPB特性被包括在也可以被称为dpb_size()的DPB大小语法结构中。DPB大小语法结构被包括在 VPS扩展中。DPB大小语法结构包含,对于每个输出层集(除了仅包含基础层的第0个输出层集),以下信息片可以对于每个子层(上至最大子层) 出现,或者可以被推断为等于应用于较低子层的各自的信息:
-max_vps_dec_pic_buffering_minus1[i][k][j]加1指定针对等于j 的最大TemporalId(即,HighestTid)的以图片存储缓冲器为单位的第i 个输出层集中的CVS的第k个子DPB的最大所需大小
-max_vps_layer_dec_pic_buff_minus1[i][k][j]加1指定当 HighestTid等于j时需要被存储在DPB中的第i个输出层集中的CVS的第k个层的经解码图片的最大数量。
-max_vps_num_reorder_pics[i][j]指定,当HighestTid等于j时,可以按照解码次序处在任何包含CVS中的第i个输出层集中的具有等于1 的PicOutputFlag的图片的访问单元auA之前并且按照输出次序跟随在包含具有等于1的PicOutputFlag的图片的访问单元auA之后的包含具有等于1的PicOutputFlag的图片的访问单元的最大允许数量。
-不等于0的max_vps_latency_increase_plus1[i][j]用于计算VpsMaxLatencyPictures[i][j]的值,VpsMaxLatencyPictures[i][j]当 HighestTid等于j时指定,可以按照输出次序处在任何包含CVS中的具有等于1的PicOutputFlag的图片的访问单元auA之前并且按照解码次序跟随在包含具有等于1的PicOutputFlag的图片的访问单元auA之后的包含第i个输出层集中的具有等于1的PicOutputFlag的图片的访问单元的最大数量。
已针对诸如MV-HEVC和SHVC之类的HEVC扩展的POC值导出提出了几种方法。在下面,描述了一种被称为POC重置方法的方法。作为可以利用其来实现不同实施例的POC导出的一个示例描述了这种POC 导出方法。需要理解,可以利用任何POC导出来实现所描述的实施例,并且对POC重置方法的所述描述只是一个非限制性的示例。
POC重置方法是基于以下内容的:在切片头部内指示,POC值将被重置,以使得从针对当前图片所提供的POC信令导出当前图片的POC,并且按照解码次序的较早的图片的POC被递减特定的值。
可以执行总共四种模式的POC重置:
-当前访问单元中的POC MSB重置。这种模式可以在增强层包含 IRAP图片时被使用。(在语法中由等于1的poc_reset_idc指示这种模式)。
-当前访问单元中的完全POC重置(MSB和LSB两者被重置为0)。这种模式可以在基础层包含IDR图片时被使用。(在语法中由等于2的 poc_reset_idc指示这种模式)。
-“延迟的”POC MSB重置。这种模式可以用于具有等于nuhLayerId 的nuh_layer_id的图片,以使得导致POC MSB重置的较早访问单元(按照解码次序)中不存在任何具有等于nuhLayerId的nuh_layer_id的图片。 (在语法中由等于3的poc_reset_idc和等于0的full_poc_reset_flag指示这种模式)。
-“延迟的”完全POC重置。这种模式可以用于具有等于nuhLayerId 的nuh_layer_id的图片,以使得导致完全POC重置的较早访问单元(按照解码次序)中不存在任何具有等于nuhLayerId的nuh_layer_id的图片。 (在语法中由等于3的poc_reset_idc和等于1的full_poc_reset_flag指示这种模式)。
“延迟的”POC重置信令可以还用于错误恢复目的(用于提供对包括 POC重置信令的同一层中的前一个图片的丢失的恢复)。
可以基于POC重置周期ID来指定POC重置周期的概念,其中,可以例如使用语法元素poc_reset_period_id来指示POC重置周期ID,语法元素poc_reset_period_id可以出现在切片段头部扩展中。每个属于包含至少一个IRAP图片的访问单元的非IRAP图片可以是包含该非IRAP图片的层中的POC重置周期的起点。在该访问单元中,每个图片将是包含该图片的层中的POC重置周期的起点。POC重置和对DPB中的同层图片的 POC值的更新被应用于仅每个POC重置周期内的第一个图片。
DPB中的全部层的较早图片的POC值可以在每个需要POC重置的访问单元开始时被更新,并且开始新的POC重置周期(在对该访问单元的第一个所接收的图片进行解码之前,并且在对该图片的第一个切片的切片头部信息进行解码之后)。替换地,DPB中的当前图片的层的较早图片的 POC值可以在开始对是针对POC重置周期的层中的第一个图片的图片进行解码时被更新。替换地,DPB中的当前图片的层树的较早图片的POC 值可以在开始对是针对POC重置周期的层树中的第一个图片的图片进行解码时被更新。替换地,DPB中的当前层和它的直接和间接参考层的较早图片的POC值可以在开始对是针对POC重置周期的层中的第一个图片的图片进行解码时被更新。
为了导出用于更新DPB中的同层图片的POC值的增量POC值,以及为了导出当前图片的POC值的POC MSB,有条件地在切片段头部中对 POC LSB值(poc_lsb_val语法元素)进行信号通知(对于“延迟的”POC 重置模式,以及对于诸如是基础层IDR图片的具有完全POC重置的基础层图片)。当“延迟的”POC重置模式被使用时,poc_lsb_val可以被设置为等于POC在其中被重置的访问单元的POC LSB (slice_pic_order_cnt_lsb)值。当完全POC重置在基础层中被使用时, poc_lsb_val可以被设置为等于prevTid0Pic的POC LSB(如早先指定的)。
对于具有特定的nuh_layer_id值并且在POC重置周期内的按照解码次序的第一个图片,导出被从当前在DPB中的图片减去的值DeltaPocVal。一个基本想法在于,对于POCMSB重置,DeltaPocVal等于触发重置的图片的POC值的MSB部分,并且对于完全POC重置,DeltaPocVal等于触发POC重置的图片的POC(而稍微不同地看待延迟的POC重置)。 DPB中的全部层或者当前的层或者当前的层树的全部经解码图片的 PicOrderCntVal值被递减DeltaPocVal的值。因此,一个基本想法在于,在POC MSB重置之后,DPB中的图片可以具有上至MaxPicOrderCntLsb (不含)的POC值,并且在完全POC重置之后,DPB中的图片可以具有上至0(不含)的POC值,而再次稍微不同地处置延迟的POC重置。
可以通过许多方法来定义用于可伸缩视频编码的访问单元,所述方法包括但不限于如早先描述的用于HEVC的访问单元的定义。例如,HEVC 的访问单元定义可以被放宽,以使得访问单元需要包括与同一输出时间相关联并且属于同一层树的经编码图片。当位流具有多个层树时,访问单元可以但不需要包括与同一输出时间相关联并且属于不同层树的经编码图片。
许多视频编码器使用拉格朗日成本函数来找出例如是期望的宏块模式和关联的运动向量的速率-失真最优编码模式。这种类型的成本函数使用加权因子或者λ来将由于有损编码方法产生的精确或者估计的图像失真与在图像区域中表示像素/采样值所需的精确或者估计的信息量联系在一起。可以由以下方程表示拉格朗日成本函数:
C=D+λR
其中,C是将被最小化的拉格朗日成本,D是伴随当前所考虑的模式和运动向量的图像失真(例如,原始图像块与经编码的图像块中的像素/采样值之间的均方误差),λ是拉格朗日系数,并且R是表示在解码器中重构图像块所需的数据所需的位数(包括用于表示候选运动向量的数据量)。
编码标准可以包括子位流提取过程,并且例如在SVC、MVC和HEVC 中指定了这样的子位流提取过程。子位流提取过程与经由移除NAL单元将位流转换成子位流相关。子位流将仍然是与标准相符的。例如,在一个草案HEVC标准中,经由排除全部具有大于所选择的值的temporal_id的 VCL NAL单元和包括全部其它的VCL NAL单元创建的位流仍然是相符的。在该草案HEVC标准的另一个版本中,子位流提取过程把TemporalId 和/或LayerId值的列表当作输入,并且经由从位流中移除全部具有大于输入的TemporalId值的TemporalId或者具有不在输入的LayerId值的列表中的值中的layer_id的NAL单元来导出子位流(也被称为位流子集)。
在一个草案HEVC标准中,可以如下地通过变量 TargetDecLayerIdSet和HighestTid来设置解码器使用的工作点。可以由诸如是解码器控制逻辑的外部单元指定列表TargetDecLayerIdSet,列表 TargetDecLayerIdSet指定将被解码的VCL NAL单元的layer_id的值的集合。如果未被外部单元指定,则列表TargetDecLayerIdSet包含layer_id的一个值,该值指示基础层(即,在一个草案HEVC标准中等于0)。可以由外部单元指定标识最高时间子层的变量HighestTid。如果未被外部单元指定,则HighestTid被设置为诸如是一个草案HEVC标准中的 sps_max_sub_layers_minus1的值的可以出现在经编码的视频序列或者位流中的最高的TemporalId值。可以在将TargetDecLayerIdSet和 HighestTid作为输入并且将输出指派给被称为BitstreamToDecode的位流的情况下应用子位流提取过程。可以对于BitstreamToDecode中的每个经编码的图片运行解码过程。
如上面描述的,HEVC使能将经交错的源内容编码为字段或者帧(表示互补的字段对),并且还包括与源内容的类型和它的预期表示相关的复杂信令。本发明的许多实施例使用可以在经编码的字段和帧之间切换时避免需要内部编码的编码/解码算法实现了图片自适应的帧-字段编码。
在一个示例实施例中,表示互补的字段对的经编码帧位于与经编码字段的对不同的可伸缩性层中,并且经编码字段的对中的一个或者全部两个字段可以被用作对经编码帧进行预测的参考,或者反之亦然。因此,可以在不根据当前图片和/或参考图片的类型(经编码帧或者经编码字段)和/ 或根据源信号类型(交错的或者渐进的)调整低层编码工具的情况下使能进行图片自适应的帧-字段编码。
编码器可以例如基于如早先描述的速率失真最优化确定将互补的字段对编码为经编码帧还是编码为两个经编码字段。如果经编码帧得出比两个经编码字段的成本小的拉格朗日成本函数的成本,则编码器可以选择将互补的字段对编码为经编码帧。
图9图示出了其中经编码字段102、104位于基础层(BL)中并且包含经交错的源内容的互补的字段对的经编码帧106位于增强层(EL)中的一个示例。在图9以及某些随后的图中,高的矩形可以表示帧(例如,106),小的非填充的矩形(例如,102)可以表示具有特定字段奇偶性的字段(例如,奇字段),并且小的斜条纹的矩形(例如,104)可以表示具有相反的字段奇偶性的字段(例如,偶字段)。可以在层内使用对任何预测分层的之间预测。当编码器确定从字段编码切换到帧编码时,它可以在本示例中对跳过图片108进行编码。跳过图片108被图示为黑色矩形。跳过图片108 可以与任何其它图片类似地被用作同一层内的按照(解)编码次序的稍后的图片的之间预测的参考。跳过图片108可以被指示为将不被解码器输出或者显示(例如,经由设置HEVC的pic_output_flag等于0)。没有任何基础层图片需要被编码到与增强层图片相同的访问单元中或者针对与如由增强层图片表示的时刻相同的时刻被编码。如在图9中由箭头114、116 示例出的,当编码器确定从帧编码切换回字段编码时,它可以(但不需要) 使用较早的基础层图片作为预测的参考。矩形100图示出了经交错的源信号,该经交错的源信号可以例如图示出作为输入为编码器提供的信号。
图10图示出了其中包含经交错的源内容的互补的字段对的经编码帧位于基础层BL中并且经编码字段位于增强层EL中的一个示例。否则,所述编码是与图9中的编码类似的。在图10的图示中,从帧编码到字段编码的切换发生在基础层上的最左帧处,其中,可以在较高层上(在本示例中是在增强层EL上)提供跳过字段109。在稍后的阶段,回到帧编码的切换可以发生,其中,基础层上的一个或多个之前的帧可以但不需要在对基础层的下一个帧进行预测时被使用。在图10中还图示出了从帧编码到字段编码的另一次切换。
图11和图12呈现了分别与图9和图10中的那些示例相似的示例,但取代跳过图片而使用了对角线层间预测。在图11的示例中,当从字段编码到帧编码的切换发生时,从基础层流的最后一个字段对增强层EL上的第一个帧进行对角线预测。当从帧编码切换回字段编码时,可以从在之前的从字段编码到帧编码的切换之前被编码/解码的最后的一个或多个字段预测接下来的一个或多个字段。在图11中利用箭头114、116对此进行了图示。在图12的示例中,当从帧编码到字段编码的切换发生时,从基础层流的最后一个帧对增强层EL上的最先两个字段进行对角线预测。当从字段编码切换回帧编码时,可以从在之前的帧编码到字段编码的切换之前被编码/解码的最后一个帧预测下一个帧。在图12中利用箭头118对此进行了图示。
在下面,简短地描述了一些用于将经编码字段和经编码帧放置在层中的非限制性示例实施例。在一个示例实施例中,提供了如图13中所描绘的一种经帧编码和经字段编码层的“楼梯”。根据本示例,当作出从经编码帧到经编码字段或者反之的切换时,下一个最高层被采用,以使能使用从经编码帧到经编码字段或者反之的层间预测。在图13中所描绘的示例情形中,当作出从经编码帧到经编码字段或者反之的切换时,在切换到的层处对跳过图片108、109进行编码,但可以利用对角线层间预测类似地实现编码安排。在图13中,基础层包含经交错的源信号的经编码字段100。在从经编码字段到经编码帧的切换预期在该处发生的位置处,在较高层上(在本示例中是在第一增强层EL1上)提供跳过帧108,之后跟随经帧编码的字段对106。可以经由使用从较低层(例如,切换自的层)进行的层间预测来形成跳过帧108。在从经编码帧到经编码字段的切换预期在该处发生的位置处,在更高的层上(在本示例中是在第二增强层EL2上)提供另一个跳过帧109,之后跟随经编码的字段12。可以利用层间预测实现在经编码帧与经编码字段之间的切换,直到达到最大层为止。当对IDR或者BLA 图片(等)进行编码时,可以分别取决于该IDR或者BLA图片被确定为将被编码为经编码帧还是经编码字段而在包含经编码帧或者经编码字段的最低层(BL或者EL1)处对该图片进行编码。应当理解,尽管图13图示出了其中基础层包含经编码字段的安排,但可以实现其中基础层包含经编码帧、第一增强层(EL1)包含经编码字段、第二增强层(EL2)包含经编码帧、第三增强层(EL3)包含经编码字段等等的类似的安排。
编码器可以指示对于使用如图13中所描绘的经帧编码和经字段编码的层的“楼梯”被进行编码的位流使用自适应分辨率变更。例如,编码器可以在利用MV-HEVC、SHVC等被进行编码的位流的VPS VUI中设置 single_layer_for_non_irap_flag等于1。编码器可以指示对于使用如图13 中所描绘的经帧编码和经字段编码层的“楼梯”被进行编码的位流使用跳过图片。例如,编码器可以在利用MV-HEVC、SHVC等被进行编码的位流的VPS VUI中设置higher_layer_irap_skip_flag等于1。
如果分辨率特定的子DPB操作正在使用中,如早先描述的,共享相同的诸如是图片宽度、图片高度、色度格式、位深和/或颜色格式/色域的关键属性的层共享相同的子DPB。例如,参考图13,BL和EL2可以共享相同的子DPB。概括地说,在如在之前的段落中描述的其中对经帧编码和经字段编码的层的“楼梯”进行编码和/或解码的示例实施例中,许多层可以共享相同的子DPB。如早先描述的,在HEVC和它的扩展中,在开始对图片进行解码时,对参考图片集进行解码。因此,当对图片的解码被完成时,该图片和全部它的参考图片仍然被标记为“被用于参考”,并且因此仍然出现在DPB中。这些参考图片可以在同一层中的下一个图片被解码时最早地被标记为“未被用于参考”,并且当前的图片可以在同一层中的下一个图片被解码时(如果当前的图片不是被解码的最高TemporalId处的子层非参考图片的话)或者在可以使用当前的图片作为层间预测的参考的全部图片已被解码时(在当前的图片是被解码的最高TemporalId处的子层非参考图片时)被标记为“未被用于参考”。因此,许多图片可以保持被标记为“被用于参考”并且保持占用DPB中的图片存储缓冲器,即使它们不将被用作任何按照解码次序的随后的图片的参考。
在一个可以与特别是参考图13描述的实施例的其它实施例相独立地或者一起被应用的实施例中,编码器或者另一个实体可以将命令等包括在位流中,所述命令等导致将特定层上的图片的参考图片标记为“未被用于参考”比开始对该层的下一个图片的解码更早。这样的命令的示例包括但不限于以下各项:
-把将在对层内的图片的解码之后被应用的参考图片集(RPS)包括在位流中。这样的RPS可以被称为解码后RPS。解码后RPS可以例如当对图片的解码已被完成时在对按照解码次序的下一个图片进行解码之前被应用。如果当前层处的图片可以被用作层间预测的参考,则在对图片的解码已被完成时被解码的解码后RPS不可以将当前的图片标记为“未被用于参考”,因为它可能仍然被用作层间预测的参考。替换地,解码后RPS可以例如在对访问单元的解码已被完成之后被应用(这保证没有任何仍然被用作层间预测的参考的图片变得被标记为“未被用于参考”)。解码后RPS 可以被包括在例如具体的NAL单元中、后缀NAL单元或者前缀NAL单元内和/或切片头部扩展内。可能需要解码后RPS是相同的或者导致相同的图片作为同一层中的下一个图片的RPS被维护在DPB中。可能需要例如在编码标准中,解码后RPS不导致将具有小于当前图片的TemporalId 的TemporalId的图片标记为“未被用于参考”。
-将可以被称为延迟的解码后RPS的参考图片集(RPS)语法结构包括在位流中。延迟的解码后RPS可以是与指示相关联的,所述指示标识例如按照解码次序的位置(按照解码次序与当前图片相比在随后的)或者按照解码次序的随后的(与当前图片相比)图片。所述指示可以是例如POC 差值,该POC差值当被增加到当前图片的POC时标识第二POC值,以使得如果具有等于或者大于第二POC值的POC的图片被解码,则延迟的解码后RPS可以被解码(在对图片进行解码之前或者之后,如例如在编码标准预定义的或者在位流中指示的)。在另一个示例中,所述指示可以是例如frame_num_difference值(等),该frame_num_difference值(等) 当被增加到当前图片的frame_num(等)时标识第二frame_num值(等),以使得如果具有等于或者大于第二frame_num值(等)的frame_num(等) 的图片被解码,则延迟的解码后RPS可以被解码(在对图片进行解码之前或者之后,如例如在编码标准中预定义的或者在位流中指示的)。
-例如在切片段头部中例如使用HEVC切片段头部的slice_reserved[i] 语法元素的位位置包括标志,该标志导致,例如当包含当前图片的访问单元已被完整解码时,在对当前图片的解码之后将层内的全部图片(包括对于其来说所述标志被设置为1的当前图片)标记为“未被用于参考”。如例如在编码标准中预定义的或者在位流中单独地指示的,所述标志可以在其语义中包括或者排除当前图片(即,包含所述标志在该处出现的切片的图片)。
-上面提到的标志可以是专用于TemporalId的,即,导致具有与当前图片的TemporalId相比相同或者更高的TemporalId值的图片被标记为“未被用于参考”(虽然所述标志的语义否则是与上面的语义相同的),或者导致具有比当前图片的TemporalId高的TemporalId值的图片被标记为“未被用于参考”(虽然所述标志的语义否者是与上面的语义相同的)。
-导致经解码参考图片标记的MMCO命令等。
解码器和/或HRD和/或诸如是媒体感知网络单元的另一个实体可以从位流中解码上面提到的命令等中的一个或多个命令等,并且因此将参考图片标记为“未被用于参考”。将图片标记为“未被用于参考”可以影响对如早先描述的DPB中的图片存储缓冲器的清空或者解除分配。
编码器可以在作出从经编码字段到经编码帧或者反之的切换时将上面提到的命令等中的一个或多个命令等编码在位流中。上面提到的命令等中的一个或多个命令等可以在切换到对另一个层(即,被预测的层,例如当在图片108处切换层时图中的增强层EL1)处的图片进行编码之前被包括在切换自的层(即,参考层,例如当在图片108处切换层时图13中的基础层)的按照解码次序的最后一个图片中。上面提到的命令等中的一个或多个命令等可以导致切换自的层的图片被标记为“未被用于参考”,并且因此还清空DPB图片存储缓冲器。
在MV-HEVC和SHVC的当前的草案中,存在有时被称为早期标记的特征,其中,子层非参考图片当它的TemporalId等于被解码的最高 TemporalId(即,正在使用中的操作点的最高TemporalId)时以及当可以使用该子层非参考图片作为层间预测的参考的全部图片已被解码时被标记为“未被用于参考”。因此,图片存储缓冲器可以比在未应用早期标记时更早地被清空,这可以减少特别是分辨率特定的子DPB操作中的最大所需DPB占用。然而,存在这样的问题:哪个是出现在位流中和/或将对其应用早期标记的特定访问单元中的最高nuh_layer_id值可能不是已知的。因此,如果预期或者有可能(例如,基于诸如是VPS的序列级信息)访问单元将已包含可能已使用第一图片作为层间预测的参考的随后的图片(按照解码次序),则第一图片可以保持被标记为“被用于参考”。
在一个可以与其它实施例相独立地或者一起被应用的实施例中,不仅在对访问内的一个图片进行解码之后(例如,在对每个图片进行解码之后),而还在该访问单元的全部图片已被解码之后,以使得该访问单元的每个子层非参考图片在它的TemporalId等于被解码的最高TemporalId(即,正在使用中的操作点的最高TemporalId)时被标记为“未被用于参考”的方式执行如在之前的段落中描述的早期标记。因此,即使访问单元不包含全部被预测的层中的图片,对于参考层处的图片也执行标记为“未被用于参考”。
然而,存在这样的问题:哪个是接收下一个访问单元的一个或多个 NAL单元之前的一个访问单元的最后一个编解码器图片或者最后一个 NAL单元可能是未知的。由于下一个访问单元可以不在对当前的访问单元的解码已结束之后立即被接收,所以对于推断访问单元的最后一个经编码图片或者NAL单元,并且因此在能够实施在访问单元的全部经编码图片已被解码之后被执行的过程(所述过程诸如是如在之前的段落中描述的在对访问单元的解码结束时被执行的早期标记)之前,可能存在延迟。
在一个可以与其它实施例相独立地或者一起被应用的实施例中,编码器将诸如是NAL unit末尾(EoNALU)NAL单元的标记按照解码次序的访问单元的最后一个数据片的指示编码在位流中。在一个可以与其它实施例相独立地或者一起被应用的实施例中,解码器从位流中解码诸如是NAL unit末尾(EoNALU)NAL单元的标记按照解码次序的访问单元的最后一个数据片的指示。作为对解码所述指示的响应,解码器执行这样的过程,所述过程在访问单元的全部经编码图片已被解码之后但在对按照解码次序的下一个访问单元进行解码之前被执行。例如,作为对解码所述指示的响应,解码器执行如在前面的段落中描述的在对访问单元的解码结束时被执行的早期标记,和/或执行如早先描述的对访问单元的图片的PicOutputFlag的确定。例如当序列末尾NAL单元或者位流末尾NAL单元出现在访问单元中时,可以允许EoNALU NAL单元不出现。
在另一个示例实施例中,将经编码字段和经编码帧放置在层中可以被实现为具有双向层间预测的一对经耦合的层。在图14中描绘了这种方法的一个示例。在该安排中,一对层被耦合,以使得它们不可以形成常规的分层或者单向层间预测关系,而相反形成可以在其中执行双向层间预测的层对或者层组。可以特殊地指示经耦合的层对,并且子位流提取可以将经耦合的层对看作可以从位流中提取或者被保持在位流中的单一的单元,而经耦合的层对内没有任一个层可以从位流中被单个地提取(而另一个层没有也被提取)。由于经耦合的层对中没有任一个层可以与基础层解码过程相符(由于使用了层间预测),所以全部两个层可以是增强层。层依赖性信令(例如VPS中的)可以被修改,以特殊地将经耦合的层对看作例如在指示层依赖性时的单一的单元(而可以推断经耦合的层对中的层之间的层间预测将被启用)。在图14中,已使用了使能指定参考层的哪些参考图片可以被用作对当前层中的图片进行预测的参考的对角线层间预测。假设图片的(解)编码次序可以从一个访问单元到另一个访问单元地改变,并且可以用于确定是否层N是层M的参考层或者反之,则可以利用常规的(对齐的)层间预测来类似地实现所述编码安排。
在又另一个示例实施例中,将经编码字段和经编码帧放置在层中可以被实现为增强层位流与外部基础层的经耦合的对。在图15中呈现了这样的被称为增强层位流与外部基础层的经耦合的对的编码安排的一个示例。在该安排中,对两个位流进行编码,一个位流包括表示经交错的源内容的互补的字段对的经编码帧,并且另一个位流包括经编码字段。全部两个位流被编码为具有混合编解码器可伸缩性的增强层位流。换句话说,在全部两个位流中,仅一个增强层被编码,并且基础层被指示为是外部的。所述位流可以被复用成经复用的位流,所述经复用的位流可能不与用于增强层解码过程的位流格式相符。替换地,可以诸如是在容器文件中在单独的轨道中或者在MPEG-2传输流中使用隔开的PID而使用单独的逻辑信道存储和/或发送所述位流。经复用的位流格式和/或其它信令(例如,文件格式元数据或者通信协议内的)可以指定位流1的哪些图片被用作对位流2中的图片进行预测的参考和/或反之,和/或识别位流1和2内的具有这样的位流间或者层间预测关系的图片对或者图片组。当经编码字段被用于对经编码帧进行预测时,可以在位流1的解码过程内或者作为与位流1的解码过程有关但不包括位流1的解码过程的位流间过程对它进行上采样。当位流2的经编码字段的互补对被用于对经编码帧进行预测时,可以在位流1 的解码过程内或者作为与位流1的解码过程有关但不包括位流1的解码过程的位流间过程对所述字段进行交织(逐行地)。当经编码帧被用于对经编码字段进行预测时,在位流2的解码过程内或者作为与位流2的解码过程有关但不包括位流2的解码过程的位流间过程,可以对它进行下采样,或者可以提取每隔一个的采样行。图15呈现了在其中与外部基础层图片一起使用对角线层间预测的一个示例。如图16中图示的,当对跳过图片进行编码而非使用对角线层间预测时,可以类似地实现编码安排。当在图16 中经编码字段被用于对经编码帧进行预测时,可以在位流1的解码过程内或者作为与位流1的解码过程有关但不包括位流1的解码过程的位流间过程对它进行上采样。当在图16中位流2的经编码字段的互补对被用于对经编码帧进行预测时,可以在位流1的解码过程内或者作为与位流1的解码过程有关但不包括位流1的解码过程的位流间过程对所述字段进行交织 (逐行地)。在全部所述两种情况下,经编码帧可以是跳过图片。当在图 16中经编码帧被用于对经编码字段进行预测时,在位流2的解码过程内或者作为与位流2的解码过程有关但不包括位流2的解码过程的位流间过程,可以对它进行下采样,或者可以提取每隔一个的采样行,并且所述经编码字段可以是跳过图片。
在某些实施例中,编码器可以在位流中指示和/或解码器可以从位流中解码,关于诸如是各种实施例的那些编码安排的编码安排的以下各项中的一项或多项:
-位流(或者例如是图15中示例的实施例的某些实施例中的经复用的位流)表示经交错的源内容。在基于HEVC的编码中,这可以在适用于位流的profile_tier_level语法结构中利用等于0的 general_progressive_source_flag和等于1的 general_interlaced_source_flag来指示。
-输出图片的序列(如被指示为将被编码器输出和/或被解码器输出的) 表示经交错的源内容。
-可以指示层是由表示经编码字段还是经编码帧的经编码图片组成的。在基于HEVC的编码中,这可以由SPS VUI的field_seq_flag指示。每个层可以激活不同的SPS,并且因此可以依照层单个地设置field_seq_flag。
-关联的序列中的任何时刻或者访问单元或者包含来自单一层的单一图片(其可以或者可以不是BL图片),或者包含其中较高层处的图片是 IRAP图片的两个图片。在基于HEVC的编码(例如,SHVC)中,这可以利用等于1的single_layer_for_non_irap_flag来指示。如果是这样,则可以进一步指示,当两个图片在同一时刻或者访问单元中出现时,较高层处的图片是跳过图片。在基于HEVC的编码中,这可以利用等于1的 higher_layer_irap_skip_flag来指示。
-关联的序列中的任何时刻或者访问单元包含来自单一层的单一图片。
上面提到的指示可以例如位于一个或多个诸如是VPS、SPS、VPS VUI、SPS VUI的序列级语法结构和/或一个或多个SEI消息中。替换地或者另外,上面提到的指示可以例如位于诸如是ISOBMFF的解码器配置记录的容器文件格式的元数据和/或诸如是MPEG-2传输流的描述符的通信协议头部内。
在某些实施例中,编码器可以在位流中指示和/或解码器可以从位流中解码,关于诸如是各种实施例中那些编码安排的编码安排的以下各项中的一项或多项:
-对于经编码字段,对顶部或者底部字段的指示。
-对于可以被用作层间预测的参考的经编码字段和/或对于被进行层间预测的经编码帧,将对该字段应用的上采样滤波的垂直相位偏移量。
-对于可以被用作层间预测的参考的经编码字段和/或对于被进行层间预测的经编码帧,对经上采样的经编码字段在所述经编码帧内的垂直偏移量的指示。例如,可以使用与SHVC的经缩放参考层偏移量类似的信令,但是是以逐图片的方式。
-对于可以被用作层间预测的参考的经编码字段和/或对于被进行层间预测的经编码帧,所述帧内的初始的垂直偏移量和/或将在对所述帧的重新采样中应用的垂直抽取因子(例如,如上面指定的VertDecimationFactor)。
上面提到的指示可以例如位于一个或多个诸如是VPS和/或SPS的序列级语法结构中。可以例如基于所指示的层、子层或者TemporalId值、图片类型和/或NAL单元类型指定所述指示应用于访问单元或者图片的仅一个子集。例如,序列级语法结构可以包括针对跳过图片的上面提到的指示中的一个或多个指示。替换地或者另外,上面提到的指示可以位于访问单元、图片或者切片级中,例如位于PPS、APS、访问单元头部或者分隔符、图片头部或者分隔符和/或切片头部中。替换地或者另外,上面提到的指示可以例如位于诸如是ISOBMFF的采样附属信息的容器文件格式的元数据和/或诸如是MPEG-2传输流的描述符的通信协议头部内。
在下面,描述了以下补充和/或替换的实施例。
具有质量增强的层间预测
在一个实施例中,第一未经压缩的互补字段对是与第二未经压缩的字段对相同的或者表示与第二未经压缩的字段对相同的时刻。可以认为,表示与基础层图片相同的时刻的增强层图片可以对该基础层图片的一个或全部两个字段的质量进行增强。图17和18呈现了分别与图9和图10中的那些示例类似的示例,但其中取代增强层EL中的跳过图片,与基础层帧或者字段对一致的增强层图片可以对基础层帧或者字段对的一个或者全部两个字段的质量进行增强。
被分隔在不同层中的顶部和底部字段
HEVC版本1包括对例如通过VUI的field_seq_flag和图片时序SEI 消息的pic_struct指示交错源材料的支持。然而,具有正确地显示交错源材料的能力取决于显示过程。主张播放器可以忽略诸如是图片时序SEI消息的pic_struct语法元素的指示,并且就像字段是帧一样地显示字段——这可能导致不令人满意的回放行为。经由将具有不同奇偶性的字段分隔到不同的层,基础层解码器将显示仅具有单一奇偶性的字段,这可以提供稳定和令人满意的显示行为。
可以以其中顶部和底部字段位于不同层中的方式实现各种实施例。图 19图示出了与图11中的示例类似的示例。为使能将顶部和底部字段分隔在不同的层中,在特定条件下当缩放因子是1时可以使能进行对参考层图片的重新采样,所述特定条件例如是当滤波的垂直相位偏移量被指示为是特定的时和/或当指示了参考层图片表示具有特定奇偶性的字段而被预测的图片表示具有相反的奇偶性的字段时。
同一位流中的利用可伸缩性层和交错-渐进可伸缩性的PAFF编码
在某些实施例中,可以利用一个或多个早先描述的实施例实现PAFF 编码。额外地,例如如早先描述的,一个或多个表示渐进式源增强的层可以也被编码和/或解码。当对表示渐进式源内容的层进行编码和/或解码时,它的参考层可以是包含表示经交错源内容的互补字段对的经编码帧的层和 /或一个或两个包含经编码字段的层。
主张在MV-HEVC/SHVC中对与源扫描类型(渐进式或者交错的)和图片类型(帧或者字段)相关的指示的使用当前是不明确的,因为:
-general_progressive_source_flag和general_interlaced_source_flag 被包括在profile_tier_level()语法结构中。在MV-HEVC/SHVC中, profile_tier_level()语法结构是与输出层集相关联的。另外, general_progressive_source_flag和general_interlaced_source_flag的语义指CVS——据认为其表示全部层,不只是profile_tier_level()语法结构与之相关联的输出层集的层。
-在SPS VUI不出现时,general_progressive_source_flag和 general_interlaced_source_flag用于推断指定是否pic_struct、 source_scan_type和duplicate_flag语法元素出现在图片时序SEI消息中的 frame_field_info_present_flag的值。然而,general_progressive_source_flag 和general_interlaced_source_flag不出现在具有大于0的nuh_layer_id的 SPS中,因此对general_interlaced_source_flag在哪个profile_tier_level() 语法结构中的推断是不明确的。
编码器可以将一个或多个指示编码到位流中,并且解码器可以从位流解码一个或多个指示,例如编码到/解码自诸如是VPS的序列级语法结构,其中,所述一个或多个指示可以指示,例如对于每个层,层表示经交错的源内容还是渐进式源内容。
替换地或者另外,在HEVC扩展中,可以在语法和/或语义和/或编码和/或解码中应用以下变更:
-SPS语法被修改为包括当profile_tier_level()不出现在SPS中时出现在SPS中的layer_progressive_source_flag和layer_interlaced_source_flag 语法元素。这些语法元素与具有等于0的nuh_layer_id的SPS中的 general_progressive_source_flag和general_interlaced_source_flag如何指定基础层的源扫描类型类似地指定源扫描类型。
-当general_progressive_source_flag、general_interlaced_source_flag、general_non_packed_constraint_flag和 general_frame_only_constraint_flag出现在SPS中时,它们适用于对于其来说所述SPS是活跃的SPS的图片。
-当general_progressive_source_flag、general_interlaced_source_flag、general_non_packed_constraint_flag和 general_frame_only_constraint_flag出现在与输出层集相关联的 profile_tier_level()语法结构中时,它们适用于该输出层集的输出层和替换的输出层(如果有的话)。
-如果general_progressive_source_flag和 general_interlaced_source_flag出现在SPS中则基于它们以及否则基于 layer_progressive_source_flag和layer_interlaced_source_flag导出对 frame_field_info_present_flag(SPS VUI中的)的值的约束和推断。
替换地或者额外地,在HEVC扩展中,可以如下地追加 profile_tier_level()语法结构中的general_progressive_source_flag和 general_interlaced_source_flag的语义。当profile_tier_level()语法结构被包括在是独立的层的活跃SPS的SPS中时,general_progressive_source_flag和general_interlaced_source_flag指示是否该层包含经交错或者渐进式的源内容,或者源内容类型是未知的,或者源内容类型被逐图片地指示。当profile_tier_level()语法结构被包括在VPS 中时,general_progressive_source_flag和general_interlaced_source_flag 指示是否输出图片包含经交错或者渐进式的源内容,或者源内容类型是未知的,或者源内容类型被逐图片地指示,其中,根据引用profile_tier_level() 语法结构的输出层集来确定输出图片。
替换地或者额外地,在HEVC扩展中,可以如下地追加 profile_tier_level()语法结构中的general_progressive_source_flag和 general_interlaced_source_flag的语义。与输出层集相关联的 profile_tier_level()语法结构的general_progressive_source_flag和 general_interlaced_source_flag指示是否输出层的层包含经交错或者渐进式的源内容、或者源内容类型是未知的,或者源内容类型被逐图片地指定。如果输出层集内存在表示与在该输出层集的VPS中指示的扫描类型不同的扫描类型的层,则那些层的活跃SPS包括具有指定该不同的扫描类型的 general_progressive_source_flag和general_interlaced_source_flag值的 profile_tier_level()语法结构。
上面描述的实施例使能利用诸如是SHVC的可伸缩视频编码进行对经交错源内容的图片自适应的帧-字段编码,而不需要调整低级编码工具。可以还使能进行在经编码字段与经编码帧之间的预测,因此可以获得良好的压缩效率,所述压缩效率是可与可以利用其中低级编码工具被调整以使能进行经编码帧与经编码字段之间的预测的编解码器达到的压缩效率相比的。
下面描述了一个可以与其它实施例一起或者相独立地被应用的实施例。对于混合编解码器可伸缩性,编码器或者复用器等可以将可被称为 HEVC属性SEI消息的SEI消息编码和/或包括在基础层位流中。HEVC 属性SEI消息可以被嵌套在例如混合编解码器可伸缩性SEI消息内。 HEVC属性SEI消息可以指示以下各项中的一项或多项:
-用于确定如被MV-HEVC、SHVC等需要的关联的外部基础层图片的输入变量的值的语法元素。例如,该SEI消息可以包括对是否图片是用于 EL位流解码过程的IRAP图片的指示和/或对图片的类型的指示。
-用于识别EL位流中的图片或者访问单元的语法元素,其中,所述图片或者访问单元的关联的基础层图片是可以被用作层间预测的参考的参考层图片。例如,POC重置周期和/或与POC相关的语法元素可以被包括。
-用于识别EL位流中的图片或者访问单元的语法元素,其中,所述图片或者访问单元按照解码次序紧跟在是参考层图片的关联的基础层图片之后或者之前。例如,如果基础层图片充当用于增强层解码的BLA图片,并且没有任何EL位流图片被认为与和该BLA图片相同的时刻相对应,则可能需要识别在EL位流中哪个图片处在该BLA图片之后或者之前,因为该BLA图片可能影响对EL位流的解码。
-用于指定将被应用于一个或多个关联的图片(例如,互补的字段对) 的重新采样的语法元素,其中,应用所述重新采样是在将图片作为经解码的外部基础层图片提供给EL解码之前的,和/或是作为EL解码过程内的对经解码的外部基础层图片的层间处理的一部分的。
在一个示例实施例中,以下语法等可以被用于HEVC属性SEI消息:
可以如下地指定HEVC属性SEI消息的语义。等于0的hevc_irap_flag 指定关联的图片不是外部的基础层IRAP图片。等于1的hevc_irap_flag 指定关联的图片是外部的基础层IRAP图片。当关联的图片被用作外部的基础层图片时,等于0、1和2的hevc_irap_type分别指定nal_unit_type 等于IDR_W_RADL、CRA_NUT和BLA_W_LP。 hevc_poc_reset_period_id指定关联的HEVC访问单元的 poc_reset_period_id值。如果hevc_pic_order_cnt_val_sign等于1,则导出hevcPoc等于hevc_abs_pic_order_cnt_val;否则,导出hevcPoc等于hevc_abs_pic_order_cnt_val-1。hevcPoc指定关联的HEVC访问单元在由hevc_poc_reset_period_id标识的POC重置周期内的PicOrderCntVal 值。
除了或者取代HEVC属性SEI消息,可以在例如是以下各项中的一项或多项中的其它位置提供与在SEI消息的语法元素中提供的信息类似的信息:
-在BL位流内的与基础层图片相关联的前缀NAL(等)内。
-在BL位流内的增强层封装NAL单元(等)内。
-在EL位流内的基础层封装NAL单元(等)内。
-EL位流内的SEI消息或者SEI消息内的指示。
-符合文件格式的元数据,该元数据位于包括或者引用BL位流和EL 位流的文件处或者被所述文件引用。例如,ISO基础媒体文件格式的采样附属信息、采样分组和/或同步元数据轨道可以用于包括基础层的轨道。
-通信协议内的元数据,诸如是MPEG-2传输流的描述符内的元数据。
接下来给出一个与利用ISOBMFF的采样附属信息机制提供与上面描述的HEVC属性SEI消息类似的基础层图片属性相关的示例实施例。当多层HEVC位流使用外部的基础层时(即,当HEVC位流的活跃VPS具有等于0的vps_base_layer_internal_flag时),例如由文件创建器为可以使用外部的基础层作为层间预测的参考的轨道提供具有等于‘lhvc’(或者某个其它的所选择的四字符代码)的aux_info_type和等于0(或者某个其它的值)的aux_info_type_parameter的采样附属信息。采样附属信息的存储遵循ISOBMFF的规范。具有等于‘lhvc’的aux_info_type的采样附属信息是以下的信息或者类似的信息:
可以如下面描述那样或者类似地指定具有等于‘lhvc’的aux_info_type 的采样附属信息的语义。在该语义中,术语当前的采样指这样的采样,该采样附属信息是与所述采样相关联的并且应当被提供以用于对所述采样进行解码。
-等于0的bl_pic_used_flag指定没有任何经解码的基础层图片被用于对当前的采样进行解码。等于1的bl_pic_used_flag指定经解码的基础层图片可以被用于对当前的采样进行解码。
-bl_irap_pic_flag指定,当bl_pic_used_flag等于1时,当作为用于对当前的采样进行解码的经解码基础层图片提供经解码图片时,该关联的经解码图片的BlIrapPicFlag变量的值。
-bl_irap_nal_unit_type指定,当bl_pic_used_flag等于1且 bl_irap_pic_flag等于1时,当作为用于对当前的采样进行解码的经解码基础层图片提供经解码图片时,该关联的经解码图片的nal_unit_type语法元素的值。
-sample_offset给出,当bl_pic_used_flag等于1时,关联的采样在链接的轨道中的相对索引。由对链接的轨道中的关联的采样进行解码产生的经解码图片是应当被提供以用于对当前的采样进行解码的关联的经解码图片。等于0的sample_offset指定关联的采样具有与当前的采样的解码时间相比相同或者紧跟在之前的解码时间;等于1的sample_offset指定关联的采样是相对于针对等于0的sample_offset导出的关联的采样的下一个采样;等于-1的sample_offset指定关联的采样是相对于针对等于0的 sample_offset导出的关联的采样的前一个采样,等等。
接下来提供一个示例实施例,该示例实施例是与对使用ISOBMFF的采样附属信息机制传达的与上面描述的HEVC属性SEI消息类似的基础层图片属性进行解析相关的。当多层HEVC位流使用外部的基础层时(即,当HEVC位流的活跃VPS具有等于0的vps_base_layer_internal_flag时),例如由文件解析器对于可以使用外部的基础层作为层间预测的参考的轨道解析具有等于‘lhvc’(或者某个其它的所选择的四字符代码)的 aux_info_type和等于0(或者某个其它的值)的aux_info_type_parameter的采样附属信息。具有等于‘lhvc’的aux_info_type的采样附属信息的语法和语义可以是与上面描述的那些语法和语义等类似的。当对于EL轨道采样解析等于0的bl_pic_used_flag时,没有任何经解码的基础层图片被提供以用于对(该EL轨道的)当前的采样的EL解码过程。当对于EL轨道采样解析等于1的bl_pic_used_flag时,所标识的BL图片被解码(除非它已被解码),并且经解码的BL图片被提供给对当前的采样的EL解码过程。当等于1的bl_pic_used_flag被解析时,语法元素bl_irap_pic_flag、 bl_irap_nal_unit_type和sample_offset中的至少一些项也被解析。通过如上面描述的sample_offset语法元素来标识BL图片。与经解码BL图片一起或者与经解码BL图片相关联地,经解码的信息bl_irap_pic_flag和 bl_irap_nal_unit_type(或者任何类似的指示性的信息)也被提供给对当前的采样的EL解码过程。EL解码过程可以如早先描述地工作。
接下来提供一个与通过外部基础层提取器NAL单元结构来提供与上面描述的HEVC属性SEI消息类似的基础层图片属性相关的示例实施例。外部基础层提取器NAL单元被与ISO/IEC 14496-15中指定的普通提取器 NAL单元类似地指定,但额外地为经解码基础层图片提供BlIrapPicFlag 和nal_unit_type。当经解码基础层图片被用作对EL采样进行解码的参考时,文件创建器(或者另一个实体)将外部基础层提取器NAL单元包括在EL采样中,其中,语法元素值标识基础层轨道、在对基础层图片进行解码时被用作输入的基础层采样和(可选地)在对基础层图片进行解码时被用作输入的基础层采样内的字节范围。文件创建器还获得经解码基础层图片的BlIrapPicFlag和nal_unit_type的值,并且将那些值包括在外部基础层提取器NAL单元中。
接下来提供一个示例实施例,该示例实施例是与对使用外部基础层提取器NAL单元结构传达的与上面描述的HEVC属性SEI消息类似的基础层图片属性进行解析相关的。文件解析器(或者另一个实体)从EL采样中解析外部基础层提取器NAL单元,并且因此推断经解码基础层图片可以被用作对该EL采样进行解码的参考。文件解析器从外部基础层提取器NAL单元中解析哪个基础层图片被解码,以获得可以被用作对EL采样进行解码的参考的经解码基础层图片。例如,文件解析器可以从外部基础层提取器NAL单元中解析这样的语法元素,所述语法元素标识基础层轨道、标识在对基础层图片进行解码时被用作输入的基础层采样(例如,通过如早先利用ISO/IEC 14496-15的提取器机制描述的解码时间)和(可选地)在对基础层图片进行解码时被用作输入的基础层采样内的字节范围。文件解析器可以还从外部基础层提取器NAL单元中获得经解码基础层图片的 BlIrapPicFlag和nal_unit_type的值。与经解码BL图片一起或者相关联地,经解析的信息BlIrapPicFlag和nal_unit_type(或者任何类似的指示性的信息)也被提供给对当前的EL采样的EL解码过程。EL解码过程可以如早先描述的那样工作。
接下来给出一个与在诸如是RTP净荷格式的分组化格式内提供与上面描述的HEVC属性SEI消息类似的基础层图片属性相关的示例实施例。可以例如通过以下手段中的一个或多个手段来提供基础层图片属性:
-(部分上或者完全地)包括经编码的EL图片的分组的净荷头部。例如,可以使用净荷头部扩展机制。例如,可以使用PACI扩展(如对于H.265 的RTP净荷格式指定的)等来包含这样的结构,所述结构包括指示经解码基础层图片的BlIrapPicFlag以及至少当BlIrapPicFlag为真时指示经解码基础层图片的nal_unit_type的信息。
-(部分上或者完全地)包括经编码的BL图片的分组的净荷头部。
-(部分上或者完全地)包括EL图片的分组内的例如与上面描述的外部基础层提取器NAL单元类似的类NAL单元的结构,但其中,通过与如上面描述的基于轨道的手段不同的手段来建立EL图片与各自的BL图片之间的对应关系。例如,所述类NAL单元的结构可以包括指示经解码基础层图片的BlIrapPicFlag以及至少当BlIrapPicFlag为真时指示经解码基础层图片的nal_unit_type的信息。
-(部分上或者完全地)包括BL图片的分组内的类NAL单元的结构。
在上面的示例中,可以隐含地经由假设BL图片和EL图片具有相同的RTP时间戳来建立EL图片与各自的BL图片之间的对应关系。替换地,可以经由以下操作来建立EL图片与各自的BL图片之间的对应关系:将诸如是BL图片的第一个单元的解码次序号(DON)或者BL图片的图片次序计数(POC)的BL图片的标识符包括在与EL图片相关联的类NAL 单元的结构或者头部扩展中;或者反之,将EL图片的标识符包括在与BL 图片相关联的类NAL单元的结构或者头部扩展中。
在一个实施例中,当经解码的基础层图片可以被用作对EL图片进行解码的参考时,发送器、网关或者另一个实体例如在净荷头部中、在类NAL 单元的结构内和/或使用SEI消息指示这样的信息,所述信息指示经解码基础层图片的BlIrapPicFlag的值以及至少当BlIrapPicFlag为真时指示经解码基础层图片的nal_unit_type的值。
在一个实施例中,接收器、网关或者另一个实体例如从净荷头部、从类NAL单元的结构和/或从SEI消息中解析这样的信息,所述信息指示经解码基础层图片的BlIrapPicFlag的值以及至少当BlIrapPicFlag为真时指示经解码基础层图片的nal_unit_type的值。与经解码BL图片一起或者相关联地,经解析的信息BlIrapPicFlag和nal_unit_type(或者任何类似的指示性的信息)也被提供给对关联的EL图片的EL解码过程。EL解码过程可以如早先描述的那样工作。
EL位流编码器或者EL位流解码器可以例如经由提供被编码或者解码的EL图片的poc_reset_period_id和PicOrderCntVal的值来从BL位流编码器或者BL位流解码器请求外部的基础层图片。如果BL位流编码器或者BL位流解码器例如基于经解码的HEVC属性SEI消息推断存在两个与同一EL图片或者访问单元相关联的BL图片,则所述两个经解码的BL 图片可以按照预定义的次序被提供给EL位流编码器或者EL位流解码器,所述按照预定义的次序诸如是按照BL图片或者处在不是EL位流编码或者解码中的IRAP图片的图片之前的充当EL位流编码或者解码中的IRAP 图片的图片的各自的解码次序。如果BL位流编码器或者BL位流解码器例如基于经解码的HEVC属性SEI消息推断存在一个与EL图片或者访问单元相关联的BL图片,则BL位流编码器或者BL位流解码器可以将该经解码的BL图片提供给EL位流编码器或者EL位流解码器。如果BL位流编码器或者BL位流解码器例如基于经解码的HEVC属性SEI消息推断不存在任何与EL图片或者访问单元相关联的BL图片,则BL位流编码器或者BL位流解码器可以向EL位流编码器或者EL位流解码器提供对不存在任何关联的BL图片的指示。
当从外部基础层进行的对角线预测正在使用中时,EL位流编码器或者EL位流解码器可以经由提供每个可以被使用或者被用作对角线预测的参考的图片的poc_reset_period_id和PicOrderCntVal的值来从BL位流编码器或者BL位流解码器请求外部的基础层图片。例如,在被用于标识对角线参考图片的额外的短期RPS等中,在额外的短期RPS中指示或者从额外的短期RPS中导出的PicOrderCntVal值可以被EL位流编码器或者EL位流解码器用于从BL位流编码器或者BL位流解码器请求外部的基础层图片,并且当前的被编码或者解码的EL图片的poc_reset_period_id 可以也在请求外部的基础层图片时被使用。
下面描述了一个可以与其它实施例一起或者相独立地被应用的实施例。帧兼容(又称经帧打包)的视频被编码到基础层中和/或从基础层中被解码。基础层可以被编码器(或者另一个实体)指示和/或被解码器(或者另一个实体)解码为包括经帧打包的内容,其中,例如通过以下各项来进行帧打包:通过诸如是HEVC的帧打包安排SEI消息的SEI消息,和/或通过可以被包括在VPS和/或SPS中的诸如是HEVC的profile_tier_level() 语法结构的general_non_packed_constraint_flag的参数集。等于1的 general_non_packed_constraint_flag指定,CVS中既没出现帧打包安排 SEI消息也没出现经分段的矩形帧打包安排SEI消息,即,基础层未被指示为包括经帧打包的内容。等于0的general_non_packed_constraint_flag 指定,CVS中可以或者可以不存在一个或多个帧打包安排SEI消息或者经分段的矩形帧打包安排SEI消息,即,基础层可以被指示为包括经帧打包的内容。可以例如通过诸如是VPS的序列级语法结构在位流中编码和/或从位流中解码,增强层表示对由基础层表示的视图中的一个视图的全分辨率增强。可以例如使用经缩放参考层偏移量和/或类似的信息由编码器在位流中指示和/或由解码器从位流中解码被打包在基础层图片内的视图与增强层的空间关系。所述空间关系可以指示对表示一个视图的基础层图片的组成图片的上采样,其中,为将经上采样的组成图片用作对增强层图片进行预测的参考图片而应用所述上采样。各种其它的所描述的实施例可以在由编码器指示或者由解码器解码基础层图片与增强层图片的关联时被使用。
下面描述了一个可以与其它实施例一起或者相独立地被应用的实施例。至少一个冗余图片被编码和/或解码。所述至少一个冗余的经编码图片位于在HEVC上下文中具有大于0的nuh_layer_id的增强层中。包含所述至少一个冗余图片的层不包含主要图片。为冗余图片层指派它自身的可伸缩性标识符类型(其在HEVC扩展的上下文中可以被称为ScalabilityId),或者它可以是附属图片层(并且可以在HEVC扩展的上下文中为它指派AuxId值)。AuxId值可以是专用于指示冗余图片层的。替换地,可以使用剩余未被指定的AuxId值(例如,HEVC扩展的上下文中的128到143(含)的范围中的值),并且可以利用SEI消息(例如,冗余图片属性SEI消息可以被指定)来指示附属图片层包含冗余图片。
编码器可以在位流中指示和/或解码器可以从位流中解码:冗余图片层可以使用从“主要”图片层(其可以是基础层)进行的层间预测。例如,在HEVC扩展的上下文中,可以将VPS扩展的direct_dependency_flag 用于这样的目的。
可能例如在编码标准中要求,冗余图片不使用从同一层的其它图片进行的之间预测,并且它们可以仅使用(从主要图片层进行的)对角线层间预测。
可能例如在编码标准中要求,每当冗余图片层中存在冗余图片时,同一访问单元中存在主要图片。
可以在语义上将冗余图片层的特性描绘为,使得冗余图片层的经解码图片具有与同一访问单元中的主要图片层的图片相似的内容。因此,在与冗余图片相同的访问单元中的主要图片不出现(即,意外的完全的图片丢失)或者解码失败(即,部分的图片丢失)时,冗余图片可以被用作对主要图片层中的图片的预测的参考。
主张上面提到的要求的结果是,冗余图片需要仅在各自的主要图片未被(成功地)解码时被解码,并且不需要为冗余图片维护任何单独的子 DPB。
在一个实施例中,主要图片层是第一EL位流(具有外部的基础层) 中的增强层,并且冗余图片层是第二EL位流(具有外部的基础层)中的增强层。换句话说,在该安排中,对两个位流进行编码,一个位流包括主要图片,并且另一个位流包括冗余图片。所述全部两个位流被编码为具有混合编解码器可伸缩性的增强层位流。换句话说,在所述全部两个位流中,仅增强层被编码,并且基础层被指示为是外部的。所述位流可以被复用成经复用的位流,该经复用的位流可能不符合用于增强层解码过程的位流格式。替换地,可以使用单独的逻辑信道(诸如在容器文件中的单独的轨道中或者使用MPEG-2传输流中的隔开的PID)来存储和/或发送所述位流。
编码器可以将主要图片EL位流的图片编码为,使得它们除了在随后描述的特殊情况下之外可以仅使用内部和之间预测(相同层内的)而不使用层间预测。编码器可以将冗余图片EL位流的图片编码为,使得它们可以使用内部和之间预测(相同层内的)以及从与主要图片EL位流相对应的外部基础层进行的层间预测。然而,编码器可以省略使用如上面描述的冗余图片EL位流中的之间预测(从相同层内的图片进行的)。编码器和/ 或复用器可以在经复用的位流格式和/或其它信令(例如,文件格式元数据或者通信协议内的)中指示位流1(例如,主要图片EL位流)的哪些图片被用作对位流2(例如,冗余图片EL位流)中的图片进行预测的参考,和/或反之;和/或识别具有这样的位流间或者层间预测关系的位流1和2 内的图片对或者图片组。在一种特殊情况下,编码器可以将这样的指示编码在经复用的位流中:冗余图片EL位流的图片被用作对主要图片EL位流的图片的预测的参考。换句话说,所述指示指示了,冗余图片就像它是主要图片EL位流的外部基础层的参考层图片一样地被使用。该特殊情况可以由编码器(等)例如基于来自远端解码器或者接收器等的一个或多个反馈消息来确定。所述一个或多个反馈消息可以指示,主要图片EL位流的一个或多个图片(或者其一部分)已缺席的或者还未被成功地解码。额外地,一个或多个反馈消息可以指示,来自冗余图片EL位流的冗余图片已被接收并且被成功地解码。因此,为避免使用主要图片EL位流的未被接收的或者被不成功地解码的图片作为对主要图片EL位流的随后的图片的预测的参考,编码器可以确定使用冗余图片EL位流的一个或多个图片作为对主要图片EL位流的随后的图片的预测的参考并且指示所述使用。解码器或者解复用器等可以从经复用的位流中解码这样的指示:冗余图片 EL位流的图片被用作对主要图片EL位流的图片的预测的参考。作为响应,解码器或者解复用器等可以对冗余图片EL位流的所指示的图片进行解码,并且作为用于主要图片EL位流解码的经解码外部基础层图片提供经解码的冗余图片。所提供的经解码外部基础层图片可以被用作对主要图片EL位流的一个或多个图片的解码时的层间预测的参考。
下面描述了一个可以与其它实施例一起或者相独立地被应用的实施例。编码器对至少两个具有不同的空间分辨率的EL位流进行编码以实现自适应分辨率变更功能。当从较低分辨率向较高分辨率的切换发生时,较低分辨率EL位流的一个或多个经解码的图片作为用于较高分辨率EL位流编码和/或解码的外部基础层图片被提供,并且所述外部基础层图片可以被用作层间预测的参考。当从较高分辨率向较低分辨率的切换发生时,较高分辨率EL位流的一个或多个经解码的图片作为用于较低分辨率EL位流编码和/或解码的外部基础层图片被提供,并且所述外部基础层图片可以被用作层间预测的参考。在此情况下,对经解码的较高分辨率图片的下采样可以例如在位流间过程中或者在较低分辨率EL位流编码和/或解码内被执行。因此,当与伴随可伸缩视频编码的用于实现自适应分辨率变更的常规方法相比时,从较高分辨率图片(常规上在较高层处)对较低分辨率图片(常规上在较低层处)进行的层间预测可以发生。
可以在实施例中使用以下的定义。层树可以被定义为与层间预测依赖性有关的层的集合。基础层树可以被定义为包括基础层的层树。非基础层树可以被定义为不包括基础层的层树。独立层可以被定义为不具有直接参考层的层。独立非基础层可以被定义为不是基础层的独立层。图20a提供了MV-HEVC(等)中的这些定义的示例。该示例呈现了3视图的多视图视频加深度MV-HEVC位流可以如何分配nuh_layer_id值。由于在 MV-HEVC中不存在任何从纹理视频对深度或者反之的预测,所以存在包含“基础”深度视图的独立非基础层。位流中存在两个层树,一个层树(基础层树)包含纹理视频的层,并且另一个层树(非基础层树)包含深度层。
额外地,可以使用以下的定义。层子树可以被定义为层树的层的子集,该子集包括该子集内的层的全部直接和间接参考层。非基础层子树可以被定义为不包括基础层的层子树。参考图20a,层子树可以例如由具有等于0 和2的nuh_layer_id的层组成。非基础层子树的一个示例由具有等于1和 3的nuh_layer_id的层组成。层子树也可以包含层树的全部层。层树可以包含多于一个独立层。层树分区可以因此被定义为层树的层的子集,该子集包括正好一个独立层以及全部它的直接或者间接被预测的层(除非它们被包括在同一层树的具有较小索引的层树分区中)。可以按照层树的独立层的递增的层标识符次序(例如,在MV-HEVC、SHVC等中按照递增的 nuh_layer_id次序)导出层树的层树分区。图20b呈现了具有两个独立层的层树的一个示例。具有等于1的nuh_layer_id的层可以是例如基础层的感兴趣区域增强,而具有等于2的nuh_layer_id的层可以在质量方面或者在空间上对整个基础层图片进行增强。图20b的层树被分割成如图中所示的两个层树分区。非基础层子树因此可以是非基础层树的子集或者具有大于0的分区索引的基础层树的层树分区。例如,图20b中的层树分区1是非基础层子树。
额外地,可以使用以下的定义。额外层集可以被定义为具有外部基础层的位流的层的集合或者一个或多个非基础层子树的层的集合。额外独立层集可以被定义为由一个或多个非基础层子树组成的层集。
在某些实施例中,可以使用输出层集嵌套SEI消息。输出层集嵌套SEI 消息可以被定义为,用于提供用于将SEI消息与一个或多个额外层集或者一个或多个输出层集相关联的机制。输出层集SEI消息的语法可以例如是如下的语法或者任何类似的语法:
可以例如如下地指定输出层集嵌套SEI消息的语义。输出层集嵌套 SEI消息提供将SEI消息与一个或多个额外层集或者一个或多个输出层集相关联的机制。输出层集嵌套SEI消息包含一个或多个SEI消息。等于0 的ols_flag指定被嵌套的SEI消息是与通过ols_idx[i]来标识的额外层集相关联的。等于1的ols_flag指定被嵌套的SEI消息是与通过ols_idx[i] 来标识的输出层集相关联的。当NumAddLayerSets等于0时,ols_flag应当等于1。num_ols_indices_minus1加1指定被嵌套SEI消息所关联的额外层集或者输出层集的索引的数量。ols_idx[i]指定被嵌套SEI消息所关联的在活跃VPS中指定的额外层集或者输出层集的索引。 ols_nesting_zero_bit可能例如被编码标准要求为等于0。
下面描述一个可以与其它实施例一起或者相独立地被应用的实施例。编码器可以在位流中指示和/或解码器可以从位流中解码与额外层集相关的指示。例如,可以在VPS扩展中在层集索引的以下值范围中的任一个或者全部两个值范围中指定额外层集:当外部基础层正在使用中时,用于额外层集的索引的第一范围;以及,用于额外独立层集(其可以被转换成相符的独立位流)的索引的第二范围。可以例如在编码标准中指定,不要求所指示的额外层集利用常规的子位流提取过程生成相符的位流。
用于指定额外层集的语法可以利用在诸如是VPS的序列级结构中指示的层依赖性信息。在一个示例实施例中,每个层树分区中的最高层被编码器指示为指定额外层集,并且被解码器解码为导出额外层集。例如,可以对于每个层树的每个层树分区利用基于1的索引来指示额外层集(按照预定义的次序,所述预定义的次序诸如是每个层树分区的独立层的递增的层标识符次序),并且索引0可以用于指示没有任何来自各自的层树分区的图片被包括在层树中。对于额外独立层集,编码器可以额外地指示,在应用非基础层子树提取过程之后,哪个独立层变成基础层。如果层集包含仅一个独立非基础层,则所述信息可以被编码器和/或解码器推断而非被显式地指示,例如被编码器在VPS扩展中推断和/或被解码器例如从VPS扩展中推断。
诸如是针对被重写的位流的VPS和/或HRD参数(例如,HEVC的缓冲周期、图片时序和/或解码单元信息SEI消息)的某些属性可以被包括在具体的嵌套SEI消息中,所述具体的嵌套SEI消息被指示为仅在重写过程中适用,以使得被嵌套的信息被解封装。在一个实施例中,嵌套SEI消息适用于可以例如由层集索引标识的指定的层集。当层集索引指向一个或多个非基础层子树的层集时,可以推断它将在针对该一个或多个非基础层子树的重写过程中被应用。在一个实施例中,与上描述的SEI消息相同或者相似的输出层集SEI消息可以用于指示被嵌套的SEI消息所适用的额外层集。
编码器可以在额外独立层集已被重写为符合独立位流的之后生成适用于所述额外独立层集的一个或多个VPS,并且将那些VPS包括在例如VPS 重写SEI消息中。VPS重写SEI消息等可以被包括在诸如是输出层集嵌套SEI消息(例如,如上面描述的)的合适的嵌套SEI消息中。额外地,编码器或者HRD验证器等可以在额外独立层集已被重写为符合独立位流的之后生成适用于所述额外独立层集的HRD参数,并且将那些HRD参数包括在诸如是输出层集嵌套SEI消息(例如,如上面描述的)的合适的嵌套 SEI消息中。
下面描述了一个可以与其它实施例一起或者相独立地被应用的实施例。非基础层子树提取过程可以将一个或多个非基础层子树转换成独立的相符的位流。非基础层子树提取过程可以获得额外独立层集的层集索引 lsIdx作为输入。非基础层子树提取过程可以包括以下步骤中的一个或多个步骤:
-它移除具有不在层集中的nuh_layer_id的NAL单元。
-它将等于与lsIdx相关联的所指示的新基础层的nuh_layer_id重写为 0。
-它从VPS重写SEI消息中提取VPS。
-它从输出层集嵌套SEI消息中提取缓冲周期、图片时序和解码单元信息SEI消息。
-它移除具有可能不适用于被重写的位流的嵌套SEI消息的SEI NAL 单元。
在一个可以与其它实施例相独立地或者一起被应用的实施例中,编码器或者另一个诸如是HRD验证器的实体可以指示以下类型的位流中的一种类型或者全部两种类型的缓冲参数:其中其NoClrasOutputFlag等于1 的IRAP图片的CL-RAS图片出现的位流,以及,其中其 NoClrasOutputFlag等于1的IRAP图片的CL-RAS图片不出现的位流。例如,可以例如在任一种或者全部两种所提到的类型的位流的VUI中单独地指示CPB缓冲器大小和比特率。额外地或者替换地,编码器或者另一个实体可以指示任一种或者全部两种所提到的类型的位流的初始的CPB和/ 或DPB缓冲延迟和/或其它缓冲和/或时序参数。编码器或者另一个实体可以例如将缓冲周期SEI消息包括在输出层集嵌套SEI消息中(例如,利用与如上面描述的语法和语义相同或者相似的语法和语义),该输出层集嵌套SEI消息可以指示被包含的缓冲周期SEI消息所适用的子位流、层集或者输出层集。HEVC的缓冲周期SEI消息支持指示参数的两个集合,一个集合用于其中与IRAP图片(对于其来说,所述缓冲周期SEI消息也是相关联的)相关联的前导图片出现的情况,并且另一个集合用于其中前导图片不出现的情况。在缓冲周期SEI消息被包含在可伸缩的嵌套SEI消息内的情况下,可以认为参数的后一个(替换的)集合涉及其中与IRAP图片 (对于其来说,所述缓冲周期SEI消息也是相关联的)相关联的CL-RAS 图片不出现的位流。概括地说,缓冲参数的后一个集合可以涉及其中与NoClrasOutputFlag等于1的IRAP图片相关联的CL-RAS图片不出现的位流。应当理解,尽管具体的术语和变量名在对该实施例的描述中被使用,但其可以被利用其它术语类似地实现,并且只要解码器操作是类似的则不需要使用相同或者相似的变量。
基于位流分区的缓冲操作已被提出,并且主要在MV-HEVC/SHVC的上下文中在下面被描述。然而,所呈现的位流分区缓冲的概念是通用于任何可伸缩的编码的。如下面描述的缓冲操作等可以作为HRD的一部分被使用。
位流分区可以被定义为采用NAL单元流或者字节流的形式的位的序列,所述位的序列是符合分区的位流的子集。可以例如基于层和/或子层来形成位流分区。位流可以被分割成一个或多个位流分区。对位流分区0(又称基础位流分区)的解码是独立于其它位流分区的。例如,基础层(以及与基础层相关联的NAL单元)可以是基础位流分区,而位流分区1可以由排除基础位流分区的剩余位流组成。基础位流分区可以被定义为自身也是相符的位流的位流分区。不同的位流分区可以例如在不同的输出层集中被使用,并且位流分区可以因此基于输出层集被指示。
可以针对位流分区给出HRD参数。当HRD参数被针对位流分区给出时,可以基于其中假想的调度和经编码图片缓冲针对每个位流分区工作的 HRD操作对于位流分区测试位流的相符性。
当位流分区被解码器和/或HRD使用时,维护多于一个被称为位流分区缓冲器的经编码图片缓冲器(BPB0、BPB1,...)。位流可以被分割成一个或多个位流分区。对位流分区0(又称基础位流分区)的解码是独立于其它位流分区的。例如,基础层(以及与基础层相关联的NAL单元) 可以是基础位流分区,而位流分区1可以由排除基础位流分区的剩余位流组成。在如本文中描述的CPB操作中,解码单元(DU)处理周期(从CPB 初始到达直到CPB移除为止)在不同的BPB中可以重叠。因此,利用对于对每个位流分区的解码过程能够实时地以到来的位流分区被调度的速率对到来的位流分区进行解码的假设,HRD模型固有地支持并行处理。
在一个可以与其它实施例相独立地或者一起被应用的实施例中,对缓冲参数进行编码可以包括对指示位流分区的嵌套的数据结构进行编码和对嵌套数的据结构内的缓冲参数进行编码。可以例如使用被包括在嵌套的 SEI消息中的缓冲周期、图片时序和解码单元信息SEI消息来传达位流分区的缓冲周期和图片时序信息。例如,位流分区嵌套SEI消息可以用于指示被嵌套的SEI消息所适用的位流分区。位流分区嵌套SEI消息的语法包括一个或多个对于它适用于其哪个位流分区操作和/或哪个位流分区(所指示的位流分区操作内的)的指示。所述指示可以例如是指语法级语法结构的索引,在所述语法级语法结构中,指定位流分区操作和/或位流分区,并且在所述语法级语法结构中,分区操作和/或分区被隐含地根据它被指定的次序编制索引或者显式地例如利用语法元素被编制索引。输出层集嵌套 SEI消息可以指定被包含的SEI消息所适用的输出层集,并且可以包括指定该SEI消息适用于输出层集的哪个位流分区的位流分区嵌套SEI消息。位流分区嵌套SEI消息可以接着包括针对所指定的层集和位流分区的一个或多个缓冲周期、图片时序和解码单元信息SEI消息。
图4a示出了适于使用本发明的实施例的视频编码器的方框图。图4a 呈现了针对两个层的编码器,但应当认识到,所呈现的编码器可以被类似地扩展为对多于两个层进行编码。图4a图示出了包括针对基础层的第一编码器部分500和针对增强层的第二编码器部分502的视频编码器的一个实施例。第一编码器部分500和第二编码器部分502中的每项可以包括类似的用于对到来的图片进行编码的单元。编码器部分500、502可以包括像素预测器302、402、预测误差编码器303、403和预测错误解码器304、404。图4a还将像素预测器302、402的一个实施例示为包括之间预测器306、 406、内部预测器308、408、模式选择器310、410、滤波器316、416和参考帧存储器318、418。第一编码器部分500的像素预测器302接收300将在之间预测器306(其确定图像与经运动补偿的参考帧318之间的差别) 和内部预测器308(其仅基于当前的帧或者图片的已被处理的部分确定对图像块的预测)两者处被编码的视频流的基础层图像。之间预测器和内部预测器两者的输出被传递给模式选择器310。内部预测器308可以具有多于一个内部预测模式。因此,每个模式可以执行内部预测并且将所预测的信号提供给模式选择器310。模式选择器310还接收基础层图片300的副本。对应地,第二编码器部分502的像素预测器402接收400将在之间预测器406(其确定图像与经运动补偿的参考帧418之间的差别)和内部预测器408(其仅基于当前的帧或者图片的已被处理的部分确定对图像块的预测)两者处被编码的视频流的增强层图像。之间预测器和内部预测器两者的输出被传递给模式选择器410。内部预测器408可以具有多于一个内部预测模式。因此,每个模式可以执行内部预测并且将所预测的信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
在一个可以与其它实施例一起或者相独立地被应用的实施例中,编码器等(诸如是HRD验证器)可以在位流中例如在VPS或者SEI消息中指示包含跳过图片的层或者层的集合的第二子DPB大小等,其中,第二子 DPB大小排除了跳过图片。第二子DPB大小可以在指示一个或多个常规的子DPB大小之外被指示,所述常规的子DPB大小诸如是当前的 MV-HEVC和SHVC草案规范的 max_vps_dec_pic_buffering_minus1[i][k][j]和/或 max_vps_layer_dec_pic_buff_minus1[i][k][j]。应当理解,跳过图片不出现情况下的逐层子DPB大小和/或针对分辨率特定的DPB操作的子DPB 大小可以被指示。
在一个可以与其它实施例一起或者相独立地被应用的实施例中,解码器等(诸如是HRD)可以从位流中例如从VPS或者SEI消息中解码包含跳过图片的层或者层的集合的第二子DPB大小等,其中,第二子DPB大小排除了跳过图片。第二子DPB大小可以在解码一个或多个常规的子DPB 大小之外被解码,所述常规的子DPB大小诸如是当前的MV-HEVC和 SHVC草案规范的max_vps_dec_pic_buffering_minus1[i][k][j]和/或 max_vps_layer_dec_pic_buff_minus1[i][k][j]。应当理解,跳过图片不出现情况下的逐层子DPB大小和/或针对分辨率特定的DPB操作的子DPB 大小可以被解码。解码器等可以使用第二子DPB大小等来为经解码图片分配缓冲器。解码器等可以省略在DPB中存储经解码的跳过图片。作为代替,当跳过图片被用作预测的参考时,解码器等可以使用与跳过图片相对应的参考层图片作为预测的参考图片。如果参考层图片在它可以被用作参考之前需要诸如是重新采样的层间处理,则解码器可以对与跳过图片相对应的参考层图片进行例如是重新采样的处理,并且使用经处理的参考层图片作为预测的参考。
在一个可以与其它实施例一起或者相独立地被应用的实施例中,编码器等(诸如是HRD验证器)可以在位流中例如使用HEVC切片段头部的 slice_reserved[i]语法元素的位位置和/或在SEI消息中指示图片是跳过图片。在一个可以与其它实施例一起或者相独立地被应用的实施例中,编码器等(诸如是HRD验证器)可以从位流中例如从HEVC切片段头部的 slice_reserved[i]语法元素的位位置中和/或从SEI消息中解码图片是跳过图片。
模式选择器310可以在成本评估器方框382中例如使用拉格朗日成本函数来通常基于块在诸如是运动向量、参考索引和内部预测方向的编码模式和它们的参数值之间进行选择。这种成本函数可以使用加权因子lambda 来将由于有损的编码方法产生的(精确的或者估计的)图像失真与表示图像区域中的像素值所需的(精确的或者估计的)信息量联系在一起:C=D +lambda×R,其中,C是将被最小化的拉格朗日成本,D是伴随模式和它们的参数的图像失真(例如,均方误差),并且R是表示在解码器中重构图像块所需的数据(例如,包括用于表示候选运动向量的数据量)所需要的位数。
取决于选择了哪个编码模式来对当前的块进行编码,之间预测器306、 406的输出或者可选的内部预测器模式中的一个内部预测器模式的输出或者模式选择器内的表面编码器的输出被传递给模式选择器310、410的输出。模式选择器的输出被传递给第一求和设备321、421。第一求和设备可以从基础层图片300/增强层图片400中减去像素预测器302、402的输出,以产生第一预测误差信号320、420,第一预测误差信号320、420被输出给预测误差编码器303、403。
像素预测器302、402进一步从初步重构器339、439接收图像快312、 412的预测表示与预测误差解码器304、404的输出338、438的组合。经初步重构的图像314、414可以被传递给内部预测器308、408和滤波器316、 416。接收初步表示的滤波器316、416可以对初步表示进行滤波,并且输出最终的经重构的图像340、440,最终的经重构的图像340、440可以被保存在参考帧存储器318、418中。参考帧存储器318可以被连接到之间预测器306,以被用作在之间预测操作中将未来的基础层图片300与其进行比较的参考图像。受约束于被选择和指示为是根据某些实施例的对增强层的层间采样预测和/或层间运动信息预测的源的基础层,参考帧存储器318 可以还被连接到之间预测器406,以被用作在之间预测操作中将未来的增强层图片400与其进行比较的参考图像。此外,参考帧存储器418可以被连接到之间预测器406,以被用作在之间预测操作中将未来的增强层图片 400与其进行比较的参考图像。
受约束于被选择和指示为是根据某些实施例的用于对增强层的滤波参数进行预测的源的基础层,来自第一编码器部分500的滤波器316的滤波参数可以被提供给第二编码器部分502。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。所述变换例如是DCT变换。量化器344、444对例如是DCT系数的变换域信号进行量化,以形成经量化的系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并且执行预测误差编码器303、403的逆过程,以产生经解码的预测误差信号338、438,经解码的预测误差信号338、438当在第二求和设备339、439 处被与图像块312、412的预测表示合并时产生经初步重构的图像314、414。可以认为预测误差解码器包括:反量化器361、461,该反量化器361、461 对例如是DCT系数的经量化的系数值进行反量化,以重构变换信号;以及逆变换单元363、463,该逆变换单元363、463对经重构的变换信号执行逆变换,其中,逆变换单元363、463的输出包含经重构的块。预测误差解码器可以还包括块滤波器,所述块滤波器可以根据进一步的经解码的信息和滤波器参数对经重构的块进行滤波。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对所述信号执行合适的熵编码/可变长度编码,以提供误差检测和纠正能力。熵编码器330、430的输出可以被例如复用器508插入位流中。
图4b描绘了包括基础层编码单元500和增强层编码单元502的空间可伸缩性编码装置400的一个实施例的高级方框图。基础层编码单元500 将输入视频信号300编码成基础层位流506,并且分别地,增强层编码单元502将输入视频信号300编码成增强层位流507。空间可伸缩性编码装置400可以还包括下采样器404,该下采样器404用于如果基础层表示和增强层表示的分辨率与彼此不同则对输入视频信号进行下采样。例如,基础层与增强层之间的缩放因子可以是1:2,其中,增强层的分辨率是基础层的分辨率的两倍(在水平和垂直方向两者上)。
基础层编码单元500和增强层编码单元502可以包括与图4a中所描绘的编码器类似的单元,或者它们可以是与彼此不同的。
在许多实施例中,参考帧存储器318、418可以是能够存储不同层的经解码的图片的,或者可以存在用于存储不同层的经解码的图片的不同的参考帧存储器。
像素预测器302、402的操作可以被配置为实现任何像素预测算法。
滤波器316可以用于减少来自参考图像的诸如是块、振铃等的各种效应。
滤波器316可以包括例如去块滤波器、采样自适应偏移量(SAO)滤波器和/或自适应环路滤波器(ALF)。在某些实施例中,编码器基于例如 RDO确定将对图片的哪个区域进行滤波和滤波器系数,并且向解码器信号通知该信息。
如果增强层编码单元502已选择了SAO滤波器,则它可以使用上面呈现的SAO算法。
预测误差编码器303、403可以包括变换单元342、442和量化器344、 444。变换单元342、442将第一预测误差信号320、420变换到变换域。所述变换例如是DCT变换。量化器344、444对例如是DCT系数的变换域信号进行量化,以形成经量化的系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并且执行预测误差编码器303、403的逆过程,以产生经解码的预测误差信号338、438,经解码的预测误差信号338、438当在第二求和设备339、439 处被与图像块312、412的预测表示合并时产生经初步重构的图像314、414。可以认为预测误差解码器包括:反量化器361、461,该反量化器361、461 对例如是DCT系数的经量化的系数值进行反量化,以重构变换信号;以及逆变换单元363、463,该逆变换单元363、463对经重构的变换信号执行逆变换,其中,逆变换单元363、463的输出包含经重构的块。预测误差解码器可以还包括宏块滤波器,所述宏块滤波器可以根据进一步的经解码的信息和滤波器参数对经重构的宏块进行滤波。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对所述信号执行合适的熵编码/可变长度编码,以提供误差检测和纠正能力。熵编码器330、430的输出可以被例如复用器508插入位流中。
在某些实施例中,滤波器440包括采样自适应滤波器,在某些其它的实施例中,滤波器440包括自适应环路滤波器,以及在另外某些其它的实施例中,滤波器440包括采样自适应滤波器和自适应环路滤波器两者。
如果基础层和增强层的分辨率与彼此不同,则经滤波的基础层采样值可能需要由上采样器450进行上采样。上采样器450的输出即经上采样的经滤波基础层采样值然后被提供给增强层编码单元502,作为对增强层上的当前块的像素值的预测的参考。
出于完整性,下文中描述了合适的解码器。然而,某些解码器可能不能够处理其中它们可能不能够解码全部所接收的图像的增强层数据。解码器可以检查所接收的位流,以确定诸如是 inter_layer_pred_for_el_rap_only_flag和single_layer_for_non_rap_flag 两个标志的值。如果第一个标志的值指示增强层中的仅随机访问图片可以使用层间预测并且增强层中的非RAP图片从不使用层间预测,则解码器可以推断层间预测仅被与RAP图片一起使用。
在解码器侧,类似的操作被执行以重构图像块。图5a示出了适于使用本发明的实施例的视频解码器的方框图。在该实施例中,视频解码器550 包括针对基础视图分量的第一解码器部分552和针对非基础视图分量的第二解码器部分554。方框556图示出了用于将与基础视图分量相关的信息递送给第一解码器部分552和用于将与非基础视图分量相关的信息递送给第二解码器部分554的解复用器。解码器示出了对所接收的信号执行熵解码(E-1)的熵解码器700、800。熵解码器因此执行上面描述的编码器的熵编码器330、430的逆操作。熵解码器700、800将熵解码的结果输出给预测误差解码器701、801和像素预测器704、804。参考P’n代表图像块的经预测的表示。参考D’n代表经重构的预测误差信号。方框705、805图示出了经初步重构的图像或者图像块(I’n)。参考R’n代表最终的经重构的图像或者图像块。方框703、803图示出了逆变换(T-1)。方框702、802图示出了逆量化(Q-1)。方框706、806图示出了参考帧存储器(RFM)。方框707、807图示出了预测(P)(之间预测或者内部预测)。方框708、 808图示出了滤波(F)。方框709、809可以用于将经解码的预测误差信息与经预测的基础视图/非基础视图分量合并以获得经初步重构的图像 (I’n)。经初步重构和滤波的基础视图图像可以从第一解码器部分552被输出,并且经初步重构和滤波的基础视图图像可以从第二解码器部分554 被输出。
像素预测器704、804接收熵解码器700、800的输出。熵解码器700、 800的输出可以包括对在当前块进行编码时所使用的预测模式的指示。像素预测器704、804内的预测器选择器707、807可以确定当前的将被解码的块是增强层块。因此,预测选择器707、807可以选择在对当前的增强层块进行解码时使用来自诸如是基础层的另一个层上的对应的块的信息对基础层预测块进行滤波。对基础层预测块已于在增强层预测中使用之前被编码器滤波的指示可以已被解码器接收,其中,像素预测器704、804可以使用该指示来向滤波器708、808提供经重构的基础层块值,以及确定例如是 SAO滤波器和/或自适应环路滤波器的哪种滤波器已被使用或者可能存在其它的用于确定是否经修改的解码模式应当被使用的方法。
预测器选择器可以将图像块的经预测的表示P’n输出给第一合并器 709。图像块的经预测的表示被与经重构的预测误差信号D’n相结合地使用,以生成经初步重构的图像I’n。经初步重构的图像可以在预测器704、 804中被使用,或者可以被传递给滤波器708、808。滤波器应用滤波,所述滤波输出最终的经重构的信号R’n。最终的经重构的信号R’n可以被存储在参考帧存储器706、806中,参考帧存储器706、806进一步被连接到预测器707、807以用于预测操作。
预测误差解码器702、802接收熵解码器700、800的输出。预测误差解码器702、802的反量化器702、802可以对熵解码器700、800的输出进行反量化,并且逆变换方框703、803可以对由反量化器702、802输出的经反量化的信号执行逆变换操作。熵解码器700、800的输出可以还指示预测误差信号将不被应用,并且在此情况下,预测误差解码器产生全0输出信号。
应当理解,对于图5a中的各种方框,层间预测被应用,即使其未在图 5a中被图示出。层间预测可以包括采样预测和/或语法/参数预测。例如,来自一个解码器部分(例如,RFM 706)的参考图片可以被用于其它解码器部分(例如,方框807)的采样预测。在另一个示例中,来自一个解码器部分的语法元素或者参数(例如,来自方框708的滤波器参数)可以被用于其它解码器部分(例如,方框808)的语法/参数预测。
在某些实施例中,可以利用除H.264/AVC或者HEVC之外的另一个标准对视图进行编码。
图5b示出了包括基础层解码单元810和增强层解码单元820的空间可伸缩性解码装置800的方框图。基础层解码单元810将经编码的基础层位流802解码成基础层经解码视频信号818,以及分别地,增强层解码单元820将经编码的增强层位流804解码成增强层经解码视频信号828。空间可伸缩性解码装置800可以还包括用于对经重构的基础层像素值进行滤波的滤波器840和用于对经滤波的经重构基础层像素值进行上采样的上采样器850。
基础层解码单元810和增强层解码单元820可以包括与图4a中所描绘的编码器类似的单元,或者它们可以是与彼此不同的。换句话说,基础层解码单元810和增强层解码单元820两者可以包括图5a中所示的解码器的单元中的全部或者一些单元。在某些实施例中,相同的解码器电路可以被用于实现基础层解码单元810和增强层解码单元820的操作,其中,解码器知道其当前正在解码的层。
可能还有可能使用包括HEVC SAO和HEVC ALV后滤波器的任何增强层后处理模块作为对于基础层数据的预处理器。增强层后处理模块当对基础层数据进行操作时可以被修改。例如,特定的模式可以被禁用,或者特定的新模式可以被添加。
图8是可以在其中实现各种实施例的通用多媒体通信系统的图形表示。如图8中所示,数据源900提供采用模拟、未经压缩的数字或者经压缩的数字格式或者这些格式的任意组合的源信号。编码器910将源信号编码到经编码的媒体位流中。应当指出,可以从位于几乎任何类型的网络内的远程设备直接或者间接地接收将被解码的位流。额外地,可以从本地的硬件或者软件接收所述位流。编码器910可以是能够对诸如是音频和视频的多于一个媒体类型进行编码的,或者可能需要多于一个编码器910来对不同媒体类型的源信号进行编码。编码器910可以还获得诸如是图形和文本的以合成方法产生的输入,或者它可以是能够产生合成媒体的经编码的位流的。在下面,为简化描述,考虑了仅对一种媒体类型的一个经编码的媒体位流的处理。然而应当指出,通常,多媒体服务包括几个流(通常至少一个音频和视频流)。还应当指出,所述系统可以包括许多编码器,但在图8中,在不失一般性的情况下,为简化描述,表示了仅一个编码器910。应当进一步理解,尽管包含在本文中的文本和示例可能特别地描述编码过程,但本领域的技术人员将理解,相同的概念和原理还适用于对应的解码过程,并且反之亦然。
经编码的媒体位流被传输给存储器920。存储器920可以包括用于存储经编码的媒体位流的任何类型的大容量存储器。存储器920中的经编码的媒体位流的格式可以是基本的自包含的位流格式,或者一个或多个经编码的媒体位流可以被封装到容器文件中。如果一个或多个媒体位流被封装到容器文件中,则文件生成器(未在图中示出)可以用于将所述一个或多个媒体位流存储在所述文件中并且创建也被存储在所述文件中的文件格式元数据。编码器910或者存储器920可以包括文件生成器,或者文件生成器被可操作地附着到编码器910或者存储器920。某些系统“直播地”工作,即,省略存储器并且将经编码的媒体位流从编码器910直接传输到发送器930。经编码的媒体位流因而被基于需求传输给也被称为服务器的发送器930。在传输中所使用的格式可以是基本的自包含的位流格式、分组流格式,或者一个或多个经编码的媒体位流可以被封装到容器文件中。编码器910、存储器920和服务器930可以位于同一物理设备中,或者它们可以被包括在单独的设备中。编码器910和服务器930可以与直播的实时内容一起工作,在此情况下,经编码的媒体位流通常不被永久地存储,而相反在短时间段内被缓冲在内容编码器910和/或服务器930中,以使处理延迟、传输延迟和经编码媒体比特率中的变化平滑。
服务器930使用通信协议栈发送经编码的媒体位流。所述栈可以包括但不限于实时传输协议(RTP)、用户数据报(UDP)和互联网协议(IP)。当通信协议栈是面向分组的时,服务器930将经编码的媒体位流封装到分组中。例如,当RTP被使用时,服务器930根据RTP净荷格式将经编码的媒体位流封装到RTP分组中。通常,每个媒体类型具有专用的RTP净荷格式。应当再次指出,一个系统可以包含多于一个服务器930,但为简单起见,下面的描述仅考虑一个服务器930。
如果媒体内容被封装在容器文件中以用于存储器920或者用于将数据输入到发送器930,则发送器930可以包括或者被可操作地附着到“发送文件解析器”(未在图中示出)。特别地说,如果容器文件本身未被发送,但所包含的经编码的媒体位流中的至少一个经编码的媒体位流被封装以用于通过通信协议传输,则发送文件解析器定位将通过通信协议被传达的经编码的媒体位流的合适部分。发送文件解析器可以还在创建诸如是分组头部和净荷的针对通信协议的正确格式时提供辅助。多媒体容器文件可以包含诸如是ISO基本媒体文件格式中的提示轨道的封装指令,以用于将所包含的媒体位流中的至少一个媒体位流封装到通信协议上。
服务器930可以或者可以不被通过通信网络连接到网关940。可以另外或者替换地被称为中间框或者媒体感知网络单元(MANE)的网关940 可以执行不同类型的功能,所述功能诸如是将符合一种通信协议栈的分组流转换到另一种通信协议栈、数据流的合并和分叉以及根据下行链路和/ 或接收器能力操纵数据流,根据下行链路和/或接收器能力操纵数据流诸如是根据占优势的下行链路网络状况控制被转发的流的比特率。网关940的示例包括多点会议控制单元(MCU)、电路交换与分组交换视频电话之间的网关、基于蜂窝的即按即说(PoC)服务器、数字视频广播手持型 (DVB-H)系统中的IP封装器或者将广播传输本地转发到家庭无线网络的机顶盒。当RTP被使用时,网关940可以被称为RTP混合器或者RTP 转换器,并且可以充当RTP连接的端点。在发送器930与接收器950之间的连接中可以存在0到任意数量的网关。
所述系统包括一个或多个通常能够将所发送的信号接收、解调和/或解封装成经编码的媒体位流的接收器950。经编码的媒体位流被传输给记录存储器955。记录存储器955可以包括用于存储经编码的媒体位流的任何类型的大容量存储器。记录存储器955可以替换地或者额外地包括诸如是随机访问存储器的计算存储器。记录存储器955中的经编码的媒体位流的格式可以是基本的自包含的位流格式,或者一个或多个经编码的媒体位流可以被封装到容器文件中。如果存在与彼此相关联的诸如是音频流和视频流的多个经编码的媒体位流,则容器文件通常被使用,并且接收器950包括或者被附着到从输入流产生容器文件的容器文件生成器。某些系统“直播地”工作,即,省略记录存储器955,并且将经编码的媒体位流从接收器950直接传输给解码器960。在某些系统中,仅所记录的流的最近部分 (例如所记录的流的最近10分钟的选摘)被维护在记录存储器955中,而任何较早的所记录的数据被从记录存储器955中丢弃。
将经编码的媒体位流从记录存储器955传输给解码器960。如果存在与彼此相关联并且被封装到容器文件中的诸如是音频流和视频流的多个经编码的媒体位流,或者单一的媒体流被封装在容器文件中例如以用于更容易的访问,则文件解析器(未在图中示出)被用于从容器文件中解封装每个经编码的媒体位流。记录存储器955或者解码器960可以包括文件解析器,或者文件解析器可以被附着到记录存储器955或者解码器960。
经编码的媒体位流可以被解码器960进一步处理,解码器960的输出是一个或多个未经压缩的媒体流。最后,渲染器970可以例如利用扬声器或者显示器再现未经压缩的媒体流。接收器950、记录存储器955、解码器 960和渲染器970可以位于同一物理设备中,或者它们可以被包括在单独的设备中。
图1将根据一个示例实施例的视频编码系统的方框图示为可以包括根据本发明的一个实施例的编解码器的示例性装置或者电子设备50的示意方框图。图2示出了根据一个示例实施例的装置的布局。接下来将阐述图 1和2的单元。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而应当认识到,本发明的实施例可以在任何可能需要编码和解码或者对视频图像进行编码或者解码的电子设备或者装置内被实现。
装置50可以包括用于合并和保护设备的机壳30。装置50进一步可以包括采用液晶显示器的形式的显示器32。在本发明的其它实施例中,所述显示器可以是任何适于显示图像或者视频的合适显示器技术。装置50可以进一步包括键区34。在本发明的其它实施例中,可以使用任何合适的数据或者用户界面机制。例如,用户界面可以被实现为作为触摸敏感显示器的一部分的虚拟键盘或者数据输入系统。所述装置可以包括麦克风36或者任何可以是数字或者模拟信号输入的合适的音频输入。装置50可以进一步包括音频输出设备,所述音频输出设备在本发明的实施例可以是以下各项中的任一项:耳机38、扬声器、或者模拟音频或者数字音频输出连接。装置 50可以还包括电池40(或者在本发明的其它实施例中,所述设备可以由诸如是太阳能电池、燃料电池或者时钟发生器的任何合适的移动能量设备供电)。所述装置可以进一步包括能够记录或者捕获图像和/或视频的照相机 42。在某些实施例中,装置50可以进一步包括用于与其它设备的短距视线通信的红外线端口。在其它实施例中,装置50可以进一步包括诸如是例如蓝牙无线连接或者USB/火线有线连接的任何合适的短距通信解决方案。
装置50可以包括用于对装置50进行控制的控制器56或者处理器。控制器56可以被连接到存储器58,存储器58在本发明的实施例中可以存储采用图像和音频数据的形式的数据,和/或可以还存储用于在控制器56上实现的指令。控制器56可以进一步被连接到编码器电路56,所述编解码器电路56适于实现对音频和/或视频数据的编码和解码或者在由控制器56 实现的编码和解码中提供辅助。
装置50可以进一步包括例如是UICC和UICC阅读器的用于提供用户信息和适于提供用于在网络处对用户进行认证和授权的认证信息的读卡器48和智能卡46。
装置50可以包括连接到控制器并且适于生成例如用于与蜂窝通信网络、无线通信网络或者无线局域网通信的无线通信信号的无线电接口电路 52。装置50可以进一步包括连接到无线电接口电路52的用于将在无线电接口电路52处生成的射频信号发送给其它装置和用于从其它装置接收射频信号的天线44。
在本发明的某些实施例中,装置50包括能够记录或者检测各个帧的照相机,所述各个帧然后被传递给编解码器54或者控制器以用于处理。在本发明的某些实施例中,所述装置可以在传输和/或存储之前从另一个设备接收视频图像数据以用于处理。在本发明的某些实施例中,装置50可以无线地和经由有线的连接接收图像以用于编码/解码。
图3示出了根据一个示例实施例的包括多个装置、网络和网络单元的视频编码的安排。关于图3,示出了本发明的实施例可以在其中被实现的系统的一个示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或者无线网络的任意组合,所述有线或者无线网络包括但不限于无线蜂窝电话网络(诸如是GSM、UMTS、CDMA网络等)、诸如由IEEE 802.x标准中的任一个标准定义的无线局域网 (WLAN)、蓝牙个域网、以太局域网、令牌环局域网、广域网和互联网。
系统是10可以包括适于实现本发明的实施例的有线和无线通信设备或者装置50两者。例如,图3中所示的系统示出了移动电话网络11和对互联网28的表示。与互联网28的连接性可以包括但不限于长距无线连接、短距无线连接和包括但不限于电话线路、线缆线路、电力线路和类似的通信路径的各种有线连接。
系统10中所示的示例通信设备可以包括但不限于电子设备或者装置 50、个人数字助理(PDA)和移动电话的组合14、PDA 16、综合消息传送设备(IMD)18、桌面型计算机20、笔记本计算机22。装置50可以是固定的,或者当被正在移动的个人携带时是移动的。装置50可以还处在运输模式下,所述运输模式包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或者任何类似的合适的运输模式。
一些或者进一步的装置可以通过与基站24的无线连接25发送和接收呼叫和消息并且与服务提供商通信。基站24可以连接到允许移动电话网络 11与互联网28之间的通信的网络服务器26。所述系统可以包括额外的通信设备和各种类型的通信设备。
所述通信设备可以使用各种传输技术进行通信,所述传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息传送服务(SMS)、多媒体消息传送服务(MMS)、电子邮件、即时消息传送服务(IMS)、蓝牙、IEEE 802.11 和任何类似的无线通信技术。在实现本发明的各种实施例时涉及的通信设备可以使用包括但不限于无线电、红外线、激光、线缆连接和任何合适的连接的各种介质进行通信。
在上面,已关于特定类型的参数集描述了一些实施例。然而需要理解,可以在位流中利用任何类型的参数集或者语法结构来实现实施例。
在上面,已关于将指示、语法单元和/或语法结构编码到位流或者经编码的视频序列中和/或从位流或者经编码的视频序列中解码指示、语法元素和/或语法结构描述了一些实施例。然而需要理解,可以在将指示、语法元素和/或语法结构编码到处在包括诸如是经编码切片的视频编码层数据的位流或者经编码的视频序列的外部的语法结构或者数据单元中和/或从处在包括诸如是经编码切片的视频编码层数据的位流或者经编码的视频序列的外部的语法结构或者数据单元中解码指示、语法元素和/或语法结构时实现实施例。例如,在某些实施例中,根据任一个上面的实施例的指示可以被编码到视频参数集或者序列参数集中,其中,例如使用诸如是SDP的控制协议在经编码的视频序列的外部传达所述视频参数集或者序列参数集。继续同一示例,接收器可以例如使用所述控制协议获得所述视频参数集或者序列参数集,并且提供所述视频参数集或者序列参数集以用于解码。
在上面,已借助于位流的语法描述了示例实施例。然而需要理解,对应的结构和/或计算机程序可以位于用于生成位流的编码器处和/或用于对位流进行解码的解码器处。同样地,在已参考编码器描述了示例实施例的情况下,需要理解,产生的位流和解码器在它们中具有对应的元素。同样地,在已参考解码器描述了示例实施例的情况下,需要理解,编码器具有用于生成将被解码器解码的位流的结构和/或计算机程序。
在上面,已参考增强层和基础层描述了一些实施例。需要理解,所述基础层可以也是任何其它层,只要它是增强层的参考层即可。还需要理解,编码器可以在位流中生成多于两个层,并且解码器可以从位流中解码多于两个层。可以利用增强层与它的参考层的任意对实现实施例。同样地,可以在考虑多于两个层的情况下实现许多实施例。
在上面,已参考单一的增强层描述了一些实施例。需要理解,实施例不限于对仅一个增强层进行编码和/或解码,而是更大数量的增强层可以被编码和/或解码。例如,附属图片层可以被编码和/或解码。在另一个示例中,表示渐进式源内容的额外的增强层可以被编码和/或解码。
在上面,已使用跳过图片描述了一些实施例,同时已使用对角线层间预测描述了一些其它的实施例。需要理解,跳过图片和对角线层间预测不必是互斥的,并且因此可以使用跳过图片和对角线层间预测两者类似地实现实施例。例如,在一个访问单元中,跳过图片可以用于实现从经编码字段向经编码帧或者反之的切换,并且在另一个访问单元中,对角线层间预测可以用于实现从经编码字段向经编码帧或者反之的切换。
在上面,已参考经交错的源内容描述了一些实施例。需要理解,可以在忽略源内容的扫描类型的情况下应用实施例。换句话说,实施例可以类似地适用于渐进式源内容和/或经交错和渐进式源内容的混合体。
在上面,已参考单一的编码器和/或单一的解码器描述了一些实施例。需要理解,可以在实施例中类似地使用多于一个编码器和/或多于一个解码器。例如,可以依照每个被编码和/或被解码的层使用一个编码器和/或一个解码器。
尽管上面的示例描述了在电子设备内的编解码器内工作的本发明的实施例,但应当认识到,如下面描述的本发明可以被实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在可通过固定或者有线通信通路实现视频编码的视频编解码器中被实现。
因此,用户设备可以包括诸如是在上面的本发明的实施例中描述的那些视频编解码器的视频编解码器。应当认识到,术语用户设备旨在覆盖诸如是移动电话、便携式数据处理设备或者便携式web浏览器的任何合适类型的无线用户设备。
此外,公共陆地移动网络(PLMN)的单元可以也包括如上面描述的视频编解码器。
概括地说,可以用硬件或者专用电路、软件、逻辑或者它们的任意组合来实现本发明的各种实施例。例如,某些方面可以用硬件来实现,而其它方面可以用可以被控制器、微处理器或者其它计算设备执行的固件或者软件来实现,尽管本发明不限于此。尽管可以作为方框图、流程图或者使用某种其它的图画表示来图示和描述本发明的各种方面,但应当理解,作为非限制性的示例,可以使用硬件、软件、固件、专用电路或者逻辑、通用硬件或者控制器或者其它计算设备、或者它们的某种组合来实现本文中描述的这些方框、装置、系统、技术或者方法。
可以由可以被移动设备的数据处理器诸如在处理器实体中执行的计算机软件、或者由硬件、或者由软件和硬件的组合来实现本发明的实施例。进一步地,在这点上应当指出,如附图中的逻辑流的任何方框可以表示程序步骤、或者互联的逻辑电路、块和功能、或者程序步骤和逻辑电路、块和功能的组合。软件可以被存储在诸如是存储器芯片、或者在处理器内实现的存储器块的物理介质、诸如是硬盘或者软盘的磁性介质和诸如是例如 DVD和其数据变型CD的光学介质上。
可以借助于位于存储器中并且导致相关的装置实现本发明的计算机程序代码来实现本发明的各种实施例。例如,终端设备可以包括用于处置、接收和发送数据的电路和电子器件、存储器中的计算机程序代码以及当运行计算机程序代码时导致该终端设备实现一个实施例的特征的处理器。仍然进一步地,网络设备可以包括用于处置、接收和发送数据的电路和电子器件、存储器中的计算机程序代码以及当运行计算机程序代码时导致该网络设备实现一个实施例的特征的处理器。
存储器可以是任何适于本地技术环境的类型的,并且可以使用诸如是基于半导体的存储器设备、磁性存储器设备和系统、光学存储器设备和系统、固定存储器和可移除存储器的任何合适的数据存储技术来实现。数据处理器可以是任何适于本地技术环境的类型的,并且作为非限制性示例可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一项或多项。
可以在诸如是集成电路模块的各种部件中实践本发明的实施例。集成电路的设计总的来说是高度自动化的过程。复杂和强大的软件工具可用于将逻辑层设计转换成对于被蚀刻和形成在半导体基底上准备就绪的半导体电路设计。
诸如是由加利福尼亚芒廷维尤的Synopsys公司和加利福尼亚圣何塞的CadenceDesign提供的那些程序的程序使用已恰当建立的设计规则以及已预存储的设计模块的库自动地在半导体芯片上规定导体的路线和放置部件。一旦半导体电路的设计已被完成,则产生的采用标准化的电子格式 (例如,Opus、GDSII等)的电路可以被发送给半导体制造设施或者“工厂”以便进行制造。
前述的描述已经由示例性和非限制性的示例提供了对本发明的示例性实施例的充分和信息丰富的描述。然而,当结合附图和所附的权利要求阅读时,鉴于前述的描述,各种修改和调整对于相关领域的技术人员可以变得显而易见。然而,对于本发明的教导的全部这样的和类似的修改将仍然落在本发明的范围内。
下面将提供一些示例。
根据第一示例,提供了一种方法,所述方法包括:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
在某些实施例中,所述方法包括以下步骤中的一个或多个步骤:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在某些实施例中,所述方法包括:
接收这样的指示:所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在某些实施例中,所述方法包括:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在某些实施例中,所述方法包括:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在某些实施例中,所述方法包括:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在某些实施例中,所述方法包括:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在某些实施例中,所述方法包括:
将所述第二参考图片解码为将不被输出的图片。
根据第二示例,提供了一种装置,所述装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
接收这样的指示:所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
将所述第二参考图片解码为将不被输出的图片。
根据第三示例,提供了一种被包含在非暂时性计算机可读介质中的包括计算机程序代码的计算机程序产品,所述计算机程序代码被配置为,当在至少一个处理器上被执行时,导致装置或者系统执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二对经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
接收这样的指示:所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
将所述第二参考图片解码为将不被输出的图片。
根据第四示例,提供了一种方法,所述方法包括:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码包括使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
在某些实施例中,所述方法包括以下步骤中的一个或多个步骤:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在某些实施例中,所述方法包括:
接收这样的指示:对于所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在某些实施例中,所述方法包括:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在某些实施例中,所述方法包括:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一经编码的帧和将所述第二未经压缩的互补字段对编码为所述第二对经编码的字段的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在某些实施例中,所述方法包括:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一对经编码的字段和将所述第二未经压缩的互补字段对编码为所述第二经编码的帧的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在某些实施例中,所述方法包括:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在某些实施例中,所述方法包括:
将所述第二参考图片编码为将不从解码过程被输出的图片。
根据第五示例,提供了一种装置,所述装置包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码是经由使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考的;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码是经由使用所述第二参考图片作为对所述第二经编码的帧的预测的参考的。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
接收这样的指示:对于所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一经编码的帧和将所述第二未经压缩的互补字段对编码为所述第二对经编码的字段的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一对经编码的字段和将所述第二未经压缩的互补字段对编码为所述第二经编码的帧的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在所述装置的某些实施例中,所述至少一个存储器具有存储在其上的代码,所述代码当被所述至少一个处理器执行时,导致所述装置执行至少以下操作:
将所述第二参考图片编码为将不从解码过程被输出的图片。
根据第六示例,提供了一种被包含在非暂时性计算机可读介质中的包括计算机程序代码的计算机程序产品,所述计算机程序代码被配置为,当在至少一个处理器上被执行时,导致装置或者系统执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码是经由使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考的;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码是经由使用所述第二参考图片作为对所述第二经编码的帧的预测的参考的。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
接收对所述第一参考图片的指示;
接收对所述第二参考图片的指示。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
接收这样的指示:对于所述第一可伸缩性、第二可伸缩性层、第三可伸缩性层和第四可伸缩性层中的至少一项,是否该可伸缩性层包括表示经编码的字段或者经编码的帧的经编码的图片。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
使用一个层作为所述第一可伸缩性层和所述第四可伸缩性层;以及
使用另一个层作为所述第二可伸缩性层和所述第三可伸缩性层。
在某些实施例中,所述一个层是可伸缩视频编码的基础层;以及,所述另一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述另一个层是可伸缩视频编码的基础层;以及,所述一个层是所述可伸缩视频编码的增强层。
在某些实施例中,所述一个层是可伸缩视频编码的第一增强层;以及所述另一个层是所述可伸缩视频编码的另一个增强层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一经编码的帧和将所述第二未经压缩的互补字段对编码为所述第二对经编码的字段的响应,使用在所述可伸缩性层分层中比所述第一可伸缩性层高的可伸缩性层作为所述第二可伸缩性层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
提供包括按照视频质量增强的递增次序排序的多个可伸缩性层的可伸缩性层分层;以及
作为对确定将所述第一互补字段对编码为所述第一对经编码的字段和将所述第二未经压缩的互补字段对编码为所述第二经编码的帧的响应,使用在所述可伸缩性层分层中比所述第三可伸缩性层高的可伸缩性层作为所述第四可伸缩性层。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
从所述第一对经编码的字段对所述第二参考图片进行对角线预测。
在某些实施例中,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被配置为,当被所述至少一个处理器执行时,导致所述装置或者所述系统执行至少以下操作:
将所述第二参考图片编码为将不从解码过程被输出的图片。
根据第七示例,提供了一种被配置为用于对图片数据单元的位流进行解码的视频解码器,其中,所述视频解码器被进一步配置为用于执行以下操作:
接收用于确定是否从解码经编码的字段到解码经编码的帧或者从解码经编码的帧到解码经编码的字段的切换点存在于位流中的一个或多个指示,其中,如果所述切换点存在,则所述方法进一步包括:
作为对确定从解码经编码的字段到解码经编码的帧的切换点的响应,执行以下操作:
接收第一可伸缩性层的第一经编码的帧和第二可伸缩性层的第二经编码的字段;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二经编码的字段解码成第二经重构的字段,其中,所述解码包括使用所述第一参考图片作为对所述第二经编码的字段的预测的参考;
作为对确定从解码经编码的帧到解码经编码的字段的切换点的响应,执行以下操作:
将第三可伸缩性层的第一对经编码的字段解码成第一经重构的互补字段对或者将第三可伸缩性层的第一经编码的字段解码成第一经重构的字段;
将所述第一经重构的互补字段对中的一个字段或者全部两个字段或者所述第一经重构的字段重新采样成第二参考图片;
将第四可伸缩性层的第二经编码的帧解码成第二经重构的帧,其中,所述解码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。
根据第八示例,提供了一种被配置为用于对图片数据单元的位流进行编码的视频编码器,其中,所述视频编码器被进一步配置为用于执行以下操作:
接收第一未经压缩的互补字段对和第二未经压缩的互补字段对;
确定是否将所述第一互补字段对编码为第一经编码的帧或者第一对经编码的字段以及将所述第二未经压缩的互补字段对编码为第二经编码的帧或者第二对经编码的字段;
作为对确定所述第一互补字段对将被编码为所述第一经编码的帧以及所述第二未经压缩的互补字段对将被编码为所述第二对经编码的字段的响应,执行以下操作:
将所述第一互补字段对编码为第一可伸缩性层的所述第一经编码的帧;
将所述第一经编码的帧重构成第一经重构的帧;
将所述第一经重构的帧重新采样成第一参考图片;以及
将所述第二互补字段对编码为第二可伸缩性层的所述第二对经编码的字段,其中,所述编码包括使用所述第一参考图片作为对所述第二对经编码的字段中的至少一个字段的预测的参考;
作为对确定所述第一互补字段对将被编码为所述第一对经编码的字段以及所述第二未经压缩的互补字段对将被编码为所述第二经编码的帧的响应,执行以下操作:
将所述第一互补字段对编码为第三可伸缩性层的所述第一对经编码的字段;
将所述第一对经编码的字段中的至少一个字段重构成第一经重构的字段和第二经重构的字段中的至少一个字段;
将所述第一经重构的字段和所述第二经重构的字段中的一个字段或者全部两个字段重新采样成第二参考图片;以及
将所述第二互补字段对编码为第四可伸缩性层的所述第二经编码的帧,其中,所述编码包括使用所述第二参考图片作为对所述第二经编码的帧的预测的参考。

Claims (10)

1.一种用于视频解码的方法,包括:
对采样的数据结构进行解码,所述采样被包括在根据ISO基础媒体文件格式ISOBMFF的轨道中,其中所述数据结构与增强层图片和另外的轨道的采样中的基础层图片相关联,其中所述另外的轨道的采样被包括在根据ISOBMFF的所述另外的轨道中,其中所述基础层图片是对于所述增强层图片的外部基础层图片,并且其中能够从所述外部基础层图片预测所述增强层图片;
从所述数据结构中解码第一信息,所述第一信息指示是否所述外部基础层图片被视为用于增强层解码的内部随机访问点图片;
假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片,则从所述数据结构中解码第二信息,所述第二信息指示将在所述增强层解码中被使用的针对经解码的外部基础层图片的所述内部随机访问点图片的类型;以及
从所述数据结构解码采样偏移信息,所述采样偏移信息给出在所述另外的轨道中的采样的相对索引。
2.根据权利要求1所述的方法,进一步包括:
从包括所述增强层的轨道的ISOBMFF的采样附属信息中解码所述数据结构。
3.根据权利要求1或2所述的方法,进一步包括:经由使用所述经解码的外部基础层图片和已从所述数据结构中解码的所述第一信息以及假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片的情况下还使用所述第二信息作为输入来对所述增强层图片进行解码。
4.一种用于视频解码的装置,其包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
对采样的数据结构进行解码,所述采样被包括在根据ISO基础媒体文件格式ISOBMFF的轨道中,其中所述数据结构与增强层图片和另外的轨道的采样中的基础层图片相关联,其中所述另外的轨道的采样被包括在根据ISOBMFF的所述另外的轨道中,其中所述基础层图片是对于所述增强层图片的外部基础层图片,并且其中能够从所述外部基础层图片预测所述增强层图片;
从所述数据结构中解码第一信息,所述第一信息指示是否所述外部基础层图片被视为用于增强层解码的内部随机访问点图片;
假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片,则从所述数据结构中解码第二信息,所述第二信息指示将在所述增强层解码中被使用的针对经解码的外部基础层图片的所述内部随机访问点图片的类型;以及
从所述数据结构解码采样偏移信息,所述采样偏移信息给出在所述另外的轨道中的采样的相对索引。
5.根据权利要求4所述的装置,进一步被配置为执行以下操作:
从包括所述增强层的轨道的ISOBMFF的采样附属信息中解码所述数据结构。
6.根据权利要求4或5所述的装置,进一步被配置为执行以下操作:
经由使用所述经解码的外部基础层图片和已从所述数据结构中解码的所述第一信息以及假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片的情况下还使用所述第二信息作为输入来对所述增强层图片进行解码。
7.一种用于视频编码的方法,包括:
对采样的数据结构进行编码,所述采样被包括在根据ISO基础媒体文件格式ISOBMFF的轨道中,其中所述数据结构与增强层图片和另外的轨道的采样中的基础层图片相关联,其中所述另外的轨道的采样被包括在根据ISOBMFF的所述另外的轨道中,其中所述基础层图片是对于所述增强层图片的外部基础层图片,并且其中能够从所述外部基础层图片预测所述增强层图片;
将第一信息编码到所述数据结构中,所述第一信息指示是否所述外部基础层图片被视为用于增强层解码的内部随机访问点图片;
假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片,则将第二信息编码到所述数据结构中,所述第二信息指示将在所述增强层解码中被使用的针对经解码的外部基础层图片的所述内部随机访问点图片的类型;以及
将采样偏移信息编码到所述数据结构中,所述采样偏移信息给出在所述另外的轨道中的采样的相对索引。
8.根据权利要求7所述的方法,进一步包括:
将所述数据结构编码为包括所述增强层的轨道的ISOBMFF的采样附属信息。
9.一种用于视频编码的装置,其包括至少一个处理器和包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为,利用所述至少一个处理器,导致所述装置执行以下操作:
对采样的数据结构进行编码,所述采样被包括在根据ISO基础媒体文件格式ISOBMFF的轨道中,其中所述数据结构与增强层图片和另外的轨道的采样中的基础层图片相关联,其中所述另外的轨道的采样被包括在根据ISOBMFF的所述另外的轨道中,其中所述基础层图片是对于所述增强层图片的外部基础层图片,并且其中能够从所述基础层图片预测所述增强层图片;
将第一信息编码到所述数据结构中,所述第一信息指示是否所述外部基础层图片被视为用于增强层解码的内部随机访问点图片;
假设所述外部基础层图片被视为用于增强层解码的内部随机访问点图片,则将第二信息编码到所述数据结构中,所述第二信息指示将在所述增强层解码中被使用的针对经解码的外部基础层图片的所述内部随机访问点图片的类型;以及
将采样偏移信息编码到所述数据结构中,所述采样偏移信息给出在所述另外的轨道中的采样的相对索引。
10.根据权利要求9所述的装置,进一步被配置为执行以下操作:
将所述数据结构编码为包括所述增强层的轨道的ISOBMFF的采样附属信息。
CN201580025366.7A 2014-03-17 2015-02-16 用于视频编码和解码的方法和装置 Active CN106464891B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461954270P 2014-03-17 2014-03-17
US61/954,270 2014-03-17
PCT/FI2015/050093 WO2015140391A1 (en) 2014-03-17 2015-02-16 Method and apparatus for video coding and decoding

Publications (2)

Publication Number Publication Date
CN106464891A CN106464891A (zh) 2017-02-22
CN106464891B true CN106464891B (zh) 2019-09-10

Family

ID=54070453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580025366.7A Active CN106464891B (zh) 2014-03-17 2015-02-16 用于视频编码和解码的方法和装置

Country Status (8)

Country Link
US (1) US20150264404A1 (zh)
EP (1) EP3120552A4 (zh)
KR (1) KR102101535B1 (zh)
CN (1) CN106464891B (zh)
CA (1) CA2942730C (zh)
RU (1) RU2653299C2 (zh)
WO (1) WO2015140391A1 (zh)
ZA (1) ZA201607005B (zh)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721530B2 (en) 2013-07-29 2020-07-21 Koninklijke Kpn N.V. Providing tile video streams to a client
KR102274321B1 (ko) * 2014-01-09 2021-07-07 삼성전자주식회사 스케일러블 비디오 부호화/복호화 방법 및 장치
EP3139549B1 (en) * 2014-05-30 2021-03-03 Huawei Technologies Co. Ltd. Packet editing method and related device
US9769492B2 (en) * 2014-06-06 2017-09-19 Qualcomm Incorporated Conformance parameters for bitstream partitions
US9699480B2 (en) * 2014-06-13 2017-07-04 Sharp Laboratories Of America, Inc. Level limits
US20170324981A1 (en) * 2014-06-19 2017-11-09 Sharp Kabushiki Kaisha Method for decoding a video bitstream
US10432951B2 (en) * 2014-06-24 2019-10-01 Qualcomm Incorporated Conformance and inoperability improvements in multi-layer video coding
US10091532B2 (en) * 2014-06-26 2018-10-02 Qualcomm Incorporated Bitstream conformance constraints in scalable video coding
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
JP6508206B2 (ja) * 2014-07-01 2019-05-08 ソニー株式会社 情報処理装置および方法
WO2016098056A1 (en) 2014-12-18 2016-06-23 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10389970B2 (en) * 2015-01-23 2019-08-20 Lg Electronics Inc. Method and device for transmitting and receiving broadcast signal for restoring pulled-down signal
US10085051B2 (en) * 2015-02-13 2018-09-25 Samsung Electronics Co., Ltd. Method and apparatus for converting MMTP stream to MPEG-2TS
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
CN106303673B (zh) * 2015-06-04 2021-01-22 中兴通讯股份有限公司 码流对齐、同步处理方法及发送、接收终端和通信系统
WO2017029400A1 (en) 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
CA2999193A1 (en) * 2015-09-23 2017-03-30 Koninklijke Philips N.V. Generation of triangle mesh for a three dimensional image
US10097836B2 (en) * 2015-09-28 2018-10-09 Samsung Electronics Co., Ltd. Method and device to mark a reference picture for video coding
US10674185B2 (en) * 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
US10798422B2 (en) * 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication
US9883183B2 (en) * 2015-11-23 2018-01-30 Qualcomm Incorporated Determining neighborhood video attribute values for video data
JP6566864B2 (ja) * 2015-12-28 2019-08-28 Kddi株式会社 ビットストリーム変換装置、ビットストリーム変換方法、配信システム及びコンピュータ可読記録媒体
KR102301352B1 (ko) 2016-02-09 2021-09-14 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
US20170359596A1 (en) * 2016-06-09 2017-12-14 Apple Inc. Video coding techniques employing multiple resolution
US10257107B1 (en) 2016-06-30 2019-04-09 Amazon Technologies, Inc. Encoder-sensitive stream buffer management
CN107634928B (zh) * 2016-07-18 2020-10-23 华为技术有限公司 一种码流数据的处理方法及装置
US10110256B2 (en) * 2016-09-16 2018-10-23 Micron Technology, Inc. Apparatuses and methods for staircase code encoding and decoding for storage devices
US10554711B2 (en) * 2016-09-29 2020-02-04 Cisco Technology, Inc. Packet placement for scalable video coding schemes
GB2554686A (en) * 2016-10-04 2018-04-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
CA3059870A1 (en) * 2017-04-11 2018-10-18 Vid Scale, Inc. 360-degree video coding using face continuities
CN108733317B (zh) * 2017-04-18 2021-01-26 北京京东尚科信息技术有限公司 数据存储方法和装置
GB2563037A (en) * 2017-05-31 2018-12-05 Nokia Technologies Oy Method and apparatus for image compression
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
WO2019002662A1 (en) 2017-06-26 2019-01-03 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
CN109587501B (zh) * 2017-09-28 2022-07-12 腾讯科技(深圳)有限公司 进行运动估计的方法、装置及存储介质
CN117811585A (zh) 2017-12-06 2024-04-02 V-诺瓦国际有限公司 字节流及对其进行分级编码和解码的方法和设备、介质
CN109963176B (zh) * 2017-12-26 2021-12-07 中兴通讯股份有限公司 视频码流处理方法、装置、网络设备和可读存储介质
WO2020012073A1 (en) * 2018-07-11 2020-01-16 Nokia Technologies Oy Method and apparatus for storage and signaling of compressed point clouds
US10893299B2 (en) * 2018-07-31 2021-01-12 Intel Corporation Surface normal vector processing mechanism
US10887574B2 (en) 2018-07-31 2021-01-05 Intel Corporation Selective packing of patches for immersive video
US10762394B2 (en) 2018-07-31 2020-09-01 Intel Corporation System and method for 3D blob classification and transmission
US11178373B2 (en) 2018-07-31 2021-11-16 Intel Corporation Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments
US11212506B2 (en) 2018-07-31 2021-12-28 Intel Corporation Reduced rendering of six-degree of freedom video
CN110875911B (zh) * 2018-09-03 2022-03-04 厦门奇力微电子有限公司 支持自动识别单个数据包数据位数的通信协议及通信方法
US11057631B2 (en) 2018-10-10 2021-07-06 Intel Corporation Point cloud coding standard conformance definition in computing environments
GB201817781D0 (en) 2018-10-31 2018-12-19 V Nova Int Ltd Mehods, apparatuses, computer programs and computer-readable media
KR102259186B1 (ko) * 2019-01-16 2021-06-01 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) 나머지를 갖는 균일한 타일 분열을 포함하는 비디오 코딩
KR102606330B1 (ko) * 2019-02-28 2023-11-24 엘지전자 주식회사 Aps 시그널링 기반 비디오 또는 영상 코딩
KR20230016712A (ko) * 2019-03-11 2023-02-02 엘지전자 주식회사 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩
JP7163511B2 (ja) * 2019-03-11 2022-10-31 テンセント・アメリカ・エルエルシー ビデオビットストリームにおける適応画像サイズのシグナリング
CN110139129B (zh) * 2019-03-27 2021-09-17 西安万像电子科技有限公司 图像传输方法及装置
CN110175047B (zh) * 2019-04-22 2022-03-29 中国科学院信息工程研究所 处理器指令编码的自动生成方法及装置
CN113875246A (zh) * 2019-05-12 2021-12-31 北京字节跳动网络技术有限公司 用于参考图片重采样的信令
EP3970380A4 (en) * 2019-05-16 2023-04-05 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR HANDLING RANDOM ACCESS IMAGES IN VIDEO ENCODING
KR20220009376A (ko) * 2019-05-20 2022-01-24 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 복호 장치
US11153583B2 (en) * 2019-06-07 2021-10-19 Qualcomm Incorporated Spatial scalability support in video encoding and decoding
US11212555B2 (en) * 2019-06-19 2021-12-28 Tencent America LLC Method of reducing context models for entropy coding of transform coefficient significant flag
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
JP2022539657A (ja) * 2019-06-24 2022-09-13 アリババ グループ ホウルディング リミテッド 映像処理における適応解像度変更
MX2022000292A (es) * 2019-07-08 2022-02-03 Huawei Tech Co Ltd Restricciones de imagen de unidad nal mezclada en codificacion de video.
CN114365496A (zh) * 2019-07-08 2022-04-15 Lg电子株式会社 基于缩放列表数据的图像或视频编码
EP4011068A4 (en) * 2019-08-06 2023-08-09 OP Solutions, LLC IMPLICIT SIGNALING OF ADAPTIVE RESOLUTION MANAGEMENT BASED ON FRAME TYPE
EP4011083A4 (en) 2019-08-06 2023-06-28 OP Solutions, LLC Block-based adaptive resolution management
EP4011067A4 (en) * 2019-08-06 2023-09-13 OP Solutions, LLC ADAPTIVE RESOLUTION MANAGEMENT SIGNALING
JP2022544157A (ja) 2019-08-06 2022-10-17 オーピー ソリューションズ, エルエルシー 適応分解能管理予測再スケーリング
US20220279191A1 (en) * 2019-08-16 2022-09-01 Google Llc Face-based frame packing for video calls
BR112022003732A2 (pt) 2019-09-02 2022-10-11 Beijing Bytedance Network Tech Co Ltd Método e aparelho para processamento de dados de vídeo, e, meios de armazenamento e de gravação legíveis por computador não transitórios
JP7472425B2 (ja) * 2019-09-24 2024-04-23 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デコーダによって実装される方法、エンコーダによって実装される方法、ビデオコーディングデバイス、コンピュータプログラム、デコーダ、エンコーダ、及びビットストリームを生成する方法
EP4026317A4 (en) * 2019-09-24 2022-11-23 Huawei Technologies Co., Ltd. SCALABLE NESTING OF SEI MESSAGES FOR OLS
BR112022005265A2 (pt) * 2019-09-24 2022-06-14 Huawei Tech Co Ltd Sinalização de parâmetros de dpb para fluxos de bits de vídeo multicamadas
WO2021061496A1 (en) * 2019-09-24 2021-04-01 Futurewei Technologies, Inc. Sei message dependency simplification in video coding
US11317093B2 (en) 2019-09-24 2022-04-26 Tencent America LLC Method for reference picture resampling with offset in video bitstream
US11902584B2 (en) * 2019-12-19 2024-02-13 Tencent America LLC Signaling of picture header parameters
WO2021125703A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
CN113055668B (zh) * 2019-12-27 2023-06-02 腾讯美国有限责任公司 从已编码视频比特流中提取子比特流的方法和设备
EP4088227A4 (en) * 2020-01-07 2024-01-24 Nokia Technologies Oy HIGH LEVEL SYNTAX FOR COMPRESSED REPRESENTATION OF NEURONAL NETWORKS
CA3167535A1 (en) * 2020-01-12 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus of harmonizing weighted prediction with non-rectangular merge modes
US11272214B2 (en) * 2020-01-27 2022-03-08 Tencent America LLC Method for picture output with output layer set
US11957974B2 (en) 2020-02-10 2024-04-16 Intel Corporation System architecture for cloud gaming
US11792432B2 (en) * 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
EP4307677A3 (en) 2020-02-24 2024-04-17 ByteDance Inc. Interaction between subpicture and tile row signaling
CN115211125A (zh) 2020-03-03 2022-10-18 字节跳动有限公司 视频编解码中的低频不可分变换信令通知
WO2021197406A1 (en) * 2020-04-02 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Coefficients coding in transform skip mode
US11470357B2 (en) * 2020-04-03 2022-10-11 Sharp Kabushiki Kaisha Systems and methods for signaling decoding capability information in video coding
WO2021206333A1 (ko) 2020-04-11 2021-10-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
WO2021251700A1 (ko) * 2020-06-09 2021-12-16 엘지전자 주식회사 Dpb 동작 기반 영상 또는 비디오 코딩
CN115918076A (zh) 2020-06-09 2023-04-04 字节跳动有限公司 子图片子比特流提取过程增强
WO2021251718A1 (ko) * 2020-06-10 2021-12-16 엘지전자 주식회사 서브레이어 레벨 정보에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2021252973A1 (en) 2020-06-12 2021-12-16 Bytedance Inc. Picture header constraints for multi-layer video coding
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels
US20230360273A1 (en) * 2020-08-12 2023-11-09 Lg Electronics Inc. Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
US20220086497A1 (en) 2020-09-17 2022-03-17 Lemon Inc. Subpicture entity group signaling in coded video
EP4205399A4 (en) 2020-09-25 2024-03-06 Beijing Bytedance Network Tech Co Ltd MINING OF SECONDARY BIT STREAMS
KR20230078738A (ko) * 2020-09-29 2023-06-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 멀티뷰 정보의 시그널링
CN116648913A (zh) * 2020-12-23 2023-08-25 抖音视界有限公司 视频解码器初始化信息约束
EP4315849A1 (en) * 2021-03-30 2024-02-07 InterDigital CE Patent Holdings, SAS Externally enhanced prediction for video coding
US20220337879A1 (en) * 2021-04-18 2022-10-20 Lemon Inc. Parameter Sets In Common Media Application Format
CN114501070B (zh) * 2022-04-14 2022-07-19 全时云商务服务股份有限公司 视频会议同步额外信息的编解码方法、处理方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102342103A (zh) * 2009-03-02 2012-02-01 汤姆森特许公司 显示画面序列的方法及设备
WO2013156679A1 (en) * 2012-04-16 2013-10-24 Nokia Corporation Method and apparatus for video coding
CN103379320A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像码流处理方法和设备
WO2013163155A1 (en) * 2012-04-23 2013-10-31 Qualcomm Incorporated View dependency in multi-view coding and 3d coding
WO2013160559A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
WO2014007590A1 (ko) * 2012-07-06 2014-01-09 삼성전자 주식회사 랜덤 억세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 억세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치
CN103533363A (zh) * 2012-07-02 2014-01-22 富士通株式会社 视频编码装置和方法以及视频解码装置和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100626419B1 (ko) * 2001-01-03 2006-09-20 노키아 코포레이션 비디오 전송에서 비트 스트림들간의 교환
KR20060063605A (ko) * 2004-12-06 2006-06-12 엘지전자 주식회사 영상신호의 엔코딩과 그 전송, 그리고 디코딩을 위한 방법및 장치
RU2368095C1 (ru) * 2005-07-22 2009-09-20 Мицубиси Электрик Корпорейшн Кодер изображения и декодер изображения, способ кодирования изображения и способ декодирования изображения, программа кодирования изображения и программа декодирования изображения и компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, и компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US9131033B2 (en) * 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US9161039B2 (en) * 2012-09-24 2015-10-13 Qualcomm Incorporated Bitstream properties in video coding
CA2897152C (en) * 2013-01-07 2019-03-05 Kemal Ugur Inter-layer video encoding and decoding with adaptive resolution change at indicated switching points
US9712843B2 (en) * 2013-10-23 2017-07-18 Qualcomm Incorporated Multi-layer video file format designs

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102342103A (zh) * 2009-03-02 2012-02-01 汤姆森特许公司 显示画面序列的方法及设备
WO2013156679A1 (en) * 2012-04-16 2013-10-24 Nokia Corporation Method and apparatus for video coding
CN103379320A (zh) * 2012-04-16 2013-10-30 华为技术有限公司 视频图像码流处理方法和设备
WO2013163155A1 (en) * 2012-04-23 2013-10-31 Qualcomm Incorporated View dependency in multi-view coding and 3d coding
WO2013160559A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
CN103533363A (zh) * 2012-07-02 2014-01-22 富士通株式会社 视频编码装置和方法以及视频解码装置和方法
WO2014007590A1 (ko) * 2012-07-06 2014-01-09 삼성전자 주식회사 랜덤 억세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 억세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MV-HEVC/SHVC HLS: Layer up-switching information SEI message;Adarsh K. Ramasubramonian;《JCTVC-P0131,Joint Collaborative Team on Video Coding (JCT-VC)》;20140104;全文
ON random access point for MV-HEVC and other HEVC extension;CHOI B et al;《104.MEPG MEETING,m29085》;20130417;摘要,第1-5节
On SHVC RAP pictures;Miska M. Hannuksela;《JCTVC-L0039,Joint Collaborative Team on Video Coding (JCT-VC)》;20130107;全文
Support of AVC base layer in SHVC;Ye-Kui Wang;《JCTVC-P0184,Joint Collaborative Team on Video Coding (JCT-VC)》;20140103;全文

Also Published As

Publication number Publication date
EP3120552A1 (en) 2017-01-25
CA2942730C (en) 2019-11-12
RU2016138403A (ru) 2018-04-17
ZA201607005B (en) 2018-08-29
EP3120552A4 (en) 2017-12-06
CA2942730A1 (en) 2015-09-24
US20150264404A1 (en) 2015-09-17
WO2015140391A1 (en) 2015-09-24
RU2653299C2 (ru) 2018-05-07
KR102101535B1 (ko) 2020-04-17
CN106464891A (zh) 2017-02-22
KR20160134782A (ko) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106464891B (zh) 用于视频编码和解码的方法和装置
CN106464893B (zh) 用于视频编码和解码的装置、方法和计算机程序
CN106105220B (zh) 用于视频编码和解码的方法和装置
CN105981387B (zh) 用于处理视频的方法、装置和计算机可读存储介质
CN104604236B (zh) 用于视频编码的方法和装置
CN105531999B (zh) 涉及用于信号传输运动信息的语法的视频编码方法及装置
CN105556965B (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN104813669B (zh) 用于视频编码的方法和装置
KR101825575B1 (ko) 비디오 코딩 및 디코딩 방법 및 장치
CN104813671B (zh) 用于处理视频数据的方法和设备
CN107113476A (zh) 用于视频流的方法、装置以及计算机可读存储介质
CN106105225B (zh) Hevc sei消息用于多层编解码器的一般使用
CN104205819B (zh) 用于视频编码的方法和装置
CN105580373B (zh) 用于视频编码和解码的装置和方法
CN108702503A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN104813660B (zh) 用于视频编码和解码的装置和方法
CN103907347B (zh) 多视图视频编码和解码
CN109155861A (zh) 用于编码媒体内容的方法和装置以及计算机程序
CN105409220B (zh) 用于视频译码的经解码图片缓冲器操作
CN108886620A (zh) 用于视频编码和解码的装置、方法及计算机程序
CN108293127A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN106416250A (zh) 视频编码和解码
CN110431849A (zh) 包含用于视频译码的子图片位流的视频内容的信令传输
CN107431819A (zh) 用于可伸缩视频编码和解码的层间预测
CN109565602A (zh) 视频编码和解码

Legal Events

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