CN103220507A - 一种视频编解码方法及系统 - Google Patents
一种视频编解码方法及系统 Download PDFInfo
- Publication number
- CN103220507A CN103220507A CN2012100183304A CN201210018330A CN103220507A CN 103220507 A CN103220507 A CN 103220507A CN 2012100183304 A CN2012100183304 A CN 2012100183304A CN 201210018330 A CN201210018330 A CN 201210018330A CN 103220507 A CN103220507 A CN 103220507A
- Authority
- CN
- China
- Prior art keywords
- coding unit
- goc
- coding
- dividing
- decoding
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008569 process Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
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 (15)
1.一种视频编码方法,其特征在于,该方法包括:
将当前编码图像或编码图像Tile划分为一个或多个编码单元组(GOC);
在每个GOC内部,按照之字型(ZigZag)扫描顺序对每个编码单元进行编码;
将GOC中包含的编码单元行数或编码单元列数写入码流。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
3.根据权利要求1所述的方法,其特征在于,所述将当前编码图像或编码图像Tile划分为一个或多个GOC为:
将当前编码图像或编码图像Tile以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个编码单元列为一个GOC,不满N个编码单元行或N个编码单元列的也记为一个GOC;
其中,所述N为大于1且小于等于当前编码图像或编码图像Tile的实际编码单元行数或实际编码单元列数的正整数。
4.根据权利要求1所述的方法,其特征在于,所述在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码为:
在每个GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行编码,在只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行编码;
当前编码图像或编码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行编码。
5.一种视频解码方法,其特征在于,该方法包括:
将当前解码图像或解码图像Tile划分为一个或多个GOC;
从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
7.根据权利要求5所述的方法,其特征在于,所述将当前解码图像或解码图像Tile划分为一个或多个GOC为:
将当前解码图像或解码图像Tile以编码单元行或编码单元列为单位进行划分,其中N个编码单元行或N个编码单元列为一个GOC,不满N个编码单元行或N个编码单元列的也记为一个GOC;
其中,所述N为大于1且小于等于当前解码图像或解码图像Tile的实际编码单元行数或实际编码单元列数的正整数。
8.根据权利要求5所述的方法,其特征在于,所述根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码为:
根据所述编码单元行数在每个GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在不满N个编码单元行或不满N个编码单元列的GOC内部,按照ZigZag扫描顺序对编码单元进行解码,在只有1个编码单元行或只有1个编码单元列的GOC内部,按照光栅扫描顺序对编码单元进行解码;
当前解码图像或解码图像Tile中划分的多个GOC之间按照光栅扫描顺序进行解码。
9.一种视频编解码方法,其特征在于,该方法包括如权利要求1至4任一项所述的视频编码方法、以及如权利要求5至8任一项所述的视频解码方法。
10.一种视频编码系统,其特征在于,该系统包括:GOC划分单元、编码单元、写入单元;其中,
GOC划分单元,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;
编码单元,用于在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;
写入单元,用于将GOC中包含的编码单元行数或编码单元列数写入码流。
11.根据权利要求10所述的系统,其特征在于,该系统还包括:
Slice划分单元,用于完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
12.一种视频解码系统,其特征在于,该系统包括:GOC划分单元、获取单元、解码单元;其中,
GOC划分单元,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;
获取单元,用于从码流中获取GOC中包含的编码单元行数或编码单元列数;
解码单元,用于根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
13.根据权利要求12所述的系统,其特征在于,该系统还包括:
Slice划分单元,用于完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
14.一种视频编解码系统,其特征包括,该系统包括:视频编码子系统、视频解码子系统;其中,
视频编码子系统,用于将当前编码图像或编码图像Tile划分为一个或多个GOC;在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行编码;将GOC中包含的编码单元行数或编码单元列数写入码流;
视频解码子系统,用于将当前解码图像或解码图像Tile划分为一个或多个GOC;从码流中获取GOC中包含的编码单元行数或编码单元列数,并根据所述编码单元行数或编码单元列数在每个GOC内部,按照ZigZag扫描顺序对每个编码单元进行解码。
15.根据权利要求14所述的系统,其特征在于,
所述视频编码子系统还用于,完成当前编码图像或编码图像Tile的编码过程中,需要进行Slice划分时,将GOC按照ZigZag边界进行划分或按照矩形边界进行划分;
所述视频解码子系统还用于,完成当前解码图像或解码图像Tile的解码过程中,如果码流中存在Slice划分,则将GOC按照ZigZag边界进行划分或按照矩形边界进行划分。
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 true CN103220507A (zh) | 2013-07-24 |
CN103220507B 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744272A (zh) * | 2014-12-09 | 2016-07-06 | 深圳中兴力维技术有限公司 | 基于非对称Tile划分的图像编解码方法及其装置 |
CN106683036A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu高效绘制的帧缓冲区存储编码方法 |
CN111163319A (zh) * | 2020-01-10 | 2020-05-15 | 上海大学 | 一种视频编码方法 |
WO2021164784A1 (en) * | 2020-02-21 | 2021-08-26 | Beijing Bytedance Network Technology Co., Ltd. | Indication of tiles in a video picture |
US12126805B2 (en) | 2020-02-21 | 2024-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Coding of pictures containing slices and tiles |
Citations (5)
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 |
-
2012
- 2012-01-19 CN CN201210018330.4A patent/CN103220507B/zh active Active
Patent Citations (5)
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 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105744272A (zh) * | 2014-12-09 | 2016-07-06 | 深圳中兴力维技术有限公司 | 基于非对称Tile划分的图像编解码方法及其装置 |
CN105744272B (zh) * | 2014-12-09 | 2019-07-19 | 深圳力维智联技术有限公司 | 基于非对称Tile划分的图像编解码方法及其装置 |
CN106683036A (zh) * | 2016-12-12 | 2017-05-17 | 中国航空工业集团公司西安航空计算技术研究所 | 一种面向gpu高效绘制的帧缓冲区存储编码方法 |
CN111163319A (zh) * | 2020-01-10 | 2020-05-15 | 上海大学 | 一种视频编码方法 |
CN111163319B (zh) * | 2020-01-10 | 2023-09-15 | 上海大学 | 一种视频编码方法 |
WO2021164784A1 (en) * | 2020-02-21 | 2021-08-26 | Beijing Bytedance Network Technology Co., Ltd. | Indication of tiles in a video picture |
US11812067B2 (en) | 2020-02-21 | 2023-11-07 | Beijing Bytedance Network Technolgy Co., Ltd. | Slice and tile partitioning in video coding |
US11917211B2 (en) | 2020-02-21 | 2024-02-27 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of slice and tile picture partitions |
US11962814B2 (en) | 2020-02-21 | 2024-04-16 | Beijing Bytedance Network Technology Co., Ltd. | Indication of tiles in a video picture |
US12126805B2 (en) | 2020-02-21 | 2024-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Coding of pictures containing slices and tiles |
Also Published As
Publication number | Publication date |
---|---|
CN103220507B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10623741B2 (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) | 동영상 처리 방법 및 장치 | |
US7346111B2 (en) | Co-located motion vector storage | |
US20160277766A1 (en) | System and Method for Decoding Using Parallel Processing | |
CN105245899B (zh) | 图片编码设备、图片解码设备和图片通信系统 | |
TW201528778A (zh) | 圖像處理裝置、圖像處理方法、圖像處理程式及記錄媒體 | |
CN106134192B (zh) | 图像解码装置、图像解码方法及集成电路 | |
US20180027240A1 (en) | Video encoding apparatus for encoding video frame segment that is partitioned into multiple column tiles and associated video encoding method | |
CN103051892B (zh) | 内嵌式回路滤波方法以及内嵌式回路滤波装置 | |
CN103220507B (zh) | 一种视频编解码方法及系统 | |
KR20140048808A (ko) | 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 부호화 방법 및 그 장치, 다시점 비디오의 인터 레이어 예측 구조에 따른 비디오 스트림 복호화 방법 및 그 장치 | |
KR20190118125A (ko) | 병렬 또는 분산 처리를 위한 화면 분할 정보를 제공하는 방법 및 이를 이용한 장치 | |
WO2020139903A9 (en) | Video coding with triangular shape prediction units | |
EP2425622B1 (en) | Efficient internal cache for hardware motion estimation | |
US8737469B1 (en) | Video encoding system and method | |
US20060245501A1 (en) | Combined filter processing for video compression | |
TWI520618B (zh) | 影像資料處理方法以及影像處理裝置 | |
US20070171980A1 (en) | Method and Related Apparatus For Decoding Video Streams | |
KR20080048262A (ko) | 비디오 복호기 및 복호방법 | |
CN104754345A (zh) | 视频编码方法及视频编码器 | |
TWI786000B (zh) | 色度分離樹的低延遲視訊編解碼方法和裝置 | |
CN103974073B (zh) | 影像数据处理方法以及影像处理装置 | |
CN114339249B (zh) | 视频解码方法、可读介质及其电子设备 | |
CN103986937A (zh) | 一种用于高分辨率视频的h.264帧间编码存储管理方法 |
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 |