CN108200428B - 宏块层中的码率的控制方法以及使用该方法的装置 - Google Patents

宏块层中的码率的控制方法以及使用该方法的装置 Download PDF

Info

Publication number
CN108200428B
CN108200428B CN201810082870.6A CN201810082870A CN108200428B CN 108200428 B CN108200428 B CN 108200428B CN 201810082870 A CN201810082870 A CN 201810082870A CN 108200428 B CN108200428 B CN 108200428B
Authority
CN
China
Prior art keywords
current
macroblock
current frame
absolute difference
difference value
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
CN201810082870.6A
Other languages
English (en)
Other versions
CN108200428A (zh
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.)
Glenfly Tech Co Ltd
Original Assignee
VIA Alliance Semiconductor Co 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
Application filed by VIA Alliance Semiconductor Co Ltd filed Critical VIA Alliance Semiconductor Co Ltd
Priority to CN201810082870.6A priority Critical patent/CN108200428B/zh
Priority to US15/926,116 priority patent/US10375404B1/en
Publication of CN108200428A publication Critical patent/CN108200428A/zh
Application granted granted Critical
Publication of CN108200428B publication Critical patent/CN108200428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提出一种宏块层中的码率的控制方法以及使用该方法的装置,该宏块层中的码率的控制方法包含以下步骤:根据上一帧的上一宏块的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值;计算目前帧的目前宏块的实际平均绝对差值;执行调整程序,用以根据目前帧的目前宏块的实际平均绝对差值调整目前帧的目前宏块的预测平均绝对差值以获得目前帧的目前宏块的最终平均绝对差值;根据目前帧的所述目前宏块的最终平均绝对差值计算目前帧的目前宏块的量化参数;以及输出目前帧的目前宏块的量化参数给量化器。本发明可改善当视频序列的复杂度变化较大时产生的预测平均绝对差值的不准确及滞后性。

Description

宏块层中的码率的控制方法以及使用该方法的装置
技术领域
本发明有关于一种视频处理技术,特别是一种宏块层中的码率控制方法以及使用该方法的装置。
背景技术
码率控制用以为特定帧(frame)或宏块(MB,marcblock)决定使用多少比特来记录。视频编码的目标是为尽可能保留原始输入文档的品质的情况下,尽可能降低文档大小。码率控制是个重要的步骤,用以进行文档大小及品质间的权衡(tradeoff)。
图1是为传统的视频编码系统的方块图。量化参数计算器(quantizationparameter calculator)110设置于帧内及帧间模式预测器(intra-and-inter-modepredictor)130、转换器(transformer)150及量化器(quantizer)170之前,使用码率控制演算法(rate control algorithm)为每一个宏块依据预测平均绝对差值(mean absolutedifference,MAD)及码流预算(stream budget)计算量化参数。然而,当前宏块的量化参数计算只能依赖预测平均绝对差值,而没有考虑实际平均绝对差值,使得视频序列的复杂度变化较大时,码率控制演算法会受到预测平均绝对差值的不准确及滞后性(latency)的影响,无法达成码率控制的预期目标。因此,需要一种宏块层中的码率控制方法以及使用该方法的装置,用以解决如上所述的缺陷。
发明内容
本发明的实施例提出一种宏块层中的码率的控制方法,包含以下步骤:根据上一帧的上一宏块的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值;计算目前帧的目前宏块的实际平均绝对差值;执行调整程序,用以根据目前帧的目前宏块的实际平均绝对差值调整目前帧的目前宏块的预测平均绝对差值以获得目前帧的目前宏块的最终平均绝对差值;根据目前帧的所述目前宏块的最终平均绝对差值计算目前帧的目前宏块的量化参数;以及输出目前帧的目前宏块的量化参数给量化器,从而使得量化器于相应于目前帧的目前宏块的量化参数的码率控制下接着产生压缩后视频码流。
本发明的实施例提出一种宏块层中的码率的控制装置,至少包含量化器;以及量化参数计算器,耦接于量化器。量化参数计算器根据上一帧的上一宏块的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值;计算目前帧的目前宏块的实际平均绝对差值;执行调整程序,用以根据目前帧的目前宏块的实际平均绝对差值调整目前帧的目前宏块的预测平均绝对差值以获得目前帧的目前宏块的最终平均绝对差值;根据目前帧的所述目前宏块的最终平均绝对差值计算目前帧的目前宏块的量化参数;以及输出目前帧的目前宏块的量化参数给量化器,从而使得量化器于相应于目前帧的目前宏块的量化参数的码率控制下接着产生压缩后视频码流。
目前宏块与上一宏块分别位于目前帧及上一帧的相同二维坐标,且上一帧的上一宏块的实际平均绝对差值反映相应于上一宏块的原始数据及预测数据间的差异程度。目前帧的目前宏块的实际平均绝对差值反映相应于目前宏块的原始数据及预测数据间的差异程度。
本发明可改善当视频序列的复杂度变化较大时产生的预测平均绝对差值的不准确及滞后性。
附图说明
图1是为传统的视频编码系统的方块图。
图2是依据本发明实施例的宏块层中的码率控制装置的方块图。
图3是依据本发明实施例的宏块层中的码率控制装置的方块图。
图4是依据本发明实施例的宏块层中的码率控制方法的方法流程图。
图5是依据本发明实施例的目前宏块与上一宏块间的对应示意图。
图6是依据本发明实施例的计算目前帧的目前宏块的实际平均绝对差值的硬件电路示意图。
图7是依据本发明实施例的计算目前帧的目前宏块的预测平均绝对差值的硬件电路示意图。
图8是依据本发明实施例的计算目前帧的目前宏块的增量的硬件电路示意图。
图9是依据本发明实施例的计算目前帧的目前宏块的增量的硬件电路示意图。
图10是依据本发明实施例的宏块层中的码率控制方法的方法流程图。
其中,附图中符号的简单说明如下:
VIN:原始视频序列;VOUT:压缩后视频码流;Q:量化参数;110:量化参数计算器;130:帧内及帧间模式预测器;150:转换器;170:量化器;OriPixels:原始像素;CstPixels:重建像素;210:帧内及帧间模式预测器;230:转换器;250:量化参数计算器;270:量化器;281:反量化器;283:反转换器;290:熵编码器;310:帧内及帧间模式预测器;330:转换器;350:量化参数计算器;370:量化器;381:反量化器;383:反转换器;390:熵编码器;S410~S470:方法步骤;510:上一帧;510_0:上一宏块;530:目前帧;530_0:目前宏块;RealMADi-1,0:上一帧的上一宏块的实际平均绝对差值;PredMADi,0:目前帧的目前宏块的预测平均绝对差值;OriPixel0,0~OriPixelm,n:原始像素;CstPixel0,0~CstPixelm,n:重建像素;610_0_0~610_m_n:比较器;630_0_0~630_m_n:切换器;O10,0~O1m,n、O20,0~O2m,n:切换器的输出端;650_0_0~650_m_n:减法器;670:加法器;RealMADi,j:第i帧的第j个宏块的实际平均绝对差值;RealMADi-1,j:第i-1帧的第j个宏块的实际平均绝对差值;a1、a2:线性预测模型的参数;710:乘法器;730:加法器;PredMADi,j:第i帧的第j个宏块的预测平均绝对差值;αi,j:第i帧的第j个宏块的调整系数;810:减法器;830:乘法器;Deltai,j:第i帧的第j个宏块的增量;910:加法器;FinMADi,j:第i帧的第j个宏块的最终平均绝对差值;S1010~S1050方法步骤。
具体实施方式
以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的发明内容必须参考之后的权利要求范围。
必须了解的是,使用于本说明书中的“包含”、“包括”等词,用以表示存在特定的技术特征、数值、方法步骤、操作处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、操作处理、元件、组件,或以上的任意组合。
于权利要求中使用如“第一”、“第二”、“第三”等词用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
图2是依据本发明实施例的宏块层中的码率控制装置的方块图。帧内及帧间模式预测器(intra-and-inter-mode predictor)210可使用现有的码率-失真最佳化(rate-distortion optimization,RDO)技术或其他演算法,为每一个宏块(macroblock,MB)在极大化视觉品质及极小化需要的比特率的条件下,获得最佳的帧内及帧间预测模式。宏块可为8x8、8x16、16x8、16x16或其他大小的块。帧内及帧间模式预测器210可使用全域搜寻(full search)的方式进行移动预估及帧内预测。转换器(transformer)230为每一个需要进行帧内编码的宏块,可使用现有的离散余弦转换(discrete cosine transform,DCT)、小波转换(wavelet transform)或其他转换演算法,用以将宏块的数据从空间域转为频域。量化参数计算器250可使用多种方式实施,例如以专用硬件电路(例如,包含完成以下所示功能的数字电路)或通用硬件(例如,单一处理器、具平行处理能力的多处理器、图形处理器或其他具运算能力的处理器),并且在执行指令(instructions)、宏码(macrocode)或微码(microcode)时,提供之后所描述的功能。或者,量化参数计算器250可合并专用硬件电路及通用硬件实施。处理器可包含运算逻辑单元(ALU,Arithmetic and Logic Unit)以及位移器(bit shifter)。运算逻辑单元负责执行布林运算(如AND、OR、NOT、NAND、NOR、XOR、XNOR等),而位移器负责位移运算及位旋转。量化器(quantizer)270逐元素地将每个从转换器230输出的宏块除以相应于量化参数的量化矩阵(quantization matrix),并且将每个计算后元素做四舍五入(round)。量化矩阵提供较多的解析度给较能被察觉的频率元素,并提供较少的解析度给较不能被察觉的频率,例如,较低频率相对于较高频率提供较多的解析度,使得更多元素可被转换为0,用以做最有效的编码。熵编码器(entropy encoder)290可编码从量化器270输出的每一个量化后宏块,将每一个量化后宏块中的固定长度的输入符号(input symbol)取代为相应可变长度的无前缀输出码字(variable-length prefix-freeoutput codeword)。常用的熵编码演算法包含霍夫曼编码(Huffman coding)、算术编码(arithmetic coding)等。反量化器281及反转换器283分别执行量化器270及转换器230的逆运算,用以重建每一个从量化器270输出的量化后宏块。针对每一个宏块,量化参数计算器250不只依据预测平均绝对差值,更考虑量化后宏块及重建后宏块间的实际平均绝对差值,以获得更靠近真实情况的量化参数,从而获得更佳的码率控制。量化参数计算器250的运算细节将于之后的段落描述。
图3是依据本发明实施例的宏块层中的码率控制装置的方块图。帧内及帧间模式预测器310、转换器330、量化参数计算器350、量化器370、反量化器381、反转换器383及熵编码器390执行的功能分别相似于图2的帧内及帧间模式预测器210、转换器230、量化参数计算器250、量化器270、反量化器281、反转换器283及熵编码器290。因此,详细的技术内容可参考图2的说明,不再赘述。由于量化参数计算器350及量化器370可独立执行,因此,不同于图2,量化参数计算器350及量化器370可并行地连接至转换器330,提升运算效率。
图4是依据本发明实施例的宏块层中的码率控制方法的方法流程图。此方法可实施于量化参数计算器250或350,提供之后所描述的功能。
首先,计算目前帧的一个宏块(以下称目前宏块)的实际平均绝对差值(meanabsolute difference,MAD),其中,目前帧的目前宏块的实际平均绝对差值反映相应于目前宏块的原始数据及重建后数据间的差异程度(步骤S410)。详细来说,于步骤S410,可使用公式(1)计算目前帧的目前宏块的实际平均绝对差值:
Figure BDA0001561533380000061
其中,RealMADi,j代表第i帧(目前帧)中第j个宏块(目前宏块)的实际平均绝对差值,M代表目前宏块的行(row)总数,N代表目前宏块的列(column)总数,PredPixelm,n代表从反转换器283或383取得的第i帧中第j个宏块中第m行第n列的预测像素值,OriPixelm,n代表从视频序列VIN取得的第i帧中第j个宏块中第m行第n列的原始像素值。RealMADi,j可储存于易失性存储器,用以让量化参数计算器250或350计算下一帧的量化参数时使用。于此须注意的是,传统的量化参数计算并不考虑实际平均绝对差值的因子,使得视频序列本身复杂度变化较大时,码率控制演算法会受到预测平均绝对差值的不准确及滞后性的影响。于一些实施例中,公式(1)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。于一些实施例中,公式(1)可以专用硬件电路实施。图6是依据本发明实施例的计算目前帧的目前宏块的实际平均绝对差值的硬件电路示意图。针对目前宏块的每一个像素,比较器610_m_n取得原始目前帧中第m行第n列的像素值OriPixelm,n及重建后目前帧中第m行第n列的像素值PredPixelm,n,m介于0至M间的整数,n介于0至N间的整数,比较像素值OriPixelm,n及PredPixelm,n。当OriPixelm,n大于或等于CstPixelm,n时,指示切换器630_m_n将像素值OriPixelm,n连接上输出端O1m,n,并且将像素值CstPixelm,n连接上输出端O2m,n。当OriPixelm,n小于CstPixelm,n时,指示切换器630_m_n将像素值OriPixelm,n连接上输出端O2m,n,并且将像素值CstPixelm,n连接上输出端O1m,n。减法器650_m_n连接上切换器630_m_n的输出端O1m,n及O2m,n,将输出端O1m,n的输出减去输出端O2m,n的输出,并且将运算结果输出至加法器670。加法器670加总减法器650_0_0至减法器650_m_n的输出,用以获得目前帧的目前宏块的实际平均绝对差值RealMADi,j
接着,依据上一帧的相应宏块(以下称上一宏块)的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值,其中,目前宏块与上一宏块分别位于目前帧及上一帧的相同二维坐标,且上一帧的上一宏块的实际平均绝对差值反映原始数据及重建后数据的差异程度(步骤S420)。图5是依据本发明实施例的目前宏块与上一宏块间的对应示意图。例如,帧510为视频序列(video sequence)中的第i-1帧(上一帧),且帧530为视频序列中的第i帧(目前帧)。宏块510_0为上一帧中的第0个宏块(上一宏块),且宏块530_0为目前帧中的第0个宏块(目前宏块)。步骤S420至少依据上一帧510的上一宏块510_0的实际平均绝对差值RealMADi-1,0计算目前帧530的目前宏块530_0的预测平均绝对差值PredMADi,0。于步骤S420,可使用如公式(2)所示的线性预测模型计算目前帧的目前宏块的预测平均绝对差值:
PredMADi,j=a1xRealMADi-1,j+a2
其中,PredMADi,j代表第i帧(目前帧)中第j个宏块(目前宏块)的预测平均绝对差值,RealMADi-1,j代表第i-1帧(上一帧)中第j个宏块(上一宏块)的实际平均绝对差值,以及a1及a2为线性预测模型的参数,是依据历史数据使用最小二乘法(generalized leastsquares)拟合出的参数,分别代表线性预测模型的斜率(slope)与截距(intercept),可储存于易失性存储器或非易失性存储器中。于一些实施例中,公式(2)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。于一些实施例中,公式(2)可以专用硬件电路实施。图7是依据本发明实施例的计算目前帧的目前宏块的预测平均绝对差值的硬件电路示意图。乘法器710将参数a1乘上目前帧的目前宏块的实际平均绝对差值RealMADi,j,并且输出结果至加法器730。加法器730将乘法器710的输出加上参数a2,用以获得目前帧的目前宏块的预测平均绝对差值PredMADi,j
接着,依据目前帧的目前宏块的预测平均绝对差值及实际平均绝对差值、以及目前帧的目前宏块之前所有宏块的累计增量计算目前帧的目前宏块的调整系数(步骤S430)。于步骤S430,可使用公式(3)计算目前帧的目前宏块的调整系数:
Figure BDA0001561533380000081
其中,αi,j代表第i帧(目前帧)中第j个宏块(目前宏块)的调整系数,
Figure BDA0001561533380000082
代表第i帧(目前帧)中从第0个宏块至第j-1个宏块的累计增量,以及RealMADi,j代表由步骤S410计算的第i帧(目前帧)中第j个宏块的实际平均绝对差值。0<αi,j≤1。于一些实施例中,公式(3)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。
接着,依据目前帧的目前宏块的预测平均绝对差值、实际平均绝对差值及调整系数计算目前帧的目前宏块的增量(步骤S440)。于步骤S440,可使用公式(4)计算目前帧的目前宏块的增量:
Deltai,j=αi,jx(RealMADi,j-PredMADi,j);
其中,Deltai,j代表第i帧(目前帧)中第j个宏块的增量,αi,j代表第i帧(目前帧)中第j个宏块的调整系数,RealMADi,j代表第i帧(目前帧)中第j个宏块的实际平均绝对差值,以及PredMADi,j代表第i帧(目前帧)中第j个宏块的预测平均绝对差值。Deltai,j可储存于易失性存储器,用以让量化参数计算器250或350计算第i帧(目前帧)的下一宏块的调整系数时使用(如步骤S430所示)。于一些实施例中,公式(4)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。于一些实施例中,公式(4)可以专用硬件电路实施。图8是依据本发明实施例的计算目前帧的目前宏块的增量的硬件电路示意图。减法器810将目前帧的目前宏块的实际平均绝对差值RealMADi,j减去目前帧的目前宏块的预测平均绝对差值PredMADi,j,并且输出结果至乘法器830。乘法器830将减法器810的输出乘以目前帧的目前宏块的调整系数αi,j,用以获得目前帧的目前宏块的增量Deltai,j
接着,依据目前帧的目前宏块的预测平均绝对差值及增量计算目前帧的目前宏块的最终平均绝对差值(步骤S450)。于步骤S450,可使用公式(5)计算目前帧的目前宏块的最终平均绝对差值:
FinMADi,j=PredMADi,j+Deltai,j
其中,FinMADi,j代表第i帧(目前帧)中第j个宏块(目前宏块)的最终平均绝对差值,PredMADi,j代表第i帧(目前帧)中第j个宏块(目前宏块)的预测平均绝对差值,以及Deltai,j代表第i帧(目前帧)中第j个宏块(目前宏块)的增量。于一些实施例中,公式(5)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。于一些实施例中,公式(5)可以专用硬件电路实施。图9是依据本发明实施例的计算目前帧的目前宏块的增量的硬件电路示意图。加法器910将目前帧的目前宏块的预测平均绝对差值PredMADi,j加上目前帧的目前宏块的增量Deltai,j,用以获得目前帧的目前宏块的最终平均绝对差值FinMADi,j
接着,至少依据目前帧的目前宏块的平均绝对差值计算目前帧的目前宏块的量化参数(步骤S460)。于步骤S450,可使用公式(6)计算目前帧的目前宏块的量化参数:
Figure BDA0001561533380000101
其中,Qi,j代表第i帧(目前帧)中第j个宏块的量化参数,f(i,j)代表第i帧(目前帧)中第j个宏块的码流预算,mh(i,j)代表第i帧(目前帧)中第j个宏块的语法元素码流长度(syntax element length),c1及c2代表量化参数预测模型的参数(预设常数),以及FinMADi,j代表第i帧(目前帧)中第j个宏块的最终平均绝对差值。于一些实施例中,公式(6)可以指令、宏码或微码表示,并且于处理器载入及执行指令、宏码或微码时进行运算。
最后,输出目前帧的目前宏块的量化参数Qi,j给量化器270,使得量化器270可将从转换器230输出的目前帧的转换后目前宏块进行量化运算(步骤S470)。
从一个方面来说,本发明实施例提出的宏块层中的码率控制方法,包含执行调整程序,针对目前帧中的每一个宏块,根据实际平均绝对差值调整预测平均绝对差值,用以获得接近实际状况的最终平均绝对差值,使得量化参数计算器250可在线性预测模型下改善当视频序列的复杂度变化较大时产生的预测平均绝对差值的不准确及滞后性。图10是依据本发明实施例的宏块层中的码率控制方法的方法流程图。此方法可实施于量化参数计算器250或350,提供之后所描述的功能。首先,计算目前帧的目前宏块的预测平均绝对差值PredMADi,j(步骤S1010),计算目前帧的目前宏块的实际平均绝对差值RealMADi,j(步骤S1020),执行调整程序,用以根据目前帧的目前宏块的实际平均绝对差值调整目前帧的目前宏块的预测平均绝对差值以获得接近实际状况的目前帧的目前宏块的最终平均绝对差值(步骤S1030),根据目前帧的目前宏块的最终平均绝对差值计算目前帧的目前宏块的量化参数(步骤S1040),以及输出目前帧的目前宏块的量化参数给量化器270或370,从而使得量化器270或370及熵编码器270或290可于相应于目前帧的目前宏块的码率控制下接着产生压缩后视频码流VOUT(步骤S1050)。步骤S1010的计算细节可参考步骤S420的描述,不再赘述。步骤S1020的计算细节可参考步骤S410的描述,不再赘述。步骤S1030的调整程序可参考步骤S430至S450的描述,不再赘述。步骤S1040的计算细节可参考步骤S460的描述,不再赘述。
步骤S430所述的第i帧(目前帧)中第j个宏块的调整系数αi,j代表调整机制中的预测平均绝对差值的调整强度。当αi,j越大时,码率控制越需要考虑实际平均绝对差值。此外,由于一个帧的码流预算在开始编码时就已经决定,且为了让此帧中所有宏块分配到的码流预算总合尽量接近此帧的码流预算,αi,j的动态调整也用来抑制调整强度偏离0的趋势。
虽然图2-3及图6-9中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图4、图10的方法流程图采用特定的顺序来执行,但是在不违法发明精神的情况下,本领域技术人员可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (20)

