太阳城集团

  • / 13
  • 下载费用:30 金币  

一种实现可伸缩视频码流高并行度重写的编码方法.pdf

摘要
申请专利号:

CN201310185434.9

申请日:

2013.05.17

公开号:

太阳城集团CN103281535B

公开日:

2015.01.07

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||著录事项变更IPC(主分类):H04N 7/26变更事项:发明人变更前:吴刚 李厚强 王洪涛 程曦铭变更后:李厚强 吴刚 王洪涛 程曦铭|||实质审查的生效IPC(主分类):H04N 7/26申请日:20130517|||公开
IPC分类号: H04N19/176(2014.01)I; H04N19/30(2014.01)I; H04N19/103(2014.01)I; H04N19/91(2014.01)I 主分类号: H04N19/176
申请人: 中国科学技术大学
发明人: 李厚强; 吴刚; 王洪涛; 程曦铭
地址: 230026 安徽省合肥市包河区金寨路96号
优先权:
专利代理机构: 北京凯特来知识产权代理有限公司 11260 代理人: 郑立明;赵镇勇
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201310185434.9

授权太阳城集团号:

太阳城集团103281535B|||||||||

法律状态太阳城集团日:

太阳城集团2015.01.07|||2014.07.30|||2013.10.09|||2013.09.04

法律状态类型:

太阳城集团授权|||著录事项变更|||实质审查的生效|||公开

摘要

本发明公开了一种实现可伸缩视频码流高并行度重写的编码方法,该方法包括:当某一访问单元的基本层中双向预测片的宏块为直接Direct或跳过Skip模式时,检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团;若是,则将当前宏块的模式更改为普通预测模式;并计算出普通预测模式下当前宏块的运动矢量差;利用普通预测模式对所述当前宏块的运动矢量差及当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团进行熵编码的处理,获得当前宏块可并行重写的码流。通过采用本发明公开的编码方法,提高了重写时的并行度及重写速度,满足了在实时度较高的环境下使用的需求。

权利要求书

权利要求书
1.   一种实现可伸缩视频码流高并行度重写的编码方法,其特征在于,该方法包括:
当某一访问单元的基本层中双向预测片的宏块为直接Direct或跳过Skip模式时,检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团;
若是,则将当前宏块的模式更改为普通预测模式;并计算出普通预测模式下当前宏块的运动矢量差;利用普通预测模式对所述当前宏块的运动矢量差及当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团进行熵编码的处理,获得当前宏块可并行重写的码流。

2.   根据权利要求1所述的方法,其特征在于,计算所述普通预测模式下当前宏块的运动矢量差步骤包括:
获取当前宏块在普通预测模式下的运动矢量预测值;
将当前宏块的原始运动矢量与获取到的普通预测模式下的运动矢量预测值作差,获得普通预测模式下的运动矢量差。

3.   根据权利要求1或2所述的方法,其特征在于,所述将当前宏块的模式更改为普通预测模式包括:
根据当前宏块在Direct或Skip模式时,所使用的单向或双向预测模式,更改为对应的普通单向预测模式或普通双向预测模式。

4.   根据权利要求3所述的方法,其特征在于,所述根据当前宏块在Direct或Skip模式时,所使用的单向或双向预测模式,更改为对应的普通单向预测模式或普通双向预测模式包括:
当前宏块在Direct或Skip模式时,refIdxL0<0,refIdxL1≥0,则mb_type=B_L1_S×L;
当前宏块在Direct或Skip模式时,refIdxL0≥0,refIdxL1<0,则mb_type=B_L0_S×L;
当前宏块在Direct或Skip模式时,refIdxL0≥0,refIdxL1≥0,则mb_type=B_Bi_S×L;
其中,refIdxL0表示前向参考队列中的参考帧,其大于等于0时可用,否则不可用;refIdxL1表示后向参考队列中的参考帧其大于等于0时可用,否则不可用;mb_type表示当前宏块修改后的普通预测模式;其中的B_L1与B_L0均为单向预测模式,分别表示后向预测模式与前向预测模式;B_Bi表示双向预测模式;S×L表示当前宏块的分割大小为S×L像素。

5.   根据权利要求1所述的方法,其特征在于,所述检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团包括:
若当前宏块的运动矢量预测值通过与其临近宏块的运动太阳城集团得到,则判定获取当前宏块的运动矢量预测值时未使用参考队列中已解码图像的太阳城集团;
若当前运动矢量预测值获取过程中用到其他访问单元的太阳城集团,则判定获取当前宏块的运动矢量预测值时使用了参考队列中已解码图像的太阳城集团。

6.   根据权利要求5所述的方法,其特征在于,所述当前运动矢量预测值获取过程中用到其他访问单元的太阳城集团包括:
当前宏块的运动矢量预测值获取过程中使用了参考队列里第一个参考帧中与当前宏块位置一致的宏块的太阳城集团;其中,所述参考队列里第一个参考帧中与当前宏块位置一致的宏块的太阳城集团需要从已解码图像缓存中获得。

7.   根据权利要求1所述的方法,其特征在于,所述当前宏块在Direct或Skip模式时的残差太阳城集团包括:
若当前宏块的模式在更改之前为Skip模式,则将其残差太阳城集团设置为0,作为在Skip模式下的残差太阳城集团;
若当前宏块的模式在更改之前为Direct模式,则直接使用其在Direct模式下的残差太阳城集团。

8.   根据权利要求1或7所述的方法,其特征在于,所述进行熵编码的处理包括:
对当前宏块在Direct或Skip模式时的残差太阳城集团进行离散余弦变换与量化处理,获得量化后的残差太阳城集团;
使用普通预测模式对当前宏块的运动矢量差、量化后的残差太阳城集团与纹理太阳城集团进行熵编码的处理。

9.   根据权利要求1所述的方法,其特征在于,所述获得当前宏块可并行重写的码流之后还包括:
利用网络抽象层NAL对所述可并行重写的码流进行封装,并发送至可重写器。

10.   根据权利要求9所述的方法,其特征在于,所述发送至可重写器之后包括:
对每个网络抽象层单元进行解析,将属于相同访问单元的网络抽象层单元归类;
独立并行的对不同访问单元中网络抽象层单元的数据进行重写;具体的:熵解码得到访问单元中每一层的太阳城集团,根据访问单元内不同层之间的层间预测关系,恢复出每一层的运动矢量差、纹理与残差太阳城集团;对所述每一层的运动矢量差、纹理与残差太阳城集团进行转换重写以及熵编码的处理,获得重写后的码流;
将并行重写后的码流,按照访问单元的先后顺序排序后打包成NAL。

说明书

说明书一种实现可伸缩视频码流高并行度重写的编码方法
技术领域
本发明涉及视频编码技术领域,尤其涉及一种实现可伸缩视频码流高并行度重写的编码方法。
背景技术
数字视频技术在通信和广播领域获得了日益广泛的应用,如网上可视会议、网上购物、远程教学、远程医疗、网上展示厅、视频点播、视频聊天等等。虽然视频太阳城集团具有一系列优点,如直观性、确切性、高效性、广泛性等,但是由于视频太阳城集团量太大,如果不经过压缩直接使用原始数据,一个普通的电影就会占用几十甚至几百G Bytes(字节)的空间,这些数据若从互联网上下载的话,那么以现有的带宽则将耗费大量的太阳城集团。因此,要使视频得到有效的应用,必须解决视频压缩编码问题,一方面编码后的视频既要有较大的压缩比,另一方面又要保证编码后的视频仍有一定的质量。
2003年3月,国际电信联盟和国际标准化组织(ITU‑T/ISO)正式公布了H.264/AVC视频压缩标准。相比于以往的压缩标准,H.264/AVC具有出众的性能,简单的说,与H.263或MPEG‑4Part2相比,在同样质量下,其数码率能降低一半左右;或者说在同样码率下,其信噪比明显提高,因此它在国际上受到了广泛地重视和欢迎。
虽然H.264/AVC划分了几种不同等级的视频质量,但是由于目前播放视频的终端大到高清电视,小到MP4或手机都有,它们的处理能力千差万别,需要视频的分辨率和质量也是各不相同,用H.264/AVC编码出来的码流不可能都适用,因此在2003年10月,运动图像专家组(MPEG)提出了SVC(Scalable Video Coding,可伸缩视频编码)的方案,作为H.264/AVC视频编码标准的扩展—H.264/SVC。可伸缩视频编码技术旨在把不同分辨率、不同质量的同一个视频编码成一个可伸缩的码流,不同的接收端只提取自己需要的分辨率和质量的那部分码流,可以根据实际需要适应不同的网络环境和终端解码能力。
可伸缩视频编码码流能提供一个空间、太阳城集团、质量可伸缩的码流,从这个码流中可以抽取子码流,以满足网络传输速率以及终端用户对视频在尺寸、帧率和质量等方面的需求。在可伸缩视频编码的码流中,最低质量层被称作基本层,增强空间分辨率、太阳城集团分辨率或者信噪比强度的层被称作增强层。其中,为实现空间可伸缩性,可以利用层间的运动、纹理和残差太阳城集团,使用分层编码方法;为实现太阳城集团可伸缩性,采用分级双向预测帧编码方法;为实现信噪比可伸缩性,可以使用粗粒度可伸缩性和中粒度可伸缩性两种方法,这两种方法采用与空间可伸缩性相似的层间预测方法。
可伸缩视频编码的码流中,每一个视频帧是一个访问单元,它包含了一个基本层和一个或多个增强层,每一层使用了不同的方式和参数,例如,使用空间可伸缩或质量可伸缩对该帧进行编码。在编码过程中,每一帧的每一层中都包含若干个宏块,每次以一个宏块为一个独立单元,按照帧内预测(IntraPrediction)或者帧间预测(InterPrediction)模式以及层间预测(Inter‑layer Prediction)模式进行编码。帧内预测与帧间预测模式与H.264/AVC完全相同,预测数据都由重建数据得到。在帧内(Intra)预测模式中,预测数据从当前宏块附近区域已编码宏块得到。帧内(Inter)预测模式中,预测数据由一个或多个参考帧经过运动补偿(MC)得到,参考帧是指先前编码好的帧。而H.264/SVC特有的层间预测模式,每一帧的每一层预测数据从当前帧比当前层低的那些层得到。
可伸缩视频编码H.264/SVC的基本层码流是兼容H.264/AVC格式的,使用H.264/AVC的解码器就能得到基本层的视频。由于基本层视频一般都是低分辨率、低质量的,而一些老式设备只能解码H.264/AVC的码流,对H.264/SVC增强层的码流无法解析。因而,需要借助可伸缩视频编码的可重写技术(Rewriter)解决这个问题,该技术利用同一个访问单元(Access Unit)不同层之间的预测关系,把每层依赖底层的运动、纹理和残差太阳城集团进行重新计算,得到符合H.264/AVC的运动、纹理和残差太阳城集团。
由于使用现有H.264/SVC码流编码技术中,每一帧之间解码、重写存在依赖关系,导致了重写时并行度低,重写速度慢,尤其是在标清、超清视频及实时度要求较高的应用场景下,由于并行度不高,重写速度不能很好的满足实时的需求。
发明内容
本发明的目的是提供一种实现可伸缩视频码流高并行度重写的编码方法,提高了重写时的并行度及重写速度。
本发明的目的是通过以下技术方案实现的:
一种实现可伸缩视频码流高并行度重写的编码方法,该方法包括:
当某一访问单元的基本层中双向预测片的宏块为直接Direct或跳过Skip模式时,检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团;
若是,则将当前宏块的模式更改为普通预测模式;并计算出普通预测模式下当前宏块的运动矢量差;利用普通预测模式对所述当前宏块的运动矢量差及当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团进行熵编码的处理,获得当前宏块可并行重写的码流。
由上述本发明提供的技术方案可以看出,通过检测每一宏块对其他访问单元依赖情况,并解除当前宏块对其他访问单元的依赖关系;通过这种方式获得的编码码流,其每一访问单元在重写时可以独立并行的进行重写,提高了重写时的并行度及重写效率,满足了在实时度较高的环境下使用的需求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种宏块排列的示意图方法;
图2为本发明实施例一提供的一种实现可伸缩视频码流高并行度重写的编码方法的流程图;
图3为本发明实施例二提供的又一种实现可伸缩视频码流高并行度重写的编码方法的流程图;
图4为本发明实施例二提供的一种码流并行重写的方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先,结合附图1,详细介绍当前宏块与临近宏块特点。如图1所示,为宏块排列的示意图。其中,包含当前宏块临近块A、B、C和D。
1、在编码当前宏块时,需获得临块的已编码运动太阳城集团,主要包括运动矢量(用于指示参考的块相对于当前块的位移,用mvLXN表示)和参考帧号(refIdxLXN),其中LX可以为L0或L1,表示使用前向参考队列(List0)或使用后向参考队列(List1);N可以为A、B或C,用于表示对应块的太阳城集团(如果宏块C数据不可用,则使用宏块D代替)。
如果块N不可用(例如,相邻宏块A、B或C不可用),或者其模式为帧内预测(Intra Prediciton),或者它没有使用LX参考队列,则令,相应的mvLXN=(0,0);(0,0)表示水平与垂直分量均为0;refIdxLXN=‑1(为‑1时表示没有参考帧);否则mvLXN和refIdxLXN分别为该块使用LX参考队列得到的运动矢量太阳城集团和参考帧号。
2、临近块通常使用每个参考队列的最小参考帧号refIdxLX值设置为refIdxLXN的值,即:
refIdxL0=Min(refIdxL0A,refIdxL0B,refIdxL0C);
refIdxL1=Min(refIdxL1A,refIdxL1B,refIdxL1C);
directZeroPredictionFlag=0。
其中,directZeroPredictionFlag为标志位,用于指示Direct模式下是否将预测的运动矢量强制为(0,0);赋值为1时强制为(0,0);赋值为0时按正常情况赋值。
3、若前向参考队列(List0)和后向参考队列(List1)都不可用,则refIdxL0和refIdxL1都小于0;此时,可将refIdxL0与赋值refIdxL1为0,将directZeroPredictionFlag赋值为1,表示为:directZeroPredictionFlag=1;此时,mvL0=(0,0);mvL1=(0,0)。
另一方面,如果mvL0为(0,0),并且mvL1为(0,0)(List0与List1不可用);或者参考队列List1中第一帧与当前宏块位置相同的宏块MBCol的模式为帧内预测模式,或者相邻宏块可用时,令标志位UseTemporalDirectFlag=0;否则,令标志位UseTemporalDirectFlag=1。
1、当标志位UseTemporalDirectFlag=1时,则编码当前宏块时,从已解码图像缓存中获得后向参考帧队列(List1)里第一个参考帧中与当前编码宏块地址一致的同位置宏块的运动矢量太阳城集团mvCol和参考帧号refIdxCol:
1)如果同位置宏块使用了前向参考队列(List0),则mvCol和refIdxCol分别为使用前向参考队列(List0)后得到的运动矢量和参考帧号;
2)若同位置宏块使用了后向参考队列(List1),则mvCol和refIdxCol分别为使用后向参考队列(List1)后得到的运动矢量和参考帧号。
2、如果得到的同位置宏块的mvCol较小(例如,水平与垂直的分量都在[‑1,1]范围内);则标志位colZeroFlag=1,否则colZeroFlag=0。
3、如果colZeroFlag为1,并且使用了对应参考队列LX的第一帧,则相应的mvLX=(0,0)。
参考帧队列里第一个参考帧中与当前编码宏块地址一致的同位置宏块的太阳城集团需要从已解码的太阳城集团中获得,因此,当前宏块使用了后向参考帧队列里第一个参考帧中与当前编码宏块地址一致的同位置宏块的太阳城集团时,表示当前宏块与该同位置宏块所属的访问单元存在了依赖关系。
实施例一
图2为本发明实施例一提供的一种实现可伸缩视频码流高并行度重写的编码方法,如图2所示,主要包括如下步骤:
步骤21、当某一访问单元的基本层中双向预测片的宏块为直接(Direct)或跳过(Skip)模式时,检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团。
通常情况下,仅有访问单元中基本层双向预测片(B片)的宏块为跳过模式或直接模式时,在空间直接预测模式下的运动矢量预测值获取过程中可能需要用到其他访问单元的太阳城集团,因此,本发明实施例为加快计算效率,仅针对基本层中双向预测片的宏块进行检测。
若当前宏块的运动矢量预测值仅通过与其临近宏块(如图1中左边、上面和左上角的宏块)的运动太阳城集团得到的,则可直接使用常规方式进行编码;否则,判定当前宏块在重写时与其他访问单元存在依赖关系,转入步骤22。
步骤22、若是,则将当前宏块的模式更改为普通预测模式;并计算出普通预测模式下当前宏块的运动矢量差;利用普通预测模式对所述当前宏块的运动矢量差及当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团进行熵编码的处理,获得当前宏块可并行重写的码流。
若检测到当前宏块在重写时与其他访问单元存在依赖关系,则根据其运动、纹理和残差太阳城集团修改成不需要用到其他访问单元内块的太阳城集团的模式(双向预测片的宏块主要包含三种模式:Direct、Skip与普通预测模式)。
利用修改后的模式对所述当前宏块的运动矢量差及当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团进行熵编码的处理,得到编码后可并行重写的H.264/SVC码流。
本发明实施例通过检测每一宏块对其他访问单元依赖情况,并解除当前宏块对其他访问单元的依赖关系;通过这种方式获得的编码码流,其每一访问单元在重写时可以独立并行的进行重写,提高了重写时的并行度及重写效率,满足了在实时度较高的环境下使用的需求。
实施例二
为了便于理解本发明,现结合附图3‑4对本发明做进一步介绍,如图3所示,该方法主要包括如下步骤:
步骤31、判断一访问单元的基本层中双向预测片的宏块是否为Direct或Skip模式;若是,则转入步骤32;否则,转入步骤34。
双向预测片(B片)的宏块主要包括三种模式:Direct、Skip与普通预测模式(普通模式为除去Direct与Skip模式之外的模式,例如,普通前向预测模式下16×16像素大小的宏块:B_L0_16x16;普通后向预测模式下16×16像素大小的宏块:B_L1_16x16;普通双向预测模式下16×16像素大小的宏块:B_Bi_16x16;普通前向预测模式下16×8像素大小的宏块:B_L0_L0_16x8等)。当其处于Direct或Skip模式时,运动矢量预测值获取过程中可能需要用到其他访问单元的太阳城集团;而普通预测模式下,则不存在此问题;因此,本步骤需要将Direct或Skip模式的宏块筛选出来,以便通过后续步骤去除其与其他访问单元之间的依赖关系。
步骤32、检测获取当前宏块的运动矢量预测值时是否使用了参考队列中已解码图像的太阳城集团;若是,则转入步骤33;否则,转入步骤34。
获取当前宏块的运动矢量预测值包括两种情况:1)通过与其临近宏块(如图1中左边、上面和左上角的宏块)的运动太阳城集团得到的,此时,标志位UseTemporalDirectFlag=0;2)运动矢量预测值获取过程中用到其他访问单元的太阳城集团(例如,使用参考队列中已解码图像的太阳城集团),此时,标志位UseTemporalDirectFlag=1;作为举例而非限定,由于参考帧队列里第一个参考帧中与当前编码宏块地址一致的同位置宏块的太阳城集团需要从已解码的太阳城集团中获得,因此,可通过检测获取当前宏块的运动矢量预测值时是否使用了参考队列里第一个参考帧中与当前宏块位置一致的宏块的太阳城集团来判断是否使用了参考队列中已解码图像的太阳城集团。
若为第一种情况,则可直接使用常规的编码方法进行编码;若为第二种情况,则表明当前宏块在重写时与其他访问单元存在依赖关系,需要转入步骤33做进一步处理。
步骤33、将当前宏块的模式更改为普通预测模式。
首先,查看当前宏块的大小,例如,当前宏块为16×16像素大小,则更改为16×16普通预测模式;再根据当前宏块在Direct或Skip模式时,所使用的单向(List0或者List1单独使用)或双向(List0与List1同时使用)预测模式,更改为对应的普通单向预测模式或普通双向预测模式;例如,当前宏块为单向(前向或后向)Direct模式,大小为16×16像素;则更改为16×16单向(前向或后向)普通预测模式。其他的分区大小如16×8、8×16和8×8等相应更改为对应的预测模式。
其中,根据当前宏块在Direct或Skip模式时,所使用的单向(List0或者List1单独使用)或双向(List0与List1同时使用)预测模式,更改为对应的普通单向预测模式或普通双向预测模式,可以写为:
当前宏块在Direct或Skip模式时,refIdxL0<0,refIdxL1≥0,则mb_type=B_L1_S×L;
当前宏块在Direct或Skip模式时,refIdxL0≥0,refIdxL1<0,则mb_type=B_L0_S×L;
当前宏块在Direct或Skip模式时,refIdxL0≥0,refIdxL1≥0,则mb_type=B_Bi_S×L;
其中,refIdxLX<0表示对应的参考帧不可用,refIdxLX≥0表示对应的参考帧可用;mb_type表示当前宏块修改后的普通预测模式;其中的B_L1与B_L0均为单向预测模式,分别表示后向预测模式与前向预测模式;B_Bi表示双向预测模式;S×L表示当前宏块的分割大小为S×L像素(其大小不会因为模式的更改而发生变化),例如,若当前宏块分割大小为16×16像素,则相应的S与L均为16;若当前宏块分割大小为16×8,则相应的S与L分别为16与8;其他分割大小与上述情况类似,标准中有对应的mb_type值。
然后,使用更改后的预测模式获取当前宏块的运动矢量差。具体的:获取当前宏块在更改后的预测模式下的运动矢量预测值;将当前宏块的原始运动矢量与获取到的运动矢量预测值作差,获得对应的运动矢量差。可表示为:MVDLX=MvLX‑MvPLX。其中,MvDLX表示运动矢量差,MvLX表示当前宏块的原始运动矢量,MvPLX表示获取到的运动矢量预测值。
最后,将获得运动矢量差,与当前宏块在Direct或Skip模式时的残差太阳城集团与纹理太阳城集团保存。由于本发明实施例对宏块的模式进行了转换,因此,需要将残差太阳城集团写成之前Direct或Skip模式的残差太阳城集团,以保证两次预测和编码出来的宏块完全一样。本发明实施例中,若当前宏块的模式在更改之前为Skip模式,则将其残差太阳城集团设置为0,作为在Skip模式下的残差太阳城集团;若当前宏块的模式在更改之前为Direct模式,则直接使用其在Direct模式下的残差太阳城集团。
步骤34、编码当前宏块。
通过步骤33的处理,已经将解除了当前宏块与其他访问单元的依赖关系,因此,可以使用常规的方式对其进行编码。例如,对当前宏块在Direct或Skip模式时的残差太阳城集团进行离散余弦变换(DCT)与量化处理,获得量化后的残差太阳城集团;使用普通预测模式对当前宏块的运动矢量差、量化后的残差太阳城集团与纹理太阳城集团进行熵编码的处理,得到编码后可并行重写的H.264/SVC码流。
步骤35、利用网络抽象层NAL对所述可并行重写的码流进行封装,并发送至可重写器对所述码流重写。
步骤36、对所述可并行重写的码流进行重写。
由于现有技术在进行码流的重写时需要维护已解码图像缓存(DPB)的关系,每个访问单元必须要等到在它解码顺序之前的访问单元解码完成后才能重写,这种依赖关系使得重写过程不能并行,相应的重写速度也较低。
而利用本发明实施例的编码方法获得的码流解除了当前宏块与其他访问单元的依赖关系,因此,可以实现码流的并行重写。
如图4所示,其具体步骤如下:首先,对每个网络抽象层单元进行解析,将属于相同访问单元的网络抽象层单元归类。
然后,独立并行的对不同访问单元中网络抽象层单元的数据进行重写。具体的:熵解码H.264/SVC码流得到访问单元中每一层的太阳城集团(由于熵编码后的数据都是被压缩后的2进制数据,熵解码后才能正常读取);再对需要重写的那一层进行H.264/AVC格式的编码:编码时,若某一访问单元的某一个宏块没有使用H.264/SVC的层间预测模式,则完全按照H.264/AVC方式编码;如果参考了低层的数据(层间预测模式中某一帧的某一层预测数据从比当前帧中当前层低的其他层中得到),则需要从下至上计算出当前需要重写层的实际数据,再按照H.264/AVC方式编码,即,根据访问单元内不同层之间的层间预测关系,恢复出每一层的运动矢量差、纹理与残差太阳城集团;对所述每一层的运动矢量差、纹理与残差太阳城集团进行转换重写以及熵编码的处理,获得重写后的H.264/AVC码流;最后,将并行重写后的码流,按照访问单元的先后顺序排序后打包成NAL。
实验数据表明,基于现有技术的编码方式对分辨率为1080i的视频序列编码后,再利用现有技术中重写方式进行重写,其重写速度仅为:8.6帧/秒,且只能单线程重写。
然而,基于本发明实施例的编码方法获得的解除依赖关系的码流,再利用上述方法重写时的速度,远远高于现有技术。如表1所示,本发明实施例中对码流重写时的并行度较高,且单线程的速度也远远高于现有技术中的重写速度。
CPU线程数速度(帧/秒)115.8230.4342.6452.2559.1
表1
其中,测试机器基本参数为:CPU:Intel Xeon E5620@2.40GHz;内存:31.9GB。
本发明实施例通过检测每一宏块对其他访问单元依赖情况,并解除当前宏块对其他访问单元的依赖关系;通过这种方式获得的编码码流,其每一访问单元在重写时可以独立并行的进行重写,提高了重写时的并行度及重写效率,满足了在实时度较高的环境下使用的需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

关 键 词:
一种 实现 伸缩 视频 码流高 并行 重写 编码 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种实现可伸缩视频码流高并行度重写的编码方法.pdf
链接地址:http://zh228.com/p-6420269.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');