CN112771884B - 具有多个机位的虚拟现实内容的沉浸式媒体度量 - Google Patents

具有多个机位的虚拟现实内容的沉浸式媒体度量 Download PDF

Info

Publication number
CN112771884B
CN112771884B CN201980025713.4A CN201980025713A CN112771884B CN 112771884 B CN112771884 B CN 112771884B CN 201980025713 A CN201980025713 A CN 201980025713A CN 112771884 B CN112771884 B CN 112771884B
Authority
CN
China
Prior art keywords
metric
video
media
media content
component
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
CN201980025713.4A
Other languages
English (en)
Other versions
CN112771884A (zh
Inventor
王业奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112771884A publication Critical patent/CN112771884A/zh
Application granted granted Critical
Publication of CN112771884B publication Critical patent/CN112771884B/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/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/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Optics & Photonics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种由客户端设备实现的360度(360°)流式传输方法。所述方法包括:所述客户端设备从内容服务器接收媒体描述文件(media presentation description,MPD),其中,所述MPD文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应;根据接收的所述MPD文件,所述客户端设备发送对一部分所述媒体内容的请求;所述客户端设备接收所请求的所述媒体内容的所述部分;所述客户端设备使用所接收的所述媒体内容的所述部分呈现视角,其中,所述视角属于所述多个机位中的一个机位;所述客户端设备生成包括机位标识符的度量,其中,所述机位标识符标识所呈现的所述视角所属的所述机位。

Description

具有多个机位的虚拟现实内容的沉浸式媒体度量
相关申请案交叉申请
本专利申请要求王业奎在2018年4月13日递交的发明名称为“具有多个机位的虚拟现实内容的沉浸式媒体度量(Immersive Media Metrics for Virtual RealityContent With Multiple Viewpoints)”的第62/657,324号美国临时专利申请的权益,其全部内容通过引用结合在本申请中。
技术领域
本发明大体涉及虚拟现实(virtual reality,VR),也称为全向媒体、沉浸式媒体和360度视频,具体涉及具有多个机位的虚拟现实内容的沉浸式媒体度量。
背景技术
虚拟现实(virtual reality,VR)是指通过呈现与沉浸用户的动作相关联的自然和/或合成图像和声音所创建的虚拟世界,使用户可以与虚拟世界进行交互,从而真实置身于虚拟世界中的能力。随着最近在呈现设备,如头戴式显示器(head mounted display,HMD)和VR视频(通常也称为360度视频或全向视频)创建方面取得的进展,可以提供高质量的体验。VR应用包括游戏、培训、教育、体育视频、网上购物、成人娱乐等等。
发明内容
第一方面涉及一种由客户端设备实现的360度(360°)流式传输方法。所述方法包括:所述客户端设备从内容服务器接收媒体描述文件(media presentation description,MPD),其中,所述MPD文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应;根据接收的所述MPD文件,所述客户端设备发送对一部分所述媒体内容的请求;所述客户端设备接收所请求的所述媒体内容的所述部分;所述客户端设备使用所接收的所述媒体内容的所述部分呈现视角,其中,所述视角属于所述多个机位中的一个机位;所述客户端设备生成包括机位标识符的度量,其中,所述机位标识符标识所呈现的所述视角所属的所述机位。
第二方面涉及一种由内容服务器实现的360度(360°)流式传输方法。所述方法包括:所述内容服务器将媒体描述文件(media presentation description,MPD)发送给客户端设备,其中,所述MPD文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应;根据发送的所述MPD文件,所述内容服务器接收对一部分所述媒体内容的请求;所述内容服务器发送所请求的所述媒体内容的所述部分;所述内容服务器接收包括机位标识符的度量,其中,所述机位标识符从所述多个机位中标识所述客户端设备呈现的视角所属的一个机位。
这些方法促进了信号发送技术的发展,所述信号发送技术改进了视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
根据所述第一或第二方面,在所述方法的第一种实现方式中,所述客户端设备为头戴式显不器(head mounted display,HMD)。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第二种实现方式中,所述内容服务器为超文本传输协议(hypertext transportprotocol,HTTP)内容服务器或可扩展标记语言(Extensible Markup Language,XML)服务器。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第三种实现方式中,所述度量为呈现视角度量。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第四种实现方式中,所述度量为视角切换时延度量。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第五种实现方式中,所述度量为可比质量视角切换时延度量。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第六种实现方式中,所述度量为推荐视角命中度量。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第七种实现方式中,所述机位标识符包括机位ID入口entry。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第八种实现方式中,所述视角指示在呈现时呈现的媒体内容区域。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第九种实现方式中,所述媒体内容为虚拟现实(virtual reality,VR)媒体内容。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十种实现方式中,所述媒体内容为全向媒体内容。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十一种实现方式中,所述度量为视角相关沉浸式媒体度量。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十二种实现方式中,所述机位标识符指示与所述度量相关的一个机位。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十三种实现方式中,所述机位标识符包括所述度量的入口entry。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十四种实现方式中,所述机位标识符包括所述度量的关键列中的入口entry。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十五种实现方式中,所述机位标识符包括整数。
根据所述第一或第二方面或所述第一或第二方面的任一上述实现方式,在所述方法的第十六种实现方式中,所述机位标识符包括所述度量的类型列中的整数。
第三方面涉及一种译码装置,包括:接收器,用于接收图像进行编码或接收码流进行解码;与所述接收器耦合的发射器,其中,所述发射器用于将所述码流发送给解码器或将解码图像发送给显示器;与所述接收器或所述发射器中的至少一个耦合的存储器,其中,所述存储器用于存储指令;与所述存储器耦合的处理器,其中,所述处理器用于执行存储在所述存储器中的所述指令以执行上述方面或实现方式中任一项所述的方法。
所述译码装置促进了信号发送技术的发展,所述信号发送技术改进了视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
在根据所述第三方面的所述装置的第一种实现方式中,所述装置还包括用于显示图像的显示器。
第四方面涉及一种系统,包括编码器和与所述编码器通信的解码器。所述编码器或所述解码器包括上述方面或实现方式中任一项的译码装置。
所述系统促进了信号发送技术的发展,所述信号发送技术改进了视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
第五方面涉及一种译码模块,包括:接收模块,用于接收图像进行编码或接收码流进行解码;与所述接收模块耦合的发射模块,其中,所述发射模块用于将所述码流发送给解码器或将解码图像发送给显示模块;与所述接收模块或所述发射模块中的至少一个耦合的存储模块,其中,所述存储模块用于存储指令;与所述存储模块耦合的处理模块,其中,所述处理模块用于执行存储在所述存储模块中的所述指令以执行上述方面或实现方式中任一项所述的方法。
所述译码模块促进了信号发送技术的发展,所述信号发送技术改进了视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
本文公开的特征可以用于改进视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
为了清楚起见,上述任一实施例可以与上述其它实施例中的任意一个或多个实施例组合,在本发明的范围内产生新的实施例。
结合附图和权利要求,根据以下详细说明将能更清楚地理解这些以及其它特征。
附图说明
为了更全面地理解本发明,现结合附图和具体实施方式,进行以下简要说明,其中相同附图标记表示相同部件。
图1为用于VR视频编码的示例性系统的示意图。
图2为对VR图像码流进行编码的示例性方法的流程图。
图3为对视频信号进行编码的示例性方法的流程图。
图4为用于视频译码的示例性编码和解码(编解码)系统的示意图。
图5为示例性视频编码器的示意图。
图6为示例性视频解码器的示意图。
图7为在多个位置进行VR采集的示例的示意图。
图8示出了客户端设备实现的视频译码方法的实施例。
图9示出了内容服务器实现的视频译码方法的实施例。
图10为示例性视频译码设备的示意图。
图11为译码模块的实施例的示意图。
具体实施方式
首先应理解,尽管下文提供了一个或多个实施例的说明性实现方式,但所公开的系统和/或方法可使用任何数量的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
视频编码标准包括国际电联电信标准化部门(InternationalTelecommunication Union Telecommunication Standardization Sector,ITU-T)文档H.261,国际标准化组织/国际电工委员会(International Organization forStandardization/International Electrotechnical Commission,ISO/IEC)运动图像专家组(Motion Picture Experts Group,MPEG)-1第2部分、ITU-TH.262或ISO/IEC MPEG-2第2部分、ITU-T H.263、ISO/IEC MPEG-4第2部分、先进的视频编码(Advanced Video Coding,AVC)(也称为ITU-T H.264或ISO/IEC MPEG-4第10部分),以及高效视频编码(HighEfficiency Video Coding,HEVC)(也称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级的视频编码(Scalable Video Coding,SVC)、多视点视频编码(Multiview Video Coding,MVC)和多视点加深度视频编码(MultiviewVideo Codingplus Depth,MVC+D)以及三维(three dimensional,3D)AVC(three dimensional AVC,3D-AVC)等扩展。HEVC包括可分级的HEVC(Scalable HEVC,SHVC)、多视点HEVC(Multiview HEVC,MV-HEVC)和3D HEVC(3D-HEVC)等扩展。
文件格式标准包括ISO基本媒体文件格式(ISO base media file format,ISOBMFF)(ISO/IEC 14496-12,下文称为“ISO/IEC 14996-12”)和源自ISOBMFF的其它文件格式标准,包括MPEG-4文件格式(ISO/IEC 14496-14)、第三代合作伙伴计划(3rdGeneration Partnership Project,3GPP)文件格式(3GPP TS 26.244)和AVC文件格式(ISO/IEC 14496-15,下文称为“ISO/IEC 14996-15”)。因此,ISO/IEC 14496-12规定了ISO基本媒体文件格式。其它文档为特定应用扩展了ISO基本媒体文件格式。例如,ISO/IEC14496-15描述了ISO基本媒体文件格式的网络抽象层(Network Abstraction Layer,NAL)单元结构化视频的封装。H.264/AVC和HEVC及其扩展是NAL单元结构化视频的示例。ISO/IEC14496-15包括描述H.264/AVC NAL单元封装的章节。此外,ISO/IEC 14496-15的第8节描述了HEVCNAL单元的封装。因此,称ISO/IEC 14496-15的第8节描述了HEVC文件格式。
将ISOBMFF作为许多编解码封装格式(如AVC文件格式)以及许多多媒体容器格式(如MPEG-4文件格式、3GPP文件格式和DVB文件格式)的基础。除了音频和视频等连续媒体以外,可以将图像等静态媒体以及元数据存储在符合ISOBMFF的文件中。根据ISOBMFF创建的文件可以用于许多目的,包括播放本地媒体文件、渐进式下载远程文件、超文本传输协议(Hyper Text Transfer Protocol,HTTP)动态自适应流媒体(Dynamic AdaptiveStreaming over Hyper Text Transfer Protocol,DASH)的片段、待流式传输的内容的容器以及对应的打包指令,以及记录接收的实时媒体流。因此,尽管ISOBMFF是为了存储设计的,但ISOBMFF可以用于流式传输,例如用于渐进式下载或DASH。可以对按照ISOBMFF格式定义的影片片段进行流式传输。除了音频和视频等连续媒体以外,可以将图像等静态媒体以及元数据存储在符合ISOBMFF的文件中。
符合HEVC文件格式的文件可以包括一系列称为盒子的对象。盒子可以是面向对象的构建块,该构建块由唯一类型标识符和长度定义。盒子是ISOBMFF中的基本语法结构,可以包括四字符编码的盒子类型、盒子的字节数和有效载荷。因此,盒子可以是包括编码的盒子类型、盒子的字节数和有效载荷的语法结构。在一些示例中,符合HEVC文件格式的文件中的所有数据都可以包括在盒子中,并且文件中可能不存在盒子中不包括的数据。因此,ISOBMFF文件可以包括一系列盒子,而这些盒子可以包括其它盒子。例如,盒子的有效载荷可以包括一个或多个附加盒子。
符合ISOBMFF的文件可以包括各种类型的盒子。例如,符合ISOBMFF的文件可以包括文件类型盒子、媒体数据盒子、影片盒子、影片片段盒子等等。在该示例中,文件类型盒子包括文件类型和兼容性信息。媒体数据盒子可以包括样本(例如,编码图像)。影片盒子(“moov”)包括文件中存在的多个连续媒体流的元数据。每个连续媒体流可以在文件中表示为一个轨迹。例如,影片盒子可以包括关于影片的元数据(例如,样本之间的逻辑和时序关系,以及指向样本位置的指针)。影片盒子可以包括几种类型的子盒。影片盒子中的子盒可以包括一个或多个轨迹盒子。轨迹盒子可以包括影片的单个轨迹的信息。轨迹盒子可以包括指示单个轨迹的整体信息的轨迹头盒子。另外,轨迹盒子可以包括媒体盒子,该媒体盒子包括媒体信息盒子。该媒体信息盒子可以包括样本表盒子,该样本表盒子包括用于对轨迹中的媒体样本进行索引的数据。样本表盒子中的信息可以用于及时定位样本,以及轨迹的每个样本的类型、大小、容器和到该样本的容器中的偏移量。因此,将轨迹的元数据封装在轨迹盒子(“trak”)中,而将轨迹的媒体内容封装在媒体数据盒子(“mdat”)中或直接封装在单独的文件中。轨迹的媒体内容包括一系列样本(音频或视频存取单元),或由这些样本组成。
ISOBMFF指定以下类型的轨迹:媒体轨迹,包括基本媒体流;提示轨迹,包括媒体传输指令或表示接收的包数据流;时间元数据轨迹,包括时间同步元数据。每个轨迹的元数据包括样本描述入口entry的列表,每个样本描述入口entry提供轨迹中使用的编码或封装格式以及用于处理该格式的初始化数据。每个样本都与轨迹的其中一个样本描述入口entry相关联。
ISOBMFF支持利用各种机制指定样本特定元数据。通常情况下,已对样本表盒子(“stbl”)中的特定盒子进行了标准化。样本表盒子包括样本表,该样本表包括轨迹中媒体样本的所有时间和数据索引。通过使用样本表盒子中的表,系统可以及时定位样本,确定样本类型(例如,是否为I帧),并确定样本大小、容器和到该容器中的偏移量。
影片片段盒子是顶层盒子。每个影片片段盒子都提供与影片盒子类似的信息。影片片段盒子可以包括一个或多个轨迹片段(“traf”)盒子。影片片段包含有一个轨迹片段集合,集合中有一个或多个轨迹,或者每个媒体片段含有一个或多个轨迹。轨迹片段又包括零个或更多个轨迹行程,每个轨迹行程都记录了该轨迹的样本的连续行程。例如,每个轨迹行程可以包括按特定顺序(如解码顺序)连续的图像样本。轨迹片段盒子在ISO/IEC 14996-12规范中进行了定义,包括一个或多个轨迹片段的元数据。例如,轨迹片段盒子可以包括轨迹片段头盒子,该轨迹片段头盒子指示轨迹标识符(identifier,ID)、基础数据偏移量、样本描述索引、默认样本持续时间、默认样本大小和默认样本标志。轨迹片段盒子可以包括一个或多个轨迹片段行程盒子,每个轨迹片段行程盒子记录轨迹的连续样本集。例如,轨迹片段盒子可以包括语法元素,这些语法元素指示样本计数、数据偏移量、样本标志、样本持续时间、样本大小、样本合成时间偏移量等等。在这些结构中,许多字段是可选的,并且可以是默认值。
在ISO/IEC 23009-1中规定的HTTP动态自适应流媒体(Dynamic adaptivestreaming over HTTP,DASH)是HTTP(自适应)流应用的标准。DASH主要规定了媒体描述文件(media presentation description,MPD)(也称为manifest或MPD文件)的格式和媒体片段格式。MPD描述了服务器中可用的媒体,并允许DASH客户端在媒体时间自动下载客户端感兴趣的媒体版本。
DASH采用层次数据模型。呈现由MPD文档描述,该MPD文档描述构成媒体呈现的时间段顺序。时间段通常表示媒体内容时间段,在该媒体内容时间段内,可以获得同一内容的一组不同编码版本,例如,可用码率、语言、字幕(caption/subtitle)等的集合在一段时间内不会改变。
在一段时间内,媒体材料以自适应集进行管理。自适应集表示一个或多个媒体内容分量的可互换编码版本的集合。例如,主视频分量可以有一个自适应集,主音频分量可以有单独的自适应集。其它可用材料(如字幕或音频描述)可以各自具有单独的自适应集。也可以以复用形式提供材料,在这种情况下,复用的可互换版本可以描述为单个自适应集。例如,自适应集可以包括一段时间内的主音频和主视频。每个复用分量可以通过媒体内容分量描述进行单独描述。
自适应集包括表示集合。表示用于描述一个或多个媒体内容分量的可传送的编码版本。表示包括一个或多个媒体流(复用中的每个媒体内容分量对应一个媒体流)。自适应集中的任何单个表示都足以呈现所包括的媒体内容分量。通过在一个自适应集中收集不同的表示,媒体呈现作者对这些用于表示感知上等效的内容的表示进行表达。通常,这意味着客户端可以在自适应集中的各表示之间动态地切换,以便适应网络条件或其它因素。切换是指呈现解码数据直到某个时间t,并从时间t开始呈现另一个表示的解码数据。如果将表示包括在一个自适应集中,并且客户端切换合理,那么可以实现对媒体呈现的无缝切换。客户端可以忽略依赖于其不支持的编解码器或其它呈现技术的表示,或者在其它不合适的表示。在表示中,内容可以按时间划分为片段,以实现正确访问和传送。为了访问片段,为每个片段提供通用资源定位器(Universal Resource Locator,URL)。因此,片段是DASH客户端可以通过单个HTTP请求检索的最大数据单元。
基于DASH的HTTP流传输的示例性过程包括以下步骤。首先,客户端获取流媒体内容(例如影片)的MPD。MPD包括不同可替代的表示的信息,所述可替代的表示如流媒体内容的码率、视频分辨率、帧率和/或音频语言,以及HTTP资源(初始化片段和媒体片段)的URL。其次,客户端每次请求一个或多个所需表示、每次请求一个片段(或其一部分)。此类请求基于MPD中的信息和客户端本地信息,这些信息可以包括网络带宽、解码/显示能力和用户偏好。第三,当客户端检测到网络带宽发生变化时,客户端请求码率匹配更好的一个不同表示的片段。理想情况下,请求应该从以随机访问点开始的片段开始。
在HTTP流会话期间,客户端可以从接近期望位置且理想地以随机访问点开始的片段开始请求过去或将来的片段。可以在用户请求后退查找媒体内容中的过去位置或前进查找媒体内容中的未来位置时执行上述请求。用户也可以请求快进内容,可以通过请求足以用于仅对帧内编码的视频图像进行解码或仅对视频流的时间子集进行解码的数据来实现。DASH规范的附录D规定了DASH度量。
虚拟现实(virtual reality,VR)是指系统通过如下方式使用户有真实置身于虚拟世界中的感觉的能力:呈现与沉浸用户的动作相关联的自然和/或合成图像和声音所创建的虚拟世界,使用户可以与虚拟世界进行交互。如头戴式显示器(head mounteddisplay,HMD)和VR视频(通常也称为360度视频或全向视频)等呈现设备可以提供高质量的体验。VR应用包括游戏、培训、教育、体育视频、网上购物、成人娱乐等等。
在普通视频应用中,显示整个视频区域。VR视频与普通视频应用相比的不同特征在于,通常在VR中仅向用户显示由视频图像表示的整个视频区域的子集。该子集对应用户的当前视场角(field of view,FOV)(例如,用户当前正在观看的区域)。FOV有时也称为视角。通过使用基于视角的投影映射或基于视角的视频编码,可以提高VR视频系统的性能。在呈现给用户的视频部分的相同分辨率/质量下,与其它VR视频系统相比,性能提高之处在于,降低了传输带宽和/或解码复杂度。
本文公开了信号发送技术和/或方法,所述信号发送技术和/或方法改进了视频码流中具有多个机位的虚拟现实内容的信号发送。改进的信号发送通过指示或标识若干可用机位中哪个特定机位与视角相关沉浸式媒体度量对应等方式提升了VR视频系统的性能。
图1为用于VR视频编码的示例性系统100的示意图。系统100包括多方向摄像机101、包括编码器103的VR译码设备104、解码器107以及呈现设备109。多方向摄像机101包括摄像机设备阵列。每个摄像机设备指向不同的角度,使得多方向摄像机101可以从多个角度拍摄周围环境的多个方向视频流。例如,多方向摄像机101可以将环境的视频拍摄成球体,其中,多方向摄像机101位于球体中心。此处所使用的“球体”和“球形视频”既指几何球体又指几何球体的一部分,如球冠、球形穹面、球截形等。例如,多方向摄像机101可以拍摄180度视频以覆盖一半环境,使得制作人员可以保持在多方向摄像机101后面。多方向摄像机101还可以拍摄360度(或360度范围内的任何一部分)的视频。然而,可能会忽略多方向摄像机101下方的一部分地面,导致视频不是一个完整球体。因此,此处使用的术语“球体”是为了描述清楚而使用的通用术语,不应视为从几何角度进行限制。
将来自多方向摄像机101的视频转发给VR译码设备104。VR译码设备104可以是包括专用VR译码软件的计算系统。VR译码设备104可以包括编码器103(也称为视频编码器)。在一些示例中,编码器103也可以包括在独立于VR译码设备104计算机系统中。VR译码设备104用于将多个方向视频流转换为一个包括多个方向视频流的VR视频流,包括从所有相关角度录制的整个区域。这种转换可以称为图像拼接。例如,可以将同时采集的每个视频流的帧拼接在一起以生成单个球形图像。然后,可以根据球形图像生成球形视频流。为了描述清楚,需要说明的是,除非特别说明,否则术语“帧”、“图像(picture/image)”可以在本文中互换。
然后,可以将球形视频流转发给编码器103进行压缩。编码器103是能够将信息从一种格式转换为另一种格式的设备和/或程序,目的是进行标准化、速度和/或压缩。标准化编码器103用于对矩形和/或正方形图像进行编码。因此,编码器103用于将球形视频流中的每个球形图像映射为多个矩形子图像。然后,可以将子图像承载在单独的子图像视频流中。因此,每个子图像视频流显示随时间变化的图像流,每个子图像视频流录制了球形视频流的一部分。然后,编码器103可以对每个子图像视频流进行编码,以将该视频流压缩到可管理的文件大小。下文将详细描述编码过程。通常,编码器103将每个子图像视频流中的每一帧分割成像素块,通过帧间预测和/或帧内预测压缩像素块以生成包括预测块和残差块的编码块,对残差块进行变换以进一步压缩,并使用各种滤波器对这些块进行滤波。将压缩块以及对应的语法存储在一个或多个码流中,例如以ISOBMFF和/或以全向媒体格式(omnidirectional media format,OMAF)存储。
VR译码设备104可以将一个或多个经编码码流存储在本地存储器中和/或服务器上,以便需要时发送给解码器107。可以通过网络105转发数据,其中,网络105可以包括互联网、移动电信网络(例如,基于长期演进(long term evolution,LTE)的数据网络)或其它数据通信数据系统。
解码器107(又称为视频解码器)是位于用户位置的设备,用于执行编码过程的逆过程,以根据一个或多个经编码码流重建子图像视频流。解码器107还合并子图像视频流以重建球形视频流。然后,可以将球形视频流或球形视频流的一部分转发给呈现设备109。呈现设备109是用于向用户显示球形视频流的设备。例如,呈现设备109可以包括固定在用户头部并遮挡用户眼睛的HMD。该呈现设备可以包括每只眼睛对应的屏幕、摄像机、运动传感器、扬声器等,并且可以通过无线和/或有线连接与解码器107通信。呈现设备109可以向用户显示球形视频流的一部分。所示一部分是基于呈现设备109的FOV和/或视角拍摄的。例如,呈现设备109可以通过使用运动跟踪传感器,根据用户头部移动来改变FOV的位置。这样,用户可以通过头部移动来观看球形视频流的不同部分。此外,呈现设备109可以根据用户的瞳间距离(interpapillary distance,IPD)来调整每只眼睛的FOV,从而产生三维空间效果。
图2为示例性方法200的流程图。该示例性方法200通过使用系统100的组件等将VR图像码流编码为多个子图像码流。在步骤201中,使用多方向摄像机组(如多方向摄像机101)采集多个方向视频流。多个方向视频流包括不同角度的环境视图。例如,多个方向视频流可以包括水平面上围绕摄像机以360度、180度、240度等采集的视频。多个方向视频流还可以包括垂直面上围绕摄像机以360度、180度、240度等采集的视频。生成的视频包括足以在某段时间内覆盖摄像机周围的球形区域的信息。
在步骤203中,在时域中同步多个方向视频流。具体地,每个方向视频流包括在对应角度拍摄的一系列图像。通过确保对每个方向视频流中的帧进行统一处理来同步多个方向视频流,其中,所述帧是在同一时域位置采集的。然后,可以在空域中将方向视频流中的帧拼接在一起,生成球形视频流。因此,球形视频流的每一帧都包括从所有方向视频流的帧中获取的数据,其中,所述方向视频流发生在统一时间位置上。
在步骤205中,将球形视频流映射为矩形子图像视频流。该过程也可以称为将球形视频流投影成矩形子图像视频流。如上所述,编码器和解码器通常用于对矩形和/或正方形帧进行编码。因此,将球形视频流映射为矩形子图像视频流,以生成可以分别由非VR专用编码器和解码器进行编码和解码的视频流。需要说明的是,步骤203和205是针对VR视频处理的,因此可以由专用VR硬件、软件或其组合来执行。
在步骤207中,可以将矩形子图像视频流转发给编码器(如编码器103)。然后,编码器将子图像视频流编码为对应媒体文件格式的子图像码流。具体地,每个子图像视频流可以由编码器视为视频信号。编码器可以通过帧间预测、帧内预测等对每个子图像视频流的每一帧进行编码。下文结合图3-图11详细描述此类编码和相应的解码以及编码器和解码器。关于文件格式,可以以ISOBMFF存储子图像视频流。例如,以指定的分辨率采集子图像视频流。然后,可以将子图像视频流下采样到各种较低分辨率,以进行编码。每种分辨率都可以称为一种表示。质量较低的表示会导致图像不清晰,但减小了文件大小。因此,与较高质量表示相比,可以使用更少的网络资源(例如,时间、带宽等)向用户传输视觉质量损失的低质量表示。可以将每个表示存储在对应的轨迹集合中。因此,可以将轨迹发送给用户,其中,这些轨迹包括各种分辨率(例如,视觉质量)的子图像码流。
在步骤209中,可以将子图像码流作为轨迹发送给解码器。在一些示例中,通过传输相同表示的轨迹,以相同质量传输所有子图像码流。这种方法的缺点在于,采用与所有其它区域相同的分辨率传输最终VR视频流中不太受关注的区域。采用这种方法时,可以使用基于视角的译码来改进压缩。在基于视角的译码中,通过选择质量较高的表示,以较高的分辨率发送包括具有用户FOV中数据的子图像码流的轨迹。通过选择质量较低的表示,可以以逐渐降低的分辨率发送包括具有用户FOV以外的区域的子图像码流的轨迹。在一些示例中,甚至可以完全忽略某些区域。例如,在用户决定改变FOV以包括与FOV相邻的区域的情况下,可以以略微降低的质量发送这些区域。可以以逐渐降低的质量发送远离FOV的区域,因为这些区域越来越不可能进入FOV,从而越来越不可能呈现给用户。轨迹可以包括相对较短的视频片段(例如,大约3秒),因此针对视频的特定区域选择的表示可以根据FOV的变化随时间而变化。相应地,质量随用户的FOV变化而变化。由于质量降低的区域不太可能被用户看到,因此基于视角的译码可以显著减小发送给用户的轨迹的文件大小,而不会造成视觉质量显著下降。
在步骤211中,解码器(如解码器107)接收包括子图像码流的轨迹。然后,解码器可以将子图像码流解码成子图像视频流以进行显示。解码过程涉及编码过程(例如,使用帧间预测和帧内预测)的逆过程,下文结合图3-图11详细描述。
在步骤213中,解码器可以将子图像视频流合并为球形视频流以向用户呈现。具体地,解码器可以使用所谓的轻量级合并算法,该合并算法从每个子图像视频流中选择在同一呈现时间出现的帧,并根据与相应子图像视频流相关联的位置和/或角度将这些帧合并在一起。解码器还可以使用滤波器使子图像视频流之间的边缘平滑、去除伪影等。然后,解码器可以将球形视频流转发给呈现设备,如呈现设备109。
在步骤215中,呈现设备呈现球形视频流的视角以向用户呈现。如上所述,不呈现每个时间点在FOV之外的球形视频流区域。在基于视角的译码中,因为有效地省略了一些质量较低的表示,所以减小了文件大小,但省略这些表示导致视频的质量虽然有所下降,但对用户体验影响不大。
图3为对包括子图像视频流的视频信号进行译码的示例性方法300的流程图。例如,方法300中,可以从方法200的步骤205接收多个子图像视频流。方法300中,将每个子图像视频流处视为视频信号输入。方法300中,对每个子图像视频流应用步骤301-317,以便实现方法200的步骤207-211。因此,来自方法300的输出视频信号包括经解码的子图像视频流,可以根据方法200的步骤213和215合并和显示这些经解码的子图像视频流。
方法300在编码器侧对视频信号(例如包括子图像视频流)进行编码。编码过程通过采用各种机制来压缩视频信号以减小视频文件大小。在减少相关的带宽开销的同时,可以通过较小的文件将压缩的视频文件传输给用户。然后,解码器对压缩的视频文件进行解码,以重建原始视频信号,向终端用户显示。解码过程通常是编码过程的逆过程,使得解码器重建的视频信号与原始视频信号一致。
在步骤301中,将视频信号输入编码器中。例如,所述视频信号可以是存储在存储器中的未压缩的视频文件。在另一示例中,视频文件可以由视频采集设备(如视频摄像机)采集,并且进行编码以支持视频的直播。所述视频文件可以包括音频分量和视频分量。所述视频分量包括一系列图像帧,当按顺序观看时,这些图像帧会产生运动的视觉效果。这些帧包括根据光表示的像素(本文称为亮度分量(或亮度像素点))和颜色(称为色度分量(或色度像素点))。
在步骤303中,将视频信号分割成块。分割包括将每个帧中的像素细分为正方形和/或矩形块进行压缩。例如,在HEVC(也称为H.265和MPEG-H第2部分)中,可以首先将帧分为编码树单元(coding tree unit,CTU),这些编码树单元是预定义大小(例如,64个像素×64个像素)的块。CTU包括亮度像素点和色度像素点。可以采用编码树将CTU分成块,然后递归地细分这些块,直到获得支持进一步编码的结构。例如,可以对帧的亮度分量进行细分,直到各个块包括相对均匀的亮度值。此外,可以对帧的色度分量进行细分,直到各个块包括相对均匀的颜色值。因此,分割机制根据视频帧的内容而不同。
在步骤305中,采用各种压缩机制来压缩在步骤303中分割的图像块。例如,可以采用帧间预测和/或帧内预测。帧间预测旨在利用共同场景中的对象往往出现在连续帧中这一事实。因此,无需在相邻帧中对参考帧中描绘对象的块进行重复描述。具体地,一个对象(如一张桌子)可以在多个帧中保持恒定的位置。因此,只描述一次桌子,相邻帧可以重新参考参考帧。可以采用模式匹配机制来匹配多个帧中的对象。此外,由于对象移动或摄像机移动等,移动对象可以通过多个帧表示。在特定示例中,视频可以通过多个帧显示在屏幕上移动的汽车。可以采用运动矢量描述这种移动,或描述缺乏这种移动。运动矢量是一个二维矢量,提供从帧中对象的坐标到参考帧中该对象的坐标的偏移。因此,帧间预测可以将当前帧中的图像块编码为运动矢量集合,指示相对于参考帧中对应块的偏移。
帧内预测对公共帧中的块进行编码。帧内预测利用亮度分量和色度分量往往在帧中聚集这一事实。例如,一棵树的一部分中的一片绿色往往与几片类似的绿色相邻。帧内预测采用多种方向预测模式(例如,HEVC中的33种模式)、平面模式和直流(direct current,DC)模式。所述方向模式指示当前块与对应方向上邻块的像素点相似/相同。平面模式指示可以根据行边缘处的邻块对行/列(例如平面)上的一系列块进行插值。实际上,平面模式通过采用变化值的相对恒定的斜率来指示光/颜色在行/列上的平滑转变。DC模式用于边界平滑,指示块和与所有邻块的像素点相关联的平均值相似/相同,所述邻块与方向预测模式的角方向相关联。因此,帧内预测块可以将图像块表示为各种关系预测模式值而非实际值。此外,帧间预测块可以将图像块表示为运动矢量值而非实际值。在任一种情况下,预测块在某些情况下可能无法准确地表示图像块。所有差值都存储在残差块中。可以对残差块进行变换以进一步压缩文件。
在步骤307中,可以应用各种滤波技术。在HEVC中,根据环内滤波方案应用滤波器。上文描述的基于块的预测可以在解码器侧创建块状图像。此外,基于块的预测方案可以对块进行编码,然后重建编码块,供以后用作参考块。所述环内滤波方案迭代地将噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和像素点自适应偏移(sample adaptiveoffset,SAO)滤波器应用于块/帧。这些滤波器缓解了此类块伪影,从而可以准确地重建编码文件。此外,这些滤波器缓解了重建参考块中的伪影,使得伪影不太可能在基于重建参考块编码的后续块中产生其它伪影。
在步骤309中,一旦对视频信号进行了分割、压缩和滤波,则将所得数据编码到码流中。所述码流包括上述数据以及支持在解码器侧进行适当的视频信号重建所需要的任何指示数据(例如,语法)。例如,此类数据可以包括分割数据、预测数据、残差块和向解码器提供编码指令的各种标志。所述码流可以存储在存储器中,以便在请求时向解码器传输,例如作为ISOBMFF的轨迹和/或轨迹片段传输。还可以向多个解码器广播和/或组播所述码流。创建码流是一个迭代过程。因此,步骤301、303、305、307和309可以在多个帧和块中连续和/或同时进行。图3所示的顺序是为了清楚和便于描述而呈现的,并非旨在将视频编码过程限制于特定顺序。
在步骤311中,所述解码器接收所述码流并开始解码过程。例如,解码器可以采用熵解码方案将码流转换为对应的语法数据和视频数据。在步骤311中,所述解码器采用所述码流中的语法数据来确定帧的分割。分割应该与步骤303中的块分割结果匹配。这里描述了可以在步骤311中采用的熵编码/解码。编码器在压缩过程中进行许多选择,例如根据一个或多个输入图像中值的空间定位从多个可能选择中选择块分割方案。指示确切的选择可能会使用大量的位元。本文中使用的位元是被视为变量的二进制值(例如,可能根据上下文变化的比特值)。熵编码允许编码器丢弃任何明显不适合特定情况的选项,从而留下一组可使用的选项。然后,为每个可使用的选项分配码字。码字的长度取决于可使用的选项的数量(例如,一个位元对应两个选项,两个位元对应三个至四个选项等)。然后,编码器对所选选项的码字进行编码。该方案降低了码字的大小,因为码字的大小与唯一指示从可使用的选项的小子集中的一个选项,而非唯一指示从所有可能选项的潜在大集中的选项所需要的码字一样大。然后,解码器通过以与编码器类似的方式确定可使用的选项的集合来对所述选择进行解码。通过确定可使用的选项的集合,解码器可以读取码字并确定编码器做出的选择。
在步骤313中,所述解码器执行块解码。具体地,解码器进行逆变换来生成残差块。然后,解码器使用残差块和对应的预测块,根据分割重建图像块。所述预测块可以包括在步骤305中编码器侧生成的帧内预测块和帧间预测块。然后,根据在步骤311中确定的分割数据将重建图像块定位到重建视频信号的帧中。步骤313的语法还可以通过上文描述的熵编码在码流中指示。
在步骤315中,以类似于步骤307编码器侧的方式对重建视频信号的帧进行滤波。例如,可以对帧应用噪声抑制滤波器、去块效应滤波器、自适应环路滤波器和SAO滤波器以去除块伪影。一旦对帧进行滤波,可以在步骤317中转发视频信号以进行合并,然后输出到显示器(如HMD),以供终端用户观看。
图4为用于视频译码的示例性编码和解码(编解码)系统400的示意图。具体地,编解码系统400用于实现对子图像视频流进行编码和解码的方法200和300。此外,编解码系统400可以用于实现系统100中的编码器103和/或解码器107。
编解码系统400广义地描述编码器和解码器中使用的组件。编解码系统400从视频信号(例如,包括子图像视频流)接收帧并对帧进行分割,如操作方法300中的步骤301和303所描述,从而产生经分割的视频信号401。然后,当作为编码器时,编解码系统400将经分割的视频信号401压缩到经编码码流中,如方法300中的步骤305、307和309所描述的。当作为解码器时,编解码系统400从码流中生成输出视频信号,如操作方法300中的步骤311、313、315和317所描述的。编解码系统400包括通用编码器控制组件411、变换缩放和量化组件413、帧内估计组件415、帧内预测组件417、运动补偿组件419、运动估计组件421、缩放和逆变换组件429、滤波器控制分析组件427、环内滤波器组件425、解码图像缓冲器组件423、标头格式化和上下文自适应二进制算术编码(context adaptive binary arithmeticcoding,CABAC)组件431。此类组件如图所示进行耦合。在图4中,黑线表示待编码/解码数据的移动,而虚线表示控制其它组件操作的控制数据的移动。编解码系统400的组件都可以在编码器中使用。解码器可以包括编解码系统400的组件的子集。例如,解码器可以包括帧内预测组件417、运动补偿组件419、缩放和逆变换组件429、环内滤波器组件425和解码图像缓冲器组件423。下面对这些组件进行描述。
经分割的视频信号401是已通过编码树分割成像素块的采集视频序列。编码树采用各种划分模式将像素块细分为更小的像素块。然后,可以将这些块进一步细分为更小的块。所述块可以称为所述编码树上的节点。较大的父节点被划分成较小的子节点。节点被细分的次数称为节点/编码树的深度。在某些情况下,划分的块可以包括在编码单元(codingunit,CU)中。例如,CU可以是CTU的子部分,包括亮度块、一个或多个红差色度(Cr)块和一个或多个蓝差色度(Cb)块以及CU的对应语法指令。所述划分模式可以包括二叉树(binarytree,BT)、三叉树(tripletree,TT)和四叉树(quadtree,QT),用于根据所采用的划分模式,分别将节点分割为不同形状的两个、三个或四个子节点。将经分割的视频信号401转发给通用编码器控制组件411、变换缩放和量化组件413、帧内估计组件415、滤波器控制分析组件427和运动估计组件421进行压缩。
通用编码器控制组件411用于根据应用约束做出与将视频序列的图像编码到码流中相关的决策。例如,通用编码器控制组件411管理码率/码流大小相对于重建质量的优化。可以根据存储空间/带宽可用性和图像分辨率请求做出此类决策。通用编码器控制组件411还根据传输速度管理缓冲器利用率,以缓解缓存欠载和超载问题。为了解决这些问题,通用编码器控制组件411管理由其它组件进行的分割、预测和滤波。例如,通用编码器控制组件411可以动态地提高压缩复杂度以提高分辨率和增加带宽利用率,或者降低压缩复杂度以降低分辨率和带宽利用率。因此,通用编码器控制组件411控制编解码系统400的其它组件来平衡视频信号重建质量与码率问题。通用编码器控制组件411创建控制数据,该控制数据控制其它组件的操作。还将该控制数据转发给标头格式化和CABAC组件431,以编码在码流中,从而指示用于在解码器中解码的参数。
还将经分割的视频信号401发送给运动估计组件421和运动补偿组件419进行帧间预测。可以将经分割的视频信号401的帧或条带分成多个视频块。运动估计组件421和运动补偿组件419相对于一个或多个参考帧中的一个或多个块对所接收视频块进行帧间预测编码以提供时间预测。编解码系统400可以执行多个编码过程,以便为每个视频数据块选择适当的编码模式等等。
运动估计组件421和运动补偿组件419可以高度集成,但出于概念目的进行单独说明。运动估计组件421执行的运动估计是生成运动矢量的过程,其中,这些运动矢量用于估计视频块的运动。例如,运动矢量可以指示编码对象相对于预测块的位移。预测块是被发现在像素差异方面与待编码块高度匹配的块。预测块也可以称为参考块。此类像素差异可以通过绝对差异和(sum of absolute difference,SAD)、平方差异和(sum of squaredifference,SSD)或其它差异度量来确定。HEVC采用若干编码对象,包括CTU、编码树块(coding tree block,CTB)和CU。例如,可以将CTU分成多个CTB,然后可以将CTB分成多个CB包括在CU中。可以将CU编码为包括预测数据的预测单元(prediction unit,PU)和/或包括CU的变换残差数据的变换单元(transform unit,TU)。运动估计组件421使用率失真分析作为率失真优化过程的一部分来生成运动矢量、PU和TU。例如,运动估计组件421可以确定当前块/帧的多个参考块、多个运动矢量等,并且可以选择具有最佳率失真特性的参考块、运动矢量等。最佳率失真特性平衡视频重建的质量(例如,压缩造成的数据丢失量)和编码效率(例如,最终编码的大小)。
在一些示例中,编解码系统400可以计算存储在解码图像缓冲器组件423中的参考图像的子整数像素位置的值。例如,视频编解码系统400可以内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计组件421可以执行相对于全像素位置和分数像素位置的运动搜索,并输出具有分数像素精度的运动矢量。运动估计组件421通过将PU的位置与参考图像的预测块的位置进行比较来计算帧间编码条带中视频块的PU的运动矢量。运动估计组件421将计算的运动矢量作为运动数据输出到标头格式化和CABAC组件431以进行编码,并将运动输出到运动补偿组件419。
运动补偿组件419执行的运动补偿可以涉及根据运动估计组件421所确定的运动矢量获取或生成预测块。另外,在一些示例中,运动估计组件421和运动补偿组件419可以在功能上集成。在接收当前视频块的PU的运动矢量之后,运动补偿组件419可以定位运动矢量指向的预测块。然后,从所编码的当前视频块的像素值中减去预测块的像素值,从而形成像素差值,如此形成残差视频块。通常,运动估计组件421相对于亮度分量执行运动估计,运动补偿组件419将根据亮度分量计算的运动矢量用于色度分量和亮度分量。将预测块和残差块转发给变换缩放和量化组件413。
还将经分割的视频信号401发送给帧内估计组件415和帧内预测组件417。如同运动估计组件421和运动补偿组件419,帧内估计组件415和帧内预测组件417可以高度集成,但出于概念目的进行单独说明。帧内估计组件415和帧内预测组件417相对于当前帧中的块对当前块进行帧内预测,以替代如上所述的由运动估计组件421和运动补偿组件419在各帧之间执行的帧间预测。具体地,帧内估计组件415确定帧内预测模式来用于对当前块进行编码。在一些示例中,帧内估计组件415从多个测试的帧内预测模式中选择适当的帧内预测模式来对当前块进行编码。然后,将所选择的帧内预测模式转发给标头格式化和CABAC组件431进行编码。
例如,帧内估计组件415对各种测试的帧内预测模式进行率失真分析来计算率失真值,并在测试的模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定编码块与经编码以产生编码块的原始未编码块之间的失真(或误差)量,以及用于产生编码块的码率(例如,比特数)。帧内估计组件415根据各种编码块的失真和速率计算比率,以确定哪种帧内预测模式表现出块的最佳率失真值。此外,帧内估计组件415可用于根据率失真优化(rate-distortion optimization,RDO),使用深度建模模式(depth modeling mode,DMM)对深度图的深度块进行编码。
当在编码器上实现时,帧内预测组件417可以根据由帧内估计组件415确定的所选帧内预测模式从预测块生成残差块,或者当在解码器上实现时,从码流读取残差块。所述残差块包括预测块与原始块之间的值差,表示为矩阵。然后,将残差块转发给变换缩放和量化组件413。帧内估计组件415和帧内预测组件417可以对亮度分量和色度分量进行操作。
变换缩放和量化组件413用于进一步压缩残差块。变换缩放和量化组件413对残差块应用变换,如离散余弦变换(discrete cosine transform,DCT)、离散正弦变换(discrete sine transform,DST)或概念上类似的变换,从而产生包括残差变换系数值的视频块。还可以使用小波变换、整数变换、子带变换或其它类型的变换。变换可以将残差信息从像素值域转化到变换域,如频域。变换缩放和量化组件413还用于根据频率等对变换的残差信息进行缩放。这种缩放涉及对残差信息应用缩放因子,以便在不同粒度下量化不同的频率信息,这可能会影响重建视频的最终视觉质量。变换缩放和量化组件413还用于量化变换系数以进一步降低码率。量化过程可以降低与一些或全部系数有关的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,变换缩放和量化组件413随后可以对包括量化变换系数的矩阵进行扫描。将量化变换系数转发给标头格式化和CABAC组件431,以编码在码流中。
缩放和逆变换组件429应用变换缩放和量化组件413的逆操作以支持运动估计。缩放和逆变换组件429使用逆缩放、逆变换和/或反量化以重建像素域中的残差块,例如,用于以后用作参考块,所述参考块可成为另一当前块的预测块。运动估计组件421和/或运动补偿组件419可以通过将残差块添加回对应的预测块来计算参考块,以用于后续块/帧的运动估计。将滤波器应用于重建参考块,以减少在缩放、量化和变换期间产生的伪影。当预测后续块时,此类伪影可能导致预测不准确(并产生其它伪影)。
滤波器控制分析组件427和环内滤波器组件425将滤波器应用于残差块和/或重建图像块。例如,可以将缩放和逆变换组件429的变换残差块与帧内预测组件417和/或运动补偿组件419的对应预测块合并以重建原始图像块。然后,可以将滤波器应用于重建图像块。在一些示例中,滤波器可以转而应用于残差块。如同图4中的其它组件,滤波器控制分析组件427和环内滤波器组件425高度集成,可以一起实施,但出于概念目的进行单独描述。应用于重建参考块的滤波器应用于特定空间区域,包括多个参数以调整应用此类滤波器的方式。滤波器控制分析组件427对重建参考块进行分析,以确定应该应用此类滤波器的位置并设置对应的参数。将此类数据作为滤波器控制数据转发给标头格式化和CABAC组件431进行编码。环内滤波器组件425根据滤波器控制数据应用此类滤波器。所述滤波器可以包括去块效应滤波器、噪声抑制滤波器、SAO滤波器和自适应环路滤波器。此类滤波器可以根据示例应用于空域/像素域(例如,针对重建像素块)或频域中。
当作为编码器操作时,将经滤波的重建图像块、残差块和/或预测块存储在解码图像缓冲器组件423中,以供以后用于运动估计,如上所述。当作为解码器操作时,解码图像缓冲器组件423存储经重建和经滤波的块并将其作为输出视频信号的一部分向显示器转发。解码图像缓冲器组件423可以是能够存储预测块、残差块和/或重建图像块的任何存储器设备。
标头格式化和CABAC组件431从编解码系统400的各组件接收数据并将此类数据编码到经编码码流中以向解码器传输。具体地,标头格式化和CABAC组件431生成各种标头以对控制数据(如总体控制数据和滤波器控制数据)进行编码。此外,将预测数据(包括帧内预测)和运动数据,以及量化变换系数数据形式的残差数据均编码在码流中。最终码流包括解码器重建原始的经分割的视频信号401所需要的所有信息。此类信息还可以包括帧内预测模式索引表(也称为码字映射表)、各种块的编码上下文的定义、最可能的帧内预测模式的指示、分割信息的指示等。此类数据可以通过采用熵编码进行编码。例如,可以采用上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、CABAC、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)编码或其它熵编码技术对信息进行编码。在熵编码之后,可以将经编码码流传输到另一设备(例如,视频解码器)或存档以用于后续传输或检索。
图5为可以对子图像码流进行编码的示例性视频编码器500的框图。视频编码器500可以用于实现编解码系统400的编码功能和/或实现方法300的步骤301、303、305、307和/或309。此外,编码器500可以用于实现方法200的步骤205-209以及编码器103。编码器500对输入视频信号(例如,子图像视频流)进行分割,从而产生经分割的视频信号501,其中,所述经分割的视频信号501基本上类似于经分割的视频信号401。然后,通过编码器500的组件压缩经分割的视频信号501并编码到码流中。
具体地,将经分割的视频信号501转发给帧内预测组件517进行帧内预测。帧内预测组件517可以基本上类似于帧内估计组件415和帧内预测组件417。还将经分割的视频信号501转发给运动补偿组件521,以根据解码图像缓冲器组件523中的参考块进行帧间预测。运动补偿组件521可以基本上类似于运动估计组件421和运动补偿组件419。将帧内预测组件517和运动补偿组件521的预测块和残差块转发给变换和量化组件513以对残差块进行变换和量化。变换和量化组件513可以基本上类似于变换缩放和量化组件413。将经变换和量化的残差块和对应的预测块(连同相关控制数据)转发给熵编码组件531以编码到码流中。熵编码组件531可以基本上类似于标头格式化和CABAC组件431。
也将经变换和量化的残差块和/或对应的预测块从变换和量化组件513转发给逆变换和量化组件529以重建成参考块供运动补偿组件521使用。逆变换和量化组件529可以基本上类似于缩放和逆变换组件429。根据示例,也将环内滤波器组件525中的环内滤波器应用于残差块和/或重建参考块。环内滤波器组件525可以基本上类似于滤波器控制分析组件427和环内滤波器组件425。环内滤波器组件525可以包括多个滤波器,如环内滤波器组件425所描述的。然后,将滤波块存储在解码图像缓冲器组件523中,以供运动补偿组件521用作参考块。解码图像缓冲器组件523可以基本上类似于解码图像缓冲器组件423。
编码器500接收从球形视频流划分的子图像视频流,以便与使用基于视角的译码的VR系统结合使用。如上所述,当以不同的分辨率将子图像视频流传输到解码器时,由于在降低低质量子图像视频流的分辨率的过程中会丢失数据,可能会出现伪影。这是因为帧内预测和帧间预测根据邻块的像素点(像素)对块进行编码。当跨子图像视频流边界进行参考时,由于相邻子图像视频流中的数据丢失,参考可能变得不准确。为了减少这些问题,编码器500的运动补偿组件521和帧内预测组件517对待自包含的每个子图像视频流进行编码。具体地,运动补偿组件521和帧内预测组件517用于在编码期间仅参考同一子图像视频流中的完整像素点位置。具体地,在对第一子图像视频流进行编码时,防止编码器500参考其它子图像视频流中的像素点位置。这既适用于帧内预测模式,也适用于帧间预测运动矢量。此外,运动补偿组件521和帧内预测组件517可以参考第一子图像视频流中的分数像素点位置,但仅在参考的分数像素点位置处的像素点可以通过仅基于第一子图像码流(例如,不参考任何其它子图像码流)内的像素点位置进行插值来重建时进行参考。此外,运动补偿组件521可以在进行帧间预测时为第一子图像码流生成运动矢量候选列表。然而,当运动矢量来自其它子图像码流中的块时,运动补偿组件521可以不包括候选列表中的运动矢量。这些限制条件确保对每个子图像码流进行解码时可以不参考相邻子图像码流,从而避免了由分辨率导致的失配问题。
此外,视频编码可以采用并行化(如波前并行处理(wavefront parallelprocessing,WPP))来加速视频编码过程。WPP允许对当前块(例如,CTU)进行编码,只要当前块上方的块和当前块右上方的块已经进行了解码。WPP产生波形,其中,第一行的块比第二行的块提前两个块进行编码,第二行的块比第三行的块提前两个块进行编码等等。在解码器侧,子图像码流帧可以视为编码区块,并且可以合并这些编码区块以重建球形视频流。当编码区块存在时,可以不采用WPP,因为WPP一次对整个帧(例如,来自球形视频流的帧)进行处理,而非以编码区块级进行处理。因此,编码器500可以在对子图像码流进行编码时禁用WPP。例如,WPP采用entropy_coding_sync_enabled_flag。将该标志包括在每个图像的图像参数集(picture parameter set,PPS)语法中。编码器500可以将entropy_coding_sync_enabled_flag设置为0,以对子图像视频流禁用WPP。
此外,编码器500可以通过在轨迹中对子图像视频流进行编码并确保该轨迹具有相同的呈现时间来避免子图像码流之间的时序失配问题。此外,编码器500可以确保即使公共VR图像(例如,球形视频流中的帧)的每个像素点被划分到不同的子图像码流中和/或携带在不同轨迹中,此类像素点仍采用相同的图序计数值。
图6为可以对子图像码流进行解码的示例性视频解码器600的框图。视频解码器600可以用于实现编解码系统400的解码功能和/或实现操作方法300的步骤311、313、315和/或317。此外,解码器600可以用于实现方法200的步骤211-213以及解码器107。解码器600例如从编码器500接收多个子图像码流;生成包括子图像视频流的经重建的输出视频信号;将子图像视频流合并成球形视频流;并通过呈现设备将用于显示的球形视频流转发给用户。
所述码流由熵解码组件633接收。熵解码组件633用于实现熵解码方案,如CAVLC、CABAC、SBAC、PIPE编码或其它熵编码技术。例如,熵解码组件633可以使用标头信息来提供上下文以解释在码流中编码为码字的其它数据。解码信息包括对视频信号进行解码所需的任何信息,如总体控制数据、滤波器控制数据、分割信息、运动数据、预测数据和残差块中的量化变换系数。将量化变换系数转发给逆变换和量化组件629以重建成残差块。逆变换和量化组件629可以类似于逆变换和量化组件529。
将重建残差块和/或预测块转发给帧内预测组件617,以根据帧内预测操作重建成图像块。帧内预测组件617可以类似于帧内估计组件415和帧内预测组件417。具体地,帧内预测组件617采用预测模式来定位帧中的参考块,并将残差块应用于结果以重建帧内预测图像块。将重建的帧内预测图像块和/或残差块以及对应的帧间预测数据通过环内滤波器组件625转发给解码图像缓冲器组件623。解码图像缓冲器组件623和环内滤波器组件625可以分别基本上类似于解码图像缓冲器组件423和环内滤波器组件425。环内滤波器组件625对重建图像块、残差块和/或预测块进行滤波并且将此类信息存储在解码图像缓冲器组件623中。将来自解码图像缓冲器组件623的重建图像块转发给运动补偿组件621进行帧间预测。运动补偿组件621可以基本上类似于运动估计组件421和/或运动补偿组件419。具体地,运动补偿组件621使用来自参考块的运动矢量来生成预测块,并将残差块应用于结果以重建图像块。还可以通过环内滤波器组件625将所得重建块转发给解码图像缓冲器组件623。解码图像缓冲器组件623继续存储附加重建图像块,这些重建图像块可以通过分割信息重建成帧。此类帧也可以位于序列中。将所述序列作为重建的输出视频信号向显示器输出。
图7示出了VR采集环境700的示例。如图所示,VR采集环境700用于使用多个摄像机702、703、704采集特定场景701(例如体育场)中的活动。摄像机702-704可以类似于上文结合图1所述的多方向摄像机101。在一个实施例中,摄像机702和703可以在固定位置(即位置A和位置B)与摄像机704一起采集VR视频。摄像机704能够沿着轨道705持续改变位置,以便从各种不同位置采集VR视频。在一个实施例中,沿轨道705将摄像头704置于位置C。摄像机704沿轨道705滑动,能够从不同位置采集VR视频。在实际应用中,摄像机704可以以其它方式安装,以便可以在一个或多个方向上移动。
在一个实施例中,VR采集环境700内的用户能够根据不同位置和相关媒体轨迹的信息在这些位置之间改变VR视角(例如,不同机位,即位置A、位置B和位置C)。此外,可以对系统进行设计,使得当机位内容内的另一机位的提示可用时,用户可以通过点击该提示切换到该另一机位。
每当视角在机位之间改变时,可以使用与目标机位的一个或多个轨迹相关联的初始观看方向时间元数据轨迹来指示观看方向。
一组用于信号发送多个机位的设计可以参见范宇群等人2018年4月18日在加利福尼亚州圣地亚哥会议上介绍的名为“运动图像和音频的编码(Coding of Moving Picturesand Audio)”,ISO/IEC JTC1/SC29/WG11 MPEG2018/M42457的MPEG输入文献。
ISO/IEC 23090的第6部分(即23090-6)预计将成为规定沉浸式媒体度量的标准。到本发明撰写时,ISO/IEC 23090-6的最新草案标准是MPEG输出文档N17400中的工作草案(working draft,WD)。
ISO/IEC 23090-6WD描述了沉浸式媒体度量客户端参考模型,基于该模型定义观察点。应该在所定义观察点中的一个观察点处收集每个沉浸式媒体度量。在ISO/IEC23090-6WD中定义了两种沉浸式媒体度量:呈现FOV度量和显示信息度量。
呈现FOV度量以度为单位报告呈现FOV的水平和垂直大小。通过该度量,VR流媒体业务提供商可以确定使用支持不同FOV值的一些VR设备来定制VR流媒体业务。因此,VR流媒体业务提供商可以准备能够为使用此类VR设备的用户提供优化的用户体验的内容。
显示信息度量以像素为单位报告VR设备的显示分辨率、以像素/英寸为单位报告VR设备的像素密度、并以赫兹(Hz)为单位报告VR设备的刷新率。类似地,通过该度量,VR流媒体业务提供商可以确定一些VR设备支持显示分辨率、像素密度和/或刷新率的不同值,并且使用这些值来定制VR流媒体业务。因此,VR流媒体业务提供商可以准备能够为使用此类VR设备的用户提供优化的用户体验的内容。
通过与DASH度量相同的方式指定沉浸式媒体度量的语法格式。
MPEG输入文档m42454(Ahmed Hamza、Yong He和Yan Ye,《加利福尼亚州圣地亚哥,2018年4月,第122届MPEG会议,[MPEG-I]沉浸式媒体度量的VR度量WD([MPEG-I]VR metricsfor Immersive Media Metrics WD)》)包括以下一些具体的沉浸式媒体度量。
表1呈现视角度量
Figure BDA0002722299670000171
presentationTime指示呈现视角的第一样本的媒体呈现时间。duration指示观看视角的时间长度(以毫秒为单位)。viewport指示与在呈现时间呈现的视角对应的全向媒体的区域。
表2视角切换时延度量
Figure BDA0002722299670000172
Figure BDA0002722299670000181
firstViewport指示与第一视角(例如,在切换之前)对应的球形区域。secondViewport指示与第二视角(例如,在切换之后)对应的球形区域。t指示挂钟时间表示的视角切换时延的测量时间。latency指示用户从第一视角移动到第二视角的时间与在VR显示器上呈现第二视角的对应媒体样本(音频、视频、图像等)的时间之间的时延(以毫秒为单位)。reason指示可能造成时延的原因列表。
表3可比质量视角切换时延度量
Figure BDA0002722299670000182
firstViewport指示在切换之前第一视角的区域。这里可以复用ISO/IEC 23090-2OMAF中规定的视角样本格式SphereRegionStruct来指定视角。secondViewport指示在切换之后第二视角的区域。这里可以复用ISO/IEC 23090-2OMAF中规定的样本格式SphereRegionStruct来指定视角。firstViewportQuality指示第一视角的质量值。secondViewportQuality指示第二视角的质量值。t指示测量时延的挂钟时间。latency指示用户从与第一视角对应的初始观看方向移动到与第二视角对应的新的观看方向的时间与第二视角呈现的质量与第一视角呈现的质量相当(例如,大于或等于第一视角呈现的质量)的时间之间的时延(以毫秒为单位)。reason指示可能造成时延的原因列表。
表4推荐视角命中度量
Figure BDA0002722299670000191
representationId是MPD中推荐视角的时间元数据表示的标识符。该representationId标识进行比较的推荐视角。t指示测量度量的挂钟时间。持续时间指示在测量时间间隔内,连续的推荐视角命中的持续时间。type指示推荐视角的类型,其中,值为0时表示推荐视角用于导演剪辑,值为1时表示推荐视角是根据观看统计信息选择的。
视角相关沉浸式媒体度量具有以下缺点。视角是球体中与一个机位对应的部分。当VR内容包括多个机位时,由于无法指示与视角相关沉浸式媒体度量对应的机位,所以不能使用上述视角相关的沉浸式媒体度量。
为了解决上述问题,将机位ID添加到每个视角相关沉浸式媒体度量,例如,呈现视角度量、视角切换时延度量、可比质量视角切换时延度量,以及推荐视角命中度量,以明确与此类度量对应的机位。
视角相关沉浸式媒体度量的定义更新如下:
表5呈现视角度量
Figure BDA0002722299670000192
Figure BDA0002722299670000201
presentationTime指示呈现视角的第一样本的媒体呈现时间。duration指示观看视角的时间长度(以毫秒为单位)。viewpointId表示视角所属的机位。viewport指示与在呈现时间呈现的视角对应的全向媒体的区域。
表6视角切换时延度量
Figure BDA0002722299670000202
viewpointId表示视角所属的机位。firstViewport指示与第一视角(例如,在切换之前)对应的球形区域。secondViewport指示与第二视角(即,在切换之后)对应的球形区域。t指示挂钟时间表示的视角切换时延的测量时间。latency指示用户从第一视角移动到第二视角的时间与在VR显示器上呈现第二视角的对应媒体样本(音频、视频、图像等)的时间之间的时延(以毫秒为单位)。reason指示可能造成时延的原因列表。
表7可比质量视角切换时延度量
Figure BDA0002722299670000203
Figure BDA0002722299670000211
viewpointId表示视角所属的机位。firstViewport指示在切换之前第一视角的区域。这里可以复用ISO/IEC 23090-2 OMAF中规定的视角样本格式SphereRegionStruct来指定视角。secondViewport指示在切换之后第二视角的区域。这里可以复用ISO/IEC 23090-2OMAF中规定的样本格式SphereRegionStruct来指定视角。firstViewportQuality指示第一视角的质量值。secondViewportQuality指示第二视角的质量值。t指示测量时延的挂钟时间。latency指示用户从与第一视角对应的初始观看方向移动到与第二视角对应的新的观看方向的时间与第二视角呈现的质量与第一视角呈现的质量相当(即,大于或等于第一视角呈现的质量)的时间之间的时延(以毫秒为单位)。reason指示可能造成时延的原因列表。
表8推荐视角命中度量
Figure BDA0002722299670000212
representationId是MPD中推荐视角的时间元数据表示的标识符。该representationId标识进行比较的推荐视角。ViewpointId表示推荐视角所属的机位。t指示测量度量的挂钟时间。duration指示在测量时间间隔内,连续的推荐视角命中的持续时间。type指示推荐视角的类型,其中,值为0时表示推荐视角用于导演剪辑,值为1时表示推荐视角是根据观看统计信息选择的。
上文公开的概念在DASH的上下文中进行了描述。然而,这些概念可以应用于任何其它视频流媒体系统,包括HTTP自适应媒体流以及基于实时流协议(Real Time StreamingProtocol,RTSP)/实时传输协议(Real-time Transport Protocol,RTP)的媒体流。此外,这些概念可以单独应用或组合应用。
图8示出了360度(360°)流式传输方法800的实施例。在一个实施例中,方法800由客户端设备(例如,头戴式设备、智能手机、平板设备、计算机等)执行。所述客户端设备可以包括视频解码器(例如,解码器107)。执行方法800,可以确保客户端设备能够为内容服务器正确标识推荐视角所属的机位。
在步骤802中,从内容服务器接收MPD文件。就这一点而言,可以从内容服务器直接或间接接收MPD文件。在一个实施例中,所述内容服务器为HTTP服务器或可扩展标记语言(Extensible Markup Language,XML)服务器。如上所述,所述MPD文件为XML文档,包括关于以下各项的信息:媒体片段、这些媒体片段的关系以及在这些媒体片段之间进行选择所需的信息,以及客户端设备为正确呈现和显示媒体内容可能需要的其它元数据。在一个实施例中,MPD文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应。
在步骤804中,根据接收的所述MPD文件,所述客户端设备发送对一部分所述媒体内容的请求。在一个实施例中,将所述请求直接或间接发送给所述内容服务器。例如,该请求可以是对VR媒体内容的一部分或全向媒体内容的一部分的请求。在一个实施例中,该请求指定与MPD文件相关联的一个或多个参数,例如周期、自适应集、一个或多个表示等。
在步骤806中,接收所述客户端设备请求的所述媒体内容的所述部分。在一个实施例中,从所述内容服务器直接或间接接收所述媒体内容的所述部分。在一个实施例中,媒体内容的所述部分为VR媒体内容的一部分或全向媒体内容的一部分。
在步骤808中,所述客户端设备使用所接收的媒体内容呈现视角。可以使用客户端设备向客户端显示所呈现的视角。如上所述,视角属于多个机位中的一个机位。例如,所述多个机位可以由图7中的摄像机702-704提供。
在方步骤810中,客户端设备生成包括机位标识符(例如,上文表5-7中包括的机位ID入口entry)的度量。机位标识符标识所呈现的视角所属的特定机位。在一个实施例中,视角指示在呈现时呈现的媒体内容区域。在一个实施例中,所述度量由客户端设备发送给内容服务器或与内容服务器通信的其它设备等。
在一个实施例中,机位标识符指示特定机位与度量对应。在一个实施例中,机位标识符包括度量的入口entry。在一个实施例中,机位标识符包括度量的关键列中的入口entry。在一个实施例中,机位标识符包括整数。在一个实施例中,机位标识符包括度量的类型列中的整数。
在一个实施例中,客户端设备发送的度量为呈现的机位度量。在一个实施例中,所述度量为视角切换时延度量。在一个实施例中,所述度量为可比质量视角切换时延度量。在一个实施例中,所述度量为推荐视角命中度量。在一个实施例中,所述度量为视角相关沉浸式媒体度量。
图9示出了360°流式传输方法900的实施例。在一个实施例中,方法900由内容服务器(例如,HTTP或XML服务器)执行。所述内容服务器可以包括视频编码器(例如,编码器103)。执行方法900,可以确保客户端服务器能够正确标识推荐视角所属的机位。
在步骤902中,将MPD文件发送给客户端设备(例如,头戴式设备、智能手机、平板设备、计算机等)。就这一点而言,可以将MPD文件直接或间接发送给客户端设备。如上所述,所述MPD文件为XML文档,包括关于以下各项的信息:媒体片段、这些媒体片段的关系以及在这些媒体片段之间进行选择所需的信息,以及客户端设备为正确呈现和显示媒体内容可能需要的其它元数据。在一个实施例中,MPD文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应。
在步骤904中,根据发送的所述MPD文件,所述内容服务器接收对一部分所述媒体内容的请求。在一个实施例中,从客户端设备直接或间接接收所述请求。例如,该请求可以是对VR媒体内容或全向媒体内容的请求。在一个实施例中,该请求指定与MPD文件相关联的一个或多个参数,例如周期、自适应集、一个或多个表示等。
在步骤906中,所述内容服务器发送所请求的所述媒体内容的所述部分。在一个实施例中,将媒体内容直接或间接发送给客户端设备。在一个实施例中,所述媒体内容为VR媒体内容或全向媒体内容。
在步骤908中,所述内容服务器接收包括机位标识符的度量。在一个实施例中,机位标识符从多个机位中标识客户端设备所呈现的视角所属的特定机位。
在一个实施例中,视角指示在呈现时呈现的媒体内容区域。
在一个实施例中,机位标识符指示特定机位与度量对应。在一个实施例中,机位标识符包括度量的入口entry。在一个实施例中,机位标识符包括度量的关键列中的入口entry。在一个实施例中,机位标识符包括整数。在一个实施例中,机位标识符包括度量的类型列中的整数。
在一个实施例中,客户端设备发送的度量为呈现的机位度量。在一个实施例中,所述度量为视角切换时延度量。在一个实施例中,所述度量为可比质量视角切换时延度量。在一个实施例中,所述度量为推荐视角命中度量。在一个实施例中,所述度量为视角相关沉浸式媒体度量。
图10为本发明实施例提供的译码设备1000(例如,客户端设备、内容服务器等)的示意图。译码设备1000用于实现本文公开的方法和流程。译码设备1000包括:入端口1010和接收单元(Rx)1020,用于接收数据;处理器、逻辑单元或中央处理单元(centralprocessing unit,CPU)1030,用于处理数据;发送单元(Tx)1040和出端口1050,用于发送数据;存储器1060,用于存储数据。译码设备1000还可以包括与入端口1010、接收单元1020、发送单元1040和出端口1050耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用作光信号或电信号的出口或入口。
处理器1030通过硬件和软件实现。处理器1030可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,FPGA)、专用集成电路(application specific integrated circuit,ASIC)和数字信号处理器(digitalsignal processor,DSP)。处理器1030与入端口1010、接收单元1020、发送单元1040、出端口1050和存储器1060通信。处理器1030包括译码模块1070。译码模块1070用于实现上述公开的实施例。因此,译码模块1070改进了译码设备1000的功能,实现了译码设备1000在不同状态之间的转换。或者,译码模块1070可以实现为存储在存储器1060中并由处理器1030执行的指令。
视频译码设备1000还可以包括输入和/或输出(input/output,I/O)设备1080,用于与用户进行数据通信。I/O设备1080可以包括输出设备,如用于显示视频数据的显示器、用于输出音频数据的扬声器等。I/O设备1080还可以包括输入设备,如键盘、鼠标、轨迹球等,和/或用于与此类输出设备交互的对应接口。
存储器1060包括一个或多个磁盘、磁带机和固态硬盘,可用作溢出数据存储设备,以在选择执行程序时存储这类程序,并存储在程序执行期间读取的指令和数据。存储器1060可以是易失性和非易失性的,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和静态随机存取存储器(static random-access memory,SRAM)。
图11为译码模块1100的实施例的示意图。在实施例中,译码模块1100在视频译码设备1102(例如,编码器103或解码器107)中实现。视频译码设备1102包括接收模块1101。接收模块1101用于接收图像进行编码或接收码流进行解码。视频译码设备1102包括与接收模块1101耦合的发送模块1107。发送模块1107用于将码流发送给解码器或将解码图像发送给显示模块(例如,I/O设备1080之一)。
视频译码设备1102包括存储模块1103。存储模块1103与接收模块1101或发送模块1107中的至少一个耦合。存储模块1103用于存储指令。视频译码设备1102还包括处理模块1105。处理模块1105与存储模块1103耦合。处理模块1105用于执行存储在存储模块1103中的指令以执行本文公开的方法。
虽然本发明中已提供若干实施例,但可以理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以其它多种具体形式来体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中组合或集成各种元件或组件,或者可以省略或不实现某些特征。
此外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、组件、技术或方法进行组合或集成。其它变更、替换、更改示例对本领域技术人员而言是显而易见的,均不脱离本文中公开的精神和范围。

