CN102857758B - 可复用像素处理方法及视频处理芯片 - Google Patents

可复用像素处理方法及视频处理芯片 Download PDF

Info

Publication number
CN102857758B
CN102857758B CN201210321972.1A CN201210321972A CN102857758B CN 102857758 B CN102857758 B CN 102857758B CN 201210321972 A CN201210321972 A CN 201210321972A CN 102857758 B CN102857758 B CN 102857758B
Authority
CN
China
Prior art keywords
macroblock
execution cycle
instruction
encoded
rank
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
CN201210321972.1A
Other languages
English (en)
Other versions
CN102857758A (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.)
Galaxycore Shanghai Ltd Corp
Original Assignee
SHANGHAI SUANXIN MICROELECTRONICS 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 SHANGHAI SUANXIN MICROELECTRONICS CO Ltd filed Critical SHANGHAI SUANXIN MICROELECTRONICS CO Ltd
Priority to CN201210321972.1A priority Critical patent/CN102857758B/zh
Publication of CN102857758A publication Critical patent/CN102857758A/zh
Application granted granted Critical
Publication of CN102857758B publication Critical patent/CN102857758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种可复用像素处理方法及视频处理芯片。所述方法采用同一像素处理装置执行至少两种处理类型的像素处理,包括:确定对当前帧进行处理的处理类型;在所述像素处理装置中,针对各处理类型均配置有对应的指令;所述像素处理装置获取当前帧;采用针对前述确定的当前帧的处理类型所配置的指令,依次对所述当前帧的各待编码宏块进行各运算周期的处理。所述视频处理芯片包括确定单元、获取单元、寄存器阵列、时钟控制单元、控制器、运算单元阵列。本发明采用可复用设计技术,通过不同方法配置寄存器和运算单元,使单个硬件单元能分时复用于多个运算,降低了芯片计算和存储逻辑的复杂度,节省了芯片面积和功耗。

Description

