CN103501439B - 使用运动估计失真的帧级率控制 - Google Patents

使用运动估计失真的帧级率控制 Download PDF

Info

Publication number
CN103501439B
CN103501439B CN201310216690.XA CN201310216690A CN103501439B CN 103501439 B CN103501439 B CN 103501439B CN 201310216690 A CN201310216690 A CN 201310216690A CN 103501439 B CN103501439 B CN 103501439B
Authority
CN
China
Prior art keywords
frame
frames
distortion
adjustment
distortion rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310216690.XA
Other languages
English (en)
Other versions
CN103501439A (zh
Inventor
I·V·布赖洛夫斯基
J·D·坦纳
J·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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN103501439A publication Critical patent/CN103501439A/zh
Application granted granted Critical
Publication of CN103501439B publication Critical patent/CN103501439B/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/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/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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/142Detection of scene cut or scene change
    • 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

Landscapes

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

Abstract

这里描述的是与视频编码中的帧级量化参数(QP)调整相关的技术。具体地,描述一种实现比特率控制(BRC)算法的方法,以在视频编码过程中动态地控制QP。

Description

使用运动估计失真的帧级率控制
相关申请
本申请要求2012年4月23日提交的美国临时专利申请NO.61/637,021的优先权的权益。
背景技术
视频编码是准备视频(视频数据)的过程,其中,视频被编码以满足对于记录和重放来说合适的格式和规范。在视频编码和视频压缩中,运动估计是一项重要的并且计算量繁重的任务。
视频编码专家组(VCEG)联合国际标准化组织(ISO)/国际电工委员会(IEC)联合工作组、运动图像专家组(MPEG),已经研发了先进视频编码(AVC)标准。AVC标准,或AVC,也称为H.264。AVC是视频编码标准的一个例子,并且是用于高清晰度视频的记录、压缩和分配的最惯用格式的一种。其他标准包括但不限于:运动图像专家组2(MPEG2),可分级视频编码(SVC),和高效视频编码(HEVC)等。
在典型的视频编码过程中,第一阶段是分析帧以找到空间和时间冗余,该冗余可被开发用来减少描述视频的给定帧的比特数。具体地,可从空间相邻或时间相邻预测每个宏块,其中编码器的目标是预测具有最小数量的误差的当前宏块,这是因为误差校正术语代表在最终比特流的比特中的最大成本。该典型视频编码过程的第二阶段可基于第一阶段,要求编码的第二通道。
附图说明
图1示出了用于实现视频编码的示例性系统。
图2示出了在单一通道中用于实现比特率控制(BRC)算法的示例性视频编码器。
图3示出了用于动态调整量化参数(QP)的示例性查找表。
图4示出了用于在视频编码中实现比特率控制(BRC)的示例性方法。
图5是示例性系统的示意图。
图6是示例性设备的示意图,均为依照本公开的至少一些实施例而布置。
参考附图,提供后续的详细描述。在这些图中,首次出现附图标记的图中,附图标记的最左侧数字通常标识该图。在不同图中,使用相同的附图标记表示类似或相同的项目。
具体实施方式
本文件公开了一个或多个系统、装置、方法等,用于实现比特率控制(BRC)算法,以在单一通道中执行视频压缩。在一个实施例中,BRC算法可在视频编码中实现量化参数(QP)的动态调整。QP可调节多少空间细节被保留。例如,当QP相对小时,几乎所有的空间细节被保留。随着QP的增加,一些空间细节被集中,这样比特率下降,代价为增大失真和质量损失。在一个实现中,基于内部(I)帧、预测(P)帧和/或双向(B)帧编码方式,使用BRC算法来计算失真率。在该实现中,失真率包括在调整当前帧失真上的调整平均失真的比率。该调整平均失真可包括对于给定数量的帧的I帧、P帧或B帧失真的历史平均,而调整当前帧失真包括当前图像帧的帧级失真,或该调整当前帧失真包括限定所述当前图像帧的宏块失真的和。在一个实现中,所述失真率与用于特定的I帧、P帧或B帧类型的阈值比较,这些类型包括不同的阈值。如果所计算出的失真率大于用于特定的I帧、P帧或B帧类型的阈值,那么场景变化被声明。在场景变化声明的情形下,BRC算法可重新设置所有统计、系数、历史QP,并进一步将用于当前帧的QP设置为其初始QP值。否则,如果没有场景变化被声明,那么BRC算法可相应于所述计算出的失真率的范围调整QP。在一个实现中,实现查找表以基于如上所推导的计算出的失真率来确定QP调整的数量。
图1示出可用于实现各种描述实施例的示例性系统。但是,很容易理解,这里公开的技术可在其他计算设备、系统和环境中实现。图1所示的计算设备100是计算设备的一个例子,且并不意图建议对计算机和网络结构的使用或功能范围的任何限制。
在至少一个实现中,计算设备100包括至少一个处理单元102和系统存储器104。依赖于计算设备的精确配置和类型,系统存储104可以是易失性的(诸如RAM),非易失性的(诸如ROM,闪存等),或它们的一些组合。系统存储104可包括操作系统106,一个或多个程序模块108,在某些实现中,其可实现这里描述的BRC算法的方法和技术。系统存储器104可进一步包括程序数据110,其可包括在本文件后面将被描述的宏块/形状数据库。此外,编码器112也包含在本例中。编码器112可用于实现如这里所述的视频编码、运动估计、运动补偿等。编码器112可操作地耦合到处理单元102、系统存储器104和这里进一步描述的其他存储器、输入/输出、设备和其他未示出的部件/设备,并与它们进行通信。计算设备100的基本实现由虚线114标定出。例如,在某些实现中,编码器112可以是设在中央处理单元(CPU)中的集成图形芯片的一部分,其包括3D和媒体,具有包括视频(尤其是视频解码/编码)的媒体功能。在某些实现中,专用集成电路或ASIC可包括编码器112,其作为固定功能的编码器。
可以预期的是,具有视频编码的设备可利用所描述的技术、方法和设备。这些设备的例子包括媒体播放器、视频会议设备等。
在某些实现中,程序模块108可包括具体模块(未示出),诸如编码解码器或基于软件/固件的编码器,其被配置为实现这里描述的视频编码技术和方法。例如,在某些实现中,这些模块可执行编码器112的处理。示例性编码解码器包括AVC、VC1、ATVC和SVC。
计算设备100可具有附加特征或功能。例如,计算设备100还可包括附加数据存储设备,诸如可移动储存器116和不可移动储存器118。在某些实现中,可移动储存器116和不可移动储存器118是计算机可存取媒介,用于存储可由处理单元102执行从而实现上述的各种功能的指令。一般地,可使用软件、硬件(例如固定逻辑电路)或使用这些实现的组合实现参考附图描述的任何功能。程序代码可存储在一个或多个计算机可存取媒介,或其他计算机可读存储设备中。因此,这里描述的过程和部件可由计算机程序产品来实现。如上所提到的,计算机可存取媒介包括易失性和非易失性的,可移动和不可移动的媒介,这些媒介可以用于信息存储的任何方法或技术实现,诸如计算机可读指令、数据结构、程序模块、或其他数据。术语“计算机可存取介质”和“计算机可存取媒介”涉及非暂时性存储设备,包括但并不限于:RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用光盘(DVD)或其他光学储存器、盒式磁带、磁带、磁盘储存器或其他磁性储存设备,或任何其他非暂时性存储介质,其可用于存储由例如计算设备100的计算设备存取的信息。任何这样的计算机可存取媒介可以是计算设备100的一部分。
在一个实现中,可移动储存器116是计算机可存取介质,其上存储有一组指令。当处理单元102执行该组指令时,该组指令使得处理单元102执行如这里所述的操作、任务、功能和/或方法和其任何变型。
计算设备100还可包括一个或多个输入设备120,诸如键盘、鼠标、笔、语音输入设备、触屏输入设备等。计算设备100可附加地包括一个或多个输出设备122,诸如显示器、扬声器、打印机等。
计算设备100还可包括一个或多个通信连接124,其允许计算设备100通过连接126与一个或多个其他设备(未示出)有线或无线通信。可以理解,所示的计算设备100是一个合适设备的例子,而非意图建议任何对于各种所述的实施例的使用范围或功能的限制。
图2示出示例性视频编码器112,其实现BRC算法,以在单一通道中执行视频压缩。换言之,通过动态地调整QP来执行单一通道视频压缩,以在编码和比特率传输期间保持质量。在某些实现中,视频编码器112可实现为中央处理单元的一部分、集成电路芯片组的一部分,或单个部件/设备。如上所述,在某些实现中,视频编码器112可实现为固件或软件,诸如编码解码器。进一步地,图2仅仅是示意性的,并且可包含附加的块或部件,和/或块或部件的不同排列。
在一个实现中,视频编码器112可接收来自视频输入200的待编码的图像帧,以产生编码比特流形式的相应编码帧,该比特流包括I、P和/或B帧的序列或组合。在该实现中,视频编码器112的一个或多个块可被配置为执行符合诸如MPEG、H.264等的一个或多个标准的视频编码。在一个实现中,可由运动估计部件202处理从视频输入200接收到的图像帧,从而将接收到的图像帧编码为I帧(即,静止帧)和/或帧间编码帧(即P帧或B帧)编码方式。该I帧编码涉及一种编码方式,其中基于相同帧的宏块呈现图像帧的宏块(即,不参考除其本身之外的任何其他图像帧对图像帧进行编码)。运动估计部件202可使用空间压缩技术来编码I帧。空间压缩技术可按照之上注明的标准执行。相应地,运动估计部件202可操作以确定图像帧中的宏块间的相关性,以产生用于I帧的宏块的压缩或未压缩的呈现。此外,运动估计部件202可产生代表P帧或B帧中的宏块间的位移的运动矢量,其包括在编码方式中的参考帧。运动估计部件202可使用之前存储的图像帧(未示出),其作为P帧和B帧的编码方式的基础。
在一种实现中,失真估计器部件204被配置为计算在“调整平均失真”和“调整当前帧失真”之间的失真率“a”。对于失真率“a”,配置的计算如以下公式中所示:
其中:a-与帧类型阈值(未示出)比较的失真率;
b-用于I、P或B帧类型的调整平均失真;
c-调整当前帧失真;
e-为用于任一I、P或B帧类型的计算出的历史平均失真(没有最大和最小历史值);
d-对于当前帧的计算出的帧级失真或宏块级失真之和(即当前帧可能是I、P或B帧类型);
f-对于每个帧类型的计算出的失真(即,“f”可能是I、P或B帧类型);
n-将被平均的每个帧类型的帧数;
α-0到1之间的典型值常量;以及
MB-当前帧中的宏块的数量。
在一个实现中,失真估计器部件204被配置为计算在I帧、P帧或B帧类型的每个上的失真率“a”。例如,公式1中的失真率“a”可包括系数或变量“b”,其基于预先存储的用于I帧(例如,最后5个I帧)的计算出的失真,或者,变量“b”可基于预先存储的用于P帧(例如,预测的4个P帧)计算出的失真,或者,变量“b”可基于预先存储的用于B帧(例如,最后4个B帧)计算出的失真。在这个例子中,变量“b”可以基于针对三种不同帧类型(即,I、P或B帧类型)的给定数量的帧;但是,变量“c”可基于当前帧。在一个实现中,公式1中的失真率“a”与阈值“ω”比较,该阈值包括依赖于帧类型(即I、P或B帧)的不同的范围值,如上所述,该帧类型用于计算变量“b”。例如,如果最后五个I帧被用来计算变量“b”,那么用于I帧类型的阈值“ω”用于针对失真率“a”的比较参考。
在一个实现中,失真估计器部件204可被配置为:使用存储在系统存储器104中的其他帧,来计算公式4中的调整平均失真值“e”。例如,如果系统存储器104中的最后15帧包括5个单独计算出的I帧失真、5个单独计算出的P帧失真和5个单独计算出的B帧失真,那么用于每个类型帧的计算出的平均失真“e”可被计算为单独计算出的失真(即I、P或B帧)之和除以5。在另一个例子中,如果系统存储器104中的最后15帧包括3个单独计算出的I帧失真、6个单独计算出的P帧失真和6个单独计算出的B帧失真,那么用于I、P或B类型的帧的计算出的平均失真“e”可被计算为为每种类型(即I、P、或B帧)单独计算出的失真之和分别除以3、6和6。在历史调整失真值不可用的其他实现中,可使用下面的方法计算公式4中的“e”:
对于I帧:使用根据经验限定的阈值,其针对编码解码器单独进行估计(例如,一个阈值用于MPEG2,另一个用于AVC等);
对于P帧:估计的历史失真等于先前的I帧失真乘以一个系数。该系数依赖于编码解码器,例如系数=0.75;
对于B帧:估计的历史失真等于先前的P帧失真乘以一个系数。该系数依赖于编码解码器,例如系数=0.75。
在一个实现中,失真估计器部件204使用帧级计算或使用宏块级计算来计算调整当前帧失真“c”。在帧级计算中,公式3中的变量“d”可包括当前帧上实际计算出的失真,该当前帧为整体或单个宏块。该整体或单个宏块可使用自身作为参考来执行帧级计算。在宏块级的计算中,公式3中的相同变量“d”可包括在限定当前帧的单个宏块上计算出的失真之和。类似的,失真之和使用相同的当前帧来获取用于变量“d”的宏块级计算。在一个实现中,在计算公式3中的变量“d”的过程中,当前帧可包括降低的分辨率。此外,在计算公式1中的失真率“a”时,可类似地应用该降低的分辨率。
在一个实现中,BRC部件206可使用用于QP的动态调整的计算出的失真率“a”。在该实现中,计算出的失真率“a”与阈值“ω”比较,以确定场景变化是否发生。例如,如果计算出的失真率“a”大于配置的阈值“ω”,那么场景变化被声明。在场景变化的情形下,BRC部件206将重新设置所有的统计,诸如系数“a”、“b”、“c”、历史QP等,并且进一步将用于当前帧的QP设置为等于其初始QP值。如果没有场景变化被声明,那么检测的率控制可依赖于计算出的失真率“a”的范围来调整当前帧的QP,以下将进一步讨论。该检测的率控制可由BRC算法实现,以使用计算出的失真率“a”的实际值来调整用于当前帧类型的QP。
在一个实现中,BRC部件206可通过反馈环路210从模式决策部件208接收“当前”传输比特率,并操作以确定将要用来量化当前帧的宏块的QP。在该实现中,该“当前”传输比特率可包括当前模式,诸如,在当前是否由当前模式决策部件208布置I、P或B帧类型用于编码和发送。例如,该“当前”传输比特率可限定为在模式决策部件208处用于当前帧类型(例如I帧)的最终或当前QP值。在这个例子中,在场景变化声明的情形下,当前QP值可被重新设定,以包括用来量化当前I帧的宏块的初始值。但是,如果没有声明场景变化,那么反馈环路210应用的QP的值可依赖于公式1中推导出的计算出的失真率“a”而增加或减少。此外,反馈环路210可提供系统存储104中存储的帧(未示出),用于计算用于当前帧的公式1中的失真率“a”。在一个实现中,BRC部件206可使用公式1中的失真率“a”来更好地估计当前帧的尺寸。
在一个实现中,BRC部件206控制量化器部件212,用于在单个通道中编码视频帧200。量化器部件212可包括动态可调整的QP,其用作编码方式过程中用于控制要保持或丢弃的信息量的关键参数。例如,QP越高,保留的信息越少,因此,编码方式的质量降低。类似地,QP越低,保留的信息越多,因此,编码方式的质量增加。在一个实现中,未声明场景变化,使用图3所讨论的查找表来适当配置量化器部件212中的动态可调整QP。在另一实现中,声明场景变化,那么量化器部件212的QP被重新设定为其初始值。
图3示出示例性查找表300,其用于依赖于公式1中计算出的失真率“a”的实际值,来动态调整QP。在一个实现中,当没有声明场景变化时,查找表300可由BRC算法利用。换而言之,对于具体帧类型(即,I、P或B帧)的计算出的失真率“a”小于用于具体帧类型的阈值“ω”。在一个实现中,BRC部件206可依赖于计算出的失真率“a”的范围,动态地调整量化器部件212的QP。例如,如果计算出的失真率“a”302包括小于0.5的一个值(即“<0.5”304),那么可做出相应的QP调整306,以包括最小QP(即“--”308)。在这个例子中,BRC算法可被配置为显著地减少从在反馈环路110中的“当前”传输比特率推导出的QP的当前值。在另一例子中,如果计算出的失真率“a”302包括大于0.85但小于1.07的一个值(即“0.85-1.07”304),那么可做出相应的QP调整306,以包括数值为0的QP(即“0”320)。换而言之,维持从在反馈环路110中的“当前”传输比特率推导出的QP的当前值。在其他例子中,对于计算出的失真率“a”302的不同值,如在块310、314和316中所示出的,QP调整306可分别包括如在块318、322和324中所示的QP调整。
图4示出示例性处理流程400,其阐述实现BRC算法以在单一通道中执行视频压缩的示例性方法。所描述的方法的顺序并非旨在限制为约束,而是可以以任何顺序组合任意数量的所述方法块以实现该方法,或替换该方法。附加地,在不脱离这里所述的主题的精神和范围的情况下,单个块可从本方法中删除。此外,在不脱离本发明的范围的情况下,该方法可在任何合适的硬件、软件、固件或它们的组合中实现。
在块402,执行接收图像帧。在一个实现中,可以从视频编码器(例如,视频编码器112)的视频输入或源(例如,视频输入200)接收图像帧,用于编码以产生编码比特流形式的相应的编码帧。在一个实现中,可由运动估计部件(例如,运动估计部件202)处理从视频输入200处接收的图像帧,以将接收的图像帧编码为I帧和/或帧间编码帧,诸如P帧或B帧。
在块404,执行计算图像帧的帧级失真。在一个实现中,失真估计部件(例如,失真估计部件204)可使用帧级失真计算来计算接收的图像帧的调整的当前帧失真(例如,公式1中的“c”)。在帧级失真计算中,该计算可基于在作为整体或单个宏块的当前帧上实际计算出的失真,而不用参考除其自身或它们自身以外的其他任何帧。换而言之,出于计算公式1中调整的当前帧失真“c”的目的,该接收到的图像帧被当作是单个帧。在其他实现中,失真估计部件204可使用宏块级计算来计算调整的当前帧失真“c”。例如,接收到的图像帧可包括限定在计算调整的当前帧失真“c”的帧级失真要求的宏块失真之和。在一个实现中,变量“c”的帧级失真可包括所接收帧和作为参考的自身之间的偏差。
在块406,执行计算平均失真。在一个实现中,失真估计部件204被配置为计算对于每个帧类型(即,I、P或B帧)的平均失真(例如,公式2中的变量“b”)。例如,对于I帧类型的平均失真“b”可包括之前计算出的“n”个I帧失真(例如,f1是I帧1,f2是I帧2,...fn是I帧n)之和除以“n”。
在块408,执行计算失真率。在一个实现中,失真估计部件204可被配置为计算失真率(例如公式1中的变量“a”)。该失真率“a”可包括在调整的当前帧失真“c”上的平均失真“b”的比率。在一个实现中,失真估计部件204可计算用于特定帧类型的失真比率“a”,在模式决策块(例如,模式决策部件208)处将所述失真比率“a”量化,以用于比特率传输。例如,在H.264标准下,模式决策部件208可连续地发送单个I帧、两个P帧和一个B帧,来代表一个宏块。在该例子中,对于该单个I帧、两个P帧和一个B帧,失真估计部件204可分别计算不同的失真率“a”。在一个实现中,基于阈值(例如,包含对于不同帧类型的不同值的阈值“ω”)进行QP的调整。
在块410处,执行确定失真率“a”是否大于阈值“ω”。在一个实现中,BRC部件(例如,BRC部件206)可被配置为:比较用于特定帧类型的计算出的失真率“a”与用于该特定帧类型的阈值“ω”。例如,如果计算出的失真率“a”大于阈值“ω”,那么在块412处,将QP的当前值和其他变量/系数重新设定为其初始值。该初始值可包括视频编码器112的用于正常处理不同帧类型的配置参数。在另一方面,如果失真率“a”小于阈值“ω”,那么在块414处,可基于查找表(例如查找表300)调整对于特定帧类型的QP的当前值。在一个实现中,可基于计算出的失真率而保持、增加或减少QP的当前值。
在块416处,执行编码和发送比特流。在一个实现中,模式决策部件(例如,模式决策部件208)可确定I帧、P帧或B帧编码方式的序列和/或组合,所述编码方式可用于编码和发送包括I、P和/或B帧类型的比特流。I帧、P帧或B帧编码方式的序列和/或组合可使用重新设定412或调整QP414提供的QP。在一个实现中,如果没有声明场景变化,那么通过调整QP414将QP的最终值反馈或存储用于处理。例如,如果在块402处接收到的下一图像帧中没有声明场景变化,那么QP的最终值可作为调整QP块414处的参考。
在示例性实现的上述描述中,出于解释的目的,如所要求的,为了更好地解释本发明,将阐述具体的数字、材料配置和其他细节。但是,对于本领域技术人员来说显而易见的是,可使用与这里描述的示例细节不同的细节来实现要求的发明。在其他例子中,可省略或简化公知的特征,以澄清示例性实现的描述。
发明人旨在将描述的示例性实现作为基本的例子。发明人并非意图用这些示例性实现来限制附加权利要求的范围。相反,发明人已经注意到,与其他现有的或将来的技术一起,也可以通过其他方式实施和实现要求的发明。
如在本申请中使用的,术语“或者”意在指包括性“或者”而非排除性“或者”。也就是说,除非另有说明或者从上下文可清楚得知,否则“X使用A或者B”意在指任何自然包括性排列。也就是说,如果X使用A;X使用B;或者X使用A和B,则在任何前述情形下,满足“X使用A或者B”。此外,在本申请中和随附权利要求中使用的冠词“一(a)”和“一(an)”应该一般地被解释为指“一个或多个”,除非另有说明或者从上下文中可以明确得知指向单数形式。
这些过程被示出为在逻辑流程图中的块的集合,其呈现的操作顺序在机构中可以单独地或结合硬件、软件和/或固件实现。在软件/固件的上下文中,块代表存储在一个或多个计算机可读存储介质上的指令,当由一个或多个处理器执行时,其执行列举的操作。
需要注意的是,所描述的过程的顺序并非意图作出限制,而是可以以任何顺序组合任何数量的所述处理块,以实现所述过程或替换过程。另外,在不脱离这里所述的主题的精神和范围的情况下,可从本处理中删除单个块。
图5示出了根据本公开的另一个示例性系统500。在各种实现中,系统500可以是媒介系统,不过系统500并不限于该情况。例如,系统500可被并入到个人计算机(PC)、膝上计算机、超级膝上计算机、平板电脑、触屏平板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、移动电话、组合移动电话/PDA、电视、智能设备(例如,智能电话、智能平板电脑或智能电视)、移动网络设备(MID)、消息设备、数据通信设备等等。
在各种实现中,系统500包括耦合到显示器520的平台502。平台502可接收来自诸如内容服务设备530,或内容传输设备540或其他类似的内容源的内容服务设备的内容。包括一个或多个导航特征的导航控制器550可用来例如与平台502和/或显示器520相互作用。下面将对这些部件的每一个做出更详细的描述。
在各种实现中,平台502可包括芯片组505、处理器510、存储器512、储存器514、图形子系统515、应用516和/或无线电518的任意组合。芯片组505可提供处理器510、存储器512、储存器514、图形子系统515、应用516和/或无线电518间的相互通信。例如,芯片组505可包括能够提供与储存器514相互通信的储存器适配器(未示出)。
处理器510可实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各种实现中,处理器510可以是双核处理器、双核移动处理器等等。
存储器512可被实现为易失性存储器设备,诸如,并不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
储存器514可实现为非易失性储存器设备,例如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部储存设备、附属储存设备、闪存、电池备份SDRAM(同步DRAM)和/或网络可存取储存设备。在各种实现中,例如,当包含多个硬盘驱动器时,储存器514可包括用于有价值数字媒介增加储存器性能增强保护的技术。
图形子系统515可执行诸如用于显示静止的或视频的图像处理。例如,图形子系统515可以是图形处理单元(GPU)或可视化处理单元(VPU)。模拟或数字接口可用于通信地耦合到图形子系统515和显示器520。例如,接口可以是高清晰度多媒体接口、显示器端口、无线HDMI和/或无线HD相应技术中的任何一种。图形子系统515可集成到处理器510或芯片组505中。在一些实现中,图形子系统515可以是通信地耦合到芯片组505的独立卡。
这里描述的图形和/或视频处理技术可在各种硬件结构中实现。例如,图形和/或视频功能可集成在芯片组中。可替换地,可使用离散图形和/或视频处理器。如在另一实现中,图形和/或视频功能可由通用处理器提供,其包括多核处理器。在又一实现中,可在消费者电子设备中实现所述功能。
无线电518可包括能够使用各种合适的无线通信技术发送并接收信号的一个或多个无线电。这样的技术可涉及一个或多个无线网络上的通信。示例性无线网络包括(但并不限于)无线局域网(WLAN)、无线个人局域网(WPAN)、无线城域网(WMAN)、蜂窝网和卫星网络。在这些网络上的通信中,无线电518可以按照任意版本的一个或多个应用标准进行操作。
在各种实现中,显示器520可包括任何电视类型的监视器或显示器。显示器520可包括,例如,计算机显示屏、触屏显示器、视频监视器,电视类设备和/或电视。显示器520可以是数字的和/或模拟的。在各种实现中,显示器520可以是全息显示器。另外,显示器520可以是可接收视像投射的透明表面。这些投射可传达各种形式的信息、图像和/或对象。例如,这些投射可以是用于移动增强现实(MAR)应用的可视覆盖。在一个或多个软件应用516的控制下,平台502可在显示器520上显示用户接口522。
在各种实现中,例如,内容服务设备530可被任何国家的,国际的和/或独立的服务作为主机,并且因此经由因特网可由平台520访问。内容服务设备530可耦合到平台502和/或显示器520。平台502和/或内容服务设备530可耦合到网络560,以传输(例如,发送和/或接收)媒体信息到网络560和从网络560传输媒体信息。内容传递设备540还可耦合到平台502和/或显示器520。
在各种实现中,内容服务设备530可包括能够传递数字信息和/或内容的有线电视盒、个人计算机、网络、电话、网络使能设备或装置,以及能够单向或双向地在内容提供者和平台502和/或显示器520之间传输内容的任何其它类似设备。需要认识到,通过网络560,可单向和/或双向地将内容传输到系统500中的任何一个部件和内容提供者,并从系统500中任何一个部件和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括:视频、音乐、治疗和游戏信息等等。
内容服务设备530可接收诸如包括媒体信息、数字信息和/或其他内容的有线电视编码的内容。例如,内容提供者可包括任意有线或卫星电视或无线或网络内容提供者。该提供的例子并非旨在以任何方式限制依照本公开的实现。
在各种实现中,平台502可接收来自具有一个或多个导航特征的导航控制器550的控制信号。例如,控制器550的导航特征可用于与用户接口522相互作用。在实现中,导航控制器550可以是定位设备,其可以是计算机硬件部件(具体地,人机接口设备),允许用户将空间(例如,连续的和多维的)数据输入到计算机。诸如图形用户接口(GUI)、电视和监视器的多个系统允许用户使用物理姿势控制并将数据提供到计算机或电视。
通过移动指针、光标、聚焦环或其他在显示器上显示的可视化指示符,控制器550的导航特征的移动可在显示器(例如,显示器520)上复制。例如,在软件应用516的控制下,位于导航控制器550上的导航特征可被映射到显示在用户接口522上的虚拟导航特征。在实现中,控制器550可能不是分离的部件,而可能集成在平台502和/或显示器520中。但是,本公开并非限于这里描述或显示的元件或环境。
在各种实现中,驱动器(未示出)可包括当激活时,在初始启动之后使得用户通过触摸按钮而立即打开和关闭类似电视的平台502的技术。甚至当平台“关闭”时,程序逻辑也可以允许平台502传输内容到媒体适配器或其他内容服务设备530或内容传递设备540。此外,芯片组505可包括用于例如5.1环绕语音频和/或高清晰度7.1环绕语音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在实现中,图形驱动器可包括外围部件互联(PCI)高速图形卡。
在各种实现中,可集成在系统500中所示的任何一个或多个部件。例如,平台502和内容服务设备530可被集成,或平台502和内容传递设备540可被集成,或者例如,平台502、内容服务设备530和内容传递设备540可被集成。在各种实现中,平台502和显示器520可以是一个集成单元。显示器520和和内容服务设备530可被集成,或者,显示器520和内容传递设备540可被集成。这些例子都并非意图对本公开做出限制。
在各种实施例中,系统500可实现为无线系统、有线系统或两者的组合。当实现为无线系统时,系统500可包括适合于在无线共享媒介上进行通信的部件和接口,例如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等等。无线共享媒体的一个例子可包括无线频谱的一部分,诸如RF频谱等等。当实现为有线系统时,系统500可包括适合于在有线通信媒介上进行通信的部件和接口,例如输入/输出(I/O)适配器、物理连接器以连接该I/O适配器和相应的有线通信介质、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等等。有线通信媒介的例子可包括电线、电缆、金属导线、印刷电路板(PCB)、底板、交换结构、半导体材料、双绞线、共轴电缆、光纤等等。
平台502可建立一个或多个用以传输信息的逻辑或物理信道。该信息可包括媒体信息和控制信息。媒体信息可涉及代表用于用户的内容的任意数据。内容的例子可包括,例如,来自语音会话的数据、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文字等等。来自语音会话的数据可以是,例如,语音信息、静音周期、背景噪声、舒适噪声、音调等等。控制信息可涉及代表用于自动化系统的命令、指令或控制词的任意数据。例如,控制信息可用来路由通过系统的媒体信息,或指引一个节点以预先确定的方式处理媒体信息。但是,这些实施例并非限制到图5中所示或描述的元件或环境。
如上所述,系统500可具体化为改变物理样式或形状因数。图6示出了其中具体化系统500的小型化设备600的实现。在实施例中,例如,设备600可实现为具有无线能力的移动计算设备。例如,移动计算设备可指的是具有处理系统和诸如一个或多个电池的移动电源的任何设备。
如上所述,移动计算设备的例子可包括个人计算机(PC)、膝上计算机、超级膝上计算机、平板电脑、触屏平板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、移动电话、组合移动电话/PDA、电视、智能设备(例如、智能电话、智能平板电脑或智能电视)、移动网络设备(MID)、消息设备、数据通信设备等等。
移动计算设备的例子还可包括布置为由人佩带的计算机,诸如腕上计算机、手指计算机、环状计算机、眼镜计算机、腰带夹计算机、肩章计算机、鞋子计算机、衣服计算机和其他可佩带的计算机。在各种实现中,例如,移动计算设备可实现为能够执行计算机应用的智能手机,以及语音通信和/或数据通信。尽管一些实施例使用以例如实现为智能手机的移动计算设备进行描述,但需要认识到,还可使用其他无线移动计算设备实现其他实施例。这些实施例并非限制在该上下文中。
如图6所示,设备600可包括壳体602、显示器604、输入/输出(I/O)设备606和天线608。设备600还包括导航特征612。显示器604可包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备606可包括用于将信息输入到移动计算设备中的任何合适的I/O设备。I/O设备606的例子可包括字母数字键盘、数字小键盘、触屏平板、输入键、按钮、开关、摇杆开关、麦克风、扬声器、语音识别设备和软件等等。信息还可被借助麦克风(未示出)输入到设备600中。这些信息可被语音识别设备(未示出)数字化。这些实施例并非限制在该上下文中。
各种实施例可使用硬件元件、软件元件或两者的混合来实现。硬件元件的例子可包括处理器、微处理器、电路、电路元件(例如、晶体管、电阻、电容、电感等等)、集成电路、专用集成电路(ASIC)、可编程逻辑装置(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等等。软件的例子可包括软件部件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。确定一个实现是否使用硬件元件和/或软件元件实现可依据任何数量的因素变化,所述因素例如为期望计算比率、功率级、耐热性、处理周期预算、输入数据比率、输出数据比率、存储器资源、数据总线速度和其他设计或性能限制。
至少一个实施例的一个或多个方面可由存储在机器可读介质上的代表性指令实现,所述指令代表处理器内的各种逻辑,当由机器读取时,其使得机器构建逻辑以执行这里描述的技术。这些被称为“IP核心”的呈现可存储在有形的机器可读介质上,并提供给各种消费者或制造设施,以装载到实际完成逻辑或处理器的制造机器中。
尽管已经参考各种实现描述了这里提出的某些特征,但本描述并非意以限制的意思来解释。因此,对这里描述的实现的修改以及其它实现对于本公开所属领域的技术人员而言是显而易见的,并且其被认定为落入本公开的精神和范围内。
依照本发明的实现已经在具体实施例的上下文中做出描述。这些实施例意在示意性而非限制。很多变型、修正、附加和改进都是可能的。因此,针对此处说明的部件,可提供多个实例作为单个实例。各种部件、操作和数据存储之间的边界有些许任意,并且特定操作在具体示意性配置的上下文中说明。其他功能的分配是可预见的,并且将落入后面的权利要求的范围内。最后,在各种配置中呈现为离散部件的结构和功能可实现为组合结构或部件。这些和其他变型、修正、附加和改进将落入后续权利要求所限定的本发明的范围内。
后面的例子从属于进一步的实施例。一种设备,包括:一个或多个处理器;配置到所述处理器的存储器;配置到所述处理器和所述存储器的视频编码器,其包括:视频输入,用于提供图像帧;运动估计器部件,用于接收用于编码的图像帧,所述编码包括内部(I)帧、预测(P)帧和/或双向(B)帧编码方式;失真估计器部件,用于基于所述I帧、P帧和/或B帧编码方式计算失真率;比特率控制(BRC)部件,用于基于所述失真率动态调整量化参数(QP);以及模式决策部件,用于生成代表所述I帧、P帧和/或B帧编码方式的编码比特流,其中使用所述动态调整的QP传送所述编码比特流。
在某些实现中,一种设备,其中所述视频编码器在单个通道中执行编码。
在某些实现中,一种设备,其中所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于给定数量帧的I帧、P帧或B帧失真的历史均值,其中所述调整当前帧包括当前图像帧的帧级失真或限定所述当前图像帧的宏块失真之和。
在某些实现中,一种设备,其中所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于所述I帧的按经验定义的阈值;以及对于P帧和B帧的估计历史失真。
在某些实现中,一种设备,其中所述失真率与用于所述QP的动态调整的阈值进行比较,其中对于包括不同阈值的不同的I帧、P帧或B帧类型分别执行所述比较。
在某些实现中,一种设备,其中失真率的计算基于降低的分辨率。
在某些实现中,一种设备,其中在模式决策部件处的所述QP的最终值被反馈到所述BRC部件,以用于在下一图像帧中对所述QP的动态调整。
在某些实现中,一种设备,其中如果所述失真率大于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明场景变化,其中在场景变化声明的情形下,所述QP被重新设定为初始值。
在某些实现中,一种设备,其中如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明没有场景变化,其中相应于所述计算出的失真率的数量来维持、减少或增加所述QP的值。
在某些实现中,一种设备,其中如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件包括用于所述QP的动态调整的查找表。
一种实现比特率控制(BRC)算法的视频编码器,包括:视频输入,用于提供图像帧;运动估计器部件,用于接收并处理用于编码的所述图像帧;失真估计器部件,用于基于内部(I)帧、预测(P)帧或双向(B)帧失真的调整平均失真和用于所述图像帧的帧级失真来计算失真率;BRC部件,用于基于所述失真率动态调整量化参数(QP);以及模式决策部件,用于基于所述动态调整的QP生成编码比特流。
在某些实现中,一种视频编码器,其中所述运动估计器部件确定所述图像帧的宏块之间的相关性以生成用于I帧编码方式的所述宏块的表示,其中所述运动估计器部件生成表示帧间编码方式中的宏块之间的位移的运动矢量。
在某些实现中,一种视频编码器,其中所述调整平均失真包括对于给定数量帧的I帧、P帧或B帧失真的历史均值,其中所述图像帧的所述帧级失真包括限定所述当前图像帧的宏块失真之和。
在某些实现中,一种视频编码器,其中,所述失真率与用于所述QP的动态调整的阈值进行比较,其中对于包括不同阈值的不同的I帧、P帧或B帧类型分别执行所述比较。
在某些实现中,一种视频编码器,其中所述帧级失真基于所述图像帧的降低的分辨率。
在某些实现中,一种视频编码器,其中所述模式决策部件所使用的所述QP的最终值被反馈到所述BRC部件,作为在下一图像帧中所述QP的动态调整过程中的参考QP。
在某些实现中,一种视频编码器,其中,如果所述失真率大于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明场景变化,其中在场景变化声明的情形下,至少所述QP被重新设定为初始值。
在某些实现中,一种视频编码器,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明没有场景变化,其中相应于所述计算出的失真率的数量来维持、减少或增加所述QP的参考值。
在某些实现中,一种视频编码器,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件包括用于所述QP的动态调整的查找表。
在某些实现中,一种视频编码器,其中所述模式决策部件在单个通道中生成所述编码比特流。
一种在视频编码中实现比特率控制(BRC)算法的方法,包括:接收图像帧;计算所述图像帧的帧级失真;对于内部(I)帧类型、预测(P)帧类型,或双向(B)帧类型计算平均失真;基于所计算出的帧级失真和所计算出的平均失真计算失真率;将所述失真率与配置的阈值进行比较,所述阈值包括对于I帧、P帧或B帧类型的单独的且不同的阈值;基于所述失真率调整量化参数(QP)。
在某些实现中,一种方法,其中计算帧级失真包括限定当前图像帧的计算出的宏块失真之和。
在某些实现中,一种方法,其中计算帧级失真包括用作参考帧的同一图像帧。
在某些实现中,一种方法,其中计算平均失真包括对于给定数量的帧的I帧、P帧或B帧失真的历史均值。
在某些实现中,一种方法,其中计算失真率基于所述接收到的图像帧的降低的分辨率。
在某些实现中,一种方法,其中比较所述失真率包括:如果所述失真率小于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则声明没有场景变化,其中相应于所计算出的失真率的数量来维持、减少或增加所述QP的值。
在某些实现中,一种方法,其中比较所述失真率包括:如果所述失真率大于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则声明场景变化,其中在场景变化声明的情形下,所述QP被重新设定为初始值。
在某些实现中,一种方法,其中所述调整QP包括:如果所述失真率小于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则使用查找表用于所述QP的动态调整。
在某些实现中,一种方法,其中所述调整QP包括:如果所述失真率小于所述配置的阈值,则调整在先前的I帧、P帧或B帧类型上的QP的最终值。
在某些实现中,一种方法,进一步包括在单一通道中编码并传送比特流,其中所述比特流代表I帧、P帧或B帧编码方式的序列和/或组合。

Claims (27)

1.一种设备,包括:
一个或多个处理器;
配置到所述处理器的存储器;
配置到所述处理器和所述存储器的视频编码器,其包括:
视频输入,用于提供图像帧;
运动估计器部件,用于接收用于编码的所述图像帧,所述编码包括内部(I)帧、预测(P)帧和双向(B)帧编码方式;
失真估计器部件,用于基于所述I帧、所述P帧或所述B帧编码方式计算失真率,其中,所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于给定数量帧的I帧、P帧或B帧失真的历史均值,其中所述调整当前帧包括调整当前图像帧的帧级失真或者限定所述调整当前图像帧的宏块失真之和,其中I帧编码的图像帧被编码而不参考除所述图像帧之外的任何其它图像帧;
比特率控制(BRC)部件,用于仅基于所述失真率动态调整量化参数(QP);以及
模式决策部件,用于生成代表所述I帧、P帧和所述B帧编码方式的编码比特流,其中使用所述动态调整的QP传送所述编码比特流。
2.根据权利要求1所述的设备,其中所述视频编码器在单个通道中执行编码。
3.根据权利要求1或2所述的设备,其中所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于所述I帧的按经验定义的阈值;以及对于P帧和B帧的估计历史失真。
4.根据权利要求1或2所述的设备,其中所述失真率与用于所述QP的动态调整的阈值进行比较,其中对于包括不同阈值的不同的I帧、P帧或B帧类型分别执行所述比较。
5.根据权利要求1或2所述的设备,其中所述失真率的计算基于降低的分辨率。
6.根据权利要求1或2所述的设备,其中在所述模式决策部件处的所述QP的最终值被反馈到所述BRC部件,以用于下一图像帧中对QP的动态调整。
7.根据权利要求1或2所述的设备,其中,如果所述失真率大于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明场景变化,其中在场景变化声明的情形下,所述QP被重新设定为初始值。
8.根据权利要求1或2所述的设备,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明没有场景变化,其中相应于所述计算出的失真率的数量来维持、减少或增加所述QP的值。
9.根据权利要求1或2所述的设备,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件包括用于所述QP的动态调整的查找表。
10.一种实现比特率控制(BRC)算法的视频编码器,包括:
视频输入,用于提供图像帧;
运动估计器部件,用于接收并处理用于编码的所述图像帧;
失真估计器部件,用于基于内部(I)帧、预测(P)帧或双向(B)帧失真的调整平均失真和用于所述图像帧的帧级失真来计算失真率,其中,所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于给定数量帧的I帧、P帧或B帧失真的历史均值,其中所述调整当前帧包括调整当前图像帧的帧级失真或者限定所述调整当前图像帧的宏块失真之和,其中I帧编码的图像帧被编码而不参考除所述图像帧之外的任何其它图像帧;
BRC部件,用于仅基于所述失真率动态调整量化参数(QP);以及
模式决策部件,用于基于所述动态调整的QP生成编码比特流。
11.根据权利要求10所述的视频编码器,其中所述运动估计器部件确定所述图像帧的宏块间的相关性,以生成用于I帧编码方式的宏块的表示,其中所述运动估计器部件生成表示帧间编码方式中宏块之间的位移的运动矢量。
12.根据权利要求10或11所述的视频编码器,其中所述失真率与用于所述QP的动态调整的阈值进行比较,其中对于包括不同阈值的不同的I帧、P帧或B帧类型分别执行所述比较。
13.根据权利要求10或11所述的视频编码器,其中所述帧级失真基于所述图像帧的降低的分辨率。
14.根据权利要求10或11所述的视频编码器,其中所述模式决策部件所使用的所述QP的最终值被反馈到所述BRC部件,作为在下一图像帧中所述QP的动态调整过程中的参考QP。
15.根据权利要求10或11所述的视频编码器,其中,如果所述失真率大于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明场景变化,其中在场景变化声明的情形下,至少所述QP被重新设定为初始值。
16.根据权利要求10或11所述的视频编码器,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件声明没有场景变化,其中相应于所述计算出的失真率的数量来维持、减少或增加所述QP的参考值。
17.根据权利要求10或11所述的视频编码器,其中,如果所述失真率小于用于特定的I帧、P帧或B帧类型的阈值,则所述BRC部件包括用于所述QP的动态调整的查找表。
18.根据权利要求10或11所述的视频编码器,其中所述模式决策部件在单个通道中生成所述编码比特流。
19.一种在视频编码中实现比特率控制(BRC)算法的方法,包括:
接收图像帧;
计算所述图像帧的帧级失真;
对于内部(I)帧类型、预测(P)帧类型或双向(B)帧类型计算平均失真;
基于所计算出的帧级失真和所计算出的平均失真计算失真率,其中,所述失真率包括在调整当前帧上的调整平均失真的比率,其中所述调整平均失真包括对于给定数量帧的I帧、P帧或B帧失真的历史均值,其中所述调整当前帧包括调整当前图像帧的帧级失真或者限定所述调整当前图像帧的宏块失真之和,其中I帧编码的图像帧被编码而不参考除所述图像帧之外的任何其它图像帧;将所述失真率与配置的阈值进行比较,所述阈值包括用于I帧、P帧或B帧类型的单独且不同的阈值;
仅基于所述失真率调整量化参数(QP)。
20.根据权利要求19所述的方法,其中计算帧级失真包括用作参考帧的同一图像帧。
21.根据权利要求19所述的方法,其中计算平均失真包括对于给定数量的帧的I帧、P帧或B帧失真的历史均值。
22.根据权利要求19所述的方法,其中计算失真率基于所接收到的图像帧的降低的分辨率。
23.根据权利要求19所述的方法,其中比较所述失真率包括:如果所述失真率小于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则声明没有场景变化,其中相应于所计算出的失真率的数量来维持、减少或增加所述QP的值。
24.根据权利要求19所述的方法,其中比较所述失真率包括:如果所述失真率大于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则声明场景变化,其中在场景变化声明的情形下,所述QP被重新设定为初始值。
25.根据权利要求19所述的方法,其中所述调整QP包括:如果所述失真率小于用于特定的I帧、P帧或B帧类型的所述配置的阈值,则使用查找表用于所述QP的动态调整。
26.根据权利要求19所述的方法,其中所述调整QP包括:如果所述失真率小于所述配置的阈值,则调整在先前的I帧、P帧或B帧类型上的所述QP的最终值。
27.根据权利要求19所述的方法,进一步包括:在单一通道中编码并传送比特流,其中比特流代表I帧、P帧或B帧编码方式的序列和/或组合。
CN201310216690.XA 2012-04-23 2013-04-23 使用运动估计失真的帧级率控制 Active CN103501439B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201261637021P 2012-04-23 2012-04-23
US61/637,021 2012-04-23
US13/624,139 US9438918B2 (en) 2012-04-23 2012-09-21 Frame level rate control using motion estimated distortions
US13/624,139 2012-09-21

Publications (2)

Publication Number Publication Date
CN103501439A CN103501439A (zh) 2014-01-08
CN103501439B true CN103501439B (zh) 2018-08-17

Family

ID=48190139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310216690.XA Active CN103501439B (zh) 2012-04-23 2013-04-23 使用运动估计失真的帧级率控制

Country Status (4)

Country Link
US (1) US9438918B2 (zh)
EP (1) EP2658258A3 (zh)
CN (1) CN103501439B (zh)
TW (1) TWI532366B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9661329B2 (en) * 2014-04-30 2017-05-23 Intel Corporation Constant quality video coding
TWI601420B (zh) * 2014-05-06 2017-10-01 鑽贏雲端購物股份有限公司 數位電視機的廣告影像覆蓋播放方法及其數位電視機
US9549188B2 (en) 2014-07-30 2017-01-17 Intel Corporation Golden frame selection in video coding
US10284849B2 (en) * 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
CN107040788B (zh) * 2016-02-03 2019-09-17 南京云岩信息科技有限公司 一种视频压缩方法及装置
CN108737825B (zh) * 2017-04-13 2023-05-02 腾讯科技(深圳)有限公司 视频数据编码方法、装置、计算机设备和存储介质
US11228786B2 (en) * 2019-07-11 2022-01-18 Google Llc Compressing frame based on errors of previous frames
CN112312134B (zh) * 2019-08-01 2023-03-24 杭州海康威视数字技术股份有限公司 编码方法、装置、电子设备及可读存储介质
CN111950837A (zh) * 2020-05-29 2020-11-17 东南大学 一种适用于电子产品的物联网质量状态编码方法
CN115996293B (zh) * 2023-03-22 2023-06-09 山东云海国创云计算装备产业创新中心有限公司 一种视频图像编码的方法、系统、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208956A (zh) * 2005-05-02 2008-06-25 高通股份有限公司 宏块级速率控制
CN102006471A (zh) * 2009-09-02 2011-04-06 索尼电脑娱乐公司 视频编码的图片级速率控制

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163554A (ja) * 1994-12-02 1996-06-21 Electron & Telecommun Res Inst ビデオビット率制御方法
US6895050B2 (en) * 2001-04-19 2005-05-17 Jungwoo Lee Apparatus and method for allocating bits temporaly between frames in a coding system
DE60206738D1 (de) * 2002-06-11 2005-11-24 St Microelectronics Srl Videokodierungsverfahren und -Vorrichtung mit variabler Bitrate
US6711300B2 (en) * 2002-08-15 2004-03-23 Envivio, Inc. Quantization and compression of information in a direct acyclic graph
US7373004B2 (en) * 2003-05-23 2008-05-13 Silicon Integrated Systems Corp. Apparatus for constant quality rate control in video compression and target bit allocator thereof
US8311113B2 (en) * 2004-11-12 2012-11-13 Broadcom Corporation Method and system for using motion prediction to equalize video quality across intra-coded frames
MX2007011084A (es) * 2005-03-10 2007-11-15 Qualcomm Inc Clasificacion de contenido para procesamiento multimedia.
US8861585B2 (en) 2006-01-20 2014-10-14 Qualcomm Incorporated Method and apparatus for error resilience algorithms in wireless video communication
KR100790986B1 (ko) * 2006-03-25 2008-01-03 삼성전자주식회사 가변 비트율 비디오 코딩에서 비트율을 제어하는 장치 및방법
TW200837663A (en) 2007-03-13 2008-09-16 Univ Nat Taiwan Constant picture quality bit rate control system for a multiple-video encoder in single video signal source and the method
JP5427785B2 (ja) * 2007-09-28 2014-02-26 ドルビー ラボラトリーズ ライセンシング コーポレイション ビデオ圧縮技法及びビデオ伝達技法
CN101778275B (zh) * 2009-01-09 2012-05-02 深圳市融创天下科技股份有限公司 一种自适应时间域和空间域分辨率框架的图像处理方法
WO2011142236A1 (ja) * 2010-05-12 2011-11-17 日本電信電話株式会社 符号量制御方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208956A (zh) * 2005-05-02 2008-06-25 高通股份有限公司 宏块级速率控制
CN102006471A (zh) * 2009-09-02 2011-04-06 索尼电脑娱乐公司 视频编码的图片级速率控制

Also Published As

Publication number Publication date
US9438918B2 (en) 2016-09-06
TW201412121A (zh) 2014-03-16
TWI532366B (zh) 2016-05-01
CN103501439A (zh) 2014-01-08
EP2658258A2 (en) 2013-10-30
EP2658258A3 (en) 2017-07-19
US20130279567A1 (en) 2013-10-24

Similar Documents

Publication Publication Date Title
CN103501439B (zh) 使用运动估计失真的帧级率控制
CN106170979B (zh) 一种用于视频编码的计算机实现的方法、系统、机器可读介质及设备
CN103581665B (zh) 转码视频数据
CN104219524B (zh) 使用感兴趣对象的数据对视频成码的比特率控制
CN104782124B (zh) 利用编码器硬件对视频内容进行预处理
US20210067785A1 (en) Video encoding rate control for intra and scene change frames using machine learning
CN106664412B (zh) 包括目标比特率的视频编码速率控制和质量控制
CN106664437A (zh) 用于无线视频的自适应比特率流传输
US9398311B2 (en) Motion and quality adaptive rolling intra refresh
CN103518227B (zh) 用于随机运动模糊栅格化的深度缓冲器压缩
CN104584552A (zh) 可伸缩视频编码的层间采样自适应滤波参数重复使用
TWI571111B (zh) 包括在多個獨立寫碼串流之間共享移動估測的視訊寫碼技術
CN106664409A (zh) 视频编码中的黄金帧选择
TWI559749B (zh) 層間移動資料繼承之技術
KR20140130508A (ko) 클럭 cabc 디코딩당 2개의 빈
CN104168479A (zh) 用于视频成码的切片级比特率控制
CN112565761A (zh) 利用交叉通道引用进行多通道视频编码的方法和系统
CN104012090B (zh) 内容自适应的高精度宏块速率控制
CN104956671B (zh) 视频帧重建
CN104272738A (zh) 用于可扩展视频编码的自适应滤波
CN103975594B (zh) 用于残差预测的运动估计方法
CN103533347B (zh) 用于视频的多次量化和位压缩控制
CN104221393A (zh) 内容自适应视频处理
JP6005292B2 (ja) ビデオ符号化及び復号のためのヒストグラム分割ベースのローカル適応フィルタ
CN104247431B (zh) 性能和带宽高效的分数运动估计

Legal Events

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