CN113256786A - 解码视频数据的方法、计算机系统和可读存储介质 - Google Patents

解码视频数据的方法、计算机系统和可读存储介质 Download PDF

Info

Publication number
CN113256786A
CN113256786A CN202110021109.3A CN202110021109A CN113256786A CN 113256786 A CN113256786 A CN 113256786A CN 202110021109 A CN202110021109 A CN 202110021109A CN 113256786 A CN113256786 A CN 113256786A
Authority
CN
China
Prior art keywords
node
depth
attribute information
point cloud
octree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110021109.3A
Other languages
English (en)
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN113256786A publication Critical patent/CN113256786A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding 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/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/124Quantisation
    • 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
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • 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/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

本申请提供了一种用于解码视频数据的方法、计算机系统和可读存储介质。所述方法可以包括:接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;生成点云的边界框的至少一个去量化维度;在确定节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。

Description

解码视频数据的方法、计算机系统和可读存储介质
本申请要求于2020年2月10日提交的申请号为62/972,159的美国临时申请以及于2020年12月17日提交的申请号为17/124,986的美国正式申请的优先权,所述两个申请的全部内容通过引用并入本文。
技术领域
本申请总体上涉及数据处理领域,更具体地涉及解码视频数据的方法、计算机系统和可读存储介质。
背景技术
点云是可以表示三维(3D)形状的空间中的一组数据点。近年来点云技术已经得到了广泛的应用。例如,点云技术可以在自主驾驶车辆中用于对象检测和定位,在地理信息系统(Geographic Information System,GIS)中用于绘图,在文化遗产项目中用于对文化遗产对象和收藏品进行可视化和存档等。
点云包含一组高维数据点,每个点都包括3D位置信息和附加属性,例如颜色、反射率等。它们可以使用多个照相机和深度传感器或各种设置的光检测和测距(激光雷达)来采集,并且可以由数千到数十亿个点组成,以真实地表示一个或多个原始场景。
需要压缩技术来减少表示点云所需的数据量,以便使传输更快和/或减少存储量。
发明内容
本申请实施例涉及用于编码和/或解码视频数据的方法、系统和非易失性计算机可读存储介质,更具体地涉及点云编解码(Point Cloud Coding,POC),包括点云的空间可扩展编解码。所述方法可以包括:接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;通过包括以下步骤的过程,生成点云的边界框的至少一个去量化维度:从所述已熵编码码流中,解析出所述点云的边界框的已熵编码维度;对所述点云的边界框的已熵编码维度进行熵解码,得到所述点云的边界框的维度;以及对所述点云的边界框的维度进行去量化;确定节点或节点深度是否具有属性信息;在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,可以是中间节点。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,可以包括:对在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,求平均。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,可以包括:基于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,使用最小函数/最大函数。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,可以包括:仅使用属性值的子集,所述子集小于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的整个属性值集合。
所述子集可以仅包括子节点的属性值或子节点的子集的属性值。
所述子集可以仅包括在所述子节点中的位于中间子节点的中心球距离阈值之内的子节点的属性值。
所述方法可以还包括:将与同一祖先节点对应的子孙节点分为一组。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息可以包括:计算在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值的加权平均值。
所述方法可以还包括:使用当前节点的父级别节点或祖先级别节点的属性信息,作为当前节点的属性信息的预测子。
所述方法可以还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的预测子。
所述方法可以还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的候选预测子。
所述方法可以还包括:使用速率失真优化,从所述子孙节点的属性信息的候选预测子中,选择最佳候选预测子,作为所述八叉树深度处的节点的子孙节点之一的属性信息的最终预测子。
所述点云的属性可以包括颜色或反射率其中的一个或多个。
所述方法可以还包括:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使显示器显示所述可显示图像。
所述方法可以还包括:通过使用所述继承的属性信息,根据包括所述点云的点云占用码的所述边界框的去量化维度,细分所述点云的边界框,而构建八叉树结构。
根据实施例,可以提供一种用于解码视频数据的计算机系统,该计算机系统可以包括:一个或多个计算机可读非易失性存储介质,其被配置为存储计算机程序代码;以及一个或多个计算机处理器,其被配置为访问所述计算机程序代码并且按照所述计算机程序代码的指示进行操作,所述计算机程序代码包括:接收代码,其被配置为使所述一个或多个计算机处理器接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;去量化代码,其被配置为通过包括以下步骤的过程,使所述一个或多个计算机处理器生成所述点云的边界框的至少一个去量化维度:从所述已熵编码码流中解析出所述点云的边界框的已熵编码维度,对所述点云的边界框的已熵编码的维度进行熵解码,得到所述点云的边界框的维度,以及对所述点云的边界框的维度进行去量化;确定代码,其被配置为使所述一个或多个计算机处理器确定节点或节点深度是否具有属性信息;属性识别代码,其被配置为使所述一个或多个计算机处理器:在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述计算机系统,可以还包括:显示器,其中所述计算机程序代码进一步包括:显示代码,其被配置为使所述一个或多个处理器:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使所述显示器显示所述可显示图像。
所述点云的属性可以包括颜色或反射率其中的一个或多个。
根据实施例,提供了一种非易失性计算机可读存储介质,其上存储有用于解码视频数据的计算机程序,所述计算机程序被配置为使一个或多个计算机处理器:接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;通过包括以下步骤的过程,生成点云的边界框的至少一个去量化维度:从所述已熵编码码流中,解析出所述点云的边界框的已熵编码维度;对所述点云的边界框的已熵编码的维度进行熵解码,得到所述点云的边界框的维度;以及对所述点云的边界框的维度进行去量化;确定节点或节点深度是否具有属性信息;在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述计算机程序可以还被配置为使所述一个或多个计算机处理器:至少部分基于继承的属性信息来生成可显示图像;以及执行控制,使显示器显示所述可显示图像。
通过本申请实施例的解码视频数据的方法、计算机系统和可读存储介质,可以实现完整的空间可扩展编解码,可以进一步减少表示点云所需的数据量,减少存储量,节省传输资源,提高传输效率。
附图说明
这些和其它目的、特征和优点将从以下结合附图阅读的说明性实施例的详细描述中变得显而易见。由于附图是用于结合详细描述来方便本领域技术人员进行清楚的理解,因此附图的各种特征并非按比例绘制。在附图中:
图1示出了根据实施例的八叉树分区的图示。
图2图示了两级八叉树分区、树结构和相应占用码的示例。
图3和图4示出了根据一个或多个实施例的在各种八叉树深度处的节点的分组。
图5示出了图示用于解码视频数据的方法的步骤的操作流程图。
图6示出了联网计算机环境的功能框图,其图示根据实施例的用于编码和/或解码视频数据的视频编解码系统。
图7图示了根据实施例的解码器在流媒体环境/流媒体系统中的布置。
图8图示了根据实施例的解码器(例如,视频解码器)的功能框图。
图9图示了根据实施例的包括源编码器的编码系统的功能框图,该源编码器可以是视频编码器。
图10示出了适于实现所公开的主题的某些实施例的计算机系统700。
具体实施方式
本申请公开了所要求保护的结构和方法的详细实施例;然而,可理解的是,所公开的实施例仅仅是可以以各种形式实施的所要求保护的结构和方法的说明。然而,这些结构和方法可以以许多不同的形式来实施,并且不应当被解释为限于本申请中所阐述的示例性实施例。相反,提供这些示例性实施例是为了使本申请彻底和完整,并且向本领域技术人员充分传达本申请的范围。在描述中,可能会省略公知特征和技术的细节,以避免不必要地模糊所呈现的实施例。
实施例总体上涉及数据处理领域,更具体地涉及视频编码和/或解码。以下描述的示例性实施例提供了编码和/或解码视频数据的系统、方法和计算机程序。
本申请参考根据各个实施例的方法、装置(系统)和计算机可读存储介质的流程图和/或框图描述了各方面。应当理解,流程图图示和/或框图中的每个框,以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实现。
现在参考图6,图示了根据实施例的用于编码和/或解码视频数据的视频编解码系统100(以下称为“系统”)的联网计算机环境的功能框图。应当理解,图6仅提供了一种实施方式的图示,并不意味着对可以实现不同实施例的环境的任何限制。可以基于设计和实现需求对本申请所描述的环境进行许多修改。
如图6所示,根据本申请实施例,通信系统(100)可以包括经由网络(150)互连的至少两个终端(110、120)。对于数据的单向传输,第一终端(110)可以在本地位置对视频数据进行编码,以便经由网络(150)传输到另一终端(120)。第二终端(120)可以从网络(150)接收另一终端的已编码视频数据,对已编码数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。
图6图示了第二对终端(130、140),其被提供来支持例如在视频会议期间可能会出现的已编码视频的双向传输。对于数据的双向传输,每个终端(130、140)可以对在本地位置采集的视频数据进行编码,以便经由网络(150)传输到另一终端。每个终端(130、140)还可以接收由另一终端传输的已编码视频数据,可以对已编码数据进行解码,并且可以在本地显示设备上显示恢复的视频数据。
在图6中,终端(110-140)可以被图示为膝上型计算机(110)、服务器(120)、智能电话(130)和智能电话(140),但是本申请的原理不限于此。本申请实施例可以应用于其它设备,包括但不限于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络(150)表示在终端(110-140)之间传送已编码视频数据的任意数量的网络,包括,例如有线和/或无线通信网络。通信网络(150)可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。为了本申请讨论的目的,网络(150)的体系结构和拓扑结构对于本申请的操作可以是不重要的,除非下面另有解释。
图7图示了作为本申请所公开主题的应用的示例的解码器(210)在流媒体环境/流媒体系统(200)中的放置。解码器(210)将参考图8和图9中的解码器(433)进一步讨论。解码器(210)可以对应于图8中的解码器(210)或对应于图9中的解码器(433)。
本申请所公开主题可以等同地应用于其它启用视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、记忆棒等数字媒体上存储压缩视频等。
如图7所示,流媒体系统(200)可以包括采集子系统(213),其可以包括视频源(201),例如数码照相机,其可以创建未压缩的视频样本流(202)。样本流(202)可以由耦接到照相机(201)的源编码器(203)处理,样本流(202)在图中描绘为粗线,以强调其与已编码视频码流相比具有较高的数据量。源编码器(203)可以包括硬件(例如,处理器或电路和存储器)、软件或其组合,以实现或实施如下面更详细描述的本申请所公开主题的各方面。已编码视频码流(204)可以存储在流媒体服务器(205)上以供将来使用,已编码视频码流(204)在图中描绘为细线,以强调其与样本流相比具有较低的数据量。一个或多个流媒体客户端(206、208)可以访问流媒体服务器(205),以检索已编码视频码流(204)的副本(207、209)。客户端(206)可以包括视频解码器(210),该视频解码器(210)可以对已编码视频码流(207)的输入副本进行解码,并创建可以在显示器(212)或其它呈现设备上呈现的输出视频样本流(211)。
图8图示了根据本申请实施例的解码器(210)(例如,视频解码器)的功能框图。如图8所示,接收器(310)可接收将由解码器(210)解码的一个或多个编解码视频序列。在同一实施例或另一实施例中,一次可以接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(312)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(310)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未示出)的已编码音频数据和/或辅助数据流。接收器(310)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(315)可耦接在接收器(310)与熵解码器/解析器(320)(此后称为“解析器(320)”)之间。而当接收器(310)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不需要配置缓冲存储器(315),或可以将所述缓冲存储器(315)做得较小。当然,为了在互联网等业务分组网络上使用,也可能需要缓冲存储器(315),所述缓冲存储器可相对较大且有利的是可具有自适应性大小。
视频解码器(210)可包括解析器(320),以根据已熵编码视频序列重建符号(321)。这些符号的类别包括用于管理解码器(210)的操作的信息,以及潜在地包括用以控制显示屏(212)等显示装置的信息,所述显示装置不是解码器的组成部分,但可耦接到解码器,如图7和图8中所示。用于显示装置的控制信息可以是辅助增强信息(SupplementalEnhancement Information,SEI消息)或视频可用性信息(Video Usability Information,VUI)的参数集片段(未标示)。解析器(320)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员所知的原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(320)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group ofPictures,GOP)、图片、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。熵解码器/解析器(320)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(320)可对从缓冲存储器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(321)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(320)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(320)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(210)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施例中,这些单元中的许多单元彼此紧密交互并且可以彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
第一单元可以是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)可以从解析器(320)接收作为符号(321)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可输出包括样本值的块,所述样本值可输入到聚合器(355)中。
在一些情况下,缩放器/逆变换单元(351)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元(352)采用从当前(部分已重建)图片(358)提取的已重建信息,生成大小和形状与正在重建的块相同的周围块。在一些情况下,聚合器(355)基于每个样本,将帧内图片预测单元(352)生成的预测信息添加到由缩放器/逆变换单元(351)提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元(351)的输出样本可属于帧间已编码块和潜在运动补偿块。在此情况下,运动补偿预测单元(353)可访问参考图片缓冲(357)以提取用于预测的样本。在根据属于所述块的符号(321)对提取的样本进行运动补偿之后,这些样本可由聚合器(355)添加到缩放器/逆变换单元的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元从参考图片存储器内的地址获取预测样本可受到运动矢量控制,且所述运动矢量以所述符号(321)的形式而供运动补偿预测单元使用,所述符号(321)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器提取的样本值的内插、运动矢量预测机制等等。
聚合器(355)的输出样本可在环路滤波器单元(356)中经过各种环路滤波技术处理。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频码流中的参数,且所述参数作为来自解析器(320)的符号(321)可用于环路滤波器单元(356)。然而,在其它实施例中,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(356)的输出可以是样本流,所述样本流可输出到显示装置(212)以及存储在参考图片缓冲(357),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片(通过例如解析器(320))被识别为参考图片,则当前参考图片(358)可变为参考图片缓冲(357)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。
视频解码器(210)可根据例如ITU-T H.265标准中可能记载的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法的意义上,如视频压缩技术文件或标准所规定,特别是其中的配置文件所规定,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)和/或最大参考图片大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical ReferenceDecoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
在实施例中,接收器(310)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(210)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图9是根据本申请实施例的包括源编码器(203)的编码系统(400)的框图,源编码器(203)可以是视频编码器(203)。
视频编码器(203)可从视频源(201)(并非编码器的一部分)接收视频样本,所述视频源可采集将由视频编码器(203)编码的视频图像。
视频源(201)可提供将由视频编码器(203)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601YCrCB、RGB……)和任何合适取样结构(例如YCrCb4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储装置,该存储装置可以包括存储器和处理器。在视频会议系统中,视频源(201)可以包括采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
根据实施例,视频编码器(203)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列。施行适当的编码速度是控制器(450)的一个功能。控制器(450)可以控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(450)设置的参数可包括速率控制相关参数(例如,图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(groupofpictures,GOP)布局,最大运动矢量搜索范围等。本领域技术人员可以容易识别控制器(450)的其它功能,因为这些功能可能会涉及针对某一系统设计优化的视频编码器(203)。
一些视频编码器在本领域技术人员容易识别的“编码环路中”进行操作。作为简单的描述,编码环路可包括源编码器(“source coder”或“source encoder”)(203)的编码部分,用于负责基于待编码的输入图片和参考图片创建符号,以及嵌入于视频编码器(203)中的(本地)解码器(433)。解码器(433)重建符号,以创建样本数据,这些样本数据是远程解码器(210)也会创建的(因为在本申请公开主题所考虑的视频压缩技术中,符号与已编码视频码流之间的任何压缩是无损的)。将重建的样本流输入到参考图片存储器(434)。
由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)是本领域技术人员所知的。
“本地”解码器(433)的操作可与例如已在上文结合图8详细描述的“远程”解码器(210)相同。然而,另外简要参考图8,当符号可用且熵编码器(445)和解析器(320)能够无损地将符号编码/解码为已编码视频序列时,视频解码器(210)的熵解码部分(包括信道(312)、接收器(310)、缓冲存储器(315)和解析器(320)在内),可以不完全在本地解码器(433)中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。编码器技术与所描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
作为源编码器(203)的操作的一部分,源编码器(203)可执行运动补偿预测编码,参考来自视频序列中被指定为“参考帧”的一个或多个先前已编码帧,对输入帧进行预测性编码。以此方式,编码引擎(432)对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。
本地视频解码器(433)可基于源编码器(203)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(432)的操作有利地可为有损过程。当已编码视频数据可在视频解码器处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(433)复制可由视频解码器对参考帧执行的解码过程,且可使重建的参考帧存储在参考图片存储器(高速缓存)(434)中。以此方式,源编码器(203)可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
预测器(435)可针对编码引擎(432)执行预测搜索。即,对于将要编码的新帧,预测器(435)可在参考图片存储器(434)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(435)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(435)获得的搜索结果,可确定输入图片可具有从参考图片存储器(434)中存储的多个参考图片取得的预测参考。
控制器(450)(可以包括处理器)可管理源编码器(203)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(445)中对所有上述功能单元的输出进行熵编码。熵编码器可以根据本领域技术人员所知的例如霍夫曼编码、可变长度编码、算术编码等技术,对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
传输器(440)可缓冲由熵编码器(445)创建的已编码视频序列,从而为通过通信信道(460)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(440)可将来自源编码器(203)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流。
控制器(450)可管理视频编码器(203)的操作。在编码期间,控制器(450)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为以下任一种帧类型:帧内图片(I图片)、预测性图片(P图片)、双向预测性图片(B图片)。
帧内图片(I图片),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图片。所属领域的技术人员了解I图片的变体及其相应的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行预测编码。
源编码器(203)可根据例如ITU-T H.265建议书或多功能视频编码(VVC)的预定视频编码技术或标准执行编码操作。在操作中,源编码器(203)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在实施例中,传输器(440)可在传输已编码的视频时传输附加数据。源编码器(203)可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/SNR增强层、冗余图片和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。
如上所述,已编码视频序列的编解码可以根据视频编解码技术或标准,且可遵循所属领域的技术人员周知的原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文敏感性的算术编码等。在一些流媒体系统中,视频码流(204、207、209)可以根据某些视频编码/压缩标准编码。这些标准的示例包括H.265的ITU-T HEVC建议书。
点云压缩
在运动图像专家组(MPEG)的测试模型13(TMC13)中,几何信息和相关属性,例如颜色或反射率,可以是分开压缩的。几何信息(点云的3D坐标),可以通过具有至少一个八叉树分区的占用信息的至少一个八叉树分区来编码。然后,可以使用预测、提升和区域自适应分层变换(Region Adaptive Hierarchical Transform,RAHT)技术,基于重建的几何形状,压缩属性。下面更详细地描述八叉树划分和占用信息编码的过程。
八叉树划分
图1示出了根据实施例的八叉树划分的图示。在TMC13中,当使用八叉树几何编码器-解码器(编解码器)时,其几何编码按以下方式进行。首先,通过两个点(0,0,0)和(2M-1,2M-1,2M-1)定义立方轴对齐的边界框B,其中,2M-1定义了边界框B的大小,M是在码流中指定。
然后,通过递归地细分边界框B,创建八叉树结构。在每个细分阶段,将立方体细分为8个子立方体。然后,可以通过将1比特的值与每个子立方体相关联,生成一个8比特的代码,即占用码,以指示每个子立方体是包含点(即,是满的(full),具有值“1”),还是不包含点(即,是空的(empty),具有值“0”)。只对尺寸大于1的、满的子立方体(即,非体素)进行进一步细分(例如,通过对满的子立方体再执行八叉树划分)。
图2图示了两级八叉树划分、树结构和对应的占用码(例如,10000001、00011000、10001000)的示例,其中,深色的立方体和节点表示各个立方体和节点被点占用(即,是满的)。
占用码的编码
每个节点的占用码可以由算术编码器压缩。占用码可以表示为S,S是一个8比特的整数,S中的每个比特,可以指示其对应子节点的占用状态。TMC13中存在两种占用码编码方法:逐位编码方法和逐字节编码方法。默认情况下可以启用逐位编码方法。在逐位编码方法和逐字节编码方法两者中,可以采用具有上下文建模的算术编解码,对占用码进行编码,其中,上下文状态是在整个编解码过程的开始进行初始化,并且在编解码过程中进行更新。
对于逐位编码而言,S中的八个二进制数(bin),是按某一顺序进行编码的,其中,每个二进制数,是通过参考当前节点的相邻节点以及相邻节点的子节点的占用状态,进行编码的,其中,相邻节点与当前节点处于相同的级别。
对于逐字节编解码而言,S的编码是通过参考以下内容进行:自适应查找表(Adaptive Look Up Table,A-LUT),其跟踪N个(例如,32个)最频繁使用的占用码;以及高速缓存(例如,高速缓存中的第二表),其跟踪最近观测到的M个不同的(例如,16个)占用码。
可以对指示S是否是在A-LUT中的二进制标志进行编码。根据实施例,当S在A-LUT中时,可以通过使用二进制算术编码器,对A-LUT中的索引进行编码。根据实施例,当S不在A-LUT中时,则可以对指示S是否在高速缓存中的二进制标志进行编码。当S在高速缓存中时,则可以通过使用二进制算术编码器,对S的索引的二进制表示进行编码。否则,当S不在高速缓存中时,则可以通过使用二进制算术编码器,对S的二进制表示进行编码。
在某种意义上,使用八叉树划分的编码,类似于可变长度编码。
解码过程开始于从码流中解析出边界框B的维度。然后,通过根据已解码占用码,细分边界框B,而构建相同的八叉树结构。
根据实施例,点云的属性可以是颜色、反射率等。
在相关技术的TMC13设计中,几何编解码和属性编解码是分开进行的,几何性是通过执行3D边界框的八叉树划分,而编码的。
根据实施例,八叉树可以概括为不仅包括八叉树划分,还包括四叉树划分和二叉树划分。
例如,假设d=0,1,……,M-1表示点云的八叉树划分深度,其中,M是八叉树划分深度的数目。根节点是唯一一个深度为0的节点。通过构造八叉树,八叉树本身会引入特殊的可扩展性。例如,可以使用近似于原始点云的包含前k个深度的子树,其中,0≤k≤M-1。显然,如果k=0,则仅包括根节点,导致退化的情况。当k=M-1时,子树与原始的八叉树相同。当k越大,子树更接近于原始的点云。
然而,相关技术中的问题在于,基于八叉树的几何编解码,仅处理的是点云中的点的3D几何位置,并且属性信息是在完成属性编解码之后可用,属性编解码是在完成点云的几何编解码之后的单独步骤。另一个问题是,包含前k(k<M-1)个深度的子树中的节点,不会具有属性信息(例如,中间节点=M-1)(共M个深度(第一个深度为零))。
根据实施例,因为根节点太近,所以可以检查中间节点。即使解码器可以解码出子树,获得节点位置,但是在没有对应属性信息的情况下,解码器仍不能正确显示那些节点。
根据实施例,本申请中描述的元件和方法可以单独使用或者以任何顺序组合使用。进一步地,方法(或实施例)、编码器和解码器中的每一个可由处理电路(例如,一个或多个处理器或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读存储介质中的程序。
根据本申请的各种实施例,提供了用于解决上述两个问题以实现点云编解码的空间可扩展性的各种方法。首先,本申请公开了除非八叉树的叶节点之外的节点的属性的方法。其次,本申请还提出了同时对几何性和属性进行编解码的方法。
中间节点(Intermediate Node)的属性
根据实施例,获得中间节点的属性的一种途径是反过来看。例如,当已经获得特定级别的属性信息时,则可以获得其父节点的属性信息(基于所述特定级别的属性信息)。即,根据实施例,中间节点的属性信息可以基于其之下的节点来计算(例如,通过从叶级查看,使用简单平均等)。
根据实施例,八叉树中,深度为0、1、……、M-2的所有节点,可以作为中间节点。请注意,这些中间节点没有属性。深度M-1处的节点都是具有属性的叶节点。
根据实施例,Nd可以表示深度d处的节点的数量,其中,d=0,1,......,M-1。
根据实施例,pd(n)可以将表示深度d处的节点,其中,n=0,1,......,Nd-1,d=0,1,......,M-1。此外,pd(n)还可以用于表示对应节点的中心的3D几何位置。不失一般性且为描述简单起见,根据实施例,可以假设各个点是按一种方式进行排序,使得与同一父节点对应的所有节点分为一组,如图3所示。
图3示出了将八叉树深度d处的节点分组成为八叉树深度d-1处的节点的子节点的示意图。
在图3中,pd-1(n)的子节点是集合{pd(Sd(n-1)),pd(Sd(n-1)+1),......,pd(Sd(n)-1)}中的节点。
根据实施例,Sd(Nd-1-1)=Nd,且Sd(0)<Sd(1)<……<Sd(Nd-1-1)。
根据实施例,Ad(n)可以表示为节点pd(n)的属性矢量。
根据实施例,深度d-1处的节点的属性,是从深度d处的节点的属性获得的(从最后一个八叉树深度(即,深度M-1)开始)。具体地,计算的深度d-1处的节点的属性,为其深度d处的子节点的线性组合。在一个示例中,计算的深度d-1处的节点的属性信息,为其深度d处的所有子节点的属性的平均值,如以下等式1所示:
Figure BDA0002888602650000171
其中,d=M-1,M-2,……,2,1;n=0,1,......,Nd-1-1;Sd(-1)=0。
或者,根据实施例,可以使用最大值/最小值,而不是使用平均值。例如,根据实施例,可以应用非线性函数(例如最大函数或最小函数),获得深度d-1处的节点的属性值,如下所示:
Figure BDA0002888602650000172
在另一实施例中,仅计算来自八叉树深度的子集的节点的属性,并将其编码在码流中,以降低点云的比特率。例如,仅有作为子节点或子节点的子集的节点(例如,中心的子节点)。八叉树深度的子集可以表示为{d0,d1,......,dD-1},其中,D是集合中深度的数目,且该集合满足0≤d0<d1<……<dD-1≤M-2。
根据实施例,八叉树深度M-1处的节点都是叶节点,并且已经具有来自原始点云的属性。因此,根据实施例,dD=M-1不包括在所述子集中。
不失一般性且为描述简单起见,根据实施例,可以假定各个点是按一种方式进行排序,使得与同一祖先节点对应的所有子孙节点分为一组,如图4所示。
图4示出了根据实施例的将八叉树深度dt处的节点分组成为八叉树深度dt-1处的节点的子孙节点的示意图。
在图4中,根据实施例,
Figure BDA0002888602650000173
的子孙节点是集合
Figure BDA0002888602650000174
Figure BDA0002888602650000175
中的节点。请注意,
Figure BDA0002888602650000176
Figure BDA0002888602650000177
Figure BDA0002888602650000178
例如,根据实施例,子孙节点可以是祖父节点。根据实施例,使用子孙节点计算平均值。根据实施例,计算子孙节点的属性的加权平均值。例如,可以在一个特定级别上或多个级别上(例如,在级别3和级别5上)计算属性。根据实施例,加权平均的权重可以有变化(例如,与离中心较远的情况相比,离中心较近的权重越大;离中心较远的,可以具有较小的权重)。
在本申请的一个实施例中,计算的深度dt-1处的节点的属性,为其深度dt处的所有子孙节点的属性的加权平均值,如以下等式3所示:
Figure BDA0002888602650000181
其中,
Figure BDA0002888602650000182
是权重因子。在一个实施例中,
Figure BDA0002888602650000183
可以是子孙节点
Figure BDA0002888602650000184
的中心与节点
Figure BDA0002888602650000185
的中心之间的矢量的范数的倒数,如以下等式4:
Figure BDA0002888602650000186
其中,||V||表示矢量V的范数,并且该范数可以是l1范数或l2范数。
在另一实施例中,
Figure BDA0002888602650000187
因此,使用简单平均。
例如,根据实施例,可以使用距离阈值,用于例如选择更接近中心(例如在球体内)的点。根据实施例,仅利用球体/中心中的阈值。
在一个实施例中,表示为Threshold的阈值,可以用于限制计算
Figure BDA0002888602650000188
的属性所用的子孙节点,即,仅使用以下集合中示出的子孙节点的子集:
Figure BDA0002888602650000189
其中,Threshold(阈值)可以预定义,并用于编码器侧和解码器侧两者,或者,可以将Threshold编码并在码流中发送。
根据实施例,指示函数(indicate function)可以表示为
Figure BDA00028886026500001810
根据实施例,当使用简单平均时,深度dt-1处的节点的属性的计算方式可以如以下等式5所示:
Figure BDA00028886026500001811
根据实施例,当使用加权平均值时,深度dt-1处的节点的属性的计算方式可以如以下等式6所示:
Figure BDA0002888602650000191
对于与点云对应的八叉树而言,前几个深度中的节点相当稀疏,可能不适合在空间可扩展性场景中显示。在一个实施例中,仅计算深度d≥dth处的节点的属性(其中,dth可以预定义,或在码流中指定)(例如,为5、6或7)。在这种情况下,可以计算出集合{d0,d1,......,dD-1}中的八叉树深度处的节点的属性,将这些属性编码并在码流中发送,其中,集合满足条件:dth≤d0<d1<……<dD-1≤M-2。根据实施例,可以使用深度的子集。
属性的编解码
如上所述,根据各种实施例,使用各种方法计算中间节点的属性。根据实施例,公开了对八叉树的中间节点和叶节点的属性进行编解码的方法。
在一般情况下,在子集{d0,d1,...,dD-1,dD=M-1}中的八叉树深度处的节点,可以具有属性,并且需要编码并在码流中发送。根据实施例,父级别的属性或祖先级别的属性可以用作预测子(predictor)(以预测当前级别)。
在一个实施例中,八叉树深度dt-1处的节点的属性(即,
Figure BDA0002888602650000192
),可以用作八叉树深度dt处的其子孙节点的属性(即,属性矢量集合
Figure BDA0002888602650000193
Figure BDA0002888602650000194
的预测子。
属性及其预测子之间的差值的计算方式如以下等式7所示:
Figure BDA0002888602650000195
其中,可以将所述差值直接熵编码并在码流中发送。
在一个实施例中,对所述差值首先进行二进制化、熵编码并在码流中发送。在一个实施例中,对所述差值首先进行量化(产生较少的比特)、二进制化、熵编码并在码流中发送。在一个实施例中,对所述差值首先进行变换、编码并在码流中发送。在这种情况下,也可以利用变换后的差值的量化、二进制化和熵编码。
根据实施例,Adt-1是祖先。如上所述,根据实施例,Adt-1曾是预测子,而现在Adt-1是候选预测子之一。在一个实施例中,八叉树深度dt-1处的节点的属性(即,
Figure BDA0002888602650000201
),用作八叉树深度dt处的其子孙节点的属性的候选预测子之一。最后,构造出一组候选预测子,并使用速率失真优化来选择最佳候选预测子,作为其子孙节点
Figure BDA0002888602650000202
之一的属性的最终预测子,其中,
Figure BDA0002888602650000203
将候选预测子集合中的最佳候选预测子的索引进行熵编码并在码流中发送。根据实施例,从速率失真的角度来看,最佳的速率失真可以对应于最佳候选预测子。根据实施例,不同的预测子可以具有不同的失真和比特数。因此,根据实施例,可以使用总成本公式和/或失真公式的分析。
在一个实施例中,MPEG中的区域自适应分层变换(RAHT),可以用于对属性信息可用的每个八叉树深度处的属性进行编码。
根据实施例,节点的属性可以是矢量,该矢量可以包含诸如三色分量(R、G、B或Y、Cb、Cr等)和反射率等多个元素。用于诸如颜色元素和反射率的不同属性元素的编解码方法可以是不同的。
空间可扩展性的几何与属性信息编解码
如上所述,在相关技术的TMC13设计(MPEG)中,几何编解码和属性编解码是分开进行的。属性编解码仅能在整个点云的几何编解码完成之后开始。此外,发送两个单独的码流,即,几何码流和属性码流。因此,在相关技术的设计中不能实现完整的空间可扩展编解码,即使几何编解码本身或属性编解码本身允许使用空间可扩展编解码。本节介绍解决此问题的方法。
为了实现完全的空间可扩展性,用于几何编解码和属性编解码的码流是交织在一起的(interleaved)。在一个实施例中,对一个节点的占用信息及其属性信息(在其可用时)进行编码,并将它们一起放在码流中。几何性与属性放在一起。在另一实施例中,首先,对八叉树深度中的节点的占用信息进行编码,接着,如果属性信息可用,则进行属性编码;在八叉树深度中的节点的占用信息的码流之后,紧接着的是属性信息的对应码流。根据实施例,可以使用交织(第一实施例),并可以使用先后发送(第二实施例)。
另外,可在序列头、帧头或条带头中,用信号表示所述集合{d0,d1,......,dD-1}中的深度的数目(即,D)。用TMC13术语表述,D是在序列参数集、几何参数集或属性参数集或条带头中,用信号表示。D可以是使用具有预定长度的固定长度编码方法进行编码,或使用无符号指数Golomb码(即,ue(n))进行编码。
当D等于M-1时,不需要发送关于集合{d0,d1,......,dD-1}的信息。否则,对集合中的数字进行编码,并在序列头、帧头或条带头中发送。首先,用信号发送每个数字的比特数,即比特长度,随后,使用具有给定比特长度的固定长度编码,对集合中的所有数字进行固定长度编码。
在一个实施例中,在对八叉树深度的节点编码之前,发送标志has_attribute_flag,其中,has_attribute_flag=1指示计算属性并对属性编码,而has_attribute_flag=0指示对于给定八叉树深度处的节点没有属性信息。注意,对于最后一个八叉树深度,即,深度M-1,因为has_attribute_flag总是1,所以不用信号发送该标志。
根据实施例,可以使用标志来代替信令。例如,可以使用在每个深度级别的标志。根据实施例,可以使用表示哪些深度具有属性信息的信号(或标志)。
根据实施例,一个比特可以对应于一个深度。根据实施例,可以使用信号。
现在参考图5,图5描绘了图示用于解码视频数据的方法600的步骤的操作流程图。然而,基于图5,本领域技术人员可以理解编码过程会如何进行。在一些实施方式中,一个或多个过程块可以由计算机和服务器来执行。在一些实施方式中,一个或多个过程块可以由与计算机和服务器分开的、或包括计算机和服务器的另一个设备或一组设备来执行。
实施例涉及用于编码和/或解码视频数据的方法、系统和非易失性计算机可读存储介质。根据一个方面,提供了一种用于解码视频数据的方法。
如图5所示,所述方法可以包括:接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码(步骤601)。
在步骤602,所述方法可以包括:通过一个过程,生成点云的边界框的至少一个去量化维度。所述用于生成去量化维度的过程可以包括:从所述已熵编码码流中,解析出所述点云的边界框的已熵编码维度;对所述点云的边界框的已熵编码维度进行熵解码,得到所述点云的边界框的维度;以及对所述点云的边界框的维度进行去量化。
在步骤603,所述方法可以包括:确定节点或节点深度的属性信息是否可用。
在步骤604,所述方法可以包括:在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息。
在步骤605,所述方法可以包括:在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,可以是中间节点。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承所述属性信息,可以包括:对在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,求平均。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承所述属性信息,可以包括:基于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,使用最小函数/最大函数。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承所述属性信息,可以包括:仅使用属性值的子集,该子集小于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的整个属性值集合。
所述子集可以仅包括子节点的属性值或子节点的子集的属性值。
所述子集可以仅包括在所述子节点中的位于中间子节点的中心球距离阈值之内的子节点的属性值。
所述方法可以还包括:将与同一祖先节点对应的子孙节点分为一组。
所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息可以包括:计算在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值的加权平均值。
所述方法可以还包括:使用当前节点的父级别节点或祖先级别节点的属性信息,作为当前节点的属性信息的预测子。
所述方法可以还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的预测子。
所述方法可以还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的候选预测子。
所述方法可以还包括:使用速率失真优化,从所述子孙节点的属性信息的候选预测子中,选择最佳候选预测子,作为所述八叉树深度处的节点的子孙节点之一的属性信息的最终预测子。
所述点云的属性可以包括颜色或反射率其中的一个或多个。
所述方法可以还包括:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使显示器显示所述可显示图像。
所述方法可以还包括:通过使用继承的属性信息,根据包括点云的点云占用码的边界框的去量化维度,细分点云的边界框,而构建八叉树结构。
根据实施例,可以提供一种用于解码视频数据的计算机系统,其可以包括:一个或多个计算机可读非易失性存储介质,其被配置为存储计算机程序代码;以及一个或多个计算机处理器,其被配置为访问所述计算机程序代码并且按所述计算机程序代码的指示进行操作,所述计算机程序代码包括:接收代码,其被配置为使所述一个或多个计算机处理器接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;去量化代码,其被配置为通过包括以下步骤的过程,使一个或多个计算机处理器生成所述点云的边界框的至少一个去量化维度:从所述码流中解析出所述点云的边界框的已熵编码维度,对所述点云的边界框的已熵编码维度进熵解码,得到所述点云的边界框的维度,以及对所述点云的边界框的维度进行去量化;确定代码,其被配置为使所述一个或多个计算机处理器确定节点或节点深度是否具有属性信息;以及属性识别代码,其被配置为使所述一个或多个计算机处理器:在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述计算机系统可以还包括显示器,其中计算机程序代码进一步包括:显示代码,其被配置为使一个或多个处理器:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使显示器显示可显示图像。
所述点云的属性可以包括颜色或反射率其中的一个或多个。
根据实施例,一种其上存储有用于解码视频数据的计算机程序的非易失性计算机可读存储介质,其中,所述计算机程序被配置为使一个或多个计算机处理器:接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;通过包括以下步骤的过程,生成所述点云的边界框的至少一个去量化维度:从码流中解析出所述点云的边界框的已熵编码维度,对所述点云的边界框的已熵编码的维度进行熵解码,得到所述点云的边界框的维度,以及对所述点云的边界框维度进行去量化;确定节点或节点深度是否具有属性信息;在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
所述非易失性计算机可读存储介质的计算机程序可以进一步被配置为使一个或多个计算机处理器:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使显示器显示所述可显示图像。
可理解的是,流程图(例如,图5)仅提供了一种实现方式的图示,并不意味着对如何实现不同实施例的任何限制。可基于设计和实现需求对所描绘的环境进行许多修改。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各种可选实现方式中提供的方法。
所述编解码技术可由至少一个处理器实施,所述处理器可以执行具有计算机可读指令的计算机软件,所述计算机可读指令可以是以物理方式存储在至少一个计算机可读存储介质中(例如,硬盘驱动上)。举例来说,图10示出适于实施本申请所公开主题的某些实施例的计算机系统700。
可使用任何合适的机器代码或计算机语言来编码所述计算机软件,所述机器代码或计算机语言可经受汇编、编译、链接或类似机制以创建包括指令的代码,所述指令可直接或通过解译、微码执行等而由计算机中央处理单元(central processing unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)等执行。
可在各种类型的计算机或计算机组件上执行所述指令,所述计算机或计算机组件包括例如个人计算机、平板电脑、服务器、智能电话、游戏装置、物联网装置等。
图10中所示的用于计算机系统700的组件在本质上是示范性的,并非旨在暗示关于实施本申请的实施例的计算机软件的使用或功能的范围的任何限制。也不应将组件的配置解释为对计算机系统700的示范性实施例中所示的组件中的任一个组件或组件组合有任何依赖或需求。
计算机系统700可包括某些人机接口输入装置。此类人机接口输入装置可响应于一个或多个人类用户通过例如触觉输入(例如:按键、滑动、数据手套移动)、音频输入(例如:语音、拍击)、视觉输入(例如:手势)、嗅觉输入(未描绘)进行的输入。人机接口装置还可用于捕获未必与人的有意识输入直接相关的某些媒体,例如音频(例如:话语、音乐、环境声)、图片(例如:扫描图片、从静态图片相机获得的摄影图片)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口装置可包括以下一个或多个(每种仅描绘一个):键盘701、鼠标702、轨迹垫703、触摸屏710、数据手套(未示出)、操纵杆705、麦克风706、扫描仪707、相机708。
计算机系统700还可包括某些人机接口输出装置。此类人机接口输出装置可通过例如触觉输出、声音、光和气味/味道刺激一个或多个人类用户的感觉。此类人机接口输出装置可包括触觉输出装置(例如触摸屏710、数据手套或操纵杆705的触觉反馈,但还可存在不充当输入装置的触觉反馈装置)、音频输出装置(例如:扬声器709、头戴式耳机(未描绘))、视觉输出装置(例如屏幕710,包括CRT屏幕、LCD屏幕、等离子体屏幕、OLED屏幕,各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力--其中的一些能够通过例如立体平画输出的方式输出二维视觉输出或大于三维的输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾箱(未描绘)),以及打印机(未描绘)。视觉输出设备(例如屏幕(710)),可以通过图形适配器(750)连接到系统总线(748)上。
计算机系统700还可包括人类可访问的存储装置和存储装置的相关联介质,例如光学介质,包括具有CD/DVD等介质721的CD/DVD ROM/RW720、拇指驱动器722、可移动硬盘驱动器或固态驱动器723、磁带和软盘(未描绘)等旧版磁性媒体、基于ROM/ASIC/PLD的专用装置,例如安全保护装置(未描绘),等等。
所属领域的技术人员还应理解,结合当前公开的主题使用的术语“计算机可读存储介质”并未涵盖传输介质、载波或其他瞬时信号。
计算机系统700还可包括到一个或多个通信网络(755)的网络接口(754)。通信网络(755)可例如是无线的、有线的、光学的。通信网络(755)还可以是本地的、广域的、城域的、车载和工业的、实时的、容忍延迟的等等。通信网络(755)的示例包括例如以太网、无线LAN的局域网、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线TV、卫星TV和地面广播TV的TV有线或无线广域数字网络、包括CAN总线的车载网络和工业网络等。某些网络通常需要附接到某些通用数据端口或外围总线749(例如,计算机系统700的USB端口)的外部网络接口适配器;其他网络通常通过附接到如下文所描述的系统总线而集成到计算机系统700的核心中(例如通过以太网接口集成到PC计算机系统中,或通过蜂窝网络接口集成到智能电话计算机系统中)。通过使用这些网络中的任一网络,计算机系统700可与其它实体通信。此类通信可以是仅单向接收(例如广播TV)、仅单向发送(例如连到某些CAN总线装置的CAN总线)或是双向的,例如使用局域数字网络或广域数字网络连接到其他计算机系统。可在如上文所描述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口装置、人类可访问存储装置和网络接口可附接到计算机系统700的核心740。
核心740可包括一个或多个中央处理单元(Central Processing Unit,CPU)741、图形处理单元(Graphics Processing Unit,GPU)742、现场可编程门区域(FieldProgrammable Gate Areas,FPGA)形式的专用可编程处理单元743、用于某些任务的硬件加速器744等等。这些装置连同只读存储器(read-only memory,ROM)745、随机存取存储器746、例如内部非用户可访问的硬盘驱动器、SSD等内部大容量存储装置747可通过系统总线748连接。在一些计算机系统中,系统总线748可通过一个或多个物理插头形式访问以实现通过额外CPU、GPU等来扩展。外围装置可直接或通过外围总线749附接到核心的系统总线748。用于外围总线的架构包括PCI、USB等等。
CPU741、GPU742、FPGA743和加速器744可执行某些指令,所述指令组合起来可构成上述计算机代码。计算机代码可存储在ROM745或RAM746中。过渡数据也可存储在RAM746中,而永久性数据可例如存储在内部大容量存储装置747中。可通过使用高速缓冲存储器来实现对任一存储器装置的快速存储和检索,所述高速缓冲存储器可与一个或多个CPU741、GPU742、大容量存储装置747、ROM745、RAM746等紧密关联。
计算机可读存储介质上可具有用于执行各种计算机实施的操作的计算机代码。所述介质和计算机代码可以是专为本申请的目的设计和构建的介质和计算机代码,或可属于计算机软件领域中的技术人员众所周知且可用的种类。
举例来说但不作为限制,具有架构700且尤其是核心740的计算机系统可提供因处理器(包括CPU、GPU、FPGA、加速器等)执行以一个或多个有形计算机可读存储介质体现的软件而产生的功能。此类计算机可读存储介质可以是与上文所介绍的用户可访问大容量存储装置以及核心740的非易失性质的某些存储装置(例如核心内部大容量存储装置747或ROM745)相关联的介质。实施本申请的各种实施例的软件可存储在此类装置中且由核心740执行。根据特定需求,计算机可读存储介质可包括一个或多个存储器装置或芯片。软件可使核心740且具体地说使其中的处理器(包括CPU、GPU、FPGA等等)执行本文中所描述的特定过程或特定过程的特定部分,包括限定存储在RAM746中的数据结构以及根据由软件限定的过程修改此类数据结构。
另外或作为替代方案,计算机系统700可提供由硬连线的或以其他方式体现于电路(例如:加速器744)中的逻辑所产生的功能,所述逻辑可代替或连同软件一起操作以执行本文描述的特定过程或特定过程的特定部分。适当时,对软件的引用可涵盖逻辑,且反之亦然。适当时,对计算机可读存储介质的引用可涵盖存储用于执行的软件的电路(例如集成电路(IC))、体现用于执行的逻辑的电路或这两种电路。本申请涵盖硬件与软件的任何合适的组合。
尽管本申请描述了若干示范性实施例,但在本申请的范围内,可以有各种改动、排列组合方式以及各种替代等同物。因此,应该理解,在申请的精神和范围内,本领域技术人员可以设计出各种虽未在本文明确示出或描述、但可以体现本申请的原理的系统和方法。
一些实施例可以涉及在任何可能的技术细节级集成的系统、方法和/或计算机可读存储介质。计算机可读存储介质可以包括计算机可读非易失性存储介质,计算机可读非暂时存储介质上具有用于使处理器执行操作的计算机可读程序指令。
计算机可读存储介质可以是有形设备,该有形设备可以保存和存储由指令执行设备使用的指令。计算机可读存储介质可以是,但不限于,例如电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下项:便携式计算机磁盘、硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码装置(诸如其上记录有指令的凹槽中的穿孔卡片或凸起结构),以及前述的任何合适的组合。如在本文使用的计算机可读存储介质不被解释为是瞬时信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光缆的光脉冲)或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以用于存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可为汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据,或者以一种或多种编程语言的任何组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言(诸如SmallTalk、C++等)以及过程编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可以完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立软件包部分地在用户的计算机上并且部分地在远程计算机上或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括(例如)可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行各方面或操作。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的框或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以被存储在计算机可读存储介质中,该计算机可读存储介质可指导计算机、可编程数据处理装置和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括这样的制品,该制品包括实现在流程图和/或框图的框或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机执行的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实施在流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图图示了根据各种实施例的系统、方法和计算机可读存储介质的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。方法、计算机系统和计算机可读存储介质可以包括附加框、更少的框、不同的框,或者与附图中所描绘的那些不同布置的框。在一些可替换实现中,在框中指出的功能可以不按照附图中指出的顺序发生。例如,连续示出的两个框实际上可以同时或基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可由执行指定功能或动作或者执行专用硬件和计算机指令的组合的专用基于硬件的系统来实现。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现方式。因此,在不参考特定软件代码的情况下在本文描述了系统和/或方法的操作和行为——应当理解,可基于在本文的描述来设计软件和硬件以实现系统和/或方法。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文所用,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可与“一个或多个”互换使用。当仅意指一个项目时,使用术语“一个”或类似语言。此外,如本文所用,术语“具有”、“有”、“含有”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。
已出于说明的目的呈现了对各个方面和实施例的描述,但该描述并非旨在是详尽的或限于所公开的实施例。虽然特征的组合在权利要求中陈述和/或在说明书中公开,但是这些组合并不旨在对可能的实现方式的公开内容进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实现方式的公开内容包括与权利要求组中的每个其它权利要求的组合的每个从属权利要求。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员是显而易见的。本文使用的术语被选择为最佳地解释实施例的原理、实际应用或相对于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。

Claims (19)

1.一种用于解码视频数据的方法,其特征在于,包括:
接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;
通过包括以下步骤的过程,生成点云的边界框的至少一个去量化维度:
从所述已熵编码码流中,解析出所述点云的边界框的已熵编码维度;
对所述点云的边界框的已熵编码维度进行熵解码,得到所述点云的边界框的维度;以及
对所述点云的边界框的维度进行去量化;
确定节点或节点深度是否具有属性信息;
在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及
在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
2.根据权利要求1所述的方法,其特征在于,所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,是中间节点。
3.根据权利要求1所述的方法,其特征在于,所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,包括:对在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,求平均。
4.根据权利要求1所述的方法,其特征在于,所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,包括:基于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值,使用最小函数/最大函数。
5.根据权利要求1所述的方法,其特征在于,所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,包括:仅使用属性值的子集,所述子集小于在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的整个属性值集合。
6.根据权利要求5所述的方法,其特征在于,所述子集仅包括子节点的属性值或子节点的子集的属性值。
7.根据权利要求6所述的方法,其特征在于,所述子集仅包括在所述子节点中的位于中间子节点的中心球距离阈值之内的子节点的属性值。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:将与同一祖先节点对应的子孙节点分为一组。
9.根据权利要求1所述的方法,其特征在于,所述从所述八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息包括:计算在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度中的属性值的加权平均值。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:使用当前节点的父级别节点或祖先级别节点的属性信息,作为当前节点的属性信息的预测子。
11.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的预测子。
12.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:使用八叉树深度处的节点的属性信息,作为所述八叉树深度处的节点的子孙节点的属性信息的候选预测子。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
使用速率失真优化,从所述子孙节点的属性信息的候选预测子中,选择最佳候选预测子,作为所述八叉树深度处的节点的子孙节点之一的属性信息的最终预测子。
14.根据权利要求1至7任一项所述的方法,其特征在于,所述点云的属性包括颜色或反射率其中的一个或多个。
15.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
至少部分基于所述继承的属性信息,生成可显示图像;以及
执行控制,使显示器显示所述可显示图像。
16.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
通过使用所述继承的属性信息,根据包括所述点云的点云占用码的所述边界框的去量化维度,细分所述点云的边界框,而构建八叉树结构。
17.一种用于解码视频数据的计算机系统,其特征在于,所述计算机系统包括:
一个或多个计算机可读非易失性存储介质,其被配置为存储计算机程序代码;以及
一个或多个计算机处理器,其被配置为访问所述计算机程序代码并且按照所述计算机程序代码的指示进行操作,所述计算机程序代码包括:
接收代码,其被配置为使所述一个或多个计算机处理器接收包括已压缩视频数据的已熵编码码流,所述已压缩视频数据包括点云占用码;
去量化代码,其被配置为通过包括以下步骤的过程,使所述一个或多个计算机处理器生成所述点云的边界框的至少一个去量化维度:从所述已熵编码码流中解析出所述点云的边界框的已熵编码维度,对所述点云的边界框的已熵编码的维度进行熵解码,得到所述点云的边界框的维度,以及对所述点云的边界框的维度进行去量化;
确定代码,其被配置为使所述一个或多个计算机处理器确定节点或节点深度是否具有属性信息;
属性识别代码,其被配置为使所述一个或多个计算机处理器:
在确定所述节点或节点深度具有属性信息的基础上,使用所述节点或节点深度的属性信息;以及
在确定所述节点或节点深度不具有属性信息的基础上,通过从所述点云的八叉树中、在所述节点或节点深度的深度级别之上至少一个深度级别的节点或节点深度,继承属性信息,而获得所述节点或节点深度的属性信息。
18.根据权利要求17所述的计算机系统,其特征在于,进一步包括:
显示器,其中所述计算机程序代码进一步包括:显示代码,其被配置为使所述一个或多个处理器:至少部分基于继承的属性信息,生成可显示图像;以及执行控制,使所述显示器显示所述可显示图像。
19.一种非易失性计算机可读存储介质,其上存储有用于解码视频数据的计算机程序,其特征在于,所述计算机程序被配置为使一个或多个计算机处理器执行权利要求1至16任一项的方法。
CN202110021109.3A 2020-02-10 2021-01-08 解码视频数据的方法、计算机系统和可读存储介质 Pending CN113256786A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062972159P 2020-02-10 2020-02-10
US62/972,159 2020-02-10
US17/124,986 US11399192B2 (en) 2020-02-10 2020-12-17 Spatial scalable coding for point cloud coding
US17/124,986 2020-12-17

Publications (1)

Publication Number Publication Date
CN113256786A true CN113256786A (zh) 2021-08-13

Family

ID=77177812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110021109.3A Pending CN113256786A (zh) 2020-02-10 2021-01-08 解码视频数据的方法、计算机系统和可读存储介质

Country Status (2)

Country Link
US (1) US11399192B2 (zh)
CN (1) CN113256786A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676738A (zh) * 2021-08-19 2021-11-19 上海交通大学 一种三维点云的几何编解码方法及装置
CN114663597A (zh) * 2022-04-06 2022-06-24 四川大学 基于归一化扩展极线几何的实时结构光重建方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117312608B (zh) * 2023-08-14 2024-06-04 河海大学 一种基于深度优先搜索的河网节点简并方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9787321B1 (en) * 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US10803561B2 (en) * 2017-06-02 2020-10-13 Wisconsin Alumni Research Foundation Systems, methods, and media for hierarchical progressive point cloud rendering
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10867414B2 (en) * 2018-04-10 2020-12-15 Apple Inc. Point cloud attribute transfer algorithm
US10796457B2 (en) * 2018-06-26 2020-10-06 Intel Corporation Image-based compression of LIDAR sensor data with point re-ordering
US11012713B2 (en) * 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
US11348284B2 (en) * 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11284091B2 (en) * 2019-03-25 2022-03-22 Apple Inc. Video based point cloud compression-patch alignment and size determination in bounding box
US11417029B2 (en) * 2019-12-02 2022-08-16 Tencent America LLC Method and apparatus for point cloud coding
US11317117B2 (en) * 2020-03-30 2022-04-26 Tencent America LLC Method of coding attributes for point cloud coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113676738A (zh) * 2021-08-19 2021-11-19 上海交通大学 一种三维点云的几何编解码方法及装置
CN113676738B (zh) * 2021-08-19 2024-03-29 上海交通大学 一种三维点云的几何编解码方法及装置
CN114663597A (zh) * 2022-04-06 2022-06-24 四川大学 基于归一化扩展极线几何的实时结构光重建方法及装置

Also Published As

Publication number Publication date
US20210250594A1 (en) 2021-08-12
US11399192B2 (en) 2022-07-26

Similar Documents

Publication Publication Date Title
CA3137933C (en) Method of coding attributes for point cloud coding
CN113168718B (zh) 视频解码方法、装置和存储介质
CN110324619B (zh) 变换信息预测
CN113424541B (zh) 视频编解码的方法和装置
JP7130851B2 (ja) ビデオ符号化において追加中間候補を有するマージモードの方法及び装置
CN113330749A (zh) 用于变换跳过模式和块差分脉冲编码调制的改进的残差编解码
CN110784711B (zh) 生成用于视频序列编码或解码的合并候选列表的方法、装置
CN115499653A (zh) 一种视频编解码方法和相关装置
US11399192B2 (en) Spatial scalable coding for point cloud coding
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
CN113711586A (zh) 简化的最可能模式列表生成方案
CN113574896A (zh) 改进的最可能模式列表生成方案
CN110944173A (zh) 视频解码方法、装置、电子设备以及存储介质
CN113812158A (zh) 可缩放视频流的输出层集的信令方法
CN110708556B (zh) 视频解码的方法和装置、计算机设备及存储介质
CN110719462A (zh) 视频解码的方法和装置
CN114073084B (zh) 视频编解码方法、装置和存储介质
CN113994686A (zh) 点云编码的数据单元和参数集设计
RU2773384C1 (ru) Способ кодирования атрибутов для кодирования облака точек
CN118202385A (zh) 基于重复顶点的位置压缩
CN117678219A (zh) 基于时间预测的顶点位置压缩
JP2023543891A (ja) マルチビュー視点位置補足エンハンスメント情報メッセージ
CN116508319A (zh) 神经图像压缩中的逐块熵编码方法
KR20220070476A (ko) 시간적 필터링의 단순화 방법들
CN117461059A (zh) 网格压缩中的顶点位置预测

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051201

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination