CN112584143A - 一种视频编码方法、装置、系统及计算机可读存储介质 - Google Patents

一种视频编码方法、装置、系统及计算机可读存储介质 Download PDF

Info

Publication number
CN112584143A
CN112584143A CN202011406401.9A CN202011406401A CN112584143A CN 112584143 A CN112584143 A CN 112584143A CN 202011406401 A CN202011406401 A CN 202011406401A CN 112584143 A CN112584143 A CN 112584143A
Authority
CN
China
Prior art keywords
block
current
current sub
quantization parameter
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.)
Granted
Application number
CN202011406401.9A
Other languages
English (en)
Other versions
CN112584143B (zh
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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202011406401.9A priority Critical patent/CN112584143B/zh
Publication of CN112584143A publication Critical patent/CN112584143A/zh
Application granted granted Critical
Publication of CN112584143B publication Critical patent/CN112584143B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请公开了一种视频编码方法、装置、系统及计算机可读存储介质,该视频编码方法包括:利用当前块的时空域相邻块的划分模式对当前块进行划分,得到若干当前子块;根据若干当前子块自身信息和/或指导信息对若干当前子块进行分类;利用若干当前子块的分类情况计算每一当前子块的量化参数偏移值;获取当前帧的量化参数,并通过当前帧的量化参数和当前子块的量化参数偏移值,获取当前子块的量化参数;利用所有当前子块的量化参数对当前帧进行编码,得到当前帧的码流。本申请通过对编码块向下划分为更小的块来求取量化参数,提高视频帧中每一个编码块编码大小的合理性,进而使得整体的码率控制更加准确。

Description

一种视频编码方法、装置、系统及计算机可读存储介质
技术领域
本申请涉及视频编码技术领域,特别是涉及一种视频编码方法、装置、系统及计算机可读存储介质。
背景技术
通过视频编码技术可以对视频进行压缩,以降低视频的数据量,降低视频传输过程中的网络带宽、减少存储空间。一般地,视频编码标准中会包含帧内预测、帧间预测、变换、量化、环路滤波、熵编码等过程来实现数据的压缩。
为了在视频传输过程中更好的控制码流大小,视频编码标准中均会集成不同的码率控制模型。码率控制一般会从图像组级(Group of Picture,GOP)级、帧级、编码单元级等层面对码率进行控制。一般来说,对于平坦或者背景静止的区域,采用较大的编码单元不仅能很好地表示其特征,也不会带来较大的比特开销,而对于复杂或者运动剧烈变化的区域则需要采用更小的编码单元来表征该区域的特征。所以,在编码过程中对编码单元进行灵活的划分显得尤为重要。然而现有技术简单地使用前一帧同一位置的最大编码单元(thelargest coding unit,LCU)的编码信息来决定当前LCU是否划分,若前后两帧差异较大,则前一帧的编码信息并不能很好地表征当前帧LCU的划分,需要借助其他信息。同时,现有技术大多基于某种特定的视频编码标准进行改进,与其他视频编码标准的适配性较低。
发明内容
本申请提供一种视频编码方法、装置、系统及计算机可读存储介质。
为解决上述技术问题,本申请提供的第一个技术方案为:提供一种视频编码方法,包括:利用当前块的时空域相邻块的划分模式对所述当前块进行划分,得到若干当前子块;根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类;利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值;获取当前帧的量化参数,并通过所述当前帧的量化参数和所述当前子块的量化参数偏移值,获取所述当前子块的量化参数;利用所有当前子块的量化参数对当前帧进行编码,得到所述当前帧的码流。
为解决上述技术问题,本申请提供的第二个技术方案为:提供一种视频编码装置,所述视频编码装置包括划分模块、分类模块、偏移计算模块、量化计算模块以及编码模块;所述划分模块,用于利用当前块的时空域相邻块的划分模式对所述当前块进行划分,得到若干当前子块;所述分类模块,用于根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类;所述偏移计算模块,用于利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值;所述量化计算模块,用于获取当前帧的量化参数,并通过所述当前帧的量化参数和所述当前子块的量化参数偏移值,获取所述当前子块的量化参数;所述编码模块,用于利用所有当前子块的量化参数对当前帧进行编码,得到所述当前帧的码流。
为解决上述技术问题,本申请提供的第三个技术方案为:提供一种视频编解码系统,所述视频编解码系统包括处理器、与所述处理器连接的存储器,其中,所述存储器存储有程序指令;所述处理器用于执行所述存储器存储的程序指令以实现如上述的视频编码方法。
为解决上述技术问题,本申请提供的第四个技术方案为:提供一种计算机可读存储介质,所述存储介质存储有程序指令,所述程序指令被执行时实现如上述的视频编码方法。
本申请提供的视频编码方法,通过利用当前块的时空域相邻块的划分模式对当前块进行划分,得到若干当前子块;根据若干当前子块自身信息和/或指导信息对若干当前子块进行分类;利用若干当前子块的分类情况计算每一当前子块的量化参数偏移值;获取当前帧的量化参数,并通过当前帧的量化参数和当前子块的量化参数偏移值,获取当前子块的量化参数;利用所有当前子块的量化参数对当前帧进行编码,得到当前帧的码流。本申请通过对编码块向下划分为更小的块来求取量化参数,提高视频帧中每一个编码块编码大小的合理性,进而使得整体的码率控制更加准确。
附图说明
图1是本申请提供的视频编码方法一实施例的流程示意图;
图2是本申请提供的时空域相邻块的结构示意图;
图3是本申请提供的时空域相邻块的划分模式的结构示意图;
图4是图1所示的视频编码方法步骤S12一实施例的具体流程示意图;
图5是本申请提供的当前子块的遗传代价值求取的示意图;
图6是本申请提供的视频编码装置的一实施例的结构示意图;
图7是本申请视频编解码系统的一实施例的结构示意图;
图8是本申请计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
视频编解码的标准有H.264/AVC、H.265/HEVC、H.266/VVC、VP8、VP9、AV1、AVS等,其主要目的是将采集到的视频信号压缩成不同标准格式的数据,便于传输或存储。为了将视频编码技术应用于实际场景,码率控制技术在视频编码器中起着至关重要的作用,因为它可以在有限的通信带宽或存储空间的情况下调整编码器输出的目标码率,从而避免编码的视频帧出现过大或过小的情况。
下面结合附图和实施例对本申请进行详细的说明。
请参见图1,图1是本申请提供的视频编码方法一实施例的流程示意图。
在H.264标准中,码控过程使用16x 16大小的块进行宏块级码控,而对于H.265、H.266等标准,码控过程则使用最大编码单元(Largest Coding Unit,LCU)进行编码单元级码控,其中H.265标准中LCU的大小为64x 64,H.266标准中LCU大小为128x 128。
然而在实际应用中,无论是16x 16大小的宏块还是尺寸更大的LCU,其块内部不同区域的纹理特性并不完全相同,使用同样的量化参数进行编码可能会破坏块本身的纹理特性。一般来说,对于平坦或者背景静止的区域,采用较大的编码单元不仅能很好地表示其特征,而且也不会带来较大的比特开销,而对于复杂或者运动剧烈变化的区域则需要采用更小的编码单元来表征该区域的特征。所以,在码率控制过程中对宏块或者LCU进行灵活的划分显得尤为重要。
需要说明的是,后续的介绍中,当前块和参考块均可以为宏块级的层面。本申请在现有的宏块级码控技术的基础上提出以下视频编码方法,具体步骤如下:
步骤S11:利用当前块的时空域相邻块的划分模式对当前块进行划分,得到若干当前子块。
其中,当前块的时空域相邻块具体包括当前块的时域相邻块,即参考帧中与当前块同一位置的参考块,当前块的空域相邻块,即当前帧中与当前块位置相邻的编码块。在本步骤中,视频编码装置通过时空域相邻块的划分方式来指导当前块的向下划分。关于时空域相邻块的划分规则具体请参阅图2,图2是本申请提供的时空域相邻块的结构示意图。
如图2所显示当前块的时空域相邻块,其中,Cn表示当前块,Ln表示当前块的左边相邻块,Tn表示当前块的上边相邻块,Cn-1表示当前块前一帧参考帧相同位置的参考块。
视频编码装置根据上述时空域相邻块的划分模式求取当前块的划分模式的步骤如下:依次获取当前块前一帧参考帧相同位置的参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式;在参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式均不存在的情况下,不对当前块进行划分;在参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式均存在,且存在相同划分模式的情况下,以相同的划分模式对当前块进行划分;参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式均不相同的情况下,以获取顺序在先且存在的划分模式对当前块进行划分。
具体地,视频编码装置依次获取参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式,并以此构建一个时空域相邻块划分模式的集合M,即为M={Mn-1,ML,MT}。其中,Mn-1、ML、MT分别表示参考块的划分模式、左边相邻块的划分模式、上边相邻块的划分模式。
视频编码装置根据集合M求取当前块的划分模式的过程中,存在以下四种情况:
(1)情况一:集合M中Mn-1、ML、MT均不存在,则进行码控算法的当前块不向下划分,即后续介绍的当前子块为当前块。
(2)情况二:集合M中Mn-1、ML、MT均存在且三者相同,则进行码控算法的当前块的划分模式为ML
(3)情况三:集合M中Mn-1、ML、MT均存在但不完全相同,选择重合的划分模式作为当前块的划分模式,即如Mn-1=MT≠ML,则进行码控算法的当前块的划分模式为Mn-1
(4)情况四:情况一、情况二、情况三不包含的其他情况,则选择集合M={Mn-1,ML,MT}中存在且排列靠前的划分模式作为进行码控算法的当前块的划分模式。
视频编码装置得到当前块的划分模式后,即可根据该划分模式对进行码控算法的当前块进行向下划分,得到更小的编码块,即当前子块。针对不同当前子块求取不同的量化参数偏移值,使其可以更加细致地表示出编码块的特征。
例如,请继续参阅图3,图3是本申请提供的时空域相邻块的划分模式的结构示意图。其中,Cn表示当前块,Ln表示当前块的左边相邻块,Tn表示当前块的上边相邻块,Cn-1表示当前块前一帧参考帧相同位置的参考块。
在图3中,参考块Cn-1的划分模式为四叉树划分,左边相邻块Ln的划分模式与Cn-1类似,划分为4个子块,上边相邻块Tn不进行划分。此时集合M中Mn-1、ML、MT均存在但Mn-1≠MT≠ML,属于上述第四种情况,则选择M={Mn-1,ML,MT}中存在且排列靠前的划分模式作为当前块的划分模式,因此,当前块的划分模式为四叉树划分。
步骤S12:根据若干当前子块自身信息和/或指导信息对若干当前子块进行分类。
其中,视频编码装置根据当前块的自身信息和/或指导信息对当前块进行分类。当前块的自身信息可使用运动复杂度模型、时域复杂度模型、感兴趣区域模型、人眼感知模型等获得;而当前块的指导信息则可以使用自适应量化(Adaptive Quantization,AQ)中的方差信息、宏块树(macroblock-tree,MB-tree)中的遗传代价等信息。
例如,当视频编码装置将当前块的自身信息作为分类的唯一评价因素时,步骤S12的具体分类过程请参阅图4,图4是图1所示的视频编码方法步骤S12一实施例的具体流程示意图。以用时域复杂度评价当前块的自身信息为例,步骤S12具体包括以下子步骤:
步骤S121:利用当前子块中所有像素点的像素值计算当前子块的像素平均值。
其中,视频编码装置根据当前子块的时域复杂度对当前子块进行分类。具体地,视频编码装置分别获取当前子块中所有像素点的像素值,然后计算当前子块的像素平均值。
步骤S122:分别计算当前子块中每一像素点与像素平均值的差值。
步骤S123:累加当前子块中每一像素点对应的差值,得到当前子块的时域复杂度。
其中,视频编码装置计算当前子块的时域复杂度MAD,计算公式如下:
Figure BDA0002814407740000061
其中,Pi表示当前子块中像素点的像素值,
Figure BDA0002814407740000072
表示当前子块的像素平均值,N表示当前子块的像素总数。
然后,视频编码装置计算整帧当前帧图像的平均时域复杂度MADavg为:
Figure BDA0002814407740000071
其中,MADj为单个当前子块的时域复杂度,M为当前帧的当前子块总数。
步骤S124:利用当前子块的时域复杂度对当前子块进行分类。
其中,视频编码装置利用当前子块的时域复杂度和当前帧的平均时域复杂度的大小关系对当前子块进行分类:
(1)类别一:当MAD≥MADavg时,表明当前子块的复杂度较高。
(2)类别二:当MAD<MADavg时,表明当前子块的复杂度较低。
进一步地,当视频编码装置将当前块的自身信息以及指导信息作为分类的评价因素时,视频编码装置需要结合自身信息和指导信息综合评价分类结果。以用时域复杂度评价当前块的自身信息,用遗传代价值评价当前块的指导信息为例,
在上述实施例的基础上,步骤S12还包括:视频编码装置获取当前子块的遗传代价值以及当前帧的平均遗传代价值。视频编码装置获取当前子块的遗传代价值的过程如下:
第一步:为了知道当前子块对未来帧的贡献程度,则需要从未来帧反推有多少信息是来自于当前子块的。由于未来帧还没有被编码,则MB-tree需要通过前向分析帧来进行预测。
首先,选择一定数量的前向分析帧做快速运动估计,通过对这些帧的编码代价进行预估,得到前向分析帧如下参数的估计值:帧类型、每个子块的运动矢量、每个子块的帧内代价intra_cost和帧间代价inter_cost。
第二步:MB-tree算法需要为每个子块计算两个参数:遗传代价值propagate_cost和继承率propagate_fraction,遗传代价表示了当前子块贡献给未来帧的信息,继承率代表当前子块的信息有多少来自于参考帧。
假设前向分析帧的数量为n帧,则MB-tree按照编码顺序相反的方向,从前向分析帧的最后一帧开始到当前帧的所有帧,依次对每一帧的当前子块块重复如下步骤:
(1)读取当前子块的帧内代价intra_cost、帧间代价inter_cost。
(2)计算当前子块的继承率propagate_fraction,计算公式为:
propagate_fraction=1-(inter_cost)/(intra_cost)
假设一个当前子块的帧间代价inter_cost只有帧内代价intra_cost的80%,说明帧间预测节省了20%的编码消耗,则该当前子块的信息有20%来自于参考帧,propagate_fraction为0.2。
特别地,当帧间代价inter_cost大于帧内代价intra_cost时,令intra_cost=inter_cost,则此时当前子块的继承率为0。则与当前宏块有关的所有信息总和大约为intra_cost+propagate_cost,其中intra_cost为当前子块自身信息,propagate_cost为当前子块提供给后续帧的信息,特别地,前向分析帧的最后一帧propagate_cost为0,因为其并没有被参考。
(3)计算当前子块从参考帧继承的信息量propagate_amount,计算公式为:
propagate_amount=(intra_cost+propagate_cost)*propagate_fraction
(4)根据继承信息量propagate_amount得到参考帧中相关子块的遗传代价,此过程分为两种情况:
情况一:当前子块的信息量均来自参考帧的同一子块,如图5所示,图5是本申请提供的当前子块的遗传代价值求取的示意图。则当前子块的遗传代价等于上式的继承信息量。
情况二:当前子块的信息量来自参考帧的不同宏块。由于当前子块在参考帧中运动搜索得到的补偿区域可能涉及多个子块,即参考帧中的多个子块都参与了当前子块的运动补偿,所以根据参考帧子块参与补偿部分的尺寸大小来分配继承信息量propagate_amount。
参考帧中的子块最终被分到的继承信息量propagate_amount加起来就是当前子块的遗传代价值propagate_cost。
在MB-tree算法中,当前子块的遗传代价值propagate_cost越高,表明其对后续帧的贡献程度越大。
本实施例视频编码装置首先求取当前帧的平均遗传代价值propagate_costavg,计算公式如下:
Figure BDA0002814407740000091
然后,视频编码装置根据当前块的遗传代价值以及上述的时域复杂度,可对当前子块进行分类:
(1)类别一:当MAD≥MADavg且propagate_cost≥propagate_costavg时,表明当前子块的复杂度较高,且较为重要。
(2)类别二:当MAD≥MADavg且propagate_cost<propagate_costavg时,表明当前子块的复杂度较高,但不重要。
(3)类别三:当MAD<MADavg且propagate_cost≥propagate_costavg时,表明当前子块的复杂度较低,但较为重要。
(4)类别四:当MAD<MADavg且propagate_cost<propagate_costavg时,表明当前子块的复杂度较低,且不重要。
视频编码装置根据当前子块的分类类别,确定后续量化参数调整方式。
步骤S13:利用若干当前子块的分类情况计算每一当前子块的量化参数偏移值。
其中,根据上述步骤S12可知,视频编码装置可以直接利用当前子块的自身信息对当前子块进行分类,也可以同时利用当前子块的自身信息以及指导信息来对当前子块进行分类,最终分别求取每个类别下的量化参数。
具体地,视频编码装置直接利用当前子块的自身信息对当前子块进行分类,进而求取每个类别下中的量化参数偏移值,然后根据帧级量化参数以及当前子块的量化参数偏移值得到当前子块最终的量化参数。
例如,对于类别一的当前子块,其量化参数偏移值的计算公式为:
Figure BDA0002814407740000101
其中,
Figure BDA0002814407740000102
分别为当前子块和参考帧相同位置参考块中,利用当前子块自身复杂度计算出来的量化参数偏移值,MADi
Figure BDA0002814407740000104
分别为当前子块的时域复杂度和当前帧的平均时域复杂度。
进一步地,量化参数偏移值的具体计算方式如下:
从前向预测的最后一帧向前一直计算到当前帧,可以得到当前帧中每个子块对后续帧总的遗传代价propagate_cost,最后根据当前帧每个子块总的遗传代价propagate_cost,计算当前子块的偏移系数qp_offsetMB_tree,所使用的公式如下:
Figure BDA0002814407740000103
对于未被参考的子块而言,propagate_cost=0、qp_offsetMB_tree=0。
对于类别二的当前子块,则当前子块的量化参数偏移值设置0,直接使用帧级量化参数作为当前子块的量化参数。
具体地,视频编码装置根据当前子块的自身信息以及指导信息来对当前子块进行分类,求取每个类别下的量化参数偏移值。
例如,本实施例利用宏块树MB_tree中求得的qp_offsetMB_tree来计算量化参数偏移值,则每个类别下的量化参数偏移值的计算公式如下:
qp_offset=α*qp_offsetMB-tree+(1-α)*qp_offsetMAD
其中,qp_offsetMB-tree为利用宏块树MB_tree方式计算得到的宏块树量化参数偏移值,qp_offsetMAD为利用时域复杂度计算出来的量化参数偏移值。
需要说明的是,对于上述式子中的参数α的取值可以设置为固定参数,也可以在每个当前子块中自适应地获取其取值,具体如下:
(1)类别一:选择α为0.5,则1-α同样为0.5。
(2)类别二:选择α为0.3,,则1-α为0.7。
(3)类别三:选择α为0.7,则1-α为0.3。
(4)类别四:不调整当前子块的量化参数偏移值。
特别地,对于α参数的配置可以使用自适应模型来动态地获取其更为准确的取值。
为了使量化参数偏移值的动态范围不要过大,本提案还对调整后的量化参数偏移值进行了限制,具体公式如下:
qp_offset=MIN(MAX(qp_offsetMB-tree-3,qp_offset),qp_offsetMB-tree+3)
步骤S14:获取当前帧的量化参数,并通过当前帧的量化参数和当前子块的量化参数偏移值,获取当前子块的量化参数。
其中,视频编码装置通过步骤S13获取当前子块的量化参数偏移值,然后根据帧级量化参数以及当前子块的量化参数偏移值得到当前子块最终的量化参数。
步骤S15:利用所有当前子块的量化参数对当前帧进行编码,得到当前帧的码流。
在本实施例中,视频编码装置对更小编码块的量化参数进行了控制,是的宏块级的码率控制更加准确,进而提高视频帧中每个宏块编码大小的合理性。视频编码装置在对当前子块分类时,不仅考虑到了当前子块本身的信息,例如时域复杂度、运动复杂度等,还同时考虑了当前子块的其他信息,例如当前子块对未来帧的贡献程度等,来对当前子块进行更加细致的分类。视频编码装置对每个类别使用不同的量化参数偏移值,通过当前子块的不同特性更加准确地控制每个当前块的量化参数。本申请的视频编码方法均使用比较容易获得的参数以及特征来进行调整,参数计算简单,获取简单,能够很好地满足软件视频编解码装置使用,且能够很好地适配进不同的视频编码标准中。
以上实施例,仅是对本申请的其中一种常见案例而已,并非对本申请的技术范围做任何限制,故凡是依据本申请方案的实质对以上内容所做的任何细微修改、等同变化或者修饰,均仍属于本申请技术方案的范围内。
请继续参见图6,图6是本申请提供的视频编码装置的一实施例的结构示意图。其中,视频编码装置60包括划分模块61、分类模块62、偏移计算模块63、量化计算模块64以及编码模块65。
其中,划分模块61,用于利用当前块的时空域相邻块的划分模式对当前块进行划分,得到若干当前子块。
分类模块62,用于根据若干当前子块自身信息和/或指导信息对若干当前子块进行分类。
偏移计算模块63,用于利用若干当前子块的分类情况计算每一当前子块的量化参数偏移值。
量化计算模块64,用于获取当前帧的量化参数,并通过当前帧的量化参数和当前子块的量化参数偏移值,获取当前子块的量化参数。
编码模块65,用于利用所有当前子块的量化参数对当前帧进行编码,得到当前帧的码流。
请参见图7,为本申请视频编解码系统的一实施例的结构示意图。视频编解码系统包括相互连接的存储器72和处理器71。
存储器72用于存储实现上述任意一项的视频编码方法的程序指令。
处理器71用于执行存储器72存储的程序指令。
其中,处理器71还可以称为CPU(Central Processing Unit,中央处理单元)。处理器71可能是一种集成电路芯片,具有信号的处理能力。处理器71还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器72可以为内存条、TF卡等,可以存储串匹配预测装置中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,串匹配预测装置才有记忆功能,才能保证正常工作。串匹配预测装置的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
请参阅图8,为本申请计算机可读存储介质的结构示意图。本申请的存储介质存储有能够实现上述所有视频编码方法的程序文件81,其中,该程序文件81可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种视频编码方法,其特征在于,所述视频编码方法包括:
利用当前块的时空域相邻块的划分模式对所述当前块进行划分,得到若干当前子块;
根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类;
利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值;
获取当前帧的量化参数,并通过所述当前帧的量化参数和所述当前子块的量化参数偏移值,获取所述当前子块的量化参数;
利用所有当前子块的量化参数对当前帧进行编码,得到所述当前帧的码流。
2.根据权利要求1所述的视频编码方法,其特征在于,
所述利用当前块的时空域相邻块的划分模式对所述当前块进行划分的步骤,包括:
依次获取所述当前块前一帧参考帧相同位置的参考块的划分模式、左边相邻块的划分模式以及上边相邻块的划分模式;
在所述参考块的划分模式、所述左边相邻块的划分模式以及所述上边相邻块的划分模式均不存在的情况下,不对所述当前块进行划分;
在所述参考块的划分模式、所述左边相邻块的划分模式以及所述上边相邻块的划分模式均存在,且存在相同划分模式的情况下,以所述相同的划分模式对所述当前块进行划分;
所述参考块的划分模式、所述左边相邻块的划分模式以及所述上边相邻块的划分模式均不相同的情况下,以获取顺序在先且存在的划分模式对所述当前块进行划分。
3.根据权利要求1所述的视频编码方法,其特征在于,
所述当前子块的自身信息包括时域复杂度;
所述根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类的步骤,包括:
利用所述当前子块中所有像素点的像素值计算所述当前子块的像素平均值;
分别计算所述当前子块中每一像素点与所述像素平均值的差值;
累加所述当前子块中每一像素点对应的差值,得到所述当前子块的时域复杂度;
利用所述当前子块的时域复杂度对所述当前子块进行分类。
4.根据权利要求3所述的视频编码方法,其特征在于,
所述利用所述当前子块的时域复杂度对所述当前子块进行分类的步骤,包括:
计算所述当前帧中其余当前子块的时域复杂度;
利用所述其余当前子块的时域复杂度以及所述当前子块的时域复杂度计算所述当前帧的平均复杂度;
在所述当前子块的时域复杂度大于等于所述当前帧的平均复杂度的情况下,将所述当前子块分类为类别一;
在所述当前子块的时域复杂度小于所述当前帧的平均复杂度的情况下,将所述当前子块分类为类别二。
5.根据权利要求4所述的视频编码方法,其特征在于,
所述利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值的步骤,包括:
获取前一帧参考帧相同位置的参考块的量化参数偏移值;
利用所述参考块的量化参数偏移值、所述类别一的当前子块的时域复杂度以及所述当前帧的平均复杂度,计算得到所述类别一的当前子块的复杂度量化参数偏移值;
和/或将所述类别二的当前子块的量化参数偏移值设置为0。
6.根据权利要求5所述的视频编码方法,其特征在于,
所述当前子块的自身信息包括时域复杂度,所述当前子块的指导信息包括所述当前子块的遗传代价值;
所述根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类的步骤,包括:
获取所述当前子块的遗传代价值以及所述当前帧的平均遗传代价值;
在所述当前子块的时域复杂度大于等于所述当前帧的平均复杂度,且所述当前子块的遗传代价值大于等于所述当前帧的平均遗传代价值的情况下,将所述当前子块分类为类别一;
在所述当前子块的时域复杂度大于等于所述当前帧的平均复杂度,且所述当前子块的遗传代价值小于所述当前帧的平均遗传代价值的情况下,将所述当前子块分类为类别二;
在所述当前子块的时域复杂度小于所述当前帧的平均复杂度,且所述当前子块的遗传代价值大于等于所述当前帧的平均遗传代价值的情况下,将所述当前子块分类为类别三;
在所述当前子块的时域复杂度小于所述当前帧的平均复杂度,且所述当前子块的遗传代价值小于所述当前帧的平均遗传代价值的情况下,将所述当前子块分类为类别四。
7.根据权利要求6所述的视频编码方法,其特征在于,
所述利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值的步骤,包括:
利用MB-tree算法计算所述当前子块的宏块树量化参数偏移值;
按照分类权重将所述宏块树量化参数偏移值与所述复杂度量化参数偏移值相加,得到所述当前子块的量化参数偏移值;
其中,所述分类权重由所述当前子块的分类情况确定。
8.根据权利要求7所述的视频编码方法,其特征在于,
在所述当前子块为类别一的情况下,所述宏块树量化参数偏移值的权重为0.5,所述复杂度量化参数偏移值的权重为0.5;
在所述当前子块为类别二的情况下,所述宏块树量化参数偏移值的权重为0.3,所述复杂度量化参数偏移值的权重为0.7;
在所述当前子块为类别三的情况下,所述宏块树量化参数偏移值的权重为0.7,所述复杂度量化参数偏移值的权重为0.3;
在所述当前子块为类别四的情况下,将所述宏块树量化参数偏移值设置为所述复杂度量化偏移值。
9.一种视频编码装置,其特征在于,所述视频编码装置包括划分模块、分类模块、偏移计算模块、量化计算模块以及编码模块;
所述划分模块,用于利用当前块的时空域相邻块的划分模式对所述当前块进行划分,得到若干当前子块;
所述分类模块,用于根据所述若干当前子块自身信息和/或指导信息对所述若干当前子块进行分类;
所述偏移计算模块,用于利用所述若干当前子块的分类情况计算每一当前子块的量化参数偏移值;
所述量化计算模块,用于获取当前帧的量化参数,并通过所述当前帧的量化参数和所述当前子块的量化参数偏移值,获取所述当前子块的量化参数;
所述编码模块,用于利用所有当前子块的量化参数对当前帧进行编码,得到所述当前帧的码流。
10.一种视频编解码系统,其特征在于,所述视频编解码系统包括处理器、与所述处理器连接的存储器,其中,
所述存储器存储有程序指令;
所述处理器用于执行所述存储器存储的程序指令以实现如权利要求1~8中任一项所述的视频编码方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序指令,所述程序指令被执行时实现如权利要求1~8中任一项所述的视频编码方法。
CN202011406401.9A 2020-12-02 2020-12-02 一种视频编码方法、装置、系统及计算机可读存储介质 Active CN112584143B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011406401.9A CN112584143B (zh) 2020-12-02 2020-12-02 一种视频编码方法、装置、系统及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011406401.9A CN112584143B (zh) 2020-12-02 2020-12-02 一种视频编码方法、装置、系统及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112584143A true CN112584143A (zh) 2021-03-30
CN112584143B CN112584143B (zh) 2022-09-06

Family

ID=75127185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011406401.9A Active CN112584143B (zh) 2020-12-02 2020-12-02 一种视频编码方法、装置、系统及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112584143B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259667A (zh) * 2021-05-17 2021-08-13 北京百度网讯科技有限公司 视频量化方法、装置、电子设备和计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120307890A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Techniques for adaptive rounding offset in video encoding
CN102930291A (zh) * 2012-10-15 2013-02-13 西安电子科技大学 用于图形图像的k近邻局部搜索遗传自动聚类方法
CN104378636A (zh) * 2014-11-10 2015-02-25 中安消技术有限公司 一种视频图像编码方法及装置
CN104581159A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 视频编解码中的块分割方式确定方法及相关装置
CN108174210A (zh) * 2018-02-09 2018-06-15 杭州雄迈集成电路技术有限公司 一种适用于视频压缩的自适应宏块级码率控制系统及控制方法
CN110365983A (zh) * 2019-09-02 2019-10-22 珠海亿智电子科技有限公司 一种基于人眼视觉系统的宏块级码率控制方法及装置
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN111277828A (zh) * 2018-12-04 2020-06-12 华为技术有限公司 视频编解码方法、视频编码器和视频解码器

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120307890A1 (en) * 2011-06-02 2012-12-06 Microsoft Corporation Techniques for adaptive rounding offset in video encoding
CN102930291A (zh) * 2012-10-15 2013-02-13 西安电子科技大学 用于图形图像的k近邻局部搜索遗传自动聚类方法
CN104581159A (zh) * 2013-10-18 2015-04-29 华为技术有限公司 视频编解码中的块分割方式确定方法及相关装置
CN104378636A (zh) * 2014-11-10 2015-02-25 中安消技术有限公司 一种视频图像编码方法及装置
CN108174210A (zh) * 2018-02-09 2018-06-15 杭州雄迈集成电路技术有限公司 一种适用于视频压缩的自适应宏块级码率控制系统及控制方法
CN111277828A (zh) * 2018-12-04 2020-06-12 华为技术有限公司 视频编解码方法、视频编码器和视频解码器
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN110365983A (zh) * 2019-09-02 2019-10-22 珠海亿智电子科技有限公司 一种基于人眼视觉系统的宏块级码率控制方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259667A (zh) * 2021-05-17 2021-08-13 北京百度网讯科技有限公司 视频量化方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN112584143B (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
US10200687B2 (en) Sample adaptive offset for high dynamic range (HDR) video compression
CN109068137B (zh) 兴趣区域感知的视频编码
WO2021244341A1 (zh) 图像编码方法及装置、电子设备及计算机可读存储介质
US20200120345A1 (en) Luma and chroma reshaping of hdr video encoding
KR20140110008A (ko) 객체 검출 정보에 따른 인코딩
WO2021129007A1 (zh) 视频码率的确定方法、装置、计算机设备及存储介质
EP3257245A1 (en) Near visually lossless video recompression
CN113727106B (zh) 视频编码、解码方法、装置、电子设备及存储介质
US20190104315A1 (en) Scene Based Rate Control for Video Compression and Video Streaming
EP3545677A1 (en) Methods and apparatuses for encoding and decoding video based on perceptual metric classification
CN114466189B (zh) 码率控制方法、电子设备及存储介质
CN113784126A (zh) 图像编码方法、装置、设备及存储介质
WO2021136110A1 (zh) 编码方法及编码器
US20160353107A1 (en) Adaptive quantization parameter modulation for eye sensitive areas
CN112584143B (zh) 一种视频编码方法、装置、系统及计算机可读存储介质
US20230056211A1 (en) Video encoding method and apparatus, video decoding method and apparatus, computer program product, computer-readable storage medium, and electronic device
US20200084467A1 (en) Low light compression
US20230108722A1 (en) Allocating bit rate between video streams using machine learning
KR20240039178A (ko) 인코딩 및 디코딩 방법 그리고 장치
CN116156168A (zh) 一种图像编解码方法及装置
CN117616751A (zh) 动态图像组的视频编解码
CN113973202A (zh) 视频编码方法、装置、设备及存储介质
CN113596474A (zh) 图像/视频编码方法、装置、系统及计算机可读存储介质
CN113727103B (zh) 视频编码、解码方法、装置、电子设备及存储介质
Zhang et al. Rate-distortion-complexity optimization for x265

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