CN102340659B - 一种基于avs的并行的模式决策装置和方法 - Google Patents
一种基于avs的并行的模式决策装置和方法 Download PDFInfo
- Publication number
- CN102340659B CN102340659B CN 201010235154 CN201010235154A CN102340659B CN 102340659 B CN102340659 B CN 102340659B CN 201010235154 CN201010235154 CN 201010235154 CN 201010235154 A CN201010235154 A CN 201010235154A CN 102340659 B CN102340659 B CN 102340659B
- Authority
- CN
- China
- Prior art keywords
- data
- prediction data
- residual error
- pixel
- distortion factor
- 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的并行的模式决策装置,包括:数据选择装置用于从外部装置inter、intra和direct选择预测数据;失真度处理装置用来接收所述数据选择装置发送的预测数据来计算预测数据的失真度;预编码装置根据失真度处理装置发送的量化后的预测数据来计算预测数据的比特数;决策装置根据预测数据的失真度和比特数来进行模式决策。本发明利用合理的改变决策模式的先后次序,提高编码器对时间的利用率;另一方面采用高并行度处理,显著提高了数据处理的效率,使其满足高清实时编码的要求。
Description
技术领域
本发明涉及数字视频编解码技术领域,更具体地,本发明涉及一种基于AVS的并行的模式决策装置和方法。
背景技术
AVS标准是我国拥有独立产权和自主创新的新型视频编码技术,目前视频部分(AVS-P2)已经成为国家标准。AVS视频编码面向高清广播电视和音响视盘,由于在实时编码中单位时间处理大量的数据信息,使得纯软件编码实现几乎不可能,需要对编码器进行硬件加速。
在第二代视频标准中,引入了率失真优化(Rate Distortion Optimizaton,RDO)决策准则。该准则给每种模式的预测数据建立一个代价函数cost=D+λR,其中D表示预测数据的失真度,R表示预测数据的码率。在实时编码系统中,该准则用在模式决策部分。由于模式决策需要处理的数据量庞大,包括帧间(inter)模式、帧内(intra)模式和直接(direct)模式的预测值,并且基于率失真优化的决策准则本身复杂度也很高,从而严重影响编码器的效率。
发明内容
为克服现有编码器数据处理大、编码效率低的缺陷,本发明提出一种基于AVS的并行的模式决策装置和方法。
根据本发明的一个方面,提出了一种基于AVS的并行的模式决策装置,包括:数据选择装置、失真度处理装置、预编码装置和决策装置;
其中,所述数据选择装置用于从外部装置inter、intra和direct选择预测数据;失真度处理装置用来接收所述数据选择装置发送的预测数据来计算预测数据的失真度;预编码装置根据失真度处理装置发送的量化后的预测数据来计算预测数据的比特数;决策装置根据预测数据的失真度和比特数来进行模式决策。
其中,所述决策装置根据代价函数cost=D+λR实现模式决策,其中D表示预测数据的失真度,R表示预测数据的比特数,选择cost最小的模式。
其中,所述数据选择装置在选择intra亮度块的预测数据的间隔中选择其它模式的预测数据,其中,其他模式的预测数据包括inter16x16,inter16x8,inter8x16和inter8x8预测数据、direct16x16的预测数据以及intra的色度块的预测数据。
根据本发明的另一个方面,提供基于AVS的并行的模式决策方法,包括:
步骤10)、从外部装置inter、intra和direct选择预测数据;
步骤20)、根据所述预测数据来计算预测数据的失真度;
步骤30)、根据量化后的预测数据来计算预测数据的比特数;
步骤40)、根据预测数据的失真度和比特数来进行模式决策。
其中,步骤40)中,根据代价函数cost=D+λR实现模式决策,其中D表示预测数据的失真度,R表示预测数据的比特数,选择cost最小的模式。
其中,步骤10)中,在选择intra亮度块的预测数据的间隔中选择其它模式的预测数据,其中,其他模式的预测数据包括inter16x16,inter16x8,inter8x16和inter8x8预测数据、direct16x16的预测数据以及intra的色度块的预测数据。
本发明利用一种基于AVS的并行的模式决策装置,合理改变决策模式的先后次序,提高编码器对时间的利用率,并且采用高并行度的处理,显著提高了数据处理的效率,使其满足高清实时编码的要求。
附图说明
图1是根据本发明的模式决策部分硬件装置图;
图2是视频编码中宏块的4∶2∶0的宏块划分示意图;
图3是失真度处理装置的组成结构图。
具体实施方式
下面结合附图和具体实施例对本发明提供的一种基于AVS的并行的模式决策装置和方法进行详细描述。
模式决策中需要处理的数据包括inter16x16,inter16x8,inter8x16,inter8x8,intra和direct16x16等6种模式。其中,intra预测中具有一定的相关性,导致在模式决策过程中,intra亮度的决策存在一定的等待时间间隔。除了intra的其他5种模式,数据之间没有相关性。从而,为了控制硬件资源的使用成本,在模式决策部分仅使用一条流水线,分别接收上述6种模式的数据输入进行模式决策。
在本申请的装置中,模式决策处理的数据包括6种模式的数据,在处理这6种模式的数据时,每个时钟输入8个像素。在模式决策部分的内部各个模块,需要满足8像素并行的流水线设计,每个时钟有8个像素输入和8个像素输出。
本发明采用了编解码匹配的思想,利用编码端的原始像素和解码端的重构像素相比较。编码端编码需要残差模块、正变换模块和量化模块;解码端的重构像素需要反量化模块,反变换模块和重构模块。
本发明提供的AVS并行的模式决策装置如图1所示,包括数据选择装置、失真度处理装置、预编码装置和决策装置。数据选择装置用于选择需要处理的数据,将上述6种模式的数据分为3类,并与之对应为3个外部装置inter、intra和direct。对于模式决策装置,在任意时刻该3类装置的输出数据最多只能有1个有效。这3个装置的每个与数据选择装置均有8个像素的数据连线,数据选择装置的输出与残差装置输入相连,输出的数据为8像素并行。失真度处理装置用来计算代价函数中的D,具体包括残差装置、正变换装置、量化装置、反量化装置、反变换装置、重构装置和失真度计算装置,这些装置的数据接口是8像素输入或输出。预编码装置用来计算代价函数中的R,预编码装置的数据接口为8像素并行的输入,每个时钟输入8个像素;预编码装置的输出为每8个时钟输出1个数据,该数据表示8x8块的比特数。决策装置根据代价函数cost=D+λR实现模式决策,其中D表示预测数据的失真度,R表示预测数据的比特数,然后比较每种模式的cost,cost最小的模式也就是被选择的模式。
进一步,参考图1,详细描述各装置的结构和运行。其中,数据选择装置是模式决策部分的数据输入装置,进行预测数据的选择。模式决策部分的数据主要包括6种,这6种模式的数据主要来自3个装置:装置inter,用来得到inter16x16,inter16x8,inter8x16和inter8x8的预测数据;装置direct,用来得到direct16x16的预测数据;装置intra,用来得到intra的各个色度和亮度块的预测数据。
数据选择装置的输入接口与inter装置、direct装置和intra装置的输出接口相连。这3个装置各自与数据选择装置存在8像素并行的数据接口。数据选择装置的输出接口为8像素并行的数据接口。数据选择装置的功能是在inter装置,direct装置和intra装置中选择1个装置的预测数据进行处理。
根据AVS协议规定,如图2所示,每个宏块包括4个亮度块,2个色度块。在intra执行预测时,亮度块决策的先后顺序是有一定的相关性,这个顺序为0,1,2,3。另外,由于模式决策本身需要一定的时钟周期来处理,这样就会带来一定的流水线空闲。例如,在执行完intra的亮度0块后,需要等待一定时间才能决策完毕,决策完毕后才能执行intra的亮度1块,这个等待的时间带来了硬件流水线的空闲。为了利用这个空闲时间,本申请提出将其它模式的处理顺序或者间隔插入到intra亮度块等待间隔中。例如,可以安排如下模式的执行顺序:intra亮度0块,inter16x16,inter16x8,intra亮度1块,inter8x16,inter8x8,intra亮度2块,direct16x16,intra色度块,intra亮度3块。
由于intra亮度块的预测存在一定的相关性,这种相关性严重影响了模式决策部分的效率。本发明提出了通过数据选择装置将各种模式的预测数据插入到intra亮度块的预测数据的间隔中执行。例如,次序依次为:intra亮度0块,direct16x16,inter16x16,intra亮度1块,inter16x8,inter8x16,intra亮度2块,inter8x8,intra色度块,intra亮度3块。
参考图3,在失真度处理装置中,残差装置、正变换装置和量化装置用来完成数据的残差计算、AVS整数变换和量化处理。
残差装置的输入为数据选择装置的输出,输出为残差数据,输入输出均为8像素并行的数据接口。具体实现为:残差像素=原始像素-预测像素;输出残差像素的位宽为9比特。
正变换装置的输入为残差装置的输出,输出为经过AVS整数变换处理后的数据。输入输出均为8像素并行接口。变换的目的是为了将残差系数由时域分布转化为空域分布。具体的数学形式为:Y=T·X·TT;其中,T为AVS整数变换的变换矩阵,X为残差装置输出的残差数据,Y为经过变换之后的数据,也就是变换装置的输出数据。残差装置的输入像素位宽为9比特,输出像素的位宽为16比特。
量化装置的输入为正变换装置的输出,输出为量化后的数据,输入输出均为8像素并行的数据接口,量化是为了降低空域残差系数的幅值。由于AVS的量化是基于乘法和移位实现的运算方式,对于小于一定幅值的系数会量化为0,从而提高了整个编码器的压缩效率。按照AVS工作组提供的参考代码,量化的数学形式为:
q=(((scale[QP]×dct_coeff+(1<<18))>>19)×value[QP]+qpConst)>>15
其中,scale[QP]和value[QP]是关于量化参数QP的函数,可以通过查表得到。qpConst是一个常数。dct_coeff是正变换装置的输出像素值,q为量化装置的输出像素值。量化装置的输入像素位宽为16比特,输出像素位宽为12比特。
其中,量化装置的输出数据分为两路,其中一路发送到反量化装置进行反量化,另外一路送给预编码装置进行比特数计算。由此,在计算失真度和比特数时,共用残差装置、正变换装置和量化装置。
量化装置的输出数据分为两路,一路送往反量化装置,另外一路送往预编码装置,这两路的数据均为8像素并行。
参考图3,在失真度处理装置中,反量化装置、反变换装置和重构装置用来完成残差数据的反量化处理,反变换处理,得到时域的残差像素后,计算像素的重构值。
反量化装置的输入为量化装置的输出,输出为反量化后的空域数据。输入输出均为8像素并行的数据接口。与解码端对应,反量化是为了对量化数据的恢复。AVS标准制定了利用乘法和移位实现反量化的方法,其数学形式为:
iq=(q×Dequant[QP]+2shift[QP]-1)>>shift[QP]
其中,q为经过量化之后的像素值,Dequant[QP]和shift[QP]为关于量化参数QP的函数,可以利用查表得到。反量化装置的输入像素位宽为12比特,输出像素的位宽为14比特。
反变换装置的输入为反量化装置的输出,输出为经过反变换处理的时域残差,这个残差在本申请中称为“有失真的残差”。反变换装置的功能就是完成像素值空域向时域的转换,将8×8变换系数矩阵iq转换为8×8残差样值矩阵的过程,步骤如下:
其中,
第二步,矩阵H的元素h″ij计算如下:
h″ij=(Clip3(-215,215-1,(h′ij+4)))>>3 i,j=0~7
第三步,对矩阵H进行如下垂直反变换:H=T8×H;其中,H表示反变换后的8×8矩阵。
第四步,残差样值矩阵ResidueMatrix的元素rij计算如下:
rij=(Clip3(-215,215-1,(hij+26)))>>7 i,j=0~7
其中hij是H矩阵的元素。
反变换装置的输入像素位宽为14比特,输出像素的位宽为9比特。
重构装置的输入为反变换的输出,输出为重构像素。输入输出均为8像素并行的数据接口。重构装置用来完成重构像素的计算,其数学形式如下:重构像素=有失真的残差+预测像素;重构装置的输出像素为9比特位宽。
失真度计算装置的输入为重构装置的输出,输出为每个块的失真度。失真度计算装置的输入为8像素并行输入,也就是说每个时钟接收8个像素的重构值;输出为每8个时钟输出1个8x8块的失真度。该装置用于完成每个块的失真度计算,本发明采用了SSD的表达方式,其数学形式如下:
预编码装置的输入为量化装置的输出,输出为每个块的比特数。预编码装置的输入为8像素并行输入,也就是说每个时钟接收8个像素的量化后系数;输出为每8个时钟数出1个8x8块的比特数。该装置是计算编码每个块所需要的比特数。依据AVS的视频编解码标准,采用了一种类2D-Golomb的熵编码方法,将每个块的所有系数全部进行了熵编码,得到每个块所需要的比特数。与真正2D-Golomb熵编码不同的是,熵编码需要将所有的系数全部写成01的比特流,而本装置不需要得到最终的比特流,只需要知道比特流的长度。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
Claims (13)
1.一种基于AVS的并行的模式决策装置,包括:数据选择装置、失真度处理装置、预编码装置和决策装置;
其中,所述数据选择装置用于从外部装置帧间模式、帧内模式和直接模式选择预测数据;失真度处理装置用来接收所述数据选择装置发送的预测数据来计算预测数据的失真度;预编码装置根据失真度处理装置发送的量化后的预测数据来计算预测数据的比特数;决策装置根据预测数据的失真度和比特数来进行模式决策;
所述数据选择装置在选择帧内模式亮度块的预测数据的间隔中选择其它模式的预测数据,其中,其他模式的预测数据包括帧间模式16x16,帧间模式16x8,帧间模式8x16和帧间模式8x8预测数据、直接模式16x16的预测数据以及帧内模式的色度块的预测数据。
2.权利要求1的装置,其中,所述决策装置根据代价函数cost=D+λR实现模式决策,其中D表示预测数据的失真度,R表示预测数据的比特数,λ表示率失真优化中的拉格朗日因子,选择cost最小的模式。
3.权利要求1的装置,其中,所述失真度处理装置包括分别用来实现数据的残差计算、AVS整数变换和量化处理的残差装置、正变换装置和量化装置以及分别用来完成残差数据的反量化处理、反变换处理并在得到时域的残差像素后计算像素的重构数据的反量化装置、反变换装置和重构装置。
5.权利要求3的装置,其中,所述残差装置根据数据选择装置输出的选择数据来输出残差像素数据,残差像素=原始像素-预测像素;所述正变换装置根据残差装置输出的残差像素经过AVS整数变换,将残差系数由时域分布转化为空域分布;所述量化装置用于降低正变换装置输出的空域分布的残差系数的幅值。
6.权利要求5的装置,其中,所述量化装置基于AVS来实现:
q=(((scale[QP]×dct_coeff+(1<<18))>>19)×value[QP]+qpConst)>>15
其中,scale[QP]和value[QP]是关于量化参数QP的函数,qpConst是常数,dct_coeff是正变换装置的输出像素值,q为量化装置的输出像素值。
7.权利要求3的装置,其中,所述量化装置的输出数据发送到反量化装置进行反量化并且发送到预编码装置进行比特数计算,即在计算失真度和比特数时,共用残差装置、正变换装置和量化装置。
8.权利要求3的装置,其中,所述重构装置用来完成重构像素的计算:重构像素=有失真的残差+预测像素。
9.一种基于AVS的并行的模式决策方法,包括:
步骤10)、从外部装置帧间模式、帧内模式和直接模式选择预测数据;在选择帧内模式亮度块的预测数据的间隔中选择其它模式的预测数据,其中,其他模式的预测数据包括帧间模式16x16,帧间模式16x8,帧间模式8x16和帧间模式8x8预测数据、直接模式16x16的预测数据以及帧内模式的色度块的预测数据;
步骤20)、根据所述预测数据来计算预测数据的失真度;
步骤30)、根据量化后的预测数据来计算预测数据的比特数;
步骤40)、根据预测数据的失真度和比特数来进行模式决策。
10.权利要求9的方法,其中,步骤40)中,根据代价函数cost=D+λR实现模式决策,其中D表示预测数据的失真度,R表示预测数据的比特数,λ表示率失真优化中的拉格朗日因子,选择cost最小的模式。
12.权利要求11的方法,其中,步骤20)中,根据选择数据来输出残差像素数据,残差像素=原始像素-预测像素;根据残差像素经过AVS整数变换,将残差系数由时域分布转化为空域分布;通过量化来降低空域分布的残差系数的幅值。
13.权利要求12的方法,其中,所述量化基于AVS来实现:
q=(((scale[QP]×dct_coeff+(1<<18))>>19)×value[QP]+qpConst)>>15
其中,scale[QP]和value[QP]是关于量化参数QP的函数,qpConst是常数,dct_coeff是空域分布的像素值,q为量化后的像素值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010235154 CN102340659B (zh) | 2010-07-23 | 2010-07-23 | 一种基于avs的并行的模式决策装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010235154 CN102340659B (zh) | 2010-07-23 | 2010-07-23 | 一种基于avs的并行的模式决策装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102340659A CN102340659A (zh) | 2012-02-01 |
CN102340659B true CN102340659B (zh) | 2013-09-04 |
Family
ID=45516140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010235154 Active CN102340659B (zh) | 2010-07-23 | 2010-07-23 | 一种基于avs的并行的模式决策装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102340659B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10142647B2 (en) * | 2014-11-13 | 2018-11-27 | Google Llc | Alternating block constrained decision mode coding |
CN106034235B (zh) * | 2015-03-11 | 2020-01-03 | 杭州海康威视数字技术股份有限公司 | 计算编码失真度和编码模式控制的方法及其系统 |
CN112804523B (zh) * | 2020-12-30 | 2023-01-03 | 北京博雅慧视智能技术研究院有限公司 | 一种并行的帧内模式选择系统和方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2796280Y (zh) * | 2005-12-31 | 2006-07-12 | 深圳市中科诺数码科技有限公司 | Dvd编码器 |
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN101179729A (zh) * | 2007-12-20 | 2008-05-14 | 清华大学 | 一种基于帧间模式统计分类的h.264宏块模式选择方法 |
CN101217671A (zh) * | 2008-01-09 | 2008-07-09 | 武汉大学 | 自适应选择h.264视频标准中灵活宏块排序模式的方法 |
CN101677400A (zh) * | 2008-09-19 | 2010-03-24 | 华为技术有限公司 | 编码、解码方法和编码器、解码器及编解码系统 |
CN101771878A (zh) * | 2010-01-14 | 2010-07-07 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8155189B2 (en) * | 2005-10-19 | 2012-04-10 | Freescale Semiconductor, Inc. | System and method of coding mode decision for video encoding |
-
2010
- 2010-07-23 CN CN 201010235154 patent/CN102340659B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2796280Y (zh) * | 2005-12-31 | 2006-07-12 | 深圳市中科诺数码科技有限公司 | Dvd编码器 |
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN101179729A (zh) * | 2007-12-20 | 2008-05-14 | 清华大学 | 一种基于帧间模式统计分类的h.264宏块模式选择方法 |
CN101217671A (zh) * | 2008-01-09 | 2008-07-09 | 武汉大学 | 自适应选择h.264视频标准中灵活宏块排序模式的方法 |
CN101677400A (zh) * | 2008-09-19 | 2010-03-24 | 华为技术有限公司 | 编码、解码方法和编码器、解码器及编解码系统 |
CN101771878A (zh) * | 2010-01-14 | 2010-07-07 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102340659A (zh) | 2012-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102740077B (zh) | 基于h.264/avc标准的帧内预测模式选择方法 | |
CN100586184C (zh) | 帧内预测方法 | |
CN110235444A (zh) | 使用多条参考线的帧内预测 | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
CN109644270A (zh) | 用于视频编码/解码系统的多维量化技术 | |
CN102334337A (zh) | 选择性使用离散正余弦转换的编解码装置和方法 | |
CN103327325A (zh) | 基于hevc标准的帧内预测模式快速自适应选择方法 | |
CN103650496A (zh) | 用于在hevc中编码的基于像素的帧内预测 | |
CN101072356A (zh) | 一种运动矢量预测方法 | |
CN107846593B (zh) | 一种率失真优化方法及装置 | |
CN101938654B (zh) | 一种变换系数的优化量化方法及装置 | |
CN103024392B (zh) | 基于二维哈达玛变换的帧内模式预测方法及装置 | |
CN107623857A (zh) | 视频编码/解码方法、设备以及生成和存储比特流的方法 | |
CN104320657A (zh) | Hevc无损视频编码的预测模式选择方法及相应的编码方法 | |
CN102238383B (zh) | 用于视频编解码器的多总线体系结构 | |
CN102752596A (zh) | 一种率失真优化方法 | |
CN102340659B (zh) | 一种基于avs的并行的模式决策装置和方法 | |
CN104702959B (zh) | 一种视频编码的帧内预测方法及系统 | |
CN103096052B (zh) | 一种图像编码、解码的方法和装置 | |
CN109391816A (zh) | 基于cpu+gpu异构平台实现hevc中熵编码环节的并行处理方法 | |
CN103634608B (zh) | 一种高性能视频编码无损模式的残差变换方法 | |
CN102685497A (zh) | 一种avs编码器快速帧间模式选择方法及装置 | |
CN102256126A (zh) | 混合图像的编码方法 | |
CN103533351B (zh) | 一种多量化表的图像压缩方法 | |
CN103154970A (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 |