JP5546951B2 - Distributed media processing apparatus, method and program - Google Patents

Distributed media processing apparatus, method and program Download PDF

Info

Publication number
JP5546951B2
JP5546951B2 JP2010119799A JP2010119799A JP5546951B2 JP 5546951 B2 JP5546951 B2 JP 5546951B2 JP 2010119799 A JP2010119799 A JP 2010119799A JP 2010119799 A JP2010119799 A JP 2010119799A JP 5546951 B2 JP5546951 B2 JP 5546951B2
Authority
JP
Japan
Prior art keywords
processing
data
unit
gop
media
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.)
Expired - Fee Related
Application number
JP2010119799A
Other languages
Japanese (ja)
Other versions
JP2011248537A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010119799A priority Critical patent/JP5546951B2/en
Publication of JP2011248537A publication Critical patent/JP2011248537A/en
Application granted granted Critical
Publication of JP5546951B2 publication Critical patent/JP5546951B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散メディア処理装置及び方法及びプログラムに係り、特に、各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータが日々大量に生成されるネットワーク上で、これらのメディアデータを高速に処理する分散メディア処理装置及び方法及びプログラムに関する。   The present invention relates to a distributed media processing apparatus, method, and program, and in particular, a large amount of various types of media data such as log information of various information systems, text information generated by consumers such as Web and blog, video and audio every day. The present invention relates to a distributed media processing apparatus, method, and program for processing these media data at high speed on a network generated by the system.

各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータを高速に処理する技術として、入力された映像データを一旦、部分映像に分割し、これらの部分映像に対する処理を並列に実行し、処理結果を統合することで1つの映像データを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力する方法がある(例えば、特許文献1参照)。   As a technology to process various media data such as log information of various information systems, text information generated by consumers such as Web and blog, video and audio at high speed, the input video data is temporarily divided into partial videos However, there is a method of outputting the same processing result in a shorter time than the case where one video data is sequentially processed from the beginning to the end by executing processing on these partial videos in parallel and integrating the processing results. Yes (see, for example, Patent Document 1).

特開2003−69946号公報JP 2003-69946 A

しかしながら、上記従来の技術では、入力されたデータを分割して有限個の断片データを生成する際の分割サイズが分割の開始から終了まで固定であるため、断片データを同時並行に処理する処理部の数が十分に存在する場合に処理の終盤(特に最後の断片データを処理する時点)では処理中の処理部と処置待ち(アイドル状態)の処理部が発生して、システム全体としての処理能力を十分に活用することができないという問題がある。   However, in the above-described conventional technique, the division size when dividing the input data to generate a finite number of fragment data is fixed from the start to the end of the division, so the processing unit that processes the fragment data in parallel When there is a sufficient number, there are processing units in process and processing units waiting for treatment (idle state) at the end of processing (especially when the last fragment data is processed), and the processing capacity of the entire system There is a problem that cannot be fully utilized.

本発明は、上記の点に鑑みなされたもので、ユーザからアップロードされた単一の情報量の多いデータを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力することが可能な分散メディア処理装置及び方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and outputs the same processing result in a shorter time than the case where a single large amount of information uploaded from a user is sequentially processed from the beginning to the end. It is an object of the present invention to provide a distributed media processing apparatus, method, and program that can be used.

上記の課題を解決するために、本発明(請求項1)は、ネットワーク上のメディアデータを高速に処理するための分散メディア処理装置であって、
入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割手段と、
前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する少なくとも1つ以上の処理手段と、
少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合手段と、を有し、
前記データ分割手段は、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割し、該処理手段の空き能力数が、該記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する手段を含む。
In order to solve the above problems, the present invention (Claim 1) is a distributed media processing apparatus for processing media data on a network at high speed,
When the input media data is configured in GOP (Group Of Pictures) units, the fragment data is divided into predetermined GOP units from the beginning of the media data, and the number of GOPs to be divided is changed from the middle of the division. Data dividing means for storing in the storage means;
At least one processing unit that obtains the fragment data stored in the storage unit, executes predetermined media processing in parallel with other processing units, and outputs a processing result;
Integration that obtains the processing results from at least one processing means and sorts them in order of time inputted to the storage means if the fragment data can be arranged in time order, and integrates and outputs all the processing results and it means, possess,
The data dividing means includes
A GOP that divides the media data from the middle of the division so that the processing of all the processing means is completed almost simultaneously according to the amount of unprocessed fragment data stored in the storage means and the operating status of each processing means When the number of available capacity of the processing means is equal to or larger than the amount of unprocessed fragment data stored in the storage means (there is surplus processing capacity) Includes means for changing to a GOP number smaller than the previous GOP number.

