CN118075458A - 视频编解码方法及装置 - Google Patents
视频编解码方法及装置 Download PDFInfo
- Publication number
- CN118075458A CN118075458A CN202211478458.9A CN202211478458A CN118075458A CN 118075458 A CN118075458 A CN 118075458A CN 202211478458 A CN202211478458 A CN 202211478458A CN 118075458 A CN118075458 A CN 118075458A
- Authority
- CN
- China
- Prior art keywords
- filter
- image
- type
- rendering information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 165
- 238000009877 rendering Methods 0.000 claims abstract description 223
- 238000012545 processing Methods 0.000 claims abstract description 127
- 239000013598 vector Substances 0.000 claims description 102
- 238000010586 diagram Methods 0.000 claims description 51
- 238000001914 filtration Methods 0.000 claims description 47
- 238000013507 mapping Methods 0.000 claims description 43
- 238000012805 post-processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 238000007906 compression Methods 0.000 abstract description 23
- 230000006835 compression Effects 0.000 abstract description 22
- 230000000694 effects Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000013139 quantization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/172—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 picture, frame or field
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频编解码方法及装置,涉及计算机领域。编码端(解码端)基于渲染信息指示的处理参数,从设定的多类滤波器中选择第一类滤波器,并利用该第一类滤波器获取待处理数据的虚拟参考帧,编码端避免了采用固定的滤波器对重建图像进行处理得到参考帧导致的压缩性能较低的问题,编码端根据虚拟参考帧来对前述待编码的图像进行编码时,该图像对应的残差值降低,提升了压缩性能以及视频编码的效率。并且解码端避免采用固定的滤波器对解码图像处理得到参考帧导致的解码效率较差的问题,该虚拟参考帧与待解码图像对应源图像的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了视频解码效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及视频编解码方法及装置。
背景技术
在视频编解码技术中,视频压缩技术尤为重要。视频压缩***执行空间(图像内)预测和/或时间(图像间)预测,以减少或移除视频序列中固有的冗余信息。针对于视频压缩的视频编码过程,编码端从视频图像已编码的帧中任意选取一个或以上参考帧,并从参考帧中获取当前图像块对应的预测块,然后计算预测块与当前图像块之间的残差值,对该残差值进行量化编码。然而,预测块是编码端根据运动补偿和运动估计从参考帧选择的,该参考帧为经环路滤波器处理得到的图像,参考帧为当前图像块的相邻帧对应的图像,导致参考帧与当前图像块的相似度较低,前述预测块与当前图像块的差异较大,从而使得预测块与当前图像块之间的残差值较大,编码获得的视频码流的数据量较大,视频压缩过程的性能较低,视频编码的效率受到影响。因此,如何提供一种更有效的视频编解码方法成为目前亟需解决的问题。
发明内容
本申请提供了视频编解码方法及装置,解决了对视频压缩得到的码流数据量较大,视频压缩率较低的问题。
第一方面,本申请提供了一种视频编码方法,该视频编码方法可应用于编解码***或应用于支持该编解码***实现视频编码方法的编码端,例如该编码端包括视频编码器。这里以编码端执行本实施例提供的视频编码方法为例进行说明,该视频编码方法包括:第一,编码端获取源视频和源视频对应的渲染信息。第二,编码端根据渲染信息,从设定的多类滤波器中确定第一类滤波器。第三,编码端根据第一类滤波器,对第一解码图像进行插值,得到第二图像的虚拟参考帧。第四,编码端基于第二图像的虚拟参考帧,对第二图像进行编码,得到第二图像对应的码流。
其中,该源视频包括多个源图像。渲染信息用于指示:编码端根据多个源图像生成码流的过程中所使用的处理参数,该处理参数指示了多个源图像中的第一图像和第二图像具有至少部分重叠区域。第一解码图像为多个图像中第一图像进行编码后再解码获取的重建图像。
相较于采用固定的滤波器对重建图像进行处理得到参考帧,该参考帧与第二图像的相似度较低导致压缩性能较低的问题,本实施例中编码端从设定的多类滤波器中确定第一类滤波器,该第一类滤波器与图像渲染过程中所使用的滤波器匹配,有利于提升编码端利用该第一类滤波器确定的虚拟参考帧与第二图像之间的相似度。从而,在编码端基于该虚拟参考帧对第二图像编码时,该第二图像对应的残差值降低,码流中该第二图像对应的数据量减少,提升了压缩性能以及视频编码的效率。
在一种可能的实现方式中,编码端根据由渲染信息确定的第一类滤波器包括:编码端根据渲染信息查询设定的映射表,获取渲染信息中每个处理参数对应的滤波器。以及,编码端从渲染信息对应的所有滤波器中,确定第一类滤波器。
其中,该映射表用于指示:每个处理参数对应的多类滤波器中至少一类滤波器。
该映射表指示了渲染信息中的各个处理参数对应的滤波器,且该处理参数与滤波器的对应关系基于图像渲染引擎的各处理过程采用的滤波器确定。编码端根据获取到的处理参数查询前述的映射表,确定第一类滤波器,该第一类滤波器与图像渲染引擎采用的滤波器匹配,进而编码端利用该第一类滤波器得到的虚拟参考帧与第二图像时空域相关性提高,编码端根据虚拟参考帧确定的第二图像的残差值降低,从而提升了编码效果。
在一种可能的实现方式中,该映射表还用于指示:多类滤波器中每类滤波器的优先级;编码端从渲染信息对应的滤波器中,确定第一类滤波器包括:编码端获取渲染信息对应的所有滤波器的优先级;以及,编码端将所有滤波器中滤波器优先级最高的滤波器作为第一类滤波器。
编码端根据渲染信息包括的处理参数,从映射表中选取优先级最高的处理参数对应的滤波器作为第一类滤波器,该优先级最高的滤波器与图像渲染引擎采用的滤波器的匹配度也最高。编码端利用该匹配度最高的滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的时空域相关性提高,进而编码端根据该虚拟参考帧,得到的第二图像对应的残差值降低,从而提升了编码效果,降低了编码得到的数据量,提高了压缩性能。
在一种可能的实现方式中,编码端从渲染信息对应的所有滤波器中,确定第一类滤波器包括:编码端对渲染信息对应的所有滤波器进行预测,获取至少一个预测结果。以及,编码端选择至少一个预测结果中编码信息符合设定的条件的目标预测结果,并将目标预测结果对应的滤波器作为第一类滤波器。
其中,一个预测结果对应所有滤波器中的一个滤波器,一个预测结果用于指示:编码端基于一个滤波器对第二图像进行预编码获取的编码信息,该编码信息包括:第二图像的预测码率和失真率中至少一种。
示例的,上述预编码为:对第二图像进行帧间预测得到第二图像的预测块,并根据预测块,得到第二图像中对应图像块的残差值,再进行变换处理的过程。
编码端通过利用渲染信息中处理参数对应的所有滤波器,进行预编码,编码端根据设定的条件对预编码得到的预测结果进行筛选,将满足设定的条件的目标预测结果对应的滤波器,作为第一类滤波器,从而确定了所有滤波器中实际符合预设条件的滤波器,作为第一类滤波器,进而编码端根据该第一类滤波器插值得到的虚拟参考帧与第二图像的相似度最大。在编码端对第二图像进行编码的过程中,由于虚拟参考帧与第二图像之间的相似度最大,因此,编码端利用虚拟参考帧对该第二图像进行编码确定的第二图像对应的残差值最小,提高了编码压缩效果。
在一种可能的示例中,渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
针对于上述渲染信息包括处理参数的示例,本申请给出了各个处理参数对应的第一类滤波器或第一类滤波器的确定步骤,若渲染信息包括深度图时,则第一类滤波器通过深度图中的像素与所述深度图中物体的边缘信息的关系来确定,如深度图可对应Catmull-Rom滤波器或bilinear滤波器;或者,
若渲染信息包括反照率图时,则第一类滤波器通过反照率图中的像素与反照率图中物体的边缘信息的关系来确定,如反照率图可对应Catmull-Rom滤波器或B-spline滤波器;或者,
若渲染信息包括的后处理参数包含抗锯齿参数时,则第一类滤波器为抗锯齿参数所指示的滤波器;或者,
若渲染信息包括的后处理参数包含执行运动模糊模块的指令时,则第一类滤波器为bilinear滤波器;
或者,第一类滤波器为Catmull-Rom滤波器。
示例的,上述深度图中物体的边缘信息可通过以下方式得到,如编码端将对深度图进行sobel滤波,得到滤波结果。以及,编码端对该滤波结果进行大律法二值化处理,得到深度图中物体的边缘信息。
编码端根据上述各处理参数与滤波器的对应关系,确定渲染信息对应的第一类滤波器,该第一类滤波器与图像渲染引擎所采用的滤波器具有一定的匹配度,编码端利用该第一类滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的匹配度提高,编码端根据该虚拟参考帧对第二图像进行编码时,得到的第二图像对应的残差值降低,从而提升了编码效果。
在一种可能的实现方式中,编码端根据由渲染信息确定的第一类滤波器,对第一解码图像进行插值,获取第二图像的虚拟参考帧包括:首先,编码端生成与参考块尺寸一致的空白图像。其次,编码端根据第一对应关系,利用拆分后的图形运动矢量图对上述参考块进行插值,确定空白图像中所有像素的像素值。最后,编码端根据空白图像中所有像素的像素值,得到虚拟参考帧。
其中,第一解码图像包括第一图像对应的一个或多个参考块。第一对应关系用于指示:在第一图像和第二图像的重叠区域中,第一图像中的像素与第二图像的像素的位置映射关系。
编码端根据第一对应关系,对第一解码图像中的参考块进行插值,得到第二图像的虚拟参考帧,该虚拟参考帧与第二图像的相似度高于第一解码图像与第二图像的相似度,从而该虚拟参考帧与第二图像间的残差值降低,进而在确保图像质量一致的情况,码流中该图像的数据量减少,提高了编码效果。
在一种可能的实现方式中,第一对应关系通过以下方法得到:首先,编码端生成与源图像尺寸一致的空白图像。其次,编码端基于第一图形运动矢量图与空白图像间尺寸,确定第一图形运动矢量图中一个像素与空白图像中像素位置的第二对应关系。最后,编码端利用插值滤波器对图形运动矢量图进行插值,确定空白图像中每个像素的像素值和偏移。
在图形运动矢量与源图像尺寸不一致的情况下,编码端对图形运动矢量图进行插值,得到插值后的图形运动矢量图。该插值后的图形运动矢量图的尺寸与第一解码图像的尺寸一致,且插值后的图形运动矢量图与第一解码图像的像素匹配,编码端基于该插值后的图形运动矢量图对第一解码图像进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的匹配度提高。编码端根据该虚拟参考帧对第二图像进行编码时,该图像对应的残差值降低,提升了压缩性能。
在一种可能的实现方式中,该视频编码方法包括:第一,编码端基于渲染信息中指示的图形运动矢量图,确定第一解码图像中像素的目标离散参数。第二,编码端中第一类滤波器利用第一滤波核对参考块进行插值,并计算插值得到的虚拟参考块中像素在每个通道的第一离散参数。第三,编码端从所有滤波核对应的至少一个第一离散参数中,确定与目标离散参数差值最小的第一离散参数,将该第一离散参数对应的滤波核作为第一类滤波器的参数。
其中,目标离散参数包括:目标方差或目标协方差。第一离散参数包括第一方差或第一协方差。第一滤波核为设定的多个滤波核中的一个。
编码端确定与目标离散参数差值最小的第一离散参数,编码端将该第一离散参数对应的第一滤波核,作为第一类滤波器的参数。编码端利用前述的第一类滤波器和第一类滤波的参数,对第一解码图像进行插值,得到虚拟参考帧。该虚拟参考帧与第二图像的匹配度提高,在编码端根据虚拟参考帧来对第二图像进行编码时,该第二图像对应的残差值降低,使得码流中该图像的数据量减少,提升了压缩性能。
在一种可能的实现方式中,该视频编码方法还包括:编码端将第一类滤波器的类型信息写入码流。
编码端通过将第一类滤波器的类型信息发送至解码端,避免了解码端执行根据渲染信息确定第一类滤波器的处理过程,从而加快了视频解码效率。
第二方面,本申请提供了一种视频解码方法,该视频解码方法可应用于编解码***或应用于支持该编解码***实现该视频解码方法的解码端,例如该解码端包括视频解码器。这里以解码端执行本实施例提供的视频解码方法为例进行说明,该视频解码方法包括:第一,解码端获取码流和码流对应的渲染信息,该码流包括多个图像帧。第二,解码端基于渲染信息,从设定的多类滤波器中确定第一类滤波器。第三,解码端根据第一类滤波器,对第一图像帧对应的第一解码图像进行插值,得到第二图像帧的虚拟参考帧。第四,解码端基于虚拟参考帧对第二图像帧进行解码,获取第二图像帧的第二解码图像。
其中,该渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,该处理参数指示了多个图像帧中第一图像帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域。
示例的,该码流可由编码端发送至解码端。
解码端根据渲染信息指示的处理参数,从设定的多类滤波器中选择第一类滤波器,并利用该第一类滤波器来获取第二图像帧的虚拟参考帧,避免采用固定的滤波器对第一解码图像进行处理得到参考帧导致的解码效果较差的问题,该虚拟参考帧与第二图像帧对应的源图像的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,在解码端的处理能力一致时,解码端处理的数据量减少,提高了解码效率。
在一种可能的实现方式中,解码端根据由渲染信息确定的第一类滤波器包括:解码端根据渲染信息查询设定的映射表,获取渲染信息中每个处理参数对应的滤波器。以及,解码端从渲染信息对应的所有滤波器中,确定第一类滤波器。
其中,该映射表用于指示:每个处理参数对应的多类滤波器中至少一类滤波器。
解码端根据渲染信息查询设定的映射表,确定的第一类滤波器,该第一类滤波器与图像渲染引擎所采用的滤波器具有一定的匹配度,解码端利用该第一类滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像帧的时空域相关性提高,即该虚拟参考帧与第二图像帧对应的源图像的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
在一种可能的实现方式中,该映射表还用于指示:多类滤波器中每类滤波器的优先级;解码端从渲染信息对应的滤波器中,确定第一类滤波器包括:解码端获取渲染信息对应的所有滤波器的优先级;以及,解码端将所有滤波器中滤波器优先级最高的滤波器作为第一类滤波器。
解码端根据渲染信息包括的处理参数,从映射表中选取优先级最高的处理参数对应的滤波器作为第一类滤波器,该优先级最高的滤波器与图像渲染引擎采用的滤波器的匹配度也最高。解码端利用该匹配度最高的滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像帧对应的源图像的匹配度更高,进而解码端根据该虚拟参考帧进行解码时,处理的数据量减少,提高了解码效率。
在一种可能的示例中,渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
针对于上述渲染信息包括处理参数的示例,本申请给出了各个处理参数对应的第一类滤波器或第一类滤波器的确定步骤,若渲染信息包括深度图时,则第一类滤波器通过深度图中的像素与所述深度图中物体的边缘信息的关系来确定;或者,
若渲染信息包括反照率图时,则第一类滤波器通过反照率图中的像素与反照率图中物体的边缘信息的关系来确定;或者,
若渲染信息包括的后处理参数包含抗锯齿参数时,则第一类滤波器为抗锯齿参数所指示的滤波器;或者,
若渲染信息包括的后处理参数包含执行运动模糊模块的指令时,则第一类滤波器为bilinear滤波器;
或者,第一类滤波器为Catmull-Rom滤波器。
示例的,上述深度图中物体的边缘信息可通过以下方式得到,如解码端将对深度图进行sobel滤波,得到滤波结果。以及,解码端对该滤波结果进行大律法二值化处理,得到深度图中物体的边缘信息。
解码端根据上述各处理参数与滤波器的对应关系,确定渲染信息对应的第一类滤波器,该第一类滤波器与图像渲染引擎所采用的滤波器具有一定的匹配度,解码端利用该第一类滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像帧对应源图像的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
在一种可能的实现方式中,在解码端根据由渲染信息确定的第一类滤波器,对第一图像帧对应的第一解码图像进行插值之前,该视频解码方法还包括:解码端获取滤波器信息;以及,解码端根据滤波器信息中指示的滤波器种类及参数,确定第一类滤波器及第一类滤波器对应的滤波参数。
其中,该滤波参数用于指示:解码端基于第一类滤波器得到虚拟参考帧的过程中使用的处理参数。
示例的,编码端确定第一类滤波器和第一类滤波器对应的滤波参数后,编码端将第一类滤波器和第一类滤波器对应的滤波参数写入码流,并将该码流发送至解码端。
解码端通过直接获取第一类滤波器及第一类滤波器对应的滤波参数,避免了解码端执行根据渲染信息确定第一类滤波器的处理过程,从而加快了视频解码效率。
在一种可能的实现方式中,解码端根据渲染信息确定的第一类滤波器,对第一图像帧对应的第一解码图像进行插值,获取第二图像帧的虚拟参考帧包括:首先,解码端生成与参考块尺寸一致的空白图像。其次,解码端根据第一对应关系,利用拆分后的图形运动矢量图对上述参考块进行插值,确定空白图像中所有像素的像素值。最后,解码端根据空白图像中所有像素的像素值,得到虚拟参考帧。
其中,第一解码图像包括第一图像对应的一个或多个参考块。第一对应关系用于指示:在第一图像帧对应的源图像和第二图像帧对应的源图像的重叠区域中,第一图像帧对应的源图像中的像素和第二图像帧对应的源图像中的像素位置映射关系。
解码端根据第一对应关系,对第一解码图像中的参考块进行插值,得到第二图像的虚拟参考帧,该虚拟参考帧与第二图像帧的相似度高于第一解码图像与第二图像帧的相似度,解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
在一种可能的实现方式中,上述第一对应关系通过以下方法得到:首先,解码器生成与第一解码图像尺寸一致的空白图像。其次,解码端基于第一图形运动矢量图与空白图像间尺寸比例,确定第一图形运动矢量图中一个像素与空白图像中像素位置的第二对应关系。最后,解码端利用插值滤波器对图形运动矢量图进行插值,确定空白图像中每个像素的像素值和偏移。
其中,该第一解码图像与源图像的尺寸一致。
在图形运动矢量与第一解码图像尺寸不一致的情况下,解码端对图形运动矢量图进行插值,得到插值后的图形运动矢量图。该插值后的图形运动矢量图的尺寸与第一解码图像的尺寸一致,且插值后的图形运动矢量图与第一解码图像的匹配,解码端基于该插值后的图形运动矢量图对第一解码图像进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像帧的匹配度提高。解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
在一种可能的实现方式中,该视频解码方法还包括:第一,解码端基于渲染信息中指示的图形运动矢量图,确定第一解码图像中像素的目标离散参数。第二,解码端中第一类滤波器利用第一滤波核对参考块进行插值,并计算插值得到的虚拟参考块中像素在每个通道的第一离散参数。第三,解码端从所有滤波核对应的至少一个第一离散参数中,确定与目标离散参数差值最小的第一离散参数,解码端将该第一离散参数对应的滤波核作为第一类滤波器的参数。
其中,目标离散参数包括:目标方差或目标协方差。第一离散参数包括第一方差或第一协方差。第一滤波核为设定的多个滤波核中的一个。
解码端确定与目标离散参数差值最小的第一离散参数,解码端将该第一离散参数对应的第一滤波核,作为第一类滤波器的参数。解码端利用前述的第一类滤波器和第一类滤波的参数,对第一解码图像进行插值,得到虚拟参考帧。该虚拟参考帧与第二图像帧的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
第三方面,本申请提供了一种视频编码装置,该视频编码装置应用于编码端,并适用于包括编码端的视频编解码***,该视频编码装置包括用于执行第一方面或第一方面任一种可选实现方式中的视频编码方法的各个模块。示例的,该视频编码装置包括:第一获取模块、第一插值模块和编码模块。其中,第一获取模块,用于获取源视频和源视频对应的渲染信息。第一插值模块,用于根据渲染信息,确定第一类滤波器。以及根据该第一类滤波器,对第一解码图像进行插值,得到第二图像的虚拟参考帧。编码模块,用于基于第二图像的虚拟参考帧对第二图像信息编码。
其中,该源视频包括多个源图像,该渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,处理参数指示了多个源图像中的第一图像和第二图像具有至少部分重叠区域。第一类滤波器为设定的多类滤波器中的一类,第一解码图像为多个图像中第一图像进行编码后再解码获取的重建图像,该第一图像在第二图像之前进行编码。
关于视频编码装置更多详细的实现内容可参照以上第二方面中任一实现方式的描述,以及下述具体实施方式的内容,在此不予赘述。
第四方面,本申请提供了一种视频解码装置,该视频解码装置应用于解码端,并适用于包括解码端的视频编解码***,该视频解码装置包括用于执行第二方面或第二方面任一种可选实现方式中的视频解码方法的各个模块。示例的,该视频解码装置包括:第二获取模块、第二插值模块和解码模块。其中,第二获取模块,用于获取码流和码流对应的渲染信息。其中,第二插值模块,用于基于渲染信息,确定第一类滤波器,以及根据第一类滤波器,对第一图像帧对应的第一解码图像进行插值,得到第二图像帧的虚拟参考帧。解码模块,用于根据虚拟参考帧对第二图像帧进行解码,获取第二图像帧对应的第二解码图像。
其中,该码流包括多个图像帧,渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,处理参数指示了多个图像帧中第一图像帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域。第一类滤波器为设定的多类滤波器中的一类。
关于视频解码装置更多详细的实现内容可参照以上第一方面中任一实现方式的描述,以及下述具体实施方式的内容,在此不予赘述。
第五方面,本申请提供一种芯片,包括:处理器和供电电路;该供电电路用于为处理器供电,该处理器用于执行上述第一方面和第一方面中任一种可能实现方式中的方法;和/或,该处理器用于执行上述第二方面和第二方面中任一种可能实现方式中的方法。
第六方面,本申请提供一种编解码器,包括存储器和处理器,该存储器用于存储计算机指令;该处理器执行计算机指令时,实现上述第一方面和第一方面中任一种可能实现方式中的方法;和/或,该处理器执行计算机指令时,实现上述第二方面和第二方面中任一种可能实现方式中的方法。
第七方面,本申请提供一种编解码***,包括编码端和解码端;该编码端用于根据多个源图像对应的渲染信息,对多个图像进行编码,得到多个图像对应的码流,实现上述第一方面和第一方面中任一种可能实现方式中的方法;
该解码端用于根据多个源图像对应的渲染信息,对所述码流进行解码,得到多个解码图像,实现上述第二方面和第二方面中任一种可能实现方式中的方法。
第八方面,本申请提供一种计算机可读存储介质,该存储介质中存储有计算机程序或指令,当计算机程序或指令被处理设备执行时,实现上述第一方面和第一方面中任一种可选实现方式中的方法;和/或,当计算机程序或指令被处理设备执行时,实现上述第二方面和第二方面中任一种可选实现方式中的方法。
第九方面,本申请提供一种计算机程序产品,该计算程序产品包括计算机程序或指令,当该计算机程序或指令被处理设备执行时,实现上述第一方面和第一方面中任一种可选实现方式中的方法;和/或,当该计算机程序或指令被处理设备执行时,实现上述第二方面和第二方面中任一种可选实现方式中的方法。
以上第三方面至第九方面的有益效果可参照第一方面或第一方面中任一种实现方式,或者,第二方面或第二方面中任一种实现方式的描述,在此不予赘述。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的视频编解码***的示例性框图;
图2为本申请提供的视频编码器的结构示意图;
图3为本申请提供的视频解码器的结构示意图;
图4为本申请提供的时域抗锯齿方法的流程示意图;
图5为本申请提供的视频编码方法的流程示意图;
图6为本申请提供的参考块插值方法的示意图;
图7为本申请提供的图形运动矢量插值方法的示意图;
图8为本申请提供的视频解码的流程示意图;
图9为本申请提供的视频编码装置的结构示意图;
图10为本申请提供的视频解码装置的结构示意图;
图11为本申请提供的一种计算机设备的结构示意图。
具体实施方式
本申请中,编码端从设定的多类滤波器中确定第一类滤波器,该第一类滤波器与图像渲染过程中所使用的滤波器匹配,有利于提升编码端利用该第一类滤波器确定的虚拟参考帧与第二图像之间的相似度。从而,在编码端基于该虚拟参考帧对第二图像编码时,该第二图像对应的残差值降低,码流中该第二图像对应的数据量减少,提升了压缩性能以及视频编码的效率。
解码端根据渲染信息指示的处理参数,从设定的多类滤波器中选择第一类滤波器,并利用该第一类滤波器来获取第二图像帧的虚拟参考帧,避免采用固定的滤波器对解码图像进行处理得到参考帧导致的解码效率较差的问题,该虚拟参考帧与待解码图像对应的源图像的匹配度提高,解码端根据该虚拟参考帧对第二图像帧进行解码时,在解码端的处理能力一致时,解码端处理的数据量减少,提高了视频解码效率。
下面结合实施例对本申请提供的方案进行说明,为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍。
视频编码(video encoding):将视频包括的多帧图像压缩成码流的处理过程。
视频解码(video decoding):将码流按照特定的语法规则和处理方法恢复成多帧重建图像的处理过程。
为了实现视频的编码与解码,本申请提供了一种视频编解码***。如图1所示,图1为本申请提供的视频编解码***的示例性框图,视频编解码***包含编码端100和解码端200。编码端100产生经编码视频数据(或称为码流)。因此,编码端100可被称为视频编码装置。解码端200可对由编码端100所产生的码流(如包含一个或多个图像帧的视频)进行解码。因此,解码端200可被称为视频解码装置。编码端100、解码端200或两个的各种实施方案可包含一或多个处理器以及与处理器耦合到所述一个或多个处理器的存储器。所述存储器可包含但不限于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体。
在图1的示例中,编码端100包含源视频110、视频编码器120和输出接口130。在一些实例中,输出接口130可包含调节器/解调器(调制解调器)和/或发射器。源视频110可包括视频捕获装置(例如,摄像机)、含有先前捕获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频馈入接口,和/或用于产生视频数据的计算机图形***,如图像渲染引擎,或上述***的组合。
视频编码器120可对来自源视频110的视频数据进行编码。在一些示例中,编码端100由输出接口130经链路300将码流直接发射到解码端200。在其它示例中,码流还可存储到存储装置400上,供解码端200以后存取来用于解码和/或播放。
在图1的示例中,解码端200包含输入接口230、视频解码器220和显示装置210。在一些示例中,输入接口230包含接收器和/或调制解调器。输入接口230可经由链路300和/或从存储装置400接收经编码视频数据。显示装置210可与解码端200集成或可在解码端200外部。一般来说,显示装置210显示经解码视频数据。显示装置210可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organiclight-emitting diode,OLED)显示器或其它类型的显示装置。
在图1所示的视频编解码***的基础上,本申请提供了一种可能的视频编码器。如图2所示,图2为本申请提供的一种视频编码器的结构示意图。
视频编码器120包括帧间预测器121、帧内预测器122、变换器123、量化器124、反量化器126、反变换器127、滤波器单元128和存储器129。反量化器126、反变换器127用于图像块重构。滤波器单元128用于指示一或多个环路滤波器,例如去块滤波器、自适应环路滤波器和样本自适应偏移滤波器。
存储器129可存储由视频编码器120的组件编码的视频数据。可从源视频110获得存储在存储器129中的视频数据。存储器129可为参考图像存储器,其存储用于由视频编码器120在帧内、帧间译码模式中对视频数据进行编码的参考视频数据。存储器129可以为动态随机存取存储器(dynamic RAM,DRAM)、磁阻式RAM(magnetic RAM,MRAM)、电阻式RAM(resistive RAM,RRAM),或其它类型的存储器装置。
针对于视频编码流程,以下结合图2的内容,对视频编码器的工作流程进行说明。
在源数据(源视频)经帧间预测器121和帧内预测器122产生当前图像块(或称为第二图像)的预测块之后,视频编码器120从待编码的当前图像块减去预测块来形成残差图像块。残差块中的残差视频数据可包含在一或多个变换单元(transform unit,TU)中,并应用于变换器123。变换器123使用例如离散余弦变换或概念上类似的变换等变换将残差视频数据变换成残差变换系数。变换器123可将残差视频数据从像素值域转换到变换域,例如频域。
变换器123可将所得变换系数发送到量化器124。量化器124量化变换系数以进一步减小位速率。在一些示例中,量化器124可接着执行对包含经量化的残差变换系数的矩阵的扫描。或者,熵编码器125可执行扫描。
在量化之后,熵编码器125对经量化变换系数进行熵编码。举例来说,熵编码器125可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。在由熵编码器125熵编码之后,可将经编码码流发射到视频解码器,或经存档以供稍后发射或由视频解码器检索。熵编码器125还可对待编码的当前图像块的语法元素进行熵编码。
反量化器126和反变换器127分别应用逆量化和逆变换以在像素域中重构残差块,例如以供稍后用作参考图像的参考块。视频编码器120将经重构的残差块添加到由帧间预测器121或帧内预测器122产生的预测块,以产生经重建图像或重建图像块。滤波器单元128可以适用于经重建图像块以减小失真,诸如方块效应(block artifacts)。然后,该经重建图像或重建图像块作为参考块(或称为第一解码图像)存储在存储器129中,可由帧间预测器121用作参考块以对后续视频帧或图像中的块进行帧间预测。
如图2所示,该视频编码器120还外接了插值滤波单元140,该插值滤波单元140用于对第一解码图像进行插值处理,得到虚拟参考帧,并将该虚拟参考帧存入存储器129,视频编码器120利用该虚拟参考帧辅助第二图像进行编码。其中,插值滤波单元中的滤波器为编码端100根据获取到的先验信息确定的,该先验信息可为计算机图像渲染技术进行渲染处理得到源视频的过程中,所使用的处理参数。该虚拟参考帧与第二图像的相似度高于上述第一解码图像与第二图像的相似度。
在一种可能的情形中,该插值滤波单元140可设置于视频编码器120内部。
应当理解的是,视频编码器120的其它的结构变化可用于编码视频流。例如,对于某些图像块或者图像帧,视频编码器120可以直接地量化残差信号而不需要经变换器123处理,相应地也不需要经反变换器127处理;或者,对于某些图像块或者图像帧,视频编码器120没有产生残差数据,相应地不需要经变换器123、量化器124、反量化器126和反变换器127处理;或者,视频编码器120可以将经重构图像块作为参考块直接地进行存储而不需要经滤波器单元128处理;或者,视频编码器120中量化器124和反量化器126可以合并在一起。
如图3所示,图3为本申请实施例的视频解码器的结构示意图。视频解码器220包括熵解码器221、反量化器222、反变换器223、滤波器单元224、存储器225、帧间预测器226和帧内预测器227。视频解码器220可执行大体上与相对于来自图2的视频编码器120描述的编码过程互逆的解码过程。首先,利用熵解码器221、反量化器222和反变换器223得到残差块或残差值,解码码流确定当前图像块使用的是帧内预测还是帧间预测。如果是帧内预测,则帧内预测器227利用周围已重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息。如果是帧间预测,则帧间预测器226需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将块内像素点的像素值作为预测信息,使用预测信息加上残差信息经过滤波操作便可以得到重建信息。
以及视频解码器220还外接了插值滤波单元240,插值滤波单元240的作用,可参考上述与视频解码器120外接的插值滤波单元140的内容,在此不予赘述。
在一种可能的情形中,该插值滤波单元240可设置于视频编码器220内部。
可选的,以上的源视频是渲染端对输入数据进行渲染处理后得到的。这里的输入数据是指与渲染端通信的显示设备获取的数据,或者,该输入数据是指渲染端接收到的数据。
示例性的,该渲染端包括图像渲染引擎(如V-Ray、Unreal、Unity)。在图像渲染引擎对输入数据进行渲染处理的过程中,会生成过程图数据和参数信息,
其中,过程图数据包括:渲染端对输入数据进行处理所产生的渲染图像,以及,输入数据到渲染图像之间的中间图等。例如,该中间图可以包括但不限于:图形运动矢量图、低质量渲染结果、深度图、位置图(Position map)、法线图(Normal map)、反照率图(albedomap)、镜面强度图(specular intensity map)等。
上述渲染处理过程中的参数信息是指渲染端对渲染图像进行后处理所采用的后处理参数,例如,Mesh ID、Material ID、运动模糊参数和抗锯齿参数等。
值得注意的是,前述的过程图数据和参数信息也可统称为源视频对应的中间数据,或者是编码端对该源视频进行编码时所利用的渲染信息等。
在一种可能的示例中,解码端200上的图像渲染引擎可根据上述显示端的输入数据进行图像渲染,以得到上述过程图数据和参数信息中的一种或多种。由于解码端200获取到了全部或部分的中间数据,避免了编码端100将上述中间数据全部发送至解码端200,进而减小了编码端100传输上述中间数据至解码端200的数据量,节约了带宽。
示例的,上述显示端的输入数据可为相机(视角)位置、光源的位置/强度/色彩等中的一种或多种。上述渲染端的输入数据可为物体几何、物体初始位置、光源信息等中的一种或多种。该图形运动矢量图为指示源视频中两帧图像中的像素的位置对应关系的图像。该运动模糊参数为图像渲染引擎执行运动模糊的指令。该抗锯齿参数为图像渲染引擎进行TAA时所采用的滤波方式。
可选的,图像渲染引擎还可对渲染图像进行后处理,下面以后处理是指抗锯齿处理为例进行说明。
渲染端对渲染图像进行时域抗锯齿(TemporalAnti-Aliasing,TAA)处理,得到源视频包括的多个图像,以解决渲染图像的锯齿问题。如图4所示,图4为本申请提供的时域抗锯齿方法的流程示意图,多帧渲染图像之间的差异较小,如上一帧和当前帧之间的仅是少许像素(如一个或两个等)的位置发生了偏移,以该当前帧中的第一像素为例,渲染端根据图形运动矢量图,确定该第一像素在当前帧的上一帧中与第一像素对应的第二像素,渲染端对第一像素的像素值与第二像素的像素值进行加权平均,得到最终像素值。渲染端利用该最终像素值填充当前帧中的第一像素,从而确定第一图像中各个像素的像素值,得到第一图像。该第一像素为当前帧中所有像素的任一个。
其中,上述的渲染端可为编码端100,该编码端100可在云服务器上,上述的显示端可为解码端200,该解码端200可在客户端上。
上述渲染端确定该第二像素的像素值可包括:编码端100利用滤波器对该第二像素或第二像素周围的像素(如3x3的像素范围)进行滤波,得到该第二像素的像素值。其中,滤波器的滤波方式可为均值滤波、中值滤波以及高斯滤波等中的一种。
为降低端侧(如显示端或解码端)的负载,图像渲染引擎可部署在云侧(如云侧服务器或云侧的编码端),编码端100将多个图像进行图像渲染后获得源视频,并对该源视频进行编码获取码流。以及,编码端100将该码流传输至解码端200,解码端200对该码流进行解码后播放。
在一种可能的场景中,在云游戏场景下,编码端100将多个图像经图像渲染引擎处理后得到游戏画面,并对该游戏画面进行编码得到码流,以降低传输游戏画面的数据量,解码端200对该码流进行解码后播放,用户在该解码端200(如移动设备)上操作游戏。
下面将结合附图对本实施例提供的图像编码方法的具体实现方式进行详细描述。
由于编码端100和解码端200分别处于云服务器和客户端,因此为提高数据的传输效率,编码端100对源视频进行压缩得到码流后,编码端100将该码流发送至解码端200。为此,本申请提供了一种视频编码方法,如图5所示,图5为本申请提供的视频编码方法的流程示意图,该视频编码方法可应用于图1所示出的视频编解码***或者图2所示出的视频编码器中,示例性的,该视频编码方法可由编码端100或者视频编码器120执行,这里以编码端100执行本实施例提供的图像编码方法为例进行说明。如图5所示,本实施例提供的图像编码方法包括以下步骤S510至S540。
S510、编码端100获取源视频和源视频对应的渲染信息。
其中,该源视频包括多个源图像,关于源视频的更多内容可参考前述实施例的描述,在此不予赘述。
该渲染信息用于指示:编码端100根据源视频中多个源图像生成码流的过程中所使用的处理参数。处理参数可以包括前述的过程图数据和参数信息中至少一种。并且该处理参数中的图形运动矢量图指示了多个源图像中的第一图像和第二图像具有至少部分重叠区域,且该重叠区域中的像素具有位置对应关系。
S520、编码端100根据渲染信息,确定第一类滤波器。
其中,该第一类滤波器为设定的多类滤波器中的一类。
编码端100可根据渲染信息中的处理参数与设定的滤波器间的对应关系,从设定的滤波器中确定第一类滤波器。
示例的,编码端100获取到的渲染信息可包括下表1中示出的处理参数中的一种或多种组合,该表1示出了每个处理参数对应的多类滤波器中至少一类滤波器。
表1
/>
其中,抗锯齿参数与运动模糊参数为后处理参数包括的内容。优先级为5的对应的滤波器为备选滤波器,当渲染信息中不包括深度图、反照率图、抗锯齿参数和后处理参数时,则直接将优先级5对应的Catmull-Rom滤波器作为第一类滤波器。示例性的,滤波器对应优先级排序越靠前,表示该滤波器与图像渲染引擎所采用的滤波器的匹配度越高。编码端100利用该匹配度高的滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的时空域相关性提高,进而编码端100根据该虚拟参考帧确定的预测块,该预测块与第二图像对应的图像块的相似度提高,从而提升了编码效果,降低了编码得到的数据量,提高了压缩性能。
上述表1仅为本申请提供的示例,不应理解为对本申请的限定,在一些情况中,表1中还包括更多的处理参数,并且该处理参数可对应一个或多个滤波器,该滤波器对应的优先级可在上述表1所示的滤波器对应的优先级之前或之后。示例的,上述表1中处理参数还可包括法线图,该法线图对应的滤波器为Mitchell-Netravali滤波器,且该Mitchell-Netravali滤波器的优先级在TAA采用的滤波器对应的优先级之前。
在一种可能的情形中,编码端100根据渲染信息查询如上述表1的映射表,获取渲染信息中每个处理参数对应的滤波器。编码端100从渲染信息对应的所有滤波器中,确定第一类滤波器。
该映射表指示了渲染信息中的各个处理参数对应的滤波器,且该处理参数与滤波器的对应关系基于图像渲染引擎的各处理过程采用的滤波器确定。编码端100根据获取到的处理参数查询前述的映射表,确定第一类滤波器,该第一类滤波器与图像渲染引擎采用的滤波器匹配,进而编码端100利用该第一类滤波器得到的虚拟参考帧与第二图像时空域相关性提高,编码端100根据虚拟参考帧确定的第二图像的残差值降低,从而提升了编码效果。
针对于编码端100根据渲染信息包括的处理参数确定第一类滤波器,以下提供了三种可能的示例。
在第一种可能的示例中,编码端100获取到的渲染信息仅包括抗锯齿参数。
编码端100根据该抗锯齿参数查询上述表1,得到抗锯齿参数对应的TAA采用的滤波器。由于渲染信息中仅包含抗锯齿参数,因此直接将该TAA采用的滤波器作为第一类滤波器。
在第二种可能的示例中,编码端100获取到的渲染信息包括深度图和抗锯齿参数。
编码端100根据该深度图和抗锯齿参数查询上述表1,并根据表1中指示的多类滤波器中每类滤波器的优先级,得到深度图和抗锯齿参数对应的滤波器优先级分别为1和3,编码端100选取优先级最高的滤波器,即前述优先级为1的滤波器“Catmull-Rom滤波器/bilinear滤波器”,编码端100从“Catmull-Rom滤波器/bilinear滤波器”中确定一个作为第一类滤波器。
对于编码端100从“Catmull-Rom滤波器/bilinear滤波器”确定一个滤波器作为第一类滤波器的过程,以下提供了可能的实现方式,在此不予赘述。
编码端100根据渲染信息包括的处理参数,从映射表中选取优先级最高的处理参数对应的滤波器作为第一类滤波器,该优先级最高的滤波器与图像渲染引擎采用的滤波器的匹配度也最高。编码端100利用该匹配度最高的滤波器对参考帧进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的时空域相关性提高,进而编码端100根据该虚拟参考帧,得到的第二图像对应的残差值降低,从而提升了编码效果,降低了编码得到的数据量,提高了压缩性能。
在第三种可能的示例中,编码端100获取到渲染信息包括的深度图和抗锯齿参数。
编码端100将获取深度图和抗锯齿参数对应的所有滤波器,编码端利用该所有滤波器分别对第二图像进行预编码,所有滤波器中的每一个滤波器将得到对应的预测结果。编码端100选择所有预测结果中符合设定条件的目标预测结果,并将目标预测结果对应的滤波器作为第一类滤波器。
其中,预测结果用于指示:基于一个滤波器对第二图像进行预编码获取的编码信息,该编码信息包括:第二图像的预测码率和失真率中至少一种。
例如,上述的预编码为:对第二图像进行帧间预测得到第二图像的预测块,并根据预测块,得到第二图像的残差值或残差块,再进行变换器处理的过程。编码端100利用上述所有滤波器进行预编码后得到对应预测码率和失真率。上述设定的条件可为在预测码率达到设定值时,失真率最小的预测结果,或者在失真率小于设定值时,预测码率最小的预测结果。
编码端通过利用渲染信息中处理参数对应的所有滤波器,进行预编码,编码端根据设定的条件对预编码得到的预测结果进行筛选,将满足设定的条件的目标预测结果对应的滤波器,作为第一类滤波器,从而确定了所有滤波器中实际符合预设条件的滤波器,作为第一类滤波器,进而编码端100根据该第一类滤波器插值得到的虚拟参考帧与第二图像的相似度最大。在编码端100对第二图像进行编码的过程中,由于虚拟参考帧与第二图像之间的相似度最大,因此,编码端100利用虚拟参考帧对该第二图像进行编码确定的码率和失真率达到最佳平衡,提高了编码压缩效果。
在一种可能的情形中,在编码端100中图像渲染引擎的TAA算法确定的情况下,在编码端100上预设第一类滤波器。
请继续参见图5,本实施例提供的视频编码方法还包括步骤S530。
S530、编码端100根据第一类滤波器,对第一解码图像进行插值,得到第二图像的虚拟参考帧。
其中,该第一解码图像为多个图像中第一图像进行编码再解码后的重建图像,该重建图像为经图2中滤波器单元128处理后的图像。该第一图像在第二图像之前进行编码。该第一解码图像包括第一图像对应的一个或多个参考块,如第一解码图像包括M xN个参考块,M和N都为大于等于1的整数。得到重建图像的内容,可参照上述图2所示出的表述,在此不予赘述。得到的虚拟参考帧可存入如图2中的存储器129。
下面给出一种可能的具体示例,以编码端是对第一解码图像包括的任一个参考块进行插值为例进行说明,如图6所示,图6为本申请提供的参考块插值方法的示意图,该方法包括以下第一步至第三步。
第一步,编码端100生成与参考块尺寸一致的空白图像。
其中,当图形运动矢量图与第一解码图像的尺寸一致时,编码端100直接生成与参考块尺寸一致的空白图像,并将图形运动矢量图拆分成M x N个图像,使拆分得到的图像与参考块尺寸一致,当M和N都为1时,编码端100将不对图形运动矢量图进行拆分。该第一解码图像、第一图像和第二图像的尺寸都相同。
当该图形运动矢量图与第一解码图像的尺寸不一致时,编码端100对图形运动矢量图进行插值,使插值后的图形运动矢量图与第一解码图像的尺寸一致。
对于编码端100对图形运动矢量图进行插值的实现方式,以下图7提供了一种可能的实现方式,在此不予赘述。
第二步,编码端100根据第一对应关系,利用拆分后的图形运动矢量图对上述参考块进行插值,确定空白图像中所有像素的像素值。
其中,该第一对应关系用于指示:渲染信息中图形运动矢量图指示的第一图像和第二图像具有至少部分重叠区域,且该部分重叠区域中,第一图像的像素与第二图像像素的位置映射关系。
由于第一解码图像基于第一图像进行编码再解码得到,因此第一解码图像中的像素与第一图像中的像素具有位置对应关系。在第一步中得到的空白图像与参考块的尺寸相同,因此可以理解为,空白图像中的像素与第二图像中对应图像块的像素位置对应。基于第一图像的像素与第二图像像素的位置映射关系,所以参考块上的像素与空白图像上的像素具有位置对应关系。
编码端100基于参考块上的像素位置与空白图像上的像素位置间的对应关系,利用第一类滤波器对参考块上的每个像素进行插值滤波,确定对应空白图像上每个像素位置的像素值,进而得到虚拟参考块中所有像素的像素值。
示例的,以第一对应关系中的参考块中像素A与空白图像中像素A’的位置映射关系为例进行说明。如图6所示,编码端100根据第一图像的像素与第二图像像素的位置映射关系,得到了参考块的像素与空白图像上像素的位置对应关系,如参考块上的像素A与空白图像上的像素A’具有位置对应关系。编码端100利用第一类滤波器对像素A或像素A及像素A周围的像素进行插值滤波,得到对应的像素值。编码端100再将该像素值填入空白图像上像素A’处,从而得到像素A’处的色彩。
编码端100按照上述像素A’的处理步骤,计算空白图像上每个像素的像素值,从而得到空白图像上所有像素的像素值。
第三步,编码端100根据空白图像中所有像素的像素值,得到虚拟参考帧。
编码端100将空白图像上所有像素的像素值填入空白图像的对应像素,得到虚拟参考块,编码端100通过将第一解码图像包括的每个参考块都经前述第一步和第二步的处理,得到各参考块对应空白图像上的所有像素的像素值,从而得到对应的虚拟参考块。编码端100通过将各虚拟参考块进行整合,得到虚拟参考帧。其中,编码端将第一解码图像包括的每个参考块都经前述第一步和第二步的处理时,采用的第一类滤波器可能不同。如不同的参考块采用不同的第一类滤波器。
编码端根据第一对应关系,对第一解码图像中的参考块进行插值,得到第二图像的虚拟参考帧,该虚拟参考帧与第二图像的相似度高于第一解码图像与第二图像的相似度,从而该虚拟参考帧与第二图像间的残差值降低,进而在确保图像质量一致的情况,码流中该图像的数据量减少,提高了编码效果。
请继续参见图5,本实施例提供的视频编码方法还包括步骤S540。
S540、编码端100基于第二图像的虚拟参考帧,对第二图像进行编码,得到第二图像对应的码流。
编码端100利用第二图像的虚拟参考帧进行帧间预测,确定第二图像对应的预测帧,该预测帧包括多个预测块。编码端100基于第二图像中图像块与对应预测块,得到对应的残差值(或称为残差块),以及确定第二图像中图像块与对应预测块的运动矢量(MotionVector,MV)。编码端100对上述残差值和运动矢量进行编码,实现对第二图像编码,得到对应码流。
针对于编码端100确定第二图像对应的多个预测块的过程,本申请给出了以下可能的示例。
在一种可能的示例中,编码端100根据如图2所示视频编码器120中的帧间预测器121,从存储器129中确定与第二图像的图像块匹配度最高的参考块,作为第二图像的预测块。
其中,该匹配度最高的参考块包括虚拟参考块。
例如,编码端100可利用全搜索法(Full Search,FS)或快速搜索法进行图像块搜索,编码端100再利用均方误差(mean-square error,MSE)和平均绝对误差(Mean AbsoluteDeviation,MAD)等方法计算搜索到的参考块与第二图像的图像块的匹配度,进而得到上述匹配度最高的参考块。
针对于编码端100确定第二图像中图像块与对应预测块的运动矢量,本申请给出了以下可能的示例。
在一种可能的示例中,编码端100根据图像块在第二图像中的位置与预测块在对应参考帧中的位置,确定图像块与预测块的相对位移,该相对位移即为图像块的运动矢量。例如该运行矢量为(1,1),表示图像块在第二图像中的位置相较于预测块在对应参考帧中的位置移动了(1,1)。
在一种可能的情形中,编码端100可将上述第一类滤波器的类型信息发送至解码端200。该类型信息如Catmull-Rom滤波器、bilinear滤波器或B-spline滤波器等。
示例1,编码端100可将上述第一类滤波器的类型信息写入码流,将该码流发送至解码端200。
示例2,编码端100可将上述第一类滤波器的类型信息作为渲染信息发送至解码端200。例如,编码端100将包括第一类滤波器的类型信息的渲染信息进行压缩后发送至解码端200。
在本实施例中,相较于采用固定的滤波器对重建图像进行处理得到参考帧,该参考帧与第二图像的相似度较低导致压缩性能较低的问题,本实施例中编码端从设定的多类滤波器中确定第一类滤波器,该第一类滤波器与图像渲染过程中所使用的滤波器匹配,有利于提升编码端利用该第一类滤波器确定的虚拟参考帧与第二图像之间的相似度。从而,在编码端基于该虚拟参考帧对第二图像编码时,该第二图像对应的残差值降低,码流中该第二图像对应的数据量减少,提升了压缩性能以及视频编码的效率。
可选的,针对于以上编码端100从“Catmull-Rom滤波器/bilinear滤波器”确定一个滤波器作为第一类滤波器,下面给出了一种可能的实现方式。
对于渲染参数包括深度图而言,编码端100将根据深度图中物体边缘信息与深度图对应第一解码图像中参考块的对应关系,从“Catmull-Rom滤波器/bilinear滤波器”确定第一类滤波器。
示例的,首先,编码端100将对深度图进行sobel滤波,得到滤波结果。其次,编码端100对该滤波结果进行大律法二值化处理,得到深度图中物体的边缘信息。最后,编码端100根据第一解码图像中各个参考块或该各个参考块对应的深度图中图像块,与该物体的边缘信息的对应关系,从“Catmull-Rom滤波器/bilinear滤波器”确定各个参考块对应的第一类滤波器。例如,当第一解码图像中的一个参考块中像素的位置处于该边缘信息指示的位置上时,将Catmull-Rom滤波器作为该参考块的第一类滤波器;当第一解码图像中的一个参考块中像素的位置不处于该边缘信息指示的位置上时,将bilinear滤波器作为该参考块的第一类滤波器。
可选的,针对于上述确定的渲染参数中优先级最高的处理参数为反照率图,以及滤波器为“Catmull-Rom滤波器/B-spline滤波器”时,从“Catmull-Rom滤波器/B-spline滤波器”中确定一个滤波器作为第一类滤波器,下面给出了一种可能的示例。
首先,编码端100将反照率图进行sobel滤波,得到滤波结果。其次,编码端100对该滤波结果进行大律法二值化处理,得到反照率图中物体的边缘信息。最后,编码端100根据第一解码图像中各个参考块或该各个参考块对应的深度图中图像块,与该物体的边缘信息的对应关系,从“Catmull-Rom滤波器/B-spline滤波器”中确定各个参考块对应的第一类滤波器。例如,当第一解码图像中的一个参考块中像素的位置处于该边缘信息指示的位置上时,将Catmull-Rom滤波器作为该参考块的第一类滤波器;当第一解码图像中的一个参考块中像素的位置不处于该边缘信息指示的位置上时,将B-spline滤波器作为该参考块的第一类滤波器。
编码端根据参考块与物体的边缘信息间的位置关系的不同,对不同的参考块采用不同的第一类滤波器进行插值,使编码端插值得到的虚拟参考块与第二图像中对应图像块的相似度提高,编码端利用该虚拟参考块对上述图像块进行编码时,该图像块对应的残差值降低,提升了压缩性能以及视频编码的效率。
针对以上在图形运动矢量图与第一解码图像的尺寸不一致时,编码端100对图形运动矢量图进行插值,下面给出了一种可能的实现方式。
首先,编码端100生成与源图像或图形运动矢量图尺寸一致的空白图像。其次,编码端100基于第一图形运动矢量图与空白图像间尺寸比例,确定第一图形运动矢量图中一个像素与空白图像中像素位置的第二对应关系。最后,编码端100利用插值滤波器对图形运动矢量图或第一解码图像进行插值,确定空白图像中每个像素的像素值和偏移。在插值后的图形运动矢量图与第一解码图像的尺寸一致时,得到该插值后的图形运动矢量图指示的第一对应关系,对于第一对应关系的表述,可参照上述图6所示的第二步内容。该源图像与第一解码图像的尺寸一致。
示例的,如图7所示,图7为本申请提供的图形运动矢量插值方法的示意图,以第一图形运动矢量图为图像渲染引擎输出的原始的图形运动矢量图,且该第一图形运动矢量图的尺寸小于第一解码图像的尺寸为例进行说明。
该第一图形运动矢量图的尺寸为4x4,而第一解码图像的尺寸为8x8。编码端100生成与第一解码图像尺寸一致的空白图像,如8x8的空白图像。编码端100确定第一图形运动矢量图与空白图像的尺寸比例为1:4,即第一图形运动矢量图中的一个像素对应空白图像中的4个像素。如图6所示,当第一图形运动矢量图中的像素C的坐标为(1,1),且其带有偏移(1,1),对应到空白图像中4个像素为C(1,1),C1(1,2),C2(2,1),C3(2,2)。编码端100基于第一图形运动矢量图中像素C与空白图像中像素C,C1,C2,C3的位置的第二对应关系,利用插值滤波器对第一图形运动矢量图进行插值,得到第二图形运动矢量图中像素C,C1,C2,C3的像素值与偏移。如前述空白图像中像素的偏移都为(2,2)。编码端100根据该偏移,即可得到第一对应关系。
对于上述插值滤波器,本申请给出了几种可能的示例,如bilinear滤波、nearest滤波、bicubic滤波等中的一种。
在图形运动矢量与源图像不一致的情况下,编码端对图形运动矢量图进行插值,得到插值后的图形运动矢量图。该插值后的图形运动矢量图的尺寸与第一解码图像的尺寸一致,且插值后的图形运动矢量图与第一解码图像的像素匹配,编码端基于该插值后的图形运动矢量图对第一解码图像进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像的匹配度提高。编码端根据该虚拟参考帧对第二图像进行编码时,该图像对应的残差值降低,提升了压缩性能。
可选的,针对于在上述步骤S520中确定出的第一类滤波器为可设置滤波核的滤波器时,编码端100还将确定该滤波器所使用的滤波核大小,下面给出了一种可能的实现方式。
第一,编码端100基于渲染信息中指示的图形运动矢量图,确定第一解码图像中像素的目标离散参数。
在一种可能的示例中,当渲染信息中图形运动矢量图与第一解码图像的尺寸不一致时,编码端100根据插值后的图形运动矢量图指示的第一图像和第二图像具有至少部分重叠区域,取出处于第一解码图像中重叠区域的图像块,计算该图像块中像素在每个通道的离散参数,作为目标离散参数。
在另一种可能的示例中,当渲染信息中图形运动矢量图与第一解码图像的尺寸一致时,编码端100计算第一解码图像中当前参考块中像素在每个通道的离散参数,作为目标离散参数。当前参考块可指示正在执行插值的参考块。
其中,该像素在每个通道用于指示在亮度(Y)、蓝色浓度偏移量(Cb)和红色浓度偏移量(Cr)三种色彩的通道,该目标离散参数包括:目标方差和目标协方差。
第二,编码端100中第一类滤波器利用第一滤波核对参考块进行插值,并计算插值得到的虚拟参考块中像素在每个通道的第一离散参数。
其中,第一滤波核为设定的多个滤波核中的一个,该多个滤波核具有不同的大小。
例如,当第一滤波核为3x3的滤波核,且该3x3的滤波核设有权重。第一类滤波器利用该3x3的滤波核对参考块进行插值滤波,得到虚拟参考块上各个像素的像素值。编码端100根据虚拟参考块上各个像素的像素值,计算该虚拟参考块中像素在每个通道的第一方差或第一协方差,从而得到该虚拟参考块的第一离散参数。
上述滤波核中的权重,可基于图形运动矢量图得到。例如图形运动矢量图指示:第一图像中的像素与第二图像中的像素的位置映射关系,该映射关系并非一定是整像素的映射关系。在第一图像中的物体运动后,得到第二图像,该第一图像中位于第一位置的像素偏移到了第二图像中的第二位置,该第二位置可能在整像素位置、也可能在第二图像中的多个像素所处的位置之间。如该第二位置对应的距离值为0.5,表明该第二位置位于第二图像中的两个像素所处位置的中位。编码端100根据上述像素的位置映射关系,确定滤波核中的权重。
第三,编码端100从所有滤波核对应的至少一个第一离散参数中,确定与目标离散参数差值最小的第一离散参数,将该第一离散参数对应的滤波核作为第一类滤波器的参数。
编码端100确定与目标离散参数差值最小的第一离散参数,编码端100将该第一离散参数对应的第一滤波核,作为第一类滤波器的参数。编码端利用前述的第一类滤波器和第一类滤波的参数,对第一解码图像进行插值,得到虚拟参考帧。该虚拟参考帧与第二图像的匹配度提高,在编码端根据虚拟参考帧来对第二图像进行编码时,该第二图像对应的残差值降低,使得码流中该图像的数据量减少,提升了压缩性能。
在编码端100根据上述视频编码方法对源视频编码完毕,或对源视频中的一个或多个源图像编码完毕后,编码端100得到源视频或源图像对应码流。编码端100将该码流发送至解码端200,解码端200对码流进行解码并播放。如图8所示,图8为本申请提供的一种视频解码方法的流程示意图。该视频解码方法可应用于图1所示出的视频编解码***或者图3所示出的视频解码器中,示例性的,该视频解码方法可由解码端200或者视频解码器220执行,这里以解码端200执行本实施例提供的图像解码方法为例进行说明。如图8所示,本实施例提供的图像编码方法包括以下步骤S810至S840。
S810、解码端200获取码流和码流对应的渲染信息。
其中,渲染信息用于指示:解码端200根据多个源图像生成码流的过程中所使用的处理参数。对于处理参数的内容,可参照上述图5所示的S510中对处理参数的表述,在此不予赘述。该处理参数中的图形运动矢量图指示了多个图像帧中第一图形帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域。
例如,该渲染信息可由编码端100发送至解码端200。
在一种可能的示例中,解码端200获取到的渲染信息包括:如上表1所示映射表中的处理参数中的一种或多种组合。
S820、解码端200基于渲染信息,确定第一类滤波器。
其中,该第一类滤波器为设定的多类滤波器中的一类。
示例性的,解码端200根据渲染信息指示的处理参数,查询如上表1得到处理参数对应的第一类滤波器。该表1示出了处理参数对应的多类滤波器中至少一类滤波器,且每类滤波器具有对应的优先级。
针对于解码端200根据渲染信息确定第一类滤波器的内容,可参照编码端100根据渲染信息包括的处理参数确定第一类滤波器的示例,在此不予赘述。
在一种可能的情形中,解码端200可根据渲染信息,查询预设的映射表,获取渲染信息中每个处理参数对应的滤波器。解码端200从渲染信息对应的所有滤波器中,确定第一类滤波器。
对于映射表的有关内容,可参照上述图5中的S520以及表1所示的确定第一类滤波器的表述,在此不予赘述。
在一种可能的情形中,该解码端200获取滤波器信息。滤波器根据该滤波器信息中指示的滤波器种类及参数,确定第一类滤波器及第一类滤波器对应的滤波参数。
其中,该滤波参数用于指示:解码端200基于第一类滤波器得到虚拟参考帧的过程中使用的处理参数,如滤波器的滤波核的大小以及对应权重等。
示例性的,上述渲染信息或码流中可包括滤波信息。
在一种可能的示例中,在编码端100中图像渲染引擎的TAA算法确定的情况下,在解码端200上预设第一类滤波器。
S830、解码端200根据第一类滤波器,对第一图像帧对应的第一解码图像进行插值,得到第二图像帧的虚拟参考帧。
示例的,首先,解码端200通过生成与参考块尺寸一致的空白图像;其次,解码端200根据第一对应关系,利用拆分后的图形运动矢量图对参考块进行插值,确定空白图像中所有像素的像素值;最后,解码端200根据空白图像中所有像素的像素值,得到虚拟参考帧。其中,第一对应关系基于渲染信息中的图形运动矢量图确定。该参考块为第一解码图像,且该第一解码图像为第一图像对应的多个参考块中的任一个。
对于上述示例的详细说明,可参考上述图6所示出的内容,在此不予赘述。
编码端根据第一对应关系,对第一解码图像中的参考块进行插值,得到第二图像的虚拟参考帧,该虚拟参考帧与第二图像帧的相似度高于第一解码图像与第二图像帧的相似度,解码端200根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
S840、解码端200基于虚拟参考帧对第二图像帧进行解码,获取第二图像帧对应的第二解码图像。
解码端200将第二图像帧进行反量化、反变换等处理,得到第二图像帧对应的残差块、及运动矢量等。解码端200利用该残差块、运动矢量等数据以及S830中确定的虚拟参考帧进行图像重建,得到第二图像帧对应的第二解码图像。
示例的,解码端200利用如图3中的视频解码器220对码流中第二图像帧经熵解码器221、反量化器222和反变换器223后得到第二图像帧与对应虚拟参考帧的残差块,视频解码器220利用该残差块、运动矢量以及虚拟参考帧进行图像块重建。视频解码器220将重建得到的多个图像块经滤波器单元224处理,得到第二图像帧对应的第二解码图像。
解码端200根据渲染信息指示的处理参数,从设定的多类滤波器中选择第一类滤波器,并利用该第一类滤波器来获取第二图像帧的虚拟参考帧,避免采用固定的滤波器对第一解码图像进行处理得到参考帧导致的解码效果较差的问题,该虚拟参考帧与第二图像帧对应的源图像的匹配度提高,解码端200根据该虚拟参考帧对第二图像帧进行解码时,在解码端的处理能力一致时,解码端处理的数据量减少,提高了解码效率。
当解码端200得到的图形运动矢量图与第一解码图像尺寸不一致时,解码端200将对图形运动矢量图进行插值,示例的:首先,解码端200生成与第一解码图像尺寸一致的空白图像。其次,解码端200基于第一图形运动矢量图与空白图像间尺寸比例,确定第一图形运动矢量图中一个像素与空白图像中像素位置的第二对应关系。最后,解码端200利用插值滤波器对图形运动矢量图进行插值,确定空白图像中每个像素的像素值和偏移。
其中,该第一解码图像与源图像的尺寸一致。
对于上述示例的详细描述,可参照上述图7所示出的内容,在此不予赘述。
在图形运动矢量与第一解码图像不一致的情况下,解码端对图形运动矢量图进行插值,得到插值后的图形运动矢量图。该插值后的图形运动矢量图的尺寸与第一解码图像的尺寸一致,且插值后的图形运动矢量图与第一解码图像的匹配,解码端基于该插值后的图形运动矢量图对第一解码图像进行插值,得到虚拟参考帧,该虚拟参考帧与第二图像帧的匹配度提高。解码端200根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
可选的,针对于在上述步骤S820中确定出的第一类滤波器为可设置滤波核的滤波器时,解码端200还将确定该滤波器所使用的滤波核大小,下面给出了一种可能的实现方式。
第一,解码端200基于渲染信息中指示的图形运动矢量图,确定第一解码图像中像素的目标离散参数。
第二,解码端200中第一类滤波器利用第一滤波核对参考块进行插值,并计算插值得到的虚拟参考块中像素在每个通道的第一离散参数。
第三,解码端200从所有滤波核对应的至少一个第一离散参数中,确定与目标离散参数差值最小的第一离散参数,解码端200将该第一离散参数对应的滤波核作为第一类滤波器的参数。
对于上述解码端200确定滤波核的过程,可参考上述编码端100确定滤波核大小的内容,在此不予赘述。
解码端200确定与目标离散参数差值最小的第一离散参数,解码端200将该第一离散参数对应的第一滤波核,作为第一类滤波器的参数。解码端200利用前述的第一类滤波器和第一类滤波的参数,对第一解码图像进行插值,得到虚拟参考帧。该虚拟参考帧与第二图像帧的匹配度提高,解码端200根据该虚拟参考帧对第二图像帧进行解码时,处理的数据量减少,提高了解码效率。
上文中结合图4至图7,详细描述了根据本申请所提供的视频编码的方法,下面将结合图9,图9为本申请提供的一种视频编码装置的结构示意图,描述根据本申请所提供的视频编码装置。视频编码装置900可以用于实现上述方法实施例中编码端的功能,因此也能实现上述方法实施例所具备的有益效果。
如图9所示,视频编码装置900包括第一获取模块910、第一插值模块920和编码模块930;该视频编码装置900用于实现上述图4至图7中所对应的方法实施例中编码端的功能。在一种可能的示例中,该视频编码装置900用于实现上述视频编码方法的具体过程包括以下过程:
第一获取模块910,用于获取源视频和源视频对应的渲染信息。其中,该源视频包括多个源图像,该渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,处理参数指示了多个源图像中的第一图像和第二图像具有至少部分重叠区域。
第一插值模块920,用于根据渲染信息,确定第一类滤波器。以及根据该第一类滤波器,对第一解码图像进行插值,得到第二图像的虚拟参考帧。其中,第一类滤波器为设定的多类滤波器中的一类,第一解码图像为多个图像中第一图像进行编码后再解码获取的重建图像,该第一图像在第二图像之前进行编码。
编码模块930,用于基于第二图像的虚拟参考帧对第二图像信息编码。
为进一步实现上述图4至图7中所示的方法实施例中的功能。本申请还提供了一种视频编码装置,该视频编码装置900还包括第一滤波核确定模块940。
其中,该第一滤波核确定模块940,用于基于渲染信息,确定第一解码图像中像素的目标离散参数;该目标离散参数包括:目标方差或目标协方差;以及将与目标离散参数差值最小的第一离散参数对应的第一滤波核,作为第一类滤波器的参数,第一离散参数用于指示:第一类滤波器基于第一滤波核对像素进行插值,并基于插值后的像素计算得到的离散参数,第一滤波核为设定的多个滤波核中的一个,第一离散参数包括第一方差或第一协方差。
应理解,前述实施例的编码端可对应于该视频编码装置900,并可以对应于执行根据本申请实施例的方法图4至图7对应的相应主体,并且视频编码装置900中的各个模块的操作和/或功能分别为了实现图4至图7中对应实施例的各个方法的相应流程,为了简洁,在此不再赘述。
上文中结合图3和图8,详细描述了根据本申请所提供的视频解码的方法,下面将结合图10,图10为本申请提供的一种视频解码装置的结构示意图,描述根据本申请所提供的视频解码装置。视频解码装置1000可以用于实现上述方法实施例中解码端的功能,因此也能实现上述方法实施例所具备的有益效果。
如图10所示,视频解码装置1000包括第二获取模块1010、第二插值模块1020和解码模块1030;该视频解码装置1000用于实现上述图3和图8中所对应的方法实施例中解码端的功能。在一种可能的示例中,该视频解码装置1000用于实现上述视频解码方法的具体过程包括以下过程:
第二获取模块1010,用于获取码流和码流对应的渲染信息。该码流包括多个图像帧,渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,处理参数指示了多个图像帧中第一图像帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域。
第二插值模块1020,用于基于渲染信息,确定第一类滤波器,以及根据第一类滤波器,对第一图像帧对应的第一解码图像进行插值,得到第二图像帧的虚拟参考帧。其中,第一类滤波器为设定的多类滤波器中的一类。
解码模块1030,用于根据虚拟参考帧对第二图像帧进行解码,获取第二图像帧对应的第二解码图像。
为进一步实现上述图3和图8中所示的方法实施例中的功能。本申请还提供了一种视频解码装置,该视频解码装置1000还包括滤波器信息获取模块1040和第二滤波核确定模块1050。
其中,滤波器信息获取模块1040,用于获取滤波器信息,以及根据滤波器信息中指示的滤波器种类及参数,确定第一类滤波器及第一类滤波器对应的滤波参数,滤波参数用于指示:基于第一类滤波器得到虚拟参考帧的过程中使用的处理参数。
第二滤波核确定模块1050,用于基于渲染信息,确定第一解码图像中像素的目标离散参数;该目标离散参数包括:目标方差或目标协方差;以及将与目标离散参数差值最小的第一离散参数对应的第一滤波核,作为第一类滤波器的参数,第一离散参数用于指示:第一类滤波器基于第一滤波核对像素进行插值,并基于插值后的像素计算得到的离散参数,第一滤波核为设定的多个滤波核中的一个,第一离散参数包括第一方差或第一协方差。
应理解,根据本申请实施例的解码端可对应于申请实施例中的视频解码装置1000,并可以对应于执行根据本申请实施例的方法图3和图8对应的相应主体,并且视频解码装置1000中的各个模块的操作和/或功能分别为了实现图3和图8中对应实施例的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例提供的一种计算机设备,如图11所示,图11为本申请提供的一种计算机设备的结构示意图。该计算机设备可应用于图1所示的编解码***中,该计算机设备可以为编码端100或解码端200中任一个。
计算机设备1100具体可以为手机、平板电脑、电视(也可称为智能电视、智慧屏或大屏设备)、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、个人数字助理(Personal DigitalAssistant,PDA)、可穿戴电子设备(例如:智能手表,智能手环,智能眼镜)、车载设备、虚拟现实设备、服务器等具有计算能力的计算设备。
如图11所示,处理设备1100可以包括处理器1110、存储器1120、通信接口1130和总线1140等,处理器1110、存储器1120、通信接口1130通过总线1140连接。
可以理解的是,本发明实施例示意的结构并不构成对处理设备的具体限定。在本申请另一些实施例中,处理设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器1110可以包括一个或多个处理单元,例如:处理器1110可以包括应用处理器(applicationprocessor,AP),调制解调处理器,中央处理器(Central ProcessingUnit,CPU),图形处理器(graphics processing unit,GPU),图像信号处理器(imagesignal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digitalsignal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器1110中还可以设置内部存储器,用于存储指令和数据。在一些实施例中,处理器1110中的内部存储器为高速缓冲存储器。该内部存储器可以保存处理器1110刚用过或循环使用的指令或数据。如果处理器1110需要再次使用该指令或数据,可从所述内部存储器中直接调用。避免了重复存取,减少了处理器1110的等待时间,因而提高了***的效率。
存储器1120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器1110通过运行存储在内部存储器1120的指令,从而执行处理设备1100的各种功能应用以及数据处理。内部存储器1120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如编码功能,发送功能等)等。存储数据区可存储处理设备1100使用过程中所创建的数据(比如码流,参考帧等)等。此外,内部存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
通信接口1130用于实现处理设备1100与外部设备或器件的通信。在本实施例中,通信接口1130用于与其他处理设备进行数据交互。
总线1140可以包括一通路,用于在上述组件(如处理器1110、存储器1120、通信接口1130)之间传送信息。总线1140除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1140。总线1140可以是快捷***组件互连(peripheral component interconnect express,PCIe)高速总线,扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。
值得说明的是,图11中仅以处理设备1100包括1个处理器1110和1个存储器1120为例,此处,处理器1110和存储器1120分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
当视频编码(或视频解码)装置通过硬件实现时,该硬件可以通过处理器或芯片实现。下面以该硬件为芯片为例进行说明,该芯片包括处理器,用于实现上述方法中编码端和/或解码端的功能。在一种可能的设计中,所述芯片还包括供电电路,用于为所述处理器供电。该芯片,可以直接由芯片构成,也可以包括芯片和其他分立器件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (43)
1.一种视频解码方法,其特征在于,该方法由解码端执行,所述方法包括:
获取码流和所述码流对应的渲染信息;所述码流包括多个图像帧,所述渲染信息用于指示:根据多个源图像生成所述码流的过程中所使用的处理参数,所述处理参数指示了所述多个图像帧中第一图像帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域;
根据由所述渲染信息确定的第一类滤波器,对所述第一图像帧对应的第一解码图像进行插值,获取所述第二图像帧的虚拟参考帧;其中,所述第一类滤波器为设定的多类滤波器中的一类;
根据所述虚拟参考帧对所述第二图像帧进行解码,获取第二图像帧对应的第二解码图像。
2.根据权利要求1所述的方法,其特征在于,所述根据由所述渲染信息确定的第一类滤波器包括:
根据所述渲染信息查询设定的映射表,获取所述渲染信息中每个处理参数对应的滤波器;所述映射表用于指示:所述每个处理参数对应的所述多类滤波器中至少一类滤波器;
从所述渲染信息对应的所有滤波器中,确定第一类滤波器。
3.根据权利要求2所述的方法,其特征在于,所述映射表还用于指示:所述多类滤波器中每类滤波器的优先级;
所述从所述渲染信息对应的所有滤波器中,确定第一类滤波器包括:
获取所述渲染信息对应的所有滤波器的优先级;
将所述所有滤波器中滤波器优先级最高的滤波器作为所述第一类滤波器。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
5.根据权利要求4所述的方法,其特征在于,若所述渲染信息包括所述深度图时,则所述第一类滤波器通过所述深度图中的像素与所述深度图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括所述反照率图时,则所述第一类滤波器通过所述反照率图中的像素与所述反照率图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括的所述后处理参数包含抗锯齿参数时,则所述第一类滤波器为所述抗锯齿参数所指示的滤波器;或者,
若所述渲染信息包括的所述后处理参数包含执行运动模糊模块的指令时,则所述第一类滤波器为bilinear滤波器;
或者,所述第一类滤波器为Catmull-Rom滤波器。
6.根据权利要求1至5中任一项所述的方法,其特征在于,在根据由所述渲染信息确定的第一类滤波器,对第一图像帧对应的第一解码图像进行插值之前,所述方法还包括:
获取滤波器信息;
根据所述滤波器信息中指示的滤波器种类及参数,确定所述第一类滤波器及第一类滤波器对应的滤波参数,所述滤波参数用于指示:基于所述第一类滤波器得到所述虚拟参考帧的过程中使用的处理参数。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据由所述渲染信息确定的第一类滤波器,对第一图像帧对应的第一解码图像进行插值,获取第二图像帧的虚拟参考帧包括:
根据第一对应关系,在所述第一解码图像上进行插值,获取所述虚拟参考帧中所有像素的像素值;所述第一对应关系用于指示:在所述第一图像帧对应的源图像和第二图像帧对应的源图像的重叠区域中,第一图像帧对应的源图像中的像素和第二图像帧对应的源图像中的像素的位置映射关系;
根据所述所有像素的像素值,得到所述虚拟参考帧。
8.根据权利要求7所述的方法,其特征在于,所述第一对应关系通过以下方法得到:
当所述渲染信息中的图形运动矢量图与所述源图像的尺寸不匹配时,创建尺寸与所述源图像匹配的空图像;
确定所述图形运动矢量图上的像素坐标与所述空图像上的像素坐标的第二对应关系;
基于所述第二对应关系,利用设定的滤波器对所述图形运动矢量图进行插值,获取所述第一对应关系。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
基于所述渲染信息,确定所述第一解码图像中像素的目标离散参数;所述目标离散参数包括:目标方差或目标协方差;
将与所述目标离散参数差值最小的第一离散参数对应的第一滤波核,作为所述第一类滤波器的参数,所述第一离散参数用于指示:第一类滤波器基于所述第一滤波核对所述像素进行插值,并基于插值后的像素计算得到的离散参数,所述第一滤波核为设定的多个滤波核中的一个,所述第一离散参数包括第一方差或第一协方差。
10.一种视频编码方法,其特征在于,该方法由编码端执行,所述方法包括:
获取多个源图像和所述多个源图像对应的渲染信息;所述渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,所述处理参数指示了所述多个源图像中的第一图像和第二图像具有至少部分重叠区域;
根据由所述渲染信息确定的第一类滤波器,对第一解码图像进行插值,获取第二图像的虚拟参考帧;其中,第一类滤波器为设定的多类滤波器中的一类,所述第一解码图像为所述多个图像中第一图像进行编码后再解码获取的重建图像;
基于所述虚拟参考帧对所述第二图像进行编码,得到所述第二图像对应的码流。
11.根据权利要求10所述的方法,其特征在于,所述根据由所述渲染信息确定的第一类滤波器包括:
根据所述渲染信息查询设定的映射表,获取所述渲染信息中每个处理参数对应的滤波器;所述映射表用于指示:所述每个处理参数对应的所述多类滤波器中至少一类滤波器;
从所述渲染信息对应的所有滤波器中,确定第一类滤波器。
12.根据权利要求11所述的方法,其特征在于,所述映射表还用于指示:所述多类滤波器中每类滤波器的优先级;
所述从所述渲染信息对应的所有滤波器中,确定第一类滤波器包括:
获取所述渲染信息对应的所有滤波器的优先级;
将所述所有滤波器中滤波器优先级最高的滤波器作为所述第一类滤波器。
13.根据权利要求11所述的方法,其特征在于,所述从所述渲染信息对应的所有滤波器中,确定第一类滤波器包括:
对所述渲染信息对应的所有滤波器进行预测,获取至少一个预测结果;一个预测结果对应所述所有滤波器中的一个滤波器,所述一个预测结果用于指示:基于所述一个滤波器对第二图像进行预编码获取的编码信息,所述编码信息包括:所述第二图像的预测码率和失真率中至少一种;
选择所述至少一个预测结果中编码信息符合设定的条件的目标预测结果,并将所述目标预测结果对应的滤波器作为所述第一类滤波器。
14.根据权利要求10至13中任一项所述的方法,其特征在于,所述渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
15.根据权利要求14所述的方法,其特征在于,若所述渲染信息包括所述深度图时,则所述第一类滤波器通过所述深度图中的像素与所述深度图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括所述反照率图时,则所述第一类滤波器通过所述反照率图中的像素与所述反照率图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括的所述后处理参数包含抗锯齿参数时,则所述第一类滤波器为所述抗锯齿参数所指示的滤波器;或者,
若所述渲染信息包括的所述后处理参数包含执行运动模糊模块的指令时,则所述第一类滤波器为bilinear滤波器;
或者,所述第一类滤波器为Catmull-Rom滤波器。
16.根据权利要求10至15中任一项所述的方法,其特征在于,所述根据由所述渲染信息确定的第一类滤波器,对第一解码图像进行插值,获取第二图像的虚拟参考帧包括:
根据第一对应关系,在所述第一解码图像上进行插值,获取所述虚拟参考帧中所有像素的像素值;所述第一对应关系用于指示:在所述第一图像和所述第二图像的重叠区域中,第一图像中的像素与第二图像的像素的位置映射关系;
根据所述所有像素的像素值,得到所述虚拟参考帧。
17.根据权利要求16所述的方法,其特征在于,所述第一对应关系通过以下方法得到:
当所述渲染信息中的图形运动矢量图与所述源图像的尺寸不匹配时,将创建尺寸与所述源图像匹配的空图像;
确定所述图形运动矢量图上的像素坐标与所述空图像上的像素坐标的第二对应关系;
基于所述第二对应关系,利用设定的滤波器对所述图形运动矢量图进行插值,获取第一对应关系。
18.根据权利要求16或17所述的方法,其特征在于,所述方法还包括:
基于所述渲染信息,确定所述第一解码图像中像素的目标离散参数;所述目标离散参数包括:目标方差或目标协方差;
将与所述目标离散参数差值最小的第一离散参数对应的第一滤波核,作为所述第一类滤波器的参数,所述第一离散参数用于指示:第一类滤波器基于所述第一滤波核对所述像素进行插值,并基于插值后的像素计算得到的离散参数,所述第一滤波核为设定的多个滤波核中的一个,所述第一离散参数包括第一方差或第一协方差。
19.根据权利要求10至18中任一项所述的方法,其特征在于,所述方法还包括:
将所述第一类滤波器的类型信息写入所述码流。
20.一种视频解码装置,其特征在于,所述装置包括:
第二获取模块,用于获取码流和所述码流对应的渲染信息;所述码流包括多个图像帧,所述渲染信息用于指示:根据多个源图像生成所述码流的过程中所使用的处理参数,所述处理参数指示了所述多个图像帧中第一图像帧对应的源图像和第二图像帧对应的源图像具有至少部分重叠区域;
第二插值模块,用于根据由所述渲染信息确定的第一类滤波器,对所述第一图像帧对应的第一解码图像进行插值,获取所述第二图像帧的虚拟参考帧;其中,所述第一类滤波器为设定的多类滤波器中的一类;
解码模块,用于根据所述虚拟参考帧对所述第二图像帧进行解码,获取第二图像帧对应的第二解码图像。
21.根据权利要求20所述的装置,其特征在于,所述第二插值模块,还用于根据所述渲染信息查询设定的映射表,获取所述渲染信息中每个处理参数对应的滤波器;所述映射表用于指示:所述每个处理参数对应的所述多类滤波器中至少一类滤波器;以及,从所述渲染信息对应的所有滤波器中,确定第一类滤波器。
22.根据权利要求21所述的装置,其特征在于,所述映射表还用于指示:所述多类滤波器中每类滤波器的优先级;
所述第二插值模块,还用于获取所述渲染信息对应的所有滤波器的优先级;以及,将所述所有滤波器中滤波器优先级最高的滤波器作为所述第一类滤波器。
23.根据权利要求20至22中任一项所述的装置,其特征在于,所述渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
24.根据权利要求23所述的装置,其特征在于,若所述渲染信息包括所述深度图时,则所述第一类滤波器通过所述深度图中的像素与所述深度图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括所述反照率图时,则所述第一类滤波器通过所述反照率图中的像素与所述反照率图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括的所述后处理参数包含抗锯齿参数时,则所述第一类滤波器为所述抗锯齿参数所指示的滤波器;或者,
若所述渲染信息包括的所述后处理参数包含执行运动模糊模块的指令时,则所述第一类滤波器为bilinear滤波器;
或者,所述第一类滤波器为Catmull-Rom滤波器。
25.根据权利要求20至24中任一项所述的装置,其特征在于,所述装置还包括:
滤波器信息获取模块,用于获取滤波器信息;以及,根据所述滤波器信息中指示的滤波器种类及参数,确定所述第一类滤波器及第一类滤波器对应的滤波参数,所述滤波参数用于指示:基于所述第一类滤波器得到所述虚拟参考帧的过程中使用的处理参数。
26.根据权利要求20至25中任一项所述的装置,其特征在于,所述第二插值模块,还用于根据第一对应关系,在所述第一解码图像上进行插值,获取所述虚拟参考帧中所有像素的像素值;所述第一对应关系用于指示:在所述第一图像帧对应的源图像和第二图像帧对应的源图像的重叠区域中,第一图像帧对应的源图像中的像素和第二图像帧对应的源图像中的像素的位置映射关系;以及,根据所述所有像素的像素值,得到所述虚拟参考帧。
27.根据权利要求26所述的装置,其特征在于,所述对应关系通过以下方法得到:
当所述渲染信息中的图形运动矢量图与所述源图像的尺寸不匹配时,创建尺寸与所述源图像匹配的空图像;
确定所述图形运动矢量图上的像素坐标与所述空图像上的像素坐标的第二对应关系;
基于所述第二对应关系,利用设定的滤波器对所述图形运动矢量图进行插值,获取所述第一对应关系。
28.根据权利要求26或27所述的装置,其特征在于,所述装置还包括:
第二滤波核确定模块,用于基于所述渲染信息,确定所述第一解码图像中像素的目标离散参数;所述目标离散参数包括:目标方差或目标协方差;以及,将与所述目标离散参数差值最小的第一离散参数对应的第一滤波核,作为所述第一类滤波器的参数,所述第一离散参数用于指示:第一类滤波器基于所述第一滤波核对所述像素进行插值,并基于插值后的像素计算得到的离散参数,所述第一滤波核为设定的多个滤波核中的一个,所述第一离散参数包括第一方差或第一协方差。
29.一种视频编码装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个源图像和所述多个源图像对应的渲染信息;所述渲染信息用于指示:根据多个源图像生成码流的过程中所使用的处理参数,所述处理参数指示了所述多个源图像中的第一图像和第二图像具有至少部分重叠区域;
第一插值模块,用于根据由所述渲染信息确定的第一类滤波器,对第一解码图像进行插值,获取第二图像的虚拟参考帧;其中,第一类滤波器为设定的多类滤波器中的一类,所述第一解码图像为所述多个图像中第一图像进行编码后再解码获取的重建图像;
编码模块,用于基于所述虚拟参考帧对所述第二图像进行编码。
30.根据权利要求29所述的装置,其特征在于,所述第一插值模块,还用于根据所述渲染信息查询设定的映射表,获取所述渲染信息中每个处理参数对应的滤波器;所述映射表用于指示:所述每个处理参数对应的所述多类滤波器中至少一类滤波器;以及,从所述渲染信息对应的所有滤波器中,确定第一类滤波器。
31.根据权利要求30所述的装置,其特征在于,所述映射表还用于指示:所述多类滤波器中每类滤波器的优先级;
所述第一插值模块,还用于获取所述渲染信息对应的所有滤波器的优先级;以及,将所述所有滤波器中滤波器优先级最高的滤波器作为所述第一类滤波器。
32.根据权利要求30所述的装置,其特征在于,所述第一插值模块,还用于对所述渲染信息对应的所有滤波器进行预测,获取至少一个预测结果;一个预测结果对应所述所有滤波器中的一个滤波器,所述一个预测结果用于指示:基于所述一个滤波器对第二图像进行预编码获取的编码信息,所述编码信息包括:所述第二图像的预测码率和失真率中至少一种;以及,选择所述至少一个预测结果中编码信息符合设定的条件的目标预测结果,并将所述目标预测结果对应的滤波器作为所述第一类滤波器。
33.根据权利要求29至32中任一项所述的装置,其特征在于,所述渲染信息包括:深度图、反照率图和后处理参数中的一种或多种的组合。
34.根据权利要求33所述的装置,其特征在于,若所述渲染信息包括所述深度图时,则所述第一类滤波器通过所述深度图中的像素与所述深度图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括所述反照率图时,则所述第一类滤波器通过所述反照率图中的像素与所述反照率图中物体的边缘信息的关系来确定;或者,
若所述渲染信息包括的所述后处理参数包含抗锯齿参数时,则所述第一类滤波器为所述抗锯齿参数所指示的滤波器;或者,
若所述渲染信息包括的所述后处理参数包含执行运动模糊模块的指令时,则所述第一类滤波器为bilinear滤波器;
或者,所述第一类滤波器为Catmull-Rom滤波器。
35.根据权利要求29至34中任一项所述的装置,其特征在于,所述第一插值模块,还用于根据第一对应关系,在所述第一解码图像上进行插值,获取所述虚拟参考帧中所有像素的像素值;所述第一对应关系用于指示:在所述第一图像和所述第二图像的重叠区域中,第一图像中的像素与第二图像的像素的位置映射关系;以及,根据所述所有像素的像素值,得到所述虚拟参考帧。
36.根据权利要求35所述的装置,其特征在于,所述第一对应关系通过以下方法得到:
当所述渲染信息中的图形运动矢量图与所述源图像的尺寸不匹配时,将创建尺寸与所述源图像匹配的空图像;
确定所述图形运动矢量图上的像素坐标与所述空图像上的像素坐标的第二对应关系;
基于所述第二对应关系,利用设定的滤波器对所述图形运动矢量图进行插值,获取第一对应关系。
37.根据权利要求35或36所述的装置,其特征在于,所述装置还包括:
第一滤波核确定模块,用于基于所述渲染信息,确定所述第一解码图像中像素的目标离散参数;所述目标离散参数包括:目标方差或目标协方差;以及,将与所述目标离散参数差值最小的第一离散参数对应的第一滤波核,作为所述第一类滤波器的参数,所述第一离散参数用于指示:第一类滤波器基于所述第一滤波核对所述像素进行插值,并基于插值后的像素计算得到的离散参数,所述第一滤波核为设定的多个滤波核中的一个,所述第一离散参数包括第一方差或第一协方差。
38.根据权利要求29至37中任一项所述的装置,其特征在于,所述编码模块还用于:将所述第一类滤波器的类型信息写入所述码流。
39.一种芯片,其特征在于,包括:处理器和供电电路;
所述供电电路用于为所述处理器供电;
所述处理器用于执行权利要求1至9中任一所述的方法;和/或,所述处理器用于执行权利要求10至19中任一项所述的方法。
40.一种编解码器,其特征在于,包括存储器和处理器,所述存储器用于存储计算机指令;所述处理器执行所述计算机指令时,实现权利要求1至9中任一项所述的方法;和/或,所述处理器执行所述计算机指令时,实现权利要求10至19中任一项所述的方法。
41.一种编解码***,其特征在于,包括编码端和解码端;
所述编码端用于根据多个源图像对应的渲染信息,对多个图像进行编码,得到多个图像对应的码流,实现权利要求10至19中任一项所述的方法;
所述解码端用于根据多个源图像对应的渲染信息,对所述码流进行解码,得到多个解码图像,实现权利要求1至9中任一项所述的方法。
42.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理设备执行时,实现权利要求1至9中任一项所述的方法;和/或,当所述计算机程序或指令被处理设备执行时,实现权利要求10至19中任一项所述的方法。
43.一种计算机程序产品,包括计算机程序或指令,其特征在于,当所述计算机程序或指令在被处理设备执行时,实现权利要求1至9中任一项所述的方法;和/或,当所述计算机程序或指令在被处理设备执行时,实现权利要求10至19中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211478458.9A CN118075458A (zh) | 2022-11-23 | 2022-11-23 | 视频编解码方法及装置 |
PCT/CN2023/094873 WO2024108931A1 (zh) | 2022-11-23 | 2023-05-17 | 视频编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211478458.9A CN118075458A (zh) | 2022-11-23 | 2022-11-23 | 视频编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118075458A true CN118075458A (zh) | 2024-05-24 |
Family
ID=91102795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211478458.9A Pending CN118075458A (zh) | 2022-11-23 | 2022-11-23 | 视频编解码方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118075458A (zh) |
WO (1) | WO2024108931A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060043051A (ko) * | 2004-09-23 | 2006-05-15 | 엘지전자 주식회사 | 영상 신호의 인코딩 및 디코딩 방법 |
EP2903281A4 (en) * | 2012-09-28 | 2016-04-27 | Sony Corp | ENCLOSURE DEVICE, ENCRYPTION METHOD, DECOMPOSITION DEVICE AND DECOMPOSITION METHOD |
US20160241882A1 (en) * | 2013-10-11 | 2016-08-18 | Sony Corporation | Image processing apparatus and image processing method |
CN106658019B (zh) * | 2015-10-31 | 2019-11-12 | 华为技术有限公司 | 参考帧编解码的方法与装置 |
US10404979B2 (en) * | 2016-03-17 | 2019-09-03 | Mediatek Inc. | Video coding with interpolated reference pictures |
CN114071161B (zh) * | 2020-07-29 | 2023-03-31 | Oppo广东移动通信有限公司 | 图像编码方法、图像解码方法及相关装置 |
-
2022
- 2022-11-23 CN CN202211478458.9A patent/CN118075458A/zh active Pending
-
2023
- 2023-05-17 WO PCT/CN2023/094873 patent/WO2024108931A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024108931A1 (zh) | 2024-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108848380B (zh) | 视频编码和解码方法、装置、计算机设备及存储介质 | |
CN108769681B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN108833923B (zh) | 视频编码、解码方法、装置、存储介质和计算机设备 | |
US10448027B2 (en) | Method of encoding video data, video encoder performing the same and electronic system including the same | |
CN107027032B (zh) | 最后帧运动向量分区方法和装置 | |
CN108924553B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
US10757428B2 (en) | Luma and chroma reshaping of HDR video encoding | |
US11006149B2 (en) | Non-transform coding | |
CN110300301B (zh) | 图像编解码方法和装置 | |
WO2022068682A1 (zh) | 图像处理方法及装置 | |
CN108848377B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
CN112995663B (zh) | 视频编码的方法、视频解码的方法及相应装置 | |
US10812832B2 (en) | Efficient still image coding with video compression techniques | |
CN107018416B (zh) | 用于视频和图像压缩的自适应贴片数据大小编码 | |
WO2022266955A1 (zh) | 图像解码及处理方法、装置及设备 | |
US20210218958A1 (en) | Video picture component prediction method and apparatus, and computer storage medium | |
US9967562B2 (en) | Method, device and system for changing quantization parameter for coding unit in HEVC | |
US20230388519A1 (en) | Information processing method and device, apparatus, and storage medium | |
CN115866297A (zh) | 视频处理方法、装置、设备及存储介质 | |
CN118075458A (zh) | 视频编解码方法及装置 | |
JP2018525901A (ja) | ディスプレイストリーム圧縮における変換モード用ブロックサイズの変更 | |
CN118075459A (zh) | 一种视频编解码方法及装置 | |
RU2787217C1 (ru) | Способ и устройство интерполяционной фильтрации для кодирования с предсказанием | |
CN116760976B (zh) | 仿射预测决策方法、装置、设备及存储介质 | |
US11843724B2 (en) | Intra prediction method and apparatus, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |