一种视频编解码方法及系统技术方案

技术编号:8961559 阅读:115 留言:0更新日期:2013-07-25 20:44
本发明专利技术公开一种视频编解码方法及系统,该系统包括:视频编码子系统将当前编码图像或编码图像Tile划分为一个或多个编码单元组(GOC);在每个GOC内部,按照之字型(ZigZag)扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;视频解码子系统将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。根据本发明专利技术的技术方案,能够提高视频编码运动搜索中的参考帧的复用率,降低外存带宽占用,从而提高视频编解码芯片的性能。

【技术实现步骤摘要】

本专利技术涉及通信领域的网络电视技术,尤其涉及一种视频编解码方法及系统
技术介绍
目前,高级视频编码标准中都包含帧间预测功能。帧间预测是利用相邻帧的重建图像来预测当前帧,以更好的消除图像之间的时间冗余。如图1所示,帧间预测中分为前向预测P帧和双向预测B帧。在参考帧中搜索与当前帧编码单元(编码单元可以是HEVC标准中的编码单元(CU, Coding Unit)或最大编码单元(IXU, Large Coding Unit),也可以是H.264等标准中的宏模块(MB, MacroBlock)或宏模块对(MBP, MacroBlock Pair))最接近的一个编码单元,该编码单元作为当前编码单元的预测值,只需要把预测残差和运动矢量进行编码,即可在解码端重构出当前编码单元。如图2所示,编码单元按照光栅扫描的顺序依次进行编码,直到整帧图像处理完成。由于当前帧中的每一个编码单元进行编码时,都需要在参考帧中进行运动搜索,所以要对参考帧进行多次访问。如果每次都从片外同步动态随机存储器(SDRAM, Synchronous Dynamic Random Access Memory)中访问参考巾贞,那读取参考巾贞的延时就会非常大,通常在芯片中都会加入一个片上的RAM来作为缓冲,计算单元只需要访问片上RAM中的数据,这样速度就会提高很多。同时相邻块之间可以复用已经读取到片上RAM中的数据, 这样就进一步节省了带宽,如图3所示,其中的横向数据和纵向数据都可以充分复用。但是,图像的宽度增大时,例如4K*2K的视频每行是4ΚΒ亮度分量,如果纵向搜索范围为256,则至少需要4Κ*512 = 2ΜΒ的内存,会严重增大芯片的面积和成本。所以现有芯片中一般只采用横向复用的方式,如图4所示,使用一个搜索窗进行参考帧的数据搬移。同一行编码单元可以复用片内参考帧数据,在编码下一行时,就必须重新加载参考帧,这就导致了纵向复用的缺失,存在很多的重复读取。图5为使用条带(Slice)进行划分时的情况, 区域参考帧的数据搬移的策略与图4类似。以4K*2K的视频为例,如果编码单元的大小为64,在搜索范围为整像素256时,P 帧单参考帧时每行编码单元亮度分量至少需要加载(256*2+64) *3840 = 2211840Β,整幅图象亮度分量需要2211840Β*34 = 75.2ΜΒ,是单帧亮度分量的9倍,60fps时亮度分量带宽就是75.2*60 = 4.5GB,B帧则翻倍为9GB,多参考B帧则需要更多。如果再考虑上色度分量, 特别是在YUV4:4:4模式时,带宽还要增加。而目前DDR3-160064bit的理论带宽只有12GB, 实际带宽不到10GB,显然会造出性能的瓶颈。如何能降低外存带宽占用,提高芯片的性能就是需要解决的问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种视频编解码方法及系统,能够提高视频编码运动搜索中的参考帧的复用率,降低 外存带宽占用,从而提高视频编解码芯片的性倉泛。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术提供一种视频编码方法,包括:将当前编码图像或编码图像Tile划分为一个或多个编码单元组(GOC);在每个GOC内部,按照之字型(ZigZag)扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流。上述方法中,该方法还包括:完成当前编码图像或编码图像Tile的编码过程中, 需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。上述方法中,所述将当前编码图像或编码图像Tile划分为一个或多个GOC为:将当前编码图像或编码图像Tile以编码单元行或编码单元列为单位进行划分, 其中N个编码单元行或N个编码单元列为一个G0C,不满N个编码单元行或N个编码单元列的也记为一个GOC ;其中,所述N为大于I且小于等于当前编码图像或编码图像Tile的实际编码单元行数或实际编码单元列数的正整数。上述方法中,所述在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码为:在每个GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在只有I个编码单元行或只有I个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;当前编码图像或编码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行编码。本专利技术还提供一种视频解码方法,包括:将当前解码图像或解码图像Tile划分为一个或多个GOC ;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。上述方法中,该方法还包括:完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分, 则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。上述方法中,所述将当前解码图像或解码图像Tile划分为一个或多个GOC为:将当前解码图像或解码图像Tile以编码单元行或编码单元列为单位进行划分, 其中N个编码单元行或N个编码单元列为一个G0C,不满N个编码单元行或N个编码单元列的也记为一个GOC ;其中,所述N为大于I且小于等于当前解码图像或解码图像Tile的实际编码单元行数或实际编码单元列数的正整数。上述方法中,所述根据所述编码单元行数或编码单元列数在每个GOC内部,按照 ZigZag扫描顺序对每个编码单元进行解码为:根据所述编码单元行数在每个GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在只有I个编码单元行或只有I个编码单元 列的GOC内部,按照光栅扫描顺序对编码单元进行解码;当前解码图像或解码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行解码。本专利技术还提供一种视频编解码方法,包括上述的视频编码方法和视频解码方法。本专利技术还提供一种视频编码系统,包括:G0C划分单元、编码单元、写入单元;其中,GOC划分单元,用于将当前编码图像或编码图像Tile划分为一个或多个GOC ;编码单元,用于在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;写入单元,用于将GOC中包含的编码单元行数或编码单元列数写入码流。上述系统中,该系统还包括:Slice划分单元,用于完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。本专利技术还提供一种视频解码系统,包括:G0C划分单元、获取单元、解码单元;其中,GOC划分单元,用于将当前解码图像或解码图像Tile划分为一个或多个GOC ;获取单元,用于从码流中获取GOC中包含的编码单元行数或编码单元列数;解码单元,用于根据所述编码单元行数或编码单元列数在每个GOC内部,按照 ZigZag扫描顺序对每个编码单元进行解码。上述系统中,该系统还包括:Slice划分单元,用于完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进本文档来自技高网
...
一种视频编解码方法及系统

【技术保护点】
一种视频编码方法,其特征在于,该方法包括:将当前编码图像或编码图像Tile划分为一个或多个编码单元组(GOC);在每个GOC内部,按照之字型(ZigZag)扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流。

【技术特征摘要】
1.一种视频编码方法,其特征在于,该方法包括:将当前编码图像或编码图像Tile划分为一个或多个编码单元组(GOC);在每个GOC内部,按照之字型(ZigZag)扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流。2.根据权利要求1所述的方法,其特征在于,该方法还包括:完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。3.根据权利要求1所述的方法,其特征在于,所述将当前编码图像或编码图像Tile划分为一个或多个GOC为:将当前编码图像或编码图像Tile以编码单元行或编码单元列为单位进行划分,其中N 个编码单元行或N个编码单元列为一个G0C,不满N个编码单元行或N个编码单元列的也记为一个GOC ;其中,所述N为大于I且小于等于当前编码图像或编码图像Tile的实际编码单元行数或实际编码单元列数的正整数。4.根据权利要求1所述的方法,其特征在于,所述在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码为:在每个GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在只有I个编码单元行或只有I个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;当前编码图像或编码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行编码。5.一种视频解码方法,其特征在于,该方法包括:将当前解码图像或解码图像Tile划分为一个或多个GOC ;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。6.根据权利要求5所述的方法,其特征在于,该方法还包括:完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将 GOC按照ZigZag边界进行划分或按照矩形边界进行划分。7.根据权利要求5所述的方法,其特征在于,所述将当前解码图像或解码图像Tile划分为一个或多个GOC为:将当前解码图像或解码图像Tile以编码单元行或编码单元列为单位进行划分,其中N 个编码单元行或N个编码单元列为一个G0C,不满N个编码单元行 或N个编码单元列的也记为一个GOC ;其中,所述N为大于I且小于等于当前解码图像或解码图像Tile的实际编码单元行数或实际编码单元列数的正整数。8.根据权利要求5所述的方法,其特征在于,所述根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码为:根据所述编码单元行数在每个GOC内部,按照ZigZag扫描顺序对编码单元进行解码, 在不满N个编码单元行或不满N个编...

【专利技术属性】
技术研发人员:梁立伟王宁
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1