(57)【特許請求の範囲】
【請求項１】
デジタルストリームを構成する各符号化単位に対するトランスコードを、記録装置と、補助装置とで分散して実行するシステムにおける記録装置であって、
デジタルストリームの前半を構成する複数の符号化単位を記録装置に割り当て、デジタルストリームの後半を構成する複数の符号化単位を補助装置に割り当てる割当手段と、
デジタルストリームの前半を構成する各符号化単位を、先頭から順にトランスコードするトランスコード手段と、
デジタルストリームの後半を構成する各符号化単位を、末尾のものから順に補助装置に送信する送信手段と、
前記補助装置からのトランスコード結果を受信する受信手段と、
前記トランスコード手段が1の符号化単位に対してトランスコードすると同時に、当該１の符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、前記トランスコード手段によるトランスコード結果が当該単一の記録媒体に書き込まれた後、前記補助装置のトランスコード結果を当該単一の記録媒体に書き込む書込手段と、を備える
ことを特徴とする記録装置。
【請求項２】
前記割当手段は、記録装置及び補助装置におけるトランスコードの目標値を定めて、補助装置に通知し、
前記記録装置は更に、
自機によるトランスコードが、自機に対して定めた目標値まで到達した場合、補助装置によるトランスコードが、補助装置に対し定めた目標値まで到達したか否かを判定する判定手段を備え、
前記トランスコード手段は、
補助装置によるトランスコードが目標値未到達である場合、記録装置は目標値以降の符号化単位に対するトランスコードを実行する
ことを特徴とする請求項１記載の記録装置。
【請求項３】
前記記録装置は、
システムに存在するデジタル家電における、著作権保護機能の有無を判定して、著作権保護機能を有するデジタル家電を、補助装置として認識する
ことを特徴とする請求項１または請求項２に記載の記録装置。
【請求項４】
デジタルストリームを構成する各符号化単位に対するトランスコードを、記録装置と、補助装置とで分散して実行するシステムであって、
前記記録装置は、
符号化単位に対するトランスコードを行うトランスコード手段と、
トランスコード結果を前記単一の記録媒体に書き込む書込手段とを備え、
前記書込手段は、
トランスコード手段による1の符号化単位に対するトランスコードと同時に、当該符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、
トランスコード手段によるトランスコード結果が単一の記録媒体に書き込まれた後、補助装置によるトランスコード結果を補助装置から受信して、単一の記録媒体に書き込み、  前記補助装置は、
トランスコード機能が追加されたデジタル家電であり、
デジタル家電本来の処理が実行されていない状態で、トランスコードを行う
ことを特徴とするシステム。
【請求項５】
前記補助装置によるトランスコードは、ユーザにより電源投入操作がなされた場合に行われ、
ユーザにより電源オフ操作がなされた場合、前記補助装置はトランスコードを中断する
ことを特徴とする請求項４記載のシステム。
【請求項６】
前記補助装置は、処理の予約設定を受け付ける予約設定手段を備えたデジタル家電であり、
前記補助装置は、トランスコードを予約設定された時間帯において実行し、
予約設定された時間帯において、ユーザからデジタル家電本来の処理が要求されたとしても、かかる処理を実行しない。
ことを特徴とする請求項４記載のシステム。
【請求項７】
デジタルストリームを構成する各符号化単位に対するトランスコードを、記録装置と、補助装置とで分散して実行するシステムにおいて、記録装置に内蔵される集積回路であって、
デジタルストリームの前半を構成する複数の符号化単位を記録装置に割り当て、デジタルストリームの後半を構成する複数の符号化単位を補助装置に割り当てる割当手段と、
デジタルストリームの前半を構成する各符号化単位を、先頭から順にトランスコードするトランスコード手段と、
デジタルストリームの後半を構成する各符号化単位を、末尾のものから順に補助装置に送信する送信手段と、
前記補助装置からのトランスコード結果を受信する受信手段と、
前記トランスコード手段が1の符号化単位に対してトランスコードすると同時に、当該１の符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、前記トランスコード手段によるトランスコード結果が当該単一の記録媒体に書き込まれた後、前記補助装置のトランスコード結果を当該単一の記録媒体に書き込む書込手段と、を備える
ことを特徴とする集積回路。
【請求項８】
デジタルストリームを構成する各符号化単位に対するトランスコードを、記録装置と、
補助装置とで分散して実行するシステムにおいて、記録装置となるコンピュータに対して書き込み処理を行わせるプログラムであって、
デジタルストリームの前半を構成する複数の符号化単位を記録装置に割り当て、デジタル
ストリームの後半を構成する複数の符号化単位を補助装置に割り当てるステップと、
デジタルストリームの前半を構成する各符号化単位を、先頭から順にトランスコードするステップと、
デジタルストリームの後半を構成する各符号化単位を、末尾のものから順に補助装置に送信するステップと、
前記補助装置からのトランスコード結果を受信するステップと、
前記トランスコードするステップが1の符号化単位に対してトランスコードすると同時に、当該１の符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、前記トランスコード手段によるトランスコード結果が当該単一の記録媒体に書き込まれた後、前記補助装置のトランスコード結果を当該単一の記録媒体に書き込むステップと、を含むことを特徴とするプログラム。
【請求項９】
デジタルストリームを構成する各符号化単位に対するトランスコードを、記録装置と、補助装置とで分散して実行するシステムにおいて、記録装置にて実行される記録方法であって、
デジタルストリームの前半を構成する複数の符号化単位を記録装置に割り当て、デジタル
ストリームの後半を構成する複数の符号化単位を補助装置に割り当てるステップと、
デジタルストリームの前半を構成する各符号化単位を、先頭から順にトランスコードするステップと、
デジタルストリームの後半を構成する各符号化単位を、末尾のものから順に補助装置に送信するステップと、
前記補助装置からのトランスコード結果を受信するステップと、
前記トランスコードするステップが1の符号化単位に対してトランスコードすると同時に、当該１の符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、前記トランスコード手段によるトランスコード結果が当該単一の記録媒体に書き込まれた後、前記補助装置のトランスコード結果を当該単一の記録媒体に書き込むステップと、を含む  
ことを特徴とする記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、あるコード形式で変換されて記録媒体に記録されているデジタルストリームを、別のコード形式に変換するというトランスコードの技術分野に属するものであり、記録装置と、これを補助する補助装置とを含むシステムに、かかるトランスコードを応用する場合の応用技術にかかわる。
【背景技術】
【０００２】
上述したトランスコード技術は、ハードディスク(HD)に一旦記録されたデジタルストリームを、光ディスクやメモリカードにコピーする際に必須となる技術であり、かかるトランスコード技術は、民生機器の産業分野において、様々な記録装置に応用されている。
トランスコードでは、MPEG2-TS(Transport Stream)形式、MPEG2-PS(Program Stream)形式で圧縮符号化されているデジタルストリームを、一旦非圧縮形式に戻す必要があり、実時間処理が必要となる。ここで実時間処理とは、デジタルストリームの再生時間と同等の処理時間を要する処理のことであり、例えば2時間長の動画に相当するデジタルストリームに対し、トランスコードを施すには、2時間の実時間処理が必要になる。
【０００３】
実時間処理である故、分散処理による高速化の試みが従来からなされている。その1つが、下記の特許文献1に記載された先行技術である。先行技術は、1つの装置内に実装された複数プロセッサに、トランスコードの分散処理を実行させて、高速化を図るというものである。
【特許文献１】特開2001-86460号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで分散処理を行うにあたって、複数処理主体のそれぞれで得られた処理結果を、どのようにして1つにまとめるかが問題になる。ある処理を複数処理主体で分散処理実行して、この実行により得られたデータを単一の記録媒体に記録しようとすると、それら2つの処理主体による媒体アクセスが競合する。この場合、一般のアクセス調停では、どちらか片方のアクセスが後回しにされる。片方のアクセスが後回しにされると、トランスコードを分散処理するにしても、処理時間は1/2にならず、片方の機器による書き込みが後回しにされる分だけ、タイムディレイが発生する。
【０００５】
本発明の目的は、トランスコードの分散処理を行うにあたって、一方の機器による記録媒体アクセスが後回しにされることによるタイムディレイをできるだけ小さくすることができるシステムを提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る記録装置は、デジタルストリームを構成する各符号化単位に対するトランスコードを、複数装置が実行するシステムにおいて、複数装置によるトランスコード結果を、単一の記録媒体に書き込む記録装置であって、符号化単位に対するトランスコードを行うトランスコード手段と、トランスコード結果を前記単一の記録媒体に書き込む書込手段とを備え、前記書込手段は、トランスコード手段による1の符号化単位に対するトランスコードと同時に、当該符号化単位に先行する符号化単位のトランスコード結果を単一記録媒体に書き込み、トランスコード手段によるトランスコード結果が当該単一の記録媒体に書き込まれた後、補助装置によるトランスコード結果を補助装置から受信して、当該単一の記録媒体に書き込むことを特徴としている。
【発明の効果】
【０００７】
上記構成によれば、各符号化単位に対するトランスコードと、符号化単位に対するトランスコード結果の書き込みとをパイプライン的に実行することが可能になるので、トランスコード結果の書き込みが早く終了する。
これにより補助装置がトランスコードに専念している間に、自機によるトランスコードの成果物をターゲットとなる記録媒体上に得ることができる。記録装置によるトランスコード結果の書き込みは、補助装置がトランスコードに専念している間に行われるので、記録装置によるトランスコード結果の書き込み完了後直ちに、補助装置は自機のトランスコード結果をターゲット媒体に書き込むことができる。補助装置によるトランスコード結果の書き込みは、早期になされるので、両機器によるトランスコード結果が、1つのターゲット媒体上に、早期に得られることになる。そのため、トランスコードを伴うような、媒体間のコピー処理の迅速に実行することができる。
【０００８】
前記記録装置は、デジタルストリームの前半を構成する複数符号化単位を記録装置に割り当て、デジタルストリームの後半を構成する複数符号化単位を補助装置に割り当てる割当手段を備え、デジタルストリームの後半を構成する複数符号化単位を、末尾のものから順に、補助装置に送信してゆく送信手段と、デジタルストリームの前半を構成する複数符号化単位を先頭のものから順に、トランスコードしてゆく実行手段とを備え、前記補助装置は、送信された各符号化単位に対するトランスコードを行ってもよい。デジタルストリームを構成する符号化単位を後ろから順次送信してゆくので、記録装置と、補助装置との処理分担を変化させる場合に、前半−後半の境界の変更を容易することができる。
【０００９】
ここで記録装置における割当手段は、記録装置及び補助装置におけるトランスコードの目標値を定めて、補助装置に通知し、自機によるトランスコードが、自機に対して定めた目標値まで到達した場合、補助装置によるトランスコードが、補助装置に対し定めた目標値まで到達したか否かを判定する判定手段を備え、実行手段は、補助装置によるトランスコードが目標値未到達である場合、記録装置は目標値以降の符号化単位に対するトランスコードを実行しても良い。
【００１０】
補助装置による処理効率が悪い場合にも、柔軟な処理割り当てを実現できるので、主装置−補助装置における性能差があってもよくなる。このように、様々な機器からなる混成型のシステムであっても、トランスコード効率を向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明に係るシステムの実施行為の形態について説明する。この実施行為のうち、本発明に係るシステムの使用行為について説明する。本発明に係るシステムは、記録装置と、デジタルテレビとから形成されるホームサーバシステムであり、デジタルTVで放送されるデジタルストリームの録画を行うという用途に供される。図１は、本発明に係るホームサーバシステムを示す図である。
【００１２】
ホームサーバシステムは、記録装置であるハイブリッドレコーダ１００、デジタルTV２００、ゲーム機３００等、IEEE1394デジタルインターフェイスを具備したデジタル家電同士を、ネットワークを介して接続することで構成される。
ネットワークに接続された各機器は、自身が放送局から受信したMPEG2-TS(Transport Stream)形式のデジタルストリームをIEEE1394を介して他の装置に出力することができるし、他の装置が放送局から受信したデジタルストリームをIEEE1394を介して入力することができる。デジタルストリームは、ホームサーバシステムという閉じた世界において自由にコピーされる。以上が本発明に係るシステムの使用行為の形態である。
【００１３】
ネットワーク上の転送にあたって記録装置は、MPEG2-TS形式のデジタルストリームをDTCP(Digital Transmission ContentProtection)規格のプロトコルに基づき他の装置に転送する。このDTCP規格でのプロトコルは、互いの機器の相互認証や、TSパケットの暗号化・復号化等の手順を含む。しかし詳細については本願の主眼ではないので省略する。DTCP規格によりTSパケットの送受信を行う機器は、相互認証の段階で、著作権保護に準拠しない機器との接続を排除する。そのため、著作権保護機構のないマイクロドライブやコンパクトフラッシュ（登録商標）のドライブ装置に、デジタルストリームが転送されることはない。
【００１４】
DVDやHDにデジタルストリームを書き込んでよいか否かは、DTCP規格におけるDTCP_Descriptorに明記されて他の装置に伝えられる。
ホームサーバシステムに存在する各機器について説明する。
ハイブリッドレコーダ１００は、デジタルTV放送により放送されたデジタルストリームを受信して、HDに書き込む装置である。こうしてHDに書き込まれたデジタルストリームを、ハイブリッドレコーダ１００は、再生してゆくことができる。またハイブリッドレコーダ１００は、HDに書き込まれたデジタルストリームを、SDカードやDVDにコピーすることもできる。
【００１５】
デジタルテレビ２００は、ハイブリッドレコーダ１００による再生出力の表示を行う。
ゲーム機３００は、BD-ROM,DVD-ROMに記録されたゲームアプリケーションを実行する。
デジタルTV放送で放送されるデジタルストリームは、ビデオストリーム及びオーディオストリームを多重化して構成された、MPEG2-TS形式の多重化ストリームである。ビデオストリームにおけるビデオフレームは約33msec（正確には1/29.97sec）の時間長を有し、一枚の画像を表示するピクチャデータを意味する。このピクチャデータには、過去方向および未来方向に再生されるべき画像との相関性を用いてフレーム間圧縮符号化がなされているBidirectionallyPredictive(B)ピクチャ、過去方向に再生されるべき画像との相関性を用いてフレーム間圧縮符号化がされているPredictive(P)ピクチャ、相関性を用いず、一フレーム分の画像内での空間周波数特性を利用してフレーム内圧縮符号化がなされているIntra(I)ピクチャといった種別がある。かかるIピクチャは、約0.5秒〜1.0秒の時間置きに存在しており、上述したフレーム間圧縮符号化は、この約0.5秒〜1.0秒の時間置きに施されている。フレーム間圧縮符号化が施された、デジタルストリーム上の一部分を"符号化単位"といい、デジタルストリームの復号は、この符号化単位を最小単位にしてなされる。この符号化単位は、具体的には、MPEG2に規定されたGOP(GroupOf Picture)と、このGOPと同時に読み出されるオーディオフレームとからなる。こうした符号化単位が存在するので、上述したハイブリッドレコーダ１００によるコピーや再生は、この符号化単位を最小単位にして実行することができる。
【００１６】
以上が本発明に係る機器の使用形態である。続いて記録装置であるハイブリッドレコーダの生産行為の形態について説明する。ハイブリッドレコーダ１００は、主として集積回路、ドライブ装置、電源回路というパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。集積回路は、ハイブリッドレコーダ１００の機能を果たす様々な処理部を集積した集積回路である。こうして生産される記録装置は、図２の内部構成を有する。図２に示すように、記録装置は、チューナ１、ソース媒体２、ターゲット媒体３、トランスコーダ４、送受信部５、バッファ６、バッファ７、マイコンシステム８から構成される。これらの構成要素のうち、チューナ１、トランスコーダ４、マイコンシステム８は、一個のシステムLSIとして、ハイブリッドレコーダ１００に組み込まれていることがわかる。
【００１７】
チューナ１は、放送波を受信してMPEG2-TS形式のデジタルストリームを得る。  
ソース媒体２は、デジタルストリームを格納する。ここでデジタルストリームは、ビデオストリーム及びオーディオストリームを多重化することで得られたMPEG2-TS形式のデジタルストリームである。符号化単位を基準にして、デジタルストリームをアクセスする必要があるので、ソース媒体２に格納されているデジタルストリームにはEP-map(EntryPoint-Map)が対応づけられている。デジタルストリームでは、ビデオストリームにおけるGOP(Group of Picture)と、このGOPと同時に読み出されるオーディオフレームとが、この符号化単位に該当している。デジタルストリーム内に含まれる、各GOP先頭からの再生を可能するため、EP_mapは、GOPの先頭に位置するIピクチャの再生開始時刻を、GOP先頭のIピクチャのアドレスと対応づけて示す。Iピクチャの再生開始時刻は、Iピクチャのタイムスタンプ(PresentationTime Stamp)で表現される。またIピクチャアドレスは、TSパケットの連番(SPN(Source Packet Number))で表現される。このEP-mapを用いることで、時間−アドレス変換が可能になる。つまりデジタルストリームの再生時間軸における任意の再生時点を、符号化単位のアドレスに変換するという変換作業が可能になるので、デジタルストリーム再生時間軸の任意の再生時点を用いて、デジタルストリームを構成する任意の符号化単位をアクセスすることができる。
【００１８】
ターゲット媒体３は、DVD、SDカード等の可搬型記録媒体である。SDカードにおけるコード形式はMPEG4-AVC形式、DVDのコード形式はMPEG2-PS(ProgramStream)形式であり、HDにおけるコード形式とは異なる。コード形式の違いがある故、HDに記録されているデジタルストリームを、ターゲット媒体にコピーするにあたっては、コード形式を変換する処理(トランスコード)が必要になる。トランスコードとは、何等のコード形式で記録媒体に記録されているデジタルストリームを、一旦非圧縮形式に戻して、別のコード形式に置き換える処理であり、実時間の処理時間を要する。
【００１９】
トランスコーダ４は、トランスコードの実行主体であり、ターゲット媒体３に記録されているデジタルストリームのコード形式の変換を行う。トランスコーダ４による変換対象には様々な形式がある。MPEG2-TS、MPEG2-PS、MPEG4-AVCといったものは一例に過ぎず、VC-1等の符号化形式であってもよい。説明の単純化を期するため、以降の説明は、DVDのコード形式、又は、SDカードのコード形式について行う。
【００２０】
送受信部５は、デジタルストリームを構成する符号化単位の送受信を行う。送受信部５が符号化単位を送信することにより、ターゲット媒体３に記録されているデジタルストリームを、ネットワークに接続されているデジタルTVに送り出し再生させることができる。また送受信部５が受信を行うことにより、他の装置から送信された符号化単位を、ターゲット媒体３又はターゲット媒体に書き込むことができる。かかるの送受信により、記録装置はネットワークに接続されている他の装置との連携を図ることができる。
【００２１】
デジタルストリームを構成する符号化単位を送信するにあたって、送受信部５は、相手側装置と相互認証を行い、著作権保護が相手側装置に存在するかどうかを判定する。相手側装置に著作権保護が存在するなら、分散処理というセッションに一意なセッション鍵を生成し、これを記録装置側と相手側装置側とで共有する。共有後、このセッション鍵を用いて符号化単位を暗号化した上で、送信する。
【００２２】
バッファ６は、ソース媒体２からの読出速度と、トランスコーダ４によるトランスコードの処理速度との速度差を吸収するためのバッファである。
バッファ７は、ターゲット媒体３への書込速度と、トランスコーダ４によるトランスコードの処理速度との速度差を吸収するためのバッファである。
マイコンシステム８は、CPU、プログラムを格納したROM、RAMからなる典型的なコンピュータシステムである。ROMに格納されたプログラムがCPUに読み込まれ、プログラムと、ハードウェア資源とが協動することにより、使用目的に応じた情報の演算又は加工を実現する。ここでの使用目的には、コピー、対話操作といったものがあり、プログラムと、ハードウェア資源とが協動した具体的手段が、使用目的に応じた情報の加工又は演算を行うことで、使用目的に応じた特有の情報処理装置(ハイブリッドレコーダ１００)が構築される。
【００２３】
図３は、マイコンシステム８を構成するプログラムと、ハードウェア資源とが協動した具体的手段を機能的に記載した構成図である。機能的に表現すると、マイコンシステム８は、GUI制御部９、トランスコード制御部１０、補助装置検出部１１、送受信制御部１２、分散処理割当部１３から構成される。
GUI制御部９は、GUIを作成し、このGUIをデジタルテレビ２００に表示させるよう送受信部５に指示する。これと共に、ユーザが行った操作に従い、記録装置の統合制御を行う。GUIは、HDに記録された複数のデジタルストリームと、ターゲット媒体のそれぞれとを図形化して表したものである。図４は、GUI制御部９により制御されるGUIの一例を示す図である。本図において、文字列『コンテンツ1  200211/ 3 CH3  PM8:00〜PM8:45  標準画質』が配置されたGUI部品は、HDに記録されたデジタルストリームを表す。またボタンbn1,2は、デジタルストリームのコピー先たるターゲット媒体(DVD,SDカード)のそれぞれを表す。デジタルストリームたるGUI部品は、ノーマル状態、フォーカス状態、アクティブ状態という3つの状態をもつ。ノーマル状態とは、ユーザの選択対象になっていない状態であり、フォーカス状態は、リモコンの矢印キーにより、コピー候補として指定された状態、アクティブ状態とは、コピー対象として確定された状態である。図４に示すGUIに対して操作を行うことにより、HDに格納されているコンテンツ1〜コンテンツ5のうち1つを、コピー対象に選ぶことができる。GUI制御部９は、このGUIにおいてアクティブ状態にされたデジタルストリームをコピーするよう、トランスコード制御部１０、分散処理割当部１３に通知する。
【００２４】
トランスコード制御部１０は、デジタルストリームのコピーが命じられた場合、自機でデジタルストリームのコピーを実行するよう、制御を行う。図２における矢印rt1,rt2,rt3は、自機でトランスコードを行う場合の符号化単位の行き来を示す。この矢印に示すように符号化単位は、ソース媒体２→バッファ６→トランスコーダ４→バッファ７という経路を辿ってターゲット媒体に至ることがわかる。デジタルストリームを構成する符号化単位のうち、任意のものをF(x)とした場合、トランスコード制御部１０による制御は、F(x)をトランスコードする処理(i)、トランスコード結果たるT(F(x))を、ターゲット媒体に書き込む処理(ii)からなる。このトランスコード制御部１０による制御の特徴的な点は、T(F(x))のターゲット媒体への書き込みと同時に、F(x+1)に対するトランスコードを行っている点である。これは、複数の符号化単位に対する処理をパイプライン式に実行することを意図している。
【００２５】
xが1,2,3,4である場合のトランスコード制御部１０によるトランスコードを現したのが、図５である。本図は、F(1)のトランスコード及びT(F(1))の書き込み、F(2)のトランスコード及びT(F(2))の書き込み、F(3)のトランスコード及びT(F(3))の書き込み、F(4)のトランスコード及びT(F(4))の書き込みを示している。
この図を縦方向に見ると、T(F(1))の書き込みと、F(2)のトランスコードとが同時に実行されていることがわかる。また、T(F(2))の書き込み−F(3)のトランスコードも同時に実行されており、T(F(3))の書き込み−F(4)のトランスコードも同時に実行されていることがわかる。T(F(X))の書き込みと、F(X+1)のトランスコードとを同時に行うので、媒体間のコピーに要する時間は、『複数符号化単位のトランスコードに要する時間＋最後の符号化単位のトランスコード結果の書き込みに要する時間』になる。トランスコード制御部１０によるパイプライン式の制御により、ターゲット媒体には、早期にトランスコード結果が得られていることがわかる。以上がトランスコード制御部１０の説明である。
【００２６】
補助装置検出部１１は、記録装置が何等かの処理を行うにあたって、その処理の分散処理に利用可能なデジタル家電がどれであるかを検出する。この検出は、ネットワーク上の各デジタル家電に対しブロードキャストを行い、各デジタル家電からの応答を受け付けることでなされる。ここでの応答は、分散処理による補助が可能であるか否かを示しており、分散処理処理可能であると応答した機器を、記録装置は自身の処理の補助が可能な装置(補助装置)として認識する。補助装置検出部１１による検出とは、5分置き、10分置きというように定期的に行われる。補助装置とされるデジタル家電は、補助装置検出部１１による検出の度に更新される。分散処理処理が可能な機器は、ブロードキャストにより問い合わせることとしたが、各デジタル家電に自己申告させてもよい。
【００２７】
送受信制御部１２は、デジタルストリームのコピーが命じられた場合、最新の補助装置を補助装置検出部１１から知得して、デジタルストリームに対するトランスコードを、補助装置に実行させるよう制御を行う。この制御は、F(j)を補助装置に送信する処理、補助装置から送り返されてくるT(F(j))を受信して、ターゲット媒体に書き込む処理からなる。図２の矢印pt1,2,3,pt8,9は、送受信制御部１２による制御の下で、トランスコードが行われる場合の符号化単位の行き来を示す。この矢印に示すように、ソース媒体２に存在する符号化単位は、バッファ６→送受信部５→補助装置→送受信部５→バッファ７という経路を辿って、ターゲット媒体３に至ることがわかる。補助装置に対する送信には、一括式のものと、ハンドシェイク送信のものの2種類がある。一括送信の送信とは、後半に属する符号化単位を、一度に補助装置宛に送信するというものである。ハンドシェイク送信の送信とは、先に送信した符号化単位に対するトランスコードが完了したとの通知を待って、次の符号化単位を送信するというものである。
【００２８】
分散処理割当部１３は、記録装置・補助装置に対する処理の割り当てを実行する。分散処理割当部１３による原則的な割り当てとは、デジタルストリームを前半,後半に2分割して、前半を記録装置に、後半を補助装置に割り当てるというものである。こうして割り当てを行えば、分散処理割当部１３は、前半のトランスコードを行うようトランスコード制御部１０に指示し、後半の送信を行うよう送受信制御部１２に指示する。送受信制御部１２による送信がハンドシェイク送信に行われる場合、分散処理割当部１３は、補助装置によるトランスコード作業の進捗に応じて、割当て変更を行う。つまりデジタルストリームのうち、前半1/2を記録装置に、後半1/2を補助装置に割り当てたが、補助装置による進捗が遅く、予定の半分(全体の1/4)しかトランスコードが進捗していないケースを考える。この場合、分散処理割当部１３は、デジタルストリーム全体の3/4を記録装置に割り当て、デジタルストリームの後半1/4を補助装置に割り当てという割当変更を行う。これにより補助装置による負担を減らすことができる。こうした割り当て変更が生じ得るので、ハンドシェイク送信に送信する場合、分散処理割当部１３は後半を構成する符号化単位を後ろから順次送信してゆく。何故なら、後ろのものから送信した場合、前半−後半の境界の変更が容易になるからである。
【００２９】
GUI制御部９〜分散処理割当部１３は、図６、図７に示すフローチャートの処理手順をコンピュータ記述言語で記述し、コンピュータに実行させることで実現可能である。図６及び図７は、この処理手順を示すフローチャートである。本フローチャートにおいて値nは、デジタルストリームを構成する符号化単位の総数であり、値mは、記録装置がトランスコードを行うべき符号化単位の予定数である。つまりn個の符号化単位のうち、符号化単位1〜mを記録装置が処理するものとし、符号化単位m+1〜nを補助装置が処理するものとする。変数iは、記録装置が処理を行うべき符号化単位のうち、処理対象たる1つを指示する変数である。変数jは、補助装置が処理を行うべき符号化単位のうち、処理対象たる1つを指示する変数である。
【００３０】
図６は、一括送信時のフローチャートである。本フローチャートは、予定値mを算出し(ステップＳ１)、変数iを1に、変数jをm+1に設定して、n,mを補助装置に送信した後(ステップＳ２)、符号化単位F(m+1)〜F(n)を送信する(ステップＳ３)。  その後、ステップＳ４〜ステップＳ７のループ処理を実行する。本ループ処理は、符号化単位F(i)をトランスコードし(ステップＳ４)、トランスコード結果T(F(i))をターゲット媒体に書き込んで(ステップＳ５)、変数iが予定値に達したか否かを判定し(ステップＳ６)、もし達していなければ、変数iをインクリメントする(ステップＳ７)というものである。もし達すれば、T(F(m+1))〜T(F(n))の受信待ちを行い(ステップＳ８)、受信すれば、これらをターゲット媒体に書き込む(ステップＳ９)。
【００３１】
図７は、ハンドシェイク送信時のフローチャートである。本フローチャートは、値mを算出し(ステップＳ１)、変数iを値1に、変数jを値nに設定して、値n,mを送信した後(ステップＳ１０)、ステップＳ４〜Ｓ７、ステップＳ１１〜Ｓ１４を繰り返し実行するものである。
このループ処理は、符号化単位F(i)をトランスコードし(ステップＳ４)、符号化単位F(i)のトランスコード結果T(F(i))をターゲット媒体に書き込んで(ステップＳ５)、変数iをインクリメント(ステップＳ７)するという処理を繰り返すものであり、ステップＳ６及びステップＳ１４の双方がYesになることを終了条件にしている。
【００３２】
ステップＳ１１は、補助装置による符号化単位F(j)のトランスコードが完了したか否かの判定であり、完了していたときのみ、変数jをデクリメントして(ステップＳ１２)、符号化単位F(j)を補助装置に送信する(ステップＳ１３)。符号化単位F(j)のトランスコードが完了したとの応答を受け取らない限り、変数jをデクリメントしないので、補助装置によるトランスコードの進捗が悪い場合、記録装置は次の符号化単位を送信しないことになる。
【００３３】
ステップＳ１４は、変数jがm+1に達したか否かの判定であり、変数iが、予定値mに達した場合に実行される(ステップＳ６でYes)。変数iがmに達し(ステップＳ６でYes)、変数jがm+1に達した場合(ステップＳ１４でYes)、図６のステップＳ８、ステップＳ９を実行した上で本ループ処理を終了する。
変数iがmに達したが(ステップＳ６でYes)、変数jがm+1に達していない場合(ステップＳ１４でNo)、予定値n-mと、実績値n-j+1との比率αを算出し(ステップＳ１５)、値mに比率αを乗じた値をmに加算する(ステップＳ１６)。値mの更新により記録装置の受け持ち分は増え、補助装置による受け持ち分は減る。こうすることで、記録装置−補助装置に対する割り当て量を動的に変えることができる。そして更新された値mを補助装置に送信して(ステップＳ１７)、ループ処理を継続する。
【００３４】
以上が記録装置たるハイブリッドレコーダ１００の内部構成である。続いて補助装置になりうる他のデジタル家電(デジタルテレビ２００、ゲーム機３００)の内部構成について説明する。デジタルテレビ２００、ゲーム機３００は、何れもネットワーク対応のデジタル家電であり、図８に示すような共通の内部構成を有する。本図に示すように各デジタル家電は、デジタル家電本来のハードウェア１５、送受信部１６、マイコンシステム１７からなる。マイコンシステム１７はCPU１７a,RAM１７b,ROM１７c,EEPROM１８からなり、このうちEEPROM１８には、WEBサイトからダウンロードされたプラグイン１９が存在する。ROM１７c,EEPROM１８に格納されたプログラムがCPU１７aに読み込まれ、プログラムと、ハードウェア資源とが協動することにより、使用目的に応じた情報の演算又は加工を実現する。マイコンシステム１７内に存在するプログラムと、ハードウェア資源とが協動した具体的手段を現したのが、図９である。
【００３５】
本図に示すように、マイコンシステム１７は、機能的にソフトウェアトランスコーダ２０、タイマー予約設定部２１、トランスコード制御部２２から構成される。
ソフトウェアトランスコーダ２０は、ソフトウェアで実現されたトランスコーダである。
タイマー予約設定部２１は、タイマー予約を受け付ける。ここでのタイマー予約とは、トランスコードの実行が可能な時間帯の開始時刻、終了時刻をユーザから受け付けるというものである。
【００３６】
トランスコードを実行すべき時間帯の予約操作は、図１０に示すメニューに対してなされる。図１０は、予約メニューの一例を示す図である。予約メニューは、トランスコードを開始すべき日時を、"月","日","時","分"の単位で指定することができる数値欄nr1,nr2,nr3,nr4、トランスコードを終了すべき日時を、"月","日","時","分"の単位で指定することができる数値欄ur1,ur2,ur3,ur4からなる。このメニューに対して時間帯の予約設定を行えば、補助装置によるトランスコードは、その時間帯に実行されることになる。ここで補助装置がデジタルテレビである場合、番組を時間通りに表示させるためのタイマー予約の時間帯が、上述した時間帯と重複することがある。この場合、タイマー予約設定部２１は、警告メニューwr1を表示させ、ユーザが入力した時間帯でのトランスコードは不可能である旨をユーザに通知する。
【００３７】
トランスコード制御部２２は、トランスコードを行うべき旨の要求と、トランスコードの対象となる符号化単位とが記録装置から送信されれば、送受信部１６から順次入力されてくる符号化単位をRAMに格納した上で、ソフトウェアトランスコーダ２０にトランスコードさせる。そうして得られたトランスコード結果を、記録装置宛に送信するよう送受信部１６を制御する。図８における矢印pt4,5,pt6,7は、このトランスコードを実行するにあたっても符号化単位の行き来を示す。補助装置に送り込まれて来る符号化単位とは、記録装置におけるルートを経由してくる符号化単位である。補助装置から送信される符号化単位は、記録装置から送り込まれてルートを経てターゲット媒体に至る。この矢印に示すように符号化単位は、送受信部１６→ソフトウェアトランスコーダ２０→送受信部１６という経路を辿って記録装置に送り返されることがわかる。
【００３８】
記録装置によるトランスコードは、各符号化単位に対するトランスコードと、その符号化単位のトランスコード結果の書き込みとをパイプライン式に行うものであった。これに対し補助装置内のソフトウェアトランスコーダ２０によるトランスコードは、後半に属する符号化単位を順次実行し、符号化単位に対するトランスコードが一通り終われば、トランスコード結果を順次記録装置に向けて送信するというものである。図１１は、記録装置及び補助装置によるトランスコードを表すタイミングチャートである。本図上段は、記録装置によるトランスコード及び書き込みを示し、下段は補助装置内のソフトウェアトランスコーダ２０によるトランスコード及び書き込みを示す。本図下段は、jが5,6,7,8であることを前提に作図を行っている。本図を参照すると、これらF(5)〜F(8)のトランスコードがなされている期間において、これらのトランスコード結果は、RAM上に一時的に保存される。そして最後のT(F(8))のトランスコードが終了して初めて、T(F(5))〜T(F(8))は、メモリから読み出され、ターゲット媒体に書き込むべく、記録装置に送信される。
【００３９】
一方、本図上段の記録装置側のタイミングチャートを参照すれば、F(5)〜F(8)のトランスコードが行われている間、F(1)〜F(4)のトランスコードが行われていることがわかる。一方記録装置は、トランスコード及び書き込みをパイプライン式に実行しているので、F(8)のトランスコード完了後、T(F(5))〜T(F(8))を記録装置に送信すれば、記録装置はT(F(4))の書き込み完了後、すぐにT(F(5))〜T(F(8))をターゲット媒体に書き込むことができる。
【００４０】
記録装置は、トランスコード及び書き込みをパイプライン式に実行し、補助装置は非パイプライン式なので、僅かなタイムラグ(ここではT(F(4))の書き込みに要する時間)が生ずるたけで、補助装置によるトランスコード結果を、ターゲット媒体に書き込むことができる。僅かなタイムディレイの発生で、ターゲット媒体上にデジタルストリームの複製物が得られるので、記録装置と、補助装置とでデジタルストリームのコピーを分散処理する場合の処理時間は、デジタルストリームの再生時間の約1/2になる、分散処理可能な機器が2台ある場合、デジタルストリームのコピーに要する時間を、再生時間の約1/2にすることができるので、コード形式が異なる媒体間のコピーを高速に行うことができる。
【００４１】
図１１は、複数符号化単位が一括送信される場合のタイミングチャートを示したが、複数符号化単位をハンドシェイク送信に送信する場合のタイミングチャートを、図１２に示す。ハンドシェイクの場合符号化単位は、末尾のものから、F(8)、F(7)、F(6)、F(5)の順に、補助装置に送信されていることがわかる。1つずつ送信される符号化単位をトランスコードしてゆき、全ての符号化単位が終了した後、トランスコード結果をまとめて記録装置に送信する点は、図１１と同じである。ハンドシェイク送信の時では、符号化単位の割り当て変更がありうる。図１３は、符号化単位の予定値が、4から2に変更した場合のタイミングチャートを示す。
【００４２】
以上のトランスコード制御部２２による処理は、図１４、図１５のフローチャートに示すプログラムを、CPUに実行させることで実現可能である。
図１４は、一括送信時における補助装置の処理手順を示すフローチャートである。本フローチャートにおいて、記録装置からトランスコードの分散処理が要求された否かを監視し(ステップＳ２１)、要求があれば、数値m,nを取得した上で(ステップＳ２２)、F(m+1)〜F(n)を受信する(ステップＳ２３)。そして変数jを、値m+1に初期化した上で、ステップＳ２５〜ステップＳ３０からなるループ処理を実行する。
【００４３】
このループ処理は、ステップＳ２５〜ステップＳ２７の判定を経て、F(j)のトランスコードを行い、トランスコード結果をRAMに書き込むというものである。
ステップＳ２５は、現在時刻が予約時間帯内であるか、予約時間帯外であるかの判定であり、もし予約時間帯外であるなら、本フローチャートの処理を終了する。
ステップＳ２６は、デジタル家電本来の処理が開始したか否かの判定であり、もし開始したなら、本フローチャートの処理を終了する。
【００４４】
ステップＳ２７は、電源OFFの操作がなされたか否かの判定であり、もしなされたなら、本フローチャートの処理を終了する。
ステップＳ２９は、変数jが値nに達したか否かの判定であり、もしそうであるなら、RAM上のT(F(m+1))〜(F(n))を記録装置に送信した上で(ステップＳ３０)処理を終了する。そうでなければ、変数jをインクリメントする(ステップＳ３１)。
【００４５】
図１５は、ハンドシェイク送信時における補助装置の処理手順を示すフローチャートである。本フローチャートにおいて、記録装置からトランスコードの分散処理が要求された否かを監視し(ステップＳ２１)、要求があれば、数値m,nを取得する(ステップＳ２２)。そして変数jを、値nに初期化した上で、ステップＳ２５〜ステップＳ３０からなるループ処理を実行する。
【００４６】
このループ処理は、符号化単位F(j)の受信待ちを行い(ステップＳ３３)、もし受信されれば、図１４と同様の判定を経て(ステップＳ２５〜ステップＳ２７)、F(j)に対するトランスコードを行い、RAMに書き込むというものである(ステップＳ２８)。こうして、トランスコードが行われる度に、T(F(j))が得られた旨の応答を記録装置に送信して(ステップＳ３４)、ステップＳ３５、ステップＳ３７の判定を経てステップＳ３３に戻る。
【００４７】
ステップＳ３５は、更新された予定値mを受信したか否かの判定であり、もし受信すれば、値mを更新してステップＳ３７に移行する(ステップＳ３６)。
ステップＳ３７は、変数jが値m+1に達したか否かの判定であり、もしそうであるなら、RAM上のT(F(m+1))〜T(F(n))を記録装置に送信した上で処理を終了する(ステップＳ３０)。そうでなければ、変数jをデクリメントする(ステップＳ３８)。
【００４８】
一括送信を示した図６のフローチャートにおいて記録装置は、n,mの送信、F(j)の送信、F(i)のトランスコード、T(F(j))の受信という処理を実行することがわかった。図１４のフローチャートにおいて補助装置は、n,mの受信、F(j)のトランスコード、T(F(j))の送信という一連の処理を実行することがわかった。これらのフローチャートに、i=1,2,3,4,j=5,6,7,8という具体的数値を当てはめ、両装置間のシーケンスを図示したのが、図１６である。
【００４９】
i=1,2,3,4であるので、記録装置は、n,mを送信した後(tt1)、F(5)〜F(8)の送信を行い(tt2)、その後、F(1)のトランスコード(tt3)、F(2)のトランスコード(tt4)、F(3)のトランスコード(tt5)、F(4)のトランスコード(tt6)を順次行っていることがわかる。そしてこれらのトランスコードがなされる度に、得られたT(F(1)〜T(F(4))をターゲット媒体(DVD)に書き込んでいる(wt1〜4)。最後にT(F(5))〜F((8))を受信し(tt7)、得られたT(F(5)〜T(F(8))がターゲット媒体(DVD)に書き込んでいる(wt5)。
【００５０】
j=5,6,7,8であるので、補助装置は、n,mを受信した後(jj1)、F(5)〜F(8)の受信を行い(jj2)、その後、F(5)のトランスコード(jj3)、F(6)のトランスコード(jj4)、F(7)のトランスコード(jj5)、F(8)のトランスコード(jj6)を順次行っていることがわかる。そしてこれらのトランスコードがなされる度に、得られたT(F(5)〜T(F(8))をRAMに一時的に保存している(rj1〜4)。
【００５１】
以上の処理を実行した後、RAM上に存在するT(F(8)〜T(F(5))を記録装置に送信する(jj7)。
ハンドシェイク送信を示した図７のフローチャートにおいて記録装置は、『F(j)の送信』『F(i)のトランスコード』『j←j-1,i←i+1』のデクリメントという一連の処理を実行した。一方補助装置は、F(j)の受信→F(j)のトランスコード→トランスコード完了応答という一連の処理を実行した。iが1,2,3,4の値をとり、jが8,7,6,5の値をとった際の両装置のシーケンスを描いたのが、図１７である。本図は、i=1,j=8の場合のシーケンスsc1、i=2,j=7の場合のシーケンスsc2、i=3,j=6の場合のシーケンスsc3、i=4,j=5の場合のシーケンスsc4を含む。これらのシーケンスの前後に、n,mの送受信、T(F(5)〜T(F(8))の送受信を行っている点は、図１６と同じである。
【００５２】
また補助装置によるトランスコードが記録装置より遅い場合、記録装置は補助装置からのトランスコード完了応答を受信しない限り、次の符号化単位を送信しない。そのため記録装置は、F(j)の送信、F(i)のトランスコード→F(i-1)のトランスコード→トランスコード完了応答の受信というシーケンスを繰り返す。そして記録装置によるトランスコードが予定値に達した場合、予定値を更新して、補助装置の受け持ち分を、自装置側で処理する。図１８は、予定値更新を行う場合のシーケンスチャートである。本シーケンスチャートは、j=8,i=1,2とした場合のシーケンスsc11と、j=7,i=3,4とした場合のシーケンスsc12とを含む。これらのシーケンスを実行した後、予定値mを更新して補助装置に送信し(ss1)、F(5),F(6)のトランスコードを行って(ss2,ss3)、T(F(7))、T(F(8))を受信するとの処理を行う(ss4)。
【００５３】
以上のように本実施形態によれば、記録装置及び補助装置は、各符号化単位に対するトランスコードと、トランスコード結果の書き込みとを並列に実行するので、補助装置がトランスコードに専念している間に、自機によるトランスコードの成果物をターゲットとなる記録媒体上に得ることができる。記録装置によるトランスコード結果の書き込みは、補助装置がトランスコードに専念している間に行われるので、記録装置によるトランスコード結果の書き込み完了後直ちに、補助装置は自機のトランスコード結果をターゲット媒体に書き込むことができる。補助装置によるトランスコード結果の書き込みは、早期になされるので、両機器によるトランスコード結果が、1つのターゲット媒体上に、早期に得られることになる。そのため、トランスコードを伴うような、媒体間のコピー処理の迅速に実行することができる。
【００５４】
(第２実施形態)
第１実施形態において補助装置は、自身のトランスココード処理で得られたトランスコード結果を記録装置に送信して、トランスコード結果を記録装置が書き込むとしたが、第２実施形態は、ターゲット媒体へのトランスコード結果の書き込みを補助装置自身が行う形態に関する。
【００５５】
補助装置による書き込みを実現するにあたって記録装置は、自機によるトランスコード結果の書き込みが完了した時点で、書込先情報を補助装置に送信する。書込先情報は、ファイルパスと、ファイルポインタとを含む。
ファイルパスは、記録装置上に装填されたターゲット媒体上のファイルの所在を、ネットワークにおいて一意に示す情報である。
【００５６】
ファイルポインタは、記録装置がトランスコード結果を書き込んだ書込済みアドレスの直後を示している。かかるファイルパス、ファイルポインタを補助装置に送信しておき、補助装置がかかるファイルパス、ファイルポインタに従って、トランスコード結果をターゲット媒体に書き込めば、フラグメンテーションを発生することなく、トランスコード結果は、1つのファイル内に書き込まれることになる。
【００５７】
かかる書き込みは、DVD-R等、シーケンシャルな書き込みしか許容されていない記録媒体をターゲット媒体とする場合に有利である。
（備考）
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。
【００５８】
(A)各実施形態に示したフローチャートや、機能的な構成要素による情報処理は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、"プログラムの発明"としての成立要件を満たす。
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【００５９】
具体的には、フローチャートにおける繰り返し処理は、上記構文に規定されたfor文等を用いて記述する。判定処理は、上記構文に規定されたif文,swith文等を用いて記述する。デコーダに対する再生制御や、ドライブ装置のアクセス制御等、ハードウェアについての制御は、ハードウェアの製造元から供給される外部関数を呼び出すことにより、記述する。
【００６０】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【００６１】
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA（登録商標）バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。
【００６２】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
・本発明に係るプログラムの使用形態
本発明に係るプログラムは、以下のようにして使用することができる。
【００６３】
(i)組込プログラムとしての使用
本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、記録装置の制御プログラムとして使用することができる。
【００６４】
(ii)アプリケーションとしての使用
記録装置が、ハードディスク内蔵モデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスクにプレインストールされている。また、ハードディスクから、システムを起動するためのブートROMが、記録装置に設けられている。
【００６５】
この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、記録装置に供給し、1つのアプリケーションとしてハードディスクにインストールする。そうすると、記録装置は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、本発明に係るプログラムをCPUに実行させる。
【００６６】
ハードディスクモデルの記録装置では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
(B)本発明に係るシステムLSIは、以下のようにして生産し、使用することができる。
【００６７】
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも１つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【００６８】
これらのピンは、ドライブ装置との入出力インターフェイス、リモコン装置との入力インターフェイス、テレビとのインターフェイス、その他、IEEE1394インターフェイスやPCIバスとのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、ドライブ装置等やハイブリッドレコーダ１００の各種回路を接続することにより、システムLSIは、ハイブリッドレコーダ１００の中核としての役割を果たす。
【００６９】
システムLSIにパッケージングされるベアチップとは、各実施形態において内部構成図として示した各構成要素の機能を具現する命令ROMやCPU、デコーダLSI等である。
先に"組込プログラムとしての使用"で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、ベアチップとしてパッケージングすることにより、本発明に係るシステムLSIは生産することができる。
【００７０】
生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【００７１】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
ここで実装設計は、自動配置と、自動配線とからなる。
CAD装置を利用する場合、この自動配置は、"重心法"と呼ばれる専用のアルゴリズムを用いて実現することができる。自動配線は、回路図上の部品のピン同士を接続するような接続線を、金属箔やビアを用いて規定する。CAD装置を利用する場合、この配線処理は、"メーズ法""ラインサーチ法"と呼ばれる専用のアルゴリズムを用いて実現することができる。  
【００７２】
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(Systemon chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示したハイブリッドレコーダ１００の内部構成図を基に作ることができる。
【００７３】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各ハイブリッドレコーダ１００の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA（FieldProgrammable Gate Array）や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【００７４】
(C)各実施形態では、ハイブリッドレコーダ１００におけるソース媒体をHDとして説明を進めたが、このHDの物理的性質は、本発明の作用・効果の発揮にさほど貢献していない。HD同様、放送番組を記録し得る容量をもった記録媒体であるなら、他の記録媒体を採用してもよい。例えば、HD以外のDVD-R,DVD-RW,DVD-RAM.DVD+R,DVD+RW,CD-R,CD-RW,Blu-rayDisc等の他の光ディスクであってよいことはいうまでもない。またPD,MO等の光磁気ディスクであってもよい。 
【００７５】
更に、ターゲット媒体をDVD,SDメモリカードとして説明を行ったが、コンパクトフラッシュ（登録商標）カード、スマートメディア、メモリスティック、マルチメディアカード、PCMCIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブであってもよい。
【００７６】
(D)各実施形態におけるデジタルストリームは、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたデジタルストリームであってもよい。
またビデオテープに記録されているアナログ／デジタルの映像信号をエンコードしてデジタルストリームを得ても良い。更にビデオカメラから直接取り込んだアナログ／デジタルの映像信号をエンコードしてデジタルストリームを得ても良い。他にも、予め記録媒体に記録されて配布される映画等のデジタル著作物であってもよいし、配信送信サーバにより配信されるデジタル著作物でもよい。
【００７７】
(E)デジタルストリームにコピー世代情報(CGI)が埋め込まれている場合、HDからDVDへのバックアップは、このコピー世代情報に基づいて、行うことが望ましい。コピー世代情報には、自由にコピー可能な旨を示す『copyfree』と、１世代の複製物の記録が許可されている旨を示す『one generation copy』と、複製物の更なる複製は禁止されている旨を示す『nomore copy』と、一切のコピーを認めない旨を示す『never copy』とがある。つまり、デジタルストリームに埋め込まれたコピー世代情報が『copyfree』や『one generation copy』を示している場合のみ、HDからDVDへのバックアップを行い、『no more copy』『nevercopy』を示している場合、バックアップは行わないのである。
【００７８】
(F)デジタルストリームに権利管理情報は付加されている場合、権利管理情報に定められた利用条件において、HDからDVDへのバックアップを行うことが望ましい。
権利管理情報において回数指定で、コピーの許可条件が規定されているなら、この条件内でバックアップを行う。有効期間の指定(年月日の指定がでコピーの条件が規定されているのならこの条件内でバックアップを行う。
【００７９】
(G)コピー処理に、移動やマイグレイト、チェックアウトといったバリエーションが存在する場合、これらバリエーション毎に、定められた利用条件に基づきバックアップを行っても良い。移動とは、コピー元のデジタルストリームの削除が伴うコピー処理であり、複数記録媒体間でデジタルストリームを移動する場合に用いられる。
マイグレイトとは、コピー先記録媒体において、利用条件情報を生成させることを前提にしたコピー処理である。
【００８０】
チェックアウトとは、回数制限されたコピーの一種であり、コピー回数を1回デクリメントした上でデジタルストリームのコピーが実行される。一般にいう回数制限付きのコピーと、チェックアウトとの違いは、コピー回数のインクリメントが可能である点である。コピー回数のインクリメントは、コピーにより記録媒体に記録されたデジタルストリームを再生不能にするという処理("チェックイン"と呼ばれる。)を行った後でなされる。
【００８１】
(H)各実施形態では、トランスコードを2台の装置で分散実行したが、分散実行する装置は、3台以上であってもよい。3台以上でトランスコードを分散実行するにしても、そのうち2台の装置において第１実施形態、第２実施形態と同様の効果を奏することができるからである。
(I)ターゲット媒体は、記録装置に装填されるとしたが、ターゲット媒体を記録装置、補助装置とは別個の第３の装置に装填させるとしてもよい。この場合、記録装置及び補助装置は、この第３の装置にアクセスして、トランスコードの書き込みを行うのである。
【００８２】
同じくターゲット媒体は、補助装置に装填されるとしてもよい。
(J)記録装置及び補助装置は、IEEE1394で相互に接続するとしたが、記録装置及び補助装置を光ファイバで相互に接続して、本発明に係るシステムを、Cellコンピューティングシステムとして実施してもよい。
光ファイバによる相互接続により、装置間通信のレイテンシーは、限りなくゼロに近づくので、トランスコードの分散処理化の効率をより一層高めることができる。
【００８３】
(K)補助装置は、ソフトウェアにより実現されたトランスコーダでトランスコードを行うとしたが、デジタルTV２００やゲーム機３００にハードウェア化されたデコーダが搭載されているなら、そのデコーダの機能を利用してトランスコードを行ってもよい。
【産業上の利用可能性】
【００８４】
本発明に係る記録装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが可能なので、資質において工業上利用することができる。このことから本発明に係るシステムは、産業上利用可能性を有する。
【図面の簡単な説明】
【００８５】
【図１】本発明に係るシステムの使用環境たるホームサーバシステムを示す図である。
【図２】記録装置の内部構成を示す図である。
【図３】マイコンシステム８を構成するプログラムと、ハードウェア資源とが協動した具体的手段を機能的に記載した構成図である。
【図４】GUI制御部９により制御されるGUIの一例を示す図である。
【図５】xが1,2,3,4である場合のトランスコード制御部１０によるトランスコードを現した図である。
【図６】一括送信時における主装置の処理手順を示すフローチャートである。
【図７】ハンドシェイク送信時における主装置の処理手順を示すフローチャートである。
【図８】デジタル家電の共通構成を行う図である。
【図９】マイコンシステム１７を構成するプログラムと、ハードウェア資源とが協動した具体的手段を機能的に記載した構成図である。
【図１０】予約メニューの一例を示す図である。
【図１１】複数符号化単位が一括送信される場合のタイミングチャートである。
【図１２】複数符号化単位をハンドシェイク送信に送信する場合のタイミングチャートである。
【図１３】符号化単位の予定値が、4から2に変更した場合のタイミングチャートを示す図である。
【図１４】一括送信時における補助装置の処理手順を示すフローチャートである。
【図１５】ハンドシェイク送信時における補助装置の処理手順を示すフローチャートである。
【図１６】図６、図１４のフローチャートに、i=1,2,3,4,j=8,7,6,5という具体的数値を当てはめ、両装置間のシーケンスを示したシーケンスチャートである。
【図１７】図７、図１５のフローチャートに、i=1,2,3,4,j=8,7,6,5という具体的数値を当てはめ、両装置間のシーケンスを示したシーケンスチャートである。
【図１８】予定値更新を行う場合のシーケンスチャートである。
【符号の説明】
【００８６】
１    チューナ
２    ソース媒体
３    ターゲット媒体
４    トランスコーダ
５    送受信部
６    バッファ
７    バッファ
８    マイコンシステム
９    GUI制御部
１０    トランスコード制御部
１１    補助装置検出部
１２    送受信制御部
１３    分散処理割当部
１５    デジタル家電本来のハードウェア
１６    送受信部
１７    マイコンシステム
１８    EEPROM
１９    プラグイン
２０    ソフトウェアトランスコーダ
２１    タイマー予約設定部
２２    トランスコード制御部
１００    ハイブリッドレコーダ
２００    デジタルテレビ
３００    ゲーム機
【図１】
0004795956.tif 000002
【図２】
0004795956.tif 000003
【図３】
0004795956.tif 000004
【図４】
0004795956.tif 000005
【図５】
0004795956.tif 000006
【図６】
0004795956.tif 000007
【図７】
0004795956.tif 000008
【図８】
0004795956.tif 000009
【図９】
0004795956.tif 000010
【図１０】
0004795956.tif 000011
【図１１】
0004795956.tif 000012
【図１２】
0004795956.tif 000013
【図１３】
0004795956.tif 000014
【図１４】
0004795956.tif 000015
【図１５】
0004795956.tif 000016
【図１６】
0004795956.tif 000017
【図１７】
0004795956.tif 000018
【図１８】
0004795956.tif 000019