用于图片的基于块的空间活动度量的制作方法

文档序号:26013128发布日期:2021-07-23 21:34阅读:100来源:国知局
用于图片的基于块的空间活动度量的制作方法

相关申请的交叉引用

本申请要求申请号为62/771,909、申请日为2018年11月27日且标题为“用于图片的基于块的空间活动度量(block-basedspatialactivitymeasureforpictures)”的美国临时专利申请的优先权,其全部内容在此引入本申请作为参考。

本发明一般涉及视频压缩领域。本发明尤其涉及一种用于图片的基于块的空间活动度量。



背景技术:

视频编解码器可包括压缩或解压数字视频的电子电路或软件。该视频编解码器可将未压缩的视频转换为压缩格式,反之亦然。在视频压缩领域,压缩视频(和/或执行其一些功能)的设备通常称为编码器,而解压视频(和/或执行其一些功能)的设备则称为解码器。

压缩数据的格式可以是符合标准视频压缩规范的。但也可能会因压缩视频中缺失了原始视频中的一些信息而出现损耗。其后果是解压视频因信息不足无法准确重建原始视频,从而使其质量低于原始未压缩的视频。

视频质量与用于表征视频的数据量(例如,由比特率确定)、编码和解码算法的复杂性、数据损失和错误的敏感性、编辑简便性、随机存取、端到端延迟(例如,时延)等之间存在复杂的关系。

编码期间,将图片(例如,视频帧)分割(例如,拆分)为相对较大的块,如128×128,并且此结构是固定的。但是,通过将图片切割成较大块进行压缩且不考虑底层视频信息(例如,视频内容),大块可能无法以有效编码方式将图片分区,从而导致比特率性能差。



技术实现要素:

在一个方面,一种编码器包括电路,电路配置为:接收视频帧;将视频帧拆分成多个块;确定多个块中的每个块各自的空间活动度量;并且利用变换矩阵,通过空间活动度量对视频帧编码。

在另一方面,一种方法包括:通过编码器接收视频帧;将视频帧拆分成多个块;确定多个块中的每个块各自的空间活动度量;以及利用变换矩阵,通过空间活动度量对视频帧进行编码。

本发明中所描述的主题的一种或多种变形在下面的附图和说明书中有详细描述。结合说明书、附图和权利要求,本发明中所描述的主题的其他特征和优点将变得显而易见。

附图说明

为了对本发明进行说明,附图中示出了本发明的一个或多个实施例的方面。然而,应当理解本发明并不限于附图所示的精确配置和装置,其中:

图1是用于编码视频的示例性过程的过程流程图,该示例性过程可利用变换矩阵确定空间活动度量,以改进编码器的操作;

图2是用于执行基于频率的块融合的示例性过程的过程流程图;

图4是能够利用空间活动度量编码的示例性视频编码器的系统方框图,该空间活动度量可包括利用变换矩阵计算频率分量;和

图4是可用于执行本公开中任何一个或多个方法及其任何一个或多个部分的计算系统的方框图。

附图并非一定按比例绘制,而是以虚线、示意图和局部视图示出。在某些情况下,省略了对于理解实施例并非必要的或者使得其他细节难以理解的细节。在各附图中,相同的标号表示相同的要素。

具体实施方式

当前主题的一些实施方式涉及一种编码视频的方法,该方法包括利用空间活动度量,该度量包括利用变换矩阵计算频率分量。与利用高通滤波器的编码器相比,利用变换矩阵能生成更多频率的频率度量,并且附加信息可提高编码效率。例如,通过利用变换矩阵确定频率分量,可生成更精确的关于视频帧频率分量的信息。并且通过利用更精确的关于频率分量的信息,可改进块融合,反之,又可提高预测,从而降低残差和比特流比特率。

在一些实施方式中,将样本块用作基本单元对图片进行分割。样本块的尺寸一致,样本块的尺寸可以是边长尺寸,以正方形像素为单位,例如但不限于,本公开的实施例可使用4×4样本块作为基本单元,并且可以使用空间活动度量来计算4×4块的频率分量。通过将4×4块作为基本分割尺寸,当前主题的一些实施方式允许通过编码器使粒度更细并且该尺寸与设定的变换块尺寸一致,使得可利用标准和定义的变换矩阵提高编码效率。另外,该方法与一些现有编码方法形成对比,现有的编码方法使用相对较大尺寸的固定块结构。本领域技术人员在阅读本公开的全部内容后应当理解,根据任何测量方法,通常任何尺寸或形状的样本块均可用于图片拆分和/或分割,尽管为了简洁起见,在后面的许多示例中仅描述了4×4的样本块。

图1是用于编码视频的示例性过程100的过程流程图,该示例性过程可利用变换矩阵确定空间活动度量,以改进编码器的操作。在步骤105中,视频帧由编码器接收。也可以以任何适用于从任何设备和/或输入端口以视频流和/或文件形式接收视频的方式来实现。接收视频帧可包括从编码器的存储器和/或与编码器通信、整合和/或已整合入编码器的计算设备的存储器中检索。接收可包括通过网络从远程设备接收。接收视频帧可包括接收由一个或多个视频组成的多个视频帧。

在步骤110中,并且仍参照图1,编码器可将视频帧分割和/或拆分为块。块可具有如上所述的任何适合的形状或尺寸,包括尺寸为4像素×4像素(4×4)。4×4的尺寸可与许多可分为整数个4×4块的标准视频分辨率相兼容。

在步骤115中,并继续参照图1,编码器可确定多个块的每个块各自的空间活动度量。本公开中使用的“空间活动度量”是指块内纹理的变化频率和幅度。也就是说,天空等平坦区域的空间活动度量较低,而草丛等复杂区域的空间活动度量较高。确定相应的空间活动度量可包括利用变换矩阵确定,但不限于离散余弦变换矩阵。确定每个块各自的空间活动度量包括利用广义离散余弦变换矩阵确定。例如,在上述块为4×4像素块的情况下,广义离散余弦变换矩阵可包括以下形式的广义离散余弦变换矩阵ii:

式中,a=1/2,

在一些实施方式中,可使用变换矩阵的整数近似,该整数近似可使用高效的硬件和软件来实现。例如,在上述块为4×4像素块的情况下,广义离散余弦变换矩阵可包括以下形式的广义离散余弦变换矩阵ii:

对于每个块bi,块频谱利用以下公式计算:

fbi=t×bi×t’

式中,t’是余弦变换矩阵t的横向;bi是对应于块中像素的以数值矩阵表示的块,如以4×4矩阵表示上述的4×4像素块;运算符号×表示矩阵乘法。

在一些实施方式中,可利用空间活动度量实施块融合。在块融合中,每个块可分配一个区域。例如,可确定视频帧内的第一区域,第一区域包括块的第一子集的第一分组。第一分组可基于相应的空间活动度量。可将块分组到具有相似频谱的区域,以表示具有相似空间活动度的区域。

例如,确定第一区域可包括对多个块中的每一个块进行迭代,并且对于每个当前块,将当前块的空间活动度量与前一块的空间活动度量进行比较并确定差值是否低于预定阈值,以及将当前块分配给第一区域。响应于或基于差值大于预定阈值的确定,将当前块分配给第二区域。本领域技术人员在阅读本公开的全部内容后应当意识到,可采用多种方式进行阈值比较,包括第一块的分配可替代地或附加地通过确定相似度是否超过阈值来实现和/或各组分配可通过确定差异程度是否超过阈值来实现。可将阈值存储在存储器中和/或利用先前或当前接收到的值和/或计算出的值来生成阈值,其中的值包括本公开中描述的任何数值和/或测量值。

图2是是用于执行基于频率的块融合的示例性过程200的过程流程图。在205中,迭代每个块bi(例如,在205中,i可按1递增)。在步骤205中,计算块fbi的频谱。在步骤215中,确定当前块fbi和前一块fbi-i的空间活动度量差值是否低于预定阈值tf。若是,在步骤220中,将当前块bi添加到当前区域。若否,在步骤225中,将当前块bi添加到新的或不同的区域。

在一些实施方式中,信息的平均度量可用于块融合,并且作为非限制性示例,可根据第一区域中各块的信息度量总和来确定,该信息度量可由显著性系数加权和/或与显著性系数相乘得出,例如,求和公式如下所示:

式中,n是第一区域的序列号;sn是显著性系数;k是对应于构成第一区域的多个块中的一个块的索引;n是构成第一区域的块的数量;bk是该多个块中的一个块的信息度量;以及an是信息的第一平均度量。例如,bk包括利用块离散余弦变换矩阵计算出的空间活动度量。

