CN112385221B - 用于点云译码的高级语法设计 - Google Patents

用于点云译码的高级语法设计 Download PDF

Info

Publication number
CN112385221B
CN112385221B CN201980043451.4A CN201980043451A CN112385221B CN 112385221 B CN112385221 B CN 112385221B CN 201980043451 A CN201980043451 A CN 201980043451A CN 112385221 B CN112385221 B CN 112385221B
Authority
CN
China
Prior art keywords
video
coding
pcc
unit
bitstream
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.)
Active
Application number
CN201980043451.4A
Other languages
English (en)
Other versions
CN112385221A (zh
Inventor
王业奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210978056.9A priority Critical patent/CN115665104A/zh
Publication of CN112385221A publication Critical patent/CN112385221A/zh
Application granted granted Critical
Publication of CN112385221B publication Critical patent/CN112385221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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/103Selection of coding mode or of prediction mode
    • 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/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/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/188Methods 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 video data packet, e.g. a network abstraction layer [NAL] unit
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种由视频解码器实现的点云译码(PCC)方法。该方法包括:接收编码位流,该编码位流包括设置在纹理分量或几何分量的编码表示之外的帧组头,并且该帧组头标识用于对纹理分量或几何分量进行译码的视频译码器;以及解码编码位流。

Description

用于点云译码的高级语法设计
技术领域
本公开涉及点云译码,尤其涉及用于点云译码的高级语法。
背景技术
点云被广泛用于娱乐行业、智能汽车导航、地理空间检测、现实世界物体的三维(three dimensional,3D)建模、可视化等应用。考虑到点云非均匀采样几何结构,用于存储和传输这种数据的紧凑表示是有用的。与其他3D呈现相比,不规则的点云更为普遍,适用于更广范围的传感器和数据采集策略。例如,当在虚拟现实世界中执行3D呈现或在远程呈现环境中执行远程渲染时,将虚拟图形和实时指令的渲染作为密集点云数据集进行处理。
发明内容
本公开的第一方面涉及一种由视频解码器实现的点云译码(point cloudcoding,PCC)的方法。该方法包括:接收编码位流(bitstream),该编码位流包括设置在纹理分量(texture component)或几何分量(geometry component)的编码表示之外的帧组头(groupofframes header),并且该帧组头标识用于对纹理分量或几何分量进行译码的视频译码器;以及解码该编码位流。
第二方面涉及一种由视频编码器实现的点云译码(PCC)的方法。该方法包括:生成编码位流,该编码位流包括设置在纹理分量或几何分量的编码表示之外的帧组头,并且该帧组头标识用于对纹理分量或几何分量进行译码的视频译码器;以及发送该编码位流到解码器。
该方法提供了高级语法设计,解决了与如下所述的点云译码相关的一个或多个问题。因此,视频译码的过程和视频译码器都得到了改进,且更有效,等等。
在根据第一方面或第二方面的方法的第一实施方式中,编码表示包括在PCC网络抽象层(network abstraction layer,NAL)单元的有效载荷(payload)中。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第二实施方式中,PCC NAL单元的有效载荷包含与视频译码器对应的几何分量。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第三实施方式中,PCC NAL单元的有效载荷包含对应于视频译码器的纹理分量。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第四实施方式中,视频译码器是高效视频译码(high efficiency video coding,HEVC)。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第五实施方式中,视频译码器是高级视频译码(advanced video coding,AVC)。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第六实施方式中,视频译码器是通用视频译码(versatile video coding,VVC)。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第七实施方式中,视频译码器是基本视频译码(essential video coding,EVC)。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第八实施方式中,几何分量(geometry component)包括与点云帧相关联的一组坐标。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第九实施方式中,该组坐标是笛卡尔坐标。
在根据第一方面或第二方面的方法或根据第一方面或第二方面的上述任一实施方式的第十实施方式中,纹理分量包括点云帧的一组亮度样本值。
第三方面涉及一种译码(coding)装置,包括:接收器,用于接收图片以进行编码或接收位流以进行解码;发射器,连接至接收器,该发射器用于将上述位流发送到解码器或将解码图像发送到显示器;存储器,连接至接收器或发射器中的至少一个,该存储器用于存储指令;以及处理器,连接到存储器,该处理器用于执行存储在上述存储器中的指令,以执行上述任一方面或实施方式的方法。
该译码装置利用高级语法设计,解决了与如下所述的点云译码相关的一个或多个问题。因此,视频译码的过程和视频译码器都得到了改进,且更有效,等等。
在根据第三方面的装置的第一实施方式中,该装置还包括用于显示图像的显示器。
第四方面涉及一种系统,该系统包括编码器以及与编码器通信的解码器。该编码器或解码器包括上述任一方面或实施方式的译码装置。
该系统利用高级语法设计,解决了与如下所述的点云译码相关的一个或多个问题。因此,视频译码的过程和视频译码器都得到了改进,且更有效,等等。
第五方面涉及一种译码装置,其包括:接收装置,用于接收图片进行编码或接收位流进行解码;发送装置,连接至接收装置,该发送装置用于将位流发送到解码器或将解码图像发送到显示装置;存储装置,连接至接收装置或发送装置中的至少一个,该存储装置用于存储指令;以及处理装置,连接至存储装置,该处理装置用于执行存储在该存储装置中的指令,以执行前述任一方面或实施方式的方法。
该译码装置利用高级句法设计,解决了与如下所述的点云译码相关的一个或多个问题。因此,视频译码的过程和视频译码器都得到了改进,且更有效,等等。
为了更清楚,上述实施例中的任何一个可以与其他上述实施例中的任何一个或多个组合,以在本公开的范围内创建新的实施例。
结合附图和权利要求,通过以下的具体实施方式,将更清楚地理解上述以及其他特征。
附图说明
为了更全面地理解本公开,现在结合附图和具体实施方式参考以下简要描述,其中,相似的附图标记表示相似的部分。
图1是示出可以利用上下文建模技术的示例译码系统的框图。
图2是示出可以实现上下文建模技术的示例视频编码器的框图。
图3是示出可以实现上下文建模技术的示例视频解码器的框图。
图4是与PCC兼容的数据结构的实施例的示意图。
图5是由视频解码器实现的点云译码方法的实施例。
图6是由视频编码器实现的点云译码方法的实施例。
图7是示例视频译码设备的示意图。
图8是译码装置的实施例的示意图。
具体实施方式
首先,应理解,尽管以下提供了一个或多个实施例的示例性实施方式,但是可以使用任何数量的当前已知或现有的技术来实现所公开的系统和/或方法。本公开不应限于以下示出的示例性实施方式、附图、以及技术(包括本文中示出和描述的示例性设计和实施方式),而是可以在所附权利要求的范围及其等同物的全部范围内进行修改。
视频译码标准包括:国际电信联盟电信标准化部门(internationaltelecommunications union telecommunication standardization sector,ITU-T)H.261、国际标准化组织(international organization for standardization,ISO)/国际电工委员会(international electrotechnical commission,IEC)运动图像专家组(moving picture experts group,MPEG)-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IEC MPEG-4第2部分、高级视频译码(AVC),也称为ITU-T H.264或ISO/IEC MPEG-4第10部分,以及高效视频译码(HEVC),也称为ITU-T H.265或MPEG-H第2部分。AVC包括其扩展,如可伸缩视频译码(scalable video coding,SVC)、多视点视频译码(multiview video coding,MVC)、多视点视频译码加深度(multiview video coding plusdepth,MVC+D)、以及3D AVC(3D-AVC)。HEVC包括其扩展,如可伸缩HEVC(scalable HEVC,SHVC)、多视点HEVC(multiview HEVC,MV-HEVC)、以及3D HEVC(3D-HEVC)。
点云是3D空间中的一组数据点。每个数据点由一组参数组成,这些参数确定了位置(例如,X、Y、Z)、颜色(例如,R、G、B或Y、U、V)、以及可能的其他属性,如透明度、反射率、采集时间等。通常,云中的每个点都有相同数量的附加属性。点云可以用于各种应用,例如实时3D沉浸式远程呈现、具有交互式视差的内容虚拟现实(virtual reality,VR)观看、3D自由视点体育回放广播、地理信息系统、文化遗产、基于大型3D动态地图的自主导航、以及汽车应用。
ISO/IEC活动图像专家组已经于2016年开始开发针对用于无损和有损压缩的点云数据的点云译码的新的点云译码器标准,该点云译码器标准具有相当高的译码效率和对网络环境的鲁棒性。通过使用该译码器标准,可以将点云作为计算机数据的一种形式进行处理,并存储在各种存储介质上,还可以通过现有和未来的网络进行传输和接收,并在现有和未来的广播信道上进行分发。
最近,点云译码(PCC)工作分为三类:PCC类别1、PCC类别2、以及PCC类别3,其中,两个单独的工作草案正在制定中,一个用于PCC类别2(PCC Cat2),另一个用于PCC类别1和3(PCC Cat13)。PCC Cat2的最新工作草案(working draft,WD)包括在MPEG输出文档N17534中,PCC Cat13的最新WD包括在MPEG输出文档N17533中。
PCC Cat2 WD中PCC Cat2译码器背后的主要设计理念是,通过将点云数据压缩成一组不同的视频序列,利用现有的视频译码器来压缩动态点云的几何信息和纹理信息。特别地,通过使用视频译码器可以生成和压缩两个视频序列,一个表示点云数据的几何信息,另一个表示纹理信息。还可以分别生成和压缩用于解释两个视频序列的附加元数据,即,占用图和辅助补丁(patch)信息。
但PCC的现有设计存在缺陷。例如,属于一个时间实例(即一个访问单元(accessunit,AU))的数据单元在解码顺序上是不连续的。在PCC Cat 2WD中,每个AU的纹理信息、几何信息、辅助信息、以及占用图的数据单元以帧组为单位进行交织。也就是说,组中所有帧的几何数据是在一起的。同理,纹理数据等也是如此。在PCC Cat 13WD中,每个AU的几何数据单元和一般属性在整个PCC位流的级别上进行交织(即,当只有一组帧与整个PCC位流具有相同长度时,则与PCC Cat2 WD相同)。属于一个AU的数据单元的交织将会导致很大的端到端时延,该时延至少等于应用系统中呈现持续时间内的帧组的长度。
另一个缺点涉及位流格式。位流格式允许类似0x0003的起始码模式竞争(emulation),因此不适合用于在需要起始码竞争防止(start code emulationprevention)的MPEG-2传输流(transport stream,TS)上传输。对于PCC Cat2,在使用HEVC或AVC对几何分量和纹理分量进行译码时,目前只有在group_of_frames_geometry_video_payload()和group_of_frames_texture_video_payload()上具有起始码竞争防止。对于PCC Cat13,在位流中的任何地方都没有起始码竞争防止。
在PCC Cat2 WD中,几何位流和纹理位流的一些译码器信息(例如哪种译码器、译码器的配置文件、级别等)隐藏在结构group_of_frames_geometry_video_payload()和group_of_frames_texture_video_payload()的多个实例中。此外,缺少诸如配置文件和级别之类的信息,这些信息指示解码辅助信息和占用图分量以及点云重构的能力。
本文公开了解决与点云译码相关联的一个或多个上述问题的高级语法设计。下文将更全面解释,本公开利用数据单元头(也称为PCC网络接入层(NAL)头)中的类型指示符来指定PCC NAL单元的有效载荷中的内容类型。此外,本公开利用帧组头NAL单元来携带该帧组头参数。该帧组头NAL单元也可以用于发信号通知每个几何位流或纹理位流的配置文件和级别。
图1是示出可以利用PCC视频译码技术的译码系统10实施例的框图。如图1所示,译码系统10包括源设备12,源设备12提供编码视频数据,该编码视频数据将在之后由目的地设备14解码。特别地,源设备12可以通过计算机可读介质16向目的地设备14提供视频数据。源设备12和目的地设备14可以包括以下多种设备中的任何一种,包括台式电脑、笔记本电脑(例如膝上型电脑)、平板电脑、机顶盒、诸如所谓的“智能”电话之类的电话手机、所谓的“智能”平板、电视、照相机、显示设备、数字媒体播放器、视频游戏机、视频流设备等。在某些情况下,源设备12和目的地设备14可以用于无线通信。
目的地设备14可以通过计算机可读介质16接收待解码的编码视频数据。计算机可读介质16可以包括能够将编码视频数据从源设备12转移到目的地设备14的任何类型的介质或设备。在一个示例中,计算机可读介质16可以包括通信介质,以使源设备12能够实时地将编码视频数据直接发送到目的地设备14。编码视频数据可以根据诸如无线通信协议的通信标准进行调制,并将其发送到目的地设备14。通信介质可以包括任何无线通信介质或有线通信介质,例如射频(RF)频谱或一条或多条物理传输线。通信介质可以形成局域网、广域网、或诸如互联网之类的全球网络等分组网络的一部分。通信介质可以包括路由器、交换机、基站、或有助于从源设备12到目的地设备14的通信的任何其他设备。
在一些示例中,编码数据可以从输出接口22输出到存储设备。类似地,可以通过输入接口从存储设备访问编码数据。该存储设备可以包括多种分布式或本地访问的数据存储介质中的任何一种,例如硬盘驱动器、蓝光光盘、数字视频光盘(digital video disk,DVD)、光盘只读存储器(compact disc read-only memory,CD-ROM)、闪存、易失性或非易失性存储器,或者用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备可以对应于文件服务器或者可以存储由源设备12生成的编码视频的另一中间存储设备。目的地设备14可以通过流式传输或下载从存储设备访问存储的视频数据。文件服务器可以是能够存储编码视频数据并将该编码视频数据发送到目的地设备14的任何类型的服务器。示例文件服务器包括网络服务器(例如,用于网站)、文件传输协议(file transferprotocol,FTP)服务器、网络附加存储(network attached storage,NAS)设备、或本地磁盘驱动器。目的地设备14可以通过包括互联网连接在内的任何标准数据连接来访问编码视频数据。这些数据连接可以包括适于访问存储在文件服务器上的编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或者无线连接和有线连接的组合。来自存储设备的编码视频数据的传输可以是流式传输、下载传输、或流式传输和下载传输的组合。
本公开的技术不限于无线应用或设置。该技术可以应用于视频译码以支持多种多媒体应用中的任何一种,例如空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输,例如基于HTTP(hyper text transfer protocol,超文本传输协议)的动态自适应流式传输(dynamic adaptive streaming over HTTP,DASH)、编码在数据存储介质上的数字视频、解码存储在数据存储介质上的数字视频、或其他应用。在一些实施例中,译码系统10可以用于支持单向或双向视频传输,以支持诸如视频流式传输、视频回放、视频广播、和/或视频电话之类的应用。
在图1的实施例中,源设备12包括视频源18、视频编码器20、以及输出接口22。目的地设备14包括输入接口28、视频解码器30、以及显示设备32。根据本公开,源设备12的视频编码器20和/或目的地设备14的视频解码器30可以用于应用视频译码技术。在其他示例中,源设备和目的地设备可以包括其他分量或布置。例如,源设备12可以从诸如外部摄像机的外部视频源接收视频数据。同样,目的地设备14可以与外部显示设备相连接,而不包括集成显示设备。
图1所示的译码系统10仅仅是一个示例。用于视频译码的技术可以由任何数字视频编码和/或解码设备来执行。虽然本公开的技术通常由视频译码设备来执行,但是这些技术也可以由通常称为“译码器(CODEC)”的视频编码器/解码器来执行。此外,本公开的技术也可以由视频预处理器来执行。视频编码器和/或解码器可以是图形处理单元(graphicsprocessing unit,GPU)或类似设备。
源设备12和目的地设备14仅仅是以下这种译码设备的示例:其中,源设备12生成编码视频数据以传输到目的地设备14。在一些示例中,源设备12和目的地设备14可以以基本对称的方式操作,使得源设备12和目的地设备14都包括视频编码和解码分量。因此,译码系统10可以支持视频设备12、14之间的单向或双向视频传输,例如用于视频流式传输、视频回放、视频广播、或视频电话。
源设备12的视频源18可以包括视频捕获设备(例如摄像机)、包含先前捕获的视频的视频档案库、和/或从视频内容提供者接收视频的视频馈送接口。作为另一种可选的方案,视频源18可以生成基于计算机图形的数据作为源视频,或者生成直播视频、存档视频、以及计算机生成视频的组合。
在某些情况下,在视频源18是摄像机的情况下,源设备12和目的地设备14可以形成所谓的摄像电话或录像电话。然而,如上所述,本公开中描述的技术通常可以应用于视频译码,并且可以应用于无线和/或有线应用。在每种情况下,捕获的、预捕获的、或计算机生成的视频可以由视频编码器20编码。然后,编码视频信息可以由输出接口22输出到计算机可读介质16上。
计算机可读介质16可以包括诸如无线广播或有线网络传输的瞬态介质,或者诸如硬盘、闪存驱动器、光盘、数字视盘、蓝光光盘、或其他计算机可读介质之类的存储介质(即,非瞬态存储介质)。在一些实施例中,网络服务器(未示出)可以从源设备12接收编码视频数据,并且例如通过网络传输将编码视频数据提供给目的地设备14。类似地,诸如光盘冲压设施之类的媒体生产设施的计算设备可以从源设备12接收编码视频数据,并且生产包含编码视频数据的光盘。因此,在不同的示例中,计算机可读介质16可以理解为包括不同形式的一个或多个计算机可读介质。
目的地设备14的输入接口28从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的、且由视频解码器30使用的语法信息,该语法信息包括描述块和诸如图像组(group of picture,GOP)的其他编码单元的特征和/或处理的语法元素。显示设备32向用户显示解码后的视频数据,该显示设备可以包括多种显示设备中的任何一种,例如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystaldisplay,LCD)、等离子显示器、有机发光二极管(organic light emitting diode,OLED)显示器、或其他类型的显示设备。
视频编码器20和视频解码器30可以根据视频译码标准操作,例如根据目前正在开发的高效视频译码(HEVC)标准进行操作,并且可以符合HEVC测试模型(HM)。可选的,视频编码器20和视频解码器30的操作可以根据其他专有或行业标准,例如国际电信联盟电信标准化部门(ITU-T)的H.264标准(或者称为运动图像专家组(MPEG)-4,第10部分,高级视频译码(AVC)的H.265/HEVC)或这些标准的扩展。然而,本公开的技术不限于任何特定的译码标准。视频译码标准的其他示例包括MPEG-2和ITU-T H.263。尽管在图1中未示出,但是在一些方面,视频编码器20和视频解码器30可以分别与音频编码器和解码器集成,并且可以包括适当的复用器-解复用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其他硬件和软件,以处理公共数据流或单独数据流中的音频和视频的编码。在适用的情况下,MUX-DEMUX单元可以符合ITU H.223复用器协议,或诸如用户数据报协议(user datagram protocol,UDP)的其他协议。
视频编码器20和视频解码器30均可实现为多种适用的编码器电路中的任何一种,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、软件、硬件、固件、或其任意组合。当这些技术部分地在软件中实现时,设备可以将软件的指令存储在适用的非暂时性计算机可读介质中,并且使用一个或多个处理器实施在硬件中这些指令以执行本公开的技术。视频编码器20和视频解码器30都可以包括在一个或多个编码器或解码器中,其中,这两者中的任何一个可以集成作为相应设备中的组合编码器/解码器(encoder/decoder,CODEC)的一部分。包括视频编码器20和/或视频解码器30的设备可以包括集成电路、微处理器、和/或诸如蜂窝电话的无线通信设备。
图2是示出可以实现视频译码技术的视频编码器20的示例的框图。视频编码器20可以对视频切片内的视频块执行帧内译码和帧间译码。帧内译码依靠空间预测来减少或消除给定视频帧或图片内视频的空间冗余。帧间译码依靠时间预测来减少或消除视频序列的相邻帧或图片内视频中的时间冗余。帧内模式(I模式)可以指几种基于空间的译码模式中的任何一种。帧间模式,例如单向预测(uni-directional prediction,也称为uniprediction)(P模式)或双向预测(bi-prediction,也称为bi prediction)(B模式),可以指几种基于时间的译码模式中的任何一种。
如图2所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的示例中,视频编码器20包括模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54、以及熵译码单元56。模式选择单元40又包括运动补偿单元44、运动估计单元42、帧内预测(intra-prediction,也称为intra prediction)单元46、以及分割单元48。对于视频块重构,视频编码器20还包括逆量化单元58、逆变换单元60、以及求和器62。还可以包括去块滤波器(图2中未示出)来过滤块边界,以从重构的视频中去除块效应伪影。在需要的情况下,去块滤波器通常会对求和器62的输出进行滤波。除了去块滤波器之外,还可以使用附加滤波器(环路内或环路后)。为了更简洁,图中没有示出这样的滤波器,但在需要的情况下,上述滤波器可以(作为环路内滤波器)对求和器50的输出进行滤波。
在编码过程中,视频编码器20接收待编码的视频帧或切片。帧或切片可以分成多个视频块。运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个块,对所接收的视频块执行帧间预测译码,以提供时间预测。可选的,帧内预测单元46可以相对于待编码的块相同的帧或切片中的一个或多个相邻块,对所接收的视频块执行帧内预测译码,以提供空间预测。视频编码器20可以执行多个译码通道,从而例如为每个视频数据块选择适用的译码模式。
此外,分割单元48可以基于对先前译码通道中的先前分割方案的评估,将视频数据块分割成子块。例如,分割单元48可以先将帧或切片分割成最大译码单元(largestcoding unit,LCU),并基于率失真分析(例如,率失真优化)将每个LCU分割成子译码单元(sub-coding unit,sub-CU)。模式选择单元40可以进一步产生四叉树(quadtree)数据结构,该数据结构指示将LCU分割成子CU。四叉树的叶节点CU可以包括一个或多个预测单元(prediction unit,PU)和一个或多个变换单元(transform unit,TU)。
本公开使用术语“块”来指代HEVC的情况下的CU、PU、或TU中的任何一个,或者其他标准的情况下的类似数据结构(例如,在H.264/AVC中的宏块及其子块)。CU包括译码节点、与译码节点相关联的PU、TU。该CU的大小对应于译码节点的大小,且是正方形。该CU的大小范围可以从8×8像素到最大的64×64像素或更大的树块大小。每个CU可以包含一个或多个PU和一个或多个TU。与CU相关联的语法数据可以描述,例如,将CU分割成一个或多个PU。无论是跳过CU还是对CU进行直接模式编码、帧内预测模式编码、或帧间预测(inter-prediction,也称为inter prediction)模式编码,所使用的分割模式都可能不同。PU可以分割为非正方形。与CU相关联的语法数据也可以描述,例如,根据四叉树将CU分割成一个或多个TU。TU的形状可以是正方形或非正方形(例如,矩形)。
模式选择单元40可以例如基于误差结果来选择译码模式之一(帧内或帧间),并将所得的帧内或帧间编码块提供给求和器50以生成残差块数据,且提供给求和器62以重构编码块用作参考帧。模式选择单元40还向熵译码单元56提供语法元素,例如运动矢量、帧内模式指示符、分割信息、以及其他这样的语法信息。
运动估计单元42和运动补偿单元44可以高度集成,但是由于概念目的而被单独示出。由运动估计单元42执行的运动估计是生成运动矢量的过程,该过程用于估计视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其他编码单元)内的预测块的位移,其中,上述参考帧内的预测块是相对于当前帧(或其他编码单元)内正在编码的当前块的。预测块是发现在像素差方面与待编码的块紧密匹配的块,像素差可以通过绝对差和(sum of absolute difference,SAD)、平方差和(sum of squaredifference,SSD)、或其他差度量来确定。在一些实施例中,视频编码器20可以计算存储在参考帧存储器64中的参考图片的子整数像素位置的值。例如,视频编码器20可以对参考图片的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值进行插值。因此,运动估计单元42可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过将PU的位置与参考图片的预测块的位置进行比较来计算帧间编码切片中的视频块的PU的运动矢量。参考图片可以从第一参考图片列表(列表0)或第二参考图片列表(列表1)中选择,每个列表标识存储在参考帧存储器64中的一个或多个参考图片。运动估计单元42将所计算的运动矢量发送到熵编码单元56和运动补偿单元44。
由运动补偿单元44执行的运动补偿可以包括,基于由运动估计单元42确定的运动矢量来获取或生成预测块。同样,在一些示例中,运动估计单元42和运动补偿单元44可以在功能上集成。一旦接收到当前视频块的PU的运动矢量,运动补偿单元44可以定位参考图片列表之一中运动矢量指向的预测块。求和器50通过从正在编码的当前视频块的像素值中减去预测块的像素值来形成残差视频块,从而形成如下所述的像素差值。通常,运动估计单元42执行相对于亮度分量的运动估计,并且运动补偿单元44将基于亮度分量计算的运动矢量用于色度分量和亮度分量。模式选择单元40还可以生成与视频块和视频切片相关联的语法元素,以供视频解码器30在解码视频切片的视频块时使用。
帧内预测单元46可以对当前块进行帧内预测,作为如上所述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案。特别地,帧内预测单元46可以确定用于编码当前块的帧内预测模式。在一些示例中,帧内预测单元46可以例如在单独的编码通道期间,使用不同的帧内预测模式对当前块进行编码,并且帧内预测单元46(或者在一些示例中,模式选择单元40)可以从测试的模式中选择适用的帧内预测模式来使用。
例如,帧内预测单元46可以使用针对各种测试的帧内预测模式的率失真分析来计算率失真值,并且在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常用于确定编码块和编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的比特率(即,比特数)。帧内预测单元46可以根据各种编码块的失真和速率来计算比率,以确定哪一个帧内预测模式表现出该块的最佳率失真值。
此外,帧内预测单元46可以用于使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行编码。模式选择单元40可以例如使用率失真优化(rate-distortionoptimization,RDO)来确定可用的DMM模式是否比帧内预测模式和其他DMM模式产生更好的译码结果。对应于深度图的纹理图像的数据可以存储在参考帧存储器64中。运动估计单元42和运动补偿单元44还可以用于对深度图的深度块进行帧间预测。
在为块选择帧内预测模式(例如,常规帧内预测模式或DMM模式之一)之后,帧内预测单元46可以向熵译码单元56提供指示该块的所选帧内预测模式的信息。熵译码单元56可以对指示所选帧内预测模式的信息进行编码。视频编码器20可以在发送的位流中包括配置数据,该配置数据可以包括多个帧内预测模式索引表和多个修改的帧内预测模式索引表(也称为码字映射表),各种块的编码上下文的定义,以及用于每个上下文的最可能的帧内预测模式、帧内预测模式索引表、以及修改的帧内预测模式索引表的指示。
视频编码器20通过从正在编码的原始视频块中减去来自模式选择单元40的预测数据来形成残差视频块。求和器50表示执行该减法运算的一个或多个组件。
变换处理单元52将诸如离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换应用于残差块,从而产生包括残差变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其他变换。即也可以使用小波变换、整数变换、子带变换、或其他类型的变换。
变换处理单元52将变换应用于残差块,从而产生具有残差变换系数的块。该变换可以将残差信息从像素值域转换到变换域,例如频域。变换处理单元52可以将所得的变换系数发送到量化单元54。量化单元54量化变换系数以进一步降低比特率。量化过程可以减少与一些或所有系数相关联的比特深度。量化的程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以对包括量化的变换系数的矩阵进行扫描。可选的,熵编码单元56可以执行扫描。
量化之后,熵译码单元56对量化的变换系数进行熵译码。例如,熵译码单元56可以执行上下文自适应可变长度译码(context adaptive variable length coding,CAVLC)、上下文自适应二进制算术译码(context adaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间划分熵(probability interval partitioningentropy,PIPE)译码、或另一种熵译码技术。在基于上下文的熵译码的情况下,上下文可以是基于相邻块的。在熵译码单元56进行熵译码之后,可以将编码位流发送到另一个设备(例如,视频解码器30),或者将其存档以供之后的传输或检索使用。
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残差块,例如以便之后用作参考块。运动补偿单元44可以通过将残差块添加到参考帧存储器64的帧之一的预测块来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重构的残差块,以计算用于运动估计的子整数像素值。求和器62将重构的残差块添加到由运动补偿单元44产生的运动补偿预测块上,以产生用于存储在参考帧存储器64中的重构视频块。运动估计单元42和运动补偿单元44可以将重构的视频块用作参考块,以对后续视频帧中的块进行帧间编码。
图3是示出可以实现视频译码技术的视频解码器30的示例的框图。在图3的示例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储器82、以及求和器80。在一些示例中,视频解码器30可以执行通常与关于视频编码器20(图2)描述的编码通道相反的解码通道。运动补偿单元72可以基于从熵解码单元70接收的运动矢量来生成预测数据,而帧内预测单元74可以基于从熵解码单元70接收的帧内预测模式指示符来生成预测数据。
在解码过程中,视频解码器30从视频编码器20接收表示编码视频切片的视频块的编码视频位流和相关联的语法元素。视频解码器30的熵解码单元70对位流进行熵解码,以生成量化系数、运动矢量、或帧内预测模式指示符,以及其他语法元素。熵解码单元70将运动矢量和其他语法元素转发给运动补偿单元72。视频解码器30可以在视频切片级别和/或视频块级别接收语法元素。
在视频切片编码为帧内编码(I)切片的情况下,帧内预测单元74可以基于信令通知的帧内预测模式和来自当前帧或图片的先前解码的块的数据,来生成当前视频切片的视频块的预测数据。在视频帧编码为帧间编码(例如,B、P、或GPB)切片的情况下,运动补偿单元72基于从熵解码单元70接收的运动矢量和其他语法元素,为当前视频切片的视频块产生预测块。可以从参考图片列表之一中的参考图片之一产生预测块。视频解码器30可以基于存储在参考帧存储器82中的参考图片使用默认构建技术,来构建参考帧列表,即列表0和列表1。
运动补偿单元72通过解析运动矢量和其他语法元素,以确定当前视频切片的视频块的预测信息,并使用预测信息以产生正在解码的当前视频块的预测块。例如,运动补偿单元72使用一些所接收的语法元素来确定用于对视频切片的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片、或GPB切片)、切片的一个或多个参考图片列表的构建信息、切片的每个帧间编码视频块的运动矢量、切片的每个帧间编码视频块的帧间预测状态,以及用于解码当前视频切片中的视频块的其他信息。
运动补偿单元72还可以基于插值滤波器来执行插值。运动补偿单元72可以使用视频编码器20在视频块编码期间使用的插值滤波器来计算参考块的子整数(sub-integer)像素的插值。在这种情况下,运动补偿单元72可以从所接收的语法元素中确定视频编码器20所使用的插值滤波器,并使用插值滤波器来产生预测块。
与深度图对应的纹理图像的数据可以存储在参考帧存储器82中。运动补偿单元72还可以用于对深度图的深度块进行帧间预测。
基于上述内容论及本公开的一些基本概念。
为了解决上述第一个问题,对于PCC Cat2来说,与一个时间实例(例如一个访问单元)相关的数据单元应该以解码顺序连续放置在位流中。一旦这些数据单元以解码顺序连续放置在位流中,每个数据单元的类型的标识可以允许该标识将每个数据单元路由到正确的解码器组件。该设计还应避免违反PCC Cat2译码器背后的主要设计理念,即利用现有的视频译码器来压缩动态点云的几何信息和纹理信息。
为了能够利用现有的视频译码器(例如以HEVC为例)来分别压缩几何信息和纹理信息,同时具有一个单独的、自包含的PCC Cat2位流,应明确指定以下方面:(1)从PCC Cat2位流中提取/构建几何分量的合规HEVC位流;(2)从PCC Cat2位流中提取/构建纹理分量的合规HEVC位流;以及(3)每个提取的几何分量和纹理分量的合规HEVC位流的合规性点(即配置文件、层、以及级别)的信令/指示。
为了解决上述问题,并满足所有上述限制,本公开提供了与PCC高级语法相关的两组备选方法。
在第一组方法中,所有视频译码器都有一个通用的高级语法可用于对PCC Cat2的几何分量和纹理分量进行译码。这组方法总结如下。
图4示出了与PCC兼容的数据结构400。数据结构400可以表示由编码器生成并由解码器接收的位流的一部分。如图所示,每个数据单元402(可称为PCC NAL单元)添加了数据单元头404(可称为PCC NAL单元头)。虽然在图4的数据结构400中示出了一个数据单元402和一个数据单元头404,但是在实际应用中,数据结构400中可以包括任意数量的数据单元402和数据单元头404。实际上,包括数据结构400的位流可以包含数据单元402序列,每个数据单元402包括一个数据单元头404。
数据单元头404可以包括例如一个或两个字节。在一个实施例中,每个数据单元402形成一个PCC NAL单元。数据单元402包括有效载荷406。在一个实施例中,数据单元406还可以包括补充增强信息(supplemental enhancement information,SEI)消息、序列参数集、图片参数集、切片信息等。
在一个实施例中,数据单元402的有效载荷406可以是HEVC单元或AVC NAL单元。在一个实施例中,有效载荷406可以包含几何分量或纹理分量的数据。在一个实施例中,几何分量是与点云帧相关联的一组笛卡尔坐标。在一个实施例中,纹理分量是点云帧的一组亮度样本值。在使用HEVC的情况下,数据单元402可以认为是包含HEVC NAL单元作为有效载荷406的PCC NAL单元。在使用AVC的情况下,数据单元402可以认为是包含AVC NAL单元作为有效载荷406的PCC NAL单元。
在一个实施例中,数据单元头404(例如PCC NAL单元头)的设计总结如下。
首先,数据单元头404包含类型指示符。类型指示符可以是例如5个比特。类型指示符指定有效载荷406中携带的内容的类型。例如,类型指示符可以指定有效载荷406包含几何信息或纹理信息。
在一个实施例中,一些保留的数据单元(其类似于数据单元402,但是这些数据单元已保留以供之后使用)可以用于PCC Cat13数据单元。因此,本公开的设计也适用于PCCCat13。由此,可以将PCC Cat2和PCC Cat13统一在一个译码器标准规范中。
如上所述,当前位流格式允许起始码模式的竞争,该起始码模式表示例如新的NAL单元或PCC NAL单元的开始。起始码模式可以是例如0x0003。因为当前位流格式允许起始码模式的竞争,所以可能会无意中表示起始码。本公开提供了PCC NAL单元语法和语义(见下文)以解决该问题。本文所描述的PCC NAL单元语法和语义可以确保对每个PCC NAL单元的起始码竞争,且不受其内容的影响。因此,一字节或两字节数据单元头404的最后一个字节(例如,如果数据单元头是一个字节,则为数据单元头其本身)不能为0x00。
此外,帧组头408(也称为帧组头NAL单元)设计为携带该帧组头参数。而且,该帧组头NAL单元包括其他全局信息(例如每个几何位流或纹理位流的配置文件和级别)的信令。在一个实施例中,配置文件是语法的指定子集或译码工具的子集。在一个实施例中,级别是对语法元素和变量可以采用的值的一组定义的约束。在一个实施例中,位流的配置文件和级别的组合表示解码位流所需的特定解码能力。此外,在配置文件和级别也被定义用于辅助信息、占用图的解码、以及点云重构过程(通过利用几何信息、纹理信息、辅助信息、以及占用图的解码结果)的情况下,该配置文件和级别也在帧组头408中进行信令通知。在一个实施例中,PCC辅助信息是指诸如补丁信息和点局部重构信息之类的信息,其用于从PCC编码位流中重构点云信号。在一个实施例中,PCC占用图指的是与3D空间被对象占用的部分有关的信息,其中,从上述对象中采样纹理值和其他属性。
如以下语法所示,明确指定了对不同类型的数据单元402(也称为PCC NAL单元)的顺序的约束。此外,也明确指定了访问单元410(可以包含几个数据单元402、数据单元头404等)的开始。
此外,在下面提到的语法和/或语义中还清楚地指明了每个几何位流或纹理位流的提取/构建过程。
在第二组方法中,不同的整体语法用于不同的视频译码器。将使用HEVC译码几何和纹理的PCC Cat2指定为HEVC的修正,而将使用AVC译码几何和纹理的PCC Cat2指定为AVC的修正。这组方法总结如下。
对于使用HEVC译码几何和纹理的PCC Cat2,几何和纹理视为三个独立的层(例如,两层用于几何,d0和d1,一层用于纹理)。SEI消息或新型NAL单元用于占用图和辅助信息。指定两种新的SEI消息,一种用于占用图,一种用于辅助信息。指定另一种序列级别的SEI消息,以携带该帧组头参数和其他全局信息。该SEI消息类似于第一组方法中的帧组头408。
对于使用AVC译码几何和纹理的PCC Cat2,几何和纹理视为三个独立的层(例如,两层用于几何,d0和d1,一层用于纹理)。SEI消息或新型NAL单元用于占用图和辅助补丁信息。指定独立编码的非基础层的提取和作为单层位流的合规性点(例如,配置文件和级别)的信令。指定两种新的SEI消息类型,一种用于占用图,一种用于辅助信息。指定另一种序列级别的SEI消息,以携带该帧组头参数和其他全局信息。该SEI消息类似于第一组方法中的帧组头408。
可以基于如下公开的定义、缩写、语法、以及语义来实现上述第一组方法。未特别提及的方面与最新的PCC Cat2 WD相同。
以下定义适用。
位流:形成编码点云帧和形成一个或多个CPS的相关数据的表示的比特序列。
字节:8比特的序列,其中,作为一个比特值序列写入或读取时,最左边和最右边的比特分别代表最高和最低有效位。
编码PCC序列(coded PCC sequence,CPS):PCC AU序列,按解码顺序包括PCC帧内随机访问图像(intra random access picture,IRAP)AU、随后是零个或多个不是PCC IRAPAU的PCC AU,包括所有后续的PCC AU,止于但不包括任何后续的作为PCC IRAP AU的PCCAU。
解码顺序:解码过程处理语法元素的顺序。
解码过程:本规范(也称为PCC Cat2 WD)中指定的读取位流并从中导出解码点云帧的过程。
帧组头NAL单元(group of frames header NAL unit):PCC NAL单元,其PccNalUnitType等于GOF_HEADER。
PCC AU:根据指定的分类规则相互关联的一组PCC NAL单元,在解码顺序上是连续的,并且包含一个特定呈现时间内的所有PCC NAL单元。
PCC IRAP AU:包含帧组头NAL单元的PCC AU。
PCC NAL单元:一种语法结构,包含要遵循的数据类型的指示,以及包含该数据的字节,该数据的形式为根据需要混合有竞争防止字节(emulationpreventionbyte)的RBSP。
原始字节序列有效载荷(raw byte sequence payload,RBSP):一种语法结构,包含封装在PCC NAL单元中的整数数量的字节,上述字节可以为空,或者其形式为包含语法元素的数据比特串(string of data bit,SODB),SODB后为RBSP停止比特和零比特或多个等于0的后续比特。
原始字节序列有效负载(raw byte sequence payload,RBSP)停止比特:在SODB之后的RBSP中存在的等于1的比特,可以通过从RBSP的末端搜索RBSP停止比特来识别RBSP内的末端位置,停止比特是RBSP中最后一个非零比特。
SODB:一些比特的序列,表示在RBSP停止比特之前的RBSP中存在的语法元素,其中最左边的比特被认为是第一个也是最高有效位,最右边的比特被认为是最后且最低的有效位。
语法元素:位流中表示的数据元素。
语法结构:零个或多个语法元素,以指定的顺序连续地出现在位流中。
视频AU:每个特定视频译码器的访问单元。
视频NAL单元:PccNalUnitType等于GEOMETRY_D0、GEOMETRY_D0、或TEXTURE_NALU的PCC NAL单元。
下列缩写适用:
AU:access unit访问单元
CPS:coded PCC sequence编码PCC序列
IRAP:intra random access point帧内随机访问点
NAL:network abstraction layer网络抽象层
PCC:point cloud coding点云译码
RBSP:raw byte sequence payload原始字节序列有效载荷
SODB:string of data bits数据比特串
下文提供了语法、语义、以及子位流提取过程。就此而言,最新的PCC Cat2 WD的第7.3条中的语法由以下内容代替。
提供了PCC NAL单元语法。特别地,通用的PCC NAL单元语法如下。
Figure GDA0002861157670000131
PCC NAL单元头语法如下。
Figure GDA0002861157670000132
提供了原始字节序列有效载荷、尾随比特、以及字节对齐语法。特别地,帧组RBSP语法如下。
Figure GDA0002861157670000133
辅助信息帧RBSP语法如下。
Figure GDA0002861157670000141
占用图帧RBSP语法如下。
Figure GDA0002861157670000142
Figure GDA0002861157670000151
HEVC规范的第7.3.2.11条中的RBSP尾随比特语法适用。同样,HEVC规范的第7.3.2.12条中的字节对齐语法也适用。PCC配置文件和级别语法如下。
Figure GDA0002861157670000152
最新PCC Cat2 WD的第7.4条中的语义由以下内容及其子条款代替。
通常,在此子条款中指定了与语法结构和这些结构中的语法元素相关联的语义。在使用一个表或一组表来指定语法元素语义的情况下,除非另有说明,表中未指定的任何值都不应出现在位流中。
论及PCC NAL单元语义。对于通用的PCC NAL单元语义,HEVC规范的第7.4.2.1条中的通用NAL单元语义适用。PCC NAL单元头语义如下。
forbidden_zero_bit应等于0。
遵循本规范版本的位流中,pcc_nuh_reserved_zero_2bits应等于0。pcc_nuh_reserved_zero_2bits的其他值保留以供ISO/IEC之后使用。解码器应忽略pcc_nuh_reserved_zero_2bits的值。
pcc_nal_unit_type_plus1减1指定变量PccNalUnitType的值,该变量指定PCCNAL单元中包含的RBSP数据结构的类型,如表1所示(见下文)。变量NalUnitType的指定如下:
PccNalUnitType = pcc_category2_nal_unit_type_plus1–1 (7-1)
具有在UNSPEC25..UNSPEC30(未指定其语义)范围内(包括端值)的nal_unit_type的PCC NAL单元不应影响本规范中指定的解码过程。
注释1-可以如应用确定的,使用UNSPEC25..UNSPEC30范围内的PCC NAL单元类型。本规范未指定PccNalUnitType值的解码过程。由于不同的应用可能出于不同的目的来使用这些PCC NAL单元类型,因此在设计通过这些PccNalUnitType值生成PCC NAL单元的编码器时,以及设计通过这些PccNalUnitType值解释PCC NAL单元的内容的解码器时,需尤为谨慎。本规范未为这些值进行任何定义管理。这些PccNalUnitType值可能仅适用于使用“冲突”(例如,对于同一PccNalUnitType值,PCC NAL单元内容的含义具有不同定义)不重要、或不可能、或被管理(例如,在控制应用或传输规范中进行了定义或管理,或者通过控制位流的分布环境而进行管理)的情况下使用。
除了出于确定位流解码单元中的数据量的目的之外,解码器应忽略(从位流中移除并丢弃)所有使用PccNalUnitType保留值的PCC NAL单元的内容。
注释2–本规范的兼容扩展可以之后再定义。
表1-PCC NAL单元类型码
Figure GDA0002861157670000161
注释3–在每个CPS的第一个PCC AU中出现的帧组头NAL单元中指示所标识的视频译码器(例如,HEVC或AVC)。
提供了(信息性的)RBSP内的SODB的封装。就此而言,HEVC规范的第7.4.2.3条适用。
提供了PCC NAL单元的顺序以及与AU和CPS的关联。通常,本条款指定了对位流中PCC NAL单元的顺序的约束。
遵循这些约束的位流中的PCC NAL单元的任一顺序在本文中称为PCC NAL单元的解码顺序。在不是视频NAL单元的PCC NAL单元内,第7.3条中的语法指定了语法元素的解码顺序。在视频NAL单元内,所标识的视频译码器的规范中指定的语法指定了语法元素的解码顺序。解码器能够按解码顺序接收PCC NAL单元及其语法元素。
提供了PCC NAL单元的顺序及其与PCC AU的关联。
本条款指定PCC NAL单元的顺序及其与PCC AU的关联。
一个PCC AU按照所列出的顺序,包括零个或一个帧组头NAL单元、一个几何d0视频AU、一个几何d1视频AU、一个辅助信息帧NAL单元、一个占用图帧NAL单元、以及一个纹理视频AU。
在所标识的视频译码器(例如,HEVC或AVC)的规范中,指定了NAL单元与视频AU的关联以及视频AU中NAL单元的顺序。在每个CPS的第一PCC AU中存在的帧头NAL单元中指示了所标识的视频译码器。
每个CPS的第一个PCC AU以帧组头NAL单元开始,并且每个帧组头NAL单元指定新的PCC AU的开始。
其他PCC AU以PCC NAL单元开始,该PCC NAL单元包含几何d0视频AU的第一NAL单元。换句话说,当包含几何d0视频AU的第一NAL单元的PCC NAL单元之前未出现帧组头NAL单元时,则开始新的PCC AU。
提供了PCC AU的顺序及其与CPS的关联。
遵循本规范的位流由一个或多个CPS组成。
一个CPS包括一个或多个PCC AU。第7.4.2.4.2条描述了PCC NAL单元的顺序及其与PCC AU的关联。
CPS的第一PCC AU是PCC IRAP AU。
提供了原始字节序列有效载荷、尾随比特、以及字节对齐语义。该帧组头RBSP的语义如下。
identified_codec指定用于对几何分量和纹理分量进行译码的所标识的视频译码器,如表2所示。
表2–identified_codec的规范
identified_codec identified_codec名称 所标识的视频译码器
0 CODEC_HEVC ISO/IEC IS 23008-2(HEVC)
1 CODEC_AVC ISO/IEC IS 14496-10(AVC)
2..63 CODEC_RSV_2..CODEC_RSV_63 保留
frame_width指示几何视频和纹理视频的帧宽度(以像素为单位)。frame_width应该是occupancyResolution的倍数。
frame_height指示几何视频和纹理视频的帧高度(以像素为单位)。frame_height应该是occupancyResolution的倍数。
occupancy_resolution指示水平和垂直分辨率(以像素为单位),在该分辨率下,补丁打包在几何视频和纹理视频中。occupancy_resolution的值应该是occupancyPrecision的偶数倍。
radius_to_smoothing指示检测相邻区域以进行平滑的半径。radius_to_smoothing的值应在0到255之间(包括端值)。
neighbor_count_smoothing指示用于进行平滑的最大相邻区域数。neighbor_count_smoothing的值应在0到255之间(包括端值)。
radius2_boundary_detection指示边界点检测的半径。radius2_boundary_detection的值应在0到255之间(包括端值)。
threshold_smoothing指示平滑阈值。threshold_smoothing的值应在0到255之间(包括端值)。
lossless_geometry指示无损几何译码。lossless_geometry的值等于1指示点云几何信息是以无损的方式进行编码的。lossless_geometry的值等于0指示点云几何信息是以有损的方式进行编码的。
lossless_texture指示无损纹理编码。lossless_texture的值等于1指示点云纹理信息是以无损的方式进行编码的。lossless_texture的值等于0指示点云纹理信息是以有损的方式进行编码的。
no_attributes指示属性是否与几何数据一起编码。no_attributes的值等于1指示所编码的点云位流不包含任何属性信息。no_attributes的值等于0指示所编码的点云位流包含属性信息。
lossless_geometry_444指示几何帧是使用4:2:0视频格式还是使用4:4:4视频格式。lossless_geometry_444的值等于1指示几何视频以4:4:4格式编码。lossless_geometry_444的值等于0指示几何视频以4:2:0格式编码。
absolute_d1_coding指示除了最接近投影平面的层之外的几何层是如何编码的。absolute_d1_coding的值等于1指示对除了最接近投影平面的层之外的几何层的实际几何值进行编码。absolute_d1_coding等于0指示对除了最接近投影平面的层之外的几何层进行差分编码。
bin_arithmetic_coding指示是否使用二进制算术译码。bin_arithmetic_coding的值等于1指示所有语法元素都使用二进制算术译码。bin_arithmetic_coding的值等于0指示某些语法元素使用非二进制算术译码。
gof_header_extension_flag的值等于0指定在该帧组头RBSP语法结构中不存在gof_header_extension_data_flag语法元素。gof_header_extension_flag的值等于1指定在该帧组头RBSP语法结构中存在gof_header_extension_data_flag语法元素。解码器应忽略帧组头NAL单元中gof_header_extension_flag值1之后的所有数据。
gof_header_extension_data_flag可以取任何值。其存在和值不影响解码器的合规性。解码器应忽略所有gof_header_extension_data_flag的语法元素。
提供了辅助信息帧RBSP的语义。
patch_count指示几何视频和纹理视频中的补丁数量。patch_count应大于0。
occupancy_precision是占用图精度的水平和垂直分辨率(以像素为单位)。其对应于所信令通知的占用有关的子块大小。为了实现占用图的无损译码,应将occupancy_precision设置为1。
max_candidate_count指定补丁候选列表中的最大候选数。
bit_count_u0指定patch_u0的定长译码的比特数。
bit_count_v0指定patch_v0的定长译码的比特数。
bit_count_u1指定patch_u1的定长译码的比特数。
bit_count_v1指定patch_v1的定长译码的比特数。
bit_count_d1指定patch_d1的定长译码的比特数。
occupancy_aux_stream_size指定用于译码补丁信息和占用图的字节数。
以下语法元素在每个补丁中指示一次。
patch_u0指定大小为occupancy_resolution×occupancy_resolution的补丁边界框的左上角子块的x坐标。patch_u0的值应在0到frame_width/occupancy_resolution-1之间(包括端值)。
patch_v0指定大小为occupancy_resolution×occupancy_resolution的补丁边界框的左上角子块的y坐标。patch_v0的值应在0到frame_height/occupancy_resolution-1之间(包括端值)。
patch_u1指定补丁点的3D边界框的最小x坐标。patch_u1的值应在0到frame_width-1之间(包括端值)。
patch_v1是补丁点的3D边界框的最小y坐标。patch_v1的值应在0到frameHeight-1之间(包括端值)。
patch_d1指定补丁的最小深度。patch_d1的值应在0到<255?>之间(包括端值)。
delta_size_u0是当前补丁和前一个补丁之间的补丁宽度差。delta_size_u0的值应在<.-65536.?>到<65535?>之间(包括端值)。
delta_size_v0是当前补丁和前一个补丁之间的补丁高度差。delta_size_v0的值应在<-65536?.>到<.65535?.>之间(包括端值)。
normal_axis指定平面投影索引。normal_axis的值应在0到2之间(包括端值)。normal_axis的值0、1、2分别对应于X、Y、Z投影轴。
以下语法元素在每个块中指定一次。
candidate_index是补丁候选列表的索引。candidate_index的值应在0到max_candidate_count之间(包括端值)。
patch_index是以大小降序排列的与帧相关联的已排序补丁列表的索引。
提供了该组帧占用图的语义。
为非空块提供了以下语法元素。
is_full指定大小为occupancy_resolution×occupancy_resolution块的当前占用块是否已满。is_full等于1指定当前块已满。is_full等于0指定当前占用块未满。
best_traversal_order_index指定当前occupancy_resolution×occupancy_resolution块中大小为occupancy_precision×occupancy_precision的子块的扫描顺序。best_traversal_order_index的值应在0到4之间(包括端值)。
run_count_prefix用于变量runCountMinusTwo的导出。
run_count_suffix用于变量runCountMinusTwo的导出。不存在run_count_suffix的情况下,则推断run_count_suffix的值等于0。
特定块的blockToPatch的值不等于0且该块未满的情况下,runCountMinusTwo的值加2表示信令通知的块的游程次数。runCountMinusTwo的值应在0到(occupancy_resolution*occupancy_resolution)-1之间(包括端值)。
runCountMinusTwo如下导出:
runCountMinusTwo = (1<< run_count_prefix) - 1 + run_count_suffix(7-85)
occupancy指定第一子块(具有occupancyPrecision×occupancyPrecision个像素)的占用值。occupancy的值等于0指定第一子块为空。occupancy的值等于1指定第一子块已占用。
run_length_idx指示游程长度。runLengthIdx的值应在0到14之间(包括端值)。
使用表3从run_length_idx导出变量runLength。
表3–从run_length_idx导出runLength
run_length_idx runLength run_length_idx runLength
0 0 8 13
1 1 9 9
2 2 10 6
3 3 11 10
4 7 12 12
5 11 13 4
6 14 14 8
7 5
注意-占用图由几何视频和纹理视频共享。
HEVC规范的第7.4.3.11条中的RBSP尾随比特语义适用。HEVC规范第7.4.3.12条中的字节对齐语义也适用。PCC配置文件和级别语义如下。
pcc_profile_idc指示CPS所符合的附录A中指定的配置文件。位流不得包含pcc_profile_idc的除附录A中指定的之外的值。pcc_profile_idc的其他值保留以供ISO/IEC之后使用。
遵循本规范版本的位流中,pcc_pl_reserved_zero_19bits应等于0。pcc_pl_reserved_zero_19bits的其他值保留以供ISO/IEC之后使用。解码器应忽略pcc_pl_reserved_zero_19bits的值。
pcc_level_idc指示CPS所符合的附录A中指定的级别。位流不得包含pcc_level_idc的除附录A中指定的之外的值。pcc_level_idc的其他值保留以供ISO/IEC之后使用。
在按照第10条规定提取的几何HEVC位流由合规HEVC解码器解码的情况下,hevc_ptl_12bytes_geometry应等于激活SPS中general_profile_idc到general_level_idc之间(包括端值)的12个字节的值。
在按照第10条规定提取的纹理HEVC位流由合规HEVC解码器解码的情况下,hevc_ptl_12bytes_texture应等于激活SPS中general_profile_idc到general_level_idc之间(包括端值)的12个字节的值。
在按照第10条规定提取的几何AVC位流由合规AVC解码器解码的情况下,avc_pl_3ytes_geometry应等于激活SPS中profile_idc到level_idc之间(包括端值)的3个字节的值。
在按照第10条规定提取的几何AVC位流由合规AVC解码器解码的情况下,avc_pl_3ytes_texture应等于激活SPS中profile_idc到level_idc之间(包括端值)的3个字节的值。
最新的PCC Cat2 WD的第104条中的子位流提取过程由以下内容代替。子位流提取过程的输入是位流,几何d0、几何d1、或纹理分量的目标视频分量指示。该过程的输出是子位流。
在一个实施例中,对于输入位流的位流合规性的要求是,作为本条款中指定的具有合规PCC位流的过程的输出的任何输出子位流,以及目标视频分量指示的任何值,应是每个所标识的视频译码器的合规视频位流。
通过以下步骤有序导出输出子位流。
根据目标视频分量指示的值,以下内容适用。
如果指示了几何d0分量,则删除所有PccNalUnitType不等于GEOMETRY_D0的PCCNAL单元。
否则,如果指示了几何d1分量,则删除所有PccNalUnitType不等于GEOMETRY_D1的PCC NAL单元。
否则(指示了纹理分量),删除所有PccNalUnitType不等于TEXTURE_NALU的PCCNAL单元。
对于每个PCC NAL单元,删除第一字节。
下面提供另一实施例。
在如上总结的第一组方法的另一实施例中,PCC NAL单元头(例如,图4中的数据单元头404)的设计使得可以从PCC NAL单元的类型推断出用于译码几何分量和纹理分量的译码器。例如,PCC NAL单元头的设计总结如下:
在PCC NAL单元头中有类型指示符(例如为7比特),该指示符指定在PCC NAL单元有效载荷中携带的内容的类型。例如,根据以下内容确定类型:
0:有效载荷包含HEVC NAL单元
1:有效载荷包含AVC NAL单元
2..63:保留
64:帧组头NAL单元
65:辅助信息NAL单元
66:占用图NAL单元
67..126:保留
具有在0到63之间(包括端值)的PCC NAL单元类型的PCC NAL单元称为视频NAL单元。
可以将一些保留的PCC NAL单元类型用于PCC Cat13数据单元,从而将PCC Cat2和PCC Cat13统一在一个标准规范中。
图5是由视频解码器(例如,视频解码器30)实现的点云译码的方法500的实施例。可以执行方法500以解决与点云译码相关联的一个或多个前述问题。
在框502中,接收编码位流(例如,数据结构400),该编码位流包括不是纹理分量或几何分量的编码表示的一部分或设置在纹理分量或几何分量的编码表示之外的帧组头(例如,帧组头408),并且帧组头标识用于对纹理分量或几何分量进行译码的视频译码器。
在框504中,解码该编码位流。解码的位流可用于生成图像或视频,以在显示设备上显示给用户。
在一个实施例中,编码表示包括在PCC网络抽象层(NAL)单元的有效载荷中。在一个实施例中,PCC NAL单元的有效载荷包含与视频译码器对应的几何分量。在一个实施例中,PCC NAL单元的有效载荷包含与视频译码器对应的纹理分量。
在一个实施例中,视频译码器是高效视频译码(HEVC)。在一个实施例中,视频译码器是高级视频译码(AVC)。在一个实施例中,视频译码器是通用视频译码(VVC)。在一个实施例中,视频译码器是基本视频译码(EVC)。
在一个实施例中,几何分量包括与点云帧相关联的一组坐标。在一个实施例中,该组坐标是笛卡尔坐标。
在一个实施例中,纹理分量包括点云帧的一组亮度样本值。
图6是由视频编码器(例如,视频编码器20)实现的点云译码的方法600的实施例。可以执行方法600以解决与点云译码相关联的一个或多个前述问题。
在框602中,生成包括帧组头(例如,帧组头408)的编码位流(例如,数据结构400)。该帧组头设置在纹理分量或几何分量的编码表示之外,并标识用于对纹理分量或几何分量进行译码的视频译码器。
在框604中,将编码位流发送到解码器(例如,视频解码器30)。一旦解码器接收到编码位流,可以对编码位流进行解码以生成图像或视频,以在显示设备上显示给用户。
在一个实施例中,编码表示包括在PCC网络抽象层(NAL)单元的有效载荷中。在一个实施例中,PCC NAL单元的有效载荷包含与视频译码器对应的几何分量。在一个实施例中,PCC NAL单元的有效载荷包含与视频译码器对应的纹理分量。
在一个实施例中,视频译码器是高效视频译码(HEVC)。在一个实施例中,视频译码器是高级视频译码(AVC)。在一个实施例中,视频译码器是通用视频译码(VVC)。在一个实施例中,视频译码器是基本视频译码(EVC)。
在一个实施例中,几何分量包括与点云帧相关联的一组坐标。在一个实施例中,该组坐标是笛卡尔坐标。
在一个实施例中,纹理分量包括点云帧的一组亮度样本值。
图7是根据本公开的实施例的视频译码设备700(例如,视频编码器20、视频解码器30等)的示意图。视频译码设备700适用于实现本公开的方法及过程。视频译码设备700包括用于接收数据的入口端口710和接收器单元(Rx)720;用于处理数据的处理器、逻辑单元、或中央处理单元(central processing unit,CPU)730;用于发送数据的发射器单元(Tx)740和出口端口750;以及用于存储数据的存储器760。视频译码设备700还可以包括连接到入口端口710、接收器单元720、发射器单元740、以及出口端口750的用于光信号或电信号的输出或输入的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件。
处理器730由硬件和软件实现。处理器730可以通过一个或多个CPU芯片、核(例如,作为多核处理器)、现场可编程门阵列(FPGA),专用集成电路(ASIC)、以及数字信号处理器(DSP)来实现。处理器730与入口端口710、接收器单元720、发射器单元740、出口端口750、以及存储器760通信。处理器730包括译码模块770。译码模块770实现本公开上述的实施例。因此,包含译码模块770对译码设备700的功能提供了实质性的改进,并且实现了视频译码设备700到不同状态的转换。可选的,译码模块770实现为存储在存储器760中并由处理器730执行的指令。
视频译码设备700还可以包括用于与用户进行数据通信的输入和/或输出(input/output,I/O)设备780。该输入/输出设备780可以包括输出设备,例如用于显示视频数据的显示器、用于输出音频数据的扬声器等。输入/输出设备780还可以包括输入设备,例如键盘、鼠标、轨迹球等,和/或用于与上述输出设备交互的相应接口。
存储器760包括一个或多个磁盘、磁带驱动器、以及固态驱动器,并且可以用作溢出数据存储设备,以在选择执行程序时存储这些程序,并且在程序执行期间存储读取的指令和数据。存储器760可以是易失性和非易失性的,并且可以是只读存储器(read-onlymemory,ROM)、随机存取存储器(random-access memory,RAM)、三态内容可寻址存储器(ternary content-addressable memory,TCAM)、以及静态随机存取存储器(staticrandom-access memory,SRAM)。
图8是译码装置800的实施例的示意图。在一个实施例中,译码装置800在视频译码设备802(例如,视频编码器20或视频解码器30)中实现。视频译码设备802包括接收装置801。接收装置801用于接收待编码的图片或接收待解码的位流。视频译码设备802包括连接到接收装置801的发送装置807。发送装置807用于将位流发送到解码器或将解码图像发送到显示装置(例如I/O设备780之一)。
视频译码设备802包括存储装置803。存储装置803连接到接收装置801或发送装置807中的至少一个。存储装置803用于存储指令。视频译码设备802还包括处理装置805。处理装置805连接到存储装置803。处理装置805用于执行存储在存储装置803中的指令,以执行本公开的方法。
虽然本公开中已经提供了多个实施例,但是应理解,在不脱离本公开的精神或范围的情况下,可以以许多其他特定形式来实现所公开的系统和方法。本示例视为示例性而非限制性的,并且本发明不限于本文给出的细节。例如,可以将各种元件或部件组合或集成在另一系统中,或者可以省略或不实现某些特征。
此外,在不脱离本公开的范围的情况下,各种实施例中描述并示出为离散或分离的技术、系统、子系统、以及方法可以与其他系统、模块、技术、或方法组合或集成。本领域技术人员可以在不脱离本文公开的精神和范围的情况下确定并做出改变、替换、以及变更的其他示例。

Claims (13)

1.一种由视频解码器实现的点云译码(PCC)方法,其特征在于,包括:
接收编码位流,所述编码位流包括纹理分量和几何分量的编码表示和帧组头,所述帧组头包括译码器标识,所述译码器标识用于标识用于对所述纹理分量和所述几何分量进行译码的视频译码器;以及
解码所述编码位流。
2.一种由视频编码器实现的点云译码(PCC)的方法,其特征在于,包括:
生成编码位流,所述编码位流包括纹理分量和几何分量的编码表示和帧组头,所述帧组头包括译码器标识,所述译码器标识用于标识用于对所述纹理分量和所述几何分量进行译码的视频译码器;以及
将所述编码位流发送到解码器。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述帧组头包括:
第一译码器标识符,所述第一译码器标识符用于指示用于对所述纹理分量和几何分量进行译码的第一视频译码器;或
第二译码器标识符,所述第二译码器标识符用于指示用于对所述纹理分量和几何分量进行译码的第二视频译码器。
4.根据权利要求1至2中任一项所述的方法,其特征在于,所述编码表示包括在所述编码位流的数据单元的有效载荷中。
5.根据权利要求4所述的方法,其特征在于,所述编码位流的所述数据单元的所述有效载荷包含与所述视频译码器对应的所述几何分量。
6.根据权利要求4所述的方法,其特征在于,所述编码位流的所述数据单元的所述有效载荷包含与所述视频译码器对应的所述纹理分量。
7.根据权利要求4所述的方法,其特征在于,所述编码位流还包括占用信息的编码表示。
8.根据权利要求1至2中任一项所述的方法,其特征在于,所述视频译码器包括高效视频译码(HEVC)、高级视频译码(AVC)、通用视频译码(VVC)、以及基本视频译码(EVC)中的至少一个。
9.根据权利要求1至2中任一项所述的方法,其特征在于,所述几何分量包括与点云帧相关联的一组坐标。
10.根据权利要求9所述的方法,其特征在于,所述一组坐标是笛卡尔坐标。
11.根据权利要求1至2中任一项所述的方法,其特征在于,所述纹理分量包括点云帧的一组亮度样本值。
12.一种译码装置,其特征在于,包括:
接收器,用于接收图片进行编码或接收位流进行解码;
发射器,连接至所述接收器,所述发射器用于将所述位流发送到解码器或将解码图像发送到显示器;
存储器,连接至所述接收器或所述发射器中的至少一个,所述存储器用于存储指令;以及
处理器,连接至所述存储器,所述处理器用于执行所述存储器中存储的所述指令,以执行权利要求1至10中任一项所述的方法。
13.根据权利要求12所述的译码装置,其特征在于,还包括用于显示图像的显示器。
CN201980043451.4A 2018-06-26 2019-04-11 用于点云译码的高级语法设计 Active CN112385221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210978056.9A CN115665104A (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862690132P 2018-06-26 2018-06-26
US62/690,132 2018-06-26
PCT/US2019/027067 WO2020005365A1 (en) 2018-06-26 2019-04-11 High-level syntax designs for point cloud coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210978056.9A Division CN115665104A (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计

Publications (2)

Publication Number Publication Date
CN112385221A CN112385221A (zh) 2021-02-19
CN112385221B true CN112385221B (zh) 2022-08-26

Family

ID=68985126

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202210978056.9A Pending CN115665104A (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计
CN201980043462.2A Active CN112368990B (zh) 2018-06-26 2019-04-11 由视频解码器、视频编码器实现的点云译码方法及装置
CN201980043452.9A Active CN112438047B (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计
CN201980043451.4A Active CN112385221B (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CN202210978056.9A Pending CN115665104A (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计
CN201980043462.2A Active CN112368990B (zh) 2018-06-26 2019-04-11 由视频解码器、视频编码器实现的点云译码方法及装置
CN201980043452.9A Active CN112438047B (zh) 2018-06-26 2019-04-11 用于点云译码的高级语法设计

Country Status (8)

Country Link
US (5) US20210112278A1 (zh)
EP (3) EP3804319A4 (zh)
JP (6) JP7287745B2 (zh)
KR (4) KR102486256B1 (zh)
CN (4) CN115665104A (zh)
BR (3) BR112020026646A2 (zh)
SG (3) SG11202012940XA (zh)
WO (3) WO2020005363A1 (zh)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897269B2 (en) 2017-09-14 2021-01-19 Apple Inc. Hierarchical point cloud compression
US11818401B2 (en) 2017-09-14 2023-11-14 Apple Inc. Point cloud geometry compression using octrees and binary arithmetic encoding with adaptive look-up tables
US10861196B2 (en) 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11113845B2 (en) 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10909725B2 (en) 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US10699444B2 (en) 2017-11-22 2020-06-30 Apple Inc Point cloud occupancy map compression
US10607373B2 (en) 2017-11-22 2020-03-31 Apple Inc. Point cloud compression with closed-loop color conversion
US11010928B2 (en) 2018-04-10 2021-05-18 Apple Inc. Adaptive distance based point cloud compression
US10909726B2 (en) 2018-04-10 2021-02-02 Apple Inc. Point cloud compression
US10939129B2 (en) 2018-04-10 2021-03-02 Apple Inc. Point cloud compression
US10909727B2 (en) 2018-04-10 2021-02-02 Apple Inc. Hierarchical point cloud compression with smoothing
US11017566B1 (en) 2018-07-02 2021-05-25 Apple Inc. Point cloud compression with adaptive filtering
US11202098B2 (en) 2018-07-05 2021-12-14 Apple Inc. Point cloud compression with multi-resolution video encoding
US11012713B2 (en) 2018-07-12 2021-05-18 Apple Inc. Bit stream structure for compressed point cloud data
KR20210040962A (ko) * 2018-08-08 2021-04-14 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 3차원 데이터 부호화 방법, 3차원 데이터 복호 방법, 3차원 데이터 부호화 장치, 및 3차원 데이터 복호 장치
KR102589477B1 (ko) * 2018-09-14 2023-10-13 후아웨이 테크놀러지 컴퍼니 리미티드 포인트 클라우드 코딩에서 개선된 속성 계층 및 시그널링
US11386524B2 (en) 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
US11367224B2 (en) * 2018-10-02 2022-06-21 Apple Inc. Occupancy map block-to-patch information compression
US11430155B2 (en) 2018-10-05 2022-08-30 Apple Inc. Quantized depths for projection point cloud compression
US11348284B2 (en) 2019-01-08 2022-05-31 Apple Inc. Auxiliary information signaling and reference management for projection-based point cloud compression
US11057564B2 (en) 2019-03-28 2021-07-06 Apple Inc. Multiple layer flexure for supporting a moving image sensor
US11627314B2 (en) 2019-09-27 2023-04-11 Apple Inc. Video-based point cloud compression with non-normative smoothing
US11562507B2 (en) 2019-09-27 2023-01-24 Apple Inc. Point cloud compression using video encoding with time consistent patches
US11538196B2 (en) 2019-10-02 2022-12-27 Apple Inc. Predictive coding for point cloud compression
US11895307B2 (en) 2019-10-04 2024-02-06 Apple Inc. Block-based predictive coding for point cloud compression
WO2021068923A1 (en) 2019-10-10 2021-04-15 Beijing Bytedance Network Technology Co., Ltd. Deblocking filtering improvements
JP7425207B2 (ja) * 2020-01-07 2024-01-30 エルジー エレクトロニクス インコーポレイティド ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法
US11593967B2 (en) 2020-01-08 2023-02-28 Samsung Electronics Co., Ltd. Attribute transfer in V-PCC
US11356706B2 (en) 2020-01-08 2022-06-07 Qualcomm Incorporated Storage and delivery of video data for video coding
EP4075797A4 (en) * 2020-01-08 2023-05-31 LG Electronics Inc. POINT CLOUD DATA TRANSMITTING DEVICE, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING DEVICE AND POINT CLOUD DATA RECEIVING METHOD
US11798196B2 (en) 2020-01-08 2023-10-24 Apple Inc. Video-based point cloud compression with predicted patches
US11625866B2 (en) 2020-01-09 2023-04-11 Apple Inc. Geometry encoding using octrees and predictive trees
KR102373833B1 (ko) * 2020-01-09 2022-03-14 엘지전자 주식회사 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11317117B2 (en) * 2020-03-30 2022-04-26 Tencent America LLC Method of coding attributes for point cloud coding
EP4135320A4 (en) 2020-04-11 2024-06-12 Lg Electronics Inc DEVICE AND METHOD FOR TRANSMITTING POINT CLOUD DATA, DEVICE AND METHOD FOR RECEIVING POINT CLOUD DATA
US11615557B2 (en) 2020-06-24 2023-03-28 Apple Inc. Point cloud compression using octrees with slicing
US11620768B2 (en) 2020-06-24 2023-04-04 Apple Inc. Point cloud geometry compression using octrees with multiple scan orders
US11816868B2 (en) * 2020-08-14 2023-11-14 Tencent America LLC Coding of multiple-component attributes for point cloud coding
US20230345008A1 (en) * 2020-10-30 2023-10-26 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US20220180567A1 (en) 2020-12-04 2022-06-09 Tencent America LLC Method and apparatus for point cloud coding
US20220179082A1 (en) * 2020-12-08 2022-06-09 Argo AI, LLC Methods and system for analyzing dynamic lidar point cloud data
US11948338B1 (en) 2021-03-29 2024-04-02 Apple Inc. 3D volumetric content encoding using 2D videos and simplified 3D meshes
WO2023054156A1 (ja) * 2021-09-29 2023-04-06 ソニーグループ株式会社 情報処理装置および方法
CN118119974A (zh) * 2021-09-30 2024-05-31 浙江大学 编解码方法、编码器、解码器以及存储介质
WO2023090614A1 (ko) * 2021-11-19 2023-05-25 현대자동차주식회사 라이다 포인트 클라우드 코딩을 위한 방법 및 장치
WO2023131131A1 (en) * 2022-01-04 2023-07-13 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for point cloud coding
WO2024064043A1 (en) * 2022-09-19 2024-03-28 Innopeak Technology, Inc. Point cloud decoding method, point cloud encoding method, decoder and encoder
JP2024058010A (ja) * 2022-10-13 2024-04-25 Kddi株式会社 メッシュ復号装置、メッシュ符号化装置、メッシュ復号方法及びプログラム

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100735359B1 (ko) * 2005-07-04 2007-07-04 삼성전자주식회사 디지털 멀티미디어 방송시스템에서의 데이터 송수신 장치및 방법
US8798148B2 (en) * 2007-06-15 2014-08-05 Physical Optics Corporation Apparatus and method employing pre-ATR-based real-time compression and video frame segmentation
US8204313B2 (en) * 2007-08-30 2012-06-19 Leica Geosystems Ag Rapid, spatial-data viewing and manipulating including data partition and indexing
US20110090921A1 (en) 2008-07-01 2011-04-21 Shemimon Manalikudy Anthru Network abstraction layer (nal)-aware multiplexer
EP2606649A4 (en) * 2010-08-19 2016-05-04 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING AND DECODING MULTILAYER VIDEOS
US9060174B2 (en) 2010-12-28 2015-06-16 Fish Dive, Inc. Method and system for selectively breaking prediction in video coding
JP6094973B2 (ja) * 2011-05-20 2017-03-15 サン パテント トラスト 色平面内予測を用いて映像を符号化および復号する方法および装置
US20130188013A1 (en) 2011-07-22 2013-07-25 Qualcomm Incorporated Mvc based 3dvc codec supporting inside view motion prediction (ivmp) mode
KR20140057373A (ko) * 2011-08-30 2014-05-12 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9432665B2 (en) * 2011-12-02 2016-08-30 Qualcomm Incorporated Coding least significant bits of picture order count values identifying long-term reference pictures
US10447990B2 (en) * 2012-02-28 2019-10-15 Qualcomm Incorporated Network abstraction layer (NAL) unit header design for three-dimensional video coding
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
SG10201510803WA (en) 2012-06-11 2016-01-28 Samsung Electronics Co Ltd Method and Apparatus for Encoding Videos Sharing SAO Parameter According to Color Component
US9602827B2 (en) * 2012-07-02 2017-03-21 Qualcomm Incorporated Video parameter set including an offset syntax element
US20140037005A1 (en) 2012-08-02 2014-02-06 Penne Y. LEE Transcoding video data
KR102046757B1 (ko) 2012-09-28 2019-11-19 소니 주식회사 화상 처리 장치 및 방법
US9615090B2 (en) * 2012-12-28 2017-04-04 Qualcomm Incorporated Parsing syntax elements in three-dimensional video coding
US9900609B2 (en) 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
KR102153539B1 (ko) * 2013-09-05 2020-09-08 한국전자통신연구원 영상 처리 장치 및 방법
EP3050294A4 (en) 2013-09-27 2017-08-09 Qualcomm Incorporated Residual coding for depth intra prediction modes
US10104362B2 (en) 2013-10-08 2018-10-16 Sharp Kabushiki Kaisha Image decoding device, image coding device, and coded data
GB2531271A (en) 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
US9955159B2 (en) 2014-10-31 2018-04-24 Google Llc Multi-video decoding with input switching
CN104484852A (zh) * 2014-11-19 2015-04-01 温州大学 一种点云曲面的复合几何图像表示方法
GB2539461B (en) 2015-06-16 2020-01-08 Canon Kk Image data encapsulation
US9646410B2 (en) * 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
US10798422B2 (en) * 2015-10-20 2020-10-06 Intel Corporation Method and system of video coding with post-processing indication
WO2017082079A1 (ja) * 2015-11-11 2017-05-18 ソニー株式会社 画像処理装置および画像処理方法
US10482196B2 (en) * 2016-02-26 2019-11-19 Nvidia Corporation Modeling point cloud data using hierarchies of Gaussian mixture models
CN105992008B (zh) * 2016-03-30 2019-08-30 南京邮电大学 一种在多核处理器平台上的多层次多任务并行解码方法
US11025882B2 (en) * 2016-04-25 2021-06-01 HypeVR Live action volumetric video compression/decompression and playback
EP3249921A1 (en) * 2016-05-24 2017-11-29 Thomson Licensing Method, apparatus and stream for immersive video format
GB2550604A (en) 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
US11297346B2 (en) * 2016-05-28 2022-04-05 Microsoft Technology Licensing, Llc Motion-compensated compression of dynamic voxelized point clouds
US10223810B2 (en) * 2016-05-28 2019-03-05 Microsoft Technology Licensing, Llc Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
TWI775760B (zh) 2016-07-08 2022-09-01 美商Vid衡器股份有限公司 使用幾何投影360度視訊編碼
US20180053324A1 (en) * 2016-08-19 2018-02-22 Mitsubishi Electric Research Laboratories, Inc. Method for Predictive Coding of Point Cloud Geometries
US10271069B2 (en) * 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
WO2018083378A1 (en) * 2016-11-01 2018-05-11 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
US10909725B2 (en) * 2017-09-18 2021-02-02 Apple Inc. Point cloud compression
US11900639B2 (en) 2018-01-19 2024-02-13 Interdigital Vc Holdings, Inc. Processing a point cloud
EP3759925A4 (en) 2018-03-01 2021-11-10 Nokia Technologies Oy DEVICE, METHOD AND COMPUTER PROGRAM FOR VOLUMETRIC VIDEO
US10939129B2 (en) * 2018-04-10 2021-03-02 Apple Inc. Point cloud compression

Also Published As

Publication number Publication date
CN112438047A (zh) 2021-03-02
CN115665104A (zh) 2023-01-31
EP3804275A4 (en) 2021-05-05
SG11202012942TA (en) 2021-01-28
US20210112281A1 (en) 2021-04-15
KR20230031992A (ko) 2023-03-07
US20210112280A1 (en) 2021-04-15
KR102486256B1 (ko) 2023-01-06
JP2023120197A (ja) 2023-08-29
US20210112278A1 (en) 2021-04-15
WO2020005365A8 (en) 2020-10-08
CN112368990B (zh) 2022-09-23
KR20210021072A (ko) 2021-02-24
KR20210022090A (ko) 2021-03-02
EP3804319A4 (en) 2021-06-30
WO2020005363A1 (en) 2020-01-02
JP2021528917A (ja) 2021-10-21
US20230328291A1 (en) 2023-10-12
BR112020026591A2 (pt) 2021-03-23
EP3804319A1 (en) 2021-04-14
JP2022165994A (ja) 2022-11-01
WO2020005364A1 (en) 2020-01-02
KR102486371B1 (ko) 2023-01-06
SG11202012937WA (en) 2021-01-28
JP7116199B2 (ja) 2022-08-09
CN112385221A (zh) 2021-02-19
WO2020005365A1 (en) 2020-01-02
JP2022160530A (ja) 2022-10-19
JP7287745B2 (ja) 2023-06-06
CN112368990A (zh) 2021-02-12
US11856230B2 (en) 2023-12-26
EP3804275B1 (en) 2023-03-01
EP3804320A4 (en) 2021-06-30
BR112020026646A2 (pt) 2021-03-23
KR20210022100A (ko) 2021-03-02
EP3804275A1 (en) 2021-04-14
JP2021529460A (ja) 2021-10-28
SG11202012940XA (en) 2021-01-28
US20240196017A1 (en) 2024-06-13
BR112020026618A2 (pt) 2021-03-30
EP3804320A1 (en) 2021-04-14
CN112438047B (zh) 2022-08-09
JP2021530889A (ja) 2021-11-11
US11706458B2 (en) 2023-07-18
JP7111846B2 (ja) 2022-08-02

Similar Documents

Publication Publication Date Title
CN112385221B (zh) 用于点云译码的高级语法设计
WO2020146341A1 (en) Point cloud bitstream structure and auxiliary information differential coding
CN114009051A (zh) 用于v-pcc的假设参考解码器
US11973987B2 (en) Efficient patch rotation in point cloud coding
US12002243B2 (en) Patch data unit coding and decoding for point-cloud coding

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