CN102831576A - 一种视频图像缩放方法及系统 - Google Patents

一种视频图像缩放方法及系统 Download PDF

Info

Publication number
CN102831576A
CN102831576A CN2012101968345A CN201210196834A CN102831576A CN 102831576 A CN102831576 A CN 102831576A CN 2012101968345 A CN2012101968345 A CN 2012101968345A CN 201210196834 A CN201210196834 A CN 201210196834A CN 102831576 A CN102831576 A CN 102831576A
Authority
CN
China
Prior art keywords
convergent
divergent
complexity
divergent point
alternative
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.)
Granted
Application number
CN2012101968345A
Other languages
English (en)
Other versions
CN102831576B (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.)
Storm group Limited by Share Ltd
Original Assignee
BEIJING BAOFENG TECHNOLOGY 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 BEIJING BAOFENG TECHNOLOGY Co Ltd filed Critical BEIJING BAOFENG TECHNOLOGY Co Ltd
Priority to CN201210196834.5A priority Critical patent/CN102831576B/zh
Publication of CN102831576A publication Critical patent/CN102831576A/zh
Application granted granted Critical
Publication of CN102831576B publication Critical patent/CN102831576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

本发明公开了一种视频图像缩放方法及系统,涉及图像缩放技术领域。所述方法包括步骤:根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例;根据寄存器位数确定总体缩放区间;从总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点;从缩放点中找到与目标缩放比例最接近的近似缩放点,按照近似缩放点的缩放比例对原始图像进行缩放。所述方法及系统,可以显著提高视频图像缩放速度,优化缩放效率,同时后续的显卡会将视频图像按照要求进行精确缩放,所以整个缩放过程不会影响到画质,能将视频图像以更高的缩放速度,并且最佳的画质呈现出来。

Description

