CN118042095A - 用于视频编码和解码的装置、方法和计算机程序 - Google Patents

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

Info

Publication number
CN118042095A
CN118042095A CN202410193966.5A CN202410193966A CN118042095A CN 118042095 A CN118042095 A CN 118042095A CN 202410193966 A CN202410193966 A CN 202410193966A CN 118042095 A CN118042095 A CN 118042095A
Authority
CN
China
Prior art keywords
picture
encoded
prediction
tile
prediction unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410193966.5A
Other languages
English (en)
Inventor
M·汉努克塞拉
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 CN118042095A publication Critical patent/CN118042095A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/167Synchronising or controlling image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • 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
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks

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)

Abstract

本公开实施例涉及用于视频编码和解码的装置、方法和计算机程序。一种方法,包括:将输入图片编码为经编码的组成图片;作为所述编码的一部分,重构与经编码的组成图片相对应的经解码的组成图片;将空间区域编码为经编码的图块,该编码包括:确定指示经解码的组成图片内的空间区域的按区域的锚点定位的水平偏移和垂直偏移;对水平偏移和垂直偏移编码;确定在经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于按区域的锚点定位而预测的。

Description

用于视频编码和解码的装置、方法和计算机程序
分案说明
本申请是中国国家申请号为201880065662.3、发明名称为“用于视频编码和解码的装置、方法和计算机程序”的发明专利申请的分案申请。
技术领域
本发明涉及用于视频编码和解码的装置、方法和计算机程序。
背景技术
近来,各种多媒体流应用、特别是360度视频或虚拟现实(VR)应用的开发已经取得了长足的进步。在视口自适应流中,目标是降低比特率,例如使得主视口(即,当前观看取向)将以最佳质量/分辨率进行传输,而其余的360度视频则以较低的质量/分辨率进行传输。当观看取向改变时,例如当用户在利用头戴式显示器观看内容时转动其头部时,需要流传输另一版本的内容,以匹配新的观看取向。
有几种替代方案来传递视口相关全向视频。例如,可以将其作为具有运动受限图块(tile)集(MCTS)的等分辨率高效视频编码(HEVC)比特流进行传递。因此,使用运动受限图块集,以相同的分辨率但不同的质量和比特率对具有同一全向源内容的若干HEVC比特流编码。用于传递视口相关全向视频的另一方法是执行HEVC可缩放扩展(SHVC)感兴趣区域可缩放性编码。其中对基本层进行常规编码,并且利用SHVC可缩放主简档对感兴趣区域(ROI)增强层编码。然而,对于层间预测的可用解码硬件的有限支持(诸如HEVC的SHVC扩展)限制了SHVC ROI编码的可用性。
另外的方法被称为受限层间预测(CILP)。在CILP中,选择某些输入图片以在同一比特流中将其编码为两个经编码的图片,第一经编码的图片称为共享的经编码的图片。第一比特流中的共享的经编码的图片与第二比特流中的相应共享的经编码的图片相同。该编码方法有利于对直到所选择的共享的经编码的图片(不包括)的第一比特流解码,以及从相应的共享的经编码的图片开始对第二比特流解码。不需要帧内经编码的图片来开始第二比特流的解码,因此,与常规方法相比,压缩效率得以提高。
CILP实现使用HEVC主简档编码器和解码器,并且因此与SHVC ROI方法相比具有更好的实现兼容性。此外,CILP利用相对较低的帧内图片频率(类似于SHVC ROI方法)。然而,与SHVC ROI方法相比,CILP受到将MCTS用于基本质量图块的影响,并且在使用精细图块网格时与SHVC-ROI相比,CILP的流速率失真性能较差。因此,SHVC ROI和CILP方法在不同情况下相对于彼此具有优势,但是并非在所有情况下一个方法优于另一方法。
发明内容
现在,为了至少减轻上述问题,本文中介绍了增强型编码方法。
根据第一方面的方法包括:将输入图片编码为经编码的组成图片;作为所述编码的一部分,重构与经编码的组成图片相对应的经解码的组成图片;将空间区域编码为经编码的图块,该编码包括:确定指示经解码的组成图片内的空间区域的按区域的锚点定位的水平偏移和垂直偏移;对水平偏移和垂直偏移编码;确定在经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于按区域的锚点定位而预测的,其中第一水平坐标和第一垂直坐标分别是空间区域内的水平坐标和垂直坐标;指示预测单元是相对于预测单元锚点定位而预测的,该预测单元锚点定位是相对于水平偏移和垂直偏移的;得出预测单元锚点定位,该预测单元锚点定位分别等于第一水平坐标和水平偏移之和以及第一垂直坐标和垂直偏移之和;针对预测单元确定运动矢量;以及相对于预测单元锚点定位应用运动矢量以获取预测块。
根据一个实施例,该方法还包括:从输入图片中提取空间区域;以及基于输入图片内的空间区域的位置确定水平偏移和垂直偏移。
根据一个实施例,输入图片表示第一视图,并且该方法还包括从表示与第一视图不同的第二视图的第二输入图片获取空间区域。
根据一个实施例,第一经编码的图片包括组成图片和经编码的图块,该方法还包括确定运动矢量为零;以及指示第一经编码的图片是用于运动矢量的参考图片。
根据一个实施例,第一经编码的图片包括组成图片并且第二经编码的图片包括经编码的图块,并且该方法包括指示第一经编码的图片是用于运动矢量的参考图片。
根据一个实施例,该指示包括确定运动矢量使得相对于预测单元的定位应用运动矢量使预测块的得出使用经编码的图块之外的至少一个样本。
第二方面和第三方面涉及一种在其上存储有代码的装置和计算机可读存储介质,该代码被布置为执行上述方法以及与之相关的一个或多个实施例。
第四方面涉及一种方法,该方法包括:将经编码的图块解码为经解码的图块,该解码包括:对水平偏移和垂直偏移解码;对以下指令解码:经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于预测单元锚点定位而预测的,该预测单元锚点定位是相对于水平偏移和垂直偏移的;得出预测单元锚点定位,该预测单元锚点定位分别等于第一水平坐标和水平偏移之和以及第一垂直坐标和垂直偏移之和;针对预测单元确定运动矢量;以及相对于预测单元锚点定位应用运动矢量以获取预测块。
第五方面和第六方面涉及一种在其上存储有代码的装置和计算机可读存储介质,该代码被布置为执行上述方法以及与之相关的一个或多个实施例。
附图说明
为了更好地理解本发明,现在将通过示例的方式参考附图,在附图中:
图1示意性地示出了采用本发明的实施例的电子设备;
图2示意性地示出了适合于采用本发明的实施例的用户设备;
图3进一步示意性地示出了使用通过无线和有线网络连接而连接的采用本发明的实施例的电子设备;
图4示意性地示出了适合于实现本发明的实施例的编码器;
图5示出了将同一时间实例的图像拼接、投影和映射到打包的虚拟现实帧上的示例;
图6示出了形成单视场等量矩形全景图片的过程;
图7示出了在DASH中使用的分层数据模型的示例;
图8示出了在与其他立方体面相同的打包虚拟现实帧上映射立方体图的较高分辨率的采样正面的示例;
图9a示出了具有运动受限图块集的等分辨率HEVC比特流的传递的示例;
图9b示出了SHVC ROI可缩放性编码的示例;
图10示出了受限层间预测(CILP)编码的示例;
图11a和图11b示出了对两个比特流编码并且根据SP-CILP编码在它们之间进行切换的示例;
图12示出了根据本发明的实施例的编码方法的流程图;
图13示出了根据本发明的实施例的编码方法的示例;
图14示出了根据本发明的实施例的在共享组成图片与图块之间的不同采样密度的示例;
图15示出了根据本发明的实施例的容器文件布置的示例;
图16示出了根据本发明的实施例的容器文件创作的示例;
图17示出了根据本发明的实施例的容器文件创作的另一示例;
图18示出了根据本发明的实施例的用于立体声编码的布置的示例;
图19示出了根据本发明的实施例的用于立体声编码的布置的另一示例;
图20示出了适合于实现本发明的实施例的解码器的示意图;
图21示出了根据本发明的实施例的解码方法的流程图;以及
图22示出了可以在其内实现各种实施例的示例多媒体通信系统的示意图。
具体实施方式
下面进一步详细描述用于发起视点切换的合适的装置和可能的机制。在这点上,首先参考图1和图2,其中图1示出了根据示例实施例的视频编码系统的框图,作为示例性装置或电子设备50的示意性框图,其可以包含根据本发明的实施例的编解码器。图2示出了根据示例实施例的装置的布局。接下来将说明图1和2的元素。
电子设备50可以例如是无线通信系统的移动终端或用户设备。然而,应当理解,本发明的实施例可以在可能需要编码和解码或编码或解码视频图像的任何电子设备或装置中实现。
装置50可以包括用于包含和保护该设备的壳体30。装置50还可以包括液晶显示器形式的显示器32。在本发明的其他实施例中,显示器可以是适合于显示图像或视频的任何合适的显示技术。装置50还可以包括小键盘34。在本发明的其他实施例中,可以采用任何合适的数据或用户接口机制。例如,用户接口可以被实现为作为触敏显示器的一部分的虚拟键盘或数据输入系统。
该装置可以包括麦克风36或可以是数字或模拟信号输入的任何合适的音频输入。装置50还可以包括音频输出设备,音频输出设备在本发明的实施例中可以是听筒38、扬声器或模拟音频或数字音频输出连接中的任何一种。装置50还可以包括电池(或者在本发明的其他实施例中,该设备可以由任何合适的移动能量设备(诸如太阳能电池、燃料电池或发条发电机)供电)。该装置还可以包括能够记录或捕获图像和/或视频的相机。装置50还可以包括用于与其他设备的短距离视线通信的红外端口。在其他实施例中,装置50还可以包括任何合适的短距离通信解决方案,诸如例如蓝牙无线连接或USB/FireWire有线连接。
装置50可以包括用于控制装置50的控制器56、处理器或处理器电路系统。控制器56可以连接到存储器58,在本发明的实施例中,存储器58可以以图像和音频数据的形式存储数据,和/或还可以存储用于在控制器56上实现的指令。控制器56还可以连接到编解码器电路系统54,该编解码器电路系统54适合于执行音频和/或视频数据的编码和解码或者辅助由控制器执行的编码和解码。
装置50还可以包括读卡器48和智能卡46,例如用于提供用户信息并且适合于提供用于用户在网络处的认证和授权的认证信息的UICC和UICC读取器。
装置50可以包括无线电接口电路系统52,该无线接口电路系统52连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或无线局域网进行通信的无线通信信号。装置50还可以包括天线44,该天线44连接到无线电接口电路系统52以将在无线电接口电路系统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可以连接到网络服务器26,该网络服务器26允许移动电话网络11与互联网28之间的通信。该系统可以包括附加的通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术进行通信,包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议互联网协议(TCP-IP)、短消息服务(SMS)、多媒体消息服务(MMS)、电子邮件、即时消息服务(IMS)、蓝牙、IEEE 802.11和任何类似的无线通信技术。涉及实现本发明的各种实施例的通信设备可以使用各种介质进行通信,包括但不限于无线电、红外、激光、电缆连接和任何合适的连接。
在电信和数据网络中,信道可以是指物理信道或逻辑信道。物理信道可以是指诸如有线等物理传输介质,而逻辑信道可以是指能够传送若干逻辑信道的复用介质上的逻辑连接。信道可以用于从一个或若干发送器(或传输器)向一个或若干接收器传送信息信号,例如比特流。
在ISO/IEC 13818-1中或在ITU-T H.222.0建议书中等效地指定的MPEG-2传输流是一种用于在多路复用流中承载音频、视频和其他媒体以及程序元数据或其他元数据的格式。分组标识符(PID)用于标识TS内的基本流(也称为打包的基本流)。因此,MPEG-2TS内的逻辑信道可以被认为对应于特定的PID值。
可用的媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC 14496-12,其可以缩写为ISOBMFF)和用于NAL单元结构视频的文件格式(ISO/IEC 14496-15)(其来自ISOBMFF)。
下面描述ISOBMFF的一些概念、结构和规范作为基于其可以实现实施例的容器文件格式的示例。本发明的各方面不限于ISOBMFF,而是给出了一种可能的基础的描述,可以部分或完全地在该种可能的基础上实现本发明的。
ISO基本媒体文件格式的基本构建块称为框。每个框具有报头和有效载荷。框报头以字节为单位指示框的类型和框的大小。框可以封闭其他框,并且ISO文件格式指定某种类型的框内允许哪些框类型。此外,每个文件中的某些框的存在可以是强制性的,而其他框的存在可以是可选的。此外,对于一些类型的框,可以允许文件中具有多于一个框。因此,可以考虑ISO基本媒体文件格式来指定框的层级结构。
根据ISO文件格式系列,文件包括封装在框中的媒体数据和元数据。每个框由四个字符代码(4CC)标识,并且以报头开始,该报头告知框的类型和大小。
在符合ISO基本媒体文件格式的文件中,媒体数据可以在媒体数据“mdat”框中提供,而电影“moov”框可以用于封闭元数据。在一些情况下,为了使文件可操作,可能需要呈现“mdat”和“moov”框两者。电影“moov”框可以包括一个或多个轨道,并且每个轨道可以驻留在一个对应的轨道“trak”框中。轨道可以是多种类型之一,包括媒体轨道,该媒体轨道是指根据媒体压缩格式(及其到ISO基本媒体文件格式的封装)而格式化的样本。
可以使用电影片段,例如在将内容记录到ISO文件时,例如以避免在发生记录应用崩溃、存储器空间不足或其他事件时丢失数据。在没有电影片段的情况下,可能发生数据丢失,因为文件格式可能要求将所有元数据(例如,电影框)写入文件的一个连续区域中。此外,当记录文件时,可能没有足够的存储器空间(例如,随机存取存储器RAM)来针对可用存储的大小缓冲电影框,并且在电影关闭时重新计算电影框的内容可能太慢。此外,电影片段可以使用常规的ISO文件解析器实现同时记录和播放文件。此外,渐进式下载可能需要较短的初始缓冲持续时间,例如,在使用电影片段时同时接收和播放文件,并且与具有相同媒体内容但结构化而没有电影片段的文件相比,初始电影框较小。
电影片段特征可以实现将否则可能驻留在电影框中的元数据拆分为多个片段。每个片段可以对应于轨道的特定时间段。换言之,电影片段特征可以实现对文件元数据和媒体数据的交织。因此,电影框的大小可能受到限制,并且可以实现上述用例。
在一些示例中,如果电影片段的媒体样本与moov盒在同一文件中,则电影片段的媒体样本可以驻留在mdat框中。然而,对于电影片段的元数据,可以提供moof框。moof框可以包括先前已经在moov框中的播放时间的一定持续时间的信息。moov框本身可以仍然表示有效电影,但除此之外,它还可以包括指示电影片段将在同一文件中跟随的mvex框。电影片段可以及时扩展与moov框关联的呈现。
在电影片段内可以存在一组轨道片段,每个轨道包括从零到多个的任何位置。轨道片段又可以包括从零到多个轨道运行的任何位置,其中对于每个轨道,文档是该轨道的连续样本运行。在这些结构内,很多字段是可选的,并且可以是默认的。可以包括在moof框中的元数据可以限于可以包括在moov框中的元数据的子集,并且在一些情况下可以不同地被编码。有关可以包括在moof框中的框的详细信息可以从ISO基本媒体文件格式规范中找到。独立的电影片段可以定义为包括按文件顺序连续的moof框和mdat框,并且其中mdat框包含电影片段的样本(moof框为其提供元数据)并且不包含任何其他电影片段的样本(即,任何其他momf框)。
轨道引用机制可以用于将轨道彼此关联。TrackReferenceBox包括(多个)框,每个框提供从包含轨道到一组其他轨道的引用。这些引用通过所包含的(多个)框的框类型(即,框的四字符代码)进行标记。
ISO基本媒体文件格式包含可以与特定样本相关联的定时元数据的三种机制:样本组、定时元数据轨道和样本辅助信息。所得出的规范可以利用这三种机制中的一种或多种提供类似的功能。
ISO基本媒体文件格式及其派生词(诸如AVC文件格式和SVC文件格式)的样本分组可以定义为基于分组标准将轨道中的每个样本分配为一个样本组的成员。样本分组中的样本组不限于连续样本,还可以包含不相邻样本。由于轨道中的样本可能有多于一个样本分组,因此每个样本分组可以具有用于指示分组的类型的类型字段。样本分组可以由两个链接的数据结构表示:(1)SampleToGroupBox(sbgp框)表示将样本分配给样本组;以及(2)SampleGroupDescriptionBox(sgpd框)包含每个样本组的描述该组的属性的样本组条目。基于不同的分组标准,可以存在SampleToGroupBox和SampleGroupDescriptionBox的多个实例。这些可以通过用于指示分组类型的类型字段来区分。SampleToGroupBox可以包括可以用于例如指示分组的子类型的grouping_type_parameter字段。
Matroska文件格式能够(但不限于)将视频、音频、图片或字幕轨道中的任何一个存储在一个文件中。Matroska可以用作所得出的文件格式(诸如WebM)的基础格式。Matroska使用可扩展二进制元语言(EBML)作为基础。受XML原理的启发,EBML指定了二进制和八位字节(字节)对准的格式。EBML本身是二进制标记技术的概括描述。Matroska文件包括构成EBML“文档”的元素。元素包含元素ID、元素大小的描述符和二进制数据本身。元素可以嵌套。Matroska的分段元素是其他顶级(级1)元素的容器。Matroska文件可以包括一个分段(但不限于由一个分段组成)。Matroska文件中的多媒体数据按集群(或集群元素)进行组织,每个集群(或集群元素)通常包含几秒钟的多媒体数据。集群包括BlockGroup元素,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的输出以产生被输入到预测误差编码器303、403的第一预测误差信号320、420。
像素预测器302、402还从初步重构器339、439接收图像块312、412的预测表示与预测误差解码器304、404的输出338、438的组合。初步重构图像314、414可以被传递到帧内预测器308、408和滤波器316、416。接收初步表示的滤波器316、416可以对初步表示进行滤波并且输出可以保存在参考帧存储器318、418中的最终重构图像340、440。参考帧存储器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,解码的预测误差信号338、438在与第二求和设备339、439处的图像块312、412的预测表示组合时产生初步重构图像314、414。可以认为预测误差解码器包括去量化器361、461和逆变换单元363、463,去量化器361、461对量化系数值(例如,DCT系数)进行去量化以重构变换信号,逆变换单元363、463对重构的变换信号执行逆变换,其中逆变换单元363、463的输出包含(多个)重构块。预测误差解码器还可以包括块滤波器,该块滤波器可以根据另外的解码信息和滤波器参数来滤波(多个)重构块。
熵编码器330、430接收预测误差编码器303、403的输出,并且可以对信号执行适当的熵编码/可变长度编码以提供误差检测和校正能力。熵编码器330、430的输出可以例如通过多路复用器508被插入到比特流中。
可以多种方式执行熵编码/解码。例如,可以应用基于上下文的编码/解码,其中在编码器和解码器两者中,基于先前编码/解码的编码参数来修改编码参数的上下文状态。基于上下文的编码可以例如是上下文自适应二进制算术编码(CABAC)或基于上下文的可变长度编码(CAVLC)或任何类似的熵编码。可以备选地或附加地使用诸如霍夫曼编码/解码或Exp-Golomb编码/解码等可变长度编码方案来执行熵编码/解码。从经熵编码的比特流或码字中解码编码参数可以被称为解析。
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的任何多层扩展,甚至较普遍地适用于任何多层视频编码方案。
本部分中以可以在其中实现实施例的视频编码器、解码器、编码方法、解码方法和比特流结构为例,描述了H.264/AVC和HEVC的一些关键定义、比特流和编码结构、以及概念。H.264/AVC的一些关键定义、比特流和编码结构、以及概念与HEVC中的相同——因此,下面将对它们进行共同描述。本发明的各方面不限于H.264/AVC或HEVC,而是给出了一种可能的基础的描述,可以部分或完全地在该种可能的基础上实现本发明。
与很多早期的视频编码标准类似,在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中,将样本阵列作为单独的颜色平面编码到比特流中,并且分别从比特流中解码单独编码的颜色平面是可能的。当使用单独的颜色平面时,将颜色平面中的每一个(由编码器和/或解码器)分别作为具有单色采样的图片进行处理。
分割(partition)可以定义为将集合划分为子集,使得集合的每个元素恰好在子集之一中。
当描述HEVC编码和/或解码的操作时,可以使用以下术语。编码块可以定义为针对N的某个值的样本的N×N块,使得将编码树块划分为编码块是分割。编码树块(CTB)可以定义为针对N的某个值的样本的N×N块,使得将分量划分为编码树块是分割。编码树单元(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中,切片报头定义为作为当前切片分段的独立切片分段的切片分段报头,或者定义为在当前从属切片分段之前的独立切片分段,并且切片分段报头定义为包含与切片分段中表示的第一或所有编码树单元有关的数据元素的编码切片分段的一部分。如果未使用图块,则按图块内或图片内的LCU的光栅扫描顺序来扫描CU。在LCU内,CU具有特定的扫描顺序。
运动受限图块集(MCTS)使得帧间预测过程在编码方面受到限制,从而在运动受限图块集之外没有样本值并且在使用运动受限图块集之外的一个或多个样本得出的分数样本定位处也没有样本值用于运动受限图块集内的任何样本的帧间预测。附加地,以不从MCTS外部的块得出运动矢量候选的方式来约束MCTS的编码。这可以通过以下方式来强制实现:关闭HEVC的时间运动矢量预测,或者禁止编码器使用TMVP候选或在合并(merge)或AMVP候选列表中紧靠MCTS的右图块边界的左侧的PU的TMVP候选之后的任何运动矢量预测候选,但MCTS右下角的最后一个除外。通常,MCTS可以定义为独立于MCTS外部的任何样本值和编码数据(诸如运动矢量)的图块集。在某些情况下,可能需要MCTS来形成矩形区域。应当理解,取决于上下文,MCTS可以指代图片内的图块集或图片序列中的相应图块集。相应图块集可以但通常不需要在图片序列中并置。
注意,在帧间预测中使用的样本位置可以通过编码和/或解码过程得到饱和,使得否则将在图片之外的位置是饱和的以指向图片的对应边界样本。因此,如果图块边界也是图片边界,则在一些用例中,编码器可以允许运动矢量有效地越过该边界,或者运动矢量可以有效地导致分数样本插值,该分数插值将指代该边界之外的位置,因为样本位置饱和到边界上。在其他用例中,具体地,如果可以从位于与图片边界相邻的定位的比特流中向与位于与图片边界不相邻的定位的另一比特流提取经编码的图块,则编码器可以与任何MCTS边界类似,将运动矢量约束在图片边界上。
HEVC的时间运动受限图块集SEI消息可以用于指示比特流中的运动受限图块集的存在。
解码器通过应用类似于编码器的预测方法来重构输出视频,以形成像素块的预测表示(使用由编码器创建并且存储在压缩表示中的运动或空间信息)和预测误差解码(在空间像素域中恢复量化的预测误差信号的预测误差编码的逆运算)。在应用预测和预测误差解码手段之后,解码器对预测和预测误差信号(像素值)求和以形成输出视频帧。解码器(和编码器)还可以在传递输出视频以进行显示和/或将其存储为视频序列中即将到来的帧的预测参考之前,应用附加的滤波手段以提高输出视频的质量。
滤波可以例如包括以下中的一项或多项:解块、样本自适应偏移(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_temporal_id_plus1指示(其可能需要大于或等于1)和六位nuh_layer_id语法元素。可以将temporal_id_plus1语法元素视为NAL单元的时间标识符,并且可以如下得出基于零的TemporalId变量:TemporalId=temporal_id_plus1-1。缩写TID可以与TemporalId变量可互换地使用。TemporalId等于0对应于最低时间级别。为了避免涉及两个NAL单元报头字节的启动代码仿真,temporal_id_plus1的值必须为非零值。通过排除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)图片。
随机访问点(RAP)图片(在独立层中也可以称为帧内随机访问点(IRAP)图片)仅包含帧内编码切片。属于预测层的IRAP图片可以包含P、B和I切片,不能使用来自同一预测层中的其他图片的帧间预测,并且可以使用来自其直接参考层的层间预测。在HEVC的当前版本中,IRAP图片可以是BLA图片、CRA图片或IDR图片。包含基本层的比特流中的第一图片是基本层的IRAP图片。如果在需要激活时必要的参数集可用,则可以正确解码独立层的IRAP图片以及独立层的按解码顺序的所有后续非RASL图片,而无需执行按解码顺序在IRAP图片之前的任何图片的解码过程。当需要激活时必要的参数集可用时以及当已经初始化预测层的每个直接参考层的解码时,属于预测层的IRAP图片和同一预测层内按解码顺序的所有后续非RASL图片可以被正确地解码,而无需执行按照解码顺序在IRAP图片之前的同一预测层的任何图片的解码过程。比特流中可能有一些图片仅包含不是IRAP图片的帧内编码切片。
非VCL NAL单元可以是例如以下类型之一:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结尾NAL单元、比特流结尾NAL单元或填充数据NAL单元。重构解码图片可能需要参数集,而重构解码样本值不需要很多其他非VCL NAL单元。
在整个编码视频序列中保持不变的参数可以被包括在序列参数集中。除了解码过程可能需要的参数,序列参数集可以选择性地包含视频可用性信息(VUI),该VUI包括对于缓冲、图片输出时序、渲染和资源保留可能很重要的参数。在HEVC中,序列参数集RBSP包括可以由一个或多个图片参数集RBSP或包含缓冲周期SEI消息的一个或多个SEI NAL单元引用的参数。图片参数集包含在若干经编码的图片中可能保持不变的这样的参数。图片参数集RBSP可以包括可以由一个或多个经编码的图片的编码切片NAL单元引用的参数。
在HEVC中,视频参数集(VPS)可以定义为语法结构,该语法结构包含适用于零个或多个完整编码视频序列的语法元素,这些语法元素由在每个切片分段报头中找到的语法元素所引用的PPS中找到的语法元素所引用的SPS中找到的语法元素的内容确定。
视频参数集RBSP可以包括可以由一个或多个序列参数集RBSP引用的参数。
视频参数集(VPS)、序列参数集(SPS)和图片参数集(PPS)之间的关系和层级可以描述如下。VPS在参数集层级中以及可缩放性和/或3D视频的上下文中位于SPS之上一级。VPS可以包括整个编码视频序列中的所有(可缩放性或视图)层中的所有切片所共有的参数。SPS包括整个编码视频序列中的特定(可缩放性或视图)层中的所有切片所共有的参数,并且可以由多个(可缩放性或视图)层共享。PPS包括特定层表示(一个访问单元中的一个可缩放性或视图层的表示)中的所有切片所共有的参数,并且可能由多个层表示中的所有切片共享。
VPS可以提供有关比特流中的各层的依赖关系的信息、以及适用于整个编码视频序列中的所有(可缩放性或视图)层中的所有切片的很多其他信息。可以认为VPS包括两个部分——基本VPS和VPS扩展,其中VPS扩展可以可选地存在。
带外传输、信令或存储可以附加地或备选地用于除对传输错误的容忍之外的其他目的,诸如访问或会话协商的容易性。例如,符合ISO基本媒体文件格式的文件中的轨道的样本条目可以包括参数集,而比特流中的编码数据存储在文件中的其他地方或存储在另一文件中。短语“沿着比特流(例如,沿着比特流指示)”或“沿着比特流的编码单元(例如,沿着经编码的图块指示)”可以在权利要求和所描述的实施例中使用以指代以带外数据分别与比特流或编码单元相关联方式的带外传输、信令或存储。短语“沿着比特流或沿着比特流的编码单元等的解码”可以是指解码分别与比特流或编码单元相关联的所引用的带外数据(其可以从带外传输、信令或存储获取)。
SEI NAL单元可以包含一个或多个SEI消息,该一个或多个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中,存在具有彼此不同的nal_unit_type值的两种类型的SEI NAL单元,即后缀SEI NAL单元和前缀SEI NAL单元。后缀SEI NAL单元中包含的(多个)SEI消息与按解码顺序在后缀SEI NAL单元之前的VCL NAL单元相关联。前缀SEI NAL单元中包含的(多个)SEI消息与按解码顺序在前缀SEI NAL单元之后的VCL NAL单元相关联。
经编码的图片是图片的编码表示。
在HEVC中,经编码的图片可以定义为包含图片的所有编码树单元的图片的编码表示。在HEVC中,访问单元(AU)可以定义为根据指定分类规则彼此相关联,按解码顺序连续的并且包含具有nuh_layer_id的任何特定值的最多一个图片的一组NAL单元。除了包含经编码的图片的VCL NAL单元,访问单元还可以包含非VCL NAL单元。所述指定的分类规则可以例如将具有相同输出时间或图片输出计数值的图片关联到同一访问单元中。
比特流可以定义为以NAL单元流或字节流形式的比特序列,该比特序列形成形成一个或多个编码视频序列的经编码的图片和相关联的数据的表示。在同一逻辑信道中,诸如在同一文件中或在通信协议的同一连接中,第一比特流之后可以是第二比特流。基本流(在视频编码的上下文中)可以定义为一个或多个比特流的序列。第一比特流的结束可以由特定NAL单元指示,该特定NAL单元可以被称为比特流结尾(EOB)NAL单元并且是比特流的最后的NAL单元。在HEVC及其当前的扩展草案中,要求EOB NAL单元的nuh_layer_id等于0。
在H.264/AVC中,编码视频序列被定义为按解码顺序从IDR访问单元(包括)到下一IDR访问单元(不包括)或到比特流的末尾(以较早出现的为准)的连续访问单元的序列。
在HEVC中,编码视频序列(CVS)可以定义为例如访问单元的序列,该访问单元的序列按解码顺序包括NoRaslOutputFlag等于1的IRAP访问单元,随后是不是NoRaslOutputFlag等于1的IRAP访问单元的零个或多个访问单元,包括所有后续访问单元,直到但是不包括作为NoRaslOutputFlag等于1的IRAP访问单元的任何后续访问单元。IRAP访问单元可以定义为其中基本层图片是IRAP图片的访问单元。对于每个IDR图片、每个BLA图片和每个IRAP图片,NoRaslOutputFlag的值等于1,它是比特流中的该特定层中按解码顺序的第一图片,按解码顺序在具有相同nuh_layer_id值的序列结尾NAL单元之后的第一IRAP图片。可能存在用于从可以控制解码器的外部实体(诸如播放器或接收器)向解码器提供HandleCraAsBlaFlag的值的手段。例如,HandleCraAsBlaFlag可以由寻求到比特流中的新定位或调谐到广播并且开始解码并且然后从CRA图片开始解码的播放器设置为1。当CRA图片的HandleCraAsBlaFlag等于1时,CRA图片就好像其是BLA图片一样地被处理和解码。
在HEVC中,当可以被称为序列结尾(EOS)NAL单元的特定NAL单元出现在比特流中并且其nuh_layer_id等于0时,可以附加地或备选地(对于以上规范)指定编码视频序列结束。
图片组(GOP)及其特征可以如下定义。不管是否解码了先前的图片,都可以对GOP解码。开放GOP是这样的一组图片,其中当解码从开放GOP的初始帧内图片开始时,按输出顺序在初始帧内图片之前的图片可能无法正确解码。换言之,开放GOP的图片可以涉及(在帧间预测中)属于先前GOP的图片。HEVC解码器可以识别开始开放GOP的帧内图片,因为特定的NAL单元类型、CRA NAL单元类型可以用于其编码切片。封闭GOP是这样的一组图片,其中当解码从封闭GOP的初始帧内图片开始时,所有图片都可以正确解码。换言之,封闭GOP中没有图片涉及先前GOP中的任何图片。在H.264/AVC和HEVC中,封闭GOP可以从IDR图片开始。在HEVC中,封闭GOP也可以从BLA_W_RADL或BLA_N_LP图片开始。与封闭GOP编码结构相比,开放GOP编码结构在压缩方面可能更有效率,这是因为对参考图片的选择的灵活性更大。
解码图片缓冲器(DPB)可以在编码器和/或解码器中使用。缓冲解码图片有两个原因:用于帧间预测中的参考以及用于将解码图片重新排序为输出顺序。由于H.264/AVC和HEVC为参考图片标记和输出重新排序提供了很大的灵活性,因此用于参考图片缓冲和输出图片缓冲的单独缓冲器可能会浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的统一的解码图片缓冲过程。当解码图片不再用作参考并且不需要用于输出时,可以将解码图片从DPB中去除。
在H.264/AVC和HEVC的很多编码模式中,用于帧间预测的参考图片由参考图片列表的索引指示。索引可以用可变长度编码来编码,这通常引起较小索引具有对应语法元素的较短值。在H.264/AVC和HEVC中,为每个双向预测(B)切片生成两个参考图片列表(参考图片列表0和参考图片列表1),并且为每个帧间编码(P)切片生成一个参考图片列表(参考图片列表0)。
包括H.264/AVC和HEVC在内的很多编码标准可以具有用于将参考图片索引得出到参考图片列表的解码过程,该参考图片列表可以用于指示多个参考图片中的哪个用于特定块的帧间预测。参考图片索引可以在一些帧间编码模式下由编码器编码到比特流中,或者例如可以在一些其他帧间编码模式下使用相邻块来得出(由编码器和解码器)。
可以针对单个预测单元得出若干候选运动矢量。例如,运动矢量预测HEVC包括两种运动矢量预测方案,即高级运动矢量预测(AMVP)和合并模式。在AMVP或合并模式中,针对PU得出运动矢量候选的列表。有两种候选:空间候选和时间候选,其中时间候选也可以称为TMVP候选。
例如,可以如下执行候选列表得出,同时应当理解,候选列表得出可以存在其他可能性。如果候选列表的占用不是最大,则空间候选在可用并且在候选列表中尚不存在的情况下首先被包括在候选列表中。此后,如果候选列表的占用还未达到最大,则将临时候选包括在候选列表中。如果候选数仍未达到最大允许数,则将组合的双向预测候选(用于B切片)和零运动矢量相加。在构造候选列表之后,编码器例如基于速率失真优化(RDO)决策从候选中确定最终运动信息,并且将所选择的候选的索引编码到比特流中。同样,解码器从比特流中解码所选择的候选的索引,构造候选列表,并且使用解码索引从候选列表中选择运动矢量预测器。
在HEVC中,AMVP和合并模式可以表征如下。在AMVP中,编码器指示使用单向预测还是双向预测以及使用哪些参考图片以及对运动矢量差编码。在合并模式中,仅将从候选列表中选择的候选编码到比特流中,以指示当前预测单元具有与所指示的预测器相同的运动信息。因此,合并模式创建包括共享相同运动信息的相邻预测块的区域,对于每个区域,该预测信息仅被发信号通知一次。
下面提供高级运动矢量预测的操作的示例,而高级运动矢量预测的其他类似实现也是可能的,例如具有不同的候选定位集和具有候选定位集的候选位置。还需要理解,诸如合并模式等其他预测模式可以类似地操作。可以得出两个空间运动矢量预测器(MVP),并且可以得出时间运动矢量预测器(TMVP)。它们可以从以下定位中选择:位于当前预测块上方的三个空间运动矢量预测器候选定位(B0,B1,B2)和位于左侧的两个(A0,A1)。以每个候选定位集(B0,B1,B2)或(A0,A1)的预定义顺序可用的(例如,驻留在同一切片中,进行帧间编码,等等)第一运动矢量预测器可以被选择以表示运动矢量竞争中的预测方向(向上或向左)。时间运动矢量预测器的参考索引可以由切片报头中的编码器指示(例如,作为collocated_ref_idx语法元素)。以潜在的时间候选位置的预定义顺序(例如,以顺序(C0,C1))可用的(例如,进行帧间编码)第一运动矢量预测器可以被选择作为用于时间运动矢量预测器的源。从并置图片中的第一可用候选位置获取的运动矢量可以根据时间运动矢量预测器的参考图片、并置图片和当前图片的图片顺序计数差的比例来缩放。此外,可以在候选之间执行冗余检查以去除相同的候选,这可以导致在候选列表中包括零运动矢量。例如,可以通过指示空间运动矢量预测器的方向(向上或向左)或时间运动矢量预测器候选的选择来在比特流中指示运动矢量预测器。并置图片也可以称为共址图片、用于运动矢量预测的源或用于运动矢量预测的源图片。
运动参数类型或运动信息可以包括但不限于以下类型中的一种或多种:
-预测类型的指示(例如,帧内预测、单向预测、双向预测)和/或参考图片的数目;
-预测方向的指示,诸如帧间(也称为时间)预测、层间预测、视图间预测、视图合成预测(VSP)和分量间预测(其可以按参考图片和/或按预测类型来指示,并且其中在某些实施例中,视图间预测和视图综合预测可以被共同视为一个预测方向)和/或
-参考图片类型的指示,诸如短期参考图片和/或长期参考图片和/或层间参考图片(例如,其可以按参考图片来指示)
-对参考图片列表的参考索引和/或参考图片的任何其他标识符(例如,其可以按参考图片来指示,并且其类型可以取决于预测方向和/或参考图片类型,并且其可以随附有其他相关信息,诸如
参考索引所应用于的参考图片列表等);
-水平运动矢量分量(例如,其可以按预测块或按参考索引等来指
示);
-垂直运动矢量分量(例如,其可以按预测块或按参考索引等来指
示);
-一个或多个参数,诸如包含运动参数或与运动参数相关联的图片与其参考图片之间的图片顺序计数差和/或相对相机距离,其可以用于在一个或多个运动矢量预测过程中缩放水平运动矢量分量和/或垂直运动矢量分量(其中例如,所述一个或多个参数可以按参考图片或按参考索引等来指示);
-运动参数和/或运动信息所应用于的块的坐标,例如以亮度样本为单位的块的左上角样本的坐标;
-运动参数和/或运动信息所应用于的块的范围(例如,宽度和高度)。
通常,运动矢量预测机制(诸如以上作为示例呈现的运动矢量预测机制)可以包括对某些预定义或指示的运动参数的预测或继承。
与图片相关联的运动场可以被认为包括针对图片的每个经编码的图块而产生的一组运动信息。例如,运动场可以通过块的坐标可访问。例如,运动场可以用在其中使用除当前编码(解码)图片以外的用于预测的源或参考的TMVP或任何其他运动预测机制中。
可以应用不同的空间粒度或单位来表示和/或存储运动场。例如,可以使用空间单元的规则网格。例如,图片可以划分为一定大小的矩形块(在图片边缘(诸如在右边缘和下边缘)的块可能除外)。例如,空间单元的尺寸可以等于编码器可以在比特流中指示其明显运动的最小尺寸,诸如以亮度样本为单位的4×4块。例如,可以使用所谓的压缩运动场,其中空间单元可以等于预定义或指示的尺寸,诸如以亮度样本为单位的1×16块,其尺寸可以大于用于指示明显运动的最小尺寸。例如,HEVC编码器和/或解码器可以以以下方式来实现:对每个解码的运动场执行运动数据存储减少(MDSR)或运动场压缩(在将运动场用于图片之间的任何预测之前)。在HEVC实现中,MDSR可以通过在压缩运动场中保持适用于16×16块的左上样本的运动来将运动数据的粒度减小到以亮度样本为单位的16×16块。编码器可以将与压缩运动场的空间单元有关的(多个)指示编码为例如诸如视频参数集或序列参数集等序列级语法结构中的一个或多个语法元素和/或语法元素值。在一些编(解)码方法和/或设备中,可以根据运动预测的块分割(例如,根据HEVC标准的预测单元)来表示和/或存储运动场。在一些编(解)码方法和/或设备中,可以应用规则网格和块分割的组合,使得与大于预定义或指示的空间单元大小的分割相关联的运动与这些分割相关联地被表示和/或存储,而与小于或未对准预定义或指示的空间单元大小或网格的分割相关联的运动被表示和/或存储用于预定义或指示的单元。
可缩放视频编码可以是指一种编码结构,其中一个比特流可以例如包含不同的比特率、分辨率或帧速率的内容的多个表示。在这些情况下,接收器可以根据其特性(例如,与显示设备最匹配的分辨率)提取期望表示。备选地,服务器或网络元件可以根据例如接收器的网络特性或处理能力提取要传输给接收器的比特流的部分。通过仅对可缩放比特流的某些部分解码,可以产生有意义的解码表示。可缩放比特流通常包括提供可用的最低质量视频的“基本层”以及在与较低层一起接收和解码时增强视频质量的一个或多个增强层。为了提高增强层的编码效率,该层的编码表示通常取决于较低层。例如。可以从较低层预测增强层的运动和模式信息。类似地,较低层的像素数据可以用于创建增强层的预测。
在一些可缩放视频编码方案中,视频信号可以被编码到基本层和一个或多个增强层中。增强层可以增强例如时间分辨率(即,帧速率)、空间分辨率,或仅增强由另一层或其一部分表示的视频内容的质量。每个层及其所有从属层都是视频信号的一种表示,例如以一定的空间分辨率、时间分辨率和质量水平。在本文档中,将可缩放层及其所有从属层称为“可缩放层表示”。可以提取和解码与可缩放层表示相对应的可缩放比特流的部分,以便以一定保真度产生原始信号的表示。
可缩放性模式或可缩放性维度可以包括但不限于以下各项:
-质量可缩放性:基本层图片的编码质量低于增强层图片,例如,
与增强层中相比,在基本层中,其可以使用较大的量化参数值(即,用于变换系数量化的量化步长更大)来实现。如下所述,质量可缩放性可以进一步分类为细颗粒(fine-grain)或细粒度(fine-granularity)可缩放性(FGS)、中颗粒(medium-grain)或中粒度(medium-granularity)可缩放性(MGS)和/或粗颗粒(coarse-grain)或粗粒度(coarse-granularity)可缩放性(CGS)。-空间可缩放性:基本层图片的编码分辨率低于增强层图片(即,采样数更少)。空间可缩放性和质量可缩放性、尤其是其粗颗粒可缩放性类型有时可以被视为相同类型的可缩放性。
-位深度可缩放性:基本层图片的编码位深度(例如,8位)小于增强层图片(例如,10或12位)。
-动态范围可缩放性:可缩放层表示使用不同色调映射函数和/或不同光学传递函数获取的不同动态范围和/或图像。
-色度格式可缩放性:基层图片在色度样本阵列中提供的空间分辨率(例如,以4:2:0色度格式编码)低于增强层图片(例如,4:4:4格式)。
-色域可缩放性:增强层图片的颜色表示范围比基本层图片的颜色表示范围更丰富/更广泛——例如,增强层可以具有UHDTV(ITU-R BT.2020)色域,而基本层可以具有ITU-R BT.709色域。-视图可缩放性,也可以称为多视图编码。基本层表示第一视图,而增强层表示第二视图。视图可以定义为表示一个相机或视点的图片序列。可以认为,在立体或两视图视频中,为左眼呈现一个视频序列或视图,而为右眼呈现平行视图。
-深度可缩放性,也可以称为深度增强编码。比特流的一个或多个层可以表示(多个)纹理视图,而其他一个或多个层可以表示(多个)深度视图。
-感兴趣区域的可缩放性(如下所述)。
-隔行到逐行可缩放性(也称为场到帧可缩放性):基本层的编码隔行源内容材料通过增强层进行增强以表示逐行源内容。基本层中的编码隔行源内容可以包括编码字段、表示字段对的编码帧、或其混合。在隔行到逐行可缩放性中,可以对基本层图片进行重新采样,使得其成为一个或多个增强层图片的合适的参考图片。
-混合编解码器可缩放性(也称为编码标准可缩放性):在混合编解码器可缩放性中,基本层和增强层的比特流语法、语义和解码过程在不同的视频编码标准中指定。因此,根据与增强层图片不同的编码标准或格式对基本层图片编码。例如,基本层可以用H.264/AVC编码,而增强层可以用HEVC多层扩展编码。
应当理解,很多可缩放性类型可以被组合并且一起应用。例如,色域可缩放性和位深度可缩放性可以组合。
术语“层”可以在任何类型的可缩放性的上下文中使用,包括视图可缩放性和深度增强。增强层可以是指任何类型的增强,诸如SNR、空间、多视图、深度、位深度、色度格式和/或色域增强。基本层可以指代任何类型的基本视频序列,诸如基本视图、用于SNR/空间可缩放性的基本层、或用于深度增强的视频编码的纹理基本视图。
一些可缩放视频编码方案可能要求IRAP图片以以下方式跨层对准:访问单元中的所有图片都是IRAP图片或者访问单元中的所有图片都不是IRAP图片。其他可缩放视频编码方案(诸如HEVC的多层扩展)可以允许未对准的IRAP图片,即访问单元中的一个或多个图片是IRAP图片,而访问单元中的一个或多个其他图片不是IRAP图片。具有跨层未对准的IRAP图片等的可缩放比特流可以用于例如在基本层中提供更频繁的IRAP图片,其中它们可能会由于例如较小的空间分辨率而具有较小的编码大小。用于解码的逐层启动的过程或机制可以被包括在视频解码方案中。因此,当基本层包含IRAP图片时,解码器可以开始比特流的解码,而当其他层包含IRAP图片时,解码器可以逐步开始其他层的解码。换言之,在解码机制或过程的逐层启动中,随着来自附加的增强层的后续图片在解码过程中被解码,解码器逐渐增加解码层的数目(其中层可以表示空间分辨率、质量级别、视图、诸如深度等附加组件、或其组合的增强)。例如,可以将解码层的数目的逐渐增加感知为图片质量的逐渐改善(在质量和空间可缩放性的情况下)。
发送器、网关、客户端或另一实体可以选择可缩放视频比特流的传输层和/或子层。术语“层提取”、“层的提取”或“层向下切换”可以是指传输的层数少于发送器、网关、客户端或其他实体接收的比特流中可用的层数。层向上切换可以是指与发送器、网关、客户端或另一实体在进行层向上切换之前传输的那些相比,传输附加的(多个)层,即,重新开始其传输在层向下切换中被较早停止的一个或多个层的传输。与层向下切换和/或层上切换类似,发送器、网关、客户端或另一实体可以执行时间子层的向下和/或向上切换。发送器、网关、客户端或另一实体也可以执行层和子层向下切换和/或向上切换两者。层和子层向下切换和/或向上切换可以在同一访问单元等中执行(即,实际上同时),或者可以在不同的访问单元等中执行(即,实际上在不同的时间)。
可缩放性可以通过两种基本方式来启用:引入用于从可缩放表示的较低层执行像素值或语法预测的新编码模式,或者将较低层图片放置到较高层的参考图片缓冲器(例如,解码图片缓冲器DPB)。第一种方法可能较灵活,因此在大多数情况下可以提供较好的编码效率。然而,第二种基于参考帧的可缩放性方法可以在对单层编解码器进行最小改变的情况下有效实现,同时仍然实现大部分可用的编码效率增益。本质上,基于参考帧的可缩放性编解码器可以通过对所有层利用相同的硬件或软件实现来实现,而只是通过外部手段来处理DPB管理。
用于质量可缩放性(也称为信噪比或SNR)和/或空间可缩放性的可缩放视频编码器可以如下实现。对于基本层,可以使用常规的不可缩放视频编码器和解码器。基本层的重构/解码图片被包括在用于增强层的参考图片缓冲器和/或参考图片列表中。在空间可缩放性的情况下,可以在将重构的/解码的基本层图片插入到增强层图片的参考图片列表中之前对其进行上采样。可以将基本层解码图片插入到(多个)参考图片列表中,以与增强层的解码参考图片类似地对增强层图片编码/解码。因此,编码器可以选择基本层参考图片作为帧间预测参考,并且利用编码比特流中的参考图片索引来指示其使用。解码器从比特流(例如,从参考图片索引)中解码出基本层图片被用作增强层的帧间预测参考。当解码的基本层图片用作增强层的预测参考时,其被称为层间参考图片。
虽然先前段描述了具有带有增强层和基本层的两个可缩放层的可缩放视频编解码器,但是需要理解,该描述可以被概括为具有多于两个层的可缩放性层级中的任何两个层。在这种情况下,第二增强层可以在编码和/或解码过程中依赖于第一增强层,并且因此第一增强层可以被视为用于第二增强层的编码和/或解码的基本层。此外,需要理解,在参考图片缓冲器或增强层的参考图片列表中可能存在多于一层的层间参考图片,并且这些层间参考图片中的每个都可以被认为驻留在被编码和/或解码的增强层的基本层或参考层中。此外,需要理解,除了参考层图片上采样之外替代地或附加地,还可以进行其他类型的层间处理。例如,参考层图片的样本的位深度可以被转换为增强层的位深度,和/或样本值可以经历从参考层的色彩空间到增强层的色彩空间的映射。
可缩放视频编码和/或解码方案可以使用多循环编码和/或解码,其特征可以如下。在编码/解码中,可以重构/解码基本层图片以用作同一层内按编码/解码顺序的后续图片的运动补偿参考图片,或者用作层间(或视图间或分量间)预测的参考。重构/解码的基本层图片可以存储在DPB中。增强层图片同样可以被重构/解码以用作同一层内按编码/解码顺序的后续图片的运动补偿参考图片,或者用作较高增强层(如果有)的层间(或视图间或分量间)预测的参考。除了重构/解码的样本值,在层间/分量间/视图间预测中还可以使用基本/参考层的语法元素值或从基本/参考层的语法元素值中得出的变量。
层间预测可以被定义为以取决于来自与(被编码或解码的)当前图片的层不同的层的参考图片的数据元素(例如,样本值或运动矢量)的方式进行的预测。存在很多类型的层间预测,并且很多类型的层间预测可以在可缩放视频编码器/解码器中应用。可用的层间预测类型可以例如取决于根据其对比特流或比特流内的特定层编码的编码简档,或者在解码时,取决于比特流或比特流内的特定层被指示为符合的编码简档。备选地或附加地,可用的层间预测类型可以取决于所使用的可缩放性的类型或可缩放编解码器或视频编码标准修正案(例如,SHVC、MV-HEVC或3D-HEVC)的类型。
直接参考层可以被定义为一个层,该层可以用于该层是其直接参考层的另一层的层间预测。直接预测层可以被定义为一个层,另一层是该层的直接参考层。间接参考层可以被定义为不是第二层的直接参考层而是第三层的直接参考层的层,该第三层是第二层的直接参考层或第二层的直接参考层的间接参考层,该层是该直接参考层的间接参考层。间接预测层可以被定义为一个层,另一层是该层的间接参考层。独立层可以被定义为不具有直接参考层的层。换言之,独立层不使用层间预测来预测。非基本层可以被定义为除了基本层之外的任何其他层,并且基本层可以被定义为比特流中的最低层。独立的非基本层可以被定义为既是独立层又是非基本层的层。
在一些情况下,增强层中的数据可以在某个位置之后或甚至在任意定位处被截断,其中每个截断定位可以包括表示不断增强的视觉质量的附加数据。这样的可缩放性称为细颗粒(粒度)可缩放性(FGS)。
与MVC相似,在MV-HEVC中,视图间参考图片可以被包括在被编码或解码的当前图片的(多个)参考图片列表中。SHVC使用多循环解码操作(与H.264/AVC的SVC扩展不同)。SHVC可以被认为使用基于参考索引的方法,即,层间参考图片可以被包括在被编码或解码的当前图片的一个或多个参考图片列表中(如上所述)。
对于增强层编码,HEVC基本层的概念和编码工具可以在SHVC、MV-HEVC等中使用。然而,可以将在参考层中采用已经编码的数据(包括重构的图片样本和运动参数,也称为运动信息)以有效地编码增强层的附加层间预测工具集成到SHVC、MV-HEVC和/或相似的编解码器中。
组成图片可以被定义为包围编(解)码图片的与整个输入图片的表示相对应的部分。除了组成图片,包围编(解)码图片可以包括其他数据,诸如另一组成图片。
帧打包可以定义为包括将多于一个输入图片(可以称为(输入)组成帧或组成图片)布置到输出图片中。通常,帧打包不限于任何特定类型的组成帧,或者组成帧不必彼此具有特定关系。在很多情况下,帧打包用于将立体视频剪辑的组成帧布置为单个图片序列。该布置可以包括将输入图片放置在输出图片内的空间上不重叠的区域中。例如,在并排布置中,两个输入图片被放置在彼此水平相邻的输出图片内。该布置还可以包括将一个或多个输入图片分割为两个或更多组成帧分割,并且将组成帧分割放置在输出图片内的空间上不重叠的区域中。可以例如通过视频编码器将输出图片或帧打包的输出图片序列编码到比特流中。比特流可以例如通过视频解码器解码。解码器或在解码之后的后处理操作可以从解码的(多个)图片中提取解码的组成帧以例如用于显示。
如下所述,可以利用块内复制工具来实现帧打包的组成帧之间的视图间样本预测。表示第一视图的第一组成帧和表示同一多视图(例如,立体)内容的第二视图的第二组成帧被帧打包。从第一组成帧到第二组成帧的块内复制预测在编码中被启用,但是从第二组成帧到第一组成帧的块内复制预测在编码中被禁用。因此,视图间样本预测基本上是通过在不同视图的组成帧之间应用块内复制预测来实现的。因此,与不进行块内复制预测的帧打包的多视图内容的编码相比,压缩效率得到了提高。
术语“360度视频”或“虚拟现实(VR)视频”可以可互换地使用。它们通常可以是指提供大视场以使得在典型的显示布置中在单个时间点只有一部分视频被显示的视频内容。例如,VR视频可以在头戴式显示器(HMD)上观看,该HMD可以能够显示例如大约100度的视场。要显示的VR视频内容的空间子集可以基于HMD的取向来选择。在另一示例中,假定典型的平板观看环境,其中例如可以显示高达40度的视场。当在这样的显示器上显示宽的FOV内容(例如,鱼眼)时,可能优选地显示空间子集而不是整个图片。
例如,360度图像或视频内容可以如下获取和准备。图像或视频可以通过一组相机或具有多个镜头和传感器的相机设备捕获。获取产生一组数字图像/视频信号。相机/镜头通常覆盖围绕相机集或相机设备的中心点的所有方向。同一时间实例的图像被拼接、投影和映射到打包VR帧上。图像拼接、投影和映射过程的细分如图5所示,并且描述如下。将输入图像拼接和投影到诸如球形或立方体等三维投影结构上。可以认为投影结构包括一个或多个表面,诸如(多个)平面或其(多个)部分。投影结构可以定义为包括一个或多个表面的三维结构,所捕获的VR图像/视频内容可以在该一个或多个表面上投影,并且可以从该一个或多个表面形成相应投影帧。投影结构上的图像数据还被布置到二维投影帧上。术语投影可以定义为将一组输入图像投影到投影帧上的过程。可以存在投影帧的一组预定义表示格式,包括例如等量矩形全景图和立方体贴图表示格式。
可以应用按区域映射(也称为按区域打包)以将投影的帧映射到一个或多个打包的VR帧(也称为打包图片)上。在一些情况下,按区域映射可以理解为等效于从投影的帧中提取两个或更多区域,可选地对区域应用几何变换(诸如旋转、镜像和/或重采样),然后将变换后的区域放置在打包的VR帧内的空间上非重叠的区域中。如果未应用按区域映射,则打包的VR帧与投影的帧相同。否则,通过指示打包的VR帧中的每个区域的位置、形状和大小来将投影帧的区域映射到打包的VR帧上。术语“映射”可以被定义为一个将投影的帧映射到打包的VR帧的过程。术语“打包的VR帧”可以被定义为由投影帧的映射产生的帧。实际上,可以在没有中间步骤的情况下在一个过程中将输入图像转换为打包的VR帧。
按区域打包信息可以被编码为在比特流中或沿着比特流的元数据,例如,被编码为(多个)按区域打包SEI消息和/或被编码为包含比特流的文件中的按区域打包框。例如,打包信息可以包括从预定义或指示的源格式到打包帧格式(例如,从投影帧到打包VR帧)的按区域映射,如前所述。对于每个映射区域,按区域映射信息例如可以包括投影帧中的源矩形和打包的VR帧中的目的地矩形,其中将源矩形内的样本映射到目的地矩形,并且矩形可以例如通过左上角和右下角的位置来指示。该映射可以包括重采样。附加地或备选地,打包信息可以包括以下中的一项或多项:三维投影结构相对于坐标系的取向、关于使用哪种VR投影格式的指示、指示区域和/或第一和第二空间区域序列之间的图片质量等级的按区域质量等级、一个或多个变换操作,诸如旋转90、180或270度、水平镜像和垂直镜像。打包信息的语义可以以如下方式指定,即它们指示解码图片的打包区域内的每个样本位置,该每个样本位置是相应球坐标位置。
在视频或图像比特流中或沿着视频或图像比特流可以存在按区域质量等级元数据。质量等级区域的质量等级值可以相对于同一比特流或同一轨道的其他质量等级区域或其他轨道的质量等级区域。例如,按区域质量等级元数据可以使用被指定为MPEG全向媒体格式的一部分的SphereRegionQualityRankingBox或2DRegionQualityRankingBox来指示。SphereRegionQualityRankingBox为球体区域(即,在球体域上定义的区域)提供质量等级值,而2DRegionQualityRankingBox为解码图片上的矩形区域(以及可能为覆盖未被矩形区域覆盖的所有区域的剩余区域)提供质量等级值。质量等级值指示质量等级区域的相对质量顺序。当质量等级区域A的非零质量等级值小于质量等级区域B的质量等级值时,质量等级区域A的质量高于质量等级区域B。当质量等级值为非零时,在整个指示的质量等级区域内的图片质量可以定义为近似恒定。通常,质量等级范围或2D区域的边界可能与打包区域的边界或在按区域打包元数据中指定的投影区域的边界匹配或不匹配。
360度全景内容(即,图像和视频)水平地覆盖成像设备的捕获定位周围的整个360度视场。垂直视场可能会有所不同,并且可以是例如180度。水平地覆盖360度视场并且垂直地覆盖180度视场的全景图像可以通过球体表示,该球体可以被映射到可以垂直地切割以形成2D图片的包围圆柱体(这种类型的投影称为等矩形投影)。在图6中示出了形成单视场等量矩形全景图片的过程。将一组输入图像(诸如具有多个透镜和传感器的相机阵列或相机设备的鱼眼图像)拼接到球形图像上。将球形图像进一步投影到圆柱体上(没有顶面和底面)。圆柱体被展开以形成二维投影帧。在实践中,可以合并所呈现的步骤中的一个或多个;例如,输入图像可以直接投影到圆柱体上,而没有到球体上的中间投影。可以认为用于等量矩形全景的投影结构是包括单个表面的圆柱体。
通常,可以将360度内容映射到不同类型的实体几何结构上,诸如多面体(即,包含平坦多边形面、直边和尖角或顶点的三维实体,例如立方体或金字塔)、圆柱体(通过将球面图像投影到圆柱体上,如上面通过等量矩形投影所述)、圆柱体(直接没有首先投影到球体上)、圆锥体等,然后将其展开为二维图像平面。
在一些情况下,可以认为具有360度水平视场但小于180度的垂直视场的全景内容是全景投影的特殊情况,其中球体的极坐标区域尚未映射到二维图像平面上。在一些情况下,全景图像可以具有小于360度的水平视场和高达180度的垂直视场,而其他情况下则具有全景投影格式的特性。
人眼不能观看整个360度空间,但是限于最大水平FoV和垂直FoV(HHFoV、HVFoV)。而且,HMD设备具有技术限制,只能在水平方向和垂直方向(DHFoV、DVFoV)上查看整个360度空间的子集。
在任何时间点,由应用在HMD上渲染的视频都会渲染360度视频的一部分。该部分在此处定义为视口。视口是在经由渲染显示器显示的全向视频中表示的360世界上的一个窗口。视口的特征是水平FoV和垂直FoV(VHFoV、VVFoV)。在下文中,VHFoV和VVFoV将简单地缩写为HFoV和VFoV。
取决于应用,视口大小可以对应于HMD FoV或者可以具有较小大小。为了清楚起见,将用户在任何给定时间点看到的360度空间的一部分定义为主视口。
当诸如分层HEVC比特流等多层比特流被存储在诸如ISOBMFF文件等文件中时,可以允许将一个或多个层存储到轨道中。例如,当内容提供方想要提供不打算用于构造子集的多层比特流时,或者当已经为一些预定义的输出层集创建了比特流时,其中每个层对应于视图(诸如1、2、5或9个视图),可以相应地创建轨道。
当具有多个子层的比特流(也称为多子层比特流)(诸如具有多个子层的HEVC比特流)被存储在诸如ISOBMFF文件等文件中时,可以允许将一个或多个子层存储到轨道中,并且可以使用多于一个轨道来包含比特流。例如,轨道可以仅包含某些子层,而不必包含最低子层(例如,在HEVC中的TemporalId等于0的子层)。
在ISO/IEC 14496-15中针对H.264/AVC和HEVC指定的提取器实现轨道的紧凑结构,从而通过引用提取NAL单元数据。提取器是类似NAL单元的结构。可以将类似NAL单元的结构指定为像任何NAL单元一样包括NAL单元报头和NAL单元有效载荷,但是在类似NAL单元的结构中可能不会遵循启动代码仿真预防(这是NAL单元所必需的)。对于HEVC,提取器包含一个或多个构造器。样本构造器通过引用来从另一轨道的样本中提取NAL单元数据。内联构造器包括NAL单元数据。当提取器由需要它的文件读取器处理时,提取器在逻辑上被替换为按其出现顺序解析所包含的构造器时产生的字节。可能不允许嵌套提取,例如样本构造器引用的字节不应当包含提取器;提取器不应当直接或间接引用另一提取器。提取器可以包含一个或多个构造器以用于通过类型“scal”的轨道引用从当前轨道或链接到该提取器所驻留的轨道的另一轨道中提取数据。解析的提取器的字节可以表示一个或多个完整的NAL单元。解析的提取器从有效长度字段和NAL单元报头开始。样本构造器的字节仅从通过所指示的“scal”轨道引用所引用的轨道中的单个标识样本中复制。对准是关于解码时间的,即仅使用采样时间表,然后是样本数的计数偏移。提取器轨道可以定义为包含一个或多个提取器的轨道。
在ISO/IEC 14496-15中指定的图块轨道实现存储一个或多个时间运动受限图块集作为轨道。当图块轨道包含HEVC基本层的图块时,使用样本条目类型“hvt1”。当图块轨道包含非基本图层的图块时,使用样本条目类型“lht1”。图块轨道的样本包括一个或多个完整切片片段中的一个或多个完整图块。图块轨道独立于包括与该图块轨道同一层的VCLNAL单元的任何其他图块轨道。图块轨道具有对图块基本轨道的“tbas”轨道参考。图块基本轨道不包括VCL NAL单元。图块基本轨道使用对图块轨道的“sabt”轨道参考来指示图块排序。与图块基本轨道中的样本相对应的HEVC经编码的图片可以通过按照轨道参考的顺序从由“sabt”轨道参考指示的轨道的时间对准样本中收集编码数据来重构。
全图片兼容图块集{轨道|比特流}是符合全图片{轨道|比特流}格式的图块集{轨道|比特流}。在此,符号{选项A|选项B}示出了备选方案,即选项A或选项B,它们在所有选择中被一致地选择。使用全图片轨道的解析和解码过程,可以像播放任何全图片轨道一样播放全图片兼容图块集轨道。可以使用全图片比特流的解码过程来像任何全图片比特流一样对全图片兼容比特流解码。全图片轨道是表示原始比特流(包括其所有图块)的轨道。图块集比特流是包含原始比特流的图块集但是不表示整个原始比特流的比特流。图块集轨道是表示原始比特流的图块集但是不表示整个原始比特流的轨道。
全图片兼容图块集轨道可以包括如针对HEVC而定义的提取器。提取器可以例如是包括切片片段报头的在线构造器和从参考的全图片轨道中提取图块集的编码视频数据的样本构造器。
子图片可以被定义为图片的区域,诸如图块或图块矩形。子图片轨道可以定义为表示子图片序列(即,图片序列的区域)并且符合常规轨道格式(诸如在ISO/IEC 14496-15中为HEVC定义的“hvc1”或“hev1”)的轨道。在用于生成子图片轨道的方法中,源图片序列在编码之前被拆分成子图片序列。然后将子图片序列与其他子图片序列独立地编码为单层比特流,诸如HEVC主简档比特流。编码的单层比特流被封装到子图片轨道中。子图片轨道的比特流可以利用运动受限图片编码,如稍后定义的。在用于生成子图片轨道的另一方法中,利用运动受限图块集将源图片序列编码到比特流中,从该比特流中生成全图片兼容图块集比特流,并且通过将全图片兼容图块集比特流封装到轨道中来生成子图片轨道。以这种方式生成的子图片轨道包括运动受限图片。
收集器轨道可以被定义为从其他轨道中隐式或显式地提取MCTS或子图片的轨道。收集器轨道可以是全图片兼容轨道。收集器轨道可以例如提取MCTS或子图片以形成经编码的图片序列,其中MCTS或子图片被布置到网格。例如,当收集器轨道提取两个MCTS或子图片时,它们可以布置成MCTS或子图片的2×1网格。图块基本轨道可以被视为收集器轨道,并且从其他轨道中提取MCTS或子图片的提取器轨道可以被视为收集器轨道。收集器轨道也可以称为收集轨道。作为用于提取到收集器轨道的源的轨道可以被称为收集项目轨道。
视图间预测可以为立体和多视图视频编码提供显著的压缩增益,但是通常仅在视频编码标准的一些简档(诸如HEVC的多视图主简档)中得到支持。在受限视图间预测中,以可以重写编码内容的方式来约束立体或多视图视频的编码,使得可以使用一个或多个单层和单视图解码器,诸如(多个)HEVC主简档解码器。仅独立视图的图片的有限子集(诸如HEVC的IRAP图片)可以被选择以用作编码预测视图时的参考图片。通过将独立视图的图片的有限子集包括到预测视图的比特流中,可以为预测视图生成单层和单视图比特流。在生成预测视图的单层和单视图比特流时,可能需要重写高级语法结构,诸如参数集和切片报头。可以生成全图片兼容轨道以指导重写,并且全图片兼容轨道可以包括提取器以包括独立视图的有限子集的经编码的图片数据并且可以包括用于重写高级语法结构的内联构造器。可以通过解析全图片兼容轨道,即通过解析提取器和其中的内联构造器来执行对预测视图比特流的重写。
统一资源标识符(URI)可以定义为用于标识资源名称的字符串。这样的标识实现使用特定协议通过网络与资源的表示进行交互。URI是通过指定用于URI的具体语法和相关协议的方案定义的。统一资源定位符(URL)和统一资源名称(URN)是URI的形式。URL可以定义为URI,该URI标识网络资源并且指定对资源进行操作或获取资源表示的方式,以指定其主要访问机制和网络位置两者。URN可以定义为通过特定名称空间中的名称来标识资源的URI。URN可以用于标识资源,而不暗示其位置或访问方式。
在很多视频通信或传输系统、传输机制和多媒体容器文件格式中,存在用于与同一比特流的另一可缩放性层分开传输或存储可缩放性层的机制,例如用于与(多个)增强层分开传输或存储基本层。可以考虑将层存储在单独的逻辑信道中或通过单独的逻辑信道来传输。例如,在ISOBMFF中,基本层可以存储为轨道,并且每个增强层可以存储在另一轨道中,该另一轨道可以使用所谓的轨道参考而链接到基本层轨道。
很多视频通信或传输系统、传输机制和多媒体容器文件格式提供用于将诸如不同轨道或会话等单独逻辑信道的编码数据彼此关联的手段。例如,存在用于将同一访问单元的编码数据关联在一起的机制。例如,可以以容器文件格式或传输机制提供解码或输出时间,并且可以认为具有相同解码或输出时间的编码数据形成访问单元。
最近,超文本传输协议(HTTP)已经被广泛用于通过互联网(诸如在视频流应用中)传递实时多媒体内容。与通过用户数据报协议(UDP)使用实时传输协议(RTP)不同,HTTP易于配置并且通常被授权穿越防火墙和网络地址转换器(NAT),这使其对于多媒体流应用具有吸引力。
已经启动了若干用于通过HTTP的自适应流传输的商业解决方案,诸如Smooth Streaming(/>平滑流传输)、/>Adaptive HTTP LiveStreaming(/>自适应HTTP实时流传输)和/>Dynamic Streaming(/>动态流传输),并且已经执行了标准化项目。自适应HTTP流(AHS)首先在第三代合作伙伴计划(3GPP)分组交换流(PSS)服务的版本9(3GPP TS26.234版本9:“Transparent end-to-endpacket-switched streaming service(PSS);protocols and codecs”)中进行标准化。MPEG以3GPP AHS版本9作为MPEG DASH标准的起点(2014年国际标准的第二版的ISO/IEC23009-1:“Dynamic adaptive streaming over HTTP(DASH)-Part 1:Media presentationdescription and segment formats,”)。3GPP继续致力于与MPEG通信的自适应HTTP流并且发布了3GP-DASH(通过HTTP的动态自适应流传输;3GPP TS26.247:“Transparent end-to-end packet-switched streaming Service(PSS);Progressive download and dynamicadaptive Streaming over HTTP(3GP-DASH)”)。MPEG DASH和3GP-DASH在技术上彼此接近,因此可以统称为DASH。下面描述DASH的一些概念、格式和操作作为可以在其中实现实施例的视频流系统的示例。本发明的各方面不限于DASH,而是给出在此基础上可以部分或完全实现本发明的一种可能基础的描述。
在DASH中,多媒体内容可以存储在HTTP服务器上,并且可以使用HTTP进行传递。内容可以分为两部分存储在服务器上:媒体呈现描述(MPD),它描述可用内容的清单、其各种备选方案、其URL地址和其他特性;以及分段,其在单个或多个文件中包含块形式的实际多媒体比特流。MDP为客户端提供用于通过HTTP建立动态自适应流的必要信息。MPD包含描述媒体呈现的信息,诸如用于发出GET分段请求的每个分段的HTTP统一资源定位符(URL)。为了播放内容,DASH客户端可以获取MPD,例如通过使用HTTP、电子邮件、拇指驱动器、广播或其他传输方式。通过解析MPD,DASH客户端可以了解程序时间、媒体内容可用性、媒体类型、分辨率、最小和最大带宽、以及多媒体组件的各种编码备选方案、可访问性功能和所需要的数字版权管理(DRM)、网络上的媒体组件位置和其他内容特性的存在。使用该信息,DASH客户端可以选择适当的编码的备选方案,并且通过使用例如HTTP GET请求获取分段来开始流传输内容。在进行适当的缓冲以允许网络吞吐量变化之后,客户端可以继续获取后续分段,并且监测网络带宽波动。客户端可以决定如何通过获取不同备选方案(具有较低或较高比特率)的分段以维持足够的缓冲器来适应可用带宽。
在DASH中,分层数据模型用于构建媒体呈现,如图7所示。媒体呈现包括一个或多个周期的序列,每个周期包含一个或多个组,每个组包含一个或多个自适应集,每个自适应集包含一个或多个表示,每个表示由一个或多个分段组成。表示是媒体内容或其子集的备选选择之一,其通常因编码选择而不同,例如,因比特率、分辨率、语言、编解码器等。分段包含某些持续时间的媒体数据、以及用于解码和呈现所包括的媒体内容的元数据。分段由URI标识,并且通常可以由HTTP GET请求来请求。分段可以定义为与HTTP-URL以及可选地与由MPD指定的字节范围相关联的数据单位。
DASH MPD符合可扩展标记语言(XML),并且因此通过在XML中定义的元素和属性来指定。MPD可以使用以下约定来指定:XML文档中的元素可以由大写的首字母标识,并且可以以粗体显示为Element(元件)。为了表示元素Element1(元件1)被包含在另一元素Element2(元件2)中,可以编写Element2.Element1。如果元素的名称包括两个或更多组合单词,则可以使用骆驼拼写法,例如ImportantElement(重要元件)。元素可以只出现一次,或者最小和最大出现次数可以由<minOccurs>...<maxOccurs>定义。XML文档中的属性可以用小写的首字母标识,也可以用“@”符号开头,例如@attribute(属性)。为了指向元素Element中包含的特定属性@attribute,可以编写Element@attribute。如果属性名称包括两个或更多组合单词,则可以在第一单词之后使用骆驼拼写法,例如@veryImportantAttribute(非常重要的属性)。属性在XML中的状态可能已经被分配为强制(M)、可选(O)、具有默认值的可选(OD)和有条件强制(CM)。
可以将DASH服务作为按需服务或实时服务提供。在前一种情况下,MPD是静态的,并且当内容提供方发布MPD时,媒体呈现的所有分段都已经可用。然而,在后一种情况下,取决于MPD所采用的分段URL构造方法,MPD可以是静态的或动态的,并且随着内容提供方产生内容并且将其发布到DASH客户端,将连续创建分段。分段URL构造方法可以是基于模板的分段URL构造方法或分段列表生成方法。在前一种情况下,DASH客户端能够在请求分段之前不更新MPD的情况下构造分段URL。在后一种情况下,DASH客户端必须周期性地下载更新的MPD以获取分段URL。因此,对于实时服务,基于模板的分段URL构造方法优于分段列表生成方法。
在DASH的上下文中,可以使用以下定义:媒体内容组件或媒体组件可以被定义为媒体内容的一个连续组件,其具有可以被个体地编码到媒体流中的所分配的媒体组件类型。媒体内容可以被定义为一个媒体内容时段或一系列连续的媒体内容时段。媒体内容组件类型可以定义为诸如音频、视频或文本等单一媒体内容类型。媒体流可以被定义为媒体内容组件的编码版本。
初始化分段可以被定义为包含用于呈现封装在媒体分段中的媒体流所必需的元数据的分段。在基于ISOBMFF的分段格式中,初始化分段可以包括电影盒(“moov”),该“moov”可以不包括任何样本的元数据,即,样本的任何元数据在“moof”框中提供。
媒体分段包含用于以正常速度播放的媒体数据的某些持续时间,这样的持续时间称为媒体分段持续时间或分段持续时间。内容生产方或服务提供方可以根据服务的期望特性来选择分段持续时间。例如,可以在实时服务中使用相对较短的分段持续时间,以实现较短的端到端延时。原因在于,分段持续时间通常是由DASH客户端感知的端到端延时的下限,因为分段是生成DASH的媒体数据的离散单位。内容生成通常被完成以使得整个媒体数据分段可用于服务器。此外,很多客户端实现使用分段作为GET请求的单位。因此,在实时服务的典型布置中,仅当媒体分段的整个持续时间可用以及被编码并且封装到分段中时,DASH客户端才可以请求分段。对于按需服务,可以使用不同的选择分段持续时间的策略。
分段可以被进一步分割为子分段,例如以实现分多个部分来下载分段。可能需要子分段包含完整的访问单元。子分段可以通过分段索引框进行索引,该分段索引框包含用于映射每个子分段的呈现时间范围和字节范围的信息。分段索引框还可以通过发信号通知其持续时间和字节偏移来描述分段中的子分段和流访问点。DASH客户端可以使用从(多个)分段索引框获取的信息,以使用字节范围的HTTP请求发出对特定子分段的HTTP GET请求。如果使用相对较长的分段持续时间,则可以使用子分段来保持HTTP响应的大小合理和灵活,以实现比特率自适应。分段的索引信息可以放在该分段的开头的单个框中,也可以散布在该分段的很多索引框中。可能有不同的传播方法,诸如分层、菊花链和混合。该技术可以避免在分段的开头添加大框,因此可以防止可能的初始下载延迟。
符号(子)分段是指分段或子分段。如果不存在分段索引框,则符号(子)分段是指分段。如果存在分段索引框,则符号(子)分段可以是指分段或子分段,这例如取决于客户端基于分段或子分段发出请求。
分段(或分别为子分段)可以如下定义为不重叠的:令TE(S,i)是分段或子段S的流i中的任何访问单元的最早呈现时间,令TL(S,i)是分段或子分段S的流i中的任何访问单元的最新呈现时间。当A和B中的所有媒体流i的TL(A,i)<TE(B,i),或者如果A和B中的所有流i的TL(B,i)<TE(A,i)时(其中i是指同一媒体组件),可能具有或不具有不同表示的两个分段(分别为子分段)A和B可以定义为非重叠。
MPEG-DASH为ISO基本媒体文件格式和MPEG-2传输流两者定义了分段容器格式。其他规范可以基于其他容器格式指定分段格式。例如,基于Matroska容器文件格式的分段格式已经被提出,并且可以总结如下。当Matroska文件作为DASH分段等被携带时,DASH单位和Matroska单位的关联可以如下指定。(DASH的)子分段可以被定义为Matroska封装内容的一个或多个连续集群。DASH的初始化分段可能需要包括EBML报头、(Matroska的)分段报头、(Matroska的)分段信息和轨道,并且可以可选地包括其他级别1元素和填充。DASH的分段索引可以包括Matroska的提示元素。
DASH指定不同的时间线,包括媒体呈现时间线和分段可用性时间。前者利用媒体内容指示访问单元的呈现时间,该媒体内容被映射到全局公共呈现时间线。媒体呈现时间线使得DASH能够无缝地同步利用不同编码技术编码并且共享公共时间线的不同媒体组件。后者指示挂钟时间,并且用于向客户端发信号通知由HTTP URL标识的分段的可用性时间。DASH客户端能够通过将挂钟时间与分配给该分段的分段可用性时间进行比较来标识某个分段的可用性时间。分段可用性时间在媒体分段的实时传递(称为实时服务)中起着关键作用。对于实时服务,每个分段的分段可用性时间都不同,并且某个分段的可用性时间取决于分段在媒体呈现时间线中的定位。对于按需服务,所有分段的分段可用性时间通常是相同的。
DASH通过从自适应集内的不同表示动态地请求媒体分段以匹配变化的网络带宽来支持速率自适应。例如,可以使用不同比特率的表示之间的切换来将所传输的比特率与期望的网络吞吐量相匹配和/或避免网络中的拥塞。当DASH客户端向上/向下切换表示时,必须考虑表示内的编码依赖性。常规上,表示切换只能在随机访问点(RAP)处发生,该RAP通常在诸如H.264/AVC等视频编码技术中使用。在DASH中,引入了称为流访问点(SAP)的更通用的概念,以提供独立于编解码器的解决方案以用于访问表示并且在表示之间切换。在DASH中,将SAP指定为表示中的定位,该定位使得媒体流的播放能够仅使用从该定位开始的表示数据中包含的信息来开始(如果有,在通过在初始化分段中对数据进行初始化之前)。因此,表示切换可以在SAP中执行。
已经指定了若干类型的SAP,包括以下类型。SAP类型1对应于一些编码方案中所谓的“封闭GOP随机访问点”(其中按解码顺序的所有图片均可以正确解码,以得到无间隙的正确解码图片的连续时间序列),并且另外,按解码顺序的第一图片也是按呈现顺序的第一图片。SAP类型2对应于一些编码方案中所谓的“封闭GOP随机访问点”(其中按解码顺序的所有图片均可以正确解码,以得到无间隙的正确解码图片的连续时间序列),其中按解码顺序的第一图片可能不是按呈现顺序的第一图片。SAP类型3对应于一些编码方案中所谓的“开放GOP随机访问点”,其中按解码顺序的一些图片可能无法正确解码并且其呈现时间少于与SAP相关联的帧内经编码的图片。
内容提供方可以以使切换更简单的方式来创建多个表示的分段和子分段。在简单情况下,每个分段和子分段均以SAP开头,并且分段和子分段的边界在自适应集表示中对准。在这种情况下,DASH客户端能够通过请求分段或子分段从原始表示到新表示来切换表示,而没有错误漂移。在DASH中,在MPD和分段索引中指定了用于构造分段和子分段的限制,以便于DASH客户端切换表示,而不会引入错误漂移。在DASH中指定的简档的用途之一是提供用于构造分段和子分段的不同级别的限制。
MPEG-DASH规范草案包括独立分段SAP信令(SISSI)的特征,其实现以持续时间不均匀的SAP开始来发信号通知分段。MPEG-DASH规范草案定义了用于在自适应集内和跨自适应集进行切换的SISSI信令。
在自适应集内切换时,切换是指从一个表示直到特定时间t的解码数据的呈现、以及从时间t开始的另一表示的解码数据的呈现。如果在一个自适应集中包括表示,并且客户端正确切换,则预计媒体呈现将在整个切换中被无缝感知。客户端可能会忽略依赖于编解码器或他们不支持的其他渲染技术或其他不合适的表示。
表1中定义的切换元素提供了自适应集内的切换点和表2中定义的允许的切换选项的指令。可以使用该元素代替属性@segmentAlignment(分段对准)或@bitstreamSwitching(比特流切换)。
表1——切换点信令
表2定义了不同的切换策略,这些策略向客户端提供有关在自适应集内适当切换的过程的指令。
表2——切换策略
随机访问可以是指通过利用初始化分段初始化表示,从时间t开始,从随机访问点开始处理、解码和呈现该表示(如果存在的话),并且从信令分段开始,即从该信令分段的最早呈现时间开始,解码和呈现表示。可以利用表3中定义的RandomAccess(随机访问)元素来发信号通知随机访问点。
表3——随机访问点信令
/>
表4——随机访问类型值
DASH标准包括用于实现快速启动媒体会话的机制。例如,MPD可以在自适应集中宣布具有不同比特率的多于一个表示。而且,每个分段和/或子分段可以以流访问点开始,在该流访问点处对分段和/或子分段内的图片编码,而无需参考来自不同分段的任何其他图片。这样,DASH客户端可以以较低的比特率表示开始,以便快速增加缓冲器占用水平。然后,客户端然后可以切换到请求较高比特率表示的(多个)分段和/或(多个)子分段(其可以具有例如比先前接收的表示较高的空间分辨率)。客户端的目标可以是在快速启动期间达到某个缓冲器占用水平,例如,就媒体持续时间而言,以及在快速启动阶段之后的操作期间保持相同或相似的缓冲器占用水平。客户端可以在发起媒体流会话之后和/或仅在一定量的媒体已经被缓冲之后的随机访问操作之后开始媒体播放。该媒体数量可以等于快速启动时目标是要达到的缓冲器占用水平但不必与其有关。在所有情况下,与在发起媒体流会话之后和/或随机访问操作之后仅能始终接收到较高比特率表示的情况相比,快速启动可以使得客户端能够较快地开始媒体播放。
如上所述,类似于可以确定可缩放视频比特流的传输层和/或子层的方式,客户端或播放器可以请求从不同表示传输的分段或子分段。术语“表示向下切换”或“比特流向下切换”可以是指请求或传输比先前(分别)请求或传输的比特率表示较低的比特率表示。术语“表示向上切换”或“比特流向上切换”可以是指请求或传输比先前(分别)请求或传输的比特率表示较高的比特率表示。术语“表示切换”或“比特流切换”可以共同地是指表示或比特流向上和向下切换,并且还可以或备选地覆盖不同视点的表示或比特流的切换。
在DASH中,所有描述符元素都以相同的方式构造,即它们包含提供用于标识方案的URI的@schemeIdUri属性和可选属性@value(值)和可选属性@id。元素的语义特定于所采用的方案。标识方案的URI可以是URN或URL。一些描述符在MPEG-DASH(ISO/IEC 23009-1)中指定,而描述符可以附加地或备选地在其他规范中指定。当在MPEG-DASH以外的规范中指定时,MPD不提供有关如何使用描述符元素的任何特定信息。由采用DASH格式的应用或规范利用适当的方案信息来实例化描述元素。使用这些元素之一的应用或规范以URI的形式定义方案标识符,并且在使用该方案标识符时为该元素定义值空间。方案标识符出现在@schemeIdUri属性中。在需要一组简单的枚举值的情况下,可以为每个值定义文本字符串,并且该字符串可以被包括在@value属性中。如果需要结构化数据,则可以在单独的名称空间中定义任何扩展元素或属性。@id值可以用于引用唯一描述符或一组描述符。在后一种情况下,可能要求具有相同的属性@id值的描述符是同义的,即,对具有相同的@id值的描述符之一的处理就足够了。
在DASH中,独立表示可以定义为可以独立于任何其他表示进行处理的表示。独立表示可以理解为包括独立比特流或比特流的独立层。从属表示可以定义为一种表示,对于该表示,来自其互补表示的分段对于表示和/或解码所包含的媒体内容组成是必需的。从属表示可以理解为包括例如可缩放比特流的预测层。互补表示可以定义为补充至少一个从属表示的表示。互补表示可以是独立表示或从属表示。从属表示可以通过包含@dependencyId属性的表示元素来描述。从属表示可以被视为常规表示,只是它们依赖于一组互补表示解码和/或表示。@dependencyId包含所有互补表示的@id属性的值,即呈现和/或解码该从属表示中包含的媒体内容组成所必需的表示。
DASH预选择定义了期望由单个解码器实例联合消费(consume)的MPD的媒体组件的子集,其中消费可以包括解码和渲染。包含用于预选择的主要媒体组件的自适应集称为主自适应集。另外,每个预选择可以包括一个或多个部分自适应集。部分自适应集可能需要与主自适应集结合处理。主自适应集和部分适自应集可以通过以下两种方式之一来指示:预选择描述符或预选择元素。
与MPEG-DASH相似的流系统包括例如在IETF RFC 8216中指定的HTTP LiveStreaming(也称为HLS)。作为与MPD相对应的清单格式,HLS使用扩展的M3U格式。M3U是用于多媒体播放列表的文件格式,最初是为音频文件而开发的。M3U播放列表是包括个体行的文本文件,并且每行是URI、空白或以指示标签或注释的字符“#”开头。URI行标识媒体分段或播放列表文件。标签以#EXT开头。HLS规范指定了很多标签,它们可以被视为键值对。标签的值部分可以包括属性列表,该属性列表是用逗号分隔的属性值对列表,其中可以将属性值对视为具有语法AttributeName=AttributeValue(属性名称=属性值)。因此,HLS M3U8文件的标签可以被视为类似于MPD或XML中的元素,而HLS M3U8文件的属性可以被视为类似于MPD或XML中的属性。HLS中的媒体分段可以根据MPEG-2传输流进行格式化,并且包含单个MPEG-2程序。建议每个媒体分段都以程序关联表(PAT)和程序映射表(PMT)开头。较高版本的HLS中的媒体分段可以符合ISOBMFF。
封装的比特流可以被定义为媒体比特流,诸如视频比特流(例如,HEVC比特流),其存储在容器文件或(多个)(子)分段中,并且可以被认为包括文件格式元数据,诸如ISOBMFF的框。
如上所述,DASH和其他类似的流传输系统为多媒体流传输应用、特别是为多视图编码视频比特流提供了协议和/或格式。在流传输中为了降低VR视频的流传输比特率的最新趋势如下:覆盖主视口(即,当前视图方向)的360度视频内容的子集以最佳质量/分辨率传输,而剩余的360度视频以较低的质量/分辨率传输。视口自适应流一般有两种方法:
1,视口特定的编码和流传输,也称为视口相关的编码和流传输,也称为非对称投 影。
在这种方法中,将360度图像内容被打包到同一帧中,其中着重于(例如,较大的空间区域)主视口。打包的VR帧被编码为单个比特流。
例如,与其他立方体面相比,可以以较高的分辨率对立方体贴图的正面进行采样,并且可以将立方体面映射到如图8所示的相同打包VR帧,其中正面立方体面的采样分辨率是其他立方体面的两倍。
2.基于图块的编码和流传输
在这种方法中,以能够选择性地流传输来自不同编码的视口的方式对360度内容编码并且使其可用。
即使类似于HEVC的图块在编解码器不可用或者即使在编码器中未实现运动受限图块集等,基于图块的编码和流传输的方法也可以与任何视频编解码器一起使用,该方法可以称为基于图块矩形的编码和流传输或基于子图片的编码和流传输。在基于图块矩形的编码中,在编码之前将源内容拆分成图块矩形序列(也称为子图片序列)。每个图块矩形序列覆盖源内容的空间区域的子集,诸如完整的全景内容,其例如可以具有等矩形投影格式。然后将每个图块矩形序列彼此独立地编码为单层比特流。若干比特流可以从相同的图块矩形序列编码,例如针对不同的比特率。每个图块矩形比特流可以被封装在文件中作为其自己的轨道(或类似轨道)并且可用于流传输。在接收器侧,可以基于观看取向来选择要流传输的轨道。客户端可以接收覆盖整个全向内容的轨道。与涵盖其余当前不可见视口的质量或分辨率相比,当前视口可以接收到较高质量或较高分辨率的轨道。在一个示例中,可以用单独的解码器实例对每个轨道解码。
在基于图块矩形的编码和流传输的示例中,每个立方体面可以被分别编码并且封装在其自己的轨道(和表示)中。可以为每个立方体面提供多于一个编码比特流,例如,每个具有不同的空间分辨率。播放器可以基于当前的观看取向选择要解码和播放的轨道(或表示)。可以为用于渲染当前观看取向的立方体面选择高分辨率轨道(或表示),而其余的立方体面可以从其低分辨率轨道(或表示)获取。
在基于图块的编码和流传输的方法中,以使得所得到的比特流包括运动受限图块集的方式执行编码。使用运动受限图块集对相同源内容的若干比特流编码。
在一种方法中,从比特流中提取一个或多个运动受限图块集序列,并且将每个提取的运动受限图块集序列在文件中存储为图块集轨道(例如,HEVC图块轨道或全图片兼容图块集轨道)。可以生成图块基本轨道(例如,HEVC图块基本轨道或包括用于从图块集轨道中提取数据的提取器的全图片轨道),并且将其存储在文件中。图块基本轨道通过隐式地从图块集轨道收集运动受限图块集或者通过从图块集轨道显式地提取(例如,通过HEVC提取器)运动受限图块集来表示比特流。每个比特流的图块集轨道和图块基本轨道可以封装在自己的文件中,并且相同的轨道标识符可以在所有文件中使用。在接收器侧,可以基于观看取向来选择要流传输的图块集轨道。客户端可以接收覆盖整个全向内容的图块集轨道。与覆盖其余当前不可见视口的质量或分辨率相比,可以为当前视口接收较高质量或较高分辨率的图块集轨道。
在示例中,使用运动受限图块集对等量矩形全景内容编码。可以提供例如多于一个编码比特流,例如具有不同的空间分辨率和/或图片质量。每个运动受限图块集都被使得在其自己的轨道(和表示)中可用。播放器可以基于当前的观看取向选择要解码和播放的轨道(或表示)。可以为覆盖当前主视口的图块集选择高分辨率或高质量的轨道(或表示),而360度内容的其余区域可以从低分辨率或低质量的轨道(或表示)获取。
在一种方法中,利用单独的解码器或解码器实例对每个接收的图块集轨道解码。
在另一方法中,图块基本轨道在解码中如下利用。如果所有接收的图块轨道均来自相同分辨率的比特流(或更普遍地,如果比特流的图块基本轨道相同或相等,或者如果所有比特流的初始化分段或其他初始化数据(诸如参数集)相同),则可以接收图块基本轨道并且将其用于构建比特流。所构造的比特流可以利用单个解码器来解码。
在又一方法中,可以将第一组图块矩形轨道和/或图块集轨道合并为第一全图片兼容比特流,并且可以将第二组图块矩形轨道和/或图块集轨道合并为第二全图片兼容比特流。第一全图片兼容比特流可以利用第一解码器或解码器实例来解码,并且第二全图片兼容比特流可以利用第二解码器或解码器实例来解码。通常,该方法不限于两组图块矩形轨道和/或图块集轨道、两个全图片兼容比特流或两个解码器或解码器实例,而是适用于任何数目的它们。利用这种方法,客户端可以控制并行解码器或解码器实例的数目。此外,不能经解码的图块轨道(例如,HEVC图块轨道)但是只能解码全图片兼容比特流的客户端可以以能够获取全图片兼容比特流的方式执行合并。合并可以仅在客户端中执行,或者可以生成全图片兼容图块集轨道以帮助客户端执行合并。
还可以组合以上方法1.(视口特定的编码和流传输)和方法2.(基于区块的编码和流传输)。.
需要理解,基于图块的编码和流传输可以通过将源图片拆分为部分重叠的图块矩形序列来实现。备选地或附加地,可以从具有不同图块网格或图块集网格的相同源内容中生成具有运动受限图块集的比特流。然后,可以想象,将360度空间划分为一组离散的视口,每个视口以给定距离分开(例如,以度表示),使得可以将全向空间想象为重叠视口的地图,并且当用户在利用HMD观看内容时改变其取向时,主视口被离散地切换。当视口之间的重叠减少到零时,视口可以被想象为360度空间内的相邻非重叠图块。
如上所述,在视口自适应流传输中,以最佳质量/分辨率传输主视口(即,当前观看取向),而以较低质量/分辨率传输剩余的360度视频。当观看取向改变时,例如当用户在利用头戴式显示器观看内容时转动头时,需要流传输另一版本的内容,以匹配新的观看取向。通常,可以从通常与(子)分段对准的流访问点(SAP)开始请求新版本。在单层视频比特流中,SAP是帧内编码的,因此在速率失真性能方面成本昂贵。因此,通常使用相对较长的SAP间隔,因此使用相对较长的(子)分段持续时间(以秒为单位)。因此,在观看取向改变(例如,头转)之后升级质量的延迟(在此称为视口质量更新延迟)通常在几秒的数量级,因此显然很明显并且令人讨厌。
有若干备选方案来传递视口相关全向视频。例如,可以将其作为具有运动受限图块集(MCTS)的等分辨率HEVC比特流进行传递。因此,使用运动受限图块集以相同的分辨率但以不同的质量和比特率对相同全向源内容的若干HEVC比特流编码。所有比特流中的MCTS网格都是相同的。为了使得客户端能够使用相同的图块基本轨道根据从不同原始比特流接收的MCTS来重构比特流,每个比特流都封装在其自己的文件中,并且相同的轨道标识符用于所有这些文件中的同一图块网格定位的每个图块轨道。HEVC图块轨道由每个运动受限图块集序列组成,并且附加地形成了图块基本轨道。客户端解析图块基本轨道以从图块轨道隐式地重构比特流。重构的比特流可以利用符合标准的HEVC解码器解码。
客户端可以选择接收每个MCTS的哪个版本。相同的图块基本轨道足以组合来自不同比特流的MCTS,因为在相应图块轨道中使用相同的轨道标识符。
图9a示出了如何将相同分辨率的图块轨道用于基于图块的全向视频流的示例。在形成运动受限图块集时已经使用4×2的图块网格。源自同一源内容的两个HEVC比特流以不同的图片质量和比特率编码。每个比特流被封装在其自己的文件中,其中每个运动受限图块集序列被包括在一个图块轨道中,并且还包括图块基本轨道。客户端基于观看取向选择用于接收每个图块轨道的质量。在该示例中,客户端以特定质量接收图块轨道1、2、5和6,并且以另一质量接收图块轨道3、4、7和8。图块基本轨道用于将所接收的图块轨道数据排序成可以利用HEVC解码器解码的比特流。
传递视口相关全向视频的另一选择是执行SHVC感兴趣区域可缩放性编码。其中基本层按常规编码。附加地,利用SHVC可缩放主简档对感兴趣区域(ROI)增强层编码。例如,每个图块定位可以编码若干层,每个层用于不同的比特率或分辨率。ROI增强层可以是空间或质量可缩放性层。可以对若干SHVC比特流编码,以实现截然不同的比特率,因为可以假定仅利用增强层就可以在很大程度上处理比特率自适应。该编码方法在图9b中示出。
基本层总是被接收和解码。附加地,接收和解码基于当前观看取向而选择的增强层(EL1、……、ELN)。
用于增强层的流访问点(SAP)是从基本层进行层间预测的,因此比利用帧内经编码的图片实现的类似SAP较紧凑。由于基本层被一致地接收和解码,因此基本层的SAP间隔可以比EL的SAP间隔长。
还可以在没有层间预测的情况下实现基于SHVC ROI的方法,在此将其称为no-ILP方法。
通过比较基于图块的方法(如图9a所示)和基于SHVC ROI的方法(如图9b所示)的性能,已经观察到,与基于图块的方法的比特率相比,SHVC ROI方法的比特率被显著降低(超过平均为20%)。因此,SHVC ROI方法在比特率降低方面显著优于基于MCTS的视口相关传递,并且与不使用层间预测相比,启用层间预测提供显著的压缩增益。
然而,SHVC ROI方法具有一些缺点。仅在编解码器扩展(诸如HEVC的SHVC扩展)中启用层间预测。在解码中可能通常不支持这样的编解码器扩展,尤其是在考虑硬件解码器实现时。此外,与基于MCTS的方法相比,SHVC ROI方法以及no-ILP方法显著增加了解码复杂度。例如,如果使用4×2图块网格,则SHVC ROI方法和no-ILP方法中的增强层通常覆盖2×2图块网格,即导致解码复杂度增加50%。
用于实现全向视频的视口相关传递的另一方法称为受限层间预测(CILP)。CILP通过参考图10来说明,图10示出了如何将输入图片序列编码为两个或更多比特流,每个比特流表示整个输入图片序列,即,相同的输入图片被编码在比特流中,或者可能具有降低的图像速率的相同输入图片的的子集被编码在比特流中。
选择某些输入图片以编码为同一比特流中的两个经编码的图片,第一经编码的图片称为共享的经编码的图片,并且两个经编码的图片可以称为共享的经编码的图片对。共享的经编码的图片是帧内编码的,或者仅使用其他共享的经编码的图片(或相应重构图片)作为预测参考。(编码的两个或更多比特流中的)第一比特流中的共享的经编码的图片与(编码的两个或更多比特流中的)第二比特流中的相应共享的经编码的图片相同,其中“相同”可以定义为相同的编码表示,可能会排除某些高级语法结构(诸如SEI消息)和/或相同的重构图片。按解码顺序在特定共享的经编码的图片之后的任何图片都不是根据在该特定共享的经编码的图片之前的任何图片而预测的,并且不是共享的经编码的图片。
共享的经编码的图片可以被指示为非输出图片。作为对解码非输出图片指示的响应,解码器不输出重构的共享的经编码的图片。该编码方法有利于对直到所选择的共享的经编码的图片(不包括)的第一比特流解码,以及从相应的共享的经编码的图片开始对第二比特流解码。不需要帧内经编码的图片来开始第二比特流的解码,并且因此,与常规方法相比,压缩效率得以提高。
CILP实现使用HEVC主简档编码器和解码器,并且因此与SHVC ROI方法相比具有与实现更好的兼容性。此外,CILP利用了相对较低的帧内图片频率(类似于SHVC ROI方法)。然而,与SHVC ROI方法相比,CILP受MCTS用于基本质量图块的困扰。在相对粗糙的图块网格中(高达6×3),CILP的流速率失真性能接近SHVC-ROI。然而,当使用较精细的图块网格时,与SHVC-ROI相比,CILP的流速率失真性能较差,这大概是由于将MCTS用于基本质量。
相应地,SHVC ROI和CILP方法在不同情况下具有各自的优势,但是它们并非在所有情况下比彼此优越。
为了更好地获取SHVC ROI和CILP两者的优点,已经提出了一种称为空间打包受限层间预测(SP-CILP)的编码方法。
在SP-CILP方法中,将输入图片序列编码为比特流,以便将图片区域划分为在图片区域内不重叠的第一组成图片区域和第一图块区域。组成图片区域用于承载基本质量编码,而图块区域则用于承载增强质量图块。为了实现以与SHVC ROI和CILP方法中类似的方式从时间对准的基本质量组成图片预测增强质量图块,可以将某些输入图片编码为两个经编码的图片。在这两个经编码的图片中的第一经编码的图片中,图块区域可以为空白。在这两个经编码的图片中的第二经编码的图片中,可以从第一经编码的图片的基本质量组成图片中预测图块区域。第二经编码的图片的组成图片区域可以为空白,或者可以参考具有零运动并且没有预测误差的第一经编码的图片编码(即,“跳过编码”)。
在实践中,对若干(至少两个)比特流编码,每个比特流具有对增强质量图块的不同选择,但是具有相同的基本质量组成图片。例如,当使用4×2图块网格并且选择四个图块以便以与观看取向相匹配的增强质量编码时,可能需要对大约40个比特流编码以实现对增强质量图块的不同选择。如上所述,IRAP图片间隔可以被选择为比将输入图片编码为两个经编码的图片的间隔长。图11a示出了示例,其中对两个比特流编码,其中如上所述,“b”是指空白图块,“B切片”包括至少一个B切片或P切片并且可以附加地外包括任何其他切片,例如I切片、P切片或B切片。
如上所述,将输入图片编码为两个经编码的图片形成了切换点,该切换点实现从一个比特流切换到另一比特流。由于基本质量组成图片在编码比特流中是相同的,因此可以根据较早的(多个)图片来预测切换点处的基本质量组成图片。继续图11a的示例,图11b示出了在第一非IRAP切换点从增强质量图块1、2、5、6切换到3、4、7、8的示例。
结果是,实现了全向视频的视口相关传递,其可以利用诸如HEVC主简档编码器/解码器等单层编码器/解码器编码和解码。因此,实现了与CILP相似的优点。此外,与SHVC ROI和CILP的优势类似,可以为基本质量而不频繁地编码帧内图片,但仍可以实现频繁视点切换能力。另一方面,避免了将MCTS用于基本质量,从而类似于SHVC ROI,提高了基本质量编码的压缩性能。同样,类似于SHVC ROI,可以实现流速率失真压缩增益。
然而,在SP-CILP方法中,增强质量图块中的空间上相邻和/或时间上并置的运动矢量可能具有明显不同的幅度。对于运动矢量预测,平滑的运动场将更为有益。而且,SP-CILP所需要的编码比特流的数目与分别选择高分辨率或高质量图块的不同组合的数目成比例。虽然只需要存储用于基本质量组成图片序列的一个轨道,但是每对原始图片中图块定位和提取器轨道中图块定位都需要一个图块轨道。此外,基于在播放设备中的(多个)视口中需要支持的(最大)视场的假定来进行用于SP-CILP编码的增强质量图块的选择。如果服务中支持的视口的视场变化较大,则需要对不同视口视场大小进行单独的编码。
现在介绍一种改进的方法,该方法用于实现全向视频的视口相关传递和/或用于多视图视频编码。
图12所示的方法包括将输入图片编码(1200)为经编码的组成图片;作为所述编码的一部分,重构(1202)与经编码的组成图片相对应的经解码的组成图片;将空间区域编码(1204)为经编码的图块,该编码包括:确定(1204a)指示经解码的组成图片内的空间区域的按区域的锚点定位的水平偏移和垂直偏移;对水平偏移和垂直偏移编码(1204b);确定(1204c)在经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于按区域的锚点定位而预测的,其中第一水平坐标和第一垂直坐标分别是空间区域内的水平坐标和垂直坐标;指示(1204d)预测单元是相对于预测单元锚点定位而预测的,该预测单元锚点定位是相对于按区域的锚点定位的;得出(1204e)预测单元锚点定位,该预测单元锚点定位分别等于第一水平坐标和水平偏移之和以及第一垂直坐标和垂直偏移之和;针对预测单元确定(1204f)运动矢量;以及相对于预测单元锚点定位应用(1204g)运动矢量以获取预测块。
在适用于全向视频的视口相关传递的实施例中,空间区域源自输入图片,并且按区域的锚点定位对应于输入图片内的空间区域的定位。
因此,例如通过比特率对相同内容的一个或多个版本编码、区分。经编码的图片包括表示内容的整个视场的组成图片。组成图片可以例如包括表示整个球体的等量矩阵投影的图片。在该上下文中,组成图片可以被称为基本质量组成图片或共享组成图片,因为如果相同内容有很多版本,则共享组成图片可以在所有它们中被相同地编码,并且因此不管解码哪个编码版本,共享组成图片都可以相同。
经编码的图片还包括相同内容的图块,图块可以但不是必需表示内容的整个视场。与相应共享组成图片的质量相比,这些图块通常具有较高的质量。
在适用于多视图视频编码的实施例中,空间区域源自第二输入图片,以表示与输入图片不同的视图。空间区域可以例如包括整个第二输入图片。例如,按区域的锚点定位可以基于输入图片与第二输入图片之间的平均或全局视差来确定。假定空间区域的内容在背景距离上或在场景的平均距离上,则按区域的锚点定位可以例如对应于输入图片上的空间区域的定位。当通过块内复制预测来启用用于帧打包的多视图视频的视图间预测时,该实施例有助于提高压缩效率。特别地,当在当前预测单元中选择视图间预测并且不存在使用视图间预测的相邻预测单元(但是它们全部都使用时间预测或帧内编码)时,该实施例很可能使所需要的运动矢量差较小并且因此提高了压缩效率。
在适用于任何视频编码的实施例中,空间区域是第二输入图片,以表示与输入图片不同的时间。组成图片可以被编码为第一经编码的图片,并且空间区域可以被编码为第二经编码的图片。例如,按区域的锚点定位可以基于输入图片与第二输入图片之间的全局运动来确定。例如,在相机摇摄的情况下,按区域的锚点定位可以例如对应于输入图片之间的摇摄的大小和方向。该实施例可以帮助提高压缩效率。注意,可以允许水平偏移和/或垂直偏移在组成图片边界之外,和/或可以允许预测单元锚点定位在组成图片边界之外。
在下文中,参考诸如共享组成图片和/或增强质量图块等术语来描述一些实施例。虽然这些术语涉及与视口相关传递有关的实施例,但是应当理解,这些实施例可以等同地用于其他使用场景,这样的实施例涉及通过将术语替换为较通用的术语来进行多视图编码(例如,组成图片而不是共享组成图片,和/或经编码的图块而不是增强质量图块)。应当理解,实施例还可以应用于除本文中描述之外的其他使用场景。
本文中,运动矢量锚点定位被定义为相对于运动矢量所应用于的图片区域内的定位(例如,水平坐标和垂直坐标)。常规上,运动矢量锚点定位与为其提供运动矢量的预测单元的定位相同。
在一个实施例中,对经编码的组成图片的编码进行约束,使得运动矢量在预测过程中不会引起对经编码的组成图片(或相应经解码的组成图片)之外的样本的参考。否则,可以常规地执行对经编码的组成图片的编码和解码。
在一个实施例中,经编码的组成图片的编码可以导致参考在图片边界之外,但是被约束为使得运动矢量不导致参考在图片边界内但是在组成图片边界之外的样本。否则,可以常规地执行对经编码的组成图片的编码和解码。
图13示出了一种可能的编码布置,其中图块的编码和解码(在上面的示例图中枚举1到8)如下执行。
当启用锚点定位偏移的使用时,在切片报头、切片参数集、图块报头、图块参数集等中给出锚点定位的水平偏移和垂直偏移(tile_ref_x,tile_ref_y)。tile_ref_x和tile_ref_y指示共享组成图片内的图块的左上角。通常,tile_ref_x和tile_ref_y可以指示共享组成图片内的图块的任何预定义或指示的参考位置,诸如中心点。tile_ref_x和tile_ref_y可以被约束为指示共享组成图片内的位置,但是通常可以指示超出共享组成图片的边界的位置。
可以例如在编码标准中预定义,或者由编码器在比特流中编码,和/或由解码器从比特流中解码的是,tile_ref_x和tile_ref_y是相对于包括共享组成图片的图片的左上角。在这种情况下,编码器可以以tile_ref_x和tile_ref_y指示共享组成图片内的图块的左上角的左上角的方式来选择tile_ref_x、tile_ref_y和潜在的其他参数的值。备选地,tile_ref_x和tile_ref_y是相对于共享组成图片的参考位置,并且该参考位置可以由编码器在比特流中指示,和/或由解码器从比特流中解码,或者由编码器和/或解码器推断。
可以预先定义或指示特定的坐标系,以指示共享组成图片和/或包含共享组成图片的(多个)图片内的位置和/或范围。在此,假定坐标系统的原点位于共享组成图片或包含共享组成图片的图片的左上角,水平坐标向右增加,垂直坐标向下增加。应当理解,实施例可以利用其他类型的坐标系等效地实现。
令当前图块的左上角在图片内具有定位(tile_x,tile_y)。令当前PU的左上角具有相对于当前图块的左上角的第一水平坐标和第一垂直坐标(rel_x,rel_y)的定位。因此,运动矢量锚点定位通常是(tile_x+rel_x,tile_y+rel_y)。编码器可以例如在编码预测单元中指示和/或解码器可以例如根据编码预测单元解码出运动矢量锚点定位被设置为等于预测单元的(tile_ref_x+rel_x,tile_ref_y+rel_y)。
水平偏移和垂直偏移的信令使得图块能够被布置在被解码的经编码的图片内的任何定位。换言之,经编码的图片中的图块不需要与被解码的经编码的图片中的定位相同。如文件格式修正中所述,这实现根据图块选择性地重构比特流。因此,当与SP-CILP中所需要的相比时,可以减少编码比特流和所存储的增强质量图块轨道的数目。
根据一个实施例,当参考图片是当前图片时(即,当使用块内复制时)并且当运动矢量等于(0,0)时,运动矢量锚点定位被设置为等于(tile_ref_x+rel_x,tile_ref_y+rel_y)。因此,预测块是共享组成图片中在空间上与当前块相对应的块。可以认为这类似于可缩放视频编码中的层间样本预测。
存在指示使用运动矢量锚点定位(tile_ref_x+rel_x,tile_ref_y+rel_y)的不同方式。根据一个实施例,编码器例如利用标志指示:对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有运动矢量。同样,根据一个实施例,解码器例如从标志中解码出对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有运动矢量。
根据一个实施例,编码器例如利用标志指示对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有块内复制运动矢量。根据一个实施例,解码器例如利用标志解码出对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有块内复制运动矢量。
根据一个实施例,编码器例如利用标志指示对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有时间运动矢量。根据一个实施例,解码器例如利用标志解码出对于切片或图块,运动矢量锚点定位偏移机制分别应用于切片或图块的所有时间运动矢量。
根据一个实施例,编码器指示例如在切片或图块水平上启用运动矢量锚点定位偏移机制。仍然可以例如基于预测单元来执行关于是否应用运动矢量锚点定位偏移的确定。同样,根据一个实施例,解码器例如从切片或图块报头中解码出运动矢量锚点定位偏移机制被启用。解码器可以解码出例如对于每个预测单元,是否应用运动矢量锚点定位偏移。
根据一个实施例,编码器指示是否例如在编码单元或预测单元中使用运动矢量锚点定位偏移。该指示可以是例如CABAC编码的标志。同样,根据一个实施例,解码器例如从编码单元或预测单元中解码出是否使用运动矢量锚点定位偏移。
根据一个实施例,编码器指示通过以使得预测块的得出使用图块外部的至少一个样本的方式确定运动矢量,预测单元是相对于相对于水平偏移和垂直偏移的锚点定位而预测的。根据一个实施例,解码器解码得出以下结论:运动矢量导致预测块的得出使用图块外部的至少一个样本,并且因此得出结论,预测单元是相对于相对于水平偏移和垂直偏移的锚点定位而预测的。这些实施例可以被应用以使得运动矢量能够参考图块边界以实现改善的压缩。
根据一个实施例,当指示指示锚点定位偏移被启用并且参考图片是当前图片时(即,当使用块内复制时)并且当运动矢量导致预测块的得出参考尚未编码或解码的样本时,运动矢量锚点定位被设置为等于(tile_ref_x+rel_x,tile_ref_y+rel_y)。
常规地,可以并行地(例如,通过不同的处理器核)对图块编码,并且在很多情况下,也可以并行地对其解码。在使用参考来自增强质量图块的共享组成图片的运动矢量的实施例(特别是那些利用块内复制的实施例)中,需要以顺序方式对共享组成图片和图块编码和解码。然而,可以并行编码或解码若干增强质量图块。
根据一个实施例,编码器指示例如在图片参数集中和/或在序列参数集中需要对图块进行顺序解码,。根据一个实施例,解码器解码出例如从图片参数集和/或从序列参数集中需要对图块进行顺序解码。
根据一个实施例,每个图块与两个或更多图块集群中的图块集群相关联。图块集群内的图块可以并行解码。确定图块集群的解码顺序。
根据一个实施例,图块以预定义方式与图块集群相关联。例如,每个图块行中的最左边图块可以被聚类到第一图块集群,而所有其他图块被聚类到第二图块集群。需要在第二图块集群之前对第一图块集群解码。
根据一个实施例,编码器按图块对诸如标记或索引等指示编码,其中该指示指示图块的图块集群。在一个实施例中,解码器按图块对诸如标记或索引等指示解码,其中该指示指示图块的图块集群。该指示可以例如驻留在切片报头、图块报头、图片参数集和/或序列参数集中。
根据一个实施例,共享组成图片可以具有与图块不同的采样密度。因此,作为获取预测块的一部分,可能需要重采样。一个示例在图14中示出,其中图块是第一360度等量矩形图片的部分,并且共享组成图片是第二360度等量矩形图片,第二360度等量矩形图片的水平分辨率和垂直分辨率是第一360度等量矩形图片的一半。
根据一个实施例,编码器将指示共享组成图片与(多个)图块之间的采样率的信息编码到比特流中。同样,根据一个实施例,解码器从比特流中解码指示共享组成图片与(多个)图块之间的采样率的信息。
根据一个实施例,根据用于得出锚点定位的采样率来缩放预测单元的定位(rel_x,rel_y)。
根据一个实施例,随后根据采样率对编码或解码的运动矢量进行缩放以获取预测块。然而,没有这样的缩放的运动矢量存储在用于参考的运动场中。这可以帮助获取相干运动场,并且因此增加合适的预测候选可用的可能性。
根据一个实施例,通过应用相对于锚点定位的运动矢量来标识用于获取预测块的源块。本文中,可以如上所述地缩放运动矢量和锚点定位。可以选择源块相对于预测块的大小的成比例的大小等于采样率。可以根据采样率对源块进行重采样以获取预测块。
根据一个实施例,预测单元被分割为运动单元,运动单元可以例如包括4×4样本。可以根据采样率从预测单元的运动矢量中得出每个运动单元的运动矢量。例如,如果采样率指示共享组成图片的采样间隔在水平方向和垂直方向两者上都是图块的一半,并且运动矢量在样本单元中为(4,4),则运动单元的运动矢量可以被得出为等于(2,2)。针对每个运动单元分别形成锚点定位和预测块。锚点定位可以被得出为等于(tile_x+rel_x*0.5,tile_y+rel_y*0.5),其中0.5是采样率并且(rel_x,rel_y)是运动单元在图块内的定位。
根据一个实施例,编码器指示或结束要应用于源块以获取预测块的变换,并且随后应用该变换。同样地,根据一个实施例,解码器解码或得出要应用于源块以获取预测块的变换,并且随后应用该变换。变换可以例如是90度、180度或270度的旋转和/或水平镜像和/或垂直镜像。例如,在要编码的图片中和/或在解码的图片中,共享组成图片与图块相比可能已经旋转了90度。
术语“按区域运动参数”可以被定义为锚点定位的水平垂直偏移(tile_ref_x,tile_ref_y)、共享组成图片与图块之间的采样率(如果应用)以及要应用于源自共享组成图片的源块以获取用于对图块中的预测单元编码/解码的预测块的变换(如果有的话)的集合。
根据一个实施例,预测单元被分割为运动单元,其中应用于第一运动单元的运动矢量仅指代图块内的样本,并且第二运动单元是相对于相对于水平偏移和垂直偏移的锚点定位而预测的。针对每个运动单元分别形成锚点定位和预测块。常规上得出第一运动单元的锚点定位,即,运动矢量锚点定位保持为第一运动单元的定位。第二运动单元的锚点定位被设置为等于(tile_x+rel_x,tile_y+rel_y),其中(rel_x,rel_y)是运动单元相对于当前图块的定位。
根据一个实施例,当使用块内复制时,编码器和/或解码器从以下中的任何项推断出使用零运动矢量:
-编码器可以在比特流中指示或者解码器可以从比特流中解码出运动矢量锚点定位偏移机制被应用于切片或图块的所有块内复制运动矢量。在此,切片可以包含经编码的图块(如在其他实施例中所指),或者切片可以被包含在经编码的图块中(如在其他实施例中所指)。该指示可以例如驻留在图块报头、图块参数集、切片报头、切片参数集、图片报头、图片参数集、序列报头和/或适用于切片或图块的序列参数集中。
-编码器指示例如在编码单元或预测单元中使用运动矢量锚点定位偏移并且块内复制分别用于相同的编码单元或预测单元,例如通过指示当前图片的参考索引。同样,解码器例如从编码单元或预测单元中解码出使用运动矢量锚点定位偏移并且块内复制分别用于相同的编码单元或预测单元,例如通过解码出当前图片的参考索引分别用于编码单元或预测单元。
根据一个实施例,作为推断出在使用块内复制时使用零运动矢量的结果,编码器省略指示和/或解码器省略指示所选择的运动矢量候选或运动矢量差的解码语法元素。因此,该实施例改善了压缩性能。
根据一个实施例,当预测候选是块内复制运动矢量并且当前PU不使用当前图片作为参考图片时,编码器和/或解码器从预测候选列表中排除预测候选。在此,预测模式和/或候选列表的类型不限于任何特定的模式或类型,并且例如可以应用于AMVP和HEVC的合并模式等。尽管上述排除了块内复制运动矢量,但是可以如先前所解释的那样得出候选列表。
根据一个实施例,当预测候选是块内复制运动矢量并且当前PU不使用当前图片作为参考图片时,编码器和/或解码器认为该预测候选不可用于得出预测候选列表。例如,如果当前PU上方的潜在定位之中的空间候选定位B0包含块内复制运动矢量,并且当前PU不使用当前图片作为参考图片,则认为B0不可用,并且检查在当前PU上方的潜在定诶之中按预定义顺序的下一潜在候选定位。
根据一个实施例,仅当编码器和/或解码器推断出在使用块内复制时使用零运动矢量时,才应用不可用于得出预测候选的上述排除或考虑,如上所述。
这些实施例从预测候选列表中排除不太可能的预测候选,因此增加了预测候选列表包含要由编码器选择的合适候选的可能性。因此,这些实施例可以改善压缩性能。
根据一个实施例,针对不同类型的预测或不同类型的预测参考,可以单独地指示诸如tile_ref_x和tile_ref_y等按区域运动参数。例如,可以指示一组按区域运动参数以用于块内复制预测,并且可以指示另一组按区域运动参数以用于(时间)帧间预测。在另一示例中,可以为时间参考图片指示一组按区域运动参数,并且可以为视图间参考图片指示另一组按区域运动参数。
根据一个实施例,可以针对每个参考图片单独地指示诸如tile_ref_x和tile_ref_y等按区域运动参数。编码器可以例如估计当前图片与参考图片之间的全局运动,并且通过相应地设置tile_ref_x和tile_ref_y的值来补偿全局运动。编码器和解码器取决于使用哪个参考图片来选择使用tile_ref_x和tile_ref_y的哪个值对。
应当理解,即使参考术语图块描述实施例,实施例也可以类似地应用于图块集。在这种情况下,图块集内的图块可以用于常规目的,诸如以实现并行处理。编码器可以指示在比特流中将图块聚类为图块集和/或将图片分割为图块集,并且解码器可以从比特流中解码将图块聚类为图块集和/或将图片分割为图块集。
通常,实施例可以应用于用于分割图片的任何单元或区域,诸如一个或多个图块、切片或切片分段、以及其任何组合。即,当实施例涉及术语“图块”或“增强质量图块”时,实施例可以类似地应用于另一空间单元。类似地,当实施例涉及术语“共享组成图片”或“组成图片”时,它们可以类似地应用于另一空间单元。编码器可以在比特流中指示哪个空间单元是指示和/或推断的按区域运动参数的范围,和/或解码器可以从比特流中解码出哪个空间单元是指示和/或推断的按区域运动参数的范围。
在一个实施例中,按区域运动参数的范围从包含按区域运动参数的语法结构来推断。例如,如果切片报头或切片参数集包含按区域运动参数,则可以得出结论:按区域运动参数的范围是相应切片。
在一个实施例中,区域运动参数的范围在比特流中明确地指示和/或从比特流中解码。例如,编码器可以指示矩形以及定义按区域运动参数的范围的按区域运动参数。矩形可以例如通过其左上角、宽度和高度或通过其左上角和右下角来指示。矩形的坐标和范围可以使用特定的分割网格来指示,诸如图块网格或CTU网格。矩形可能需要包括整数个空间单元,诸如整数个图块和切片。
图15示出了容器文件布置的示例。编码比特流可以存储为一个基本质量子图片轨道,该基本质量子图片轨道包括共享组成图片以及每个增强质量图块的一个子图片或图块轨道。可以创建一个提取器轨道以组合增强质量图块,这些图块覆盖一定范围的观看取向。提取器轨道包括对基本质量子图片轨道以及所选择的增强质量图块或子图片轨道的轨道参考。提取器轨道的样本包括提取器,这些提取器包括从参考轨道中提取数据的构造器。在另一示例中,提取器轨道可以包括共享组成图片的编码视频数据,并且包含提取器,这些提取器包括从包含增强质量图块的子图片或图块轨道中提取数据的构造器。
元数据可以被包括在文件中,例如在轨道级别,以指示提取器轨道的特性。例如,按区域打包的元数据可以用于描述编(解)码图片中的区域相对于诸如等量矩形投影等某个投影格式的投影图片的关系。
可以为另一目标最大视口视场生成另一组提取器轨道,例如,在该示例中,提取六个增强质量图块(即,图块1、2、5、6、7、8)。
根据一个实施例,容器文件创作被应用于多个比特率版本,如图16的示例所示。编码比特流被存储为文件中的图块或子图片轨道。指示了作为用于提取的备选方案的一组图块或子图片轨道。在一个提取备选组中,图块或子图片轨道不必表示同一打包区域,而是在像素的宽度和高度方面具有相同大小。轨道组标识符必须不同于所有轨道标识符。在示例情况下,一个提取备选组被生成到文件中,并且所有增强质量图块轨道都指示为该提取备选组的成员。
将提取器轨道创建到文件中。提取器被设置为参考基本质量轨道和提取备选轨道组。该示例中的样本包括六个提取器,其中两个提取器用于从基本质量轨道中提取数据,并且四个提取器参考来自增强质量图块或子图片轨道的数据并且标记为a、b、c、d。
在一个实施例中,不是将按区域打包信息存储在提取器轨道中,而是将按区域打包信息分为两部分,其中第一部分排除打包区域位置并且存储在图块或子图片轨道中,第二块图像包括打包区域位置并且存储在提取器轨道中。
在一个实施例中,不是将按区域打包信息存储在提取器轨道中,而是将按区域打包信息存储在图块或子图片轨道中,并且所解析的提取器轨道中的图块或子图片的位置和大小由另一框(诸如特定轨道组)指示。例如,可以使用子图片合成轨道组。当轨道包括具有子图片合成轨道类型(即,SubPictureCompositionBox(子图片合成框))的TrackGroupTypeBox(轨道组类型框)时,该轨道属于可以在空间上布置以获取合成图片的轨道的合成。被映射到该分组的视觉轨道共同表示可以呈现的视觉内容。被映射到该分组的每个个体视觉轨道可能会或可能不会在没有其他视觉轨道的情况下单独呈现,而合成图片适合于呈现。可以通过在空间上布置属于同一子图片合成轨道组的所有轨道的合成对准样本的解码输出来得出合成图片。SubPictureCompositionBox包含合成图片内的轨道的空间定位、宽度和高度。
在一个实施例中,例如由文件编写器将以下信息包括在SubPictureCompositionBox中:最大索引(max_index)和轨道索引(track_index)。可以允许等于0的max_index,并且可以指定可以从任何数目的子图片轨道中得出合成图片。max_index大于0指定从子图片轨道中得出合成图片,其中track_index的每个在0至max_index(包括)的范围内。对于属于同一子图片合成轨道组的所有轨道,max_index的值相同。track_index指定子图片合成轨道组中的子图片轨道的索引。属于同一替代组(即,具有相同的非零alternate_group(替代组)值)的所有轨道具有相同的track_index值。轨道A的track_index的值不等于轨道B的track_index的值,除非轨道A和轨道B属于同一替代组。在一个实施例中,文件解析器等检测track_index值中是否存在0至max_index(包括)范围内的间隙。如果是,则尚未接收到一些子图片轨道,并且可以得出结论:合成图片不能正确地被重构。
根据一个实施例,在容器文件和/或MPD中指示全向视频预选择,例如使用DASH预选择功能,每个定义图块或子图片轨道的组合。每个预选择指示从哪个(哪些)个体子图片或图块轨道中提取数据。例如,可以指示预选择的特性,包括质量提高的球体区域。
在图17中所示的备选布置中,提取备选轨道组由备选组而不是由轨道形成。换言之,完整的(多个)备选组被指示为提取备选组的(多个)成员。
在上述容器文件创作实施例的情况下,接收器可以选择要利用过特定提取器轨道接收和解码的图块或子图片轨道的任何组合。因此,与SP-CILP中所需要的相比,编码比特流和所存储的增强质量图块轨道的数目大大减少。
在下文中,更详细地讨论与立体内容有关的一些实施例。
根据一个实施例,允许用于预测视图的图块中的预测单元的块内复制运动矢量指代独立视图的相应图块。常规上得出用于这种运动矢量的运动矢量锚点定位,即其保持为当前预测单元的定位。
根据一个实施例,编码器在比特流中指示经编码的图片包括来自多于一个视图的内容,并且指示解码图片中来自视图的内容的打包布置。当第二视图的预测单元的运动矢量仅参考第一视图的样本时,编码器常规地得出运动矢量锚点定位,即,运动矢量锚点定位保持为当前预测单元的定位。否则,前述实施例适用。
根据一个实施例,解码器从比特流中解码出经编码的图片包括来自多于一个视图的内容,并且指示解码图片中来自视图的内容的打包布置。当第二视点的预测单元的运动矢量仅参考第一视图的样本时,解码器常规地得出运动矢量锚点定位,即,运动矢量锚点定位保持为当前预测单元的定位。否则,前述实施例适用。
根据一个实施例,编码器在比特流中指示或解码器从比特流解码针对预测视图的图块的允许的源区域或允许的源图块等。当运动矢量仅参考允许的源区域或允许的源图块等的样本时,编码器或解码器常规地得出运动矢量锚点定位,即,运动矢量锚点定位仍然是当前预测单元的定位。否则,前述实施例适用。
在图18中示出了用于立体编码的布置的示例。箭头示出了右视图的图块R1中的预测单元的运动矢量。运动矢量仅指代与图块R1相对应的左视图的图块L1。可以假定,当解码立体内容时,获取图块L1和R1两者,因此它们之间的预测依赖性是可接受的。该预测可以被认为类似于视图间预测。编码器为锚点定位设置水平偏移和垂直偏移(tile_ref_x,tile_ref_y)以指示相应共享组成图片内的图块的左上角。例如,图块R1的(tile_ref_x,tile_ref_y)指示在右侧基础质量组成图片内的图块R1的相应定位。
图19示出了用于立体编码的布置的另一示例。此处假定,所传输的增强质量图块将覆盖视口,因此基本质量预测视图(在该示例中为右侧视图)可能对显示无用并且对速率失真性能不利。该示例与先前示例相似,不同之处在于,当为预测视图图块的锚点定位设置水平偏移和垂直偏移(tile_ref_x,tile_ref_y)时,编码器可以例如使用视图之间的全局或平均视差来指示共享组成图片内的图块的相对定位。
图20示出了适合于采用本发明的实施例的视频解码器的框图。图20描绘了两层解码器的结构,但是应当理解,解码操作可以类似地用于单层解码器中。
视频解码器550包括用于基本层的第一解码器部分552和用于预测层的第二解码器部分554。框556示出了用于将关于基本层图片的信息传递给第一解码器部分552并且用于将关于预测层图片的信息传递给第二解码器部分554的解复用器。附图标记P'n表示图像块的预测表示。附图标记D'n表示重构的预测误差信号。框704、804示出了初步重构图像(I'n)。附图标记R'n表示最终重构图像。框703、803示出了逆变换(T-1)。框702、802示出了逆量化(Q-1)。框700、800示出了熵解码(E-1)。框705、805示出了参考帧存储器(RFM)。框706、806示出了预测(P)(帧间预测或帧内预测)。框707、807示出了滤波(F)。框708、808可以用于将解码的预测误差信息与预测的基本层/预测层图像组合以获取初步重构图像(I'n)。可以从第一解码器部分552输出709初步重构和滤波的基本层图像,并且可以从第一解码器部分554输出809初步重构和滤波的基本层图像。
解码器可以被布置为执行根据本发明的一方面的解码方法。如图21所示,该解码方法包括:将经编码的图块解码为经解码的图块,该解码包括:对水平偏移和垂直偏移解码(2100);对以下指示解码:经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于预测单元锚点定位而预测的,该预测单元锚点定位是相对于水平偏移和垂直偏移的(2102);得出(2104)预测单元锚点定位,该预测单元锚点定位分别等于第一水平坐标和水平偏移之和以及第一垂直坐标和垂直偏移之和;针对预测单元确定(2106)运动矢量;以及相对于预测单元锚点定位应用(2108)运动矢量以获取预测块。
水平偏移和/或垂直偏移可以指示经解码的图块之外的位置。针对预测单元确定(2106)运动矢量可以例如通过对来自经编码的图块的运动矢量解码来完成。
在一个实施例中,解码方法还包括将经编码的组成图片解码为经解码的组成图片,并且其中运动矢量指示经解码的组成图片内的位置。
在一个实施例中,经解码的图块表示由经解码的组成图片表示的内容的子集。与经解码的组成图片相比,经解码的图块可以例如具有较高的保真度。水平偏移和/或垂直偏移可以指示经解码的图块相对于经解码的组成图片的位置对应关系。
在一个实施例中,解码方法还包括:从经编码的图块和/或经编码的组成图片或沿着经编码的图块和/或经编码的组成图片(诸如从包含经编码的图块和/或经编码的组成图片的文件中)解码按区域打包元数据,以及从按区域打包元数据中得出经解码的图块相对于经解码的组成图片的位置对应关系。位置对应关系例如可以在特定全向投影格式的投影图片上或在可以将经解码的组成图片和经解码的图块投影到其上的球体上得出。
在一个实施例中,解码方法还包括以下结论:每当经解码的图块和经解码的组成图片基于它们的位置对应关系而重叠时,在显示中使用经解码的图块。解码方法可以例如对为解码图片上的区域提供质量等级值的按区域质量等级信息解码,该区域包括经解码的图块和经解码的组成图片。区域质量等级信息可以在经编码的图块和/或经编码的组成图片中或沿着经编码的图块和/或经编码的组成图片可用,诸如在包含经编码的图块和/或经编码的组成图片的文件中。基于解码的按区域质量等级信息,解码方法可以得出以下结论:经解码的图块具有比经解码的组成图片较高的质量,并且因此,基于其位置对应关系,每当经解码的图块与经解码的组成图片重叠时,就使用经解码的图块。
在一个实施例中,经解码的图块表示与经解码的组成图片不同的多视图视频/图像视图。解码方法可以对来自其表示视图的经编码的图块和/或经编码的组成图片或沿着其表示视图的经编码的图块和/或经编码的组成图片的信息(诸如立体内容的视图索引或左视图与右视图的指示)解码。例如,可以对H.264/AVC或HEVC的帧打包布置SEI方法解码,和/或可以从按区域打包元数据中解码视图信息。
本文中,应当将解码器解释为覆盖能够执行解码操作的任何操作单元,诸如播放器、接收器、网关、解复用器和/或解码器。
可以通过利用HEVC Main profile编解码器等单层编解码器来执行解码操作,即,不需要可缩放编码扩展。如上所述,通过基本层中的不频繁IRAP图片和增强层中的相对频繁IRAP图片,共享编解码器图片的使用可以实现与在SHVC ROI方法中提供的功能相似的功能。该功能可以用于实现具有中等速率失真损失的频繁切换能力。
图22是可以在其中实现各种实施例的示例多媒体通信系统的图形表示。数据源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进一步处理,解码器1570的输出是一个或多个未压缩的媒体流。最后,渲染器1590可以例如利用扬声器或显示器来再现未压缩的媒体流。接收器1560、记录存储装置1570、解码器1570和渲染器1590可以驻留在同一物理设备中,或者可以被包括在单独的设备中。
发送器1540和/或网关1550可以被配置为在不同表示之间执行切换,例如用于360度视频内容的不同视口之间的切换、视图切换、比特率自适应和/或快速启动,和/或发送器1540和/或网关1550可以被配置为选择所传输的(多个)表示。可以出于多种原因而在不同表示之间进行切换,诸如响应于接收器1560的请求或在其上传送比特流的网络的主要条件(诸如吞吐量)。换言之,接收器1560可以发起表示之间的切换。来自接收器的请求可以是例如对来自与先前不同的表示的分段或子分段的请求、对所传输的可缩放性层和/或子层的改变的请求、或者与先前的相比具有不同能力的渲染设备的改变。对分段的请求可以是HTTP GET请求。对子分段的请求可以是具有字节范围的HTTP GET请求。附加地或备选地,例如可以使用比特率调节或比特率自适应来在流服务中提供所谓的快速启动,其中在按顺序开始或随机访问流之后,所传输的流的比特率低于信道比特率,以便立即开始播放并且达到容许偶尔出现的分组延迟和/或重传的缓冲器占用水平。比特率自适应可以包括以各种顺序发生的多个表示或层向上切换以及表示或层向下切换操作。
解码器1580可以被配置为执行不同表示之间的切换,例如用于360度视频内容的不同视口之间的切换、视图切换、比特率自适应和/或快速启动的不同表示之间执行切换,和/或解码器1580可以被配置为选择所传输的(多个)表示。可以出于多种原因而在不同表示之间进行切换,诸如以实现较快的解码操作或者适配所传输的比特流(例如,在比特率方面),适配在其上传送比特流的网络的主要条件(诸如吞吐量)。例如,如果包括解码器1580的设备是多任务的并且将计算资源用于解码视频比特流以外的其他目的,则可能需要较快的解码操作。在另一示例中,当以比正常播放速度较快的速度(例如,常规实时播放速率的两倍或三倍)播放内容时,可能需要较快的解码操作。
在上文中,已经参考和/或使用HEVC的术语描述了一些实施例。应当理解,实施例可以类似地利用任何视频编码器和/或视频解码器来实现。
在上文中,已经参考分段描述了一些实施例,例如,如MPEG-DASH中定义的。应当理解,实施例可以类似地利用子分段来实现,例如,如MPEG-DASH中定义的。
在上文中,已经关于DASH或MPEG-DASH描述了一些实施例。应当理解,实施例可以类似地利用任何其他类似的流传输系统、和/或与DASH中使用的那些类似的协议、和/或与DASH中使用的那些类似的分段和/或清单格式、和/或与DASH客户端类似的任何客户端操作来实现。例如,一些实施例可以利用M3U清单格式来实现。
在上文中,已经关于ISOBMFF描述了一些实施例,例如,当涉及分段格式时。应当理解,实施例可以利用与ISOBMFF中具有相似能力和/或结构的诸如Matroska等任何其他文件格式类似地实现。
在上文中,在已经参考编码器描述了示例实施例的情况下,应当理解,所得到的比特流和解码器中可以具有对应的元素。同样,在已经参考解码器描述了示例实施例的情况下,应当理解,编码器可以具有用于生成要由解码器解码的比特流的结构和/或计算机程序。例如,已经描述了与作为编码的一部分来生成预测块有关的一些实施例。通过作为解码的一部分生成预测块,可以类似地实现实施例,不同之处在于,诸如水平偏移和垂直偏移等编码参数从比特流中解码,而不是由编码器确定。
上面描述的本发明的实施例在分离的编码器和解码器装置方面描述了编解码器,以便帮助理解所涉及的过程。然而,应当理解,该装置、结构和操作可以被实现为单个编码器解码器装置/结构/操作。此外,编码器和解码器可以共享一某些或所有公共元素。
尽管以上示例描述了在电子设备内的编解码器内操作的本发明的实施例,但是应当理解,根据权利要求中限定的本发明可以被实现为任何视频编解码器的一部分。因此,例如,本发明的实施例可以在可以在固定或有线通信路径上实现视频编码的视频编解码器中实现。
因此,用户设备可以包括诸如以上在本发明的实施例中描述的视频编解码器。应当理解,术语“用户设备”旨在涵盖任何合适类型的无线用户设备,诸如移动电话、便携式数据处理设备或便携式网络浏览器。
此外,公共陆地移动网络(PLMN)的元件还可以包括如上所述的视频编解码器。
通常,本发明的各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。例如,一些方面可以以硬件来实现,而其他方面可以以可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器可执行,诸如在处理器实体中,或者由硬件、或者由软件和硬件的组合可执行。进一步,在这一点上,应当注意,如图中的逻辑流程的任何块可以表示程序步骤、或者互连的逻辑电路、块和功能、或者程序步骤和逻辑电路、块和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储器块等物理介质、诸如硬盘或软盘等磁性介质、以及诸如例如DVD及其数据变体、CD等光学介质中。
存储器可以是适合于本地技术环境的任何类型,并且可以使用任何适当的数据存储技术来实现,诸如基于半导体的存储设备、磁存储设备和系统、光学存储设备和系统、固定存储器和可移动存储器。数据处理器可以是适合于本地技术环境的任何类型,并且作为非限制性示例,可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一种或多种。
本发明的实施例可以在诸如集成电路模块等各种组件中实践。集成电路的设计大体上是一个高度自动化的过程。复杂和强大的软件工具可用于将逻辑级设计转换为准备号在半导体基板上蚀刻和形成的半导体电路设计。
诸如加利福尼亚州山景城的Synopsys公司和加利福尼亚州圣何塞的Cadence设计公司提供的程序使用完善的建立的设计规则以及预先存储的设计模块的库自动路由导体并且在半导体芯片上定位组件。一旦半导体电路的设计已经完成,标准化电子格式(例如,Opus、GDSII等)的最终设计可以被传输到半导体制造设施或“fab”用于制造。
以上描述已经通过示例性和非限制性示例提供了本发明的示例性实施例的完整且信息性的描述。然而,当结合附图和所附权利要求阅读时,鉴于前面的描述,各种修改和改编对于相关领域的技术人员来说可以变得明显。然而,对本发明的教导的所有这样的和类似的修改仍然落入本发明的范围内。

Claims (20)

1.一种方法,包括:
将输入图片编码为经编码的组成图片;
作为所述编码的一部分,重构与所述经编码的组成图片相对应的经解码的组成图片;
将所述输入图片的空间区域编码为经编码的图块,所述编码包括:
确定指示所述经解码的组成图片内的所述空间区域的按区域的锚点定位的水平偏移和垂直偏移;
对所述水平偏移和所述垂直偏移编码;
确定在所述经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于所述按区域的锚点定位而被预测的,其中所述第一水平坐标和所述第一垂直坐标分别是所述空间区域内的水平坐标和垂直坐标;
指示所述预测单元是相对于预测单元锚点定位而被预测的,所述预测单元锚点定位是相对于所述水平偏移和所述垂直偏移的;
得出所述预测单元锚点定位,所述预测单元锚点定位分别等于所述第一水平坐标和所述水平偏移之和以及所述第一垂直坐标和所述垂直偏移之和;
确定针对所述预测单元的运动矢量;以及
相对于所述预测单元锚点定位应用所述运动矢量以获取预测块;以及
响应于所述经编码的组成图片和所述经编码的图块包括不同的采样密度,将指示所述经编码的组成图片和所述经编码的图块之间的采样率的信息编码成比特流。
2.根据权利要求1所述的方法,还包括:
根据用于得出所述预测单元锚点定位的所述采样率来缩放所述预测单元的所述第一水平坐标和所述第一垂直坐标。
3.根据权利要求2所述的方法,还包括:
根据所述采样率对运动矢量进行缩放以用于获取所述预测块。
4.根据权利要求3所述的方法,还包括:
标识用于获取所述预测块的源块,包括:应用相对于所述预测单元锚点定位的所述运动矢量。
5.根据权利要求1所述的方法,还包括:
将所述预测单元分割为运动单元;以及
根据所述采样率,从所述预测单元的所述运动矢量得出针对所述运动单元中的相应运动单元的相应运动矢量。
6.根据权利要求1所述的方法,还包括:
针对所述经编码的图块,指示运动矢量锚点定位偏移机制被应用于所述经编码的图块的运动矢量。
7.一种装置,包括:
至少一个处理器;以及
至少一个非瞬态存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时,使所述装置执行:
将输入图片编码为经编码的组成图片;
作为所述编码的一部分,重构与所述经编码的组成图片相对应的经解码的组成图片;
将所述输入图片的空间区域编码为经编码的图块,包括使所述装置:
确定指示所述经解码的组成图片内的所述空间区域的按区域的锚点定位的水平偏移和垂直偏移;
对所述水平偏移和所述垂直偏移编码;
确定在所述经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于所述按区域的锚点定位而被预测的,其中所述第一水平坐标和所述第一垂直坐标分别是所述空间区域内的水平坐标和垂直坐标;
指示所述预测单元是相对于预测单元锚点定位而被预测的,所述预测单元锚点定位是相对于所述水平偏移和所述垂直偏移的;
得出所述预测单元锚点定位,所述预测单元锚点定位分别等于所述第一水平坐标和所述水平偏移之和以及所述第一垂直坐标和所述垂直偏移之和;
确定针对所述预测单元的运动矢量;以及
相对于所述预测单元锚点定位应用所述运动矢量以获取预测块;以及
响应于所述经编码的组成图片和所述经编码的图块包括不同的采样密度,将指示所述经编码的组成图片和所述经编码的图块之间的采样率的信息编码成比特流。
8.根据权利要求7所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
根据用于得出所述预测单元锚点定位的所述采样率来缩放所述预测单元的所述第一水平坐标和所述第一垂直坐标。
9.根据权利要求8所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
根据所述采样率对所述运动矢量进行缩放以用于获取所述预测块。
10.根据权利要求9所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
标识用于获取所述预测块的源块,包括:应用相对于所述预测单元锚点定位的所述运动矢量。
11.根据权利要求7所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
将所述预测单元分割为运动单元;以及
根据所述采样率,从所述预测单元的所述运动矢量得出针对所述运动单元中的相应运动单元的相应运动矢量。
12.根据权利要求7所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
针对所述经编码的图块指示运动矢量锚点定位偏移机制被应用于所述经编码的图块的运动矢量。
13.一种方法,包括:
从比特流对经编码的组成图片进行解码;
将经编码的图块解码为经解码的图块,所述解码包括:
对水平偏移和垂直偏移解码;
对以下指示解码:在所述经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于预测单元锚点定位而被预测的,所述预测单元锚点定位是相对于所述水平偏移和所述垂直偏移的;
得出所述预测单元锚点定位,所述预测单元锚点定位分别等于所述第一水平坐标和所述水平偏移之和以及所述第一垂直坐标和所述垂直偏移之和;
确定针对所述预测单元的运动矢量;以及
相对于所述预测单元锚点定位应用所述运动矢量以获取预测块;
从所述比特流解码指示所述经编码的组成图片与所述经编码的图块之间的采样率的信息;以及
根据用于得出所述预测单元锚点定位的所述采样率来缩放所述预测单元的所述第一水平坐标和所述第一垂直坐标。
14.根据权利要求13所述的方法,还包括:
根据所述采样率对所述运动矢量进行缩放以用于获取所述预测块。
15.根据权利要求13所述的方法,还包括:
将所述预测单元分割为运动单元;以及
根据所述采样率,从所述预测单元的所述运动矢量得出针对所述运动单元中的相应运动单元的相应运动矢量。
16.根据权利要求13所述的方法,还包括:
解码针对所述经编码的图块的、运动矢量锚点定位偏移机制被应用于所述经编码的图块的运动矢量的指示。
17.一种装置,包括:
至少一个处理器;以及
至少一个非瞬态存储器,所述至少一个存储器上存储有代码,所述代码在由所述至少一个处理器执行时,使所述装置执行:
从比特流对经编码的组成图片进行解码;
将经编码的图块解码为经解码的图块,包括使所述装置:
对水平偏移和垂直偏移解码;
对以下指示解码:在所述经编码的图块的第一水平坐标和第一垂直坐标的定位处的预测单元是相对于预测单元锚点定位而被预测的,所述预测单元锚点定位是相对于所述水平偏移和所述垂直偏移的;
得出所述预测单元锚点定位,所述预测单元锚点定位分别等于所述第一水平坐标和所述水平偏移之和以及所述第一垂直坐标和所述垂直偏移之和;
确定针对所述预测单元的运动矢量;以及
相对于所述预测单元锚点定位应用所述运动矢量以获取预测块;
从所述比特流解码指示所述经编码的组成图片与所述经编码的图块之间的采样率的信息;以及
根据用于得出所述预测单元锚点定位的所述采样率来缩放所述预测单元的所述第一水平坐标和所述第一垂直坐标。
18.根据权利要求17所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
根据所述采样率对所述运动矢量进行缩放以用于获取所述预测块。
19.根据权利要求17所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
将所述预测单元分割为运动单元;以及
根据所述采样率,从所述预测单元的所述运动矢量得出针对所述运动单元中的相应运动单元的相应运动矢量。
20.根据权利要求13所述的装置,还包括代码,所述代码当由所述至少一个处理器执行时使所述装置:
解码针对所述经编码的图块的、运动矢量锚点定位偏移机制被应用于所述经编码的图块的运动矢量的指示。
CN202410193966.5A 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序 Pending CN118042095A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI20175881 2017-10-09
FI20175881 2017-10-09
CN201880065662.3A CN111543060B (zh) 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序
PCT/FI2018/050709 WO2019073112A1 (en) 2017-10-09 2018-10-03 APPARATUS, METHOD, AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201880065662.3A Division CN111543060B (zh) 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序

Publications (1)

Publication Number Publication Date
CN118042095A true CN118042095A (zh) 2024-05-14

Family

ID=66101310

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880065662.3A Active CN111543060B (zh) 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序
CN202410193966.5A Pending CN118042095A (zh) 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201880065662.3A Active CN111543060B (zh) 2017-10-09 2018-10-03 用于视频编码和解码的装置、方法和计算机程序

Country Status (8)

Country Link
US (3) US11166013B2 (zh)
EP (1) EP3695602A4 (zh)
KR (2) KR102488330B1 (zh)
CN (2) CN111543060B (zh)
MX (1) MX2020003370A (zh)
PH (1) PH12020550095A1 (zh)
RU (1) RU2741507C1 (zh)
WO (1) WO2019073112A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554877B (en) * 2016-10-10 2021-03-31 Canon Kk Methods, devices, and computer programs for improving rendering display during streaming of timed media data
KR20190080805A (ko) * 2017-12-28 2019-07-08 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
MX2020013864A (es) 2018-06-21 2021-03-25 Ericsson Telefon Ab L M Particiones de mosaicos con sub-mosaicos en codificacion de video.
CN112602329B (zh) * 2018-06-21 2023-08-11 瑞典爱立信有限公司 用于360度视频解码的块置乱
WO2020008103A1 (en) 2018-07-02 2020-01-09 Nokia Technologies Oy Method and apparatus for tile-relative addressing in video coding
WO2020009344A1 (ko) * 2018-07-06 2020-01-09 엘지전자 주식회사 360 비디오 데이터의 서브픽처 기반 처리 방법 및 그 장치
EP3707904A1 (en) 2018-10-02 2020-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
US11284066B2 (en) * 2018-10-10 2022-03-22 Tencent America LLC Method and apparatus for intra block copy in intra-inter blending mode and triangle prediction unit mode
US11057605B2 (en) * 2018-11-05 2021-07-06 Korea Electronics Technology Institute 360-degree VR video segmentation transmission system and method
WO2020103943A1 (en) * 2018-11-22 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Using collocated blocks in sub-block temporal motion vector prediction mode
TWI700000B (zh) * 2019-01-29 2020-07-21 威盛電子股份有限公司 全景影片影像穩定方法及裝置與影像穩定演算法評估方法
MX2021011016A (es) * 2019-03-11 2021-11-12 Huawei Tech Co Ltd Un codificador, un decodificador y métodos correspondientes.
CN114270831A (zh) 2019-08-10 2022-04-01 北京字节跳动网络技术有限公司 视频处理中的子图片尺寸定义
CN114208184A (zh) 2019-08-13 2022-03-18 北京字节跳动网络技术有限公司 基于子块的帧间预测中的运动精度
US20220329886A1 (en) * 2019-08-19 2022-10-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for handling media data streams
CN114762330A (zh) * 2019-09-22 2022-07-15 北京字节跳动网络技术有限公司 视频的子图片编码和解码
MX2022003765A (es) 2019-10-02 2022-04-20 Beijing Bytedance Network Tech Co Ltd Sintaxis para la se?alizacion de subimagen en un flujo de bits de video.
JP7482220B2 (ja) 2019-10-18 2024-05-13 北京字節跳動網絡技術有限公司 サブピクチャのパラメータセットシグナリングにおける構文制約
US11233669B2 (en) * 2019-12-17 2022-01-25 Google Llc Context-dependent in-call video codec switching
CN113225605B (zh) * 2020-02-05 2024-03-01 腾讯科技(深圳)有限公司 视频播放处理方法、装置、电子设备及存储介质
CN115191115A (zh) * 2020-02-24 2022-10-14 字节跳动有限公司 子图片和片行信令通知之间的交互
KR20220143857A (ko) 2020-03-03 2022-10-25 바이트댄스 아이엔씨 비디오 코딩에서의 저 주파수 비-분리가능 변환 시그널링
WO2022013326A1 (en) * 2020-07-16 2022-01-20 Nokia Technologies Oy Viewport dependent delivery methods for omnidirectional conversational video
CN113657257B (zh) * 2021-08-16 2023-12-19 浙江大学 一种端到端的手语翻译方法和系统
US20230224554A1 (en) * 2022-01-12 2023-07-13 Tencent America LLC Method and apparatus for wire formats for segmented media metadata for parallel processing in a cloud platform

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6400763B1 (en) 1999-02-18 2002-06-04 Hewlett-Packard Company Compression system which re-uses prior motion vectors
FR2947134A1 (fr) * 2009-06-23 2010-12-24 France Telecom Procedes de codage et de decodages d'images, dispositifs de codage et de decodage, flux de donnees et programme d'ordinateur correspondants.
EP2536150B1 (en) 2010-02-09 2017-09-13 Nippon Telegraph And Telephone Corporation Predictive coding method for motion vector, predictive decoding method for motion vector, video coding device, video decoding device, and programs therefor
JP5979848B2 (ja) * 2011-11-08 2016-08-31 キヤノン株式会社 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
US20130287093A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
JP6005865B2 (ja) 2012-09-28 2016-10-12 インテル・コーポレーション スケーラブルビデオ符号化のためのエンハンスド参照領域の利用
JP6290924B2 (ja) * 2013-01-07 2018-03-07 ノキア テクノロジーズ オサケユイチア ビデオ・コーディングおよびデコーディングのための方法と装置
WO2014139431A1 (en) * 2013-03-12 2014-09-18 Mediatek Inc. Inter-layer motion vector scaling for scalable video coding
US20140301463A1 (en) * 2013-04-05 2014-10-09 Nokia Corporation Method and apparatus for video coding and decoding
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
CN107027339A (zh) 2014-05-06 2017-08-08 联发科技股份有限公司 确定调整大小的参考帧的参考块的位置的视频处理方法和相关视频处理装置
US10785486B2 (en) * 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
CN106664443B (zh) 2014-06-27 2020-03-24 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
US20170026659A1 (en) * 2015-10-13 2017-01-26 Mediatek Inc. Partial Decoding For Arbitrary View Angle And Line Buffer Reduction For Virtual Reality Video
FI20165114A (fi) 2016-02-17 2017-08-18 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
FI20165257L (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
US10419768B2 (en) * 2016-03-30 2019-09-17 Qualcomm Incorporated Tile grouping in HEVC and L-HEVC file formats
EP3979646A3 (en) 2017-01-05 2022-05-18 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
EP3349467B1 (en) 2017-01-10 2019-09-04 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
US11095907B2 (en) 2017-03-27 2021-08-17 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US10893256B2 (en) 2017-06-26 2021-01-12 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video
EP3422724B1 (en) 2017-06-26 2024-05-01 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
WO2019073113A1 (en) 2017-10-09 2019-04-18 Nokia Technologies Oy APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING

Also Published As

Publication number Publication date
US20200260071A1 (en) 2020-08-13
RU2741507C1 (ru) 2021-01-26
CN111543060A (zh) 2020-08-14
EP3695602A4 (en) 2021-08-04
KR102411337B1 (ko) 2022-06-22
EP3695602A1 (en) 2020-08-19
KR102488330B1 (ko) 2023-01-12
KR20200059297A (ko) 2020-05-28
CN111543060B (zh) 2024-03-08
US11166013B2 (en) 2021-11-02
WO2019073112A1 (en) 2019-04-18
US20220014733A1 (en) 2022-01-13
MX2020003370A (es) 2020-07-29
PH12020550095A1 (en) 2020-09-14
US11671588B2 (en) 2023-06-06
US20230319286A1 (en) 2023-10-05
KR20220087577A (ko) 2022-06-24

Similar Documents

Publication Publication Date Title
CN111543060B (zh) 用于视频编码和解码的装置、方法和计算机程序
CN113170238B (zh) 用于视频编码和解码的装置、方法和计算机程序
US10893256B2 (en) Apparatus, a method and a computer program for omnidirectional video
KR102170550B1 (ko) 미디어 콘텐츠를 인코딩하는 방법, 장치 및 컴퓨터 프로그램
US11095907B2 (en) Apparatus, a method and a computer program for video coding and decoding
EP4072139A2 (en) An apparatus, a method and a computer program for video coding and decoding
CN112673638B (zh) 处理媒体数据的方法和装置
KR20180113584A (ko) 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
EP3349467B1 (en) An apparatus, a method and a computer program for video coding and decoding
WO2018115572A2 (en) An apparatus, a method and a computer program for video coding and decoding
EP4085646A1 (en) An apparatus, a method and a computer program for omnidirectional video
WO2019073113A1 (en) APPARATUS, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING
WO2018146376A1 (en) An apparatus, a method and a computer program for video coding and decoding
US11909983B2 (en) Apparatus, a method and a computer program for video coding and decoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination