CN103763501B - 一种自适应视频反交错算法及其装置 - Google Patents

一种自适应视频反交错算法及其装置 Download PDF

Info

Publication number
CN103763501B
CN103763501B CN201410015813.8A CN201410015813A CN103763501B CN 103763501 B CN103763501 B CN 103763501B CN 201410015813 A CN201410015813 A CN 201410015813A CN 103763501 B CN103763501 B CN 103763501B
Authority
CN
China
Prior art keywords
pixel
frame
fritter
sawtooth
staggered
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
CN201410015813.8A
Other languages
English (en)
Other versions
CN103763501A (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.)
Alibaba China Co Ltd
Youku Network Technology Beijing Co Ltd
Original Assignee
1Verge Internet Technology Beijing 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 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201410015813.8A priority Critical patent/CN103763501B/zh
Publication of CN103763501A publication Critical patent/CN103763501A/zh
Application granted granted Critical
Publication of CN103763501B publication Critical patent/CN103763501B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Television Systems (AREA)

Abstract

一种自适应视频反交错方法及装置,首先对于每一个需要播放或编码的视频,根据视频每一帧的内容,分析出该帧是否有交错锯齿,在有交错锯齿时,将画面划分为一些相互重叠的小块,通过检测这些小块的前后帧间像素以及帧内隔行像素的差值来检测该小块的交错锯齿情况,检测出交错锯齿后,再应用反交错的插值算法,去除交错锯齿,改善画质。本发明使得视频反交错处理智能化,在交错锯齿被去除的同时,基本没有可觉察的画质下降,改善了隔行采集设备所产生的交织锯齿视频在逐行显示设备,比如电脑,手机等设备,上观看视频的画质,提升了用户体验。

Description

一种自适应视频反交错算法及其装置
技术领域
本发明涉及视频交错锯齿处理领域,特别的,本发明涉及一种自适应视频反交错算法及其装置
背景技术
当前很多采集与摄像设备拍摄的视频都还是隔行扫描的,这些隔行扫描的视频,在逐行扫描显示设备上(比如电脑显示器或是移动设备屏幕)显示时,会由于采集和显示的扫描方式不同,而在显示画面上产生令人不悦的锯齿。如何有效的去除画面中的锯齿,而尽量减少对画面清晰度的影响,是视频处理领域一项重要的技术。
现有技术主要有三种方式去除视频交错锯齿。
第一种方法不分析视频内容,而采用统一的插值方法,用视频一帧内两场的信息,来得到新的一帧的画面,该类方法一般能较好的处理掉交错锯齿,但是也会使视频清晰度变差,画面模糊,细节丢失。
第二种方法是基于运动检测的方法,主要是通过将视频帧的信息通过算法划分为运动部分和非运动部分,然后对运动部分采用和第一种类似的插值算法,非运动部分不做处理,该类算法,对非运动画面区域很好的保留了细节,对运动部分则去除了锯齿,总体上好于第一类算法;但该类算法也存在两个问题,第一,容易将运动但是没有锯齿的部分视频做了去交错,导致画质下降;第二,有些边缘较小的锯齿被划归了静态区域,没有做去交错的插值,导致锯齿去除不干净。
第三类方法主要是运动补偿方法,该方法的也能较好的去除交错锯齿,对画质的影响也比第一类要好;但是目前也存在一些问题,主要也有两方面,首先是计算量太大,其次就是有时候运动估计算法不够好,会导致画面走样。
因此,现有技术中对于视频锯齿的处理算法,主要有这几方面的问题:1.在一个视频中不能逐帧检测每一帧是否需要做反交错,导致一些不需要做反交错的画面帧也做了处理,而引起该帧一些细节被去除,画质下降;2.在做反交错时,没有将整个视频帧画面划分为有交错锯齿和无交错锯齿的部分而对整幅画面帧做反交错,这也导致没有交错锯齿部分的画面细节丢失,画质下降;3.有些算法虽然也对画面中的有交错锯齿部分和无交错锯齿部分进行了算法区分,但是所用方法的各种原因,也容易导致一些交错锯齿的漏检和错检。
因此,现有技术中的上述问题成为亟需解决的技术问题。
发明内容
本发明的目的在于提出一种自适应的视频反交错方法及其装置,使得视频反交错处理智能化,在交错锯齿被去除的同时,基本没有可觉察的画质下降。
为达此目的,本发明采用以下技术方案:
一种自适应的视频反交错方法,包括如下步骤:
帧数据缓存步骤:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,进入帧交错锯齿检测步骤;
帧交错锯齿检测步骤:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则进入帧像素小块分割步骤,如果不存在交错锯齿,则保留该帧,进入帧输出步骤;
帧像素小块分割步骤:将当前帧分割为互不重叠的8x8像素小块,进入首帧判断步骤;
首帧判断步骤:判断当前帧是否为首帧,如果不是,则进入运动像素小块检测步骤,如果是,则进入像素小块交错锯齿检测步骤;
运动像素小块检测步骤:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则进入场合并线性混合计算步骤,否则,进入像素小块交错锯齿检测步骤;
像素小块交错锯齿检测步骤:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则进入场合并线性混合计算步骤,如果不存在交错锯齿,则进入最后像素小块判断步骤;
场合并线性混合计算步骤:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并进入最后像素小块判断步骤;
最后像素小块判断步骤,判断当前的像素小块是否为最后的像素小块,如果是,则进入帧输出步骤,否则,递进到下一个像素小块,并进入首帧判断步骤;
帧输出步骤:将最后得到的帧输出;
其中,所述交错锯齿检测算法为:设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替,
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ   公式(1)
之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else   公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,
当用于一帧是否存在交错锯齿的检测时,σ和Γ取较大的值,当用于检测某个8x8像素小块是否存在交错锯齿时,σ和Γ取较小的值;
所述场合并线性混合算法为:
设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8,公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
优选地,当用于一帧是否存在交错锯齿的检测时,σ=16,Γ=24,当用于检测某个8x8像素小块是否存在交错锯齿时,σ=6,Γ=15。
优选地,运动像素小块检测步骤具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ=512,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
本发明还公开了一种自适应的视频反交错装置,包括如下单元:
帧数据缓存单元:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,运行帧交错锯齿检测单元;
帧交错锯齿检测单元:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则运行帧像素小块分割单元,如果不存在交错锯齿,则保留该帧,运行帧输出单元;
帧像素小块分割单元:将当前帧分割为互不重叠的8x8像素小块,运行首帧判断单元;
首帧判断单元:判断当前帧是否为首帧,如果不是,则运行运动像素小块检测单元,如果是,则运行像素小块交错锯齿检测单元;
运动像素小块检测单元:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则运行场合并线性混合计算单元,否则,运行像素小块交错锯齿检测单元;
像素小块交错锯齿检测单元:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则运行场合并线性混合计算单元,如果不存在交错锯齿,则运行最后像素小块判断单元;
场合并线性混合计算单元:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并运行最后像素小块判断单元;
最后像素小块判断单元,判断当前的像素小块是否为最后的像素小块,如果是,则运行帧输出单元,否则,递进到下一个像素小块,并运行首帧判断单元;
帧输出单元:将最后得到的帧输出;
其中,所述交错锯齿检测算法为:设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替,
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ   公式(1)
之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else   公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,
当用于一帧是否存在交错锯齿的检测时,σ和Γ取较大的值,当用于检测某个8x8像素小块是否存在交错锯齿时,σ和Γ取较小的值;
所述场合并线性混合算法为:设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8,公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
优选地,在交错锯齿检测算法中,当用于一帧是否存在交错锯齿的检测时,σ=16,Γ=24,当用于检测某个8x8像素小块是否存在交错锯齿时,σ=6,Γ=15。
优选地,运动像素小块检测单元具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ=512,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
本发明针对现有技术的的缺陷,做了如下的改进。第一,区分视频每帧画面是否有锯齿,从而将整个视频划分为有去交错锯齿的帧和没有交错锯齿的帧,对没有交错锯齿的帧,不需要做插值计算,细节也得到了保留;第二,对于存在交错锯齿的帧,将视频画面划分为相互重叠的小块,通过前后帧像素在相同小块内的变化来检测该小块区域是否为运动,再通过该小块内两场像素的差值规律来判别是否有交错锯齿,结合两方面来决定是否需要做去交错锯齿插值;第三,画面划分为相互重叠的小块能大幅减少运动与交错锯齿的误检和漏检;第四,由于前两步已经将视频画面做了较好的分类,最后归入需要做交错锯齿插值的画面区域会很少,对于这部分区域,用场合并线性混合算法来改善整个视频的画质,场合并线性混合算法去除交错锯齿比较干净同时便于后续编码压缩。
附图说明
图1是根据本发明的具体实施例的自适应的视频反交错方法的流程图;
图2是根据本发明的具体实施例的自适应的视频反交错装置的系统框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
本发明智能化地分析待播出视频,具体包括:A.对于每一个需要播放或编码的视频,根据视频每一帧的内容,分析出该帧是否有交错锯齿;B.在有交错锯齿时,将画面划分为一些相互重叠的小块,通过检测这些小块的前后帧间像素以及帧内隔行像素的差值来检测该小块的交错锯齿情况,即分别进行运动像素小块检测或者像素小块交错锯齿检测来检测交错锯齿情况;C.检测出交错锯齿后,再应用反交错的插值算法,去除交错锯齿,改善画质。
具体而言,参见图1,公开了根据本发明的具体实施例的自适应的视频反交错方法的流程图,包括如下步骤:
帧数据缓存步骤S110:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,进入帧交错锯齿检测步骤S120;
帧交错锯齿检测步骤S120:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则进入帧像素小块分割步骤S130,如果不存在交错锯齿,则保留该帧,进入帧输出步骤S190;
帧像素小块分割步骤S130:将当前帧分割为互不重叠的8x8像素小块,进入首帧判断步骤S140;
首帧判断步骤S140:判断当前帧是否为首帧,如果不是,则进入运动像素小块检测步骤S150,如果是,则进入像素小块交错锯齿检测步骤S160;
运动像素小块检测步骤S150:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方面的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则进入场合并线性混合计算步骤S170,否则,进入像素小块交错锯齿检测步骤S160;
像素小块交错锯齿检测步骤S160:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则进入场合并线性混合计算步骤S170,如果不存在交错锯齿,则进入最后像素小块判断步骤S180;
场合并线性混合计算步骤S170:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并进入最后像素小块判断步骤S180;
最后像素小块判断步骤S180,判断当前的像素小块是否为最后的像素小块,如果是,则进入帧输出步骤S190,否则,递进到下一个像素小块,并进入首帧判断步骤S140;
帧输出步骤S190:将最后得到的帧输出。
因此,本发明的方案,区分了每帧的画面,将整个视频划分为有交错锯齿的帧和没有交错锯齿的帧,对没有交错锯齿的帧,不需要做插值计算,细节也得到了保留,对于有交错锯齿的帧,结合运动检测和交错锯齿检测算法来分类一帧视频画面的不同区域,将视频帧重叠块划分方法应用到运动检测和交错锯齿检测上,将场合并线性混合算法结合多项检测算法自适应的应用于帧内像素小块的去交错锯齿。
优选的,在帧交错锯齿检测步骤S120和像素小块交错锯齿检测算法S160中的交错锯齿检测算法为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ   公式(1)
当用于一帧是否存在交错锯齿的检测时σ取较大的值,例如,可以为经验值16,当用于检测某个8x8像素小块是否存在交错锯齿时σ取较小的值,例如,可以为比如经验值6;之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else   公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,与σ相似当,用于一帧是否存在交错锯齿的检测时Γ取较大的值,例如,可以为经验值24,当用于检测某个8x8像素小块是否存在交错锯齿时Γ取较小的值例如,可以为经验值15;如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替。
其中,在场合并线性混合计算步骤S170的场合并线性混合算法为:
设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8。公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
其中,运动像素小块检测步骤S150具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ为512。如果某个方面的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
实施例1:
对于第1帧,
第一步,首先把1280x720的像素点分割成互不重叠的14400(注:14400=1280x720/64)个8x8小的像素块,然后按照交错锯齿检测算法逐个处理每个像素小块来检测该帧是否为交错锯齿帧,由于是用于帧是否存在交错锯齿的检测,σ=16,Γ=24,检测完所有像素小块都没发现交错锯齿,则判定为不存在交错锯齿;
第二步,此帧直接输出原视频,不做处理,结束该帧处理。
实施例2:
对于第30帧,
第一步,缓存第29帧和30帧的视频数据;
第二步,首先把1280x720的像素点分割成互不重叠的14400个8x8小的像素块,进行帧交错锯齿检测,按照交错锯齿检测算法逐个处理每个像素小块,由于是用于帧是否存在交错锯齿的检测,σ=16,Γ=24,发现直到第1230个小块才发现交错锯齿,立刻停止其他后续小块的处理,判定该帧为有交错锯齿帧;
第三步,将当前帧分割为互不重叠的8x8像素小块,判断当前帧不是首帧,进行运动像素小块判断,一直没检测到像素小块是运动的,随之进行像素小块交错锯齿检测,其中,σ=6,Γ=15,直到第603个像素小块都没有检测到像素小块的运动,也没有检测到像素小块内锯齿;把这些像素小块的像素信息不做处理,用于直接输出;
第四步,继续处理第604个8x8像素小块时,进行运动像素小块判断发现第604个小块存在运动,于是用场合并线性混合算法产生插值的结果,输出插值结果,用于输出;
第五步,继续处理后续每一个8x8像素小块,进行运动像素小块判断,一直没检测到像素小块是运动的,随之进行像素小块交错锯齿检测,直到第910个像素小块都没有检测到像素小块的运动,也没有检测到像素小块内锯齿;把这些像素小块的像素信息不做处理,用于直接输出;
第六步,继续处理第911个8x8像素小块时,进行运动像素小块判断发现第911个像素小块不存在运动,随之进行像素小块交错锯齿检测,发现此像素小块存在交错锯齿,于是用场合并线性混合算法产生插值的结果,输出插值结果,用于输出;
如此循环,直到处理完第30帧的所有像素小块,结束该帧处理,最后将该帧输出。
按照实例1和实例2所介绍的方法处理所有这100帧,完成整个视频的处理。
本发明还公开了一种自适应视频反交错装置,包括如下单元:
帧数据缓存单元210:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,运行帧交错锯齿检测单元220;
帧交错锯齿检测单元220:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则运行帧像素小块分割单元230,如果不存在交错锯齿,则保留该帧,运行帧输出单元290;
帧像素小块分割单元230:将当前帧分割为互不重叠的8x8像素小块,运行首帧判断单元240;
首帧判断单元240:判断当前帧是否为首帧,如果不是,则运行运动像素小块检测单元250,如果是,则运行像素小块交错锯齿检测单元260;
运动像素小块检测单元250:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方面的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则运行场合并线性混合计算单元270,否则,运行像素小块交错锯齿检测单元260;
像素小块交错锯齿检测单元260:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则运行场合并线性混合计算单元270,如果不存在交错锯齿,则运行最后像素小块判断单元280;
场合并线性混合计算单元270:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并运行最后像素小块判断单元280;
最后像素小块判断单元280,判断当前的像素小块是否为最后的像素小块,如果是,则运行帧输出单元290,否则,递进到下一个像素小块,并运行首帧判断单元240;
帧输出单元290:将最后得到的帧输出。
特别的,所述交错锯齿检测算法为:设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替,
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ   公式(1)
之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else   公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,
当用于一帧是否存在交错锯齿的检测时,σ和Γ取较大的值,当用于检测某个8x8像素小块是否存在交错锯齿时,σ和Γ取较小的值。
特别的,在交错锯齿检测算法中,当用于一帧是否存在交错锯齿的检测时,σ=16,Γ=24,当用于检测某个8x8像素小块是否存在交错锯齿时,σ=6,Γ=15。
特别的,所述场合并线性混合算法为:设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8。公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
特别的,运动像素小块检测单元具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ=512,如果某个方面的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
本发明改善了隔行采集设备所产生的交织锯齿视频在逐行显示设备(比如电脑,手机等设备)上观看视频的画质,提升了用户体验。
显然,本领域技术人员应该明白,上述的本发明的各单元或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定保护范围。

Claims (6)

1.一种自适应的视频反交错方法,包括如下步骤:
帧数据缓存步骤:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,进入帧交错锯齿检测步骤;
帧交错锯齿检测步骤:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则进入帧像素小块分割步骤,如果不存在交错锯齿,则保留该帧,进入帧输出步骤;
帧像素小块分割步骤:将当前帧分割为互不重叠的8x8像素小块,进入首帧判断步骤;
首帧判断步骤:判断当前帧是否为首帧,如果不是,则进入运动像素小块检测步骤,如果是,则进入像素小块交错锯齿检测步骤;
运动像素小块检测步骤:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则进入场合并线性混合计算步骤,否则,进入像素小块交错锯齿检测步骤;
像素小块交错锯齿检测步骤:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则进入场合并线性混合计算步骤,如果不存在交错锯齿,则进入最后像素小块判断步骤;
场合并线性混合计算步骤:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并进入最后像素小块判断步骤;
最后像素小块判断步骤,判断当前的像素小块是否为最后的像素小块,如果是,则进入帧输出步骤,否则,递进到下一个像素小块,并进入首帧判断步骤;
帧输出步骤:将最后得到的帧输出;
其中,所述交错锯齿检测算法为:设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替,
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ 公式(1)
之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else 公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,
当用于一帧是否存在交错锯齿的检测时,σ和Γ取较大的值,当用于检测某个8x8像素小块是否存在交错锯齿时,σ和Γ取较小的值;
所述场合并线性混合算法为:
设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8,公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
2.根据权利要求1所述的自适应的视频反交错方法,其特征在于:
当用于一帧是否存在交错锯齿的检测时,σ=16,Γ=24,当用于检测某个8x8像素小块是否存在交错锯齿时,σ=6,Γ=15。
3.根据权利要求1所述的自适应的视频反交错方法,其特征在于:
运动像素小块检测步骤具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ=512,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
4.一种自适应的视频反交错装置,包括如下单元:
帧数据缓存单元:缓存视频须处理的当前帧的帧数据,如果当前帧不是视频的首帧,还缓存前一帧的帧数据,运行帧交错锯齿检测单元;
帧交错锯齿检测单元:利用交错锯齿检测算法检测当前帧的帧内容是否有交错锯齿,如果存在交错锯齿,则运行帧像素小块分割单元,如果不存在交错锯齿,则保留该帧,运行帧输出单元;
帧像素小块分割单元:将当前帧分割为互不重叠的8x8像素小块,运行首帧判断单元;
首帧判断单元:判断当前帧是否为首帧,如果不是,则运行运动像素小块检测单元,如果是,则运行像素小块交错锯齿检测单元;
运动像素小块检测单元:将每个像素小块向上下左右方向各扩展4个像素,原来的8x8像素小块变为了相互重叠的16x16像素小块,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替,利用当前帧的16x16小块的像素值减去前一帧对应位置的16x16小块像素值,判断像素差的绝对值的和是否超过设定阈值来决定当前8x8像素小块是运动还是静止的,如果超过阈值则是运动的,如果像素小块是运动的,则运行场合并线性混合计算单元,否则,运行像素小块交错锯齿检测单元;
像素小块交错锯齿检测单元:利用交错锯齿检测算法检测当前像素小块是否有交错锯齿,如果存在交错锯齿,则运行场合并线性混合计算单元,如果不存在交错锯齿,则运行最后像素小块判断单元;
场合并线性混合计算单元:利用场合并线性混合算法处理当前像素小块,得到新的像素小块,并运行最后像素小块判断单元;
最后像素小块判断单元,判断当前的像素小块是否为最后的像素小块,如果是,则运行帧输出单元,否则,递进到下一个像素小块,并运行首帧判断单元;
帧输出单元:将最后得到的帧输出;
其中,所述交错锯齿检测算法为:设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),对于每一个像素位置利用公式(1)计算Fi,j(i=1~8,j=1~8),如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素块最上面一行或最底下一行的像素点来代替,
F i , j = 1 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) > σ 0 ( P i , j - P i - 1 , j ) × ( P i , j - P i + 1 , j ) ≤ σ 公式(1)
之后利用Fi,j,通过公式(2)计算Ci,j(i=1~6,j=1~6),
C i , j = 1 F i - 1 , j = 1 , F i , j = 1 , F i + 1 , j = 1 0 else 公式(2)
最后通过是否成立来判定是否存在交错锯齿,当成立时,判定为存在交错锯齿,否则不存在交错锯齿,
当用于一帧是否存在交错锯齿的检测时,σ和Γ取较大的值,当用于检测某个8x8像素小块是否存在交错锯齿时,σ和Γ取较小的值;
所述场合并线性混合算法为:设当前需要处理的帧的某个8x8像素小块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它的上面一行对应位置像素值为P0,j(j=1~8),它的底下一行对应位置的像素值为P9,j(j=1~8),利用公式(3)计算新的8x8像素块的插值结果为Qi,j(i=1~8,j=1~8),
Qi,j=(Pi-1,j+2*Pi,j+Pi+1,j+2)/4,这里有i=1~8,j=1~8,公式(3),
如果上面一行或底下一行的像素不存在,那么就分别用这个8x8像素小块最上面一行或最底下一行的像素点来代替。
5.根据权利要求4所述的自适应的视频反交错装置,其特征在于:
在交错锯齿检测算法中,当用于一帧是否存在交错锯齿的检测时,σ=16,Γ=24,当用于检测某个8x8像素小块是否存在交错锯齿时,σ=6,Γ=15。
6.根据权利要求4所述的自适应的视频反交错装置,其特征在于:
运动像素小块检测单元具体为:
设当前需要处理的帧的某个8x8像素块的对应位置的像素值分别为Pi,j(i=1~8,j=1~8),它向上下左右4个方向分别扩展4个像素,得到Ni,j(i=1~16,j=1~16),对于每一个Ni,j,在视频的前一帧的相同位置的像素值设为N* i,j,最后通过是否成立来判定当前8x8像素块是否存在运动,当成立时,判定为存在运动;否则为不存在运动,ψ=512,如果某个方向的扩展像素不在当前的帧的有效范围内,就用帧边界上离这些扩展点最近的像素点来代替。
CN201410015813.8A 2014-01-14 2014-01-14 一种自适应视频反交错算法及其装置 Expired - Fee Related CN103763501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410015813.8A CN103763501B (zh) 2014-01-14 2014-01-14 一种自适应视频反交错算法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410015813.8A CN103763501B (zh) 2014-01-14 2014-01-14 一种自适应视频反交错算法及其装置

Publications (2)

Publication Number Publication Date
CN103763501A CN103763501A (zh) 2014-04-30
CN103763501B true CN103763501B (zh) 2015-09-23

Family

ID=50530652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410015813.8A Expired - Fee Related CN103763501B (zh) 2014-01-14 2014-01-14 一种自适应视频反交错算法及其装置

Country Status (1)

Country Link
CN (1) CN103763501B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108495073B (zh) * 2018-03-29 2020-11-06 瑞芯微电子股份有限公司 一种视频图像帧场检测方法、存储介质及计算机
CN111885335B (zh) * 2020-06-19 2022-03-29 成都东方盛行电子有限责任公司 一种超高清下变换渲染方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020027610A1 (en) * 2000-03-27 2002-03-07 Hong Jiang Method and apparatus for de-interlacing video images
CN101106685B (zh) * 2007-08-31 2010-06-02 湖北科创高新网络视频股份有限公司 一种基于运动检测的去隔行方法和装置
CN101483713A (zh) * 2009-01-16 2009-07-15 西安电子科技大学 基于运动目标的反交错方法
JP5300607B2 (ja) * 2009-06-05 2013-09-25 キヤノン株式会社 映像処理装置及びその制御方法
CN102611829B (zh) * 2012-02-03 2014-09-24 安徽云森物联网科技有限公司 一种基于块分割的图像去交织方法

Also Published As

Publication number Publication date
CN103763501A (zh) 2014-04-30

Similar Documents

Publication Publication Date Title
US9167232B2 (en) System for converting 2D video into 3D video
CN100571333C (zh) 一种视频图像处理的方法及其装置
US20120293615A1 (en) Real-time depth-aware image enhancement system
US8243194B2 (en) Method and apparatus for frame interpolation
KR20070116717A (ko) 압축된 디지털 이미지의 mpeg 노이즈 강도 측정 방법및 장치
CN104135597A (zh) 一种视频抖动自动检测方法
CN103763501B (zh) 一种自适应视频反交错算法及其装置
EP2330818A1 (en) Frame rate converting apparatus and corresponding point estimating apparatus, corresponding point estimating method and corresponding point estimating program
CN102509311B (zh) 运动检测方法和装置
EP1863283A1 (en) A method and apparatus for frame interpolation
US20090180670A1 (en) Blocker image identification apparatus and method
KR100510671B1 (ko) 인터레이스 영상에서의 동일 프레임 검출 장치
US9584807B2 (en) Method and apparatus for motion estimation in a video system
CN108810601B (zh) 运动字幕解交织方法、系统、移动终端及可读存储介质
CN106101485B (zh) 一种基于反馈的前景轨迹判定方法和装置
US8902358B1 (en) Method and apparatus for performing robust cadence detection in a video deinterlacer
CN101399950A (zh) 一种基于图像轮廓匹配的帧频加倍的方法
KR101267279B1 (ko) 영상에서 비를 제거하기 위한 영상 처리 장치 및 방법
US20180091808A1 (en) Apparatus and method for analyzing pictures for video compression with content-adaptive resolution
KR20070026638A (ko) 블럭 기반 이미지 처리를 위한 방법 및 전자 디바이스
WO2017101348A1 (zh) 一种隔行视频的去隔行方法及装置
KR101359351B1 (ko) 연산 스킵 기법에 의한 고속 스테레오 영상 정합 방법
KR20070035800A (ko) 인접 화소의 기울기를 이용한 영상 잡음 제거 장치 및 방법
EP2400740A2 (en) Method and device for estimating motion vectors for frame interpolation
CN115035151B (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee after: Youku network technology (Beijing) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: 1VERGE INTERNET TECHNOLOGY (BEIJING) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200324

Address after: 310026 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: Youku network technology (Beijing) Co.,Ltd.

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

Granted publication date: 20150923

Termination date: 20210114