CN103220507B - 一种视频编解码方法及*** - Google Patents

一种视频编解码方法及*** Download PDF

Info

Publication number
CN103220507B
CN103220507B CN201210018330.4A CN201210018330A CN103220507B CN 103220507 B CN103220507 B CN 103220507B CN 201210018330 A CN201210018330 A CN 201210018330A CN 103220507 B CN103220507 B CN 103220507B
Authority
CN
China
Prior art keywords
coding unit
goc
coding
decoding
dividing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210018330.4A
Other languages
English (en)
Other versions
CN103220507A (zh
Inventor
梁立伟
王宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201210018330.4A priority Critical patent/CN103220507B/zh
Publication of CN103220507A publication Critical patent/CN103220507A/zh
Application granted granted Critical
Publication of CN103220507B publication Critical patent/CN103220507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

一种视频编解码方法及***
技术领域
本发明涉及通信领域的网络电视技术,尤其涉及一种视频编解码方法及***。
背景技术
目前,高级视频编码标准中都包含帧间预测功能。帧间预测是利用相邻帧的重建图像来预测当前帧,以更好的消除图像之间的时间冗余。如图1所示,帧间预测中分为前向预测P帧和双向预测B帧。在参考帧中搜索与当前帧编码单元(编码单元可以是HEVC标准中的编码单元(CU,Coding Unit)或最大编码单元(LCU,Large Coding Unit),也可以是H.264等标准中的宏模块(MB,MacroBlock)或宏模块对(MBP,MacroBlock Pair))最接近的一个编码单元,该编码单元作为当前编码单元的预测值,只需要把预测残差和运动矢量进行编码,即可在解码端重构出当前编码单元。如图2所示,编码单元按照光栅扫描的顺序依次进行编码,直到整帧图像处理完成。
由于当前帧中的每一个编码单元进行编码时,都需要在参考帧中进行运动搜索,所以要对参考帧进行多次访问。如果每次都从片外同步动态随机存储器(SDRAM,Synchronous Dynamic Random Access Memory)中访问参考帧,那读取参考帧的延时就会非常大,通常在芯片中都会加入一个片上的RAM来作为缓冲,计算单元只需要访问片上RAM中的数据,这样速度就会提高很多。同时相邻块之间可以复用已经读取到片上RAM中的数据,这样就进一步节省了带宽,如图3所示,其中的横向数据和纵向数据都可以充分复用。
但是,图像的宽度增大时,例如4K*2K的视频每行是4KB亮度分量,如果纵向搜索范围为256,则至少需要4K*512=2MB的内存,会严重增大芯片的面积和成本。所以现有芯片中一般只采用横向复用的方式,如图4所示,使用一个搜索窗进行参考帧的数据搬移。同一行编码单元可以复用片内参考帧数据,在编码下一行时,就必须重新加载参考帧,这就导致了纵向复用的缺失,存在很多的重复读取。图5为使用条带(Slice)进行划分时的情况,区域参考帧的数据搬移的策略与图4类似。
以4K*2K的视频为例,如果编码单元的大小为64,在搜索范围为整像素256时,P帧单参考帧时每行编码单元亮度分量至少需要加载(256*2+64)*3840=2211840B,整幅图象亮度分量需要2211840B*34=75.2MB,是单帧亮度分量的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个编码单元列为一个GOC,不满N个编码单元行或N个编码单元列的也记为一个GOC;
其中,所述N为大于1且小于等于当前编码图像或编码图像Tile的实际编码单元行数或实际编码单元列数的正整数。
上述方法中,所述在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码为:
在每个GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;
当前编码图像或编码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行编码。
本发明还提供一种视频解码方法,包括:
将当前解码图像或解码图像Tile划分为一个或多个GOC;
从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
上述方法中,该方法还包括:
完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
上述方法中,所述将当前解码图像或解码图像Tile划分为一个或多个GOC为:
将当前解码图像或解码图像Tile以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个编码单元列为一个GOC,不满N个编码单元行或N个编码单元列的也记为一个GOC;
其中,所述N为大于1且小于等于当前解码图像或解码图像Tile的实际编码单元行数或实际编码单元列数的正整数。
上述方法中,所述根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码为:
根据所述编码单元行数在每个GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行解码;
当前解码图像或解码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行解码。
本发明还提供一种视频编解码方法,包括上述的视频编码方法和视频解码方法。
本发明还提供一种视频编码***,包括:GOC划分单元、编码单元、写入单元;其中,
GOC划分单元,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;
编码单元,用于在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;
写入单元,用于将GOC中包含的编码单元行数或编码单元列数写入码流。
上述***中,该***还包括:
Slice划分单元,用于完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
本发明还提供一种视频解码***,包括:GOC划分单元、获取单元、解码单元;其中,
GOC划分单元,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;
获取单元,用于从码流中获取GOC中包含的编码单元行数或编码单元列数;
解码单元,用于根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
上述***中,该***还包括:
Slice划分单元,用于完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
本发明还提供一种视频编解码***,包括:视频编码子***、视频解码子***;其中,
视频编码子***,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;
视频解码子***,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
上述***中,
所述视频编码子***还用于,完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
所述视频解码子***还用于,完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
本发明提供的视频编解码方法及***,编码端将当前编码图像或编码图像Tile划分为一个或多个GOC;在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;解码端将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码;能够在不影响视频编码压缩率的情况下,提高视频编码运动搜索中的参考帧的复用率,可以降低芯片中30%~60%的外存带宽占用,从而提高视频编解码芯片的性能。
附图说明
图1是现有技术中帧间预测示意图;
图2是现有技术中编码单元及扫面顺序示意图;
图3是现有技术中整行参考数据搬移示意图;
图4是现有技术中区域参考数据搬移示意图;
图5是现有技术中使用Slice时区域参考数据搬移示意图;
图6是本发明实现视频编码方法的实施例一的流程示意图;
图7是本发明中N等于2时GOC的划分示意图;
图8是本发明中N等于3时GOC的划分示意图;
图9是本发明中N等于2时ZigZag扫描顺序的编码示意图;
图10是本发明中N等于3时ZigZag扫描顺序的编码示意图;
图11是本发明中ZigZag扫描顺序中区域参考帧搬移示意图;
图12a是本发明中N等于2时按照ZigZag边界进行Slice划分的示意图;
图12b是本发明中N等于2时按照ZigZag边界进行Leaf-CU aligned Slice划分的示意图;
图13是本发明中N等于3时按照ZigZag边界进行Slice划分的示意图;
图14是本发明中N等于2时按照矩形边界进行Slice划分的示意图;
图15是本发明中N等于3时按照矩形边界进行Slice划分的示意图;
图16是本发明中N等于2时按照ZigZag边界进行Slice划分时区域参考帧搬移示意图;
图17是本发明中N等于3时按照ZigZag边界进行Slice划分时区域参考帧搬移示意图;
图18是本发明实现视频解码方法的实施例一的流程示意图;
图19是本发明实现视频编码方法的实施例二的流程示意图;
图20是本发明中N等于2时Tile模式下GOC的划分示意图;
图21是本发明中N等于2时Tile模式下ZigZag扫描顺序的编码示意图;
图22是本发明中Tile模式下N等于2时按照ZigZag边界进行Slice划分示意图;
图23是本发明实现视频解码方法的实施例二的流程示意图;
图24是本发明实现视频编解码***的结构示意图。
具体实施方式
本发明的基本思想是:编码端将当前编码图像或编码图像Tile划分为一个或多个GOC;在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;解码端将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
下面通过附图及具体实施例对本发明再做进一步的详细说明。
本发明提供一种视频编码方法,包括整帧模式下的视频编码方法和Tile模式下的视频编码方法。
图6是本发明实现视频编码方法的实施例一的流程示意图,为整帧模式下的视频编码方法,如图6所示,该方法包括以下步骤:
步骤601,将当前编码图像划分为一个或多个GOC;
具体的,一个编码图像中包括多个编码单元,在编码端,将当前编码图像以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个或编码单元列为一组,记为一个GOC,最后不满N个编码单元行或N个或编码单元列的也记为一组;其中,N为正整数,且为大于1且小于等于当前编码图像的实际编码单元行数或实际编码单元列数。
例如,图7和图8分别为整帧模式下N等于2和3时GOC的划分示意图,如图7和图8所示,图中的虚线为划分后的GOC的边界。
步骤602,在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;
具体的,在每个GOC内部,从按照光栅扫描顺序对编码单元进行编码,修改为按照之字型(ZigZag)扫描顺序对编码单元进行编码,如图9和图10所示的箭头方向;在不满N个编码单元行或不满N个编码单元列的GOC内部,同样按照ZigZag扫描顺序对编码单元进行编码,对于只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;其中,当前编码图像中划分的多个GOC之间仍然按照光栅扫描顺序进行编码;这样,如图11中的阴影区域,同一个GOC中的两行编码单元就可以复用片内的参考帧区域。
步骤603,将GOC中包含的编码单元行数或编码单元列数写入码流;
具体的,将GOC中包含的编码单元行数N或编码单元列数N写入到码流中,然后按照现有标准中的规定完成当前编码图像的编码处理,主要包括运动估计、帧内预测、变换量化、环路滤波和熵编码等处理。
步骤604,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
具体的,完成当前编码图像的编码处理过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分,按照ZigZag边界进行划分如图12a、图12b和图13所示的粗实线所示,按照矩形边界进行划分如图14和图15所示的粗实线所示;对于属于不同Slice的编码单元,只要还属于同一个GOC内,仍然可以复用片内的参考帧区域,例如,复用的参考帧区域可以如图16和图17中的阴影部分。
图18是本发明实现视频解码方法的实施例一的流程示意图,为整帧模式下的视频解码方法,如图18所示,该方法包括以下步骤:
步骤1801,将当前解码图像划分为一个或多个GOC;
具体的,一个解码图像中包括多个编码单元,在解码端,将当前解码图像以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个或编码单元列为一组,记为一个GOC,最后不满N个编码单元行或N个或编码单元列的也记为一组;其中,N为正整数,且为大于1且小于等于当前解码图像的实际编码单元行数或实际编码单元列数。
例如,图7和图8分别为整帧模式下N等于2和3时GOC的划分示意图,如图7和图8所示,图中的虚线为划分后的GOC的边界。
步骤1802,从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据该编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码;
具体的,从码流中译码获取GOC中包含的编码单元行数或编码单元列数,根据该编码单元行数或编码单元列数在每个GOC内部,从按照光栅扫描顺序对编码单元进行解码,修改为按照ZigZag扫描顺序对编码单元进行解码,如图9和图10所示的箭头方向;在不满N个编码单元行或不满N个编码单元列的GOC内部,同样按照ZigZag扫描顺序对编码单元进行解码,对于只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行解码;其中,当前解码图像中划分的多个GOC之间仍然按照光栅扫描顺序进行解码;这样,如图11中的阴影区域,同一个GOC中的两行编码单元就可以复用片内的参考帧区域。
步骤1803,完成当前解码图像的解码处理;
具体的,按照现有标准的规定完成当前解码图像的解码处理,主要包括熵解码、反变换量化、运动补偿、帧间预测、环路滤波等处理。
步骤1804,码流中存在Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
具体的,如果码流中有已经进行Slice划分的标识,则表示码流中存在Slice划分;码流中存在Slice划分时,将当前解码图像中的GOC按照ZigZag边界进行划分或按照矩形边界进行划分,按照ZigZag边界进行划分如图12a、图12b和图13所示的粗实线所示,按照矩形边界进行划分如图14和图15所示的粗实线所示;对于属于不同Slice的编码单元,只要还属于同一个GOC内,仍然可以复用片内的参考帧区域,例如,复用的参考帧区域可以如图16和图17中的阴影部分。
图19是本发明实现视频编码方法的实施例二的流程示意图,为Tile模式下的视频编码方法,如图19所示,该方法包括以下步骤:
步骤1901,将编码图像Tile划分为一个或多个GOC;
具体的,一个编码图像Tile中包括多个编码单元,在编码端,将编码图像Tile以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个或编码单元列为一组,记为一个GOC,最后不满N个编码单元行或N个或编码单元列的也记为一组;其中,N为正整数,且为大于1且小于等于编码图像Tile的实际编码单元行数或实际编码单元列数。
例如,如图20所示,图中的虚线为划分后的GOC的边界,粗实线为当前编码图像Tile边界。
步骤1902,在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;
具体的,在每个GOC内部,从按照光栅扫描顺序对编码单元进行编码,修改为按照ZigZag扫描顺序对编码单元进行编码,如图21所示的箭头方向;在不满N个编码单元行或不满N个编码单元列的GOC内部,同样按照ZigZag扫描顺序对编码单元进行编码,对于只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;其中,编码图像Tile中划分的多个GOC之间仍然按照光栅扫描顺序进行编码;这样,在一个编码图像Tile内,同一个GOC中的两行编码单元就可以复用片内的参考帧区域。
步骤1903,将GOC中包含的编码单元行数或编码单元列数写入码流;
具体的,将GOC中包含的编码单元行数N或编码单元列数N写入到码流中,然后按照现有标准中的规定完成编码图像Tile的编码处理,主要包括运动估计、帧内预测、变换量化。环路滤波和熵编码等处理。
步骤1904,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
具体的,完成编码图像Tile的编码处理过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分,按照ZigZag边界进行划分如图22所示的粗实线所示;对于同一个Tile内的不同Slice的编码单元,只要还属于同一个GOC内,仍然可以复用片内的参考帧区域。
图23是本发明实现视频解码方法的实施例二的流程示意图,为Tile模式下的视频解码方法,如图23所示,该方法包括以下步骤:
步骤2301,将解码图像Tile划分为一个或多个GOC;
具体的,一个解码图像中包括多个编码单元,在解码端,将解码图像Tile以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个或编码单元列为一组,记为一个GOC,最后不满N个编码单元行或N个或编码单元列的也记为一组;其中,N为正整数,且为大于1且小于等于解码图像Tile的实际编码单元行数或实际编码单元列数。
例如,如图20所示,图中的虚线为划分后的GOC的边界,粗实线为当前编码图像Tile边界。
步骤2302,从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据该编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码;
具体的,从码流中译码获取GOC中包含的编码单元行数或编码单元列数,根据该编码单元行数或编码单元列数在每个GOC内部,从按照光栅扫描顺序对编码单元进行解码,修改为按照ZigZag扫描顺序对编码单元进行解码,如图21所示的箭头方向;在不满N个编码单元行或不满N个编码单元列的GOC内部,同样按照ZigZag扫描顺序对编码单元进行解码,对于只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行解码;其中,解码图像Tile中划分的多个GOC之间仍然按照光栅扫描顺序进行解码;这样同一个GOC中的两行编码单元就可以复用片内的参考帧区域。
步骤2303,完成解码图像Tile的解码处理;
具体的,按照现有标准的规定完成解码图像Tile的解码处理,主要包括熵解码、反变换量化、运动补偿、帧间预测、环路滤波等处理。
步骤2304,码流中存在Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
具体的,如果码流中有已经进行Slice划分的标识,则表示码流中存在Slice划分;码流中存在Slice划分时,将解码图像Tile中的GOC按照ZigZag边界进行划分或按照矩形边界进行划分,按照ZigZag边界进行划分如图22所示的粗实线所示;对于同一Tile内不同Slice的编码单元,只要还属于同一个GOC内,仍然可以复用片内的参考帧区域。
为实现上述方法,本发明还提供一种视频编解码***,图24是本发明实现视频编解码***的结构示意图,如图24所示,该***包括:视频编码子***10、视频解码子***20;其中,
视频编码子***10,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
视频解码子***20,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码;完成当前解码图像的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
所述视频编码子***10进一步包括:GOC划分单元11、编码单元12、写入单元13、Slice划分单元14;其中,
GOC划分单元11,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;
编码单元12,用于在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;
写入单元13,用于将GOC中包含的编码单元行数或编码单元列数写入码流;
Slice划分单元14,用于完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
所述视频解码子***20进一步包括:GOC划分单元21、获取单元22、解码单元23、Slice划分单元24;其中,
GOC划分单元21,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;
获取单元22,用于从码流中获取GOC中包含的编码单元行数或编码单元列数;
解码单元23,用于根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码;
Slice划分单元24,用于完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (13)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210018330.4A CN103220507B (zh) 2012-01-19 2012-01-19 一种视频编解码方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210018330.4A CN103220507B (zh) 2012-01-19 2012-01-19 一种视频编解码方法及***

Publications (2)

Publication Number Publication Date
CN103220507A CN103220507A (zh) 2013-07-24
CN103220507B true CN103220507B (zh) 2018-04-20

Family

ID=48817931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210018330.4A Active CN103220507B (zh) 2012-01-19 2012-01-19 一种视频编解码方法及***

Country Status (1)

Country Link
CN (1) CN103220507B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105744272B (zh) * 2014-12-09 2019-07-19 深圳力维智联技术有限公司 基于非对称Tile划分的图像编解码方法及其装置
CN106683036A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu高效绘制的帧缓冲区存储编码方法
CN111163319B (zh) * 2020-01-10 2023-09-15 上海大学 一种视频编码方法
CN115211124A (zh) 2020-02-21 2022-10-18 抖音视界有限公司 视频编解码中的条带分割和片分割

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101292537A (zh) * 2005-11-08 2008-10-22 松下电器产业株式会社 运动图像编码方法、运动图像解码方法以及装置
CN101365138A (zh) * 2008-10-10 2009-02-11 中国航天科技集团公司第五研究院第五〇四研究所 一种jpeg2000图像压缩处理***
CN101389021A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 视频编解码方法及装置
CN101938657A (zh) * 2010-10-07 2011-01-05 西安电子科技大学 高效视频编码中编码单元自适应划分方法
US20110176601A1 (en) * 2010-01-18 2011-07-21 Sony Corporation Image processing apparatus and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101292537A (zh) * 2005-11-08 2008-10-22 松下电器产业株式会社 运动图像编码方法、运动图像解码方法以及装置
CN101389021A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 视频编解码方法及装置
CN101365138A (zh) * 2008-10-10 2009-02-11 中国航天科技集团公司第五研究院第五〇四研究所 一种jpeg2000图像压缩处理***
US20110176601A1 (en) * 2010-01-18 2011-07-21 Sony Corporation Image processing apparatus and method
CN101938657A (zh) * 2010-10-07 2011-01-05 西安电子科技大学 高效视频编码中编码单元自适应划分方法

Also Published As

Publication number Publication date
CN103220507A (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
US11800109B2 (en) Method and apparatus for sub-picture based raster scanning coding order
US11792427B2 (en) Method for encoding and/or decoding images on macroblock level using intra-prediction
KR101884719B1 (ko) 동영상 처리 방법 및 장치
JP5400888B2 (ja) 並列処理を用いた復号システムおよび方法
US7346111B2 (en) Co-located motion vector storage
CN100534196C (zh) 用于编码数字视频数据的方法和设备
CN105245899B (zh) 图片编码设备、图片解码设备和图片通信***
EP1615446A2 (en) Pipelining decoding apparatus and method
US20180027240A1 (en) Video encoding apparatus for encoding video frame segment that is partitioned into multiple column tiles and associated video encoding method
JP5760953B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号方法、及び動画像符号化方法
CN103051892B (zh) 内嵌式回路滤波方法以及内嵌式回路滤波装置
CN103220507B (zh) 一种视频编解码方法及***
CN106134192B (zh) 图像解码装置、图像解码方法及集成电路
JP2013102298A (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9118891B2 (en) Video encoding system and method
KR20190118125A (ko) 병렬 또는 분산 처리를 위한 화면 분할 정보를 제공하는 방법 및 이를 이용한 장치
US20060245501A1 (en) Combined filter processing for video compression
TWI520618B (zh) 影像資料處理方法以及影像處理裝置
US20070171980A1 (en) Method and Related Apparatus For Decoding Video Streams
CN103974073B (zh) 影像数据处理方法以及影像处理装置
CN104754345A (zh) 视频编码方法及视频编码器
TWI786000B (zh) 色度分離樹的低延遲視訊編解碼方法和裝置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant