CN107294948B - 处理媒体数据的计算机实现方法、装置及数据处理系统 - Google Patents

处理媒体数据的计算机实现方法、装置及数据处理系统 Download PDF

Info

Publication number
CN107294948B
CN107294948B CN201611090114.5A CN201611090114A CN107294948B CN 107294948 B CN107294948 B CN 107294948B CN 201611090114 A CN201611090114 A CN 201611090114A CN 107294948 B CN107294948 B CN 107294948B
Authority
CN
China
Prior art keywords
media
module
processing
user
platform module
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.)
Active
Application number
CN201611090114.5A
Other languages
English (en)
Other versions
CN107294948A (zh
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.)
Baidu USA LLC
Original Assignee
Baidu USA 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 Baidu USA LLC filed Critical Baidu USA LLC
Publication of CN107294948A publication Critical patent/CN107294948A/zh
Application granted granted Critical
Publication of CN107294948B publication Critical patent/CN107294948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个实施方式中,群集管理器将媒体数据划分为多个媒体数据分区,每个媒体数据分区将由计算系统的计算节点进行处理。计算节点中的平台模块接收包括在媒体数据分区中的多个媒体文件。平台模块将每个媒体文件从原始格式编码成预定义格式。然后,平台模块将每个已编码媒体文件组合或序列化成单个序列化数据流,并将它传输到计算节点中的用户模块。用户模块使所接收的已编码媒体文件彼此分离。然后,用户模块将每个分离的已编码媒体文件从预定义格式解码成原始格式,并对每个所解码的文件执行具体的媒体处理操作。媒体处理操作的示例包括分类、图像变换和特征提取。

Description

处理媒体数据的计算机实现方法、装置及数据处理系统
技术领域
本发明的实施方式大体涉及数据处理。更具体地,本发明的实施方式涉及基于流传输处理分布式计算机系统上的媒体数据。
背景技术
随着对装备有高分辨率相机和大视图触摸屏的智能手机和其他手持式计算装置的使用日益增加,使得互联网上的多媒体内容显著增加。这种增加包括现今可供用户使用的多媒体内容的量以及由他们消耗或产生(例如,搜索、观看、流传输或上传)并通过互联网传输的多媒体数据的量。免费或低成本无线互联网接入(Wi-Fi)的广泛可用性及更加实惠的移动数据计划的大量使用也促成了互联网上的多媒体内容的增加。
这对处理多媒体内容的传统分布式数据处理系统提出了几项挑战。第一,大多数现有的系统和算法并未为处理图片、音频或视频内容而被专门设计或进行优化。例如,与对文本网页(其关键字通常在所述网页内可获得)进行索引不同,“理解”无附加描述的图片并对其进行索引的任务要难得多,通常需要复杂的机器学习和/或图像分析算法。此外,运行那些算法对计算资源的要求会苛刻得多。第二,多媒体内容文件会比文本对应部分大许多个数量级。例如,呈文本格式的小说可刚好在几百个千字节(KB)内,而基于所述小说的高清晰度影片根据影片文件分辨率及其压缩方法和/或级别可以轻易地占据几千兆字节(GB)。这种差异会使得需要重新设计现有系统以有效地处理多媒体内容。而且,为了在不显著或频繁改变系统的情况下允许不同应用程序在同一个分布式处理系统上运行,需要向应用程序提供使用这种系统的较高灵活性。
发明内容
本发明的目的在于提供一种处理媒体数据的计算机实现方法、处理媒体数据的装置以及数据处理系统。
根据一方面,提供了一种用于处理媒体数据的计算机实现方法,该方法包括:在计算节点的平台模块处接收一种或多种类型的多个媒体文件,多个媒体文件与多个媒体数据分区中的一个相关联;在平台模块处将媒体文件中的每个从原始格式编码成预定义格式;在平台模块处将每个已编码媒体文件组合成第一单个序列化数据流;在计算节点的用户模块处分离第一单个序列化数据流中的已编码媒体文件;在用户模块处将每个分离的已编码媒体文件从预定义格式解码成该已编码媒体文件的原始格式;以及在用户模块处对所解码的媒体文件中的每个执行与用户模块相关联的媒体处理操作。
根据另一方面,提供了一种用于处理媒体数据的装置,该装置包括平台模块和用户模块,其中,平台模块包括:接收一种或多种类型的多个媒体文件的单元,多个媒体文件与多个媒体数据分区中的一个相关联;将媒体文件中的每个从原始格式编码成预定义格式的单元;以及将每个已编码媒体文件组合成第一单个序列化数据流的单元,用户模块包括:分离第一单个序列化数据流中的已编码媒体文件的单元;将每个分离的已编码媒体文件从预定义格式解码成该已编码媒体文件的原始格式的单元;以及对所解码的媒体文件中的每个执行与用户模块相关联的媒体处理操作的单元。
根据又一方面,提供了一种数据处理系统,该系统包括根据本申请的实施方式的用于处理媒体数据的装置。
附图说明
本发明的实施方式以举例而非限制的方式在附图的各图中示出,附图中的相同附图标记指示类似元件。
图1是示出根据本发明的一个实施方式的用于处理媒体数据的计算系统的框图。
图2A至图2D是示出根据本发明的某些实施方式的计算节点的多个实施方式的框图。
图3是示出根据本发明的一个实施方式的计算节点的另一实施方式的框图。
图4是示出根据本发明的一个实施方式的由平台模块处理媒体数据的过程的流程图。
图5是示出根据本发明的一个实施方式的由用户模块处理媒体数据的过程的流程图。
图6是示出根据本发明的一个实施方式的计算节点的示例系统的框图。
具体实施方式
以下将参考所讨论的细节来描述本发明的多个实施方式和方面,附图将示出所述多个实施方式。以下描述和附图是对本发明的说明,而不应当解释为限制本发明。描述了许多具体细节以提供对本发明的多个实施方式的全面理解。然而,在某些示例中,并未描述众所周知的或常规的细节,从而提供了对本发明的实施方式的简洁讨论。
本说明书中对“一个实施方式”或“实施方式”的引用意指结合该实施方式所描述的具体的特征、结构或特性可包括在本发明的至少一个实施方式中。在本说明书中各个位置出现的短语“在一个实施方式中”不必全部都指代同一实施方式。
本发明的实施方式通过将媒体数据划分为多个分区并在大型计算系统的单独计算节点上处理每个分区(优选地,通过基于流传输的方式)来克服了现有技术的局限性。
在一个实施方式中,为向用户提供使用系统的灵活性,通过计算节点的平台模块以及一个或多个用户模块来执行由计算节点对每个媒体数据分区的处理。结果,用户模块可独立于平台模块和其他用户模块的操作来执行具体的媒体处理操作。这允许在不影响平台模块或其他用户模块的情况下修改所述用户模块或部署新的用户模块。因此,平台模块与用户模块之间可能需要某种通用格式以传输和接收媒体数据。
在一个实施方式中,计算系统的群集管理器将媒体数据划分为多个媒体数据分区,每个媒体数据分区将由计算系统的计算节点来处理。所述分区中的每个包括存储一种或多种特定类型的媒体数据的媒体文件。每个计算节点可被配置为执行具体的媒体处理操作。计算节点中的平台模块接收包括在媒体数据分区中的多个媒体文件。媒体文件呈原始格式或者包括原始格式的某一存档格式,并且不同类型的媒体文件可具有不同格式。平台模块将每个媒体文件从原始格式编码为预定义格式。然后,平台模块将每个已编码媒体文件组合或序列化为单个序列化数据流,并将它传输到计算节点中的用户模块。然后,用户模块使所接收到的已编码媒体文件彼此分离。然后,用户模块将每个分离的已编码媒体文件从预定义格式解码为原始格式,并对每个所解码的文件执行具体的媒体处理操作。媒体处理操作的示例包括分类、图像变换和特征提取。
在媒体处理操作之后,用户模块可像平台模块先前所做的那样来处理媒体文件,并将它们传输回到平台模块。具体地,用户模块可将每个媒体文件从原始格式编码为预定义格式,并将每个文件组合为另一单个序列化数据流,之后传输到平台模块。
图1是示出根据本发明的一个实施方式的用于处理媒体数据的计算系统的框图。参考图1,计算系统100包括但不限于通过网络104联接到群集管理器105和媒体数据存储器106的一个或多个计算节点101A、…、101N。计算系统100是分布式计算机系统,其能够通过通常由高速互连网络所连接的潜在大量计算节点来并行执行大规模计算和/或数据处理应用程序。
每个计算节点(例如,101A、101B(未示出)、…、和101N)包括平台模块102A和用户模块103A,将参照图2A至图2D和图3来更详细地描述平台模块和用户模块。平台模块在分布式计算系统与用户之间起作用,从而提供共享服务来支持多个用户程序或模块以及它们使用计算系统的灵活性。因此,当需要改变或移除用户程序或模块中的一个用户程序或模块时,平台模块和其他用户程序或模块可不受影响。尽管不同计算节点的平台模块可对不同数据集合起作用或执行不同处理任务,但它们在部署时可以是实质上相同或类似。计算节点可具有一个或多个用户模块。用户模块表示在计算节点上运行并与计算节点上的平台模块相互作用的特定用户程序。计算节点通过网络104连接,该网络可以是高速互连网络。
群集管理器105通过以下步骤来管理计算系统100上的整体应用程序执行:将整个应用程序转换为多个作业,并将那些作业中的每个调度到计算系统100的计算节点中的一个计算节点上,以例如实现负载平衡。群集管理器105还可管理在计算节点上同步运行的多个应用程序当中的资源共享和调度。可替代地,计算节点中的一个计算节点可执行群集管理器105的功能。
在一个实施方式中,媒体数据被存储在媒体数据存储器106中,并待由计算系统100来处理。群集管理器105可将媒体数据划分为N个分区,并将每个分区调度到计算节点中的一个计算节点上以进行处理。每个媒体数据分区包括待由计算节点处理的一个或多个媒体文件。每个媒体文件可以按其原始格式存储在媒体数据存储器106中。不同媒体文件的原始格式可以不同。媒体数据存储器106可以是连接到存储网络的专用服务器计算机,该专用服务器计算机充当计算系统100的存储服务器。媒体数据存储器106也可在服务大量云用户的、基于云的存储服务供应商上。作为连接至网络104的替代,媒体数据存储器106可直接附接至一个或多个计算节点或附接至群集管理器105。
在一个实施方式中,由于待处理的媒体文件的数量极大,所以将存储在媒体数据存储器106上的媒体文件打包成较少数量的档案,每个档案通常包括数十个、数百个或有时甚至数千个媒体文件。在该实施方式中,这种存档是有利的,因为这种实施方式中需要通过网络传输的文件的数量将减少,由此减少在传输期间可能引起的额外负担。还可减小错误率和重传需求。存档还有助于克服分布式存储系统(诸如,媒体数据存储器106)的某些局限性。因此,如本领域普通技术人员所理解,可通过在传输之前将媒体文件存档来提高计算系统100的整体处理性能。搜索引擎可利用存储在媒体数据存储器106中的媒体数据,以响应于搜索查询通过网络(例如,互联网)来搜索内容并将其传回至客户端。
图2A到图2D是示出根据本发明的某些实施方式的计算节点的多个实施方式的框图。参考图2A,计算节点201A包括平台模块202A和用户模块203A。媒体数据分区208是由群集管理器105调度以在计算节点201A处进行处理的媒体数据分区,媒体数据分区208从媒体数据存储器206传输至计算节点201A,并且首先由平台模块202A来处理。
平台模块202A将从媒体数据存储器206接收到的媒体数据分区208处理为单个序列化数据流(受平台模块202A与用户模块203A两者支持的格式),并将该单个序列化数据流传输到用户模块203A。如本领域普通技术人员所理解,这种基于流传输的方法避免了当平台模块202A处理媒体数据时可能需要计算节点201A在运行时间期间加载大量媒体数据并将所加载的大量媒体数据存储在计算节点201A的存储器中,由此不管由平台模块202A处理的媒体数据的文件大小如何,由平台模块202A对存储器的消耗都实质上保持不变。这对某些应用程序(诸如,媒体数据的特征分析和分类应用程序)来说可以是特别有利的。在此类应用程序中,由于媒体文件的大小更大,所以一次加载大量媒体文件在各个方面中都会有挑战性的,并会出现多个问题,例如动态存储器分配(从系统的角度来看)或人工存储器管理(在以C或类似语言编程时从开发者的角度来看)的负担增加以及与由Java或C#实施例使用的垃圾收集机制有关的性能问题。
在图2A中所示的实施方式中,平台模块202A包括编码模块210、组合模块212、分离模块214和解码模块216。如图2A中所示,从媒体数据存储器206传输的媒体数据分区208是由群集管理器105划分并被调度到计算节点201A上以进行处理的N个媒体数据分区中的一个。在接收到媒体数据分区208之后,编码模块210将媒体数据分区208中的每个媒体文件从其原始格式编码成预定义格式。预定义格式和编码机制通常由平台模块与用户模块两者商定和/或受到平台模块与用户模块两者的支持。各种类型的媒体文件可呈多种原始格式。例如,对于图像文件来说,原始格式可包括但不限于JPEG(联合图像专家组)、位图、PNG(便携式网络图形)、GIF(图形交换格式)、TIFF(标记图像文件格式)等。对于音频文件来说,原始格式可包括但不限于WAV、MP3、MPC、WMA、AAC、M4A、FLAC等。对于视频文件来说,原始格式可包括但不限于Matroska、FLV、WMV、RMVB、MPEG等。
在一个实施方式中,将给定的图像文件从原始格式编码成预定义格式是按照以下进行运作的。在该示例中,假设给定的图像文件是JPEG文件,文件名是“SampleImageFileName1.JPEG”,且文件大小是150,000字节。存储在文件内容中的图像按照JPEG规格。编码过程首先将关于图像文件的信息添加到图像文件的始端。此类信息包括:整数类型的字段,其指示文件名的字符数(对于这个示例来说其为25,即“SampleImageFileName1.JPEG”中的字符数为25);存储文件名的字符数组(在这个示例中为“SampleImageFileName1.JPEG”);以及以字节为单位指示文件大小的整数(其为150,000)。指示文件名的字符数的整数通常为4个字节。实际上也可选择其他字节数。指示文件名中的字符数的整数和存储文件名的字符数组使得用户模块能够从已编码媒体文件正确地还原文件名。指示文件大小的整数使得用户模块能够识别媒体文件的准确结束位置并使一个媒体文件与另一个媒体文件分离。指示文件大小的整数通常为4个字节或8个字节,这取决于待处理的媒体文件的可能最大文件大小。实际上也可选择其他字节数。文件(SampleImageFileName1.JPEG)的内容根据指示文件大小的整数而定。
在将以上信息添加到图像文件的前面之后,编码过程将存储文件名的字符数组转换为对应的字节数组,其中每个字节存储文件名中的对应字符的ASCII码的值。编码过程可保留(不作改变)指示文件名的字符数的整数和指示文件大小的整数以及媒体文件的内容。在以上示例中,存储文件名(SampleImageFileName1.JPEG)的ASCII码的对应值的整数数组如下(用十进制):083、097、109、112、108、101、073、109、097、103、101、070、105、108、101、078、097、109、101、049、046、074、080、069、071。应注意,编码方法并不仅限于ASCII码,因为本领域普通技术人员也可选择其他合适的编码方法。在另一实施方式中,编码过程可按同样与用户模块商定的方式来转换指示文件名的字符数的整数和指示文件大小的整数中的任一者或两者。
在对每个媒体文件进行编码之后,组合模块212将每个已编码媒体文件组合为单个序列化数据流。如上文所提到,包括在已编码媒体文件中的每个文件大小的信息使得用户模块203A能够使来自单个序列化数据流(包括待处理的所有媒体文件)中的每个已编码媒体文件与另一个已编码媒体文件分离。在组合之后,平台模块202A将已组合的单个序列化数据流传输至用户模块203A。
用户模块203A从平台模块202A接收单个序列化数据流,使单个序列化数据流中的已编码媒体文件彼此分离,将每个分离的已编码媒体文件从预定义格式解码成其原始格式,并对所解码的媒体文件中的每个执行媒体处理操作。在将已处理的媒体文件传输回到平台模块202A之前,用户模块203A还可对每个媒体文件执行编码和组合操作(与以上针对平台模块202A的编码模块210和组合模块212所描述的编码操作和组合操作类似)。
在图2A中所示的实施方式中,用户模块203A包括分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226。在从平台模块202A接收到已组合的单个序列化数据流之后,分离模块218使单个序列化数据流中的每个已编码媒体文件与另一个已编码媒体文件分离。如上文所提到,这借助于可在每个已编码文件中获得的文件大小信息来完成。分离模块218扫描单个数据流,读取文件名信息并识别文件大小,且使用文件大小信息来定位当前媒体文件的末端。分离模块218针对每个已编码媒体文件重复这个过程,直到所有已编码媒体文件被分离为止。
解码模块220将已编码媒体文件从预定义格式转换成其原始格式。在以上图像文件(SampleImageFileName1.JPEG)的示例中,解码模块220读取指示文件名的字符数的整数(其为25),接着读取已编码媒体文件中的字节数以检索表示文件名的ASCII码数组(其将为083、097、109、112、108、101、073、109、097、103、101、070、105、108、101、078、097、109、101、049、046、074、080、069、071),并将所述ASCII码数组转换成字符以提取已编码的文件名(其为“SampleImageFileName1.JPEG”)。
在由解码模块220解码之后,媒体操作模块222处理原始媒体文件。实际上,用户模块203A可在媒体操作模块222中定义和执行任何媒体处理操作。媒体处理操作的示例包括但不限于将图像文件分类为一个或多个定义的群组、变换图像定向(将图像旋转90或180度)和对图像进行各种类型的特征提取。针对这些类型的媒体处理操作中的每个,有许多现有的已知算法,相关领域的普通技术人员可以根据需要容易地使其适合本发明。
如上文所提到,在由媒体操作模块222处理之后,用户模块203A可分别通过其编码模块224和组合模块226对每个媒体文件执行编码和组合操作(与上文关于平台模块202A的编码模块210和组合模块212所描述的编码和组合操作类似)。然后,用户模块将已组合的媒体文件作为另一单个序列化数据流传输至平台模块202A。
在一个实施方式中,用户模块203A可选择不执行编码和组合操作;相反,用户模块203A可将媒体操作模块222的操作的结果保存在本地或另一个位置中。在其他实施方式中,用户模块203A可直接将结果发送到除平台模块202A之外的实体,例如另一计算节点或在计算节点201A处的另一个用户模块。
平台模块202A的分离模块214从用户模块203A的组合模块226接收单个序列化数据流,该单个序列化数据流包括由用户模块203A处理的媒体文件。与用户模块203A的分离模块218类似,平台模块202A的分离模块214使来自从用户模块203A接收到的单个序列化数据流中的每个已编码媒体文件与另一个已编码媒体文件分离。同样地,与用户模块203A的解码模块220类似,平台模块202A的解码模块216将由分离模块214所分离的每个已编码媒体文件从预定义格式转换成其原始格式。然后将已由用户模块203A处理的每个已解码媒体文件按其原始格式传输至媒体数据存储器206。
参考图2B,与图2A类似,计算节点201B包括平台模块202B和用户模块203B。和用户模块203A一样,用户模块203B包括分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226。用户模块203B及其分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作与用户模块203A及用户模块203A的分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作基本上相同或类似,因此不重复对其的描述。
和平台模块202A一样,平台模块202B包括编码模块210、组合模块212、分离模块214和解码模块216。另外,平台模块202B与本地数据存储器228相关联。平台模块202B的编码模块210、组合模块212、分离模块214和解码模块216的操作与平台模块202A的编码模块210、组合模块212、分离模块214和解码模块216的操作基本上相同或类似,因此不重复对其的描述。
根据图2B中所示的实施方式,在分离(通过分离模块214)和解码(通过解码模块216)从用户模块203B接收到的单个序列化数据流之后,已由用户模块203B处理的所得媒体文件并未被传输回到媒体数据存储器206;作为替代,它们被保存到与平台模块202B相关联的本地数据存储器228中,该本地数据存储器可不与任何其他计算节点共享。
参考图2C,与图2A类似,计算节点201C包括平台模块202C和用户模块203C。和用户模块203A一样,用户模块203C包括分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226。用户模块203C及其分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作与用户模块203A及用户模块203A的分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作基本上相同或类似,因此不重复对其的描述。
和平台模块202A一样,平台模块202C包括编码模块210、组合模块212、分离模块214和解码模块216。另外,平台模块202B包括解包模块209和打包模块217。平台模块202C的编码模块210、组合模块212、分离模块214和解码模块216的操作与平台模块202A的编码模块210、组合模块212、分离模块214和解码模块216的操作基本上相同或类似,因此不重复对其的描述。
根据图2C中所示的实施方式,将媒体数据分区208内的媒体文件打包到一个或多个档案中,每个档案通常包括数十个、数百个或有时甚至数千个媒体文件。一从媒体数据存储器206接收到媒体数据分区208,解包模块209就首先将一个或多个档案解包,并从那些档案中提取媒体文件。接下来,解包模块209将所提取的媒体文件传输至编码模块210以进行处理,如上文根据图2A所描述。
同样地,媒体文件在由用户模块203C进行处理、通过分离模块214彼此分离并由解码模块216进行解码之后,通过打包模块217将它们打包到一个或多个档案中,之后通过平台模块202C将其传输到媒体数据存储器206。
参考图2D,与图2A类似,计算节点201D包括定制平台模块202D和用户模块203D,如下面更详细地解释的那样,计算节点201D与计算节点201A的差异是计算节点201D的平台模块是由用户模块203D定制的。与用户模块203A一样,用户模块203D包括分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226。用户模块203D及其分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作与用户模块203A及用户模块203A的分离模块218、解码模块220、媒体操作模块222、编码模块224和组合模块226的操作基本上相同或类似,因此不重复对其的描述。
与平台模块202A类似,定制平台模块202D包括定制编码模块210D、定制组合模块212D、定制分离模块214D和定制解码模块216D。同样地,定制编码模块210D、定制组合模块212D、定制分离模块214D和定制解码模块216D的操作与平台模块202A的编码模块210、组合模块212、分离模块214和解码模块216的操作类似。差异是定制平台模块202D(及如上文所列举的定制平台模块202D的组件)可由平台用户定制。虽然并非绝对必要,但在将用户模块203D和定制平台模块202D部署在计算系统100上之前通常这样做。
例如,平台用户可选择使用不同的编码和/或组合方法,由此需要改变平台模块的对应模块。图2D中所示的实施方式允许平台用户定制平台模块的编码模块、组合模块、分离模块和/或解码模块。以定制编码模块210D为例。在一个实施方式中,定制编码模块210D设置有可以由用户模块203D指定或可以默认为NULL的参数。该参数在运行时期间可改变。用户模块203D可给参数赋予某个值,该值指引由用户模块203D定义的用于执行定制操作的特定功能。当定制编码模块210D接收到这个值时,定制平台模块202D用由所述参数的值指引的特定功能来代替定制编码模块210D的预定义的默认功能,且然后执行由用户模块203D定义的定制功能。当定制编码模块210D接收到具有NULL值的参数时,其将假设用户模块203D不需要定制操作且将执行预定义的默认编码功能。
图3是示出根据本发明的一个实施方式的计算节点的另一实施方式的框图。如上文所提到,计算节点可具有一个或多个用户模块,每个用户模块表示在计算节点上运行并且与在同一个计算节点上运行的平台模块相互作用的具体用户程序。在图3中所示的实施方式中,计算节点301包括N个用户模块303A、303B、...、303N,每个用户模块与平台模块302通信。这在群集管理器105调度在计算系统100的计算节点上同步运行的多个不同应用程序的情况中是可取的,在这种情况中,应用程序共用计算节点上的一个平台模块,但每个应用程序需要不同的用户模块。另一种可采取这种方案的情况是用于具有比其他计算节点更强的处理能力(例如,具有更多的处理内核或更高的网络I/O吞吐量)的一些计算节点,使得群集管理器105可选择在那些计算节点上调度比其他计算节点多的处理任务。因此,此类计算节点可布置一个以上的用户模块来处理所分配的任务。在这种情形下,用户模块实质上可以是相同或类似的。应注意,这两种情况仅用于说明性目的,并且图3的适用范围决不限于此类情况。本领域普通技术人员可使图3所示出的实施方式同样适合其他情况。应注意,可在多个线程中的一个中来执行在用户模块303A-303N中的相应一个内运行的每个用户程序。可替代地,用户模块303A-303N中的每个可具有其自己的处理器或处理器内核及其他处理资源(例如,储存器和/或存储器)。
图4是示出根据本发明的一个实施方式的由平台模块处理媒体数据的过程的流程图。过程400可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,在非暂时性计算机可读介质上实现的)或其组合。例如,可由图2A的计算节点201A来执行过程400。
参考图4,在框402处,处理逻辑接收一种或多种类型的媒体文件。所述媒体文件包括在由群集管理器划分的多个媒体数据分区中的一个中,所述群集管理器将每个媒体数据分区调度到多个计算节点中的一个以进行处理。一种或多种类型的媒体文件可呈图像、音频或视频文件格式中的任一个,所述格式包括但不限于:JPEG、位图、PNG、GIF、TIFF、WAV、MP3、MPC、WMA、AAC、M4A、FLAC、Matroska、FLV、WMV、RMVB、MPEG等。
在框404处,处理逻辑将媒体文件中的每个从原始格式编码成预定义格式,以产生已编码媒体文件的第一集合。预定义格式和编码机制通常由平台模块和用户模块商定和/或受到平台模块和用户模块的支持。在框406处,处理逻辑将第一集合的已编码媒体文件中的每个组合为第一单个序列化数据流。在框408处,处理逻辑将第一单个序列化数据流传输至用户模块。用户模块按照随后所解释的那样处理第一单个序列化数据流。
随后,在框410处,处理逻辑从用户模块接收第二单个序列化数据流。第二单个序列化数据流包括已由用户模块处理并组合的已编码媒体文件。在框412处,处理逻辑分离第二单个序列化数据流中的已编码媒体文件,以恢复已编码媒体文件的第二集合。在框414处,处理逻辑将第二集合的已编码媒体文件中的每个从预定义格式解码成其原始格式。
在一个实施方式中,可能不需要框410、412和414中的所有处理步骤。在一个实施方式中,由处理逻辑接收一个或多个档案中的呈一种或多种格式的媒体文件,每个档案包括媒体文件。在对每个媒体文件进行编码之前,处理逻辑首先将一个或多个档案解包,并从那些档案中提取媒体文件。然后,按照框404和406中所描述的那样对所提取的媒体文件中的每个进行编码和组合。在那些媒体文件按照框412和414中所描述那样由用户模块处理并且由处理逻辑分离和解码之后,处理逻辑再次将它们打包到一个或多个档案中。还应注意,可在不同线程中执行框402至408的操作以及框410至414的操作。
图5是示出根据本发明的一个实施方式的由用户模块处理媒体数据的过程的流程图。过程500可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,在非暂时性计算机可读介质上实施)或其组合。例如,可由图2A的计算节点201A执行过程400。
参考图5,在框502处,处理逻辑从平台模块接收第一单个序列化数据流。所述第一单个序列化数据流包括包含在媒体数据分区中呈一种或多种格式的媒体文件。每个媒体文件已由平台模块编码并组合为单个序列化数据流。
在框504处,处理逻辑分离第一单个序列化数据流中的已编码媒体文件。在框506处,处理逻辑将每个分离的已编码媒体文件从预定义格式解码成其原始格式。预定义格式和解码机制通常由用户模块和平台模块商定和/或受到用户模块与平台模块的支持。
随后,在框508处,处理逻辑对已解码媒体文件中的每个执行媒体处理操作。媒体处理操作的示例包括但不限于将图像文件分类为一个或多个定义的群组、变换图像定向(将图像改变90或180度)和对图像进行各种类型的特征提取。
随后,在框510处,处理逻辑将媒体文件中的每个从原始格式编码为预定义格式。在框512处,处理逻辑将每个已编码媒体文件组合为第二单个序列化数据流。
随后,在框514处,处理逻辑将第二单个序列化数据流传输至平台模块。平台模块可按照根据框410、412和414所描述的那样处理第二单个序列化数据流。
应注意,如上文所示和描述的组件(例如,平台模块202A、用户模块203A等)中的一部分或全部可以以软件、硬件或其组合来实施。例如,这些组件可实现为安装并且存储在永久性存储装置中的软件,该软件可以通过处理器(未示出)加载并且通过处理器在存储器中执行,以实现在本申请全文中所描述的过程或操作。可替代地,这些组件实现为编程或嵌入到诸如集成电路(例如,应用程序专用IC或ASIC)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)的专用硬件中可通过来自应用程序的对应驱动程序和/或操作系统访问的可执行代码。此外,这些组件可实现为处理器或处理器内核中的特定硬件逻辑,以作为可由软件组件通过一个或多个特定指令来访问的指令集的一部分。
图6是示出可与本发明的一个实施方式一起使用的计算节点的示例系统的框图。例如,系统600可表示以上所述的执行上述过程或方法中的任一个的任一数据处理系统。系统600可包括多个不同组件。这些组件可实现为集成电路(IC)、集成电路的若干部分、离散电子装置或适合于电路板的其他模块(诸如,计算机系统的主板或插入卡),或者实现为以其他方式并入计算机系统的机箱内的组件。
还注意,系统600旨在示出计算机系统的多个组件的上层视图。然而,应理解,在某些实施方案中可存在额外组件,并且此外,在其它实施方案中可出现所示组件的不同布置。系统600可表示台式计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(PDA)、智能手表、个人通信器、游戏设备、网络路由器或集线器、无线接入点(AP)或中继器、机顶盒或其组合。此外,虽然仅示出单个机器或系统,但术语“机器”或“系统”还应视为包含单独或共同执行指令的一个集合(或多个集合)以执行本文中所论述的方法中的任一方法或多个方法的机器或系统的任一集合。
在一个实施方式中,系统600包含经由总线或互连件610连接的处理器601、存储器603和装置605至608。处理器601可表示其中包含单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器601可表示一个或多个通用处理器,例如微处理器、中央处理单元(CPU)等等。更具体地,处理器601可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理器601还可以是一个或多个专用处理器,例如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、通信处理器、加密处理器、协同处理器、嵌入式处理器或能够处理指令的任何其它类型的逻辑。
处理器601(其可以是低功率多核处理器插座,例如超低电压处理器)可充当与系统的各种组件通信的主要处理单元和中央集线器。此处理器可实现为片上系统(SoC)。处理器601被配置为执行用于实施本文中所论述的操作和步骤的指令。系统600可进一步包含与任选显示控制器和/或显示装置604通信的图形接口,显示控制器和/或显示装置604可包括显示控制器、图形处理器和/或显示装置。
处理器601可与存储器603通信,在一个实施方式中,所述存储器可经由多个存储器装置实施以提供给定量的系统存储器。存储器603可包含一个或多个易失性存储(或储存)装置,例如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储装置。存储器603可存储包括由处理器601或任何其它装置执行的指令序列的信息。例如,多种操作系统、装置驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用的可执行代码和/或数据可加载到存储器603中并由处理器601执行。操作系统可以是任何种类的操作系统,诸如例如,来自
Figure GDA0002490249840000161
Figure GDA0002490249840000162
操作系统、来自苹果公司的Mac
Figure GDA0002490249840000163
来自
Figure GDA0002490249840000164
Figure GDA0002490249840000165
或其它实时或嵌入式操作系统,例如VxWorks。
系统600可进一步包含I/O设备,例如装置605至608,包括网络接口装置605、任选输入装置606以及任选I/O装置607。网络接口装置605可包括无线收发器和/或网络接口卡(NIC)。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线蜂窝电话收发器、卫星收发器(例如,全球定位系统(GPS)收发器)或其它射频(RF)收发器或其组合。NIC可以是以太网卡。
输入装置606可包括鼠标、触摸板、触敏屏幕(其可与显示控制器和/或显示装置604集成在一起)、指示器装置(例如指示笔)和/或键盘(例如,物理键盘或显示为触敏屏幕的一部分的虚拟键盘)。例如,输入装置606可包括联接至触摸屏的触摸屏控制器。触摸屏和触摸屏控制器可例如使用多个触摸灵敏度技术(包括但不限于电容性、电阻性、红外和表面声波技术)中的任一种,以及使用用于确定与触摸屏的一个或多个接触点的其它接近传感器阵列或其它元件来检测其接触和移动或中断。
I/O装置607可包括音频装置。音频装置可包括扬声器和/或麦克风以促进具有语音能力的功能,例如语音识别、语音复制、数字录音和/或电话功能。其它I/O装置607可进一步包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如,PCI-PCI桥)、传感器(例如,诸如加速度计、回转仪、磁力计、光传感器、罗盘、接近传感器等的运动传感器)或其组合。装置607可进一步包括成像处理子系统(例如,相机),成像处理子系统可包括用于促进相机功能(例如记录照片和视频剪辑)的光学传感器,例如电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光学传感器。某些传感器可经由传感器集线器(未示出)联接至互连件610,而其它设备(诸如键盘或热传感器)可由嵌入式控制器(未示出)来控制,这取决于系统600的具体配置或设计。
为提供对信息(例如数据、应用程序、一个或多个操作系统等)的永久存储,大容量存储器(未示出)也可联接至处理器601。在各种实施方式中,为实现更薄更轻的系统设计并提高系统响应能力,该大容量存储器可通过固态设备(SSD)来实施。然而,在其它实施方式中,大容量存储器可主要使用硬盘驱动器(HDD)来实施,其中较小量的SSD存储器充当SSD高速缓存以在断电事件期间实现对上下文状态和其它此类信息的非易失性存储,以便在系统活动重新启动时能够实现快速供电。而且,闪存装置可例如经由串行外围接口(SPI)联接至处理器601。这种闪存装置可提供对系统软件(所述系统软件包括系统的基本输入/输出软件(BIOS)以及其它固件)的非易失性存储。
存储装置608可包括计算机可存取存储介质609(也称为机器可读存储介质或计算机可读介质),其上存储有体现任何一种或多种本文所述方法或功能的一个或多个指令集或软件(例如,模块、单元和/或逻辑628)。模块/单元/逻辑628可表示上述组件中的任一个,诸如例如,如上所述的平台模块和用户模块。模块/单元/逻辑628可还在通过数据处理系统600对其执行期间完全地或至少部分地驻留在存储器603内和/或处理器601内,存储器603和处理器601还构成机器可存取存储介质。模块/单元/逻辑628可进一步经由网络接口装置605通过网络传输或接收。
计算机可读存储介质609还可用于永久地存储以上描述的一些软件功能。虽然计算机可读存储介质609在示例性实施方式中被示为单个介质,但术语“计算机可读存储介质”应视为包含存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应视为包含能够存储或对一组指令进行编码的任何介质,所述一组指令用于由机器执行并且致使机器执行本发明的任何一种或多种方法。因此,术语“计算机可读存储介质”应视为包含但并不限于固态存储器以及光学和磁性介质或者任何其它非暂时性机器可读介质。
本文中所述的模块/单元/逻辑628、组件和其它特征可实现为独立硬件组件或集成于硬件组件(例如ASICS、FPGA、DSP或类似装置)的功能中。另外,模块/单元/逻辑628可实现为固件或硬件装置内的功能电路。此外,模块/单元/逻辑628可以以硬件装置和软件组件的任何组合实施。
注意,虽然系统600被示出为具有数据处理系统的各种组件,但其不旨在表示互连这些组件的任何特定架构或方式;因为此类细节与本发明的实施方式关系不大。还将了解,网络计算机、手持式计算机、移动电话、服务器和/或具有更少组件或可能更多组件的其它数据处理系统也可与本发明的实施方式一起使用。
已依据对计算机存储器内数据位进行运算的算法和符号表示来呈现前述详细描述中的一些部分。这些算法描述和表示是数据处理领域的技术人员用于最有效地向所属领域的其它技术人员传达其工作的实质的方式。算法在此处并且通常被认为是引起所期望结果的有条理的操作序列。这些操作是需要对物理量进行物理操纵的操作。
然而,应牢记,所有这些和类似术语都将与适当物理量相关联,并且仅仅是应用于这些量的适宜标记。除非在以上讨论中另外明确地阐明,否则应了解,在说明书全文中,利用术语(例如在随附权利要求书中阐明的那些术语)进行的论述是指计算机系统或类似的电子计算装置的动作和过程,该计算机系统或类似的电子计算装置对计算机系统的寄存器和存储器内的表示成物理(电子)量的数据进行操控,并将其变换成在计算机系统存储器或寄存器或者其它此类信息存储、传输或显示装置中被同样地表示成物理量的其它数据。
本发明的实施方式还涉及一种用于执行本文中的操作的设备。此类计算机程序被存储在非暂时性计算机可读介质中。机器可读介质包括用于按照可由机器(例如,计算机)读取的形式来存储信息的任何机构。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、闪速存储器装置)。
前述附图中所描绘的过程或方法可由处理逻辑来执行,所述处理逻辑包括硬件(例如,电路、专用逻辑等)、软件(例如,在非暂时性计算机可读介质上实施)或两者的组合。尽管上文按照一定的顺序操作来描述过程或方法是,但是应当了解,所描述的操作中的一些可按不同的顺序执行。此外,一些操作可并行地而不是顺序地执行。
本发明的实施方式并不是参考任何特定编程语言来描述的。将理解的是,可使用多种编程语言来实施如本文中所描述的本发明的实施方式的教导。
在以上的说明书中,已经参考本发明的具体的例示性实施方式描述了本发明的实施方式。将显而易见的是,在不脱离如所附权利要求中阐述的本发明的更宽泛精神和范围的情况下,可对本发明的实施方式做出各种修改。因此,应当以说明性意义而非限制性意义来理解本说明书和附图。

Claims (21)

1.一种用于处理媒体数据的计算机实现方法,包括:
在计算节点的平台模块处接收一种或多种类型的多个媒体文件,所述多个媒体文件与多个媒体数据分区中的一个相关联;
在所述平台模块处将所述媒体文件中的每个从原始格式编码成预定义格式;
在所述平台模块处将每个已编码媒体文件组合成第一单个序列化数据流;
在所述计算节点的用户模块处分离所述第一单个序列化数据流中的所述已编码媒体文件;
在所述用户模块处将每个分离的已编码媒体文件从所述预定义格式解码成该已编码媒体文件的原始格式;以及
在所述用户模块处对所解码的媒体文件中的每个执行与所述用户模块相关联的媒体处理操作,其中,所述用户模块独立于平台模块和其他用户模块的操作来执行具体的媒体处理操作。
2.根据权利要求1所述的方法,还包括经由第一应用程序编程接口(API)将所述第一单个序列化数据流从所述平台模块传输至所述用户模块。
3.根据权利要求2所述的方法,还包括在执行所述媒体处理操作之后:
由所述用户模块将所述媒体文件中的每个从原始格式编码成所述预定义格式;以及
由所述用户模块将每个已编码媒体文件组合成第二单个序列化数据流。
4.根据权利要求3所述的方法,还包括经由第二API将所述第二单个序列化数据流从所述用户模块传输至所述平台模块。
5.根据权利要求4所述的方法,还包括:
由所述平台模块分离所述第二单个序列化数据流中的已编码媒体文件;以及
由所述平台模块将分离所述第二单个序列化数据流中的已编码媒体文件所得到的已编码媒体文件中的每个从所述预定义格式解码成该已编码媒体文件的原始格式。
6.根据权利要求1所述的方法,其中,每个媒体数据分区由所述平台模块以基于流传输的方式进行处理。
7.根据权利要求1所述的方法,还包括将由所述平台模块接收的所述媒体文件解包,其中,所述媒体文件被接收到已打包的档案中。
8.根据权利要求1所述的方法,其中由所述平台模块执行的所述编码操作和所述组合操作中的至少一个通过所述用户模块受到定制。
9.根据权利要求1所述的方法,其中,与所述用户模块相关联的所述媒体处理操作是可修改的。
10.根据权利要求9所述的方法,其中所述媒体处理操作包括分类、图像变换和特征提取中的至少一个。
11.一种用于处理媒体数据的装置,包括:
平台模块,包括:
接收一种或多种类型的多个媒体文件的单元,所述多个媒体文件与多个媒体数据分区中的一个相关联;
将所述媒体文件中的每个从原始格式编码成预定义格式的单元;以及
将每个已编码媒体文件组合成第一单个序列化数据流的单元,以及
用户模块,包括:
分离所述第一单个序列化数据流中的所述已编码媒体文件的单元;
将每个分离的已编码媒体文件从所述预定义格式解码成该已编码媒体文件的原始格式的单元;以及
对所解码的媒体文件中的每个执行与所述用户模块相关联的媒体处理操作的单元,其中,所述用户模块独立于平台模块和其他用户模块的操作来执行具体的媒体处理操作。
12.根据权利要求11所述的用于处理媒体数据的装置,其中,所述平台模块还包括经由第一应用程序编程接口(API)将所述第一单个序列化数据流从所述平台模块传输至所述用户模块的单元。
13.根据权利要求12所述的用于处理媒体数据的装置,其中,所述用户模块还包括:
将所述媒体文件中的每个从原始格式编码成所述预定义格式的单元;以及
将每个已编码媒体文件组合成第二单个序列化数据流的单元。
14.根据权利要求13所述的用于处理媒体数据的装置,其中,所述用户模块还包括经由第二API将所述第二单个序列化数据流从所述用户模块传输至所述平台模块的单元。
15.根据权利要求14所述的用于处理媒体数据的装置,其中,所述平台模块还包括:
分离所述第二单个序列化数据流中的已编码媒体文件的单元;以及
将分离所述第二单个序列化数据流中的已编码媒体文件所得到的已编码媒体文件中的每个从所述预定义格式解码成该已编码媒体文件的原始格式的单元。
16.根据权利要求11所述的用于处理媒体数据的装置,其中,每个媒体数据分区由所述平台模块以基于流传输的方式进行处理。
17.根据权利要求11所述的用于处理媒体数据的装置,其中,所述平台模块还包括将由所述平台模块接收到的所述媒体文件解包的单元,其中,所述媒体文件被接收到已打包的档案中。
18.根据权利要求11所述的用于处理媒体数据的装置,其中,所述平台模块的将所述媒体文件中的每个从原始格式编码成预定义格式的单元和将每个已编码媒体文件组合成第一单个序列化数据流的单元中的至少一个通过所述用户模块受到定制。
19.根据权利要求11所述的用于处理媒体数据的装置,其中,与所述用户模块相关联的所述媒体处理操作是可修改的。
20.根据权利要求19所述的用于处理媒体数据的装置,其中,所述媒体处理操作包括分类、图像变换和特征提取中的至少一个。
21.一种数据处理系统,包括如权利要求11-20中任一项所述的用于处理媒体数据的装置。
CN201611090114.5A 2016-04-12 2016-11-30 处理媒体数据的计算机实现方法、装置及数据处理系统 Active CN107294948B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/096,911 US10362082B2 (en) 2016-04-12 2016-04-12 Method for streaming-based distributed media data processing
US15/096,911 2016-04-12

Publications (2)

Publication Number Publication Date
CN107294948A CN107294948A (zh) 2017-10-24
CN107294948B true CN107294948B (zh) 2020-07-10

Family

ID=59998918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611090114.5A Active CN107294948B (zh) 2016-04-12 2016-11-30 处理媒体数据的计算机实现方法、装置及数据处理系统

Country Status (2)

Country Link
US (1) US10362082B2 (zh)
CN (1) CN107294948B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110381046B (zh) * 2019-07-10 2021-12-07 广东星舆科技有限公司 一种gnss数据的加密传输方法
CN117018598A (zh) * 2023-07-28 2023-11-10 广州三七极耀网络科技有限公司 一种游戏场景调度方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141371A (zh) * 2006-09-05 2008-03-12 汤姆森许可贸易公司 用于向分布式存储装置分配多媒体数据的方法
CN102811235A (zh) * 2011-06-01 2012-12-05 腾讯科技(深圳)有限公司 一种媒体文件离线下载方法、装置及离线下载服务器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441020B2 (en) * 2003-06-27 2008-10-21 Microsoft Corporation Media plug-in registration and dynamic loading
JP5084314B2 (ja) * 2007-03-19 2012-11-28 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
CN101127898A (zh) * 2007-09-20 2008-02-20 Ut斯达康通讯有限公司 流媒体系统及其多媒体文件的切片存储和流服务方法
JP4766038B2 (ja) * 2007-11-29 2011-09-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置の管理プログラム、画像処理装置の管理装置、および画像処理装置の管理方法
JP5132292B2 (ja) * 2007-12-07 2013-01-30 キヤノン株式会社 情報処理装置および情報処理方法
US8837847B2 (en) * 2012-07-17 2014-09-16 Adobe Systems Incorporated Determining focal lengths of photographs
JP2014085749A (ja) * 2012-10-22 2014-05-12 Oki Data Corp ドライバインストーラ、画像処理装置、画像形成システム及び画像形成装置
US20140118541A1 (en) * 2012-10-26 2014-05-01 Sensormatic Electronics, LLC Transcoding mixing and distribution system and method for a video security system
JP5966948B2 (ja) * 2013-01-25 2016-08-10 富士ゼロックス株式会社 プラグイン配信システム及び画像処理装置並びにプラグイン配信制御方法
US9564136B2 (en) * 2014-03-06 2017-02-07 Dts, Inc. Post-encoding bitrate reduction of multiple object audio

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101141371A (zh) * 2006-09-05 2008-03-12 汤姆森许可贸易公司 用于向分布式存储装置分配多媒体数据的方法
CN102811235A (zh) * 2011-06-01 2012-12-05 腾讯科技(深圳)有限公司 一种媒体文件离线下载方法、装置及离线下载服务器

Also Published As

Publication number Publication date
US10362082B2 (en) 2019-07-23
CN107294948A (zh) 2017-10-24
US20170295214A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
CN105075241B (zh) 电子装置和处理图像的方法
US9635268B2 (en) Electronic device and method for generating thumbnail data
KR20210050489A (ko) 우선순위 순서화를 이용한 컴포넌트들의 스로틀링
US9323653B2 (en) Apparatus and method for processing data
WO2018049933A1 (zh) 数据迁移方法及相关产品
US10437601B2 (en) Centralized memory management for multiple device streams
US9083378B2 (en) Dynamic compression/decompression (CODEC) configuration
CN107294948B (zh) 处理媒体数据的计算机实现方法、装置及数据处理系统
CN111831713A (zh) 一种数据处理方法、装置及设备
CN117044114A (zh) 用于多维分段媒体数据的拆分器和合并器功能
US9959598B2 (en) Method of processing image and electronic device thereof
US11210758B2 (en) System and method for UEFI advanced graphics utilizing a graphics processing unit
US9787755B2 (en) Method and device for browsing network data, and storage medium
CN116738510A (zh) 有效地获得存储在地址空间中的信息的系统和方法
CN116965027A (zh) 用于分段的媒体数据的并行处理的多维元数据
US20220164300A1 (en) Head of line entry processing in a buffer memory device
KR20150088529A (ko) 이미지로 변환된 전자문서를 제공하는 서버 및 이를 이용한 전자문서 제공 방법
US8688799B2 (en) Methods, apparatuses and computer program products for reducing memory copy overhead by indicating a location of requested data for direct access
CN111831834A (zh) 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置
CN111831655B (zh) 一种数据处理的方法、装置、介质和电子设备
US9967410B2 (en) Mobile device, computer device and image control method thereof for editing image via undefined image processing function
US11636064B2 (en) Compression of localized files
CN110996013B (zh) 电子装置和处理图像的方法
KR102053159B1 (ko) 스케일러블 캐시 이미지를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US20220309030A1 (en) System and method for data-layout aware decompression and verification using a hardware accelerator chain

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
GR01 Patent grant
GR01 Patent grant