CN105009576A - 深度查询表的编码方法 - Google Patents

深度查询表的编码方法 Download PDF

Info

Publication number
CN105009576A
CN105009576A CN201380074688.1A CN201380074688A CN105009576A CN 105009576 A CN105009576 A CN 105009576A CN 201380074688 A CN201380074688 A CN 201380074688A CN 105009576 A CN105009576 A CN 105009576A
Authority
CN
China
Prior art keywords
depth
dlt
look
statement
question blank
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
CN201380074688.1A
Other languages
English (en)
Other versions
CN105009576B (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 CN105009576A publication Critical patent/CN105009576A/zh
Application granted granted Critical
Publication of CN105009576B publication Critical patent/CN105009576B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/25Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with scene description coding, e.g. binary format for scenes [BIFS] compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience

Abstract

本发明涉及一种深度查询表DLT(201,211)的编码方法(100),所述深度查询表包括至少一部分3D图像的深度值信息,所述方法(100)包括:选择(101)参考深度查询表(203,213);基于待编码的深度查询表(201,211)的深度值信息与所述参考深度查询表(203,213)的深度值信息之间的对比确定(103)差值深度查询表(205,215);根据预先确定的编码规则对所述差值深度查询表(205,215)的深度值信息进行编码(105)。

Description

深度查询表的编码方法
技术领域
本发明涉及计算机视觉领域,更具体地涉及3D视频处理和3D视频编码领域中的一种深度查询表(DLT)的编码方法和装置以及深度查询表的解码方法和装置。
背景技术
在3D视频中,深度数据通常被表示为对应于每个纹理视频帧的一套深度图。深度图中每个点的强度描述该点表示的视觉场景与照相机之间的距离。或者,可以使用视差图,其值与深度图的值成反比,可用来导出深度图。
在3D视频编码中,除常规的视频数据之外,每个视图的深度图都需要编码。相比于视频数据,这些深度图显示不同的信号特征,因为它们包含由坚固边缘划界的分段光滑区域。因为深度图通常是从纹理数据中估计得来或者进行了预处理,它们的柱状图可能会比较稀疏。因此,提出深度查询表(DLT)【F.“3D-CE6.h关于一种使用可选深度查询表的简化深度编码的研究成果”,联合协作小组关于ITU-T VCEG和ISO/IEC MPEG的3D视频编码扩展开发(JCT-3V)的研究,上海,中国,JCT3V-B0036,2012年】以仅通过标示DLT的差值索引来利用柱状图特征,而不是通过标示剩余深度值本身来利用柱状图特征。通过这种方法,可以降低这些剩余值的位深,因此带来较高编码效率。
通过对原始的、未压缩的深度图的柱状图进行分析,在编码器中构造DLT。然后将该DLT传送到解码器,以实现索引与实际深度值之间的映射。深度图的柱状图值可以随时间变化,因此,需要更新机制。此外,在多视图编码场景下,多个深度图可以有不同的深度图柱状图,在这种情况下,此类更新机制也有利于整体编码性能。
在高性能视频编码3D扩展开发【G.Tech,K.Wegner,Y.Chen,和S.Yea,“3D-HEVC测试模型2”,联合协作小组关于3D视频编码扩展开发的文件,JCT3V-B1005,2012年10月】的最新说明书中,在序列参数集(SPS)中,DLT每序列只发送一次,分别用于所有视图。该方法使得DLT标示开销保持较低。
另外,提出了在基本视图的每个I切片的切片头中对DLT进行标示【I.Lim,H.C.Wey和D.S.Park,“3D-CE6.h相关:改善的深度查询表(DLT)”,联合协作小组关于ITU-T VCEG和ISO/IEC MPEG的3D视频编码扩展开发(JCT-3V)的研究,日内瓦,瑞士,JCT3V-C0093,2013年】。在该方法中,在时间维度对DLT值进行了更有规律的更新,从而允许柱状图随时间变化。在这种情况下,假设所有视图的深度图柱状图都一样,则所有相关视图都继承基本视图的DLT。
此外,另一种标示DLT值的方法,称为范围受限位图(RCBM)编码方法800,如图8所示,其在【Kai Zhang、Jicheng An和Shawmin Lei,“3D-CE6.h相关:3DVC中一种高效的DLT编码方法”,联合协作小组关于3D视频编码扩展开发的文件,JCT3V-C0142,2013年1月】中提出。该方法800采用对存在于DLT中(参见图8)的深度值的范围进行标示:min_dlt_value和diff_max_dlt_value被编码为无符号整数来限制DLT的范围。DLT中的最小值是min_dlt_value,最大值是MaxDltValue,其等于min_dlt_value+diff_max_dlt_value。然后,二进制串bit_map_flag用于标示该范围内的深度值是否存在于DLT中。如果bit_map_flag中的一个比特位等于1,则对应于二进制串中该位置的深度值属于或者存在于DLT中,否则,该深度值不属于或者不存在于DLT中。
现有技术中的DLT标示的编码方法没有充分利用该信号特征,因此,仍然存在进一步提高DLT的编码效率的可能。
每序列只对DLT标示一次,单独用于每个视图,这样用于DLT值的开销非常低,但是时间和空间上(视图间)的更新相对不灵活。
在基本视图的I切片的切片头中对DLT进行标示,且相关视图继承该DLT,此备用方案不具备在时间维度对查询表进行更有规律的更新的能力,也不不支持DLT视图间更新。所有已编码的视图的DLT值总是一样的这一假设在多数情况下存在太大的局限性,并且导致相关视图的深度图质量下降。如果相关视图的深度图显示的柱状图特征不同于基础视图的柱状图特征,则由于对非最佳DLT的简单复制,该深度图的重建不能得到所有原始的深度值。
发明内容
本发明的目标在于为深度查询表提供一种改善的编码/解码技术。
该目的是通过独立权利要求的特征来实现的。结合独立权利要求、说明书和附图会使具体实施形式更易于理解。
本发明基于如下发现:DLT预测可以为深度查询表提供一种改善的编码/解码技术。不是将当前DLT的所有值都标示出来,只要将当前DLT与参考DLT的差值标示出来即可。因此,例如,可以利用DLT查询表的时间和视图间的多余信息来降低DLT所需的比特率。在DLT预测的另一种形式中,单个标志用于标示当前DLT查询表和参考DLT查询表之间的零差值。
在所描述的一些DLT编码/解码的预测场景下,可以利用DLT查询表间不同的时间和空间(视图间)的依存关系。提出了降低传输错误对基于预测的编码/解码方法的影响的一些方法。根据这些方法,对较高编码级别(例如,PPS)中的值的位长进行标示,在专用SEI消息中发送丢失的参考DLT。提出了基于XOR逻辑运算符来计算当前DLT查询表和参考DLT查询表之间的差值的一个简便方法。
为详细描述本发明,会使用以下术语、缩写和符号:
HEVC-High-Efficiency Video Coding高性能视频编码
CU-Coding Unit编码单元
DLT-Depth Lookup Table深度查询表
RAP-Random Access Point随机接入点
SEI-Supplemental Enhancement Information补充增强信息
SH-Slice Header切片头
SPS-Sequence Parameter Set序列参数集
PPS-Picture Parameter Set图像参数集
视频序列 一系列呈现动态图像的后续帧。
3D视频 包括两个纹理视图及其对应的深度图或视差图的信号。
视觉场景 用3D视频表现的真实世界或合成场景。
深度图 灰度图像,图像中的每一个点的值确定该点表示的视觉场景与照相机之间的距离。或者,可以使用视差图来表示或导出深度图,其值与深度图的值成反比。
纹理视图 以一个特定的视角获得的视频,包含视觉场景的颜色和纹理信息;通常用RGB或YUV格式表示。
随机接入点 视频序列结构中定义的点,其中解码器能够在不了解视频流的前面部分的情况下从该点开始对所述序列进行解码。
SPS 以包含视频流正确解码所需的基本信息的结构化的消息的形式发送的参数集合;必须在每个随机接入点的起点标示出来。
PPS 以包含视频序列中的图像正确解码所需的基本信息的结构化的消息的形式发送的参数的集合。
图像 包含视频序列的整个图像的视频序列结构,也称为帧。
切片 包含视频序列的一部分或整个图像的视频序列结构。
切片头描述切片的并在切片的起点发送的参数集合。
CU 一个预定义大小的视频序列的基本编码结构,包含图像(例如64×64像素)的一部分。
I切片 所有编码单元都是帧内预测的切片,因此可以不参照其他图像。
SEI 可以在视频序列流中进行标示的消息,包含关于视频序列、编码工具等的附加或可选信息。
根据第一方面,本发明涉及一种深度查询表的编码方法,所述深度查询表包括至少一部分3D图像的深度值信息,所述方法包括:选择参考深度查询表;基于待编码的深度查询表的深度值信息与所述参考深度查询表的深度值信息之间的对比来确定差值深度查询表;根据预先确定的编码规则对所述差值深度查询表的深度值信息进行编码。
这种编码也可以称为预测编码、差值编码或差分编码。
在一种实现形式中,“差分编码”涵盖DLT预测(例如,时间和视图)和DLT更新(例如,针对单视图/基础视图)两者。
在一种实现形式中,所述深度值信息可以是表示深度值的索引(表示为二进制串或表示为整数索引值序列)或深度值本身。DLT的选项或表述都可以称为DLT。DLT用于对深度图进行编码和解码。
术语“3D图像”可理解为单视图的纹理信息(例如,RGB等)和深度信息。其与对应的只包括纹理信息的2D图像的不同之处在于附加的深度信息。
一种实现形式涵盖3D视频(3D图像序列)、单一的3D图像和3D图像或3D图像序列的“部分”(例如,切片、编码单元和宏块)的DTL,并在一个特定的或极端的情况下,一个DLT具体用于一个时刻、一个视图和一个“部分”)。在实现形式中,可将DLT与纹理信息一起进行编码或单独进行编码。在进一步的实现形式中,只对DLT进行编码。
在一种实现形式中,所述选择参考深度查询表,例如参考DLT,是基于选择标准来进行的。
在一种实现形式中,所述选择标准是预先确定的,即是固定的。在一种实现形式中,所述选择标准是可以被采用的。
在一种实现形式中,所述确定差值深度查询表,例如Δ-DLT,是基于待编码的深度查询表,例如当前DLT,的深度值信息与所述参考深度查询表,例如参考DLT,包括的深度值信息之间的对比来进行的。
在一种实现形式中,预先确定的编码规则与用于对参考DLT进行编码的编码规则相同,即“全部DLT的正常编码”,例如,用于对参考DLT和差值DLT进行编码的范围受限位图编码。
新提出的深度查询表编码/解码方法在降低DLT所需的比特率的同时为编码器/解码器带来了高度灵活性。由于不同序列之间甚至相同序列内(帧间和视图间)的深度图特征可能明显不同,DLT编码/解码的高灵活性通过实现该方法提供。
为了利用表示不同时刻的值(在视频序列的情况下)或不同时刻和视图(在多视图序列的情况下)的DLT查询表间的相似性,因此而提出的DLT编码/解码的新方法采用DLT值的DLT预测,以减少需要通过编码/解码来表示DLT查询表的信息量。
根据第一方面,在所述方法的第一种可能的实现形式中,所述差值深度查询表包括存在于待编码的深度查询表中且不存在于所述参考深度查询表中的深度值信息,并且包括存在于所述参考深度查询表中且不存在于所述待编码的深度查询表中的深度值信息。
当所述差值深度查询表包括这样的深度值信息时,可以非常有效地实现深度查询表的编码,并且相比于常规编码的DLT,差值编码的DLT需要较少的比特位或带宽。
在一种实现形式中,该对比是基于深度值本身的对比或整数索引的对比。在一种实现形式中,该对比是基于深度值索引的存在或出现(1)的对比,例如在一个二进制串中的深度值索引。
根据第一方面本身或者第一方面的第一种实现形式,在所述方法的第二种可能的实现形式中,所述待编码的深度查询表中深度值的出现和所述参考深度查询表中深度值的出现被表示为二进制串,其中二进制串的第一二进制值,例如“1”,指示对应的深度查询表中深度值的出现,更具体地,指示单个深度值的出现;二进制串的第二二进制值,例如“0”,指示对应的深度查询表中深度值的未出现,更具体地,指示单个深度值的未出现。
通过使用这样的二进制串,该编码被简化为指示DLT中深度值的存在或不存在,或出现和未出现,有利于实现非常高效的编码。
在一种实现形式中,二进制串的第一二进制值是二进制数“1”,二进制串的第二二进制值是二进制数“0”。在其他实现形式中,二进制串的第一二进制值是二进制数“0”,二进制串的第二二进制值是二进制数“1”。
在一种实现形式中,所述待编码的深度查询表中单个深度值的出现和所述参考深度查询表中单个深度值的出现被表示为二进制串,其中二进制串的第一二进制值(“1”)指示对应的深度查询表中单个深度值的出现。
根据第一方面的第二种实现形式,在所述方法的第三种可能的实现形式中,所述确定差值深度查询表包括:将逻辑XOR运算和逻辑XNOR运算中的一个应用于表示所述待编码的深度查询表的深度值信息和所述参考深度查询表的深度值信息的二进制串。
逻辑XOR门或XNOR门是标准的电路,很容易实现。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第四种可能的实现形式中,所述方法还包括:采用所述参考深度查询表的范围受限位图编码对所述参考查询表的深度值信息进行编码;其中,所述对所述差值深度查询表的深度值信息进行编码也采用所述差值深度查询表的范围受限位图编码来进行。
差值深度查询表采用的范围受限位图编码是一种有效的编码,因为编码值的范围受到限制,换句话说,二进制串的长度减小,因而提供的信息量减少。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第五种可能的实现形式中,所述方法包括:采用用于指示所述待编码的深度查询表与所述参考深度查询表之间同一性的标志。
根据第一方面的第五种实现形式,在所述方法的第六种可能的实现形式中,所述根据预先确定的编码规则对所述差值深度查询表进行编码简化为如果所述标志指示所述待编码的深度查询表与所述参考深度查询表之间同一性,则提供所述标志。
在深度查询表和参考查询表的同一性存在的情况下,可使用该标志通过单个比特位对整个深度查询表进行编码,这是一种非常高效的信息表述。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第七种可能的实现形式中,所述参考深度查询表例如在先前已编码的深度查询表中选择,这些已编码的深度查询表用于与其他视图相关联的其他3D图像,用于与包括所述3D图像的3D视频序列的其他视图和/或时刻相关联的其他3D图像,用于该同一3D图像的其他部分,或者用于与其他视图和/或时刻相关联的其他3D图像的对应部分,其中,所述3D图像的部分包括所述3D图像的切片、编码单元、编码块或宏块。
当所述参考深度查询表例如在先前已编码的深度查询表中选择时,可轻松提供所述参考深度查询表。
根据第一方面的第七种实现形式,在所述方法的第八种可能的实现形式中,在单视图视频序列的情况下,所述参考深度查询表例如在先前已编码的用于其他时刻的深度查询表中选择,更具体地,在先前已编码的用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表中选择。
当所述参考深度查询表例如在先前已编码的用于其他时刻的深度查询表中选择时,有很多DLT可供选择。
根据第一方面的第七种实现形式,在所述方法的第九种可能的实现形式中,在多视图视频序列的情况下,所述参考深度查询表在先前已编码的用于所述多视图视频序列的其他视图和/或时刻的深度查询表中选择,更具体地,在先前已编码的用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表中选择。
当所述参考深度查询表在先前已编码的用于其他视图和/或时刻的深度查询表中选择时,可以选择用于启动预测的最佳DLT,例如在编码增益方面最佳的DLT。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第十种可能的实现形式中,所述参考深度查询表例如在先前已编码的同等编码级别的深度查询表中选择,所述同等编码级别更具体地为切片头编码级别、编码单元编码级别、SPS编码级别、PPS编码级别或SEI编码级别。
当所述参考深度查询表例如在先前已编码的同等编码级别的深度查询表中选择时,可轻松找到所述参考DLT。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第十一种可能的实现形式中,所述参考深度查询表例如在先前已编码的较高编码级别的深度查询表中选择,所述较高编码级别更具体地为切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别、或SEI编码级别。
当所述参考深度查询表例如在先前已编码的较高编码级别的深度查询表中选择时,单个参考DLT可用于待预测的多个DLT。
定义了编码级别和级别的排序,例如,从最低的“宏块级别”到最高的“SPS级别”。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第十二种可能的实现形式中,所述方法还包括:保护所述差值深度查询表免受所述参考深度查询表损坏的影响,具体地,通过以下方式实现:以较高编码级别标示所述参考深度查询表的深度值的位长,所述较高编码级别更具体地为切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别、或SEI编码级别;或者在专用的补充增强信息SEI消息中发送丢失的参考深度查询表。
当以较高编码级别标示所述参考深度查询表的深度值的位长时,可有效保护所述差值DLT免受损坏。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第十三种可能的实现形式中,所述对所述差值深度查询表进行编码包括基于ITU-T和ISO/IEC标准的3D视频编码扩展开发而进行的范围受限位图编码。
当所述对所述差值深度查询表进行编码包括基于ITU-T和ISO/IEC标准的3D视频编码扩展开发而进行的范围受限位图编码时,所述方法符合标准。
根据第一方面本身或第一方面任一种前述的实现形式,在所述方法的第十四种可能的实现形式中,所述方法还包括:使用用于对差值深度查询表的深度值信息进行编码的相同的编码算法来对参考查询表的深度值信息进行编码,例如,用于对参考DLT和差值DLT进行编码的范围受限位图编码。
因为只需实现一个编码算法即可对常规DLT和差值DLT的进行编码,使用相同的编码算法来对参考查询表的深度值信息进行编码是非常高效的。
根据第二方面,本发明涉及一种深度查询表的编码装置,所述深度查询表包括至少一部分3D图像的深度值信息,所述装置包括处理器,用于实现根据第一方面本身或者根据第一方面任一种前述的实现形式的方法。
这种编码也可以称为预测编码、差值编码或差分编码。
在一种实现形式中,“差分编码”涵盖DLT预测(例如,时间和视图)和DLT更新(例如,针对单视图/基础视图)两者。
在一种实现形式中,所述深度值信息可以是表示深度值的索引(表示为二进制串或表示为整数索引值序列)或深度值本身。DLT的选项或表述都可以称为DLT。DLT用于对深度图进行编码和解码。
术语“3D图像”可理解为单视图的纹理信息(例如,RGB等)和深度信息。其与对应的只包括纹理信息的2D图像的不同之处在于附加的深度信息。
一种实现形式涵盖3D视频(3D图像序列)、单一的3D图像和3D图像或3D图像序列的“部分”(例如,切片、编码单元和宏块)的DTL,并在一个特定的或极端的情况下,一个DLT具体用于一个时刻、一个视图和一个“部分”)。在实现形式中,可将DLT与纹理信息一起进行编码或单独进行编码。在进一步的实现形式中,只对DLT进行编码。
在一种实现形式中,所述选择参考深度查询表,例如参考DLT,是基于选择标准来进行的。
在一种实现形式中,所述选择标准是预先确定的,即是固定的。在一种实现形式中,所述选择标准是可以被采用的。
在一种实现形式中,所述确定差值深度查询表,例如Δ-DLT,是基于待编码的深度查询表,例如当前DLT,的深度值信息与所述参考深度查询表,例如参考DLT,包括的深度值信息之间的对比来进行的。
在一种实现形式中,预先确定的编码规则与用于对参考DLT进行编码的编码规则相同,即“全部DLT的正常编码”,例如,用于对参考DLT和差值DLT进行编码的范围受限位图编码。
新提出的深度查询表编码/解码装置在降低DLT所需的比特率的同时为编码器/解码器带来了高度灵活性。由于不同序列之间甚至相同序列内(帧间和视图间)的深度图特征可能明显不同,DLT编码/解码的高灵活性通过实现该装置提供。
为了利用表示不同时刻的值(在视频序列的情况下)或不同时刻和视图(在多视图序列的情况下)的DLT查询表间的相似性,因此而提出的DLT编码/解码的新装置采用DLT值的DLT预测,以减少需要通过编码/解码来表示DLT查询表的信息量。
对第一方面及其实施和实现的解释相应地用于对第二方面及其实施和实现。
根据第三方面,本发明涉及一种提供与至少一部分3D图像相关联的深度查询表的表述的方法,所述方法包括:通过将存在于与至少一部分3D图像相关联的差值深度查询表的同一种类的表述中且不存在于参考深度查询表的表述中的深度值信息添加到深度查询表的表述中;将不存在于差值深度查询表的表述中的参考DLT的表述的深度值信息复制到所述深度查询表中,从而提供与至少一部分3D图像相关联的深度查询表。
所述提供与至少一部分3D图像相关联的深度查询表的表述的方法也可以称为一种深度查询表的解码方法,更具体地,称为一种深度查询表或深度查询表的对应表述的预测解码、差值解码或差分解码的方法。
新提出的提供深度查询表的表述的方法在降低传输或存储已编码DLT所需的比特率的同时为编码和解码带来了高度灵活性。由于不同序列之间甚至相同序列内(帧间和视图间)的深度图特征可能明显不同,给DLT的编码和解码带来了高度灵活性。
根据第三方面,在所述方法的第一种可能的实现形式中,所述差值深度查询表的表述对应于差值查询表,例如差值DLT,所述参考查询表的表述对应于参考查询表,所述深度值信息对应于深度值。
因为任何一个差值查询表、参考查询表和深度值均可用于该方法,因此,该方法带来了高度灵活性。
术语“对应”可具有“是”的意思或者“由……组成”的意思。
根据第三方面的第一种实现形式,在所述方法的第二种可能的实现形式中,所述方法还包括:对所述差值深度查询表的已编码的表述进行解码以获得差值查询表;对所述参考深度查询表的已编码的表述进行解码以获得参考查询表。
由于进一步的编码,例如索引编码、二进制串编码或范围受限位图编码,这样的解码是一种高效率的解码,采用了所述差值深度查询表和参考深度查询表的表述。
根据第三方面本身,在所述方法的第三种可能的实现方式中,所述差值深度查询表的表述对应于一个表示对应的差值查询表的深度值的索引差值列表,所述参考深度查询表的表述对应于一个表示对应的参考查询表的深度值的索引参考列表,所述深度值信息对应于索引,即深度值索引。
索引和索引列表的应用给复杂度低的计算带来了高度灵活性。
根据第三方面本身,在所述方法的第四种可能的实现形式中,所述差值深度查询表的表述对应于一个包括一串二进制值的差值二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值“1”指示对应的差值查询表中深度值的出现;所述参考深度查询表的表述对应于一个包括一串二进制值的参考二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值“1”指示对应的参考查询表中深度值的出现;所述深度值信息对应于二进制串或第一二进制值。
可以高效地处理这种二进制串和二进制值。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第五种可能的实现形式中,所述差值深度查询表的表述对应于采用范围受限位图RCBM编码的差值二进制串,所述参考深度查询表的表述对应于采用范围受限位图RCBM编码的参考二进制串。
因为值的范围受限制从而减少了待处理的信息量,因而范围受限位图是表示信息的一种非常高效的方式。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第六种可能的实现形式中,所述方法还包括:对用于指示所述深度查询表的表述与所述参考深度查询表的表述之间同一性的标志进行分析;如果所述标志指示同一性,则将所述参考深度查询表的表述用作与所述至少一部分3D图像相关联的深度查询表的表述。
标志的使用使深度查询表简化至单个比特位,这是一种非常高效的解码方法。
在一种实现形式中,对一个标志进行分析特指在比特流中解析出一个标志,所述比特流包括与深度查询表的表述相关联的数据。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第七种可能的实现形式中,所述参考深度查询表例如在先前已解码的深度查询表中选择,这些已解码的深度查询表用于与其他视图相关联的其他3D图像,用于与包括所述3D图像的3D视频序列的其他视图和/或时刻相关联的其他3D图像,用于该(同一)3D图像的其他部分,或者用于与其他视图和/或时刻相关联的其他3D图像的对应部分,其中,所述3D图像的部分包括所述3D图像的切片、编码单元、编码块或宏块。
当所述参考深度查询表例如在先前已解码的用于与其他视图相关联的其他3D图像的深度查询表中选择时,可在一个大数据库中选择最佳的参考DLT,例如在编码增益方面最佳的参考DLT。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第八种可能的实现形式中,所述方法还包括:对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,其中,所述类型指示符指示是否对所述深度查询表的表述进行了差值编码;如果所述类型指示符指示对所述深度查询表的表述进行了差值编码,根据第一方面本身或第一方面任一种前述的实现形式对与所述至少一部分3D图像相关联的深度查询表(当前DLT)进行差值解码。
通过使用所述类型指示符,能够高效地作出是否对DLT进行差值解码或常规解码的决策。
在一种实现形式中,对一个类型指示符进行分析特指在比特流中解析出一个类型指示符(标志,单个或多个比特位),所述比特流包括与深度查询表的表述相关联的数据。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第九种可能的实现形式中,所述方法还包括:对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,其中,所述类型指示符指示用于对所述深度查询表的表述进行差值编码的差值编码类型;根据所述类型指示符选择参考深度查询表的表述;根据第一方面本身或第一方面任一种前述的实现形式提供与所述至少一部分3D图像相关联的深度查询表的表述。
当对用于对深度查询表的表述进行编码的差值编码类型进行分析时,可以基于所述类型信息选择对应的解码类型和以适于解码的表述存在的参考深度查询表。因此,可以选择正确的解码类型。
在一种实现方式中,所述类型指示符指示用于对所述深度查询表的表述进行差值编码的差值编码类型。
在一种实现形式中,对一个类型指示符进行分析特指在比特流中解析出一个类型指示符(标志,单个或多个比特位),所述比特流包括与深度查询表的表述相关联的数据。
在一种实现方式中,所述类型指示符确定DLT表述。在一种实现形式中,所述类型指示符确定使用哪个DLT作为参考DLT。
在一种实现形式中,所述选择参考深度查询表的表述特指对所述参考深度查询表进行差值解码。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十种可能的实现形式中,在单视图视频序列的情况下,所述参考深度查询表的表述对应于与其他时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
这种参考DLT支持灵活解码。该解码可应用于单视图和多视图的视频序列。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十一种可能的实现形式中,在多视图视频序列的情况下,所述参考深度查询表的表述对应于与所述多视图视频序列的其他视图和/或时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
这种参考DLT支持灵活解码。该解码可应用于单视图和多视图的视频序列。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十二种可能的实现形式中,所述参考深度查询表的表述对应于同等编码级别的深度查询表,所述同等级别具体为切片头编码级别、编码单元编码级别、SPS编码级别、PPS编码级别或SEI编码级别。
当所述参考深度查询表的表述对应于同等编码级别的深度查询表时,可高效进行该解码。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十三种可能的实现形式中,所述参考深度查询表的表述对应于相同切片头编码级别、相同编码单元编码级别、相同SPS编码级别、相同PPS编码级别或相同SEI编码级别的的深度查询表。
当所述参考深度查询表的表述对应于同等编码级别的深度查询表时,可高效进行该解码。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十四种可能的实现形式中,所述参考深度查询表的表述对应于较高编码级别的深度查询表,所述较高编码级别具体为切片头编码级别、图像参数集编码级别、SPS编码级别、PPS编码级别或SEI编码级别。
当所述参考深度查询表的表述对应于较高编码级别的深度查询表时,可高效进行该解码,因为单个参考DLT可用于对多个DLT进行解码。
根据第三方面本身或第三方面任一种前述的实现形式,在所述方法的第十五种可能的实现形式中,所述差值深度查询表包括存在于所述待编码的深度查询表中且不存在于所述参考深度查询表中的深度值信息,并且包括存在于所述参考深度查询表中且不存在于所述待编码的深度查询表中的深度值信息。
当所述差值深度查询表包括存在于所述待编码的深度查询表中且不存在于所述参考深度查询表中的深度值信息,并且包括存在于所述参考深度查询表中且不存在于所述待编码的深度查询表中的深度值信息时,该解码可以高效进行,因为去除了冗余信息。
根据第四方面,本发明涉及一种提供与至少一部分3D图像相关联的深度查询表的表述的装置,所述装置包括处理器,用于:将存在于与至少一部分3D图像相关联的差值深度查询表的同类型的表述中且不存在于参考深度查询表的表述中的深度值信息添加到所述深度查询表的表述中;将不存在于差值深度查询表的表述中的参考DLT的表述的深度值信息增加或复制到所述深度查询表中。
这种装置在降低DLT所需的比特率的同时为DLT的编码/解码带来了高度灵活性。由于不同序列之间甚至相同序列内(帧间和视图间)的深度图特征可能明显不同,给DLT的编码/解码带来了高度灵活性。
根据第五方面,本发明涉及一种提供与至少一部分3D图像相关联的深度查询表的装置,所述装置包括处理器,用于实现根据第三方面本身或者根据第三方面前述的任一种实现方式所述的方法。
这种提供DLT的装置在降低DLT所需的比特率的同时为编码/解码带来了高度灵活性。
根据第六方面,本发明涉及一种3D视频序列中DLT查询表的编码方法,所述方法包括:基于预定义的标准确定哪个DLT经历了预测处理和哪个DLT未进行预测;计算所述预测的DLT和对应的参考DLT的差值,以获得Δ-DLT;按照现有技术对输入信号进行编码。
这种提供DLT的方法在降低DLT所需的比特率的同时为编码/解码带来了高度灵活性。
根据第七方面,本发明涉及一种DLT表的解码方法,所述解码对应于第六方面的所述编码。
当所述解码对应于所述编码时,所述方法可轻松实现,因为只需要一项硬件或软件功能。
根据第六方面或第七方面,在第一种可能的实现方式中,可以根据上下文(例如,如果所述输入信号是Δ-DLT或参考DLT)自适应选择所述参考DLT和Δ-DLT。
这样的自适应选择带来了高度灵活性。
根据第六方面或第七方面,在第二种可能的实现方式中,所述方法包括:采用单个标志对零差值DLT进行标示。
使用单个标志进行标示是高效的计算方式,因为只需要一个标志。
根据第六方面或第七方面,在第三种可能的实现方式中,所述方法包括:根据参考DLT和Δ-DLT计算当前DLT。
根据参考DLT和Δ-DLT中计算当前DLT是灵活的,因为在句法结构上其可以独立实现。
根据第六方面或第七方面,在第四种可能的实现方式中,所述方法包括:使用XOR或XNOR逻辑运算符根据参考DLT和用于DLT的二进制表述的Δ-DLT计算当前DLT。
XOR或XNOR逻辑运算符是标准的门函数,可在硬件或软件中高效实现。
根据第六方面或第七方面,在第五种可能的实现方式中,所述方法包括DLT预测场景。
DLT预测场景的使用带来了高度灵活性。
根据第六方面或第七方面,在第六种可能的实现方式中,所述方法包括分层DLT标示。
分层DLT标示易于实现。
根据第六方面或第七方面,在第七种可能的实现方式中,所述方法包括:通过使用高于用于DLT标示的级别的编码级别(例如,PPS)对DLT值的位长进行标示来最大程度降低可能的传输错误带来的影响。
使用较高编码级别对DLT值的位长进行标示可以降低传输错误带来的影响。
根据第六方面或第七方面,在第八种可能的实现方式中,所述方法包括:使用SEI消息来恢复参考DLT。
通过使用SEI消息,可轻松恢复参考DLT。
根据第八方面,本发明涉及一种每当DLT被用作编码工具时利用DLT预测机制的方法。
根据第八方面,在第一种可能的实现形式中,所述方法包括:使DLT预测的使用可在每个序列、每个视图、每幅图像、每个切片和/或每个编码单元有开关控制。
因此,DLT预测可在每个序列、每个视图、每幅图像、每个切片和/或每个编码单元灵活开关。
根据第八方面,在第二种可能的实现形式中,所述方法包括:在句法结构SPS、PPS、图像头、SH或编码单元中进行标示。
因此,该标示可在不同的句法实体中进行。因此,所述方法可在此类句法实体中灵活应用。
根据第八方面,在第三种可能的实现形式中,所述方法包括:在每个序列,更具体地是在每个PPS、每个图像,尤其是在每个PPS和每个切片对DLT值的位长进行标示。
因此,可以灵活地对所述DLT值的位长进行标示。
根据第八方面,在第四种可能的实现形式中,所述方法包括:在每个图像和/或每个切片对预测功能进行标示。
因此,可以灵活标示所述预测功能。
根据本发明,可以在SPS、PPS、图像头,SH或CU中通过使用这些句法元素专用的句法修饰对使用DLT预测和/或选定的DLT预测类型的事实进行标示。此外,本发明提出了包含带有SEI消息类型的典型的SEI消息头的专用的SEI消息,所述SEI消息类型指示所述SEI消息包含DLT预测设置、一个用于指示是否使用了DLT预测的标志和/或用于指定待使用的DLT预测类型的值。
这里描述的方法、系统和设备可在数位讯号处理器(DSP)、微控制器或任何其他端处理器中作为软件来实现,或者在特定用途集成电路(ASIC)中作为硬件电路来实现。
本发明能在数字电子电路或者计算机硬件、固件和软件或他们的组合中实现,例如,在常规移动设备的可用硬件或者专门用于处理此处描述的方法的新硬件中实现。
附图说明
本发明的具体实施方式将结合以下附图进行描述,其中:
图1示出了阐述一种实现形式中深度查询表(DLT)的编码方法100的示意图;
图2a示出了阐述一种实现形式中通过对比DLT值基于Δ-DLT和参考DLT来计算当前DLT的方法的示意图;
图2b示出了阐述一种实现形式中通过对比表示DLT值的二进制串基于Δ-DLT和参考DLT来计算当前DLT的方法的示意图;
图3示出了阐述一种实现形式中不同的时间和空间(视图间)的DLT预测场景的示意图;
图4示出了阐述一种实现形式中采用PPS中标示的通用参考DLT的分层DLT预测的示意图;
图5示出了一种实现形式中采用一种DLT预测算法对DLT进行编码的装置的方框示意图;
图6示出了一种实现形式中DLT的解码方法700的方框示意图;
图7示出了一种实现形式中DLT的解码装置的方框示意图;
图8示出了阐述一种实现形式中采用常规的范围受限位图(RCBM)对深度查询表DLT进行编码的方法800的方框示意图。
具体实施方式
图1示出了阐述一种实现形式中深度查询表(DLT)的编码方法100的示意图。该深度查询表包括至少一部分3D图像的深度值信息。该方法100包括:选择101参考深度查询表,也称为参考DLT。该方法100包括:基于待编码的深度查询表,也称为当前DLT,的深度值信息和所述参考深度查询表的深度值信息之间的对比来确定差值深度查询表,也称为差值DLT或Δ-DLT。该方法100包括:根据预先确定的编码规则对所述差值深度查询表(Δ-DLT)的深度值信息进行编码105。
在一种实现形式中,所述差值深度查询表(Δ-DLT)包括存在于所述待编码的深度查询表(当前DLT)中且不存在于所述参考深度查询表(参考DLT)中的深度值信息,并且包括存在于所述参考深度查询表(参考DLT)中且不存在于所述待编码的深度查询表(当前DLT)中的深度值信息。
在一种实现形式中,所述待编码的深度查询表(当前DLT)中深度值的出现和所述参考深度查询表(参考DLT)中深度值的出现被表示为二进制串,其中二进制串的第一二进制值指示对应的深度查询表中单个深度值的出现。
在一种实现方式中,所述确定差值深度查询表(Δ-DLT)包括:将逻辑XOR运算和逻辑XNOR运算中的一个应用于表示所述待编码的深度查询表(当前DLT)的深度值信息和所述参考深度查询表(参考DLT)的深度值信息的二进制串。
在一种实现形式中,该方法100还包括:采用所述参考深度查询表的范围受限位图编码对所述参考查询表的深度值信息进行编码;其中,所述对所述差值深度查询表(Δ-DLT)的深度值信息进行编码也采用所述差值深度查询表的范围受限位图编码来进行。
在一种实现形式中,该方法包括:采用用于指示所述待编码的深度查询表(当前DLT)与所述参考深度查询表(参考DLT)之间同一性的标识。
在一种实现形式中,该方法100还包括:保护所述差值深度查询表(Δ-DLT)免受所述参考深度查询表(参考DLT)损坏的影响,具体地,通过以下方式实现:以较高编码级别标示所述参考深度查询表(参考DLT)的深度值的位长;或者在专用的补充增强信息SEI消息中发送丢失的参考深度查询表(参考DLT)。
在一种实现形式中,所述对所述差值深度查询表(Δ-DLT)进行编码包括基于ITU-T和ISO/IEC标准的3D视频编码扩展开发而进行的范围受限位图编码。
图2a示出了阐述一种实现形式中通过对比DLT值基于Δ-DLT 205和参考DLT 203来计算当前DLT 201的方法200a的示意图。
当前DLT 201是当前正在编码/解码的DLT。所述参考DLT 203是基于定义的顺序被选为参考DLT查询表的DLT,例如在已编码/解码的DLT查询表中选择。参考DLT 203的选择取决于采用的DLT编码/解码的预测场景和已编码/解码的DLT的可用性。如果没有参考DLT可用,采用现有技术对当前DLT 201进行编码/解码。
根据图2a,不用将待编码/解码的当前DLT 201中的值的范围都标示出来,只需将当前DLT 201与参考DLT 203之间的在某个范围内的差值标示出来即可。所处差值称为Δ-DLT 205,由存在于当前DLT 201而不存在于参考DLT 203中的新值和不存在于当前DLT 201而存在于参考DLT 203的值两部分组成。因此,基于参考DLT 203和Δ-DLT 205,可以采用以下步骤(参见图2a)对当前DLT 201进行解码或计算:
对于Δ-DLT 205中的每一个值,检查某个特定值是否也存在于参考DLT203中。如果该值存在于参考DLT 203中,不将该对应值增加到当前DLT中,即去除该对应值。如果该值不存在于参考DLT 203中,将该对应值添加到当前DLT中,即添加该对应值。将参考DLT 203中的所有其他值复制或添加到当前DLT中。
图2b示出了阐述一种实现形式中通过对比表示DLT值的二进制串基于Δ-DLT 215和参考DLT 213来计算当前DLT 211的方法200b的示意图。
如果DLT中值的范围被表示为二进制串,例如在现有技术(参见【KaiZhang、Jicheng An和Shawmin Lei,“3D-CE6.h相关:3DVC中一种高效的DLT编码方法”,联合协作小组关于3D视频编码扩展开发的文件,JCT3V-C0142,2013年1月】)中描述的称为RCBM的范围受限位图DLT编码方法中,可以采用XOR(异或)逻辑运算符来高效计算当前DLT 211和参考DLT 213之间的差值,即Δ-DLT 215。在这种情况下,表示当前DLT 211和参考DLT 213之间的差值的二进制串等于应用于表示涉及到的两个DLT中值的范围的XOR运算符。因此,可以通过将XOR运算符应用到表示参考DLT 213和当前DLT 211的二进制串中来计算表示差值DLT 215的二进制串(参见图2b)。在一种可选的实现中,XNOR运算符被用于计算表示Δ-DLT215的二进制串的过程中。
另一方面,在解码侧可通过应用XOR(异或)逻辑运算符基于参考DLT 213和Δ-DLT 215来高效地获得或计算原始的当前DLT 211。在这种情况下,表示当前DLT 211的二进制串等于应用于表示涉及到的值的范围中的参考DLT 213和Δ-DLT 215的XOR运算符。因此,可以通过将XOR运算符应用到表示参考DLT 213和Δ-DLT 215的二进制串中来计算表示当前DLT211的二进制串(参见图2b)。在一种可选的实现中,XNOR运算符被用于计算表示Δ-DLT 215和参考DLT 211的二进制串以获得参考DLT 213的过程中。
当前DLT和参考DLT越相似,例如,它们共有的深度值或对应的深度值信息越多,对应的Δ-DLT中的深度值的数量越少。参见图2b所示的二进制串表述,当前DLT 211和参考DLT 213越相似,Δ-DLT 215的二进制串,也可称为差值比特串,中第一值(“1”,结合图1)的数量越少,即需要用于表示差值编码的当前DLT的信息量越少。参见基于图1描述的范围受限位图(RCBM)编码,与直接采用RCBM编码的当前DLT相比,当前DLT211和参考DLT 213之间的相似性通常导致显示或包括一个范围缩小了的Δ-DLT 215,在图1中称为diff_max_dlt_value。相比于当前DLT的常规RCBM编码,这导致了待传输或存储的用来表示使用差值编码或者差值RCBM编码的当前DLT的比特值进一步减少。同时,可以采用用于常规RCBM的算法和句法来对差值比特串进行编码,从而提供基于图5描述的不太复杂的编码器。
如果Δ-DLT 215指示当前DLT 211和参考DLT 213之间无差值,例如,Δ-DLT只包括第二二进制值“0”,在一种实现形式中,单个标志用于对这样的Δ-DLT 215进行标示。利用这种方法,如果设置了该标志,则Δ-DLT 215指示参考DLT 213和当前DLT 211完全相同,Δ-DLT 215中没有其他信息需要进行标示,否则,Δ-DLT 215由基于参考DLT 213计算当前DLT 211所需的所有信息组成。
参考DLT 213的选择取决于使用的预测场景,以及已编码/解码的DLT的可用性。随机接入单元中的第一个编码/解码的DLT,例如,SPS中的标示的序列或I切片的SH中的标示的内部片段,不能利用这里所述的DLT预测方法,因为没有可用的参考DLT 213。对于所有其他DLT的编码/解码,应用该预测方法。如果没有参考DLT 213可用,按照现有技术,即如【KaiZhang、Jicheng An和Shawmin Lei,“3D-CE6.h相关:3DVC中一种高效的DLT编码方法”,联合协作小组关于3D视频编码扩展开发的文件,JCT3V-C0142,2013年1月】中所述,对当前DLT 211进行明确地编码/解码。否则,从其他已编码/解码的DLT中选择该参考DLT 213来发掘当前DLT 211和参考DLT 213之间的相似性。在单视图视频序列的情况下,在一种实现方式中,在已编码/解码的用于其他时刻,例如片段间、图像间、切片间等的DLT中选择参考DLT 213。在多视图视频序列的情况下,在一种实现方式中,在多视图视频序列的其他视图中已编码/解码的DLT中选择参考DLT 213。因此,如图3所阐述的,可以利用时间的和/或空间的预测类型,即视图间的预测类型。
图3示出了阐述一种实现形式中不同的时间和空间(视图间)的DLT预测场景的示意图。
场景1描绘了仅在视图索引上对DLT进行连续预测的第一种DLT预测场景301。场景2描绘了仅在时间索引上对DLT进行连续预测的第二种DLT预测场景302。场景3描绘了依次在视图索引上和在时间索引上对DLT进行连续预测的第三种DLT预测场景303。场景3中的第一轮预测连续应用在视图索引上,并在时间索引上对这轮连续的视图索引预测的结果进行连续预测。场景4描绘了依次在时间索引上和在视图索引上对DLT进行连续预测的第四种DLT预测场景304。场景4中的第一轮预测连续应用在时间索引上,并在视图索引上对这轮连续的时间索引预测的结果进行连续预测。场景5描绘了在视图索引上对DLT进行连续预测,并在时间索引上对DLT进行并行预测的第五种DLT预测场景305。场景5中的第一轮预测连续应用在视图索引上,并在时间索引上对这轮连续的视图索引预测的结果进行平行预测,即预测开始于相同的连续的视图索引预测结果。场景6描绘了在视图索引上对DLT进行连续预测,并在时间和视图索引上对DLT进行并行预测的第六种DLT预测场景306。场景6中原始DLT用于连续的视图索引预测,且用于并行的时间和视图索引预测,即在视图索引和时间索引上的预测都开始于同一原始DLT。
图4示出了阐述一种实现形式中采用PPS中标示的通用参考DLT的分层DLT预测的示意图。
通常,所有DLT都以同等的编码级别,例如SH,进行标示。但是,在如图4所描绘的一种实现形式中,以一个较高编码级别,例如图片参数集PPS 407,来设置参考DLT 403。在这种情况下,在一种实现形式中,参考DLT 403被用作在一个预定义组409,例如内部片段或其他随机接入单元,内对所有DLT进行编码/解码的通用参考。图4阐述了这种分层标示方法。从参考DLT 403开始在时间索引和视图索引上对DLT进行并行预测。在视图索引和时间索引上的预测都开始于相同的参考DLT 403。
在一种实现形式中,一种用于降低传输错误对上文结合图1描述的基于预测的编码/解码方法100的性能的影响的方法包括:以较高编码级别,例如PPS,对DLT值的位长进行标示。这确保了DLT值是可解码的,即使中间Δ-DLT丢失。通过应用这种方法,解决了万一参考DLT损坏或未下发给解码器,对基于该参考DLT进行预测的所有其他DLT不能进行适当解码的问题。
在一种实现形式中,一种用于降低传输错误对上文结合图1描述的基于预测的编码/解码方法100的性能的影响的方法包括:在包含带有SEI消息类型的典型的SEI消息头的专用的SEI消息中发送丢失的参考DLT,所述SEI消息类型指示所述SEI消息包含用于特定时刻(POC)和视图的参考DLT。可选地,所述SEI消息还包含参考DLT标识符,所述参考DLT标识符确定例如被标示的参考DLT开始于的哪个时刻(POC)和哪个视图。这确保了DLT值是可解码的,即使中间Δ-DLT丢失。通过应用这种方法,解决了万一参考DLT损坏或未下发给解码器,对基于该参考DLT进行预测的所有其他DLT不能进行适当解码的问题。
图5示出了一种实现形式中采用一种DLT预测算法对DLT进行编码的装置500的方框示意图。该装置500用于利用DLT预测对DLT查询表进行编码。在方框501中,按照现有技术,即根据【Kai Zhang、Jicheng An、Shawmin Lei,“3D-CE6.h相关:3DVC中一种高效的DLT编码方法”,联合协作小组关于3D视频编码扩展开发的文件,JCT3V-C0142,2013年1月】执行当前DLT的DLT编码方法。可根据环境自适应选择方框501中使用的用于对输入信号进行编码的实际编码方法,例如,输入信号是Δ-DLT 515还是参考DLT 513。在方框503中,进行DLT预测,将Δ-DLT 515作为当前DLT 511和参考DLT 513之间的差值进行计算。在方框505中,做出了关于是否使用DLT预测的决策;如果使用DLT预测,在方框501中对Δ-DLT515进行编码,否则,在方框501中对当前DLT 511进行编码。
所述参考深度查询表513可对应于上文结合图2a描述的参考DLT 203或者上文结合图2b描述的参考DLT 213。所述当前深度查询表511可对应于上文结合图2a描述的当前DLT 201或者上文结合图2b描述的当前DLT 211。所述差值深度查询表515可对应于上文结合图2a描述的差值DLT 205或者上文结合图2b描述的差值DLT 215。
图6示出了一种实现形式中与至少一部分3D图像相关联的深度查询表的解码方法600的方框示意图。该方法600包括:将存在于与至少一部分3D图像相关联的差值深度查询表的同类型的表述中且不存在于参考深度查询表的表述中的深度值信息添加到601深度查询表的表述中。该方法600包括:将不存在于差值深度查询表的表述中的参考DLT的表述的深度值信息复制到所述深度查询表中。
在一种实现形式中,所述差值深度查询表的表述对应于差值查询表,所述参考查询表的表述对应于参考查询表,所述深度值信息对应于深度值。
在一种实现形式中,所述方法600还包括:对所述差值深度查询表的已编码的表述进行解码以获得差值深度查询表;对所述参考深度查询表的已编码的表述进行解码以获得参考查询表。
在一种实现形式中,所述差值深度查询表的表述对应于一个表示对应的差值查询表的深度值的索引差值列表,所述参考深度查询表的表述对应于一个表示对应的参考查询表的深度值的索引参考列表,所述深度值信息对应于索引。
在一种实现形式中,所述差值深度查询表的表述对应于一个包括一串二进制值的差值二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值指示对应的差值查询表中深度值的出现;所述参考深度查询表的表述对应于一个包括一串二进制值的参考二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值指示对应的参考查询表中深度值的出现;所述深度值信息对应于二进制串。
在一种实现形式中,所述差值深度查询表的表述对应于采用范围受限位图RCBM编码的差值二进制串,所述参考深度查询表的表述对应于采用范围受限位图RCBM编码的参考二进制串。
在一种实现形式中,所述方法600还包括:对用于指示所述深度查询表的表述与所述参考深度查询表的表述之间同一性的标志进行分析;如果所述标志指示同一性,则将所述参考深度查询表的表述用作与所述至少一部分3D图像相关联的深度查询表的表述。
在一种实现形式中,所述参考深度查询表在先前已编码的深度查询表中选择,这些先前已编码的深度查询表用于与其他视图相关联的其他3D图像,用于与包括所述3D图像的3D视频序列的其他视图和/或时刻相关联的其他3D图像,用于所述3D图像的其他部分,或者用于与其他视图和/或时刻相关联的其他3D图像的对应部分,其中,所述3D图像的部分包括所述3D图像的切片、编码单元、编码块或宏块。
在一种实现形式中,所述方法600还包括:对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,其中,所述类型指示符指示是否对所述深度查询表的表述进行了编码;如果所述类型指示符指示对所述深度查询表的表述进行了编码,根据权利要求1至21任一项所述的方法对与所述3D图像的至少一部分相关联的深度查询表进行解码。
在一种实现形式中,所述方法600还包括:对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,所述类型指示符指示用于对所述深度查询表的表述进行编码的编码类型;根据所述类型指示符对所述参考深度查询表进行解码;对与所述至少一部分3D图像相关联的深度查询表进行解码。
在一种实现形式中,在单视图视频序列的情况下,所述参考深度查询表的表述对应于与其他时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
在一种实现形式中,所述在多视图视频序列的情况下,所述参考深度查询表的表述对应于与所述多视图视频序列的其他视图和/或时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
在一种实现形式中,所述参考深度查询表的表述对应于同等编码级别的深度查询表。在一种实现形式中,所述参考深度查询表的表述对应于较高编码级别的深度查询表,所述较高编码级别更具体地是切片头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别。
图7示出了一种实现形式中DLT的解码装置700的方框示意图。该装置700提供了与至少一部分3D图像相关联的深度查询表704。该装置700包括处理器701,用于将存在于与至少一部分3D图像相关联的差值深度查询表的同类型的表述中且不存在于参考深度查询表702的表述中的深度值信息添加到深度查询表的表述中。该处理器701用于将不存在于差值深度查询表的表述中的参考DLT 702的表述的深度值信息复制到深度查询表704中。
所述参考深度查询表702可对应于上文结合图2a描述的参考DLT 203或者上文结合图2b描述的参考DLT 213。所述(当前)深度查询表704可对应于上文结合图2a描述的当前DLT 201或者上文结合图2b描述的当前DLT 211。所述差值深度查询表可对应于上文结合图2a描述的差值DLT 205或者上文结合图2b描述的差值DLT 215。
通过阅读以上内容,所属领域的技术人员对清楚地了解,可提供多种方法、系统、记录媒体上的计算机程序及其类似者等等。
本发明还支持包含计算机可执行代码或计算机可执行指令的计算机程序产品,这些计算机可执行代码或计算机可执行指令在执行时使得至少一台计算机执行本文所述的执行及计算步骤。
通过以上启示,对于本领域技术人员来说,许多替代产品、修改及变体是显而易见的。当然,所属领域的技术人员容易意识到除本文所述的应用之外,还存在本发明的众多其它应用。虽然已参考一个或多个特定实施例描述了本发明,但所属领域的技术人员对认识到在不偏离本发明的范围的前提下,仍可对本发明作出许多改变。因此,应理解,只要是在所附权利要求书及其等效文句的范围内,可以用不同于本文具体描述的方式来实践本发明。