可复用像素处理方法及视频处理芯片
技术领域
本发明涉及多媒体处理领域,尤其涉及一种可复用像素处理方法及对应的视频处理芯片。
背景技术
在视频编码和图像处理过程中,运动估计、视频缩放、空域/时域滤波都是重要组成部分。
运动估计(Motion Estimation)是视频编码和视频处理中广泛使用的一种技术。其基本思想是:在视频帧间预测编码中,基于活动图像邻近帧中景物之间的相关性,将图像序列的每一帧分成许多互不重叠的宏块,并认为宏块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给定搜索范围内根据一定的匹配准则找出与当前块最相似的块(即匹配块),匹配块与当前块的相对位移即为运动矢量。视频压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前块。然而由于自然物体运动的连续性,相邻两帧之间的块的运动矢量不是以整像素为基本单位的,可能真正的运动位移量是以1/2像素甚至1/4像素等亚像素为单位,所以在运动估计时需要求亚像素的残差。通常求亚像素的残差通过插值来完成。
视频缩放是指对数字图像的大小进行调整的过程。其基本算法是对图像像素的滤波插值。每一个缩放后的像素,都由它周围的多个原始像素经过纵向和横向两次滤波插值而生成。
空域滤波和时域滤波可以用来改善图像的视觉效果。
空域滤波的基本方法是对于图像的每一个像素,进行纵向和横向两次滤波。每次滤波都是先求出该像素与纵向和横向相邻若干像素的差,把这些差进行运算和查表叠加到原来的像素上,得到新像素。横向滤波要基于纵向滤波后的结果为输入。
时域滤波的基本方法是求出当前宏块和预测宏块的相似度,把相似度进行计算和查表,叠加到原来的像素上,得到新像素。
在现有的视频芯片中,运动估计、视频缩放、空域/时域滤波是由不同的硬件单元来完成,每个硬件单元都需要一次对多个像素并行处理,不仅需要大量运算单元,而且增大了芯片面积和功耗。
因此,本领域技术人员亟待一种解决方法,既能处理上述各项操作,同时能降低芯片复杂度、节省芯片面积和功耗。
在申请公布号为CN102547294A的中国专利申请中公开了一种适用于H.264和HEVC视频标准的CABAC硬件解码器架构,其中部分复用了存储单元和组合逻辑运算单元。但是,其复用的基础是H.264和HEVC视频编码标准中共同的CABAC算法,它并未解决运动估计、视频缩放、空域/时域滤波处理过程中硬件单元复杂庞大的技术问题。
发明内容
本发明所要解决的技术问题是使用通用的架构分时复用于运动估计、视频缩放、空域/时域滤波,同时降低芯片计算和存储逻辑的复杂度,节省芯片面积和功耗。
为了解决上述问题,本发明提供了一种可复用像素处理方法,采用同一像素处理装置执行至少两种处理类型的像素处理;该方法包括以下步骤:
确定对当前帧进行处理的处理类型;在所述像素处理装置中,针对各处理类型均配置有对应的指令;
所述像素处理装置获取当前帧;
采用针对前述确定的当前帧的处理类型所配置的指令,依次对所述当前帧的各待编码宏块进行各运算周期的处理。
可选的,所述处理类型包括运动估计、视频缩放、空域滤波及时域滤波中的一种或多种。
可选的,所述运算周期分为第一运算周期和第二运算周期;所述针对处理类型配置的对应指令包括:
当所述处理类型为运动估计时,第一运算周期的指令为对参考帧中的参考宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为所述待编码宏块与插值后的参考宏块求差;
当所述处理类型为视频缩放时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为空域滤波时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为时域滤波时,第一运算周期的指令为轮空,第二运算周期的指令为对所述待编码宏块与参考帧中的参考宏块求差。
可选的,所述针对处理类型配置的对应指令还包括:第一周期指令中n阶及n阶以下插值公式的系数;
所述插值公式为:P=round[(α1A12A2+…+αn-1An-1n An)/2n],其中:P为插值后所得像素,round()函数为返回一个四舍五入整数值,A1~An为同一行或同一列上相邻的n个已知像素,α1n为所述插值公式的各系数。
可选的,所述n小于或等于6。
可选的,当所述第一运算周期的指令为对参考宏块进行六阶插值,或者对当前帧中待编码宏块进行六阶插值时,所述插值公式的系数为[1,-5,20,20,-5,1]。
可选的,当所述第一运算周期的指令为轮空时,所述插值公式的系数为[1]。
可选的,所述运算周期分为第一运算周期和第二运算周期;所述依次对当前帧的各待编码宏块进行各运算周期的处理包括:以流水线方式依次处理所述当前帧的各待编码宏块。
可选的,所述流水线方式处理各待编码宏块包括:在采用与处理类型对应的第二运算周期指令对当前待编码宏块进行对应运算的同时,采用与处理类型对应的第一运算周期指令对下一待编码宏块进行对应运算。
可选的,所述参考宏块及待编码宏块基于H.264标准。
可选的,所述参考宏块及待编码宏块至少为4×4个像素大小。
可选的,所述运算周期分为第一运算周期和第二运算周期;所述对当前帧的各待编码宏块进行各运算周期的处理包括:
在第一运算周期对参考值中的参考宏块进行n阶及n阶以下插值,n为正整数,在第二运算周期对所述待编码宏块与插值后的参考宏块求差;
或者在第一运算周期对所述待编码宏块进行n阶及n阶以下插值,n为正整数,在第二运算周期轮空;
或者在第一运算周期轮空,在第二运算周期对所述待编码宏块与参考帧中的参考宏块求差。
本发明还提供了一种可复用视频处理芯片,包括:
配置成适于确定对当前帧进行处理的处理类型的确定单元;
配置成适于获取当前帧的获取单元;
寄存器阵列,配置成适于暂存当前处理所需的参考帧中的参考宏块及所述当前帧中的待编码宏块;
时钟控制单元,配置成适于提供运算周期;
运算单元阵列,配置成适于对寄存器阵列中的参考宏块或待编码宏块进行对应运算;
控制器,连接于所述确定单元、寄存器阵列、运算单元阵列、时钟控制单元,配置成适于读取当前处理所需的参考宏块及待编码宏块,并根据与当前帧处理类型对应的指令,控制运算单元阵列进行对应运算。
可选的,还包括:连接于所述控制器的指令配置单元,适于为各处理类型预先配置对应的指令。
可选的,所述处理类型包括运动估计、视频缩放、空域滤波及时域滤波中的一种或多种。
可选的,所述指令配置单元还包括:系数配置单元,适于配置第一运算周期指令中n阶及n阶以下插值公式的各系数。
可选的,所述运算单元阵列包括第一运算周期阵列和第二运算周期阵列。
可选的,所述第一运算周期阵列包括滤波器阵列,所述第二运算周期阵列包括减法器阵列。
可选的,所述控制器还包括:节拍控制单元,用于根据所述运算周期以流水线方式依次处理当前帧的各待编码宏块,使运算单元阵列采用对应的第二运算周期指令对当前待编码宏块进行对应运算的同时,采用对应的第一运算周期指令对下一待编码宏块进行对应运算。
可选的,所述寄存器阵列中的参考宏块及待编码宏块基于H.264标准。
可选的,所述参考宏块或待编码宏块为a×a个像素大小时,a为正整数,所述寄存器阵列至少为(a+6)×(a+6)个像素大小。
可选的,所述参考宏块或待编码宏块至少为4×4个像素大小,所述寄存器阵列至少为10×10个像素大小。
与现有技术相比,本发明的技术方案具有以下优点:
1、本发明通过分析和概括运动估计、视频缩放、空域/时域滤波算法中的相似性和相容性,采用可复用设计技术,通过用不同的方法配置寄存器和运算单元,使得原本要由不同硬件单元来完成的运算,可由单个功能单元通过分时复用实现,有效减少了硬件单元的数量,降低了芯片的复杂度,同时节省了芯片面积和功耗。
2、可选方案中,给出了基于H.264标准的解决方案,以满足目前应用较广泛的国际视频编码标准的要求。
3、可选方案中,通过配置插值公式的系数,使第一运算周期中的轮空相当于对当前像素本身进行的一阶插值运算,统一了运算,简化了硬件逻辑。
4、可选方案中,采用流水线方式处理当前帧的各待编码宏块,提高了处理效率。
附图说明
图1为本发明的可复用像素处理方法的具体实施方式的方法流程图;
图2为本发明的可复用像素处理方法的一实施例的工作时序图;
图3为本发明的可复用视频处理芯片的具体实施方式的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。
为了解决背景技术中的技术问题,发明人对背景技术中涉及的视频编解码和图像处理技术进行了分析。
运动估计的核心算法有两部分:亚像素的插值和求当前帧的宏块与参考帧的残差;视频缩放的核心算法是对每个像素进行纵向和横向共两次滤波插值;空域滤波的核心算法是对图像每个像素进行纵向和横向两次滤波插值,横向滤波要基于纵向滤波后的结果为输入;时域滤波的核心算法是求当前宏块和预测宏块的差。
由以上分析可以得出,运动估计求残差和时域滤波都包括对像素求差,而运动估计亚像素内插、视频缩放和空域滤波都包括插值。因此,上述技术的核心算法可以统一概括为2步:插值和求差。
基于上述分析和提炼,本发明提供了一种可复用像素处理方法。图1为本发明的可复用像素处理方法的具体实施方式的方法流程图,其至少包括以下步骤:
执行步骤S10,确定对当前帧进行的处理类型,所述处理类型对应于用以处理当前帧的指令。具体地,所述处理类型包括运动估计、视频缩放、空域滤波、时域滤波中的一种。每种处理类型分别对应于不同的用以处理当前帧的指令。
需要说明的是,所述指令可以事先预设并固定于控制器内,或者根据不同的处理类型进行配置。在允许根据不同的处理类型进行配置的情况下,在执行步骤S10之前,可执行步骤S00,根据不同的处理类型,配置对应的指令。
具体地,为满足对4种运算的完全支持,将4种运算均分为2个运算周期执行完成,第一周期内实现插值运算,第二周期内实现求差运算。若某些运算仅需插值运算或仅需求差运算,则在第一周期实现插值,第二周期轮空,或者第一周期轮空,第二周期实现求差即可。通过这样的指令配置,可实现运算的统一,有效减少运算逻辑。
本具体实施方式可处理运动估计、视频缩放、空域滤波、时域滤波4种处理类型,所以,对应配置的指令包括:
当所述处理类型为运动估计时,第一运算周期的指令为对参考宏块进行n阶及n阶以下插值,第二运算周期的指令为所述待编码宏块与插值后的参考宏块求差;
当所述处理类型为视频缩放时,第一运算周期的指令为对当前帧的待编码宏块进行n阶及n阶以下插值,第二运算周期的指令为轮空;
当所述处理类型为空域滤波时,第一运算周期的指令为对当前帧的待编码宏块进行n阶及n阶以下插值,第二运算周期的指令为轮空;
当所述处理类型为时域滤波时,第一运算周期的指令为轮空,第二运算周期的指令为对所述待编码宏块与参考帧中的参考宏块求差。
所述针对处理类型配置的对应指令还包括:配置第一周期插值指令中n阶及n阶以下插值公式中各系数。所述插值公式为:P=round[(α1A12A2+…+αn-1An-1n An)/2n],其中:P为插值后所得像素,round()函数为返回一个四舍五入整数值,A1~An为同一行或同一列上相邻的n个已知像素,α1n为所述插值公式的各系数。
比如:按照H.264标准,进行六阶差值,则将六阶插值公式的各系数配置为[1,-5,20,20,-5,1]。比如:进行四阶插值,则系数仅为4个,可将第1和第6个像素的系数设置为0,仅设置4个系数。再比如:当第一运算周期为轮空,此时可视为对待编码宏块本身进行一阶插值运算,仅需将已知像素本身的系数设为1,其余像素的系数设为0即可。
参考图1,继续执行步骤S20,获取当前帧。
具体地,对运动估计而言,其运算结果为参考帧中参考宏块和当前帧中待编码宏块之间的残差。同样,时域滤波也是对参考帧和当前帧中2个宏块的求差。而对视频缩放和空域滤波而言,仅需对当前帧中1个宏块做插值运算即可得到结果,其求差的运算周期为轮空状态。有所区别的是,视频缩放包括横向纵向2次插值,每次滤波都是先求出该像素与纵向和横向相邻若干像素的差,把这些差进行运算和查表叠加到原来的像素上,得到新像素。横向滤波要基于纵向滤波后的结果为输入。
需要说明的是,本具体实施方式基于H.264标准,所以对应地,参考帧、当前帧及其中含有的宏块也都基于H.264标准。同时本领域技术人员可以理解,H.264标准与其它现有的视频编码标准相比,具有更高的数据压缩比率,在相同的带宽下能提供更加优秀的图象质量。相对应地,H.264编码的计算复杂度较其它现有视频编码标准更高。因此,在能满足H.264标准的基础上,本具体实施方式当然地兼容现有的其它数字视频编码标准,比如:H.263、MPEG-4、AVS等。
参考图1,继续执行步骤S30,采用针对前述确定的当前帧的处理类型所配置的指令,依次对所述当前帧的各待编码宏块进行各运算周期的处理。
具体地,在第一运算周期,采用与处理类型对应的指令对当前帧中待编码宏块进行插值,或者采用与处理类型对应的指令对参考帧中参考宏块进行插值,或者轮空。在第二运算周期,采用与处理类型对应的指令对待编码宏块与插值后的参考宏块求差,或者采用与处理类型对应的指令对所述待编码宏块与参考帧中参考宏块求差,或者轮空。并重复循环上两个步骤,直至对当前帧中的各待编码宏块均处理完毕。
进一步地,运动估计时,在第一运算周期对参考值中的参考宏块进行n阶及n阶以下插值,在第二运算周期对所述待编码宏块与插值后的参考宏块求差。或者视频缩放/空域滤波时,在第一运算周期对所述待编码宏块进行n阶及n阶以下插值,在第二运算周期轮空。或者时域滤波时,在第一运算周期轮空,在第二运算周期对所述待编码宏块与参考帧中的参考宏块求差。
需要说明的是,本具体实施方式采用流水线式操作,即在对当前的待编码宏块执行第二运算周期指令的同时,对下一待编码宏块执行第一运算周期的指令,以保证从第二个周期开始,之后每个周期都有一个结果输出。
鉴于H.264标准中,将宏块定义为16×16、16×8、8×16、8×8、8×4、4×8、4×4共7种模式,所以本具体实施方式的参考宏块或待编码宏块至少为4×4个像素大小,以满足H.264标准的最低限度要求。
具体地,所述插值包括n阶及n阶以下插值或轮空,n为正整数。H.264标准中目前支持最高六阶插值,其1/2像素的插值是基于同一行或同一列上相邻的6个像素计算出中间的1/2像素,即若对1个4×4个像素大小的参考宏块插值,则至少需要以该4×4个像素为中心的10×10个像素。
需要说明的是,本领域技术人员可以理解,虽然目前H.264标准中最高仅支持六阶插值,但不应理解为本发明仅适用于六阶及六阶以下插值。实际上,本发明旨在通过分时复用技术,减少硬件单元的数量,降低运算复杂度,对其中具体的插值的实现方式,不做具体限定。
下面结合附图和具体实施例对本发明的技术方案做进一步说明。图2为本发明的可复用像素处理方法一实施例的工作时序图。参考图2,本实施例一共包含了7个处理,分别为连续的3个运动估计,之后1个视频缩放,1个空域滤波及2个连续的时域滤波。
需要说明的是,本实施例为更好地说明本发明,所以处理类型的转变较为极端。在实际应用中,一段时间内往往只进行同一种处理,比如:运动估计时,至少将当前帧中的各待编码宏块与参考帧中的每个参考宏块均完成求差,并根据最优化匹配函数获得运动矢量及残差数据之后,才有可能变化处理类型。所以,对应的指令通常不会向本实施例这样复杂。
本实施例中对应配置的指令详见下表1:
  序号   处理类型   第一运算周期指令   第二运算周期指令
  1   运动估计   插值   求差
  2   运动估计   插值   求差
  3   运动估计   插值   求差
  4   视频缩放   插值   轮空
  5   空域滤波   插值   轮空
  6   时域滤波   轮空   求差
  7   时域滤波   轮空   求差
结合图2说明具体工作过程。
第一处理为运动估计,所以根据对应指令,在第一周期对当前帧的待编码宏块进行插值。
第二周期对应到第一处理的第二周期和第二处理的第一周期,所以执行第一处理的第二周期对应的指令—将待编码宏块与插值后的参考宏块进行求差,输出求差结果。同时执行第二处理的第一周期对应的指令—插值。
第三周期对应到第二处理的第二周期和第三处理的第一周期,所以执行第二处理的第二周期对应的指令—求差,输出结果,同时执行第三处理的第一周期对应的指令-插值。
第四周期对应到第三处理的第二周期和第四处理的第一周期,所以执行第三处理的第二周期对应的指令—求差,输出结果。同时执行第四处理的第一周期对应的指令。由于第四处理的处理类型转换为视频缩放,对应视频缩放第一运算周期的指令为插值,所以此处执行插值运算。
第五周期对应到第四处理的第二周期和第五处理的第一周期,所以执行第四处理的第二周期对应的指令—轮空,输出结果(即插值后的结果),同时执行第五处理的第一周期对应的指令。由于第五处理的处理类型转换为空域滤波,对应空域滤波第一运算周期的指令为插值,所以此处执行插值运算。
第六周期对应到第五处理的第二周期和第六处理的第一周期,所以执行第五处理的第二周期对应的指令—轮空,输出结果(即插值后的结果),同时执行第六处理的第一周期对应的指令。由于第六处理的处理类型转换为时域滤波,对应时域滤波第一运算周期的指令为轮空,所以此处执行轮空。
第七周期对应到第六处理的第二周期和第七处理的第一周期,所以执行第六处理的第二周期对应的指令—求差,输出结果(即求差后的结果),同时执行第七处理的第一周期对应的指令—轮空。
第八周期对应到第七处理的第二周期,所以执行第七处理的第二周期对应的指令—求差,并输出求差的结果。
由此完成全部处理,从第二周期开始,每个周期都有一个结果输出。
通过上述指令的配置实现分时复用,使得通过统一的运算逻辑实现4种不同类型的运算功能,简化了存储和运算逻辑。
需要说明的是,通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请的部分或全部可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本发明还提供了一种可复用视频处理芯片,通过共享寄存器和运算单元的方式把插值运算和求差运算统一起来。首先定义了一个统一的寄存器阵列,用于存放并行处理的像素,然后定义一个统一的运算单元阵列,此阵列既可以进行求差,又可以进行n阶插值运算,最后对于运动估计、视频缩放、空域/时域滤波这些不同类型的处理,用不同的方法配置寄存器阵列和运算单元阵列,可以产生相应的结果。
图3为本发明的可复用视频处理芯片的具体实施方式的结构示意图。参考图3,本具体实施方式包括:
确定单元10、获取单元20、寄存器阵列30、时钟控制单元40、控制器50、运算单元阵列60。
具体地,确定单元10,用于确定对当前帧进行的处理类型,所述处理类型对应于用以处理当前帧的指令;获取单元20,用于获取当前帧;寄存器阵列30,用于暂存当前处理所需的参考帧中的参考宏块及当前帧中的待编码宏块;时钟控制单元40,用于提供运算周期;控制器50,用于读取当前处理所需的参考宏块及待编码宏块,并获取当前帧处理类型对应的指令,控制运算单元阵列60进行对应运算;运算单元阵列60,用于根据控制器50的指令及运算周期,对寄存器阵列30中的参考宏块或待编码宏块进行对应运算。
本具体实施方式还可包括指令配置单元00,用于根据不同的处理类型,配置与处理类型对应的指令。
本具体实施方式支持运动估计、视频缩放、空域滤波及时域滤波中的一种或多种处理类型。
具体地,与处理类型对应的指令包括:
当所述处理类型为运动估计时,第一运算周期的指令为对所述参考宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为所述待编码宏块与插值后的参考宏块求差;
当所述处理类型为视频缩放时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为空域滤波时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为时域滤波时,第一运算周期的指令为轮空,第二运算周期的指令为对所述待编码宏块与参考帧中的参考宏块求差。
上述指令可以事先预设并固定于控制器50内,或者根据不同的处理类型进行配置。在允许根据不同的处理类型进行配置的情况下,由指令配置单元00根据不同的处理类型,配置与处理类型对应的指令。比如:某运算环境下,仅有运动估计和视频缩放的处理需求,则指令配置单元00仅需配置与运动估计和视频缩放对应的指令。
所述指令配置单元00还可包括:系数配置单元01,用于配置第一运算周期的插值指令中n阶及n阶以下插值公式的各系数。
鉴于H.264标准中目前支持最高六阶插值,其1/2像素的插值是基于同一行或同一列上相邻的6个像素计算出中间的1/2像素,基于H.264的六阶插值的计算公式可以是:P=round[(A-5B+20C+20D-5E+F)/32],可通过系数配置单元01将插值公式的系数配置成[1,-5,20,20,-5,1]。再比如:进行四阶插值,则系数仅为4个,系数配置单元01将第1和第6个像素的系数设置为0,仅设置4个系数。再比如:当第一运算周期为轮空,此时可视为对待编码宏块本身进行一阶插值运算,仅需通过系数配置单元01将已知像素本身的系数设为1,其余像素的系数设为0即可。
具体地,所述控制器50还可包括节拍控制单元51,用于根据运算周期以流水线方式依次处理当前帧的各待编码宏块,即:在运算单元阵列60采用对应的第二运算周期指令对当前待编码宏块进行对应运算的同时,采用对应的第一运算周期指令对下一待编码宏块进行对应运算,以保证从第二个周期开始,之后每个周期都有一个结果输出。
寄存器阵列30的配置至少与相关运算为插值还是求差、最高n阶插值、以及同时对多少个像素进行处理有关。具体地,若每次仅对1个像素进行处理,相关运算为求差时,寄存器阵列30中仅需保存参考宏块和待编码宏块;而相关运算为插值时,寄存器阵列30中需要根据最高n阶插值,保存以宏块(比如:a×a个像素大小)为中心的至少(a+n)×(a+n)个像素大小。若为加快处理速度,同时对m个像素进行处理,则还需在前述基础上乘以并行处理的像素数量m。
在H.264标准中将宏块定义为16×16、16×8、8×16、8×8、8×4、4×8、4×4共7种模式,所以本具体实施方式的参考宏块或待编码宏块至少为4×4个像素大小,以满足H.264标准的最低限度要求。同时,H.264标准中目前支持最高六阶插值,其1/2像素的插值是基于同一行或同一列上相邻的6个像素计算出中间的1/2像素。所以当参考宏块或待编码宏块为a×a个像素大小时,寄存器阵列30至少为(a+6)×(a+6)个像素大小。在此基础上,若对1个4×4个像素大小的参考宏块或待编码宏块进行插值,则寄存器阵列30至少为以该4×4个像素为中心的10×10个像素大小。
运算单元阵列60的配置至少与相关运算为插值还是求差、最高n阶插值、以及同时对多少个像素进行处理有关。首先,为满足运算需求,运算单元阵列60至少包括第一运算周期阵列61和第二运算周期阵列62。具体地,第一运算周期阵列61至少包括滤波器整列,第二运算周期阵列62至少包括减法器阵列。所述第一运算周期阵列61与最高n阶插值有关,还与同时对多少像素进行处理有关。并行处理的数量越多,执行速度越快,相应地硬件配置的成本越高。所述第二运算周期阵列62与同时对多少各像素进行处理有关。
以两个运算周期进行4x4个像素的运动估计,最高支持六阶插值为例,则需配置少10x10个像素大小的寄存器阵列30,可以支持存放4x4个像素进行六阶插值需要的数据,也可以支持4x4个像素求差所需要的数据。
同时,还需配置16个六阶滤波器阵列和16个减法器阵列。
上述寄存器阵列30和运算单元阵列60可以被运动估计、视频缩放、空域/时域滤波等不同操作所共享,并支持这些操作的核心算法。
本发明基于运算部件和结构的可重用设计技术,分析和提取模块和系统算法中运算部件和结构的相似性和相容性,使得单个运算单元能够分时复用于多个算法,降低了芯片计算和存储逻辑的复杂度,同时由于运算单元的数目减少,使得芯片能够以较小的面积来实现,从而节省了芯片面积和功耗。
进一步地,本发明中给出了基于H.264标准的解决方案,以满足目前应用较广泛的国际视频编码标准的要求。
进一步地,本发明可通过配置插值公式的系数,使第一运算周期中的轮空相当于对当前像素本身进行的一阶插值运算,统一了运算,简化了硬件逻辑。
进一步地,本发明还可采用流水线方式处理当前帧的各待编码宏块,提高了处理效率。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (18)