显著性系数sn可由外部专家提供和/或基于第一区域的特征值(例如,融合块)计算得出。本发明中使用的区域“特征值”是区域的可基于区域内容确定的测量属性,特征值可使用在第一区域执行的一次或多次计算的输出以数字表示。一次或多次计算包括对表示第一区域的任何信号的任何分析。一个非限制性示例包括:在质量建模应用中,为具有平滑背景的区域分配较高的sn,而为具有较低平滑背景的区域分配较低的sn。作为非限制性示例,可使用canny边缘检测算法测定边缘数量,以确定平滑度;其中,数量越低平滑度越高。自动平滑度检测的另一示例可包括对一个区域的空间变量信号进行快速傅里叶变换(fft),其中的信号可在任何二维坐标系上进行分析,并对表示红、绿和蓝色值等的信道进行fft。利用fft计算时,在频率分量较低的频域中,相对优势越高表示平滑度越高,反之,在频率分量较高的频域中,相对优势越高表示背景区域中的颜色和/或阴影值过渡越频繁、越快,使得平滑度分值越低。重要语义对象可通过用户输入来识别。语义重要性可替代地或附加地根据边缘配置和/或纹理模式进行检测。背景可通过但不限于接收和/或检测表示重要或“前景”对象(如面部或其他项,包括但不限于重要语义对象)的一部分区域来识别。另一个示例可包括为含重要语义对象的区域分配较高的sn,如人脸。重要语义对象可通过用户输入来识别。

在一些实施方式中,在其他信息处理算法直接使用计算出的fbi值的实施方式中,可省略基于频率的块融合。该实施方式可包括自适应量化,其中,量化参数基于每个4×4块的fbi值,组合成8×8、16×16、32×32或64×64块的相邻分组的4×4块的fbi值,或任何其他适合组合的fbi值来确定。

在步骤120中,对视频帧编码。编码可包括基于空间活动度量控制量化参数,例如,由4×4块的块融合过程生成的第一区域的平均空间活动度量。量化参数包括、等于和/或与量化尺寸度量成比例和/或成线性关系。本公开中使用的“量化级”和/或“量化尺寸”是表示压缩视频帧中丢失信息量的数量数字。量化级可包括但不限于如整数的数字,用一个或多个包括但不限于变换系数的系数除以和/或减去该整数数字,减少编码及后续编码帧信息内容。控制可包括基于信息的第一度量确定第一量化尺寸;量化级可表示捕获像素块中描述亮度和/或色度的信息所需的存储器直接或间接存储的度量,其中,通过信息的第一度量确定的信息的方差越大,存储所需的位数也越大。量化尺寸可基于上述的信息的第一度量,其中,信息的第一度量越大,量化尺寸越大,而信息的第一度量越小,量化尺寸越小。量化尺寸可与信息的第一度量成比例和/或线性相关。通常,信息内容越多,量化尺寸越大。通过控制量化尺寸,可将块融合区域的相关信息用于优化编码的率失真。控制可进一步基于第二区域的信息的第二平均度量进行。

图3是能够利用空间活动度量编码的示例性视频编码器200的系统方框图,该空间活动度量可包括利用变换矩阵计算频率分量。示例性视频编码器300接收输入视频304,该输入视频可初始分割或拆分成4×4块,用以进一步处理。

示例性视频编码器300包括帧内预测处理器308、运动估计和补偿处理器312(也称为帧间预测处理器)、变换/量化处理器316、逆量化和逆变换处理器320、环路滤波器324、解码图片缓冲器328和熵编码处理器332。可将比特流参数输入熵编码处理器332,使其包含在输出比特流336中。

变换/量化处理器313能够执行块融合,并计算空间活动度量,包括利用每个块的变换矩阵计算频率分量。

在运行中,确定是通过图片内预测,还是利用运动估计/补偿来处理输入视频304的帧的每个块。可将块提供给帧内预测处理器308或运动估计和补偿处理器312。如果通过帧内预测处理该块,则由帧内预测处理器308执行处理,以输出预测变量;如果通过运动估计和补偿处理,则由运动估计和补偿处理器312执行处理。

可通过从输入视频中减去预测变量来形成残差。残差可由变换/量化处理器316接收,由变换/量化处理器执行变换处理,例如离散余弦变换(dct),以生成可量化的系数。将量化系数及任何相关联的信令信息提供给熵编码处理器332,用以进行熵编码并将其包含在输出比特流336中。另外,可将量化系数提供给逆量化和逆变换处理器320,以再现像素,像素可与预测变量组合并由环路滤波器324处理;将其输出存储在解码图片缓冲器328中,以供运动估计和补偿处理器312使用。

应当注意的是,本发明中所描述的方面和实施例中的任何一个或多个都便于用数字电子电路、集成电路、专门设计的应用型专用集成电路(asic)、现场可编程门阵列(fpga)、计算机硬件、固件、软件和/或其组合实施。可在根据本说明书的教导编程的一个或多个机器(例如,用作用户电子文档计算设备的一个或多个计算设备、一个或多个服务器设备,例如文档服务器)中实现和/或实施对计算机领域的普通技术人员是显而易见的。这些各个方面或特征可包括在一个或多个可由可编程系统执行和/或解读的计算机程序和/或软件中实现的方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用或通用的,耦接用以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令以及向其传送数据和指令。熟练程序员可基于本公开的教导很容易地准备相应的软件编码,这对软件领域的普通技术人员是显而易见的。上述方面和实施方式采用的软件和/或软件模块还可包括用于协助实现机器执行软件和/或软件模块指令的相应硬件。

此种软件可以是采用机器可读存储介质的计算机程序产品。机器可读存储介质可以是任何能够存储和/或编码可由机器(例如,计算设备)执行的指令序列且使机器执行本发明中所描述的方法和/或实施例中的任何一种的介质。机器可读存储介质的示例包括但不限于磁盘、光盘(例如,cd、cd-r、dvd和dvd-r等)、磁光盘、只读存储设备“rom”、随机存取存储设备“ram”、磁卡、光卡、固态存储设备、可擦可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、可编程逻辑设备(pld)和/或其任意组合。本发明中所用的机器可读存储介质旨在包括单一介质和物理上相分离的介质集合,例如,光盘集合或一个或多个硬盘驱动器与计算机存储器的组合。本发明中所用的机器可读存储介质不包括信号传输中的瞬态存储形式。

此种软件还可包括作为数据信号在载波等数据载体上携带的信息(例如,数据)。例如,作为承载的数据信号在数据载体上实现的机器可读信息,其中,信号对指令序列或其一部分进行编码,以供机器(例如,计算设备)执行,以及任何可使机器执行本发明中所描述的方法和/或实施例中的任何一个的相关信息(例如,数据结构和数据)。

计算设备的示例包括但不限于电子书阅读设备、计算机工作站、终端计算机、服务器计算机、手持设备(例如,平板电脑和智能手机等)、网络计算机、网络路由器、网络交换机、网桥、任何能够执行用于指示机器采取动作的指令序列的机器及其任意组合。在一个示例中,计算设备可包括和/或被包括在自助服务终端中。

图4示出了计算机系统400的示例形式的计算设备的一个实施例的示意图,其中,可执行用于使控制系统执行本公开方面和/或方法中的任何一个或多的指令集。还设想利用多个计算设备执行一组专门配置的指令,以使设备中的一个或多个执行本公开的方面和/或方法中的任何一个或多个。计算机系统400包括处理器404和存储器408,通过总线412相互通信,并且与其他组件通信。总线412可包括多种总线结构中的任何一种,包括但不限于使用各种总线体系结构中的任何一种的存储器总线、存储控制器、外围总线、本地总线及其任意组合。

存储器408可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。在一个示例中,基本输入/输出系统416(bios)可存储在存储器408中,该基本输入/输出系统包括基本例程,帮助计算机系统400内的元件之间传递信息,如在启动期间。存储器408还可包括(例如,存储在一个或多个机器可读介质上的)实现本公开的方面和/或方法中的任何一个或多个的指令(例如,软件)420。在另一示例中,存储器408可进一步包括任意数量的程序模块,包括但不限于操作系统、一个或多个应用程序、其他程序模块、程序数据及其任意组合。

计算机系统400还可包括存储设备424。存储设备(例如,存储设备424)的示例包括但不限于硬盘驱动器、磁盘驱动器、光盘驱动器与光学介质的组合、固态存储设备及其任意组合。存储设备424可通过相应的接口(未示出)连接至总线412。示例性接口包括但不限于小型计算机系统接口(scsi)、高级技术附件(ata)、串行高级技术附件(sata)、通用串行总线(usb),ieee1394接口(火线)及其任意组合。在一个示例中,存储设备424(或其一个或多个组件)可以与计算机系统400可移除地连接,例如,经由外部端口连接器(未示出)。具体地,存储设备424及相关联的机器可读介质428可为计算机系统400的机器可读指令、数据结构、程序模块和/或其他数据提供非易失性和/或易失性存储。在一个示例中,软件420可全部或部分地驻留在机器可读介质428内。在另一示例中,软件420可全部或部分地驻留在处理器404中。

