CN111386702A - 编码和解码方法以及相应的设备 - Google Patents
编码和解码方法以及相应的设备 Download PDFInfo
- Publication number
- CN111386702A CN111386702A CN201880076009.7A CN201880076009A CN111386702A CN 111386702 A CN111386702 A CN 111386702A CN 201880076009 A CN201880076009 A CN 201880076009A CN 111386702 A CN111386702 A CN 111386702A
- Authority
- CN
- China
- Prior art keywords
- block
- coefficient
- local template
- current
- context
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000001419 dependent effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000000638 solvent extraction Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 238000005192 partition Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 239000004519 grease Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 229920001690 polydopamine Polymers 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种解码方法。第一,确定与图片的块的当前变换系数相关联的语法元素的上下文。基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量来确定上下文。第二,至少基于确定的上下文对语法元素进行解码。有利的是,局部模板取决于所述块的形状。
Description
技术领域
本实施例中的至少一个一般涉及用于图片编码和解码的方法和设备,更具体地,涉及变换系数的熵编码和熵解码。
背景技术
为了实现高压缩效率,图像和视频编码方案通常采用预测和变换来均衡视频内容中的空间和时间冗余。一般,使用帧内或帧间预测以利用帧内或帧间相关性,然后对原始图片块和预测图片块之间的差异(通常表示为预测误差或预测残差)进行变换、量化和熵编码。在编码期间,可能使用四叉树划分,通常将原始图片块划分/分割为子块。为了重建视频,通过与预测、变换、量化和熵编码相对应的逆过程来对压缩的数据进行解码。
发明内容
公开了一种解码方法,包括:
基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量,确定与图片的块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文对所述语法元素进行解码;
其中局部模板取决于所述块的形状。
公开了一种编码方法,包括:
基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量,确定与图片的块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文对所述语法元素进行编码;
其中局部模板取决于所述块的形状。
公开了一种流,其格式化为包括表示图片的块的编码的数据,根据上述编码方法对该编码的数据进行编码。公开了一种承载该流的计算机可读存储介质。
公开了一种承载软件程序的计算机可读存储介质,该软件程序包括用于根据各种实施例的上述编码和解码方法的程序代码指令。
公开了一种计算机程序,其包括软件代码指令,用于当计算机程序由处理器执行时,执行根据各种实施例的编码和解码方法。
公开了一种解码设备,包括:
用于基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量来确定与图片的块的当前变换系数相关联的语法元素的上下文的装置;以及
用于至少基于确定的上下文对所述语法元素进行解码的装置;
其中局部模板取决于所述块的形状。
公开了一种解码设备,包括被配置为访问至少一个流的通信接口和至少一个处理器,该处理器被配置为:
基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量,确定与图片的块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文,从访问的流中对所述语法元素进行解码;
其中局部模板取决于所述块的形状。
公开了一种编码设备,包括:
用于基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量来确定与图片的块的当前变换系数相关联的语法元素的上下文的装置;以及
用于至少基于确定的上下文对所述语法元素进行编码的装置;
其中局部模板取决于所述块的形状。
公开了一种编码设备,包括被配置为访问图片的块的通信接口和至少一个处理器,该处理器被配置为:
基于所述块的面积、当前变换系数在块内的位置以及局部模板中非零相邻变换系数的数量,确定与访问的块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文对所述语法元素进行编码;
其中局部模板取决于所述块的形状。
以下实施例适用于以上公开的解码方法、解码设备、编码方法、编码设备、计算机程序、计算机可读存储介质和流。
有利地,所述局部模板包括沿着块的最长维度的方向的更多相邻变换系数。
在特定实施例中,局部模板包括当前块的多个相邻变换系数,其中,所述多个相邻变换系数和所述当前变换系数在所述当前块是水平矩形的情况下形成水平矩形,并且在所述当前块是垂直矩形的情况下形成垂直矩形。
在特定实施例中,还基于所述块的扫描图案确定所述上下文。
例如,局部模板包括当前块的多个相邻变换系数,其中所述多个相邻变换系数和所述当前变换系数在所述扫描图案是水平的情况下形成水平矩形,并且在所述扫描图案是垂直的情况下形成垂直矩形。
有利地,所述语法元素确定所述变换系数是否非零(例如,有效(significant)标志)、所述变换系数是否大于1以及所述变换系数是否大于2中的至少一个。
附图说明
-图1示出了根据特定且非限制性实施例的配置为在比特流中对图片进行编码的发射器的示例性架构;
-图2示出了适于执行图8-10、14和16中任一个的编码方法的示例性视频编码器;
-图3示出了编码树单元到编码单元的划分,其中编码单元可以根据现有技术的四叉树和二叉树对称分割模式来分割;
-图4示出了与图3所示的编码树单元的划分相关联的编码树;
-图5示出了根据现有技术的四叉树和对称二叉树分割模式;
-图6示出了根据特定且非限制性实施例的非对称二叉树分割模式和对称三叉树分割模式;
-图7描绘了分为系数的4x4子块的16x16变换块;
-图8和图9示出了根据特定且非限制性实施例的用于对比特流中的有效系数标志进行编码的方法的流程图;
-图10示出了根据特定且非限制性实施例的用于确定有效系数标志上下文增量的方法的流程图;
-图11描绘了分为三个区域的矩形变换块;
-图12描绘了根据现有技术在对有效系数标志进行编码/解码中使用的局部模板;
-图13A和图13B描绘了根据特定且非限制性实施例在对有效系数标志进行编码/解码中使用的新的局部模板;
-图14示出了使用图13A和图13B的新的局部模板来确定有效系数标志;
-图15A和图15B描绘了根据特定且非限制性实施例在对有效系数标志进行编码/解码中使用的新的局部模板;
-图16示出了使用图15A和图15B的新的局部模板来确定有效系数标志;
-图17示出了根据特定且非限制性实施例的接收器2000的示例性架构,该接收器2000被配置为从比特流中对图片进行解码以获得解码的图片;
-图18示出了适于执行图10、14、16和19-20中任一个的解码方法的示例性视频解码器的框图;
-图19示出了根据特定且非限制性实施例的用于从比特流中对图片进行解码的方法的流程图;以及
-图20示出了根据特定且非限制性实施例的用于对有效系数标志进行解码的示例性方法的流程图。
具体实施方式
应当理解,已经简化了附图和描述,以示出与清楚理解本实施例相关的元件,同时为了清楚起见,消除了在典型编码和/或解码设备中发现的许多其他元件。应该理解,尽管术语第一和第二在这里可以用来描述各种元件,但是这些元件不应该被这些术语所限制。这些术语仅用于区分一个元件和另一元件。
图片是单色格式的亮度样本阵列,或者是4:2:0、4:2:2和4:4:4颜色格式的亮度样本阵列和两个相应的色度样本阵列(或三个三色颜色样本阵列,诸如RGB)。一般,“块”针对样本阵列中的特定区域(例如,亮度Y),而“单元”包括所有颜色分量的并置块(亮度Y以及可能的色度Cb和色度Cr)。片是基本编码单元(诸如HEVC编码树单元或H.264宏块单元)的整数。片可以由完整的图片和它的部分组成。每个片可以包括一个或多个片(slice)段(segment)。
在下文中,词语“重建的”和“解码的”可以互换使用。通常但不一定,在编码器侧使用“重建的”,而在解码器侧使用“解码的”。应当注意,术语“解码的”或“重建的”可以指比特流被部分地“解码”或“重建”,例如,在去块滤波之后但在SAO(Sample Adaptive Offset,样本自适应偏移)滤波之前获得的信号,以及重建的样本可以不同于用于显示的最终解码的输出。我们也可以互换使用术语“图像”、“图片”和“帧”。
关于HEVC标准描述了各种实施例。然而,本实施例不限于HEVC,并且可以应用于其他标准、建议及其扩展,包括例如HEVC或HEVC扩展,如格式范围(RExt)、可伸缩性(SHVC)、多视图(MV-HEVC)扩展和H.266。关于片的编码/解码描述了各种实施例。它们可以用于对整个图片或整个图片序列进行编码/解码。
上面描述了各种方法,并且每一个方法包括用于实现所描述的方法的一个或多个步骤或动作。除非方法的正确操作需要步骤或动作的特定顺序,否则可以修改或组合特定步骤和/或动作的顺序和/或使用。
图1表示根据特定且非限制性实施例的配置为在比特流中对图片进行编码的发射器1000的示例性架构。
发射器1000包括一个或多个处理器1005,处理器1005可以包括例如CPU(centralprocessing unit,中央处理单元)、GPU(Graphics Processing Unit,图形处理单元)和/或DSP(数字信号处理器(Digital Signal Processor)的英文缩写),以及内部存储器1030(例如,RAM(Random Access Memory,随机存取存储器)、ROM(Read-Only Memory,只读存储器)和/或EPROM(Erasable Programmable ROM,可擦除可编程ROM))。发射器1000包括一个或多个通信接口1010(例如,键盘、鼠标、触摸板、网络摄像头),每个接口适于显示输出信息和/或允许用户输入命令和/或数据;以及可以在发射器1000外部的电源1020。发射器1000还可以包括一个或多个网络接口(未示出)。编码器模块1040表示可以包括在设备中以执行编码功能的模块。此外,编码器模块1040可以实现为发射器1000的独立元件,或者可以结合在(多个)处理器1005中,作为本领域技术人员已知的硬件和软件的组合。
可以从源获得图片。根据不同的实施例,源可以是但不限于:
-本地存储器,例如视频存储器、RAM、闪存、硬盘;
-存储接口,例如具有大容量存储、ROM、光盘或磁支持的接口;
-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或蓝牙接口);以及
-图像捕获电路(例如,传感器,诸如,例如,CCD(Charge-Coupled Device,电荷耦合器件)或CMOS(Complementary Metal-Oxide-Semiconductor,互补金属氧化物半导体))。
根据不同的实施例,可以发送比特流到目的地。例如,比特流存储在远程或本地存储器中,例如视频存储器或RAM、硬盘。在变型中,发送比特流到存储接口,例如具有大容量存储、ROM、闪存、光盘或磁支持的接口,和/或通过通信接口(例如点对点链路、通信总线、点对多点链路或广播网络的接口)传输比特流。
根据示例性且非限制性的实施例,发射器1000还包括存储在存储器1030中的计算机程序。该计算机程序包括指令,当指令由发射器1000,特别是由处理器1005执行时,该指令使发射器1000能够执行参考图8-10、14和16中任一个描述的编码方法。根据变型,计算机程序存储在发射器1000外部的非暂时性数字数据支持上,例如存储在外部存储介质上,诸如HDD、CD-ROM、DVD、只读和/或DVD驱动器和/或DVD读/写驱动器,所有这些都是本领域中已知的。因此,发射器1000包括读取计算机程序的机制。此外,发射器1000可以通过相应的USB(Universal Serial Bus,通用串行总线)端口(未示出)访问一个或多个通用串行总线(USB)类型的存储设备(例如,“记忆棒”)。
根据示例性且非限制性实施例,发射器1000可以是但不限于:
-移动设备;
-通信设备;
-游戏设备;
-平板(或平板电脑);
-膝上型计算机;
-静止图片相机;
-摄像机;
-编码芯片或编码设备/装置;
-静止图片服务器;以及
-视频服务器(例如,广播服务器、视频点播服务器或网络服务器)。
图2示出了适于执行图8-10、14和16中任一个的编码方法的示例性视频编码器100(例如HEVC类型)。编码器100是发射器1000或这种发射器1000的部分的示例。
对于编码,图片通常被划分为基本编码单元,例如,在HEVC被划分为编码树单元(coding tree unit,CTU),或者在H.264中被划分为宏块单元。可能连续的基本编码单元的集合分组为片。基本编码单元包含所有颜色分量的基本编码块。在HEVC,最小编码树块(coding tree block,CTB)大小16x16对应于先前视频编码标准中使用的宏块大小。将理解,尽管术语CTU和CTB在这里用来描述编码/解码方法和编码/解码装置,但是这些方法和装置不应该被这些特定术语所限制,这些特定术语在诸如H.264的其他标准中可能有不同的措辞(例如,宏块)。
在HEVC编码中,图片被划分为正方形形状的CTU,这些CTU具有通常为64x64、128x128或256x256的可配置大小。CTU是划分为4个大小相等的正方形编码单元(CodingUnit,CU)的四叉树的根,即宽度和高度是父块大小的一半。四叉树是其中父节点可以被分割为四个子节点的树,每一个子节点可以成为父节点,从而再被分割为四个子节点。在HEVC,编码块(coding Block,CB)被划分为一个或多个预测块(Prediction Block,PB),并形成划分为变换块(Transform Block,TB)的四叉树的根。与编码块、预测块和变换块相对应,编码单元(CU)包括预测单元(Prediction Unit,PU)和变换单元(TU)的树结构集合,PU包括所有颜色分量的预测信息,并且TU包括每个颜色分量的残差编码语法结构。亮度分量的CB、PB和TB的大小适用于相应的CU、PU和TU。TB是对其应用相同变换的样本块。PB是对其应用相同预测的样本块。
在最近的编码系统中,CTU是划分为编码单元(CU)的编码树的根。编码树其中父节点(通常对应于CU)可以被分割为子节点(例如,分割为2、3或4个子节点),每一个子节点可以成为父节点,从而再被分割为子节点的树。除了四叉树分割模式外,还定义了新的分割模式(二叉树对称分割模式、二叉树非对称分割模式和三叉树分割模式),这增加了可能的分割模式的总数。编码树具有唯一的根节点,例如CTU。编码树的叶子是树的终止节点。编码树的每一个节点表示CU,该CU还可以分割为更小的CU,也称为子CU或更一般的子块。一旦确定了CTU到CU的划分,对与编码树的叶子相对应的CU进行编码。可以通过率失真优化过程,在编码器侧确定CTU到CU的划分和用于对每个CU进行编码的编码参数(对应于编码树的叶子)。不存在CB到PB和TB的划分,即不存在由单个PU和单个TU组成的CU。
定义二叉树对称分割模式为允许将CU水平或垂直分割为两个大小相等的编码单元。图3表示CTU到CU的划分,其中可以根据四叉树和二叉树对称分割模式分割编码单元。在图3中,实线指示四叉树分割,而虚线指示CU到对称CU的二叉分割。图4表示相关的编码树。在图4中,实线表示四叉树分割,而虚线表示空间嵌入在四叉树叶子中的二叉分割。图5描绘了图3中使用的4种分割模式。模式NO_SPLIT指示不再分割CU。模式QT_SPLIT指示根据四叉树将CU分割为4个象限,象限由两条分割线分开。模式HOR指示将CU水平分割为两个大小相等的CU,其由一条分割线分开。VER指示将CU垂直分割为两个大小相等的CU,其由一条分割线分开。分割线在图5中由虚线表示。
定义二叉树非对称分割模式为允许将CU水平分割为两个分别具有的矩形大小(w,h/4)和(w,3h/4)的编码单元,或者垂直分割为两个分别具有矩形大小(w/4,h)和(3w/4,h)的编码单元,如图6所示。这两个编码单元由图6中虚线表示的一条分割线分开。
图6还示出了三叉树分割模式,根据该模式,在垂直和水平方向上将编码单元分割为三个编码单元。在水平方向上,将CU分割为三个大小分别为(w,h/4)、(w,h/2)和(w,h/4)的编码单元。在垂直方向上,将CU分割为三个大小分别为(w/4,h),(w/2,h)和(w/4,h)的编码单元。
在下文中,术语“块”或“图片块”可用于指CTU、CU、PU、TU、CB、PB和TB中的任何一个。此外,术语“块”或“图片块”可以用来指在H.264/AVC或其他视频编码标准中指定的宏块、划分和子块,并且更一般地指多种大小的样本阵列。
回到图2,在示例性编码器100中,通过编码器元件对图片进行编码,如下所述。以CU为单位对要编码的图片进行处理。使用帧内或帧间模式对每个CU进行编码。当以帧内模式对CU进行编码时,帧内模式执行帧内预测(160)。在帧间模式中,执行运动估计(175)和运动补偿(170)。编码器决定(105)使用帧内模式或帧间模式中的哪一个来对CU进行编码,并通过预测模式标志来指示帧内/帧间决定。通过从原始图片块中减去(110)预测的样本块(也称为预测符)来计算残差。
从重建的相邻样本预测帧内模式中的CU,例如在同一条带内。HEVC中有35种帧内预测模式,包括DC模式、平面模式和33种角度预测模式。因此,可以从与当前块相邻的行和列重建帧内预测参考。从存储在参考图片缓冲器(180)中参考图片的重建的样本中预测帧间模式中的CU。
变换(125)和量化(130)残差。对量化的变换系数以及运动矢量和其他语法元素进行熵编码(145)以输出比特流。
例如,熵编码可以是上下文自适应二进制算术编码(Context Adaptive BinaryArithmetic Coding,CABAC)、上下文自适应可变长度编码(Context Adaptive VariableLength Coding,CAVLC)、霍夫曼编码、算术编码、指数哥伦布(exp-Golomb)编码等。CABAC是最初在H.264引入的熵编码方法,也在HEVC中使用。CABAC包括二进制化、上下文建模以及二进制算术编码。二进制化将语法元素映射到二进制符号(二进位(bin))。上下文建模基于一些特定的上下文来确定每个常规编码的二进位(即非旁路的)的概率。最后,二进制算术编码根据确定的概率将二进位压缩为比特。
二进制化定义了语法元素值到二进位序列的唯一映射。可以使用几种二进制化过程,诸如一元、截断一元、k阶Ext-Golomb和固定长度二进制化。可以基于语法元素的类型来选择二进制化过程,并且在一些情况下也可以基于先前处理的语法元素的值来选择二进制化过程。在常规编码模式中(与旁路编码模式相反),然后通过使用概率模型来对每个二进位值进行编码,可以由基于语法元素的类型和二进位位置的固定选择来确定该概率模型,或者取决于附属信息(例如,块的深度/大小、TU内的位置等)从多个概率模型中自适应地选择该概率模型。
上下文建模提供了实现高编码效率所需的准确概率估计。因此,上下文建模是高度自适应的,并且不同的上下文模型可以用于不同的二进位,并且基于先前编码的二进位的值来更新该上下文模型的概率。概率模型的选择被称为上下文建模。在旁路编码模式中,固定概率模型以相等的概率应用于二进位值“0”和“1”。H.264中的旁路编码模式主要用于量化的系数的绝对值的符号和最低有效二进位。在HEVC中,大多数可能的二进位值由旁路编码模式处理。
算术编码基于递归区间划分。根据二进位的概率将初始值为0到1的范围划分为两个子区间。编码的比特提供偏移,当转换为二进制分数时,该偏移选择两个子区间中的一个,这指示解码的二进位的值。在每个解码的二进位之后,将范围更新为等于所选子区间,并且区间划分过程重复进行。范围和偏移具有有限的比特精度,因此当范围落入低于某值时,需要重新归一化以防止下溢。重新归一化可以在对每个二进位进行解码后发生。可以使用估计的概率(基于上下文的编码)完成算术编码,或者假设0.5的相等的概率(旁路编码模式)完成算术编码。
编码器也可以跳过变换或绕过变换和量化,即,在没有变换或量化过程的应用的情况下直接对残差进行编码。编码器还包括解码循环,并因此对编码的块进行解码以提供用于进一步预测的参考。对量化的变换系数进行去量化(140)和逆变换(150)以对残差进行解码。在下文中,量化的变换系数称为系数。通过组合(155)解码的残差和预测的样本块来重建图片块。环内滤波器(165)可以应用于重建的图片,例如,以执行去块/SAO(样本自适应偏移)滤波来减少编码伪影。滤波后的图片可以存储在参考图片缓冲器(180)中,并用作其他图片的参考。
图7描绘了16x16TB,即对其应用了相同变换的16x16样本块,16x16TB划分为系数的4x4子块(也称为编码组(Coding Group,CG))。熵编码/解码由几个扫描通道(pass)组成,这些扫描过程根据从几个可能的扫描图案(例如对角、水平和垂直扫描图案)中选择的扫描图案来扫描TB。
系数编码可以包括五个主要步骤:扫描、最后有效系数编码、有效性图编码、系数级别编码和符号数据编码。这五个主要步骤对应于用于对变换块的样本进行编码的不同类型的处理。扫描对应于根据从最后有效系数开始的给定CG扫描顺序在CG上的循环,以及对应于根据系数扫描顺序在每个CG内的系数上的循环。最后有效系数位置是最后非零系数在TB中的位置(X,Y)。
有效性图是允许解码器标识非零系数在TB中的位置的编码的信息。该信息包括CG的有效标志(在HEVC称为coded_sub_block_flag)和CG中系数的有效标志(在HEVC称为sig_coeff_flag)。CG有效标志指示CG中的所有系数是否为零。如果CG有效标志等于零,则该CG中的所有系数都等于零,并且不用信号表示包含在该CG中的系数的有效系数标志;否则用信号表示它们(对它们进行编码)。系数的有效标志指示该系数是否非零。系数级别编码对应于对变换系数的幅度进行编码。符号数据编码对应于对变换系数的符号进行编码。
对于帧间块,可以使用图7左侧的对角扫描,而对于4x4和8x8帧内块,扫描顺序可能取决于对该块有效的帧内预测模式。
因此,通过TB的扫描通道包括根据扫描顺序(对角、水平、垂直)中的一个顺序地处理每个CG,并且也根据所考虑的扫描顺序对每个CG内的16个系数进行扫描。通过TB的扫描通道从TB中的最后有效系数开始,并处理所有系数,直到DC系数(图7中TB的左上角系数)。
通过对TB中的最后有效系数的坐标进行编码,用信号表示该TB中的最后有效系数。在HEVC中,对以下语法元素进行编码:x方向或轴上的最后有效系数前缀(last_sig_coeff_x_prefix)、y方向上的最后有效系数前缀(last_sig_coeff_y_prefix)、x方向上的最后有效系数后缀(last_sig_coeff_x_suffix)、以及y方向上的最后有效系数后缀(last_sig_coeff_y_suffix),这给解码器提供了整个TB中最后非零系数的空间位置(x坐标和y坐标)。y方向或轴可以是垂直方向,x方向或轴可以是水平方向。相反的情况也可能成立。例如,对于大小为32x32的正方形TB和坐标(x=6,y=9)的最后有效系数,二进制化坐标为两部分:前缀和后缀。前缀表示区间,该区间与TB的大小相关。当表示为T的TB的大小等于32时,区间的数量N等于10(N=2log2(T))。该前缀具有截断一元表示,并且以常规模式对二进位进行编码。对于x,该值在第6个区间内,因此其前缀为111110;而对于y,该值在第7个区间,所以它的前缀是1111110。
后缀表示区间内的偏移。该后缀具有一个固定长度表示,并且以旁路模式对二进位进行编码。在第6个区间中,我们有2个偏移,对于x=6的值,后缀是0(如果值=7,后缀是1)。在第7个区间中,有3个偏移,对于y=9,后缀是01。因此,x用111110 0表示,并且y用111110 01表示。
然后,对于每个连续的CG,从包含TB中最后有效系数的CG开始,到TB中左上角CG,以下步骤适用于当前CG。第一,对当前CG有效标志(HEVC中的coded_sub_block_flag)进行编码。第二,使用多达五个扫描通道对当前CG中的系数的系数级别信息进行编码,分别专用于以下列表中的每个语法元素的编码:
·有效系数标志(例如sig_coeff_flag):系数的有效性(零/非零);
·系数绝对级别大于一个标志(如coeff_abs_level_greater1_flag):指示系数水平的绝对值是否大于1;
·系数绝对级别大于两个标志(例如,coeff_abs_level_greater2_flag):指示系数水平的绝对值是否大于2;
·系数符号标志(例如,coeff_sign_flag):有效系数级别的符号(例如,0:正、1:负,反过来也可能成立);
·系数绝对级别剩余(例如,coeff_abs_level_remaining):系数级别的剩余绝对值。要编码/解码的变换系数的幅度总是正整数值。系数绝对级别剩余对应于系数的绝对值减去3(如果已知系数大于2)。
在每次扫描通道中,仅在由先前扫描通道确定为必要时才对语法元素进行编码。例如,如果某个系数不有效,则该系数不需要剩余扫描通道。对符号编码执行相同的操作:仅为非零系数发送系数符号标志。
图8表示根据特定且非限制性实施例的用于对比特流中的有效系数标志进行编码的方法的流程图。
该方法在步骤S100开始。在步骤S110,发射器1000(例如,诸如编码器100),访问图片的块。在步骤S120,发射器基于块的面积、块内系数的位置以及局部模板中的有效(即非零)相邻系数的数量来确定块的系数的有效标志的上下文,其中局部模板取决于所述块的形状。在步骤S130,发射器基于确定的上下文对有效标志进行编码。该方法在步骤S180结束。
图9示出了根据实施例的用于对有效系数标志进行编码的示例性方法的流程图。
该方法在步骤S200开始。在步骤S210,发射器1000(例如,诸如编码器100),访问TB和访问的TB中的当前编码组currCG。由宽度值和高度值定义TB的大小。
在步骤S220,发射器确定currCG的系数的有效标志的上下文。由索引currCtxIdx标识该上下文。因此,确定上下文包括确定标识上下文集合中的该上下文的索引currCtxIdx。
在步骤S2100中,确定上下文索引偏移ctxOffset。如果TB是色度分量,则ctxOffset等于54,而如果TB不是色度(即,如果TB是亮度块),则ctxOffset等于indexOnTBSize。indexOnTBSize的确定取决于TB大小,更精确地,取决于TB面积。计算以下值:
uiLog2BlkSize=log2(宽度*高度)>>1=(log2(宽度)+log2(高度))>>1(1)
其中>>是右移运算符。
如果当前TB是亮度块,则确定用于对有效系数标志进行编码的上下文为该值uiLog2BlkSize的函数。
indexOnTbSize=uiLog2BlkSize≤2?0:f(uiLog2BlkSize) (2)
其中f()是定义的函数,例如,以查找表(Look-Up Table)的形式和(a<b?i:j)意味着如果a<b,那么结果就是I,否则结果就是j。例如,
结果,使用分离的上下文集合(例如,CABAC上下文)来对具有不同亮度分量的区域的有效系数标志TB进行编码。由上下文偏移(ctxOffset)表示这些不同的上下文集合,该上下文偏移是全局上下文集合中的地址,对于有效系数标志的编码是有用的。
步骤S2110初始化当前扫描位置(currScanPos)和当前CG中的第一位置(firstPosInCG),即,分别初始化当前CG中的最后系数索引和第一系数索引,因为扫描从当前CG中的最后系数进行到第一系数,如图7所示。
图9的编码方法的步骤S2120至S240包含在从最后系数到最低频率系数的当前TB的当前CG中的每个系数的循环中。步骤S2120将有效系数标志或有效性(也称为sig_coeff_flag)确定为变量uiSig,如果currScanPos中的系数不为零,则uiSig为1,否则为0。然后,步骤S2130确定有效系数标志上下文增量(ctxIncrement)。在图10中详细描述了这个步骤。
对于每个系数,在步骤S2140,作为上下文偏移(ctxOffset)和上下文增量(ctxIncrement)的函数,计算每个系数的有效性的编码的上下文索引(currCtxIdx)。在一个实施例中,该函数可以是如步骤S2140中的加法,或者另一线性或非线性函数。一旦获得了当前系数的上下文索引CurrCtxIdx(由currScanPos定义),在步骤S230中,基于由currCtxIdx标识的上下文,对由变量uiSig表示的其有效性二进位进行熵编码(例如,CABAC编码)。在步骤S240,该方法检查currScanPos是否大于firstPosInCG。如果步骤S240中的检查为真,则该方法在步骤S250中将currScanPos减1,并返回到步骤S2120。如果步骤S240中的检查为假,则该方法在步骤S280结束。一旦循环达到当前CG中具有最低频率的系数(或DC系数),即图7中左上角系数(由firstPosInCG表示)时,该方法结束。
图10示出了根据特定且非限制性实施例的用于确定当前系数x的有效系数标志上下文增量(对应于图9的步骤S2130)的方法的流程图。
为了捕获不同频率下系数的特性,将一个TB分割为多达三个上下文区域(R1、R2和R3),这三个上下文区域用不同的颜色标识,如图11所示。例如,分配给每个区域的上下文增量如下:区域R1为12-17,区域R2为6-11,区域R3为0-5。
通过图10的步骤S2132至S2138来确定与诸如例如图11的矩形块的块中的系数x相关联的上下文增量。该方法在步骤S2132开始。在步骤S2133,该方法访问TB中的系数x。在步骤S2134,确定由局部模板覆盖的x的邻域中的有效系数的数量如下:
其中sig(xi)是局部模板中系数xi的有效性或有效系数标志。
在步骤S2135,计算系数x所属的对角的索引为系数x的坐标的和:
diag=x+y (5)
其中x和y是系数的坐标。
在步骤S2136,通过将diag与定义的值进行比较来标识系数x所属的区域:
regionSIG=(diag<2?6:0)+(diag<5?6:0) (6)
因此,将diag与值2和5进行比较,取决于diag是否小于相应的值,将值6或0分配给比较。
因此,如果系数x属于区域R1,则regionSIG=12。如果系数x属于区域R2,则regionSIG=6,并且如果系数x属于区域R3,则regionSIG=0。
最后,在步骤S2137,计算当前系数x的上下文增量为:
ctxIncrement=regionSIG+numSIG (7)
以类似的方式处理亮度和色度分量,但使用不同的上下文模型集合。
上下文增量确定取决于由局部模板覆盖的邻域中的先前编码的系数的有效系数标志的值。更具体地,基于相邻系数的有效系数标志(每个标志的值为0或1)的和来确定上下文索引。图12示出了当根据现有技术,当对系数的有效标志进行编码时,用于将CABAC上下文分配给每个变换系数的局部模板。该局部模板是对称的,并且覆盖两个可用的右相邻系数(x0,x3)、两个底相邻系数(x1,x4)以及一个右下角相邻系数(x2)。这种局部模板更适合于正方形TB。
然而,可以知道,变换系数的幅度作为与系数相关联的频率级别的函数,在统计上减小。此外,块的变换一般可以包括分别在垂直和水平方向上的两个1D变换的可分离的组合。因此,局部模板中相邻系数的有效选择可能取决于块形状(更具体地,在这种情况下,取决于块的维度)。
根据一个实施例,在确定用于对变换系数语法元素(例如,有效性信息)进行编码/解码的上下文模型(例如,CABAC上下文)的分配的局部模板时,考虑TB的形状(例如,矩形TB的宽度和高度)。
根据一个实施例,在局部模板中沿着TB的最长长度的方向选择更多的相邻系数,无论最长长度是宽度(x方向)还是高度(y方向)。
在图13A中,通过用沿最长方向(即在水平矩形TB的情况下沿宽度方向)的相邻邻居替换由黑点(图12中的x4)标识的左下角邻居,获得新的局部模板。在图13B中,通过用沿最长方向(即在垂直矩形TB的情况下沿高度方向)的相邻邻居替换右上角邻居(图12中的x3),获得新的局部模板。实际上,沿着与矩形TB的宽度和高度中的最大维度相对应的方向(在宽度和高度中)很可能存在更高数量的有效系数。通过修改如图13A和13B所示的局部模板,参数numSIG适应于块的形状。
根据变型,新的局部模板仅用于一些块大小,例如4x16、16x4、8x32和32x8。
根据另一变型,新的局部模板仅用于一些(例如,4x16、16x4、8x32和32x8)或所有块大小,用于coeff_abs_level_greater1_flag语法元素的编码。
根据另一变型,新的局部模板仅用于所有块大小的一些(例如,4x16、16x4、8x32和32x8),用于coeff_abs_level_greater2_flag语法元素的编码。
图14示出了在图10的步骤S2134确定新的局部模板(即T1或T2)中的numSIG时要使用的有效系数标志sig(xi)的确定。
前三个步骤(S2134-1、S2134-2和S2134-3)包含在确定当前变换系数(x,y)的前三个邻居的有效性中。例如,在步骤S2134-1中,sig(x0)=xx+1,y?1:0意味着在变换系数(x+1,y)的值(xx+1,y)非零的情况下,sig(x0)等于1,否则sig等于0。将相同的过程应用到其他步骤。
接下来,由TB形状确定当前系数(x,y)的剩余邻居在新的局部模板中的位置(S2134-4)。在步骤S2134-4中,检查TB是否是矩形。如果TB是矩形,基于该TB是水平矩形还是垂直矩形(S2134-5),与块形状相关地调整局部模板中剩余邻居的位置(S2134-8至S2134-11);否则(TB是正方形),最后两个邻居的位置仍然是(x,y+2)和(x,y+2)(S2134-6和S2134-7)。
在该示例性实施例中,剩余邻居位置的适应与TB的宽度和高度中的最短维度相对应(S2134-5)。如果宽度是较短的维度,则在局部模板中选择具有位置(x,y+2)和位置(x,y+3)的邻居(S2134-10和S2134-11);否则,在局部模板中选择位置为(x+2,y)和(x+3,y)的邻居(S2134-8和S2134-9)。
该局部模板可以适用于可能不同于矩形的其他类型的TB形状。
图12的局部模板非常适合图7的对角扫描。
然而,变换系数的有效性与TB的所选扫描顺序有关。对于帧内编码,不同的帧内预测模式导致不同的残差统计。例如,当使用水平预测模式时,残差信号的幅度在统计上水平地减小。此外,有效系数标志仍然具有与残差信号值较高的一致性,即使一些相关性已经通过变换过程而降低。因此,变换系数的扫描图案取决于对该块有效的帧内预测模式,从而最小化那些尾随(trail)零系数的熵成本并提高编码效率。因此,局部模板中相邻系数的有效选择也取决于扫描图案。
根据另一实施例,在确定用于对变换系数语法元素(例如,有效性信息)进行编码/解码的上下文模型(例如,CABAC上下文)的分配的局部模板时,考虑当前TB的扫描图案。
在图15A中,获得适应于水平扫描图案的新的局部模板。通过用一个可用相邻水平邻居替换左下角邻居,获得图15A左侧的新的局部模板。在图15B中,获得适应于垂直扫描图案的新的局部模板。通过用一个可用相邻垂直邻居替换右上角邻居,获得图15B左侧的新的局部模板。在水平或垂直扫描顺序的情况下,沿着扫描方向可能存在更高数量的有效系数。
如图15A和15B右侧所示,由于与当前有效系数的较弱的相关性,可以从局部模板中移除一些相邻邻居,以降低复杂度。通过修改如图15A和15B所示的局部模板,参数numSIG适应于块的扫描图案。
根据另一变型,新的局部模板用于coeff_abs_level_greater1_flag语法元素的编码。
根据另一变型,新的局部模板用于coeff_abs_level_greater2_flag语法元素的编码。
图16示出了在图10的步骤S2134确定新的局部模板(即T3或T4)中的numSIG时要使用的有效系数标志sig(xi)的确定。
前三个步骤(S2134-12、S2134-13和S2134-14)包含在确定当前变换系数(x,y)的前三个邻居的有效性中。接下来,基于扫描顺序选择局部模板中当前系数(x,y)的邻居位置(S2134-15)。如果扫描图案是对角扫描顺序,则使用图12的局部模板,以及邻居(x+2,y)和(x,y+2)(S2134-17和S2134-18)。否则,根据扫描图案确定一些邻居的位置(S2134-16)。
如果扫描图案是水平的,则在局部模板中选择具有位置(x+2,y+1)的水平邻居来替换具有位置(x,y+2)的水平邻居(S2134-20);如果扫描图案是垂直的,则在局部模板中选择具有位置(x+1,y+2)的垂直邻居来替换具有位置(x+2,y)的垂直邻居(S2134-21)。
图17表示根据特定且非限制性实施例的接收器2000的示例性架构,该接收器2000被配置为从比特流中对图片进行解码以获得解码的图片。
接收器2000包括一个或多个处理器2005,处理器2005可以包括例如CPU、GPU和/或DSP(数字信号处理器的英文缩写),以及内部存储器2030(例如,RAM、ROM和/或EPROM)。接收器2000包括一个或多个通信接口2010(例如,键盘、鼠标、触摸板、网络摄像头),每个接口适于显示输出信息和/或允许用户输入命令和/或数据(例如,解码的图片);以及可以在接收器2000外部的电源2020。接收器2000还可以包括一个或多个网络接口(未示出)。解码器模块2040表示可以包括在设备中以执行解码功能的模块。此外,解码器模块2040可以实现为接收器2000的独立元件,或者可以作为本领域技术人员已知的硬件和软件的组合结合在(多个)处理器2005中。
可以从源获得比特流。根据不同的实施例,源可以是但不限于:
-本地存储器,例如视频存储器、RAM、闪存、硬盘;
-存储接口,例如具有大容量存储、ROM、光盘或磁支持的接口;
-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(诸如IEEE 802.11接口或蓝牙接口);以及
-图片捕获电路(例如,传感器,诸如,例如,CCD(电荷耦合器件))或CMOS(互补金属氧化物半导体))。
根据不同的实施例,可以发送比特流到目的地,例如显示器设备。例如,比特流存储在远程或本地存储器中,例如视频存储器或RAM、硬盘。在变型中,发送解码的图片到存储接口,例如具有大容量存储、ROM、闪存、光盘或磁支持的接口,和/或通过通信接口(例如点对点链路、通信总线、点对多点链路或广播网络的接口)传输解码的图片。
根据特定且非限制性实施例,接收器2000还包括存储在存储器2030中的计算机程序。该计算机程序包括指令,当由接收器2000,特别是由处理器2005执行时,该指令使接收器能够执行参考图10、14、16和19-20中的任一个描述的解码方法。根据变型,计算机程序存储在接收器2000外部的非暂时性数字数据支持上,例如存储在外部存储介质上,诸如HDD、CD-ROM、DVD、只读和/或DVD驱动器和/或DVD读/写驱动器,所有这些都是本领域已知的。因此,接收器2000包括读取计算机程序的机制。此外,发射器1000可以通过相应的USB端口(未示出)访问一个或多个通用串行总线(USB)类型的存储设备(例如,“记忆棒”)。
根据示例性且非限制性实施例,接收器2000可以是但不限于:
-移动设备;
-通信设备;
-游戏设备;
-机顶盒;
-TV;
-平板(或平板电脑);
-膝上型计算机;
-视频播放器,例如蓝光播放器、DVD播放器;
-显示器;以及
-解码芯片或解码设备/装置。
图18示出了适于执行图10、14、16和19-20中任一个的解码方法的示例性视频解码器200(例如HEVC视频解码器)的框图。视频解码器200是接收器2000或这种接收器2000的部分的示例。在示例性解码器200中,如下所述,由解码器元件对比特流进行解码。视频解码器200一般执行与图2中描述的编码通道相反的解码通道,这作为对视频数据进行编码的部分执行视频解码。
具体地,解码器的输入包括视频比特流,其可以由视频编码器100生成。首先对比特流进行熵解码(230)以获得变换系数、运动矢量和其他编码的信息。去量化(240)和逆变换(250)变换系数以对残差进行解码。然后将解码的残差与预测的样本块(也称为预测符)组合(255),以获得解码/重建的图片块。可以从帧内预测(260)或运动补偿预测(即,帧间预测)(275)获得预测的样本块(270)。如上所述,在运动补偿期间可以使用AMVP和合并模式技术,这可以使用插值滤波器来计算参考块的子整数样本的插值。应用环内滤波器(265)以重建图片。环内滤波器可以包括去块滤波器和SAO滤波器。滤波后的图片存储在参考图片缓冲器(280)中。
图19表示根据特定且非限制性实施例的用于从比特流中对图片进行解码的方法的流程图。
该方法在步骤S300开始。在步骤S310,接收器2000(例如解码器200),访问比特流。在步骤S320,接收器基于块的面积、块内系数的位置以及局部模板中的有效(即非零)相邻系数的数量来确定块的系数的有效标志的上下文,其中局部模板取决于所述块的形状。在步骤S330,接收器基于确定的上下文对有效标志进行解码。该方法在步骤S380结束。
图20示出了根据实施例的用于对有效系数标志进行解码的示例性方法的流程图。
该方法在步骤S400开始。在步骤S410,接收器2000(例如解码器200),访问TB和访问的TB中的当前编码组currCG。由宽度和高度值定义TB的大小。
在步骤S420,接收器确定currCG的系数的有效标志的上下文。将不再进一步描述类似于图9的步骤S220的步骤S420。步骤S420包括步骤S2100、S2110、S2130和S2140。
一旦获得了当前系数的上下文索引currCtxIdx(由currScanPos定义),在步骤S430中,作为上下文索引的函数,对由变量uiSig表示的currCtxIdx的有效性二进位进行熵解码(例如,CABAC解码)。在步骤S440,该过程检查CurrScanPos是否大于firstPosInCG。如果步骤S440中的检查为真,则过程在步骤S450中将CurrScanPos减1,并返回到步骤S2120。如果步骤S440中的检查为假,则该方法在步骤S480结束。一旦循环达到当前CG中具有最低频率的系数(或DC系数),即图7中左上角系数(由firstPosInCG表示),该方法结束。
例如,本文描述的实现方式可以以方法或过程、装置、软件程序、数据流或信号来实现。即使仅在单一实现方式的形式的上下文中讨论(例如,仅作为方法或设备讨论),所讨论的特征的实现方式也可以以其他形式实现(例如,程序)。例如,装置可以用适当的硬件、软件和固件来实现。例如,这些方法可以在设备中实现,例如处理器,其一般指处理设备,例如,包括计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如计算机、蜂窝电话、便携式/个人数字助理(“PDA(portable/personal digital assistant)”),以及协助终端用户之间的信息通信的其他设备。
本文描述的各种过程和特征的实现方式可以体现在各种不同的设备或应用中,特别是例如设备或应用。这种设备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、膝上型计算机、个人计算机、蜂窝电话、PDA和其他通信设备。应该清楚的是,设备可以是移动的,甚至可以安装在移动车辆中。
此外,方法可以通过由处理器执行的指令来实现,并且这样的指令(和/或由实现方式产生的数据值)可以存储在处理器可读介质上,诸如,例如集成电路、软件载体或其他存储设备,诸如,例如硬盘、光盘(“CD(compact diskette)”)、光盘(optical disk)(诸如,例如,通常被称为数字多功能盘或数字视频盘的DVD)、随机存取存储器(“RAM”)或只读存储器(“ROM”)。这些指令可以形成有形地包含在处理器可读介质上的应用程序。例如,指令可以是硬件、固件、软件或其组合。例如,指令可以在操作系统、单独的应用程序或两者的组合中找到。因此,例如,处理器可以表征为被配置为执行过程的设备和包括具有用于执行过程的指令的处理器可读介质(诸如存储设备)的设备。此外,除了指令之外或代替指令,处理器可读介质可以存储由实现方式产生的数据值。
对于本领域技术人员来说显而易见的是,实现方式可以产生各种格式化的信号,以承载例如可以存储或传输的信息。例如,该信息可以包括用于执行方法的指令,或者由所描述的实现方式之一产生的数据。例如,可以格式化信号以承载用于写入或读取所描述的实施例的语法的规则作为数据,或者以承载由所描述的实施例写入的实际语法值作为数据。例如,这种信号可以格式化为电磁波(例如,使用频谱的射频部分)或基带信号。例如,格式化可以包括对数据流进行编码和用编码的数据流调制载波。例如,信号承载的信息可以是模拟或数字信息。众所周知,信号可以通过各种不同的有线或无线链路传输。该信号可以存储在处理器可读介质上。
已经描述了许多实现方式。然而,应当理解,可以进行各种修改。例如,不同实现方式的元素可以被组合、补充、修改或移除以产生其他实现方式。此外,本领域普通技术人员将理解,可以用其他结构和过程来替代所公开的那些结构和过程,并且所得到的实现方式将以至少基本上相同的方式执行至少基本上相同的功能,以实现与所公开的实现至少基本上相同的结果。因此,本申请考虑了这些和其他实现方式。
Claims (16)
1.一种解码方法,包括:
基于图片的块的面积、当前变换系数在所述块内的位置以及局部模板中非零相邻变换系数的数量,确定(S320)与所述块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文对所述语法元素进行解码(S330);
其中所述局部模板形状取决于所述块的形状。
2.根据权利要求1所述的解码方法,其中所述语法元素是有效标志。
3.根据权利要求1或2所述的解码方法,其中所述局部模板包括沿着所述块的最长维度的方向的更多相邻变换系数。
4.根据权利要求1至3中任一项所述的解码方法,其中,所述局部模板包括当前块的多个相邻变换系数,其中,所述多个相邻变换系数和所述当前变换系数在所述当前块是水平矩形的情况下形成水平矩形,并且在所述当前块是垂直矩形的情况下形成垂直矩形。
5.根据权利要求1所述的解码方法,其中所述局部模板形状还取决于所述块的扫描图案。
6.根据权利要求5所述的解码方法,其中所述局部模板包括当前块的多个相邻变换系数,其中,所述多个相邻变换系数和所述当前变换系数在所述扫描图案是水平的情况下形成水平矩形,并且在所述扫描图案是垂直的情况下形成垂直矩形。
7.一种编码方法,包括:
基于图片的块的面积、当前变换系数在所述块内的位置以及局部模板中非零相邻变换系数的数量,确定(S120)与所述块的当前变换系数相关联的语法元素的上下文;以及
至少基于确定的上下文对所述语法元素进行编码(S130);
其中所述局部模板取决于所述块的形状。
8.根据权利要求7所述的编码方法,其中所述语法元素是有效标志。
9.根据权利要求7或8所述的编码方法,其中所述局部模板包括沿着所述块的最长维度的方向的更多相邻变换系数。
10.根据权利要求7至9中任一项所述的编码方法,其中,所述局部模板包括当前块的多个相邻变换系数,其中,所述多个相邻变换系数和所述当前变换系数在所述当前块是水平矩形的情况下形成水平矩形,并且在所述当前块是垂直矩形的情况下形成垂直矩形。
11.根据权利要求7所述的编码方法,所述局部模板形状还取决于所述块的扫描图案。
12.根据权利要求11所述的编码方法,其中,所述局部模板包括当前块的多个相邻变换系数,其中,所述多个相邻变换系数和所述当前变换系数在所述扫描图案是水平的情况下形成水平矩形,并且在所述扫描图案是垂直的情况下形成垂直矩形。
13.一种解码设备,包括:
装置,用于基于图片的块的面积、当前变换系数在所述块内的位置以及局部模板中非零相邻变换系数的数量来确定与所述块的当前变换系数相关联的语法元素的上下文;以及
装置,用于至少基于确定的上下文对所述语法元素进行解码;
其中所述局部模板形状取决于所述块的形状。
14.一种编码设备,包括:
装置,用于基于图片的块的面积、当前变换系数在所述块内的位置以及局部模板中非零相邻变换系数的数量来确定与所述块的当前变换系数相关联的语法元素的上下文;以及
装置,用于至少基于确定的上下文对所述语法元素进行编码;
其中所述局部模板形状取决于所述块的形状。
15.一种承载软件程序的计算机可读存储介质,所述软件程序包括用于根据权利要求1-6中任一项所述的解码方法的程序代码指令。
16.一种承载软件程序的计算机可读存储介质,所述软件程序包括用于根据权利要求1-7中任一项所述的编码方法的程序代码指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410668853.6A CN118450119A (zh) | 2017-11-23 | 2018-11-07 | 编码和解码方法以及相应的设备和介质 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17306628.3A EP3490253A1 (en) | 2017-11-23 | 2017-11-23 | Encoding and decoding methods and corresponding devices |
EP17306628.3 | 2017-11-23 | ||
PCT/US2018/059579 WO2019103845A1 (en) | 2017-11-23 | 2018-11-07 | Encoding and decoding methods and corresponding devices |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410668853.6A Division CN118450119A (zh) | 2017-11-23 | 2018-11-07 | 编码和解码方法以及相应的设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111386702A true CN111386702A (zh) | 2020-07-07 |
CN111386702B CN111386702B (zh) | 2024-06-11 |
Family
ID=60569848
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410668853.6A Pending CN118450119A (zh) | 2017-11-23 | 2018-11-07 | 编码和解码方法以及相应的设备和介质 |
CN201880076009.7A Active CN111386702B (zh) | 2017-11-23 | 2018-11-07 | 编码和解码方法以及相应的设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410668853.6A Pending CN118450119A (zh) | 2017-11-23 | 2018-11-07 | 编码和解码方法以及相应的设备和介质 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11695962B2 (zh) |
EP (2) | EP3490253A1 (zh) |
JP (1) | JP7398368B2 (zh) |
KR (1) | KR20200090776A (zh) |
CN (2) | CN118450119A (zh) |
IL (1) | IL274657B2 (zh) |
WO (1) | WO2019103845A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113846B2 (en) * | 2018-08-31 | 2021-09-07 | Hulu, LLC | Coefficient context modeling in video coding |
US11202100B2 (en) * | 2019-03-11 | 2021-12-14 | Qualcomm Incorporated | Coefficient coding for transform skip mode |
CN118540483A (zh) * | 2019-04-26 | 2024-08-23 | 松下电器(美国)知识产权公司 | 编码装置、解码装置和非暂时性计算机可读介质 |
MX2022001645A (es) * | 2019-08-08 | 2022-04-06 | Lg Electronics Inc | Metodo de codificacion de video con base en transformacion, y dispositivo para el mismo. |
CN115842916A (zh) * | 2019-08-27 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法及装置 |
KR20220036985A (ko) * | 2019-08-31 | 2022-03-23 | 엘지전자 주식회사 | 영상 디코딩 방법 및 그 장치 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011128303A2 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coding of significance maps and transform coefficient blocks |
US20130016789A1 (en) * | 2011-07-15 | 2013-01-17 | General Instrument Corporation | Context modeling techniques for transform coefficient level coding |
JP2013192118A (ja) * | 2012-03-14 | 2013-09-26 | Sharp Corp | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 |
US20130272379A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
CN103748886A (zh) * | 2011-06-16 | 2014-04-23 | 弗兰霍菲尔运输应用研究公司 | 支持模式切换的熵编码 |
US20150172652A1 (en) * | 2012-04-26 | 2015-06-18 | Sony Corporation | Mode-dependent coefficient scanning and directional transforms for different colour sampling formats |
CN105141966A (zh) * | 2015-08-31 | 2015-12-09 | 哈尔滨工业大学 | 视频压缩中变换系数的上下文建模方法 |
US20160353112A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (cabac) design |
US20170064336A1 (en) * | 2015-09-01 | 2017-03-02 | Qualcomm Incorporated | Coefficient level coding in video coding |
WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
US20170142448A1 (en) * | 2015-11-13 | 2017-05-18 | Qualcomm Incorporated | Coding sign information of video data |
CN107302367A (zh) * | 2012-01-20 | 2017-10-27 | Ge视频压缩有限责任公司 | 从数据流解码具有变换系数级别的多个变换系数的装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7245662B2 (en) | 2000-10-24 | 2007-07-17 | Piche Christopher | DCT-based scalable video compression |
JP4767992B2 (ja) | 2002-06-06 | 2011-09-07 | パナソニック株式会社 | 可変長符号化方法および可変長復号化方法 |
US7379608B2 (en) | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
US8861599B2 (en) | 2011-03-08 | 2014-10-14 | Sony Corporation | Context reduction for last transform position coding |
US9392301B2 (en) | 2011-07-01 | 2016-07-12 | Qualcomm Incorporated | Context adaptive entropy coding for non-square blocks in video coding |
US10298956B2 (en) | 2012-01-03 | 2019-05-21 | Hfi Innovation Inc. | Method and apparatus for block-based significance map and significance group flag context selection |
US9237344B2 (en) | 2012-03-22 | 2016-01-12 | Qualcomm Incorporated | Deriving context for last position coding for video coding |
EP3306927A1 (en) | 2016-10-05 | 2018-04-11 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
-
2017
- 2017-11-23 EP EP17306628.3A patent/EP3490253A1/en not_active Withdrawn
-
2018
- 2018-11-07 WO PCT/US2018/059579 patent/WO2019103845A1/en unknown
- 2018-11-07 US US16/766,361 patent/US11695962B2/en active Active
- 2018-11-07 CN CN202410668853.6A patent/CN118450119A/zh active Pending
- 2018-11-07 CN CN201880076009.7A patent/CN111386702B/zh active Active
- 2018-11-07 IL IL274657A patent/IL274657B2/en unknown
- 2018-11-07 EP EP18803848.3A patent/EP3714599A1/en active Pending
- 2018-11-07 JP JP2020526091A patent/JP7398368B2/ja active Active
- 2018-11-07 KR KR1020207014480A patent/KR20200090776A/ko unknown
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102939755A (zh) * | 2010-04-13 | 2013-02-20 | 弗兰霍菲尔运输应用研究公司 | 显著性图和变换系数块的编码 |
WO2011128303A2 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coding of significance maps and transform coefficient blocks |
CN103748886A (zh) * | 2011-06-16 | 2014-04-23 | 弗兰霍菲尔运输应用研究公司 | 支持模式切换的熵编码 |
CN107333141A (zh) * | 2011-06-16 | 2017-11-07 | Ge视频压缩有限责任公司 | 熵编码中的上下文初始化 |
US20130016789A1 (en) * | 2011-07-15 | 2013-01-17 | General Instrument Corporation | Context modeling techniques for transform coefficient level coding |
CN107302367A (zh) * | 2012-01-20 | 2017-10-27 | Ge视频压缩有限责任公司 | 从数据流解码具有变换系数级别的多个变换系数的装置 |
JP2013192118A (ja) * | 2012-03-14 | 2013-09-26 | Sharp Corp | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 |
US20130272379A1 (en) * | 2012-04-16 | 2013-10-17 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
US20150172652A1 (en) * | 2012-04-26 | 2015-06-18 | Sony Corporation | Mode-dependent coefficient scanning and directional transforms for different colour sampling formats |
US20160353112A1 (en) * | 2015-05-29 | 2016-12-01 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (cabac) design |
CN105141966A (zh) * | 2015-08-31 | 2015-12-09 | 哈尔滨工业大学 | 视频压缩中变换系数的上下文建模方法 |
US20170064336A1 (en) * | 2015-09-01 | 2017-03-02 | Qualcomm Incorporated | Coefficient level coding in video coding |
WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
WO2017041676A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Method and apparatus of context modelling for syntax elements in image and video coding |
US20170142448A1 (en) * | 2015-11-13 | 2017-05-18 | Qualcomm Incorporated | Coding sign information of video data |
Non-Patent Citations (1)
Title |
---|
YUNFEI ZHENG: "CE11: Mode Dependent Coefficient Scanning", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 4TH MEETING: DAEGU, KR, 20-28 JANUARY, 2011》, pages 1 - 5 * |
Also Published As
Publication number | Publication date |
---|---|
JP7398368B2 (ja) | 2023-12-14 |
US20200382810A1 (en) | 2020-12-03 |
EP3490253A1 (en) | 2019-05-29 |
IL274657B1 (en) | 2023-12-01 |
CN118450119A (zh) | 2024-08-06 |
JP2021504996A (ja) | 2021-02-15 |
US11695962B2 (en) | 2023-07-04 |
IL274657A (en) | 2020-06-30 |
KR20200090776A (ko) | 2020-07-29 |
CN111386702B (zh) | 2024-06-11 |
IL274657B2 (en) | 2024-04-01 |
EP3714599A1 (en) | 2020-09-30 |
WO2019103845A1 (en) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111386702B (zh) | 编码和解码方法以及相应的设备 | |
EP3439305B1 (en) | Decoding of position of last significant coefficient | |
CN112075082B (zh) | 用于基于cabac的神经网络实现方式的视频编码与解码的方法及设备 | |
CN110140354B (zh) | 编码和解码方法以及对应设备 | |
KR20190058609A (ko) | 픽처 데이터와 관련된 신택스 요소를 나타내는 이진 심볼들의 시퀀스를 컨텍스트 적응 이진 산술 코딩하기 위한 방법 및 디바이스 | |
US20200322610A1 (en) | Method and apparatus for video encoding and decoding based on context switching | |
EP3364656A1 (en) | Method for sample adaptive offset coding | |
JP7520853B2 (ja) | ビデオコード化のための残差コード化における通常のビンの柔軟な割り当て | |
JP2022516132A (ja) | 係数レベルのためのエスケープコーディング | |
CN114930826B (zh) | 用于视频编解码中最后位置编解码的坐标的上下文推导和熵编解码初始化参数 | |
CN116458156A (zh) | 视频译码中的基于上下文的变换索引信令 | |
US20230291922A1 (en) | Encoding and decoding methods and corresponding devices | |
EP3991421A1 (en) | Arithmetic coding with selective adaptation for video coding | |
EP3484150A1 (en) | Methods and devices for picture encoding 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |