CN101309401B - 一种快速的先进视频编码率计算方法及其装置 - Google Patents
一种快速的先进视频编码率计算方法及其装置 Download PDFInfo
- Publication number
- CN101309401B CN101309401B CN 200810040438 CN200810040438A CN101309401B CN 101309401 B CN101309401 B CN 101309401B CN 200810040438 CN200810040438 CN 200810040438 CN 200810040438 A CN200810040438 A CN 200810040438A CN 101309401 B CN101309401 B CN 101309401B
- Authority
- CN
- China
- Prior art keywords
- swimming
- data
- distance
- rate calculation
- level
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种视频编码率计算方法,以及运用该方法的视频编码率计算装置,其特征在于:包括依次连接的并行扫描装置,并行电平游程检测装置、并行表选择装置、并行电平游程率计算装置和比特数累加器。本发明提供的视频编码率计算装置解决AVS编码中残差块率估计速度低下的问题,为高清格式或多路视频AVS实时编码器提高率计算能力。
Description
技术领域
本发明属于数字视频处理领域,涉及一种视频快速率计算方法及其装置,尤其是一种适用于先进音视频编码编码器的并行快速率计算方法及其装置。
背景技术
随着音视频产业的不断发展,国际上音视频编解码技术也日趋成熟。JVT推出了MPEG-4 AVC/H.264视频编码技术国际标准,我国则推出了音视频编码标准AVS(Advanced Audio-Video Coding Standard in InformationTechnology,信息技术先进音视频编码)国家标准。这些视频编码标准能在保持视频主观质量的条件下,对信息量极大的视频信号进行高效压缩,极大降低存储空间和网络带宽要求。AVS中广泛使用了各类预测技术以进一步的提高编码效率。为了选择适当的预测模式,AVS使用了率失真优化(RDO)模式选择作为视频编码的重要组成部分,AVS编码器利用编码的失真以及编码后的比特率计算各个模式的代价,并以此判定当前最佳的预测模式。
因此,在编码的过程中,编码器对当前宏块以各个预测模式分别进行预测后,需要预知编码后当前宏块的比特数作为模式选择的判断依据。通常而言,宏块头的代价与运动矢量编码比特数等语法元素所对应的编码后数据率较容易得知,而要算出总比特数还需残差数据编码后的比特数。AVS的熵编码采用2维可变长度编码(2D-VLC)对变换后的残差系数进行熵编码。编码一般以逐个扫描8x8块残差系数块的方式进行,对于高吞吐率的高清或多路实时编码器而言,此过程过于缓慢。因此通常采用简化的率估计方法,而估计方法带来的误差造成了性能损失。
因此,在一些需要对如高清格式或多路视频信号进行实时编码的视频应用领域,采用专用集成电路(ASIC)来实现高吞吐率的并行快速率计算装置是最为合适的选择。
发明内容
本发明的目的是提供一种适用于AVS编码器的快速的并行率计算方法及其装置,解决AVS编码中残差块率估计速度低下的问题,为高清格式或多路视频AVS实时编码器提高率计算能力。
本发明是通过以下技术方案实现的:
一种视频编码率计算装置,包括依次连接的并行扫描装置,并行电平游程检测装置、并行表选择装置、并行电平游程率计算装置和比特数累加器;还可以包括基本语法元素率计算装置,与比特数累加器的输入端相连。
视频编码率计算装置的每周期并行处理N个数据;并行扫描装置对残差数据块进行扫描,每一周期并行输出N+1个数据,最后周期输出N个数据,其中最后周期为各装置完成某个8x8块全部数据输出的周期。
扫描数据输出至并行电平游程检测装置。并行扫描装置包含两个及以上的相同的扫描单元,以乒乓方式工作,每个扫描单元交替进行数据接收与输出,并行扫描装置输出数据的同时可以接收数据。并行扫描装置的扫描方式根据当前宏块模式选择之型扫描或场扫描方式,其中宏块模式包括帧模式和场模式。
进一步的,所述的并行电平游程检测装置每周期可并行处理N+1个数据。对每周期除第N+1个数据外,其余最多N个非零数据并行生成最多N个电平-游程对数据。并行电平游程检测装置检测每两个非零电平之间间隔零电平个数作为其游程,使用优先级编码器检测最后一个非零电平。并行电平游程检测装置的输入数据来自并行扫描装置,电平-游程对数据输出至并行表选择装置。
进一步的,所述的并行表选择装置从输入数据的高频起依次检查最多N个输入电平-游程对,分别将每个电平-游程对电平与当前8x8数据块中并行表选择装置检测到的最大电平作比较;根据比较结果和残差块类型选择适当的可变长度编码表;所述残差块类型包括帧内预测亮度块,帧间预测亮度块以及色度块。并行表选择装置根据数据选择适当的可变长度编码表(Variable Length Code,VLC表),将可变长度编码表选择信号与电平-游程对数据输出至并行编码电平游程率计算装置.并行表选择装置的输入数据来自并行电平游程检测装置,数据输出至并行编码电平游程率计算装置。
进一步的,所述的并行电平游程率计算装置包含N个相同的编码电平游程率计算单元,各电平游程率计算单元并行工作,每个编码电平游程率计算单元处理一个电平-游程对数据,并行电平游程率计算装置每周期并行处理N个数据。根据来自并行表选择装置的可变长度编码表选择信息与当前编码数据信息计算电平-游程对在编码后的比特数。并行编码电平游程率计算装置先累加N个并行编码电平游程率计算单元输出的编码比特数,并将数据输出至比特数累加器。
进一步的,所述的基本语法元素率计算装置计算宏块内除残差系数以外的语法元素经指数哥伦布码编码后的比特数。并将结果输出至比特数累加器。所述的比特数累加器,累计来自并行编码电平游程率计算装置和基本语法元素率计算装置的比特数,得到当前宏块在当前预测模式下编码后比特数。
更进一步,本发明提供了一种视频编码率计算方法,其特征在于:包括以下步骤,
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编码器的并行快速率计算装置的流水线示意图。
标号说明:
1、并行扫描装置; 2、并行电平游程检测装置;
3、并行表选择装置; 4、并行电平游程率计算装置;
5、比特数累加器; 6、基本语法元素率计算装置。
具体实施方式
现结合附图,具体说明本发明的实施方式:
以下说明N=8下适用于AVS编码器的并行快速率计算装置结构与工作流程,来自整数变换模块的输入残差系数为每周期一个1x8块,水平方向由高频向低频依次输入。
如图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块输入后,由选择逻辑依扫描顺序由高频自低频输出系数,周期0输出自最高频起编号0到8的系数,周期1输出编号8至16的系数,依此类推直至周期7输出编号56至63的系数,剩余的输出系数8填充任意非零数据。对于8x8块,共进行8周期的处理,每周期输出9个系数。当一个并行扫描单元输出扫描数据时另一个可接收输入残差数据。
并行电平游程检测装置2检测9个系数中除系数8外非零系数间0的数目作为非零系数的游程,此处系数按高频到低频的顺序依次从0开始编号。用优先级编码器检测最后一个非零电平,若输入的第9个数据为0,除非当前为最后周期,最后一个非零电平的游程无法确定。当最后一个非零电平的游程无法确定时,并行电平游程检测装置2设定其游程值为其后的0数,并将此非零电平延迟至下一周期处理。若下一周期9个输入数据为全0则继续延迟并对其游程值增加8,直至9个输入数据非全零或达到最后周期,此时将此非零数据的游程与自输入高频数据起的0数相加,并与延迟的非零数据本身组合,取代第一个输入零作为第一对电平-游程输出至并行表选择装置3,处理完一个8x8块需8周期。
并行表选择装置3在一个8x8块开始前将其内部最大电平绝对值(maxAbsLevel)初始化为0,根据块类型将当前表选择信号(CurrentVLCTable)选择为VLC0_Intra/VLC0_Inter或VLC0_Chroma。运算开始后依频率从高到低的顺序将最大电平绝对值与输入的电平绝对值(absLevel)做比较。若absLevel较大,则将maxAbsLevel更新为absLevel,并根据absLevel选择适当的表选择信号(CurrentVLCTable),否则保持表选择信号(CurrentVLCTable)为上一个电平-游程对的选择不变。如此重复直至8x8块内所有的电平-游程对都已选择了适当的VLC表,将VLC表选择与电平-游程对输出至并行电平游程率计算装置4。对于同时输入的至多8个电平-游程对,此过程利用组合逻辑在同一个时钟周期内完成,处理8x8块共需8周期,若需要进一步提升时钟频率也可流水化。
并行电平游程率计算装置4包含8个相同的电平游程率计算单元。电平游程率计算单元检查输入电平,若输入电平为0则说明当前数据无需处理,输出0。若输入数据为非零则在并行表选择装置选定的VLC表中查找相关的电平-游程对获得变换系数(trans_coefficient),并加上电平信号符号位。若未命中则利用游程计算变换系数(trans_coefficient),并在最大游程(MaxRun)表以及VLC表中查找游程获得参考电平绝对值RefAbsLevel,并利用电平与RefAbsLevel计算生成逃逸电平差分(escape_level_diff)。最后利用AVS标准指定的适当阶数的指数哥伦布码分别计算变换系数(trans_coefficient)与逃逸电平差分(escape_level_diff)(若存在)的编码比特数,相加后得到编码比特总数。每个电平游程率计算单元每周期处理1个电平-游程对,因而并行电平游程率计算装置4每周期可以处理最多8个电平-游程对,将其输出比特数相加后得到当前输入最多8个电平-游程对的总比特数并输出至比特数累加器5。一个8x8块的处理时间为8周期。
基本语法元素率计算装置6计算宏块内除残差系数以外的语法元素,例如宏块类型,运动矢量预测与运动矢量差(对于帧间预测模式宏块),帧内预测模式选择(对于帧内预测模式宏块)等,计算各语法元素经对应阶数指数哥伦布码编码后的比特数。并将结果输出至比特数累加器4。基本语法元素率计算装置6并不存在于流水线中,其只需在流水线完成整宏块的残差系数率计算之前顺序或并行完成其余语法元素的率估计即可。
比特数累加器5累计整个宏块处理过程中来自并行编码电平游程率计算装置4以及基本语法元素率计算装置6的比特数。包括32周期内来自4个8x8块的残差系数比特数以及来自基本语法元素率计算装置6的其余语法元素开销,得到当前宏块在当前预测模式下的准确编码后比特数。
本发明在每周期8点的吞吐率下可以流水线方式不间断处理多个宏块。关键路径延迟在主流CMOS工艺下工作频率足以满足高清与多路标清实时编码器的要求。若来自整数变换器单元的输入残差数据为每周期8点,则自宏块的第一个8点残差数据输入至宏块率计算完成总处理延迟仅40周期,足以满足流水化RDO模式选择的需求。
本发明的率计算方法及其装置可广泛应用于AVS实时编码***中。以上所述仅为本发明的较佳实施例而已,并不用于限制本发明。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频编码率计算装置,其特征在于:包括依次连接的用于块扫描的并行扫描装置、用于生成电平游程数据的并行电平游程检测装置、用于选择编码表的并行表选择装置、用于计算比特数的并行电平游程率计算装置和比特数累加器。
2.如权利要求1所述的视频编码率计算装置,其特征在于:还包括基本语法元素率计算装置,与比特数累加器的输入端相连。
3.如权利要求1所述的视频编码率计算装置,其特征在于:并行扫描装置包含两个及以上的扫描单元,以乒乓方式工作,所述扫描单元交替进行数据接收与输出,并行扫描装置输出数据的同时可以接收数据。
4.如权利要求1或3所述的视频编码率计算装置,其特征在于:
A)、所述的视频编码率计算装置的每周期并行处理N个数据;所述的并行扫描装置对残差数据块进行扫描,每一周期并行输出N+1个数据,最后周期输出N个数据;
B)、所述的并行扫描装置的数据来自整数变换器,扫描数据输出至并行电平游程检测装置。
5.如权利要求4所述的视频编码率计算装置,其特征在于:所述的最后周期为各装置完成某个8x8块全部数据输出的周期。
6.如权利要求1所述的视频编码率计算装置,其特征在于:
A)、所述的并行电平游程检测装置每周期可并行处理N+1个数据;
B)、所述的并行电平游程检测装置对每周期除第N+1个数据外,其余最多N个非零数据并行生成最多N个电平-游程对数据;
C)、所述的并行电平游程检测装置的输入数据来自并行扫描装置,电平-游程对数据输出至并行表选择装置。
7.如权利要求1或6所述的视频编码率计算装置,其特征在于:所述的并行电平游程检测装置检测每两个非零电平之间间隔的零电平个数,使用优先级编码器检测最后一个非零电平,输出电平-游程对数据。
8.如权利要求1所述的视频编码率计算装置,其特征在于:
A)、所述的并行表选择装置根据接收到的电平-游程对数据选择适当的可变长度编码表(Variable Length Code,VLC表);
B)、所述的并行表选择装置将可变长度编码表选择信号与电平-游程对数据并行输出至并行电平游程率计算装置;
C)、所述的并行表选择装置的输入数据来自并行电平游程检测装置,数据输出至并行电平游程率计算装置。
9.如权利要求1或8所述的视频编码率计算装置,其特征在于:
A)、所述的并行表选择装置将输入数据从高频起依次检查最多N个输入电平-游程对;
B)、分别将每个电平-游程对的电平与当前8x8数据块中并行表选择装置检测到的最大电平作比较;
C)、所述的并行表选择装置,根据比较结果和残差块类型选择适当的可变长度编码表;所述残差块类型包括帧内预测亮度块、帧间预测亮度块以及色度块。
10.如权利要求1所述的视频编码率计算装置,其特征在于:
A)、所述的并行电平游程率计算装置包含N个相同的编码电平游程率计算单元,各电平游程率计算单元并行工作;
B)、所述的并行电平游程率计算装置内的每个编码电平游程率计算单元处理一个电平-游程对数据,并行电平游程率计算装置每周期并行处理N个数据;根据来自并行表选择装置的可变长度编码表选择信息、当前编码数据信息,计算电平-游程对在编码后的比特数;
C)、所述的并行电平游程率计算装置先累加N个并行的编码电平游程率计算单元输出的编码比特数,并将数据输出至比特数累加器。
11.如权利要求2所述的视频编码率计算装置,其特征在于:所述的基本语法元素率计算装置计算宏块内除残差系数以外的语法元素经指数哥伦布码编码后的比特数,并将结果输出至比特数累加器。
12.如权利要求1或2所述的视频编码率计算装置,其特征在于:所述的比特数累加器,累计来自并行电平游程率计算装置,或累计来自并行电平游程率计算装置和基本语法元素率计算装置的比特数,得到当前宏块在当前预测模式下编码后比特数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810040438 CN101309401B (zh) | 2008-07-10 | 2008-07-10 | 一种快速的先进视频编码率计算方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810040438 CN101309401B (zh) | 2008-07-10 | 2008-07-10 | 一种快速的先进视频编码率计算方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101309401A CN101309401A (zh) | 2008-11-19 |
CN101309401B true CN101309401B (zh) | 2010-08-04 |
Family
ID=40125581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810040438 Active CN101309401B (zh) | 2008-07-10 | 2008-07-10 | 一种快速的先进视频编码率计算方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101309401B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102625096A (zh) * | 2011-01-28 | 2012-08-01 | 联合信源数字音视频技术(北京)有限公司 | 基于avs的并行预编码设备 |
GB2551086B (en) * | 2011-10-17 | 2018-09-19 | Kt Corp | Method and apparatus for encoding/decoding image |
CN106911933A (zh) * | 2015-12-22 | 2017-06-30 | 北京君正集成电路股份有限公司 | 一种基于h.265的编码单元所占比特数的计算方法及装置 |
-
2008
- 2008-07-10 CN CN 200810040438 patent/CN101309401B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101309401A (zh) | 2008-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100593955C (zh) | 用于以帧间或帧内模式编码视频图像的方法和设备 | |
CN101557514B (zh) | 一种帧间预测编解码方法、装置及*** | |
CN100551073C (zh) | 编解码方法及装置、分像素插值处理方法及装置 | |
KR100897880B1 (ko) | 비디오 코딩에 사용되는 코딩단/디코딩단의 양방향예측방법 | |
CN100558168C (zh) | 生成编码画面数据和对编码画面数据进行解码的方法和设备 | |
CN101159875B (zh) | 二重预测视频编解码方法和装置 | |
CN102893604B (zh) | 用于视频的数据压缩 | |
CN101610413B (zh) | 一种视频的编码/解码方法及装置 | |
CN101267556B (zh) | 快速运动估计方法及视频编解码方法 | |
CN102740077B (zh) | 基于h.264/avc标准的帧内预测模式选择方法 | |
CN106170092A (zh) | 用于无损编码的快速编码方法 | |
CN103442228B (zh) | 从h.264/avc标准到hevc标准的快速帧内转码方法及其转码器 | |
CN101014129B (zh) | 一种视频数据压缩方法 | |
US20160301945A1 (en) | Image compression/decompression device | |
CN101938654B (zh) | 一种变换系数的优化量化方法及装置 | |
CN102932642A (zh) | 一种帧间编码快速模式选择方法 | |
CN103384327A (zh) | 基于自适应阈值的avs快速模式选择算法 | |
CN101860747B (zh) | 亚像素运动估计***及方法 | |
CN101309401B (zh) | 一种快速的先进视频编码率计算方法及其装置 | |
CN110191339B (zh) | 码率估计核心单元、码率估计装置及码率估计方法 | |
CN105025298A (zh) | 对图像进行编码/解码的方法和设备 | |
CN101841722B (zh) | 滤波边界强度的检测装置的检测方法 | |
CN100499816C (zh) | 一种流式视频像素域转码的方法 | |
CN101072355A (zh) | 一种加权预测运动补偿方法 | |
CN101411204B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 200001, room 703, building A, No. 1050, Shanghai, Wuzhong Road Patentee after: SHANGHAI FULHAN MICROELECTRONICS CO., LTD. Address before: 200001, room 703, building A, No. 1050, Shanghai, Wuzhong Road Patentee before: Shanghai Fullhan Microelectronics Co., Ltd. |