CN113647114B - 用于视频编码和解码的设备、方法和计算机程序 - Google Patents

用于视频编码和解码的设备、方法和计算机程序 Download PDF

Info

Publication number
CN113647114B
CN113647114B CN202080020905.9A CN202080020905A CN113647114B CN 113647114 B CN113647114 B CN 113647114B CN 202080020905 A CN202080020905 A CN 202080020905A CN 113647114 B CN113647114 B CN 113647114B
Authority
CN
China
Prior art keywords
picture
representation
pictures
switchable
decoder
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
CN202080020905.9A
Other languages
English (en)
Other versions
CN113647114A (zh
Inventor
M·汉努克塞拉
I·柯西奥
S·S·梅特
E·阿克苏
A·霍伦兰塔
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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN113647114A publication Critical patent/CN113647114A/zh
Application granted granted Critical
Publication of CN113647114B publication Critical patent/CN113647114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/146Data rate or code amount at the encoder output
    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/172Methods 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 picture, frame or field
    • 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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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/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/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种方法,包括:将视频媒体内容编码到至少第一表示和第二表示中,其中第一表示包括可切换的帧间编码图片,其中可切换的图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;并且第二表示包括与第一表示的可切换的图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率小于或等于第一表示的帧速率,并且第一表示和第二表示的分辨率相等。

Description

用于视频编码和解码的设备、方法和计算机程序
技术领域
本发明涉及用于视频编码和解码的设备、方法和计算机程序。
背景技术
近年来,各种多媒体流式传输应用,尤其是360度视频或虚拟现实(VR)应用的开发已经有很大的进步。在视口适应流式传输中,比特率旨在被降低,例如,使得主视口(即,当前观看定向)以最佳质量/分辨率被传送,而剩余的360度视频以较低质量/分辨率被传送。当观看定向改变时(例如,当用户在利用头戴式显示器(HMD)观看内容时转动他/她的头时)内容的另一版本需要被流式传输,以匹配新的观看定向。
在流式传输会话期间,用户可以随时暂停回放。当回放被暂停时,用户可以在他/她暂停回放后环顾四周并且走出视口。在这种情况下,视口外区域的质量/分辨率较低。这种现象严重降低了用户体验。尽管在暂停状态下存在足够的带宽和时间以高质量显示所有360度球面,但没有信号机制来有效检索(retrieve)/解码/回放当前360度球面帧实例。此外,高分辨率的完整360度图像可能超出解码能力。
发明内容
现在,为了至少减轻上述问题,本文介绍了一种在解码器的回放暂停期间用于内容检索的增强方法。
根据第一方面的方法包括将视频媒体内容编码为至少第一表示和第二表示,其中第一表示包括可切换的帧间编码图片,其中可切换图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;并且第二表示包括与第一表示的可切换的图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率小于或等于第一表示的帧速率,并且第一和第二表示的分辨率相等。
根据第二方面的装置包括用于将视频媒体内容编码为至少第一表示和第二表示的部件,其中第一表示包括可切换的帧间编码图片,其中可切换图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;并且第二表示包括与第一表示的可切换图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率小于或等于第一表示的帧速率,并且第一和第二表示的分辨率相等。
根据一个实施例,可切换的图片具有第二特性:可切换的帧间编码图片仅从零个或多个解码顺序在先的、可切换的帧间编码图片和/或从解码顺序在先的、随机访问图片而被预测。
根据一个实施例,装置进一步包括用于在对应于表示的比特流中或沿着对应于表示的比特流指示在解码中表示的内容针对表示之间的切换的适合性的部件。
根据一个实施例,装置进一步包括用于周期性地编解码可切换的帧间编码图片的部件。
根据一个实施例,解码器重置图片被配置以被编码为在中断链接访问(BLA)图片之后不具有引导图片的BLA图片类型,或者被编码为独立解码刷新(IDR)图片。
根据第三方面的方法包括:接收对应于编码视频媒体内容的第一表示的至少一个比特流,该第一表示包括可切换的帧间编码图片,其中该可切换的图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;从至少一个比特流或沿着至少一个比特流接收关于在解码中在第一表示和第二表示之间切换的适合性的指示,其中第二表示包括与第一表示的可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率等于或小于第一表示的帧速率,并且第一和第二表示的分辨率相等;接收第二表示的至少一个解码器重置图片;以及,对第二表示的至少一个解码器重置图片进行解码,之后对第一表示的图片进行解码。
根据第四方面的装置包括用于接收对应于所编码的视频媒体内容的第一表示的至少一个比特流的部件,该第一表示包括可切换的帧间编码图片,其中该可切换图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;用于从至少一个比特流或沿着至少一个比特流接收关于在解码中在第一表示和第二表示之间切换的适合性的指示的部件,其中第二表示包括与第一表示的可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率等于或小于第一表示的帧速率,并且第一表示和第二表示的分辨率相等;用于接收第二表示的至少一个解码器重置图片的部件;以及,用于对第二表示的至少一个解码器重置图片,之后对第一表示的图片进行解码的部件。
根据一个实施例,该装置进一步包括用于响应于所解码的第一表示的回放中的暂停而请求第二表示的至少一个解码器重置图片的部件。
根据一个实施例,该装置进一步包括用于响应视口切换而请求第二表示的至少一个解码器重置的部件。
根据一个实施例,视口切换发生自第一视口到第二视口,并且其中第一表示覆盖第一视口,该装置进一步包括用于接收对应于所编码的视频媒体内容的第三表示的第二比特流的部件,第三表示表示第二视口。
根据一个实施例,该装置进一步包括用于响应于视点切换而用于请求第二表示的至少一个解码器重置的部件。
根据一个实施例,视点切换发生自从第一视点到第二视点,并且其中第一表示覆盖第一视点,该装置进一步包括:用于接收对应于所编码的视频媒体内容的第三表示的第二比特流的部件,第三表示表示第二视点。
根据一个实施例,该装置进一步包括用于响应于回放的重新开始而解码与重新开始基本上实时对应的解码器重置图片的部件;以及用于在第一表示的可切换帧间编码图片解码顺序之后切换到解码第一表示的图片的部件,第一表示的可切换帧间编码图片与基本上实时对应于重新开始的解码器重置图片临时地对齐。
根据一个实施例,该装置进一步包括用于响应于所解码的第一表示的回放中的暂停而根据解码器缓冲器大小和/或可用带宽的约束来请求第二表示的多个解码器重置图片的部件。
根据一个实施例,该装置进一步包括用于请求第二表示的至少一个解码器重置图片用于在第一表示和第三表示之间执行比特率适应的部件。
根据一个实施例,比特率切换发生自从第一比特率到第二比特率,并且其中第一表示覆盖第一比特率,该装置进一步包括用于接收对应于所编码的视频媒体内容的第三表示的第二比特流的部件,第三表示表示第二比特率。
根据一个实施例,该装置进一步包括用于从第一提取器轨道或表示中提取至少一个可切换的帧间编码图片的部件;以及用于从第二提取器轨道或表示中提取至少一个解码器重置图片的部件。
进一步的方面涉及其上存储有代码的设备和计算机可读存储介质,其被布置以执行上述方法和与其有关的一个或多个实施例。
附图说明
为了更好地理解本发明,现在将通过示例的方式参考附图,其中:
图1示意性示出了采用本发明实施例的电子设备;
图2示意性示出了适用于采用本发明实施例的用户设备;
图3进一步示意性地示出了使用无线和有线网络连接的采用本发明实施例的电子设备;
图4示意性示出了适用于实现本发明实施例的编码器;
图5示出了MPEG全向媒体格式(OMAF)概念的示例;
图6a和6b示出了用于将360度视频内容封装成用于编码的2D所封装的图片的两种备选方法;
图7示出了形成单视场等矩形全景图片的过程;
图8示出了OMAF坐标系统的示例;
图9示出了将球面形图片转换成所封装的2D图片的示例;
图10示出了根据本发明实施例的编码方法的流程图;
图11示出了根据本发明实施例的编码约束的示例;
图12示出了向本发明的实施例发送表示之间的切换点的信号的示例;
图13示出了根据本发明实施例的解码方法的流程图;
图14示出了适用于实现本发明实施例的解码器的示意图;以及
图15示出了其中可以实现各种实施例的示例多媒体通信系统的示意图。
具体实施方式
下文更详细地描述了用于视口适应流式传输的适当的装置和可能的机制。在这方面,首先参考图1和图2,其中图1示出了根据示例性实施例的视频编码系统的框图,作为示例性装置或电子设备50的示意性框图,其可以合并根据本发明实施例的编解码器。图2示出了根据示例实施例的装置的布局。随后将解释图1和图2中的元素。
电子设备50例如可以是无线通信系统的移动终端或用户设备。然而,应当理解,本发明的实施例可以在可能要求对视频图像进行编码并解码、或编码、或解码的任何电子设备或装置内被实现。
装置50可以包括用于合并和保护设备的外壳30。装置50还可以包括液晶显示器形式的显示器32。在本发明的其他实施例中,显示器可以是适合于显示图像或视频的任何适当的显示技术。装置50可以进一步包括键盘34。在本发明的其他实施例中,任何适当的数据或用户界面机制被可以采用。例如,作为触敏显示器的一部分,用户界面可以被实现为虚拟键盘或数据进入系统。
装置可以包括麦克风36或任何适当的音频输入,其可以是数字或模拟信号输入。装置50还可以包括音频输出设备,在本发明的实施例中,该音频输出设备可以是以下项中的任何一项:耳机38、扬声器或模拟音频或数字音频输出连接。设备50还可以包括电池(或者在本发明的其他实施例中,该设备可以由任何适当的移动能源设备供电,诸如太阳能电池、燃料电池或发条发电机)。装置还可以包括能够记录或捕捉图像和/或视频的摄像机。装置50可以进一步包括用于与其他设备进行短距离视线通信的红外端口。在其他实施例中,装置50可以进一步包括任何适当的短距离通信解决方案,诸如蓝牙无线连接或USB/火线有线连接。
装置50可以包括控制器56、用于控制装置50的处理器或处理器电路。控制器56可以被连接到存储器58,在本发明的实施例中,存储器58可以存储以图像和音频两者的数据形式的数据和/或还可以存储用于在控制器56上实现的指令。控制器56还可以被连接到适合于实现音频和/或视频数据的编码和解码或协助由控制器实现的编码和解码的编解码器电路54。
装置50还可以包括读卡器48和智能卡46,例如用于提供用户信息并且适用于提供认证信息以在网络上对用户进行认证和授权的UICC和UICC读卡器。
装置50可以包括连接到控制器的无线电接口电路52,并且其适用于生成无线通信信号,例如用于与蜂窝通信网络、无线通信系统或无线局域网通信。装置50还可以包括连接到无线电接口电路52的天线44,用于将在无线电接口电路52处所生成的射频信号传送到(多个)其他设备,并且用于从(多个)其他设备接收射频信号。
装置50可以包括能够记录或检测单个帧的摄像机,该单个帧随后被传递到编解码器54或控制器用于处理。装置可以在传输和/或存储之前从另一设备接收视频图像数据用于处理。装置50还可以无线地或通过有线连接接收图像用于编码/解码。上面所描述的装置50的结构元件表示用于执行对应功能的部件的示例。
关于图3,在其中本发明的实施例可以被利用的系统的示例被示出。系统10包括可以通过一个或多个网络进行通信的多个通信设备。系统10可以包括有线或无线网络的任何组合,包括但不限于无线蜂窝电话网络(诸如,GSM、UMTS、CDMA网络等),无线局域网(WLAN,诸如,由任何IEEE 802.x标准所定义的)、蓝牙个人局域网、地区以太网络、令牌环局域网、广域网和互联网。
系统10可以包括适用于实现本发明实施例的有线和无线通信设备和/或装置50两者。
例如,图3所示出的系统示出了移动电话网络11和互联网28的表示。到互联网28的连接可以包括但不限于长距离无线连接、短距离无线连接和各种有线连接,包括但不限于电话线、电缆线、功率线以及类似的通信路径。
系统10中所示出的示例通信设备可以包括但不限于电子设备或装置50、个人数字助理(PDA)和移动电话14的组合、PDA 16、集成消息设备(IMD)18、台式计算机20、笔记本计算机22。当由移动的个人携带时,装置50可以是固定的或可移动的。装置50也可以位于运输方式中,包括但不限于汽车、卡车、出租车、公共汽车、火车、船、飞机、自行车、摩托车或任何类似的适当的运输方式。
实施例也可以在被实现机顶盒中;即,在具有硬件或软件或编码器/解码器实现组合的平板计算机或(膝上型)个人计算机(PC)中的,在各种操作系统中的,以及在提供基于硬件/软件的编码的芯片集、处理器、DSP和/或嵌入式系统中的可能/可能不具有显示或无线能力的数字电视接收器。
一些或更多的装置可以发送并且接收呼叫和消息,并且通过到基站24的无线连接25与服务提供方通信。基站24可以被连接到允许移动电话网络11和互联网28之间通信的网络服务器26。该系统可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。涉及实现本发明的各种实施例的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外、激光、电缆连接以及任何适当的连接。
在电信和数据网络中,信道可以指物理信道或逻辑信道。物理信道可以指物理传输介质(诸如电线),而逻辑信道可以指通过能够传达多个逻辑信道的多路复用介质的逻辑连接。信道可以被用于从一个或多个发送器(或传输方)向一个或多个接收方传达信息信号,例如比特流。
在ISO/IEC 13818-1或ITU-T推荐H.222.0中所指定的MPEG-2运输流(TS)是在多路复用流中用于运载音频、视频和其他媒体以及节目元数据或其他元数据的格式。分组标识符(PID)被用以标识TS中的基本流(也称为分组化的基本流)。因此,MPEG-2TS内的逻辑信道可以被认为对应于特定的PID值。
可用的媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC 14496-12,其可以被缩写为ISOMFF)和针对NAL单元结构化的视频(ISO/IEC 14496-15)的文件格式,其源自ISOBMFF。
ISOBMFF的一些概念、结构和规范在下文被描述为容器文件格式的示例,实施例可以基于该容器文件格式被实现。本发明的方面不限于ISOBMFF,而是针对一种可能的基础给出了描述,在该基础上本发明可以被部分地或完全地实现。
ISO基本媒体文件格式的基本构建模块称为盒(box)。每个盒具有报头和有效载荷。盒报头指示在字节方面的盒的类型和盒的大小。一个盒可以封闭其他盒,并且ISO文件格式指定某一类型的盒内哪些盒类型是被允许的。此外,在每个文件中,一些盒的存在可能是强制性的,而其他盒的存在可能是可选的。附加地,针对一些盒类型,文件中可以允许具有超过一个盒存在。因此,ISO基本媒体文件格式可以被认为指定了盒的层次结构。
根据ISO系列文件格式,文件包括包装在盒中的媒体数据和元数据。每个盒由四个字符的代码(4CC)标识,并且以报头开始,报头告知盒的类型和大小。
在符合ISO基本媒体文件格式的文件中,媒体数据可以被提供在媒体数据‘mdat’盒中,并且电影‘moov’盒可以被用以封闭元数据。在一些情况下,为使文件是可操作的,‘mdat’盒和‘moov’盒两者可以被要求存在。电影‘moov’盒可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的轨道‘trak’盒中。轨道可以是多种类型中的一个类型,包括指根据媒体压缩格式被格式化的样本的媒体轨道(以及其对ISO基本媒体文件格式的封装)。
电影片段可以被使用,例如,在将内容记录到ISO文件时,例如,为了避免如果记录时应用崩溃、存储器空间用尽或一些其他事件发生时丢失数据。在没有电影片段的情况下,可能会发生数据丢失,因为文件格式可能要求所有元数据(例如,电影盒)被写入文件的一个连续区域。此外,当记录文件时,可能不存在足够的存储器空间(例如,随机存取存储器RAM)来针对可用的存储装置的大小以缓冲电影盒,并且当电影被关闭时重新计算电影盒的内容可能太慢。此外,电影片段可以使用常规ISO文件解析器来启用同时记录和文件的回放。此外,针对渐进下载可能要求更短的初始缓冲时长,例如,当电影片段被使用时,同时文件的接收和回放,并且与具有相同媒体内容但是不被结构化具有电影片段的文件相比,初始电影盒更小。
电影片段功能可以使原本可能驻留在电影盒中的元数据能够切分成多个片。每个片可以对应于轨道的某个时间段。换而言之,电影片段特征使文件元数据和媒体数据能够交叉。因此,电影盒的大小可以是受限制的,并且上述使用情形可以被实现。
在一些示例中,如果针对电影片段的媒体样本与moov盒在相同文件中,则它们可以驻留在mdat盒中。然而,针对电影片段的元数据,moof盒可以被提供。moof盒可以包括针对应该先前已经在moov盒中的回放时间的某个持续时间的信息。moov盒本身可能仍然表示有效的电影,但是附加地,它可能包括mvex盒,该mvex盒指示电影片段将跟随在同一文件中。电影片段可以实时扩展与moov盒相关联的展示。
在电影片段内可能存在轨道片段集,包括每条轨道从零到多个的任何位置。轨道片段转而可以包括从零到多个轨道运行的任何位置,轨道运行的每个轨道运行文件是针对该轨道的样本的连续运行。在这些结构内,许多字段是可选的,并且可以是默认的。可以被包括在moof盒中的元数据可以被限于元数据的子集,该元数据的子集可以被包括在moov盒中,并且在一些情况下可以被不同地编码。关于可以被包括在moof盒中的盒的细节可以从ISO基本媒体文件格式规范中找到。独立电影片段可以被定义为由文件顺序连续的moof盒和mdat盒组成,其中mdat盒包含电影片段的样本(针对该样本,moof盒提供元数据),并且不包含任何其他电影片段的样本(即,任何其他moof盒)。
轨道参考机制可以被用以将轨道相互关联。TrackReferenceBox包括(多个)盒,盒的每个盒提供了从包含轨道到其他轨道集的参考。这些参考通过(多个)所包含的盒的盒类型(即,盒的四个字符代码)被标注。语法可以被指定如下:
track_IDs可以被指定为提供所参考的轨道的轨道标识符或所参考的轨道组的track_group_id值的整数数组。track_IDs[i]的每个值(其中i是track_IDs[]数组的有效索引)是整数,它提供了从包含的轨道到具有track_ID等于track_IDs[i]的轨道或到具有track_group_id等于track_IDs[i]并且TrackGroupTypeBox的标志字段的特定比特(例如,最低有效位)等于1的两者的轨道组参考。当track_group_id值被参考时,除非在特定轨道参考类型的语义中另有说明,否则轨道参考将单独地应用于所参考的轨道组的每个轨道。值0可能不被允许存在。
轨道分组机制能够指示轨道组,其中每个组共享特定特性或组内的轨道具有特定关系。TrackGroupBox可能被包含在TrackBox中。TrackGroupBox包含从TrackGroupTypeBox导出的零个或多个盒。特定特征或关系由所包含的盒的盒类型表示。所包含的盒包括标识符,该标识符可以被用以推断属于相同轨道组的轨道。在TrackGroupBox内包含相同类型的所包含的盒并且在这些所包含的盒内具有相同标识符值的轨道属于同一轨道组。
ISO基本媒体文件格式包含针对可以与特定样本相关联的定时元数据的三种机制:样本组、定时元数据轨道和样本辅助信息。所导出的规范可以利用这三种机制中的一个或多个机制来提供类似的功能。
在ISO基本媒体文件格式及其衍生格式(诸如AVC文件格式和SVC文件格式)中的样本分组可以被定义为基于分组标准将轨道中的每个样本分配为一个样本组的成员。样本分组中的样本组不限于是连续样本,并且可以包含不相邻的样本。由于针对轨道中的样本可能存在超过一个样本分组,每个样本分组可以具有类型字段以指示分组的类型。样本分组可以由两个链接的数据结构表示:(1)表示将样本分配给样本组的SampleToGroupBox(sbgp盒);以及(2)SampleGroupDescriptionBox(sgpd盒)包含针对每个样本组、描述该组的属性的样本组条目。基于不同的分组标准,可能存在多个SampleToGroupBox和SampleGroupDescriptionBox的实例。这些可以由用以指示分组类型的类型字段来区分。SampleToGroupBox可以包括grouping_type_parameter字段,该字段可以被用以例如指示分组的子类型。
对ISO基本媒体文件格式标准的修改草案对精简样本至组的映射解释如下:
盒类型:′csgp′
容器:SampleTableBox或TrackFragmentBox
强制:不
数量:零个或更多个。
精简样本至组盒提供了一种更精简的方式以表示从样本至组的映射,尤其是在存在重复模式的情况下,以及存在较少的特定类型的样本组情况下。
该设计使用级联模式的向量,每个模式由映射数组使用一次,映射数组将样本的运行与该模式的重复相关联。这是由以下示例说明的。在下文中,每个字母表示不同的样本组描述索引值(可能为0)。
如果轨道具有以下关联,从第一样本开始:
a b c b a b c b a b c x x a b c b a b d b
这些关联可以由下文表示:
1.pattern_length=4;sample_count=11;
2.pattern_length=1;sample_count=2;
3·pattern_length=4;sample_count=6;
4.pattern_length=2;sample_count=2;
pattern=[
a b c b//具有长度4的模式4
x//具有长度1的模式2
a b c b//具有长度4的模式3
d b//具有长度2的模式4
]//pattern_length因此为4+1+4+2=11
当sample_count[i]等于pattern_length[i]时,模式不会被重复。
当sample_count[i]大于pattern_length[i]时,第i个模式的sample_group_description_index值被重复使用以映射sample_count[i]值。sample_count[i]不一定是pattern_length[i]的倍数;循环可能在模式的中间终止。
对于当1到pattern(包括)范围中的所有i值的sample_count[i]值的总数小于全部样本计数时,阅读器应当将没有明确组关联的样本与SampleDescriptionGroupBox(如有)中所定义的默认组相关联,否则不与任何组相关联。
对于sample_count[i]值的总数大于由涵盖的TrackBox或TrackFragmentBox所描述的实际样本的全部计数,则其是错误的,并且阅读器行为将是未定义的。
语法:
语义:
版本是指定该盒的版本的整数,当前为0。
group_type是整数,其标识样本分组的类型(即,用以形成样本组的标准),并且将其链接到它的具有针对分组类型的相同值的样本组描述表。对于轨道,应当存在具有针对grouping_type(并且,如果已使用,grouping_type_parameter)相同值的“csgp”或“sbgp”的最多一次出现。
grouping_type_parameter是分组的子类型的指示。
index_msb_indicate_fragment_local_description是标志,当该盒出现在‘trak’盒内时,该标志必须为零,但当该盒出现在‘traf’盒内时,该标志可以为0或1。当其为1时,其指示每个sample_group_description_index的最高有效位(MSB)不形成索引号的一部分,而是相反指示在哪个“sgpd”盒中组描述将被找到:如果MSB为0,则索引从‘trak’盒的‘sgpd’盒中标识组描述;如果MSB为1,索引将从‘traf’盒的‘sgpd’盒中标识组描述。
field_size是整数,指定sample_group_description_index值的数组中条目的比特大小;应当采用值3、7、15或31,相应地指示字段大小为4、8、16、32。如果使用字段大小4,则每个字节包含两个值:entry[i]<<4+entry[i+1];如果大小没有填满整数个字节,则最后一个字节被用零填充。
pattern_count指示其后的模式数组中的相关联的模式的长度。所包括的sample_count值总和表示所映射的样本的数目。
pattern_length[i]对应于sample_group_description_index[j]值的第二数组内的模式。模式长度[i]的每个实例应当大于0。
sample_count[i]指定使用第i个模式的样本的数目。sample_count[i]应当大于零,并且sample_count[i]应当大于或等于pattern_length[i]。
sample_group_description_index[j][k]是整数,其给出描述该组中的样本的样本组条目的索引。索引范围从1到SampleGroupDescriptionBox(包括)中的样本组条目的数目,或者采取值0以指示该样本不是任何该类型的组的成员。
在描述和实施例中,当提及样本至组盒或SampleToGroupBox时,精简样本至组盒等可以被等同地使用。
子样本可以被定义为样本的字节的连续范围。关于子样本的信息可以在(多个)SubSampleInformationBox中被给出,SubSampleInformationBox可以被包括在SampleTableBox和/或(多个)TrackFragmentBox中。子样本的具体定义可以针对给定编码系统和/或针对编码系统的给定包装格式(例如,特定样本条目类型)和/或可以使用包含SubSampleInformationBox的标志字段进一步被指定。例如,针对HEVC的标志字段的值可以指示由SubSampleInformationBox寻址的子样本是NAL单元、解码单元、区块、编码树单元行、切片或所编码的图片。当同一容器盒中存在超过一个的SubSampleInformationBox时,SubSampleInformationBoxes中的每个SubSampleInformationBox中的标志的值可能被要求不同。SubSampleInformationBox的语法可以被指定如下:
SubSampleInformationBox的语法元素的语义可以被指定如下:version是指定该盒版本的整数。entry_count是给出下表中的条目的数目的整数。sample_delta是指示样本具有子样本结构的整数。它按解码顺序被编码为所期望的样本号与前一条目中指示的样本号之间的差值。如果当前条目是轨道中的第一条目,则该值指示具有子样本信息的第一样本的样本号,即该值是样本号和零(0)之间的差值。如果当前条目是具有先前非空轨道片段的轨道片段中的第一条目,则该值指示具有子样本信息的第一样本的样本号与先前轨道片段中最后一个样本的样本号之间的差值。如果当前条目是没有任何先前轨道片段的轨道片段中的第一条目,则该值指示具有子样本信息的第一样本的样本号,即该值是样本号和零(0)之间的差值。这意味着针对描述轨道或轨道片段中的第一样本的第一条目的sample_delta始终是1。subsample_count是指定针对当前样本的子样本的数目的整数。如果不存在子样本结构,则该字段采取值0。subsample_size是以字节为单元指定当前子样本的大小的整数。subsample_priority是指定针对每个子样本的降级优先级的整数。subsample_priority的较高的值指示对解码质量重要并且具有影响较大的子样本。可丢弃的等于0意味着要求子样本对当前样本进行解码,同时等于1意味着不要求子样本对当前样本进行解码,但是可以被用于增强,例如,子样本由补充增强信息(SEI)消息构成。codec_specific_parameter由使用中的编解码器和/或其包装格式(例如,样本条目类型)所定义。如果没有这种定义是可用的,则该字段被设置为0。
Matroska文件格式能够(但不限于)在一个文件中存储任何视频、音频、图片或字幕轨道。Matroska可以被用作针对所导出的文件格式(诸如,WebM)的基础格式。Matroska使用可扩展二进制元语言(EBML)作为基础。受XML原则的启发,EBML指定二进制和八进制(字节)对齐格式。EBML本身是对二进制标示技术的普遍描述。Matroska文件由组成EBML“文件”的元素构成。元素包含元素ID、元素大小的描述符和二进制数据本身。元素可以是嵌套的。Matroska的段元素是针对其他顶级(1级)元素的容器。Matroska文件可以包含(但不限于)一个段。Matroska文件中的多媒体数据按集群(或集群元素)组织,每个数据通常包含几秒钟的多媒体数据。集群包括BlockGroup元素,其又包括块元素。线索元素包括可以协助随机访问或查找的元数据,并且可以包括文件指针或针对查找点的相应时间戳。
视频编解码器由将输入视频变换成适合用于存储/传输的所压缩的表示的编码器和可以将所压缩的视频表示解压缩回到可视形式的解码器组成。视频编码器和/或视频解码器也可以是彼此分离的,即不需要形成编解码器。通常,编码器丢弃原始视频序列中的一些信息,以便以更精简的形式(即,以更低的比特率)表示视频。
典型的混合视频编码器(例如,ITU-T H.263和H.264的许多编码器实现)分两个阶段对视频信息进行编码。首先,由例如运动补偿部件(在先前所编码的视频帧中的一个视频帧中找到并且指示与正在被编码的块紧密对应的区域)或由空间部件(使用以特定方式编码的块周围的像素值)预测某些图片区域(或“块”)中的像素值。其次,对预测误差(即,所预测的像素块和原始像素块之间的差值)进行编码。这通常通过使用所指定的变换(例如,离散余弦变换(DCT)或其变型)、量化系数以及对所量化的系数进行熵编码来完成。通过改变量化过程的保真度,编码器可以控制像素表示的准确性(图像质量)和生成的所编码的视频表示的大小(文件大小或传输比特率)之间的平衡。
在时间预测中,预测的来源是先前所解码的图片(也被称为参考图像)。块内副本(IBC;也被称为块内复制预测),预测类似于时间预测被应用,但是参考图片是当前图片,并且在预测过程中仅先前所解码的样本可以被参考。层间或视图间的预测可以类似于时间预测被应用,但是参考图片是相应地来自另一可分级层或另一视图的所解码的图片。在某些情况下,帧间预测可以仅指时间预测,而在其他情况下,帧间预测可以被统称为时间预测以及块内复制、层间预测和视图间预测中的任何预测,前提是它们被执行在与时间预测相同或相似的过程中。帧间预测或时间预测有时可以被称为运动补偿或运动补偿的预测。
帧间预测(也可以被称为时间预测、运动补偿或运动补偿的预测)减少了时间冗余。在帧间预测中,预测源是先前所解码的图片。帧内预测利用了同一图像内的相邻像素可能是相关的事实。帧内预测可以被执行在空间域或变换域中,即,样本值或变换系数可以被预测。帧内预测通常被利用在不应用帧间预测的帧内编码中。
编码程序的一个结果是编码参数集,诸如运动向量和所量化的变换系数。如果许多参数首先从空间或时间上相邻的参数被预测,则它们可以被更有效地熵编码。例如,运动向量可以从空间相邻的运动向量中被预测,并且仅可以对相对于运动向量预测器的差异进行编码。编码参数的预测和帧内预测可以被统称为图片中的预测。
图4示出了适用于采用本发明实施例的视频编码器的框图。图4展示了针对两层的编码器,但是应当理解,所呈现的编码器可以类似地被扩展以编码多于两层。图4说明了视频编码器的实施例,其包括针对基本层的第一编码部分500和针对增强层的第二编码部分502。第一编码部分500和第二编码部分502中的每个部分可以包括用于编码进入图片的类似元素。编码器部分500、502可以包括像素预测器302、402、预测误差编码器303、403和预测误差解码器304、404。图4还示出了像素预测器302、402的实施例,其包括帧间预测器306、406、帧内预测器308、408、模式选择器310、410、过滤器316、416和参考帧存储器318、418。第一编码器部分500的像素预测器302在帧间预测器306(其确定图像和运动所补偿的参考帧318之间的差异)和帧内预测器308(其仅基于当前帧或图片的已处理的部分确定针对图像块的预测)处接收将被编码的视频流的基本层图像300。帧间预测器和帧内预测器两者的输出被传递到模式选择器310。帧内预测器308可以具有超过一个的帧内预测模式。因此,每个模式可以执行帧内预测,并且将所预测的信号提供给模式选择器310。模式选择器310还接收基本层图片300的副本。对应地,第二编码器部分502的像素预测器402在帧间预测器406(其确定图像和运动所补偿的参考帧418之间的差异)和帧内预测器408(其仅基于当前帧或图片的已处理部分确定图像块的预测)两者处接收将被编码的视频流的增强层图像400。帧间预测器和帧内预测器两者的输出被传递到模式选择器410。帧内预测器408可以具有超过一个的帧内预测模式。因此,每个模式可以执行帧内预测,并且将所预测的信号提供给模式选择器410。模式选择器410还接收增强层图片400的副本。
取决于选择何种编码模式以当前块进行编码,预测器间306、406的输出或可选预测器内的模式中的一个模式的输出或模式选择器内表面编码器的输出被传递给模式选择器310、410的输出。模式选择器的输出被传递给第一求和设备321、421。第一求和设备可以从基本层图像300/增强层图像400中减去像素预测器302、402的输出,以产生第一预测误差信号320、420,该第一预测误差信号320、420到预测误差编码器303、403的输入。
像素预测器302、402进一步从初步重建器339、439接收图像块312、412的预测表示和预测误差解码器304、404的输出338、438的组合。初步所重建的图像314、414可以被传递到帧内预测器308、408和过滤器316、416。接收初步表示的过滤器316、416可以过滤初步表示并且输出最终所重建的图像340、440,该最终所重建的图像可以被保存在参考帧存储器318、418中。参考帧存储器318可以被连接到帧间预测器306,以用作参考图像,在帧间预测操作中,未来的基本层图片300与参考图像进行比较。根据一些实施例,在基本层被选择并且被指示为用于增强层的层间样本预测和/或层间运动信息预测的源的情况下,参考帧存储器318还可以被连接到帧间预测器406,以用作未来的增强层图片400在帧间预测操作中与其进行比较的参考图像。此外,参考帧存储器418可以被连接到帧间预测器406,以用作在帧间预测操作中未来增强层图片400与其进行比较的参考图像。
根据一些实施例,来自第一编码部分500的过滤器316的过滤参数可以被提供给第二编码部分502,前提是基本层被选择并且被指示为用于预测增强层的过滤参数的源。
预测误差编码器303、403包括变换单元342、442和量化器344、444。变换单元342、442将第一预测误差信号320、420变换到变换域。例如,该变换是DCT变换。量化器344、444量化变换域信号,例如DCT系数,以形成所量化的系数。
预测误差解码器304、404接收来自预测误差编码器303、403的输出,并且执行预测误差编码器303、403的相反处理,以产生所解码的预测误差信号338、438,当其在第二求和设备339、439处与图像块312、412的预测表示组合时,产生初步所重建的图像314、414。预测误差解码器可以被认为包括去量化器361、461,其对所量化的系数值(例如,DCT系数)进行去量化,以重建变换信号和逆变换单元363、463,逆变换单元363、463对所重建的变换信号执行逆变换,其中逆变换单元363、463的输出包含(多个)所重建的块。预测误差解码器还可以包括块滤波器,其可以根据进一步所解码的信息和滤波器参数对(多个)所重建的块进行过滤。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行适当的熵编码/可变长度编码,以提供误差检测和纠正能力。熵编码器330、430的输出可以例如由多路复用器508来插入到比特流中。
H.264/AVC标准是由国际电信联盟(ITU-T)的电信标准化部门的视频编码专家组(VCEG)的联合视频小组(JVT)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图像专家组(MPEG)开发的。H.264/AVC标准是由两个上级标准化组织发布的,并且它被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,也被称为MPEG-4部分10高级视频编码(AVC)。存在多个H.264/AVC标准的版本,在规范中集成了新的扩展或特征。这些扩展包括可分级视频编码(SVC)和多视图视频编码(MVC)。
高效视频编码(H.265/HEVC,即HEVC)标准的版本1是由VCEG和MPEG的视频编码(JCT-VC)——联合协作小组开发。该标准由上级标准化组织两者发布,并且其被称为ITU-T推荐H.265和ISO/IEC国际标准23008-2,也称为MPEG-H部分2高效视频编码(HEVC)。H.265/HEVC的后续版本包括可分级、多视图、保真度范围扩展、三维和屏幕内容编码扩展,其可以相应地被缩写为SHVC、MV-HEVC、REXT、3D-HEVC和SCC。
SHVC、MV-HEVC和3D-HEVC使用HEVC标准的版本2的附录F中所指定的通用基础规范。该通用基础包括例如高级语法和语义,例如指定比特流的层的一些特性(诸如,层间依赖性)以及解码过程(诸如包括层间参考图片的参考图片列表构建和针对多层比特流的图片顺序计数推导)。附录F也可以被用在HEVC的潜在的后续多层扩展中。应当理解,尽管视频编码器、视频解码器、编码方法、解码方法、比特流结构和/或可以在下文中参考特定的扩展(诸如,SHVC和/或MV-HEVC)被描述的实施例,但是它们通常适用于HEVC的任何多层扩展,并且更一般地适用于任何多层视频编码方案。
通用视频编码(VVC、H.266或H.266/VVC)标准的标准化工作已经在ITU-T和MPEG的联合视频专家小组(JVET)中启动。
在本部分中,H.264/AVC和HEVC的一些关键定义、比特流和编码结构以及概念被描述为其中实施例可被实现的视频编码器、解码器、编码方法、解码方法和比特流结构的示例。H.264/AVC的一些关键定义、比特流和编码结构以及概念与HEVC的相同——因此下文将对其进行共同描述。本发明的方面不限于H.264/AVC或HEVC,而是描述了本发明可以被部分或全部实现的一个可能的基础。下文在H.264/AVC或HEVC的上下文中所描述的许多方面可以应用于VVC,因此本发明的各方面可以被应用于VVC。
与许多较早的视频编码标准类似,H.264/AVC和HEVC指定了针对无误差比特流的比特流语法和语义以及解码过程。编码过程没有被指定,但是编码器必须生成一致的比特流。比特流和解码器一致性可以利用假设参考解码器(HRD)被验证。这些标准包含有助于处理传输错误和丢失的编码工具,但是在编码中这些工具的使用是可选的,并且还没有针对错误的比特流所指定的任何解码过程。
针对H.264/AVC或HEVC编码器的输入的基本单元和H.264/AVC或HEVC解码器的输出的基本单元分别是图片。作为输入到编码器的给定图片也可以称为源图片,并且由解码来解码的图片可以被称为所解码的图片。
每个源图片和所解码的图片是由一个或多个样本阵列组成,诸如以下样本阵列集中的一个阵列:
-仅亮度(Y)(单色)。
-亮度和两个色度(YCbCr或YCgCo)。
-绿色、蓝色和红色(GBR,也被称为RGB)。
-表示其他未指定的单色或三刺激彩色采样的阵列(例如,YZX,也被称为XYZ)。
在下文中,这些阵列可称为亮度(或L或Y)和色度,其中两个色度阵列可称为Cb和Cr;而不考虑使用中的实际颜色表示。使用中的实际颜色表示可以例如在所编码的比特流中指示(例如,使用H.264/AVC和/或HEVC的视频可用性信息(VUI)语法)。组件可以被定义为来自三个样本阵列(亮度和两个色度)中的一个阵列的阵列或单个样本,或组成单色格式图片的阵列或阵列的单个样本。
在H.264/AVC和HEVC中,图片可以是帧,也可以是场。帧包括亮度样本矩阵和可能的对应色度样本矩阵。场是帧的交替样本行的集,当源信号交错时,可以被用作编码器输入。与亮度样本阵列相比时,色度样本阵列可能不存在(并且因此可能正在使用单色采样),或者色度样本阵列可能被二次采样。色度格式可以被总结如下:
-在单色采样中,仅存在一个样本阵列,其名义上可以认为是亮度阵列。
-在4:2:0采样中,两个色度阵列中的每个阵列的高度和宽度是亮度阵列的一半。
-在4:2:2采样中,两个色度阵列中的每个阵列的高度与亮度阵列相同,并且宽度是亮度阵列的一半。
-在4:4:4采样中,当不使用分离的颜色平面时,两个色度阵列中的每个阵列的高度和宽度与亮度阵列相同。
在H.264/AVC和HEVC中,可以将样本阵列作为单独的颜色平面编码到比特流中,并且相应地从比特流中解码单独地所编码的颜色平面。当使用单独的彩色平面时,它们中的每一个平面被单独地处理(由编码器和/或解码器)为具有单色采样的图片。
划分可以被定义为将集合分割为多个子集,使得该集的每个元素精确地在子集中的一个子集内。
当描述HEVC编码和/或解码的操作时,可以使用以下术语。编码块可以被定义为针对某个N值的NxN样本块,使得将编码树块分割为编码块是一种划分。编码树块(CTB)可以被定义为针对某个N值的NxN样本块,使得将组件分割为编码树块是划分。编码树单元(CTU)可以被定义为亮度样本的编码树块、具有三个样本阵列的图片的色度样本的两个对应的编码树块、或使用三个单独的颜色平面和用以编码样本的语法结构来编码的单色图片或图片的样本的编码树块。编码单元(CU)可以被定义为亮度样本的编码块、具有三个样本阵列的图片的色度样本的两个对应编码块、或使用三个单独的颜色平面和用以编码样本的语法结构来编码的单色图片或图片的样本的编码块。具有最大所允许大小的CU可以被命名为LCU(最大编码单元)或编码树单元(CTU),并且视频图像被分割为不重叠的LCU。
CU由定义针对CU内的样本的预测过程的一个或多个预测单元(PU)和定义针对所述CU中的样本的预测误差编码过程的一个或多个变换单元(TU)组成。通常下,CU由样本的方形块组成,其大小是可从可能的CU大小的预定义集中选择的。为了相应地增加预测的粒度和预测误差编码过程,每个PU和TU可以进一步被切分为更小的PU和TU。每个PU具有与其相关联的预测信息,该预测信息定义了将针对该PU内的像素应用哪种预测(例如,针对所预测的PU间的运动向量信息和针对所预测PU内的内预测方向信息)。
每个TU可以与描述针对所述TU内样本的预测误差解码过程的信息相关联(例如,包括DCT系数信息)。通常在CU级别所发出信号,告知是否针对每个CU应用预测误差编码。在不存在与CU相关联的预测误差残留的情况下,可以认为不存在针对所述CU的TU。将图像分割为多个CU,以及将多个CU分割为多个PU和多个tu通常在比特流中发出信号,允许解码器再现这些单元的所预期的结构。
在HEVC,图片可以被划分成多个区块,这些区块是矩形的并且包含整数个LCU。在HEVC中,区块的划分形成规则的网格,其中区块的高度和宽度彼此之间最多相差一个LCU。在HEVC,切片被定义为包含在一个独立的切片段中的整数个编码树单元,以及同一访问单元内的下一独立切片段(如果有)之前的所有后续依赖切片段(如有)。在HEVC中,切片段被定义为在区块扫描中连续排序的整数个编码树单元并且被包含在单个NAL单元中。将每张图片分割成切片段是划分。在HEVC中,独立的切片段被定义为针对该切片段,切片段报头的语法元素的值不是从针对先前切片段的值中所推断出来的切片段,并且依赖切片段被定义为针对该切片段,切片段报头的一些语法元素的值是按照解码顺序从针对先前独立切片段的值中所推断出来的切片段。在HEVC中,切片报头被定义为独立切片段的切片段报头,该独立切片段是当前切片段,或者是在当前依赖切片段之前的独立切片段,并且切片段报头被定义为包含与切片段中所表示的第一或所有编码树单元有关的数据元素的所编码的切片段的一部分。如果区块没有在使用中,则区块内的或图片内的CU以LCU的光栅扫描顺序被扫描。在LCU内,CU具有特定的扫描顺序。
在HEVC中的切片段层RBSP具有以下语法:
slice_segment_header()语法开始如下:
本文中,first_slice_segment_in_pic_flag和slice_segment_address取决于切片段在图片中的位置,而其他语法元素的值在相同所编码的图片的所有独立切片段中是多次不变的。
运动所约束的区块集(MCTS)是使得帧间预测过程在编码中被约束,使得在运动所约束的区块集之外的没有样本值、并且在使用运动所约束的区块集之外的一个或多个样本值所导出的分数样本位置处没有样本值被用于在运动所约束的区块集内的任何样本的帧间预测。附加地,MCTS的编码被约束,使得运动向量候选不是从MCTS以外的块中得出的。这可以通过关闭HEVC的时间运动向量预测来强制执行,或者通过禁止编码器使用针对位于MCTS的右区块边界的正左侧(除了位于MCTS右下方的最后一个除外)的PU的合并或AMVP候选列表中的TMVP候选之后的TMVP候选或任何运动向量预测候选来强制执行。一般地,MCTS可以被定义为独立于任何样本值和所编码的数据(诸如,在MCTS之外的运动向量)的区块集。在某些情况下,MCTS可能被要求形成矩形区域。应当理解,取决于上下文,MCTS可以指图片内的区块集或图片序列中的相应的区块集。相应的区块组可以是(但是通常不需要是)在图片序列中并置。
注意,在帧间预测中所使用的样本位置可能被编码和/或解码过程饱和,使得原本应该在图片外的位置被饱和以指向图片的对应边界样本。因此,如果区块边界也是图片边界,在某些使用情况下,编码器可以允许运动向量有效地跨越该边界,或者允许运动向量有效地引起分数样本插值(interpolation),该分数样本插值指的是因为样本位置在边界上是饱和的,该边界之外的位置。在其他使用情况下,具体而言,如果所编码的区块可以从位于图片边界相邻的比特流的位置上被提取到另一比特流中,其中该区块位于与图片边界不相邻的位置上,则编码器可以类似于任何MCTS边界将运动向量约束在图像边界上。
HEVC的时间运动所约束的区块集SEI消息可以被用以指示比特流中运动所约束的区块集的存在。
需要理解的是,即使一些示例和实施例被描述为关于MCTS的,它们也可以类似地利用独立地可解码的时空单元的其他类似概念来实现。此外,针对这种时空单元的运动约束可以类似于上述MCTS的方式予以指定。这种时空单元示例包括但不限于运动所约束的切片和运动所约束的图片。运动所约束的切片是使得帧间预测过程被约束在编码中,使得在运动所约束的切片之外没有语法或所导出的变量、在运动所约束切片的之外没有样本值、以及在使用运动所约束的切片之外的一个或多个样本值所导出的分数样本位置处没有样本值被用于运动所约束的切片内任何样本的帧间预测。运动所约束的图片是使得帧间预测过程在编码中被约束,使得在不特别考虑图片边界的情况下运动所约束的图片之外没有语法或所导出的变量、在不特别考虑图片边界的情况下运动所约束的图片之外没有样本值、以及在不特别考虑图片边界的情况下在使用运动所约束的图片之外的一个或多个样本值所导出的分数样本位置处没有样本值被用于运动所约束的图片内任何样本的帧间预测。图片边界的这种特殊考虑例如可以是图像边界内的坐标饱和,以及推断在图像边界之外的块或运动向量在预测过程中是不可用的。当在单个时间实例或单个图片的上下文中短语时空单元被使用时,其可以被认为空间单元,对应于所编码图片的某个子集,并且当被解码时,对应于所解码的图片区域的特定子集。
解码器通过应用类似于编码器的预测部件重建输出视频,以形成像素块的所预测的表示(使用由编码器创建的并且被存储在所压缩的表示中的运动或空间信息)和预测误差解码(预测误差编码的反向操作,恢复空间像素域中所量化的预测误差信号)。在应用预测和预测误差解码部件后,解码器将预测和预测误差信号(像素值)相加以形成输出视频帧。解码器(和编码器)还可以在将输出视频传递给显示器和/或将其存储为视频序列中即将到来的帧的预测参考之前,应用附加的过滤部件以提高输出视频的质量。
过滤可以例如包括以下项中的一项或多项:去块过滤、样本适应偏移(SAO)和/或适应环路过滤(ALF)。H.264/AVC包括去块过滤,而HEVC包括去块过滤和SAO两者。
在典型的视频编解码器中,运动信息是利用与每个运动所补偿的图像块相关联的运动向量(诸如预测单元)来指示的。这些运动向量中的每个向量表示要被编码(在编码器侧)或被解码(在解码器侧)的图像块和先前所编码或所解码的图片中的一个图片中的预测源块的位移。为了有效地表示运动向量,这些运动向量通常被差分编码为关于块特定的所预测的运动向量。在典型的视频编码解码器中,所预测的运动向量以预定义的方式创建,例如计算相邻块的所编码或所解码的运动向量的中值。创建运动向量预测的另一种方式是从时间参考图片中的相邻块和/或共同定位的块生成候选预测列表,并且发出将所选择的候选预测作为运动向量预测的信号。此外,为了预测运动向量值,可以预测哪些(多个)参考图像被用于运动补偿预测,并且该预测信息可以例如由先前所编码/所解码的图片的参考索引来表示。参考索引通常从时间参考图片中的相邻块和/或共同定位的块中预测。此外,典型的高效视频编解码器采用附加的运动信息编码/解码机制,通常被称为正在合并/合并模式,其中在没有任何修改/纠正的情况下,预测和使用所有运动场信息,其包括针对每个可用参考图片列表的运动向量和对应的参考图片索引。类似地,使用时间参考图片中相邻块和/或共同定位块的运动场信息进行运动场信息预测,并且所使用的运动场信息在充满可用的相邻/共同定位块的运动场信息的运动场候选列表中被发信号通知。
在典型的视频编码解码器中,运动补偿后的预测残差首先用变换核(如DCT变换)进行变换,然后进行编码。这是因为残差之间通常仍然存在一定的相关性,并且在许多情况下,变换可以帮助降低这种相关性并且提供更有效的编码。
典型的视频编码器利用拉格朗日成本函数来寻找最佳编码模式,例如针对块和相关联的运动向量的所期望的编码模式。这种成本函数使用加权因子λ将由于有损编码方法导致的(准确的或所估计的)图像失真与所要求表示图像区域中的像素值的(准确或所估计的)信息量联系起来:
C=D+λR, (1)
其中C是所要最小化的拉格朗日成本,D是具有所考虑的模式和运动向量的图像失真(例如,均方误差),R是表示在解码器中重建图像块所需数据所要求的比特数目(包括表示候选运动向量的数据量)。
视频编码标准和规范可以允许编码器将所编码的图像分割成所编码的切片段等。图片内预测通常是跨切片边界禁用。因此,切片可以被视为将编码图像切分成独立地可解码的片的方式。在H.264/AVC和HEVC中,跨切片边界的图像内预测可以是禁用的。因此,切片可以被视为将所编码的图像切分成独立地可解码的片的方式,并且因此切片通常被视为传输的基本单元。在许多情况下,编码器可以在比特流中指示哪些类型的图像内预测跨切片边界被关闭,并且例如在推断哪些预测源是可用的时,解码器操作考虑该信息。例如,如果邻近CU驻留在不同的切片中,则来自邻近CU的样本可以被视为不可用于帧内预测。
针对H.264/AVC或HEVC编码器的输出和H.264/AVC或HEVC解码器的输入的基本单元分别是网络抽象层(NAL)单元。对于通过面向分组的网络运输或存储到所结构化的文件中,NAL单元可以被包装到分组或类似结构中。字节流格式已经在H.264/AVC和HEVC被指定用于传输或不提供帧结构的存储环境。字节流格式通过在每个NAL单元前附加起始代码来将NAL单元彼此分离。为了避免对NAL单元边界的错误检测,编码器运行面向字节的起始代码仿真防止算法,如果起始代码原本会发生,该算法将仿真防止字节添加到NAL单元有效载荷中。为了在面向分组和面向流的系统之间启用简单的网关操作,无论是否字节流格式在使用中,始终可以执行起始代码仿真防止。NAL单元可以被定义为语法结构,该语法结构包含对要遵循的数据类型的指示以及包含该数据的字节,该数据的形式为在必要时散布具有仿真防止字节的RBSP。原始字节序列有效载荷(RBSP)可以被定义为包含整数个字节的语法结构,该结构被包装在NAL单元中。RBSP或者为空,或者具有包含语法元素的数据比特串的形式,后跟随RBSP停止比特,以及跟随零个或多个等于0的后续比特。
NAL单元由报头和有效载荷组成。在H.264/AVC和HEVC中,NAL单元报头指示NAL单元的类型。
在HEVC中,两个字节的NAL单元报头被用于所有所指定的NAL单元类型。NAL单元报头包含一个所保留的比特、六比特的NAL单元类型指示、针对时间级别的三比特的nuh_time_id_plus指示(可能被要求大于或等于1)和六比特的nuh_layer_id语法元素。temporal_id_plus1语法元素可以被视为针对NAL单元的时间标识符,并且基于零的TemporalId变量可以被导出如下:TemporalId=temporal_id_plus1–1。缩写TID可以与TemporalId变量可交换地使用。TemporalId等于0对应于最低时间级别。temporal_id_plus1的值被要求不为零,以避免涉及两个NAL单元报头字节的起始代码仿真。通过排除具有TemporalId大于或等于所选择的值的所有VCL·NAL单元并且包括所有其他VCL·NAL单元来创建的比特流保持一致。因此,具有TemporalId等于tid_value的图片不使用任何具有TemporalId大于tid_value的任何图片作为帧间预测参考。子层或时间子层可以被定义为时间可分级比特流的时间可分级层(或时间层TL),包括具有TemporalId变量的特定值的VCL·NAL单元和相关联的非VCL·NAL单元。nuh_layer_id可以理解为可分级性层标识符。
NAL单元可以分类为视频编码层(VCL)NAL业务单元和非VCL NAL单元。VCL NAL单元通常是所编码的切片NAL单元。在HEVC中,VCL NAL单元包含表示一个或多个CU的语法元素。
在HEVC中,针对图片类型的缩写可以被定义如下:拖尾(TRAIL)图片、时间子层访问(TSA)、逐级时间子层访问(STSA)、随机访问可解码引导(RADL)图片、随机访问跳过引导(RASL)图片、中断链接访问(BLA)图片、即时解码刷新(IDR)图片、干净随机访问(CRA)图片。如上表所指示的,某些图片类型是更加细粒度的。例如,指定了三种类型的BLA图片,即不具有引导图片的BLA、具有可解码引导图片(即,不具有RASL图片)的BLA以及具有任何引导图片的BLA。
随机访问点(RAP)图片(其也可以被称为随机访问图片或内部随机访问点(IRAP)图片)可以仅包括内部所编码的图像段。此外,RAP图片可以按照输出顺序约束后续图片,使得它们可以被正确解码,而无需按照解码顺序对RAP图片之前的任何图片执行解码处理。在HEVC中,IRAP图片可以是BLA图片、CRA图片或IDR图片。在HEVC中,如果必要的参数集在它们需要被激活时是可用的,则独立层处的IRAP图片和独立层处的所有后续非RASL图片可以按解码顺序被正确地解码,而无需按解码顺序对IRAP图片之前的任何图片进行解码处理。比特流中可能存在仅包含非IRAP图片的内部所编码的切片的图片。
在HEVC中,CRA图片可以是比特流中按解码顺序排列的第一图片,也可以出现在比特流的后面。HEVC中的CRA图片允许所谓的引导图片按照解码顺序跟随在CRA图片之后,但是按照输出顺序在它之前。一些引导图片(所谓的RASL图片)可以使用在CRA图片之前所解码的图片作为参考。如果在CRA图像上执行随机访问,则在解码和输出顺序上跟随CRA图像的图像是可解码的,并且因此实现类似于IDR图片的干净随机访问功能的干净随机访问。
CRA的照片可能具有与RADL或RASL相关联的图片。当CRA图片是比特流中按解码顺序的第一图片时,CRA图片是按解码顺序的所编码的视频序列的第一图片,并且任何相关联的RASL图片不被解码器输出并且可以是不可解码的,因为它们可能包含对比特流中不存在的图片的参考。
引导图片是指按照输出顺序位于相关联的RAP图片之前的图片。相关联的RAP图片是按解码顺序的先前RAP图片(如有)。引导图片或者是RADL的图片,或者是RASL的图片。
所有RASL图片是相关联的BLA或CRA图片的引导图片。当相关联的RAP图片是BLA图片或比特流中的第一所编码的图片时,由于RASL图片可能包含对比特流中不存在的图片的参考,因此RASL图片不是输出,并且可能无法被正确地解码。但是,如果解码是在RASL图片的相关联的RAP图片之前从RAP图片开始,则可以正确地对RASL图片进行解码。RASL图片不被用作针对非RASL图片的解码过程的参考图片。当存在时,所有RASL图片按照解码顺序在同一相关联的RAP图片的所有拖尾图片之前。在HEVC标准的一些草稿中,RASL图片被称为针对丢弃(TFD)图片所标记的。
所有的RADL图片是引导图片。RADL图片不被用作针对同一相关联的RAP图片的拖尾图片的解码过程的参考图片。当存在时,所有RADL图像按照解码顺序位于同一相关联的RAP图像的所有拖尾图像之前。在解码顺序中,RADL图片不指代相关联RAP图片之前的任何图片,并且因此,当从相关联的RAP图片开始解码时,其可以被正确地解码。
当从CRA图片开始的比特流的一部分被包含在另一比特流中时,与CRA图片相关联的RASL图片可能无法被正确解码,因为它们中的一些参考图片可能不存在于所组合的比特流中。为了使拼接操作简单,CRA图片的NAL单元类型可以被改变,以指示其是BLA图片。与BLA图片相关联的RASL图片可能无法被正确地解码,因此无法被输出/显示。此外,与BLA图片相关联的RASL图片可以从解码中被省略。
BLA图片可以是比特流中按解码顺序的第一图片,也可以是比特流中较晚出现的图片。每个BLA图片开始新的所编码的视频序列,并且对解码过程具有与IDR图片相似的影响。然而,BLA图片包含指定非空参考图片集的语法元素。当BLA图片具有nal_unit_type等于BLA_W_LP时,其可能具有相关联的RASL图片,这些图片不是由解码器输出的,并且可能不是可解码的,因为它们可能包含对比特流中不存在的图片的参考。当BLA图片具有nal_unit_type等于BLA_W_LP时,它也可能具有相关联的RADL图片,这些图片被指定为待解码。当BLA图片具有nal_unit_type等于BLA_W_DLP时,其不具有相关联的RASL图片的,但是可能具有相关联的RADL图片,这些图片被指定为待解码的。当BLA图片具有nal_unit_type等于BLA_N_LP时,它不具有任何相关联的引导图片。
具有等于IDR_N_LP的nal_unit_type的IDR图片在比特流中不存在相关联的引导图片。具有等于IDR_W_LP的nal_unit_type的IDR图片在比特流中不具有相关联的RASL图片,但是可能在比特流中具有相关联的RADL图片。
当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14时,所解码的图片不被用作针对同一时间子层的任何其他图片的参考。即,在HEVC中,当nal_unit_type的值等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14时,在具有相同TemporalId值的任何图片的任何RefPicSetStCurrBefore、RefPicSetStCurrAfter、和RefPicSetLtCurr中不包括所解码的图片。具有nal_unit_type等于TRAIL_N、TSA_N、STSA_N、RADL_N、RASL_N、RSV_VCL_N10、RSV_VCL_N12或RSV_VCL_N14的所编码的图片可以被丢弃,而不影响具有相同TemporalId值的其他图片的可解码性。
拖尾图片可以被定义为按照输出顺序遵循相关联的RAP图片的图片。作为拖尾图片的任何图片不具有nal_unit_type等于RADL_N、RADL_R、RASL_N或RASL_R。作为引导图片的任何图片可以被约束于按照解码顺序位于与同一RAP图片相关联的所有拖尾图片之前。在与具有nal_unit_type等于BLA_W_DLP或BLA_N_LP的BLA图片相关联的比特流中不存在RASL图片。在与具有nal_unit_type等于BLA_N_LP的BLA图片相关联的或与具有nal_unit_type等于IDR_N_LP的IDR图片相关联的比特流中不存在RADL图片。与CRA或BLA图片相关联的任何RASL图片可以被约束于在输出顺序中位于与CRA或BLA图片相关联的任何RADL图片之前。与CRA图片相关联的任何RASL图片可以被约束于按照输出顺序跟随在按照解码顺序CRA图片之前的任何其他RAP图片。
在HEVC中,存在两种图片类型,可以被用以指示时间子层切换点的TSA和STSA图片类型。如果具有TemporalId不超过N的时间子层已经被解码,直至TSA或STSA图片(不包括)并且TSA或STSA图片具有TemporalId等于N+1,则TSA或STSA图像能够使所有后续图片(按解码顺序)的解码具有TemporalId等于N+1。TSA图片类型可以对TSA图片本身以及按照解码顺序跟随TSA图片的同一子层中的所有图片施加约束。这些图片不允许使用来自按照解码顺序在TSA图片之前的同一子层中的任何图片的帧间预测。TSA定义可以进一步对按照解码顺序跟随TSA图片的较高子层中的图片施加约束。如果TSA图片属于与TSA图片相同或更高的子层,则不允许这些图片按照解码顺序参考TSA图片之前的图片。TSA图片具有大于0的TemporalId。STSA类似于TSA图片,但是不对按照解码顺序跟随STSA图片的较高子层中的图片施加约束,并且因此仅使能够向上切换到STSA图片驻留的子层。在嵌套时间可分级性中,所有具有TemporalId大于0的(拖尾)图片可以被标记为TSA图片。
非VCL NAL单元可以是例如以下类型中的一个类型:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元分界符、序列结束NAL单元、比特流结束NAL单元或填充器数据NAL单元。重建所解码的图像可能需要参数集,而重建所解码的样本值不需要许多其他非VCL NAL单元。
通过所编码的视频序列、保持不变的参数可以被包括在序列参数集中。除了解码过程可能需要的参数之外,序列参数集可以可选地包括视频可用性信息(VUI),其包括对于缓冲、图片输出定时、渲染和资源预留可能重要的参数。在HEVC中,序列参数集RBSP包括可以由一个或多个图片参数集RBSP或包含缓冲期SEI消息的一个或多个SEI NAL单元参考的参数。图片参数集包含在多个所编码的图片中可能不变的这种参数。图片参数集RBSP可以包括可以由一个或多个所编码的图片的所编码的切片NAL单元参考的参数。
在HEVC中,视频参数集(VPS)可以被定义为包含应用零个或多个完整所编码的视频序列的语法元素的语法结构,该语法元素如由在SPS中所找到的语法元素的内容确定,由在PPS中所找到的语法元素所参考的、在每个切片段报头中所找到的语法元素所参考。
视频参数集RBSP可以包括可以由一个或多个序列参数集RBSP所参考的参数。
视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)之间的关系和层次可以被描述如下。VPS驻留在参数集层次和可分级性和/或3D视频的上下文中的SPS上的一个级别。VPS可以包括针对整个所编码的视频序列中所有层(可分级性或视图)的所有切片的通用参数。SPS包括针对整个所编码的视频序列中特定(可分级性或视图)层中所有切片的通用参数,并且可以由多个(可分级性或视图)层共享。PPS包括针对特定层表示(一个访问单元中的一个可分级性或视图层的表示)中所有切片通用的参数,并且可能由多层表示中的所有切片所共享。
VPS可以提供关于比特流中各层的依赖关系的信息,以及适用于整个所编码的视频序列中跨所有(可分级性或视图)层的所有切片的许多其他信息。VPS可以被视为包括两个部分,基本VPS和VPS扩展,其中VPS扩展是可选择性地存在的。
带外传输、信号传输或存储可以附加或备选地用于传输错误容限之外的其他目的,诸如便于访问或会话协商。例如,符合ISO基本媒体文件格式的文件中轨道的样本条目可以包括参数集,而比特流中的所编码的数据被存储在文件的其他地方或其他文件中。沿着比特流的短语(例如,指示沿着比特流)可以在权利要求和所描述实施例中用以指代带外数据与比特流相关联的方式的带外传输、信令或存储。沿着比特流等进行的短语解码可以指代对与比特流相关联的所参考的带外数据(其可以从带外传输、信令或存储中获得)进行解码。
SEI NAL单元可以包含一个或多个SEI消息,这些消息对于输出图片的解码不是必需的,但是可以协助有关的处理,诸如图像输出定时、渲染、错误检测、错误隐藏和资源预留。H.264/AVC和HEVC中指定了多条SEI消息,并且用户数据SEI消息使组织和公司能够指定针对它们自己使用的SEI消息。H.264/AVC和HEVC包含所指定的SEI消息的语法和语义,但是没有定义用于在接收方处理消息的过程。因此,编码器在创建SEI消息时需要遵守H.264/AVC标准或HEVC标准,并且相应地符合H.264/AVC标准或HEVC标准的解码器不要求针对输出顺序一致性来处理SEI消息。在H.264/AVC和HEVC中包括SEI消息的语法和语义的原因中的一个原因是允许不同的系统规范同一地解释补充信息并且因此交互操作。系统规范可以要求在编码端和解码端两者中使用特定的SEI消息,并且附加地,用于在接收方处理特定SEI消息的过程可以被指定。
在HEVC中,存在两种类型的SEI NAL单元,即具有彼此不同的nal_unit_type值的后缀SEI NAL单元和前缀SEI NAL单元。包含在后缀SEI NAL单元中的(多个)SEI消息是与按照解码顺序位于后缀SEI NAL单元之前的VCL NAL单元相关联的。包含在前缀SEI NAL单元中的(多个)SEI消息是与按照解码顺序位于前缀SEI NAL单元之后的VCL NAL单元相关联的。
所编码的图片是图片的所编码的表示。
在HEVC中,所编码的图片可以被定义为包含图片的所有编码树单元的图片的所编码的表示。在HEVC中,访问单元(AU)可以被定义为NAL单元集,该NAL单元集根据所指定的分类规则彼此是相关联的、按解码顺序连续的、并且最多包含一张具有任何特定nuh_layer_id值的图片。除了包含所编码的图片的VCL·NAL单元之外,访问单元还可以包含非VCL·NAL单元。所述所指定的分类规则可以例如将具有相同输出时间或图片输出计数值的图片关联到相同的访问单元。
比特流可以被定义为以NAL单元流或字节流的形式的比特序列,其形成所编码的图片的表示以及形成一个或多个所编码的视频序列的相关联的数据。在第一比特流之后可以是相同逻辑通道中的第二比特流(诸如,在相同文件中或通信协议的相同连接中)。基本流(在视频编码的上下文中)可以被定义为一个或多个比特流的序列。第一比特流的结束可以由特定的NAL单元来指示,该单元可以被称为比特流结束(EOB)NAL单元,并且是比特流的最后一个NAL单元。在HEVC及其当前的草稿扩展中,EOB NAL单元可以被要求具有nuh_layer_id等于0。
所编码的视频序列可以被定义为这种按解码顺序可独立解码的所编码的图片的序列,并且其后跟随另一所编码的视频序列或比特流结束或序列结束NAL单元。
在HEVC中,当特定的NAL单元(其可以被称为序列结束(EOS)NAL单元)出现在比特流中并且具有nuh_layer_id等于0时,所编码的视频序列可以被附加地或替代地(对于上述规范)指定为结束。
图片组(GOP)及其特性可以被定义如下。无论先前的任何图片是否被解码,GOP可以被解码。开放GOP是这样的图像组,其中当解码从开放GOP的初始内部图片开始时,在输出顺序中的初始内部图片之前的图片可能无法被正确解码。换而言之,开放GOP的图片可以(在帧间预测中)指属于先前GOP的图片。由于特定的NAL单元类型(CRA·NAL单元类型)可以被用于其所编码的切片,因此HEVC解码器可以识别开始开放GOP的内部图片。封闭GOP是这样的图片组,其中当解码从封闭GOP的初始内部图片开始时,所有图片可以被正确地解码。换而言之,在封闭GOP中的没有图片指代先前GOP中的任何图片。在H.264/AVC和HEVC,封闭GOP可以从IDR图片开始。在HEVC中,封闭的GOP也可以从BLA_W_RADL或BLA_N_LP图片开始。开放GOP编码结构与封闭GOP编码结构相比,由于在选择参考图片方面具有更大的灵活性,因此开放GOP在压缩方面可能更有效。
所解码的图片缓冲器(DPB)可以用于编码器和/或解码器中。存在两个缓冲所解码的图片的原因,针对在帧间预测中参考和针对将所解码的图片重新排序为输出顺序。由于H.264/AVC和HEVC针对参考图片标记和输出重新排序两者提供了大量的灵活性,用于参考图片缓冲和输出图片缓冲的单独缓冲器可能会浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的统一所解码的图片缓冲处理。当所解码的图片不再被用作参考并且不需要用于输出时,其可以从DPB中被移除。
可分级的视频编码可以指其中一个比特流可以包含内容的多个表示的编码结构,例如以不同的比特率、分辨率或帧速率。在这些情况下,接收器可以根据其特性(例如,与显示设备最匹配的分辨率)来提取所期望的表示。备选地,服务器或网络元素可以根据例如接收器的网络特性或处理能力来提取将要传输给接收器的比特流的部分。通过仅对可分级的比特流的某些部分进行解码,可以产生有意义的所解码的表示。可分级比特流通常由提供最低质量可用视频的“基本层”和一个或多个增强层组成,增强层在与较低层一起接收和解码时对视频质量进行提升处理。为了提高针对增强层的编码效率,该层的编码表示通常取决于较低层。例如,可以从较低层预测增强层的运动和模式信息。类似地,较低层的像素数据可以被用以创建针对增强层的预测。
在一些可分级视频编码方案中,视频信号可以被编码成基本层和一个或多个增强层。增强层可以增强例如时间分辨率(即,帧速率)、空间分辨率,或者仅是由另一层或其部分表示的视频内容的质量。每一层及其所有依赖层是视频信号的一种表示,例如,在特定的空间分辨率、时间分辨率和质量级别上。在本文件中,我们将可扩展层及其所有依赖层称为“可扩展层表示”。对应于可分级层表示的可分级比特流部分可以被提取和解码,以产生具有特定保真度的原始信号表示。
可分级性模式或可分级性维度可以包括但不限于以下内容:
-质量可分级性:基本层图片以低于增强层图片的质量被编码,这可以例如在基本层中使用比增强层中更大的量化参数值(即,用于变换系数量化的更大量化步长)来实现。质量可分级性可以进一步分为细粒度或细粒度可分级性(FGS)、中粒度或中粒度可分级性(MGS)和/或粗粒度或粗粒度可分级性(CGS),如下所述。
-空间可分级性:基本层图片以低于增强层图片的分辨率被编码(即样本较少)。空间可分级性和质量可分级性,尤其是其粗粒度可分级性类型,有时可能被视为相同类型的可分级性。
-视图可分级性,也称为多视图编码。基本层标识第一视图,而增强层代表第二视图。视图可以被定义为表示一个摄像机或视点的一系列图片。可以认为,在立体或两视图视频中,一个视频序列或视图被呈现给左眼,而平行视图被呈现给右眼。
-深度可分级性,也称为深度增强编码。比特流的一层或一些层可以表示(多个)纹理视图,而其他层或多个层可以代表(多个)深度视图。
应当理解,许多可分级性类型可以被组合并并且被一起应用。
术语层可以被用于包括视图可分级性和深度增强的任何类型的可分级性的上下文。增强层可以指任何类型的增强,诸如SNR、空间、多视图和/或深度增强。基本层可以指任何类型的基本视频序列,诸如基本视图、针对SNR/空间可分级性的基本层或针对深度增强视频编码的纹理基础视图。
发送器、网关、客户端或其他实体可以选择可分级的视频比特流的所传送的层和/或子层。术语层提取、层的提取或层向下切换可以指传送比发送器、网关、客户端或其他实体所接收的比特流中可用的层更少的层。层向上切换可以指与由发送器、网关、客户端或其他实体的层向上切换之前那些所传送的层相比,传输(多个)附加的层,即重新开始一层或多层的传输,其传输在层向下切换中被较早地停止。类似于层向下切换和/或向上切换,发送器、网关、客户端或其他实体可以执行时间子层的向下切换和/或向上切换。发送器、网关、客户端或其他实体也可以执行层和子层下行交换和/或上行交换两者。层和子层向下切换和/或向上切换可以在相同的接入单元或类似的接入单元中进行(即几乎同时进行),或者可以在不同的接入单元或类似的接入单元中进行(即几乎在不同的时间进行)。
用于质量可分级性(被也称为信噪比或SNR)和/或空间可分级性的可分级视频编码器可以被实现如下。针对基本层,可以使用常规的不可分级视频编码器和解码器。基本层的所重建的/所解码的图片被包含在针对增强层的参考图片缓冲器和/或参考图片列表中。在空间可分级性的情况下,所重建的/所解码的基本层图像可以在其插入针对增强层图片的参考图片列表之前被上采样。基本层所解码的图片可以被插入(多个)参考图片列表中,用于类似于增强层的所解码的参考图片的增强层图片的编码/解码。因此,编码器可以选择基本层参考图片作为帧间预测参考,并且在所编码的比特流中利用参考图片索引来指示其使用。解码器从比特流(例如,从参考图片索引)中解码基本层图片被用作针对增强层的帧间预测参考。当所解码的基本层图片被用作针对增强层的预测参考时,其被称为层间参考图片。
虽然上一段描述了具有两个可分级层(包括增强层和基本层)的可分级视频编解码器,但需要理解的是,该描述可以概括到具有两层以上的可分级层次中的任何两层。在这种情况下,第二增强层可以在编码和/或解码过程中依赖于第一增强层,并且因此第一增强层可以被视为针对第二增强层的编码和/或解码的基本层。此外,需要理解的是,在增强层的参考图片缓冲器或参考图片列表中可能存在来自一个以上层的层间参考图片,并且这些层间参考图片中的每个图片可以被视为驻留在针对被编码和/或解码的增强层的基本层或参考层中。此外,需要理解的是,除了参考层图片上采样之外,还可以进行其他类型的层间处理。例如,参考层图片的样本的比特深度可以被转换为增强层的比特深度和/或样本值,该样本值可能经历从参考层的颜色空间到增强层的颜色空间的映射。
可分级视频编码和/或解码方案可使用多循环编码和/或解码,其可以被表征如下。在编码/解码中,基本层图片可以被重建/解码,以按编码/解码顺序、在同一层内被用作针对后续图片的运动补偿参考图片,或用作针对层间(或视图间或组件间)预测的参考。所重建的/所解码的基本层图片可以被存储在DPB。增强层图片同样可以被重建/解码,按照编码/解码顺序,在相同层内用作针对后续图片的运动补偿参考图片,或用作针对更高增强层的层间(或视图间或组件间)预测的参考(如果有)。除了所重建/解码的样本值之外,基本/参考层的语法元素值或从基本/参考层的语法元素值所导出的变量可以被用在变量层间/组件间/视图间预测中。
层间预测可以被定义为以依赖于来自不同于当前图片层(正在被编码或解码)的层的参考图片的数据元素(例如,样本值或运动向量)的方式进行的预测。存在多种类型的层间预测,并且可以被应用在可分级视频编码器/解码器。层间预测的可用类型可以例如取决于对比特流或比特流内的特定层进行编码所依据的编码简档,或者在解码时,取决于比特流或比特流中的特定层被指示一致的编码简档。备选地或附加地,可用的层间预测类型可以取决于可分级性的类型或所使用的可分级编解码器或视频编码标准草案(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
直接参考层可以被定义为可以被用于另一层的层间预测的层,针对另一层,该层是直接参考层。直接所预测的层可以被定义为针对该层,另一层是直接参考层的层。间接参考层可以被定义为不是第二层的直接参考层而是第三层的直接参考层的层,该第三层是第二层的直接参考层或间接参考层的直接参考层,针对第二层,该层是间接参考层。间接预测层可以被定义为:针对该层,另一层是间接参考层的层。独立层可以被定义为不具有直接参考层的层。换而言之,独立层不是使用层间预测来预测的。非基本层可以被定义为除基本层之外的任何其他层,并且基本层可以被定义为比特流中的最低层。独立的非基本层可以被定义是独立层和非基本层两者的层。
与MVC类似,在MV-HEVC中,视图间参考图片可以被包括在正在被编码或解码的当前图片的(多个)参考图片列表中。SHVC使用多环路解码操作(不同于H.264/AVC的SVC扩展)。SHVC可以被认为使用基于参考索引的方法,即,层间参考图片可以被包括在正在被编码或解码的当前图片的一个或多个参考图片列表中(如上所述)。
针对增强层编码,HEVC基本层的概念和编码工具可以被用于SHVC、MV-HEVC等。然而,附加的层间预测工具可以集成到SHVC、MV-HEVC和/或类似的编解码器中,该工具在参考层中采用已经编码的数据(包括所重建的图片样本和运动参数,也被称为运动信息)用于有效地对增强层进行编码。
构成图片可以被定义为与整个输入图片的表示对应的封闭所(解码)编码图片的这种部分。除了构成图片之外,封闭所(解码)编码图片可以包括其他数据,诸如另一构成图片。
帧封装可以被定义为包括将一个以上的输入图片(其可以被称为(输入)构成帧或构成图片)排列成输出图片。一般而言,帧封装不限于任何特定类型的构成帧,或者构成帧不需要具有彼此特定关系。在许多情况下,帧封装被用于将立体视频剪辑的构成帧排列成单个图片序列。该排列可以包括将输入图片放置在输出图片内空间地不重叠的区域。例如,在并列布置中,两个输入图片被水平相邻地放置在输出图片内。该排列还可以包括将一个或多个输入图片划分成两个或更多个构成帧分区,并且将构成帧分区放置在输出图片内空间不重叠的区域中。输出图片或帧所封装的输出图片序列可以被编码成比特流(例如通过视频编码器)。比特流可以例如由视频解码器进行解码。解码器或解码后的后处理操作可以从所解码的(多个)图片中提取所解码的构成帧(例如用于显示)。
术语360度视频或虚拟现实视频可以被互换地使用。它们通常指提供如此大视场的视频内容,以至于在典型的显示布置中,在单个时间点处仅视频的部分被显示。例如,VR视频可以在能够显示例如大约100度视场的头戴式显示器(HMD)上观看。将要被显示的VR视频内容的空间子集可以基于HMD的定向进行选择。在另一示例中,假设典型的平板观看环境,其中例如可以显示高达40度的视场。当在这样的显示器上显示宽FOV内容(例如,鱼眼)时,可能优选显示空间子集而不是整个图片。
MPEG全向媒体格式(ISO/IEC 23090-2)是虚拟现实(VR)系统标准。OMAF定义了一种媒体格式(包括从ISOBMFF导出的文件格式以及针对DASH和MPEG媒体传输的流格式两者)。OMAF版本1支持360°视频、图片和音频以及相关联的定时文本,并且促进三个自由度(3DoF)的内容消费,这意味着可以选择具有由全向内容覆盖的任何方位、高度范围和倾斜角度的视口,但是内容不适应观看位置的任何平移变化。下文进一步描述的视口依赖的流场景也是针对3DoF设计的,尽管可能适用于不同数目的自由度。
OMAF版本2的标准化正在进行中。OMAF v2计划包括支持多视点、叠加、子图片合成和具有观看空间大致仅限于上体运动的六个自由度等特征。
视点可以定义为用户观看场景的点或空间;它通常对应于摄像机位置。轻微的头部运动不意味着不同的视点。观看位置可以被定义为用户在观看空间内观看场景的位置。观看空间可以被定义为观看位置的3D空间,在该空间内能够渲染图片和视频,并且VR体验是有效的。
下文参照图5描述了MPEG全向媒体格式(OMAF)。真实世界的视听场景(A)由音频传感器以及摄像机集或具有多个镜头和传感器的摄像机设备捕捉。采集导致数字图片/视频(Bi)和音频(Ba)信号集。摄像机/镜头通常覆盖摄像机集或摄像机设备的中心点周围的所有方向,因此称为360度视频。
音频可以使用多种不同的麦克风配置进行捕捉,并且被存储为几个不同的内容格式,包括基于通道的信号、静态或动态(即,在3D场景中移动)对象信号和基于场景的信号(例如,更顺序的三维声)。基于通道的信号通常与CICP所定义的扬声器布局中的一个布局一致。在全向媒体应用中,所渲染的沉浸式音频程序的扬声器布局信号被二进制化用于经由耳机展示。
同一时间实例的图片(Bi)被拼接、投影并且映射到所封装的图片(D)上。
对于单视场360度视频,一个时间实例的输入图片被拼接以生成表示一个视图的投影图片。针对单视场内容的图像拼接、投影和逐区域封装过程的分解如图6a所示并且被描述如下。输入图片(Bi)被拼接并且被投影到三维投影结构上,该三维投影结构例如可以是单元球面。投影结构可以被视为包括一个或多个表面,例如(多个)平面或其(多个)部分。投影结构可以被定义为由一个或多个表面组成的三维结构,在该一个或多个表面上投影所捕获的VR图片/视频内容,并且从该表面可以形成相应的所投影的图片。投影结构上的图片数据被进一步排列到二维所投影的图片(C)上。术语投影可以被定义为将输入图片集投影到所投影的帧上的过程。可以存在所投影的图片的预定义的表示格式集,包括例如等矩形投影(ERP)格式和立方图投影(CMP)格式。可以认为所投影的图片覆盖了整个球体。
可选地,随后逐区域封装被应用以将所投影的图片映射到所封装的图片。如果逐区域封装没有被应用,所封装的图片与所投影的图片相同,并且该图片被给出作为图片/视频编码的输入。否则,通过指示所封装的图片中每个区域的位置、形状和大小,将所投影的图片的区域映射到所封装的图片(D),并且所封装图片(D)被给出作为图片/视频编码的输入。术语逐区域封装可以被定义为将所投影的图片映射到所封装的图片的过程。术语所封装的图片可以被定义为由所投影的图片的逐区域封装产生的图片。
在立体360度视频的情况下,一个时间实例的输入图像被拼接以生成针对每只眼睛一个的表示两个视图的投影图片。两个视图可以被映射到相同的所封装的图片上,如下文关于图6b所述,并且由常规的2D视频编码器所编码。备选地,所投影的图片的每个视图可以被映射到其自身的所封装的图片,在这种情况下,图像拼接、投影和逐区域封装类似于上文图6a所述。左视图或右视图的所封装的图片序列可以被独立地编码,或者在使用多视图视频编码器时,从另一视图预测。
图6b示出了立体内容的图像拼接、投影和逐区域封装过程的分解,其中两个视图被映射到同一封装图片上,并且描述如下。输入图像(Bi)被拼接并且投影到两个三维投影结构上,每只眼睛一个。每个投影结构上的图片数据被进一步排列到覆盖整个球面的二维所投影的图片上(针对左眼的CL,针对右眼的CR)。帧封装用于将左视图图片和右视图图片封装到同一所投影的图片上。可选地,然后将逐区域封装应用于将图片投影到所封装的图片上的封装,并且所封装的图像(D)被给出作为图像/视频编码的输入。如果逐区域封装没有被应用,所封装的图片与所投影的图片相同,并且该图片被给出作为图像/视频编码的输入。
针对相同的源图像,可以多次执行图像拼接、投影和逐区域封装过程,以创建相同内容的不同版本,例如,针对投影结构的不同定向。类似地,逐区域封装过程可以从同一所投影的图片被执行多次,以创建多个待编码的所封装图像序列。
360度全景内容(即图像和视频)水平覆盖成像设备拍摄位置周围的全部360度视场。垂直视场可以变化,并且例如可以是180度。水平覆盖360度视场、垂直覆盖180度视场的全景图像可以由一个球面来表示,该球面可以被映射到边界柱上,该边界柱可以被垂直切割以形成2D图片(这种类型的投影被称为等矩形投影)。图7显示了形成单视图等矩形全景图的过程。输入图像集(诸如,摄像机阵列或具有多个镜头和传感器的摄像机设备的鱼眼镜头图像)被拼接到球面形图像上。球面形图像被进一步投影到圆柱体上(没有顶面和底面)。圆柱体被展开以形成二维所投影的帧。在实践中,可以合并一个或多个所呈现的步骤;例如,输入图像可以被直接投影到圆柱体上,而无需中间投影到球面体上。针对等矩形全景的投影结构可以被认为是包括单个表面的圆柱体。
一般而言,360度内容可以映射到不同类型的实体几何结构上,诸如多面体(即,包含平面多边形面、直边和尖角或顶点的三维实体,例如立方体或金字塔)、圆柱体(通过将球面形图像投影到圆柱体上,如上所述具有等矩形投影)、圆柱体(直接不首先投影到球面上)、圆锥体,然后被展开成二维图像平面。
在一些情况下,具有水平视场为360度但具有垂直视场小于180度的全景内容可以被视为全景投影的特殊情况,其中球面的极区还没有被映射到二维图像平面上。在某些情况下,全景图像可能具有小于360度的水平视场和高达180度的垂直视场,而在其他情况下具有全景投影格式的特性。
逐区域封装信息可以被编码为比特流中或沿着比特流的元数据。例如,封装信息可以包括从预定义的或所指示的源格式到所封装的帧格式的逐区域映射,例如从所投影的图片到所封装的图片,如前所述。
接下来描述矩形逐区域封装元数据:对于每个区域,元数据定义了所投影的图片中的矩形、所封装图片中的相应矩形以及旋转90度、180度或270度和/或水平和/或垂直镜像的可选变换。例如,矩形可以由左上角和右下角的位置指示。映射可以包括重采样。由于相应矩形的大小在所投影和所封装的图片中可能不同,该机制推断出逐区域重新采样。
其中,区域封装为以下使用场景提供了信号:
-针对独立于视口的投影的附加压缩是通过对不同区域的采样进行致密化来实现的,以跨整个球面体上实现更大的一致性。例如,对ERP的顶部和底部进行过采样,并且可以应用逐区域封装对其进行水平下采样。
-以适应的方式排列基于平面的投影格式(诸如,立方图投影)的面。
-生成使用独立于视口的投影格式视口依赖的比特流。例如,ERP的区域或CMP的表面可以具有不同的采样密度,并且潜在的投影结构可以具有不同的定向。
-指示由提取器轨道表示的所封装图片的区域。当提取器轨道从不同分辨率的比特流中收集区块时,这是必需的。
OMAF允许省略图像拼接、投影和逐区域封装,并且以它们所捕获的格式对图像/视频数据进行编码。在这种情况下,图像D被视为与图像Bi相同,并且对每个时间实例的有限数目的鱼眼图像进行编码。
针对音频,不需要拼接过程,因为所捕捉的信号是固有地沉浸感的和全向的。
所拼接的图像(D)被编码为所编码的图像(Ei)或所编码的视频比特流(Ev)。所捕获的音频(Ba)被编码为音频比特流(Ea)。所编码的图像、视频和/或音频然后根据特定的媒体容器文件格式被合成为用于文件回放的媒体文件(F)或用于流传输的初始化段和媒体段的序列(Fs)。在该规范中,媒体容器文件格式是ISO基本媒体文件格式。文件包装器还将元数据包括在文件或段中,诸如有助于渲染所解码、已封装的图片的投影和逐区域封装信息。
文件中的元数据可能包括:
-所投影图片的投影格式,
-鱼眼视频参数,
-由所封装图片所覆盖的球面表面的区域,
-对应于相对于全局坐标轴的所投影的图片的投影结构的定向,
-逐区域封装信息,以及
-逐区域质量排名(可选)。
段Fs使用递送机制被递送到播放器。
文件包装器输出的文件(F)与文件解包装器输入的文件(F’)是同一的。文件解包装器处理文件(F’)或所接收的段(F’s),并且提取所编码的比特流(E’a、E’v和/或E’I)并且解析元数据。音频、视频和/或图像随后被解码成所解码的信号(针对音频的B’a,针对图像/视频的D’)。基于当前观看定向或视口以及从文件中解析的投影、球面形覆盖、投影结构定向和逐区域封装元数据,将所解码的所封装的图片(D’)投影到头戴式显示器或任何其他显示设备的屏幕上。同样,根据当前观看定向,例如通过耳机渲染所解码的音频(B’a)。当前的观看定向由头部跟踪以及可能的眼睛跟踪功能来确定。除了由渲染器用于渲染所解码的视频和音频信号的适当部分之外,当前观看定向还可以被视频和音频解码器用于解码优化。
上述过程适用于实时和按需使用情形。
人的眼睛无法观看整个360度空间,但受限于最大水平和垂直FoV(HHFoV、HVFoV)。此外,HMD设备存在仅允许在水平和垂直方向(DHFoV、DVFoV)观看整个360度空间的子集的技术限制。
在任何时间点,由应用在HMD上渲染的视频渲染360度视频的部分。该部分在此被定义为视口。视口是经由渲染显示器所显示的全向视频中所表示的360世界上的窗口。视口也可以被备选地定义为适合用户显示和观看的全向图像或视频的区域。
视口大小可以对应于HMD的视场,或者可以取决于应用而具有较小的大小。为清晰起见,我们将用户在任何给定时间点观看的360度空间的部分定义为主视口。
OMAF的坐标系统由单元球面和三个坐标轴组成,即X轴(从前到后)、Y轴(横向、横向)和Z轴(垂直、向上),其中三个轴在球面的中心交叉。球面上点的位置由一对球面坐标方位(φ)和高度(θ)确定。图8指定了球面坐标方位(φ)和高度(θ)与X、Y和Z坐标轴的关系。
观看定向可以被定义为表征用户正在消费视听内容的定向的方位、高度和倾斜角度的三元组;在图像或视频的情况下,表征视口的定向。
图9图示了可以被用于内容创作的从球面形图片到所封装的图片的转换,以及可以被用于OMAF播放器的从所封装的图片到将要被渲染的球面形图片的对应的转换。本子句中的示例针对出现在所投影的全向视频轨道中的所封装的图片进行描述。针对图像项,可以导出类似的描述。
内容创作可包括以下有序步骤:
-作为输入提供的源图像被拼接,以按照a)中所指示的全局坐标轴在单元球面上生成球面图片。
-单元球面随后相对于全局坐标轴旋转,如b)所指示的。从局部坐标轴转换到全局坐标轴的旋转量是由RotationBox中所指示的旋转角度所指定。单元球面的局部坐标轴是已经被旋转的坐标系的轴。RotationBox的缺少指示局部坐标轴与全局坐标轴相同。
-如c)所说明的,所旋转的单元球面上的球面图像随后被转换成二维所投影的图片(例如使用等矩形投影)。当应用立体内容的空间封装时,针对两个视图的两个球面形图片被转换成两个构成图片,之后应用帧封装将两个构成图片封装成一个所投影的图片。
-可以应用矩形逐区域封装,以从所投影的图片中获得所封装的图片。c)和d)中描述了封装的一个示例。c)中的虚线矩形指示所投影的图片上的所投影的区域,以及d)中的相应区域指示对应的所封装的区域。在该示例中,所投影的区域1和3被水平下采样,而所投影的区域2保持其原始分辨率。
CoverageInformationBox可以被用以指示内容覆盖范围,即所封装的图片覆盖了球面的哪个部分。
为了将所封装的图片(诸如,d中的)的样本位置映射到a)中所说明的用于渲染的单元球面,OMAF播放器可以执行以下有序步骤:
-所封装的图片(诸如d中的)是从视频轨道或图像项中对图片进行解码来获得的结果。
-如果需要,所封装的图片的色度样本阵列被上采样至所封装的图片的亮度样本阵列的分辨率,并且还可以执行颜色空间转换。
-如果指示逐区域封装,所封装的图片的样本位置被转换为相应所投影的图像的样本位置(诸如,c)中的样本位置)。否则,所投影的图片与所封装的图片相同。
-如果指示了所投影的图片的空间帧封装,则所投影的图片的样本位置被转换为所投影的图片的相应的构成图片的样本位置。否则,所投影的图片的构成图片与所投影的图片相同。
-构成图片、所投影图片的样本位置被转换为相对于局部坐标轴的球面坐标,如针对正在被使用的全向投影格式所指定的。生成的样本位置对应于b)中所描述的球面图片。
-如果指示旋转,则相对于局部坐标轴的球面坐标将被转换为相对于全局坐标轴的球面坐标。否则,全局坐标轴与局部坐标轴相同。
为了发信号通知区块或子图片轨片等的元数据,可以使用任何已知的方法。例如,针对360°视频的每个区块或子图片轨道,可以存在逐区域封装的盒和/或2D或球面逐区域质量排名盒。在另一示例中,可以针对体积视频的每个区块或子图片轨道呈现元数据。
逐区域质量排名元数据可以呈现在视频或图像比特流中或沿着视频或图像比特流。质量排名区域的质量排名值可以相对于相同比特流的其他质量排名区域或其他轨道的相同轨道或质量排名区域。逐区域质量排名元数据可以例如通过使用SphereRegionQualityRankingBox或2DRegionQualityRankingBox来指示,它们被指定为MPEG全向媒体格式的部分。SphereRegionQualityRankingBox针对球面区域(即,在球面域上所定义的区域)提供质量排名值,而2DregionQualityRankingBox针对所解码的图片上的矩形区域(以及可能覆盖任何矩形区域没有覆盖的所有区域的剩余区域)提供质量排名值。质量排名值指示质量排名区域的相对质量顺序。当质量排名区域A的非零质量排名值小于质量排名区域B的非零质量排名值时,质量排名区域A的质量高于质量排名区域B。当质量排名值不为零时,整个所指示的质量排名区域内的图像质量可以被定义为大致恒定的。一般而言,质量排名球面或2D区域的边界可能与所封装的区域的边界或逐区域封装元数据中所指定的所投影的区域的边界匹配,也可能不匹配。
在ISO/IEC 14496-15中针对H.264/AVC和HEVC所指定的提取器启用轨道的精简形成,该轨道通过参考提取NAL单元数据。提取器是类似NAL单元的结构。类似于NAL单元的结构可以被指定为包括类似于任何NAL单元的NAL单元报头和NAL单元有效载荷,但是类似于NAL单元的结构可能不遵循启动代码仿真预防(这是NAL单元所必需的)。对于HEVC,提取器包含一个或多个构造器。样本构造器通过参考从另一轨道的样本中提取NAL单元数据。内嵌构造器包括NAL单元数据。当提取器被需要它的文件读取器处理时,提取器在逻辑上被按照外观顺序解决所包含的构造器时产生的字节替换。可能不允许嵌套提取,例如,示例构造器所参考的字节不应当包含提取器;提取器不应当直接或间接参考另一提取器。提取器可包含一个或多个构造器,用于从当前轨道或通过‘scal’类型的轨道参考的部件链接到提取器驻留轨道的另一轨道中提取数据。
所解决的提取器的字节以下中的一项:
a)一个完整的NAL单元;请注意,当参考聚合器时,所包含的和所参考的字节两者都会被复制
b)超过一个完整的NAL业务单元
在这两种情况下,所解决的提取器的字节均以有效长度字段和NAL单元报头开始。
样本构造器的字节仅从通过所指示的‘scal’轨道参考参考的轨道中的单个所标识的样本中复制。对齐以解码时间为准,即仅使用采样时间表,随后计算采样数的偏移。提取器是媒体级别的概念,并且因此在考虑任何编辑列表之前应用到目的轨道。(但是,人们通常会预期两个轨道中的编辑列表是相同的)。
可以使用以下语法:
语义可以被定义如下:
-NALUnitHeader():HEVC NAL单元的前两个字节。特定的nal_unit_type值指示提取器,例如等于49的nal_unit_type。
-constructor_type指定正在被使用的构造器。
-EndOfNALUnit()是在当该提取器中更多数据跟随时返回0(假)的函数;否则其返回1(真)。
样本构造器(SampleConstructor)可能具有以下语法:
track_ref_index标识从中提取数据的源轨道。track_ref_index是‘scal’类型的轨道参考的索引。第一个轨道参考具有索引值1;值0被保留。
从中提取数据的轨道中的样本在媒体解码时间线中时间上对齐或最近在前(即仅使用时间到样本表),由sample_offset所指定的偏移与包含提取器的样本进行调整。sample_offset给出所链接的轨道中样本的相对索引,该索引将被用作信息的源。样本0(零)是与包含提取器的样本的解码时间相比具有相同或最近的先前解码时间的样本;样本1(一)是下一个样本,样本1(负1)是前一个样本等。
data_offset:要复制的参考样本内的第一个字节的偏移。如果提取从该样本中的数据的第一字节开始,则偏移取值0。
数据长度:要复制的字节数目。
内嵌构造函数的语法可规定如下:
length:属于该字段后的InlineConstructor的字节数目。
inline_data:当解决内嵌构造器时要返回的数据字节。
ISO/IEC 14496-15中所指定的区块轨道启用一个或多个受时间运动约束的区块集的存储作为轨道。当区块轨道包含HEVC基本层的区块时,将使用样本条目类型‘hvt1’。当区块轨道包含非基本层的区块时,将使用样本条目类型‘lht1’。区块轨道的样本由一个或多个完整切片段中的一个或多个完整区块组成。区块轨道独立于任何其他区块轨道,包括与该区块轨道具有相同层的VCL·NAL单元。具有‘tbas’轨道的区块轨道指代区块基本轨道。区块基本轨道不包括VCL NAL单元。区块基本轨道指示使用‘sabt’轨道的区块顺序指代区块轨道。通过按照轨道参考的顺序从由‘sabt’轨道参考指示的轨道的时间对准样本中收集所编码的数据,可以重建对应于区块基本轨道中样本的HEVC所编码的图片。因此,可以理解,区块基本轨道包括通过参考的所参考的区块轨道的所编码的视频数据。
子图片可以被定义为表示原始视频内容的空间子集的图片,该原始视频内容在内容制作方进行视频编码之前已经被分割成空间子集。子图片比特流可以被定义为表示原始视频内容的空间子集的比特流,该空间子集在内容制作侧进行视频编码之前已被分割成空间子集。子图片轨道可以被定义为与源自相同原始视频内容的(多个)其他轨道具有空间关系并且表示子图片比特流的轨道。子图片轨道符合常规轨道格式,诸如针对ISO/IEC14496-15中的HEVC所定义的‘hvc1’或‘hev1’。在生成子图片轨道的方法中,源图片序列在编码前被分成子图片序列。子图片序列随后独立于其他子图片序列被编码为单层比特流(诸如,HEVC主简档比特流)。所编码的单层比特流被包装到子图片轨道中。针对子图片轨道的比特流可以利用运动所约束的图片进行编码,如下文所定义的。在生成子图片轨道的另一方法中,源图像序列利用运动所约束的区块集被编码成比特流,从比特流中提取MCTS序列,并且通过将MCTS序列转换成符合的比特流(例如,通过切片报头修改并且将所生成的比特流包装成轨道)来生成子图片轨道。以这种方式生成的子图片轨道包括运动所约束的图片。
收集器轨道可以被定义为从其他轨道中隐式或显式提取MCTS或子图片的轨道。当由文件读取器解决时,收集器轨道可以表示符合视频编码解码器规范的比特流,如HEVC或H.266/VVC。例如,收集器轨道可以提取MCTS或子图片以形成所编码的图片序列,其中MCTS或子图片被排列成网格。例如,当收集器轨道提取两个MCTS或子图片时,它们可以被排列成2×1的MCTS或子图片的网格。区块基本轨道可以被视为收集器轨道,并且从其他轨道提取MCTS或子图片的提取器轨道可被视为收集器轨道。收集器轨道也可以被称为收集轨道。用于提取到收集器轨道的源的轨道可以被称为收集项轨道。
为避免创建过多数目的提取器轨道(例如,为了避免针对高分辨率和低分辨率区块的每个组合创建提取器轨道),用于提取的备选的轨道可以利用下述机制进行分组。同样,为了能够将相同的区块基本轨道用于表示相同内容的不同比特率版本的并置区块轨道,可以使用以下机制。
文件写入器在文件中指示,轨道组(例如,被称为‘alte’轨道组)包含被用作为提取的源的备选的轨道。
针对‘alte’组的标识符可以从与针对轨道的标识符相同的编号空间中获取。换而言之,针对‘alte’组的标识符可以被要求不同于所有轨道标识符值。因此,‘alte’轨道组标识符可以被用在通常使用轨道标识符的地方。具体而言,‘alte’轨道组标识符可以被用作指示用于提取的源的轨道参考。
由该盒形成的轨道组的成员是可以用作用于提取源的备选。具有track_group_type等于‘alte’的轨道组的成员被备选的用作针对‘scal’或‘sabt’轨道参考的源。reference_type等于track_ref_4cc的TrackReferenceTypeBox可以将包含相同alte_track_ref_4cc值的‘alte’(多个)轨道组的(多个)track_group_id值列为附加于轨道ID值或代替轨道ID值。例如,提取器轨道可以通过‘scal’轨道参考指向附加于或代替单个轨道的‘alte’轨道组。‘alte’轨道组的任何单个轨道是用于提取的适合源。用于提取的源轨道可以在所切换的轨道具有同步样本或类型1或类型2的SAP样本的位置被改变。
统一资源标识符(URI)可以被定义为用于标识资源名称的字符串。这种标识使得能够使用特定协议通过网络与资源的表示进行交互。通过针对URI指定具体语法和相关联的协议的方案来定义URI。统一资源定位符(URL)和统一资源名称(URN)是URI的形式。URL可以被定义为标识web资源并且指定对资源采取行动或获取资源表示的方式的URI,指定其主要访问机制和网络位置两者。URN可以被定义为在特定名称空间中通过名称标识资源的URI。URN可以被用于标识资源,而无需暗示其位置或访问方式。
许多视频通信或传输系统、运输机制和多媒体容器文件格式提供了将分离的逻辑通道(诸如,不同轨道或会话)的所编码的数据彼此关联的手段。例如,存在将相同访问单元的所编码的数据关联在一起的机制。例如,可以在容器文件格式或运输机制中提供解码或输出时间,并且具有相同解码或输出时间的所编码的数据可以被视为形成访问单元。
最近,超文本传输协议(HTTP)被广泛用于通过互联网递送实时多媒体内容(诸如,在视频流应用中)。与通过用户数据报协议(UDP)使用实时传输协议(RTP)不同,HTTP是易于配置的,并且通常被授权穿越防火墙和网络地址转换程序(NAT),这使得它针对多媒体流式传输应用具有吸引力。
诸如平滑流式传输、/>适应HTTP直播流式传输和/>动态流式传输的基于HTTP的适应流商业解决方案已经上线,以及标准化项目也已经开展。适应HTTP流式传输(AHS)在第三代合作伙伴计划(3GPP)分组切换流式传输(PSS)服务的发布9中被首次标准化(3GPP TS 26.234发布9:“透明端到端分组切换流式传输服务(PSS);协议和编解码器”)。MPEG采取3GPPAHS发布9作为针对MPEG DASH标准的起点(ISO/IEC 23009-1:“Dynamic adaptive streaming over HTTP(DASH)-Part 1:Media presentationdescription and segment formats”国际标准,第二版,2014年)。3GPP继续致力于与MPEG通信的适应HTTP流式传输,并且发行了3GP-DASH(通过HTTP动态适应流式传输;3GPP TS26.247:“Transparent end-to-end packet-switched streaming Service(PSS);Progressive download and dynamic adaptive Streaming over HTTP(3GP-DASH)”。MPEGDASH和3GP-DASH在技术上相互接近,并且因此可以被统称为DASH。类似于MPEG-DASH的流式传输系统包括例如IETF RFC 8216中所指定的HTTP实时流(即,HLS)。对于所述适应流式传输系统的详细描述,全部都提供了视频流式传输系统的示例,其中可以实现实施例,上述标准文件的参考被做出。本发明的各方面不限于上述标准文件,而是针对本发明可以部分或全部实现的一个可能基础给出描述。
在DASH中,多媒体内容可以被存储在HTTP服务器上,也可以使用HTTP被递送。可以存储在服务器上内容分两部分:媒体展示说明(MPD),其描述可用内容的清单、其各种备选、其URL地址和其他特性;以及段,其包含单个或多个文件中的语块形式的实际多媒体比特流。MDP针对客户端通过HTTP提供必要的信息以建立动态适应流式传输。MPD包含描述媒体呈现的信息,诸如每个段的HTTP统一资源定位符(URL)以做出GET段请求。为了播放内容,DASH客户端可以通过例如使用HTTP、电子邮件、拇指驱动器、广播或其他传输方式来获取MPD。通过解析MPD,DASH客户端可以意识到节目定时、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、多媒体组件的各种所编码的备选的存在、可访问性特征和所要求的数字版权管理(DRM)、网络上媒体组件的位置以及其他内容特性。DASH客户端可以使用该信息选择适当的所编码的备选,并且通过使用例如HTTP GET请求取得段来开始对内容进行流式传输。在适当缓冲以允许网络吞吐量变化后,客户端可以继续取得后续段,并且监控网络带宽波动。客户端可以决定如何通过取得不同备选的段(具有较低或较高的比特率)来适应可用的带宽,以维持足够的缓冲。
在DASH的上下文中,可以使用以下定义:媒体内容组件或媒体组件可以被定义为媒体内容的一个连续组件,其具有可以被单独编码成媒体流的所分配的媒体组件类型。媒体内容可以被定义为一个媒体内容周期或媒体内容周期的连续序列。媒体内容组件类型可以被定义为单个类型的媒体内容,诸如音频、视频或文本。媒体流可以被定义为媒体内容组件的所编码的版本。
在DASH中,层次数据模型用于按如下方式构建媒体展示。媒体展示由序列的一个或多个周期组成,每个周期包含一个或多个组,每个组包含一个或多个适应集,每个适应集包含一个或多个表示,每个表示由一个或多个段组成。组可以被定义为预计不会同时呈现的适应集的集合。适应集可以被定义为一个或多个媒体内容组件的可互换的所编码的版本集。表示是媒体内容或其子集的备选选择中的一个选择,通常因编码选择(例如,比特率、分辨率、语言、编解码器等)而不同。段包含特定时长的媒体数据,以及用于对所包含的媒体内容进行解码和呈现的元数据。段是由URI标识的,并且通常可以由HTTP GET请求进行请求。段可以被定义为与HTTP URL相关联的数据单元,并且可选地可以被定义为MPD所指定的字节范围。
初始化段可以被定义为包含呈现所包装的媒体段中的媒体流所必需的元数据的段。在基于ISOBMFF的片段格式中,初始化段可以包括电影盒(‘moov’),该电影盒可能不包括针对任何样本的元数据,即针对样本的任何元数据在‘moof’盒中被提供。
媒体段包含以正常速度回放的媒体数据的特定时长,该时长称为媒体段时长或段时长。内容生产方或服务提供方可以根据服务的所期望特性选择段时长。例如,在实时服务中可以使用相对短的段时长,以实现较短的端到端延迟。原因是段时长通常是DASH客户端所感知的端到端延迟的下限,因为段是针对DASH生成媒体数据的离散单元。内容生成通常以这样的方式进行,即整个媒体数据段针对服务器是可用的。此外,许多客户实现使用段作为针对GET请求的单元。因此,在针对直播服务的典型安排中,在媒体段的整个时长可用并且被编码和包装到段中时,DASH客户端仅可以请求段。针对按需服务,选择段时长的不同的策略可以被使用。
段可以被进一步划分为多个子段,例如,以允许在多个部分中下载段。子段可能需要包含完整的访问单元。子片段可以通过段索引盒进行索引,其中包含映射针对每个子段的展示时间范围和字节范围的信息。段索引盒还可以通过发送它们的时长和字节偏移来描述段中的子段和流访问点。DASH客户端可以使用从(多个)段索引盒中获得的信息,使用字节范围HTTP请求对特定子段进行HTTP GET请求。如果使用相对较长的段时长,则可以使用子段来保持HTTP响应的大小合理并且针对比特率适应的灵活。段的索引信息可以放在该段开头的单个盒中,也可以传播在该段的多个索引盒中。不同的传播方法是可行的,诸如层次传播、菊花链传播和混合传播。这种技术可以避免在段的开头添加大型盒,并且因此可以防止可能的初始下载延迟。
如上所述,DASH和其他类似的流式传输系统针对多媒体流式传输应用提供协议和/或格式。为了降低VR视频的流式传输比特率而进行的流式传输的最近趋势可以被称为视口依赖的递送,其可以解释如下:覆盖主视口的360度视频内容的子集(即,当前视图定向)以最佳质量/分辨率传输,而其余360度视频以较低质量/分辨率传输。
视口适应流式传输可以通过基于区块的编码和流式传输方法实现。在这些方法中,360度内容以能够从不同编码中选择性地流式传输视口的方式进行编码和提供。
在视口特定的编码/封装中,360度图像内容封装到同一帧中,重点放在主视口上(例如,更大的空间区域)。针对不同的主视口定向和/或FOV创建内容的多个版本。视口特定的编码/封装可以通过不对称投影(也被称为视口相关投影)来实现,其中视口区域以最高采样密度编码,其余360个场景以从视口到非视口区域采样密度逐渐降低的方式投影。重新所投影的非视口区域与视口区域被封装在同一图像平面中。在逐区域混合质量方法中,视口区域以最高图片质量编码,而其他区域以较低质量被编码。在逐区域混合分辨率方法中,应用独立于视口的投影,并且在对所投影的2D图片进行编码之前,以源自最高2D分辨率的视口并且源自较低2D分辨率的其他区域的方式对其进行逐区域重新采样。
在基于区块的视口依赖流式传输方法中,所投影的图片被分割成区块,这些区块被编码为运动所约束的区块集(MCTS)。基于区块的视口适应流式传输方案可分为以下几类:
-逐区域混合质量(RWMQ)360°视频:多个版本的内容使用MCTSs在同一区块网格上编码,每个版本具有不同的比特率和图片质量。播放器在MCTS的基础上选择接收哪个版本,使得覆盖视口的MCTS的质量高于其他所接收的MCTS的质量。
-视口+360°视频:接收针对完整的低分辨率全向图片和覆盖视口的高分辨率区块的MCTS。
-逐区域混合分辨率(RWMR)360°视频:区块以多种分辨率编码。播放器选择覆盖视口的高分辨率区块和针对其余区域的低分辨率区块的组合。
值得注意的是,无论使用的是客户端驱动的比特流重写还是提取器驱动的子图片合并,所有这些方法可以被应用。此外,在所有这些方法中,区块(或其保护带)可以通过在预处理或编码中所选择的数量来重叠。
所有上述视口依赖的流式传输方法可以通过客户端驱动的比特流重写(也称为后期绑定)或作者驱动的MCTS合并(也称为早期绑定)来实现。在后期绑定中,播放器选择要被接收的MCTS序列,根据需要选择性地重写所接收的视频数据的部分(例如,可能需要重写参数集和切片段头),用于将所接收的MCTS组合成单个比特流,并且对该单个比特流进行解码。早期绑定是指使用作者驱动的信息在必要时用于重写所接收的视频数据的部分,用于将MCTS合并成单个将要被解码的比特流,以及在某些情况下用于选择将要被接收的MCTS序列。在早期绑定和后期绑定之间可能存在多个方法:例如,可以让播放器在没有作者指导的情况下选择将要被接收的MCTS序列,而作者驱动的方法被用于MCTS合并和报头重写。早期绑定方法包括提取器驱动方法和区块跟踪方法,下文将对其进行描述。
在区块轨道方法中,从比特流中提取一个或多个运动所约束的区块集序列,并且每个所提取的运动所约束的区块集序列作为区块轨道(例如,HEVC区块轨道)存储在文件中。区块基本轨道(例如,HEVC区块基本轨道)可以被生成并且存储在文件中。区块基本轨道通过从区块轨道中隐式地收集运动所约束的区块集来表示比特流。在接收器侧,可以基于观看定向来选择待流式传输的区块轨道。客户端可以接收覆盖整个全向内容的区块轨道。与覆盖剩余360度视频的质量或分辨率相比,针对当前视口可以接收到质量更好或分辨率更高的区块轨道。区块基本轨道可以包括对区块轨道的轨道参考,和/或区块轨道可以包括对区块基本轨道的轨道参考。例如,在HEVC中,‘sabt’轨道参考用于指来自区块基本轨道的区块轨道,并且区块排序由‘sabt’轨道参考所包含的区块轨道的顺序指示。此外,在HEVC中,具有‘tbas’轨道参考的区块轨道指代区块基本轨道。
在提取器驱动的方法中,从比特流中提取一个或多个运动所约束的区块集序列,并且每个所提取的运动所约束的区块集序列被修改成其自身的顺应比特流(例如,HEVC比特流),并且作为子图片轨道(例如,针对HEVC,具有未转换的样本条目类型‘hvc1’)存储在文件中。一个或多个提取器轨道(例如,HEVC提取器轨道)可以被生成并且存储在文件中。提取器轨道通过从子图片轨道中显式地提取(例如,通过HEVC提取器)运动所约束的区块集来表示比特流。在接收器侧,可以基于观看定向来选择将要被流式传输的子图片轨道。客户端可以接收覆盖整个全向内容的子图片轨道。与覆盖剩余360度视频的质量或分辨率相比,可以针对当前视口接收质量更好或分辨率更高的子图片轨道。
需要理解的是,尽管详细描述了区块轨道方法和提取器驱动的方法,特别是在HEVC的上下文中,但它们也适用于其他编解码器和类似的概念,如区块轨道或提取器。此外,区块轨道和提取器驱动方法的组合或混合也是可能的。例如,这种混合可以是基于区块轨道方法,但是其中区块基本轨道可以包含针对客户端的重写操作指导,例如区块基本轨道可以包括重写的切片或区块组报头。
作为基于MCTS的内容编码的备选,针对基于区块的视口依赖流的内容创作可以利用基于子图片的内容创作来实现,如下所述。预处理(编码前)包括将未压缩图片分割成子图片。对相同未压缩子图片序列的多个子图片比特流进行编码,例如以相同的分辨率但是不同的质量和比特率进行编码。编码可以被约束为使得所编码的子图片比特流能够合并成表示全向视频的顺应比特流。例如,在编码中可以通过在帧间预测过程中不会参考图像之外的样本位置的方式来选择运动向量来避免对所解码图片边界之外的样本的依赖。每个子图片比特流可以被包装为子图片轨道,并且可以附加形成合并不同子图片位置的子图片轨道的一个或多个提取器轨道。如果以基于区块轨道的方法为目标,则每个子图片比特流被修改为MCTS序列并且作为区块轨道被存储在文件中,以及针对区块轨道创建一个或多个区块基本轨道。
基于区块的视口依赖的流传输方法可以通过对每个MCTS序列执行单个或一个解码器实例(或在某些情况下,介于两者之间,例如,对相同分辨率的每个MCTS执行一个解码器实例)来实现,例如取决于播放器运行的设备和操作系统的能力。单个解码器实例的使用可以通过后期绑定或早期绑定来启用。为了促进多个解码器实例,提取器驱动的方法可以使用顺应编码格式或标准的子图片轨道,而无需修改。其他方法可能需要在客户端侧重写图片段报头、参数集和/或类似信息,以构建一致的比特流,或者使解码器实现能够在不存在其他所编码的视频数据的情况下对MCTS序列进行解码。
在区块轨道方法和提取器驱动方法中,可能至少两种相应地用于包装和参考区块轨道或子图片轨道的方法:
-从区块基本轨道或提取器轨道中参考轨道标识符。
对于区块轨道方法,每个比特流的区块轨道和区块基本轨道可以被包装在自己的文件中,并且在所有文件中使用相同的轨道标识符(例如,表示相同内容的不同比特率版本)。换而言之,在所有这些文件中,针对相同区块网格位置的每个区块轨道,使用相同的轨道标识符值。因此,所有文件中的区块基本轨道是相同的,并且可以接收任何一个所并置的区块轨道。
对于提取器驱动的方法,相同内容的相同分辨率但不同比特率的子图片的每个子图片轨道可以被包装在自己的文件中,并且相同的轨道标识符可以被用在所有文件中(例如,表示相同内容的不同比特率版本);因此,来自提取器轨道的轨道参考正确地解决所接收的子图片轨道的任何比特率版本。
-从区块基本轨道或提取器轨道中参考区块组标识符。上述基于轨道标识符的参考需要多个文件,这可能使其使用(例如用于文件回放)有些麻烦。选项是将所有区块或子图片轨道存储到具有不同轨道标识符的同一文件中,但是针对区块或子图片轨道的每个组合,可能分别需要分离的区块基本轨道或提取器轨道,以形成一致的比特流。为避免创建过多数目的区块基本轨道或提取器轨道(例如,为避免针对高分辨率区块和低分辨率区块的每个组合创建提取器轨道),用于提取的备选的轨道可以采用下述机制进行分组。同样地,为了能够将相同的区块基本轨道用于表示相同内容的不同比特率版本的并置区块轨道,可以使用以下机制。
文件写入器在文件中指示,轨道组(例如,被称为‘alte’轨道组)包含被用作用于提取的源的备选的轨道。
针对‘alte’组的标识符可以从与针对轨道的标识符相同的编号空间中获取。换而言之,针对‘alte’组的标识符可能被要求不同于所有轨道标识符值。因此,‘alte’轨道组标识符可以被用于通常使用轨道标识符的地方。具体地,‘alte’轨道组标识符可以被用作指示用于提取的源的轨道参考。
由该盒形成的轨道组的成员是被用作用于提取的源的备选。具有track_group_type等于‘alte’的轨道组的成员可以被备选的用作针对‘scal’或‘sabt’轨道参考的来源。reference_type等于track_ref_4cc的TrackReferenceTypeBox可以将包含相同alte_track_ref_4cc值的(多个)‘alte’轨道组的(多个)track_group_id值列为附加于轨道ID值或代替轨道ID值。例如,提取器轨道可以通过‘scal’轨道参考指向附加于或代替单个轨道的‘alte’轨道组。‘alte’轨道组的任何单个轨道是用于提取的适合源。播放器或文件读取器等可以在所切换的轨道具有同步样本或类型1或类型2的SAP样本的位置处改变源轨道用于提取。
在RWMQ方法中,按照每个图片大小和每个区块网格一个提取器轨道是足够的。在360°+视口视频和RWMR视频中,针对每个不同的观看定向可能需要一个提取器轨道。
在流式传输会话期间,用户可以随时暂停回放。当回放被暂停时,用户可以环顾四周并且走出暂停时有效的视口。当这种情况发生在视口依赖的流中时,视口外区域的质量/分辨率将降低。这种现象严重降低了用户体验。尽管在暂停状态下存在足够的带宽和时间以高质量显示所有360度球面,但是不存在信号机制以高质量/高分辨率有效检索/解码/回放当前360度球面帧实例。此外,高分辨率的完整360度图像可能超出解码能力。例如,显示器分辨率可能适用于源自6K ERP分辨率的视口,而解码能力可能仅达到4K。
此外,如果回放系统具有单个解码器实例,即使播放器以某种方式检索和解码对应于暂停时间实例的完整360度范围内的所编码的区块等,解码器的内部状态现在与暂停前状态完全不同。如果观看者再次开始回放,播放器需要再次从先前的随机访问位置(例如,最后一个视频段的随机访问位置)开始重新解码先前的所编码的图片内容,以便重新建立其解码器状态。这会产生不必要的解码操作,甚至可能导致回放开始前的意外延迟。
OMAF v2还提供了一种关系机制,用于定义不同的全向的内容源,其被称为视点。假设对于存储和编码效率的目的,优选逐时间划分的长媒体(子)片段,当用户从一个视点切换到另一视点时,存在带宽浪费,因为在对新的视点内容执行切换操作之前,播放器需要下载完整的媒体片段。
现在,为了至少减轻上述问题,引入了一种在解码器回放暂停期间内容检索的改进方法。
根据一个方面的方法,如图10所示,包括将视频媒体内容编码(1000)到至少第一表示和第二表示中,其中第一表示被编码(1002)以包括一个或多个可切换的帧间编码图片,其中可切换的帧间编码图片具有第一特性:没有解码顺序在可切换的帧间编码图片之前的图片被用作针对解码顺序在可切换的帧间编码图片之后的任何不可切换图片的参考图片;并且第二表示被编码(1004)以包括与第一表示的可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率小于或等于第一表示的帧速率,并且第一表示和第二表示的分辨率相等。
在实施例中,术语表示可以与术语比特流互换使用,或者可以被认为是用于递送和/或存储的比特流的包装。
根据一个实施例,可切换的图片可以具有第二特性:可切换的帧间编码图片仅从零个或多个解码顺序在先的、可切换的帧间编码图片和/或从解码顺序在先的、随机访问图片而被预测。
根据一个实施例,例如在编码标准中预定义和/或在比特流中或沿比特流所指示(例如,由编码器)和/或从比特流或沿比特流解码(例如,由解码器),可切换的帧间编码图片具有第二特性:可切换的帧间编码图片仅从解码顺序在先的、可切换的帧间编码图片和/或从解码顺序在先的、随机访问图片来预测可切换的帧间编码图片,以在解码顺序中较晚者为准。第二特性使得可以利用解码器重置图片替换可切换的帧间编码图片,并且从解码器重置图片开始对第一表示进行解码成为可能。
根据一个实施例,例如在编码标准中所预定义的和/或在比特流中或沿着比特流所指示的(例如,通过编码器)和/或从比特流或沿着比特流所解码的(例如,通过解码器),可切换的帧间编码图片具有第二特性:可切换的帧间编码图片仅从零个或多个解码顺序在先的、可切换的帧间编码图片,或在先的、可切换的帧间编码图片之后的,或在先的、随机访问图片而被预测(以在解码顺序中较晚者为准)。第二特性使利用解码器重置图片替换可切换的帧间编码图片,并且从解码器重置图片开始对第一表示进行解码成为可能。
根据一个实施例,例如在编码标准中所预定义的和/或在比特流中或沿比特流所指示的(例如,由编码器)和/或从比特流或沿比特流所解码的(例如,由解码器),可切换的帧间编码图片具有第二特性:可切换的帧间编码图片仅从零个或多个解码顺序在先的、可切换的帧间编码图片和/或从解码顺序在先的、随机访问图片而被预测。第二特性使通过利用对应的解码器重置图片替换可切换的帧间编码图片来对第一表示进行解码成为可能,其中,替换是针对至少那些参考图片中的一个或多个参考图片还没有被解码的可切换的帧间编码图片执行的。
因此,引入了一种新的视频编码方法,器提供具有某些编码约束的相同内容的多个所编码的表示,诸如在第一表示中引入可切换的帧间编码图片,以及在第二表示中引入解码器重置图片。在许多编码系统中,将解码器重置图片与可切换图片对齐可以包括指示相同的图片顺序计数(POC)或针对POC的相同的最低有效位,使得它们中的任何一个可以在帧间预测中从解码顺序中的后续图片中互换地参考。
根据一个实施例,例如在编码标准中所预定义的和/或在比特流中或沿比特流所指示的(例如,由编码器)和/或从比特流或沿比特流解码(例如,由解码器),可切换的帧间编码图片具有第三特性:解码顺序在可切换的帧间编码图片之前的所有图片以输出顺序在解码顺序在可切换的帧间编码图片之后的所有图片之前。第三特性意味着,当从对应于可切换的帧间编码图片的解码器重置图片开始解码时,实现了“完全”可实现的图片速率,而没有图片冻结或打滑(stuttering)。
根据一个实施例,例如在编码标准中所预定义的和/或在比特流中或沿比特流所指示的(例如,由编码器)和/或从比特流或沿比特流所解码的(例如,由解码器),可切换的帧间编码图片具有第三特性:解码顺序在可切换的帧间编码图片之前的可切换的帧间编码图片本身和所有图片两者以输出顺序在解码顺序在可切换的帧间编码图片之后的所有图片之前。第三个特性意味着,当从对应于可切换的帧间编码图片的解码器重置图片开始解码时,实现了“完全”可实现的图片速率,而没有图片冻结或打滑,并且解码器重置图片是输出顺序中的第一图片。
根据一个实施例,编码器在比特流中或沿着比特流指示,和/或解码器从比特流中或沿着比特流解码图片是可切换的帧间编码图片的指示。该指示例如可以是但不限于特定的NAL单元类型值和/或特定的SEI消息。特定的NAL单元类型值可以例如指示相关联的图片是拖尾图片,并且如上所述,第一特性以及第二和第三特性中的零个或多个特性在比特流中被遵守。
根据实施例,编码器在比特流中或沿着比特流指示和/或解码器从比特流中或沿着比特流解码与特定图片相关联的第一、第二和第三特性中的一个或多个特性的一个或多个指示性的指示。例如,(多个)指示可以被包含在特定的SEI消息中。
根据一个实施例,该方法进一步包括周期性地对可切换的帧间编码图片进行编码。例如,在具有嵌套时间可分级性的层次帧间编码中,每组图片(GOP)中的关键图片(即,具有TemporalId等于0的图片)可以被编码为可切换图片。
根据一个实施例,解码器重置图片被编码为随机访问图片类型。根据一个实施例,解码器重置图片被编码为随机访问图片类型,使得不暗示任何引导图片。在一个实施例中,解码器重置图片是中断链接访问(BLA)图片类型,在BLA图片之后不具有引导图片,或者作为独立解码刷新(IDR)图片。例如,在HEVC中,解码器重置图片可以被编码为具有nal_unit_type等于BLA_N_LP的断链接访问(BLA)图片,这指示在解码顺序中没有引导图片跟随BLA图片。在一些视频编解码器实现中,可能存在提供与上述类似功能的其他图片或NAL单元类型。例如,在根据H.266/VVC草稿的编码方案中,解码器重置图片可以被编码为独立解码刷新(IDR)图片,其包括图片顺序计数并且开始所编码的视频序列,并且因此足以作为解码器重置图片。
根据一个实施例,解码器重置图片被编码为随机访问图片类型,该随机访问图片类型可以具有也可以不具有引导图片,当从解码器重置图片开始解码时,引导图片可以是也可以不是可解码的。在一个实施例中,编码以不针对解码器重置图片的引导图片进行编码的方式来约束。在另一实施例中,编码以不针对解码器重置图片编码任何RASL图片等的方式来约束。
根据一个实施例,解码器重置图片被编码为帧内编码图片,但是可以具有例如拖尾图片类型(例如,HEVC的TRAIL图片)。编码被类似地约束为对随机访问图片进行约束,即,以输出顺序对后续图片进行编码,使得它们可以被正确解码,而无需对在解码顺序中在解码器重置图片之前的任何图片执行解码处理。在一个实施例中,编码以不针对解码器重置图片的引导图片进行编码的方式来约束。在另一实施例中,编码以不针对解码器重置图片编码任何RASL图片等的方式来约束。
图11说明了上述针对解码器重置图片的编码约束和关系,尤其是在解码器重置图片是BLA图片的情况下。然而,需要理解的是,图11可以类似地通过利用(多个)任何其他类型的解码器重置图片或通常用术语解码器重置图片替换“BLA”来应用。在图11中,第一表示被称为“常规比特流”,第二表示被称为“BLA比特流”。图11示出了在解码顺序中,在解码顺序中的可切换的帧间编码图片之前的图片如何不被用作针对在解码顺序中的可切换帧间编码图片之后的任何不可切换图片的参考图片。换而言之,“跨”可切换图片的预测被禁用。图11还示出了第二表示的解码器重置图片(BLA)如何与第一表示的可切换图片对齐。第二表示的帧速率等于或小于第一表示中使用的实际内容帧速率,优选为其整数倍。图11中标有“P/B”的图片可以是任何类型。该等图片可以包括例如单预测(P)、双预测(B)或内预测(I)编码图片片段。
根据一个实施例,该方法还包括在第二表示的解码器重置图片以及随后的第一表示的图像进行解码时,在改善图片质量方面来调试第二表示的编码参数。
这种编码参数调试可以例如通过如下多遍编码来实现:
-在对解码器重置图片进行编码后,对常规比特流的图片(即,第一表示)之后的解码器重置图片进行解码。
-导出常规比特流的所解码的图片的失真度量。例如,可以导出以下一项或多项:平均PSNR(在图片上)、逐图片PSNR、峰值逐样本绝对差。
-如果失真度量指示失真低于预定限度,则解码器重置图片的参数可以被确定为足够。
-否则,可以调试编码参数决定。例如,可以使用较低的量化参数,可以选择速率-失真优化的lambda值以更有利于保真度,和/或可以针对解码器重置图片选择较高的比特率目标(当使用速率控制时)。然后,利用所调试的编码参数决定再次对解码器重置图片进行编码。
当对解码器重置图片进行编码时,用于编码的输入图片可以是同样用于常规编码的未压缩图片,但是可以从常规比特流中相对于所解码的可切换图片导出失真度量。因此,编码器试图最小化相对于所解码的可切换的图片的失真。
根据一个实施例,该方法进一步包括在比特流中或沿着(多个)比特流和/或在针对包装(多个)比特流的(多个)表示的元数据中指示,在解码中针对比特流或表示之间的切换的表示的比特流或内容的适合性。
在一个实施例中,在或沿着比特流和/或用于包装(多个)比特流的(多个)表示的元数据中指示
-第二表示的单元包括解码器重置图片;
-可以从解码器重置图片形成所级联的比特流,其后是第一表示中解码顺序在对应于解码重置图片的可切换帧间编码图片之后的图片;以及
-所级联的比特流是可解码的,并且具有用于显示的令人满意的质量。
包括解码器重置图片的第二表示的单元可以是例如但不限于段、子段或文件格式样本。在比特流和/或元数据中或沿着比特流和/或元数据的指示可以指示哪个单元在指示的范围内,或者可以预定义或推断哪个单元在指示的范围内。例如,可以假设每个子段具有单个的解码器重置图片,并且因此该指示可以在子段的基础上适用。
因此,编码器或中间装置(诸如,文件生成器或服务器)分别以第一和第二表示提供所编码的第一和第二比特流,以传输给解码器或播放器。第一和第二表示可以例如ISO基本媒体文件格式轨道或DASH表示来传输。
如果使用ISO基本媒体文件格式轨道,则可以使用文件格式级别的信号机制,这指示针对轨道之间的这种切换机制的内容的适合性。例如,可以使用特定类型(例如,‘dren’)的轨道参考,从携带图片-切换-启用的比特流(即,第二表示)的轨道到携带(多个)常规比特流(即,第一表示)的(多个)轨道。在另一示例中,可以使用特定类型的轨道组,该轨道组包含将携带图片-切换-启用的比特流(即,第二表示)传输至携带(多个)常规比特流(即,第一表示)的(多个)轨道。可以通过包括轨道级别指示(例如,在轨道的样本条目中特定盒)来指示轨道携带图片-切换-启用的比特流。
如果使用DASH表示,则可以使用系统级别DASH信号机制,该机制指示针对表示之间的这种切换机制的内容的适合性。为此,基于DASH协议的机制可以如下提供:
-DASH MPD中针对图片-切换-启用的表示(即第二表示)定义新属性,以指示所述第二表示可以被用以替换例如处于暂停状态的低质量区块表示图片,并且使解码器重置以继续对常规表示(即,第一表示)进行解码。
-该属性可以被称为@decoderResetEnable,并且其可以被定义如下:
-@decoderResetEnable:
o以空格分隔的presentation@id属性值列表,该列表指定了针对常规表示该表示提供重置图片的常规表示。图片按照本发明的定义(在“内容编码”部分)进行编码,并且可以利用单个解码器实例。
需要注意的是,在上述信号中,@decoderResetEnable属性被给出为示例,DASH协议被选择为示例。可以使用满足系统级别信号并且指示内容编码方法适合性的任何其他名称或协议。
图12说明了@decoderResetEnable属性或任何同等指示的使用。图12使用了图11的术语,但类似地应用于其他术语,如在图11的描述中所解释的。@decoderResetEnable属性指示如箭头所示出的所编码的图片的所级联的序列可以被解码,并且解码结果具有适当的图片质量。因此,DASH信号机制被定义使得媒体服务器可以发出信号针对这种表示切换操作的所编码的表示的适合性,例如包括但不限于在暂停状态以及过渡到播放状态期间。在暂停状态期间,可对(多个)解码器重置图片(即,图12中的(多个)BLA图片)进行解码。当恢复回放时,@decoderResetEnable或任何等同的指示向播放器指示,在对应于解码器重置图片的可切换的帧间编码图片之后,可以从常规比特流中的图片继续进行解码。
在上文中,文件格式和DASH信号机制已经分别被定义为从图片-切换-启用的轨道或表示到(多个)常规轨道或(多个)表示的指示。需要理解的是,实施例可以类似地通过相反方向的参考来实现,即,分别从常规轨道或表示到图片-切换-启用的轨道或表示。
另一方面涉及在接收到至少第一比特流或表示时播放器的操作以及关于针对在第一表示和第二表示之间切换的内容的适合性的指示。
该操作可以包括,如图13所示,接收(1300)对应于所编码的视频媒体内容的第一表示的至少一个比特流,该第一表示包括一个或多个可切换的帧间编码图片,其中可切换的帧间编码图片具有第一特性:没有解码顺序在可切换的图片之前的图片被用作针对解码顺序在可切换的图片之后的任何不可切换图片的参考图片;从至少一个比特流或沿着至少一个比特流接收(1302)关于在解码中在第一表示和第二表示之间切换的适合性的指示,其中第二表示包括与第一表示的可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中第二表示的帧速率等于或小于第一表示的帧速率,并且第一和第二表示的分辨率是相等的;接收(1304)第二表示的至少一个解码器重置图片;以及解码(1306)至少一个解码器重置第二表示的图片,之后解码第一表示的图片。
根据一个实施例,该方法进一步包括:响应于所解码的第一表示的回放中的暂停,请求第二表示的至少一个解码器重置图片。该请求可以包括,例如,针对包括第二表示的至少一个解码器重置图片的(子)段发出HTTP GET请求。
因此,当回放暂停时,(例如,由来自回放设备的用户的命令)播放器请求逐时间对应的解码器重置图片为指示中所发出的信号(诸如,在DASH MPD中),对解码器重置图片进行解码,并且利用所解码的高质量解码器重置图片来更新360度球面。
由于解码器重置图片重置了解码器(当图片的每一个图片开始新的所编码的视频序列时),因此可以利用相同的解码器实例对其进行解码,而不会引起关于例如解码器资源和缓冲器的问题。通过接收关于针对在解码中在第一表示和第二表示之间的切换的表示的内容的适合性的指示,播放器可以在暂停状态期间成功地启用高质量360度视频图片显示,并且还可以开始回放,而不会对解码器资源和缓冲器产生实质性影响。
根据一个实施例,该方法进一步包括:响应于回放的重新开始,对与重新开始基本上实时对应的解码器重置图片进行解码;以及在解码顺序中,在第一表示的可切换的帧间编码图片之后,切换到第一表示的解码图片,该第一表示的可切换的帧间编码图片与解码器重置图片临时地对齐,该解码器重置图片与重新开始基本上实时对应。
当回放重新开始时,播放器解码与重新开始基本上实时对应的解码器重置图片。解码器重置图片可以是回放重新开始后及时的下一解码器重置图片。在另一方面,如果先前所解码的解码器重置图片临时足够接近回放重新开始,则其也可以用作到第一表示的切换点。播放器随后继续从跟随可切换图片的图片中解码常规表示(第一表示),该可切换图片与用作切换点的解码器重置图片临时地对齐。
上文已经就第一表示和第二表示描述了实施例。实施例类似地应用于第一表示集和第二表示集,第一表示集中的每个表示类似于第一表示,第二表示集中的每个表示类似于第二表示,并且第二表示集中的每个表示具有与第一表示集中的对应的表示。实施例可以成对地应用于第一表示集中的所选择的表示和第二表示集中的对应的表示。例如,当接收到多个区块轨道、子图片轨道等时,实施例应用例如以实现如前所述的视口依赖的流式传输。
根据一个实施例,该方法还包括响应于所解码的第一表示的回放中的暂停,根据解码器缓冲器大小和/或可用带宽的约束,请求第二表示的多个解码器重置图片。
根据一个实施例,该方法进一步包括响应于所解码的第一表示集的回放中的暂停,根据解码器缓冲器大小和/或可用带宽的约束,从第二表示的第二集请求多个解码器重置图片。例如,覆盖当前视口的解码器重置图片可以从携带区块或子图片轨道等的第二表示集中被请求。
因此,播放器可以通过在暂停状态期间基于其可用缓冲器大小或基于所定义的带宽利用策略取得覆盖整个内容覆盖范围(例如,360度)的高质量区块来利用暂停时间。第二表示集中可以包含高质量区块。高质量区块可以例如是包装在第二表示集中的子图片轨道中的随机访问图片,或者可以例如是包装在第二表示集中的区块轨道中所封闭的区块或区块集随机访问图片。播放器可以首先解码并且播放高质量的预取得的区块,并且当恢复到具有特定视口的正常回放操作时,播放器开始基于视口请求针对视口的高质量内容以及针对360度球面的其余部分的低质量内容。
在暂停状态期间,播放器还可以利用以下策略开始预取得:
-首先预取得针对当前视口的高质量区块,然后针对在所暂停的视口周围的所扩大的区域(其可以由阈值定义)。
-对应于HMD/凝视定向或“落地定向”的视口的“慢预取得”,例如在暂停状态期间的随意运动之后。这允许跟踪用户的运动并且以低速预取得数据,因为可以预期他/她将从落地定向点开始回放。
根据实施例,该方法进一步包括响应于视口切换请求第二表示的至少一个解码器重置图片。该请求可以包括,例如,针对包括第二表示的至少一个解码器重置图片的(子)段发出HTTP GET请求。
根据实施例,该方法进一步包括当从第一视口切换到第二视口时应用从第一表示到第二表示的切换。因此,当播放器从一个视口切换到另一个视口时,可以应用上述信号(诸如,DASH信号机制)和播放器操作。解码器重置图片将启用从视口的一个媒体(子)段到另一视口的另一媒体(子)段的快速过渡,因此在视口切换过程中允许低延迟和高效带宽利用。该实施例可以使,例如能够在第一表示中使用相对较大的随机访问图片间隔,以实现更好的压缩性能,同时通过向第二表示提供相对频繁的解码器重置图片,可以实现对视口依赖流式传输中的观看定向切换的快速响应。当切换到另一视口时,覆盖该视口的(多个)解码器重置图片首先被接收并且解码,随后是在解码顺序中跟随在(多个)解码器重置图片之后的第一(多个)表示(集)的(多个)图片。
根据一个实施例,该方法进一步包括响应于视点切换,请求第二表示的至少一个解码器重置图片。该请求可以包括,例如,发出针对(子)段的HTTP GET请求,该(子)段包括目的地视点的第二表示(被切换到)的至少一个解码器重置图片。在对应于解码器重置图片的可切换的帧间编码图片之后,播放器可以发出覆盖目的地视点的第一表示的所编码的图片的另一请求。
根据一个实施例,该方法进一步包括在从第一视点切换到第二视点时应用从第一表示到第二表示的切换。因此,当播放器从一个视点切换到另一视点时,可以应用上述信号(诸如,DASH信号机制)和播放器操作。解码器重置图片将允许从视点的一个媒体段到另一视点的另一媒体段的快速过渡,从而在视点切换过程中允许低延迟和高效的带宽利用。
实施例可以与提取器组合,例如在ISO/IEC 14496-15中针对HEVC所定义的提取器,具有约束该提取器不必然能够混合可切换和重置图片的图片段(例如,切片),因为所述图片类型的图像段报头(例如,切片报头)彼此不同。根据实施例的信号可以在一对提取器轨道/表示之间被指示(常规的和重置图片的),该对提取轨道/表示分别从常规和重置图片子图片轨道/表示中提取。
一些视频编码格式或标准可能允许源自可切换图片和重置图片的图片段的混合。在这种情况下,源自第一表示集和第二表示集的每个并置区块轨道集、子图片轨道等可以被指示为对于彼此的备选,例如使用如上所述的‘alte’轨道组。提取器轨道可以指来自第一和第二表示集的所并置的图片段的(多个)轨道组。播放器可以在图片段基础上(例如,子图片或区块基础)选择图片段是源自可切换的帧间编码图片还是对应的解码器重置图片。
根据一个实施例,基于网络的媒体处理实体可以在流式传输会话期间基本上即时(即,飞行中(on the fly))生成解码器重置图片,并且能够在不同表示之间无缝切换。这种实体可能顺应MPEG NBMP或类似标准。在这种情况下,DASH@decoderResetEnable标志可以指示表示中存在这种解码器重置图片。实施例可以提供显著的优势。例如,播放器可以成功地利用所述实施例,并且在暂停状态期间启用高质量的360度视频图片显示,并且还可以在对解码器资源和缓冲器影响最小的情况下开始回放。单个解码器实例可能足以实现所述实施例,因此除了解释信号的能力(诸如,解析和解释@decoderResetEnable DASH属性)之外,在播放器侧不设置任何附加的解码器约束。利用适当的信号(诸如,@decoderResetEnable)播放器可以理解,相关联的表示适合于重置解码,用于在非-流-访问点位置处开始对所指示的常规表示进行解码。此外,当全向视频回放暂停并且随后恢复时,实施例提供了更好的用户体验。此外,通过消除针对解码器状态对齐的不必要的媒体数据传输,网络资源被更好的利用。
图14示出了适用于采用本发明实施例的视频解码器的框图。图14描绘了两层解码器的结构,但是应当理解,解码操作可以类似地用于单层解码器。
视频解码器550包括针对基本层的第一解码器部分552和所预测的层的第二解码器部分554。框556说明了用于向第一解码器部分552递送关于基本层图片的信息以及用于向第二解码器部分554递送关于所预测的层图片的信息的解复用器。参考P’n代表图片块的所预测的表示。参考D’n代表重建的预测误差信号。框704、804说明了初步重建图片(I’n)。参考R’n代表最终重建图片。框703、803说明了逆变换(T-1)。框702、802示出了逆量化(Q-1)。框701、801说明了熵解码(E-1)。框705、805说明了参考帧存储器(RFM)。框706、806说明了预测(P)(帧间预测或帧内预测)。框707、807说明了过滤(F)。框708、808可以被用于将所解码的预测误差信息与所预测的基本层/所预测的层图像相结合,以获得初步重建的图片(I’n)。初步重建和所过滤的基本层图片可以从第一解码器部分552输出709,并且初步重建和过滤的基本层图片可以从第一解码器部分554输出809。
本文中,解码器应当被解释为覆盖能够执行解码操作的任何操作单元,诸如播放器、接收器、网关、解复用器和/或解码器。
图15是其中可以实现各种实施例的示例多媒体通信系统的图形表示。数据源1510以模拟、未压缩数字或所压缩的数字格式或这些格式的任何组合来提供源信号。编码器1520可以包括或被连接到预处理,诸如源信号的数据格式转换和/或过滤。编码器1520将源信号编码成所编码的媒体比特流。应当注意,将要被解码的比特流可以直接或间接从位于几乎任何类型网络内的远程设备接收。附加地,可以从本地硬件或软件接收比特流。编码器1520可能能够编码一种以上的媒体类型(诸如,音频和视频)或者可能需要一个以上的编码器1520来编码源信号的不同媒体类型。编码器1520还可以得到合成所产生的输入(诸如,图形和文本),或者它可以产生合成媒体的所编码的比特流。在下文中,仅考虑处理一种媒体类型的一个所编码的媒体比特流以简化描述。然而,应当注意,典型的实时广播服务包括多个流(典型的至少一个音频、视频和文本字幕流)。还应当注意,该系统可以包括许多编码器,但是在图中仅示出了一个编码器1520,以简化描述而不缺乏一般性。应当进一步理解,尽管本文中所包含的文本和示例可以具体地描述编码过程,但是本领域技术人员应当理解,相同的概念和原理也应用于对应的解码过程,反之亦然。
所编码的媒体比特流可以被传输至存储装置1530。存储装置1530可以包括任何类型的大容量存储器,以存储所编码的媒体比特流。存储装置1530中的所编码的媒体比特流的格式可以是基本的独立比特流格式,或者一个或多个所编码的媒体比特流可以被包装到容器文件中,或者所编码的媒体比特流可以被包装到适合DASH(或类似的流式传输的系统)的段格式中,并且被存储为段序列。如果一个或多个媒体比特流被包装在容器文件中,文件生成器(图中未示出)可以被用以将一个或多个媒体比特流存储在文件中并且创建文件格式元数据,该元数据也可以被存储在文件中。编码器1520或存储装置1530可以包括文件生成器,或者文件生成器可以操作地附加到编码器1520或存储装置1530。一些系统“实时”运行,即省略存储装置并且将所编码的媒体比特流从编码器1520直接传输到发送器1540。所编码的媒体比特流随后可以根据需要被传输到发送器1540(也被称为服务器)。传输中所使用的格式可以是基本的独立比特流格式、分组流格式、适合DASH的段格式(或类似的流系统),或者可以被包装到容器文件中的一个或多个所编码的媒体比特流。编码器1520、存储装置1530和服务器1540可以驻留在同一物理设备中,它们也可以被包含在分离的设备中。编码器1520和服务器1540可以与实时直播内容一起操作,在这种情况下,所编码的媒体比特流通常不会永久存储,而是在内容编码器1520和/或服务器1540中缓冲小段时间,以消除处理延迟、传递延迟和所编码的媒体比特率的变化。
服务器1540使用通信协议堆栈发送所编码的媒体比特流。堆栈可以包括但不限于以下中的一个或多个:实时传输协议(RTP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、传输控制协议(TCP)和互联网协议(IP)。当通信协议栈是面向分组时,服务器1540将所编码的媒体比特流包装到分组中。例如,当使用RTP时,服务器1540根据RTP有效载荷格式将所编码的媒体比特流包装成RTP分组中。通常,每种媒体类型具有专用的RTP有效载荷格式。应当再次注意,系统可以包含一个以上的服务器1540,但是为了简单起见,以下描述仅考虑一个服务器1540。
如果媒体内容被包装在用于存储1530或用于向发送器1540输入数据的容器文件中,则发送器1540可以包括或可操作地附加到“发送文件解析器”(图中未示出)。特别地,如果容器文件没有被如此传输,但是所包含的所编码媒体比特流中的至少一个比特流被包装用于通过通信协议运输,则发送文件解析器定位所编码的媒体比特流的适当部分以通过通信协议传达。发送文件解析器还可以帮助针对通信协议创建正确的格式(诸如,分组报头和有效载荷)。多媒体容器文件可以包含包装指令(诸如,ISOBMFF中的提示轨道),用于在通信协议上包装所包含的媒体比特流中的至少一个媒体比特流。
服务器1540可以或可以不通过通信网络连接到网关1550,该通信网络可以是例如CDN、互联网和/或一个或多个接入网络的组合。网关也可以或备选地被称为中间盒。对于DASH,网关可以是(CDN的)边缘服务器或web代理。注意,系统通常可以包括任何数目的网关等,但是为了简单起见,以下描述仅考虑一个网关1550。网关1550可以执行不同类型的功能,诸如根据一个通信协议堆栈将分组流平移成另一通信协议堆栈、数据流的合并和分流、以及根据下行链路和/或接收器能力操纵数据流(诸如,根据主要下行链路网络条件控制所转发的流的比特率)。在各种实施例中,网关1550可以是服务器实体。
该系统包括一个或多个接收器1560,其通常能够接收、解调制和解包装所传送的信号为所编码的媒体比特流。所编码的媒体比特流可以被传递至记录存储装置1570。记录存储装置1570可以包括任何类型的大容量存储器,以存储所编码的媒体比特流。记录存储装置1570可备选地或附加地包括计算存储器(诸如,随机访问存储器)。记录存储装置1570中的所编码的媒体比特流的格式可以是基本的独立比特流格式,或者可以被包装到容器文件中的一个或多个所编码的媒体比特流。如果存在多个相互关联的所编码的媒体比特流(诸如音频流和视频流)则通常使用容器文件,并且接收器1560包括或附加到容器文件生成器,该容器文件生成器从输入流产生容器文件。一些系统“实时”操作,即省略记录存储装置1570,并且将所编码的媒体比特流从接收器1560直接传递到解码器1580。在一些系统中,仅所记录的流的最近部分(例如,所记录流的最近10分钟的摘录)被保存在记录存储装置1570中,而任何较早所记录的数据被从记录存储装置1570中丢弃。
所编码的媒体比特流可以从记录存储装置1570传递到解码器1580。如果有许多所编码的媒体比特流(诸如,音频流和视频流)相互关联并且被包装到容器文件中,或者单个媒体比特流被包装到容器文件中(例如,为了更容易访问),文件解析器(图中未示出)被用以从容器文件中解包装每个所编码的媒体比特流。记录存储装置1570或解码器1580可以包括文件解析器,或者文件解析器被附加到记录存储装置1570或解码器1580。还应当注意,该系统可以包括许多解码器,但是在此仅讨论一个解码器1570,以简化描述而不缺乏一般性
所编码的媒体比特流可以由解码器1570进一步处理,其输出是一个或多个未压缩的媒体流。最后,渲染器1590可以例如利用扬声器或显示器再现未压缩的媒体流。接收器1560、记录存储装置1570、解码器1570和渲染器1590可以驻留同一物理设备中,也可以包含在单独的设备中。
发送器1540和/或网关1550可以被配置为在不同表示之间执行切换,例如用于在360度视频内容的不同视口之间进行切换、视图切换、比特率适配和/或快速启动,和/或发送器1540和/或可以被配置为选择(多个)所传送的表示的网关1550。不同表示之间的切换可能出于多种原因发生,诸如响应接收器1560的请求或传达比特流的网络的目前条件(诸如,吞吐量)。换而言之,接收器1560可以开始表示之间的切换。来自接收器的请求可以是,例如针对来自与较早不同的表示的段或子段的请求、针对传送的可分级性层和/或子层的改变的请求、或与先前的可分级性层和/或子层相比具有不同能力的渲染设备的改变。针对段的请求可以是HTTP GET请求。针对子段的请求可以是具有字节范围的HTTP GET请求。附加地或备选地,比特率调整或比特率适应可以被用于例如在流式传输服务中提供所谓的快速启动,其中所传送的流的比特率低于在开始或随机访问流式传输之后的通道比特率,以便立即开始回放并且达到容忍偶尔的分组延迟和/或重新传输的缓冲器占用级别。比特率适应可以包括以各种顺序进行的多个表示或层向上切换和表示或层向下切换操作。
解码器1580可以被配置为执行不同表示之间的切换,例如用于360度视频内容的不同视口之间的切换、视点切换、比特率适应和/或快速启动,和/或可以已被配置为选择所传送的(多个)表示的解码器1580。不同表示之间的切换可能出于多种原因而发生,诸如为了实现更快的解码操作或使所传送的比特流(例如,在比特率方面)适应传达比特流的网络的目前条件(诸如,吞吐量)。因此,解码器可以包括用于请求第二表示的至少一个解码器重置图片用于在第一表示和第三表示之间执行比特率适应的部件。例如,如果包括解码器1580的设备是多任务的,并且将计算资源用于解码视频比特流之外的其他目的,则可能需要更快的解码操作。在另一示例中,当内容以比正常回放速度更快的速度回放时,例如比常规实时回放速度快两倍或三倍,可能需要更快的解码操作。
在上文中,已经就ISOBMFF描述了一些实施例,例如当涉及段格式时。需要理解的是,实施例可以类似地以任何其他文件格式实现(诸如Matroska,其具有与ISOBMFF类似的能力和/或结构)。
在上文中,在参考编码器已经描述了示例性实施例的情况下,需要理解的是,所生成的比特流和解码器中可以具有它们中的对应的元素。同样,在参考解码器已经描述了示例实施例的情况下,需要理解的是,编码器可以具有用于生成将由解码器解码的比特流的结构和/或计算机程序。
上述本发明的实施例在分离的编码器和解码器装置方面描述了编解码器,以帮助理解所涉及的过程。然而,应当理解,该装置、结构和操作可以实现为单个编码器-解码器装置/结构/操作。此外,编码器和解码器可能共享一些或所有公共元素。
尽管上述示例描述了在电子设备内的编解码器内操作的本发明的实施例,但是应当理解,如权利要求中所定义的本发明可以被实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在视频编解码器中被实现,该视频编解码器可以通过固定或有线通信路径实现视频编码。
因此,用户设备可以包括视频编解码器(诸如,本发明上述实施例中所描述的那些视频编解码器)。应当理解,术语用户设备旨在覆盖任何合适类型的无线用户设备(诸如,移动电话、便携式数据处理设备或便携式网络浏览器)。
此外,公共陆地移动网络(PLMN)的元素也可以包括如上所述的视频编解码器。
一般而言,本发明的各种实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以被实现在硬件中,而其他方面可以被实现在固件或软件中,其可以由控制器、微处理器或其他计算设备执行,尽管本发明不限于此。尽管本发明的各个方面可被说明和描述为框图、流程图或使用一些其他图形表示,但众所周知,本文所描述的这些框、装置、系统、技术或方法可以在作为非限制性示例的硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合中实现。
本发明的实施例可以通过可由移动设备的数据处理器(诸如,在处理器实体中)执行的计算机软件、或通过硬件、或通过软件和硬件的组合来实现。此外,在这一点上,应当注意,图中的逻辑流程的任何框可以表示程序步骤,或者互连的逻辑电路、块和功能,或者程序步骤和逻辑电路、块和功能的组合。软件可以被存储在物理介质上,如存储器芯片或在处理器内实现的存储器块、磁介质(诸如,硬盘或软盘)和光学介质(诸如例如DVD及其数据变型CD)。
存储器可以是适合本地技术环境的任何类型,并且可以使用任何合适的数据存储装置技术来实现,诸如基于半导体的存储器设备、磁存储器设备和系统、光存储器设备和系统、固定存储器和可移动存储器。作为非限制性示例,数据处理器可以是适合本地技术环境的任何类型,并且可以包括一个或多个通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器。
本发明的实施例可以在各种组件中实施(诸如,集成电路模块)。集成电路的设计大体上是高度自动化的过程。复杂并且功能强大的软件工具可用于将逻辑级设计转换为半导体电路设计,以便于在半导体基底上蚀刻和形成。
诸如由加利福尼亚州山景城的新思科公司和加利福尼亚州圣荷西的CadenceDesign提供的程序使用完善的设计规则和预先存储的设计模块库自动在半导体芯片上自动地布线导体和定位组件。一旦针对半导体电路的设计完成,标准化电子格式(例如Opus、GDSII等)的最终设计可以传送到半导体制造设备或“fab”进行制造。
前述描述已经通过示例性和非限制性示例的方式提供了对本发明示例性实施例的完整并且信息丰富的描述。然而,当结合附图和所附权利要求阅读时,鉴于前述描述,各种修改和改编对于相关领域的技术人员而言可能变得明显。然而,对本发明教导的所有该等及类似修改仍将落入本发明的范围内。

Claims (15)

1.一种用于视频编码的方法,包括:
将视频媒体内容编码到至少第一表示和第二表示中,其中
所述第一表示包括可切换的帧间编码图片,其中所述可切换的所述图片具有第一特性:没有解码顺序在所述可切换的帧间编码图片之前的图片被用作针对解码顺序在所述可切换的帧间编码图片之后的任何不可切换图片的参考图片;并且
所述第二表示包括与所述第一表示的所述可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中所述第二表示的帧速率小于或等于所述第一表示的帧速率,并且所述第一表示和所述第二表示的分辨率相等。
2.一种用于视频编码的装置,包括:
用于将视频媒体内容编码到至少第一表示和第二表示中的部件,其中
所述第一表示包括可切换的帧间编码图片,其中所述可切换的图片具有第一特性:没有解码顺序在所述可切换的帧间编码图片之前的图片被用作针对解码顺序在所述可切换的帧间编码图片之后的任何不可切换图片的参考图片;并且
所述第二表示包括与所述第一表示的所述可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中所述第二表示的帧速率小于或等于所述第一表示的帧速率,并且所述第一表示和所述第二表示的分辨率相等。
3.根据权利要求2所述的装置,其中所述解码器重置图片被配置以被编码为中断链接访问图片,所述中断链接访问图片之后不具有引导图片,或者被编码为独立解码刷新(IDR)图片。
4.一种用于视频解码的方法,包括:
接收对应于所编码的视频媒体内容的第一表示的至少一个比特流,所述第一表示包括可切换的帧间编码图片,其中所述可切换的帧间编码图片具有第一特性:没有解码顺序在所述可切换的帧间编码图片之前的图片被用作针对解码顺序在所述可切换的帧间编码图片之后的任何不可切换图片的参考图片;
从所述至少一个比特流或沿着所述至少一个比特流接收关于在解码中所述第一表示和第二表示之间切换的适合性的指示,其中所述第二表示包括与所述第一表示的所述可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中所述第二表示的帧速率等于或小于所述第一表示的帧速率,并且所述第一表示和所述第二表示的分辨率相等;
接收所述第二表示的至少一个解码器重置图片;以及
解码所述第二表示的所述至少一个解码器重置图片,随后是所述第一表示的图片。
5.一种用于视频解码的装置,包括:
用于接收对应于所编码的视频媒体内容的第一表示的至少一个比特流的部件,所述第一表示包括可切换的帧间编码图片,其中所述可切换的帧间编码图片具有第一特性:没有解码顺序在所述可切换的帧间编码图片之前的图片被用作针对解码顺序在所述可切换的帧间编码图片之后的任何不可切换图片的参考图片;
用于从所述至少一个比特流或沿着所述至少一个比特流接收关于在解码中所述第一表示和第二表示之间切换的适合性的指示的部件,其中所述第二表示包括与所述第一表示的所述可切换的帧间编码图片对齐的一个或多个解码器重置图片,其中所述第二表示的帧速率等于或小于所述第一表示的帧速率,并且所述第一表示和所述第二表示的分辨率相等;
用于接收所述第二表示的至少一个解码器重置图片的部件;以及
用于解码所述第二表示的至少一个解码器重置图片随后是所述第一表示的图片的部件。
6.根据权利要求5所述的装置,其中所述可切换的帧间编码图片具有第二特性:所述可切换的帧间编码图片仅从零个或多个解码顺序在先的、可切换的帧间编码图片和/或从解码顺序在先的、随机访问图片而被预测。
7.根据权利要求5或6所述的装置,还包括:
用于响应于所解码的所述第一表示的回放中的暂停而请求所述第二表示的所述至少一个解码器重置图片的部件。
8.根据权利要求5或6所述的装置,还包括:
用于响应视口切换而请求所述第二表示的所述至少一个解码器重置的部件。
9.根据权利要求8所述的装置,其中所述视口切换发生自第一视口到第二视口,并且其中所述第一表示覆盖所述第一视口,所述装置还包括:
用于接收对应于所编码的视频媒体内容的第三表示的第二比特流的部件,所述第三表示表示所述第二视口。
10.根据权利要求5或6所述的装置,还包括:
用于响应于视点切换而请求所述第二表示的所述至少一个解码器重置图片的部件。
11.根据权利要求10所述的装置,其中所述视点切换发生自第一视点到第二视点,并且其中所述第一表示覆盖所述第一视点,所述装置还包括:
用于接收对应于所编码的视频媒体内容的第三表示的第二比特流的部件,所述第三表示表示所述第二视点。
12.根据权利要求5或6所述的装置,还包括:
用于响应于回放的重新开始而解码与所述重新开始基本上实时对应的解码器重置图片的部件;以及
用于在所述第一表示的可切换帧间编码图片解码顺序之后切换到解码所述第一表示的图片的部件,所述第一表示的可切换帧间编码图片与基本上实时对应于所述重新开始的所述解码器重置图片临时地对齐。
13.根据权利要求5或6所述的装置,还包括:
用于响应于所解码的所述第一表示的回放中的暂停而根据解码器缓冲器大小和/或可用带宽的约束来请求所述第二表示的多个解码器重置图片的部件。
14.根据权利要求5或6所述的装置,还包括:
用于请求所述第二表示的至少一个解码器重置图片以用于在所述第一表示和第三表示之间执行比特率适应的部件。
15.根据权利要求5或6所述的装置,还包括:
用于从第一提取器轨道或表示中提取所述至少一个可切换的帧间编码图片的部件;以及
用于从第二提取器轨道或表示中提取所述至少一个解码器重置图片的部件。
CN202080020905.9A 2019-03-14 2020-02-19 用于视频编码和解码的设备、方法和计算机程序 Active CN113647114B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20195187 2019-03-14
FI20195187 2019-03-14
PCT/FI2020/050104 WO2020183055A1 (en) 2019-03-14 2020-02-19 An apparatus, a method and a computer program for video coding and decoding

Publications (2)

Publication Number Publication Date
CN113647114A CN113647114A (zh) 2021-11-12
CN113647114B true CN113647114B (zh) 2023-10-10

Family

ID=72427805

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080020905.9A Active CN113647114B (zh) 2019-03-14 2020-02-19 用于视频编码和解码的设备、方法和计算机程序

Country Status (5)

Country Link
US (1) US11909983B2 (zh)
EP (1) EP3939329A4 (zh)
JP (1) JP7238155B2 (zh)
CN (1) CN113647114B (zh)
WO (1) WO2020183055A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021000277A1 (en) * 2019-07-03 2021-01-07 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for coding, decoding and storage medium
US20220360802A1 (en) * 2019-08-06 2022-11-10 Op Solutions, Llc Frame buffering in adaptive resolution management
US11589032B2 (en) * 2020-01-07 2023-02-21 Mediatek Singapore Pte. Ltd. Methods and apparatus for using track derivations to generate new tracks for network based media processing applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017093611A1 (en) * 2015-12-02 2017-06-08 Nokia Technologies Oy A method for video encoding/decoding and an apparatus and a computer program product for implementing the method
WO2018178507A1 (en) * 2017-03-27 2018-10-04 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000062298A1 (en) * 1999-03-30 2000-10-19 Tivo, Inc. System for automatic playback position correction after fast forward or reverse
WO2008129500A2 (en) * 2007-04-24 2008-10-30 Nokia Corporation System and method for implementing fast tune-in with intra-coded redundant pictures
KR20140043239A (ko) * 2012-09-27 2014-04-08 한국전자통신연구원 계층간 전환을 이용한 영상 부호화/복호화 방법 및 그 장치
JP2017522767A (ja) 2014-06-18 2017-08-10 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオビットストリームにおけるランダムアクセス
US10158867B2 (en) * 2014-06-20 2018-12-18 Qualcomm Incorporated Picture order count reset for multi-layer codecs
WO2016093752A1 (en) 2014-12-10 2016-06-16 Telefonaktiebolaget Lm Ericsson (Publ) Stream access for adaptive streaming of video
US10270823B2 (en) * 2015-02-10 2019-04-23 Qualcomm Incorporated Low latency video streaming
US9538137B2 (en) 2015-04-09 2017-01-03 Microsoft Technology Licensing, Llc Mitigating loss in inter-operability scenarios for digital video
CN108028948B (zh) * 2015-08-07 2021-05-07 联发科技股份有限公司 用于多媒体应用的比特流随机访问与同步的方法及装置
US10148983B2 (en) 2015-09-25 2018-12-04 Qualcomm Incorporated Methods and systems of improved video stream switching and random access
US20170347084A1 (en) * 2016-05-27 2017-11-30 Intel Corporation Virtual reality panoramic video system using scalable video coding layers
US10620441B2 (en) 2016-12-14 2020-04-14 Qualcomm Incorporated Viewport-aware quality metric for 360-degree video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017093611A1 (en) * 2015-12-02 2017-06-08 Nokia Technologies Oy A method for video encoding/decoding and an apparatus and a computer program product for implementing the method
WO2018178507A1 (en) * 2017-03-27 2018-10-04 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding

Also Published As

Publication number Publication date
CN113647114A (zh) 2021-11-12
EP3939329A1 (en) 2022-01-19
EP3939329A4 (en) 2022-12-14
US11909983B2 (en) 2024-02-20
JP2022525166A (ja) 2022-05-11
US20220159267A1 (en) 2022-05-19
WO2020183055A1 (en) 2020-09-17
JP7238155B2 (ja) 2023-03-13

Similar Documents

Publication Publication Date Title
CN113170238B (zh) 用于视频编码和解码的装置、方法和计算机程序
US11671625B2 (en) Apparatus, a method and a computer program for video coding and decoding
US10893256B2 (en) Apparatus, a method and a computer program for omnidirectional video
CN111543060B (zh) 用于视频编码和解码的装置、方法和计算机程序
US10728521B2 (en) Apparatus, a method and a computer program for omnidirectional video
US11082719B2 (en) Apparatus, a method and a computer program for omnidirectional video
KR102170550B1 (ko) 미디어 콘텐츠를 인코딩하는 방법, 장치 및 컴퓨터 프로그램
CN112673638B (zh) 处理媒体数据的方法和装置
WO2020008106A1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2019141907A1 (en) An apparatus, a method and a computer program for omnidirectional video
US20230059516A1 (en) Apparatus, a method and a computer program for omnidirectional video
WO2017140948A1 (en) An apparatus, a method and a computer program for video coding and decoding
CN113647114B (zh) 用于视频编码和解码的设备、方法和计算机程序
WO2020201632A1 (en) An apparatus, a method and a computer program for omnidirectional video
WO2019038473A1 (en) APPARATUS, METHOD AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40063700

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant