CN108605141B - 用于紧凑多遍变换的高效参数存储 - Google Patents

用于紧凑多遍变换的高效参数存储 Download PDF

Info

Publication number
CN108605141B
CN108605141B CN201780009277.2A CN201780009277A CN108605141B CN 108605141 B CN108605141 B CN 108605141B CN 201780009277 A CN201780009277 A CN 201780009277A CN 108605141 B CN108605141 B CN 108605141B
Authority
CN
China
Prior art keywords
cmpt
transform
parameters
pass
cmpts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780009277.2A
Other languages
English (en)
Other versions
CN108605141A (zh
Inventor
A·赛义德
赵欣
M·卡切维奇
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN108605141A publication Critical patent/CN108605141A/zh
Application granted granted Critical
Publication of CN108605141B publication Critical patent/CN108605141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/439Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing

Landscapes

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

Abstract

一种装置确定来自多个紧凑多遍变换CMPT的CMPT。另外,所述装置解压缩所述CMPT的CMPT参数。在所述装置解码视频数据的实例中,所述装置将所述CMPT应用于系数块以重构建残余块,且基于预测性块和所述残余块而解码所述视频数据的图片的当前块。在所述装置编码视频数据的实例中,所述装置将所述CMPT应用于残余块以构建系数块,且产生指示所述系数块的系数值的信息以用于输出。

Description

用于紧凑多遍变换的高效参数存储
本申请要求2016年2月15日提交的美国临时专利申请62/295,448和2016年2月15日提交的美国临时专利申请62/295,456的权益,所述专利申请的全部内容以引用的方式并入本文中。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频能力可以并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等。数字视频装置实施视频译码技术,例如描述于以下各者中的那些技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-TH.264/MPEG-4第10部分高级视频译码(AVC)定义的标准、高效视频译码(HEVC)标准,和这类标准的扩展。视频装置可通过实施这类视频译码技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频译码技术包含空间(图片内)预测和/或时间(图片间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的一部分)分割成视频块(其也可被称作树块)、译码单元(CU)和/或译码节点。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测块。残余数据表示待译码原始块与预测块之间的像素差。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,可接着量化所述残余变换系数。可应用熵译码以实现甚至更大程度的压缩。
发明内容
本公开大体上描述用于紧凑多遍变换(CMPT)译码的技术。变换译码是视频译码的部分,例如,在最新标准——高效视频译码(HEVC)中。所述标准可使用可分开的块变换和固定每块大小,因此使用极少内存来实施。
有可能使用多组不可分开的变换来改善压缩,其中压缩改善取决于可用变换的数目。具有许多组不可分开的变换可能导致必须使用昂贵得多的快速存储器来存储定义呈矩阵格式的所有那些变换的参数。本公开描述用于替换基于矩阵的变换的实例技术。本公开使用CMPT而非使用基于矩阵的变换,一般来说,如与呈矩阵格式的变换相比,CMPT使用更少内存和计算。本公开描述实例技术以进一步减少那些内存要求。
在一个实例中,本公开描述一种解码视频数据的方法,所述方法包括:确定来自多个紧凑多遍变换(CMPT)的CMPT;解压缩所述CMPT的CMPT参数;将所述CMPT应用于系数块以重构建残余块,其中应用所述CMPT包括应用多个变换遍次,其中所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯(Givens)旋转,所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及基于预测性块和所述残余块而解码所述视频数据的图片的当前块。
在另一实例中,本公开描述一种编码视频数据的方法,所述方法包括:基于经编码的所述视频数据的图片的预测性块样本与原始块样本之间的差而产生残余块;确定来自多个紧凑多遍变换(CMPT)的CMPT;解压缩所述CMPT的CMPT参数;将所述CMPT应用于所述残余块以构建系数块,其中应用所述CMPT包括应用多个变换遍次;所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及产生指示所述系数块的系数值的信息以用于输出。
在另一实例中,本公开描述一种用于解码视频数据的装置,所述装置包括:数据存储媒体,其经配置以存储所述视频数据;以及视频解码器,其经配置以:确定来自多个紧凑多遍变换(CMPT)的CMPT;解压缩所述CMPT的CMPT参数;将所述CMPT应用于系数块以重构建残余块,其中所述视频解码器经配置以使得:作为应用所述CMPT的部分,所述视频解码器应用多个变换遍次,其中:所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及基于预测性块和所述残余块而解码所述视频数据的图片的当前块。
在另一实例中,本公开描述一种用于编码视频数据的装置,所述装置包括:存储器,其经配置以存储所述视频数据;以及视频编码器,其经配置以:基于经编码的所述视频数据的图片的预测性块样本与原始块样本之间的差而产生残余块;确定来自多个紧凑多遍变换(CMPT)的CMPT;解压缩所述CMPT的CMPT参数;将所述CMPT应用于所述残余块以构建系数块,其中所述视频编码器经配置以使得:作为应用所述CMPT的部分,所述视频编码器应用多个变换遍次,其中:所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及产生指示所述系数块的系数值的信息以用于输出。
在附图和以下描述中阐明一或多个实例的细节。其它特征、目标和优点将从所述描述、图式和权利要求书而显而易见。
附图说明
图1是说明经配置以实施本公开的技术的实例视频编码和解码系统的框图。
图2A和2B是说明执行变换的实例的概念图。
图3是说明根据本公开的技术的实例紧凑多遍变换实施方案的概念图。
图4是表示根据本公开的技术的由角度θ参数化、应用于一对向量元素的吉文斯正交变换和变换方程的“蝶形”图。
图5是对维数16的向量使用平行吉文斯旋转序列的紧凑多遍变换实施方案的图。
图6是说明根据本公开的技术的使用实时参数解压缩的实例紧凑多遍变换实施方案的概念图。
图7是如何可从经量化角度的向量实时获得吉文斯旋转(余弦和正弦)的参数向量的图。
图8是说明视频编码器的实例的框图。
图9是说明视频解码器的实例的框图。
图10是说明根据本公开的技术的视频编码器的实例操作的流程图。
图11是说明根据本公开的技术的视频解码器的实例操作的流程图。
具体实施方式
本公开描述可通过为视频压缩标准的基本部分的变换译码的高级应用来解决问题的技术。本公开的技术可减小大量不可分开的变换的内存和计算,从而潜在地实现具有合理成本的译码增益。在过去,已提议若干数据自适应变换技术用于视频译码,其展示译码增益,但具有过高的复杂性。本公开的技术可减小所需的内存,潜在地具有极少性能损失。
举例来说,视频译码器(例如,视频编码器或视频解码器)可确定来自多个紧凑多遍变换(CMPT)的CMPT。另外,视频译码器可解压缩CMPT的CMPT参数。视频译码器可将CMPT应用于输入块(例如,系数块或残余块)以构建输出块(例如,残余块或系数块)。作为应用CMPT的部分,视频译码器应用多个变换遍次。此外,多个变换遍次中不同于多个变换遍次中的初始变换遍次的每一变换遍次的输入包括多个变换遍次中的前一变换遍次的输出。CMPT的CMPT参数包括多个变换遍次中的每一相应变换遍次的相应参数向量。另外,对于多个变换遍次中的每一相应变换遍次,相应变换遍次包含并行执行一组相应的吉文斯旋转,所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取相应遍次的输入的两个输入值并输出相应变换遍次的输出的两个输出值。用于相应吉文斯旋转中的变换的因子由相应吉文斯旋转的相应角度θ的正弦和余弦定义。相应吉文斯旋转的相应角度θ的正弦和余弦对应于相应变换遍次的参数向量中的相应CMPT参数。
图1是说明可利用本公开的技术的实例视频编码和解码系统10的框图。如图1中所展示,系统10包含提供稍后待由目的地装置14解码的经编码视频数据的源装置12。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括广泛范围的装置中的任一个,包含台式计算机、笔记本(即,膝上型计算机)电脑、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些情况下,可装备源装置12和目的地装置14以用于无线通信。因此,源装置12和目的地装置14可为无线通信装置。源装置12是实例视频编码装置(即,用于编码视频数据的装置)。目的地装置14是实例视频解码装置(即,用于解码视频数据的装置)。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20和输出接口24。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30和显示装置32。在其它实例中,源装置12和目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如,外部相机)接收视频数据。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成显示装置。
所说明的图1的系统10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码和/或解码装置执行。尽管本公开的技术通常由视频编码装置执行,但是所述技术也可由视频编码器/解码器(通常被称作“编解码器”)执行。源装置12和目的地装置14只是此类译码装置的实例,其中源装置12产生经译码视频数据供发射到目的地装置14。在一些实例中,源装置12和目的地装置14可以大体上对称方式操作,使得源装置12和目的地装置14中的每一个包含视频编码和解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频发射,例如以用于视频流式传输、视频重放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如,摄像机、含有先前所捕获视频的视频存档和/或用以从视频内容提供者接收视频数据的视频馈入接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、存档视频与计算机产生的视频的组合。源装置12可包括经配置以存储视频数据的一或多个数据存储媒体(例如,存储媒体19)。本公开中所描述的技术一般来说可适用于视频译码,并且可应用于无线和/或有线应用。在每一情况下,捕获、预捕获或计算机产生的视频可由视频编码器20编码。输出接口24可将经编码视频信息输出到计算机可读媒体16。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一些实例中,计算机可读媒体16包括通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)来调制,且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线。通信媒体可形成基于包的网络(例如,局域网、广域网或例如因特网等全球网络)的部分。通信媒体可包含路由器、交换机、基站或可适用于促进从源装置12到目的地装置14的通信的任何其它装备。目的地装置14可包括经配置以存储经编码视频数据和经解码视频数据的一或多个数据存储媒体。
在一些实例中,经编码数据可以从输出接口24输出到存储装置。类似地,经编码数据可由输入接口从存储装置存取。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取所存储的视频数据。文件服务器可以是能够存储经编码视频数据并且将所述经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可通过包含因特网连接的任何标准数据连接来存取经编码视频数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的两者的组合。经编码视频数据从存储装置的发射可为流式传输发射、下载发射或其组合。
所述技术可应用于支持多种多媒体应用中的任一个的视频译码,例如空中电视广播、有线电视发射、卫星电视发射、因特网流视频传输(例如,HTTP动态自适应流式传输(DASH))、被编码到数据存储媒体上的数字视频、存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置12接收经编码视频数据,且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如,光盘冲压设施)的计算装置可从源装置12接收经编码视频数据并且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,所述语法信息也由视频解码器30使用,包含描述块和其它经译码单元(例如,图片群组(GOP))的特性和/或处理的语法元素。存储媒体28可存储由输入接口26接收的经编码视频数据。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一个,例如,阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30各自可实施为多种合适的固定功能和/或可编程电路系统中的任一个,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一或多个处理器以硬件执行所述指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可以包含在一或多个编码器或解码器中,所述编码器或解码器中的任一个可以集成为相应装置中的组合编码器/解码器(编解码器)的部分。
在一些实例中,视频编码器20和视频解码器30可根据视频译码标准操作。实例视频译码标准包含(但不限于)ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称为ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。此外,新视频译码标准(即,高效视频译码(HEVC)或ITU-T H.265),包含其范围和屏幕内容译码扩展、3D视频译码(3D-HEVC)和多视图扩展(MV-HEVC)和可缩放扩展(SHVC),最近已由ITU-T视频译码专家组(VCEG)与ISO/IEC动画专家组(MPEG)的关于视频译码的联合合作小组(JCT-VC)开发。
在HEVC和其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称作“帧”。图片可包含三个样本阵列,标示为SL、SCb和SCr。SL是亮度样本的二维阵列(即,块)。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。色度样本在本文中还可被称作“色度(chroma)”样本。在其它情况下,图片可为单色的且可仅包含亮度样本阵列。
为了产生图片的经编码表示,视频编码器20可以产生一组译码树单元(CTU)。CTU中的每一个可包括亮度样本的译码树块、色度样本的两个对应译码树块和用以译码译码树块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CTU可包括单个译码树块和用以译码所述译码树块的样本的语法结构。译码树块可为样本的N×N块。CTU也可以被称作“树块”或“最大译码单元(LCU)”。HEVC的CTU可以广泛地类似于例如H.264/AVC的其它标准的宏块。然而,CTU未必限于特定大小,并且可以包含一或多个译码单元(CU)。切片可包含按光栅扫描次序连续排序的整数数目个CTU。
本公开可使用术语“视频单元”或“视频块”或“块”来指代一或多个样本块和用以译码一或多个样本块的样本的语法结构。实例类型的视频单元可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分割区等等。在一些情境中,PU的论述可与宏块或宏块分割区的论述互换。视频块的实例类型可包含译码树块、译码块和其它类型的视频数据块。
为了产生经译码CTU,视频编码器20可在CTU的译码树块上以递归方式执行四叉树分割,以将译码树块划分为译码块,因此命名为“译码树单元”。译码块是样本的N×N块。CU可以包括具有亮度样本阵列、Cb样本阵列和Cr样本阵列的图片的亮度样本的译码块和色度样本的两个对应译码块,和用以译码所述译码块的样本的语法结构。在单色图片或具有三个单独色彩平面的图片中,CU可包括单个译码块和用以译码所述译码块的样本的语法结构。
视频编码器20可将CU的译码块分割成一或多个预测块。预测块是对其应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括亮度样本的预测块、色度样本的两个对应预测块和用以预测所述预测块的语法结构。在单色图片或具有三个单独色彩平面的图片中,PU可包括单个预测块和用以预测所述预测块的语法结构。视频编码器20可产生CU的每一PU的预测块(例如,亮度、Cb和Cr预测块)的预测性块(例如,亮度、Cb和Cr预测性块)。
视频编码器20可使用帧内预测或帧间预测来产生PU的预测性块。如果视频编码器20使用帧内预测产生PU的预测性块,那么视频编码器20可基于包含PU的图片的经解码样本而产生PU的预测性块。视频译码器(例如,视频编码器20或视频解码器30)可使用选自多个可用帧内预测模式的帧内预测模式来执行帧内预测。帧内预测模式可包含方向帧内预测模式,方向帧内预测模式也可被称作帧内预测方向。
不同的方向帧内预测模式对应于不同角度。在一些实例中,为了使用方向帧内预测模式来确定预测性块的当前样本的值,视频译码器可确定以对应于方向帧内预测模式的角度穿过当前样本的线与一组边界样本相交的点。边界样本可以包括紧邻预测性块左侧的列中的样本和紧接在预测性块上方的行中的样本。如果点在边界样本中的两者之间,那么视频译码器可内插或以其它方式确定对应于所述点的值。如果点对应于边界样本中之单一者,那么视频译码器可确定所述点的值等于边界样本。视频译码器可将预测性块的当前样本的值设置成等于点的确定值。
在视频编码器20产生CU的一或多个PU的预测性块(例如,亮度、Cb和Cr预测性块)之后,视频编码器20可产生CU的一或多个残余块。举例来说,视频编码器20可产生CU的亮度残余块。CU的亮度残余块中的每一样本指示CU的预测性亮度块中的一个中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。此外,视频编码器20可以产生CU的Cb残余块。CU的Cb残余块中的每一样本可以指示CU的预测性Cb块中的一个中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可以产生CU的Cr残余块。CU的Cr残余块中的每一样本可指示CU的预测性Cr块中的一个中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
此外,视频编码器20可将CU的残余块分解为一或多个变换块。举例来说,在HEVC和其它视频译码规范中,视频编码器20可使用四叉树分割将CU的残余块(例如,亮度、Cb和Cr残余块)分解成一或多个变换块(例如,亮度、Cb和Cr变换块)。变换块是应用相同变换的样本的矩形(例如,正方形或非正方形)块。CU的变换单元(TU)可包括亮度样本的变换块、色度样本的两个对应变换块和用以变换所述变换块样本的语法结构。因此,CU的每一TU可具有亮度变换块、Cb变换块和Cr变换块。TU的亮度变换块可为CU的亮度残余块的子块。Cb变换块可为CU的Cb残余块的子块。Cr变换块可为CU的Cr残余块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可包括单个变换块和用以变换所述变换块的样本的语法结构。
视频编码器20可以将一或多个变换应用于TU的变换块以产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用于TU的亮度变换块以产生TU的亮度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块以产生TU的Cr系数块。
在产生系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以量化系数块。量化通常指量化变换系数以可能减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可以熵编码指示经量化变换系数的语法元素。例如,视频编码器20可以对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
视频编码器20可输出包含形成经译码图片和相关联数据的表示的位序列的位流。因此,位流包括视频数据的经编码表示。所述位流可包括网络抽象层(NAL)单元序列。NAL单元是含有NAL单元中的数据类型的指示和含有所述数据的呈按需要穿插有模拟阻止位的原始字节序列有效负载(RBSP)的形式的字节的语法结构。NAL单元中的每一个可包含NAL单元标头且可封装RBSP。NAL单元标头可包含指示NAL单元类型代码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有封装在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
视频解码器30可接收由视频编码器20产生的位流。另外,视频解码器30可剖析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素而重构建视频数据的图片。重构建视频数据的过程可大体与由视频编码器20执行的过程互逆。举例来说,视频解码器30可使用PU的运动向量来确定用于当前CU的PU的预测性块。此外,视频解码器30可反量化当前CU的TU的系数块。视频解码器30可对系数块执行反变换以重构建当前CU的TU的变换块。通过将用于当前CU的PU的预测性块的样本添加到当前CU的TU的变换块的对应样本,视频解码器30可以重构建当前CU的译码块。通过重构建用于图片的每一CU的译码块,视频解码器30可重构建所述图片。
如上文所提及,在如HEVC等视频译码标准中使用变换译码。HEVC标准的最新副本题目为“ITU-T H.265,第H系列:视听和多媒体系统、视听服务的基础设施--移动视频的译码,用于通用视听服务的高级视频译码,国际电信联盟。2014年10月,第540页。以下参考还论述了HEVC标准:G.J.沙利文(Sullivan)、J.-R.欧姆(Ohm)、W.-J.韩(Han)和T.威甘德(Wiegand),“高效视频译码(HEVC)标准的概述(Overview of the High Efficiency VideoCoding(HEVC)Standard)”,IEEE电路系统视频技术学报,第22卷,第12号,第1649-1668页,2012年12月,和M.维恩(Wien),高效视频译码:译码工具和规范(High Efficiency VideoCoding:Coding Tools and Specification),施普林格出版社(Springer-Verlag),柏林,2015。
有可能使用许多组不可分开的变换来改善HEVC和其它视频译码规范的压缩。以下参考论述这一点:Y.叶(Ye)和M.卡茨威茨(Karczewicz),“基于双向帧内预测、方向变换和自适应系数扫描的改善的H.264帧内译码(Improved H.264intra coding based on bi-directional intra prediction,directional transform,and adaptive coefficientscanning)”,关于图像处理的IEEE国际会议会刊,圣地亚哥,CA,2008年10月,第2116-2119页;S.高村(Takamura)和A.清水(Shimizu),“关于使用模式相关2D-KLT的帧内译码(Onintra coding using mode dependent 2D-KLT)”,第30届图片译码研讨会会刊,圣何塞,CA,2013年12月,第137-140页;O.G.塞泽尔(Sezer)、O.G.古尔于兹(Guleryuz)和Y.阿尔滕巴沙克(Altunbasak),“利用稀疏正规化变换的估算和压缩(Approximation andcompression with sparse orthonormal transforms)”,关于图像处理的IEEE学刊,第2328-2343页,2015年8月;和H.E.厄吉尔梅兹(Egilmez)、A.塞德(Said)、Y.-H.凯奥(Chao)和A.奥特加(Ortega),“针对帧间预测的视频译码的基于曲线图的变换(Graph-basedtransforms for inter predicted video coding)”,关于图像处理的IEEE国际会议会刊,魁北克市,加拿大,2015年9月,第3992-3996页。
本公开中所描述之技术涉及在2016年2月15日提交的第62/295,440号美国临时申请和2016年2月15日提交的第62/295,448号美国临时申请中更详细地论述的紧凑多遍变换(CMPT)。
图2A和2B是说明执行变换的实例的概念图。图2A展示已充分使用的基于矩阵的变换的类型。举例来说,图2A中所展示的基于矩阵的变换的类型被用于HEVC中。确切地说,在图2A中,视频编码器20或视频解码器30(一般被称作视频译码器)将一或多个N×N矩阵存储在矩阵存储装置40中。此外,在图2A中,视频译码器将单个可分开的变换应用于由N×N值组成的输入块r。在视频译码器正编码视频数据的实例中,输入块可包括残余样本。在视频译码器正解码视频数据的实例中,输入块可包括变换系数。在图2A中,视频译码器从矩阵存储装置40检索一或多个N×N变换矩阵42A、42B。此外,对于输入块的每一相应行,视频译码器通过将由相应行的元素组成的向量乘以N×N变换矩阵来产生一行中间块。换句话说,视频译码器施加水平变换44A。对于中间块的每一相应列,视频译码器通过将由相应列的元素组成的向量乘以N×N变换矩阵来产生一列输出块y。换句话说,视频译码器施加垂直变换44B。
图2B展示产生显著更佳的压缩的通用化,但由于不可分开的变换需要大量大得多的矩阵和因此过多的内存,所以不可分开的变换尚不可行。在图2B的实例中,视频译码器基于输入t而确定从矩阵存储装置40检索变换矩阵46。输入t可指示应用哪种变换。对于由N×N值组成的输入块r,变换矩阵是N2×N2。为了确定输出块yt,视频译码器将输入块r乘以变换矩阵。以此方式,视频译码器应用不可分开的变换48。
图3是说明根据本公开的技术的实例紧凑多遍变换(CMPT)实施方案的概念图。图3中展示的CMPT实施方案可实现计算变换,出于视频压缩目的,所述计算变换具有与基于矩阵的变换几乎相同的性能,但可使用更少的内存和计算。确切地说,在图3的实例中,视频译码器将变换应用于输入块r。在视频译码器正编码视频数据的实例中,输入块可包括残余样本。在视频译码器正解码视频数据的实例中,输入块可包括变换系数。此外,在图3的实例中,视频译码器基于输入t而确定多个参数阵列(在图3中标示为方框54A到54T)。确定多个参数阵列在图3中标示为方框50。输入t可指示应用哪种变换。在一些实例中,输入t是到变换的列表的索引。在一些实例中,输入t包括不明确地识别变换的一或多条数据。举例来说,输入t可包括块大小、预测模式(例如,帧内或帧间预测)、帧内预测模式等等中的一或多个,无论变换是用于将残余数据变换成变换系数,或者变换是用于将变换系数变换成残余数据,等等。
在图3的实例中,为了应用变换,视频译码器执行一系列遍次(即,变换遍次)。所述遍次在图3中标示为方框52A到52T。所述一系列遍次中的每一相应遍次基于确定的多个参数阵列中的一个相应的参数阵列变换输入数据。输入块r是所述一系列遍次中的第一(即,初始)遍次的输入数据。所述一系列遍次中不同于第一遍次的每一遍次的输入数据是所述一系列遍次中的前一遍次的输出数据。对于P个变换遍次,在第一变换遍次中,输入是残余块和第一组参数值(ht,1),在下一变换遍次中,输入是第一变换遍次的输出和第二组参数值(ht,2),等等。所述一系列遍次中的最后一个遍次的输出是变换块zt。举例来说,如果视频译码器正在编码视频数据,那么最后一个变换遍次的输出是系数块。如果视频译码器正在解码视频数据,那么最后一个变换遍次的输出是残余块。如本公开中其它处所描述,每一遍次可包括一组正交变换,例如,吉文斯正交变换。视频译码器可使用并发(并行)计算在遍次内执行正交变换。举例来说,可使用若干处理器同时计算独立吉文斯变换的组。
图2A、2B和3中所说明的实例技术可由视频编码器20的变换处理单元实施以将残余块变换成系数块。相反地,视频解码器30的反变换处理单元可执行图2A、2B和3中所说明的实例技术的反变换(例如,反过程)以将系数块转换回残余块。
并且,尽管以上描述描述了执行特征的视频编码器20的变换处理单元,但视频解码器30的反变换处理单元可执行类似特征。举例来说,对于P个变换遍次,在第一反变换遍次中,输入是系数块和第一组参数值,在下一反变换遍次中,输入是第一反变换遍次的输出和第二组参数值,等等。最后一个反变换遍次的输出是残余块。
由变换处理单元或反变换处理单元中的任一个使用的参数值可存储为参数阵列,并且对于每一变换类型和每一残余块大小,存在多组参数值。遍次的数目可等于残余块的值的数目的平方根。对于大的块大小,需要存储的数据量可能变大,从而需要允许快速检索以存储此类参数数据的昂贵内存。本公开描述实例技术以减少需要存储的数据量和/或增加快速检索数据的能力。
如上文所提及,可用一系列平行吉文斯旋转来实施CMPT。图4是表示根据本公开的技术的由角度θ参数化、应用于一对向量元素的吉文斯正交变换(即,吉文斯旋转)和变换方程的“蝶形”图。应理解,吉文斯旋转仅仅作为一个实例而提供,且除非另外指出,否则不应被视为具限制性。举例来说,可将正交变换而非应用于数目对的吉文斯变换应用于使用4×4矩阵的四个数目的组,使用8×8矩阵的八个数目的组。技术可类似地扩展到CMPT过程的其它实例。
蝶形图说明一个遍次的一个实例计算。举例来说,在用于4×4残余块的第一变换遍次中,可存在蝶形图的八个实施方案。举例来说,xm和xn是输入,且tm和tn是传递到下一变换遍次的输出。如所说明,tm=xm*cos(θ)-xn*sin(θ),且tn=xm*sin(θ)+xn*cos(θ)。tm和tn随后分别为下一变换遍次的xm和xn。在此实例中,sin(θ)和cos(θ)是参数值(即,CMPT参数)。因此,用于每一吉文斯旋转中的变换的因子由角度θ的正弦和余弦定义。对于第一遍次,可存在多个θ值(例如,对于4×4残余块存在八个)。为了计算反变换,可如下确定xm和xn:xm=tm*cos(θ)+tn*sin(θ),且xn=-tm*sin(θ)+tn*cos(θ)。
图5是对维数16的向量使用平行吉文斯旋转序列的CMPT实施方案的图。吉文斯旋转在可并行地应用一个遍次内所应用的吉文斯旋转的意义上是平行的。那些吉文斯旋转可相应地依序布置(例如)成超立方体拓扑,如图5中所展示。图5的变换可被视为在输入r1…r16中的每一个可被视为单独维度的意义上具有超立方体拓扑。图5的实例是获得如表I的最后一行中所展示的内存和操作复杂性的情况,其在下文呈现。在图5的实例中,CMPT包含四个遍次60A、60B、60C和60D。然而,在其它实例中,其它数目个遍次是可能的。
在图5的实例中,参数向量ht,p可含有待由每一蝶形在对应遍次中使用的不同sin(θ)cos(θ)值。举例来说,参数向量ht,1可为{sin(0°),cos(0°),sin(20°),cos(20°),sin(40°),cos(40°),sin(60°),cos(60°),sin(80°),cos(80°),sin(100°),cos(100°),sin(120°),cos(120°),sin(140°),cos(140°)},参数向量ht,2可为{sin(5°),cos(5°),sin(25°),cos(25°),sin(45°),cos(45°),sin(65°),cos(65°),sin(85°),cos(85°),sin(105°),cos(105°),sin(125°),cos(125°),sin(145°),cos(145°)},等等。
在一些实例中,视频编码器20和视频解码器30可使用且在一些情况下存储用于不同变换、不同块大小和不同遍次的不同参数向量。举例来说,视频编码器20和视频解码器30可使用具有8×8块的参数向量{sin(0°),cos(0°),sin(20°),cos(20°),sin(40°),cos(40°),sin(60°),cos(60°)}and{sin(5°),cos(5°),sin(25°),cos(25°),sin(45°),cos(45°),sin(65°),cos(65°)}。此外,在此实例中,视频编码器20和视频解码器30可使用具有16×16块的参数向量{sin(2°),cos(2°),sin(22°),cos(22°),sin(42°),cos(42°),sin(62°),cos(62°),sin(82°),cos(82°),sin(102°),cos(102°),sin(122°),cos(122°),sin(142°),cos(142°)}、{sin(5°),cos(5°),sin(25°),cos(25°),sin(45°),cos(45°),sin(65°),cos(65°),sin(85°),cos(85°),sin(105°),cos(105°),sin(125°),cos(125°),sin(145°),cos(145°)}、{sin(7°),cos(7°),sin(27°),cos(27°),sin(47°),cos(47°),sin(67°),cos(67°),sin(87°),cos(87°),sin(107°),cos(107°),sin(127°),cos(127°),sin(147°),cos(147°)}和{sin(0°),cos(0°),sin(20°),cos(20°),sin(40°),cos(40°),sin(60°),cos(60°),sin(80°),cos(80°),sin(100°),cos(100°),sin(120°),cos(120°),sin(140°),cos(140°)}。
在图5的实例中,每一蝶形对应于图4中所展示类型的吉文斯旋转。因此,在图5的实例中,在每一遍次中,执行八个吉文斯旋转(例如,并行地使用若干处理器或专用电路系统)。对于每一相应遍次p,相应遍次中的吉文斯旋转中的每一个可使用来自用于所述相应遍次的参数向量(ht,p)的两个不同的CMPT参数(例如,sin(θ)和cos(θ))。举例来说,对于图5的左上蝶形,如果用于第1轮(即,h1,1)的参数向量中的第一参数值等于45°,那么左上蝶形的输出等于cos(45°)r1-sin(45°)r2and cos(45°)r2+sin(45°)r1
在图5中,变换Mt,p(x,ht,p)的结构随着每一遍次而变化。因此,如果改变参数或变换的次序,那么获得不同结果。举例来说,如果图5的遍次2的蝶形与图5的遍次1的蝶形交换,那么可获得不同结果。
视频解码器30可应用在编码中使用的变换的反变换。举例来说,在图5的实例中,zt,1到zt,16可充当到变换的输入,且r1到r16是变换的输出。在使用吉文斯正交变换的情况下,反吉文斯正交变换的输入是yi和yj,且输出是ri和rj,并且ri=cos(θ)yi+sin(θ)yj;rj=cos(θ)yj-sin(θ)yi
CMPT设计的一个目的是减少变换计算的内存要求。下表I展示不同类型的2-D线性变换的计算复杂性(以下详进一步细解释最后一行)。由于将块大小N定义为二的幂,即,N=2B,因此这在指数复杂性增长方面转换,且在不同变换类型之间可存在相当大的差异。
表I:具有P遍次的不同类型2-D块变换(2B×2B块)的内存和算术运算复杂性以及CMPT。
变换类型 内存 运算 运算/像素
基于矩阵,可分开 O(2<sup>2B+1</sup>) O(2<sup>3B</sup>) O(2<sup>B</sup>)
基于矩阵,不可分开 O(2<sup>4B</sup>) O(2<sup>4B</sup>) O(2<sup>2B</sup>)
CMPT,不可分开 O(P 2<sup>2B</sup>) O(P 2<sup>2B</sup>) O(P)
表I中的值意图展示内存要求如何随着块大小而增长,这是由于较大块到目前为止使用最多内存。在实际应用中,不仅考虑了增长速率,还考虑了确切的内存要求。本公开描述实例技术以进一步减少那些内存要求的实际值。
图6是说明根据本公开的技术的使用实时参数解压缩的实例CMPT实施方案的概念图。在一些实例中,视频编码器20的变换处理单元、视频编码器20的反变换处理单元或视频解码器30的反变换处理单元可包含低复杂性级,其仅在需要时将变换参数从压缩格式(通过实例,如下文所描述)转换成CMPT计算所需的数值。此处的术语“压缩”为一般含义。举例来说,在一些情况下,压缩包含避免复制重复值。
图6的实例类似于图3的实例,类似之处在于,视频译码器将变换应用于输入块r以产生输出块zt。另外,如在图3中,在图6的实例中,视频译码器基于输入t而确定参数阵列(在图6中标示为方框80)。此外,如在图3中,在图6的实例中,视频译码器执行一系列遍次(在图6中标示为方框82A到82T)。所述一系列遍次中的每一相应遍次基于相应的参数阵列而变换输入数据(在图6中标示为方框84A到84T)。然而,在图6的实例中,视频译码器执行参数解压缩(在图6中标示为方框86)以获得在所述一系列遍次中使用的参数阵列。在一些实例中,视频译码器基于依据输入t确定的参数阵列而获得在所述一系列遍次中使用的参数阵列。
下文描述用于减少内存要求的实例技术。第一种技术实现对吉文斯旋转参数的内存要求的减少。第二种技术实现CMPT参数共享。第三种技术实现CMPT参数重复。
图7是根据第一种技术的如何可从经量化角度的向量实时获得吉文斯旋转(余弦和正弦)的参数向量的图。换句话说,图7是如何可从经量化角度的向量获得吉文斯旋转的参数(即,CMPT参数)的向量以用作视频编码或解码过程的部分的图。量化大体上是指将一系列的值压缩成单个值的过程。在此情况下,个别范围的角度可压缩成单个值。举例来说,量化在-5°到5°范围内的任何角度可产生0°的角度。因此,因为角度被量化,所以在经量化角度的向量中存在有限数目个可能角度。
如上文所提及,用于每一吉文斯旋转中的变换的因子由角度θ的正弦和余弦定义。因此,所述组所有正弦和余弦值对应于CMPT参数。然而,由于正弦和余弦值不是独立的,所以仅在需要时可从θ的经量化值以及正弦和余弦值的小表格恢复正弦和余弦。
举例来说,图7说明映射表90的实例。视频译码器可针对CMPT的相应遍次存储相应多组角度值θ。另外,视频译码器可使用映射表90基于所述遍次的一组角度值θ而查找用于CMPT的遍次的一组正弦和余弦值。尽管图7的实例展示八个角度值θ和十六个正弦和余弦值,但可例如针对不同大小的块使用其它数目个角度值和正弦/余弦值。
此简单“压缩”技术可将内存要求减少两倍,并且为在CMPT计算中使用吉文斯旋转的一个优点。换句话说,视频译码器可仅存储用于每一CMPT的每一遍次的值θ并使用映射表90来确定正弦和余弦值,而不是存储用于每一CMPT的每一遍次的每一吉文斯旋转的正弦和余弦值。因此,角度θ的存储值的数目比角度正弦和余弦值的数目小两倍。映射表90的大小可相对较小,这是因为角度θ被量化,且在一或多个CMPT中的吉文斯旋转中使用的角度θ可重复,尤其是因为角度θ被量化。
在一些实例中,视频译码器(例如,变换处理单元或反变换处理单元)可确定θ值(例如,从存储器读取值)。确定θ值可对应于图6的方框80。然而,视频译码器可将正弦和余弦值存储在映射表(例如,图7中所说明的映射表)中,而不是花费计算以基于确定的θ值而确定正弦和余弦值。在图7的实例中,c0等于cos(θ0),且s0等于sin(θ0),c1等于cos(θ1)且s1等于sin(θ1),等等。确定正弦和余弦值可对应于图6的方框86。在此情况下,视频译码器(例如,视频译码器的变换处理单元或反变换处理单元)可基于映射表90(其也可被称为查找表)而确定正弦和余弦值,而不是以计算方式确定正弦和余弦值。因为θ的可能值的数目可能有限(例如,归因于θ值被量化),所以可通过使用映射表来获得计算效率。通过这些技术,存储装置相对较少,并且可降低计算复杂性。在此实例中,在遍次中使用的参数值是通过将三角函数应用于参数数据而产生的值。
应理解,视频编码器20和视频解码器30可存储相应的映射表。举例来说,视频编码器20上的映射表用于执行变换。视频解码器30上的映射表用于执行反变换。
根据第二种技术,对于CMPT参数共享,在使用大量CMPT(或KLT)但一些CMPT(或KLT)是对角化类似相关矩阵的情况下,提出一机制以共享用于不同CMPT的参数(或用于不同KLT的变换矩阵),使得全部CMPT参数的数目可进一步减少。出于压缩目的,“类似”的变换不必具有类似值。替代地,如果变换类似地充分压缩具有类似类型的相关矩阵的数据源,那么变换可被视为“类似的”。举例来说,如果两个变换具有N个遍次且在前S个遍次中具有完全相同的一组CMPT参数,且仅在其余的N-S个遍次中不同,那么两个变换可为“类似的”。
举例来说,如果不同CMPT参数用于不同的帧内预测方向,但针对相邻帧内预测方向展示类似相关矩阵,那么可执行以下操作:定义若干主要帧内预测方向。另外,在此实例中,视频编码器20可明确地存储这些主要帧内预测方向的CMPT参数,即,主要CMPT参数。对于其它非主要帧内预测方向,视频编码器20可进一步存储较小组CMPT参数,即,补充CMPT参数。接着,为了在主要帧内预测方向上应用变换,视频编码器20可使用对应的主要CMPT参数来应用变换并导出变换系数。为了在其它非主要帧内预测方向上应用变换,视频编码器20可首先发现最近的主要帧内预测方向。举例来说,如果非主要帧内预测方向是95°,且所述组主要帧内预测方向是在以上实例中提供的那些方向,那么最近的主要帧内预测方向是90°的主要帧内预测方向。视频编码器20可接着使用对应的主要CMPT参数来执行第一变换过程,由此导出第一组变换系数。随后,视频编码器20可使用对应的补充CMPT参数以紧接着前述的第一组经导出变换系数执行第二变换,由此导出最终变换系数。举例来说,90°的帧内预测方向的变换和92°的帧内预测方向的变换可均具有N个遍次,且在前S个遍次中具有完全相同的一组CMPT参数,且仅在其余的N-S个遍次中不同。
当解码视频数据时,视频解码器30可执行类似技术。
因此,在此实例中,视频译码器可将多个CMPT的CMPT参数存储在存储器中,所述存储器例如存储媒体19(图1)、存储媒体28(图1)、视频数据存储器101(图8)、视频数据存储器151(图9)或另一存储器。基于第一CMPT的CMPT参数包括一组共享CMPT参数且第二CMPT的CMPT参数包括所述组共享CMPT参数,存储器不存储所述组共享CMPT参数的多于一个副本。多个CMPT可包含与多个主要帧内预测方向中的相应主要帧内预测方向相关联的CMPT。另外,在此实例中多个CMPT包含与多个非主要帧内预测方向中的相应非主要帧内预测方向相关联的CMPT。第一CMPT与多个非主要帧内预测方向中的特定非主要帧内预测方向相关联。特定非主要帧内预测方向最接近多个主要帧内预测方向中的特定主要帧内预测方向。第二CMPT与所述特定主要帧内预测方向相关联。
在前一段落的实例中,在视频译码器是视频编码器(例如,视频编码器20)的实例中,作为应用第一CMPT的部分,视频编码器可使用第二CMPT的CMPT参数来执行变换过程以导出第一组变换系数。本公开中其它处描述如何使用CMPT的CMPT参数来执行变换过程以导出变换系数的实例。此外,视频编码器可使用补充CMPT参数以对第一组变换系数执行变换,由此导出系数块的最终变换系数。以与视频编码器使用CMPT的CMPT参数来导出变换系数几乎相同的方式,视频编码器可使用补充CMPT参数对第一组变换系数执行变换。补充CMPT参数可为第一CMPT的不在所述组共享参数中的那些参数。
在前两个段落的实例中,在视频译码器是视频解码器(例如,视频解码器30)的实例中,作为应用第二CMPT的部分,视频解码器可使用第二CMPT的CMPT参数来执行变换过程以导出第一组残余样本。本公开中其它处描述如何使用CMPT的CMPT参数来执行变换过程以导出残差的实例。另外,视频解码器可使用补充CMPT参数以对第一组残余样本执行变换,由此导出残余块的残余样本。以与视频解码器使用CMPT的CMPT参数来导出残余样本几乎相同的方式,视频解码器可使用补充CMPT参数对第一组残余样本执行变换。补充CMPT参数可为第一CMPT的不在所述组共享参数中的那些参数。
在CMPT参数共享的实例中,一个组的参数值基于另一组的参数值。举例来说,针对一遍次(例如,变换遍次或反变换遍次)存储的参数数据值可为实际参数数据与用于不同遍次或用于不同译码模式的参数数据之间的差。在此实例中,变换处理单元或反变换处理单元可基于一组其它参数数据而确定参数数据。
上文论述了参数组可用于多于一个变换(按照我们的表示法,多于一个变换索引t)。对于CMPT参数重复,另一常见情况是具有在参数向量ht,P(图6)中重复的参数值。举例来说,用于CMPT的遍次的CMPT参数可包含值{x0,x1,x1,x1,x2,x0,x3,x4,}。在此实例中,值x1是重复的。
因此,根据第三种技术,在此情况下,可使用特殊代码以用指示哪些参数是重复的和重复多少次的数据来替换所述参数值。因此,在前一段落中所提供的实例中,可用指示x1额外重复2次的代码来替换x1的第二和第三实例。此技术对于实时实施来说足够简单,但也可能导致内存显著减少。在另一实例中,视频译码器可存储从CMPT参数值到可变长度码的映射。在此实例中,视频译码器可存储用于CMPT的遍次的可变长度码的序列,且可使用映射来确定实际CMPT参数值。作为一个实例,参数数据可存储指示参数数据值的延行相同的信息,而不是存储相同的参数数据值。在此情况下,为了解压缩参数值,变换处理单元或反变换处理单元可基于所述确定数目个参数数据值相同而拷贝参数数据。
重复还可采用每一CMPT遍次所使用的变换的结构。举例来说,在第62/295,440号和第62/295,448号美国临时申请中所描述的超立方体结构的情况下,可仅通过重复变换参数来获得对应于可分开的变换的级。举例来说,参数数据可存储指示一组参数数据值与下一组参数值相同的信息。在此情况下,为了解压缩参数值,变换处理单元或反变换处理单元可将所述组参数数据拷贝到下一组中。
针对压缩/解压缩(例如,吉文斯旋转参数的减少、CMPT参数共享和CMPT参数重复)所描述的实例可组合到一起或分开执行。举例来说,参数数据可存储指示重复(例如,CMPT参数重复)的信息,变换处理单元和反变换处理单元根据所述重复而确定参数数据。变换处理单元和反变换处理单元可根据参数数据使用映射表来确定遍次中的每一个所需的正弦和余弦值。作为另一实例,CMPT参数共享、CMPT参数重复和吉文斯旋转参数的减少可一起使用。以此方式,这些实例技术中的每一个可提供一个压缩/解压缩度,且可以与另一种技术一起使用以提供额外的压缩/解压缩度。
图8是说明可实施本公开的技术的实例视频编码器20的框图。图8是出于解释的目的而提供,且不应被视为将技术限制为本公开中所广泛例示及描述的。本公开的技术可以适用于各种译码标准或方法。
处理电路包含视频编码器20,且视频编码器20经配置以执行本公开中所描述的实例技术中的一或多个。举例来说,视频编码器20包含集成电路,且图8中所说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为分开的电路块,或所述单元中的两个或更多个可组合成共同硬件电路块。硬件电路块可形成为形成例如算术逻辑单元(ALU)、初等函数单元(EFU)以及例如“与”、“或”、“与非”、“或非”、“异或”、“同或”和其它类似逻辑块的逻辑块的运算块的电组件的组合。
在一些实例中,图8中所说明的单元中的一或多个可为在处理电路上执行的软件单元。在此类实例中,将用于这些软件单元的目标代码存储于存储器中。操作系统可使视频编码器20检索目标代码且执行所述目标代码,这使视频编码器20执行实施实例技术的操作。在一些实例中,软件单元可为视频编码器20在起动时执行的固件。因此,视频编码器20是具有执行实例技术的硬件的结构组件,或具有在硬件上执行以使硬件专门执行实例技术的软件/固件。
在图8的实例中,视频编码器20包含预测处理单元100、视频数据存储器101、残余产生单元102、变换处理单元104、量化单元106、反量化单元108、反变换处理单元110、重构建单元112、滤波器单元114、经解码图片缓冲器116和熵编码单元118。预测处理单元100包含帧间预测处理单元120和帧内预测处理单元126。帧间预测处理单元120可包含运动估计单元和运动补偿单元(未图示)。
视频数据存储器101可经配置以存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储在视频数据存储器101中的视频数据。经解码图片缓冲器116可为存储参考视频数据以供在由视频编码器20例如在帧内或帧间译码模式中编码视频数据时使用的参考图片存储器。视频数据存储器101和经解码图片缓冲器116可由多种存储器装置中的任一个形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM),或其它类型的存储器装置。视频数据存储器101和经解码图片缓冲器116可由相同存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器101可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器101可与图1的存储媒体19相同或为所述存储媒体的部分。
视频编码器20接收视频数据。视频编码器20可编码视频数据的图片的切片中的每一CTU。CTU中的每一个可以与图片的大小相等的亮度译码树块(CTB)以及对应的CTB相关联。作为编码CTU的部分,预测处理单元100可执行分割以将CTU的CTB划分为逐渐更小的块。较小块可为CU的译码块。举例来说,预测处理单元100可根据树结构分割与CTU相关联的CTB。
视频编码器20可编码CTU的CU以产生CU的经编码表示(即,经译码的CU)。作为编码CU的部分,预测处理单元100可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与亮度预测块和对应的色度预测块相关联。视频编码器20和视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的亮度译码块的大小并且PU的大小可指PU的亮度预测块的大小。假定特定CU的大小为2N×2N,视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,和用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似大小的对称PU大小。视频编码器20和视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N和nR×2N的PU大小的不对称分割。
帧间预测处理单元120可通过对CU的每一PU执行帧间预测来产生用于PU的预测性数据。PU的预测性数据可包含PU的预测性块和PU的运动信息。帧间预测处理单元120可根据PU在I切片、P切片还是B切片中而对CU的PU执行不同操作。帧内预测处理单元126可通过对PU执行帧内预测而产生PU的预测性数据。PU的预测性数据可包含PU的预测性块和各种语法元素。
为了对PU执行帧内预测,帧内预测处理单元126可使用多个帧内预测模式产生PU的预测性数据的多个集合。帧内预测处理单元126可使用来自相邻PU的样本块的样本来产生用于PU的预测性块。假定对于PU、CU及CTU采用从左到右、从上到下的编码次序,相邻PU可以在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可使用各种数目的帧内预测模式。在一些实例中,帧内预测模式的数目可以取决于与PU相关联的区域的大小。
预测处理单元100可从PU的由帧间预测处理单元120产生的预测性数据或PU的由帧内预测处理单元126产生的预测性数据当中选择CU的PU的预测性数据。在一些实例中,预测处理单元100基于预测性数据集合的速率/失真量度选择CU的PU的预测性数据。选定预测性数据的预测性块在本文中可被称作选定预测性块。
残余产生单元102可基于用于CU的译码块(例如,亮度、Cb和Cr译码块)和用于CU的PU的选定预测性块(例如,预测性亮度、Cb和Cr块),产生用于CU的残余块(例如,亮度、Cb和Cr残余块)。举例来说,残余产生单元102可产生CU的残余块以使得残余块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。
变换处理单元104可执行四叉树分割以将与CU相关联的残余块分割成与CU的TU相关联的变换块。因此,TU可与亮度变换块和两个色度变换块相关联。CU的TU的亮度和色度变换块的大小和位置可以或可不基于CU的PU的预测块的大小和位置。被称为“残余四叉树”(RQT)的四叉树结构可包含与区域中的每一个相关联的节点。CU的TU可以对应于RQT的叶节点。
变换处理单元104可以通过将一或多个变换应用于TU的变换块而产生用于CU的每一TU的变换系数块。变换处理单元104可以将各种变换应用于与TU相关联的变换块。例如,变换处理单元104可以将离散余弦变换(DCT)、定向变换或概念上类似的变换应用于变换块。在一些实例中,变换处理单元104并不将变换应用于变换块。在此类实例中,变换块可被视作变换系数块。根据本公开的技术,变换处理单元104可经配置以执行本公开中所描述的CMPT过程。
举例来说,变换处理单元104可确定应用于残余块上的变换(例如,通过测试不同变换)并且基于确定的变换而确定存储在视频数据存储器101中的参数数据。变换处理单元104可解压缩参数数据以产生多组参数值,每一组参数值包含相应变换遍次的一或多个参数值,且可通过执行多个变换遍次将变换应用于残余块以从残余块构建系数块,每一变换遍次利用前一变换遍次的输出和一组参数值,并且第一变换遍次接收残余块。
在一个实例中,为了解压缩参数数据,变换处理单元104可基于映射表(例如,图7的映射表90)将参数数据中的每一个映射到计算数据(例如,正弦和余弦值)。在一个实例中,为了解压缩参数数据,变换处理单元104可确定相同的参数数据的数目且基于确定的数目而拷贝参数数据。在一个实例中,为了解压缩参数数据,变换处理单元104可确定与下一组参数数据相同的一组参数数据且将所述组参数数据拷贝到下一组中。在一个实例中,为了确定参数数据,变换处理单元104可基于另一组参数数据而确定参数数据。变换处理单元104还可执行此类技术的任何组合。
量化单元106可量化系数块中的变换系数。量化过程可减少与变换系数中的一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间舍入到m位变换系数,其中n大于m。量化单元106可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的变换系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息损耗。因而,经量化变换系数可具有比初始系数低的精确度。
反量化单元108和反变换处理单元110可分别将反量化和反变换应用于系数块,以从系数块重构建残余块。重构建单元112可将经重构建的残余块添加到来自由预测处理单元100产生的一或多个预测性块的对应样本,以产生与TU相关联的经重构建变换块。通过以此方式重构建用于CU的每一TU的变换块,视频编码器20可重构建CU的译码块。
滤波器单元114可执行一或多个去块操作来减少与CU相关联的译码块中的块假象。在滤波器单元114对经重构建译码块执行一或多个去块操作之后,经解码图片缓冲器116可存储经重构建译码块。帧间预测处理单元120可使用含有经重构建译码块的参考图片来对其它图片的PU执行帧间预测。另外,帧内预测处理单元126可以使用经解码的图片缓冲器116中的经重构建译码块对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元118可以从视频编码器20的其它功能组件接收数据。例如,熵编码单元118可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元118可以对数据执行一或多个熵编码操作以产生经熵编码的数据。例如,熵编码单元118可以对数据执行CABAC操作、上下文自适应可变长度译码(CAVLC)操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率间隔分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元118产生的经熵编码的数据的位流。举例来说,位流可包含表示用于CU的RQT的数据。在一些实例中,熵编码单元118还可产生指示所应用的变换的信息或指示将应用于视频解码器30的反变换的信息以用于输出。
图9是说明经配置以实施本公开的技术的实例视频解码器30的框图。图9是出于解释的目的而提供,且并不限于如本公开中广泛例示和描述的技术。出于解释的目的,本公开在HEVC译码的上下文中描述视频解码器30。然而,本公开的技术可以适用于其它译码标准或方法。
处理电路包含视频解码器30,且视频解码器30经配置以执行本公开中所描述的实例技术中的一或多个。举例来说,视频解码器30包含集成电路,且图9中说明的各种单元可形成为与电路总线互连的硬件电路块。这些硬件电路块可为分开的电路块,或所述单元中的两个或更多个可组合成共同硬件电路块。硬件电路块可形成为形成例如算术逻辑单元(ALU)、初等函数单元(EFU)以及例如“与”、“或”、“与非”、“或非”、“异或”、“同或”和其它类似逻辑块的逻辑块的运算块的电组件的组合。
在一些实例中,图9中所说明的单元中的一或多个可为在处理电路上执行的软件单元。在此类实例中,将用于这些软件单元的目标代码存储于存储器中。操作系统可使视频解码器30检索目标代码且执行所述目标代码,这使视频解码器30执行实施所述实例技术的操作。在一些实例中,软件单元可为视频解码器30在起动时执行的固件。因此,视频解码器30是具有执行实例技术的硬件的结构组件,或具有在硬件上执行以使硬件专门执行实例技术的软件/固件。
在图9的实例中,视频解码器30包含熵解码单元150、视频数据存储器151、预测处理单元152、反量化单元154、反变换处理单元156、重构建单元158、滤波器单元160和经解码图片缓冲器162。预测处理单元152包含运动补偿单元164和帧内预测处理单元166。在其它实例中,视频解码器30可包含更多、更少或不同的功能组件。
视频数据存储器151可存储待由视频解码器30的组件解码的经编码视频数据,例如经编码视频位流。存储于视频数据存储器151中的视频数据可(例如)经由视频数据的有线或无线网络传递或通过存取物理数据存储媒体从计算机可读媒体16(例如,从本地视频源,例如相机)获得。视频数据存储器151可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器162可为存储参考视频数据以供在由视频解码器30例如在帧内或帧间译码模式中解码视频数据时使用或用于输出的参考图片存储器。视频数据存储器151和经解码图片缓冲器162可由多种存储器装置中的任一个形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器151和经解码图片缓冲器162可由相同存储器装置或单独的存储器装置提供。在各种实例中,视频数据存储器151可与视频解码器30的其它组件一起在芯片上,或相对于所述组件在芯片外。视频数据存储器151可与图1的存储媒体28相同或为所述存储媒体的部分。
视频数据存储器151接收且存储位流的经编码视频数据(例如,NAL单元)。熵解码单元150可从视频数据存储器151接收经编码视频数据(例如,NAL单元),且可剖析NAL单元以获得语法元素。熵解码单元150可熵解码NAL单元中的经熵编码语法元素。预测处理单元152、反量化单元154、反变换处理单元156、重构建单元158和滤波器单元160可基于从位流提取的语法元素而产生经解码视频数据。熵解码单元150可执行与熵编码单元118的过程大体上互逆的过程。
除了获得来自位流的语法元素之外,视频解码器30可对未分割的CU执行重构建操作。为了对CU执行重构建操作,视频解码器30可对CU的每一TU执行重构建操作。通过对CU的每一TU执行重构建操作,视频解码器30可重构建CU的残余块。
作为对CU的TU执行重构建操作的部分,反量化单元154可反量化(即,去量化)与TU相关联的系数块。在反量化单元154反量化系数块之后,反变换处理单元156可将一或多个反变换应用于系数块以便产生与TU相关联的残余块。举例来说,反变换处理单元156可以将反DCT、反整数变换、反卡忽南-拉维(Karhunen-Loeve)变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。反变换处理单元156可经配置以执行本公开中所描述的实例CMPT过程。
举例来说,反变换处理单元156可确定应用于系数块上的反变换(例如,通过接收变换或反变换的列表的索引且基于接收到的索引而确定应用的反变换)且基于确定的变换而确定存储在视频数据存储器151中的参数数据。反变换处理单元156可解压缩参数数据以产生多组参数值,每一组参数值包含相应反变换遍次的一或多个参数值,且可通过执行多个反变换遍次将反变换应用于系数块以从系数块重构建残余块,每一反变换遍次利用前一反变换遍次的输出和一组参数值,并且第一反变换遍次接收残余块。
在一个实例中,为了解压缩参数数据,反变换处理单元156可基于映射表(例如,图7)将参数数据中的每一个映射到计算数据(例如,正弦和余弦值)。在一个实例中,为了解压缩参数数据,反变换处理单元156可确定相同的参数数据的数目且基于确定的数目而拷贝参数数据。在一个实例中,为了解压缩参数数据,反变换处理单元156可确定与下一组参数数据相同的一组参数数据且将所述组参数数据拷贝到下一组中。在一个实例中,为了确定参数数据,反变换处理单元156可基于另一组参数数据而确定参数数据。反变换处理单元156还可执行此类技术的任何组合。
如果使用帧内预测对PU进行编码,那么帧内预测处理单元166可执行帧内预测以产生PU的预测性块。帧内预测处理单元166可使用帧内预测模式以基于样本空间相邻块产生PU的预测性块。帧内预测处理单元166可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。
如果PU是使用帧间预测编码,那么熵解码单元150可确定所述PU的运动信息。运动补偿单元164可基于PU的运动信息来确定一或多个参考块。运动补偿单元164可基于所述一或多个参考块产生PU的预测性块(例如,预测性亮度、Cb和Cr块)。
重构建单元158可使用用于CU的TU的变换块(例如,亮度、Cb和Cr变换块)和CU的PU的预测性块(例如,亮度、Cb和Cr块)(即,在适用时,帧内预测数据或帧间预测数据)来重构建用于CU的译码块(例如,亮度、Cb和Cr译码块)。举例来说,重构建单元158可将变换块(例如,亮度、Cb和Cr变换块)的样本添加到预测性块(例如,亮度、Cb和Cr预测性块)的对应样本以重构建CU的译码块(例如,亮度、Cb和Cr译码块)。
滤波器单元160可执行解块操作以减少与CU的译码块相关联的块假象。视频解码器30可将CU的译码块存储在经解码图片缓冲器162中。经解码图片缓冲器162可提供参考图片以供后续运动补偿、帧内预测和在显示装置(例如,图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器162中的块对其它CU的PU执行帧内预测或帧间预测操作。
图10是说明根据本公开的技术的视频编码器20的实例操作的流程图。提供本公开的流程图作为实例。在其它实例中,操作可包含更多、更少和/或不同的特征。此外,在一些实例中,可以不同次序或并行地执行操作。
在图10的实例中,视频编码器20基于经编码的视频数据的图片的预测性块样本与原始块样本之间的差而产生残余块(200)。举例来说,视频编码器20的残余产生单元102(图8)可产生残余块,使得残余块的每一相应样本等于预测性块的样本与原始块的对应样本之间的差。原始块可为CU的译码块。
此外,在图10的实例中,视频编码器20确定来自多个CMPT的CMPT(202)。在一些实例中,视频编码器20的变换处理单元104(图8)确定CMPT。视频编码器20可以各种方式确定CMPT。举例来说,视频编码器20可应用多个CMPT中的多个CMPT,且确定提供最佳译码性能的CMPT。在一些实例中,视频编码器20基于对应于大小、色彩分量类型、预测性块的帧内预测模式、预测性块的帧间/帧内预测模式或另一特性的CMPT而确定来自多个CMPT的CMPT。
在图10的实例中,视频编码器20解压缩CMPT的CMPT参数(204)。在一些实例中,视频编码器20的变换处理单元104(图8)解压缩CMPT的CMPT参数。视频编码器20可以各种方式解压缩CMPT的CMPT参数。
举例来说,对于CMPT的每一相应变换遍次,针对包含在相应变换遍次中的所述组吉文斯旋转中的每一相应吉文斯旋转,视频编码器20可使用映射表(例如,图7的映射表90)基于相应吉文斯旋转的相应角度θ(例如,图7中的θ0…θ7中的一个)而确定相应吉文斯旋转的相应角度θ的正弦和余弦(例如,图7中的c0、s0、…c7、s7)。在此实例中,映射表存储于存储器中,例如存储媒体19(图1)或视频数据存储器101(图8)。
在另一实例中,CMPT是多个CMPT中的第一CMPT,并且多个CMPT包含第二CMPT。在此实例中,存储器可存储多个CMPT的CMPT参数。在此实例中,存储器可为存储媒体19(图1)、视频数据存储器101(图8)或另一存储器。此外,在此实例中,基于第一CMPT的CMPT参数包含一组共享CMPT参数且第二CMPT的CMPT参数包含所述组共享CMPT参数,存储器不存储所述组共享CMPT参数的多于一个副本。因此,在此实例中,在视频编码器20确定共享CMPT参数的一个经存储副本是第一CMPT的整组CMPT参数的部分的意义上,视频编码器20可解压缩第一CMPT的CMPT参数,由此扩展第一CMPT(如果存在)的所述组经存储CMPT参数以包含共享CMPT参数。在此实例中,第一CMPT可与非主要帧内预测模式相关联,并且第二CMPT可与主要帧内预测模式相关联,如本公开中其它处所描述。
在另一实例中,在解压缩之前,CMPT的CMPT参数包含替换CMPT的参数向量中的重复参数的代码。换句话说,可使用特殊代码以用指示哪些参数是重复的数据来替换参数值。在此实例中,解压缩CMPT的CMPT参数可包括用重复参数来替换代码。
在一些实例中,视频编码器20可共同使用与CMPT参数的解压缩有关的前述实例中的两个或更多个。
此外,在图10的实例中,视频编码器20将CMPT应用于残余块以构建系数块(206)。在一些实例中,视频编码器20的变换处理单元104(图8)将CMPT应用于残余块。一般来说,为了应用CMPT,视频编码器20可应用多个变换遍次。多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括多个变换遍次中的前一变换遍次的输出。此外,CMPT的CMPT参数包括多个变换遍次中的每一相应变换遍次的相应参数向量。对于多个变换遍次中的每一相应变换遍次,相应变换遍次可包含并行执行一组相应的吉文斯旋转。所述组相应的吉文斯旋转中的每一相应吉文斯旋转获取相应遍次的输入的两个输入值(例如,图4的xm和xn)并输出相应变换遍次的输出的两个输出值(例如,图4的tm和tn)。用于相应吉文斯旋转中的变换的因子由相应吉文斯旋转的相应角度θ的正弦和余弦定义。相应吉文斯旋转的相应角度θ的正弦和余弦对应于相应变换遍次的参数向量中的相应CMPT参数。也就是说,相应变换遍次的参数向量可包括各种角度值θ的正弦和余弦值。
另外,在图10的实例中,视频编码器20可产生指示所述系数块的系数值的信息以用于输出(208)。举例来说,视频编码器20的量化单元106(图8)可量化系数块的系数值,视频编码器20的熵编码单元118(图8)可产生且熵编码对应于经量化变换系数的语法元素。熵编码单元118可包含位流中的经熵编码语法元素。
在一些实例中,视频编码器20可用信号发送到CMPT的列表的索引,所述索引指示CMPT(210)。举例来说,视频编码器20可包含位流中指示索引的语法元素。
图11是说明根据本公开的技术的视频解码器30的实例操作的流程图。在图11的实例中,视频解码器30确定来自多个CMPT的CMPT(250)。在一些实例中,视频解码器30可将接收CMPT的列表的索引且基于接收到的索引而确定CMPT。举例来说,视频解码器30可确定接收到的索引的值指定列表中对应于CMPT的位置。
此外,在图11的实例中,视频解码器30解压缩CMPT的CMPT参数(252)。视频解码器30可以各种方式解压缩CMPT的CMPT参数。举例来说,视频解码器30可以上文关于在图10中解压缩CMPT参数所描述的方式分解CMPT的CMPT参数。
在图11的实例中,视频解码器30将CMPT应用于系数块以重构建残余块(254)。在一些实例中,反变换处理单元156(图9)应用CMPT。视频解码器30可以类似于上文关于视频编码器20将CMPT应用于残余块所描述的方式将CMPT应用于系数块。本质上,由视频编码器20应用的CMPT可由视频解码器30反向地执行。
另外,在图11的实例中,视频解码器30可基于预测性块和残余块而解码视频数据的图片的当前块(256)。举例来说,视频解码器30可将预测性块的样本添加到残余块的对应样本以确定当前块的样本。在其它实例中,视频编码器20的反变换处理单元110(图8)可执行图11的动作252、254和256。
出于说明的目的,已关于HEVC标准的扩展而描述了本公开的某些方面。然而,本公开中描述的技术可适用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如本公开中所描述,视频译码器可以指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,在适用时,视频译码可指视频编码或视频解码。
应认识到,取决于实例,本文中所描述的技术中的任一个的某些动作或事件可用不同顺序来执行,可添加、合并或全部省略所述动作或事件(例如,实践所述技术未必需要所有所描述动作或事件)。此外,在某些实例中,可(例如)通过多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一或多个指令或代码在计算机可读媒体上存储或发射,并且由基于硬件的处理单元执行。计算机可读媒体可以包含计算机可读存储媒体,其对应于例如数据存储媒体或通信媒体的有形媒体,通信媒体(例如)根据通信协议包含有助于将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如,信号或载波。数据存储媒体可以是可由一或多个计算机或一或多个处理器存取以检索用于实施本公开中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪存器,或可用以存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。并且,适当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也应包含于计算机可读媒体的范围内。
指令可以由一或多个处理器执行,所述一或多个处理器例如是一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指代上述结构或适用于实施本文中所描述的技术的任何其它结构中的任一个。另外,在一些方面中,本文中所描述的功能性可在经配置以用于编码和解码的专用硬件和/或软件模块内提供,或并入在组合编解码器中。并且,所述技术可完全实施于一或多个电路或逻辑元件中。
本公开的技术可在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本公开中描述各种组件、模块或单元是为了强调经配置以执行所公开的技术的装置的功能方面,但未必需要通过不同硬件单元实现。相反地,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中,或由互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一或多个处理器。
已描述了各种实例。这些和其它实例在所附权利要求书的范围内。

Claims (26)

1.一种解码视频数据的方法,所述方法包括:
从具有两个或多于两个紧凑多遍变换CMPT的列表中确定CMPT;
解压缩所述CMPT的CMPT参数;
将所述CMPT应用于系数块以重构建残余块,其中应用所述CMPT包括应用多个变换遍次,其中:
所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,
所述初始变换遍次的输入包括所述系数块中的变换系数,
所述多个变换遍次中的最后一个变换遍次的输出包括所述残余块中的值,
所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,
对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述一组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应变换遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及
基于预测性块和所述残余块而解码所述视频数据的图片的当前块。
2.根据权利要求1所述的方法,其中解压缩所述CMPT的所述CMPT参数包括:
对于所述CMPT的每一相应变换遍次:
针对包含在所述相应变换遍次中的所述组吉文斯旋转中的每一相应吉文斯旋转,使用映射表基于所述相应吉文斯旋转的所述相应角度θ而确定所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦,所述映射表存储于存储器中。
3.根据权利要求1所述的方法,其中所述CMPT是所述两个或多于两个CMPT中的第一CMPT,且所述两个或多于两个CMPT包含第二CMPT,所述方法进一步包括:
将所述两个或多于两个CMPT的相应CMPT参数存储在存储器中,其中基于所述第一CMPT的所述CMPT参数包含一组共享CMPT参数且所述第二CMPT的CMPT参数包含所述组共享CMPT参数,所述存储器不存储所述组共享CMPT参数的多于一个副本。
4.根据权利要求3所述的方法,其中:
所述两个或多于两个CMPT包含与多个主要帧内预测方向中的相应主要帧内预测方向相关联的CMPT,且所述两个或多于两个CMPT包含与多个非主要帧内预测方向中的相应非主要帧内预测方向相关联的CMPT,
所述第一CMPT与所述多个非主要帧内预测方向中的特定非主要帧内预测方向相关联,
所述特定非主要帧内预测方向最接近所述多个主要帧内预测方向中的特定主要帧内预测方向,
所述第二CMPT与所述特定主要帧内预测方向相关联,且
应用所述第一CMPT包括:
使用所述第二CMPT的所述CMPT参数来执行变换过程以导出第一组残余样本;以及
使用补充CMPT参数对所述第一组残余样本执行变换,由此导出所述残余块的最终残余样本,所述补充CMPT参数为所述第一CMPT的不在所述组共享参数中的那些参数。
5.根据权利要求1所述的方法,其中在解压缩之前,所述CMPT的所述CMPT参数包含替换所述CMPT的所述参数向量中的重复参数的代码。
6.根据权利要求1所述的方法,进一步包括:
接收具有所述两个或多于两个CMPT的所述列表中的索引,其中,确定所述CMPT包括基于所接收的索引来确定所述CMPT。
7.一种编码视频数据的方法,所述方法包括:
基于经编码的所述视频数据的图片的预测性块样本与原始块样本之间的差而产生残余块;
从具有两个或多于两个紧凑多遍变换CMPT的列表中确定CMPT;
解压缩所述CMPT的CMPT参数;
将所述CMPT应用于所述残余块以构建系数块,其中应用所述CMPT包括应用多个变换遍次;
所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,
所述初始变换遍次的输入包括所述残余块中的值,
所述多个变换遍次中的最后一个变换遍次的输出包括所述系数块中的变换系数,
所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,
对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述一组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应变换遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及
产生指示所述系数块中的所述变换系数的信息以用于输出。
8.根据权利要求7所述的方法,其中解压缩所述CMPT的所述CMPT参数包括:
对于所述CMPT的每一相应变换遍次:
针对包含在所述相应变换遍次中的所述组吉文斯旋转中的每一相应吉文斯旋转,使用映射表基于所述相应吉文斯旋转的所述相应角度θ而确定所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦,所述映射表存储于存储器中。
9.根据权利要求7所述的方法,其中所述CMPT是所述两个或多于两个CMPT中的第一CMPT,且所述两个或多于两个CMPT包含第二CMPT,所述方法进一步包括:
将所述两个或多于两个CMPT的相应CMPT参数存储在存储器中,其中基于所述第一CMPT的所述CMPT参数包含一组共享CMPT参数且所述第二CMPT的所述CMPT参数包含所述组共享CMPT参数,所述存储器不存储所述组共享CMPT参数的多于一个副本。
10.根据权利要求9所述的方法,其中:
所述两个或多于两个CMPT包含与多个主要帧内预测方向中的相应主要帧内预测方向相关联的CMPT,且所述两个或多于两个CMPT包含与多个非主要帧内预测方向中的相应非主要帧内预测方向相关联的CMPT,
所述第一CMPT与所述多个非主要帧内预测方向中的特定非主要帧内预测方向相关联,
所述特定非主要帧内预测方向最接近所述多个主要帧内预测方向中的特定主要帧内预测方向,
所述第二CMPT与所述特定主要帧内预测方向相关联,且
应用所述第一CMPT包括:
使用所述第二CMPT的所述CMPT参数来执行变换过程以导出第一组变换系数;以及
使用补充CMPT参数对所述第一组变换系数执行变换,由此导出所述系数块的最终变换系数,所述补充CMPT参数为所述第一CMPT的不在所述组共享参数中的那些参数。
11.根据权利要求7所述的方法,其中在解压缩之前,所述CMPT的所述CMPT参数包含替换所述CMPT的所述参数向量中的重复参数的代码。
12.根据权利要求7所述的方法,进一步包括:
以信号发送具有所述两个或多于两个CMPT的所述列表中指示CMPT的索引。
13.一种用于解码视频数据的装置,所述装置包括:
数据存储媒体,其经配置以存储所述视频数据;以及
视频解码器,其经配置以:
确定从具有两个或多于两个紧凑多遍变换CMPT的列表中确定CMPT;
解压缩所述CMPT的CMPT参数;
将所述CMPT应用于系数块以重构建残余块,其中所述视频解码器经配置以使得:作为应用所述CMPT的部分,所述视频解码器应用多个变换遍次,其中:
所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,
所述初始变换遍次的输入包括所述系数块中的变换系数,
所述多个变换遍次中的最后一个变换遍次的输出包括所述残余块中的值,
所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,
对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述一组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应变换遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及
基于预测性块和所述残余块而解码所述视频数据的图片的当前块。
14.根据权利要求13所述的装置,其中所述视频解码器经配置以使得:作为确定所述CMPT的一部分,所述视频解码器接收具有两个或多于两个CMPT的所述列表的索引且基于所接收的索引来确定所述CMPT。
15.根据权利要求13所述的装置,其中:
所述装置包括存储映射表的存储器;以及
所述视频解码器经配置以使得:作为解压缩所述CMPT的所述CMPT参数的部分,所述视频解码器:
对于所述CMPT的每一相应变换遍次:
针对包含在所述相应变换遍次中的所述组吉文斯旋转中的每一相应吉文斯旋转,使用所述映射表基于所述相应吉文斯旋转的所述相应角度θ而确定所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦。
16.根据权利要求13所述的装置,其中:
所述CMPT是所述两个或多于两个CMPT中的第一CMPT,且所述两个或多于两个CMPT包含第二CMPT,
所述装置包括存储所述两个或多于两个CMPT的相应CMPT参数的存储器,且
基于所述第一CMPT的所述CMPT参数包含一组共享CMPT参数且所述第二CMPT的所述CMPT参数包含所述组共享CMPT参数,所述存储器不存储所述组共享CMPT参数的多于一个副本。
17.根据权利要求16所述的装置,其中:
所述两个或多于两个CMPT包含与多个主要帧内预测方向中的相应主要帧内预测方向相关联的CMPT,且所述两个或多于两个CMPT包含与多个非主要帧内预测方向中的相应非主要帧内预测方向相关联的CMPT,
所述第一CMPT与所述多个非主要帧内预测方向中的特定非主要帧内预测方向相关联,
所述特定非主要帧内预测方向最接近所述多个主要帧内预测方向中的特定主要帧内预测方向,
所述第二CMPT与所述特定主要帧内预测方向相关联,且
所述视频解码器经配置以使得:作为应用所述第一CMPT的部分,所述视频解码器:
使用所述第二CMPT的所述CMPT参数来执行变换过程以导出第一组残余样本;且
使用补充CMPT参数对所述第一组残余样本执行变换,由此导出所述残余块的最终残余样本,所述补充CMPT参数为所述第一CMPT的不在所述组共享参数中的那些参数。
18.根据权利要求13所述的装置,其中在解压缩之前,所述CMPT的所述CMPT参数包含替换所述CMPT的所述参数向量中的重复参数的代码。
19.根据权利要求13所述的装置,其中所述装置包括:
集成电路,
微处理器,或
无线通信装置。
20.一种用于编码视频数据的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;以及
视频编码器,其经配置以:
基于经编码的所述视频数据的图片的预测性块样本与原始块样本之间的差而产生残余块;
从具有两个或多于两个紧凑多遍变换CMPT的列表中确定CMPT;
解压缩所述CMPT的CMPT参数;
将所述CMPT应用于所述残余块以构建系数块,其中所述视频编码器经配置以使得:作为应用所述CMPT的部分,所述视频编码器应用多个变换遍次,其中:
所述多个变换遍次中不同于所述多个变换遍次中的初始变换遍次的每一变换遍次的输入包括所述多个变换遍次中的前一变换遍次的输出,
所述初始变换遍次的输入包括所述残余块中的值,
所述多个变换遍次中的最后一个变换遍次的输出包括所述系数块中的变换系数,
所述CMPT的所述CMPT参数包括所述多个变换遍次中的每一相应变换遍次的相应参数向量,
对于所述多个变换遍次中的每一相应变换遍次,所述相应变换遍次包含并行执行一组相应的吉文斯旋转,所述一组相应的吉文斯旋转中的每一相应吉文斯旋转获取所述相应变换遍次的所述输入的两个输入值并输出所述相应变换遍次的输出的两个输出值,其中用于所述相应吉文斯旋转中的变换的因子由所述相应吉文斯旋转的相应角度θ的正弦和余弦定义,所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦对应于所述相应变换遍次的所述参数向量中的相应CMPT参数;以及
产生指示所述系数块的所述变换系数的信息以用于输出。
21.根据权利要求20所述的装置,其中所述视频编码器经配置以用信号发送具有所述两个或多于两个CMPT的所述列表的索引,所述索引指示所述CMPT。
22.根据权利要求20所述的装置,其中:
所述装置包括存储映射表的存储器,且
所述视频编码器经配置以使得:作为解压缩所述CMPT的所述CMPT参数的部分,所述视频编码器:
对于所述CMPT的每一相应变换遍次:
针对包含在所述相应变换遍次中的所述组吉文斯旋转中的每一相应吉文斯旋转,使用所述映射表基于所述相应吉文斯旋转的所述相应角度θ而确定所述相应吉文斯旋转的所述相应角度θ的所述正弦和余弦。
23.根据权利要求20所述的装置,其中:
所述CMPT是所述两个或多于两个CMPT中的第一CMPT,且所述两个或多于两个CMPT包含第二CMPT,
所述装置进一步包括存储所述两个或多于两个CMPT的相应CMPT参数的存储器,且
基于所述第一CMPT的所述CMPT参数包含一组共享CMPT参数且所述第二CMPT的所述CMPT参数包含所述组共享CMPT参数,所述存储器不存储所述组共享CMPT参数的多于一个副本。
24.根据权利要求23所述的装置,其中:
所述两个或多于两个CMPT包含与多个主要帧内预测方向中的相应主要帧内预测方向相关联的CMPT,且所述两个或多于两个CMPT包含与多个非主要帧内预测方向中的相应非主要帧内预测方向相关联的CMPT,
所述第一CMPT与所述多个非主要帧内预测方向中的特定非主要帧内预测方向相关联,
所述特定非主要帧内预测方向最接近所述多个主要帧内预测方向中的特定主要帧内预测方向,
所述第二CMPT与所述特定主要帧内预测方向相关联,且
所述视频编码器经配置以使得:作为应用所述第一CMPT的部分,所述视频编码器:
使用所述第二CMPT的所述CMPT参数来执行变换过程以导出第一组变换系数;以及
使用补充CMPT参数对所述第一组变换系数执行变换,由此导出所述系数块的最终变换系数,所述补充CMPT参数为所述第一CMPT的不在所述组共享参数中的那些参数。
25.根据权利要求20所述的装置,其中在解压缩之前,所述CMPT的所述CMPT参数包含替换所述CMPT的所述参数向量中的重复参数的代码。
26.根据权利要求20所述的装置,其中所述装置包括:
集成电路,
微处理器,或
无线通信装置。
CN201780009277.2A 2016-02-15 2017-02-15 用于紧凑多遍变换的高效参数存储 Active CN108605141B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662295448P 2016-02-15 2016-02-15
US201662295456P 2016-02-15 2016-02-15
US62/295,448 2016-02-15
US62/295,456 2016-02-15
US15/432,643 2017-02-14
US15/432,643 US10349085B2 (en) 2016-02-15 2017-02-14 Efficient parameter storage for compact multi-pass transforms
PCT/US2017/017944 WO2017142932A1 (en) 2016-02-15 2017-02-15 Efficient parameter storage for compact multi-pass transforms

Publications (2)

Publication Number Publication Date
CN108605141A CN108605141A (zh) 2018-09-28
CN108605141B true CN108605141B (zh) 2020-12-15

Family

ID=59561863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780009277.2A Active CN108605141B (zh) 2016-02-15 2017-02-15 用于紧凑多遍变换的高效参数存储

Country Status (4)

Country Link
US (1) US10349085B2 (zh)
EP (1) EP3417623B1 (zh)
CN (1) CN108605141B (zh)
WO (1) WO2017142932A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10448053B2 (en) 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding
US10390048B2 (en) 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms
US11095893B2 (en) 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
EP3716630A4 (en) * 2017-12-15 2021-01-27 LG Electronics Inc. METHOD AND DEVICE FOR IMAGE ENCODING BASED ON CONVERSION AND DEVICE FOR IT
PL3723373T3 (pl) * 2018-09-02 2023-11-06 Lg Electronics Inc. Sposób dekodowania sygnału obrazu, sposób kodowania sygnału obrazu i nośnik danych
US11595663B2 (en) 2019-02-01 2023-02-28 Qualcomm Incorporated Secondary transform designs for partitioned transform units in video coding
US11240534B2 (en) 2019-04-05 2022-02-01 Qualcomm Incorporated Extended multiple transform selection for video coding
US11032572B2 (en) 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
US11695960B2 (en) 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding
US11949870B2 (en) 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
US11677984B2 (en) 2019-08-20 2023-06-13 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) signaling
US11184617B2 (en) 2019-09-19 2021-11-23 Qualcomm Incorporated Transform unit design for video coding
US11153576B2 (en) 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
US11206400B2 (en) 2019-09-26 2021-12-21 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) simplifications
US11375220B2 (en) * 2019-11-27 2022-06-28 Tencent America LLC Method and apparatus for video decoding using a nominal directional mode and an angular offset
US11470353B2 (en) 2019-12-20 2022-10-11 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) with reduced zero-out in video coding
JP7395005B2 (ja) 2020-02-24 2023-12-08 バイトダンス インコーポレイテッド サブピクチャの高さの導出
WO2021178501A1 (en) * 2020-03-03 2021-09-10 Bytedance Inc. Controlling a scaling process using slice header signaling
CN113168432A (zh) * 2020-03-10 2021-07-23 深圳市大疆创新科技有限公司 数据处理的方法、装置及计算机存储介质
EP4304174A3 (en) 2020-03-11 2024-03-20 Beijing Bytedance Network Technology Co., Ltd. Adaptive loop filtering
US11582491B2 (en) 2020-03-27 2023-02-14 Qualcomm Incorporated Low-frequency non-separable transform processing in video coding
US20210321137A1 (en) 2020-03-30 2021-10-14 Qualcomm Incorporated Low-frequency non-separable transform index signaling in video coding
WO2021244419A1 (en) 2020-05-31 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Constraint signaling using general constraint information syntax element
US11871010B2 (en) 2020-10-02 2024-01-09 Qualcomm Incorporated Extended low-frequency non-separable transform (LFNST) designs with worst-case complexity handling
US11924471B2 (en) 2020-11-12 2024-03-05 Qualcomm Incorporated Context-based transform index signaling in video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012163125A1 (zh) * 2011-06-02 2012-12-06 中兴通讯股份有限公司 一种信道信息反馈方法和系统
CN103329523A (zh) * 2010-12-29 2013-09-25 高通股份有限公司 使用经映射变换和扫描模式的视频译码
CN103380425A (zh) * 2011-01-10 2013-10-30 高通股份有限公司 用于媒体数据译码的32点变换
CN104462021A (zh) * 2014-11-11 2015-03-25 江苏中兴微通信息科技有限公司 基于高速脉动阵列及Givens变换的基向量矩阵压缩装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
EP3528575B1 (en) 2004-06-22 2020-12-16 Apple Inc. Enabling feedback in wireless communication networks
US7870176B2 (en) 2004-07-08 2011-01-11 Asocs Ltd. Method of and apparatus for implementing fast orthogonal transforms of variable size
DE102006051673A1 (de) 2006-11-02 2008-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale
US9215470B2 (en) 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US10390048B2 (en) 2016-02-15 2019-08-20 Qualcomm Incorporated Efficient transform coding using optimized compact multi-pass transforms
US10448053B2 (en) 2016-02-15 2019-10-15 Qualcomm Incorporated Multi-pass non-separable transforms for video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329523A (zh) * 2010-12-29 2013-09-25 高通股份有限公司 使用经映射变换和扫描模式的视频译码
CN103380425A (zh) * 2011-01-10 2013-10-30 高通股份有限公司 用于媒体数据译码的32点变换
WO2012163125A1 (zh) * 2011-06-02 2012-12-06 中兴通讯股份有限公司 一种信道信息反馈方法和系统
CN104462021A (zh) * 2014-11-11 2015-03-25 江苏中兴微通信息科技有限公司 基于高速脉动阵列及Givens变换的基向量矩阵压缩装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
In Search of Better-than-DCT Unitary Transforms for Encoding of Residual Signals;Shuyuan Zhu;《IEEE SIGNAL PROCESSING LETTERS》;20100927;第17卷(第11期);第961-964页 *
New Transforms Tightly Bounded by DCT and KLT;Haoming Chen等;《IEEE SIGNAL PROCESSING LETTERS》;20120418;第19卷(第6期);第344-347页 *
Using the CS decomposition to compute the 8-point DCT;Marek Parfieniuk;《2015 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS)》;20150527;第2836-2839页 *

Also Published As

Publication number Publication date
EP3417623A1 (en) 2018-12-26
CN108605141A (zh) 2018-09-28
WO2017142932A1 (en) 2017-08-24
US10349085B2 (en) 2019-07-09
US20170238014A1 (en) 2017-08-17
EP3417623B1 (en) 2021-01-13

Similar Documents

Publication Publication Date Title
CN108605141B (zh) 用于紧凑多遍变换的高效参数存储
CN108605142B (zh) 用于视频译码的方法和装置
CN108702517B (zh) 使用优化的紧凑多遍变换的高效变换编码
US10506246B2 (en) Multi-type-tree framework for video coding
CN110720218B (zh) 与视频译码中的变换处理一起应用的帧内滤波
US10863199B2 (en) Minimization of transform memory and latency via parallel factorizations
US11778234B2 (en) Video intra prediction using hybrid recursive filters
EP3777186B1 (en) Multiple transforms adjustment stages for video coding
TWI686080B (zh) 用於大的寫碼樹單元之內容
CN114982240A (zh) 用于视频译码的多重变换集信令
CN115623212A (zh) 对比特流进行子划分区间的方法和电子装置
CN111713106A (zh) 用信号发送360度视频信息

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant