CN114424575A - 用于视频编解码和解码的装置、方法和计算机程序 - Google Patents

用于视频编解码和解码的装置、方法和计算机程序 Download PDF

Info

Publication number
CN114424575A
CN114424575A CN202080065726.7A CN202080065726A CN114424575A CN 114424575 A CN114424575 A CN 114424575A CN 202080065726 A CN202080065726 A CN 202080065726A CN 114424575 A CN114424575 A CN 114424575A
Authority
CN
China
Prior art keywords
transform
mode
block
bitstream
transform mode
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.)
Pending
Application number
CN202080065726.7A
Other languages
English (en)
Inventor
J·莱内玛
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN114424575A publication Critical patent/CN114424575A/zh
Pending legal-status Critical Current

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/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
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/18Methods 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
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/423Methods 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 characterised by memory arrangements
    • 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

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

用于视频编解码和解码的装置、方法和计算机程序
技术领域
本发明涉及一种用于视频编解码和解码的装置、方法和计算机程序。
背景技术
在视频编解码中,静态图片和视频序列中的图片通常被划分成较小样本块,以便将这些样本块压缩到期望文件大小、比特率或目标质量级别。块中的每个块然后通过空间或时间部件进行预测,并且预测块与原始图像中的对应块之间的剩余错误用残差编解码部件进行编解码。针对编码和解码,图像通常被分成编解码单元,这些编解码单元定义了用于预测和残差编解码的公共分割。编解码单元还能够被划分为一个或多个预测单元,该预测单元包含完整编解码单元或编解码单元的不同部分的样本预测相关信息。类似地,编解码单元能够被划分为一个或多个变换单元或变换块,这些变换单元或变换块包含用于编解码单元的特定区域或组件的残差(或变换)编解码相关信息。
残差编解码部件通常包括将残差块变换到频域、量化所产生的变换系数以及对量化系数进行熵编解码。作为初级变换,能够使用例如DCT(离散余弦变换)或其导数。
所谓的次级变换也能够被应用来进一步提高编解码效率。次级变换通常获取初级变换(例如DCT)的部分输出并且对初级变换的低频系数进行附加变换。在这种情况下,变换系数的最终集合包括已经经过双变换的低频系数和已经经过单变换的高频系数。在一些实现中,高频系数可以被省略,并且当针对变换块启用次级变换时,可以仅用信号通知双变换系数。作为次级变换,例如LFNST(低频非分离变换)或其导数可以被使用。
初级变换的选择和信令通常按变换单元或变换块发生,而次级变换的选择和信令通常针对完整编解码单元发生。编解码单元的次级变换的可用性通常还根据整个编解码单元内的变换系数达到某一频率级别来进行,以避免针对低活动性编解码单元的通常不必要的次级变换信令。这种途径在编解码单元中的不同变换块之间施加限制和依赖性,并且可以导致增加的编码器和解码器侧延时以及次优编解码效率。
发明内容
现在,为了至少缓解以上问题,本文中介绍了用于在编码器和解码器中指示和确定变换模式的增强方法。
提供了一种变换信令机制,其中初级变换的信令可以基于次级变换的使用来执行。可以在变换块中用信号通知最后的变换系数位置之后并且在该变换块中的系数的信令之前进行信令。该设置可以允许视频解码器在对变换块中的系数进行解码之前确定初级变换的类型和次级变换的类型两者,并且跳过对不适用于所选择的初级变换或所选择的初级-次级变换对的系数区域进行解码。
根据第一方面的装置包括至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,该代码在被该至少一个处理器执行时使装置至少执行:
获得变换系数的块;
搜索变换系数的块中按扫描顺序的最后的非零系数的位置;
基于最后的非零系数的位置来选择次级变换模式并且对指示所选择的次级变换模式的第一句法元素进行编码;
基于所选择的次级变换模式来选择初级变换模式并且对指示所选择的初级变换模式的第二句法元素进行编码;以及
对定义块内的变换系数的第三句法元素进行编码。
根据第二方面的方法包括:
获得变换系数的块;
搜索变换系数的块中按扫描顺序的最后的非零系数的位置;
基于最后的非零系数的位置来选择次级变换模式并且对指示所选择的次级变换模式的第一句法元素进行编码;
基于所选择的次级变换模式来选择初级变换模式并且对指示所选择的初级变换模式的第二句法元素进行编码;以及
对定义块内的变换系数的第三句法元素进行编码。
根据第三方面的装置包括至少一个处理器和至少一个存储器,该至少一个存储器在其上存储有代码,该代码在被该至少一个处理器执行时使装置至少执行:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
从比特流中解码变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用最后的系数的位置来确定次级变换模式的指示是否存在于比特流中;
如果次级变换模式的指示存在于比特流中,那么通过对指示次级变换模式的第一句法元素进行解码来确定次级变换模式;
使用所确定的次级变换模式来确定初级变换模式的指示是否存在于比特流中;
如果初级变换模式的指示存在于比特流中,那么通过对指示初级变换模式的第二句法元素进行解码来确定初级变换模式;
对变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的变换模式来选择变换,并且变换应用于变换系数。
根据第四方面的方法包括:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
从比特流中解码变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用搜索结果来确定在比特流中经编码的块的系数是否已经由次级变换进行了变换,并且如果在比特流中编码的块的系数已经由次级变换进行了变换,那么确定次级变换模式;
从比特流中搜索初级变换模式的指示;
使用最后的系数的位置来确定次级变换模式的指示是否存在于比特流中;
如果次级变换模式的指示存在于比特流中,那么通过对指示次级变换模式的第一句法元素进行解码来确定次级变换模式;
使用所确定的次级变换模式来确定初级变换模式的指示是否存在于比特流中;
如果初级变换模式的指示存在于比特流中,那么通过对指示初级变换模式的第二句法元素进行解码来确定初级变换模式;
对变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的变换模式来选择变换,并且变换应用于变换系数。
根据第五方面的装置包括用于以下操作的部件:
获得变换系数的块;
搜索变换系数的块中按扫描顺序的最后的非零系数的位置;
基于最后的非零系数的位置来选择次级变换模式并且对指示所选择的次级变换模式的第一句法元素进行编码;
基于所选择的次级变换模式来选择初级变换模式并且对指示所选择的初级变换模式的第二句法元素进行编码;以及
对定义块内的变换系数的第三句法元素进行编码。
根据第六方面的装置包括用于以下操作的部件:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
从比特流中解码变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用最后的系数的位置来确定次级变换模式的指示是否存在于比特流中;
如果次级变换模式的指示存在于比特流中,那么通过对指示次级变换模式的第一句法元素进行解码来确定次级变换模式;
使用所确定的次级变换模式来确定初级变换模式的指示是否存在于比特流中;
如果初级变换模式的指示存在于比特流中,那么通过对指示初级变换模式的第二句法元素进行解码来确定初级变换模式;
对变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的变换模式来选择变换,并且变换应用于变换系数。
根据第七方面的计算机可读存储介质包括由装置使用的代码,该代码在由处理器执行时使装置执行:
获得变换系数的块;
搜索变换系数的块中按扫描顺序的最后的非零系数的位置;
基于最后的非零系数的位置来选择次级变换模式并且对指示所选择的次级变换模式的第一句法元素进行编码;
基于所选择的次级变换模式来选择初级变换模式并且对指示所选择的初级变换模式的第二句法元素进行编码;以及
对定义块内的变换系数的第三句法元素进行编码。
根据第八方面的计算机可读存储介质包括由装置使用的代码,该代码在由处理器执行时使装置执行:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
从比特流中解码变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用最后的系数的位置来确定次级变换模式的指示是否存在于比特流中;
如果次级变换模式的指示存在于比特流中,那么通过对指示次级变换模式的第一句法元素进行解码来确定次级变换模式;
使用所确定的次级变换模式来确定初级变换模式的指示是否存在于比特流中;
如果初级变换模式的指示存在于比特流中,那么通过对指示初级变换模式的第二句法元素进行解码来确定初级变换模式;
对变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的变换模式来选择变换,并且变换应用于变换系数。
根据第九方面的方法包括:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
确定变换系数的块是否为编解码单元中的第一变换系数的块;
响应于变换系数的块是编解码单元中的第一变换系数的块,从比特流中对次级变换模式进行解码;
应用所确定的次级变换模式来针对编解码单元中的所有变换系数的块选择变换。
根据第十方面的方法包括:
接收比特流,该比特流包括与变换系数的块相关的经编码的信息;
确定变换系数的块是否为编解码单元中具有一个或多个非零变换系数的第一块;
响应于变换系数的块是编解码单元中具有一个或多个非零变换系数的第一块,从比特流中对次级变换模式进行解码;
应用所确定的次级变换模式来为编解码单元中具有一个或多个非零变换系数的所有块选择变换。
如上面所描述,装置和其上存储有代码的计算机可读存储介质因此被布置为执行以上方法和与其相关的实施例中的一个或多个实施例。
附图说明
为了更好地理解本发明,现在将以示例方式参考附图,在附图中:
图1示意性地示出了采用本发明的实施例的电子设备;
图2示意性地示出了适合于采用本发明的实施例的用户装备;
图3还示意性地示出了采用本发明的实施例的、使用无线和有线网络连接而连接的电子设备;
图4示意性地示出了适合于实现本发明的实施例的编码器;
图5图示了根据实施例的能够被用于使用初级和次级变换来对视频和图像进行编码和解码的编码器和解码器结构的示例;
图6图示了在编码和解码方向上的双重变换过程;
图7示出了具有不完全或部分次级变换的双重变换过程;
图8示出了根据本发明的实施例的编码方法的流程图;
图9示出了根据本发明的实施例的解码方法的流程图;
图10图示了大小是8×8的变换块的示例和示例性扫描顺序;
图11示出了适合于实施本发明的实施例的解码器的示意图;以及
图12示出了可以实现各种实施例的示例多媒体通信系统的示意图。
具体实施方式
下面更详细地描述了用于双重变换和逆双重变换的适当装置和可能机制。就此而言,首先参考图1和图2,其中图1示出了根据示例实施例的视频编解码系统的框图,作为示例性装置或电子设备50的示意性框图,该示例性装置或电子设备50可以包含根据本发明的实施例的编解码器。图2示出了根据示例实施例的装置的布局。接下来将解释图1和图2的元件。
电子设备50可以是例如无线通信系统的移动终端或用户装备。然而,应了解,本发明的实施例可以在任何电子设备或装置内被实现,该电子设备或装置可能需要编码和解码或对视频图像进行编码或解码。
装置50可以包括外壳30以用于包含和保护设备。装置50还可以包括呈液晶显示器形式的显示器32。在本发明的其他实施例中,显示器可以是适合于显示图像或视频的任何适当的显示技术。装置50还可以包括键盘34。在本发明的其他实施例中,可以采用任何适当的数据或用户接口机制。例如,用户接口可以被实现为虚拟键盘或数据键入系统,作为触摸敏感显示器的一部分。
装置可以包括麦克风36或可以作为数字或模拟信号输入的任何合适的音频输入。装置50还可以包括音频输出设备,在本发明的实施例中,该音频输出设备可以是以下任一项:耳机38、扬声器或模拟音频或数字音频输出连接。装置50还可以包括电池(或在本发明的其他实施例中,设备可以由任何适当的移动能源设备(诸如太阳能电池、燃料电池或发条发电机)供电)。装置还可以包括能够记录或捕获图像和/或视频的相机。装置50还可以包括用于与其他设备进行短程视线通信的红外端口。在其他实施例中,装置50还可以包括任何适当的短程通信解决方案,诸如(例如)蓝牙无线连接或USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56、处理器或处理器电路系统。控制器56可以被连接到存储器58,在本发明的实施例中,存储器58可以存储呈图像形式的数据和音频数据两者和/或还可以存储用于在控制器56上实现的指令。控制器56还可以被连接到编解码器电路系统54,该编解码器电路系统54适合于进执行音频和/或视频数据的编解码和解码或协助由控制器执行的编解码和解码。
装置50还可以包括用于提供用户信息并且适合于在网络处针对用户的认证和授权提供认证信息的读卡器48和智能卡46,例如UICC和UICC读取器。
装置50可以包括无线电接口电路系统52,该无线电接口电路系统52连接到控制器并且适合于生成无线通信信号,例如以用于与蜂窝通信网络、无线通信系统或无线局域网进行通信。装置50还可以包括连接到无线电接口电路系统52的天线44,以用于向(多个)其他装置发送在无线电接口电路系统52处生成的射频信号并且用于从(多个)其他装置接收射频信号。
装置50可以包括能够记录或检测单独帧的相机,该单独帧然后被传递给编解码器54或控制器以用于处理。装置可以在传输和/或存储之前从另一设备接收视频图像数据以用于处理。装置50还可以无线地或通过有线连接接收图像以用于编解码/解码。上面所描述的装置50的结构元件表示用于执行对应功能的部件的示例。
相对于图3,示出了可能够利用本发明的实施例的系统的示例。系统10包括能够通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如GSM、UMTS、CDMA网络等)、诸如由IEEE 802.x标准中的任何IEEE 802.x标准定义的无线局域网(WLAN)、蓝牙个域网、以太网局域网、令牌环局域网、广域网和互联网。
系统10可以包括适合于实现本发明的实施例的有线和无线通信设备和/或装置50两者。
例如,图3中所示出的系统示出了移动电话网络11和互联网28的表示。与互联网28的连接性可以包括但不限于远程无线连接、短程无线连接以及各种有线连接,包括但不限于电话线、电缆线、电源线和类似通信路径。
系统10中所示出的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)与移动电话14的组合、PDA 16、集成消息传送设备(IMD)18、桌上型计算机20、笔记本计算机22。装置50在由正在移动的个人携带时可以是静止的或移动的。装置50也可以位于运输模式下,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的适当运输模式。
实施例也可以在可以/可以不具有显示或无线能力的机顶盒(即,数字TV接收器)中被实现;在平板或(膝上型)个人计算机(PC)(其具有硬件或软件或编码器/解码器实现的组合)中被实施;在各种操作系统中被实施;并且在提供基于硬件/软件的编解码的芯片集、处理器、DSP和/或嵌入式系统中被实施。
一些或其他装置可以通过与基站24的无线连接25发送和接收呼叫和消息并且与服务提供方通信。基站24可以被连接到允许移动电话网络11与互联网28之间的通信的网络服务器26。系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息传送服务(SMS)、多媒体消息传送服务(MMS)、电子邮件、即时消息传送服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。实现本发明的各种实施例所涉及的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外线、激光、电缆连接和任何适当的连接。
在电信和数据网络中,信道可以是指物理信道或逻辑信道。物理信道可以是指物理传输介质(诸如电线),而逻辑信道可以是指通过能够传送若干逻辑信道的复用介质的逻辑连接。信道可以被用于将信息信号(例如比特流)从一个或若干发送器(或传输器)传送到一个或若干接收器。
在ISO/IEC 13818-1或等效地在ITU-T推荐H.222.0中指定的MPEG-2传输流(TS)是用于在复用流中承载音频、视频和其他媒体以及程序元数据或其他元数据的格式。分组标识符(PID)被用于标识TS内的基本流(又名分组化基本流)。因此,MPEG-2TS内的逻辑信道可以被视为与特定PID值对应。
可用媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC14496-12,其可以被缩写为ISOBMFF)和NAL单元结构化视频的源自于ISOBMFF的文件格式(ISO/IEC 14496-15)。
视频编解码器包括将输入视频变换成适合存储/传输的压缩表示的编码器和能够将压缩后的视频表示解压缩回可视形式的解码器。视频编码器和/或视频解码器也可以彼此分离,即,不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更紧凑的形式(即,以较低比特率)表示视频。
典型混合视频编码器(例如ITU-T H.263和H.264的许多编码器实现)在两个阶段中对视频信息进行编码。首先,特定图片区域(或块)中的像素值例如由运动补偿部件(在先前编解码的视频帧中的一个视频帧中查找并且指示与正在编解码的块密切对应的区域)或空间部件(使用要以指定方式编解码的块周围的像素值)预测。其次,预测错误(即,预测像素块与原始像素块之间的差异)被编解码。这通常通过使用指定变换(例如离散余弦变换(DCT)或其变体)变换像素值的差,量化系数并且对量化系数进行熵编解码来完成。通过改变量化过程的保真度,编码器能够控制像素表示的精度(图片质量)与所产生的编解码视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测源是先前经解码的图片(又名参考图片)。在块内复制(IBC;又名块内复制预测)中,预测与时间预测类似地应用,但参考图片是当前图片,并且在预测过程中只能够参考先前经解码的样本。层间或视图间预测可以与时间预测类似地应用,但参考图片是相应地来自另一可缩放层或来自另一视图的经解码的图片。在一些情况下,帧间预测可以仅指时间预测,而在其他情况下,只要他们以与时间预测相同或类似的过程来进行,帧间预测可以共同指时间预测以及块内复制、层间预测和视图间预测中的任一项。帧间预测或时间预测有时可以被称为运动补偿或运动补偿预测。
能够以全样本或子样本精度进行运动补偿。在全样本精确运动补偿的情况下,运动能够被表示为针对水平和垂直位移具有整数值的运动向量,并且运动补偿过程使用这些位移来从参考图片有效地复制样本。在子样本精确运动补偿的情况下,运动向量由运动向量的水平和垂直分量的分数或十进制值表示。在运动向量是指参考图片中的非整数位置的情况下,通常调用子样本内插过程以基于参考样本和所选择的子样本位置来计算预测样本值。子样本内插过程通常包括:补偿相对于全样本位置的水平偏移的水平滤波,随后是补偿相对于全样本位置的垂直偏移的垂直滤波。然而,在一些环境中,也能够在水平处理之前进行垂直处理。
帧间预测(其可以被称为时间预测、运动补偿或运动补偿预测)减少了时间冗余。在帧间预测中,预测源是先前经解码的图片。帧内预测利用相同图片内的相邻像素有可能相关的事实。帧内预测能够在空间或变换域中进行,即,能够预测样本值或变换系数。帧内预测通常用于帧内编解码,在这种情况下不应用帧间预测。
编解码过程的一个结果是编解码参数集,诸如运动向量和量化变换系数。如果首先根据空间上或时间上邻近的参数预测许多参数,那么能够更高效地对这些参数进行熵编解码。例如,可以根据空间上相邻的运动向量预测运动向量,并且可以仅对相对于运动向量预测器的差异进行编解码。编码参数的预测和帧内预测可以被统称为画中预测。
图4示出了适合于采用本发明的实施例的视频编码器的框图。图4呈现了用于两个层的编码器,但应了解,所呈现的编码器可以类似地扩展为对多于两个层进行编码。图4图示了视频编码器的实施例,该视频编码器包括用于基本层的第一编码器区段500和用于增强层的第二编码器区段502。第一编码器区段500和第二编码器区段502中的每一个可以包括用于对传入图片进行编码的类似元件。编码器区段500、502可以包括像素预测器302、402、预测错误编码器303、403和预测错误解码器304、404。图4还将像素预测器302、402的实施例示出为包括帧间预测器306、406、帧内预测器308、408、模式选择器310、410、滤波器316、416和参考帧存储器318、418。第一编码器区段500的像素预测器302在帧间预测器306(其确定图像与运动补偿参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图片的已经处理的部分来确定图像块的预测)两者处接收要编码的视频流的300个基本层图像。帧间预测器和帧内预测器两者的输出都被传递给模式选择器310。帧内预测器308可以具有多于一种帧内预测模式。因此,每种模式可以执行帧内预测并且将预测信号提供给模式选择器310。模式选择器310还接收基本层图片300的副本。对应地,第二编码器区段502的像素预测器402在帧间预测器406(其确定图像与运动补偿参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图片的已经处理的部分来确定图像块的预测)两者处接收要被编码的视频流的400个增强层图像。帧间预测器和帧内预测器两者的输出都被传递给模式选择器410。帧内预测器408可以具有多于一种帧内预测模式。因此,每种模式可以执行帧内预测并且将预测信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
根据选择哪种编码模式来对当前块进行编码,帧间预测器306、406的输出或可选帧内预测器模式中的一种帧内预测器模式的输出或模式选择器内的表面编码器的输出被传递给模式选择器310、410的输出。模式选择器的输出被传递给第一求和设备321、421。第一求和设备可以从基本层图片300/增强层图片400中减去像素预测器302、402的输出以产生第一预测错误信号320、420,向预测错误编码器303、403输入该第一预测错误信号320、420。
像素预测器302、402还从初步重建器339、439接收图像块312、412的预测表示与预测错误解码器304、404的输出338、438的组合。初步重建图像314、414可以被传递给帧内预测器308、408和滤波器316、416。接收初步表示的滤波器316、416可以对初步表示进行滤波并且输出可以被保存在参考帧存储器318、418中的最终重建图像340、440。参考帧存储器318可以被连接到帧间预测器306以用作参考图像,在帧间预测操作中将未来基本层图片300与该参考图像进行比较。根据一些实施例,受限于基本层被选择并且指示为用于增强层的层间样本预测和/或层间运动信息预测的源,参考帧存储器318也可以被连接到帧间预测器406以用作参考图像,在帧间预测操作中将未来增强层图片400与该参考图像进行比较。而且,参考帧存储器418可以被连接到帧间预测器406以用作参考图像,在帧间预测操作中将未来增强层图片400与该参考图像进行比较。
根据一些实施例,受限于基本层被选择并且指示为用于预测增强层的滤波参数的源,可以将来自第一编码器区段500的滤波器316的滤波参数提供给第二编码器区段502。
预测错误编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测错误信号320、420变换到变换域。变换是例如DCT变换。量化器344、444量化变换域信号(例如DCT系数),以形成量化系数。
预测错误解码器304、404从预测错误编码器303、403接收输出并且执行预测错误编码器303、403的相反处理以产生所解码的预测错误信号338、438,该所解码的预测错误信号338、438在与第二求和设备339、439处的图像块312、412的预测表示组合时产生初步重建图像314、414。预测错误解码器可以被视为包括去量化器361、461和逆变换单元363、463,该去量化器361、461将量化系数值(例如DCT系数)去量化以重建变换信号,该逆变换单元363、463对重建的变换信号进行逆变换,其中逆变换单元363、463的输出包含(多个)重建块。预测错误解码器还可以包括块滤波器,该块滤波器可以根据进一步经解码的信息和滤波器参数对(多个)重建块进行滤波。
熵编码器330、430接收预测错误编码器303、403的输出并且可以对信号进行合适的熵编码/可变长度编码以提供错误检测和校正能力。熵编码器330、430的输出可以例如由复用器508插入比特流中。
熵编解码/解码可以以许多方式进行。例如,基于上下文的编解码/解码可以被应用,其中编码器和解码器两者基于先前编解码/经解码的编解码参数来修改编解码参数的上下文状态。基于上下文的编解码可以是例如上下文自适应二进制算术编解码(CABAC)或基于上下文的可变长度编解码(CAVLC)或任何类似的熵编解码。熵编解码/解码可以备选地或附加地使用可变长度编解码方案(诸如霍夫曼编解码/解码或指数哥伦布编解码/解码)来执行。来自熵编解码比特流或代码字的编解码参数的解码可以被称为解析。
H.264/AVC标准由国际电信联盟电信标准化部(ITU-T)的视频编解码专家组(VCEG)的联合视频组(JVT)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图片专家组(MPEG)开发。H.264/AVC标准由两个母标准化组织发布,并且其被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也被称为MPEG-4第10部分高级视频编解码(AVC)。已经存在将新扩展或特征集成到规范中的H.264/AVC标准的多个版本。这些扩展包括可缩放视频编解码(SVC)和多视图视频编解码(MVC)。
高效视频编解码(H.265/HEVC,又名HEVC)标准的版本1由VCEG和MPEG的视频编解码联合协作组(JCT-VC)开发。该标准由两个母标准化组织发布,并且其被称为ITU-T推荐H.265和ISO/IEC国际标准23008-2,也被称为MPEG-H部分2高级视频编解码(HEVC)。H.265/HEVC的后续版本包括可缩放、多视图、保真度范围、三维和屏幕内容编解码扩展,他们可以相应地被缩写为SHVC、MV-HEVC、REXT、3D-HEVC和SCC。
SHVC、MV-HEVC和3D-HEVC使用在HEVC标准的版本2的附录F中指定的公共基础规范。该公共基础包括例如高级句法和语义,例如指定比特流的层特点中的一些特点,诸如层间依赖性;以及解码过程(诸如参考图片列表构建),包括层间参考图片和多层比特流的图片顺序计数推导。附录F也可以被用于HEVC的潜在后续多层扩展中。应理解,即使视频编码器、视频解码器、编码方法、解码方法、比特流结构和/或实施例可以参考特定扩展(诸如SHVC和/或MV-HEVC)在下面中进行描述,他们通常也适用于HEVC的任何多层扩展,甚至更普遍适用于任何多层视频编解码方案。
多功能视频编解码(VVC)(MPEG-I第3部分),又名ITU-T H.266,是由运动图片专家组(MPEG)的联合视频专家组(JVET)(正式名称为ISO/IEC JTC1 SC29 WG11)和要作为HEVC/H.265的接替物的国际电信联盟(ITU)的视频编解码专家组(VCEG)开发的视频压缩标准。
H.264/AVC和HEVC的一些关键定义、比特流和编解码结构以及概念在本章节中被描述为视频编码器、解码器、编码方法、解码方法和比特流结构的示例,其中实施例可以被实现。H.264/AVC的一些关键定义、比特流和编解码结构以及概念与HEVC中的相同——因此,他们在下面被联合描述。本发明的方面不限于H.264/AVC或HEVC,而是针对一种可能的基础给出描述,在该基础上可以部分地或完全地实现本发明。
与许多较早的视频编解码标准类似,在H.264/AVC和HEVC中指定了无错误比特流的比特流句法和语义以及解码过程。编码过程未被指定,但编码器必须生成一致的比特流。比特流和解码器一致性能够利用假设参考解码器(HRD)来验证。这些标准包含有助于处理传输错误和丢失的编解码工具,但在编码中使用这些工具是可选的,并且尚未为错误的比特流指定解码过程。
分别用于H.264/AVC或HEVC编码器的输入和H.264/AVC或HEVC解码器的输出的基本单元是图片。给定为对编码器的输入的图片也可以被称为源图片,并且由解码器解码的图片可以被称为经解码的图片。
源图片和解码图片分别包括一个或多个样本阵列,诸如以下样本阵列集合中的一个样本阵列集合:
-仅亮度(Y)(单色)。
-亮度和两个色度(YCbCr或YCgCo)。
-绿色、蓝色和红色(GBR,也被称为RGB)。
-表示其他未经指定的单色或三色刺激颜色采样(例如YZX,也被称为XYZ)的阵列。
在H.264/AVC和HEVC中,图片可以是帧或场。帧包括亮度样本和可能对应的色度样本的矩阵。场是帧的交替样本行集合,并且在源信号被隔行扫描时可以用作编码器输入。色度样本阵列可以不存在(因此单色采样可以处于使用中),或与亮度样本阵列相比,色度样本阵列可以被二次采样。色度格式可以被概括如下:
-在单色采样中,只存在一个样本阵列,该样本阵列在名义上可以被视为是亮度阵列。
-在4:2:0采样中,两个色度阵列中的每个色度阵列具有亮度阵列的一半高度和一半宽度。
-在4:2:2采样中,两个色度阵列中的每个色度阵列具有亮度阵列的相同高度和一半宽度。
-在4:4:4采样中,当没有分离的颜色平面处于使用中时,两个色度阵列中的每个色度阵列具有与亮度阵列相同的高度和宽度。
在H.264/AVC和HEVC中,能够将样本阵列作为分离的颜色平面编码为比特流中并且相应地从比特流中对分离的编解码的颜色平面进行解码。当分离的颜色平面处于使用中时,这些分离的颜色平面中的每个分离的颜色平面被分离的处理(由编码器和/或解码器)作为具有单色采样的图片。
分区可以被定义为将集合划分为子集,使得集合的每个元素恰好在子集中的一个子集中。
当描述HEVC编码和/或解码的操作时,以下术语可以被使用。针对某个N值,编解码块可以被定义为N×N个样本块,使得将编解码树块划分为编解码块是分区。针对某个N值,编解码树块(CTB)可以被定义为N×N个样本块,使得将分量划分为编解码树块是分区。编解码树单元(CTU)可以被定义为亮度样本的编解码树块、具有三个样本阵列的图片的色度样本的两个对应编解码树块或单色图片或图片的样本的编解码树块,该单色图片或图片使用三个分离的颜色平面和用于对样本进行编解码的句法结构被编解码。编解码单元(CTU)可以被定义为亮度样本的编解码块、具有三个样本阵列的图片的色度样本的两个对应编解码块或单色图片或图片的样本的编解码块,该单色图片或图片使用三个分离的颜色平面和用于对样本进行编解码的句法结构进行编解码。具有最大允许大小的CU可以被命名为LCU(最大编解码单元)或编解码树单元(CTU),并且视频图片被划分为不重叠的LCU。
CU包括定义用于CU内的样本的预测过程的一个或多个预测单元(PU)和定义用于所述CU中的样本的预测错误编解码过程的一个或多个变换单元(TU)。通常,CU包括正方形的样本块,其大小可从可能CU大小的预定义集合中选择。每个PU和TU还能够被划分成更小的PU和TU,以便相应地增加预测和预测错误编解码过程的颗粒度。每个PU具有与其相关联的预测信息,该预测信息定义要针对该PU内的像素应用何种预测(例如用于帧间预测PU的运动向量信息和用于帧内预测PU的帧内预测方向性信息)。
每个TU能够与描述用于所述TU内的样本的预测错误解码过程的信息(包括例如DCT系数信息)相关联。通常在CU级别用信号通知是否针对每个CU应用预测错误编解码。在不存在与CU相关联的预测错误残差的情况下,能够认为针对该CU不存在所述TU。通常在比特流中用信号通知将图像划分为CU以及将CU划分为PU和TU,从而允许解码器再现这些单元的预期结构。
在HEVC中,图片能够被分成图块,这些图块是矩形的并且包含整数个LCU。在HEVC中,对图块的划分形成规格网格,其中图块的高度和宽度彼此最大相差一个LCU。在HEVC中,切片被定义为一个独立切片段和在相同访问单元内的下一个独立切片段(若存在)之前的所有后续从属切片段(若存在)中所包含的整数个编解码树单元。在HEVC中,切片段被定义为在图块扫描中连续排序并且在单个NAL单元中所包含的整数个编解码树单元。将每个图片划分为切片段是分区。在HEVC中,独立切片段被定义为切片段标头的句法元素的值不是从先前切片段的值推断出的切片段,并且从属切片段被定义为切片段标头的一些句法元素的值是从按解码顺序在前的独立切片段的值中推断出的切片段。在HEVC中,切片标头被定义为独立切片段的切片段标头,该独立切片段是当前切片段或在当前从属切片段之前的独立切片段,并且切片段标头被定义为包含与切片段中表示的第一或所有编解码树单元有关的数据元素的编解码切片段的一部分。如果图块不处于使用中,那么CU在图块内或图片内以LCU的光栅扫描顺序进行扫描。在LCU内,CU具有特定扫描顺序。
解码器通过应用与编码器类似的预测部件来重建输出视频,以形成像素块的预测表示(使用由编码器创建并且存储在压缩表示中的运动或空间信息)和预测错误解码(在空间像素域中恢复量化预测错误信号的预测错误编解码的逆运算)。在应用预测和预测错误解码部件之后,解码器将预测和预测错误信号(像素值)相加以形成输出视频帧。解码器(和编码器)还可以应用附加滤波部件来在传递输出视频以供显示和/或将输出视频存储为视频序列中即将到来的帧的预测参考之前提高输出视频的质量。
滤波可以例如包括以下中的一项或多项:解块、样本自适应偏移(SAO)和/或自适应环路滤波(ALF)。H.264/AVC包括解块,而HEVC包括解块和SAO两者。
在典型视频编解码器中,运动信息用与每个运动补偿图像块(诸如预测单元)相关联的运动向量进行指示。这些运动向量中的每个运动向量表示要被编解码(在编码器侧)或所解码(在解码器侧)的图片中的图像块和先前编解码或解码的图片中的一个图片中的预测源块的位移。为了高效地表示运动向量,这些运动向量通常相对于块特定的预测运动向量进行差分编解码。在典型视频编解码器中,预测运动向量以预定义方式创建,例如计算相邻块的经编码的或经解码的运动向量的中值。创建运动向量预测的另一方式是从时间参考图片中的并且将所选择的候选用信号通知为运动向量预测器的相邻块和/或同位块中生成候选预测列表。除了预测运动向量值之外,还能够预测哪个(些)参考图片被用于运动补偿预测,并且该预测信息可以例如由先前编解码/解码的图片的参考索引表示。参考索引通常是根据时间参考图片中的相邻块和/或同位块来预测的。而且,典型高效视频编解码器采用附加运动信息编解码/解码机制,通常被称为合并(merging/merge)模式,其中所有运动场信息(该运动场信息包括运动向量和每个可用参考图片列表的对应参考图片索引)被预测,并且在没有任何修改/校正的情况下使用。类似地,预测运动场信息是使用时间参考图片中的相邻块和/或同位块的运动场信息来进行的,并且所使用的运动场信息是在运动场候选列表的列表中用信号通知的,该运动场候选列表填充有可用相邻/同位块的运动场信息。
在典型视频编解码器中,运动补偿之后的预测残差首先用变换内核(比如DCT)进行变换,然后进行编解码。这样做的原因是在残差之间通常仍然存在某种相关性,并且变换在许多情况下能够帮助减少这种相关性并且提供更高效的编解码。
典型视频编码器利用拉格朗日成本函数来寻找最佳编解码模式,例如块和相关联的运动向量的期望编解码模式。这种成本函数使用加权因子λ来将由于有损编解码方法而导致的(精确或估计的)图像失真与表示图像区域中的像素值所需的(精确或估计的)信息量联系在一起:
C=D+λR (1)
其中C是要被最小化的拉格朗日成本,D是考虑了模式和运动向量的图像失真(例如均方错误),并且R是表示在解码器中重建图像块的所需数据所需的比特数(包括表示候选运动向量的数据量)。
视频编解码标准和规范可以允许编码器将编解码图片划分为编解码切片等。画中预测通常跨切片边界禁用。因此,切片能够被视为将编解码图片划分成可独立解码的片段的方式。在H.264/AVC和HEVC中,画中预测可以跨切片边界禁用。因此,切片能够被视为将编解码图片分成可独立解码的片段的方式,以及切片通常被视为传输的基本单元。在许多情况下,编码器可以在比特流中指示跨切片边界关闭哪些类型的画中预测,并且解码器操作例如在断定哪些预测源可用时考虑该信息。例如,如果邻近CU位于不同切片中,那么来自邻近CU的样本可以被视为不可用于帧内预测。
分别用于H.264/AVC或HEVC编码器的输出和H.264/AVC或HEVC解码器的输入的基本单元是网络抽象层(NAL)单元。为了通过面向分组的网络传输或存储到结构化文件中,NAL单元可以被封装到分组或类似结构中。在H.264/AVC和HEVC中已经针对不提供帧结构的传输或存储环境指定了字节流格式。字节流格式通过在每个NAL单元前面附接起始码来将NAL单元彼此分开。为了避免NAL单元边界的错误检测,编码器运行面向字节的起始码仿真预防算法,如果起始码将以其他方式出现,那么该算法将仿真预防字节添加到NAL单元有效负载。为了在面向分组的系统与面向流的系统之间实现直接的网关操作,无论字节流格式是否处于使用中,始终都可以进行起始码仿真预防。NAL单元可以被定义为句法结构,该句法结构包含要遵循的数据的类型和字节的指示,该字节包含呈必要时散布有仿真防止字节的RBSP形式的该数据。原始字节序列有效负载(RBSP)可以被定义为包含封装在NAL单元中的整数个字节的句法结构。RBSP是空的或具有数据比特串的形式,该数据比特串包含句法元素,随后是RBSP停止比特,并且随后是零个或多个等于0的后续比特。
NAL单元由标头和有效负载组成。在H.264/AVC和HEVC中,NAL单元标头指示NAL单元的类型。
在HEVC中,两字节NAL单元标头用于所有指定NAL单元类型。NAL单元标头包含一个保留比特、一个六比特NAL单元类型指示、用于时间级别的三比特nuh_temporal_id_plus1指示(可能需要大于或等于1)和六比特nuh_layer_id句法元素。temporal_id_plus1句法元素可以被视为NAL单元的时间标识符,并且基于零的TemporalId变量可以导出如下:TemporalId=temporal_id_plus1–1。缩写TID可以与TemporalId变量互换使用。等于0的TemporalId与最低时间级别相对应。temporal_id_plus1的值必须为非零的,以避免涉及两个NAL单元标头字节的起始码仿真。通过排除具有大于或等于所选择的值的TemporalId的所有VCL NAL单元并且包括所有其他VCL NAL单元创建的比特流保持一致。因此,具有等于tid_value的TemporalId的图片不使用具有大于tid_value的TemporalId的任何图片作为帧间预测参考。子层或时间子层可以被定义为时间可缩放比特流的时间可缩放层(或时间层,TL),其由具有TemporalId变量的特定值的VCL NAL单元和相关联的非VCL NAL单元组成。nuh_layer_id能够被理解为可缩放性层标识符。
NAL单元能够被分类为视频编解码层(VCL)NAL单元和非VCL NAL单元。VCL NAL单元通常是编解码切片NAL单元。在HEVC中,VCL NAL单元包含表示一个或多个CU的句法元素。
非VCL NAL单元可以是例如以下类型中的一种类型:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、比特流结束NAL单元或填充符数据NAL单元。经解码的图片的重建可能需要参数集,而许多其他非VCL NAL单元对于经解码的样本值的重建而言不是必需的。
通过编解码视频序列保持不变的参数可以被包括在序列参数集中。除了解码过程可能需要的参数之外,序列参数集还可以可选地包含视频可用性信息(VUI),该视频可用性信息包括对于缓冲、图片输出定时、渲染和资源预留而言可以重要的参数。在HEVC中,序列参数集RBSP包括能够由一个或多个图片参数集RBSP或包含缓冲周期SEI消息的一个或多个SEI NAL单元参考的参数。图片参数集包含在若干编解码图片中有可能不变的这种参数。图片参数集RBSP可以包括能够由一个或多个编解码图片的编解码切片NAL单元参考的参数。
在HEVC中,视频参数集(VPS)可以被定义为包含句法元素的句法结构,该句法元素适用于零个或多个完整编解码视频序列,如由在SPS中找到的句法元素的内容所确定的,该SPS由在PPS中找到的句法元素参考,该PPS由在每个切片段标头中找到的句法元素参考。
视频参数集RBSP可以包括能够由一个或多个序列参数集RBSP参考的参数。
视频参数集(VPS)、序列参数集(SPS)与图片参数集(PPS)之间的关系和层级结构可以被描述如下。VPS在参数集层级结构中和可缩放性和/或3D视频的上下文中位于SPS之上的一个级别。VPS可以包括对于完整编解码视频序列中的所有(可缩放性或视图)层中的所有切片而言公用的参数。SPS包括对于完整编解码视频序列中的特定(可缩放性或视图)层中的所有切片而言公用的参数,并且可以由多个(可缩放性或视图)层共享。PPS包括对于特定层表示中的所有切片而言公用的参数(一个访问单元中的一个可缩放性或视图层的表示),并且有可能由多层表示中的所有切片共享。
VPS可以提供关于比特流中的层的依赖关系的信息以及适用于完整编解码视频序列中的所有(可缩放性或视图)层中的所有切片的许多其他信息。VPS可以被视为包括两个部分,基本VPS和VPS扩展,其中VPS扩展可以可选地存在。
带外传输、信令或存储能够附加地或备选地被用于除了对传输错误的容限以外的其他目的,诸如易于访问或会话协商。例如,符合ISO基本媒体文件格式的文件中的轨道的样本条目可以包括参数集,而比特流中的编解码数据被存储在文件的其他地方或另一文件中。短语沿着比特流(例如沿着比特流指示)或沿着比特流的编解码单元(例如沿着编解码图块指示)可以在权利要求书和所描述的实施例中用于指以带外数据分别与比特流或编解码单元相关联的方式进行带外传输、信令或存储。短语沿着比特流或沿着比特流的编解码单元等解码可以是指对分别与比特流或编解码单元相关联的所参考的带外数据(其可以从带外传输、信令或存储中获得)进行解码。
SEI NAL单元可以包含一个或多个SEI消息,这些SEI消息对于输出图片的解码不是必需的,但可以协助相关过程,诸如图片输出定时、渲染、错误检测、错误隐藏和资源预留。
编解码图片是图片的编解码表示。
在HEVC中,编解码图片可以被定义为包含图片的所有编解码树单元的图片的编解码表示。在HEVC中,访问单元(AU)可以被定义为NAL单元集合,这些NAL单元根据指定分类规则彼此相关联,这些NAL单元在解码顺序上是连续的,并且至多包含具有nuh_layer_id的任何特定值的一个图片。除了包含编解码图片的VCL NAL单元之外,访问单元还可以包含非VCL NAL单元。该指定分类规则可以例如将具有相同输出时间或图片输出计数值的图片关联到相同访问单元中。
比特流可以被定义为呈NAL单元流或字节流形式的位序列,该位序列形成编解码图片和相关联的数据(其形成一个或多个编解码视频序列)的表示。第一比特流之后可以是相同逻辑信道中的第二比特流,诸如在相同文件中或在通信协议的相同连接中。基本流(在视频编解码的上下文中)可以被定义为一个或多个比特流的序列。第一比特流的结束可以由特定NAL单元指示,该特定NAL单元可以被称为比特流结束(EOB)NAL单元并且是比特流的最后的NAL单元。在HEVC及其当前草案扩展中,EOB NAL单元需要具有等于0的nuh_layer_id。
在H.264/AVC中,编解码视频序列被定义为按解码顺序从IDR访问单元(包括)到下一个IDR访问单元(不包括)或比特流结束的连续访问单元序列,以较早出现的为准。
在HEVC中,编解码视频序列(CVS)可以被定义为例如访问单元序列,按解码顺序,该访问单元序列由如下组成:NoRaslOutputFlag等于1的IRAP访问单元,然后是零个或多个访问单元,这些访问单元不是NoRaslOutputFlag等于1的IRAP访问单元,包括多达所有后续访问单元,但不包括作为NoRaslOutputFlag等于1的IRAP访问单元的任何后续访问单元。IRAP访问单元可以被定义为基本层图片是IRAP图片的访问单元。针对每个IDR图片、每个BLA图片和每个IRAP图片,NoRaslOutputFlag的值等于1,该IRAP图片是比特流中的该特定层中按解码顺序的第一图片,是序列结束NAL单元之后的、在解码顺序中具有nuh_layer_id的相同值的第一IRAP图片。可以存在将HandleCraAsBlaFlag的值从可以控制解码器的外部实体(诸如播放器或接收器)提供到解码器的部件。例如,HandleCraAsBlaFlag可以由播放器设置为1,该播放器在比特流中寻找新位置或调谐到广播并且开始解码,然后从CRA图片开始解码。当针对CRA图片,HandleCraAsBlaFlag等于1时,CRA图片就如同BLA图片一样被处理和解码。
在HEVC中,当特定NAL单元(其可以被称为序列结束(EOS)NAL单元)出现在比特流中并且具有等于0的nuh_layer_id时,编解码视频序列可以附加地或备选地(对于以上规范)被指定为结束。
一组图片(GOP)及其特点可以被定义如下。不论是否对任何先前的图片进行了解码,都能够对GOP进行解码。开放GOP是这样一组图片,其中当解码从开放GOP的初始帧内图片开始时,在输出顺序中在初始帧内图片之前的图片可能无法正确解码。换言之,开放GOP的图片可以是指(在帧间预测中)属于先前GOP的图片。HEVC解码器能够识别开始开放GOP的帧内图片,这是因为特定NAL单元类型,CRA NAL单元类型可以被用于其编解码切片。封闭GOP是这样一组图片,其中当解码从封闭GOP的初始帧内图片开始时,能够对所有图片进行正确地解码。换言之,封闭GOP中没有图片是指先前GOP中的任何图片。在H.264/AVC和HEVC中,封闭GOP可以从IDR图片开始。在HEVC中,封闭GOP也可以从BLA_W_RADL或BLA_N_LP图片开始。由于在选择参考图片时具有更大的灵活性,因此与封闭GOP编解码结构相比,开放GOP编解码结构在压缩方面可能更高效。
解码图片缓冲器(DPB)可以被用于编码器和/或解码器中。存在要缓冲经解码的图片的两个原因,以用于帧间预测中的参考和用于将经解码的图片重新排序为输出顺序。由于H.264/AVC和HEVC为参考图片标记和输出重新排序两者提供了很大的灵活性,因此用于参考图片缓冲和输出图片缓冲的分离的缓冲器可能会浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的统一经解码的图片缓冲过程。当经解码的图片不再用作参考并且不需要进行输出时,可以从DPB移除经解码的图片。
在H.264/AVC和HEVC的许多编解码模式中,用于帧间预测的参考图片利用参考图片列表的索引进行指示。索引可以利用可变长度编解码进行编解码,这通常使较小索引具有对应句法元素的较短值。在H.264/AVC和HEVC中,为每个双预测(B)切片生成两个参考图片列表(参考图片列表0和参考图片列表1),并且为每个帧间编解码(P)切片形成一个参考图片列表(参考图片列表0)。
许多编解码标准(包括H.264/AVC和HEVC)可以具有解码过程以得到参考图片列表的参考图片索引,该参考图片索引可以被用于指示多个参考图片中的哪一个参考图片被用于特定块的帧间预测。参考图片索引可以由编码器编解码到比特流中,或可以在一些其他帧间编解码模式下例如使用邻近块来得到参考图片索引(由编码器和解码器)。
运动参数类型或运动信息可以包括但不限于以下类型中的一种或多种类型:
-预测类型(例如帧内预测、单预测、双预测)和/或参考图片数量的指示;
-预测方向的指示,诸如帧间(又名时间)预测、层间预测、视图间预测、视图合成预测(VSP)和组件间预测(其可以按参考图片和/或按预测类型进行指示,并且在一些实施例中,视图间和视图合成预测可以被联合视为一个预测方向)和/或
-参考图片类型的指示,诸如短期参考图片和/或长期参考图片和/或层间参考图片(其可以例如按参考图片进行指示)
-参考图片列表的参考索引和/或参考图片的任何其他标识符(其可以例如按参考图片进行指示,并且其类型可以取决于预测方向和/或参考图片类型并且可以附有其他相关信息片段,诸如参考索引适用的参考图片列表等);
-水平运动向量分量(其可以例如按预测块或按参考索引等进行指示);
-垂直运动向量分量(其可以例如按预测块或按参考索引等进行指示);
-一个或多个参数(诸如图片顺序计数差异和/或包含运动参数或与运动参数相关联的图片与其参考图片之间的相对相机间隔),其可以被用于一个或多个运动向量预测过程中的水平运动向量分量和/或垂直运动向量分量的缩放(其中所述一个或多个参数可以例如按每个参考图片或每个参考索引等进行指示);
-运动参数和/或运动信息所应用的块的坐标,例如亮度样本单元中的块的左上角样本的坐标;
-运动参数和/或运动信息适用的块的范围(例如宽度和高度)。
可缩放视频编解码可以是指编解码结构,其中一个比特流能够包含内容的多个表示,例如以不同比特率、分辨率或帧速率。在这些情况下,接收器能够根据其特点(例如与显示设备最佳匹配的分辨率)提取期望表示。备选地,服务器或网络元件能够根据例如接收器的网络特点或处理能力提取比特流的要被发送给接收器的部分。能够通过仅对可缩放比特流的特定部分进行解码来产生有意义的经解码的表示。可缩放比特流通常由提供可用的最低质量视频的“基本层”和一个或多个增强层组成,这些增强层在与较低层一起接收和解码时增强视频质量。为了提高增强层的编解码效率,该层的编解码表示通常取决于较低层。例如,能够从较低层预测增强层的运动和模式信息。类似地,较低层的像素数据能够被用于为增强层创建预测。
在一些可缩放视频编解码方案中,视频信号能够被编码到基本层和一个或多个增强层中。增强层可以增强例如时间分辨率(即,帧速率)、空间分辨率或仅提高由另一层或其一部分表示的视频内容的质量。每个层连同其所有从属层是视频信号例如在特定空间分辨率、时间分辨率和质量级别下的一种表示。在本文档中,我们将可缩放层连同其所有从属层称为“可缩放层表示”。能够提取与可缩放层表示对应的可缩放比特流的部分并且对其进行解码以产生原始信号在特定保真度下的表示。
可缩放性模式或可缩放性维度可以包括但不限于以下内容:
-质量可缩放性:基本层图片以比增强层图片更低的质量进行编解码,这可以例如使用基本层中比增强层中更大的量化参数值(即,用于变换系数量化的更大量化步长)来实现。质量可缩放性还可以分类为精细粒度或精细颗粒度可缩放性(FGS)、中等粒度或中等颗粒度可缩放性(MGS)和/或粗粒度或粗颗粒度可缩放性(CGS),如下面所描述。
-空间可缩放性:基本层图片以比增强层图片更低的分辨率(即,具有更少的样本)进行编解码。空间可缩放性和质量可缩放性,特别是其粗粒度可缩放性类型,有时可以被视为是相同类型的可缩放性。
-比特深度可缩放性:基本层图片以比增强层图片(例如10或12比特)更低的比特深度(例如8比特)进行编解码。
-动态范围可缩放性:可缩放层表示使用不同色调映射函数和/或不同光学传递函数获得的不同动态范围和/或图像。
-色度格式可缩放性:与增强层图片(例如4:4:4格式)相比,基本层图片在色度样本阵列(例如以4:2:0色度格式进行编解码)中提供更低的空间分辨率。
-色域可缩放性:增强层图片具有比基本层图片的颜色表示范围更丰富/更广泛的颜色表示范围——例如增强层可以具有UHDTV(ITU-R BT.2020)色域,并且基本层可以具有ITU-R BT.709色域。
-视图可缩放性,其也可以被称为多视图编解码。基本层表示第一视图,而增强层表示第二视图。视图可以被定义为表示一个相机或视点的图片序列。可以认为,在立体或双视图视频中,为左眼呈现一个视频序列或视图,而为右眼呈现平行视图。
-深度可缩放性,其也可以被称为深度增强编解码。比特流的层或一些层可以表示(多个)纹理视图,而其他层或多个层可以表示(多个)深度视图。
-感兴趣区域可缩放性(如下面所描述)
-隔行扫描到逐行扫描可缩放性(也被称为场到帧可缩放性):基本层的编解码隔行扫描源内容材料通过增强层来增强以表示逐行扫描源内容。基本层中的编解码隔行扫描源内容可以包括编解码场、表示场对的编解码帧或他们的混合。在隔行扫描到逐行扫描可缩放性中,可以对基本层图片进行重新采样,使得其成为一个或多个增强层图片的适当参考图片。
-混合编解码器可缩放性(也被称为编解码标准可缩放性):在混合编解码器可缩放性中,在不同视频编解码标准中指定了基本层和增强层的比特流句法、语义和解码过程。因此,基本层图片根据与增强层图片不同的编解码标准或格式进行编解码。例如,基本层可以用H.264/AVC进行编解码,而增强层可以用HEVC多层扩展进行编解码。
应理解,许多可缩放性类型可以组合在一起并且一起应用。例如,色域可缩放性和比特深度可缩放性可以被组合。
术语层可以在任何类型的可缩放性(包括视图可缩放性和深度增强)的上下文中使用。增强层可以是指任何类型的增强,诸如SNR、空间、多视图、深度、比特深度、色度格式和/或色域增强。基本层可以是指任何类型的基本视频序列,诸如基本视图、用于SNR/空间可缩放性的基本层或用于深度增强视频编解码的纹理基本视图。
如上面所描述,视频序列中的静态图片和图片通常被分成更小的样本块,这些样本块由空间或时间部件进行预测,并且预测块与原始图像中的对应块之间的剩余错误用残差编解码部件进行编解码。残差编解码部件通常包括将残差块变换到频域中(使用例如DCT(离散余弦变换)或其导数作为初级变换)、对所产生的变换系数进行量化和对量化系数进行熵编解码。
所谓的次级变换也能够被应用以进一步提高编解码效率。次级变换通常获取初级变换(例如DCT)的输出的一部分并且对初级变换的低频系数进行附加变换。图5图示了能够用于使用初级和次级变换对视频和图像进行编码和解码的编码器530和解码器540结构的示例。编码器530可以实施逻辑来选择期望变换模式:用于初级变换的mts_idx和用于次级变换的lfnst_idx。在比特流中对这些模式进行编码。解码器540然后能够从比特流表示中对相同变换模式进行解码并且将所选择的次级变换和初级变换应用于所解码的变换系数。等于零的次级变换模式lfnst_idx可以表示绕过次级变换并且仅对变换系数进行初级变换。在视频编解码器中也能够绕过初级变换。这能够通过发送用于启用这种变换跳过模式的分离的标记来指示,或该指示能够使用其值中的一个值作为变换绕过模式的指示而被嵌入在初级变换索引mts_idx的信令中。
再次参考图4,其中的变换单元342、442可以被视为包括图5的双重变换编码器530的初级变换单元531和次级变换单元532。类似地,图4中的逆变换单元362、462可以被视为包括图5的双重变换解码器540的逆次级变换单元543和逆初级变换单元544。
对双重变换编码器530的输入通常包括残差样本值,该残差样本值定义视频或图像编码器中的预测样本值与原始样本值之间的差异。这些值经过被称为初级变换531和次级变换532的两个变换过程。所产生的变换系数可以被量化533到期望精度,熵编码534并且输出给比特流536或文件。双重变换解码器540通常从比特流读取经编码的符号,对其进行熵解码541和将其去量化542以变换系数并且进行次级变换543的求逆和初级变换544的求逆。初级变换能够是例如2维DCT或DST,并且次级变换能够是例如非分离的2维变换。
变换选择器535可以执行初级变换模式选择和次级变换模式选择并且准备所选择的变换模式的指示以用信号通知给解码器。根据若干实施例的变换选择器535的操作稍后将在本说明书中进行描述。
现在介绍用于双重变换和逆双重变换过程的改进方法。
图8图示了根据实施例的编码器530的操作的示例。编码方法包括输入(800)残差样本块;确定(801)按扫描顺序的最后的非零系数的位置;基于最后的非零系数的位置来确定(802)次级变换模式;基于次级变换模式来确定(803)初级变换模式;确定(804)变换系数;以及执行(805)初级变换和次级变换。
图9图示了根据实施例的解码器540的操作的示例。解码方法包括接收(900)比特流和对last_pos句法元素进行解码(901)以确定变换块内的最后的系数位置。变换块内的所确定的最后的系数位置用于检查(902)最后的位置是否指示在比特流中用信号通知了lfnst_idx句法元素。如果last_pos在所确定的范围内,那么对lfnst_idx句法元素进行解码(903),并且基于所解码的lfnst_idx句法元素来确定次级变换模式。如果last_pos不在所确定的范围内,那么lfnst_idx句法元素被设置(904)为零或另一预定值,该预定值指示未在比特流中用信号通知lfnst_idx句法元素,并且次级变换模式被确定为不存在。还检查(905)lfnst_idx句法元素的所解码的(903)或设置的(904)值以确定lfnst_idx句法元素是否指示mts_idx信令。如果检查揭示lfnst_idx句法元素指示mts_idx信令,那么mts_idx句法元素被解码(906),并且初级变换模式基于次级变换模式被确定。如果lfnst_idx不在所确定的范围内,那么将lfnst_idx设置(907)为0或另一预定值,该预定值指示初级变换模式被确定为不存在。然后对变换系数进行解码(908),并且所选择的(现有)初级变换和次级变换被选择(909)。
在下文中,将更详细地描述与结合视频或图像编解码器、编码器或解码器用信号通知初级变换模式和次级变换模式相关的一些实施例。
编码器530获得包括用于处理的残差样本的变换块。变换选择器535确定(搜索)变换块中的最后的系数的位置。确定最后的变换系数的位置能够在编码器中通过以下操作来完成:以预定顺序扫描系数并且检查最后的非零系数或满足特定活动标准的另一系数按该扫描顺序在变换块中的位置是什么。例如,该确定可以被执行,使得例如从变换块中的最后的系数开始检查变换块的样本值,并且如果样本值为零,那么检查按反向扫描顺序的先前系数的样本值以确定其是否为零。重复此情形,直到找到第一非零系数为止。该系数在变换块中的地点用作最后的非零系数的指示。地点可以被指示,例如作为坐标(最后的系数的地点的行和列,或作为按扫描顺序或以某种其他方式的系数的顺序编号)。对角线扫描的不同变体可以被用于图像和视频编解码应用中,这是由于将这些变体与块中的最后的非零系数的信令组合可以高效地表示变换块内部的典型系数分布,其中系数通常被打包到扫描的开始和变换块的左上角。在图10中给出这种扫描的示例。在该示例中,针对基于4×4系数组的8×8变换系数的块1200定义扫描,其中组的扫描顺序被定义为从右上角到左下角的对角线,并且系数组内部的扫描顺序也被定义为相同的大致方向。在该示例中,变换块1200中的数字说明了扫描样本的顺序,其从0开始并且继续到63。在该示例中,扫描顺序遵循块的从右上角到左下角的对角线扫描顺序,如用箭头1201所指示。在块内,可以遵循类似扫描顺序,如从图10的示例中能够看出并且利用箭头1202所指示。换言之,首先按从右上角到左下角的对角线扫描顺序扫描左上角的块中的系数,接下来,按从右上角到左下角的对角线扫描顺序扫描右上角的块中的系数,然后扫描左下角的块的系数,最后扫描右下角的块。顾名思义,上面所提及的反向扫描顺序与上面所描述的扫描顺序相反。使用图10的示例,最后的系数被编号为63,先前的系数被编号为62,依此类推。
代替系数的非零值,上面所提及的活动标准还可以是任何种类的活动测量。例如,其能够是阈值,其中代替搜索如上面所解释的第一非零值,搜索可以包括找到具有超过阈值的值(或在可以存在负数值的情况下为绝对值)的第一系数。活动测量也能够是例如非零系数的总数或系数的绝对值之和。
编码器能够在确定最后的非零系数的地点之后对描述该位置的坐标的句法元素进行编码,并且将其输出给比特流。对应解码器然后能够对这些坐标进行解码并且朝向扫描的开始按逆扫描顺序从该地点开始对变换块的非零系数进行解码。换言之,解码器能够对最后的非零系数和变换块的在最后的非零系数之前的其他系数的值进行解码。
当变换块中的最后的非零系数的位置已经被确定时,该位置能够被用于确定次级变换模式。可以存在位置如何影响次级变换模式的若干备选方案。稍后将在本说明书中提供一些示例。
所确定的次级变换模式然后能够用于选择初级变换模式。可以存在次级变换模式如何影响初级变换模式的若干备选方案。稍后将在本说明书中提供一些示例。
当次级变换模式和第一变换模式已经被选择时,变换块的变换系数能够被确定并且基于所述变换系数、所述初级变换模式和所述次级变换模式的变换操作能够被执行。
在视频或图像编码器中,确定次级变换模式能够例如通过以下操作来完成:将不同变换候选应用于预测残差并且选择使给定成本函数最小化的变换候选。这种成本函数能够包含取决于用候选表示变换块、变换单元或编解码单元所需的精确或估计的比特数的项;以及取决于对样本块的精确或估计的重建错误的测量的项。
在视频或图像解码器中,确定次级变换模式能够通过解析指示次级变换模式的句法元素来完成。
确定次级变换模式能够包括编码器和解码器两者中的不同可用性检查;并且在一些条件下次级变换模式的信令和解析能够被省略。例如,能够定义变换块中的最后的系数必须在扫描顺序中的特定范围内,以次级变换信令存在于比特流中。在信令被省略的情况下,能够将次级变换模式确定为例如零或另一指示,其可以被用于指示次级变换针对变换块、变换单元或编解码单元关闭。
在视频或图像编码器中选择初级变换模式能够按照与选择次级变换模式的类似途径(包括测试不同初级变换模式和评估成本函数并且选择使所选择的成本函数最小化的模式)来完成。
在实施例中,确定初级变换模式是基于所确定的次级变换模式来完成的。这可以包括例如在非零次级变换模式被包括在比特流中的情况下省略与初级变换模式相关的一些或所有句法元素的信令。初级变换模式的信令也能够被划分成比特流中的两个或模式部分。例如,用信号通知初级变换和次级变换被绕过的所谓的变换跳过模式能够在用信号通知变换块中的最后的系数的位置之前完成,而用信号通知次级变换模式能够在最后的系数位置信令之后完成,然后是在用信号通知次级变换针对变换块关闭的情况下,用信号通知初级变换。
能够以各种方式确定变换块的变换系数。能够例如使用用于量化系数值的基于上下文的算术编解码以特定扫描顺序或逆扫描顺序用信号通知这些变换系数。在执行逆初级变换操作和/或次级变换操作之前,在比特流中用信号通知的量化系数能够以各种方式被去量化并且缩放。
执行变换操作也能够以不同方式完成。能够例如使用矩阵乘法运算、乘法和加法运算或移位和加法运算或他们的组合来执行变换或逆变换。除了解析次级变换模式和初级变换模式之外,变换矩阵选择还能够包括例如检查变换块的维度、变换块的亮度/色度信道或与变换块、变换单元、预测单元或编解码单元相关联的帧内预测模式的操作和条件。
初级变换能够是指被应用于经解码的变换系数或从解码器中的次级变换输出的变换系数集合的变换。次级变换能够是指被应用于经解码的变换系数并且将输出作为输入馈送到初级变换的变换。初级变换的示例包括离散余弦变换(DCT)和离散正弦变换(DST)系列的变换,其例如用于VVC标准草案中并且使用tu_mts_idx句法元素用信号通知。VVC标准草案还包括被称为低频非分离变换或LFNST的次级变换。启用和用信号通知LFNST次级变换模式是使用根据该草案标准实现的代码中的lfnst_idx句法元素来完成的。
在实施例中,基于使用次级变换来进行初级变换的信令或解码。在变换块中用信号通知最后的变换系数位置或对最后的变换系数位置进行解码之后并且在用信号通知该变换块中的系数或对系数进行解码之前有利地进行信令或解码。该设置允许视频解码器在对变换块中的系数进行解码之前确定初级变换的类型和次级变换的类型两者,并且跳过对不适用于所选择的初级变换或所选择的初级-次级变换对的系数区域进行解码。
在变换块级别执行初级变换信令和次级变换信令两者和解码以及根据所选择的次级变换模式的知识确定初级变换模式时可以存在若干益处。首先,在对整个编解码单元进行编码或解码之后在编解码单元级别用信号通知次级变换模式可以增加实现的延时。例如,在编码器中,亮度分量中的次级变换的可用性标准可以仅在也对编解码单元的色度分量进行编码之后才满足。这可以使编码器设计复杂化并且可以迫使编码器缓冲可以不相关的信息。类似地,在解码器中,只能够在已经对相同编解码单元内的所有色度变换块的句法元素进行了解码之后,亮度变换才能被确定。其次,在使用途径中,首先表示次级变换模式并且能够省略初级变换模式的信令可以是更高效的编解码效率,尤其是在次级变换的使用被限制为初级变换子集的情况下。
句法元素值的不同阈值和范围可以被用于确定特定句法元素是否存在于比特流中。此外,其他参数(诸如用于编解码单元、预测单元、变换单元或块的特定帧内或帧间预测模式的使用)能够被包括在对次级变换或初级变换模式进行解码或编码的决策中。作为示例,以下句法结构能够被用于表示比特流句法:
Figure BDA0003553052060000351
Figure BDA0003553052060000361
用于次级变换指示lfnstGenericConditions的通用条件能够包括例如将变换块的维度与阈值进行比较。例如,其能够包括将变换块的宽度和高度的最小值与值4或2进行比较。除了通用条件之外,解析次级变换模式lfnst_idx的条件可以包括检查变换块中的最后的系数位置。也通过定义lfnstLastPosConditions变量来在句法表中给出该情形的示例,该lfnstLastPosConditions变量是基于变换块的最后的扫描位置lastScanPos来计算的。这些条件分离的或一起能够被称为次级变换可用性条件。
类似地,对初级变换模式mts_idx进行解码的条件可以包括通用条件mtsGenericConditions,诸如变换块的最小或最大维度。除了通用条件之外,所指示的lfnst_idx可以被包括在mts_idx句法元素的可用性检查中。在以上示例中,lfnst_idx需要等于零以启用对mts_idx的解析。
这些条件分离的或一起能够被称为初级变换指示条件。
次级变换模式lfnst_idx的指示能够在一个变换块内完成,但该指示的效果能够覆盖多个变换块。例如,在包含亮度和色度变换块的单树编解码单元的情况下,能够使用亮度变换块的次级变换可用性条件来针对该亮度变换块确定lfnst_idx。然后,所指示的lfnst_idx也能够用作相同编解码单元或变换单元内的色度变换块的次级变换模式。
在亮度分量被分离成其自身的编解码结构并且色度分量被分离成另一编解码结构的双树编解码的情况下,能够基于用于该亮度块的次级变换可用性条件来确定亮度变换块的lfnst_idx。当涉及色度变换块时,能够通过在具有非零变换系数的第一色度变换块中包括次级变换可用性条件来为两个色度块指示联合lfnst_idx。这能够例如在通用次级变换可用性条件lfnstGenericConditions中使用以下附加条件来实施:
Figure BDA0003553052060000362
Figure BDA0003553052060000371
其中cIdx等于零是指亮度变换块,cIdx等于一是指第一色度变换块,treeType等于DUAL_TREE_CHROMA是指具有分离的亮度和色度树以及属于色度树的变换块的双树编解码,并且tu_cbf_cb等于零是指第一色度变换块仅具有零值系数。
也能够在编解码单元级别指示次级变换模式lfnst_idx和初级变换模式mts_idx。在那种情况下,用于次级变换指示的可用性条件可以仅使用该编解码单元内的亮度变换块或亮度块的最后的系数位置指示lastScanPos并且在单树编解码的情况下和在双树亮度编解码的情况下省略色度变换块的最后的系数位置指示。在双树色度编解码的情况下,次级变换可用性条件可以包括用于具有非零系数的第一色度变换块的最后的系数位置指示lastScanPos。
对不同句法元素进行编码和解码的顺序可以取决于比特流中的更高级别的信令。这种信令可以例如发生在视频比特流中或比特流外部的不同参数集或标头中,并且可以包括禁用或启用所有或一些初级变换模式和次级变换模式。例如,根据这种信令,如果已经针对所有或部分比特流禁用了次级变换,那么可以在最后的系数指示符之前对初级变换指示符进行解码;如果已经针对所有或部分比特流启用了次级变换,那么可以在次级变换指示符之后对初级变换指示符进行解码。
图6展示了根据途径的双重变换过程。块A图示了残差样本块。块B图示了初级变换基中的变换系数的块(在编码方向上的初级变换之后并且在解码方向上的初级变换之前)。块C图示了次级变换基中的变换系数的块(在编码方向上的次级变换之后并且在解码方向上的次级变换之前)。次级变换通常应用于变换系数的左上角,其通常与输入信号中的低频内容对应。块C中的区域D描绘了这种双变换区域或双重变换区域。然而,块C中的区域S描绘了已经经历了单个变换阶段的区域。根据处理方向,初级变换和次级变换在此处能够指变换的正向或逆向变体。
图7图示了具有不完全或部分次级变换的双重变换过程。在这种情况下,当次级变换在正向方向上应用时,次级变换获取在标有D、Z0和Z1的区域中的初级变换系数,并且输出在D的区域中的非零值。当这种次级变换应用于逆向方向时,区域D中的系数被用作输入并且逆次级变换能够输出在所有区域D、Z0和Z1中的系数,因此填充初级变换的区域。
次级变换被用于残差编解码,例如在2017年7月,IT,都灵,JVET-G1001“联合探索测试模式7(JEM 7)的算法描述(Algorithm Description of Joint Exploration TestModel 7(JEM 7))”中所公开的JEM探索模型(模式相关的非分离次级变换,MDNSST)中和在2019年4月,CH,日内瓦,JVET-N1001“多功能视频编解码(草案5)(Versatile Video Coding(Draft 5))”中所公开的VVC标准草案(低频非分离变换,LFNST)的VTM参考实施方式中。
在这些情况下,在编码器中的初级变换之后并且类似地在解码器中的初级变换之前,在4×4或8×8低频区域内应用次级变换。在这两种情况下,变换系数的最终集合包括已经经过双变换的低频系数和已经经过单变换的高频系数。这种选择可能并非在所有场景中都是理想的。
方法和相关实施例能够以不同方式实施。例如,能够改变上面所描述的操作的顺序,或操作能够以不同方式交错。此外,能够在处理的不同阶段应用不同附加操作。例如,可以存在应用于所描述的操作的最终或中间结果的附加滤波、缩放、映射或其他处理。上面所描述的操作的最终或中间结果也可以进一步与其他操作的结果组合。
图11示出了适合于采用本发明的实施例的视频解码器的框图。图11描绘了两层解码器的结构,但应了解,解码操作可以类似地被用于单层解码器中。
视频解码器550包括用于基本层的第一解码器区段552和用于预测层的第二解码器区段554。块556说明了用于将关于基本层图片的信息传递给第一解码器区段552和用于将关于预测层图片的信息传递给第二解码器区段554的解复用器。参考P'n代表图像块的预测表示。参考D'n代表重建预测错误信号。块704、804说明初步重建图像(I'n)。参考R’n代表最终重建图像。块703、803说明逆变换(T-1)。块702、802说明逆量化(Q-1)。块701、801说明熵解码(E-1)。块705、805说明参考帧存储器(RFM)。块706、806说明预测(P)(帧间预测或帧内预测)。块707、807说明滤波(F)。块708、808可以被用于将所解码的预测错误信息与预测基本层/预测层图像组合以获得初步重建图像(I'n)。初步重建和滤波的基本层图像可以从第一解码器区段552输出709,并且初步重建和滤波的基本层图像可以从第一解码器区段554输出809。
在本文中,解码器应被解释为涵盖能够执行解码操作的任何操作单元,诸如播放器、接收器、网关、解复用器和/或解码器。
作为另一方面,提供了一种装置,包括:至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,该代码在由所述至少一个处理器执行时使装置至少执行:对与变换块相关联的变换系数集合进行解码;确定双重变换是否被应用于该变换块以及是否是肯定的;对经解码的变换系数集合执行第一变换并且生成第一输出值集合;使用该第一输出值集合作为对该第二变换的输入来执行第二变换并且生成第二输出值集合;以及使用第二输出值集合作为双重变换的输出。
这种装置还包括存储在所述至少一个存储器中的代码,该代码在由所述至少一个处理器执行时使装置执行本文中所公开的实施例中的一个或多个实施例。
图12是可以实现各种实施例的示例多媒体通信系统的图形表示。数据源1510以模拟、未压缩数字或压缩数字格式或这些格式的任何组合提供源信号。编码器1520可以包括预处理(诸如源信号的数据格式转换和/或滤波)或与之连接。编码器1520将源信号编码成编解码媒体比特流。应当注意,可以直接或间接地从位于几乎任何类型的网络内的远程设备接收要解码的比特流。附加地,可以从本地硬件或软件接收比特流。编码器1520可能能够对多于一种媒体类型(诸如音频和视频)进行编码,或可能需要多于一个编码器1520来对不同媒体类型的源信号进行编解码。编码器1520也可以获得合成产生的输入,诸如图形和文本,或其可能能够产生合成媒体的编解码比特流。在下文中,仅考虑一种媒体类型的一个编解码媒体比特流的处理来简化描述。然而,应注意,通常实时的广播服务包括若干流(通常至少一个音频、视频和文本字幕流)。还应注意,系统可以包括许多编码器,但在图中仅表示了一个编码器1520以在不缺乏一般性的情况下简化描述。还应理解,尽管本文中所包含的文字和示例可以具体描述编码过程,但本领域的技术人员应理解,相同概念和原理也应用于对应解码过程,并且反之亦然。
可以将编解码媒体比特流传递给存储装置1530。存储装置1530可以包括任何类型的海量存储器以存储编解码媒体比特流。存储装置1530中的编解码媒体比特流的格式可以是基本的自包含比特流格式,或一个或多个编解码媒体比特流可以被封装到容器文件中,或编解码媒体比特流可以被封装到适合于DASH(或类似流式传输系统)的段格式中并且作为段序列进行存储。如果一个或多个媒体比特流被封装在容器文件中,那么文件生成器(图中未示出)可以被用于将多于一个媒体比特流存储在文件中并且创建文件格式元数据,该文件格式元数据也可以被存储在文件中。编码器1520或存储装置1530可以包括文件生成器,或文件生成器可操作地附接到编码器1520或存储装置1530。一些系统“实况”运行,即,省略存储并且将编解码媒体比特流从编码器1520直接传递给发送器1540。然后可以根据需要将编解码媒体比特流传递给也被称为服务器的发送器1540。传输中所使用的格式可以是基本的自包含比特流格式、分组流格式、适合于DASH(或类似流式传输系统)的段格式,或一个或多个编解码媒体比特流可以被封装到容器文件中。编码器1520、存储装置1530和服务器1540可以驻留在相同的物理设备中,或他们可以被包括在分离的设备中。编码器1520和服务器1540可以利用实况的实时内容操作,在这种情况下,编解码媒体比特流通常不被永久存储,而是在内容编码器1520中和/或服务器1540中缓冲一小段时间,以平滑处理延迟、传递延迟和编解码媒体比特率的变化。
服务器1540使用通信协议栈发送编解码媒体比特流。栈可以包括但不限于以下一项或多项:实时传输协议(RTP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、传输控制协议(TCP)和互联网协议(IP)。当通信协议栈是面向分组的时,服务器1540将编解码媒体比特流封装成分组。例如,当使用RTP时,服务器1540根据RTP有效负载格式将编解码媒体比特流封装成RTP分组。通常,每种媒体类型都具有专用RTP有效载荷格式。同样,应当注意,系统可以包含多于一个服务器1540,但出于简单起见,以下描述仅考虑一个服务器1540。
如果媒体内容被封装在用于存储装置1530或用于向发送器1540输入数据的容器文件中,那么发送器1540可以包括或可操作地被附接到“发送文件解析器”(图中未示出)。具体地,如果容器文件不是如此发送的,而是封装所包含的编解码媒体比特流中的至少一个编解码媒体比特流以通过通信协议进行传输,那么发送文件解析器定位要通过通信协议传送的编解码媒体比特流的适当部分。发送文件解析器还可以帮助为通信协议创建正确格式,诸如分组标头和有效负载。多媒体容器文件可以包含封装指令(诸如ISOBMFF中的提示轨道),以用于在通信协议上封装所包含的媒体比特流中的至少一个媒体比特流。
服务器1540可以或可以不通过通信网络连接到网关1550,该通信网络可以是例如CDN、互联网和/或一个或多个接入网络的组合。网关还可以或备选地被称为中间盒。针对DASH,网关可以是(CDN的)边缘服务器或web代理。应注意,系统通常可以包括任何数量的网关等,但出于简单起见,以下描述仅考虑一个网关1550。网关1550可以执行不同类型的功能,诸如根据一个通信协议栈将分组流转化为另一通信协议栈、数据流的合并和分叉以及根据下行链路和/或接收器能力对数据流进行操控,诸如根据现存下行链路网络条件控制转发流的比特率。在各种实施例中,网关1550可以是服务器实体。
该系统包括一个或多个接收器1560,该接收器1560通常能够接收所发送的信号、解调所发送的信号和将所发送的信号解封装到编解码媒体比特流中。可以将编解码媒体比特流传递给记录存储装置1570。记录存储装置1570可以包括任何类型的海量存储器以存储编解码媒体比特流。记录存储装置1570可以备选地或附加地包括计算存储器,诸如随机存取存储器。记录存储装置1570中的编解码媒体比特流的格式可以是基本的自包含比特流格式,或一个或多个编解码媒体比特流可以被封装到容器文件中。如果存在彼此相关联的多个编解码媒体比特流(诸如音频流和视频流),那么容器文件通常被使用,并且接收器1560包括或被附接到容器文件生成器,该容器文件生成器从输入流中产生容器文件。一些系统“实况”运行,即,省略记录存储装置1570并且将编解码媒体比特流从接收器1560直接传递给解码器1580。在一些系统中,仅记录流的最近部分(例如记录流的最近10分钟的选录)被维持在记录存储装置1570中,而从记录存储装置1570中丢弃任何较早记录的数据。
编解码媒体比特流可以从记录存储装置1570传递到解码器1580。如果存在彼此相关联的并且封装到容器文件中的许多编解码媒体比特流(诸如音频流和视频流)或单个媒体比特流被封装在容器文件中例如以便更容易地访问,那么文件解析器(图中未显示)被用于从容器文件中解封装每个编解码媒体比特流。记录存储装置1570或解码器1580可以包括文件解析器,或文件解析器被附接到记录存储装置1570或解码器1580。还应当注意,系统可以包括许多解码器,但此处仅讨论一个解码器1570以在不缺乏一般性的情况下简化描述。
编解码媒体比特流可以由解码器1570进一步处理,该解码器1570的输出是一个或多个未压缩媒体流。最后,例如,渲染器1590可以利用扩音器或显示器再现未压缩媒体流。接收器1560、记录存储装置1570、解码器1570和渲染器1590可以驻留在相同物理设备中,或他们可以被包括在分离的设备中。
发送器1540和/或网关1550可以被配置为执行不同表示之间的切换,例如以用于在360度视频内容的不同视口之间切换、视图切换、比特率适配和/或快速启动,和/或发送器1540和/或网关1550可以被配置为选择(多种)发送表示。不同表示之间的切换可以针对多种原因而发生,诸如以对接收器1560的请求或传送比特流的网络的现存条件(诸如吞吐量)作出响应。换言之,接收器1560可以发起表示之间的切换。来自接收器的请求能够是例如对来自与先前不同的表示的段或子段的请求、对所发送的可缩放性层和/或子层的改变的请求或对与先前能力相比具有不同能力的渲染设备的改变的请求。对段的请求可以是HTTP GET请求。对字段的请求可以是具有字节范围的HTTP GET请求。附加地或备选地,比特率调整或比特率适配可以被用于例如在流式传输服务中提供所谓的快速启动,其中发送流的比特率在开始或随机访问流式传输之后低于信道比特率,以便立即开始回放并且达到容许偶尔的分组延迟和/或重传的缓冲器占用级别。比特率适配可以包括以各种顺序发生的多个表示或层上切换和表示或层下切换操作。
解码器1580可以被配置为执行不同表示之间的切换,例如以用于在360度视频内容的不同视口之间切换、视图切换、比特率适配和/或快速启动,和/或解码器1580可以被配置为选择(多种)所发送的表示。不同表示之间的切换可以由于多种原因而发生,诸如以实现更快的解码操作或适应所发送的比特率,例如就比特率而言,针对传送比特流的网络的现存条件(诸如吞吐量)。例如,如果包括解码器1580的设备是多任务的并且将计算资源用于除了对视频比特流进行解码以外的其他目的,那么可能需要更快的解码操作。在另一示例中,当以比正常回放速度更快的节奏(例如比常规实时回放速率快两倍或三倍)回放内容时,可能需要更快的解码操作。
在上文中,已经参考和/或使用HEVC的术语描述了一些实施例。需要理解,可以用任何视频编码器和/或视频解码器类似地实现实施例。
在上文中,在已经参考编码器描述了示例实施例的情况下,需要理解,所产生的比特流和解码器可以在其中具有对应元素。同样,在已经参考解码器描述了示例实施例的情况下,需要理解,编码器可以具有用于生成要由解码器解码的比特流的结构和/或计算机程序。例如,已经描述了与生成预测块作为编码的一部分相关的一些实施例。实施例能够类似地通过生成预测块作为解码的一部分来实现,不同之处在于,编解码参数(诸如水平偏移和垂直偏移)是从比特流中解码的,而不是由编码器确定的。
上面所描述的本发明的实施例根据分离的编码器和解码器装置来描述编解码器,以便协助理解所涉及的过程。然而,应了解,装置、结构和操作可以被实现为单个编码器-解码器装置/结构/操作。此外,可能的是,编码器和解码器可以共享一些或所有公共元素。
尽管以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但应了解,如权利要求书中所限定的本发明可以被实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以被实现在视频编解码器中,该视频编解码器可以通过固定和有线通信路径实现视频编解码。
因此,用户装备可以包括视频编解码器,诸如上述发明的实施例中所描述的视频编解码器。应了解,术语用户装备旨在涵盖任何适当类型的无线用户装备,诸如移动电话、便携式数据处理设备或便携式web浏览器。
此外,公共陆地移动网络(PLMN)的元素还可以包括如上面所描述的视频编解码器。
一般而言,本发明的各种实施例可以利用硬件或专用电路、软件、逻辑或其任何组合来实现。例如,一些方面可以利用硬件来实施,而其他方面可以利用固件或软件来实现,该固件或软件可以由控制器、微处理器或其他计算设备执行,但本发明不限于此。虽然可以将本发明的各个方面图示和描述为框图、流程图或使用一些其他图形表示,但应该很好地理解,本文中所描述的这些框、装置、系统、技术或方法可以作为非限制性示例实现在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合中。
本发明的实施例可以由计算机软件或硬件或软件与硬件的组合实现,该计算机软件由移动设备(诸如在处理器实体中)的数据处理器可执行。进一步地,就此而言,应注意,如图中的逻辑流程的任何框可以表示程序步骤,或互连逻辑电路、框和功能,或程序步骤与逻辑电路、框与功能的组合。软件可以被存储在诸如存储器芯片或在处理器内实现的存储器块的物理介质、磁性介质(诸如硬盘或软盘)和光学介质(诸如(例如)DVD及其数据变体CD)上。
存储器可以是适合于本地技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现存储器,诸如基于半导体的存储器设备、磁性存储器设备和系统、光学存储器设备和系统、固定存储器和可移除存储器。数据处理器可以是适合于本地技术环境的任何类型,并且可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一项或多项作为非限制性示例。
可以在各种组件(诸如集成电路模块)中实践本发明的实施例。集成电路的设计基本上是高度自动化的过程。复杂并且强大的软件工具可用于将逻辑级设计转换为准备在半导体衬底上蚀刻和形成的半导体电路设计。
程序(诸如由加利福尼亚州,山景城的Synopsys公司和加利福尼亚州,圣何塞的Cadence Design提供的程序)使用完善的设计规则以及预先存储的设计模块库来对导体进行自动布线并且将组件定位在半导体芯片上。一旦已经完成了半导体电路的设计,可以将呈标准化电子格式(例如Opus、GDSII等)的所得设计发送给半导体制造设施或“fab”以进行制造。
前述描述已经由示例性和非限制性示例提供了对本发明的示例性实施例的完整并且信息量大的描述。然而,鉴于前述描述,在结合附图和随附权利要求书阅读时,各种修改和变更对于相关领域的技术人员而言可以变得显然。然而,本发明的教导的所有这些修改和类似修改仍将落入本发明的范围内。

Claims (19)

1.一种装置,包括至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
获得变换系数的块;
搜索所述变换系数的块中按扫描顺序的最后的非零系数的位置;
基于所述最后的非零系数的所述位置来选择次级变换模式,并且对指示所选择的所述次级变换模式的第一句法元素进行编码;
基于所选择的所述次级变换模式来选择初级变换模式,并且对指示所选择的所述初级变换模式的第二句法元素进行编码;以及
对定义所述块内的所述变换系数的第三句法元素进行编码。
2.根据权利要求1所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
如果所述最后的非零系数的所述位置在所述块中的所述扫描顺序的特定范围内,那么对指示所述次级变换模式的所述第一句法元素进行编码。
3.根据权利要求1或2所述的装置,所述至少一个存储器在其上存储有代码,所述代码在被所述至少一个处理器执行时使所述装置通过以下操作来选择所述初级变换模式或所述次级变换模式:
测试不同变换模式;
评估所测试的所述不同变换模式的成本函数;以及
选择使所选择的所述成本函数最小化的所述变换模式。
4.根据权利要求1至3中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
在非零次级变换模式被包括在比特流中的情况下省略与所述初级变换模式相关的一些或所有句法元素的信令。
5.根据权利要求1至4中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
在用信号通知所述变换块中的所述最后的非零系数的所述位置之前,用信号通知在初级变换和次级变换两者被绕过时的变换跳过模式。
6.根据权利要求1至5中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
用信号通知所述最后的非零系数的所述位置;以及
在用信号通知所述最后的系数的所述位置之后,用信号通知指示所选择的所述次级变换模式的所述第一句法元素。
7.根据权利要求1至6中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
用信号通知所述次级变换针对所述变换块要被关闭;
在用信号通知指示所选择的所述次级变换模式的所述第一句法元素之后,用信号通知指示所选择的所述初级变换模式的所述第二句法元素。
8.根据权利要求1至7中任一项所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置执行:
在用信号通知指示所选择的所述初级变换模式的所述第二句法元素之后,用信号通知定义所述变换块的所述系数的句法元素。
9.一种方法,包括:
获得变换系数的块;
搜索所述变换系数的块中按扫描顺序的最后的非零系数的位置;
基于所述最后的非零系数的所述位置来选择次级变换模式,并且对指示所选择的所述次级变换模式的第一句法元素进行编码;
基于所选择的所述次级变换模式来选择初级变换模式,并且对指示所选择的所述初级变换模式的第二句法元素进行编码;以及
对定义所述块内的所述变换系数的第三句法元素进行编码。
10.根据权利要求9所述的方法,还包括:
如果所述最后的非零系数的所述位置在所述块中的所述扫描顺序的特定范围内,那么对指示所述次级变换模式的所述第一句法元素进行编码。
11.根据权利要求9或10所述的方法,还包括:
在非零次级变换模式被包括在比特流中的情况下省略与所述初级变换模式相关的一些或所有句法元素的信令。
12.根据权利要求9至11中任一项所述的方法,还包括:
在用信号通知所述变换块中的所述最后的非零系数的所述位置之前,用信号通知在初级变换和次级变换两者被绕过时的变换跳过模式。
13.根据权利要求9至12中任一项所述的方法,还包括:
用信号通知所述最后的非零系数的所述位置;以及
在用信号通知所述最后的系数的所述位置之后,用信号通知指示所选择的所述次级变换模式的所述第一句法元素。
14.一种装置,包括:
至少一个处理器和至少一个存储器,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置至少执行:
接收比特流,所述比特流包括与变换系数的块相关的经编码的信息;
从所述比特流解码所述变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用所述最后的系数的所述位置来确定次级变换模式的指示是否存在于所述比特流中;
如果次级变换模式的指示存在于所述比特流中,那么通过对指示所述次级变换模式的第一句法元素进行解码来确定所述次级变换模式;
使用所确定的所述次级变换模式来确定初级变换模式的指示是否存在于所述比特流中;
如果初级变换模式的指示存在于所述比特流中,那么通过对指示所述初级变换模式的第二句法元素进行解码来确定所述初级变换模式;
对所述变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的所述变换模式来选择变换,并且将所述变换应用于所述变换系数。
15.根据权利要求14所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置:
省略对不适用于所确定的初级变换或所确定的初级-次级变换对的系数区域进行解码。
16.根据权利要求14或15所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置:
将所述初级变换和次级变换中的至少一项应用于所述变换块之后的一个或多个变换块,所述变换块包括指示所述初级变换模式和所述次级变换模式中的至少一项的指示。
17.根据权利要求14、15或16所述的装置,所述至少一个存储器在其上存储有代码,所述代码在由所述至少一个处理器执行时使所述装置:
只有在预定条件被满足时才从所述比特流解码初级变换模式的所述指示。
18.根据权利要求17所述的装置,其中所述预定条件包括以下中的一项:
所述变换块的最小维度;
所述变换块的最大维度。
19.一种方法,包括:
接收比特流,所述比特流包括与变换系数的块相关的经编码的信息;
从所述比特流解码所述变换系数的块中按扫描顺序的最后的非零系数的位置的指示;
使用所述最后的系数的所述位置来确定次级变换模式的指示是否存在于所述比特流中;
如果次级变换模式的指示存在于所述比特流中,那么通过对指示所述次级变换模式的第一句法元素进行解码来确定所述次级变换模式;
使用所确定的所述次级变换模式来确定初级变换模式的指示是否存在于所述比特流中;
如果初级变换模式的指示存在于所述比特流中,那么通过对指示所述初级变换模式的第二句法元素进行解码来确定所述初级变换模式;
对所述变换系数进行解码;以及
如果存在所确定的变换模式,则应用所确定的所述变换模式来选择变换,并且将所述变换应用于所述变换系数。
CN202080065726.7A 2019-09-20 2020-09-09 用于视频编解码和解码的装置、方法和计算机程序 Pending CN114424575A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962903116P 2019-09-20 2019-09-20
US62/903,116 2019-09-20
PCT/EP2020/075191 WO2021052832A1 (en) 2019-09-20 2020-09-09 An apparatus, a method and a computer program for video coding and decoding

Publications (1)

Publication Number Publication Date
CN114424575A true CN114424575A (zh) 2022-04-29

Family

ID=72470366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080065726.7A Pending CN114424575A (zh) 2019-09-20 2020-09-09 用于视频编解码和解码的装置、方法和计算机程序

Country Status (10)

Country Link
US (1) US20220295104A1 (zh)
EP (1) EP4032306A1 (zh)
JP (1) JP7390477B2 (zh)
KR (1) KR20220061245A (zh)
CN (1) CN114424575A (zh)
BR (1) BR112022005047A2 (zh)
CA (1) CA3151584C (zh)
MX (1) MX2022003287A (zh)
WO (1) WO2021052832A1 (zh)
ZA (1) ZA202204197B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2022011463A (es) 2020-03-21 2022-10-07 Beijing Bytedance Network Tech Co Ltd Combinacion de subimagenes y escalabilidad.
JP7525639B2 (ja) 2020-04-19 2024-07-30 北京字節跳動網絡技術有限公司 変換スキップ残差コーディング
KR20230025791A (ko) 2020-06-20 2023-02-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 상이한 코딩 블록 크기를 이용한 계층간 예측
WO2022205313A1 (zh) * 2021-04-01 2022-10-06 深圳市大疆创新科技有限公司 编码系数的处理方法与装置
WO2024035659A1 (en) * 2022-08-06 2024-02-15 Beijing Dajia Internet Information Technology Co., Ltd. Fraction transform for video coding
US11695965B1 (en) * 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145553A (zh) * 1995-07-03 1997-03-19 株式会社理光 使用可逆子波变换和嵌入代码流进行压缩的方法和装置
CN1764278A (zh) * 2001-09-18 2006-04-26 微软公司 图像和视频编码用的改进的块变换和量化
US20080170613A1 (en) * 2007-01-16 2008-07-17 Dihong Tian Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint
CN106031177A (zh) * 2014-02-18 2016-10-12 微软技术许可有限责任公司 用于硬件加速的视频编码的主编码器
US20180103252A1 (en) * 2016-10-12 2018-04-12 Qualcomm Incorporated Primary transform and secondary transform in video coding
CN107918360A (zh) * 2016-10-06 2018-04-17 发那科株式会社 显示装置、检查方法以及检查程序
CN108141596A (zh) * 2015-09-29 2018-06-08 高通股份有限公司 用于视频译码的非可分离二次变换
WO2018231488A1 (en) * 2017-06-15 2018-12-20 Qualcomm Incorporated Intra filtering applied together with transform processing in video coding
US20190007682A1 (en) * 2017-07-03 2019-01-03 Panasonic Intellectual Property Corporation Of America Coding method, decoding method, encoder, and decoder

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3949407A4 (en) * 2019-04-16 2023-04-12 HFI Innovation Inc. METHODS AND APPARATUS FOR ENCODING VIDEO DATA WITH ADAPTIVE SECONDARY TRANSFORMATION SIGNALING DEPENDING ON THE TB-PLANE SYNTAX
EP3932061A4 (en) * 2019-04-23 2022-06-01 Beijing Bytedance Network Technology Co., Ltd. USING A SECONDARY TRANSFORMATION IN ENCODED VIDEO
CN117499641A (zh) * 2019-05-10 2024-02-02 北京字节跳动网络技术有限公司 用于视频处理的简化二次变换的有条件使用
CN117354521A (zh) * 2019-06-07 2024-01-05 北京字节跳动网络技术有限公司 视频比特流中的简化二次变换的有条件信令
JP7492542B2 (ja) * 2019-06-20 2024-05-29 エックスリス、コーポレーション 映像信号の符号化/復号化方法及びそのための装置
JP6912522B2 (ja) * 2019-06-24 2021-08-04 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
KR20220037434A (ko) * 2019-06-25 2022-03-24 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 인트라 서브 파티션들을 위한 코딩을 포함하는 디코더, 인코더, 및 방법들
CN112438050B (zh) * 2019-06-25 2023-01-17 韦勒斯标准与技术协会公司 使用二次变换的视频信号处理方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1145553A (zh) * 1995-07-03 1997-03-19 株式会社理光 使用可逆子波变换和嵌入代码流进行压缩的方法和装置
CN1764278A (zh) * 2001-09-18 2006-04-26 微软公司 图像和视频编码用的改进的块变换和量化
US20080170613A1 (en) * 2007-01-16 2008-07-17 Dihong Tian Breakpoint determining for hybrid variable length coding and encoding the determined breakpoint
CN106031177A (zh) * 2014-02-18 2016-10-12 微软技术许可有限责任公司 用于硬件加速的视频编码的主编码器
CN108141596A (zh) * 2015-09-29 2018-06-08 高通股份有限公司 用于视频译码的非可分离二次变换
CN107918360A (zh) * 2016-10-06 2018-04-17 发那科株式会社 显示装置、检查方法以及检查程序
US20180103252A1 (en) * 2016-10-12 2018-04-12 Qualcomm Incorporated Primary transform and secondary transform in video coding
WO2018231488A1 (en) * 2017-06-15 2018-12-20 Qualcomm Incorporated Intra filtering applied together with transform processing in video coding
US20190007682A1 (en) * 2017-07-03 2019-01-03 Panasonic Intellectual Property Corporation Of America Coding method, decoding method, encoder, and decoder

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
F. LE LÉANNEC, ET AL: "Non-CE6 : interaction between MTS and LFNST", 《JVET-O0466》 *
JANI LAINEMA: "CE6-related: Simplified LFNST", 《JVET会议》 *
MOONMO KOO, ET AL: "CE6: Reduced Secondary Transform (RST) (CE6-3.1)", 《JVET会议》 *
MOONMO KOO, ET AL: "Non-CE6: LFNST simplification based on the methods proposed in CE6-2.1a", 《JVET-O0209》 *
宋世昶: "下一代视频编码标准的帧间预测及变换编码技术研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Also Published As

Publication number Publication date
US20220295104A1 (en) 2022-09-15
KR20220061245A (ko) 2022-05-12
BR112022005047A2 (pt) 2022-07-05
CA3151584C (en) 2024-04-02
JP7390477B2 (ja) 2023-12-01
JP2022549427A (ja) 2022-11-25
MX2022003287A (es) 2022-04-12
EP4032306A1 (en) 2022-07-27
WO2021052832A1 (en) 2021-03-25
ZA202204197B (en) 2024-03-27
CA3151584A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
US10659802B2 (en) Video encoding and decoding
US11800131B2 (en) Apparatus, a method and a computer program for video coding and decoding
CN111586408B (zh) 用于跨通道残差编码和解码的量化参数得出
US9800893B2 (en) Apparatus, a method and a computer program for video coding and decoding
CN111327893B (zh) 用于视频编码和解码的装置、方法和计算机程序
JP7390477B2 (ja) ビデオコーディングおよびデコーディングのための装置、方法、およびコンピュータプログラム
US11223849B2 (en) Transform sign compression in video encoding and decoding
JP2018524897A (ja) ビデオの符号化・復号装置、方法、およびコンピュータプログラム
US20240314336A1 (en) An apparatus, a method and a computer program for cross-component parameter calculation
RU2795346C1 (ru) Устройство, способ и компьютерная программа для кодирования и декодирования видео
US20220078481A1 (en) An apparatus, a method and a computer program for video coding and decoding
KR20240135810A (ko) 교차-성분 파라미터 결정을 위한 장치, 방법 및 컴퓨터 프로그램
WO2024074754A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN118872271A (zh) 用于确定跨分量参数的装置、方法和计算机程序
WO2024141695A1 (en) An apparatus, a method and a computer program for video coding and decoding
EP4364417A1 (en) An apparatus and a method for video coding and decoding
WO2024003441A1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2019211522A2 (en) An apparatus, a method and a computer program for video coding and decoding

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