计算机系统400还可包括输入设备432。在一个示例中,计算机系统400的用户可经由输入设备432将命令和/或其他信息输入计算机系统400中。输入设备432的示例包括但不限于字母数字输入设备(例如,键盘)、定点设备,操纵杆、游戏手柄、音频输入设备(例如,麦克风和语音响应系统等)、光标控制设备(例如,鼠标)、触摸板、光学扫描仪、视频捕获设备(例如,照相机和摄像机)、触摸屏及其任意组合。输入设备432可经由各种接口(未示出)中的任何一个连接至总线412;接口包括但不限于串行接口、并行接口、游戏端口、usb接口、火线接口、总线直接接口412及其任意组合。输入设备432可包括触摸屏界面,该触摸屏界面可以是显示器436的一部分或与显示器436分开,下面将做进一步探讨。输入设备432可用作用户选择设备,用以在如上所述的图形界面中选择一个或多个图形表示。

用户还可经由存储设备424(例如,可移动盘驱动器和闪存驱动器等)和/或网络接口设备440将指令和/或其他信息输入计算机系统400。网络接口设备(如网络接口设备440)可用于将计算机系统400连接至多个网络中的一个或多个,如网络444,以及连接至与其连接的一个或多个远程设备448。网络接口设备的示例包括但不限于网络接口卡(例如,移动网络接口卡、局域网lan接口卡)、调制解调器及其任意组合。网络示例包括但不限于广域网(例如,互联网和企业网络)、局域网(例如,与办公室、建筑物、校园或其他相对较小的地理空间相关联的网络)、电话网络、与电话/语音提供商相关联的数据网络(例如,移动通信提供商的数据和/或语音网络)、两个计算设备之间的直接连接及其任意组合。网络可采用有线和/或无线通信模式,如网络444。通常,可使用任何网络拓扑结构。信息(例如,数据和软件420等)可经由网络接口设备440传送给计算机系统400和/或从计算机系统400传送。

计算机系统400可进一步包括视频显示适配器452,用以将可显示图像(image)传送至显示设备,如显示设备436。显示设备的示例包括但不限于液晶显示器(lcd)、阴极射线管(crt)、等离子显示器、发光二极管(led)显示器及其任意组合。显示适配器452和显示设备436可与处理器404结合使用,以提供本发明的方面的图形表示。除显示设备外,计算机系统400可包括一个或多个其他外围输出设备,包括但不限于音频扬声器、打印机及其任意组合。该外围输出设备可经由外围接口456连接至总线412。外围接口的示例包括但不限于串行端口、usb接口、火线接口、并行接口及其任意组合。

上文中已经对本发明的说明性实施例进行了详细描述。在不脱离本发明精神与范围的前提下,可对本发明做各种修改和增添。上述多个实施例中的每一个实施例的特征都可根据情况与其他所述实施例的特征相组合,以便在相关的新实施例中提供多种特征组合。此外,虽然上文中描述了多个单独的实施例,但是本发明中所描述的仅仅是对本发明原理的应用的说明。另外,尽管本发明中所描述的特定方法被示出和/或描述为以特定顺序执行,但该顺序在普通技术内是高度可变的,以实现本公开的实施例。因此,本说明书仅作示例之用,而并非旨在限制本发明的范围。

在以上的说明书和权利要求中,可出现“至少一个”或“一个或多个”等短语,其后跟元素或特征的关联列表。术语“和/或”还可出现在包含两个或两个以上元素或特征的列表中。除非另有暗示或明确说明与上下文中使用的短语相矛盾,否则该短语旨在意指单独列出的任何元素或特征,或与其他列举的元素或特征相结合的任何列举的元素或特征。例如,短语“a和b中的至少一个”、“a和b中的一个或多个”以及“a和/或b”分别旨在意指“单独的a、单独的b或a和b”。类似的解释还适用于包含三个或三个以上项目的列表。例如,短语“a、b和c中的至少一个”、“a、b和c中的一个或多个”以及“a、b和/或c”分别旨在意指“单独的a、单独的b、单独的c、a和b、a和c、b和c,或a、b和c”。另外,在以上和权利要求书中使用术语“基于”旨在意指“至少部分地基于”,从而也允许包括未列举的特征或要素。

本发明中所描述的主题可根据期望配置在系统、装置、方法和/或物品中实现。前面说明书中阐述的实施方式并不代表与本发明中所描述的主题相一致的所有实施方式。相反,它们仅是与所述主题相关的方面相一致的一些示例。尽管上面已经详细描述了一些变化,但是其他修改或增添也是可以的。除了前面阐述的变化之外,尤其是还可提供其他特征和/或变化。例如,上面所描述的实施方式旨在提供公开特征和/或组合的多种组合和子组合和/或上面公开的几个其他特征的组合和子组合。另外,附图中所示和/或本发明中所描述的逻辑流程不一定需要按所示的特定顺序或先后顺序来实现期望的结果。其他实施方式也可在所附权利要求的范围内。

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