一种视频传输的差错控制方法及系统的制作方法

文档序号:7754770阅读:163来源:国知局
专利名称:一种视频传输的差错控制方法及系统的制作方法
技术领域
本发明涉及视频传输差错控制技术,具体的说涉及一种视频传输的差错控制方法 及系统。
背景技术
随着多媒体、网络技术及移动通信技术的迅速发展,移动终端,例如手机的视频传 输等大容量传输应用成了必然的趋势。但是在无线移动网络信道中,误码的产生、数据的丢 失总是难以避免。而且压缩后的视频数据对码元错误非常敏感,少量码元的错误就可能导 致大批码元无法正确解码。进而导致手机终端重建图像质量严重下降,甚至无法重建图像。 因而,对误码进行错误控制成为手机视频通信中的一个重要技术,也是当前研究的热点方 向之一。在一些特殊应用场合,如实时手机视频业务或手机视频广播(手机电视业务),当 视频传输错误发生(数据丢失)时,由于不能接受重传的时间延迟,或者没有反向控制信 道,不能通过自动请求重传(ARQ)重新传输错误的视频数据,则只能采取手机解码端的误 码掩盖尽量减小错误对当前帧和后续帧的影响。手机终端的误码掩盖技术的出发点是利用手机视频信号中的空域和时域的冗余 信息,当传输错误发生时,接收端可以参考已经正确解码的视频数据并通过算法重建错误 区域以改善图像质量。需要指出的是,手机终端的错误掩盖只针对解码过程,不需要对发送 端进行修改,因此不会改变视频码流结构,具有较好的适应性。手机终端的误码掩盖的依据是自然景物的低频特性,即视频图像在空间和时间上 的高度相关性和平滑性,因此可分别在空域、时域内进行插值掩盖。空域插值是对受损宏 块进行纹理恢复的一个比较有效的办法,它通过相邻宏块正确的宏块进行空域像素内插得 到,它不需要宏块的运动信息。插值的方法有很多种,目前公认的经典插值算法包括双线性 插值和方向插值等空域插值算法等。然而上述算法都有一定的局限性,双线性插值算法将 受损的视频宏块始终作为平滑图像来对待,如果受损的视频宏块具有丰富的高频信息,或 者有图像边界穿越丢失宏块的时候,该算法插值结果将导致图像的纹理丢失,画面变的模 糊,画面质量并不能显著提高,甚至有可能导致下降;方向插值算法通过检测受损区域周围 的边缘信息,预测受损区域内的边缘走向并沿此方向进行方向插值,但当受损区域周围边 缘较乱时也可能引起虚假边缘,造成视觉效果较差。综上所述,现有的空域插值算法,仍然 存在着缺陷,无法得到理想的视频解码质量。

发明内容
本发明要解决的主要技术问题是,提供了一种视频传输的差错控制方法及系统, 能够优化视频传输图像的解码质量,改善视频解码效果。为解决上述技术问题,本发明采用了如下技术方案一种视频传输的差错控制方法,包括误码掩盖过程,所述误码掩盖过程包括
4
对受损宏块进行边缘集中程度的量化分析,以将所述受损宏块区分为平滑块或边 缘块;对平滑块,采用双线性差值算法进行误码掩盖;对边缘块,采用方向插值算法进行 误码掩盖。在本发明所述方法的一种实施例中,所述对受损宏块进行边缘集中程度的量化分 析包括配置边缘方向类;计算所述受损宏块的各个周围像素的边缘方向,并将各个周围 像素归类到对应的边缘方向类;判断各个周围像素是否穿越所述受损宏块,如是,则相应累加到该周围像素所属 的边缘方向类的个数计数中,并将该周围像素的边缘方向累加到所属边缘方向类的幅度计 数中;根据各个边缘方向类的个数计数得出方向信息熵并据所述方向信息熵判断所述 受损宏块是否为边缘集中;根据各个边缘方向类的幅度计数判断所述受损宏块是否为强边 缘穿越;如果所述受损宏块为边缘集中或者强边缘穿越,判定该受损宏块为边缘块,否则, 判定该受损宏块为平滑块。在本发明所述方法的一种实施例中,所述边缘方向类包括8个,8个边缘方向类 Dk,k e
,由8条穿过同一圆心并两两间隔22. 5°的直线划分而成,所述根据各个边 缘方向类的个数计数得出方向信息熵并据所述方向信息熵判断所述受损宏块是否为边缘 集中按如下方式进行判断方向信息熵是否小于熵阈值,如是,则判断所述受损宏块为边缘
集中;所述方向信息熵根据下式得到-Hmoie =p(k\p(k) =k—,
其中,Hmode为方向信息熵,P(k)为边缘方向类Dk对应的方向概率,Nk为边缘方向类Dk对 应的像素个数。在本发明所述方法的一种实施例中,所述边缘方向类包括8个,8个边缘方向类 Dk, k e
,由8条穿过同一圆心并两两间隔22. 5°的直线划分而成,所述根据各个边 缘方向类的幅度计数判断所述受损宏块是否为强边缘穿越按如下方式进行判断各个边缘 方向类中是否存在有幅度超过预设的边缘强度阈值的边缘方向类,如是,则判断所述受损 宏块为强边缘穿越。在本发明所述方法的一种实施例中,所述受损宏块为8X8矩形块,所述受损宏块 的周围像素为该受损宏块相邻8个宏块中的正确解码宏块或已经误码掩盖过的宏块中与 所述受损宏块相邻的8X4或4X8区域内的像素。在本发明所述方法的一种实施例中,所述方向插值算法为基于区域分割的方向插 值算法,包含将受损宏块分割为至少两个区域,对受损宏块的一像素,通过相同区域的边 界参考像素进行方向插值进行恢复。在本发明所述方法的一种实施例中,所述将受损宏块分割为至少两个区域按如下 方式进行在所述受损宏块的邻域内设立两个圈层,并在该两个圈层上分别取一系列连续剧 烈变化的像素点进行边缘检测,并选择检测出的边缘点中梯度最大的边缘点作为匹配及连
5线边缘点;重复将未进行匹配的匹配及连线边缘点中的位于不同圈层且属性距离最小的两 点进行连线匹配直至匹配完成或只有一个圈层上含有匹配及连线边缘点;将连线匹配的两个边缘点进行连线形成边缘连线,并以边缘连线所在的直线作为 边缘线,如果两条边缘连线位于同一条直线上,则合并为同一条边缘线,如果两条边缘线斜 率相同或相近,则以其中边缘强度较大的边缘连线所在的直线作为边缘线;按边缘线的边缘强度从大到小顺序对受损宏块进行区域分割,如两条边缘线相 交,边缘强度小的边缘线不穿越边缘强度大的边缘线。在本发明所述方法的一种实施例中,还包括误码检测过程对视频的每一帧进行 扫描判断是否有受损宏块,如有,根据预设原则选择误码掩盖方式后进入误码掩盖过程;否 则,结束流程。在本发明所述方法的一种实施例中,所述根据预设原则选择误码掩盖方式包括 受损宏块延伸到下边界,采用自上而下的掩盖方式;受损宏块从上边界开始,采用自下而上 的掩盖方式;受损宏块既不在上边界也不在下边界,采用上下交替的掩盖方式。本发明还提供了一种视频传输的差错控制系统,包括误码掩盖模块,所述误码掩 盖模块包括边缘分析单元,用于对受损宏块进行边缘集中程度的量化分析,以将所述受损宏 块区分为平滑块或边缘块;误码掩盖单元,用于对平滑块,采用双线性差值算法进行误码掩盖;对边缘块,采 用方向插值算法进行误码掩盖。本发明通过对受损宏块的边缘集中程度的量化分析,从而可以适应性的选择双线 性差值算法或者方向插值算法进行误码掩盖,从而实现了对视频传输图像解码质量的优 化,改善了视频解码效果。


图1为本发明实施例的受损宏块的检测区域选择图;图2为本发明实施例的边缘方向的分类图;图3为本发明实施例的平滑块的误码掩盖图;图4为本发明实施例的差错控制过程中的扫描方式和掩盖方式图;其中,图4_a表 示了对一帧图像进行定列、定行的扫描;图4-b表示了在受损块到达下边缘时的扫描方式; 图4-c表示了受损块从上边缘开始时的扫描方式;图4-d表示了受损块在中间连续时的扫 描方式;图5为本发明实施例的边缘检测过程图;其中图5-a为在边界像素上进行边缘检 测;图5-b为检测跳变边缘点;图5-c为获取真正边缘点;图5-d为边缘点匹配、连线;图6为本发明实施例的受损宏块的区域分割图;图7为本发明实施例的区域内方向插值图;图7_a显示了带两个边缘线的丢失宏 块;图7-b显示了沿边缘线确定的两个参考像素;图7-c显示了丢失像素在同一区域内的 参考象素的选择;图8为本发明实施例的误码检测中的宏块状态6
图9为本发明实施例的手机视频解码过程中的误码检测流程图;图10为本发明实施例的手机视频传输差错控制流程图。
具体实施例方式下面通过具体实施方式
结合附图对本发明作进一步详细说明。本发明主要是在视频传输过程中出现数据丢失时,通过空域误码掩盖方法提高图 像的解码质量。在进行误码掩盖时,提供了一种有效的自适应算法选择机制,既可以较为清 晰地恢复图像信息,又可以在一定程度上避免虚假边缘的产生。其关键在于对丢失的视频 信息的边缘集中程度进行量化分析,从而可以自适应性的选择合适的算法。其中,对丢失的 视频信息的边缘集中程度的量化分析是利用信息熵理论,通过方向信息熵的设计来完成对 目标的判断。在误码掩盖时,一般以宏块为单位进行,称需要进行误码掩盖的宏块为受损宏 块,受损宏块包括丢失宏块和出错宏块,丢失宏块指该宏块数据完全丢失,出错宏块指该宏 块内数据部分丢失或者出现错误。但3者并没有明显的差别,本文对这3者并不做严格区 分,可以认为3者的含义是相同的。上述的自适应空域误码掩盖,包括两个过程,一是自适应切换过程,二是切换后的 算法应用过程。在自适应切换过程中,可以根据丢失宏块周围的边缘信息自适应地选择双线性插 值算法或者方向插值算法进行空域误码掩盖。首先对丢失宏块周围的像素点的梯度方向 进行分类并计算边缘强度,再得到各个边缘方向类的幅度计数累加值,而后比较可变阈值 Bth,以此判断是否存在强边缘穿越,以及方向信息熵H与熵阈值Hth的大小来自适应的选 择误码掩盖算法。在切换后的算法应用过程中,在本发明实施例中,对于方向插值算法进行了改进, 提供了一种“改进的基于区域分割多方向插值算法”,基于区域分割的多方向插值算法可以 有效地解决视频传输过程中估计丢失宏块内的边缘方向不精确的问题,该算法首先对丢失 宏块周围的像素点进行边缘检测,然后对丢失宏块进行区域划分,在区域分割基础上完成 对丢失宏块内像素点的方向插值。边缘检测是利用图像中物体边界上的像素点,通过Sobel 算子(索贝尔算子,图像处理中的算子,主要用作边缘检测)计算灰度的变化率和变化方 向,得到较为精确的边缘方向信息;丢失宏块进行区域划分,将像素点分割到不同的区域, 各区域采用与其边缘相同的方向进行加权插值。梯度方向即像素点的灰度变化方向,对梯度方向进行分类是为了有效的统计像素 梯度方向可能存在的概率,同时为进一步计算信息熵提供必要准备;信息熵计算可以有效 的反映图像边缘方向的集中程度,它的大小将直接决定插值算法的选择。边缘强度反映了 图像的平滑程度。下面结合附图首先介绍本发明实施例所采用的差错控制算法。本发明实施例的差错控制基本流程包括解码时首先判断视频中的每一帧是否有 数据丢失。如果有,则对受损宏块进行边缘集中程度的量化分析,以将受损宏块区分为平滑 块或边缘块;对于平滑块,采用双线性插值算法;对于边缘块,则采用方向插值算法,例如 采用前文提出的基于区域分割的方向插值算法,利用穿过受损宏块的相邻块边缘信息将受 损宏块分割成若干区域,针对不同区域采用不同的插值策略,这样能更好的恢复图像信息,
7又能避免虚假边缘和错误边缘的产生。1.基于边缘像素的方向分类和丢失宏块的判定(1)选择受损宏块周围的检测区域。如图1所示,将受损宏块划分为8X8大小矩 形块,取受损宏块周围相邻8个宏块中的8X4或4X8区域参与边缘检测,图1中示出的斜 线部分为检测区域,按以下方式进行边缘检测的选择1)如果相邻8X8宏块为正确解码宏块或者是已经掩盖过的宏块,则该8X4或 4X8宏块中的每一个像素均参与边缘方向的检测;2)如果相邻8X8宏块为未掩盖宏块,则该8X4或4X8宏块中的每一个像素均不 参与边缘方向的检测。(2)对图像中的边缘方向进行分类。如图2所示,将一个圆平面等分成16个区域, 每个区域的两条边缘线之间的夹角为22. 5°,取这16个区域的平分线(即各区域的边缘 线)方向作为整个检测区域内所有像素点可能的边缘方向,即每一个平分线方向代表着一 个区域内的边缘方向,又在同一条直线上方向相反的两个方向被看作-划分区域对应8个边缘方向类,分别为0°,22.5°,45° , ... ,157. 5C
-个方向,因此16 1 ,也即,由8条穿过
同一圆心并两两间隔22. 5°的直线划分出8个边缘方向类,为了以后表述的方便,将这8彳 方向类分别记为D0,D1,...,D7。(3)计算受损宏块周围像素的边缘信息。按照式⑴中的Sobel算子计算每-像素点P(x,y)的边缘强度G(x,y)和边缘方向A(x,y),边缘强度G(x,y)和边缘方向A (x, y)分别反映了该像素点灰度的变化强度及走向,Gx(x, y)和Gy(x,y)是边缘强度G(x,y) 在χ和y方向上的分量,P (χ,y)为受损宏块周围的一像素点。
‘Gx(x,y) = P(x,y)*Hx(x,y) Gy(x,y) = P(x,y)*Hy(x,y)j G(x, y) = ^Gx(x,y)2 +Gy(x,y)2其中, (4)将像素P(x,y)的边缘方向A(x,y)划归到上述8个边缘方向类中对应方向类 中。由于8个边缘方向类的范围在,180° ),而边缘方向A(x,y)的取值范围在(-90°, 90° ),因此需要将边缘方向A(x,y)进行变形为
Αχ,y)=
arctas-
G(x,y)G(x,y)
“Gx(x,y)本 0, arctan-
Q(U) 9
Gx{x,y) Gx{x,y)=o
>0
180+arctaa
Gx(x,y)
Gx(^y)
、—s 2 /Iv
8
此时边缘方向A(x,y) e [0°,180° ),然后把该方向划归到DO,D1,. . .,D7中的
某一个,划分采用如下方法把像素的边缘方向值除以一个基准值,然后对商值下取整,作 为边缘方向类的索引值。
,A(x,y)-11.25° 1 ,o 可以证明k e
,且六&,y)的对应k值均勻分布0 7之间,这样就可以将 像素P(x,y)边缘方向A(x,y)归类到对应边缘方向类Dk (0彡k彡7)中。然后需要判断该 边缘方向是否穿越受损宏块MB,为此,从像素P(x,y)出发作一条平行于方向Dk的直线,如 果该直线穿越受损宏块,则将像素P(χ,y)所属的边缘方向类Dk对应的个数计数器Nk累加 1,幅度计数器81^累加上像素?0^,7)对应边缘方向A(x,y);如果该直线未穿越受损宏块则 将像素P(x,y)的边缘方向A(x,y)舍弃。(5)当受损宏块邻域内所有的像素点被检测完后,计算各边缘方向类Dk所穿越受 损宏块的方向概率P (k)。由于方向Dk对应的像素点有Nk个(0彡k彡7),则Dk所对应的 方向概率P(k)为 统计了边缘方向类Dk中的每个方向对应的方向概率P(k)后,计算方向信息熵 Hmode,定义为 利用拉格朗日乘数法可以证明,当8个方向分类的概率相同时,方向信息熵Hmode 取最大值3,且方向概率越分散,Hmode值越大。因此Hmode越大,表明受损宏块邻域内边缘 方向越分散,Hmode越小,则表明边缘方向集中程度越高。(6)判断是否有强边缘穿越受损宏块。当Bk(O彡k彡7)超过(6)式中设定的可 变的边缘强度阈值Bth时,即认为有强边缘穿越受损宏块,将Bk所对应的边缘方向类Dk看 作是穿过丢失宏块的强边缘方向,然后统计出8个边缘方向类B0、Bi, ..., B7中穿越受损 宏块的强边缘方向个数,并记为N(0 < N < 8)。边缘强度阈值Bth定义为
M 其中,M为参与边缘检测宏块的个数。(7)当Hmode彡2. 4且N = O时,说明受损的视频宏块是没有明显边缘集中的宏块 或者没有强边缘穿越,则将这些受损宏块判定为平滑块,对于平滑块采用双线性插值算法 进行误码掩盖。其中,2. 4即熵阈值,熵阈值为一可调整的常数,在本例中取值为2. 4。当Hmode < 2. 4或N > 1时,说明边缘集中或者有强边缘穿过受损的视频宏块,则 将这些受损宏块判定为边缘块,对于边缘块采用前文提出的基于区域分割的方向插值算法 进行误码掩盖。2.平滑块的误码掩盖对于平滑块的误码掩盖,采用的是双线性插值算法。如图3所示,设pl,p2,p3,p4是受损块4个边界上离P点最近的像素点,pi到ρ的距离为Di (i = 1,2,3,4),W为块的边 界尺寸,则P点像素值为 3.边缘块的误码掩盖对于边缘块的误码掩盖,采用基于区域分割的方向插值算法。该方法的基本思想 是首先在受损宏块的邻域内设立两个矩形圈层,并在这两个矩形圈层上寻找边缘点,然后 利用相邻块的边缘点信息估计出受损宏块的边缘方向和边缘强度;接着根据各方向的边缘 强度把受损宏块划分割成若干区域;最后针对不同区域采用不同的插值策略。该方法充分 利用了受损宏块的边缘信息来寻找穿越受损宏块的边缘。(1)对受损宏块周围像素点进行边缘检测以手机视频图像为例,如图4_a所示,首先对手机视频图像中的每一帧先定列,再 定行进行扫描,通过扫描来确定受损块,确定三种不同的掩盖方式如图4-b所示,当出错 宏块到达下边缘,此时采用至上而下的掩盖方式;如图4-c所示,当出错宏块从上边缘开 始,此时采用至下而上的掩盖方式;如图4-d所示,当出错宏块在中间连续,此时采用上下 到中间,交替进行的掩盖方式。然后进行边缘检测,边缘检测就是求像素点P(X,y)梯度的局部最大值和方向,边 缘检测中用到的是Sobel算子,因此像素P(x,y)的梯度大小G(x,y)和梯度方向A(x,y)可 由(1)式求得。如果梯度大小G(x,y)大于预先设定的梯度阈值大小Gth,则说明该像素点 就是要找的边缘检测点。如图5_a所示,在受损宏块的邻域内设立的两个矩形圈层上寻找边缘点。如图5_b所示,在所设定的两个矩形边界线上,取一系列连续剧烈变化的像素点 进行边缘检测。对于矩形圈层中的每一个像素点都计算出边缘强度G(x,y),一般的,连续 的一系列像素点的边缘强度的差别应该是很小的(图5-b中分别通过黑色、交叉线、斜线表 示),即一个像素相邻的左边像素和右边像素的边缘强度差别应该很小,如果出现较大的差 异(这个差异的界定可以根据实际需要来自行确定),则可以认为是出现像素跳变。如果出 现跳变,则在发生跳变处的两边选择连续若干像素点,选择梯度最大的一个点作为边缘点 放到边缘点集合中。如图5-c所示,梯度最大的边缘点被选择为用于进行匹配和连线的边 缘点,这样可以得到两个矩形圈层上的一组用于边缘匹配和连线的集合F。这些边缘点成为 匹配及连线边缘点。(2)边缘点匹配和连线边缘进入宏块存在着两种可能的情况。第一种情况是一个边缘沿着某一方向通过 一个边缘点进入受损宏块并通过另一个边缘点离开此宏块,即存在着两个边缘有着相同或 者相似的边缘梯度方向。第二种情况是两个边缘在受损宏块内部相交,这时就需要量化分 析两个边缘的强弱,并判断边缘的大小。基于以上两种可能存在的情况,图像的边缘f (X,y)定义为
10Jl, G(x,y)>Gthf(x,y) = \其中,Gth为梯度阈值。边缘点的属性向量定义为p' (x, y) = (Gx (χ, y), Gy (χ, y), A (χ, y), P (χ, y)) (9)则两个边缘点之间的属性差异可以通过下面的计算得到diff(p ‘ (X1J1), ρ' (x2, y2)) = I Gx (xi; Y1)-Gx (x2, y2) | + |Gy(xi; yi)-Gy(x2, y2) +|A(Xl,yi)-elj2| +IA (x2 J2Hu H P(Xl,yi)-P(X2,y2)(10)其中,θ lj2是两个边缘点p(xl,yl)和p(x2,y2)连线的倾斜角。如图5_d所示,在所有边缘点中,如果两个匹配及连线边缘点分别在两个不同的 矩形圈层上且他们之间的属性距离最小,则这两个边缘点连线进行匹配。然后将剩余的边 缘点作为新的集合F,重复上述过程直到集合F中所有的边缘点都被匹配完成,或者只有一 个圈层上含有边缘点。最后对匹配的边缘点进行连线。将两个匹配的边缘点的连线称为边缘点连线,而将该边缘点连线所在的直线称为 边缘线,区域分割通过边缘线来进行。连线中还要进行边缘线的合并,如果两条边缘点连线 在同一条直线上,则直接合并为一条边缘线;如果两条边缘点连线斜率相同或相近,则取边 缘强度大的边缘点连线所在直线为边缘线,另一条边缘点连线去除。需要注意的是,合并之 后,边缘线的强度为两段边缘点连线强度之和,其计算方式参见式8。其中,斜率相近是指 两条边缘点连线倾斜角相差在5°以内,即认为斜率相近,可以进行边缘线合并,当然该值 也可以根据需要进行调整,例如也可以将倾斜角在10°以内认为是斜率相近,取边缘强度 大的边缘点连线所在直线为边缘线,另一条边缘点连线去除。(3)对受损宏块进行区域分割根据(10)式的结果,当有边缘点连线穿越受损宏块时,此边缘点连线的方向可以 通过求其上的两点边缘Mi和Nj的连线的斜率来得到,如图6所示,Mi (i = 1,2,3,4)为外 矩形圈层上的点,Nj(j = 1,2,3,4)为内矩形圈层上的点。定义边缘强度为Fv = Σ f^y)其中,S为边缘MiNj上所有像素点的集合,f(x,y)的大小由(8)式得到。根据前 面提到的边缘进入宏块存在着两种可能的情况,对受损宏块进行区域分割,分割遵循如下 原则1)如果两条边缘MiNj和Mi,Nj,有相同或者相近的斜率或者在同一条直线上,则 将这两条边缘合并,看作为同一条边缘,并用边缘强度较大边缘所在的直线进行区域分割。 如图6所示,边缘Mmi和M2N2被合并为一条边缘线L12,M3N3和M4N4不合并,被看成是边 缘L3和边缘L4。2)对于合并后的所有边缘按边缘强度从大到小排列,边缘强度大的边缘连线优先 被划分,边缘强度小的边缘连线后被划分。如图6所示,边缘强度L12 > L3 > L4,因此划分 顺序为L12, L3和L4。
11
3)如果两条边缘相交,边缘强度小的边缘连线不能穿越边缘强度大的边缘连线。 如图6所示,L3不能穿越L12,L4不能穿越L12和L3。根据以上3条原则就可以得到受损宏块的区域划分。(4)对受损宏块内的像素点进行方向插值在受损宏块被分割成若干个区域后,就可以对每个区域内丢失的像素点分别进行 插值。如图7-a所示,受损宏块MB中的像素ρ通过相同区域的边界参考像素来恢复。假设 有η个边缘穿过受损宏块,每一个边缘Li (1 ^n)都可以用一个线性方程来表示Y-Yi-Iiii (X-Xi) = 0,1 彡 i 彡 η (12)其中mi是该边缘(即指边缘线,下同)的斜率,(xi, yi)第i个边缘与受损宏块 相交所对应的边缘点坐标。如果该边缘与受损宏块MB中对应着有一对匹配的边缘点(xi, yi)和(xj,yj),则 mi = (Yj-Y1)Z(Xj-X1)0 否则,mi = GrUi,y》/GcUi,yi),Gr (xi,yi)和 Gc (xi, yi)分别表示像素点(xi,yi)的边缘强度在y方向和χ方向上的分量,具体参考式 (1)。如果边缘和受损宏块有两个交点,这可以用这两个交点确定斜率mi ;如果边缘和丢失 宏块只有一个交点,则用这个交点的边缘强度在y方向的分量Gr(xi,yi)除以χ方向上的 分量Gc(xi,yi)来得到斜率mi。这是因为根据区域划分原则,该边缘只对应有一个边缘点。对于每一个丢失的像素P,找到其所对应的参考像素点进行插值。如图7_b所示, 沿着每一个边缘方向,过像素ρ做与边缘平行的直线,该直线与丢失宏块的边界的交点就 是要找的参考像素点。注意,仅那些和像素点P在同一个区域内的参考像素点可以被用来 进行插值计算,而与像素P不在同一区域内的参考像素点则不能被使用。测试每一个边缘的线性方程来消除不可靠的参考像素点,具体的方法表示如 下设(px,py)表示丢失的像素P的坐标,(rx,ry)表示某一参考像素点坐标。参考像 素与P在同一区域内当且仅当对于每一个边缘Li (1 ^ i ^ η), [py-yi-mi (ρχ-χ )]与 [ry-yi-mi (rx-xi)]都有相同的符号。如图7_b所示,pl,p2为可靠的参考像素点,p3,p4 为不可靠的参考像素点。在消除了不可靠的参考像素点之后,每一个区域内的任意丢失像素ρ均可以利用
参考像素点通过方向插值来得到 yPk_ 其中,pk是第k个可靠的参考像素,dk是Pk和P之间距离。图7-C显示了求丢失 像素P的过程,Pl, P2为参考像素。经过以上步骤就可以完成对丢失宏块的误码掩盖。4.手机视频解码过程误码检测在手机终端解码过程,误码检测也是一个比较重要的问题。在网络传输发生数 据丢包的情况下,为了保证视频解码的质量和解码的实时性,需要在手机终端引入误码检 测机制,来检测和恢复丢失的数据信息。对于所有存放在缓冲区内的网络封装层(NEL, Network Encapsulation Layer)数据单元,因为其本身含有的压缩信息是正确的,且传输 数据也没有丢失,因此经过解码都可以得到正确的宏块信息,而误码检测就是要确定这些宏块在帧中的对应位置,以便找到那些丢失的宏块,并进行掩盖。误码检测可以采取如下的方法对于所有解码的宏块进行状态标记,如图8所示, 2表示完好宏块,1表示已掩盖宏块,0表示丢失宏块,对于每一个未解码的帧,设所有宏块 的初始状态为0。当一个NEL数据单元被解码以后分析比较其本身所含的帧数N与解码器 分析得到的帧数M是否相同。1.如果N = M且该NEL数据单元不是最后一个,则说明正在对当前帧(第M帧) 进行解码,则更新相应宏块的状态为2,并继续对下一个NEL数据单元进行解码和判断。2.如果N > M,则说明视频序列的第M帧已经解码完成。这时需要对第M帧内的 所有宏块的状态进行判断,找出丢失宏块,并标记掩盖的顺序。扫描方式按照从上到下,从 左到右(图4-a所示)进行。每一列丢失宏块的掩盖顺序可以分三种情况,分别如图4-b、 图4-c、图4-d所示,第一种情况,如果丢失宏块连续出现且一直延续到下边界,则采用自上 而下的方式进行掩盖;第二种情况,如果丢失宏块连续出现且从上边界开始,则采用自下而 上的方式进行掩盖;第三种情况,如果丢失宏块既不在上边界也不在下边界,则采用上下交 替方式进行。然后对于每一个丢失宏块用前述误码掩盖算法进行处理。其中,在判断为I 帧时,前述自适应切换来选择双线性插值或方向插值这两种空域掩盖之一来进行;而在不 是I帧时,则采用时域掩盖方法来进行,掩盖完成后更新该宏块的状态为1,如此循环直到 所有的丢失宏块均被掩盖。最后对M加1,并继续判断N和M的大小。3.如果N = M且NEL数据单元全部被解码时,则需要对最后一帧进行掩盖,掩盖的 方法和步骤2中使用的方法一致。4.如果N<M,说明最后一帧已经被掩盖,退出误码检测。这样就可以完成整个误 码检测和掩盖的过程,并得到最终的重建视频序列。图9给出了手机视频解码过程中的误码检测流程。如图10所示,本发明实施例的手机视频传输的差错控制方法的具体步骤包括1.误码检测。对解码的手机视频图像中的每一帧先定列,再定行进行扫描。2.判断是否有视频宏块被损坏,如果没有,则跳转到步骤13 ;如果有,则继续执行
步骤3 。
3.根据丢失宏块的情况,选择3种误码掩盖的方式中的一种1)自上而下的掩盖; 2)自下而上的掩盖;3)交叉掩盖。4.根据误码掩盖方式选中丢失的宏块进行掩盖1)计算丢失宏块周围像素点的 边缘梯度方向和边缘强度;2)对边缘梯度方向进行分类。5.计算边缘方向的概率Pk,并利用边缘方向计算方向信息熵Hmode。确定边缘强 度阈值Bth并与每个边缘方向幅度计算器Bk(0 ≤ Bk ≤ 7)进行比较,确定强边缘个数N。6.判断Hmode是否大于等于2.4 (熵阈值Hth)且N等于0,如果成立,则继续执行 步骤7,否则跳转到步骤8。7.利用双线性插值算法对丢失像素进行插值,然后跳转到步骤12。8.利用改进的基于区域分割的方向插值算法对丢失像素进行插值。9.对丢失宏块进行边缘检测。10.对丢失宏块进行区域分割11.对丢失宏块内的像素点进行方向插值。
12.判断当前帧中是否所有丢失宏块都已经掩盖。如果是,执行步骤13,否则跳转 到步骤3。13.误码掩盖结束。本发明通过对双线性插值算法和改进的基于区域分割的方向插值算法的动态选 择,解决了手机视频解码后清晰度不够和解码后产生虚假边缘的问题,提高了图像的解码 质量,优化手机视频解码的过程。两个算法之间的动态选择,是通过对丢失宏块周围相邻像 素边缘方向信息熵的判断来进行。由于手机视频传输的内容本身并不大,另外改算法的时 间复杂度在可控的范围之内,因此对手机视频播放器的解码速度并不会有根本上的影响, 本发明具有以下技术效果1.实现对手机视频传输图像解码质量的优化。通过对丢失宏块周围相邻像素边缘 方向信息熵的量化判断,解决了受损区域周围边缘较乱时可能引起虚假边缘的问题。2.改进了经典的方向插值算法,解决了方向插值算法对任何图像区域总是沿特定 的方向进行插值,从而造成解码图像失真的问题,采用根据图像区域的不同纹理信息,对丢 失宏块采取区域分割然后再插值的这样更为合理的方法加以优化。相比经典的空域算法, 视频解码的效果较好,可以应用的场景更多;相比时域算法而言,由于复杂度较低,这就保 证了解码的速度,使得其在手机和实时视频通信上能够有较为广泛的应用。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发 明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱 离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护 范围。
权利要求
一种视频传输的差错控制方法,其特征在于,包括误码掩盖过程,所述误码掩盖过程包括对受损宏块进行边缘集中程度的量化分析,以将所述受损宏块区分为平滑块或边缘块;对平滑块,采用双线性差值算法进行误码掩盖;对边缘块,采用方向插值算法进行误码掩盖。
2.如权利要求1所述的方法,其特征在于,所述对受损宏块进行边缘集中程度的量化 分析包括配置边缘方向类;计算所述受损宏块的各个周围像素的边缘方向,并将各个周围像素 归类到对应的边缘方向类;判断各个周围像素是否穿越所述受损宏块,如是,则相应累加到该周围像素所属的边 缘方向类的个数计数中,并将该周围像素的边缘方向累加到所属边缘方向类的幅度计数 中;根据各个边缘方向类的个数计数得出方向信息熵并据所述方向信息熵判断所述受损 宏块是否为边缘集中;根据各个边缘方向类的幅度计数判断所述受损宏块是否为强边缘穿 越;如果所述受损宏块为边缘集中或者强边缘穿越,判定该受损宏块为边缘块,否则,判定 该受损宏块为平滑块。
3.如权利要求2所述的方法,其特征在于,所述边缘方向类包括8个,8个边缘方向类 Dk,ke W,7],由8条穿过同一圆心并两两间隔22.5°的直线划分而成,所述根据各个边 缘方向类的个数计数得出方向信息熵并据所述方向信息熵判断所述受损宏块是否为边缘 集中按如下方式进行判断方向信息熵是否小于熵阈值,如是,则判断所述受损宏块为边缘7ν集中;所述方向信息熵根据下式得到-Hmode = -Σ^)*1ο§2p(k\p{k) = N ^n I…..Ν ,k=0iV0 ^iV1 + IN7其中,Hmode为方向信息熵,P(k)为边缘方向类Dk对应的方向概率,Nk为边缘方向类Dk对 应的像素个数。
4.如权利要求2所述的方法,其特征在于,所述边缘方向类包括8个,8个边缘方向类 Dk, k e
,由8条穿过同一圆心并两两间隔22. 5°的直线划分而成,所述根据各个边 缘方向类的幅度计数判断所述受损宏块是否为强边缘穿越按如下方式进行判断各个边缘 方向类中是否存在有幅度超过预设的边缘强度阈值的边缘方向类,如是,则判断所述受损 宏块为强边缘穿越。
5.如权利要求2-4任一所述的方法,其特征在于,所述受损宏块为8X 8矩形块,所述受 损宏块的周围像素为该受损宏块相邻8个宏块中的正确解码宏块或已经误码掩盖过的宏 块中与所述受损宏块相邻的8 X 4或4 X 8区域内的像素。
6.如权利要求1-4任一所述的方法,其特征在于,所述方向插值算法为基于区域分割 的方向插值算法,包含将受损宏块分割为至少两个区域,对受损宏块的一像素,通过相同 区域的边界参考像素进行方向插值进行恢复。
7.如权利要求6所述的方法,其特征在于,所述将受损宏块分割为至少两个区域按如 下方式进行在所述受损宏块的邻域内设立两个圈层,并在该两个圈层上分别去一系列连续剧烈变 化的像素点进行边缘检测,并选择检测出的边缘点中梯度最大的边缘点作为匹配及连线边 缘占.重复将未进行匹配的匹配及连线边缘点中的位于不同圈层且属性距离最小的两点进 行连线匹配直至匹配完成或只有一个圈层上含有匹配及连线边缘点;将连线匹配的两个边缘点进行连线形成边缘连线,并以边缘连线所在的直线作为边缘 线,如果两条边缘连线位于同一条直线上,则合并为同一条边缘线,如果两条边缘线斜率相 同或相近,则以其中边缘强度较大的边缘连线所在的直线作为边缘线;按边缘线的边缘强度从大到小顺序对受损宏块进行区域分割,如两条边缘线相交,边 缘强度小的边缘线不穿越边缘强度大的边缘线。
8.如权利要求1-4所述的方法,其特征在于,还包括误码检测过程对视频的每一帧进 行扫描判断是否有受损宏块,如有,根据预设原则选择误码掩盖方式后进入误码掩盖过程; 否则,结束流程。
9.如权利要求8所述的方法,其特征在于,所述根据预设原则选择误码掩盖方式包括 受损宏块延伸到下边界,采用自上而下的掩盖方式;受损宏块从上边界开始,采用自下而上 的掩盖方式;受损宏块既不在上边界也不在下边界,采用上下交替的掩盖方式。
10.一种视频传输的差错控制系统,其特征在于,包括误码掩盖模块,所述误码掩盖模 块包括边缘分析单元,用于对受损宏块进行边缘集中程度的量化分析,以将所述受损宏块区 分为平滑块或边缘块;误码掩盖单元,用于对平滑块,采用双线性差值算法进行误码掩盖;对边缘块,采用方 向插值算法进行误码掩盖。
全文摘要
本发明公开了一种视频传输的差错控制方法及系统,所述方法包括误码掩盖过程,所述误码掩盖过程包括对受损宏块进行边缘集中程度的量化分析,以将所述受损宏块区分为平滑块或边缘块;对平滑块,采用双线性差值算法进行误码掩盖;对边缘块,采用方向插值算法进行误码掩盖。本发明优化了视频传输图像解码质量,改善了视频解码效果。
文档编号H04N7/68GK101931821SQ20101023260
公开日2010年12月29日 申请日期2010年7月21日 优先权日2010年7月21日
发明者程超 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1