CN111050164B - 一种编解码的方法和装置 - Google Patents
一种编解码的方法和装置 Download PDFInfo
- Publication number
- CN111050164B CN111050164B CN201811198705.3A CN201811198705A CN111050164B CN 111050164 B CN111050164 B CN 111050164B CN 201811198705 A CN201811198705 A CN 201811198705A CN 111050164 B CN111050164 B CN 111050164B
- Authority
- CN
- China
- Prior art keywords
- coding
- block
- information
- sub
- encoding
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims description 24
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 18
- 238000009795 derivation Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 238000013139 quantization Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012432 intermediate storage Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供了一种编解码的方法和装置,该编解码方法包括:编码装置根据待编码的编码块,衍生获得衍生块;该编码装置采用跳过编码模式或直接编码模式对该衍生块进行编码,得到第一编码信息;该编码装置根据该第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示该第一编码信息是对该衍生块采用跳过编码模式或直接编码模式进行编码获得的;解码装置解析码流以获得该指示信息;该解码装置对该衍生块采用跳过编码模式或者直接编码模式进行解码。本申请实施例的编解码的方法,有助于提高编码增益。
Description
技术领域
本申请涉及通信领域,并且更具体地,涉及一种编解码的方法和装置。
背景技术
联合视频专家组(joint video exploration team,JVET)正在制定新一代视频编码压缩标准H.266/通用视频编码(versatile video coding,VVC)。音视频编码标准3(audio video coding standard 3,AVS3)正在制定新一代的标准AVS3大体都是基于此框架结构。正在研制的最新视频编码标准H.266/VVC标准草案2.0和AVS3标准草案中,采纳了多个编码工具,分布在预测,变换,量化,环路滤波和熵编码各个模块中。
目前正在制定AVS3中的跳过(skip)和直接(direct)编码方式都是不进行运动搜索,只在通过已编码的周围块中进行运动矢量(motion vector,MV)的导出,其中skip编码中不传残差信息,direct编码中需要传残差信息,并且skip编码和direct的编码只针对2N×2N模式,编码增益较低。
发明内容
有鉴于此,本申请提供一种编解码的方法和装置,以期提高编码增益。
第一方面,提供了一种编码方法,该方法包括:编码装置根据待编码的编码块,衍生获得衍生块;该编码装置采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息所述第一编码模式包括跳过编码模式或者直接编码模式;该编码装置根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块或者所述衍生块的子块采用所述跳过编码模式或所述直接编码模式进行编码获得的。
在一些可能的实现方式中,该编码装置采用该第一编码模式,对衍生块进行编码,以得到第一编码信息,包括:
在满足预设条件的情况下,对采用该第一编码模式,对该衍生块进行编码,以得到该第一编码信息。
具体地,本申请实施例中,该预设条件可以为以下一种或者多种:
(1)当衍生块或者其子块的长和宽小于或者等于第一数值;
(2)当衍生块或者其子块的长和宽大于或者等于第二数值;
(3)在衍生模式下得到一些特定的块。
在一些可能的实现方式中,该编码装置可以对该衍生块或者其子块采用该跳过编码模式或者该直接编码模式进行编码后得到第一编码信息,该衍生块以及衍生块中的每一个子块共享该第一编码信息。
在一些可能的实现方式中,当该衍生块的大小大于第三数值时,对该衍生块采用跳过编码模式或者直接编码模式进行编码;当该衍生块的大小小于第四数值时,对第一子块采用跳过编码模式或者直接编码模式进行编码;当该衍生块的大小小于第五数值时,对第二子块采用跳过编码模式或者直接编码模式进行编码;其中,该衍生块包括该第一子块和该第二子块。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块或者子块采用跳过编码模式或者直接编码模式进行编码,由于skip编码模式或者direct编码模式中不进行运动搜索过程,因此可以在较低复杂度下,得到较好的编码增益以及好的质量。
结合第一方面,在第一方面的某些可能的实现方式中,该衍生块由多个子块组成,该编码装置对该衍生块进行编码,以得到第一编码信息,包括:该编码装置采用该第一编码模式,对该多个子块中的每个子块分别进行编码,以得到多个编码信息;该编码装置从该多个编码信息中确定该第一编码信息。
结合第一方面,在第一方面的某些可能的实现方式中,该编码装置从该多个编码信息中确定该第一编码信息,包括:该编码装置确定该多个编码信息的代价;该编码装置根据该多个编码信息的代价,确定该第一编码信息。
在一些可能的实现方式中,该计算代价的方法包括但不限于RDO、SAD或者SATD。
在一些可能的实现方式中,该第一编码信息为该多个编码信息中代价最低的编码信息。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块中每个子块采用跳过编码模式或者直接编码模式进行编码,并从中选择代价最小的编码信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。
结合第一方面,在第一方面的某些可能的实现方式中,在该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。
结合第一方面,在第一方面的某些可能的实现方式中,在该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。
结合第一方面,在第一方面的某些可能的实现方式中,该指示信息还用于指示该多个子块中每个子块的编码信息相同或者不同。
应理解,本申请实施例中,该编码装置可以对每个子块都进行编码,也可以对衍生块中的一部分子块进行编码。
结合第一方面,在第一方面的某些可能的实现方式中,该衍生块由多个子块组成,该编码装置对该衍生块进行编码,以得到第一编码信息,包括:该编码装置采用该第一编码模式,对该衍生块进行编码,以得到第二编码信息;该编码装置采用该第一编码模式,对该多个子块中每个子块分别进行编码,以得到多个编码信息;该编码装置根据该第二编码信息和该多个编码信息,确定该第一编码信息。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块以及衍生块中的每一个子块分别采用跳过编码模式或者直接编码模式进行编码,将其中代价较小者确定为第一编码信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。
结合第一方面,在第一方面的某些可能的实现方式中,该编码装置根据该第二编码信息和该第三编码信息,确定该第一编码信息,包括:该编码装置确定该第二编码信息的代价和该多个编码信息的代价;该编码装置根据该第二编码信息的代价和该多个编码信息的代价,确定该第一编码信息。
结合第一方面,在第一方面的某些可能的实现方式中,该指示信息还用于指示该第一编码信息为该第二编码信息或者该多个编码信息。
在一些可能的实现方式中,若该第二编码信息的代价小于该多个编码信息的代价,则该第一编码信息为该第二编码信息,若该第二编码信息的代价大于该多个编码信息的代价,则该第一编码信息为该多个编码信息。
第二方面,提供了一种解码方法,该方法包括:解码装置从码流中确定指示信息,该指示信息用于指示对衍生块采用第一编码模式进行编码以获得编码信息;该解码装置根据该指示信息,采用该第一编码模式,对该衍生块进行解码。
在一些可能的实现方式中,该第一编码模式包括跳过编码模式或者直接编码模式。
在一些可能的实现方式中,该衍生块由编码块在衍生模式下衍生得到。
结合第二方面,在第二方面的某些可能的实现方式中,该指示信息用于指示该编码信息是对第一子块采用该第一编码模式进行编码获得的,该解码装置采用该第一编码模式,对该衍生块进行解码,包括:该解码装置采用该第一编码模式,对该第一子块进行解码。
结合第二方面,在第二方面的某些可能的实现方式中,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该解码装置对采用该第一编码模式,该衍生块进行解码,包括:该解码装置采用该第一编码模式,对第二子块进行解码,该第二子块为该多个子块中的任意一个子块。
结合第二方面,在第二方面的某些可能的实现方式中,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该解码装置采用该第一编码模式,对该衍生块进行解码,包括:该解码装置采用该第一编码模式,对该多个子块中的每个子块分别进行解码。
第三方面,提供一种编码装置,该装置包含用于执行上述第一方面或者第一方面中的任意一种实现方式中的方法的模块。
第四方面,提供一种编码装置,该装置包含用于执行上述第二方面或者第二方面中的任意一种实现方式中的方法的模块。
第五方面,提供一种解码装置,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第一方面或者第一方面中的任意一种实现方式中的方法的部分或全部步骤。
第六方面,提供一种解码装置,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第二方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤。
第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤的指令。
第八方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤的指令。
附图说明
图1是图像编码过程的示意图。
图2是一种块划分的方式的示意图。
图3是另一种块划分的方式的示意图。
图4是块E和它的相邻块的空间位置关系的示意图。
图5是本申请实施例提供的编码方法的示意性流程图。
图6是另一种块划分的方式的示意图。
图7是另一种块划分的方式的示意图。
图8是本申请实施例提供的另一编码方法的示意性流程图。
图9是本申请实施例提供的另一编码方法的示意性流程图。
图10是本申请实施例提供的解码方法的示意性流程图。
图11是本申请实施例提供的编码装置的示意性框图。
图12是本申请实施例提供的解码装置的示意性框图。
图13是本申请实施例的视频编解码装置的示意性图。
图14是本申请实施例的视频编解码系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更好地理解本申请实施例的技术方案,下面首先介绍一下本申请实施例涉及的图像编码过程。
图1是图像编码过程的示意图,该过程主要包括帧内预测(intra prediction)、帧间预测(inter prediction)、变换(transform)、量化(quantization)、熵编码(entropyencode)、环路内滤波(in-loop filtering)等环节。
首先将图像划分为块之后进行帧内和帧间预测,在得到残差之后进行变换量化,最终进行熵编码并输出码流。这里块为像素点组成的M×N大小的阵列(M不一定等于N),并且已知各个像素点位置的像素值。
帧内预测利用当前图像内已重建区域内像素点的像素值根据相应的帧内预测模式对当前块内像素点的像素值进行预测。
帧间预测是在已重建的图像中,为当前图像中的当前编码块寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码块中像素点的像素值的预测信息或者预测值(以下不再区分信息和值)(此过程称为运动估计(motion estimation,ME))(如图1所示),并需要传输指向参考块的运动矢量(motion vector,MV)(运动矢量信息表示参考块位置相比于当前块位置的位置偏移),以及参考块所在图像的指示信息等。
运动估计过程需要为当前块在参考图像中尝试多个参考块,最终使用哪一个或者哪几个参考块用作预测则使用率失真优化(rate-distortion optimization,RDO)或者其他方法确定。
利用帧内或者帧间预测得到预测信息之后,当前编码块内像素点的像素值减去对应的预测信息便得到残差信息,然后利用离散余弦变换(discrete cosinetransformation,DCT)和离散正弦变换(discrete sine transform,DST)等方法对残差信息进行变换,再使用量化熵编码得到码流。预测信号加上重建残差信号之后需进一步进行滤波操作,进而得到重建信号,并将其作为后续编码的参考信号。
解码则相当于编码的逆过程。如图1所示,首先利用熵解码反量化反变换得到残差信息,解码码流确定当前块使用的是帧内还是帧间预测。
如果是帧内编码,则利用周围已重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息。
如果是帧间编码,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将块内像素点的像素值作为预测信息(此过程称为运动补偿(motion compensation,MC))。使用预测信息加上残差信息经过滤波操作之后便可以得到重建信息。
应理解,以上仅为对一般图像编解码器的解释,实际中可能有所不同。
还应理解,本申请实施例的技术方案主要应用于图像编码器的预测之前的跳过(skip)编码或者直接(direct)编码中,或者,应用于图像解码器的反预测之后跳过(skip)解码或者直接(direct)解码中,存在于大部分图像编解码器中,例如H.263、H.264、H.265、H.266的编码过程中,如图1所示。
下面介绍与本申请实施例相关的几个概念。
衍生模式:一种新型的块划分方式,它可以根据一个块衍生为多个子块,其中衍生块是一种细分方式,衍生出来的子块根据细分方式进行合并得来的。
图2示出了一种块划分的方式的示意图,如图2所示,块100可以根据不同的划分方式划分为块101、块102或者块103,其中,块101可以衍生为衍生块1011-1018,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平的三根线衍生得到的;块102可以衍生为衍生块1021-1028,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直的三个线衍生得到;块103可以衍生为衍生块1031-1038,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平和垂直的四个子条得到。
图2是以方块进行衍生为例进行了说明,还可以对非方块进行衍生,图3示出了另一种块划分的方式的示意图,如图3所示,非方形块200和非方形块300也可以进行水平和垂直衍生,其中,块200可以衍生为衍生块201-204,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平衍生得到的;块200还可以衍生为衍生块205-208,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直衍生得到的。
块300可以衍生为衍生块301-304,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平衍生得到的;块300还可以衍生为衍生块305-308,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直衍生得到的。
应理解,图2和图3中对块的划分以及衍生仅仅是示意性的,本申请实施例中并不对块的划分和衍生方式进行具体限定。
周围块(或者,还可以称为相邻块):块E的相邻块A是样本(x0-1,y0)所在的块,块E的相邻块B是样本(x0,y0-1)所在的块,块E的相邻块C是样本(x1+1,y0-1)所在的块,块E的相邻块D是样本(x0-1,y0-1)所在的块,块E的相邻块F是样本(x0-1,y1)所在的块,块E的相邻块G是样本(x1,y0-1)所在的块。其中(x0,y0)是块E左上角样本在图像中的坐标,(x1,y0)是块E右上角样本在图像中的坐标,(x0,y1)是块E左下角样本在图像中的坐标。块E和它的相邻块A、B、C和D的空间位置关系见图4。
周围块X(X为A、B、C、D、F或G)“存在”指该块应在图像内并且该块应与块E属于同一条带;否则相邻块“不存在”。
如果块“不存在”或者尚未解码,则此块“不可用”;否则此块“可用”。如果图像样本所在的块“不存在”或者此样本尚未解码,则此样本“不可用”;否则此样本“可用”。
应理解,图4仅仅是示意性的,随着标准的发展,会有所不同,比如F块下方可能还有相邻块。
下面介绍跳过(skip)编码模式或者直接(direct)编码模式中MV的导出方式:
首先计算PicCur到PicCol的BlockDistance(记作BlockDistanceCurCol)和PicCol到PicColRef的BlockDistance(记作BlockDistanceColRef):
(1)如果当前图像的SceneReferenceEnableFlag值为1且RefPicNum值为1,则BlockDistanceCurCol和BlockDistanceColRef均为1;
(2)否则,如果MvSuCol中存储的参考图像索引值为-1,则BlockDistanceColRef等于1,BlockDistanceCurCol=(DistanceIndexCur-DistanceIndexCol+512)%512;
(3)否则,BlockDistanceCurCol=(DistanceIndexCur-DistanceIndexCol+512)%512,BlockDistanceColRef=(DistanceIndexCol-DistanceIndexColRef+512)%512。
其中,PicCur是当前预测单元所在的图像,DistanceIndexCur是PicCur的距离索引,PicCol是参考图像队列中标记为0的参考图像,DistanceIndexCol是PicCol的距离索引,MvSuCol是PicCol中与当前预测单元左上角亮度样本位置对应的亮度样本所在的运动信息存储单元,DistanceIndexColRef是MvSuCol的前向或第一参考图像PicColRef的距离索引;然后按以下方法导出当前预测单元的运动矢量:
(4)如果MvSuCol中存储的参考图像索引值为-1,则mvE是零矢量;
(5)如果步骤(4)的条件不满足,按以下方法导出mvE(mvE_x,mvE_y):
mvE_x=Clip3(-32768,32767,(BlockDistanceCurCol×mvcol_x×(16384/BlockDistanceColRef)+8192)>>14);
mvE_y=Clip3(-32768,32767,((BlockDistanceCurCol×(mvcol_y+delta1)×(16384/BlockDistanceColRef)+8192)>>14)-delta2)。
其中,mvcol(mvcol_x,mvcol_y)是MvSuCol的前向运动矢量,delta1、delta2的导出方式常量,则mvE是当前预测单元的前向运动矢量。
B帧的MV导出有类似的情况,当然,不同的标准skip编码模式或者direct编码模式的MV导出方式不一样。确定MV之后,skip编码模式的预测值就是mv指向的参考帧块的值,direct编码模式中需要把mv指向的参考帧块的值和当前块的值进行预测,变换,量化,最后的残差需要传入码流之中。
目前正在制定AVS3中的跳过(skip)或者直接(direct)编码模式都是不进行运动搜索,只在通过已编码的周围块中进行MV的导出,其中skip编码过程中不传残差,direct编码过程中需要传残差信息,并且skip或者direct编码只针对2Nx2N模式,对于衍生模式中的块划分方式,没有充分考虑进去,影响衍生模式的利用率,同时,skip或者direct编码只针对当前不划分的块进行,对于划分的子块没有进一步考虑进行,编码增益较低。
本申请实施例提供了一种编码方法,通过对衍生块或者衍生块中的子块进行skip或者direct编码,可以实现在较低复杂度下,得到好的编码增益。
图5示出了本申请实施例提供的编码方法400的示意性流程图,该方法400可以由编码装置执行,如图5所示,该方法400包括:
S410,根据待编码的编码块,衍生获得衍生块。
可选地,该衍生块由一个或者多个子块组成。
应理解,本申请实施例对编码块进行衍生的过程可以如图2所示,该待编码的编码块可以为图2中的块100,也可以为图3中的块200和块300,还可以为其他形状的编码块,本申请实施例对此并不作任何限定。
420,采用第一编码模式,对该衍生块进行编码,以得到第一编码信息。
可选地,该第一编码模式可以包括跳过编码模式或者直接编码模式。
具体而言,可以对待编码的编码块进行划分后,进行衍生得到衍生块,其中衍生得到的衍生块可以由多个子块组成,编码装置可以对衍生块和/或衍生块中的子块采用跳过编码模式或者直接编码模式进行编码,得到第一编码信息。
可选地,该第一编码信息包括MV的信息。
可选地,本申请实施例中,该编码装置可以只对衍生块采用跳过编码模式或者直接编码模式进行编码,也可以只对衍生块的子块采用跳过编码模式或者直接编码模式进行编码,还可以对衍生块和衍生块的子块进行编码。
可选地,该衍生块由多个子块组成,当编码装置对衍生块的子块采用跳过编码模式或者直接编码模式进行编码时,可以对衍生块中的每一个子块采用跳过编码模式或者直接编码模式进行编码,也可以对衍生块的一部分子块采用跳过编码模式或者直接编码模式进行编码。
应理解,本申请实施例中,对衍生块或者其子块采用跳过编码模式或者直接编码模式进行编码,也可以理解为对该衍生块或者其子块进行跳过编码或者直接编码。
图6示出了另一种块划分的方式的示意图,如图6所示,块501可以衍生为衍生块5011,衍生块5012和衍生块5013,块502可以衍生为衍生块5021,衍生块5022和衍生块5023。对衍生块5011、5012、5013、5021、5022或者5023进行skip或者direct编码。具体的编码方式,如对衍生块5011进行skip和direct编码,编码信息的获取,如mv的矢量的获取,可以根据衍生块5011的整体进行编码获得该编码信息,也可以根据5011中子块1进行编码信息的获取,也可以根据子块2进行编码信息的获取。
应理解,以上图6所示的衍生块的衍生模式并不局限于以上几种,也可能是如图7所示的各种衍生块的衍生模式。
可选地,采用第一编码模式,对该衍生块进行编码,,以得到第一编码信息,包括:
在确定预设条件发生的情况下,采用该第一编码模式,对该衍生块进行编码,以得到第一编码信息。
可选地,在确定是否对该衍生块进行编码时,该预设条件包括但不限于以下的一种或者多种:
(1)衍生块的长和宽大于或者等于M;
(2)衍生块的长和宽小于或者等于N,M小于或者等于N;
(3)衍生块的面积大于或者等于P;
(4)该衍生块的面积小于或者等于Q,P小于或者等于Q;
(5)衍生模式下得到了特定的衍生块。
例如,对于32×32的方形块,按照1:2:1水平衍生出2个32×8和一个32×16的非方形子块,当编码装置确定子块的长和宽大于或者等于16时采用跳过编码模式或者直接编码模式进行编码,则可以对该衍生块和/或32×16的子块进行编码。
又例如,当衍生块的面积大于或者等于P时,该第一编码信息可以是对整个衍生块采用跳过编码模式或者直接编码模式进行编码。
可选地,在确定是否对子块进行编码时,该预设条件包括但不限于以下的一种或者多种:
(1)子块的长和宽大于或者等于K;
(2)子块的长和宽小于或者等于L,K小于或者等于L;
(3)子块的面积大于或者等于W;
(4)子块的面积小于或者等于Y,W小于或者等于Y;
(5)衍生模式下得到了特定的子块。
例如,衍生块包括子块1和子块2,当子块1的面积大于或者等于W,且子块2的面积小于W时,该第一编码信息可以是对子块1采用跳过编码模式或者直接编码模式进行编码获得的。
又例如,当编码装置确定子块为L型时进行跳过或者直接编码,如图2所示,当块103衍生为衍生块1037时,可以对该衍生块1037和/或其子块进行编码。
可选地,当该第一编码信息确定后,整个衍生块可以共享该第一编码信息。
例如,如图6所示,对衍生块5011的子块1采用跳过编码模式或者直接编码模式得到该第一编码信息,子块2可以共享该第一编码信息,即子块1的编码信息和子块2的编码信息相同。
S430,根据该第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示该第一编码信息是对该衍生块采用该第一编码模式获得的。
具体而言,编码装置获得该第一编码信息,经过预测、变换、量化和熵编码等过程后获得码流,该编码装置可以在码流中写入指示信息,指示信息指示了编码装置获得的编码信息为对衍生块或者衍生块中的子块进行编码得到的,以便于解码装置在解析码流后,判断进行skip编码或者direct编码信息的解析。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块或者子块采用跳过编码模式或者直接编码模式进行编码,由于skip编码或者direct编码中不进行运动搜索过程,因此可以在较低复杂度下,得到较好的编码增益以及好的质量。
图8示出了本申请实施例的编码方法400的另一示意性流程图,如图8所示,该方法400包括:
S411,根据待编码的编码块,衍生获得衍生块。
应理解,S411与上述S410相同,为了简洁,在此不再赘述。
S421,采用第一编码模式进行编码,对该衍生块中的每一个子块分别进行编码,以得到多个编码信息。
可选地,该第一编码模式可以包括跳过编码模式或者直接编码模式。
具体而言,该衍生块可以由多个子块组成,编码装置可以对多个子块中的每一个子块分别进行编码,得到每一个子块对应的编码信息。
例如,对于图6所示的衍生块5011,编码装置可以分别对子块1和子块2分别采用跳过编码模式或者直接编码模式进行编码,得到两个编码信息。
S422,根据该多个编码信息,确定该第一编码信息。
可选地,该根据该多个编码信息,确定该第一编码信息,包括:
计算该多个编码信息中每一个编码信息的代价;
根据每一个编码信息的代价,确定该第一编码信息。
可选地,该第一编码信息为该多个编码信息中代价最小的编码信息。
可选地,本申请实施例中,并不对计算代价的方式进行具体限定,该计算代价的方式可以为率失真(rate-distortion optimization,RDO)决策、绝对值之和(sum ofabsolute differences,SAD)算法或者变换后再绝对值求和(sum of absolutetransformed difference,SATD)算法等。
例如,如图6所示,该衍生块5011由子块1和子块2组成,编码装置可以对子块1进行编码得到编码信息1,对子块2进行编码得到编码信息2,分别计算编码信息1的代价和编码信息2的代价,在确定编码信息1的代价小于编码信息2的代价后,将该编码信息1确定为该第一编码信息。
S431,根据所述第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示所述第一编码信息是对该衍生块采用该第一编码模式进行编码获得的。
具体而言,该编码装置对多个子块中每个子块分别进行编码后,从多个编码信息中确定出该第一编码信息,该第一编码信息对应第一子块,该编码装置可以将该第一子块的标识信息写入码流,用于指示该第一编码信息是对该第一子块采用该第一编码模式进行编码获得的。
可选地,该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。
具体而言,当编码装置对该多个子块进行编码得到的编码信息相同时,该编码装置可以将其中任意一个编码信息确定为该第一编码信息。
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息相同。
应理解,本申请实施例中,当该多个编码信息相同时,可以只写入一次编码信息,或者不写入编码信息,在解码端,如果读到码流中的指示信息指示多个子块的编码信息相同,则可以只读入一次编码信息,或者,不读入编码信息,如果写入了编码信息,解码端可以直接用多个子块中任意一个子块的编码信息推导或者解码得到该第一编码信息。
可选地,该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。
具体而言,当编码装置对该多个子块中每一个子块进行编码得到的编码信息不同时,该编码装置可以将该多个编码信息确定为该第一编码信息。
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息不同。
应理解,本申请实施例中,当该多个编码信息不同时,可以写入该多个编码信息,解码端可以用多个子块中每一个子块的编码信息推导或者解码得到该第一编码信息。
还应理解,本申请实施例中,S421中还可以对该多个子块中一部分采用该第一编码模式进行编码,例如,衍生块包括5个子块,编码装置可以选择其中3个子块进行编码得到3个编码信息,并从该3个编码信息中确定该第一编码信息。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块中的子块分别采用跳过编码模式或者直接编码模式进行编码,可以在较低复杂度下,得到较好的编码增益以及好的质量。
图9示出了本申请实施例的编码方法400的另一示意性流程图,如图9所示,该方法400包括:
S412,根据待编码的编码块,衍生获得衍生块。
应理解,S412与上述S410相同,为了简洁,在此不再赘述。
S423,采用第一编码模式,对该衍生块进行编码,以得到第二编码信息;
S424,采用第一编码模式,对该衍生块中的每一个子块进行编码,以得到多个编码信息。
可选地,该第一编码模式包括该跳过编码模式或者直接编码模式。
具体而言,编码装置可以对衍生块以及衍生块中的每一个子块都采用跳过编码模式或者直接编码模式进行编码。
应理解,S423和S424之间并没有实际的先后顺序。
S425,根据该第二编码信息和该多个编码信息,确定该第一编码信息。
可选地,该根据该第二编码信息和该多个编码信息,确定该第一编码信息,包括:
确定该第二编码信息的代价和该多个编码信息的代价;
根据该第二编码信息的代价和该多个编码信息的代价,确定所述第一编码信息。
可选地,该第一编码信息为该第二编码信息和该多个编码信息中代价最小的编码信息。
可选地,该第一编码信息为该第二编码信息,或者,该第一编码信息为该多个编码信息。
例如,如图6所示,编码装置可以对衍生块5011进行编码,得到第二编码信息,也可以对衍生块5011中的子块1进行编码,得到第三编码信息,还可以对衍生块5011中的子块2进行编码,得到第四编码信息,该第三编码信息和该第四编码信息组成该多个编码信息,该编码装置可以计算该第二编码信息的代价和该多个编码信息的代价,在确定该多个编码信息的代价小于该第二编码信息的代价后,将该多个编码信息确定为该第一编码信息。
可选地,本申请实施例中,并不对计算代价的方式进行具体限定,该计算代价的方式可以为RDO决策、SAD算法或者SATD算法等。
应理解,本申请实施例中,S424中还可以对该多个子块中一部分进行编码,例如,衍生块包括5个子块,编码装置可以选择其中3个子块进行编码得到3个编码信息,并从该3个编码信息中确定该第一编码信息。
S432,根据所述第一编码信息,确定码流,所述码流包括指示信息,该指示信息用于指示该第一编码信息是对该衍生块采用该第一编码模式进行过编码获得的,或者,该指示信息用于指示该第一编码信息是对该每一个子块采用该第一编码模式进行编码获得的。
例如,若S425中该编码装置将该多个编码信息确定为该第一编码信息,则该指示信息可以指示该第一编码信息是对该每一个子块进行编码获得的。
本申请实施例的编码方法,通过对编码块衍生得到的衍生块以及衍生块中的每一个子块分别采用跳过编码模式或者直接编码模式进行编码,将其中代价较小者确定为第一编码信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。
上面结合图5至图9,详细得描述了根据本申请实施例的图像编码方法,下面结合图10,详细得描述根据本申请实施例的图像解码方法。
图10示出了根据本申请实施例的解码方法600的示意性流程图,如图10所示,该方法600可以由解码装置执行,该方法600包括:
S610,从码流中获得指示信息,该指示信息用于指示对衍生块采用第一编码模式以获得编码信息,该第一编码模式包括跳过编码模式或者直接编码模式;
S620,根据该指示信息,采用该第一编码模式,对该衍生块进行解码。
具体而言,解码装置可以对码流进行解析已获得指示信息,该指示信息指示了编码装置获得的编码信息是对衍生块或者衍生块中的子块采用跳过编码模式或者直接编码模式进行编码得到的,该编码装置根据该指示信息对该衍生块或者该衍生块的子块采用跳过编码模式或该直接编码模式进行解码。
可选地,该衍生块由多个子块组成,该多个子块包括该第一子块,该对该衍生块或者该衍生块的子块采用该跳过编码模式或该直接编码模式进行解码,包括:
对该第一子块采用该跳过编码模式或该直接编码模式进行解码。
如图6所示,编码装置对衍生块5011中的子块1进行跳过编码和直接编码,得到编码信息,编码装置将指示信息写入码流,该指示信息指示了该编码信息是对该子块1进行编码获得的,该解码装置从码流中解析出该指示信息后,可以对该子块1进行跳过解码或者直接解码。
可选地,该指示信息用于指示编码装置获得的编码信息是对该衍生块采用该第一编码模式得到的,该采用该第一编码模式,对该衍生块进行解码,包括:
采用该第一编码模式,对该衍生块进行解码。
如图6所示,编码装置对衍生块5011进行跳过编码和直接编码,得到编码信息,编码装置将指示信息写入码流,该指示信息指示了该编码信息是对该衍生块5011进行编码获得的,该解码装置从码流中解析出该指示信息后,可以对该衍生块5011进行跳过解码或者直接解码。
可选地,该衍生块由多个子块组成,该指示信息还用于指示对所述多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该采用该第一编码模式,对该衍生块进行解码,包括:
采用该第一编码模式,对第二子块进行解码,该第二子块为所述多个子块中的任意一个子块。
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该采用该第一编码模式,对该衍生块进行解码,包括:
采用该第一编码模式,对该多个子块中的每个子块分别进行解码。
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip编码或者direct编码,解码得出编码装置对该衍生块或者其子块进行skip或者direct编码时,整个块可以共享一个编码信息,继续通过各个子块中的固定某一个块进行skip或者direct编码信息的导出或解码。也可以通过继续解码标识信息,来确定通过各个子块中的哪一个块进行skip或者direct模式编码信息的导出或解码。
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip或者direct编码,解码得出编码装置对该衍生块中的各个子块进行skip或者direct编码时,继续通过各个子块的信息来确定skip或者direct编码信息导出或解码。也可以通过解码标识位,来确定各个子块的信息是否相同,从而只要通过某一个子块的信息来进行skip或者direct编码信息的导出或解码。
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip或者direct编码,解码得出编码装置对该衍生块或者其子块进行skip或者direct编码时,通过解析码流标识位,来获得是通过对衍生块进行skip或者direct编码信息的导出或解码,或者,是对每一个子块进行skip或者direct编码信息的导出或解码。
上文结合图5至图10,详细得描述了根据本申请实施例的编解码方法,下文结合图11至14,详细描述根据本申请实施例的编解码装置。
图11示出了根据本申请实施例的编码装置700的示意性框图,如图11所示,该编码装置700包括:
第一处理模块710,用于根据待编码的编码块,衍生获得衍生块;
第二处理模块720,用于采用第一编码模式,对该衍生块进行编码,以得到第一编码信息,该第一编码模式包括跳过编码模式或者直接编码模式;
第三处理模块730,用于根据所述第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示所述第一编码信息是对该衍生块采用所述第一编码模式进行编码获得的。
可选地,该衍生块由多个子块组成,该第二处理模块720具体用于:
采用该第一编码模式,对该多个子块中的每个子块分别进行编码,以得到多个编码信息;
从该多个编码信息中确定该第一编码信息。
可选地,该第二处理模块720具体用于:
确定该多个编码信息的代价;
根据该多个编码信息的代价,确定该第一编码信息。
可选地,在该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。
可选地,在该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息相同或者不同。
可选地,该衍生块由多个子块组成,该第二处理模块720具体用于:
采用该第一编码模式,对该衍生块进行编码,以得到第二编码信息;
采用该跳过编码模式或该直接编码模式,对该多个子块中每个子块分别进行编码,以得到多个编码信息;
根据该第二编码信息和该多个编码信息,确定该第一编码信息。
可选地,该第二处理模块720具体用于:
确定该第二编码信息的代价和该多个编码信息的代价;
根据该第二编码信息的代价和该多个编码信息的代价,确定该第一编码信息。
可选地,该指示信息还用于指示该第一编码信息为该第二编码信息或者该第三编码信息。
图12示出了根据本申请实施例的解码装置800的示意性框图,如图12所示,该解码装置800包括:
获取模块810,用于从码流中获得指示信息,该指示信息用于指示对衍生块采用第一编码模式以获得编码信息,该衍生块由编码块在衍生模式下衍生得到,该第一编码模式包括跳过编码模式或者直接编码模式;
第五处理模块820,用于根据该指示信息,采用该第一编码模式,对该衍生块进行解码。
可选地,该衍生块包括第一子块,该第五处理模块820具体用于:
采用该第一编码模式,对该第一子块进行解码。
可选地,该指示信息用于指示编码端获得的编码信息是对第一子块采用该第一编码模式得到的,该第五处理模块820具体用于:
采用该第一编码模式,对该第一子块进行解码。
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该第五处理模块820具体用于:
采用该第一编码模式,对第二子块进行解码,该第二子块为该多个子块中的任意一个子块。
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该第五处理模块820具体用于:
采用该第一编码模式,对该多个子块中的每个子块分别进行解码。
下面结合图13和图14对编解码装置和编解码装置组成的编解码系统进行详细的介绍。应理解,图13和图14中所示的编解码装置和编解码系统能够执行本申请实施例的编解码的方法。
图13是本申请实施例的视频编解码装置的示意性图。该视频编解码装置50可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该编解码装置50可以是无线通信系统的移动终端或者用户设备。
编解码装置50可以包括下列模块或者单元:控制器56、编解码器54、无线电接口52、天线44、智能卡46、读卡器48、小键盘34、存储器58、红外线端口42、显示器32。除了图13中所示的模块和单元之外,编解码装置50还可以包括麦克风或者任何适当的音频输入模块,该音频输入模块可以是数字或者模拟信号输入,编解码装置50还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。编解码装置50也可以包括电池,该电池可以是太阳能电池、燃料电池等等。编解码装置50还可以包括用于与其它设备进行近程视线通信的红外线端口,该编解码装置50还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。
存储器58可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器56上执行的指令。
编解码器54可以实现对音频和/或视频数据的编码和解码或者在控制器56的控制下实现对音频和/或视频数据的辅助编码和辅助解码。
智能卡46和读卡器48可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡46和读卡器48的具体实现形式可以是集成电路卡(universal integratedcircuit card,UICC)和UICC读取器。
无线电接口电路52可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。
天线44用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口电路52生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。
在本申请的一些实施例中,编解码装置50可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本申请的另一些实施例中,编解码装置50可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。
图14是本申请实施例的视频编解码系统7000的示意性框图。
如图14所示,视频编解码系统7000包含源装置4000及目的地装置5000。源装置4000产生经过编码后的视频数据,源装置4000也可以被称为视频编码装置或视频编码设备,目的地装置5000可以对源装置4000产生的经过编码后的视频数据进行解码,目的地装置5000也可以被称为视频解码装置或视频解码设备。
源装置4000和目的地装置5000的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。
目的地装置5000可以经由信道6000接收来自源装置4000编码后的视频数据。信道6000可包括能够将编码后的视频数据从源装置4000移动到目的地装置5000的一个或多个媒体及/或装置。在一个实例中,信道6000可以包括使源装置4000能够实时地将编码后的视频数据直接发射到目的地装置5000的一个或多个通信媒体,在此实例中,源装置4000可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置5000。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(radio frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装置4000到目的地装置5000的通信的其它设备。
在另一实例中,信道6000可包含存储由源装置4000产生的编码后的视频数据的存储媒体。在此实例中,目的地装置5000可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(digitalvideo disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。
在另一实例中,信道6000可包含文件服务器或存储由源装置4000产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置5000可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置5000的服务器类型。例如,文件服务器可以包含全球广域网(world wide web,web)服务器(例如,用于网站)、文件传送协议(file transfer protocol,FTP)服务器、网络附加存储(network attachedstorage,NAS)装置以及本地磁盘驱动器。
目的地装置5000可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。
本申请的编解码方法不限于无线应用场景,示例性的,本申请的编解码方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统7000可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
在图14中,源装置4000包含视频源4001、视频编码器4002及输出接口4003。在一些实例中,输出接口4003可包含调制器/解调器(调制解调器)及/或发射器。视频源4001可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。
视频编码器4002可编码来自视频源4001的视频数据。在一些实例中,源装置4000经由输出接口4003将编码后的视频数据直接发射到目的地装置5000。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置5000稍后存取以用于解码及/或播放。
在图14的实例中,目的地装置5000包含输入接口5003、视频解码器5002及显示装置5001。在一些实例中,输入接口5003包含接收器及/或调制解调器。输入接口5003可经由信道6000接收编码后的视频数据。显示装置5001可与目的地装置5000整合或可在目的地装置5000外部。一般来说,显示装置5001显示解码后的视频数据。显示装置5001可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。
视频编码器4002及视频解码器5002可根据视频压缩标准(例如,高效率视频编解码H.265标准))而操作,并且可以可遵照高效视频编码(high efficiency video coding,HEVC)测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/7000/12455下载,所述文件的全部内容以引用的方式并入本文中。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的一个或多个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (24)
1.一种编码方法,其特征在于,包括:
根据待编码的编码块,衍生获得衍生块,所述根据待编码的编码块,衍生获得衍生块包括:将所述编码块进行细分以得到多个编码子块,将所述多个编码子块中的部分编码子块进行合并以得到所述衍生块;
采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息,所述第一编码模式包括跳过编码模式或者直接编码模式;
根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块采用所述第一编码模式进行编码获得的。
2.根据权利要求1所述的方法,其特征在于,所述衍生块由多个子块组成,所述对所述衍生块进行编码,以得到第一编码信息,包括:
采用所述第一编码模式,对所述多个子块中的每个子块分别进行编码,以得到多个编码信息;
从所述多个编码信息中确定所述第一编码信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述多个编码信息中确定所述第一编码信息,包括:
确定所述多个编码信息的代价;
根据所述多个编码信息的代价,确定所述第一编码信息。
4.根据权利要求2所述的方法,其特征在于,在所述多个编码信息相同的情况下,所述第一编码信息为所述多个编码信息中的任意一个编码信息。
5.根据权利要求2所述的方法,其特征在于,在所述多个编码信息不同的情况下,所述第一编码信息为所述多个编码信息。
6.根据权利要求2至5中任一项所述的方法,其特征在于,所述指示信息还用于指示所述多个子块中每个子块的编码信息相同或者不同。
7.根据权利要求1所述的方法,其特征在于,所述衍生块由多个子块组成,所述对所述衍生块进行编码,以得到第一编码信息,包括:
采用所述第一编码模式,对所述衍生块进行编码,以得到第二编码信息;
采用所述第一编码模式,对所述多个子块中每个子块分别进行编码,以得到多个编码信息;
根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息,包括:
确定所述第二编码信息的代价和所述多个编码信息的代价;
根据所述第二编码信息的代价和所述多个编码信息的代价,确定所述第一编码信息。
9.一种解码方法,其特征在于,包括:
从码流中获得指示信息,所述指示信息用于指示对衍生块采用第一编码模式以获得编码信息,所述衍生块由编码块在衍生模式下衍生得到,所述第一编码模式包括跳过编码模式或者直接编码模式;
根据所述指示信息,采用所述第一编码模式,对所述衍生块进行解码。
10.根据权利要求9所述的方法,其特征在于,所述衍生块的子块包括第一子块,所述采用所述第一编码模式,对所述衍生块进行解码,包括:
采用所述第一编码模式,对所述第一子块进行解码。
11.根据权利要求9所述的方法,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息相同,所述采用所述第一编码模式,对所述衍生块进行解码,包括:
采用所述第一编码模式,对第二子块进行解码,所述第二子块为所述多个子块中的任意一个子块。
12.根据权利要求9所述的方法,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息不同,所述采用所述第一编码模式,对所述衍生块进行解码,包括:
采用所述第一编码模式,对所述多个子块中的每个子块分别进行解码。
13.一种编码装置,其特征在于,包括:
第一处理模块,用于根据待编码的编码块,衍生获得衍生块,所述根据待编码的编码块,衍生获得衍生块包括:将所述编码块进行细分以得到多个编码子块,将所述多个编码子块中的部分编码子块进行合并以得到所述衍生块;
第二处理模块,用于采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息;
第三处理模块,用于根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块或者所述衍生块的子块采用跳过编码模式或直接编码模式进行编码获得的。
14.根据权利要求13所述的装置,其特征在于,所述衍生块由多个子块组成,所述第二处理模块用于:
采用所述第一编码模式,对所述多个子块中的每个子块分别进行编码,以得到多个编码信息;
从所述多个编码信息中确定所述第一编码信息。
15.根据权利要求14所述的装置,其特征在于,所述第二处理模块用于:
确定所述多个编码信息的代价;
根据所述多个编码信息的代价,确定所述第一编码信息。
16.根据权利要求14所述的装置,其特征在于,在所述多个编码信息相同的情况下,所述第一编码信息为所述多个编码信息中的任意一个编码信息。
17.根据权利要求14所述的装置,其特征在于,在所述多个编码信息不同的情况下,所述第一编码信息为所述多个编码信息。
18.根据权利要求14至17中任一项所述的装置,其特征在于,所述指示信息还用于指示所述多个子块中每个子块的编码信息相同或者不同。
19.根据权利要求13所述的装置,其特征在于,所述衍生块由多个子块组成,所述第二处理模块用于:
采用所述第一编码模式,对所述衍生块进行编码,以得到第二编码信息;
采用所述跳过编码模式或所述直接编码模式,对所述多个子块中每个子块分别进行编码,以得到多个编码信息;
根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息。
20.根据权利要求19所述的装置,其特征在于,所述第二处理模块用于:
确定所述第二编码信息的代价和所述多个编码信息的代价;
根据所述第二编码信息的代价和所述多个编码信息的代价,确定所述第一编码信息。
21.一种解码装置,其特征在于,包括:
获取模块,用于从码流中获得指示信息,所述指示信息用于指示对衍生块采用第一编码模式以获得编码信息,所述衍生块由编码块在衍生模式下衍生得到,所述第一编码模式包括跳过编码模式或者直接编码模式;
第五处理模块,用于根据所述指示信息,采用所述第一编码模式,对所述衍生块进行解码。
22.根据权利要求21所述的装置,其特征在于,所述衍生块的子块包括第一子块,所述第五处理模块用于:
采用所述第一编码模式,对所述第一子块进行解码。
23.根据权利要求21所述的装置,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息相同,所述第五处理模块用于:
采用所述第一编码模式,对第二子块进行解码,所述第二子块为所述多个子块中的任意一个子块。
24.根据权利要求21所述的装置,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息不同,所述第五处理模块用于:
采用所述第一编码模式,对所述多个子块中的每个子块分别进行解码。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198705.3A CN111050164B (zh) | 2018-10-15 | 2018-10-15 | 一种编解码的方法和装置 |
PCT/CN2019/111076 WO2020078327A1 (zh) | 2018-10-15 | 2019-10-14 | 一种编解码的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811198705.3A CN111050164B (zh) | 2018-10-15 | 2018-10-15 | 一种编解码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111050164A CN111050164A (zh) | 2020-04-21 |
CN111050164B true CN111050164B (zh) | 2022-05-17 |
Family
ID=70230264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811198705.3A Active CN111050164B (zh) | 2018-10-15 | 2018-10-15 | 一种编解码的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111050164B (zh) |
WO (1) | WO2020078327A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466036A (zh) * | 2007-12-21 | 2009-06-24 | 北京中电华大电子设计有限责任公司 | 基于avs的运动矢量预测流水并行设计方法 |
CN103533325A (zh) * | 2012-07-06 | 2014-01-22 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编解码方法、装置及编解码器 |
CN107071472A (zh) * | 2010-04-14 | 2017-08-18 | 寰发股份有限公司 | 编码单元的局部运动向量推导的方法 |
CN107690809A (zh) * | 2015-06-11 | 2018-02-13 | 高通股份有限公司 | 使用空间及/或时间运动信息的子预测单元运动向量预测 |
CN107743706A (zh) * | 2015-08-11 | 2018-02-27 | 谷歌有限责任公司 | 超变换视频代码化 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101455087B (zh) * | 2006-05-24 | 2011-01-12 | 松下电器产业株式会社 | 图像编码装置、图像编码方法及图像编码用集成电路 |
US20080048044A1 (en) * | 2006-08-25 | 2008-02-28 | Microsoft Corporation | Barcode Encoding and Decoding |
US8311120B2 (en) * | 2006-12-22 | 2012-11-13 | Qualcomm Incorporated | Coding mode selection using information of other coding modes |
WO2010041855A2 (en) * | 2008-10-06 | 2010-04-15 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
US8379728B2 (en) * | 2009-04-17 | 2013-02-19 | Texas Instruments Incorporated | Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof |
CN102811346B (zh) * | 2011-05-31 | 2015-09-02 | 富士通株式会社 | 编码模式选择方法和系统 |
CN102447902B (zh) * | 2011-09-30 | 2014-04-16 | 广州柯维新数码科技有限公司 | 选择参考场及获取时域运动矢量的方法 |
GB2495990A (en) * | 2011-10-28 | 2013-05-01 | Canon Kk | Motion compensated image coding with omission of coding mode cost calculation for a motion predictor in a set. |
-
2018
- 2018-10-15 CN CN201811198705.3A patent/CN111050164B/zh active Active
-
2019
- 2019-10-14 WO PCT/CN2019/111076 patent/WO2020078327A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101466036A (zh) * | 2007-12-21 | 2009-06-24 | 北京中电华大电子设计有限责任公司 | 基于avs的运动矢量预测流水并行设计方法 |
CN107071472A (zh) * | 2010-04-14 | 2017-08-18 | 寰发股份有限公司 | 编码单元的局部运动向量推导的方法 |
CN103533325A (zh) * | 2012-07-06 | 2014-01-22 | 乐金电子(中国)研究开发中心有限公司 | 一种深度图像帧内编解码方法、装置及编解码器 |
CN107690809A (zh) * | 2015-06-11 | 2018-02-13 | 高通股份有限公司 | 使用空间及/或时间运动信息的子预测单元运动向量预测 |
CN107743706A (zh) * | 2015-08-11 | 2018-02-27 | 谷歌有限责任公司 | 超变换视频代码化 |
Also Published As
Publication number | Publication date |
---|---|
CN111050164A (zh) | 2020-04-21 |
WO2020078327A1 (zh) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2715010C1 (ru) | Способ и устройство кодирования и декодирования изображения с использованием межкадрового прогнозирования | |
CN102783149B (zh) | 用于视频译码的适应性运动分辨率 | |
AU2023200956B2 (en) | Video data inter prediction method and apparatus | |
CN106998470B (zh) | 解码方法、编码方法、解码设备和编码设备 | |
CN109996080B (zh) | 图像的预测方法、装置及编解码器 | |
CN109905714B (zh) | 帧间预测方法、装置及终端设备 | |
US11812050B2 (en) | Motion vector obtaining method and apparatus | |
CN109922340B (zh) | 图像编解码方法、装置、系统及存储介质 | |
CN109756739B (zh) | 图像预测方法和装置 | |
CN109756737B (zh) | 图像预测方法和装置 | |
CN109891882B (zh) | 一种基于模板匹配的编解码方法及装置 | |
CN111263152B (zh) | 视频序列的图像编解码方法和装置 | |
CN111050164B (zh) | 一种编解码的方法和装置 | |
CN110677645B (zh) | 一种图像预测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |