[go: up one dir, main page]

CN108293127A - 用于视频编码和解码的装置、方法和计算机程序 - Google Patents

用于视频编码和解码的装置、方法和计算机程序 Download PDF

Info

Publication number
CN108293127A
CN108293127A CN201680068728.5A CN201680068728A CN108293127A CN 108293127 A CN108293127 A CN 108293127A CN 201680068728 A CN201680068728 A CN 201680068728A CN 108293127 A CN108293127 A CN 108293127A
Authority
CN
China
Prior art keywords
picture
reconstructed
layer
coding
enhancing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680068728.5A
Other languages
English (en)
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 CN108293127A publication Critical patent/CN108293127A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain

Landscapes

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

Abstract

一种方法,包括:对至少包括第一编码基础图片和第二编码基础图片的第一可伸缩性层编码,该第一可伸缩性层能够使用第一算法解码;将第一和第二编码基础图片分别重构为第一和第二重构基础图片,该第一重构基础图片和第二重构基础图片在第一可伸缩性层的所有重构图片中在第一算法的输出顺序上相邻;通过使用第二算法从至少第一和第二重构基础图片中重构第三重构基础图片,该第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码,该第二可伸缩性层能够使用第三算法解码,该第三算法包括以重构图片作为输入的层间预测;以及通过提供第一、第二和第三重构基础图片分别作为层间预测的输入,将第一、第二和第三编码增强图片分别重构为第一、第二和第三重构增强图片,该第一、第二和第三重构增强图片在第一算法的输出顺序上分别与第一、第二和第三重构基础图片匹配。

Description

用于视频编码和解码的装置、方法和计算机程序
技术领域
本发明涉及用于视频编码和解码的装置、方法和计算机程序。
背景技术
提高在消费者和专业视频中的图片速率是不可避免的趋势。在许多应用中,解码器或播放器根据其能力来选择图片速率是有益的。例如,即使向播放器提供具有120Hz图片速率的比特流(bitstream),如果更好地适合例如可用的计算资源、可用电池充电水平和/或显示能力,则可对例如30Hz版本解码也可能是有益的。该缩放可以通过在视频编码和解码中应用时间可伸缩性来实现。
时间可伸缩性可能涉及以下问题:当由于缺少动态模糊而在时间上被二次抽样为以30Hz播放时,以短曝光时间(例如,对于240Hz)采集的视频看起来可能不自然。时间可伸缩性和曝光时间缩放可能涉及如下情况,其中更低帧处的曝光时间可能不同于更高帧速率处,这可能导致要处理相当复杂的问题。
针对SHVC和MV-HEVC(高效视频编码H.265/HEVC(也称为HEVC)的可伸缩和多视图扩展)选择仅高级语法(仅HLS)设计原则,这意味着对于片段报头之下的HEVC语法或解码过程没有改变。因此,HEVC编码器和解码器实施方式大部分可以被重用于SHVC和MV-HEVC。对于SHVC,如果需要,则使用称为层间处理的概念,其用于重采样解码的参考层图片及其运动矢量阵列,和/或应用颜色映射(例如,用于色域缩放)。与层间处理类似,应用图片速率上采样(也称为帧速率上采样)方法作为解码的后处理。
考虑到许多当代视频编码标准的仅HLS设计,需要以可以重新使用现有实现方式(例如,HEVC、SHVC)的方式来改进时间可伸缩比特流的压缩效率。
发明内容
现在为了至少缓解上述问题,在此引入了用于视频编码的改进方法。
第一方面包括一种用于对包括视频信号的比特流编码的方法,该方法包括:
对至少包括第一编码基础图片和第二编码基础图片的第一可伸缩性层编码,该第一可伸缩性层能够使用第一算法解码;
将第一编码基础图片和第二编码基础图片分别重构为第一重构基础图片和第二重构基础图片,该第一重构基础图片和第二重构基础图片在第一可伸缩性层的所有重构图片中在第一算法的输出顺序上相邻;
通过使用第二算法从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片,第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;
对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码,第二可伸缩性层使用第三算法可解码,该第三算法包括将重构图片作为输入的层间预测;以及
通过提供第一重构基础图片、第二重构基础图片和第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别重构为第一重构增强图片、第二重构增强图片和第三重构增强图片,第一重构增强图片、第二重构增强图片和第三重构增强图片在第一算法的输出顺序上分别与第一重构基础图片、第二重构基础图片和第三重构基础图片匹配。
根据实施例,该方法进一步包括:
指示第一编码基础图片和第二编码基础图片符合第一简档;
指示重构第三重构基础图片所需的第二简档;
指示第一编码增强图片、第二编码增强图片以及第三编码增强图片符合第三简档;
其中,第一简档、第二简档和第三简档彼此不同,并且第一简档指示第一算法,第二简档指示第二算法,第三简档指示第三算法。
根据实施例,在不增强第一可伸缩性层中的基础图片的情况下提高图片速率,方法进一步包括以下中的至少一个:
-以与第一可伸缩性层的图片对应的图片被跳过编码的方式来编码第二可伸缩性层;
-以与第一可伸缩性层的图片对应的图片不被编码的方式来编码第二可伸缩性层。
根据实施例,该方法进一步包括以下中的至少一个:
-在修改第一重构基础图片和第二重构基础图片之前,从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片;以及通过使用第二增强层的对应图片来修改第一重构基础图片、第二重构基础图片和第三重构基础图片;
-修改第一重构基础图片和第二重构基础图片,并且使用修改的第一基础图片和第二基础图片作为输入来重构第三重构基础图片;
-通过使用第二增强层的对应图片来修改第一重构基础图片和第二重构基础图片,以及使用第二增强层的重构图片作为输入来重构第三重构基础图片。
根据实施例,图片速率被提高,并且至少一种类型的增强被应用于第一可伸缩性层的基础图片,增强包括以下中的至少一个:信噪比增强、空间增强、采样位深度增加、动态范围增加或扩大色域。
第二方面涉及一种装置,其包括:
至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,代码在由至少一个处理器执行时使装置至少执行
对至少包括第一编码基础图片和第二编码基础图片的第一可伸缩性层编码,第一可伸缩性层能够使用第一算法解码;
将第一编码基础图片和第二编码基础图片分别重构为第一重构基础图片和第二重构基础图片,第一重构基础图片和第二重构基础图片在第一可伸缩性层的所有重构图片中在第一算法的输出顺序上相邻;
通过使用第二算法从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片,第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;
对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码,第二可伸缩性层能够使用第三算法解码,第三算法包括以重构图片作为输入的层间预测;以及
通过提供第一重构基础图片、第二重构基础图片和第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别重构为第一重构增强图片、第二重构增强图片和第三重构增强图片,第一重构增强图片、第二重构增强图片和第三重构增强图片在第一算法的输出顺序上分别与第一重构基础图片、第二重构基础图片和第三重构基础图片匹配。
第三方面涉及一种由装置使用的具有在其上存储的计算机可读存储介质,该代码在由处理器执行时使装置执行上述操作。
第四方面包括一种方法,其包括:
使用第一算法将第一编码基础图片和第二编码基础图片分别解码为第一重构基础图片和第二重构基础图片,第一编码基础图片和第二编码基础图片包括在第一可伸缩性层中,并且第一重构基础图片和第二重构基础图片在第一可伸缩性层的所有重构图片中在第一算法的输出顺序上相邻;
通过使用第二算法从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片,第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;以及
使用第三算法,通过提供第一重构基础图片、第二重构基础图片和第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别解码为第一重构增强图片、第二重构增强图片和第三重构增强图片,第三算法包括将重构图片作为输入的层间预测,第一重构增强图片、第二重构增强图片和第三重构增强图片在第一算法的输出顺序上与第一重构基础图片、第二重构基础图片和第三重构基础图片匹配,并且第一编码增强图片、第二编码增强图片和第三编码增强图片被包括在第二可伸缩性层中。
根据实施例,该方法进一步包括:
对第一编码基础图片和第二编码基础图片符合第一简档的第一指示进行解码;
对重构第三重构基础图片所需的第二简档的第二指示进行解码;
对第一编码增强图片、第二编码增强图片和第三编码增强图片符合第三简档的第三指示进行解码;
其中,第一简档、第二简档和第三简档彼此不同,并且第一简档指示第一算法,第二简档指示二算法,第三简档指示第三算法;以及
基于在解码中支持第一简档,确定解码第一编码基础图片和第二编码基础图片;
基于在重构中支持第二简档和在解码中支持第一简档,确定重构第三重构基础图片;
基于在解码中支持第一简档和第三简档,确定解码第一编码增强图片和第二编码增强图片;以及
基于在解码中支持第一简档和第三简档以及在重构中支持第二简档,确定解码第三增强图片。
根据实施例,在不增强第一可伸缩性层中的基础图片的情况下提高图片速率,方法进一步包括以下中的至少一个:
-解码与第二可伸缩性层相关联的指示,指示表明与第一可伸缩性层的图片对应的图片被跳过编码;
-以与第一可伸缩性层的图片对应图片不被解码的方式来解码第二可伸缩性层。
根据实施例,该方法进一步包括以下中的至少一个:
-在修改第一重构基础图片和第二重构基础图片之前,从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片;以及通过使用第二增强层的对应图片来修改第一重构基础图片、第二重构基础图片和第三重构基础图片;
-修改第一重构基础图片和第二重构基础图片,并且使用修改的第一基础图片和第二基础图片作为输入来重构第三重构基础图片;
-通过使用第二增强层的对应图片来修改第一重构基础图片和第二重构基础图片,以及使用第二增强层的重构图片作为输入来重构第三重构基础图片。
根据实施例,图片速率被提高,并且至少一种类型的增强被应用于第一可伸缩性层的基础图片,增强包括以下中的至少一个:信噪比增强、空间增强、采样位深度增加、动态范围增加或扩大色域。
第五方面涉及一种装置,其包括:
至少一个处理器和至少一个存储器,至少一个存储器上存储有代码,该代码在由至少一个处理器执行时使装置至少执行
使用第一算法将第一编码基础图片和第二编码基础图片分别解码为第一重构基础图片和第二重构基础图片,第一编码基础图片和第二编码基础图片包括在第一可伸缩性层中,并且第一重构基础图片和第二重构基础图片在第一可伸缩层的所有重构图片中在第一算法的输出顺序上相邻;
通过使用第二算法从至少第一重构基础图片和第二重构基础图片中重构第三重构基础图片,第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;以及
使用第三算法,通过提供第一重构基础图片、第二重构基础图片和第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别解码为第一重构增强图片、第二重构增强图片和第三重构增强图片,第三算法包括将重构图片作为输入的层间预测,第一重构增强图片、第二重构增强图片和第三重构增强图片在第一算法的输出顺序上与第一重构基础图片、第二重构基础图片和第三重构基础图片匹配,并且第一编码增强图片、第二编码增强图片和第三编码增强图片被包括在第二可伸缩性层中。
第六方面涉及一种由装置使用的具有在其上存储的计算机可读存储介质,该代码在由处理器执行时使装置执行上述操作。
考虑到下面详细公开的进一步的实施例,本发明的这些和其它方面以及与其相关的实施例将变得显而易见。
附图说明
为了更好地理解本发明,现在将通过示例的方式参考附图,在附图中:
图1示意性地示出采用本发明的实施例的电子设备;
图2示意性地示出适于采用本发明的实施例的用户设备;
图3进一步示出使用无线和有线网络连接来连接的采用本发明实施例的电子设备;
图4示意性地示出适于实现本发明的实施例的编码器;
图5示出根据本发明的实施例的编码方法的流程图;
图6示出根据本发明的实施例的编码原理的通用级别说明;
图7示出根据本发明的实施例的采用跳过编码图片的编码方法;
图8示出根据本发明的实施例的采用在第二可伸缩性层中不编码图片的编码方法;
图9示出根据本发明实施例的采用修改重构基础图片的编码方法;
图10示出根据本发明的另一实施例的采用用于层间预测和图片速率上采样的修改的基础图片的编码方法;
图11示出根据本发明的另一实施例的编码方法;
图12示出根据本发明的另一实施例的编码方法;
图13示出根据本发明的另一实施例的编码方法;
图14示出根据本发明的另一实施例的编码方法;
图15示出根据本发明的另一实施例的编码方法;
图16示意性地示出适于实施本发明的实施例的解码器;以及
图17示出其中可以实施各种实施例的示例多媒体通信系统的示意图。
具体实施方式
以下进一步详细描述用于运动补偿预测的适当装置和可能机制。在这方面,首先参考图1和2,其中图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可以进一步连接到编解码器电路54,该编解码器电路54适于执行音频和/或视频数据的编码和解码或者辅助由控制器执行的编码和解码。
装置50可以进一步包括读卡器48和智能卡46,例如UICC和UICC读卡器,用于提供用户信息以及适于提供用于在网络处对用户进行认证和授权的认证信息。
装置50可以包括无线接口电路52,该无线接口电路52连接到控制器并且适于生成例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信的无线通信信号。装置50可以进一步包括连接到无线接口电路52的天线44,用于将在无线接口电路52处生成的无线频率信号发送到其它装置,以及用于从其它装置接收无线频率信号。
装置50可以包括能够记录或检测各个帧的相机,然后将各个帧传递给编解码器54或控制器以进行处理。该装置可以在传输和/或存储之前从另一设备接收用于处理的视频图像数据。装置50同样可以无线地或通过有线连接来接收用于编码/解码的图像。
关于图3,示出了可以利用本发明的实施例的系统的示例。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等)、无线局域网(WLAN),诸如由IEEE 802.x标准、蓝牙个人区域网络、以太网局域网、令牌环局域网、广域网和互联网定义的。
系统10可以包括适于实施本发明的实施例的有线和无线通信设备和/或装置50。
例如,图3中所示的系统示出了移动电话网络11和互联网28的表示。到互联网28的连接可以包括但不限于长程无线连接、短程无线连接,以及各种有线连接,包括但不限于电话线、电缆线、电力线和类似的通信路径。
系统10中示出的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、综合消息收发设备(IMD)18、台式计算机20、笔记本计算机22。当装置50由正在移动的个人携带时,装置50可以是静止的或移动的。装置50同样可以位于运输模式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的合适运输模式。
实施例同样可以在可能/可能不具有显示或无线能力的机顶盒(即,数字电视接收器)中,在具有硬件或软件或编码器/解码器组合的实施方式的平板计算机或(膝上型)个人计算机(PC)中,在各种操作系统中,以及在芯片组、处理器、DSP和/或提供基于硬件/软件的编码的嵌入式系统中实现。
一些或另外的装置可以发送和接收呼叫和消息并且通过到基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器26允许移动电话网络11和互联网28之间的通信。该系统可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。实施本发明的各种实施例所涉及的通信设备可以使用各种媒体进行通信,包括但不限于无线、红外线、激光、线缆连接以及任何合适的连接。
在电信和数据网络中,信道可以指物理信道或逻辑信道。物理信道可以指物理传输介质,诸如线路,而逻辑信道可以指能够传送多个逻辑信道的复用介质上的逻辑连接。信道可以用于将信息信号(例如比特流)从一个或多个发送者(或发射器)传送到一个或多个接收器。
实时传输协议(RTP)广泛用于实时传输定时媒体,诸如音频和视频。RTP可以在用户数据报协议(UDP)之上操作,而该用户数据报协议进而可以在互联网协议(IP)之上操作。RTP可在从www.ietf.org/rfc/rfc3550.txt获取的互联网工程任务组(InternetEngineering Task Force,IETF)认证请求(Request for Comments,RFC)3550中指定。在RTP传输中,媒体数据被封装到RTP数据包中。通常,每种媒体类型或媒体编码格式具有专用的RTP有效载荷格式。
RTP会话是与RTP通信的一组参与者之间的关联。其是可以携带大量RTP流的群组通信通道。RTP流是包括媒体数据的RTP分组的流。RTP流由属于特定RTP会话的SSRC标识。SSRC指同步源或同步源标识符,其是RTP分组报头中的32位SSRC字段。同步源的特征在于来自同步源的所有分组形成相同定时和序列号空间的部分,因此接收器可以通过同步源来集合分组以供回放。同步源的示例包括从诸如麦克风或相机的信号源或RTP混合器导出的分组流的发送者。每个RTP流由RTP会话内唯一的SSRC标识。RTP流可被认为是逻辑信道。
可用的媒体文件格式标准包括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系列文件格式。
视频编解码器包括将输入视频转换成适于存储/传输的压缩表示的编码器和可将压缩视频表示解压缩回可见形式的解码器。视频编码器和/或视频解码器同样可以彼此分离,即不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即“有损”压缩,导致较低的比特率)表示视频。视频编码器可以用于对随后定义的图像序列编码,并且视频解码器可以用于对所编码的图像序列进行解码。视频编码器或视频编码器的帧内编码(intra coding)部分或图像编码器可用于对图像编码,并且视频解码器或视频解码器的帧间解码(inter decoding)部分或图像解码器可用于对编码的图像解码。
典型的混合视频编码器(例如,ITU-T H.263和H.264的许多编码器实施方式)在两个阶段中对视频信息编码。首先,例如通过运动补偿部件(找到并指示先前编码的视频帧中的与正被编码的块紧密对应的一个视频帧中的区域)或通过空间部件(以指定的方式使用要被编码的块周围的像素值)预测某些图片区域中的像素值。其次,对预测误差(即预测像素块和原始像素块之间的差)编码。这通常通过使用指定变换(例如离散余弦变换(DCT)或其变体)对像素值的差进行变换,对系数进行量化以及对量化系数进行熵编码来完成。通过改变量化过程的保真度,编码器可以控制像素表示的准确度(图片质量)与所得到的编码视频表示的大小(文件大小或传输比特率)之间的平衡。
帧间预测(其还可以被称为时间预测、运动补偿或运动补偿预测)减少了时间冗余。在帧间预测中,预测源是被先前解码的图片。帧内预测利用相同图片内的相邻像素可能相关的事实。帧内预测可以在空间或变换域中执行,即,可以预测采样值或变换系数。帧内预测通常在帧内编码中被利用,其中帧间预测不被应用。
编码过程的一个结果是一组编码参数,诸如运动矢量和量化变换系数。如果首先从空间或时间上相邻的参数中预测许多参数,则该参数可以被更有效地熵编码。例如,运动矢量可以从空间上相邻的运动矢量中预测,并且可以仅对与运动矢量预测器相关的差进行编码。编码参数的预测和帧内预测可以统称为图片内预测。
图4示出适于采用本发明的实施例的视频编码器的框图。图4表示针对两层的编码器,但是可以理解,所表示的编码器可以被类似地简化为仅对一层编码或扩展为对两层以上编码。图4示出包括用于基础层的第一编码器部分520和用于增强层的第二编码器部分522的视频编码器的实施例。第一编码器部分520和第二编码器部分522中的每一个可以包括用于编码输入图片的类似元素。编码器部分520、522可以包括像素预测器302、402,预测误差编码器303、403和预测误差解码器304、404。图4同样示出像素预测器302、402的实施例,其包括帧间预测器(inter-predictor)306、406、帧内预测器(intra-predictor)308、408、模式选择器310、410、滤波器316、416和参考帧存储器318、418。第一编码器部分500的像素预测器302接收300在帧间预测器306(其确定图像与运动补偿参考帧318之间的差)和帧内预测器308(其仅基于已经处理的当前帧或图片的部分来确定图像块的预测)二者处编码的视频流的基础层图像。帧间预测器和帧内预测器二者的输出被传递到模式选择器310。帧内预测器308可具有一种以上的帧内预测模式。因此,每种模式可执行帧内预测并将所预测的信号提供给模式选择器310。模式选择器310同样接收300基础层图片的副本。相应地,第二编码器部分522的像素预测器402接收400在帧间预测器406(其确定图像与运动补偿参考帧418之间的差)和帧内预测器408(其仅基于已处理的当前帧或图片的部分来确定图像块的预测)二者处编码的视频流的增强层图像。帧间预测器和帧内预测器二者的输出被传递到模式选择器410。帧内预测器408可具有一种以上的帧内预测模式。因此,每种模式可以执行帧内预测并将所预测的信号提供给模式选择器410。模式选择器410同样接收增强层图片400的副本。
取决于选择哪个编码模式来编码当前块,预测器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与之进行比较的参考图像。
根据一些实施例,来自第一编码器部分550的滤波器316的滤波参数可以被提供给第二编码器部分522,使基础层被选择并且被指示为用于预测增强层的滤波参数的源。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。例如,变换是DCT变换。量化器344、444对变换域信号(例如DCT系数)量化,以形成量化系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出并且执行与预测误差编码器303、403相反的以产生解码的预测误差信号338、438的过程,其中当在第二求和设备339、439处与图像块312、412的预测表示进行组合时产生初步重构图像314、414。可认为预测误差解码器包括去量化器361、461和逆变换单元363、463,去量化器361、461对量化系数值(例如DCT系数)进行去量化以重构变换信号,逆变换单元363、463对重构的变换信号执行逆变换,其中逆变换单元363、463的输出包含重构的块。预测误差解码器同样可以包括块滤波器,其可以根据进一步解码的信息和滤波器参数来对重构块进行滤波。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对该信号执行合适的熵编码/可变长度编码以提供误差检测和校正能力。熵编码器330、430的输出可以例如由多路复用器528插入到比特流中。
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组(MPEG)的联合视频团队(JVT)开发。H.264/AVC标准由两个母标准化组织发布,并且被称为ITU-TRecommendation H.264和ISO/IEC国际标准14496-10,其也被称为MPEG-4部分10高级视频编码(AVC)。H.264/AVC标准有多种版本,将新的扩展或功能集成到规范中。这些扩展包括可伸缩视频编码(SVC)和多视图视频编码(MVC)。
高效视频编码(H.265/HEVC又名HEVC)标准的版本1由VCEG和MPEG的联合协作团队-视频编码(JCT-VC)开发。该标准由两个母标准化组织发布,并且被称为ITU-TRecommendation H.265和ISO/IEC国际标准23008-2,也被称为MPEG-H Part 2高效视频编码(HEVC)。H.265/HEVC的版本2包括可伸缩的多视图和保真度范围扩展,其可分别缩写为SHVC、MV-HEVC和REXT。H.265/HEVC的版本2预先发布为ITU-T Recommendation H.265(10/2014),并且很可能在2015年作为ISO/IEC 23008-2的版本2发布。目前正在进行的标准化项目以进一步开发对H.265/HEVC的扩展,包括三维和屏幕内容编码扩展,其可以分别缩写为3D-HEVC和SCC。
SHVC、MV-HEVC和3D-HEVC使用在HEVC标准的版本2的附件F中指定的通用基础规范。该通用基础包括例如高级语法和语义,例如指定比特流的层的一些特性(诸如层间依赖性)以及解码过程(诸如包括层间参考图片的参考图片列表构造和用于多层比特流的图片顺序计数推导)。附件F同样可用于HEVC的潜在的后续多层扩展。应该理解,即使视频编码器、视频解码器、编码方法、解码方法、比特流结构和/或实施例可以在下面参考诸如SHVC和/或MV-HEVC的特定扩展来描述,它们通常适用于HEVC的任何多层扩展,甚至更一般地适用于任何多层视频编码方案。
在本节中,将一些关键定义、比特流和编码结构以及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中,可以将样本阵列作为单独的颜色平面编码到比特流中,并且分别对比特流中单独编码的颜色平面进行解码。当使用单独的颜色平面时,它们中的每一个都(由编码器和/或解码器)被独立地处理为采用单色采样的图片。
分区(partitioning)可以被定义为将集合划分为子集,使得该集合的每个元素恰好在这些子集中的一个子集中。
在H.264/AVC中,宏块是16×16的亮度样本块和对应的色度样本块。例如,在4:2:0采样模式中,宏块的每个色度分量包含一个8×8的色度样本块。在H.264/AVC中,图片被划分为一个或多个片段组,并且片段组包含一个或多个片段。在H.264/AVC中,片由在特定片组内的光栅扫描中连续排序的整数个宏块组成。
当描述HEVC编码和/或解码的操作时,可以使用以下术语。编码块可以被定义为N×N个样本块,用于一些值N使得编码树块到编码块的划分是分区的。编码树块(CTB)可以被定义为N×N个样本块,用于一些值N使得分量到编码树块的划分是分区。编码树单元(CTU)可以被定义为亮度样本的编码树块,具有三个样本阵列的图片的色度样本的两个对应编码树块,或者单色图片或使用三个单独的颜色平面和用于编码样本的语法结构进行编码的图片的样本的编码树块。编码单元(CU)可以被定义为亮度样本的编码块,具有三个样本阵列的图片的色度样本的两个对应编码块,或者单色图片或使用三个单独的颜色平面和用于编码样本的语法结构进行编码的图片的样本的编码块。
在一些视频编解码器(诸如高效视频编码(HEVC)编解码器)中,视频图片被划分成覆盖图片区域的编码单元(CU)。CU由定义用于CU内的样本的预测过程的一个或多个预测单元(PU)和定义用于该CU中的样本的预测误差编码过程的一个或多个变换单元(TU)组成。通常,CU由方块的样本组成,其大小可以从一组预定义的可能的CU大小中选择。具有最大允许大小的CU可以被命名为LCU(最大编码单元)或编码树单元(CTU),并且视频图片被分成不重叠的LCU。LCU可以例如通过递归地分割LCU和所得到的CU而进一步分割成较小的CU的组合。每个所得到的CU通常具有至少一个PU和与其相关联的至少一个TU。每个PU和TU可以被进一步分割成更小的PU和TU,以便分别增加预测和预测误差编码过程的粒度。每个PU具有与其相关联的预测信息,该预测信息定义对该PU内的像素应用什么类型的预测(例如,用于帧间预测的PU的运动矢量信息和用于帧内预测的PU的帧内预测方向性信息)。
解码器通过应用与编码器相似的预测部件来重构输出视频,以形成像素块的预测表示(使用由编码器创建并存储在压缩表示中的运动或空间信息)和预测误差解码(在空间像素域中恢复量化预测误差信号的预测误差编码的逆操作)。在应用预测和预测误差解码部件之后,解码器将预测和预测误差信号(像素值)相加以形成输出视频帧。解码器(和编码器)还可以应用附加的滤波部件来提高输出视频的质量,这在将其传递用于显示和/或将其存储作为视频序列中即将到来的帧的预测参考之前进行。
滤波例如可以包括以下中的一个以上:解块(deblocking)、采样自适应偏移(SAO)和/或自适应环路滤波(ALF)。H.264/AVC包括解块,而HEVC包括解块和SAO二者。
在典型的视频编解码器中,运动信息采用与每个运动补偿图像块相关联的运动矢量(诸如预测单元)来指示。这些运动矢量中的每一个表示将要编码(在编码器侧)或解码(在解码器侧)的图片中图像块和预先编码或解码的图片中的一个图片的预测源块的位移。为了有效地表示运动矢量,通常相对于块特定的预测运动矢量而对这些运动矢量差分编码。在典型的视频编解码器中,以预定义的方式创建预测运动矢量,例如计算相邻块的编码或解码运动矢量的中值。创建运动矢量预测的另一种方式是从时间参考图片中的相邻块和/或共同定位块生成候选预测的列表,并将所选择的候选者用信号表示为运动矢量预测值。除了预测运动矢量值之外,还可以预测哪个参考图片用于运动补偿预测,并且该预测信息可以例如由先前编码/解码图片的参考索引表示。参考索引通常根据时间参考图片中的相邻块和/或共同定位块来预测。此外,典型的高效视频编解码器采用附加的运动信息编码/解码机制,通常称为合并/归并模式,其中包括针对每个可用参考图片列表的运动矢量和对应参考图片索引的所有运动场信息被预测,并且未经任何修改/校正而使用。类似地,预测运动场信息使用时间参考图片中的相邻块和/或共同定位块的运动场信息来执行,并且所使用的运动场信息在填充有可用的相邻/共同定位块的运动场信息的运动场候选者列表中用信号通知。
典型的视频编解码器能够使用单预测和双预测,单预测中单个预测块用于被(解码)编码的块,双预测中两个预测块被组合以形成(解码)编码的块的预测。一些视频编解码器启用加权预测,其中预测块的样本值在添加残差信息之前被加权。例如,可应用乘法加权因子和附加偏移。在由一些视频编解码器启用的显式加权预测中,例如可以在每个可允许参考图片索引的片段报头中对加权因子和偏移进行编码。在由一些视频编解码器启用的隐式加权预测中,加权因子和/或偏移不被编码,而是例如基于参考图片的相对图片顺序计数(POC)距离来导出。
在典型的视频编解码器中,运动补偿之后的预测残差首先采用变换内核(如DCT)进行变换,并且然后进行编码。其原因是,通常在残差和变换之间还存在一些相关性,并且在许多情况下,这有助于减少该相关性并提供更高效的编码。
典型的视频编码器采用拉格朗日代价函数来寻找最优编码模式,例如,所期望的宏块模式和相关联的运动矢量。这种代价函数使用加权因子λ将由于有损编码方法导致的(精确或估计的)图像失真与表示图像区域中的像素值所需的(精确或估计的)信息量联系在一起:
C=D+λR,(1)
其中C是要被最小化的拉格朗日代价,D是考虑了模式和运动矢量的图像失真(例如均方误差),并且R是表示重构解码器中的图像块所需的数据需要的比特数(包括表示候选运动矢量的数据量)。
视频编码标准和规格可允许编码器将编码图片划分为编码片段等。图片内预测通常在片段边界上禁用。因此,片段可以被看作是将编码图片分割为可独立解码片的一种方式。在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和HEVC中,NAL单元报头指示NAL单元的类型。
H.264/AVC NAL单元报头包括2位nal_ref_idc语法元素,其在等于0时指示包含在NAL单元中的编码片段是非参考图片的一部分并且当大于0时指示包含在NAL单元中的编码片段是参考图片的一部分。SVC和MVC NAL单元的报头可能另外包含与可伸缩性和多视图层次相关的各种指示。
在HEVC中,两字节的NAL单元报头可用于于所有指定的NAL单元类型。NAL单元报头包含1个保留位、6位NAL单元类型指示、3位用于时间级别(可能需要大于或等于1)的nuh_temporal_id_plus1指示和6位nuh_layer_id语法元素。temporal_id_plus1语法元素可以被认为是NAL单元的时间标识符,并且基于零的TemporalId变量可被如下导出:TemporalId=temporal_id_plus1-1。等于0的TemporalId对应于最低时间级别。为了避免涉及两个NAL单元报头字节的起始代码仿真,temporal_id_plus1的值需要为非零。通过排除具有TemporalId大于或等于选定值的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流仍然符合。因此,具有TemporalId等于TID的图片不使用具有TemporalId大于TID的任何图片作为帧间预测参考。子层或时间子层可以被定义为时间可伸缩比特流的时间可伸缩层,其由具有TemporalId变量的特定值的VCL NAL单元和相关联的非VCL NAL单元组成。nuh_layer_id可以被理解为可伸缩性层标识符。
NAL单元可以被分类为视频编码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元通常是编码片段NAL单元。在H.264/AVC中,编码片段NAL单元包含表示一个或多个编码宏块的语法元素,其中的每一个对应于未压缩图片中的样本块。在HEVC中,VCL NAL单元包含表示一个或多个CU的语法元素。
在H.264/AVC中,编码片段NAL单元可被指示为瞬时解码刷新(IDR)图片中的编码片段或非IDR图片中的编码片段。
在HEVC中,可以将VCL NAL单元的nal_unit_type视为指示图片类型。在HEVC中,图片类型的缩写可以被定义如下:尾随(TRAIL)图片、时间子层访问(TSA)、逐步时间子层访问(STSA)、随机访问可解码引导(RADL)图片、随机访问跳过引导(RASL)图片、失效链接访问(BLA)图片、瞬时解码刷新(IDR)图片、干净的随机访问(CRA)图片。图片类型可以分为帧内随机访问点(IRAP)图片和非IRAP图片。
随机访问点(RAP)图片(也可称为内部随机访问点(IRAP)图片)是其中每一片段或片段分段具有nal_unit_type在16至23(含)的范围中的图片。独立层中的IRAP图片仅包含帧内编码片段。属于具有nuh_layer_id值currLayerId的预测层的IRAP图片可以包含P、B和I片段,不能使用具有nuh_layer_id等于currLayerId的其它图片的帧间预测,并且可以使用来自其直接参考层的层间预测。在当前版本的HEVC中,IRAP图片可以是BLA图片、CRA图片或IDR图片。包含基础层的比特流中的第一图片是基础层处的IRAP图片。如果必要的参数集在其需要被激活时可用,则独立层处的IRAP图片和在独立层处以解码顺序的所有后续非RASL图片可被正确解码,而不执行以解码顺序在IRAP图片之前的任何图片的解码处理。当必要的参数集在需要被激活时可用时,以及当具有nuh_layer_id等于currLayerId的层的每个直接参考层的解码已被初始化时(即,当对于refLayerId等于具有nuh_layer_id等于currLayerId的层的直接参考层的所有nuh_layer_id值,LayerInitializedFlag[refLayerId]等于1时),属于具有nuh_layer_id值currLayerId的预测层的IRAP图片和具有以解码顺序nuh_layer_id等于currLayerId的所有后续非RASL图片可被正确地解码,而不执行以解码顺序在IRAP图片之前的nuh_layer_id等于currLayerId的的任何图片的解码处理。比特流中可能存在仅包含不是IRAP图片的帧内编码片段的图片。
在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图片相关联的RASL图片可能被不正确地解码,因为它们的参考图片中的一些可能不存在于组合的比特流中。为了简单地进行这种拼接操作,可以改变CRA图片的NAL单元类型以指示它是BLA图片。与BLA图片相关联的RASL图片可能无法正确解码,因此不会被输出/显示。此外,与BLA图片相关联的RASL图片可以从解码中省略。
BLA图片可以是在解码顺序上比特流中的第一图片,或者可以稍后出现在比特流中。每个BLA图片开始新的编码视频序列,并且对解码过程具有与IDR图片相似的效果。然而,BLA图片包含指定非空参考图片集的语法元素。当BLA图片具有nal_unit_type等于BLA_W_LP时,其可具有相关联的RASL图片,其不由解码器输出并且可能不可解码,因为它们可能包含对比特流中不存在的图片的参考。当BLA图片具有nal_unit_type等于BLA_W_LP时,其还可具有被指定为要被解码的相关联的RADL图片。当BLA图片具有nal_unit_type等于BLA_W_DLP时,其不具有相关联的RASL图片,但可具有被指定为要被解码的相关联的RADL图片。当BLA图片具有nal_unit_type等于BLA_N_LP时,其不具有任何相关联的前导图片。
具有nal_unit_type等于IDR_N_LP的IDR图片不具有存在于比特流中的相关联的前导图片。具有nal_unit_type等于IDR_W_LP的IDR图片不具有存在于比特流中的相关联的RASL图片,但是可以具有在比特流中相关联的RADL图片。
当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14时,解码图片不被用作相同时间子层的任何其它图片的参考。也就是说,在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中的任一个中。具有nal_unit_type等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14的编码图片可被丢弃而不影响具有相同TemporalId值的其它图片的可解码性。
尾随图片可以被定义为在输出顺序上在相关联的RAP图片之后的图片。作为尾随图片的任何图片都不具有nal_unit_type等于RADL_N、RADL_R、RASL_N或RASL_R。作为前导图片的任何图片可能被限制以解码顺序的与相同的RAP图片相关联的所有尾随图片之前。在比特流中不存在与具有nal_unit_type等于BLA_W_DLP或BLA_N_LP的BLA图片相关联的RASL图片。在比特流中不存在与具有nal_unit_type等于BLA_N_LP的BLA图片相关联的或与具有nal_unit_type等于IDR_N_LP的IDR图片相关联的RADL图片。与CRA或BLA图片相关联的任何RASL图片可以被限制为以输出顺序在与CRA或BLA图片相关联的任何RADL图片之前。与CRA图片相关联的任何RASL图片可以被限制为在输出顺序上跟随在解码顺序上在CRA图片之前的任何其它RAP图片。
在HEVC中,存在两种图片类型,即可用于指示时间子层切换点的TSA和STSA图片类型。如果具有TemporalId高达N的时间子层已经被解码,直到TSA或STSA图片(独有)并且TSA或STSA图片具有TemporalId等于N+1,则TSA或STSA图片能够对具有TemporalId等于N+1的所有后续图片(以解码顺序)解码。TSA图片类型可能对TSA图片本身以及在以解码顺序跟随TSA图片的相同子层中的所有图片施加限制。这些图片都不允许使用以解码顺序在TSA图片之前的相同子层中的任何图片进行帧间预测。TSA定义可以进一步对以解码顺序的TSA图片之后的较高子层中的图片施加限制。如果这些图片属于与TSA图片相同或更高的子层,则这些图片都不被允许指示以解码顺序在TSA图片之前的图片。TSA图片具有TemporalId大于0。STSA类似于TSA图片,但不对以解码顺序在STSA图片之后的更高子层中的图片施加限制,并且因此只能向上切换到STSA图片所位于的子层上。
非VCL NAL单元例如可以是以下类型之一:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、比特流结束NAL单元,或者填充数据NAL单元。可能需要参数集来重构解码图片,而许多其它非VCL NAL单元对于解码样本值的重构不是必需的。访问单元定界符NAL单元(当存在时)可被需要作为访问单元的以解码顺序的第一NAL单元,并因此可用于指示访问单元的开始。已经提出了用于编码单元完成的诸如SEI消息或专用NAL单元的指示符可以被包括在比特流中或者从比特流中解码。编码单元完成指示符可以另外包括其是否表示编码图片单元的结束的信息,在这种情况下,编码单元完成指示符可以另外包括编码单元完成指示符表示访问单元的结束的层的组合的信息。
通过编码视频序列保持不变的参数可以被包括在序列参数集中。除了解码过程可能需要的参数之外,序列参数集可以可选地包含视频可用性信息(VUI),其包括对于缓冲、图片输出时序、呈现和资源预留可能是重要的参数。在H.264/AVC中指定了三个NAL单元来携带序列参数集:包含序列中用于H.264/AVC VCL NAL单元的所有数据的序列参数集NAL单元、包含用于辅助编码图片的数据的序列参数集扩展NAL单元,以及用于MVC和SVC VCL NAL单元的子集序列参数集。在HEVC中,序列参数集RBSP包括可由一个或多个图片参数集RBSP或包含缓冲时段SEI消息的一个或多个SEI NAL单元参考的参数。图片参数集包含可能在几个编码图片中不变的参数。图片参数集RBSP可以包括可以由一个或多个编码图片的编码片段NAL单元参考的参数。
在HEVC中,视频参数集(VPS)可被定义为包含语法元素的语法结构,该语法元素应用于由每个片段分段报头中发现的语法元素参考的PPS中发现的语法元素参考的SPS中发现的语法元素的内容确定的零个以上的整个编码视频序列。
视频参数集RBSP可以包括可以被一个或多个序列参数集RBSP参考的参数。
可以如下描述视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)之间的关系和层次。VPS位于在参数集层次结构和可伸缩性和/或3D视频的上下文中的SPS之上的一个级别。VPS可以包括对于整个编码视频序列中的所有(可伸缩性或视图)层的所有片段共有的参数。SPS包括在整个编码视频序列中的特定(可伸缩性或视图)层中的所有片段共有并且可以由多个(可伸缩性或视图)层共享的参数。PPS包括对于特定层表示中的所有片段(一个访问单元中的一个可伸缩性或视图层的表示)共有并且可能由多层表示中的所有片段共享的参数。
VPS可以提供关于比特流中的层的依赖关系的信息,以及可应用于整个编码的视频序列中的所有(可伸缩性或视图)层上的所有片段的许多其它信息。VPS可以被认为包括两部分,即基本VPS和VPS扩展,其中VPS扩展可以可选地存在。在HEVC中,基础VPS可被认为包括video_parameter_set_rbsp()语法结构,而不具有vps_extension()语法结构。video_parameter_set_rbsp()语法结构主要是针对HEVC版本1指定的,并且包括可用于基础层解码的语法元素。在HEVC中,VPS扩展可被视为包括vps_extension()语法结构。vps_extension()语法结构主要针对多层扩展在HEVC版本2中被指定,并且包括可用于解码一个或多个非基础层的语法元素,诸如指示层依赖关系的语法元素。
H.264/AVC和HEVC语法允许参数集的许多实例,并且每个实例用唯一标识符来标识。为了限制参数集所需的存储器使用量,参数集标识符的值范围受到限制。在H.264/AVC和HEVC中,每个片段报头包括图片参数集的标识符,其对于包含该片段的图片的解码是有效的,并且每个图片参数集包含有效序列参数集的标识符。因此,图片和序列参数集的传输不必与片段的传输精确同步。相反,有效序列和图片参数集在其被参考之前的任何时刻被接收就足够了,与用于片段数据的协议相比,这允许使用更可靠的传输机制传输“带外(out-of-band)”参数集。例如,参数集可以作为参数被包括在实时传输协议(RTP)会话的会话描述中。如果参数集在带内(in-band)发送,则可以重复这些参数集以提高误差鲁棒性。
参数集可以通过来自片段或来自另一个有效参数集或者在一些情况下来自诸如缓冲时段SEI消息的另一种语法结构的参考来激活。
SEI NAL单元可以包含一个或多个SEI消息,这对输出图片的解码不是必需的,但可以辅助诸如图片输出时序、呈现、误差检测、误差隐藏和资源预留的相关过程。在H.264/AVC和HEVC中指定了几个SEI消息,并且用户数据SEI消息使组织和公司能够指定他们自己使用的SEI消息。H.264/AVC和HEVC包含指定SEI消息的语法和语义,但没有定义处理收件人的消息的过程。因此,在创建SEI消息时需要遵循H.264/AVC标准或HEVC标准的编码器和符合H.264/AVC标准或HEVC标准的解码器分别不需要处理用于输出顺序一致性的SEI消息。在H.264/AVC和HEVC中包括SEI消息的语法和语义的原因之一是允许不同的系统规范相同地解释补充信息并因此互操作。意图是系统规范可能需要在编码端和解码端都使用特定的SEI消息,并且另外可以指定处理接收者中处理特定SEI消息的过程。
在HEVC中,存在两种类型的SEI NAL单元,即具有彼此不同的nal_unit_type值的后缀SEI NAL单元和前缀SEI NAL单元。包含在后缀SEI NAL单元中的SEI消息与以解码顺序在后缀SEI NAL单元之前的VCL NAL单元相关联。包含在前缀SEI NAL单元中的SEI消息与以解码顺序在前缀SEI NAL单元之后的VCL NAL单元相关联。
编码图片是图片的编码表示。H.264/AVC中的编码图片包括图片解码所需的VCLNAL单元。在H.264/AVC中,编码图片可以是主编码图片或冗余编码图片。在有效比特流的解码过程中使用主编码图片,而冗余编码图片是仅当主编码图片不能被成功解码时才应被解码的冗余表示。在HEVC中,不指定冗余编码图片。
在H.264/AVC中,访问单元(AU)包括主编码图片和与其相关联的那些NAL单元。在H.264/AVC中,访问单元内的NAL单元的出现顺序受到如下限制。可选的访问单元定界符NAL单元可以指示访问单元的开始。紧随其后的是零个以上的SEI NAL单元。接下来出现主编码图片的编码片段。在H.264/AVC中,主编码图片的编码片段之后可以是用于零个以上的冗余编码图片的编码片段。冗余编码图片是图片或图片的一部分的编码表示。如果例如由于传输丢失或物理存储介质中的损坏而导致解码器未接收到主编码图片,则可以对冗余编码图片进行解码。
在HEVC中,编码图片可以被定义为包含图片的所有编码树单元的图片的编码表示。在HEVC中,访问单元(AU)可以被定义为根据指定的分类规则彼此关联的一组NAL单元,在解码顺序中是连续的,并且最多包含具有任何特定值的nuh_layer_id的一个图片。除了包含编码图片的VCL NAL单元之外,访问单元同样可以包含非VCL NAL单元。
可能要求编码图片在访问单元内以特定顺序出现。例如,具有nuh_layer_id等于nuhLayerIdA的编码图片可能需要以解码顺序在相同访问单元中具有nuh_layer_id大于nuhLayerIdA的所有编码图片之前。
在HEVC中,图片单元可被定义为一组NAL单元,其包含编码图片的所有VCL NAL单元及其相关联的非VCL NAL单元。用于非VCL NAL单元的相关联的VCL NAL单元可以被定义为解码顺序上用于某些类型的非VCL NAL单元的非VCL NAL单元的在前VCL NAL单元,以及解码顺序上用于其它类型的非VCL NAL单元的非VCL NAL单元的下一个VCL NAL单元。用于VCL NAL单元的相关联的非VCL NAL单元可以被定义为针对VCL NAL单元是相关联的VCLNAL单元的非VCL NAL单元。例如,在HEVC中,相关联的VCL NAL单元可以被定义为对于具有nal_unit_type等于EOS_NUT、EOB_NUT、FD_NUT或SUFFIX_SEI_NUT或处于RSV_NVCL45..RSV_NVCL47或UNSPEC56..UNSPEC63的范围内的非VCL NAL单元在解码顺序上在前的VCL NAL单元;或以其它方式在解码顺序上的下一个VCL NAL单元。
比特流可以被定义为以NAL单元流或字节流的形式的比特序列,其形成编码图片的表示以及形成一个或多个编码视频序列的相关联数据。第一比特流可以在相同逻辑信道中(诸如在相同的文件中或在通信协议的相同连接中)紧随第二比特流。基本流(在视频编码的情况下)可以被定义为一个或多个比特流的序列。第一比特流的结束可以由特定的NAL单元来指示,该特定的NAL单元可以被称为比特流(EOB)NAL单元的结束,并且其是比特流的最后的NAL单元。在HEVC及其当前草稿扩展中,EOB NAL单元需要具有nuh_layer_id等于0。
在H.264/AVC中,编码视频序列被定义为从IDR访问单元(含该点)到下一个IDR访问单元(排除该点)或比特流的结束(以较早出现者为准)在解码顺序中连续访问单元的序列。
在HEVC中,例如,编码视频序列(CVS)可以被定义为访问单元序列,其在解码顺序上包括具有NoRaslOutputFlag等于1的IRAP访问单元,跟随不是NoRaslOutputFlag等于1的IRAP访问单元的零个以上的访问单元,其包括所有后续访问单元直到但不包括作为具有NoRaslOutputFlag等于1的IRAP访问单元的任何后续访问单元。IRAP访问单元可以被定义为其中基础层图片是IRAP图片的访问单元。对于每个IDR图片、每个BLA图片以及每个IRAP图片,其是第一图片,NoRaslOutputFlag的值等于1,因为在解码顺序上比特流中的特定层是在具有在解码顺序上相同的nuh_layer_id值的序列结束NAL单元之后的第一IRAP图片。在多层HEVC中,对于每个IRAP图片,当其nuh_layer_id使得对于等于IdDirectRefLayer[nuh_layer_id][j]的refLayerId的所有值,LayerInitializedFlag[nuh_layer_id]等于0并且LayerInitializedFlag[refLayerId]等于1时,NoRaslOutputFlag的值等于1,其中j在0至NumDirectRefLayers[nuh_layer_id]-1的范围内。否则,NoRaslOutputFlag的值等于HandleCraAsBlaFlag。等于1的NoRaslOutputFlag具有如下影响,即与设定NoRaslOutputFlag的IRAP图片相关联的RASL图片不被解码器输出。可能有手段将HandleCraAsBlaFlag的值从可以控制解码器的外部实体(诸如播放器或接收器)提供给解码器。HandleCraAsBlaFlag可以例如由播放器设定为1,该播放器寻找比特流中的新位置或者调入广播并开始解码,并且然后从CRA图片开始解码。当对于CRA图片,HandleCraAsBlaFlag等于1时,CRA图片被处理和解码,就好像它是BLA图片一样。
在HEVC中,当特定NAL单元(可以被称为序列结束(EOS)NAL单元)出现在比特流中并具有nuh_layer_id等于0时,编码视频序列可以另外地或可替代地(对于上面的说明)被指定为结束。
在HEVC中,例如,可以将编码视频序列组(CVSG)定义为在解码顺序上一个或多个连续CVS,其共同由IRAP访问单元组成,该IRAP访问单元激活在解码顺序上由所有后续访问单元紧随的尚未激活的VPS RBSP firstVpsRbsp,其中firstVpsRbsp是有效的VPS RBSP直到比特流结束或直到但不包括激活与firstVpsRbsp不同的VPS RBSP的访问单元,以解码顺序上较早者为准。
H.264/AVC和HEVC的比特流语法指示特定图片是否是用于任何其它图片的帧间预测的参考图片。任何编码类型(I,P,B)的图片可以是H.264/AVC和HEVC中的参考图片或非参考图片。
在HEVC中,使用参考图片集(RPS)语法结构和解码过程。对图片有效或激活的参考图片集包括用作图片的参考的所有参考图片以及对于在解码顺序上任何后续图片被保持标记为“用于参考”的所有参考图片。存在参考图片集的6个子集,其分别被称为RefPicSetStCurr0(又名RefPicSetStCurrBefore)、RefPicSetStCurr1(又名RefPicSetStCurrAfter)、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll。RefPicSetStFoll0和RefPicSetStFoll1同样可以被认为是形成联合的一个子集RefPicSetStFoll。六个子集的符号如下。“Curr”是指包括在当前图片的参考图片列表中的参考图片,并且因此可以用作当前图片的帧间预测参考。“Foll”是指参考图片,其不包括在当前图片的参考图片列表中,但可以在解码顺序中的后续图片中用作参考图片。“St”是指短期参考图片,其通常可通过其POC值的特定数量的最低有效位来标识。“Lt”是指长期参考图片,其被具体地标识,并且通常相比于当前图片具有比可以由所提及的特定数量的最低有效位表示的POC值更大的差。“0”是指具有比当前图片的POC值更小的POC值的那些参考图片。“1”是指具有比当前图片的POC值更大的POC值的那些参考图片。RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0和RefPicSetStFoll1统称为参考图片集的短期子集。RefPicSetLtCurr和RefPicSetLtFoll统称为参考图片集的长期子集。
在HEVC中,可以在序列参数集中指定参考图片集,并且通过参考图片集的索引在片段报头中使用参考图片集。参考图片集同样可以在片段报头中指定。参考图片集可以被独立地编码或者可以从另一个参考图片集(被称为RPS间预测)预测。在两种类型的参考图片集编码中,针对每个参考图片另外发送标志(used_by_curr_pic_X_flag),指示参考图片是被当前图片(被包括在*Curr列表中)用于参考,或者没有(被包括在*Foll列表中)。包括在由当前片段使用的参考图片集中的图片被标记为“用于参考”,并且不在由当前片段使用的参考图片集中的图片被标记为“未用于参考”。如果当前图片是IDR图片,则RefPicSetStCurr0、RefPicSetStCurr1、RefPicSetStFoll0、RefPicSetStFoll1、RefPicSetLtCurr和RefPicSetLtFoll全部设定为空。
解码图片缓冲器(DPB)可以用在编码器和/或解码器中。出于两个原因缓冲解码图片,用于帧间预测的参考以及用于将解码图片重新排序为输出顺序。由于H.264/AVC和HEVC为参考图片标记和输出重新排序提供了很大的灵活性,因此用于参考图片缓冲和输出图片缓冲的单独缓冲可能会浪费存储资源。因此,DPB可以包括用于参考图片和输出重新排序的统一解码图片缓冲处理。当DPB不再用作参考时,解码图片可能会从DPB中删除,而不需要输出。
在H.264/AVC和HEVC的许多编码模式中,用于帧间预测的参考图片用对参考图片列表的索引来指示。索引可以用可变长度编码来编码,这通常使对于对应的语法元素更小的索引具有较短的值。在H.264/AVC和HEVC中,为每个双向预测(B)片段生成两个参考图片列表(参考图片列表0和参考图片列表1),并且对于每个帧间编码(P)片段形成一个参考图片列表(参考图片列表0)。
参考图片列表(诸如参考图片列表0和参考图片列表1)通常以两个步骤构建:首先,生成初始参考图片列表。初始参考图片列表可以例如基于frame_num、POC、temporal_id(或TemporalId等)或关于预测层级的信息(诸如GOP结构)或其任何组合来生成。其次,初始参考图片列表可以通过参考图片列表重新排序(RPLR)命令来重新排序,该参考图片列表重新排序(RPLR)命令也被称为参考图片列表修改语法结构,其可以包含在片段报头中。在H.264/AVC中,RPLR命令指示排序到相应参考图片列表的开头的图片。该第二步骤同样可以被称为参考图片列表修改过程,并且RPLR命令可以被包括在参考图片列表修改语法结构中。如果使用参考图片集,则参考图片列表0可以被初始化为首先包含RefPicSetStCurr0,接着是RefPicSetStCurr1,接着是RefPicSetLtCurr。参考图片列表1可以被初始化为首先包含RefPicSetStCurr1,接着是RefPicSetStCurr0。在HEVC中,可以通过参考图片列表修改语法结构来修改初始参考图片列表,其中初始参考图片列表中的图片可以通过列表的入口索引来标识。换句话说,在HEVC中,参考图片列表修改被编码为包括最终参考图片列表中的每个条目上的循环的语法结构,其中每个循环条目是到初始参考图片列表的固定长度编码索引,并且指示在最终参考图片列表中以升序位置顺序的图片。
包括H.264/AVC和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多层扩展编码。外部基础层图片可以被定义为由用于增强层解码过程的外部部件提供的解码图片,并且被视为用于增强层解码过程的解码的基础层图片。SHVC和MV-HEVC允许使用外部基础层图片。
应该理解的是,许多可伸缩性类型可以被组合并且被一起应用。例如色域可扩展性和比特深度可伸缩性可以被组合。
术语层可以在任何类型的可伸缩性的环境中使用,包括视图可伸缩性和深度增强。增强层可以指任何类型的增强,诸如SNR、空间、多视图、深度、比特深度、色度格式和/或色域增强。基础层可以指任何类型的基本视频序列,诸如基本视图,用于SNR/空间可伸缩性的基础层或用于深度增强视频编码的纹理基本视图。
目前正在研究和开发用于提供三维(3D)视频内容的各种技术。可以认为,在立体或双视图视频中,为左眼呈现一个视频序列或视图,而为右眼呈现平行视图。对于能够进行视点切换的应用或者可能同时呈现大量视图并且让观看者观察来自不同视点的内容的自动立体显示器,可能需要两个以上的平行视图。
视图可被定义为表示一个相机或视点的图片序列。表示视图的图片也可以称为视图组件。换句话说,视图组件可以被定义为单个访问单元中的视图的编码表示。在多视图视频编码中,在比特流中对多于一个视图编码。由于视图通常旨在显示在立体或多视图自动立体显示器上或用于其它3D布置,因此它们通常表示相同的场景,并且尽管表示内容的不同视点,但内容方面部分重叠。因此,可以在多视图视频编码中采用视图间预测,来利用视图间相关性并提高压缩效率。一种实现视图间预测的方式是将一个以上的其它视图的一个以上的解码图片包括在位于第一视图内的正被编码或解码的图片的参考图片列表中。视图可伸缩性可以指示此类多视图视频编码或多视图视频比特流,其能够移除或省略一个以上的编码视图,而所得到的比特流保持一致并且表示具有比原始视图更少数量的视频。
关注区域(ROI)编码可以被定义为指示以更高的保真度对视频内的特定区域进行编码。对于编码器和/或其它实体存在几种方法来确定来自要被编码的输入图片的ROI。例如,可以使用面部检测并且面部可以被确定为ROI。另外地或可替代地,在另一个示例中,可以检测并确定聚焦的对象为ROI,而将离焦的对象确定为在ROI外部。另外地或可替代地,在另一个示例中,例如基于深度传感器可以估计或已知与对象的距离,并且可以将ROI确定为相对靠近相机的那些对象,而不是在背景中的对象。
ROI可伸缩性可以被定义为其中增强层增强参考层图片的仅一部分的可伸缩性类型,例如,空间上、质量上、比特深度上和/或沿着其它可伸缩性维度。由于ROI可伸缩性可以与其它类型的可伸缩性一起使用,因此可以考虑形成可伸缩性类型的不同分类。对于具有不同需求的ROI编码存在几种不同的应用,这可以通过使用ROI可伸缩性来实现。例如,可以发送增强层以增强基础层中的区域的质量和/或分辨率。接收增强层和基础层比特流两者的解码器可能解码两个层并且将解码的图片彼此叠加在顶上并显示最终的图片。
参考层图片和增强层图片的空间对应关系可被推断,或者可以用一种或多种类型的所谓参考层位置偏移来指示。在HEVC中,参考层位置偏移可由编码器包括在PPS中并由解码器从PPS解码。参考层位置偏移可用于但不限于实现ROI可伸缩性。参考层位置偏移可以包括伸缩参考层偏移、参考区域偏移和重新取样相位集合中的一个或多个。伸缩参考层偏移可以被认为是指定当前图片中与参考层中的解码图片中的参考区域的左上亮度样本并置的样本之间的水平和垂直偏移以及当前图片中与参考层中的解码图片中的参考区域的右下亮度样本并置的样本之间的水平和垂直偏移。另一种方式是考虑伸缩的参考层偏移以指定上采样的参考区域的角点样本相对于增强层图片的相应角点样本的位置。伸缩的参考层偏移值可以被标记。可以考虑参考区域偏移来指定参考层中的解码图片中的参考区域的左上亮度样本与相同解码图片的左上亮度样本之间的水平和垂直偏移,以及在参考层中的解码图片中的参考区域的右下亮度样本与相同解码图片的右下亮度样本之间的水平和垂直偏移。参考区域偏移值可以被标记。可以考虑重采样相位集合来指定用于层间预测的源图片的重采样处理中使用的相位偏移。对于亮度和色度分量可以提供不同的相位偏移。
混合编解码器可伸缩性可与任何类型的可伸缩性一起使用,诸如时间性、质量、空间、多视图、深度增强、辅助图片、比特深度、色域、色度格式和/或ROI可伸缩性。由于混合编解码器可伸缩性可以与其它类型的可伸缩性一起使用,因此可以考虑形成可伸缩性类型的不同分类。
可以例如在增强层比特流中指示混合编解码器可伸缩性的使用。例如,在多层HEVC中,例如可以使用语法元素vps_base_layer_internal_flag,在VPS中指示混合编解码器可伸缩性的使用。
一些可伸缩视频编码方案可能要求IRAP图片以如下的方式跨层对齐,即访问单元中的所有图片都是IRAP图片,或者访问单元中没有图片是IRAP图片。其它可伸缩视频编码方案(诸如HEVC的多层扩展)可以允许未对齐的IRAP图片,即,访问单元中的一个以上的图片是IRAP图片,而访问单元中的一个以上的其它图片不是IRAP图片。具有不跨层对齐的IRAP图片或类似图片的可伸缩比特流可以用于例如在基础层中提供更频繁的IRAP图片,其中由于例如更小的空间分辨率可具有更小的编码尺寸。视频解码方案中可以包括用于解码的逐层启动的过程或机制。因此,解码器可以在基础层包含IRAP图片时开始对比特流进行解码,并且当其包含IRAP图片时,逐步开始解码其它层。换句话说,在解码机制或过程的逐层启动中,随着来自附加增强层的后续图片在解码过程中被解码,解码器逐渐增加解码层的数量(其中层可表示空间分辨率、质量水平、视图、诸如深度的附加组件的增强,或者组合)。例如,解码层的数量的逐步增加可被感知为图片质量的逐步改进(在质量和空间可伸缩性的情况下)。
逐层启动机制可以生成在特定增强层中在解码顺序上第一图片的参考图片的不可用图片。可替代地,解码器可以省略在解码顺序上可以开始对层解的IRAP图片之前的图片的解码。可以省略的这些图片可以由编码器或比特流内的另一个实体特别标记。例如,可以针对这些图片使用一个或多个特定的NAL单元类型。无论这些图片是否例如通过解码器用NAL单元类型特别标记或推断,它们可以被称为跨层随机访问跳过(CL-RAS)图片。解码器可以省略所生成的不可用图片和解码的CL-RAS图片的输出。
可以通过两种基本方式来实现可伸缩性。通过引入用于从可伸缩表示的更低层执行预测像素值或语法的新编码模式,或者通过将更低层图片放置到更高层的参考图片缓冲器(例如,解码图片缓冲器,DPB)。第一种方法可能更灵活,并且因此在大多数情况下可以提供更好的编码效率。然而,第二种基于参考帧的可伸缩性方法可以在对单层编解码器进行最小改变的同时有效地实现,同时仍然实现大部分可用的编码效率增益。实质上,基于参考帧的可伸缩性编解码器可以通过对所有层采用相同的硬件或软件实施方式来实现,只是通过外部装置来关注DPB管理。
用于质量可伸缩性(也称为信噪比或SNR)和/或空间可伸缩性的可伸缩视频编码器可以如下实施。对于基础层,可以使用传统的非可伸缩视频编码器和解码器。基础层的重构/解码图片被包括在用于增强层的参考图片缓冲器和/或参考图片列表中。在空间可伸缩性的情况下,重构/解码的基础层图片可以在其插入用于增强层图片的参考图片列表之前被上采样。类似于增强层的解码参考图片,可将基础层解码图片插入用于增强层图片的编码/解码的参考图片列表中。因此,编码器可以选择基础层参考图片作为帧间预测参考,并采用在编码比特流的参考图片索引指示其的使用。解码器例如从参考图片索引中从比特流中解码出基础层图片被用作增强层的帧间预测参考。当解码的基础层图片被用作增强层的预测参考时,其被称为层间参考图片。
尽管前面的段落描述了具有带有增强层和基础层的两个可伸缩性层的可伸缩视频编解码器,但是需要理解的是,可以将该描述推广到具有多于两层的可伸缩性层级中的任何两个层。在该情况下,第二增强层在编码和/或解码过程中可以取决于第一增强层,并且第一增强层因此可以被视为用于对第二增强层进行编码和/或解码的基础层。此外,需要理解的是,可能存在来自参考图片缓冲区中的多于一个的层或增强层的参考图片列表中的层间参考图片,并且这些层间参考图片中的每一个可被认为位于用于被编码和/或解码的增强层的基础层或参考层中。此外,需要理解的是,除参考层图片上采样之外的其它类型的层间处理可以替代地或附加地发生。例如,参考层图片的样本的比特深度可以被转换为增强层的比特深度和/或样本值可以经历从参考层的颜色空间到增强层的颜色空间的映射。
可伸缩视频编码和/或解码方案可以使用多循环编码和/或解码,其可以如下表征。在编码/解码中,基础层图片可以被重构/解码以用作在同一层内以编码/解码顺序的后续图片的运动补偿参考图片,或者作为用于层间(或视图间或组件间)预测的参考。重构/解码的基础层图片可以存储在DPB中。增强层图片可以类似地被重构/解码以用作在同一层内以编码/解码顺序的后续图片的运动补偿参考图片,或者作为用于更高增强层的层间(或者视图间或者组件间)预测的参考(如果存在)。除了重构/解码的样本值之外,可以在层间/组件间/视图间预测中使用基础层/参考层的语法元素值或从基础层/参考层的语法元素值导出的变量。
层间预测可以被定义为以取决于来自与当前图片的层(被编码或解码)不同的层的参考图片的数据元素(例如,样本值或运动矢量)的方式为预测。存在许多类型的层间预测,并且可以应用于可伸缩视频编码器/解码器中。可用类型的层间预测可以例如取决于比特流或比特流内的特定层正在被编码所根据的编码简档,或者在解码时比特流或比特流内的特定层被指示符合的编码简档。可替代地或另外地,可用类型的层间预测可取决于可伸缩性的类型或正在使用的可伸缩编解码器或视频编码标准修改(例如SHVC、MV-HEVC或3D-HEVC)的类型。
层间预测的类型可以包括但不限于以下中的一个或多个:层间样本预测、层间运动预测、层间残差预测。在层间样本预测中,用于层间预测的源图片的重构样本值的至少一个子集被用作用于预测当前图片的样本值的参考。在层间运动预测中,用于层间预测的源图片的运动矢量的至少一个子集被用作用于预测当前图片的运动矢量的参考。通常,预测关于哪些参考图片与运动矢量相关联的信息同样被包括在层间运动预测中。例如,运动矢量的参考图片的参考索引可以被层间预测和/或参考图片的图片顺序计数或任何其它标识可以被层间预测。在一些情况下,层间运动预测同样可以包括对块编码模式、报头信息、块分区和/或其它类似参数的预测。在一些情况下,编码参数预测(诸如块分区的层间预测)可以被认为是另一种类型的层间预测。在层间残差预测中,用于层间预测的源图片的所选块的预测误差或残差被用于预测当前图片。在诸如3D-HEVC的多视点加深度编码中,可以应用交叉分量层间预测,其中第一类型的图片(诸如深度图片)可以影响第二类型的图片(诸如传统的纹理图片)的层间预测。例如,可应用视差补偿的层间样本值和/或运动预测,其中视差可至少部分地从深度图片导出。
直接参考层可以被定义为如下的层:其可被用于另一层的层间预测,该层对于另一层是直接参考层。直接预测层可以被定义为如下的层:其另一层是直接参考层。间接参考层可以被定义为如下的层:其不是第二层的直接参考层,而是作为直接参考层的第三层的直接参考层,或为此层是间接参考层的第二层的直接参考层的间接参考层。间接预测层可以被定义为另一层是间接参考层的层。独立层可以被定义为不具有直接参考层的层。换句话说,独立层不使用层间预测来预测。非基础层可以被定义为除基础层之外的任何其它层,并且基础层可以被定义为比特流中的最低层。独立的非基础层可以被定义为既是独立层又是非基础层的层。
用于层间预测的源图片可以被定义为解码图片,该解码图片或者是可以用作用于当前图片预测的参考图片的层间参考图片,或者被用于导出可以用作用于当前图片预测的参考图片的层间参考图片。在多层HEVC扩展中,层间参考图片被包括在当前图片的层间参考图片集中。层间参考图片可被定义为可用于当前图片的层间预测的参考图片。在编码和/或解码处理中,层间参考图片可被视为长期参考图片。参考层图片可以被定义为特定层或特定图片(诸如当前层或当前图片(正被编码或解码的))的直接参考层中的图片。参考层图片可以是但不必被用作用于层间预测的源图片。有时,术语用于层间预测的参考层图片和源图片可以互换使用。
用于层间预测的源图片可能需要位于与当前图片相同的访问单元中。在一些情况下,例如当不需要重采样、运动字段映射或其它层间处理时,用于层间预测的源图片和相应的层间参考图片可以是相同的。在一些情况下,例如当需要重采样以将参考层的采样网格与当前图片(正被编码或解码的)的层的采样网格相匹配时,应用层间处理以从源图片导出用于层间预测的层间参考图片。下面的段落描述了此类层间处理的示例。
层间样本预测可以包括对用于层间预测的源图片的样本阵列进行重采样。编码器和/或解码器可以例如基于用于该对的参考层位置偏移,对于一对增强层及其参考层导出水平伸缩因子(例如存储在可变ScaleFactorX中)和垂直伸缩因子(例如存储在可变ScaleFactorY中)。如果其中一个或两个伸缩因子不等于1,则可以对用于层间预测的源图片进行重采样,以生成用于预测增强层图片的层间参考图片。用于重采样的过程和/或过滤器可以例如在编码标准中预定义和/或由比特流中的编码器指示(例如,作为预定义的重采样过程或过滤器中的索引)和/或由来自比特流的解码器解码。取决于比例因子的值,可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器推断不同的重采样过程。例如,当两个比例因子都小于1时,可以推断预定义的下采样过程;并且当两个比例因子都大于1时,可以推断预定义的上采样过程。另外地或可替代地,取决于哪个样本阵列被处理,可以由编码器指示和/或由解码器解码和/或由编码器和/或解码器推断不同的重采样过程。例如,对于亮度样本阵列可以推断使用第一重采样过程,并且对于色度样本阵列可以推断使用第二重采样过程。
可以例如逐图片地(对于用于层间预测的整个源图片或用于层间预测的源图片的参考区域)、逐片段(例如,对于与增强层片段对应的参考层区域)或逐块(例如,对于与增强层编码树单元对应的参考层区域)地执行重采样。所确定的区域(例如,增强层图片中的图片、片段或编码树单元)的重采样可以例如通过在所确定的区域的所有采样位置上循环并且对于每个采样位置执行逐样本重采样过程来执行。然而,应该理解,存在对所确定的区域进行重采样的其它可能性。例如,某个采样位置的过滤可以使用先前采样位置的可变值。
SHVC能够使用基于3D查找表(LUT)的加权预测或颜色映射过程用于(但不限于)色域可伸缩性。3D LUT方法可以描述如下。每个颜色分量的样本值范围可以首先分成两个范围,最多形成2x2x2八分圆(octant),并且然后亮度范围可以进一步分成四个部分,从而产生高达8x2x2的八分圆。在每个八分圆中,应用交叉颜色分量线性模型来执行颜色映射。对于每个八分圆,四个顶点被编码到比特流中和/或从比特流中解码以表示八分圆内的线性模型。颜色映射表对于每个颜色分量被分别编码到比特流中和/或从比特流中解码。颜色映射可以被认为涉及三个步骤:首先,确定给定的参考层样本三元组(Y,Cb,Cr)所属的八分圆。其次,可以通过应用颜色分量调节过程来对齐亮度和色度的采样位置。第三,应用为确定的八分圆所指定的线性映射。该映射可以具有交叉分量性质,即一个颜色分量的输入值可以影响另一个颜色分量的映射值。此外,如果同样需要层间重采样,则重采样过程的输入是已进行颜色映射的图片。颜色映射可以(但不需要)将第一比特深度的样本映射到另一比特深度的样本。
在MV-HEVC、SMV-HEVC和基于参考索引的SHVC解决方案中,块级语法和解码过程不被改变用于支持层间纹理预测。只有高级语法已被修改(与HEVC的语法相比),使得来自相同访问单元的参考层的重构图片(如果需要,上采样)可用作用于对当前增强层图片进行编码的参考图片。层间参考图片以及时间参考图片被包括在参考图片列表中。用信号通知的参考图片索引用于指示当前的预测单元(PU)是从时间参考图片预测的还是层间参考图片预测的。该特征的使用可以由编码器控制,并且例如在视频参数集、序列参数集、图片参数和/或片段报头中在比特流中指示。该指示可以例如特定于增强层、参考层、一对增强层和参考层、特定TemporalId值、特定图片类型(例如RAP图片)、特定片段类型(例如P和B片段但不是I片段)、特定POC值的图片、和/或特定访问单元。指示的范围和/或持续性可以与指示本身一起指示和/或可以被推断。
可以使用如下特定过程来初始化MV-HEVC、SMV-HEVC和基于参考索引的SHVC解决方案中的参考列表,特定过程中层间参考图片(如果有的话)可以包括在初始参考图片列表中,构造如下。例如,可以首先以与HEVC中的参考列表构造相同的方式将时间参考添加到参考列表(L0,L1)中。之后,可以在时间参考之后添加层间参考。层间参考图片例如可以从层依赖性信息中得出,诸如如上所述的从VPS扩展导出的RefLayerId[i]变量。如果当前增强层片段是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推导过程中相同。
在一些情况下,增强层中的数据可以在特定位置之后或者甚至在任意位置被截断,其中每个截断位置可以包括表示日益增强的视觉质量的附加数据。这种可伸缩性被称为细粒度(粒度)可伸缩性(FGS)。
类似于MVC,在MV-HEVC中,视图间参考图片可以被包括在被编码或解码的当前图片的参考图片列表中。SHVC使用多循环解码操作(不同于H.264/AVC的SVC扩展)。可以认为SHVC使用基于参考索引的方法,即层间参考图片可以被包括在正被编码或解码的当前图片的一个或多个参考图片列表中(如上所述)。
对于增强层编码,HEVC基础层的概念和编码工具可以在SHVC、MV-HEVC等中使用。然而,利用参考层中的已编码数据(包括重构图片样本和运动参数,又称为运动信息)以用于有效编码增强层的附加层间预测工具可被集成到SHVC、MV-HEVC和/或类似的编解码器。
已经提出,比特流不需要具有包括在比特流中或在外部提供(在混合编解码器可伸缩性的情况下)的基础层(即,在多层HEVC扩展中具有nuh_layer_id等于0的层),但最低层可以是独立的非基础层。在一些情况下,比特流中存在的最低nuh_layer_id的层可以被视为比特流的基础层。
在HEVC中,VPS标志vps_base_layer_internal_flag和vps_base_layer_available_flag可用于如下指示基础层的存在和可用性:如果vps_base_layer_internal_flag等于1并且vps_base_layer_available_flag等于1,则基础层存在于比特流中。此外,如果vps_base_layer_internal_flag等于0并且vps_base_layer_available_flag等于1,则基础层通过外部部件提供给多层HEVC解码过程,即,解码的基础层图片以及用于解码的基础层图片的某些变量和语法元素被提供给多层HEVC解码过程。此外,如果vps_base_layer_internal_flag等于1并且vps_base_layer_available_flag等于0,则基础层不可用(既不存在于比特流中也不存在于外部部件中),但是VPS包括基础层的信息,如同其存在于比特流中。此外,(vps_base_layer_internal_flag等于0并且vps_base_layer_available_flag等于0),基础层不可用(既不存在于比特流中也不存在于外部部件中),但是VPS包括基础层的信息,如同其是由外部部件提供。
编码标准可以包括子比特流提取过程,并且这例如在SVC、MVC和HEVC中被指定。子比特流提取过程涉及通常通过移除NAL单元将比特流转换成子比特流,其也可以被称为比特流子集。子比特流仍然符合标准。例如,在HEVC中,通过排除具有TemporalId值大于选定值的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流保持符合。
HEVC标准(版本2)包括三个子比特流提取过程。HEVC标准条款10中的子比特流提取过程与条款F.10.1中的相同,不同之处在于在条款F.10.1中放宽了得到的子比特流的比特流一致性要求,使得它同样可用于基础层在外部(其中vps_base_layer_internal_flag等于0)或不可用(在这种情况下,vps_base_layer_available_flag等于0)的比特流。HEVC标准(版本2)的条款F.10.3指定了子比特流提取过程,该过程导致不包含基础层的子比特流。所有三个子比特流提取过程都类似地操作:子比特流提取过程将TemporalId和/或nuh_layer_id值列表作为输入,并通过从比特流中移除具有TemporalId大于输入TemporalId值或nuh_layer_id值不在nuh_layer_id值的输入列表中的值之间的所有NAL单元来导出子比特流(也称为比特流子集)。
编码标准或系统可以指示术语操作点等,其可以指示解码操作所在的可伸缩层和/或子层,和/或可以与包括被解码的可伸缩的层和/或子层的子比特流相关联。在HEVC中,操作点被定义为通过使用另一比特流、目标最高TemporalId和目标层标识符列表作为输入来操作子比特流提取过程而从另一比特流创建的比特流。
输出层可以被定义为由解码过程输出其解码图片的层。输出层可以取决于多层比特流的哪个子集被解码。由解码过程输出的图片可以被进一步处理,例如,可以执行从YUV颜色空间到RGB的颜色空间转换,并且可以对其进行显示。然而,进一步的处理和/或显示可以被认为是解码器外部的处理和/或解码处理,并且可能不会发生。
在多层视频比特流中,操作点定义可以包括对目标输出层集合的考虑。例如,操作点可被定义为通过采用另一比特流、目标最高时间子层(例如目标最高TemporalId)和目标层标识符列表作为输入来操作子比特流提取过程而从另一比特流创建并且与一组输出层相关联的比特流。可替代地,当涉及操作点和相关联的一组输出层时,可以使用另一个术语,诸如输出操作点。例如,在MV-HEVC/SHVC中,可以将输出操作点定义为通过使用输入比特流、目标最高TemporalId和目标层标识符列表作为输入来操作子比特流提取过程而从输入比特流创建并且与一组输出层相关联的输入比特流。
由于可伸缩多层比特流能够对层和时间子层的多于一个的组合进行解码,因此多层解码过程可被提供作为目标输出操作点的输入(通过外部部件)。例如,输出操作点可以通过指定要被解码的输出层集合(OLS)和最高时间子层来提供。OLS可以被定义为表示一组层,其可以被分类为必要的层或不必要的层。可以将必要层定义为输出层,意味着该层的图片通过解码过程输出;或者参考层,意味着其图片可以直接或间接地用作用于任何输出层的图片预测的参考。在多层HEVC扩展中,VPS包括OLS的规范,并且同样可以为OLS指定缓冲要求和参数。不必要的层可以被定义为不需要被解码以重构输出层但是可以被包括在OLS中以用于指示这种层集合(其中一些层被编码有潜在的未来扩展)的缓冲需求的那些层。
虽然恒定的输出层集合适合每个访问单元中最高层保持不变的良好使用情况和比特流,但是它们可能不支持其中最高层从一个访问单元改变到另一访问单元的使用情况。因此,已经提出,编码器可以指定比特流内的替代输出层的使用,并且响应于替代输出层的指定使用,解码器在相同的访问单元内的输出层中没有图片的情况下从替代输出层输出解码图片。存在如何指示替代输出层的几种可能性。例如,输出层集合中的每个输出层可以与最小替代输出层相关联,并且逐输出层(output-layer-wise)语法元素可以用于为每个输出层指定替代输出层。可替代地,替代输出层集合机制可以被限制为仅用于仅包含一个输出层的输出层集合,并且逐输出层集合语法元素可以用于指定用于输出层集合的输出层的替代输出层。可替代地,如在HEVC中所指定的,替代输出层集合机制可以被限制为仅用于仅包含一个输出层的输出层集合,并且逐输出层集合标志(HEVC中的alt_output_layer_flag[olsIdx])可以用于指定输出层的任何直接或间接参考层可以用作输出层集合的输出层的替代输出层。可替代地,替代输出层集合机制可以被限制为仅用于其中所有指定的输出层集合仅包含一个输出层的比特流或CVS,并且替代输出层可以由比特流或逐CVS的语法元素指示。替代输出层例如可以通过例如在VPS内列举替代输出层(例如使用它们的层标识符或直接或间接参考层列表的索引),其指示最小替代输出层(例如,使用在直接或间接参考层列表内的其层标识符或其索引),或者指定任何直接或间接参考层是替代输出层的标志来指定。当能够使用多于一个的替代输出层时,可以指定输出以降序层标识符顺序向下到指示的最小替代输出层的访问单元中存在的第一直接或间接层间参考图片。
可伸缩编码中的图片输出可以例如如下进行控制:对于每个图片,PicOutputFlag首先在解码过程中被导出,类似于单层比特流。例如,可以在导出PicOutputFlag时考虑包括在图片比特流中的pic_output_flag。当访问单元已解码时,输出层和可能的替代输出层用于更新访问单元的每个图片的PicOutputFlag。
当比特流指定使用替代输出层机制时,当涉及从解码过程控制解码图片输出时,解码过程可如下操作。这里,假定HEVC解码处于使用中并且alt_output_layer_flag[TargetOlsIdx]等于1,但是解码处理可以以其它编解码器类似地实现。当图片的解码完成时,图片的变量PicOutputFlag可以如下设定:
-如果LayerInitializedFlag[nuh_layer_id]等于0,则设定PicOutputFlag等于0。
-此外,如果当前图片是RASL图片并且相关联IRAP图片的NoRaslOutputFlag等于1,则设定PicOutputFlag等于0。
-此外,设定PicOutputFlag等于pic_output_flag,其中pic_output_flag是与图片相关联的例如携带在图片的编码片段的片段报头中的语法元素。
另外,当对访问单元的最后一个图片解码完成时,(在对下一个图片解码之前)访问单元的每个解码图片的PicOutputFlag可以如下更新:
-如果alt_output_layer_flag[TargetOlsIdx]等于1,并且当前访问单元在输出层处不包含图片或者在输出层处包含具有PicOutputFlag等于0的图片,则应用下列有序步骤:
o列表nonOutputLayerPictures被设定为访问单元的图片列表,其中PicOutputFlag等于1并且在输出层的参考层的nuh_layer_id值中具有nuh_layer_id值。
o当列表nonOutputLayerPictures不为空时,从列表nonOutputLayerPictures中移除列表nonOutputLayerPictures中具有最高nuh_layer_id值的图片。
o包括在列表nonOutputLayerPictures中的每个图片的PicOutputFlag被设定等于0。
-否则,未包含在输出层中的图片的PicOutputFlag设定等于0。
如前一段落中所述,当替代输出层机制在使用中时,存取单元的解码可能需要在可以确定访问单元的哪个解码图片由解码过程输出之前完成。
可以在可伸缩视频编码的上下文中定义块、区域或图片的跳过编码,使得解码或重构的块、区域或图片分别与层间预测信号(例如,在单预测的情况下相应的层间参考图片的相应块、区域或图片)相同。没有针对跳过编码块、区域或图片编码预测误差,并且因此没有针对跳过编码块、区域或图片解码预测误差。其可以由编码器指示和/或由解码器解码,例如逐块(例如,使用HEVC的cu_skip_flag等),编码预测误差不可用。其可以例如在编码标准中是预先定义的,或者可以由编码器指示以及由解码器解码,其针对跳过编码的块、区域或图片而关闭环路滤波。其可以例如在编码标准中是预先定义的,或者其可以由编码器指示并且由解码器解码,其加权预测被关闭。
简档可以被定义为由解码/编码标准或规范指定的整个比特流语法的子集。在由给定简档的语法强加的范围内,取决于比特流中的语法元素所取的值,诸如解码图片的指定大小,还可能需要在编码器和解码器的性能中的非常大的变化。在许多应用中,实现能够处理特定简档内语法的所有假设用途的解码器可能既不实际也不经济。为了解决该问题,可以使用级别(level)。级别可以被定义为施加在比特流中的语法元素的值和在解码/编码标准或规范中指定的变量上的指定的一组约束。这些约束可能是对数值的简单限制。可替代地或另外地,它们可以采用对算术值组合的约束的形式(例如,图片宽度乘以图片高度乘以每秒解码的图片数)。同样可以使用用于指定级别的约束的其它手段。在级别中指定的一些约束例如可以涉及根据诸如宏块的编码单元的每个时间段(诸如秒)的最大图片大小、最大比特率和最大数据速率。可以为所有简档定义相同的一组级别。例如,增加实施不同简档的终端的互操作性可能是优选的,使得不同简档中的每个级别的定义的大部分或全部方面可能是共同的。可以将层定义为对比特流中的语法元素的值施加的指定的级别约束类别,其中级别约束嵌套在层内,并且符合某个层和级别的解码器将能够解码符合相同层或该级别的下层或它下面的任何级别的所有比特流。
在许多较早的视频编码标准指定了应用于比特流的简档级别符合点(conformance point)的同时,多层HEVC扩展指定了逐层的符合点。更确切地说,为每个OLS的每个必要层指示简档层级(profile-tier-level,PTL)组合,而甚至允许更细粒度的基于时间-子层的PTL信令,即可以指示用于每个OLS的每个必要层的每个时间子集的PTL组合。HEVC解码器的解码器能力可以被指示为PTL值的列表,其中列表元素的数量指示解码器支持的层的数量,并且每个PTL值指示层的解码能力。非层间预测的非基础层可被指示为符合单层简档(诸如主简档),同时它们同样需要所谓的独立非基础层解码(INBLD)能力来正确处理逐层解码。
在消费者和专业视频中提高图片速率是不可避免的趋势。例如,诸如数码相机、智能手机相机和动作相机的消费类产品能够以高图片速率(例如120Hz或240Hz)采集视频,并且当今的电视机能够显示数百赫兹的图片速率。
在很多应用中,解码器或播放器根据其能力选择图片速率是有益的。例如,即使向播放器提供具有120Hz图片速率的比特流,如果例如可用的计算资源、可用电池充电水平和/或显示能力更好地适合,则可对例如30Hz版本解码也可能有益。此类伸缩可以通过在视频编码和解码中应用时间可伸缩性来实现。
时间可伸缩性可能涉及以下问题,即当在时间上二次采样以30Hz播放时,由于缺乏运动模糊,以短曝光时间(例如,对于240Hz)采集的视频可能看起来不自然。可以认为时间可伸缩性和曝光时间伸缩涉及两种情况:在第一种情况下,在较低帧的曝光时间与在较高帧速率下的曝光时间保持相同,其中与运动模糊有关的任何问题可以由解码器以相当直接的方式处理。在第二种情况下,不同帧率下的曝光时间可能不同,这可能导致处理相当复杂的问题。
针对SHVC和MV-HEVC选择仅高级语法(仅HLS)设计原则,这意味着在片段报头之下不存在对HEVC语法或解码过程的改变。因此,HEVC编码器和解码器实施方式可以大部分被重用于SHVC和MV-HEVC。对于SHVC,如果需要,使用称为层间处理的概念,其用于重采样解码的参考层图片及其运动矢量阵列,和/或应用颜色映射(例如,用于色域伸缩)。
类似于层间处理,将图片速率上采样(也称为帧速率上采样)方法应用为解码的后处理。换句话说,由图片速率上采样算法生成的图片不被用作编码或解码中的参考图片。然而,在编码或解码中使用上采样图片作为参考图片可以提供提高时间可伸缩比特流的压缩效率的机会。
考虑到许多当代视频编码标准的仅HLS设计,需要以现有实施方式(例如,HEVC、SHVC)可以被重新使用的方式来改进时间可伸缩比特流的压缩效率。
现在为了增强时间可伸缩比特流的压缩效率,下文提出了一种用于视频编码的改进方法。除非在特定实施例中另外定义,否则术语编码基础图片可以被定义为直接参考层图片,术语重构基础图片可以被定义为用于层间预测的源图片,术语编码增强图片可以被定义为预测层中的编码图片,并且术语重构增强图片可以被定义为预测层的解码图片。
在图5公开的方法中,对第一可伸缩性层编码(500),第一可伸缩性层至少包括第一编码基础图片和第二编码基础图片,并且第一可伸缩性层是使用第一算法可解码的。该方法进一步包括将第一编码基础图片和第二编码基础图片分别重构(502)成第一重构基础图片和第二重构基础图片,第一重构基础图片和第二重构基础图片在第一可伸缩性层的所有重构图片中在第一算法的输出顺序上相邻;通过使用第二算法从至少第一重构基础图片和第二重构基础图片中重构(504)第三重构基础图片,该第三重构基础图片在输出顺序上位于第一重构基础图片和第二重构基础图片之间;对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码(506),该第二可伸缩性层是使用第三算法可解码的,该第三算法包括以重构图片作为输入的层间预测;以及通过提供第一重构基础图片、第二重构基础图片和第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别重构(508)为第一重构增强图片、第二重构增强图片和第三重构增强图片,该第一重构增强图片、第二重构增强图片和第三重构增强图片在第一算法的输出顺序上分别与第一重构基础图片、第二重构基础图片和第三重构基础图片匹配。
换句话说,提供了用于提高符合诸如HEVC的现有格式的基础层的图片速率的机制,其采用增强层(对应于提高的图片速率)同样符合诸如SHVC的现有格式的方式。
根据实施例,第二算法和第三算法是运动补偿预测算法,并且第二算法不同于第一算法和第三算法。因此,对于图片速率上采样,该方法能够使用第二运动补偿预测算法(即,所述第二算法),其不同于例如在HEVC或SHVC中包括的第一运动补偿预测算法(即,所述第三算法)。在第一和第二运动补偿预测(或使用另一种预测,诸如帧内预测)之间的用于提高图片速率的处理可以由编码器分块动态地选择并且在比特流中指示,并且因此在第一和第二运动补偿预测之间的动态选择同样由解码器跟随。
由于第二运动补偿预测算法在许多情况下可以提供比第一运动补偿预测更准确的预测信号,所提出的机制可以提高压缩效率。由于第一和第二运动补偿预测与可能的其它预测(诸如帧内预测)之间的分块动态选择的能力,第二运动补偿预测算法不需要执行地比用于所有块的其它预测方法更好,并且因此所提出的机制比任何类型的内容的现有技术方法更好地或至少同等地操作。
图6示出根据实施例的机制的一般原理。图6所示的机制适用于编码和解码二者。第一可伸缩性层600例如采用HEVC编码器或解码器而被编码或解码。第一可伸缩性层600比第二可伸缩性层604具有更低的图片速率。对第一可伸缩性层的重构或解码图片600a、600c应用图片速率上采样算法(即,第二算法),以重构第三重构基础图片602b。在此,字母a,b,c,...是指图片的输出顺序。图片速率上采样方法可以另外利用第一可伸缩性层的编码数据,诸如运动矢量。此外,调整图片速率上采样方法的附加数据可以被编码或解码。第二可伸缩性层604例如采用SHVC编码器或解码器来编码或解码。第二可伸缩性层的编码或解码以重构基础图片600a、600c、602b作为用于层间预测的输入。重构基础图片600a、600c、602b例如可以被视为用于第二可伸缩性层的编码或解码的外部基础层图片。在SHVC中,这可以通过以下实现:将第二可伸缩性层编码到使用外部基础层(即具有vps_base_layer_internal_flag等于0)的SHVC比特流中,或者从使用外部基础层(即具有vps_base_layer_internal_flag等于0)的SHVC比特流中对第二可伸缩性层解码。对于在第一可伸缩性层中不具有对应图片(例如,根据输出时间对应关系)的第二可伸缩性层604的图片604b,将采用图片速率上采样方法重构的图片602b用作重构基础图片,其作为层间预测的输入。应注意,帧间预测可以在图6中的第一可伸缩性层600内和/或第二可伸缩性层604内以及在应用的后续图中使用,但是这些帧间预测未在附图中示出。
根据实施例,机制仅用于提高图片速率的唯一目的,使得第一可伸缩性层中的基础图片不被增强。这可以通过各种方式来实现,包括但不限于以下方面:
根据图7中所示的实施例,如下所述,除了分别对图片754a和754c编码与对图片604a和604c编码不同外,编码器如以上针对图6所描述的而操作。编码器以与第一可伸缩性层750的图片对应的图片(例如,根据输出时间对应关系)被跳过编码的方式对第二可伸缩性层754进行编码。在图7中,每个具有虚线轮廓的块表示被跳过编码的图片(754a,754c)。根据实施例,编码器包括与第二可伸缩性层相关联的指示,其指示第二可伸缩性层中与第一可伸缩性层(750a,750c)的图片对应的图片(754a,754c)被跳过编码。根据实施例,如下所述,除了分别对图片754a和754c解码与对图片604a和604c解码不同外,解码器如以上针对图6所描述的而操作。解码器解码与第二可伸缩性层相关联的指示,并省略第二可伸缩性层中与第一可伸缩性层的图片对应的图片的解码,并且替代地输出第一可伸缩性层的解码图片。
根据图8中示出的另一实施例,除了编码器以与第一可伸缩性层850的图片对应的图片不被编码的方式对第二可伸缩性层854(例如根据输出时间对应关系)编码之外,编码器如以上针对图6所描述的而操作。例如,当比特流包括第一可伸缩性层850和第二可伸缩性层854时,编码器可以对仅包含第一可伸缩性层(例如850a)的编码图片而不包含第二可伸缩性层的图片的访问单元进行编码。在另一个示例中,当比特流包括第二可伸缩性层854而不包括第一可伸缩性层850时,编码器可以对其中第二可伸缩性层处的图片被隐含地或明确地指示为不存在的访问单元进行编码,例如,通过编码访问单元等的访问单元定界符等和/或编码单元完成指示符,但是在由访问单元定界符等和/或编码单元完成指示符等指示的访问单元内不包括第二可伸缩性层的编码图片。根据实施例,编码器使用前面描述的替代输出层机制,来指示在第二可伸缩性层(例如,在访问单元中)不存在图片的情况下,第一可伸缩性层(例如850a)的对应图片将被输出。根据实施例,解码器如上文针对图6所描述的而操作,除了其识别在包括第一基础图片850a或第二基础图片850c的访问单元中不存在第二可伸缩性层854的图片并且作为对该不存在的响应而输出重构基础图片850a和850c。根据实施例,解码器如上针对图6所描述的而操作,除了其识别在包括第一基础图片850a或第二基础图片850c的访问单元中不存在第二可伸缩性层854的图片,识别替代输出层(例如,来自之前描述的信令)是否正在使用,并且作为对该不存在以及使用替代输出层的响应,输出重构基础图片850a和850c。
根据实施例,机制被用于提高图片速率的目的,使得第一可伸缩性层中的基础图片被修改。该修改可以例如由以下事实引起:由第一可伸缩性层表示的第一视频序列可能已经使用用于图片获取的第一曝光时间来采集,该第一曝光时间比用于采集由第二可伸缩性层表示的第二视频序列的第二曝光时间更长。因此,即使第一和第二视频序列源自同一相机,各个图片也可具有不同的属性,例如,第一视频序列的图片可能包括更多的运动模糊。该修改可以旨在使重构的第二可伸缩性层具有主观稳定的质量和/或为图片速率上采样提供合适的输入,并且因此改进由图片速率上采样生成的图片的保真度并且因此改进压缩。该实施例也可以采用几种方式来实现,包括但不限于以下方面:
根据图9中示出的实施例,重构基础图片900a、900c被用作输入以重构(在对其修改之前)图片速率上采样图片902b。然后,例如,通过使用第二增强层的对应图片904a、904b、904c,重构的基础图片900a、900c、902b被修改。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
根据图10中示出的另一个实施例,首先例如通过使用去模糊算法修改重构基础图片1000a、1000c。在此以及随后在涉及去模糊时可以使用任何去模糊算法。在一些实施例中,去模糊算法例如在编码标准中是预定义的。在一些实施例中,多于一个的去模糊算法例如在编码标准中是预定义的,并且编码器在比特流中指示其中的正在使用的一个和/或解码器从比特流中对其中的正在使用的一个解码。去模糊算法可以旨在去除、减少和/或隐藏运动模糊。修改的基础图片1002a、1002c被用作重构图片速率上采样图片1002b的输入。修改的基础图片1002a、1002b、1002c同样可以用作用于第二可伸缩性层中的对应图片1004a、1004b、1004c的层间预测的参考。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
根据图11中示出的另一实施例,首先通过使用第二增强层的对应图片1104a、1104c修改重构基础图片1100a、1100c。该修改可以使用现有算法,诸如SHVC,或者可以使用或部分地涉及新算法。第二增强层的重构图片1104a、1104c用作重构图片速率上采样图片1102b的输入。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
根据实施例,编码器在比特流中(例如在诸如VPS的序列级语法结构中)指示,其中例如来自上面实施例的列表的实现被使用。解码器从比特流中(例如从诸如VPS的序列级语法结构中)解码,其中例如来自上面实施例的列表的实现被使用。
根据实施例,该机制用于提高图片速率以及任何其它一种或多种类型的增强的目的,诸如信噪比(又称图片质量,又称图片保真度)增强、空间增强、样本比特深度增加、动态范围增加,和/或扩大色域。
采用诸如SNR、空间、比特深度、动态范围和/或色域可伸缩性的适当类型的可伸缩性来对第二可伸缩性层进行编码或解码。在用作第二可伸缩性层的参考图片之前,重构基础图片可以经历层间处理,诸如重采样、比特深度增加和/或颜色映射。图片速率上采样以及在一些实施例中重构基本图片的修改(例如去模糊)可以被认为是该层间处理的一部分或者可以在该层间处理之前。当涉及在层间处理之前处理基础图片时,实施例可以与以上与提高图片速率有关的实施例的任何实现一起使用,使得第一可伸缩性层中的基础图片被修改。因而,该实施例因此可以以各种方式来实现,包括但不限于以下:
根据图12中所示的实施例,重构基础图片1200a、1200c被用作输入,以在使用第二可伸缩性层中的对应图片1204a、1204b、1204c进行增强之前重构图片速率上采样图片1202b。该增强例如在信噪比、分辨率、样本比特深度、动态范围和/或色域方面对基础图片进行增强。增强同样可以包括修改基础图片的虚拟曝光时间,例如,减少运动模糊量。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
根据图13中所示的另一个实施例,首先例如通过使用去模糊算法修改重构基础图片1300a、1300c。修改的基础图片1302a、1302c用作输入以重构图片速率上采样图片1302b。修改的基础图片1302a、1302b、1302c同样可以用作用于第二可伸缩性层中的对应图片1304a、1304b、1304c的层间预测的参考。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
根据图14中示出的另一个实施例,首先通过使用第二增强层的对应图片1404a、1404c修改重构基础图片1400a、1400c。该修改可以使用现有算法,诸如SHVC,或者可以使用或部分地涉及新算法。该修改例如在信噪比、分辨率、样本比特深度、动态范围和/或色域方面对基础图片进行增强。修改还可以包括修改基础图片的虚拟曝光时间,例如减少运动模糊量。第二增强层的重构图片1404a、1404c被用作输入以重构图片速率上采样图片1402b。该实施例可以应用于编码器和/或解码器中。本实施例的编码器和/或解码器可以以其它方式如图6所描述的而操作。
使用单个比特流
根据适用于编码或解码的实施例,被编码或解码的比特流如下表征:
-第一和第二可伸缩性层位于同一比特流中。
-第三增强图片在比第一和第二基础图片和第一和第二增强图片更高的时间子层中。
比特流子集对编码简档的标记可由编码器指示或由解码器解码为如下:
-包括第一基础图片和第二基础图片而没有来自第二可伸缩性层的图片的比特流子集可以采用第一编码简档来标记,诸如HEVC的主简档。
-包括第一和第二增强图片但没有第三增强图片的比特流子集可以采用第二编码简档(不同于第一编码简档)来标记,诸如HEVC的可伸缩主简档。
-包括第一、第二和第三增强图片的比特流子集可以采用第三编码简档来标记,在此称为可伸缩高简档,其不同于第一编码简档和第二编码简档。
在HEVC的情况下,上面的术语比特流子集可被解释为表示输出操作点(如在HEVC规范中定义的)。
本实施例可以与实施例一起使用,用于
-根据图7和图8中描述的实施例,提高图片速率以使得第一可伸缩性层中的基础图片不被增强,
-根据图9和图11中描述的实施例,提高图片速率以使得第一可伸缩层中的基础图片被修改,
-根据图12和14中描述的实施例,提高图片速率以及任何其它类型的增强。
可伸缩高简档的层间处理包括用于图片速率上采样的第二算法。在用于提高图片速率以使得第一可伸缩性层中的基本图片被修改以及用于提高图片速率以及任何其它类型的增强的实施例中,层间处理可以包括修改基本图片,例如用于减少运动模糊,如前所述。在用于提高图片速率以及任何其它类型的增强的实施例中,可伸缩高简档的层间处理可以包括其它层间处理,诸如重采样、比特深度增加和/或颜色映射。
使用两个比特流而没有外部层间处理
根据适用于编码或解码的实施例,被编码或解码的比特流如下表征:
-第一可伸缩性层在第一比特流中,并且第二可伸缩性层在不同于第一比特流的第二比特流中
-第三增强图片在比第一和第二增强图片更高的时间子层中。
比特流和比特流子集对编码简档的标记可由编码器指示或由解码器解码为如下:
-第一比特流(以及因此第一可伸缩性层)可以采用第一编码简档标记,诸如HEVC的主简档。
-第二比特流可被指示使用外部基础层(例如,使用HEVC的vps_base_layer_internal_flag等于0)。
-包括第一和第二增强图片但没有第三增强图片的比特流子集可以采用第二编码简档(不同于第一编码简档)来标记,诸如HEVC的可伸缩主简档。
-第二比特流或等同地包括第一、第二和第三增强图片的比特流子集可以采用第三编码简档(与第一和第二编码简档不同)来标记,在此称为可伸缩高简档。
该实施例可以与实施例一起使用,用于
-根据图11中描述的实施例,提高图片速率以使得修改第一可伸缩层中的基础图片,
-根据图14中描述的实施例,提高图片速率以及任何其它类型的增强。
可伸缩高简档的层间处理包括第二算法(用于在没有与增强图片对应的外部基础图片时使用的图片速率上采样)。层间处理可以包括修改基础图片,例如,用于减少运动模糊,如前所述。在用于提高图片速率以及任何其它类型的增强的实施例中,可伸缩高简档的层间处理可以包括其它层间处理,诸如重采样、比特深度增加和/或颜色映射。
使用具有外部层间处理的两个比特流
根据适用于编码或解码的实施例,被编码或解码的比特流的特征如下:
-第一可伸缩性层在第一比特流中,第二可伸缩性层在不同于第一比特流的第二比特流中
-第三增强图片可以但不需要在比第一和第二增强图片更高的时间子层中。
图片速率上采样以及在一些实施方式中基础图片的修改(例如,用于减少运动模糊)采用与第一比特流和第二比特流的解码分开的层间处理来执行。
编码器、文件生成器、打包器等可以采用与第一和第二比特流分离但是与使用外部层间处理的第一和第二比特流中的任一个或两者相关联的指示来指示。类似地,解码器、文件解析器、解包器等可以解析与第一和第二比特流分离但与要使用外部层间处理的第一和第二比特流中的任一个或两个相关联的指示。该指示可以例如是封装第一和第二比特流的文件的一部分,诸如流传输清单(例如DASH的MPD)或会话描述(例如使用SDP)的描述的一部分,和/或诸如要使用外部层间处理的RTP有效载荷格式的分组格式的一部分。该指示可以另外识别要使用的层间处理的类型和/或用作层间处理的输入的参数值,诸如去模糊滤波器的滤波器内核值。作为对解析指示的响应,解码器、文件解析器、解包器等或它们的任何组合可以执行所指示的层间处理,以重构第三可伸缩性层的重构图片(在几个示例图中示出,诸如图6)。
该实施例可以与实施例一起使用,用于
-根据图7和图8中描述的实施例,提高图片速率以使得第一可伸缩性层中的基础图片不被增强,
-根据图9和图10中描述的实施例,提高图片速率以使得第一可伸缩层中的基础图片被修改,
-根据图12和13中描述的实施例,提高图片速率以及任何其它类型的增强。
第一可伸缩性层中的第三基础图片
例如,如关于图6、7、8、9、11、12、13和14所描述的,以上已经描述了用于在层间处理中重构第三基础图片的若干实施例。需要理解的是,当第三可伸缩层中包括第三(编码的)基础图片时,可以类似地实现这些实施例,其中第三(编码的)基础图片可以例如包括用于图片速率上采样算法的参数值,并且第三编码的基础图片对应于第三重构基础图片。同样需要理解的是,对应于图6、7、8、9、11、12、13和14的该组实施例的实施例以及其中可以应用该组的任何实施例的其它实施例可以在当第三基础图片是第一可伸缩性层的一部分时应用。第三基础图片可由编码器指示和/或由解码器解码,以位于比第一基础图片和第二基础图片更高的时间子层中。第一简档可由编码器指示并由解码器解码,以应用于包括第一基础图片和第二基础图片(例如,它们的时间子层)但不包括第三基础图片的比特流子集,第二简档(不同于第一简档)可由编码器指示并由解码器解码,以应用于除了第一基础图片和第二基础图片之外的包括第三基础图片的比特流子集。
可伸缩基础编码
根据实施例,该机制用于提高图片速率以及任何其它一种类型或多种类型的增强的目的,诸如信噪比(又称图片质量,又称图片保真度)增强、空间增强、样本比特深度增加、动态范围增加,和/或扩大色域。在图片速率上采样之前执行除了图片速率上采样之外的增强。可伸缩编码,诸如SHVC可以用于所述增强。换句话说,比特流可以被编码或解码,其中基础层例在SNR、分辨率、样本比特深度、动态范围和/或具有预测层的色域方面增强。
该实施例可以与实施例一起使用,用于
-根据图7和图8中描述的实施例,提高图片速率以使得第一可伸缩性层中的基础图片不被增强,
-根据图9、10和11中描述的实施例,提高图片速率以使得第一可伸缩层中的基础图片被修改。
当在本实施例的上下文中解释这些实现的描述时,重构基础图片可以被理解为预测层的重构图片,而编码的基础图片可以被理解为包括基础层的图片和对应的预测层的图片。需要理解的是,该实施例不限于一个预测层,而是可以类似地使用多于一个的预测层。
图片速率上采样作为可伸缩性层
根据一个实施例,如图15所示,图片速率上采样以及在某些实现中基础图片的修改(例如,用于减少运动模糊)被表示为第三可伸缩性层。第三可伸缩性层1502可以例如包括用于图片速率上采样或基础图片的修改的参数值。根据实施例,修改的第一基础图片1502a和第二基础图片1502c在第三可伸缩性层中被编码为跳过编码的图片,而在另一实施例中,修改的第一基础图片1502a和第二基础图片1502c被编码(例如,用于减少运动模糊)。根据实施例,第一增强图片1504a和第二增强图片1504c被编码为第二可伸缩性层中的跳过编码的图片,而在另一个实施例中,第一增强图片1504a和第二增强图片1504c被编码(例如,用于减少运动模糊)。
根据实施例,第三可伸缩性层1502与第一可伸缩性层1500处于相同的比特流中。在另一个实施例中,第三可伸缩性层1502与第一可伸缩性层1500处于不同的比特流中,在这种情况下,第一可伸缩性层用作第三可伸缩性层的外部基础层。
根据实施例,第二可伸缩性层1504与第三可伸缩性层1502处于相同的比特流中。在另一个实施例中,第二可伸缩性层1504与第三可伸缩性层1502处于不同的比特流中,在这种情况下,第三可伸缩性层用作第二可伸缩性层的外部基础层。
上述实施例可以以任何方式组合,导致以下情况之一:
-第一、第二和第三可伸缩性层在同一比特流中。
-第一可伸缩性层在第一比特流中,第二和第三可伸缩性层在不同于第一比特流的第二比特流中。
-第一和第三可伸缩性层在第一比特流中,第二可伸缩性层在不同于第一比特流的第二比特流中。
根据实施例,可编码简档的可伸缩性层的标记可由编码器指示或由解码器解码为如下:
-第一可伸缩性层可以采用第一编码简档(诸如HEVC的主简档)标记。
-第二可伸缩性层可以采用第二编码简档(诸如HEVC的可伸缩主简档)标记。
-第三可伸缩性层可以采用第三编码简档(与第一和第二编码简档不同)(在此称为图片速率增强简档)标记。
根据实施例,第三基础图片比第一和第二修改的基础图片在更高的子层中。比特流子集层到编码简档的标记可由编码器指示或由解码器解码为如下:
-第一可伸缩性层可以采用第一编码简档(诸如HEVC的主简档)标记。
-第二可伸缩性层可以采用第二编码简档(诸如HEVC的可伸缩主简档)标记。
-包括第一和第二修改的基础图片(但不是第一可伸缩性层,不是第二可伸缩性层,并且不是第三基础图片)的比特流子集可以例如当不应用层间去模糊时采用第二编码简档(诸如HEVC的可伸缩主简档)标记,或者例如当应用层间去模糊时采用第三编码简档(在此称为高级可伸缩的主简档)标记。
-第三可伸缩性层(包括修改的第一基础图片和第二基础图片和第三基础图片)可以用(在此称为可伸缩图片速率增强简档的)第四编码简档(如果使用,不同于第一和第二编码简档,并且不同于第三编码简档)标记。
根据实施例,解码器对与层和子层的不同组合相关联的简档指示进行解码。解码 器基于在解码中支持的简档和层与子层之间的相关性来确定哪些层和子层被解码。
根据实施例,当简档与独立层的一组子层(从最低的子层直到任何特定的子层)相 关联时,解码器确定当其在解码中支持简档时解码这些子层。当简档与预测层的一组子层 (从最低的子层到任何特定的子层)相关联时,解码器确定当其在解码中支持简档并且同样 支持可直接或间接用作预测层的子层集合的层间预测的参考的层和子层的简档时解码这 些子层。
根据实施例,当简档与独立层(整体上,包括所有子层)相关联时,解码器确定当其 在解码中支持简档时解码独立层。当简档与预测层相关联时,解码器确定在解码中支持简 档并且同样支持可直接或间接用作预测层的帧间预测的参考的层和子层的简档时解码预 测的层。
如上面在几个实施例中所描述的,不同的比特流子集可被标记为与不同的编码规范和/或它们的简档兼容。可以相应地布置容器文件和/或传输,使得能够解码一些但不是全部比特流子集的接收器可以选择哪些比特流子集被接收和/或解封装(从容器文件和/或通信协议)。例如,可以为每个层或每个子层使用不同的逻辑信道,其使得从其直接和间接参考层的简档中使用不同的简档。解码逻辑信道的内容所需的简档可以例如在流清单中(例如MPEG-DASH的MPD)或会话描述(例如使用SDP)发信号。这具有以下优点:相同的比特流可以用于具有解码不同简档的能力的接收器,并且接收器可以选择适合其使用的比特流子集。例如,比特流可以包含在一个或多个ISO基本媒体文件格式兼容文件或分段(用于MPEG-DASH传送)的几个轨道中,其中每个轨道表示不同的简档。以这种方式布置的每个轨道可以被公布作为MPEG-DASH(等)的MPD中的表示。流传输客户端然后基于其简档解码能力选择哪个表示(等)被请求,并且因此随后被接收和解码。
在图片速率上采样方法
该方法通常基于估计第一基础图片和第二基础图片之间的运动并且执行第一重构基础图片和第二重构基础图片的运动补偿混合。因此,图片速率上采样方法可以采用第一可伸缩性层的编码数据,诸如运动矢量。此外,调整图片速率上采样方法的附加数据可以被编码或解码。
在示例中,可以将第一重构基础图片和第二重构基础图片分割成编码器和/或解码器中的两个或更多个分段。例如,可以从第一重构基础图片和第二重构基础图片中确定前景分段(foreground segment),并且可以确定背景分段由前景分段之外的区域组成。分割可以例如首先将图片分割成具有相似颜色表示的超像素。然后,共享相似运动矢量的超像素可以被合并。分割同样可以由编码器通过在比特流中包括可由解码器解码的参数来辅助。运动参数(同样可以被称为运动提示)可以针对每个分段由编码器指示以及可以由解码器解码。运动参数例如可以描述从第一重构基础图片的分段到第二重构基础图片中的相应分段的仿射翘曲(affine warping)。可替代地,运动参数例如可以描述从第一重构基础图片的分段到第三基础图片中的相应分段的仿射翘曲和/或从第二重构基础图片的分段到第三基础图片中的相应分段的仿射翘曲。可替代地,逐块运动参数字段例如可以使用离散余弦变换等变换并量化。
在上文中,已经通过整体重构第三基础图片来描述了示例实施例。需要理解的是,编码器和/或解码器的实施方式可以以逐块的方式来实现。第三基础图片不需要被全部重构,而是仅被用作用于第三增强图片的层间预测的参考的那些部分重构。例如,用于第三增强图片的解码器可以以下述方式来实现:对于每个块,用于预测块的参考图片首先从比特流被解码。如果参考图片是层间参考图片,则应用第二算法以形成第三重构基础图片的子集,该第三重构基础图片至少覆盖与正被解码的块并置的块。然后,第三基础图片的并置块被用作层间预测的参考。此外(参考图片不是层间参考图片),可以使用例如SHVC的解码过程的传统解码过程。
在上文中,已经描述了示例实施例,其中图片速率上采样采用在输出顺序上两个相邻重构基础图片作为输入并且在输出顺序上在两个相邻基本图片之间内插第三基本图片。需要理解的是,上述任何实施例可以另外地或可替代地应用于以下一种或多种情况中:
-采用第二算法将第三基础图片外插到在两个相邻重构基础图片之前或之后的输出顺序位置;
-使用多于两个的重构基础图片作为第二算法的输入;
-使用在输出顺序中不相邻的重构基础图片作为第二算法的输入;
-在实施例涉及第三基础图片的情况下,它们可以类似地采用多于一个的附加基础图片实现。例如,可以通过第二算法在输出顺序中在第一基础图片和第二基础图片之间生成两个基础图片。
上述实施例可以提供各种优点。可以假设,可以至少在HEVC的帧间预测上提高图片速率上采样的运动补偿预测,以在一定程度上清楚地克服多个可伸缩层的开销和用于图片速率上采样的参数(作为比特流的一部分)。
此外,现有实施方式(例如HEVC、SHVC)可以被重新使用。附加部分实现为层间处理,这意味着不需要改变低级编码或解码过程。传统上,引入用于帧间预测或附加帧间预测模式的附加运动模型将需要改变低级编码和解码实施方式中的变化。因此断言本发明比传统知识教导的更加直接地添加在现有的编解码器实施方式之上。
此外,实施例为编码器或解码器实现用于时间可伸缩性的混合编解码器可伸缩性,其将解码的基础层图片作为用于层间预测的输入。例如,基础层可以以30Hz的图片速率用H.264/AVC编码,并且增强层可以以120Hz的图片速率用SHVC编码。基础层的解码图片被用作图片速率上采样的输入,并且所得图像被用作用于SHVC编码/解码的外部基础层图片。
此外,根据本发明的比特流与现有的编解码器保持兼容。换句话说,可以指示比特流的子集可以用现有的解码器(例如HEVC)来解码,该解码器同样能够省略与增加的图片速率有关的编码数据。
如上所述,在此描述的实施例同样适用于编码和解码操作。图16示出适合于采用本发明的实施例的视频解码器的块图。图16描绘了双层解码器的结构,但是应该理解,解码操作可以类似地用于单层解码器中。
视频解码器550包括用于基本视图分量的第一解码器部分552和用于非基本视图分量的第二解码器部分554。块556示出用于向第一解码器部分552传送关于基本视图分量的信息并且用于向第二解码器部分554传送关于非基本视图分量的信息的信号分离器(demultiplexer)。参考P'n代表图像块的预测表示。参考D'n代表重构的预测误差信号。块704、804示出初步重构图像(I'n)。参考R'n代表最终重构图像。块703、803示出逆变换(T-1)。块702、802示出逆量化(Q-1)。块701、801示出熵解码(E-1)。块705、805示出参考帧存储器(RFM)。块706、806示出预测(P)(帧间预测或帧内预测)。块707、807示出了过滤(F)。块708、808可用于将解码的预测误差信息与预测的基本视图/非基本视图分量进行组合以获得初步重构图像(I'n)。可以从第一解码器部分552输出709初步重构和过滤的基本视图图像,并且可以从第一解码器部分554输出809初步重构和过滤的基本视图图像。
在此,解码器应被解释为覆盖能够执行解码操作的任何操作单元,诸如播放器、接收器、网关、信号分离器和/或解码器。
图17是其中可以实施各种实施例的示例多媒体通信系统的图形表示。数据源1700以模拟、非压缩数字或压缩数字格式或这些格式的任何组合提供源信号。编码器1710可以包括诸如数据格式转换和/或源信号的滤波的预处理或者与该预处理连接。编码器1710将源信号编码成编码媒体比特流。应该注意的是,要解码的比特流可以直接或间接地从位于几乎任何类型的网络内的远程设备接收。另外,比特流可以从本地硬件或软件接收。编码器1710可以能够编码多于一种的媒体类型,诸如音频和视频,或者可能需要多于一个的编码器1710来编码源信号的不同媒体类型。编码器1710同样可以获得合成产生的输入,诸如图形和文本,或者它可以能够产生合成媒体的编码比特流。在下文中,仅考虑一种媒体类型的一个编码媒体比特流的处理以简化描述。然而,应该注意的是,通常实时广播服务包括多个流(通常至少一个音频、视频和文本子标题流)。同样应该注意的是,该系统可以包括许多编码器,但是在附图中仅表示一个编码器1710以简化描述而不缺乏通用性。应该进一步理解,虽然在此包含的文本和示例可以具体描述编码过程,但是本领域技术人员将理解,相同的概念和原理也适用于对应的解码过程,反之亦然。
编码媒体比特流可以被传送到存储器1720。存储器1720可以包括用于存储编码媒体比特流的任何类型的大容量存储器。存储器1720中的编码媒体比特流的格式可以是基本自包含比特流格式,或者一个或多个编码媒体比特流可以被封装到容器文件中。如果一个或多个媒体比特流被封装在容器文件中,则文件生成器(图中未示出)可用于在文件中存储一个或多个媒体比特流并创建同样可以存储在文件中的文件格式元数据。编码器1710或存储器1720可以包括文件生成器,或者文件生成器可操作地附接到编码器1710或存储器1720。一些系统“直播”操作,即省略存储并直接从编码器1710传输编码媒体比特流到发送器1730。根据需要,编码媒体比特流然后可被传送到发送器1730(也被称为服务器)。传输中使用的格式可以是基本自包含比特流格式、分组流格式或者一个或多个编码媒体比特流可以被封装到容器文件中。编码器1710、存储器1720和发送器1730可以位于相同的物理设备中,或者它们可以被包括在分离的设备中。编码器1710和发送器1730可以与直播的实时内容一起操作,在这种情况下,编码媒体比特流通常不是永久存储的,而是在内容编码器1710和/或发送器1730中缓存一小段时间以平滑处理延迟、传输延迟和编码媒体比特率的变化。
发送器1730使用通信协议栈来发送编码的媒体比特流。栈可以包括但不限于实时传输协议(RTP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、传输控制协议(TCP)和互联网协议(IP)中的一个或多个。发送器可以包括或可操作地附接到打包器(packetizer)(图中未示出)。当通信协议栈是面向分组时,发送器1730或打包器将编码的媒体比特流封装成分组。例如,当使用RTP时,发送器1730或打包器根据RTP有效载荷格式将编码媒体比特流封装到RTP分组中。通常,每种媒体类型都具有专用的RTP有效载荷格式。应该再次指出,系统可能包含多个发送器1730,但为了简单起见,以下描述仅考虑一个发送器1730。同样,该系统可能包含多个打包器。
如果媒体内容被封装在用于存储器1720的容器文件中或用于将数据输入到发送器1730,则发送器1730可以包括或可操作地附接到“发送文件解析器”(图中未示出)。特别地,如果容器文件不是如此发送的,而是所包含的编码媒体比特流中的至少一个被封装以通过通信协议进行传输,则发送文件解析器找到将通过通信协议传送的编码媒体比特流的适当部分。发送文件解析器同样可能有助于创建正确格式的通信协议,诸如分组报头和有效载荷。多媒体容器文件可以包含封装指令,诸如ISO基本媒体文件格式中的提示轨道,用于将包含的媒体比特流中的至少一个封装在通信协议上。
发送器1730可以或可以不通过通信网络连接到网关1740。网关同样可以或者可替代地被称为中间盒。要注意的是,该系统通常可以包括任何数量的网关等,但为了简单起见,以下描述仅考虑一个网关1740。网关1740可以执行不同类型的功能,诸如根据一个通信协议栈到另一个通信协议栈的分组流转换、数据流的合并和分配,以及根据下行链路和/或接收器能力的数据流操纵,诸如根据主要的下行链路网络条件来控制转发的流的比特率。网关1740的示例包括多点会议控制单元(MCU)、电路交换和分组交换视频电话之间的网关、通过蜂窝无线的即按即通(PoC)服务器、手持数字视频广播(DVB-H)系统中的IP封装器,或机顶盒或将广播传输本地发送到家庭无线网络的其它设备。当使用RTP时,网关1740可以被称为RTP混合器或RTP转换器,并且可以充当RTP连接的端点。代替或除了网关1740之外,系统可以包括连接视频序列或比特流的拼接器。
该系统包括一个或多个接收器1750,其通常能够对所发送的信号进行接收、解调和解封装成编码的媒体比特流。接收器1750可以包括解包器或与解包器操作地附接,该解包器对来自使用中的通信协议的分组的有效载荷的媒体数据解封装。编码媒体比特流可以被传送到记录存储器1760。记录存储器1760可以包括用于存储编码媒体比特流的任何类型的大容量存储器。记录存储器1760可以替代地或附加地包括计算存储器,诸如随机存取存储器。记录存储器1760中的编码媒体比特流的格式可以是基本自包含比特流格式,或者一个或多个编码媒体比特流可以被封装到容器文件中。如果存在彼此相关联的多个编码媒体比特流(诸如音频流和视频流),则通常使用容器文件,并且接收器1750包括从输入流产生容器文件的容器文件生成器或附接到该容器文件生成器。一些系统“直播”操作,即省略记录存储器1760并将编码媒体比特流从接收器1750直接传送到解码器1770。在一些系统中,仅记录流的最近部分,例如最近的10分钟所记录的流的摘录被保持在记录存储器1760中,而任何较早的记录数据从记录存储器1760中丢弃。
编码媒体比特流可以从记录存储器1760传送到解码器1770。如果存在诸如音频流和视频流的彼此关联并且被封装到容器文件中的许多编码媒体比特流,或者单个媒体比特流被封装在容器文件中,例如,为了更容易的访问,则文件解析器(图中未示出)用于从容器文件对每个编码的媒体比特流解封装。记录存储器1760或解码器1770可以包括文件解析器,或者文件解析器附接到记录存储器1760或解码器1770。同样应该注意的是,该系统可以包括许多解码器,但是这里只讨论一个解码器1770,以简化描述而不缺乏一般性。
编码媒体比特流可以由解码器1770进一步处理,该解码器1770的输出是一个或多个未压缩媒体流。最后,例如,渲染器1780可以用扬声器或显示器再现未压缩的媒体流。接收器1750、记录存储器1760、解码器1770和渲染器1780可以位于相同的物理设备中,或者它们可以被包括在分离的设备中。
在上文中,在已经参考编码器描述了示例实施例的情况下,需要理解的是,所得到的比特流和解码器可以在其中具有对应的元素。类似地,在已经参考解码器描述了示例实施例的情况下,需要理解的是,编码器可以具有用于生成要由解码器解码的比特流的结构和/或计算机程序。
上面描述的本发明的实施例根据单独的编码器和解码器装置来描述编解码器,以便帮助理解所涉及的过程。然而,可以理解的是,该装置、结构和操作可以被实现为单个编码器-解码器装置/结构/操作。此外,编码器和解码器可共享一些或全部通用元素。
尽管以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但应该理解,权利要求中限定的本发明可以被实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在可以在固定或有线通信路径上实现视频编码的视频编解码器中实现。
因此,用户设备可以包括诸如以上在本发明的实施例中描述的视频编解码器。应该理解,术语用户设备意在覆盖任何适当类型的无线用户设备,诸如移动电话、便携式数据处理设备或便携式网络浏览器。
此外,公共陆地移动网络(PLMN)的元件同样可以包括如上所述的视频编解码器。
通常,本发明的各种实施例可以用硬件或专用电路、软件、逻辑或其任何组合来实现。例如,一些方面可以用硬件来实现,而其它方面可以用可以由控制器、微处理器或其它计算设备执行的固件或软件来实现,但是本发明不限于此。尽管可以将本发明的各个方面示出和描述为块图、流程图或使用某些其它图形表示,但是很好理解的是,这里描述的这些块、装置、系统、技术或方法可以作为非限制性实施例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合中实现。
本发明的实施例可以由移动设备的数据处理器(诸如在处理器实体中)可执行的计算机软件、或者通过硬件、或者通过软件和硬件的组合来实现。进一步在这方面,应该注意的是,如附图中的逻辑流程的任何方框可以表示程序步骤或互连的逻辑电路、块和功能,或程序步骤和逻辑电路、块和功能的组合。软件可以存储在诸如存储器芯片、处理器内实现的存储器块、诸如硬盘或软盘的磁介质以及诸如例如DVD及其数据变体CD的光介质的物理介质上。
存储器可以是适用于本地技术环境的任何类型,并且可以使用任何合适的数据存储技术来实现,诸如基于半导体的存储器设备、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移动存储器。数据处理器可以是适用于本地技术环境的任何类型,并且作为非限制示例可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。
本发明的实施例可以在诸如集成电路模块的各种组件中实践。集成电路的设计大体上是高度自动化的过程。复杂和强大的软件工具可用于将逻辑级设计转换为准备在半导体衬底上蚀刻和形成的半导体电路设计。
诸如由加利福尼亚州Mountain View的Synopsys公司提供的程序和加利福尼亚州San Jose的Cadence设计公司提供的程序使用良好建立的设计规则以及预存储的设计模块库来对导体自动布线并将组件定位在半导体芯片上。在半导体电路的设计已经完成后,以标准化电子格式(例如,Opus、GDSII等)的最终设计可以发送到半导体制造设施或“fab”以进行制造。
以上描述已经通过示例性和非限制性示例提供了本发明的示例性实施例的全面且信息性的描述。然而,当结合附图和所附权利要求阅读时,鉴于前面的描述,各种修改和适应对于相关领域的技术人员来说可以变得显而易见。然而,对本发明教导的所有这些和类似的修改仍将落入权利要求的范围内。

Claims (20)

1.一种方法,包括:
对至少包括第一编码基础图片和第二编码基础图片的第一可伸缩性层编码,所述第一可伸缩性层能够使用第一算法解码;
将所述第一编码基础图片和所述第二编码基础图片分别重构为第一重构基础图片和第二重构基础图片,所述第一重构基础图片和所述第二重构基础图片在所述第一可伸缩性层的所有重构图片中在所述第一算法的输出顺序上相邻;
通过使用第二算法从至少所述第一重构基础图片和所述第二重构基础图片中重构第三重构基础图片,所述第三重构基础图片在输出顺序上位于所述第一重构基础图片和所述第二重构基础图片之间;
对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码,所述第二可伸缩性层能够使用第三算法解码,所述第三算法包括以重构图片作为输入的层间预测;以及
通过提供所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片分别作为层间预测的输入,将所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片分别重构为第一重构增强图片、第二重构增强图片和第三重构增强图片,所述第一重构增强图片、所述第二重构增强图片和所述第三重构增强图片在所述第一算法的输出顺序上分别与所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片匹配。
2.根据权利要求1所述的方法,进一步包括:
指示所述第一编码基础图片和所述第二编码基础图片符合第一简档;
指示重构所述第三重构基础图片所需的第二简档;
指示所述第一编码增强图片、所述第二编码增强图片以及所述第三编码增强图片符合第三简档;
其中,所述第一简档、所述第二简档和所述第三简档彼此不同,并且所述第一简档指示所述第一算法,所述第二简档指示所述第二算法,所述第三简档指示所述第三算法。
3.根据权利要求1所述的方法,其中,在不增强所述第一可伸缩性层中的所述基础图片的情况下提高所述图片速率,所述方法进一步包括以下中的至少一个:
-以与所述第一可伸缩性层的所述图片对应的图片被跳过编码的方式来编码所述第二可伸缩性层;
-以与所述第一可伸缩性层的所述图片对应的图片不被编码的方式来编码所述第二可伸缩性层。
4.根据权利要求1所述的方法,所述方法进一步包括以下中的至少一个:
-在修改所述第一重构基础图片和所述第二重构基础图片之前,从至少所述第一重构基础图片和所述第二重构基础图片中重构所述第三重构基础图片;以及通过使用第二增强层的对应图片来修改所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片;
-修改所述第一重构基础图片和所述第二重构基础图片,并且使用所修改的第一基础图片和第二基础图片作为输入来重构所述第三重构基础图片;
-通过使用所述第二增强层的所述对应图片来修改所述第一重构基础图片和所述第二重构基础图片,以及使用所述第二增强层的所述重构图片作为输入来重构所述第三重构基础图片。
5.根据权利要求1所述的方法,其中,所述图片速率被提高,并且至少一种类型的增强被应用于所述第一可伸缩性层的所述基础图片,所述增强包括以下中的至少一个:信噪比增强、空间增强、采样位深度增加、动态范围增加或扩大色域。
6.一种装置,包括:
至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行
对至少包括第一编码基础图片和第二编码基础图片的第一可伸缩性层编码,所述第一可伸缩性层能够使用第一算法解码;
将所述第一编码基础图片和所述第二编码基础图片分别重构为第一重构基础图片和第二重构基础图片,所述第一重构基础图片和所述第二重构基础图片在所述第一可伸缩性层的所有重构图片中在所述第一算法的输出顺序上相邻;
通过使用第二算法从至少所述第一重构基础图片和所述第二重构基础图片中重构第三重构基础图片,所述第三重构基础图片在输出顺序上位于所述第一重构基础图片和所述第二重构基础图片之间;
对包括至少第一编码增强图片、第二编码增强图片和第三编码增强图片的第二可伸缩性层编码,所述第二可伸缩性层能够使用第三算法解码,所述第三算法包括以重构图片作为输入的层间预测;以及
通过提供所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片分别作为层间预测的输入,将所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片分别重构为第一重构增强图片、第二重构增强图片和第三重构增强图片,所述第一重构增强图片、所述第二重构增强图片和所述第三重构增强图片在所述第一算法的输出顺序上分别与所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片匹配。
7.根据权利要求6所述的装置,所述装置进一步包括使所述装置执行以下操作中的至少一个的代码:
指示所述第一编码基础图片和所述第二编码基础图片符合第一简档;
指示重构所述第三重构基础图片所需的第二简档;
指示所述第一编码增强图片、所述第二编码增强图片以及所述第三编码增强图片符合第三简档;
其中,所述第一简档、所述第二简档和所述第三简档彼此不同,并且所述第一简档指示所述第一算法,所述第二简档指示所述第二算法,所述第三简档指示所述第三算法。
8.根据权利要求6所述的装置,其中,所述装置被配置为在不增强所述第一可伸缩性层中的所述基础图片的情况下提高所述图片速率,所述装置进一步包括使所述装置执行以下操作中的至少一个的代码:
-以与所述第一可伸缩性层的所述图片对应的图片被跳过编码的方式来编码所述第二可伸缩性层;
-以与所述第一可伸缩性层的所述图片对应的图片不被编码的方式来编码所述第二可伸缩性层。
9.根据权利要求6所述的装置,其中,所述装置进一步包括使所述装置执行以下操作中的至少一个的代码:
-在修改所述第一重构基础图片和所述第二重构基础图片之前,从至少所述第一重构基础图片和所述第二重构基础图片中重构所述第三重构基础图片;以及通过使用第二增强层的对应图片来修改所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片;
-修改所述第一重构基础图片和所述第二重构基础图片,并且使用所修改的第一基础图片和第二基础图片作为输入来重构所述第三重构基础图片;
-通过使用所述第二增强层的所述对应图片来修改所述第一重构基础图片和所述第二重构基础图片,以及使用所述第二增强层的所述重构图片作为输入来重构所述第三重构基础图片。
10.根据权利要求6所述的装置,其中,所述图片速率被提高,并且至少一种类型的增强被应用于所述第一可伸缩性层的所述基础图片,所述增强包括以下中的至少一个:信噪比增强、空间增强、采样位深度增加、动态范围增加或扩大色域。
11.一种方法,包括:
使用第一算法将第一编码基础图片和第二编码基础图片分别解码为第一重构基础图片和第二重构基础图片,所述第一编码基础图片和所述第二编码基础图片包括在第一可伸缩性层中,并且所述第一重构基础图片和所述第二重构基础图片在所述第一可伸缩性层的所有重构图片中在所述第一算法的输出顺序上相邻;
通过使用第二算法从至少所述第一重构基础图片和所述第二重构基础图片中重构第三重构基础图片,所述第三重构基础图片在输出顺序上位于所述第一重构基础图片和所述第二重构基础图片之间;以及
使用第三算法,通过提供所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别解码为第一重构增强图片、第二重构增强图片和第三重构增强图片,所述第三算法包括将重构图片作为输入的层间预测,所述第一重构增强图片、所述第二重构增强图片和所述第三重构增强图片在所述第一算法的输出顺序上与所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片匹配,并且所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片被包括在第二可伸缩性层中。
12.根据权利要求11所述的方法,进一步包括:
对所述第一编码基础图片和所述第二编码基础图片符合第一简档的第一指示进行解码;
对重构所述第三重构基础图片所需的第二简档的第二指示进行解码;
对所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片符合第三简档的第三指示进行解码;
其中,所述第一简档、所述第二简档和所述第三简档彼此不同,并且所述第一简档指示所述第一算法,所述第二简档指示所述二算法,并且所述第三简档指示所述第三算法;以及
基于在解码中支持所述第一简档,确定解码所述第一编码基础图片和所述第二编码基础图片;
基于在重构中支持所述第二简档和在解码中支持所述第一简档,确定重构所述第三重构基础图片;
基于在解码中支持所述第一简档和所述第三简档,确定解码所述第一编码增强图片和所述第二编码增强图片;以及
基于在解码中支持所述第一简档和所述第三简档以及在重构中支持所述第二简档,确定解码所述第三增强图片。
13.根据权利要求11所述的方法,其中,在不增强所述第一可伸缩性层中的所述基础图片的情况下提高所述图片速率,所述方法进一步包括以下中的至少一个:
-解码与所述第二可伸缩性层相关联的指示,所述指示表明与所述第一可伸缩性层的所述图片对应的图片被跳过编码;
-以与所述第一可伸缩性层的所述图片对应的图片不被解码的方式来解码所述第二可伸缩性层。
14.根据权利要求11所述的方法,所述方法进一步包括以下中的至少一个:
-在修改所述第一重构基础图片和所述第二重构基础图片之前,从至少所述第一重构基础图片和所述第二重构基础图片中重构所述第三重构基础图片;以及通过使用第二增强层的对应图片来修改所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片;
-修改所述第一重构基础图片和所述第二重构基础图片,并且使用所修改的第一基础图片和第二基础图片作为输入来重构所述第三重构基础图片;
-通过使用所述第二增强层的所述对应图片来修改所述第一重构基础图片和所述第二重构基础图片,以及使用所述第二增强层的所述重构图片作为输入来重构所述第三重构基础图片。
15.根据权利要求11所述的方法,其中,所述图片速率被提高,并且至少一种类型的增强被应用于所述第一可伸缩性层的所述基础图片,所述增强包括以下中的至少一个:信噪比增强、空间增强、采样位深度增加、动态范围增加或扩大色域。
16.一种装置,包括:
至少一个处理器和至少一个存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行
使用第一算法将第一编码基础图片和第二编码基础图片分别解码为第一重构基础图片和第二重构基础图片,所述第一编码基础图片和所述第二编码基础图片包括在第一可伸缩性层中,并且所述第一重构基础图片和所述第二重构基础图片在所述第一可伸缩层的所有重构图片中在所述第一算法的输出顺序上相邻;
通过使用第二算法从至少所述第一重构基础图片和所述第二重构基础图片中重构第三重构基础图片,所述第三重构基础图片在输出顺序上位于所述第一重构基础图片和所述第二重构基础图片之间;以及
使用第三算法,通过提供所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片分别作为层间预测的输入,将第一编码增强图片、第二编码增强图片和第三编码增强图片分别解码为第一重构增强图片、第二重构增强图片和第三重构增强图片,所述第三算法包括将重构图片作为输入的层间预测,所述第一重构增强图片、所述第二重构增强图片和所述第三重构增强图片在所述第一算法的输出顺序上与所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片匹配,并且所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片被包括在第二可伸缩性层中。
17.根据权利要求16所述的装置,其中,所述装置进一步包括使所述装置执行以下操作的代码:
对所述第一编码基础图片和所述第二编码基础图片符合第一简档的第一指示进行解码;
对重构所述第三重构基础图片所需的第二简档的第二指示进行解码;
对所述第一编码增强图片、所述第二编码增强图片和所述第三编码增强图片符合第三简档的第三指示进行解码;
其中,所述第一简档、所述第二简档和所述第三简档彼此不同,并且所述第一简档指示所述第一算法;所述第二简档指示所述二算法,并且所述第三简档指示所述第三算法;以及
基于在解码中支持所述第一简档,确定解码所述第一编码基础图片和所述第二编码基础图片;
基于在重构中支持所述第二简档和在解码中支持所述第一简档,确定重构所述第三重构基础图片;
基于在解码中支持所述第一简档和所述第三简档,确定解码所述第一编码增强图片和所述第二编码增强图片;以及
基于在解码中支持所述第一简档和所述第三简档以及在重构中支持所述第二简档,确定解码所述第三增强图片。
18.根据权利要求16所述的装置,其中,所述装置被配置为在不增强所述第一可伸缩性层中的所述基础图片的情况下提高所述图片速率,所述装置进一步包括使所述装置执行以下中的至少一个的代码:
-解码与所述第二可伸缩性层相关联的指示,所述指示表明与所述第一可伸缩性层的所述图片对应的图片被跳过编码;
-以与所述第一可伸缩性层的所述图片对应的图片不被解码的方式来解码所述第二可伸缩性层。
19.根据权利要求16所述的装置,其中,所述装置进一步包括使所述装置执行以下操作中的至少一个的代码:
-在修改所述第一重构基础图片和所述第二重构基础图片之前,从至少所述第一重构基础图片和所述第二重构基础图片中重构所述第三重构基础图片;以及通过使用第二增强层的对应图片来修改所述第一重构基础图片、所述第二重构基础图片和所述第三重构基础图片;
-修改所述第一重构基础图片和所述第二重构基础图片,并且使用所述修改的第一基础图片和第二基础图片作为输入来重构所述第三重构基础图片;
-通过使用所述第二增强层的所述对应图片来修改所述第一重构基础图片和所述第二重构基础图片,以及使用所述第二增强层的所述重构图片作为输入来重构所述第三重构基础图片。
20.根据权利要求16所述的装置,其中,所述图片速率被提高,并且至少一种类型的增强被应用于所述第一可伸缩性层的所述基础图片,所述增强包括以下中的至少一个:信噪比增强、空间增强、样本位深度增加、动态范围增加或扩大色域。
CN201680068728.5A 2015-09-25 2016-09-23 用于视频编码和解码的装置、方法和计算机程序 Pending CN108293127A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/866,702 US20170094288A1 (en) 2015-09-25 2015-09-25 Apparatus, a method and a computer program for video coding and decoding
US14/866,702 2015-09-25
PCT/FI2016/050661 WO2017051077A1 (en) 2015-09-25 2016-09-23 An apparatus, a method and a computer program for video coding and decoding

Publications (1)

Publication Number Publication Date
CN108293127A true CN108293127A (zh) 2018-07-17

Family

ID=58386029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680068728.5A Pending CN108293127A (zh) 2015-09-25 2016-09-23 用于视频编码和解码的装置、方法和计算机程序

Country Status (7)

Country Link
US (1) US20170094288A1 (zh)
EP (1) EP3354023A4 (zh)
JP (1) JP2018534824A (zh)
CN (1) CN108293127A (zh)
MX (1) MX2018003654A (zh)
WO (1) WO2017051077A1 (zh)
ZA (1) ZA201802567B (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064959A (zh) * 2018-09-12 2020-04-24 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
CN111158908A (zh) * 2019-12-27 2020-05-15 重庆紫光华山智安科技有限公司 一种基于kubernetes的提高GPU利用率的调度方法及装置
CN112468818A (zh) * 2021-01-22 2021-03-09 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备
US11463685B2 (en) 2018-07-02 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks
US11528501B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11589071B2 (en) 2019-01-10 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11695921B2 (en) 2018-06-29 2023-07-04 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11877002B2 (en) 2018-06-29 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Update of look up table: FIFO, constrained FIFO
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11909989B2 (en) 2018-06-29 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Number of motion candidates in a look up table to be checked according to mode
US11909951B2 (en) 2019-01-13 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Interaction between lut and shared merge list
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT
US11973971B2 (en) 2018-06-29 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Conditions for updating LUTs
US12034914B2 (en) 2018-06-29 2024-07-09 Beijing Bytedance Network Technology Co., Ltd Checking order of motion candidates in lut
US12556738B2 (en) 2018-06-29 2026-02-17 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284840B2 (en) * 2013-06-28 2019-05-07 Electronics And Telecommunications Research Institute Apparatus and method for reproducing 3D image
KR102477964B1 (ko) * 2015-10-12 2022-12-16 삼성전자주식회사 미디어 전송 시스템에서 비디오 비트스트림의 임의 접근 및 재생을 가능하게 하는 기법
US20170186243A1 (en) * 2015-12-28 2017-06-29 Le Holdings (Beijing) Co., Ltd. Video Image Processing Method and Electronic Device Based on the Virtual Reality
US10349067B2 (en) * 2016-02-17 2019-07-09 Qualcomm Incorporated Handling of end of bitstream NAL units in L-HEVC file format and improvements to HEVC and L-HEVC tile tracks
GB2547934B (en) * 2016-03-03 2021-07-07 V Nova Int Ltd Adaptive video quality
US10623755B2 (en) * 2016-05-23 2020-04-14 Qualcomm Incorporated End of sequence and end of bitstream NAL units in separate file tracks
CN112020860B (zh) * 2018-02-26 2022-09-02 弗劳恩霍夫应用研究促进协会 用于选择性量化参数传输的编码器、解码器和其方法
CN111771382B (zh) * 2018-02-26 2022-12-06 交互数字Vc控股公司 帧内预测中基于梯度的边界滤波
CN110971564B (zh) * 2018-09-28 2021-03-30 华为技术有限公司 传输媒体数据的方法、客户端和服务器
CN111107356B (zh) * 2018-10-27 2023-11-10 华为技术有限公司 图像预测方法及装置
WO2020117013A1 (ko) * 2018-12-06 2020-06-11 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
EP3906699A4 (en) * 2019-01-02 2022-11-02 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR CODING AND DECODING VIDEO
US11546402B2 (en) 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
EP3939258A4 (en) 2019-03-12 2022-12-07 Tencent America LLC METHOD AND APPARATUS FOR ENCODING OR DECODING VIDEO
WO2022003024A1 (en) * 2020-06-30 2022-01-06 Telefonaktiebolaget Lm Ericsson (Publ) Scalability using temporal sublayers
US20240179345A1 (en) * 2021-03-30 2024-05-30 Interdigital Ce Patent Holdings, Sas Externally enhanced prediction for video coding
EP4164222A1 (en) * 2021-10-08 2023-04-12 Robert Bosch GmbH Lossy compression of video content into a graph representation
CN119631411A (zh) * 2022-07-26 2025-03-14 抖音视界有限公司 视频编解码中对自适应环路滤波器使用非相邻样点
AU2024274584A1 (en) * 2023-05-25 2025-12-04 Panasonic Intellectual Property Corporation Of America Decoder, encoder, decoding method, and encoding method

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060133482A1 (en) * 2004-12-06 2006-06-22 Seung Wook Park Method for scalably encoding and decoding video signal
US20070230568A1 (en) * 2006-03-29 2007-10-04 Alexandros Eleftheriadis System And Method For Transcoding Between Scalable And Non-Scalable Video Codecs
US20090147853A1 (en) * 2007-12-10 2009-06-11 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation
US20120328200A1 (en) * 2010-01-15 2012-12-27 Limin Liu Edge enhancement for temporal scaling with metadata
US20140003489A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Method and apparatus for video coding
US20140098886A1 (en) * 2011-05-31 2014-04-10 Dolby Laboratories Licensing Corporation Video Compression Implementing Resolution Tradeoffs and Optimization
CN104871540A (zh) * 2012-12-14 2015-08-26 Lg电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7042944B2 (en) * 2000-09-22 2006-05-09 Koninklijke Philips Electronics N.V. Single-loop motion-compensation fine granular scalability
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
EP1972152A4 (en) * 2006-01-09 2014-12-17 Lg Electronics Inc METHOD FOR PREDICTING INTER-LAYER OF VIDEO SIGNAL
WO2013128010A2 (en) * 2012-03-02 2013-09-06 Canon Kabushiki Kaisha Method and devices for encoding a sequence of images into a scalable video bit-stream, and decoding a corresponding scalable video bit-stream
JPWO2015098563A1 (ja) * 2013-12-27 2017-03-23 ソニー株式会社 画像符号化装置および方法、並びに画像復号装置および方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060133482A1 (en) * 2004-12-06 2006-06-22 Seung Wook Park Method for scalably encoding and decoding video signal
US20070230568A1 (en) * 2006-03-29 2007-10-04 Alexandros Eleftheriadis System And Method For Transcoding Between Scalable And Non-Scalable Video Codecs
US20090147853A1 (en) * 2007-12-10 2009-06-11 Qualcomm Incorporated Resource-adaptive video interpolation or extrapolation
US20120328200A1 (en) * 2010-01-15 2012-12-27 Limin Liu Edge enhancement for temporal scaling with metadata
US20140098886A1 (en) * 2011-05-31 2014-04-10 Dolby Laboratories Licensing Corporation Video Compression Implementing Resolution Tradeoffs and Optimization
US20140003489A1 (en) * 2012-07-02 2014-01-02 Nokia Corporation Method and apparatus for video coding
CN104871540A (zh) * 2012-12-14 2015-08-26 Lg电子株式会社 编码视频的方法、解码视频的方法以及使用其的装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MISKA M. HANNUKSELA: ""MV-HEVC/SHVC HLS: On temporal enhancement layers and diagonal inter-layer prediction"", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSIONS OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 8TH MEETING: VALENCIA, ES, 29 MARCH – 4 APRIL 2014》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11895318B2 (en) 2018-06-29 2024-02-06 Beijing Bytedance Network Technology Co., Ltd Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US12167018B2 (en) 2018-06-29 2024-12-10 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US12556738B2 (en) 2018-06-29 2026-02-17 Beijing Bytedance Network Technology Co., Ltd. Update of look up table: FIFO, constrained FIFO
US12549756B2 (en) 2018-06-29 2026-02-10 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US11877002B2 (en) 2018-06-29 2024-01-16 Beijing Bytedance Network Technology Co., Ltd Update of look up table: FIFO, constrained FIFO
US12058364B2 (en) 2018-06-29 2024-08-06 Beijing Bytedance Network Technology Co., Ltd. Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks
US11528501B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Interaction between LUT and AMVP
US11528500B2 (en) 2018-06-29 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Partial/full pruning when adding a HMVP candidate to merge/AMVP
US12034914B2 (en) 2018-06-29 2024-07-09 Beijing Bytedance Network Technology Co., Ltd Checking order of motion candidates in lut
US11973971B2 (en) 2018-06-29 2024-04-30 Beijing Bytedance Network Technology Co., Ltd Conditions for updating LUTs
US11695921B2 (en) 2018-06-29 2023-07-04 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11706406B2 (en) 2018-06-29 2023-07-18 Beijing Bytedance Network Technology Co., Ltd Selection of coded motion information for LUT updating
US11909989B2 (en) 2018-06-29 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Number of motion candidates in a look up table to be checked according to mode
US11463685B2 (en) 2018-07-02 2022-10-04 Beijing Bytedance Network Technology Co., Ltd. LUTS with intra prediction modes and intra mode prediction from non-adjacent blocks
CN111064959B (zh) * 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US20210297659A1 (en) 2018-09-12 2021-09-23 Beijing Bytedance Network Technology Co., Ltd. Conditions for starting checking hmvp candidates depend on total number minus k
CN111064959A (zh) * 2018-09-12 2020-04-24 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
US11997253B2 (en) 2018-09-12 2024-05-28 Beijing Bytedance Network Technology Co., Ltd Conditions for starting checking HMVP candidates depend on total number minus K
US11589071B2 (en) 2019-01-10 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
US12368880B2 (en) 2019-01-10 2025-07-22 Beijing Bytedance Network Technology Co., Ltd. Invoke of LUT updating
US11909951B2 (en) 2019-01-13 2024-02-20 Beijing Bytedance Network Technology Co., Ltd Interaction between lut and shared merge list
US11962799B2 (en) 2019-01-16 2024-04-16 Beijing Bytedance Network Technology Co., Ltd Motion candidates derivation
US11956464B2 (en) 2019-01-16 2024-04-09 Beijing Bytedance Network Technology Co., Ltd Inserting order of motion candidates in LUT
US11641483B2 (en) 2019-03-22 2023-05-02 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US12401820B2 (en) 2019-03-22 2025-08-26 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN111158908A (zh) * 2019-12-27 2020-05-15 重庆紫光华山智安科技有限公司 一种基于kubernetes的提高GPU利用率的调度方法及装置
CN111158908B (zh) * 2019-12-27 2021-05-25 重庆紫光华山智安科技有限公司 一种基于kubernetes的提高GPU利用率的调度方法及装置
CN112468818A (zh) * 2021-01-22 2021-03-09 腾讯科技(深圳)有限公司 视频通信的实现方法及装置、介质和电子设备

Also Published As

Publication number Publication date
MX2018003654A (es) 2018-08-01
US20170094288A1 (en) 2017-03-30
WO2017051077A1 (en) 2017-03-30
ZA201802567B (en) 2020-01-29
EP3354023A1 (en) 2018-08-01
JP2018534824A (ja) 2018-11-22
EP3354023A4 (en) 2019-05-22

Similar Documents

Publication Publication Date Title
US10674170B2 (en) Apparatus, a method and a computer program for video coding and decoding
CN108293127A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN106464891B (zh) 用于视频编码和解码的方法和装置
CN106464893B (zh) 用于视频编码和解码的装置、方法和计算机程序
CN108702503B (zh) 用于提供视频比特流的方法及装置
CN108886620B (zh) 用于视频编码和解码的装置、方法及计算机程序
CN106105220B (zh) 用于视频编码和解码的方法和装置
CN105027569B (zh) 用于视频编码和解码的装置和方法
CN109792487B (zh) 用于视频编码和解码的装置、方法和计算机程序
US20180139469A1 (en) An Apparatus, A Method and A Computer Program for Video Coding and Decoding
US20160286241A1 (en) Apparatus, a method and a computer program for video coding and decoding
EP3497932A1 (en) Video encoding and decoding
CN105325003A (zh) 用于视频编码和解码的装置、方法和计算机程序
WO2017162911A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN114424575B (zh) 用于视频编解码和解码的装置、方法和计算机程序
CN111327893A (zh) 用于视频编码和解码的装置、方法和计算机程序
HK40032097A (zh) 用於视频编码和解码的装置、方法和计算机程序

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180717

WD01 Invention patent application deemed withdrawn after publication