用于提供媒体流的装置和方法
文献发布时间:2024-04-18 19:58:21
技术领域
本公开涉及用于提供媒体流的装置和方法,并且更具体地,涉及用于提供高清晰度媒体流的装置和方法。
背景技术
考虑到无线通信一代又一代的发展,这些技术主要是针对以人为目标的服务而开发的,诸如语音呼叫、多媒体服务和数据服务。随着第五代(5G)通信系统的商业化,预计连接的设备的数量将呈指数级增长。这些将越来越多地连接到通信网络。物联网的示例可以包括车辆、机器人、无人机、家用电器、显示器、连接到各种基础设施的智能传感器、建筑机械和工厂设备。移动设备预计会以各种形式(诸如增强现实眼镜、虚拟现实耳机和全息设备)发展。一直在努力开发改进的6G通信系统以便在第六代(6G)时代通过连接数千亿个设备和事物来提供各种服务。由于这些原因,6G通信系统被称为超5G系统。
预计在2030年左右商业化的6G通信系统将具有兆(tera)(1,000千兆)级bps的峰值数据速率和小于100μsec的无线电延迟,因此将是5G通信系统的数据速率的50倍,并且具有其1/10的无线电延迟。
为了实现这样的高数据速率和超低延迟,已经考虑在太赫兹(例如,95GHz至3THz波段)中实现6G通信系统。预计,由于太赫兹波段中的路径损耗和大气吸收比5G中引入的毫米波(mmWave)波段中的路径损耗和大气吸收更严重,能够确保信号传输距离(即,覆盖)的技术将变得更加关键。作为确保覆盖的主要技术,有必要开发射频(RF)元件、天线、具有比正交频分复用(OFDM)、波束成形和大规模多输入多输出(MIMO)、全维MIMO(FD-MIMO)、阵列天线和诸如大规模天线的多天线传输技术更好的覆盖的新型波形。此外,一直在讨论改进太赫兹波段信号覆盖的新技术,诸如基于超材料的透镜和天线、轨道角动量(OAM)和可重构智能表面(RIS)。
此外,为了提高频谱效率和整体网络性能,已经为6G通信系统开发了以下技术:用于使上行链路传输和下行链路传输能够同时使用相同频率资源的全双工技术;以综合方式利用卫星、高空平台站(HAPS)等的网络技术;改进的网络结构,用于支持移动基站等,并使得网络操作优化和自动化等成为可能;基于频谱使用预测的经由冲突避免的动态频谱共享技术:在无线通信中使用人工智能(AI),通过从开发6G的设计阶段利用AI以及使端到端AI支持功能内在化来改进整体网络操作;以及通过在网络上可实现的超高性能通信和计算资源(诸如移动边缘计算(MEC)、云等)克服用户设备(UE)计算能力限制的下一代分布式计算技术。此外,通过设计将在6G通信系统中使用的新协议、开发用于实现基于硬件的安全环境和数据的安全使用的机制、以及开发用于维护隐私的技术,正在继续尝试加强设备之间的连接性、优化网络、促进网络实体的软件化以及增加无线通信的开放性。
预计包括人对机器(P2M)和机器对机器(M2M)的超连接的6G通信系统的研究和开发将带来下一次超连接体验。特别地,期望通过6G通信系统提供诸如真正沉浸式扩展现实(XR)、高保真移动全息图和数字复制品的服务。此外,诸如用于安全性和可靠性增强的远程手术、工业自动化和应急响应的服务将通过6G通信系统来提供,使得该技术可以应用于诸如工业、医疗保健、汽车和家用电器的各种领域。
5G通信系统或6G通信系统可以向接收服务的设备(例如,用户设备(UE))提供包括各种图像和声音(或音乐)的媒体流数据(或服务)。内容提供者可以通过使用用于提供媒体流数据(或服务)的特定应用服务器将媒体流数据提供给用户设备。在这种情况下,应用服务器是用于提供媒体流数据的网络,并且可以使用5G通信系统或6G通信系统。可替换地,为了提供媒体流数据,应用服务器可以使用有线网络或另一无线通信网络,例如Wi-Fi。
此外,可能存在各种类型的流数据。例如,存在诸如戏剧、电影和音乐的媒体流数据,其被传输而与用户的位置、运动、动作等无关。在另一示例中,在增强现实(AR)、虚拟现实(VR)、游戏等的情况下,需要基于用户的动作来提供媒体流数据,例如,移动、运动、姿势等。
当提供诸如AR、VR和游戏的媒体流数据时,需要提供具有非常高清晰度的内容。因此,为了处理这样的信息,需要通过网络执行传输,这增加了数据量并且需要具有非常高性能的UE。具体地,在诸如AR、VR和游戏的媒体流数据的情况下,需要非常低的延迟。
以上信息仅作为背景信息呈现,以帮助理解本公开。关于以上任何内容是否可以作为关于本公开的现有技术而适用,还没有做出任何确定,也没有做出任何断言。
发明内容
技术问题
然而,存在一个问题,即当前难以提供满足所有要求的媒体流数据。此外,诸如AR、VR和游戏的媒体流数据需要基于用户的运动自适应地提供具有非常高清晰度的内容,因此,需要具有非常高性能的设备。因此,这需要非常昂贵的设备,这可能会导致AR、VR和游戏的媒体流服务商业化的阻碍因素。
技术方案
因此,本公开提供了一种用于提供低延迟媒体流服务的装置和方法。
此外,本公开提供了一种用于通过具有较低性能的设备提供低延迟媒体流服务的装置和方法。
根据本公开的实施例的方法与一种用于通过服务器装置向提供用户设备(UE)媒体流的方法相对应,并且可以包括:从内容提供者接收要提供给UE的媒体流,并存储媒体流;渲染存储的媒体流的图像;生成包括渲染的图像和与渲染的图像相关联的指令信息的第一帧;对第一帧进行编码;通过网络向UE发送编码的第一帧,其中,指令信息指示存储、重用、发送图像的报告请求、预存储图像的更新或预注册图像的删除中的至少一个。
根据本公开实施例的设备与用于向用户设备(UE)提供媒体流的服务器装置相对应,并且可以包括:数据库,被配置为根据映射规则存储要提供给UE的从内容提供者接收的渲染的图像和媒体流内容;媒体流编码器,被配置为对媒体流内容进行编码以通过网络向UE发送;以及至少一个处理器,包括:渲染器,被配置为渲染存储在数据库中的媒体流的图像;指令处理器,被配置为生成用于渲染的图像的指令信息;以及帧生成器,被配置为生成包括渲染的图像和指令信息的第一帧,其中,指令信息指示存储、重用、发送图像的报告请求、预存储图像的更新或预注册图像的删除中的至少一个。
通过应用根据本公开的装置和方法,即使在具有低性能的设备中,也能够以低延迟无缝地提供高质量的媒体流服务。
在进行以下的具体实施方式之前,阐述贯穿专利文献所使用的某些词语和短语的定义,可以是有利的:术语“包括”和“包含”以及其派生词意指不进行限制的包括;术语“或”是可兼的,意指和/或;短语“与相关联的”以及其派生词意指包括、被包括在内、与其互连、包含、被包含在内、连接到或与连接、耦合到或与其耦合、可与其通信、与其协作、交织、并置、接近于、绑定到或与其绑定、具有、具有的属性、具有对…的关系或具有与…的关系等;以及术语“控制器”意指控制至少一个操作的任何设备、系统或其部分。这种设备可以用硬件、固件或软件或至少两个的组合来实现。应当注意,与任何特定控制器相关联的功能可以是集中的或分布式的,无论是本地还是远程。
而且,可以通过一个或多个计算机程序来实施或支持如下所述的各种功能,每一个功能由计算机可读程序代码形成并且被体现在计算机可读介质中。术语“应用”和“程序”指的是适合于在合适的计算机可读程序代码中实现的一个或多个计算机程序、软件组件、指令集、过程、函数、对象、类别、实例、相关数据、或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视盘(DVD),或任何其他类型的存储器。“非暂时性”计算机可读介质把输送瞬时电信号或其他信号的有线、无线、光学或其他通信链路排除在外。非暂时性计算机可读介质包括其中数据可以被永久地存储的介质和诸如可重写光盘或可擦除存储器设备之类的其中数据可以被存储并且稍后被改写的介质。
贯穿该专利文献提供对于其他某些词语和短语的定义。本领域技术人员应当理解,在许多、即使不是最多的实例中,这样的定义适用于这样定义的词语和短语的在先的以及将来的使用。
有益效果
即使在低规格设备上,根据本公开的装置和方法也可以平滑地提供具有低延迟的高质量媒体流服务。
附图说明
通过结合附图进行的以下描述,本公开的某些实施例的上述和其他方面、特征和优点将更加明显,其中:
图1A示出根据本公开的各种实施例的用于提供媒体流服务的架构的示例;
图1B示出根据本公开的各种实施例的用于提供媒体流服务的简化架构的示例;
图2是示出根据本公开的第一实施例的实现服务器的情况的框图;
图3是示出根据本公开的第二实施例的实现用户设备的情况的框图;
图4A是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例;
图4B是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例;
图4C是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例;
图5A示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例;
图5B示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例;
图5C示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例;
图5D示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例;
图6A示出根据本公开的各种实施例的用于描述使用预注册图像的情况的效果的帧传输定时;
图6B示出根据本公开的各种实施例的用于描述使用预注册图像的情况的效果的帧传输定时;
图7是示出根据本公开的各种实施例的由服务器向用户设备提供内容的情况的流程图;
图8是示出根据本公开的各种实施例的从用户设备接收内容数据的情况的流程图;
图9是示出根据本公开的第二实施例的植入服务器的情况的框图;
图10是示出根据本公开的第二实施例的实现用户设备的情况的框图;
图11示出根据本公开的各种实施例的对渲染的图像的错误检测区域进行分类的情况。
具体实施方式
以下讨论的图1A至图11以及用于描述本专利文献中的本公开的原理的各种实施例仅是举例说明,不应以任何方式解释为限制本公开的范围。本领域技术人员将理解,本公开的原理可以在任何适当布置的系统或设备中实现。
在下文中,将参考附图详细描述各种实施例。应当注意,在附图中,相同或相似的元件由相同或相似附图标记表示。此外,应当注意,提供本公开的以下附图是为了帮助理解本公开,并且本公开不限于本公开的附图中所示的配置或布置。此外,应当注意,在本公开的以下描述中,将仅描述理解根据本公开的各种实施例的操作所需的部分,并且将省略对其他部分的描述,以免使本公开的主题变得模糊。
图1A示出根据本公开的各种实施例的用于提供媒体流服务的架构的示例。
图1A示出在3GPP TS26.501的5G媒体流(5GMS)的标准文档中描述的架构。下面简单地描述图1A中的元件。
参考图1A,数据网络(DN)1可以包括5GMS应用提供者30、5GMS应用功能(5GMS AF)设备20和5GMS应用服务器100。
5GMS应用提供者30可以是用于在5GMS系统中提供媒体流服务的系统。例如,5GMS应用提供者30可以是能够提供广播服务、特定游戏服务、AR服务和/或VR服务的服务提供者。5GMS应用提供者30可以通过M2接口向5GMS应用服务器100提供媒体流服务。此外,5GMS应用提供者30可以通过M1接口连接到5GMS应用功能设备20,以发送/接收各种控制消息。
当5GMS应用提供者30提供媒体服务时,5GMS应用功能设备20可以连接到5G核心网络,以执行允许基于5G核心网策略提供媒体服务的各种控制。5GMS应用功能设备20可以通过N5接口直接连接到策略控制功能(PCF)设备12,也可以通过N33接口连接到网络暴露功能(NEF)设备11,以接入5G核心网络中的每个实体。
5GMS应用服务器100可以是用于接收将由5GMS应用提供者30提供的媒体流服务并将该服务提供给实际用户设备(UE)200的应用服务器。当从5GMS应用提供者30接收媒体流数据时,5GMS应用服务器100可以接收对应媒体流的元数据。媒体流的元数据可以包括内容元数据。此外,当5GMS应用服务器100向特定用户设备200提供媒体流服务时,或者当特定UE200从5GMS应用服务服务器请求媒体流服务时,5GMS应用服务器可以基于由5GMS应用功能设备20提供的策略,通过M4接口向用户设备200提供媒体流服务,并且从用户设备200接收姿势信息。
当接收到根据本公开的姿势信息时,5GMS应用服务器100可以基于接收的姿势信息生成内容的渲染的图像,并在适当的时间点将其发送到用户设备200。此外,生成的渲染的图像可以存储在服务器中的特定存储器(图1A中未示出)区域中。以下将参考以下附图进行这样的详细描述。此外,根据下面要进行的公开,5GMS应用服务器100可以在服务器和用户设备200之间执行分割处理。尽管图1A中未示出,但是5GMS应用服务器100可以通过无线接口通过连接到5G核心网的基站(图1A中未示出)和用户设备200来发送媒体流。
接下来,描述用户设备200的配置。用户设备200可以包括5GMS感知应用230和5GMS客户端220。此外,5GMS客户端220可以包括媒体流处理机(handler)221和媒体会话处理机222。
5GMS感知应用230是由5GMS应用30通过5GMS应用服务器100和/或另一特定服务器提供的应用,并且可以是用于向用户设备200中的用户提供媒体流服务的应用。此外,5GMS感知应用230可以通过M7接口从媒体流处理机221接收媒体流,并对接收的媒体流执行处理。
包括在5GMS客户端220中的媒体流处理机221可以是用于处理从5GMS应用服务器100提供的媒体流数据的接收器。媒体流处理机221可以通过M7接口向媒体会话处理机222提供关于接收当前媒体流的状态的信息。
包括在5GMS客户端220中的媒体会话处理机222可以通过M5接口与5GMS应用功能设备20一起执行用于维护媒体会话的控制。媒体会话处理机222还可以通过M6接口向媒体流处理机221或5GMS感知应用230提供关于从媒体流处理机221接收的媒体流的会话的信息。
在下文中,在本公开中,如上所述,可以应用服务器100和用户设备200之间的分割处理。本公开中描述的分割处理允许通过在服务器100和用户设备200之间分割(划分)成一些部分来执行媒体流数据处理。例如,为了向用户提供媒体流数据,代替由用户设备200执行所有程序,服务器100可以对数据的一部分进行预处理,并提前将预处理的数据提供给用户设备200,以减少用户设备的负载。作为预处理操作的示例,假设并描述了通过分割渲染来执行图像渲染的情况。
对于图像渲染,服务器100可以包括渲染器(图1A中未示出)。此外,用户设备200还可以包括用于图像处理的渲染器或图像处理器(图1A中未示出)。
需要分割渲染的情况可以与要提供的内容是高容量内容的情况相对应。例如,当要提供的内容是具有非常高清晰度的内容31(如图1B所示),即高容量数据,诸如8K显示器、增强现实(AR)、虚拟现实(VR)和/或高清晰度游戏,并且用户设备200单独处理该内容时,用户设备200需要非常高的性能。在这种情况下,当从服务器100接收到要求比用户设备200的性能更高的性能的数据时,用户设备200不能处理该数据。因此,当根据本公开的服务器100要处理高容量数据时,服务器可以基于从用户设备200接收的姿势信息,例如,用户的头部的移动、用户的移动的检测、用户的方向偏移、海拔的改变等,预先执行要发送的内容图像的渲染。
假设向用户设备200提供AR内容的情况。对于AR内容,由于内容的特性,可以在需要非常低的延迟的同时以高数据速率执行数据传输。因此,服务器100可以基于从用户设备200接收的用户姿势,预先执行要发送的内容的图像的一部分的渲染。渲染的图像可以被预存储在服务器100中,或者可以在特定时间点被发送到用户设备200。此外,当所提供的内容的形状或颜色没有变化时,用户设备200还可以重用要发送的先前渲染的图像。因此,用户设备200可以重用从服务器100接收的图像,或者可以在特定时间点使用预先接收的图像。用户设备200可以根据需要对从服务器100预先接收的图像进行小的修改,以将其提供给用户。
当使用上述方法时,即,当用户设备200存储预定渲染的图像时,存在由于用户设备200的存储空间有限而不能存储所有图像的问题。此外,当仅存储接收的渲染的图像的一部分时,用户设备200可能难以识别要存储的图像。这是因为,为了预存储图像,可以通过复杂算法的处理来确定要存储的图像,这导致当在用户设备200的处理器中执行处理时的高负载。
此外,用户设备200通常不具有与用户的姿势相对应的最佳渲染图像,并且不存在用于识别接收的渲染的图像相对于用户输入是否最佳的基础。此外,服务器100通常假定用户设备200不存储渲染的图像。即使用户设备200已经存储了渲染的图像,也不存在向服务器100通知用户设备200已经存储了渲染的图像的方法。因此,根据到目前为止所做的描述,服务器100可以始终向用户设备200提供所有渲染图像。即使用户设备200存储特定渲染的图像,在数据传输方面也没有优势。此外,即使在服务器100和用户设备200之间执行分割渲染,由于上述问题,在服务器和用户设备之间不共享信息,因此不期望分割渲染的效果。
从这个角度来看,存在用户设备200不能知道由服务器100提供的渲染的图像的几何形式的问题。换言之,对于具有几何特性的图像,例如,具有诸如不均匀性、孔洞和透明度等特性的内容图像,在与用户输入无关地渲染的图像和基于与用户输入相对应的姿势信息渲染的图像之间可能存在大的差异。因此,在没有有效姿势信息的情况下渲染的图像可能不是要提供给实际用户的适当形式。
图1B示出根据本公开的各种实施例的用于提供媒体流服务的简化架构的示例。
参考图1B,内容31可以是由5GMS应用提供者30提供给5GMS应用服务器100的特定内容。内容31例如可以是各种类型的内容,诸如广播服务、特定游戏、AR服务和/或VR服务。此外,在图1A的示例中,仅示出一个内容提供者,可以存在多个内容提供者。此外,一个内容提供者可以向多个5GMS应用服务器提供相同的内容。
服务器100可以接收内容31并将其存储在预定的存储器区域(图1B中未示出)中。此外,当从特定用户2或用户设备200接收到对所存储的内容31的服务请求时,内容数据可以被提供给用户2或用户设备200。当内容31被提供给用户2时,它可以意味着实际向用户设备200提供内容数据、由用户设备200再现内容数据以及向用户2提供对应内容的一系列处理。因此,在整个公开中,应当注意,向用户提供内容包括这样的含义。
根据本公开,如果由服务器100提供的内容31是媒体流当中的AR,则服务器100可以包括渲染器(图1B中未示出)。渲染器可以生成并存储基于从用户设备200提供的姿势信息渲染的图像。此外,基于姿势信息生成的渲染的图像可以是根据通过使用姿势信息对用户2的下一操作进行预测的结果的图像。因此,服务器100可以在预先将图像发送到用户设备200的同时做出存储图像的指令。
提供给用户2的媒体流是通过用户设备200提供的,并且因此,用户2可以携带或佩戴用户设备200,或者用户设备可以被放置(设置)在适合观看媒体内容的位置。为了说明图1B中的这种状态,示出了用户2和用户设备200彼此附接。例如,当用户设备200具有眼镜形状时,用户2可能处于佩戴眼镜以接收媒体流的状态。在这种情况下,用户设备200可以获取与用户的移动相对应的姿势信息,并将所获取的姿势信息提供给服务器100。例如,在用户设备200具有眼镜形状的情况下,用户头部的旋转角度和旋转量、关于向上或向下移动头部的操作的信息、旋转速度以及关于用户向前/向后/向左/向右移动的信息等,用户设备200可以使用所获取的信息作为姿势信息,并将其提供给服务器100。
在另一示例中,用户设备200可以具有两个或更多个设备的复杂形状。例如,用户设备200可以被配置为通过智能手表和眼镜的组合获得的形状。在另一示例中,单个用户设备200可以被实现为通过混合单独的图像提供设备(诸如光束投影仪和3D图像提供设备)和用于与服务器100通信的通信设备而获得的形状,同时用户佩戴特定感测设备。适当的信息可以以有线/无线方案在混合设备之间被发送/接收。例如,传感器可以向发送/接收设备提供通过检测用户的移动而获得的姿势信息。此外,通信设备可以将从服务器接收的信息发送到图像提供设备,同时提供接收姿势信息并将其提供给服务器。根据下面描述的方案,图像提供设备可以执行用于向用户提供图像的过程。
基于上述方案,用户设备200可以从服务器100接收渲染的内容,并在显示器上显示该内容,使得即使用户设备200不具有特定内容,也可以将该内容提供给用户2。此外,即使用户设备200不具有实时渲染内容的性能,也可以通过从服务器100接收所渲染的内容来将内容表示为好像该内容实际上存在于用户面前一样。
返回参考图1B,如图1A中简单描述的,使用5G核心网络和5G基站或者6G核心网络与6G基站的网络10可以被包括在服务器100和用户设备200之间。在本公开中,根据本公开的操作不仅可以通过5G移动通信网络和6G移动通信网络执行,还可以通过诸如Wi-Fi、LTE和LTE-A的其他类型的无线通信网络甚至有线通信网络执行。因此,网络的类型不限于特定类型,并且为了便于理解,将以5G移动通信网络为例进行描述。
图2是示出根据本公开的第一实施例的实现服务器的情况的框图。
在参考图2之前,图2的服务器100可以是上述图1A的5GMS应用服务器100,也可以是图1B的服务器100。此外,在图2中的配置中,应当注意,省略了用于处理要发送到网络10的帧的网络接口的配置,并且仅示出了用于描述本公开的主要内容的配置。此外,可以使用一个或多个处理器来实现图2中所示的一些配置或除了存储器之外的所有配置。这里,处理器可以意味着诸如微处理器的物理处理器。在下文中,每个处理器可以使用微处理器的至少一些功能,或者也可以通过对根据本公开的操作单独实现的逻辑来实现。
参考图2,服务器可以包括指令处理器101、姿势估计器102、渲染器121、帧生成器122、媒体流编码器123、图像比较器(或图像比较引擎)131、变换器(或变换引擎)132、第一数据库140和第二数据库133。简单地对使用了两个不同表达的图2中的每个元件进行描述。图像比较器131可以以比较器的形式实现,或者可以被配置为服务器中的引擎形式的模块。因此,在包括被实现为比较器的情况和被实现为引擎形式的情况这两种情况下,可以执行用于图像比较的操作。以相同的方式,变换器132也可以被实现为变换器,或者可以被配置为用于图像变换的引擎形式的模块。
在下文中,描述服务器的每个配置和简单操作。
首先,第一数据库140可以是用于存储从图1A中描述的5GMS应用提供者30提供的内容的存储器。第一数据库140可以存储从一个或多个应用提供者提供的内容,并且可以在每个内容需要被提供给用户设备200时被输出到渲染器121。
指令处理器101可以通过网络10从用户设备200接收指令信息,并且还可以通过网络100发送要由服务器100提供给用户设备200的指令信息。从用户设备200接收的指令信息可以包括姿势信息。因此,指令处理器101可以基于从用户设备200接收的姿势信息生成帧生成命令,并将生成的帧生成命令提供给帧生成器122。
在这种情况下,指令处理器101可以通过另外使用从将在下面描述的图像比较器131提供的信息向帧生成器122提供帧生成命令。也就是说,当帧基于姿势信息和来自图像比较器131的信息被生成时,导致生成没有图像的帧、通过最小化图像来生成帧或使用虚拟帧而不是图像进行传输的指令可以被做出,或者导致生成正常图像的指令可以被做出。此外,指令处理器101可以通过从通过网络10从用户设备200接收的指令信息中提取姿势信息来提供姿势估计器102。
姿势估计器102可以通过使用从指令处理器101接收的姿势信息来预测用户的下一次移动。进行这样的预测,其中多条姿势信息被累积预定时间间隔并被存储,并且一些条姿势信息被加权,从而能够预测用户的移动。因此,姿势估计器102可以通过使用累积了至少两次或更多次的姿势信息来估计用户在未来的预定时间点的姿势。在此,在未来的预定时间点的姿势可以是由服务器100向用户设备200提供渲染的图像的时间点的姿势。此外,在姿势估计器102中执行的各种类型的预测算法在本领域中是公知的,因此,在本公开中,算法不限于一种特定预测算法。姿势估计器102可以向渲染器121提供关于用户的预测移动的信息。
渲染器121可以基于从姿势估计器102接收的用户的估计姿势信息,在使图像于存储在第一数据库140中的内容相对应的同时,执行要发送的特定图像的渲染。渲染的图像可以被提供给帧生成器122和图像比较器131。
图像比较器131可以将从渲染器121接收的图像存储在第二数据库133中。此外,图像比较器可以通过变换器132读取存储在第二数据库133中的图像,并根据需要将其与在渲染器121中处理的图像进行比较。图像比较器131可以将预存储的图像与存储在渲染器121中的图像进行比较,并将比较结果发送到指令处理器101。此外,根据本公开的图像比较器131可以仅允许从渲染器121接收的图像中的特定图像被存储在第二数据库中。例如,图像比较器可以选择与特定代表姿势相对应的代表图像,并且可以预注册所选择的代表图像。
第二数据库133可以存储从图像比较器131提供的渲染的图像,并且可以在图像存储期间基于特定映射规则来存储图像。下面将详细描述这种规则。此外,基于图像比较器、指令处理器101或提供服务器100的特定内容的处理器(图2中未示出)的控制,可以将预注册图像提供给变换器132。在本公开中,除了上述配置之外,可以在姿势估计器102或渲染器121中处理做出读取存储在第二数据库133中的图像的指令的配置。对用于读取存储在第二数据库133中的预注册图像的特定元件没有限制,因此,应该注意,在图2中没有示出用于控制其的线的连接。
当从第二数据库133输入预注册图像时,变换器132可以将图像变换为能够在图像比较器131中处理的形式,并将变换的图像提供给图像比较器131。
帧生成器122可以基于从指令处理器101接收的帧生成命令,通过使用从渲染器121接收的渲染的图像来生成帧。如上所述,帧生成命令可以通过允许包括图像、最小化图像、仅发送虚拟数据或者生成没有图像的帧的指令来执行。图像帧生成器122可以基于帧生成命令来配置用于发送渲染的图像的一个帧,然后将该帧提供给媒体流编码器123。
媒体流编码器123可以根据媒体流类型对接收的帧进行编码。在另一示例中,在图2中,媒体流编码器123可以用另一编码器代替。例如,当所提供的内容不是媒体流时,可以用用于对对应数据进行编码的编码器来代替媒体流编码器。
由媒体流编码器123编码的帧可以根据网络接口进行变换,并且可以通过网络10提供给用户设备200。
将对上述服务器100中的操作进行描述。首先,根据本公开的服务器100可以将预渲染的图像发送到用户设备200以存储在其中。因此,可以确定服务器100是否提前发送渲染的图像并将其存储在用户设备200中。这样的确定可以由指令处理器101进行。
根据实施例,服务器100的指令处理器101可以确定内容的代表姿势,并确定要在用户设备200中预注册的图像。这种确定可以基于用于确定在指令处理器101中预配置的代表图像的程序,或者基于从提供内容的5GMS应用提供者30提供的单独信息来进行。例如,对于内容31,可以存在由5GMS应用提供者30指定的代表姿势信息。在这种情况下,指令处理器101可以基于代表姿势信息生成要存储在用户设备200中的图像。
例如,代表姿势信息可以由提供内容的5GMS应用提供者30作为内容元数据来提供。如果存在内容元数据,则内容元数据可以提供代表姿势和每个姿势的附加信息。因此,指令处理器101可以基于通过分析内容的特性而确定的代表性表面(前表面、左/右表面、面部、复杂几何表面、复杂纹理、透明度等)来确定代表姿势。内容元数据的示例如下<表1>所示。
【表1】
如<表1>中的示例所示,内容提供者可以提供内容元数据,并且因此,指令处理器101可以具有来自内容元数据的代表姿势信息、每个姿势的有效空间信息和考虑姿势的重用的权重信息中的至少一个。
因此,尽管在图2中没有示出用于控制的线,但是指令处理器101可以基于内容元数据来控制第一数据库140和渲染器121以执行对要存储在用户设备200中的图像的生成的控制。
将描述确定代表姿势的另一方法。
根据本公开的另一实施例,可以基于用户在空间上的位置来确定代表姿势,并且可以生成预注册图像。
例如,可以参考面向内容的用户的前表面生成预注册图像。在另一示例中,当在空间上布置多个内容时,可以对在排除被其他内容隐藏的表面或未示出的表面之后剩余的表面生成预注册图像,如在图像位于诸如用户所在位置的墙壁或地板的平面上的情况下。在另一示例中,基于当前用户的运动历史或大多数用户的运动史来预测未来的运动,并且可以参考具有高命中率的表面来生成预注册图像。
根据本公开的另一实施例,可以基于网络或用户设备的性能来确定代表姿势的数量,应用权重从代表姿势候选组中进行选择,并且可以生成与所选择的代表姿势相对应的预注册图像。例如,可以考虑用户设备200的变换性能和存储容量。当需要通过网络(例如,5G网络)发起服务时,可以接收关于用户设备200的变换性能和存储容量等的信息。可替换地,在用户订阅特定内容服务时,可以接收关于用户设备200的变换性能和存储容量等的信息。
当用户设备200的变换性能较低时,在有限时间内仅对有限大小(一些区域)而不是所有区域进行变换是可能的,并且因此,可以对每个图像生成预注册图像,但仅限于具有更高权重的部分有限区域。在另一示例中,当用户设备200的存储容量小时,可以生成预注册图像,但仅限于具有更高权重的图像。在另一示例中,可以考虑连接到用户设备200的网络10的传输性能。如果网络的传输性能的延迟高,则可以通过使用单独的信道在后台预先发送预注册图像。在另一示例中,当连接的网络10的带宽不够时,可以将要发送的渲染的图像当中的最大数量的图像选择为预注册图像,从而可以增加重用,并且相应地,可以减少发送到用户设备200的数据量。
根据上述方法中的至少一种,服务器100的指令处理器101可以制作渲染的图像和对应的姿势区域信息的对,并将其存储在第二数据库133中。在下文中,这种信息被称为“图像-姿势对信息”。服务器100的指令处理器101可以指示将图像-姿势对信息存储在第二数据库133中,并且同时或在另一特定时间点将图像-姿势对信息发送到用户设备200以存储在其中。此后,当从服务器100接收到指示使用图像-姿势对信息的信息时,用户设备200可以通过使用该信息来配置图像。图像-姿势对信息可以与被配置为由渲染器121渲染的图像和姿势信息的对的信息相对应。因此,第二数据库133存储图像-姿势对信息,因此,为了稍后在图像比较器131中进行比较,需要通过仅提取图像信息或者将提取的图像-姿势对信息划分为姿势信息和图像来提供该信息。因此,变换器132可以执行通过划分为图像和姿势信息来提供信息的操作。
根据本公开的另一实施例,可以确定是将由服务器100发送的渲染的图像当中的特定图像存储在用户设备200中作为预注册图像,还是收集渲染的图像并生成新的预注册图像以发送图像-姿势对信息。
服务器100的指令处理器101可以基于内容和用户在空间上的位置、用户设备200的性能和网络10的性能来选择代表姿势,并且生成与姿势相对应的渲染的图像和连接到渲染的图像的多条元数据的列表。这种多条元数据的列表可以是多条图像-姿势对信息的列表。
在存储渲染的图像的传输当中的特定图像的情况下,从用户设备200接收的用户姿势与代表姿势相似,指令处理器101可以指示用户设备200将对应的渲染的图像存储为预注册图像。
当生成并发送单独的渲染的图像时,可以仅收集从所选择的代表姿势渲染的图像,使得如下面的图5A至图5D所示配置并发送单独渲染的图像。
接下来,描述服务器100向用户设备200指示重用预注册图像的情况。
服务器100的指令处理器101可以通过网络10从用户设备200接收关于用户姿势的信息。指令处理器101然后可以提取接收的姿势信息,并将其提供给姿势估计器102。姿势估计器102可以向渲染器121提供接收的姿势信息。渲染器121可以基于从姿势估计器102接收的姿势信息从第一数据库140读取内容,并且执行要发送到用户设备200的图像的渲染。此外,渲染器121可以将渲染的图像提供给图像比较器131和帧生成器122。图像比较器131可以基于姿势信息和由渲染器121生成的渲染的图像执行控制以从预注册图像输出特定图像。因此,变换器132可以变换图像以使得能够在渲染的图像与从第二数据库133接收的图像之间进行比较,并且将该图像输出到图像比较器131。图像比较器131可以将由渲染器121渲染的图像与从变换器132接收的预注册图像进行比较。
在下文中,将更详细地描述通过图像比较器131比较图像的操作。图像比较器131可以执行渲染的图像和从变换器132提供的图像之间的相关性比较。这种相关性比较可以以各种方式执行。
例如,可以通过使用一个或多个比较方法获得相似性的分数。在另一示例中,根据内容的特性,例如纹理或几何形状,可以对每个比较方法输出不同的结果。当纹理中存在相似性时,即使几何形状不同,两个图像之间的相似性也可能很高。在相同条件下,当几何结构的差异较大时,例如,当结构中存在孔时,相似性可能较低。图像比较器131可以使用上述比较方法中的一种或两种或更多种。当图像比较器131使用两种或更多种方法时,可以通过收集各个方法的结果来确定相似性。这种收集方法可以被配置为通过使用用于各个比较方法的结果的预先配置条件来确定相似性。预先配置条件可以指示阈值作为相似性确定的基础,或者可以基于从内容创建者、内容提供者或单独的服务提供公司接收的信息。
因此,根据比较方法,图像比较器131可以具有纹理或几何形状的不同项目特定权重。也就是说,图像比较器131可以考虑为每个比较方法和每个项目计算的权重,基于最终积分值来确定相似度。
当确定相似性时,图像比较器131可以向指令处理器101提供比较的结果。当相似度高时,指令处理器101可以确定指示用户设备200变换原始图像并利用该原始图像,并且可以将该指令发送到用户设备200。
当从图像比较器131提供的比较结果显示出低相似性,但是期望将来的图像重用时,指令处理器101可以指示用户设备200存储当前发送的图像,使得可以重用该图像。
指令信息可以被提供给帧生成器122,并且帧生成器可以通过将指令信息与渲染的图像一起使用来生成一个帧的信息。此后,被配置为一个帧的指令信息和图像可以被提供给媒体流编码器123。媒体流编码器123可以对被配置为帧的指令信息和图像两者进行编码。在这种情况下,可以通过诸如图像(即视频)的补充信息和实时传输协议(RTCP)的发送者报告的方法来发送指令信息。
根据本公开的指令信息可以分为由服务器100发送到用户设备200的指令信息和由用户设备200发送到服务器100的指令信息。因此,为了标识,由服务器100发送到用户设备200的指令信息被称为“服务器指令信息”,由用户设备200发送到服务器100的指令信息称为“用户指令信息”
服务器指令信息可以指示例如以下五个操作中的至少一个:
(1)0:存储;
(2)1:重用;
(3)2:询问报告;
(4)3:更新预注册图像数据库;或
(5)4:删除预注册图像。
如果服务器指令信息指示“0”,则做出关于存储图像的指令。当服务器指令信息指示“0”时,可以另外提供预注册图像的元数据。
在另一示例中,当服务器指令信息指示“1”时,可以包括<表2>中的以下信息。
【表2】
在另一示例中,当服务器指令信息指示“2”时,可以包括<表3>中的以下信息。
【表3】
/>
在另一示例中,当服务器指令信息指示“3”时,可以包括<表4>中的以下信息。
【表4】
在另一示例中,当服务器指令信息指示“4”时,可以包括<表5>中的以下信息。
【表5】
接下来,用户指令信息可以指示例如以下四个操作中的至少一个:
(1)0:错误报告;
(2)1:处理结果;
(3)2:请求图像;或
(4)3:预注册图像数据库状态。
如果用户指令信息指示“0”,则可以指示不存在被指示重用的内容或图像的事实。当用户指令信息指示“0”时,可以包括<表6>中的以下信息。
【表6】
当用户指令信息指示“1”时,可以包括<表7>中的以下信息。
【表7】
当用户指令信息指示“2”时,可以包括<表8>中的以下信息。
【表8】
当用户指令信息指示“3”时,可以包括<表9>中的以下信息。
【表9】
基于上述信息,服务器100可以基于上述细节向用户设备200提供指令信息,并且用户设备200还可以通过使用上述方案向服务器100提供指令信息。
接下来,由服务器100提供给用户设备200的预注册图像的元数据可以包括下面的<表10>中的以下信息。
【表10】
将进一步描述图2的服务器100的操作。
如在上述方法中,服务器100可以识别由每个用户设备200显示的内容以及为对应内容存储的预注册图像。因此,服务器100可以执行以下三个操作。
在操作(1)的一个示例中,服务器100可以为每个用户设备200管理指示为要被存储的预注册图像的数据库。在此,数据库可以是指仅对第二数据库133的管理,或者是指一起对包括在用户设备200中的数据库的管理。
在操作(2)的一个示例中,服务器100可以请求并识别为每个用户设备200存储的图像的列表。
在操作(3)的一个示例中,服务器100可以在向用户设备200指示重用图像之前识别是否存在特定图像。
在(1)的情况下,服务器100可以管理指示为每个用户设备200存储的图像的列表。当管理指示为每个用户设备存储的图像的列表时,可以在连接期间在服务器100和用户设备200之间建立会话,并且当连接丢失时,可以释放在服务器100与用户设备200间配置的会话。当在服务器100和用户设备200之间建立会话时,指示存储的图像的列表可以被管理为属于会话的附加信息。此外,当由于网络连接的不稳定性等而建立新会话时,用户设备200可以向服务器100报告存储在先前会话中的图像的列表和内容,并且服务器100可以通过包括列表和内容来管理会话的附加信息。
在(2)的情况下,当服务器100请求并识别为每个用户设备200存储的图像的列表时,服务器100可以与用户设备200处于松散耦合关系。因此,当在配置有预定时间的定时器(未示出)中配置为超时的时间逝去时,服务器100可以认为服务器100的图像列表是不可靠的,即使内容是由相同的用户设备请求的。因此,服务器100可以指示周期性地或者在超时发生之前向对应用户设备200报告图像列表。当在超时之前从用户设备200接收到图像列表时,可以重置或延长超时时间。另一方面,当没有来自用户设备的对图像列表请求的响应时,可以在超时之后删除已经由服务器100管理的对应用户设备200的图像列表。也就是说,存储在第二数据库133中的信息可以被删除。
在(3)的情况下,当服务器100在指示重用之前从用户设备200识别用户设备是否具有对应图像时,服务器不管理每个设备的图像的列表和内容。当已经由服务器100管理的存储的图像与服务器100当前渲染的图像之间的相似性高时,服务器100可以向用户设备200发送内容ID、图像ID和元数据,以请求用户设备200重用对应图像,并且当用户设备200报告用户设备没有对应图像时,服务器可以发送渲染的图像或者发送代表图像并变换元数据,并且指示用户设备200存储对应图像。
如上所述,服务器100可以将预注册图像与根据用户姿势和估计姿势渲染的图像进行比较,以便识别它们之间的相似性。对于这样的相似性识别,可以使用上述方法。
服务器100可以根据相似性确定是否指示重用用户设备200的预注册图像。例如,当做出相似度高的识别时,服务器100可以向用户设备200发送指示在有或没有变换的情况下重用预注册图像的指令信息。
重用指令信息可以作为视频的附加信息与编码图像数据一起插入,或者可以根据诸如RTCP的发送者报告的方法来发送。
如果重用指令被作为视频的附加信息发送,则可以发送特定信息以实现节省带宽的效果,并且在用户设备200中的解码器的操作中不会引起问题。下面将参考图6A和图6B对此进行更详细的描述。
如图6A所示,在每个帧发送的图像信息可以填充有如图6B所示的虚拟数据。例如,当帧中的所有像素具有相同的值时,可以实现视频压缩的效果,从而减小数据的大小。
图3是示出根据本公开的第二实施例的实现用户设备的情况的框图。
在参考图3之前,应当注意,在图3中未示出用于向有线/无线通信网络发送数据/从有线/无线通信网络接收数据的元件。对于用于向有线/无线通信网络发送数据/从有线/无线无线通信网络接收数据的元件,在无线通信的情况和无线通信的情况之间可能存在小的差异。例如,无线通信可以包括无线处理器、天线和无线调制解调器,并且可以根据每个无线通信协议以适当的方案来发送和接收数据。作为无线通信系统的代表示例,可以存在LTE、LTE-A、5G和/或Wi-Fi无线通信方案。各个无线通信方案可能需要不同的数据处理方案,并且因此,无线处理器可以根据数据处理方案发送和接收数据。
此外,有线通信可以包括有线数据处理器和网络接口。在无线通信中,有线数据处理器和网络接口可以根据每个有线通信协议进行操作。根据这种有线和无线通信的元件在本领域中是公知的,因此,在此将省略其附加描述。
返回参考图3,用户设备200可以包括指令处理器211、媒体流解码器212、传感器213、第三数据库214、变换器215、显示缓冲器216和显示器217。在图3的示例中,未示出用于通过用户设备200接收来自用户的输入的输入单元,并且也未示出电力被供应到其的其他电力供应相关单元。根据本公开,仅在执行用户设备200和服务器100之间的分割处理的状态下向用户提供内容数据所需的元件。在下文中,将描述每个元件的描述。
媒体流解码器212可以对从网络接收的媒体流进行解码,并将解码结果提供给指令处理器211。在这种情况下,如图2中所述,服务器100可以通过发送媒体流的帧中的元数据和图像来发送服务器指令信息。在这种情况下,媒体流解码器212可以从接收的媒体流的帧中提取服务器指令信息,并将服务器指令信息和图像数据中的每一个提供给指令处理器211。
指令处理器211可以将从媒体流解码器212接收的图像数据和服务器指令信息输出到第三数据库214和变换器215。当图像数据被发送到第三数据库214时,如图2中所述,图像数据可以被提供为图像-姿势对信息,或者可以仅存储与图像相对应的特定元数据。在另一示例中,可以通过添加图像-姿势对信息来进一步存储元数据。此外,指令处理器101可以将解码的图像提供给变换器215。
指令处理器211可以基于从传感器213接收的用户姿势信息生成用户指令消息,并通过网络10将生成的用户指令信息发送到服务器100。此外,如图2中所述,可以基于从服务器100接收到的服务器指令信息生成这样的用户指令信息。
传感器213可以包括一个或多个传感器,其可以获得关于用户的头部的移动、用户的移动的检测、用户的方向偏移、海拔高度的变化等的信息。传感器可以收集与用户的移动有关的所有信息,并将其作为用户姿势或姿势信息提供给指令处理器211。
变换器215可以通过使用从指令处理器接收的解码的图像和/或从第三数据库214接收的图像来生成要显示给用户的图像,并将其提供给显示缓冲器216。例如,当服务器指令信息指示使用预注册图像时,指令处理器211可以指示使用从第三数据库214接收的图像,同时将解码的图像提供给变换器215。变换器215可以通过使用存储在第三数据库214中的图像来变换要提供给用户的图像。此外,在一些情况下,可以在没有显示缓冲器216的情况下将图像提供给显示器217。在另一示例中,显示缓冲器216可以被包括在显示器217中。
在另一示例中,指令处理器211可以指示向用户提供解码的图像。也就是说,指令处理器可以指示不使用来自第三数据库214的图像。在这种情况下,变换器215可以将从指令处理器211接收的图像处理为要提供给用户的图像,并将其存储在显示缓冲器216中。
显示缓冲器216可以以要提供给用户的帧为单位存储图像,并且根据向用户提供图像的显示速度将图像提供给显示器217。
图4A是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例,图4B是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例,以及图4C是示出根据本公开的各种实施例的基于用户的不同姿势的渲染的图像的示例。
参考图4A,为了便于描述,示出了一个建筑物300。建筑物300可以包括右墙壁320和左墙壁310。此外,假设用户2可以做出第一姿势410、第二姿势420和第三姿势430。第一姿势410可以是初始用户2在例如VR、游戏等中的位置和凝视。此后,用户的姿势可以改变为诸如第二姿势420或第三姿势430的姿势。
当用户从初始第一姿势410向右移动时,姿势可以改变到第二姿势420的位置,并且当用户从初始第一姿势410向左移动时,姿势可以改变为第三姿势430。当用户的姿势改变时,图像可以相应地改变。这将参考图4B进行描述。
图4B示出根据本公开的各种实施例的当用户向右移动时观看建筑物300的角度的变化。
初始第一姿势410可以如图4B上部的建筑物300所示的那样被划分为左墙壁320和右墙壁310的区域。当用户不移动或者内容本身不改变时,在建筑物300中,左墙壁320和右墙壁310的区域的大小可以不改变,并且可以在对应的时间期间保持相同。
在这种情况下,当用户姿势向左改变时,可以进行诸如建筑物300的左墙壁的大小减小的状态321和右墙壁的大小增大的状态311的改变。也就是说,如附图标记421所示,与第一姿势410相比,第二姿势中的墙壁的大小可以部分地改变。因此,该变换可以由用户设备200直接处理,或者根据本公开,根据第二姿势420的图像数据可以被预先生成并发送。当使用预先生成的图像时,服务器100可以指示发送如上所述的服务器指令信息和显示图4B的下部所示的建筑物300的信息。
在另一示例中,当用户设备200可以响应于小的改变而改变图像时,可以仅向用户设备200提供关于图像改变的信息。也就是说,服务器100可以响应于第二姿势420向用户设备提供指示图像改变的服务器指令信息。
通过向用户设备200提供指示重用预注册图像的服务器指令信息,可以在不发送图像的情况下向用户提供逼真图像。此外,可以节省服务器100和用户设备200之间的网络的带宽(BW)。
图4C示出根据本公开的各种实施例的当用户向左移动时观看建筑物300的角度的变化。
初始第一姿势410可以如图4C上部的建筑物300所示的那样被划分为左墙壁320和右墙壁310的区域。当用户不移动或内容本身不改变时,在建筑物300中,左墙壁320和右墙壁310的区域的大小可以不改变并且可以在对应的时间期间保持相同。
在这种情况下,当用户姿势向左改变时,可以进行诸如建筑物300的左墙壁的大小增大的状态322和右墙壁的大小减小的状态312的改变。也就是说,如附图标记431所示,与第一姿势410相比,第三姿势中的墙壁的大小可以部分改变。因此,该变换(再投影或翘曲)可以由用户设备200直接处理,或者根据本发明,根据第三姿势430的图像数据可以被预先生成并发送。当使用预先生成的图像时,服务器100可以如上所述指示发送服务器指令信息,并显示图4C下部示出的建筑物300的信息。
在另一示例中,当用户设备200能够响应于小的改变而改变图像时,可以仅向用户设备200提供关于图像改变的信息。也就是说,服务器100可以响应于第三姿势430向用户设备提供指示图像改变的服务器指令信息。
通过向用户设备200提供指示重用预注册图像的服务器指令信息,可以向用户提供逼真图像而不发送图像。此外,可以节省服务器100和用户设备200之间的网络的带宽(BW)。
图5A示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例,图5B示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例,图5C示出根据本公开的各种实施例的用于传输渲染的图像的各种实施例的示例,以及图5D示出根据本公开的各种实施例的用于传输渲染图像的各种实施例的示例。
参考图5A,示出上面图4A至图4C所示的建筑物作为一个帧中的帧打包渲染图像发送。也就是说,附图标记501表示一个帧,并且假定在一个帧中发送建筑物的图像。图5A示出一个图像被配置为一个帧并且在一个帧中发送的情况。
参考图5B,示出建筑物的右墙壁和左墙壁分别在两个不同的帧511和512中发送。对于一个建筑,可以将右墙壁和左墙壁分别配置为单独的帧并发送。图5B示出可以在一个帧中发送图像的一部分而不是整个图像。
参考图5C,在第一帧521中,特定用户姿势,例如,与图4A中描述的第一姿势相对应的建筑物图像可以被发送,并且在第二帧522中,另一用户姿势,例如,与图4C中描述的第三姿势相对应的建筑物图像可以被发送。另外,在图5C中,当配置一个帧时,可以在一个帧中发送缩小规模的图像。也就是说,图5C的帧521和522中的每一个的大小可以小于图5A的附图标记501的帧的大小。
图5D示出在一个帧中将多个图像打包成一个图像并发送的情况。参考图5D,在一个帧中的特定区域531中,配置与建筑物的左墙壁相对应的图像,在另一区域532中,配置通过缩小图5C所示的第一帧获得的图像,并且在剩余特定区域533中,配置通过缩小图5C所示的第二帧获得的图像。在图5D中示出,可以在一个帧中同时发送两个或更多个图像,并且能够将要发送的图像缩小规模并发送。当渲染的图像被打包到一个帧中时,为了增加细节,根据权重或原始大小,每个图像的大小可以小于或大于原始大小。
此外,如上所述,可以基于由创建内容的内容提供者或内容创建者提供给服务器100的信息来确定图像的权重,并且可以由上面图2所述的指令处理器101进行这种确定。
图6A示出根据本公开的各种实施例的用于描述使用预注册图像的情况的效果的帧传输定时,并且图6B示出根据本公开的各种实施例的用于描述使用预注册图像的情况的效果的帧传输定时。
参考图6A,通常可以发送帧。因此,当服务器100向用户设备200提供特定内容并且发送第一帧(帧#1)601时,可以发送与第一帧相对应的元数据611。另外,当发送第二帧(帧#2)602时,服务器100可以一起发送与第二帧相对应的元数据612。因此,当服务器100向用户设备200发送第n帧(帧#n)60n时,可以发送与第n帧相对应的元数据61n。
图6A示出建筑物的图像位于帧中,并且不考虑建筑物的变换。如果随着用户移动而持续更新姿势信息,则发送帧601、602、…、和60n,同时随着用户移动而包括关于建筑物中的变化的信息,如上面图4A到图4C所述。
图6B示出根据本公开的使用预注册图像的情况。例如,如上所述,当用户在预定时间内没有移动时,或者在存在预注册数据的情况下,可以发送帧。
参考图6B,当服务器100向用户设备200提供特定内容并发送第一帧(帧#1)601时,可以发送与第一帧相对应的元数据611。此外,当发送第二帧(帧#2)602时,服务器100可以一起发送与第二帧相对应的元数据612。然而,在根据本发明的图6B中,第二帧(帧#2)602可以被配置为包括虚拟数据。在这种情况下,第二帧(帧#2)602可以与第一帧相同,或者可以使用预注册图像。例如,可以假定服务器指令信息被配置为使得服务器100在发送第一帧(帧#1)601的同时存储第一帧(帧#1)601。在这种情况下,当不存在姿势变化时,配置服务器指令信息,该服务器指令信息指示包括虚拟数据而不是第二帧(帧#2)602的传输,并且指示与第二帧相对应的元数据622重用预注册图像。
当直到特定时间点为止没有姿势变化时,例如,当直到第n帧为止没有用户的姿势变化时,可以做出指示由服务器100发送的第n帧(帧#n)60n包括虚拟数据并且被发送的指令,并且可以向与第n帧相对应的元数据62n做出指示重用特定帧的指令。
在另一示例中,可以假设在服务器100发送第一帧(帧#1)601之后使用预注册帧。例如,当在第一帧(帧#1)601中发送图4A的建筑物并且将与第二姿势420相对应的图像预注册为预注册帧时,服务器100可以提供指示包括虚拟数据而不是发送第二帧(帧#2)602的服务器指令信息,并且指示由与第二帧相对应的元数据622重用预注册图像。此后,当用户保持与第二帧相同的姿势直到第n帧时,可以做出指示通过在其中包括虚拟数据来发送第n帧(帧#n)60n的指令,并且可以向与第n帧相对应的元数据62n做出指示重用特定帧的指令。
此外,根据本公开的实施例的虚拟数据可以具有特定图像的压缩形式。特定图像以压缩形式被发送,因为用户设备200的媒体流解码器212通常被配置为解码连续媒体流,并且特定帧中的数据接收失败因此可以被确定为错误。因此,为了防止该错误,特定压缩图像的传输的配置可以防止用户设备200的媒体流解码器212将失败识别为错误。
在根据本公开的另一实施例中,虚拟数据可以被实现为具有最少信息的单个图像帧,诸如与前一帧完全相同的屏幕、全黑屏或全白屏。具有基于特定颜色的屏幕的虚拟数据的配置还用于防止由于用户设备200的媒体流解码器212通常解码连续媒体流的事实而将特定帧中的数据的接收失败确定为错误。
因此,在特定情况下,例如,在能够首先发送服务器指令信息并且指令处理器211可以允许媒体流解码器212在特定帧中停止图像解码或者指示在图像解码期间不检测错误的情况下,也可以不配置虚拟数据本身的发送。
当接收的服务器指令信息包括重用指令时,用户设备200的指示处理器211可以指示将预注册图像从第三数据库214输出到变换器215,同时指示变换器215忽略由媒体流解码器解码的图像并执行变换以将从第三数据库214接收的图像提供给用户。
因此,变换器215可以将在第三数据库214中预注册的图像变换为要提供给用户的图像,并将其存储在显示缓冲器216中。
此外,这样的信息可以是基于在服务器100中估计的姿势、基于包括在由用户设备200提供给服务器100的用户指令信息中的用户姿势信息的图像。也就是说,服务器100基于估计的姿势选择预注册图像,因此,服务器指令信息可以包括估计的姿势信息。因此,用户设备200的指令处理器可以将从传感器213接收的用户姿势与服务器100估计的姿势信息进行比较。此外,当用户设备200可以改变图像的一部分时,可以基于由服务器100提供的估计的姿势和最近从传感器213接收的姿势信息之间的差校正预注册图像的一部分。也就是说,指令处理器211可以根据最近从传感器213接收的姿势信息指示预注册图像的变换,并且变换器215可以基于指令处理器211的指令部分地变换从第三数据库214获得的图像,并将其输出到显示缓冲器216。
当用户设备200的指令处理器211指示变换器215变换图像并且存在通过将最近从传感器213接收的姿势与预注册图像的姿势和服务器100估计的姿势进行比较而获得的足够大的差时,可以另外比较预存储在第三数据库214中的其他图像的姿势的值和估计的姿势的值。当比较其他图像的姿势的值与服务器估计的姿势的值之间的差并且在可变换范围内存在至少一个具有该差的图像时,指令处理器211可以从该至少一个图像中选择具有最小差的图像。此后,指令处理器211可以将从第三数据库214选择的图像提供给变换器215,以指示变换器将图像变换为要提供给用户的图像。
此外,用户设备200可以基于来自服务器100的服务器指令信息来变换图像,并且可以再次向服务器100报告关于要提供给用户的图像的信息。例如,如上所述,与服务器100估计的姿势信息在阈值内存在差,关于该差的信息可以被提供为指令信息。在另一示例中,当服务器100估计的姿势信息与从传感器213获得的最终用户姿势信息之间存在较大差时,可以将关于从预注册图像当中使用的图像的信息提供给服务器100。这种信息可以被生成为设备指令信息并被发送,因此,当指令处理器211生成用户指令信息时,可以包括上述信息。
当从用户设备200接收到关于从预注册图像当中使用的图像的信息作为用户指令信息时,服务器100可以获得关于在用户信息当中与姿势的差的信息,并且基于该信息,姿势估计器102允许另外使用该信息来估计用户姿势。因此,可以提高姿势估计器102的精度。
图7是示出根据本公开的各种实施例的服务器向用户设备提供内容的情况的流程图。
参考图7,在操作700中,服务器100可以从内容提供者(例如,图1A的5GMS应用提供者30)接收媒体流的内容,并将内容存储在第一数据库140中。此外,对于存储在第一数据库140中的内容,可以向特定用户提供服务。例如,当从特定用户设备接收到服务请求时,在操作700中,服务器100可以提取存储在第一数据库140中的内容作为要通过媒体流发送的图像,并渲染图像。这种渲染可以由渲染器121执行。
尽管在图7中未示出,但是当将操作700划分为更详细的操作时,当从特定用户设备200请求对内容的服务的启动时,服务器100可以执行认证程序等。此后,响应于要提供给认证的用户设备的内容,可以接收用户设备的能力信息。例如,可以包括用户设备的视频处理能力、存储器存储能力信息和/或关于用数据传输网络进行数据处理的能力的信息等。
此外,尽管未示出,但是对于特定内容,服务器100可以基于从内容提供者和/或内容创建者提供的信息(例如,元数据)预先生成预注册图像,并将其存储在第二数据库133中。
此后,在操作702中,将渲染的图像提供给帧生成器122。此外,指令处理器101可以指示帧生成。在这种情况下,指令处理器101可以包括与要发送的帧中包括的图像有关的指令信息。这种指令信息可以被配置为上面图2中描述的服务器指令信息。另外,指令信息可以被配置使得要发送的一个帧包括多个图像,如上面图5A到图5D所示。当一个帧包括一个图像、特定区域中的部分图像或两个或更多个图像时,指令处理器101可以另外提供另一服务器指令信息。此外,指令处理器101可以生成向其添加从用户设备200请求姿势信息的字段的指令信息,并将其提供给帧生成器122。
在操作702中,帧生成器122可以通过使用从渲染器121接收的至少一个渲染的图像和从指令处理器101提供的服务器指令信息来配置要发送的一个帧。一旦一个帧的生成完成,帧生成器122可以将该帧传送到媒体流编码器123。
在操作704中,媒体流编码器123可以对媒体流进行编码并通过网络10发送媒体流。在操作704中,如上面图2所描述的,通过用于与服务器100中的网络连接的网络接口的附加转换可以被执行,。
在操作706中,服务器100的指令处理器101可以检查是否通过用户指令信息从用户设备200接收到用户姿势信息。当接收到用户姿势信息时,执行操作708,并且当未接收到用户姿势信息时,执行操作702,以便执行附加图像传输。
在操作708中,用户指令信息包括姿势信息,指令处理器101可以提取姿势信息并将其提供给姿势估计器102。姿势估计器102可以稍后基于用户姿势信息来估计用户姿势。当接收到姿势信息至少两次或更多次时,可以进行这种估计。因此,当接收到用户姿势信息预先配置的次数时,操作706之后是操作708。
在操作708中,姿势估计器102可以基于用户姿势信息,在特定时间点之后,即在发送特定帧的时间点,生成图像。当预先发送这样的图像时,图像可以是预注册图像。如上所述,预注册图像可以作为图像-姿势对信息被存储在第二数据库133中。
此外,在操作710中,在由渲染器121渲染预注册图像之后,可以以图5D中描述的相同方式发送预注册图像。可以以上述相同的方式执行发送预注册图像的操作,并且可以另外配置和发送其服务器指令信息。
此后,在操作712中,渲染器121可以从第一数据库140获得发送的下一图像,并执行渲染。在渲染要发送的下一图像之后,在操作714中,图像比较器131可以将下一图像与存储在第二数据库133中的预注册图像进行比较,并将比较结果提供给指令处理器101。因此,指令处理器101可以确定是在没有任何改变的情况下使用预注册图像,还是在将来使用预注册图像,或者通过小的改变来使用预注册图像。根据这种确定,指令处理器101可以生成服务器指令信息,并将帧生成信号与服务器指令信息一起提供给帧生成器122。
当使用预存储图像时,如上所述,可以节省带宽,并且可以在延迟高或传输速率低的情况下以及在用户设备不能重新处理图像的情况下提供适当的服务。
在图7中,描述了根据本发明的一个实施例的方案。尽管图7中未描述,但其他附图中描述的实施例也可应用于本发明。
图8是示出根据本公开的各种实施例的从用户设备接收内容数据的情况的流程图。
参考图8,在操作800中,用户设备200的媒体流解码器212可以接收并解码媒体流。另外,在操作802中,指令处理器211可以获取从媒体流解码器提供的解码的图像和服务器指令信息。如果服务器指令信息指示解码的图像的预注册,则在操作804中,指令处理器211可以执行解码的图像在第三数据库214中的控制注册。在另一示例中,指令处理器211可以将解码的图像输出到变换器215,以允许变换器将解码的图像转换为要提供给用户的图像。在另一示例中,指令处理器可以指示在第三数据库214中注册解码的图像,同时指示将解码的图像输出到变换器215以便提供给用户。
在操作804中,当存储接收的图像时,图像与预注册图像相对应。这种情况可以包括在如上图2所述的服务开始时间点预先发送预注册图像的情况。
此外,在操作804中,当发出指令使得解码的图像在第三数据库中被注册的同时向用户显示解码图像时,可以频繁使用特定图像,并且这种情况可以与在同时发出指示预注册的指令的同时发出指示显示对应图像的指令的情况相对应。
此外,在操作804中,当解码的图像被输出到变换器215以便提供给用户时,解码的图像的使用频率可以是低的,并且解码的图像可能不与预注册图像相对应。
此后,在操作806中,变换器215可以基于从指令处理器211提供的信息,在不进行任何改变或通过小的改变的情况下,将从第三数据库214接收的图像或由媒体流解码器解码的图像中的一个变换为要提供给用户的图像。变换的图像可以被存储在显示缓冲器216中。
当提供存储的图像的时间点到达时,在操作808中,显示缓冲器216可以将存储在缓冲器中的图像显示在显示器217上,以便向用户提供对应图像。在连续图像的情况下,可以在预配置的时间内向用户提供连续图像帧,以便能够提供连续图像。因此,可以以每秒24帧或更高的速率提供缓冲器216中的缓冲之后显示的图像。
当连续提供服务时,传感器213可以以规则时间间隔或不规则时间间隔获得用户姿势信息。使用规则时间间隔的情况与用户没有剧烈移动的情况相对应,并且这可以根据内容的特征来配置。在另一示例中,在存在用户剧烈移动的情况下,如果特定内容提供特定帧,则用户姿势可能快速改变。在这种情况下,需要比正常情况更快地检测用户姿势。
基于上述信息,传感器213连续地将用户姿势信息提供给指令处理器211。因此,在操作810中,指令处理器211可以从传感器获得用户姿势信息,并通过向其包括用户姿势信息来发送用户指令信息。
此外,如上所述,当向用户提供特定图像帧时使用预注册图像时,指令处理器211可以提供对应的图像信息。在这种情况下,当通过修改使用图像时,另外生成关于修改的信息作为用户指令信息,以便提供给服务器100。
图9是示出根据本公开的第二实施例的植入服务器的情况的框图。
图9示出向图2的配置添加和修改部分配置。因此,将简单地进行或省略与图2的配置和操作相同的配置和操作的描述。
参考图9,与图2相比,可以另外配置错误检测码生成器912。因此,渲染器911的输出不是被输入到帧生成器913,而是被输入到错误检测码生成器912。渲染器911可以如图2所述从第一数据库140获得与内容相对应的要发送的图像,并渲染图像,并将渲染的图像提供给错误检测码生成器912。在这种情况下,渲染器911可以使用从姿势估计器102估计的姿势信息。
当从渲染器911生成的渲染的图像被输入到错误检测码生成器912时,错误检测码生成器可以生成与图像相对应的错误检测码。错误检测码生成器912是另外配置的,因为服务器100和用户设备200之间的网络与其中可能发生错误或丢失并且可能发生传输协议上的错误或丢失的网络相对应。
将参考图11描述错误检测码的生成。
图11示出根据本公开的各种实施例对渲染的图像的错误检测区域进行分类的情况。
图11示出使用上面图4A中描述的建筑物300的图像对错误检测区域进行分类的情况。建筑物300可以包括左墙壁310和右墙壁320。此外,在本公开中,构成一个帧的区域被划分为九个均匀的错误检测区域1101、1102、1103、1104、1105、1106、1107、1108和1109。图11仅示出一个示例,并且一个帧可以被划分为更多或更少的错误检测区域。
此外,在图11中,在建筑物被包括在所有区域中的情况下和建筑物仅被设置在一些错误检测区域中的情况下,每个错误检测区域被配置为具有均匀的大小。然而,根据图像处理技术,当可以将每个错误检测区域的大小信息配置为单独发送时,可以将错误检测区域中建筑物所在的错误检测区域区分为具有小的大小的错误检测区域,这样就可以实现方便的错误检测和纠正。例如,错误检测区域#5 1105可以被实现具有九个附加错误检测区域。
可以配置进一步划分为附加错误检测区域,使得当特定图像数据占据错误检测区域的50%或更多时,另外划分错误检测区域。
如图11所示,当一个帧被划分为九个错误检测区域时,可以做出实现,使得对每个错误检测区域生成用于错误检测的代码,并且将代码作为附加信息发送到渲染的图像。
返回参考图9,错误检测码生成器912可以将渲染的图像划分为预先配置的区域,并为每个区域生成用于错误验证的代码。与每个错误检测区域相对应生成的错误验证码可以被配置为作为附加信息被发送到渲染的图像。能够验证错误的代码在下面的描述中称为“错误验证码”。关于错误验证码的传输信道,可以使用与发送渲染的图像的信道相同的信道来发送错误验证码。在另一示例中,相对于错误验证码的传输信道,错误验证码可以是与用于渲染的图像的信道不同的单独信道。另外,关于错误验证码的传输周期,可以对渲染的图像的每个帧发送错误验证码,对如图11所示在一个帧中分类的每个错误验证区域发送错误验证码,或者根据来自用户设备200的请求发送错误验证码。
错误检测区域可以遵循诸如宏块、条带和片的视频编码结构,或者可以对包括在一个视频帧中被确定为有意义的部分的区域(例如,诸如人类对象的面部的部分)单独配置。
错误检测区域的信息的示例可以如下面的<表11>所示。
【表11】
包括上述信息的错误检测码生成器的输出被发出到帧生成器913。因此,帧生成器913可以基于指令处理器101的指令,通过包括服务器指令信息来生成和输出帧。此后,媒体流编码器914可以对包括错误检测码的图像帧进行编码,并通过网络10将其发送到用户设备200。
图10是示出根据本公开的第二实施例的实现用户设备的情况的框图。
图10是与图9的服务器装置相对应的用户设备的配置,并且部分配置可以被添加到图3的配置并从图3的配置修改。
参考图10,与图3的配置相比存在以下差异。
在图3的实施例中,在接收的媒体帧被解码之后,帧被输出到变换器,同时被输出到指令处理器211,但是在图10的第二实施例中,媒体流解码器1011将解码的帧输出到错误检测码生成器1012,而不将其输出到变换器1014。在这种情况下,媒体流解码器1011可以识别接收的帧是否包括错误检测区域信息。如果包括错误检测区域信息,则当解码的帧被输出到错误检测码生成器1012时,可以将错误检测区域信息和错误检测区域信息中包括的信息提供给错误检测码生成器1012。
错误检测码生成器1012可以提取解码的图像数据和描述错误检测区域信息的区域信息,并且在错误检测方法类型(error_detection_method_type)中指定的方案中验证每个区域,以便计算错误检测码。
如果计算的错误检测码与如表11所示的从服务器提供的错误恢复信息(error_detection_region_information)中的错误检测码(error_detection_code)不一致,则错误检测码生成器1012可以确定从服务器100接收的数据是否包括传输路径和/或接收过程中的错误。
此外,除了诸如一致性或不一致性的真/假值之外,诸如峰值信噪比(PSNR)的信噪比计算方法可以用于通过在接收的图像和预注册图像的一部分之间进行比较来提供清晰度损失的程度。服务器100在用于错误恢复的信息中为每个错误检测区域指定用于错误恢复的预注册图像的全部或部分,因此,当在要发送的图像与第二数据库中的预注册图像之间的PSNR比较期间,返回预定值作为两个图像之间的相似性。服务器100可以向用户设备200提供与每个错误检测区域的预注册图像的一部分的PSNR比较的值,并且当确定在接收图像的错误检测区域中发生了错误时,用户设备200可以获得与服务器100指示的预注册图像的PSNR比较的值,并且如果获得的值与服务器100提供的PSNR比较值相比在预定阈值范围内,则确定是否执行错误恢复。
当错误检测码生成器1012确定发生了预定级别或更低级别的错误时,错误检测码生成器1012可以确定使用解码的图像而不做任何改变。可以为每个用户设备200确定预定级别或更低级别的错误的级别值,或者可以是服务器100预先提供的值。在这种情况下,错误检测码生成器1012可以指示图像恢复器1013使用图像而不进行任何改变。
如果图像中没有错误,或者如果已经发生了预定级别或更低级别的错误,但是即使存在错误,也发出了使用图像而不进行任何改变的指令,则图像恢复器1013可以将解码的图像提供给变换器1014,而无需特殊处理。
另一方面,作为错误检测码生成器1012中的检查的结果,已经发生错误并且需要恢复错误,错误检测码生成器1012可以通过使用第三数据库214中的预注册图像来指示恢复错误部分。图10未示出用于图像恢复器1013和第三数据库214之间的连接的线,但是对于这种处理,存在用于在图像恢复器1013和第三数据库214之间发送或接收控制信号和数据的路径。此外,当执行错误恢复时,服务器100具有关于由用户设备200预注册的图像的信息,因此,服务器可以预先提供关于要用于恢复的图像的信息。这可以基于图像-姿势对信息来指示。
因此,图像恢复器1013可以从预注册图像中提取对应区域的图像,并用提取的图像替换发生错误的图像区域,以便恢复图像。例如,在图11的情况下,当在第五错误检测区域(错误检测区域#5)1105中发生错误时,可以从与错误相对应的预存储图像中提取对应区域中的图像,以便执行恢复。
此外,服务器100可以通过在用户设备200中接收的错误恢复信息来单独指示用于使用预注册图像的方法。这种指令也可以作为服务器指令信息被一起提供。此外,图像恢复器1013可以通过基于存储在第三数据库214中的图像-姿势对信息的图像与服务器100基于图像-姿势对信息提供的估计图像信息的比较,从存储在第三数据库214中的图像中获得最佳图像。在这种情况下,还可以另外利用从传感器213接收的用户的最近姿势信息。当服务器100提供的估计用户姿势信息与从传感器213接收的最近姿势信息之间存在差异时,图像恢复器1013可以考虑差异来恢复图像。也就是说,在图像恢复期间,可以考虑姿势的差异来变换图像,并且变换的图像可以用作替换,并且可以被插入到发生错误的对应区域中。
此外,当变换的图像用作替换并且被插入到发生了错误的图像的特定区域中时,图像恢复器1013可以另外应用附加处理,例如空间或视觉平滑技术,以便以更无缝的方式执行融合。
根据上面描述的第二实施例,即使在服务器100和用户设备200之间传输的内容图像中发生了错误,也可以检测错误并且可以适当地校正错误。这可以通过使用预注册图像在图像重传中无延迟地执行,并且预注册图像可以以各种方式被重用,因此这有利于增加带宽的可用性。
此外,说明书和附图中公开的各种示例性实施例仅建议具体示例以便容易地解释本公开的内容并帮助理解本公开,并意在限制本公开。因此,应当理解,除了本文公开的实施例之外,基于本公开的技术精神导出的所有修改或变更都属于本公开的范围。
虽然已经用各种实施例描述了本公开,但是可以向本领域技术人员建议各种改变和修改。本公开的意图包括落入所附权利要求范围内的这些改变和修改。
【工业可用性】
它能够用于向用户设备提供高质量媒体流的情况。
- 用于在无线通信装置上提供交互式媒体指南的系统和方法
- 包括呼吸面具和装载装置的组件,用于装载呼吸面具的方法和用于提供呼吸面具的方法
- 用于提供胆道癌诊断信息的方法和用于诊断胆道癌的装置
- 用于机器类通信系统的服务提供方法、装置及电子设备
- 应用于提供方客户端资源流交易方法、装置、设备及介质
- 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置
- 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置