CN1969558A - 用于视频编码优化的方法和设备 - Google Patents

用于视频编码优化的方法和设备 Download PDF

Info

Publication number
CN1969558A
CN1969558A CN 200580019971 CN200580019971A CN1969558A CN 1969558 A CN1969558 A CN 1969558A CN 200580019971 CN200580019971 CN 200580019971 CN 200580019971 A CN200580019971 A CN 200580019971A CN 1969558 A CN1969558 A CN 1969558A
Authority
CN
China
Prior art keywords
analysis
parameters
video
encoding
signal data
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
CN 200580019971
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN1969558A publication Critical patent/CN1969558A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189—Methods 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/196—Methods 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
    • H04N19/197—Methods 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 including determination of the initial value of an encoding parameter
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

一种用于对与多个图像相对应的视频信号数据进行编码的编码器及相应的方法。该编码器包括重叠窗口分析单元(310),该重叠窗口分析单元用于利用多个重叠分析窗口,对与视频信号数据相对应的多个图像的至少一些执行视频信号数据的视频分析,并基于视频分析的结果来修改视频信号数据的编码参数。

Description

用于视频编码优化的方法和设备
交叉引用相关申请
本申请要求2004年6月18日提交的美国临时申请序号No.60/581,280的权益,其在此整个被引入作为参考。
技术领域
本发明一般涉及视频编码器和解码器,并且尤其涉及一种用于视频编码优化的方法和设备。
技术背景
多遍视频编码方法已用于许多视频编码架构中,如MPEG-2(运动图像专家组2)和JVT(联合视频工作组)/H.264/MPEG AVC(高级视频编码),以便获得更好的编码效率。这些方法背后的思想是,通过执行分析并收集能够用于将来迭代中的统计特性以试图提高编码性能,来设法利用几次迭代来对整个序列进行编码。
两遍编码方案已经用于几种编码系统中,包括MICROSOFT(微软)WINDOWS MEDIA和REALVIDEO编码器。根据这种编码方案,编码器首先利用一些初始预定的设置来对整个序列执行初遍编码,并收集关于该序列内每个图像的编码效率的统计特性。在完成该过程之后,通过同时考虑先前所产生的统计特性来再一次重新处理并编码整个序列。这可以大大提高编码效率,甚至允许我们满足某些预定的编码约束或要求,例如对于编码后的流满足给定的比特率约束。这是因为,编码器现在更加了解整个视频序列或图像的特征,从而能够更加适当地选择参数,如将要用于编码的量化器、死区处理(deadzoning)等。能够在该第一遍编码期间收集的、并且能够用于该用途的一些统计特性是每个图像的位数、空间活性(即平均标准化宏块方差和均值)、时间活性(即运动矢量/运动矢量方差)、失真(例如均方差(MSE))等。虽然利用这些方法能够大大提高编码性能,但是这些方法也倾向于具有很高的复杂性,只能脱机使用(先对整个序列编码、然后执行第二遍编码),而不适于实时编码器,并且不一定考虑到可以从第一步编码推断的所有可能统计特性。
发明内容
本发明致力于解决现有技术的这些及其它缺点和不利条件,本发明涉及一种用于视频编码优化的方法和设备。
根据本发明的一方面,提供了一种用于对与多个图像相对应的视频信号数据进行编码的编码器。该编码器包括重叠窗口分析单元,该重叠窗口分析单元用于利用多个重叠分析窗口,对与视频信号数据相对应的多个图像的至少一些图像执行视频信号数据的视频分析,并基于视频分析的结果来修改该视频信号数据的编码参数。
根据本发明的另一方面,提供了一种用于对与多个图像相对应的视频信号数据进行编码的方法。该方法包括以下步骤:利用多个重叠分析窗口,对与视频信号数据相对应的多个图像的至少一些图像执行视频信号数据的视频分析,并基于视频分析的结果来修改视该频信号数据的编码参数。
根据以下连同附图一起阅读的示范性实施例的详细描述,本发明的这些及其它方面、特征和优点将变得很清楚。
附图说明
根据以下示例图可以更好地理解本发明,其中:
图1示出了根据本发明原理的、基于窗口的示范性两遍编码架构的框图;
图2示出了根据本发明原理的、在变换和量化期间死区处理的影响的曲线图;
图3示出了根据本发明原理的编码器的框图;以及
图4示出了根据本发明原理的示范性编码过程的流程图。
具体实施方式
本发明涉及一种用于视频编码优化的方法和设备。有利的是,本发明允许视频编码器在给定的特定比特率下,以大大提高的主观和客观质量来压缩视频序列。这是通过对与仍待编码的N个随后图像相比的当前图像执行简单分析,通过视频序列的非因果处理而得以实现的。然后,编码器利用该分析结果,对将要用于当前图像的编码的编码参数(包括但不限于图像/片类型、量化器、阈值处理参数、拉格朗日算子λ等)作出更好的决定。和对整个序列执行两遍或多遍编码以获得更好编码性能的几种现有技术系统不同,本发明较简单,从而对复杂性具有较小的影响。本发明的原理也可以和其它多遍编码策略一起使用,以获得更高的效率。以类似的方式,可以创建因果系统(使用M个先前已编码的图像)。
按照本发明的原理,首先只对整个序列的重叠图像窗口子集进行分析。基于所产生的统计特性,来适当地调节每个图像的编码参数。这些编码参数可以包括但不限于:图像/片类型决策(I、P、B)、帧/场决策、B图像距离、图像或宏块(MB)量化值(QP)、阈值处理系数、拉格朗日参数、色度偏移、加权预测、参考图像选择、多块大小决策、熵参数初始化、帧内模式决策、去块滤波器参数等。可以利用可能需要不同复杂性代价的分析方法来执行图像/宏块分析,包括完全第一遍编码、具有空间分析的简单第一遍运动估计,乃至简单的时间与空间分析度量,包括但不限于方差、图像差等。此外,重叠图像窗口(及重叠图像)可以根据需要变大或变小(变多或变少),由此提供不同的延迟/性能折衷。
本说明书举例说明本发明的原理。因而,应该理解,本领域技术人员将能够设计出虽然在此未明确描述或示出、但是能具体实施本发明原理且被包括在本发明精神和范围内的各种配置。
在此列举的所有例子和条件语言都试图用于教学,以帮助读者理解本发明人所提出的、有助于促进本技术领域发展的本发明的原理和概念,并且应该被认为不限于这些具体列举的例子和条件。
而且,在此列举本发明的原理、方面和实施例及本发明的特定例子的所有语句,都试图包括本发明的结构和功能等效物。另外,这种等效物试图包括当前已知的等效物以及将来开发的等效物,即与结构无关的、执行相同功能的任何被开发元件。
因而,例如本领域技术人员应该理解,在此给出的框图代表具体实施本发明原理的说明性电路的概念图。类似应该理解,任何流程表、流程图、状态转移图、伪码等,都代表实质上可以在计算机可读介质中表示、从而可通过计算机或处理器来执行的各种过程,而不管这种计算机或处理器是否明确示出。
通过利用专用硬件以及能够与适当软件关联地执行软件的硬件,可以提供图中所示的各种元件的功能。当通过处理器来提供这些功能时,可以通过单个专用处理器、通过单个共享处理器、或通过其中一些可以被共享的多个单独处理器,来提供这些功能。而且,术语“处理器”或“控制器”的显式使用不应被认为专门指能够执行软件的硬件,而是可以隐含地包括但不限于数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机存储器(RAM)和非易失性存储器。
也可以包括其它常规和/或定制的硬件。类似地,图中所示的任何开关都只是概念性的。如从上下文更具体地理解的,可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、乃至手动操作的可以由实施者选择的特定技术来实现它们的功能。
在本发明权利要求中,被表示为用于执行指定功能的装置的任何元件都试图包括执行该功能的任何方式,例如包括:a)执行该功能的电路元件的组合;或b)任何形式的软件,因而包括和用于执行该软件的适当电路相结合以执行该功能的固件、微码等。如这些权利要求所定义的本发明在于,以权利要求所要求的方式来组合并集合由所列举的各种装置所提供的功能性。因而,申请人认为能够提供这些功能性的任何装置都等效于在此所示出的那些装置。
根据本发明的原理,公开了一种新的多遍编码架构,与在每一遍编码期间都考虑整个视频序列或独立窗口的以前方法不同,该新的多遍编码架构对允许在相邻窗口之间重新使用先前确定的特征的重叠窗口,执行每遍编码。虽然由于能够利用少得多的步骤来实现最优编码,而得到更低的成本/复杂性、以及更小的存储器需求/低等待时间,但是该架构仍然能够获得多遍编码的好处,如大大提高的视频质量。考虑到由于相邻窗口之间的相似性,编码器有可能甚至在第一遍编码期间就决定了最佳参数、从而不需要更多的迭代进行最终编码,所以该特征对于实时编码应用尤为重要。
转到图1,一般用附图标记100来表示基于窗口的两遍编码架构。处理/分析窗口的大小为Wp个图像,而相邻两组之间允许的重叠大小为Wo个图像。第一窗口的处理将提供某些初始统计特性,这些初始统计特性能够用于为该窗口内的所有帧确定一组初步编码特征。更具体地说,如果使用两遍方案,则可以基于所产生的参数,立即对也不属于将来窗口的所有帧进行编码。然而,该信息能够立即用于该将来窗口的处理/分析。例如,在该窗口的处理期间这些参数可用作初始种子,并且考虑到大多数序列中所存在的高度时间相关,这些参数能够改进分析。更重要的是,可以基于新产生的统计特性,对用于由于Wo的选择而也属于先前窗口的该窗口中的初始帧的编码参数,进行进一步改进/限制。例如在处理整个序列或M个相邻窗口之后,如果使用较多迭代/遍,这基本上允许更快地收敛到最优解。显然,取决于编码器的能力或需求,时间窗口可以尽可能的大或小,同时也可利用不同窗口大小(更大或更小的Wo和Wp)来执行这种方案的迭代。
在我们的多遍方案的预分析步骤期间,可以使用多种不同的准则。这种准则可以取决于编码器架构的复杂性约束,并且可以考虑从简单的空间-时间方法(包括但不限于边缘检测、纹理分析度量以及绝对图像差)到更复杂的策略(包括但不限于离散余弦变换(DCT)分析、第一遍帧内编码、运动估计/补偿、乃至完全编码)。也可以通过增加或减少分析和/或重叠窗口,来调节等待时间。
作为这种系统的例子,在该分析期间可以计算以下准则:
对于窗口Wp内的每个图像k,进行以下计算:
(i)对于位置(i,j)处的每个宏块,如下计算均值MBmean(k,i,j):
MBmean ( k , i , j ) = 1 B W × B H Σ y = 0 , x = 0 y = B H - 1 , x = B W - 1 c [ k , i × B W + x , j × B H + y ]
(ii)如下计算均方值MBsqmean(k,i,j):
MBsqmean ( k , i , j ) = 1 B W × B H Σ y = 0 , x = 0 y = B H - 1 , x = B W - 1 ( c [ k , i × B W + x , j × B H + y ] ) 2
(iii)如下计算方差值MBvariance(k,i,j):
    MBvariance(k,i,j)=MBsqmean(k,i,j)-(MBmean(k,i,j)2
(iv)对于整个图像,如下计算平均宏块均值AMMk:
AMM k = 1 PMB W × PMB H Σ j = 0 , i = 0 j = PMB H - 1 , i = PMB W - 1 MBmean ( k , i , j )
(v)如下计算平均宏块方差AMVk:
AMV k = 1 PMB W × PMB H Σ j = 0 , i = 0 j = PMB H - 1 , i = PMB W - 1 MBvariance ( k , i , j )
(vi)如下计算图像方差PVk:
PV k = 1 PMB W × PMB H Σ j = 0 , i = 0 j = PMB H - 1 , i = PMB W - 1 MBsqmean ( k , i , j ) - AMM k 2
其中c[x,y]对应于位置(x,y)的像素值,PMBW和PMBH分别是用宏块表示的图像宽度和高度,以及BW和BH是当前图像中每个宏块的宽度和高度(通常为BW=BH=16)。
此外,也可以如下计算以下相对于图像m(例如m=k+1)的时间特征:
(I)如下计算平均绝对图像差MAPDk,m:
MAPD k , m = 1 PMB W × PMB H × B W × B H Σ y = 0 , x = 0 y = PMB H × B H - 1 , x = PMB W × B W - 1 | c [ k , x , y ] - c [ m , x , y ] |
(II)如下计算平均绝对加权图像差MAWPDk,m:
MAWPD k , m = 1 PMB W × PMB H × B W × B H Σ y = 0 , x = 0 y = PMB H × B H - 1 , x = PMB W × B W - 1 | c [ k , x , y ] - AMM k AMM m c [ m , x , y ] |
(III)如下计算平均绝对偏移图像差MAWPDk,m:
MAWPD k , m = 1 PMB W × PMB H × B W × B H Σ y = 0 , x = 0 y = PMB H × B H - 1 , x = PMB W × B W - 1 | c [ k , x , y ] - c [ m , x , y ] + AMM k - AMM m |
(IV)如下计算均方图像差MSPEk,m:
MSPE k , m = 1 PMB W × PMB H × B W × B H Σ y = 0 , x = 0 y = PMB H × B H - 1 , x = PMB W × B W - 1 ( c [ k , x , y ] - c [ m , x , y ] ) 2
(V)如下计算图像方差之绝对差APVDk,m:
APVDk,m=|PVk-PVm|
可以计算的其它空间-时间特征是:直方图的绝对差,绝对差的直方图,k与M之间的χ2度量,使用任何(乃至多个)边缘算子(包括但不限于canny、sobel或prewitt边缘算子)的k的边缘,乃至用于检测序列交错特性的基于场的度量。可能有用并且可以从以上推断的另外两种统计信息是,当前图像到最接近的过去(last_idistancek)及最接近的将来(next_idistancek)已编码帧内图像的距离,如例如用图像数、编码顺序或图像顺序计数(poc)所度量的。通过考虑场景变化/镜头检测器(shotdetector)和/或默认的图像组(GOP)结构,可以增强这些统计特性。可以利用原始或重构图像来计算时间特征(例如,如果本发明应用于多遍编码实施中),同时这些度量的计算也可考虑运动估计/补偿。
基于以上度量,编码器可以决定修改与编码过程相关的某些图像、宏块乃至子块参数。这些包括诸如以下的参数:量化值(QP),死区/阈值处理系数,用于宏块编码以及帧与场间图像级决策的拉格朗日值,去块滤波器参数,编码和参考图像排序,场景/镜头(包括但不限于淡入淡出/溶解/擦除/闪烁等)检测,GOP结构等。
在本发明的一个说明性实施例中,当对cur_slice_typek片类型的图像k进行编码时,如下考虑以上参数以执行图像QP修改。在该实施例中,将distancek,k+1看作用图像数表示的相邻两个图像之间的距离:
if (next_idistancek>3 && cur_slice_typek==I_Slice)
{
if (PVk<1 && MAPDk,k+1<1 && last_idistancek>5*distancek,k+1)

    QPk=QPk-4
else if (MAPDk,k+1<3 && (k=0 // last_idistancek>5*distancek,k+1))

   QPk=QPk-3
else if (MAPDk,k+1<10)

    QPk=QPk-2
else if (MAPDk,k+1<15)

    QPk=QPk-1
}
else if (AMVk>10 && AMVk<60)
{
  if (PVk<500 && next_idistancek>3*distancek,k+1)
  {

   if (MAPDk,k+1<10 && AMVk<35 && last_idistancek>2*distancek,k+1)

        QPk=QPk-2

    else

        QPk=QPk-1
}
else if (PVk<1500 && next_idistancek>0)
{

     if (MAPk,k+1<25)

                QPk=QPk-1
  }
}

    else if (MAPDk,k+1==0 && next_idistancek>3*distancek,k+1 && last_idistancek
>4*distancek,k+1)
   QPk=QPk-2
else (((MAPDk,k+1<2 && next_idistancek>3*distancek,k+1 && last_idistancek
>2*distancek,k+1)

       ||last_idistancek>30) && next_idistancek>5)
{

    if (MAPDk,k+1<1)

            QPk=QPk-3

    else if (MAPDk,k+1<4)

            QPk=QPk-2
        <!-- SIPO <DP n="9"> -->
        <dp n="d9"/>
    else if (MAPDk,k+1<10)

            QPk=QPk-1
}
在以上实施例中,没有考虑先前图像或邻近的过去图像是否由于以上规则而已经更新了其QP。这可能导致不必要地更新QP值,在率失真(RD)性能方面这可能是不希望的。为此,与图像类型无关地将参数last_idistancek更新为等于最后经过QP调节的图像的值。
类似地,可以使用宏块/块方差、均值和边缘统计特性来确定局部编码参数。例如,对于位置(i,j)处的宏块的拉格朗日算子λ的选择,可以考虑以下规则:
if (cur_slice_typek!=B_Slice)
{

    if (contains_edges(k,i,j))
<paragraph id="d64">

    <image width="83" height="21" src="A20058001997100151.gif"/>

</paragraph>
else if (cur_slice_typek=I_Slice)
{

    if (MBvariance(k,i,j)<15 || MBvariance(k,i,j)>60)
<paragraph id="d65">

    <image width="92" height="22" src="A20058001997100152.gif"/>

</paragraph>
else if (MBvariance(k,i,j)>=15 && MBvariance(k,i,j)<=40)
<paragraph id="d66">

    <image width="92" height="21" src="A20058001997100153.gif"/>

</paragraph>
else
<paragraph id="d67">

    <image width="92" height="22" src="A20058001997100154.gif"/>

</paragraph>
}
        <!-- SIPO <DP n="10"> -->
        <dp n="d10"/>
else // cur_slice_typek==P_Slice
{

    if (MBvariance(k,i,j)<15 || MBvariance(k,i,j)>60)
<paragraph id="d68">

    <image width="92" height="21" src="A20058001997100161.gif"/>

</paragraph>
else if (MBvariance(k,i,j)>=15 && MBvariance(k,i,j)<=40)
<paragraph id="d69">

    <image width="92" height="21" src="A20058001997100162.gif"/>

</paragraph>
else
<paragraph id="d70">

    <image width="92" height="21" src="A20058001997100163.gif"/>

</paragraph>

    }
}
else
{
  bscale=max(2.00,min(4.00,(QP/6.0)));
  if (contains_edges(k,i,j))
<paragraph id="d71">

    <image width="141" height="21" src="A20058001997100164.gif"/>

</paragraph>
else
{

    if (MBvariance(k,i,j)<15 || MBvariance(k,i,j)>60)
<paragraph id="d72">

    <image width="141" height="22" src="A20058001997100165.gif"/>

</paragraph>
else if (MBvariance(k,i,j)>=15 && MBvariance(k,i,j)<=40)
<paragraph id="d73">

    <image width="141" height="22" src="A20058001997100166.gif"/>

</paragraph>
        <!-- SIPO <DP n="11"> -->
        <dp n="d11"/>
else
<paragraph id="d74">

    <image width="92" height="22" src="A20058001997100171.gif"/>

</paragraph>

    }

    if(nal_reference_idc==1)

      λ=0.80×λ
}
对于用于残差编码的量化值或阈值处理系数的选择,可以作出类似的决策。更具体地说,如下执行H.264中系数W的量化:
Z=int({|W|+f×(1<<q_bits)}>>qbits)·sgn(W)
其中Z是最终量化值,而q_bits则基于当前宏块的量化器QP。f×(1<<q_bits)项用作量化过程的舍入项,该项“最佳地”应该等于1/2×(1<<q_bits)。现在转到图2,一般用附图标记200来表示变换和量化期间死区处理的影响。在图2中,零周围的区间被称为死区。用以下两个参数来表征死区量化器:零箱(bin)宽度(2s-2f)和箱外宽度(s),如图2所示。常常把通过f执行的死区优化,用作获得良好率失真性能的有效方法。然而,众所周知,该过程期间死区的引入(即f项的减小)可能通常使附加的比特率减小,同时对质量产生小的影响。对于缺少较高分辨率素材的细节(及胶片颗粒信息)的较低分辨率内容,尤其如此。虽然可以使用f=1/2,但这也可能造成比特率的较大幅度增加,并可能损害RD评价方面的性能。
考虑到不同的频率比其它更为重要,一种备选方法将是考虑该观测结果、以提高性能。不是对所有变换系数都使用固定的f值,而是实质上用矩阵方法来考虑不同值,其中基于频率位置来选择每个死区参数。因此,现在可以如下计算Z:
Z=int({|W|+f(i,j)×(1<<q_bits)}>>qbits)·sgn(W)
其中i和j对应于块变换系数内的当前列或行。阵列f现在可以取决于片或宏块的类型,并且也可取决于当前块的纹理特征(方差或边缘信息)。例如,如果块包含边缘、或具有低方差特征,则重要的是不引入由于死区处理所产生的更多人为产物,因为这些人为产物将更加可见。另一方面,具有高空间活性的块可以掩蔽更多的人为产物,并且可以在不对质量产生大的影响的情况下增加死区处理。也可以取决于当前块是否为将来图像中的块提供任何有用信息(即,当前块内的任何像素是否用于预测其它像素),来改变死区处理。
例如,如果使用4×4变换,则可以使用以下死区处理矩阵:
if (cur_slice_typek==I_Slice)
{

    if (MBvariance(k,i,j)<15 || MBvariance(k,i,j)>60)
<paragraph id="d83">

    <image width="170" height="90" src="A20058001997100181.gif"/>

</paragraph>
else if (MBvariance(k,i,j)>=15&&MBvariance(k,i,j)<=40||contains_edges(k,i,j))
<paragraph id="d84">

    <image width="172" height="90" src="A20058001997100182.gif"/>

</paragraph>
else
<paragraph id="d85">

    <image width="173" height="90" src="A20058001997100183.gif"/>

</paragraph>
}
        <!-- SIPO <DP n="13"> -->
        <dp n="d13"/>
else if (cur_slice_typek==P_Slice)
{

    if (MBvariance(k,i,j)<15 || MBvariance(k,i,j)>60)
<paragraph id="d86">

    <image width="208" height="90" src="A20058001997100191.gif"/>

</paragraph>
else if (MBvariance(k,i,j)>=15 &&MBvariance(k,i,j)<=40||contains_edges(k,i,j))
<paragraph id="d87">

    <image width="196" height="90" src="A20058001997100192.gif"/>

</paragraph>
else
<paragraph id="d88">

    <image width="211" height="90" src="A20058001997100193.gif"/>

</paragraph>
}
else  // B_slices
{
<paragraph id="d89">

    <image width="174" height="91" src="A20058001997100194.gif"/>

</paragraph>
}
在某些条件下,可能编码器不可能利用将来帧来执行时间分析。在这种情况下,可以通过只考虑先前已编码的图像、并假定将来图像具有类似的时间特征,来执行时间分析。例如,如果当前图像具有高度相似性(例如MAPDk,k-1小),则假定待编码的下一个图像的相似性(MAPDk,k+1)也将小。因而,在用(k,k-1)代替所有索引(k,k+1)的同时,可以基于已经可得的信息来修改编码参数。
现在转到图3,一般用附图标记300来表示视频编码器。视频编码器300的输入以信号通信方式连接到预分析块310的输入。预分析块310包括多个帧延迟器312,这多个帧延迟器312以信号通信方式互连,以致这多个帧延迟器312的每一个都顺序地串联,并且全都通过并行信号路径而并联。该并行信号路径也以信号通信方式连接到时间分析器315的输入。所串联连接的、距编码器300的输入最远的最后一个帧延迟器312的输出,以信号通信方式连接到空间分析器320的输入、第一求和点325的反相输入、运动补偿器375的第一输入、以及运动估计器/模式决策块370的第一输入。第一求和点325的输出以信号通信方式连接到变换器330的输入。变换器330的输出以信号通信方式连接到量化器335的第一输入。量化器335的输出以信号通信方式连接到可变长编码器340的第一输入以及逆量化器345的输入。可变长编码器340的输出是视频编码器300的外部可用输出。逆量化器345的输出以信号通信方式连接到逆变换器350的输入。逆变换器350的输出以信号通信方式连接到第二求和点355的非反相第一输入。第二求和点355的输出以信号通信方式连接到环路滤波器360的第一输入。环路滤波器360的输出以信号通信方式连接到图像参考存储器365的第一输入。图像参考存储器365的输出以信号通信方式连接到运动估计器/模式决策块370的第二输入以及运动补偿器375的第二输入。运动估计器/模式决策块370的第一输出以信号通信方式连接到可变长编码器340的第二输入。运动估计器/模式决策块370的第二输出以信号通信方式连接到运动补偿器375的第三输入。运动补偿器375的输出以信号通信方式连接到第一求和点325的非反相输入以及第二求和点355的非反相第二输入。空间分析器320的第一输出以信号通信方式连接到量化器335的第二输入。空间分析器320的第二输出以信号通信方式连接到环路滤波器360的第二输入、运动估计器/模式决策块370的第三输入、以及第一求和点325的非反相输入。时间分析器315的第一输出以信号通信方式连接到量化器335的第二输入。时间分析器315的第二输出以信号通信方式连接到运动估计器/模式决策块370的第四输入。时间分析器315的第三输出以信号通信方式连接到环路滤波器360的第三输入以及图像参考存储器365的第二输入。
在时间分析步骤期间考虑一组图像,这样决定几个参数,包括:片类型决策、GOP结构、加权参数(通过运动估计器/模式决策块370)、量化值和死区处理(通过量化器335)、参考顺序和处理(图像参考存储器365)、图像编码排序、帧/场图像级自适应决策、乃至去块参数(环路滤波器360)。类似地,对每个编码后的帧执行空间分析,这样可以类似地影响量化和死区处理(量化器335),拉格朗日参数及片类型决策(运动估计器/模式决策块370),帧间/帧内模式决策,帧/场图像级和宏块级自适应决策以及去块处理(环路滤波器360)。
现在转到图4,一般用附图标记400来表示用于对视频信号数据进行编码的示例过程。该过程能够通过在每次迭代中收集并更新所需统计特性,来多次分析或编码相同的位流。这些统计特性用于随后的每一遍编码中,以便在给定的视频特征或用户要求下、通过修改编码器参数来提高编码性能。具体而言,要利用大小为(N,M)的窗口、对k帧(即把未存储的图像排除在外)编码L遍(在此也称为“重复”和“迭代”),其中N是窗口内的总帧数,且M是相邻窗口之间的重叠帧数。用变量frm索引待编码的帧,而用变量windex索引窗口内的当前位置。
该过程包括开始块405,它将控制传递给功能块410。功能块410将序列大小设为k,将重复次数设为L,将变量i设为0,并将控制传递给功能块415。功能块415将窗口大小设为N,将重叠大小设为M,将变量frm设为零(0),并将控制传递给功能块420。功能块420将变量windex设为零(0),并将控制传递给功能块425。因而,应该理解,对于每一遍编码都对窗口参数进行初始化。这允许使用不同的窗口大小,乃至基于先前的分析步骤来修改它们(例如,如果检测到场景变化,则可以据此调节N和M,以便只包括完整的场景)。
功能块425通过考虑窗口内的所有N帧,对待处理的每个窗口执行时间分析,产生时间统计特性(tstati,frm...frm+N-1),并可选地利用当前统计特性、来修改或改进来自前面几遍编码或前面编码步骤的统计特性。然后,功能块425将控制传递给功能块430。功能块430对具有索引frm(当前窗口内的windex)的帧执行空间分析,直到不再满足条件windex<N-M为止,并将控制传递给功能块435。功能块435基于时间和空间分析结果来对这些帧进行编码,产生/收集在需要进行多遍编码时可使用的编码器统计特性,并将控制传递给功能块440。
功能块440递增变量frm和windex的值,并将控制传递给决策块445。决策块445判定变量frm是否小于k。
如果变量frm小于k,则控制被传递给决策块450,决策块450判定windex是否小于(N-M)。否则,如果变量frm不小于k,则控制被传递给决策块455,决策块455判定i是否小于L。
如果windex小于(N,M),则控制被传递给功能块430。否则,如果windex不小于(N-M),则控制被传回给功能块420。
如果i不小于L,则控制被传回给功能块415。否则,如果i小于L,则控制被传递给结束块460。
现在将描述按照本发明的各说明性实施例的本发明的许多相关优点/特征中的一些优点/特征。例如,一个优点/特征是,提供一种基于待编码内容的受约束但重叠的窗口来执行视频分析、且利用该信息来修改编码参数的编码设备和方法。另一个优点/特征是,在视频分析中使用空间-时间分析。又一个优点/特征是,对于视频分析考虑初遍编码。而且,另一个优点/特征是,在视频分析中联合考虑空间-时间分析和初遍编码。而且,另一个优点/特征是,利用图像编码类型、边缘、均值和方差信息的至少之一,来执行空间分析、拉格朗日参数修改、量化和死区处理。又一个优点/特征是,利用绝对差和方差来修改量化参数。另外,另一个优点/特征是,所执行的视频分析只考虑先前已编码的图像。此外,另一个优点/特征是,所执行的视频分析用于决定几种编码参数的至少之一,包括但不限于:片类型决策,GOP和图像编码结构及顺序,加权参数,量化值和死区处理,拉格朗日参数,参考数,参数顺序和处理,帧/场图像和宏块决策,去块参数,帧间块大小决策,帧内空间预测,以及直接模式。而且,另一个优点/特征是,可以通过考虑先前所产生的统计特性以修改编码参数或分析统计特性,利用多次迭代来执行视频分析。而且,另一个优点/特征是,基于先前所产生的分析统计特性来修改窗口大小和重叠窗口区。
相关领域的普通技术人员根据在此给出的教导可以容易地弄清本发明的这些及其它特征和优点。应该理解,可以用各种形式的硬件、软件、固件、专用处理器或它们的组合,来实施本发明的教导。
更为优选地,把本发明的教导实施为硬件和软件的组合。而且,优选地把软件实施为确实可在程序存储单元上具体实施的应用程序。该应用程序可以被上载到包括任何合适架构的机器上,并被该机器所执行。优选地,在具有硬件如一个或多个中央处理单元(CPU)、随机存取存储器(RAM)和输入/输出(I/O)接口的计算机平台上,实现该机器。该计算机平台也可包括操作系统和微指令码。在此描述的各种过程和功能可以是,可由CPU执行的微指令码一部分、或应用程序一部分、或它们的任何组合。另外,其它各种外围单元如附加数据存储单元和打印单元,可以连接到该计算机平台。
进一步应该理解,因为附图中所描述的一些组成系统部件和方法优选地是用软件来实现的,所以系统部件或过程功能块之间的实际连接可以随本发明的编程方式而有所不同。给定在此的教导,相关领域普通技术人员将能够预期本发明的这些及类似实施或配置。
虽然在此参考附图描述了说明性实施例,但是应该理解,本发明不限于这些具体实施例,并且相关领域普通技术人员可以在不脱离本发明的范围或精神的情况下进行各种变动和修改。所有这种变动和修改都包括在所附的权利要求所阐述的本发明的范围内。

Claims (24)

1.一种用于对与多个图像相对应的视频信号数据进行编码的编码器,该编码器包括重叠窗口分析单元(310),用于利用多个重叠分析窗口,对与所述视频信号数据相对应的所述多个图像的至少一些执行所述视频信号数据的视频分析,并基于所述视频分析的结果来修改所述视频信号数据的编码参数。
2.根据权利要求1所述的编码器,其中所述重叠窗口分析单元(310)利用空间-时间分析来执行所述视频信号数据的视频分析。
3.根据权利要求2所述的编码器,其中所述重叠窗口分析单元(310)利用图像编码类型信息、边缘信息、均值信息和方差信息的至少之一,来执行所述空间-时间分析、拉格朗日参数和量化参数的修改、以及死区处理的至少之一。
4.根据权利要求3所述的编码器,其中所述重叠窗口分析单元(310)利用绝对差和方差来修改所述量化参数。
5.根据权利要求1所述的编码器,其中所述重叠窗口分析单元(310)利用初遍编码来执行所述视频信号数据的视频分析。
6.根据权利要求1所述的编码器,其中所述重叠窗口分析单元(310)利用空间-时间分析和初遍编码两者,来执行所述视频信号数据的视频分析。
7.根据权利要求6所述的编码器,其中所述重叠窗口分析单元(310)利用图像编码类型信息、边缘信息、均值信息和方差信息的至少之一,来执行所述空间-时间分析、拉格朗日参数和量化参数的修改、以及死区处理的至少之一。
8.根据权利要求7所述的编码器,其中所述重叠窗口分析单元(310)利用绝对差和方差来修改所述量化参数。
9.根据权利要求1所述的编码器,其中所述视频信号数据包括多个帧,所述多个帧的每一帧都代表相应的图像,并且所述重叠分析单元执行所述视频分析、以便只考虑先前已编码的图像。
10.根据权利要求1所述的编码器,其中所述编码参数包括以下至少之一:片类型,图像和图像组(GOP)编码结构和顺序,加权参数,量化值和死区处理,拉格朗日参数,参考数,参考顺序和处理,帧/场图像和宏块参数,去块参数,帧间块大小,帧内空间预测,及直接模式。
11.根据权利要求1所述的编码器,其中所述重叠窗口分析单元(310)多次迭代地执行所述视频分析,并基于先前所产生的分析统计特性来修改所述编码参数和分析统计特性之一。
12.根据权利要求1所述的编码器,其中所述重叠窗口的每一个都具有P个图像的窗口大小、以及与所述窗口大小相关联的重叠大小,并且所述重叠窗口分析单元基于先前所产生的分析统计特性来修改所述窗口大小和所述重叠大小。
13.一种用于对与多个图像相对应的视频信号数据进行编码的方法,包括以下步骤:
利用多个重叠分析窗口,对与所述视频信号数据相对应的所述多个图像的至少一些执行(425、430)所述视频信号数据的视频分析;以及
基于所述视频分析的结果来修改(435)所述视频信号数据的编码参数。
14.根据权利要求13所述的方法,其中所述执行步骤利用空间-时间分析来执行所述视频信号数据的视频分析。
15.根据权利要求14所述的方法,其中所述执行步骤和修改步骤分别利用图像编码类型信息、边缘信息、均值信息和方差信息的至少之一,来执行所述空间-时间分析、拉格朗日参数和量化参数的修改、以及死区处理的至少之一。
16.根据权利要求15所述的方法,其中利用绝对差和方差来修改所述量化参数。
17.根据权利要求13所述的方法,其中所述执行步骤利用初遍编码来执行所述视频信号数据的视频分析。
18.根据权利要求13所述的方法,其中所述执行步骤利用空间-时间分析和初遍编码两者,来执行所述视频信号数据的视频分析。
19.根据权利要求18所述的方法,其中所述执行步骤和修改步骤分别利用图像编码类型信息、边缘信息、均值信息和方差信息的至少之一,来执行所述空间-时间分析、拉格朗日参数和量化参数的修改、以及死区处理的至少之一。
20.根据权利要求19所述的方法,其中利用绝对差和方差来修改所述量化参数。
21.根据权利要求13所述的方法,其中所述视频信号数据包括多个帧,所述多个帧的每一帧都代表相应的图像,并且所述执行步骤执行所述视频分析、以便只考虑先前已编码的图像。
22.根据权利要求13所述的方法,其中所述编码参数包括以下至少之一:片类型,图像和图像组(GOP)编码结构和顺序,加权参数,量化值和死区处理,拉格朗日参数,参考数,参考顺序和处理,帧/场图像和宏块参数,去块参数,帧间块大小,帧内空间预测,及直接模式。
23.根据权利要求13所述的方法,其中所述执行步骤多次迭代地执行所述视频分析,并且所述修改步骤基于先前所产生的分析统计特性来修改所述编码参数和分析统计特性之一。
24.根据权利要求13所述的方法,其中所述重叠窗口的每一个都具有窗口大小、以及与所述窗口大小相关联的重叠大小,并且所述执行步骤包括基于先前所产生的分析统计特性来修改所述窗口大小和所述重叠大小的步骤。
CN 200580019971 2004-06-18 2005-06-06 用于视频编码优化的方法和设备 Pending CN1969558A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58128004P 2004-06-18 2004-06-18
US60/581,280 2004-06-18

Publications (1)

Publication Number Publication Date
CN1969558A true CN1969558A (zh) 2007-05-23

Family

ID=34972204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200580019971 Pending CN1969558A (zh) 2004-06-18 2005-06-06 用于视频编码优化的方法和设备

Country Status (6)

Country Link
EP (1) EP1766991A1 (zh)
JP (1) JP2008503919A (zh)
CN (1) CN1969558A (zh)
BR (1) BRPI0512057A (zh)
MY (1) MY149954A (zh)
WO (1) WO2006007285A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092803A1 (zh) * 2011-01-05 2012-07-12 腾讯科技(深圳)有限公司 动态更改视频编码的视频通信方法及系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG130962A1 (en) * 2005-09-16 2007-04-26 St Microelectronics Asia A method and system for adaptive pre-filtering for digital video signals
WO2007092215A2 (en) * 2006-02-02 2007-08-16 Thomson Licensing Method and apparatus for adaptive weight selection for motion compensated prediction
CN105392006A (zh) 2006-11-08 2016-03-09 汤姆逊许可证公司 用于环内去伪影滤波的方法和设备
US7885476B2 (en) 2006-12-14 2011-02-08 Sony Corporation System and method for effectively performing an adaptive encoding procedure

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998037701A1 (en) * 1997-02-12 1998-08-27 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US6438165B2 (en) * 1998-03-09 2002-08-20 Lg Electronics Method and apparatus for advanced encoder system
FR2782879B1 (fr) * 1998-08-28 2000-11-03 Thomson Multimedia Sa Procede de compression d'images
JP4203707B2 (ja) * 2001-01-31 2009-01-07 日本電気株式会社 事前解析を用いた動画像符号化装置、動画像符号化方法、及びそのプログラム。

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012092803A1 (zh) * 2011-01-05 2012-07-12 腾讯科技(深圳)有限公司 动态更改视频编码的视频通信方法及系统
CN102595093A (zh) * 2011-01-05 2012-07-18 腾讯科技(深圳)有限公司 动态更改视频编码的视频通信方法及系统
US9137530B2 (en) 2011-01-05 2015-09-15 Tencent Technology (Shenzhen) Company Limited Video communication method and system for dynamically modifying video encoding

Also Published As

Publication number Publication date
JP2008503919A (ja) 2008-02-07
MY149954A (en) 2013-11-15
WO2006007285A1 (en) 2006-01-19
BRPI0512057A (pt) 2008-02-06
EP1766991A1 (en) 2007-03-28

Similar Documents

Publication Publication Date Title
US20070230565A1 (en) Method and Apparatus for Video Encoding Optimization
JP5053081B2 (ja) ビデオ・コーデック量子化のための方法および装置
CN1177480C (zh) 编码系统中基于对象的速率控制装置和方法
JP5535618B2 (ja) 動き予測検索範囲及び拡張動きベクトルの範囲の動的選択
CN101529912B (zh) 用于在多通路编码器中高效地进行第一通路编码的方法和设备
CN1151685C (zh) 编码系统中用于优化速率控制的装置和方法
CN1921628A (zh) 一种运动矢量检测装置及运动矢量检测方法
CN1757240A (zh) 视频编码
CN1795680A (zh) 用于高级视频编码帧内预测的快速判定算法
CN1809168A (zh) 编码器中的帧内预测模式选择
CN1757237A (zh) 视频编码
CN1794815A (zh) 产生对图像或图像序列进行编码的量化矩阵的方法和设备
CN1875637A (zh) 最小化用于相互编码的参考画面数目的方法和装置
CN103179395A (zh) 用于上下文自适应可变长度译码(cavlc)的速率-失真量化
CN1274446A (zh) 编码系统中基于宏块的速率控制装置和方法
CN1713730A (zh) 估计图像噪声的方法和设备和消除噪声的方法和记录介质
CN1910934A (zh) 自适应速率控制编码器
CN109889852B (zh) 一种基于邻近值的hevc帧内编码优化方法
CN1926884A (zh) 视频编码方法和装置
CN1949877A (zh) 自适应量化控制器及其方法
CN108886614A (zh) 视频编解码器的复杂度控制
CN101039434A (zh) 视频编码装置
Pérez-Gonzalo et al. Generalized nested latent variable models for lossy coding applied to wind turbine scenarios
CN101061722A (zh) 采用自适应搜索策略的快速多帧运动估计
WO2006007285A1 (en) Method and apparatus for video encoding optimization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20070523