CN112042194B - 一种编码/解码的方法及电子装置 - Google Patents

一种编码/解码的方法及电子装置 Download PDF

Info

Publication number
CN112042194B
CN112042194B CN201980016574.9A CN201980016574A CN112042194B CN 112042194 B CN112042194 B CN 112042194B CN 201980016574 A CN201980016574 A CN 201980016574A CN 112042194 B CN112042194 B CN 112042194B
Authority
CN
China
Prior art keywords
intra
prediction
mode
transform
current block
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
CN201980016574.9A
Other languages
English (en)
Other versions
CN112042194A (zh
Inventor
江嫚书
徐志玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN112042194A publication Critical patent/CN112042194A/zh
Application granted granted Critical
Publication of CN112042194B publication Critical patent/CN112042194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

本公开提供了一种视频编解码器,其基于帧内预测设定隐式地发送或决定变换设定。视频编解码器接收与当前块相关联的输入数据。视频编解码器确定当前块的当前帧内预测模式且将当前帧内预测模式映射到目标变换模式。在一个示例中,视频编解码器根据目标变换模式通过对根据当前帧内预测模式产生的当前块的预测残差执行变换操作来对当前块进行编码。在另一示例中,视频编解码器根据目标变换模式通过对当前块的已编码的预测残差执行逆变换操作来对当前块进行解码,其中已编码的预测残差从比特流导出且根据当前帧内预测模式产生。

Description

一种编码/解码的方法及电子装置
相关引用
本公开是非临时申请的一部分,主张递交于2018年4月13日、美国临时申请号为62/657,100,递交于2018年5月2日、美国临时申请号为62/665,582,以及递交于2019年4月11日、美国临时申请号码16/382,173的美国临时专利申请案的优先权。上述列出的申请案的全部内容以引用方式并入本文。
技术领域
本公开涉及视频处理,更具体地说,本公开涉及基于帧内预测设定的变换设定的隐式发送。
背景技术
除非此处另有说明,本部分所描述的方法相对于下面列出的权利要求而言不是先前技术,并且透过本部分的引入不被承认是先前技术。
高效视频编解码(High-Efficiency Video Coding,简称HEVC)是由视频编解码联合协作小组(Joint Collaborative Team on Video Coding,简称JCT-VC)开发的新的国际视频编解码标准。HEVC基于基于混合块的运动补偿离散余弦变换(Discrete CosineTransform,简称DCT)编解码架构。用于压缩的基本单元(称为编解码单元(coding unit,简称CU))是2N×2N方块,并且每个CU可以被递归地分成四个较小的CU,直到达到预定义的最小尺寸。每个CU包含一个或多个预测单元(prediction unit,简称PU)。对于每个PU,可使用帧内预测或帧间预测。时间重构参考帧被用于帧间预测模式中的预测,同一帧内的空间重构像素被用于帧内预测模式。在预测之后,一个CU的预测残差被划分为变换单元(transform unit,简称TU)并使用变换和量化来编解码。与许多其他在先标准一样,HEVC采用离散余弦变换II型(Discrete Cosine Transform type II,简称DCT-II)作为其核心变换,因为它具有强大的“能量压缩”特性。
发明内容
以下发明内容仅是说明性的,不打算以任何方式加以限制。也就是说,以下发明内容被提供以介绍此处所描述的新且非显而易见的技术的概念、重点、好处和优势。选择而不是所有的实施方式在下面的详细说明中进行进一步描述。因此,以下发明内容不用于决定所要求主题的本质特征,也不用于决定所要求主题的范围。
本公开的一些实施例提供了一种视频编码器,其基于帧内预测设定隐式地发送变换设定。在一些实施例中,视频编码器接收将被编码为当前块的视频图像的像素块。视频编码器根据帧内预测设定对当前块执行帧内预测操作,并生成当前块的预测残差。帧内预测设定从当前块的多个帧内预测模式中选择当前帧内预测模式。视频编码器将当前帧内预测模式映射到目标变换模式。视频编码器根据目标变换模式通过对当前块的预测残差执行变换操作来对比特流中的当前块进行编码。
本公开的一些实施例提供了一种视频解码器,其基于帧内预测设定隐式地确定变换设定。在一些实施例中,视频解码器接收包括视频图像的当前块的已编码的预测残差的比特流。视频解码器根据帧内预测设定从当前块的多个帧内预测模式确定当前帧内预测模式,并将当前帧内预测模式映射到目标变换模式。视频解码器根据目标变换模式通过对当前块的已编码的预测残差执行逆变换操作以生成当前块的预测残差,并且通过基于预测残差和当前块的预测像素集合来重构当前块,来对当前块进行解码,其中当前块的预测像素集合是根据当前帧内预测模式通过对当前块执行帧内预测操作来生成。
在一些实施例中,帧内预测模式的集合被分配特定变换模式,使得当当前帧内预测模式处于帧内预测模式的集合中时,目标变换模式是特定变换模式。帧内预测模式的集合可以由固定表达式定义,使得具有不同块大小的不同块具有用于定义帧内预测模式的集合的不同固定表达式,或者使得不同的固定表达式被用于将变换模式分配给不同数值范围的帧内预测模式。在一些实施例中,当前块的最可能模式(most probable mode,简称MPM)列表中的帧内预测模式被分配特定变换模式。在一些实施例中,指示均匀块纹理的帧内预测模式(例如DC模式)被映射到特定变换模式。
附图说明
图1概念性地示出基于视频编码器中的预测设定的变换设定的隐式确定。
图2概念性地示出基于视频解码器中的帧内预测设定的变换设定的隐式确定。
图3A示出自适应性多变换(Adaptive Multiple Transform,简称AMT)方案的示例。
图3B示出多变换选择(Multiple Transform Selection,简称MTS)方案的示例。
图4示出用于编解码像素块的帧内预测模式。
图5示出基于帧内预测设定实现变换设定的隐式发送的示例视频编码器。
图6示出基于帧内预测设定实现变换设定的隐式推导的视频编码器的部分
图7概念性地示出基于帧内预测设定隐式地发送变换设定的视频编码过程。
图8示出基于帧内预测设定可隐式地发送变换设定的示例视频解码器。
图9图示出基于帧内预测设定实现变换设定的隐式推导的视频解码器的部分。
图10概念性地示出基于帧内预测设定隐式地确定变换设定的视频解码过程。
图11概念性地示出用于实现本公开的一些实施例的电子系统。
具体实施方式
在以下详细描述中,许多具体细节通过示例来阐述,以提供对相关教导的透彻理解。基于本文描述的教导的任何变化,衍生物和/或扩展都在本公开的保护范围内。在一些实例中,与本文公开的一个或多个示例实现有关的公知方法,过程,组件和/或电路可以在没有细节的情况下以相对较高的级别描述,以避免不必要地模糊本公开的教导的各方面。
本公开的一些实施例提供了一种视频编码器,其根据一组预定义规则隐式地发送变换设定。具体地,视频编解码器可基于在比特流中明确地发送的帧内预测设定来导出变换模式和/或其他变换设定。变换模式可指定被选择的多个不同变换类型的垂直变换类型和水平变换类型。
图1概念性地示出基于视频编码器100中的预测设定的变换设定的隐式确定。视频编码器100从视频源110接收原始像素。原始像素属于视频序列的视频图像。视频编码器100将属于视频图像的原始像素划分为像素块(例如,CU),其将被编码在比特流190中作为语法元素。
如图所示,视频编码器100包括变换模块120,一组变换设定125,帧内预测模块130,帧内预测设定135的集合,以及隐式映射模块140。在一些实施例中,模块120-140是由计算装置或电子装置的一个或多个处理单元(例如,处理器)执行的软件指令的模块。在一些实施例中,模块120-140是由电子装置的一个或多个集成电路(integrated circuit,简称IC)实现的硬件电路的模块。尽管模块120-140被示为单独的模块,但是一些模块可以组合成单个模块。
当对像素块(当前块)进行编码时,帧内预测模块130通过参考在不同方向上与当前块相邻的像素来生成预测像素集合。所生成的预测像素被从当前块的原始像素值中减去以产生残差集合,并且经由变换模块120残差被变换为变换系数。然后变换系数被熵编码为比特流190的语法元素。
变换模块120可包括多个不同的变换引擎,诸如用于DCT-II,DST-VII,DCT-VIII,DST-1和DCT-V变换类型的变换引擎或者上述类型的任一子集。变换设定125选择将残差值变换为当前块的变换系数的变换引擎。在一些实施例中,变换设定125指定水平变换类型和垂直变换类型。
帧内预测模块130通过参考当前视频图像内的像素来执行帧内预测。帧内预测模块130的操作由帧内预测设定135控制,帧内预测设定135指定从DC模式,平面模式和多个不同的方向/角度模式中选择的帧内预测模式。帧内预测模式在下面的部分II中更详细地描述。
帧内预测设定135可以由视频编码器100的速率失真控制引擎(未示出)确定。帧内预测设定135可以被明确地编码为比特流190中的语法元素。另一方面,变换设定125从帧内预测设定135被导出或映射,并且在比特流中不被编码为语法元素。换句话说,在变换设定125被隐式地发送的同时,帧内预测设定135被明确地发送。
隐式映射模块140将帧内预测设定135映射到变换设定125。在一些实施例中,隐式映射模块140根据预定标准定义帧内预测模式的集合。根据自适应性多变换(AdaptiveMultiple Transform,简称AMT)方案或多变换选择(multiple transform selection,简称MTS)方案,所定义的帧内预测模式的集合被分配或映射到变换组或变换模式。AMT指定用于不同变换组和不同变换模式的水平和垂直变换类型。MTS指定用于不同变换模式的水平和垂直变换类型。AMT和MTS方案在下面的部分I中有更详细的描述。
当通过特定帧内预测模式对当前块进行编码时,隐式映射模块140确定特定帧内预测模式是否落入所定义的帧内预测模式的集合内。如果是,则隐式映射模块140基于变换组和/或变换模式提供水平类型和垂直变换类型,所述变换组和/或变换模式是所定义的帧内预测模式的集合被分配或映射到的。在一些实施例中,隐式映射模块140定义多个帧内预测模式的集合,以及将每个定义的帧内预测模式的集合映射到不同的变换组或变换模式。在一些实施例中,帧内预测设定到变换设定的映射基于预定义的函数。在一些实施例中,帧内预测设定到变换设定的映射还基于当前块的其他属性,诸如当前块的大小/宽度/高度。在一些实施例中,隐式映射模块140基于最可能模式(most probable modes,简称MPM)列表来定义帧内预测模式的集合,MPM是基于与当前块相邻的块的信息(例如,预测模式)而被识别。MPM在下面的部分III中描述。帧内预测设定到变换设定的映射在下面的部分IV中有更详细地描述。
图2概念性地示出了基于视频解码器200中的帧内预测设定的变换设定的隐式确定。该图标出了视频解码器200接收比特流210的语法元素。视频解码器200对语法元素进行解码以重构视频序列的视频图像用于传输或显示。
如图所示,视频解码器200包括逆变换模块220,一组变换设定225,帧内预测模块230,帧内预测设定235的集合,以及隐式映射模块240。在一些实施例中,模块220-240是由计算装置或电子装置的一个或多个处理单元(例如,处理器)执行的软件指令的模块。在一些实施例中,模块220-240是由电子装置的一个或多个IC实现的硬件电路的模块。尽管模块220-240被示为单独的模块,但是一些模块可以组合成单个模块。
当对像素块(当前块)进行解码时,帧内预测模块230通过参考在不同方向上与当前块相邻的像素来生成预测像素集合。所生成的预测像素与残差值集合相加,该残差值由逆变换模块220基于变换系数产生。变换系数从比特流210的语法元素被熵解码。
逆变换模块220可包括多个不同的变换引擎,诸如用于DCT-II,DST-VII,DCT-VIII,DST-1和DCT-V变换类型的变换引擎,或者上述类型的任何子集。变换设定225选择将变换系数逆变换为当前块的残差值的变换引擎。在一些实施例中,变换设定225指定水平变换类型和垂直变换类型。
帧内预测模块230通过参考当前视频图像内的像素来执行帧内预测。帧内预测模块230的操作由帧内预测设定235控制,帧内预测设定235指定从DC模式,平面模式和多个不同的方向/角度模式中选择的帧内预测模式。帧内预测模式在下面的部分II中有更详细地描述。
帧内预测设定235是基于从比特流解析的语法元素。另一方面,变换设定225从帧内预测设定235被导出或映射,而在比特流中不被解码作为语法元素。换句话说,帧内预测设定235被明确地发送,同时变换设定225被隐式地发送。
隐式映射模块240将帧内预测设定235映射到变换设定225。在一些实施例中,隐式映射模块240根据预定标准定义帧内预测模式的集合。
根据AMT方案或MTS方案,所定义的帧内预测模式的集合被分配或映射到变换组或变换模式。AMT指定不同变换组和不同变换模式的水平和垂直变换类型。MTS指定不同变换模式的水平和垂直变换类型。AMT和MTS方案在下面的部分I中有更详细的描述。
当通过特定帧内预测模式解码当前块时,隐式映射模块240确定特定帧内预测模式是否落入所定义的帧内预测模式的集合内。如果是,则隐式映射模块240基于变换组和/或变换模式提供水平类型和垂直变换类型,所定义的帧内预测模式的集合被分配或映射到所述变换组和/或变换模式。在一些实施例中,隐式映射模块240定义多个帧内预测模式的集合,并将每个定义的帧内预测模式的集合映射到不同的变换组或变换模式。在一些实施例中,帧内预测设定到变换设定的映射是基于预定义的函数。在一些实施例中,帧内预测设定到变换设定的映射还基于当前块的其他属性,诸如当前块的大小/宽度/高度。在一些实施例中,隐式映射模块240基于MPM的列表来定义帧内预测模式的集合,所述MPM的列表是基于与当前块相邻的块的信息(例如,预测模式)被识别的。MPM在下面的部分III中描述。帧内预测设定到变换设定的映射在下面的部分IV中有更详细的描述。
I.变换模式
在一些实施例中,AMT方案用于定义用于帧内和帧间编解码块的残差编解码的变换设定。AMT方案使用从DCT/DST系列或变换类型中选择的变换模式,包括离散正弦变换类型VII(Discrete Sine Transform type VII,简称DST-VII),离散余弦变换类型VIII(Discrete Cosine Transform type VIII,简称DCT-VIII),离散正弦变换类型I(DiscreteSine Transform type I,简称DST-I),和离散余弦变换类型V(Discrete CosineTransform type V,简称DCT-V)。
在一些实施例中,在AMT方案中使用的多个变换模式被划分为变换组1和变换组2。变换组1中的变换模式的数量被表示为A,其中A是正整数。变换组2中的变换模式的数量表示为B,其中B是正整数。A加B等于变换模式的总数。在一些实施例中,变换模式可分配变换类型用于水平变换,变换类型用于垂直变换。
图3A示出示例AMT方案300A。如图所示,示例性AMT方案300A仅使用变换类型DCT-II和DST-VII,变换组1中存在一种变换模式,以及变换组2中存在三种变换模式。对于变换组1,一种变换模式(模式1-1)定义了水平变换类型和垂直变换类型的DCT-II。对于变换组2,第一变换模式(模式2-1)定义用于水平变换和垂直变换的DST-VII,第二变换模式(模式2-2)定义用于水平变换的DCT-II和用于垂直变换的DST-VII。第三变换模式(模式2-3)定义用于水平变换的DST-VII和用于垂直变换的DCT-II。
组1和组2中的变换模式彼此不同。AMT标志(也称为变换标志)被发送以指示特定变换组。如果特定变换组中的变换模式的数目大于1,则额外的变换索引被发送以指示一种变换模式。
在一些实施例中,变换组根据预定标准被隐式地分配或选择,使得AMT标志不被发送。在一些实施例中,变换模式根据预定标准被隐式地分配或选择,使得AMT标志和AMT索引都不被发送。预定标准是基于当前块的应用帧内预测模式。
在一些实施例中,MTS被用于定义用于帧内和/或帧间编码块的残差编解码的变换设定。MTS使用从DCT/DST系列或变换类型中选择的变换模式,包括DST-VII和/或DCT-VIII。
在一些实施例中,MTS中使用的多个变换模式使用索引来指示。在一些实施例中,变换模式可分配变换类型用于水平变换,变换类型用于垂直变换。
图3B示出了示例MTS方案300B。示例MTS300B仅使用变换类型DST-VII和DCT-VIII。默认模式(未示出)定义用于水平和垂直变换的DCT-II。MTS方案300B定义了四个额外的变换模式1到4。变换模式1定义用于水平变换类型和垂直变换类型的DST-VII。变换模式2定义用于水平变换类型的DCT-VIII和用于垂直变换类型的DST-VII。变换模式3定义用于水平变换类型的DST-VII,定义用于垂直变换类型的DCT-VIII。变换模式4定义用于水平变换和垂直变换的DCT-VIII。变换模式彼此不同。MTS索引被发送以指示特定变换模式。
在一些实施例中,根据预定标准变换模式被隐式地分配或选择,使得MTS索引不被发送。预定标准基于当前块的应用帧内预测模式。
II.帧内预测模式
除了DC和平面模式之外,HEVC还定义了用于帧内预测的33个方向模式。在一些实施例中,为了改进帧内预测并捕获在自然视频中呈现的更精细的边缘方向,除了DC和平面模式之外,帧内预测被定义为具有65个方向模式。更密集的方向帧内预测模式可被应用于所有块大小以及亮度和色度帧内预测。
图4标出用于编解码像素块的67种帧内预测模式。根据该图,帧内预测模式0对应于平面模式,帧内预测模式1对应于DC模式,帧内预测模式2-66对应于角度帧内预测模式或方向模式。在方向模式中,模式2对应于左下方向,模式18对应于水平或左方向,模式34对应于对角线或左上方向,模式50对应于垂直或顶部方向,模式66对应于垂直对角线或右上方向。
在一些实施例中,依赖于模式的变换候选选择过程被用来考虑不同帧内预测模式的不同残差统计量。在一些实施例中,每个帧内预测模式被分配候选变换集合,即,候选变换集合是基于帧内预测模式选择。在一些实施例中,水平变换和垂直变换从分配给帧内预测模式的候选变换集合中选择。表1列出了候选变换的三个预定义集合,候选变换的每个集合可被用作垂直变换集合或水平变换集合。表2列出了67种帧内预测模式及其分配的候选变换集合。当使用特定帧内预测模式对像素块进行帧内预测时,基于特定帧内预测模式视频编解码器使用表2识别变换集合。视频编解码器然后使用变换索引(或AMT索引)从垂直变换集合中选择一个变换模式,以及从水平变换集合中选择一个变换模式。变换索引可在比特流中被明确地编解码为语法元素。
表1:三个预定义变换候选集合
表2:所选择的用于每个帧内预测模式的水平和垂直变换集合
III.最可能模式(Most Probable Mode,简称MPM)
在一些实施例中,MPM列表用于编码块的亮度分量的帧内预测模式。MPM列表是基于当前块的相邻块(或相邻模式)使用的帧内预测模式生成的候选模式的列表。当像素块是通过帧内预测被编解码的以及预测模式被选择作为当前块的当前帧内预测模式时,如果当前帧内预测模式在MPM列表中,则截断的一元编码可被用来指示当前帧内预测模式。如果当前帧内预测模式不在MPM列表中,则固定长度码或截断二值化可被用来指示当前帧内预测模式。
在一些实施例中,MPM列表中包括的帧内预测模式可被分类为三个组:相邻帧内模式,导出帧内模式和默认帧内模式。在一些实施例中,相邻块(或相邻模式)的帧内预测模式被用来形成MPM列表。五个相邻模式的位置包括左(L),上(A),左下(BL),右上(AR)和左上(AL)。初始MPM列表是通过将来自五个相邻模式,平面模式和DC模式的帧内预测模式插入到MPM列表中来形成。修剪过程被用于移除重复的帧内预测模式,以使仅唯一模式包含在MPM列表中。初始MPM列表中的帧内预测模式的顺序可以是左,上,平面,DC,左下,右上,然后左上。
如果MPM列表未满(例如,列表中存在少于6个MPM候选),则可以添加一个或更多导出的帧内模式。导出的帧内模式可通过将-1或+1加到已经包含在MPM列表中的角度方向模式(非DC或平面的帧内预测模式)来获得。这样的额外导出模式可不从非角度帧内预测模式(DC或平面)生成。如果MPM列表仍未完成,则根据以下顺序一个或更多默认模式被添加到MPM列表:垂直,水平,模式2和对角线模式。作为该过程的结果,6个MPM候选模式的唯一列表生成。
不在MPM列表中的剩余61个帧内预测模式(非MPM)的选择的编解码如下。61个非MPM分为两个模式集合:选择模式集合和非选择模式集合。选择模式集合包括16种模式;其余45种模式被分配给非选择模式集合。包括当前模式(即,被选择以对当前块进行编解码的帧内预测模式)的模式集合(选择模式集合或非选择模式集合)可在比特流中用标志指示。如果当前模式在选择模式集合内,则当前模式通过一个4位固定长度码来发送。如果当前模式来自非选择模式集合,则当前模式通过截断的二进制代码来发送。在一些实施例中,选择模式集合通过对61个非MPM模式进行子采样来生成,根据如下:
选择模式集合={0,4,8,12,16,20…60}
非选择模式集合={1,2,3,5,6,7,9,10…59}
IV.基于帧内预测的变换设定的隐式发送
在一些实施例中,视频编解码器放弃变换设定的明确发送,而是使用基于帧内预测设定的隐式指示,包括平面模式,DC模式和角度方向模式。
通常,帧内预测越精细,帧内预测的相邻方向预测子之间的差异越小。视频编解码器可将不同的变换设定分配给相邻的角度方向模式,例如,基于相邻方向模式之间的预测子的相似性。视频编解码器还可根据纹理特征将平面模式和DC模式映射到变换设定。当DC模式被选择用于帧内预测时,可被隐式地分配或映射到诸如DCT-II的默认变换类型。利用所提出的隐式分配,帧内预测模式和变换模式使用帧内预测模式编解码被同时发送。当视频编码器测试不同的帧内预测模式以找到最合适的帧内预测模式时,变换设定的相应选择可被同时确定而无需额外的编解码旁路和复杂性。
在一些实施例中,预定标准被用于定义帧内预测模式的集合,其被隐式地分配或映射到一个特定变换组或一个特定变换模式。帧内预测模式的集合指定满足预定标准的帧内预测模式的索引。帧内预测模式的集合可由具有固定条目的表指定。该表可包含不同帧内预测模式的条目,例如{2,水平,对角线,垂直,垂直对角线},或这五种预测模式的任何其他子集。所定义的帧内预测模式的集合可被隐式地分配或映射到一个变换组,例如变换组1。帧内预测模式的预定集合也可隐式地被分配一个变换模式,例如用于水平变换和垂直变换的DCT-II。不在所定义的帧内预测模式的集合中的帧内预测模式可被隐式地分配另一个变换组,例如变换组2或另一变换模式,诸如用于水平变换和垂直变换的DST-VII。
在一些实施例中,所定义的帧内预测模式的集合可由帧内预测模式的固定条目集合指定,例如{2,水平,对角线,垂直,垂直对角线}或这五种方向模式的任一其他子集±偏移值。其中偏移值可被预定或自适应地确定。例如,如果固定条目集合是{对角线}±1以及如果对角帧内预测模式的索引是34,则帧内预测模式33和35被隐式地分配一变换组(诸如变换组1)或一个变换模式(例如用于水平变换和垂直变换的DCT-II),而其他帧内预测模式被隐式地分配另一变换组(例如变换组2)或另一个变换模式(例如用于水平变换和垂直变换的DST-VII)。
被隐式地分配变换组或变换模式的所定义的帧内预测模式的集合也可由诸如{帧内预测模式%N==n}的固定表达式或等式来指定,其中N和n是预定的,或{帧内预测模式%N==n},其中N是预定的并且n可依据所应用的帧内预测模式等而改变。例如,固定的等式可以是{帧内预测模式%2==1}。然后,帧内预测模式3,5,,...,65被隐式地分配一个变换组或一个变换模式,而其他帧内预测模式被隐式地分配另一变换组或另一变换模式。又例如,固定等式可以是{帧内预测模式%2==n},对于小于特定阈值(例如,对角线模式的索引或34)的帧内预测模式,n是0;否则,n是1。帧内预测模式0,2,4,6,...32,35,37,39,...63,65然后被隐式地被分配一个变换组或一个变换模式,而其他帧内预测模式是隐式地被分配另一变换组或另一变换模式。
在一些实施例中,所定义的帧内预测模式的集合中的帧内预测模式的水平变换类型与不在所定义的帧内预测模式的集合中的帧内预测模式的垂直变换类型相同,而所定义的帧内预测模式的集合中的帧内预测模式的垂直变换类型与不在所定义的帧内预测模式的集合中的帧内预测模式的水平变换类型相同。例如,对于所定义的帧内预测模式的集合中的帧内预测模式,水平变换类型可以是DST-VII以及垂直变换类型可以是DCT-II,而对于不在所定义的帧内预测模式的集合中的帧内预测模式,水平变换类型可以是DCT-II以及垂直变换类型可以是DST-VII。
在一些实施例中,具有不同块大小的块可使用不同的等式或表达式来定义被隐式分配变换组或变换模式的帧内预测模式的集合。在一些实施例中,应用处于不同数值范围的帧内预测模式的块可使用不同的等式或表达式来定义被隐式地分配变换组或变换模式的帧内预测模式的集合。例如,当块的应用帧内预测模式在特定数值范围内时,例如对角线周围的方向模式范围(例如,[34-d,34+d],其中d是正整数),固定等式可以是{2,水平,对角线,垂直,垂直对角线}或这五种帧内预测模式的任一其他子集±偏移值,其中偏移值可被预定或自适应地确定。当所应用的帧内预测模式不在该预定范围内时,固定等式可以是{帧内预测模式%N==n},其中N是预定的并且n可以依据所应用的帧内预测模式而改变。换句话说,不同的固定等式或表达式被用来分配不同数值范围的帧内预测模式用于变换模式或变换组。
在一些实施例中,被隐式地分配一个变换组和一个变换模式的所定义的帧内预测模式的集合可通过纹理特征来指定。具有均匀纹理的块可被隐式地分配一个变换组(例如,变换组1)或一个变换模式(例如,DCT-II),而不具有均匀纹理的块可以被隐式地分配另一变换组(例如,变换组2)或其他变换模式(例如,DST-VII)。视频编解码器可通过确定所应用的块的帧内预测模式是否为DC模式来确定纹理均匀性。如果DC模式是应用的帧内预测模式,则块纹理被假设是均匀的,并且块被隐式地分配变换组1或DCT-II,即DC模式被隐式地分配变换组1或DCT-II。再例如,当块的应用帧内预测模式是平面模式时,块纹理被假设更复杂,并且块被隐式地分配变换组2或DST-VII,即平面模式被隐式的分配变换组2或DST-VII。
在一些实施例中,被隐式地分配有变换组或变换模式的所定义的帧内预测模式的集合可基于相邻块的帧内预测模式来指定。例如,当前块的MPM列表中的帧内预测模式可被隐式地分配一个变换组(例如,变换组1)或一个变换模式(例如,用于水平变换和垂直变换的DCT-II),而不在MPM列表中的帧内预测模式可被隐式地分配另一变换组(例如,变换组2)或另一变换模式(例如,用于水平变换和垂直变换的DST-VII)。又例如,左相邻块或左扩展相邻块(例如,左下相邻块)的预测模式可被隐式地分配一个变换组或一个变换模式。来自上方相邻块或上方扩展的相邻块(例如,右上相邻块)的预测模式可被隐式地分配另一变换组或另一变换模式。来自左上相邻块的预测模式可被隐式地分配另一变换组或另一变换模式。
在一些实施例中,变换组中的变换类型可基于块大小来改变。在一些实施例中,变换组1中的变换模式和变换组2中的变换模式可基于特定标准交换。例如,当块大小小于特定阈值时,变换组2中的变换模式与变换组1中的变换模式交换。对于图3A的示例AMT方案,变换组1中的唯一变换模式(模式1-1)将被改变为用于水平变换和垂直变换的DST-VII,并且变换组2中的第一变换模式(模式2-1)将被改变为用于水平变换和垂直变换的DCT-II。
在一些实施例中,对于每个变换组,用于水平变换的变换类型和用于垂直变换的变换类型的组合可基于所应用的帧内预测模式来改变,诸如所应用的帧内预测模式是否是奇数(或甚至)索引角度模式。例如,如果所应用的帧内预测模式是奇数,则对于图3A的变换组2,第二变换模式(模式2-2)可被改变为用于水平变换类型的DST-VII和用于垂直变换类型的DCT-II,第三变换模式(模式2-3)可被变为DCT-II用于水平变换类型和用于垂直变换类型的DST-VII。
V.视频编码器示例
图5示出可实现基于帧内预测设定的变换设定的隐式发送的示例视频编码器500。对于一些实施例,视频编码器500可实现图1的视频编码器100。如图所示,视频编码器500从视频源505接收输入视频信号以及将信号编码到比特流595中。视频编码器500具有用于编码来自视频源505的信号的若干组件或模块,包括变换模块510,量化模块511,逆量化模块514,逆变换模块515,图像内估计模块520,帧内预测模块525,运动补偿模块530,运动估计模块535,环内滤波器545,重构的图像缓冲器550,MV缓冲器565和MV预测模块575,以及熵编码器590。运动补偿模块530和运动估计模块535是帧间预测模块540的一部分。
在一些实施例中,模块510-590是由计算装置或电子装置的一个或多个处理单元(例如,处理器)执行的软件指令的模块。在一些实施例中,模块510-590是由电子装置的一个或多个IC实现的硬件电路的模块。尽管模块510-590被示为单独的模块,但是一些模块可以组合成单个模块。
视频源505提供原始视频信号,其呈现每个视频帧的像素数据而无需压缩。减法器508计算来自视频源505的原始视频像素数据和来自运动补偿模块530或帧内预测模块525的预测像素数据513之间的差值。变换模块510转换差值(或残差像素数据或残差信号509)为变换系数(例如,通过执行离散余弦变换或DCT)。量化模块511将变换系数量化为量化后资料(或量化后系数)512,其由熵编码器590编码到比特流595中。
逆量化模块514对量化后数据(或量化后系数)512进行去量化以获得变换系数,并且逆变换模块515对变换系数执行逆变换以产生重构的残差519。重构的残差519被加到预测像素数据513来产生重构的像素数据517。在一些实施例中,重构的像素数据517被暂时存储在行缓冲器(未示出)中,用于图像内预测和空间MV预测。重构的像素由环内滤波器545滤波并存储在重构的图像缓冲器550中。在一些实施例中,重构的图像缓冲器550是视频编码器500外部的内存。在一些实施例中,重构的图像缓冲器550是视频编码器500内部的内存。
图像内估计模块520基于重构的像素数据517执行帧内预测以产生帧内预测数据。帧内预测数据被提供给熵编码器590以被编码成比特流595。帧内预测数据被帧内预测模块525使用以产生预测像素数据513。
运动估计模块535通过产生MV来执行帧间预测,以参考存储在重构的图像缓冲器550中的先前解码的帧的像素数据。该些MV被提供给运动补偿模块530以产生预测的像素数据。
代替对比特流中的完整实际MV进行编码,视频编码器500使用MV预测来产生预测的MV,以及用于运动补偿的MV与预测的MV之间的差值被编码为残差运动数据并被存储在比特流595。
MV预测模块575基于用于对先前视频帧进行编码而生成的参考MV来生成预测的MV,即,用于执行运动补偿的运动补偿MV。MV预测模块575从来自MV缓冲器565的先前视频帧中取回参考MV。视频编码器500将对当前视频帧生成的MV存储在MV缓冲器565中作为用于生成预测的MV的参考MV。
MV预测模块575使用参考MV来创建预测的MV。预测的MV可通过空间MV预测或时间MV预测来计算。预测的MV与当前帧(残差运动数据)的运动补偿MV(motion compensation,简称MC MV)之间的差值由熵编码器590编码到比特流595中。
熵编码器590通过使用诸如上下文自适应性二进制算术编解码(context-adaptive binary arithmetic coding,简称CABAC)的熵编解码或霍夫曼编码技术将各种参数和数据编码到比特流595中。熵编码器590将各种报头元素,标志以及量化的变换系数512和残差运动数据作为语法元素被编码到比特流595中。比特流595又被存储在存储装置中或通过通讯媒体,如网络,传输到解码器。
环内滤波器545对重构的像素数据517执行滤波或平滑操作,以减少编解码的伪像,特别是在像素块的边界处。在一些实施例中,执行的滤波操作包括样本自适应性偏移(sample adaptive offset,简称SAO)。在一些实施例中,滤波操作包括自适应性环内滤波器(adaptive loop filter,简称ALF)。
图6示出基于帧内预测设定实现变换设定的隐式推导的视频编码器500的部分。如图所示,帧内预测设定600控制帧内预测模块525的操作。帧内预测设定指定从DC模式,平面模式和多个不同的方向/角度模式中选择的帧内预测模式。帧内预测模式在上面的部分II中描述。
隐式映射模块610接收帧内预测设定600并将所接收的帧内预测设定映射到变换模块510的变换设定。变换设定可包括用于垂直变换和水平变换的变换模式或变换类型。变换类型可选自各种版本的DCT或DST,例如DCT-II,DST-VII,DCT-VIII,DST-1和DCT-V或上述类型的任何子集。变换模块510又基于导出的变换设定对块的预测残差执行变换。
熵编码器590还接收帧内预测设定600并且将至少一些预测设定600编码为比特流595中的语法元素。或者,在一些示例中,帧内预测设定600可被隐式地发送(即,没有在比特流中被编码)并且可以由视频解码器隐式地导出。导出的变换设定不被编码在比特流中。从帧内预测设定到变换设定的映射在上面的部分IV描述。
图7概念性地示出基于帧内预测设定隐式地发送变换设定的视频编码过程700。在一些实施例中,实现视频编码器500的计算装置的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行过程700。在一些实施例中,实现视频编码器的电子装置执行过程700。
视频编码器接收(在步骤710)将被编码为当前块的视频图像的像素块。当前块可以是视频序列中的视频图像的CU,PU或CTU。视频编码器可从视频源接收像素块。
视频编码器根据帧内预测设定执行(在步骤720)当前块的帧内预测操作,以及产生预测残差(或残差像素)的集合。帧内预测设定从多个帧内预测模式中选择帧内预测模式作为当前块的当前帧内预测模式。帧内预测操作通过根据当前帧内预测模式参考在不同方向上与当前块相邻的像素来生成预测像素的集合。基于预测像素集合和当前块的原始像素之间的差值该预测残差(或残差像素)的集合被产生。帧内预测设定可通过率失真控制操作来指定。帧内预测模式选自DC模式,平面模式和多个不同的方向/角度模式。帧内预测模式在上面的部分II中描述。
视频编码器将当前帧内预测模式映射(在步骤730)到目标变换模式。目标变换模式可指定水平变换类型和垂直变换类型。在一些实施例中,帧内预测模式的集合被分配特定变换模式,使得当当前帧内预测模式处于帧内预测模式的集合中时,目标变换模式是特定变换模式。帧内预测模式的集合可由固定表达式定义,使得具有不同块大小的不同块具有用于定义帧内预测模式的集合的不同固定表达式,或者使得不同的固定表达式被用于分配有不同数值范围的帧内预测模式用于变换模式。在一些实施例中,当前块的MPM列表中的帧内预测模式被分配特定变换模式。在一些实施例中,指示均匀块纹理的帧内预测模式(例如DC模式)被映射到特定变换模式。MPM在上面的部分III中描述。帧内预测设定到变换设定的映射在上面的部分IV中更详细地描述。
视频编码器根据目标变换模式通过对当前块的预测残差执行变换操作来对比特流中的当前块进行编码(在步骤740)。通过变换操作,当前块的预测残差被变换为变换系数。变换系数被熵编解码为比特流的语法元素。目标变换模式不在比特流中被编码为语法元素。在一些实施例中,帧内预测设定也在比特流中被编码为语法元素。
VI.视频解码器示例
图8示出可基于帧内预测设定隐式地发送变换设定的示例视频解码器800。在一些实施例中,视频解码器800可实现图2的视频解码器200。如图所示,视频解码器800是图像解码或视频解码电路,其接收比特流895并将比特流的内容解码为视频帧的像素数据以供显示。视频解码器800具有用于解码比特流895的若干组件或模块,包括逆量化模块805,逆变换模块810,帧内预测模块825,运动补偿模块830,环内滤波器845,解码的图像缓冲器850,MV缓冲器865,MV预测模块875和解析器890。运动补偿模块830是帧间预测模块840的一部分。
在一些实施例中,模块810-890是由计算装置的一个或多个处理单元(例如,处理器)执行的软件指令的模块。在一些实施例中,模块810-890是由电子装置的一个或多个IC实现的硬件电路的模块。尽管模块810-890被示为单独的模块,但是一些模块可以组合成单个模块。
解析器890(或熵解码器)接收比特流895并根据由视频编码或图像编码标准定义的语法执行初始解析。经解析的语法元素包括各种标头元素,标志以及量化数据(或量化系数)812。解析器890通过使用诸如CABAC之类的熵编解码或霍夫曼编码技术来解析各种语法元素。
逆量化模块805对量化数据(或量化系数)812进行解量化以获得变换系数,并且逆变换模块810对变换系数816执行逆变换以产生重构的残差信号819。重构的残差信号819与来自帧内预测模块825或运动补偿模块830的预测像素数据813相加,以产生解码的像素数据817。解码的像素数据由环内滤波器845滤波并存储在解码的图像缓冲器850中。在一些实施例中,解码的图像缓冲器850是视频解码器800外部的内存。在一些实施例中,解码的图像缓冲器850是视频解码器800内部的内存。
帧内预测模块825从比特流895接收帧内预测数据,并且根据该帧内预测数据,从存储在解码的图像缓冲器850中的解码像素数据817产生预测像素数据813。在一些实施例中,解码的像素数据817还存储在行缓冲器(未示出)中,用于图像内预测和空间MV预测。
在一些实施例中,解码的图像缓冲器850的内容被用于显示。显示装置855取回解码的图像缓冲器850的内容以便直接显示,或将解码的图像缓冲器850的内容取回到显示缓冲器。在一些实施例中,显示装置通过像素传输从解码的图像缓冲器850接收像素值。
运动补偿模块830根据MC MV从存储在解码的图像缓冲器850中的解码像素数据817产生预测的像素数据813。通过将从比特流895接收的残差运动数据与从MV预测模块875接收的预测的MV相加该MC MV被解码。
MV预测模块875基于为解码先前视频帧而生成的参考MV生成预测的MV,例如,用于执行运动补偿的MC MV。MV预测模块875从MV缓冲器865取回先前视频帧的参考MV。视频解码器800将用于解码当前视频帧而生成的MC MV存储在MV缓冲器865中作为用于产生预测的MV的参考MV。
环内滤波器845对解码的像素数据817执行滤波或平滑操作以减少编码的伪像,特别是在像素块的边界处。在一些实施例中,执行的滤波操作包括SAO。在一些实施例中,滤波操作包括ALF。
图9示出基于帧内预测设定实现变换设定的隐式推导的视频解码器800的部分。如图所示,帧内预测设定900控制帧内预测模块825的操作。帧内预测设定指定从DC模式,平面模式和多个不同的方向/角度模式中选择的帧内预测模式。然而,在一些示例中,帧内预测设定900可由视频解码器800隐式地导出(即,不在比特流895中编码)。帧内预测模式在上面的部分II中描述。
隐式映射模块910接收帧内预测设定900以及将所接收的帧内预测设定映射到逆变换模块810的变换设定。变换设定可包括用于垂直变换和水平变换的变换模式或变换类型。变换类型可选自各种版本的DCT或DST,例如DCT-II,DST-VII,DCT-VIII,DST-I和DCT-V,或上述类型的任何子集。逆变换模块810又基于导出的变换设定对块的预测残差执行变换。
经由熵解码器890帧内预测设定900从比特流895被解析出作为语法元素。从帧内预测设定到变换设定的映射在上面的部分IV中描述。
图10概念性地示出基于帧内预测设定隐式地确定变换设定的视频解码过程1000。在一些实施例中,实现视频解码器800的计算装置的一个或多个处理单元(例如,处理器)通过执行存储在计算机可读介质中的指令来执行过程1000。在一些实施例中,实现视频解码器的电子装置执行过程1000。
视频解码器接收(在步骤1010)包括视频图像的当前块的已编码的预测残差(例如,变换系数)的比特流。当前块可以是视频序列中的视频图像的CU,PU或CTU。
视频解码器根据帧内预测设定从当前块的多个帧内预测模式确定(在步骤1020)当前帧内预测模式。帧内预测设定可通过比特流的语法元素明确地发送。帧内预测模式选自DC模式,平面模式和多个不同的方向/角度模式。或者,帧内预测设定可由视频解码器隐式地导出。帧内预测模式在上面的部分II中描述。
视频解码器将当前帧内预测模式映射(在步骤1030)到目标变换模式。目标变换模式可指定水平变换类型和垂直变换类型。在一些实施例中,帧内预测模式的集合被分配特定变换模式,使得当当前帧内预测模式处于帧内预测模式的集合中时,目标变换模式是特定变换模式。帧内预测模式的集合可由固定表达式定义,使得具有不同块大小的不同块具有用于定义帧内预测模式的集合的不同固定表达式,或者使得不同的固定表达式被用于分配不同数值范围的帧内预测模式用于变换模式。在一些实施例中,当前块的MPM列表中的帧内预测模式被分配特定变换模式。在一些实施例中,指示均匀块纹理的帧内预测模式(例如DC模式)被映射到特定变换模式。MPM在下面的部分III中描述。帧内预测设定到变换设定的映射在下面的部分IV中更详细地描述。
视频解码器根据目标变换模式对当前块的已编码的预测残差执行(在步骤1040)逆变换操作以产生当前块的预测残差。已编码的预测残差(或变换系数)从比特流的语法元素被熵解码。视频解码器基于预测残差和当前块的预测像素的集合(例如,通过将残差像素的集合和预测像素的集合相加)来重构(在步骤1050)当前块。具体地,帧内预测操作通过根据当前帧内预测模式参考在不同方向上与当前块相邻的像素来生成该预测像素的集合。当前帧内预测模式是DC模式,平面模式和多个不同的方向/角度模式之一。帧内预测模式在上面的部分II中描述。
VII.电子系统示例
许多上述特征和应用被实现为软件过程,其被指定为记录在计算机可读内存介质(computer readable storage medium)(也称为计算机可读介质)上的指令集。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器,处理器核或其他处理单元)执行时,它们使处理单元执行指令中指示的动作。计算机可读介质的示例包括但不限于只读光盘内存(compact disk read only memory,简称CD-ROM),闪存(flash drive),随机存取内存(random-access memory,RAM)芯片,硬盘机,可擦除可编程只读存储器(erasableprogrammable read only memory,简称EPROM),电子式可擦除可编程只读存储器(electrically erasable programmable read only memory,简称EEPROM)。该计算机可读介质不包括通过无线或有线连接传递的载波和电信号。
在本说明书中,术语“软件”意味着包括只读存储器中的固件或者存储在磁存储装置中的应用程序,该应用程序可以被读入到内存中以用于处理器进行处理。同时,在一些实施例中,多个软件发明可以作为更大程序的子部分来实现,而保留不同的软件发明。在一些实施例中,多个软件发明可以作为独立的程序来实现。最后,一起实现此处所描述的软件发明的独立的程序的任何结合是在本发明的范围内。在一些实施例中,当软件程序被安装以在一个或者多个电子系统上进行操作时,软件程序定义了一个或者多个特定的机器实现方式,该机器实现方式执行和实施该软件程序的操作。
图11概念性地示出用于实现本公开的一些实施例的电子系统1100。电子系统1100可以是计算机(例如,台式计算机,个人计算机,平板计算机等),电话,个人数字助理(personal digital assistant,简称PDA)或任一其他种类的电子装置。这种电子系统包括各种类型的计算机可读介质和用于各种其他类型的计算机可读介质的接口。电子系统1100包括总线1105,处理单元1110,图形处理单元(graphics-processing unit,简称GPU)1115,系统内存1120,网络1125,只读存储器1130,永久存储装置1135,输入装置1140和输出装置1145。
总线1105集体表示与电子系统1100通讯地连接的众多内部装置的所有系统总线,外围装置总线和芯片组总线。例如,总线1105通过GPU1115,只读存储器1130,系统内存1120和永久存储装置1135与处理单元1110通讯地连接。
从这些各种内存单元,处理单元1110取回要执行的指令和要处理的数据,以便执行本公开的处理。在不同实施例中,处理单元1110可以是单个处理器或多核处理器。一些指令被传递到GPU1115并由GPU 1115执行。GPU1115可以卸除各种计算或补充由处理单元1110提供的图像处理。
只读存储器1130存储处理单元1110和电子系统的其他模块所需的静态数据和指令。另一方面,永久存储装置1135是读写记忆装置。该装置是非挥发性内存单元,即使在电子系统1100关闭时也存储指令和数据。本公开的一些实施例使用大容量存储装置(诸如磁盘或光盘及其相应的磁盘驱动器)作为永久存储装置1135。
其他实施例使用可移动存储(例如软盘,闪存装置等,及其相应的磁盘驱动器)作为永久存储装置。与永久存储装置1135类似,系统内存1120是读写内存装置。然而,与永久存储装置1135不同,系统内存1120是挥发性(volatile)读写内存,例如随机存取内存。系统内存1120存储处理器在运行时需要的一些指令和数据。在一些实施例中,根据本公开的过程存储在系统内存1120,永久存储装置1135和/或只读存储器1130中。例如,各种内存单元包括用于根据处理多媒体剪辑的指令。在一些实施例中。从这些各种内存单元,处理单元1110取回要执行的指令和要处理的数据,用以执行一些实施例的过程。
总线1105还连接到输入装置1140和输出装置1145。输入装置1140使用户能够向电子系统传送信息和选择命令。输入装置1140包括字母数字键盘和指示装置(也称为“光标控制装置”),相机(例如,网络摄像头),麦克风或用于接收语音命令等的类似装置。输出装置1145显示由电子系统生成的图像或否则输出数据。输出装置1145包括打印机和显示装置,例如阴极射线管(CRT)或液晶显示器(LCD),以及扬声器或类似的音频输出装置。一些实施例包括诸如同时用作输入装置和输出装置的触摸屏等装置。
最后,如图11所示,总线1105还通过网络适配器(未示出)将电子系统1100耦合到网络1125。以这种方式,计算机可以是计算机网络的一部分(例如局域网(local areanetwork,简称LAN),广域网(wide area network,简称WAN)或内部网络),或多个网络中的一个网络,比如说因特网。电子系统1100的任何或所有组件可以与本公开结合使用。
一些实施例包括电子组件,例如,微处理器、存储装置和内存,其将计算机程序指令存储到机器可读介质或者计算机可读介质(可选地被称为计算机可读存储介质、机器可读介质或者机器可读存储介质)。计算机可读介质的一些实例包括RAM、ROM、只读光盘(read-only compact disc,CD-ROM),可录制光盘(recordable compact disc,CD-R)、可擦写光盘(rewritable compact disc,CD-RW)、只读数字通用光盘(read-only digitalversatile disc)(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可擦写DVD(例如DVD RAM、DVD-RW、DVD+RW等)、闪存(如SD卡,迷你SD卡,微SD卡等)、磁性和/或固态硬盘、只读和可刻录盘、超高密度光盘和其他任何光学介质或磁介质,以及软盘。计算机可读介质可以存储由至少一个处理单元执行的计算机程序,并且包括用于执行各种操作的指令集。计算机程序或计算机代码的示例包括机器代码,例如编译程序产生的机器代码,以及包含由计算机、电子组件或微处理器使用注释器(interpreter)而执行的高级代码的文档。
当以上讨论主要是指执行软件的微处理器或多核处理器时,很多上述的功能和应用程序由一个或多个集成电路执行,如特定应用的集成电路(application specificintegrated circuit,简称ASIC)或现场可编程门阵列(field programmable gate array,简称FPGA)。在一些实施例中,这种集成电路执行存储在该电路本身上的指令。此外,一些实施例执行存储在可编程逻辑器件(programmable logic device,简称PLD),ROM或RAM装置中的软件。
如本发明的说明书和任一权利要求所使用,术语“计算机”、“服务器”、“处理器”和“内存”均指电子装置或其他技术装置。这些术语不包括人或群体。出于说明的目的,术语显示或显示装置指在电子装置上进行显示。如本发明的说明书和任一权利要求中所使用,术语“计算机可读介质”、“计算机可读媒质”和“机器可读介质”完全局限于有形的、实体的物体,其以计算机可读的形式存储信息。这些术语不包括任何无线信号、有线下载信号和其他任何短暂信号。
在结合许多具体细节的情况下描述了本发明时,本领域普通技术人员将认识到,本发明可以以其他具体形式而被实施,而不脱离本发明的精神。此外,大量的图(包括图10)概念性示出了处理过程。这些过程的具体操作可以不以所示及所描述的确切顺序来被执行。这些具体操作可以不在一个连续的操作系列中被执行,并且不同的具体操作可以在不同的实施例中被执行。另外,该处理可使用几个子处理而被实现,或者作为更大的宏处理的一部分。因此,本领域普通技术人员将能理解的是,本发明不受前述说明性细节的限制,而是由权利要求范围加以界定。
附加的说明
本文所描述的主题有时表示不同的组件,其包含在或者连接到其他不同的组件。可以理解的是,所描述的结构仅是示例,实际上可以由许多其他结构来实施,以实现相同的功能,从概念上讲,任何实现相同功能的组件的排列实际上是“相关联的”,以便实现所需功能。因此,不论结构或中间部件,为实现特定的功能而组合的任何两个组件被视为“相互关联”,以实现所需的功能。同样,任何两个相关联的组件被看作是相互“可操作连接”或“可操作耦接”,以实现特定功能。能相互关联的任何两个组件也被视为相互“可操作地耦接”,以实现特定功能。能相互关联的任何两个组件也被视为相互“可操作地耦合”以实现特定功能。可操作连接的具体例子包括但不限于实体上可配对和/或实体上相互作用的组件,和/或无线可交互和/或无线上相互作用的组件,和/或逻辑上相互作用和/或逻辑上可交互的组件。
此外,关于此处使用的基本上任一复数和/或单数术语,本领域普通技术人员可以根据上下文和/或应用从复数转换为单数和/或从单数到复数。为清楚起见,本发明明确阐述了不同的单数/复数排列。
此外,通常,本领的通常知识者可以理解本发明所使用的术语特别是权利要求中的,如权利要求的主题,通常用作“开放”术语,例如,“包括”应解释为“包括但不限于”,“有”应理解为“至少有”“包括”应解释为“包括但不限于”等。本领域普通技术人员可以进一步理解,若计划介绍特定数量的权利要求内容,将在权利要求内明确表示,并且,在没有这类内容时将不显示。例如,为帮助理解,下面权利要求可能包含短语“至少一个”和“一个或多个”,以介绍权利要求的内容。然而,这些短语的使用不应理解为暗示使用不定冠词“一”或“一个”介绍权利要求内容,而限制了任何特定权利要求的范围。甚至当相同的权利要求包括介绍性短语“一个或多个”或“至少有一个”,不定冠词,例如“一”或“一个”,则应被解释为表示至少一个或者更多,对于用于介绍权利要求的明确描述的使用而言,同样成立。此外,即使明确引用特定数量的介绍性内容,本领域普通技术人员可以认识到,这样的内容应被解释为表示所引用的数量,例如,没有其他修改的“两个引用”,意味着至少两个引用,或两个或两个以上的引用。此外,在使用类似于“A、B和C中的至少一个”的表述的情况下,通常如此表述是为了本领域普通技术人员可以理解该表述,例如,“系统包括A、B和C中的至少一个”将包括但不限于单独具有A的系统,单独具有B的系统,单独具有C的系统,具有A和B的系统,具有A和C的系统,具有B和C的系统,和/或具有A、B和C的系统,等。本领域普通技术人员进一步可理解,无论在说明书中,权利要求中或者附图中,由两个或两个以上的替代术语所表现的任何分隔的单词和/或短语应理解为,包括这些术语中的一个,其中一个,或者这两个术语的可能性。例如,“A或B”应理解为,“A”,或者“B”,或者“A和B”的可能性。
从前述可知,出于说明目的,本发明已描述了各种实施方式,并且在不偏离本发明的范围和精神的情况下,可以进行各种变形。因此,此处所公开的各种实施方式不用于限制,真实的范围和申请由权利要求范围表示。

Claims (20)

1.一种编码方法,包括:
接收将被编码为当前块的视频图像中的像素块;
根据帧内预测设定执行帧内预测操作用于所述当前块,以及产生所述当前块的预测残差,所述帧内预测设定从所述当前块的多个帧内预测模式选择当前帧内预测模式;
将所述当前帧内预测模式映射到目标变换模式,其中所述当前帧内预测模式到所述目标变换模式的映射是根据不同块大小来隐式地定义的;以及
根据所述目标变换模式通过对所述当前块的所述预测残差执行变换操作将所述当前块编码于比特流。
2.如权利要求1所述的编码方法,其特征在于,所述多个帧内预测模式的集合被分配特定变换模式,其中当所述当前帧内预测模式处于所述多个帧内预测模式的所述集合中,所述目标变换模式是所述特定变换模式。
3.如权利要求2所述的编码方法,其特征在于,所述多个帧内预测模式的所述集合是基于左下方向,左方向,左上方向,上方向和右上方向的所述多个帧内预测模式的集合。
4.如权利要求2所述的编码方法,其特征在于,所述多个帧内预测模式的所述集合由固定表达式定义,其中具有不同块大小的不同块有不同的固定表达式用于定义所述多个帧内预测模式的不同集合。
5.如权利要求2所述的编码方法,其特征在于,所述多个帧内预测模式的所述集合由固定表达式定义,其中不同的固定表达式被用于将变换模式分配给不同数值范围的帧内预测模式。
6.如权利要求1所述的编码方法,其特征在于,在所述当前块的最可能模式列表内的帧内预测模式被分配特定变换模式,其中在所述当前块的所述最可能模式列表内的帧内预测模式是基于与所述当前块相邻的块的帧内预测模式定义的。
7.如权利要求1所述的编码方法,其特征在于,用于均匀块纹理的帧内预测模式被映射于特定变换模式。
8.如权利要求1所述的编码方法,其特征在于,所述目标变换模式于所述比特流中不被编码为语法元素,以及其中所述帧内预测设定于所述比特流中被编码为语法元素。
9.如权利要求1所述的编码方法,其特征在于,所述目标变换模式指定水平变换类型和垂直变换类型。
10.一种电子装置,包括编码器电路,其中所述编码器电路执行以下处理:
接收将被编码为当前块的视频图像中的像素块;
根据帧内预测设定执行帧内预测操作用于所述当前块,以及产生所述当前块的预测残差,所述帧内预测设定从所述当前块的多个帧内预测模式选择当前帧内预测模式;
将所述当前帧内预测模式映射到目标变换模式,其中所述当前帧内预测模式到所述目标变换模式的映射是根据不同块大小来隐式地定义的;以及
根据所述目标变换模式通过对所述当前块的所述预测残差执行变换操作将所述当前块编码于比特流。
11.一种解码方法,包括:
接收包括视频图像的当前块的已编码的预测残差的比特流;
根据帧内预测设定从用于所述当前块的多个帧内预测模式确定当前帧内预测模式;
将所述当前帧内预测模式映射到目标变换模式,其中所述当前帧内预测模式到所述目标变换模式的映射是根据不同块大小来隐式地定义的;以及
根据所述目标变换模式通过对所述当前块的所述已编码的预测残差执行逆变换操作以产生所述当前块的预测残差,以及通过基于所述预测残差和根据所述当前帧内预测模式通过执行所述当前块的帧内预测操作产生的所述当前块的预测像素的集合来重构所述当前块,对所述当前块进行解码。
12.如权利要求11所述的解码方法,其特征在于,所述多个帧内预测模式的集合被分配特定变换模式,其中当所述当前帧内预测模式处于所述多个帧内预测模式的所述集合中,所述目标变换模式是所述特定变换模式。
13.如权利要求12所述的解码方法,其特征在于,所述多个帧内预测模式的所述集合是基于左下方向,左方向,左上方向,上方向和右上方向的所述多个帧内预测模式的集合。
14.如权利要求12所述的解码方法,其特征在于,所述多个帧内预测模式的所述集合由固定表达式定义,其中具有不同块大小的不同块有不同的固定表达式,用以定义所述多个帧内预测模式的不同集合。
15.如权利要求12所述的解码方法,其特征在于,所述多个帧内预测模式的所述集合由固定表达式定义,其中不同的固定表达式被用于将变换模式分配给不同数值范围的帧内预测模式。
16.如权利要求11所述的解码方法,其特征在于,在所述当前块的最可能模式列表内的帧内预测模式被分配特定变换模式,其中在所述当前块的所述最可能模式列表内的帧内预测模式是基于与所述当前块相邻的块的帧内预测模式定义的。
17.如权利要求11所述的解码方法,其特征在于,用于均匀块纹理的帧内预测模式被映射于特定变换模式。
18.如权利要求11所述的解码方法,其特征在于,所述目标变换模式位于所述比特流中不被编码为语法元素。
19.如权利要求11所述的解码方法,其特征在于,所述目标变换模式指定水平变换类型和垂直变换类型。
20.一种电子装置,包括解码器电路,其中所述
解码器电路执行以下处理:
接收将被解码为当前块的视频图像中的像素块;
根据帧内预测设定执行帧内预测操作用于所述当前块,以及产生所述当前块的预测残差,所述帧内预测设定从所述当前块的多个帧内预测模式选择当前帧内预测模式;
将所述当前帧内预测模式映射到目标变换模式,其中所述当前帧内预测模式到所述目标变换模式的映射是根据不同块大小来隐式地定义的;以及
根据所述目标变换模式通过对所述预测残差执行变换操作将所述当前块编码于比特流。
CN201980016574.9A 2018-04-13 2019-04-12 一种编码/解码的方法及电子装置 Active CN112042194B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862657100P 2018-04-13 2018-04-13
US62/657,100 2018-04-13
US201862665582P 2018-05-02 2018-05-02
US62/665,582 2018-05-02
US16/382,173 2019-04-11
US16/382,173 US10999604B2 (en) 2018-04-13 2019-04-11 Adaptive implicit transform setting
PCT/CN2019/082537 WO2019196941A1 (en) 2018-04-13 2019-04-12 Adaptive implicit transform setting

Publications (2)

Publication Number Publication Date
CN112042194A CN112042194A (zh) 2020-12-04
CN112042194B true CN112042194B (zh) 2024-04-16

Family

ID=68160069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980016574.9A Active CN112042194B (zh) 2018-04-13 2019-04-12 一种编码/解码的方法及电子装置

Country Status (6)

Country Link
US (1) US10999604B2 (zh)
EP (1) EP3777161A4 (zh)
CN (1) CN112042194B (zh)
BR (1) BR112020020806A8 (zh)
TW (1) TWI692972B (zh)
WO (1) WO2019196941A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072365A1 (en) * 2017-10-09 2019-04-18 Huawei Technologies Co., Ltd. DEVICES AND METHODS FOR IMAGE AND VIDEO ENCODING
US10771778B2 (en) 2018-09-14 2020-09-08 Tencent America LLC Method and device for MPM list generation for multi-line intra prediction
CN113365057B (zh) * 2019-03-09 2023-02-28 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069429A (zh) * 2004-12-03 2007-11-07 三星电子株式会社 用于多层视频编码和解码的方法和设备
WO2009113276A1 (ja) * 2008-03-12 2009-09-17 三菱電機株式会社 画像符号化方式変換装置
CN102763416A (zh) * 2010-01-07 2012-10-31 株式会社东芝 运动图像编码装置以及运动图像解码装置
CN103098473A (zh) * 2010-09-08 2013-05-08 三星电子株式会社 对帧内预测使用自适应dct/dst的低复杂度变换编码
CN103931180A (zh) * 2011-10-24 2014-07-16 码间私人有限公司 图像解码设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308586B (zh) * 2009-02-06 2015-03-25 汤姆森特许公司 用于视频编码器和解码器隐式和半隐式帧内模式信令的方法和装置
US20110090952A1 (en) 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
KR101791242B1 (ko) 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
CN107071437B (zh) 2010-07-02 2019-10-25 数码士有限公司 用于帧内预测的解码图像的方法
CN102857764B (zh) * 2011-07-01 2016-03-09 华为技术有限公司 帧内预测模式处理的方法和装置
CN107835414B (zh) * 2011-10-18 2020-11-06 株式会社Kt 视频信号解码方法
EP2806642B1 (en) * 2012-01-20 2019-04-10 Intellectual Discovery Co., Ltd. Intra prediction mode mapping method and device using the method
US11477477B2 (en) 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
WO2018048265A1 (ko) 2016-09-11 2018-03-15 엘지전자 주식회사 향상된 옵티컬 플로우 움직임 백터를 이용하여 비디오 신호를 처리하는 방법 및 장치
US10880564B2 (en) 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
US20190246134A1 (en) 2018-02-06 2019-08-08 Panasonic Intellectual Property Corporation Of America Encoding method, decoding method, encoder, and decoder
US10567801B2 (en) * 2018-03-07 2020-02-18 Tencent America LLC Method and apparatus for video coding with primary and secondary transforms
US10419754B1 (en) 2018-04-02 2019-09-17 Tencent America LLC Method and apparatus for video decoding using multiple line intra prediction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069429A (zh) * 2004-12-03 2007-11-07 三星电子株式会社 用于多层视频编码和解码的方法和设备
WO2009113276A1 (ja) * 2008-03-12 2009-09-17 三菱電機株式会社 画像符号化方式変換装置
CN102763416A (zh) * 2010-01-07 2012-10-31 株式会社东芝 运动图像编码装置以及运动图像解码装置
CN103024391A (zh) * 2010-01-07 2013-04-03 株式会社东芝 运动图像解码装置以及运动图像解码方法
CN103098473A (zh) * 2010-09-08 2013-05-08 三星电子株式会社 对帧内预测使用自适应dct/dst的低复杂度变换编码
CN103931180A (zh) * 2011-10-24 2014-07-16 码间私人有限公司 图像解码设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Algorithm Description of Joint Exploration Test Model 7 (JEM 7);CHEN,Jianle et al.;Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 7th Meeting: Torino, IT, 13–21 July 2017,JVET-G1001;2.2.1. Intra mode coding with 67 intra prediction modes *

Also Published As

Publication number Publication date
CN112042194A (zh) 2020-12-04
BR112020020806A2 (pt) 2021-01-12
EP3777161A4 (en) 2021-04-28
EP3777161A1 (en) 2021-02-17
US20190320204A1 (en) 2019-10-17
WO2019196941A1 (en) 2019-10-17
TW201944779A (zh) 2019-11-16
US10999604B2 (en) 2021-05-04
TWI692972B (zh) 2020-05-01
BR112020020806A8 (pt) 2023-02-07

Similar Documents

Publication Publication Date Title
CN110546954B (zh) 二次转换相关的方法与电子装置
TWI681671B (zh) 多重轉換預測
CN112042187B (zh) 一种解码方法和编码方法
WO2020038465A1 (en) Coding transform coefficients with throughput constraints
US10887594B2 (en) Entropy coding of coding units in image and video data
US11778235B2 (en) Signaling coding of transform-skipped blocks
US11303898B2 (en) Coding transform coefficients with throughput constraints
CN112042194B (zh) 一种编码/解码的方法及电子装置
CN114747216A (zh) 多重转换选择的发信技术
WO2023241347A1 (en) Adaptive regions for decoder-side intra mode derivation and prediction
WO2024022144A1 (en) Intra prediction based on multiple reference lines
WO2023208063A1 (en) Linear model derivation for cross-component prediction by multiple reference lines
WO2023241340A1 (en) Hardware for decoder-side intra mode derivation and prediction
WO2023198187A1 (en) Template-based intra mode derivation and prediction
WO2023116704A1 (en) Multi-model cross-component linear model prediction
WO2023131299A1 (en) Signaling for transform coding
WO2023217235A1 (en) Prediction refinement with convolution model
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
TW202349953A (zh) 視訊編解碼方法及其裝置
CN116266866A (zh) 视频编解码方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220526

Address after: Chinese Taiwan jhubei City, Hsinchu County Taiwan Yuan Street No. five 3 floor 7

Applicant after: MEDIATEK Inc.

Address before: Hsinchu Science Park Road Taiwan Hsinchu city China Dusing No. 1

Applicant before: MEDIATEK Inc.

GR01 Patent grant
GR01 Patent grant