CN102355581A - 用于视频编码芯片硬件系统中的多级稳定性处理方法 - Google Patents
用于视频编码芯片硬件系统中的多级稳定性处理方法 Download PDFInfo
- Publication number
- CN102355581A CN102355581A CN2011102838842A CN201110283884A CN102355581A CN 102355581 A CN102355581 A CN 102355581A CN 2011102838842 A CN2011102838842 A CN 2011102838842A CN 201110283884 A CN201110283884 A CN 201110283884A CN 102355581 A CN102355581 A CN 102355581A
- Authority
- CN
- China
- Prior art keywords
- image
- motion vector
- stability
- coding
- dynamic
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种用于视频编码芯片硬件系统中的多级稳定性处理方法,具有静态稳定性处理功能和动态稳定性处理功能,能够同时实现静态图像和动态图像的稳定性处理;静态稳定性处理在预览和编码前实现,将昂贵的光学去抖动系统利用芯片数字处理技术实现,提高SoC芯片数字相片拍摄效果和预览效果;动态稳定性处理针对摄像过程中抖动所造成视频流物体运动的不连续性,利用嵌入在编码过程中的去抖动算法增强是视频流编码质量,减小码率,提高图像编码效果,适用于多标准视频编码功能的SoC芯片设计,降低系统成本,可靠性高、使用寿命长、易控制。
Description
技术领域
本发明涉及一种用于视频编码芯片硬件系统中的多级稳定性处理方法,属于集成电路芯片设计技术领域。
背景技术
随着集成电路芯片设计的应用需求不断提高,需要将多标准视频编码处理模块集成在一个SoC中实现。最为常见的视频编码处理为数字视频录像和数码相机功能,分别对应动态视频压缩编码处理和静态图像压缩编码处理。此类处理需要支持VGA分辨率、SD分辨率,甚至HD分辨率,并且需要满足一定的编码码率及帧率,以及较高的视频、图像编码效果和质量。所有这些应用处理都需要进行大量的数据传输,更加重了SoC芯片设计系统总线负载和计算负载。所以,单凭SoC系统中的微处理器单元来执行这些处理任务已经不能满足多标准多处理需要的SoC要求,需要专门的硬件加速单元来实现高质量的、实时的、多标准的、多功能的视频和图像编码处理能力。在这里,多标准是指芯片编码支持H.264,H.263,MPEG4,MPEG2,MJPEG。多功能是指芯片编码支持图像的去抖动、去噪声、翻转、平移优化处理。
一般来讲,从数码相机功能采集到的图像为静态图像,因为其每一帧图像都是内部单独编码,不需要从其他的相邻图像帧得到编码信息。而从数字视频摄像功能采集到的视频流为动态图像,当前帧编码依赖于相邻帧的信息,并且整个视频流需要以一定的帧率进行播放。所以,SoC图像处理可以分为静态图像处理和动态图像处理。高性能SoC芯片设计中的视频处理硬件加速单元需要同时具备静态图像和动态视频流的处理能力,来产生高质量的图像和视频流。
视频稳定性处理用于消除在照相或摄像过程中的由于人手的不期望动作而产生的画面抖动。相对于静态图像处理和动态视频流处理,视频稳定性处理可以分为静态稳定性处理和动态稳定性处理。
在照相过程中,由于镜头的曝光时间较短,所以手的抖动会使得图像模糊。这种图像模糊称为静态模糊,因为它只产生一次,即指影响一帧图像。静态抖动的影响可以通过两种方法来消除。一种方法是通过增强镜头的光学系统来消除。但是高质量的光学系统非常的昂贵,会极大的增加系统成本,使得整个系统的竞争力下降。第二种方法是利用芯片内置的数字静态稳定性处理功能来消除静态抖动。这种方法既能够达到良好的去抖动效果,又由于是SoC芯片的嵌入式功能,不会增加系统成本,并且灵活、可靠、稳定、寿命长,所以是目前具有数字照相机功能的消费电子类产品的首选方法。
摄像过程中的手的抖动会造成视频流的不连续运动的效果,而影响整个码流的显示质量,增大了相应的编码码率,降低视频流的视觉效果。由于视频流是以一定的帧率进行编码的,所以手的抖动对于动态视频流中的一帧图像来说并不会造成影响,只有当视频帧进行连续编码时,手的抖动影响才能显现出来。所以视频流的此类抖动噪声的去抖动处理被称为动态稳定性处理。他并不是基于一帧图像的处理,而是针对一个视频流进行处理。稳定性处理需要从相邻的图像帧获取信息来平滑手的抖动造成的影响。利用从相邻帧获取的运动信息通过一定的算法来预测手的抖动影响,从而对动态视频进行去噪处理。
可见,手的抖动所造成的影响对于静态和动态图像不同,所产生的编码图像的特性也不同。所以,SoC芯片设计中,需要针对数码相机和数码摄像功能分别集成相应的静态和动态稳定性处理模块,才能实现对多标准多功能的视频编码处理的高质量的去抖动处理。
但是目前的视频稳定性处理系统或是通过增强镜头的光学系统实现,成本高昂;或是仅仅对视频流进行单级稳定性处理,去抖效果不理想,性价比低。
发明内容
针对现有技术的缺陷,本发明提供一种用于视频编码芯片硬件系统中的多级稳定性处理方法。
一种用于视频编码芯片硬件系统中的多级稳定性处理方法,采用两级稳定性处理方法,第一级为静态稳定性处理,第二级为动态稳定性处理,分别对静态图像和动态图像进行稳定性处理;静态稳定性处理是对摄像头采集的每一帧图像进行稳定性处理,在预处理阶段实现,将摄像头控制模块采集的图像信息在图像预览和编码前进行静态稳定性处理;动态稳定性处理对动态视频码流进行处理,其方法是,动态稳定性处理在图像编码阶段实现,视频编码模块将预处理后的当前帧数据和上一帧图像的重建帧数据一起进行运动估计,获得局部运动矢量和全局运动矢量;全局运动矢量为GMV,局部运动矢量为LMV,经动态稳定性模块调整后的局部运动矢量为IMV,调整系数为α,α的取值范围在0到1之间;动态稳定性处理的公式为:
IMV=LMV-α×GMV
在上式中,用全局运动矢量GMV来调整局部运动矢量LMV,去除局部运动矢量中由于抖动引起的分量α×GMV,实现去抖动。
图1给出了SoC芯片设计中视频和图像编码的结构框图,包括视频预处理模块,负责对镜头所采集到的视频图像进行预处理工作,包括图像的色彩转换、图像的分辨率转换。为了节省系统处理的数据带宽和硬件资源,预览的数据流不经过图像编码模块而直接将预处理后的图像帧输出到片外存储单元准备进行显示处理。视频编码模块负责将经过预处理的的视频图像根据一定编码标准进行编码,并将所编的图像码流输出到片外存储单元。
在一般的应用场合中,通常拍照完毕后,会在预览窗中显示所拍摄的图像,人们可以通过预览来选择是删除还是保留相片。如果手的抖动造成了拍摄图像的模糊,那么即使拍摄了非常好的瞬间,也无法给人们好的视觉感受,人们可能会在预览过程中直接将照片删除。所以,静态图像的去抖动处理需要在预览处理阶段进行,这样预览和编码处理都是在去抖动处理后的图像基础上进行,可以同时提高预览效果和图像的编码质量。
另一方面,动态稳定性处理针对视频流进行。视频流编码根据不同的标准,要进行帧间预测和帧内预测。通常动态稳定性处理方法是利用局部运动矢量(MV,Motion Vector)以及全局运动矢量来预测物体的哪些运动是原有的物体运动轨迹,哪些运动是手的抖动所造成的抖动。局部和全局运动矢量可以通过运动估计(ME,Motion Estimation)得到。ME是图像编码过程中一个非常重要的环节。所以可以将局部和全局运动矢量合并到编码的ME阶段进行计算。当然,局部和全局运动矢量的计算可以放在编码开始前进行,但是这样需要从片外存储单元读取额外的数据进行计算,计算完成后有需要将所整帧图像存回到片外存储单元。这样无疑在增加了系统的数据存取带宽,相比于第一种方法(将局部和全局运动矢量的计算与编码过程中的ME进行合并),至少增加了一帧数据的存取带宽。所以第一种方法更适合于对于带宽要求极为敏感的SoC系统设计。由于局部和全局运动矢量的预测在运动估计阶段计算得到,所以动态稳定性处理需要在图像编码阶段进行。
总之,静态和动态稳定性处理针对不同的处理目标,利用不同的去抖动方法,在图像编码系统的不同处理阶段进行。集成了静态和动态稳定性处理模块,SoC系统可以实现低成本、易控制的多标准视频编码和高质量图像处理功能。
图2给出了多功能稳定性处理系统的详细结构框图。图2中,静态稳定性处理模块从镜头接收图像输入,输出去模糊处理后的图像给编码图像分辨率调整单元进行分辨率调整,同时将去模糊后的图像输出到预览处理的分辨率调整单元进行分辨率调整。经过图像色彩转换后,生成的预览图像存储到片外存储单元的预览帧存储区,生成的预处理后图像输出到片外存储单元的编码帧存储区。
图2中,编码运动估计模块输出局部运动矢量和全局运动矢量。局部运动矢量代表图像中物体真实的运动,而全局运动矢量则代表不期望的手的抖动所造成的物体运动。动态稳定性处理利用全局运动矢量的信息来进行去抖动处理,并将处理后数据输出给运动补偿单元进行后续处理。通过动态稳定性处理,视频流中的每一帧图像都进行了去抖动处理,从而使得整个码流的物体运动更加流畅。
本发明提出的用于视频编码芯片硬件系统中的多级稳定性处理方法,具有静态稳定性处理和动态稳定性处理功能,能够同时实现静态图像和动态图像的稳定性处理。静态稳定性处理将昂贵的光学去抖动系统利用芯片数字处理技术实现,提高SoC芯片数字相片拍摄效果和预览效果。动态稳定性处理针对摄像过程中的抖动所造成视频流物体运动的不连续性,利用嵌入在编码过程中的去抖动处理增强视频流编码质量,降低系统带宽,提高图像编码效果,适用于多标准视频编码功能的SoC芯片设计,降低系统成本,可靠性高、使用寿命长、易控制。
附图说明
图1是本发明的系统框图。
图2是本发明所阐述的用于视频编码芯片硬件系统中的多级稳定性处理方法的详细框图。
图中,1、摄像头控制模块,2、视频预处理模块,2-1-1、编码预处理分辨率调整模块,2-1-2、编码预处理色彩转换模块,2-2-1、预览处理分辨率调整模块,2-2-2、预览处理色彩转换模块,3、视频编码模块,3-1、编码运动估计模块,3-2、局部运动矢量计算模块,3-3、全局运动矢量计算模块,3-4、编码运动补偿模块,3-5、编码数据准备模块,3-6、编码变换模块,3-7、编码量化模块,3-8、编码系数处理模块,3-9、编码反系数处理模块,3-10、编码反量化模块,3-11、编码反变换模块,3-12,可变长度编码模块,3-13、帧重建模块,4、视频编码系统,5、片外存储单元,5-1、片外存储单元中的编码码流存储区,5-2、片外存储单元中的预览图像存储区,5-3、片外存储单元中的重建图像帧存储区,6、静态稳定性处理模块,7、动态稳定性处理模块。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
实施例:
一种用于视频编码芯片硬件系统中的多级稳定性处理方法,采用两级稳定性处理方法,第一级为静态稳定性处理,第二级为动态稳定性处理,分别对静态图像和动态图像进行稳定性处理;静态稳定性处理是对摄像头采集的每一帧图像进行稳定性处理,在预处理阶段实现,将摄像头控制模块采集的图像信息在图像预览和编码前进行静态稳定性处理;动态稳定性处理对动态视频码流进行处理,其方法是,动态稳定性处理在图像编码阶段实现,视频编码模块将预处理后的当前帧数据和上一帧图像的重建帧数据一起进行运动估计,获得局部运动矢量和全局运动矢量;全局运动矢量为GMV,局部运动矢量为LMV,经动态稳定性模块调整后的局部运动矢量为IMV,调整系数为α,α的取值范围在0到1之间;动态稳定性处理的公式为:
IMV=LMV-α×GMV
在上式中,用全局运动矢量GMV来调整局部运动矢量LMV,去除局部运动矢量中由于抖动引起的分量α×GMV,实现去抖动。
静态稳定性处理模块(6)读取摄像头控制模块(1)输出的采样图像,通过静态去抖动处理后,输出给图像预处理模块(2),能够同时增强编码图像和预览图像的去抖动效果。
动态稳定性处理模块(7)在图像编码阶段实现,与图像编码运动估计结合在一起,利用全局运动矢量的计算结果调整相应的局部运动矢量计算结果,去除局部运动矢量中由于抖动引起的分量,并将调整后的结果输出给编码运动补偿模块(3-4)进行运动补偿,从而达到去抖动的目的。
图1中,视频预处理模块(2)负责对摄像头所采集到的视频图像进行预处理工作,包括图像的分辨率转换和图像的色彩转换。为了节省系统处理的数据带宽和硬件资源,预览的数据流不经过图像编码模块(3)而直接将预处理后的图像数据输出到片外存储单元的预览数据区域(5-2)准备进行显示处理。视频编码模块(3)负责将经过预处理的视频帧数据根据一定编码标准进行编码,并将所编码的图像码流输出到片外存储单元的编码码流存储区域(5-1),同时将图像的重建帧存储到片外存储单元的重建帧存储区域(5-3)。静态稳定性处理模块(6)在图像预处理阶段进行,这样图像的预览和编码处理都是在去抖动处理后的图像基础上进行,可以同时提高预览效果和图像的编码质量,降低数据带宽和硬件成本。动态稳定性处理模块(7)在视频流编码阶段进行,利用编码过程中的运动估计结果进行去抖动算法处理,与编码过程融合在一起,从而减少算法所需的系统数据带宽。
图2中,视频预处理模块(2)包括预览图像处理模块(2-2)和编码预处理模块(2-1),静态稳定性处理模块(6)输出的静态图像经过预览处理模块(2-2),进行分辨率转换(2-2-1)和色彩转换预处理(2-2-2),将数据存入预览图像存储区(5-2)准备进行显示处理;视频的帧数据经过编码预处理模块(2-1),进行分辨率转换(2-1-1)和色彩转换预处理(2-1-2),将数据送入视频编码模块(3)进行编码和动态稳定性处理。视频编码模块(3)从视频预处理模块(2)中读取编码预处理帧数据进行编码。编码过程从预处理编码图像模块(3-5)读取预处理数据开始,将从重建帧存储区(5-3)读取的重建帧数据和预处理编码图像模块(3-5)读取的预处理帧数据送入运动估计模块(3-1)内进行运动估计,并分别在局部运动矢量计算模块(3-2)和全局运动矢量计算模块(3-3)中计算局部和全局运动矢量。动态稳定性处理模块(7)利用得到的全局运动矢量来调整局部运动矢量,去除局部运动矢量中由于抖动引起的分量,从而达到去抖动的目的。具体的调整如下:设全局运动矢量为GMV,局部运动矢量为LMV,经动态稳定性模块的调整后的局部运动矢量为IMV,调整系数为α,范围在0到1之间,根据期望实现的稳定性处理的程度做相应的调整,实现公式具体如下:
IMV=LMV-α×GMV
调整后的运动矢量在运动补偿模块(3-4)进行运动补偿,补偿后的帧数据同预处理编码图像模块(3-5)读取的预处理帧数据进行比较,计算出冗余信息,经过图像变换模块(3-6),图像量化模块(3-7),图像编码系数处理模块(3-8)后,再经可变长度编码模块(3-12)输出编好的图像码流到片外存储单元的编码码流存储区域(5-1)。图像编码系数处理模块(3-8)输出的数据再通过系数反处理模块(3-9),反量化处理模块(3-10),反变换处理模块(3-11),送入帧重建模块(5-13),与运动补偿模块(3-4)输出的补偿后的重建帧叠加,获得当前帧的重建帧,并存入外存储单元的重建帧存储区域(5-3)。动态稳定性处理模块(7)将去抖动算法计算与编码过程中的运动估计和补偿计算整合同步进行,减小了系统的数据存取带宽,提高了系统处理性能。
Claims (1)
1.一种用于视频编码芯片硬件系统中的多级稳定性处理方法,其特征是,采用两级稳定性处理方法,第一级为静态稳定性处理,第二级为动态稳定性处理,分别对静态图像和动态图像进行稳定性处理;静态稳定性处理是对摄像头采集的每一帧图像进行稳定性处理,在预处理阶段实现,将摄像头控制模块采集的图像信息在图像预览和编码前进行静态稳定性处理;动态稳定性处理对动态视频码流进行处理,其方法是,动态稳定性处理在图像编码阶段实现,视频编码模块将预处理后的当前帧数据和上一帧图像的重建帧数据一起进行运动估计,获得局部运动矢量和全局运动矢量;全局运动矢量为GMV,局部运动矢量为LMV,经动态稳定性模块调整后的局部运动矢量为IMV,调整系数为α,α的取值范围在0到1之间;动态稳定性处理的公式为:
IMV=LMV-α×GMV
在上式中,用全局运动矢量GMV来调整局部运动矢量LMV,去除局部运动矢量中由于抖动引起的分量α×GMV,实现去抖动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102838842A CN102355581A (zh) | 2011-09-22 | 2011-09-22 | 用于视频编码芯片硬件系统中的多级稳定性处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102838842A CN102355581A (zh) | 2011-09-22 | 2011-09-22 | 用于视频编码芯片硬件系统中的多级稳定性处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102355581A true CN102355581A (zh) | 2012-02-15 |
Family
ID=45579069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102838842A Pending CN102355581A (zh) | 2011-09-22 | 2011-09-22 | 用于视频编码芯片硬件系统中的多级稳定性处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102355581A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062165A (zh) * | 2019-04-22 | 2019-07-26 | 联想(北京)有限公司 | 电子设备的视频处理方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791221A (zh) * | 2005-12-29 | 2006-06-21 | 北京中星微电子有限公司 | 一种基于动态图像实现视频编码防抖的方法及编码器 |
CN101350920A (zh) * | 2007-07-17 | 2009-01-21 | 北京华辰广正科技发展有限公司 | 一种面向全景视频的全局运动估计方法 |
CN101411181A (zh) * | 2006-04-06 | 2009-04-15 | 高通股份有限公司 | 电子视频图像稳定 |
CN101600113A (zh) * | 2008-06-02 | 2009-12-09 | 索尼株式会社 | 图像处理装置及图像处理方法 |
-
2011
- 2011-09-22 CN CN2011102838842A patent/CN102355581A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1791221A (zh) * | 2005-12-29 | 2006-06-21 | 北京中星微电子有限公司 | 一种基于动态图像实现视频编码防抖的方法及编码器 |
CN101411181A (zh) * | 2006-04-06 | 2009-04-15 | 高通股份有限公司 | 电子视频图像稳定 |
CN101350920A (zh) * | 2007-07-17 | 2009-01-21 | 北京华辰广正科技发展有限公司 | 一种面向全景视频的全局运动估计方法 |
CN101600113A (zh) * | 2008-06-02 | 2009-12-09 | 索尼株式会社 | 图像处理装置及图像处理方法 |
JP2009290827A (ja) * | 2008-06-02 | 2009-12-10 | Sony Corp | 画像処理装置および画像処理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110062165A (zh) * | 2019-04-22 | 2019-07-26 | 联想(北京)有限公司 | 电子设备的视频处理方法、装置和电子设备 |
CN110062165B (zh) * | 2019-04-22 | 2021-09-14 | 联想(北京)有限公司 | 电子设备的视频处理方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3258840B2 (ja) | 動画像符号化装置および領域抽出装置 | |
EP1032213B1 (en) | Video transcoding method and apparatus | |
US20110013692A1 (en) | Adaptive Video Transcoding | |
CN108737837A (zh) | 形成视频流的方法及图像处理单元 | |
CN103141097B (zh) | 优化的去块滤波器 | |
Dane et al. | Motion vector processing for frame rate up conversion | |
EP1551186A1 (en) | Video coding apparatus with resolution converter | |
CN1541482A (zh) | 用于数字视频信号的运动自适应降噪预处理 | |
US20090268818A1 (en) | Method and system for integrating noise filtering in predictive video coding | |
CN106060539A (zh) | 一种低传输带宽的视频编码方法 | |
EP1653744A1 (en) | Non-integer pixel sharing for video encoding | |
WO2009113812A2 (en) | Method and apparatus for encoding and decoding image | |
JP4847076B2 (ja) | トランスコーディングのために出力マクロブロック及び動きベクトルを推定する方法及びトランスコーダ | |
US6016365A (en) | Decoder having adaptive function of eliminating block effect | |
JPH06237454A (ja) | 可変長符号化を考慮した動作推定装置 | |
CN102355581A (zh) | 用于视频编码芯片硬件系统中的多级稳定性处理方法 | |
US20030081676A1 (en) | Methods and systems for video transcoding in DCT domain with low complexity | |
JP2000115765A (ja) | 映像信号符号化装置 | |
KR100987922B1 (ko) | 선택적 참조영상을 이용한 움직임 보상기법을 적용한 동영상 압축부호화장치및 복호화 장치와 움직임 보상을 위한 선택적 참조영상 결정방법 | |
CN103155566B (zh) | 动态图像编码方法以及动态图像编码装置 | |
JP3382292B2 (ja) | 画像符号化装置及びその方法 | |
KR100238083B1 (ko) | 배경을 고려한 변환부호화방법 및 장치 | |
CN1579097A (zh) | 压缩 | |
Shen et al. | Fast video enhancement transcoding | |
CN1823530A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120215 |