一种视频图像缩放方法及系统
技术领域
本发明涉及图像缩放技术领域,特别涉及一种视频图像缩放方法及系统。
背景技术
随着计算机的普及、互联网的普及、计算机性能的不断提高,使普通用户也能体验到视频编辑、图像处理、视频实时特技效果处理等原来只能由高性能计算机才能完成的任务。
虽说现在的CPU比以前处理性能有大幅的提高,但当数据量很大的时候,如实时视频处理,因为需要用到CPU做特效,所以事先必须使用CPU进行缩放,就会消耗大量的CPU在缩放上。以蓝光片源或FULL HD(全高清)级别的显示器为例,1920×1080的画面大小,每张图像的数据量是:
1920(宽)×1080(高)×3(每像素的字节数)=6220800=6MB。
因为图像缩放的复杂性,缩放的每个像素需要参考源来的画面的4个点或更多,这就直接导致缩放每张图片的数据访问量达24MB:
1920×1080×4×3=24883200=24MB。
当视频实时播放时,一般帧速率在30帧左右,实时缩放所需要的数据处理量达700M每秒:
24MB×30帧/秒=720MB/秒。
以目前中国互联网的主流机器为例:双核2。5G为标准,缩放一张1080P的图像需要10ms,当视频实时播放时,以30帧/秒为例:
30帧×10ms/帧=300ms。
在每秒中,缩放处理就要占用约300ms,仅此一项,大约有30%的CPU占用!
根据以上情况,如果用户需要使用到实时CPU缩放时,将直接导致视频无法正常播放,所有视频效果处理都无法实时完成,用户会发现播放越来越不流畅,越来越卡,音画不同步等现象。
在这种情况下,优化缩放效率是一个很有意义的技术尝试,当把缩放上占用的CPU利用率和内存访问带宽降低后,才能保证用户正常的使用各种实时处理技术带来的视觉体验。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种视频图像缩放方法及系统,以提升视频图像的缩放速度,优化缩放效率。
(二)技术方案
为解决上述技术问题,本发明提供一种视频图像缩放方法,其包括步骤:
A:根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例;
B:根据寄存器位数确定总体缩放区间;
C:从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点;
D:从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。
优选地,所述步骤B中,所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。
优选地,所述步骤C具体包括步骤:
C1:在所述总体缩放区间范围内设置多个备选缩放点;
C2:计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序;
C3:从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。
优选地,所述步骤C2具体包括步骤:
C21:根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个所述对应关系的循环;所述循环包含最少的所述原始像素;
C22:计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数;其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系;
C23:计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数;
C24:根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点的数据变换复杂度进行排序。
优选地,所述步骤C24中,所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
本发明还一种视频图像缩放系统,其包括:
比例计算单元,用于根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例;
区间计算单元,用于根据寄存器位数确定总体缩放区间;
缩放点选取单元,用于从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点;
缩放单元,用于从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。
优选地,所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。
优选地,所述缩放点选取单元进一步包括:
备选缩放点设置模块,用于在所述总体缩放区间范围内设置多个备选缩放点;
排序模块,用于计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序;
缩放点选取模块,用于从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。
优选地,所述排序模块进一步包括:
循环选取子模块,用于根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个所述对应关系的循环;所述循环包含最少的所述原始像素;
主参数计算子模块,用于计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数;其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系;
辅参数计算子模块,用于计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数;
排序子模块,用于根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点的数据变换复杂度进行排序。
优选地,所述排序子模块的排序规则为:所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
(三)有益效果
本发明所述的视频图像缩放方法及系统,通过对总体缩放区间中各个备选缩放点的数据变换复杂度进行排序,进而选取数据变换复杂度相对较低的缩放点,然后在进行视频图像缩放处理时,将目标缩放比例对应到最近的缩放点进行缩放。通过这种近似缩放的方法,可以显著提高视频图像缩放速度,优化缩放效率,同时后续的显卡会将视频图像按照要求进行精确缩放,所以整个缩放过程不会影响到画质,能将视频图像以更高的缩放速度,并且最佳的画质呈现出来。
附图说明
图1是本发明实施例所述视频图像缩放的方法流程图;
图2是图像缩放前后像素对比示意图;
图3a1~图3g1是本实施例不同备用缩放点处目标像素与原始像素的对应关系示意图;
图3a2~图3g2是本实施例不同备用缩放点对应的数据变换操作示意图;
图4是本发明实施例所述视频图像缩放系统的模块结构示意图;
图5是所述缩放点选取单元的模块结构示意图;
图6是所述排序模块的模块结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明充分考虑了当前市场中大量性能一般的硬件环境、以及用户对画质越来越高的视频内容需求之间的平衡,将原来需要占用大量CPU的缩放功能,变为对CPU占用极少的一项任务,将更多的CPU留给其它处理过程。
本方法的主要思想是:在CPU进行缩放时,结合以汇编形式优化过的缩放算法(如邻近插值、双线性插值等),通过固定近似缩放倍数,以减少图像源数据进入寄存器的流程,大幅降低缩放中对CPU指令和内存带宽的占用,实现快速缩放。在这些算法优化到极致的基础上再大幅提升缩放性能。也就是说,视频数据不需要绝对精确,我们可以先将图像缩放到近似目标大小,进行图像优化等处理工作,再交由显卡进行显示,显卡会将图像再次缩放到真实的目标大小,因为显卡缩放速度很快(硬件完成),而且因为缩放倍数很小(因为第一次缩放已经缩放到近似值了),一般会被限制在1∶1.1左右,所以后面的显卡缩放不会影响到画质,能将视频画面以优化后的最佳的画质呈现出来。
图1是本发明实施例所述视频图像缩放的方法流程图,如图1所示,所述方法包括步骤:
A:根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例。
假设原始图像宽高为w_src和h_src,目标图像宽高为w_dst和h_dst,其缩放比例s可以表示为s=w_dst/w_src(或者s=h_dst/h_src)。缩放后目标图像上的任意一点,都可以计算出一个和原始图像上的点的对应关系。目标图像上的点p_dst,其坐标为(px_dst,py_dst),它对应到原始图像上的原始图像点p(px_src,py_src),其坐标的计算公式为px_src=px_dst/s,py_src=py_dst/s。
图2是图像缩放前后像素对比示意图,如图2所示,虚线所示p点即为我们计算出来的映射到原始图像上的坐标点,可以看到,它位于p00,p01,p10,p11这4个点之间。所以,可以认为p点的象素值可以由这4个点的象素值通过一定的公式计算得到。两点之间,距离越近其象素值越接近,所以,点与点之间的距离,可以作为计算的一个权重值。设相临象素之间的权重值总和为1,分为x和y两个方向上的权重,图2中p00点在x方向上的权重为x00=p_x-p00_x,在y方向上的权重为y00=p_y-p00_y(p_x表示p点在x方向的坐标,p00_x表示p00点在x方向的坐标,p_y表示p点在y方向的坐标,p00_y表示p00点在y方向的坐标,其他3个点的坐标表示形式类似,不再重复说明);计算出p01在x方向上的权重为x01=1-x00,在y方向的权重为y01=y00。依次类推,p10在x方向上权重为x10=x00,在y方向的权重为y10=1-y00,p11在x方向上的权重为x11=1-x00,在y方向的权重为y11=1-y00。把各自的象素值和权重相乘,然后相加的和,即是p点的象素值为:
p’=p00’×x00×y00+p01’×x01×y01+p10’×x10×y10+p11’×x11×y11。
其中,p’、p00’、p01’、p10’和p11’分别表示相应点的像素值。
对于任意的点p,通过取整的方式,可以较容易取得其左上角的p00象素所在的位置,其他3个点的位置,全部可以通过p00做偏移取得。
综上,也就是说,对于目标图像上任意一个目标像素,根据缩放比例可以对应到原始图像上的一个对应点,通过所述对应点的坐标又可以对应到原始图像上所述对应点4个角上的4个原始像素(当所述对应点刚好对应1个原始像素时,将该原始像素作为所述对应点左上角的原始像素),进而可以根据4个原始像素的像素值计算得到目标像素的像素值。其中,为说明简单起见,可以将所述对应点左上角的原始像素作为目标像素对应的唯一原始像素(另外三个原始像素可以根据左上角的原始像素确定,这三个原始像素也可以作为对应目标像素的原始像素)。同时,本领域技术人员容易想到,目标像素的像素值还可以根据更多的原始像素的像素值确定,此部分内容非本发明重点,不再赘述。
B:根据寄存器位数确定总体缩放区间。
本发明实施例采用汇编语言进行图像缩放处理,汇编语言目前主要有MMX(MultiMedia eXtensions,多媒体扩展)指令集和SSE(Streaming SIMD Extensions,单指令多数据流扩展)指令集。其中,SSE指令集的寄存器是128位,也就是16字节,一次操作最多处理16个数据。MMX指令集的寄存器是64位,也就是8字节,一次操作最多处理8个数据。
所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。因此,当采用SSE指令集时,总体缩放区间为[1,16],当采用MMX指令集时,总体缩放区间为[1,8]。
C:从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点。
所述步骤C具体包括步骤:
C1:在所述总体缩放区间范围内设置多个备选缩放点。
C2:计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序。
所述步骤C2具体包括步骤:
C21:根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个对应关系的循环;所述循环包含最少的所述原始像素。
C22:计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数。其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系。
C23:计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数。
C24:根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点的数据变换复杂度进行排序。所述步骤C24中,所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
C3:从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。所述预定数目一般根据所述备选缩放点的数量确定(比如设置为所述备选缩放点的数量的2/3),并且根据所述备选缩放点的数据变换复杂度进行适当调整。
为简单起见,后续以MMX指令集为例对所述步骤C说明如下:
已经确定总体缩放区间为[1,8],假设设置备选缩放点分别为8/1,8/2,8/3,8/4,8/5,8/6,8/7,8/8。按照前面的对应计算方法,目标图象上8个目标象素,记为d00,d01,d02,d03,d04,d05,d06,d07。其中,以d00为例,其坐标为(0,0),其他各目标像素的坐标类似,不再赘述。对应到原始图象后,所有目标像素对应的左上角象素的坐标,会随缩放倍数的不同而不同。
8/1倍时:
各目标像素对应左上角像素的纵坐标依次的:1/8×0,1/8×1,1/8×2,1/8×3,1/8×4,1/8×5,1/8×6,1/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
p00,p00,p00,p00,p00,p00,p00,p00。其中,p00的坐标为(0,0),以下左上角像素的坐标情况类似,不再重复说明。
可以看到,缩放8倍的时候,目标像素与原始像素的对应关系如图3a1所示,8个目标像素刚好对应原始图象上同一个原始像素。
MMX指令集的寄存器为8位,一次读操作取得的数据为8个,需要做如图3a2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中的8个数据位置,即完成操作。目标像素与原始像素的对应关系为:每1个原始像素对应8个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为1,即主复杂度参数m=1;并且该循环中原始像素的数量1,即辅复杂度参数n=1。
8/2倍时:
各目标像素对应左上角像素的纵坐标依次的:2/8×0,2/8×1,2/8×2,2/8×3,2/8×4,2/8×5,2/8×6,2/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
p00,p00,p00,p00,p01,p01,p01,p01。
可以看到,缩放8/2倍的时候,目标像素与原始像素的对应关系如图3b1所示,4个目标像素刚好对应原始图象上同一个原始像素。
一次读操作取得的数据为8个,需要做如图3b2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前4个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中后4个数据位置。目标像素与原始像素的对应关系为:每1个原始像素对应4个目标像素,因此,该循环中原始像素与目标像素的对应关系的种类数量为1,即主复杂度参数m=1;并且该循环中原始像素的数量1,即辅复杂度参数n=1。
8/3倍(约2.667倍)时:
各目标像素对应左上角像素的纵坐标依次的:3/8×0,3/8×1,3/8×2,3/8×3,3/8×4,3/8×5,3/8×6,3/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
P00,p00,p00,p01,p01,p01,p02,p02。
可以看到,缩放8/3倍的时候,目标像素与原始像素的对应关系如图3c1所示,前3个目标像素对应第1个原始像素,中间3个目标像素对应第2个原始像素,后两个目标像素对应第3个原始像素,依次循环。
一次读操作取得的数据为8个,需要做如图3c2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前3个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中后3个数据位置;把第一寄存器中的第三个数据,放到第二寄存器中后2个数据位置。目标像素与原始像素的对应关系为:第1个原始像素对应前3个目标像素,第2个原始像素对应接下来的3个目标像素,第3个原始像素对应接下来的两个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为2,即主复杂度参数m=2;并且该循环中原始像素的数量3,即辅复杂度参数n=3。其中,第1个原始像素与目标像素的对应关系,与第2个原始像素与目标像素的对应关系,连续并且重复,只记作一种对应关系。
8/4倍时:
各目标像素对应左上角像素的纵坐标依次的:4/8×0,4/8×1,4/8×2,4/8×3,4/8×4,4/8×5,4/8×6,4/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
P00,p00,p01,p01,p02,p02,p03,p03。
可以看到,缩放8/4倍的时候,目标像素与原始像素的对应关系如图3d1所示,每4个目标像素对应1个原始像素,依次循环。
一次读操作取得的数据为8个,需要做如图3d2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前4个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中后4个数据位置。目标像素与原始像素的对应关系为:第1个原始像素对应前4个目标像素,第2个原始像素对应接下来的4个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为1,即主复杂度参数m=1;并且该循环中原始像素的数量1,即辅复杂度参数n=1。
8/5倍(1.6)时:
各目标像素对应左上角像素的纵坐标依次的:5/8×0,5/8×1,5/8×2,5/8×3,5/8×4,5/8×5,5/8×6,5/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
P00,p00,p01,p01,p02,p03,p03,p04。
可以看到,缩放8/5倍的时候,目标像素与原始像素的对应关系如图3e1所示,前2个目标像素对应第1个原始像素,接下来的2个目标像素对应第2原始像素,接下来的1个目标像素对应第3个原始像素,接下来的两个目标像素对应第4个原始像素,接下来的1个目标像素对应第5个原始像素,依次循环。
一次读操作取得的数据为8个,需要做如图3e2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前2个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中接下来的2个数据位置;把第一寄存器中的第3个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第4个数据,放到第二寄存器中接下来的2个数据位置;把第一寄存器中的第5个数据,放到第二寄存器中接下来的1个数据位置。目标像素与原始像素的对应关系为:第1个原始像素对应前2个目标像素,第2个原始像素对应接下来的2个目标像素,第3个原始像素对应接下来的1个目标像素,第4个原始像素对应接下来的2个目标像素,第5个原始像素对应接下来的1个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为4,即主复杂度参数m=4;并且该循环中原始像素的数量5,即辅复杂度参数n=5。
8/6倍(约1.33)时:
各目标像素对应左上角像素的纵坐标依次的:6/8×0,6/8×1,6/8×2,6/8×3,6/8×4,6/8×5,6/8×6,6/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
P00,p00,p01,p02,p03,p03,p04,p05。
可以看到,缩放8/6倍的时候,目标像素与原始像素的对应关系如图3f1所示,前2个目标像素对应第1个原始像素,接下来的1个目标像素对应第2原始像素,接下来的1个目标像素对应第3个原始像素,接下来的两个目标像素对应第4个原始像素,接下来的1个目标像素对应第5个原始像素,接下来的1个目标像素对应第6个原始像素,依次循环。
一次读操作取得的数据为8个,需要做如图3f2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前2个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第3个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第4个数据,放到第二寄存器中接下来的2个数据位置;把第一寄存器中的第5个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第5个数据,放到第二寄存器中接下来的1个数据位置。目标像素与原始像素的对应关系为:第1个原始像素对应前2个目标像素,第2个原始像素对应接下来的1个目标像素,第3个原始像素对应接下来的1个目标像素,第4个原始像素对应接下来的2个目标像素,第5个原始像素对应接下来的1个目标像素,第6个原始像素对应接下来的1个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为4,即主复杂度参数m=4;并且该循环中原始像素的数量6,即辅复杂度参数n=6。
8/7倍(约1.14)时为:
各目标像素对应左上角像素的纵坐标依次的:7/8×0,7/8×1,7/8×2,7/8×3,7/8×4,7/8×5,7/8×6,7/8×7;横坐标均为0。
向下取整后得到对应的左上角像素依次为:
P00,p00,p01,p02,p03,p04,p05,p06。
可以看到,缩放8/7倍的时候,目标像素与原始像素的对应关系如图3g1所示,前2个目标像素对应第1个原始像素,接下来的1个目标像素对应第2原始像素,接下来的1个目标像素对应第3个原始像素,接下来的1个目标像素对应第4个原始像素,接下来的1个目标像素对应第5个原始像素,接下来的1个目标像素对应第6个原始像素,接下来的1个目标像素对应第7个原始像素,依次循环。
一次读操作取得的数据为8个,需要做如图3g2所示的数据变换操作。该操作把第一寄存器中的第一个数据,放到第二寄存器中前2个数据位置;把第一寄存器中的第二个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第3个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第4个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第5个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第6个数据,放到第二寄存器中接下来的1个数据位置;把第一寄存器中的第7个数据,放到第二寄存器中接下来的1个数据位置。目标像素与原始像素的对应关系为:第1个原始像素对应前2个目标像素,第2个原始像素对应接下来的1个目标像素,第3个原始像素对应接下来的1个目标像素,第4个原始像素对应接下来的2个目标像素,第5个原始像素对应接下来的1个目标像素,第6个原始像素对应接下来的1个目标像素,第7个原始像素对应接下来的1个目标像素,依次循环。因此,该循环中原始像素与目标像素的对应关系的种类数量为2,即主复杂度参数m=2;并且该循环中原始像素的数量7,即辅复杂度参数n=7。
8/8倍时,原始大小,不处理,此时可以将主复杂度参数m设为极小值,比如为0,从而保证其数据变换复杂度最低。
按照所述步骤C24,对各备选缩放点按照数据变换复杂度进行排序如下:F(8/5)>F(8/7)>F(8/6)=F(8/3)>F(8/4)=F(8/2)=F(8/1)>F(8/8)。其中,F(8/5)表示备选缩放点8/5的数据变换复杂度,其他各备选缩放点的数据变换复杂度表示形式类似,不再重复说明。
根据上述数据变换复杂度排序,可以删除数据变换复杂度最高的前两个备选缩放点8/5和8/7,而选取数据变换复杂度最低的后6个的备选缩放点:8/6、8/3、8/4、8/2、8/1和8/8作为最终的缩放点。
D:从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。假设目标缩放比例为4倍,则可以直接对应到缩放点8/2进行缩放;假设目标缩放比例为8/5,则找到与其最接近的缩放点8/6,并按照8/6的缩放比例对所述原始图像进行缩放。
本领域技术人员容易想到,所述缩放点的数量越多,则后续缩放处理时与目标缩放比例之间的距离越小,实际缩放比例越符合要求。因此,可以增加设置备选缩放点的数量,进而选取较多的缩放点用于后续缩放处理。
图4是本发明实施例所述视频图像缩放系统的模块结构示意图,如图4所示,所述系统包括:
比例计算单元100,用于根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例。
区间计算单元200,用于根据寄存器位数确定总体缩放区间。
所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。
缩放点选取单元300,用于从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点。
图5是所述缩放点选取单元的模块结构示意图,如图5所示,所述缩放点选取单元进一步包括:
备选缩放点设置模块301,用于在所述总体缩放区间范围内设置多个备选缩放点。
排序模块302,用于计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序。
图6是所述排序模块的模块结构示意图,如图6所示,所述排序模块进一步包括:
循环选取子模块3021,用于根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个对应关系的循环;所述循环包含最少的所述原始像素。
主参数计算子模块3022,用于计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数;其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系。
辅参数计算子模块3023,用于计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数。
排序子模块3024,用于根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点进行排序。所述排序子模块3024的排序规则为:所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
缩放点选取模块303,用于从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。
缩放单元400,用于从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。
本发明实施例所述视频图像缩放方法及系统,通过对总体缩放区间中各个备选缩放点的数据变换复杂度进行排序,进而选取数据变换复杂度相对较低的缩放点,然后在实施视频图像缩放处理时,将目标缩放比例对应到最近的缩放点进行缩放。通过这种近似缩放的方法,可以显著提高视频图像缩放速度,优化缩放效率,同时后续的显卡会将视频图像按照要求进行精确缩放,所以整个缩放过程不会影响到画质,能将视频图像以更高的缩放速度,并且最佳的画质呈现出来。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种视频图像缩放方法,其特征在于,包括步骤:
A:根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例;
B:根据寄存器位数确定总体缩放区间;
C:从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点;
D:从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。
2.如权利要求1所述的方法,其特征在于,所述步骤B中,所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。
3.如权利要求1所述的方法,其特征在于,所述步骤C具体包括步骤:
C1:在所述总体缩放区间范围内设置多个备选缩放点;
C2:计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序;
C3:从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。
4.如权利要求3所述的方法,其特征在于,所述步骤C2具体包括步骤:
C21:根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个所述对应关系的循环;所述循环包含最少的所述原始像素;
C22:计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数;其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系;
C23:计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数;
C24:根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点的数据变换复杂度进行排序。
5.如权利要求4所述的方法,其特征在于,所述步骤C24中,所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
6.一种视频图像缩放系统,其特征在于,包括:
比例计算单元,用于根据原始图像的尺寸和目标图像的尺寸计算目标缩放比例;
区间计算单元,用于根据寄存器位数确定总体缩放区间;
缩放点选取单元,用于从所述总体缩放区间中筛选出数据变换复杂度最低的预定数目的缩放点;
缩放单元,用于从所述缩放点中找到与所述目标缩放比例最接近的近似缩放点,按照所述近似缩放点的缩放比例对所述原始图像进行缩放。
7.如权利要求6所述的系统,其特征在于,所述总体缩放区间为[1,N];其中,N表示最大缩放倍数,并且,
N = b 0 8 ;
其中,b0表示所述寄存器位数。
8.如权利要求6所述的系统,其特征在于,所述缩放点选取单元进一步包括:
备选缩放点设置模块,用于在所述总体缩放区间范围内设置多个备选缩放点;
排序模块,用于计算每个所述备选缩放点的数据变换复杂度,并根据所述数据变换复杂度对所述备选缩放点进行排序;
缩放点选取模块,用于从所述备选缩放点中选取数据变换复杂度最低的预定数目的缩放点。
9.如权利要求8所述的系统,其特征在于,所述排序模块进一步包括:
循环选取子模块,用于根据所述备选缩放点的缩放比例,计算原始像素与目标像素的对应关系,找到一个所述对应关系的循环;所述循环包含最少的所述原始像素;
主参数计算子模块,用于计算所述循环中所述原始像素与所述目标像素的对应关系的种类数量m,m记作所述备选缩放点的主复杂度参数;其中,所述原始像素与所述目标像素的对应关系中连续并且重复的对应关系记作一种对应关系;
辅参数计算子模块,用于计算所述循环中所述原始像素的数量n,n记作所述备选缩放点的辅复杂度参数;
排序子模块,用于根据每个所述备选缩放点对应的主复杂度参数m和辅复杂度参数n,对所述备选缩放点的数据变换复杂度进行排序。
10.如权利要求9所述的系统,其特征在于,所述排序子模块的排序规则为:所述主复杂度参数m越大,对应的备选缩放点的数据变换复杂度越大;当所述主复杂度参数m相同时,比较所述辅复杂度参数n,并且所述辅复杂度参数n越大,对应的备选缩放点的数据变换复杂度越大。
CN201210196834.5A 2012-06-14 2012-06-14 一种视频图像缩放方法及系统 Active CN102831576B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210196834.5A CN102831576B (zh) 2012-06-14 2012-06-14 一种视频图像缩放方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210196834.5A CN102831576B (zh) 2012-06-14 2012-06-14 一种视频图像缩放方法及系统

