CN113796014A - 对点云编码的属性进行编码的方法 - Google Patents
对点云编码的属性进行编码的方法 Download PDFInfo
- Publication number
- CN113796014A CN113796014A CN202180002863.0A CN202180002863A CN113796014A CN 113796014 A CN113796014 A CN 113796014A CN 202180002863 A CN202180002863 A CN 202180002863A CN 113796014 A CN113796014 A CN 113796014A
- Authority
- CN
- China
- Prior art keywords
- predictor
- code
- point cloud
- attribute
- video data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000003860 storage Methods 0.000 claims description 31
- 230000008569 process Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 14
- 238000000638 solvent extraction Methods 0.000 claims description 10
- 238000002310 reflectometry Methods 0.000 claims description 9
- 230000011664 signaling Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 20
- 230000033001 locomotion Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 14
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000010187 selection method Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供了用于对视频数据进行编码或解码的方法、非暂态计算机可读介质和计算机系统。该方法可以包括:接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;生成点云的边界框的一个或更多个去量化的尺寸;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及通过使用所确定的预测器来构建八叉树结构。
Description
优先权信息
本申请要求于2020年3月30日提交的美国临时申请第63/002,316号以及于2020年12月31日提交的美国申请第17/139,177号的优先权的权益,上述两件申请在此通过引用以其全部内容并入本文中。
技术领域
本公开内容总体上涉及数据处理领域,更具体地涉及点云编码(POC),包括公开了包括预测器选择的属性编码和残差的熵编码的方法。
背景技术
点云是如下空间中的数据点的集合,所述空间可以表示三维(three-dimensional,3D)形状。近年来点云技术已经被广泛地使用。例如,点云技术可以用于:自主驾驶车辆的对象检测和定位;地理信息系统(geographic information system,GIS)的制图;以及文化遗产以使文化遗产对象和收藏品可视化和归档等。
点云包含高维数据点的集合,每个高维数据点包括3D位置信息和附加属性例如颜色、反射率等。它们可以使用多个相机和深度传感器或处于各种设置的光探测和测距(Light Detection and Ranging,Lidar)被捕获,并且可能由数千到数十亿个点组成以真实地表示原始场景。
需要压缩技术来减少表示点云所需的数据量,以用于更快的传输和/或存储的减少。
发明内容
实施方式涉及用于对视频数据进行编码和/或解码的方法、系统和非暂态计算机可读介质。根据一个方面,提供了一种用于对视频数据进行解码的方法。该方法可以包括:接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;通过包括以下的过程来生成点云的边界框的一个或更多个去量化的尺寸:从比特流解析点云的边界框的尺寸;对点云的边界框的经熵编码的尺寸进行熵解码;以及对点云的边界框的尺寸进行去量化;确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分。
该方法还可以包括:基于候选列表中的点的几何位置来选择基于属性的预测器或基于几何的预测器。
该方法还可以包括:基于比特流的语法中的信令,来确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据。
该方法还可以包括:当占用码的属性是标量值时,确定用于解码的预测器是基于几何的预测器。
用于解码的预测器可以被二值化为固定长度的码,并且各个位是用上下文建模编码的算术码。
用于解码的预测器可以被二值化为截断一元(truncate unary,TU)码,其中,最大值被设置为用于解码的预测器的最大值。
点云的属性可以包括颜色或反射率中的一个或更多个。
该方法还可以包括:针对基于属性的预测器和基于几何的预测器中的每一个来确定每个组块的残差的平均值;以及基于所确定的残差的平均值来确定是使用基于属性的预测器还是使用基于几何的预测器。
该方法还可以包括:当残差或经转换的残差小于截断一元(truncate unary,TU)码最大值时,使用具有最大值的TU码进行编码;以及当残差或经转换的残差不小于TU码最大值时,使用指数码进行编码。
指数码可以是具有阶数0的指数哥伦布码。
该方法还可以包括:对于TU码中的位,使用基于上下文的算术码;对于指数码中的位,使用旁路编码。
该方法还可以包括:从基于几何的预测器开始;在一段时间之后,将点的组块与阈值进行比较;当点的组块大于阈值时,使用基于属性的预测器。
该方法还可以包括:基于速率-失真优化方法来选择最佳预测候选,在该速率-失真优化方法中,最佳预测候选导致速率和失真函数的最小成本。
该方法还可以包括:至少部分地基于所构建的八叉树结构来生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
根据实施方式,可以提供一种用于对视频数据进行解码的计算机系统,该计算机系统可以包括:一个或更多个计算机可读非暂态存储介质,其被配置成存储计算机程序代码;以及一个或更多个计算机处理器,其被配置成访问所述计算机程序代码并按照所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:接收代码,其被配置成使一个或更多个计算机处理器接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;去量化代码,其被配置成使一个或更多个计算机处理器通过包括以下的过程来生成点云的边界框的一个或更多个去量化的尺寸:从比特流解析点云的边界框的尺寸,对点云的边界框的经熵编码的尺寸进行熵解码,以及对点云的边界框的尺寸进行去量化;确定代码,其被配置成使一个或更多个计算机处理器确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据;预测器选择代码,其被配置成使一个或更多个计算机处理器:基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及八叉树构建代码,其被配置成使一个或更多个计算机处理器通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分。
预测器选择代码还可以被配置成使一个或更多个计算机处理器:基于比特流的语法中的信令,来确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据。
计算机系统还可以包括显示器,其中,计算机程序代码还包括显示代码,该显示代码被配置成使一个或更多个处理器:至少部分地基于所构建的八叉树结构来生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
点云的属性可以包括颜色或反射率中的一个或更多个。
根据实施方式,一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有用于对视频数据进行解码的计算机程序\可以包括:其中,所述计算机程序被配置成使一个或更多个计算机处理器:接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;通过包括以下的过程来生成点云的边界框的一个或更多个去量化的尺寸:从比特流解析点云的边界框的尺寸;对点云的边界框的经熵编码的尺寸进行熵解码;以及对点云的边界框的尺寸进行去量化;确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分。
非暂态计算机可读存储介质的计算机程序还可以被配置成使一个或更多个计算机处理器:至少部分地基于所构建的八叉树结构来生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
附图说明
根据要结合附图阅读的说明性实施方式的以下详细描述,这些和其他目的、特征和优点将变得明显。附图的各种特征未按比例绘制,原因是图示是为了清楚起见,以促进本领域技术人员结合具体实施方式的理解。在附图中:
图1示出了根据实施方式的八叉树分区的图示。
图2示出了两层级八叉树分区、树结构和对应的占用码(occupancy code)的示例。
图3示出了在T个点的第一周期处的统计收集和自适应参数确定。
作为实施方式的构思的图示,图4示出了在每个组块(chunk)处的统计的收集和自适应参数确定。
图5示出了示出描绘用于对视频数据进行解码的方法的步骤的操作流程图。
图6示出了联网的计算机环境的功能框图,该联网的计算机环境的功能框图示出了根据实施方式的用于对视频数据进行编码和/或解码的视频编码系统。
图7示出了根据实施方式的解码器在流式传输环境/流式传输系统中的放置。
图8示出了根据实施方式的解码器(例如,视频解码器)的功能框图。
图9示出了根据实施方式的包括源编码器的编码系统的功能框图,该源编码器可以是视频编码器。
图10示出了适合于实现所公开的主题的某些实施方式的计算机系统700。
具体实施方式
本文中公开了所要求保护的结构和方法的详细实施方式;然而,可以理解的是,所公开的实施方式仅是对可以以各种形式实施的所要求保护的结构和方法的说明。然而,可以以许多不同的形式来实施这些结构和方法,并且这些结构和方法不应被解释为限于本文中阐述的示例性实施方式。相反,提供这些示例性实施方式,使得本公开内容将是透彻和完整的并且将向本领域技术人员完整地传达范围。在说明书中,可以省略公知特征和技术的细节,以避免不必要地模糊所呈现的实施方式。
实施方式一般涉及数据处理领域,更具体地涉及视频编码和/或解码。以下描述的示例性实施方式提供了一种系统、方法和计算机程序,以除了其他之外对视频数据进行编码和/或解码。
本文参考根据各种实施方式的方法、装置(系统)和计算机可读介质的流程图图示和/或框图来描述各方面。应当理解的是,可以通过计算机可读程序指令来实现流程图图示和/或框图的每个块以及流程图图示和/或框图中的块的组合。
现在参照图6,图6示出了根据实施方式的用于对视频数据进行编码和/或解码的视频编码系统100(在下文中为“系统”)的联网的计算机环境的功能框图。应当理解的是,图6仅提供了一种实现的图示,而并不意味着对可以实现不同实施方式的环境的任何限制。可以基于设计和实现需求对所描绘的环境进行许多修改。
如图6所示,根据本公开内容的实施方式的通信系统(100)可以包括经由网络(150)互连的至少两个终端(110,120)。为了数据的单向传输,第一终端(110)可以在本地位置处对视频数据进行编码,以便经由网络(150)传输至另一终端(120)。第二终端(120)可以从网络(150)接收另一终端的经编码的视频数据,对该经编码的数据进行解码并显示经恢复的视频数据。在媒体服务应用等中,单向数据传输可能是常见的。
图6示出了第二对终端(130,140),第二对终端(130,140)被提供以支持可能在例如视频会议期间发生的经编码的视频的双向传输。为了数据的双向传输,每个终端(130,140)可以对在本地位置处捕获的视频数据进行编码,以便经由网络(150)传输至另一终端。每个终端(130,140)还可以接收由另一终端传输的经编码的视频数据,可以对该经编码的数据进行解码并且可以在本地显示设备处显示经恢复的视频数据。
在图6中,终端(110至140)可以被示出为膝上型计算机110、服务器120以及智能电话130和140,但是本公开内容的原理不限于此。本公开内容的实施方式可以应用在包括但不限于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议装备的其他装备中。网络(150)表示在终端(110至440)之间传送经编码的视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(150)可以在电路交换信道和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非本文在下面有所说明,否则网络(150)的架构和拓扑对于本公开内容的操作来说可能是无关紧要的。
作为所公开的主题的应用的示例,图7示出了解码器210在流式传输环境/流式传输系统200中的放置。进一步参照图9中的解码器433和图8来讨论解码器210。解码器210可以对应于图3中的解码器210或图9中的解码器433。
所公开的主题可以等同地适用于其它启用视频的应用,包括例如视频会议;数字TV;在包括CD、DVD、存储棒等的数字介质上存储压缩的视频等。
如图7所示,流式传输系统(200)可以包括捕获子系统(213),该捕获子系统(213)可以包括可以创建未压缩的视频样本流(202)的视频源(201),例如数字相机。被描绘为粗线以在与经编码的视频比特流进行比较时强调高数据量的样本流(202)可以由耦接至相机(201)的源编码器(203)处理。源编码器(203)可以包括硬件(例如,处理器或电路以及存储器)、软件或其组合,以使实现或实施如下更详细地描述的所公开的主题的方面。被描绘为细线以在与样本流进行比较时强调较低的数据量的经编码的视频比特流(204)可以被存储在流服务器(205)上以供将来使用。一个或更多个流客户端(206,208)可以访问流服务器(205)以检索经编码的视频比特流(204)的副本(207,209)。客户端(206)可以包括视频解码器(210),视频解码器(210)对经编码的视频比特流的传入副本(207)进行解码,并且可以创建可以在显示器(212)或其它呈现设备上呈现的传出视频样本流(211)。
图8示出了根据本公开内容的实施方式的解码器(210)(例如,视频解码器)的功能框图。如图8所示,接收器(310)可以接收要由解码器(210)解码的一个或更多个编解码器视频序列。在同一实施方式或另一实施方式中,一次可以接收一个经编码的视频序列,其中每个经编码的视频序列的解码独立于其它经编码的视频序列。可以从信道(312)接收经编码的视频序列,信道(312)可以是到存储该经编码的视频数据的存储设备的硬件/软件链路。接收器(310)可以接收经编码的视频数据以及其它数据,例如,可以被转发到其各自的使用实体(未描绘)的经编码的音频数据和/或辅助数据流。接收器(310)可以将经编码的视频序列与其它数据分开。为了防止网络抖动,缓冲器(315)可以耦接在接收器(310)与熵解码器/解析器(320)(此后被称为“解析器”)之间。当接收器(310)从具有足够带宽和可控性的存储/转发设备或从等同步网络(isosychronous network)接收数据时,可能不需要缓冲器(315)或者缓冲器(315)可以是小的。为了在诸如因特网的尽力而为分组网络上使用,可能需要缓冲器(315),缓冲器(315)可以相对较大并且可以有利地具有自适应大小。
视频解码器(210)可以包括解析器(320)以根据经熵编码的视频序列重建符号(321)。如图7和图8所示,这些符号的类别包括用于管理解码器(210)的操作的信息以及用于控制诸如显示器(212)的不是解码器的组成部分但可以耦接至解码器的呈现设备的潜在信息。用于(一个或多个)呈现设备的控制信息可以是辅助增强信息(SEI消息)或视频可用性信息(VUI)参数集片段(未描绘)的形式。解析器(320)可以对接收到的经编码的视频序列进行解析/熵解码。经编码的视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员公知的原理,所述视频编码技术或标准包括:可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文敏感性的算术编码等。解析器(320)可以基于与群组对应的至少一个参数,从经编码的视频序列提取视频解码器中的像素的子群组中的至少一个子群组的子群组参数的集合。子群组可以包括:图片组(GOP)、图片、图块、切片、宏块、编码单元(CU)、块、变换单元(TU)、预测单元(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建议书的标准中的预定视频压缩技术来执行解码操作。在经编码的视频序列遵循如视频压缩技术文档或标准中指出的以及特别在其配置文件中指出的视频压缩技术或标准的语法的意义上,经编码的视频序列可以符合由使用的视频压缩技术或标准指定的语法。对于合规性,还要求经编码的视频序列的复杂性在由视频压缩技术或标准的层级限定的范围内。在一些情况下,层级限制最大图片大小、最大帧速率、最大重建采样率(以例如每秒兆个样本测量的)和/或最大参考图片大小。在一些情况下,由层级设置的限制可以通过假设参考解码器(HRD)规范以及用于在经编码的视频序列中用信号通知的HRD缓冲器管理的元数据来进一步限定。
在实施方式中,接收器(310)可以接收附加(冗余)数据和经编码的视频。附加数据可以被包括作为(一个或多个)经编码的视频序列的一部分。附加数据可以由视频解码器(210)用来对数据正确地进行解码以及/或者更准确地重建原始视频数据。附加数据可以是例如时间、空间或SNR增强层、冗余切片、冗余图片、前向纠错码等形式。
图9可以是根据本公开内容的实施方式的包括源编码器(203)的编码系统(400)的功能框图,源编码器(203)可以是视频编码器(203)。
编码器(203)可以从可以捕获要由编码器(203)编码的(一个或多个)视频图像的视频源(201)(其并不是编码器的一部分)接收视频样本。
视频源(201)可以提供要由编码器(203)编码的数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位……)、任何色彩空间(例如,BT.601Y CrCB、RGB……)以及任何合适的采样结构(例如,Y CrCb 4:2:0、YCrCb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前准备的视频的存储设备,该存储设备可以包括存储器和处理器。在视频会议系统中,视频源(201)可以包括捕获本地图像信息作为视频序列的相机。视频数据可以被提供为在按顺序观看时被赋予运动的多个单独的图片。图片自身可以被组织为空间像素阵列,其中,根据使用中的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。下面的描述集中于样本。
根据实施方式,编码器(203)可以实时地或在应用所需的任何其他时间约束下,对源视频序列的图片进行编码并将源视频序列的图片压缩为经编码的视频序列。施行适当的编码速度是控制器(450)的一个功能。控制器450可以控制如下所述的其他功能单元并且在功能上耦接至这些单元。为了简洁起见,没有描绘耦接。由控制器450设置的参数可以包括速率控制相关参数(例如,图片跳过、量化器、速率失真优化技术的λ值)、图片大小、图片组(GOP)布局、最大运动矢量搜索范围等。本领域技术人员能够容易地确定控制器(450)的其他功能,原因是这些功能可能属于针对某些系统设计优化的视频编码器(203)。
一些视频编码器以本领域技术人员容易地识别为“编码环路”的方式操作。作为非常简单的描述,编码环路可以包括:源编码器(430)的编码部分(此后被称为“源编码器”或“源编码器”),其负责基于要编码的输入图片和(一个或多个)参考图片来创建符号;以及嵌入在编码器(203)中的本地解码器(433),本地解码器(433)重建符号以创建远程解码器210也将创建的样本数据(因为在所公开的主题中考虑的视频压缩技术中,符号与经编码的视频比特流之间的任何压缩是无损的)。重建的样本流被输入至参考图片存储器(434)。
由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时“看到”的样本值完全相同。该参考图片同步性的基本原理(以及在例如由于信道误差而无法保持同步性的情况下产生的漂移)对本领域技术人员来说是公知的。
“本地”解码器(433)的操作可以与已经在上面结合图8详细描述的“远程”解码器(210)的操作相同。然而,还暂时地参照图8,当符号可用并且熵编码器(445)和解析器(320)可以无损地将符号编码/解码为经编码的视频序列时,(包括信道(312)、接收器(310)、缓冲器(315)和解析器(320)的)解码器(210)的熵解码部分可能无法在本地解码器(433)中完全被实现。
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必定需要以基本上相同的功能形式存在于相应的编码器中。编码器技术的描述与所描述的解码器技术相反。仅在某些区域中需要更详细的描述并且在下面提供了更详细的描述。
作为其操作的一部分,源编码器(430)可以执行运动补偿预测编码,运动补偿预测编码参考来自视频序列中被指定为“参考帧”的一个或更多个先前编码的帧对输入帧进行预测性编码。以此方式,编码引擎(432)对输入帧的像素块与可以被选作输入帧的(一个或多个)预测参考的(一个或多个)参考帧的像素块之间的差异进行编码。
本地视频解码器(433)可以基于由源编码器(430)创建的符号对可以被指定为参考帧的帧的经编码的视频数据进行解码。编码引擎(432)的操作可以有利地是有损处理。当经编码的视频数据可以在视频解码器处被解码时,重建的视频序列通常可以是具有一些误差的源视频序列的副本。本地视频解码器(433)复制可以由视频解码器对参考帧执行的解码处理,并且可以使重建的参考帧被存储在参考图片缓存(434)中。以此方式,源编码器(203)可以本地存储重建的参考帧的副本,该副本与将由远端视频解码器获得的重建的参考帧具有共同内容(不存在传输误差)。
预测器(435)可以针对编码引擎(432)执行预测搜索。也就是说,对于要编码的新帧,预测器(435)可以在参考图片存储器(434)中搜索可以用作新帧的适当预测参考的样本数据(作为候选参考像素块)或某些元数据例如参考图片运动矢量、块形状等。预测器(435)可以基于样本块逐像素块操作以找到适当的预测参考。在一些情况下,如由预测器(435)获得的搜索结果所确定的,输入图片可以具有从参考图片存储器(434)中存储的多个参考图片得到的预测参考。
可以包括处理器的控制器(450)可以管理源编码器(203)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群组参数。
可以在熵编码器(445)中对所有以上提及的功能单元的输出进行熵编码。熵编码器可以根据诸如霍夫曼编码、可变长度编码、算术编码等本领域技术人员已知的技术,通过对由各种功能单元生成的符号进行无损压缩,来将这些符号转换成经编码的视频序列。
传输器(440)可以缓冲由熵编码器(445)创建的(一个或多个)经编码的视频序列,来为经由通信信道(460)进行传输做准备,该通信信道(460)可以是到将存储经编码的视频数据的存储设备的硬件/软件链路。传输器(440)可以将来自源编码器(203)的经编码的视频数据与要传输的其他数据例如经编码的音频数据和/或辅助数据流进行合并。
控制器(450)可以管理编码器(203)的操作。在编码期间,控制器(450)可以为每个经编码的图片分配某个经编码的图片类型,所述某个经编码的图片类型可能影响可以应用于相应图片的编码技术。例如,通常可以将图片分配为以下帧类型中的一个:例如,帧内图片(I图片)、预测性图片(P图片)和双向预测性图片(B图片)。
帧内图片(I图片)可以是可以在不将序列中的任何其他帧用作预测的源的情况下被编码和被解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员了解I图片的这些变体及其相应的应用和特征。
预测性图片(P图片)可以是在使用至多一个运动矢量和参考索引来预测每个块的样本值的情况下使用帧内预测或帧间预测进行编码和解码的图片。
双向预测性图片(B图片)可以是在使用至多两个运动矢量和参考索引来预测每个块的样本值的情况下使用帧内预测或帧间预测进行编码和解码的图片。类似地,多个预测性图片可以使用多于两个参考图片和相关联的元数据以用于单个块的重建。
源图片通常可以在空间上划分成多个样本块(例如,每个4×4、8×8、4×8或16×16个样本的块),并且在逐块的基础上被编码。可以参考其他(已经编码的)块对这些块进行预测性编码,所述其他块通过应用于块的相应图片的编码分配来确定。例如,可以对I图片的块进行非预测性编码,或者可以参照同一图片的已经编码的块来对I图片的块进行预测性编码(空间预测或帧内预测)。可以参考一个先前经编码的参考图片经由空间预测或经由时间预测对P图片的像素块进行预测性编码。可以参考一个或两个先前经编码的参考图片经由空间预测或经由时间预测对B图片的块进行预测性编码。
源编码器(203)可以根据诸如ITU-T H.265建议书或通用视频编码(VCC)的预定视频编码技术或标准来执行编码操作。在其操作中,源编码器(203)可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测性编码操作。因此,经编码的视频数据可以符合由使用的视频编码技术或标准指定的语法。
在实施方式中,传输器(440)可以传输附加数据和经编码的视频。源编码器(430)可以包括这样的数据作为经编码的视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、诸如冗余图片和切片的其他形式的冗余数据、辅助增强信息(SEI)消息、视频可用性信息(VUI)参数集片段等。
如上所述,经编码的视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员公知的原理,包括可变长度编码、霍夫曼编码、具有或不具有上下文敏感性的算术编码等。在一些流式传输系统中,可以根据某些视频编码/压缩标准对视频比特流(204,207,209)进行编码。那些标准的示例包括H.265的ITU-T HEVC建议书。
点云压缩
在运动图像专家组(MPEG)的测试模型13(TMC13)中,几何信息和相关联的属性例如颜色或反射率可以单独地被压缩。可以通过(一个或多个)八叉树分区与(一个或多个)八叉树分区的占用信息对作为点云的3D坐标的几何信息进行编码。然后可以使用预测、提升和区域自适应分层变换技术基于重建的几何结构来压缩属性。下面更详细地描述八叉树分区和占用编码过程。
(一个或多个)八叉树分区
图1示出了根据实施方式的八叉树分区的图示。在TMC13中,当使用八叉树几何编码器-解码器(编解码器)时,几何编码如下进行。首先,立方轴对准的边界框B由两个点(0,0,0)和(2M-1,2M-1,2M-1)限定,其中2M-1限定B的大小,并且M在比特流中被指定。
然后通过对B进行递归地划分来构建八叉树结构。在每个阶段,立方体被划分为8个子立方体。然后可以通过将1位值与每个子立方体相关联以指示它包含点(即,满的且具有值1)还是不包含点(即,空的且具有值0)来生成8位代码,即占用码。只有大小大于1的完整子立方体(即,非体素)才会被进一步划分(例如,通过执行对完整的子立方体的另一八叉树分区)。
图2示出了两层级的八叉树分区、树结构和相应的占用码(例如,10000001、00011000、10001000)的示例,其中深色的立方体和节点指示相应的立方体和节点被点占用(即,满的)。
(一个或多个)占用码的编码
每个节点的占用码可以由算术编码器压缩。占用码可以被表示为作为8位整数的S,并且S中的每一位可以指示相应子节点的占用状态。TMC13中存在用于占用码的两种编码方法:逐位编码方法和逐字节编码方法。默认情况下可以启用逐位编码。在逐位和逐字节的两种方法中,可以采用具有上下文建模的算术编码来对(一个或多个)占用码进行编码,其中上下文状态在整个编码过程开始时被初始化并在编码过程期间被更新。
对于逐位编码,S中的8个二进制位按一定顺序被编码,其中通过参考相邻节点和相邻节点的子节点的占用状态对每个位进行编码,其中相邻节点与当前节点处于同一层级。
对于逐字节编码,通过参考以下来对S进行编码:自适应查找表(A-LUT),其保持跟踪N(例如,32)个最频繁的占用码;以及缓存(例如,缓存中的第二表),其保持跟踪最近不同的观察到的M(例如,16)个占用码。
可以对指示S是否为A-LUT的二进制标志进行编码。根据实施方式,当S在A-LUT中时,可以通过使用二进制算术编码器对A-LUT中的索引进行编码。根据实施方式,当S不在A-LUT中时,则可以对指示S是否在缓存中的二进制标志进行编码。当S在缓存中时,则可以通过使用二进制算术编码器对S的索引的二进制表示进行编码。否则,当S不在缓存中时,则可以通过使用二进制算术编码器对S的二进制表示进行编码。
在某种意义上,使用八叉树分区的编码与可变长度编码类似。
通过从比特流解析边界框B的尺寸来开始解码过程。然后通过根据经解码的占用码对B进行划分来构建相同的八叉树结构。
根据实施方式,点云的属性可以是颜色、反射率等。
根据实施方式,预测性属性编码的方法(例如,如何对残差进行编码)可以涉及三个步骤:
步骤1:选择预测器。
步骤2:计算属性值与其预测器之间的差异以获得预测残差。
步骤3:预测残差的熵编码。
步骤1和步骤3是确定属性编码的效率的关键步骤。
另外,点云通常表现出不同的特性:一些点云——例如来自人体或小物体的点云——在点密集的地方相当密集;尤其是在远离传感器的地方,一些点云——例如来自从Lidar传感器采样的自主驾驶的点云——相当稀疏。一些点云——例如用于高清地图的点云——具有中间点密度。设计可以适应于不同特性(例如,不同的点云密度)的步骤1和步骤3是重要的。
根据实施方式,编码器、解码器或编码器-解码器(编解码器)可以通过处理电路系统(例如,一个或更多个硬件处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器可以执行存储在非暂态计算机可读介质中的程序。
根据实施方式,g[i]和a[i]可以分别用于表示点云中的第i点的几何位置和属性值。相应的预测器可以被表示为p[i],并且预测残差可以被表示为[i]=a[i]-p[i]。根据实施方式,a[i]、p[i]和r[i]可以是矢量或标量。例如,根据实施方式,当属性是红-绿-蓝(RGB)颜色时,a[i]、p[i]和r[i]可以是3维矢量,或者当属性是反射率时,a[i]、p[i]和r[i]可以是标量。
根据实施方式,提供了对预测残差进行编码的方法。
根据实施方式,可以提供预测器选择的方法,随后是在不同预测选择方法之间自适应地选择的方法。
对预测残差进行编码
预测残差通常表现出高斯或拉普拉斯分布,其中大多数值接近零。根据实施方式,该“接近零”特性可以用于熵编码。
在一个实施方式中,可以首先将预测残差r[i]转换为非负数R[i],如在下式中:
为方便起见,R[i]被称为经转换的预测残差。为了对R[i]进行编码,根据实施方式,可以使用以下混合方法:当[i]<TUmax时,可以使用具有最大值TUmax的截断一元(TU)码。
根据实施方式,TU码可以是简单代码(例如,110)。当R[i]小于阈值时,可以使用TU。当R[i]不小于阈值时,则可以使用指数码。
例如,当R[i]≥TUmax时,TU码等于TUmax,随后使用具有阶数为0的指数哥伦布码(EGK)来对R[i]-TUmax进行编码。
对于TU码中的位,使用基于上下文的算术码,而对于EGK码中的位,使用旁路编码。
一个示例是TUmax=3。根据实施方式,可以执行是否为零的第一检查,随后执行是否为一的检查以及是否为二的检查等。
当TUmax=3时,针对经转换的预测残差R[i]的语法表可以如下:
表1
converted_prediction_residual_is_zero指定R[i]是否等于0
converted_prediction_residual_is_one指定R[i]是否等于1
converted_prediction_residual_is_two指定R[i]是否等于2
converted_prediction_residual_minus_three指定R[i]如下:
R[i]=converted_prediction_residual_minus_three+3。
在一个实施方式中,Umax=2,为简单起见省略了语法表。
在另一实施方式中,TUmax=1,针对经转换的预测残差R[i]的语法表可以如下:
表2
converted_prediction_residual_is_zero指定R[i]是否等于0
converted_prediction_residual_minus_one指定R[i]如下:
R[i]=converted_prediction_residual_minus_one+1。
在另一实施方式中,TUmax=0。在这种情况下,仅使用EGK码。针对经转换的预测残差R[i]的语法表被简化如下:
表3
converted_prediction_residual指定R[i]如下:
R[i]=converted_prediction_residual。
由于对于不同的点云表现出不同的特性或对于具有不同属性量化参数的相同点云,经转换的预测残差可能具有不同的统计。自适应方案可能是可取的。
在一个实施方式中,TUmax首先被设置为最大值,例如3。当开始对经转换的预测残差进行编码时,经转换的预测残差的数目等于i,被表示为freq(bi)或freq(i),其中i=0、1、……、TUmax-1,收集T个点的周期,例如T=512。
例如,作为构思的说明,图3示出了在T个点的第一周期处的统计收集和自适应参数确定。
根据实施方式,可以在TU码中计算每个位即b0b1……bTUmax-1的概率。
例如,
在一个实施方式中,当Prob(bm=1)接近0.5时,将TUmax设置为m。
根据实施方式,如先前所讨论的,当R[i]≥TUmax时,可以使用具有旁路编码的EGK来对R[i]-TUmax进行编码。在一个实施方式中,当R[i]≥TUmax时,可以使用具有阶数k>0的指数哥伦布码来对R[i]-TUmax进行编码。
在另一实施方式中,可以基于针对周期T收集的统计自适应地选择指数哥伦布码的阶数:
当开始对经转换的预测残差的编码时,针对T个点的周期收集等于0、1、……、TUmax-1的经转换的预测残差的频率。
另外,T个点的周期内的所有经转换的预测残差的总和被计算并且被表示为ST。
使用这些统计,可以例如基于以下等式3(等式3)来计算大于或等于TUmax的经转换的预测残差的平均值:
在编码开始时,使用EGK。在T个点的周期之后,AT被计算。如果AT>Th(K)并且AT<Th(K+1),则选择阶数K以用于对以下点进行编码。注意Th(1)、Th(2)、......、Th(kmax)是其值增加的预定义的阈值的集合,并且kmax是应用中指数哥伦布码的最大阶数。
在一个实施方式中,除了所有经转换的预测残差的总和之外,还针对周期T收集被表示为NTh的大于阈值ThR的所有经转换的预测残差的数目以及它们的总和STh。根据实施方式,可以例如基于以下等式4(等式4)来计算大于ThR的经转换的预测残差的平均值:
其中,使用ATh来代替AT以确定指数哥伦布码的阶数。
在一个实施方式中,可以在点的每个连续组块的开始处执行经转换的残差统计的收集以及自适应选择TUmax和kmax,其中每个组块中的点的数目为C。
例如,作为实施方式的构思的图示,图4示出了在每个组块处的统计的收集和白适应参数确定。也就是说,图3在开始处示出,而与图3相比,图4周期性地(例如,在每个组块处)示出。在一个实施方式中,可以对预测残差r[i]直接进行编码。根据实施方式,首先可以使用具有上下文建模的二进制算术码对r[i]的一位符号进行编码:
除了符号位的添加之外,使用与上述相同的方法,r[i]的绝对值可以被编码并且被表示为abs(r[i])。在一个实施方式中,当TUmax=1时,针对预测残差r[i]的语法表可以如下:
表4
其中prediction_residual_is_zero指定在表4中r[i]何时等于0。
其中sign_of_prediction_residual将r[i]的符号指定为基于以下等式6:
其中absolute_prediction_residual_is_one指定在等式6中abs(r[i])何时等于1。
其中absolute_prediction_residual_is_two指定在等式6中abs(r[i])何时等于2。
其中absolute_prediction_residual_minus_three指定r[i]如下:
r[i]=sign(r[i])×(absolute_prediction_residual_minus_three+3)。
预测器选择
为了对属性进行编码,根据实施方式,可以使用以下两个步骤:(1)构建候选列表;以及(2)基于某个准则,选择候选列表中的最佳候选作为预测器。在下面的章节中,候选列表的大小被表示为NGand,它可以被预定义或者在高级语法中被用信号通知,例如序列参数集、属性参数集、切片头等。
候选列表的构建
在一个实施方式中,属性编码遵循几何编码顺序,即,在对点的几何位置进行编码之后对点的属性进行编码。针对第i点的候选列表包括Ncand个最近编码的点,即如在以下等式7中那样被表示:
cand_list=((g[i-1],a[i-1]),(g[i-2],a[i-2]),...,(g[i-Ncand],a[i-Ncand])}(等式7)
其中,点按等式7中的几何编码顺序被排序。
根据实施方式,候选列表可以被实现为滑动缓冲器。可以在列表的开始处插入新点,而最后一个点可以被推出列表。在一个实施方式中,在插入新点之前,将新点的几何位置和属性值与候选列表中的候选的几何位置和属性值进行比较。当候选列表中存在具有相同几何位置和属性的候选的点时,不插入新点。当候选列表中不存在具有相同几何位置和属性的候选的点时,可以照常插入新点。
在一个实施方式中,在对点云或点云的一部分执行几何编码之后执行属性编码。可以使用莫顿(Morton)阶数或其他空间填充阶数(莫顿阶数仅用作示例)对所有几何编码的点进行排序。除了点可能被不同地排序之外,构建候选列表的方法与上面讨论的相同。
换言之,存在特定的方法来构建候选。一般的方法是构建候选列表,并且选择候选列表中的候选中的一个作为预测器。但是,当有重复时,不进行插入。基于几何的预测器选 择
根据实施方式,可以基于候选列表中的点和第i点的几何位置来选择预测器。在一个实施方式中,可以选择预测器作为离第i点最近的点,例如以下等式8中所示:
其中||g||p表示在等式8中点g=(x,y,z)的p法线运算。
在一个实施方式中,p=1或p=2(p表示预测器)。根据实施方式,法线运算中的三个坐标(x,y,z)可以被同等对待。
在一个实施方式中,可以例如在以下等式9中定义加权的法线运算:
并且可以选择预测器作为离第i点最近的点,如以下等式9所示:
根据实施方式,权重参数w1、W2、W3可以预定义或在高级语法中被用信号通知。
根据实施方式,解码器可以执行相同的操作以确定预测器索引predindex,使得不需要在语法中用信号通知它。
基于属性的预测器选择
在该方法中,可以基于候选列表中的点和第i点的属性值来选择预测器(例如,p)。在一个实施方式中,被选择为具有与第i点的属性值最接近的属性值的预测器可以基于例如以下等式10:
在一个实施方式中,p=1或p=2。当属性是标量值时,始终p=1。
解码器可能不知道a[i],因此无法在解码器中确定predindex,并且需要在语法中用信号通知predindex。在一个实施方式中,predindex被二值化为固定长度的码,并且使用算术码来对具有上下文建模的各个位进行编码。固定长度码的位数可能取决于predindex的范围。
在一个实施方式中,predindex被二值化为截断一元(TU)码,其中最大值被设置为predindex的最大值。对于TU码中的前几位,可以使用具有上下文建模的算术码对TU码中的前几位进行编码;其余的位以旁路模式被编码。在另一实施方式中,使用具有上下文建模的算术码对TU码中的所有位进行编码。
在一个实施方式中,可以使用TU码随后使用EGK码对predindex进行编码,如前所述,其中使用具有上下文建模的算术码对TU中的位进行编码。
自适应预测器选择由于不同的点云表现出不同的特性,因此对于一种类型的点云,基于几何的预测选择可能比基于属性的预测器选择方法更好,但对于另一种类型的点云,基于几何的预测选择可能不如基于属性的预测器选择方法。自适应方案是可取的。
也就是说,一种方法是基于属性的,一种方法是基于几何的。这样,统计被积聚并且残差的平均值被计算。仅当残差开销大时,用信号通知索引才可能是合理的。根据实施方案,可以确定残差的平均值(例如,每个组块),并且可以基于所确定的残差的平均值来确定是使用基于属性的预测器还是使用基于几何的预测器。
特别地,基于属性的预测器选择方法通常提供更好的预测,但受到用信号通知predindex的开销的影响。当根据基于几何的方法的预测残差非常大时,基于属性的方法常常提供更好的性能。
基于这种观察,根据实施方式,可以收集统计(上面讨论的),并且可以计算出大于或等于TUmax的经转换的预测残差的平均值(即,在周期T的开始处的AT)。
根据实施方式,该自适应方法可以包括:编码器从基于几何的预测器方法开始。在周期T之后,计算AT并且将AT与阈值Thpred进行比较。
如果AT>Thpred,则使用基于属性的预测器选择。
根据实施方式,Thpred可以被预定义或在高级语法中被用信号通知。对于无损编码和有损编码,Thpred可能是不同的。
在另一实施方式中,可以计算出ATh,即大于ThR的经转换的预测残差的平均值,并且可以使用ATh来替代AT以进行决策。
根据实施方式,针对每个块的自适应方案如下:
否则,不改变预测选择方法。
在另一实施方式中,基于速率-失真优化方法来选择最佳预测候选,在所述速率-失真优化方法中,最佳候选导致速率和失真函数的最小成本。
也就是说,速率失真可以用于确定遗漏的成本。因此,细节包括属性如何被编码以及属性如何被选择。
现在参照图5,图5示出了描绘用于对视频数据进行解码的方法600的步骤的操作流程图。然而,普通技术人员可以基于图5理解编码过程将如何工作。在一些实现中,一个或更多个过程块可以由计算机102和服务器执行。在一些实现中,一个或更多个过程块可以由与计算机和服务器分开或包括计算机和服务器的另一设备或一组设备执行。
实施方式涉及用于对视频数据进行编码和/或解码的方法、系统和非暂态计算机可读介质。根据一个方面,提供了一种用于对视频数据进行解码的方法。
如图5所示,该方法可以包括:接收包括压缩的视频数据的经熵编码的比特流(步骤601),该压缩的视频数据包括点云占用码。
在步骤602处,该方法可以包括:通过过程生成点云的边界框的一个或更多个去量化的尺寸。去量化的尺寸的过程可以包括:从比特流解析点云的边界框的尺寸;对点云的边界框的经熵编码的尺寸进行熵解码;以及对点云的边界框的尺寸进行去量化。
在步骤603处,该方法可以包括:确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据。
在步骤604处,该方法可以包括:基于确定通过使用基于属性的预测器来预测压缩的视频数据(即,步骤603:是),确定用于解码的预测器是基于属性的预测器(步骤604)。
该方法可以包括:基于确定通过使用基于属性的预测器来预测压缩的视频数据(即,步骤603:否),确定用于解码的预测器是基于几何的预测器;以及通过使用所确定的预测器,通过根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分,来构建八叉树结构。
该方法还可以包括:基于候选列表中的点的几何位置来选择基于属性的预测器或基于几何的预测器。
该方法还可以包括:基于比特流的语法中的信令,来确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据。
该方法还可以包括:当占用码的属性是标量值时,确定用于解码的预测器是基于几何的预测器。
用于解码的预测器可以被二值化为固定长度的码,并且各个位是用上下文建模编码的算术码。
用于解码的预测器可以被二值化为截断一元(TU)码,其中最大值被设置为用于解码的预测器的最大值。
点云的属性可以包括颜色或反射率中的一个或更多个。
该方法还可以包括:针对基于属性的预测器和基于几何的预测器中的每一个来确定每个组块的残差的平均值;以及基于所确定的残差的平均值来确定是使用基于属性的预测器还是使用基于几何的预测器。
该方法还可以包括:当残差或经转换的残差小于截断一元(TU)码最大值时,使用具有最大值的TU码进行编码;以及当残差或经转换的残差不小于TU码最大值时,使用指数码进行编码。
指数码可以是具有阶数0的指数哥伦布码。
该方法还可以包括:对于TU码中的位,使用基于上下文的算术码;对于指数码中的位,使用旁路编码。
该方法还可以包括:从基于几何的预测器开始;在一段时间之后,将点的组块与阈值进行比较;当点的组块大于阈值时,使用基于属性的预测器。
该方法还可以包括:基于速率-失真优化方法来选择最佳预测候选,在速率-失真优化方法中,最佳预测候选导致速率和失真函数的最小成本。
该方法还可以包括:至少部分地基于所构建的八叉树结构生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
根据实施方式,可以提供一种用于对视频数据进行解码的计算机系统,该计算机系统可以包括:一个或更多个计算机可读非暂态存储介质,其被配置成存储计算机程序代码;以及一个或更多个计算机处理器,其被配置成访问所述计算机程序代码并按照所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:接收代码,其被配置成使一个或更多个计算机处理器接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;去量化代码,其被配置成使一个或更多个计算机处理器通过包括以下的过程生成点云的边界框的一个或更多个去量化的尺寸:从比特流解析点云的边界框的尺寸,对点云的边界框的经熵编码的尺寸进行熵解码,以及对点云的边界框的尺寸进行去量化;确定代码,其被配置成使一个或更多个计算机处理器确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据;预测器选择代码,其被配置成使一个或更多个计算机处理器:基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及八叉树构建代码,其被配置成使一个或更多个计算机处理器通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分。
预测器选择代码还可以被配置成使一个或更多个计算机处理器:基于比特流的语法中的信令来确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据。
计算机系统还可以包括显示器,其中,计算机程序代码还包括:显示代码,其被配置成使一个或更多个处理器:至少部分地基于所构建的八叉树结构生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
点云的属性可以包括颜色或反射率中的一个或更多个。
根据实施方式,一种非暂态计算机可读介质,该非暂态计算机可读介质上存储有用于对视频数据进行解码的计算机程序\可以包括:其中,该计算机程序被配置成使一个或更多个计算机处理器:接收包括压缩的视频数据的经熵编码的比特流,该压缩的视频数据包括点云占用码;通过包括以下的过程生成点云的边界框的一个或更多个去量化的尺寸:从比特流解析点云的边界框的尺寸;对点云的边界框的经熵编码的尺寸进行熵解码;以及对点云的边界框的尺寸进行去量化;确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测压缩的视频数据;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于属性的预测器;基于确定通过使用基于属性的预测器来预测压缩的视频数据,确定用于解码的预测器是基于几何的预测器;以及通过使用所确定的预测器,通过根据包括点云的占用码的边界框的去量化的尺寸对点云的边界框进行划分,来构建八叉树结构。
非暂态计算机可读存储介质的计算机程序还可以被配置成使一个或更多个计算机处理器:至少部分地基于所构建的八叉树结构来生成可显示图像;以及执行控制,使得所述可显示图像由显示器显示。
可以理解的是,流程图(例如,图5)仅提供了一种实现的图示,而并不意味着关于如何可以实现不同的实施方式的任何限制。可以基于设计和实现要求对所描述的环境进行许多修改。
用于编码/解码的技术可以由一个或更多个处理器实现,所述一个或更多个处理器可以执行具有计算机可读指令的计算机软件,所述计算机可读指令可以被物理地存储在一个或更多个计算机可读介质(例如,硬盘驱动器)中。例如,图10示出了适合于实现所公开的主题的某些实施方式的计算机系统700。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述任何合适的机器代码或计算机语言可能经受汇编、编译、链接等机制,以创建包括如下指令的代码,所述指令可以由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或者通过解译、微代码执行等被执行。
所述指令可以在各种类型的计算机或其部件上被执行,所述各种类型的计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图10中示出的用于计算机系统700的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能做出任何限制。部件的配置也不应当被解释为具有与计算机系统700的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统700可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)的输入。人机接口设备还可以用于捕获不一定与人的有意识输入直接有关的某些介质,例如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描的图像、从静态图像相机获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下中的一个或更多个(描绘的每种中的仅一个):键盘701、鼠标702、触控板703、触摸屏710、数据手套704、操纵杆705、麦克风706、扫描仪707和相机708。
计算机系统700还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏710、数据手套704或操纵杆705的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备、音频输出设备(例如:扬声器709、头戴式耳机(未描绘))、视觉输出设备(例如屏幕710,包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维的输出;虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))和打印机(未描绘)。
计算机系统700还可以包括人类可访问的存储设备及其相关联的介质,例如,包括具有CD/DVD等介质721的CD/DVD ROM/RW 720的光学介质、拇指驱动器722、可移除硬盘驱动器或固态驱动器723、诸如磁带和软盘(未描绘)的传统磁性介质、诸如安全加密狗(未描绘)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应当理解的是,结合当前公开的主题使用的术语一个或多个“计算机可读介质”不涵盖传输介质、载波或其他瞬态信号。
计算机系统700还可以包括到一个或更多个通信网络的接口。网络可以例如是无线的、有线的、光学的网络。网络还可以是本地网络、广域网、城域网、车辆和工业网络、实时网络、延时容忍网络等。网络的示例包括:诸如以太网的局域网;无线LAN;包括GSM、3G、4G、5G、LTE等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的有线或无线广域数字网络电视;包括CANBus的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(749)(诸如,例如计算机系统700的USB端口)的外部网络接口适配器;其他通常通过如下所述(例如,到PC计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)附接至系统总线而集成到计算机系统700的核中。使用这些网络中的任何网络,计算机系统700可以与其他实体进行通信。这样的通信可以是单向的、仅接收(例如,广播电视)、单向仅发送(例如,到某些CANbus设备的CANbus)或双向的,例如使用局域数字网络或广域数字网络到其他计算机系统。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口设备、人类可访问的存储设备和网络接口可以附接至计算机系统700的核740。
核740可以包括一个或更多个中央处理单元(CPU)741、图形处理单元(GPU)742、以现场可编程门阵列(FPGA)743形式的专用可编程处理单元、用于某些任务的硬件加速器744等。这些设备连同只读存储器(ROM)745、随机存取存储器746、诸如内部非用户可访问硬盘驱动器、SSD等的内部大容量存储装置747一起可以通过系统总线748被连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线748,以使得能够通过另外的CPU、GPU等进行扩展。外围设备可以直接地或通过外围总线749附接至核的系统总线748。外围总线的架构包括PCI、USB等。
CPU 741、GPU 742、FPGA 743和加速器744可以执行某些指令,这些指令可以组合起来构成上述计算机代码。该计算机代码可以被存储在ROM 745或RAM 746中。过渡数据也可以被存储在RAM 746中,而永久数据可以被存储在例如内部大容量存储装置747中。可以通过使用缓存存储器来使实现存储设备中的任何存储设备的快速存储和检索,所述缓存存储器可以与一个或更多个CPU 741、GPU 742、大容量存储装置747、ROM 745、RAM 746等紧密地相关联。
计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型的介质和计算机代码。
作为示例而非通过限制的方式,具有架构700的计算机系统——特别是核740——可以由于(一个或多个)处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置相关联的介质以及具有非暂态性质的核740的某些存储装置,例如核内部大容量存储装置747或ROM 745。实现本公开内容的各种实施方式的软件可以被存储在这样的设备中并且由核740执行。根据特定需要,计算机可读介质可以包括一个或更多个存储设备或芯片。软件可以使核740——特别是其中的处理器(包括CPU、GPU、FPGA等)——执行本文中描述的特定处理或特定处理的特定部分,包括定义被存储在RAM 746中的数据结构以及根据由软件定义的处理来修改这样的数据结构。
另外地或替选地,计算机系统700可以由于逻辑硬连线或以其他方式体现在电路(例如,加速器744)中而提供功能,该电路可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及的软件可以包含逻辑,反之提及的逻辑也可以包含软件。在适当的情况下,提及的计算机可读介质可以包含存储用于执行的软件的电路(例如,集成电路(IC))、体现用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适的组合。
尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替代等同物。因此将认识到,虽然本文中没有明确示出或描述,但是本领域技术人员将能够设计出体现本公开内容的原理并因此在本公开内容的精神和范围内的许多系统和方法。
一些实施方式可以涉及处于任何可能的技术细节集成级别的系统、方法和/或计算机可读介质。计算机可读介质可以包括计算机可读非暂态存储介质(或介质),该计算机可读非暂态存储介质上具有用于使处理器执行操作的计算机可读程序指令。
计算机可读存储介质可以是能够保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码的设备例如穿孔卡或其上记录有指令的凹槽中的凸起结构以及前述的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为本身是暂态信号,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过导线传输的电信号。
本中描述的计算机可读程序指令可以从计算机可读存储介质被下载到相应的计算/处理设备,或者经由诸如因特网、局域网、广域网和/或无线网络的网络被下载到外部计算机或外部存储设备。网络可以包括铜传输线缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令并且转发计算机可读程序指令,以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可以是:汇编指令、指令集架构(ISA)指令、机器指令、与机器有关的指令、微代码、固件指令、状态设置数据、集成电路系统的配置数据或者以一种或更多种编程语言的任意组合编写的源代码或目标代码,所述一种或更多种编程语言包括诸如Smalltalk、C++等的面向对象的编程语言以及诸如“C”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以全部在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上且部分在远程计算机上执行或者全部在远程计算机或服务器上执行。在全部在远程计算机或服务器上执行的情况下,远程计算机可以通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接至用户的计算机,或者远程计算机可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施方式中,包括例如可编程逻辑电路系统、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路系统可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路系统个性化,以执行各方面或操作。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图中的一个或多个块中所指定的功能/动作的装置。这些计算机可读程序指令还可以被存储在计算机可读存储介质中,该计算机可读存储介质可以以特定方式引导计算机、可编程数据处理装置和/或其他设备起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个块中所指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使要在计算机、其他可编程装置或其他设备上执行的一系列操作步骤能够产生计算机实现的过程,从而使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个块中指定的功能/动作。
图中的流程图和框图示出了根据各种实施方式的系统、方法和计算机可读介质的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示模块、段或指令的部分,所述模块、段或指令的部分包括用于实现指定的一个或多个逻辑功能的一个或更多个可执行指令。方法、计算机系统和计算机可读介质可以包括与图中所描绘的这些块相比附加的块、更少的块、不同的块或不同布置的块。在一些替选实现中,块中注明的功能可以不按图中注明的顺序发生。例如,连续示出的两个块实际上可以同时或基本上同时被执行,或者块有时可以根据所涉及的功能而按照相反的顺序被执行。还应当注意的是,可以通过基于专用硬件的系统来实现框图和/或流程图图示中的每个块以及框图和/或流程图图示中的块的组合,所述基于专用硬件的系统执行指定的功能或动作或者实现专用硬件和计算机指令的组合。
将明显的是,本文所描述的系统和/或方法可以以不同形式的硬件、固件或者硬件和软件的组合被实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现方式。因此,本文中在不参考特定软件代码的情况下描述了系统和/或方法的操作和行为,应当理解的是,可以基于本文中的描述将软件和硬件设计成实现系统和/或方法。
除非照此明确地被描述,否则本文中使用的元素、动作或指令均不应当被解释为关键的或必需的。此外,如本文中使用的,冠词“一”和“一个”旨在包括一个或更多个项,并且可以与“一个或更多个”互换使用。此外,如本文所使用的,术语“集合”旨在包括一个或更多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或更多个”互换使用。在意指仅一项的情况下,使用术语“一个”或类似语言。此外,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在为开放式术语。此外,除非另有明确说明,否则短语“基于”旨在意味着“至少部分地基于”。
已经出于说明的目的呈现了对各个方面和实施方式的描述,但是该描述并不旨在是穷举的或限于所公开的实施方式。尽管在权利要求中记载了以及/或者在说明书中公开了特征的组合,但是这些组合不旨在限制可能实现的公开内容。实际上,这些特征中的许多特征可以以权利要求中未具体记载以及/或者说明书中未公开的方式被组合。尽管以下列出的每个从属权利要求可以直接引用仅一个权利要求,但是可能的实现的公开内容包括结合权利要求集中的每个其他权利要求的每个从属权利要求。在不脱离所描述的实施方式的范围的情况下,许多修改和变化对本领域普通技术人员而言将是明显的。选择本文所使用的术语以最佳地说明实施方式的原理、实际应用或相对于在市场上发现的技术的技术改进,或者使本领域其他普通技术人员能够理解本文所公开的实施方式。
Claims (20)
1.一种解码的方法,包括:
接收包括压缩的视频数据的经熵编码的比特流,所述压缩的视频数据包括点云占用码;
通过包括以下的过程来生成点云的边界框的一个或更多个去量化的尺寸:
从所述比特流解析所述点云的边界框的尺寸;
对所述点云的边界框的经熵编码的尺寸进行熵解码;以及
对所述点云的边界框的尺寸进行去量化;确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测所述压缩的视频数据;基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定用于解码的预测器是所述基于属性的预测器;
基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定用于解码的预测器是所述基于几何的预测器;以及
通过使用所确定的预测器,根据包括所述点云的占用码的边界框的去量化的尺寸对所述点云的边界框进行划分,来构建八叉树结构。
2.根据权利要求1所述的方法,还包括:
基于候选列表中的点的几何位置来选择所述基于属性的预测器或所述基于几何的预测器。
3.根据权利要求1所述的方法,还包括:基于所述比特流的语法中的信令,来确定是通过使用所述基于属性的预测器还是通过使用所述基于几何的预测器来预测所述压缩的视频数据。
4.根据权利要求1所述的方法,还包括:当所述占用码的属性是标量值时,确定用于解码的预测器是所述基于几何的预测器。
5.根据权利要求1所述的方法,其中,所述用于解码的预测器被二值化为固定长度的码,并且各个位是用上下文建模编码的算术码。
6.根据权利要求1所述的方法,其中,所述用于解码的预测器被二值化为截断一元(TU)码,其中,最大值被设置为所述用于解码的预测器的最大值。
7.根据权利要求1所述的方法,其中,所述点云的属性包括颜色或反射率中的一个或更多个。
8.根据权利要求1所述的方法,还包括:
针对所述基于属性的预测器和所述基于几何的预测器中的每一个来确定每个组块的残差的平均值;以及
基于所确定的残差的平均值来确定是使用所述基于属性的预测器还是使用所述基于几何的预测器。
9.根据权利要求1所述的方法,还包括:
当残差或经转换的残差小于截断一元(TU)码最大值时,使用具有最大值的TU码进行编码;以及
当所述残差或所述经转换的残差不小于所述TU码最大值时,使用指数码进行编码。
10.根据权利要求9所述的方法,其中,所述指数码是具有阶数0的指数哥伦布码。
11.根据权利要求9所述的方法,还包括:
对于所述TU码中的位,使用基于上下文的算术码;以及
对于所述指数码中的位,使用旁路编码。
12.根据权利要求1所述的方法,还包括:
从所述基于几何的预测器开始;
在一段时间之后,将点的组块与阈值进行比较;
当所述点的组块大于所述阈值时,使用所述基于属性的预测器。
13.根据权利要求1所述的方法,还包括:基于速率-失真优化方法来选择最佳预测候选,在所述速率-失真优化方法中,所述最佳预测候选导致速率和失真函数的最小成本。
14.根据权利要求1所述的方法,还包括:
至少部分地基于所构建的八叉树结构来生成可显示图像;以及
执行控制,使得所述可显示图像由显示器显示。
15.一种用于对视频数据进行解码的计算机系统,所述计算机系统包括:
一个或更多个计算机可读非暂态存储介质,其被配置成存储计算机程序代码;以及
一个或更多个计算机处理器,其被配置成访问所述计算机程序代码并按照所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:
接收代码,其被配置成使所述一个或更多个计算机处理器接收包括压缩的视频数据的经熵编码的比特流,所述压缩的视频数据包括点云占用码;
去量化代码,其被配置成使所述一个或更多个计算机处理器通过包括以下的过程来生成所述点云的边界框的一个或更多个去量化的尺寸:从所述比特流解析所述点云的边界框的尺寸,对所述点云的边界框的经熵编码的尺寸进行熵解码,以及对所述点云的边界框的尺寸进行去量化;
确定代码,其被配置成使所述一个或更多个计算机处理器确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测所述压缩的视频数据;
预测器选择代码,其被配置成使所述一个或更多个计算机处理器:
基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定用于解码的预测器是所述基于属性的预测器;
基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定所述用于解码的预测器是所述基于几何的预测器;以及
八叉树构建代码,其被配置成使所述一个或更多个计算机处理器通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括所述点云的占用码的边界框的去量化的尺寸对所述点云的边界框进行划分。
16.根据权利要求15所述的计算机系统,其中,所述预测器选择代码还被配置成使所述一个或更多个计算机处理器:
基于所述比特流的语法中的信令来确定通过使用所述基于属性的预测器还是通过使用所述基于几何的预测器来预测所述压缩的视频数据。
17.根据权利要求15所述的计算机系统,还包括:
显示器,其中,所述计算机程序代码还包括:显示代码,其被配置成使所述一个或更多个处理器:至少部分地基于所构建的八叉树结构来生成可显示图像;以及执行控制,使得所述可显示图像由所述显示器显示。
18.根据权利要求15所述的计算机系统,其中,所述点云的属性包括颜色或反射率中的一个或更多个。
19.一种非暂态计算机可读介质,所述非暂态计算机可读介质上存储有用于对视频数据进行解码的计算机程序,所述计算机程序被配置成使一个或更多个计算机处理器:
接收包括压缩的视频数据的经熵编码的比特流,所述压缩的视频数据包括点云占用码;
通过包括以下的过程来生成点云的边界框的一个或更多个去量化的尺寸:
从所述比特流解析所述点云的边界框的尺寸;
对所述点云的边界框的经熵编码的尺寸进行熵解码;以及
对所述点云的边界框的尺寸进行去量化;
确定是通过使用基于属性的预测器还是通过使用基于几何的预测器来预测所述压缩的视频数据;
基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定用于解码的预测器是所述基于属性的预测器;
基于确定通过使用所述基于属性的预测器来预测所述压缩的视频数据,确定所述用于解码的预测器是所述基于几何的预测器;以及
通过以下操作来构建八叉树结构:通过使用所确定的预测器,根据包括所述点云的占用码的边界框的去量化的尺寸对所述点云的边界框进行划分。
20.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述计算机程序被配置成使所述一个或更多个计算机处理器:
至少部分地基于所构建的八叉树结构来生成可显示图像;以及
执行控制,使得所述可显示图像由显示器显示。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063002316P | 2020-03-30 | 2020-03-30 | |
US63/002,316 | 2020-03-30 | ||
US17/139,177 | 2020-12-31 | ||
US17/139,177 US11317117B2 (en) | 2020-03-30 | 2020-12-31 | Method of coding attributes for point cloud coding |
PCT/US2021/018105 WO2021202003A1 (en) | 2020-03-30 | 2021-02-15 | Method of coding attributes for point cloud coding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113796014A true CN113796014A (zh) | 2021-12-14 |
CN113796014B CN113796014B (zh) | 2023-11-03 |
Family
ID=77856893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180002863.0A Active CN113796014B (zh) | 2020-03-30 | 2021-02-15 | 一种对视频数据进行解码的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (2) | US11317117B2 (zh) |
EP (1) | EP4128540A4 (zh) |
JP (1) | JP7330291B2 (zh) |
KR (1) | KR20210144880A (zh) |
CN (1) | CN113796014B (zh) |
AU (1) | AU2021246918B2 (zh) |
CA (1) | CA3137933C (zh) |
SG (1) | SG11202111636XA (zh) |
WO (1) | WO2021202003A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131131A1 (en) * | 2022-01-04 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023131136A1 (en) * | 2022-01-04 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023198168A1 (en) * | 2022-04-14 | 2023-10-19 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023207824A1 (zh) * | 2022-04-26 | 2023-11-02 | 中兴通讯股份有限公司 | 一种编码方法、解码方法、通信节点及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11399192B2 (en) * | 2020-02-10 | 2022-07-26 | Tencent America LLC | Spatial scalable coding for point cloud coding |
US20230334711A1 (en) * | 2020-06-29 | 2023-10-19 | Lg Electronics Inc. | Point cloud data transmission device, transmission method, processing device, and processing method |
EP4425928A1 (en) * | 2021-10-27 | 2024-09-04 | LG Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data transmission method |
WO2023090616A1 (ko) * | 2021-11-19 | 2023-05-25 | 현대자동차주식회사 | 포인트 단위 예측을 이용하는 라이다 포인트 클라우드 코딩을 위한 방법 및 장치 |
CN118661196A (zh) * | 2022-02-16 | 2024-09-17 | Lg 电子株式会社 | 点云数据发送设备、点云数据发送方法、点云数据接收设备和点云数据接收方法 |
WO2023191605A1 (ko) * | 2022-04-01 | 2023-10-05 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2024043659A1 (ko) * | 2022-08-22 | 2024-02-29 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2024151077A1 (ko) * | 2023-01-10 | 2024-07-18 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
WO2024151072A1 (ko) * | 2023-01-10 | 2024-07-18 | 엘지전자 주식회사 | 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070040711A1 (en) * | 2005-08-22 | 2007-02-22 | Streaming Networks (Pvt.) Ltd. | Method and system for fast context based adaptive binary arithmetic coding |
CN109559374A (zh) * | 2018-11-20 | 2019-04-02 | 广州方舆科技有限公司 | 基于点云数据的高效测绘系统 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
WO2019240167A1 (ja) * | 2018-06-12 | 2019-12-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020005363A1 (en) * | 2018-06-26 | 2020-01-02 | Futurewei Technologies, Inc. | High-level syntax designs for point cloud coding |
US20200021844A1 (en) * | 2018-07-10 | 2020-01-16 | Tencent America LLC | Method and apparatus for video coding |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10545029B2 (en) * | 2016-12-30 | 2020-01-28 | DeepMap Inc. | Lane network construction using high definition maps for autonomous vehicles |
US10897269B2 (en) * | 2017-09-14 | 2021-01-19 | Apple Inc. | Hierarchical point cloud compression |
US11010928B2 (en) * | 2018-04-10 | 2021-05-18 | Apple Inc. | Adaptive distance based point cloud compression |
KR20240145069A (ko) * | 2018-09-11 | 2024-10-04 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 3차원 데이터 부호화 방법, 3차원 데이터 복호 방법, 3차원 데이터 부호화 장치, 및 3차원 데이터 복호 장치 |
-
2020
- 2020-12-31 US US17/139,177 patent/US11317117B2/en active Active
-
2021
- 2021-02-15 SG SG11202111636XA patent/SG11202111636XA/en unknown
- 2021-02-15 AU AU2021246918A patent/AU2021246918B2/en active Active
- 2021-02-15 WO PCT/US2021/018105 patent/WO2021202003A1/en unknown
- 2021-02-15 KR KR1020217035705A patent/KR20210144880A/ko not_active Application Discontinuation
- 2021-02-15 EP EP21781555.4A patent/EP4128540A4/en active Pending
- 2021-02-15 JP JP2021563220A patent/JP7330291B2/ja active Active
- 2021-02-15 CN CN202180002863.0A patent/CN113796014B/zh active Active
- 2021-02-15 CA CA3137933A patent/CA3137933C/en active Active
-
2022
- 2022-03-17 US US17/697,283 patent/US11812058B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070040711A1 (en) * | 2005-08-22 | 2007-02-22 | Streaming Networks (Pvt.) Ltd. | Method and system for fast context based adaptive binary arithmetic coding |
WO2019240167A1 (ja) * | 2018-06-12 | 2019-12-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2020005363A1 (en) * | 2018-06-26 | 2020-01-02 | Futurewei Technologies, Inc. | High-level syntax designs for point cloud coding |
US20200021844A1 (en) * | 2018-07-10 | 2020-01-16 | Tencent America LLC | Method and apparatus for video coding |
CN110708560A (zh) * | 2018-07-10 | 2020-01-17 | 腾讯美国有限责任公司 | 点云数据处理方法和装置 |
CN109559374A (zh) * | 2018-11-20 | 2019-04-02 | 广州方舆科技有限公司 | 基于点云数据的高效测绘系统 |
CN110443810A (zh) * | 2019-07-17 | 2019-11-12 | 北京建筑大学 | 基于快速邻接体素查询的点云平面分割方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023131131A1 (en) * | 2022-01-04 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023131136A1 (en) * | 2022-01-04 | 2023-07-13 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023198168A1 (en) * | 2022-04-14 | 2023-10-19 | Beijing Bytedance Network Technology Co., Ltd. | Method, apparatus, and medium for point cloud coding |
WO2023207824A1 (zh) * | 2022-04-26 | 2023-11-02 | 中兴通讯股份有限公司 | 一种编码方法、解码方法、通信节点及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210306664A1 (en) | 2021-09-30 |
KR20210144880A (ko) | 2021-11-30 |
CA3137933A1 (en) | 2021-10-07 |
JP2022530765A (ja) | 2022-07-01 |
EP4128540A1 (en) | 2023-02-08 |
AU2021246918A1 (en) | 2021-11-18 |
CA3137933C (en) | 2024-03-19 |
EP4128540A4 (en) | 2023-11-22 |
US20220210472A1 (en) | 2022-06-30 |
US11317117B2 (en) | 2022-04-26 |
JP7330291B2 (ja) | 2023-08-21 |
WO2021202003A1 (en) | 2021-10-07 |
CN113796014B (zh) | 2023-11-03 |
US11812058B2 (en) | 2023-11-07 |
AU2021246918B2 (en) | 2023-03-02 |
SG11202111636XA (en) | 2021-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113796014B (zh) | 一种对视频数据进行解码的方法和装置 | |
CN111937387B (zh) | 用于采用并行处理的基于历史的运动矢量的预测方法和装置 | |
CN113424541B (zh) | 视频编解码的方法和装置 | |
CN111919443B (zh) | 用于视频解码的方法和装置 | |
CN110944173B (zh) | 视频解码方法、装置、电子设备以及存储介质 | |
KR102589712B1 (ko) | 비디오 디코딩 방법 및 장치, 저장 매체 | |
US11399192B2 (en) | Spatial scalable coding for point cloud coding | |
JP7361782B2 (ja) | 変換係数有意フラグのエントロピー・コーディングのためのコンテキストモデルを減らすための方法、装置、およびコンピュータプログラム | |
CN112400320A (zh) | 分层图块 | |
CN113228680B (zh) | 视频解码方法、装置和存储介质 | |
CN110708556B (zh) | 视频解码的方法和装置、计算机设备及存储介质 | |
CN110719462A (zh) | 视频解码的方法和装置 | |
RU2773384C1 (ru) | Способ кодирования атрибутов для кодирования облака точек | |
RU2782436C1 (ru) | Способ и устройство для эффективной сигнализации информации о размере и разбиении изображения в битовом потоке видео | |
CN118202385A (zh) | 基于重复顶点的位置压缩 | |
CN117678219A (zh) | 基于时间预测的顶点位置压缩 | |
CN117461059A (zh) | 网格压缩中的顶点位置预测 | |
CN118202393A (zh) | Uv坐标范围和纹理图大小 | |
KR20240093873A (ko) | 메시 압축의 텍스처 좌표 코딩 | |
CN118575201A (zh) | 网格压缩中的顶点位置编码 | |
JP2023543592A (ja) | ビデオエンコーダの少なくとも1つのプロセッサによって実行される方法、システム、及びコンピュータプログラム、並びにビデオデコーダの少なくとも1つのプロセッサによって実行される方法 | |
CN118679740A (zh) | 基于多模板的帧内模板匹配预测 | |
CN118541733A (zh) | 位置压缩中的网格顶点分组 | |
CN117044201A (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 |