CN111819853A - 变换域中预测的信令残差符号 - Google Patents

变换域中预测的信令残差符号 Download PDF

Info

Publication number
CN111819853A
CN111819853A CN201880090706.8A CN201880090706A CN111819853A CN 111819853 A CN111819853 A CN 111819853A CN 201880090706 A CN201880090706 A CN 201880090706A CN 111819853 A CN111819853 A CN 111819853A
Authority
CN
China
Prior art keywords
transform
prediction
context
block
symbol
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
Application number
CN201880090706.8A
Other languages
English (en)
Other versions
CN111819853B (zh
Inventor
阿列克谢·康斯坦丁诺维奇·菲利波夫
瓦西里·亚历斯维奇·拉夫特斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN111819853A publication Critical patent/CN111819853A/zh
Application granted granted Critical
Publication of CN111819853B publication Critical patent/CN111819853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/645Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform

Abstract

本发明提供了适用于图像和/或视频编码和解码等的变换系数的符号编码和解码的实施例。具体地,预测多个所述符号,并且仅将预测误差信号嵌入码流中。所述预测误差信号可以具有可以用CABAC或其它可变长度(熵)编码进行高效编码的分布。此外,在使用自适应多核心变换时,根据用于获取变换系数的变换,选择熵码对所述变换系数符号进行编码的上下文。

Description

变换域中预测的信令残差符号
本发明实施例涉及静止图像和/或视频图像编解码等图像处理领域。
背景技术
视频编码(视频编码和解码)广泛用于数字视频应用,例如广播数字电视、互联网和移动网络上的视频传输、视频聊天、视频会议等实时会话应用、DVD和蓝光光盘、视频内容采集和编辑系统以及可携式摄像机的安全应用。
随着1990年H.261标准中基于块的混合型视频编码方式的发展,新的视频编码技术和工具得到发展并为新的视频编码标准形成基础。大多数视频编码标准的目标之一是在保证图像质量的情况下,实现相比前一个标准更低的码率。其它视频编码标准包括MPEG-1视频、MPEG-2视频、ITU-T H.262/MPEG-2、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频编码(Advanced Video Coding,AVC)、ITU-TH.265、高效视频编码(High EfficiencyVideo Coding,HEVC)以及这些标准的扩展,例如,可扩展性和/或三维(three-dimensional,3D)扩展。
发明内容
本发明的实施例由独立权利要求的特征定义,并且由从属权利要求的特征定义实施例的其它有利实现方式。
根据一些实施例,不同上下文用于符号预测误差的熵编码(编码/解码),这些符号预测误差受从多核心变换技术提供的变换集中选择的水平和垂直变换的影响。具体地,不同的变换可以与相应的不同上下文关联。
根据一个方面,一种图像块编码装置包括处理电路,用于:预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号;确定(1340)符号预测误差,所述符号预测误差指示所述符号预测是否正确;根据所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文;通过使用选定上下文应用熵编码对所述符号预测误差进行编码(1380)。
根据一个方面,提供了一种从码流中解码图像块的装置,所述装置包括处理电路,用于:预测(1420)待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;根据所述多个变换中的一个变换,选择(1440)用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;通过使用选定上下文应用熵解码对所述符号预测误差进行解码(1460);根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定(1480)所述变换系数的所述符号。
根据用于获取预测符号的系数以及用熵码进行编码的残差的变换选择熵编码上下文可以提高熵编码的效率,从而也能够提高应用符号预测的图像编码的效率。
在示例性实现方式中,所述处理电路还用于:根据所述变换系数的无符号值,选择(1360)所述上下文。
此外,由于符号预测效率可以取决于系数幅度,因此根据无符号系数值提供不同的上下文可以进一步提高熵编码的效率,从而也提高图像编码的效率。
此外,所述处理电路还可以用于:
-预测(1320)M个变换系数中的每个变换系数的符号,M为整数,大于1且小于通过对所述图像块进行变换(1300)而获取的变换系数的数量;
-确定(1340)所述M个变换系数中的每个变换系数的符号预测误差;
-将所述M个变换系数通过阈值分成两个列表,其中第一列表包括绝对值大于所述阈值的变换系数,第二列表包括绝对值等于或小于所述阈值的变换系数;
-根据所述M个变换系数的变换系数属于所述第一列表还是所述第二列表,选择(1360)用于对所述M个变换系数的变换系数的符号预测误差进行熵编码的上下文;
-通过使用所述相应的选定上下文应用熵编码对所述M个变换系数的所述变换系数的所述符号预测误差进行编码(1380)。
在一种替代实现方式中,所述第一列表包括绝对值等于或大于所述阈值的变换系数,所述第二列表包括绝对值小于所述阈值的变换系数。
特别是由于符号位的假设检验,预测所有系数的复杂度将大大增加。在编码端和解码端都可能增加复杂度。因此,通过仅预测M个变换系数符号有助于降低复杂度。在一些实施例中,预测M个最大系数的符号通常有助于更可靠地预测最大系数。
例如,所述处理电路还用于:根据所述图像块的预测类型是帧内预测还是帧间预测,选择(1360)所述上下文。在另一个或替代的示例中,所述处理电路还用于:如果所述图像块的预测类型为帧内预测,则根据用于预测所述图像块的所述帧内预测模式选择(1360)所述上下文。具体地,所述处理电路还用于:使用DC帧内预测模式或平面模式预测所述图像块;根据是否使用DC帧内预测模式或平面模式预测所述图像块,选择(1360)所述上下文。
由于符号预测效率可取决于系数的大小,而对于分别使用帧内预测(以及特定帧内模式)和帧间预测获取的残差,可以相差很大。因此,根据预测类型选择上下文可以进一步提高效率。
具体地,所述处理电路还用于:根据成本函数预测(1320)所述变换系数的所述符号,所述成本函数包括估计沿所述图像块的边界的不连续性;根据可用于估计所述图像块的所述边界上的不连续性的块边数或相邻像素数来选择(1360)所述上下文。
例如,所述处理电路还用于:根据可用于估计不连续性的边缘像素与属于所述图像块的像素的总数的比值,选择(1360)所述上下文。例如,所述处理电路还用于:根据所述图像块是否位于所述图像块所在的片的左边界或上边界,选择(1360)所述上下文。
测试的相邻像素数越多,预测(通常)越精确,可以提高熵编码效率。
在一种示例性实现方式中,所述处理电路还用于:根据成本函数预测(1320)变换系数的符号,其中,所述成本函数包括邻近变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。
根据变换选择上下文可与变换域中根据成本函数计算的符号位预测强相关。在这种情况下,变换对符号预测误差的分布有直接影响。
根据一个实施例,所述多个变换中的每个变换与多个上下文中的一个上下文关联,所述处理电路还用于:从多个上下文中选择(1360)所述上下文,使得所述多个变换中的一个变换与所述选定的上下文关联。
在一种示例性实现方式中,所述处理电路还用于:根据各自与多个上下文中的一个上下文关联的所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文,其中如果所述多个变换中的第一变换和所述多个变换中的第二变换的预测符号值的概率相差小于预定值,那么所述第一变换与所述第二变换的相同上下文关联。
例如,所述处理电路还用于:预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号,其中所述变换(1300)包括水平变换和垂直变换;所述上下文是根据所述变换的所述水平变换和所述垂直变换的组合来选择(1360)的。
在一个示例中,所述多个变换中的每个变换是水平变换和垂直变换的组合,所述处理电路还用于:选择(1360)所述上下文,使得所述水平变换和所述垂直变换的所述组合与所述选定上下文关联。
可划分的变换更容易实现,并且有助于灵活选择适当的变换。
例如,所述垂直变换和所述水平变换的所述组合的相互不同的上下文的数量小于所述垂直变换和所述水平变换的所述组合的数量,垂直变换和水平变换的第一组合与垂直变换和水平变换的第二组合的相同上下文关联。
所述处理电路还可以使用CABAC进行所述熵编码(1380)。
根据一个方面,一种图像块编码方法,包括以下步骤:预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号;确定(1340)符号预测误差,所述符号预测误差指示所述符号预测是否正确;根据所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文;通过使用选定上下文应用熵编码对所述符号预测误差进行编码(1380)。
根据一个方面,提供了一种从码流中解码图像块的方法,包括以下步骤:预测(1420)待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;根据所述多个变换中的一个变换,选择(1440)用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;通过使用选定上下文应用熵解码对所述符号预测误差进行解码(1460);根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定(1480)所述变换系数的所述符号。
在一种示例性实现方式中,根据系数的无符号值选择(编码器和/或解码器中)上下文。
此外,所述方法(编码和/或解码)对M个变换系数中的每个变换系数执行(在编码器和/或解码器中)符号预测,M为整数,大于1且小于通过对所述图像块进行变换(1300)而获取的变换系数的数量;确定(1340)所述M个变换系数中的每个变换系数的符号预测误差;将所述M个变换系数通过阈值分成两个列表,其中第一列表包括绝对值大于所述阈值的变换系数,第二列表包括绝对值等于或小于所述阈值的变换系数;根据所述M个变换系数的变换系数属于所述第一列表还是所述第二列表,选择(1360)用于对所述M个变换系数的变换系数的符号预测误差进行熵编码的上下文;通过使用所述相应的选定上下文应用熵编码对所述M个变换系数的所述变换系数的所述符号预测误差进行编码(1380)。
在一种编码和解码(以及编码器和解码器)的替代实现方式中,所述第一列表包括绝对值等于或大于所述阈值的变换系数,所述第二列表包括绝对值小于所述阈值的变换系数。例如,所述方法(编码和/或解码)还根据所述图像块的预测类型是帧内预测还是帧间预测,选择(1360)所述上下文。在另一个或替代的示例中,所述处理电路还用于:如果所述图像块的预测类型为帧内预测,则根据用于预测所述图像块的所述帧内预测模式选择(1360)所述上下文。具体地,所述方法(编码和/或解码)可以使用DC帧内预测模式或平面模式预测所述图像块;根据是否使用DC帧内预测模式或平面模式预测所述图像块,选择(1360)所述上下文。
具体地,所述方法(编码和/或解码)还根据成本函数预测(1320)所述变换系数的所述符号,所述成本函数包括估计沿所述图像块的边界的不连续性;根据可用于估计所述图像块的所述边界上的不连续性的块边数或相邻像素数来选择(1360)所述上下文。
例如,所述方法(编码和/或解码)可以根据可用于估计不连续性的边缘像素与属于所述图像块的像素的总数的比值,选择(1360)所述上下文。例如,所述方法可以根据所述图像块是否位于所述图像块所在的片的左边界或上边界,选择(1360)所述上下文。
在一种示例性实现方式中,所述方法(编码和/或解码)根据成本函数预测(1320)变换系数的符号,其中,所述成本函数包括邻近变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。
根据一个实施例,所述多个变换中的每个变换与多个上下文中的一个上下文关联,所述处理电路还用于:从多个上下文中选择(1360)所述上下文,使得所述多个变换中的一个变换与所述选定的上下文关联。
在一种示例性实现方式中,所述方法(编码和/或解码)包括:根据各自与多个上下文中的一个上下文关联的所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文,其中如果所述多个变换中的第一变换和所述多个变换中的第二变换的预测符号值的概率相差小于预定值,那么所述第一变换与所述第二变换的相同上下文关联。
例如,所述方法(编码和/或解码)可以预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号,其中所述变换(1300)包括水平变换和垂直变换;所述上下文是根据所述变换的所述水平变换和所述垂直变换的组合来选择(1360)的。
在一个示例中,所述多个变换中的每个变换是水平变换和垂直变换的组合,所述方法(编码和/或解码)还选择(1360)所述上下文,使得所述水平变换和所述垂直变换的所述组合与所述选定上下文关联。
例如,所述垂直变换和所述水平变换的所述组合的相互不同的上下文的数量小于所述垂直变换和所述水平变换的所述组合的数量,垂直变换和水平变换的第一组合与垂直变换和水平变换的第二组合的相同上下文关联。
所述熵编码(1380)可以是上下文自适应二进制算术编码(context-adaptivebinary arithmetic coding,CABAC)。
根据一个实施例,提供了一种非瞬时性计算机可读介质,存储包括指令的程序,其中,所述指令在处理器上执行时,执行参考上文的方法的所有步骤。
一个或多个实施例的细节在附图和以下描述中阐述。其它特征、目标和优点将从描述、附图和权利要求中显而易见。
附图说明
下文将参考以下附图详细描述本发明实施例,其中:
图1为用于实现本发明实施例的视频编码器的示例的框图;
图2为用于实现本发明实施例的视频解码器的示例性结构的框图;
图3为用于实现本发明实施例的视频编码系统的示例的框图;
图4为符号预测的示意图;
图5为比较H.264/AVC中的符号编码和符号预测的示意图;
图6为当前块和周围相邻像素的示意图;
图7为比较在像素域中使用成本函数计算的已知符号预测与在变换域中使用成本函数计算的实施例的示意图;
图8为与符号预测和编码相关的变换系数的处理流程图;
图9为根据图1的编码器的示例性修正以在变换域中包括符号预测的框图;
图10为根据图2的解码器的示例性修正以在变换域中包括符号预测的框图;
图11为用于选择CABAC上下文以对符号预测误差进行熵编码/解码的示例性查找表;
图12为在合并了某些组合的上下文的情况下选择CABAC上下文以对符号预测误差进行熵编码/解码的示例性查找表;
图13为本发明编码方法的流程图;
图14为本发明解码方法的流程图;
图15为基础函数的示例,即可用于4×4块的水平变换和垂直变换的不同组合。
具体实施方式
在以下描述中,参考构成本发明一部分的附图,附图通过说明的方式示出了本发明实施例的特定方面或可使用本发明实施例的特定方面。应理解,本发明的实施例可用于其它方面,并且包括未在附图中描绘的结构或逻辑变化。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。
可以理解的是,与所描述的方法有关的内容对于与用于执行方法对应的设备或系统也同样适用,反之亦然。例如,如果描述了一个或多个特定方法步骤,则对应的设备可以包括一个或多个单元,例如,功能单元,用于执行所描述的一个或多个方法步骤(例如,执行所述一个或多个步骤的一个单元,或各自执行所述多个步骤中的一个或多个步骤的多个单元),即使图中未明确描述或说明此类一个或多个单元。另一方面,例如,如果根据一个或多个单元(例如,功能单元)来描述特定装置,对应的方法可以包括一个步骤来执行一个或多个单元的功能(例如,执行所述一个或多个单元的功能的一个步骤,或各自执行所述多个单元中的一个或多个单元的功能的多个步骤),即使图中未明确描述或说明此类一个或多个步骤。此外,应理解,除非另外具体指出,否则本文中描述的各种示例性实施例和/或方面的特征可彼此组合。
视频编码通常指对构成视频或视频序列的图像序列进行的处理。在视频编码领域中,术语“帧”或“图像”可用作同义词,而不是术语“图片”。视频编码包括视频编码和视频解码两部分。在源侧执行视频编码,通常包括处理(例如,通过压缩)原始视频图像,以减少表示视频图像所需的数据量(以进行更高效的存储和/或传输)。在目的地侧执行视频解码,通常包括相对于编码器的逆处理以重构视频图像。涉及视频图像(或通常为图像,将在下文解释)的“编码”的实施例应理解为涉及视频图像的“编码”和“解码”。编码部分和解码部分的组合也称为CODEC(编码和解码)。
在无损视频编码的情况下,可以重构原始视频图像,即,重构视频图像与原始视频图像具有相同的质量(假设在存储或传输过程中没有传输损失或其它数据丢失)。在有损视频编码的情况下,进一步执行压缩(例如,通过量化)以减少表示无法在解码器侧完全重构的视频图像的数据量,即,与原始视频图像相比,所述重构视频图像的质量较低或较差。
从H.261开始的几种视频编码标准都属于“有损混合视频编解码器”(即,结合像素点域中的空间预测和时间预测以及在变换域中应用量化的2D变换编码)。视频序列的每个图像通常被划分成一组不重叠的块,并且编码通常以块为单位执行。换句话说,在编码器侧,通常对视频进行处理,即以块(视频块)为单位编码,例如通过:使用空间(帧内图像)预测和时间(帧间图像)预测生成预测块;从当前块(当前处理/待处理块)减去预测块,得到残差块;在变换域中变换所述残差块并量化所述残差块以减少要传输(压缩)的数据量,而在解码器侧,将相对于编码器的逆处理应用于编码块或压缩块以重构当前块以进行表示。此外,编码器的处理环路与解码器的处理环路相同,使得两者将生成相同的预测(例如,帧内预测和帧间预测)和/或重构以对后续块进行处理(即,编码)。
因为视频图像处理(也称为移动图像处理)和静止图像处理(术语“处理”包括编码)有许多相同的概念和技术或工具,所以在下文中,术语“图像(picture或image)”用于指代视频序列(如上文所解释)的视频图像和/或静止图像(still picture或still image),以避免在不需要时,视频图像与静止图像之间不必要的重复和区分。如果所述描述仅指静止图像(still picture或still image),则应使用术语“静止图像(still picture或stillimage)”。
在以下实施例中,根据图1至图3描述了编码器100、解码器200和编码系统300,然后根据图4至图9更详细地描述本发明的实施例。
图3是编码系统300(例如,图像编码系统300)的实施例的示意性框图。编码系统300包括源设备310,用于向目的地设备320提供编码图像330等编码数据330,以对编码数据330进行解码。
源设备310包括编码器100或编码单元100,并且可以另外(即可选地)包括图像源312、预处理单元314(例如,图像预处理单元314),和通信接口或通信单元318。
图像源312可以包括或可以是任何类型的图像捕获设备,例如用于捕获真实世界图像,和/或任何类型的图像生成设备,例如用于生成计算机动画图像的计算机图形处理器,或用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtual reality,VR)图像和/或其任何组合(例如,增强现实(augmented reality,AR)图像)的任何设备。在下文中,所有这些类型的图像和任何其它类型的图像将称为“图像(picture或image)”,除非另有特别说明,而之前关于术语“图像(picture)”一词的解释,包括“视频图像”和“静止图像”仍然适用,除非有明确的不同规定。
(数字)图像是或可被视为具有强度值的像素点的二维数组或矩阵。数组中的像素点也可以称为像素(图像元素的简短形式)。数组或图像的水平和垂直方向(或轴)的像素点数定义了图像的大小和/或分辨率。为了表示颜色,通常使用三种颜色分量,即,该图像可以表示为或包括三个像素点数组。在RBG格式或颜色空间中,图像包括对应的红色、绿色和蓝色像素点数组。然而,在视频编码中,每个像素通常以亮度/色度格式或在颜色空间中表示,例如,YCbCr,包括由Y表示的亮度分量(有时也用L表示)和Cb、Cr表示的两个色度分量。亮度分量Y表示亮度或灰阶强度(例如,如同灰阶图像中),两个色度分量Cb和Cr表示色度或颜色信息分量。相应地,YCbCr格式的图像包括亮度像素点值(Y)的亮度像素点数组和色度值(Cb和Cr)的两个色度像素点数组。RGB格式的图像可以转换成YCbCr格式,反之亦然,该过程也称为颜色变换或转换。如果图像是单色的,则图像可以仅包括亮度像素点数组。
例如,图像源312可以是用于捕获图像的摄像头、图像存储器等存储器,包括或存储之前捕获或生成的图像,和/或任何类型的接口(内部或外部),以获取或接收图像。例如,摄像头可以是集成在源设备中的本地或集成摄像头,存储器可以是本地或集成存储器,例如,集成在源设备中。例如,接口可以是从外部视频源接收图像的外部接口,例如,摄像机等外部图像捕获设备、外部存储器或外部图像生成设备,例如,外部计算机图形处理器、计算机或服务器。接口可以是根据任何私有或标准化的接口协议的任何类型的接口,例如,有线或无线接口、光接口。获取图像数据313的接口可与通信接口318相同,或作为通信接口318的一部分。所述通信接口可以是以太网、WLAN、蓝牙或LTE接口等任意接口,也可以是任意有线或无线接口,例如卫星或光接口。所述传输可以是对等传输、广播传输或组播传输。
与预处理单元314和预处理单元314执行的处理不同的是,图像或图像数据313也可以称为原始图像或原始图像数据313。
预处理单元314用于接收(原始)图像数据313,对图像数据313进行预处理以获取预处理图像315或预处理图像数据315。例如,预处理单元314执行的预处理可以包括修剪、颜色格式转换(例如,从RGB到YCbCr)、颜色校正或去噪。
编码器100用于接收预处理图像数据315并提供编码图像数据171(例如,将根据图1进一步描述细节)。
源设备310的通信接口318可用于接收编码图像数据171并直接将其发送到另一设备(例如,目的地设备320)或用于存储或直接重构的任何其它设备,或分别在存储编码数据330和/或将编码数据330发送到另一设备(例如,目的地设备320)或用于解码或存储的任何其它设备之前处理编码图像数据171。
目的地设备320包括解码器200或解码单元200,并且可以另外(即,可选地)包括通信接口或通信单元322、后处理单元326和显示设备328。
目的地设备320的通信接口322用于接收编码图像数据171或编码数据330,例如,直接从源设备310或从任何其它源,例如,编码图像数据存储器等存储器。
通信接口318和通信接口322可用于分别通过源设备310与目的地设备320之间的直接通信链路(例如,直接有线或无线连接),或通过任何类型的网络(例如,有线(如光缆、电力线、铜缆、同轴电缆或基于任何其它介质)或无线网络或其任何组合),或任何类型的专用和公共网络或其任何类型的组合,来发送编码图像数据171或编码数据330。
例如,通信接口318可用于将编码图像数据171打包为合适的格式(例如,数据包),用于在通信链路或通信网络上传输,且还可包括数据丢失保护和数据丢失恢复。
构成通信接口318的对应部分的通信接口322可以例如用于对编码数据330进行解包以获取编码图像数据171,并且还可以用于执行数据丢失保护和数据丢失恢复,例如,包括错误隐藏。
通信接口318和通信接口322均可配置为如图3中从源设备310指向目的地设备320的编码图像数据330的箭头所指示的单向通信接口,或双向通信接口,且可以用于:例如发送和接收消息,例如建立连接,确认和/或重新发送丢失或延迟的数据,包括图像数据,并交换与通信链路和/或数据传输(例如,编码图像数据传输)相关的任何其它信息。
解码器200用于接收编码图像数据171并提供解码图像数据231或解码图像231(例如,将根据图2进一步描述细节)。
例如,目的地设备320的后处理器326用于对解码图像数据231(例如,解码图像231)进行后处理,以获取后处理图像数据327(例如,后处理图像327)。由后处理单元326执行的后处理可以包括,例如颜色格式转换(例如,从YCbCr到RGB)、颜色校正、修剪或重新采样或任何其它处理,例如,用于准备解码图像数据231以由显示设备328显示。
例如,目的地设备320的显示设备328用于接收后处理图像数据327,以向用户或观看者显示图像。显示设备328可以是或包括用于表示重构图像的任何类型的显示器,例如,集成或外部显示器,或监视器。例如,显示器可包括阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organiclight emitting diode,OLED)显示器或包括射束器、全息图或3D/VR眼镜的任何其它类型的显示器。
尽管图3将源设备310和目的地设备320描绘为单独的设备,但是设备的实施例也可以包括源设备310和目的地设备320或同时包括源设备310的对应功能和目的地设备320的对应功能。在这些实施例中,源设备310或对应功能以及目的地设备320或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。
根据所述描述,技术人员将清楚地看到,如图3所示的源设备310和/或目的地设备320中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而变化。
因此,图3中所示的源设备310和目的地设备320仅仅是本发明的示例性实施例,并且本发明的实施例不限于图3中所示的那些实施例。
源设备310和目的地设备320可包括多种设备中的任意一种,包括任何类型的手持或固定设备,例如,笔记本电脑或膝上型计算机、手机、智能手机、平板或平板电脑、照相机、台式计算机、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备、广播接收器设备,并且可不使用或使用任何类型的操作系统。
编码器和编码方法
图1为编码器100(例如,图像编码器100)的实施例的示意性/概念性框图,其中,所述编码器100包括输入102、残差计算单元104、变换单元106、量化单元108、反量化单元110和逆变换单元112、重构单元114、缓冲器116、环路滤波器120、解码图像缓冲器(decodedpicture buffer,DPB)130、预测单元160(包括帧间估计单元142、帧间预测单元144、帧内估计单元152、帧内预测单元154、模式选择单元162)、熵编码单元170和输出172。图1所示的视频编码器100也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。
例如,残差计算单元104、变换单元106、量化单元108和熵编码单元170构成编码器100的正向信号路径,而例如反量化单元110、逆变换单元112、重构单元114、缓冲器116、环路滤波器120、解码图像缓冲器(decoded picture buffer,DPB)130、帧间预测单元144和帧内预测单元154构成编码器的反向信号路径,其中,编码器的反向信号路径对应于解码器的信号路径(参见图2中的解码器200)。
例如,编码器用于通过输入102接收图像101或图像101的图像块103,例如,形成视频或视频序列的图像序列的图像。图像块103也可以称为当前图像块或待编码图像块,图像101称为当前图像或待编码图像(尤其在视频编码中,例如,将当前图像与同一视频序列(即也包括当前图像的视频序列)的之前编码和/或解码图像的其它图像区分开来)。
编码器100的实施例可以包括分割单元(图1中未描绘),例如,也可以称为图像分割单元,用于将图像103分割成多个块(例如,块103等块),通常分割成多个不重叠块。分割单元可用于对视频序列的所有图像使用相同的块大小和定义块大小的对应网格,或者用于改变图像或图像子集或组之间的块大小,并将每个图像按层次分割成对应块。术语“块”是指图像的矩形(不一定是正方形,但可能是正方形)部分。
与图像101一样,块103也是或可以是具有强度值(像素点值)的像素的二维数组或矩阵,尽管图像101的维度较小。换句话说,例如,块103可以包括一个像素点数组(例如,在单色图像101的情况下,一个亮度数组)或三个像素点数组(例如,在彩色图像101的情况下,一个亮度数组和两个色度数组)或根据所使用的颜色格式的任何其它数量和/或类型的数组。块103的水平和垂直方向(或轴)的像素点数量定义了块103的大小。
如图1所示的编码器100用于逐个块对图像101进行编码,例如,对每个块103执行编码和预测。
残差计算单元104用于根据图像块103和预测块165,例如,通过从图像块103的像素点值中减去预测块165(关于预测块165的进一步细节将在后面提供)的像素点值,逐个像素点(逐个像素)计算残差块105,以获取像素点域中的残差块105。
变换单元106用于在变换域中对残差块105的像素点值应用变换,例如空间频率变换或线性空间(频率)变换,例如离散余弦变换(discrete cosine transform,DCT)或离散正弦变换(discrete sine transform,DST),获取变换系数107。变换系数107也可以称为变换残差系数,表示变换域中的残差块105。
变换单元106可用于应用DCT/DST(例如为HEVC/H.265指定的核心变换)的整数近似值。与正交DCT变换相比,这种整数近似值通常按一定因子进行缩放。为了保持正逆变换处理的残差块的范数,在变换过程中应用了其它缩放因子。通常根据某些约束选择缩放因子,例如缩放因子是用于移位运算的2的幂次方、变换系数的位深度、精确度和实现成本之间的权衡等。例如,在解码器200侧通过逆变换单元212为逆变换指定特定缩放因子(以及在例如编码器100侧通过逆变换单元112为对应的逆变换指定特定缩放因子),并且可相应地在例如编码器100侧通过变换单元106为正向变换指定对应的缩放因子。
量化单元108用于对变换系数107进行量化以获取量化系数109,例如,应用标量量化或矢量量化。量化系数109也可以称为量化残差系数109。例如,对于标量量化,可以应用不同的缩放来实现更精细或更粗略的量化。较小的量化步长对应于更精细的量化,而较大的量化步长对应于更粗略的量化。适用的量化步长可以通过量化参数(quantizationparameter,QP)指示。量化参数可以是例如预定义的适用量化步长集合的索引。例如,较小量化参数可以对应于精细量化(较小量化步长),较大量化参数可以对应于粗略量化(较大量化步长),反之亦然。量化可以包括除以量化步长,而反量化单元110等执行的对应或反解量化可包括乘以量化步长。根据HEVC的实施例可以用于使用量化参数来确定量化步长。通常,量化步长可以根据使用包括除法的等式的定点近似值的量化参数来计算。量化和解量化可以引入其它缩放因子以恢复残差块的范数,由于在量化步长和量化参数的方程的定点近似值中使用的缩放,可能会修改残差块的范数。在一种示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表并在码流中以信号形式从编码器发送到解码器。量化是有损操作,损失随着量化步长的增大而增大。
例如,编码器100(或量化单元108)的实施例可用于通过对应的量化参数输出量化方案和量化步长,使得解码器200可以接收并应用对应的反量化。例如,编码器100(或量化单元108)的实施例可用于直接或通过熵编码单元170或任何其它熵编码单元熵编码的方式输出量化方案和量化步长。
例如,反量化单元110用于通过应用量化单元108根据或使用与量化单元108相同的量化步长应用的量化方案的逆方案,对量化系数应用量化单元108的反量化以获取解量化系数111。解量化系数111也可以称为解量化残差系数111,对应于变换系数108,但是由于量化造成的损失,解量化系数111通常与变换系数不同。
逆变换单元112用于应用由变换单元106应用的变换的逆变换,例如,反离散余弦变换(discrete cosine transform,DCT)或反离散正弦变换(discrete sine transform,DST),以获取像素域中的逆变换块113。逆变换块113也可以称为逆变换的解量化块113或逆变换的残差块113。
重构单元114用于通过逐个像素点相加解码残差块113的像素点值和预测块165的像素点值等,合并(例如,相加)逆变换块113和预测块165以获取像素点域中的重构块115。
缓冲单元116(或简称“缓冲器”116),例如,列缓冲器116,用于缓冲或存储重构块和相应的像素点值,例如,以进行帧内估计和/或帧内预测。在其它实施例中,编码器可用于使用存储在缓冲单元116中的未滤波重构块和/或相应像素点值进行任何类型的估计和/或预测。
例如,环路滤波单元120(或简称“环路滤波器”120)用于通过应用去块采样自适应偏移(sample-adaptive offset,SAO)滤波器或锐化滤波器、平滑滤波器或协同滤波器等其它滤波器,对重构块115进行滤波以获取滤波块121。滤波块121也可以称为滤波重构块121。可以在环路中应用其它或额外滤波器。
环路滤波单元120的实施例可以包括(图1中未示出)滤波分析单元和实际滤波单元,其中滤波分析单元用于为实际滤波器确定环路滤波器参数。滤波分析单元可用于将固定的预定滤波器参数应用于实际环路滤波器,从预定滤波器参数集中自适应地选择滤波器参数,或者自适应地为实际环路滤波器计算滤波器参数。
环路滤波单元120的实施例可以包括(图1中未示出)一个或多个滤波器(环路滤波器组件/子滤波器),例如,一个或多个不同种类或类型的串联连接或并联连接或以任何组合连接的滤波器,其中每个滤波器可包括单独或与多个滤波器中的其它滤波器联合的滤波分析单元,以确定相应的环路滤波器参数,如前面段落所描述。例如,编码器100(分别为环路滤波单元120)的实施例可用于直接或通过熵编码单元170或任何其它熵编码单元进行熵编码输出环路滤波器参数,使得例如解码器200可以接收和应用相同的环路滤波器参数进行解码。
解码图像缓冲器(decoded picture buffer,DPB)130用于接收和存储滤波块121。解码图像缓冲器130还可用于存储其它之前滤波的块,例如,同一当前图像或不同图像(例如,之前重构图像)的之前重构和滤波块121,并提供完整的之前重构(即,解码)图像(和对应参考块和像素点)和/或部分重构的当前图像(和对应参考块和像素点),以进行帧间估计和/或帧间预测。
本发明的其它实施例还可以用于使用解码图像缓冲器130的之前滤波块和对应的滤波像素点值进行任何类型的估计或预测,例如,帧内估计/帧间估计和帧内预测/帧间预测。
预测单元160,也称为块预测单元160,用于接收或获取图像块103(当前图像101的当前图像块103)以及解码的或至少重构的图像数据,例如,来自缓冲器116的相同(当前)图像的参考像素点和/或来自解码图像缓冲器130的一个或多个之前解码图像的解码图像数据131,以及处理此类数据进行预测,即,提供预测块165,预测块165可以是帧间预测块145或帧内预测块155。
模式选择单元162可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块145或155,用作计算残差块105和重构所述重构块115的预测块165。
模式选择单元162的实施例可用于选择预测模式(例如,从预测单元160支持的那些预测模式中选择),所述预测模式提供最佳匹配或换句话说最小残差(最小残差指进行传输或存储的更好压缩),或最小信令开销(最小信令开销指进行传输或存储的更好压缩)或两者兼顾或权衡。模式选择单元162可用于根据率失真优化(rate distortionoptimization,RDO)确定预测模式,即,选择提供最小率失真优化的预测模式,或选择至少满足预测模式选择标准的相关联率失真的预测模式。
在下文中,将更详细地解释由示例性编码器100执行的预测处理(例如,预测单元160)和模式选择(例如,通过模式选择单元162进行)。
如上所述,编码器100用于从(预定的)预测模式集中确定或选择最好或最佳预测模式。例如,所述预测模式集可以包括帧内预测模式和/或帧间预测模式。
帧内预测模式集合可以包括32种不同的帧内预测模式,例如,DC(或均值)模式和平面模式等非定向模式,或例如H.264中所定义的定向模式;或可包括65种不同的帧内预测模式,例如,DC(或均值)模式和平面模式等非定向模式,或如H.265中定义的定向模式。
帧间预测模式(或可能的帧间预测模式)集取决于可用的参考图像(即,如存储在DBP 230中的之前至少部分解码的图像)以及其它帧间预测参数,例如,是整个参考图像还是只是参考图像的一部分,例如,当前块周围区域的搜索窗口区域,用于搜索最佳匹配的参考块;和/或是否应用像素插值,例如,半像素和/或四分之一像素插值。
除上述预测模式外,还可以应用跳过模式和/或直接模式。
预测单元160还可以用于将块103分割成更小的块分割或子块,例如,迭代地使用四叉树分割(quad-tree-partitioning,QT)、二叉树分割(binary-tree-partitioning,BT)或三叉树分割(triple-tree-partitioning,TT)或其任何组合;例如,对块分割或子块中的每一个进行预测,其中,模式选择包括:选择分割块103的树结构以及应用于块分割或子块中的每一个的预测模式。
帧间估计单元142,也称为帧间图像估计单元142,用于接收或获取图像块103(当前图像101的当前图像块103)和解码图像131,或至少一个或多个之前的重构块,例如,一个或多个其它/不同之前的解码图像131的重构块,进行帧间估计(inter estimation或interpicture estimation)。例如,视频序列可以包括当前图像和之前的解码图像131,或者换句话说,当前图像和之前的解码图像131可以是构成视频序列的图像序列的一部分或构成视频序列的图像序列。
例如,编码器100可用于从多个其它图像的相同或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引……)和/或参考块的位置(x、y坐标)和当前块的位置之间的偏移(空间偏移)作为帧间估计参数143提供给帧间预测单元144。这个偏移也称为运动矢量(motion vector,MV)。帧间估计也称为运动估计(motion estimation,ME),帧间预测也称为运动预测(motion prediction,MP)。
帧间预测单元144用于获取(例如,接收)帧间预测参数143,并根据或使用所述帧间预测参数143执行帧间预测以获取帧间预测块145。
尽管图1针对帧间编码示出了两个不同的单元(或步骤),即帧间估计142和帧间预测144,但是这两种功能可以作为一个单元(或步骤)来执行(帧间估计需要/包括计算帧间预测块,即,该或“一种”帧间预测144),例如,通过迭代测试可能帧间预测模式的所有可能的或预定的子集,同时存储当前最佳的帧间预测模式和相应的帧间预测块,并将当前最佳帧间预测模式和相应的帧间预测块作为(最终)帧间预测参数143和帧间预测块145,而不在其它时间执行帧间预测144。
帧内估计单元152用于获取(例如,接收)图像块103(当前图像块)和一个或多个之前的重构块,例如,相同图像的重构邻块,进行帧内估计。例如,编码器100可用于从多个(预定的)帧内预测模式中选择帧内预测模式并将其作为帧内估计参数153提供给帧内预测单元154。
编码器100的实施例可用于根据优化标准,例如,最小残差(例如,提供与当前图像块103最相似的预测块155的帧内预测模式)或最小率失真等,选择帧内预测模式。
帧内预测单元154用于根据帧内预测参数153,例如,选定的帧内预测模式153,确定帧内预测块155。
尽管图1针对帧内编码示出了两个不同的单元(或步骤),即帧内估计152和帧内预测154,但是这两种功能可以作为一个单元(或步骤)来执行(帧内估计(通常/总是)需要/包括计算帧内预测块,即,该或“一种”帧内预测154),例如,通过迭代测试可能帧内预测模式的所有可能的或预定的子集,同时存储当前最佳的帧内预测模式和相应的帧内预测块,并将当前最佳帧内预测模式和相应的帧内预测块作为(最终)帧内预测参数153和帧内预测块155,而不在其它时间执行帧内预测154。
熵编码单元170用于单独或联合(或完全不联合)对量化残差系数109、帧间预测参数143、帧内预测参数153和/或环路滤波器参数应用熵编码算法或方案(例如,可变长度编码(variable length coding,VLC)方案、上下文自适应VLC(context adaptive VLC,CALVC)方案、算术编码方案、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)),以获取可由输出172输出的编码图像数据171,例如,呈编码码流171的形式。
图2示出了示例性视频解码器200,用于接收例如由编码器100编码的编码图像数据(例如,编码码流)171以获取解码图像231。
解码器200包括输入202、熵解码单元204、反量化单元210、逆变换单元212、重构单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260、帧间预测单元244、帧内预测单元254、模式选择单元262和输出232。
熵解码单元204用于对编码图像数据171执行熵解码,以获取量化系数209和/或解码的编码参数(未在图2中示出),例如,(解码的)帧间预测参数143、帧内预测参数153和/或环路滤波器参数中的任一个或全部。
在解码器200的实施例中,反量化单元210、逆变换单元212、重构单元214、缓冲器216、环路滤波器220、解码图像缓冲器230、预测单元260和模式选择单元262用于执行编码器100(及其相应功能单元)的逆处理以解码所述编码图像数据171。
具体地,反量化单元210的功能可与反量化单元110的功能相同,逆变换单元212的功能可与逆变换单元112的功能相同,重构单元214的功能可与重构单元114的功能相同,缓冲器216的功能可与缓冲器116的功能相同,环路滤波器220的功能可与环路滤波器120的功能相同(关于实际环路滤波器,因为环路滤波器220通常不包括根据原始图像101或块103确定滤波器参数的滤波分析单元,但从例如熵解码单元204接收(显式地或隐式地)或获取用于编码的滤波器参数),解码图像缓冲器230的功能可以与解码图像缓冲器130的功能相同。
预测单元260可包括帧间预测单元244和帧内预测单元254,其中帧间预测单元244的功能可与帧间预测单元144的功能相同,帧内预测单元254的功能可与帧内预测单元154的功能相同。预测单元260和模式选择单元262通常用于执行块预测和/或仅从编码数据171获取预测块265(无需原始图像101的任何其它信息)以及从例如熵解码单元204接收或获取(显式地或隐式地)预测参数143或153和/或关于选定预测模式的信息。
例如,解码器200用于通过输出232来输出解码图像231,向用户呈现或便于用户查看。
如J.Chen等人于4月20日至26日在美国圣地亚哥的ITU-T SG 16WP 3的联合视频拓展组(Joint Video Exploration Team,JVET)和ISO/IEC JTC 1/SC 29/WG 11,JVET-B0021的第二次会议的“联合拓展测试模型1的算法描述(Algorithm Description ofJoint Exploration Test Model 1)”的2.5.1节所述(以引用的方式并入本文中),以及下文进一步描述的残差符号预测(residual sign prediction,RSP)所述,视频编解码器可以包括多核心变换编码的技术,即能够从多个变换核心中选择变换核心(基函数)的技术。参考上述图1和图2,多核心变换可分别在编码器100的变换单元106和逆变换单元110以及解码器200的逆变换单元212中实现。其中一个技术是自适应多核心变换(还表示为AMT)。除了在HEVC中使用的DCT-II和4×4DST-VII之外,AMT方案用于帧间编码块和帧内编码块的残差编码。除了HEVC中的当前变换之外,还利用来自DCT/DST系列的多个选定变换。新引入的变换矩阵为DST-VII、DCT-VIII、DST-I和DCT-V。
AMT适用于小于64×64的CU,AMT是否适用由CU内所有变换单元(transform unit,TU)的CU级标志控制。当CU级标志等于0时,在CU中应用DCT-II对残差进行编码。对于AMT启用的CU内的每个TU,会发送两个其它标志以标识要使用的水平变换和垂直变换。
对于帧内残差编码,由于不同帧内预测模式的残差统计不同,因此使用模式相关的变换候选选择过程。如表1所示,定义了三个变换子集,根据帧内预测模式选择变换子集,如表2所示。
表1:三个预定义的变换候选集
Figure BDA0002663406580000131
使用子集概念,当CU级标志等于1时,首先根据表1使用每个TU的帧内预测模式标识变换子集。之后,对于水平变换和垂直变换(表2中表示为H和V)中的每个变换,例如,根据显式指示的标志,选择表2中的标识的变换子集中的两个变换候选中的一个。应注意,此描述与AMT过程有关。
一般而言,本发明适用于指示获得系数的变换的任何其它方式。例如,表1可以包括或多或少不同的变换和变换集。使用表2的信令也可以用其它类型的信令代替。
表2:每种帧内预测模式的选定(H)水平变换集和(V)垂直变换集
Figure BDA0002663406580000141
然而,对于帧间预测残差,所有帧间模式以及水平变换和垂直变换仅使用一个由DST-VII和DCT-VIII组成的变换集。
可以在变换域中执行残差符号预测。如果编解码器使用多个核心变换(例如,在AMT的情况下),则编解码器在多个变换域中使用残差信号操作。变换系数符号的预测应考虑变换系数所属的变换域。由于预测误差的概率取决于所使用的核心变换,如果核心变换选择和符号预测之间没有协调,变换域残差符号预测(transform domain residual signprediction,TD-RSP)的编码效率就会受到不利影响。
如上所述,一些图像和视频编解码器对量化变换系数进行编码。非零变换系数有符号,即由绝对值和正号或负号组成。对一个系数的符号进行编码需要一个指示是正号还是负号的位。换句话说,符号位值0可以指示正号,符号位值1可以指示负号,反之亦然。
最先进的视频编码标准不使用量化变换系数符号的熵编码。在H.264/AVC和H.265/HEVC中,符号数据被认为是等概率的(正负号等概率出现),因此在CABAC旁路模式下对其进行编码。然而,可以通过分析重构块之间的不连续性来预测符号数据。提供较小不连续性的量化变换系数的符号出现的概率比提高不连续性的量化变换系数的符号的概率更高。几种方法都基于这种统计属性,如K.Kazui等义于2010年4月在德国德勒斯登的第一次JCT-VC会议上的贡献JCTVC-A115“Video coding technology proposal by Fujitsu(富士通的视频编码技术提案)”(下文称为JCTVC-A115)和US 2017/0142444 A1(下文称为US’444),均以引用的方式并入本文中。
JCTVC-A115的技术如图4所示。该技术根据邻块(先前处理(即,编码或解码)的相邻块,在该示例块中,当前块410的顶部、左上角和左侧的邻块)中的像素估计当前块410的变换系数的符号并用CABAC对估计符号与原始符号的差值进行编码(0:相同,1:不同)。如果符号得以很好地估计(预测),那么差值趋于零,CABAC可以提高编码效率。
通常,当前块410的边界处的像素A与邻块一侧同一边界处的像素高度相关。此属性用于预测当前块410中变换系数的符号。假设存在M个非零系数(C(1)、C(2)……C(M))符号,将在当前块410中预测这些系数的符号,这些符号的可能组合K(SK(1)、SK(2)……SK(M))的数量为2M。组合范围为(+、+……+)到(-、-……-)。在该示例中,变换系数是离散余弦变换(discrete cosine transform,DCT)系数。确定系数包括其绝对等级值(无符号值,即幅度)和符号组合K。将这些系数逆变换成像素域并进行反量化(即,缩放和取整),产生量化残差块440(预测误差)。将像素域中的预测误差440相加到预测块430,获得重构块420。将当前块410的上边界和左边界处的重构边界像素B与从邻块外推的像素A(由图4中的箭头指示)进行比较。针对所有组合K执行此操作。将符号组合K定义为估计符号,所述符号组合K将像素A与像素B之间的平方误差最小化。也可以将绝对差和进行最小化。
图5示出了JCTVC-A115中提出的方法与传统H.264/AVC符号编码的比较,下表3总结了JCTVC-A115的方法执行的特定步骤。
表3:用于系数符号预测和编码的方法步骤
Figure BDA0002663406580000151
从图5的顶部部分可以看出,传统的H.264/AVC方法通过CABAC旁路编码对所有符号进行编码。
图6示出了当前块610和当前块610顶部上的像素630以及当前块610左侧的像素620的详细视图。像素630和620属于邻块。
在空间(像素)域中,成本函数F定义如下:
Figure BDA0002663406580000152
其中N和M分别是块的高度和宽度。从等式1可以看出,如果像素值Yi,0和Y0,j(i=0……N且j=0……M)的值与最接近与相应邻块的边界的邻块中两行(Z1,j和Z2,j)和两列(Xi,-2和Xi,-1)中的像素值相似,则成本函数F的值较小。
上述摘要文档中提出的技术涉及进行符号估计的逆变换,因为使用像素值的差值计算给定符号集的成本函数值F,其中,所述给定符号集通过所检查的假设(该假设对应特定组合K)确定。尽管存在快速估计方法,但向空域转换的计算成本仍然很高,是这些方法的一个主要缺点。
鉴于此,本发明提供了一些实施例,这些实施例可以减少执行符号预测所需的运算数量。这可以通过在变换域中计算成本估计而不是在空间域中计算成本估计来实现。
具体地,根据一个实施例,提供了一种图像块解码装置,包括处理电路,用于:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号重构所述多个系数的所述符号。
应注意,所述多个系数可以是有限M个非零系数。如上所述,M个系数可以是当前块的系数中幅度最大的M个系数。然而,本发明并不限于此,M个系数可以仅仅是当前块中按照预定顺序的前M个非零系数。所述预定顺序可以是扫描顺序,其中,所述扫描顺序可以通过在标准中定义该扫描顺序或在标准中定义一组扫描顺序来预先确定,所述一组扫描顺序可通过在码流内信号发送或从码流中的一些不同参数(如预测模式等)隐式导出等来配置。或者,可以在码流中完整地发送扫描顺序。在对系数应用量化的情况下,系数通常是已经量化的系数。
因此,与上文讨论的图4相反,不将预测信号430相加到重构残差440,而是从相邻像素值中减去预测信号430,因为不执行逆变换,因此未使用重构残差信号440。具体地,不对残差信号进行逆变换以获得重构边界像素,而是对与当前块相邻的像素与外推到相邻像素的区域的当前块的预测信号的像素之间的差值进行正变换。
此外,根据示例性实现方式,成本函数包括邻近变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的平方变换差之和。
使用平方范数具有帕塞瓦尔恒等式的优势。根据帕塞瓦尔恒等式,在正交变换(例如,离散余弦变换(discrete cosine transform,DCT)和离散正弦变换(discrete sinetransform,DST))的变换域中计算的平方差之和(sum of squared difference,SSD)应该提供与在空间(像素)域中所计算的SSD相同的结果。因此,所提出技术的编码效率不应低于上文结合JCTVC-A113和US’444所述技术的效率。
由于符号预测在变换域中进行,因此由于消除了执行逆变换所需的计算,上述实施例的计算复杂度可以大大降低。因此,本实施例的实现方式可以是对硬件友好的,并且不需要额外的RAM和ROM内存缓冲器。此外,可以重用用于执行变换的正变换模块106。只需要从列缓冲器中取一次边界像素。
根据一个实施例,也使用CABAC上下文模型,而不是使用等概率符号值编码(旁路)对符号预测误差进行编码。然而,在编码器中和解码器中以类似方式执行的符号估计程序的执行方式与上文结合图4和图5描述的程序不同。
从图7可以看到上文提到的实施例的示例性实现方式的示意图。下文是这种实现方式的特殊性:
-在变换域中进行符号预测;
-将预测信号传播到邻块区域,而不是重构当前块并从邻块的对应像素减去其边界像素。
为了简单起见,图7中仅考虑邻块的列。
根据应用本实施例的框架,还可以使用上列、右行甚至下列。换句话说,符号预测可以使用任何可用的边界像素。在上述示例中,假设可用块为顶部块、左侧块和左上角块。这对应于如下假设:块的处理顺序从左到右,从上到下,这在当前编解码器中是常见的。通常,在解码器中,可以使用任何之前解码的邻块(按照解码的顺序)。相应地,在编码器中,可以使用任何之前编码的邻块。
在实施例的一种实现方式中,重新定义成本函数F以使用像素差的平方而不是模(绝对差之和):
Figure BDA0002663406580000171
其中,N和M是块的高度和宽度;X、Y和z的定义仍然与结合图6所述的定义相同。
重构块710由预测720部分和残差730部分构成:
Yi,j=Pi,j+Ri,j
其中,Pi,j是位置i,j上的预测像素,是Ri,j位置i,j上的预测误差像素(残差)。
在这种情况下,可以将等式1a中的分量重新排列如下:
Figure BDA0002663406580000172
其中:
Tn=[2Xn,-1-Xn,-2-Pn,0],
Vm=[2Z-1,m-Z-2,m-P0,m],
Qn=Rn,0,Om=R0,m
根据帕塞瓦尔恒等式,等式1a的函数F可以在变换域中重写为以下等式2:
Figure BDA0002663406580000173
在上文等式2中:
tn=Trans1D(Tn),
qn=Trans1D(Qn),
vn=Trans1D(Vn),
on=Trans1D(On),
其中Trans1D(.)是一维正交变换。
因此,可以计算成本函数,从而可以在变换域中预测量化变换系数的符号。
为了确定qn、on与残差的二维变换rn,m=Trans2D(Rn,m)之间的关系,按一般形式写出Rn,m与rn,m之间的关系:
Figure BDA0002663406580000174
其中,
Figure BDA0002663406580000175
是变换核心(基函数)。例如,二维DCT(two-dimensional DCT,DCT2)的基函数如下:
Figure BDA0002663406580000176
此外,以下等式3分别定义在像素域(Qn)和变换域(qk)中与邻块的边界处当前块的列的残差:
Figure BDA0002663406580000181
Figure BDA0002663406580000182
上文第一个等式是rk,l的逆变换,恢复Qn个像素(通过Qn的定义)。变换核心W在这里是正交的,即正变换(第二等式)和逆变换(第一等式)重合。不需要对Qn进行1D变换(第一个等号):实际上,qk是rk,l的反1D变换(第二个等号)。
就on(列)和rn,m而言,有类似的关系。具体地,qk(行系数)对应W0,lrk,l,on(列系数)对应Wm,0rk,l。相应地,与qk相比,零索引只是改变o的位置。
因此,等式2中的上述成本函数F可以在频域中完全计算。在此基础上,计算多个系数的符号的预测。
在图像块解码装置中,处理电路可以用于:从编码码流中解析出符号预测误差;重构所述符号,包括向预测符号加上解析的符号预测误差。
图7示出了上文结合图4描述的方法的比较。具体地,参考符号710、720和730分别对应相应符号420、430和440,并且表示重构块、预测块和残差块。也如图1中所示,通过如下方式获得残差块:对块A的变换系数使用M个符号的第K个假设(符号组合),然后对具有符号的系数进行逆变换和解量化(块IQ+IDCT)。
为了避免对每个检验假设进行这种逆变换和反量化,图7示出了本发明实施例的方法。具体地,将块A的系数(对应块A与邻块740的边界处的列qn)与变换差值列Bcol进行了比较。通过如下方式获得变换差值列Bcol(对应tn):从邻块列770中减去传播预测信号760,从而获得像素域中的差值信号750,将差值信号750转换为变化差值。所述变换是任何正交变换,如变换到频谱域中,例如,DFT、FFT、DCT或DST或其整数版本。差值信号750对应Tn=[2Xn,-1-Xn,-2-Pn,0],其中,来自邻块的传播预测770为(2Xn,-1-Xn,-2),块790的预测760为Pn,0。获取通过Xn,-2与Xn-1(即邻块边界处的两列)之间的斜率确定的外推部分作为传播预测770。
然后,在变换域中通过以下成本函数进行图7中A与B之间的比较:
Figure BDA0002663406580000183
从上文成本函数中可以看出,它对应上文等式2中的成本函数F,但是受限于其基于左侧邻块的列部分,省略了基于顶部邻块的行部分。这仅仅是用于简单解释的一个示例。如本领域技术人员所清楚的,任何邻块都可用于以类似方式进行比较。
通常,根据该实施例,所述处理电路还用于预测变换图像块的多个系数的符号,包括:
-计算邻近变换图像块的相邻像素770与根据图像块790的预测信号P计算的相邻像素的预测760之间的变换差值B;
-计算成本函数F,其中,所述成本函数包括所述变换差值与变换图像块A之间的平方变换差之和,其中,根据假设集合K=1..2^M中符号SK(i) (i=0..M-1)的每一个假设K重构所述变换图像块A;
-选择将成本函数F提供的成本降到最低的符号的假设K作为预测符号(对应predicted signs=arg minKF)。
例如,通过将符号SK(i)的假设相加到从编码码流中解析的系数C(i)来重构变换图像块。将这种方法用于检验K假设,找出使成本函数最小化的最佳假设。该假设成为块A的预测符号。此外,为了获得块A的符号,然后将预测符号相加到符号预测误差,其中,可以使用上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding,CABAC)从码流中解码所述符号预测误差。
如上文所解释,在一种特定的示例性实现方式中,成本函数F通过以下提供:
Figure BDA0002663406580000191
其中tn=Trans1D(Tn),qn=Trans1D(Qn),vn=Trans1D(Vn),on=Trans1D(On);其中,Trans1D(.)为一维正交变换,Tn=[2Xn,-1-Xn,-2-Pn,0],Vm=[2Z-1,m-Z-2,m-P0,m],Qn=Rn,0,Om=R0,m;其中,P为预测信号,X和Y为相邻像素,N和M分别为预测符号所在块的高度和宽度。
应注意,相邻像素可以位于图像块的水平边界和垂直边界。垂直边界可以是左边界或右边界,水平边界可以是顶边界。如果在对当前块进行处理(解码)时已经对顶部和左侧(和/或右侧)的邻块进行了解码,那么这是有益的。然而,本发明实施例不限于此。通常,在对当前块进行解码时已经解码(因此可用)的一个或多个邻块可以用于预测符号。然后,成本函数F包括当前块像素相对于来自相应可用邻块的那些边界像素的对应平滑度检查。
图8示出了一个实施例提供的编码流程图。图8还包括在残差符号预测过程内的上下文选择和熵编码(见块808)和嵌入到码流中(见块811)。
上下文确定过程802使用了与变换和量化残差对应的量化变换系数801,其中,所述上下文确定过程802的操作方式与US’444中所述的方式类似。
US’444提供了有关符号估计的更多细节。例如,它示出了与上文表3的步骤3不同的预测符号编码方法。该修改通过引入两个预测符号列表来实现(表3步骤1的修改)。属于这两个列表的预测符号使用不同的CABAC上下文进行编码。指定以下规则来填充这些列表:
-第一列表用幅度大于预定义阈值T1的系数符号填充。第一列表中的符号总数受预定义值M的约束;
-如果第一列表中的符号数量n小于M,则填充第二列表。第二列表中的符号总数受(M-n)约束,使得两个列表中的符号总数不超过M。填充第二列表的系数按它们在光栅顺序中的位置排序,其幅度不应大于开。
对符号进行编码的上下文取决于它属于第一列表还是第二列表(表3中步骤3的差异)。
根据符号所属的列表确定对符号预测误差进行编码的上下文。该过程802的结果是系数的候选位置集合和与这些系数位置关联的上下文Cxj。之后,如US’444之一的机制等特殊机制选择执行属于集合符号预测的位置中的哪个位置(即,选择符号预测的M个系数)。对于那些未被选择的位置,执行传统的符号编码过程809。在其它情况下(对于所选择的M个系数),根据上文描述的图7和等式2和等式3执行符号预测806。
具体地,为了预测符号806,需要邻块的重构像素。从相邻像素获取过程803提供的相邻像素中减去当前重构块804的预测信号的像素。1D变换805提供在等式2中使用的tn和vm。预测变换残差符号806包括根据等式3计算qn和on,根据等式2获取成本函数值。
变换域中的计算的计算方式比较简单,因为并非tn和vm的所有可用系数都用于计算成本函数。相反,该方法仅使用属于特定行和/或特定列的若干系数。该行和列是系数位置的对应指数,所述系数的符号正在被预测。成本计算块807生成使等式2的成本函数最小化的符号集合。然后计算符号预测误差,所述符号预测误差与M个系数的实际符号与系数的预测符号之间的差值对应。在处理块808中利用上下文Cxj对符号预测误差进行熵编码。所得位与传统符号编码809的结果相结合,并在过程811中嵌入码流中。
换句话说,除了解码器,提供了一种图像块编码装置,包括处理电路,用于:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号重构所述多个系数的所述符号。
所述多个系数可以对应上文提到的M个系数。M值可以是固定的,也可以是由幅度超过某个阈值的系数的数量提供。还应注意,多个M小于上文示例中的所有非零系数。然而,原则上,符号预测也可以应用于所有非零符号。根据一种有利的实现方式,符号经预测的M个系数是当前块的非零系数中幅度最大的M个系数。
上文提到的系数编码可以通过如下方式执行:确定多个系数的符号与多个系数的预测符号之间的差值作为符号预测误差;然后将所确定的符号预测误差插入包括编码图像块的编码码流中。编码码流可以是码流,也包括当前块的图像数据以及关于对当前块,和/或静止图像或视频图像的其它块进行编码的模式的其它信令信息。
又如参考符号解码的描述,实施例的成本函数包括邻近变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的平方变换差之和。具体地,在该实施例中,所述编码装置的处理电路可以用于:预测变换图像块的多个系数的符号,包括:计算邻近所述变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的变换差值;计算成本函数,其中,所述成本函数包括所述变换差值与所述变换图像块之间的平方变换差之和,其中,根据假设集合中符号的每一个假设重构所述变换图像块;选择将所述成本函数提供的成本降到最低的符号的假设作为预测符号。
所述假设集合由M个符号的组合K构成,可以包括所有可能的组合(即,M个组合的2的幂)。编码器还可以包括处理电路,用于:通过二进制编码对除M个符号之外的其余变换系数符号进行编码-1为正号,0为负号,反之亦然。
成本函数F也可以使用与解码器相同的方式提供,即
Figure BDA0002663406580000201
Figure BDA0002663406580000202
其中tn=Trans1D(Tn),qn=Trans1D(Qn),vn=Trans1D(Vn),on=Trans1D(On);其中,Trans1D(.)为一维正交变换,Tn=[2Xn,-1-Xn,-2-Pn,0],Vm=[2Z-1,m-Z-2,m-P0,m],Qn=Rn,0,Om=R0,m;其中,P为预测信号,X和Y为相邻像素,N和M分别为预测符号所在块的高度和宽度。
编码器的处理电路还用于:使用上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding,CABAC)对符号预测误差进行编码。然而,本发明不限于采用CABAC。而是采用使码字的长度适应于用相应的码字(如CAVLC或任何VLC编码)对对应符号进行编码的概率的任何熵编码。
根据一个实施例,提供了一种图像块编码装置,包括处理电路,用于:
-预测1320通过使用多个变换中的一个变换对图像块信号进行变换1300获取的变换系数的符号;
-确定1340符号预测误差,所述符号预测误差指示所述符号预测是否正确;
-根据所述多个变换中的一个变换,选择1360用于对所述符号预测误差进行熵编码的上下文;
-通过使用选定上下文应用熵编码对所述符号预测误差进行编码1380。
变换系数的符号预测可以如上文参考图6所描述的方式执行,即根据与具有预测符号的块的平滑过渡及其邻域相关的成本函数。一般而言,符号预测对应于最可能的假设,即符号位值最小化成本函数(特别是最小化成本,它可以对应于最大化平滑度,从而最小化具有预测符号的块与邻域之间的差异)。成本函数计算可以在频域中进行,降低了计算复杂度。
图像块可以指当前图像的当前图像块,即当前处理的图像块。可以针对图像中的每个图像块或图像中的一些图像块,以块为基础来应用本文描述的单个图像块的处理(编码)。
应注意,例如,在本描述中,图像块信号可以是预测误差信号,对应于图1中的残差块105。换句话说,变换应用于残差,而不是直接应用于像素点值。这也是在H.264/AVC或H.265/HEVC等若干编解码器中通常应用的变换编码方式。然而,一般而言,本发明也适用于对图像块103进行直接变换,即亮度和/或色度像素点或图像块的任何其它表示。
指示符号预测是否正确的符号预测误差可以是符号预测与变换系数的真实符号之间的差。也可以是二进制值,例如,如果符号预测正确,则值可以是零(对应于预测与原始符号之间的零差);如果符号预测不正确,则值可以是1(对应于预测与原始符号之间的差1),或者其它结果。如果预测效果好,大多数时候符号预测误差等于零(一般指预测正确值)。因此,熵编码可以比固定长度编码更高效。
上下文选择可以根据不同变换和各自的上下文之间的关联来执行。例如,多个变换中的每个变换与单个上下文关联。所述关联为每个变换指定要选择或用于对应变换系数的熵编码的上下文。应注意,术语“变换(transform)”和“变换(transformation)”在本文中用作同义词。
此外,上下文选择可以根据不同变换和各自的多个上下文(集合)之间的关联来执行。例如,多个变换中的每个变换可以与相应多个上下文关联。除了所使用的变换之外,如果使用其它参数或标准来确定关联上下文,则多个上下文是适用的。具体地,随后可以根据所述其它参数或标准从相应的多个上下文中选择熵编码的上下文。所述关联为每个变换指定多个上下文(集),从多个上下文中选择所述上下文(根据所述其它参数)并用于对对应变换系数进行熵编码。
例如,为了实现关联,可以使用查找表(look-up table,LUT),如图11所示。具体地,图11在表N的第一行中示出了从T0到TN的垂直变换,N为大于1的整数。在表格的第一列中,显示了相同的用于水平变换的变换T0到TN。然而,应注意的是,所述表的行数可以与列数不同,并且通常,水平变换和垂直变换可以不同。表格中的单元格表示为CTXij(i和j分别代表表行和列的整数索引),可以直接表示待选择的用于已通过变换进行变换的图像块的残差符号预测误差编码的上下文。例如,上下文可以通过出现概率p(1)为1或出现概率p(0)为0来表示,其中p(0)+p(1)=1。
然而,在一些实施例中,表格的单元格不直接包括上下文。相反,CTXij可以是存储可适用上下文的存储器的指针。例如,CTXij可以是指向存储在存储器中的表中的上下文的索引(整数)。在除了变换之外还使用其它参数来选择用于对残差预测误差进行编码的上下文的情况下,这种表示尤其有优势。具体地,用作索引的指针可以指向表1的行和表2的行。表1可保存与其它参数的第一值的索引值关联的上下文。表2可保存与其它参数的第二值的索引值关联的上下文。相应地,指针(索引)CTXij标识上下文表中的上下文,其它参数标识上下文表。然而,应注意,上述示例仅仅是一部分可能的实现方式。或者,一个或多个其它参数可以定义指向表的指针,所述表可以从对应于相应变换(例如,垂直变换和水平变换的组合)的多个表中确定。
对图像块进行变换以获取其系数可以是水平变换THOR和垂直变换TVER的组合。图11的表格顶部为水平变换(左侧)和垂直变换(右侧)。具体地,对行进行水平变换,对图像块的列进行垂直变换。水平变换和垂直变换的不同组合的效果如图15所示。图15还示出了可以属于上述DCT-II、DCT-IV、DST-IV和恒等变换等多个变换的一些示例性变换,其中输入图像的每个像素点值都不变,直接映射到输出图像的对应像素点值。然而,本发明不限于这些变换,还可以使用离散傅里叶变换(discrete Fourier transformation,DFT)或快速傅里叶变换(fast Fourier transformation,FFT)或其任何整数形式的其它变换。可以另外使用或替代使用上文表1中所示的变换。一般而言,任何变换都是适用的,例如正交变换或正交线性变换。应用可划分的2D变换可提供一些优势,即,变换可被划分为水平变换和垂直变换,当这些变换在彼此之后应用时,产生2D变换。然而,本发明并不限于此,一般而言,可使用任何2D变换。在应用不可划分的2D变换的情况下,这些变换中的每个变换都与特定上下文集关联。
熵码向更频繁的源符号分配更短的码字。如果源符号的分布不均匀,则这种编码是高效的。在符号预测误差的情况下,源符号可以是0或1,分别表示对符号的正确预测和错误预测。上下文表示0和1的概率。由于只有两个可能的符号,上下文可以由概率0或1(因为它们加起来等于1)提供。
符号预测误差是使用选定上下文进行熵编码/解码的。具体地,但并非完全地,上下文自适应二进制算法编码(Context-Adaptive Binary Arithmetic Coding,CABAC)引擎可用于使用选定上下文进行熵编码/解码。然后,CABAC上下文可以受上述属于自适应多变换(Adaptive Multiple Transform,AMT)/增强多变换(Enhanced Multiple Transform,EMT)的垂直变换和水平变换的给定组合的限制。
在完成残差符号预测步骤并获得指示量化残差变换系数的符号预测是否正确的符号预测误差值之后,在一个示例性实现方式中,执行以下步骤以获取上下文对符号预测误差进行编码:
-扫描相邻像素。即,确定与待估计符号的当前块相邻的可用像素,并且提供这些像素以进行进一步处理。
-如上述实施例所述,对相邻像素的行和/或列之间的差分信号与预测信号执行正向1D变换。该变换对应于用于获取系数的变换。
-在需要预测位的量化残差信号中选择系数。即,选择M>1且小于块中非零系数的数量的M个系数。或者,可以将所有非零系数用于符号预测。
-检查位值(对应于系数符号)的假设,并编码对应于最可能假设的码预测误差信号。
-选择受限于属于AMT/EMT的垂直变换和水平变换的给定组合的CABAC上下文,或者通常选择CABAC上下文用于变换,所述变换用于获取系数和优化符号预测的成本函数。
-使用具有选定上下文的CABAC引擎对符号预测误差进行编码/解码。
根据一个实施例,根据变换系数的无符号值,选择1360所述上下文。换句话说,无符号变换系数的值确定了上述其它参数。应注意,本实施例中描述的对变换敏感的上下文通常适用于变换系数,无论它们在变换后是否(以及如何)被量化,以及它们是否通过直接变换图像像素点/像素值或残差而获取。然而,涉及HEVC及其改进的示例通常可将变换应用于残差。
例如,无符号值可以是基于变换系数的范数的值或基于变换系数的绝对值的值。
根据一个实施例,处理电路还用于:预测1320M个变换系数中的每个变换系数,M为整数,大于1且小于通过对所述图像块进行变换而获取的变换系数的数量;确定1340所述M个变换系数中的每个变换系数的符号预测误差;将所述M个变换系数通过阈值分成两个列表,其中第一列表包括绝对值大于所述阈值的变换系数,第二列表包括绝对值等于或小于所述阈值的变换系数;根据所述M个变换系数的变换系数属于所述第一列表还是所述第二列表,选择1360用于对所述M个变换系数的变换系数的符号预测误差进行熵编码的上下文;通过使用所述相应的选定上下文应用熵编码对所述M个变换系数的所述变换系数的所述符号预测误差进行编码1380。换句话说,如果系数属于列表1,则使用上下文1对其符号的预测误差进行编码。另一方面,如果系数属于列表2,则使用上下文2对其符号的预测误差进行编码。如上所述,变换已经预先选择了上下文1和上下文2。例如,根据变换获取上下文1和2的指针。
阈值是预定或预定义的阈值,该阈值可以包含在标准中。可以根据经验来设置阈值。它的目的是区分“自然”的不连续性(由图片的自然属性引起)和“人工的不连续性”(在这种情况下,由变换系数的错误符号引起)。例如,可以通过尝试不同值并观察它们对给定图像数据库上的编码效率的影响来获取阈值。阈值不一定定义为常值。可以在图像级的码流中,例如,在序列参数集(sequence parameter set,SPS)或图像参数集(pictureparameter set,PPS)中发送。
上述清单可以是RSP清单,如下所示:
-HP列表(大概率列表)是包括幅度高于阈值的此类量化变换系数的位置的列表,因此,可以以较大概率正确预测这些量化变换系数的符号;
-LP列表(小概率列表)是包括幅度低于阈值的此类量化变换系数的位置的列表,因此,可以以较小概率正确预测这些量化变换系数的符号。
但是,应当指出,可以有两个以上列表。
例如,回到图11,使用垂直TVER和水平THOR变换的索引,可以从2D LUT中获取一个指针CTXKL(K和L是表行和列的索引)。该指针CTXKL可访问用于对属于相应HP列表和LP列表的残差变换系数的符号预测误差进行熵编码/解码的两个(可能不同的)上下文CTXKLH和CTXKLL。一般而言,通过CTXKL可用的上下文数量等于RSP列表的数量。指针CTXKL可用于选择对应于残差变换系数所属的RSP列表的上下文。
在本实施例中,对图像块进行变换得到的一些变换系数的符号使用CABAC旁路模式进行编码。也就是说,非零系数的数量比通过对图像块进行变换而获取的系数的总数少至少2个,不进行熵解码(也参见上文结合图8进行的描述)。因此,剩余要进行熵编码的变换系数的数量是M个。因此,M至少为2且小于通过对图像块进行变换而获取的系数的总数。
一般而言,可以有两个以上列表。然后,变换系数可以根据系数值分布在列表中。因此,在这种情况下,可以有若干个阈值,这些阈值定义对应的无符号系数值范围。例如,大于第一阈值的变换系数可包括在第一列表中,小于第二阈值的变换系数可包括在第二列表中,其余变换系数可包括在第三列表中。根据此示例,除了根据用于从图像块获取相应变换系数的多个变换中的一个变换之外,可以根据M个变换系数的变换系数属于第一列表还是第二列表还是第三列表,选择用于对变换系数进行熵编码的上下文。在两个以上列表的情况下,每个变换与每个列表的一个上下文关联,并且这些上下文中的每个上下文依次与其中一个列表关联。因此,变换和列表的每个组合与至少两个不同上下文中的一个上下文关联。在这种情况下,同一个上下文可以具有多个与它关联的变换和列表组合。具体地,同一变换与不同列表的多个组合可以与同一上下文关联。此外,不同变换与相同列表的多个组合可以与同一上下文关联。
总之,对于M个变换系数中的每个变换系数,如果相应的变换系数在第一列表中,则可以使用第一上下文;如果相应的变换系数在第二列表中,则可以使用第二上下文。因此,通过用于从图像块获取相应变换系数的变换来预先选择所述第一上下文和所述第二上下文。换句话说,每个变换都与这两个上下文关联,每个上下文又与两个列表中的一个关联。这也在图11的LUT表下面进行说明。列表可以按照无符号系数值(升序或降序)进行排序。应注意,这里的术语“列表”通常是指有序(排序)数据集。
根据一个实施例,根据图像块的预测类型是帧内预测还是帧间预测,选择1360上下文。
本实施例的选择标准可以在上述HP/LP列表或其它选择标准的基础上添加或替代地进行选择。因此,CTX指针可以指向用于帧内预测和帧间预测的不同上下文表,或者指向用于预测类型和与列表1或列表2的相关性的组合的不同表。例如,在HP和LP列表这两个列表的情况下,对于每个变换,CTX指针可以指向四个不同的表,也就是说,每个变换可以随后与不同上下文表关联。
本实施例建议根据是使用时间(帧间)预测(即,使用一个或多个不同帧)还是帧内预测(使用与预测块相同图像的相邻像素)对块进行预测来选择不同的上下文集合。作出这种区分有两个原因:
(i)帧间预测块具有比帧内预测块更少的量化变换系数,因为帧间预测通常产生更好的预测。
(ii)帧内预测块使用相邻像素用于预测块和估计不连续性。因此,与帧内预测相比,帧间预测块使用额外的输入数据来预测符号。
更具体地,用于重构块间像素的输入数据包括参考帧的像素点以及残差信号。另一方面,用于重构块内像素的输入数据包括相邻像素点和残差信号。
估计相邻像素和重构像素之间的与符号假设相关的不连续性。事实上,对于帧内预测块,从邻块预测重构像素,即使用那些用于估计不连续性的块预测重构像素。这会导致估计有偏差,因为部分信号由被比较的信号产生。
在帧间预测的情况下,相邻像素不用于获取预测信号,而是用于估计不连续性。从这个意义上说,与帧内预测块相比,帧间预测块具有更多的信息(和更少的偏差)。
根据一个实施例,如果图像块的预测类型为帧内预测,则根据用于预测图像块的帧内预测模式选择1360上下文。
在本实施例中,根据所使用的帧内预测模式选择用于对符号预测误差进行熵编码的上下文,即可以为视频编解码器指定的每个不同的帧内预测模式选择不同的上下文。具体地,可以为帧内预测、DC帧内预测、平面(plane/planar)预测模式的每个特定方向提供不同的上下文,以及为每个非方向模式提供不同的上下文。换句话说,用于预测图像块的帧内预测模式可以是DC预测、平面预测或具有特定方向的方向预测模式,其中每个特定方向可以被视为不同的帧内预测模式(暗示可能要选择的上下文不同)。
本实施例的选择标准可以在上述HP/LP列表或其它选择标准的基础上添加或替代地进行选择。因此,CTX指针可以指向每个帧内预测模式的不同上下文表。这些表看起来可以与表2类似,但用上下文而不是变换集填充。
应注意,可替代地,这里列举的LP/HP列表、帧间预测/帧内预测和/或预测模式(和/或可能为其它参数)等参数的组合可以作为与指针关联的组合,该指针指向具有上下文的表,每个变换一个表。仅仅具有两种可能的实现方式,但是通常,参数/参数组合与相应上下文之间的关联可以以任何方式实现。
通过为每个帧内预测模式指定上下文,可以考虑符号预测概率(sign predictionprobability,SPP)是否取决于帧内预测模式。
根据一个实施例,根据成本函数预测1320变换系数的符号,所述成本函数包括估计沿图像块的边界的不连续性;根据可用于估计图像块的边界上的不连续性的块边数或相邻像素数来选择1360上下文。
因此,通过评估对应于最大化平滑度的成本函数,将不连续性最小化。
与前一示例相比,值得注意的是,存在其它分割框架,其中可以有多于两条边用于帧内/帧间预测和进一步符号预测。例如,底部和/或右侧块可以另外或者对于上述示例的顶部和左侧块可用。实际上,块的可用性取决于图像中块的处理顺序。通常,可以在编码端自适应地确定块编码(处理)顺序,并发送到解码器。因此,编码块的相邻像素可以位于块的不止两个边上。此外,某些边可以部分用于预测。因此,在另一可能的实施例中,通常根据可用于估计沿着当前块的边界的不连续性的块的边数或者相邻像素的数量来选择上下文。具体地,如果应用分层分割,则一个块在其中一个边上可以具有一个或多个邻块。例如,大小为16×16的图像块A在其左边界上可以具有两个大小为8×8的块。在其上边界上,块A可以具有三个邻块:一个8×8块和两个4×4块。其中有些可以用于预测和/或成本函数计算,但有些不一定可用。
根据一个实施例,根据可用于估计不连续性的边缘像素与属于图像块的像素的总数的比值,选择1360上下文。
分割信息也会影响上下文选择过程。例如,如果视频编解码器使用四叉树分割,则所得到的编码块的形状为方形。在这种情况下,影响概率的两个因素为块的大小和相邻像素的可用性。为了考虑这两个因素,本实施例建议使用边缘像素与属于块的像素总数的比值(边缘面积比)。表4提供了该比率的计算示例。具体地,如果当前图像块,即其符号将被预测的块的大小为16×16,并且仅在一边(例如,左边或顶部),则具有可用于预测的相邻像素的像素数为16,而16×16块中的像素数为256。对应的比率为16/256,结果约为0.06。另一方面,如果块的两边具有可用于预测的相邻像素,则具有可用于预测的相邻像素的像素数是2×16-1,等于31。所得的比率是31/256,结果约为0.12。类似地,表4可以按行扩展,假设3或4个边具有可用的相邻像素。
表4:边缘面积比
Figure BDA0002663406580000251
Figure BDA0002663406580000261
可以通过将该比值映射到上下文索引来执行上下文选择。示例性映射如表5所示。表5示出了上下文索引与相应边缘面积比范围之间的关联。在这里,圆括号表示范围界限(例如,0、0.1、0.2、0.3)不包括在范围内,而方括号表示范围界限(例如,0.1、0.2、0.3、0.5)包括在范围内。
表5:根据边缘面积比选择上下文
上下文索引 0 1 2 3
边缘面积比 (0;0.1] (0.1;0.2] (0.2;0.3] (0.3;0.5]
本实施例不仅适用于方形块,也适用于矩形形状。
对于矩形块,表4还可以额外使用长宽比,即块的宽度除以块的高度。在这种情况下,将基于块边的长度(例如,块宽度)和长宽比之一来选择边缘面积比值。可以定义边缘面积比与上下文索引的若干映射(如表5所示),并且可以针对长宽比值选择对应的映射。
根据一个实施例,根据图像块是否位于图像块所在的片的左边界或上边界,选择1360上下文。
通常,切片是图像的一部分,可独立于同一图像中的其它片进行解码。这是通过(1)在片开始时重新启动熵编码和(2)不跨片边界使用帧内预测来实现的。因此,为了达到提供独立片的设计目标,不跨片边界执行RSP可有助于优化成本。
具体地,根据计算成本估计函数进行符号预测。这个函数估计沿当前块的边界的不连续性。显然,可以仅针对相邻像素可用的边界计算成本估计函数。相邻像素的可用性由块编码顺序确定。例如,在z阶块扫描的情况下,当前块可以仅具有左和上可用相邻像素。对齐片左侧或顶部的块的左相邻像素或顶部相邻像素不可用。因此,对于这些块,成本估计函数使用的像素数量较少,因此,这些块的正确符号预测的概率较低。
换句话说,即使图像块可以存在相邻像素,但如果它们属于与图像块所在的片不同的片,则不会使用它们。因此,上下文选择可以考虑图像块在片边界处的位置,作为预测质量的指示,从而用于上下文选择。
在用于符号预测误差的上下文选择的实施例中,使用这种上下文选择考虑了位置的依赖关系。建议为与片的左侧和顶侧对齐的块以及片块的其余部分选择不同的上下文。
根据一个实施例,具体地,使用DC帧内预测模式或平面模式预测图像块;根据是否使用DC帧内预测模式或平面模式预测所述图像选择1360上下文。
如果块具有自然不连续性(例如对象边缘或纹理区域),则其像素值与相邻像素较少相关,因此这些块更有可能使用本实施例使用的非方向模式(即DC模式或平面模式)进行预测。可以提供两个专用上下文:DC帧内预测模式预测一个块时选择一个上下文,当使用平面模式时选择另一个上下文。或者或另外,如果视频编解码器指定比仅DC模式、平面模式更多的非方向模式,则每个其它模式可以提供其它上下文。
或者,平面和DC帧内预测模式可以使用相同的上下文(上下文1或上下文集1),可以与用于定向插值的上下文(上下文2或上下文集2)不同。
根据一个实施例,根据成本函数预测1320变换系数的符号,其中,所述成本函数包括邻近变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。变换域优化已在上述图4至图8中详细描述。
根据一个实施例,所述多个变换中的每个变换与多个上下文中的一个上下文关联,从多个上下文中选择1360所述上下文,使得所述多个变换中的一个变换与所述选定的上下文关联。
如果使用另外的参数或标准来选择上下文,则所述多个变换中的每个变换与多个上下文集中的一个上下文关联。具体地,在这种情况下,多个变换中的每个变换与上下文集关联。然后根据所述另外的参数或标准从所述关联的上下文集中选择上下文。
例如,如图11所示,如果使用其它参数来选择上下文,则多个变换中的每一个变换可以与指针关联。
根据一个实施例,根据各自与多个上下文中的一个上下文关联的所述多个变换中的一个变换,选择1360用于对所述符号预测误差进行熵编码的上下文,其中如果所述多个变换中的第一变换和所述多个变换中的第二变换的预测符号值的概率相差小于预定值,那么所述第一变换与所述第二变换的相同上下文关联。
预定值是一种设计参数,受与编解码器一起使用的变换的总数和特性以及熵编码器的属性影响。具体地,“窗口长度”,即熵编码器的概率模型考虑了多少之前编码的值。因此,预定值可以为各种预定的、利用训练视频序列的数据库测试的经验值。
在另外的实施例中,若干上下文被分组在一起。具体地,如果使用接近水平和垂直帧内预测模式的帧内预测模式来预测块,则可以使用连接上下文(DC和平面模式分组、若干相似或全部方向模式分组等)。
此外,从图12所示的单元格中选择的上下文不是完全唯一的上下文。如果正确符号预测的概率相近,几个上下文可以合并为一个上下文。在图12中,由具有同一CTX00(可以是上下文或指向同一上下文的同一指针)的单元格(0,0)和(1,1)示出。
因此,例如,对于垂直和水平变换的每个组合,不需要一对单独的上下文。如果推测(预测符号)值的概率(例如,Pk1和Pmn)对于这些组合来说足够相近(小于ε),可以合并对应上下文:
abs(Pkl-Pmn)<ε
在这里,索引k、l、m和n标记对应的水平和垂直变换。因此,Pkl表示第k个水平变换与第1个垂直变换组合的概率。
然而,上述公式不限于不同水平变换和垂直变换的组合。对于一些足够小的值ε,
abs(Pi-Pj)<ε
可以合并任意两个具有对应概率的上下文,其中i和j是不同上下文中的索引,包括用于变换的上下文和/或其它参数。
上述公式中的阈值ε由实验确定,因为其选择取决于各种因素,包括但不限于:视频编解码器使用的上下文总数、工作速率点(高码率、中码率、低码率)、熵编码器的效率或其它属性(具体地说是“窗口长度”,即熵编码器的概率模型考虑多少之前编码的值)、每个块预测的最大符号数等,如上所述。
根据一个实施例,预测1320通过使用多个变换中的一个变换对图像块信号进行变换1300获取的变换系数的符号,其中所述变换包括水平变换和垂直变换;对所述上下文的所述选择1320是根据所述变换的所述水平变换和所述垂直变换的组合。
根据一个实施例,所述多个变换中的每个变换是水平变换和垂直变换的组合,所述处理电路还用于:选择1360所述上下文,使得所述水平变换和所述垂直变换的所述组合与所述选定上下文关联。
符号预测误差编码的上下文选择取决于符号预测概率(signpredictionprobability,SPP),即正确预测符号的频率。实际上,不同水平变换和垂直变换组合的SPP差导致必须引入其它(CABAC)上下文。
图11中示出该实例。如图所示,水平变换和垂直变换的每个组合可以与上文所述的指针关联。
然而,一般而言,水平变换和垂直变换的数量可能不同,并且水平变换和垂直变换的变换方式也可能不同。为了清楚说明,第一行可以从T0到TN运行,而第一列可以从T’0到T’M运行。
根据一个实施例,所述垂直变换和所述水平变换的所述组合的相互不同的上下文的数量小于所述垂直变换和所述水平变换的所述组合的数量,垂直变换和水平变换的第一组合与垂直变换和水平变换的第二组合的相同上下文关联。
新引入的上下文数NCTX通过如下不等式计算:
NCTX≤NRSP_LISTs*NTR_COMB
其中NRSP_LISTS是RSP列表的数量(在这种特定情况下,NRSP_LISTS=2,即,HP列表和LP列表中系数的不同上下文),NTR_COMB是可用水平变换和垂直变换的可能组合数(例如,NTR_COMB=5),“*”表示乘法。
在图12中示出,其中(T0,T0)表项与(T1,T1)表项相同,
CTX00=CTX11
但是,与图12相反,垂直变换和水平转换的数量不能相同。此外,水平变换和垂直变换可以不同(见上文)。
在一般情况下,即如果使用其它参数或标准来确定关联的上下文或选择用于进行熵编码的上下文,则上述公式可以由右侧的其它因素来扩展。所述因素与用于确定上下文的其它参数的值的数量相对应。
根据一个实施例,上下文自适应二进制算术编码(Context-Adaptive BinaryArithmetic Coding,CABAC)用于熵编码1380。然而,可以使用任何上下文自适应形式的熵编码,例如上下文自适应可变长度编码(Context Adaptive Variable Length Coding,CAVLC)或不同类型的熵编码(VLC)。
根据一个实施例,提供了一种从码流中解码图像块的装置,所述装置包括处理电路,用于:
-预测1420待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;
-根据所述多个变换中的一个变换,选择1440用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;
-通过使用选定上下文应用熵解码对所述符号预测误差进行解码1460;
-根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定1480所述变换系数的所述符号。
根据对应的逆变换选择用于对符号预测误差进行熵解码的上下文。
对应的逆变换可以是解码器从变换系数中获取图像块或图像块信号的变换。对应的逆变换也可以是编码器用于从图像块或图像块信号获取变换系数的变换的逆变换。然后,可以根据用于从图像块获取变换系数的所述变换来选择用于对符号预测误差进行熵编码的上下文。
逆变换可以是多个逆变换中的一个。通常,多个逆变换可以等同于多个变换,反之亦然。具体地,如在不同的DCT的情况下,变换可以是另一个变换的逆变换。
多个变换中的每个变换可以与多个上下文中的一个上下文关联。为熵解码选择的上下文是与相关变换关联的相应上下文,相关变换是与要对其符号进行熵解码的系数相关的变换。
此外,可以使用其它参数或标准来确定(即选择)进行熵解码的上下文。在这种情况下,多个变换中的每个变换可以与多个上下文关联。根据所述其它参数或标准从与所述变换关联的多个上下文中选择用于熵解码的特定上下文。
与两个不同变换关联的上下文可以是不同的或相同的(例如,合并)。在多个上下文的情况下,与两个不同变换关联的多个上下文可以不同、相同(例如,合并)或具有重叠的上下文(即,仅仅一些相同的上下文——不一定对于相同的其它参数或标准)。
根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定所述变换系数的所述符号。也就是说,解码的符号预测误差指示符号预测是否正确。结合预测符号,可以推断各自的对应系数的正确符号。
本实施例提供的装置还可以包括电路,用于对从码流中解析的变换系数及其符号进行逆变换,如上文所述,变换系数的符号由预测误差和预测进行重构。
图13和图14示出了用于对残差符号预测的预测误差进行编码和解码的方法的步骤。应注意,根据本发明所述的方法包括上文结合处理电路描述的所有步骤。
在图13的步骤1300中,首先对图像块进行变换,并对变换获取的变换系数进行量化。图像块编码方法包括以下步骤:
-预测1320通过使用多个变换中的一个变换对图像块信号进行变换1300获取的变换系数的符号;
-确定1340符号预测误差,所述符号预测误差指示所述符号预测是否正确;
-根据所述多个变换中的一个变换,选择1360用于对所述符号预测误差进行熵编码的上下文;
-通过使用选定上下文应用熵编码对所述符号预测误差进行编码1380。
类似地,图14示出了一种从码流中解码图像块的方法,包括以下步骤:
-预测1420待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;
-根据所述多个变换中的一个变换,选择1440用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;
-通过使用选定上下文应用熵解码对所述符号预测误差进行解码1460;
-根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定1480所述变换系数的所述符号。
在步骤1400中,解析所述码流。这种解析操作可以包括从码流中解析编码的无符号系数值。例如,在对系数值进行解析之后,可以构建LP/HP列表,并如上所述对对应符号进行编码。
图9示出了上文如图1中的编码器中所述实施例的示例性实现方式。具体地,新引入的模块122执行符号预测,修改的模块970执行熵编码。
基于量化系数的幅度定义使用CABAC上下文进行编码的符号的位置,因此,符号预测122使用量化过程108的结果。熵编码模块970可以包括以下两个修改:
-对符号预测误差123而不是量化变换系数109方框内的M个给定位置的集合的符号值进行编码。
-引入新的上下文,应用这些新的上下文以在熵编码器970中对符号预测误差123进行编码,从而产生输出971。
-此外,根据一个实施例,根据方框106中应用的变换以及如上所述的可能其它标准来选择熵编码的上下文。
图10示出了上文如图2中的解码器中所述实施例的示例性实现方式。
图10中的解码器具有对应的新符号预测模块122和修改的熵解码模块1004。例如,在一些实施例中,可以基于根据在方框106中应用的变换和如上所述的可能其它标准选择的上下文来执行熵解码。
具体地,熵解码模块1004从流系数以及符号预测可能使用的其它语法元素中进行解析。因此,解码模块1004可以执行步骤1400。根据解析的信息,在方框122中对系数符号进行预测,方框122可以执行符号预测1420的步骤。根据预测(在图10中未示出),熵解码模块1004还可以选择上下文1440,使用上下文1460解码符号预测误差并重构符号值1480。
符号预测模块122至少在符号预测计算方面与在编码端使用的符号预测模块基本相同(参考图9),但使用从码流971中解析的预测误差信号123。符号预测123恢复量化变换系数209的一些(M个)符号,所述量化变换系数209位于量化变换系数209的方框内幅度分布所定义的(M)个位置处。在解析过程(熵解码1004)中,仅恢复符号预测误差信号123,而不恢复符号本身。本发明实施例不引入解析依赖性,因为在完成解析过程1004之后,具体地,可以与反量化过程210并行地从预测误差信号123中恢复实际符号值和位置。
将解析的符号预测误差123相加到方框122中的预测符号中,从而产生解码(重构)符号209。预测符号的获取方式与编码器中相同,仅使用已解码的邻块,并测试M个符号的K个假设。
应注意,本说明书提供了图像(帧)的解释,但在隔行扫描图像信号的情况下,字段替代图像。
尽管已主要根据视频编码描述了本发明的实施例,但应注意,编码器100和解码器200(对应地,系统300)的实施例也可以用于静止图像处理或编码,即,视频编码中独立于任何之前或连续的图像的单个图像的处理或编码。通常,在图像处理编码限于单个图像101的情况下,仅帧间估计142和帧间预测144、242不可用。视频编码器100和视频解码器200的大部分(如果不是全部)其它功能(也称为工具或技术)同样可用于静止图像,例如,分割、变换(缩放)106、量化108、反量化110、逆变换112、帧内估计142、帧内预测154、254和/或环路滤波120、220、熵编码170和熵解码204。
本领域技术人员将理解,各种图式(方法和装置)的“方框”(“单元”)表示或描述本发明的实施例的功能(而不一定是硬件或软件中的单独“单元”),因此同样描述装置实施例以及方法实施例的功能或特征(单元=步骤)。
术语“单元”仅用于说明编码器/解码器的功能性,并非旨在限制本发明。
在本应用中提供若干实施例中,应理解,所公开的系统、装置和方法可通过其它方式实现。例如,所描述的装置实施例仅仅是示例性的。例如,单元划分仅仅是逻辑功能划分且在实际实现方式中可以是其它划分。例如,可将多个单元或部件合并或集成到另一系统中,或可忽略或不执行部分特征。另外,所显示或讨论的相互耦合或直接耦合或通信连接可以是通过一些接口来实现的。装置或单元之间的直接耦合或通信连接可通过电子、机械或其它形式实现。
作为单独部分描述的单元可或可不物理分离,作为单元描述的部分可为或可不为物理单元、可位于一个位置或可在多个网络单元上分布。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,本发明实施例中的功能单元可集成到一个处理单元中,或每个单元可物理上单独存在,或两个或更多单元可集成到一个单元中。
本发明的实施例还可包括装置,例如,编码器和/或解码器,包括用于执行本文描述的任何方法和/或过程的处理电路。
编码器100和/或解码器200的实施例以及其它实施例可以实现为硬件、固件、软件或其任何组合。例如,编码器/编码或解码器/解码的功能可以由处理电路执行,其具有或不具有固件或软件,例如处理器、微控制器、数字信号处理器(digital signal processor,DSP)、现场可编程门阵列(field programmable gate array,FPGA)、专用集成电路(application-specific integrated circuit,ASIC)等。
编码器100(和对应的编码方法100)和/或解码器200(和对应的解码方法200)的功能可以通过存储在计算机可读介质上的程序指令来实现。当执行程序指令时,使得处理电路、计算机、处理器等执行编码和/或解码方法的步骤。计算机可读介质可以是包括非瞬时性存储介质的存储程序的任何介质,例如蓝光光盘、DVD、CD、USB(闪存)驱动器、硬盘、通过网络可用的服务器存储器等。
本发明实施例包括或是一种计算机程序,包括程序代码,当计算机程序在计算机上执行时,执行本文中所描述的任何方法。
本发明实施例包括或是一种计算机可读非瞬时性介质,包括程序代码,当程序代码由处理器执行时,所述程序代码使计算机系统执行本文描述的任何方法。
根据一个实施例,提供了一种图像块解码装置,包括处理电路,用于:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号重构所述多个系数的所述符号。
在示例性实现方式中,所述处理电路还用于:从编码码流中解析出符号预测误差;重构所述符号,包括向预测符号加上解析的符号预测误差。
例如,成本函数包括邻近变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的平方变换差之和。
此外,在一种实现方式中,所述处理电路还用于预测变换图像块的多个系数的符号,包括:计算邻近所述变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的变换差值;计算成本函数,其中,所述成本函数包括所述变换差值与所述变换图像块之间的平方变换差之和,其中,根据假设集合中符号的每一个假设重构所述变换图像块;选择将所述成本函数提供的成本降到最低的符号的假设作为预测符号。
例如,通过将符号的假设相加到从编码码流中解析的系数来重构变换图像块。
具体地,成本函数F通过以下提供:
Figure BDA0002663406580000321
其中tn=Trans1D(Tn),qn=Trans1D(Qn),vn=Trans1D(Vn),on=Trans1D(On);其中,Trans1D(.)为一维正交变换,Tn=[2Xn,-1-Xn,-2-Pn,0],Vm=[2Z-1,m-Z-2,m-P0,m],Qn=Rn,0,Om=R0,m;其中,P为预测信号,X和Y为相邻像素,N和M分别为预测符号所在块的高度和宽度。
在示例性实现方式中,相邻像素可以位于图像块的水平边界和垂直边界。
在一些实施例中,所述处理电路还用于:使用上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding,CABAC)对所述符号预测误差进行解码。
根据一个实施例,提供了一种图像块编码装置,包括处理电路,用于:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号对所述多个系数的所述符号进行编码。
根据一个实施例,提供根据权利要求9所述的图像块编码装置,其中,所述处理电路还用于对所述多个系数的所述符号进行编码,包括:将符号预测误差确定为所述多个系数的所述符号与所述多个系数的所述预测符号之间的差值;将所述确定的符号预测误差插入包括所述编码图像块的编码流中。
例如,成本函数包括邻近变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的平方变换差之和。
在一种示例性实现方式中,提供根据权利要求9至11中任一项所述的图像块解码装置,其中所述处理电路还用于:预测变换图像块的多个系数的符号,包括:计算邻近所述变换图像块的相邻像素与根据图像块的预测信号计算的相邻像素的预测之间的变换差值;计算成本函数,其中,所述成本函数包括所述变换差值与所述变换图像块之间的平方变换差之和,其中,根据假设集合中符号的每一个假设重构所述变换图像块;选择将所述成本函数提供的成本降到最低的符号的假设作为预测符号。
例如,成本函数F通过以下提供:
Figure BDA0002663406580000322
其中tn=Trans1D(Tn),qn=Trans1D(Qn),vn=Trans1D(Vn),on=Trans1D(On);其中,Trans1D(.)为一维正交变换,Tn=[2Xn,-1-Xn,-2-Pn,0],Vm=[2Z-1,m-Z-2,m-P0,m],Qn=Rn,0,Om=R0,m;其中,P为预测信号,X和Y为相邻像素,N和M分别为预测符号所在块的高度和宽度。
此外,所述相邻像素可以位于所述图像块的水平边界和垂直边界。
所述解码装置的所述处理电路还用于:使用上下文自适应二进制算术编码(Context-Adaptive Binary Arithmetic Coding,CABAC)对所述符号预测误差进行编码。
根据一个实施例,提供了一种图像块解码方法,包括以下步骤:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号重构所述多个系数的所述符号。
根据一个实施例,提供了一种图像块编码方法,包括以下步骤:根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近所述变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值;根据所述预测符号重构所述多个系数的所述符号。
应注意,结合编码或解码装置中的处理电路描述的上述实施例、实现方式和示例也适用于上述编码和解码方法,其可对应于由相应处理电路执行的步骤。
综上所述,本发明提供了适用于图像和/或视频编码和解码等的变换系数的符号编码和解码的实施例。具体地,预测多个所述符号,并且仅将预测误差信号嵌入码流中。所述预测误差信号可以具有可以用CABAC或其它可变长度(熵)编码进行高效编码的分布。为了高效地执行符号预测,根据成本函数预测变换图像块的多个系数的符号,其中,所述成本函数包括邻近变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。此外,本发明提供了适用于图像和/或视频编码和解码等的变换系数的符号编码和解码的实施例。具体地,预测多个所述符号,并且仅将预测误差信号嵌入码流中。所述预测误差信号可以具有可以用CABAC或其它可变长度(熵)编码进行高效编码的分布。此外,在使用自适应多核心变换时,根据用于获取变换系数的变换,选择熵码对所述变换系数符号进行编码的上下文。
参考符号列表
图1
100 编码器
103 图像块
102 输入(例如,输入端口、输入接口)
104 残差计算[单元或步骤]
105 残差块
106 变换(例如,另外包括缩放)[单元或步骤]
107 变换系数
108 量化[单元或步骤]
109 量化系数
110 反量化[单元或步骤]
111 解量化系数
112 逆变换(例如,另外包括缩放)[单元或步骤]
113 逆变换块
114 重构[单元或步骤]
115 重构块
116 (列)缓冲器[单元或步骤]
117 参考像素点
120 环路滤波器[单元或步骤]
121 滤波块
130 解码图像缓冲器(decoded picture buffer,DPB)[单元或步骤]
131 解码图像
142 帧间估计(inter estimation或inter picture estimation)[单元或步骤]
143 帧间估计参数(例如,参考图像/参考图像索引、运动矢量/偏移)
144 帧间预测(inter prediction或inter picture prediction)[单元或步骤]
145 帧间预测块
152 帧内估计(intra estimation或intra picture estimation)[单元或步骤]
153 帧内预测参数(例如,帧内预测模式)
154 帧内预测(intra prediction或intra frame/picture prediction)[单元或步骤]
155 帧内预测块
162 模式选择[单元或步骤]
165 预测块(帧间预测块145或帧内预测块155)
170 熵编码[单元或步骤]
171 编码图像数据(例如,码流)
172 输出(输出端口,输出接口)
图2
200 解码器
171 编码图像数据(例如,码流)
202 输入(端口/接口)
204 熵解码
209 量化系数
210 反量化
211 解量化系数
212 逆变换(缩放)
213 逆变换块
214 重构(单元)
215 重构块
216 (列)缓冲器
217 参考像素点
220 环路滤波器(在环路滤波器内)
221 滤波块
230 解码图像缓冲器(decoded picture buffer,DPB)
231 解码图像
232 输出(端口/接口)
244 帧间预测(inter prediction或inter frame/picture prediction)
245 帧间预测块
254 帧内预测(intra prediction或intra frame/picture prediction)
255 帧内预测块
260 模式选择
265 预测块(帧间预测块245或帧内预测块255)
图3
300 编码系统
310 源设备
312 图像源
313 (原始)图像数据
314 预处理器/预处理单元
315 预处理图像数据
318 通信单元/接口
320 目的地设备
322 通信单元/接口
326 后处理器/后处理单元
327 后处理图像数据
328 显示设备/单元
330 发送/接收/传达(编码)的图像数据
图4
410 当前块
420 重构块
430 预测块
440 预测误差块
图5
510 根据系数的绝对水平对系数符号进行排序
520 符号估计
530 CABAC编码
540 旁路编码
图6
610 当前块
620 相邻像素列
630 相邻像素行
图7
710 重构块
720 像素域中的预测块
730 像素域中的残差块
740 当前块左侧的邻块
750 差值信号
760 传播预测
770 邻块列
790 当前块
图8
801 残差
802 下文确定
803 获取一个或多个邻块的一行或多行
804 像素域中的预测
805 变换
806 符号预测
807 成本函数评估
808 符号预测误差编码
809 没有进行预测的符号编码
811 将编码符号和符号预测误差嵌入码流中
图9
122 符号预测
123 符号预测误差
970 熵编码
971 编码图像数据
图10
1004 熵解码
209 重构符号
图13
1300 变换/量化
1320 预测一个或多个符号
1340 计算符号预测误差
1360 选择上下文
1380 熵编码
图14
1400 解析码流
1420 预测一个或多个符号
1440 选择上下文
1460 对符号预测误差进行熵解码
1480 确定一个或多个符号

Claims (20)

1.一种图像块编码装置,其特征在于,包括处理电路,用于:
预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号;
确定(1340)符号预测误差,所述符号预测误差指示所述符号预测是否正确;
根据所述多个变换中的所述一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文;
通过使用选定上下文应用熵编码对所述符号预测误差进行编码(1380)。
2.根据权利要求1所述的装置,其特征在于,所述处理电路还用于:
根据所述变换系数的无符号值,选择(1360)所述上下文。
3.根据权利要求1或2所述的装置,其特征在于,所述处理电路还用于:
预测(1320)M个变换系数中的每个变换系数的符号,M为整数,大于1且小于通过对所述图像块进行变换(1300)而获取的变换系数的数量;
确定(1340)所述M个变换系数中的每个变换系数的符号预测误差;
将所述M个变换系数通过阈值分成两个列表,其中第一列表包括绝对值大于所述阈值的变换系数,第二列表包括绝对值等于或小于所述阈值的变换系数;
根据所述M个变换系数的变换系数属于所述第一列表还是所述第二列表,选择(1360)用于对所述M个变换系数的所述变换系数的符号预测误差进行熵编码的上下文;
通过使用所述相应的选定上下文应用熵编码对所述M个变换系数的所述变换系数的所述符号预测误差进行编码(1380)。
4.根据权利要求1至3中任一项所述的装置,其特征在于,所述处理电路还用于:
根据所述图像块的预测类型是帧内预测还是帧间预测,选择(1360)所述上下文。
5.根据权利要求1至4中任一项所述的装置,其特征在于,所述处理电路还用于:
如果所述图像块的预测类型为帧内预测,则根据用于预测所述图像块的所述帧内预测模式选择(1360)所述上下文。
6.根据权利要求1至5中任一项所述的装置,其特征在于,所述处理电路还用于:
根据成本函数预测(1320)所述变换系数的所述符号,所述成本函数包括估计沿所述图像块的边界的不连续性;
根据可用于估计所述图像块的所述边界上的不连续性的块边数或相邻像素数来选择(1360)所述上下文。
7.根据权利要求1至6中任一项所述的装置,其特征在于,所述处理电路还用于:
根据可用于估计不连续性的边缘像素与属于所述图像块的像素的总数的比值,选择(1360)所述上下文。
8.根据权利要求1至6中任一项所述的装置,其特征在于,所述处理电路还用于:
根据所述图像块是否位于所述图像块所在的片的左边界或上边界,选择(1360)所述上下文。
9.根据权利要求1至8中任一项所述的装置,其特征在于,所述处理电路还用于:
使用DC帧内预测模式或平面模式预测所述图像块;
根据是否使用DC帧内预测模式或平面模式预测所述图像块,选择(1360)所述上下文。
10.根据权利要求1至9中任一项所述的装置,其特征在于,所述处理电路还用于:
根据成本函数预测(1320)变换系数的符号,其中,所述成本函数包括邻近变换图像块的相邻像素与根据所述图像块的预测信号计算的所述相邻像素的预测之间的变换差值。
11.根据权利要求1至10中任一项所述的装置,其特征在于,所述多个变换中的每个变换与多个上下文中的一个上下文关联,所述处理电路还用于:
从多个上下文中选择(1360)所述上下文,使得所述多个变换中的一个变换与所述选定的上下文关联。
12.根据权利要求11所述的装置,其特征在于,所述处理电路还用于:
根据各自与多个上下文中的一个上下文关联的所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文,其中
如果所述多个变换中的第一变换和所述多个变换中的第二变换的预测符号值的概率相差小于预定值,那么所述第一变换与所述第二变换关联相同的上下文。
13.根据权利要求1至12中任一项所述的装置,其特征在于,所述处理电路还用于:
预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号,其中
所述变换(1300)包括水平变换和垂直变换;
所述上下文是根据所述变换的所述水平变换和所述垂直变换的组合来选择(1360)的。
14.根据权利要求13所述的装置,其特征在于,所述多个变换中的每个变换是水平变换和垂直变换的组合,所述处理电路还用于:
选择(1360)所述上下文,使得所述水平变换和所述垂直变换的所述组合与所述选定上下文关联。
15.根据权利要求13所述的装置,其特征在于,
所述垂直变换和所述水平变换的所述组合的相互不同的上下文的数量小于所述垂直变换和所述水平变换的所述组合的数量,
垂直变换和水平变换的第一组合与垂直变换和水平变换的第二组合关联相同的上下文。
16.根据权利要求1至15中任一项所述的装置,其特征在于,所述处理电路还用于:使用CABAC进行所述熵编码(1380)。
17.一种从码流中解码图像块的装置,其特征在于,所述装置包括处理电路,用于:
预测(1420)待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;
根据所述多个变换中的所述一个变换,选择(1440)用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;
通过使用选定上下文应用熵解码对所述符号预测误差进行解码(1460);
根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定(1480)所述变换系数的所述符号。
18.一种图像块编码方法,其特征在于,包括以下步骤:
预测(1320)通过使用多个变换中的一个变换对图像块信号进行变换(1300)获取的变换系数的符号;
确定(1340)符号预测误差,所述符号预测误差指示所述符号预测是否正确;
根据所述多个变换中的一个变换,选择(1360)用于对所述符号预测误差进行熵编码的上下文;
通过使用选定上下文应用熵编码对所述符号预测误差进行编码(1380)。
19.一种从码流中解码图像块的方法,其特征在于,包括以下步骤:
预测(1420)待使用多个变换中的一个变换进行逆变换以获取图像块信号的变换系数的符号;
根据所述多个变换中的所述一个变换,选择(1440)用于对所述符号预测误差进行熵解码的上下文,所述符号预测误差指示所述符号预测是否正确;
通过使用选定上下文应用熵解码对所述符号预测误差进行解码(1460);
根据所述变换系数的预测符号和所述变换系数的解码符号预测误差,确定(1480)所述变换系数的所述符号。
20.一种存储在计算机可读介质上的程序码,其特征在于,包括指令,当所述指令在处理器上执行时,执行根据权利要求18或19所述的方法的所有步骤。
CN201880090706.8A 2018-03-07 2018-03-29 图像块编码装置和图像块编码方法 Active CN111819853B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/RU2018/000142 WO2019172798A1 (en) 2018-03-07 2018-03-07 Method and apparatus for residual sign prediction in transform domain
RUPCT/RU2018/000142 2018-03-07
PCT/RU2018/000205 WO2019172802A1 (en) 2018-03-07 2018-03-29 Signaling residual signs predicted in transform domain

