CN116965015A - 在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质 - Google Patents

在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质 Download PDF

Info

Publication number
CN116965015A
CN116965015A CN202380010533.5A CN202380010533A CN116965015A CN 116965015 A CN116965015 A CN 116965015A CN 202380010533 A CN202380010533 A CN 202380010533A CN 116965015 A CN116965015 A CN 116965015A
Authority
CN
China
Prior art keywords
metadata
media
media segments
format
vector
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
CN202380010533.5A
Other languages
English (en)
Inventor
伊拉吉·索达加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN116965015A publication Critical patent/CN116965015A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/787Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Analysis (AREA)

Abstract

一种由至少一个处理器执行的方法包括在多维空间中将媒体流分段成多个媒体片段。该方法包括确定与多个媒体片段中的每一个媒体片段相关联的对应元数据。该方法包括将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列。该方法包括基于封装的元数据并行处理多个媒体片段。该方法进一步包括在并行处理之后将多个媒体片段合并到媒体流中。

Description

在云平台中并行处理的分段的媒体元数据的有线格式的方 法、装置以及存储介质
相关申请的交叉引用
本申请基于并要求于2022年1月12日提交的美国专利申请第63/298,922号和于2022年11月21日提交的美国专利申请第17/991,530号的优先权,两个申请的全部内容通过引用结合在本文中。
技术领域
本公开总体上涉及有线格式,并且更具体地涉及在云平台中并行处理的分段的媒体元数据的有线格式的方法和装置。
背景技术
基于网络的媒体处理(NBMP,Network-Based Media Processing)框架定义了接口,所述接口包括在通过数字网络连接的实体之间用于媒体处理的数据格式和应用编程接口(API,application programming interfaces)。NBMP标准定义了一组用于独立处理媒体片段的工具。该框架使得能够动态地创建媒体处理流水线,以及实时地或以延迟的方式访问处理的媒体数据和元数据。网络和云平台用于运行各种应用。虽然定义了元数据参数,但是在NBMP标准中没有为片段元数据定义可互操作的有线格式。
发明内容
以下呈现了本公开的一个或多个实施例的简化概述,以便提供对这些实施例的基本理解。该概述不是对所有预期实施例的广泛综述,并且既不旨在识别所有实施例的关键或重要元素,也不旨在描绘任何或所有实施例的范围。其唯一目的是以简化形式呈现本公开的一个或多个实施例的一些概念,作为稍后呈现的更详细描述的序言。
根据示例性实施例,一种由至少一个处理器执行的方法包括在多维空间中将媒体流分段成多个媒体片段。该方法包括确定与多个媒体片段中的每一个媒体片段相关联的对应元数据。该方法包括将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列。该方法包括基于封装的元数据并行处理多个媒体片段。该方法进一步包括在并行处理之后将多个媒体片段合并到媒体流中。
根据示例性实施例,一种装置,包括:至少一个存储器,其被配置为存储计算机程序代码;以及至少一个处理器,其被配置为读取计算机程序代码并按照计算机程序代码所指示的进行操作,计算机程序代码包括分段代码,该分段代码被配置为使至少一个处理器在多维空间中将媒体流分段成多个媒体片段。计算机程序代码包括确定代码,该确定代码被配置为使至少一个处理器确定与多个媒体片段中的每一个媒体片段相关联的对应元数据。计算机程序代码包括封装代码,该封装代码被配置为使至少一个处理器将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列。计算机程序代码包括并行处理代码,该并行处理代码被配置为使至少一个处理器基于封装的元数据并行处理多个媒体片段。计算机程序代码进一步包括合并代码,该合并代码被配置为使至少一个处理器在并行处理之后将多个媒体片段合并到媒体流中。
根据示例性实施例,一种存储有指令的非易失性计算机可读介质,这些指令在由处理器执行时使处理器执行方法,该方法包括在多维空间中将媒体流分段成多个媒体片段。该方法包括确定与多个媒体片段中的每一个媒体片段相关联的对应元数据。该方法包括将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列。该方法包括基于封装的元数据并行处理多个媒体片段。该方法进一步包括在并行处理之后将多个媒体片段合并到媒体流中。
本公开公开了用于云平台中并行处理的分段的媒体元数据的有线格式的方法、装置和非易失性计算机可读介质。
附加的实施例将在以下的描述中阐述,并且部分地将从描述中显而易见,和/或可以通过实践本公开的所呈现的实施例来了解。
附图说明
从以下结合附图的描述中,本公开实施例的以上和其它方面、特征和方面将更加明显,其中:
图1是根据本公开的各种实施例的示例基于网络的媒体处理(NBMP,network-based media processing)架构的图。
图2是根据本公开的各种实施例的NBMP架构中的分割器和合并器模板的图。
图3是根据本公开的各种实施例的作为JavaScript对象表示法(JSON,JavaScriptObject Notation)对象的片段位置元数据的示例。
图4是根据本公开的各种实施例的作为JSON对象的片段序列元数据的示例。
图5是根据本公开的各种实施例的使用媒体流元数据的有线格式来分段和处理媒体流的示例过程的流程图。
图6图示了根据本公开的各种实施例的示例计算机系统。
具体实施方式
示例实施例的以下详细描述参考附图。不同附图中的相同附图标记可以识别相同或相似的元素。
上述公开提供了图示和描述,但并不旨在穷举或将实现限制为所公开的精确形式。根据以上公开,修改和变化是可能的,或者可以从实现的实践中获得修改和变化。此外,一个实施例的一个或多个特征或部件可以并入另一实施例(或另一实施例的一个或多个特征)中或与另一实施例(或另一实施例的一个或多个特征)组合。另外,在以下提供的操作的流程图和描述中,应当理解,可以省略一个或多个操作,可以添加一个或多个操作,可以同时(至少部分地)执行一个或多个操作,并且可以切换一个或多个操作的顺序。
显然,本文中描述的系统和/或方法可以以不同形式的硬件、固件,或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现。因此,在不参考特定软件代码的情况下在本文中描述了系统和/或方法的操作和行为——应当理解,可以基于本文中的描述来设计软件和硬件以实现系统和/或方法。
虽然特征的特定组合在权利要求中陈述和/或在说明书中公开,但是这些组合并不旨在对可能的实现的公开内容进行限制。实际上,这些特征中的许多特征可以以在权利要求中未具体陈述和/或在说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可以直接从属于仅一个权利要求,但是可能的实现的公开内容包括与权利要求组中的每个其它权利要求组合的每个从属权利要求。
本文中所使用的元素、动作或指令不应被解释为关键的或必要的,除非明确地这样描述。此外,如本文中所使用的,冠词″一(a)″和″一个(an)″旨在包括一个或多个项,并且可以与″一个或多个″互换使用。在仅意指一个项的情况下,使用术语″一个(one)″或相似的语言。此外,如本文中所使用的,术语″具有(has)″、″具有(have)″或″具有(having)″、″包括(include)″、″包括(including)″等旨在是开放式术语。此外,短语″基于″旨在表示″至少部分地基于″,除非另有明确说明。此外,诸如″[A]和[B]中的至少一个″或″[A]或[B]中的至少一个″的表述应理解为仅包括A、仅包括B、或包括A和B两者。
在本说明书中引用的″一个实施例″、″实施例″或相似的语言是指与所示实施例相关的描述的特定特征、结构或特性包括在本解决方案的至少一个实施例中。因此,贯穿本说明书的短语″在一个实施例中″、″在实施例中″和相似的语言可以但不一定都指相同的实施例。
此外,本公开的所述特征、优点和特性可以以任何合适的方式组合在一个或多个实施例中。根据本文中的描述,相关领域的技术人员将认识到,可以在没有特定实施例的一个或多个具体特征或优点的情况下实践本公开。在其它实例中,在某些实施例中可以认识到在本公开的所有实施例中可能不存在的附加的特征和优点。
本公开的实施例涉及在媒体片段的NBMP处理中使用的分段的媒体元数据的有线格式。图1图示了NBMP参考架构(100)的实施例。NBMP参考架构(100)可以包括媒体源102,媒体源102可以向媒体处理实体(MPE)(104)提供媒体流(例如,媒体流)。MPE(104)还可以向媒体接收器(106)提供媒体流。
参考架构(100)可以进一步包括向NBMP工作流管理器(110)提供NBMP工作流API和工作流描述的NBMP源(108)。NBMP工作流管理器(110)可以从MPE(104)接收NBMP任务,并向MPE(104)提供MPE API。参考架构(100)可以进一步包括与NBMP源(108)和NBMP工作流管理器(110)交互的功能存储库(112)。
图2图示了以NBMP标准定义的分割器和合并器功能模板的示例。分割器和合并器功能可以用于片段的并行处理。媒体流可以是连续的。然而,分割器功能可以将媒体流转换为N个媒体子流。每个子流可以由T的实例来处理,并且然后将这些子流交织在一起以生成输出(例如,等同于任务T)流。
1:N分割器和N:1合并器功能可以作用于片段边界。每个片段可以具有(i)起始、(ii)持续时间和(iii)长度元数据,或(i)起始代码和(ii)与片段相关联的序列号。由于片段是独立的,因此子流在由任务T处理方面是彼此独立的。在一些实施例中,任务T0、......TN-1不需要同时处理片段。由于片段和子流是独立的,所以任务的每个实例可以以彼此独立的速度运行(例如,任务的每个实例可以以其自己的速度运行)。传统的NBMP标准仅寻址媒体数据的一维分段。
根据一些实施例,每个片段可以使用以下元数据之一:
1.位置元数据:
a.缩放矢量T=[t0,t1,...,tM-1],用于SD的缩放因子,
b.起始矢量S=[s0,s1,...,sM-1],其以单位ti中的每个索引si表示M维空间中的媒体片段的起始点,
c.长度矢量D=[d0,d1,...,dM-1],其以单位ti中的每个索引di表示媒体片段覆盖的在M维空间中的超空间,以及
d.以字节为单位的片段L的大小。
2.或,序列元数据:
a.序列矢量n=[n0,n1,...,nM-1],以每个索引ni表示M维空间中的媒体片段的序列,
b.Startcode(起始代码)C,每个片段以其起始的唯一代码,并且该代码不在任何片段的中间重复,以及
c.以字节为单位的片段L的大小。
NBMP标准没有定义用于以上元数据的有线格式。
根据一些实施例,一个或多个片段的元数据的有线格式可以包括用于位置元数据和/或序列元数据的字节流格式。字节流格式可以包括相关联的多用途因特网邮件扩展(MIME,Multipurpose Internet Mail Extension)。根据一些实施例,用于一个或多个片段的元数据的有线格式可以包括用于位置元数据和/或序列元数据的JavaScript对象表示法(JSON)格式。JSON格式可以包括相关联的MIME。
根据一些实施例,参数C、S、DT定义如下。C可以是具有M维的矢量[c0,c1,...,eM-1],元素ci具有索引i,其中索引i+1嵌套在索引i中,这意味着矢量的索引i的一个增量被认为是比索引i+1、i+2、......、M-1中的任何增量更大的增加,其中0≤i<M。
具有维度M的多维片段可以被定义为表示空间中的样本的信息的片段,所述空间从点S=[s0,s1,...,sM-1]和长度D=[d0,d1,...,dM-1]起始,其中si和di是非负整数。如果需要非整数值,则矢量T=[t0,t1,...,tM-1]可以表示维度i的缩放因子ti,其中,维度i中的实际起始点和长度分别是si/ti和di/ti,其中ti可以是正整数。
表1图示了单个片段的位置元数据的示例字节格式。
表1
可以通过相同的表的一个或多个级联来为附加的片段重复该表:用于多个片段的表1、表1、......、表1。
表2示出了用于单个片段的序列元数据的示例字节格式。在一些实施例中,由于startcode C在所有片段中都是通用的(例如,在所有片段中都是相同的startcode),所以startcode C不作为序列元数据的一部分被携带,并且具有它自己的对功能的输入。
表2
可以通过相同的表2的一个或多个级联来为附加的片段重复该表:用于多个片段的表2、表2、......、表2。
图3图示了用于一个或多个片段的位置元数据的示例JSON对象(300)。图4图示了用于一个或多个片段的序列元数据的示例JSON对象(400)。在一些实施例中,由于startcode C在所有片段中可以是通用的,所以startcode C可以不作为序列元数据的一部分被携带,并且具有它对功能的输入。
表3图示了用于每个有线格式(例如,字节格式和JSON对象)的示例MIME类型。
表3
表4示出了通过其功能描述文档(FDD)中的功能发信号通知支持的格式的示例性扩展步长描述符参数。加下划线的行是新的参数。
图5图示了使用用于媒体流元数据的有线格式来分段和处理媒体流的过程(500)的实施例的流程图。过程(500)可以起始于操作(502),其中将媒体流分段成多个媒体片段。过程进行到操作(504),其中确定与多个媒体片段中的每一个媒体片段相关联的对应元数据。过程进行到操作(506),其中将每个媒体片段的元数据封装到诸如字节格式或JSON格式的预定的有线格式中。元数据可以是位置元数据或序列元数据。元数据可以包括与多个媒体片段中的每一个媒体片段相关联的位置或序列。过程进行到操作(508),其中基于封装的元数据并行处理多个媒体片段。过程进行到操作(510),其中在并行处理之后,将多个媒体片段合并到媒体流中。
以上描述的本公开的实施例的技术可以被实现为使用计算机可读指令并且物理地存储在一个或多个计算机可读介质中的计算机软件。例如,图6示出了适于实现所公开的主题的实施例的计算机系统(600)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,该机器代码或计算机语言可以通过汇编、编译、链接或类似机制来创建代码,该代码包括可以由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接或通过解释、微代码执行等执行的指令。
这些指令可以在各种类型的计算机或其部件上执行,包括(例如)个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
图6中所示的用于计算机系统(600)的部件本质上是示例性的,并且不旨在对实现本公开的实施例的计算机软件的使用范围或功能提出任何限制。部件的配置也不应被解释为对计算机系统(600)的示例性实施例中图示的任何一个部件或其组合具有任何依赖性或要求。
计算机系统(600)可以包括某些人机接口输入设备。这种人机接口输入设备可以响应于一个或多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:手势)、嗅觉输入(未描绘)的输入。人机接口设备还可以用于捕获不一定与人的有意识输入直接相关的某些介质,诸如音频(诸如语音、音乐、环境声音)、图像(诸如扫描图像、从静止图像照相机获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
输入人机接口设备可以包括以下中的一个或多个(每种仅描绘了其中的一个):键盘(601)、鼠标(602)、触控板(603)、触摸屏(610)、数据手套、操纵杆(605)、麦克风(606)、扫描仪(607)、照相机(608)。
计算机系统(600)还可以包括某些人机接口输出设备。这种人机接口输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感官。这种人机接口输出设备可以包括触觉输出设备(例如,通过触摸屏(610)、数据手套或操纵杆(605)的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)。例如,这种设备可以是音频输出设备(诸如:扬声器(609)、耳机(未描绘))、视觉输出设备(诸如屏幕(610),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,其各自具有或不具有触摸屏输入能力,各自具有或不具有触觉反馈能力一—其中一些能够通过诸如立体输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟雾罐(未描绘))和打印机(未描绘)。
计算机系统(600)还可以包括人类可访问的存储设备以及它们相关联的介质,诸如包括具有CD/DVD的CD/DVD ROM/RW(620)等介质(621)的光学介质、拇指驱动器(622)、可移动硬盘驱动器或固态驱动器(623)、诸如磁带和软盘(未描绘)的传统磁性介质、诸如安全软件狗(未描绘)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应理解,结合当前公开的主题使用的术语″计算机可读介质″不涵盖传输介质、载波或其它易失性信号。
计算机系统(600)还可以包括到一个或多个通信网络的接口。网络可以是例如无线的、有线的、光学的。网络可以进一步是本地的、广域的、城域的、车载的和工业的、实时的、延迟容忍的等等。网络的示例包括局域网(诸如以太网)、无线LAN、蜂窝网络(包括GSM、3G、4G、5G、LTE等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车辆和工业网络(包括CANBus)等。某些网络通常需要附接到某些通用数据端口或外围总线(649)的外部网络接口适配器(例如,计算机系统(600)的USB端口);其它网络通常通过附接到如下所述的系统总线而集成到计算机系统(600)的核心中(例如以太网接口到PC计算机系统中或蜂窝网络接口到智能电话计算机系统中)。使用这些网络中的任一者,计算机系统(600)可以与其它实体进行通信。这种通信可以是单向的仅接收(例如,广播电视)、单向的仅发送(例如,CANbus到某些CANbus设备)或双向的(例如到使用局域或广域数字网络的其它计算机系统)。这种通信可以包括到云计算环境(655)的通信。可以在如上所述的那些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口设备、人类可访问的存储设备和网络接口(654)可以附接到计算机系统(600)的核心(640)。
核心(640)可以包括一个或多个中央处理单元(CPU)(641)、图形处理单元(GPU)(642)、现场可编程门阵列(FPGA)(643)形式的专用可编程处理单元、用于某些任务的硬件加速器(644)等。这些设备连同只读存储器(ROM)(645)、随机存取存储器(646)、诸如内部非用户可访问的硬盘驱动器、SSD等的内部大容量存储装置(647)可以通过系统总线(648)连接。在一些计算机系统中,系统总线(648)可以以一个或多个物理插头的形式访问,以使得能够通过附加的CPU、GPU等进行扩展。外围设备可以直接附接到核心的系统总线(648),或者通过外围总线(649)附接到核心的系统总线(648)。外围总线的架构包括PCI、USB等。图形适配器(650)可以被包括在核心(640)中。
CPU(641)、GPU(642)、FPGA(643)和加速器(644)可以执行某些指令,这些指令的组合可以构成上述计算机代码。该计算机代码可以存储在ROM(645)或RAM(646)中。过渡数据也可以存储在RAM(646)中,而永久数据可以存储在例如内部大容量存储装置(647)中。可以通过使用高速缓冲存储器来启用对任何存储器设备的快速存储和检索,该高速缓冲存储器可以与一个或多个CPU(641)、GPU(642)、大容量存储装置(647)、ROM(645)、RAM(646)等紧密相关联。
计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而专门设计和构造的那些,或者它们可以是计算机软件领域的技术人员公知和可用的类型。
作为示例而非限制,具有架构(600)并且特别是核心(640)的计算机系统可以提供作为执行体现在一个或多个有形的计算机可读介质中的软件的一个或多个处理器(包括CPU、GPU、FPGA、加速器等)的结果的功能。这种计算机可读介质可以是与如上所介绍的用户可访问的大容量存储装置相关联的介质,以及具有非易失性性质的核心(640)的某些存储装置(诸如核心内部大容量存储装置(647)或ROM(645))。实现本公开的各种实施例的软件可以存储在这种设备中并由核心(640)执行。根据特定需要,计算机可读介质可以包括一个或多个存储器设备或芯片。软件可以使核心(640)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定过程或特定过程的特定部分,包括定义存储在RAM(646)中的数据结构,并且根据软件定义的过程对这种数据结构进行修改。此外或作为替代,计算机系统可以提供作为逻辑硬连线或以其它方式体现在电路中的结果的功能(例如:加速器(644)),其可以代替软件或与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以涵盖逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以涵盖存储用于执行的软件的电路(诸如集成电路(IC))、体现用于执行的逻辑的电路,或两者。本公开涵盖硬件和软件的任何合适的组合。
上述公开提供了图示和描述,但并不旨在穷举或将实现限制为所公开的精确形式。根据以上公开,修改和变化是可能的,或者可以从实现的实践中获得修改和变化。
应当理解,本文中公开的过程/流程图中的框的特定顺序或层次是示例方法的图示。基于设计偏好,应当理解,可以重新排列过程/流程图中框的特定顺序或层次。此外,可以组合或省略一些框。所附方法权利要求以样本顺序呈现各个框的元素,并且不意味着限于所呈现的特定顺序或层次。
一些实施例可以涉及在任何可能的技术细节级集成的系统、方法和/或计算机可读介质。此外,上述部件中的一个或多个可以被实现为存储在计算机可读介质上并可由至少一个处理器(和/或可以包括至少一个处理器)执行的指令。计算机可读介质可以包括计算机可读非易失性存储介质,该计算机可读非易失性存储介质上具有用于使处理器执行操作的计算机可读程序指令。
计算机可读存储介质可以是有形设备,该有形设备可以保存和存储由指令执行设备使用的指令。计算机可读存储介质可以是,但不限于,例如电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备,或上述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机磁盘、硬盘驱动器、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械已编码装置(诸如其上记录有指令的凹槽中的穿孔卡片或凸起结构),以及上述各项的任何合适的组合。如本文中使用的计算机可读存储介质不被解释为是易失性信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过导线传输的电信号。
本文中描述的计算机可读程序指令可以从计算机可读存储介质被下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网,和/或无线网络)被下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可以为汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据或者以一种或多种编程语言的任何组合编写的源代码或目标代码,该编程语言包括对象导向的编程语言(诸如Smalltalk、C++)和过程编程语言(诸如″C″编程语言或相似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立软件包部分地在用户的计算机上执行并且部分地在远程计算机上或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA),或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行各方面或操作。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机,或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的一个或多个框中指定的功能/动作的手段。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其它设备以特定方式发挥功能,使得其中存储有指令的计算机可读存储介质包括这样的制品,该制品包括实现在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使在计算机、其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机执行的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图图示了根据各种实施例的系统、方法和计算机可读介质的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现指定的一个或多个逻辑功能的一个或多个可执行指令。方法、计算机系统和计算机可读介质可以包括附加的框、更少的框、不同的框或与附图中描绘的框不同地布置的框。在一些可选实现中,在框中指出的功能可以不按照附图中指出的顺序发生。例如,连续示出的两个框实际上可以同时或基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应当注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的专用基于硬件的系统来实现。
显然,本文中描述的系统和/或方法可以以不同形式的硬件、固件,或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实现。因此,在不参考特定软件代码的情况下在本文中描述了系统和/或方法的操作和行为——应当理解,可以基于本文中的描述来设计软件和硬件以实现系统和/或方法。
以上公开还涵盖了下列实施例:
(1)一种由至少一个处理器执行的方法,该方法包括:在多维空间中将媒体流分段成多个媒体片段;确定与多个媒体片段中的每一个媒体片段相关联的对应元数据;将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列;基于封装的元数据并行处理多个媒体片段;以及在并行处理之后,将多个媒体片段合并到媒体流中。
(2)根据特征(1)所述的方法,其中来自多个媒体片段的每个媒体片段的元数据包括位置元数据。
(3)根据特征(2)所述的方法,其中预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以字节流格式封装。
(4)根据特征(2)所述的方法,其中预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于多个媒体片段的阵列元素中。
(5)根据特征(1)所述的方法,其中来自多个媒体片段的每个媒体片段的元数据包括序列元数据。
(6)根据特征(5)所述的方法,其中预定的有线格式是字节流格式,并且其中将多维序列矢量和大小信息中的一个或多个以字节流格式封装。
(7)根据特征(5)所述的方法,其中预定的有线格式是JSON阵列,并且其中将多维序列矢量和大小信息中的一个或多个封装在用于多个媒体片段的阵列元素中。
(8)根据特征(1)所述的方法,其中预定的有线格式包括多用途因特网邮件扩展(MIME)。
(9)一种装置,包括至少一个存储器,其被配置为存储计算机程序代码;以及至少一个处理器,其被配置为读取计算机程序代码并按照计算机程序代码所指示的进行操作,计算机程序代码包括:分段代码,其被配置为使至少一个处理器在多维空间中将媒体流分段成多个媒体片段;确定代码,其被配置为使至少一个处理器确定与多个媒体片段中的每一个媒体片段相关联的对应元数据;封装代码,其被配置为使至少一个处理器将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列;并行处理代码,其被配置为使至少一个处理器基于封装的元数据并行处理多个媒体片段;以及合并代码,其被配置为使至少一个处理器在并行处理之后,将多个媒体片段合并到媒体流中。
(10)根据特征(9)所述的装置,其中来自多个媒体片段的每个媒体片段的元数据包括位置元数据。
(11)根据特征(10)所述的装置,其中预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以字节流格式封装。
(12)根据特征(10)所述的装置,其中预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于多个媒体片段的阵列元素中。
(13)根据特征(9)所述的装置,其中来自多个媒体片段的每个媒体片段的元数据包括序列元数据。
(14)根据特征(13)所述的装置,其中预定的有线格式是字节流格式,并且其中将多维序列矢量和大小信息中的一个或多个以字节流格式封装。
(15)根据特征(13)所述的装置,其中预定的有线格式是JSON阵列,并且其中将多维序列矢量和大小信息中的一个或多个封装在用于多个媒体片段的阵列元素中。
(16)根据特征(9)所述的装置,其中预定的有线格式包括多用途因特网邮件扩展MIME。
(17)一种其中存储有指令的非易失性计算机可读介质,指令在由处理器执行时使处理器执行一种方法,该方法包括:在多维空间中将媒体流分段成多个媒体片段;确定与多个媒体片段中的每一个媒体片段相关联的对应元数据;将多个元数据封装成预定的有线格式,每个封装的元数据包括与多个媒体片段中的每一个媒体片段相关联的位置或序列;基于封装的元数据并行处理多个媒体片段;以及在并行处理之后,将多个媒体片段合并到媒体流中。
(18)根据特征(17)所述的非易失性计算机可读介质,其中来自多个媒体片段的每个媒体片段的元数据包括位置元数据。
(19)根据特征(18)所述的非易失性计算机可读介质,其中预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以字节流格式封装。
(20)根据特征(18)所述的非易失性计算机可读介质,其中预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于多个媒体片段的阵列元素中。

Claims (20)

1.一种由至少一个处理器执行的方法,其特征在于,所述方法包括:
在多维空间中将媒体流分段成多个媒体片段;
确定与所述多个媒体片段中的每一个媒体片段相关联的对应元数据;
将多个元数据封装成预定的有线格式,每个封装的元数据包括与所述多个媒体片段中的所述每一个媒体片段相关联的位置或序列;
基于所述封装的元数据并行处理所述多个媒体片段;以及
在所述并行处理之后,将所述多个媒体片段合并到所述媒体流中。
2.根据权利要求1所述的方法,其特征在于,来自所述多个媒体片段的每个媒体片段的元数据包括位置元数据。
3.根据权利要求2所述的方法,其特征在于,所述预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以所述字节流格式封装。
4.根据权利要求2所述的方法,其特征在于,所述预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于所述多个媒体片段的阵列元素中。
5.根据权利要求1所述的方法,其特征在于,来自所述多个媒体片段的每个媒体片段的元数据包括序列元数据。
6.根据权利要求5所述的方法,其特征在于,所述预定的有线格式是字节流格式,并且其中将多维序列矢量和大小信息中的一个或多个以所述字节流格式封装。
7.根据权利要求5所述的方法,其特征在于,所述预定的有线格式是JSON阵列,并且其中将多维序列矢量和大小信息中的一个或多个封装在用于所述多个媒体片段的阵列元素中。
8.根据权利要求1所述的方法,其特征在于,所述预定的有线格式包括多用途因特网邮件扩展MIME。
9.一种装置,其特征在于,包括:
至少一个存储器,其被配置为存储计算机程序代码;以及
至少一个处理器,其被配置为读取所述计算机程序代码并按照所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:
分段代码,其被配置为使所述至少一个处理器在多维空间中将媒体流分段成多个媒体片段;
确定代码,其被配置为使所述至少一个处理器确定与所述多个媒体片段中的每一个媒体片段相关联的对应元数据;
封装代码,其被配置为使所述至少一个处理器将多个元数据封装成预定的有线格式,每个封装的元数据包括与所述多个媒体片段中的所述每一个媒体片段相关联的位置或序列;
并行处理代码,其被配置为使所述至少一个处理器基于所述封装的元数据并行处理所述多个媒体片段;以及
合并代码,其被配置为使所述至少一个处理器在所述并行处理之后,将所述多个媒体片段合并到所述媒体流中。
10.根据权利要求9所述的装置,其特征在于,来自所述多个媒体片段的每个媒体片段的元数据包括位置元数据。
11.根据权利要求10所述的装置,其特征在于,所述预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以所述字节流格式封装。
12.根据权利要求10所述的装置,其特征在于,所述预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于所述多个媒体片段的阵列元素中。
13.根据权利要求9所述的装置,其特征在于,来自所述多个媒体片段的每个媒体片段的元数据包括序列元数据。
14.根据权利要求13所述的装置,其特征在于,所述预定的有线格式是字节流格式,并且其中将多维序列矢量和大小信息中的一个或多个以所述字节流格式封装。
15.根据权利要求13所述的装置,其特征在于,所述预定的有线格式是JSON阵列,并且其中将多维序列矢量和大小信息中的一个或多个封装在用于所述多个媒体片段的阵列元素中。
16.根据权利要求9所述的装置,其特征在于,所述预定的有线格式包括多用途因特网邮件扩展MIME。
17.一种存储有指令的非易失性计算机可读介质,其特征在于,所述指令在由处理器执行时使所述处理器执行方法,所述方法包括:
在多维空间中将媒体流分段成多个媒体片段;
确定与所述多个媒体片段中的每一个媒体片段相关联的对应元数据;
将多个元数据封装成预定的有线格式,每个封装的元数据包括与所述多个媒体片段中的所述每一个媒体片段相关联的位置或序列;
基于所述封装的元数据并行处理所述多个媒体片段;以及
在所述并行处理之后,将所述多个媒体片段合并到所述媒体流中。
18.根据权利要求17所述的非易失性计算机可读介质,其特征在于,来自所述多个媒体片段的每个媒体片段的元数据包括位置元数据。
19.根据权利要求18所述的非易失性计算机可读介质,其特征在于,所述预定的有线格式包括字节流格式,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个以所述字节流格式封装。
20.根据权利要求18所述的非易失性计算机可读介质,其特征在于,所述预定的有线格式是JSON阵列,并且其中将多维缩放矢量、位置矢量、长度矢量和大小信息中的一个或多个封装在用于所述多个媒体片段的阵列元素中。
CN202380010533.5A 2022-01-12 2023-01-04 在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质 Pending CN116965015A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202263298922P 2022-01-12 2022-01-12
US63/298,922 2022-01-12
US17/991,530 US20230224554A1 (en) 2022-01-12 2022-11-21 Method and apparatus for wire formats for segmented media metadata for parallel processing in a cloud platform
US17/991,530 2022-11-21
PCT/US2023/010078 WO2023136971A1 (en) 2022-01-12 2023-01-04 Method and apparatus for wire formats for segmented media metadata for parallel processing in a cloud platform

Publications (1)

Publication Number Publication Date
CN116965015A true CN116965015A (zh) 2023-10-27

Family

ID=87069265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202380010533.5A Pending CN116965015A (zh) 2022-01-12 2023-01-04 在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质

Country Status (7)

Country Link
US (1) US20230224554A1 (zh)
JP (1) JP2024519408A (zh)
KR (1) KR20230159605A (zh)
CN (1) CN116965015A (zh)
AU (1) AU2023207949A1 (zh)
CA (1) CA3212694A1 (zh)
WO (1) WO2023136971A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11917269B2 (en) * 2022-01-11 2024-02-27 Tencent America LLC Multidimensional metadata for parallel processing of segmented media data

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118042095A (zh) * 2017-10-09 2024-05-14 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机程序
GB201721847D0 (en) * 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
US11403804B2 (en) * 2020-01-03 2022-08-02 Nokia Technologies Oy Method for real time texture adaptation

Also Published As

Publication number Publication date
JP2024519408A (ja) 2024-05-13
CA3212694A1 (en) 2023-07-20
KR20230159605A (ko) 2023-11-21
AU2023207949A1 (en) 2023-09-28
WO2023136971A1 (en) 2023-07-20
US20230224554A1 (en) 2023-07-13

Similar Documents

Publication Publication Date Title
CN112868224B (zh) 捕获和编辑动态深度图像的方法、装置和存储介质
US11734016B2 (en) Method and apparatus for stateless parallel processing of tasks and workflows
US11985381B2 (en) Mapping architecture of immersive technologies media format (ITMF) specification with rendering engines
CN116965015A (zh) 在云平台中并行处理的分段的媒体元数据的有线格式的方法、装置以及存储介质
US12003601B2 (en) Method and apparatus for split rendering for lightfield/immersive media using proxy edge cloud architecture
JP2023520565A (ja) 3dジオメトリを構築するための方法、装置およびプログラム
JP7489488B2 (ja) オーディオシーンの関心空間を表現する方法および装置
US11917283B2 (en) Split rendering for lightfield/immersive media using edge-cloud architecture and peer-to-peer streaming
US11991424B2 (en) Immersive media data complexity analyzer for transformation of asset formats
KR20240113704A (ko) 프록시 에지 클라우드 아키텍처를 사용하는 라이트필드/몰입형 미디어에 대해 분할 렌더링하기 위한 방법 및 장치
JP7518191B2 (ja) オーディオシーンのシグナリングラウドネス調整のための方法及び装置
KR20240093923A (ko) 표면 반사 대칭을 이용하는 기본 메시 코딩
KR20200091277A (ko) 오디오 프라이밍을 고려한 디코딩 방법 및 시스템

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