CN107005698A - 支持尽力服务解码的元数据提示 - Google Patents

支持尽力服务解码的元数据提示 Download PDF

Info

Publication number
CN107005698A
CN107005698A CN201580055485.7A CN201580055485A CN107005698A CN 107005698 A CN107005698 A CN 107005698A CN 201580055485 A CN201580055485 A CN 201580055485A CN 107005698 A CN107005698 A CN 107005698A
Authority
CN
China
Prior art keywords
decoding
coding
coding protocol
protocol
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580055485.7A
Other languages
English (en)
Other versions
CN107005698B (zh
Inventor
A·多拉佩斯
D·W·辛格
K·D·科拉罗夫
S·E·桑德斯
G·科泰
S·茜丝玛斯
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.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN107005698A publication Critical patent/CN107005698A/zh
Application granted granted Critical
Publication of CN107005698B publication Critical patent/CN107005698B/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/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
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在一种编码系统中,编码器根据预先确定的协议编码视频数据,所述视频数据在解码时使相关联的解码器执行预先确定的解码操作序列。编码器既可以起作用的编码协议规定的方式执行对经编码的视频数据的本地解码,也可通过一个或多个另选的解码操作执行对经编码的视频数据的本地解码。编码器可估计所述另选的解码操作相比于所述编码协议所要求的解码操作的相对性能。编码器可在与经编码的视频数据相关联的元数据中提供标识符来标识此类失真程度和/或节约资源的程度。解码器可在确定何时进行可在资源节约策略下保证的另选解码操作时参考此类标识符。

Description

支持尽力服务解码的元数据提示
优先权
本申请要求于2015年4月15日提交的美国专利申请14/687,316的优先权,该美国专利申请要求于2014年10月13日提交的美国临时申请62/063,003的权益,其公开内容以引用方式并入本文。
背景技术
本公开涉及包括编码终端和解码终端的视频编码系统以及用于其的编码协议。
尤其是在最近十年期间已经有相当多的关注投入到在多种应用(诸如照明、汽车燃料效率、以及各种家用或商用电气和电子设备)上实现功率减小和改善能量效率。这是由期望节约燃料资源、降低成本以及对于移动设备而言延长电池和使用时间来驱动的。这些节约中的大多数是通过使用新的材料、改进的制造和设计工艺和硬件、以及可在此类系统上运行的更高效的算法和软件来实现。例如,移动电话现在使用改进的半导体器件制造工艺以及更高效的显示器来节约功率。
然而,同时,新的使用模型和应用诸如增强型视频递送和流式传输本身可能要求更多的功率来自此类设备,从而潜在地降低了通过生产制造实现的有益效果。例如,提出了HEVC/H.265标准的解码复杂性可比AVC/H.264的解码复杂性高接近2倍。在美国,一些估计表明互联网视频当前占总体互联网通信量的大约78%,其中相当大的比例是在移动设备上消费的。到2016,预计移动设备上的互联网消费(包括视频)会远远超过在有线设备上的互联网消费。
本申请的发明人认识到需要一种编码器/解码器在本地处理环境有利于资源节约时允许解码器在多个解码协议之间动态地切换。此外,本申请的发明人认识到需要这样的一种系统允许解码器估计环境情况何时有利于切换到资源节约解码模式,例如所得到的图像质量的损失何时会最小化。
附图说明
图1示出了根据本公开的一个实施方案的一种视频编码系统的简化框图。
图2是示出根据本公开的一个实施方案的一种系统的功能框图。
图3示出了根据本公开的一个实施方案的一种方法。
图4是根据本公开的一个实施方案的一种编码器的功能框图。
图5示出了根据本公开的一个实施方案的一种方法。
图6示出了根据本公开的一个实施方案的一种尽力服务解码器。
图7示出了展示帧中不同尽力服务解码决定对后续帧的影响的状态图。
图8示出了根据本公开的另一实施方案的一种编码器。
具体实施方式
本公开的实施方案提供了一种编码系统,其中编码器根据预先确定的协议编码视频数据,所述视频数据在解码时使相关联的解码器执行预先确定的解码操作序列。编码器既可以起作用的编码协议所规定的方式执行对经编码的视频数据的本地解码,也可通过一个或多个另选的解码操作执行对经编码的视频数据的本地解码。编码器可估计所述另选的解码操作相比于所述编码协议所要求的解码操作的相对性能。编码器可在与经编码的视频数据相关联的元数据中提供标识符来标识此类失真程度和/或节约资源的程度。
解码器可在确定何时进行可在资源节约策略下保证的另选解码操作时参考此类标识符。通过参考此类标识符,解码器可在操作环境情况指示这样做会是有利的(例如所引起的失真会相对较低和/或资源节约会相对较高)时进行所述另选解码操作。在其它实施方案中,解码器可向编码器返回消息来标识何时进行了另选解码操作以及执行了何种类型的操作。编码器可响应于此类消息而更新其关于解码器状态的本地图像。
图1示出了根据本公开的一个实施方案的一种视频编码系统100的简化框图。系统100可包括经由网络150互连的多个终端110至140。某些终端可编码视频数据以用于经由网络150传输给另一终端。其他终端可从网络150接收其他终端的经编码的视频数据,解码经编码的数据,并通常通过显示经解码的视频来消费从中复原的视频数据。
视频编码系统100可在多种应用中使用。在第一应用中,一对终端110,120可支持经编码的视频的实时双向交换,以在它们之间建立视频会议会话。在另一应用中,终端130可编码预先录制的视频(例如电视或电影节目)并存储经编码的视频用于递送给一个或者经常递送给多个进行下载的客户端140。因此,被编码的视频可以是直播的或预先录制的,并且其可以一对一或一对多的发布模型进行发布。出于本论述的目的,除非另外指明,视频的类型和视频发布方案是无关紧要的。
在图1中,将终端110至140分别图示为智能电话、服务器和个人计算机,但本公开的原理并不限于此。本公开的实施方案可应用于机顶盒、电视机、计算机(台式计算机和膝上型计算机两者)、平板计算机、计算机服务器、媒体播放器和/或专用视频会议和娱乐设备等等。
网络150代表在终端110至140之间传递经编码的视频数据的任意数量的网络,包括例如有线通信网络和/或无线通信网络。通信网络150可在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网、局域网、广域网和/或互联网。出于本论述的目的,除非另外指明,否则网络150的体系结构和拓扑结构对本发明的操作是无关紧要的。
图2是示出根据本公开的一个实施方案的一种系统200的功能框图。系统200可包括经由信道240通信的一对终端210,250。
图2示出了包括视频源215、编码引擎220、控制器225和收发器230的终端210。视频源215可供应要编码的视频序列。编码引擎220可根据运动补偿预测对视频序列进行编码,这减小视频序列的带宽。收发器230可将经编码的视频数据传输到信道240,并且可选地可从该信道接收数据。控制器225可以管理终端210的操作。
视频源215可将要编码的视频序列供应给编码引擎220。在图2所示的示例中,视频源215可以是供应在终端的本地环境中捕捉的视频数据的相机。在其他应用中,视频源215可以是存储视频数据(例如代表音频视频节目的数据)的存储设备。
编码引擎220可包括视频编码器222、视频解码器224、和参考画面高速缓存226。视频编码器222可对来自视频源215的视频执行带宽压缩操作以减少其中的空间和/或时间冗余。作为其操作的一部分,视频编码器222也可根据运动补偿的预测技术利用存储在参考画面高速缓存226中的数据作为预测参考来编码视频数据的新的帧。视频编码器222可将经编码的视频数据输出到收发器230,收发器可对数据进行格式化以用于通过信道240进行传输并递送给终端250。视频解码器224可对参考帧的经编码的视频数据进行解码,以用于存储在参考画面高速缓存226中。
视频编码器222可根据各种不同的编码技术对输入视频数据进行编码以实现带宽压缩。视频编码器222可通过经运动补偿的预测来压缩图像。可对输入视频的帧/画面或者画面内子单元(诸如片断)分配编码类型,诸如帧内编码(I编码)、单向预测编码(P编码)或双向预测编码(B编码)。帧或片断可被进一步解析成多个编码单元或像素块,并且可通过预测和变换编码、量化及熵编码而被编码。经I编码的帧/画面的像素块可使用帧内预测机制来利用信号内的空间相关性。除帧内预测之外,经P和B编码的帧或片断的像素块可利用经帧间/运动补偿的预测来编码,经帧间/运动补偿的预测利用信号内的时间相关性。在这种情况下,视频编码器222可执行运动预测搜索以从参考画面高速缓存226内标识可为要编码的新的帧的像素块提供适当预测参考的画面和区域。在经B编码的帧或片断中,多个时间预测(即多至两个)可组合在一起生成最终的经运动补偿的预测。视频编码器222可计算标识存储在参考画面高速缓存226中的经解码帧的用作被编码的像素块的预测的像素块的运动矢量。也可在进行变换编码之前生成预测残差。还可包括附加的环路滤波技术,诸如解块、样点自适应偏移(SAO)技术的使用、或自适应环路滤波技术(ALF),以进一步改善信号用于显示和时间预测。在一个实施方案中,视频编码器可根据由ITU H.263、H.264、H.265等定义的编码协议来进行操作。
编码引擎220可包括视频解码器224,用于解码经编码的参考画面帧。因此,编码引擎220可生成经解码的参考帧的本地副本,第二终端的视频解码器250在解码经编码的视频数据时将获取所述本地副本(经历本文讨论的资源管理操作)。这些经解码的参考画面帧可存储在参考画面高速缓存226中。参考画面高速缓存246可具有预先确定的高速缓存深度;例如,根据H.264操作的编码引擎220可存储多至16个经解码的参考画面用于帧编码、以及多至32个画面用于场编码。
控制器225可管理由编码引擎220执行的编码过程的整体操作。例如,控制器225可管理编码引擎220的操作,既用于对源视频进行编码又用于估计用于本文所讨论的资源节约解码操作的机会。
收发器230可将经编码的视频数据传输至信道240。这样,收发器230可将经编码的视频数据与要传输的其他数据诸如经编码的音频数据和元数据进行多路复用,如本文所讨论。收发器230可将经多路复用的数据格式化成适于信道240的格式并将数据传输给网络。
第二终端250可包括视频宿255、视频解码器260、参考画面高速缓存265、控制器270和收发器275。收发器275可从信道240接收经编码的视频数据,并且可选地可将数据传输给信道240。视频解码器260可通过逆转视频编码器222应用的编码操作来对经编码的视频数据进行解码。参考画面高速缓存265可存储经解码的参考画面数据。视频宿255可消费视频数据。控制器270可以管理终端250的操作。
视频解码器260可执行逆转由视频编码器222执行的编码操作的解码操作。视频解码器260可以执行熵解码、反量化及变换解码以生成所复原的像素块数据。量化/反量化操作是有损耗的过程,因此所复原的像素块数据可能将是视频编码器222所编码的源像素块的复制但将包括一定错误。对于预测性编码的像素块,变化解码可生成残差数据;视频解码器260可使用与像素块相关联的运动矢量(其在一些情况下可以是隐含的)来从参考画面高速缓存265检索要与预测残差进行组合的所预测的像素块。
控制器270可以管理视频解码器260的操作。控制器270可执行可管理终端250的操作的资源节约策略。这样,控制器270可使视频解码器260改变解码操作使其不是通常会通过直接解码从信道240接收的经编码视频数据来应用的那些解码操作。例如,控制器270可使视频解码器260改变解块操作(下文讨论)使其不是经编码的视频数据中所标识的解块操作。在某些实施方案中,控制器270可使终端250向终端210传输消息标识视频解码器260所应用的另选编码操作。这些消息可在视频信号内传输,例如利用补充增强信息(SEI)消息或使用其他机制诸如在传输层内或在与视频比特流同时传输到解码器的另一侧信道内。
图3示出了根据本公开的实施方案的方法300。方法300可由编码终端在视频编码会话过程中执行。根据方法300,视频序列可根据支配性编码协议进行编码(框310)。方法300可根据所述支配性编码协议解码经编码的视频序列(框315)。方法300还可根据另选解码技术解码经编码的视频序列(框320)。方法300可测量与协议要求的解码相比由所述另选解码技术引起的失真和/或资源节约(框325)。方法300可根据预先确定的度量编码所测得的失真/资源节约(框330)。然后,方法300可使经编码的度量传输到信道(框335)。
在操作期间,可为可能期望的那么多的另选编码技术重复框320至335的操作。因此,编码终端可将多个经编码的度量提供给信道,这些经编码的度量标识用于解码器进行另选编码技术的适当时机。
在一个实施方案中,编码终端可从解码终端接收通信,指示解码终端已经进行了另选解码技术。另选解码技术的调用可导致失去解码器状态与编码器的关于解码器状态的图像之间的同步。在这样的实施方案中,方法300可确定解码器是否改变了其解码操作来使用另选解码技术(框340)。如果改变了,则方法300还可估计解码器的状态相对于那个状态的编码器图像之间的“偏离”(框345)并基于这个估计来修改编码器的关于解码器状态的图像(框350)。
如果没有接收到解码器将其解码从编码协议所要求的解码操作改变了的指示,则当然可以省去框345和350的操作。
在框350中,编码终端可执行模拟解码器所执行的解码操作的操作,并利用模拟结果更新其图像。例如,如果编码器接收了解码器跳过了对解块操作的执行或者使用了并非经编码的视频数据所要求的另选类型的解块的指示,则解码器可生成与由编码器所生成的经解码的视频数据不同的经解码的视频数据(包括经解码的参考帧)。编码器的参考画面高速缓存226(图2)和解码器的参考画面高速缓存265的内容可以不同。然而,编码器的模拟操作可生成与解码器所获得的经解码的参考画面数据匹配(或至少更好逼近)的新的经解码的视频数据。解码器可用新解码的数据更新其参考画面高速缓存226。
图4是示出根据本公开的一个实施方案的一种编码器400的功能框图。编码器400可包括减法器412、变换单元414、量化器416和熵编码器418。减法器412可通过将输入视频数据与预测单元438所生成的视频数据进行比较来生成像素残差。变换单元414可执行像素残差的变换(诸如离散余弦变换或小波变换)。量化器416可按量化器参数(未示出)缩减变换系数。熵编码器418可对经量化的变换系数执行熵编码。经熵编码的系数可作为经编码的视频数据的一部分与其相应的量化器参数的指示符一起从编码器400输出。
编码器400还可包括反量化器420、反变换单元422和加法器424,作为其解码电路的一部分。反量化器420可逆转量化器416所执行的量化操作。反变换单元422可逆转变换单元414所执行的变换操作。因此,变换系数可被转换回像素残差。加法器424可将预测视频数据加到反变换单元422所获得的预测残差。
量化器416和反量化器420的操作通常是有损耗的过程。因此,从反量化器420输出的变换系数相对于变换系数在被输入到量化器416时可能将有损耗。这些损耗可能传导遍及编码器400的其他部件。
编码器400还可以包括解块滤波器426、样点自适应偏移滤波器(“SAO”)428、经解码画面缓冲器430、运动估计器432、帧内预测器434、模式决定单元436和预测单元438。解块滤波器426可对从加法器424输出的图像数据执行解块操作。SAO滤波器428可对从解块滤波器426输出的数据执行滤波。经解码画面缓冲器430可存储从SAO滤波器428输出的经解码画面。经解码画面缓冲器430可根据需要存储所有经解码的画面例如用于估计编码质量,或者另选地,可只存储可用于后续预测操作的参考画面。在后一种情况下,经解码画面缓冲器430可作为参考画面高速缓存226(图2)工作。运动估计器432可在输入图像与所存储的参考画面之间执行运动估计搜索,以用于帧间预测编码的目的。帧内预测器434可在输入图像与相同图像的先前编码的内容之间执行帧内预测搜索,以用于帧内预测编码。模式决定单元436可为输入视频的新元素选择编码模式(例如帧间预测、帧内预测、无编码(跳过))。预测单元438可供应预测数据以供在根据所选模式对输入视频的所述新元素进行编码中使用。
在操作期间,经编码的视频数据可包括标识用于解块滤波器426和SAO滤波器428、和/或可存在于编解码器内的其他环路滤波机构的所选参数、以及为编码所选的预测模式和用于所选预测模式的参数(例如运动矢量)的指示符。
上述论述说明了对于很多编码协议常见的编码元件。不同编码协议可以用与本文所列出的术语不同的术语来表示这些元件。一些编码协议可省略这些元件中的一个或多个。然而,以上描述仅仅是说明性的,为下文描述的尽力服务解码器的论述提供上下文语境。
如图4所示,编码器400可包括可执行与支配性协议所要求的那些解码过程不同的解码过程的一个或多个“尽力服务”解码器440,450。编码操作可例如通过改变预测模式、改变滤波类型或下文所述的其他编码决定而改变。
尽力服务解码器不必与基于编码的协议集成,如图所示。在其他实施方案中,尽力服务估计可由编码器后面的后编码器级(未示出)生成。此类系统可包含一个或多个解码器以估计复杂性及失真。此外,就失真计算而言,失真可参考原始的经编码的流来进行计算(另选解码操作偏离其多远),或者可使用源视频数据(或如果可用的话,诸如在有视频序列的多个版本可供以不同比特率和/或分辨率使用的自适应流式传输的情况下,可能可使用更高比特率/质量比特流)。
此外,可为先前由不同编码器编码的多个比特流形成尽力服务估计。这些比特流可被传递给执行复杂性/失真分析和元数据生成的后编码器/复杂性分析系统。
在视频编码会话期间,编码终端210(图2)可在元数据中提供估计解码器可执行的一个或多个另选解码操作的失真程度和/或资源节约程度的标识符。编码器可通过根据多个不同解码操作解码从视频编码器222输出的经编码视频数据来生成其估计。在这种操作模式中,控制器225可将视频解码器224配置成按与视频编码器222工作于的编码协议所要求的编码技术不同的方式根据所述另选解码操作解码经编码的视频数据。实际上,视频解码器224可根据多个解码技术解码经编码的视频数据,既有编码协议所要求的那些解码技术,又有作为供解码器执行的候选技术的一个或多个另选解码技术。控制器225可通过比较从协议要求的操作和从另选操作获得的所得视频数据来估计失真程度。此外,控制器可通过在这些不同配置下观察视频解码器224来估计资源节约程度。
解码终端250可在确定何时进行可在其资源节约策略下保证的另选解码操作时参考这些标识符。通过参考此类标识符,解码终端250可在操作环境情况指示这样做会是有利的(例如所引起的失真会相对较低或资源节约会相对较高)时进行所述另选解码操作。
在一特定实施方案中,编码器可工作于特殊的“有损编码”模式。之前已经在假定编码器必须通过易错信道递送比特流的错误复原的上下文中使用了此类技术。在该场景中,编码器可试图在编码期间模拟信道,并作出平均而言会有助于约束由于损失导致的错误的传播的编码决定。在一特定示例中,编码器可试图保持N个不同解码器,其中每一个解码器可能以随机(但不同)的间隔受到信道中损失的影响。通过保持这些解码器,编码器可估计在每一者中由于信道损失引起的失真,并且通过在模式决定期间计算每一者的平均失真来选择可能会以可能的最有效方式控制由于损失导致的质量偏离的模式。已经提出了其他技术诸如UCSB的Kenneth Rose提出的ROPE技术作为另选方法。
尽力服务解码(诸如调节解块)本身可被看作在一定程度上类似。编码器可采用多个解码模块(在完整的标准解码过程后有一个解码模块)、以及可工作于尽力服务解码模式的其他解码器,并且可试图基于多个不同标准(例如给定电池使用模式、软件或硬件实施、环境参数等)来作出尽力服务解码决定。还可存在对于这些解码器的优先级的成本/定价模型。对于这些解码器中的每一者,基于其尽力服务解码决定进行失真和复杂性测量,并且在还给定成本模型的情况下,对于编码器的每个编码决定(例如MB、CU或CTU编码模式、运动矢量、帧内模式预测等),将这些与标准解码器的失真和成本适当地聚集。这些标准以及用于编码决定的所得比特率然后被编码器考虑以作出会使得能够在所有解码器上实现最佳性能的“最佳”编码决定。在编码器中可通过使用联合的率-失真-复杂性模式决定模型来考虑复杂性。例如,可使用拉格朗日优化,其中现在使用类型公式化来利用模式决定:
J=D+λ0*R+λ1*C,
其中D对应于失真测量,可能在多个尽力服务解码器以及标准解码器上联合,如本文所述,R是对该模式进行编码的速率,C是所有解码器上的平均复杂性成本,并且lambda0和lambda1代表分别对应于速率和复杂性的拉格朗日乘子。这可更好地帮助减小和控制由于尽力服务解码导致的偏离。利用这个模型,编码器确保编码性能和所有解码器上的比特流质量在所有可能的解码路径上平均而言是最好的,而不是的对于标准的无损解码过程是最佳的,同时还试图使尽力服务解码的潜在复杂性降低优点最大化。
在一个实施方案中,假设有N个候选解码器,可应用根据下式计算优化因子J的选择标准:
其中dist[]和comp[]分别代表与候选解码器相关联的失真估计和复杂性估计,wd[]和wc[]分别代表分配给与候选解码器相关联的失真估计和复杂性估计的权重,并且λ0、λ1和λ2是拉格朗日乘子。
在操作期间,编码器可循环通过系统支持的所有适当的编码模式,并且可选择使优化因子J最小化的那一个编码模式。在模式决定情况下,模式例如可以是跳过模式、16×16帧间预测的编码单元、8×8帧间预测的编码单元、16×8帧间预测的编码单元、8×16帧间预测的编码单元、帧内预测的编码单元等。在运动估计情况下,编码器可测试不同运动矢量。
在一个示例中,编码终端210(图2)和解码终端250可交换关于候选解块操作的信息。元数据“提示”可被提供给解码器以对与经编码的视频数据所预期的相比何时禁用或改变解块过程作出更可靠的决定。假定原始内容可用,编码终端210可在视频编码器222内或在后编码器过程(未示出)中生成元数据。元数据可基于关于过程改变可实现的质量以及复杂性/功率降低影响的测量。编码器例如可测量在具有和没有用于画面的解块的情况下的质量,测量并分析任何时间劣化及复杂性,然后基于组合的失真-复杂性成本,将信号或者甚至成本度量提供给解码器以帮助进行决定。
元数据提示可以多种格式提供给解码终端250。在一个实施方案中,元数据提示可提供在补充增强信息(SEI)消息中、系统的层内、或者一些其它侧信道中,作为指示禁用解块过程是否“安全”的与每个画面相关联的二元标记。在另一个实施方案中,提示可基于分等级度量(例如“推荐”跳过、“可接受”跳过但会有一定质量劣化、如果进行跳过则可能发生可能在一定程度上有害的“中等劣化”、“不推荐”跳过)。在另外一个实施方案中,元数据提示可提供关于质量影响的显式信息,例如根据均方差和/或峰值信噪比之间的差值(MSE/PSNR)的劣化或者利用某种其他度量诸如结构相似性指标(“SSIM”)、NTIA视频质量模型(“VQM”)、数字视频质量(“DVQ”)度量等等测量的劣化。
在另一个实施方案中,元数据提示可标识所预期的复杂性影响(例如大约20%复杂性降低)。复杂性降低对于不同设备在不同实施和架构(诸如是否使用简单指令多种数据(“SIMD”)操作、并行块的可用性等等)的情况下差别相当大。因此,元数据提示可基于单个参考平台,或者另选低,可包含多个此类条目,其中每个条目绑定到不同架构(例如第一复杂性指示符用于单个解码器,并且第二复杂性指示符用于并行解码器)。如果元数据提示涉及单个参考平台,则解码终端250(图2)可基于解码终端250与参考平台之间的操作差异推导资源节约估计。如果提供多个复杂性提示,则解码终端250可在进行其尽力服务解码决定时选择适当的复杂性条目。决定还可涉及组合此类数字,例如如果解码终端250使用“混合”架构(例如不同部件相比于参考解码器中的那些是并行化的,或者对与参考相比相对于整体解码过程已经被估计为通常提供不同复杂性比率的其他部件存在不同类型的优化)。
失真和复杂性的标识可通过使用各种优化方法(诸如使用拉格朗日优化、增强拉格朗日优化、启发法、演化算法、随机优化等等)来进行组合。
在其它实施方案中,功率节约可通过修改解块过程而不是跳过解块过程来实现。例如,HEVC中的解块过程被认为比AVC的解块过程简单,因为其使用更短更简单的滤波器(尤其是对于色度),并且更适合于并行化。AVC解码器例如可在编码终端210(图2)所信令通知适当的元数据的情况下相反而是选择使用HEVC解块方法。可在元数据中提供关于使用哪些其他解块器(如果有的化)的提示,其可包括其所得劣化及复杂性影响的估计。解码器于是可选择与元数据中所述的那些最接近地匹配的可用的最佳解块方案。对是否解块和如何解块的选择可独立地在不同颜色分量中执行。例如,可对亮度信息执行协议驱动的解块过程,但可对色度(Cb或Cr)分量执行简化的解块过程(或不执行解块)。
在另一个实施方案中,解码器可为经编码的图像的不同区域(一个或多个)使用不同的选择。这些区域可由元数据提示来指定,并且要么可在视频序列的整个预定部分上保持固定,要么可对于不同图像在数量或位置方面发生变化。在此类情况下,数量和位置信息也可在元数据中提供,或者元数据可指定如何推导那些区域的附加条件。作为一个示例,元数据可指出对于所有帧内块以及对于量值比特定值大或具有特定取向的运动矢量应当保留解块操作。残差信号中的能量数量也可用于这个确定。作为另一示例,不同区域可基于图像内容来标识,例如具有运动图像内容的区域和具有非运动图像内容的其他区域,或者被标识为在其内具有预定对象(例如面部)的区域和不具有这些对象的其他区域。在另一个示例中,可将不同区域分配给图像的预定区域(例如图像的中央部分)。此外,可将区域与支配性编码协议所标识的其他构造(诸如片断或分片)对准。在所有这些示例中,可为这些不同区域提供不同元数据提示。
解码器还可利用其自己的资源来决定是否改变解码操作。特别地,解码器可执行图像的局部解码,例如AVC和HEVC上下文中的几行宏块(MB)或编码树单元(CTU),可为这些行执行标准解码并估计相比于执行另选解码操作由该过程对信号引入的变化量。如果这些是显著的,则解码器可决定是继续对所有其他MB或CTU进行解块,还是完全跳过解块。需注意,由于原始数据在这个阶段并不是已知的,所以解码终端的估计可能没有提供精确的劣化影响。然而,预期此类改变会是加性本质的。如果这些是显著的,则可能预期劣化也会是显著本质的。如果较小,则劣化可能也会较小。即使该过程可能在解码过程开始时引入略微更高的复杂性,但平均节约可以更高,同时对于是否使用尽力服务解码机制进行更可靠的决定。
在一特定实施方案中,编码器也可采用相同策略,即在编码某个数量N个MB或CTU行时,检查在有解块和没有解块的情况下对于这些行会有什么失真影响。同时,编码器可只对于这些行在没有解块的情况下针对复杂性降低利用“参考”解码器进行估计。最后,编码器也可对于整个画面利用这个参考解码器计算失真影响和复杂性优点。通过传输这两种类型的信息(N行水平和全画面水平),解码器诸如上述的一个解码器可以能够在具有和没有解块的情况下只解码N行之后获得关于其自己复杂性节约的更准确估计。这可例如通过适当地调整在当前解码器(CN)中计算的N行复杂性数字、在编码器级中使用为参考解码器计算的N行和总复杂性数字(分别为CN_r和Co_r)来实现。例如,对于整体复杂性Co的计算可如下地计算:
Co=CN*Co_r/CN_r
考虑解码过程的不同子组分,诸如在运动补偿、帧内预测、解块、反变换、和反量化等上花费的循环也可在编码器和解码器二者处被提取并以元数据形式提供给解码器以用于实现更准确的复杂性估计。
尽力服务解码不必只限于非参考画面。尽力服务解码、以及在这个示例中通过跳过或改变实现的解块过程复杂性降低也可用于参考画面。在这种场景中,所提供的元数据可向解码器不仅通知对当前画面的质量影响,而且还通知对依赖于这个画面的后续画面的质量影响以及该影响何时结束。特别地,编码器可以已经知道下一随机访问点(例如开放或封闭的画面组(GOP))何时会开始,并且该信息可被提供给解码器。按解码次序非常接近GOP末端的参考画面可能会远小于GOP开端处画面地传播由于尽力服务解码所导致的其质量的任何劣化。由于场景中某些类型的运动或其他改变,还可能的是,劣化从一个画面向下一画面的传播可以很少(如果有的话)。同样,在非常高的比特率,解块可能对整体图像质量具有非常小的影响,并且即使在解码期间被信令通知和使用,甚至对于参考画面也可安全地跳过解块。对于一些画面,使用更简单的解块器还可以比完全跳过其在质量和复杂性方面更有效。在解码器处有此类信息可用就可提供甚至更多的复杂性节约,同时抑制质量劣化和偏离。元数据同样可涉及整体质量成本(在受影响的所有画面上平均)和复杂性影响,或者也可涉及关于孤立的每个画面的信息以及关于在对于任何后续依赖性画面改变或没有解块的情况下的质量劣化的信息。更确切地,如果画面k依赖于画面m,则禁用或改变画面k上的解块所导致的质量劣化在对画面m进行了类似决定的情况下相比于对该画面保持原始决定和过程会是不同的。也可对参考画面进行区域和/或按颜色分量解块考量。
本公开的原理不限于向解码器提供提示来标识进行另选解块过程的机会。本公开的原理可延展到其他解码过程,诸如:
帧丢弃。虽然其他编码协议允许帧丢弃,但如果不是巧妙地进行,其可能导致抖动/闪烁伪影。元数据可提供关于丢弃整个帧或者可能片断或分片的解码何时是“安全的”的提示。
转换块减少/简化。可通过考虑块有多稀疏来大幅加速稀疏变换预测块的反变换/量化。虽然其它编码协议允许解码器丢弃一些非零高频系数,但根据所得块如何(以及是否)用于预测,这可能导致空间和时间伪影。元数据可提供关于丢弃经编码视频的变换系数合适是“安全的”的提示。在某些实施方案中,解码器关于实施该技术的决定可偏向色度数据,色度数据对于稀疏性具有较高可能性。也可在元数据内指示哪些变换系数在哪些条件下可被丢弃。
插值简化。AVC标准使用后面接有双线性滤波器(四分采样位置)的6个抽头(二分采样位置),用于亮度子像素位置的插值。HEVC使用8抽头滤波器。元数据可提供关于何时使用更简单的滤波器(例如仅双线性)代替编码协议所要求的滤波器是“安全的”的提示。可对色度分量进行类似考量。
子采样位置截断。不是以全精度(例如四分采样)对预测样点进行插值,而是将子采样矢量的截断执行到二分之一或甚至整数精度。元数据可基于视频解码器224准备的估计来提供关于使用这个技术何时是“安全的”的提示。
分区分组。不是以其精确运动矢量来运动补偿较小块(例如8x8或更小),而是将相邻块分组在一起并为其分配单个运动矢量。然后从连续区域为所有块取数据。元数据可基于视频解码器224准备的估计来提供关于使用这个技术何时是“安全的”的提示。
帧内预测限制。不推荐,但解码器可限制一些帧内预测模式并将其重新分配给其它更简单的模式。虽然这个技术可能引入伪影,但编码终端210可估计会由该技术引入的伪影并提供标识在解码器执行此类技术的情况下会导致的失真程度的元数据提示。
比特深度限制。在被呈递以N比特的比特流(N>8)时,解码器可将帧或更大单位的解码限制到仅8比特解码。元数据可基于视频解码器224准备的估计来提供关于使用这个技术何时是“安全的”的提示。
样点自适应偏移(SAO)技术。SAO作为解块之后的环路滤波过程被包括在HEVC(及其各种扩展)中。
自适应环路滤波(ALF)技术。虽然当前未包括在任何版本的HEVC中,但ALF是用于包括在未来编解码器或标准中的候选者。ALF方案可包括用于减少画面中的伪影以用于参考和/或显示并且不限于仅负责块伪影的多个滤波器。
经解码参考画面的压缩。解码器可根据有损压缩技术压缩经解码的参考画面,然后在被后来接收的经编码的视频数据调用的情况下对经压缩的参考画面进行解压缩。这个实施方案在第[83]段中更详细地讨论。
图5示出了根据本公开的实施方案的方法500。所述方法可由编码终端在视频编码会话过程中执行。
方法500可根据可标识解码终端操作所必须遵循的资源限制和/或必须实现的反向平衡解码质量性能的资源节约策略(由框510代表)操作。在操作期间,方法500可从其经由信道所接收的经编码的视频数据读取元数据提示(框520)。方法500可由元数据提示及其自己的本地工作参数确定给定的解码时刻是否代表执行另选解码操作的适当时机(框530)。如果方法500确定不是调用另选解码技术的适当时机,则解码终端可根据编码协议解码所接收的视频(框540)。如果方法500确定是调用另选解码技术的适当时机,则解码终端可根据那些技术解码所接收的视频(框550)。
如所讨论的,解码器可将编码器呈递的元数据提示结合其本地地进行的确定来考虑,以估计资源节约和/或失真。例如,解码器可根据两个技术-协议要求的技术和候选的另选技术-解码图像的一部分,以估计如果使用另选解码技术可能会出现什么程度的资源节约和/或失真。解码器还可考虑其操作历史,以评估先前接收的资源节约和/或失真的估计在解码器试图调用另选解码技术时是否准确。
在一个实施方案中,当解码终端调用另选解码技术时,所述方法可使解码终端向编码器传输回消息,报告对所述另选编码技术的使用(框560)。
图6示出了根据本公开的一个实施方案的一种尽力服务解码器600。解码器600可包括熵解码器612、反量化器614、反变换单元616、加法器620、解块滤波器622、样点自适应偏移滤波器624、经解码画面缓冲器(DPB)626、帧间预测器628、帧内预测器630、尽力服务元数据分析器632、和尽力服务解码器修改器634。
熵解码器612、反量化器614、反变换单元616和加法器620可逆转编码器为了由视频序列生成经编码的视频数据而应用的编码操作。特别地,熵解码器612可执行可在输入比特流中存在的经编码的残差数据的熵解码。反量化器614可如输入比特流中存在的量化参数所指示的那样逆转编码器量化器执行的量化操作。反变换单元616可逆转编码器的变换单元执行的变换操作。反变换单元616可由系数数据生成复原的像素残差。加法器620可将帧间预测器628或帧内预测器630供应的预测参考数据加到反变换单元616获得的预测残差。
解块滤波器622可对从加法器620输出的图像数据执行解块操作。解块滤波器622生成的经解码的视频数据可从解码器600输出给显示器或将消费所述视频数据的其他设备。
样点自适应偏移滤波器624对从解块滤波器输出的数据执行滤波。从SAO滤波器624输出的经解码的画面可被存储在经解码画面缓冲器626中。经解码画面缓冲器626可以只存储可用于后续预测操作的参考画面,并且可作为参考画面高速缓存265(图2)操作。预测单元可为正被解码的经编码视频数据预测视频数据。帧间预测器628可根据包含在输入比特流中的预测参考从经解码画面缓冲器626执行帧间预测。帧内预测器630可利用被编码的相同图像的先前编码内容执行帧内预测。输入比特流中的元数据可标识为了生成经编码的视频数据而使用的编码模式,其可确定对于解码是要使用帧间预测还是帧内预测。
尽力服务元数据分析器632可解释包含在输入比特流中的元数据提示,其可指示解码器600可使用的候选的另选解码技术。尽力服务解码器修改器634可基于解码器600的资源节约策略和尽力服务元数据分析器632报告的对元数据提示的解释来为帧内预测器630、帧间预测器628、解块滤波器622和/或SAO滤波器624调用另选编码技术。
在其它实施方案中,尽力服务解码也可由转码器执行,转码器解码经编码的视频数据、然后根据另一组编码参数(例如不同的编码比特率或不同的分辨率)或利用另一编码协议记录经解码的视频。
图6示出了一种视频解码器600的功能框图。实践中,此类视频解码器通常由包含所示功能单元的基于硬件或软件的编码系统来提供。例如,经解码画面缓冲器626可由视频解码器的存储器系统提供,其可涉及协同工作的多个存储器单元。在一种具体实施中,经解码画面缓冲器626的一部分可驻留在处理设备的本地高速缓存中,但经解码画面缓冲器626的另一部分可驻留在处理设备访问的主存储器或长期存储设备中。因此,与从远端存储器设备626b读取数据相比,处理设备可能花费不同的成本来从近端存储器设备626a读取数据。此外,存储在这些存储器设备626a,626b中一者或多者中的经解码参考画面可在存储之前被压缩。压缩可减少在解码器操作期间访问参考画面时发生的存储要求和带宽消耗。压缩只在经解码画面缓冲器626内执行,并且经压缩的画面可在被用于解码其他经编码画面之前被解压缩。如果采用的话,压缩应当是无损的,即不对参考画面引入任何附加失真,以便避免编码器和解码器之间任何可能的失配。
在本公开的一个实施方案中,提出了经解码画面缓冲器采用有损压缩方案来存储经解码的参考画面。当经压缩的参考画面被解压缩时,与参考画面在第一次被解码时相比,参考画面可能有一定的失真。可能发生的是,经解码画面缓冲器的一部分(例如远端存储器626b)的参考画面可以经压缩的形式被存储,而存储在经解码画面缓冲器626的另一部分(例如近端存储器626a)中的参考画面可以不以经压缩的形式被存储。编码器可能不知道哪些经解码的参考画面可能有失真以及哪些其他经解码的参考画面没有失真,因此可基于假设在没有传输错误的情况下解码器存储没有任何附加失真的经解码参考画面来选择用于在对新帧进行编码中使用的参考画面。
在一个实施方案中,解码器关于在存储之前是否或何时压缩经解码的参考画面的决定可通过编码器提供的提示来增强。例如,编码器可在信道数据中提供指示给定参考画面是可能、不太可能、还是不可能用作用于其他帧的预测源的提示。在一个实施方案中,提示可由代表要分配给画面的优先等级(例如高优先级或低优先级)的标记或信号以及优先等级被分配给的画面的标识符来表示。响应于所述提示,解码器可选择在存储之前压缩(或者不压缩)经解码的参考画面。
经解码画面缓冲器626要执行的示例性有损压缩操作可包括JPEG/JPEG-2K压缩、比特深度降低、色度降采样、分形编码和/或小波。此外,可对解码器确定不应执行有损压缩的其他参考画面执行无损压缩操作。示例性的无损压缩操作可包括JPEG-LS、PIZ、RLE和ZIP压缩。
编码器可采用检验预定数量的输入帧(例如50帧)并在它们中搜索相似性的预分析。可指定要被编码为参考帧的预定帧,并基于参考帧与所检验序列中的其他帧之间的相似性,可进一步确定哪些参考帧可能充当用于所述其他帧的预测源。通常,给定参考帧将充当预测参考的可能性以及频繁程度随着参考帧与被编码帧之间时间距离的增大而减小。如果编码器确定给定参考帧与一个或多个输入帧尽管彼此间的时间距离相对较大但仍然具有强相关性,则编码器可在信道中提供提示,从而将所述参考帧指定为高优先级帧。也可相反地执行;如果编码器确定给定参考帧与其他输入帧尽管彼此间的时间距离相对较小但仍然具有低相关性(这可能是由于场景改变或高活动性而发生),则编码器可在信道中提供提示,从而将所述参考帧指定为低优先级帧。可允许有其他排列。
图7示出了展示帧中不同尽力服务解码决定对后续帧的影响的状态图700。特别地,解码器可决定在画面中执行或不执行尽力服务解码修改。该决定会影响
在预测方面参考该画面的所有其他画面。在该图中,状态由命名Sn_m来标识,其中n指示画面索引(按解码次序),并且m指示画面所处于的当前状态。状态指示复杂性特征和画面质量,在假定解码决定过程的情况下,其可能包括偏离。对于m等于0,所有画面已经使用标准解码过程,并且没有执行任何尽力服务解码。在这种情况下,不存在由于错误传播导致的任何质量劣化。然而,如果对于画面决定了执行尽力服务解码过程,则该画面的状态、以及能用于任何后续画面的可能状态被改变。例如,如果对于画面0,解码器决定使用尽力服务解码,则其自己的状态改变成S0_1,而对于所有其他画面,只允许直接或间接连接到S0_1的状态。例如,对于画面1,只有状态S1_2和S1_3是可能的,对于画面2,只有状态S2_4及以上被允许,以此类推。可提供关于这些状态的完全信息的元数据可被提供在比特流中,以辅助解码决定。对于能够规划未来的编码器,则元数据可存在于GOP的开端处,或者(如果规划未来比GOP短)可每K个画面就存在元数据,从而向解码器描述所有可能状态和路径。否则,可逐个画面地信令通知元数据。解码器在这种情况下可逐个画面地作出决定,或者如果允许小的延迟的话,则可首先从所有可用画面提取元数据然后作出适当的尽力服务解码决定。
例如,解块滤波器426(图4)的滤波操作可按照编码器400遵循的编码协议(例如AVC)所支配的那样操作,而尽力服务解码器440中一者的解块操作可采用不遵循该标准的解块滤波器。例如,解块滤波器(未示出)可根据另一编码协议(例如HEVC)操作。另一尽力服务解码器450的解块滤波器(未示出)可被禁用,并且根本不执行任何解块。
在一另选实施方案中并且在实时通信的情况下,解码器可以能够向编码器提供关于在尽力服务解码的上下文中其何时以及如何改变解码过程的反馈。在此类场景中,编码器可以能够更好地利用和信令通知偏离补偿机制,例如信令通知更多帧内宏块/CU,因此改善整体质量。编码器可以知道也可以不知道解码器进行的准确尽力服务解码决定,但可以粗略知道做了什么。在知道准确步骤的情况下,编码器可回逆解码过程,在给定实际解码器的操作模式的情况下以比特准确的方式重新生成其参考解码器缓冲器中的所有参考画面。这允许编码器准确地复制解码器的当前状态。利用这个方法,于是能够准确地停止由于编码器与解码器之间的失配导致的任何进一步劣化。另一方面,如果只存在解码器行为的粗略估计,则其可能仍然足够在一定程度上减小偏离。
在一独立实施方案中,尽力服务编码的概念也可与比特流切换组合,即在自适应流式传输的上下文中。特别地,不同比特流可与不同复杂性估计以及质量和/或比特率相关联。解码器可在复杂性/失真折衷表明决定正当的情况下决定执行尽力服务解码,或者相反可选择可提供比尽力服务解码能实现的更好的复杂性/失真折衷的另一比特流。
图8是示出根据本公开的另一实施方案的一种编码器800的功能框图。编码器800可包括减法器812、变换单元814、量化器816和熵编码器818。减法器812可通过将输入视频数据与预测单元838所生成的视频数据进行比较来生成像素残差。变换单元814可执行像素残差的变换(诸如离散余弦变换或小波变换)。量化器816可按量化器参数(未示出)缩减变换系数。熵编码器818可对经量化的变换系数执行熵编码。经熵编码的系数可作为经编码的视频数据的一部分与其相应的量化器参数的指示符一起从编码器800输出。
编码器800还可包括反量化器820、反变换单元822和加法器824,作为其解码电路的一部分。反量化器820可逆转量化器816所执行的量化操作。反变换单元822可逆转变换单元814所执行的变换操作。因此,变换系数可被转换回像素残差。加法器824可将预测视频数据加到反变换单元822所获得的预测残差。
量化器816和反量化器820的操作通常是有损耗的过程。因此,从反量化器820输出的变换系数相对于变换系数在被输入到量化器816时可能将有损耗。这些损耗可能传导遍及编码器800的其他部件。
编码器800还可以包括解块滤波器826、样点自适应偏移滤波器828、经解码画面缓冲器830、运动估计器832、帧内预测器834、模式决定单元836和预测单元838。解块滤波器826可对从加法器824输出的图像数据执行解块操作。样点自适应偏移滤波器828可对从解块滤波器826输出的数据执行滤波。经解码画面缓冲器830可存储从SAO滤波器828输出的经解码画面。经解码画面缓冲器830可根据需要存储所有经解码画面例如以估计编码质量,或者另选地,可只存储可用于后续预测操作的参考画面。在后一种情况下,经解码画面缓冲器830可作为参考画面高速缓存226(图2)工作。运动估计器832可在输入图像与所存储的参考画面之间执行运动估计搜索,以用于帧间预测编码的目的。帧内预测器834可在输入图像与相同图像的先前编码的内容之间执行帧内预测搜索,用于帧内预测编码。模式决定单元836可为输入视频的新元素选择编码模式(例如帧间预测、帧内预测、无编码(跳过))。预测单元838可供应预测数据以供在根据所选模式对输入视频的所述新元素进行编码中使用。
在操作期间,经编码的视频数据可包括标识用于解块滤波器826和SAO滤波器828、和/或可存在于编解码器内的其他环路滤波机构的所选参数、以及为编码所选的预测模式和用于所选预测模式的参数(例如运动矢量)的指示符。
上述论述说明了对于很多编码协议常见的编码元件。不同编码协议可以用与本文所列出的术语不同的术语来表示这些元件。一些编码协议可省略这些元件中的一个或多个。然而,以上描述仅仅是说明性的,为下文描述的尽力服务解码器的论述提供上下文语境。
如图8所示,编码器800可包括可执行与支配性协议所要求的那些解码过程不同的解码过程的一个或多个“尽力服务”解码器840,850。在例示的实施方案中,尽力服务解码器840可包括尽力服务(“BE”)解块滤波器842、BE SAO滤波器844和经解码画面缓冲器846。BE解块滤波器842可根据与在编码器800的编码协议中工作的技术不同的技术来执行解块。BESAO滤波器844可根据与在编码器800的编码协议中工作的技术不同的技术来执行SAO滤波。经解码画面缓冲器846可存储由尽力服务解码器生成的经解码画面。编码器800可具有对于给定应用可能期望的那么多的尽力服务解码器840,850,其中每一者具有其自己的BE解块滤波器852、BE SAO滤波器854和经解码画面缓冲器856。
前述讨论已在包含编码器和/或解码器的终端的上下文中描述了本公开的实施方案的操作。这些部件常常作为电子器件来提供。它们可嵌入到集成电路,诸如专用集成电路、现场可编程门阵列和/或数字信号处理器中。另选地,它们可嵌入到在个人计算机、笔记本或平板电脑、智能电话或计算机服务器上执行的计算机程序中。此类计算机程序典型地存储在物理存储介质诸如电子、磁性和/或基于光学的存储设备中,在那里它们在操作系统控制下被读取到处理器并且被执行。类似地,解码器可实施在集成电路诸如专用集成电路、现场可编程门阵列和/或数字信号处理器中,或者它们可实施在个人计算机、笔记本电脑、平板计算机、智能电话或计算机服务器存储并执行的计算机程序中。解码器常常封装在消费电子设备诸如游戏系统、DVD播放器、便携式媒体播放器等中,并且它们还可封装在消费软件应用诸如视频游戏、基于浏览器的媒体播放器等中。并且,当然,这些部件可提供作为混合系统,根据需要混合系统在专用硬件部件和编程通用处理器上分发功能性。
本文具体示出和/或描述了本公开的若干实施方案。然而,应当理解的是,在不脱离本公开的实质和预期范围的情况下,本公开的修改和变型由上述教导内容涵盖并且在所附权利要求的范围内。

Claims (25)

1.一种方法,包括:
根据第一编码协议编码视频序列,由此生成经编码的视频序列,
根据所述第一编码协议解码所述视频序列,
根据另选编码协议解码所述视频序列,
将所述第一编码协议的解码性能与所述另选编码协议的解码性能进行比较,
在信道中传输代表根据第一协议编码的所述视频序列的经编码的视频数据、以及所述另选编码协议的相对性能的指示符。
2.根据权利要求1所述的方法,其中解码性能的所述比较包括估计通过根据所述另选编码协议解码所述经编码的视频数据实现的资源节约。
3.根据权利要求1所述的方法,其中解码性能的所述比较包括估计根据所述另选编码协议解码所述经编码的视频数据与根据所述第一编码协议解码所述经编码的视频数据之间的相对失真。
4.根据权利要求1所述的方法,还包括:
基于根据所述第一编码协议解码所述视频序列来估计解码器的状态,
确定解码器是否根据所述另选编码协议解码所述视频序列,
当确定所述解码器根据所述另选编码协议解码所述视频序列时,基于根据所述另选编码协议解码所述视频序列来修改所述解码器的所估计状态,以及
然后利用经修改的估计状态,根据所述第一编码协议编码所述视频序列的新部分。
5.根据权利要求1所述的方法,还包括:
根据第二另选编码协议解码所述视频序列,
将所述第一编码协议的解码性能与所述第二另选编码协议的解码性能进行比较,
在信道中传输代表根据所述第一协议编码的所述视频序列的经编码的视频数据、以及所述第二另选编码协议的相对性能的指示符。
6.一种在其上存储有程序指令的计算机可读存储设备,所述程序指令在被处理设备执行时使所述处理设备:
根据第一编码协议编码视频序列,由此生成经编码的视频序列,
根据所述第一编码协议解码所述视频序列,
根据另选编码协议解码所述视频序列,
将所述第一编码协议的解码性能与所述另选编码协议的解码性能进行比较,
在信道中传输代表根据第一协议编码的所述视频序列的经编码的视频数据、以及所述另选编码协议的相对性能的指示符。
7.一种编码系统,包括:
用于根据第一编码协议来编码输入视频数据的视频编码器,
用于根据多个编码协议中的每个编码协议解码经编码的视频数据的多个视频解码器,所述多个编码协议中的一个编码协议是所述第一编码协议,每个视频解码器具有耦接到所述视频编码器的输出的输入,
控制器,所述控制器用于比较视频解码器的性能并生成用于所述第一编码协议的解码器相对于用于另一编码协议的另一解码器的相对性能的指示符,和
用于在信道中传输来自所述视频编码器的经编码的视频数据和所述相对性能的指示符的发射器。
8.根据权利要求7所述的系统,其中解码器性能的所述比较包括估计通过根据所述另一编码协议解码所述经编码的视频数据实现的资源节约。
9.根据权利要求7所述的系统,其中解码器性能的所述比较包括估计根据所述另一编码协议解码所述经编码的视频数据与根据所述第一编码协议解码所述经编码的视频数据之间的相对失真。
10.根据权利要求7所述的系统,其中:
所述视频编码器基于根据所述第一编码协议解码视频序列来估计解码器的状态,
所述控制器确定解码器是否根据另选编码协议解码所述视频序列,
当确定所述解码器根据所述另选编码协议解码所述视频序列时,所述控制器基于根据所述另选编码协议解码所述视频序列来修改所述视频编码器的估计的所述解码器的状态,并且
然后,所述视频编码器利用经修改的估计的状态,根据所述第一编码协议编码所述视频序列的新部分。
11.根据权利要求7所述的系统,其中所述控制器估计每个视频解码器引起的失真,并响应于所估计的失真来改变所述视频编码器的编码决定。
12.一种解码方法,包括:
响应于包含根据第一协议编码的视频数据和元数据提示的信道数据,从所述元数据提示来确定是根据所述第一协议还是根据另选协议解码经编码的视频数据,
基于所述确定,根据第一编码协议和另选编码协议中的一个编码协议解码所述经编码的视频数据。
13.根据权利要求12所述的方法,其中所述元数据提示包括对通过根据所述另选编码协议解码所述经编码的视频数据实现的资源节约的指示。
14.根据权利要求12所述的方法,其中所述元数据提示包括对根据所述另选编码协议解码所述经编码的视频数据与根据所述第一编码协议解码所述经编码的视频数据之间的相对失真的指示。
15.根据权利要求12所述的方法,还包括向编码器传输指示何时根据所述另选编码协议执行解码的消息。
16.根据权利要求12所述的方法,还包括存储代表资源节约策略的数据,其中所述确定是参考所述资源节约策略而作出的。
17.根据权利要求12所述的方法,其中根据所述另选编码协议获得的经解码的视频数据被存储在画面缓冲器中,用于随后根据所述第一编码协议解码经编码的视频数据。
18.一种在其上存储有程序指令的计算机可读存储设备,所述程序指令在被处理设备执行时使所述处理设备:
从在信道中与已根据第一编码协议编码的视频数据一起提供的元数据提示来确定是根据第一协议还是根据另选编码协议解码经编码的视频数据,
基于所述确定,根据所述第一编码协议和所述另选编码协议中的一个编码协议解码所述经编码的视频数据。
19.一种系统,包括:
用于根据第一编码协议解码视频的视频解码器,
用于根据另选编码协议解码视频的视频解码器,
选择器,所述选择器用于接收根据所述第一编码协议编码的经编码的视频数据并响应于与所述经编码的视频数据相关联地接收的元数据提示而将所述经编码的视频数据路由到视频解码器中选择的一个视频解码器。
20.根据权利要求19所述的系统,其中所述元数据提示包括对通过根据所述另选编码协议解码所述经编码的视频数据实现的资源节约的指示。
21.根据权利要求19所述的系统,其中所述元数据提示包括对根据所述另选编码协议解码所述经编码的视频数据与根据所述第一编码协议解码所述经编码的视频数据之间的相对失真的指示。
22.根据权利要求19所述的系统,还包括用于向编码器传输指示何时根据所述另选编码协议执行解码的消息的发射器。
23.根据权利要求19所述的系统,还包括用于代表资源节约策略的数据的存储设备,其中确定是参考所述资源节约策略而作出的。
24.一种解码方法,包括:
解码在信道中接收的参考画面的经编码的视频数据,
基于在所述信道中提供的元数据提示来确定分配给经解码的参考画面的优先等级,
当所述优先等级处于第一状态时:
根据有损压缩技术压缩经解码的参考画面,以及
将经压缩的经解码的参考画面存储在存储器中,以及
当所述参考画面是用于其它经编码的视频数据的参考时,
检索并解压缩经压缩的经解码的参考画面。
25.根据权利要求24所述的方法,还包括当所述优先等级处于第二状态时,在不压缩的情况下将经解码的参考画面存储在存储器中。
CN201580055485.7A 2014-10-13 2015-09-25 支持尽力服务解码的元数据提示 Active CN107005698B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462063003P 2014-10-13 2014-10-13
US62/063,003 2014-10-13
US14/687,316 US10264269B2 (en) 2014-10-13 2015-04-15 Metadata hints to support best effort decoding for green MPEG applications
US14/687,316 2015-04-15
PCT/US2015/052315 WO2016060826A1 (en) 2014-10-13 2015-09-25 Metadata hints to support best effort decoding

Publications (2)

Publication Number Publication Date
CN107005698A true CN107005698A (zh) 2017-08-01
CN107005698B CN107005698B (zh) 2020-10-30

Family

ID=55656358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580055485.7A Active CN107005698B (zh) 2014-10-13 2015-09-25 支持尽力服务解码的元数据提示

Country Status (4)

Country Link
US (1) US10264269B2 (zh)
EP (1) EP3207701B1 (zh)
CN (1) CN107005698B (zh)
WO (1) WO2016060826A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111194552A (zh) * 2017-08-04 2020-05-22 英托皮克斯公司 运动补偿参考帧压缩
CN112335244A (zh) * 2018-06-28 2021-02-05 苹果公司 基于优先级的视频编码和传输
US11451788B2 (en) 2018-06-28 2022-09-20 Apple Inc. Rate control for low latency video encoding and transmission
US11653026B2 (en) 2018-06-28 2023-05-16 Apple Inc. Video encoding system

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102298599B1 (ko) 2014-04-29 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 샘플 적응 오프셋 필터링에 대한 인코더측 결정
US20170006283A1 (en) * 2015-06-30 2017-01-05 Microsoft Technology Licensing, Llc Computationally efficient sample adaptive offset filtering during video encoding
US10257528B2 (en) * 2015-10-08 2019-04-09 Electronics And Telecommunications Research Institute Method and apparatus for adaptive encoding and decoding based on image quality
US10819997B2 (en) * 2016-01-20 2020-10-27 Arris Enterprises Llc Encoding video data according to target decoding device decoding complexity
US10231001B2 (en) * 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
EP3322189B1 (en) * 2016-11-10 2019-12-25 Alcatel Lucent Method and system for controlling video transcoding
EP3322187B1 (en) * 2016-11-10 2020-01-29 Alcatel Lucent Method and transcoder for video transcoding
TWI681666B (zh) * 2017-04-21 2020-01-01 美商時美媒體公司 用於基於編碼器提示以演現及預編碼負載估計的系統及方法
US10630990B1 (en) * 2018-05-01 2020-04-21 Amazon Technologies, Inc. Encoder output responsive to quality metric information
CN114342382B (zh) * 2019-09-06 2024-09-20 索尼集团公司 图像处理装置和图像处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188025A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Error concealment
US20080063085A1 (en) * 2006-09-11 2008-03-13 Apple Computer, Inc. Post-processing for decoder complexity scalability
CN102857751A (zh) * 2011-07-01 2013-01-02 华为技术有限公司 一种视频编解码方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG116400A1 (en) 1997-10-24 2005-11-28 Matsushita Electric Ind Co Ltd A method for computational graceful degradation inan audiovisual compression system.
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US7456760B2 (en) 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
EP2297963B1 (en) 2008-06-20 2011-11-30 Dolby Laboratories Licensing Corporation Video compression under multiple distortion constraints
US20110299604A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Method and apparatus for adaptive video sharpening
EP2870770A2 (en) 2012-07-09 2015-05-13 VID SCALE, Inc. Power aware video decoding and streaming
FR2999373B1 (fr) 2012-12-12 2018-04-06 Harmonic Inc. Procede d'adaptation dynamique du codage d'un flux audio et/ou video transmis a un dispositif
KR101879318B1 (ko) 2013-03-06 2018-07-18 인터디지탈 패튼 홀딩스, 인크 비디오 스트리밍을 위한 전력 인식 적응
US9774869B2 (en) * 2013-03-25 2017-09-26 Blackberry Limited Resilient signal encoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060188025A1 (en) * 2005-02-18 2006-08-24 Nokia Corporation Error concealment
US20080063085A1 (en) * 2006-09-11 2008-03-13 Apple Computer, Inc. Post-processing for decoder complexity scalability
CN102857751A (zh) * 2011-07-01 2013-01-02 华为技术有限公司 一种视频编解码方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111194552A (zh) * 2017-08-04 2020-05-22 英托皮克斯公司 运动补偿参考帧压缩
CN112335244A (zh) * 2018-06-28 2021-02-05 苹果公司 基于优先级的视频编码和传输
US11451788B2 (en) 2018-06-28 2022-09-20 Apple Inc. Rate control for low latency video encoding and transmission
US11496758B2 (en) 2018-06-28 2022-11-08 Apple Inc. Priority-based video encoding and transmission
CN112335244B (zh) * 2018-06-28 2022-12-23 苹果公司 基于优先级的视频编码和传输
US11653026B2 (en) 2018-06-28 2023-05-16 Apple Inc. Video encoding system
US12052440B2 (en) 2018-06-28 2024-07-30 Apple Inc. Video encoding system
US12081769B2 (en) 2018-06-28 2024-09-03 Apple Inc. Rate control for low latency video encoding and transmission

Also Published As

Publication number Publication date
EP3207701B1 (en) 2021-09-08
US20160105675A1 (en) 2016-04-14
EP3207701A1 (en) 2017-08-23
CN107005698B (zh) 2020-10-30
US10264269B2 (en) 2019-04-16
WO2016060826A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
CN107005698A (zh) 支持尽力服务解码的元数据提示
EP3590258B1 (en) Transform kernel selection and entropy coding
CN106464921B (zh) 用于块内复制搜索增强的方法和系统
US9210432B2 (en) Lossless inter-frame video coding
CN101352046B (zh) 图像编码/解码方法与装置
US8798131B1 (en) Apparatus and method for encoding video using assumed values with intra-prediction
JP2019505143A (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
CN105900419B (zh) 屏幕内容数据的视频编码
CN114222122A (zh) 视频解码方法和解码器、存储介质
CN106170092A (zh) 用于无损编码的快速编码方法
CN103813174A (zh) 一种混合分辨率编解码方法和装置
US9369732B2 (en) Lossless intra-prediction video coding
US20130230104A1 (en) Method and apparatus for encoding/decoding images using the effective selection of an intra-prediction mode group
EP3729810B1 (en) Motion vector coding using residual block energy distribution
US20210021859A1 (en) Same frame motion estimation and compensation
CN113132728B (zh) 编码方法及编码器
CN103067700B (zh) 编码装置,编码方法
CN109996080A (zh) 图像的预测方法、装置及编解码器
CN107258081A (zh) 对使用非正方形分割编码视频数据的优化
US9756346B2 (en) Edge-selective intra coding
CN110741636A (zh) 用于视频编码的变换块级扫描顺序选择
CN115118976A (zh) 一种图像编码方法、可读介质及其电子设备
CN113132726A (zh) 编码方法及编码器
KR20170125154A (ko) 곡선 화면 내 예측을 사용하는 비디오 복호화 방법 및 장치
CN113973202A (zh) 视频编码方法、装置、设备及存储介质

Legal Events

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