1.一种可复用像素处理方法,其特征在于,采用同一像素处理装置执行至少两种处理类型的像素处理;该方法包括以下步骤:
确定对当前帧进行处理的处理类型,所述处理类型包括运动估计、视频缩放、空域滤波及时域滤波中的一种或多种;
在所述像素处理装置中,针对各处理类型均配置有对应的指令;
所述像素处理装置获取当前帧;
采用针对前述确定的当前帧的处理类型所配置的指令,依次对所述当前帧的各待编码宏块进行各运算周期的处理;
所述运算周期分为第一运算周期和第二运算周期;所述针对处理类型配置的对应指令包括:
当所述处理类型为运动估计时,第一运算周期的指令为对参考帧中的参考宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为所述待编码宏块与插值后的参考宏块求差;
当所述处理类型为视频缩放时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为空域滤波时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为时域滤波时,第一运算周期的指令为轮空,第二运算周期的指令为对所述待编码宏块与参考帧中的参考宏块求差。
2.如权利要求1所述的可复用像素处理方法,其特征在于,所述针对处理类型配置的对应指令还包括:第一运算周期指令中n阶及n阶以下插值公式的系数;
所述插值公式为:P=round[(α1A12A2+…+αn-1An-1nAn)/2n],其中:P为插值后所得像素,round()函数为返回一个四舍五入整数值,A1~An为同一行或同一列上相邻的n个已知像素,α1~αn为所述插值公式的各系数。
3.如权利要求2所述的可复用像素处理方法,其特征在于,所述n小于或等于6。
4.如权利要求2所述的可复用像素处理方法,其特征在于,当所述第一运算周期指令为对参考宏块进行六阶插值,或者对当前帧中待编码宏块进行六阶插值时,所述插值公式的系数为[1,-5,20,20,-5,1]。
5.如权利要求2所述的可复用像素处理方法,其特征在于:当所述第一运算周期指令为轮空时,所述插值公式的系数为[1]。
6.如权利要求1所述的可复用像素处理方法,其特征在于,所述依次对当前帧的各待编码宏块进行各运算周期的处理包括:以流水线方式依次处理所述当前帧的各待编码宏块。
7.如权利要求6所述的可复用像素处理方法,其特征在于,所述流水线方式处理各待编码宏块包括:在采用与处理类型对应的第二运算周期指令对当前待编码宏块进行对应运算的同时,采用与处理类型对应的第一运算周期指令对下一待编码宏块进行对应运算。
8.如权利要求1所述的可复用像素处理方法,其特征在于,所述参考宏块及待编码宏块基于H.264标准。
9.如权利要求1所述的可复用像素处理方法,其特征在于,所述参考宏块及待编码宏块至少为4×4个像素大小。
10.如权利要求1所述的可复用像素处理方法,其特征在于,所述对当前帧的各待编码宏块进行各运算周期的处理包括:
在第一运算周期对参考值中的参考宏块进行n阶及n阶以下插值,n为正整数,在第二运算周期对所述待编码宏块与插值后的参考宏块求差;
或者在第一运算周期对所述待编码宏块进行n阶及n阶以下插值,n为正整数,在第二运算周期轮空;
或者在第一运算周期轮空,在第二运算周期对所述待编码宏块与参考帧中的参考宏块求差。
11.一种可复用视频处理芯片,其特征在于,包括:
配置成适于确定对当前帧进行处理的处理类型的确定单元,所述处理类型包括运动估计、视频缩放、空域滤波及时域滤波中的一种或多种;
配置成适于获取当前帧的获取单元;
寄存器阵列,配置成适于暂存当前处理所需的参考帧中的参考宏块及所述当前帧中的待编码宏块;
时钟控制单元,配置成适于提供运算周期;
运算单元阵列,配置成适于对寄存器阵列中的参考宏块或待编码宏块进行对应运算;
控制器,连接于所述确定单元、寄存器阵列、运算单元阵列、时钟控制单元,配置成适于读取当前处理所需的参考宏块及待编码宏块,并根据与当前帧处理类型对应的指令,控制运算单元阵列进行对应运算;
指令配置单元,连接于所述控制器,适于为各处理类型预先配置对应的指令;所述运算周期分为第一运算周期和第二运算周期,所述指令配置单元为各处理类型预先配置对应的指令包括:
当所述处理类型为运动估计时,第一运算周期的指令为对参考帧中的参考宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为所述待编码宏块与插值后的参考宏块求差;
当所述处理类型为视频缩放时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为空域滤波时,第一运算周期的指令为对所述待编码宏块进行n阶及n阶以下插值,n为正整数,第二运算周期的指令为轮空;
当所述处理类型为时域滤波时,第一运算周期的指令为轮空,第二运算周期的指令为对所述待编码宏块与参考帧中的参考宏块求差。
12.如权利要求11所述的可复用视频处理芯片,其特征在于,所述指令配置单元还包括:系数配置单元,适于配置第一运算周期指令中n阶及n阶以下插值公式的各系数。
13.如权利要求11所述的可复用视频处理芯片,其特征在于,所述运算单元阵列包括第一运算周期阵列和第二运算周期阵列。
14.如权利要求13所述的可复用视频处理芯片,其特征在于,所述第一运算周期阵列包括滤波器阵列,所述第二运算周期阵列包括减法器阵列。
15.如权利要求11所述的可复用视频处理芯片,其特征在于,所述控制器还包括:节拍控制单元,适于根据所述时钟控制单元提供的运算周期,以流水线方式依次处理当前帧的各待编码宏块,使所述运算单元阵列采用对应的第二运算周期指令对当前待编码宏块进行对应运算的同时,采用对应的第一运算周期指令对下一待编码宏块进行对应运算。
16.如权利要求11所述的可复用视频处理芯片,其特征在于,所述寄存器阵列中的参考宏块及待编码宏块基于H.264标准。
17.如权利要求16所述的可复用视频处理芯片,其特征在于,所述参考宏块或待编码宏块为a×a个像素大小时,a为正整数,所述寄存器阵列至少为(a+6)×(a+6)个像素大小。
18.如权利要求17所述的可复用视频处理芯片,其特征在于,所述参考宏块或待编码宏块至少为4×4个像素大小,所述寄存器阵列至少为10×10个像素大小。
CN201210321972.1A 2012-09-03 2012-09-03 可复用像素处理方法及视频处理芯片 Active CN102857758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210321972.1A CN102857758B (zh) 2012-09-03 2012-09-03 可复用像素处理方法及视频处理芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210321972.1A CN102857758B (zh) 2012-09-03 2012-09-03 可复用像素处理方法及视频处理芯片

Publications (2)

Publication Number Publication Date
CN102857758A CN102857758A (zh) 2013-01-02
CN102857758B true CN102857758B (zh) 2015-02-04

Family

ID=47403899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210321972.1A Active CN102857758B (zh) 2012-09-03 2012-09-03 可复用像素处理方法及视频处理芯片

Country Status (1)

Country Link
CN (1) CN102857758B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103237211B (zh) * 2013-04-07 2016-04-20 福建星网视易信息系统有限公司 一种基于fpga的视频亚像素亮度插值的方法及其装置
CN103780942B (zh) * 2013-12-23 2017-07-11 青岛海信电器股份有限公司 一种信息配置方法及装置
JP6819096B2 (ja) * 2016-06-30 2021-01-27 オムロン株式会社 画像処理装置、画像処理方法、および画像処理プログラム
CN106713928B (zh) * 2016-12-29 2020-04-10 深圳Tcl数字技术有限公司 视频编码与解码方法及装置
CN111163317B (zh) * 2019-12-31 2022-06-17 上海富瀚微电子股份有限公司 像素搜索方法
CN116453455B (zh) * 2023-06-14 2023-11-14 长春希达电子技术有限公司 像素复用方法、数据传输系统以及显示屏控制系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588638A (zh) * 2004-08-09 2005-03-02 中芯联合(北京)微电子有限公司 多模多尺度运动估计的超大规模集成电路体系结构及方法
CN101383970A (zh) * 2007-09-06 2009-03-11 北京中电华大电子设计有限责任公司 基于avs的并行流水的帧内预测器的实现方法
CN101938644A (zh) * 2009-07-03 2011-01-05 哈尔滨工业大学深圳研究生院 视频压缩1/2像素精度运动估计硬件实现方法
CN101951519A (zh) * 2010-10-12 2011-01-19 西安电子科技大学 高速去块效应滤波方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588638A (zh) * 2004-08-09 2005-03-02 中芯联合(北京)微电子有限公司 多模多尺度运动估计的超大规模集成电路体系结构及方法
CN101383970A (zh) * 2007-09-06 2009-03-11 北京中电华大电子设计有限责任公司 基于avs的并行流水的帧内预测器的实现方法
CN101938644A (zh) * 2009-07-03 2011-01-05 哈尔滨工业大学深圳研究生院 视频压缩1/2像素精度运动估计硬件实现方法
CN101951519A (zh) * 2010-10-12 2011-01-19 西安电子科技大学 高速去块效应滤波方法