Publications (2)

Publication Number Publication Date
CN111819853A true CN111819853A (zh) 2020-10-23
CN111819853B CN111819853B (zh) 2023-07-18

Family

ID=62002704

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880090701.5A Active CN111819852B (zh) 2018-03-07 2018-03-07 用于变换域中残差符号预测的方法及装置
CN201880090706.8A Active CN111819853B (zh) 2018-03-07 2018-03-29 图像块编码装置和图像块编码方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880090701.5A Active CN111819852B (zh) 2018-03-07 2018-03-07 用于变换域中残差符号预测的方法及装置

Country Status (6)

Country Link
US (2) US11856216B2 (zh)
EP (2) EP3738311A1 (zh)
JP (1) JP7047119B2 (zh)
KR (1) KR102419112B1 (zh)
CN (2) CN111819852B (zh)
WO (2) WO2019172798A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123358A1 (zh) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020059092A1 (ja) * 2018-09-20 2020-03-26 富士通株式会社 符号化装置、符号化方法、符号化プログラム、復号装置、復号方法及び復号プログラム
WO2020262988A1 (ko) * 2019-06-25 2020-12-30 엘지전자 주식회사 영상 코딩 시스템에서 무손실 코딩을 적용하는 영상 디코딩 방법 및 그 장치
KR20230157988A (ko) * 2021-03-29 2023-11-17 퀄컴 인코포레이티드 비디오 코딩을 위한 부호 예측을 위한 콘텍스트 모델링
US20220312043A1 (en) * 2021-03-29 2022-09-29 Qualcomm Incorporated Context modeling for sign prediction for video coding
US20220353547A1 (en) * 2021-04-16 2022-11-03 Tencent America LLC Entropy coding of sign map for transform coefficients
US11665351B2 (en) * 2021-06-30 2023-05-30 Tencent America LLC Method and apparatus for video coding
US20230093994A1 (en) * 2021-09-29 2023-03-30 Alibaba Singapore Holding Private Limited Residual sign prediction of transform coefficients in video coding
WO2023086330A1 (en) * 2021-11-10 2023-05-19 Beijing Dajia Internet Information Technology Sign prediction for block-based video coding
WO2023104144A1 (en) * 2021-12-09 2023-06-15 Mediatek Inc. Entropy coding transform coefficient signs
WO2023113551A1 (ko) * 2021-12-17 2023-06-22 주식회사 케이티 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
WO2023137217A1 (en) * 2022-01-17 2023-07-20 Beijing Dajia Internet Information Technology Co., Ltd. Sign prediction for block-based video coding
CN116800968A (zh) * 2022-03-17 2023-09-22 中兴通讯股份有限公司 编码方法及装置、解码方法及装置、存储介质、电子装置
WO2023182634A1 (ko) * 2022-03-24 2023-09-28 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2023200243A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Mvd 부호 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
WO2024020117A1 (en) * 2022-07-19 2024-01-25 Google Llc Dependent context model for transform types

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895756A (zh) * 2010-07-15 2010-11-24 北京大学 视频图像块的编码、解码、重构方法及系统
US20170142448A1 (en) * 2015-11-13 2017-05-18 Qualcomm Incorporated Coding sign information of video data
US20170142423A1 (en) * 2002-05-28 2017-05-18 Dolby Laboratories Licensing Corporation Methods And Systems For Image Intra-Prediction Mode Management

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
WO2011099080A1 (ja) 2010-02-12 2011-08-18 富士通株式会社 画像符号化装置及び画像復号装置
WO2011127961A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Adaptive image filtering method and apparatus
JP5590133B2 (ja) * 2010-09-30 2014-09-17 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
EP3399753B1 (en) * 2012-01-20 2019-12-11 Velos Media International Limited Multiple sign bit hiding within a transform unit
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9313498B2 (en) * 2012-04-16 2016-04-12 Qualcomm Incorporated Sign hiding techniques for quantized transform coefficients in video coding
FR3023112A1 (fr) 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US9948934B2 (en) * 2014-07-02 2018-04-17 Apple Inc. Estimating rate costs in video encoding operations using entropy encoding statistics
FR3057130B1 (fr) * 2016-10-03 2019-08-02 B<>Com Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
US10609367B2 (en) * 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
CN109391846B (zh) * 2017-08-07 2020-09-01 浙江宇视科技有限公司 一种自适应模式选择的视频加扰方法及装置
US20190208225A1 (en) * 2018-01-02 2019-07-04 Qualcomm Incorporated Sign prediction in video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170142423A1 (en) * 2002-05-28 2017-05-18 Dolby Laboratories Licensing Corporation Methods And Systems For Image Intra-Prediction Mode Management
CN101895756A (zh) * 2010-07-15 2010-11-24 北京大学 视频图像块的编码、解码、重构方法及系统
US20170142448A1 (en) * 2015-11-13 2017-05-18 Qualcomm Incorporated Coding sign information of video data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KIMIHIKO KAZUI: ""Description of video coding technology proposal by FUJITSU"", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 1ST MEETING: DRESDEN, DE, 15-23 APRIL, 2010》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123358A1 (zh) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 编解码方法、码流、编码器、解码器以及存储介质

Also Published As

Publication number Publication date
US11856216B2 (en) 2023-12-26
WO2019172798A1 (en) 2019-09-12
CN111819853B (zh) 2023-07-18
EP3738311A1 (en) 2020-11-18
JP2021516016A (ja) 2021-06-24
CN111819852B (zh) 2023-06-02
US20210014509A1 (en) 2021-01-14
WO2019172802A1 (en) 2019-09-12
EP3741123A1 (en) 2020-11-25
JP7047119B2 (ja) 2022-04-04
US11438618B2 (en) 2022-09-06
CN111819852A (zh) 2020-10-23
KR102419112B1 (ko) 2022-07-07
KR20200112964A (ko) 2020-10-05
US20200404311A1 (en) 2020-12-24

Similar Documents

Publication Publication Date Title
CN111819853B (zh) 图像块编码装置和图像块编码方法
CN111837389A (zh) 适用于多符号位隐藏的块检测方法及装置
CN111225206B (zh) 视频解码方法和视频解码器
CN112040229B (zh) 视频解码方法、视频解码器及计算机可读存储介质
CN111801944B (zh) 视频图像编码器、解码器以及对应的运动信息编码方法
US20200404339A1 (en) Loop filter apparatus and method for video coding
CN113411612B (zh) 对图像块进行视频译码的方法、解码设备和编/解码器
CN115398906A (zh) 用信号通知视频编码数据的方法
JP2024009038A (ja) 双予測のオプティカルフロー計算および双予測補正におけるブロックレベル境界サンプル勾配計算のための整数グリッド参照サンプルの位置を計算するための方法
CN114902670B (zh) 用信号通知子图像划分信息的方法和装置
CN114913249A (zh) 编码、解码方法和相关设备
CN112055211B (zh) 视频编码器及qp设置方法
CN114846789A (zh) 用于指示条带的图像分割信息的解码器及对应方法
CN112262574A (zh) 一种用于帧内预测的设备和方法
CN112352435B (zh) 用于视频编解码的环内去块滤波器设备和方法
CN116647683A (zh) 量化处理方法和装置
KR20240064039A (ko) 인코더, 디코더 및 대응하는 디블록킹 필터 적응의 방법
CN116134817A (zh) 使用稀疏光流表示的运动补偿
CN118018765A (zh) 视频解码方法及视频解码器
CN118042173A (zh) 视频解码方法及视频解码器

Legal Events

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