一种针对转码视频源的去隔行方法及系统的制作方法

文档序号:7816427阅读:352来源:国知局
一种针对转码视频源的去隔行方法及系统的制作方法
【专利摘要】本发明公开一种针对转码视频源的去隔行方法及系统,本发明方法利用转码片源本身携带块的运动信息,获取视频图像的运动区域和静止区域,然后对运动区域采用帧内去隔行技术消除锯齿缺陷。此外,针对编码片源I帧编码质量影响后续帧间预测的特点,单独设计了场景切换帧的处理模式,可进一步提升隔行转码片源的编码质量。
【专利说明】一种针对转码视频源的去隔行方法及系统

【技术领域】
[0001] 本发明涉及视频编解码领域,尤其涉及一种针对转码视频源的去隔行方法及系 统。

【背景技术】
[0002] 传统的隔行显示转码片源,由于片源本身的行间闪烁、边缘锯齿等缺陷。如果直接 转码此类片源,不进行去隔行处理,转码器将会进一步放大视频的缺陷,从而产生更大的视 觉不舒适感,无法满足人们对视频的高质量压缩的要求。目前常用的去隔行技术主要分为 两大类:巾贞内去隔行和帧间去隔行。帧内去隔行技术,计算量小,可以去除边缘锯齿的问题, 但由于其只利用了帧内信息,所以无法消除行间闪烁的问题;帧间去隔行技术,则有虚影、 梳齿等问题,虽然转码原始码流携带运动信息,可以省去运动搜索的计算量。但通常编码器 都采用I帧盲设机制,即设置固定间隔的I帧,这就使得转码原始码流携带的运动信息并不 准确。


【发明内容】

[0003] 本发明实施例的目的在于提出针对转码视频源的去隔行方法,旨在解决现有技术 帧内去隔行技术无法消除行间闪烁、帧间去隔行技术则有虚影、梳齿以及转码原始码流携 带的运动信息不准确的问题。
[0004] 本发明实施例是这样实现的,一种针对转码视频源的去隔行方法,所述方法包括 以下步骤:
[0005] Stepl :判断当前巾贞是否为I巾贞,若是则进入Step2 ;否则进入Step4 ;
[0006] Step2 :判断当前巾贞是否为场景切换巾贞,若是,则令当前巾贞类别标识符note = 2,进 入Step5 ;否则进入Step3 ;
[0007] Step3 :判断当前帧的后一帧是否为场景切换帧,若是,则令note = 1,然后进入 Step5 ;否则令note = 0,然后进入Step5 ;
[0008] St印4:获取当前帧类别标识符;
[0009] Step5 :如果 note = 2,贝令 frame_p = framet+1、:frame_n = framet+2 ;
[0010] 如果 note = 1,贝[I令 frame_p = frames、:frame_n = framet_2 ;
[0011] 如果 note = 0,贝[I令 frame_p = frames、:frame_n = framet+1,
[0012] 其中,frame_p、frame_n分别表示第一辅助巾贞和第二辅助巾贞;framet_ 2、frame^、 framet+1、framet+2则分别表示当前帧在播放顺序上的前二帧、当前帧在播放顺序上的前一 帧、当前帧在播放顺序上的后一帧、当前帧在播放顺序上的后两帧;t为当前帧在该编码视 频源的播放序号;
[0013] St印6 :获取当前帧每一个基本块的隔行标识符;
[0014] Step7:根据当前帧每一个基本块的隔行标识符,对当前帧每一个基本块进行去隔 行处理;
[0015] Step8 :判断下一个帧是否存在,如果存在,则将下一个帧设置为当前帧,并令t = t+i,然后重新进入St印1 ;否则结束。
[0016] 进一步地,步骤Stepl之前还包括步骤:
[0017] StepO:判断转码片源的偶数帧的偶数行是否为采样行,若是,则令采样标识符 note_c = 0 ;否则,则令 note_c = 1。
[0018] 本发明实施例的另一目的在于提出一种针对转码视频源的去隔行系统,所述系统 包括:
[0019] 采样标识符设置模块,用于根据采样行判断模块的判断结果,当转码片源的偶数 中贞的偶数行是采样行,则令采样标识符note_c = 0 ;否则,则令note_c = 1 ;
[0020] I帧判断模块,用于判断当前帧为是否为I帧;若是,则通知第一场景切换帧判断 模块启动执行,若否,则通知帧类别标识符获取装置启动执行;
[0021] 第一场景切换帧判断模块,用于判断当前帧是否为场景切换帧,若是则进入第一 帧类别标识符设置模块,若否,则进入第二场景切换帧判断模块;
[0022] 第二场景切换帧判断模块,用于判断当前帧的后一帧是否为场景切换帧,进入第 二场景切换帧判断模块;
[0023] 帧类别标识符获取装置,用于获取当前帧类别标识符,进入辅助帧设置模块;
[0024] 第一帧类别标识符设置模块,用于根据第一场景切换帧判断模块的判断结果,若 当前帧为场景切换帧,则令当前帧类别标识符note = 2 ;并用于根据第二场景切换帧判断 模块的判断结果,若当前巾贞的后一巾贞为场景切换巾贞,则令note = 1,否则令note = 0 ;
[0025] 辅助巾贞设置模块,用于判断如果note = 2,则令frame_p = framet+1、frame_n = framet+2 ;如果 note = 1,则令 frame_p = frameH、frame_n = framet_2 ;如果 note = 0,则 令 frame_p = frameH、frame_n = framet+1,
[0026] 其中,frame_p、frame_n分别表示第一辅助巾贞和第二辅助巾贞;framet_ 2、frames、 framet+1、framet+2则分别表示当前帧在播放顺序上的前二帧、当前帧在播放顺序上的前一 帧、当前帧在播放顺序上的后一帧、当前帧在播放顺序上的后两帧;t为当前帧在该编码视 频源的播放序号;
[0027] 隔行标识符获取装置,用于获取当前帧每一个基本块的隔行标识符;
[0028] 隔行处理模块,用于根据当前帧每一个基本块的隔行标识符,对当前帧每一个基 本块进行去隔行处理;
[0029] 尾帧判断模块,用于判断下一个帧是否存在,如果存在,则将下一个帧设置为当前 帧,并令t = t+Ι,然后重新进入I帧判断模块;否则结束。
[0030] 进一步地,所述系统还包括包括:
[0031] 采样行判断模块,与采样标识符设置模块相连,用于判断转码片源的偶数帧的偶 数行是否采样行,并将判断结果发送给采样标识符设置模块。
[0032] 本发明的有益效果
[0033] 本发明提出一种针对转码视频源的去隔行方法及系统。本发明方法利用转码片源 本身携带块的运动信息,获取视频图像的运动区域和静止区域,然后对运动区域采用帧内 去隔行技术消除锯齿缺陷。此外,针对编码片源I帧编码质量影响后续帧间预测的特点,单 独设计了场景切换帧的处理模式,可进一步提升隔行转码片源的编码质量。

【专利附图】

【附图说明】
[0034] 图1是本发明优选实施例一种针对转码视频源的去隔行方法流程图;
[0035] 图2是图1方法中步骤Step2的方法流程图;
[0036] 图3是图1方法中步骤Step6的方法流程图;
[0037] 图4是本发明优选实施例一种针对转码视频源的去隔行系统结构图;
[0038] 图5是图4系统中帧类别标识符获取装置的结构图;
[0039] 图6是图4系统中隔行标识符获取装置的结构图。

【具体实施方式】
[0040] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对 本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理 解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
[0041] 本发明实施例方法提出一种针对转码视频源的去隔行方法及系统。本发明实施例 方法利用转码片源本身携带块的运动信息,获取视频图像的运动区域和静止区域,然后对 运动区域采用帧内去隔行技术消除锯齿缺陷。此外,针对编码片源I帧编码质量影响后续 帧间预测的特点,单独设计了场景切换帧的处理模式,可进一步提升隔行转码片源的编码 质量。
[0042] 实施例一
[0043] 图1是本发明优选实施例一种针对转码视频源的去隔行方法流程图;所述方法包 含以下步骤:
[0044] St印0 :如果转码片源的偶数帧的偶数行是采样行,则note_c = 0 ;否则,则note_ c = 1。其中,note_c为采样标识符。
[0045] Stepl :如果当前巾贞为I巾贞,贝U进入Step2 ;否则进入Step4。
[0046] Step2 :如果当前巾贞为场景切换巾贞,贝U令note = 2,进入Step5 ;否则进入Step3 ;其 中,当前帧是否为场景切换帧的判断方法,可以采用任何已公开的场景检测法。
[0047] Step3 :判断当前帧的后一帧是否为场景切换帧,若是,则令note = 1,然后进入 Step5 ;否则令note = 0,然后进入Step5。
[0048] St印4:获取当前帧类别标识符。
[0049] 具体包括以下步骤(图2是图1方法中步骤St印4的方法流程图):
[0050] St印41 :统计当前帧的广义I基本块数量。
[0051] 上述广义I基本块数量计算方法:

【权利要求】
1. 一种针对转码视频源的去隔行方法,其特征在于,所述方法包括以下步骤: Stepl :判断当前巾贞是否为I巾贞,若是则进入Step2 ;否则进入Step4 ; Step2 :判断当前帧是否为场景切换帧,若是,则令当前帧类别标识符note = 2,进入 Step5 ;否则进入Step3 ; Step3 :判断当前帧的后一帧是否为场景切换帧,若是,则令note = 1,然后进入 Step5 ;否则令note = 0,然后进入Step5 ; Step4:获取当前帧类别标识符; Step5 :如果 note = 2,则令 frame_p = framet+1、:frame_n = framet+2 ; 如果 note = 1,贝Ij令 frame_p = frames、:frame_n = framet_2 ; 如果 note = 0,贝Ij令 frame_p = frames、:frame_n = framet+1, 其中,frame_p、frame_n分别表示第一辅助巾贞和第二辅助巾贞;framet_2、frames、 framet+1、framet+2则分别表示当前帧在播放顺序上的前二帧、当前帧在播放顺序上的前一 帧、当前帧在播放顺序上的后一帧、当前帧在播放顺序上的后两帧;t为当前帧在该编码视 频源的播放序号; Step6 :获取当如巾贞每一个基本块的隔行标识符; Step7 :根据当前帧每一个基本块的隔行标识符,对当前帧每一个基本块进行去隔行处 理; Step8 :判断下一个帧是否存在,如果存在,则将下一个帧设置为当前帧,并令t = t+1, 然后重新进入St印1 ;否则结束。
2. 如权利要求1所述的针对转码视频源的去隔行方法,其特征在于,步骤Stepl之前还 包括步骤: StepO :判断转码片源的偶数帧的偶数行是否为采样行,若是,则令采样标识符note_c =〇 ;否则,贝1J$note_c = 1。
3. 如权利要求2所述的针对转码视频源的去隔行方法,其特征在于,所述步骤 St印4 "获取当前帧类别标识符"包括以下步骤: St印41 :统计当前帧的广义I基本块数量; St印42 :判断广义I基本块数量是否大于Thres4*K,若是,则当前帧为场景切换帧,令 note = 2,进入 Step5 ;否则进入 Step43, 其中,Thres4为第四判定阈值,0. 8彡Thres4彡I ;K表示当前帧包括的基本块个数; St印43 :统计当前帧在播放顺序上的下一帧的广义I基本块数量; Step44 :如果当前巾贞在播放顺序上的下一巾贞的广义I基本块数量大于Thres4*K,则当 前中贞在播放顺序上的下一巾贞为场景切换巾贞,令note = 1,进入Step5 ;否则,note = 0,进入 Step5〇
4. 如权利要求3所述的针对转码视频源的去隔行方法,其特征在于,所述步骤 Step41 "统计当前帧的广义I基本块数量"具体为: number; = sum(sign(Blocki、1))其中,
其中,sum(变量)表示对变量求和;基本块表示当前编码参数允许的最大块,基本子块 表示尺寸小于基本块的块;Wockk表示当前帧的第k个基本块;k表示基本块在当前编码帧 中的位置序号;/〃〃〃心〃/表示当前巾贞广义I基本块数量。
5. 如权利要求2所述的针对转码视频源的去隔行方法,其特征在于,所述步骤 Step6 "获取当前帧每一个基本块的隔行标识符"具体包括以下步骤: Step60 :如果 note = 0,则进入 Step61 ;否则,进入 Step63 ; Step61 :计算当前编码巾贞每一个基本块的运动参数pO ; Step62 :判断如果pO〈Thres5,则令notek = 1,然后进入Step7 ;否则令notek = 0,然 后进入Step7, 其中,Thres5为第五判定阈值,0〈Thres5 < 16,notek表不当前巾贞第k个基本块的隔行 标识符; Step63 :计算每一个基本块的亮度预判参数; Step64 :根据基本块的亮度预判参数,计算每一个基本块的亮度预判值。
6. 如权利要求5所述的针对转码视频源的去隔行方法,其特征在于, 所述"计算当前编码帧每一个基本块的运动参数"具体为: pO = max ((I mvxJ,I mvyJ ) I sub_blockm G blockk) 其中,max (变量I条件)表示对满足条件的变量求最大值;sub_blockm表示当前巾贞的 第k个基本块的第m个基本子块;I mvxm I,I mvym I分别sub_blockm在X轴上运动矢量的绝对 值、sub_blockm在y轴上运动矢量的绝对值; 所述"计算每一个基本块的亮度预判参数"具体为: 如果t% 2 = note_c,则下面所有的相关公式要求i均为偶数;否则,则下面所有的相 关公式要求i均为奇数, pi = std(y(i, j) |y(i, j) G blockk)
其中,blockk、block_nk分别表示当前巾贞的第k个基本块、第二辅助巾贞的第k个基本块; pi、p2、p3、p4分别表示当前帧第k个基本块的第一亮度预判参数、第二亮度预判参数、第三 亮度预判参数、第四亮度预判参数;y(i,j)、y(i+2, j)、y_n(i+l, j)分别表示当前巾贞第i行 第j列亮度值、当前帧第i+2行第j列亮度值、第二辅助帧第i+1行第j列亮度值;std (表 达式I条件)表示对满足条件的表达式进行求均方差;
(表达式)则表示对满足条件 的表达式进行求均值运算; 所述"根据基本块的亮度预判参数,计算每一个基本块的亮度预判值"具体为: 如果 p3+Thresl〈p2 且 pl〈Thres2*p3 且 p4〈Thres3,则令 notek = 1 ;否则令 notek = 0, 其中,notek表示当前巾贞第k个基本块的隔行标识符;Thresl、Thres2、Thres3分别 表不第一判定阈值、第二判定阈值、第三判定阈值,〇 < Thresl < n、0. 2 < Thres2 < 5、 I < Thres3 < n*n* (60/fps) ;n表示基本块的一行或者一列亮度像素点个数,fps为编码片 源采样帧率。
7. -种针对转码视频源的去隔行系统,其特征在于,所述系统包括: 采样标识符设置模块,用于根据采样行判断模块的判断结果,当转码片源的偶数帧的 偶数行是采样行,则令采样标识符note_c = O ;否则,则令note_c = 1 ; I帧判断模块,用于判断当前帧为是否为I帧;若是,则通知第一场景切换帧判断模块 启动执行,若否,则通知帧类别标识符获取装置启动执行; 第一场景切换帧判断模块,用于判断当前帧是否为场景切换帧,若是则进入第一帧类 别标识符设置模块,若否,则进入第二场景切换帧判断模块; 第二场景切换帧判断模块,用于判断当前帧的后一帧是否为场景切换帧,进入第二场 景切换帧判断模块; 帧类别标识符获取装置,用于获取当前帧类别标识符,进入辅助帧设置模块; 第一帧类别标识符设置模块,用于根据第一场景切换帧判断模块的判断结果,若当前 帧为场景切换帧,则令当前帧类别标识符note = 2 ;并用于根据第二场景切换帧判断模块 的判断结果,若当前巾贞的后一巾贞为场景切换巾贞,则令note = 1,否则令note = 0 ; 辅助巾贞设置模块,用于判断如果note = 2,则令frame_p = framet+1、:frame_n = framet+2 ;如果 note = 1,则令 frame_p = frameH、frame_n = framet_2 ;如果 note = 0,则 令 frame_p = frameH、frame_n = framet+1, 其中,frame_p、frame_n分别表示第一辅助巾贞和第二辅助巾贞;framet_2、frames、 framet+1、framet+2则分别表示当前帧在播放顺序上的前二帧、当前帧在播放顺序上的前一 帧、当前帧在播放顺序上的后一帧、当前帧在播放顺序上的后两帧;t为当前帧在该编码视 频源的播放序号; 隔行标识符获取装置,用于获取当前帧每一个基本块的隔行标识符; 隔行处理模块,用于根据当前帧每一个基本块的隔行标识符,对当前帧每一个基本块 进行去隔行处理; 尾帧判断模块,用于判断下一个帧是否存在,如果存在,则将下一个帧设置为当前帧, 并令t = t+1,然后重新进入I帧判断模块;否则结束。
8. 如权利要求7所述的针对转码视频源的去隔行系统,其特征在于,所述系统还包括 包括: 采样行判断模块,与采样标识符设置模块相连,用于判断转码片源的偶数帧的偶数行 是否采样行,并将判断结果发送给采样标识符设置模块。
9. 如权利要求8所述的针对转码视频源的去隔行系统,其特征在于, 所述帧类别标识符获取装置还包括: 第一广义I基本块数量统计模块,用于统计当前帧的广义I基本块数量。 第一广义I基本块数量判断模块,用于判断如果广义I基本块数量大于Thres4*K,则确 认当前帧为场景切换帧,进入第二帧类别标识符设置模块;否则进入第二广义I基本块数 量统计模块; 第二广义I基本块数量统计模块,用于统计当前帧在播放顺序上的下一帧的广义I基 本块数量; 第二广义I基本块数量判断模块,用于判断是否当前帧在播放顺序上的下一帧的广 义I基本块数量大于Thres4*K,并将判断结果发送给第二帧类别标识符设置模块;其中, Thres4为第四判定阈值,0. 8 < Thres4 < I ;K表示当前帧包括的基本块个数; 第二帧类别标识符设置模块,用于根据第二广义I基本块数量判断模块发送的判断结 果,当前帧在播放顺序上的下一帧的广义I基本块数量大于Thres4*K,则确认当前帧在播 放顺序上的下一帧为场景切换帧,令note = 1,进入辅助帧设置模块;否则,令note = 0,进 入辅助帧设置模块;并用于根据第一广义I基本块数量判断模块的判断结果,如果广义I基 本块数量大于Thres4*K,则确认当前帧为场景切换帧,令note = 2,进入辅助帧设置模块。
10.如权利要求8所述的针对转码视频源的去隔行系统,其特征在于, 所述隔行标识符获取装置还包括: 帧类别标识符判断模块,用于判断是否note = 0,若是,则进入基本块的运动参数计算 模块,否则进入基本块亮度预判参数计算模块; 基本块的运动参数计算模块,用于计算当前编码帧每一个基本块的运动参数P〇 ; 基本块运动参数阈值判断模块,用于判断是否P〇〈Thres5,将判断结果发送给基本块 隔行标识符设置模块;其中,Thres5为第五判定阈值,0〈Thres5 < 16 ; 基本块隔行标识符设置模块,用于根据基本块运动参数阈值判断模块的判断结果,当 pO〈Thres5时,令notek = 1,进入隔行处理模块;否则令notek = 0,进入隔行处理模块; Iiotek表示当前帧第k个基本块的隔行标识符; 基本块亮度预判参数计算模块,用于计算每一个基本块的亮度预判参数; 基本块亮度预判值计算模块,用于根据基本块的亮度预判参数,计算每一个基本块的 亮度预判值。
【文档编号】H04N5/14GK104333726SQ201410529578
【公开日】2015年2月4日 申请日期:2014年10月9日 优先权日:2014年10月9日
【发明者】马国强 申请人:深圳市云宙多媒体技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1