また、本発明(請求項)は、ネットワーク上のメディアデータを高速に処理するための分散メディア処理方法であって、
断片データを記憶する記憶手段と、データ分割手段、1つ以上の処理手段、統合手段とを有する装置において、
前記データ分割手段が、入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割ステップと、
各処理手段が、前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する処理ステップと、
前記統合手段が、少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合ステップと、を行い、
前記データ分割ステップにおいて、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割し、該処理手段の空き能力数が、該記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する。
The present invention (Claim 2 ) is a distributed media processing method for processing media data on a network at high speed,
In an apparatus having storage means for storing fragment data, data dividing means, one or more processing means, and integrating means,
When the input media data is configured in GOP (Group Of Pictures) units, the data dividing unit divides the fragment data into predetermined GOP units from the beginning of the media data, and divides the data from the middle of the division. A data dividing step of changing the number to divide and storing in the storage means;
Each processing means acquires the fragment data stored in the storage means, performs predetermined media processing in parallel with other processing means, and outputs a processing result;
If the integration unit obtains the processing result from at least one processing unit and is fragment data that can be arranged in time order, it is arranged in order of time input to the storage unit, and all processing results are integrated. There rows and integration steps, a to output the,
In the data dividing step,
A GOP that divides the media data from the middle of the division so that the processing of all the processing means is completed almost simultaneously according to the amount of unprocessed fragment data stored in the storage means and the operating status of each processing means When the number of available capacity of the processing means is equal to or larger than the amount of unprocessed fragment data stored in the storage means (there is surplus processing capacity) Change to a GOP number smaller than the previous GOP number.

また、本発明(請求項)は、請求項1記載の分散メディア処理装置を構成する各手段としてコンピュータを機能させるための分散メディア処理プログラムである。 Further, the present invention (claim 3) is a distributed media processing program for causing a computer to function as each means of the distributed media processing apparatus of claim 1 Symbol placement.

上述のように、本発明によれば、各種情報システムのログ情報、Webやブログなどのコンシューマによって生成されるテキスト情報、映像や音声などの多種多様なメディアデータが日々大量に生成されるネットワーク上で、これらのメディアデータを分割して断片データを生成する際に、処理の終盤につれて分割サイズを徐々に小さくしていき、すべての処理部がほぼ同時に処理が終了するように(アイドル状態の処理部が存在しないように)分割するとともに、分割された各断片データに対する処理を並行実行し、すべての処理結果を統合することでユーザからアップロードされた単一の情報量の多いデータを最初から最後まで逐次的に処理した場合よりも短時間で同様の処理結果を出力する分散メディア処理システムを実現することができる。   As described above, according to the present invention, log information of various information systems, text information generated by consumers such as the Web and blog, and a variety of media data such as video and audio are generated daily on a network. So, when these pieces of media data are divided to generate fragment data, the division size is gradually reduced toward the end of the process, so that all the processing units finish processing almost simultaneously (processing in the idle state). The data is divided (so that there is no part), the processing for each piece of fragmented data is executed in parallel, and all the processing results are integrated to create a single large amount of information uploaded from the user from the beginning to the end. Can achieve a distributed media processing system that outputs the same processing results in a shorter time than when sequentially processing .

本発明の一実施の形態における分散メディア処理装置の構成図である。It is a block diagram of the distributed media processing apparatus in one embodiment of this invention. 本発明の一実施の形態における分割部の処理のフローチャートである。It is a flowchart of the process of the division part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その1)である。It is FIG. (1) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その2)である。It is FIG. (2) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その3)である。It is FIG. (3) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その4)である。It is FIG. (4) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その5)である。It is FIG. (5) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図(その6)である。It is FIG. (6) for demonstrating the process of the division size calculation and change determination of the division size calculation part in one embodiment of this invention. 本発明の一実施の形態における蓄積部の処理のフローチャートである。It is a flowchart of the process of the accumulation | storage part in one embodiment of this invention. 本発明の一実施の形態における処理部の処理のフローチャートである。It is a flowchart of the process of the process part in one embodiment of this invention. 本発明に一実施の形態における統合部の処理のフローチャートである。It is a flowchart of the process of the integration part in one embodiment of the present invention. 従来技術により断片データ処理に要する時間の例である。It is an example of the time required for fragment data processing by a prior art. 本発明により断片データ処理に要する時間の例である。It is an example of the time required for fragment data processing according to the present invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の一実施の形態における分散メディア処理装置の構成を示す。   FIG. 1 shows a configuration of a distributed media processing apparatus according to an embodiment of the present invention.

同図に示す分散メディア処理装置10は、分割部10、蓄積部20、処理部30、統合部40から構成される。   A distributed media processing apparatus 10 shown in FIG. 1 includes a dividing unit 10, a storage unit 20, a processing unit 30, and an integrating unit 40.

分割部10は、データ受付部11、分割サイズ計算部12、データ分割部13、断片データ蓄積部14から構成され、ユーザ端末2から入力(アップロード)されたメディアデータをデータ受付部11が受け付け、データ分割部13において分割サイズ計算部12で計算されたサイズに分割し、少なくとも1つ以上の断片データを生成し、断片データ蓄積部14が蓄積部20に蓄積する。このとき、1つの蓄積部20にすべての断片データを蓄積することも可能であるが、予め指定した任意個の蓄積部20に対して順番に(ラウンドロビン方式に)蓄積することも可能である。分割サイズ計算部12では、蓄積部20に蓄積された未処理の断片データの量と各処理部の稼動状況に基づいて、分割の途中からメディアデータを分割するGOP数を所定のサイズずつ徐々に小さく(例えば、4GOP→3GOP→2GOP→1GOP)する。このようにして決定されたGOP数に応じて、データ分割部13では当該サイズに基づいてメディアデータを分割する。   The division unit 10 includes a data reception unit 11, a division size calculation unit 12, a data division unit 13, and a fragment data storage unit 14. The data reception unit 11 receives media data input (uploaded) from the user terminal 2, The data division unit 13 divides the data into sizes calculated by the division size calculation unit 12, generates at least one piece of fragment data, and the fragment data storage unit 14 stores the data in the storage unit 20. At this time, it is possible to store all the fragment data in one storage unit 20, but it is also possible to store in order (in a round robin manner) in an arbitrary number of storage units 20 designated in advance. . Based on the amount of unprocessed fragment data accumulated in the accumulation unit 20 and the operating status of each processing unit, the division size calculation unit 12 gradually determines the number of GOPs for dividing the media data from the middle of the division by a predetermined size. Decrease (for example, 4GOP → 3GOP → 2GOP → 1GOP). In accordance with the number of GOPs determined in this way, the data dividing unit 13 divides the media data based on the size.

なお、分割部10は、分割サイズ計算部12においてGOP数の計算に必要な蓄積部20の未処理の断片データ量及び処理部30の稼動状況(空き処理能力)を収集し、メモリ(図示せず)に格納しておくものとする。   The dividing unit 10 collects the unprocessed fragment data amount of the storage unit 20 and the operating status (empty processing capacity) of the processing unit 30 necessary for calculating the number of GOPs in the division size calculating unit 12, and stores the memory (not shown). )).

蓄積部20は、断片データ受付部21、断片データキューイング部22を有し、断片データ受付部21で受け付けた断片データを、断片データキューイング部22で到着順に(FIFOで)キューに保存する。   The accumulating unit 20 includes a fragment data receiving unit 21 and a fragment data queuing unit 22, and stores the fragment data received by the fragment data receiving unit 21 in the queue in the order of arrival (in FIFO) by the fragment data queuing unit 22. .

処理部30は、少なくとも1つ以上存在し、各処理部30は、断片データ取得部31、メディア処理部32、処理結果送信部33を有する。断片データ取得部31がいずれかの蓄積部20から断片データを取得して、メディア処理部32において所定のメディア処理を実行し、処理結果送信部33から統合部40に送信する。各処理部30では、このすべての処理サイクルを同時並行に実行する。   There are at least one processing unit 30, and each processing unit 30 includes a fragment data acquisition unit 31, a media processing unit 32, and a processing result transmission unit 33. The fragment data acquisition unit 31 acquires fragment data from one of the storage units 20, executes predetermined media processing in the media processing unit 32, and transmits the processing result transmission unit 33 to the integration unit 40. Each processing unit 30 executes all these processing cycles in parallel.

統合部40は、処理結果受付部41、処理結果統合部42、統合結果返却部43を有し、処理結果受付部41において処理部30から処理結果を取得し、処理結果統合部42において処理結果を統合し(例えば、データ分割時に断片データが生成された順番に並べ替える処理などを実行し)、処理結果返却部42が統合結果をユーザ端末2へ返却する。また、ユーザ端末2の数が多い場合は、図1の構成を複数並列に配置して対応することが可能である。   The integration unit 40 includes a processing result reception unit 41, a processing result integration unit 42, and an integration result return unit 43. The processing result reception unit 41 acquires a processing result from the processing unit 30, and the processing result integration unit 42 acquires a processing result. Are integrated (for example, processing for rearranging the pieces of fragment data in the order in which they were generated at the time of data division) is performed, and the processing result return unit 42 returns the integration result to the user terminal 2. Further, when the number of user terminals 2 is large, it is possible to deal with a plurality of the configurations in FIG. 1 arranged in parallel.

次に、上記の構成における分割部10の処理について説明する。   Next, processing of the dividing unit 10 in the above configuration will be described.

図2は、本発明の一実施の形態における分割部の処理のフローチャートである。   FIG. 2 is a flowchart of the process of the dividing unit according to the embodiment of the present invention.

ステップ101)分割部10は、データ受付部11によりユーザ端末2から入力(アップロード)されたメディアデータを受け付ける。必要に応じてファイルとして蓄積することも可能である。   Step 101) The dividing unit 10 receives media data input (uploaded) from the user terminal 2 by the data receiving unit 11. It can also be stored as a file as needed.

ステップ102) データ受付部11は、受け付けたメディアデータがGOP(Group Of Picture)単位で構成されているかどうかを判断し、GOP単位で構成されていなければ、非分割時(例外)処理を実行してステップ101へ戻る。   Step 102) The data receiving unit 11 determines whether or not the received media data is configured in units of GOP (Group Of Picture), and if it is not configured in units of GOP, executes a non-division (exception) process. Return to step 101.

ステップ103) 分割サイズ計算部12は、蓄積部20に蓄積された未処理の断片データの量を定期的に計測するとともに各処理部30の稼動状況(空き処理能力)を判別してすべての処理部の処理がほぼ同時に終了するような(統合部40での待ち時間が最小になるような)GOP数を計算する。なお、計算された当該時点におけるGOP数、及び、計測された蓄積部20のデータ量はメモリ(図示せず)に格納しておくものとする。   Step 103) The division size calculation unit 12 periodically measures the amount of unprocessed fragment data stored in the storage unit 20 and determines the operation status (empty processing capacity) of each processing unit 30 to perform all processing. The number of GOPs is calculated so that the processing of each unit ends almost simultaneously (the waiting time in the integration unit 40 is minimized). It is assumed that the calculated number of GOPs at the time point and the measured data amount of the storage unit 20 are stored in a memory (not shown).

ステップ104) 分割サイズ計算部12は、分割の途中で分割するGOP数を変更する必要があるかどうかを判断し、GOP数を変更する必要がある場合は、ステップ105に移行し、変更する必要がない場合はステップ106に移行する。当該判定方法は、蓄積部20の未処理のGOP数と各処理部30の空き処理能力とを比較し、未処理のGOP数≦空き処理能力である場合には、GOP数をその時点におけるGOP数よりも小さくすると判定する。   Step 104) The division size calculation unit 12 determines whether it is necessary to change the number of GOPs to be divided in the middle of division, and if it is necessary to change the number of GOPs, the division size calculation unit 12 proceeds to Step 105 and needs to change it. If not, the process proceeds to step 106. The determination method compares the number of unprocessed GOPs in the storage unit 20 with the free processing capacity of each processing unit 30. If the number of unprocessed GOPs ≦ the free processing capacity, the number of GOPs is determined as the GOP at that time. It is determined to be smaller than the number.

ステップ105) 分割サイズ計算部12は、未処理のGOP数>空き処理能力となるように、GOP数を変更する。   Step 105) The division size calculation unit 12 changes the number of GOPs so that the number of unprocessed GOPs> free processing capacity.

ステップ106) データ分割部13は分割サイズ計算部12で求められたGOP数単位にデータを切り出して断片データを生成する。   Step 106) The data division unit 13 cuts out data in units of the number of GOPs obtained by the division size calculation unit 12 to generate fragment data.

ステップ107) 断片データ蓄積部14は、データ分割部13で生成された断片データを蓄積部20へ蓄積する。   Step 107) The fragment data storage unit 14 stores the fragment data generated by the data dividing unit 13 in the storage unit 20.

ステップ108) 蓄積部20へ蓄積した断片データにEOF(End Of File)が含まれなければ、ステップ103へ戻って分割を繰り返し、EOFが含まれる場合はステップ101へ戻って新たなメディアデータを受け付ける。   Step 108) If EOF (End Of File) is not included in the fragment data stored in the storage unit 20, the process returns to Step 103 to repeat the division. If EOF is included, the process returns to Step 101 to accept new media data. .

上記のステップ103及びステップ104の分割サイズ計算部12の処理について以下に詳細に説明する。   The processing of the division size calculation unit 12 in steps 103 and 104 will be described in detail below.

分割サイズ計算部12は、内部の情報収集機能により、定期的に蓄積部20に蓄積された未処理の断片データの量と、処理部30の稼動状況情報を収集し、メモリ(図示せず)に格納する。ここで、稼動状況情報とは、各処理部毎に計測時点における空き処理能力数を指す。分割サイズ計算部12は、メモリの内容を参照して以下の処理を行う。   The division size calculation unit 12 collects the amount of unprocessed fragment data periodically accumulated in the accumulation unit 20 and the operation status information of the processing unit 30 by an internal information collection function, and stores it in a memory (not shown). To store. Here, the operation status information indicates the number of free processing capacities at the time of measurement for each processing unit. The division size calculation unit 12 performs the following processing with reference to the contents of the memory.

図3〜図8は、本発明の一実施の形態における分割部の分割サイズ計算部の分割サイズ計算・変更判定の処理を説明するための図である。これらの図において、全データ64GOPのうち、48GOP分のデータは分割数4GOPとして分割部10によって分割済みであり、各処理部a〜hが処理中もしくは処理済であることを実線で示している。   3 to 8 are diagrams for explaining division size calculation / change determination processing of the division size calculation unit of the division unit according to the embodiment of the present invention. In these figures, out of the total data 64 GOP, data for 48 GOP has been divided by the dividing unit 10 with a division number of 4 GOP, and solid lines indicate that each processing unit a to h is being processed or has been processed. .

図3の例において処理部eに与える断片データの分割サイズを計計算する。ここで、処理部eに与える断片データの分割サイズを4GOPとすると、他の処理部とほぼ同時に終了することになる。処理部eの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。   In the example of FIG. 3, the division size of the fragment data given to the processing unit e is calculated. Here, if the fragment size of the fragment data given to the processing unit e is 4 GOP, the processing ends almost simultaneously with the other processing units. The total free processing capacity of all the processing units at the end of processing of the processing unit e is indicated by a broken line.

また、分割サイズを変更するか否かを判定する場合には、図3の例において、破線の箇所(空き処理能力)が12GOP分に相当し、残りのGOP数である16よりも小さいため、分割数の変更は不要であると判断する。   Further, when determining whether or not to change the division size, in the example of FIG. 3, the broken line portion (empty processing capacity) corresponds to 12 GOPs and is smaller than 16 which is the remaining number of GOPs. It is determined that it is not necessary to change the number of divisions.

また、図4は、全データ64GOPのうち、52GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部fに与える断片データの分割サイズを4GOPとした場合に、処理部fの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。当該破線(空き処理能力)は12GOP分に相当し、残りのGOP数である12と等しい(小さくない)ため、ステップ104では分割数を4GOP未満に変更すると判断する。   Also, FIG. 4 shows that 52 GOPs of all data 64 GOPs have been divided by the data dividing unit 13, and processing is performed when the fragment size of the fragment data given to the processing unit f is 4 GOP. The total free processing capacity of all the processing units at the end of processing of the unit f is indicated by a broken line. Since the broken line (empty processing capacity) corresponds to 12 GOPs and is equal to (not smaller than) the remaining GOP number 12, it is determined in step 104 that the number of divisions is changed to less than 4 GOPs.

また、図5は、全データ64GOPのうち、52GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部fに与える断片データの分割サイズを4GOPから3GOPに変更した場合に、処理部fの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は6GOP分に相当し、残りGOP数である12よりも小さいため、分割数を変更する必要がないと判断し、分割数3GOPで分割を行う。   FIG. 5 shows that 52 GOPs of all data 64 GOPs have been divided by the data dividing unit 13, and the fragment data division size given to the processing unit f is changed from 4 GOPs to 3 GOPs. In addition, the total free processing capacity of all the processing units at the end of processing of the processing unit f is indicated by a broken line. The broken line (empty processing capacity) corresponds to 6 GOPs and is smaller than 12 which is the remaining GOP number, so it is determined that there is no need to change the division number, and division is performed with the division number 3 GOP.

また、図6は、64GOPのうち、55GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部gに与える断片データの分割サイズを3GOPとした場合に、処理部gの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は6GOP分に相当し、残りGOP数である9よりも小さいため分割数を変更する必要がないと判断し、分割数3GOPで分割を行う。   Further, FIG. 6 shows that the data for 55 GOP out of 64 GOPs has been divided by the data dividing unit 13, and when the division size of the fragment data given to the processing unit g is 3 GOP, the processing unit g The total free processing capacity of all the processing units at the end of the process is indicated by a broken line. The broken line (empty processing capacity) corresponds to 6 GOPs and is smaller than 9 which is the remaining number of GOPs. Therefore, it is determined that there is no need to change the number of divisions, and division is performed with the number of divisions of 3 GOPs.

また、図7は、64GOPのうち、58GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部hに与える断片データの分割サイズを3GOPとした場合に、処理部hの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は7GOP分に相当し、残りのGOP数である6より大きい(小さくない)ため分割数を3GOP未満に変更すると判断する。   Further, FIG. 7 shows that the data for 58 GOP out of 64 GOPs has been divided by the data dividing unit 13, and when the fragment size of the fragment data given to the processing unit h is 3 GOP, the processing unit h The total free processing capacity of all the processing units at the end of the process is indicated by a broken line. The broken line (empty processing capacity) corresponds to 7 GOPs and is larger (not smaller) than the remaining GOP number of 6, so it is determined that the division number is changed to less than 3 GOPs.

また、図8は、64GOPのうち、58GOP分のデータはデータ分割部13によって分割済みであることを示しており、処理部hに与える断片データの分割サイズを3GOPから2GOPに変更した場合に、処理部hの処理終了時点におけるすべての処理部の空き処理能力の合計を破線で示している。破線(空き処理能力)は2GOP分に相当し、残りGOP数である6よりも小さいため、分割数を変更する必要がないと判断し、分割数2GOPで分割を行う。   FIG. 8 shows that data of 58 GOPs out of 64 GOPs have been divided by the data dividing unit 13, and when the fragment size of the fragment data given to the processing unit h is changed from 3 GOP to 2 GOP, The total free processing capacity of all the processing units at the end of processing of the processing unit h is indicated by a broken line. The broken line (empty processing capacity) corresponds to 2 GOPs and is smaller than 6 which is the remaining number of GOPs. Therefore, it is determined that there is no need to change the number of divisions, and division is performed with the number of divisions 2 GOP.

次に、蓄積部20の処理について説明する。   Next, the process of the storage unit 20 will be described.

図9は、本発明の一実施の形態における蓄積部の動作のフローチャートである。   FIG. 9 is a flowchart of the operation of the storage unit according to the embodiment of the present invention.

ステップ201) 断片データ受付部21は、分割部10から断片データを取得する。   Step 201) The fragment data receiving unit 21 acquires fragment data from the dividing unit 10.

ステップ202) 断片データ受付部21は取得した断片データの到着順にタイムスタンプ及びシーケンス番号を付与する。   Step 202) The fragment data receiving unit 21 assigns time stamps and sequence numbers in the order of arrival of the acquired fragment data.

ステップ203) 断片データキューイング部22は、キューに空きがあるかを判定し、空きがなければ所定の時間待機し、再度判定する。   Step 203) The fragment data queuing unit 22 determines whether there is an empty queue. If there is no empty, the fragment data queuing unit 22 waits for a predetermined time and determines again.

ステップ204) キューに空きがあれば、断片データをFIFO順にキューに保存し、ステップ201に移行し、新たな断片データを受け付ける処理を行う。なお、キューに断片データを保存した時点で、分割部10に対して、待ちキューの状態を通知するものとする。   Step 204) If there is a vacancy in the queue, the fragment data is stored in the queue in the order of FIFO, and the process proceeds to Step 201 to receive new fragment data. Note that when the fragment data is stored in the queue, the division unit 10 is notified of the state of the waiting queue.

次に、処理部30の動作を説明する。   Next, the operation of the processing unit 30 will be described.

図10は、本発明の一実施の形態における処理部のフローチャートである。以下では、処理部30が蓄積部20から断片データを取得し、取得した断片データに対して所定のメディア処理を実行し、処理結果を統合部40へ送信する際の動作を示す。   FIG. 10 is a flowchart of the processing unit in one embodiment of the present invention. Hereinafter, an operation when the processing unit 30 acquires fragment data from the storage unit 20, executes predetermined media processing on the acquired fragment data, and transmits the processing result to the integration unit 40 will be described.

ステップ301) 断片データ取得部31は、蓄積部20からFIFO順に断片データを取得する。   Step 301) The fragment data acquisition unit 31 acquires fragment data from the storage unit 20 in the FIFO order.

ステップ302) メディア処理部32は、取得した断片データに対して所定のメディア処理を実行する。メディア処理の例として、映像内容のシーンの切り替わり検出処理(カット点検出処理)や隣接フレーム間の差分検出処理(動き検出処理)、注目シーン検出処理等が適用可能であり、これらの様々なメディア処理を断片データに対して適用する。   Step 302) The media processing unit 32 executes predetermined media processing on the acquired fragment data. Examples of media processing include scene change detection processing (cut point detection processing) of video content, difference detection processing between adjacent frames (motion detection processing), attention scene detection processing, and the like. Apply processing to fragment data.

ステップ303) 処理結果送信部33は、断片データに対してメディア処理を実行した処理結果を統合部40へ送信する。   Step 303) The processing result transmission unit 33 transmits the processing result obtained by performing the media processing on the fragment data to the integration unit 40.

ステップ304) 処理結果送信部33は、処理結果を統合部40へ送信できたかどうか判定し、送信できなければ所定の時間待機してステップ303に戻って処理結果を統合部40へ送信し、送信できればステップ301に戻って蓄積部20から新たな断片データを取得する処理を繰り返す。   Step 304) The processing result transmission unit 33 determines whether or not the processing result can be transmitted to the integration unit 40. If the processing result cannot be transmitted, the processing result transmission unit 33 waits for a predetermined time, returns to step 303, and transmits the processing result to the integration unit 40. If possible, the process returns to step 301 to repeat the process of acquiring new fragment data from the storage unit 20.

次に、統合部40の処理を説明する。以下では、統合部40が、複数の処理部30から取得した処理結果を統合してユーザ端末2へ結果を返却する際の動作を示す。   Next, processing of the integration unit 40 will be described. Below, the operation | movement at the time of the integration part 40 integrating the process result acquired from the some process part 30 and returning a result to the user terminal 2 is shown.

図11は、本発明の一実施の形態における統合部のフローチャートである。   FIG. 11 is a flowchart of the integration unit in the embodiment of the present invention.

ステップ401) 処理結果受付部41は、少なくとも1つ以上の処理部の処理結果を受け付ける。   Step 401) The processing result receiving unit 41 receives processing results of at least one processing unit.

ステップ402) 処理結果統合部42により処理結果を分割部10で付与したタイムスタンプ順または分割部10で付与したシーケンス番号順に整列させて統合する。   Step 402) The processing result integration unit 42 aligns and integrates the processing results in the order of the time stamp given by the dividing unit 10 or the sequence number given by the dividing unit 10.

ステップ403) 処理結果統合部42は、分割部10で付与されたシーケンス番号に基づき、すべての断片データに対する処理結果を受け付け、統合したかどうかを判定し、すべての処理結果を統合していない場合はステップ401に移行して処理部30からの処理結果を受け付け、すべての処理結果を統合した場合は、統合結果返却部43からユーザ端末2に返却し、ステップ401に移行して、新たな処理結果を受け付ける。   Step 403) The processing result integration unit 42 receives processing results for all pieces of fragment data based on the sequence numbers assigned by the dividing unit 10, determines whether or not the processing results are integrated, and does not integrate all the processing results. Shifts to step 401, accepts the processing results from the processing unit 30, and when all the processing results are integrated, returns them to the user terminal 2 from the integration result return unit 43, shifts to step 401, and performs a new process Accept the result.

次に、本発明と従来技術の比較結果を示す。   Next, a comparison result between the present invention and the prior art will be shown.

図12は、従来技術により断片データ処理に要する時間の例であり、分割部において従来技術により分割の開始から終了まで固定のGOP数(4GOP)で分割した断片データを処理部が処理した場合に要する処理時間を可視化して示したものである。同図では、処理部a〜処理部hの処理能力が等価であり、1GOPのメディアデータに対する処理に1単位時間かかると仮定すると、各断片データ(4GOPのメディアデータ)の処理に4単位時間かかり、すべての断片データの処理が終了するまでに11.5単位時間かかることを示している。   FIG. 12 shows an example of the time required for fragment data processing according to the prior art. In the case where the processing unit processes fragment data divided by the conventional technology from the start to the end of the division with a fixed number of GOPs (4 GOPs). The processing time required is visualized. In this figure, assuming that the processing capabilities of the processing unit a to processing unit h are equivalent and it takes 1 unit time to process 1 GOP media data, it takes 4 unit hours to process each piece of fragment data (4 GOP media data). This shows that it takes 11.5 unit time to complete the processing of all fragment data.

