CN116320446A - 视频编码方法及装置、电子设备和计算机介质 - Google Patents

视频编码方法及装置、电子设备和计算机介质 Download PDF

Info

Publication number
CN116320446A
CN116320446A CN202310286755.1A CN202310286755A CN116320446A CN 116320446 A CN116320446 A CN 116320446A CN 202310286755 A CN202310286755 A CN 202310286755A CN 116320446 A CN116320446 A CN 116320446A
Authority
CN
China
Prior art keywords
video frame
encoded
macro
macro block
blocks
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
Application number
CN202310286755.1A
Other languages
English (en)
Inventor
张树军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202310286755.1A priority Critical patent/CN116320446A/zh
Publication of CN116320446A publication Critical patent/CN116320446A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开提供一种视频编码方法及装置、电子设备和计算机介质;涉及图像处理技术领域。视频编码方法包括:获取待编码视频帧,并确定待编码视频帧中各宏块包含的像素差异信息;根据像素差异信息将宏块确定为第一宏块或第二宏块,其中,第二宏块的像素差异大于第一宏块的像素差异;根据第一宏块,以及第二宏块的数量确定编码策略;编码策略包括:当待编码视频帧属于关键帧时,根据待编码视频帧中第二宏块的数量对其编码过程中的量化参数进行更新;当待编码视频帧属于非关键帧时,通过标准编码模式对待编码视频帧中的第一宏块进行编码。本公开可以在一定程度上提升视频编码的编码质量及编码效率。

Description

视频编码方法及装置、电子设备和计算机介质
技术领域
本公开涉及图像处理技术领域,具体而言,涉及一种视频编码方法、视频编码装置、电子设备以及计算机可读存储介质。
背景技术
随着数字媒体技术及网络通信业务的不断发展,视频编码技术被应用到多个领域,如视频会议、安防监控、课堂录播等。
在视频编码过程中,编码器对视频进行编码后得到的多个GOP,而GOP通常由关键帧和非关键帧组成,其中,关键帧是内部编码帧(也称I帧),非关键帧包括前向预测帧(也称P帧)和双向预测编码帧(也称B帧)。
部分现有的视频编码技术中,对于关键帧,其编码时的量化参数仅由视频的分辨率、输入帧率及码率确定;而对于非关键帧,其编码时编码器对所有的宏块都需要进行编码模式决策。视频编码的编码质量及编码效率仍存在一定的提升空间。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种视频编码方法、视频编码装置、电子设备以及计算机可读存储介质,进而至少在一定程度上提升视频编码的编码质量及编码效率。
根据本公开的第一方面,提供一种视频编码方法,包括:
获取待编码视频帧,并确定所述待编码视频帧中各宏块包含的像素差异信息;
根据所述像素差异信息将所述宏块确定为第一宏块或第二宏块,其中,所述第二宏块的像素差异大于所述第一宏块的像素差异;
根据所述第一宏块,以及所述第二宏块的数量确定编码策略;
所述编码策略包括:当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新;当所述待编码视频帧属于非关键帧时,通过标准编码模式对所述待编码视频帧中的所述第一宏块进行编码。
根据本公开的第二方面,提供一种视频编码装置,包括:
像素差异模块,用于确定所述待编码视频帧中各宏块包含的像素差异信息;
宏块确定模块,用于根据所述像素差异信息将所述宏块确定为第一宏块或第二宏块,其中,所述第二宏块的像素差异大于所述第一宏块的像素差异;
编码策略模块,用于根据所述第一宏块,以及所述第二宏块的数量确定编码策略;
所述编码策略包括:当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新;当所述待编码视频帧属于非关键帧时,通过标准编码模式对所述待编码视频帧中的所述第一宏块进行编码。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的方法。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的方法。
本公开的示例性实施例可以具有以下部分或全部有益效果:
本公开示例性实施例所提供的视频编码方法中,可以通过待编码视频帧中各宏块包含的像素差异信息,将宏块确定为第一宏块或第二宏块,当待编码视频帧属于关键帧时,根据待编码视频帧中第二宏块的数量对其编码过程中的量化参数进行更新;当待编码视频帧属于非关键帧时,通过标准编码模式对待编码视频帧中的第一宏块进行编码。一方面,根据视频帧中各宏块包含的像素差异信息对关键帧编码过程中的量化参数进行更新,考虑了视频帧的细节特征,通过量化参数的更新将人眼敏感的视频帧的细节特征进一步保留,可以在一定程度上提升视频编码的编码质量;另一方面,对非关键帧所对应视频帧中的第一宏块直接通过标准编码模式进行编码,不仅可以实现编码模式的快速决策,而且可以降低编码复杂度,从而在一定程度上提升了视频编码的编码效率;再一方面,对关键帧编码过程中的量化参数进行更新,可以在一定程度起到调节码率的作用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的一种视频编码方法及装置的示例性系统架构的示意图;
图2示意性示出了根据本公开的一个实施例的视频编码方法的流程图;
图3示意性示出了根据本公开的一个实施例的获取各宏块包含的像素差异信息方法的流程图;
图4示意性示出了根据本公开的一个实施例的划分视频帧的示意图;
图5示意性示出了根据本公开的一个实施例的另一种获取各宏块包含的像素差异信息方法的流程图;
图6示意性示出了根据本公开的一个实施例的确定宏块为第一宏块或第二宏块的流程图;
图7示意性示出了根据本公开的一个实施例的对关键帧编码过程中的量化参数进行更新的流程图;
图8示意性示出了根据本公开的一个实施例的视频编码过程的实例图;
图9示意性示出了根据本公开的一个实施例的视频编码装置的框图;
图10示意性示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其他的方法、组元、装置、步骤等。在其他情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示出了可以应用本公开实施例的视频编辑方法及装置的示例性应用环境的系统架构示意图。
如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104。网络104用以在终端设备101、102、103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备和网络。
举例而言,在一种示例性实施例中,可以是终端设备101和终端设备102执行单向视频数据传输,单向视频传输可发生在视频直播、网络电视、网络监控等场景,具体的,可以是终端设备101对视频数据进行编码,终端设备102可以从网络103上接收已编码视频数据,并对已编码视频数据进行解码以得到视频数据,并根据视频数据显示视频图像。
在另一种示例性实施例中,可以是终端设备102和终端设备103执行双向视频数据传输,双向视频传输可发生在网络会议、视频通话、线上课堂等场景。具体的,可以是终端设备102和终端设备103对视频数据进行编码,然后通过网络103将已编码的视频数据传输到终端设备102和终端设备103中的另一终端设备,终端设备102和终端设备103对已编码视频数据进行解码以得到视频数据,并根据视频数据显示视频图像。
以下对本公开示例性实施例的技术方案进行详细阐述:
本示例性实施例提供了一种视频编码方法,该视频编码方法可以应用于上述系统构架中的任一终端设备。参考图2所示,该视频编码方法可以包括以下步骤:
步骤S210,获取待编码视频帧,并确定待编码视频帧中各宏块包含的像素差异信息;
步骤S220,根据像素差异信息将宏块确定为第一宏块或第二宏块,其中,第二宏块的像素差异大于第一宏块的像素差异;
步骤S230,根据第一宏块的数量和第二宏块的数量确定编码策略;
编码策略包括:当待编码视频帧对应关键帧时,根据待编码视频帧中第二宏块的数量对其编码过程中的量化参数进行更新;当待编码视频帧对应非关键帧时,通过标准编码模式对待编码视频帧中的第一宏块进行编码。
本示例性实施例所提供的视频编码策略中,一方面,根据视频帧中各宏块包含的像素差异信息对关键帧编码过程中的量化参数进行更新,考虑了视频帧的细节特征,通过量化参数的更新将人眼敏感的视频帧的细节特征进一步保留,可以在一定程度上提升视频编码的编码质量;另一方面,对非关键帧所对应视频帧中的第一宏块直接通过标准编码模式进行编码,不仅可以实现编码模式的快速决策,而且可以降低编码复杂度,从而在一定程度上提升视频编码的编码效率;再一方面,对关键帧编码过程中的量化参数进行更新,可以在一定程度起到调节码率的作用。
下面,在另一示例性实施例中,对上述步骤进行更加详细的说明。
在步骤S210中,获取待编码视频帧,并确定待编码视频帧中各宏块包含的像素差异信息。
具体地,视频帧是视频中最小单位的单幅影像画面,单个视频帧就是一幅静止的画面,连续的视频帧就形成动画或视频等,利用人眼的视觉暂留效应,对多个连续的视频帧快速连续地显示便形成了运动的假象。但是,在视频传输过程中,如果只是传输原始的视频帧,数据量很大,这对于现有的网络及存储技术来说是难以实现的,因此可利用连续视频帧之间相似性极高的特性,对视频进行视频编码,即通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件。通过视频编码,可以去除视频帧在空间及时间维度的冗余,大大减少视频传输及存储时的数据量。
宏块是视频编码过程中的基本单元,一个宏块通常由一个亮度像素块和附加的两个色度像素块组成,在视频编码过程中,一个视频帧通常先被划分为多个宏块,然后以宏块为单位进行编码。
本示例性实施例中,像素差异信息表示宏块内不同区域之间像素值的差异性,通过获取视频帧中各宏块包含的像素差异信息,可以得到整个视频帧的像素值的差异性;通常来说,人眼对差异性较小的视频帧的敏感度较大,对差异性较大的视频帧的敏感度较小,这是因为当视频帧的差异性较大时,其相邻视频帧的差异性也较大,而连续视频帧之间相似性极高,当视频帧损失一定的细节特征时,人眼通常察觉不到。
本示例性实施例中,待编码视频帧可以是基于AVC/H.264标准进行编码的视频帧,也可以是基于HEVC/H.265标准进行编码的视频帧,还可以是基于VVC/H.266标准进行编码的视频帧,另外,待编码视频帧还可以是基于其他包含量化过程的视频编码标准进行编码的视频帧。
在一种示例性实施例中,待编码视频帧中的宏块被平均划分为预设数量个子块。其中,预设数量可以为4,还可以为9等其他数量,本示例性实施例在此不做特殊限定。参考图3所示,可通过步骤S310至步骤S320确定待编码视频帧中各宏块包含的像素差异信息。其中:
在步骤S310中,获取宏块中各子块对应的像素均值。
其中,子块为宏块的组成部分,在视频编码技术中,一个宏块可以被平均划分为若干子块,例如,以16×16的宏块为编码最小单元,一个宏块可以被分成16个4×4或4个8×8的子块。
像素均值指的是子块中所有像素值的像素均值,对于视频帧,在现有的视频技术中,通常都是以RGB颜色空间或者YUV颜色空间的像素矩阵来表示,基于RGB的视频帧将像素信息分为红、绿、蓝三个通道,基于YUV的视频帧将像素信息分为一个亮度通道和两个色度通道。
具体地,对于三通道的RGB格式或YUV格式的视频帧,在计算其子块的像素均值时,可以先分别计算子块内不同通道的像素均值,然后将三个通道的像素均值的平均值作为该子块的像素均值;也可以按照对不同通道的像素值按照一定的权重计算得到子块的像素均值,例如,对于YUV格式的视频帧,可将视频帧Y、U、V三个通道的像素值分别按照1、0.5、0.5的权重进行预处理,这是因为人眼对亮度信号的空间分辨率大于对色度信号的空间分辨率,然后计算预处理后的视频帧中各子块内不同通道的像素均值,然后将三个通道的像素均值的平均值作为该子块的像素均值;还可以将三通道的视频帧转换为单通道的灰度图像,然后将灰度图像的灰度值的平均值作为该子块的像素均值,例如,对于RGB格式的视频帧,可基于GRAY=B×0.114+G×0.587+R×0.299对RGB视频帧进行灰度转化,其中GRAY表示灰度值,B、G、R分别表示RGB视频帧中各像素点不同通道的像素值,然后将单通道的子块中所有灰度值的平均值作为该子块的像素均值,当然,像素均值也可通过其他方式得到,本示例性实施例并不以此为限。
在步骤S320中,根据像素均值计算宏块包含的像素差异信息。
其中,像素差异信息表示宏块内不同区域之间像素值的差异性,其可以通过计算不同子块的像素均值之间的比例关系而得到。
在一种示例性实施例中,根据像素均值计算宏块包含的像素差异信息,包括:分别计算预设数量个子块中任意两个子块像素均值的比值,将像素均值的比值作为像素差异信息。参考图4所示,视频帧被平均划分为多个16×16的宏块,将16×16的宏块平均划分为4个8×8的子块,然后按照图4中所示的顺序,可以用a0、a1、a2、a3分别表示不同子块的像素均值,则宏块的像素差异信息可通过下述(1)式至(5)式得到:
r0=a1/a0 (1)
r1=a2/a0 (2)
r2=a3/a1 (3)
r3=a3/a2 (4)
r4=a3/a0 (5)
其中,r0、r1、r2、r3、r4表示宏块包含的像素差异信息,在下文中,未作特殊说明的,像素均值a0、a1、a2、a3所对应的子块均按照图4所示的对应关系。在本公开的其他示例性实施例中,宏块还可以被平均划分为其他数量的子块,如9个8×8的子块等,但在计算宏块包含的像素差异信息时,按照图4所对应宏块的计算策略进行计算,即计算宏块中子块从左到右或从上到下的像素均值变化率。当然,还可以按照其他计算策略来计算宏块包含的像素差异信息,则后续第一宏块和第二宏块也会依据对应于该计算策略的确定规则进行确定。
在一种示例性实施例中,参考图5所示,可通过步骤S510至步骤S520确定待编码视频帧中各宏块包含的像素差异信息。其中:
在步骤S510中,获取待编码视频帧中各宏块内的像素值。其中,像素值是原始视频图像被数字化时由计算机赋予的值,它代表了视频图像某一小方块的平均亮度信息。
在步骤S520中,根据像素值的离散程度确定像素差异信息。
具体地,对于多通道的视频帧,可以首先将目标视频帧转换为灰度图像,进而,对于每一宏块,可以计算宏块的像素灰度值离散程度数据以表示该宏块像素值的离散程度。以图4中所示的宏块为例,可以通过宏块的像素灰度值绝对离差D表征其像素值的离散程度;例如,
Figure BDA0004140998060000091
其中,n表示宏块中像素的数量,/>
Figure BDA0004140998060000092
表示宏块中所有像素灰度值的均值;xi表示宏块中第i个像素的灰度值。
此外,在本公开的其他示例性实施例中,也可以通过其他统计数据表征像素值离散程度;例如,对于图4中的宏块,也可以通过平均绝对离差
Figure BDA0004140998060000093
表征其像素值的离散程度;还可以通过均方差/>
Figure BDA0004140998060000094
表征其像素灰度值的离散程度等;这些均同样属于本公开的保护范围。
另外,对于多通道的视频帧,可以先计算宏块内不同通道像素值的离散程度,然后用不同通道像素值的离散程度的平均值来表示该宏块像素值的离散程度;在得到宏块的像素值的离散程度之后,用该像素值的离散程度表示其对应宏块的像素差异信息。
以图4中所示的宏块为例,在确定各宏块像素值的离散程度之后,基于预设的离散程度阈值将各宏块确定为第一宏块或第二宏块;例如,可以是,当宏块像素值的绝对离差小于9时,将该宏块确定为第一宏块,当宏块像素值的绝对离差大于64时,将该宏块确定为第二宏块;还可以是,当宏块像素值的平均绝对离差小于1时,将该宏块确定为第一宏块,当宏块像素值的平均绝对离差大于4时,将该宏块确定为第二宏块;还可以是,当宏块像素值的均方差小于1时,将该宏块确定为第一宏块,当宏块像素值的均方差大于2时,将该宏块确定为第二宏块;另外,离散程度阈值可以根据宏块内像素点的数量而设定,还可以其他方法来基于预设的离散程度阈值将各宏块确定为第一宏块或第二宏块,本示例性实施例在此不做特殊限定。
在步骤S220中,根据像素差异信息将宏块确定为第一宏块或第二宏块,其中,第二宏块的像素差异大于第一宏块的像素差异。
其中,第一宏块的像素差异较小,第二宏块的像素差异较大,在一种示例性实施例中,参考图6所示,可以通过S610至S630所示的步骤将宏块确定为第一宏块或第二宏块。其中:
在步骤S610中,根据像素均值的比值中大于第一预设阈值的个数确定对应于宏块的标准数量。其中,第一预设阈值为预设参数。
以上述图4中的宏块对应的像素差异信息为例,获取r0、r1、r2、r3、r4中大于第一预设阈值的个数,记为标准数量。另外,示例性的,还可以当r4不等于1时,标准数量增加,例如,标准数量增加1或者其他数值。这是因为对于同一宏块,一般来说,左右或上下相邻的子块的相关性较高,而斜对角相邻或不相邻的子块的相关性较小,当r4不等于1时,表示斜对角相邻的两个子块像素值不同,可以在一定程度上表明该宏块的像素差异性较大,因此可将该宏块对应的标准数量增加,以表示其差异性较大。在本公开的其他示例性实施例中,还可以是,当宏块被平均划分为9个或其他数量的子块时,当不相邻的两个子块的像素比值不等于1时,该宏块对应的标准数量增加。
举例而言,第一预设阈值为1.25,当r4不等于1时,标准数量增加1,若宏块的像素差异信息r0、r1、r2、r3、r4分别3.9、3.1、2.8、1、1,则该宏块对应的标准数量为4。
在一种示例性实施例中,还可以是增加(6)式:r5=a2/a1,然后基于r4和r5来调整标准数量,可以是若r4、r5中不等于1的数量为n,则标准数量增加n;还可以是如r4、r5中至少有一个不等于1,则标准数量增加1;当然,还可以是基于其他预设标准来调整标准数量,本示例性实施例在此不做特殊限定。
在步骤S620中,当标准数量小于或者等于第一标准数量阈值时,将宏块确定为第一宏块。
其中,宏块所对应的标准数量小于或者等于第一标准数量阈值表示该宏块的像素差异较小;示例性的,第一标准数量阈值可以为1,在本公开的其他示例性实施例中,第一标准数量阈值还可以是2或其他数值,其可以根据子块的数量及视频编码的需求而设定。
在步骤S630中,当标准数量大于第二标准数量阈值时,将宏块确定为第二宏块。
其中,宏块所对应的标准数量大于第二标准数量阈值表示该宏块的像素差异较大;示例性的,第二标准数量阈值可以为4,在本公开的其他示例性实施例中,第二标准数量阈值还可以是5或其他数值,其可以根据子块的数量及视频编码的需求而设定。
在步骤S230中,根据第一宏块,以及第二宏块的数量确定编码策略;
编码策略包括:当待编码视频帧属于关键帧时,根据待编码视频帧中第二宏块的数量对其编码过程中的量化参数进行更新;当待编码视频帧属于非关键帧时,通过标准编码模式对待编码视频帧中的第一宏块进行编码。
其中,关键帧为帧内编码图像帧(Intra-coded picture),也称I帧,其采用全帧压缩编码,视频帧序列中的关键帧数量直接关系到图像组(Group of picture,GOP)的大小。
非关键帧包括前向预测帧(也称P帧)和双向预测编码帧(也称B帧)。其中,P帧表示的是这当前视频帧与前一I帧或P帧的差别;其采用本帧的前一I帧或P帧作为参考帧,编码时,只记录本帧与参考帧之间的差值数据,解码时,在参考帧的基础上叠加本帧与参考帧之间的差值数据获得完整的P帧视频图像。B帧通常是在P帧和I帧之间插入的一种类型的帧,可以通过前后帧的预测来减少帧率,提高视频压缩率,其压缩率比P帧和I帧都要高,因为它可以通过前后两帧的预测来减少冗余数据。
量化参数(Quantization Parameter,QP)是量化步长Qstep的序号,其取值范围为0~51,量化参数取最小值0时,表示量化最精细,量化参数取最大值51时,表示量化是最粗糙;量化参数越小,编码后解码获得的视频图像的质量越好,但码率越高;量化参数越大,码率越低,图像失真越大及质量越差;量化参数和量化步长具有线性相关性,量化步长随着量化参数的增加而增加,量化参数每增加6,量化步长增加一倍;通过量化,可以在不降低视觉效果的前提下减少图像编码长度,减少视觉恢复中不必要的信息。
编码模式表示对视频帧进行编码时的编码模式,在视频编码时,视频帧首先被划分为若干宏块(Macroblock),视频编码的过程正是以宏块为单位进行。在编码器编码一个宏块的过程当中,复杂度最高的两个模块为运动搜索模块和模式决策模块。其中模式决策模块的作用是:在很多视频编码器能够提供的待选编码模式当中,选择一种对于当前编码的视频宏块数据而言编码效率最高的模式。然而在新一代的国际视频编码标准中,例如H.264/AVC等,编码器提供了丰富多样的编码模式,使得模式决策模块的复杂度也随之大幅度上升。因此,如何使模式决策模块进行快速决策以提高编码效率,成为编码技术优化的一项重要内容。
在一种示例性实施例中,参考图7所示,可通过步骤S710至步骤S720对关键帧编码过程中的量化参数进行更新。其中:
在步骤S710中,当待编码视频帧属于关键帧时,获取待编码视频帧中第二宏块的数量和待编码视频帧中所有宏块的数量。
其中,视频帧中所有宏块的数量表示该视频帧被平均划分为宏块的数量,例如,对于1280×720大小的视频帧,当前待编码视频帧中第二宏块的数量可以为3218,若宏块的大小为16×16,则该视频帧中所有宏块的数量为3600。
在步骤S720中,根据待编码视频帧中第二宏块的数量与待编码视频帧中所有宏块的数量的比值对其编码过程中的量化参数进行更新。
其中,对量化参数进行更新表示对量化参数进行减小或增大,基于视频帧的像素差异性来调整量化参数,可以是将人眼敏感的视频帧对应的量化参数减小,使该视频帧的细节尽可能保留,可以提升视频编码的质量,进而在一定程度上提升用户的视频观看体验;将人眼不敏感的视频帧对应的量化参数增大,在一定程度上减少视频编码数据,在不影响编码质量的条件下达到减小码率的目的。
在一种示例性实施例中,根据待编码视频帧中第二宏块的数量与待编码视频帧中所有宏块的数量的比值对其编码过程中的量化参数进行更新,可以是,当待编码视频帧中第二宏块的数量与待编码视频帧中所有宏块的数量的比值大于第二预设阈值时,增大其编码过程中的量化参数;当视频帧中第二宏块的数量与视频帧中所有宏块的数量的比值小于第三预设阈值时,减小其编码过程中的量化参数。
其中,第二预设阈值、第三预设阈值都是预设的参数,其可以根据视频编码的具体要求设定,当然,第二预设阈值和第三预设阈值也可以相等。
在一种示例性实施例中,第二预设阈值可以为0.85,则当待编码视频帧中第二宏块的数量与待编码视频帧中所有宏块的数量的比值大于0.85时,其编码过程中的量化参数加1。
其中,第二宏块的数量与视频帧中所有宏块的数量的比值大于0.85,表示该视频帧的差异性较大,人眼不敏感,则可以通过量化参数加1的方式来使视频帧的部分细节丢失,从而降低码率;另外,当视频帧对应的量化参数为量化参数最大值,例如51时,如果第二宏块的数量与视频帧中所有宏块的数量的比值大于0.85,量化参数不变。
此外,在本公开的其他示例性实施例中,第二预设阈值和量化参数增加量还可以是根据编码需求而设定的其他数值,例如,当视频帧中第二宏块的数量与视频帧中所有宏块的数量的比值大于0.98时,其编码过程中的量化参数加2;本示例性实施例在此不做特殊限定。
在一种示例性实施例中,第三预设阈值可以为0.1,则当待编码视频帧中第二宏块的数量与待编码视频帧中所有宏块的数量的比值小于0.1时,其编码过程中的量化参数减1。
其中,第二宏块的数量与视频帧中所有宏块的数量的比值小于0.1,表示该视频帧的差异性较小,人眼不敏感,则可以通过量化参数减1的方式尽可能地保留视频帧的细节特征,从而提升视频编码的质量;另外,当视频帧对应的量化参数为0时,如果第二宏块的数量与视频帧中所有宏块的数量的比值小于1,量化参数不变。
此外,在本公开的其他示例性实施例中,第三预设阈值和量化参数减小量还可以是根据编码需求而设定的其他数值,例如,当视频帧中第二宏块的数量与视频帧中所有宏块的数量的比值小于0.2时,其编码过程中的量化参数减2;本示例性实施例在此不做特殊限定。
在一种示例性实施例中,标准编码模式可以为Skip编码模式,则当待编码视频帧属于非关键帧时,通过Skip编码模式对待编码视频帧中的第一宏块进行编码。
其中Skip编码模式相当于Merge编码模式中的一种特殊模式,其特殊在于,Skip模式不传残差信息,直接把参考帧当成是当前帧,编码段传递的信息包括Skip-flag标记和候选列表索引。
具体地,由于第一宏块的像素差异性较小,则编码器对第一宏块进行编码过程中,可以不需要进行模式决策步骤,直接对第一宏块通过Skip编码模式进行编码,不仅可以实现编码模式的快速决策,而且可以降低编码复杂度,从而在一定程度上提升了视频编码的编码效率。另外,标准编码模式还可以是其他编码模式,例如:Merge编码模式等,本示例性实施例在此不做特殊限定。
另外,对于不满足上述编码方法具体要求的宏块及视频帧,按照常规的编码步骤完成编码,且对于视频帧序列的第一帧,不执行上述编码方法,以避免对后续视频帧的编码质量造成影响。
在一种示例性实施例中,在确定待编码视频帧中各宏块包含的像素差异信息之前,还可以对待编码视频帧进行下采样。
其中,下采样(subsampled)即对待编码视频帧进行一定比例的缩小,其在保持视频所见视野不变的条件下,可以在一定程度上去除视频帧的冗余信息及减少视频数据量,提高编码速度;本示例性实施例中,下采样可以是对于大小为M×N的视频帧,将其缩小s倍,得到大小为(M/s)×(N/s)的视频帧,其中s需为M和N的公约数;下采样还可以是将视频帧的行像素每隔6行去掉1行变为5行,列像素每隔9列去掉1列变为8列;当然,还可以通过其他方法进行下采样,本示例性实施例在此不做特殊限定。
在一种示例性实施例中,参考图8所示,可通过图示方法进行视频编码。具体地,对于待编码的视频帧序列,将视频帧平均划分为多个宏块,宏块被平均划分为若干子块,然后根据各宏块的像素差异信息将宏块确定为第一宏块或第二宏块,然后,当视频帧对应关键帧时,根据视频帧中第二宏块的数量对其编码过程中的量化参数进行更新;当视频帧对应非关键帧时,通过标准编码模式对视频帧中的第一宏块进行编码。编码器对视频帧进行编码后得到编码视频数据,然后解码器接收编码视频数据并对其进行解码,得到输出视频流。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,在一种示例性实施例中,还提供了一种视频编码装置。参考图9所示,该视频编码装置900可以包括像素差异模块910、宏块确定模块920及编码策略模块930,其中:
像素差异模块910可以用于获取待编码视频帧,并确定待编码视频帧中各宏块包含的像素差异信息;
宏块确定模块920可以用于根据像素差异信息将宏块确定为第一宏块或第二宏块,其中,第二宏块的像素差异大于第一宏块;
编码策略模块930可以用于根据第一宏块,以及第二宏块的数量确定编码策略;
所述编码策略包括:当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新;当所述待编码视频帧属于非关键帧时,通过标准编码模式对所述待编码视频帧中的所述第一宏块进行编码。
上述视频编码装置中各模块的具体细节已经在对应的视频编码方法中进行了详细的描述,因此此处不再赘述。
作为另一方面,本公开还提供了一种电子设备,图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公开实施例的功能和适用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1001从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开的方法和装置中限定的各种功能。在一些实施例中,计算机系统1000还可以包括数据处理器,该数据处理器用于处理有关视频编码的数据的计算操作。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中的方法。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种视频编码方法,其特征在于,包括:
获取待编码视频帧,并确定所述待编码视频帧中各宏块包含的像素差异信息;
根据所述像素差异信息将所述宏块确定为第一宏块或第二宏块,其中,所述第二宏块的像素差异大于所述第一宏块的像素差异;
根据所述第一宏块,以及所述第二宏块的数量确定编码策略;
所述编码策略包括:当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新;当所述待编码视频帧属于非关键帧时,通过标准编码模式对所述待编码视频帧中的所述第一宏块进行编码。
2.根据权利要求1所述的方法,其特征在于,所述宏块被平均划分为预设数量个子块,所述确定所述待编码视频帧中各宏块包含的像素差异信息,包括:
获取所述宏块中各子块对应的像素均值;
根据所述像素均值计算所述宏块包含的所述像素差异信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述像素均值计算所述宏块包含的所述像素差异信息,包括:
分别计算所述预设数量个子块中任意两个子块像素均值的比值,将所述像素均值的比值作为所述像素差异信息。
4.根据权利要求1所述的方法,其特征在于,所述确定所述待编码视频帧中各宏块包含的像素差异信息,包括:
获取所述待编码视频帧中各宏块内的像素值;
根据所述像素值的离散程度确定所述像素差异信息。
5.根据权利要求3所述的方法,其特征在于,所述根据所述像素差异信息将所述宏块确定为第一宏块或第二宏块,包括:
根据所述像素均值的比值中大于第一预设阈值的个数确定对应于所述宏块的标准数量;
当所述标准数量小于或者等于第一标准数量阈值时,将所述宏块确定为第一宏块;
当所述标准数量大于第二标准数量阈值时,将所述宏块确定为第二宏块。
6.根据权利要求1所述的方法,其特征在于,所述当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新,包括:
当所述待编码视频帧属于关键帧时,获取所述待编码视频帧中所述第二宏块的数量和所述待编码视频帧中所有所述宏块的数量;
根据所述待编码视频帧中所述第二宏块的数量与所述待编码视频帧中所述所有宏块的数量的比值对其编码过程中的所述量化参数进行更新。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待编码视频帧中所述第二宏块的数量与所述待编码视频帧中所述所有宏块的数量的比值对其编码过程中的所述量化参数进行更新,包括:
当所述待编码视频帧中所述第二宏块的数量与所述待编码视频帧中所述所有宏块的数量的比值大于第二预设阈值时,增大其编码过程中的所述量化参数;
当所述待编码视频帧中所述第二宏块的数量与所述待编码视频帧中所述所有宏块的数量的比值小于第三预设阈值时,减小其编码过程中的所述量化参数。
8.一种视频编码装置,其特征在于,包括:
像素差异模块,用于获取待编码视频帧,并确定所述待编码视频帧中各宏块包含的像素差异信息;
宏块确定模块,用于根据所述像素差异信息将所述宏块确定为第一宏块或第二宏块,其中,所述第二宏块的像素差异大于所述第一宏块的像素差异;
编码策略模块,用于根据所述第一宏块,以及所述第二宏块的数量确定编码策略;
所述编码策略包括:当所述待编码视频帧属于关键帧时,根据所述待编码视频帧中所述第二宏块的数量对其编码过程中的量化参数进行更新;当所述待编码视频帧属于非关键帧时,通过标准编码模式对所述待编码视频帧中的所述第一宏块进行编码。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述方法的各个步骤。
CN202310286755.1A 2023-03-22 2023-03-22 视频编码方法及装置、电子设备和计算机介质 Pending CN116320446A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310286755.1A CN116320446A (zh) 2023-03-22 2023-03-22 视频编码方法及装置、电子设备和计算机介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310286755.1A CN116320446A (zh) 2023-03-22 2023-03-22 视频编码方法及装置、电子设备和计算机介质

Publications (1)

Publication Number Publication Date
CN116320446A true CN116320446A (zh) 2023-06-23

Family

ID=86795688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310286755.1A Pending CN116320446A (zh) 2023-03-22 2023-03-22 视频编码方法及装置、电子设备和计算机介质

Country Status (1)

Country Link
CN (1) CN116320446A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117750017A (zh) * 2023-12-27 2024-03-22 书行科技(北京)有限公司 编码控制方法、装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117750017A (zh) * 2023-12-27 2024-03-22 书行科技(北京)有限公司 编码控制方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
US20210051349A1 (en) Restriction of extended quadtree
WO2022022297A1 (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
WO2020119449A1 (zh) 色度块的预测方法和装置
US11943451B2 (en) Chroma block prediction method and apparatus
CN110446041B (zh) 一种视频编解码方法、装置、系统及存储介质
WO2020069655A1 (zh) 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器
US20210409753A1 (en) Method and apparatus for affine based inter prediction of chroma subblocks
CN113748677A (zh) 编码器、解码器及对应的帧内预测方法
CN112954367B (zh) 使用调色板译码的编码器、解码器和相应方法
CN113497937B (zh) 图像编码方法、图像解码方法及相关装置
CN114449265B (zh) 用于帧内平滑的方法和装置
CN112672149B (zh) 一种视频处理方法、装置、存储介质及服务器
CN113597761A (zh) 帧内预测方法和装置
WO2022166462A1 (zh) 编码、解码方法和相关设备
US11323708B2 (en) Picture partitioning method and apparatus
CN111770334B (zh) 数据编码方法及装置、数据解码方法及装置
CN115665407B (zh) 用于帧内预测的分量间线性建模方法和装置
CN116320446A (zh) 视频编码方法及装置、电子设备和计算机介质
WO2020048430A1 (zh) 色度块预测方法及装置
KR102711465B1 (ko) 디블로킹 필터의 경계 강도를 도출하는 인코더, 디코더 및 대응 방법
US20230319287A1 (en) Systems and methods for video encoding
RU2816202C2 (ru) Способ и аппаратура для аффинного внешнего предсказания субблоков цветности
WO2023122969A1 (zh) 帧内预测方法、设备、系统、及存储介质
CN110944180B (zh) 色度块预测方法及装置
WO2020057506A1 (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