1.一种宏块层中的码率的控制方法,其特征在于,包含:
根据上一帧的上一宏块的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值,其中,所述目前宏块与所述上一宏块分别位于所述目前帧及所述上一帧的相同二维坐标,且所述上一帧的所述上一宏块的所述实际平均绝对差值反映相应于所述上一宏块的原始数据及重建后数据间的差异程度;
计算所述目前帧的所述目前宏块的实际平均绝对差值,其中,所述目前帧的所述目前宏块的所述实际平均绝对差值反映相应于所述目前宏块的原始数据及重建后数据间的差异程度;
执行调整程序,用以根据所述目前帧的所述目前宏块的所述实际平均绝对差值调整所述目前帧的所述目前宏块的所述预测平均绝对差值以获得所述目前帧的所述目前宏块的最终平均绝对差值;
根据所述目前帧的所述目前宏块的所述最终平均绝对差值计算所述目前帧的所述目前宏块的量化参数;以及
输出所述目前帧的所述目前宏块的所述量化参数给量化器,从而使得所述量化器于相应于所述目前帧的所述目前宏块的所述量化参数的码率控制下接着产生压缩后视频码流。
2.根据权利要求1所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述预测平均绝对差值使用线性预测模型计算。
3.根据权利要求2所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述预测平均绝对差值使用以下公式计算:
PredMADi,j=a1xRealMADi-1,j+a2
其中,PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值,RealMADi-1,j代表所述上一帧的所述上一宏块的所述实际平均绝对差值,以及a1及a2为所述线性预测模型的参数。
4.根据权利要求3所述的宏块层中的码率的控制方法,其特征在于,a1及a2为依据历史数据使用最小二乘法拟合出的参数。
5.根据权利要求1所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述实际平均绝对差值使用以下公式计算:
Figure FDA0002392264840000021
其中,RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值,M代表所述目前宏块的行总数,N代表所述目前宏块的列总数,PredPixelm,n代表所述目前帧中所述目前宏块中第m行第n列的预测像素值,以及OriPixelm,n代表所述目前帧中所述目前宏块中第m行第n列的原始像素值。
6.根据权利要求1所述的宏块层中的码率的控制方法,其特征在于,调整程序包含:
依据所述目前帧的所述目前宏块的所述预测平均绝对差值及所述实际平均绝对差值、以及所述目前帧的所述目前宏块之前所有宏块的累计增量计算所述目前帧的所述目前宏块的调整系数;
依据所述目前帧的所述目前宏块的所述预测平均绝对差值、所述实际平均绝对差值及所述调整系数计算所述目前帧的所述目前宏块的增量;以及
依据所述目前帧的所述目前宏块的所述预测平均绝对差值及所述增量计算所述目前帧的所述目前宏块的所述最终平均绝对差值。
7.根据权利要求6所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述调整系数大于0以及小于或等于1。
8.根据权利要求6所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述调整系数使用以下公式计算:
Figure FDA0002392264840000022
其中,αi,j代表所述目前帧中所述目前宏块的所述调整系数,
Figure FDA0002392264840000031
代表所述目前帧中从第0个宏块至第j-1个宏块的累计增量,以及RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值。
9.根据权利要求6所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述增量使用以下公式计算:
Deltai,j=αi,jx(RealMADi,j-PredMADi,j);
其中,Deltai,j代表所述目前帧中所述目前宏块的所述增量,αi,j代表所述目前帧中所述目前宏块的所述调整系数,RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值,以及PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值。
10.根据权利要求6所述的宏块层中的码率的控制方法,其特征在于,所述目前帧的所述目前宏块的所述最终平均绝对差值使用以下公式计算:
FinMADi,j=PredMADi,j+Deltai,j
其中,FinMADi,j代表所述目前帧中所述目前宏块的所述最终平均绝对差值,PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值,以及Deltai,j代表所述目前帧中所述目前宏块的增量。
11.一种宏块层中的码率的控制装置,其特征在于,包含:
量化器;以及
量化参数计算器,耦接于所述量化器,根据上一帧的上一宏块的实际平均绝对差值计算目前帧的目前宏块的预测平均绝对差值,其中,所述目前宏块与所述上一宏块分别位于所述目前帧及所述上一帧的相同二维坐标,且所述上一帧的所述上一宏块的所述实际平均绝对差值反映相应于所述上一宏块的原始数据及重建后数据间的差异程度;计算所述目前帧的所述目前宏块的实际平均绝对差值,其中,所述目前帧的所述目前宏块的所述实际平均绝对差值反映相应于所述目前宏块的原始数据及预测数据间的差异程度;执行调整程序,用以根据所述目前帧的所述目前宏块的所述实际平均绝对差值调整所述目前帧的所述目前宏块的所述预测平均绝对差值以获得所述目前帧的所述目前宏块的最终平均绝对差值;根据所述目前帧的所述目前宏块的所述最终平均绝对差值计算所述目前帧的所述目前宏块的量化参数;以及输出所述目前帧的所述目前宏块的所述量化参数给所述量化器,从而使得所述量化器于相应于所述目前帧的所述目前宏块的所述量化参数的码率控制下接着产生压缩后视频码流。
12.根据权利要求11所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述预测平均绝对差值使用线性预测模型计算。
13.根据权利要求12所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述预测平均绝对差值使用以下公式计算:
PredMADi,j=a1xRealMADi-1,j+a2
其中,PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值,RealMADi-1,j代表所述上一帧的所述上一宏块的所述实际平均绝对差值,以及a1及a2为所述线性预测模型的参数。
14.根据权利要求13所述的宏块层中的码率的控制装置,其特征在于,a1及a2为依据历史数据使用最小二乘法拟合出的参数。
15.根据权利要求11所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述实际平均绝对差值使用以下公式计算:
Figure FDA0002392264840000041
其中,RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值,M代表所述目前宏块的行总数,N代表所述目前宏块的列总数,PredPixelm,n代表所述目前帧中所述目前宏块中第m行第n列的预测像素值,以及OriPixelm,n代表所述目前帧中所述目前宏块中第m行第n列的原始像素值。
16.根据权利要求11所述的宏块层中的码率的控制装置,其特征在于,调整程序包含:
依据所述目前帧的所述目前宏块的所述预测平均绝对差值及所述实际平均绝对差值、以及所述目前帧的所述目前宏块之前所有宏块的累计增量计算所述目前帧的所述目前宏块的调整系数;
依据所述目前帧的所述目前宏块的所述预测平均绝对差值、所述实际平均绝对差值及所述调整系数计算所述目前帧的所述目前宏块的增量;以及
依据所述目前帧的所述目前宏块的所述预测平均绝对差值及所述增量计算所述目前帧的所述目前宏块的所述最终平均绝对差值。
17.根据权利要求16所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述调整系数大于0以及小于或等于1。
18.根据权利要求16所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述调整系数使用以下公式计算:
Figure FDA0002392264840000051
其中,αi,j代表所述目前帧中所述目前宏块的所述调整系数,
Figure FDA0002392264840000052
代表所述目前帧中从第0个宏块至第j-1个宏块的累计增量,以及RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值。
19.根据权利要求16所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述增量使用以下公式计算:
Deltai,j=αi,jx(RealMADi,j-PredMADi,j);
其中,Deltai,j代表所述目前帧中所述目前宏块的所述增量,αi,j代表所述目前帧中所述目前宏块的所述调整系数,RealMADi,j代表所述目前帧中所述目前宏块的所述实际平均绝对差值,以及PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值。
20.根据权利要求16所述的宏块层中的码率的控制装置,其特征在于,所述目前帧的所述目前宏块的所述最终平均绝对差值使用以下公式计算:
FinMADi,j=PredMADi,j+Deltai,j
其中,FinMADi,j代表所述目前帧中所述目前宏块的所述最终平均绝对差值,PredMADi,j代表所述目前帧中所述目前宏块的所述预测平均绝对差值,以及Deltai,j代表所述目前帧中所述目前宏块的增量。
CN201810082870.6A 2018-01-29 2018-01-29 宏块层中的码率的控制方法以及使用该方法的装置 Active CN108200428B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810082870.6A CN108200428B (zh) 2018-01-29 2018-01-29 宏块层中的码率的控制方法以及使用该方法的装置
US15/926,116 US10375404B1 (en) 2018-01-29 2018-03-20 Methods for rate control in an MB (macroblock) layer and apparatuses using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810082870.6A CN108200428B (zh) 2018-01-29 2018-01-29 宏块层中的码率的控制方法以及使用该方法的装置

Publications (2)

Publication Number Publication Date
CN108200428A CN108200428A (zh) 2018-06-22
CN108200428B true CN108200428B (zh) 2020-05-08

Family

ID=62591731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810082870.6A Active CN108200428B (zh) 2018-01-29 2018-01-29 宏块层中的码率的控制方法以及使用该方法的装置

Country Status (2)

Country Link
US (1) US10375404B1 (zh)
CN (1) CN108200428B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110957A (zh) * 2007-07-12 2008-01-23 上海交通大学 金字塔式双向预测模式的视频恒定质量控制方法
CN103067720A (zh) * 2013-02-05 2013-04-24 南京信息工程大学 一种基于h264视频编码标准的宏块层码率控制方法
CN104796703A (zh) * 2015-04-22 2015-07-22 哈尔滨工业大学 基于预测模式率失真分析的可伸缩视频编码的码率控制方法
US9369772B1 (en) * 2010-04-21 2016-06-14 Marvell International Ltd. Dual PID controller based bit allocation and rate control for video coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6192148B1 (en) * 1998-11-05 2001-02-20 Winbond Electronics Corp. Method for determining to skip macroblocks in encoding video
US6891889B2 (en) * 2001-09-05 2005-05-10 Intel Corporation Signal to noise ratio optimization for video compression bit-rate control
US20060146932A1 (en) * 2004-12-30 2006-07-06 Krit Panusopone Method and apparatus for providing motion estimation with weight prediction
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
EP2286595A1 (en) * 2008-06-16 2011-02-23 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
US9426494B2 (en) * 2011-07-18 2016-08-23 Ziilabs Inc., Ltd. Systems and methods with early variance measure used to optimize video encoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110957A (zh) * 2007-07-12 2008-01-23 上海交通大学 金字塔式双向预测模式的视频恒定质量控制方法
US9369772B1 (en) * 2010-04-21 2016-06-14 Marvell International Ltd. Dual PID controller based bit allocation and rate control for video coding
CN103067720A (zh) * 2013-02-05 2013-04-24 南京信息工程大学 一种基于h264视频编码标准的宏块层码率控制方法
CN104796703A (zh) * 2015-04-22 2015-07-22 哈尔滨工业大学 基于预测模式率失真分析的可伸缩视频编码的码率控制方法

Also Published As

Publication number Publication date
US20190238868A1 (en) 2019-08-01
CN108200428A (zh) 2018-06-22
US10375404B1 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
TWI469644B (zh) 使用辭典編碼視訊之方法
KR101074870B1 (ko) 부호량 추정 방법, 장치, 그 프로그램 및 기록매체
JP5545783B2 (ja) 画像シーケンスを表す符号化されたデータのストリームを復号する方法および画像シーケンスを符号化する方法
US9210435B2 (en) Video encoding method and apparatus for estimating a code amount based on bit string length and symbol occurrence frequency
KR20050045746A (ko) 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
CN101911702A (zh) Cabac编码器的基于速率-失真建模的量化
JP2006140758A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
CN101946515A (zh) Cabac译码器的二回合量化
JP5860479B2 (ja) 画像の圧縮
JP2008048065A (ja) 動画像符号化装置
Zhou et al. Distributed video coding using interval overlapped arithmetic coding
CN115118976A (zh) 一种图像编码方法、可读介质及其电子设备
JP6585776B2 (ja) 処理方法
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
CN108200428B (zh) 宏块层中的码率的控制方法以及使用该方法的装置
JP5832263B2 (ja) 画像符号化装置及び画像符号化方法
JP4594561B2 (ja) 符号化装置及び符号化プログラム
TWI646823B (zh) 視訊壓縮方法及視訊壓縮裝置
JP2008104072A (ja) 画像データの符号化方法および符号化装置
Udupa Taylor Rate-Distortion trade-off and Adaptive block search for HEVC Encoding
JP6497100B2 (ja) 映像符号化装置、方法及びプログラム
JP2011041014A5 (zh)
CN109040758A (zh) 视频压缩方法及视频压缩装置
JP2004350072A (ja) 画像符号化装置、画像符号化方法、画像符号化プログラム及びそのプログラムを記録した記録媒体
Minoo et al. Rate estimation via maximum likelihood parameter estimation: Application in fast mode-selection within the H. 264/AVC

Legal Events

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

Effective date of registration: 20210220

Address after: 200131 3rd floor, building 2, No. 200, zhangheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Gryfield Intelligent Technology Co.,Ltd.

Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203

Patentee before: Shanghai Zhaoxin Integrated Circuit Co.,Ltd.

TR01 Transfer of patent right