CN117121485A - 视频编解码方法与系统、及视频编解码器 - Google Patents

视频编解码方法与系统、及视频编解码器 Download PDF

Info

Publication number
CN117121485A
CN117121485A CN202180096782.1A CN202180096782A CN117121485A CN 117121485 A CN117121485 A CN 117121485A CN 202180096782 A CN202180096782 A CN 202180096782A CN 117121485 A CN117121485 A CN 117121485A
Authority
CN
China
Prior art keywords
block
quantization mode
quantization
flag bit
decoded
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
CN202180096782.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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN117121485A publication Critical patent/CN117121485A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

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

Abstract

本申请实施例提供一种视频编解码方法与系统、及视频编解码器,通过在码流中编入量化方式标志位,该量化方式标志位用于指示该待编码块的目标量化方式。这样解码端可以直接从码流中解析出量化方式标志位,并根据该量化方式标志位确定待解码块的目标反量化方式,并采用确定的目标反量化方式对待解码块进行反量化,即解码端直接可以从码流中解析出待解码块的反量化方式,无需采用其他的方式判断待解码块的反量化方式,进而降低解码复杂度,提高解码效率。

Description

视频编解码方法与系统、及视频编解码器 技术领域
本申请涉及视频编解码技术领域,尤其涉及一种视频编解码方法与系统、及视频编解码器。
背景技术
数字视频技术可以并入多种视频装置中,例如数字电视、智能手机、计算机、电子阅读器或视频播放器等。随着视频技术的发展,视频数据所包括的数据量较大,为了便于视频数据的传输,视频装置执行视频压缩技术,以使视频数据更加有效的传输或存储。
在视频压缩过程中为了便于编码,对变换系数进行量化,但是目前的量化过程复杂,造成编解码效率低。
发明内容
本申请实施例提供了一种视频编解码方法与系统、及视频编解码器,以提高编解码效率。
第一方面,本申请提供了一种视频编码方法,包括:
获取待编码块;
对所述待编码块进行编码,生成码流,所述码流中包括量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
第二方面,本申请实施例提供一种视频解码方法,包括:
解码码流,得到待解码块的量化方式标志位,所述量化方式标志位用于指示所述待解码块的目标反量化方式;
根据所述量化方式标志位,对所述待解码块进行解码。
第三方面,本申请提供了一种视频编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,该编码器包括用于执行上述第一方面或其各实现方式中的方法的功能单元。
第四方面,本申请提供了一种视频解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,该解码器包括用于执行上述第二方面或其各实现方式中的方法的功能单元。
第五方面,提供了一种视频编码器,包括处理器和存储器。该存储器用于存储计算机 程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第一方面或其各实现方式中的方法。
第六方面,提供了一种视频解码器,包括处理器和存储器。该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行上述第二方面或其各实现方式中的方法。
第七方面,提供了一种视频编解码系统,包括视频编码器和视频解码器。视频编码器用于执行上述第一方面或其各实现方式中的方法,视频解码器用于执行上述第二方面或其各实现方式中的方法。
第八方面,提供了一种芯片,用于实现上述第一方面至第二方面中的任一方面或其各实现方式中的方法。具体地,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的设备执行如上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第九方面,提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十一方面,提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
第十二方面,提供了一种码流,该码流经过上述第一方面的编码方法生成的,其中码流中包括指量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
基于以上技术方案,通过在码流中编入量化标志位,该量化标志位用于指示待编码块的目标量化方式。这样解码端可以直接从码流中解析出量化标志位,并根据该量化标志位确定待解码块所采用的目标反量化方式,并采用确定的目标反量化方式对待解码块进行反量化,即解码端直接可以从码流中解析出待解码块的目标反量化方式,无需采用其他的方式判断待解码块的目标反量化方式,进而降低解码复杂度,提高解码效率。
附图说明
图1为本申请实施例涉及的一种视频编解码系统的示意性框图;
图2是本申请实施例提供的视频编码器的示意性框图;
图3是本申请实施例提供的解码框架的示意性框图;
图4为两种量化器Q0和Q1进行量化的示意图;
图5A为决定变换系数所使用量化器的状态转移示意图;
图5B为量化器的状态转移表的示意图;
图6为网格结构表示状态与变换系数级别的依赖性示意图;
图7为Q0和Q1的候选变换系数级别示意图;
图8为本申请实施例一提供的视频编码方法的流程示意图;
图9为本申请另一实施例提供的视频编码方法的流程示意图;
图10为本申请涉及的Q0,Q1的量化器示意图;
图11为本申请一实施例涉及的状态机状态跳转示意图;
图12为本申请一实施例涉及的状态跳转及量化器选择示意图;
图13为本申请一实施例提供的视频解码方法的流程示意图;
图14为本申请另一实施例提供的视频解码方法的流程示意图;
图15为本申请实施例涉及的扫描区域的系数编码示意图;
图16是本申请实施例提供的视频编码器的示意性框图;
图17是本申请实施例提供的视频解码器的示意性框图;
图18是本申请实施例提供的电子设备的示意性框图;
图19是本申请实施例提供的视频编解码系统的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域等。例如,本申请的方案可结合至音视频编码标准(audio video coding standard,简称AVS),例如,H.264/音视频编码(audio video coding,简称AVC)标准,H.265/高效视频编码(high efficiency video coding,简称HEVC)标准以及H.266/多功能视频编码(versatile video coding,简称VVC)标准。或者,本申请的方案可结合至其它专属或行业标准而操作,所述标准包含ITU-TH.261、ISO/IECMPEG-1Visual、ITU-TH.262或ISO/IECMPEG-2Visual、ITU-TH.263、ISO/IECMPEG-4Visual,ITU-TH.264(还称为ISO/IECMPEG-4AVC),包含可分级视频编解码(SVC)及多视图视频编解码(MVC)扩展。应理解,本申请的技术不限于任何特定编解码标准或技术。
为了便于理解,首先结合图1对本申请实施例涉及的视频编解码系统进行介绍。
图1为本申请实施例涉及的一种视频编解码系统100的示意性框图。需要说明的是,图1只是一种示例,本申请实施例的视频编解码系统包括但不限于图1所示。如图1所示,该视频编解码系统100包含编码设备110和解码设备120。其中编码设备用于对视频数据进行编码(可以理解成压缩)产生码流,并将码流传输给解码设备。解码设备对编码设备编码产生的码流进行解码,得到解码后的视频数据。
本申请实施例的编码设备110可以理解为具有视频编码功能的设备,解码设备120可以理解为具有视频解码功能的设备,即本申请实施例对编码设备110和解码设备120包括更广泛的装置,例如包含智能手机、台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机等。
在一些实施例中,编码设备110可以经由信道130将编码后的视频数据(如码流)传输给解码设备120。信道130可以包括能够将编码后的视频数据从编码设备110传输到解码设备120的一个或多个媒体和/或装置。
在一个实例中,信道130包括使编码设备110能够实时地将编码后的视频数据直接发射到解码设备120的一个或多个通信媒体。在此实例中,编码设备110可根据通信标准来调制编码后的视频数据,且将调制后的视频数据发射到解码设备120。其中通信媒体包含无线通信媒体,例如射频频谱,可选的,通信媒体还可以包含有线通信媒体,例如一根或多根物理传输线。
在另一实例中,信道130包括存储介质,该存储介质可以存储编码设备110编码后的视频数据。存储介质包含多种本地存取式数据存储介质,例如光盘、DVD、快闪存储器等。在该实例中,解码设备120可从该存储介质中获取编码后的视频数据。
在另一实例中,信道130可包含存储服务器,该存储服务器可以存储编码设备110编码后的视频数据。在此实例中,解码设备120可以从该存储服务器中下载存储的编码后的视频数据。可选的,该存储服务器可以存储编码后的视频数据且可以将该编码后的视频数据发射到解码设备120,例如web服务器(例如,用于网站)、文件传送协议(FTP)服务器等。
一些实施例中,编码设备110包含视频编码器112及输出接口113。其中,输出接口113可以包含调制器/解调器(调制解调器)和/或发射器。
在一些实施例中,编码设备110除了包括视频编码器112和输入接口113外,还可以包括视频源111。
视频源111可包含视频采集装置(例如,视频相机)、视频存档、视频输入接口、计算机图形系统中的至少一个,其中,视频输入接口用于从视频内容提供者处接收视频数据,计算机图形系统用于产生视频数据。
视频编码器112对来自视频源111的视频数据进行编码,产生码流。视频数据可包括一个或多个图像(picture)或图像序列(sequence of pictures)。码流以比特流的形式包含了图像或图像序列的编码信息。编码信息可以包含编码图像数据及相关联数据。相关联数据可包含序列参数集(sequence parameter set,简称SPS)、图像参数集(picture parameter set,简称PPS)及其它语法结构。SPS可含有应用于一个或多个序列的参数。PPS可含有应用于一个或多个图像的参数。语法结构是指码流中以指定次序排列的零个或多个语法元素的集合。
视频编码器112经由输出接口113将编码后的视频数据直接传输到解码设备120。编码后的视频数据还可存储于存储介质或存储服务器上,以供解码设备120后续读取。
在一些实施例中,解码设备120包含输入接口121和视频解码器122。
在一些实施例中,解码设备120除包括输入接口121和视频解码器122外,还可以包括显示装置123。
其中,输入接口121包含接收器及/或调制解调器。输入接口121可通过信道130接收编码后的视频数据。
视频解码器122用于对编码后的视频数据进行解码,得到解码后的视频数据,并将解码后的视频数据传输至显示装置123。
显示装置123显示解码后的视频数据。显示装置123可与解码设备120整合或在解码设备120外部。显示装置123可包括多种显示装置,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或其它类型的显示装置。
此外,图1仅为实例,本申请实施例的技术方案不限于图1,例如本申请的技术还可以应用于单侧的视频编码或单侧的视频解码。
下面对本申请实施例涉及的视频编码器进行介绍。
图2是本申请实施例提供的视频编码器的示意性框图。应理解,该视频编码器200可用于对图像进行有损压缩(lossy compression),也可用于对图像进行无损压缩(lossless compression)。该无损压缩可以是视觉无损压缩(visually lossless compression),也可以是数学无损压缩(mathematically lossless compression)。
该视频编码器200可应用于亮度色度(YCbCr,YUV)格式的图像数据上。例如,YUV比例可以为4:2:0、4:2:2或者4:4:4,Y表示明亮度(Luma),Cb(U)表示蓝色色度,Cr(V)表示红色色度,U和V表示为色度(Chroma)用于描述色彩及饱和度。例如,在颜色格式上,4:2:0表示每4个像素有4个亮度分量,2个色度分量(YYYYCbCr),4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),4:4:4表示全像素显示(YYYYCbCrCbCrCbCrCbCr)。
例如,该视频编码器200读取视频数据,针对视频数据中的每帧图像,将一帧图像划分成若干个编码树单元(coding tree unit,CTU)、“最大编码单元”(Largest Coding unit,简称LCU)或“编码树型块”(coding tree block,简称CTB)。每一个CTU可以与图像内的具有相等大小的像素块相关联。每一像素可对应一个亮度(luminance或luma)采样及两个色度(chrominance或chroma)采样。因此,每一个CTU可与一个亮度采样块及两个色度采样块相关联。一个CTU大小例如为128×128、64×64、32×32等。一个CTU又可以继续被划分成若干个编码单元(Coding Unit,CU)进行编码,CU可以为矩形块也可以为方形块。CU可以进一步划分为预测单元(prediction Unit,简称PU)和变换单元(transform unit,简称TU),进而使得编码、预测、变换分离,处理的时候更灵活。在一种示例中,CTU以四叉树方式划分为CU,CU以四叉树方式划分为TU、PU。
视频编码器及视频解码器可支持各种PU大小。假定特定CU的大小为2N×2N,视频编码器及视频解码器可支持2N×2N或N×N的PU大小以用于帧内预测,且支持2N×2N、2N×N、N×2N、N×N或类似大小的对称PU以用于帧间预测。视频编码器及视频解码器还可支持2N×nU、2N×nD、nL×2N及nR×2N的不对称PU以用于帧间预测。
在一些实施例中,如图2所示,该视频编码器200可包括:预测单元210、残差单元220、变换/量化单元230、反变换/量化单元240、重建单元250、环路滤波单元260、解码图像缓存270和熵编码单元280。需要说明的是,视频编码器200可包含更多、更少或不同的功能组件。
可选的,在本申请中,当前块(current block)可以称为当前编码单元(CU)或当前预测单元(PU)等。预测块也可称为预测待编码块或图像预测块,重建待编码块也可称为重建块或图像重建待编码块。
在一些实施例中,预测单元210包括帧间预测单元211和帧内预测单元212。由于视频的一个帧中的相邻像素之间存在很强的相关性,在视频编解码技术中使用帧内预测的方法消除相邻像素之间的空间冗余。由于视频中的相邻帧之间存在着很强的相似性,在 视频编解码技术中使用帧间预测方法消除相邻帧之间的时间冗余,从而提高编码效率。
帧间预测单元211可用于帧间预测,帧间预测可以参考不同帧的图像信息,帧间预测使用运动信息从参考帧中找到参考块,根据参考块生成预测块,用于消除时间冗余;帧间预测所使用的帧可以为P帧和/或B帧,P帧指的是向前预测帧,B帧指的是双向预测帧。运动信息包括参考帧所在的参考帧列表,参考帧索引,以及运动矢量。运动矢量可以是整像素的或者是分像素的,如果运动矢量是分像素的,那么需要再参考帧中使用插值滤波做出所需的分像素的块,这里把根据运动矢量找到的参考帧中的整像素或者分像素的块叫参考块。有的技术会直接把参考块作为预测块,有的技术会在参考块的基础上再处理生成预测块。在参考块的基础上再处理生成预测块也可以理解为把参考块作为预测块然后再在预测块的基础上处理生成新的预测块。
目前最常用的帧间预测方法包括:VVC视频编解码标准中的几何划分模式(geometric partitioning mode,GPM),以及AVS3视频编解码标准中的角度加权预测(angular weighted prediction,AWP)。这两种帧内预测模式在原理上有共通之处。
帧内预测单元212只参考同一帧图像的信息,预测当前码待编码块内的像素信息,用于消除空间冗余。帧内预测所使用的帧可以为I帧。
在一些实施例中,帧内预测方法还包括多参考行帧内预测方法(multiple reference line,MRL),MRL可以使用更多的参考像素从而提高编码效率。
帧内预测有多种预测模式,H.264中对4×4的块进行帧内预测的9种模式。其中模式0是将当前块上面的像素按竖直方向复制到当前块作为预测值;模式1是将左边的参考像素按水平方向复制到当前块作为预测值;模式2(DC)是将A~D和I~L这8个点的平均值作为所有点的预测值,模式3至模式8是分别按某一个角度将参考像素复制到当前块的对应位置。因为当前块某些位置不能正好对应到参考像素,可能需要使用参考像素的加权平均值,或者说是插值的参考像素的分像素。
HEVC使用的帧内预测模式有平面模式(Planar)、DC和33种角度模式,共35种预测模式。VVC使用的帧内模式有Planar、DC和65种角度模式,共67种预测模式。AVS3使用的帧内模式有DC、Plane、Bilinear和63种角度模式,共66种预测模式。
需要说明的是,随着角度模式的增加,帧内预测将会更加精确,也更加符合对高清以及超高清数字视频发展的需求。
残差单元220可基于CU的像素块及CU的PU的预测块来产生CU的残差块。举例来说,残差单元220可产生CU的残差块,使得残差块中的每一采样具有等于以下两者 之间的差的值:CU的像素块中的采样,及CU的PU的预测块中的对应采样。
变换/量化单元230可量化变换系数。变换/量化单元230可基于与CU相关联的量化参数(QP)值来量化与CU的TU相关联的变换系数。视频编码器200可通过调整与CU相关联的QP值来调整应用于与CU相关联的变换系数的量化程度。
反变换/量化单元240可分别将逆量化及逆变换应用于量化后的变换系数,以从量化后的变换系数重建残差块。
重建单元250可将重建后的残差块的采样加到预测单元210产生的一个或多个预测块的对应采样,以产生与TU相关联的重建待编码块。通过此方式重建CU的每一个TU的采样块,视频编码器200可重建CU的像素块。
环路滤波单元260可执行消块滤波操作以减少与CU相关联的像素块的块效应。
在一些实施例中,环路滤波单元260包括去块滤波单元、样点自适应补偿SAO单元、自适应环路滤波ALF单元。
解码图像缓存270可存储重建后的像素块。帧间预测单元211可使用含有重建后的像素块的参考图像来对其它图像的PU执行帧间预测。另外,帧内预测单元212可使用解码图像缓存270中的重建后的像素块来对在与CU相同的图像中的其它PU执行帧内预测。
熵编码单元280可接收来自变换/量化单元230的量化后的变换系数。熵编码单元280可对量化后的变换系数执行一个或多个熵编码操作以产生熵编码后的数据。
本申请涉及的视频编码的基本流程如下:在编码端,将当前图像划分成块,针对当前块,预测单元210使用帧内预测或帧间预测产生当前块的预测块。残差单元220可基于预测块与当前块的原始块计算残差块,即预测块和当前块的原始块的差值,该残差块也可称为残差信息。该残差块经由变换/量化单元230变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。可选的,经过变换/量化单元230变换与量化之前的残差块可称为时域残差块,经过变换/量化单元230变换与量化之后的时域残差块可称为频率残差块或频域残差块。熵编码单元280接收到变换量化单元230输出的量化后的变换系数,可对该量化后的变换系数进行熵编码,输出码流。例如,熵编码单元280可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。
另外,视频编码器对变换量化单元230输出的量化后的变换系数进行反量化和反变换,得到当前块的残差块,再将当前块的残差块与当前块的预测块进行相加,得到当前块的重建块。随着编码的进行,可以得到当前图像中其他待编码块对应的重建块,这些 重建块进行拼接,得到当前图像的重建图像。由于编码过程中引入误差,为了降低误差,对重建图像进行滤波,例如,使用ALF对重建图像进行滤波,以减小重建图像中像素点的像素值与当前图像中像素点的原始像素值之间差异。将滤波后的重建图像存放在解码图像缓存270中,可以为后续的帧作为帧间预测的参考帧。
需要说明的是,编码端确定的块划分信息,以及预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息等在必要时携带在码流中。解码端通过解析码流及根据已有信息进行分析确定与编码端相同的块划分信息,预测、变换、量化、熵编码、环路滤波等模式信息或者参数信息,从而保证编码端获得的解码图像和解码端获得的解码图像相同。
图3是本申请实施例提供的视频解码器的示意性框图。
如图3所示,视频解码器300包含:熵解码单元310、预测单元320、反量化/变换单元330、重建单元340、环路滤波单元350及解码图像缓存360。需要说明的是,视频解码器300可包含更多、更少或不同的功能组件。
视频解码器300可接收码流。熵解码单元310可解析码流以从码流提取语法元素。作为解析码流的一部分,熵解码单元310可解析码流中的经熵编码后的语法元素。预测单元320、反量化/变换单元330、重建单元340及环路滤波单元350可根据从码流中提取的语法元素来解码视频数据,即产生解码后的视频数据。
在一些实施例中,预测单元320包括帧内预测单元321和帧间预测单元322。
帧内预测单元321可执行帧内预测以产生PU的预测块。帧内预测单元321可使用帧内预测模式以基于空间相邻PU的像素块来产生PU的预测块。帧内预测单元321还可根据从码流解析的一个或多个语法元素来确定PU的帧内预测模式。
帧间预测单元322可根据从码流解析的语法元素来构造第一参考图像列表(列表0)及第二参考图像列表(列表1)。此外,如果PU使用帧间预测编码,则熵解码单元310可解析PU的运动信息。帧间预测单元322可根据PU的运动信息来确定PU的一个或多个参考块。帧间预测单元322可根据PU的一个或多个参考块来产生PU的预测块。
反量化/变换单元330可逆量化(即,解量化)与TU相关联的变换系数。反量化/变换单元330可使用与TU的CU相关联的QP值来确定量化程度。
在逆量化变换系数之后,反量化/变换单元330可将一个或多个逆变换应用于逆量化变换系数,以便产生与TU相关联的残差块。
重建单元340使用与CU的TU相关联的残差块及CU的PU的预测块以重建CU的 像素块。例如,重建单元340可将残差块的采样加到预测块的对应采样以重建CU的像素块,得到重建待编码块。
环路滤波单元350可执行消块滤波操作以减少与CU相关联的像素块的块效应。
在一些实施例中,环路滤波单元350包括去块滤波单元、样点自适应补偿SAO单元、自适应环路滤波ALF单元。
视频解码器300可将CU的重建图像存储于解码图像缓存360中。视频解码器300可将解码图像缓存360中的重建图像作为参考图像用于后续预测,或者,将重建图像传输给显示装置呈现。
本申请涉及的视频解码的基本流程如下:熵解码单元310可解析码流得到当前块的预测信息、量化系数矩阵等,预测单元320基于预测信息对当前块使用帧内预测或帧间预测产生当前块的预测块。反量化/变换单元330使用从码流得到的量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块。重建单元340将预测块和残差块相加得到重建块。重建块组成重建图像,环路滤波单元350基于图像或基于块对重建图像进行环路滤波,得到解码图像。该解码图像也可以称为重建图像,该重建图像一方面可以被显示设备进行显示,另一方面可以存放在解码图像缓存360中,为后续的帧作为帧间预测的参考帧。
上述是基于块的混合编码框架下的视频编解码器的基本流程,随着技术的发展,该框架或流程的一些模块或步骤可能会被优化,本申请适用于该基于块的混合编码框架下的视频编解码器的基本流程,但不限于该框架及流程。
下面对本申请涉及的量化技术进行介绍。
依赖性量化(Dependent Quantization,DQ),也称为对偶量化。对偶量化作用在变换后的块上。与传统的量化不同的是,对偶量化共包含了两个量化器,这两个量化器虽然有着相同的量化步长,但与变换系数的匹配却是交错的。图4是对偶量化的量化器Q0和量化器Q1与变换系数匹配的示意图。
其中,量化器Q0匹配了偶数倍的量化步长Δ与变换系数级别(即A,B点对应的数字),量化器Q1匹配了奇数倍的量化步长Δ与变换系数级别(即C,D点对应的数字)。
依赖量化通过引入两个交错的量化器,以及量化器之间跳转的原则,使得大步长的量化器能够完成更精细的量化,达到减小了重建的变换系数与原始变换系数之间的损失,从而提高编码效率。
对于每个变换系数,都可以使用图4中描述的两种量化器Q0,Q1进行量化,这两个量化器的量化的方式与传统的量化器(例如HEVC中的量化)相似。两个量化器的重建系数都可以用量化步长Δ表示,两个量化器的重建系数定义如下:
Q0:该量化器的重建级别为偶数倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(1)计算,
t'=2·k·Δ (1)
其中,k表示图4中所述相关的变换系数级别。
Q1:该量化器的重建级别为奇数或零倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(2)计算,
t'=(2·k-sgn(k))·Δ (2)
其中,sgn(·)代表符号函数,
使用Q0或Q1进行量化并不会通过编码标志位来进行控制。取而代之的是,使用在系数扫描顺序上的上一个系数的变换系数级别(图4中所述的变换系数级别)的奇偶性来决定当前变换系数使用Q0或Q1。
图5A为决定变换系数所使用量化器的状态转移示意图,图5B为量化器的状态转移表的示意图。在系数扫描顺序上,当前量化系数的重建值可以通过图5A中所示的转移方法决定下一个系数的状态,状态共有四种,分别由0,1,2,3这四个值来表示。例如当前量化系数的状态为2且当前变换系数级别为5时,由于5是奇数,所以决定下一个系数的状态跳转为状态3。每一个变换块在扫描顺序上的第一个系数的状态被设定为初始状态0。状态的0,1,2,3也决定这当前的系数使用哪一个量化器,状态0,1对应着使用量化器Q0,状态2,3对应着使用量化器Q1。
对对偶量化的决策与率失真优化量化(rate-distortion optimized quantization,RDOQ)的实现方式相似,变换系数级别{q k}的取值为最小化如下公式(3)拉格朗日率失真代价的一个过程,
J=D+λ·R=∑ k(t k-t' k(q k|q k-1,q k-2,...)) 2+λ·R k(q k|q k-1,q k-2,...) (3)
其中,t k和q k分别代表原始的表换系数和变换系数级别,t' k(q k|...)代表在当前变换系数级别q k下重建出的变换系数值,R K(q k|...)代表估计出的编码q k需要消耗的比特数。
图6为网格结构表示状态与变换系数级别的依赖性示意图,其编码顺序从左到右。 如之前所介绍的状态机的转移,可以将量化器与变换系数级别之间的依赖性表示成如图6所示的网格图,每一列的四个状态表示当前量化系数的可能的四种状态,每个节点与编码顺序上下一个系数的可能的两个状态节点相连。对于一个给定的当前状态和当前变换系数t k,可以使用当前量化器量化出对应的变换系数级别,编码器可以选择使用奇数的变换系数级别也可以选择使用偶数的变换系数级别,奇数变换系数级别对应图6中B(Q0 with parity 1)和D(Q1 with parity 1),偶数变换系数级别对应A(Q0 with parity 0)和C(Q1 with parity 0)。当算出所有节点的代价J K(q k)=(t k-t' k(q k|...)) 2+λ·R k(q k|...)后,变换系数级别q k就可以通过找到一条代价总和最小的路线来决定,而确定最小代价和可以通过维特比算法(Viterbi algorithm)来实现。
具体的实现由两步组成:
步骤1,找到4个与原始变换系数对应的4个分别来自Q0和Q1的候选变换系数级别如图7所示;
步骤2,使用维特比算法以估计出的rate-distortion总和(之前节点已确定的变换系数级别对应的代价综合)来确定一系列当前节点的变换系数级别q k
上文对DQ技术以及变换系数的变化系数级别的确定过程进行介绍,在此基础上,下面结合具体的实施例对本申请实施例提供的技术方案进行详细描述。
下面结合图8对编码端进行介绍。
图8为本申请实施例一提供的视频编码方法的流程示意图,本申请实施例应用于图1和图2所示视频编码器。如图8所示,本申请实施例的方法包括:
S801、获取待编码块;
S802、对待编码块进行编码,生成码流,其中,码流中包括量化方式标志位,该量化方式标志位用于指示待编码块所采用的目标量化方式。
在一些实施例中,本申请的待编码块也可以称为当前块,或当前待处理的图像块,或图像块,或待编码的图像块等。
在视频编码过程中,视频编码器接收视频流,该视频流由一系列图像帧组成,针对视频流中的每一帧图像进行视频编码,为了便于描述,本申请将当前待编码的一帧图像记为当前图像。
具体的,参照图2所示,视频编码器将当前图像划分成一个或多个待编码块,针对每个待编码块,视频编码器中的预测单元210经由帧间预测、帧内预测产生待编码块的 预测块之后,将预测块发送给残差单元220,该残差单元220可以理解为求和器,包括执行减法运算的一个或多个组建。残差单元220从待编码块中减去预测块形成残差块,并将残差块发送给变换量化单元230。变换量化单元230使用例如离散余弦变换(DCT)或者类似的变换将残差块进行变换处理,得到变换系数。变换量化单元230进一步对变换系数进行量化,得到量化后的变换系数,即量化系数。
由图2可知,变换量化单元230将量化后的变换系数转发给熵编码单元280。熵编码单元280对量化后的变换系数进行熵编码。举例来说,熵编码单元280可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码等编码方法,对量化后的变换系数进行熵编码,得到码流。
本申请主要针对的是上述量化过程。
本申请实施例编码端通过在码流中编入量化方式标志位用于指示该待编码块在量化时所采用的目标量化方式。这样解码端可以直接从码流中解析出量化方式标志位,并根据该量化方式标志位确定待解码块所采用的目标反量化方式,并采用确定的目标反量化方式对待解码块进行反量化,即解码端直接可以从码流中解析出待解码块的目标反量化方式,无需采用其他的方式判断待解码块的量化方式,进而降低解码复杂度,提高解码效率。
在一些实施例中,上述目标量化方式可以是多种量化方式中的任意一种量化方式,例如为多种量化方式中编码损失最小的量化方式。
在一些实施例中,上述目标量化方式为第一种量化方式或者为第二种量化方式,其中第一种量化方式与第二种量化方式不同。本实施例对第一种量化方式和第二种量化方式的具体类型不做限制。
示例性的,第一种量化方式包括DQ量化方式,第二种量化方式包括非DQ量化方式。
可选的,非DQ量化方式包括默认的量化方式。
在一些实施例中,默认的量化方式可以为RDOQ量化方式或恒定量化参数量化方式等。
在一些实施例中,本申请实施例的量化方式标志位可以为块级(CU/TU)的量化方式标志位。
在一种示例中,块级的量化方式标志位用于指示该块的目标量化方式。
在一些实施例中,本申请实施例的量化方式标志位可以为序列级的量化方式标志位。
在一种示例中,序列级的量化方式标志位用于指示该序列中的所有块的目标量化方式。当序列级的量化方式标志位的值为1时,表示该序列中的所有块均可以使用DQ量化方式。当序列级的量化方式标志位的值为0时,表示该序列中的所有块均不可以使用DQ量化方式。
在一些实施例中,本申请实施例的量化方式标志位可以为CTU级的量化方式标志位。
在一种示例中,CTU级的量化方式标志位用于指示该CTU中的所有块的目标量化方式。例如,当CTU级的量化方式标志位的值为1时,表示该CTU中的所有块均可以使用DQ量化方式。当CTU级的量化方式标志位的值为0时,表示该CTU中的所有块均不可以使用DQ量化方式。
由上述可知,本申请实施例的量化方式标志位可以为块级(CU/TU)的量化方式标志位、序列级的量化方式标志位或CTU级的量化方式标志位,使得量化方式标志位的样式丰富,进而提高了编码的多样性。另外,当量化方式标志位为序列级的量化方式标志位时,编码端针对序列中的所有块只需在码流中编入一个量化方式标志位即可指示该序列中的所有块的目标量化方式,或者当量化方式标志位为CTU级的量化方式标志位时,编码端针对CTU中的所有块只需在码流中编入一个量化方式标志位即可指示该CTU中的所有块的目标量化方式,进而大大减少编入码流的量化方式标志位的个数,进而节约码字,提高编码效率。
图9为本申请另一实施例提供的视频编码方法的流程示意图,本申请实施例的方法包括:
S901、获取待编码块。
S902、对待编码块进行预测,得到待编码块的预测块。
S903、根据待编码块和预测块,得到待编码块的残差块。
S904、对残差块进行变换,得到变换系数。
例如,经由帧间预测、帧内预测产生待编码块的预测块。从待编码块中减去预测块形成残差块。对残差块进行变换处理,得到变换系数。
S905、确定待编码块的目标量化方式。
在一些实施例中,上述目标量化方式为默认的量化方式。
在一些实施例中,上述目标量化方式为M种量化方式中的任意一种量化方式,例如 目标量化方式为随机的一种量化方式,所述M为大于或等于2的正整数。
在一些实施例中,上述目标量化方式为M种量化方式中编码代价最小的量化方式,即S905包括:针对预设的M种量化方式中的每一种量化方式,确定使用该种量化方式对待编码块进行量化时的编码代价。
示例性的,本申请实施例可以基于拉格朗日率失真代价来计算编码代价。
本申请实施例涉及的计算编码代价的方式包括但不限于如下几种:
方式一,基于空域的编码代价
针对M种量化方式中每一种量化方式,使用该量化方式对变化系数进行量化,得到量化系数,再对该量化系数进行反量化和反变化,得到待编码块的残差值,将待编码块的残差值与待编码块的预测值进行重构,例如相加得到待编码块的重建值Coef rec。确定待编码块的重建值Coef rec与待编码块的原始像素值Coef org之间的失真D1。根据待编码块的重建值Coef rec与待编码块的原始像素值Coef org之间的失真D1,确定该量化方式对应的编码代价。
例如,采用如下公式(4)计算各量化方式对应的编码代价J:
J=D1+λ×R1 (4)
其中,R1代表编码该待编码块的各种flag及系数所消耗的比特数,λ为与量化参数相关的一个变量,D1表示待编码块的重建值Coef rec与待编码块的原始像素值Coef org之间的失真。
示例性的,可以根据如下公式(5),计算待编码块的重建值Coef rec与待编码块的原始像素值Coef org之间的失真D1:
D1=(Coef org-Coef rec) 2 (5)
方式二,基于变换域的编码代价
针对M种量化方式中每一种量化方式,使用该量化方式对变化系数进行量化,得到量化系数,再对该量化系数进行反量化得到反量化系数。确定反量化Coef invQ与实际变换系数Coef Trans之间的失真D2。根据反量化Coef invQ与实际变换系数Coef Trans之间的失真D2,确定该量化方式对应的编码代价。
例如,采用如下公式(6)计算各量化方式对应的编码代价J:
J=D2+λ×R2 (6)
其中,R代表编码该待编码块中系数所消耗的比特数,λ为与量化参数相关的一个变量,D2表示反量化Coef invQ与实际变换系数Coef Trans之间的失真。
示例性的,可以根据如下公式(7),计算反量化Coef invQ与实际变换系数Coef Trans 之间的失真D2:
D2=(Coef invQ-Coef Trans) 2 (7)
需要说明的是,本申请实施例确定各量化方式对应的编码代价的方式包括但不限于如上两种方式。
该实施例中,针对M种量化方式中的每一种量化方式,采用上述方式一或方式二,计算出每一种量化方式对应的编码代价,将编码代价最小的量化方式确定为目标量化方式。
S906、根据目标量化方式,确定量化方式标志位的值。
示例性的,上述M种量化方式中包括第一种量化方式,因此,本申请实施例的目标量化方式可以为第一种量化方式,也可以第二种量化方式。
在一些实施例中,若目标量化方式为第一种量化方式,则确定量化方式标志位的值为第一数值;
若目标量化方式为第二种量化方式,则确定量化方式标志位的值为第二数值。
可选的,第一种量化方式包括DQ量化方式,第二种量化方式包括非DQ量化方式。
可选的,非DQ量化方式包括默认量化方式,例如RDOQ量化方式。
其中,上述第一数值和第二数值可以为任意值,本申请实施例对此不做限制。
可选的,第一数值可以为1。
可选的,第二数值可以为0。
即本申请实施例可以通过量化方式标志位的值来确定待编码块的目标量化方式,例如依赖性量化标注位的值为第一数值(例如1)时,确定目标量化方式为DQ量化方式,若依赖性量化标注位为的值为第二数值(例如0)时,确定目标量化方式为非DQ量化方式。
S907、使用目标量化方式对变换系数进行量化,得到量化系数。
在一些实施例中,本申请的量化系数也可以量化后的系数,或者当前系数,或者待编码的系数,或者变化系数级别、重建级别或重建电平等。
需要说明的是,上述S907和S906在执行时没有先后顺序,即S907可以在上述S906之后执行,也可以在S906之前执行,还可以与S906同时执行。
若目标量化方式为DQ量化方式,则编码端采用DQ量化方式对待编码块的变化系数进行量化,得到量化系数。例如,从DQ量化方式对应的N个量化器中选择一个量化器对该变化系数进行量化。
若目标量化方式不是DQ量化方式时,编码端采用非DQ量化方式对待编码块的变化系数进行量化,得到量化系数。例如,编码端采用RDOQ量化方式对待编码块的变化系数进行量化。
S908、对量化系数进行编码,并将所述量化方式标志位的值编入码流。
在一些实施例中上述N个量化器中至少有一个量化器为可以将变换系数均量化为非零量化系数的非零量化器。其中非零量化器也可以称为非零点量化器。
在一些实施例中,N个量化器中至少有一个量化器为可以将变换系数量化为零的零点量化器。
在一些实施例中,N个量化器包括一个零点量化器和一个非零量化器。即N=2,即本申请提出在两个量化器中,只有一个量化器有零点,即一个量化器可以把系数量化为零,这样的量化器称为零点量化器;另一个量化器不可以把系数量化为零,这样的量化器称为非零量化器。
在一些实施例中,在编码sig_flag时,有以下两种情况可跳过对其编码:
情况1,根据扫描顺序上的上一个量化系数的状态来获取当前量化系数的状态,进而确定目标量化器是否为非零量化器(例如状态为0或1时,确定目标量化器为零点量化器,例如当前量化系数的状态为2或3时,确定目标量化器为非零量化器),在确定目标量化器为非零量化器时,跳过对sig_flag的编码并默认其值为1。
情况2,当前扫描区域的最右一列仅右上角系数为非零或最下一行仅左下角系数为非零时,也可跳过对sig_flag的编码并默认其值为1。
即本申请对使用非零量化器进行量化的系数编码时,因为编码器已知非零量化器量化的数据最小值的绝对值为1,也就是说所有非零量化器量化后的系数都是非零值,因此非零量化器量化后的系数不需要编码系数非零标志sig_flag,从而节省码字。
在一些实施例中,如图10所示,N个量化器包括Q0量化器和Q1量化器。其中Q0量化器并未作出改变,Q1量化器则是去掉了量化为0的点,即Q1量化器只能将系数量化成非零系数,这里Q0是零点量化器,Q1是非零量化器。
在一些实施例中,非零量化器也可以是Q0,也就是说Q0量化器没有零点,但Q1量化器有零点。
在一些实施例中,两个量化器都没有零点,即Q0和Q1都是非零量化器。
可选的,量化器的个数也可以进一步扩展,可以是两个也可以是两个以上的量化器。 对于两个以上量化器的情况,即N大于2时,N个量化器中零点量化器可以是其中任意一个,也可以是其中任意多个。
如图10所示的双量化器,使用量化器Q0进行量化或反量化时,可以获得偶数倍的Δ的反量化值,而使用量化器Q1进行量化或反量化时,可以得到奇数倍的Δ的反量化值(Δ代表量化步长,是由量化参数Quantization parameter查表得到的一个参数,量化参数为编码端定义的值)。
将一个量化值编入码流时,会根据它的大小将其使如表1所示的flag表示。
如图10所示,量化值分为4个子集,为S0、S1、S2和S3,其中子集S0和S2归属于量化器Q0,子集S1和S3归属于Q1。
在一些实施例中,本申请的DQ量化方式根据前一个量化系数是否等于1作为跳转条件来选择目标量化器。该目标量化器可以理解为DQ量化方式对应的N个量化器中用于量化变化系数的量化器。
在一些实施例中,前一个量化系数可以理解为在量化顺序(或扫描顺序)中,位于该变化系数之前的已量化的变换系数。
在一些实施例中,本申请从N个量化器中确定一个目标量化器对变化系数进行量化,包括如下步骤:
A1,获取前一个量化系数的状态;
A2,根据前一个量化系数的标志位信息,以及前一个量化系数的状态,确定当前量化系数状态;
A3,根据当前量化系数状态,从N个量化器中确定目标量化器;
A4,使用目标量化器,对变换系数进行量化。
在实际编码过程中,编码设备会根据状态机的当前状态判断当前量化过程中所使用的目标量化器,对非零量化器,在尝试量化的时候将不再能够把系数量化成零。
其中量化系数的状态通过状态机来表征,即状态机的状态可以理解为量化系数的状态。
可选的,状态机的初始状态为0。
在一些实施例中,码流中包括状态机的初始状态。例如,状态机的初始状态为0,使得解码端的状态机的初始状态与编码端的一致,进而保证了解码端对系数的准确解码。
本申请中由于当前量化系数的前一个量化系数已编码,其状态已知,因此,编码设备可以获得该前一个量化系数的状态。
在一些实施例中,量化系数的标志位信息包括如下至少一个:系数非零标志(Significant flag,简称Sig flag)、至少一个系数绝对值大于i标志(Greater than i flag,简称gti flag),所述i=1,2...。
在一种示例中,前一个量化系数的标志位信息包括该前一个量化系数的系数非零标志、系数绝对值大于1标志(Greater than 1 flag,简称gt1 flag)、系数绝对值大于2标志(Greater than 2 flag,简称gt2 flag)。
在一种示例中,前一个量化系数的标志位信息包括该前一个量化系数的Sig flag、gt1 flag、gt2 flag、gt3 flag、……、gtK flag,其中K大于3。
在一些实施例中,上述A2中根据所述前一个量化系数的标志位信息,以及所述前一个量化系数的状态,确定所述当前量化系数的状态的方式包括但不限于如下方式:
方式一,若前一个量化系数的标志位信息中的Sig flag的值为0时,则根据前一个量化系数的状态,确定所述当前量化系数的状态。例如,前一个量化系数的状态为0时,则确定当前量化系数的状态为0,若前一个量化系数的状态为1时,则确定当前量化系数的状态为2,若前一个量化系数的状态为2时,则确定当前量化系数的状态为1,若前一个量化系数的状态为3时,则确定当前量化系数的状态为3。
方式二,上述A2包括如下步骤A21和A22:
A21、根据前一个量化系数的标志位信息,确定状态跳转值;
A22、根据前一个量化系数的状态和状态跳转值,确定当前量化系数的状态。
在一种示例中,前一个量化系数的标志位信息包括系数非零标志,若系数非零标志的值为0时,则确定状态跳转值为0。
在另一种示例中,前一个量化系数的标志位信息包括系数非零标志和系数绝对值大于1标志,此时,若系数非零标志的值和系数绝对值大于1标志的值满足如下公式(8),则确定状态跳转值为1;若系数非零标志的值和系数绝对值大于1标志的值不满足如下公式(8),则确定状态跳转值为0;
t=sigflag==1&&gt1==0 (8)
其中,t为状态跳转值,sigflag为系数非零标志的值,gt1为系数绝对值大于1标志(即gt1 flag)的值。
根据上述方式,确定出t后,根据t和前一个量化系数的状态,确定出当前量化系数的状态。
本申请可由如图11所示的状态机完成状态的转移。例如,如图11所示,当t=1,表 示t为真,当t=0时,表示t为假。这样可以根据如上公式(8)确定出t的真假,并根据t的真假和前一个量化系数的状态,确定出当前量化系数的状态,例如,当t为真,前一个量化系数的状态为2,则当前量化系数的状态为3。
由上述公式(8)可知,当量化系数的值为1时,t为真,当量化系数的值不等于1时,t为假。也就是说,本申请实施例中量化器之间的跳转是基于前一个位置上的量化系数是否等于1,例如图12所示,当前状态为状态0时,若当前量化值为0,则下一个状态依然为状态0,若当前量化值为1,则下一个状态跳转至状态2。
在一些实施例中,根据当前量化系数的状态,更新状态机的状态。
需要说明的是,本申请实施例涉及的状态跳转方法包括但不限于图11所示的方法,例如还可以采用已有的状态跳转方法或未来其他的状态跳转方法。
下面对量化方式标志位的使用条件进行介绍。
在以下两种状况下,依赖性量化效果可能不佳:
1)如图4所示,当前块中多数变换值没有集中在Δ附近时;
2)当前块的变换系数个数过少。
基于上述状况,在一些实施例中,对DQ量化方式的使用设定条件,即在满足设定的条件时,可以使用DQ量化方式,即DQ量化方式打开。在不满足设定的条件时,不可以使用DQ量化方式,即DQ量化方式关闭。
在一些实施例中,本申请可以基于第一种量化方式,例如DQ量化方式可否使用来确定是否在码流中编入量化方式标志位。
在一些实施例中,无论待编码块是否可以采用第一种量化方式,例如DQ量化方式进行量化,码流中均可以编码量化方式标志位,例如在VVC中,可以对任意块的码流中编入量化方式标志位,以表示该块是否使用DQ量化方式进行量化。
在一些实施例中,在确定待编码块满足目标条件时,将量化方式标志位编入码流中,其中,目标条件包括如下至少一个条件:待编码块的颜色分量为亮度分量、待编码块不划分为变换单元TU、待编码块的扫描区域大于预设值。
在一种示例中,上述待编码块的扫描区域大于预设值包括:待编码块的扫描区域的SRx乘SRy大于第一预设值,或者,待编码块的扫描区域的SRx或SRy大于第二预设值。
本实施例对上述第一预设值和第二预设值的具体大小不进行限定。
可选的,第一预设值为10,例如SRx*SRy>10。
即该实施例中,若待编码块满足上述目标条件时,例如待编码块的颜色分量为亮度分量、待编码块不划分为变换单元TU、待编码块的扫描区域大于预设值,待编码块可以使用第一种量化方式,例如DQ量化方式进行量化,此时,可以在码流中编入量化方式标志位。若待编码块满足上述目标条件时,确定待编码块不可以使用第一种量化方式,例如DQ量化方式,进行量化,此时,在码流中不编入量化方式标志位。
由上述可知,在一些实施例中,根据颜色分量来确定是否在码流中编入量化方式标志位,这是由于在色度分量下使用DQ量化方式进行量化时,量化效果不明显,而在亮度分量下使用DQ量化方式进行量化时,可以达到较好的量化效果。因此,本实施例在确定待编码块的颜色分量为亮度分量时,在码流中编入量化方式标志位,而在确定待编码块的颜色分量为色度分量时,在码流中不编入量化方式标志位,进而提高了量化方式标志位的编入准确性,防止在确定无法使用DQ量化方式的情况下编入量化方式标志导致浪费码字的情况发生,进而提高了编码效率。
另外,在待编码块不划分为变换单元TU或待编码块的扫描区域大于预设值时,可以确定待编码块较大,则待编码块中的变化系数数量较多,采用DQ量化方式可以实现较好的量化效果。因此,在待编码块不划分为变换单元TU或待编码块的扫描区域大于预设值时,在码流中编入量化方式标志位,进而提高了量化方式标志位的编入准确性,进而提高了编码效率。
在一些实施例中,在确定待编码块属于I帧时,将量化方式标志位编入所述码流。这是由于I帧的压缩效果差,残差大,形成的变化块中变化系数较多,采用第一种量化方式,例如DQ量化方式可以达到较好的量化效果,因此,在确定待编码块属于I帧时,将量化方式标志位编入码流。
在一些实施例中,在确定待编码块属于P帧或B帧时,跳过对量化方式标志位的编码。这是由于P帧或B帧的压缩效果好,残差小,形成的变化块中变化系数较少,采用第一种量化方式(例如DQ量化方式)无法达到较好的量化效果,因此,在确定待编码块属于P帧或B帧时,在码流中不编入量化方式标志位,即在编码时跳过对量化方式标志位的编码。
在一些实施例中,在确定待编码块的大小大于或等于第三预设值时,将量化方式标志位编入码流。也就是说,当待编码块的大小小于第三预设值时,例如待编码块小于4×4或小于8×8时,该待编码块中系数个数过少,采用第一种量化方式(例如DQ量化方 式)无法达到较好的量化效果,因此,跳过将量化方式标志位编入码流。相反,若待编码块的大小大于或等于第三预设值时,采用第一种量化方式(例如DQ量化方式)无法达到较好的量化效果,因此,可以在码流中编入量化方式标志位。
即本申请实施例在确定待编码块的颜色分量为亮度分量、待编码块不划分为变换单元TU、待编码块的扫描区域大于预设值、或待编码块属于I帧时在码流中编入量化方式标志位,进而提高了量化方式标志位的编入准确性,进而提高了编码效率。
上文对本申请实施例涉及的视频编码方法进行了描述,在此基础上,下面针对解码端,对本申请涉及的视频解码方法进行描述。
图13为本申请一实施例提供的视频解码方法的流程示意图,如图13所示,本申请实施例的方法包括:
S101、解码码流,得到待解码块的量化方式标志位,其中量化方式标志位用于指示待解码块的目标反量化方式;
S102、根据量化方式标志位,对待解码块进行解码。
在一些实施例中,本申请的待解码块也可以称为当前块,或当前待处理的图像块,或图像块,或待解码的图像块等。
具体的,参照图3所示,解码器中的熵解码单元310可解析码流得到当前图像中待解码的预测信息、量化系数矩阵等,预测单元320基于预测信息对待解码块使用帧内预测或帧间预测产生待解码块的预测块。反量化/变换单元330使用从码流得到的量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块。重建单元340将预测块和残差块相加得到重建块。依次类推,可以得到当前图像中其他待编码块的重建块,各重建块组成重建图像。
本申请主要针对的是上述反量化过程。
本申请实施例解码端可以直接从码流中解析出量化方式标志位,并根据该量化方式标志位确定待解码块的目标反量化方式,并采用目标反量化方式对待解码块进行反量化。即解码端直接可以从码流中解析出待解码块的反量化方式,无需采用其他的方式判断待解码块的反量化方式,进而降低解码复杂度,提高解码效率。
在一些实施例中,本申请实施例的量化方式标志位可以为块级(CU/TU)的量化方式标志位,其中块级的量化方式标志位用于指示该块的目标反量化方式。
在一些实施例中,本申请实施例的量化方式标志位可以为序列级的量化方式标志位。
在一种示例中,序列级的量化方式标志位用于指示该序列中的所有块的目标量化方式。例如,当序列级的量化方式标志位的值为1时,表示该序列中的所有块均可以使用DQ反量化方式进行反量化。当序列级的量化方式标志位的值为0时,表示该序列中的所有块均不可以使用DQ反量化方式进行反量化。
在一些实施例中,本申请实施例的量化方式标志位可以为CTU级的量化方式标志位。
在一种示例中,CTU级的量化方式标志位用于指示该CTU中的所有块的目标反量化方式。例如,当CTU级的量化方式标志位的值为1时,表示该CTU中的所有块均可以使用DQ反量化方式进行反量化。当CTU级的量化方式标志位的值为0时,表示该CTU中的所有块均不可以使用DQ反量化方式进行反量化。
由上述可知,本申请实施例的量化方式标志位可以为块级(CU/TU)的量化方式标志位、序列级的量化方式标志位或CTU级的量化方式标志位,使得量化方式标志位的样式丰富,进而提高了解码的多样性。另外,当量化方式标志位为序列级的量化方式标志位时,解码端针对序列中的所有块只需要从码流中解码出一个量化方式标志位即可指示该序列中的所有块的目标反量化方式,或者当量化方式标志位为CTU级的量化方式标志位时,解码端针对CTU中的所有块只需从码流中解码出一个量化方式标志位即可指示该CTU中的所有块的目标量化方式,进而大大减少解码量化方式标志位的个数,提高解码效率。
图14为本申请另一实施例提供的视频解码方法的流程示意图,如图14所示,本申请实施例的方法包括:
S201、解码码流,得到待解码块的量化方式标志位。
其中,量化方式标志位用于指示待解码块的目标反量化方式。
S202、根据量化方式标志位,确定待解码块在量化时所采用的目标反量化方式。
例如,若量化方式标志位的值为第一数值,则确定目标反量化方式为第一种反量化方式。
例如,若量化方式标志位的值为第二数值,则确定目标反量化方式为第二种单量化方式。
其中第一种反量化方式与所述第二反量化方式不同。
可选的,第一种反量化方式包括DQ反量化方式,第二种反量化方式包括非DQ反量化方式。
可选的,第一数值为1。
可选的,第二数值为0。
S203、根据目标反量化方式,对待解码块进行反量化,得到重建的变换系数。
在一种实施例中,若目标反量化方式不是DQ单量化方式时,例如目标单量化方式为RDOQ单量化方式,使用该非DQ反量化方式对待解码块进行反量化。
若目标反量化方式为DQ反量化方式,则使用DQ反量化方式对待解码块进行反量化。
在一些实施例中,DQ反量化方式对应N个量化器,N为大于或等于2的正整数。
在一些实施例中,上述N个量化器中至少有一个量化器为可以将变换系数均量化为非零量化系数的非零量化器。
在一些实施例中,所述N个量化器中至少有一个量化器为可以将变换系数量化为零的零点量化器。
在一些实施例中,所述N个量化器包括一个零点量化器和一个非零量化器。
在一些实施例中,若目标反量化方式为DQ反量化方式,则上述S203包括:从N个量化器中确定一个目标量化器,使用该目标量化器对待解码块的量化系数进行反量化,得到重建的变换系数。
在一些实施例中,上述从N个量化器中确定一个目标量化器包括如下步骤:
在一些实施例中,上述S903包括如下步骤S903-A1至S903-A4:
B1、获取在量化系数之前已反量化的前一个量化系数的状态;
B2、根据前一个量化系数的标志位信息,以及前一个量化系数的状态,确定该量化系数的状态;
B3、根据当前量化系数的状态,从N个量化器中确定目标量化器。
在一些实施例中,按照扫描区域中的扫描顺序,前一个量化系数为扫描顺序中当前量化系数的相邻的前一个已反量化的量化系数。
本申请中前一个量化系数已解码出,因此,解码设备可以获得该前一个量化系数的标志位信息。
在一些实施例中,前一个量化系数的标志位信息包括:系数非零标志(Significant flag,简称Sig flag)、至少一个系数绝对值大于i标志(Greater than i flag,简称gti flag),所述i=1,2...;其中,系数非零标志用于指示量化系数是否为零,或者用于指示变换系数级别是否存在;系数绝对值大于i标志用于指示量化系数的绝对值是否大于正整数i,或者 用于指示变换系数级别是否大于i。
在一种示例中,前一个量化系数的标志位信息包括该前一个量化系数的系数非零标志、系数绝对值大于1标志(Greater than 1 flag,简称gt1 flag)、系数绝对值大于2标志(Greater than 2 flag,简称gt2 flag)。
在一种示例中,前一个量化系数的标志位信息包括该前一个量化系数的Sig flag、gt1 flag、gt2 flag、gt3 flag、……、gtK flag,其中K大于3。
其中量化系数的状态可以理解为状态机的状态。
可选的,状态机的初始状态为0。
在一些实施例中,码流中包括状态机的初始状态。例如,状态机的初始状态为0。
本申请中由于前一个量化系数已解码,其状态已知,因此,解码设备可以获得该前一个量化系数的状态。
在一些实施例中,上述B2的实现方式包括但不限于如下方式:
方式一,若前一个量化系数的标志位信息中的Sig flag的值为0时,则根据前一个量化系数的状态,确定该量化系数的状态。例如,前一个量化系数的状态为0时,则确定该量化系数的状态为0,若前一个量化系数的状态为1时,则确定该量化系数的状态为2,若前一个量化系数的状态为2时,则确定该量化系数的状态为1,若前一个量化系数的状态为3时,则确定该量化系数的状态为3。
方式二,上述B2包括如下步骤B21和B22:
B21、根据前一个量化系数的标志位信息,确定状态跳转值;
B22、根据前一个量化系数的状态和状态跳转值,确定该量化系数的状态。
在一种示例中,若前一个量化系数的标志位信息包括系数非零标志,且系数非零标志的值为0时,则确定状态跳转值为0。
在另一种示例中,前一个量化系数的标志位信息包括系数非零标志和系数绝对值大于1标志,若系数非零标志的值和系数绝对值大于1标志的值满足如下公式(9),则确定状态跳转值为1;若系数非零标志的值和系数绝对值大于1标志的值不满足如下公式(9),则确定状态跳转值为0;
t=sigflag==1&&gt1==0 (9)
其中,t为状态跳转值,sigflag为系数非零标志的值,gt1为系数绝对值大于1标志的值。
该方式中,其中变量t的真假取决于在解码的过程中,上一个系数值是否为1。而是 否为1可由sig_flag与Greater than 1 flag(gt1 flag)两个标志位的取值得到,无需全部重建出当前量化系数即可得到,进而降低量化复杂性,提供解码效率。
本申请可由如图11所示的状态机完成状态的转移。例如,如图11所示,当t=1,表示t为真,当t=0时,表示t为假。这样可以根据如上公式(9)确定出t的真假,并根据t的真假和前一个量化系数的状态,确定出该量化系数的状态,例如,当t为真,前一个量化系数的状态为2,则该量化系数的状态为3。
在一些实施例中,根据该量化系数的状态,更新状态机的状态。
S204、对重建的变换系数进行反变化,得到残差块。
S205、对待解码块进行预测,得到预测块;例如使用帧间预测方法或帧内预测方法,对待解码块进行预测,得到预测块。
S206、根据残差块和预测块,得到重建块,例如将残差块与预测块相加之和,作为待解码块的重建块。
在一些实施例中,在确定待解码块满足目标条件时,从码流中解析量化方式标志位;
其中,目标条件包括如下至少一个条件:所述待解码块的颜色分量为亮度分量、所述待解码块不划分为变换单元TU、所述待解码块的扫描区域大于预设值。
在一些实施例中,所述待解码块的扫描区域大于预设值包括所述待解码块的扫描区域的SRx乘SRy大于第一预设值;或者,待解码块的扫描区域的SRx或SRy大于第二预设值。
本实施例对上述第一预设值和第二预设值的具体大小不进行限定。
可选的,第一预设值为10,例如SRx*SRy>10。
由上述可知,在一些实施例中,根据颜色分量来确定是否从码流中解析量化方式标志位,这是由于在色度分量下使用DQ反量化方式进行反量化时,反量化效果不明显,而在亮度分量下使用DQ反量化方式进行反量化时,可以达到较好的反量化效果。因此,本实施例在确定待解码块的颜色分量为亮度分量时,从码流中解析量化方式标志位,而在确定待解码块的颜色分量为色度分量时,不从码流中解析量化方式标志位,进而提高了量化方式标志位的解析准确性,进而提高了解析效率。
另外,在待解码块不划分为变换单元TU或待解码块的扫描区域大于预设值时,可以确定待解码块较大,则待解码块中的变化系数数量较多,采用DQ反量化方式可以实现较好的反量化效果。因此,在待解码块不划分为变换单元TU或待解码块的扫描区域 大于预设值时,从码流中解析量化方式标志位,进而提高了量化方式标志位的解析准确性,进而提高了解码效率。
在一些实施例中,在确定所述待解码块属于I帧时,从所述码流中解析所述量化方式标志位。
在一些实施例中,在确定所述待解码块属于P帧或B帧时,跳过从所述码流中解析所述量化方式标志位。
在一些实施例中,在确定所述待解码块的大小大于或等于第三预设值时,从所述码流中解析所述量化方式标志位。
即本申请实施例在确定待解码块的颜色分量为亮度分量、待解码块不划分为变换单元TU、待解码块的扫描区域大于预设值、或待解码块属于I帧时,从码流中解析量化方式标志位,进而提高了量化方式标志位的解析准确性,进而提高了解码效率。
本申请的另一种实施例的解码过程如下:
解码端获取码流信息,判断是否需要从码流中解析出量化方式标志位,例如,若判断待解码块满足上述目标条件、或待解码块属于I帧、或待解码块的大小大于或等于第三预设值时,从码流中解析所述量化方式标志位。
若确定需要从码流中解析出量化方式标志位时,从码流中解析出该量化方式标志位,并根据量化方式标志位确定目标反量化方式。
若确定不需要从码流中解析出量化方式标志位时,将默认的反量化方式确定为目标反量化方式。
使用目标反量化方式对待解码块进行反量化。
在一些实施例中,若目标反量化方式为DQ反量化方式时,本实施例的解码过程还包括从DQ反量化方式对应的N个量化器中确定出目标量化器。
其中,确定目标量化器的方法包括如下步骤:
解析待编码块的标识位信息。
获取待解码块的变换块中系数扫描范围信息,包括扫描区域右端横坐标SRx,扫描区域下端纵坐标SRy。确定系数扫描区域,系数扫描区域为以(0,0)位置为左上角,以(SRx,SRy)位置为右下角的矩形区域。基于该扫描区域的系数编码示意图如图15所示,其中0表示零系数,1表示非零系数。系数解码顺序是从右下角到左上角的反向Z字型扫描(也可用于其它任何形式的扫描方式,例如,水平扫描,垂直扫描,对角扫描等)。
将状态机状态初始化为0。
解码设备在系数扫描区域中确定该量化系数的位置后,首先判断该量化系数是否满足如下任意一个条件:即该量化系数的位置是否在系数扫描区域的左下角且为当前行唯一非零系数,或者该当前编码的系数的位置是否在系数扫描区域的右上角且为当前列唯一非零系数,或者根据当前编码的系数所处状态机的状态判断是否使用了非零量化器。
若满足上述任意一个条件,则该量化系数的sig_flag直接置1。接着,从码流中解析出的下一个bin是该量化系数的Greater than 1 flag(gt1 flag),依据系数编码的默认方案继续解析相关标志位以确定该量化系数绝对值大小,包含Greater than 2 flag、Remaining abs level等标志位,注意到这样解码出的系数值不会是零。
若不满足上述条件,从码流中解析出的下一个bin是该量化系数的sig_flag,依据sig_flag的值判断该量化系数是否为非零系数,若是非零系数,则依据默认方案继续解析相关标志位以确定该量化系数绝对值大小,包含Greater than 1 flag、Greater than 2 flag、Remaining abs level等标志位。
如果该量化系数不为非零系数,则该量化系数的值为0。
如果该量化系数为非零系数,则变换系数级别的绝对值(即该量化系数的绝对值)为sig_flag+Greater than 1 flag+Greater than 2 flag+Remaining abs level。
最后解析符号标志位确定该量化系数的正负。
根据上述步骤,确定出当前量化系数对应的目标量化器后,根据目标量化器和当前量化系数对应的变换系数级别,根据如上公式(1)或公式(2)得到重建的变换系数t′。
应理解,图8至图15仅为本申请的示例,不应理解为对本申请的限制。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。另外,本申请实施例中,术语“和/或”,仅仅是一种描述关联 对象的关联关系,表示可以存在三种关系。具体地,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
上文结合图8至图15,详细描述了本申请的方法实施例,下文结合图16至图18,详细描述本申请的装置实施例。
图16是本申请实施例提供的视频编码器的示意性框图。
如图16所示,视频编码器10包括:
获取单元11,用于获取待编码块;
编码单元12,用于对所述待编码块进行编码,生成码流,所述码流中包括量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
在一些实施例中,编码单元12还用于确定所述待编码块的目标量化方式;根据所述目标量化方式,确定所述量化方式标志位的值。
在一些实施例中,编码单元12,具体用于若所述目标量化方式为第一种量化方式,则确定所述量化方式标志位的值为第一数值;若所述目标量化方式为第二种量化方式,则确定所述量化方式标志位的值为第二数值,其中,所述第一种量化方式与第二种量化方式不同。
可选的,所述第一种量化方式包括依赖性量化DQ量化方式,所述第二种量化方式包括非DQ量化方式。
在一些实施例中,编码单元12,具体用于针对预设的M种量化方式中的每一种量化方式,确定使用该种量化方式对所述待编码块进行量化时的编码代价,所述M为大于或等于2的正整数;
将所述M种量化方式中编码代价最小的量化方式,确定为所述目标量化方式。
在一些实施例中,编码单元12,还用于在确定所述待编码块满足目标条件时,将所述量化方式标志位编入所述码流;
所述目标条件包括如下至少一个条件:所述待编码块的颜色分量为亮度分量、所述待编码块不划分为变换单元TU、所述待编码块的扫描区域大于预设值。
在一些实施例中,所述待编码块的扫描区域大于预设值包括所述待编码块的扫描区域的SRx乘SRy大于第一预设值;或者;
所述待编码块的扫描区域的大于满足预设值包括所述待编码块的扫描区域的SRx或 SRy大于第二预设值。
在一些实施例中,编码单元12,还用于在确定所述待编码块属于I帧时,将所述量化方式标志位编入所述码流。
在一些实施例中,编码单元12,还用于在确定所述待编码块属于P帧或B帧时,跳过对所述量化方式标志位的编码。
在一些实施例中,编码单元12,还用于在确定所述待编码块的大小大于或等于第三预设值时,将所述量化方式标志位编入所述码流。
在一些实施例中,所述量化方式标志位包括如下至少一种:序列级的量化方式标志位、帧级的量化方式标志位、编码树单元CTU级的量化方式标志位、块级的量化方式标志位。
可选的,所述第一数值为1,和/或所述第二数值为0。
可选的,所述DQ量化方式对应N个量化器,所述N为大于或等于2的正整数,所述N个量化器中至少有一个量化器为将变换系数均量化为非零量化系数的非零量化器。
可选的,所述N个量化器中至少有一个量化器为将变换系数量化为零的零点量化器。
可选的,所述N个量化器包括一个零点量化器和一个非零量化器。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图16所示的视频编码器10可以执行本申请实施例的编码方法,并且视频编码器10中的各个单元的前述和其它操作和/或功能分别为了实现方法等各个方法中的相应流程,为了简洁,在此不再赘述。
图17是本申请实施例提供的视频解码器的示意性框图。
如图17所示,该视频解码器20可包括:
第一解码单元21,用于解码码流,得到待解码块的量化方式标志位,所述量化方式标志位用于指示所述待解码块的目标反量化方式;
第二解码单元22,用于根据所述量化方式标志位,对所述待解码块进行解码。
在一些实施例中,第二解码单元22,具体用于根据所述量化方式标志位的值,确定所述待解码块在量化时所采用的目标反量化方式;根据所述目标反量化方式,对所述待解码块进行反量化。
在一些实施例中,第二解码单元22,具体用于若所述量化方式标志位的值为第一数值,则确定所述目标反量化方式为第一种反量化方式;
若所述量化方式标志位的值为第二数值,则确定所述目标反量化方式为第二种反量化方式。
可选的,所述第一种反量化方式包括依赖性量化DQ反量化方式,所述第二种反量化方式包括非DQ反量化方式。
在一些实施例中,第一解码单元21,具体用于在确定所述待解码块满足目标条件时,从所述码流中解析所述量化方式标志位;
所述目标条件包括如下至少一个条件:所述待解码块的颜色分量为亮度分量、所述待解码块不划分为变换单元TU、所述待解码块的扫描区域大于预设值。
在一些实施例中,所述待解码块的扫描区域大于预设值包括所述待解码块的扫描区域的SRx乘SRy大于第一预设值;或者;
所述待解码块的扫描区域的大于满足预设值包括所述待解码块的扫描区域的SRx或SRy大于第二预设值。
在一些实施例中,第一解码单元21,具体用于在确定所述待解码块属于I帧时,从所述码流中解析所述量化方式标志位。
在一些实施例中,第一解码单元21,具体用于在确定所述待解码块属于P帧或B帧时,跳过从所述码流中解析所述量化方式标志位。
在一些实施例中,第一解码单元21,具体用于在确定所述待解码块的大小大于或等于第三预设值时,从所述码流中解析所述量化方式标志位。
在一些实施例中,所述量化方式标志位包括如下至少一种:序列级的量化方式标志位、帧级的量化方式标志位、编码树单元CTU级的量化方式标志位、块级的量化方式标志位。
可选的,所述第一数值为1,和/或所述第二数值为0。
可选的,所述DQ反量化方式对应N个量化器,所述N为大于或等于2的正整数,所述N个量化器中至少有一个量化器为将变换系数均量化为非零量化系数的非零量化器。
可选的,所述N个量化器中至少有一个量化器为将变换系数量化为零的零点量化器。
可选的,所述N个量化器包括一个零点量化器和一个非零量化器。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图17所示的视频解码器20可以对应于执行本申请实施例的解码方法中的相应主体,并且视频解码器20中的各个单元的前述和其它操作和/或功能分别为了实现方法等各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能单元的角度描述了本申请实施例的装置和系统。应理解,该功能单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件单元组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。可选地,软件单元可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图18是本申请实施例提供的电子设备30的示意性框图。
如图18所示,该电子设备30可以为本申请实施例所述的视频编码器,或者视频解码器,该电子设备30可包括:
存储器33和处理器32,该存储器33用于存储计算机程序34,并将该程序代码34传输给该处理器32。换言之,该处理器32可以从存储器33中调用并运行计算机程序34,以实现本申请实施例中的方法。
例如,该处理器32可用于根据该计算机程序34中的指令执行上述方法中的步骤。
在本申请的一些实施例中,该处理器32可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器33包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器 (synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序34可以被分割成一个或多个单元,该一个或者多个单元被存储在该存储器33中,并由该处理器32执行,以完成本申请提供的方法。该一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序34在该电子设备30中的执行过程。
如图18所示,该电子设备30还可包括:
收发器33,该收发器33可连接至该处理器32或存储器33。
其中,处理器32可以控制该收发器33与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器33可以包括发射机和接收机。收发器33还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备30中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
图19是本申请实施例提供的视频编解码系统40的示意性框图。
如图19所示,该视频编解码系统40可包括:视频编码器41和视频解码器42,其中视频编码器41用于执行本申请实施例涉及的视频编码方法,视频解码器42用于执行本申请实施例涉及的视频解码方法。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
本申请实施例还提供一种码流,该码流经过上述图8或图9所示的编码方法生成的,其中码流中包括指量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光 纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上该,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变换或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (35)

  1. 一种视频编码方法,其特征在于,包括:
    获取待编码块;
    对所述待编码块进行编码,生成码流,所述码流中包括量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    确定所述待编码块的目标量化方式;
    根据所述目标量化方式,确定所述量化方式标志位的值。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述目标量化方式,确定所述量化方式标志位的值,包括:
    若所述目标量化方式为第一种量化方式,则确定所述量化方式标志位的值为第一数值;
    若所述目标量化方式为第二种量化方式,则确定所述量化方式标志位的值为第二数值,其中,所述第一种量化方式与第二种量化方式不同。
  4. 根据权利要求3所述的方法,其特征在于,所述第一种量化方式包括依赖性量化DQ量化方式,所述第二种量化方式包括非DQ量化方式。
  5. 根据权利要求2-4任一项所述的方法,其特征在于,所述确定所述待编码块的目标量化方式,包括:
    针对预设的M种量化方式中的每一种量化方式,确定使用该种量化方式对所述待编码块进行量化时的编码代价,所述M为大于或等于2的正整数;
    将所述M种量化方式中编码代价最小的量化方式,确定为所述目标量化方式。
  6. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在确定所述待编码块满足目标条件时,将所述量化方式标志位编入所述码流;
    所述目标条件包括如下至少一个条件:所述待编码块的颜色分量为亮度分量、所述待编码块不划分为变换单元TU、所述待编码块的扫描区域大于预设值。
  7. 根据权利要求6所述的方法,其特征在于,所述待编码块的扫描区域大于预设值包括所述待编码块的扫描区域的SRx乘SRy大于第一预设值;或者;
    所述待编码块的扫描区域的大于满足预设值包括所述待编码块的扫描区域的SRx或SRy大于第二预设值。
  8. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在确定所述待编码块属于I帧时,将所述量化方式标志位编入所述码流。
  9. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在确定所述待编码块属于P帧或B帧时,跳过对所述量化方式标志位的编码。
  10. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    在确定所述待编码块的大小大于或等于第三预设值时,将所述量化方式标志位编入所述码流。
  11. 根据权利要求1所述的方法,其特征在于,所述量化方式标志位包括如下至少一种:序列级的量化方式标志位、帧级的量化方式标志位、编码树单元CTU级的量化方式标志位、块级的量化方式标志位。
  12. 根据权利要求3所述的方法,其特征在于,所述第一数值为1,和/或所述第二数值为0。
  13. 根据权利要求4所述的方法,其特征在于,所述DQ量化方式对应N个量化器,所述N为大于或等于2的正整数,所述N个量化器中至少有一个量化器为将变换系数均量化为非零量化系数的非零量化器。
  14. 根据权利要求13所述的方法,其特征在于,所述N个量化器中至少有一个量化器为将变换系数量化为零的零点量化器。
  15. 根据权利要求14所述的方法,其特征在于,所述N个量化器包括一个零点量化器和一个非零量化器。
  16. 一种视频解码方法,其特征在于,包括:
    解码码流,得到待解码块的量化方式标志位,所述量化方式标志位用于指示所述待解码块的目标反量化方式;
    根据所述量化方式标志位,对所述待解码块进行解码。
  17. 根据权利要求16所述的方法,其特征在于,所述根据所述量化方式标志位,对所述待解码块进行解码,包括:
    根据所述量化方式标志位的值,确定所述待解码块在量化时所采用的目标反量化方式;
    根据所述目标反量化方式,对所述待解码块进行反量化。
  18. 根据权利要求17所述的方法,其特征在于,所述根据所述量化方式标志位的值,确定所述待解码块在量化时所采用的目标反量化方式,包括:
    若所述量化方式标志位的值为第一数值,则确定所述目标反量化方式为第一种反量 化方式;
    若所述量化方式标志位的值为第二数值,则确定所述目标反量化方式为第二种反量化方式,其中所述第一种反量化方式与所述第二种反量化方式不同。
  19. 根据权利要求18所述的方法,其特征在于,所述第一种反量化方式包括依赖性量化DQ反量化方式,所述第二种反量化方式包括非DQ反量化方式。
  20. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    在确定所述待解码块满足目标条件时,从所述码流中解析所述量化方式标志位;
    所述目标条件包括如下至少一个条件:所述待解码块的颜色分量为亮度分量、所述待解码块不划分为变换单元TU、所述待解码块的扫描区域大于预设值。
  21. 根据权利要求20所述的方法,其特征在于,所述待解码块的扫描区域大于预设值包括所述待解码块的扫描区域的SRx乘SRy大于第一预设值;或者;
    所述待解码块的扫描区域的大于满足预设值包括所述待解码块的扫描区域的SRx或SRy大于第二预设值。
  22. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    在确定所述待解码块属于I帧时,从所述码流中解析所述量化方式标志位。
  23. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    在确定所述待解码块属于P帧或B帧时,跳过从所述码流中解析所述量化方式标志位。
  24. 根据权利要求16所述的方法,其特征在于,所述方法还包括:
    在确定所述待解码块的大小大于或等于第三预设值时,从所述码流中解析所述量化方式标志位。
  25. 根据权利要求16所述的方法,其特征在于,所述量化方式标志位包括如下至少一种:序列级的量化方式标志位、帧级的量化方式标志位、编码树单元CTU级的量化方式标志位、块级的量化方式标志位。
  26. 根据权利要求18所述的方法,其特征在于,所述第一数值为1,和/或所述第二数值为0。
  27. 根据权利要求19所述的方法,其特征在于,所述DQ量化方式对应N个量化器,所述N为大于或等于2的正整数,所述N个量化器中至少有一个量化器为将变换系数均量化为非零量化系数的非零量化器。
  28. 根据权利要求27所述的方法,其特征在于,所述N个量化器中至少有一个量化 器为将变换系数量化为零的零点量化器。
  29. 根据权利要求28所述的方法,其特征在于,所述N个量化器包括一个零点量化器和一个非零量化器。
  30. 一种视频编码器,其特征在于,包括:
    获取单元,用于获取待编码块;
    编码单元,用于对所述待编码块进行编码,生成码流,所述码流中包括量化方式标志位,所述量化方式标志位用于指示所述待编码块所采用的目标量化方式。
  31. 一种视频解码器,其特征在于,包括:
    第一解码单元,用于解码码流,得到待解码块的量化方式标志位,所述量化方式标志位用于指示所述待解码块的目标反量化方式;
    第二解码单元,用于根据所述量化方式标志位,对所述待解码块进行解码。
  32. 一种视频编码器,其特征在于,包括:存储器,处理器;
    所述存储器,用于存储计算机程序;
    所述处理器,用于执行所述计算机程序以实现如上述权利要求1至15任一项所述方法。
  33. 一种视频解码器,其特征在于,包括:存储器,处理器;
    所述存储器,用于存储计算机程序;
    所述处理器,用于执行所述计算机程序以实现如上述权利要求16至29任一项所述方法。
  34. 一种视频编解码系统,其特征在于,包括:
    根据权利要求30或32所述的视频编码器;
    以及根据权利要求31或33所述的视频解码器。
  35. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至15或16至29任一项所述的方法。
CN202180096782.1A 2021-04-12 2021-04-12 视频编解码方法与系统、及视频编解码器 Pending CN117121485A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/086734 WO2022217447A1 (zh) 2021-04-12 2021-04-12 视频编解码方法与系统、及视频编解码器

Publications (1)

Publication Number Publication Date
CN117121485A true CN117121485A (zh) 2023-11-24

Family

ID=83639376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180096782.1A Pending CN117121485A (zh) 2021-04-12 2021-04-12 视频编解码方法与系统、及视频编解码器

Country Status (2)

Country Link
CN (1) CN117121485A (zh)
WO (1) WO2022217447A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1841237B1 (en) * 2006-03-29 2014-10-08 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for video encoding
CN101453642B (zh) * 2007-11-30 2012-12-26 华为技术有限公司 图像编/解码方法、装置和系统
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
CN103686183B (zh) * 2013-12-27 2017-01-11 南京讯思雅信息科技有限公司 一种功耗可控的帧内视频编码方法
CN106101703B (zh) * 2016-06-20 2018-11-06 杭州比特瑞旺电脑有限公司 一种面向数字kvm切换器的屏幕视频压缩方法
CN109587485A (zh) * 2018-10-26 2019-04-05 西安科锐盛创新科技有限公司 视频压缩编码方法

Also Published As

Publication number Publication date
WO2022217447A1 (zh) 2022-10-20

Similar Documents

Publication Publication Date Title
US20160234494A1 (en) Restriction on palette block size in video coding
US11683505B2 (en) Method and a device for picture encoding and decoding
US11432013B2 (en) Video signal processing method and apparatus using multiple transform kernel
KR20210125088A (ko) 매트릭스 기반 인트라 예측 및 2차 변환 코어 선택을 조화시키는 인코더, 디코더 및 대응 방법
US20200169730A1 (en) A method and a device for picture encoding and decoding
CN117426088A (zh) 视频编解码方法、设备、系统、及存储介质
CN113411612B (zh) 对图像块进行视频译码的方法、解码设备和编/解码器
CN116074516A (zh) 一种图像编解码方法及装置
EP3890322A1 (en) Video coder-decoder and corresponding method
CN112567740A (zh) 用于帧内预测的方法和装置
CN113330748B (zh) 帧内预测模式信令的方法和装置
CN115086664A (zh) 未匹配像素的解码方法、编码方法、解码器以及编码器
CN117981307A (zh) 视频编解码方法、设备、系统、及存储介质
CN116848844A (zh) 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
CN117121485A (zh) 视频编解码方法与系统、及视频编解码器
WO2022174475A1 (zh) 视频编解码方法与系统、及视频编码器与视频解码器
WO2022193389A1 (zh) 视频编解码方法与系统、及视频编解码器
WO2022193390A1 (zh) 视频编解码方法与系统、及视频编解码器
WO2023122968A1 (zh) 帧内预测方法、设备、系统、及存储介质
CN113766227B (zh) 用于图像编码和解码的量化和反量化方法及装置
WO2023092404A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2023236113A1 (zh) 视频编解码方法、装置、设备、系统及存储介质
WO2022155922A1 (zh) 视频编解码方法与系统、及视频编码器与视频解码器
WO2022116105A1 (zh) 视频编解码方法与系统、及视频编码器与视频解码器
WO2023220946A1 (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