视频编码设备和方法及其相关方法与流程

文档序号:14844493发布日期:2018-06-30 14:42阅读:183来源:国知局
视频编码设备和方法及其相关方法与流程

本申请要求于2016年12月22日在韩国知识产权局提交的韩国专利申请No.10-2016-0176847的优先权,该申请的公开以引用方式全文并入本文中。

技术领域

本发明构思的至少一些示例实施例涉及视频编码,并且更具体地说,涉及调整量化参数的视频编码设备和方法。



背景技术:

视频编码可指从原始数据(也就是说,图像数据或包括一系列图像数据的视频数据)产生大小小于原始数据的大小的编码数据的处理。通过对编码数据或比特流进行解码而产生的解码数据可根据视频编码方法与原始数据相同或不同。例如,根据无损压缩从编码数据解码的数据可与原始数据相同,而根据有损压缩从编码数据解码的数据可与原始数据不同。

视频编码的主要目的之一是减小解码数据与原始数据之间的差异同时减小根据有损压缩编码的数据的大小,也就是说,比特流的比特率。因此,有必要提供用于精确地测量解码数据相对于原始数据的失真并且减小测量到的失真的视频编码。



技术实现要素:

本发明构思的至少一些示例实施例提供了视频编码设备和方法,以及提供用于精确评估与原始数据相关的解码数据的标准以及根据所述标准编码原始数据的设备和方法。

根据本发明构思的至少一些示例实施例,一种用于编码视频的设备包括:量化器,其构造为基于输入数据的初始量化参数的大小,通过对输入数据进行量化来产生输出数据,以增大从输出数据产生的编码数据的客观评估值,或者通过对输入数据进行量化来产生输出数据,以增大编码数据的主观评估值。

根据本发明构思的至少一些示例实施例,一种用于编码视频的设备包括:量化参数产生器,其构造为,基于输入数据的初始量化参数和至少一个参考值执行比较操作,以及基于比较操作的结果产生最终量化参数,以使得最终量化参数是用于增大从输出数据产生的编码数据的结构相似度指数(SSIM)的量化参数,或者是用于增大从输出数据产生的编码数据的峰值信噪比(PSNR)的量化参数;以及量化处理器,其构造为通过根据最终量化参数对输入数据进行量化来产生输出数据。

根据本发明构思的至少一些示例实施例,一种视频编码方法包括步骤:将输入数据的初始量化参数与至少一个参考值进行比较;根据其比较结果产生用于增大从输出数据产生的编码数据的结构相似度指数(SSIM)或峰值信噪比(PSNR)的最终量化参数;以及通过根据最终量化参数对输入数据进行量化来产生输出数据。

根据本发明构思的至少一些示例实施例,一种视频编码器包括:量化参数产生器,其构造为基于原始视频数据的方差和初始量化参数产生最终量化参数;以及量化处理器,其构造为通过根据最终量化参数量化输入视频数据来产生输出视频数据,输入视频数据是原始视频数据的至少一部分的变换形式。

附图说明

通过参照附图详细描述本发明构思的示例实施例,本发明构思的示例实施例的以上和其它特征和优点将变得更加清楚。附图旨在描述本发明构思的示例实施例,并且不应被解释为限制权利要求的期望范围。除非明确说明,否则附图不得视为按比例绘制。

图1是示出根据本发明构思的至少一个示例实施例的用于编码视频的设备的框图;

图2示出了示出根据本发明构思的至少一个示例实施例的质量指数的曲线图;

图3是示出根据本发明构思的至少一个示例实施例的图1的量化模块的示例的框图;

图4A和图4B示出了根据本发明构思的至少一个示例实施例的表示作为量化参数的函数的峰值信噪比(PSNR)和结构相似度(SSIM)的曲线图;

图5是示出根据本发明构思的至少一个示例实施例的通过计算图4的PSNR和SSIM对量化参数的微分而获得的函数的曲线图;

图6是示出根据本发明构思的至少一个示例实施例的图3的量化参数产生器的示例的框图;

图7是示出根据本发明构思的至少一个示例实施例的图6的量化参数选择器的操作的示例的流程图;

图8A和图8B是示出根据本发明构思的至少一些示例实施例的图6的参考值产生器的示例的框图;

图9A和图9B是示出根据本发明构思的至少一些示例实施例的图6的参考值产生器的示例的框图;

图10是示出根据本发明构思的至少一个示例实施例的视频编码方法的流程图;

图11是示出根据本发明构思的至少一个示例实施例的计算图10的至少一个参考值的方法的流程图;

图12是示出根据本发明构思的至少一个示例实施例的视频质量评估器的框图;

图13是示出根据本发明构思的至少一个示例实施例的评估视频质量的方法的流程图;

图14是示出根据本发明构思的至少一个示例实施例的图13的操作S260的示例的流程图;以及

图15是示出根据本发明构思的至少一个示例实施例的系统芯片(SoC)的框图。

具体实施方式

按照本发明构思的领域中的常规做法,从功能块、单元和/或模块的角度描述实施例并且在附图中示出。本领域技术人员应该清楚,这些块、单元和/或模块通过可利用基于半导体的制造技术或者其它制造技术形成的诸如逻辑电路的电子(或者光学)电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等在物理上实现。在块、单元和/或模块通过微处理器或类似组件实现的情况下,可利用软件(例如,微代码)将它们编程以执行本文讨论的各种功能,并且可以可选地通过固件和/或软件驱动它们。可替换地,各个块、单元和/或模块可通过专用硬件实施,或者实施为用于执行一些功能的专用硬件和用于执行其它功能的处理器(例如,一个或多个被编程的微处理器与相关电路)的组合。另外,根据本发明构思的至少一些示例实施例,实施例的各个块、单元和/或模块可在物理上被分为两个或更多个相互作用且分立的块、单元和/或模块。此外,根据本发明构思的至少一些示例实施例,实施例的块、单元和/或模块可在物理上组合为更加复杂的块、单元和/或模块。

图1是示出根据本发明构思的至少一个示例实施例的用于编码视频的设备10的框图。设备10可为处理视频数据的各种设备之一。

例如,设备10可为包括输出视频数据的显示器的设备,诸如移动电话、台式个人计算机(PC)、笔记本PC或者平板PC,可为包括产生视频数据的相机模块的设备,诸如数码相机、数码摄录机或者智能电话,并且可为执行视频编码以通过诸如网络的通信信道发送数据的服务器。另外,设备10可包括作为包括在以上设备中的组件的一个或多个半导体芯片,并且可包括计算机可读存储介质,其存储包括通过中央处理单元(CPU)或者图形处理单元(GPU)执行以执行视频编码的指令的软件。下文中,虽然设备10被称作视频编码器,但是应该理解,设备10可为包括视频编码器的设备。

图1仅示出了包括在视频编码器10中的一些模块,并且视频编码器10可通过编码原始视频数据5来产生编码数据,也就是说,编码的比特流。如图1所示,视频编码器10可包括诸如控制模块100、变换模块200、量化模块300、反量化模块400、逆变换模块500、去块/样本自适应偏移(SAO)滤波器模块600、解码帧缓存器700、帧内预测模块800和帧间预测模块900的多个模块,并且可包括执行数据加法或减法的操作块。根据本发明构思的至少一些示例实施例,被描述为通过视频编码器10(和/或视频编码器10的任何元件)执行的操作可通过被构造为执行这些操作的电路、执行被存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路与执行程序代码的处理器的组合来执行。例如,执行程序代码的处理器可为硬件实施的数据处理装置,其具有物理上结构化为执行期望的操作的电路,所述操作包括例如表示为包括在程序中的代码和/或指令的操作。上述硬件实施的数据处理装置的示例包括(但不限于)微处理器、中央处理单元(CPU)、处理器核、多核处理器;多处理器、专用集成电路(ASIC)和现场可编程门阵列(FPGA)。执行程序代码的处理器是被编程的处理器,因此,是专用计算机。

控制模块100可控制视频编码。例如,控制模块100可接收原始视频数据5,并且可将控制信号发送至包括在视频编码器10中的其它模块,如图1中的虚线指示。虽然图1中未示出,控制模块100可输出控制数据,并且所述控制数据可包括在通过视频编码器10产生的比特流中。

变换模块200可通过变换作为原始数据D_ORG与预测数据D_PRE之间的差的残余数据D_RES来产生输入数据D_IN。例如,变换模块200可通过对残余数据D_RES执行离散余弦变换(DCT)来产生输入数据D_IN,因此,空间域输入数据D_IN可变换为频域输入数据D_IN。输入数据D_IN在本文中也可称作输入视频数据。原始数据D_ORG在本文中也可称作原始视频数据。根据至少一些示例实施例,原始数据D_ORG包括图像帧中所包括的多个块当中的块。

量化模块(或者量化器)300可通过对输入数据D_IN进行量化来产生输出数据D_OUT。例如,量化模块300可根据量化参数QP对输入数据D_IN进行量化。如下面的描述,根据本发明构思的至少一个示例实施例,量化模块300可产生量化参数QP,可调整该量化参数QP来提高从比特流(也就是说,从输出数据D_OUT产生的编码数据)解码的数据的实际视频质量,并且可通过根据量化参数QP对输入数据D_IN进行量化来产生输出数据D_OUT。根据本发明构思的至少一些示例实施例,量化模块300可构造为将输出数据D_OUT作为比特流输出。输出数据D_OUT在本文中也可被称作输出视频数据。如图1所示,量化模块300可包括量化参数产生器320和量化处理器340。

量化参数产生器320可产生用于提高从比特流解码的数据的实际视频质量的量化参数QP。例如,量化参数产生器320可将初始量化参数(例如,图6的QP0)与至少一个参考值(例如,图6的REF)进行比较,并且可根据其比较结果产生用于增大比特流的客观评估值或者主观评估值的量化参数QP。通过量化参数产生器320产生的量化参数还可被称作最终量化参数QP。

客观评估值和主观评估值可用于视频质量评估或者失真测量中。客观评估值可基于视频数据的逐像素点误差。例如,客观评估值可包括均方误差(MSE)、平均绝对误差(MAE)、峰值信噪比(PSNR)、均方根误差(RMSE)和信噪比(SNR)。主观评估值可基于由视频数据表示的内容。例如,主观评估值可包括结构相似度(SSIM)和多尺度SSIM(MS-SSIM)。如下面的描述,可通过考虑用于测量实际视频质量的基于客观评估值和主观评估值二者定义的质量指数QI(例如,图2的QI)而非仅考虑客观评估值和主观评估值之一,来产生量化参数QP。下面将参照图2描述质量指数QI的详细内容。

量化处理器340可通过根据量化参数QP对输入数据D_IN进行量化来产生输出数据D_OUT。例如,量化处理器340可通过利用量化矩阵将输入数据D_IN量化,并且可通过根据量化参数QP确定量化矩阵来调整输入数据D_IN的量化水平。根据本发明构思的至少一些示例实施例,输出数据D_OUT可按照比特流的形式从量化处理器340输出。

反量化模块400和逆变换模块500可执行量化模块300和变换模块200的逆操作。例如,反量化模块400可对输出数据D_OUT反量化,并且逆变换模块500可通过对频域数据(也就是说,通过反量化模块400产生的数据)进行逆变换产生空间域数据。通过逆变换模块500产生的数据可为恢复的残余数据。

去块/SAO滤波器模块600和解码帧缓存器700可产生和存储用于帧间预测的解码帧数据。去块/SAO滤波器模块600可对等于预测数据D_PRE和通过反量化模块400和逆变换模块500恢复的残余数据之和的数据进行滤波,因此,由构成一帧的各块导致的误差可减小,因此可产生表示更逼真的图像的帧数据。解码帧缓存器700可存储通过去块/SAO滤波器模块600产生的帧数据,并且可将存储的帧数据提供至帧间预测模块900。

帧内预测模块800可基于原始数据D_ORG和等于预测数据D_PRE与通过反量化模块400和逆变换模块500恢复的残余数据之和的数据产生帧内预测数据。例如,帧内预测模块800可通过执行帧内估计和帧内预测产生帧内预测数据。

帧间预测模块900可基于原始数据D_ORG和从解码帧缓存器700接收的帧数据产生帧间预测数据。例如,帧间预测模块900可通过执行运动估计和运动补偿产生帧间预测数据。

可通过控制模块100选择帧内预测数据和帧间预测数据之一作为预测数据D_PRE,并且可将其用于从原始数据D_ORG产生残余数据D_RES。

在图1中,原始数据D_ORG可为构成原始视频数据5的一帧的块之一。也就是说,包括多帧的原始视频数据5可针对每帧被一块一块地编码,因此,原始数据D_ORG、预测数据D_PRE、残余数据D_RES、输入数据D_IN和输出数据D_OUT可对应于一块。量化模块300的量化参数产生器320可产生对应于该块的量化参数QP。也就是说,可针对各个块产生具有不同的值的量化参数QP。

图2示出了示出根据本发明构思的至少一个示例实施例的质量指数QI的曲线图。为了评估视频编码器的性能,可使用(i)通过对视频编码器编码的视频数据进行解码产生的数据和(ii)对应的原始视频数据(也就是说,视频编码器的输入数据)来评估视频质量。例如,解码的视频数据可为已通过视频编码器编码并且随后被解码的原始视频数据的形式。

根据本发明构思的至少一些示例实施例,可进行评估多组视频数据的实验。各组视频数据包括解码的视频数据和对应的原始视频数据。评估可包括确定所述多组视频数据的平均意见分(MOS)、PSNR值和SSIM值。另外,可将MOS与PSNR值和SSIM值比较。例如,曲线图20表示根据实验结果的平均意见分(MOS)与PSNR之间的关系,曲线图30表示根据实验结果的MOS与SSIM之间的关系,并且曲线图40表示根据实验结果的MOS与质量指数QI之间的关系。

MOS是指由人的样本组给出的评估分,并且视频质量随着MOS增大而提高。实验结果表明MOS与客观评估值之间的关系或者MOS与主观评估值之间的关系可为非线性的。例如,MOS的增量可随着作为客观评估值的示例的PSNR的增大而减小,如曲线图20所示,而MOS的增量可随着作为主观评估值的示例的SSIM的增大而增大,如曲线图30所示。因此,仅通过客观评估值或者仅通过主观评估值来评估视频质量可为不实际的,并且当视频编码被设计为仅提高客观评估值或者仅提高主观评估值时其也可不促进实际视频质量的提高。因此,与MOS成线性关系的数值可适于评估视频质量,并且可如下述地定义质量指数QI。

质量指数QI可与MOS成实质上线性关系,并且可将其定义为客观评估值和主观评估值的函数。例如,如图2所示,可将质量指数QI定义为作为客观评估值的示例的PSNR和作为主观评估值的示例的SSIM的函数f。根据本发明构思的至少一个示例实施例,函数f可表示PSNR与SSIM的加权和,并且可将质量指数QI定义为下面的等式1。

等式1

QI=W1·PSNR+W2·SSIM

在等式1中,可将第一权重W1和第二权重W2设为使得质量指数QI和MOS成实质上线性关系。由于根据定义PSNR=10log(s2/MSE)PSNR可具有无限值,因此在用于计算质量指数QI的加权和中PSNR可限于上限。也就是说,当PSNR的上限为‘MaxVal'时,质量指数QI可定义为下面的等式2。根据至少一些示例实施例,‘MaxVal'可为PSNR的期望的(或者可替换地,预定的)上限。

等式2

QI=W1·min(PSNR,MaxVal)+W2·SSIM

根据本发明构思的至少一个示例实施例,‘MaxVal'可为50。由于根据定义,SSIM可具有0至1的值,为了使PSNR的范围与SSIM的范围匹配,第二权重W2可包括比例因数C,并且比例因数C可与例如PSNR的上限‘MaxVal'匹配。因此,第二权重W2可为比例因数C与SSIM因数WS的乘积,SSIM因数WS设为与第一权重W1之和恒定(例如,为1)。也就是说,质量指数QI可定义为下面的等式3。

等式3

QI=W1·min(PSNR,MaxVal)+C·Ws·SSIM(W1+WS=1)

图1的视频编码器10可执行视频编码以增大以上质量指数QI。例如,图1的量化模块300的量化参数产生器320可产生量化参数QP以增大从输出数据D_OUT产生的比特流(即,编码数据)的质量指数QI。针对该目的,如以下参照图4A和图4B的描述,可将PSNR和SSIM表示为量化参数QP的函数,并且如以下参照图5的描述,可使用通过如下方法获得的函数,即,计算用于确定将被增大的PSNR和SSIM之一的函数对量化参数QP的微分以增大质量指数QI。下文中,虽然以PSNR作为客观评估值的示例并且以SSIM作为主观评估值的示例描述了实施例,但是应该理解的是,本发明构思的至少一些示例实施例不限于此。