Claims (22)

1.一种深度查询表DLT(201,211)的编码方法(100),其特征在于,所述深度查询表包括至少一部分3D图像的深度值信息,所述方法(100)包括:
选择(101)参考深度查询表(203,213);
基于待编码的深度查询表(201,211)的深度值信息与所述参考深度查询表(203,213)的深度值信息之间的对比来确定(103)差值深度查询表(205,215);
根据预先确定的编码规则对所述差值深度查询表(205,215)的深度值信息进行编码(105)。
2.根据权利要求1所述的方法(100),其特征在于,所述差值深度查询表(205,215)包括存在于所述待编码的深度查询表(201,211)中且不存在于所述参考深度查询表(203,213)中的深度值信息,并且包括存在于所述参考深度查询表(203,213)中且不存在于所述待编码的深度查询表(201,211)中的深度值信息。
3.根据前述权利要求中任一项所述的方法(100),其特征在于,所述待编码的深度查询表(201,211)中深度值的出现和所述参考深度查询表(203,213)中深度值的出现被表示为二进制串,其中二进制串的第一二进制值指示对应的深度查询表中深度值的出现。
4.根据权利要求3所述的方法(100),其特征在于,所述确定差值深度查询表(205,215)包括:将逻辑XOR运算和逻辑XNOR运算中的一个应用于表示所述待编码的深度查询表(201,211)的深度值信息和所述参考深度查询表(203,213)的深度值信息的二进制串。
5.根据前述权利要求中任一项所述的方法(100),其特征在于,还包括:
采用所述参考深度查询表的范围受限位图编码对所述参考查询表的深度值信息进行编码;
其中,所述对所述差值深度查询表(205,215)的深度值信息进行编码也采用所述差值深度查询表的范围受限位图编码来进行。
6.根据前述权利要求中任一项所述的方法(100),其特征在于,包括:
采用用于指示所述待编码的深度查询表(201,211)与所述参考深度查询表(203,213)之间同一性的标志。
7.根据前述权利要求中任一项所述的方法(100),其特征在于,还包括:
保护所述差值深度查询表(205,215)免受所述参考深度查询表(203,213)损坏的影响,具体地,通过以下方式实现:
以较高编码级别标示所述参考深度查询表(203,213)的深度值的位长;或者
在专用的补充增强信息SEI消息中发送丢失的参考深度查询表(203,213)。
8.根据前述权利要求中任一项所述的方法(100),其特征在于,所述对所述差值深度查询表(205,215)进行编码包括基于ITU-T和ISO/IEC标准的3D视频编码扩展开发而进行的范围受限位图编码。
9.一种提供与至少一部分3D图像相关联的深度查询表(当前DLT)的表述的方法(600),其特征在于,所述方法(600)包括:
将存在于与至少一部分3D图像相关联的差值深度查询表(205,215)的表述中且不存在于参考深度查询表(203,213)的表述中的深度值信息添加到(601)深度查询表(201,211)的表述中;
将不存在于差值深度查询表(205,215)的表述中的参考深度查询表(203,213)的表述的深度值信息复制到(603)所述深度查询表(201,211)中。
10.根据权利要求9所述的方法(600),其特征在于,所述差值深度查询表的表述对应于差值查询表,所述参考查询表的表述对应于参考查询表,所述深度值信息对应于深度值。
11.根据权利要求10所述的方法(600),其特征在于,所述方法还包括:
对所述差值深度查询表的已编码的表述进行解码以获得差值查询表;
对所述参考深度查询表的已编码的表述进行解码以获得参考查询表。
12.根据权利要求9所述的方法(600),其特征在于,所述差值深度查询表的表述对应于一个表示对应的差值查询表的深度值的索引差值列表,所述参考深度查询表的表述对应于一个表示对应的参考查询表的深度值的索引参考列表,所述深度值信息对应于索引。
13.根据权利要求9所述的方法(600),其特征在于,所述差值深度查询表的表述对应于一个包括一串二进制值的差值二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值指示对应的差值查询表中深度值的出现;所述参考深度查询表的表述对应于一个包括一串二进制值的参考二进制串,其中二进制值的位置与深度值相关联,二进制值的第一二进制值指示对应的参考查询表中深度值的出现;所述深度值信息对应于二进制串。
14.根据权利要求9或13所述的方法(600),所述差值深度查询表的表述对应于采用范围受限位图RCBM编码的差值二进制串,所述参考深度查询表的表述对应于采用范围受限位图RCBM编码的参考二进制串。
15.根据权利要求9至15任一项所述的方法(600),其特征在于,所述方法还包括:
对用于指示所述深度查询表(201,211)的表述与所述参考深度查询表(203,213)的表述之间同一性的标志进行分析;
如果所述标志指示同一性,则将所述参考深度查询表的表述用作与所述至少一部分3D图像相关联的深度查询表的表述。
16.根据权利要求9至15任一项所述的方法(600),其特征在于,所述参考深度查询表(203,213)与深度查询表相关联,所述深度查询表用于:
与其他视图相关联的其他3D图像;
与包括所述3D图像的3D视频序列的其他视图和/或时刻相关联的其他3D图像;或者
所述3D图像的其他部分,与其他视图和/或时刻相关联的其他3D图像的对应部分,其中,所述3D图像的部分包括所述3D图像的切片、编码单元、编码块或宏块。
17.根据权利要求9至16任一项所述的方法(600),其特征在于,所述方法还包括:
对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,其中,所述类型指示符指示是否对所述深度查询表的表述进行了差值编码;
如果所述类型指示符指示对所述深度查询表的表述进行了差值编码,根据权利要求1至21任一项所述的方法对与所述至少一部分3D图像相关联的深度查询表(当前DLT)进行解码。
18.根据权利要求9至17任一项所述的方法(600),其特征在于,所述方法还包括:
对包含在编码单元编码级别、切片头编码级别、图像头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别中的类型指示符进行分析,其中,所述类型指示符指示是否对所述深度查询表的表述进行了差值编码和/或用于对所述深度查询表的表述进行差值编码的差值编码类型,和/或指示即将用于差值解码的所述参考深度查询表的表述;
根据所述类型指示符选择参考深度查询表(参考DLT)的表述;
根据权利要求9至17任一项所述的方法对与所述至少一部分3D图像相关联的深度查询表(当前-DLT)进行解码。
19.根据权利要求9至18任一项所述的方法(600),其特征在于,在单视图视频序列的情况下,所述参考深度查询表(203,213)的表述对应于与其他时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
20.根据权利要求9至18任一项所述的方法(600),其特征在于,在多视图视频序列的情况下,所述参考深度查询表(203,213)的表述对应于与所述多视图视频序列的其他视图和/或时刻相关联的深度查询表,更具体地,对应于用于包括3D图像的3D视频序列的内部片段、图像或切片的深度查询表。
21.根据权利要求9至20任一项所述的方法(600),其特征在于,所述参考深度查询表(203,213)的表述对应于同等编码级别的深度查询表;或者
所述参考深度查询表(203,213)的表述对应于较高编码级别的深度查询表,所述较高编码级别更具体地是切片头编码级别、图像参数集编码级别、SPS编码级别或SEI编码级别。
22.一种提供与至少一部分3D图像相关联的深度查询表(704)的装置(700),其特征在于,所述装置(700)包括处理器(701),用于:
将存在于与至少一部分3D图像相关联的差值深度查询表(205,215)的同类型的表述中且不存在于参考深度查询表(702,203,213)的表述中的深度值信息添加到深度查询表(201,211)的表述中;
将不存在于差值深度查询表(205,215)的表述中的参考深度查询表(203,213)的表述的深度值信息复制到所述深度查询表(201,211)中。
CN201380074688.1A 2013-03-13 2013-03-13 深度查询表的编码方法 Active CN105009576B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2013/055178 WO2014139566A1 (en) 2013-03-13 2013-03-13 Method for coding a depth lookup table

Publications (2)

Publication Number Publication Date
CN105009576A true CN105009576A (zh) 2015-10-28
CN105009576B CN105009576B (zh) 2018-12-14

Family

ID=47891705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380074688.1A Active CN105009576B (zh) 2013-03-13 2013-03-13 深度查询表的编码方法

Country Status (6)

Country Link
US (1) US10499075B2 (zh)
EP (1) EP2974309B1 (zh)
JP (1) JP6318181B2 (zh)
KR (2) KR101806949B1 (zh)
CN (1) CN105009576B (zh)
WO (1) WO2014139566A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320644A (zh) * 2013-04-10 2015-01-28 中兴通讯股份有限公司 一种深度信息的编解码方法、系统及装置
CN113785585A (zh) * 2019-03-15 2021-12-10 奥兰治 用于编码和解码多视图视频序列的方法和设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101740630B1 (ko) 2013-01-11 2017-05-26 미디어텍 싱가폴 피티이. 엘티디. 깊이 룩업 테이블의 효율적인 코딩을 위한 방법 및 장치
CN104079941B (zh) * 2013-03-27 2017-08-25 中兴通讯股份有限公司 一种深度信息编解码方法、装置及视频处理播放设备
US20150063464A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Lookup table coding
WO2015139203A1 (en) * 2014-03-18 2015-09-24 Mediatek Singapore Pte. Ltd. Dlt signaling in 3d video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
CN101415120A (zh) * 2007-10-15 2009-04-22 汤姆森许可贸易公司 针对使用分级lut的比特深度可缩放性的增强层残差预测

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
CN101420609B (zh) * 2007-10-24 2010-08-25 华为终端有限公司 视频编码、解码方法及视频编码器、解码器
TWI521940B (zh) * 2012-06-14 2016-02-11 杜比實驗室特許公司 用於立體及自動立體顯示器之深度圖傳遞格式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1513349A2 (en) * 2003-09-07 2005-03-09 Microsoft Corporation Bitstream-controlled post-processing video filtering
CN101415120A (zh) * 2007-10-15 2009-04-22 汤姆森许可贸易公司 针对使用分级lut的比特深度可缩放性的增强层残差预测
JP2009100473A (ja) * 2007-10-15 2009-05-07 Thomson Licensing 階層的lutを利用したビット深度スケーラビリティのためのエンハンスメントレイヤ残差予測

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GERHARD TECH: "Draft of 3D-HEVC Test Model Description", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 2ND MEETING: SHANGHAI, CN》 *
ILSOON LIM: "3D-CE6 Related: Improved Depth Lookup Table(Slice-layer Signalling)", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, 3RD MEETING: GENEVA, CH》 *
PHILIPP MERKLE: "Description of Core Experiment 6 (CE6) on Depth Intra Coding", 《JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,3RD MEETING: GENEVA, CH》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320644A (zh) * 2013-04-10 2015-01-28 中兴通讯股份有限公司 一种深度信息的编解码方法、系统及装置
CN104320644B (zh) * 2013-04-10 2019-07-05 中兴通讯股份有限公司 一种深度信息的编解码方法、系统及装置
US10659813B2 (en) 2013-04-10 2020-05-19 Zte Corporation Method, system and device for coding and decoding depth information
CN113785585A (zh) * 2019-03-15 2021-12-10 奥兰治 用于编码和解码多视图视频序列的方法和设备
CN113785585B (zh) * 2019-03-15 2024-04-09 奥兰治 用于编码和解码多视图视频序列的方法和设备