図13は、本発明により断片データ処理に要する時間の例であり、分割部10において分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら(4GOP→3GOP→2GOP→1GOPと変化させながら)分割した断片データを処理部30が処理した場合にかかる処理時間を可視化したものである。処理部a〜処理部hの処理能力が等価であり、1GOPのメディアデータに対する処理に1単位時間かかると仮定すると、処理の前半では4GOPの断片データの処理に4単位時間かかっているが、途中からメディアデータの分割するGOP数を4GOP→3GOP→2GOP→1GOPと変化させているため、すべての断片データの処理が終了するまでに10単位時間で済んでいる。このように、本発明によれば処理時間を短縮することができる。   FIG. 13 shows an example of the time required for fragment data processing according to the present invention. The dividing unit 10 gradually changes the number of GOPs for dividing the media data from the middle of the division (by changing from 4 GOP → 3 GOP → 2 GOP → 1 GOP). However, the processing time required when the processing unit 30 processes the divided fragment data is visualized. Assuming that the processing capabilities of the processing unit a to processing unit h are equivalent and it takes 1 unit time to process 1 GOP media data, the processing of 4 GOP fragment data takes 4 unit hours in the first half of the processing. Since the number of GOPs to divide the media data is changed from 4 GOP → 3 GOP → 2 GOP → 1 GOP, it takes 10 unit time to complete the processing of all fragment data. Thus, according to the present invention, the processing time can be shortened.

なお、上記では処理部30の処理能力が等価であることを前提に説明したが、処理部の処理能力が異なる場合でも同様である。   The above description is based on the assumption that the processing capability of the processing unit 30 is equivalent, but the same applies to cases where the processing capability of the processing unit is different.

また、分割部10が1つの断片データを分割するのに要する時間と1つの処理部30が断片データを処理するのに要する時間の比率が本実施の形態と異なる場合でも同様である。   The same applies to the case where the ratio of the time required for the dividing unit 10 to divide one piece of fragment data to the time required for one processing unit 30 to process the piece of fragment data is different from the present embodiment.

なお、上記の実施の形態の図1に示す分散メディア処理装置の構成要素の動作をプログラムとして構築し、分散メディア処理装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   It should be noted that the operations of the components of the distributed media processing apparatus shown in FIG. 1 of the above-described embodiment are constructed as a program and installed in a computer used as the distributed media processing apparatus, or distributed via a network. It is possible to make it.

また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。   In addition, the constructed program can be stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM, and can be installed or distributed in a computer.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications can be made within the scope of the claims.

1 分散メディア処理装置
2 ユーザ端末
10 分割部
11 データ受付部
12 分割サイズ計算部
13 データ分割部
14 断片データ蓄積部
20 蓄積部
21 断片データ受付部
22 断片データキューイング部
30 処理部
31 断片データ取得部
32 メディア処理部
33 処理結果送信部
40 統合部
41 処理結果受付部
42 処理結果統合部
43 統合結果返却部
DESCRIPTION OF SYMBOLS 1 Distributed media processing apparatus 2 User terminal 10 Division | segmentation part 11 Data reception part 12 Division | segmentation size calculation part 13 Data division part 14 Fragment data storage part 20 Storage part 21 Fragment data reception part 22 Fragment data queuing part 30 Processing part 31 Fragment data acquisition Unit 32 Media processing unit 33 Processing result transmission unit 40 Integration unit 41 Processing result reception unit 42 Processing result integration unit 43 Integration result return unit

Claims (3)

