WO2020006690A1 - 视频处理方法和设备 - Google Patents
视频处理方法和设备 Download PDFInfo
- Publication number
- WO2020006690A1 WO2020006690A1 PCT/CN2018/094387 CN2018094387W WO2020006690A1 WO 2020006690 A1 WO2020006690 A1 WO 2020006690A1 CN 2018094387 W CN2018094387 W CN 2018094387W WO 2020006690 A1 WO2020006690 A1 WO 2020006690A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- region
- image
- reference image
- image block
- reference data
- Prior art date
Links
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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了一种图像处理方法和设备,可以避免损失视频的编码性能,且可以减轻带宽压力以及提升编码效率。该方法包括:从当前图像的当前图像块中,确定子图像块;从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;利用所述参考数据,对所述子图像块进行帧间预测;利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本申请实施例涉及视频编解码领域,并且更具体地,涉及一种视频处理方法和设备。
在图像编解码的帧间预测的过程中,选取的参考图像与当前待编码图像越相似,则帧间预测产生的残差越小,从而可以提升帧间预测的编码效率。现有的一些技术可以利用视频中的各图像构建一个包含场景的背景内容的高质量的特定参考图像,例如可以为长期参考帧。并从而可以利用该特定参考图像进行帧间预测。
对于该特定的长期参考帧,在进行待编码块的运动矢量的确定时,可以将所有运动矢量均置为零,认为构造生成的长期参考帧中的背景图像不存在任何运动,直接使用零运动矢量作为构造生成的长期参考帧中当前编码块的运动矢量,不再进行运动搜索。
在这种做法下,忽略了可能的拍摄装置的微小运动,背景的本身的微小运动,若仅使用零运动矢量,则会损失视频的编码性能。
发明内容
本申请实施例提供一种图像处理方法和设备,可以避免损失视频的编码性能,且可以减轻带宽压力以及提升编码效率。
第一方面,提供了一种视频处理方法,包括:从当前图像的当前图像块中,确定子图像块;从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;利用所述参考数据,对所述子图像块进行帧间预测;利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
第二方面,提供了一种处理设备,包括:确定单元,用于从当前图像的当前图像块中,确定子图像块;获取单元,用于从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;预测单元,用于利用所述参考数据,对所述子图像块进行帧间预测;更新处理单元,用于利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
第三方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问该存储器,并执行该计算机可执行指令,以执行述第一方面的方法。
第四方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一方面的方法。
第五方面,提供了一种计算机程序产品,该程序产品包括程序代码,该程序代码可以用于指示执行上述第一方面的方法。
因此,在本申请实施例中,在针对当前图像中的当前图像块包括的子图像块,从参考图像中获取用于帧间预测的参考数据,获取的范围不超过在参考图像中与当前图像块位置对应的区域,并且利用重建的当前图像块对参考图像的对应位置的区域进行更新处理,由此可以避免仅使用零运动矢量,所带来的视频编码性能的损失,并且可以实现对参考图像的像素进行逐图像块的更新方式以减轻带宽压力,并且可以避免搜索范围过大带来的编码效率低的问题。
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是多个编码单元的编码过程的示意性图。
图2是根据本申请实施例的视频处理方法的示意性图。
图3是根据本申请实施例的对图像进行图像块划分的示意性图。
图4是根据本申请实施例的对图像块进行子图像块划分的示意性图。
图5是根据本申请实施例的用于获取参考数据的区域的示意性图。
图6是根据本申请实施例的图像块的滤波完成顺序的示意性图。
图7是根据本申请实施例的图像块与子图像块的位置关系的示意性图。
图8是根据本申请实施例的获取参考数据的搜索区域的示意性图。
图9是根据本申请实施例的视频处理设备的示意性框图。
图10是根据本申请实施例的计算机系统的示意性框图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
视频是由多个图像构成的。对视频进行编码/解码时,视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像,其中帧间预测图像可以包括前向预测图像和双向预测图像。
I图像是帧内预测图像,也称为关键帧;P图像是前向预测图像,也即采用之前已编码/解码的一个P图像或者I图像作为参考图像;B图像是双向预测图像,也即采用前后的图像作为参考图像。一种实现方式是编码/解码端将多张图像进行编码/解码后产生一段一段的图像组(group of picture,GOP),该GOP是由一张I图像,以及多张B图像(或双向预测图像)和/或P图像(或前向预测图像)构成的图像组。解码端在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。
在现代视频编码/解码标准中,可以通过将图像分成多个小块来对不同分辨率的图像进行编码/解码,即图像可以被分成多个图像块。图像可以被分成任何数量的图像块。例如,该图像可以被分成一个m×n图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,例如p×q像素。每个图像块都可以具有相同尺寸和/或形状。可替代地,两个或更多图像块可以具有不同的尺寸和/或形状。图像块可以具 有或者可以不具有任何重叠部分。在一些实施例中,该图像块在一些编码/解码标准中被称为宏块或最大编码单元(largest coding unit,LCU)。对于H.264标准,图像块被称为宏块,其大小可以是16×16像素。对于高效率视频编码(high efficiency video coding,HEVC)标准,图像块被称为最大编码单元,其大小可以是64×64像素。
在另一些实施例中,一个图像块也可以不是一个宏块或最大编码单元,而是包含一个宏块或最大编码单元的部分,或者包含至少两个完整的宏块(或最大编码单元),或者包含至少一个完整的宏块(或最大编码单元)和一个宏块(或最大编码单元)的部分,或者包含至少两个完整的宏块(或最大编码单元)和一些宏块(或最大编码单元)的部分。如此,在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编码/解码。
编码过程包括预测、变换、量化和熵编码等处理。其中,预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块数据去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得参考数据(例如,可以为预测块数据)。帧间预测利用参考图像的信息获得参考数据,其过程包括将当前待编码图像划分成若干个待编码图像块,再将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测图像块,预测图像块与当前子图像块的相对位移即为运动矢量;其后,将该子图像块与预测图像块的相应像素值相减得到残差。将得到的各子图像块对应的残差组合在一起,得到待编码图像块的残差。
在本申请的各实施例,可以使用变换矩阵去除图像块或子图像块的残差的相关性,即去除图像块或子图像块的冗余信息,以便提高编码效率。图像块或子图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个N×M的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,得到熵编码比特流。将熵编码比特流及进行编码后的编码模式信息,例如帧内预测模式、运动矢量(或运动矢量残差)等信息,进行存储或发送到解码端。
在图像的解码端,获得熵编码比特流后进行熵解码,得到相应的残差;根据解码得到的运动矢量、帧内预测等信息找到子图像块对应的预测图像块;根据预测图像块与残差得到当前子图像块中各像素点的值。
前文中提到采用已编码/解码的图像来作为当前待编码/解码的参考图像。在一些实施例中还可以构造一个参考图像,来提高参考图像与当前待编码/解码图像的相似度。
视频内容中存在一类特定的编码/解码场景,在该场景中背景基本不发生改变,只有视频中的前景发生改变或者运动。例如,视频监控就属于该类场景。在视频监控场景中通常监控摄像头固定不动或者只发生缓慢的移动,可以认为背景基本不发生变化。与此相对,在视频监控镜头中所拍摄到的人或车等物体则经常发生移动或改变,可以认为前景是经常变化的。在这类场景中,可以构造一个特定的参考图像,该特定的参考图像中可选地可以只包含高质量的背景信息。该特定的参考图像中可以包括多个图像块,任意一个图像块可以是从某个已解码图像中取出的,该长期参考图像中的不同图像块可能取自于不同的已解码图像。在进行帧间预测时,当前待编码/解码图像的背景部分可通过参考该长期参考图像,由此能够减少帧间预测的残差信息,从而提高编码/解码效率。
其中,该特定的参考图像可以称为合成参考帧或构造帧(composite reference)等。
视频中的图像可作为参考图像时,可以区分长期参考图像和短期参考图像的。其中,该短期参考图像是与长期参考图像相对应的一个概念。短期参考图像存在于参考图像缓冲区中一段时间,经过该短期参考图像之后的已解码的参考图像在参考图像缓冲区中的若干移入和移出操作之后,短期参考图像会被移出参考图像缓冲区。参考图像缓冲区也可以称为参考图像列表缓存、参考图像列表、参考帧列表缓存或参考帧列表等,本文中将其统称为参考图像缓冲区。
长期参考图像(或长期参考图像中的一部分数据)可以一直存在于参考图像缓冲区中,该长期参考图像(或长期参考图像中的一部分数据)不受已解码的参考图像在参考图像缓冲区中的移入和移出操作的影响,只有在解码端发出更新指令操作时该长期参考图像(或长期参考图像中的一部分数据)才会被移出参考图像缓冲区。
短期参考图像和长期参考图像在不同的标准中的叫法可能不同,例如在H.264/高级视频编码(advanced video coding,AVC)或者H.265/HEVC等标准中短期参考图像被称为短期参考帧(short-term reference),长期参考图像 被称为长期参考帧(long-term reference)。又如在信源编码标准(audio video coding standard,AVS)1-P2、AVS2-P2、电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)1857.9-P4等标准中,长期参考图像被称为背景帧(background picture)。又如在VP8、VP9等标准中,长期参考图像被称为黄金帧(golden frame)。
应理解,本申请实施例中采用特定了术语,并不代表必须应用到特定场景下,例如,将长期参考图像称为长期参考帧并不代表必须用到H.264/AVC或者H.265/HEVC等标准对应的技术中。
以上提到的构造的特定的参考图像可以是长期参考图像。也就是说,长期参考图像可以是从多个已解码图像中取出的图像块构造得到的,或者利用多个已解码图像对已有参考帧(例如,预存的参考帧)进行更新得到。
当然,该构造的特定的参考图像也可以是短期参考图像。或者,长期参考图像也可以不是构造的参考图像。
可选地,以上提到的长期参考图像或构造的参考图像可以为不输出的图像。
虽然上述提到了图像中的背景部分一般不运动,但是拍摄装置可能存在微小运动,或者背景本身会存在微小运动,如果图像块中所有子图像块相对参考帧(也可以称为参考图像)的所有运动矢量均置为零,将会损失编码性能。
但是,若长期参考图像(或构造的参考帧)使用和短期参考图像(或非构造的参考帧)完全相同的运动搜索,此处假设短期参考图像所需搜索的范围的区域较大,则存在以下至少两处缺点。
首先,长期参考图像记录的大部分为背景图像,一般不会出现过于剧烈的运动,如果采用短期参考图像的搜索方式进行预测块的搜索将会造成计算资源的浪费;其次,在硬件上无法做到逐图像块刷新,这是因为在每个图像块编码完成得到其重建图像后立即进行长期参考图像的更新,则无法在流水上对下一个图像块进行正确的运动搜索。
例如,如图1所示,假设待编码图像块1被选中用于更新长期参考图像,则其需要在重建完成后才能用于更新,可以看到此时其相邻的待编码图像块2已经完成了帧间搜索。而编码端的流水结构、流水级数是硬件本身性能,非标准规定的内容,解码器无法得知,则在此时,如果编码端利用待编码图 像块1更新了长期参考图像,并且编码端针对待编码图像块2使用到了长期参考图像的待编码图像块1的区域,将会出现解码端无法正确解码的问题。
其中,图1中的模式决策可以为选择预测模式,例如,可以为选择帧间编码或帧内编码,或者具体选择采用哪种方式的帧间编码或帧内编码;其他编码步骤可以为变换、量化和熵编码;重建用于进行像素的重建。
或者,可以在每帧图像进行编码完成得到重建图像之后,再使用每个被选中的用于更新长期参考图像的图像块去更新长期参考图像。
其中,该种方式的具体实现过程可以为:针对待编码图像帧,逐编码单元完成预测过程,得到反变换后与预测值相加的未滤波重建图像;完成所有编码单元的上述过程后,对整帧图像进行滤波,得到整帧的最终重建图像;在整帧的最终重建图像中,选出被用于更新长期参考图像的编码单元对长期参考图像进行更新。
此处,可以将该种实现方式称为帧级的长期参考图像刷新。此时,对于每一帧编码过程中,使用到的构造生成的长期参考图像均是在编码当前帧之前得到的,当前帧对长期参考图像的更新步骤位于当前帧编码之后。
然而,这种方式会带来额外的硬件读写开销,因为这需要重新读取重建帧,并写入长期参考图像,这将带来巨大的带宽压力。
因此,本申请实施例提供了以下的方法,在针对当前图像中的当前图像块包括的子图像块,获取用于帧间预测的参考数据时,获取的范围不超过在参考图像中与当前图像块位置对应的区域,并且利用重建的当前图像块对参考图像的对应位置的区域进行更新(或称为刷新)处理,由此可以实现对参考图像的像素进行逐图像块的更新方式以减轻带宽压力,并且可以避免搜索范围过大带来的编码效率低的问题。
应理解,本申请实施例的方法并不必须用到以上提到的场景中。
图2是根据本申请实施例的视频处理方法200的示意性流程图。该方法200可以由编码端实现,也可以由解码端实现。可选地,以下提到的用于实现该方法200的视频处理设备可以编码器或编码器的一部分,或者可以为解码器或解码器的一部分。该方法200包括以下内容中的至少部分内容。
在210中,视频处理设备从当前图像的当前图像块中,确定子图像块。
可选地,在本申请实施例中,可以将当前图像划分为一个或多个图像块,例如,该图像块可以为编码树单元(Coding Tree Unit,CTU)。通常CTU是 该图像块的编码载体,包含了编码模式信息,或残差信息,或变换系数信息,或帧内预测信息,或帧间预测信息。需要知道,不同标准中对于所述编码树单元有不同的叫法,如在H.264/AVC标准中,所述编码树单元也可以被称为宏块(macroblock)。具体地,如图3所示,可以将当前图像划分为若干个图像块。虽然图3示出的图像块的大小和形状一致,但应理解,本申请实施例并不限于此,本申请实施例中,可以存在至少两个图像块的大小和/或形状不一致。所述的子图像块也可被称为编码单元(Coding Unit),需要知道,不同标准中对于所述编码树单元有不同的叫法,如在H.264/AVC标准中,所述编码单元也可以被称为子块(subblock)。
可选地,在本申请实施例中,图像块也可以为编码单元,子图像块也可以为预测单元。
可选地,在本申请实施例中,不同帧的图像划分的图像块的数量、图像块的大小和/或图像块的形状可以不同,也可以相同。
可选地,在本申请实施例中,一个图像块可以划分为一个或若干个子图像块,图4示出了从图像块向子图像块的多种划分方式。如图4所示,一个图像块可以划分为一个或多个子图像块。图像块在划分为多个子图像块时,多个子图像块的大小和/或形状可以相同,也可以不相同。虽然图4仅示出了一个图像块划分为一个或两个或四个子图像块,但应理解,本申请实施例并不限于此,一个图像块可以划分为其他数量的子图像块。
可选地,在本申请实施例中,不同图像块划分的子图像块的数量、子图像块的大小和/或子图像块的形状可以不同,也可以相同。
在220中,从位于参考图像中且与所述当前图像块位置对应的第一区域内,视频处理设备获取用于对所述子图像块进行帧间预测的参考数据。
可选地,参考图像中该第一区域的大小和/或形状可以等于当前图像块的大小和/或形状。
可选地,本申请实施例提到的第一区域可以是这样的一种区域:该第一区域在参考图像的位置可以等于当前图像块在当前图像的位置;或者,该第一区域在参考图像的位置相对于当前图像块在当前图像的位置具有一定的偏移,其中,偏移的大小可以根据具体情况而定,本申请实施例对此不作具体限定;或者该第一区域在参考图像的位置相对于当前图像块在当前图像的位置具有一定缩放关系,本申请实施例对此不作具体限定。其中,本申请实 施例提到的位置可以是像素坐标。
可选地,本申请实施例提到的参考图像可以属于长期参考图像,/或构造帧和/或不被输出的帧。
可选地,在视频处理设备从参考图像中的第一区域内,获取子图像块的参考数据之前,可以先判断参考图像是否是特定类型的参考图像,如果是,则可以按照本申请实施例的方法进行参考数据的获取和/或后续的像素更新处理。其中,该特定类型的参考图像具有以下至少一种性质:不被输出的参考图像,长期参考图像和构造帧。例如,该特定类型的参考图像可以是构造的长期参考图像,或者可以是不输出的且构造帧。
可选地,在本申请实施例中,参考帧的类型可以在码流结构中通过特殊字段标识出来。
可选地,在本申请实施例中,在参考图像不是特定类型的参考图像时,则可以不采用本申请实施例的方法进行参考数据的获取。例如,可以不从位于参考图像中且与所述当前图像块在所述当前图像位置对应的区域内,获取参考数据,例如,对于图像块为编码单元而言,则可以从两个或两个以上的编码单元中,获取参考数据。
可选地,可以对单个图像块中的各个子图像块分别判断对应的参考图像是否是特定类型的参考图像,此时,不同的子图像块对应的参考图像的类型可以是不同的。
或者,可以不对单个图像块中各个子图像块分别判断对应的参考图像是否是特定类型的参考图像,而是判断各个图像块对应的参考图像是否是特定类型的参考图像,此时,不同的图像块对应的参考图像的类型可以是不同的,但是同一图像块中的各个子图像块对应的参考图像或者参考图像的类型可以是相同的。
或者,可以不对单个图像中各个图像块分别判断对应的参考图像是否是特定类型的参考图像,而是判断各个图像帧对应的参考图像是否是特定类型的参考图像,此时,不同的图像帧对应的参考图像的类型可以是不同的,但是同一图像帧中的各个图像块对应的参考图像或者参考图像的类型可以是相同的。
可选地,在本申请实施例中,在确定所述参考图像为长期参考图像时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为不被输出的帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为不被输出的帧,且进一步确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据。
可选地,在本申请实施例中,各种类型的参考图像都可以具有相应的标识,此时对于解码端而言,可以依据参考图像所具有的标识来判断是否采用本申请实施例的方法进行参考数据的获取和/或后续的像素更新处理。
在一种实现方式中,在确定所述参考图像具有长期参考图像的标识时,从所述参考图像的所述第一区域内,视频处理设备获取所述参考数据。
在一种实现方式中,在确定所述参考图像具有不被输出的标识时,从所述参考图像的所述第一区域内,视频处理设备获取所述参考数据。
在一种实现方式中,在确定所述参考图像具有构造帧的标识时,视频处理设备从所述参考图像的所述第一区域内,获取所述参考数据
在一种实现方式中,在确定所述参考图像具有不被输出的标识,且进一步确定所述参考图像具有构造帧的标识时,视频处理设备从所述参考图像的所述第一区域内,获取所述参考数据。
具体地,图像可以具有指示是否是被输出帧的标识,当某一图像被指示是不被输出时,则表明该帧为参考图像,进一步地,判断该帧是否具有构造帧的标识,如果是,则需要对该帧进行像素的更新,则可以在预测和/或像素更新时采用方法200。如果某一图像被指示被输出,则可以不进行是否是构造帧的判断,直接确定该帧不需要进行像素的更新和/或不采用方法200。或者,如果某一图像被指示不被输出,但是具有不是构造帧的标识,则可以确定该帧不需要进行像素的更新和/或不采用方法200。
可选地,从图像头(picture header)、图像参数集(PPS,picture parameter set)、条带头(slice header)中解析参数确定所述参考图像满足以下条件之一时,采用本发明本申请实施例的方法获取参考数据。
所述参考图像为长期参考图像;
所述参考图像为构造参考图像;
所述参考图像为不被输出图像;
所述参考图像为不被输出图像时,进一步判断所述参考图像为构造参考图像。
可选地,在本申请实施例中,从位于参考图像中与所述当前图像块位置对应的第一区域内,视频处理设备获取用于对所述子图像块进行帧间预测的参考数据可以是指:获取参考数据的区域可以等于该第一区域,也可以是该第一区域的部分区域(以下称为第二区域)。
例如,如图5所示,当前图像中,竖条填充的部分(矩形,部分区域被黑色填充部分遮挡)可以是当前图像块,当前图像块中黑色填充的部分可以是当前子图像块。参考图像中,斜条纹填充的部分(矩形,部分区域被灰色填充部分遮挡)可以是上述提到的第一区域,此时,第一区域的大小和形状可以等于当前图像块的大小和形状。
其中,在图5中,从该第一区域内获取参考数据,可以是对第一区域(斜条纹填充的部分)进行搜索获取参考数据,也可以对第一区域内的部分区域(灰色填充部分)进行搜索获取参考数据。
可选地,在本申请实施例中,当将当前图像块划分为多个子图像块时,参考图像中为不同的子图像块获取参考数据的区域大小和/或形状可以是相同的,也可以是不相同的。
可选地,在本申请实施例中,在当前图像被划分为多个图像块时,不同的图像块对应的获取参考数据的区域大小和/或形状可以是相同的,也可以是不相同的。
可选地,第一区域内用于获取参考数据的第二区域的中心点可以与第一区域的中心点是重合的。
可选地,在本申请实施例中,在需要多个像素点生成某个像素值时(如子像素搜索中的插值技术等),可以根据其技术内容,基于第一区域向内收缩搜索范围或者禁用该技术(例如,不再采用子像素搜索,而是采用整像素搜索),以保证最终的参考数据可以完全由参考图像中与当前图像块位置对应的区域生成。
可选地,在本申请实施例中,参考数据是从第一区域中的第二区域获取的时,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素可以用于:获取所述第二区域中的至少一个像素的像素值。
可选地,在本申请实施例中,参考数据是从第一区域中的第二区域获取 的时,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:与所述第二区域中的至少部分像素进行插值运算。
具体地,可以将第二区域的周围区域(也即,所述第一区域中除所述第二区域之外的其他部分区域)中的像素与第二区域中的像素做插值运算,得到第二区域的至少一个像素的像素值。
可选地,在本申请实施例中,视频处理设备可以对所述第二区域,进行子像素搜索,以获取第一搜索结果;基于所述第一搜索结果,获取所述参考数据。其中,此处提到的子像素的像素位置位于第二区域内。
可选地,在本申请实施例中,视频处理设备可以对第一区域进行整像素搜索,以获取第二搜索结果;基于所述第二搜索结果,获取所述参考数据。
应理解,在本申请实施例中,整像素搜索和子像素搜索可以同时存在,子像素搜索的区域可以小于整像素搜索的区域,例如,整像素搜索的区域可以为上述第一区域,子像素搜索的区域可以为上述第二区域。
还应理解,在本申请实施例中,也可以在小于第一区域内的区域进行整像素搜索。
例如,整像素搜索的区域可以等于子像素搜索的区域,也即上述提到的第二区域。
可选地,在本申请实施例中,第一区域内的用于获取参考数据的搜索范围(可以等于第二区域,也可以等于第一区域)小于或等于特定区域的搜索范围。
具体地,可以为在参考图像中获取参考数据的区域设置一个范围初值,如果第一区域或内缩后的区域(例如,用于子像素搜索)的范围小于或等于该初值,则可以采用该第一区域或内缩后的区域进行搜索以获取参考数据;或者,如果第一区域或内缩后的区域的范围大于该初值,则可以将第一区域进行内缩或者对内缩后的区域进一步内缩,得到与初值相同大小的区域,以进行参考数据的获取。因此,在该实施例中采用较小的搜索区域,可以进一步提高编码或解码的效率。
其中,在该参考图像为构造帧时,该特定区域为非构造帧中用于获取参考数据的区域。
或者,在该参考图像为长期参考图像时,该特定图像块为短期参考图像中用于获取参考数据的区域。
当然,该特定区域可以是其他区域,例如,可以是一个预设的具有特定大小的区域。
正如以上所示,本申请实施例的方法200可以用于编码端,也可以用于解码端。
可选地,在本申请实施例中,在方法200用于编码端时,在码流中携带标志位,用于向解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
可选地,在本申请实施例中,在方法200用于解码端时,在解码得到标志位且所述标志位用于向所述解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据时,按照本申请实施例的方法,从参考图像中的第一区域内,获取子图像块的参考数据。
可选地,在本申请实施例中,在用于编码端时,该视频处理设备可以根据当前图像块在当前图像的位置,从参考图像中,确定第一区域。从该第一区域内,获取参考数据。例如,可以对第一区域进行搜索,获取参考数据,或者可以对第一区域的部分区域进行搜索,获取参考数据。
编码端可以将第一区域对应的运动矢量信息通过码流传送给编码端,则解码端端可以根据码流中的运动矢量信息,确定第一区域。
如果参考数据是对第一区域中的部分区域进行搜索获取的,则编码端可以将第一区域的运动矢量信息传递给解码端,则解码端可以根据运动矢量信息,确定第一区域,再从第一区域中确定(例如,根据预设的规则,或者根据进行插值运算所需采用的像素数量)第二区域。
或者,如果参考数据是对第一区域中的部分区域进行搜索获取的,则编码端可以从将第一区域的运动矢量信息传递给解码端,则解码端可以根据运动矢量信息以及其他信息(例如,根据预设的规则,或者根据进行插值运算所需采用的像素数量,或者码流中传递的需要对第一区域进行内缩的信息),直接确定第二区域(第二区域对应的运动矢量信息等于第一区域对应的运动矢量信息)。
或者,如果参考数据是对第一区域中的部分区域进行搜索获取的,则编码端可以从将该部分区域的运动矢量信息传递给解码端,则解码端可以根据运动矢量信息,确定第二区域。
可选地,在本申请实施例中,对于解码端而言,如果基于编码端码流中传递的信息,确定出的用于参考数据获取的区域不是当前图像块在参考图像中对应位置的区域时,则可以认为该码流不符合标准规范。
可选地,在本申请实施例中,解码端可以对指向构造生成的长期参考帧的运动矢量进行判断,此运动矢量指向的区域预测值不应由当前子图像块所在的图像块对应的参考帧的区域外的像素生成。
可选地,对于解码端而言,解码端对指向参考图像的运动矢量进行判断,此运动矢量指向的区域中的参考数据不应由当前子图像块所在的图像块在参考图像的对应位置区域外的像素生成。也即满足以下条件:
1、该运动矢量指向的区域不应该包含有该图像块在参考图像中对应位置以外的部分。
2、该运动矢量指向的区域对应的参考数据应全部由图像块在参考图像对应位置内部的像素生成。
若不满足1、2中任意一条,解码端可以认为码流不符合标准规范。
在230中,利用所述参考数据,视频处理设备对所述子图像块进行帧间预测。
其中,本申请实施例提到的参考数据可以是预测图像块。
具体地,视频处理设备可以将该子图像块与预测图像块的相应像素值进行相减得到残差。其中,视频处理设备可以将得到的各子图像块对应的残差组合在一起,得到待编码图像块单元的残差。
对于编码端而言,在对子图像块单元进行预测之后,可以以子图像块或图像块为单位进行变换、量化和熵编码,得到熵编码比特流。将熵编码比特流及进行编码后的编码模式信息,例如帧间预测模式、运动矢量(或运动矢量残差)等信息,进行存储或发送到解码端。
对于解码端而言,在获得熵编码比特流后进行熵解码,反量化和反变换,得到相应的残差;根据解码得到的运动矢量、帧间预测等信息找到子图像块对应的预测图像块;根据预测图像块与残差得到当前子图像块中各像素点的值。
在240中,利用重建后的所述当前图像块的像素,视频处理设备对所述第一区域内的像素进行更新处理。
可选地,在本申请实施例中,在视频处理设备利用重建后的该图像块单 元的像素,对该第一图像块的像素进行更新处理之前(可以包括参考数据的获取之前),确定该参考图像是否属于特定类型的参考图像(长期参考图像和/或构造帧),如果属于,则可以利用重建后的该图像块的像素,对该第一区域内的像素进行更新处理。
可选地,在本申请实施例中,某一图像块完成重建之后,即可以将参考图像中对应区域的像素进行更新,也可以是多个图像块完成重建之后,对参考图像中多个图像块对应区域的像素进行更新,或者,也可以是整帧图像完成重建之后,利用整帧图像对参考图像进行更新。
可选地,在本申请实施例中,在仅利用了第一区域的部分区域获取当前图像块的各个子图像块的参考数据的情况下,可以仅利用该部分区域在当前图像对应位置的像素,对该部分区域的像素进行更新处理。
应理解,在本申请实施例中,视频处理设备对所述第一区域内的像素进行更新处理不必须理解为必须更改该第一区域内的像素。所述更新处理可以更改第一区域内的像素,也可以不更改第一区域内的像素。
例如,此处提到的更新处理可以包括是否进行像素更改的判断步骤,当然,也可以不进行此处判断,直接进行像素更新。
具体地,视频处理设备可以判断是否需要对第一区域内的像素进行更新。在编码端,可以根据合成构造参考帧的方法判断所述当前图像块的像素是否用于刷新第一区域内的像素信息,如果需要则使用所述当前图像块的像素更新所述第一区域内的像素,如果不需要则保持所述第一区域内的像素信息不变。在解码端,可以解码所述图像块中用于指示是否刷新所述第一区域内的像素信息的标志位,根据所述标志位确定是否需要使用所述当前图像块的像素更新述第一区域内的像素。
或者,可以判断第一区域内的像素和当前图像块内的像素的差是否满足预定条件,例如,差值是否大于特定值,如果是,则进行更新。
可选地,在本申请实施例中,利用参考图像的像素去更改第一区域的像素得到的结果有可能是第一区域的全部或部分像素的像素值保持不变。
可选地,在本申请实施例中,可以将当前图像块的像素的像素值直接替换第一区域的对应位置的像素的像素值。进一步的所述替换方法为:按像素点进行逐点替换,或使用所述当前图像块内的一像素点替换所述第一区域内的若干像素点,或使用当前图像块内的若干像素点,经加权平均后替换所述 第一区域内的一像素点。
或者,可以将当前图像块的像素的像素值与第一区域的对应位置的像素的像素值进行加权平均处理,以得到更新后的第一区域中的像素的像素值。
可选地,在本申请实施例中,利用所述当前图像块的完成滤波后的像素,对所述第一区域内的像素进行更新处理。
可选地,在本申请实施例中,在该当前图像块的一部分像素先滤波完成时,视频处理设备可以先利用滤波后的该一部分像素,对参考图像中该第一区域中的与该一部分像素位置对应部分的像素进行更新处理。
具体地,对于当前图像块一部分的未滤波重建图像像素,可以与已经重建并滤波得到的相邻图像块单元进行滤波操作,得到该一部分像素最终的重建图像,可以先利用该一部分像素对参考图像中对应位置的像素进行更新处理。而该当前图像块其他部分的未滤波重建像素,由于需要采样的相邻图像块还未重建并滤波完成,此时,可以先将未滤波部分存储到缓存中,等相邻图像块重建并滤波完成,再对当前图像块的其他部分的像素进行滤波,并再滤波完成之后,利用该其他部分的像素对参考图像中对应位置的像素进行更新处理。
例如,如图6所示,若图像块3被选中用于更新构造的长期参考图像,当完成图像块3的重建时,图像块1和2已经大部分完成重建和滤波,可以看出图像块3的颜色填充部分需要图像块4和图像块7的重建值才能滤波,故先将蓝色部分放至缓存,对白色未填充部分进行滤波操作,并在完成滤波后将最终结果用于更新长期参考图像,当编码完图像块4和7时,以及完成重建和滤波后,将图像块3的颜色填充部分的滤波后的数据更新至长期参考图像。
应理解,虽然图6示出的图像块的像素更新是分两部分完成的,但应理解,本申请实施例并不限于此,图像块的像素更新可以是分三部分或三部分以上来完成的。
可选地,当前图像的所有图像块均可以按照本申请实施例的视频处理方法进行参考数据的获取和后续的对参考图像中的对应区域的像素进行更新。
应理解,也可以是当前图像的部分图像块按照本申请实施例的视频处理方式进行参考数据的获取和对参考图像中的对应区域的像素进行更新。
例如,假设存在一部分图像块适用于从长期参考图像或构造帧处获取参 考数据,而其他部分图像块适用于从短期参考图像处或非构造帧处获取参考数据,则针对该一部分图像块采用本申请实施例的视频处理方法进行参考数据的获取和后续的对参考图像中的对应区域的像素进行更新,而该其他部分图像块可以不采用本申请实施例的视频处理方法进行参考数据的获取和不对参考图像中的对应区域的像素进行更新。
其中,上述提到的一部分图像块可以是背景部分对应的图像块,而其他部分图像块可以是前景部分对应的图像块。
某一图像块属于前景部分还是背景部分可以通过该图像块在当前图像块中的像素相对于前一帧或几帧的像素变化来判断,当然,也可以通过其他的判断方式进行判断,本申请实施例对此不作具体限定。
类似地,对于图像块包括的子图像块而言,所有子图像块均可以按照本申请实施例的视频处理方法进行参考数据的获取。或者,也可以是图像块的部分子图像块按照本申请实施例的视频处理方法进行参考数据的获取。
为了便于更加清楚地理解本申请,以下将结合特定场景对本申请进行阐述。
具体地,在一种视频编码技术中,其子像素插值使用到8Tap(即在子像素插值时,对于两个插值方向(垂直方向和水平方向)中的一个插值方向需要该插值方向两侧各4个整像素点插值得到)的滤波器,那么在编码某个图像块中某个待编码子图像块时,如果对应的参考帧为构造生成的长期参考图像,可以按照如下步骤确定其搜索范围:
1、按照视频编码技术中的短期参考图像的搜索范围,得到搜索范围初值(SR_LTx,SR_LTy)至(SR_RBx,SR_RBy)区域,其中,在该例子中,一个区域由两个像素位置表征,即左上角和右下角的像素位置。
2、计算该子图像块左上角与当前图像块左上角像素位置的差值,记为LTx,LTy,其中,LTx和LTy分别表示当前图像块左上角的横坐标、纵坐标与当前子图像块左上角的横坐标、纵坐标的差值,其中,LTx,LTy不为正。
3、计算该子图像块右下角与当前图像块右下角位置的差值,记为RBx,RBy,其中,RBx和RBy分别表示当前图像块右下角的横坐标、纵坐标与当前子图像块右下角的横坐标、纵坐标的差值,其中,RBx,RBy不为负。
4、由于子像素插值需要使用8Tap滤波器,为了保证预测结果能由参考帧内与当前图像块同样位置的像素生成,搜索区间能使用的范围为该图像块 区域的四个方向各向内收缩4个像素。对应左上角搜索区域最大偏移为LTx+4,LTy+4,对应右下角搜索区域最大偏移为RBx-4,RBy-4。
5、将搜索范围初值与上述结果结合,取左上角搜索区域偏移中较大值max(SR_LTx,LTx+4),max(SR_LTy,LTy+4)作为左上角的搜索偏移,取右下角搜索区域偏移中较小值min(SR_RBx,RBx-4),min(SR_RBy,RBy-4)作为右下角的搜索偏移,得到在该构造的长期参考图像中的最终的搜索区域。
6、在第5步确定的搜索区域进行子像素搜索。
7、在搜索区域max(SR_LTx,LTx),max(SR_LTy,LTy)至min(SR_RBx,RBx),min(SR_RBy,RBy)中进行整像素搜索,该步骤7可以为可选操作。
8、在上述搜索流程结束之后,选择最优的搜索结果作为当前图像块的当前子图像块的预测值,并且得到对应的运动矢量。
9、如果当前已编码图像块被选中用于更新构造的长期参考图像,则可以利用该当前已编码图单元的重建像素对长期参考图像的相应位置的像素进行更新处理。
以下对以上过程结合图7和图8进行描述。
假设当前图像块的左上角的像素位于当前帧(128,64)处,图像块大小64x64个像素,当前子图像块的左上角的像素位于当前帧(160,64)处,大小32x32个像素,如图7所示,当前图像短期参考图像的搜索范围为正负64个像素值,若当前搜索的参考帧为构造生成的长期参考图像,可以按照如下步骤确定其搜索范围:
1、得到当前子图像块的搜索范围初值为(-64,-64)至(64,64);
2、计算出LTx=-32,LTy=0;
3、计算出RBx=0,RBy=32
4、计算出搜索区域最大偏移为(-28,4)至(-4,28),如图8所示灰色区域
5、与搜索范围初值结合,得到在该构造的长期参考图像的最终子像素搜索区间为(-28,4)至(-4,28)。
6、在(-28,4)至(-4,28)区域内进行子像素搜索。
7、在(-32,0)至(0,32)区域内,进行整像素搜索,该步骤7可以为可选操作。
8、使用6和7两步中得到的最优结果作为当前子图像块在构造生成的长期参考图像中的最优预测结果,同时得到最优运动矢量。
9、如果当前已编码图像块被选中用于更新构造的长期参考图像,则可以利用该当前已编码图单元的重建像素对长期参考图像的相应位置的像素进行更新处理。
可选地,在本申请实施例中,在对视频进行编解码时,将当前子图像块在该长期参考帧中的搜索区域限制在参考图像块内当前图像块位置对应的区域内,确保当前子图像块在编解码重建时不会使用到其他图像块对应位置的像素值,以使得编码端和解码端均可使用块级刷新机制对该长期参考帧进行更新,该方法可以特别用到特定类型的参考帧(例如,构造的长期参考图像)的运动搜索时。
可选地,在本申请实施例中,硬件中更新参考图像(例如,构造生成的长期参考帧)做法为在每个图像块完成重建和滤波以后,直接进行更新,此处我们称为块级的参考帧刷新。当使用到了本发明的技术后,由于图像块均只使用参考图像块内本图像块区域内对应的数据,不会受到前序图像块对长期参考帧更新的影响,所以能产生和帧级的长期参考帧刷新相同的结果。
因此,在本申请实施例中,在针对当前图像中的当前图像块包括的子图像块,从参考图像中获取用于帧间预测的参考数据,获取的范围不超过在参考图像中与当前图像块位置对应的区域,并且利用重建的当前图像块对参考图像的对应位置的区域进行更新(或称为刷新)处理,由此可以避免仅使用零运动矢量,所带来的视频编码性能的损失,并且可以实现对参考图像的像素进行逐图像块的更新方式以减轻带宽压力,并且可以避免搜索范围过大带来的编码效率低的问题。
图9是根据本申请实施例的视频处理设备300的示意性框图。如图9所示,该视频处理设备300可以包括确定单元310、获取单元320、预测单元330和更新处理单元340。
确定单元310,用于从当前图像的当前图像块中,确定子图像块;
获取单元320,用于从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;
预测单元330,用于利用所述参考数据,对所述子图像块进行帧间预测;
更新处理单元340,用于利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
可选地,在本申请实施例中,所述参考图像属于长期参考图像、构造帧 和/或不被输出的帧。
可选地,在本申请实施例中,所述获取单元320进一步用于:
在确定所述参考图像具有长期参考图像的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像具有不被输出的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像具有不被输出的标识,且进一步确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据。
可选地,在本申请实施例中,所述获取单元320进一步用于:
在确定所述参考图像为长期参考图像时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为不被输出的帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,
在确定所述参考图像为不被输出的帧,且进一步确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据。
可选地,在本申请实施例中,所述获取单元320进一步用于:
从所述第一区域内的第二区域中,获取所述参考数据;
其中,所述第二区域为所述第一区域中的部分区域。
可选地,在本申请实施例中,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:获取所述第二区域中的至少一个像素的像素值。
可选地,在本申请实施例中,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:与所述第二区域中的至少部分像素进行插值运算。
可选地,在本申请实施例中,所述获取单元320进一步用于:
对所述第二区域,进行子像素搜索,以获取第一搜索结果;
基于所述第一搜索结果,获取所述参考数据。
可选地,在本申请实施例中,所述获取单元320进一步用于:
对所述第一区域进行整像素搜索,以获取第二搜索结果;
基于所述第二搜索结果,获取所述参考数据。
可选地,在本申请实施例中,所述第一区域内用于搜索的搜索范围小于或等于特定区域的搜索范围。
可选地,在本申请实施例中,在所述参考图像为构造帧时,所述特定区域为非构造帧中用于获取参考数据的区域;或,
在所述参考图像为长期参考图像时,所述特定区域为短期参考图像中用于获取参考数据的图像块。
可选地,在本申请实施例中,所述更新处理单元340进一步用于:
利用所述当前图像块的完成滤波后的像素,对所述第一区域内的像素进行更新处理。
可选地,在本申请实施例中,所述更新处理单元340进一步用于:
在所述当前图像块的一部分像素先滤波完成时,先利用滤波后的所述一部分像素,对所述第一区域内与所述一部分像素位置对应部分的像素进行更新处理。
可选地,在本申请实施例中,所述第一区域在所述参考图像的位置与所述当前图像块在所述当前图像中的位置相同。
可选地,在本申请实施例中,所述当前图像块为编码树单元CTU,所述子图像块编码单元;或所述当前图像块为编码单元,所述子图像块为预测单元。
可选地,在本申请实施例中,所述设备300用于编码端。
可选地,所述确定单元310进一步用于:
根据所述当前图像块在所述当前图像中的位置,从所述参考图像中,确定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
可选地,如图3所示,所述设备300还包括:
传送单元350,用于在码流中携带标志位,用于向解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
可选地,所述设备300用于解码端。
可选地,所述确定单元310进一步用于:
根据所述编码端传送的码流中的运动矢量信息,从所述参考图像中,确定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
可选地,如图3所示,所述设备300还包括:
标志位解码单元360,用于解码得到标志位,所述标志位用于向所述解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
应理解,本申请实施例的视频处理设备可以是芯片,其具体可以由电路实现,但本申请实施例对具体的实现形式不做限定。
图10示出了本申请实施例的计算机系统400的示意性框图。
如图14所示,该计算机系统400可以包括处理器410,以及进一步可以包括存储器420。
应理解,该计算机系统400还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本申请实施例对此并不限定。
存储器420用于存储计算机可执行指令。
存储器420可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本申请实施例对此并不限定。
处理器410用于访问该存储器420,并执行该计算机可执行指令,以进行上述本申请实施例的用于视频处理的方法中的操作。
处理器410可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本申请实施例对此并不限定。
本申请实施例的视频处理设备300和计算机系统400可对应于本申请实施例的视频处理方法的执行主体,并且视频处理设备300和计算机系统400中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种编码器,该编码器用于实现本申请实施例中编码端的功能,可以包括上述本申请实施例的用于视频处理设备中用于编码端的模块或包括上述计算机系统。
本申请实施例还提供了一种解码器,该解码器用于实现本申请实施例中解码端的功能,可以包括本申请实施例的视频处理设备中用于解码端的模块或包括上述计算机系统。
本申请实施例还提供了一种编解码器,该编解码器包括上述本申请实施例的视频处理设备或包括上述计算机系统。
本申请实施例还提供了一种电子设备,该电子设备可以包括上述本申请各种实施例的视频处理设备或者计算机系统。该电子设备可以为编码器、解码器、编解码器或视频监控产品。
本申请实施例的视频处理设备、计算机系统和电子设备可以用于无人机中。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本申请实施例的滤波的方法。
应理解,在本申请实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个 系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (42)
- 一种视频处理方法,其特征在于,包括:从当前图像的当前图像块中,确定子图像块;从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;利用所述参考数据,对所述子图像块进行帧间预测;利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
- 根据权利要求1所述的方法,其特征在于,所述参考图像属于长期参考图像、构造帧和/或不被输出的帧。
- 根据权利要求1或2所述的方法,其特征在于,所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据,包括:在确定所述参考图像具有长期参考图像的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有不被输出的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有不被输出的标识,且进一步确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据。
- 根据权利要求1或2所述的方法,其特征在于,所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据,包括:在确定所述参考图像为长期参考图像时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为不被输出的帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为不被输出的帧,且进一步确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据,包括:从所述第一区域内的第二区域中,获取所述参考数据;其中,所述第二区域为所述第一区域中的部分区域。
- 根据权利要求5所述的方法,其特征在于,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:获取所述第二区域中的至少一个像素的像素值。
- 根据权利要求5或6所述的方法,其特征在于,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:与所述第二区域中的至少部分像素进行插值运算。
- 根据权利要求5至7中任一项所述的方法,其特征在于,所述从所述第一区域内的第二区域中,获取所述参考数据,包括:对所述第二区域,进行子像素搜索,以获取第一搜索结果;基于所述第一搜索结果,获取所述参考数据。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据,包括:对所述第一区域进行整像素搜索,以获取第二搜索结果;基于所述第二搜索结果,获取所述参考数据。
- 根据权利要求1至9中任一项所述的方法,其特征在于,所述第一区域内用于搜索的搜索范围小于或等于特定区域的搜索范围。
- 根据权利要求10所述的方法,其特征在于,在所述参考图像为构造帧时,所述特定区域为非构造帧中用于获取参考数据的区域;或,在所述参考图像为长期参考图像时,所述特定区域为短期参考图像中用于获取参考数据的图像块。
- 根据权利要求1至11中任一项所述的方法,其特征在于,所述利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理,包括:利用所述当前图像块的完成滤波后的像素,对所述第一区域内的像素进行更新处理。
- 根据权利要求1至12中任一项所述的方法,其特征在于,所述利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理,包括:在所述当前图像块的一部分像素先滤波完成时,先利用滤波后的所述一部分像素,对所述第一区域内与所述一部分像素位置对应部分的像素进行更新处理。
- 根据权利要求1至13中任一项所述的方法,其特征在于,所述第一区域在所述参考图像的位置与所述当前图像块在所述当前图像中的位置相同。
- 根据权利要求1至14中任一项所述的方法,其特征在于,所述当前图像块为编码树单元CTU,所述子图像块编码单元;或所述当前图像块为编码单元,所述子图像块为预测单元。
- 根据权利要求1至15中任一项所述的方法,其特征在于,所述方法用于编码端。
- 根据权利要求16所述的方法,其特征在于,在所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据之前,所述方法还包括:根据所述当前图像块在所述当前图像中的位置,从所述参考图像中,确定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
- 根据权利要求16或17所述的方法,其特征在于,所述方法还包括:在码流中携带标志位,用于向解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
- 根据权利要求1至15中任一项所述的方法,其特征在于,所述方法用于解码端。
- 根据权利要求19所述的方法,其特征在于,在所述从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据之前,所述方法还包括:根据所述编码端传送的码流中的运动矢量信息,从所述参考图像中,确 定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
- 根据权利要求19或20所述的方法,其特征在于,从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据之前,所述方法还包括:解码得到标志位,所述标志位用于向所述解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
- 一种视频处理设备,其特征在于,包括:确定单元,用于从当前图像的当前图像块中,确定子图像块;获取单元,用于从位于参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据;预测单元,用于利用所述参考数据,对所述子图像块进行帧间预测;更新处理单元,用于利用重建后的所述当前图像块的像素,对所述第一区域内的像素进行更新处理。
- 根据权利要求22所述的设备,其特征在于,所述参考图像属于长期参考图像、构造帧和/或不被输出的帧。
- 根据权利要求22或23所述的设备,其特征在于,所述获取单元进一步用于:在确定所述参考图像具有长期参考图像的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有不被输出的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像具有不被输出的标识,且进一步确定所述参考图像具有构造帧的标识时,从所述参考图像的所述第一区域内,获取所述参考数据。
- 根据权利要求22或23所述的设备,其特征在于,所述获取单元进一步用于:在确定所述参考图像为长期参考图像时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为不被输出的帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据;或,在确定所述参考图像为不被输出的帧,且进一步确定所述参考图像为构造帧时,从所述参考图像的所述第一区域内,获取所述参考数据。
- 根据权利要求22至25中任一项所述的设备,其特征在于,所述获取单元进一步用于:从所述第一区域内的第二区域中,获取所述参考数据;其中,所述第二区域为所述第一区域中的部分区域。
- 根据权利要求26所述的设备,其特征在于,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:获取所述第二区域中的至少一个像素的像素值。
- 根据权利要求26或27所述的设备,其特征在于,所述第一区域中除所述第二区域之外的其他部分区域的至少部分像素用于:与所述第二区域中的至少部分像素进行插值运算。
- 根据权利要求26至28中任一项所述的设备,其特征在于,所述获取单元进一步用于:对所述第二区域,进行子像素搜索,以获取第一搜索结果;基于所述第一搜索结果,获取所述参考数据。
- 根据权利要求22至25中任一项所述的设备,其特征在于,所述获取单元进一步用于:对所述第一区域进行整像素搜索,以获取第二搜索结果;基于所述第二搜索结果,获取所述参考数据。
- 根据权利要求22至30中任一项所述的设备,其特征在于,所述第一区域内用于搜索的搜索范围小于或等于特定区域的搜索范围。
- 根据权利要求31所述的设备,其特征在于,在所述参考图像为构造帧时,所述特定区域为非构造帧中用于获取参考数据的区域;或,在所述参考图像为长期参考图像时,所述特定区域为短期参考图像中用于获取参考数据的图像块。
- 根据权利要求22至32中任一项所述的设备,其特征在于,所述更 新处理单元进一步用于:利用所述当前图像块的完成滤波后的像素,对所述第一区域内的像素进行更新处理。
- 根据权利要求22至33中任一项所述的设备,其特征在于,所述更新处理单元进一步用于:在所述当前图像块的一部分像素先滤波完成时,先利用滤波后的所述一部分像素,对所述第一区域内与所述一部分像素位置对应部分的像素进行更新处理。
- 根据权利要求22至34中任一项所述的设备,其特征在于,所述第一区域在所述参考图像的位置与所述当前图像块在所述当前图像中的位置相同。
- 根据权利要求22至35中任一项所述的设备,其特征在于,所述当前图像块为编码树单元CTU,所述子图像块编码单元;或所述当前图像块为编码单元,所述子图像块为预测单元。
- 根据权利要求22至36中任一项所述的设备,其特征在于,所述设备用于编码端。
- 根据权利要求37所述的设备,其特征在于,所述确定单元进一步用于:根据所述当前图像块在所述当前图像中的位置,从所述参考图像中,确定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
- 根据权利要求37或38所述的设备,其特征在于,还包括:传送单元,用于在码流中携带标志位,用于向解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
- 根据权利要求22至39中任一项所述的设备,其特征在于,所述设备用于解码端。
- 根据权利要求40所述的设备,其特征在于,所述确定单元进一步用于:根据所述编码端传送的码流中的运动矢量信息,从所述参考图像中,确定所述第一区域和/或所述第一区域内用于获取所述参考数据的区域。
- 根据权利要求40或41所述的设备,其特征在于,还包括:标志位解码单元,用于解码得到标志位,所述标志位用于向所述解码端指示:从位于所述参考图像中且与所述当前图像块位置对应的第一区域内,获取用于对所述子图像块进行帧间预测的参考数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/094387 WO2020006690A1 (zh) | 2018-07-03 | 2018-07-03 | 视频处理方法和设备 |
CN201880039240.9A CN110832861A (zh) | 2018-07-03 | 2018-07-03 | 视频处理方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/094387 WO2020006690A1 (zh) | 2018-07-03 | 2018-07-03 | 视频处理方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020006690A1 true WO2020006690A1 (zh) | 2020-01-09 |
Family
ID=69059442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/094387 WO2020006690A1 (zh) | 2018-07-03 | 2018-07-03 | 视频处理方法和设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110832861A (zh) |
WO (1) | WO2020006690A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556551B (zh) * | 2020-04-23 | 2023-06-23 | 上海高德威智能交通系统有限公司 | 一种编码、解码方法、装置及设备 |
CN112565753B (zh) * | 2020-12-06 | 2022-08-16 | 浙江大华技术股份有限公司 | 运动矢量差的确定方法和装置、存储介质及电子装置 |
CN116684610A (zh) * | 2023-05-17 | 2023-09-01 | 北京百度网讯科技有限公司 | 确定长期参考帧的参考状态的方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272494A (zh) * | 2008-01-25 | 2008-09-24 | 浙江大学 | 利用合成参考帧的视频编解码方法及装置 |
WO2015124110A1 (en) * | 2014-02-21 | 2015-08-27 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
CN105578196A (zh) * | 2015-12-25 | 2016-05-11 | 广东中星电子有限公司 | 视频图像处理方法及设备 |
CN105847871A (zh) * | 2015-01-16 | 2016-08-10 | 杭州海康威视数字技术股份有限公司 | 视频编解码方法及其装置 |
CN106331700A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 参考图像编码和解码的方法、编码设备和解码设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385404B2 (en) * | 2008-09-11 | 2013-02-26 | Google Inc. | System and method for video encoding using constructed reference frame |
CN101431675B (zh) * | 2008-12-09 | 2010-12-08 | 青岛海信电子产业控股股份有限公司 | 一种像素运动估计方法和装置 |
CN101795409B (zh) * | 2010-03-03 | 2011-12-28 | 北京航空航天大学 | 内容自适应分数像素运动估计方法 |
CN103167283B (zh) * | 2011-12-19 | 2016-03-02 | 华为技术有限公司 | 一种视频编码方法及设备 |
CN106878737B (zh) * | 2017-03-02 | 2019-10-08 | 西安电子科技大学 | 高效视频编码中的运动估计加速方法 |
-
2018
- 2018-07-03 WO PCT/CN2018/094387 patent/WO2020006690A1/zh active Application Filing
- 2018-07-03 CN CN201880039240.9A patent/CN110832861A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272494A (zh) * | 2008-01-25 | 2008-09-24 | 浙江大学 | 利用合成参考帧的视频编解码方法及装置 |
WO2015124110A1 (en) * | 2014-02-21 | 2015-08-27 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
CN105847871A (zh) * | 2015-01-16 | 2016-08-10 | 杭州海康威视数字技术股份有限公司 | 视频编解码方法及其装置 |
CN106331700A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 参考图像编码和解码的方法、编码设备和解码设备 |
CN105578196A (zh) * | 2015-12-25 | 2016-05-11 | 广东中星电子有限公司 | 视频图像处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110832861A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11601640B2 (en) | Image coding method using history-based motion information and apparatus for the same | |
TWI755376B (zh) | 用於視訊寫碼之濾波器之幾何轉換 | |
EP3780618A1 (en) | Method and device for obtaining motion vector of video image | |
KR102606330B1 (ko) | Aps 시그널링 기반 비디오 또는 영상 코딩 | |
TW201830963A (zh) | 具有用於視頻寫碼之樣本存取之線性模型預測模式 | |
TWI639330B (zh) | 具有內插參考圖像的視訊編解碼裝置及方法 | |
TW201743619A (zh) | 在視訊寫碼中適應性迴路濾波中之多個濾波器之混淆 | |
CN111837396A (zh) | 基于子图像码流视角相关视频编码中的误差抑制 | |
US11671613B2 (en) | Methods for signaling virtual boundaries and wrap-around motion compensation | |
CN112005551A (zh) | 一种视频图像预测方法及装置 | |
CN112385234A (zh) | 图像和视频译码的设备和方法 | |
US20200021850A1 (en) | Video data decoding method, decoding apparatus, encoding method, and encoding apparatus | |
KR20190020083A (ko) | 인코딩 방법 및 장치 및 디코딩 방법 및 장치 | |
WO2020006690A1 (zh) | 视频处理方法和设备 | |
JP2023521295A (ja) | 映像符号化データをシグナリングするための方法 | |
JP2023507259A (ja) | ラップアラウンド動き補償を実行する方法 | |
KR20230162989A (ko) | 멀티미디어 데이터 프로세싱 방법, 장치, 디바이스, 컴퓨터-판독가능 저장 매체, 및 컴퓨터 프로그램 제품 | |
CN114788284B (zh) | 用于在调色板模式下对视频数据进行编码的方法和装置 | |
US20200351493A1 (en) | Method and apparatus for restricted long-distance motion vector prediction | |
CN115486074A (zh) | 视频处理中的砖块和条带分割 | |
CN114902670A (zh) | 用信号通知子图像划分信息的方法和装置 | |
JP2023504407A (ja) | パレットモードを使用するための映像処理方法及び機器 | |
CN112822498B (zh) | 图像处理设备和执行有效去块效应的方法 | |
WO2020182194A1 (zh) | 帧间预测的方法及相关装置 | |
CN109672889B (zh) | 约束的序列数据头的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18925306 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18925306 Country of ref document: EP Kind code of ref document: A1 |