CN100452882C - 可变块大小运动补偿的数据缓存方法及其实现装置 - Google Patents

可变块大小运动补偿的数据缓存方法及其实现装置 Download PDF

Info

Publication number
CN100452882C
CN100452882C CNB2006100891459A CN200610089145A CN100452882C CN 100452882 C CN100452882 C CN 100452882C CN B2006100891459 A CNB2006100891459 A CN B2006100891459A CN 200610089145 A CN200610089145 A CN 200610089145A CN 100452882 C CN100452882 C CN 100452882C
Authority
CN
China
Prior art keywords
data
pixel
address
block
type
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.)
Expired - Fee Related
Application number
CNB2006100891459A
Other languages
English (en)
Other versions
CN1905677A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CNB2006100891459A priority Critical patent/CN100452882C/zh
Publication of CN1905677A publication Critical patent/CN1905677A/zh
Application granted granted Critical
Publication of CN100452882C publication Critical patent/CN100452882C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明涉及可变块大小运动补偿的数据缓存方法及其实现装置,属于信号处理中的视频和图像编解码技术领域,该方法包括:根据宏块分割类型和插值点类型,以及各子块的运动矢量,对每个宏块,确定一个最小参考块象素集;对最小参考块象素集采用标志位、行起始地址和行终止地址进行标定;根据最小参考块象素集的标定,生成地址序列,读取最小参考块象素集的数据;将读取的最小参考块象素集的数据按照映射规则存储在片上数据缓存区。该装置包括:最小参考块象素集标定模块、地址生成模块、参考帧存储器及参考帧象素块数据缓存器。

Description

可变块大小运动补偿的数据缓存方法及其实现装置
技术领域
本发明属于信号处理中的视频和图像编解码技术领域,特别涉及在编码解码过程中可变块大小运动补偿的数据缓存方法及其实现装置。
背景技术
H.264/AVC是最新的视频编码国际标准。新的视频编码国际标准采用了许多新的编码技术,如基于上下文的变长编码(CAVLC),更高精度的运动矢量预测,可变块大小运动预测与补偿,intra预测,整型变换等,与MPEG-4视频编码国际标准相比,编码效率提高了一倍。
运动补偿的方法是,对于当前帧图像一个宏块(16X16的象素块)解码时,根据运动矢量,从片外参考帧图像存储器中调入相应的预测块象素值并对预测块象素值进行数据缓存;根据运动矢量分象素的位置,对数据缓存中的预测块象素值,进行分象素精度插值(包括1/4象素精度插值和1/2象素精度插值),共有16个象素插值点,其中有1个整象素点G和15个分象素点(a,b,c,d,e,f,g,h,i,j,k,n,p,q,r),如图1所示。采用运动矢量分象素指向位置的插值点的值作为当前解码象素块的运动预测值。
在H.264/AVC中,分象素精度为1/4。其中半象素的插值滤波器为6-tap的Wiener滤波器,1/4象素为双线性滤波器。1/4象素精度相对于1/2象素精度,使编码效率提高10-12%。
在H.264/AVC中,支持象素块大小为16x16到4x4的7种块大小的预测模式,如图1所示。最小的块大小单元是4x4,以更好的匹配图像的纹理细节。采用7种块大小的预测模式,相对于只采用16x16块大小的预测模式,使编码效率提高了15-18%。
目前运动补偿引入分象素精度插值和可变块大小的预测模式,提高了编码效率,也进一步的增加了运动补偿的计算量和硬件实现的复杂度。
上述运动补偿方法的硬件实现的复杂度主要体现在以下的两个方面:
1、从参考帧图像中,调入预测块象素值时,6-tap的插值滤波器和可变的块大小的引入,增加了调入参考块所需的带宽。在可变块大小的运动补偿中,最小块单元是4x4,对于预测块象素值的调入,最直接的方法将宏块分解为16个4x4块,根据每个4x4块来调入参考数据。每个4x4块需要调入大小为9x9的参考块数据。这种数据缓存方法在处理上最直接,但是所需的存储器带宽大,使存储器带宽成为设计的瓶颈。
2、数据缓存中的数据不能有效复用,使用不灵活。
发明内容
本发明的目的是为克服现有技术的不足,解决上面的两个问题,提出一种新的可变块大小运动补偿的数据缓存方法及其实现装置,采用该数据缓存方法,可根据每个宏块的宏块类型和运动矢量,确定需要调入的数据的最小集,可有效的复用宏块内和相邻宏块之间在水平方向和垂直方向的重叠数据,并能灵活地使用缓存中的数据。该装置可减小片外存储器的带宽。
本发明提出的一种可变块大小运动补偿的数据缓存方法,其特征在于,包括以下步骤:
1)根据宏块分割类型和插值点类型,以及各子块的运动矢量,对每个宏块,确定一个最小参考块象素集;
2)对最小参考块象素集采用标志位、行起始地址和行终止地址进行标定;
3)根据最小参考块象素集的标定,生成地址序列,读取最小参考块象素集的数据;
4)将读取的最小参考块象素集的数据按照映射规则存储在片上数据缓存区。
本发明的效果
本发明提出的可变块大小运动补偿的数据缓存方法,其特点是根据每个宏块的宏块分割类型和插值点类型,以及各个子块的运动矢量,确定需要调入的数据的最小参考块象素集,通过复用宏块内和相邻宏块之间在水平方向和垂直方向上的重叠数据,可有效的避免重复数据的调入,减小了片外存储器的带宽。在参考块数据缓存器中,采用多个存储器模块并行,通过直接映射和逻辑地址到物理地址的映射,能够实现循环寻址,灵活的数据读写,且具有字节寻址能力。
附图说明
图1为分象素精度插值中16个象素点的排列。
图2为可变块大小的7种分块的预测模式。
图3为本发明的可变块大小运动补偿的数据缓存方法的步骤框图。
图4为本发明的相邻子块的参考象素数据块在水平和垂直方向上的数据重叠示意图。
图5为本发明的最小参考块数据集。
图6为本发明的可变块大小运动补偿的数据缓存实现装置的结构框图。
图7为本发明的参考象素块数据缓存的电路的结构框图。
具体实施方式
本发明提出可变块大小运动补偿的数据缓存方法结合附图及实施例详细说明如下:
本发明的可变块大小运动补偿的数据缓存方法,如图3所示,包括以下步骤:
1)根据宏块分割类型和插值点类型,以及各子块的运动矢量,对每个宏块,确定一个最小参考块象素集;
2)对最小参考块象素集采用标志位、行起始地址和行终止地址进行标定(例如标志位为1bit);
3)根据最小参考块象素集的标定,生成地址序列,读取(调入)最小参考块象素集的数据;
4)将读取的最小参考块象素集的数据按照映射规则存储在片上数据缓存区。
下面以H.264/AVC为例,来给出具体实施方式。
本实施例的数据缓存方法包括以下步骤:
1)根据宏块分割类型和插值点类型,以及各子块的运动矢量,对每个宏块,确定一个最小参考块象素集;具体实施步骤包括:
11)根据H.264/AVC给出的运动矢量,将16个象素插值点分为四种插值点类型,分别为类型0,类型1,类型2,类型3,如表2所示;
表2
Positions
  Type0 G
  Type1 a,b,c
  Type2 d,h,n
  Type3 e,g,p,r,f,j,q,i,k
12、根据宏块分割类型和插值点类型,来确定需要调入的参考象素块的大小,对于类型0,参考象素块大小为MxN;对于类型1,参考象素块大小为Mx(N+5);对于类型2,参考象素块大小为(M+5)xN;对于类型3,参考块大小为(M+5)x(N+5),其中M、N均为16,其参考象素块大小为如表3所示。
表3按照宏块分割类型和插值点分类需要调入的参考块大小
Figure C20061008914500061
13、得到最小参考块象素集,在最小参考块象素集中相邻子块的参考象素块数据块在水平方向和垂直方向上复用重叠的数据;
如图4所示,最小参考块象素集41由宏块分割类型和插值点类型,以及各子块的运动矢量确定。在同一个宏块中的相邻子块1、2、3、4(如浅灰色阴影部分40所示)的参考象素数据块I,II,III,IV(如粗实线框所示)在水平方向和垂直方向上复用重叠的数据(如深灰色阴影部分所示)。这样,最小参考块象素集41中象素块数据可以实现水平和垂直复用(如深灰色阴影部分所示)。
2)对最小参考块象素集进行标定;
设定一个大小为HxV(H>=32,V>=32,例如32x32或者64x32)的逻辑缓存区,其中H为列象素数据列数,V为行象素数据行数。H列象素数据分为H/N列字长数据,其中,N为片外存储器的字长。本实施例中,片外存储器的字长为4bytes。宏块的最小参考块象素集在逻辑缓存区的范围之内。
如图5所示,黑实线框部分为最小参考块象素集。在水平方向,每个字长数据列由1bit标志位确定(如为0,表示该列没有最小参考块象素集数据;如为1,表示该列有最小参考块象素集数据(如Coli,Coli+1,Coli+2,Coli+3));在垂直方向,由行起始地址和行终止地址确定最小参考块象素集数据。当该列有最小参考块象素集数据时,将该列最小参考块象素集行起始地址和最小参考块象素集行终止地址存储在寄存器中。
3)根据最小参考块象素集的标定(1bit标志位,行起始地址和行终止地址),生成地址序列,调入最小参考块象素集的数据;
即:根据每一列字长数据的1bit标志位,以及该列字长数据的行起始地址和行终止地址,生成该列字长数据的地址序列,根据该地址序列,从片外参考帧存储器中读取最小参考块象素集的象素值。
4)将读取的最小参考块象素集按照映射规则存储在片上数据缓存区;
41、设定片上数据缓存区的存储器个数为B(B由需要的并行度来决定,在本实施例种,B为16),BxB大小的象素块为基本块;首先将步骤3生成的地址直接映射为逻辑数据缓存区地址;
设步骤3)生成的地址为(x,y),在HxV逻辑数据缓存区中的逻辑地址为(Lx,Ly),0≤Lx<H,0≤Ly<V,他们之间的映射规则可用下面的公式来表示:
Lx=x%H
Ly=y%V
42)然后再将逻辑缓存区逻辑地址(Lx,Ly)映射为片上数据缓存区的物理地址(b,A),其中b是存储器模块的索引,A是所在的存储器模块的物理地址。其映射规则为:
b=Lx%B
A=Lx//B*V+Ly
43)根据最后生成的片上数据缓存区物理地址,将读取的最小参考块象素集数据存储到片上数据缓存区。
本发明提出的实现上述方法的可变块大小运动补偿的数据缓存装置的结构,如图6所示。包括以下的模块:
最小参考块象素集标定模块;用于根据宏块分割类型和插值点类型,以及各子块的运动矢量,来生成最小参考块象素集;
地址生成模块:用于根据最小参考块象素集的标定(1bit标志位,行起始地址和行终止地址),生成片外参考帧存储器地址。并通过外部存储器控制接口给片外参考帧存储器;
参考帧存储器:用于存储参考帧数据。
参考帧象素块数据缓存器:用于通过外部存储器控制接口存储从片外参考帧存储器中读取的最小参考块象素集的象素值。
本实施例的参考帧象素块数据缓存器结构如图7所示,包括以下模块:B个存储器模块(在该实施例中,设定B为16),输入地址调整单元,输入数据调整单元。
B个存储器模块用于存储参考帧象素块数据。
输入地址调整单元,将对应于参考帧的地址转换成片上数据缓存存储器的物理地址,将转换后的物理地址输入到B个存储器模块中;该转换包括两个映射:
映射1、将对应于参考帧的地址直接映射为逻辑数据缓存区地址;
设对应于参考帧的地址为(x,y),在HxV逻辑数据缓存区中的逻辑地址为(Lx,Ly),0≤Lx<H,0≤Ly<V,他们之间的映射规则可用下面的公式来表示:
Lx=x%H
Ly=y%V
映射2、将逻辑缓存区逻辑地址(Lx,Ly)映射为片上数据缓存存储器的物理地址(b,A);
其映射规则为:
b=Lx%B
A=Lx//B*V+Ly
其中b是存储器模块的索引,A是所在的存储器模块的物理地址;
输入数据调整单元,用于将从片外参考帧存储器中读取的最小参考块象素集的象素值,移位到对应的存储器模块的位置。

Claims (6)

1、一种可变块大小运动补偿的数据缓存方法,其特征在于,包括以下步骤:
1)根据宏块分割类型和插值点类型,以及各子块的运动矢量,对每个宏块,确定一个最小参考块象素集;
2)对最小参考块象素集采用标志位、行起始地址和行终止地址进行标定;
3)根据最小参考块象素集的标定,生成地址序列,读取最小参考块象素集的数据;
4)将读取的最小参考块象素集的数据按照映射规则存储在片上数据缓存区。
2、如权利要求1所述的数据缓存方法,其特征在于,所述步骤1)具体包括:11)将16个象素插值点分为类型0,类型1,类型2和类型3四种插值点类型,每种类型的对应的象素插值点分别为:类型0为整象素点G,类型1为分象素点a,b,c,类型2为分象素点d,h,n,类型3为分象素点e,g,p,r,f,j,q,i,k;
12)根据宏块分割类型和插值点类型,确定需要调入的参考象素块的大小,对于类型0,参考象素块大小为MxN;对于类型1,参考象素块大小为Mx(N+5);对于类型2,参考象素块大小为(M+5)xN;对于类型3,参考象素块大小为(M+5)x(N+5),其中M、N均为16。
3、如权利要求1所述的数据缓存方法,其特征在于,所述步骤2)对最小参考块象素集进行标定,具体包括:设定一个大小为HxV的逻辑缓存区,其中H为列象素数据列数,V为行象素数据行数;H列象素数据分为H/N列字长数据,其中,N为片外存储器的字长,宏块的最小参考块象素集在逻辑缓存区的范围之内;在水平方向,每个字长数据列由1bit标志位表示该列是否有最小参考块象素集数据;在垂直方向,由行起始地址和行终止地址确定最小参考块象素集数据。
4、如权利要求3所述的数据缓存方法,其特征在于,所述步骤4)将读取的最小参考块象素集按照映射规则存储在片上数据缓存区,具体包括:
41)设步骤3)生成的地址为(x,y),在HxV逻辑数据缓存区中的逻辑地址为(Lx,Ly),0≤Lx<H,0≤Ly<V,他们之间的映射规则为:
Lx=x%H
Ly=y%V
42)然后再将逻辑缓存区逻辑地址(Lx,Ly)映射为片上数据缓存区的物理地址(b,A),其中b是存储器模块的索引,A是所在的存储器模块的物理地址,其映射规则为:
b=Lx%B
A=Lx//B*V+Ly
其中“//”表示“整数除法”;
43)根据最后生成的片上数据缓存区物理地址,将读取的最小参考块象素集数据按照映射规则存储在片上数据缓存区。
5、一种实现如权利要求4所述方法的可变块大小运动补偿的数据缓存装置,其特征在于,该装置包括:
最小参考块象素集标定模块;用于根据宏块分割类型和插值点类型,以及各子块的运动矢量,来生成最小参考块象素集;
地址生成模块:用于根据最小参考块象素集的标定,生成片外参考帧存储器地址,并通过外部存储器控制接口给片外参考帧存储器;
参考帧存储器:用于存储参考帧数据;
参考帧象素块数据缓存器:用于通过外部存储器控制接口存储从片外参考帧存储器中读取的最小参考块象素集的象素值。
6、如权利要求5所述的数据缓存装置,其特征在于,所述参考帧象素块数据缓存器包括:多个存储器模块,输入地址调整单元,输入数据调整单元;
所述的存储器模块用于存储参考帧象素块数据;
所述的输入地址调整单元,用于将对应于参考帧的地址转换成片上数据缓存存储器的物理地址,将转换后的物理地址输入到多个存储器模块中;该转换包括两个映射:
映射1、将对应于参考帧的地址直接映射为逻辑数据缓存区地址;其映射规则为:
Lx=x%H
Ly=y%V
映射2、将逻辑缓存区逻辑地址(Lx,Ly)映射为片上数据缓存存储器的物理地址(b,A);其映射规则为:
b=Lx%B
A=Lx//B*V+Ly
其中b是存储器模块的索引,A是所在的存储器模块的物理地址;
所述的输入数据调整单元,用于将从片外参考帧存储器中读取的最小参考块象素集的象素值,移位到对应的存储器模块的位置。
CNB2006100891459A 2006-08-07 2006-08-07 可变块大小运动补偿的数据缓存方法及其实现装置 Expired - Fee Related CN100452882C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100891459A CN100452882C (zh) 2006-08-07 2006-08-07 可变块大小运动补偿的数据缓存方法及其实现装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100891459A CN100452882C (zh) 2006-08-07 2006-08-07 可变块大小运动补偿的数据缓存方法及其实现装置

Publications (2)

Publication Number Publication Date
CN1905677A CN1905677A (zh) 2007-01-31
CN100452882C true CN100452882C (zh) 2009-01-14

Family

ID=37674778

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100891459A Expired - Fee Related CN100452882C (zh) 2006-08-07 2006-08-07 可变块大小运动补偿的数据缓存方法及其实现装置

Country Status (1)

Country Link
CN (1) CN100452882C (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399978B (zh) * 2007-09-28 2012-05-30 昆山杰得微电子有限公司 硬件解码器中参考帧数据的读取方法及其装置
CN101500160B (zh) * 2008-01-28 2015-04-29 华为技术有限公司 一种码流标识方法、装置及编解码系统
CN102340662B (zh) * 2010-07-22 2013-01-23 炬才微电子(深圳)有限公司 一种视频处理设备和方法
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
CN101996142B (zh) * 2010-11-17 2013-01-02 北京炬力北方微电子有限公司 一种访问存储器的方法及装置
CN102769753B (zh) * 2012-08-02 2015-12-09 豪威科技(上海)有限公司 H264编码器及编码方法
CN105120286B (zh) * 2015-06-26 2019-01-18 福州瑞芯微电子股份有限公司 一种视频解码参考帧取数方法及设备
CN114915842A (zh) * 2021-02-08 2022-08-16 晶晨半导体(上海)股份有限公司 视频数据处理方法、模块、芯片及存储介质
CN116055717B (zh) * 2023-03-31 2023-07-14 湖南国科微电子股份有限公司 视频压缩方法、装置、计算机设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319398A (ja) * 2002-04-24 2003-11-07 Nec Corp 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
CN1457196A (zh) * 2003-04-25 2003-11-19 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
CN1482802A (zh) * 2003-08-18 2004-03-17 北京工业大学 基于时空域相关性快速运动估计的视频编码方法
US20040212732A1 (en) * 2003-04-24 2004-10-28 Canon Kabushiki Kaisha Video information processing apparatus and video information processing method
CN1589005A (zh) * 2004-08-04 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种视频图象象素插值装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319398A (ja) * 2002-04-24 2003-11-07 Nec Corp 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
US20040212732A1 (en) * 2003-04-24 2004-10-28 Canon Kabushiki Kaisha Video information processing apparatus and video information processing method
CN1457196A (zh) * 2003-04-25 2003-11-19 北京工业大学 基于时空域相关性运动矢量预测的视频编码方法
CN1482802A (zh) * 2003-08-18 2004-03-17 北京工业大学 基于时空域相关性快速运动估计的视频编码方法
CN1589005A (zh) * 2004-08-04 2005-03-02 联合信源数字音视频技术(北京)有限公司 一种视频图象象素插值装置

Also Published As

Publication number Publication date
CN1905677A (zh) 2007-01-31

Similar Documents

Publication Publication Date Title
CN100452882C (zh) 可变块大小运动补偿的数据缓存方法及其实现装置
US9392292B2 (en) Parallel encoding of bypass binary symbols in CABAC encoder
CN105681807A (zh) 一种基于h264协议的分像素运动矢量计算方法和装置
CN101193305A (zh) 用于视频编解码芯片中帧内预测的数据存储和交换方法
CN1306412C (zh) 像素数据块生成装置及像素数据块生成方法
CN100474929C (zh) 一种运动补偿数据载入装置及方法
CN102932643B (zh) 一种适用于hevc标准的扩展可变块运动估计电路
CN101179720A (zh) 一种视频解码方法
CN101068359A (zh) 算术编码中的概率模型存储方法
CN1645928A (zh) 用于压缩视频信号解码的图像存储方法
CN1852442A (zh) 一种分层运动估计方法和超大规模集成电路
JP4682384B2 (ja) 1/4画素輝度用動き予測機構、組合せ輝度用動き予測機構、及び組合せ輝度・色差用動き予測機構
CN104935933A (zh) 一种视频编解码方法
CN101459839A (zh) 去块效应滤波方法及实现该方法的装置
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
JP2008022134A5 (zh)
CN101729903B (zh) 一种读取参考帧数据的方法、系统和多媒体处理器
CN101494789B (zh) 视频编解码方法
KR20060106953A (ko) 하드웨어 구현에 적합한 움직임 예측 장치 및 그 방법
CN104754363A (zh) 用于hevc的环路滤波方法及装置、编码器及解码器
CN100551067C (zh) Jpeg图像压缩时非标准图像尺寸的图像数据处理装置及方法
CN100438630C (zh) 基于数据缓存的多流水线阶段信息共享方法
CN101895767A (zh) Avs帧内预测参考像素储存更新方法
CN103596013B (zh) 新型解码器及解码方法
CN115190305A (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
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: He Yun

Inventor after: Li Yu

Inventor after: Wang Yunfei

Inventor after: Ji Yanmei

Inventor before: He Yun

Inventor before: Li Yu

Inventor before: Ji Yanmei

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: HE YUN LI YU QU YANMEI TO: HE YUN LI YU WANG YUNFEI QU YANMEI

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20140807

EXPY Termination of patent right or utility model