(57)【要約】【課題】低コスト、かつ、高速に、マルチトランスコードする。【解決手段】デコーダ８２は、複数のサブプロセッサのいずれかにMPEGデコードプログラムをロードさせ、デコード処理を実行させる。このデコード処理の際に得られたサブデータは、サブデータ変換部８３に供給される。サブデータ変換部８３は、サブデータをトランスコードテーブルに変換し、メインメモリ３２に記憶させる。フィルタ部８４は、複数のサブプロセッサのいずれかに高画質化フィルタプログラムをロードさせ、フィルタ処理を実行させる。エンコーダ８５は、複数のサブプロセッサのいずれかにエンコーダプログラムをロードさせ、トランスコード処理を実行させる。このときエンコーダ８５は、メインメモリ３２に記憶されているサブデータに基づくトランスコードテーブルを参照し、トランスコード処理を実行する。本発明は、ホームサーバに適用することができる。【選択図】図９
2006020147.tif 000002
【特許請求の範囲】
【請求項１】
複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置において、
前記複数の演算部の負荷を管理する管理手段と、
前記管理手段による管理に基づいて、第１の演算部に、前記符号化された画像データを供給する第１の供給手段と、
前記第１の供給手段により供給された、前記符号化された画像データを復号する復号手段と、
前記復号手段による復号時に得られたサブデータを記憶する記憶手段と、
前記管理手段による管理に基づいて、第２の演算部に、前記記憶手段に記憶されている前記サブデータ、および、前記復号手段により復号されたデータを供給する第２の供給手段と、
前記第２の供給手段により供給された前記サブデータに基づいて、前記復号手段により復号されたデータを符号化する符号化手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記記憶手段は、復号するためのプログラム、および、他の圧縮方式に符号化するためのプログラムをさらに記憶し、
前記第１の供給手段は、前記第１の演算部に、前記記憶手段に記憶されている前記復号するためのプログラムを供給し、
前記第２の供給手段は、前記第２の演算部に、前記記憶手段に記憶されている前記他の圧縮方式に符号化するためのプログラムを供給する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理手段による管理に基づいて、第３の演算部に、前記復号手段により復号されたデータを供給する第３の供給手段と、
前記第３の供給手段により供給された、前記復号手段により復号されたデータを高画質化処理する高画質化手段と
をさらに備えることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記記憶手段は、高画質化処理するためのプログラムをさらに記憶し、
前記第３の供給手段は、前記第３の演算部に、前記記憶手段に記憶されている前記高画質化処理するためのプログラムを供給する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記管理手段は、メインプロセッサであり、
前記複数の演算部は、複数のサブプロセッサである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理方法において、
前記複数の演算部の負荷を管理する管理ステップと、
前記管理ステップの処理による管理に基づいて、第１の演算部に、前記符号化された画像データを供給する第１の供給ステップと、
前記第１の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
前記管理ステップによる管理に基づいて、第２の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第２の供給ステップと、
前記第２の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理を、コンピュータに行わせるプログラムにおいて、
前記複数の演算部の負荷を管理する管理ステップと、
前記管理ステップの処理による管理に基づいて、第１の演算部に、前記符号化された画像データを供給する第１の供給ステップと、
前記第１の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
前記管理ステップによる管理に基づいて、第２の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第２の供給ステップと、
前記第２の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項８】
複数の演算部を有し、符号化された画像データをさらに他の圧縮方式に符号化する情報処理装置の情報処理を、コンピュータに行わせるプログラムにおいて、
前記複数の演算部の負荷を管理する管理ステップと、
前記管理ステップの処理による管理に基づいて、第１の演算部に、前記符号化された画像データを供給する第１の供給ステップと、
前記第１の供給ステップの処理により供給された、前記符号化された画像データを復号する復号ステップと、
前記復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、
前記管理ステップによる管理に基づいて、第２の演算部に、前記記憶ステップの処理で記憶された前記サブデータ、および、前記復号ステップの処理により復号されたデータを供給する第２の供給ステップと、
前記第２の供給ステップの処理により供給された前記サブデータに基づいて、前記復号ステップの処理により復号されたデータを符号化する符号化ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、例えば、圧縮されたストリームを他の圧縮形式に変換する場合において、圧縮されたストリームを復号した際に得られるサブデータを利用して再符号化することができるようにした情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
例えば、MPEG（Moving Picture Experts Group）2などで符号化された映像情報から、MPEG4などの他のコーデックやビットレートの異なるMPEG2で符号化された映像情報へ形式変換する場合、通常、入力されたMPEGストリームが一旦復号され、復号されたデータが他のエンコーダに入力され、そこで他の形式に変換される。この一連の処理は、トランスコードと呼ばれている。
【０００３】
トランスコードする際、復号時に得られる動きベクトルやDCT（Discrete Cosine Transform）係数などのサブデータを再利用し、処理を高速化する技術が提案されている（例えば、特許文献１および特許文献２参照）。
【０００４】
【特許文献１】特開２００２−１８５９６９号公報
【特許文献２】特開２００３−１１６１０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特許文献の技術では、単一のトランスコードを行うことのみを想定しており、ホームサーバのような他の機器と連携しながら映像情報の復号および符号化を行う機器の場合、多様な複数のトランスコードを同時にスケーラブルに行う必要がある。
【０００６】
しかしながら、これらの技術では、マルチトランスコードを実現するために、複数の専用ハードウェアを搭載するか、あるいは、汎用プロセッサ上に複数のプロセススレッドを生成しなければならない課題があった。
【０００７】
そして、複数の専用ハードウェアを搭載した場合には、ハードウェア化の際のコスト負担が大きくなり、複数のプロセススレッドを生成した場合には、計算資源の競合に起因して計算資源が不足し、スムーズにトランスコードを行うことができない課題があった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、低コスト、かつ、高速にマルチトランスコードを行うことができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、複数の演算部の負荷を管理する管理手段と、管理手段による管理に基づいて、第１の演算部に、符号化された画像データを供給する第１の供給手段と、第１の供給手段により供給された、符号化された画像データを復号する復号手段と、復号手段による復号時に得られたサブデータを記憶する記憶手段と、管理手段による管理に基づいて、第２の演算部に、記憶手段に記憶されているサブデータ、および、復号手段により復号されたデータを供給する第２の供給手段と、第２の供給手段により供給されたサブデータに基づいて、復号手段により復号されたデータを符号化する符号化手段とを備えることを特徴とする。
【００１０】
前記記憶手段は、復号するためのプログラム、および、他の圧縮方式に符号化するためのプログラムをさらに記憶し、第１の供給手段は、第１の演算部に、記憶手段に記憶されている復号するためのプログラムを供給し、第２の供給手段は、第２の演算部に、記憶手段に記憶されている他の圧縮方式に符号化するためのプログラムを供給するようにすることができる。
【００１１】
前記管理手段による管理に基づいて、第３の演算部に、復号手段により復号されたデータを供給する第３の供給手段と、第３の供給手段により供給された、復号手段により復号されたデータを高画質化処理する高画質化手段とをさらに設けるようにすることができる。
【００１２】
前記記憶手段は、高画質化処理するためのプログラムをさらに記憶し、第３の供給手段は、第３の演算部に、記憶手段に記憶されている高画質化処理するためのプログラムを供給するようにすることができる。
【００１３】
前記管理手段は、メインプロセッサであり、複数の演算部は、複数のサブプロセッサであるものとすることができる。
【００１４】
本発明の情報処理方法は、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第１の演算部に、符号化された画像データを供給する第１の供給ステップと、第１の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第２の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第２の供給ステップと、第２の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含むことを特徴とする。
【００１５】
本発明の記録媒体に記録されているプログラムは、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第１の演算部に、符号化された画像データを供給する第１の供給ステップと、第１の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第２の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第２の供給ステップと、第２の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含む処理をコンピュータに行わせることを特徴とする。
【００１６】
本発明のプログラムは、複数の演算部の負荷を管理する管理ステップと、管理ステップの処理による管理に基づいて、第１の演算部に、符号化された画像データを供給する第１の供給ステップと、第１の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップと、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップと、管理ステップによる管理に基づいて、第２の演算部に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第２の供給ステップと、第２の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップとを含む処理をコンピュータに行わせることを特徴とする。
【００１７】
本発明においては、複数の演算部の負荷が管理され、第１の演算部に符号化された画像データが供給されて復号され、復号時に得られたサブデータが記憶され、第２の演算部にサブデータおよび復号データが供給され、サブデータに基づいて復号データが符号化される。
【発明の効果】
【００１８】
本発明によれば、入力されたストリームをトランスコードすることができる。特に、トランスコードの負荷を分散させることにより、低コスト、かつ、高速に、入力されたストリームをマルチトランスコードすることが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明を実施するための最良の形態を説明するが、明細書中に記載の発明と、実施の形態との対応関係を例示すると、次のようになる。明細書には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、明細書に記載されている実施の形態に対応するすべての発明が、記載されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている他の発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載の情報処理装置（例えば、図２の管理装置１１）は、複数の演算部の負荷を管理する管理手段（例えば、図２のメインプロセッサ４２）と、管理手段による管理に基づいて、第１の演算部（例えば、図２のサブプロセッサ４３−１）に、符号化された画像データを供給する第１の供給手段（例えば、図１４のステップＳ５の処理を実行する図２のメインプロセッサ４２）と、第１の供給手段により供給された、符号化された画像データを復号する復号手段（例えば、図１５のステップＳ３１乃至Ｓ４１の処理を実行する図９のデコーダ８２）と、復号手段による復号時に得られたサブデータを記憶する記憶手段（例えば、図１４のステップＳ８の処理を実行するサブプロセッサ４３−１）と、管理手段による管理に基づいて、第２の演算部（例えば、図２のサブプロセッサ４３−２）に、記憶手段に記憶されているサブデータ、および、復号手段により復号されたデータを供給する第２の供給手段（例えば、図１４のステップＳ１４の処理を実行する図２のメインプロセッサ４２）と、第２の供給手段により供給されたサブデータに基づいて、復号手段により復号されたデータを符号化する符号化手段（例えば、図１６のステップＳ６１乃至Ｓ７２の処理を実行する図９のエンコーダ８５）とを備えることを特徴とする。
【００２２】
請求項３に記載の情報処理装置は、管理手段による管理に基づいて、第３の演算部（例えば、サブプロセッサ４３−３）に、復号手段により復号されたデータを供給する第３の供給手段（例えば、図１４のステップＳ１１の処理を実行する図２のメインプロセッサ４２）と、第３の供給手段により供給された、復号手段により復号されたデータを高画質化処理する高画質化手段（例えば、図１４のステップＳ１２の処理を実行する図９のフィルタ部８４）とをさらに備えることを特徴とする。
【００２３】
請求項６に記載の情報処理方法は、複数の演算部の負荷を管理する管理ステップ（例えば、図２のメインプロセッサ４２が実行する処理）と、管理ステップの処理による管理に基づいて、第１の演算部（例えば、図２のサブプロセッサ４３−１）に、符号化された画像データを供給する第１の供給ステップ（例えば、図１４のステップＳ５）と、第１の供給ステップの処理により供給された、符号化された画像データを復号する復号ステップ（例えば、図１５のステップＳ３１乃至Ｓ４１）と、復号ステップの処理による復号時に得られたサブデータを記憶する記憶ステップ（例えば、図１４のステップＳ８）と、管理ステップによる管理に基づいて、第２の演算部（例えば、図２のサブプロセッサ４３−２）に、記憶ステップの処理で記憶されたサブデータ、および、復号ステップの処理により復号されたデータを供給する第２の供給ステップ（例えば、図１４のステップＳ１４）と、第２の供給ステップの処理により供給されたサブデータに基づいて、復号ステップの処理により復号されたデータを符号化する符号化ステップ（例えば、図１６のステップＳ６１乃至Ｓ７２）とを含むことを特徴とする。
【００２４】
なお、請求項７に記載の記録媒体に記録されているプログラム、および請求項８に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項６に記載の情報処理方法と同様である。
【００２５】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２６】
図１は、本発明を適用した通信システム１の一実施の形態の構成例を示す図である。この通信システム１においては、セルネットワークなどの通信網１２を介して、管理装置１１、ディスク記録装置１３、および端末装置１４−１乃至１４−ｎが相互に接続されている。
【００２７】
管理装置１１は、内部にハードディスクなどの記録部３３−１，３３−２（図２）を備えるとともに、デジタルテレビジョン放送を受信すること、受信したデジタルテレビジョン放送をディスプレイなどの出力部３５（図２）に出力することや記録部３３−１，３３−２に記録（録画）すること、通信網１２を介してストリーミング配信すること、および、DVD(Digital Versatile Disk)±RW(Re-writable)などの外部記録媒体に書き出す機能を有するハードディスクレコーダなどの録画機器（ホームサーバ）である。
【００２８】
管理装置１１は、分散処理の実行が指示されると、要求された処理を実行するために必要なデータおよびプログラムを含むソフトウェアセルを生成し、生成したソフトウェアセルを、通信網１２を介して、ディスク記録装置１３または端末装置１４−１乃至１４−ｎあてに送信する。また管理装置１１は、ディスク記録装置１３または端末装置１４−１乃至１４−ｎから送信されてきたデータを受信し、受信したデータを基に、所定の処理を実行するか、受信したデータを記録する。
【００２９】
ディスク記録装置１３は、管理装置１１から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理（例えば、図示せぬ外部記録媒体への記録処理）を実行する。またディスク記録装置１３は、要求された処理を実行してから、要求された処理の結果得られたデータを、通信網１２を介して管理装置１１あてに送信する。
【００３０】
端末装置１４−１乃至１４−ｎは、それぞれ、管理装置１１から送信されてきたソフトウェアセルを受信し、受信したソフトウェアセルを基に、要求された処理（例えば、ストリーミング再生処理）を実行する。また端末装置１４−１乃至１４−ｎは、それぞれ、要求された処理を実行してから、要求された処理の結果得られたデータを、通信網１２を介して管理装置１１あてに送信する。以下、端末装置１４−１乃至１４−ｎを個々に区別する必要がない場合、単に、端末装置１４と称する。
【００３１】
以上のように、管理装置１１は、ディスク記録装置１３および端末装置１４と連携して動作するものであって、１つの実行すべきプログラムを任意の処理単位で分割し、セル化したソフトウェアセルを適宜分散して処理し、各装置で得られた処理結果をまとめることにより、１つのプログラムを互いに連携して実行するものである。
【００３２】
図２は、管理装置１１の内部の構成例を示すブロック図である。
【００３３】
管理装置１１は、情報処理コントローラ３１、メインメモリ３２、記録部３３−１、記録部３３−２、バス３４、出力部３５、通信部３６、およびドライブ３７を含むように構成される。
【００３４】
情報処理コントローラ３１は、メインメモリ３２に記録されている各種のプログラムを実行し、管理装置１１全体を制御する。情報処理コントローラ３１は、ソフトウェアセルを生成し、生成したソフトウェアセルを、バス３４を介して、通信部３６に供給する。情報処理コントローラ３１は、通信部３６から供給されたデータを記録部３３−１または記録部３３−２に供給する。情報処理コントローラ３１は、入力部（図示せず）からの指令に基づいて、指定されたデータを、メインメモリ３２、記録部３３−１または記録部３３−２から取得し、取得したデータをバス３４を介して出力部３５に供給する。
【００３５】
また、情報処理コントローラ３１には、管理装置１１を、通信網１２全体を通して一意的に特定できる装置ＩＤが割り当てられている。
【００３６】
情報処理コントローラ３１は、バス４１、メインプロセッサ４２、サブプロセッサ４３−１乃至サブプロセッサ４３−３、DMAC（Direct Memory Access Controller）４４、キー管理テーブル記録部４５、およびＤＣ（Disk Controller）４６を備えている。
【００３７】
メインプロセッサ４２、サブプロセッサ４３−１乃至４３−３、DMAC４４、キー管理テーブル記録部４５、およびＤＣ４６は、バス４１を介して、相互に接続されている。また、メインプロセッサ４２には、メインプロセッサ４２を特定するためのメインプロセッサＩＤが識別子として割り当てられる。同様に、サブプロセッサ４３−１乃至４３−３のには、それぞれ、サブプロセッサ４３−１乃至４３−３を特定するためのサブプロセッサＩＤが識別子として割り当てられる。
【００３８】
メインプロセッサ４２は、サブプロセッサ４３−１乃至４３−３によるプログラムの実行のスケジュール管理および情報処理コントローラ３１（管理装置１１）の全体の管理を行う。メインプロセッサ４２は、ローカルストレージ５１−１を備え、メインメモリ３２からロードしたデータおよびプログラムを、ローカルストレージ５１−１に一時的に記憶させる。メインプロセッサ４２は、ローカルストレージ５１−１からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００３９】
メインプロセッサ４２は、通信網１２を介して接続されている、ディスク記録装置１３または端末装置１４に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルをバス４１およびバス３４を介して、通信部３６に供給する。また、メインプロセッサ４２は、ディスク記録装置１３または端末装置１４より通信部３６を介して供給された処理結果を収集する。さらに、メインプロセッサ４２は、管理のためのプログラム以外のプログラムを実行するように構成することもできる。この場合、メインプロセッサ４２は、サブプロセッサとして機能する。
【００４０】
サブプロセッサ４３−１乃至４３−３は、メインプロセッサ４２の制御の基、並列的かつ独立に、ソフトウェアセルを実行し、データを処理する。さらに、必要に応じて、メインプロセッサ４２が実行するプログラムが、サブプロセッサ４３−１乃至４３−３のそれぞれが実行するプログラムと連携して動作するように構成することも可能である。
【００４１】
サブプロセッサ４３−１乃至４３−３は、それぞれ、ローカルストレージ５１−２乃至５１−４を備える。また、サブプロセッサ４３−１乃至４３−３は、それぞれ必要に応じて、データおよびプログラムを、ローカルストレージ５１−２乃至５１−４に一時的に記憶させる。サブプロセッサ４３−１乃至４３−３は、それぞれ、ローカルストレージ５１−２乃至５１−４からデータおよびプログラムを読み込み、読み込んだデータおよびプログラムを基に、各種の処理を実行する。
【００４２】
以下、サブプロセッサ４３−１乃至４３−３を個々に区別する必要がない場合、単に、サブプロセッサ４３と称する。同様に、以下、ローカルストレージ５１−１乃至５１−４を個々に区別する必要がない場合、単に、ローカルストレージ５１と称する。
【００４３】
DMAC４４は、キー管理テーブル記録部４５に記録されている、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを基に、メインプロセッサ４２およびサブプロセッサ４３からのメインメモリ３２に記憶されているプログラムおよびデータへのアクセスを管理する。
【００４４】
キー管理テーブル記録部４５は、メインプロセッサキー、サブプロセッサキー、およびアクセスキーを記録している。なお、メインプロセッサキー、サブプロセッサキー、およびアクセスキーの詳細は後述する。
【００４５】
ＤＣ４６は、メインプロセッサ４２およびサブプロセッサ４３からの記録部３３−１および記録部３３−２へのアクセスを管理する。
【００４６】
メインメモリ３２は、例えば、RAMから構成される。メインメモリ３２は、メインプロセッサ４２およびサブプロセッサ４３が実行する各種のプログラムおよびデータを一時的に記憶している。すなわち、図３に示されるように、メインメモリ３２には、例えば、受信したMPEG元データ、復号されたデータ、トランスコードされたMPEG2データ、システム管理クラス、トランスコードされたAVC（Variable Length Coding）データ、およびサブデータなどが記憶されている。ここで、トランスコードとは、圧縮されたデータを復号し、さらに他の圧縮形式に符号化する一連の処理である。サブデータとは、例えば、復号時に生成される動きベクトルやDCT係数などである。
【００４７】
記録部３３−１，３３−２は、それぞれ、例えば、ハードディスクなどにより構成される。記録部３３−１，３３−２は、メインプロセッサ４２およびサブプロセッサ４３が実行する各種のプログラムおよびデータを記録している。また、記録部３３−１，３３−２は、情報処理コントローラ３１から供給されたデータを記録する。以下、記録部３３−１，３３−２を個々に区別する必要がない場合、単に、記録部３３と称する。
【００４８】
また、情報処理コントローラ３１には、バス３４を介して、出力部３５、通信部３６、およびドライブ３７が接続されている。出力部３５は、例えば、ディスプレイ、スピーカ、およびランプなどよりなり、情報処理コントローラ３１から供給されたデータを出力する。
【００４９】
通信部３６は、情報処理コントローラ３１から供給されたソフトウェアセルを、通信網１２を介してディスク記録装置１３または端末装置１４あてに送信する。また、通信部３６は、ディスク記録装置１３または端末装置１４から送信されてきたデータを、バス３４を介して、情報処理コントローラ３１に供給する。
【００５０】
ドライブ３７は、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、あるいは半導体メモリ６４などのリムーバブルメディアが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて、バス３４を介して、情報処理コントローラ３１に転送され、情報処理コントローラ３１によって、記録部３３に記録される。
【００５１】
なお、ディスク記録装置１３および端末装置１４は、管理装置１１と同様に構成されるので、その説明は省略する。ディスク記録装置１３および端末装置１４は上述した構成に限らず、必要に応じて、機能を追加したり削除したりすることは可能であり、その機能に対応した構成をもつことが可能である。
【００５２】
次に、図４乃至図６を参照して、サブプロセッサ４３がメインメモリ３２にアクセスする場合の処理について説明する。
【００５３】
図４で示されるように、メインメモリ３２には、複数のアドレスを指定できるメモリロケーションが配置される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤおよびＬＳアドレス（ローカルストレージアドレス）を含む。また、各メモリロケーションには、後述するアクセスキーが割り振られる。
【００５４】
“０”であるＦ／Ｅビットは、サブプロセッサ４３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、そのメモリロケーションから読み出し不可であることを示す。また、“０”であるＦ／Ｅビットは、そのメモリロケーションにデータ書き込み可能であることを示し、データが書き込まれると、Ｆ／Ｅビットは“１”に設定される。
【００５５】
“１”であるＦ／Ｅビットは、そのメモリロケーションのデータがサブプロセッサ４３によって読み出されておらず、未処理の最新データであることを示す。Ｆ／Ｅビットが“１”であるメモリロケーションのデータは読み出し可能であり、サブプロセッサ４３によって読み出されてから、Ｆ／Ｅビットは“０”に設定される。また、“１”であるＦ／Ｅビットは、メモリロケーションがデータ書き込み不可であることを示す。
【００５６】
さらに、Ｆ／Ｅビットが“０”（読み出し不可／書き込み可）である状態において、メモリロケーションについて読み出し予約を設定することが可能である。Ｆ／Ｅビットが“０”であるメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ４３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報としてサブプロセッサ４３のサブプロセッサＩＤおよびＬＳアドレスを書き込む。そして、データを書き込むサブプロセッサ４３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビットが“１”（読み出し可／書き込み不可）に設定されたとき、あらかじめ読み出し予約情報として追加セグメントに書き込まれているサブプロセッサＩＤおよびＬＳアドレスによって特定されるローカルストレージ５１に読み出される。
【００５７】
複数のサブプロセッサ４３によってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出しおよび書き込みを制御することによって、前段階の処理を行うサブプロセッサ４３が、処理済みのデータをメインメモリ３２における所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ４３が前処理後のデータを読み出すことが可能となる。
【００５８】
また、図５で示されるように、サブプロセッサ４３のローカルストレージ５１は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含む。
【００５９】
サブプロセッサ４３がメインメモリ３２に記憶されているデータをサブプロセッサ４３のローカルストレージ５１のメモリロケーションに読み出すときには、対応するビジービットを“１”に設定して予約する。ビジービットが“１”であるメモリロケーションには、他のデータを格納することができない。ローカルストレージ５１のメモリロケーションにデータが読み出されると、ビジービットは“０”に設定され、他のデータを格納することができるようになる。
【００６０】
さらに、図４で示すように情報処理コントローラ３１に接続されているメインメモリ３２には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ３２内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ４３に割り当てられ、割り当てられたサブプロセッサ４３が排他的に使用することができる。すなわち、サブプロセッサ４３は、割り当てられたサンドボックスを使用できるが、この領域を超えてデータにアクセスすることはできない。
【００６１】
メインメモリ３２は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【００６２】
さらに、メインメモリ３２の排他的な制御を実現するために、図６で示されるキー管理テーブルが用いられる。キー管理テーブルは、キー管理テーブル記録部４５に記録され、DMAC４４と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキーおよびキーマスクが含まれる。
【００６３】
サブプロセッサ４３がメインメモリ３２にアクセスする場合、サブプロセッサ４３はDMAC４４に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、サブプロセッサ４３を特定するサブプロセッサＩＤおよびアクセス要求先であるメインメモリ３２のアドレスが含まれる。
【００６４】
DMAC４４は、サブプロセッサ４３から供給されたコマンドを実行する場合、キー管理テーブルを参照して、アクセス要求元のサブプロセッサ４３のサブプロセッサキーを調べる。そして、DMAC４４は、調べたアクセス要求元のサブプロセッサキーと、アクセス要求先であるメインメモリ３２のメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、サブプロセッサ４３から供給されたコマンドを実行する。
【００６５】
図６は、キー管理テーブルの例を示す図である。キー管理テーブルに記録されているキーマスクは、その任意のビットが“１”になることによって、そのキーマスクと関連付けられたサブプロセッサキーの対応するビットを“０”または“１”にすることができる。
【００６６】
例えば、サブプロセッサキーが“１０１０”であるとする。通常、このサブプロセッサキーによって“１０１０”のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが“０００１”に設定されている場合には、キーマスクのビットが“１”に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ（キーマスクのビットが“１”に設定された桁について、判定されず）、このサブプロセッサキー“１０１０”によってアクセスキーが“１０１０”または“１０１１”のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【００６７】
以上のようにして、メインメモリ３２のサンドボックスの排他性が実現される。すなわち、複数のサブプロセッサ４３によってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサ４３と、後段階の処理を行うサブプロセッサ４３のみが、メインメモリ３２の所定のアドレスにアクセスできるようになり、データを保護することができる。
【００６８】
例えば、キーマスクの値は、以下のように変更されることが考えられる。まず、管理装置１１の起動直後においては、キーマスクの値は全て“０”である。メインプロセッサ４２にロードされたプログラムが実行され、サブプロセッサ４３にロードされたプログラムと連携動作するものとする。サブプロセッサ４３−１により出力された処理結果データを、メインメモリ３２に記憶させ、メインメモリ３２に記憶させた処理結果データを、サブプロセッサ４３−２に入力したいときには、サブプロセッサ４３−１により出力された処理結果データを記憶しているメインメモリ３２の領域は、サブプロセッサ４３−１およびサブプロセッサ４３−２からアクセス可能である必要がある。そのような場合に、メインプロセッサ４２は、キーマスクの値を適切に変更し、複数のサブプロセッサ４３からアクセスできるメインメモリの領域を設けることにより、サブプロセッサ４３による多段階的の処理を可能にする。
【００６９】
より具体的には、例えば、ディスク記録装置１３または端末装置１４から送信されてきた、データを基に、サブプロセッサ４３−１が所定の処理を実行し、処理が施されたデータをメインメモリ３２の第１の領域に記憶させる。そして、サブプロセッサ４３−２は、メインメモリ３２の第１の領域から、記憶されているデータを読み出し、読み出したデータを基に、所定の処理を実行し、処理が施されたデータをメインメモリ３２の第１の領域とは、異なる第２の領域に記憶させる。
【００７０】
ここで、サブプロセッサ４３−１のサブプロセッサキーが“０１００”であり、メインメモリ３２の第１の領域のアクセスキーが“０１００”であり、サブプロセッサ４３−２のサブプロセッサキーが“０１０１”であり、メインメモリ３２の第２の領域のアクセスキーが“０１０１”である場合、サブプロセッサ４３−２は、メインメモリ３２の第１の領域にアクセスすることができない。そこで、サブプロセッサ４３−２のキーマスクを“０００１”にすることによって、サブプロセッサ４３−２は、メインメモリ３２の第１の領域にアクセスすることができるようになる。
【００７１】
次に、図７および図８を参照して、管理装置１１がソフトウェアセルを生成し、生成したソフトウェアセルを基に、ディスク記録装置１３または端末装置１４に分散処理を実行させる場合の処理について説明する。
【００７２】
管理装置１１のメインプロセッサ４２は、処理を実行するために必要なコマンド、プログラム、およびデータを含むソフトウェアセルを生成し、通信網１２を介してディスク記録装置１３または端末装置１４あてに送信する。
【００７３】
図７は、ソフトウェアセルの構成例を示す図である。
【００７４】
ソフトウェアセルは、例えば、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、DMAコマンド、プログラム、およびデータを含むように構成される。
【００７５】
送信元ＩＤには、ソフトウェアセルの送信元である管理装置１１のネットワークアドレスおよび管理装置１１の情報処理コントローラ３１の装置ＩＤ、さらに、管理装置１１の情報処理コントローラ３１が備えるメインプロセッサ４２およびサブプロセッサ４３の識別子（メインプロセッサＩＤおよびサブプロセッサＩＤ）が含まれる。
【００７６】
送信先ＩＤには、ソフトウェアセルの送信先であるディスク記録装置１３または端末装置１４のネットワークアドレス、ディスク記録装置１３または端末装置１４の情報処理コントローラの装置ＩＤ、およびディスク記録装置１３または端末装置１４の情報処理コントローラが備えるメインプロセッサおよびサブプロセッサの識別子が含まれる。
【００７７】
また、応答先ＩＤには、ソフトウェアセルの実行結果の応答先である管理装置１１のネットワークアドレス、管理装置１１の情報処理コントローラ３１の装置ＩＤ、および情報処理コントローラ３１が備えるメインプロセッサ４２およびサブプロセッサ４３の識別子が含まれる。
【００７８】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ、および前回のソフトウェアセルＩＤから構成される。
【００７９】
グローバルＩＤは、通信網１２全体を通してソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ、およびソフトウェアセルの生成または送信の日時（日付および時刻）を基に、生成される。
【００８０】
必要なサブプロセッサの情報は、ソフトウェアセルの実行に必要なサブプロセッサの数が設定される。サンドボックスサイズは、ソフトウェアセルの実行に必要なメインメモリおよびサブプロセッサのローカルストレージのメモリ量が設定される。
【００８１】
前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１つのグループを構成するソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【００８２】
ソフトウェアセルの実行セクションは、DMAコマンド、プログラムおよびデータから構成される。DMAコマンドには、プログラムの起動に必要な一連のDMAコマンドが含まれ、プログラムには、サブプロセッサによって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【００８３】
さらに、DMAコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、およびステータス返信コマンドが含まれる。
【００８４】
ロードコマンドは、メインメモリが記憶している情報をサブプロセッサのローカルストレージにロードさせるコマンドであり、ロードコマンドのほかに、メインメモリアドレス、サブプロセッサＩＤおよびＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリの所定の領域のアドレスを示す。サブプロセッサＩＤおよびＬＳアドレスは、情報のロード先であるサブプロセッサの識別子およびローカルストレージのアドレスを示す。
【００８５】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンドの他に、サブプロセッサＩＤおよびプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサを識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【００８６】
機能プログラム実行コマンドは、ある装置（例えば、管理装置１１）が他の装置（例えば、ディスク記録装置１３または端末装置１４）に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した装置（例えば、ディスク記録装置１３または端末装置１４）の情報処理コントローラは、機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【００８７】
ステータス要求コマンドは、送信先ＩＤで示されるディスク記録装置１３または端末装置１４の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される管理装置１１あてに送信要求するコマンドである。
【００８８】
ステータス返信コマンドは、ステータス要求コマンドを受信したディスク記録装置１３または端末装置１４が、装置情報をステータス要求コマンドに含まれる応答先ＩＤで示される管理装置１１に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【００８９】
図８は、DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造例を示す図である。
【００９０】
装置ＩＤは、情報処理コントローラを備えるディスク記録装置１３または端末装置１４を識別するための識別子であり、ステータス返信コマンドを送信するディスク記録装置１３または端末装置１４のＩＤを示す。装置ＩＤは、例えば、装置の電源をオンしたとき、ディスク記録装置１３または端末装置１４の情報処理コントローラに含まれるメインプロセッサによって、装置の電源をオンしたときの日時、ディスク記録装置１３または端末装置１４のネットワークアドレス、およびディスク記録装置１３または端末装置１４の情報処理コントローラに含まれるサブプロセッサの数などに基づいて生成される。
【００９１】
装置種別ＩＤには、ディスク記録装置１３または端末装置１４の特徴を表す値が含まれる。ディスク記録装置１３または端末装置１４の特徴とは、ディスク記録装置１３または端末装置１４がどのような装置であるかを示す情報であり、例えば、ディスク記録装置１３または端末装置１４が、ハードディスクレコーダ、PDA（Personal Digital Assistants）、ポータブルＣＤ（Compact Disc）プレーヤなどであることを示す情報である。また、装置種別ＩＤは、映像音声記録、映像音声再生など、ディスク記録装置１３または端末装置１４の機能を表すものであってもよい。ディスク記録装置１３または端末装置１４の特徴や機能を表す値は予め決定されているものとし、装置種別ＩＤを読み出すことにより、ディスク記録装置１３または端末装置１４の特徴や機能を把握することが可能である。
【００９２】
メインプロセッサ動作周波数は、情報処理コントローラのメインプロセッサの動作周波数を表す。メインプロセッサ使用率は、メインプロセッサで現在動作している全てのプログラムについての、メインプロセッサでの使用率を表す。メインプロセッサ使用率は、メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えば、プロセッサ処理能力評価のための単位であるMIPS（Million Instructions Per Second）を単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。
【００９３】
サブプロセッサ数は、情報処理コントローラが備えるサブプロセッサの数を表す。サブプロセッサＩＤは、情報処理コントローラのサブプロセッサを識別するための識別子である。
【００９４】
サブプロセッサステータスは、サブプロセッサの状態を表すものであり、“unused”、“reserved”、および“busy”などの状態がある。“unused”は、サブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。“reserved”は、現在は使用されていないが、予約されている状態を示す。“busy”は、現在使用中であることを示す。
【００９５】
サブプロセッサ使用率は、サブプロセッサで現在実行している、またはサブプロセッサに実行が予約されているプログラムについての、サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスが“busy”である場合には、現在の使用率を示し、サブプロセッサステータスが“reserved”である場合には、後に使用される予定の推定使用率を示す。
【００９６】
サブプロセッサＩＤ、サブプロセッサステータスおよびサブプロセッサ使用率は、１つのサブプロセッサに対して一組設定され、１つの情報処理コントローラのサブプロセッサに対応する組数が設定される。
【００９７】
メインメモリ総容量およびメインメモリ使用量は、それぞれ、情報処理コントローラに接続されているメインメモリの総容量および現在使用中の容量を表す。
【００９８】
記録部数は、情報処理コントローラに接続されている記録部の数を表す。記録部ＩＤは、情報処理コントローラに接続されている記録部を一意的に識別する情報である。記録部種別ＩＤは、記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、DVD±ＲＷ、メモリディスク、SRAM、ROMなど）を表す。
【００９９】
記録部総容量および記録部使用量は、それぞれ、記録部ＩＤによって識別される記録部の総容量および現在使用中の容量を表す。
【０１００】
記録部ＩＤ、記録部種別ＩＤ、記録部総容量および記録部使用量は、１つの記録部に対して一組設定されるものであり、情報処理コントローラに接続されている記録部の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の記録部が接続されている場合、各記録部には異なる記録部ＩＤが割り当てられ、記録部種別ＩＤ、記録部総容量および記録部使用量も別々に管理される。
【０１０１】
このようにして、管理装置１１は、ディスク記録装置１３または端末装置１４に分散処理を実行させる場合、ソフトウェアセルを生成し、生成したソフトウェアセルを、通信網１２を介してディスク記録装置１３または端末装置１４あてに送信する。この場合、送信元となる管理装置１１、送信先および応答先となるディスク記録装置１３または端末装置１４は、それぞれ、送信元ＩＤ、送信先ＩＤ、および応答先ＩＤによって識別される。
【０１０２】
なお、以下、管理装置１１からディスク記録装置１３または端末装置１４あてに送信される各種データは、ソフトウェアセルに格納されて送信されるものとし、繰り返しになるので、その説明は省略する。
【０１０３】
図９は、管理装置１１の機能的構成例を示すブロック図である。図９に示す機能的構成例は、情報処理コントローラ３１が、メインメモリ３２に記憶された管理プログラムを実行することで実現される。
【０１０４】
管理装置１１は、メインメモリ３２、通信部３６、制御部８１、デコーダ８２、サブデータ変換部８３、フィルタ部８４、およびエンコーダ８５を含むように構成される。
【０１０５】
メインメモリ３２には、圧縮されたMPEG2データがロードされている他、例えば、MPEGデコードプログラム、トランスコード先のコーデックのエンコーダプログラム（例えば、MPEG2エンコーダプログラムやAVCエンコーダプログラム）、あるいは、高画質化フィルタプログラムなどの各種プログラムがロードされている。また、後述するように、メインメモリ３２には、サブデータ変換部８３により変換されたトンラスコードテーブル(図１０)も記憶されている。
【０１０６】
制御部８１は、入力部（図示せず）を介して指令された新規トランスコードの開始命令に基づいて、メインプロセッサ４２に新規トランスコードの開始を命令し、メインプロセッサ４２の各種処理を制御する。また制御部８１は、デコーダ８２、フィルタ部８４、およびエンコーダ８５の各種処理を制御する。
【０１０７】
メインプロセッサ４２のローカルストレージ５１−１には、トランスコード全体を管理するためのトランスコード管理プログラムが記憶されており、制御部８１の命令に基づいて、トランスコード管理プログラムを実行し、メインメモリ３２からトランスコードするストリーム（例えば、MPEG2データ）を読み出し、それをデコーダ８２に供給する。またこのとき、メインプロセッサ４２は、メインメモリ３２からMPEGデコードプログラムを読み出してデコーダ８２に供給し、所定のデコード処理を実行させる。
【０１０８】
またメインプロセッサ４２は、メインメモリ３２からサブデータを読み出し、読み出したサブデータに基づいて、フィルタを使用していると判定した場合、メインメモリ３２から高画質化フィルタプログラムを読み出してフィルタ部８４に供給し、高画質化フィルタ処理を実行させる。さらにメインプロセッサ４２は、メインメモリ３２からエンコーダプログラムおよびサブデータを読み出してエンコーダ８５に供給し、所定のトランスコード処理を実行させる。
【０１０９】
デコーダ８２は、制御部８１（すなわち、メインプロセッサ４２）の制御の下、供給されたMPEGデコードプログラムをサブプロセッサ４３−１乃至４３−３のいずれか（例えば、サブプロセッサ４３−１）にロードさせるとともに、供給されたトランスコードするMPEG2データをローカルストレージ５１−２乃至５１−４のいずれか（いまの場合、ローカルストレージ５１−２）に転送する。これにより、MPEG2デコーダプログラムがロードされたサブプロセッサ４３−１は、ローカルストレージ５１−２に転送されたMPEG2データをデコードし、デコードされたデータをフィルタ部８４に供給する。またこのとき、サブプロセッサ４３−１は、デコード処理の際に得られた動きベクトルやDCT係数などのサブデータをサブデータ変換部８３に供給する。なお、MPEGデコードプログラムを実行することで実現されるサブプロセッサ４３−１の構成例は、図１１を参照して後述する。
【０１１０】
サブデータ変換部８３は、デコーダ８２より供給されたサブデータに基づいて、トランスコード処理の管理を行うことができるようなトランスコードテーブルに変換し、メインメモリ３２に記憶させる。
【０１１１】
図１０Ａおよび図１０Ｂは、メインメモリ３２に記憶されるトランスコードテーブルの例を示す図である。
【０１１２】
同図に示されるように、トランスコードテーブルには、トランスコードIDに対応付けて、入力ストリームID、デコードサブプロセッサID、出力ストリームID、エンコードサブプロセッサID、フィルタの有無、フィルタサブプロセッサID、リアルタイム性、プライオリティ、入力ストリーム参照数、デコードパラメータへのポインタ、エンコードパラメータへのポインタ、サブデータの再利用の有無、およびサブデータバッファへのポインタなどからなるサブデータが関連付けられている。
【０１１３】
制御部８１は、メインメモリ３２に記憶されたトランスコードテーブルを参照して、トランスコード処理の管理を行う。
【０１１４】
図９の説明に戻る。フィルタ部８４は、制御部８１の制御の下、供給された高画質化フィルタプログラムをサブプロセッサ４３−１乃至４３−３のいずれか（例えば、サブプロセッサ４３−３）にロードさせるとともに、ローカルストレージ５１−２からフィルタ処理するデータをローカルストレージ５１−２乃至５１−４のいずれか（いまの場合、ローカルストレージ５１−４）に転送する。これにより、高画質化フィルタプログラムがロードされたサブプロセッサ４３−３は、ローカルストレージ５１−４に転送された復号データを高画質化フィルタ処理し、フィルタ処理されたデータをエンコーダ８５に供給する。
【０１１５】
エンコーダ８５は、制御部８１の制御の下、供給されたトランスコード先のコーデックのエンコードプログラムをサブプロセッサ４３−１乃至４３−３のいずれか（例えば、サブプロセッサ４３−２）にロードさせる。また、エンコーダ８４は、ローカルストレージ５１−４からトランスコードするデータをローカルストレージ５１−２乃至５１−４のいずれか（いまの場合、ローカルストレージ５１−３）に転送するとともに、メインメモリ３２からサブデータを読み出し、ローカルストレージ５１−３に転送する。これにより、エンコーダプログラムがロードされたサブプロセッサ４３−２は、ローカルストレージ５１−３に転送されたサブデータに基づいて、復号データをトランスコードし、トランスコードされたデータを通信部３６に供給する。なお、エンコードプログラムを実行することで実現されるサブプロセッサ４３−２の構成例は、図１２および図１３を参照して後述する。
【０１１６】
通信部３６は、各種のデータを送信する送信部９１および各種のデータを受信する受信部９２を備えており、通信網１２を介して、データの送受信を行う。
【０１１７】
図１１は、MPEGデコードプログラムを実行することで実現されるサブプロセッサ４３−１の構成例を示すブロック図である。
【０１１８】
VLC（Variable Length Code；可変長符号化）デコーダ１０１は、入力されたMPEG2ビットストリームに対して所定の変換テーブルに基づく可変長復号処理を施し、MPEG2ビットストリームのヘッダ部に格納された符号量制御情報を取得して、それを逆量子化部１０２に供給するとともに、サブデータとして出力する。また、VLCデコーダ１０１は、量子化されている変換係数を取得して逆量子化部１０２に供給する。さらに、VLCデコーダ１０１は、デコードするフレームがインターモード（画像間）で符号化されたものである場合には、MPEG2ビットストリームのヘッダ部に格納された動きベクトル情報に対しても復号処理し、その結果得られる動きベクトルを動き補償部１０４に供給するとともに、サブデータとして出力する。
【０１１９】
逆量子化部１０２は、VLCデコーダ１０１から供給された量子化されている変換係数に対して逆量子化処理（８×８のDCTブロックの係数ごとの乗算処理）を施し、得られたDCT（離散コサイン変換）係数を逆DCT部１０３に供給するとともに、サブデータとして出力する。
【０１２０】
逆DCT部１０３は、逆量子化部１０２から供給されたDCT係数に対して逆DCT変換（８×８のDCTブロックの係数ごとの除算処理）し、得られたデータを演算部１０５に供給する。
【０１２１】
ここで、対象となる画像データのフレームがイントラモード（画像内）で符号化されたものである場合には、逆DCT変換が施された画像データは、演算部１０５を介して、そのままデコード画像として出力される。
【０１２２】
一方、対象となるフレームがインターモードで符号化されたものである場合には、動き補償部１０４は、メインメモリ３２からサーチ画像データを取得して、そのサーチ画像データとVLCデコーダ１０１より供給された動きベクトルに基づいて、参照画像データを生成し、生成された参照画像データを演算部１０５に供給する。演算部１０５は、動き補償部１０４から供給された参照画像データと、逆DCT部１０３から供給された画像データ（差分データ）とを合成して、イントラモードの画像データと同様の画像データを生成し、デコード画像として出力する。
【０１２３】
図１２は、ビットレートの異なるMPEG2エンコーダプログラムを実行することで実現されるサブプロセッサ４３−２の構成例を示すブロック図である。
【０１２４】
入力画像は、GOP（Group of Pictures）構造に応じて、フレームの並べ替えが行われ、マクロブロックデータとして、演算部１１１および動きベクトル予測部１１２に供給される。サブデータとしての符号量制御情報およびDCT係数は、量子化部１１４およびVLCエンコーダ１１５にそれぞれ供給され、サブデータとしての動きベクトルは、動き予測部１１２に供給される。
【０１２５】
演算部１１１は、入力されたマクロブロックデータの各マクロブロックの画像タイプに基づいた動き補償を行う。具体的には、演算部１１１は、Ｉピクチャ（Intra-Picture）に対してはイントラモードで動き補償を行い、Ｐピクチャ（Predictive-Picture）に対しては、順方向予測モードで動き補償を行い、Ｂピクチャ（Bidirectionally redictive-Picture）に対しては、双方向予測モードで動き補償を行う。
【０１２６】
ここでイントラモードとは、符号化対象となるフレーム画像をそのまま伝送データとする方法であり、順方向予測モードとは、符号化対象となるフレーム画像と過去参照画像との予測残差を伝送データとする方法であり、双方向予測モードとは、符号化対象となるフレーム画像と、過去と将来の参照画像との予測残差を伝送データとする方法である。
【０１２７】
まず、マクロブロックデータがＩピクチャであった場合、量子化部１１４は、サブデータとして供給された符号量制御情報に基づいて、サブデータとして供給されたDCT係数に対して量子化処理を行い、量子化されたDCT係数をVLCエンコーダ１１５に供給する。また量子化部１１４は、量子化後のDCT係数をローカルデコーダ１１６に供給する。
【０１２８】
ローカルデコーダ１１６は、量子化されたDCT係数を逆量子化処理し、さらに、逆DCT変換し、生成された演算データを演算部１１７に供給する。この演算データは、参照画像データとしてメインメモリ３２に記憶される。
【０１２９】
そして、演算部１１１は、マクロブロックデータがＰピクチャであった場合、マクロブロックデータに対し、順方向予測モードによる動き補償処理を行い、Ｂピクチャであった場合、双方向予測モードによる動き補償処理を行う。
【０１３０】
動きベクトル予測部１１２は、マクロブロックデータおよびサブデータとしての動きベクトル（以前の符号化の動きベクトル）の供給を受け、それらを、動き補償部１１８に供給する。動き補償部１１８は、メインメモリ３２に記憶されている参照画像データを、動きベクトル予測部１１２から供給される動きベクトルに応じて動き補償を行い、順方向予測画像データ、または双方向予測画像データを算出する。算出された順方向予測画像データ、または双方向予測画像データは、演算部１１１および演算部１１７に供給される。
【０１３１】
演算部１１１は、マクロブロックデータから、動き補償部１１８より供給される順方向予測画像データまたは双方向予測画像データを減算し、得られた予測残差としての差分データをDCT部１１３に供給する。DCT部１１３は、入力されたマクロブロックデータのマクロブロックに対してDCT変換し、得られたDCT係数を量子化部１１４に供給する。量子化部１１４は、サブデータとして供給された符号量制御情報に基づいて、DCT部１１３から入力されたDCT係数に対して量子化処理を行い、量子化されたDCT係数をVLCエンコーダ１１５に供給する。
【０１３２】
演算部１１７は、ローカルデコーダ１１６から供給された演算データに、動き補償部１１８から供給された順方向予測画像データまたは双方向予測画像データを加算することにより、参照画像データを局部再生し、それをメインメモリ３２に記憶させる。
【０１３３】
かくして、入力された画像（マクロブロックデータ）は、動き補償予測処理、DCT処理および量子化処理を受け、量子化されたDCT係数として、VLCエンコーダ１１５に供給される。VLCエンコーダ１１５は、サブデータとして供給された符号量制御情報に基づいて、量子化されたDCT係数に対して可変長符号化処理を行い、その結果得られる可変長符号化データをトランスコード画像として出力する。
【０１３４】
図１３は、AVCエンコーダプログラムを実行することで実現されるサブプロセッサ４３−２の構成例を示すブロック図である。なお、基本的には、図１２に示した構成例と同様であり、図１２のVLCエンコーダ１１５がCABAC/CAVLC（Context-based Adaptive Binary Arithmetic Coding/Context-based Adaptive Variable Length Coding）エンコーダ１２５に変更され、動きベクトル変換部１２９が新たに設けられている。それ以外の部分については、説明が繰り返しになるため、適宜省略する。
【０１３５】
動きベクトル変換部１２９は、サブデータとしての動きベクトル（以前の符号化の動きベクトル）の供給を受け、それを動きベクトルヒントに変換した後、動き予測部１２２を介して動き補償部１２８に供給する。
【０１３６】
動き補償部１２８は、メインメモリ３２に記憶されている参照画像データを、動きベクトル予測部１２２から供給される動きベクトルヒントに応じて動き補償を行い、順方向予測画像データ、または双方向予測画像データを算出する。
【０１３７】
CABAC/CAVLCエンコーダ１２５は、サブデータとして供給された符号量制御情報に基づいて、量子化されたDCT係数に対してエントロピー符号化処理を行い、その結果得られる符号化データをトランスコード画像として出力する。
【０１３８】
次に、図１４のフローチャートを参照して、管理装置１１が実行する、トランスコード起動処理について説明する。この処理は、図示せぬ入力部から入力された新規トランスコードの開始命令を受信したとき開始される。
【０１３９】
ステップＳ１において、制御部８１は、メインプロセッサ４２に対し、新規トランスコードの開始を命令する。この命令を受けたメインプロセッサ４２は、ローカルストレージ５１−１に記憶されているトランスコード管理プログラムを実行し、トランスコード全体の管理を開始する。
【０１４０】
ステップＳ２において、メインプロセッサ４２は、DMAC４４を介してメインメモリ３２にアクセスするとともに、ローカルストレージ５１−１乃至５１−４いアクセスし、資源に空きがあるか否かを判定する。ステップＳ２において、資源に空きがあると判定された場合、ステップＳ３に進み、メインプロセッサ４２は、メインメモリ３２からトランスコードするストリーム（例えば、MPEG2データ）を読み出し、それをデコーダ８２に入力する。
【０１４１】
ステップＳ４において、メインプロセッサ４２は、ステップＳ３の処理により読み出したストリームが既にデコード中であるか否かを判定し、デコード中ではないと判定した場合、ステップＳ５に進む。ステップＳ５において、メインプロセッサ４２は、DMAC４４を介してメインメモリ３２からMPEGデコードプログラムを読み出してデコーダ８２に供給し、サブプロセッサ４３−１乃至４３−３のいずれかにデコード開始を命令する。ここで、メインプロセッサ４２は、サブプロセッサ４３−１乃至４３−３の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサにMPEGデコードプログラムをロードさせ、デコード開始を命令する。ここでは、例えば、サブプロセッサ４３−１が選択され、デコード開始が命令される。また、メインプロセッサ４２は、選択したサブプロセッサ４３−１のローカルストレージ５１−２に、トランスコードするストリーム（例えば、MPEG2データ）を転送する。
【０１４２】
ステップＳ６において、サブプロセッサ４３−１は、入力ストリームに対するデコード処理を行う。このデコード処理の詳細については、図１５のフローチャートを参照して後述するが、この処理により、ステップＳ１４のトランスコード処理に利用されるサブデータが出力されるとともに、デコード画像が出力される。
【０１４３】
ステップＳ７において、メインプロセッサ４２は、既にデコード中のストリームについてサブデータが再利用されているか否かを判定する。ステップＳ７において、サブデータが再利用されていないと判定された場合、または、ステップＳ６の処理の後、ステップＳ８に進み、メインプロセッサ４２は、サブプロセッサ４３−１に対し、DMAC４４を介してメインメモリ３２の所定の位置へのサブデータの書き出しを開始させる。これにより、メインメモリ３２には、いまデコード中のストリームに関するサブデータが書き込まれる。
【０１４４】
ステップＳ７において、サブデータが再利用されていると判定された場合、または、ステップＳ８の処理の後、ステップＳ９に進み、メインプロセッサ４２は、メインメモリ３２に記憶されているトランスコードテーブル（図１０）を参照し、トランスコードするストリームのサブデータを読み出す。
【０１４５】
ステップＳ１０において、メインプロセッサ４２は、ステップＳ９の処理により読み出したサブデータに基づいて、フィルタを使用しているか否かを判定し、フィルタを使用していると判定した場合、ステップＳ１１に進む。ステップＳ１１において、メインプロセッサ４２は、DMAC４４を介してメインメモリ３２から高画質化フィルタプログラムを読み出してフィルタ部８４に供給し、サブプロセッサ４３−１乃至４３−３のいずれかで高画質化フィルタプログラムを起動させる。ここで、メインプロセッサ４２は、サブプロセッサ４３−１乃至４３−３の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサに高画質化フィルタ処理プログラムをロードさせ、フィルタ処理を命令する。ここでは、例えば、サブプロセッサ４３−３が選択され、フィルタ処理が命令される。また、メインプロセッサ４２は、選択したサブプロセッサ４３−３のローカルストレージ５１−４に、フィルタ処理するデータを転送する。
【０１４６】
ステップＳ１２において、サブプロセッサ４３−３は、ローカルストレージ５１−４にフィルタ処理する復号データを転送し、その復号データに対して高画質化フィルタ処理を施す。
【０１４７】
ステップＳ１０において、フィルタを使用していないと判定された場合、ステップＳ１１およびステップＳ１２の処理はスキップされ、ステップＳ１２に進む。ステップＳ１３において、メインプロセッサ４２は、デコーダ処理（および必要に応じてフィルタ処理）されたデータに基づいて、トランスコードテーブル（図１０）に入力画像情報を設定する。
【０１４８】
ステップＳ１４において、メインプロセッサ４２は、DMAC４４を介してメインメモリ３２からエンコーダプログラムを読み出してエンコーダ８５に供給し、サブプロセッサ４３−１乃至４３−３のいずれかでトランスコード（エンコーダプログラム）を起動させる。ここで、メインプロセッサ４２は、サブプロセッサ４３−１乃至４３−３の負荷に応じて、最適なプロセッサを選択し、選択したプロセッサにトランスコード先のコーデックのエンコードプログラムをロードさせ、トランスコード処理を命令する。ここでは、例えば、サブプロセッサ４３−２が選択され、トランスコード処理が命令される。また、メインプロセッサ４２は、選択したサブプロセッサ４３−２のローカルストレージ５１−３に、デコードされたデータを転送する。
【０１４９】
ステップＳ１５において、サブプロセッサ４３−２は、デコードされたデータに対するトランスコード処理を行う。このトランスコード処理の詳細については、図１６のフローチャートを参照して後述するが、この処理により、トランスコード画像が出力される。
【０１５０】
ステップＳ２において、資源に空きがないと判定された場合、ステップＳ１３に進み、メインプロセッサ４２は、このトランスコード起動処理を停止する。
【０１５１】
以上のようにして、サブプロセッサ４３−１乃至４３−３が、実行環境に応じてMPEGデコードプログラム、トランスコード先のコーデックのエンコーダプログラム、あるいは、高画質化フィルタプログラムなどをロードすることにより、動的かつシームレスにトランスコードパスを切り替えながら、連携して高速トランスコード処理を行うことができる。
【０１５２】
次に、図１５のフローチャートを参照して、サブプロセッサ４３−１が実行する、図１４のステップＳ６におけるデコード処理の詳細について説明する。
【０１５３】
ステップＳ３１において、VLCデコーダ１０１は、入力されたMPEG2ビットストリームに対して所定の変換テーブルに基づく可変長復号処理を施す。ステップＳ３２において、VLCデコーダ１０１は、MPEG2ビットストリームのヘッダ部に格納された符号量制御情報、および、量子化されている変換係数を取得する。ステップＳ３３において、VLCデコーダ１０１は、デコードするフレームがインターモードで符号化されたものであるか否かを判定し、インターモードで符号化されたものであると判定した場合、ステップＳ３４に進む。ステップＳ３４において、VLCデコーダ１０１は、入力されたMPEG2ビットストリームのヘッダ部に格納された動きベクトル情報に対して可変長復号処理を施す。
【０１５４】
ステップＳ３３において、デコードするフレームがインター符号化されたものではない、すなわち、イントラモードで符号化されたものであると判定された場合、または、ステップＳ３４の処理の後、ステップＳ３５に進み、逆量子化部１０２は、ステップＳ３２の処理で取得された量子化されている変換係数に対して逆量子化処理を施す。ステップＳ３６において、逆DCT部１０３は、ステップＳ３５の処理により得られたDCT係数に対して逆DCT変換する。
【０１５５】
ステップＳ３７において、逆DCT部１０３は、処理対象となるフレームがイントラモードで符号化されたものであるか否かを判定し、イントラモードで符号化されたものであると判定した場合、ステップＳ３８に進み、逆DCT変換が施された画像データを、そのままデコード画像として演算部１０５を介して出力する。
【０１５６】
ステップＳ３７において、処理対象となるフレームがイントラモードで符号化されたものではない、すなわち、インターモードで符号化されたものであると判定された場合、ステップＳ３９に進み、動き補償部１０４は、メインメモリ３２からサーチ画像データを取得し、取得したサーチ画像データと、ステップＳ３４の処理により得られた動きベクトルに基づいて、参照画像データを生成する。
【０１５７】
ステップＳ４０において、演算部１０５は、ステップＳ３９の処理により得られた参照画像データと、ステップＳ３７の処理により得られた画像データ（差分データ）とを合成し、デコード画像として出力する。ステップＳ３８またはステップＳ４０の処理の後、ステップＳ４１において、VLCデコーダ１０１は、ステップＳ３２の処理で取得した符号量制御情報、およびステップＳ３４の処理により得られた動きベクトルをサブデータとして出力する。また、逆DCT部１０３は、ステップＳ３５の処理により得られたDCT係数をサブデータとして出力する。
【０１５８】
以上のデコード処理により、復号時に得られる符号量制御情報、DCT係数、および動きベクトルなどのサブデータを後段のエンコーダ８５に出力することができる。
【０１５９】
次に、図１６のフローチャートを参照して、サブプロセッサ４３−２が実行する、図１４のステップＳ１５におけるトランスコード処理の詳細について説明する。
【０１６０】
ステップＳ６１において、サブプロセッサ４３−２は、符号化するマクロブロックデータを取得するとともに、ステップＳ６２において、図１５のステップＳ４１の処理により出力された符号量制御情報、DCT係数、および動きベクトルからなるサブデータを取得する。
【０１６１】
ステップＳ６３において、サブプロセッサ４３−２は、符号化のモードがイントラモードであるか否かを判定し、イントラモードであると判定した場合、ステップＳ６４に進む。ステップＳ６４において、量子化部１１４は、ステップＳ６２の処理で取得した符号量制御情報に基づいて、DCT係数に対して量子化処理を施す。ステップＳ６５において、ローカルデコーダ１１６は、ステップＳ６４の処理で量子化されたDCT係数に対して逆量子化処理および逆DCT変換する。ステップＳ６６において、ローカルデコーダ１１６は、ステップＳ６５の処理により生成された演算データを、参照画像データとしてメインメモリ３２に記憶する。
【０１６２】
ステップＳ６３において、符号化のモードがイントラモードではない、すなわち、インターモードであると判定された場合、ステップＳ６７に進み、動き補償部１１８は、ステップＳ６６の処理によりメインメモリ３２に記憶されている参照画像データを、ステップＳ６２の処理で取得された動きベクトルに応じて動き補償する。ステップＳ６８において、演算部１１１は、ステップＳ６１の処理で取得したマクロブロックデータから、ステップＳ６７の処理により算出された予測画像データを減算し、差分データを算出する。
【０１６３】
ステップＳ６９において、DCT部１１３は、ステップＳ６８の処理により算出されたマクロブロックデータ（差分データ）のマクロブロックに対してDCT変換する。ステップＳ７０において、量子化部１１４は、ステップＳ６２の処理で取得した符号量制御情報に基づいて、ステップＳ６９の処理により得られたDCT係数に対して量子化処理を施す。
【０１６４】
ステップＳ６６またはステップＳ７０の処理の後、ステップＳ７１に進み、VLCエンコーダ１１５は、ステップＳ６２の処理で取得した符号量制御情報に基づいて、ステップＳ６４またはステップＳ７０の処理で量子化されたDCT係数に対して可変長符号化処理を施し、その結果得られる可変長符号化データをトランスコード画像として出力する。
【０１６５】
ステップＳ７２において、サブプロセッサ４３−２は、全てのマクロブロックデータについて符号化したか否かを判定し、未だ符号化していないマクロブロックデータのマクロブロックがあると判定した場合、ステップＳ６３に戻り、上述した処理を繰り返し実行する。そして、ステップＳ７２において、全てのマクロブロックデータについて符号化したと判定された場合、トランスコード処理は終了される。
【０１６６】
以上のトランスコード処理により、復号時に得られる符号量制御情報、DCT係数、および動きベクトルなどのサブデータを再利用してトランスコード画像を生成することができる。
【０１６７】
例えば、サブデータを用いて、MPEG2ストリームをAVCストリームにトランスコードする場合、MPEG2の所定のマクロブロックの動きベクトルを、AVCの相対位置の最も近いマクロブロックの動き予測算出時の初期値として利用することができる。また例えば、サブデータを用いて、MPEG2ストリームをビットレートの異なるMPEG2ストリームにトランスコードする場合、完全にデコードされたデータを用いずとも、DCT係数の量子化精度を変更するなどしてビットレートの変換を行うことができる。
【０１６８】
本発明によれば、管理装置１１は、サブデータを再利用して、複数のサブプロセッサに対し、最適かつ高速に、マルチトランスコードを分散して行わせることができるとともに、計算資源の空きに応じて高画質化フィルタ機能を適用することができる。
【０１６９】
また、管理装置１１は、システムの負荷分散およびリアルタイム性の管理をメインプロセッサ４２に行わせ、デコードおよびエンコードのトランスコード処理をサブプロセッサ４３−１乃至４３−３にそれぞれ行わせるようにしたので、各プロセッサは、与えられた処理に専念することができ、プロセッサの性能を最大限に利用することが可能となる。
【０１７０】
また、トランスコードの負荷を分散させるようにしたため、例えば、あるトランスコード処理を実行中に、同じ入力ストリームに対して異なるコーデックでトランスコードする必要が生じた場合（より具体的には、ユーザがストリーミングでテレビジョン放送を視聴中に、並行してその放送をDVDに録画しようとした場合）、メインプロセッサ４２は、資源に空きのあるサブプロセッサ４３−１乃至４３−３のいずれか（すなわち、先にトランスコード処理を行っているサブプロセッサ以外のサブプロセッサ）にエンコーダプログラムをロードさせ、新たなトランスコード処理を命令する。これにより、先に実行中のトランスコード処理は、演算処理速度が大幅に低下することなく、独立して処理を継続することができる。
【０１７１】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１７２】
この記録媒体は、図２に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク６３（MD(Mini-Disc)（商標）を含む）、若しくは半導体メモリ６４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記録部３３に含まれるハードディスクなどで構成される。
【０１７３】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０１７４】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１７５】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１７６】
【図１】本発明を適用した通信システムの一実施の形態の構成例を示す図である。
【図２】管理装置の内部の構成例を示すブロック図である。
【図３】メインメモリに記憶されるデータを説明する図である。
【図４】メインメモリを説明する図である。
【図５】サブプロセッサのローカルストレージを説明する図である。
【図６】キー管理テーブルを説明する図である。
【図７】ソフトウェアセルの構成例を示す図である。
【図８】DMAコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造例を示す図である。
【図９】管理装置の機能的構成例を示すブロック図である。
【図１０】トランスコードテーブルを説明する図である。
【図１１】MPEGデコードプログラムを実行することで実現されるサブプロセッサの構成例を示すブロック図である。
【図１２】ビットレートの異なるMPEG2エンコーダプログラムを実行することで実現されるサブプロセッサの構成例を示すブロック図である。
【図１３】AVCエンコーダプログラムを実行することで実現されるサブプロセッの構成例を示すブロック図である。
【図１４】トランスコード起動処理を説明するフローチャートである。
【図１５】図１４のステップＳ６におけるデコード処理の詳細を説明するフローチャートである。
【図１６】図１４のステップＳ１５におけるトランスコード処理の詳細を説明するフローチャートである。
【符号の説明】
【０１７７】
１１  管理装置，  ３２  メインメモリ，  ４２  メインプロセッサ，  ４３−１乃至４３−３  サブプロセッサ，  ５１−１乃至５１−４  ローカルストレージ，  ８１  制御部，  ８２  デコーダ，  ８３  サブデータ変換部，  ８４  フィルタ部，  ８５  エンコーダ
【図１】
2006020147.tif 000003
【図２】
2006020147.tif 000004
【図３】
2006020147.tif 000005
【図４】
2006020147.tif 000006
【図５】
2006020147.tif 000007
【図６】
2006020147.tif 000008
【図７】
2006020147.tif 000009
【図８】
2006020147.tif 000010
【図９】
2006020147.tif 000011
【図１０】
2006020147.tif 000012
【図１１】
2006020147.tif 000013
【図１２】
2006020147.tif 000014
【図１３】
2006020147.tif 000015
【図１４】
2006020147.tif 000016
【図１５】
2006020147.tif 000017
【図１６】
2006020147.tif 000018