Also Published As

Publication number Publication date
CN102857758A (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
CN102857758B (zh) 可复用像素处理方法及视频处理芯片
CN100586180C (zh) 用于进行解块滤波的方法和系统
CN104205845B (zh) 具有统一位宽乘法器的lm模式
CN110830803B (zh) 结合块匹配和串匹配的图像压缩方法
CN109495743B (zh) 一种基于异构多处理平台的并行化视频编码方法
KR20160104706A (ko) 재귀적 블록 파티셔닝
CN103997650A (zh) 一种视频解码的方法和视频解码器
CN106341689B (zh) 一种avs2量化模块和反量化模块的优化方法及系统
CN101115207B (zh) 基于预测点间相关性的帧内预测实现的方法及装置
EP3939301A1 (en) Low displacement rank based deep neural network compression
CN109246430A (zh) 虚拟现实360度视频快速帧内预测和cu划分提前决策
CN105245896A (zh) Hevc并行运动补偿方法及装置
CN104521234A (zh) 合并去区块处理和取样自适应偏移处理的视频处理方法和装置
CN106231307B (zh) 一种图像压缩帧内编码预测方法及其硬件实现
CN101383971A (zh) 一种基于图像编解码的帧内预测的处理方法
Kalali et al. An approximate HEVC intra angular prediction hardware
CN105100799A (zh) 一种减少hevc编码器中帧内编码时延的方法
CN112738522A (zh) 视频编码方法、装置
CN114697650A (zh) 基于下采样的帧内划分方法、相关装置设备及介质
Asif et al. Exploiting MB level parallelism in H. 264/AVC encoder for multi-core platform
WO2021089339A1 (en) Deep intra prediction of an image block
KR20220035108A (ko) 행렬 기반 인트라 예측을 이용한 비디오 인코딩 및 디코딩을 위한 방법 및 장치
CN102186082B (zh) 基于h.264协议中对于帧内编码压缩技术的优化解码方法
Kopperundevi et al. Methods to develop high throughput hardware architectures for HEVC Deblocking Filter using mixed pipelined-block processing techniques
CN103179392A (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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130102

Assignee: GALAXYCORE SHANGHAI Ltd.,Corp.

Assignor: SHANGHAI SUANXIN MICROELECTRONICS Co.,Ltd.

Contract record no.: 2015990000743

Denomination of invention: Reusable pixel processing method and reusable video processing chip

Granted publication date: 20150204

License type: Common License

Record date: 20150821

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 200120 room 11F, building 2, Lane 560, shengxia Road, Pudong New Area, Shanghai

Patentee after: GALAXYCORE SHANGHAI Ltd.,Corp.

Address before: Room 1004 and room 1005, building 2, No. 560, shengxia Road, Pudong New Area, Shanghai 201203

Patentee before: SHANGHAI SUANXIN MICROELECTRONICS Co.,Ltd.