CN104221378B - 在视频译码中用于量化矩阵的均匀粒度 - Google Patents
在视频译码中用于量化矩阵的均匀粒度 Download PDFInfo
- Publication number
- CN104221378B CN104221378B CN201380019894.2A CN201380019894A CN104221378B CN 104221378 B CN104221378 B CN 104221378B CN 201380019894 A CN201380019894 A CN 201380019894A CN 104221378 B CN104221378 B CN 104221378B
- Authority
- CN
- China
- Prior art keywords
- values
- modified
- conversion coefficient
- video
- quantization matrix
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding 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
本发明的技术针对于使用经修改量化参数QP值来以均匀QP粒度计算视频块的经量化及经解量化变换系数。按照惯例,在变换系数的量化及解量化期间使用量化矩阵时,量化矩阵条目充当对应于基准QP值的量化器步长的缩放因子,此举导致不均匀QP粒度。为了提供跨越所有量化矩阵条目的均匀QP粒度,所述技术包含基于用作到基准QP值的偏移的相关联量化矩阵条目来计算变换系数的经修改QP值。在视频解码器处,所述技术包含基于所述经修改QP值从经量化变换系数计算经解量化变换系数。在视频编码器处,所述技术包含基于所述经修改QP值从变换系数计算经量化变换系数。
Description
本申请案主张2012年4月16日申请的第61/624,959号的美国临时申请案的权益,所述申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更确切地说,涉及在视频译码期间的视频压缩。
背景技术
可将数字视频能力并入到多种多样的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频串流装置及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及这些标准的扩展中所描述的视频压缩技术。视频装置可通过实施此些视频压缩技术而更有效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,视频切片(例如,视频帧或视频帧的一部分)可以分割成视频块,视频块还可被称作树块、译码单元(CU)及/或译码块。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可被称为帧,且参考图片可被称为参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示待译码原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据编码的。经帧内译码块是根据帧内译码模式及残余数据编码的。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可以对残余变换系数进行量化。可以扫描起初用二维阵列布置的经量化变换系数,以便产生变换系数的一维向量,并且可以应用熵译码以实现更多的压缩。
发明内容
一般来说,本发明的技术针对于使用经修改量化参数(QP)值来以均匀QP粒度计算视频块的经量化及经解量化变换系数。按照惯例,在变换系数的量化及解量化期间使用量化矩阵时,量化矩阵条目充当对应于基准QP值的基准量化器步长的缩放因子以确定系数中的每一者的不同量化器步长。然而,使用量化矩阵条目作为缩放因子会导致不均匀QP粒度,其中对于较小量化矩阵条目具有较低QP粒度。较小量化矩阵条目通常与其中较高粒度将为合乎需要的较低频率系数相关联。
为了提供跨越所有量化矩阵条目的均匀QP粒度,本发明的技术包含基于用作到基准QP值的偏移的相关联量化矩阵条目来计算变换系数的经修改QP值。在视频解码器或视频编码器的视频解码部分处,所述技术包含基于经修改QP值从经量化变换系数计算经解量化变换系数。在视频编码器处,所述技术包含基于经修改QP值从变换系数计算经量化变换系数。
在一实例中,本发明针对于一种用于对视频数据进行解码的方法,所述方法包含:基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个经量化变换系数的经修改QP值,其中经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及基于经修改QP值从视频块的经量化变换系数计算经解量化变换系数。
在另一实例中,本发明针对于一种对视频数据进行编码的方法,所述方法包含:基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个变换系数的经修改QP值,其中经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及基于经修改QP值从视频块的变换系数计算经量化变换系数。
在另一实例中,本发明针对于一种视频解码装置,其包含:经配置以存储视频数据的存储器;及处理器,所述处理器经配置以:基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个经量化变换系数的经修改QP值,其中经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及基于经修改QP值从视频块的经量化变换系数计算经解量化变换系数。
在另一实例中,本发明针对于一种视频编码装置,其包含:经配置以存储视频数据的存储器;及处理器,所述处理器经配置以:基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个经量化变换系数的经修改QP值,其中经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及基于经修改QP值从视频块的变换系数计算经解量化变换系数。
在额外实例中,本发明针对于一种视频解码装置,其包含:用于基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个经量化变换系数的经修改QP值的装置,其中经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及用于基于经修改QP值从视频块的经量化变换系数计算经解量化变换系数的装置。
在另一实例中,本发明针对于一种计算机可读媒体,其包括用于对视频数据进行解码的指令,所述指令在执行时致使一或多个处理器:基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的多个经量化变换系数的经修改QP值,其中所述经修改QP值提供跨越所有量化矩阵条目的均匀QP粒度;及基于经修改QP值从视频块的经量化变换系数计算经解量化变换系数。
一或多个实例的细节陈述于随附图式及以下描述中。其它特征、目标及优势将从所述描述及所述图式以及从权利要求书而显而易见。
附图说明
图1为说明实例视频编码及解码系统的框图,所述视频编码及解码系统可利用本发明中描述的技术来计算变换系数的经修改量化参数(QP)值,所述经修改QP值提供跨越量化矩阵的所有条目值的均匀QP粒度。
图2为说明实例视频编码器的框图,所述视频编码器可实施本发明中描述的技术以基于提供跨越量化矩阵的所有条目值的均匀QP粒度的经修改QP值计算经量化变换系数。
图3为说明实例视频解码器的框图,所述视频编码器可实施本发明中描述的技术以基于提供跨越量化矩阵的所有条目值的均匀QP粒度的经修改QP值计算经解量化变换系数。
图4为说明根据本发明中描述的技术的实例基于经修改QP值计算经解量化变换系数的实例操作的流程图。
图5为说明根据本发明中描述的技术的实例基于经修改QP值计算经量化变换系数的实例操作的流程图。
具体实施方式
视频压缩技术通常包含预测将待译码的当前块缩减到残余块,将残余块中像素域值变换到频域变换系数,及量化变换系数以进一步减少位速率。量化程度可通过调整视频块的变换系数的量化参数(QP)值来修改。在量化之后,对经量化变换系数进行熵编码。经编码位流可被发射到视频解码器,或经存档以供稍后发射或由视频解码器检索。在视频编码器处,对经量化变换系数进行解量化及反变换以重建构视频块以供稍后用作参考图片的参考块。在视频解码器处,从所接收的位流解码、解量化及反变换经量化变换系数以重建构视频块以供显示或存储。
ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)及高效率视频译码(HEVC)标准支持使用量化矩阵来确定每一视频块系数的不同量化器步长。在一实例中,视频译码标准将基本QP粒度定义为等于6,其意谓QP值增加6导致量化器步长的加倍,且QP值降低6导致量化器步长的减半。在其它实例中,视频译码标准可定义具有不同值(例如8或12)的基本QP粒度。
按照惯例,量化矩阵条目充当对应于基准QP值的基准量化器步长的缩放因子。在此状况下,在量化矩阵条目加倍或减半时,所述量化矩阵条目对应于量化器步长的加倍或减半,或等效地,+6或-6的QP改变。然而,使用量化矩阵条目作为缩放因子以不均匀方式修改每一变换系数的QP粒度。举例来说,在下部末端,使量化矩阵条目从1改变到2有效地使量化器步长加倍。在较高末端,量化矩阵条目从128到255的改变也有效地使步长加倍。因此,与低量化器矩阵值相比较,对于高量化器矩阵值来说,QP粒度要高得多。这是违反直觉的,因为低量化矩阵值通常用于其中较高粒度将为合乎需要的较低频率变换系数。
本发明的技术通过基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的变换系数的经修改QP值而提供跨越所有量化矩阵条目的均匀QP粒度。以此方式,代替基于量化矩阵条目按比例缩放基准量化器步长(即,使用乘法),基准QP值基于量化矩阵条目而偏移(即,使用加法)。根据所述技术,使用量化矩阵条目作为偏移实现均匀QP粒度,这是因为需要量化矩阵条目的均匀改变量来使量化器步长加倍。本发明的技术进一步描述基于经修改QP值来计算视频块的经量化变换系数及经解量化变换系数。
作为实例,视频解码器从视频编码器接收位流,所述位流包含表示视频块的经量化变换系数的位。视频解码器对来自位流的经量化变换系数进行解码,且基于用作到基准QP值的偏移的量化矩阵条目计算经量化变换系数的经修改QP值。视频解码器接着基于经修改QP值从经量化变换系数计算视频块的经解量化变换系数,以便重建构视频块以供显示或存储。
作为另一实例,视频编码器计算待编码的视频块的残余视频块的变换系数,且基于用作到基准QP值的偏移的量化矩阵条目来计算变换系数的经修改QP值。视频编码器接着基于经修改QP值从变换系数计算经量化变换系数,且对待发射到视频解码器或经存档以供稍后发射或由视频解码器检索的位流中的经量化变换系数进行编码。视频编码器还可基于经修改QP值从经量化变换系数计算经解量化变换系数,以重建构视频块以供稍后用作参考图片的参考块。
图1为说明实例视频编码及解码系统10的框图,所述视频编码及解码系统可利用本发明中描述的技术来计算变换系数的经修改QP值,所述经修改QP值提供跨越量化矩阵的所有条目值的均匀QP粒度。如图1中所展示,系统10包含源装置12,其产生稍后时间待由目的地装置14解码的经编码视频数据。源装置12和目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频串流装置或类似者。在一些状况下,源装置12和目的地装置14可能经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时地将经编码视频数据直接发射到目的地装置14的通信媒体。经编码的视频数据可以根据通信标准(例如无线通信协议)得到调制,并且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。通信媒体可能形成分组网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可用于促进从源装置12到目的地装置14的通信的设备。
或者,经编码数据可从源装置12的输出接口22输出到存储装置。类似地,可由目的地装置14的输入接口28从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码的视频数据的合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或可保持源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取经存储的视频数据。文件服务器可为能够存储经编码视频数据且将经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置及本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码的视频数据。这可包含适合于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置的发射可为流式传输、下载传输或两者的组合。
本发明的技术不必限于无线应用或设定。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、流式视频传输(例如,经由因特网)、编码数字视频以用于存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些情况下,输出接口22可包含调制器/解调制器(调制解调器)及/或发射器。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、用于从视频内容提供者接收视频的视频馈入接口及/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类源的组合等源。作为一个实例,如果视频源18是摄像机,那么源装置12和目的地装置14可以形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。
可由视频编码器12来编码所俘获视频、经预先俘获的视频或计算机产生的视频。经编码视频数据可经由源装置20的输出接口22直接发射到目的地装置14。经编码视频数据还可(或替代地)存储到存储装置上以供稍后由目的地装置14或其它装置存取以用于解码及/或回放。
目的地装置14包括输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置上提供的经编码视频数据可包含由视频编码器20产生的多种语法元素以供例如视频解码器30等视频解码器用于对视频数据进行解码。此些语法元素可与在通信媒体上发射、存储在存储媒体上或存储在文件服务器中的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频译码标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,且可符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器单元或其它硬件及软件以处置对共同数据流或单独数据流中的音频或视频两者的编码。在一些实例中,如果适用的话,多路复用器-多路分用器单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20及视频解码器30各自可实施为多种合适的编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时计算机可读媒体中且使用一或多个处理器用硬件执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编解码器)的部分。
JCT-VC正在努力开发HEVC标准。所述HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的进化的模型。HM假设视频译码装置根据例如ITU-TH.264/AVC相对于现存装置的几个额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十三种帧内预测编码模式。
一般来说,HM的工作模型描述视频帧或图片可以分成包含明度和色度样本两者的一连串经译码树块(CTB)或最大译码单元(LCU)。树块具有与H.264标准的宏块类似的目的。切片包含按译码次序的多个连续树块。视频帧或图片可以分割成一或多个切片。每一树块可以根据四叉树分裂成译码单元(CU)。举例来说,作为四叉树的根节点的树块可分裂成四个子节点,且每一子节点又可为父代节点且可分裂成另外四个子节点。最终的未分裂子节点(为四叉树的叶节点)包括译码块,即经译码视频块。与经译码位流相关联的语法数据可定义可将树块分裂的最大次数,且还可定义译码块的最小大小。
CU包含译码块以及与译码块相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码块的大小并且形状必须是正方形。CU的大小可以从8x8像素到具有最大64x64像素或更大的树块的大小变动。每一CU可含有一或多个PU及一或多个TU。举例来说,与CU相关联的语法数据可描述CU到一或多个PU的分割。划分模式可以在CU被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码之间有区别。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一或多个TU。TU可为正方形或非正方形形状。
HM允许根据TU进行变换,所述变换可针对不同CU而不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU残余样本可以使用一种被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称为TU。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可以经量化。
一般来说,PU包含与预测过程有关的数据。举例来说,当PU经帧内模式编码时,PU可包括描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包括界定PU的运动向量的数据。举例来说,定义PU的运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或运动向量的参考图片列表。
一般来说,TU用于变换及量化过程。具有一或多个PU的给定CU还可包含一或多个TU。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,所述像素差值可变换成变换系数、经量化且使用TU进行扫描以产生串行化变换系数用于熵译码。本发明通常使用术语“视频块”来指CU的译码块。在一些特定状况下,本发明还可使用术语“视频块”来指包含译码块以及PU及TU的树块,即CTB或LCU或CU。
视频序列通常包含一系列视频帧或图片。图片群组(GOP)一般包括一系列一或多个视频图片。GOP可包含GOP的标头、图片中的一或多者的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含切片语法数据,其描述用于相应切片的编码模式。视频编码器20通常对各个视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于CU内的译码块。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
作为一实例,HM支持各种PU大小的预测。假设特定CU的大小是2Nx2N,则HM支持2Nx2N或NxN的PU大小的帧内预测,及2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的帧间预测的不对称划分。在不对称划分中,不分割CU的一个方向,但是另一方向分割成25%和75%。CU的对应于25%分区的部分表示成“n”,接着是用“上方”、“下方”、“左侧”或“右侧”指示。因而,举例来说,“2NxnU”是指水平地分割的2Nx2N CU,其中上方有2Nx0.5N PU,而下方有2Nx1.5NPU。
在本发明中,“NxN”与“N乘N”可互换使用来根据垂直及水平尺寸指代视频块的像素尺寸,例如,16x16像素或16乘16像素。一般来说,16x16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成行及列。此外,块未必需要在水平方向与垂直方向上具有相同数目个像素。举例来说,块可包括NxM像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可以计算CU的TU的残余数据。PU可包括空间域(还称为像素域)中的像素数据,且TU在将变换应用到残余视频数据之后可包括变换域中的系数,所述变换例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换。所述残余数据可以对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
在任何用于产生变换系数的变换之后,视频编码器20可以执行变换系数的量化。量化总体上是指变换系数经量化以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间被下舍入到m位值,其中n大于m。量化程度可通过调整视频块的变换系数的量化参数(QP)值来修改。
在一些实例中,视频编码器20可以利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对所述一维向量进行熵编码。视频编码器20还可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码时使用。
为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的一个上下文。举例来说,所述上下文可以涉及符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可以选择用于待发射的符号的可变长度码。VLC中的码字可经建构而使得相对短的代码对应于更有可能的符号,而较长的代码对应于不太可能的符号。以此方式,使用VLC可以举例来说实现优于对待发射的每一符号使用等长码字的位节省。概率确定可基于指派给符号的上下文。
除在位流中将经编码视频数据用信号发出到目的地装置14中的视频解码器30之外,视频编码器20还可解码经编码视频数据且重建构视频帧或图片内的视频块以用于在用于随后经译码块的帧内或帧间预测过程期间用作参考块。视频解码器30可执行通常与视频编码器20互逆的过程以便重建构视频块以供显示或存储。
在量化期间,HM及其它视频译码标准支持使用量化矩阵来确定视频块的变换系数中的每一者的不同量化器步长,而不是针对所有系数使用恒定量化器步长。举例来说,HM将基本QP粒度定义为等于6。在其它实例中,视频译码标准可定义具有不同值(例如,8或12)的基本QP粒度。按照惯例,在变换系数的量化及解量化期间使用量化矩阵时,量化矩阵条目充当对应于基准QP值的基准量化器步长的缩放因子以确定系数中的每一者的不同量化器步长。然而,使用量化矩阵条目作为缩放因子导致较小量化矩阵条目的不均匀QP粒度。较小量化矩阵条目通常与其中较高粒度将为合乎需要的较低频率系数相关联。
本发明的技术针对于使用经修改QP值来以均匀QP粒度计算视频块的经量化及经解量化变换系数。为了提供跨越所有量化矩阵条目的均匀QP粒度,所述技术包含基于用作到基准QP值的偏移的相关联量化矩阵条目来计算变换系数的经修改QP值。在视频解码器30或视频编码器20的视频解码部分处,所述技术包含基于经修改QP值从经量化变换系数计算经解量化变换系数。在视频编码器20的视频编码部分处,所述技术包含基于经修改QP值从变换系数计算经量化变换系数。
图2为说明实例视频编码器20的框图,所述视频编码器可实施本发明中描述的技术以基于提供跨越量化矩阵的所有条目值的均匀QP粒度的经修改QP值计算经量化变换系数。视频编码器20可以对视频切片内的视频块执行帧内和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
在图2的实例中,视频编码器20包含模式选择单元40、求和器50、变换处理单元52、量化单元54、熵编码单元56和参考图片存储器64。模式选择单元40包含分割单元41、运动估计单元42、运动补偿单元44及帧内预测处理单元46。为了视频块重建,视频编码器20还包含反量化单元58、反变换处理单元60,及求和器62。还可包含解块滤波器(图2中未图示)以便对块边界进行滤波,以从经重建视频移除成块效应假影。必要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器之外,还可使用额外环路滤波器(环路内或环路后)。
如图2中所示,视频编码器20接收视频数据,且模式选择单元40的分割单元41将数据分割成视频块。此分割还可包含分割成切片、平铺块或其它较大单元,以及视频块分割(例如根据LCU及CU的四叉树结构)。视频编码器20总体上图解说明待编码视频切片内的视频块进行编码的组件。所述切片可划分成多个视频块(且可能划分成被称作平铺块的视频块集合)。模式选择单元40可基于错误结果(例如,译码速率及失真等级)针对当前视频块选择多种可能译码模式中的一者,例如多种帧内译码模式中的一者或多种帧间译码模式中的一者。模式选择单元40可以将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并且提供到求和器62以重建经编码块以用作参考图片。
模式选择单元40内的帧内预测处理单元46可相对于在与待译码的当前块相同的帧或切片中的一或多个相邻块执行当前视频块的帧内预测性译码以提供空间压缩。模式选择单元40内的运动估计单元42及运动补偿单元44相对于一或多个参考图片中的一或多个预测性块执行当前视频块的帧间预测性译码以提供时间压缩。
运动估计单元42可经配置以根据用于视频序列的预定模式为视频切片确定帧间预测模式。预定模式可将序列中的视频切片指明为P切片或B切片。运动估计单元42与运动补偿单元44可高度集成,但出于概念目的分开加以说明。运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的移位。
预测性块是被发现在像素差方面与待译码视频块的PU密切匹配的块,像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量来确定。在一些实例中,视频编码器20可以计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可以内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置来计算用于经帧间译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表0)或第二参考图片列表(列表1),其中的每一个识别存储在参考图片存储器64中的一个或多个参考图片。运动估计单元42向熵编码单元56和运动补偿单元44发送计算出的运动向量。
通过运动补偿单元44执行的运动补偿可以涉及基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量取出或产生预测性块。在接收到当前视频块的PU的运动向量后,运动补偿单元44即刻可以在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,并且可包含明度和色度差分量两者。求和器50表示可执行此减法运算的组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。明确地说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可以例如在分开的编码编次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46(或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当帧内预测模式来使用。举例来说,帧内预测单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析总体上确定经编码块与经编码以产生所述经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
在任何状况下,在选择了用于块的帧内预测模式之后,帧内预测处理单元46可以将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可以根据本发明的技术对指示所述选定帧内预测模式的信息进行编码。视频编码器20在发射的位流中可包含配置数据,其可包含多个帧内预测模式指数表和多个修改的帧内预测模式指数表(也称为码字映射表),对用于各种块的上下文进行编码的定义,和对最可能帧内预测模式、帧内预测模式指数表和修改的帧内预测模式指数表的指示以用于所述上下文中的每一者。
在运动补偿单元44经由帧间预测或帧内预测产生用于当前视频块的预测性块之后,视频编码器20使用求和器50通过从当前视频块减去预测性块来形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中且应用到变换处理单元52。变换处理单元52可使用例如离散余弦变换(DCT)或概念上类似的变换等变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素值域转换到变换域,例如频域。在一些状况下,变换处理单元52可将二维(2D)变换(在水平及垂直方向两者上)应用于TU中的残余数据。在一些状况下,变换处理单元52可替代地将水平1D变换、垂直1D变换或不将变换应用于TU中的每一者中的残余数据。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54可量化所述变换系数以进一步减小位率。量化过程可减少与变换系数中的一些或全部相关联的位深度。量化程度可通过调整量化参数(QP)值来修改。视频编码器20可计算在图片层级、切片层级、CU层级或TU层级中的一者处的视频块的QP值。所确定的QP值可在图片参数集(PPS)、切片标头、CU标头或TU标头中的一者中用信号发出到视频解码器。在一些状况下,全QP值可用信号发出到视频解码器。在其它实例中,QP增量值可基于视频块的预测性块的QP值来预测,且QP增量值可用信号发出到视频解码器。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。熵编码单元56可执行包含经量化变换系数的矩阵的扫描。熵编码单元56接着可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码方法或技术。在熵编码单元56进行的熵编码之后,可将经编码位流发射到视频解码器30,或将经编码位流存档以供稍后发射或由视频解码器30检索。熵编码单元56还可对正被编码的当前视频切片的运动向量和其它语法元素进行熵编码。
反量化单元58和反变换处理单元60分别应用反量化和反变换以在像素域中重构残余块,例如以供稍后用作参考图片的参考块。求和器62将经重建的残余块添加到由运动补偿单元44产生的运动补偿预测块以产生参考块用于存储在参考图片存储器64中。参考块可由运动估计单元42及运动补偿单元44使用作为参考块以对后续视频帧或图片中的块进行帧间预测。
在一些状况下,在量化或解量化期间,量化单元54或反量化单元58分别使用量化矩阵来确定视频块的变换系数中的每一者的不同量化器步长,而不是使用恒定量化器步长。举例来说,HM将基本QP粒度定义为等于6,其意谓QP值增加6导致量化器步长的加倍,且QP值降低6导致量化器步长的减半。在其它实例中,视频译码标准可定义具有不同值(例如8或12)的基本QP粒度。
按照惯例,量化矩阵条目充当对应于基准QP值的基准量化器步长的缩放因子。在此状况下,在量化矩阵条目加倍或减半时,所述量化矩阵条目对应于量化器步长的加倍或减半,或等效地,+6或-6的QP改变。然而,使用量化矩阵条目作为缩放因子以不均匀方式修改每一变换系数的QP粒度。举例来说,在下部末端,使量化矩阵条目从1改变到2有效地使量化器步长加倍。在较高末端,量化矩阵条目从128到255的改变也有效地使步长加倍。因此,与低量化器矩阵值相比较,对于高量化器矩阵值来说,QP粒度要高得多。这是违反直觉的,因为低量化矩阵值通常用于其中较高粒度将为合乎需要的较低频率变换系数。
本发明的技术通过基于用作到基准QP值的偏移的相关联量化矩阵条目来计算视频块的变换系数的经修改QP值而提供跨越所有量化矩阵条目的均匀QP粒度。以此方式,代替基于量化矩阵条目按比例缩放基准量化器步长(即,使用乘法),基准QP值基于量化矩阵条目而偏移(即,使用加法)。根据所述技术,使用量化矩阵条目作为偏移实现均匀QP粒度,这是因为需要量化矩阵条目的均匀改变量来使量化器步长加倍。在视频编码器20处,所述技术包含量化单元54基于经修改QP值计算视频块的经量化变换系数,且反量化单元58基于经修改QP值计算视频块的经解量化变换系数。
举例来说,量化单元54基于用作到基准QP值的偏移的量化矩阵条目来计算从变换处理单元52接收的变换系数的经修改QP值。量化单元54接着基于经修改QP值从变换系数计算经量化变换系数。熵编码单元56接着对待发射到视频解码器或经存档以供稍后发射或由视频解码器检索的位流中的经量化变换系数进行编码。
另外,反量化单元58可基于用作到基准QP值的偏移的量化矩阵条目来计算从量化单元54接收的经量化变换系数的经修改QP值。反量化单元58接着基于经修改QP值从经量化变换系数计算经解量化变换系数以重建构视频块以供稍后用作存储于参考图片存储器64中的参考图片的参考块。
在一实例中,经修改QP值可根据如下等式来计算。
QPmod[i][j]=g*QP+(M[i][j]-offset)
在等式中,量化矩阵条目表示为M[i][j]。g的值表示基本QP粒度的整数倍数。举例来说,如上文所陈述,视频译码标准可将基本QP粒度定义为等于6。根据所述技术,量化矩阵条目的QP粒度可修改为等于g*6,其中g为大于或等于1的整数。
量化矩阵的大小可与TU相同,以使得在TU内的给定位置处的变换系数具有在对应位置处的量化矩阵中的相关联条目。举例来说,在TU的位置[i][j]处的变换系数可具有在M[i][j]处的相关联量化矩阵条目。在此状况下,[i]表示从块或矩阵的左上角开始的值的列位置,且[j]表示也从左上角开始的值的行位置。量化矩阵条目可为8位无正负号条目,以使得条目的值被限于范围[1,255]。
在一些实例中,量化矩阵条目可以从用于可适用视频译码标准的默认缩放列表知晓。在其它实例中,可由视频编码器20针对给定视频序列、图片或图片的部分来确定量化矩阵条目。在其中视频编码器20确定量化矩阵条目的状况下,熵编码单元56可对量化矩阵条目的值进行编码,且在序列参数集(SPS)或图片参数集(PPS)中的一者内将所述值用信号发出到视频解码器。
上文等式中的“偏移”的值表示到量化矩阵条目的偏移。用于选择偏移值的准则是其应允许在QP的范围内的基准QP值的充分正以及负偏移。在一实例中,视频译码标准可设定“偏移”的值等于64,以使得M[i][j]值小于64暗示负偏移,且M[i][j]值大于64暗示正偏移。在其它实例中,视频译码标准可将“偏移”的值设定为任何其它值(例如32或128),只要所述值允许在QP的范围内的充分正及负偏移。
举例来说,在HM中,值M[i][j]被限于范围[1,255],因此,“偏移”的值应为不会被设定为极接近于1或255的正整数。在其中经修改QP值的范围为[0,51]的一实例中,可将偏移值设定成在15与45之间。在其中经修改QP值的范围为[0,103]的另一实例中,偏移值可设定成在50与80之间。在其中经修改QP值的范围为[0,155]的另一实例中,偏移值可设定成在115与145之间。
根据所述技术,量化单元54可根据上文等式通过将相关联量化矩阵条目值与基准QP值相加来计算视频块的变换系数中的每一者的经修改QP值。量化单元54接着通过将变换系数中的每一者除以经修改QP值的缩放阵列条目来计算经量化变换系数。在不使用量化矩阵时,量化单元54可将变换系数中的每一者的经修改QP值设定为g*QP,且可基于经修改QP值使用相同过程来计算经量化变换系数。
如上文所描述,g的值表示基本QP粒度的整数倍数。在一些状况下,可能需要修改可适用视频译码标准的基本QP粒度以便对QP值具有更多控制。在修改基本QP粒度时,量化单元54基于用作到基准QP值的整数倍数(即,g*QP)的偏移的相关联量化矩阵条目来计算变换系数的经修改QP值。在此实例中,量化单元54可通过将相关联量化矩阵条目值与g*QP相加而计算变换系数中的每一者的经修改QP值。
此外,在修改基本QP粒度时,量化单元54基于经修改QP值及包含等于基本QP粒度的整数倍数(即,g)的条目数目的缩放阵列来计算经量化变换系数。作为一实例,在将QP粒度设定等于6(即,g=1)时,在位置[i][j]处的变换系数的经修改QP值可等于QP+(M[i][j]-64)。在此状况下,经量化变换系数可基于缩放阵列来计算,所述缩放阵列被定义为levelScale[k]={40,45,51,57,64,72},其中k=0...5。作为另一实例,在将QP粒度设定等于12(即,g=2)时,在位置[i][j]处的变换系数的经修改QP值可等于2*QP+(M[i][j]-64)。在此状况下,经量化变换系数可基于缩放阵列来计算,所述缩放阵列被定义为levelScale[k]={40,42,45,48,51,54,57,60,64,68,72,76},其中k=0...11。
为了减少作为视频解码器计算经量化变换系数及经解量化变换系数所需要的位数,量化单元54可在计算经量化变换系数之前将变换系数的层级值限制为16位。在一些状况下,量化单元54还可在对经量化变换系数进行熵译码之前将经量化变换系数的值限制为16位。
此外,根据所述技术,反量化单元58可根据上文等式通过将相关联量化矩阵条目值与基准QP值相加来计算视频块的经量化变换系数中的每一者的经修改QP值。反量化单元58接着通过将经量化变换系数中的每一者乘以经修改QP值的缩放阵列条目来计算经解量化变换系数。下文关于来自图3的视频解码器30更详细描述计算经解量化变换系数的技术。
图3为说明实例视频解码器30的框图,所述视频编码器可实施本发明中描述的技术以基于提供跨越量化矩阵的所有条目值的均匀QP粒度的经修改QP值计算经解量化变换系数。在图3的实例中,视频解码器30包含熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90及参考图片存储器92。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器30可执行一般与关于图2的视频编码器20描述的编码遍次互逆的解码遍次。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。熵解码单元80对位流进行熵解码以产生经量化系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测处理单元81。视频解码器30可接收在视频参数集(VPS)、序列参数集(SPS)、图片参数集(PPS)中、在视频切片层级处及/或在视频块层级处的语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于用信号发出的帧内预测模式及来自当前帧或图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B或P)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动向量和其它语法元素产生用于当前视频切片的视频块的预测性块。预测性块可以从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可以基于存储在参考图片存储器92中的参考图片使用默认建构技术建构参考帧列表--列表0和列表1。
运动补偿单元82通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于经解码当前视频块的预测性块。举例来说,运动补偿单元82使用一些所接收到的语法元素确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、切片的参考图片列表中的一或多者的建构信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可根据接收的语法信息元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
反量化单元86将在位流中提供且由熵解码单元80解码的经量化变换系数反量化,即解量化。反量化过程可包含使用视频编码器20针对视频切片中的每一视频块计算以确定应应用的量化程度和同样反量化程度的量化参数(QP)值。可在位流中在PPS、切片标头、CU标头或TU标头中指示视频块的QP值。所指示的QP值可为全QP值,或可为基于视频块的预测性块的QP值预测的QP增量值。反变换处理单元88将反变换应用于变换系数,例如反DCT、反整数变换或概念上类似的反变换过程,以便产生像素域中的残余块。
在一些状况下,反变换处理单元88可将二维(2D)反变换(在水平及垂直方向两者上)应用于系数。在其他状况下,反变换处理单元88可替代地将水平1D反变换、垂直1D反变换或不将变换应用于TU中的每一者中的残余数据。可将在视频编码器20处应用于残余数据的变换的类型用信号发出到视频解码器30以将适当类型的反变换应用于变换系数。
在运动补偿单元82基于运动向量和其它语法元素产生了当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元88的残余块与运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。必要时,也可应用解块滤波器(图3中未图示)以对经解码块进行滤波以便移除成块效应假影。其它环路滤波器(在译码环路中或在译码环路之后)也可用于平滑化像素转变或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器92中,参考图片存储器92存储参考图片用于后续运动补偿。参考图片存储器92还存储经解码视频用于以后在显示装置(例如图1的显示装置32)上呈现。
在一些状况下,在解量化期间,反量化单元86使用量化矩阵确定视频块的经量化变换系数中的每一者的不同量化器步长,而不是使用恒定量化器步长。在HM中,视频块的量化矩阵条目可从用于可适用视频译码标准的默认缩放列表推断,从用于预测性块的参考缩放列表推断,或在位流中从视频编码器用信号发出。在用信号发出量化矩阵条目时,熵解码单元80可对来自位流的序列参数集(SPS)或图片参数集(PPS)中的一者的量化矩阵条目的值进行解码。视频解码器30可支持视频序列中的不同图片的不同量化矩阵、不同的支持变换大小、视频数据的不同颜色分量及视频块的不同译码模式。
让M[i][j]表示量化矩阵条目。量化矩阵的大小可与TU相同以使得在TU内的给定位置处的变换系数具有在量化矩阵中在对应位置处的相关联条目。举例来说,在TU的位置[i][j]处的变换系数可具有在M[i][j]处的相关联量化矩阵条目。在此状况下,[i]表示从块或矩阵的左上角开始的值的列位置,且[j]表示也从左上角开始的值的行位置。量化矩阵条目可为8位无符号条目以使得条目的值被限于范围[1,255]。
举例来说,HM将基本QP粒度定义为等于6,其意谓QP值增加6导致量化器步长的加倍,且QP值降低6导致量化器步长的减半。在其它实例中,视频译码标准可定义具有不同值(例如8或12)的基本QP粒度。按照惯例,量化矩阵条目充当对应于基准QP值的基准量化器步长的缩放因子。在给定范围M[i][j]的情况下,在量化矩阵条目以16正规化时,16的值表示对位置[i][j]处的变换系数的量化没有改变。下文表1列举QP改变。在基本QP粒度等于6的实例中,在M[i][j]/16的正规化值加倍或减半时,其对应于量化器步长的加倍或减半,或等效地,+6或-6的QP改变。也允许中间值。
表1
M[i][j]/16 | QP改变 |
1/16 | -24 |
1/8 | -18 |
1/4 | -12 |
1/2 | -6 |
1 | 0 |
2 | +6 |
4 | +12 |
8 | +18 |
16 | +24 |
然而,使用量化矩阵条目作为缩放因子以不均匀不对称方式修改每一变换系数的QP粒度。举例来说,在下部末端,使量化矩阵条目从1改变到2有效地使量化器步长加倍(6的QP改变)。在较高末端,量化矩阵条目从128到255的改变也有效地使量化器步长加倍。因此,与低量化器矩阵值相比较,对于高量化器矩阵值来说,基准QP的改变的粒度要高得多。这是违反直觉的,因为低于16的量化矩阵值通常用于其中大部分系数能量集中的较低频率。因此,朝向量化矩阵值的下部末端,更大粒度将为合乎需要的。
一个解决方案可为以常量因子按比例缩放量化矩阵值,且接着调整基准QP值。然而,在255处削减量化矩阵值,因此此解决方案将降低在高频率与低频率之间进行区分的能力。
本发明的技术通过基于用作到基准QP值的偏移的相关联量化矩阵条目计算视频块的变换系数的经修改QP值来提供跨越所有量化矩阵条目的均匀QP粒度。以此方式,代替基于量化矩阵条目按比例缩放对应于基准QP值的基准量化器步长(即,使用乘法),基准QP值基于量化矩阵条目而偏移(即,使用加法)。根据所述技术,使用量化矩阵条目作为偏移实现均匀QP粒度,因为需要量化矩阵条目的均匀改变量来使量化器步长加倍。所述技术因此提供一种提供均一地改变基准QP值的能力的方法。在此状况下,量化器矩阵条目中的每一者可概念地解译为相对于基准QP值的QP改变。
根据所述技术,反量化单元86可基于用作到基准QP值的偏移的量化矩阵条目来计算从熵解码单元80接收的经量化变换系数的经修改QP值。反量化单元86接着基于经修改QP值从经量化变换系数计算经解量化变换系数以重建构视频块以供显示、存储,或稍后用作存储于参考图片存储器92中的参考图片的参考块。
下文将关于以下表示法更详细描述所述技术:
B=内部位深度(如由用于可适用视频译码标准的InternalBitDepth所指定)
N=变换大小
M=log2(N)
levelScale[k]={40,45,51,57,64,72},其中k=0..5
M[i][j]=8位无符号量化或缩放列表矩阵条目
首先描述其中量化矩阵条目被用作对应于基准QP值的基准量化器步长的缩放因子的常规解量化过程。让c[i][j]及d[i][j]分别为经量化系数值及经解量化系数值。在一些实例中,视频解码器30可在解量化步骤之前明确地削减经量化系数值c[i][j]。在其它实例中,视频编码器20可在对位流中的值进行熵编码之前将经量化系数值c[i][j]限于16位。
在HM中(其中基本QP粒度等于6),如下导出经解量化或按比例缩放的变换系数。
shiftScale=(B+M-9+4-(QP/6))
If(shiftScale>0)
y[i][j]=Clip3(-32768,32768,c[i][j]),
d[i][j]=((y[i][j]*M[i][j]*levelScale[QP%6]+
(1<<(shiftScale-1)))>>shiftScale,
否则
LevelLimit=1<<Min(15,12+B+M-(QP/6)),
y[i][j]=Clip3(-LevelLimit,LevelLimit-1,c[i][j]),
d[i][j]=y[i][j]*M[i][j]*levelScale[QP%6])<<(-shiftScale)
本发明的技术将量化器矩阵条目解译为到基准QP值的偏移,而不是解译为缩放因子。在一实例中,经修改QP值可根据以下等式来计算。
QPmod[i][j]=g*QP+(M[i][j]-offset)
在等式中,量化矩阵条目表示为M[i][j]。g的值表示基本QP粒度的整数倍数。举例来说,如上文所陈述,视频译码标准可将基本QP粒度定义为等于6。根据所述技术,量化矩阵条目的QP粒度可修改为等于g*6,其中g为大于或等于1的整数。
反量化单元86可将经修改QP值中的每一者削减为在经修改范围内,所述经修改范围等于在QP值(在基本QP粒度处)的基本QP粒度范围处的QP值的范围的整数倍数。在一实例中,在g=2且经修改QP粒度等于12时,可将经修改QP值削减为范围[0,119]。
上文等式中的“偏移”的值表示到量化矩阵条目的偏移。用于选择偏移值的准则是其应允许在QP的范围内的基准QP值的充分正以及负偏移。在一实例中,视频译码标准可设定“偏移”的值等于64,以使得M[i][j]值小于64暗示负偏移,且M[i][j]值大于64暗示正偏移。在其它实例中,视频译码标准可将“偏移”的值设定为任何其它值(例如32或128),只要所述值允许在QP的范围内的充分正及负偏移。
举例来说,在HM中,值M[i][j]被限于范围[1,255],因此,“偏移”的值不应被设定为极接近于1或255。在其中经修改QP值的范围为[0,51]的一实例中,可将偏移值设定成在15与45之间。在其中经修改QP值的范围为[0,103]的另一实例中,偏移值可设定成在50与80之间。在其中经修改QP值的范围为[0,155]的另一实例中,偏移值可设定成在115与145之间。
根据所述技术,反量化单元86可根据上文等式通过将相关联量化矩阵条目值与基准QP值相加来计算视频块的经量化变换系数中的每一者的经修改QP值。反量化单元86接着通过将经量化变换系数中的每一者乘以经修改QP值的缩放阵列条目来计算经解量化变换系数。缩放阵列包含等于基本QP粒度的整数倍数的条目数目。举例来说,在g=1时,缩放条目包含6个条目,且在g=2时,缩放条目包含12个条目。在不使用量化矩阵时,反量化单元86可将变换系数中的每一者的经修改QP值设定为g*QP,且可基于经修改QP值使用相同过程来计算经解量化变换系数。
更确切地说,如下文所描述基于经修改QP值计算经解量化变换系数。
d[i][j]=((c[i][j]*levelScale[QPmod[i][j]%(g*6)]<<
(QPmod[i][j]/(g*6)))+(1<<(shift-1)))>>shift
在上文等式中,shift=(B+M-9),其中B为内部位深度,N为变换大小,且M为log2(N)。另外,%表示在QPmod[i][j]除以g*6时的余数。在一些实例中,反量化单元86可在计算经解量化变换系数之前明确地削减经量化系数值c[i][j]。在其它实例中,视频编码器20可在计算经量化变换系数之前将变换系数的层级值限于16位,或可在对位流中的值进行熵编码之前将经量化变换系数值限于16位。在此实例中,反量化单元86可不需要在计算经解量化变换系数之前削减经量化系数值。
缩放阵列可如下定义。首先,导出经修改QP值的量化器步长。
其中k=0,1,...,((6*g)-1)
如上文量化器步长等式中所示,在g*6的QP粒度处,视频译码标准将步长定义为1.0,其中QPmod=g*4。接着,levelScale[k],k=0,1,…((6*g)-1)如下进行选择。
在此状况下,乘以Qstep近似为乘以levelScale,后跟着右移7位。在其它实例中,可选择不同的右移量,从而导致近似的不同精确量。
在一实例中,本发明的技术将量化器矩阵条目中的每一者解译为具有半QP精确度的QP偏移。在将QP粒度设定为等于12(即,g=2)时,如下导出在位置[i][j]处的变换系数的经修改QP值。
QPmod[i][j]=2*QP+(M[i][j]-64)。
接着如下导出经解量化变换系数。
d[i][j]=((c[i][j]*levelScale[QPmod[i][j]%12]<<
(QPmod[i][j]/12))+(1<<(shift-1)))>>shift
其中levelScale[k]={40,42,45,48,51,54,57,60,64,68,72,76},其中k=0,1,...11。
在此实例中,如上文所描述,将经修改QP值中的每一者削减为范围[0,119]。通过将QPmod[i][j]的范围限于[0,119],在此实例中,中间计算所需的位宽度为如下。
c[i][j]:16位正负号
levelScale:7位无正负号
(QPmod[i][j]/12):9位无正负号
因此,所有中间计算在32位正负号内。
如上文所描述,HM将基本QP粒度设定为等于6。再次,此意谓QP值增加6导致量化器步长的加倍。在本发明中,可假设对于视频译码标准,将保持6的定义粒度,但在g*6的粒度处在不同频率系数的量化矩阵层级处可改变QP值,其中g为大于或等于1的整数。如果将g选择为1,那么在量化矩阵内部的QP粒度与针对基本编解码器定义的QP粒度相同。
尽管已关于其中基本QP粒度为6的视频译码标准描述所述技术,但有可能扩展这些技术以用于其它粒度。作为一实例,如果基本粒度为8且量化器步长应为1.0,其中QP=5,那么可如下设计levelScale。首先,如下导出QPmod值的量化器步长。
其中k=0,1,...,(8*g-1)
对于g*8的粒度,步长应为1.0,其中QPmod=g*5。接着,选择levelScale[k],k=0,1,…,(8*g-1),以使得
按比例缩放变换系数d[i][j]的导出被修改为
d[i][j]=((c[i][j]*levelScale[QPmod[i][j]%(g*8)]<<
(QPmod[i][j]/(g*8)))+(1<<(shift-1)))>>shift
所述技术可与J.Chen、T.Lee的“较高粒度的量化参数缩放及自适应增量QP发信号(Higher granularity of quantization parameter scaling and adaptive delta QPsignaling)”(JCTVC-F495,意大利都灵,2011年7月)及T.Lee、J.Chen、J.H.Park、K.Chono的“CE4分测验1.2.c:较高粒度的量化参数缩放(CE4 Subtest 1.2.c:Higher granularityof quantization parameter scaling)”(JCTVC-G773,瑞士日内瓦,2011年11月)中描述的方法组合。Chen和Lee的方法使用在编解码器层级处的较高粒度,但可用常规技术(其使用量化矩阵条目作为缩放因子)来将增量QP值的粒度改变为对应于基准QP值的基准量化器步长。举例来说,在上文参考中,通篇使用QP粒度12。在所述状况下,通过使用上文所描述的技术,在量化器矩阵层级处的粒度可与所述粒度相同或为所述粒度的整数倍数。类似地,如果QP粒度在切片层级处改变,那么可在编码器及解码器两者已知的量化矩阵层级处使用固定粒度。在另一实例中,在量化器矩阵层级处的QP粒度可为在切片层级处的粒度的整数倍数,如上文所描述,且可将此整数倍数因子明确地用信号发出到解码器。
下文关于本发明的技术提供在章节8.6.3:用于变换系数的缩放过程(Scalingprocess for transform coefficients)处的对HEVC文本规范草案6(B.Bross、W.-J.Han、G.J.Sullivan、J.-R.Ohm、T.Wiegand(编辑者)的“高效率视频译码(HEVC)文本规范草案6”,JCTVC-H1003,2012年1月)的可能改变。
章节8.6.3用于变换系数的缩放过程
这个过程的输入是:
-变量nW指定当前变换单元的宽度,
-变量nH指定当前变换单元的高度,
-变换系数的(nW)x(nH)阵列c具有元素cij,
-变量cIdx指定当前块的色度分量,
-变量qP指定量化参数。
此过程的输出按比例缩放的变换系数,如具有元素dij的(nW)x(nH)阵列d。
如下导出变量log2TrSize:
log2TrSize=(Log2(NW)+Log2(NH))>>1 (8-x)
如下导出变量移位:
-如果cIdx等于0,
shift=BitDepthY+log2TrSize-9 (8-x)
-否则,
shift=BitDepthC+log2TrSize-9 (8-x)
缩放阵列levelScale[·]被指定为levelScale[k]={40,42,45,48,51,54,57,60,64,68,72,76},其中k=0,1,...11。
将阵列M[i][j]的元素(其中i=0..nW-1,j=0..nH-1)设定为等于ScalingFactor[SizeID][RefMatrixID][trafoType][i*nW+j],其中SizeID及RefMatrixID分别在表7-2及等式7-25中指定,且trafoType由下式导出:
trafoType=((nW==nH)?0:((nW>nH)?1:2)) (8-x)
如下设定阵列qPmod[i][j]的元素,其中i=0..nW-1,j=0..nH-1:
-如果scaling_list_present_flag等于0,
qPmod[i][j]=2*qP
-否则
qpMod[i][j]=Clip3(0,119,(2*qP+(M[i][j]-64)。
如下导出按比例缩放的变换系数dij,其中i=0..nW-1,j=0..nH-1。
dij=((cij*levelScale[qPmod[i][j]%12]<<
(qPmod[i][j]/12))+(1<<(shift-1)))>>shift (8-x)
图4为说明根据本发明中描述的技术的实例基于经修改QP值计算经解量化变换系数的实例操作的流程图。所说明的说明操作经描述为由来自图3的视频解码器30执行。在一些实例中,所说明操作的至少一部分可由来自图2的视频编码器20执行以重建构视频块以供稍后用作来自参考图片的预测性块。
视频解码器30从例如视频编码器20等视频编码器或存储装置接收表示经编码视频块的位流(100)。视频解码器30的熵解码单元80对来自所接收的位流的视频块的经量化变换系数进行解码(102)。熵解码单元80接着将经解码经量化变换系数发送到反量化单元86。
在接收经量化变换系数后,反量化单元86即刻使用相关联量化矩阵条目作为到基准QP值的偏移来计算视频块的经量化变换系数的经修改QP值(104)。在视频解码器30处,视频块的量化矩阵条目可从可适用视频译码标准的默认缩放列表推断,从预测性块的参考缩放列表推断,或在位流中从视频编码器用信号发出。量化矩阵条目可为8位无符号条目以使得条目的值被限于范围[1,255]。
根据所述技术,与对应于基准QP值的基准量化器步长的缩放因子相反,反量化单元86使用量化矩阵条目作为到基准QP值的偏移值。举例来说,反量化单元86通过将相关联量化矩阵条目值与基准QP值相加来计算经量化变换系数中的每一者的经修改QP值。通过使用量化矩阵条目作为到经量化变换系数的基准QP值的偏移,所述技术提供跨越所有量化矩阵条目的均匀QP粒度。反量化单元86可将经修改QP值中的每一者削减为在基本QP粒度处的QP值的范围内。
反量化单元86接着基于经修改QP值从经量化变换系数计算经解量化变换系数(106)。举例来说,反量化单元86通过将经量化变换系数乘以经修改QP值的缩放阵列条目来计算经解量化变换系数。在一些状况下,反量化单元86可首先在计算经解量化变换系数之前将经解码经量化变换系数削减为16位正负号。在其他状况下,在变换系数的层级值在视频编码器20处编码期间被限于16位时,反量化单元86可计算经解量化变换系数而不削减经解码经量化变换系数。
在一些状况下,可能需要修改可适用视频译码标准的基本QP粒度以便对QP值具有更多控制。所述技术使得基本QP粒度能够以整数倍数进行修改。举例来说,在HM中,基本QP粒度等于6,但所述技术允许将基本QP粒度修改为等于g*6,其中g为大于或等于1的整数倍数。在此状况下,反量化单元86可将经修改QP值中的每一者削减为在经修改范围内,所述经修改范围等于在基本QP粒度处的QP值的范围的整数倍数。在一实例中,在g=2且经修改QP粒度等于12时,可将经修改QP值削减为范围[0,119]。
此外,在修改基本QP粒度时,反量化单元86基于用作到基准QP值的整数倍数的偏移的相关联量化矩阵条目来计算经量化变换系数的经修改QP值。在此实例中,反量化单元86可通过将相关联量化矩阵条目值与g*QP相加来计算经量化变换系数中的每一者的经修改QP值,其中g为整数倍数且QP为基准QP值。
此外,在修改基本QP粒度时,反量化单元86基于经修改QP值及包含等于基本QP粒度的整数倍数的条目数目的缩放阵列计算经解量化变换系数。在HEVC中,对于等于6的基本QP粒度,缩放阵列包含6个条目,其中levelScale[k]={40,45,51,57,64,72},其中k=0..5。在一实例中,对于等于12的经修改QP粒度,缩放阵列包含12个条目,其中levelScale[k]={40,42,45,48,51,54,57,60,64,68,72,76},其中k=0,1,...,11。
在反量化单元86基于经修改QP值计算经解量化变换系数之后,反变换处理单元88计算系数的反变换以便重建构残余视频块(108)。视频解码器30接着从残余视频块及预测性块重建构原始视频块(110)。
图5为说明根据本发明中描述的技术的实例基于经修改QP值计算经量化变换系数的实例操作的流程图。所说明的说明操作经描述为由来自图2的视频编码器20执行。
视频编码器20接收包含待编码的视频块的视频数据(120)。视频编码器20从待编码的视频块及在运动估计期间选择的预测性块建构残余视频块(122)。变换处理单元52计算残余视频块的变换系数(124)。
根据本发明的技术,量化单元54使用相关联量化矩阵条目作为到基准QP值的偏移来计算视频块的变换系数的经修改QP值(126)。在视频编码器20处,视频块的量化矩阵条目可从可适用视频译码标准的默认缩放列表推断,从预测性块的参考缩放列表推断,或由视频编码器20确定。量化矩阵条目可为8位无符号条目以使得条目的值被限于范围[1,255]。
根据所述技术,与对应于基准QP值的基准量化器步长的缩放因子相反,量化单元54使用量化矩阵条目作为到基准QP值的偏移值。举例来说,量化单元54通过将相关联量化矩阵条目值与基准QP值相加来计算变换系数中的每一者的经修改QP值。通过使用量化矩阵条目作为到变换系数的基准QP值的偏移,所述技术提供跨越所有量化矩阵条目的均匀QP粒度。量化单元54可将经修改QP值中的每一者削减为在基本QP粒度处的QP值的范围内。
量化单元54接着基于经修改QP值从变换系数计算经量化变换系数(128)。举例来说,量化单元54如下计算经量化变换系数。通常,在使用量化矩阵时,不使用速率失真优化量化(RDOQ)。在一个实施例中,将每一变换系数的绝对值乘以来自阵列“g_quantScales”的条目,所述阵列是解量化侧上使用的缩放阵列的对应物。
在HM中,对于等于6的基本QP粒度,阵列quantScales包含6个条目,其中g_quantScales[k]={26214,23302,20560,18396,16384,14564},其中k=0..5。quantScales阵列内的特定条目由(modQP%6)决定,其中modQP表示特定变换系数的经修改QP值,且%表示在modQP除以6时的余数。加上取决于块是帧内译码还是帧间译码的偏移,且至少取决于块大小、输入位深度及(modQP/6),结果向右位移某一位数,其中/表示整数除法。上述操作可概括如下。
经量化系数索引=sign(变换系数)*((abs(变换系数)*quantScales[modQP%6]+offset)>>(右移位))
在一些状况下,量化单元54可在计算经量化变换系数之前将变换系数的层级值限于16位。另外,在一些状况下,量化单元54可在对所述值进行熵编码之前将经量化变换系数的值限于16位。
在一些状况下,可能需要修改可适用视频译码标准的基本QP粒度以便对QP值具有更多控制。所述技术使得基本QP粒度能够以整数倍数进行修改。举例来说,在HM中,基本QP粒度等于6,但所述技术允许将基本QP粒度修改为等于g*6,其中g为大于或等于1的整数倍数。在此状况下,量化单元54可将经修改QP值中的每一者削减为在经修改范围内,所述经修改范围等于在基本QP粒度处的QP值的范围的整数倍数。在一实例中,在g=2且经修改QP粒度等于12时,可将经修改QP值削减为范围[0,119]。
此外,在修改基本QP粒度时,量化单元54基于用作到基准QP值的整数倍数的偏移的相关联量化矩阵条目来计算变换系数的经修改QP值。在此实例中,量化单元54可通过将相关联量化矩阵条目值与g*QP相加来计算变换系数中的每一者的经修改QP值,其中g为整数倍数且QP为基准QP值。
此外,在修改基本QP粒度时,量化单元54基于经修改QP值及包含等于基本QP粒度的整数倍数的条目数目的g_quantScales阵列计算经量化变换系数。在HM中,对于等于6的基本QP粒度,g_quantScales阵列包含6个条目,其中g_quantScales[k]={26214,23302,20560,18396,16384,14564},其中k=0..5。在一实例中,对于等于12的经修改QP粒度,g_quantScales阵列包含12个条目,其中g_quantScales[k]={26214,24966,23302,21845,20560,19418,18396,17476,16384,15420,14564,13797},其中k=0,1,...,11。
在量化单元54基于经修改QP值计算经量化变换系数之后,熵编码单元56将视频块的经量化变换系数熵编码成位流(130)。视频编码器20接着可将位流发射到视频解码器30或发射到存储装置以供稍后由视频解码器30检索。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来发射,且通过基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体等有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。以此方式,计算机可读媒体一般可对应于(1)非暂时有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。而且,任何连接被适当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL),或例如红外线、无线电及微波等无线技术而从网站、服务器或其它远程源发射指令,那么同轴缆线、光纤缆线、双绞线、DSL,或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是有关非暂时有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各物的组合还应包含于计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指代前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC的集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切地说,如上文所描述,各种单元可组合于编解码器硬件单元中或由交互操作的硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适软件及/或固件来提供。
已描述各种实例。此些及其它实例在以下权利要求书的范围内。
Claims (38)
1.一种用于对视频数据进行解码的方法,所述方法包括:
接收位流中的视频块的多个经量化变换系数;
接收所述位流中的所述视频块的量化矩阵条目,其中所述视频块的所述多个经量化变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目;
将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数;
基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算视频块的所述多个经量化变换系数的经修改QP值,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;及
基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个经量化变换系数计算经解量化变换系数。
2.根据权利要求1所述的方法,其中计算经修改QP值包括通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定经量化变换系数的经修改QP值。
3.根据权利要求1所述的方法,其中计算经解量化变换系数包括通过将给定经量化变换系数乘以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经解量化变换系数。
4.根据权利要求1所述的方法,其中计算经修改QP值包括根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目值,及offset指示所述量化矩阵条目值的偏移。
5.根据权利要求1所述的方法,其进一步包括将所述经修改QP值中的每一者削减为在所述经修改QP粒度处的经修改范围内。
6.根据权利要求1所述的方法,其中计算经解量化变换系数包括基于所述经修改QP值及包含等于所述基本QP粒度的所述整数倍数的条目数目的缩放阵列来计算所述经解量化变换系数。
7.根据权利要求1所述的方法,其进一步包括在计算所述经解量化变换系数之前将所述经量化变换系数削减为16位正负号。
8.根据权利要求1所述的方法,其进一步包括在变换系数的层级值在编码期间被限于16位时,计算所述经解量化变换系数而不削减所述经量化变换系数。
9.一种用于对视频数据进行编码的方法,所述方法包括:
确定视频块的量化矩阵条目,其中所述视频块的多个变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目;
将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数;
基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算视频块的所述多个变换系数的经修改QP值,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;
基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个变换系数计算多个经量化变换系数;
在位流中用信号发出所述视频块的所述多个经量化变换系数;以及
在所述位流中用信号发出所述视频块的所述量化矩阵条目。
10.根据权利要求9所述的方法,其中计算经修改QP值包括通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定变换系数的经修改QP值。
11.根据权利要求9所述的方法,其中计算经量化变换系数包括通过将给定变换系数除以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经量化变换系数。
12.根据权利要求9所述的方法,其中计算经修改QP值包括根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目,及offset指示所述量化矩阵条目的偏移。
13.根据权利要求9所述的方法,其进一步包括将所述经修改QP值中的每一者削减为在所述经修改QP粒度处的经修改范围内。
14.根据权利要求9所述的方法,其中计算经量化变换系数包括基于所述经修改QP值及包含等于所述基本QP粒度的所述整数倍数的条目数目的缩放阵列来计算所述经量化变换系数。
15.根据权利要求9所述的方法,其进一步包括在计算所述经量化变换系数之前将所述变换系数的层级值限于16位。
16.一种用于对视频数据进行解码的视频译码装置,所述装置包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以接收位流中的视频块的多个经量化变换系数,接收所述位流中的所述视频块的量化矩阵条目,其中所述视频块的所述多个经量化变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目,将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数;基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算所述视频块的所述多个经量化变换系数的经修改QP值,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;及基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个经量化变换系数计算经解量化变换系数。
17.根据权利要求16所述的视频译码装置,其中所述处理器经配置以通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定经量化变换系数的经修改QP值。
18.根据权利要求16所述的视频译码装置,其中所述处理器经配置以通过将给定经量化变换系数乘以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经解量化变换系数。
19.根据权利要求16所述的视频译码装置,其中所述处理器经配置以根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目值,及offset指示所述量化矩阵条目值的偏移。
20.根据权利要求16所述的视频译码装置,其中所述处理器经配置以将所述经修改QP值中的每一者削减为在所述经修改QP粒度处的经修改范围内。
21.根据权利要求16所述的视频译码装置,其中所述处理器经配置以基于所述经修改QP值及包含等于所述基本QP粒度的所述整数倍数的条目数目的缩放阵列来计算所述经解量化变换系数。
22.根据权利要求16所述的视频译码装置,其中所述处理器经配置以在计算所述经解量化变换系数之前将所述经量化变换系数削减为16位正负号。
23.根据权利要求16所述的视频译码装置,其中在变换系数的层级值在编码期间被限于16位时,所述处理器经配置以计算所述经解量化变换系数而不削减所述经量化变换系数。
24.一种用于对视频数据进行编码的视频译码装置,所述装置包括:
存储器,其经配置以存储视频数据;及
处理器,其经配置以确定视频块的量化矩阵条目,其中所述视频块的多个变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目,将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数;基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算所述视频块的所述多个变换系数的经修改QP值,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个变换系数计算多个经量化变换系数,在位流中用信号发出所述视频块的所述多个经量化变换系数,以及在所述位流中用信号发出所述视频块的所述量化矩阵条目。
25.根据权利要求24所述的视频译码装置,其中所述处理器经配置以通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定变换系数的经修改QP值。
26.根据权利要求24所述的视频译码装置,其中所述处理器经配置以通过将给定变换系数除以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经量化变换系数。
27.根据权利要求24所述的视频译码装置,其中所述处理器经配置以根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目,及offset指示所述量化矩阵条目的偏移。
28.根据权利要求24所述的视频译码装置,其中所述处理器经配置以将所述经修改QP值中的每一者削减为在所述经修改QP粒度处的经修改范围内。
29.根据权利要求24所述的视频译码装置,其中所述处理器经配置以基于所述经修改QP值及包含等于所述基本QP粒度的所述整数倍数的条目数目的缩放阵列来计算所述经量化变换系数。
30.根据权利要求24所述的视频译码装置,其中所述处理器经配置以在计算所述经量化变换系数之前将所述变换系数的层级值限于16位。
31.一种用于对视频数据进行解码的视频译码装置,所述装置包括:
用于接收位流中的视频块的多个经量化变换系数的装置;
用于接收所述位流中的所述视频块的量化矩阵条目的装置,其中所述视频块的所述多个经量化变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目;
用于将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数的装置;
用于基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算视频块的所述多个经量化变换系数的经修改QP值的装置,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;及
用于基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个经量化变换系数计算经解量化变换系数的装置。
32.根据权利要求31所述的视频译码装置,其中所述用于计算经修改QP值的装置包括用于通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定经量化变换系数的经修改QP值的装置。
33.根据权利要求31所述的视频译码装置,其中所述用于计算经解量化变换系数的装置包括用于通过将给定经量化变换系数乘以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经解量化变换系数的装置。
34.根据权利要求31所述的视频译码装置,其中所述用于计算经修改QP值的装置包括用于根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值的装置,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目值,及offset指示所述量化矩阵条目值的偏移。
35.一种非暂时性计算机可读媒体,其包括用于对视频数据进行解码的指令,所述指令在执行时致使一或多个处理器:
接收位流中的视频块的多个经量化变换系数;
接收所述位流中的所述视频块的量化矩阵条目,其中所述视频块的所述多个经量化变换系数中的每一者的不同量化参数QP值基于所述量化矩阵条目;
将量化矩阵条目的经修改量化参数QP粒度设定为等于由视频译码标准定义的基本QP粒度的整数倍数;
基于用作到基准量化参数QP值的所述整数倍数的偏移的相关联量化矩阵条目来计算所述视频块的所述多个经量化变换系数的经修改QP值,其中所述经修改QP值提供跨越所有所述量化矩阵条目的均匀QP粒度;及
基于所述经修改QP粒度处的所述经修改QP值从所述视频块的所述多个经量化变换系数计算经解量化变换系数。
36.根据权利要求35所述的非暂时性计算机可读媒体,其中所述指令致使所述处理器通过将相关联量化矩阵条目值与所述基准QP值的所述整数倍数相加来计算给定经量化变换系数的经修改QP值。
37.根据权利要求35所述的非暂时性计算机可读媒体,其中所述指令致使所述处理器通过将给定经量化变换系数乘以所述经修改QP粒度处的所述经修改QP值的缩放阵列条目来计算经解量化变换系数。
38.根据权利要求35所述的非暂时性计算机可读媒体,其中所述指令致使所述处理器根据QPmod[i][j]=g*QP+(M[i][j]-offset)计算在位置[i][j]处的给定经量化变换系数的经修改QP值,其中g指示所述基本QP粒度的所述整数倍数,QP指示所述基准QP值,M[i][j]指示与所述给定经量化变换系数相关联的量化矩阵条目值,及offset指示所述量化矩阵条目值的偏移。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261624959P | 2012-04-16 | 2012-04-16 | |
US61/624,959 | 2012-04-16 | ||
US13/863,197 | 2013-04-15 | ||
US13/863,197 US20130272390A1 (en) | 2012-04-16 | 2013-04-15 | Uniform granularity for quantization matrix in video coding |
PCT/US2013/036799 WO2013158656A2 (en) | 2012-04-16 | 2013-04-16 | Uniform granularity for quantization matrix in video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104221378A CN104221378A (zh) | 2014-12-17 |
CN104221378B true CN104221378B (zh) | 2017-12-05 |
Family
ID=49325057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380019894.2A Expired - Fee Related CN104221378B (zh) | 2012-04-16 | 2013-04-16 | 在视频译码中用于量化矩阵的均匀粒度 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130272390A1 (zh) |
JP (1) | JP2015516770A (zh) |
KR (1) | KR20150008412A (zh) |
CN (1) | CN104221378B (zh) |
WO (1) | WO2013158656A2 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253483B2 (en) * | 2012-09-25 | 2016-02-02 | Google Technology Holdings LLC | Signaling of scaling list |
WO2014193630A1 (en) * | 2013-05-30 | 2014-12-04 | Intel Corporation | Quantization offset and cost factor modification for video encoding |
US10218974B2 (en) | 2015-03-31 | 2019-02-26 | Realnetworks, Inc. | Residual transformation and inverse transformation in video coding systems and methods |
CN105138304B (zh) * | 2015-07-28 | 2018-07-20 | 北京华力创通科技股份有限公司 | 数字信号的自适应量化方法及装置 |
JP6895645B2 (ja) * | 2016-03-25 | 2021-06-30 | パナソニックIpマネジメント株式会社 | 信号依存型適応量子化を用いて動画像を符号化及び復号するための方法及び装置 |
KR102331933B1 (ko) * | 2016-05-12 | 2021-11-29 | 엘지전자 주식회사 | 계수 유도 복원을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
KR102601350B1 (ko) * | 2016-05-31 | 2023-11-13 | 엘지디스플레이 주식회사 | 데이터 압축 방법 및 이를 이용한 표시 장치 |
KR102636099B1 (ko) * | 2016-12-22 | 2024-02-13 | 삼성전자주식회사 | 양자화 파라미터를 조절하는 비디오 인코딩을 위한 장치 및 방법 |
US11019339B2 (en) * | 2017-07-12 | 2021-05-25 | Futurewei Technologies, Inc. | Fractional quantization parameter offset in video compression |
US10827173B2 (en) * | 2017-11-13 | 2020-11-03 | Electronics And Telecommunications Research Institute | Method and apparatus for quantization |
WO2019162231A1 (en) * | 2018-02-26 | 2019-08-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selective quantization parameter transmission |
KR101997681B1 (ko) * | 2018-06-11 | 2019-07-08 | 광운대학교 산학협력단 | 양자화 파라미터 기반의 잔차 블록 부호화/복호화 방법 및 장치 |
WO2020054713A1 (en) * | 2018-09-11 | 2020-03-19 | Sharp Kabushiki Kaisha | Systems and methods for coding transform coefficient level values |
CN110944177B (zh) * | 2018-09-21 | 2024-03-01 | 华为技术有限公司 | 视频解码方法及视频解码器,视频编码方法及视频编码器 |
JP2020098986A (ja) * | 2018-12-17 | 2020-06-25 | キヤノン株式会社 | 画像符号化装置及び画像復号装置及びそれらの制御方法及びプログラム |
JP7494289B2 (ja) | 2019-08-15 | 2024-06-03 | バイトダンス インコーポレイテッド | 異なるパーティション構造をもつパレット・モード |
WO2021030788A1 (en) | 2019-08-15 | 2021-02-18 | Bytedance Inc. | Entropy coding for palette escape symbol |
CN114424545B (zh) | 2019-09-19 | 2024-07-16 | 字节跳动有限公司 | 用于调色板模式的量化参数推导 |
EP4035367A1 (en) * | 2019-09-23 | 2022-08-03 | InterDigital VC Holdings France, SAS | Video encoding and decoding using block area based quantization matrices |
WO2021121419A1 (en) | 2019-12-19 | 2021-06-24 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between adaptive color transform and quantization parameters |
CN115191118A (zh) | 2020-01-05 | 2022-10-14 | 抖音视界有限公司 | 在视频编解码中使用自适应颜色变换 |
WO2021143749A1 (en) * | 2020-01-14 | 2021-07-22 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of quantization parameters in video coding |
CN115176470A (zh) | 2020-01-18 | 2022-10-11 | 抖音视界有限公司 | 图像/视频编解码中的自适应颜色变换 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325714A (zh) * | 2007-06-13 | 2008-12-17 | 华为技术有限公司 | 变换数据处理方法和装置以及编码、解码方法和装置 |
CN101888556A (zh) * | 2008-03-19 | 2010-11-17 | 华为技术有限公司 | 编码、解码方法和编码、解码装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4254147B2 (ja) * | 2001-11-30 | 2009-04-15 | ソニー株式会社 | 画像情報符号化方法及び装置、並びにプログラム及び記録媒体 |
US7295609B2 (en) * | 2001-11-30 | 2007-11-13 | Sony Corporation | Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information |
US7813574B2 (en) * | 2003-09-24 | 2010-10-12 | Ntt Docomo, Inc. | Low complexity and unified transforms for video coding |
JP4756949B2 (ja) * | 2005-08-08 | 2011-08-24 | キヤノン株式会社 | 画像復号装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 |
JPWO2008132890A1 (ja) * | 2007-04-16 | 2010-07-22 | 株式会社東芝 | 画像符号化と画像復号化の方法及び装置 |
JP5502336B2 (ja) * | 2009-02-06 | 2014-05-28 | パナソニック株式会社 | 映像信号符号化装置及び、映像信号符号化方法 |
US9152875B2 (en) * | 2009-06-11 | 2015-10-06 | Texas Instruments Incorporated | Preserving text quality in video encoding |
JP5212437B2 (ja) * | 2010-08-30 | 2013-06-19 | 株式会社Jvcケンウッド | 画像データ送信装置、画像データ受信装置、画像データ伝送システム、画像データ送信方法および画像データ受信方法 |
-
2013
- 2013-04-15 US US13/863,197 patent/US20130272390A1/en not_active Abandoned
- 2013-04-16 JP JP2015505994A patent/JP2015516770A/ja active Pending
- 2013-04-16 CN CN201380019894.2A patent/CN104221378B/zh not_active Expired - Fee Related
- 2013-04-16 WO PCT/US2013/036799 patent/WO2013158656A2/en active Application Filing
- 2013-04-16 KR KR1020147032066A patent/KR20150008412A/ko not_active Application Discontinuation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101325714A (zh) * | 2007-06-13 | 2008-12-17 | 华为技术有限公司 | 变换数据处理方法和装置以及编码、解码方法和装置 |
CN101888556A (zh) * | 2008-03-19 | 2010-11-17 | 华为技术有限公司 | 编码、解码方法和编码、解码装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2013158656A2 (en) | 2013-10-24 |
JP2015516770A (ja) | 2015-06-11 |
US20130272390A1 (en) | 2013-10-17 |
CN104221378A (zh) | 2014-12-17 |
WO2013158656A3 (en) | 2013-12-12 |
KR20150008412A (ko) | 2015-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104221378B (zh) | 在视频译码中用于量化矩阵的均匀粒度 | |
CN104969552B (zh) | 存储减少的帧内预测模式决策 | |
CN103404144B (zh) | 视频译码中的经量化脉码调制 | |
CN104685875B (zh) | 用于视频译码的方法、设备、计算机可读存储媒体 | |
CN103703781B (zh) | 使用自适应运动向量分辨率的视频译码 | |
KR101590237B1 (ko) | 변환 계수들에 대한 함수-기반의 스캐닝 순서를 이용한 비디오 코딩 | |
CN103636223B (zh) | 用于视频译码的多区扫描次序 | |
CN103891279B (zh) | 用于帧内预测译码的最大概率变换 | |
KR101569259B1 (ko) | 비디오 코딩을 위한 변환 계수들의 적응적 스캐닝 | |
KR101617109B1 (ko) | 인트라-예측 비디오 코딩에서의 비-정방형 변환들 | |
CN103621095B (zh) | 用于视频译码中的帧内预测的边界像素填补 | |
CN104081777B (zh) | 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体 | |
CN103999465B (zh) | 自适应性重叠块运动补偿 | |
CN105493507B (zh) | 用于帧内块复制的残余预测 | |
CN103141100B (zh) | 用于视频译码的帧内平滑滤波器 | |
CN103947205B (zh) | 帧内模式译码中的参考模式选择 | |
CN103299620B (zh) | 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码 | |
CN106105198B (zh) | 对视频数据译码的方法、装置以及计算机可读介质 | |
CN105103550B (zh) | 用于视频编码的帧内速率控制方法和设备 | |
CN105122798B (zh) | 多层视频译码中的交叉层图片类型对准的指示 | |
KR20160052789A (ko) | 비디오 코딩에서의 계수 스캐닝 | |
CN106105204A (zh) | 在颜色空间变换译码中修改位深度 | |
CN105532007A (zh) | 在视频译码中用于非亮度分量的自适应解块滤波 | |
CN104303501A (zh) | 用于视频译码的量化矩阵和解块滤波器 | |
KR20150003327A (ko) | 변환 계수 코딩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171205 Termination date: 20190416 |
|
CF01 | Termination of patent right due to non-payment of annual fee |