Publications (2)

Publication Number Publication Date
CN102831576A true CN102831576A (zh) 2012-12-19
CN102831576B CN102831576B (zh) 2014-09-24

Family

ID=47334694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210196834.5A Active CN102831576B (zh) 2012-06-14 2012-06-14 一种视频图像缩放方法及系统

Country Status (1)

Country Link
CN (1) CN102831576B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105845103A (zh) * 2015-02-04 2016-08-10 辛纳普蒂克斯显像装置合同会社 用于分区图像缩放的设备和方法
CN107527320A (zh) * 2016-06-22 2017-12-29 南京视察者图像识别科技有限公司 一种加速双线性插值计算的方法
CN108447021A (zh) * 2018-03-19 2018-08-24 河北工业大学 基于分块和逐帧优化的视频缩放方法
CN111210389A (zh) * 2020-01-10 2020-05-29 北京华捷艾米科技有限公司 一种图像缩放处理方法及装置
CN112037118A (zh) * 2020-07-16 2020-12-04 新大陆数字技术股份有限公司 图像缩放硬件加速方法、装置、系统及可读存储介质
CN115330777A (zh) * 2022-10-13 2022-11-11 浙江华是科技股份有限公司 训练图片缩放尺寸船舶检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542038A (en) * 1993-07-29 1996-07-30 Cirrus Logic, Inc. Method and system for generating dynamic zoom codes
CN1670766A (zh) * 2004-03-17 2005-09-21 德鑫科技股份有限公司 图像的缩放方法
CN101145336A (zh) * 2006-09-12 2008-03-19 普诚科技股份有限公司 影像处理方法及缩放系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542038A (en) * 1993-07-29 1996-07-30 Cirrus Logic, Inc. Method and system for generating dynamic zoom codes
CN1670766A (zh) * 2004-03-17 2005-09-21 德鑫科技股份有限公司 图像的缩放方法
CN101145336A (zh) * 2006-09-12 2008-03-19 普诚科技股份有限公司 影像处理方法及缩放系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙红进: "FPGA实现的视频图像缩放显示", 《液晶与显示》, vol. 25, no. 1, 28 February 2010 (2010-02-28) *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105845103A (zh) * 2015-02-04 2016-08-10 辛纳普蒂克斯显像装置合同会社 用于分区图像缩放的设备和方法
CN105845103B (zh) * 2015-02-04 2020-07-07 辛纳普蒂克斯日本合同会社 用于分区图像缩放的设备和方法
CN107527320A (zh) * 2016-06-22 2017-12-29 南京视察者图像识别科技有限公司 一种加速双线性插值计算的方法
CN107527320B (zh) * 2016-06-22 2020-06-02 南京视察者图像识别科技有限公司 一种加速双线性插值计算的方法
CN108447021A (zh) * 2018-03-19 2018-08-24 河北工业大学 基于分块和逐帧优化的视频缩放方法
CN108447021B (zh) * 2018-03-19 2021-06-08 河北工业大学 基于分块和逐帧优化的视频缩放方法
CN111210389A (zh) * 2020-01-10 2020-05-29 北京华捷艾米科技有限公司 一种图像缩放处理方法及装置
CN111210389B (zh) * 2020-01-10 2023-09-19 北京华捷艾米科技有限公司 一种图像缩放处理方法及装置
CN112037118A (zh) * 2020-07-16 2020-12-04 新大陆数字技术股份有限公司 图像缩放硬件加速方法、装置、系统及可读存储介质
CN112037118B (zh) * 2020-07-16 2024-02-02 新大陆数字技术股份有限公司 图像缩放硬件加速方法、装置、系统及可读存储介质
CN115330777A (zh) * 2022-10-13 2022-11-11 浙江华是科技股份有限公司 训练图片缩放尺寸船舶检测方法及系统

