(57)【特許請求の範囲】
【請求項１】
通信路を介して接続される複数の情報処理装置と該情報処理装置を管理する情報管理サーバを含み、該情報処理装置で使用されるデジタルコンテンツの符号化方式を変換するトランスコードシステムにおいて、
該情報管理サーバは、
前記情報処理装置のデジタルコンテンツの符号化方式の変換機能に関する管理情報を記憶する記憶部と、
該記憶部に格納されている該管理情報を参照して該デジタルコンテンツのトランスコードができる該情報処理装置を複数決定し、処理未完了のコンテンツデータ及び処理の内容を示す情報を該通信路を介して前記決定された複数の情報処理装置に対して転送する処理部と、
処理単位時間毎の処理完了管理を行う処理管理テーブルと、を有し、
該情報処理装置は、
該情報管理サーバの該処理部から送られた処理内容に従ってトランスコードを実施するフォーマット変換部を有し、
該情報処理装置はトランスコードを実施し、処理単位時間毎に処理完了を該情報管理サーバへ送信し、
該情報管理サーバは該処理管理テーブルを更新することを特徴とするトランスコードシステム。
【請求項２】
該記憶部は、符号化方式の変換機能における多重化の変換方式、映像の変換方式、音声の変換方式及び、再生する情報処理装置の性能情報に関する第１の情報を処理識別子によって管理して記憶し、
前記処理部は、前記情報処理装置が変換可能なフォーマット一覧を前記情報処理装置から該通信路を介して取得し、前記第１の情報と比較して、当該第１フォーマット変換可能な前記情報処理装置を選択し、前記情報管理サーバから該情報処理装置に対して、フォーマット変換の指示を該通信路を介して送信し、
前記情報処理装置は前記指示を受信して、前記情報管理サーバに対してフォーマット変換するコンテンツの取得要求を出し、
前記処理部は、コンテンツの一部を前記情報処理装置に送信することを特徴とする請求項１のトランスコードシステム。
【請求項３】
前記情報処理装置はさらに
変換可能なフォーマット一覧を記憶する記憶部と、
前記通信路を介して前記情報管理サーバへ前記フォーマット一覧を転送する転送部を有することを特徴とする請求項１のトランスコードシステム。
【請求項４】
前記情報管理サーバは、前記情報処理装置に変換処理を識別する処理識別子を発行することを特徴とする請求項１のトランスコードシステム。
【請求項５】
前記複数の情報処理装置のうち、ある情報処理装置がフォーマット変換又はデータ伝送の途中で処理を中断し、処理結果が情報管理サーバに到着しなかった場合、該記憶部に格納されている該管理情報を参照して該デジタルコンテンツのトランスコードができる該情報処理装置をあらためて決定し、処理するコンテンツデータ及び処理の内容を示す情報を該通信路を介して処理可能な情報処理装置に、処理するコンテンツデータ及び処理の内容を示す情報を転送し、継続したフォーマット変換処理を行うことを特徴とする請求項１のトランスコードシステム。
【請求項６】
前記情報管理サーバに未登録の情報処理装置が前記情報管理サーバと通信可能なネットワークに接続したときに、前記トランスコード処理が実行中であっても、前記情報管理サーバは、前記未登録の情報処理装置を検出し、前記未登録の情報処理装置から変換可能なフォーマット一覧を取得し、前記情報管理サーバの記憶部に登録し、実行中のトランスコード処理を実行可能であると前記情報管理サーバが判断した場合には、前記トランスコード処理を依頼することができることを特徴とする請求項１のトランスコードシステム。
【請求項７】
通信路を介して複数の情報処理装置に接続され当該情報処理装置を管理する情報管理サーバであって、
該情報管理サーバは、
前記情報処理装置のデジタルコンテンツの符号化方式の変換機能に関する管理情報を記憶する記憶部と、
前記記憶部に格納されている前記管理装置を参照して前記デジタルコンテンツのトランスコードができる前記情報処理装置を複数決定し、処理未完了のコンテンツデータ及び処理の内容を示す情報を前記通信路を介して前記決定された複数の情報処理装置に対して転送する処理部と、
処理単位時間毎の処理完了管理を行う処理管理テーブルと、を備え、
情報処理装置から受信する処理単位時間毎の処理完了に応じて該処理管理テーブルを更新することを特徴とする情報管理サーバ。
【請求項８】
前記記憶部は、符号化方式の変換機能における多重化の変換方式、映像の変換方式、音声の変換方式及び、再生する情報処理装置の性能情報とに関する第１の情報を処理識別子によって管理して記憶することを特徴とする請求項７に記載の情報管理サーバ。
【請求項９】
通信路を介して情報管理サーバに接続され管理される情報処理装置であって、
該情報処理装置は、前記情報管理サーバから送信された処理内容に従ってトランスコードを実施するフォーマット変換部を備え、
該フォーマット変換部は、前記情報管理サーバがフォーマット変換の処理に対して発行する処理識別子を受信し、当該処理識別子にしたがってトランスコードを実施することを特徴とする情報処理装置。
【請求項１０】
前記フォーマット変換部は、前記情報管理サーバによって設定された処理時間内に前記情報管理サーバから取得したコンテンツのうちフォーマット変換処理が終了した第一の部分に対して、取得したすべてのデータの処理が終了していなくとも、当該第一の部分を前記情報管理サーバへ転送し、さらに設定された処理時間内に終了しなかった第二の部分のフォーマット変換処理を継続し、再度前記設定された処理時間が経過したあと、前記第二の部分のうちフォーマット変換処理が終了した第三の部分を前記情報管理サーバへ転送し、前記情報管理サーバから取得したコンテンツすべてのフォーマット変換処理が終了するまで以上の処理を繰り返すことを特徴とする請求項９に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置が通信網を介してデータをやりとりする技術に関するものである。
【背景技術】
【０００２】
有線ＬＡＮや無線ＬＡＮ等の通信手段を利用して構築した自宅のホームネットワークを介し、ＳＴＢ(Set Top Box)やＰＣ等に蓄積した映像のデジタルコンテンツを、他のＳＴＢやＰＣなどのデバイスでも視聴することが可能になっている。また、ネットワークを介す方法以外にも、ＳＤ(Secure Digital)カード等のブリッジメディアを介して、ＰＤＡ(Personal Digital Assistants)や携帯電話で視聴することが可能である。
【０００３】
デバイスの持つ画面の解像度、処理能力やメモリのサイズなどによって、搭載するデコーダの種類が異なり、高解像度で処理能力の高いＰＣには、多種類の圧縮符号化方式が搭載されており、ＱＶＧＡ(Quarter Video Graphics Array)の表示画面を持つ携帯電話は、ＭＰＥＧ−４(Moving Picture Experts Group-４)などのデジタルコンテンツのデータサイズが小さくなる高圧縮な圧縮符号化方式が搭載されている。
【０００４】
このように、端末が変わると再生可能な動画フォーマットに違いが生じ、端末間でコンテンツを共用するには、コンテンツを変換する必要性が出てくる。このような動画フォーマット変換をトランスコーディングと呼ぶ。
【０００５】
トランスコーディングは、一般的にソフトウェアもしくは、トランスコーディングの能力を持ったハードウェアを搭載した１台の処理装置で行うことが多い。しかし、コンテンツ自身のデータサイズが多く、さらに処理量が多いことから、特に専用のハードウェアを搭載していない処理装置であれば、CPUの処理速度やメモリのサイズに依存するが、処理が完了するまでに非常に時間がかかってしまう。
【０００６】
そこで、複数の処理装置を用い、コンテンツをある処理単位に分割して並列にトランスコーディングを行うことで、短時間でトランスコーディングを行う技術が検討された。これは、MPEGのコンテンツをシーケンスというデータブロック単位に分割し、そのデータブロックを複数の処理装置に送信して、並列にトランスコーディングを実施するものである。（例えば、特許文献１）
また、複数のストリームをトランスコーディングするため、ネットワーク上の各装置に、振り分け機能とトランスコード機能を搭載し、処理性能や変換するフォーマットを考慮して最適な処理装置にデータストリームを振り分ける技術も知られている（例えば、特許文献２）。
【０００７】
【特許文献１】特開２００４−１５９０７９号公報（７ページ、図４）
【特許文献２】特開２００２−３７４３１７号公報（９ページ、図１４）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ホームネットワーク環境において、処理装置に相当するHDDレコーダ、TV等は、ユーザがそれぞれの処理装置を、録画番組を視聴し、放送番組をTVで視聴・録画利用することが主な処理であり、ネットワークを利用したリモートでの処理装置の利用は、処理装置を直接操作しているユーザには、影響しない範囲で実施すべきである。特にトランスコーディングにような負荷の大きい処理に関しては、ユーザが処理装置を利用していないときや、処理状況を確認し、CPUやメモリを使い切らないように、処理負荷をコントロールする必要がある。
【０００９】
そのためには、ネットワークを利用した並列処理を実施した場合に、処理を実施する処理装置の処理能力および現在の処理負荷と、現在実施されている処理が終了すると、即座に分散トランスコーディング処理に加わることができる仕組みが必要である。また、ホームネットワークは比較的小規模な機器構成になっていることが多く、振り分け機能を利用して、ストリームをトランスコード可能な処理装置へ転送し、１コンテンツ分を1台の処理装置でトランスコードするようなシステムであると、大規模システムで複数のストリームを同時にトランスコードするには向いているが、１コンテンツを高速に処理するには不向きなシステムである。
【００１０】
そこで、本発明の目的は、ホームネットワークに接続した機器において、処理能力や処理負荷に応じて処理振り分けを行い、さらに、処理装置の途中参加・離脱を容易にし、ホームネットワーク環境でも分散トランスコーディングを可能とするシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、上記処理装置およびホームサーバにおいて、有線LAN、無線LAN、UWB（Ultra Wide Band）、Bluetooth、電力線といった通信網を介してデータの送受信を行うための通信手段と、上記処理装置には、前記処理装置を管理するホームサーバに対して、トランスコード可能なフォーマットの一覧をトランスコード前のフォーマットとトランスコード後のフォーマットを対にして前記通信手段を利用して提供する機能を具備するフォーマット変換手段と、
上記処理装置には、前記機器管理手段によって提供されたフォーマット一覧から、フォーマットの対を選択し、さらに、フォーマットの対のトランスコード前のフォーマットを有するコンテンツを前記通信手段を利用してホームサーバから送信することによって、フォーマット対のトランスコード後のフォーマットにトランスコードされて返信する機能を具備するフォーマット変換手段と、上記処理装置には、フォーマット変換処理ごとに振られる処理識別子を利用して、ホームサーバに対して複数のフォーマット変換機能を具備するフォーマット変換手段と、上記処理装置には、１つのコンテンツに含まれる複数の連続したGOP群を受信し、設定された処理時間の中でGOPをフォーマット変換し、さらに、設定された処理時間内でフォーマット変換できたGOPに対して、取得したGOP群より少ないかもしくは同じ数のGOPを、ホームサーバに返信する機能を具備するフォーマット変換手段と、上記処理装置には、設定された処理時間内で処理できなかった複数の連続したGOP群を、設定された処理時間後もフォーマット変換を継続して行い、次の設定された処理時間内でフォーマット変換できたGOP群をホームサーバに返信する機能を具備するフォーマット変換手段と、上記処理装置には、ホームサーバから指定された処理識別子と変換前のコンテンツのフォーマットと、変換後のコンテンツのフォーマットを記載したフォーマット変換情報を管理し、GOP群をホームサーバから取得するときに利用する処理識別子を利用してフォーマット変換情報を検索し、該当するフォーマット変換情報を取得して、ホームサーバが所望するフォーマットにホームサーバから取得したGOP群を変換する機能を具備するフォーマット変換手段と、上記処理装置には、フォーマット変換後のデータを処理識別子と、GOP群の順序を示すシーケンス識別子を付加したファイル名を指定してホームサーバに蓄積する機能を具備するフォーマット変換手段を有し、上記ホームサーバには、前記処理装置からトランスコード可能なフォーマットの一覧をトランスコード前のフォーマットとトランスコード後のフォーマットを対にして前記通信手段を利用して取得する機能を具備する処理制御手段と、上記ホームサーバには、処理識別子によって複数のフォーマット変換手段を前記通信手段によって制御し、複数のフォーマット変換を実施する機能を具備する処理制御手段と、上記ホームサーバには、処理識別子と変換前のコンテンツのフォーマットと、変換後のコンテンツのフォーマットを記載したフォーマット変換情報を管理し、所定の処理装置へ前記通信手段を利用してフォーマット変換情報を送信して、フォーマット変換方法を指示する機能を具備する処理制御手段と、上記ホームサーバには、設定した処理時間内に送信した複数の連続したGOP群のうち、フォーマット変換できたGOPの数を知ることによって、複数の連続したGOP群を送信した処理装置の処理性能を推測する機能を具備する処理制御手段と、  上記ホームサーバには、処理装置に対して送信する複数の連続したGOP群の数を調整し、前記処理装置の性能を考慮する機能を具備する処理制御手段と、上記ホームサーバには、処理装置に対して複数の連続したGOP群を送信する前に、処理時間を設定する機能を具備する処���制御手段と、上記ホームサーバには、処理装置から送信されてきたフォーマット変換後のGOP群をファイル名記載の処理識別子とシーケンス識別子を利用することによって結合し、フォーマット変換されたコンテンツを生成する機能を具備する処理制御手段とを有することによって、複数のフォーマット変換処理を処理装置を分散して実施することが可能になり、さらに処理装置がフォーマット変換処理が途中であっても、処理に参加することが可能になり、また、処理中の退出も可能になる。
【発明の効果】
【００１２】
ホームネットワーク環境において、複数の処理装置を利用して高速に複数のトランスコーディングサービスをユーザに提供することが可能になる。  
【発明を実施するための最良の形態】
【００１３】
本発明の実施の形態について図面を参照して説明する。  図１は実施形態のトランスコーディングシステム１のシステム構成例を示す図である。図１において、２０は宅内の処理装置をネットワークによって接続したホームネットワークであり、１０は処理装置、３０はホームサーバである。処理装置１０の添え字は、すべて同機能、同性能をもつということではなく、便宜上１０a、１０b、１０c、１０dとする。処理装置１０に関しては、一般的にトランスコードの機能を有する家庭内に存在する情報機器である。ホームサーバ３０は、トランスコード対象のコンテンツを蓄積しており、MPEGをGOP（Group og picture）単位に切り分け、処理装置１０に振り分ける機能を有する。トランスコード対象のコンテンツは、ホームサーバ３０に一時的に蓄積されていればよく、ホームネットワーク１内のMedia Server(不図示)に蓄積されていたコンテンツを、ダウンロードして利用してもよい。
【００１４】
処理装置１０は、ネットワークによって双方向通信可能なPC(Personal  Computer)やHDD(Hard Disk Drive）レコーダ、TV等の情報機器である。通信機能を利用して、例えばUPnP（Universal Plug and Play）やJiniで実装されている処理装置に対して、RPC(Remote Procedure Call)のようなネットワークで接続した機器に処理依頼できるクライアントを実装しており、同機能を有する複数の処理装置に対しては、前記クライアントのみで制御可能である。また、同時に前記クライアントの処理依頼を受け付けるサーバを実装することも可能である。またさらに、コンテンツを転送する機能として、例えば、HTTP（HyperText Transfer Protocol）やRTP(Real-time Transfer Protocol)、RTSP（Real Time Streaming Protocol）等のプロトコルを実装し、コンテンツを他の処理装置１０もしくはホームサーバ３０に転送する機能を有する。
【００１５】
ホームネットワーク２０は、ルータ（不図示）に接続された宅内のＰＣ、ＡＶ機器、家電等の処理装置を無線ＬＡＮ(Local Area Network)、有線ＬＡＮ、bluetooth、ＵＷＢ(Ultra Wide Band)を使って接続し、各情報機器同士でデータのやり取りを行うことを可能にする。各処理装置はIP（Internet  Protocol）アドレスを持ち、UPｎP(Universal Plug and Play)が利用可能なネットワークである。また、HTTP、RTP、RTSP等のプロトコルによってコンテンツやコンテンツの一部を転送することが可能である。
【００１６】
ホームサーバ３０は、ネットワークによって双方向通信可能なPC(Personal  Computer)やHDD(Hard Disk Drive）レコーダ、TV等の情報機器である。通信機能を利用して、例えばUPnP（Universal Plug and Play）やJiniで実装されている処理装置に対して、RPC(Remote Procedure Call)のようなネットワークで接続した機器に処理依頼できるクライアントを実装しており、同機能を有する複数の処理装置に対しては、前記クライアントのみで制御可能である。また、同時に前記クライアントの処理依頼を受け付けるサーバを実装することも可能である。またさらに、コンテンツを転送する機能として、例えば、HTTP（HyperText Transfer Protocol）やRTP(Real-time Transfer Protocol)、RTSP（Real Time Streaming Protocol）等のプロトコルを実装し、コンテンツを処理装置１０もしくは同じ筐体に実装しているプログラムに転送する機能を有する。
【００１７】
本実施形態で説明するトランスコーディングシステムは、上記に示した機器を利用してホームサーバ３０に蓄積されたコンテンツをGOP単位に分割し、UPnPを利用して処理装置１０へトランスコーディングの処理依頼を実施し、処理装置１０の性能や処理負荷の状況に合わせて、処理装置１０に送信するGOPの数を増減させ、さらに、処理識別子を管理することによって、複数のトランスコーディング処理を実施することを可能にする。
【００１８】
図２は本実施形態を適応しうる処理装置１０のハードウェア構成図である。図２に示すように、処理装置１０は、CPU（Central Processing Unit）１１と、主記憶１２と、通信制御処理部１３と、データ格納部１４と、トランスコード処理部１５と、プログラム格納部１６によって構成されている。そして、処理装置１０の各構成要素は、バス１７によって接続され、各構成要素間で必要な情報が伝達可能なように構成されている。
ＣＰＵ１１は、主記憶１２やプログラム格納部１６にあらかじめ格納されているプログラムによって所定の動作を行う。
【００１９】
主記憶１２は、ワークエリアとして機能したり、必要なプログラムを格納するための手段であり、例えば、前者に対してはＲＡＭ（Random Access Memory）、後者に対してはＲＯＭ(Read Only Memory)等によって実現できる。
【００２０】
通信制御処理部１３は、ホームネットワーク２０を介して、同じくホームネットワーク２０に接続される装置とデータを送受信するための手段であり、例えば、モデム、ネットワークアダプタ、無線送受信装置等によって実現される。
データ蓄積部１４は、コンテンツを格納する手段であり、例えば、HDD、光ディスク、Flashメモリ等によって実現できる。
【００２１】
トランスコード処理部１５は、コンテンツをトランスコーディングする機能を有し、ソフトウェアもしくはハードウェアによって実装されている。ホームサーバ３０から送信されてくるコンテンツの一部を、ホームサーバ３０から指示されたフォーマットに変換することが可能である。ソフトウェアで実装する場合には、トランスコード処理部１５にあるプログラムを主記憶１２に展開し、CPU１１を利用して、処理を行っても良いし、CPU11とは別にトランスコード用のCPUとメモリを搭載して処理を行っても良いし、CPUのみ搭載してメモリはホスト側の主記憶１２を利用しても良い。また、ハードウェアによる実装においても、主記憶１２を利用して処理を実行しても良い。
プログラム格納部１６は、処理装置１０の動作を制御するためのプログラムを保存する手段であり、例えば、HDD、光ディスク、Flashメモリ等によって実現できる。UPｎPやJini等のミドルウェアやアプリケーションのバイナリデータが保存されており、前記ミドルウェアやアプリケーションは、主記憶１２に展開され、CPU１１上で動作する。
【００２２】
図３は本実施形態を適応しうるホームサーバ３０のハードウェア構成図である。図３に示すように、ホームサーバ３０は、CPU（Central Processing Unit）３１と、主記憶３２と、通信制御処理部３３と、データ格納部３４と、プログラム格納部３５によって構成されている。そして、ホームサーバ３０の各構成要素は、バス３６によって接続され、各構成要素間で必要な情報が伝達可能なように構成されている。
【００２３】
ＣＰＵ３１は、主記憶３２やプログラム格納部３５にあらかじめ格納されているプログラムによって所定の動作を行う。
【００２４】
主記憶３２は、ワークエリアとして機能したり、必要なプログラムを格納するための手段であり、例えば、前者に対してはＲＡＭ（Random Access Memory）、後者に対してはＲＯＭ(Read Only Memory)等によって実現できる。
通信制御処理部３３は、ホームネットワーク２０を介して、同じくホームネットワーク２０に接続される装置とデータを送受信するための手段であり、例えば、モデム、ネットワークアダプタ、無線送受信装置等によって実現される。
データ蓄積部３４は、コンテンツを格納する手段であり、例えば、HDD、光ディスク、Flashメモリ等によって実現できる。
【００２５】
プログラム格納部３５は、ホームサーバ３０の動作を制御するためのプログラムを保存する手段であり、例えば、HDD、光ディスク、Flashメモリ等によって実現できる。UPｎPやJini等のミドルウェアやアプリケーションのバイナリデータが保存されており、前記ミドルウェアやアプリケーションは、主記憶３２に展開され、CPU３１上で動作する。
処理制御部３７は、ネットワーク上に存在する処理装置を統合管理する。ソフトウェアもしくはハードウェアによって実装されている。
また、ホームサーバ３０の同じ筐体に、処理装置１０の機能を同時に実装してもよく、この場合、トランスコード処理部１５と同機能が実装される。ホームサーバ３０は同じ筐体に実装されている処理装置１０に関しては、ネットワークで接続されている他の処理装置１０と同等のものとして取り扱えるとする。
【００２６】
図４は、動画フォーマットであるMPEGのデータ構造例である。MPEGコンテンツは１以上のGOP（Group Of Pictures）によって構成されており、さらにGOPは複数のフレームによって構成されている。GOPはコンテンツ内の他のGOPとは独立性が保たれており、単体でGOPが管理するフレーム分の映像を再生することが可能である。コンテンツはこの１以上のGOPが連なってできている。GOP内のフレーム構成によって様々であるが、１つのGOPはおよそ０．５秒の映像になっており、本実施例の分散トランスコーディングでは、GOPを１単位として、ホームサーバ３０が処理装置１０に対して複数のGOPを処理能力を考慮しながら振り分ける。データ長の短いGOPを１単位とすることにより、GOP数の増減が容易であり、また、他の処理装置１０が新たに処理に参加するときにも、処理振り分けを即座に行うことを可能にする。
【００２７】
図５は、処理管理テーブル１００の構成例である。処理管理テーブル１００は、ホームサーバ３０の主記憶１２に展開され、分散トランスコーディング処理を管理するテーブルである。処理管理テーブル１００は、シーケンスID１０５と、GOP開始位置１１０と、GOP数１１５と、処理時間１２０と、状態１２５と、ファイルID１３０で構成されている。シーケンスID１０５は、処理装置１０に振り分けた複数GOPの塊に付加したシーケンス番号である。本実施例では、ホームサーバ３０が処理装置１０にGOPを振り分けるときに、処理装置１０の処理能力に合わせて、送信するGOPの数を変化させるが、送信するGOP群はコンテンツに対して連続したGOPを選択する。そのため、GOP群をシーケンス番号順に並べて結合すれば、ソースのコンテンツと同じコンテンツを生成することができる。
【００２８】
このシーケンスID１０５は、後述するファイルID130にも付加され、トランスコーディング後のGOP群のファイル名となり、トランスコーディング後のGOP群を結合するときに利用する。GOP先頭位置１１０は、処理装置１０へ送信するGOPの先頭位置アドレスを記述する。GOP数１１５は、処理装置１０へ送信したGOP先頭位置１１０からのGOP数である。処理時間１２０は、処理装置１０へ処理依頼を実施してから、処理依頼を受信した処理装置１０がトランスコード処理終了通知を送信してくるまでの時間である。
【００２９】
状態１２５は、シーケンスID１０５に該当するGOP群が既にホームネットワーク２０に存在する処理装置１０に割り当たっているか、既に処理は処理が終了しているか、まだ割当処理を行っていないか、タイムアウトになっていないか、再割当処理が行われたかが登録される領域である。ファイルID１３０は、トランスコーディング後のGOP群をホームサーバ３０に転送するときに、ファイル名として同時に送信するIDである。ホームサーバ３０は処理後のGOP群と同時に受信したファイルID１３０を前述したGOP群のファイル名として、ホームサーバ３０内のデータ蓄積部３４に蓄積する。
【００３０】
図６は、フォーマット変換テーブル２００の構成例である。フォーマット変換テーブル２００は、ホームサーバ３０から処理装置１０に対して、初期化処理時に送信するテーブルであり、トランスコーディングする対象のコンテンツのフォーマット情報と、トランスコーディング後のフォーマット情報が記載してある。構成する要素として、トランスコーディング処理を識別する処理IDと、変換前フォーマット２１０と、変換後フォーマット２１５である。本テーブルは便宜上テーブルとして扱っているが、送信時には、UPｎP等に扱いやすいようにXML（eXtensible Markup Language）やCSV（Comma Separated Values）、またはそれらを組み合わせたフォーマットに変更してもかまわない。
【００３１】
次に本実施形態における初期化処理を、図面を用いて説明する。
【００３２】
図７は、分散トランスコーディングを実施前の初期化処理方法である。まず、ステップS３００では、ユーザがコンテンツを視聴する視聴装置（不図示）から視聴装置の機器情報（解像度、画面サイズ、対応フォーマット等）と視聴するコンテンツの情報（例えば、コンテンツを識別するコンテンツIDやURI（Uniform Resource Identifier）等）をホームサーバ３０に送信する。前提として視聴装置には宅内もしくは宅外のコンテンツサーバからコンテンツ一覧を取得しており、コンテンツ情報を所有しているものとする。
【００３３】
ステップS３０５では、ホームサーバ３０は機器情報とコンテンツ情報を取得すると、コンテンツ情報を基にコンテンツをダウンロードし、データ蓄積部３４に格納する。加えて、コンテンツの詳細情報をコンテンツサーバもしくは、ダウンロード時にコンテンツを解析して取得する。
ステップS３１０では、ホームサーバ３０は、UPｎP等を利用して、ホームネットワーク２０に存在するトランスコーディングサービスを提供している処理装置１０を検索する。検索結果で所望な処理装置１０が存在しない場合には、トランスコーディングができないことを視聴装置を操作するユーザに、通信制御処理部３３を利用しネットワークを通して通知する。このとき、視聴装置の機器情報とコンテンツ情報を送信してきた戻り値としてエラー情報を通知しても良いし、ホームサーバ３０内のデータ蓄積部３４に格納しておき、視聴装置がホームネットワーク２０に参加してきたときに、エラー情報として視聴装置に通知しても良い。通知する手段として、メールを利用しても良い。
【００３４】
ステップS３１５では、S３１０の結果として所望の処理装置１０が発見されなかった場合、初期化処理は終了する。S３１０の結果として所望の処理装置１０が発見された場合は、ステップS３２０へ移行する。
【００３５】
ステップS３２０では、発見された処理装置１０が持つトランスコーディングサービスの機能一覧を取得し、さらにトランスコーディング可能なフォーマット一覧を取得する。フォーマット一覧には、少なくても多重化方式とVideoフォーマット、Audioフォーマット及び、画面サイズを含み、組合せ可能な項目はすべて列挙して、処理装置１０はホームサーバ３０へ送信する。
ステップS３２５では、S320で取得した各処理装置１０におけるトランスコーディング可能なフォーマット一覧から、変換前のコンテンツフォーマットをユーザが所望するコンテンツのコンテンツ情報とし、変換後のコンテンツフォーマットを視聴装置の機器情報に対応できるコンテンツのフォーマットとして、前記一覧から変換できる組合せを検索する。
ステップS３３０では、S325で検索して該当する処理装置１０が存在しなかった場合、トランスコーディングができないことをホームサーバ３０に通知し、ホームサーバ３０は視聴装置を操作するユーザに、通信制御処理部３３を利用して通知する。該当する処理装置１０が発見された場合、ステップ３３５に移行する。
【００３６】
ステップS３３５では、ホームサーバ３０がトランスコーディング処理を管理する処理ID２０５を発行し、フォーマット変換テーブル２００と処理管理テーブル１００とトランスコーディング可能な処理装置１０のリストを生成し、処理ID２０５に関連付けて主記憶３２に記憶する。さらに、フォーマット変換テーブル２００と処理ID２０５はトランスコーディング処理が可能な処理装置１０に対して送信する。処理装置１０はフォーマット変換テーブル２００と処理ID２０５を受信すると、関連付けて主記憶１２に記憶する。フォーマット変換テーブル２００や処理管理テーブル１００は、処理IDごとに存在する。フォーマット変換テーブル２００は、S３２５で検索した組合せ検索結果によって生成し、処理管理テーブル１００は、コンテンツ情報を基に生成する。
【００３７】
次に、本実施形態における動作を、図面を用いて説明する。
図８は、分散トランスコーディング処理実施時の処理方法である。
【００３８】
ステップS４００では、図８の初期化処理を受けて、発行した処理ID２０５にひもづく処理装置１０のリストとフォーマット変換テーブル２００と処理管理テーブル１００を取得する。また、さらに処理単位時間と初期GOP数Mを設定する。処理単位時間とは、一種のタイムアウト値であり、ホームサーバ３０から処理装置１０に対して処理依頼をした後、処理単位時間後にトランスコーディング処理が終了したGOP数分をホームサーバ３０に送信し、さらにUPｎPを通して継続通知を発行する。継続通知後、処理装置１０はトランスコーディング処理が終了していないGOP分の処理を実施し、さらに継続通知後から処理単位時間後に処理が完了したGOPをホームサーバ３０に送信する。処理単位時間前にGOPの処理が終了していれば、処理単位時間が来る前にホームサーバ３０へ処理の終了したGOPを送信する。処理単位時間を設けたのは、各処理装置１０は家電製品を想定しているため、予期しない電源のシャットダウンや突然ネットワークケーブルを抜かれてしまうというようなことが考えられる。そのため、少なくても処理単位時間に終了した処理は結果としてホームサーバ３０に送信した方が効率がよい。詳しい処理方法についてはステップS４０５以降にて説明する。
【００３９】
ステップS４０５では、UPｎP等を利用して、ホームサーバ３０が処理装置１０のリストにある処理装置１０に対して、トランスコーディングの処理依頼を実施する。処理依頼には、処理ID２０５とシーケンスID１０５に加えて、コンテンツのURIと処理単位時間が記述されている。このとき処理管理テーブル１００には、シーケンスID１０５とGOP先頭位置１１０、GOP数１１５を追記する。ちなみに処理装置１０に対して最初に送信するGOP数は初期GOP数のM個である。
【００４０】
ステップS４１０では、処理装置１０は、処理依頼を受信するとコンテンツのURIにアクセスし処理ID２０５とシーケンスID１０５を送信する。ホームサーバ３０は、コンテンツの取得要求と処理ID２０５とシーケンスID１０５を受け取ると、初期GOP数Mを送信し、処理管理テーブル１００を更新する（ステップS４１５）。状態１２５を割当済にする。
ステップS４２０では、処理装置１０が受信した処理ID２０５をキーにして、主記憶１２に存在するフォーマット変換テーブル２００を取得して、ホームサーバ３０から取得したGOP群に対してトランスコーディング処理を実施する。
【００４１】
ステップS４２５では、処理装置１０で処理単位時間の経過を確認する。処理単位時間に達していなければ、トランスコーディング処理を継続する。処理単位時間に達している場合、ステップS４３０へ移行する。
【００４２】
ステップS４３０では、処理単位時間までに終了したN個のGOPとをホームサーバ３０へ送信する。ホームサーバ３０のデータ蓄積部３４には、処理IDとシーケンスIDと処理単位時間の繰り返し回数をものをファイル名として保存する。
ステップS４３５では、受信したGOP数Mから処理単位時間で処理したGOP数Nを引いて、Mに代入する。
【００４３】
ステップS４４０では、GOP数Mが０以上である場合、処理単位時間で処理しきれないGOPが存在していると判断し、トランスコーディングの処理を継続する。GOP数Mが０である場合、受信したGOPすべて処理をしたものとして、ステップS４４５に移行する。
ステップS４４５では、処理装置１０は、ホームサーバ３０に対してUPnPを利用して処理ID２０５とシーケンスID１０５を付加して、終了処理通知を送信する。ホームサーバ３０は処理管理テーブル１００を更新し、状態１２５を処理完了にし、処理装置１０からホームサーバ３０に送信した処理後のデータ名をファイルID１３０とする。
【００４４】
ステップS４５０では、トランスコーディング処理を継続させ、ホームサーバ３０に対して処理ID２０５とシーケンスID１０５を付加して処理継続通知を送信する。
ステップS４５５では、ホームサーバ３０は処理装置１０の処理結果から判断し、処理単位時間で終了するGOP数にGOP数Mを変更して、次の処理を処理管理テーブル１００に追加し、ステップS４０５に移行する。
【００４５】
以上のことによって、処理装置１０の性能や負荷状況にあわせて処理依頼するGOP数を変更することが可能になり、処理ID２０５を管理して、処理ID２０５ごとに複数処理することによって、ホームネットワークに適合した分散トランスコーディングシステムを構築することが可能である。
【００４６】
尚、本発明は上述した実施の形態の例に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
【産業上の利用可能性】
【００４７】
本発明は、処理装置には、HDDレコーダ、PC、PDA、携帯電話等の様々なデジタル家電を想定し、ホームサーバはPCやHDDレコーダなどを想定している。また、ここで記述した処理内容に関しては、これまでにあげた情報機器のミドルウェアとして搭載することになる。
【図面の簡単な説明】
【００４８】
【図１】本実施形態の分散トランスコーディングシステムの構成図である。
【図２】本実施形態の処理装置のハードウェア構成図である。
【図３】本実施形態のホームサーバのハードウェア構成図である。
【図４】本実施形態で利用するMPEGの構造の一例を示す図である。
【図５】本実施形態のホームサーバで管理する処理管理テーブル構造の一例を示す図である。
【図６】本実施形態のホームサーバと処理装置で利用するフォーマット変換テーブルの構造の一例を示す図である。
【図７】本実施形態における初期化処理のフローチャートである。
【図８】本実施形態における動作のフローチャートである。
【符号の説明】
【００４９】
１…トランスコーディングシステム  １０…処理装置  １１…CPU  １２…主記憶  １３…通信制御処理部  １４…データ蓄積部  １５…トランスコード処理部  １６…プログラム格納部  １７…バス  ３１…CPU  ３２…主記憶  ３３…通信制御処理部  ３４…データ蓄積部  ３５…プログラム格納部  ３６…バス  ４０…コンテンツ  １００…処理管理テーブル  １０５…シーケンスID  １１０…GOP先頭位置  １１５…GOP数  １２０…処理時間  １２５…状態  １３０…ファイルID  ２００…フォーマット変換テーブル  ２０５…処理ID  ２１０…変換前フォーマット  ２１５…変換後フォーマット
【図１】
0004654918.tif 000002
【図２】
0004654918.tif 000003
【図３】
0004654918.tif 000004
【図４】
0004654918.tif 000005
【図５】
0004654918.tif 000006
【図６】
0004654918.tif 000007
【図７】
0004654918.tif 000008
【図８】
0004654918.tif 000009