专利名称:一种快速的先进视频编码率计算方法及其装置的制作方法
技术领域:
本发明属于数字视频处理领域,涉及一种视频快速率计算方法及其装 置,尤其是一种适用于先进音视频编码编码器的并行快速率计算方法及其装 置。
背景技术:
随着音一见频产业的不断发展,国际上音^L频编解码技术也日趋成熟。JVT 推出了 MPEG-4 AVC/H. 264 一见频编码技术国际标准,我国则推出了音—见频编 码标准 AVS ( Advanced Audio-Video Coding Standard in Information Technology,信息技术先进音视频编码)国家标准。这些视频编码标准能在 保持视频主观质量的条件下,对信息量极大的视频信号进行高效压缩,极大 降低存储空间和网络带宽要求。AVS中广泛使用了各类预测技术以进一步的 提高编码效率。为了选择适当的预测模式,AVS使用了率失真优化(RD0)模式 选择作为视频编码的重要组成部分,AVS编码器利用编码的失真以及编码后 的比特率计算各个模式的代价,并以此判定当前最佳的预测模式。
因此,在编码的过程中,编码器对当前宏块以各个预测模式分别进行预 测后,需要预知编码后当前宏块的比特数作为模式选择的判断依据。通常而 言,宏块头的代价与运动矢量编码比特数等语法元素所对应的编码后数据率 较容易得知,而要算出总比特数还需残差数据编码后的比特数。AVS的熵编 码采用2维可变长度编码(2D-VLC)对变换后的残差系数进行熵编码。编码一般以逐个扫描8x8块残差系数块的方式进行,对于高吞吐率的高清或多路
实时编码器而言,此过程过于緩慢。因此通常采用简化的率估计方法,而估 计方法带来的误差造成了性能损失。
因此,在一些需要对如高清格式或多路视频信号进行实时编码的视频应
用领域,采用专用集成电路(ASIC)来实现高吞吐率的并行快速率计算装置 是最为合适的选择。
发明内容
本发明的目的是提供一种适用于AVS编码器的快速的并行率计算方法及 其装置,解决AVS编码中残差块率估计速度低下的问题,为高清格式或多路 视频AVS实时编码器提高率计算能力。
本发明是通过以下技术方案实现的
一种视频编码率计算装置,包括依次连接的并行扫描装置,并行电平游 程检测装置、并行表选择装置、并行电平游程率计算装置和比特数累加器; 还可以包括基本语法元素率计算装置,与比特数累加器的输入端相连。
视频编码率计算装置的每周期并行处理N个数据;并行扫描装置对残差 数据块进行扫描,每一周期并行输出N+l个凄t据,最后周期输出N个数据, 其中最后周期为各装置完成某个8x8块全部数据输出的周期。
扫描数据输出至并行电平游程才企测装置。并行扫描装置包含两个及以上 的相同的扫描单元,以乒乓方式工作,每个扫描单元交替进行数据接收与输 出,并行扫描装置输出数据的同时可以接收数据。并行扫描装置的扫描方式 根据当前宏块模式选择之型扫描或场扫描方式,其中宏块模式包括帧模式和 场模式。进一 步的,所述的并行电平游程检测装置每周期可并行处理N+1个数据。
对每周期除第N+l个数据外,其余最多N个非零数据并行生成最多N个电平
-游程对数据。并行电平游程检测装置检测每两个非零电平之间间隔零电平 个数作为其游程,使用优先级编码器检测最后一个非零电平。并行电平游程
检测装置的输入数据来自并行扫描装置,电平-游程对数据输出至并行表选 择装置。
进一步的,所述的并行表选择装置从输入数据的高频起依次检查最多N 个输入电平-游程对,分别将每个电平-游程对电平与当前8x8数据块中并行 表选择装置检测到的最大电平作比较;根据比较结果和残差块类型选择适当 的可变长度编码表;所述残差块类型包括帧内预测亮度块,帧间预测亮度块 以及色度块。并行表选择装置根据数据选择适当的可变长度编码表 (Variable Length Code, VLC表),将可变长度编码表选择信号与电平-游 程对数据输出至并行编码电平游程率计算装置.并行表选择装置的输入数据 来自并行电平游程;险测装置,数据输出至并行编码电平游程率计算装置。
进一步的,所述的并行电平游程率计算装置包含N个相同的编码电平游 程率计算单元,各电平游程率计算单元并行工作,每个编码电平游程率计算 单元处理一个电平-游程对数据,并行电平游程率计算装置每周期并行处理N 个数据。根据来自并行表选择装置的可变长度编码表选择信息与当前编码数 据信息计算电平-游程对在编码后的比特数。并行编码电平游程率计算装置 先累加N个并行编码电平游程率计算单元输出的编码比特数,并将数据输出 至比特数累加器。
进一步的,所述的基本语法元素率计算装置计算宏块内除残差系数以外 的语法元素经指数哥伦布码编码后的比特数。并将结果输出至比特数累加
8器。所述的比特数累加器,累计来自并行编码电平游程率计算装置和基本语 法元素率计算装置的比特数,得到当前宏块在当前预测模式下编码后比特 数。
更进一步,本发明提供了一种视频编码率计算方法,其特征在于包括 以下步骤,
A) 、扫描残差数据块,每周期最多处理N+1个数据;
B) 、检测扫描数据,对数据进行电平-游程对编码;
C) 、从高频起依次检查最多N个输入电平-游程对,分别将每个电平-游程对的电平与当前8x8数据块中检测到的最大电平作比较,根据比较结果
选择合适的可变长度编码表;
D) 、按照选定的编码表,计算当前编码模式的比特数;
E )、计算宏块内除残差数据以外的语法元素经指数哥伦布码编码后的比 特数;
F)、累计当前宏块编码的总比特数。
本发明在每周期8点的吞吐率下可以流水线方式不间断处理多个宏块。 关键路径延迟在主流CMOS工艺下工作频率足以满足高清与多路标清实时编 码器的要求。若来自整数变换器单元的输入残差数据为每周期8点,则自宏 块的第一个8点残差数据输入至宏块率计算完成总处理延迟仅40周期,足 以满足流水化RDO模式选择的需求。本发明作为AVS中快速率计算电路的超 大规模集成电路(VLSI)实现,可以应用于高性能的AVS高清或标清实时视 频编码芯片中,解决AVS编码中残差块率估计速度低下的问题,为高清格式 或多路视频AVS实时编码器提高率计算能力。
图1 适用于AVS编码器的并行快速率计算装置结构框图2适用于AVS编码器的并行快速率计算装置的流水线示意图。
标号"i兌明
1、并行扫描装置; 2、并行电平游程检测装置; 3、并行表选择装置;4、并行电平游程率计算装置; 5、比特数累加器; 6、基本语法元素率计算装置。
具体实施例方式
现结合附图,具体说明本发明的实施方式
以下说明N=8下适用于AVS编码器的并行快速率计算装置结构与工作流 程,来自整数变换模块的输入残差系数为每周期一个lx8块,水平方向由高
频向^氏频依次llr入。
如图1,适用于AVS编码器的并行快速率计算装置包括并行扫描装置1、 并行电平游程检测装置2、并行表选择装置3、并行电平游程率计算装置4、 比特数累加器5,以上装置依次串行连接,还包括基本语法元素率计算装置 6同时也连接于比特数累加器的输入端。
首先,并行扫描装置1处理8x8残差数据块完成扫描。除最后周期外每 周期并行输出9个数据,最后周期输出8个数据。
然后,并行电平游程检测装置2处理输入的9个数据,为除第9个数据 外其余8个非零数据生成游程,并行生成最多8个电平-游程对。
其次,并行表选择装置3为每个输入数据选择适当的VLC表,并将VLC 表选择与电平-游程对一起输出至并行编码电平游程率计算装置4 。再次,并行电平游程率计算装置4内包含8个并行编码电平游程率计算
单元,各个单元处理一个电平-游程对,利用来自并行表选择装置3的VLC 表选择信息以及当前编码数据信息,例如预测模式、帧模式等信息,计算出 电平-游程对在编码后的比特数。并行编码电平游程率计算装置4累加8个 并行编码电平游程率计算单元输出的编码比特数,并将数据输出至比特数累 加器5。
最后,基本语法元素率计算装置6计算宏块内除残差系数以外的语法元 素经指数哥伦布码编码后的比特数,并将结果输出至比特数累加器5。比特 数累加器5累计来自并行编码电平游程率计算装置以及基本语法元素率计算 装置的比特数,将多周期内来自4个8x8块的比特数累加并加上宏块的其余 语法元素开销,得到当前宏块在当前预测模式下的准确编码后比特数。
适用于AVS编码器的并行快速率计算装置工作流程如下如图2,并行 扫描装置接收来自整数变换单元的残差数据并存入当前空闲的并行扫描单 元,当每个8x8残差块的第4个1x8块输入后,由选4奪逻辑依扫描顺序由高 频自低频输出系数,周期0输出自最高频起编号0到8的系数,周期l输出 编号8至16的系数,依此类推直至周期7输出编号56至63的系数,剩余 的输出系数8填充任意非零数据。对于8x8块,共进行8周期的处理,每周 期输出9个系数。当一个并行扫描单元输出扫描数据时另一个可接收输入残 差数据。
并行电平游程检测装置2检测9个系数中除系数8外非零系数间0的数 目作为非零系数的游程,此处系数按高频到低频的顺序依次从0开始编号。 用优先级编码器检测最后一个非零电平,若输入的第9个数据为0,除非当 前为最后周期,最后一个非零电平的游程无法确定。当最后一个非零电平的游程无法确定时,并行电平游程检测装置2设定其游程值为其后的0数,并
将此非零电平延迟至下一周期处理。若下一周期9个输入数据为全0则继续 延迟并对其游程值增加8,直至9个输入数据非全零或达到最后周期,此时 将此非零数据的游程与自输入高频数据起的O数相加,并与延迟的非零数据 本身组合,取代第 一个输入零作为第 一对电平-游程输出至并行表选择装置 3,处理完一个8x8块需8周期。
并行表选择装置3在一个8x8块开始前将其内部最大电平绝对值 (maxAbsLevel )初始化为0 ,根据块类型将当前表选择信号 (CurrentVLCTable )选择为VLCO—Intra/VLCO—Inter或VLCO—Chroma。运算 开始后依频率从高到低的顺序将最大电平绝对值与输入的电平绝对值 (absLevel M故比举交。若absLevel專支大,则一夺maxAbsLevel更豸斤为absLevel, 并根据absLevel选择适当的表选l奪信号(CurrentVLCTable),否则保持表 选才奪信号(CurrentVLCTable)为上一个电平-游程对的选4奪不变。如此重复 直至8x8块内所有的电平-游程对都已选择了适当的VLC表,将VLC表选择 与电平-游程对输出至并行电平游程率计算装置4。对于同时输入的至多8 个电平-游程对,此过程利用组合逻辑在同一个时钟周期内完成,处理8x8 块共需8周期,若需要进一步提升时钟频率也可流水化。
并行电平游程率计算装置4包含8个相同的电平游程率计算单元。电平 游程率计算单元检查输入电平,若输入电平为O则说明当前数据无需处理, 输出0。若输入数据为非零则在并行表选择装置选定的VLC表中查找相关的 电平-游程对获得变换系数(trans-Coeff icient),并加上电平信号符号位。 若未命中则利用游程计算变换系数(trans-coefficient),并在最大游程 (MaxR皿)表以及VLC表中查找游程获得参考电平绝对值RefAbsLevel,并利用电平与RefAbsLevel计算生成逃逸电平差分(escape—level—diff)。最后
利用AVS标准指定的适当阶数的指数哥伦布码分别计算变换系数
(trans_coeff icient )与逃逸电平差分(escape—level—diff )(若存在)的
编码比特数,相加后得到编码比特总数。每个电平游程率计算单元每周期处
理1个电平-游程对,因而并行电平游程率计算装置4每周期可以处理最多8
个电平-游程对,将其输出比特凄t相加后得到当前输入最多8个电平-游程对
的总比特数并输出至比特数累加器5。 一个8x8块的处理时间为8周期。
基本语法元素率计算装置6计算宏块内除残差系数以外的语法元素,例
如宏块类型,运动矢量预测与运动矢量差(对于帧间预测模式宏块),帧内预
测模式选择(对于帧内预测模式宏块)等,计算各语法元素经对应阶数指数哥
伦布码编码后的比特数。并将结果输出至比特数累加器4。基本语法元素率
计算装置6并不存在于流水线中,其只需在流水线完成整宏块的残差系数率
计算之前顺序或并行完成其余语法元素的率估计即可。
比特数累加器5累计整个宏块处理过程中来自并行编码电平游程率计算
装置4以及基本语法元素率计算装置6的比特数。包括32周期内来自4个
8x8块的残差系数比特数以及来自基本语法元素率计算装置6的其余语法元
素开销,得到当前宏块在当前预测模式下的准确编码后比特数。
本发明在每周期8点的吞吐率下可以流水线方式不间断处理多个宏块。 关键路径延迟在主流CMOS工艺下工作频率足以满足高清与多路标清实时编 码器的要求。若来自整数变换器单元的输入残差数据为每周期8点,则自宏 块的第一个8点残差数据输入至宏块率计算完成总处理延迟仅40周期,足 以满足流水化RD0模式选择的需求。
本发明的率计算方法及其装置可广泛应用于AVS实时编码系统中。以上 所述仅为本发明的较佳实施例而已,并不用于限制本发明。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1、一种视频编码率计算装置,其特征在于包括依次连接的用于块扫描的并行扫描装置,用于生成电平游程数据的并行电平游程检测装置、用于选择编码表的并行表选择装置、用于计算比特数的并行电平游程率计算装置和比特数累加器。
2、 如权利要求1所述的视频编码率计算装置,其特征在于还包括基 本语法元素率计算装置,与比特数累加器的输入端相连。
3、 如权利要求1所述的视频编码率计算装置,其特征在于并行扫描 装置包含两个及以上的扫描单元,以乒乓方式工作,每个单元交替进行数据 接收与输出,并行扫描装置输出数据的同时可以接收数据。
4、 如权利要求1或3所述的视频编码率计算装置,其特征在于A) 、所述的视频编码率计算装置的每周期并行处理N个数据;所述的并 行扫描装置对残差数据块进行扫描,每一周期并行输出N+l个数据,最后周 期输出N个数据;B) 、所述的并行扫描装置的数据来自整数变换器,扫描数据输出至并行 电平游程检测装置。
5、 如权利要求4所述的视频编码率计算装置,其特征在于所述的最 后周期为各装置完成某个8x8块全部数据输出的周期。
6、 如权利要求1或3所述的视频编码率计算装置,其特征在于所述 的并行扫描装置的扫描方式,根据当前宏块模式可选择之型扫描或场扫描方 式;所述宏块模式包括帧模式和场模式。
7、 如权利要求1所述的视频编码率计算装置,其特征在于A) 、所述的并行电平游程检测装置每周期可并行处理N+1个数据;B) 、所述的并行电平游程检测装置对每周期除第N+l个数据外,其余最 多N个非零数据并行生成最多N个电平-游程对数据;C) 、所述的并行电平游程检测装置的输入数据来自并行扫描装置,电平 -游程对数据输出至并行表选择装置。
8、 如权利要求1或7所述的^L频编码率计算装置,其特征在于所述 的并行电平游程检测装置输入的电平-游程对数据,检测每两个非零电平之 间间隔的零电平个数,计算出其游程,使用优先级编码器检测最后一个非零 电平。
9、 如权利要求1所述的视频编码率计算装置,其特征在于A )、所述的并行表选择装置根据接收到的电平-游程对数据选择适当的 可变长度编码表(Variable Length Code, VLC表);B )、所述的并行表选择装置将可变长度编码表选择信号与电平-游程对 数据并行输出至并行编码电平游程率计算装置;C)、所述的并行表选择装置的输入数据来自并行电平游程检测装置,数 据输出至并行编码电平游程率计算装置。
10、 如权利要求1或9所述的一见频编码率计算装置,其特征在于A) 、所述的并行表选择装置将输入数据从高频起依次检查最多N个输入 电平-游禾呈》十;B) 、分别将每个电平-游程对的电平与当前8x8数据块中并行表选择装 置斗企测到的最大电平作比较;C) 、所述的并行表选择装置,根据比较结果和残差块类型选择适当的可 变长度编码表;所述残差块类型包括帧内预测亮度块,帧间预测亮度块以及色度块。
11、 如权利要求1所述的视频编码率计算装置,其特征在于A) 、所述的并行电平游程率计算装置包含N个相同的编码电平游程率计 算单元,各电平游程率计算单元并行工作;B) 、所述的并行电平游程率计算装置内的每个编码电平游程率计算单元 处理一个电平-游程对数据,并行电平游程率计算装置每周期并行处理N个 数据;根据来自并行表选择装置的可变长度编码表选择信息、当前编码数据 信息、计算电平-游程对在编码后的比特数;C )、所述的并行编码电平游程率计算装置先累加N个并行的编码电平游 程率计算单元输出的编码比特数,并将数据输出至比特数累加器。
12、 如权利要求1或2所述的^L频编码率计算装置,其特征在于所述 的基本语法元素率计算装置计算宏块内除残差系数以外的语法元素经指数 哥伦布码编码后的比特数。并将结果输出至比特数累加器。
13、 如权利要求1或2所述的视频编码率计算装置,其特征在于所述 的比特数累加器,累计来自并行编码电平游程率计算装置,或累计来自并行 编码电平游程率计算装置和基本语法元素率计算装置的比特数,得到当前宏块在当前预测模式下编码后比特数。
14、 一种视频编码率计算方法,其特征在于包括以下步骤,A) 、扫描残差数据块,每周期最多处理N+1个数据;B) 、检测扫描数据,对数据进行电平-游程对编码;C) 、从高频起依次检查最多N个输入电平-游程对,分别将每个电平-游程对的电平与当前8x8数据块中检测到的最大电平作比较,根据比较结果 选择合适的可变长度编码表;D)、按照选定的编码表,计算当前编码模式的比特数; E )、计算宏块内除残差数据以外的语法元素经指数哥伦布码编码后的比 特数;F)、累计当前宏块编码的总比特数。
全文摘要
本发明提供一种视频编码率计算方法,以及运用该方法的视频编码率计算装置,其特征在于包括依次连接的并行扫描装置,并行电平游程检测装置、并行表选择装置、并行电平游程率计算装置和比特数累加器。本发明提供的视频编码率计算装置解决AVS编码中残差块率估计速度低下的问题,为高清格式或多路视频AVS实时编码器提高率计算能力。
文档编号H04N7/26GK101309401SQ200810040438
公开日2008年11月19日 申请日期2008年7月10日 优先权日2008年7月10日
发明者万建军, 悦 诸, 金永明, 高厚新 申请人:上海富瀚微电子有限公司