ネットワーク上のメディアデータを高速に処理するための分散メディア処理装置であって、
入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割手段と、
前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する少なくとも1つ以上の処理手段と、
少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合手段と、
を有し、
前記データ分割手段は、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割し、該処理手段の空き能力数が、該記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する手段を含む
ことを特徴とする分散メディア処理装置。
A distributed media processing device for processing media data on a network at high speed,
When the input media data is configured in GOP (Group Of Pictures) units, the fragment data is divided into predetermined GOP units from the beginning of the media data, and the number of GOPs to be divided is changed from the middle of the division. Data dividing means for storing in the storage means;
At least one processing unit that obtains the fragment data stored in the storage unit, executes predetermined media processing in parallel with other processing units, and outputs a processing result;
Integration that obtains the processing results from at least one processing means and sorts them in order of time inputted to the storage means if the fragment data can be arranged in time order, and integrates and outputs all the processing results Means,
I have a,
The data dividing means includes
A GOP that divides the media data from the middle of the division so that the processing of all the processing means is completed almost simultaneously according to the amount of unprocessed fragment data stored in the storage means and the operating status of each processing means When the number of available capacity of the processing means is equal to or larger than the amount of unprocessed fragment data stored in the storage means (there is surplus processing capacity) Includes means for changing to a GOP number smaller than the previous GOP number .
ネットワーク上のメディアデータを高速に処理するための分散メディア処理方法であって、
断片データを記憶する記憶手段と、データ分割手段、1つ以上の処理手段、統合手段とを有する装置において、
前記データ分割手段が、入力されたメディアデータがGOP(Group Of Pictures)単位で構成される場合に、該メディアデータの先頭から所定のGOP単位に断片データを分割し、分割の途中から分割するGOP数を変更して分割し、記憶手段に格納するデータ分割ステップと、
各処理手段が、前記記憶手段に格納された前記断片データを取得して所定のメディア処理を他の処理手段と並行実行して処理結果を出力する処理ステップと、
前記統合手段が、少なくとも1つ以上の処理手段から前記処理結果を取得して、時刻順に整列可能な断片データであれば、前記記憶手段に入力された時刻順に整列させ、すべての処理結果を統合して出力する統合ステップと、
を行い、
前記データ分割ステップにおいて、
前記記憶手段に格納された未処理の断片データの量と前記処理手段毎の稼動状況に応じて、すべての処理手段の処理がほぼ同時に終了するように、分割の途中からメディアデータを分割するGOP数を徐々に小さくしながら分割し、該処理手段の空き能力数が、該記憶手段に格納された未処理の断片データの量と等しいか、それより大きい(処理能力が余っている)場合には、前回のGOP数より小さいGOP数に変更する
ことを特徴とする分散メディア処理方法。
A distributed media processing method for processing media data on a network at high speed,
In an apparatus having storage means for storing fragment data, data dividing means, one or more processing means, and integrating means,
When the input media data is configured in GOP (Group Of Pictures) units, the data dividing unit divides the fragment data into predetermined GOP units from the beginning of the media data, and divides the data from the middle of the division. A data dividing step of changing the number to divide and storing in the storage means;
Each processing means acquires the fragment data stored in the storage means, performs predetermined media processing in parallel with other processing means, and outputs a processing result;
If the integration unit obtains the processing result from at least one processing unit and is fragment data that can be arranged in time order, it is arranged in order of time input to the storage unit, and all processing results are integrated. Integration step to output,
The stomach line,
In the data dividing step,
A GOP that divides the media data from the middle of the division so that the processing of all the processing means is completed almost simultaneously according to the amount of unprocessed fragment data stored in the storage means and the operating status of each processing means When the number of available capacity of the processing means is equal to or larger than the amount of unprocessed fragment data stored in the storage means (there is surplus processing capacity) Is changed to a GOP number smaller than the previous GOP number .
請求項1記載の分散メディア処理装置を構成する各手段としてコンピュータを機能させるための分散メディア処理プログラム。 Distributed media processing program for causing a computer to function as each means of the distributed media processing apparatus of claim 1 Symbol placement.
JP2010119799A 2010-05-25 2010-05-25 Distributed media processing apparatus, method and program Expired - Fee Related JP5546951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010119799A JP5546951B2 (en) 2010-05-25 2010-05-25 Distributed media processing apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010119799A JP5546951B2 (en) 2010-05-25 2010-05-25 Distributed media processing apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2011248537A JP2011248537A (en) 2011-12-08
JP5546951B2 true JP5546951B2 (en) 2014-07-09

Family

ID=45413731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010119799A Expired - Fee Related JP5546951B2 (en) 2010-05-25 2010-05-25 Distributed media processing apparatus, method and program

Country Status (1)

Country Link
JP (1) JP5546951B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6136077B2 (en) * 2012-03-06 2017-05-31 日本電気株式会社 Data transfer device, data transfer method, and data transfer program
CN110019008A (en) * 2017-11-03 2019-07-16 北京金山安全软件有限公司 Data storage method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4654918B2 (en) * 2006-01-12 2011-03-23 株式会社日立製作所 Information processing apparatus and information processing system

Also Published As

Publication number Publication date
JP2011248537A (en) 2011-12-08

Similar Documents

Publication Publication Date Title
CN109739929B (en) Data synchronization method, device and system
US9712835B2 (en) Video encoding system and method
JP5699715B2 (en) Data storage device and data storage method
CN104424331A (en) Data sampling method and device
CN115858180B (en) Time slicing method and device and electronic equipment
JP5546951B2 (en) Distributed media processing apparatus, method and program
EP2884398A1 (en) Data forwarding device, data forwarding method, and program
CN112637598A (en) Video compression and decompression method, device, equipment and readable storage medium
CN105183585A (en) Data backup method and device
CN113422808B (en) Internet of things platform HTTP information pushing method, system, device and medium
CN112637123A (en) Data transmission method, system, terminal and storage medium for edge server
US8554003B2 (en) Image data processing apparatus, image data processing method, and computer readable medium
US11250001B2 (en) Accurate partition sizing for memory efficient reduction operations
WO2011143585A1 (en) Parallel processing of sequentially dependent digital data
US9292338B2 (en) Scheduling event streams depending on content information data
CN108664322A (en) Data processing method and system
CN112612583B (en) Data synchronization method, device, computer equipment and readable storage medium
CN113010382A (en) Buried point data calculation method and device, storage medium and electronic equipment
CN109299112B (en) Method and apparatus for processing data
CN106685904B (en) Method and device for coding scheduling of streaming data
CN108093273B (en) Data sorting method, device and system
CN113127064A (en) Method and related device for concurrently scheduling and executing time sequence data
CN113992493A (en) Video processing method, system, device and storage medium
CN115086756B (en) Video processing method, device and storage medium
CN110874268A (en) Data processing method, device and equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121005

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131001

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140514

R150 Certificate of patent or registration of utility model

Ref document number: 5546951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees