CN114173134B - 视频编码方法、装置、电子设备和计算机可读介质 - Google Patents
视频编码方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN114173134B CN114173134B CN202111468788.5A CN202111468788A CN114173134B CN 114173134 B CN114173134 B CN 114173134B CN 202111468788 A CN202111468788 A CN 202111468788A CN 114173134 B CN114173134 B CN 114173134B
- Authority
- CN
- China
- Prior art keywords
- block
- image block
- image
- gradient
- variance
- 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 56
- 238000010845 search algorithm Methods 0.000 claims abstract description 91
- 230000004044 response Effects 0.000 claims description 35
- 239000003550 marker Substances 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 229910003460 diamond Inorganic materials 0.000 description 6
- 239000010432 diamond Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000004209 hair Anatomy 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
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是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1是根据本公开一些实施例的视频编码方法的一个应用场景的示意图。
如图1所示,视频内容可以是边境牧羊犬。执行主体(例如可以是视频编码设备100)在对视频进行编码时,可以将视频的视频帧200划分为图像块。为了同时兼顾视频编码的质量和速度,执行主体首先为视频帧中图像块设置图像块标记,其中,图像块标记用于表征图像块包含的图像内容复杂度。例如,图1中,图像块2011的内容较为复杂,包含了边境牧羊犬的鼻子、眼镜、耳朵等多个图像内容,图像块标记可以为“高复杂度标记”;图像块2012的内容不复杂,只包含黑色和白色的毛发,图像块标记可以为“中复杂度标记”;图像块2013的内容简单,只包含白色的毛发,图像块标记可以为“低复杂度标记”。之后,执行主体根据图像块标记确定对应上述图像块的模式决策和运动搜索算法。例如,图像块2011的图像块标记为“高复杂度标记”,则为了能够获取高质量的图像内容,执行主体可以采用模式决策:率失真优化,运动搜索算法可以采用:随机穷举搜索。图像块2012的图像块标记为“中复杂度标记”,执行主体可以采用预设的模式决策(率失真优化或绝对误差和),运动搜索算法可以采用:正六边形搜索。图像块2013的图像块标记为“低复杂度标记”,执行主体可以采用模式决策:绝对误差和,运动搜索算法可以采用:菱形搜索。其中,率失真优化可以同时考虑码率和失真两方面的制约,在保证低失真度的同时保证低码率,有利于视频流的传输。绝对误差和是图像块之间的相似度的量度,通过取原始块中的每个像素与用于比较的块中的相应像素之间的绝对差来计算。菱形搜索的计算量小,正六边形搜索的计算量适中,随机穷举搜索的计算量大。相应的,菱形搜索的搜索速度大于正六边形搜索,正六边形搜索的搜索速度大于随机穷举搜索。随机穷举搜索的搜索质量大于正六边形搜索,正六边形搜索的搜索质量大于菱形搜索。最后,执行主体可以根据模式决策和运动搜索算法计算上述图像块的残差,基于残差可以对图像进行重建,实现对视频的编码。如此,实现了在视频帧上根据图像块的复杂度动态选择模式决策和运动搜索算法,既保证了视频编码的质量,同时也能兼顾编码的速度。
应该理解,图1中的视频编码设备100数目仅仅是示意性的。根据实现需要,可以具有任意数目的视频编码设备100。
继续参考图2,图2示出了根据本公开的视频编码方法的一些实施例的流程200。该视频编码方法,包括以下步骤:
步骤201,为视频帧中的图像块设置图像块标记。
在一些实施例中,视频编码方法的执行主体(例如图1所示的视频编码设备100)可以接收待处理视频,然后将待处理视频解析为视频帧。由于视频帧包含的内容通常不同,因此,执行主体可以进一步将视频帧划分为图像块。然后根据图像块内容的复杂度为图像块设置图像块标记。如此,有利于根据图像块的复杂度针对性选择视频编码的模式决策和运动搜索算法。
步骤202,通过上述图像块标记确定上述图像块的模式决策和运动搜索算法。
在一些实施例中,图像块标记代表图像块内容的复杂度。由上述描述可知,当图像块标记为“高复杂度标记”时,模式决策可以采用率失真优化,运动搜索算法可以采用随机穷举搜索;当图像块标记为“中复杂度标记”时,模式决策可以采用率失真优化或绝对误差和,运动搜索算法可以采用正六边形搜索;当图像块标记为“低复杂度标记”时,模式决策可以采用绝对误差和,运动搜索算法可以采用菱形搜索。如此,实现了根据图像块的复杂度动态选择模式决策和运动搜索算法,既保证了视频编码的质量,同时也能兼顾编码的速度。
步骤203,基于上述模式决策和运动搜索算法,确定上述图像块的残差。
在一些实施例中,确定了模式决策和运动搜索算法后,执行主体可以根据模式决策和运动搜索算法对图像块进行数据处理,得到该图像块的残差。计算残差的过程与现有视频编码相同,此处不再一一赘述。
本公开的一些实施例公开的视频编码方法动态选择了处理图像块时的模式决策和运动搜索算法,兼顾了图像编码的质量和速度。具体来说,造成现有视频编码无法兼顾模式决策和运动搜索算法的原因在于:现有视频编码过程通常只考虑了模式决策或只考虑了运动搜索算法。基于此,本公开的一些实施例的视频编码方法首先考虑了视频帧的复杂度,根据复杂度设置图像块对应的图像块标记,然后根据图像块标记动态选择对应的模式决策和运动搜索算法;最后基于模式决策和运动搜索算法计算图像块的残差。如此,在视频编码的过程中兼顾了模式决策和运动搜索算法,既保证了视频编码的质量,同时也能兼顾编码的速度。
继续参考图3,图3示出了根据本公开的视频编码方法的一些实施例的流程300。该视频编码方法,包括以下步骤:
步骤301,确定上述图像块的块方差和块梯度。
为了检测图像块的复杂度,本申请通过块方差和块梯度来衡量图像块包含的图像内容的复杂度。其中,块方差可以是用图像块中的像素值与一个标准块(例如可以是块中间像素为1,其他像素为0)来计算。块方差一定程度上可以表征图像块内部的变化趋势。块梯度可以通过块一侧的像素与对侧的像素之间的差来表示。块梯度可以表征图像块之间的变化趋势。通过块方差和块梯度可以较为准确的确定图像块的复杂度,为选择决模式决策和运动搜索算法奠定基础。
步骤302,基于所述块方差和块梯度,为所述图像块设置图像块标记。
同一图像块,块方差取值大时,块梯度的取值可能较小;反之,块方差取值小时,块梯度的取值可能较大。为此,执行主体可以对块方差和块梯度进行匹配,然后根据匹配结果为上述图像块设置图像块标记。
在一些实施例的一些可选的实现方式中,上述基于所述块方差和块梯度,为所述图像块设置图像块标记,可以包括:响应于上述块方差和块梯度分别大于视频帧块方差均值和视频帧块梯度均值,为上述图像块设置图像块标记为高复杂度标记;响应于上述块方差和块梯度分别小于视频帧块方差均值和视频帧块梯度均值,为上述图像块设置图像块标记为低复杂度标记;响应于所述块方差大于视频帧块方差均值,且所述块梯度小于视频帧块梯度均值、或所述块方差小于视频帧块方差均值,且所述块梯度大于视频帧块梯度均值,为所述图像块设置图像块标记为中复杂度标记。
执行主体可以首先计算视频帧块方差均值和视频帧块梯度均值。其中,视频帧块方差均值可以是视频帧包含的全部图像块的块方差之和,除以图像块数量后的均值;视频帧块梯度均值可以是视频帧包含的全部图像块的块梯度之和,除以图像块数量后的均值。得到视频帧块方差均值和视频帧块梯度均值后,执行主体可以通过图像块的块方差和块梯度分别与视频帧块方差均值和视频帧块梯度均值比较,当块方差和块梯度都大于视频帧块方差均值和视频帧块梯度均值时,说明当前的图像块和其他图像块的差别很大。此时,可以为图像块设置图像块标记为高复杂度标记。当块方差和块梯度都小于视频帧块方差均值和视频帧块梯度均值时,说明当前的图像块和其他图像块的差别很小。此时,可以为图像块设置图像块标记为低复杂度标记。当块方差大于视频帧块方差均值,并且块梯度小于视频帧块梯度均值时、或当块方差小于视频帧块方差均值,并且块梯度大于视频帧块梯度均值时,说明当前的图像块和其他图像块的差别适中。此时,可以为图像块设置图像块标记为中复杂度标记。视频帧块方差均值和视频帧块梯度均值是基于视频帧自身获取的,能够客观的表征当前视频帧整体的复杂度。因此,基于视频帧块方差均值和视频帧块梯度对图像块设置图像块标记,能够客观准确地反映当前的图像块相比视频帧中其他图像块的复杂度。
在一些实施例的一些可选的实现方式中,上述基于所述块方差和块梯度,为所述图像块设置图像块标记,可以包括:响应于上述块方差和块梯度分别大于第一块方差阈值和第一块梯度阈值,为上述图像块设置图像块标记为高复杂度标记;响应于上述块方差和块梯度分别小于第二块方差阈值和第二块梯度阈值,为上述图像块设置图像块标记为低复杂度标记;响应于所述块方差大于第一块方差阈值,且所述块梯度小于第一块梯度阈值、或所述块方差小于第二块方差阈值,且所述块梯度大于第二块梯度阈值、或所述块方差小于第一块方差阈值,大于第二块方差阈值、或所述块梯度小于第一块梯度阈值,大于第二块梯度阈值、为所述图像块设置图像块标记为中复杂度标记。
除了上述通过视频帧块方差均值和视频帧块梯度均值来设置图像块标记外,用户还可以根据需要设置块方差阈值和梯度阈值,块方差阈值和梯度阈值可以根据用户对视频编码效果来设置。具体的,用户可以分别设置第一块方差阈值、第二块方差阈值、第一块梯度阈值、第二梯度阈值。例如,用户可以将第一块方差阈值设置为50,第二块方差阈值为10。同理可以设置第一块梯度阈值和第二梯度阈值。其中,上述第一块方差阈值大于第二块方差阈值,上述第一块梯度阈值大于上述第二梯度阈值。块方差和块梯度分别大于第一块方差阈值和第一块梯度阈值时,可以为上述图像块设置图像块标记为高复杂度标记;块方差和块梯度分别小于第二块方差阈值和第二块梯度阈值,为上述图像块设置图像块标记为低复杂度标记;其他情况时,为上述图像块设置图像块标记为中复杂度标记。例如,块方差大于第一块方差阈值,块梯度在第一块梯度阈值和第二块梯度阈值之间;块方差大于第一块方差阈值,块梯度小于第二块梯度阈值;所述块方差小于第二块方差阈值,所述块梯度在第一块梯度阈值和第二块梯度阈值之间;所述块方差小于第二块方差阈值,所述块梯度大于第一块梯度阈值;所述块方差小于第一块方差阈值,大于第二块方差阈值时,块梯度的取值任意;所述块梯度小于第一块梯度阈值,大于第二块梯度阈值时,块方差的取值任意。以上是块方差和块梯度分别大于第一块方差阈值和第一块梯度阈值,以及块方差和块梯度分别小于第二块方差阈值和第二块梯度阈值以外的情况。此时,可以为图像块设置图像块标记为中复杂度标记。
由于第一块方差阈值、第二块方差阈值、第一块梯度阈值、第二梯度阈值是用户为设置的,因此可以满足用户对视频编码的针对性。
步骤303,通过上述图像块标记确定上述图像块的模式决策和运动搜索算法。
在一些实施例的一些可选的实现方式中,上述通过上述图像块标记确定对应上述图像块的模式决策和运动搜索算法,可以包括:响应于上述图像块设置图像块标记为高复杂度标记,采用第一模式决策和第一运动搜索算法;响应于上述图像块设置图像块标记为中复杂度标记,采用第二模式决策和第二运动搜索算法;响应于上述图像块设置图像块标记为低复杂度标记,采用第三模式决策和第三运动搜索算法。其中,上述第一模式决策的计算量大于上述第二模式决策,上述第二模式决策的计算量大于上述第三模式决策,上述第一运动搜索算法的计算精度高于上述第二运动搜索算法,上述第二运动搜索算法高于上述第三运动搜索算法。
确定了图像块标记后,还需要确定模式决策和运动搜索算法。当图像块设置图像块标记为高复杂度标记时,说明该图像块内容较为复杂,而较为复杂的图像块包含的图像内容通常也比较多。为了选用能够获取更好编码质量的模式决策和运动搜索算法,执行主体可以选用第一模式决策和第一运动搜索算法。第一模式决策和第一运动搜索算法可以分别是率失真优化和随机穷举搜索。率失真优化可以同时考虑码率和失真两方面的制约,在保证低失真度的同时保证低码率,有利于视频流的传输。随机穷举搜索可以搜索到图像块内全部像素,并根据像素值进行计算。类似的,当图像块设置图像块标记为中复杂度标记,可以采用第二模式决策和第二运动搜索算法;第二模式决策可以是率失真优化或绝对误差和,第二运动搜索算法可以是随机穷举搜索。当图像块设置图像块标记为低复杂度标记,采用第三模式决策和第三运动搜索算法。第三模式决策可以是绝对误差和,第三运动搜索算法可以是菱形搜索。通常,图像块标记为高复杂度标记时,说明图像块内容较为复杂。要想获取更好的编码质量,计算量就比较大,因此,第一模式决策和第一运动搜索算法耗费的编码资源也比较多,编码速度较慢。当图像块标记为低复杂度标记时,说明图像块内容较为简单,此时可以选用编码速度快的第三模式决策和第三运动搜索算法。
在一些实施例的一些可选的实现方式中,通过上述图像块标记确定对应上述图像块的模式决策和运动搜索算法,可以包括:基于上述图像块标记调整上述图像块包含的图像的使用范围。
实际中,视频帧的尺寸可能无法与图像块的大小完全匹配,例如,视频帧的尺寸为200×200,则图像块为64×64时将无法通过图像块完整覆盖到视频帧。即,200无法整除64,视频帧无法同时设置整数个图像块,则必然存在图像块中的图像超出视频帧的情况。此时,图像块中包含了视频帧的图像和视频帧之外的图像。因此,需要调整图像块的使用范围,以适应搜索需要。
在一些实施例的一些可选的实现方式中,上述基于上述图像块标记调整上述图像块包含的图像的使用范围,可以包括:响应于上述图像块设置图像块标记为高复杂度标记,缩小上述图像块的使用范围;响应于上述图像块设置图像块标记为中复杂度标记,保持上述图像块的使用范围不变;响应于上述图像块设置图像块标记为低复杂度标记,扩大上述图像块的使用范围。
为了提高编码精度,可以对使用范围进行扩大或缩小。例如,当图像块设置图像块标记为高复杂度标记时,通过上述描述可知,采用的模式决策和运动搜索算法已经能够获得较好的编码效果了。此时,可以缩小上述图像块的使用范围(例如,减少图像块内的多个像素点)。当图像块设置图像块标记为低时,采用的模式决策和运动搜索算法具有较好的编码速度,且能够节省编码资源。为了提高编码速度,可以适当扩大使用范围(例如,增加图像块外的多个像素点)。当图像块设置图像块标记为中复杂度标记时,可以保持上述图像块的使用范围不变,即,当视频帧的区域不满足图像块的大小时,可以增加预设值数量个像素点。
步骤304,基于上述模式决策和运动搜索算法,确定上述图像块的残差。
步骤304的内容与步骤203的内容相同,此处不再一一赘述。
继续参考图4,图4示出了根据本公开的视频编码方法的一些实施例的流程400。该视频编码方法,包括以下步骤:
步骤401,为视频帧中的图像块设置图像块标记。
步骤402,通过上述图像块标记确定上述图像块的模式决策和运动搜索算法。
步骤403,基于上述模式决策和运动搜索算法,确定上述图像块的残差。
步骤401至步骤403的内容与步骤201至步骤203的内容相同,此处不再一一赘述。
步骤404,基于上述残差和上述视频帧生成目标视频帧。
通过图像块的残差可以获取到视频帧的残差。执行主体可以基于原始的视频帧和视频帧的残差重建目标视频帧,并进一步得到目标视频。例如,目标视频帧可以是原始的视频帧后的第二视频帧,则执行主体可以得到第二视频帧的残差,然后将该第二视频帧的残差与原始的视频帧组合起来生成目标视频帧。如此,可以在保证目标视频质量的前提下,减少目标视频的数据量,有利于目标视频的快速传输和播放。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种视频编码装置的一些实施例,这些装置实施例与图2所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,一些实施例的视频编码装置500包括:标记单元501、算法确定单元502和编码单元503。其中,标记单元501,被配置成为视频帧中的图像块设置图像块标记,上述图像块标记用于表征上述图像块包含的图像的内容复杂度;算法确定单元502,被配置成通过上述图像块标记确定上述图像块的模式决策和运动搜索算法;编码单元503,被配置成基于上述模式决策和运动搜索算法,确定上述图像块的残差。
在一些实施例的可选实现方式中,上述标记单元501可以包括:方差梯度计算子单元(图中未示出)和标记子单元(图中未示出)。其中,方差梯度计算子单元,被配置成确定上述图像块的块方差和块梯度;标记子单元,被配置成基于所述块方差和块梯度,为所述图像块设置图像块标记。
在一些实施例的可选实现方式中,上述标记子单元可以包括:第一标记模块(图中未示出)、第二标记模块(图中未示出)和第三标记模块(图中未示出)。其中,第一标记模块,被配置成响应于上述块方差和块梯度分别大于视频帧块方差均值和视频帧块梯度均值,为上述图像块设置图像块标记为高复杂度标记;第二标记模块,被配置成响应于上述块方差和块梯度分别小于视频帧块方差均值和视频帧块梯度均值,为上述图像块设置图像块标记为低复杂度标记;第三标记模块,被配置成响应于所述块方差大于视频帧块方差均值,且所述块梯度小于视频帧块梯度均值、或所述块方差小于视频帧块方差均值,且所述块梯度大于视频帧块梯度均值,为所述图像块设置图像块标记为中复杂度标记。
在一些实施例的可选实现方式中,上述标记子单元可以包括:第四标记模块(图中未示出)、第五标记模块(图中未示出)和第六标记模块(图中未示出)。其中,第四标记模块,被配置成响应于上述块方差和块梯度分别大于第一块方差阈值和第一块梯度阈值,为上述图像块设置图像块标记为高复杂度标记;第五标记模块,被配置成响应于上述块方差和块梯度分别小于第二块方差阈值和第二块梯度阈值,为上述图像块设置图像块标记为低复杂度标记;第六标记模块,被配置成响应于所述块方差大于第一块方差阈值,且所述块梯度小于第一块梯度阈值、或所述块方差小于第二块方差阈值,且所述块梯度大于第二块梯度阈值、或所述块方差小于第一块方差阈值,大于第二块方差阈值、或所述块梯度小于第一块梯度阈值,大于第二块梯度阈值、为所述图像块设置图像块标记为中复杂度标记;其中,上述第一块方差阈值大于第二块方差阈值,上述第一块梯度阈值大于上述第二梯度阈值。
在一些实施例的可选实现方式中,上述算法确定单元502可以包括:第一算法确定子单元(图中未示出)、第二算法确定子单元(图中未示出)和第三算法确定子单元(图中未示出)。其中,第一算法确定子单元,被配置成响应于上述图像块设置图像块标记为高复杂度标记,采用第一模式决策和第一运动搜索算法;第二算法确定子单元,被配置成响应于上述图像块设置图像块标记为中复杂度标记,采用第二模式决策和第二运动搜索算法;第三算法确定子单元,被配置成响应于上述图像块设置图像块标记为低复杂度标记,采用第三模式决策和第三运动搜索算法,其中,上述第一模式决策的计算量大于上述第二模式决策,上述第二模式决策的计算量大于上述第三模式决策,上述第一运动搜索算法的计算精度高于上述第二运动搜索算法,上述第二运动搜索算法高于上述第三运动搜索算法。
在一些实施例的可选实现方式中,上述算法确定单元502可以包括:搜索范围调整子单元(图中未示出),被配置成基于上述图像块标记调整上述图像块包含的图像的使用范围。
在一些实施例的可选实现方式中,上述搜索范围调整子单元可以包括:第一搜索范围调整模块(图中未示出)、第二搜索范围调整模块(图中未示出)和第三搜索范围调整模块(图中未示出)。其中,第一搜索范围调整模块,被配置成响应于上述图像块设置图像块标记为高复杂度标记,缩小上述图像块的使用范围;第二搜索范围调整模块,被配置成响应于上述图像块设置图像块标记为中复杂度标记,保持上述图像块的使用范围不变;第三搜索范围调整模块,被配置成响应于上述图像块设置图像块标记为低复杂度标记,扩大上述图像块的使用范围。
在一些实施例的可选实现方式中,上述视频编码装置500还可以包括:目标视频帧获取单元(图中未示出),被配置成基于上述残差和上述视频帧生成目标视频帧。
可以理解的是,该装置500中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置500及其中包含的单元,在此不再赘述。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:为视频帧中的图像块设置图像块标记,上述图像块标记用于表征上述图像块包含的图像的内容复杂度;通过上述图像块标记确定上述图像块的模式决策和运动搜索算法;基于上述模式决策和运动搜索算法,确定上述图像块的残差。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括标记单元、算法确定单元和编码单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,标记单元还可以被描述为“用于标记图像块复杂度的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种视频编码方法,包括:
为视频帧中的图像块设置图像块标记,所述图像块标记用于表征所述图像块包含的图像的内容复杂度;
通过所述图像块标记确定所述图像块的模式决策和运动搜索算法,包括:响应于所述图像块设置图像块标记为高复杂度标记,采用第一模式决策和第一运动搜索算法;响应于所述图像块设置图像块标记为中复杂度标记,采用第二模式决策和第二运动搜索算法,其中,所述第一模式决策的计算量大于所述第二模式决策,所述第一运动搜索算法的计算精度高于所述第二运动搜索算法;
基于所述模式决策和运动搜索算法,确定所述图像块的残差。
2.根据权利要求1所述的方法,其中,所述为视频帧中的图像块设置图像块标记,包括:
确定所述图像块的块方差和块梯度;
基于所述块方差和块梯度,为所述图像块设置图像块标记。
3.根据权利要求2所述的方法,其中,所述基于所述块方差和块梯度,为所述图像块设置图像块标记,包括:
响应于所述块方差和块梯度分别大于视频帧块方差均值和视频帧块梯度均值,为所述图像块设置图像块标记为高复杂度标记;
响应于所述块方差和块梯度分别小于视频帧块方差均值和视频帧块梯度均值,为所述图像块设置图像块标记为低复杂度标记;
响应于所述块方差大于视频帧块方差均值,且所述块梯度小于视频帧块梯度均值、或所述块方差小于视频帧块方差均值,且所述块梯度大于视频帧块梯度均值,为所述图像块设置图像块标记为中复杂度标记。
4.根据权利要求2所述的方法,其中,所述基于所述块方差和块梯度,为所述图像块设置图像块标记,包括:
响应于所述块方差和块梯度分别大于第一块方差阈值和第一块梯度阈值,为所述图像块设置图像块标记为高复杂度标记;
响应于所述块方差和块梯度分别小于第二块方差阈值和第二块梯度阈值,为所述图像块设置图像块标记为低复杂度标记;
响应于所述块方差大于第一块方差阈值,且所述块梯度小于第一块梯度阈值、或所述块方差小于第二块方差阈值,且所述块梯度大于第二块梯度阈值、或所述块方差小于第一块方差阈值,大于第二块方差阈值、或所述块梯度小于第一块梯度阈值,大于第二块梯度阈值、为所述图像块设置图像块标记为中复杂度标记;
其中,所述第一块方差阈值大于第二块方差阈值,所述第一块梯度阈值大于所述第二块梯度阈值。
5.根据权利要求3或4所述的方法,其中,所述通过所述图像块标记确定所述图像块的模式决策和运动搜索算法,包括:
响应于所述图像块设置图像块标记为低复杂度标记,采用第三模式决策和第三运动搜索算法;
其中,所述第二模式决策的计算量大于所述第三模式决策,所述第二运动搜索算法高于所述第三运动搜索算法。
6.根据权利要求1所述的方法,其中,所述通过所述图像块标记确定对应所述图像块的模式决策和运动搜索算法,包括:
基于所述图像块标记调整所述图像块包含的图像的使用范围。
7.根据权利要求6所述的方法,其中,所述基于所述图像块标记调整所述图像块包含的图像的使用范围,包括:
响应于所述图像块设置图像块标记为高复杂度标记,缩小所述图像块的使用范围;
响应于所述图像块设置图像块标记为中复杂度标记,保持所述图像块的使用范围不变;
响应于所述图像块设置图像块标记为低复杂度标记,扩大所述图像块的使用范围。
8.根据权利要求1所述的方法,其中,所述方法还包括:
基于所述残差和所述视频帧生成目标视频帧。
9.一种视频编码装置,包括:
标记单元,被配置成为视频帧中的图像块设置图像块标记,所述图像块标记用于表征所述图像块包含的图像的内容复杂度;
算法确定单元,被配置成通过所述图像块标记确定所述图像块的模式决策和运动搜索算法;
编码单元,被配置成基于所述模式决策和运动搜索算法,确定所述图像块的残差;
其中,所述算法确定单元,进一步被配置成:响应于所述图像块设置图像块标记为高复杂度标记,采用第一模式决策和第一运动搜索算法;响应于所述图像块设置图像块标记为中复杂度标记,采用第二模式决策和第二运动搜索算法,其中,所述第一模式决策的计算量大于所述第二模式决策,所述第一运动搜索算法的计算精度高于所述第二运动搜索算法。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时,实现如权利要求1至8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468788.5A CN114173134B (zh) | 2021-12-03 | 2021-12-03 | 视频编码方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468788.5A CN114173134B (zh) | 2021-12-03 | 2021-12-03 | 视频编码方法、装置、电子设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114173134A CN114173134A (zh) | 2022-03-11 |
CN114173134B true CN114173134B (zh) | 2024-04-05 |
Family
ID=80482872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111468788.5A Active CN114173134B (zh) | 2021-12-03 | 2021-12-03 | 视频编码方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114173134B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100094759A (ko) * | 2009-02-19 | 2010-08-27 | 삼성전자주식회사 | 동영상 부호화의 연산 복잡도 제어 방법 및 장치 |
CN105657433A (zh) * | 2015-12-30 | 2016-06-08 | 航天恒星科技有限公司 | 一种基于图像复杂度的信源实时编码方法及系统 |
CN110139102A (zh) * | 2019-05-23 | 2019-08-16 | 北京百度网讯科技有限公司 | 视频编码复杂度的预测方法、装置、设备和存储介质 |
CN110166771A (zh) * | 2018-08-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN113382258A (zh) * | 2021-06-10 | 2021-09-10 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006096612A2 (en) * | 2005-03-04 | 2006-09-14 | The Trustees Of Columbia University In The City Of New York | System and method for motion estimation and mode decision for low-complexity h.264 decoder |
US9609358B2 (en) * | 2013-07-23 | 2017-03-28 | Ati Technologies Ulc | Performing video encoding mode decisions based on down-scaled macroblock texture complexity |
US10291932B2 (en) * | 2015-03-06 | 2019-05-14 | Qualcomm Incorporated | Method and apparatus for low complexity quarter pel generation in motion search |
US9955186B2 (en) * | 2016-01-11 | 2018-04-24 | Qualcomm Incorporated | Block size decision for video coding |
CN113170177A (zh) * | 2019-01-02 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 基于散列的运动搜索 |
US20190222858A1 (en) * | 2019-03-26 | 2019-07-18 | Intel Corporation | Optimal out of loop inter motion estimation with multiple candidate support |
-
2021
- 2021-12-03 CN CN202111468788.5A patent/CN114173134B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100094759A (ko) * | 2009-02-19 | 2010-08-27 | 삼성전자주식회사 | 동영상 부호화의 연산 복잡도 제어 방법 및 장치 |
CN105657433A (zh) * | 2015-12-30 | 2016-06-08 | 航天恒星科技有限公司 | 一种基于图像复杂度的信源实时编码方法及系统 |
CN110166771A (zh) * | 2018-08-01 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机设备和存储介质 |
CN110139102A (zh) * | 2019-05-23 | 2019-08-16 | 北京百度网讯科技有限公司 | 视频编码复杂度的预测方法、装置、设备和存储介质 |
CN113382258A (zh) * | 2021-06-10 | 2021-09-10 | 北京百度网讯科技有限公司 | 视频编码方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114173134A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN110213614B (zh) | 从视频文件中提取关键帧的方法和装置 | |
CN110021052B (zh) | 用于生成眼底图像生成模型的方法和装置 | |
CN113436620B (zh) | 语音识别模型的训练方法、语音识别方法、装置、介质及设备 | |
US11785195B2 (en) | Method and apparatus for processing three-dimensional video, readable storage medium and electronic device | |
CN114964296B (zh) | 车辆行驶路径规划方法、装置、设备和计算机可读介质 | |
CN113689372B (zh) | 图像处理方法、设备、存储介质及程序产品 | |
CN112561840A (zh) | 视频裁剪方法、装置、存储介质及电子设备 | |
CN110009101B (zh) | 用于生成量化神经网络的方法和装置 | |
CN113542856B (zh) | 在线录像的倒放方法、装置、设备和计算机可读介质 | |
CN111915532B (zh) | 图像追踪方法、装置、电子设备及计算机可读介质 | |
WO2024056030A1 (zh) | 一种图像深度估计方法、装置、电子设备及存储介质 | |
CN113038176A (zh) | 视频抽帧方法、装置和电子设备 | |
CN114173134B (zh) | 视频编码方法、装置、电子设备和计算机可读介质 | |
CN111669476A (zh) | 水印处理方法、装置、电子设备和介质 | |
CN110705536A (zh) | 汉字识别纠错方法、装置、计算机可读介质及电子设备 | |
CN111680754B (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN110209851B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN112418233A (zh) | 图像处理方法、装置、可读介质及电子设备 | |
CN112488947A (zh) | 模型训练和图像处理方法、装置、设备和计算机可读介质 | |
CN112233207A (zh) | 图像处理方法、装置、设备和计算机可读介质 | |
CN114647472B (zh) | 图片处理方法、装置、设备、存储介质和程序产品 | |
CN112070163B (zh) | 图像分割模型训练和图像分割方法、装置、设备 | |
CN112884794B (zh) | 生成图像方法、装置、电子设备和计算机可读介质 | |
CN111274296B (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 |