CN112449189B - 一种视频数据处理方法、装置及视频编码器、存储介质 - Google Patents

一种视频数据处理方法、装置及视频编码器、存储介质 Download PDF

Info

Publication number
CN112449189B
CN112449189B CN201910796351.0A CN201910796351A CN112449189B CN 112449189 B CN112449189 B CN 112449189B CN 201910796351 A CN201910796351 A CN 201910796351A CN 112449189 B CN112449189 B CN 112449189B
Authority
CN
China
Prior art keywords
code rate
signal
entropy coding
coded
state variable
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
Application number
CN201910796351.0A
Other languages
English (en)
Other versions
CN112449189A (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.)
Peking University
Tencent Technology Shenzhen Co Ltd
Original Assignee
Peking University
Tencent Technology Shenzhen 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 Peking University, Tencent Technology Shenzhen Co Ltd filed Critical Peking University
Priority to CN201910796351.0A priority Critical patent/CN112449189B/zh
Publication of CN112449189A publication Critical patent/CN112449189A/zh
Application granted granted Critical
Publication of CN112449189B publication Critical patent/CN112449189B/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

本发明实施例公开了一种视频数据处理方法、装置及视频编码器、存储介质,其中,方法包括:获取视频图像数据的待编码图像块,并对待编码图像块进行转换得到该待编码图像块对应的二值信号串;获取二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值;根据获取的码率长度估计值,为待编码图像块选择编码模式;其中,若二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。采用本申请,可以提高码率长度的估计速度。

Description

一种视频数据处理方法、装置及视频编码器、存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种视频数据处理方法、装置及视频编码器、存储介质。
背景技术
随着科学技术的不断发展,人们基本可以随时随地获取到各种视频数据,包括从网络获取到的视频、包括自己拍摄到的视频。在拍摄到视频数据后,需要对拍摄到的视频中各个图像帧进行编码压缩,以便于视频数据的存储和传输。
在视频编码过程中,基于率失真优化技术(Rate-Distortion Optimization,RDO)可以在一定的视频质量条件下,尽量减少编码比特数即码率。基于RDO的编码模式决策,需要计算码率和失真,为了降低其计算复杂度,通常需要对码率进行估计而非通过实际的熵编码得到,因此估计的准确度决定了编码效率的高低。如何更为准确地进行码率的评估便于更好地完成RDO成为研究的热点问题。
发明内容
本发明实施例提供一种视频数据处理方法、装置及视频编码器、存储介质,可较为准确地估计得到视频图像数据的相关码率。
一方面,本发明实施例提供了一种视频数据处理方法,包括:
获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值;
根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。
另一方面,本发明实施例还提供了一种视频数据处理装置,包括:
获取模块,用于获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
处理模块,用于获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值;
选择模块,用于根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。
相应地,本发明实施例还提供了一种视频编码器,包括控制器和存储装置,所述存储装置中存储有程序指令,所述控制器调用所述程序指令用于实现上述提及的视频数据处理方法。
相应地,本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,所述程序指令被处理器执行时用于实现上述提及的视频数据处理方法。
实施本发明实施例,具有如下有益效果:
本发明实施例可以分别对大概率信号和小概率信号设置不同的码率模型,在对待编码信号进行熵编码时,可以从待编码信号的目标熵编码状态变量值比如LG_PMPS作为输入,通过第一码率模型得到该待编码信号为小概率信号时的码率长度估计值,或者通过第二码率模型得到该待编码信号为小概率信号时的码率长度估计值,码率长度的估计速度快,有效地提高了后续基于码率长度估计值得到的码率进行编码模式决策的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例的一种关于视频编码的场景示意图;
图1b是本发明实施例提供的一种编码模式决策的场景示意图;
图2是本发明实施例的一种视频数据处理方法的流程示意图;
图3是本发明实施例的熵编码状态变量和码率长度估计值之间的对应关系示意图;
图4是本发明实施例的熵编码状态变量的索引和码率长度估计值之间的对应关系示意图;
图5是本发明实施例的一种视频数据处理装置的结构示意图;
图6是本发明实施例的一种视频编码器的结构示意图。
具体实施方式
在视频编码过程中,可以将视频中的图像帧按照特定的划分方式分割为若干个块,例如若干个不同大小的子块(可以方形,也可以非方形,大小可以为2x2到128x128区间内的)的待编码图像块,其中的每一个待编码图像块被称为编码单元CU(Coding Unit),然后以CU为单位完成视频中各个图像帧的编码,进而完成对整个视频的编码。在进行视频编码的视频编码器中能够提供多个候选编码模式,可以根据需要从中选择一种对于当前编码的视频编码单元数据来说,编码效率最高的模式。
需要进行视频编码的场景较多,除了常见的通过智能手机等进行视频拍摄和数据压缩存储外,在视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等场景下均需要进行视频编码。在一个实施例中,请参见图1a,是本发明实施例的一种视频编码器和视频解码器在流式传输环境中的放置方式的示意图,流式传输系统可包括采集子系统(113),所述采集子系统可包括数码相机等视频源(101),所述视频源创建未压缩的视频图片流(102)。在一个实施例中,视频图片流(102)包括由数码相机拍摄的样本。相较于已编码的视频数据(或已编码的视频码流),视频图片流(102)被描绘为粗线以强调高数据量的视频图片流,视频图片流(102)可由电子装置(120)处理,所述电子装置(120)包括耦接到视频源(101)的视频编码器(103)。视频编码器(103)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流(102),已编码的视频数据(或已编码的视频码流)被描绘为细线以强调较低数据量的已编码的视频数据(或已编码的视频码流),其可存储在流式传输服务器(105)上以供将来使用。
一个或多个流式传输客户端子系统,例如图1a中的客户端子系统(106)和客户端子系统(108),可访问流式传输服务器(105)以检索已编码的视频数据的副本(107)和副本(109)。客户端子系统(106)可包括例如电子装置(130)中的视频解码器(110)。视频解码器(110)对已编码的视频数据的传入副本(107)进行解码,且产生可在显示器(112)(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流(111)。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据、视频数据(107)和视频数据(109)(例如视频码流)进行编码。该些标准的实施例包括ITU-T H.265。在一个实施例中,正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC),本申请可用于VVC标准的上下文中。
应注意,电子装置(120)和电子装置(130)可包括其它组件(未示出)。举例来说,电子装置(120)可包括视频解码器(未示出),且电子装置(130)还可包括视频编码器(未示出)。
针对诸如图1a中提到的视频编码器(103)等视频编码器,功能越强其所支持的编码模式越多,请参见图1b所示,是本发明实施例提供的一种编码模式决策的场景示意图,从待编码的视频中确定当前需要编码的图像帧即视频图像数据,将视频图像数据划分为多个块,每一个块均会作为待编码图像块进行后续的编码处理,针对每一种可以对待编码图像块编码的编码模式,可以从各编码模式下待编码图像块中待编码信号的熵编码状态变量出发,得到各个待编码信号的码率长度估计值,然后基于各个码率长度估计值估计得到整个待编码图像块在各个编码模式下的估计码率Ri。得到各个编码模式下的估计码率Ri(Ri表示第i个编码模式下的估计码率)后,可以进一步地基于其他方式得到所述待编码图像块在各个编码模式下的失真Di(Di表示第i个编码模式下的失真),结合Ri和Di来综合从视频编码器支持的多个编码模式中选择最优的编码模式,最优的编码模式所对应的率失真代价最小,率失真代价包括码率和失真。所述失真Di主要来自于原始的待编码图像块、与编码后再解码得到的重构图像块之间的差异。
具体的,对于得到的估计码率Ri和失真Di,估计码率Ri的大小对应于熵编码后比特数的大小,Ri越小说明压缩率越高,但有可能失真严重。而失真Di的大小对应于编码后重建数据和原始数据之间的差异,Di越小说明编码后的视频质量越高,但是有可能压缩率较小。因此,RDO可以综合Ri和Di来选择对所述待编码图像块而言最优的编码模式。
下面主要对本发明实施例中涉及的估计码率的计算进行详细说明。请参见图2,是本发明实施例的一种视频数据处理方法的流程示意图,本发明实施例的所述方法可以由一个视频编码器来执行,更准确来讲是由视频编码器中的处理芯片来执行。所述方法包括如下步骤。
接收到视频数据后,对于每一个视频帧即视频图像数据,划分得到多个图像块,这些图像块可以先后或者同时作为待编码图像执行相应的编码处理,在S201中,获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串。由于待编码图像块对应的语法元素数据一般不是二值化的数据,因此,在进行后续的熵编码以及码率估计之前,在S201先将待编码图像块的相关数据进行二值化转换处理。该二值化转换处理是将待编码图像块的数据转换为只有0、1表示的二值信号串,所述的二值化转换处理就是将多值信号转换为二值信号,可以是将待编码图像块对于的图像单元模式、帧内预测模式、残差系数、运动矢量等语法元素经过二值化处理得到待编码图像块的二值信号串,例如当图像单元模式的值为3时,进行的二值化转换处理得到的二值符号串为“1001”。
对于二值信号串中当前需要编码的信号,在S202中获取所述二值信号串中的待编码信号的熵编码状态变量值。在一个实施例中,所述目标熵编码状态变量包括大信号熵编码状态变量LG_PMPS,或小信号熵编码状态变量LG_PLPS。获取到的目标熵编码状态变量值可以是LG_PMPS和LG_PLPS的任意一个,后续在推导第一码率模型和第二码率模型时,以LG_PMPS作为目标熵编码状态变量为例进行说明。
在AVS(一种信源编码标准)中,基于对数域的熵编码中,为了简化概率更新模型的计算,将大概率信号(Most Probable Signal,MPS)的概率取对数,并扩大(1<<BitDepth)之后的绝对值即得到LG_PMPS;同样基于小概率信号(Least Probable Signal,LPS)的概率取对数,并扩大(1<<BitDepth)之后的绝对值即得到LG_PLPS,其中,BitDepth为位深,为已知值,是熵编码引擎规定的,不同的熵编码定义不同的BitDepth,具体可以取10或者11等值,例如,AVS2中取BitDepth为10,AVS3中取BitDepth为11。
在获取了目标熵编码状态变量值后,在S203中获取与该目标熵编码状态变量值对应的码率长度估计值。在一个实施例中,可以针对每一个编码模式预置一个查询表,生成各目标熵编码状态变量值对应的索引,在查询表上为每个索引预先关联记录一个码率长度估计值,在一个实施例中,以LG_PMPS作为目标熵编码状态变量为例,LG_PMPS的取值区间为0-(1<<BitDepth)的开区间,即0-1024的开区间,如图3所示,查询表上每一个LG_PMPS值对应一个码率长度估计值Xi,在一个实施例中,这些码率长度估计值可以是根据LG_PMPS值经过机器训练学习后得到的经验值,在另一个实施例中,也可以是根据码率模型计算得到的值,其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。也就是说,对于各个不同的熵编码的编码模式,可以分别针对大概率信号和小概率信号设置码率模型,以便于基于目标熵编码状态变量值和不同的码率模型,分别计算出在各个编码模式下,各待编码信号的码率长度估计值。其中,大概率信号对于的第一码率模型和小概率信号对应的第二码率模型可以基于下述的公式5和公式6,或者下述的公式7和公式8来构建。
可以理解的是,本发明实施例提及的大概率信号MPS和小概率信号LPS为特指,具体的,对待编码图像块进行的算术编码过程中,输入的信号只有0和1两种取值,小概率信号指示0、1中信号概率的估计值较小的那一个,其出现的概率取值范围为(0,0.5],大概率信号MPS指示0、1中信号概率的估计值较大的那一个,其出现的概率取值范围为[0,1),用PLPS表示LPS的信号概率、PMPS表示MPS的信号概率时,PLPS+PMPS=1。也就是说,在对待编码信号进行编码之前,都要估计0和1的信号概率,如果为0的概率大,则MPS为0,LPS为1;否则MPS=1,LPS=0。
在得到待编码信号的码率长度估计值后,在S204中,根据获取的码率长度估计值,为所述待编码图像块选择编码模式;其中,所述第一码率模型和第二码率模型不相同,具体的第一码流模型和第二码率模型的构建可参考下述实施例中的具体描述。对二值信号串中其他的待编码信号同样会进行上述的码率估计,得到各个待编码信号的码率长度估计值,由此可以得到所述待编码图像块的码率长度估计值。需要说明的是,码率的概念是单位时间内比特的大小,本发明实施例主要估计的是比特长度,为了保持与编码过程中率失真优化过程的一致性,本方案估计得到的比特长度所使用的模型称作为码率估计模型。基于各个编码模式下的码率长度估计值以及通过其他方式获取到的各个编码模式下的失真,再进行RDO优化,即可选取得到对于该待编码图像块而言最优的编码模式,并采用该最优的编码模式对待编码图像块进行熵编码。
以下对码率模型,即上述提及的所述第一码率模型和所述第二码率模型的具体原理进行详细描述。
上述提及的分别针对大概率信号MPS的第一码率模型和小概率信号LPS的第二码率模型,可以根据熵编码状态变量LG_PMPS和LG_PLPS,从信号理论出发,推导设计出关于熵编码码率长度估计的上述两个码率模型。并且进一步地,可以对码率模型估计的码率长度值定点化之后通过查询表的形式实现到编码标准中。不仅可以节省计算开销,还可以进一步提高编码效率。
基于对数域的熵编码中,引入了熵编码变量LG_PMPS和LG_PLPS,该熵编码变量的初始化,动态更新是整个熵编码模块的核心。一般地,熵编码中定义其中一个变量,另外一个变量可以通过计算得到。以AVS3(一种信源编码标准)为例,标准中定义了大概率信号的熵编码变量LG_PMPS,因此,在本发明实施例中以LG_PMPS作为目标熵编码状态变量来进行说明。
在定义确定了LG_PMPS作为目标熵编码状态变量后,小概率信号的熵编码状态变量LG_PLPS则为:
LG_PLPS=(1<<(BitDepth+1))-LG_PMPS (1);
在一个实施例中,所述第一码率模型是根据第一大信号码率计算规则构建的;其中,所述大信号码率计算规则是根据目标熵编码状态变量与信号概率之间的数学关系、码率长度与信号概率之间的数学关系确定的。而所述第二码率模型是根据第一小信号码率计算规则构建的;其中,所述第一小信号码率计算规则是根据:基于大概率信号的信号概率与小概率信号的信号概率之间的数学关系,来确定的目标熵编码状态变量与信号概率之间的数学关系、和码率长度与信号概率之间的数学关系确定的。
在一个实施例中,所述第一小信号码率计算规则可以是一个优化后的计算规则,其具体是根据:基于整数域和对数域之间的相互转换规则,对所述大概率信号的信号概率与小概率信号的信号概率之间的数学关系进行转换优化后,得到的目标熵编码状态变量与信号概率之间的数学关系、和码率长度与信号概率之间的数学关系确定的。也就是说,不是直接利用大概率信号的信号概率与小概率信号的信号概率之间的数据关系,而是会基于整数域和对数域之间的相互转换规则进行相应的转换优化,基于优化后的大概率信号的信号概率与小概率信号的信号概率之间的数据关系,得到目标熵编码状态变量与信号概率之间的数学关系。
在本发明实施例的码率模型推导的过程中,以LG_PMPS作为模型参数为例分别对MPS和LPS进行码率长度估计值的建模。那么,熵编码状态变量与信号概率之间的数学关系,也就是LG_PMPS与大概率信号的信号概率PMPS、LG_PMPS与小概率信号的信号概率PMPS之间的关系分别可以表示为:
Figure GDA0003384901490000081
即:
Figure GDA0003384901490000082
Figure GDA0003384901490000083
其中,在公式3中,pLPS=1-pMPS是指大概率信号的信号概率与小概率信号的信号概率之间的数学关系,并且在推导时利用公式2对其中的pMPS进行了替换。在公式3中,
Figure GDA0003384901490000084
可以理解为本发明实施例的初始计算规则。在公式3中第二行的内容体现了对初始计算规则的优化。
具体的,公式(3)中以近似关系对初始计算规则进行优化,该近似关系是基于对数域的熵编码采用的一个典型近似函数,其的应用是实现整数域和对数域之间的相互转换:
2x≈1+x (0≤x≤1) (4);
也就是说,具体是基于公式(4)的近似原理,根据整数域和对数域之间的相互转换规则,对初始计算规则进行转换优化,得到关系更为简单的目标熵编码状态变量与信号概率之间的数学关系,以此更易于后续确定第一小信号码率计算规则。
从信息论的角度上来说,对待编码信号进行熵编码产生的码率长度一定程度上与信号概率有以下关系:
Figure GDA0003384901490000091
Figure GDA0003384901490000092
其中,lMPS和lLPS分别为对应的信号MPS和LPS时,为该待编码信号估计并输出的码率长度。因此,当待编码信号的状态变量LG_PMPS已知,那么其对应的码率长度估计值则可以通过公式5和公式6计算得到。
在一个实施例中,上述的公式5为本发明实施例所涉及的第一大信号码率计算规则,上述的公式2体现了熵编码状态变量与信号概率之间的数学关系,也就是LG_PMPS与大概率信号的信号概率PMPS之间的关系,本发明实施例利用了上述公式2所表示的LG_PMPS与大概率信号的信号概率PMPS之间的关系、以及码率长度与信号概率之间的数学关系(lMPS(LG_PMPS)=-log2PMPS),建立了第一大信号码率计算规则即公式5,以公式5为基础可以进一步构建得到所述第一码率模型,进而实现从熵编码状态变量LG_PMPS出发,计算得到大概率信号的码率长度估计值即lMPS
在一个实施例中,上述的公式6为本发明实施例所涉及的第一小信号码率计算规则。上述的公式3体现了目标熵编码状态变量与信号概率之间的数学关系,也就是LG_PMPS与小概率信号的信号概率PLPS之间的关系,本发明实施例利用了优化后的上述公式3所表示的目标熵编码状态变量LG_PMPS与小概率信号的信号概率PLPS之间的关系、以及码率长度与信号概率之间的数学关系(lLPS(LG_PMPS)=-log2PLPS),建立了第一小信号码率计算规则即公式6,以公式6为基础可以进一步构建得到所述第二码率模型,进而实现从熵编码状态变量LG_PMPS出发,计算得到小概率信号的码率长度估计值即lLPS。在其他实施例中,对于公式6而言,也可以不进行对所述初始计算规则的优化,直接利用基于大概率信号的信号概率与小概率信号的信号概率之间的数学关系,目标熵编码状态变量与信号概率之间的数学关系、以及码率长度与信号概率之间的数学关系来确定的第一小信号码率计算规则。
也就是说,基于上述的公式5和公式6,并基于已经定义的目标熵编码状态变量LG_PMPS,可以计算得到码率长度估计值。在一个实施例中,可以直接基于不同的目标熵编码状态变量LG_PMPS值(即上述提及的0-1024的开区间内的值),通过公式5和公式6分别计算出码率长度估计值,建立如图3所示的表格,后续在不同的编码模式下对大概率信号和小概率信号进行码率长度估计时,可以直接基于LG_PMPS查表得到。
基于公式5和公式6可以直接计算出码率长度估计值,从而制作成表格,类似图3中的表格,而第一码率模型和第二码率模型可以分别基于公式5和公式6实现,也可以基于公式5和公式6制作的表格来实现。如果通过表格来实现的话,可以将公式5和6计算出的结果进行类似于下述提及的公式7和8中的1<<ScaleFactor一样进行缩放,缩放之后的值按照索引号存储到表格中。如果不通过表格计算,可以将公式5和6直接乘以1<<ScaleFactor进行率失真代价的计算。
在实际的实现过程中,对于图3所述的表格,可以再进一步进行优化,以节省开销。图3所示的表格进行优化后,可以是以1*512的表格形式实现,具体可以参考图4所示。
具体的,在图3所示表格到图4所示表格的转换过程中,所述目标熵编码状态变量到目标熵编码状态变量索引之间的关系为:将目标熵编码状态变量的取值区间按照2的N次方进行量化,以将目标熵编码状态变量的取值区间映射到索引区间,每2的N次方个目标熵编码状态变量对应一个目标熵编码状态变量索引,N为小于10的正整数;其中,每一个目标熵编码状态变量索引对应的码率长度估计值、与以该目标熵编码状态变量索引所对应的各个目标熵编码状态变量直接计算得到的码率长度估计值之间,满足平均值条件。即每一个目标熵编码状态变量索引对应的码率长度估计值,是该目标熵编码状态变量索引所对应的各个目标熵编码状态变量直接计算得到的码率长度估计值的平均值。
为LG_PMPS等目标熵编码状态变量设置索引,在一个实施例中,LG_PMPS取值范围为0~(1<<BitDepth)开区间(即目标熵编码状态变量的取值区间),那么可以将其量化为0~512的开区间(即索引区间),也就是按照2的1次方进行量化后,使得2个LG_PMPS对应一个索引号,并且每两个LG_PMPS对应的码率长度估计值的平均值作为量化之后的LG_PMPS索引对应的码率长度估计值。
在一个实施例中,在将目标熵编码状态变量的取值区间映射到索引区间过程中,可以是不只2个目标熵编码状态变量索引对应的一个熵编码状态变量,当需要将目标熵编码状态变量LG_PMPS从0-1024区间量化为0-256的索引区间时,那么就是4个LG_PMPS所对应的码率长度估计值进行平均处理,得到对应索引号的码率长度估计值。
以图3和图4为例,可以看出图3中LG_PMPS为0和1时,在图4中对应的索引为0。另外,需要说明的是,在图3中,表格的索引号在边界1024处会做特殊处理,主要是为了防止熵编码过程中的递推关系越界,因此,图3中的1024变成1023,在图4中512变成了511。进一步地,图3和图4仅列举了大概率信号对应的表格,也就是分别为基于公式5得到的表格得到的表格,其仅仅用于举例说明。小概率信号对应的表格在处理方式和关系上,与大概率信号的表格相同。
在另一个实施例中,基于上述的公式5和6,如果直接实现到编码标准中,除法和对数操作是不太友好的。因此,为了优化计算开销,可以通过其他的码率计算规则来构建第一码率模型和第二码率模型。
在一个实施例中,所述第一码率模型具体是根据第二大信号码率计算规则确定的;所述第二大信号码率计算规则用于:根据目标熵编码状态变量索引、预设的缩放倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子,计算得到目标熵编码状态变量索引对应的熵编码状态变量的码率长度估计值;所述目标熵编码状态变量索引是指:将目标熵编码状态变量的取值区间按照2的N次方进行量化,以将目标熵编码状态变量的取值区间映射到索引区间,每2的N次方个目标熵编码状态变量对应一个目标熵编码状态变量索引,N为小于10的正整数。
在一个实施例中,所述第二码率模型具体是根据第二小信号码率计算规则确定的;所述第二小信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子、第二调整因子,计算得到各个目标熵编码状态变量索引对应的码率长度估计值;所述目标熵编码状态变量索引是指:将目标熵编码状态变量的取值区间按照2的N次方进行量化,以将目标熵编码状态变量的取值区间映射到索引区间,每2的N次方个目标熵编码状态变量对应一个熵编码状态变量索引,N为小于10的正整数。
对于第二大信号码率计算规则和第二小信号码率计算规则而言,当N为0时,一个熵编码状态变量对应一个熵编码状态变量索引,当N为1时,两个熵编码状态变量对应一个熵编码状态变量索引。所述目标熵编码状态变量索引与目标熵编码状态变量之间的关系,与前述提及的基于公式5和公式6得到的相应表3和表4之间所描述的关系相同。
对于第二大信号码率计算规则即下述的公式7和第二小信号码率计算规则即下述的公式8,同样可以生成相应的表格来记录目标熵编码状态变量索引和对于的码率长度估计值,并且会对LG_PMPS所对应的码率长度估计值做定点化处理,最后再通过缩放转换为整数,即利用1<<ScaleFactor进行缩放。
将目标熵编码状态变量的取值区间量化映射到对应的索引区间,即从LGPMPS转换为lgpmps_idx,并且,每一个目标熵编码状态变量索引对应的码率长度估计值,是以该目标熵编码状态变量索引所对应的各个目标熵编码状态变量直接计算得到的码率长度估计值的平均值。
在一个实施例中,基于目标熵编码状态变量索引,为大概率信号MPS设计的查询表可以通过Entropy_Bits_MPS[lgpmps_idx]表示,小概率信号LPS的查询表则可以通过Entropy_Bits_MPS[lgpmps_idx]表示,在估计码率长度估计值时,可以基于选择的目标熵编码状态变量值通过如下公式直接计算得到或者提前计算后记录到一个表格中供查找,
Entropy_Bits_MPS[lgpmps_idx]=(1<<ScaleFactor)*(float)((lgpmps_idx+delta1)/(1<<BitDepth)); (7)
Entropy_Bits_LPS[lgpmps_idx]=(1<<ScaleFactor)*(float)(BitDepth+1–log2(lgpmps_idx+delta2));
(8)
Entropy_Bits_MPS[lgpmps_idx]是指待编码信号为大概率信号、目标熵编码状态变量索引为lgpmps_idx时的码率长度估计值,Entropy_Bits_LPS[lgpmps_idx]是指待编码信号为小概率信号、目标熵编码状态变量索引为lgpmps_idx时对应的码率长度估计值,ScaleFactor为预设的缩放倍数值,delta1为预设的第一调整因子、delta2为预设的第一调整因子。lgpmps_idx为2的N次方个目标熵编码状态变量值对应的索引。
以上两个查询表的公式7和公式8即为优化后的大信号计算规则和优化后的小信号计算规则,基于公式7和公式8可以分别构建码率模型,具体按照第公式7构建第一码率模型,按照公式8构建第二码率模型。或者基于公式7和公式8生成相应的记录目标熵编码状态编码索引和码率长度估计值的表格。通过第一码率模型和第二码率模型,对于待编码信号,只要获取到目标熵编码状态变量值比如LG_PMPS,即可找到其对应的索引号,根据公式7或公式8对于的码率模型最终确定出该待编码信号的码率长度估计值。
ScaleFactor表示缩放的倍数。浮点计算得到的码率长度估计值经过15bit的扩展之后的精度已经可以弥补定点量化造成的误差。所述缩放倍数ScaleFactor的作用在于保留更多的小数点。比如,计算得到的数值为1.234567,如果缩放倍数ScaleFactor为10,那么能得到12这个结果,说过缩放倍数是1000000,则可以保留1234567这个结果,所有的小数点都保留下来了。缩放的倍数越大保留的小数点后的位数越多,后面在处理数据时的精确度更高。因为定点量化会造成一定误差。例如,原本目标熵编码状态变量LG_PMPS为2、3分别对应不同的码率长度估计值,定点量化之后,原来的2和3对应的熵编码状态索引为1,其对应的码率长度估计值也取原本熵编码状态变量2和3所对应的码率估计值的平均值后,变为相同的值,这样一来,会引入一些误差。通过实验结果发现,当ScaleFactor的值取得足够大之后,量化造成的误差可以通过其保留更多的小数来弥补。
将目标熵编码状态变量的取值区间映射到索引区间的目的在于减小计算量,如果每一个目标熵编码状态变量的取值都是一个索引,而BitDepth为10时,如果制成表格实现,该表格的大小将是1024行。为了尽可能的减少表格的大小,减少计算量,将索引号量化为0~511,并将原来的目标熵编码状态变量的两个值对应的码率长度估计值的平均值作为新的码率估计值。而目标熵编码状态变量LG_PMPS本身的值不会进行改变,只是在将模型计算出的结果按照量化之后的索引号进行存储。比如原来LG_PMPS的值为2和3的时候,通过模型计算得到的lMPS是不一样的,但是量化之后,当其为2和3时,都是一样的值。
公式5和6是理论上的推导。这里的两个公式7和公式8是另一种从目标熵编码状态变量出发计算各个带编码信号的码率长度估计值的具体实现。在视频编码过程中,通过公式5、6中计算出来的码率估计长度值是通过一定的缩放之后得到的码率估计长度值,或者通过公式7和8计算出的码率估计长度值,可以用来指导编码过程中的率失真代价计算。
第一调整因子delat1和第二调整因子delat2的值主要是为了解决边界情况计算失败的问题。对于第一调整因子delat1和第二调整因子delat2的值进行自适应的条件可以是:编码当前信号的迭代次数,刚开始编码对应大概率信号和小概率信号时,保留对应的delta1和delat2,当编码迭代次数超过次数阈值例如30次之后,去掉对应的delta1和delat2。或者lgpmps_idx的值小于预设阈值例如16时,保留对应的delta1和delat2,大于16之后去掉对应的delta1和delat2,或者分别加上不同的delta。在一个实施例中,delta1和delta2取值分别为0.3和0.7,理论上二者的取值范围为(0,1)的开区间,可以自适应调整,以进一步提升模型精确度。
本发明实施例可以分别对大概率信号和小概率信号设置不同的码率模型,在对待编码信号进行熵编码时,可以从待编码信号的目标熵编码状态变量值比如LG_PMPS作为输入,通过第一码率模型得到该待编码信号为小概率信号时的码率长度估计值,或者通过第二码率模型得到该待编码信号为小概率信号时的码率长度估计值,码率长度的估计速度快,有效地提高了后续基于码率长度估计值得到的码率进行编码模式决策的效率。
再请参见图5,是本发明实施例的一种视频数据处理装置的结构示意图,本发明实施例的所述装置可以设置在诸如智能手机、平板电脑、如视频会议系统等视频系统相关设备中,所述装置包括以下模块。
获取模块501,用于获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
处理模块502,用于获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值;
选择模块503,用于根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。
在一个实施例中,所述第一码率模型是根据第一大信号码率计算规则构建的;其中,所述大信号码率计算规则是根据目标熵编码状态变量与信号概率之间的数学关系、码率长度与信号概率之间的数学关系确定的。
在一个实施例中,所述第二码率模型是根据第一小信号码率计算规则构建的;其中,所述第一小信号码率计算规则是根据:基于大概率信号的信号概率与小概率信号的信号概率之间的数学关系,目标熵编码状态变量与信号概率之间的数学关系、以及码率长度与信号概率之间的数学关系确定的。
在一个实施例中,所述第一小信号码率计算规则具体是根据:基于整数域和对数域之间的相互转换规则优化得到的初始计算规则、以及码率长度与信号概率之间的数学关系确定的,其中,所述初始计算规则是根据所述大概率信号的信号概率与小概率信号的信号概率之间的数学关系、目标熵编码状态变量与信号概率之间的数学关系确定的。
在一个实施例中,所述目标熵编码状态变量包括大信号熵编码状态变量LG_PMPS,或者小信号熵编码状态变量LG_PLPS。
在一个实施例中,所述第一码率模型具体是根据第二大信号码率计算规则确定的;所述第二大信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子,计算得到目标熵编码状态变量索引对应的熵编码状态变量的码率长度估计值。
在一个实施例中,所述第二码率模型具体是根据第二小信号码率计算规则确定的;所述第二小信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子、第二调整因子,计算得到各个目标熵编码状态变量索引对应的码率长度估计值。
在一个实施例中,所述选择模块503,具体用于获取的所述待编码图像块中各待编码信号的码率长度估计值,确定所述待编码图像块的码率估计值;获取所述待编码图像块在预置的不同编码模式下的失真参数;根据获取到的码率估计值和失真参数,从预置的不同编码模式中为所述待编码图像块选择最优编码模式。
本发明实施例中,各个模块的具体实现可参考前述实施例中相关内容的描述,在此不赘述。本发明实施例可以分别对大概率信号和小概率信号设置不同的码率模型,在对待编码信号进行熵编码时,可以从待编码信号的目标熵编码状态变量值比如LG_PMPS作为输入,通过第一码率模型得到该待编码信号为小概率信号时的码率长度估计值,或者通过第二码率模型得到该待编码信号为小概率信号时的码率长度估计值,码率长度的估计速度快,有效地提高了后续基于码率长度估计值得到的码率进行编码模式决策的效率。
请参见图6,是本发明实施例的一种视频编码器的结构示意图,本发明实施例的所述视频编码器(603)设置于电子装置(620)中,该电子装置例如可以是智能手机、平板电脑等。电子装置(620)包括传输器(640)(例如传输电路)。视频编码器(603)可用于代替图1a实施例中的视频编码器(103)。
视频编码器(603)可从视频源(601)(可以不是图6中的电子装置(620)的一部分)接收视频样本,所述视频源可采集将由视频编码器(603)编码的视频图像。在另一实施例中,视频源(601)是电子装置(620)的一部分。
视频源(601)可提供将由视频编码器(603)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601 Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源(601)可以是存储先前已准备的视频的存储装置。在视频会议系统等需要进行视频编码的场景中,视频源(601)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
根据实施例,视频编码器(603)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(643)。施行适当的编码速度是控制器(650)的一个功能。在一些实施例中,控制器(650)控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(650)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。控制器(650)可用于具有其它合适的功能,这些功能涉及针对某一系统设计优化的视频编码器(603)。
在一些实施例中,视频编码器(603)在编码环路中进行操作。作为简单的描述,在实施例中,编码环路可包括源编码器(630)(例如,负责基于待编码的输入图片和参考图片创建符号,例如符号流)和嵌入于视频编码器(603)中的(本地)解码器(633)。解码器(633)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据(因为在本申请所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流(样本数据)输入到参考图片存储器(634)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器(634)中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)也用于一些相关技术。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。出于此原因,本申请侧重于解码器操作。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。
在操作期间,在一些实施例中,源编码器(630)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考图片”的一个或多个先前已编码图片,所述运动补偿预测编码对输入图片进行预测性编码。以此方式,编码引擎(632)对输入图片的像素块与参考图片的像素块之间的差异进行编码,所述参考图片可被选作所述输入图片的预测参考。
本地视频解码器(633)可基于源编码器(630)创建的符号,对可指定为参考图片的图片的已编码视频数据进行解码。编码引擎(632)的操作可为有损过程。当已编码视频数据可在视频解码器(图6中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(633)复制解码过程,所述解码过程可由视频解码器对参考图片执行,且可使重建的参考图片存储在参考图片高速缓存(634)中。以此方式,视频编码器(603)可在本地存储重建的参考图片的副本,所述副本与将由远端视频解码器获得的重建参考图片具有共同内容(不存在传输误差)。
预测器(635)可针对编码引擎(632)执行预测搜索。即,对于将要编码的新图片,预测器(635)可在参考图片存储器(634)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(635)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(635)获得的搜索结果,可确定输入图片可具有从参考图片存储器(634)中存储的多个参考图片取得的预测参考。
控制器(650)可管理源编码器(630)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(645)中对所有上述功能单元的输出进行熵编码。熵编码器(645)根据例如霍夫曼编码、可变长度编码、算术编码等技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
传输器(640)可缓冲由熵编码器(645)创建的已编码视频序列,从而为通过通信信道(660)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(640)可将来自视频编码器(603)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
控制器(650)可管理视频编码器(603)的操作。在编码期间,控制器(650)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种图片类型:
帧内图片(I图片),其可以是不将序列中的任何其它图片用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
视频编码器(603)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(603)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在实施例中,传输器(640)可在传输已编码的视频时传输附加数据传输附加数据和已编码的视频。源编码器(630)可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图片和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。
采集到的视频可作为呈时间序列的多个源图片(视频图片)。帧内图片预测(常常简化为帧内预测)利用给定图片中的空间相关性,而帧间图片预测则利用图片之间的(时间或其它)相关性。在实施例中,将正在编码/解码的特定图片分割成块,正在编码/解码的特定图片被称作当前图片。在当前图片中的块类似于视频中先前已编码且仍被缓冲的参考图片中的参考块时,可通过称作运动矢量的矢量对当前图片中的块进行编码。所述运动矢量指向参考图片中的参考块,且在使用多个参考图片的情况下,所述运动矢量可具有识别参考图片的第三维度。
在一些实施例中,双向预测技术可用于帧间图片预测中。根据双向预测技术,使用两个参考图片,例如按解码次序都在视频中的当前图片之前(但按显示次序可能分别是过去和将来)第一参考图片和第二参考图片。可通过指向第一参考图片中的第一参考块的第一运动矢量和指向第二参考图片中的第二参考块的第二运动矢量对当前图片中的块进行编码。具体来说,可通过第一参考块和第二参考块的组合来预测所述块。
此外,合并模式技术可用于帧间图片预测中以改善编码效率。
根据本申请公开的一些实施例,帧间图片预测和帧内图片预测等预测的执行以块为单位。举例来说,根据HEVC标准,将视频图片序列中的图片分割成编码树单元(codingtree unit,CTU)以用于压缩,图片中的CTU具有相同大小,例如64×64像素、32×32像素或16×16像素。一般来说,CTU包括三个编码树块(coding tree block,CTB),所述三个编码树块是一个亮度CTB和两个色度CTB。更进一步的,还可将每个CTU以四叉树拆分为一个或多个编码单元(coding unit,CU)。举例来说,可将64×64像素的CTU拆分为一个64×64像素的CU,或4个32×32像素的CU,或16个16×16像素的CU。在实施例中,分析每个CU以确定用于CU的预测类型,例如帧间预测类型或帧内预测类型。此外,取决于时间和/或空间可预测性,将CU拆分为一个或多个预测单元(prediction unit,PU)。通常,每个PU包括亮度预测块(prediction block,PB)和两个色度PB。在实施例中,编码(编码/解码)中的预测操作以预测块为单位来执行。以亮度预测块作为预测块为例,预测块包括像素值(例如,亮度值)的矩阵,例如8×8像素、16×16像素、8×16像素、16×8像素等等。
所述控制器可以是一个专用的处理芯片,其可以包括硬件芯片,该硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。上述PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。
在一个实施例中,所述视频编码器还可以包括一个存储装置(670),该存储装置(670)中存储有程序指令,所述控制器(650)可以调用所述程序指令,实现如本申请图2实施例中所示的视频编码出来方法。具体的,所述控制器(650),调用所述程序指令,用于执行如下步骤:
获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值;
根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。
在一个实施例中,所述第一码率模型是根据第一大信号码率计算规则构建的;其中,所述大信号码率计算规则是根据目标熵编码状态变量与信号概率之间的数学关系、码率长度与信号概率之间的数学关系确定的。
在一个实施例中,所述第二码率模型是根据第一小信号码率计算规则构建的;其中,所述第一小信号码率计算规则是根据:基于大概率信号的信号概率与小概率信号的信号概率之间的数学关系,目标熵编码状态变量与信号概率之间的数学关系、以及码率长度与信号概率之间的数学关系确定的。
在一个实施例中,所述第一小信号码率计算规则具体是根据:基于整数域和对数域之间的相互转换规则优化得到的初始计算规则、以及码率长度与信号概率之间的数学关系确定的,其中,所述初始计算规则是根据所述大概率信号的信号概率与小概率信号的信号概率之间的数学关系、目标熵编码状态变量与信号概率之间的数学关系确定的。
在一个实施例中,所述目标熵编码状态变量包括大信号熵编码状态变量LG_PMPS,或者小信号熵编码状态变量LG_PLPS。
在一个实施例中,所述第一码率模型具体是根据第二大信号码率计算规则确定的;所述第二大信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子,计算得到目标熵编码状态变量索引对应的熵编码状态变量的码率长度估计值。
在一个实施例中,所述第二码率模型具体是根据第二小信号码率计算规则确定的;所述第二小信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子、第二调整因子,计算得到各个目标熵编码状态变量索引对应的码率长度估计值。
在一个实施例中,所述控制器(650),在用于执行所述根据获取的所述待编码信号的码率长度估计值,为所述待编码图像块选择编码模式时,用于执行如下步骤:
获取的所述待编码图像块中各待编码信号的码率长度估计值,确定所述待编码图像块的码率估计值;
获取所述待编码图像块在预置的不同编码模式下的失真参数;
根据获取到的码率估计值和失真参数,从预置的不同编码模式中为所述待编码图像块选择最优编码模式。
本发明实施例中,所述控制器的具体实现可进一步地参考前述实施例中相关内容的描述,在此不赘述。本发明实施例可以分别对大概率信号和小概率信号设置不同的码率模型,在对待编码信号进行熵编码时,可以从待编码信号的目标熵编码状态变量值比如LG_PMPS作为输入,通过第一码率模型得到该待编码信号为小概率信号时的码率长度估计值,或者通过第二码率模型得到该待编码信号为小概率信号时的码率长度估计值,码率长度的估计速度快,有效地提高了后续基于码率长度估计值得到的码率进行编码模式决策的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (11)

1.一种视频数据处理方法,其特征在于,包括:
获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值,所述目标熵编码状态变量值包括大信号熵编码状态变量LG_PMPS的值或小信号熵编码状态变量LG_PLPS的值;
根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型得到的;
其中,所述第一码率模型和第二码率模型不相同。
2.如权利要求1所述的方法,其特征在于,
所述第一码率模型是根据第一大信号码率计算规则构建的;
其中,所述大信号码率计算规则是根据目标熵编码状态变量与信号概率之间的数学关系、码率长度与信号概率之间的数学关系确定的。
3.如权利要求2所述的方法,其特征在于,
所述第二码率模型是根据第一小信号码率计算规则构建的;
其中,所述第一小信号码率计算规则是根据:基于大概率信号的信号概率与小概率信号的信号概率之间的数学关系,目标熵编码状态变量与信号概率之间的数学关系、以及码率长度与信号概率之间的数学关系确定的。
4.如权利要求3所述的方法,其特征在于,
所述第一小信号码率计算规则具体是根据:基于整数域和对数域之间的相互转换规则优化得到的初始计算规则、以及码率长度与信号概率之间的数学关系确定的,
其中,所述初始计算规则是根据所述大概率信号的信号概率与小概率信号的信号概率之间的数学关系、目标熵编码状态变量与信号概率之间的数学关系确定的。
5.如权利要求1所述的方法,其特征在于,
所述第一码率模型具体是根据第二大信号码率计算规则确定的;
所述第二大信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子,计算得到目标熵编码状态变量索引对应的熵编码状态变量的码率长度估计值。
6.如权利要求3或4所述的方法,其特征在于,
所述第二码率模型具体是根据第二小信号码率计算规则确定的;
所述第二小信号码率计算规则用于:根据目标熵编码状态变量索引、预设的倍数值、熵编码引擎定义的位深值BitDepth、以及预设的第一调整因子、第二调整因子,计算得到各个目标熵编码状态变量索引对应的码率长度估计值。
7.如权利要求1所述的方法,其特征在于,
所述第一码率模型是根据第一大信号码率计算规则确定的,所述第一大信号码率计算规则是:大概率信号的码率长度估计值等于目标熵编码状态变量除以2的BitDepth次方;
所述第二码率模型是根据第一小信号码率计算规则确定的,所述第一小信号码率计算规则是:小概率信号的码率长度估计值等于BitDepth加1再减去以2为底的目标熵编码状态变量的对数;
其中,BitDepth为熵编码引擎定义的位深值。
8.如权利要求1所述的方法,其特征在于,所述根据获取的所述待编码信号的码率长度估计值,为所述待编码图像块选择编码模式,包括:
获取的所述待编码图像块中各待编码信号的码率长度估计值,确定所述待编码图像块的码率估计值;
获取所述待编码图像块在预置的不同编码模式下的失真参数;
根据获取到的码率估计值和失真参数,从预置的不同编码模式中为所述待编码图像块选择最优编码模式。
9.一种视频数据处理装置,其特征在于,包括:
获取模块,用于获取视频图像数据的待编码图像块,并对所述待编码图像块进行转换得到该待编码图像块对应的二值信号串;
处理模块,用于获取所述二值信号串中的待编码信号目标熵编码状态变量值,并获取与该目标熵编码状态变量值对应的码率长度估计值,所述目标熵编码状态变量值包括大信号熵编码状态变量LG_PMPS的值或小信号熵编码状态变量LG_PLPS的值;
选择模块,用于根据获取的码率长度估计值,为所述待编码图像块选择编码模式;
其中,若所述二值信号串中的待编码信号为大概率信号MPS,则获取到的码率长度估计值是根据第一码率模型计算得到的;若所述二值信号串中的待编码信号为小概率信号LPS,则获取到的码率长度估计值是根据第二码率模型计算得到的。
10.一种视频编码器,其特征在于,包括控制器和存储装置,其中,所述存储装置中存储有程序指令,所述控制器调用所述程序指令用于实现如权利要求1-8任一项所述的视频数据处理方法。
11.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有程序指令,该程序指令被控制器执行时,用于实现如权利要求1-8任一项所述的视频数据处理方法。
CN201910796351.0A 2019-08-27 2019-08-27 一种视频数据处理方法、装置及视频编码器、存储介质 Active CN112449189B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910796351.0A CN112449189B (zh) 2019-08-27 2019-08-27 一种视频数据处理方法、装置及视频编码器、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910796351.0A CN112449189B (zh) 2019-08-27 2019-08-27 一种视频数据处理方法、装置及视频编码器、存储介质

Publications (2)

Publication Number Publication Date
CN112449189A CN112449189A (zh) 2021-03-05
CN112449189B true CN112449189B (zh) 2022-02-11

Family

ID=74742304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910796351.0A Active CN112449189B (zh) 2019-08-27 2019-08-27 一种视频数据处理方法、装置及视频编码器、存储介质

Country Status (1)

Country Link
CN (1) CN112449189B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115460182A (zh) * 2021-05-21 2022-12-09 华为技术有限公司 编解码方法、装置、设备、存储介质及计算机程序
CN113905233B (zh) * 2021-09-30 2024-04-30 安谋科技(中国)有限公司 基于音频视频编码标准的熵解码方法、可读介质及其电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011431A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 画像符号化装置
CN101466040A (zh) * 2009-01-09 2009-06-24 北京大学 一种用于视频编码模式决策的码率估计方法
CN104980749A (zh) * 2014-04-11 2015-10-14 扬智科技股份有限公司 算术编码的解码装置及方法
CN108965878A (zh) * 2017-05-27 2018-12-07 深圳市中兴微电子技术有限公司 一种熵解码方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008011431A (ja) * 2006-06-30 2008-01-17 Toshiba Corp 画像符号化装置
CN101466040A (zh) * 2009-01-09 2009-06-24 北京大学 一种用于视频编码模式决策的码率估计方法
CN104980749A (zh) * 2014-04-11 2015-10-14 扬智科技股份有限公司 算术编码的解码装置及方法
CN108965878A (zh) * 2017-05-27 2018-12-07 深圳市中兴微电子技术有限公司 一种熵解码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An Optimized Probability Estimation Model for Binary Arithmetic Coding;Jing Cui ET AL;《2015 Visual Communications and Image Processing (VCIP)》;20151216;第1-4页 *

Also Published As

Publication number Publication date
CN112449189A (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN111869212B (zh) 视频解码方法、装置和可读介质
CN111357287B (zh) 针对通过时间预测进行的上下文初始化的存储器减小
CN110708553B (zh) 视频解码方法、解码器、计算机设备和存储装置
CN113366849B (zh) 视频编解码的方法和装置
CN113614736A (zh) 视频编解码的方法和装置
US20220007058A1 (en) Method and apparatus for most probable mode derivation
CN110944185B (zh) 视频解码的方法和装置、计算机设备及存储介质
US10448026B1 (en) Method and apparatus for block vector signaling and derivation in intra picture block compensation
US11563965B2 (en) Method and apparatus for color transform in VVC
US10623746B2 (en) Method and apparatus for video coding
CN113424541A (zh) 用于变换跳过模式和块差分脉冲编码调制的残差编解码
US10798397B2 (en) Method and apparatus for video coding
US11917209B2 (en) Context model reduction for transform coefficients entropy coding
CN114270836A (zh) 视频编解码的颜色转换
CN112449189B (zh) 一种视频数据处理方法、装置及视频编码器、存储介质
KR20230156789A (ko) 신경망 기반 교차 성분 예측을 위한 방법 및 장치, 그리고 저장 매체
CN113475067A (zh) 视频编解码方法及装置
CN112514385A (zh) 用于视频编码的方法和装置
US20240031605A1 (en) Reducing context models for entropy coding of transform coefficients
US20220400272A1 (en) Content-adaptive online training for dnn-based cross component prediction with scaling factors
US11863774B2 (en) Method and apparatus for video coding
CN110572675A (zh) 视频解码、编码方法和装置、存储介质与解码器、编码器
US20240163483A1 (en) Context modeling of transform coefficient syntax elements
CN113330749A (zh) 用于变换跳过模式和块差分脉冲编码调制的改进的残差编解码
CN110677647A (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