以下、発明を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態(変換システム)
<1.第1の実施の形態>
[変換システムの構成]
図1は、本発明を適用した変換システムの一実施の形態の構成を表している。
図1において、変換システム100は、映像または音声を含むマルチメディアのコンテンツのフォーマットをトランスコード(変換)する情報処理システムである。
図1に示されるように、変換システム100は、ネットワーク(Network)102を介して接続される、マルチフォーマットトランスコーダ101、リモートクライアント103−1、およびリモートクライアント103−2を有する。
マルチフォーマットトランスコーダ101は、コンテンツのフォーマットをトランスコード(変換)する処理装置である。マルチフォーマットトランスコーダ101は、映像または音声を含むマルチメディアのコンテンツを処理することができる。
このコンテンツに含まれる例えば映像や音声等の各素材データがそれぞれファイル化されていても、マルチフォーマットトランスコーダ101は、それらを1つの素材として管理し、処理する。このように、マルチフォーマットトランスコーダ101によって1つの素材とみなされる、素材データやメタデータ等の集合をクリップ(Clip)と称する。
このクリップには、任意のデータが含まれるようにしてもよい。以下においては、説明の便宜上、映像データ、音声データ、映像データの映像を低解像度にしたプロキシデータ(ローレゾデータ)、および、そのコンテンツや各データに関するメタデータが含まれるものとする。もちろん、これらのデータが全てクリップに含まれている必要はなく、これら以外のデータがクリップに含まれていてもよい。
なお、メタデータには、コンテンツや各データに関する情報が含まれる。例えば、コンテンツの名前、シーンやテイクの番号、IN点OUT点のタイムコード、Duration、作成日付、更新日付、場所や天気等撮影時の補足メモ、並びにコメント等が含まれる。もちろん、これら以外のどのような情報が含まれていても良いし、これらの情報が含まれていなくてもよい。
クリップは、その用途等によって様々に規格化されており、多様なフォーマットが存在する。そのフォーマットによって、クリップに含まれる各データ(各ファイル)のフォーマットが異なる場合もあるし、各データに含まれる情報が異なる場合もある。マルチフォーマットトランスコーダ101は、このようなクリップのフォーマットを他のフォーマットに変換する処理(トランスコード)を行う。
マルチフォーマットトランスコーダ101は、インターネットやLAN(Local Area Network)等に代表されるネットワーク102を介して、リモートクライアント103−1またはリモートクライアント103−2により制御される。
リモートクライアント103−1およびリモートクライアント103−2は、SOAP(Simple Object Access Protocol)を利用して、マルチフォーマットトランスコーダ101と通信を行い、マルチフォーマットトランスコーダ101の動作を制御する。もちろん、SOAP以外のプロトコルが用いられるようにしてもよい。
リモートクライアント103−1およびリモートクライアント103−2を互いに区別して説明する必要の無い場合、単にリモートクライアント103と称する。変換システム100におけるリモートクライアント103の台数は任意である。また、リモートクライアント103は、ネットワーク102を介してマルチフォーマットトランスコーダ101と通信可能であり、かつ、マルチフォーマットトランスコーダ101を制御可能な電子機器であれば何でもよく、例えば、ノート型パーソナルコンピュータや携帯電話機のような移動可能な所謂モバイル機器であってもよいし、デスクトップ型のパーソナルコンピュータやハードディスクレコーダのような据置型の電子機器であってもよい。
リモートクライアント103のモニタには、マルチフォーマットトランスコーダ101を制御する操作を受け付けるためのGUI(Graphical User Interface)104が表示され、ユーザはそのGUI104に対する操作をリモートクライアント103に入力する。リモートクライアント103は、その入力されたユーザ指示を、ネットワーク102を介してマルチフォーマットトランスコーダ101に供給することにより、マルチフォーマットトランスコーダ101の動作を制御する。
もちろん、ネットワーク102は、マルチフォーマットトランスコーダ101とリモートクライアント間の通信媒体となるものであれば、その構成は任意である。例えば、有線の通信網であってもよいし、無線の通信網であってもよいし、それらが混在していてもよい。また、ネットワーク102が複数のネットワークにより構成されるようにしてもよい。
さらに、変換システム100が、マルチフォーマットトランスコーダ101を複数有するようにしてもよい。
[トランスコード概要]
次に、マルチフォーマットトランスコーダ101によるトランスコードの概要について説明する。図2は、マルチフォーマットのトランスコードの様子を説明する図である。
マルチフォーマットトランスコーダ101は、任意の規格のエンコーダやデコーダを有することができ、任意のフォーマット間のトランスコード(変換処理)を行うことができる。
例えば、マルチフォーマットトランスコーダ101は、図2に示されるように、DPX(Digital Picture Exchange)、ロスレスのJPEG(Joint Photographic Experts Group)2000、MPEG(Moving Picture Experts Group)2やAVC(Advanced Video Coding)等を用いる業務用の映像ファイルフォーマットであるMXF(Material eXchange Format)、またはDNxHD等のフォーマットを変換処理することができる。
なお、マルチフォーマットトランスコーダ101は、クリップのフォーマットをトランスコード(変換)するものである。つまり、このトランスコードには、例えば、画サイズ、アスペクト比、若しくはフレームレート等の変更、または、タイムコードやタイトル等の焼き付けような、画像や音声等の素材データの再エンコードだけでなく、例えばメタデータの内容の更新等、フォーマット変換に関するあらゆる変換処理が含まれる。
マルチフォーマットトランスコーダ101は、コンテンツを構成するファイル(デジタルデータ)群をクリップとして登録して管理し、その登録したクリップをトランスコードの対象とする。換言すれば、マルチフォーマットトランスコーダ101は、クリップとして登録されているファイル(デジタルデータ)をトランスコードの処理対象とする。
ただし、マルチフォーマットトランスコーダ101は、任意の形態のコンテンツをデジタルデータ化してからクリップとして登録する機能(インジェスト機能)を有する。したがって、入力されるコンテンツの形態は、任意である(Anything In)。
例えば、入力されるコンテンツは、図2に示されるように、デジタルシネマ等に用いられる4096×2160ドットの所謂4K映像を含むマルチメディアのコンテンツであってもよいし、1920×1080ドットのHD(High-Definition)画像を含むマルチメディアのコンテンツであってもよい。これらのデータがネットワーク102を介してマルチフォーマットトランスコーダ101に送信されるようにしてもよいし、光ディスクやフラッシュメモリ等の記録媒体に記録された状態でマルチフォーマットトランスコーダ101に供給されるようにしてもよい。またフィルム映像のようにデジタルデータでなくてもよい。
同様に、マルチフォーマットトランスコーダ101は、デジタルデータを任意の形態のコンテンツに変換する機能を有している。したがって、出力されるコンテンツの形態は、任意である(Anything Out)。
例えば、マルチフォーマットトランスコーダ101は、変換後のクリップを、VTR(Tape OUT)として出力することもできるし、編集用データとして出力することもできるし、デジタルシネマのコンテンツとして出力することもできるし、配布用や保存用の規格のコンテンツとして出力することもできるし、フィルム映像として出力することもできる。
マルチフォーマットトランスコーダ101は、以上のように任意のフォーマットを任意のフォーマットにトランスコードするだけでなく、そのトランスコードに関する情報(変換管理情報)を管理する(Transcode & Manage Anything)。
マルチフォーマットトランスコーダ101は、この変換管理情報として、例えば、トランスコードの内容(変換パラメータ)や、変換前後の各クリップ(またはファイル)に関する情報(メタデータ等)をデータベース化し、管理する。また、マルチフォーマットトランスコーダ101は、変換管理情報として、そのトランスコードの様子(体系)を示す情報、すなわち、どのクリップ(ファイル)からどのクリップ(ファイル)が作成されたかを示す情報である、トランスコードの家系図(ファミリーツリー)をデータベース化して管理する。
[変換体系]
次に、このトランスコードの体系についてより詳細に説明する。図3は、フォーマット変換の体系の例を示す図である。
図3において、変換体系110は、クリップ111をオリジナル(始祖)とするトランスコードの変換体系を示す。図3に示されるように、変換体系110において、クリップ111が矢印121―1のようにトランスコードされてクリップ112−1が生成される。同様に、クリップ111が矢印121―2のようにトランスコードされてクリップ112−2が生成される。
以下、同様に、クリップ112−1がトランスコード(矢印122−1乃至矢印122−3)されて、クリップ113−1乃至クリップ113−3がそれぞれ生成され、クリップ112−2がトランスコード(矢印123−1および矢印123−2)されて、クリップ114−1およびクリップ114−2がそれぞれ生成される。
さらに、同様に、クリップ113−1がトランスコード(矢印124−1および矢印124−2)されて、クリップ115−1およびクリップ115−2がそれぞれ生成され、クリップ113−3がトランスコード(矢印125−1)されて、クリップ116−1が生成され、クリップ114−2がトランスコード(矢印126−1)されて、クリップ117−1が生成される。
このように、1つのクリップを複数のフォーマットにトランスコードすることができる。また、変換後のクリップをさらにトランスコードすることもできる。このようなトランスコードにより、図3に示されるように、1つのクリップをオリジナル(始祖)とする1つの変換体系110が形成される。
近年、コンテンツのフォーマットはより多様化している。例えば1つのコンテンツを、映画館で上映したり、DVD(Digital Versatile Disc)やBD(Blu-ray Disc)として販売したり、インターネットを介して配信したり、携帯電話機や電子ゲーム機等のようなモバイル機器に転送したり、テレビジョン信号として放送したりすることが考えられる。
近年のコンテンツ制作においては、制作するコンテンツをこのような多様なフォーマットに対応させる必要が生じている。そのため、フォーマットのトランスコードがより頻繁に行われるようになってきている。また、コンテンツ制作の場合、試作や管理等の、最終段階以外での利用のために、さらにその他のフォーマットへの変換が必要になる場合も多く、さらにトランスコードの機会が増大している。したがって、図3に示されるような変換体系110は、より複雑なものとなってきている。
ところでトランスコードが行われると、基本的に変換前の情報は減少する(劣化する)が、新たな情報が付加されることもある。したがって、目的のフォーマットを得るために新たなトランスコードを行う場合、その変換元のクリップは、必要な情報を得ることができ、かつ、処理の負荷を不要に増大させないように、変換体系110の各ノードの中の最適なノード(クリップ)を選択するのが望ましい。
しかしながら、変換体系110が複雑になると、ユーザがこの全てを管理する(例えば記憶したり、手作業で記録をとったりする)ことが困難になる。この変換体系110が把握できていない場合、ユーザは、各クリップの各ファイルのフォーマット等を個別に確認し、変換元のクリップとして最適なものを選択しなければならず、煩雑な作業を必要とする。
マルチフォーマットトランスコーダ101は、変換体系110をファミリーツリー(家系図)として管理するので、ユーザは、その情報を基に、クリップ間の関係や、各クリップのフォーマット等を容易に把握することができる。すなわち、上述したような変換元として最適なクリップの検索を容易に行うことができる。換言すれば、ユーザは、あるクリップが属する変換体系に属する任意のクリップ(またはそのクリップに属する各ファイル)を容易に検索することができる。
ところで、トランスコードにより生成された各クリップのファイル(実データ)が削除されてしまうことも考えられる。そしてさらに、このように削除されたファイルを再利用(再トランスコード)したくなることも考えられる。このような場合、マルチフォーマットトランスコーダ101が管理するトランスコードに関する情報により、ユーザは、削除されたファイルの変換元となるクリップを容易かつ正確に特定することができ、さらに、そのトランスコードの内容も容易に把握することができる。つまり、マルチフォーマットトランスコーダ101は、ファイルが削除されたクリップを容易に復元することができる。
なお、変換元とすることができる全てのクリップの全てのファイルが削除されている場合等、クリップ(ファイル)を復元することができない場合も考えられる。マルチフォーマットトランスコーダ101が管理するトランスコードに関する情報により、ユーザは、このようにクリップ(ファイル)が復元可能であるか否かも容易に把握することができる。
以上のように、トランスコードに関する情報を管理することにより、マルチフォーマットトランスコーダ101は、ファイルが削除されたクリップを容易に復元することができるので、トランスコードにより生成されたファイルを全て保存しておく必要がなくなる。つまり、マルチフォーマットトランスコーダ101はファイル保存のためのコストを低減させることができる。近年においては、コンテンツのデータ量は増大する一方であるので、例えば使用頻度が少ない等の、不要なファイルを削除することができるのは大きな効果となる。
[デバイスの構成]
次に変換システム100を構成する各装置の構成について説明する。図4は、図1のリモートクライアントの、ハードウェアの主な構成例を示すブロック図である。
図4において、リモートクライアント103のCPU(Central Processing Unit)201は、ROM(Read Only Memory)202に記憶されているプログラム、または記憶部213からRAM(Random Access Memory)203にロードされたプログラムに従って各種の処理を実行する。RAM203にはまた、CPU201が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU201、ROM202、およびRAM203は、バス204を介して相互に接続されている。このバス204にはまた、入出力インタフェース210も接続されている。
入出力インタフェース210には、キーボード、マウスなどよりなる入力部211、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部212、ハードディスクやSSD(Solid State Drive)などより構成される記憶部213、モデム、有線LAN(Local Area Network)インタフェース、または無線LANインタフェースなどにより構成される通信部214が接続されている。通信部214は、例えばインターネット等を含むネットワーク102を介しての通信処理を行う。
入出力インタフェース210にはまた、必要に応じてドライブ215が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア221が適宜装着され、それらから読み出されたコンピュータプログラムやデータが、必要に応じて記憶部213にインストールされる。
図5は、図1のマルチフォーマットトランスコーダの、ハードウェアの主な構成例を示すブロック図である。
図5に示されるように、マルチフォーマットトランスコーダ101は、図4のリモートクライアント103と基本的に同様の構成を有する。つまり、マルチフォーマットトランスコーダ101は、CPU201に対応するCPU301、ROM202に対応するROM302、RAM203に対応するRAM303、およびバス204に対応するバス304を有する。また、マルチフォーマットトランスコーダ101は、入出力インタフェース210に対応する入出力インタフェース310、入力部211に対応する入力部311、出力部212に対応する出力部312、記憶部213に対応する記憶部313、通信部214に対応する通信部314、ドライブ215に対応するドライブ315を有する。ドライブ315には、リムーバブルメディア221に対応するリムーバブルメディア321が装着される。
もちろん、リモートクライアント103およびマルチフォーマットトランスコーダ101が、それぞれ、上述した以外の構成を有するようにしてもよい。
[変換システム機能ブロック]
次に、各デバイスが有する機能について説明する。図6は、各デバイスが有する機能を示す機能ブロック図である。
図6に示されるように、リモートクライアント103は、それぞれ、ユーザがマルチフォーマットトランスコーダ101を制御するためのGUIを表示する機能であるクライアントGUI(Client GUI)と、マルチフォーマットトランスコーダ101との通信機能であるSOAPインタフェース(SOAP i/f)を有している。
マルチフォーマットトランスコーダ101(Multi Format Transcoder)は、変換処理の制御を行うアーキテクチャホストコントローラ(Architecture Host Controller)411と、アーキテクチャホストコントローラ411に制御され、実際に変換処理を行うアクセラレータ(Accelerator)412を有する。
アーキテクチャホストコントローラ411は、ネットワーク(Network)102を介してリモートクライアント103と通信を行う機能であるSOAPインタフェース(SOAP i/f)421を有する。また、アーキテクチャホストコントローラ411は、マルチフォーマットトランスコーダ101としての各種機能を実現するマルチフォーマットトランスコーダアプリケーション(Multi-Format Transcoder Application)422を有する。
さらに、アーキテクチャホストコントローラ411は、各ファイルのメタデータを管理するメタデータデータベース(Metadeta Database)423と、トランスコードに関する情報を管理するユーザデータベース(User Database)424を有する。
また、アーキテクチャホストコントローラ411は、アプリケーションの実行に伴って適宜実行される、ラッパー(Wrapper)やファイル入出力(File I/O)等のための、プラグインソフトウェア(Plug-in Software)425を有する。
さらに、アーキテクチャホストコントローラ411は、アプリケーション等による各種処理を実行する実行部(Executer)426を有する。
また、アーキテクチャホストコントローラ411は、OSやドライバ等が動作するプラットフォームソフトウェア(Platform Software)427を有する。
アーキテクチャホストコントローラ411のプラットフォームソフトウェア427は、例えばPCI Express x16等のバス431を介して、アクセラレータ412のプラットフォームソフトウェア(Platform Software)441と連携して動作する。
アクセラレータ412は、また、アーキテクチャホストコントローラ411により指定されるタスクを実行する実行部(Executer)442、そのタスクの実行に伴い適宜実行される、符号化(Codec)や画像処理(Video Proc)等のための、プラグインソフトウェア(Plug-in Software)443を有する。
つまり、アーキテクチャホストコントローラ411が、リモートクライアント103との通信や、トランスコードやその他の処理に関するタスクの生成や管理等を行い、アクセラレータ412が、そのアーキテクチャホストコントローラ411により生成されたタスクを実行する。また、アーキテクチャホストコントローラ411は、トランスコードに関する情報の生成や管理も行う。
なお、このアーキテクチャホストコントローラ411とアクセラレータ412は、物理的に互いに異なるCPUにより実現されるようにしてもよいし、1つのCPUの互いに異なるコアやスレッドにおいて実現されるようにしてもよいし、1つのコアにおいて時分割されて実現されるようにしてもよい。
なお、図6に示されるように、ネットワーク102には、クリップのファイルを格納するメディアサーバ(Media Server)401も接続されているものとする。つまり、マルチフォーマットトランスコーダ101は、ファイルの格納先アドレスや、メタデータの一部または全部等は記憶し、管理するが、コスト低減等のため、ファイルそのものは記憶(管理)しない。もちろん、アーキテクチャホストコントローラ411内にファイルが記憶されるようにしてもよい。
[データベース]
次に、マルチフォーマットトランスコーダ101が管理する情報について説明する。マルチフォーマットトランスコーダ101(アーキテクチャホストコントローラ411)は、変換管理情報(トランスコードに関する情報)を、データベース化し、ユーザデータベース424に管理する。図7は、ユーザデータベースの構成例を示す図である。
変換管理情報は、変換処理の履歴を示す情報であり、変換処理により生成される各クリップの素性を示す情報である。変換管理情報には、各クリップに関する情報により構成されるクリップ情報と、変換体系を示すファミリーツリー(家系図)であるFT情報とが含まれる。
アーキテクチャホストコントローラ411は、このクリップ情報とFT情報をそれぞれデータベース化する。これにより、ユーザデータベース424には、クリップ情報のデータベースであるCDB510、および、そのクリップ情報の入出力を管理するクリップ管理部511、並びに、FT情報のデータベースであるFTDB520、および、そのFT情報の入出力を管理するFT管理部521が形成される。
図7に示されるように、CDB510に登録されるクリップ情報は、例えば、当該クリップの識別情報であるCID(クリップ識別情報)、当該クリップが属するファミリーツリー(FT)の識別情報であるFTID(ファミリーツリー識別情報)、当該クリップのメタデータや、当該クリップに属する各ファイルについての情報を含むファイル情報、および、当該クリップを生成する際に行われたトランスコードにおいて用いられた設定値等を含む変換パラメータを含む。
もちろん、クリップ情報にこれら以外の情報が含まれるようにしてもよい。CDB510には、各クリップについて、このようなクリップ情報が登録されている。換言すれば、クリップ情報をこのCDB510に登録することにより、マルチフォーマットトランスコーダ101にクリップ(コンテンツ)が登録される。
また、図7に示されるように、FTDB520に登録されるFT情報においては、例えば、FTID、および、そのFTに属する各クリップのCIDが、クリップ間の関係(ファミリーツリーの構成)を示すように互いに関連付けられる。
図7の例の場合、このファミリーツリー全体を示すFTIDにオリジナル(始祖)のクリップのCID1が関連付けられ、そのCID1に、CID1のクリップから生成されたクリップの識別情報であるCID2-1乃至CID2-4が関連付けられ、さらに、そのCID2-3に、CID2-3のクリップから生成されたクリップの識別情報であるCID3-1乃至CID3-3が関連付けられている。
このように、FT情報においては、各クリップのCIDが、クリップの変換体系を示すように、互いに関連付けられ、CIDのファミリーツリー(家系図)が形成される。つまり、このFT情報には、どのクリップからどのクリップが生成されたか、どのクリップを生成するのにどのクリップが必要か、または、オリジナル(始祖)のクリップはどれか等を示す情報が含まれている。
クリップ情報についてより具体的に説明する。図8は、クリップデータベースに登録されるクリップ情報の例を説明する図である。
図8に示されるように、クリップ情報には、そのクリップに関する情報を含むクリップメタデータと、そのクリップに属する各ファイルの場所を示す情報(ファイルパス)が含まれる。
図8の例の場合、クリップメタデータには、クリップ名(Clip name)、所有者(Owner)、タイムスタンプ(Time stamp)、画サイズ(Video Size)、フレームレート(Frame Rate)、符号化パラメータ(Encode Param)、符号化方式(Codec)、符号化ビットレート(Bitrate)、変換前のファイル(親ファイル)のファイルパス(Source(parent) File Path)、そのクリップのメタデータのファイルパス(Related MetaData File path)、CID、FTID、および、トランスコードにおいて使用された変換パラメータ(Transcoding Param)が含まれる。
また、図8の例の場合、クリップ情報には、ビデオデータのファイルパス(Media [Video] File Path)、プロキシデータのファイルパス(Media [Proxy] File Path)、サムネイルデータのファイルパス(Thumbnail File Path)、およびオーディオデータのファイルパス(Media [Audio] File Path)が含まれる。
もちろん、クリップ情報に、これら以外の情報が含まれていてもよい。
このクリップ情報とFT情報の両方から、どのクリップからどのクリップがどのように生成されたかが容易にわかる。また、クリップ情報からファイルの有無もわかるので、クリップを生成可能か否か、また可能であれば、その生成にどのクリップを用いるのが良いか、といったことが容易にわかる。さらに、ファイルが削除されたクリップを復元可能か否か、また復元可能であればその生成にどのクリップを用いるのが良いか、といったことも容易にわかる。
マルチフォーマットトランスコーダ101は、このような変換管理情報を生成し、ユーザに提供し、利用させることにより、トランスコードの利便性を向上させる。
[変換管理情報生成]
次に、このような変換管理情報の生成について説明する。図9は、変換管理情報生成に関する主な機能ブロックの例を示す図である。図9に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図9に示されるように、マルチフォーマットトランスコーダ101は、変換管理情報生成に関する機能ブロックとして、ユーザインタフェース部601、ファイル取得部602、変換管理情報生成部603、および表示制御部604を有する。
ユーザインタフェース部601は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、ユーザからのコンテンツ入力(登録)要求を受け付けたり、クリップ情報やFT情報を供給したりする。
ファイル取得部602は、ユーザインタフェース部601を介して取得された入力要求に基づいて、インジェスト処理を行ってVTRや光ディスク等のメディアからコンテンツを抽出してファイル化し、そのファイルを、メディアサーバ401に形成されるファイル管理部531に供給し、ファイルを管理するデータベースであるFDB530にそのファイルを登録させる。
また、ファイル取得部602は、入力要求に基づいて、クリップのファイルを取得し、そのファイルをファイル管理部531に供給してFDB530に登録させることもできる。
さらに、ファイル取得部602は、FDB530に登録したファイルに関する情報(例えばメタデータ等)であるファイル情報を変換管理情報生成部603に供給する。
変換管理情報生成部603は、ファイル取得部602から供給されるファイル情報に基づいて、ファイル取得部602によりFDB530に登録されたファイルのクリップについての変換管理情報を生成する。
変換管理情報生成部603は、ファイル情報取得部611、CID生成部612、FTID生成部613、クリップ登録部614、およびFT登録部615を有する。
ファイル情報取得部611は、ファイル取得部602からファイル情報を取得し、それをクリップ登録部614に供給する。CID生成部612は、ファイル情報取得部611が取得したファイル情報に対応するクリップについてCIDを生成し、それをクリップ登録部614およびFT登録部615に供給する。FTID生成部613は、ファイル情報取得部611が取得したファイル情報に対応するクリップをオリジナル(始祖)とするファミリーツリー(FT)のFTIDを生成し、クリップ登録部614およびFT登録部615に供給する。
クリップ登録部614は、各部より供給されたファイル情報、CID、およびFTIDを用いてクリップ情報を生成し、それをクリップ管理部511に供給し、CDB510に登録させる。これにより、ファイル取得部602によりFDB530に登録されたファイルが属するクリップがマルチフォーマットトランスコーダ101によって管理されることになる。
クリップ登録部614は、また、生成したクリップ情報を表示制御部604に供給する。
FT登録部615は、各部より供給されたCIDおよびFTIDを用いてFT情報を生成し、それをFT管理部521に供給し、FTDB520に登録させる。これにより、ファイル取得部602によりFDB530に登録されたファイルが属するクリップをオリジナル(始祖)とするFTがFTDB520に登録される。
FT登録部615は、また、生成したFT情報を表示制御部604に供給する。
表示制御部604は、各部より供給されたクリップ情報およびFT情報を、ユーザインタフェース部601を介してリモートクライアント103に供給し、表示させる。
このように、新たなクリップが入力され、登録されると、そのクリップのクリップ情報が生成されてCDB510に登録されるとともに、そのクリップをオリジナル(始祖)とするFTが生成されてFTDB520に登録される。
このようにクリップを入力する際に行われる入力処理の流れの例を、図10のフローチャートを参照して説明する。
ユーザインタフェース部601が、リモートクライアント103から、ユーザからのクリップの入力要求を取得すると、入力処理が開始される。入力処理が開始されるとファイル取得部602は、ステップS101において、ファイルを取得し、FDB530に登録する。
ステップS102において、ファイル情報取得部611は、ファイル取得部602により登録されたファイル(入力クリップ)のファイル情報を取得する。
ステップS103において、CID生成部612は、入力クリップについてCIDを生成する。ステップS104において、FTID生成部613は、入力クリップについてFTIDを生成する。ステップS105において、クリップ登録部614は、入力クリップのクリップ情報を生成し、CDB510に登録する。ステップS106において、FT登録部615は、入力クリップをオリジナル(始祖)とするFTのFT情報を生成し、FTDB520に登録する。
ステップS107において、表示制御部604は、CDB510やFTDB520に登録されたクリップ情報およびFT情報を、リモートクライアント103に供給し、表示させる。ステップS107の処理が終了すると、入力処理が終了される。
以上のように入力処理が行われることにより、図11Aに示されるように、入力クリップをオリジナル(始祖)とするFTが登録される。この時点で、入力クリップからのトランスコードは行われていないので、このFTのノードはオリジナル(始祖)の入力クリップのみである。つまり、このFTは、FTID621に入力クリップのCID622が関連付けられているのみである。
なお、この入力クリップが、インジェスト処理により、マルチフォーマットトランスコーダ101以外の記録媒体(例えばリムーバブルメディア)から抽出されてファイル化されたものである場合、真にオリジナル(始祖)のクリップは、その記録媒体(に記録された状態のコンテンツ)ということになる。
したがってこの場合、図11Bに示されるように、記録媒体623にオリジナル(始祖)のCIDが割り当てられる。FTは、図11Bに示されるように、FTID621に記録媒体623に割り当てられたCIDが関連付けられ、その下に入力クリップのCID622が関連付けられたものとなる。なお、この場合、記録媒体623に割り当てられるCIDは、その記録媒体を識別する情報であればよいので、元々その記録媒体623に識別情報が割り当てられている場合、その識別情報をCIDとして用いても良い。
以上のように、マルチフォーマットトランスコーダ101が、入力クリップに対して、クリップ情報およびFT情報を生成して登録するので、ユーザは、クリップを入力(登録)するだけで、容易にそのクリップをオリジナル(始祖)とする変換体系をファミリーツリー(FT)として管理させることができる。
[変換管理情報更新]
以上のように登録されたクリップがトランスコードされると、変換管理情報が更新され、そのトランスコードに関する情報が追加される。図12は、変換管理情報更新に関する主な機能ブロックの例を示す図である。図12に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図12に示されるように、マルチフォーマットトランスコーダ101は、変換管理情報更新に関する機能ブロックとして、ユーザインタフェース部631、変換パラメータ生成部632、トランスコード部633、変換管理情報更新部634、および表示制御部635を有する。
ユーザインタフェース部631は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、ユーザからのトランスコードの指示(変換要求)等を受け付けたり、クリップ情報やFT情報を供給したりする。
変換パラメータ生成部632は、ユーザインタフェース部601を介して取得された変換要求に従って、トランスコードで使用する変換パラメータを生成する。変換パラメータ生成部632は、必要に応じてクリップ管理部511を介してCDB510からクリップ情報を取得し、それを利用して変換パラメータを生成する。変換パラメータ生成部632は、生成した変換パラメータをトランスコード部633および変換管理情報更新部634に供給する。
トランスコード部633は、供給された変換パラメータを用いてクリップのトランスコードを行う。トランスコード部633は、変換要求に基づいて、変換元となるクリップのファイルを、ファイル管理部531を介してFDB530から取得する。トランスコード部633は、そのファイルを、変換パラメータを用いてトランスコードし、変換後のクリップを生成する。トランスコード部633は、生成した変換後のクリップのファイルをファイル管理部531に供給し、FDB530に登録させる。また、トランスコード部633は、その変換後のクリップのファイル情報を変換管理情報更新部634に供給する。
変換管理情報更新部634は、トランスコード部633において行われたトランスコードの結果を変換管理情報に反映させる。変換管理情報更新部634は、ファイル情報取得部641、CID生成部642、クリップ登録部643、およびFT更新部644を有する。
ファイル情報取得部641は、トランスコード部633におけるトランスコードにより生成されたクリップのファイル情報を取得し、それをクリップ登録部643に供給する。CID生成部642は、トランスコード部633におけるトランスコードにより生成されたクリップのCIDを生成し、クリップ登録部643およびFT更新部644に供給する。
クリップ登録部643は、各部より供給された変換パラメータ、ファイル情報、およびCIDを用いて、トランスコード部633におけるトランスコードにより生成されたクリップのクリップ情報を生成し、それをクリップ管理部511に供給してCDB510に登録させる。これにより、変換後のクリップのクリップ情報が、CDB510に登録される。
また、クリップ登録部643は、生成したクリップ情報を表示制御部635にも供給する。
FT更新部644は、変換元のクリップが属するファミリーツリー(FT)のFT情報を、FT管理部521を介してFTDB520から取得し、そのFT情報にCID生成部642から供給されたCIDを新たなノードして追加する。つまり、FT更新部644は、FTにおいて、変換元のクリップのCIDに、変換後のクリップのCIDを関連付けることにより、そのFT(FT情報)を更新する。FT更新部644は、更新したFT情報をFT管理部521に供給し、FTDB520に登録させる。これにより、FTDB520に登録されているFT情報が更新され、トランスコード結果がFTDB520に反映される。
また、FT更新部644は、更新したFT情報を、表示制御部635にも供給する。
表示制御部635は、各部より供給されたクリップ情報およびFT情報を、ユーザインタフェース部601を介して変換要求元のリモートクライアント103に供給し、トランスコード結果として表示させる。
このように、既存のクリップに対してトランスコードが行われると、その変換後のクリップのクリップ情報が生成されてCDB510に登録されるとともに、その変換後のクリップが、変換元のクリップが属するFTに追加される(FTが更新される)。
このような変換処理の流れの例を、図13のフローチャートを参照して説明する。
ユーザインタフェース部631が、リモートクライアント103から、ユーザからの変換要求を取得すると、変換処理が開始される。変換処理が開始されると変換パラメータ生成部632は、ステップS121において、その変換要求に基づいて、フォーマットをどのように変換するかを示す変換パラメータを生成する。
変換パラメータが生成されると、トランスコード部633は、ステップS122において、その変換パラメータに基づいてトランスコーディングを行い、指定されたクリップを指定されたフォーマットに変換し、新たなクリップを生成する。
ステップS123において、ファイル情報取得部641は、変換後のクリップのファイル情報(メタデータ等)を取得する。ステップS124において、CID生成部642は、変換後のクリップのCIDを生成する。ステップS125において、クリップ登録部643は、変換後クリップのクリップ情報をCDB510に登録する。ステップS126において、FT更新部644は、変換元のクリップが属するFTに変換後のクリップを新たなノードとして追加する。
ステップS127において、表示制御部635は、変換後のクリップのクリップ情報やFT情報(すなわち、クリップの登録情報やFTの更新結果)を、変換要求元のリモートクライアント103に供給し、トランスコード結果として表示させる。
ステップS127の処理が終了すると変換処理が終了される。
例えば、図14Aに示されるように、FTID651のFT650に属するクリップ654に対して変換要求がなされると、上述した変換処理が行われ、図14Bに示されるように、クリップ654の下に変換後のクリップ655が追加される。
このように、トランスコードが行われると、FTにおいて、変換元のクリップに変換後のクリップが紐付けされる。つまりトランスコード結果を反映するようにFTが更新される。
マルチフォーマットトランスコーダ101は、以上のように変換管理情報を生成・更新することにより、クリップのフォーマットのトランスコードを行うだけでなく、トランスコードの履歴を管理することができる。換言すれば、マルチフォーマットトランスコーダ101は、トランスコードにより生成される各クリップの素性を管理することができる。
これにより、ユーザは、FTを参照することにより、どのクリップからどのクリップが生成されたかを容易に把握することができる。さらに、各クリップのクリップ情報も登録され、そのクリップ情報に変換パラメータも含まれているので、ユーザは、そのクリップ情報を参照することにより、どのように変換が行われたかも容易に把握することができる。
したがって、ユーザは、これらの変換管理情報を参照し、利用することにより、所望のクリップの検索や復元等を容易かつ正確に行うことができる。
マルチフォーマットトランスコーダ101は、このように生成・更新された変換管理情報の利用に関する機能も有している。以下に説明する。
[変換管理情報表示]
例えば、マルチフォーマットトランスコーダ101は、変換管理情報を利用する機能として、その変換管理情報(FTやクリップ情報)をリモートクライアント103のモニタに表示させることができる。
図15は、その変換管理情報表示に関する主な機能ブロックの例を示す図である。図15に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図15に示されるように、マルチフォーマットトランスコーダ101は、変換管理情報表示に関する機能ブロックとして、ユーザインタフェース部661、CID取得部662、FTID取得部663、FT情報取得部664、ノード確認部665、FT情報表示制御部666、クリップ情報取得部667、ノード確認部668、およびクリップ情報表示制御部669を有する。
ユーザインタフェース部661は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、ユーザからのFT情報表示要求やクリップ情報表示要求を受け付けたり、クリップ情報やFT情報を供給したりする。
ファミリーツリー(FT)の表示を要求するFT情報表示要求には、表示するFTが指定される。このFTの指定は、どのように行われてもよく、例えば、FTIDによって行われてもよいし、目的のFTに属するクリップに関する情報(例えばCIDやファイル情報等)により行われてもよい。
CID取得部662は、そのFTの指定がクリップに関する情報により行われる場合、クリップ管理部511にアクセスし、CDB510から、その情報に該当するCIDを取得する。CID取得部662は、取得したCIDをFTID取得部663に供給する。
FTを指定する情報としてCIDが供給された場合、CID取得部662は、そのCIDをFTID取得部663に供給する。FTを指定する情報としてFTIDが供給された場合、CID取得部662は、そのFTIDをFTID取得部663に供給する。
FTID取得部663は、必要に応じてクリップ管理部511にアクセスし、CDB510から、FT情報表示要求により指定されるFTのFTIDを取得する。例えば、CID取得部662よりCIDが供給された場合、そのCIDのクリップを含むFT(FT情報表示要求により指定されるFT)のFTIDを、CDB510から取得する。
また、例えば、FTを指定する情報としてFTIDが供給された場合、FTID取得部663は、そのFTIDをFT情報取得部664に供給する。
FT情報取得部664は、FT管理部521にアクセスし、FTDB520から、FTID取得部663から供給されるFTIDに対応するFT情報を取得する。つまり、FT情報取得部664は、FT情報表示要求において表示が要求されるFTのFT情報を取得する。FT情報取得部664は、取得したFT情報をノード確認部665に供給する。
ノード確認部665は、FT情報取得部664から供給されるFT情報に含まれる全てのCIDについて、各ファイルの存在を確認する。ノード確認部665は、クリップ管理部511にアクセスし、FT情報に含まれるCIDのクリップ情報に含まれる全てのファイルパスを確認する。ノード確認部665は、ファイル管理部531にアクセスして、そのファイルパスの有効性(すなわち、ファイルパス先のファイルの存在)を確認する。ノード確認部665は、このファイルの存在の確認をFT情報に含まれる全てのCIDについて行う。ノード確認部665は、FT情報と、その確認結果を、FT情報表示制御部666に供給する。
FT情報表示制御部666は、供給されたFT情報やファイルの存在の確認結果を、ユーザインタフェース部601を介して表示要求元のリモートクライアント103に供給し、ファミリーツリー(FT)として表示させる。
ユーザは、例えば、その表示されたFTを参照し、その中のノード(クリップ)を指定し、クリップ情報の表示を要求する。リモートクライアント103は、その指定されたクリップのCIDを、クリップ情報表示要求としてマルチフォーマットトランスコーダ101に供給する。
クリップ情報取得部667は、ユーザインタフェース部661を介してクリップ情報表示要求を取得すると、クリップ管理部511にアクセスし、CDB510から、表示要求により指定されるCIDに対応するクリップ情報を取得する。クリップ情報取得部667は、取得したクリップ情報をノード確認部668に供給する。
ノード確認部668は、ファイル管理部531にアクセスして、クリップ情報取得部667から供給されたクリップ情報に含まれるファイルパスの有効性(すなわち、ファイルパス先のファイルの存在)を確認する。ノード確認部668は、クリップ情報とその確認結果をクリップ情報表示制御部669に供給する。
クリップ情報表示制御部669は、供給されたクリップ情報やファイルの存在の確認結果を、ユーザインタフェース部601を介して表示要求元のリモートクライアント103に供給し、表示させる。
このように、マルチフォーマットトランスコーダ101は、ユーザの要求に基づいて、FT情報やクリップ情報を提供することができる。これにより、リモートクライアント103は、容易にファミリーツリー(FT)やクリップ情報を表示することができる。これにより、ユーザは、ファミリーツリー(FT)やクリップ情報を、容易に確認することができる。
このようなFT表示処理の流れの例を、図16のフローチャートを参照して説明する。
ユーザインタフェース部661が、リモートクライアント103から、ユーザからのFT情報表示要求を取得すると、FT表示処理が開始される。FT表示処理が開始されるとCID取得部662は、ステップS141において、その要求において指定されるクリップのCIDを取得する。なお、ファミリーツリー(FT)の指定が、FTIDやCIDで行われる場合、ステップS141の処理は省略され、ステップS142に進む。
ステップS142において、FTID取得部663は、表示させるFTのFTIDを取得する。なお、FTの指定がFTIDで行われる場合、ステップS142の処理は省略され、ステップS143に進む。
ステップS143において、FT情報取得部664は、表示させるFTのFT情報を取得する。ステップS144において、ノード確認部665は、表示させるFTの各ノードのファイルの存在を全て確認する。ステップS145において、ノード確認部665は、ファイルの存在の確認結果をFT情報に反映させる。
ステップS146において、FT情報表示制御部666は、確認結果を反映させたFT情報をリモートクライアント103に供給し、ファミリーツリー(FT)として表示させる。
ステップS146の処理が終了するとFT表示処理が終了される。
以上のようなFT表示処理によりFT情報(およびファイルの確認結果)が供給されると、リモートクライアント103は、例えば、図17に示されるようなGUIを表示する。
図17に示される画像671は、ファミリーツリーを表示するGUI画像である。画像671は、その領域が左右に分けられ、左側の領域に、変換体系を示すファミリーツリーが表示される。
図17の例の場合、画像671に表示されるファミリーツリーは、オリジナル(始祖)のクリップ(Original Clip)が4回トランスコードされて、4つの子クリップ(Child Clip A, Child Clip B, Child Clip C, Child Clip D)が生成され、さらに、子クリップD(Child Clip D)が4回トランスコードされて、4つの子クリップ(Child Clip D-1, Child Clip D-2, Child Clip D-3, Child Clip D-4)が生成されたことを示している。
このように、ファミリーツリー(FT)においては、変換前後のクリップの関係(親子関係)が線により示される。これにより、ユーザは、容易に変換体系の構成を把握することができる。なお、例えば、ファイルが削除されたクリップは、ファミリーツリーのノードの色や濃度を変えることにより表現するようにしてもよい。これにより、ユーザは、所望のクリップのファイルが存在するか否かを容易に把握することができる。また、ユーザは、所望のクリップが復元できるか否か、出来る場合は、どのクリップを用いて復元するのが良いか等を、容易かつ正確に把握することができる。
もちろん、このFTの表現方法は任意である。
例えば、ユーザは、この画像671に表示されるFTにおいて、ノードを選択することにより、そのノードが示すクリップのクリップ情報の一部または全部の表示を要求することができる。
このようにして行われた要求は、リモートクライアント103からマルチフォーマットトランスコーダ101に供給される。
このような要求に対してマルチフォーマットトランスコーダ101において行われるクリップ情報表示処理の流れの例を、図18のフローチャートを参照して説明する。
ユーザインタフェース部661が、リモートクライアント103から、ユーザからのクリップ情報表示要求を取得すると、クリップ情報表示処理が開始される。クリップ情報表示処理が開始されるとクリップ情報取得部667は、ステップS161において、その要求において指定されるクリップのクリップ情報を取得する。
ステップS162において、ノード確認部668は、取得されたクリップ情報(指定されたノード)のファイルの存在を全て確認する。ステップS163において、ノード確認部668は、ファイルの存在の確認結果をクリップ情報に反映させる。
ステップS164において、クリップ情報表示制御部669は、確認結果を反映させたクリップ情報をリモートクライアント103に供給し、表示させる。
ステップS164の処理が終了するとクリップ情報表示処理が終了される。
以上のようなクリップ情報表示処理によりクリップ情報(およびファイルの確認結果)が供給されると、リモートクライアント103は、例えば、図17に示される画像671の右側の領域に、そのクリップ情報を表示する。つまり、左側の領域に表示されるファミリーツリー(FT)においてユーザが選択したノードのクリップ情報が、右側の領域に表示される。
このようにユーザは、所望のクリップに関する情報を、容易に参照することができる。
[オリジナル検索]
例えば、マルチフォーマットトランスコーダ101は、変換管理情報を利用する機能として、あるクリップが属するファミリーツリー(FT)のオリジナル(始祖)のクリップを検索し、その情報を、リモートクライアント103を介してユーザに提供することができる。
図19は、そのオリジナルの検索に関する主な機能ブロックの例を示す図である。図19に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図19に示されるように、マルチフォーマットトランスコーダ101は、オリジナルの検索に関する機能ブロックとして、ユーザインタフェース部681、CID取得部682、FTID取得部683、オリジナル検索部684、クリップ情報取得部685、およびオリジナルクリップ情報表示制御部686を有する。
ユーザインタフェース部661は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、ユーザからのオリジナル検索要求を受け付けたり、オリジナルのクリップのクリップ情報(オリジナルクリップ情報)を供給したりする。
オリジナルのクリップの検索を要求するオリジナル検索要求には、クリップかファミリーツリー(FT)の指定が含まれる。クリップが指定された場合、そのクリップが属するFTのオリジナルのクリップが検索される。FTが指定された場合、そのFTのオリジナルのクリップが検索される。クリップの指定は、どのように行われてもよく、例えば、CIDやファイル情報等により行われる。同様に、FTの指定は、どのように行われてもよく、例えば、FTIDによって行われる。
CID取得部682は、オリジナル検索要求によりクリップが指定された場合、クリップ管理部511を介してCDB510から、そのクリップのCIDを取得する。CID取得部682は、取得したCIDをFTID取得部683に供給する。オリジナル検索要求においてCIDによりクリップの指定がなされる場合、CID取得部682は、そのCIDをFTID取得部683に供給する。オリジナル検索要求においてFTの指定がなされる場合、CID取得部682は、オリジナル検索要求をFTID取得部683に供給する。
CID取得部682からCIDが供給された場合、FTID取得部683は、クリップ管理部511を介してCDB510から、そのCIDのクリップが属するFTのFTIDを取得する。FTID取得部683は、取得したFTIDをオリジナル検索部684に供給する。また、オリジナル検索要求においてFTの指定がなされる場合、FTID取得部683は、オリジナル検索要求に含まれるFTIDを、オリジナル検索部684に供給する。
オリジナル検索部684は、FT管理部521にアクセスし、FTID取得部683から供給されたFTIDのFTにおけるオリジナルのクリップをFTDB520から検索させ、そのCID(オリジナルCID)を取得する。オリジナル検索部684は、オリジナルCIDを取得すると、それをクリップ情報取得部685に供給する。
クリップ情報取得部685は、クリップ管理部511にアクセスし、オリジナル検索部684から供給されたオリジナルCIDのクリップのクリップ情報(オリジナルクリップ情報)をCDB510から取得する。クリップ情報取得部685は、取得したオリジナルクリップ情報をオリジナルクリップ情報表示制御部686に供給する。
オリジナルクリップ情報表示制御部686は、クリップ情報取得部685から供給されたオリジナルクリップ情報を、ユーザインタフェース部601を介して検索要求元のリモートクライアント103に供給し、表示させる。
このように、マルチフォーマットトランスコーダ101は、指定されたクリップが属するファミリーツリー(FT)、若しくは、指定されたFTの、オリジナルのクリップのクリップ情報を提供することができる。これにより、ユーザは、所望のクリップが属するFT、若しくは、所望のFTの、オリジナルのクリップを容易に検索することができ、さらにそのクリップ情報を、容易に確認することができる。
このようなオリジナル検索処理の流れの例を、図20のフローチャートを参照して説明する。
ユーザインタフェース部681が、リモートクライアント103からオリジナル検索要求を取得すると、オリジナル検索処理が開始される。オリジナル検索処理が開始されるとCID取得部682は、ステップS181において、その要求において指定されるクリップのCIDを取得する。なお、クリップの指定がCIDで行われたり、オリジナルを検索するFTが指定されたりした場合、ステップS181の処理は省略され、ステップS182に進む。
ステップS182において、FTID取得部683は、オリジナルのクリップを検索するFTのFTIDを取得する。オリジナル検索要求において、オリジナルを検索するFTがFTIDにより指定された場合、ステップS182の処理は省略され、ステップS183に進む。
オリジナル検索部684は、ステップS183において、指定されたFTのオリジナルのクリップを検索し、ステップS184において、そのオリジナルのクリップのクリップ情報(オリジナルクリップ情報)を取得する。
ステップS185において、オリジナルクリップ情報表示制御部686は、オリジナルクリップ情報をリモートクライアント103に供給し、表示させる。
ステップS185の処理が終了するとオリジナル検索処理が終了される。
以上のようなオリジナル検索処理によりオリジナルクリップ情報が供給されると、リモートクライアント103は、そのオリジナルクリップ情報を表示する。
このようにユーザは、所望のクリップが属するファミリーツリー(FT)のオリジナルのクリップや、所望のFTのオリジナルのクリップを、容易に検索することができる。また、そのクリップ情報を容易に参照することができる。
[単世代復元]
トランスコードにより生成されたクリップのファイルが削除されることもある。
例えば、マルチフォーマットトランスコーダ101は、変換管理情報を利用する機能として、削除された所望のクリップのファイルをその親のクリップのファイルを用いて復元することができる。その場合、マルチフォーマットトランスコーダ101は、ファイルを復元するクリップの親クリップ(変換元のクリップ)を、変換管理情報を用いて特定し、その親クリップを再トランスコードして所望のクリップのファイルを復元する。
図21は、そのファイルの復元に関する主な機能ブロックの例を示す図である。図21に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図21に示されるように、マルチフォーマットトランスコーダ101は、ファイルの復元に関する機能ブロックとして、ユーザインタフェース部691、親CID取得部692、親ファイル情報取得部693、変換パラメータ取得部694、トランスコード部695、変換管理情報更新部696、および表示制御部697を有する。
ユーザインタフェース部691は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、復元要求を受け付けたり、復元したクリップのクリップ情報や、その復元処理を反映させたFT情報を供給したりする。
ファイルの復元要求には、そのファイルを復元するクリップを指定する情報(例えばCID等)が含まれる。親CID取得部692は、FT管理部521にアクセスし、復元要求により指定されるクリップが属するファミリーツリー(FT)を特定し、そのFT情報から、復元するクリップの親クリップのCID(親CID)を、FTDB520から取得する。親CID取得部692は、取得した親CIDを親ファイル情報取得部693に供給する。
親ファイル情報取得部693は、クリップ管理部511にアクセスし、親CIDのクリップ(親クリップ)のファイル情報(親ファイル情報)をCDB510から取得する。親ファイル情報取得部693は、取得した親ファイル情報を、トランスコード部695に供給する。
変換パラメータ取得部694は、クリップ管理部511にアクセスし、復元要求において指定されたCID等に基づいて、ファイルを復元するクリップが生成されるトランスコードにおいて使用された変換パラメータをCDB510から取得する。変換パラメータ取得部694は、取得した変換パラメータを、トランスコード部695に供給する。
トランスコード部695は、ファイル管理部531にアクセスし、親ファイル情報取得部693から供給された親ファイル情報を用いて、親クリップのファイルをFDB530から取得する。
トランスコード部695は、その取得した親クリップのファイルと、変換パラメータ取得部694から供給される変換パラメータを用いて親クリップからのトランスコードを行い、要求により指定されたクリップのファイルを復元する。トランスコード部695は、復元したクリップのファイルを、ファイル管理部531に供給し、FDB530に登録させる。また、トランスコード部695は、復元したクリップのファイル情報やトランスコードに使用した変換パラメータを変換管理情報更新部696に供給する。
変換管理情報更新部696は、図12の変換管理情報更新部634と基本的に同様の構成を有し、同様の処理を行う。すなわち、変換管理情報更新部696は、供給されたファイル情報や変換パラメータ等の情報に基づいて変換管理情報を更新し、クリップの復元を、変換管理情報に反映させる。変換管理情報更新部696は、更新後のFT情報や、ファイルを復元したクリップのクリップ情報を表示制御部697に供給する。
表示制御部697は、変換管理情報更新部696から供給されたFT情報やクリップ情報を、ユーザインタフェース部601を介して復元要求元のリモートクライアント103に供給し、表示させる。
このように、マルチフォーマットトランスコーダ101は、変換管理情報を利用して、指定されたクリップのファイルを容易に復元することができる。
このような復元処理の流れの例を、図22のフローチャートを参照して説明する。
ユーザインタフェース部691が、リモートクライアント103から復元要求を取得すると、復元処理が開始される。復元処理が開始されると親CID取得部692は、ステップS201において、復元するクリップの親クリップのCID(親CID)を取得する。
ステップS202において、親ファイル情報取得部693は、親CIDを用いてその親クリップのファイル情報(親ファイル情報)を取得する。
ステップS203において、変換パラメータ取得部694は、復元するクリップのクリップ情報から、ファイルを復元するクリップが生成されたときのトランスコードにおいて使用された変換パラメータを取得する。
ステップS204において、トランスコード部695は、親ファイル情報や変換パラメータを用いて、指定されたクリップのファイルを復元するための、親クリップのトランスコーディングを行う。
ステップS205において、変換管理情報更新部696は、変換管理情報更新処理を行い、ステップS204において行われたトランスコード(ファイル復元のためのトランスコード)を変換管理情報に反映させる。この変換管理情報更新処理は、図13のフローチャートを参照して説明した、変換処理のステップS123乃至ステップS126と同様であるので、その詳細の説明は省略する。
ステップS206において、表示制御部697は、更新されたクリップ情報やFT情報をリモートクライアント103に供給し、表示させる。
ステップS206の処理が終了すると復元処理が終了される。
以上のよう復元処理により、復元処理結果としてクリップ情報やFT情報が供給されると、リモートクライアント103は、そのクリップ情報やFT情報を表示する。
以上のように、マルチフォーマットトランスコーダ101は、変換管理情報を用いて、容易に所望のクリップを復元することができる。
例えば、図23Aに示されるように、ノードとしてクリップ702乃至クリップ704を有するFTID701のファミリーツリー(FT)700において、クリップ703のファイルが削除されているとする。
ユーザが、例えば、モニタに表示されたファミリーツリー(FT)においてクリップ703を指定し、このクリップ703のファイルの復元を要求すると、上述したように復元処理が行われ、図23Bに示される矢印705のように、クリップ702が再トランスコードされ、クリップ703のファイルが復元される。
なお、クリップ703のファイルを復元するといっても、削除されたファイルと同内容のファイルを新たに作成するだけで、削除されたファイルを復元することはできない。つまり、厳密には、生成日時やファイルパス等が以前と異なる。
したがって、図23Cに示されるように、FT700において、このファイルの復元を矢印706のように、新たなクリップ707の生成として扱うようにしてもよい。
以上のように、ユーザは、ファミリーツリー(FT)やクリップ情報を用いて、所望のクリップを容易に復元させることができる。
[複数世代復元]
なお、2世代以上連続してクリップのファイルが削除されている場合も考えられる。つまり、ファイルを復元させたいクリップの親クリップのファイルが存在するとは限らない。
例えば、マルチフォーマットトランスコーダ101は、変換管理情報を利用する機能として、ファイルが削除されたクリップを、複数世代さかのぼり、先祖のクリップのファイルを用いて復元することができる。その場合、マルチフォーマットトランスコーダ101は、復元に利用可能な先祖のクリップを、変換管理情報を用いて特定し、そのクリップから所望のクリップが得られるまでのトランスコードを実質的に全て再現することにより所望のクリップのファイルを復元する。
図24は、このような複数世代にわたる復元に関する主な機能ブロックの例を示す図である。図24に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図24に示されるように、マルチフォーマットトランスコーダ101は、ファイルの復元に関する機能ブロックとして、ユーザインタフェース部711、親CID取得部712、親クリップ情報取得部713、親ノード確認部714、クリップ情報保持部715、モード選択部716、再現モード部717、および省略モード部718を有する。
ユーザインタフェース部711は、SOAPインタフェース421を介して、リモートクライアント103と情報の授受を行い、復元要求を受け付けたり、ファイルを復元したクリップのクリップ情報や、その復元処理を反映させたFT情報を供給したりする。
クリップの復元要求には、その復元するクリップを指定する情報(例えばCID等)が含まれる。親CID取得部712は、FT管理部521にアクセスし、復元要求により指定されるクリップが属するファミリーツリー(FT)を特定し、そのFT情報から、復元するクリップの親クリップのCID(親CID)を、FTDB520から取得する。親CID取得部712は、取得した親CIDを親クリップ情報取得部713に供給する。
親クリップ情報取得部713は、クリップ管理部511にアクセスし、親CIDに対応するクリップ(親クリップ)のクリップ情報(親クリップ情報)をCDB510から取得する。また、親クリップ情報取得部713は、クリップ管理部511にアクセスし、目的のクリップのクリップ情報もCDB510から取得する。親クリップ情報取得部713は、取得したクリップ情報を親ノード確認部714に供給する。
親ノード確認部714は、ファイル管理部531にアクセスし、親クリップ情報を用いて、親クリップのファイルの存在を確認するとともに、クリップ情報をクリップ情報保持部715に供給し、保持させる。
親クリップのファイルが存在しない場合、クリップ情報保持部715がクリップ情報を保持すると、親CID取得部712乃至親ノード確認部714は、その親クリップを処理対象のノードとし、上述した処理を繰り返す。
ファイルが存在する親クリップが確認されるまで、以上のように処理が繰り返され、親クリップのファイルが存在することが確認されると、親ノード確認部714は、モード選択部716にその旨を通知する。
モード選択部716は、クリップ情報保持部715に保持されている各親クリップ情報に基づいて、ファイルを復元するトランスコードの処理モードとして、再現モードと省略モードのいずれか一方を選択する。
再現モードは、実際に行われたトランスコードの方法を全て再現するモードである。つまり、この再現モードの場合、ファイルの存在する先祖のクリップからその子クリップのファイルを復元するトランスコードが、目的のクリップのファイルを復元するまで繰り返される。
したがって、この再現モードの場合、一度行われたトランスコードを同じ方法でやり直すだけであるので、目的のクリップのファイルを正確に再現することができる。ただし、トランスコードを開始する祖先のクリップが目的のクリップの世代から遠くなるほど、トランスコードの回数が増大するので、復元処理の負荷が増大する場合も考えられる。
省略モードは、目的のクリップのファイルを復元するのに必要な複数回のトランスコードにおいて使用される全変換パラメータを再構成して、トランスコードを開始する祖先のクリップから、1回のトランスコードで目的のクリップのファイルを復元する事ができる変換パラメータ(省略パラメータ)を作成し、その省略パラメータを用いて、1回のトランスコードで目的のクリップのファイルを復元するモードである。
したがって、この省略モードの場合、トランスコードを開始する祖先のクリップが目的のクリップの世代から遠くなっても、トランスコードの回数は1回のみで済むので、復元処理の負荷が増大しない。ただし、例えば、画像編集や、画像とタイムコードの合成(所謂焼付け)等、特殊な処理が行われた場合等、1回のトランスコードでは再現できない場合もある。このような場合、この省略モードでは対応することができない。
そこでモード選択部716は、トランスコードの内容や現在の状況等、各種条件に応じて再現モードと省略モードのうち、より適切なモードを選択する。再現モードが選択された場合、その旨が再現モード部717に通知される。
再現モード部717は、再現モードによってトランスコードを行い、目的のクリップのファイルを復元する。
再現モード部717は、クリップ情報取得部721、トランスコード部722、変換管理情報更新部723、表示制御部724、および子ノード確認部725を有する。
再現モード部717は、最初、ファミリーツリー(FT)において目的のクリップからさかのぼる順に、ファイルが存在する最初の祖先のクリップを処理対象とする。
クリップ情報取得部721は、クリップ情報保持部715から、処理対象のクリップの子クリップのクリップ情報を取得する。この子クリップは、FTにおいて、処理対象のクリップから目的のクリップに向かう経路上に存在するノード(目的のクリップのノードも含む)のクリップ(目的のクリップのファイルを復元するのに必要なクリップ)である。
FTにおいて、処理対象のクリップから目的のクリップに向かう経路上に存在しないノード、すなわち、目的のクリップのファイルを復元するのに不要なクリップについては、復元する必要が無いので、以下においては、それらは存在しないものとして説明する(それらのノードが処理対象とされることは無い)。
トランスコード部722は、クリップ情報取得部721が取得したクリップ情報を用いて、処理対象のクリップをトランスコードすることにより、子クリップのファイルを復元する。
子クリップのファイルが復元されると、変換管理情報更新部723は、クリップ情報の追加やFT情報の更新を行い、そのトランスコード結果を反映させる。変換管理情報更新部723は、図12の変換管理情報更新部634と基本的に同様の構成を有し、同様の処理を行う。
表示制御部724は、変換管理情報更新部723より供給されるクリップ情報やFT情報を、ユーザインタフェース部711を介してリモートクライアント103に供給し、表示させる。つまり、1回分のトランスコード結果が表示に反映される。
子ノード確認部725は、クリップ情報保持部715に、処理対象のクリップの子クリップの、さらに子クリップ(すなわち孫クリップ)のクリップ情報が存在するか否かを判定する。
孫クリップが存在する場合、すなわち、目的のクリップのファイルがまだ復元されておらず、さらにトランスコードを繰り返す必要がある場合、再現モード部717は、処理対象を子ノード(子クリップ)に変更し、各部に上述した処理を再度実行させる。
再現モード部717の各部は、以上の処理を、目的のクリップのファイルが復元されるまで繰り返し実行し、目的のクリップのファイルが復元されると、処理を終了する。
また、モード選択部716は、省略モードが選択された場合、その旨を省略モード部718に通知する。
省略モード部718は、省略モードによってトランスコードを行い、目的のクリップのファイルを復元する。
省略モード部718は、全クリップ情報取得部731、省略パラメータ生成部732、トランスコード部733、変換管理情報更新部734、および表示制御部735を有する。
全クリップ情報取得部731は、クリップ情報保持部715に保持されている全てのクリップ情報を取得し、省略パラメータ生成部732に供給する。
省略パラメータ生成部732は、供給されたクリップ情報に基づいて、処理対象のクリップから目的のクリップファイルを1回のトランスコードで復元する省略パラメータを生成する。省略パラメータ生成部732は、生成した省略パラメータをトランスコード部733に供給する。
トランスコード部733は、省略パラメータを用いて処理対象のクリップをトランスコードし、目的のクリップのファイルを復元する。
目的のクリップのファイルが復元されると、変換管理情報更新部734は、クリップ情報の追加やFT情報の更新を行い、そのトランスコード結果を反映させる。変換管理情報更新部734は、図12の変換管理情報更新部634と基本的に同様の構成を有し、同様の処理を行う。
表示制御部735は、変換管理情報更新部734より供給されるクリップ情報やFT情報を、ユーザインタフェース部711を介してリモートクライアント103に供給し、表示させる。つまり、目的のクリップのファイルを復元するトランスコード結果が表示に反映される。表示制御が終了すると、処理が終了される。
このように、マルチフォーマットトランスコーダ101は、変換管理情報を利用して、指定されたクリップのファイルを容易かつ正確に復元することができる。
このような復元処理の流れの例を、図25のフローチャートを参照して説明する。
ユーザインタフェース部711が、リモートクライアント103から復元要求を取得すると、復元処理が開始される。復元処理が開始されると親CID取得部712は、ステップS211において、ファイルを復元する目的のクリップの親クリップのCID(親CID)を取得する。
ステップS212において、親ファイル情報取得部693は、親CIDを用いてその親クリップのクリップ情報(親クリップ情報)や目的のクリップのクリップ情報を取得する。
ステップS213において、親ノード確認部714は、親クリップ情報を用いて、その親クリップのファイルが存在するか否かを確認する(親ノードを確認する)。ステップS214において、親ノード確認部714は、その確認結果に基づいて、親クリップのファイルが存在するか否か(親ノードが実在するか否か)を判定する。
親クリップのファイルが存在しないと判定された場合、ステップS215に進む。ステップS215において、クリップ情報保持部715は、ステップS212において取得されたクリップ情報を保持する。
ステップS216において、再現モード部717は、処理対象を、現在のクリップの親クリップ(親ノード)に変更する。ステップS216の処理が終了すると、ステップS211に戻り、それ以降の処理が繰り返される。
ステップS214において、親クリップのファイルが存在すると判定された場合、ステップS217に進む。
ステップS217において、モード選択部716は、再現モードか省略モードを選択する。ステップS218において、モード選択部716は、再現モードを選択したか否かを判定する。再現モードを選択したと判定された場合、ステップS219に進む。
ステップS219において、再現モード部717は、再現モードでファイルの復元処理を行う。目的のクリップのファイルが復元されると、復元処理が終了される。
また、ステップS218において、省略モードが選択されたと判定された場合、ステップS220に進む。ステップS220において、省略モード部718は、省略モードでファイルの復元処理を行う。目的のクリップのファイルが復元されると、復元処理が終了される。
次に、図25のステップS219において実行される再現モード処理の流れの例を、図26のフローチャートを参照して説明する。
再現モード処理が開始されると、クリップ情報取得部721は、ステップS251において、処理対象のクリップの子クリップのクリップ情報を取得する。ステップS252において、トランスコード部722は、処理対象のクリップに対してトランスコーディングを行い、子クリップのファイルを復元する。
ステップS253において、変換管理情報更新部723は、変換管理情報更新処理を行い、ステップS252において行われたトランスコードをクリップ情報やFT情報に反映させる。この変換管理情報更新処理は、図13のフローチャートを参照して説明した、変換処理のステップS123乃至ステップS126と同様であるので、その詳細の説明は省略する。
ステップS254において、表示制御部724は、更新されたクリップ情報やFT情報をリモートクライアント103に供給し、表示させる。
ステップS255において、子ノード確認部725は、クリップ情報保持部715に対して、ファイルを復元したクリップのさらに子クリップ(孫ノード)のクリップ情報の存在を確認する。ステップS256において、子ノード確認部725は、その確認結果に基づいて、ファイルを復元したクリップのさらに子クリップ(孫ノード)のクリップ情報がクリップ情報保持部715に保持されているか否かを判定する。存在すると判定された場合、ステップS257に進む。
ステップS257において、再現モード部717は、処理対象を現在のクリップの子クリップに変更する。ステップS257の処理が終了すると、ステップS251に戻り、それ以降の処理が繰り返される。
ステップS256において、孫ノードのクリップ情報が存在しないと判定された場合、再現モード処理が終了され、図25のステップS219に戻り、復元処理が終了される。
次に、図25のステップS220において実行される省略モード処理の流れの例を、図27のフローチャートを参照して説明する。
省略モード処理が開始されると、全クリップ情報取得部731は、ステップS271において、クリップ情報保持部715に保持されている全てのクリップ情報を取得する。ステップS272において、省略パラメータ生成部732は、ステップS271において取得された全てのクリップ情報から省略パラメータを生成する。
ステップS273において、トランスコード部733は、ステップS72において生成された省略パラメータを用いてトランスコーディングを行い、目的のクリップのファイルを復元する。
ステップS274において、変換管理情報更新部734は、変換管理情報更新処理を行い、ステップS273において行われたトランスコードをクリップ情報やFT情報に反映させる。この変換管理情報更新処理は、図13のフローチャートを参照して説明した、変換処理のステップS123乃至ステップS126と同様であるので、その詳細の説明は省略する。
ステップS275において、表示制御部735は、更新されたクリップ情報やFT情報をリモートクライアント103に供給し、表示させる。
ステップS275の処理が終了すると、省略モード処理が終了され、図25のステップS220に戻り、復元処理が終了される。
マルチフォーマットトランスコーダ101は、以上のように各処理を実行することにより、複数世代にわたるトランスコードを必要とする復元処理も、変換管理情報を用いて容易に実現することができる。
例えば、図28に示されるように、FTID741のファミリーツリー(FT)740において、クリップ742乃至クリップ746のうち、クリップ743乃至クリップ745の各ファイルが削除されて存在しないものとする。クリップ745のファイルを復元する場合、マルチフォーマットトランスコーダ101は、変換管理情報を用いて、ファイルが存在するクリップ742を特定し、このクリップ742をトランスコードしてクリップ745のファイルを復元する。
再現モードの場合、マルチフォーマットトランスコーダ101は、矢印751に示されるように、クリップ742からクリップ743のファイルを復元し、矢印752に示されるように、クリップ743からクリップ744のファイルを復元し、矢印753に示されるように、クリップ744からクリップ745のファイルを復元する。
省略モードの場合、マルチフォーマットトランスコーダ101は、省略パラメータを生成し、矢印754に示されるように、クリップ742からクリップ745のファイルを復元する。
つまり、マルチフォーマットトランスコーダ101は、再現モードの場合、どのようなトランスコードが行われていても、目的のクリップのファイルを正確に復元することができ、省略モードの場合、目的のクリップのファイルの復元の負荷を低減させることができる。
したがって、マルチフォーマットトランスコーダ101は、この2つのモードを備えることにより、より多様な変換体系に対してより適切に対応することができる。
なお、マルチフォーマットトランスコーダ101が、再現モード若しくは省略モードのいずれか一方のみを備えるようにしてもよい。
[クリップ削除]
以上のように、マルチフォーマットトランスコーダ101が、ファイルを必要なときに容易に復元することが出来るので、例えば使用頻度の少ないファイルなど、所定の条件を満たすファイルが削除されるようにしてもよい。
例えば、マルチフォーマットトランスコーダ101は、変換管理情報を利用する機能として、所定の条件を満たすファイルを検索して削除することができる。
図29は、このようなファイルの削除に関する主な機能ブロックの例を示す図である。図29に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図29に示されるように、マルチフォーマットトランスコーダ101は、ファイルの削除に関する機能ブロックとして、削除条件取得部761、対象クリップ検索部762、およびファイル削除部763を有する。
削除条件取得部761はファイル削除の条件を取得する。この削除条件は、ユーザに設定される等してもよいし、予め記憶されているようにしてもよいし、例えばメディアサーバ401の空き容量等、他の情報に基づいて算出されるようにしてもよい。
対象クリップ検索部762は、クリップ管理部511やFT管理部521にアクセスし、CDB510に登録されているクリップ情報やFTDB520に管理されるファミリーツリー(FT)に基づいて、削除条件取得部761より供給される削除条件を満たすクリップを検索する。
ファイル削除部763は、ファイル管理部531にアクセスし、FDB530から、対象クリップ検索部762により削除条件を満たすと判定されたクリップのファイルを削除する。
このようにすることにより、マルチフォーマットトランスコーダ101は、ファイルを削除することができ、保存するファイルの総データ量(すなわち、FDB530の容量)を低減させることができる。
このような削除処理の流れの例を、図30のフローチャートを参照して説明する。
削除処理は、例えば、バックグラウンドで常時実行される。または、所定の時刻や所定のイベントが発生した際に、定期的または不定期に実行される。
削除処理が開始されると、ステップS291において、削除条件取得部761は、削除条件を取得する。削除条件が取得されると、ステップS292において、対象クリップ検索部762は、削除条件を満たすクリップ(対象クリップ)を検索する。対象クリップが検索されると、ステップS293において、ファイル削除部763は、対象クリップの削除を行う。対象クリップが削除されると、削除処理が終了する。
このように、マルチフォーマットトランスコーダ101は、変換管理情報を用いて、所定の削除条件を満たすクリップを検索し、そのファイルを削除することができる。これにより、ファイル保存のために必要な容量を低減することができ、コストを低減させることができる。
[複数タスク管理]
マルチフォーマットトランスコーダ101は、トランスコードなどの各処理をタスクとして処理する。マルチフォーマットトランスコーダ101は、このタスクの実行を管理することができ、同時に複数のタスクを並列に実行させることもできる。
図31は、複数タスクの実行管理に関する主な機能ブロックの例を示す図である。図31に示される各機能ブロックは、マルチフォーマットトランスコーダアプリケーション422が実行されることにより実現される。
図31に示されるように、マルチフォーマットトランスコーダ101は、複数タスクの実行管理に関する機能ブロックとして、トランスコード部771−1乃至トランスコード部771−N、タスク管理部772、およびタスク実行部773を有する。
トランスコード部771−1乃至トランスコード部771−Nは、N個の互いに独立したトランスコード部であり、それぞれが、例えば図12のトランスコード部633と基本的に同様の処理部である。トランスコード部771−1乃至トランスコード部771−Nは、それぞれ、トランスコード処理をタスクとして発行する。以下において、トランスコード部771−1乃至トランスコード部771−Nを互いに区別して説明する必要が無い場合、単に、トランスコード部771と称する。
タスク管理部772は、トランスコード部771から供給されるタスクの実行を管理する。タスク管理部772は、タスク受付部781、監視部782、および実行指示部783を有する。
タスク受付部781は、トランスコード部771から供給されるタスクを受け付ける。監視部782は、タスクが実行されるタスク実行部773のタスク実行状況を監視し、タスク実行部773が新たなタスクを実行可能である場合、実行指示部783にその旨を通知する。実行指示部783は、監視部782より許可が下りた場合、タスク受付部781により受け付けられたタスクを、タスク実行部773に供給し、実行させる。
タスク実行部773は、例えば図6のアクセラレータ412を示す。タスク実行部773は、複数のタスクを同時に並列に実行することができる。タスク実行部773は、実行指示部783の指示にしたがって、供給されるタスクを実行する。
図32のフローチャートを参照して、このようなタスクの実行の管理を行うタスク管理処理の流れの例を説明する。
タスク管理処理が開始されると、タスク受付部781は、ステップS311において、タスクを受け付ける。ステップS312において、監視部782は、タスク実行部773において実行中のタスクを監視する。ステップS313において、監視部782は、タスクを追加可能であるか否かを判定する。追加可能であると判定された場合、ステップS314に進む。
ステップS314において、実行指示部783は、保持しているタスクをタスク実行部773に供給し、実行させる。ステップS314の処理が終了すると、ステップS315に進む。また、ステップS313において、タスクを追加できないと判定された場合、ステップS315に進む。
ステップS315において、タスク管理部772は、タスク管理処理を終了するか否かを判定する。終了しないと判定された場合、ステップS311に戻り、それ以降の処理が繰り返される。終了すると判定された場合、タスク管理処理が終了する。
以上のようにして、マルチフォーマットトランスコーダ101は、タスクの実行を管理するので、複数のタスクを並列に同時に実行することができる。
これにより、例えば、図33に示されるように、複数のリモートクライアント103からの要求を並列に受け付け、インジェスト処理やトランスコード等、様々な処理を適切にスケジューリングして並列に実行することができる。これにより、効率よく処理が実行される変換システム100を実現することができる。
なお、変換システム100の構成は任意であり、例えば、図34に示されるように、N個のマルチフォーマットトランスコーダ101が連携して動作するようにし、複数のリモートクライアントからの要求を、分散して処理することができるようにしてもよい。
これにより、各マルチフォーマットトランスコーダ101の負荷を低減させることができ、より多くのタスクをより高速に処理することができる。
[ソフトウェア]
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図4や図5に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア221若しくはリムーバブルメディア321により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM202若しくはROM302や、記憶部213若しくは記憶部313に含まれるハードディスクなどで構成される。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。