CN103369324A - 视频剪辑的硬件加速分布式转码 - Google Patents

视频剪辑的硬件加速分布式转码 Download PDF

Info

Publication number
CN103369324A
CN103369324A CN2013101995830A CN201310199583A CN103369324A CN 103369324 A CN103369324 A CN 103369324A CN 2013101995830 A CN2013101995830 A CN 2013101995830A CN 201310199583 A CN201310199583 A CN 201310199583A CN 103369324 A CN103369324 A CN 103369324A
Authority
CN
China
Prior art keywords
node
sub
host node
transcoding
montages
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
CN2013101995830A
Other languages
English (en)
Inventor
D·加特
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN103369324A publication Critical patent/CN103369324A/zh
Pending legal-status Critical Current

Links

Images

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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/8451Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了用于视频剪辑的硬件加速分布式转码。描述了包括用于视频剪辑的分布式转码操作的***、装置、物品和方法。

Description

视频剪辑的硬件加速分布式转码
背景技术
转码是一种编码格式到另一种编码格式的直接数字至数字数据转换。这通常可以在目标设备不支持源编码格式或具有要求一减小的文件大小的受限存储能力的情况下完成。
转码典型地可实现为两步骤过程。例如,这样的两步骤过程可包括,原始视频剪辑被解码至中间未压缩格式,其然后可被编码至目标格式。虽然通常优选使用源码并再编译该应用,但有些时候这样做不实用或不可能。
附图说明
在此描述的材料作为示例但不作为限制在附图中而说明。为了说明的简单性和清楚性,图中示出的元件不必按比例绘制。例如,为了清楚,一些元件的尺寸可相对于其他元件被放大。进一步,在适当考虑之处,图中重复参考标记以指示相应或相似元件。在图中:
图1是示例转码***的说明图;
图2是说明示例转码过程的流程图;
图3是操作中的示例转码***的说明图;
图4是一种示例转码***的说明图;
图5是一种示例***的说明图;
图6是一种示例***的说明图,该示例***完全根据本公开的至少一些实现方式而安排。
具体实施例
现在参考附图描述一个或多个实施例或实施。当讨论特殊配置和安排时,应当理解这仅为了说明目的而完成。相应领域的技术人员将认识到可以采用其他配置和安排而不背离说明书的精神和范围。本领域普通技术人员将显而易见,在此描述的技术和/或安排还可用于除了在此描述之外的多种其他***和应用。
虽然以下说明书阐明了不同的实施,其可以在例如芯片上***(SoC)结构这样的体系结构中得到证明,但在此描述的技术和/或安排的实施不限于特殊的结构和/或计算***,并且可为了相似目的通过任意体系结构和/或计算***实现。例如,使用例如多个集成电路(IC)芯片和/或封装、和/或不同计算设备和/或消费电子(CE)设备,例如机顶盒、智能电话等等的不同结构,可实现在此描述的技术和/或安排。进一步,虽然以下说明书可阐明许多特殊细节,例如逻辑实施、***组件的类型和相互关系、逻辑分割/集成选择等等,请求的主题可以在没有这样的特殊细节的情况下而被实施。在其他示例中,诸如例如控制结构和全软件指令序列的一些内容可不被详细示出,以便不模糊在此公开的材料。
此处公开的内容可由硬件、固件、软件或其任何组合实现。此处公开的内容还可实现为存储在机器可读介质上的指令,其可由一个或多个处理器读取并执行。机器可读介质可包括用于以机器(例如计算设备)可读的形式存储或发送信息的任何介质和/或机制。例如,机器可读介质可包括:只读存储器(ROM);随机接入存储器(RAM);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(例如载波、红外线信号、数字信号等)以及其他。
在说明书中提及“一种实施”、“实施”、“示例实施”等,指描述的实施可包括特定的特征、结构或特性,但不一定每个实施都包括该特定的特征、结构或特性。此外,这样的短语不一定指示相同的实施。进一步,当描述有关一个实施例的特殊的特征、结构或特性时,有关其他实施来实现这样的特征、结构或特征被认为是属于本领域技术人员知识范围内的,无论是否在此明确描述。
下面描述包括用于视频剪辑的分布式转码的***、装置、物品和方法。
如上所述,在一些情况下,视频剪辑的转码可能是计算密集过程。通常,转码主要由基于软件的转码器执行。基于硬件的转码器(例如,
Figure BSA00000901572100021
SandyBridge处理器)可比基于软件的转码器解决方案快2到10倍的速度操作。
如将要在下面更详细描述的那样,可通过将视频剪辑分割为多个子剪辑来加速视频剪辑的分布式转码操作。例如,可至少部分基于检测可指示关键图的即时解码刷新(IDR)图标记来分割这样的视频剪辑。许多现代视频格式可包括IDR图标记以指示关键图。这些关键图不依赖于在先帧,意味着对在先帧的所有依赖性消失。在关键图位置的分割(例如基于IDR图标记)允许视频剪辑以无损的方式被分割。
在分割之后,子剪辑可被分发给多个基于硬件的转码器以进行转码。转码后,经转码的子剪辑可再集合成为一个经转码的视频剪辑以由目标设备使用。例如,使用十个不同硬件转码器的转码过程可加速转码,达到比非分布式的基于软件的转换快差不多100倍。
图1是一种示例转码***100的说明图,根据本发明的至少一些实施而安排。在所说明的实施中,转码***100可包括一个或多个中央处理单元(CPU)104和两个或多个图形处理单元(GPU)106。在一些示例中,为了清楚,转码***100可包括图1中未示出的额外的项目。例如,为了清楚,转码***100可包括未在图1中示出的存储器、路由器、网络接口逻辑等。
图形处理单元106可与中央处理单元104可通信地连接。主节点逻辑模块105可与中央处理单元104相关联。各个从节点逻辑模块107可与各个图形处理单元106相关联。
在操作中,主节点逻辑模块105可接收处于源格式的视频剪辑110。主节点逻辑模块105可配置为将视频剪辑110分害为两个或多个子剪辑120。例如,主节点逻辑模块105可在初始网络抽象层(NAL)接入单元内检测一个或多个即时解码刷新(IDR)图标记122,并在包括这样的IDR图标记122的网络抽象层(NAL)接入单元处执行分割操作。
从而,使用IDR图标记122可允许执行分割操作而不解码整个NAL接入单元。位于比IDR图标识122占用的级别更低的一个级别的数据可能需要这样的NAL接入单元的编码。进一步,IDR图标记122的使用可允许以比其他分割方法更快的速率执行分割操作。
主节点逻辑模块105可在多个从节点中的两个或多个从节点107之间分发子剪辑120。多个从节点中的各个节点可包括位于图形处理单元106上的转码器硬件。从节点逻辑模块107可将各个子剪辑120从源格式转码到不同于源格式的目标格式。
主节点逻辑模块105可将两个或多个子剪辑120的转码版本130从从节点107传送到主节点105。主节点逻辑模块105可将经转码的子剪辑130合并为经转码的视频剪辑140以由目标设备(未示出)使用。
如下面将要更详细讨论的那样,转码***100可用于执行下面有关图2和/或图3讨论的多种功能中的一些或全部。
图2是说明一个示例转码过程200的流程图,根据本公开的至少一些实施而安排。在说明的实施中,过程200可包括如通过块202、204、206和/或208中一个或多个示出的一个或多个操作、功能或动作。作为非限制性示例,将关于图1和/或4的示例转码***100在此描述过程200。
过程200可从块202开始,“分割视频剪辑”,此处视频剪辑可以被分割。例如,可通过主节点分割视频剪辑。主节点可将视频剪辑分割成可处于源格式的两个或多个子剪辑。
处理可从操作202继续进行到操作204,“分发两个或多个子剪辑”,此处两个或多个子剪辑可以被分发。例如,可通过主节点分发所述两个或多个子剪辑。在一些实施中,可在多个从节点中的两个或多个从节点之间分发所述两个或多个子剪辑。多个从节点中的各个节点可包括图形处理单元(GPU)上的转码器硬件。
处理可从操作204继续进行到操作206,“传送所述两个或多个子剪辑的转码版本”,此处所述两个或多个子剪辑的转码版本可以被传送。例如,可通过主节点传送两个或多个子剪辑的转码版本。在一些实施中,两个或多个子剪辑的转码版本可从两个或多个从节点被传送至主节点。转码版本可按照不同于源格式的目标格式被格式化。
如在此使用的那样,术语“传送”可涉及推类型传送或拉类型传送。例如,在一些实施中,可以由发起发送这样信息的从节点将两个或多个子剪辑的转码版本推送(例如,推类型传送)至主节点。在其他实施中,可通过从主节点发起的请求从从节点拉回(例如,拉类型传送)两个或多个子剪辑的转码版本。
处理可从操作206继续进行到操作208,“将两个或多个子剪辑的转码版本合并为转码视频剪辑”,此处两个或多个子剪辑的转码版本可被合并为转码视频剪辑。例如,可通过主节点将两个或多个子剪辑的转码版本合并为转码视频剪辑。在一些实施中,经转码的两个或多个子剪辑可被合并为转码视频剪辑。
可在下面关于图3更详细讨论的一个或多个实施的示例中说明有关过程200的一些额外和/或替代的细节。
图3是操作中的示例转码***100和转码过程300的说明图,根据本公开的至少一些实施而安排。在所说明的实施中,过程300可包括如由动作310、311、312、314、316、318、320、322、324、326、328、330、332、334和/或336中一个或多个示出的一个或多个操作、功能或动作。作为非限制示例,在此将关于图1和/或4的示例转码***100来描述过程300.
在说明的实施中,转码***100可包括与主节点逻辑模块105相关联的CPU104和/或与从节点逻辑模块107相关联的两个或多个GPU106等,和/或其组合。虽然如图3所示的转码***100可包括与特定模块相关联的块或动作的一个特定集合,但这些块或动作可关联于与在此说明的特定模块不同的模块。
过程300可从块310开始,“请求可用性数据”,此处可请求可用性数据。例如,在一些实施中,可由发起发送这样信息的从节点逻辑模块107将可用性数据推送(例如,推类型传送)至主节点逻辑模块105。在其他实施中,可通过从主节点逻辑模块105发起的请求从从节点逻辑模块107拉回(例如,拉类型传送)可用性数据。
处理可从操作310继续进行到操作311,“确定负载可用性”,此处可确定负载可用性。例如,可用性数据可包括与多个从节点中的各个节点相关联的可用负载的指示。在一些实施中,这样的可用性数据可能指示有多少子剪辑能够被个体节点处理以及当前有多少子剪辑正在被处理,这样的可用性数据可能指示可用负载的百分比等等。
处理可从操作311继续进行到操作312,“传送可用性数据”,此处可传送可用性数据。例如,可用性数据可从多个从节点传送至主节点。
处理可从操作312(或先于操作312的任何点)继续进行至操作314,“接收视频剪辑”,此处视频剪辑可以被接收。例如响应于目标设备发起的针对视频剪辑的请求,可由主节点接收视频剪辑,此处视频剪辑可以处于不适合目标设备的源格式。
处理可从操作314继续进行至操作316,“将视频剪辑分割为子剪辑”,此处可分割视频剪辑。例如,可通过主节点逻辑模块105分割视频剪辑。主节点可将视频剪辑分成可处于源格式的两个或多个子剪辑。
在一些示例中,操作314可包括至少部分地基于视频剪辑的大小来确定分割的数量。可至少部分地基于确定的分割数量而为初始的分割位置寻找估计分割位置。可在初始网络抽象层(NAL)接入单元中在最接近初始原始分割位置处检测即时解码刷新(IDR)图标记。分割操作可在初始网络抽象层(NAL)接入单元处执行。可至少部分地基于确定的分割数量为一个或多个后续分割位置重复寻找估计的分割位置、即时解码刷新(IDR)图标记的检测和/或执行分割操作。
处理可从操作312和/或操作316继续进行到操作318,“选择从节点”,此处可选择从节点。例如,可至少部分基于可用性数据从多个从节点中选择两个或多个从节点。在一些示例中,具有相对较高可用性的从节点将被选择,同时具有相对较低可用性的从节点将不被选择。
处理可从操作318继续进行到操作320,“使用ID数据和格式数据分发子剪辑”,此处可分发两个或多个子剪辑。例如可通过主节点逻辑模块105分发两个或多个子剪辑。在一些实施中,可在多个从节点中的两个或多个从节点之间分发两个或多个子剪辑。多个从节点中的各个节点可包括在GPU 106上的转码器硬件。
在一些实施中,可使用唯一身份(ID)数据来分发两个或多个子剪辑,该唯一ID数据可用于唯一地将一个子剪辑与另一个子剪辑区分开。附加地或替代地,可使用与各个子剪辑相关联的目标格式数据来分发两个或多个子剪辑,其可指示想要转码的目标格式。
处理可从操作320继续进行到操作332,“转码”,此处各个子剪辑可被转码。例如,可通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式,如可能由目标格式数据指示的那样。这样的转码可以并行的方式完成,此处第一从节点可对第一子剪辑转码,第二从节点可对第二子剪辑转码,等等。
处理可从操作332继续进行到操作324,“传送具有ID数据的状态请求”,此处可传送状态请求,其可包括身份(ID)数据。例如,来自主节点的状态请求可包括身份(ID)数据,其可提供正在被查询的特定子剪辑的指示。
处理可从操作324继续进行到操作326,“确定状态”,此处可确定状态。例如,确定的状态数据可包括与多个从节点中的各个节点相关联的转码完成的指示。这样的状态数据可指示转码数据的总量,完成转码的百分比等等。
处理可从操作326继续进行到操作328,“传送状态数据”,此处可传送状态数据。例如,状态数据可从多个从节点传送至主节点。
在一些实施中,可由发起发送这样信息的从节点逻辑模块107将状态数据推送(例如,推类型传送)至主节点逻辑模块105。在其他实施中,可通过从主节点逻辑模块105发起的请求从从节点逻辑模块107拉回(例如,拉类型传送)状态数据。
处理可从操作328继续进行到操作330,“确定所有转码的子剪辑”,此处可确定有关是否所有分发的子剪辑已经被转码。例如,可由主节点至少部分地基于状态数据确定所有两个或多个子剪辑已经被转码。
处理可从操作330继续进行到操作332,“下载请求”,此处可发送下载请求。例如,响应于确定所有两个或多个子剪辑已经被转码,从主节点向选择的从节点发送下载请求。
处理可从操作332继续进行到操作334,“传送转码子剪辑”,此处可传送两个或多个子剪辑的转码版本。例如,可通过主节点逻辑模块105传送两个或多个子剪辑的转码版本。在一些实施中,可从两个或多个从节点逻辑模块107向主节点逻辑模块105传送两个或多个子剪辑的转码版本。转码版本可被格式化为不同于源格式的目标格式。
在一些实施中,可由发起发送这样信息的从节点逻辑模块107将转码子剪辑推送(例如,推类型传送)至主节点逻辑模块105。在其他实施中,可通过从主节点逻辑模块105发起的请求从从节点逻辑模块107拉回(例如,拉类型传送)转码子剪辑。
处理可从操作334继续进行到操作336,“合并转码子剪辑”,此处两个或多个子剪辑的转码版本可被合并为转码视频剪辑。例如,可通过主节点逻辑模块105将两个或多个子剪辑的转码版本合并为转码视频剪辑。在一些实施中,可将经转码的两个或多个子剪辑合并为转码视频剪辑。
在操作中,过程300可通过将视频剪辑分割成多个子剪辑而实现视频剪辑的分布式转码。例如,可至少部分基于检测可指示关键图的即时解码刷新(IDR)图标记来分割这样的视频剪辑。这些关键图不依赖在先帧,意味着对在先帧的所有依赖性消失。在关键图位置处的分割(例如基于IDR图标记)允许以无损的方式分割视频剪辑。在分割之后,子剪辑可被分发到多个基于硬件的转码器以进行转码。在转码之后,经转码的子剪辑可再集合成经转码的视频剪辑以由目标设备使用。例如,使用十个不同硬件转码器的转码过程可加速转码,达到比非分布式基于软件的方案快差不多100倍。
如图2和3所示的示例过程200和300的实施可包括采取以说明的顺序示出的所有块,但本公开不限制于这方面,在不同的示例中,过程200和300的实施可包括仅采取块的一个子集示出的任务和/或与说明不同的顺序的任务。
此外,响应于一个或多个计算机程序产品提供的指令,可进行图2和3中任意一个或多个块。这样的程序产品可包括信号承载介质,其提供当由例如处理器执行时可提供在此描述的功能性的指令。可在任何形式的计算机可读介质中提供计算机程序产品。因此,例如,包括一个或多个处理器核的处理器可响应于由计算机可读介质向处理器传送的指令而进行图2和3中示出的一个或多个块。
如在此描述的任何实施中使用的那样,术语“模块”涉及配置为提供在此描述的功能性的软件、固件和/或硬件的任何组合。软件可具体化为软件包、代码和/或指令集或指令,并且如在此描述的任何实施中使用的那样,“硬件”可单独或组合地包括例如存储由可编程电路执行的指令的硬接线电路、可编程电路、状态机电路和/或固件。模块可全体或单独具体化为形成例如集成电路(IC)、片上***(SoC)等较大***的一部分。
图4是一种示例转码***100的说明图,至少根据本公开的一些实施而安排。在说明的实施中,转码***100可包括与主节点逻辑模块105相关联的一个或多个中央处理单元104、与从节点逻辑模块107相关联的两个或多个图形处理单元106和/或一个或多个存储器存储408。主节点逻辑模块105可包括可用性逻辑模块412、分割器逻辑模块414、分发逻辑模块416、状态逻辑模块418、下载逻辑模块420、合并器逻辑模块422等和/或其组合。从节点逻辑模块107可包括转码逻辑模块424和/或类似模块。
如说明的那样,中央处理单元104、图形处理单元106和/或存储器存储408可以有能力彼此通信和/或与主节点逻辑模块105和/或从节点逻辑模块107的多个部分通信。虽然如图4示出的转码***100可包括与特定模块相关联的块或动作的一个特定集合,但这些块或动作可以关联于与在此说明的特定模块不同的模块。
在一些示例中,可用性逻辑模块412可与中央处理单元104相关联,并且可配置为通过主节点从多个从节点接收可用性数据,此处可用性数据可包括与多个从节点中的各个节点相关联的可用负载的指示。
在一些示例中,分割器逻辑模块414可关联中央处理单元104,并可配置为通过主节点将视频剪辑分割为处于源格式的两个或多个子剪辑。分割器逻辑模块414可进一步配置为:至少部分基于视频剪辑的大小确定分割的数量;至少部分基于确定的分割的数量为初始分割位置寻找估计的分割位置;在初始网络抽象层(NAL)接入单元内最接近初始原始分割位置处检测即时解码刷新(IDR)图标记;在初始网络抽象层(NAL)接入单元处执行分割操作;和/或至少部分基于确定的分割数量为一个或多个后续的分割位置重复寻找估计的分割位置、检测即时解码刷新(IDR)图标记和/或执行分割操作。
在一些示例中,分发逻辑模块416可关联中央处理单元104,并且可配置为通过主节点在多个从节点中的两个或多个从节点之间分发两个或多个子剪辑。在一些实施中,多个从节点中的各个节点可包括位于各个所述两个或多个图形处理单元106上的转码器硬件。分发逻辑模块416可进一步配置为至少部分基于可用性数据通过主节点从多个从节点中选择两个或多个从节点。分发逻辑模块416进一步可配置为分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
在一些示例中,转码逻辑模块424可关联两个或多个图形处理单元106,并可配置为通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。
在一些示例中,状态逻辑模块418可关联中央处理单元104,并可配置为:通过主节点从多个从节点传送状态数据,此处,状态数据可包括与多个从节点中的各个从节点相关联的转码完成的指示;至少部分地基于状态数据确定所有两个或多个子剪辑已经被转码;响应于确定所有两个或多个子剪辑已经被转码,通过主节点请求从两个或多个从节点至主节点传送两个或多个子剪辑的转码版本。
在一些示例中,下载逻辑模块420可关联中央处理单元104,并可配置为通过主节点从两个或多个从节点向主节点传送两个或多个子剪辑的转码版本,此处转码版本处于不同于源格式的目标格式。合并器逻辑模块可关联一个或多个中央处理单元,并可配置为通过主节点将转码的两个或多个子剪辑合并为转码视频剪辑。
在不同的实施例中,分割器逻辑模块414可在硬件中实施,同时软件可实现可用性逻辑模块412、分发逻辑模块416、状态逻辑模块418、下载逻辑模块420和/或合并器逻辑模块422。例如,在一些实施例中,分割器逻辑模块414可由ASIC逻辑实现,而可用性逻辑模块412、分发逻辑模块416、状态逻辑模块418、下载逻辑模块420和/或合并器逻辑模块422可由通过例如中央处理单元104这样的逻辑执行的软件指令来提供。然而,本公开不限制于这方面,并且可用性逻辑模块412、分割器逻辑模块414、分发逻辑模块416、状态逻辑模块418、下载逻辑模块420和/或合并器逻辑模块可由硬件、固件和/或软件的任意组合实现。类似地,从节点逻辑模块107的全部或部分可由硬件、固件和/或软件的任意组合实现。例如,从节点逻辑模块107的全部或部分可由各个图形处理单元106上(例如,通过Sandy Bridge类型处理器等)的转码器硬件实现。此外,存储器存储408可以是任何类型的存储器,例如易失性存储器(例如静态随机接入存储器(SRAM)、动态随机接入存储器(DRAM)等)或非易失性存储器(例如闪存等)等等。在非限制示例中,存储器存储408可以由高速缓存存储器实现。
图5示出了根据本公开的示例***500。在不同实施中,***500可以是媒体***,虽然***500不限于该内容。例如,***500可以集成在个人计算机(PC)、膝上计算机、超级膝上计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能平板或智能电视)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
在不同实施中,***500包括连接显示器520的平台502。平台502可从内容设备(例如内容服务设备530或内容递送设备540)或其他类似内容源接收内容。包括一个或多个导航特征的导航控制器550可用于与例如平台502和/或显示器520交互。下面更详细的描述这些组件中每一个。
在不同实施中,平台502可包括芯片组505、处理器510、存储器512、存储514、图形子***515、应用516和/或无线电设备518的任意组合。芯片组505可在处理器510、存储器512、存储514、图形子***515、应用516和/或无线电设备518之间提供互通。例如,芯片组505可包括能够提供与存储514的互通的存储适配器(未画出)。
处理器510可实施为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在不同实施中,处理器510可以是双核处理器、双核移动处理器等等。
存储器512可实施为易失性存储器设备,例如但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储器514可实施为非易失性存储器设备,例如但不限于磁盘驱动器、光盘驱动器、带驱动器、因特网存储设备、附加存储设备、闪存、电池支持的SDRAM(同步DRAM)和/或网络可接入存储设备。在不同实施中,存储器514可包括用于例如当包括多个硬驱动器时为有价值的数字媒体增加存储性能增强保护。
图形子***515可对例如静止或视频的图像进行处理以用于显示。图形子***515可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可用于可通信地耦合图形子***515和显示器520。例如,接口可以是高清晰度多媒体接口、DisplayPort、无线HDMI和/或无线HD适应技术中的任一个。图形子***515可以集成在处理器510或芯片组505中。在一些实施中,图形子***515可以是可通信地耦合到芯片组505的独立卡。
在此描述的图形和/或视频处理技术可以在不同硬件体系结构中实现。例如,图形和/或视频功能性可集成在芯片组中。替代地,可使用分立的图形和/或视频处理器。如另一个实施中那样,图形和/或视频功能可由通用处理器提供,包括多核处理器。在进一步实施例中,这些功能可在消费电子设备中实现。
无线电设备518可包括能够使用不同适合的无线通信技术发送和接收信号的一个或多个无线电设备。这样的技术可包括横跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在横跨这些网络的通信中,无线电设备518可根据任何版本下的一个或多个可应用标准进行操作。
在不同实施中,显示器520可包括任何电视类型监视器或显示器。显示器520可包括例如计算机显示屏、触摸屏幕显示器、视频监视器、电视类设备和/或电视机。显示器520可以是数字和/或模拟的。在不同实施中,显示器520可以是全息显示器。此外,显示器520还可以是能够接受可视投影的透明表面。这样的投影可表达不同形式的信息、图像和/或物体。例如,这样的投影可以是用于移动增强现实(MAR)应用的可视覆盖。在一个或多个软件应用516的控制下,平台502可在显示器520上显示用户界面522。
在不同实施中,内容服务设备530可由任何国内、国际或独立的服务来主控,因此例如通过因特网对平台502是可访问的。内容服务设备530可耦合至平台502和/或显示器520。平台502和/或内容服务设备530可耦合至网络560以向或从网络560传送(例如发送和/或接收)媒体信息。内容递送设备540还可耦合至平台502和/或显示器520。
在不同实施中,内容服务设备530可包括能够递送数字信息和/或内容的有线电视盒、个人计算机、网络、电话、因特网驱动设备或装置,以及任何能够在内容提供者和平台502和显示器520之间通过网络560或直接地单向或双向传送内容的任何其他类似设备。将意识到可以通过网络560在***500中任一个组件和内容提供者之间单向或双向地传输内容。内容的示例可包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等等。
内容服务设备530可接收例如包括媒体信息、数字信息和/或其他内容的有线电视节目的内容。内容提供者的示例可包括任何有线或***或无线电或因特网内容提供者。提供的示例不意味着以任何方式限制根据本公开的实施。
在不同实施中,平台502可从具有一个或多个导航特征的导航控制器550接收控制信号。控制器550的导航特征可用于例如与用户界面522交互。在实施例中,导航控制器550可以是指向设备,其可以是允许用户将空间(例如连续并且多空间)数据输入计算机的计算机硬件组件(具体而言,人类接口设备)。许多***,例如图形用户界面(GUI)、电视机和监控器,允许用户使用物理姿势对计算机或电视机进行控制并提供数据。
控制器550的导航特征的移动可以由指针、光标、焦点环或其他在显示器上显示的可视指示在显示器(例如显示器520)上复制。例如,在软件应用516的控制下,位于导航控制器550上的导航特征可被映射到例如用户界面522上显示的虚拟导航特征。在实施例中,控制器550可以不是单独的组件,而可被集成到平台502和/或显示器520。然而本公开不限制于这些元件或在此示出或描述的内容。
在不同实施中,驱动器(未示出)可包括技术,用于例如当被激活时在初始启动后使用户通过触摸按钮来立即开启或关闭像电视机这样的平台502。即使当平台被“关闭”,程序逻辑可允许平台502将内容流送至媒体适配器或其他内容服务设备530或内容递送设备540。此外,芯片组505可包括支持例如5.1环绕立体声和/或高清晰度7.1环绕立体声的硬件和/或软件。驱动器可包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可包括外设部件互连(PCI)快速图形卡。
在不同实施中,***500中示出的任意一个或多个组件可以被集成。例如,平台502和内容服务设备530可以被集成,或平台502和内容递送设备540可以被集成,或例如平台502、内容服务设备530和内容递送设备540可以被集成。在不同实施例中,平台502和显示器520可以是一个集成的单元。显示器520和内容服务设备530可以被集成,或例如显示器520和内容递送设备540可以被集成。这些示例不意味着限制本公开。
在不同实施例中,***500可以实现为无线***、有线***或这两者的组合。当实施为无线***时,***500可包括适于在无线分享介质上通信的组件和接口,例如一个或多个天线、发射机、接收机、收发机、放大器、滤波器、控制逻辑等。无线分享介质的示例可包括部分无线频谱,例如RF频谱等。当实施为有线***时,***500可包括适于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、连接I/O适配器和对应有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可包括导线、电缆、金属引线、印刷电路板(PCB)、底板、开关结构、半导体材料、双绞线、同轴电缆、光纤等。
平台502可建立一个或多个逻辑或物理信道以传送信息。该信息可包括媒体信息和控制信息。媒体信息可涉及表示针对用户的内容的任何数据。内容的示例可包括例如来自语音会议、视频会议、流式视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音会议的数据可以例如是话音信息、静默周期、背景噪声、舒适噪声、音调等。控制信息可涉及表示针对自动***的命令、指令或控制字的任何数据。例如,控制信息可用于通过***路由媒体信息,或以预定的方式指示节点处理媒体信息。然而实施例并不限于图5示出或描述的这些元件和情境。
如上所述,***500可在改变的物理结构或形式因素中具体化。图6示出了可将***500具体化在其中的小型化设备600的实施。在实施例中,例如,设备600可实施为具有无线能力的移动计算设备。移动计算设备可涉及例如具有处理***和例如一个或多个电池的移动电源或供给的任何设备。
如上所述,移动计算设备的示例可包括个人计算机(PC)、膝上计算机、超级膝上计算机、平板、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视机、智能设备(例如智能电话、智能输入板或智能电视)、移动因特网设备(MID)、消息收发设备、数据通信设备等等。
移动计算设备的示例还可包括配置为由用户穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带卡夹计算机、臂带计算机、鞋上计算机、衣服计算机和其他可穿戴的计算机。在不同实施例中,例如,移动计算设备可实施为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然一些实施例可描述为作为示例的实施为智能电话的移动计算设备,但可以理解还可使用其他无线移动计算设备实施其他实施例。实施例不限制于该情境。
如图6中所示,设备600可包括外壳602、显示器604、输入/输出(I/O)设备606和天线608。设备600还可包括导航特征612。显示器604可包括用于显示适合移动计算设备的信息的任何合适的显示单元。I/O设备606可包括用于将信息输入到移动计算设备的任何合适的I/O设备。I/O设备606的示例可包括字母数字键盘、数字键盘、触摸板、输入键、按钮、开关、摇杆开关、话筒、扬声器、声音识别设备和软件等等。信息还可通过话筒(未示出)的方式输入到设备600中。这样的信息可由语音识别设备(未示出)数字化。实施例并不限制于该情境。
不同实施例可使用硬件要素、软件要素或两者组合来实现。硬件要素的示例可包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、***程序、机器程序、操作***软件、中间件、固件、软件模块、例程、子程序、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任意组合。确定是否使用硬件要素和/或软件要素来实施一个实施例可以根据任意数量的因素而改变,例如期望计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、内存资源、数据总线速率和其他设计或性能限制。
至少一个实施例的一个或多个方面可由存储在计算机可读介质上代表处理器内的不同逻辑的表示指令来实现,其当被机器读取时使机器构建逻辑以执行在此描述的技术。这样的表示,被称作“IP核”,可被存储在有形的、机器可读的介质上,并且向不同用户或制造设备提供以下载到实际制造逻辑或处理器的制造机器上。
在此提出的某些特征已经参考不同实施得到描述,但不打算在限制的意义上解释本说明。因此,在此描述的实施的不同改变以及对本公开所属领域的技术人员显而易见的其他实施,被认为处于本公开的精神和范围内。
以下示例属于进一步实施例。
在一个示例中,一种用于视频剪辑转码的计算机实现方法可包括通过主节点将视频剪辑分割成处于源格式的两个或多个子剪辑。可在多个从节点中的两个或多个从节点间分发所述两个或多个子剪辑,其中多个从节点中的各个节点可包括图形处理单元(GPU)上的转码器硬件。可从所述两个或多个从节点向所述主节点传送所述两个或多个子剪辑的转码版本,其中所述转码版本是不同于所述源格式的目标格式。可将所述经转码的两个或多个子剪辑合并为转码视频剪辑。
在一些示例中,该方法可包括至少部分基于所述视频剪辑的大小确定分割的数量。可至少部分基于确定的分割数量为初始分割位置寻找估计分割位置。可在初始网络抽象层(NAL)接入单元中在最接近初始原始分割位置处检测即时解码刷新(IDR)图标记。可在初始网络抽象层(NAL)接入单元处执行分割操作。可以至少部分基于确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作。可以从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用负载的指示。可至少部分基于所述可用性数据通过所述主节点从多个从节点中选择两个或多个从节点。可以通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。可以从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示。可以至少部分基于所述状态数据确定全部两个或多个子剪辑已经被转码。响应于确定全部两个或多个子剪辑已经被转码,可以请求从两个或多个从节点至所述主节点传送两个或多个子剪辑的转码版本。通过所述主节点分发两个或多个子剪辑可包括分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份和目标格式数据。
在其他示例中,一种用于转码视频剪辑的***可包括:一个或多个中央处理单元、一个或多个存储器存储、两个或多个图形处理单元、分割器逻辑模块、分发逻辑模块、下载逻辑模块、合并器逻辑模块等或其组合。一个或多个存储器存储可与所述中央处理单元可通信耦合。两个或多个图形处理单元可与所述中央处理单元可通信耦合。分割器逻辑模块可与所述一个或多个中央处理单元相关联,并可配置为通过主节点将所述视频剪辑分割成处于源格式的两个或多个子剪辑。分发逻辑模块可与所述一个或多个中央处理单元相关联,并可配置为通过所述主节点在多个从节点中的两个或多个从节点间分发所述两个或多个子剪辑,其中多个从节点中的各个节点可包括图形处理器单元(GPU)上的转码器硬件。下载逻辑模块可与所述一个或多个中央处理单元相关联,并可配置为通过主节点从所述两个或多个从节点向所述主节点传送所述两个或多个子剪辑的转码版本至所述主节点,其中所述转码版本是不同于所述源格式的目标格式。合并器逻辑模块可与所述一个或多个中央处理单元相关联,并可配置为通过所述主节点将所述经转码的两个或多个子剪辑合并为转码视频剪辑。
在一些示例中,该***可进一步包括可用性逻辑模块、转码逻辑模块、状态逻辑模块等和/或其组合。所述分割器逻辑模块可进一步配置为:至少部分基于所述视频剪辑的大小确定分割的数量;至少部分基于确定的分割数量为初始分割位置寻找估计分割位置;在初始网络抽象层(NAL)接入单元中在最接近初始原始分割位置处检测即时解码刷新(IDR)图标记;在初始网络抽象层(NAL)接入单元处执行分割操作;和/或至少部分基于确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和/或执行分割操作。可用性逻辑模块可关联所述一个或多个中央处理单元,并可配置为通过所述主节点从多个从节点接收可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示。该分发逻辑模块可进一步配置为至少部分基于所述可用性数据通过所述主节点从多个从节点中选择两个或多个从节点。转码逻辑模块可关联所述两个或多个图形处理单元,并可配置为通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。状态逻辑模块可关联所述一个或多个中央处理单元,并配置为:通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;至少部分基于所述状态数据确定全部两个或多个子剪辑已经被转码;响应于确定全部两个或多个子剪辑已经被转码,通过所述主节点请求将两个或多个子剪辑的转码版本从两个或多个从节点传送至所述主节点。所述分发逻辑模块进一步可配置为分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份和目标格式数据。
在进一步示例中,至少一个计算机可读介质可包括多个指令,其响应于在计算设备上的执行而使该计算设备执行根据以上示例中任意一个的方法。
在进一步示例中,一种设备可包括用于执行根据以上示例任意一个的方法的装置。
以上示例可包括特征的特定组合。然而,以上这样的示例不限于该方面,并且在不同实施中,以上实施可包括仅采取这样特征的子集、采取这样特征的不同顺序、采取这样特征的不同组合和/或采取除了明确列出的那些特征之外的附加特征。例如,关于示例方法描述的所有特征可关于示例装置、示例***和/或示例物品而实现,反之亦然。

Claims (29)

1.一种用于转码视频剪辑的计算机实现的方法,包括:
通过主节点将所述视频剪辑分割成处于源格式的两个或多个子剪辑;
通过所述主节点在多个从节点中的两个或多个从节点间分发所述两个或多个子剪辑,其中多个从节点中的各个节点包括图形处理器单元(GPU)上的转码器硬件;
从所述两个或多个从节点向所述主节点传送所述两个或多个子剪辑的转码版本至所述主节点,其中所述转码版本是不同于所述源格式的目标格式;以及
通过所述主节点将所述经转码的两个或多个子剪辑合并为转码视频剪辑。
2.如权利要求1所述的方法,其特征在于,所述主节点与中央处理器(CPU)相关联,其中多个从节点中的各个节点与各个图形处理单元(GPU)相关联。
3.如权利要求1所述的方法,其特征在于,通过所述主节点分割视频剪辑包括:检测一个或多个即时解码刷新(IDR)图标记。
4.如权利要求1所述的方法,其特征在于,通过所述主节点分割视频剪辑包括:在网络抽象层(NAL)接入单元处执行分割操作。
5.如权利要求1所述的方法,其特征在于,通过所述主节点分割视频剪辑包括:
至少部分地基于所述视频剪辑的大小来确定分割的数量;
至少部分地基于确定的分割数量为初始分割位置寻找估计分割位置;
在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
在初始网络抽象层(NAL)接入单元处执行分割操作;
至少部分地基于确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作。
6.如权利要求1所述的方法,其特征在于,进一步包括:
通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
至少部分地基于所述可用性数据通过所述主节点从多个从节点中选择两个或多个从节点。
7.如权利要求1所述的方法,其特征在于,进一步包括通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。
8.如权利要求1所述的方法,其特征在于,进一步包括:
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
至少部分地基于所述状态数据确定全部两个或多个子剪辑已经被转码;
响应于确定全部两个或多个子剪辑已经被转码,通过所述主节点请求从两个或多个从节点向所述主节点传送两个或多个子剪辑的转码版本。
9.如权利要求1所述的方法,其特征在于,通过所述主节点分发两个或多个子剪辑包括:分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
10.如权利要求1所述的方法,其特征在于,进一步包括:
通过所述主节点,至少部分地基于视频剪辑的大小确定分害的数量;
至少部分地基于确定分割的数量,通过所述主节点为初始分割位置寻找估计分割位置;
通过所述主节点,在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
通过所述主节点,在初始网络抽象层(NAL)接入单元处执行分割操作;
通过所述主节点,至少部分地基于确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作;
通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
通过所述主节点,至少部分地基于所述可用性数据从多个从节点中选择两个或多个从节点;
通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式;
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
通过所述主节点,至少部分地基于所述状态数据确定全部两个或多个子剪辑已经被转码;
通过所述主节点,响应于确定全部两个或多个子剪辑已经被转码,请求从两个或多个从节点向所述主节点传送两个或多个子剪辑的转码版本;以及
其中通过所述主节点分发两个或多个子剪辑包括分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
11.一种用于转码视频剪辑的***,包括:
一个或多个中央处理单元;
与所述中央处理单元通信耦合的一个或多个存储器存储;
与所述中央处理单元通信耦合的两个或多个图形处理单元;
与所述一个或多个中央处理单元相关联的分割器逻辑模块,配置为通过主节点将所述视频剪辑分割成处于源格式的两个或多个子剪辑;
与所述一个或多个中央处理单元相关联的分发逻辑模块,配置为通过所述主节点在多个从节点中的两个或多个从节点间分发所述两个或多个子剪辑,其中多个从节点中的各个节点包括两个或多个图形处理单元上的转码器硬件;
与所述一个或多个中央处理单元相关联的下载逻辑模块,配置为从所述两个或多个从节点向所述主节点传送所述两个或多个子剪辑的转码版本至所述主节点,其中所述转码版本是不同于所述源格式的目标格式;
与所述一个或多个中央处理单元相关联的合并器逻辑模块,配置为通过所述主节点将所述经转码的两个或多个子剪辑合并为转码视频剪辑。
12.如权利要求11所述的***,其特征在于,所述分割器逻辑模块配置为至少部分地基于检测一个或多个即时解码刷新(IDR)图标记来执行分割操作。
13.如权利要求11所述的***,其特征在于,所述分割器逻辑模块配置为在网络抽象层(NAL)接入单元执行分割操作。
14.如权利要求11所述的***,其特征在于,所述分割器逻辑模块进一步配置为:
至少部分基于所述视频剪辑的大小确定分割的数量;
至少部分基于确定的分割数量为初始分割位置寻找估计分割位置;
在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
在初始网络抽象层(NAL)接入单元处执行分割操作;以及
至少部分地基于所确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作。
15.如权利要求11所述的***,其特征在于,进一步包括:
与所述一个或多个中央处理单元相关联的可用性逻辑模块,配置为通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
其中所述分发逻辑模块进一步配置为至少部分地基于所述可用性数据通过所述主节点从多个从节点中选择两个或多个从节点。
16.如权利要求11所述的***,其特征在于,进一步包括与所述两个或多个图形处理单元相关联的转码逻辑模块,配置为通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。
17.如权利要求11所述的***,其特征在于,进一步包括与所述一个或多个中央处理单元相关联的状态逻辑模块,配置为:
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
至少部分地基于所述状态数据确定全部两个或多个子剪辑已经被转码;
响应于确定全部两个或多个子剪辑已经被转码,通过所述主节点请求从两个或多个从节点向所述主节点传送两个或多个子剪辑的转码版本。
18.如权利要求11所述的***,其特征在于,所述分发逻辑模块进一步配置为分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
19.如权利要求11所述的***,其特征在于,进一步包括:
其中所述分割器逻辑模块进一步配置为:
至少部分地基于视频剪辑的大小确定分割的数量;
至少部分地基于所确定的分割的数量为初始分割位置寻找估计分割位置;
在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
在初始网络抽象层(NAL)接入单元处执行分割操作;
至少部分地基于所确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作;
与所述一个或多个中央处理单元相关联的可用性逻辑模块,配置为通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
其中所述分发逻辑模块进一步配置为通过所述主节点至少部分基于所述可用性数据从多个从节点中选择两个或多个从节点;
与所述两个或多个图形处理单元相关联的转码逻辑模块,配置为通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式;
与所述一个或多个中央处理单元相关联的状态逻辑模块,配置为:
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
至少部分基于所述状态数据确定全部两个或多个子剪辑已经被转码;
通过所述主节点,响应于确定全部两个或多个子剪辑已经被转码,请求从两个或多个从节点至所述主节点传送两个或多个子剪辑的转码版本;
其中所述分发逻辑模块进一步配置为分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
20.一种选择性地背光点亮计算机显示屏的物品,包括其中存储有指令的计算机程序产品,如果所述指令被执行则导致:
通过主节点将所述视频剪辑分害成处于源格式的两个或多个子剪辑;
通过所述主节点在多个从节点中的两个或多个从节点间分发所述两个或多个子剪辑,其中多个从节点中的各个节点包括图形处理单元上的转码器硬件;
从所述两个或多个从节点向所述主节点传送所述两个或多个子剪辑的转码版本至所述主节点,其中所述转码版本是不同于所述源格式的目标格式;以及
通过所述主节点将所述经转码的两个或多个子剪辑合并为转码视频剪辑。
21.如权利要求20所述的物品,其特征在于,所述主节点与中央处理器(CPU)相关联,其中多个从节点中的各个节点与各个图形处理单元(GPU)相关联。
22.如权利要求20所述的物品,其特征在于,通过所述主节点分割视频剪辑包括:检测一个或多个即时解码刷新(IDR)图标记。
23.如权利要求20所述的物品,其特征在于,通过所述主节点分割视频剪辑包括:在网络抽象层(NAL)接入单元处执行分割操作。
24.如权利要求20所述的物品,其特征在于,通过所述主节点分割视频剪辑包括:
至少部分地基于所述视频剪辑的大小确定分割的数量;
至少部分地基于确定的分割数量为初始分割位置寻找估计分割位置;
在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
在初始网络抽象层(NAL)接入单元处执行分割操作;
至少部分地基于所确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作。
25.如权利要求20所述的物品,其特征在于,如果所述指令被执行,则进一步导致:
通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
至少部分地基于所述可用性数据通过所述主节点从多个从节点中选择两个或多个从节点。
26.如权利要求20所述的物品,其特征在于,如果所述指令被执行,则进一步导致通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式。
27.如权利要求20所述的物品,其特征在于,如果所述指令被执行,则进一步导致:
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
至少部分地基于所述状态数据确定全部两个或多个子剪辑已经被转码;
响应于确定全部两个或多个子剪辑已经被转码,通过所述主节点请求从两个或多个从节点至所述主节点传送两个或多个子剪辑的转码版本。
28.如权利要求20所述的物品,其特征在于,通过所述主节点分发两个或多个子剪辑包括:分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
29.如权利要求20所述的物品,其特征在于,如果所述指令被执行,则进一步导致:
通过所述主节点,至少部分地基于视频剪辑的大小确定分割的数量;
至少部分地基于所确定分割的数量,通过所述主节点为初始分割位置寻找估计分割位置;
通过所述主节点,在初始网络抽象层(NAL)接入单元中在最接近所述初始原始分割位置处检测即时解码刷新(IDR)图标记;
通过所述主节点,在初始网络抽象层(NAL)接入单元处执行分割操作;
通过所述主节点,至少部分地基于确定的分割数量为一个或多个后续分割位置重复寻找估计分割位置、检测即时解码刷新(IDR)图标记和执行分割操作;
通过所述主节点从多个从节点传送可用性数据,其中所述可用性数据包括与多个从节点中的各个节点相关联的可用性负载的指示;
通过所述主节点,至少部分地基于所述可用性数据从多个从节点中选择两个或多个从节点;
通过两个或多个从节点将两个或多个子剪辑从源格式转码到目标格式;
通过所述主节点从多个从节点传送状态数据,其中所述状态数据包括与多个从节点中的各个节点相关联的转码完成的指示;
通过所述主节点,至少部分地基于所述状态数据确定全部两个或多个子剪辑已经被转码;
通过所述主节点,响应于确定全部两个或多个子剪辑已经被转码,请求从两个或多个从节点向所述主节点传送两个或多个子剪辑的转码版本;
其中通过所述主节点分发两个或多个子剪辑包括:分发与两个或多个子剪辑中的各个子剪辑相关联的唯一身份数据和目标格式数据。
CN2013101995830A 2012-04-03 2013-04-03 视频剪辑的硬件加速分布式转码 Pending CN103369324A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/438,101 2012-04-03
US13/438,101 US9538208B2 (en) 2012-04-03 2012-04-03 Hardware accelerated distributed transcoding of video clips

Publications (1)

Publication Number Publication Date
CN103369324A true CN103369324A (zh) 2013-10-23

Family

ID=49235013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013101995830A Pending CN103369324A (zh) 2012-04-03 2013-04-03 视频剪辑的硬件加速分布式转码

Country Status (2)

Country Link
US (1) US9538208B2 (zh)
CN (1) CN103369324A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246215A (zh) * 2018-11-28 2020-06-05 深圳市炜博科技有限公司 一种视频格式转换的方法及终端

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930416B2 (en) * 2012-08-13 2015-01-06 Hulu, LLC Job dispatcher of transcoding jobs for media programs
CN103634578B (zh) * 2013-12-02 2016-06-08 天脉聚源(北京)传媒科技有限公司 一种分布式视频转码的纠错方法及***
US10904091B2 (en) 2015-06-03 2021-01-26 Avago Technologies International Sales Pte. Limited System for network-based reallocation of functions
US10547491B2 (en) 2017-08-28 2020-01-28 Genband Us Llc Transcoding with a vector processing unit
US20190069006A1 (en) * 2017-08-29 2019-02-28 Western Digital Technologies, Inc. Seeking in live-transcoded videos

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070002946A1 (en) * 2005-07-01 2007-01-04 Sonic Solutions Method, apparatus and system for use in multimedia signal encoding
CN101098483A (zh) * 2007-07-19 2008-01-02 上海交通大学 以图像组结构为并行处理单元的视频集群转码***
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
CN102036043A (zh) * 2010-12-15 2011-04-27 成都市华为赛门铁克科技有限公司 视频数据处理方法、装置及视频监控***
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8155207B2 (en) * 2008-01-09 2012-04-10 Cisco Technology, Inc. Processing and managing pictures at the concatenation of two video streams

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070002946A1 (en) * 2005-07-01 2007-01-04 Sonic Solutions Method, apparatus and system for use in multimedia signal encoding
CN101098483A (zh) * 2007-07-19 2008-01-02 上海交通大学 以图像组结构为并行处理单元的视频集群转码***
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
CN102036043A (zh) * 2010-12-15 2011-04-27 成都市华为赛门铁克科技有限公司 视频数据处理方法、装置及视频监控***
CN102123279A (zh) * 2010-12-28 2011-07-13 乐视网信息技术(北京)股份有限公司 一种分布式实时转码方法与***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246215A (zh) * 2018-11-28 2020-06-05 深圳市炜博科技有限公司 一种视频格式转换的方法及终端

Also Published As

Publication number Publication date
US9538208B2 (en) 2017-01-03
US20130259138A1 (en) 2013-10-03

Similar Documents

Publication Publication Date Title
CN103369324A (zh) 视频剪辑的硬件加速分布式转码
CN104782136B (zh) 在云中处理视频数据
CN106133826B (zh) 用于语言模型自定义的灵活模式
CN103959235B (zh) 在操作***初始化过程中显示多媒体数据的技术
CN104471992B (zh) 无线连接之上的内容的能量高效传输
CN104951263A (zh) 避免向显示器发送未改变的区域
KR101912177B1 (ko) 음성 인식 동적 사전을 유지하기 위한 시스템 및 방법
CN103999096A (zh) 用于视频数据背景区域的降低的图像质量
CN107038226A (zh) 一种信息推荐方法及网络设备
CN104050040A (zh) 媒体重放工作负荷调度器
KR20140130196A (ko) 블록 압축 이미지들의 압축 해제를 위한 시스템, 방법, 및 컴퓨터 프로그램 제품
CN104052791A (zh) 计算装置上的选择性内容共享
CN104049967A (zh) 暴露媒体处理特征
CN104012059A (zh) 协处理器之间的直接链路同步通信
CN103533286A (zh) 用于带静态区域排除的时间帧内插的方法和***
CN104094603B (zh) 用于在视频编码***中进行集成元数据***的***和方法
CN105025349A (zh) 加密的投屏
CN104125480A (zh) 改进的代码转换管理技术
CN104054049A (zh) 减少由cpu执行以便复制源数据从而实现对源数据的并行处理的读/写操作的数量
CN103685229A (zh) 节能连续数据传递
CN104604156A (zh) 预定义调制传输的对等设备设置
CN104429045A (zh) WiDi云模式
CN104221393A (zh) 内容自适应视频处理
CN103988253B (zh) 用于显示数据流的速率调节的技术
CN104272285B (zh) 用于渲染图形应用程序的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20131023