Also Published As

Publication number Publication date
KR20170038095A (ko) 2017-04-05
US10499075B2 (en) 2019-12-03
US20160029036A1 (en) 2016-01-28
KR20150126037A (ko) 2015-11-10
EP2974309B1 (en) 2017-12-13
EP2974309A1 (en) 2016-01-20
WO2014139566A1 (en) 2014-09-18
JP6318181B2 (ja) 2018-04-25
KR101806949B1 (ko) 2017-12-08
CN105009576B (zh) 2018-12-14
JP2016514432A (ja) 2016-05-19

Similar Documents

Publication Publication Date Title
CN105009575A (zh) 一种基于子范围编码深度查询表的方法
US9485492B2 (en) Compression methods and apparatus for occlusion data
CN105960802B (zh) 切换色彩空间时对编码和解码的调整
CN105009576A (zh) 深度查询表的编码方法
CN105556971B (zh) 针对帧内块复制预测中的块翻动和跳跃模式的编码器侧判定
CN105393541A (zh) 使用基于深度的块分割编解码纹理块的方法和装置
JP6282646B2 (ja) 現在ブロックの分割を予測することによるビデオ符号化方法、復号化方法、対応する符号化及び復号化装置、並びにコンピュータプログラム
EP2777256B1 (en) Multi-view coding with effective handling of renderable portions
US11689738B2 (en) Multi-view coding with exploitation of renderable portions
KR20150027145A (ko) 투명도 정보 채널을 가지는 비디오 스트림을 인코딩하기 위한 방법 및 장치
US20150249841A1 (en) Method and device for encoding/decoding video bitstream
CN101754016B (zh) 用于插入数据的方法、用于读取所插入的数据的方法
CN102438141B (zh) 一种立体视频码流处理方法及装置
CN112449186B (zh) 编码方法、解码方法、相应的装置、电子设备及存储介质
CN103997635B (zh) 自由视点视频的合成视点失真预测方法及编码方法
KR101699527B1 (ko) 동영상 패킷 생성 방법 및 그 장치, 동영상 복원 방법 및 그 장치

Legal Events

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