视频码流可伸缩性组织方法

文档序号:7684540阅读:223来源:国知局

专利名称::视频码流可伸缩性组织方法
技术领域
:本发明涉及图像和视频编码领域,尤其涉及提供一种基于网络传输单元(NetTransmissionUnits,简称NTU)封装的可伸縮视频完全嵌入式码流组织方法。
背景技术
:现有的视频标准,如H.264x和MPEG-x,它们没有明确定义一个编码器,仅定义了对视频码流编码的语法和对视频码流解码的方法,其基本编解码框架仍然是变换、量化、预测、熵编码。编码端,图像残差块的量化系数经熵编码后,码字与其他码流信息封装在编码视频码流中。解码端接收编码码流,数据元素经过解码和顺序重排,得到一系列量化后的系数,然后进行反量化、反变换生成残差宏块,同时获取运动矢量信息,最终获得重建视频流。编码器输出的比特码流中,每个比特都隶属于某个句法元素。码流也就是一个个句法元素依次衔接组成的,句法元素被组织成有层次的结构,分别描述各个层次的信息。如图1所示。句法元素的分层结构有助于更有效的节省码流,每一层的头部都与它们的数据部分形成管理与被管理的关系。针对传输中的错误掩藏,提高图像重建的质量,H.264视频编码标准将序列与图像的大部分句法元素提取出来形成序列和图像两个参数集,其余部分则放入片。由于参数集的独立,一个片的丢失不会影响其他片的解码。在H.264中将视频流按照一个片封装成一个网络传输的最小单元,他将片的所有数据,包括运动矢量和残差数据的所有编码码流,封装在一个网络传输单元中。因此对码流的可选择性就只停留在一个片的基础上,码流的选择不灵活。随着视频编解码方法及网络通信技术的研究与发展,人们对信息视频编码提出了更高的要求,一方面因为网络异构性,比如有以太网、WIFI、有线电视等网络可能在一种环境下并存,不能寄希望于用户去识别网络及其带宽;另一方面网络终端的异构性,比如PDA、计算机显示器、电视等不同分辨率的显示终端;再者,不同用户对视频的需求可能也是不一样的。因此,要求视频编码能够自适应不同的网络环境、不同的网络终端而且还要适应用户或者商家开发业务的需求。但现有的标准在组织码流的过程中,没有按照特定的网络、终端及用户业务需求组织相应的码流,不能够灵活的满足各种不同的编解码需求。本发明提出一种能够按照网络、终端及用户业务需求组织相应的码流,同时也能在任意的码流中选取相应的编码码流的完全嵌入式码流封装方法。
发明内容本发明的目的在于克服现有技术中存在的上述缺陷,提供一种视频码流可伸縮性组织方法,该方法定义一组视频编码的句法元素,设计一种句法元素的组织方法,按照网络、终端及用户业务需求组织相应的码流,对句法元素提供一种高效,灵活的组织方法,以能更好适应终端产品的需求和网络传输带宽的变化。本发明的解决方案如下一种视频码流的可伸缩性组织方法,包括如下步骤①封装序列参数集网络传输单元在序列参数集中除了规定视频编码的类和级以及序列参数集的ID号以外,还新增加了图像采样格式、一帧图像的大小、时间维选择参数、图像分辨率选择参数和图像质量伸縮选择参数。②封装图像参数集网络传输单元图像参数集除了有图像参数集的标号、所参考的序列参数集的标号、一帧图像的大小、时间维选择参数、图像分辨率选择参数和图像质量伸縮选择参数之外,还包括子带标志位、片分割的类型、每个片中宏块数和八层量化参数,所述子带标志位用于实现时间维的选择。◎封装片参数集网络传输单元在片编码码流封装过程中,将片编码参数组织封装成片参数集网络传输单元,而把片的运动矢量数据和运动残差数据分别独立出来成为单独的运动矢量数据网络传输单元和运动残差数据网络传输单元;在片参数集中,包括片参数集的ID号、当前片在图像中的位置参数以及片中各宏块运动残差数据排列的优先级顺序。④按照片内宏块的顺序组织片中的各宏块的运动矢量,将一个片中的运动矢量数据封装成运动矢量数据网络传输单元。⑤按照在片参数集中指出的优先级顺序将片中残差数据按照宏块的顺序封装成运动残差数据网络传输单元,其中优先级顺序为运动残差数据按照分辨率(Resolution,简称R)、质量层(QualityLayer,简称L)和所属分量(Component,简称C)的优先级顺序进行排列,所述优先级顺序分为RLC、LRC、CRL、CLR四种方式,按照不同优先级可以自适应不同编码传输要求。⑥如果当前片编码码流封装完成,而当前图像编码封装未完成,回到③封装下一个片;如果当前图像编码封装完成而图像序列未封装完成,回到②封装下一个已编码完成的图像;如泉当前图像序列编码封装完成,回到①封装下一个图像序列;直到整个视频编码码流封装完成。与现有视频标准相比,我们采用了新的码流层次结构,同样使用了序列参数集与图像参数集,但是,不同的是片的句法元素也被部分提取出来作为一个参数集,被数据层引用。所有的图像编码宏块的残差和运动矢量数据全部在数据层,一个片中的运动矢量和运动残差分别一次性编码完成,封装成单独的运动矢量数据网络传输单元和运动残差数据网络传输单元,这种新的码流组织结构如图2所示。这种新的码流层次结构是根据网络和终端的异构性及用户业务需求的不同而提出的,片运动残差数据按照不同的优先级顺序,封装成不用的网络传输单元。对于PDA、计算机显示器、标清电视和高清电视等不同分辨率的显示终端,就可以分别选择四个不同等级的分辨率的视频码流来满足终端的要求,另外还可以实现时间维可伸縮和质量上的可伸縮编码来满足不同的网络带宽和不同的质量需求。图1为现有的H.264视频编码标准中句法元素的分层结构图;图2为本发明的码流结构中句法元素的分层结构图;图3为序列参数集中句法元素的组织结构图;图4为图像参数集中句法元素组织结构图;图5为子带标志符的比特结构;图6为宏块数据重组后的宏块示意图;图7片运动矢量数据网络传输单元和运动残差数据网络传输单元结构图;图8可伸縮视频流封装流程图,图中R、L、C分别表示图像的分辨率、质量层、和所具体实施方式下面结合附图对本发明的具体实施方式作进一步说明。首先,在这种新的码流封装方法中,定义了十种网络传输单元(NTU),他们包括序列参数集、图像参数集、片参数集、运动矢量数据、运动残差数据、增强信息、分界符、序列结束、码流结束和填充符。图2为本发明的码流结构中句法元素的分层结构图,在每个网络传输单元的头部,都会用语法元素NTU—type来表示这个网络传输单元传输的数据是哪个类型,具体分配如表l所示属分量。表l<table>tableseeoriginaldocumentpage7</column></row><table>其次,为适应不同终端以及网络带宽,实现灵活选择合适的码流,对各个网络传输单元中的句法元素做了明确的规定。下面结合附图详细介绍各个网络传输单元的句法元素和他们的比特分配。原始图像经过熵编码之后,每一个比特都属于一个相应的句法元素,在网络传输中句法元素被组织成一个个的网络传输单元依次发送出去。1、序列参数集在序列参数集中,码流的参数设置如附图3所示Sl、S2:表示该视频编码的类号和级号的句法元素Profile—id,Level—id,分别占8bits。类定义了可以用来生成标准比特流的一组编码工具和算法,级设定了对比特流某些关键参数的限制。类默认设置为0x00,表示使用CAVLC编码,只有在序列参数集发生变化的时候才重新定义一个序列参数类和级。S3:表示序列参数集的标号seq_paremeter—id,用golomb编码。S4:表示句法元素z,指定图像取样格式Y—U_V,2bit表示。取样格式有四种,它们分别是00:表示黑白显示;01:表示4:2:0的取样格式;10:表示4:2:2的取样格式;11:表示4:4:4的取样格式;S5:6bits保留位reserve—bits;S6,S7:表示句法元素X—Size,Y—Size,他们表示一帧图像横向与纵向大小的参数,以象素为单位,均占用16bits。S8:4bit表示时间维选择的参数time—dim_para;运动补偿时域小波变换(MCTF)之后一个图象组(GOP)可以变换成不同时域小波子带。比如经4级MCTF之后一个16帧的GOP变换成16个不同时域小波子带,按照时间先后顺序分配由小到大的二进制数值如表2所示表2<table>tableseeoriginaldocumentpage8</column></row><table>S9:4bits表示分辨率的选择dist一dimjara,使用DCT变换后系数重组实现视频分辨率可伸縮性编码。如针对对4X4DCT变换后重组系数可将分辨率分成4个等级。0000:表示4:l的分辨率;0001:表示4:2的分辨率;0010:表示4:3的分辨率;0011:表示4:4的分辨率;针对2X2DCT、8X8DCT、16X16DCT以及其他DCT可类似分配分辨率选择参数。S10:8bits表示图像质量方面伸縮参数qua—dimjam,表示可伸縮视频编码对质量层传输的要求,即具体分层层数;随后紧接网络传输单元u停止位以及填充O使得单元数据为整字节,该网络传输单元u单元结束;2、图像参数集在图像参数集中,码流的设计如附图4所示Pl:表示句法元素sub—strap一id,低4bit表示POC子带标志位,我们把一个序列暂时规定为16帧,即通过4级帧间小波变换之后的16帧小波子带;第lbit为标志位,表示句法元素skip—flag,标志当前帧是否跳过;0表示跳过,l表示当前子带需要编码;第24的3bit为保留位;其比特结构如图5所示P2:用8bit表示图像参数集的标号picjarameter—id,以方便片参数集的引用;P3:用8bit表示所引用的序列参数集的标号secuarameterjd;序列参数集用golomb编码,不可能为O,若P3为0,则表示不使用序列参数集中的重复参数,图像参数集中的P4P8有效,总共48bit,若为非O,则使用序列参数集中的S6S10,解码端将在图像参数集中跳过P4P8这48bit,继续读取后面的参数;P4P8:同序列参数集中S6S10的意义一样,当P3为0的时候有效。P9:用3bit表示片分割的类型slicejarve—type:000:表示无片分割,也就是一帧图像就是一个片;001:水平方向光栅扫描片组,按照固定M个宏块为一个slice;010:列方向光栅扫描片组,按照固定M个宏块为一个slice;011:按照矩形分区分slice,(Xmbsize,Ymbsize),也即使XmbsizexYmbsize个宏块的矩形区域作为一个slice;剩下四个slice分割方法保留;P10:句法元素MbNumlnSlice,xbits可变位长度,根据slice的分割方法不同,长度不同,用golomb编码P9=000,P10不需要P9=001,P10用12位表示片中的宏块个数M,也就是M个宏块组成一个片;P9=010,P10用12位表示片中的宏块个数M,也就是M个宏块组成一个片;P9=011,P10用12位表示(Xmbsize,Ymbsize),分别用6位表示,也就是XmbsizexYmbsize个宏块组成一个片;P9其他,P10暂时不需要,不占有bit位;Pll:质量层的量化参数,在可伸縮视频编码中采用不同的量化参数可以产生不同的视频编码质量,Pll根据视频编码需要的不同质量层需求,提供不同的量化参数。比如,实现8层质量可伸縮编码,需要8个递减的量化参数,每一个量化参数用6bits表示,因此,Pl1需要48bits表示这8个不同的量化参数QP—Pic—X(X表示07之间的数值),满足质量可伸縮;后面紧接停止位和填充0,表示一个网络传输单元u单元的结束。3、片参数集片参数集中,码流设计如附图6所示Ll:表示片号slice—id;L2,L3:表示片的第一个宏块在X、Y方向上的位置的句法元素first—mbjos—X,first—mb_pos—Y,均用12b據示,L4:用3bit表示R、L、C的优先顺序的句法元素Prior—ord:即分辨率,质量层、所属分量(色度范围)的优先顺序000:LRC具体的编码顺序如下伪代码所示For1=0;1<L;1++;〃质量层Forr=0;r<R;r++;〃分辨率Forc=0;c<R;c++;〃所属分量........//对应宏块残差数据组织001:RLC具体的编码顺序类似LRC;'010:CLR具体的编码顺序类似LRC;011:CRL具体的编码顺序类似LRC;1XX:为可伸縮编码特性保留(其他优先级待定)L5:表示句法元素QP—flag,是一个标志位,占lbit。表示是否使用图像层的8个量化参数值;为O时表示使用前面的图像参数集中的量化参数,否则使用片参数集中的量化参数L5,48bit的数据;L6:表示QP一slice—X,占48bit,与图象参数集中的P11意义一样;4、残差数据网络传输单元片数据包括运动矢量数据和运动残差数据,首先,同一个片中的运动矢量按照宏块顺序组织起来,封装成一个运动矢量数据网络传输单元;然后,根据L4表示的优先级顺序,将运动残差数据按照宏块顺序组织起来,封装成运动残差数据网络传输单元。其具体的数据格式如附图7所示。如图8所示,具体的视频码流可伸縮性组织方法的主要步骤如下①封装序列参数集网络传输单元;②封装图像参数集网络传输单元;◎封装片参数集网络传输单元;按照在片内宏块的顺序组织运动矢量,封装成运动矢量数据网络传输单元;◎按照在片参数集中指出的优先级顺序将片中残差数据按照宏块的顺序组织起来,封装成运动残差数据网络传输单元;⑥如果当前片编码码流封装完成,而当前图像编码封装未完成,回到③封装下一个片;如果当前图像编码封装完成而图像序列未封装完成,回到②封装下一个已编码完成的图像;如果当前图像序列编码封装完成,回到①封装下一个图像序列;直到整个视频编码码流封装完成。权利要求1、视频码流可伸缩性组织方法,按照不同的可伸缩传输优先级组织视频编码后的码流,其特征在于包括以下步骤(1)封装序列参数集网络传输单元;(2)封装图像参数集网络传输单元;(3)封装成片参数集网络传输单元;(4)把一个片中的运动矢量数据封装成一个运动矢量数据网络传输单元;(5)把一个片中的运动残差数据封装成一个运动残差数据网络传输单元;(6)如果当前片编码码流封装完成,而当前图像编码封装未完成,回到(3)封装下一个片;如果当前图像编码封装完成而图像序列未封装完成,回到(2)封装下一个已编码完成的图像;如果当前图像序列编码封装完成,回到(1)封装下一个图像序列;直到整个视频编码码流封装完成。2、根据权利要求1所述视频码流可伸縮性组织方法,其特征在于步骤(1)的序列参数集中,除了规定视频编码的类和级以及序列参数集的标号以外,还增加了图像采样格式、一帧图像的大小、时间维选择参数、图像分辨率选择参数和图像质量伸縮选择参数。3、根据权利要求l所述视频码流可伸縮性组织方法,其特征在于步骤(2)的图像参数集中,除了有图像参数集的标号、所参考的序列参数集的标号、一帧图像的大小、时间维选择参数、图像分辨率选择参数和图像质量伸缩选择参数之外,还包括子带标志位、片分割的类型、每个片中宏块数和八层量化参数,所述子带标志位用于实现时间维的选择。4、根据权利要求1所述视频码流可伸缩性组织方法,其特征在于步骤(3)中的片参数集包括片参数集的ID号、当前片在图像中的位置参数以及片中各宏块运动残差数据排列的优先级顺序。5、根据权利要求1所述视频码流可伸縮性组织方法,其特征在于步骤(4)中按照片内宏块的顺序组织片中的各宏块的运动矢量,将一个片中的运动矢量数据封装成运动矢量数据网络传输单元。6、根据权利要求1所述视频码流可伸縮性组织方法,其特征在于步骤(5)中按照在片参数集中指出的优先级顺序将片中残差数据按照宏块的顺序封装成运动残差数据网络传输单元。7、根据权利要求4所述视频码流可伸缩性组织方法,其特征在于所述各宏块运动残差数据按照分辨率、质量层、和所属分量的优先级顺序进行排列,所述优先级顺序分为四种分辨率、质量层、所属分量;质量层、分辨率、所属分量;所属分量、分辨率、质量层;所属分量、质量层、分辨率。全文摘要本发明提供一种视频码流可伸缩性组织方法,它将片的编码参数组织成片参数集网络传输单元,将片中的运动矢量和运动残差的数据分开组织并封装,因此增加了两个网络传输单元的类型片数据分成运动矢量数据单元和运动残差数据单元。在片数据块上,为了实现完全的嵌入式,引入片数据新的组织方式,将片中的运动残差数据按照分辨率、分量、质量层的不同的优先级顺序组织码流。这种编码解码方式可以根据各种不同的接收终端为不同的网络带宽传输相应的编码码流,从而根据具体的网络环境最大化视频服务质量。文档编号H04N7/24GK101217654SQ20081002564公开日2008年7月9日申请日期2008年1月4日优先权日2008年1月4日发明者荣余,吴宗泽,欣孙,勰张,曾德炉,谢胜利申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1