Also Published As

Publication number Publication date
CN102831576B (zh) 2014-09-24

Similar Documents

Publication Publication Date Title
CN102831576B (zh) 一种视频图像缩放方法及系统
CN105721791B (zh) 一种拼接显示屏的旋转显示方法及系统
CN104685538B (zh) 用于降低视频流中的噪声的系统和方法
CN100336076C (zh) 图像提供方法和设备
CN101465954B (zh) 一种对图像进行缩放的方法和装置
TWI773526B (zh) 影像處理方法、裝置、電腦設備及儲存媒體
US8818136B2 (en) Image interpolation method based on matrix and image processing system
CN103716606B (zh) 一种Bayer域图像下采样的方法、装置及摄像设备
OA10382A (en) Apparatus and method for decoding video images
CN101179671A (zh) 图像缩放装置和图像缩放方法
Gangwal et al. Real-time implementation of depth map post-processing for 3D-TV on a programmable DSP (TriMedia)
CN112037160B (zh) 图像处理方法、装置及设备
WO2023160426A1 (zh) 视频插帧方法、训练方法、装置和电子设备
CN105094289A (zh) 一种实现图形用户交互界面的方法、设备及系统
CN108805849B (zh) 图像融合方法、装置、介质及电子设备
CN108174084A (zh) 全景视频处理方法及终端设备
WO2021082300A1 (zh) 一种视频放大方法及其装置、电子设备和存储介质
CN1933550A (zh) 拜尔域信号的图像处理方法与模块
CN102073987A (zh) 一种yuv420图像转换成rgb565图像的方法和系统
US20150334295A1 (en) Dynamic Configured Video Camera
WO2024002064A1 (zh) 三维模型构建方法、装置、电子设备及存储介质
CN105160622B (zh) 基于fpga的图像超分辨率的实现方法
JP2004164560A (ja) 光マウスのイメージデータ処理方法
CN202309858U (zh) 一种非线性图像缩放装置
CN109388311A (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: 100191, Beijing, Xueyuan Road, Haidian District No. 51, the first 13 towers of science and Technology Building

Patentee after: Storm group Limited by Share Ltd

Address before: 100191, Beijing, Xueyuan Road, Haidian District No. 51, the first 13 towers of science and Technology Building

Patentee before: Beijing Baofeng Technology Co., Ltd.

PP01 Preservation of patent right

Effective date of registration: 20191018

Granted publication date: 20140924

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20211018

Granted publication date: 20140924

PD01 Discharge of preservation of patent
PP01 Preservation of patent right

Effective date of registration: 20211018

Granted publication date: 20140924

PP01 Preservation of patent right