Claims (22)

1.一种由客户端设备实现的360度(360°)流式传输方法,其特征在于,所述方法包括:
所述客户端设备从内容服务器接收媒体描述文件(media presentationdescription,MPD),其中,所述媒体描述文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应;
根据接收的所述媒体描述文件,所述客户端设备发送对一部分所述媒体内容的请求;
所述客户端设备接收所请求的所述媒体内容的所述部分;
所述客户端设备使用所接收的所述媒体内容的所述部分呈现视角,其中,所述视角属于所述多个机位中的一个机位;
所述客户端设备生成包括机位标识符的度量,其中,所述机位标识符标识所呈现的所述视角所属的所述机位;
所述机位标识符由所述客户端设备发送给所述内容服务器或与内容服务器通信的其它设备。
2.一种由内容服务器实现的360度(360°)流式传输方法,其特征在于,所述方法包括:
所述内容服务器将媒体描述文件(media presentation description,MPD)发送给客户端设备,其中,所述媒体描述文件描述媒体内容,所述媒体内容包括多个机位,其中,多个机位中的每一个与多个360°摄像机组中的一个组对应;
根据发送的所述媒体描述文件,所述内容服务器接收对一部分所述媒体内容的请求,所述请求指定与所述媒体描述文件相关联的一个或多个参数;
所述内容服务器发送所请求的所述媒体内容的所述部分;
所述内容服务器接收包括机位标识符的度量,其中,所述机位标识符从所述多个机位中标识所述客户端设备呈现的视角所属的一个机位。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述客户端设备为头戴式显示器(head mounted display,HMD)。
4.根据权利要求1至2中任一项所述的方法,其特征在于,所述内容服务器为超文本传输协议(hypertext transport protocol,HTTP)内容服务器或可扩展标记语言(Extensible Markup Language,XML)服务器。
5.根据权利要求1至2中任一项所述的方法,其特征在于,所述度量为呈现视角度量。
6.根据权利要求1至2中任一项所述的方法,其特征在于,所述度量为视角切换时延度量。
7.根据权利要求1至2中任一项所述的方法,其特征在于,所述度量为可比质量视角切换时延度量。
8.根据权利要求1至2中任一项所述的方法,其特征在于,所述度量为推荐视角命中度量。
9.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符包括机位ID入口entry。
10.根据权利要求1至2中任一项所述的方法,其特征在于,所述视角指示在呈现时呈现的媒体内容区域。
11.根据权利要求1至2中任一项所述的方法,其特征在于,所述媒体内容为虚拟现实(virtual reality,VR)媒体内容。
12.根据权利要求1至2中任一项所述的方法,其特征在于,所述媒体内容为全向媒体内容。
13.根据权利要求1至2中任一项所述的方法,其特征在于,所述度量为视角相关沉浸式媒体度量。
14.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符指示与所述度量相关的一个机位。
15.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符包括所述度量的入口entry。
16.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符包括所述度量的关键列中的入口entry。
17.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符包括整数。
18.根据权利要求1至2中任一项所述的方法,其特征在于,所述机位标识符包括所述度量的类型列中的整数。
19.一种译码装置,其特征在于,包括:
接收器,用于接收图像进行编码或接收码流进行解码;
与所述接收器耦合的发射器,其中,所述发射器用于将所述码流发送给解码器或将解码图像发送给显示器;
与所述接收器或所述发射器中的至少一个耦合的存储器,其中,所述存储器用于存储指令;
与所述存储器耦合的处理器,其中,所述处理器用于执行存储在所述存储器中的所述指令以执行根据权利要求1至2中任一项所述的方法。
20.根据权利要求19所述的译码装置,其特征在于,还包括用于显示图像的显示器。
21.一种编解码系统,其特征在于,包括:
编码器;
与所述编码器通信的解码器,其中,所述编码器或所述解码器包括根据权利要求19至20中任一项所述的译码装置。
22.一种译码模块,其特征在于,包括:
接收模块,用于接收图像进行编码或接收码流进行解码;
与所述接收模块耦合的发射模块,其中,所述发射模块用于将所述码流发送给解码器或将解码图像发送给显示模块;
与所述接收模块或所述发射模块中的至少一个耦合的存储模块,其中,所述存储模块用于存储指令;
与所述存储模块耦合的处理模块,其中,所述处理模块用于执行存储在所述存储模块中的所述指令以执行根据权利要求1至18中任一项所述的方法。
CN201980025713.4A 2018-04-13 2019-02-19 具有多个机位的虚拟现实内容的沉浸式媒体度量 Active CN112771884B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862657324P 2018-04-13 2018-04-13
US62/657,324 2018-04-13
PCT/US2019/018602 WO2019199379A1 (en) 2018-04-13 2019-02-19 Immersive media metrics for virtual reality content with multiple viewpoints

Publications (2)

Publication Number Publication Date
CN112771884A CN112771884A (zh) 2021-05-07
CN112771884B true CN112771884B (zh) 2023-02-10

Family

ID=65635849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980025713.4A Active CN112771884B (zh) 2018-04-13 2019-02-19 具有多个机位的虚拟现实内容的沉浸式媒体度量

Country Status (4)

Country Link
US (1) US11438600B2 (zh)
EP (1) EP3777220A1 (zh)
CN (1) CN112771884B (zh)
WO (1) WO2019199379A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2570298A (en) * 2018-01-17 2019-07-24 Nokia Technologies Oy Providing virtual content based on user context
US11729243B2 (en) * 2019-09-20 2023-08-15 Intel Corporation Dash-based streaming of point cloud content based on recommended viewports
US20210105313A1 (en) * 2019-10-02 2021-04-08 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling a region in spatially grouped immersive media data tracks
US20210349308A1 (en) * 2020-05-05 2021-11-11 Szu Wen FAN System and method for video processing using a virtual reality device
US11785069B2 (en) * 2020-10-11 2023-10-10 The Research Foundation For The State University Of New York System and method for content-adaptive real-time video communication
EP4009650A1 (en) * 2020-12-03 2022-06-08 Anevia Method for media stream processing and apparatus for implementing the same
CN115604523A (zh) * 2021-06-28 2023-01-13 中兴通讯股份有限公司(Cn) 自由视角视频场景的处理方法、客户端及服务器
US11962867B2 (en) * 2021-11-04 2024-04-16 Tencent America LLC Asset reusability for lightfield/holographic media
WO2023114464A1 (en) * 2021-12-17 2023-06-22 Interdigital Vc Holdings, Inc. Viewport-based and region-of-interest-based retrieval of media objects in scene rendering engines
CN118042345A (zh) * 2022-11-04 2024-05-14 中兴通讯股份有限公司 基于自由视角的空间音效实现方法、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015197815A1 (en) * 2014-06-27 2015-12-30 Koninklijke Kpn N.V. Determining a region of interest on the basis of a hevc-tiled video stream
US10694192B2 (en) * 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
CN104270646A (zh) * 2014-09-22 2015-01-07 何震宇 一种基于移动流媒体的自适应传输方法和系统
US10454985B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
US10565463B2 (en) * 2016-05-24 2020-02-18 Qualcomm Incorporated Advanced signaling of a most-interested region in an image
US11172005B2 (en) * 2016-09-09 2021-11-09 Nokia Technologies Oy Method and apparatus for controlled observation point and orientation selection audiovisual content
JP6872631B2 (ja) * 2017-03-23 2021-05-19 ヴィド スケール インコーポレイテッド 360度適応ストリーミングのエクスペリエンスを改善するためのメトリックおよびメッセージ
US11736675B2 (en) * 2018-04-05 2023-08-22 Interdigital Madison Patent Holdings, Sas Viewpoint metadata for omnidirectional video

Also Published As

Publication number Publication date
US20200382796A1 (en) 2020-12-03
CN112771884A (zh) 2021-05-07
US11438600B2 (en) 2022-09-06
EP3777220A1 (en) 2021-02-17
WO2019199379A1 (en) 2019-10-17

Similar Documents

Publication Publication Date Title
CN112771884B (zh) 具有多个机位的虚拟现实内容的沉浸式媒体度量
JP6799159B2 (ja) 関心領域のシグナリングのシステムおよび方法
KR102614206B1 (ko) 비디오 코딩을 위한 서브-픽처 비트스트림들을 포함한 비디오 컨텐츠의 시그널링
CN111837396B (zh) 基于子图像码流视角相关视频编码中的误差抑制
CN115442595B (zh) 一种码流解码的方法、解码器及存储码流的设备
CN111819855B (zh) 视频码流中的取消标志指示
WO2020068284A1 (en) Virtual reality (vr) viewpoint grouping
WO2020068935A1 (en) Virtual reality viewpoint viewport center point correspondence signaling
WO2019200227A1 (en) Signaling spatial region correspondence between virtual reality viewpoints
US12003701B2 (en) File format signaling of error mitigation in sub-picture bitstream based viewport dependent video 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