CN116195255A - 支持基于观看方向的比特流随机访问 - Google Patents

支持基于观看方向的比特流随机访问 Download PDF

Info

Publication number
CN116195255A
CN116195255A CN202180061968.3A CN202180061968A CN116195255A CN 116195255 A CN116195255 A CN 116195255A CN 202180061968 A CN202180061968 A CN 202180061968A CN 116195255 A CN116195255 A CN 116195255A
Authority
CN
China
Prior art keywords
random access
image
video
video stream
viewer
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
CN202180061968.3A
Other languages
English (en)
Inventor
C·阿特鲁鲁
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Publication of CN116195255A publication Critical patent/CN116195255A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

接收非随机访问视频流。根据非随机访问处理顺序在第二图像块之后对第一图像块进行编码。接收观看方向数据以指示与由该第一图像块覆盖的位置一致的观看者的观看方向。以随机访问处理顺序在这些第二图像块之前将该第一图像块编码到该随机访问视频流中。将该随机访问视频流输送到由该观看者操作的接收方解码设备,以使该第一图像块根据该随机访问处理顺序在这些第二图像块之前被处理和呈现。

Description

支持基于观看方向的比特流随机访问
背景
相关申请的交叉引用
本申请要求于2020年8月3日提交的美国临时专利申请号63/060,272、2020年8月3日提交的欧洲专利申请号20189127.2和美国的优先权,这些申请均通过引用并入本文。
技术领域
本公开的实施例总体上涉及图像编码和呈现,并且具体地涉及视频编解码器。
背景技术
如移动图片专家组1(MPEG-1)视频、MPEG-2视频、MPEG-4视觉、H.264/高级视频编码(H.264/AVC)、高效视频编码(HEVC)等视频编码标准已随着时间发展成以相对低的比特率压缩和流式传输相对高质量的视频。
然而,在增强现实(AR)、虚拟现实(VR)或沉浸式视频应用中,观看者可以在不同时间点从不同的观看位置和不同的观看取向观看所描绘的场景。想要在任何时候都支持无缝高质量AR、VR或沉浸式视频体验,所需要的视频数据量是巨大的,难以支持并且甚至当前无法支持。
当将高质量图像内容流式传输、处理和呈现给观看者时,可能出现显著的时间滞后,这与观看者在位置和取向上的改变一致。观看者可以容易地感知到时间滞后。需要支持少有或没有伪影的高质量视频体验的视频流式传输和/或编码技术。
在本节中描述的方法是可以采用的方法,但不必是先前已经设想到或采用过的方法。因此,除非另有指示,否则不应该认为本节中描述的任何方法仅凭其纳入本节就可被视为现有技术。类似地,除非另有指示,否则关于一种或多种方法所认定的问题不应该基于本节而认为在任何现有技术中被认定。
附图说明
在附图中以举例而非限制的方式图示了本公开的实施例,并且其中类似的附图标记指代类似的元素,并且在附图中:
图1A图示了示例图像;图1B图示了示例非随机访问图像数据处理顺序;图1C图示了示例随机访问图像数据处理顺序;
图2A至图2C图示了用于非随机访问图像数据处理的示例视频输送流水线和示例编解码器;
图3A至图3C图示了用于随机访问图像数据处理的示例视频输送流水线和示例编解码器;
图4A和图4B图示了示例过程流程;以及
图5图示了可以在其上实施如本文描述的计算机或计算设备的示例硬件平台。
具体实施方式
本文描述了涉及用于比特流随机访问的编解码器保存状态的示例实施例。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本公开的实施例的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实践本公开的实施例。在其他情况下,没有详尽地描述众所周知的结构和设备以便避免不必要地遮蔽、模糊或混淆本公开的实施例。
本文根据以下概要描述了示例实施例:
1.总体概述
2.图像数据处理顺序
3.与观看方向无关的处理顺序
4.与观看方向相关的处理顺序
5.示例过程流程
6.实施机制——硬件概述
7.等效物、扩展、替代品和其他
1.总体概述
此概述介绍了本公开的示例实施例的一些方面的基本描述。应当注意的是,此概述不是对示例实施例的各方面的广泛或详尽总结。此外,应注意的是,此概述不旨在被理解为标识示例实施例的任何特别显著的方面或要素,也不旨在被理解为特别地描绘示例实施例的任何范围,也不是概括地描绘本公开的实施例。此概述仅以压缩和简化的格式介绍与示例实施例相关的一些概念,并且应被理解为仅仅是以下示例实施例的更详细说明的概念性前奏。注意,尽管本文讨论了单独的实施例,但是本文讨论的实施例和/或部分实施例的任何组合都可以组合以形成进一步实施例。
根据不实施如本文描述的技术的其他方法,具体编码的视频(例如,由如HEVC等具体标准编码的视频等)的编码器、解码器、视频数据打包器(例如,打包视频数据以进行流式传输或传输的设备或系统等)、流传输器(例如,流式传输或传输(多个)已编码视频的设备或系统等)等将遵循相同的具体布局的路径。编解码器通常不能偏离具体布局的路径并且不沿着具体布局的路径跳到任何具体块(例如,子宏块、宏块、编码单元、切片等)。
相比之下,如本文描述的技术可以用于提供或实施对压缩图像的区(例如,子宏块、宏块、编码单元、切片等)的直接随机访问,以实现高效的AR/VR/沉浸式视频编码。该区可以位于识别出的关注区域内,这可以基于主动用户反馈(例如,眼动追踪等)或创作意图。如本文描述的压缩比特流当被传输以呈现给观看者时可以被动态地打包以包括附加信息,如状态变量、相邻块指标和要用于解码随机访问的块的相似信息。这个附加信息可以作为包括但不一定仅限于SEI(补充增强信息)消息或辅助信息、PPS(图片参数集)、SPS(序列参数集)、切片标头等的图像元数据来发送。附加地、可选地或替代性地,附加信息可以与跟关注区域相关联的SEI消息传送或辅助信息、PPS(图片参数集)、SPS(序列参数集)、切片标头等一起被打包。
本文描述的示例实施例涉及提供视频流数据。访问用要以非随机访问处理顺序处理的图像块进行编码的非随机访问视频流。图像块中的第一图像块要根据非随机访问处理顺序在一个或多个第二图像块之后被处理。接收当观看者正在观看随机访问视频流的视频内容时实时收集的观看者的观看方向数据。从非随机访问视频流生成随机访问视频流。观看方向数据指示当观看者正在观看随机访问视频流的视频内容时与由第一图像块覆盖的位置一致的观看者的观看方向。第一图像块以不同于非随机访问处理顺序的随机访问处理顺序在一个或多个第二图像块之前被编码到随机访问视频流中。随机访问处理顺序取决于当随机访问视频流的视频内容被呈现给观看者时观看者的观看方向。非随机访问处理顺序与观看者的观看方向无关。将随机访问视频流输送到由观看者操作的接收方解码设备,以使第一图像块根据随机访问处理顺序在一个或多个第二图像块之前从随机访问视频流中被处理和呈现。
本文描述的示例实施例涉及呈现视频流数据。从上游设备接收随机访问视频流。从非随机访问视频流生成随机访问视频流。将当观看者正在观看随机访问视频流的视频内容时实时收集的观看者的观看方向数据发送到上游设备。观看方向数据指示当观看者正在观看随机访问视频流的视频内容时与由图像块中的第一图像块覆盖的位置一致的观看者的观看方向。非随机访问视频流用要以非随机访问处理顺序处理的图像块进行编码。图像块中的第一图像块要根据非随机访问处理顺序在一个或多个第二图像块之后被处理。随机访问处理顺序取决于当随机访问视频流的视频内容被呈现给观看者时观看者的观看方向。非随机访问处理顺序与观看者的观看方向无关。通过随机访问视频流的方式在一个或多个第二图像块之前从上游设备接收第一图像块。根据随机访问处理顺序在一个或多个第二图像块之前处理和呈现第一图像块。
在一些示例实施例中,如本文描述的机制形成媒体处理系统的一部分,该媒体处理系统包括但不限于以下各项中的任一项:基于云的服务器、移动设备、虚拟现实系统、增强现实系统、抬头显示设备、头盔式显示设备、CAVE式系统、墙壁大小的显示器、视频游戏设备、显示设备、媒体播放器、媒体服务器、媒体制作系统、相机系统、基于家庭的系统、通信设备、视频处理系统、视频编解码器系统、制作室系统、流式传输服务器、基于云的内容服务系统、手持式设备、游戏机、电视机、影院显示器、膝上型计算机、笔记本计算机、平板计算机、蜂窝无线电话、台式计算机、计算机工作站、计算机服务器、计算机亭、或各种其他类型的终端和媒体处理单元。
对优选实施例以及本文描述的通用原理和特征作出的各种修改对本领域的技术人员而言将是显而易见的。因此,本公开不旨在受限于所示实施例,而旨在符合与本文描述的原理和特征一致的最大范围。
2.图像数据处理顺序
可以基于流式传输参数、存储参数或其他专有或标准参数来将要编码到视频流中的图像分割或分区成一个大切片或多个更小的切片。
图1A图示了要编码在(例如,非随机访问等)视频流中的示例图像/帧100。如所示出的,图像(100)可以由(例如,非随机访问等)视频编码器分割或分区成图像块层次结构。例如,在该层次结构的顶部层级处,可以将图像(100)分割或分区成一个或多个顶部层级图像块102-1至102-4,这些图像块中的每一个表示切片(slice)。
可以进一步将每个切片或顶部层级图像块(例如,102-2等)分割或分区成一个或多个下一层级(在顶部层级之下)图像块(例如,104-2至104-5等)。例如,可以将切片(102-2)和(102-3)分别分割或分区成多个下一层级图像块104-2至104-5和104-6至104-9。相比之下,切片(102-1)和(102-4)中的每一个可以包括单一下一层级图像块104-1或104-10。
在各种操作场景中,如本文描述的每个下一层级图像块可以表示编码单元、预测单元、宏块、子宏块等。附加地、可选地或替代性地,在一些操作场景中,可以进一步将下一层级图像块分割或分区成一个或多个更小的单元,如预测单元、子宏块等。
如本文描述的图像块的大小可以或可以不在图像的图像块层次结构中发生变化。该层次结构中的示例图像块大小可以包括但不一定仅限于以下各项中的任一项:以像素为单位的8×8、16×16、32×32、64×64、128×128或者更小或更大的大小。
可以提前(例如,在媒体流式传输、媒体消费、图像呈现、图像观看等之前)对视频流中的图像(例如,图1A的100等)进行编码。例如,可以提前(例如,在媒体流式传输、媒体消费、图像呈现、图像观看等之前)确定将图像分割或分区成图像块层次结构以及用于识别/编码/解码该层次结构的图像块的特定处理顺序或路径,而独立于或不考虑稍后实时或近实时确定的AR、VR或沉浸式视频体验的观看者的观看方向、视口或关注区域(ROI)。提前确定的处理顺序或路径可以被称为典范或非随机访问处理顺序或路径。示例非随机访问处理顺序可以包括但不限于光栅顺序、之字形顺序、预先确定顺序、预指定顺序、基于标准的顺序等。
图1B图示了用于处理并编码图像(例如,图1A的100等)的图像块的示例非随机访问处理顺序。如所述的,提前确定非随机访问处理顺序,而独立于或不考虑稍后实时或近实时确定的AR、VR或沉浸式视频体验的观看者的观看方向、视口或ROI。
通过图示但非限制地,图1B的非随机访问处理顺序可以是光栅顺序。即,从左到右并且然后从顶部到底部处理在图像的图像块层次结构中或在同一更大图像块中相同层级的图像块。
例如,在图像(100)的图像块层次结构中,从左到右并且从顶部到底部处理并编码表示图像(100)的图像切片(102-1)至(102-4)的顶部层级图像块,即首先是102-1(其由实线圆表示为由一系列连续的虚线箭头表示的处理顺序的起始点),然后是102-2,随后是102-3和102-4。在同一更大图像块(例如,切片102-2等)中,从左到右并且从顶部到底部处理并编码更大图像块(在本示例中是切片(102-2))内的更小图像块(例如,宏块104-2至104-5等),即首先是104-2,然后是104-3,随后是104-4和104-5。
如图1B中所图示的,将图像(100)的一些或所有部分呈现给观看者的时间点的观看者的观看方向可以指向如由图像(100)的图像块(与图1A的104-4相对应)中的黑色菱形表示的位置。然而,独立于或不考虑与观看者的观看方向相对应的这个位置,图1B的预先确定非随机访问处理顺序仍将在(与图1A的104-4相对应的)图像块之前处理并编码(与图1A的104-1、104-2和104-3相对应的)图像块。
当视频编码或流式传输不基于与从视频流呈现的图像的观看者相关联的主动反馈时,这个方法可能很有效。然而,为了更好地支持AR、VR或沉浸式视频体验,如本文描述的技术可以用于以随机访问处理顺序访问或处理甚至在已经编码的视频流中的帧/图像的图像块,该随机访问处理顺序取决于实时或近实时地同时确定的AR、VR或沉浸式视频体验的观看者的观看方向、视口或ROI或由其决定。因此,可以呈现或刷新与观看者的观看方向、视口或ROI相对应的图像块而没有或少有观看者可察觉的时间滞后或视觉伪影。
如本文所使用的,随机访问可以是指访问、处理、流式传输、解码和/或呈现图像中的图像块层次结构中的(多个)特定图像块或(多个)特定点,其中,(多个)特定图像块或(多个)特定点是在图像中基于(或对应于)如下项来识别或确定的:实时或近实时地同时确定的观看者的观看方向、视口或ROI;或者至少部分地基于从观看者收集或与观看者相关联的实时或近实时感官数据同时确定的类似属性。该层次结构中的这些图像块或点相对于由编码器用于编码图像的图像的预先确定非随机访问处理顺序被认为是随机的,该预先确定非随机访问处理顺序不考虑或独立于实时或近实时地同时确定的观看者的观看方向、视口或ROI或者类似属性。
在AR、VR或沉浸式视频应用中,当在观看者的显示器上呈现AR、VR或沉浸式视频应用的图像时,观看者可以不时地改变观看方向、视口和ROI。针对给定时间确定的观看方向可以是指观看者的取向,并且可以与以下各项中的一项或多项互换地使用:如针对给定时间确定的观看者的显示器的视口或整个观看区域、观看者的视野中的中央凹视觉区、观看者的视野中的中央凹视觉区加上与中央凹视觉区相邻的近周边视觉、如基于从观看者收集的实时或近实时感官数据来确定的观看者的关注区域等。
在一些操作场景中,通过使用一个或多个眼动追踪设备或模块,可以实时或近实时地(例如,具有1毫秒或5毫秒或20毫秒的时延、具有低于可察觉的时间滞后阈值或预算的严格时延等)监测和确定观看者的观看方向。
代替和/或除了流式传输独立于或不考虑实时或近实时地同时确定的观看者的观看方向的图像块之外,可以从输入视频流中的图像的所有图像块或切片选择与观看者的观看方向相对应的图像块或切片子集,并且首先在其他图像块或切片之前在输出视频流中无序地流式传输该子集。可以动态地访问图像块或切片子集并将其封装在从输入视频流更改的输出视频流中。因此,图像块或切片子集可以被及时地输送、解码和/或通过已经从输入视频流更改的输出视频流呈现给观看者。
图1C图示了用于处理并编码图像(例如,图1A的100等)的图像块的示例随机访问处理顺序。该随机访问处理顺序不同于图1B的预先确定非随机访问处理顺序。该随机访问处理顺序不是提前预先确定的,而是基于实时或近实时地同时确定的AR、VR或沉浸式视频体验的观看者的观看方向、视口或ROI来确定的。该随机访问处理顺序取决于实时或近实时地同时确定的观看者的观看方向、视口或ROI或至少部分地由其决定。
通过图示但非限制地的方式,即使当可能存在在如光栅顺序等典范处理顺序时具有优先权的其他图像块时,图1C的随机访问处理顺序可以首先访问或跳到覆盖实时或近实时地同时确定的观看者的观看方向、视口或ROI的一个或多个图像块或切片的子集。因此,即使违反了如光栅顺序等典范或非随机访问处理顺序,图像块或切片子集也可以(例如,立即、一旦已完成当前图像块等)按随机访问处理顺序被优先处理。
如图1C中所图示的,最初,首先访问、处理、封装、解码和/或呈现图像100’的图像块104-1。除了处理顺序不同之外,图1C的图像(100’)可以等同于图1A或图1B的图像(100)。图像(100')的图像块可以与图1A的图像(100)的图像块(104-1至104-10)相同或相对应。
当在第一时间点访问、处理、封装、解码和/或呈现图像块(104-1)时,紧接在第一时间点之后的第二时间点的观看者的观看方向可以同时被确定为指向如由图像(100’)的图像块104-4中的黑色菱形表示的位置。
响应于确定第二时间点的观看者的观看方向,可以使用各种随机访问处理顺序以提供对包括但不一定限于图像块(104-4)的图像块子集(例如,104-4、104-2和104-5等)的随机访问,这些图像块与实时或近实时地同时确定的观看者的观看方向、视口或ROI相对应。
在第一示例随机访问处理顺序中,接下来在第二时间点访问、处理、封装、解码和/或呈现图像(100)的图像块(104-4),然后在第二时间点之后的其他时间点是图像(100)的其他图像块(例如,104-1、104-2、104-3等)。在一些操作场景中,远离实时或近实时地同时确定的观看者的观看方向、视口或ROI的一些或所有图像块仍然可以以如光栅顺序、之字形顺序等设置的顺序处理。
在第二示例随机访问处理顺序中,从图像块(104-4)开始,接下来可以在第二时间点以及在第二时间点之后的其他时间点以如顺时针或逆时针的阿基米德螺旋顺序等螺旋顺序访问图像(100)的图像块。
在第三示例随机访问处理顺序中,从图像块(104-4)开始,接下来可以在第二时间点以及在第二时间点之后的其他时间点以至少部分地基于它们各自到图像块(104-4)的距离(例如,欧几里得距离等)的顺序访问图像(100)的图像块。
如图1C中所图示的,图像(100’)的图像块不是以从左到右并且从顶部到底部的光栅顺序处理的。相反,在图像块(104-1)之后的第二时间点,按照如由一系列连续的虚线箭头所表示的随机访问处理顺序,选择与观看者的实时或近实时观看方向、视口或ROI相对应的图像块(104-4)作为下一图像块。在这个随机访问处理顺序中,接下来访问、处理、封装、解码和/或呈现图像块(104-4),然后是图像块(104-2、104-5和104-3)。如图1C中所示出的,图像块(104-4、104-2、104-5和104-3)共同覆盖观看者的实时或近实时视口或关注区域(例如,图1C的106等),并且因此实时或近实时地以随机访问处理顺序被优先处理。
在一些操作场景中,在覆盖观看者的实时或近实时视口或关注区域(106)的图像块之后,可以访问、处理、封装、解码和/或呈现图像(100)中的一些或所有其他图像块。在一些操作场景中,使用先前图像(例如,与图像(100)相同的场景中紧接在之前或之后的图像等),或使用来自不同视频流或不同视频子流的并发(例如,相对低质量等)图像,可以跳过这些其他图像块中的一个或多个。
3.与观看方向无关的处理顺序
图2A图示了示例视频输送流水线200,其中,源视频流作为来自外部视频数据源的输入由流水线(200)接收,并且目标视频流作为用于呈现给观看者的输出由流水线(200)输出。
用包括但不限于图1A或图1B的图像(100)的(例如,相对高质量的、未压缩的、少压缩的等)源视频图像序列256对源视频流进行编码。
视频输送流水线(200)包括执行(非随机访问)编码器侧操作202的视频编码器。编码器侧操作(202)将源视频图像序列256中的每个源视频图像分割或分区成每个这样的源视频图像的相应源图像块。编码器侧操作(202)以非随机访问图像块处理顺序访问、处理和/或编码相应图像块以生成与相应源图像块相对应的压缩的非随机访问图像块。将压缩的非随机访问图像块编码成非随机访问视频流212。
通过具有相对高带宽、相对低时延等的一个或多个第一数据链路(或第一计算机网络路径)将非随机访问视频流(212)直接地或间接地输送到接收方非随机访问流式传输服务器。
在第一示例中,非随机访问视频流(212)可以首先通过视频编码器的编码器侧操作(202)输出,并且存储在如视频数据存储装置214等有形计算机可读存储介质上,并且然后由非随机访问流式传输服务器(或非随机访问重编码服务器)从有形计算机可读存储介质取得。
在第二示例中,非随机访问视频流(212)可以通过视频编码器的编码器侧操作(202)直接地输出到非随机访问流式传输服务器(或非随机访问重编码服务器)。
视频输送流水线(200)的非随机访问流式传输服务器按照非随机访问图像块处理顺序对非随机访问视频流(212)执行非随机访问流式传输操作258,以通过一个或多个第二数据链路(或第二计算机网络路径)将非随机访问视频流(212)流式传输到接收方非随机访问视频解码器。与第一数据链路(或第一计算机网络路径)相比,第二数据链路可以具有相对低的带宽、相对高的时延等。
视频输送流水线(200)的非随机访问视频解码器按照非随机访问图像块处理顺序对非随机访问视频流(212)执行非随机访问解码操作252,以将编码在非随机访问视频流(212)中的压缩的图像块解压缩。解压缩的图像块然后用于生成源视频图像序列256的重建版本。由视频输送流水线(200)或非随机访问视频解码器将源视频图像序列的重建版本(包括但不限于图1A或图1B的图像(100)的重建版本)输出到图像呈现设备或目标图像显示器以用于呈现给观看者。
图2B图示了由视频编码器执行的编码过程的示例(非随机访问)编码器侧操作202。这些编码器侧操作(202)可以包括但不一定仅限于:预测操作、滤波操作、量化操作、解量化操作、变换操作、逆变换操作、加法操作、减法操作、乘法操作、除法操作、熵编码操作、可变长度编码(VLC)操作、上下文自适应可变长度编码或CAVLC操作、上下文自适应二进制算术编码或CABAC操作等。
视频编码器以特定非随机访问图像块处理(或编码)顺序(例如,光栅、之字形等)将每个源图像(例如,图1A或图1B的100等)分割或分区成非随机访问图像块序列104,该非随机访问图像块序列包括单独图像块104-1、104-2、104-3、104-4等。视频编码器访问和处理非随机访问图像块序列(104)以生成或构建非随机访问所预测图像块序列206。
非随机访问所预测图像块序列(206)包括要根据特定非随机访问图像块处理(或编码)顺序(例如,光栅、之字形等)在预测性编码操作中应用的单独所预测图像块206-1、206-2、206-3、206-4等。
编码器侧操作(202)中的预测操作可以应用比如帧间预测(例如,包括但不限于跳跃模式等)、帧内预测(例如,包括但不限于DC模式等)等的预测性编码技术,以减少可能存在于图像(100)的各个图像块(104-1、104-2、104-3、104-4等)中的数据冗余,以达到生成非随机访问所预测图像块序列(206)的目的。帧间预测(例如,运动估计、运动补偿等)可以用于或应用于确定可以如何至少部分地基于参考图像或切片中的(先前解码/重建的)参考图像块来生成要编码的图像块中的像素。帧内预测可以用于或应用于确定可以如何至少部分地基于相同图像或切片(中的先前解码/重建的图像块的)相邻像素生成图像或切片的要编码的图像块中的像素。
如图2B中所图示的,提供非随机访问图像块序列(104)和非随机访问所预测图像块序列(206)作为对减法操作(或除法操作)的输入以生成非随机访问残差图像块序列210。非随机访问残差图像块序列(210)包括各个残差图像块,这些各个残差图像块中的每一个包括基于非随机访问图像块序列(104)中的相应图像块(例如,104-2等)与非随机访问所预测图像块序列(206)中的相应所预测图像块(例如,206-2等)之间的差(或比率)来生成的残差图像数据。
可以通过对非随机访问图像块序列(104)中的相应图像块(例如,104-2等)和非随机访问所预测图像块序列(206)中的相应所预测图像块(例如,206-2等)应用减法操作(或除法操作)生成构成非随机访问残差图像块序列(210)中的每个残差图像块的残差图像数据的差(或比率)。如本文描述的基于(输入)图像块与所预测图像块之间的差(或比率)生成的示例残差图像数据可以包括但不一定仅限于在空间(或像素)域中表示的像素值或者在变换或频率域中表示的变换(例如,DCT、DST等)系数。
可以将非随机访问残差图像块序列(210)的每个残差图像块中的残差图像数据线性或非线性地量化或编码(例如,通过将量化系数从二维块扫描到序列化的一维向量的熵编码等)到非随机访问视频流212中。
为支持将由非随机访问视频流(212)的接收方设备(例如,解码设备、转码设备、封装设备、流式传输服务器设备、媒体分配系统等)执行的图像重建,编码器侧操作(202)生成或构建非随机访问图像元数据序列208。非随机访问图像元数据序列(208)包括要在(非随机访问)解码器侧图像重建操作中应用以生成图像(100)的重建版本以用于呈现给观看者的各个图像元数据部分208-1、208-2、208-3、208-4等。
编码器侧操作(202)中的VLC操作可以访问或在一个或多个VLC码本(或VLC表)中查找VLC编码信息并且在这些VLC码本中应用VLC编码信息以便以相对高的比特率效率将如本文描述的与图像块相关联的一些或所有图像数据和/或图像元数据转换成VLC码字。例如,非随机访问图像元数据序列(208)中的各个图像元数据部分(208-1、208-2、208-3、208-4等)中的每一个可以用VLC操作编码到非随机访问图像元数据序列(208)中包括的图像元数据的比特率高效的VLC表示中。
可以包括比特率高效的VLC表示中的非随机访问图像元数据序列(208)作为要与非随机访问视频流(212)一起或在其中(例如,在相同的视频流中、在辅助子视频流中等)载送的整体图像元数据的一部分。
图2C图示了由非随机访问视频流(212)的接收方设备(或解码器设备)执行的解码过程的示例(非随机访问)解码器侧操作252。这些解码器侧操作(252)可以包括但不一定仅限于:预测操作、滤波操作、量化操作、解量化操作、变换操作、逆变换操作、加法操作、减法操作、乘法操作、除法操作、熵编码操作、可变长度编码(VLC)操作等。
视频解码器应用反映由视频编码器执行的熵编码操作、线性或非线性解量化操作等或与其相对应的熵编码操作、线性或非线性解量化操作等,以从非随机访问视频流(212)中包括的比特率高效表示解码或恢复非随机访问残差图像块序列(210)。
视频解码器应用反映由视频编码器执行的VLC编码操作或与其相对应的VLC编码操作,以从非随机访问视频流(212)中包括的比特率高效表示解码或恢复非随机访问图像元数据序列(208)。
基于如从非随机访问视频流(212)解码或取得的包括但不限于非随机访问残差图像块序列(210)和非随机访问图像元数据序列(208)的图像元数据和图像数据,视频解码器以与由视频编码器实施的特定非随机访问图像块处理(或编码)顺序(例如,光栅、之字形等)相对应的特定非随机访问图像块处理(或解码)顺序(例如,光栅、之字形等)生成图像(例如,图1A或图1B的100等)的重建版本或非随机访问图像块序列104,该非随机访问图像块序列包括各个图像块104-1、104-2、104-3、104-4等。
在一些操作场景中,非随机访问残差图像块序列(210)和非随机访问图像元数据序列(208)足以允许或使接收方设备能够生成非随机访问所预测图像块序列(210)。
更具体地,非随机访问所预测图像块序列(210)中的每个所预测图像块(例如,206-4等)可以由接收方设备通过执行反映由视频编码器执行的(编码器侧)预测操作或与其相对应的解码器侧预测操作生成。解码器侧预测操作可以执行如由视频编码器执行的相同帧内或帧间预测,该帧内或帧间预测使用同一图像中的相同邻居信息或相同参考图像中的(多个)相同参考图像块以生成或构建每个这样的所预测图像块(在本示例中为206-4)。在这里,可以根据由视频编码器应用的相同非随机访问处理顺序构建同一图像中的邻居信息或参考图像中的(多个)参考图像块。
在帧内预测用于构建预测性图像块(在本示例中为206-4)的操作场景中,可以从基于以下项生成的已解码/已重建图像块得到帧内预测中使用的同一图像中的邻居信息:(1)不晚于与所预测图像块(在本示例中为206-4)相对应的残差图像块的残差图像块;以及(2)不晚于与所预测图像块(在本示例中为206-4)相对应的图像元数据部分(例如,在本示例中为208-4)的图像元数据部分。
在帧间预测用于构建预测性图像块(在本示例中为206-4)的操作场景中,可以从在预测性图像块(在本示例中为206-4)所属的图像之前生成的已解码/已重建图像块得到帧间预测中使用的参考图像中的(多个)参考图像块。
在示例中,在如图2B中所图示的编码器侧上,非随机访问所预测图像块序列(210)可以被处理成比特率高效的表示,并且与非随机访问残差图像块序列(210)和非随机访问图像元数据序列(208)一起例如通过VLC操作、线性或非线性量化操作、熵编码操作等被编码成非随机访问视频流(212)。例如,可以将比特率高效表示中的非随机访问所预测图像块序列(210)编码为非随机访问视频流(212)中表示的图像的相对低质量版本。
在非随机访问所预测图像块序列(210)与非随机访问残差图像块序列(210)和非随机访问图像元数据序列(208)一起被编码成非随机访问视频流(212)的本示例中,在图2C中所图示的解码器侧上,比特率高效表示中的非随机访问所预测图像块序列(210)可以与非随机访问图像元数据序列(208)中表示的图像元数据一起使用以重建特定表示(例如,在特定变换或频率域中、在特定空间域中、在具体色彩空间中、与表示或转换非随机访问残差图像块序列(210)的表示相兼容等)中的非随机访问所预测序列图像块(210)。特定表示中的非随机访问所预测图像块序列(210)可以在解码器侧上与非随机访问残差图像块序列(210)组合以生成非随机访问视频流(212)中表示的图像的相对高质量版本。
在非随机访问所预测图像块序列(210)与非随机访问残差图像块序列(210)和非随机访问图像元数据序列(208)一起被编码成非随机访问视频流(212)的本示例中,解码器侧预测操作可以执行如由视频编码器执行的相同帧内或帧间预测,该帧内或帧间预测使用同一图像中的相同邻居信息或相同参考图像中的(多个)相同参考图像块以生成或构建每个这样的所预测图像块(在本示例中为206-4)。在这里,可以根据由视频编码器应用的相同非随机访问处理顺序构建同一图像中的邻居信息或参考图像中的(多个)参考图像块。
在帧内预测用于构建预测性图像块(在本示例中为206-4)的操作场景中,可以从基于以下项生成的已解码/已重建图像块得到帧内预测中使用的同一图像中的邻居信息:(1)不晚于与所预测图像块(在本示例中为206-4)相对应的残差图像块的残差图像块;以及(2)不晚于与所预测图像块(在本示例中为206-4)相对应的图像元数据部分(例如,在本示例中为208-4)的图像元数据部分。
在帧间预测用于构建预测性图像块(在本示例中为206-4)的操作场景中,可以从在预测性图像块(在本示例中为206-4)所属的图像之前生成的已解码/已重建图像块得到帧间预测中使用的参考图像中的(多个)参考图像块。
根据图2B和图2C的方法,用于生成非随机访问视频流(212)(例如,已编码的比特流、基于标准或专有规范中定义或指定的编码句法来编码的比特流等)的非随机访问处理顺序要由观看者操作的接收方设备忠实地观察。在一些操作场景中,非随机访问视频流(212)可能或可能无法以响应于或取决于如在流式传输的视频被呈现给观看者时实时或近实时地同时确定的观看者的观看方向的方式输送或流式传输视频。例如,要由接收方设备执行的预测性编码操作、VLC操作等取决于用于编码非随机访问视频流(212)的图像块特定的编码上下文(例如,为接下来的(多次)码字或字节出现估计的图像块特定概率指标或值、从图像块到图像块的动态可改变值等)。这些图像块特定编码上下文可以结合一些或所有预测操作、VLC操作等来(例如,自适应地、动态地、单独地、增量地等)维持、更新和/或应用,并且可以存储在视频编码器和/或视频解码器的存储器中或从该存储器中访问。
在解码非随机访问视频流(212)中表示的图像(例如,图1A或图1B的100)的过程中,视频解码器维持用于以如由编码器侧使用、实施和/或应用的相同非随机访问处理顺序解码非随机访问视频流(212)的解码器侧状态机。解码器侧状态机保持至少部分地基于先前的(多次)码字或字节出现来更新图像块特定编码上下文(例如,为接下来的(多次)码字或字节出现估计的图像块特定概率指标或值、从图像块到图像块的动态可改变值等)。
如图2B中所图示的,在视频编码器的编码过程中,编码器侧操作(202)更新或维持包括单独图像块特定编码上下文204-1、204-2、204-3、204-4等的非随机访问图像块特定编码上下文序列。
各个图像块特定编码上下文(204-1、204-2、204-3、204-4等)与比特率高效表示中或从中得到比特率高效表示的先前表示中它们相应的预测性图像块(206-1、206-2、206-3、206-4等)、它们相应的图像元数据部分(208-1、208-2、208-3、208-4等)、它们相应的残差图像块等相对应。例如,编码器侧操作(202)或通过编码器侧操作(202)中采用的编码器侧状态机可以使用或应用各个图像块特定编码上下文(204-1、204-2、204-3、204-4等)以生成或构建比特率高效表示或先前表示中它们相应的预测性图像块(206-1、206-2、206-3、206-4等)、它们相应的图像元数据部分(208-1、208-2、208-3、208-4等)、它们相应的残差图像块等。
如图2B中所图示的,视频编码器或编码器侧状态机通过维持、更新和/或使用各个图像块特定编码上下文(204-1、204-2、204-3、204-4等)以非随机访问处理顺序处理图像块或切片,以生成或构建相应的预测性图像块(206-1、206-2、206-3、206-4等)、相应的图像元数据部分(208-1、208-2、208-3、208-4等)、相应的残差图像块等。
如图2C中所图示的,视频解码器或解码器侧状态机通过维持、更新和/或使用与各个图像块特定编码上下文(204-1、204-2、204-3、204-4等)相同或等同的各个图像块特定编码上下文(254-1、254-2、254-3、254-4等)以相同的非随机访问处理顺序处理图像块或切片,以生成或构建相应的预测性图像块(206-1、206-2、206-3、206-4等)、相应的图像元数据部分(208-1、208-2、208-3、208-4等)、相应的残差图像块等。
在图像(例如,图1A或图1B的100等)或图像(100)的切片内,切片的宏块/块结构(例如,如在编码树单元或宏块/块结构中表示的等)以相同的处理顺序被编码或解码。在视频编码器和视频解码器处都使用相同或等同的编码上下文(例如,概率指标或值、动态可改变值等)。例如,图像块特定编码上下文(204)或(254)可以从视频编码器或视频解码器以相同的处理顺序从图像块特定编码上下文(204-1至204-3)或(254-1至254-3)建立。视频编码器和视频解码器两者都可以使用如基于根据相同非随机访问处理顺序建立的相同或等同编码上下文来确定或生成的相同相邻或参考块数据(如帧内预测方向或运动向量),以通过帧内预测或帧间预测预测(多个)当前图像块。
在视频解码器可以使用不同于编码器侧处理顺序的处理顺序(如基于观看者的方向的处理顺序)的操作场景中,与编码器侧编码上下文相比,不同编码上下文可以由视频解码器沿着不同处理顺序积累。因此,如在非随机访问视频流(212)中表示的图像数据和图像元数据可以由视频解码器错误地解码或恢复。
例如,编码器侧上的VLC编码操作可以使用指示为8位值‘c’指派0的VLC代码的VLC码本(或VLC表),以基于先前在第一图像块之前或直到第一图像块才看到的8位值‘c’的概率指标或值来编码和解码第一图像块。随后,编码器侧的VLC编码操作可以使用指示为8位值‘d’指派0的VLC代码的已更新VLC码本(或已更新VLC表),以基于(附加的)先前在第二图像块之前或直到第二图像块才看到的8位值‘d’的概率指标或值来编码和解码第一图像块之后的第二图像块。如果解码器侧上的VLC编码操作保持使用相同的VLC码本(或相同的VLC表),则可能针对第二图像块错误地解译0的VLC代码,除非解码器侧上的VLC编码操作可以使用附加更新信息以正确地设置或更新VLC码本(或VLC表)以解译第二图像块的图像数据。
因此,根据如本文描述的不实施随机访问技术的其他方法,将不允许或使视频解码器能够违反由视频编码器基于编码器侧编码上下文采用的非随机访问处理顺序解码非随机访问视频流(212)中表示的图像块或切片。仅为了图示的目的,假设根据这些其他方法可以允许视频解码器随机访问以下项:(1)与所预测图像块(在本示例中为206-4)相对应的残差图像块;(2)图像元数据部分(208-4);和/或(3)预测性图像块(206-4),然后访问与所预测图像块(在本示例中为206-4)相对应的随机访问的图像块之前的其他残差图像块。然而,由于在随机访问的图像元数据部分(208-4)之前的其他图像元数据部分(例如,208-2、208-3等)和/或在随机访问的预测性图像块(206-4)之前的其他预测性图像块(例如,206-2、206-3等)还没有被访问,因此视频解码器的状态或编码上下文(例如,用于预测操作、用于VLC操作等的概率指标或值)不会被适当地更新而无法达到正确地解码与所预测图像块(在本示例中为206-4)、图像元数据部分(208-4)和/或预测性图像块(206-4)相对应的随机访问的残差图像块的目的。
根据如本文描述的技术,不需要在其中再生切片或图像块或图像数据(例如,像素值、变换系数、残差图像数据、基本层图像数据、再生成或重建所预测图像块的图像数据等)。非随机访问视频流可以由如视频流式传输服务器等上游设备修改,以允许或使由观看者操作的视频解码器能够随机访问在图像显示器设备上呈现的图像的各个切片和/或图像块,同时各个随机访问的切片和/或图像块中的每一个仍用如由非随机访问视频编码器生成的相同图像数据进行编码。
在一些操作场景中,如本文描述的随机访问可以基于观看者的观看方向,使得随机访问的切片和/或图像块对应于或覆盖基于从观看者收集的实时或近实时感官数据实时或近实时地同时确定的观看者的观看方向、观看者的视口或ROI。
随机访问图像元数据可以被生成并且由视频流式传输服务器发送到视频解码器,以将视频解码器置于特定编解码器状态中以正确地解译由非随机访问视频编码器编码在现在随机访问的切片和/或图像块中的图像数据。随机访问图像元数据可以从非随机访问视频流的图像元数据和图像数据中生成或再生。
例如,随机访问图像元数据部分可以由视频流式传输服务器关于要由视频解码器重建的图像块生成或再生。随机访问图像元数据部分可以由视频解码器接收和使用,并且足以将视频解码器置于特定编解码器中以正确地(例如,正常地、无误解等)解译由非随机访问视频编码器针对图像块的(例如,最初、先前等)编码的图像数据。
4.与观看方向相关的处理顺序
图3A图示了示例修改后的视频输送流水线300,其中,源视频流作为来自外部视频数据源的输入由流水线(300)接收,并且目标视频流作为用于呈现给观看者的输出由流水线(300)输出。
用包括但不限于图1A或图1B的图像(100)的(例如,相对高质量的、未压缩的、少压缩的等)源视频图像序列256对源视频流进行编码。
修改后的视频输送流水线(300)包括执行(非随机访问)编码器侧操作202的视频编码器。编码器侧操作(202)将源视频图像序列256中的每个源视频图像分割或分区成每个这样的源视频图像的相应源图像块。编码器侧操作(202)以非随机访问图像块处理顺序访问、处理和/或编码相应图像块以生成与相应源图像块相对应的压缩的非随机访问图像块。将压缩的非随机访问图像块编码成非随机访问视频流212。在一些操作场景中,将非随机访问视频流(212)与图像/帧的每个块(例如,宏块等)或子块的非残差辅助数据(如相邻帧内/帧间预测估计、QP(量化参数)值、VLC状态等)一起输送到接收方随机访问流式传输服务器(或流式传输器)。接收方随机访问视频流式传输服务器(或流式传输器)可以使用这个非残差辅助数据来创建响应于随机访问请求而发送的图像元数据或其部分。非残差辅助数据可以作为(图像)元数据由非随机访问编码器捕获,并且被存储为附加或附带的数据。在示例中,随机访问流式传输服务器可以从非随机访问编码器接收并使用图像元数据。在另一示例中,随机访问流式传输服务器可以运行完全解码过程(和/或完全编码过程)以生成这个(图像)元数据。附加地、可选地或替代性地,从非随机访问编码器接收的或由随机访问视频流式传输服务器生成的图像元数据可以包括与一些或所有当前、目标、相邻和/或参考块相关的帧内/帧间预测信息、QP值、VLC状态等。附加地、可选地或替代性地,在具有预测的残差运动向量和帧内模式高于发送完全运动向量和零预测的一些操作场景中,随机访问流式传输服务器可以做出发送重新编码的完全运动向量的决定。附加地、可选地或替代性地,从非随机访问编码器接收或由随机访问视频流式传输服务器生成的图像元数据可以包括即使视频编码器在其操作中生成元数据通常也可以或可以不由(例如,传统的等)视频编码器存储的类型的元数据。在一些操作场景中,如非随机访问编码器等编码器可以被修改以保持随时间变化将这个元数据输出例如到随机访问视频流式传输服务器或存储在要由随机访问视频流式传输服务器访问的存储器介质中的媒体文件。
非随机访问视频流(212)通过具有相对高带宽、相对低时延等的一个或多个第一数据链路(或第一计算机网络路径)直接地或间接地输送到接收方随机访问流式传输服务器。
在第一示例中,非随机访问视频流(212)可以首先通过视频编码器的编码器侧操作(202)输出,并且存储在如视频数据存储装置214等有形计算机可读存储介质上,并且然后由随机访问流式传输服务器(或随机访问重编码服务器)从有形的计算机可读存储介质取得。
在第二示例中,非随机访问视频流(212)可以通过视频编码器的编码器侧操作(202)直接地输出到随机访问流式传输服务器(或随机访问重编码服务器)。
修改后的视频输送流水线(300)的随机访问流式传输服务器执行随机访问流式传输操作258’,以生成特定图像元数据(该特定图像元数据要被包括在与修改后的视频流212’一起载送或输送的修改后的图像元数据序列(图3B的208’)中)以用于支持违反非随机访问图像块处理顺序对非随机访问视频流(212)中表示的切片和/或图像块的随机访问。代替流式传输非随机访问视频流(212),随机访问流式传输服务器例如从非随机访问视频流(212)中接收的图像数据和图像元数据生成包括特定图像元数据的修改后的视频流212’,并且通过一个或多个第二数据链路(或第二计算机网络路径)将随机访问的切片和/或图像块与修改后的视频流212’中的特定图像元数据一起流式传输到接收方(例如,随机访问等)视频解码器。与第一数据链路(或第一计算机网络路径)相比,第二数据链路可以具有相对低的带宽、相对高的时延等。可以由视频流式传输服务器例如至少部分地基于从视频解码器接收的观看方向数据262从要流式传输的一些或所有图像块中选择随机访问的切片和/或图像块。
修改后的视频输送流水线(300)的视频解码器对修改后的视频流(212’)执行随机访问解码操作252’,以将编码在修改后的视频流(212’)中的压缩的图像块(包括已被加速以由随机访问视频流式传输服务器输送的图像的随机访问的切片或图像块)解压缩。修改后的视频流(212’)中的随机访问图像元数据可以由视频解码器使用以正确地解译随机访问的切片或图像块中的图像数据,并且生成源视频图像序列的修改后的重建版本256’。通过示例但非限制地,修改后的重建版本(256’)可以包括表示图像100(例如,该图像可以与图1A或图1B的图像(100)相同等)的修改后的重建版本的图像100’(例如,该图像可以与图1C的图像(100’)相同等)。在修改后的重建版本(256’)中,可以相对迅速地(例如,在图1C的104-2和104-3之前等)将与随机访问的切片或图像块(例如,图1C的104-4等)相对应的重建图像块输出到图像呈现设备或目标图像显示器以呈现给观看者。
图3B图示了由如视频流式传输服务器等视频处理设备执行的视频流式传输过程的如参考图3A所描述的示例(随机访问)流式传输操作258’。随机访问流式传输操作(258’)可以包括但不一定仅限于:预测操作、滤波操作、量化操作、解量化操作、变换操作、逆变换操作、加法操作、减法操作、乘法操作、除法操作、熵编码操作、可变长度编码(VLC)操作等。
视频流式传输服务器从视频解码器接收实时或近实时观看方向数据(262),使用观看方向数据(262)来识别要至少部分地基于来自视频解码器的观看方向数据262随机访问的非随机访问视频流(212)中的切片和/或图像块(例如,对应于或覆盖观看者的观看方向、视口和/或ROI等),从如从非随机访问视频流(212)解码、取得和/或确定的图像元数据和图像数据生成随机访问图像元数据。视频流式传输服务器生成修改后的视频流(212’),该修改后的视频流将随机访问的切片和/或图像块的图像数据与修改后的视频流(212’)中的随机访问图像元数据封装在一起,以加速随机访问的切片和/或图像块中的图像数据的输送和呈现。如与随机访问的切片和/或图像块的图像数据一起封装在修改后的视频流(212’)中的随机访问图像元数据允许或使视频解码器能够正确地解译随机访问的切片和/或图像块中的图像数据。
如图3B中所图示的,修改后的视频流(212’)包括修改后的残差图像块序列(210’)和修改后的图像元数据序列(208’)。在一些操作场景中,如本文描述的残差图像块是空间/时间预测以及来自原始图像和所预测图像的残差的结果。残差图像块(例如,由非随机访问编码器生成等)可以经过如DCT量化等编码操作以由随机访问流式传输服务器编码在输出的已编码比特流中而不被随机访问流式传输服务器修改。通过比较,在一些操作场景中,从原始图像和所预测图像(例如,由非随机访问编码器等)生成的残差图像块可以由随机访问流式传输服务器改变;改变的残差图像块可以经过如DCT量化等编码操作以由随机访问流式传输服务器编码在输出的已编码比特流中。附加地、可选地或替代性地,在一些操作场景中,修改后的所预测图像块序列(206’)也可以被包括在修改后的视频流(212’)中,例如在载送图像的相对低质量版本的基本层中,这些图像描绘了接收到的非随机访问视频流(212)中表示的相同场景/内容。
当图像由视频解码器呈现给观看者时,视频解码器与一个或多个传感器或眼动追踪设备一起操作,以收集与观看者有关的实时或近实时感官数据。视频解码器从所收集的实时或近实时感官数据生成观看方向数据,并将观看方向数据发送到视频流式传输服务器。
通过示例但非限制地,视频流式传输服务器最初访问非随机访问视频流(212)中共同地与图1C的图像(100’)的图像块(104-1)相对应的残差图像块、图像元数据部分208-1和/或所预测图像块206-1。残差图像块、图像元数据部分(208-1)和/或所预测图像块(206-1)可以被处理、封装或编码到修改后的视频流(212’)中。残差图像块包括(例如,按原样等)在修改后的残差图像块序列中;可以与图像元数据部分(208-1)相同或基于观看者的观看方向来修改的图像元数据部分208’-1包括在修改后的图像元数据序列(208’)中;所预测图像块(206-1)包括(例如,按照原样等)在修改后的所预测图像块序列(206’)中。修改后的序列(210’、208’和/或206’)中的残差图像数据、图像元数据部分(208’-1)和/或预测性图像块(206’-1)由视频流式传输服务器流式传输到视频编码器。
随后,视频流式传输服务器从视频解码器接收指示观看者的观看方向当前、实时或近实时地与图1C的图像(100’)的图像块(104-4)相对应的实时或近实时观看方向数据(262)。
作为响应,替代(例如,紧接地、接下来等)流式传输图像块(104-2)和(104-3)的图像数据,视频流式传输服务器(例如,紧接地、接下来等)生成随机访问图像元数据部分208’-4,该随机访问图像元数据部分可以被发送到视频解码器以允许或使视频解码器能够(例如,紧接地、接下来等)重建对应于或覆盖观看者的观看方向的图像块(104-4)。
更具体地,视频流式传输服务器访问非随机访问视频流(212)中的残差图像块、图像元数据部分208-2至208-4和/或所预测图像块206-2至206-4,这些残差图像块、图像元数据部分和/或所预测图像块表示与直到图1C的图像(100’)的图像块(104-4)的图像块(例如,104-2、104-3和104-4等)相对应的图像数据和图像元数据。基于图像数据和图像元数据,视频流式传输服务器生成随机访问图像元数据部分208’-4。视频流式传输服务器包括或编码修改后的视频流(212’)中的随机访问图像元数据部分以及残差图像块和/或所预测图像块206-4,该残差图像块和所预测图像块两者都与图像(100’)的图像块(104-4)相对应。
编码在随机访问视频流(212’)中的残差图像块和/或所预测图像块(206-4)可以与从非随机访问视频流(212)解码或接收的那些相同,而图像元数据部分(208’-4)可以不同于从非随机访问视频流(212)接收的图像元数据部分(208-4)。
图像元数据部分(208-4)的接收方设备在没有接收到与图像块(104-2)和(104-3)相对应的先前图像数据和先前图像元数据的情况下不能正确地解译残差图像块和与图像块(104-4)相对应的所预测图像块(206-4)中的图像数据。
相比之下,图像元数据部分(208’-4)的接收方设备在没有接收到与图像块(104-2)和(104-3)相对应的先前图像数据和先前图像元数据的情况下可以正确地解译残差图像块和与图像块(104-4)相对应的所预测图像块(206-4)中的图像数据,因为具体地生成图像元数据部分(208’-4)以允许或使接收方设备能够正确地解译残差图像块和与图像块(104-4)相对应的所预测图像块(206-4)中的图像数据。
图3C图示了由修改后的视频流(212)的接收方设备(或解码器设备)执行的解码过程的示例(随机访问)解码器侧操作252’。这些解码器侧操作(252’)可以包括但不一定仅限于:预测操作、滤波操作、量化操作、解量化操作、变换操作、逆变换操作、加法操作、减法操作、乘法操作、除法操作、熵编码操作、可变长度编码(VLC)操作等。
视频解码器连续地(例如,在周期性基础上、在轮询时间表上、在AR、VR或沉浸式视频应用的用户会话中的多个时间点上等)从与视频解码器结合操作的一个或多个传感器或眼动追踪设备接收或收集实时或近实时感官数据264。视频解码器连续地使用感官数据(264)来实时或近实时地同时(例如,在周期性基础上、在轮询时间表上、在AR、VR或沉浸式视频应用的用户会话中的多个时间点上等)确定当观看者正在观看从修改后的视频流(212’)得到的呈现图像时观看者的观看方向、视口或ROI。
视频解码器向随机访问视频流式传输服务器发送从感官数据(264)生成的实时或近实时观看方向数据(262)。观看方向数据(262)指示观看者的观看方向、视口或ROI。
同时,视频解码器从随机访问视频流式传输服务器接收修改后的视频流(图3A或图3B的212’),该修改后的视频流可以通过至少部分地基于观看方向数据(262)修改非随机访问视频流(图2A的212)来生成。修改后的视频流(212’)包括修改后的残差图像块序列和修改后的图像元数据序列(208’)。
附加地、可选地或替代性地,在一些操作场景中,修改后的视频流(212’)包括比特率高效表示中的修改后的所预测图像块序列(208’),例如作为基本层图像数据以提供在非随机访问视频流(212)和修改后的视频流(212’)两者中描绘的视频内容的相对低质量版本。
在这些修改后的残差图像块序列、图像元数据序列和/或所预测图像块序列中,已实施(随机访问)处理顺序(例如,编码/解码顺序等)以允许或使视频解码器(例如,紧接地、接下来等)访问、解码和/或呈现图像块,所述图像块对应于或覆盖当观看者正在观看来自修改后的视频流(212’)的呈现图像时同时确定的观看者的实时或近实时观看方向、视口或ROI。
如图2B和图2C中所图示的,非随机访问视频流(212)在用与图1A或图1B的图像(100)的图像块(104-1)相对应的图像数据和图像元数据进行编码之后以非随机访问处理顺序用与图1A或图1B的图像(100)的图像块(104-2)相对应的图像数据和图像元数据进行编码,即使观看者的同时或预测的观看方向可以指向与如图像块(104-4)等不同图像块相对应的位置。
相比之下,如图3B和图3C中所图示的,响应于确定观看者的同时或预测的观看方向指向与如图像块(104-4)等不同图像块相对应的位置,修改后的视频流(212’)在用与图1A或图1B的图像(100)的图像块(104-1)相对应的图像数据和图像元数据进行编码之后以随机访问处理顺序用与图1A或图1B的图像(100)的图像块(104-4)相对应的图像数据和图像元数据进行编码。
因此,视频解码器使用修改后的视频流(212’)来以与由视频编码器用于生成非随机访问视频流(212)的非随机访问处理顺序不同的随机访问处理顺序处理和呈现图像数据和图像元数据。如由修改后的视频流(212’)启用的随机访问处理顺序对对应于或覆盖观看者的观看方向、视口或ROI的图像块的图像数据和图像元数据的处理、编码和输送进行优先处理。
如图3C中所图示的,根据随机访问处理顺序,修改后的所预测图像块序列包括206-1、206-4、206-2、206-5等。类似地,根据随机访问处理顺序,修改后的图像元数据序列包括208’-1、208’-4、208’-2、208’-5等。
如图3C中所图示的,视频解码器执行随机访问解码器侧操作202’以生成或构建要呈现给观看者的图像(例如,图1C的图像(100’)等)。解码器侧操作(202’)可以使用或实施状态机器;接收修改后的残差图像块序列、图像元数据序列和/或所预测图像块序列;针对状态机,至少部分地基于这些修改后的图像数据和图像元数据序列来维持和更新各个图像块特定编码上下文(例如,254’-1、254’-4、254’-2、254’-5等);使用各个图像块特定编码上下文(254’-1、254’-4、254’-2、254’-5等)以随机访问处理顺序来处理、生成、构建和/或重建图像(例如,100’等)的图像块或切片(例如,104-1、104-4、104-2、104-5等)。
例如,视频解码器接收图像元数据部分208’-4连同残差图像块和/或所预测图像块206-4,所有这些对应于并且要用于在已经在解码器侧上重建图像块(104-1)之后重建图像块(104-4)。视频解码器可以使用图像元数据部分208’-4以及图像块(104-1)和其他已经接收或已经解码的图像数据和图像元数据以将视频解码器置于如由编码上下文254’-4(该编码上下文可以与图2C的编码上下文254相同或等同)表示的特定编解码器状态中,以即使当视频解码器尚未接收到用于重建图像块(104-2)和(104-3)的图像数据和图像元数据时也关于残差图像块和/或所预测图像块(206-4)正确地执行预测操作、VLC操作等以达到重建图像块(104-4)的目的。
由随机访问流式传输服务器生成并且发送到视频解码器的修改后的图像元数据序列(208’)使视频解码器能够相对于非随机访问处理顺序无序地接收和处理图像块。根据如本文描述的技术,基于当观看者正在观看来自观看者特定视频流的图像时同时确定的观看者的相应观看方向、视口或ROI来动态地创建观看者特定视频流。当将修改后的图像元数据被发送到接收方解码器时,可以将如相同残差图像块和/或所预测图像块等相同图像数据发送到接收方视频解码器。因此,如残差图像块和/或所预测图像块等图像数据不需要在编码器侧上重编码,从而避免重新启动或重新设置(其可能很长)由视频解码器执行的解码操作,该重新启动或重新设置是由可能使早前在解码器侧上接收的图像数据失效的图像数据重编码导致的。
修改后的图像元数据序列(208’)可以用于传送视频解码器的正确编码状态以支持与观看者的观看方向、视口或ROI相对应的图像块的随机访问。修改后的图像元数据序列(208’)以及可能由视频解码器已经接收的或已经构建的其他图像元数据或图像数据提供足以用于执行解码器侧操作(例如,关于加速的图像块等)的信息,包括但不限于设置用于VLC编码的状态机、发送用于帧内预测的相邻块或像素指标或值、发送用于帧间预测的运动向量信息、发送用于熵编码的算术状态等,使得当前被处理或重建的图像块(或加速的图像块)的图像数据和图像元数据可以被正确地并且高效地解码,好像沿着非随机访问处理顺序的图像块(例如,104-2和104-3等)的所有图像数据和图像元数据已经由视频解码器输送并接收一样。
可以通过修改后的视频流(212’)以各种图像元数据输送方法中的一种或多种载送如修改后的图像元数据序列(208’)等随机访问图像元数据。在非限制性示例中,一些或所有随机访问图像元数据可以作为补充增强信息(SEI)信息元数据在修改后的视频流(212’)中被发送。在其他非限制性示例中,一些或所有随机访问图像元数据可以基于修改后的视频流(212’)中的现有或新定义的(多个)视频比特流编码句法在图像元数据容器中被发送。附加地、可选地或替代性地,载送一些或所有随机访问图像元数据的数据包可以作为具有修改后的视频流(212’)的单独流或子流的一部分被发送。
在一些操作场景中,至少一些随机访问图像元数据可以由视频解码器从先前已由视频解码器接收的相对低质量(例如,与相对高质量版本的那些相比较的相对低分辨率、相对低动态范围、相对窄色域等)的基本层图像数据(例如,所预测图像块206等)生成。例如,运动向量或运动向量的差/更新可以由视频解码器从基本层图像数据得到,而不是通过由视频流式传输服务器生成和发送的修改后的图像元数据序列发信号。因此,可以及时地形成或估计至少一些随机访问图像元数据(例如,用作回退策略等)而无需从视频流式传输服务器接收这样的图像元数据以从如本文描述的视频流构建图像的相对高质量版本(例如,与相对低质量版本的那些相比较的相对高分辨率、相对高动态范围、相对宽色域等),尽管可能存在由从基本层图像数据生成的相对不准确或相对低分辨率运动向量信息导致的一些伪影。
在一些操作场景中,可以从尚未输送的图像块生成图像数据的减少版本。例如,可以从尚未输送的图像块确定或得到DC值(例如,8位图像数据值的最低有效7位部分、图像数据值的一半、图像数据值的一位移位等)。可以例如在与视频流分开的流或该视频流的子流中将图像数据的减少版本输送到视频解码器,以允许或使视频解码器能够使用图像数据的减少版本来估计预测信息、执行DC模式预测操作并且生成或构建对应于或覆盖观看者的观看方向、视口或ROI的图像块。
示例随机访问图像元数据可以包括但不一定仅限于以下各项中的任一项:用于帧内和/或帧间预测的预测模式或触发、邻居图像数据、运动向量、VLC编码状态信息等。在一些操作场景中,替代直接发送邻居图像数据和运动向量,当前邻居图像数据与先前邻居图像数据之间的以及当前运动向量与先前运动向量之间的差(或更新)可以由视频流式传输服务器发送到视频解码器。类似地,替代直接发送VLC编码状态信息,VLC编码状态信息的差(或更新)可以由视频流式传输服务器发送到视频解码器。在视频解码器维持编码状态(或编码上下文)时,接收到的差(或更新)可以被添加到现有编码状态(或编码上下文)中的现有值,或可以被用作对现有值的更新。
仅为了图示目的,已经描述了如本文描述的随机访问图像元数据可以包括用于预测操作、VLC操作等的图像元数据。应注意,用于包括但不限于滤波操作、插值操作等的其他图像处理或构建操作的随机访问图像元数据也可以用于实现图像块的随机访问。
如本文使用的,如本文描述的视频流中的视频内容可以包括但不一定限于以下各项中的任一项:视听节目、电影、视频节目、电视广播、计算机游戏、增强现实(AR)内容、虚拟现实(VR)内容、汽车娱乐内容等。示例视频解码器可以包括但不一定限于以下各项中的任一项:显示设备、具有近眼显示器的计算设备、头戴式显示器(HMD)、移动设备、可穿戴显示设备、具有如电视等显示器的机顶盒、视频监视器等。
如本文使用的,“视频流式传输服务器”可以是指准备视频内容并将该视频内容流式传输到一个或多个视频流式传输客户端(如视频解码器)以便在一个或多个显示器上呈现视频内容的至少一部分的一个或多个上游设备。视频内容被呈现在其上的显示器可以是一个或多个视频流式传输客户端的一部分,或者可以与一个或多个视频流式传输客户端结合操作。
示例视频流式传输服务器可以包括但不一定限于以下各项中的任一项:远离(多个)视频流式传输客户端定位的基于云的视频流式传输服务器、通过本地有线或无线网络与(多个)视频流客户端连接的本地视频流式传输服务器、VR设备、AR设备、汽车娱乐设备、数字媒体设备、数字媒体接收器、机顶盒、游戏机(例如,Xbox)、通用个人计算机、平板计算机、如苹果TV或罗库盒等专用数字媒体接收器等。
5.示例过程流程
图4A图示了根据本公开的示例实施例的示例过程流程。在一些示例实施例中,一个或多个计算设备或部件可以执行这个过程流程。在框402中,图像处理器(例如,视频流式传输服务器、视频编码器、视频内容提供器、视频转码器等)访问用要以非随机访问处理顺序处理的图像块进行编码的非随机访问视频流。图像块中的第一图像块要根据非随机访问处理顺序在一个或多个第二图像块之后被处理。
在框404中,图像处理器接收当观看者正在观看随机访问视频流的视频内容时实时收集的观看者的观看方向数据。从非随机访问视频流生成随机访问视频流。观看方向数据指示当观看者正在观看随机访问视频流的视频内容时与由第一图像块覆盖的位置一致的观看者的观看方向。附加地、可选地或替代性地,在一些操作场景中,当媒体节目被呈现给用户或用户群体时观看者或观看者群体的观看方向的时间追踪可以提供或形成要由如本文描述的流式传输服务器使用的(例如,基于统计的等)指标或既往史以设置或预测新方向的观看方向并且根据所预测的观看方向准备或生成(或备好)图像数据和图像元数据以用于输送到下游接收方流式传输客户端设备。附加地、可选地或替代性地,基于机器学习(ML)的技术可以用于或应用于识别预期的视图导向器导向的关注区域(ROI)部分。因此,可以基于统计数据或ML来计算给定时间点的观看方向。可以在实时或非实时操作场景中使用这样的观看方向以在媒体节目中创建图像数据的随机访问。这种方法可以应用于流式传输已对其编码了图像元数据和图像数据而无需针对预期的观看方向优化这种编码的媒体节目。因此,当这样的媒体节目由如本文描述的随机访问流式传输服务器流式传输或写入时,随机访问流式传输服务器可以将统计学上确定的、ML预测的等观看方向结合到实时或非实时媒体内容消费操作中。
在框406中,图像处理器以不同于非随机访问处理顺序的随机访问处理顺序在一个或多个第二图像块之前将第一图像块编码到随机访问视频流中。随机访问处理顺序取决于当随机访问视频流的视频内容被呈现给观看者时观看者的观看方向。非随机访问处理顺序与观看者的观看方向无关。
在框408中,图像处理器将随机访问视频流输送到由观看者操作的接收方解码设备以使第一图像块根据随机访问处理顺序在一个或多个第二图像块之前从随机访问视频流中被处理和呈现。
在实施例中,非随机访问处理顺序表示以下各项中的一项:光栅顺序、之字形顺序或与观看方向无关的处理顺序。
在实施例中,第一图像块属于覆盖观看者的视口的两个或更多个图像块的组;一个或多个第二图像块在观看者的视口之外;包括第一图像块在内的两个或更多个图像块的组被加速以在一个或多个第二图像块之前输送到接收方解码设备。
在实施例中,第一图像块属于覆盖观看者的关注区域的两个或更多个图像块的组;一个或多个第二图像块在观看者的关注区域之外;包括第一图像块在内的两个或更多个图像块的组被加速以在一个或多个第二图像块之前输送到接收方解码设备。
在实施例中,非随机访问视频流包括要与第一图像块一起输送的第一图像元数据部分;第一图像元数据部分用于将视频编解码器从先前编码状态转变到当前编码状态以解码第一图像块;视频编解码器使用先前编码状态来解码要根据非随机访问处理顺序在第一图像块之前解码的先前图像块。
在实施例中,随机访问视频流包括与第一图像块一起输送到接收方解码设备的第一修改后的图像元数据部分;第一修改后的图像元数据部分用于避免根据非随机访问处理顺序经历先前编码状态,并且用于将接收方解码设备转变到当前编码状态以解码第一图像块;第一修改后的图像元数据部分不同于第一图像元数据部分。
在实施例中,第一修改后的图像元数据部分包含对可变长度编码操作的状态的更新;第一图像元数据部分不包含更新。
在实施例中,第一修改后的图像元数据部分包含对预测性编码操作的状态的更新;第一图像元数据部分不包含更新。
在实施例中,随机访问视频流用于支持以下各项中的一项:增强现实应用、虚拟现实应用、电影院视频应用、基于家庭的视频应用、视频流式传输应用、基于云的视频应用、基于Wi-Fi的视频应用、基于蜂窝数据网络的视频应用、沉浸式视频应用等。
图4B图示了根据本公开的示例实施例的示例过程流程。在一些示例实施例中,一个或多个计算设备或部件可以执行这个过程流程。在框452中,图像处理器(例如,视频流式传输客户端、视频解码器、机顶设备等)从上游设备中接收随机访问视频流。从非随机访问视频流生成随机访问视频流。
在框454中,图像处理器将当观看者正在观看随机访问视频流的视频内容时实时收集的观看者的观看方向数据发送给上游设备。观看方向数据指示当观看者正在观看随机访问视频流的视频内容时与由图像块中的第一图像块覆盖的位置一致的观看者的观看方向。
非随机访问视频流用要以非随机访问处理顺序处理的图像块进行编码。图像块中的第一图像块要根据非随机访问处理顺序在一个或多个第二图像块之后被处理。
随机访问处理顺序取决于当随机访问视频流的视频内容被呈现给观看者时观看者的观看方向。非随机访问处理顺序与观看者的观看方向无关。
在框456处,图像处理器通过随机访问视频流的方式在一个或多个第二图像块之前从上游设备接收第一图像块。
在框458中,图像处理器根据随机访问处理顺序在一个或多个第二图像块之前处理和呈现第一图像块。
在实施例中,随机访问视频流包括表示视频内容的相对低质量版本的基本层图像数据;基本层图像数据用于得到运动估计;至少部分地基于如从基本层图像数据得到的运动估计以及如从随机访问视频流解码的图像数据和图像元数据来生成视频内容的相对高质量版本。
在实施例中,第一图像块属于形成覆盖观看者的方向的图像区域的两个或更多个相连图像块的组;一个或多个第二图像块在图像区域之外;在一个或多个第二图像块之前接收、解码和呈现两个或更多个相连图像块的组中的其他图像。
在各种示例实施例中,装置、系统、装置或者一个或多个其他计算设备执行如所描述的前述方法中的任何方法或一部分。在实施例中,非暂态计算机可读存储介质存储软件指令,这些软件指令当由一个或多个处理器执行时致使执行如本文描述的方法。
注意,尽管本文讨论了单独的实施例,但是本文讨论的实施例和/或部分实施例的任何组合都可以组合以形成进一步实施例。
6.实施机制——硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实施。专用计算设备可以是硬接线的,以用于执行这些技术,或者可以包括被持久地编程以执行这些技术的数字电子设备,比如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或者可以包括被编程为根据固件、存储器、其他存储设备或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这样的专用计算设备也可以将定制的硬接线逻辑、ASIC或FPGA与定制编程相结合来实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备、或合并硬接线和/或程序逻辑以实施技术的任何其他设备。
例如,图5是图示了可以在其上实施本公开的示例实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其他通信机制、以及与总线502耦接以处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
计算机系统500还包括耦接到总线502以用于存储要由处理器504执行的信息和指令的主存储器506,比如随机存取存储器(RAM)或其他动态存储设备。主存储器506还可以用于在执行要由处理器504执行的指令期间存储临时变量或其他中间信息。在被存储于处理器504可访问的非暂态存储介质中时,这样的指令使得计算机系统500变成被自定义为执行在指令中指定的操作的专用机器。
计算机系统500进一步包括只读存储器(ROM)508或耦接到总线502以用于存储处理器504的静态信息和指令的其他静态存储设备。
如磁盘或光盘、固态RAM等存储设备510被提供并耦接到总线502以用于存储信息和指令。
计算机系统500可以经由总线502耦接到如液晶显示器等显示器512上,以用于向计算机用户显示信息。包括字母数字键和其他键的输入设备514耦接到总线502,以用于将信息和命令选择传送到处理器504。另一种类型的用户输入设备是如鼠标、轨迹球或光标方向键等光标控件516,以用于将方向信息和命令选择传送到处理器504并用于控制在显示器512上的光标移动。典型地,此输入设备具有在两条轴线(第一轴线(例如,x轴)和第二轴线(例如,y轴))上的两个自由度,允许设备在平面中指定位置。
计算机系统500可以使用自定义硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文描述的技术,这些自定义硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合使计算机系统500成为或编程为专用机器。根据一个实施例,响应于处理器504执行包含在主存储器506中的一个或多个指令的一个或多个序列,由计算机系统500执行本文的技术。这样的指令可以从另一个存储介质(如存储设备510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使处理器504执行本文描述的过程步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。
如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非暂态介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,比如存储设备510。易失性介质包括动态存储器,比如主存储器506。常见形式的存储介质包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、闪速EPROM、NVRAM、任何其他存储器芯片或存储盒。
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与存储介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线502的导线。传输介质还可以采用声波或光波的形式,比如在无线电波和红外数据通信期间生成的那些声波或光波。
各种形式的介质可以涉及将一个或多个指令的一个或多个序列载送到处理器504以供执行。例如,最初可以在远程计算机的磁盘或固态驱动器上载送指令。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据并使用红外发射器将数据转换成红外信号。红外检测器可以接收红外信号中载送的数据,并且适当的电路可以将数据放在总线502上。总线502将数据载送到主存储器506,处理器504从主存储器506取得并执行指令。主存储器506接收的指令可以可选地在由处理器504执行之前或之后存储在存储设备510上。
计算机系统500还包括耦接到总线502的通信接口518。通信接口518提供耦接到网络链路520的双向数据通信,该网络链路520连接到本地网络522。例如,通信接口518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或用于提供与相应类型电话线的数据通信连接的调制解调器。作为另一个示例,通信接口518可以是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。还可以实施无线链路。在任何这样的实施方式中,通信接口518发送和接收载送表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路520通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路520可以提供通过本地网络522到主计算机524或到由因特网服务提供商(ISP)526操作的数据设备的连接。ISP 526进而通过现在通常称为“因特网”528的全球分组数据通信网络来提供数据通信服务。本地网络522和因特网528都使用载送数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路520上和通过通信接口518的信号(其将数字数据载送到计算机系统500和从计算机系统载送数字数据)是传输介质的示例形式。
计算机系统500可以通过(多个)网络、网络链路520和通信接口518发送消息和接收数据,包括程序代码。在因特网示例中,服务器530可以通过因特网528、ISP 526、本地网络522和通信接口518传输应用的请求代码。
接收到的代码可以在被接收到时由处理器504执行和/或存储在存储设备510或其他非易失性存储器中以供稍后执行。
7.等效物、扩展、替代品和其他
在前述说明书中,已经参考许多具体细节描述了本公开的示例实施例,这些细节可以根据实施方式而变化。因此,指明本公开的实施例以及被申请人打算作为本公开的实施例的唯一并且排他性指示是根据本申请以这样的权利要求发布的具体形式发布的权利要求组,包括任何后续修正。本文针对这样的权利要求中包含的术语明确阐述的任何定义应该支配如在权利要求中使用的这样的术语的含义。因此,权利要求中未明确引用的限制、要素、性质、特征、优点或属性不应该以任何方式限制这样的权利要求的范围。因此,应当从说明性而非限制性意义上看待本说明书和附图。
可以从以下枚举的示例实施例(EEE)中理解本发明的各个方面:
EEE 1.一种用于提供视频流数据的方法,所述方法包括:
访问用要以非随机访问处理顺序处理的图像块进行编码的非随机访问视频流,其中,所述图像块中的第一图像块要根据所述非随机访问处理顺序在一个或多个第二图像块之后被处理;
从接收方解码设备接收当观看者正在观看随机访问视频流的视频内容时实时收集的所述观看者的观看方向数据,其中,从所述非随机访问视频流生成所述随机访问视频流,其中,所述观看方向数据指示当所述观看者正在观看所述随机访问视频流的视频内容时与由所述第一图像块覆盖的位置一致的所述观看者的观看方向;
以不同于所述非随机访问处理顺序的随机访问处理顺序在所述一个或多个第二图像块之前将所述第一图像块编码到所述随机访问视频流中,其中,所述随机访问处理顺序取决于当所述随机访问视频流的视频内容被呈现给所述观看者时所述观看者的观看方向;其中,所述非随机访问处理顺序与所述观看者的观看方向无关;
将所述随机访问视频流输送到由所述观看者操作的所述接收方解码设备以使所述第一图像块根据所述随机访问处理顺序在所述一个或多个第二图像块之前从所述随机访问视频流中被处理和呈现。
EEE 2.如EEE 1所述的方法,其中,所述非随机访问处理顺序表示以下各项中的一项:光栅顺序、之字形顺序或与观看方向无关的处理顺序。
EEE 3.如EEE 1或EEE 2所述的方法,其中,所述第一图像块属于覆盖所述观看者的视口的两个或更多个图像块的组;其中,所述一个或多个第二图像块在所述观看者的视口之外;其中,包括所述第一图像块在内的两个或更多个图像块的所述组被加速以在所述一个或多个第二图像块之前输送到所述接收方解码设备。
EEE 4.EEE 1至EEE 3中任一项所述的方法,其中,所述第一图像块属于覆盖所述观看者的关注区域的两个或更多个图像块的组;其中,所述一个或多个第二图像块在所述观看者的关注区域之外;其中,包括所述第一图像块在内的两个或更多个图像块的所述组被加速以在所述一个或多个第二图像块之前输送到所述接收方解码设备。
EEE 5.如EEE 1至EEE 4中任一项所述的方法,其中,所述非随机访问视频流包括要与所述第一图像块一起输送的第一图像元数据部分;其中,所述第一图像元数据部分用于将视频编解码器从先前编码状态转变到当前编码状态以解码所述第一图像块;其中,所述视频编解码器使用所述先前编码状态来解码要根据所述非随机访问处理顺序在所述第一图像块之前解码的先前图像块。
EEE 6.如EEE 5所述的方法,其中,所述随机访问视频流包括与所述第一图像块一起输送到所述接收方解码设备的第一修改后的图像元数据部分;其中,所述第一修改后的图像元数据部分用于避免根据所述非随机访问处理顺序经历所述先前编码状态,并且用于将所述接收方解码设备转变到所述当前编码状态以解码所述第一图像块;其中,所述第一修改后的图像元数据部分不同于所述第一图像元数据部分。
EEE 7.如EEE 6所述的方法,其中,所述第一修改后的图像元数据部分包含对可变长度编码操作的状态的更新;其中,所述第一图像元数据部分不包含所述更新。
EEE 8.如EEE 6或EEE 7中任一项所述的方法,其中,所述第一修改后的图像元数据部分包含对预测性编码操作的状态的更新;其中,所述第一图像元数据部分不包含所述更新。
EEE 9.如EEE 1至EEE 8中任一项所述的方法,其中,所述随机访问视频流用于支持以下各项中的一项:增强现实应用、虚拟现实应用、电影院视频应用、基于家庭的视频应用、视频流式传输应用、基于云的视频应用、基于Wi-Fi的视频应用、基于蜂窝数据网络的视频应用或沉浸式视频应用。
EEE 10.一种用于呈现视频流数据的方法,所述方法包括:
从上游设备接收随机访问视频流,其中,从非随机访问视频流生成所述随机访问视频流;
将当观看者正在观看所述随机访问视频流的视频内容时实时收集的所述观看者的观看方向数据发送给所述上游设备,其中,所述观看方向数据指示当所述观看者正在观看所述随机访问视频流的视频内容时与由图像块中的第一图像块覆盖的位置一致的所述观看者的观看方向;
其中,所述非随机访问视频流是用要以非随机访问处理顺序处理的图像块进行编码的;其中,所述图像块中的所述第一图像块要根据所述非随机访问处理顺序在一个或多个第二图像块之后被处理;
其中,所述随机访问处理顺序取决于当所述随机访问视频流的视频内容被呈现给所述观看者时所述观看者的观看方向;其中,所述非随机访问处理顺序与所述观看者的观看方向无关;
通过所述随机访问视频流的方式在所述一个或多个第二图像块之前从所述上游设备接收所述第一图像块;
根据所述随机访问处理顺序在所述一个或多个第二图像块之前处理和呈现所述第一图像块。
EEE 11.如EEE 10所述的方法,其中,所述随机访问视频流包括表示所述视频内容的相对低质量版本的基本层图像数据;其中,所述基本层图像数据用于得到运动估计;其中,至少部分地基于如从所述基本层图像数据得到的所述运动估计以及如从所述随机访问视频流解码的图像数据和图像元数据来生成所述视频内容的相对高质量版本。
EEE 12.如EEE 10或EEE 11所述的方法,其中,所述第一图像块属于形成覆盖所述观看者的方向的图像区域的两个或更多个相连图像块的组;其中,所述一个或多个第二图像块在所述图像区域之外;其中,在所述一个或多个第二图像块之前接收、解码和呈现两个或更多个相连图像块的所述组中的其他图像。
EEE 13.如EEE 10或EEE 11所述的方法,其中,所述随机访问视频流用于支持以下各项中的一项:增强现实应用、虚拟现实应用、电影院视频应用、基于家庭的视频应用、视频流式传输应用、基于云的视频应用、基于Wi-Fi的视频应用、基于蜂窝数据网络的视频应用或沉浸式视频应用。
EEE 14.一种装置,包括处理器并且被配置为执行如EEE 1至EEE 13中所述的方法中的任一种方法。
EEE 15.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质在其上存储有计算机可执行指令,所述计算机可执行指令用于根据如EEE 1至EEE 13中所述的方法中的任一种方法来用一个或多个处理器执行方法。

Claims (20)

1.一种用于提供视频流数据的方法,所述方法包括:
访问用要以非随机访问处理顺序处理的图像块进行编码的非随机访问视频流,其中,所述图像块中的第一图像块要根据所述非随机访问处理顺序在一个或多个第二图像块之后被处理;
从接收方解码设备接收当观看者正在观看随机访问视频流的视频内容时实时收集的所述观看者的观看方向数据,其中,从所述非随机访问视频流生成所述随机访问视频流,其中,所述观看方向数据指示当所述观看者正在观看所述随机访问视频流的视频内容时与由所述第一图像块覆盖的位置一致的所述观看者的观看方向;
以不同于所述非随机访问处理顺序的随机访问处理顺序在所述一个或多个第二图像块之前将所述第一图像块编码到所述随机访问视频流中,其中,所述随机访问处理顺序取决于当所述随机访问视频流的视频内容被呈现给所述观看者时所述观看者的观看方向;其中,所述非随机访问处理顺序与所述观看者的观看方向无关;
将所述随机访问视频流输送到由所述观看者操作的所述接收方解码设备以使所述第一图像块根据所述随机访问处理顺序在所述一个或多个第二图像块之前从所述随机访问视频流中被处理和呈现。
2.如权利要求1所述的方法,其中,所述非随机访问处理顺序表示以下各项中的一项:光栅顺序、之字形顺序或与观看方向无关的处理顺序。
3.如权利要求1或2所述的方法,其中,所述第一图像块属于覆盖所述观看者的视口的两个或更多个图像块的组;其中,所述一个或多个第二图像块在所述观看者的视口之外;其中,包括所述第一图像块在内的两个或更多个图像块的所述组被加速以在所述一个或多个第二图像块之前输送到所述接收方解码设备。
4.如权利要求1至3中任一项所述的方法,其中,所述第一图像块属于覆盖所述观看者的关注区域的两个或更多个图像块的组;其中,所述一个或多个第二图像块在所述观看者的关注区域之外;其中,包括所述第一图像块在内的两个或更多个图像块的所述组被加速以在所述一个或多个第二图像块之前输送到所述接收方解码设备。
5.如权利要求1至4中任一项所述的方法,其中,所述非随机访问视频流包括要与所述第一图像块一起输送的第一图像元数据部分;其中,所述第一图像元数据部分用于将视频编解码器从先前编码状态转变到当前编码状态以解码所述第一图像块;其中,所述视频编解码器使用所述先前编码状态来解码要根据所述非随机访问处理顺序在所述第一图像块之前解码的先前图像块。
6.如权利要求1至5中任一项所述的方法,其中,所述随机访问视频流包括与所述第一图像块一起输送到所述接收方解码设备的第一修改后的图像元数据部分;其中,所述第一修改后的图像元数据部分用于避免根据所述非随机访问处理顺序经历所述先前编码状态,并且用于将所述接收方解码设备转变到所述当前编码状态以解码所述第一图像块。
7.如权利要求5和6所述的方法,其中,所述第一修改后的图像元数据部分不同于所述第一图像元数据部分。
8.如权利要求7所述的方法,其中,所述第一修改后的图像元数据部分包含对可变长度编码操作的状态的更新;其中,所述第一图像元数据部分不包含所述更新。
9.如权利要求7或8中任一项所述的方法,其中,所述第一修改后的图像元数据部分包含对预测性编码操作的状态的更新;其中,所述第一图像元数据部分不包含所述更新。
10.如权利要求1至9中任一项所述的方法,其中,所述随机访问视频流用于支持以下各项中的一项:增强现实应用、虚拟现实应用、电影院视频应用、基于家庭的视频应用、视频流式传输应用、基于云的视频应用、基于Wi-Fi的视频应用、基于蜂窝数据网络的视频应用或沉浸式视频应用。
11.一种用于呈现视频流数据的方法,所述方法包括:
从上游设备接收随机访问视频流,其中,从非随机访问视频流生成所述随机访问视频流;
将当观看者正在观看所述随机访问视频流的视频内容时实时收集的所述观看者的观看方向数据发送给所述上游设备,其中,所述观看方向数据指示当所述观看者正在观看所述随机访问视频流的视频内容时与由图像块中的第一图像块覆盖的位置一致的所述观看者的观看方向;
其中,所述非随机访问视频流是用要以非随机访问处理顺序处理的图像块进行编码的;其中,所述图像块中的所述第一图像块要根据所述非随机访问处理顺序在一个或多个第二图像块之后被处理;
其中,所述随机访问处理顺序取决于当所述随机访问视频流的视频内容被呈现给所述观看者时所述观看者的观看方向;其中,所述非随机访问处理顺序与所述观看者的观看方向无关;
通过所述随机访问视频流的方式在所述一个或多个第二图像块之前从所述上游设备接收所述第一图像块;
根据所述随机访问处理顺序在所述一个或多个第二图像块之前处理和呈现所述第一图像块。
12.如权利要求11所述的方法,其中,所述随机访问视频流包括表示所述视频内容的相对低质量版本的基本层图像数据;其中,所述基本层图像数据用于得到运动估计;其中,至少部分地基于如从所述基本层图像数据得到的所述运动估计来生成所述视频内容的相对高质量版本。
13.如权利要求11或12所述的方法,其中,所述第一图像块属于形成覆盖所述观看者的方向的图像区域的两个或更多个相连图像块的组;其中,所述一个或多个第二图像块在所述图像区域之外;其中,在所述一个或多个第二图像块之前接收、解码和呈现两个或更多个相连图像块的所述组中的其他图像。
14.如权利要求11或12所述的方法,其中,所述随机访问视频流用于支持以下各项中的一项:增强现实应用、虚拟现实应用、电影院视频应用、基于家庭的视频应用、视频流式传输应用、基于云的视频应用、基于Wi-Fi的视频应用、基于蜂窝数据网络的视频应用或沉浸式视频应用。
15.如权利要求11至14中任一项所述的方法,其中,所述非随机访问视频流包括要与所述第一图像块一起输送的第一图像元数据部分;其中,所述第一图像元数据部分用于将视频编解码器从先前编码状态转变到当前编码状态以解码所述第一图像块;其中,所述视频编解码器使用所述先前编码状态来解码要根据所述非随机访问处理顺序在所述第一图像块之前解码的先前图像块。
16.如权利要求11至15中任一项所述的方法,其中,所述随机访问视频流包括与所述第一图像块一起输送到接收方解码设备的第一修改后的图像元数据部分;其中,所述第一修改后的图像元数据部分用于避免根据所述非随机访问处理顺序经历所述先前编码状态,并且用于将所述接收方解码设备转变到所述当前编码状态以解码所述第一图像块。
17.如权利要求15和16所述的方法,其中,所述第一修改后的图像元数据部分不同于所述第一图像元数据部分。
18.如权利要求17所述的方法,其中,所述第一修改后的图像元数据部分包含对可变长度编码操作的状态的更新;其中,所述第一图像元数据部分不包含所述更新。
19.一种装置,所述装置包括处理器并且被配置为执行如权利要求1至18中任一项所述的方法中的任一种方法。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质在其上存储有计算机可执行指令,所述计算机可执行指令用于根据如权利要求1至18中任一项所述的方法中的任一种方法、利用一个或多个处理器来执行方法。
CN202180061968.3A 2020-08-03 2021-08-02 支持基于观看方向的比特流随机访问 Pending CN116195255A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063060272P 2020-08-03 2020-08-03
EP20189127 2020-08-03
EP20189127.2 2020-08-03
US63/060,272 2020-08-03
PCT/US2021/044244 WO2022031633A1 (en) 2020-08-03 2021-08-02 Supporting view direction based random access of bitstream

Publications (1)

Publication Number Publication Date
CN116195255A true CN116195255A (zh) 2023-05-30

Family

ID=77367485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180061968.3A Pending CN116195255A (zh) 2020-08-03 2021-08-02 支持基于观看方向的比特流随机访问

Country Status (5)

Country Link
US (1) US20230300346A1 (zh)
EP (1) EP4189964A1 (zh)
JP (1) JP2023536585A (zh)
CN (1) CN116195255A (zh)
WO (1) WO2022031633A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11758104B1 (en) * 2022-10-18 2023-09-12 Illuscio, Inc. Systems and methods for predictive streaming of image data for spatial computing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10620441B2 (en) * 2016-12-14 2020-04-14 Qualcomm Incorporated Viewport-aware quality metric for 360-degree video
EP3687178B1 (en) * 2017-09-26 2023-03-15 LG Electronics Inc. Overlay processing method in 360 video system, and device thereof
EP3721417A1 (en) * 2017-12-22 2020-10-14 Huawei Technologies Co., Ltd. Vr 360 video for remote end users

Also Published As

Publication number Publication date
JP2023536585A (ja) 2023-08-28
WO2022031633A1 (en) 2022-02-10
US20230300346A1 (en) 2023-09-21
EP4189964A1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
JP7169372B2 (ja) デコーダ側の動きベクトルの導出及び精緻化の改良
JP7213264B2 (ja) デコードまたはエンコードのための方法並びに装置およびコンピュータプログラム
JP7358487B2 (ja) イントラ画像ブロック補償のためのデコードされたブロックベクトルの変換
JP7257516B2 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
JP2023126928A (ja) マルチラインイントラ予測に対するmpmリスト生成を実現するための方法、装置、及びコンピュータプログラム
JP2022516251A (ja) ビデオ・コーディングのための方法、装置、及びコンピュータ・プログラム
CN112292859B (zh) 一种用于解码至少一个视频流的方法和装置
JP2022515126A6 (ja) ビデオ・コーディングのための方法、装置及びコンピュータ・プログラム
KR20200125733A (ko) 비디오 코딩을 위한 방법 및 장치
CN110784711A (zh) 生成用于视频序列编码或解码的合并候选列表的方法、装置
CN112400320B (zh) 对已编码视频序列进行解码的方法、装置和可读介质
CN113273185A (zh) 视频编码中的段类型
JP2022516062A (ja) ビデオ復号のための方法、ビデオデコーダ、およびコンピュータプログラム、ならびにビデオ符号化のための方法
CN110798685A (zh) 一种视频解码方法、装置、计算机设备及存储介质
JP2021516933A (ja) ビデオ符号化の方法および装置
US20230300346A1 (en) Supporting view direction based random access of bitsteam
JP2023159375A (ja) ビデオコーディングのための方法、装置及びプログラム
CN113508582A (zh) 多线帧内预测的模式列表生成
JP7221406B2 (ja) イン・マニフェスト更新イベント
JP2023542332A (ja) 倍率を有するdnnに基づくクロスコンポーネント予測のためのコンテンツ適応型オンライントレーニング
JP2023525667A (ja) セッションベースdash動作を使用したセッションベース記述urlのカスタマイズ
CN114073084A (zh) 在视频码流中有效发信号通知图片大小和分区信息的方法和装置
RU2775739C1 (ru) Способ поуровневого произвольного доступа в кодированном видеопотоке
JP7463614B2 (ja) ビューポート変化に基づくデュアルストリーム動的gopアクセス
JP7383038B2 (ja) ビデオコーディングのための方法、装置及びプログラム

Legal Events

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