CN113785580A - 用于视频编码器的速率控制 - Google Patents

用于视频编码器的速率控制 Download PDF

Info

Publication number
CN113785580A
CN113785580A CN201980095810.0A CN201980095810A CN113785580A CN 113785580 A CN113785580 A CN 113785580A CN 201980095810 A CN201980095810 A CN 201980095810A CN 113785580 A CN113785580 A CN 113785580A
Authority
CN
China
Prior art keywords
stream
enhancement
base
quantization
video
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
CN201980095810.0A
Other languages
English (en)
Inventor
圭多·梅尔迪
洛伦佐·西卡雷利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
V Nova International Ltd
Original Assignee
V Nova International Ltd
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
Priority claimed from GBGB1903844.7A external-priority patent/GB201903844D0/en
Priority claimed from GBGB1904014.6A external-priority patent/GB201904014D0/en
Priority claimed from GBGB1904492.4A external-priority patent/GB201904492D0/en
Priority claimed from GBGB1905325.5A external-priority patent/GB201905325D0/en
Priority claimed from GBGB1909701.3A external-priority patent/GB201909701D0/en
Application filed by V Nova International Ltd filed Critical V Nova International Ltd
Publication of CN113785580A publication Critical patent/CN113785580A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/36Scalability techniques involving formatting the layers as a function of picture distortion after decoding, e.g. signal-to-noise [SNR] scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/186Methods 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 colour or a chrominance component

Abstract

一种将输入视频编码为混合视频流的方法,所述方法包括:在第一分辨率下接收所述输入视频;获得所述编码的所要质量水平的指示,所述所要质量水平设定所述混合视频流的一个或多个位速率,所述混合流包括第二分辨率下的基础编码流以及所述第一和第二分辨率中的每一个下的多个增强流,所述第一分辨率高于所述第二分辨率;通过以下操作来编码所述多个增强流中的每一个:在所述增强流的所述相应分辨率下基于所述输入视频和经重建视频之间的差生成残差集合;基于所述所要质量水平确定用于所述残差集合的量化参数;基于所述量化参数量化所述残差集合;以及从经量化残差集合创建经编码流。

Description

用于视频编码器的速率控制
技术领域
本公开涉及一种用于编码信号的方法和设备。确切地说,但非排他地,本公开涉及一种用于编码视频和/或图像信号的方法和设备。本公开涉及一种用于编码过程期间的速率控制的速率控制方法和设备。
背景技术
当编码例如视频数据等数据时,已知设定编码数据的一部分所需的位数目。在视频数据的情况下,此可为用以编码视频数据帧的位数目。所需的位数目的设定被称为速率控制。已知将位速率设定在恒定或可变值。
一种已知形式的速率控制使用“恒定速率因子”或CRF,其中调整数据速率以实现或维持所要编码质量。因此,在视频编码中,位速率可取决于待编码场景的复杂性而增加或减小。较复杂的场景将比相同质量水平的不太复杂的场景需要更多数据来编码给定质量水平。因此,相比于如恒定位速率编码中所见维持恒定位速率,CRF将在编码时维持恒定质量水平。术语质量的水平与质量水平可互换使用。
发明内容
提供如所附权利要求书中陈述的方法、计算机程序、计算机可读介质和编码器。
在一实施例中,提供一种将输入视频编码为混合视频流的方法,所述方法包括:在第一分辨率下接收所述输入视频;获得编码的所要质量水平指示,所述所要质量水平设定混合视频流的一个或多个位速率,所述混合流包括第二分辨率下的基础编码流以及第一和第二分辨率中的每一个下的多个增强流,所述第一分辨率高于所述第二分辨率;通过以下操作来编码所述多个增强流中的每一个:在增强流的相应分辨率下基于输入视频和经重建视频之间的差生成残差集合;基于所要质量水平确定用于残差集合的量化参数;基于所述量化参数量化残差集合;以及从经量化残差集合创建经编码流。
所述方法允许根据所要质量评分或位速率设定速率控制。因为所述方法用于混合流,所以所述方法允许设定两个不同增强流的量化。
从所附权利要求书将了解本发明的其它方面。
附图说明
现将参考附图描述一个或多个实例,在附图中:
图1以第一细节水平展示实例编码器的框图;
图2以第一细节水平展示实例解码器的框图;
图3以第二细节水平展示实例编码器的框图;
图4展示根据第一实例的速率控制器的框图;
图5展示根据第二实例的速率控制器的框图;
图6展示根据一实例的增强速率控制器的框图;
图7A展示在编码器内用于第一增强流的实例速率控制器的框图;
图7B展示在编码器内用于多个增强流的实例速率控制器的框图;
图8展示根据第三实例的速率控制器的框图;
图9展示根据第四实例的速率控制器的框图;
图10A展示应用量化的实例;
图10B展示在具有可变死区的情况下应用量化的实例;以及
图11展示流程图,其展示根据一实例的速率控制方法。
具体实施方式
本公开描述一种混合向后兼容译码技术。此技术是一种灵活、可调适、高效且计算量小的译码格式,其将不同视频译码格式、基础编解码器(即,编码器-解码器)(例如,AVC/H.264、HEVC/H.265,或任何其它当前或将来编解码器,以及比如VP9、AV1等非标准算法)与经译码数据的至少两个增强层级组合。
编码方案的一般结构使用以基础编解码器编码的下取样源信号,将第一层级的校正或增强数据添加到基础编解码器的经解码输出以生成经校正图片,且接着将另一层级的校正或增强数据添加到经校正图片的上取样型式。
因此,本文中所描述的特定实例用以将信号编码为数据流的集合,即随时间改变的数据。特定实例涉及生成包含基础流和一个或多个增强流的流的集合的编码器或编码过程,其中通常存在两个增强流。值得注意的是,基础流可由硬件解码器解码,而增强流可适于具有合适的功率消耗的软件处理实施方案。
特定实例提供一种编码结构,其创建允许许多情形下的较大灵活性和可调适性的多个自由度,因此使译码格式适于包含过顶(over-the-top,OTT)传输、实况流式传输、实况UHD广播等许多用例。其还提供低复杂性视频译码。
通常,解码和组合在本文中可被称为混合流的流集合以生成输出信号以供检视。此可包括与原始输入视频信号相同的分辨率下的输出的经重建视频信号。尽管基础编解码器的经解码输出并非意图用于检视,但其为较低分辨率下的完全经解码视频,从而使得输出与现有解码器兼容,并且在认为合适的情况下也可用作较低分辨率输出。可进一步解码和组合基础流和第一增强流以供作为经校正的较低分辨率视频流检视。
本文中所描述的实例视频译码技术使用最小数目个相对简单的译码工具。当协同组合时,它们相比于以基础编解码器编码的全分辨率图片可提供视觉质量改进,同时使得其可被使用的方式较灵活。
所述方法及设备基于在用作增强层的基线的现有编码和/或解码算法(例如,比如AVC/H.264、HEVC/H.265等MPEG标准,以及比如VP9、AV1等非标准算法)之上构建的总体方法。增强层根据不同编码和/或解码方法工作。总体方法背后的想法是以阶层方式对视频帧进行编码/解码,与如MPEG系列算法中那样使用基于块的方法形成对比。以阶层方式对帧进行编码包含针对全帧生成残差,且接着针对经缩减或抽取帧生成残差,等等。
图1的框图中描绘了实例编码过程。处理输入的全分辨率视频以生成各种编码流。通过向基础编解码器(例如,AVC、HEVC或任何其它编解码器)馈送输入视频的下取样型式来产生基础编码流。基础编码流可包括基础编解码器的基础编码器的输出。通过处理通过取经重建基础编解码器视频与输入视频的下取样型式之间的差而获得的残差来产生增强层的第一编码流(经编码层级1流)。重建经编码基础流可包括从基础编解码器接收经解码基础流。通过处理通过取经重建基础译码视频的经校正型式的上取样型式与输入视频之间的差而获得的残差来产生所述增强层的第二编码流(经编码层级2流)。
在某些情况下,图1的组件可提供一般低复杂性编码器。在某些情况下,可通过形成低复杂性编码器的一部分的编码过程来生成增强流,且低复杂性编码器可被配置成控制独立的基础编码器和解码器(例如,封装为基础编解码器)。在其它情况下,基础编码器和解码器可提供为低复杂性编码器的一部分。在一种情况下,图1的低复杂性编码器可被视为用于基础编解码器的一种形式的封套,其中基础编解码器的功能性可对于实施低复杂性编码器的实体隐藏。
图2的框图中描绘了实例解码过程。所述解码过程可以是图1的实例编码过程的互补过程。解码器接收由编码器生成的三个流连同含有另外的解码信息的标头。经编码基础流由对应于编码器中使用的基础编解码器的基础解码器解码,且将其输出与从经编码层级1流获得的经解码残差组合。经组合视频经上取样并且进一步与从经编码层级2流获得的经解码残差组合。
转向图1,一般水平下的实例编码器拓扑如下。编码器100包括用于接收输入信号10的输入I。输入信号10可包括完全(或最高)分辨率视频,其中编码器以逐帧为基础应用。输入I连接到下取样器105D和处理块100-2。下取样器105D在编码器100的基础层级处向基础编解码器120输出。下取样器105D还向处理块100-1输出。处理块100-1将输出传递到上取样器105U,其继而输出到处理块100-2。处理块100-2和100-1中的每一个包括以下模块中的一个或多个:变换块110、量化块120和熵编码块130。
基础流大体上由如上所述的过程创建。也就是说,对输入视频进行下取样(即,将下取样操作应用于输入视频以生成下取样的输入视频)。接着使用第一基础编解码器编码下取样视频(即,使用第一或基础编解码器将编码操作应用于下取样的输入视频以生成经编码基础流)。优选地,第一或基础编解码器是适于硬件解码的编解码器。经编码基础流可被称为基础层或基础层级。
如上所述,增强流可包括两个流。第一层级的增强提供校正数据的集合,其可与基础流的经解码型式组合以生成经校正图片。此第一增强流在图1和3中示出为经编码层级1流。
为了生成经编码层级1流,解码经编码基础流(即,将解码操作应用于经编码基础流以生成经解码基础流)。接着创建经解码基础流与下取样的输入视频之间的差(即,将减法运算应用于下取样的输入视频和经解码基础流以生成第一残差集合)。此处,术语残差以与此项技术中已知的方式相同的方式使用,即,参考帧与经重建帧之间的误差。此处,经重建帧是经解码基础流,且参考帧是下取样的输入视频。因此,第一增强层级中使用的残差可被视为经校正视频,因为其将经解码基础流‘校正’为基础编码操作中使用的下取样的输入视频。接着使用第一编码块100-1(其也可被称作第一编码器或第一增强编码器)编码第一残差集合以生成经编码层级1流(即,将编码操作应用于第一残差集合以生成第一增强流)。
图2是可对应于图1中展示的编码过程的的解码过程的框图。解码过程拆分成如由虚线所示的两个半部。虚线下方是解码器200的基础层级。基础层级可有用地实施于硬件中。虚线上方是增强层级,其可有用地实施于软件中。解码器200可按需要包括仅增强层级过程,或基础层级过程与增强层级过程的组合。解码器200可有用地实施于软件中,尤其是在增强层级处,且可合适地优于传统解码技术,尤其是传统硬件技术。传统技术是指先前开发和销售的已经在市场中且不便更换和/或更换代价昂贵且仍可用于解码信号的目的的早期的技术。在其它情况下,基础层级可包括任何现有和/或将来视频编码工具或技术。
一般水平下的解码器拓扑如下。解码器200包括用于接收包括经编码基础流、经编码层级1流和经编码层级2流的一个或多个输入信号连同含有另外的解码信息(例如,局部和全局配置信息)的任选的标头的输入(未图示)。解码器200包括基础层级处的基础解码器220,以及增强层级处的处理块200-1和200-2。基础解码器220可形成所应用基础编解码器的一部分(例如,基础编解码器的解码功能或单元)。上取样器205U还设置在处理块200-1和200-2之间以向处理块200-2提供由处理块200-1输出的信号的上取样型式。
解码器200接收所述一个或多个输入信号,且引导由编码器100生成的三个流。经编码基础流导向基础解码器220且由基础解码器220解码,所述基础解码器对应于编码器100中使用的基础编解码器120,且用以使基础层级处的编码过程逆向。经编码层级1流由解码器200的块200-1处理以重新创建由编码器100创建的第一残差。块200-1对应于编码器100中的处理块100-1,且在基本层级处用以使块100-1的处理逆向或大体上逆向。基础解码器220的输出与从经编码层级1流获得的第一残差组合。组合信号由上取样器205U上取样。经编码层级2流由块200-2处理以重新创建由编码器100创建的另外的残差。块200-2对应于编码器100的处理块100-2,且在基本层级处用以使块100-2的处理逆向或大体上逆向。来自上取样器205U的上取样信号与从经编码层级2流获得的另外的残差组合以创建输入信号10的层级2重建。输入信号10的层级2重建可在与原始输入视频相同的分辨率下用作经解码视频。本文中所描述的编码和解码可取决于编码器和解码器的配置而生成原始输入信号10的有损或无损重建。在许多情况下,输入信号10的层级2重建可以是原始输入视频的有损重建,其中所述损失对经解码视频的感知具有减小的影响或最小影响。
如上所述,增强流可包括两个流,即,经编码层级1流(第一层级的增强)和经编码层级2流(第二层级的增强)。经编码层级1流提供校正数据的集合,其可与基础流的经解码型式组合以生成经校正图片。经编码层级2流提供校正或增强数据的集合,其将精细细节添加到通过组合经解码层级1流和经解码基础流而生成的经校正图片。
图3更详细地展示图1的编码过程。经编码基础流由基础编码器120E直接创建,且可根据需要经量化和熵编码。在某些情况下,这些后面的过程可作为基础编码器120E所进行的编码的一部分而执行。为了生成经编码层级1流,在编码器100处解码经编码基础流(即,在基础解码块120D处将解码操作应用于经编码基础流)。基础解码块120D展示为编码器100的基础层级的一部分,且展示为与相应的基础编码块120E分离。举例来说,基础解码器120D可以是用基础编解码器补充呈基础编码器120E的形式的编码组件的解码组件。在其它实例中,基础解码块120D可实际上是增强层级的一部分,且确切地说可以是处理块100-1的一部分。
返回到图3,创建从基础解码块120D输出的经解码基础流和下取样的输入视频之间的差(即,将减法运算110-S应用于下取样的输入视频和经解码基础流以生成第一残差集合)。此处,术语残差以与此项技术中已知的方式相同的方式使用;也就是说,残差表示参考信号或帧与经重建信号或帧之间的误差或差。此处,经重建信号或帧是经解码基础流,且参考信号或帧是下取样的输入视频。因此,第一增强层级中使用的残差可被视为校正信号,因为它们能够将将来经解码基础流‘校正’为基础编码操作中使用的下取样的输入视频的较接近的近似值。这是有用的,因为这可校正基础编解码器的怪异模式(quirk)或其它特性。这些特性尤其包含由基础编解码器应用的运动补偿算法、由基础编解码器应用的量化和熵编码,以及由基础编解码器应用的块调整。
在图3中更详细地展示图1中的块100-1的组件。确切地说,第一残差集合经变换、量化和熵编码以产生经编码层级1流。图3中,将变换操作110-1应用于第一残差集合;将量化操作120-1应用于经变换的残差集合以生成经量化残差的集合;以及将熵编码操作130-1应用于经量化的残差集合以在第一增强层级处生成经编码层级1流。然而,应注意,在其它实例中,可执行仅量化步骤120-1,或仅变换步骤110-1。可不使用熵编码,或可任选地作为变换步骤110-1和量化步骤120-1中的一个或两者的补充而使用熵编码。熵编码操作可以是任何合适类型的熵编码,例如霍夫曼编码操作或游程长度编码(RLE)操作,或者霍夫曼编码操作和RLE操作两者的组合。
如上所述,增强流可包括经编码层级1流(第一层级的增强)和经编码层级2流(第二层级的增强)。第一层级的增强可被视为实现基础层级处的经校正视频,其例如用以校正编码器怪异模式。第二层级的增强可被视为另一层级的增强,其可用于将经校正视频转换为原始输入视频或与其接近的近似值。举例来说,第二层级的增强可添加下取样期间丢失的精细细节和/或帮助校正由变换操作110-1和量化操作120-1中的一个或多个引入的误差。
应注意,图1和3中展示的组件可在特定分辨率水平下在例如对应于帧的2×2或4×4部分的数据的块或译码单元上操作。所述组件在无任何块间相依性的情况下操作,因此其可并行地应用于帧内的多个块或译码单元。此不同于对比的视频编码方案,在对比的视频编码方案中,块之间存在相依性(例如空间相依性或时间相依性)。对比的视频编码方案的相依性限制并行水平且需要高得多的复杂性。
优选地,变换操作110-1是例如基于阿达马的变换等定向分解变换。通常,所述变换可使用应用于残差要素的展平(即,一维阵列)块(例如,对应于例如输入信号中的颜色分量通道等像元的块)的变换矩阵来应用。如上所述,这些块还可被称作译码单元,因为其是编码器和解码器过程应用的基本单位。对于2×2译码单元,可应用4×4阿达马矩阵,且对于4×4译码单元,可应用16×16阿达马矩阵。这两个变换形式可被称为定向分解(DD)变换和定向分解平方(DDS)变换。后一变换如此称呼是因为其可视为定向分解变换的重复应用。两者具有直接应用于残差的小内核。
作为实例,第一变换具有应用于残差(R)的展平2×2块的4×4内核。所得系数(C)可确定如下:
Figure BDA0003322122980000081
然后,第二变换具有应用于残差的4×4块的16×16内核。所得系数如下:
Figure BDA0003322122980000082
Figure BDA0003322122980000091
优选地,使用线性量化器执行量化操作120-1。线性量化器可使用可变大小的死区。这随后参考图10A和10B更详细地描述。
在一种情况下,本文中所描述的图1和3的编码器100以及图2的解码器200可应用于反映视频信号的不同颜色分量的所谓的数据平面。举例来说,本文中所描述的组件和方法可应用于反映不同颜色通道的YUV或RGB数据的不同平面。可并行地处理不同颜色通道。因此,对如本文所描述的残差集合的参考可包括多个残差集合,其中每一颜色分量具有形成组合增强流的一部分的不同残差集合。
参看图1和图3两者,为了生成经编码层级2流,在块100-2处通过产生和编码另一残差集合来创建另一层级的增强信息。所述另一残差集合是经解码基础流(参考信号或帧)的经校正型式的上取样型式(经由上取样器105U)和输入信号10(所要信号或帧)之间的差。
为了实现如将在解码器200处生成的经解码基础流的经校正型式的重建,使块100-1的至少一些处理步骤逆向以模拟解码器200的过程,且考虑变换和量化过程的至少一些损失和怪异模式。为此,块100-1包括逆量化块120-1i和逆变换块110-1i。经量化的第一残差集合在编码器100中的逆量化块120-1i处逆量化且在逆变换块110-1i处逆变换以重新生成第一残差集合的解码器侧型式。可另外执行其它滤波操作以重建到上取样器105U的输入。
来自解码器120D的经解码基础流与第一残差集合的解码器侧型式组合(即,对经解码基础流和第一残差集合的解码器侧型式执行求和运算110-C)。求和运算110-C生成如将很可能在解码器处生成的输入视频的下取样型式的重建-即,层级1的分辨率下的经重建视频)。如图1和图3中所示出,接着由上取样器105U对经重建的基础编解码器视频进行上取样。
接着将上取样信号(即,经重建信号或帧)与输入信号10(即,所要或参考信号或帧)进行比较以创建第二或另外的残差集合(即,将差运算100-S应用于经上取样的重新创建的流以生成另一残差集合)。接着在块100-2处处理另外的残差集合以变为经编码层级2流(即,接着将编码操作应用于另外的残差集合以生成经编码的另一增强流)。
确切地说,变换另外的残差集合(即,对另外的残差集合执行变换操作110-2以生成另一经变换残差集合)。经变换残差接着以上文关于第一残差集合所描述的方式经量化和熵编码(即,将量化操作120-2应用于经变换残差集合以生成另一经量化残差集合;且将熵编码操作130-2应用于经量化的另一残差集合以生成含有另一层级的增强信息的经编码层级2流)。然而,可执行仅量化步骤120-1,或仅变换和量化步骤。可任选地作为补充使用熵编码。优选地,熵编码操作可以是霍夫曼编码操作或游程长度编码(RLE)操作或这两者。
因此,如图1和3中所示出和上文所描述,编码过程的输出是基础层级处的基础流,以及优选地包括第一层级的增强和另一层级的增强的增强层级处的一个或多个增强流。
图1到3展示其中可应用本发明的某些方面的实例编码和解码方案。本发明的一个方面能够调适混合流的数据速率,同时维持所要质量水平(例如输出的经解码视频的所要质量水平)。混合编码方法的一方面是,所述方法允许数据流的并行编码和解码。因为所述方法不依赖于块间信息,不论帧内还是帧间,每一帧,实际上帧的个别部分,可单独地处理。出于速率控制的目的,此灵活性允许针对每一增强流设定不同度量,因为可独立地控制每一增强层的不同编码组件。因此,这提供一种改进的且简单的速率控制方法。
在例如由编码器100输出的三个流的集合等混合流的情况下,可通过针对三个流中的一个或多个应用速率控制来实施例如基于带宽限制的混合流作为整体的所要质量水平。可通过确定集体位速率预算内个别流的所要质量或位速率来应用速率控制。因为每一增强流表示渲染时视频数据的分辨率,所以经由质量度量控制速率控制确保混合流可以已知质量编码和递送数据。
图4展示第一实例速率控制器400的示意性表示。此实例的速率控制器400包括增强速率控制器402。增强速率控制器402被配置成通过设定每一流的量化参数Qi来控制图1到3中展示的增强流(例如层级1和层级2流)中的每一个的位速率。在图4中,增强速率控制器402输出两个量化参数,用于第一(层级1)增强流的第一量化参数Q1和用于第二(层级2)增强流的第二量化参数Q2。应注意,在一些实施方案中,可逆向标记增强流的层级,使得最高分辨率流为层级0且较低分辨率流为层级1。
图4的实例展示根据第一速率控制模式实施的速率控制器400。在此速率控制模式中,不提供外部所要质量水平。如此,可基于编码方案的内部控制逻辑和/或内部测量值来设定第一和第二量化参数Q1和Q2。速率控制器400还可任选地确定基础层(未图示)的位速率,或可经由配置参数设定基础层的位速率。虽然图4中展示仅两个增强流,但本文中所描述的过程可扩展到多个增强流(例如,在增加的分辨率层处)。在本文中所描述的实例中,可根据每像元位或bpp速率来设定位速率,其中像元可包括残差要素(例如,残差信号的“像素”)。
在图4所示的实例中,如在下文详细描述,增强速率控制器402针对每一增强层级确定由量化参数Q1和Q2表示的量化水平。速率控制器400形成例如图1和3中的任一个的编码器100等编码器的部分。量化参数还可传送到例如图2的解码器200等解码器。量化参数可形成混合流(或增强流中的一个)的标头信息的一部分。可逐帧地确定量化参数Q1和Q2,使得对于给定帧,使用量化参数来量化帧内的每一译码单元,例如由量化块120-1和120-2所应用。本文中对帧的参考可指代帧的特定分量,例如YUV或RGB分量中的一个,其中以类似方式编码(且可并行地编码)分量的集合。在某些情况下,可存在针对不同分量的不同量化参数Q1和Q2和/或针对给定帧的每一分量集合的共同量化参数Q1和Q2(例如,针对帧设定量化参数且针对每一分量类似地应用所述量化参数)。
如图4中所展示,在某些情况下,速率控制器400可接收任选的编码反馈604。编码反馈604可包括关于可由增强速率控制器402使用以设定量化参数Q1和Q2的编码过程的信息。编码反馈604可包括来自如应用于先前编码帧的编码过程的反馈。编码反馈604可使增强速率控制器602能够确定每一增强层的量化水平。
如在下文详细描述,量化参数Q1和Q2可由量化块120-1和120-2使用以确定块组大小(或块组大小的集合)以在量化过程中使用,其中较小块组大小表示需要更多数据来编码的更详细量化水平(即,较多块组意味着要对较多值进行熵编码,且如果应用游程长度编码,则零的游程的概率较低)。通过调整块组大小(及因此,量化水平),有可能控制正编码的帧的质量,以及数据速率。因此,通过改变增强流中的每一个的量化参数,编码每一数据帧所需的数据量可变化。在一种情况下,增强速率控制器402可被配置成取决于帧的复杂性设定量化参数Q1和Q2,因此减小用于低复杂性场景的数据速率和/或允许基于改变的带宽可用性进行调整。
根据如由图4的实例所示的第一速率控制模式,第一例项中的所要质量水平可以是预定内部值。可在存在用于传输的静态可用位速率的情况下应用第一速率控制模式。在此情况下,可在经编码混合流的传输和/或生成期间调整量化参数Q1和Q2以维持静态位速率。两个增强流的独立性提供用于控制位速率的良好灵活性,例如在某些情况下,第一增强层级的较精细量化水平可以允许第二增强层级处的较粗略量化水平,且因此实现位速率折衷(例如,因为第二增强层级通常处于较高分辨率,且因此需要较多位)。在下文描述的另外的实例中,呈现第二速率控制模式,其中可(例如,由用户、云控制器或配置参数)设定所要质量水平以便更好地管理数据速率。
如在下文详细描述,在某些情况下,编码每一帧所需的数据量可变化,且可在每一增强层处变化。这可归因于输入视频流的不可预测的性质,和/或独立于其它块编码数据块的能力(例如,同样逐帧地)。为了考虑编码每一数据帧所需的数据的变化,优选的是,设定所要质量水平或质量因子使得编码和/或解码过程中使用的缓冲器不充满或超过用于大部分帧的容量。这确保需要更多数据来编码的较复杂的帧可存储在缓冲器中。所要质量水平也可以适用于其中可变带宽为可用的情形,例如在可允许传输占据可用带宽的可变比例的情况下,可能需要致力于给定质量水平以避免使用过多带宽。
图5展示实施如上文所论述的第二速率控制模式的速率控制器500的另一实例。在某些情况下,图5的速率控制器500可与速率控制器400相同,但表示操作参数的改变,例如其中使用额外组件和/或使额外组件例项化。在其它情况下,图5的速率控制器500可经硬译码或被配置成实施第二速率控制模式,与第一速率控制模式形成对比。
图5的速率控制器500与图4的速率控制器400共享某些特征。增强速率控制器502再次被配置成输出量化参数Q1和Q2的集合,其可控制如上文所描述的两个增强编码层中的量化。速率控制器500不同于图4的速率控制器400之处在于,其被配置成接收用于混合视频流的所要质量水平指示510。速率控制器500接着被配置成调整增强和/或基础层级编码组件的操作参数以提供此所要质量水平510。图5中,所要质量水平指示510由形成速率控制器500的部分的质量控制器512接收。图5中的质量控制器512被配置成根据所要质量水平指示510控制增强速率控制器502,例如质量控制器502可调整基础层级和增强层级的操作(包含层级1和层级2流的编码)以满足或瞄准所要质量水平指示510。图5中,质量控制器512输出基础参数514,其用于编码混合流的基础层级或层(例如,控制基础编解码器,例如图1中的120)。
因此,图5中展示了速率控制过程的另一实例,其中混合流的基础层以及增强层经编码以旨在经由速率控制器500实现外部供应的质量指示。
如图5所示,速率控制器500接收编码的所要质量水平指示510。所要质量水平指示510可以是预定值(例如,从配置文件或其它数据存储装置加载),或其可由用户输入。所要质量水平指示510可包括映射到输出的经解码视频(例如,由解码器输出的经重建层级2信号)的质量值的预定范围上的值的预定范围内的值。所要质量水平指示510可以是一种形式的恒定速率因子;然而,相比于涵盖不同编码方法的混合方案,通常针对例如可在基础层级处实施的单个编码方案设计对比的恒定速率因子。在此项技术中,存在调适此些混合方案以使用类似于恒定速率因子的参数的挑战。举例来说,基础层级和增强层级中不同编码方法的使用意味着不可能以共同的共享质量因子控制两个层级,并且,两个层级和增强流的子层可具有取决于输入图像内容的可变位速率。
在一种情况下,所要质量水平指示510可包括表示限定的质量范围的8位整数值。所要质量水平指示510可经限定使得所述范围类似于用于已知视频编解码器的范围,例如,对于AVC和HEVC,使用0到51的范围,其中较低值指示较高质量,且较高值表示较低质量。在此情况下,速率控制器500,且确切地说质量控制器512,被配置成将所要质量水平指示510转换为用于增强速率控制器502的控制指令以及转换为用于基础编解码器的基础参数514。举例来说,质量控制器512通过设定基础参数514以及通过控制增强速率控制器502来控制基础流和两个增强流的位速率。所要质量水平指示510因此设定初始质量因子,所述初始质量因子由质量控制器512使用以控制增强速率控制器502来确定用于增强层的量化参数Q1和Q2。速率控制器500因此设定混合流的位速率以便满足或瞄准所要质量水平指示510。
可使用一个或多个不同初始参数来表达所要质量水平指示510。所要质量水平510指示可独立于可用于基础层和/或增强层的类似指示。质量控制器512可将所要质量水平指示510映射到用于控制基础层的若干基础参数514。基础参数514可包括基础模式(例如,恒定位速率、可变位速率或恒定质量因子模式)、基础位速率、基础缓冲区大小和最大基础位速率中的一个或多个。
所要质量水平指示510可包括例如整数值等单个参数,和/或可包括不同所要设定的阵列。在一种情况下,所要质量水平指示510可连同待编码的输入视频的额外约束和/或性质一起提供。举例来说,所要质量水平指示510可包括参数、是参数的函数,或可附有参数,所述参数例如视频的输入分辨率、可用位速率,和空间尺度参数的集合(例如,比如在两个图像方向中还是仅在水平方向中使用上/下取样)。在一实施例中,所要质量输入510取决于用于编码视频流的编码标准。在某些情况下,所要质量水平指示510可包括参数、是参数的函数,或可附有参数,以用于设定或超驰基础参数514的默认值。举例来说,如果基础操作模式传递到质量控制器512,则此可用于显式地设定基础参数514中的基础模式。在优选情况中,所要质量水平指示510对于所供应视频信号或文件的编码为静态的,例如用于编码视频。然而,借助于质量控制器512,包含量化参数Q1和Q2的基本控制参数中的一个或多个可(且将有可能)在帧之间变化以尝试满足所要质量水平510。
如参考图1到3所描述,基于基础参数514,编码器控制基础编解码器102。如上文所论述,基础编解码器102接收经下取样输入视频使得以低于输入视频的分辨率的分辨率使用基础参数514执行基础编码和解码。类似地,通常以与基础层相同的分辨率编码层级1增强流,且通常以与输入信号的分辨率相同或比输入信号的分辨率更高的分辨率编码层级2增强流。在存在多个分辨率的情况下,质量控制器512被布置成控制基础和增强编码器的位速率以便满足或瞄准所要质量水平指示510。这再次意味着控制位速率是一项必要的操作。
在特定情况中,量化参数Q1和Q2不同于基础参数514。举例来说,基础参数514可使用基础编解码器的可用的外部接口(例如,硬件和/或应用编程接口)以“黑匣子”或模块化方式控制图1的基础编解码器120。然而,速率控制器500可具有对增强编码块的内部控制的更多访问权限,且因此可在较低或更精确的控制水平下设定量化参数Q1和Q2。基础编解码器可自身在其编码结构内部使用量化参数;然而,这些参数通常不可在外部配置(例如,可不存在经由基础编解码器的接口的访问或存在经由基础编解码器的接口的减少的访问,和/或可能不可能将信息传递到基础编解码器以实现编码时量化参数的改变)。优选地,独立于增强流编码基础编码流或层。
可选地,如在下文详细描述,增强速率控制502还接收指示编码反馈504的另一输入。此可包括来自增强层级编码操作(例如,图1中的块100-1和100-2)和/或这些操作的子组件的反馈。此可包括来自编码视频信号的一个或多个先前帧或块的反馈。此还可包括来自基础层(例如,使用标准报告接口的基础编解码器)的反馈。
使用图5的速率控制器500,量化水平可以是恒定的或变化以满足或尝试满足所要质量指示510。举例来说,可控制量化参数Q1和Q2以满足基于所要质量指示510设定的一个或多个位速率或位速率范围或约束。在一种情况下,基础参数514设定为用于编码的静态参数,且量化参数Q1和Q2在选定的静态基础参数514的上下文内可变以满足或尝试满足所要质量指示510。
在其中量化水平变化的实例中,增强速率控制器502可针对每一增强流设定量化参数Q1和Q2的边界。举例来说,可基于所要质量指示510设定上部和下部边界,使得主观质量水平(如由用户感知的质量水平)保持不变或不明显。这允许速率控制器500以灵活的方式编码视频流,即使在复杂场景期间也无可感知的质量损失。随着存储在输出缓冲器中的数据量变化,任选的编码反馈模块504可将关于缓冲器的容量的其它信息提供到增强速率控制器502。此信息可用于调整每一增强流的量化参数Q1和Q2
图6展示增强速率控制器602的实例。所述实例展示可在特定情况中实施以提供增强速率控制器402和502中的一个或多个的特定内部组件。
在图6中,增强速率控制器602再次被配置成输出量化参数Q1和Q2以用于编码视频信号的给定帧(或译码单元)。在图6的实例中,增强速率控制器602通过基于多个输入参数确定量化参数Q1和Q2来调整每一增强流的位速率。确切地说,增强速率控制器602被配置成确定用于待编码视频的多个帧的集合中的每一帧的量化参数Q1和Q2。来自先前帧的编码的反馈可用于设定用于当前帧的量化参数Q1和Q2
举例来说,可编码第一帧f0,且可针对此第一帧确定量化参数Q1和Q2。接着将编码视频数据的后续帧f1。在此情况下,增强速率控制器602被配置成优选地使用来自在前帧f0的编码数据来确定用于后续帧的量化参数Q1和Q2。举例来说,针对在前帧(或者一个或多个其它先前帧)的设定可用于确定用于后续帧的量化参数Q1和Q2的初始值,其中增强速率控制器602被配置成从此开始点搜索量化参数Q1和Q2的新的值。因此,来自先前帧的编码参数提供一种形式的反馈以用于设定用于后续帧的量化参数Q1和Q2。因为混合视频流被构造成使得帧可彼此独立地编码,虽然下文为便于理解而参考在前帧和后续帧描述,但在前帧不一定是紧接在后续帧之前的帧。
图6中,增强速率控制器602接收所要质量水平指示610。此可包括图5中输入到速率控制器500的所要质量水平510的相同指示。在其它情况下,质量控制器512可调整所要质量水平指示510,然后将其传递到图6的增强速率控制器602。所要质量水平指示610输入到参数计算器620。参数计算器620被配置成处理所要质量水平指示610(和任选地一个或多个额外参数)且输出用于每一增强流的量化参数Q'1和Q'2以及所要位速率BRD。在输出的量化参数Q1和Q2用于尝试满足输入的所要质量水平指示610的情况下,所要位速率BRD可包括混合视频流(和/或增强流中的一个或多个)的所估计位速率。增强速率控制器602进一步接收惯性质量水平指示630,其被输入到惯性参数计算器632。惯性参数计算器632复制参数计算器620的功能性但接收不同输入(且因此生成不同输出)。举例来说,参数计算器620和惯性参数计算器632可包括共同程序代码种类的不同示例和/或共同硬件芯片的复制品。惯性参数计算器632输出用于每一增强流的量化参数Q"1和Q"2以及惯性位速率BRI。在输出的量化参数Q"1和Q"2用于尝试满足输入的所要质量水平指示630的情况下,惯性位速率BRI可包括混合视频流(和/或增强流中的一个或多个)的所估计位速率。最后,增强速率控制器602还接收编码参数输入640。此可包括类似于图4和5的编码反馈404和504的输入。编码参数输入640可包括一个或多个操作参数,例如帧类型、基础层的位速率、最小所要位速率(例如,如由质量控制器512所确定)和基于先前编码的目标位速率中的一个或多个。将编码参数输入640提供到位速率范围计算器642。位速率范围计算器642接收编码参数输入640且确定位速率范围,例如混合视频流(或个别增强流中的一个或多个)的最大和最小位速率。
将参数计算器620、惯性参数计算器632和位速率范围计算器642的输出输入到质量调整器650。质量调整器650被配置成处理所述输入,且确定待编码的当前帧的最终量化参数Q1和Q2集合。在一种情况下,质量调整器650确定来自参数计算器620和惯性参数计算器632的所接收的所要位速率BRD和惯性位速率BRI中的一个或多个是否在由位速率范围计算器642输出的位速率范围内。如果输入位速率中的一个在位范围内,则量化参数Q'1和Q'2以及量化参数Q"1和Q"2中的对应一个被选择且用作由增强速率控制器602输出的量化参数Q1和Q2。如果输入位速率均不在位速率范围内,则质量调整器650还将所要质量水平的经更新的惯性指示输出到惯性质量计算器632。所要质量水平的经更新的惯性指示是所要质量水平的惯性指示630的经更新型式。质量调整器650使用参数计算器620的输出作为参考在与位速率的增加或减小相关联的方向上调整所要质量水平的惯性指示630,以便落在位速率范围内。接着迭代地激活惯性参数计算器632以基于从质量调整器650接收的所要质量水平的经更新的惯性指示输出经修正的量化参数Q"1和Q"2以及经修正的惯性位速率BRI。此反馈回路可迭代直至经修正的惯性位速率BRI落在来自位速率范围计算器642的位速率范围内。当发现由参数计算器620和惯性参数计算器632中的一个或多个输出的位速率落在位速率范围内,且输出最终量化参数Q1和Q2集合时,质量调整器650还被配置成输出所要质量水平的惯性指示652以用于下一帧例如,帧n+1)。所要质量水平输出652可用作下一帧的所要质量水平的惯性指示630(而所要质量水平指示610可对于下一帧为恒定的,这取决于质量控制器512的操作)。
如上文所描述,增强速率控制器602取多个输入参数以在所要质量水平652下输出用于每一增强流的最终量化参数Q1和Q2集合以及下一帧的惯性帧质量指示。
对于视频数据的第一帧,或在所要质量水平的惯性指示630不可用的情况下,所要质量水平的惯性指示630可设定为所要质量水平610的初始指示。根据图4,此可以是初始用户设定的或以其它方式预先确定的值。所要质量水平指示610、所要质量水平的惯性指示630或所要质量水平的惯性指示652可具有共同格式且可以是任何合适的客观质量度量。在一种情况下,它们可以是表示输出的经解码视频的感知质量的质量值的预定义范围内的8位整数值。
参数计算器620和惯性参数计算器632两者基于质量指示确定每一增强层级所需的量化水平。此外,基于所需的量化水平,还计算在所要质量处或接近编码数据帧所需的位速率。使用本文中所描述的混合编码方案编码帧所需的总数据量可取决于视频信号中的场景的复杂性,且因此可在帧之间改变。如此,可在恒定的所要质量水平指示610的情况下针对不同帧确定不同量化参数。因此,增强速率控制器602是动态系统,其中组件的输出每帧改变且针对给定帧改变。
编码参数输入640限定编码过程中使用的若干参数。这些参数可包含目标速率因子(或质量水平)和目标位速率。编码参数输入640还可包含呈此些参数的最大值和最小值的形式的范围。位速率范围计算器642可比较如由编码参数输入640提供的不同位速率范围指示以确定总体位速率范围。
在下文详细描述的某些实例中,编码器100利用根据漏桶模型实施的缓冲器来确定数据帧的量化水平。因为编码帧所需的数据量可根据帧的复杂性而变化,所以需要控制缓冲器的内容使得缓冲器不溢出(例如,使得编码可由可用带宽或位速率支持的更多数据)。在此情况下,编码参数输入640可包括与缓冲器相关联的测量值,例如缓冲器容量和用以填充缓冲器的最小位速率。与缓冲器相关联的测量值(即,漏桶参数)可因此由位速率范围计算器642使用以确定一个或多个增强流的位速率范围。
使用图4和5的速率控制器400和500以及图6的增强速率控制器600,可用多个量化水平编码视频帧,其中优选地以不同量化水平编码基础流和两个增强流中的每一个。使用逐帧过程针对多个帧重复这些实例内的编码。如上文所描述,对于每一帧,编码过程因此包括以两个增强流的每一相应分辨率重建视频帧,以及随后将所述重建与从输入视频帧导出的视频数据进行比较,所述视频数据对应于增强流的相应分辨率。因此,此比较允许作出原始帧和经重建帧之间的差。举例来说,如图1和3中所展示,对于每一帧,基于所述比较在两个增强层级中的每一个处生成视频帧的残差集合,且使用由图4和5的速率控制器400和500输出的两个增强流的量化参数编码这些残差(例如,经由增强速率控制器600的操作)。可跨多个数据帧重复所述过程,以便编码完整的视频(例如,视频文件或视频流以供传输)。在混合流内编码帧以便满足或尝试满足输入的所要质量水平指示510或610。这提供简单的方式使非技术用户可针对多个不同编码方法设定复杂的技术量化参数以便获得所要质量水平。
图7A和7B展示实例编码器700的示意图。此可包括图1和3中展示的编码器100。图7A和7B展示先前实例的速率控制器(例如,图4或5的速率控制器400或500)可如何在如图1或3中所展示的编码器100的上下文内实施。图7A展示被布置成控制第一增强编码器700-1内的量化块720-1的速率控制器710。图7B展示被布置成控制第一增强编码器700-1和第二增强编码器700-2内的量化块720-1和720-2的相同速率控制器710。速率控制器710可包括软件例程(例如,以比如C或C++等快速低级语言)和/或专用电子电路系统。两个图展示被配置成根据不同于增强层级的译码的基础视频译码方法执行编码和解码操作的基础编解码器730。基础编解码器730输出经编码基础流(BS),第一增强编码器700-1输出第一经编码增强流(LS1),且第二增强编码器700-2输出第二经编码增强流(L2S)。图7A和7B的实例编码器700还包括缓冲器740以接收经编码流中的一个或多个。缓冲器740用于存储和/或组合经编码基础流和两个经编码增强流中的至少一个。缓冲器740可包括软件限定缓冲器(例如,存储器资源的预留区段)和/或专用硬件缓冲器。缓冲器740被配置成组合多个经编码流以输出混合视频流(HVS)。
在图7A和图7B的实例中,速率控制器710从基础处理层(例如,至少基础编解码器730的基础编码器)和缓冲器740接收数据。此数据可包括图6中展示的编码器参数输入640或图4和5的编码反馈404和504。
图7A展示缓冲器740相对于经编码基础流和第一经编码增强流的使用;图7B展示另一实例,其中缓冲器接收经编码基础流和两个经编码增强流。而相对于图6到8展示的速率控制过程展示为具有两个增强流。增强流的数目可大于或小于两个。
在图7A的实例中,速率控制器710通过供应量化参数集合Q1来控制第一增强编码器700-1内的量化。在图7B的实例中,速率控制器710通过将量化参数供应到相应“量化”组件,即通过将量化参数Q1和Q2供应到量化块720-1和720-2(其可以是来自图1和3中的一个或多个的量化块120-1和120-2的实施方案)来控制两个增强编码层内的量化。在又一情况(未图示)中,缓冲器740可被配置成接收经编码基础流和第二经编码增强流。
在图7A和7B的实例中,缓冲器740可被配置成以可变位速率接收输入(例如,可变位速率下的经编码流),同时以恒定位速率读取输出(即,混合视频流)。在其它情况下,所述输出可在可变位速率下输出,但受如参考图6所描述的所要质量水平指示限制。速率控制器710可从缓冲器740读取状态以确保其不溢出或变空,且控制传递到缓冲器的数据以确保始终存在其输出处可供读取的数据。举例来说,图6中的编码器参数输入640可包括填充缓冲器740所需的最小位速率和缓冲器740的最大位速率或容量。这些可用于控制如参考图6所描述的位速率范围。
图8展示可用于控制图1和3的编码器100内的一个或多个数据流的位速率的速率控制器800的第三实例。其可视为先前描述的编码器中的任一个的变化。图9展示速率控制器900的第四实例,其为速率控制器800的第三实例的更高级变化。图8和9展示与漏桶模型兼容的速率控制器的两个可能实施方案。确切地说,图8和9展示图4和5的任选的编码反馈404或504可被实施的一种方式。其可视为图6的惯性参数的使用的变化。
图8和9的速率控制器800和900两者接收缓冲器(例如,图7A和7B的缓冲器740)的状态840、940以生成当前帧t的量化参数集合Qt。量化参数可被供应到如图3中所展示的层级1和层级2编码管线中的一个或多个中的“量化”组件。尽管参考单个增强层级描述图8和9的实例,但它们可根据图4到6的实例调适以提供多个增强层级的量化参数(或针对多个增强层级中的每一个重复地实施)。
在两个实例中,速率控制器800,900的大体操作可如下。基于来自缓冲器的反馈调整量化参数集合Qt。此反馈可指示缓冲器内的数据量(例如,容量等)。在图8和9两者中,经由“来自缓冲器”信号840、940接收缓冲器内的数据量的指示(即,缓冲器有多“满”)。这接着由Q估计组件820、920直接或间接使用以估计用作“量化”操作参数的量化参数集合Qt
举例来说,图8中的Q估计组件820可被配置成接收来自缓冲器信号840且确定缓冲器是否正接近容量(即,正变“满”)。此可直接(例如,使用剩余容量的指示)和/或间接(例如,使用位速率,比如bpp容量)执行。如果缓冲器正接近容量,则Q估计组件820被配置成调整量化参数Qt以减少所需的数据量。以与图6的编码参数输入640的使用类似的方式,来自缓冲器信号840可包括(或用于确定)最大值和最小值范围(例如,关于缓冲器的大小),且可调整量化参数以继而调整编码帧所需的位数目使得其落在所述范围内。
在一种情况下,量化参数值集合Qt可与缓冲器中的数据量成比例。举例来说,如果在接收新帧的时刻,缓冲器内存在大量数据(即,缓冲器正接近容量),则Q估计组件820可设定Qt的高值(例如,比如大步长或块组大小)以便减少被编码的残差数据的量。
在某些实例中,量化参数Qt可用于设定量化步宽,其中量化步宽与量化参数Qt的值成反比。在此情况下,Qt的低值可对应于产生给定残差值范围的较少量化块组或群组的较大量化步宽值,且因此,量化参数值集合Qt可与缓冲器中的数据量成反比。在此情况下,如果缓冲器相对空,则速率控制器被配置成设定Qt的高值(即,低步宽值)以将更多残差数据编码到混合视频流中。可取决于如何从所述一个或多个量化参数确定量化步宽而应用不同方法。
一般来说,在图8的实例中,速率控制器800允许自适应速率控制过程,其中使用缓冲器中的数据量来确定一个或多个增强层的量化水平。
图9的实例使用额外组件来确定量化参数集合。在图9的实例中,速率控制器900还从基础编码器接收编码器参数。这些展示为输入到速率控制器900的“来自基础”信号942。来自基础信号942可形成图6中的编码器参数输入640的一部分。在一种情况下,来自基础信号942可指示正由基础编码器使用(例如,作为基础编解码器120的一部分)的位速率。如果基础编码器被配置成使用可变位速率编码格式,则由基础编码器使用的位速率可随着帧变化。基础编码器的当前位速率可因此用于确定增强流的量化参数。
在一种情况下,来自基础信号942还可指示基础编码器希望添加到其流的“填充”数据的量。在此情况下,编码器可用额外增强流数据替换基础编码器“填充”数据以使可用带宽最大化。在此情况下,如果存在高填充水平,则速率控制器900可能够设定产生较低步宽的量化参数Qt值,使得在缓冲器内接收更多残差数据。这是可能的,因为可在基础编码器流中移除或替换“填充”数据(例如,在缓冲器之前或缓冲器处),因为其不需要用来解码基础编码流。
图9中,速率控制器900包括目标大小估计组件910。此组件接收来自缓冲器信号940和来自基础信号942。目标大小估计组件910可被配置成经由来自缓冲器信号940接收缓冲器的状态,以及经由来自基础信号942接收关于基础编码器正计划添加到帧的“填充”数据的量的信息。目标大小估计组件因此确定帧的目标数据大小。保存在缓冲器内的数据量可由可正规化于0到1或0%到100%的范围内的“充满度”参数指示,其中60%指示缓冲器60%充满(即,具有40%的剩余空间)。在此情况下,可限定映射函数或查找表以从“充满度”块组映射到“目标大小”参数,其中目标大小是待由第一和第二增强层中的一个或多个编码的下一帧的目标大小。在一种情况下,映射函数或查找表可实施可基于实验设定的非线性映射。在一种情况下,目标大小估计还可基于配置参数设定,所述配置参数指示混合视频流的待由增强流填充的所要比例(例如,混合视频流的的剩余部分由基础流填充)。
在图9的实例中,由目标大小估计组件910确定的目标大小传送到Q估计组件920。图9中,Q估计组件920另外从参数缓冲器930接收输入,所述参数缓冲器存储来自先前帧的量化参数集合Qt-1。如此,以与图6类似的方式,提供一种反馈机制,其中使用用于编码第一帧的数据量来设定用于编码后续帧的量化参数。
图9中,Q估计组件920接收来自目标大小估计组件910的目标大小,来自先前帧的量化参数集合Qt-1,以及以来自先前帧的量化参数集合Qt-1编码的当前帧的大小(当前数据大小)(“当前大小”)。当前帧的大小可由当前大小估计组件940供应。当前大小估计组件940可使用增强编码管线(例如,L-1或L-2组件)中的至少一个的至少部分实施方案来基于来自参数缓冲器930的输入确定当前大小。当前大小估计组件940可包括图6的惯性参数计算器632的型式,其中其在给定来自先前帧的编码数据集合的情况下模拟用于编码给定帧的大小度量。在一种情况下,“当前大小”信息可由增强编码管线中的至少一个的并行副本确定,例如将用量化参数Qt量化当前帧以供传输,但当前大小估计组件940接收Qt-1并基于这些量化参数通过执行不传输的编码来确定当前大小。在另一实例中,或者可例如基于预记录的视频的预处理从云配置接口接收当前大小。在例如图6中展示的此另一实例中,可不需要并行实施方案。
在图9中,Q估计组件920取其输入(例如,如上文所描述)且计算初始所估计量化参数集合Q't。在一种情况下,此可使用将数据大小(例如,如目标或当前大小所表达)映射到量化参数的大小函数的集合来执行。数据大小和/或量化参数可例如正规化到0和1之间的值。量化参数可与量化步长相关联,例如其可以是与量化步长成反比的“质量因子”和/或可以是所述量化步长。
在图9的实例中,可限定曲线的集合以将正规化大小映射到量化参数上。每一曲线可具有乘数和偏移中的一个或多个,其可取决于当前帧的性质(例如,其可取决于待在帧内编码的信息的复杂性)。乘数和偏移可限定曲线的形状。乘数可应用于作为量化参数Q的函数的大小正规化函数。在一种情况下,当前大小(即,以Qt-1编码的帧t的大小)和Qt-1可用于限定曲线集合的空间内的点。此点可用于从曲线集合选择最接近曲线的集合。这些可以是所述点上方的曲线和所述点下方的曲线或者所述点的最高或最低曲线。最接近曲线的集合可连同所述点一起在内插函数中使用以确定与所述点相关联的新曲线。一旦确定此新曲线,就可确定用于新曲线的乘数和偏移。这些值可接着连同所接收目标大小一起用于确定Qt的值(例如,曲线可限定大小的函数和Q)。
在某些情况下,至少速率控制器900的Q估计920为自适应的,其中一个或多个先前帧的性质影响当前帧的Q估计。在一种情况下,曲线的集合可存储在可访问的存储器中且基于针对先前帧确定的曲线的集合而更新。在某些情况下,可针对译码单元或块内的不同系数位置,例如针对4或16个系数的阵列中的不同要素(针对2×2或4×4变换)以不同方式应用自适应量化。
最后,图9的实例表征Q封顶组件950,其接收从Q估计组件920输出的所估计量化参数集合Q'且基于一个或多个因素校正此集合。Q封顶组件950可包括质量调整器650的一型式或一部分。所估计量化参数集合Q't可包括一个或多个值。在一种情况下,可基于基础编码层的操作特性中的一个或多个和量化参数Qt的改变来校正初始量化参数集合Q't。在一种情况下,可基于由基础编码层使用的可随来自此层的数据接收的量化参数的集合来封顶所估计量化参数集合Q't。在一种情况下,在具有或不具有使用基础编码层数据的调适的情况下,可基于先前量化参数集合的值限制所估计量化参数集合Q't。在此情况下,Q't的最小值和最大值中的一个或多个可基于先前Q值(例如,Qt-1)设定。接着提供封顶的输出作为最终量化参数集合Qt,如由图9中的950所示。
在一种情况下,量化参数集合包括Qt的一个值。在此情况下,由量化组件之一应用于帧t的步宽可基于Qt设定。用以确定步宽的函数也可基于最大步宽(例如,步宽可在0和10之间的范围内)。实例步宽计算为:
步宽=[(1-Q0.2)·(步宽最大-1)]+1
现将参考图10A和10B描述特定量化变化。这些描述可如何在一个或多个量化块中应用量化参数。
图10A提供可如何基于具有限定的步宽的块组执行残差和/或系数(经变换残差)的量化的实例。图10A仅为了举例而提供,且可存在此项技术中已知的实施量化的不同的方式。图10A中,的x轴表示残差或经变换系数值。在此实例中,以步宽5限定块组的数目。步宽的大小可例如基于参数值来选择。在某些情况下,可动态地例如基于上文描述的速率控制实例来设定步宽的大小。
图10A中,步宽产生对应于0-4、5-9、10-14、15-19的范围内的残差值的块组(即,0到4包含0和4两者)块组宽度可被配置成视需要包含或排除端点。在此实例中,通过用整数值替换落到块组内的所有值来执行量化(例如,0和4之间(包含端点)的残差值具有经量化值1)。图10A中,可通过除以步宽(例如,5)来执行量化,取结果的本底(即,对于正值,小于某一小数的最接近的整数),且接着加一(例如,3/5=0.6,floor(0.6)=0,0+1=1;或16/5=3.2,floor(3.2)=3,3+1=4)。可以类似方式处理负值,例如通过作用于绝对值,接着在计算之后转换为负值(例如,abs(-9)=9,9/5=1.8,floor(1.8)=1,1+1=2,2*-1=-2)。图10A展示其中所有块组具有共同步宽的线性量化的案例。应注意,可制定基于此方法的各种不同实施方案,举例来说,第一块组可具有经量化值0而非1,或可包括值1到5(包含端点)。图10A仅为根据给定步宽的块组的量化的一个图示。
图10B展示可如何实施所谓的“死区”(DZ)。图10B中,将具有预定义范围内的值的残差或经变换系数设定为0。图10B中,预定义范围是值0附近的范围。图10B中,将小于6且大于-6的值设定为0。死区可设定为固定范围(例如,-6到6)或可基于步宽来设定。在一种情况下,死区可设定为预定义多个步宽,例如设定为步宽值的线性函数。在图10B的实例中,将死区设定为2.4*步宽。因此,在步宽5的情况下,死区从-6延伸到+6。在其它情况中,死区可设定为步宽值的非线性函数。
在一种情况下,死区基于动态步宽而设定,例如可以是自适应的。在此情况下,死区可随步宽改变而改变。举例来说,如果步宽更新为3而非5,则2.4*步宽的死区可从范围-6到+6改变为范围-3.6到3.6;或如果步宽更新为10,则死区可改变以从-12延伸到12。在一种情况下,步宽的乘数可介于2和4之间。在一种情况下,乘数还可为自适应的,例如基于例如可用位速率等操作条件。具有死区可帮助减少待经由网络传输的数据量,例如帮助减小位速率。当使用死区时,有效地忽略落到死区内的残差或系数值。
在一种情况下,用于量化的步宽可针对2×2或4×4经变换系数块内的不同系数变化。举例来说,较小步宽可指派到以实验方式确定为更大程度上影响经解码信号的感知的系数,例如在如上文所描述的定向分解(DD-平方或“DDS”)中,可向AA、AH、AV和AD系数指派较小步宽,稍后的系数被指派较大步宽。在此情况下,可限定设定默认步宽的base_stepwidth参数,且接着可将修改符应用于此参数以计算modified_stepwidth以在量化(和解量化)中使用,例如modified_stepwidth=base_stepwidth*修改符,其中可基于块或单元内的特定系数设定修改符。
在某些情况下,修改符可另外或替代地取决于增强的层级。举例来说,对于层级1增强流来说,步宽可较小,因为其可影响较高质量水平下的多个经重建像素。
在某些情况下,可基于块内的系数和增强的层级两者限定修改符。在一种情况下,可针对不同系数和不同增强层级以修改符的集合限定量化矩阵。此量化矩阵可在编码器和解码器之间传信。在一种情况下,可在编码器处使用由如本文所描述的速率控制器输出的量化参数来构造量化矩阵。
在一种情况下,可限定不同量化模式。在一个模式中,共同量化矩阵可用于两个增强层级;在另一模式中,单独的矩阵可用于不同层级;在又一模式中,量化矩阵可用于仅一个增强层级,例如仅用于层级0。量化矩阵可由系数在块内的位置编索引(例如,对于2×2块,沿x方向0或1以及沿y方向0或1,或者对于4×4块,0到3)。这些模式可取决于所应用的速率控制模式,和被控制的增强层的数目。
在一种情况下,可以值的集合限定基础量化矩阵。可通过作为增强层级中的一个或多个的步宽的函数的缩放因子来修改此基础量化矩阵。在一种情况下,缩放因子可以是步宽变量的箝位函数。在解码器处,可针对层级0流和层级1流中的一个或多个从编码器接收步宽变量。在一种情况下,可使用缩放因子的指数函数缩放量化矩阵中的每一条目,例如每一条目可升高到缩放因子的幂。
图11是根据本发明的实施例的编码过程的流程图。
编码过程可使用本文中所描述的编码器100和/或不同的编码器实施。编码过程用于将输入视频编码为混合视频流。经编码混合视频流包括基础编码流和多个增强流。
在步骤S102处,在第一分辨率下接收输入视频。以某一分辨率按任何已知格式提供输入视频。在步骤S104处,所述方法包括获得编码的所要质量水平指示。此可包括映射到输出质量水平的集合的限定范围内的参数和/或可包括限定的位速率或位速率度量。编码过程产生混合视频流。当解码时,混合视频流以某一质量水平渲染视频。混合视频流包括第二分辨率下的基础编码流以及第一和第二分辨率中的每一个下的多个增强流,第一分辨率高于第二分辨率。
在步骤S106处,所述方法包括编码所述多个增强流中的每一个。此可包括指示步骤S108到S114针对每一增强流的迭代。在步骤S108处,所述方法包括在增强流的相应分辨率下基于输入视频和经重建视频之间的差生成残差集合。举例来说,在本文中所描述的第一增强层级下,分辨率可低于输入视频的分辨率。每一增强流的残差的生成因此提供校正数据,所述校正数据当以基础层解码时将在所述相应分辨率下渲染视频数据。在步骤S110处,所述方法基于所要质量水平执行确定用于残差集合的量化参数的步骤。此可使用如本文所描述的(例如,图4到9中的任一个中展示的)速率控制器执行。通过基于在步骤S104处获得的所要质量水平确定量化参数,尽管位速率归因于编码处理和/或帧内容而变化,也可在编码过程期间维持某一质量水平。在步骤S112处,所述方法包括基于在步骤S110处确定的量化参数来量化残差。此可包括使用量化参数确定步宽,以及执行如图10A和10B中的一个或多个中所示出的量化。经由步骤S112的迭代,基于针对增强流中的每一个确定的量化参数来量化所述流。在优选情况下,用于每一增强流的量化参数是不同的;然而,在某一实例中,可能需要针对每一流使用所述量化参数。因为针对每一增强层执行所述过程,所以展示过程任选地返回到步骤S108。在步骤S114处,在已经确定量化之后,所述方法继续从经量化残差集合创建经编码流。由步骤S114的重复输出的经编码增强流可接着与基础编码流组合以生成混合视频流。在某些情况下,单独地编码基础层级流和增强流,例如由使用与增强流不同的编码方法的独立的基础编解码器生成基础编码流。
如本文所描述的特定方法和编码器组件可由存储在非暂时性计算机可读介质上的指令执行。非暂时性计算机可读介质存储包括指令的代码,所述指令如果由一个或多个计算机执行,则将致使计算机执行如本文所描述的方法的步骤或编码器组件的操作。非暂时性计算机可读介质可包括旋转磁盘、旋转光盘、快闪随机存取存储器(RAM)芯片和其它机械移动或固态存储介质中的一个或多个。一些实例可被实施为:例如半导体芯片等物理装置;此些装置的逻辑或功能特性的硬件描述语言表示;以及被布置成存储此些硬件描述语言表示的一个或多个非暂时性计算机可读介质。本文中叙述原理、方面和实施例的描述涵盖其结构和功能等效物两者。
已经在本文中描述特定实例,且应注意,可能实现来自不同实例的不同组件的不同组合。呈现突出的特征以更好地阐释实例;然而,显然,可在不修改如所描述的这些实例的功能方面的情况下添加、修改和/或省略某些特征。本文中描述为“联接”或“以通信方式联接”的元件具有可通过直接连接或间接连接(其使用一个或多个其它中间元件)实现的有效关系。本文中描述为“通信”或“与另一装置、模块或元件通信”的实例包含任何形式的通信或链路。此外,在不脱离所附权利要求书中限定的本发明的范围的情况下,也可采用上文未描述的等效物和修改。

Claims (19)

1.一种将输入视频编码为混合视频流的方法,所述方法包括:
在第一分辨率下接收所述输入视频;
获得所述编码的所要质量水平的指示,所述所要质量水平设定所述混合视频流的一个或多个位速率,所述混合流包括第二分辨率下的基础编码流以及所述第一和第二分辨率中的每一个下的多个增强流,所述第一分辨率高于所述第二分辨率;
通过以下操作来编码所述多个增强流中的每一个:
在所述增强流的所述相应分辨率下基于所述输入视频和经重建视频之间的差生成残差集合;
基于所述所要质量水平确定用于所述残差集合的量化参数;
基于所述量化参数量化所述残差集合;以及
从经量化残差集合创建经编码流。
2.根据权利要求1所述的方法,其中使用不同量化水平来编码所述基础编码流和所述多个增强流中的至少一个。
3.根据任一前述权利要求所述的方法,其中独立地编码所述基础编码流和所述多个增强流中的一个或多个。
4.根据任一前述权利要求所述的方法,其包括:
在所述第二分辨率下对所述输入视频进行下取样以创建经下取样视频;以及
指示使用第一基础编码器对所述经下取样视频进行编码以创建所述基础编码流。
5.根据任一前述权利要求所述的方法,其中所述多个增强流中的每一个的所述编码逐帧地执行,且针对每一帧及针对所述增强流中的每一个包括:
在所述增强流的所述相应分辨率下重建视频帧;
在所述增强流的所述相应分辨率下将经重建视频帧与从所述输入视频导出的帧进行比较;以及,
基于所述比较生成所述视频帧的残差集合。
6.根据任一前述权利要求所述的方法,其中确定量化参数包括:
接收接收所述多个经编码流中的一个或多个和所述基础编码流的缓冲器的状态;以及
使用所述状态来确定所述量化参数。
7.根据任一前述权利要求所述的方法,其中确定量化参数包括:
基于所述缓冲器的大小和存储在所述缓冲器中的数据量确定所述缓冲器的容量,其中基于所述所要质量水平和所述缓冲器的所确定的容量来确定所述量化参数。
8.根据权利要求7所述的方法,其中确定用于给定增强流的所述残差集合的量化参数包括:
确定编码所述给定增强流的残差数据集合所需的数据量;
将所确定的数据量与所述缓冲器的所述所确定的容量进行比较;以及
基于所述比较调整初始量化参数集合。
9.根据权利要求7到8中任一项所述的方法,其包括:
将所述经量化残差集合的所估计大小与所述缓冲器的所述容量进行比较;
响应于所述比较,改变用于量化的步宽以增加或减小所述经量化残差集合的所述所估计大小。
10.根据权利要求6到9中任一项所述的方法,其中所述缓冲器被配置成以可变位速率从所述基础编码流和所述多个增强流接收输入且以恒定位速率提供输出。
11.根据任一前述权利要求所述的方法,其中基于所述所要质量水平确定用于所述残差集合的量化参数包括:
确定在位速率约束的集合内提供所述所要质量水平的量化参数。
12.根据任一前述权利要求所述的方法,其中基于所述所要质量水平确定用于所述残差集合的量化参数包括针对所述多个增强层级中的每一个:
确定用于所述残差集合的所述量化的步宽。
13.根据任一前述权利要求所述的方法,其中确定用于所述残差集合的量化参数包括:
接收用于与先前视频帧相关联的残差集合的初始量化参数集合;
从用于所述混合视频流的缓冲器接收输入;
从用于编码所述基础编码流的基础编码器接收输入;以及
基于所述输入调整所述初始量化参数集合以确定用于与当前视频帧相关联的残差集合的量化参数的集合。
14.根据任一前述权利要求所述的方法,借此所述确定量化参数的步骤包括:
接收用于编码所述基础编码流的基础编码器的状态;以及
使用所述状态来确定所述量化参数。
15.根据任一前述权利要求所述的方法,其中用于给定增强流的所述量化参数是基于所述增强流的先前量化参数集合。
16.根据任一前述权利要求所述的方法,其中编码所述输入视频的多个帧,且逐帧地针对所述多个帧中的每一个确定所述量化参数。
17.根据权利要求16所述的方法,其中数据帧的所确定的量化参数用作视频数据的后续帧的初始量化参数。
18.根据权利要求17或18所述的方法,其中基于帧的目标数据大小和所述帧的当前数据大小来确定用于所述帧的所述量化参数,所述帧的所述当前数据大小使用先前量化参数集合来确定。
19.一种系统,其包括被配置成执行根据任一前述方法权利要求所述的方法的编码器。
CN201980095810.0A 2019-03-20 2019-12-13 用于视频编码器的速率控制 Pending CN113785580A (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
GBGB1903844.7A GB201903844D0 (en) 2019-03-20 2019-03-20 A method of encoding and decoding a video
GB1903844.7 2019-03-20
GBGB1904014.6A GB201904014D0 (en) 2019-03-23 2019-03-23 Video coding technology
GB1904014.6 2019-03-23
GBGB1904492.4A GB201904492D0 (en) 2019-03-29 2019-03-29 Video coding technology
GB1904492.4 2019-03-29
GB1905325.5 2019-04-15
GBGB1905325.5A GB201905325D0 (en) 2019-04-15 2019-04-15 Video coding technology
GB1909701.3 2019-07-05
GBGB1909701.3A GB201909701D0 (en) 2019-07-05 2019-07-05 Video coding technology
PCT/GB2019/053551 WO2020188230A1 (en) 2019-03-20 2019-12-13 Rate control for a video encoder

Publications (1)

Publication Number Publication Date
CN113785580A true CN113785580A (zh) 2021-12-10

Family

ID=68965928

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980095810.0A Pending CN113785580A (zh) 2019-03-20 2019-12-13 用于视频编码器的速率控制
CN201980096501.5A Pending CN113994688A (zh) 2019-03-20 2019-12-13 视频译码中的残差的处理

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201980096501.5A Pending CN113994688A (zh) 2019-03-20 2019-12-13 视频译码中的残差的处理

Country Status (11)

Country Link
US (2) US20220191521A1 (zh)
EP (2) EP3942815A1 (zh)
JP (2) JP2022526498A (zh)
KR (2) KR20210153060A (zh)
CN (2) CN113785580A (zh)
AU (2) AU2019435415A1 (zh)
BR (2) BR112021018450A8 (zh)
CA (2) CA3133777A1 (zh)
GB (2) GB2599508B (zh)
MX (2) MX2021011339A (zh)
WO (2) WO2020188229A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201905400D0 (en) * 2019-04-16 2019-05-29 V Nova Int Ltd Video coding technology
GB2599341A (en) 2020-07-28 2022-04-06 V Nova Int Ltd Management system for multilayer encoders and decoders and method thereof
GB202103498D0 (en) * 2021-03-12 2021-04-28 V Nova Int Ltd Processing of residuals in video coding
GB2611129B (en) 2022-03-31 2024-03-27 V Nova Int Ltd Signal processing with overlay regions
GB2611131B (en) 2022-03-31 2023-11-22 V Nova Int Ltd Pre-analysis for video encoding
GB2619096A (en) 2022-05-27 2023-11-29 V Nova Int Ltd Enhancement interlacing
WO2024010362A1 (ko) * 2022-07-06 2024-01-11 주식회사 케이티 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체
GB2620994A (en) 2022-08-22 2024-01-31 V Nova Int Ltd Encoding and decoding of pre-processing renditions of input videos
GB2623148A (en) * 2023-06-07 2024-04-10 V Nova Int Ltd Constant rate factor video encoding control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878649A (zh) * 2007-12-04 2010-11-03 索尼公司 扩展avc标准以与视频并行地对高分辨率数字静止图片编码
WO2013171173A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
US20130322524A1 (en) * 2012-06-01 2013-12-05 Hyuk-Jae Jang Rate control method for multi-layered video coding, and video encoding apparatus and video signal processing apparatus using the rate control method
WO2017149327A1 (en) * 2016-03-03 2017-09-08 V-Nova Limited Adaptive video quality

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734677A (en) * 1995-03-15 1998-03-31 The Chinese University Of Hong Kong Method for compression of loss-tolerant video image data from multiple sources
KR20040054744A (ko) * 2001-10-26 2004-06-25 코닌클리케 필립스 일렉트로닉스 엔.브이. 적응 콘텐트 필터링을 사용하는 공간 스케일가능 압축 체계
JP2007514359A (ja) * 2003-12-08 2007-05-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デッドゾーンによる空間スケーラブル圧縮スキーム
EP2249569A1 (en) * 2009-05-08 2010-11-10 Imec Cross-layer optimization for transmission of video codec over wireless networks
WO2011084918A1 (en) * 2010-01-06 2011-07-14 Dolby Laboratories Licensing Corporation High performance rate control for multi-layered video coding applications
CN102823248B (zh) * 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
ES2702614T3 (es) * 2013-01-02 2019-03-04 Dolby Laboratories Licensing Corp Codificación retrocompatible para señales de vídeo de ultra alta definición con dominio dinámico aumentado
ES2699983T3 (es) 2013-04-15 2019-02-13 V Nova Int Ltd Codificación y descodificación de señales híbridas compatibles con versiones anteriores
EP2816805B1 (en) * 2013-05-29 2020-12-30 BlackBerry Limited Lossy data compression with conditional reconstruction reinfinement
US9591316B2 (en) * 2014-03-27 2017-03-07 Intel IP Corporation Scalable video encoding rate adaptation based on perceived quality
US9628803B2 (en) * 2014-11-25 2017-04-18 Blackberry Limited Perceptual image and video coding
GB2544800A (en) * 2015-11-27 2017-05-31 V-Nova Ltd Adaptive bit rate ratio control
GB2553556B (en) 2016-09-08 2022-06-29 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
GB2599566B (en) * 2016-09-08 2022-10-05 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878649A (zh) * 2007-12-04 2010-11-03 索尼公司 扩展avc标准以与视频并行地对高分辨率数字静止图片编码
WO2013171173A1 (en) * 2012-05-14 2013-11-21 Luca Rossato Decomposition of residual data during signal encoding, decoding and reconstruction in a tiered hierarchy
US20130322524A1 (en) * 2012-06-01 2013-12-05 Hyuk-Jae Jang Rate control method for multi-layered video coding, and video encoding apparatus and video signal processing apparatus using the rate control method
WO2017149327A1 (en) * 2016-03-03 2017-09-08 V-Nova Limited Adaptive video quality

Also Published As

Publication number Publication date
JP2022526498A (ja) 2022-05-25
EP3942809A1 (en) 2022-01-26
MX2021011338A (es) 2021-12-10
KR20220004972A (ko) 2022-01-12
CN113994688A (zh) 2022-01-28
BR112021018450A2 (zh) 2021-11-23
CA3133777A1 (en) 2020-09-24
GB2597860B (en) 2023-07-26
WO2020188229A1 (en) 2020-09-24
JP2022529580A (ja) 2022-06-23
GB202114969D0 (en) 2021-12-01
BR112021018466A2 (pt) 2021-11-23
AU2019435415A1 (en) 2021-10-14
US20220191521A1 (en) 2022-06-16
GB202114840D0 (en) 2021-12-01
GB2599508B (en) 2024-01-10
MX2021011339A (es) 2021-12-10
GB2599508A (en) 2022-04-06
GB2597860A (en) 2022-02-09
WO2020188230A1 (en) 2020-09-24
AU2019435947A1 (en) 2021-10-14
EP3942815A1 (en) 2022-01-26
BR112021018450A8 (pt) 2022-06-21
US20220191509A1 (en) 2022-06-16
CA3133774A1 (en) 2020-09-24
KR20210153060A (ko) 2021-12-16

Similar Documents

Publication Publication Date Title
CN113785580A (zh) 用于视频编码器的速率控制
KR102287947B1 (ko) 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
CN105657425B (zh) 编码方法、系统和编码器、解码方法、系统和解码器
US20220385911A1 (en) Use of embedded signalling for backward-compatible scaling improvements and super-resolution signalling
US20230239505A1 (en) Upsampling for signal enhancement coding
CN114009027A (zh) 视频译码中的残差的量化
CN115606179A (zh) 用于使用学习的下采样特征进行图像和视频编码的基于学习的下采样的cnn滤波器
KR20180122354A (ko) 디스플레이 스트림 압축에서의 양자화 파라미터들의 적응적 계산을 위한 장치 및 방법들
US11720998B2 (en) Artificial intelligence (AI) encoding apparatus and operating method thereof and AI decoding apparatus and operating method thereof
US20240048738A1 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
US20220182654A1 (en) Exchanging information in hierarchical video coding
KR102287942B1 (ko) 전처리를 이용한 영상의 ai 부호화 및 ai 복호화 방법, 및 장치
CA3031546A1 (en) Data compression by means of adaptive subsampling
CN115552905A (zh) 用于图像和视频编码的基于全局跳过连接的cnn滤波器
CN114424547A (zh) 视频译码中的残差的量化
CN116508091A (zh) 使用后处理控制的视频解码
KR102312338B1 (ko) Ai 부호화 장치 및 그 동작방법, 및 ai 복호화 장치 및 그 동작방법
US20240040160A1 (en) Video encoding using pre-processing
CN113727102B (zh) 一种低延时有损图像编码器和解码器
US20240155132A1 (en) Processing of residuals in video coding
EA043454B1 (ru) Управление скоростью для видеодекодера
GB2623148A (en) Constant rate factor video encoding control

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