图3是示出根据本发明构思的至少一个示例实施例的图1的量化模块300的示例的框图。如以上参照图1的描述,图3的量化模块300'可通过根据量化参数QP对输入数据D_IN进行量化来产生输出数据D_OUT。如图3所示,量化模块300'可包括量化参数产生器320'和量化处理器340'。被描述为通过量化模块300'(和/或量化模块300'的任何元件)执行的操作可通过被构造为执行所述操作的电路、执行被存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路和执行程序代码的处理器的组合来执行。

量化参数产生器320'可接收原始数据D_ORG的方差VAR。方差VAR可为包括在原始数据D_ORG中的像素的方差。可以通过像素中的每一个具有的下列值中的至少一个值来计算方差VAR:例如,亮度、发光度、红色值、蓝色值和绿色值等。方差VAR在本文中也可称作原始数据的方差或者原始数据方差。量化参数产生器320'可从图1的控制模块100接收方差VAR(例如,在控制模块100计算原始数据D_ORG的方差VAR之后),或者与图3所示的不同,其可接收原始数据D_ORG并从接收到的原始数据D_ORG计算方差VAR。量化参数产生器320'可利用参考值函数来产生至少一个参考值,基于质量指数QI的第一权重W1和第二权重W2将参考值函数定义为方差VAR的函数。量化参数产生器320'可将初始量化参数与至少一个参考值进行比较,并且根据其比较结果产生用于增大PSNR的量化参数QP或者用于增大SSIM的量化参数QP。通过量化参数产生器320'产生的量化参数QP还可称作最终量化参数QP。

像图1的量化处理器340那样,量化处理器340'可利用通过量化参数QP确定的量化矩阵对输入数据D_IN进行量化来产生输出数据D_OUT。

图4A和图4B示出了根据本发明构思的至少一个示例实施例的表示作为量化参数QP的函数的PSNR和SSIM的曲线图。图5是示出根据本发明构思的至少一个示例实施例的通过计算图4A和图4B的PSNR和SSIM对量化参数QP的微分而获得的函数的曲线图。详细地说,图4A是表示作为量化参数QP的函数的PSNR的曲线图,并且图4B是表示作为量化参数QP的函数的SSIM的曲线图。

MSE可表达为量化参数QP的函数,如下面的等式4所示。在等式4中,‘α’是根据舍入偏移量的常数,例如,当舍入偏移量为1/2、1/3和1/6时,‘α’可分别为1/12、1/9和7/36。

等式4

当像素的总量(full scale)为255时,PSNR可表达为量化参数QP的函数,如下面的等式5所示。也就是说,PSNR可近似表达为量化参数QP的一阶函数。

等式5

根据“On Rate Distortion Optimization Using SSIM”(C.Yeo、H.L.Tan和Y.H.Tan,IEEE Trans.CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,第23卷,第7期,第1170-1181页,2013年7月),SSIM可表达为量化参数QP的函数,如下面的等式6所示。在等式6中,‘σ2’可指原始数据D_ORG的方差(即,VAR),并且‘c2’可为用于在SSIM的定义中使用的数值稳定性的常数。

等式6

因此,当将等式4的MSE代入等式6中时,SSIM可表达为量化参数QP的函数,如下面的等式7所示。

等式7

参照等式5和等式7,与作为量化参数QP的一阶函数的PSNR(如图4A所示)不同,SSIM可根据量化参数QP和原始数据D_ORG的方差VAR‘σ2’二者变化,如图4B所示。

根据本发明构思的至少一个示例实施例,为了评估形成质量指数QI的PSNR和SSIM中的每一个相对于量化参数QP的敏感度,通过计算等式5的PSNR和等式7的SSIM对量化参数QP的微分而获得的微分函数可表达为下面的等式8和等式9。

等式8

等式9

参照等式8和等式9,如图5所示,PSNR的微分函数可具有基本恒定的值(即,-1),而SSIM的微分函数可根据QP变化,并且可与PSNR的微分函数相交。如图5所示,SSIM的微分函数的区间P1、P2和P3可具有比PSNR的微分函数的值更低的值。像在图4B中,SSIM的微分函数也可取决于量化参数QP和方差VAR‘σ2’二者,并且区间P1、P2和P3可根据方差VAR‘σ2’而变化。

参照图5,在SSIM的微分函数低于PSNR的微分函数的区间中,由于SSIM根据量化参数QP的减小的增量大于PSNR的增量,因此调整量化参数QP以增大SSIM可为有利的。另一方面,在PSNR的微分函数低于SSIM的微分函数的区间中,由于PSNR根据量化参数QP的减小的增量大于SSIM的增量,因此调整量化参数QP以增大PSNR可为有利的。然而,由于通过第一权重W1和第二权重W2确定SSIM和PSNR对质量指数QI的影响,因此可通过方差VAR以及第一权重W1和第二权重W2二者确定量化参数QP的范围,也就是说,需要被调整以增大SSIM的量化参数QP的范围或者需要被调整以增大PSNR的量化参数QP的范围,如下面参照图6的描述。

图6是示出根据本发明构思的至少一个示例实施例的图3的量化参数产生器320'的示例的框图。如以上参照图3的描述,图6的量化参数产生器320"可接收方差VAR,并且可产生量化参数QP。如图6所示,量化参数产生器320"可包括参考值产生器322、第一量化参数计算器324、第二量化参数计算器326和量化参数选择器328。被描述为通过量化参数产生器320"(和/或量化参数产生器320"的任何元件)执行的操作可通过被构造为执行所述操作的电路、执行存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路和执行程序代码的处理器的组合来执行。

量化参数产生器320"可将初始量化参数QP0与至少一个参考值REF进行比较,并且可根据其比较结果选择和输出第一量化参数QP1和第二量化参数QP2之一作为量化参数QP。初始量化参数QP0相对于输入数据D_IN可为预定的。例如,可从图1的控制模块100接收初始量化参数QP0,并且控制模块100可基于通过编码原始视频数据5产生的比特流的比特率确定初始量化参数QP0。也就是说,当比特率的裕量足够时,可产生相对小的初始量化参数QP0,并且当比特率的裕量不足时,可产生相对大的初始量化参数QP0。根据本发明构思的至少一个示例实施例,与图6所示的不同,可在量化参数产生器320"中产生初始量化参数QP0。

参考值产生器322可接收方差VAR,并且可产生至少一个参考值REF。如上面参照图5的描述,所述至少一个参考值REF可根据量化参数QP的改变限定质量指数QI对PSNR更加敏感的区间和质量指数QI对SSIM更加敏感的区间。例如,可计算设为使得等式8的PSNR的微分函数与等式9的SSIM的微分函数的比率等于第二权重W2与第一权重W1的比率的量化参数QP,作为所述至少一个参考值REF。也就是说,可计算量化参数QP以满足下面的等式10。

等式10

通过等式10,可计算第一参考值REF1和第二参考值REF2,如下面的等式11和等式12所示。

等式11

等式12

因此,当初始量化参数QP0在第一参考值REF1与第二参考值REF2之间时,也就是说,当PSNR的微分函数与SSIM的微分函数的比率大于第二权重W2与第一权重W1的比率时,质量指数QI可对SSIM比对PSNR更加敏感。另一方面,当初始量化参数QP0小于或等于第一参考值REF1或者大于或等于第二参考值REF2时,也就是说,当PSNR的微分函数与SSIM的微分函数的比率小于或等于第二权重W2与第一权重W1的比率时,质量指数QI可对PSNR比对SSIM更加敏感。

参照等式7,由于从方差VAR‘σ2’确定‘β’,因此当在等式11和等式12中确定第一权重W1和第二权重W2和其它常数时,第一参考值REF1和第二参考值REF2中的每一个可表达为方差VAR‘σ2’的函数,如下面的等式13和等式14中所示。

等式13

REF1=g(σ2)

等式14

REF2=h(σ2)

因此,参考值产生器322可通过利用等式13和等式14的函数g和函数h根据方差VAR产生包括第一参考值REF1和第二参考值REF2的至少一个参考值REF。例如,参照图5,当方差VAR‘σ2’为50时,从函数g和函数h导出的第一参考值REF1和第二参考值REF2可分别代表区间P1的下限和上限。函数g和函数h可称作参考值函数。

第一量化参数计算器324可接收初始量化参数QP0并且可计算用于增大比特流的PSNR的第一量化参数QP1。例如,第一量化参数计算器324可基于在“Scalable Rate Control for MPEG-4Video”(H.Lee、T.Chiang和Y.Zhang,IEEE Trans.CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,第10卷,第6期,第878-894页,2000年9月)中提出的可伸缩码率控制(SRC,scalable rate control)方案来计算第一量化参数QP1,可基于在“Rate Control for H.264Video With Enhanced Rate and Distortion Models”(D.Kwon、M.Shen和C.J.Kuo,IEEE Trans.CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,第17卷,第5期,第517-529页,2007年5月)中提出的率失真模型来计算第一量化参数QP1,或者可基于在“λDomain Rate Control Algorithm for High Efficiency Video Coding”(B.Li、H.Li、L.Li和J.Zhang,IEEE Trans.IMAGE PROCESSING,第23卷,第9期,第3841-3854页,2014年9月)中提出的比特率-拉格朗日乘子法(R-λ)模型计算第一量化参数QP1。第一量化参数计算器324可按照除以上方式之外的各种方式计算用于增大PSNR的第一量化参数QP1。

第二量化参数计算器326可接收初始量化参数QP0并且可计算用于增大比特流的SSIM的第二量化参数QP2。例如,第二量化参数计算器326可基于在“On Rate Distortion Optimization Using SSIM”(C.Yeo、H.L.Tan和Y.Tan,IEEE Trans.CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,第23卷,第7期,2013年7月)中提出的率失真优化(RDO)方法计算第二量化参数QP2,或者可基于在“SSIM-based adaptive quantization in HEVC”(C.Yeo、H.L.Tan和Y.H.Tan,IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP),2013年5月,第1690-1694页)中提出的量化参数选择方法计算第二量化参数QP2。第二量化参数计算器326可按照除以上方式以外的各种方式计算用于增大SSIM的第二量化参数QP2。

量化参数选择器328可接收初始量化参数QP0和所述至少一个参考值REF,并且可接收第一量化参数QP1和第二量化参数QP2。量化参数选择器328可通过将初始量化参数QP0与所述至少一个参考值REF进行比较来输出第一量化参数QP1和第二量化参数QP2之一,作为量化参数QP(即,最终量化参数QP)。将参照图7描述量化参数选择器328的详细内容。

图7是示出根据本发明构思的至少一个示例实施例的图6的量化参数选择器328的操作的示例的流程图。如以上参照图6的描述,量化参数选择器328可接收第一参考值REF1和第二参考值REF2、初始量化参数QP0以及第一量化参数QP1和第二量化参数QP2,并且可输出量化参数QP。

在操作S92中,量化参数选择器328可将初始量化参数QP0与第一参考值REF1和第二参考值REF2中的每一个进行比较。例如,如图7所示,量化参数选择器328可确定初始量化参数QP0是否在第一参考值REF1与第二参考值REF2之间。在操作S94中,当初始量化参数QP0不在第一参考值REF1与第二参考值REF2之间时,量化参数选择器328可将量化参数QP确定为用于增大PSNR的第一量化参数QP1。另一方面,在操作S96中,当初始量化参数QP0在第一参考值REF1与第二参考值REF2之间时,量化参数选择器328可将量化参数QP确定为用于增大SSIM的第二量化参数QP2。

图8A和图8B是示出根据本发明构思的至少一些示例实施例的图6的参考值产生器322的示例的框图。如以上参照图6的描述,图8A和图8B的参考值产生器322a或322b可接收方差VAR,并且可输出第一参考值REF1和第二参考值REF2。

参照图8A,根据本发明构思的至少一个示例实施例,参考值产生器322a可包括查找表322_1。查找表322_1可被存储在诸如闪速存储器、EEPROM、PRAM、RRAM、MRAM或FRAM的非易失性存储器中,并且可通过从非易失性存储器载入而存储在诸如DRAM、SRAM或移动DRAM的易失性存储器中。查找表322_1可包括多个方差值(例如,不同的方差值)以及对应于所述多个方差值的第一参考值和第二参考值。第一参考值和第二参考值在本文中也可被称作参考值函数值。例如,如图8A所示,查找表322_1可包括‘V2’、利用等式13的函数‘g’根据‘V2’预先计算的‘R12’和利用等式14的函数‘h’根据‘V2’预先计算的‘R22’的组。因此,当接收到的方差VAR为‘V2’时,参考值产生器322a可输出分别作为第一参考值REF1和第二参考值REF2的‘R12’和‘R22’。被描述为通过参考值产生器322a(和/或参考值产生器322a的任何元件)执行的操作可通过被构造为执行所述操作的电路、执行被存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路和执行程序代码的处理器的组合来执行。

参照图8B,根据本发明构思的至少一个示例实施例,参考值产生器322b可包括参考值计算器322_2。也就是说,参考值计算器322_2可通过利用等式13的函数g和等式14的函数h根据方差VAR直接计算来产生第一参考值REF1和第二参考值REF2。例如,当参考值计算器322_2是通过逻辑综合设计的硬件模块时,参考值计算器322_2可包括至少一个乘法器和加法器,并且可包括存储其操作结果的寄存器。被描述为通过参考值产生器322b(和/或参考值产生器322b的任何元件)执行的操作可通过被构造为执行所述操作的电路、执行被存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路和执行程序代码的处理器的组合来执行。

图9A和图9B是示出根据本发明构思的至少一些示例实施例的图6的参考值产生器322的示例的框图。如以上参照图6的描述,图9A和图9B的参考值产生器322c或322d可接收方差VAR,并且可输出第一参考值REF1和第二参考值REF2。与图8A和图8B的参考值产生器322a或322b相比,图9A和图9B的参考值产生器322c或322d还可接收配置信号CFG并且可响应于配置信号CFG改变从方差VAR产生至少一个参考值REF的方法。被描述为通过参考值产生器322c和/或322d(和/或参考值产生器322c和/或322d的任何元件)执行的操作可通过被构造为执行所述操作的电路、执行被存储在存储器中并且包括对应于所述操作的指令的程序代码的处理器或者上述电路和执行程序代码的处理器的组合来执行。

参照图9A,参考值产生器322c可包括查找表322_3。像图8A的查找表322_1那样,查找表322_3可包括多个方差值以及对应于所述多个方差值的第一参考值和第二参考值。查找表322_3可从参考值产生器322c的外部接收配置信号CFG并且可响应于配置信号CFG更新包括在查找表322_3中的值。例如,响应于配置信号CFG,查找表322_3可更新包括在查找表322_3中的至少一个方差值、至少一个第一参考值或者至少一个第二参考值。因此,当视频质量评估标准改变时,例如,当质量指数QI的第一权重W1和第二权重W2改变时,可通过配置信号CFG更新第一参考值REF1和第二参考值REF2。

参照图9B,参考值产生器322d可包括参考值计算器322_4和系数存储装置322_5。像图8B的参考值计算器322_2那样,参考值计算器322_4可根据方差VAR计算第一参考值REF1和第二参考值REF2。系数存储装置322_5可存储用以由参考值计算器322_4从方差VAR计算第一参考值REF1和第二参考值REF2的至少一个系数。例如,系数存储装置322_5可存储在以上等式中使用的任何常数。系数存储装置322_5可为诸如闪速存储器、EEPROM、PRAM、RRAM、MRAM或FRAM的非易失性存储器,并且可为从非易失性存储器载入系数的寄存器或诸如DRAM、SRAM或移动DRAM的易失性存储器。

系数存储装置322_5可从参考值产生器322d的外部接收配置信号CFG,并且可响应于配置信号CFG更新存储在系数存储装置322_5中的至少一个系数。例如,系数存储装置322_5可将第一系数存储在期望的(或者可替换地,预定的)空间(例如,地址区)中,并且可响应于配置信号CFG将第一系数改变为第二系数。因此,参考值计算器322_4可基于第二系数从方差VAR计算第一参考值REF1和第二参考值REF2。

图10是示出根据本发明构思的至少一个示例实施例的视频编码方法的流程图。例如,可通过图3的量化模块300'执行图10的视频编码方法。如图10所示,视频编码方法可包括多个操作S120、S140和S 160;并且将在下面参照图3描述图10。

在操作S120中,可以将始量化参数QP0与至少一个参考值REF进行比较。可基于被定义为PSNR和SSIM的加权和的质量指数QI中的第一权重W1和第二权重W2以及用于产生输入数据D_IN的原始数据D_ORG的方差VAR来确定所述至少一个参考值REF。所述至少一个参考值REF可根据量化参数QP的改变限定质量指数QI对PSNR更加敏感的区间和质量指数QI对SSIM更加敏感的区间。例如,所述至少一个参考值REF可包括第一参考值REF1和第二参考值REF2,并且质量指数QI可根据第一参考值REF1与第二参考值REF2之间的量化参数QP的改变对SSIM更加敏感。

在操作S140中,可根据其比较结果而增大PSNR或SSIM。例如,当初始量化参数QP0在第一参考值REF1与第二参考值REF2之间时,可产生用于增大SSIM的量化参数QP。另一方面,当初始量化参数QP0不在第一参考值REF1与第二参考值REF2之间时,可产生用于增大PSNR的量化参数QP。根据本发明构思的至少一个示例实施例,可计算用于增大PSNR的第一量化参数QP1和用于增大SSIM的第二量化参数QP2二者,并且可根据初始量化参数QP0与所述至少一个参考值REF之间的比较来选择第一量化参数QP1和第二量化参数QP2之一。

在操作S160中,可通过根据量化参数QP对输入数据D_IN进行量化来产生输出数据D_OUT。例如,可根据量化参数QP确定量化矩阵,并且可利用产生的量化矩阵对输入数据D_IN进行量化。

图11是示出根据本发明构思的至少一个示例实施例的计算图10的至少一个参考值的方法(S110)的流程图。详细地说,图11示出了产生第一参考值REF1和第二参考值REF2的方法,并且可在图10的操作S120之前执行图11的操作S110。根据本发明构思的至少一个示例实施例,可通过图8A和图8B的参考值产生器322a或322b执行图11的计算至少一个参考值的方法(S110)。下文中,将参照图8B描述图11。

在操作S112中,可接收原始数据D_ORG的方差VAR。例如,参考值产生器322b可接收包括在原始数据D_ORG中的像素的方差。参照等式6,由于SSIM取决于原始数据D_ORG的方差‘σ2’,因此参考值产生器322b可接收原始数据D_ORG的方差VAR。

在操作S114中,可基于方差VAR产生第一参考值REF1和第二参考值REF2。例如,参考值产生器322b可利用参考值函数(例如,等式13的函数g和等式14的函数h)产生第一参考值REF1和第二参考值REF2,基于质量指数QI中的第一权重W1和第二权重W2将参考值函数定义为原始数据D_ORG的方差VAR的函数。详细地说,在参考值函数中,可从当通过计算PSNR对量化参数QP的微分而获得的第一微分函数与通过计算SSIM对量化参数QP的微分而获得的第二微分函数的比率等于第二权重与第一权重的比率时的量化参数QP的值导出第一参考值REF1和第二参考值REF2。

图12是示出根据本发明构思的至少一个示例实施例的视频质量评估器1000的框图。视频质量评估器1000可为处理数据的计算系统。例如,视频质量评估器1000可为诸如台式PC、笔记本PC或平板PC的个人计算系统,并且可为诸如服务器或工作站的计算系统。如图12所示,视频质量评估器1000可接收通过视频解码器2010对编码数据D_ENC进行解码产生的解码数据D_DEC,并且可输出视频质量指数VQ。视频质量评估器1000可包括PSNR计算器1100、SSIM计算器1200、参考数据提供器1300、质量指数计算器1400和视频质量指数(VQ)计算器1500。

根据本发明构思的至少一个示例实施例,视频质量评估器1000可基于客观评估值与主观评估值的加权和评估视频质量。例如,如图12所示,视频质量评估器1000可包括计算作为客观评估值的示例的PSNR的PSNR计算器1100和计算作为主观评估值的示例的SSIM的SSIM计算器1200,并且可基于PSNR和SSIM的加权和评估视频质量。

参考数据提供器1300可将参考数据D_REF提供至PSNR计算器1100和SSIM计算器1200。参考数据D_REF可等于通过视频编码器从中产生编码数据D_ENC的原始数据。

PSNR计算器1100可基于解码数据D_DEC和参考数据D_REF计算PSNR。例如,PSNR计算器1100可基于解码数据D_DEC和参考数据D_REF计算MSE,并且可基于MSE计算PSNR。相似地,SSIM计算器1200可基于解码数据D_DEC和参考数据D_REF计算SSIM。

质量指数计算器1400可计算作为PSNR和SSIM的加权和的质量指数QI。例如,如等式1中,质量指数计算器1400可利用第一权重W1和第二权重W2计算PSNR和SSIM的加权和。如上参照图2的描述,基于MOS与PSNR之间的关系和MOS与SSIM之间的关系,可将第一权重W1和第二权重W2确定为使得MOS与质量指数成线性关系。根据本发明构思的至少一个示例实施例,质量指数计算器1400可将PSNR限于上限,并可将质量指数QI计算为PSNR和SSIM的加权和。另外,第二权重W2可为用于将PSNR的范围和SSIM的范围匹配的比例因数与被设为与第一权重W1之和为常数的SSIM因数WS的乘积。

视频质量指数计算器1500可接收质量指数QI,并且可基于多个质量指数QI计算视频质量指数VQ。质量指数QI可对应于一帧或包括在该帧内的一块。因此,视频质量指数计算器1500可接收多个质量指数QI,并且可例如通过将所述多个质量指数QI平均化或滤波来基于所述多个质量指数QI计算帧序列的视频质量指数VQ。

图13是示出根据本发明构思的至少一个示例实施例的评估视频质量的方法的流程图。根据本发明构思的至少一个示例实施例,可通过图12的视频质量评估器1000执行图13的视频质量评估方法。如图13所示,视频质量评估方法可包括多个操作S220、S240、S260和S280。

在操作S220中,可接收帧数据的序列。帧序列可为通过解码比特流产生的数据。然后,在操作S240中,可基于帧数据和参考数据计算PSNR和SSIM。PSNR和SSIM可对应于一帧或者可对应于包括在该帧中的多个块之一。

在操作S260中,可将质量指数QI计算为PSNR和SSIM的加权和。在加权和中,基于MOS与PSNR之间的关系和MOS与SSIM之间的关系,可将PSNR的第一权重W1和SSIM的第二权重W2确定为使得MOS与质量指数QI成实质上线性关系。根据本发明构思的至少一个示例实施例,第二权重W2可为用于将PSNR的范围和SSIM的范围匹配的比例因数与被设为与第一权重W1之和为常数的SSIM因数WS的乘积。

在操作S280中,可基于多个质量指数QI计算视频质量指数VQ。质量指数QI可对应于一帧或包括在该帧中的一块,因此,可基于所述多个质量指数QI计算与帧数据的序列对应的视频质量指数VQ。

图14是示出根据本发明构思的至少一个示例实施例的图13的操作S260的示例的流程图。如以上参照图13的描述,在图14的操作S260'中,可将质量指数QI计算为PSNR和SSIM的加权和。

在操作S262中,可将PSNR与PSNR的上限‘MaxVal’进行比较。在操作S264中,当PSNR大于‘MaxVal’时,PSNR可设为‘MaxVal’。根据定义(PSNR=10log(s2/MSE)),PSNR可具有无限值,并且可在一定程度上或在该程度以上忽略PSNR的偏差。因此,根据本发明构思的至少一个示例实施例,PSNR可限于‘MaxVal’,并且‘MaxVal’可为50。然后,在操作S266中,可将质量指数QI计算为PSNR和SSIM的加权和。

图15是示出根据本发明构思的至少一个示例实施例的系统芯片(SoC)2000的框图。作为半导体设备,SoC 2000可包括视频编码器或者执行根据本发明构思的至少一个示例实施例的视频编码方法。另外,SoC 2000可执行根据本发明构思的至少一个示例实施例的视频质量评估方法。随着在一个芯片上执行各种功能的复杂功能块(例如,知识产权(IP))的实施,SoC 2000可通过执行根据本发明构思的至少一个示例实施例的视频编码方法产生用以提供改进的图像质量的编码数据(即,比特流)。

参照图15,SoC 2000可包括调制解调器2200、显示控制器2300、存储器2400、外部存储器控制器2500、中央处理单元(CPU)2600、事务单元2700、功率管理集成电路(PMIC)2800和GPU 2900,并且SoC 2000的各个功能块可通过系统总线2100彼此通信。

能够控制SoC 2000的全部操作的CPU 2600可控制其它功能块2200、2300、2400、2500、2700、2800和2900的操作。根据本发明构思的至少一个示例实施例,CPU 2600可通过执行存储在存储器2400中的指令来执行根据本发明构思的至少一个示例实施例的视频编码方法。例如,CPU 2600可通过编码从外部存储器控制器2500接收到的原始数据产生比特流,并且可将产生的比特流发送至调制解调器2200。根据本发明构思的至少一个其它示例实施例,CPU 2600可通过执行存储在存储器2400中的指令执行根据本发明构思的至少一个示例实施例的视频质量评估方法。例如,CPU 2600可解码从外部存储器控制器2500接收到的或者从调制解调器2200接收到的比特流,并且可基于解码的数据评估视频质量。

调制解调器2200可解调从SoC 2000外部接收到的信号或者可调制在SoC 2000中产生的信号,并且将调制的信号发送至外部。外部存储器控制器2500可控制将数据发送至与SoC 2000连接的外部存储器设备/从该外部存储器设备接收数据的操作。例如,可在外部存储器控制器2500的控制下将存储在外部存储器设备中的程序和/或数据提供至CPU 2600或GPU 2900。

GPU 2900可执行关于图形处理的程序指令。GPU 2900可通过外部存储器控制器2500接收图形数据,并且可通过外部存储器控制器2500将通过GPU 2900处理的图形数据发送至SoC 2000外部。根据本发明构思的至少一个示例实施例,GPU 2900可执行根据本发明构思的至少一个示例实施例的视频编码方法。例如,GPU 2900可通过编码从外部存储器控制器2500接收到的原始数据来产生比特流,并且可将产生的比特流发送至调制解调器2200。

事务单元2700可监控对应的功能块的数据事务,并且PMIC 2800可根据事务单元2700的控制来控制供应至各个功能块的功率。通过控制SoC 2000外部的显示器(或显示设备),显示控制器2300可将在SoC 2000中产生的数据发送至显示器。

存储器2400可包括诸如电可擦除可编程只读存储器(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、电阻式随机存取存储器(RRAM)、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁性随机存取存储器(MRAM)或铁电随机存取存储器(FRAM)的非易失性存储器,并且可包括诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、移动DRAM、双数据速率同步动态随机存取存储器(DDR SDRAM)、低功率DDR(LPDDR)SDRAM、图形DDR(GDDR)SDRAM或者Rambus动态随机存取存储器(RDRAM)的易失性存储器。存储器2400可存储以上原始数据或比特流。

已经描述了本发明构思的示例实施例,应该清楚,示例实施例可按照许多方式变化。这种变化不被认为脱离了本发明构思的示例实施例的期望精神和范围,并且本领域技术人员应该清楚的所有这些修改旨在被包括在权利要求的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1