(57)【要約】【課題】  データ処理装置と外部メモリとの間のデータ転送量や、データ転送の設定回数を減少させる。【解決手段】  データ処理装置であって、放送暗号で暗号化されたストリームの復号化処理を行うストリームデコーダと、前記復号化処理されたストリームを格納する内部バッファと、コンテンツ用の暗号で暗号化されたストリームに対する復号化処理を行い、得られた処理結果を前記内部バッファに格納させることが可能であり、かつ、前記処理結果又は前記ストリームデコーダにより復号化処理されたストリームを前記内部バッファから読み出してコンテンツ用の暗号で暗号化処理する暗復号処理部とを備える。【選択図】      図１
2006295555.tif 000002
【特許請求の範囲】
【請求項１】
放送暗号で暗号化されたストリームの復号化処理を行うストリームデコーダと、
前記復号化処理されたストリームを格納する内部バッファと、
コンテンツ用の暗号で暗号化されたストリームに対する復号化処理を行い、得られた処理結果を前記内部バッファに格納させることが可能であり、かつ、前記処理結果又は前記ストリームデコーダにより復号化処理されたストリームを前記内部バッファから読み出してコンテンツ用の暗号で暗号化処理する暗復号処理部とを備える
データ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、
シェアードバスの制御を行い、前記内部バッファと前記シェアードバスとの間のデータ転送を行うシェアードバスコントローラを更に備える
ことを特徴とするデータ処理装置。
【請求項３】
請求項２のデータ処理装置において、
前記ストリームデコーダ、前記暗復号処理部、及び前記シェアードバスコントローラのそれぞれについて、前記内部バッファへの書き込み完了フラグ及び前記内部バッファからの読み出し完了フラグを管理して、前記内部バッファに対する書き込み及び読み出しを制御するバッファコントローラを更に備える
ことを特徴とするデータ処理装置。
【請求項４】
請求項２に記載のデータ処理装置において、
外部デバイスからコンテンツ用の暗号で暗号化されたストリームを受け取り、前記暗復号処理部に出力し、かつ、前記暗復号処理部により暗号化処理されたストリームを外部デバイスに出力するＩ／Ｏコントローラを更に備える
ことを特徴とするデータ処理装置。
【請求項５】
請求項４に記載のデータ処理装置において、
外部メモリとの間でデータの入出力を行うメモリインタフェースと、
前記ストリームデコーダ、前記シェアードバスコントローラ、又は前記Ｉ／Ｏコントローラと、前記メモリインタフェースとの間のデータ転送を制御するＤＭＡ（Direct Memory Access）コントローラとを更に備える
ことを特徴とするデータ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、
前記メモリインタフェースを制御して、前記外部メモリにおけるポインタの管理を行うＣＰＵを更に備える
ことを特徴とするデータ処理装置。
【請求項７】
請求項５に記載のデータ処理装置において、
前記ストリームデコーダ、前記シェアードバスコントローラ、及び前記Ｉ／Ｏコントローラは、前記メモリインタフェースが前記外部メモリに書き込んだデータを共用するものである
ことを特徴とするデータ処理装置。
【請求項８】
請求項１に記載のデータ処理装置において、
放送暗号で暗号化されたストリームを受信し、そのうちの有効なパケットを前記ストリームデコーダに出力するトランスポートストリーム・インタフェースを更に備える
ことを特徴とするデータ処理装置。
【請求項９】
請求項１に記載のデータ処理装置において、
ストリームに対して、トランスポートストリームとプログラムストリームとの間のフォーマット変換処理を行い、変換後のストリームを出力するストリーム変換部を更に備える
ことを特徴とするデータ処理装置。
【請求項１０】
請求項９に記載のデータ処理装置において、
前記内部バッファは、
前記ストリーム変換部が処理の際に用いる一時格納バッファと、
前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記ストリーム変換部が外部メモリとの間でデータ転送を行いながら処理を行うように制御するオーバーフロー監視部と、
前記外部メモリにおいて、前記ストリーム変換部からの書き込みが行われた位置を示すポインタと、前記ストリーム変換部への読み出しが行われた位置を示すポインタとの差に基づいて、前記ストリーム変換部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、
前記オーバーフロー監視部は、
前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである
ことを特徴とするデータ処理装置。
【請求項１１】
請求項１に記載のデータ処理装置において、
前記内部バッファは、
前記暗復号処理部が暗号化処理の際に用いる一時格納バッファと、
前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記暗復号処理部が外部メモリとの間でデータ転送を行いながら暗号化処理を行うように制御するオーバーフロー監視部と、
前記外部メモリにおいて、前記暗復号処理部からの書き込みが行われた位置を示すポインタと、前記暗復号処理部への読み出しが行われた位置を示すポインタとの差に基づいて、前記暗復号処理部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、
前記オーバーフロー監視部は、
前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである
ことを特徴とするデータ処理装置。
【請求項１２】
請求項１に記載のデータ処理装置において、
前記内部バッファは、
前記暗復号処理部が復号化処理の際に用いる一時格納バッファと、
前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記暗復号処理部が外部メモリとの間でデータ転送を行いながら復号化処理を行うように制御するオーバーフロー監視部と、
前記外部メモリにおいて、前記暗復号処理部からの書き込みが行われた位置を示すポインタと、前記暗復号処理部への読み出しが行われた位置を示すポインタとの差に基づいて、前記暗復号処理部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、
前記オーバーフロー監視部は、
前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである
ことを特徴とするデータ処理装置。
【請求項１３】
請求項１に記載のデータ処理装置において、
入力されたアドレスをデコードするアドレスデコーダと、
格納している値を出力する第１のレジスタと、
それぞれが値を格納する複数の第２のレジスタと、
前記アドレスデコーダで得られたデコード結果によって選択されると、前記第１のレジスタの値に従って前記複数の第２のレジスタのうちのいずれかを選択し、選択された第２のレジスタに格納された値を出力するセレクタとを更に備える
ことを特徴とするデータ処理装置。
【請求項１４】
請求項１に記載のデータ処理装置において、
ストリームに付加すべきパケット付加情報を出力する情報付加部と、
前記ストリームに、前記パケット付加情報を付加して出力するＦＩＦＯ（first in, first out）バッファと、
前記ＦＩＦＯバッファから出力されたストリームを、第１のクロックに同期して外部に出力する第１の出力部と、
前記第１の出力部から出力されたストリームを、外部で処理された後に、前記第１のクロックに同期して受け取り、外部処理後のストリームとして出力する第１の入力部と、
前記外部処理後のストリームに対してＣＲＣ（cyclic redundancy code）チェックを行うＣＲＣチェッカーと、
前記ＣＲＣチェック後のストリームに付加されている前記パケット付加情報を検出する付加情報検出部とを更に備える
ことを特徴とするデータ処理装置。
【請求項１５】
請求項１４に記載のデータ処理装置において、
第１及び第２のセレクタと、
前記ＦＩＦＯバッファから出力されたストリームを、前記第１のクロックとは周波数が異なる第２のクロックに同期して外部に出力する第２の出力部と、
前記第２の出力部から出力されたストリームを、外部で処理された後に、前記第２のクロックに同期して受け取り、出力する第２の入力部とを更に備え、
前記第１のセレクタは、
前記第１及び第２の出力部のうちの選択したものに、前記ＦＩＦＯバッファから出力されたストリームを出力するものであり、
前記第２のセレクタは、
前記第１のセレクタが前記第１の出力部を選択した場合には前記第１の入力部の出力を選択し、前記第１のセレクタが前記第２の出力部を選択した場合には前記第２の入力部の出力を選択して、前記外部処理後のストリームとして前記ＣＲＣチェッカーに出力するものである
ことを特徴とするデータ処理装置。
【請求項１６】
入力ストリームが放送暗号で暗号化されたストリームである場合に、前記入力ストリームに放送暗号の復号化処理を行い、内部バッファに格納するステップと、
前記入力ストリームがコンテンツ用の暗号で暗号化されたストリームである場合に、前記入力ストリームにコンテンツ用の暗号の復号化処理を行い、前記内部バッファに格納するステップと、
前記内部バッファに格納されたストリームに対してコンテンツ用の暗号で暗号化処理を行うステップとを備える
データ処理方法。
【請求項１７】
請求項１６に記載のデータ処理方法において、
前記入力ストリームは、シェアードバスを経由して入力されたストリームである
ことを特徴とするデータ処理方法。
【請求項１８】
請求項１６に記載のデータ処理方法において、
前記放送暗号の復号化処理を行うステップ、前記コンテンツ用の暗号の復号化処理を行うステップ、又は前記暗号化処理を行うステップは、
外部メモリをも用いて処理を行うものである
ことを特徴とするデータ処理方法。
【請求項１９】
請求項１６に記載のデータ処理方法において、
ストリームに対して、トランスポートストリームとプログラムストリームとの間のフォーマット変換処理を行うステップを更に備える
ことを特徴とするデータ処理方法。
【請求項２０】
請求項１９に記載のデータ処理方法において、
前記ストリーム変換処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記ストリーム変換処理を行うステップとを更に備える
ことを特徴とするデータ処理方法。
【請求項２１】
請求項１６に記載のデータ処理方法において、
前記暗号化処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記暗号化処理を行うステップとを更に備える
ことを特徴とするデータ処理方法。
【請求項２２】
請求項１６に記載のデータ処理方法において、
前記放送暗号又はコンテンツ用の暗号の復号化処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、
前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記復号化処理を行うステップとを更に備える
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及び方法に関し、特に、デジタルＴＶ（ＤＴＶ）放送、ＤＶＤ（Digital Versatile Disc）、Blu-rayディスク等で扱われるデータの処理装置及び方法に関する。
【背景技術】
【０００２】
ＤＴＶシステムでは、アンテナで受信され、前処理を経た受信データは、トランスポートストリーム（ＴＳ）という形態をとる。ＤＴＶシステムはＭＰＥＧ−２システムである。ＭＰＥＧ−２では、データ系列として、上述したトランスポートストリームに加え、プログラムストリーム（ＰＳ）、及び、トランスポートストリームとプログラムストリームとの間の変換を行う際の中間データとして位置づけられているパケタイズドエレメンタリストリーム（ＰＥＳ）パケットがある。これらが最終的にはエレメンタリストリーム（ＥＳ）となり、処理される。これらのストリーム（ＴＳ，ＰＳ，ＰＥＳ，ＥＳ）は、それぞれ、定められた規格に従って異なった形式を持つ。
【０００３】
ＤＴＶシステムでは、トランスポートストリームは、前処理を経てトランスポートデコーダ（ＴＤ）に受信され、音声信号（オーディオデータ）、映像信号（ビデオデータ）、文字信号（テレテキストデータ）等のＡＶ（audiovisual）データや、暗号情報、番組情報等のセクションデータに分けられ、外部メモリに転送されて一時格納される。これらの一時格納されたデータのうち、セクションデータはＣＰＵのソフトウェアによって処理され、ＡＶデータは別デバイスに記録されるか、ＡＶデコーダからの呼び出しによって、外部メモリからＡＶデコーダに転送され、ＡＶデータのデコード処理が行われる。
【０００４】
ＴＤにおける処理の詳細については、下記特許文献１〜４に開示されている。例えば、多重化されたデータストリームの記憶手段について、特許文献１に記載されている。また、ＴＤとＡＶデコーダとＣＰＵとをワンチップ化したシステムＬＳＩが知られている。このシステムＬＳＩでは、ＴＤ及びＡＶデコーダの各々にデータ一時格納メモリが個別に外付けされる（特許文献２参照）。ＡＶデコーダにおける処理の詳細については、例えば映像信号の水平垂直方向の拡大処理が特許文献３に記載されている。
【０００５】
一方、ＤＴＶ、ＤＶＤ、ＢＤ（Blu-ray Disc）等のＡＶデータを、ＰＣＩ（Peripheral Component Interconnect）バス、イーサネット（登録商標）、ＵＳＢ（Universal Serial Bus）等の伝送路に復号化された状態で伝送させることは許されないので、記録やダビング等のＡＶデータ処理を行うためには、暗復号処理が必要になる。暗復号処理のためには大容量バッファが必要なので、暗復号処理を行う装置は、外部メモリを備えることが多い（特許文献４参照）。
【特許文献１】特開平９−２７５３８１号公報
【特許文献２】特開２００１−６９１０６号公報（図１）
【特許文献３】特開平１１−３５５６８３号公報
【特許文献４】特開平７−２９７８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような従来の技術によれば、例えばハードディスクドライブ（ＨＤＤ）等の外部デバイスからシステムＬＳＩに入力されたＡＶデータを記録メディアに記録する場合には、入力データは外付けされた外部メモリに格納された後に復号化され、再度、外部メモリに置かれた後、暗号化されて、記録メディアに転送される。
【０００７】
このような処理を行うと、外部メモリのバンド幅（伝送帯域）の多くを使用してしまい、また、外部メモリの制御のためにＣＰＵ処理が増加する。その一方で、大規模ＬＳＩでは外付けメモリはコストを抑えるためにユニファイドされており、１つのメモリインタフェースに対して、複数のインタフェースが転送を行うので、ＨＤＤやその他メディアへの記録の速度は、外部メモリのバンド幅に大きく依存し、かつ、ＣＰＵの能力にも影響してしまうという問題があった。
【０００８】
本発明は、データ処理装置と外部メモリとの間のデータ転送量や、データ転送の設定回数を減少させることを目的とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、請求項１の発明が講じた手段は、データ処理装置として、放送暗号で暗号化されたストリームの復号化処理を行うストリームデコーダと、前記復号化処理されたストリームを格納する内部バッファと、コンテンツ用の暗号で暗号化されたストリームに対する復号化処理を行い、得られた処理結果を前記内部バッファに格納させることが可能であり、かつ、前記処理結果又は前記ストリームデコーダにより復号化処理されたストリームを前記内部バッファから読み出してコンテンツ用の暗号で暗号化処理する暗復号処理部とを備えるものである。
【００１０】
請求項１の発明によると、ストリームデコーダと暗復号処理部とが、外部バッファを経由することなく、内部バッファを介してデータを転送することができるので、ストリームデコーダや暗復号処理部と外部メモリとの間のデータ転送を減少させることができる。
【００１１】
請求項２の発明は、請求項１に記載のデータ処理装置において、シェアードバスの制御を行い、前記内部バッファと前記シェアードバスとの間のデータ転送を行うシェアードバスコントローラを更に備えるものである。
【００１２】
請求項３の発明は、請求項２のデータ処理装置において、前記ストリームデコーダ、前記暗復号処理部、及び前記シェアードバスコントローラのそれぞれについて、前記内部バッファへの書き込み完了フラグ及び前記内部バッファからの読み出し完了フラグを管理して、前記内部バッファに対する書き込み及び読み出しを制御するバッファコントローラを更に備えるものである。
【００１３】
請求項４の発明は、請求項２に記載のデータ処理装置において、外部デバイスからコンテンツ用の暗号で暗号化されたストリームを受け取り、前記暗復号処理部に出力し、かつ、前記暗復号処理部により暗号化処理されたストリームを外部デバイスに出力するＩ／Ｏコントローラを更に備えるものである。
【００１４】
請求項５の発明は、請求項４に記載のデータ処理装置において、外部メモリとの間でデータの入出力を行うメモリインタフェースと、前記ストリームデコーダ、前記シェアードバスコントローラ、又は前記Ｉ／Ｏコントローラと、前記メモリインタフェースとの間のデータ転送を制御するＤＭＡ（Direct Memory Access）コントローラとを更に備えるものである。
【００１５】
請求項６の発明は、請求項５に記載のデータ処理装置において、前記メモリインタフェースを制御して、前記外部メモリにおけるポインタの管理を行うＣＰＵを更に備えるものである。
【００１６】
請求項７の発明では、請求項５に記載のデータ処理装置において、前記ストリームデコーダ、前記シェアードバスコントローラ、及び前記Ｉ／Ｏコントローラは、前記メモリインタフェースが前記外部メモリに書き込んだデータを共用するものである。
【００１７】
請求項８の発明は、請求項１に記載のデータ処理装置において、放送暗号で暗号化されたストリームを受信し、そのうちの有効なパケットを前記ストリームデコーダに出力するトランスポートストリーム・インタフェースを更に備えるものである。
【００１８】
請求項９の発明は、請求項１に記載のデータ処理装置において、ストリームに対して、トランスポートストリームとプログラムストリームとの間のフォーマット変換処理を行い、変換後のストリームを出力するストリーム変換部を更に備えるものである。
【００１９】
請求項１０の発明では、請求項９に記載のデータ処理装置において、前記内部バッファは、前記ストリーム変換部が処理の際に用いる一時格納バッファと、前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記ストリーム変換部が外部メモリとの間でデータ転送を行いながら処理を行うように制御するオーバーフロー監視部と、前記外部メモリにおいて、前記ストリーム変換部からの書き込みが行われた位置を示すポインタと、前記ストリーム変換部への読み出しが行われた位置を示すポインタとの差に基づいて、前記ストリーム変換部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、前記オーバーフロー監視部は、前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである。
【００２０】
請求項１１の発明では、請求項１に記載のデータ処理装置において、前記内部バッファは、前記暗復号処理部が暗号化処理の際に用いる一時格納バッファと、前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記暗復号処理部が外部メモリとの間でデータ転送を行いながら暗号化処理を行うように制御するオーバーフロー監視部と、前記外部メモリにおいて、前記暗復号処理部からの書き込みが行われた位置を示すポインタと、前記暗復号処理部への読み出しが行われた位置を示すポインタとの差に基づいて、前記暗復号処理部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、前記オーバーフロー監視部は、前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである。
【００２１】
請求項１２の発明では、請求項１に記載のデータ処理装置において、前記内部バッファは、前記暗復号処理部が復号化処理の際に用いる一時格納バッファと、前記一時格納バッファがオーバーフローする可能性がある場合には、前記一時格納バッファへの書き込みを停止して、前記暗復号処理部が外部メモリとの間でデータ転送を行いながら復号化処理を行うように制御するオーバーフロー監視部と、前記外部メモリにおいて、前記暗復号処理部からの書き込みが行われた位置を示すポインタと、前記暗復号処理部への読み出しが行われた位置を示すポインタとの差に基づいて、前記暗復号処理部から前記外部メモリに書き込まれたデータの読み出しが終了したことを検出するメモリ監視部とを有し、前記オーバーフロー監視部は、前記一時格納バッファがオーバーフローする可能性がなくなり、かつ、前記メモリ監視部による検出が行われた場合には、前記一時格納バッファへの書き込みを再開するように制御するものである。
【００２２】
請求項１３の発明は、請求項１に記載のデータ処理装置において、入力されたアドレスをデコードするアドレスデコーダと、格納している値を出力する第１のレジスタと、それぞれが値を格納する複数の第２のレジスタと、前記アドレスデコーダで得られたデコード結果によって選択されると、前記第１のレジスタの値に従って前記複数の第２のレジスタのうちのいずれかを選択し、選択された第２のレジスタに格納された値を出力するセレクタとを更に備えるものである。
【００２３】
請求項１４の発明は、請求項１に記載のデータ処理装置において、ストリームに付加すべきパケット付加情報を出力する情報付加部と、前記ストリームに、前記パケット付加情報を付加して出力するＦＩＦＯ（first in, first out）バッファと、前記ＦＩＦＯバッファから出力されたストリームを、第１のクロックに同期して外部に出力する第１の出力部と、前記第１の出力部から出力されたストリームを、外部で処理された後に、前記第１のクロックに同期して受け取り、外部処理後のストリームとして出力する第１の入力部と、前記外部処理後のストリームに対してＣＲＣ（cyclic redundancy code）チェックを行うＣＲＣチェッカーと、前記ＣＲＣチェック後のストリームに付加されている前記パケット付加情報を検出する付加情報検出部とを更に備えるものである。
【００２４】
請求項１５の発明は、請求項１４に記載のデータ処理装置において、第１及び第２のセレクタと、前記ＦＩＦＯバッファから出力されたストリームを、前記第１のクロックとは周波数が異なる第２のクロックに同期して外部に出力する第２の出力部と、前記第２の出力部から出力されたストリームを、外部で処理された後に、前記第２のクロックに同期して受け取り、出力する第２の入力部とを更に備え、前記第１のセレクタは、前記第１及び第２の出力部のうちの選択したものに、前記ＦＩＦＯバッファから出力されたストリームを出力するものであり、前記第２のセレクタは、前記第１のセレクタが前記第１の出力部を選択した場合には前記第１の入力部の出力を選択し、前記第１のセレクタが前記第２の出力部を選択した場合には前記第２の入力部の出力を選択して、前記外部処理後のストリームとして前記ＣＲＣチェッカーに出力するものである。
【００２５】
請求項１６の発明は、データ処理方法として、入力ストリームが放送暗号で暗号化されたストリームである場合に、前記入力ストリームに放送暗号の復号化処理を行い、内部バッファに格納するステップと、前記入力ストリームがコンテンツ用の暗号で暗号化されたストリームである場合に、前記入力ストリームにコンテンツ用の暗号の復号化処理を行い、前記内部バッファに格納するステップと、前記内部バッファに格納されたストリームに対してコンテンツ用の暗号で暗号化処理を行うステップとを備えるものである。
【００２６】
請求項１７の発明では、請求項１６に記載のデータ処理方法において、前記入力ストリームは、シェアードバスを経由して入力されたストリームである。
【００２７】
請求項１８の発明では、請求項１６に記載のデータ処理方法において、前記放送暗号の復号化処理を行うステップ、前記コンテンツ用の暗号の復号化処理を行うステップ、又は前記暗号化処理を行うステップは、外部メモリをも用いて処理を行うものである。
【００２８】
請求項１９の発明は、請求項１６に記載のデータ処理方法において、ストリームに対して、トランスポートストリームとプログラムストリームとの間のフォーマット変換処理を行うステップを更に備えるものである。
【００２９】
請求項２０の発明は、請求項１９に記載のデータ処理方法において、前記ストリーム変換処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記ストリーム変換処理を行うステップとを更に備えるものである。
【００３０】
請求項２１の発明は、請求項１６に記載のデータ処理方法において、前記暗号化処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記暗号化処理を行うステップとを更に備えるものである。
【００３１】
請求項２２の発明は、請求項１６に記載のデータ処理方法において、前記放送暗号又はコンテンツ用の暗号の復号化処理の際に用いられる、前記内部バッファ内の一時格納バッファがオーバーフローする可能性を予測するステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが可能なときは、前記一時格納バッファがオーバーフローする可能性がなくなるまで前記入力ストリームを停止させるステップと、前記一時格納バッファがオーバーフローする可能性がある場合であって、前記入力ストリームを停止することが不可能なときは、外部メモリとの間でデータ転送を行いながら前記復号化処理を行うステップとを更に備えるものである。
【発明の効果】
【００３２】
本発明によれば、データ処理装置と外部メモリとの間のデータ転送量や、データ転送の設定回数を減少させることができる。このため、データ処理装置の動作を高速化し、かつ、外部メモリの容量を小さくすることができる。
【発明を実施するための最良の形態】
【００３３】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３４】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るデータ処理装置のブロック図である。図１のデータ処理装置１００は、シェアードバスコントローラとしてのＰＣＩバスコントローラ１２と、暗復号処理部１４と、ストリームデコーダ１６と、内部バッファ２２，２４，２６と、バッファコントローラ３２と、トランスポートストリーム・インタフェース（ＴＳＩＦ）３４とを備えている。
【００３５】
図１のデータ処理装置は、シェアードバスの一例としてのＰＣＩバス２に接続されている。ＰＣＩバス２には、外部デバイス４，５，６が接続されている。外部デバイスは、ＡＶデータ等を記録再生するデバイスであって、例えば、ＨＤＤ、ＤＶＤ−Ｒドライブ、ＢＤ（Blu-ray Disc）ドライブ等である。外部デバイスは、それぞれに対応したディスク等の記録メディアに対して書き込み及び読み出しを行う。
【００３６】
ＴＳＩＦ３４には、ＤＴＶ放送を受信したチューナから出力されたトランスポートストリーム（ＴＳ）が入力されている。このトランスポートストリームは、放送暗号（ＴＳ暗号）で暗号化されている。ＴＳＩＦ３４は、このトランスポートストリームを受け取り、そのうちの有効なパケットをクロックに同期させて、ストリームデコーダ１６に出力する。
【００３７】
内部バッファ２２，２４，２６は、それぞれ、ＰＣＩバスコントローラ１２、暗復号処理部１４、及びストリームデコーダ１６が処理を行う際に、データの一時的な格納領域として使用される。ＰＣＩバスコントローラ１２及びストリームデコーダ１６は、内部バッファ２４に対してもアクセスを行い、ＰＣＩバスコントローラ１２、暗復号処理部１４、及びストリームデコーダ１６は、内部バッファ２４のデータを共用する。
【００３８】
バッファコントローラ３２は、暗復号処理部１４、ストリームデコーダ１６、及びＰＣＩバスコントローラ１２のそれぞれについて、内部バッファ２４への書き込みが終了したことを示す書き込み完了フラグ及び内部バッファ２４からの読み出しが終了したことを示す読み出し完了フラグを管理している。バッファコントローラ３２は、これらのフラグを用いて、内部バッファ２４に対する書き込み及び読み出しを制御する。
【００３９】
ストリームデコーダ１６は、ＴＳＩＦ３４から出力されたトランスポートストリームに対して、ヘッダによるフィルタリング、放送暗号の復号化、ＰＳＩ（Program Specific Information）テーブルのセクションのうちの有効データを選別するためのセクションフィルタリング、及びパーシャライズ化を行い、得られた結果を内部バッファ２４に出力し、格納させる。ストリームデコーダ１６は、パケタイズドエレメンタリストリーム（ＰＥＳ）又はプログラムストリーム（ＰＳ）が入力された場合にも、入力されたストリームに対して必要に応じて同様の処理を行う。
【００４０】
一方、ＰＣＩバスコントローラ１２は、ＰＣＩバス２の入出力制御を行っており、外部デバイス２〜４から読み出されたストリームを、ＰＣＩバス２を経由して内部バッファ２４に転送する。転送されたストリームは、コンテンツ用の暗号で暗号化されている。暗復号処理部１４は、転送されたストリームに対して、再生する際に必要な、コンテンツ用の暗号の復号化処理を行い、得られた結果を内部バッファ２４に格納させる。ストリームデコーダ１６は、暗復号処理部１４から内部バッファ２４に格納されたストリームに対して、セクションフィルタリング、及びパーシャライズ化を行い、得られた結果を内部バッファ２４に再び格納させる。
【００４１】
暗復号処理部１４は、デバイス２〜４から転送されたストリームの処理結果、又はストリームデコーダ１６によって復号化処理されたトランスポートストリームを内部バッファ２４から読み出し、外部デバイスに記録する際に必要とされる、コンテンツ用の暗号で暗号化処理を行い、得られた結果を再び内部バッファ２４に格納させる。ＰＣＩバスコントローラ１２は、内部バッファ２４に格納された暗号化処理の結果を、外部デバイス２〜４にＰＣＩバス２を経由して転送する。外部デバイス２〜４は、受け取ったデータを記録メディアに対して書き込む。
【００４２】
また、ＰＣＩバスコントローラ１２は、暗復号処理部１４によって暗号化処理される前のデータを、内部バッファ２４からＡＶデコーダ（図示せず）にＰＣＩバス２を経由して転送する。ＡＶデコーダは、転送されたデータに対してＭＰＥＧ復号化等を行い、得られた映像データ及び音声データを出力する。
【００４３】
図１のデータ処理装置では、ＰＣＩバスコントローラ１２と暗復号処理部１４とが、外部メモリを介さずにデータ転送を行うことが可能であるので、ＡＶデータのダビング等の際に、外部メモリのバンド幅に関係なく、外部デバイスへの記録を行うことができる。また、ストリームデコーダ１６と暗復号処理部１４とが、外部メモリを介さずにデータ転送を行うことが可能であるので、データ処理の高速化を図ることができる。
【００４４】
（第２の実施形態）
図２は、本発明の第２の実施形態に係るデータ処理装置のブロック図である。図２のデータ処理装置は、図１のデータ処理装置において、ＰＣＩバスコントローラ１２、暗復号処理部１４、ストリームデコーダ１６、及びバッファコントローラ３２に代えて、ＰＣＩバスコントローラ２１２、暗復号処理部２１４、ストリームデコーダ２１６、及びバッファコントローラ２３２をそれぞれ備えている。また、図２のデータ処理装置は、ストリーム変換部１８と、内部バッファ２８と、Ｉ／Ｏコントローラとしてのメディア用インタフェース（メディア用ＩＦ）３８と、ＣＰＵ４２と、プロセッサ５２と、ＰＣＩバスコントローラ用ＤＭＡ（Direct Memory Access）コントローラ５４と、ストリームデコーダ用ＤＭＡコントローラ５６と、メディア転送用ＤＭＡコントローラ５８と、内部バッファ群６４と、メモリインタフェース（メモリＩＦ）７２とを更に備えている。以下では、ＤＭＡコントローラをＤＭＡＣと表記する。
【００４５】
メモリＩＦ７２には、外部メモリが接続されている。メモリＩＦ７２は、外部メモリとの間でデータの入出力を行い、ＰＣＩバス用ＤＭＡＣ５４、ストリームデコーダ用ＤＭＡＣ５６、及びメディア転送用ＤＭＡＣ５８等と、外部メモリとの間のインタフェースとして動作する。暗復号処理部２１４は、コンテンツ用の暗号で暗号化されたストリームをメディア用ＩＦ３８との間で転送する。また、暗復号処理部２１４は、ＰＣＩバス２０２との間でデータの転送を行う。
【００４６】
ＰＣＩバスコントローラ２１２及びストリームデコーダ２１６は、ＰＣＩバスコントローラ用ＤＭＡＣ５４及びストリームデコーダ用ＤＭＡＣ５６をそれぞれ用いて、外部メモリとの間でデータ転送を行う。
【００４７】
ＣＰＵ４２は、ＰＣＩバスコントローラ２１２、暗復号処理部２１４、ストリームデコーダ２１６、ストリーム変換部１８、バッファコントローラ２３２、メディア用ＩＦ３８、プロセッサ５２、及びメモリＩＦ７２等、図２のデータ処理装置の各部を制御している。ＣＰＵ４２が、メモリＩＦ７２を制御して、外部メモリにおけるポインタの管理を行ってもよい。
【００４８】
以上の点の他は、ＰＣＩバスコントローラ２１２、暗復号処理部２１４、ストリームデコーダ２１６、及びバッファコントローラ２３２は、図１のＰＣＩバスコントローラ１２、暗復号処理部１４、ストリームデコーダ１６、及びバッファコントローラ３２とほぼ同様のものである。
【００４９】
図１のデータ処理装置と同様に、内部バッファ２２，２４，２６は、それぞれ、ＰＣＩバスコントローラ２１２、暗復号処理部２１４、及びストリームデコーダ２１６が処理を行う際に、データの一時的な格納領域として使用される。ＰＣＩバスコントローラ２１２及びストリームデコーダ２１６は、内部バッファ２４に対してもアクセスを行う。ＴＳＩＦ３４は、図１を参照して説明したものと同様のものである。
【００５０】
メディア用ＩＦ３８は、例えばシリアルＡＴＡインタフェースである。メディア用ＩＦ３８は、外部デバイス（図示せず）から、その外部デバイスの記録メディアに保存されているストリームを読み出して、暗復号処理部２１４に転送する。暗復号処理部２１４は、読み出されたストリームに対して、コンテンツ用の暗号の復号化処理を行う。また、メディア用ＩＦ３８は、コンテンツ用の暗号で暗号化されたストリームを暗復号処理部２１４から受け取り、外部デバイスに出力する。外部デバイスは、受け取ったストリームをその外部デバイスの記録メディアに書き込む。内部バッファ２８は、メディア用ＩＦ３８が処理を行う際に、データの一時的な格納領域として使用される。
【００５１】
ストリーム変換部１８は、内部バッファ群６４を用いて、外部メモリを使用せずに、ストリーム変換処理、すなわち、トランスポートストリームとプログラムストリームとの間のフォーマット変換処理を行う。例えば、ストリーム変換部１８は、ストリームデコーダ２１６で復号化されたトランスポートストリームや、ＨＤＤ等の外部デバイスから入力されたトランスポートストリームをプログラムストリームに変換して暗復号処理部２１４に出力する。プログラムストリームは、ＤＶＤドライブ等の外部デバイスに転送され、記録される。
【００５２】
また、ストリーム変換部１８は、ＤＶＤドライブ等の外部デバイスから入力されたプログラムストリームを、トランスポートストリームに変換して暗復号処理部２１４に出力する。トランスポートストリームは、ＡＶデコーダに転送されて表示されたり、ＨＤＤ等の外部デバイスに転送され、記録される。
【００５３】
プロセッサ５２は、例えばストリーム変換処理、暗号化処理、又は復号化処理を行うように構成された専用プロセッサである。ＰＣＩバス用ＤＭＡＣ５４は、ＰＣＩバス２０２に接続されたデバイスとメモリＩＦ７２との間のデータ転送を制御する。すなわち、ＰＣＩバス用ＤＭＡＣ５４は、このようなデバイスと外部メモリとの間のデータの直接転送を制御する。
【００５４】
ストリームデコーダ用ＤＭＡＣ５６は、ストリームデコーダ２１６とメモリＩＦ７２との間のデータ転送を制御する。すなわち、ストリームデコーダ用ＤＭＡＣ５６は、ストリームデコーダ２１６と外部メモリとの間のデータの直接転送を制御する。メディア転送用ＤＭＡＣ５８は、メディア用ＩＦ３８とメモリＩＦ７２との間のデータ転送を制御する。すなわち、メディア転送用ＤＭＡＣ５８は、外部デバイスと外部メモリとの間のデータの直接転送を制御する。
【００５５】
プロセッサ５２、ＰＣＩバス用ＤＭＡＣ５４、ストリームデコーダ用ＤＭＡＣ５６、メディア転送用ＤＭＡＣ５８、及びストリーム変換部１８は、ＰＣＩバス２０２に接続されており、内部バッファ群６４は、これらの構成要素がデータ処理を行う際に用いられるバッファ群である。
【００５６】
図２のデータ処理装置では、ＰＣＩバスコントローラＤＭＡＣ５４と、ストリームデコーダＤＭＡＣ５６と、メディア転送用ＤＭＡＣ５８とは、外部メモリを介さずに相互にデータ転送可能である。
【００５７】
各ＤＭＡＣを通じて入出力されるデータに対して、暗復号処理部２１４は、暗号化及び復号化処理を行うことができる。この際、暗復号処理部２１４は、中間データの記憶領域として内部バッファ２４や内部バッファ群６４を使用することにより、外部メモリを使用せずに、暗号化又は復号化処理を行いながら各ＤＭＡＣ間でデータ転送を行うこともできる。
【００５８】
図２のデータ処理装置では、メディア用ＩＦ３８と暗復号処理部２１４とが、外部メモリを介さずにデータ転送を直接行うことが可能であるので、ＡＶデータのダビング等の際に、外部メモリのバンド幅に関係なく、外部デバイスへの記録を行うことができる。また、ストリームデコーダ２１６と暗復号処理部２１４とが、外部メモリを介さずにデータ転送を直接行うことが可能であるので、データ処理の高速化を図ることができる。
【００５９】
なお、暗復号処理部２１４及びストリーム変換部１８が、暗号化／復号化処理、及びストリーム変換処理のそれぞれを行う場合について説明したが、プロセッサ５２が同様の処理をソフトウェア的に行うようにしてもよい。
【００６０】
また、暗号化及び復号化処理、並びにストリーム変換処理を、内部バッファ２４及び内部バッファ群６４の容量と使用状況に応じて、外部メモリをも用いて実行するようにしてもよい。この場合も、外部メモリのみを用いる場合に比べて外部メモリに対するデータの転送量を減らすことが可能となるので、その減少分だけ、外部メモリのバンド幅をＣＰＵ４２等の処理に割り当てることが可能となる。このため、データ処理装置全体の処理性能が向上する。また、データ転送量が減少するので、消費電力を低減することもできる。
【００６１】
また、ストリームデコーダ２１６、ＰＣＩバスコントローラ２１２、及びメディア用ＩＦ３８は、メモリＩＦ７２が外部メモリに書き込んだデータを共用してもよい。この場合、外部メモリに対するデータの転送量を更に減らすことが可能となる。
【００６２】
（第３の実施形態）
図３は、本発明の第３の実施形態に係るデータ処理装置のブロック図である。図３のデータ処理装置は、シェアードバスコントローラとしてのＰＣＩバスコントローラ３１２と、暗復号処理部３１４と、ストリームデコーダ３１６と、ストリーム変換部３１８と、内部バッファ３２０と、ＴＳＩＦ３４と、Ｉ／Ｏコントローラとしてのメディア用ＩＦ３３８と、ＣＰＵ３４２と、プロセッサ３５２と、ＰＣＩバスコントローラ用ＤＭＡＣ３５４と、ストリームデコーダ用ＤＭＡＣ３５６と、メディア転送用ＤＭＡＣ３５８と、メモリＩＦ３７２とを備えている。
【００６３】
メモリＩＦ３７２には、外部メモリが接続されている。図３のデータ処理装置は、内部バッファ３２０を介して外部メモリとの間でデータ転送を行う点に特徴がある。
【００６４】
ＴＳＩＦ３４は、図１を参照して説明したものと同様のものである。ＰＣＩバスコントローラ３１２、ストリームデコーダ３１６、及びメディア用ＩＦ３３８は、それぞれＰＣＩバスコントローラ用ＤＭＡＣ３５４、ストリームデコーダ用ＤＭＡＣ３５６、及びメディア転送用ＤＭＡＣ３５８を介して内部バッファ３２０にアクセスする点の他は、図１のＰＣＩバスコントローラ１２、ストリームデコーダ１６、及び図２のメディア用ＩＦ３８とほぼ同様のものである。
【００６５】
暗復号処理部３１４は、内部バッファ３２０内のデータに対して暗復号処理部１４と同様に暗号化処理又は復号化処理を行い、得られた結果を再び内部バッファ３２０に書き込む。ストリーム変換部３１８は、内部バッファ３２０内のデータに対してストリーム変換、すなわち、プログラムストリームとトランスポートストリームとの間のフォーマット変換を行い、得られた結果を再び内部バッファ３２０に書き込む。
【００６６】
図４は、図３のデータ処理装置における処理の流れを示すフローチャートである。図４の処理について、図３を参照して説明する。
【００６７】
ステップＳ１１では、ＣＰＵ３４２は、データ処理装置の動作モードを設定する。ストリームがチューナから入力されている場合には、ストリームデコーダ３１６が、ストリームのヘッダに設定された値等に基づいて、動作モードを設定してもよい。動作モードは、できるだけ内部バッファ３２０を使用すべきであるか否か、ストリームの転送停止が可能であるか否か等を示すものである。入力されたストリームは、内部バッファ３２０に格納される。
【００６８】
ステップＳ１２では、ＣＰＵ３４２は、入力されたストリームのヘッダから、入力されたストリームがＴＳＩＦ３４から入力されたものであるか否か、すなわち、チューナから入力されたものであるか否かを判断する。入力ストリームがＴＳＩＦ３４から入力されたものである場合には、入力ストリームは放送暗号で暗号化されたトランスポートストリームであるので、ステップＳ１３に進む。その他の場合には、入力ストリームは、メディア用ＩＦ３３８やＰＣＩバスコントローラ３１２を経由して入力された、コンテンツ用の暗号で暗号化されたストリームであるので、ステップＳ１５に進む。
【００６９】
ステップＳ１３では、ストリームデコーダ３１６は、入力されたストリームのヘッダ内のＰＩＤ（パケット識別子）に基づいて有効なデータを選別する、ＰＩＤフィルタリングを行う。ステップＳ１４では、ストリームデコーダ３１６は、トランスポートストリームに施されている放送暗号を復号化して、内部バッファ３２０に格納する。
【００７０】
ステップＳ１５では、暗復号処理部３１４は、内部バッファ３２０に格納されたストリームに対して、各記録メディア毎に定められた規格に従ってファイルに掛けられている暗号（コンテンツ用の暗号）を復号化して、内部バッファ３２０に格納する。ステップＳ１６では、ストリームデコーダ３１６は、ステップＳ１５の処理後のデータが放送暗号で暗号化されているか否かを判断する。放送暗号が掛けられている場合には、ステップＳ１４の処理を行い、その他の場合には、ステップＳ１７に進む。ステップＳ１７では、ストリームデコーダ３１６は、セクションの有効データを選別する、セクションフィルタリングを行う。
【００７１】
ステップＳ２１では、ストリームデコーダ３１６は、必要に応じてパーシャライズ処理を行い、処理後のストリームを内部バッファ３２０に格納する。ステップＳ２２では、ＣＰＵ３４２は、ストリーム変換処理が必要か否かを判断する。ストリーム変換処理が必要な場合には、ステップＳ２３に進み、その他の場合には、ステップＳ２４に進む。
【００７２】
ステップＳ２３では、ストリーム変換部３１８は、内部バッファ３２０に格納されたストリームに対して、ストリーム変換処理を行い、変換後のストリームを再び内部バッファ３２０に書き込む。ステップＳ２４では、ＣＰＵ３４２は、ＡＶデコード処理又はＡＶエンコード処理が必要であるか否かを判断する。処理が必要な場合には、ステップＳ２５に進み、その他の場合には、ステップＳ２６に進む。
【００７３】
ステップＳ２５では、ＣＰＵ３４２は、内部バッファ３２０内のストリームをＡＶデコーダ（図示せず）に出力する。ＡＶデコーダは、転送されたデータに対してＭＰＥＧ復号化等を行い、得られた映像データ及び音声データを出力する。
【００７４】
ステップＳ２６では、暗復号処理部３１４は、ステップＳ２１又はＳ２３で処理後の内部バッファ３２０内のストリームに対して、記録メディアに記録するためのファイルレベルの暗号化処理（コンテンツ用の暗号での暗号化処理）を行い、その結果を再び内部バッファ３２０に書き込む。ステップＳ２７では、メディア用ＩＦ３３８は、ステップＳ２６で処理後の内部バッファ３２０内のストリームを、メディア転送用ＤＭＡＣ３５８を介してＨＤＤ等の外部デバイスに転送し、書き込む。
【００７５】
図５は、図３の内部バッファ３２０の構成の例を示すブロック図である。図５のように、内部バッファ３２０は、一時格納バッファ３２１，３２２，３２３，３２４，３２５，３２６と、オーバーフロー監視部３８２と、メモリ監視部３８４，３８６とを備えている。
【００７６】
一時格納バッファ３２２は、一時格納バッファ３２１とメモリＩＦ３７２との間でデータ転送を行うＤＭＡＣによって用いられている。同様に、一時格納バッファ３２４は、一時格納バッファ３２３とメモリＩＦ３７２との間でデータ転送を行うＤＭＡＣによって、一時格納バッファ３２６は、一時格納バッファ３２５とメモリＩＦ３７２との間でデータ転送を行うＤＭＡＣによって用いられている。
【００７７】
オーバーフロー監視部３８２は、内部バッファ３２０に入力されたストリームのビットレートを測定して、又はＣＰＵ３４２から情報を受けて、内部バッファ３２０に入力されたストリームのビットレートを把握している。オーバーフロー監視部３８２は、一時格納バッファ３２１，３２３を監視しており、入力ストリームのビットレートとデータ処理状況とに基づいて、一時格納バッファ３２１，３２３がオーバーフローする可能性を求める。
【００７８】
オーバーフロー監視部３８２は、一時格納バッファ３２１がオーバーフローする可能性がある場合には、一時格納バッファ３２２，３２３、関連するＤＭＡＣ、及び暗復号処理部３１４等に通知し、一時格納バッファ３２３がオーバーフローする可能性がある場合には、一時格納バッファ３２４，３２５、関連するＤＭＡＣ、暗復号処理部３１４、及びストリーム変換部３１８等に通知する。
【００７９】
図６は、図４のフローチャートにおける一部のステップを詳細に示したフローチャートである。図６は、図４のステップＳ１４，Ｓ１５，Ｓ２３，Ｓ２６のそれぞれにおける処理を示しているが、ここでは、例として、ステップＳ１５についてのフローチャートであるとして説明する。
【００８０】
ステップＳ３１では、ＣＰＵ３４２は、図４のステップＳ１１で設定された動作モードが、できるだけ内部バッファ３２０を使用すべきモードであるか否かを判断する。できるだけ内部バッファ３２０を使用すべきモードである場合には、ステップＳ３２に進み、その他の場合には、ステップＳ４１に進む。
【００８１】
ステップＳ３２では、一時記憶領域として内部バッファ３２０を用いてデータ処理が行われる。ステップＳ１５に関してより具体的に説明すると、外部デバイスからメディア用ＩＦ３３８に入力されたストリームが、一時格納バッファ３２２を経由して一時格納バッファ３２１に格納され、暗復号処理部３１４が、格納されたストリームに、一時格納バッファ３２１を用いてコンテンツ用の暗号の復号化処理を行う。処理後のデータは、一時格納バッファ３２１から、一時格納バッファ３２２を経由して一時格納バッファ３２３に転送される。
【００８２】
ステップＳ３３では、暗復号処理部３１４は、復号化処理が終了したか否かを判断する。終了した場合には、図６の処理を終了し、その他の場合には、ステップＳ３４に進む。ステップＳ３４では、オーバーフロー監視部３８２は、一時格納バッファ３２１がオーバーフローする可能性があるか否かを判断する。オーバーフローする可能性がある場合には、ステップＳ３５に進み、その他の場合には、ステップＳ３２に戻る。
【００８３】
ステップＳ３５では、ＣＰＵ３４２は、図４のステップＳ１１で設定されたモードから、入力されているストリームの転送停止が可能であるか否かを判断する。可能である場合には、ステップＳ３６に進み、その他の場合には、ステップＳ３７に進む。一般的には、放送されたストリームがチューナから入力されている場合には、転送停止はできないが、外部デバイスからストリームが入力されている場合には、転送停止が可能である。
【００８４】
ステップＳ３６では、一時格納バッファ３２１のデータが処理されて、一時格納バッファ３２１がオーバーフローする可能性がなくなるまで、暗復号処理部３１４は、一時格納バッファ３２１へのストリームの転送を停止する。その後、ステップＳ３２に戻る。
【００８５】
ステップＳ３７では、外部メモリへの転送付きデータ処理を行う。ここでは、暗復号処理部３１４が、一時格納バッファ３２１への書き込みを停止して、外部メモリとの間でデータ転送を行いながら復号化処理を行うように、オーバーフロー監視部３８２は制御を行う。
【００８６】
メモリ監視部３８４は、外部メモリにおいて、暗復号処理部３１４からの書き込みが行われた位置を示す書き込みポインタと、暗復号処理部３１４への読み出しが行われた位置を示す読み出しポインタとを監視している。外部メモリのデータが処理されて、両ポインタが一致したときに、メモリ監視部３８４は、暗復号処理部３１４から外部メモリに書き込まれたデータの読み出しが終了したことを検出し、暗復号処理部３１４、一時格納バッファ３２２を用いるＤＭＡＣ等に通知する。
【００８７】
ステップＳ３８では、一時格納バッファ３２２を用いるＤＭＡＣは、外部メモリからの読み出しが終了しているか否かを判断する。終了している場合には、内部バッファ３２０を用いた処理に復帰するように、外部メモリとの間のデータ転送を停止してステップＳ３４に戻り、その他の場合には、ステップＳ３７に戻る。ステップＳ３４において、一時格納バッファ３２１がオーバーフローする可能性がなければ、ステップＳ３２に戻り、一時格納バッファ３２１への書き込みが再開される。
【００８８】
ステップＳ４１では、ステップＳ３７と同様に、外部メモリへの転送付きデータ処理を行う。ここでは、暗復号処理部３１４が、外部メモリとの間でデータ転送を行いながら復号化処理を行う。
【００８９】
ここでは、内部バッファ３２０が、一時格納バッファ３２１〜３２６を有し、一時格納バッファ３２１〜３２６の間でデータを転送するものとして説明したが、次のようにしてもよい。すなわち、メモリ内の領域を一時格納バッファ３２１〜３２６として用い、データを転送する代わりに、一時格納バッファ３２１〜３２６のそれぞれに格納されたデータを示すポインタを入れ換えるようにしてもよい。
【００９０】
図４のステップＳ１４及びＳ２３の場合には、図６の説明において、暗復号処理部３１４の代わりにストリームデコーダ３１６及びストリーム変換部３１８がそれぞれ動作して、放送暗号の復号化処理及びストリーム変換処理をそれぞれ行うようにすればよい。また、図４のステップＳ２３及びＳ２６の場合には、メモリ監視部３８４の代わりにメモリ監視部３８６を、一時格納バッファ３２１〜３２３の代わりに一時格納バッファ３２３〜３２５をそれぞれ用いるようにすればよい。
【００９１】
ＰＣＩバスコントローラ用ＤＭＡＣ３５４は、暗復号処理部３１４又はストリーム変換部３１８による処理によって得られた一時格納バッファ３２５のデータを、ＰＣＩバスコントローラ３１２に転送する。
【００９２】
図３のデータ処理装置は、レジスタ部を更に備えていてもよい。図７は、レジスタ部の構成の例を示すブロック図である。図７のレジスタ部は、アドレスデコーダ１１２と、セレクタ１１４と、第１のレジスタ１１６と、第２のレジスタ１１７，１１８，１１９とを備えている。
【００９３】
アドレスデコーダ１１２は、ＰＣＩバス２を経由してＣＰＵ３４２から指定されたアドレスをデコードし、レジスタ１１６を選択する。アドレスデコーダ１１２は、セレクタ１１４がレジスタ１１７〜１１９を選択するために用いる値を、レジスタ１１６に格納させる。レジスタ１１７〜１１９には、ＤＭＡ転送チャンネル毎の転送先アドレスや転送データのサイズを格納しておく。
【００９４】
次に、アドレスデコーダ１１２は、ＣＰＵ３４２から指定されたアドレスに従ってセレクタ１１４を選択する。セレクタ１１４は、レジスタ１１６の値に従って、レジスタ１１７〜１１９から１つを選択し、選択されたレジスタに格納された値を、ＰＣＩバス２を経由して、ＰＣＩバスコントローラ用ＤＭＡＣ３５４、ストリームデコーダ用ＤＭＡＣ３５６、及びメディア転送用ＤＭＡＣ３５８に転送する。
【００９５】
アドレスデコーダ１１２がレジスタ１１７〜１１９を直接選択するように構成されているとすれば、レジスタ１１７〜１１９のうちのどのレジスタの値を用いるかに応じてアドレスデコーダ１１２に与えるアドレスを変えなければならない。このため、この場合には、処理を切り替えるブランチ命令を実行する必要がある。
【００９６】
図７のレジスタ部によると、レジスタ１１７〜１１９のうちの選択されるべきものを示す値をレジスタ１１６に格納しておけば、アドレスデコーダ１１２には、セレクタ１１４を指定するためのアドレスを常に与えるようにすればよい。ブランチ命令を実行する必要がなくなるので、ＤＭＡ転送を高速化することができる。
【００９７】
図３のデータ処理装置は、ＰＯＤ（Point-of-Deployment）インタフェースを更に備えていてもよい。図８は、ＰＯＤインタフェースの構成の例を示すブロック図である。図８のＰＯＤインタフェース３６は、ＦＩＦＯ（first in, first out）バッファ１３２，１４２と、セレクタ１３４，１４４と、出力部１３６，１３８と、入力部１４６，１４８と、情報付加部１５２と、ＣＲＣ（cyclic redundancy code）チェッカー１５６と、付加情報検出部１５４とを備えている。
【００９８】
チューナから入力されたトランスポートストリームは、ＦＩＦＯバッファ１３２に入力される。情報付加部１５２は、入力されたトランスポートストリームに付加すべきパケット付加情報をＦＩＦＯバッファ１３２に出力する。すなわち、情報付加部１５２は、ＦＩＦＯバッファ１３２に格納されたデータがマルチストリームＰＯＤ（ＭＳＰＯＤ）用のデータである場合には、パケット付加情報を出力する。ＦＩＦＯバッファ１３２は、入力されたストリームにパケット付加情報を付加して、入力された順にセレクタ１３４に出力する。ＦＩＦＯバッファ１３２は、トランスポートストリームを１８８バイト毎にバースト出力する。
【００９９】
セレクタ１３４は、入力されたストリームがＭＳＰＯＤ用のデータである場合には、ストリームを出力部１３６に出力し、入力されたストリームがシングルストリームＰＯＤ（ＳＳＰＯＤ）用のデータである場合には、ストリームを出力部１３８に出力する。出力部１３６は、周波数２７ＭＨｚのクロックＣＬＫ２７に同期して、セレクタ１３４から出力されたストリームをＭＳＰＯＤカード１９２に出力する。出力部１３８は、周波数６．７５ＭＨｚのクロックＣＬＫ６に同期して、セレクタ１３４から出力されたストリームをＳＳＰＯＤカード１９４に出力する。
【０１００】
ＭＳＰＯＤカード１９２及びＳＳＰＯＤカード１９４は、暗号の復号化等の処理を行い、処理結果を入力部１４６及び１４８にそれぞれ出力する。入力部１４６，１４８は、クロックＣＬＫ２７及びクロックＣＬＫ６にそれぞれ同期して動作しており、入力されたストリームをそれぞれのクロックに同期して受け取り、セレクタ１４４に出力する。
【０１０１】
セレクタ１４４は、セレクタ１３４が出力部１３６を選択した場合は入力部１４６を選択し、出力部１３８を選択した場合は入力部１４８を選択して、入力されたストリームを外部処理後のストリームとしてＦＩＦＯバッファ１４２に出力する。
【０１０２】
ＦＩＦＯバッファ１４２のストリームに対しては、ＣＲＣチェッカー１５６がＣＲＣチェックを行い、チェック後のストリームを付加情報検出部１５４に出力する。付加情報検出部１５４は、ＣＲＣチェック後のストリームに付加されているパケット付加情報を検出し、このストリームをストリームデコーダ３１６に出力する。
【０１０３】
このように、図８のＰＯＤインタフェース３６によると、ＰＯＤカードに出力するストリームの転送速度を変更することができるので、ＭＳＰＯＤカード１９２及びＳＳＰＯＤカード１９４のいずれをも使用することが可能となる。
【０１０４】
なお、図１及び図２のデータ処理装置が、図７のレジスタ部や、図８のＰＯＤインタフェース３６を更に備えるようにしてもよい。
【産業上の利用可能性】
【０１０５】
以上説明したように、本発明は、データ処理装置と外部メモリとの間のデータ転送を減少させることができるので、ＤＴＶのストリームを記録する装置等について有用である。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施形態に係るデータ処理装置のブロック図である。
【図２】本発明の第２の実施形態に係るデータ処理装置のブロック図である。
【図３】本発明の第３の実施形態に係るデータ処理装置のブロック図である。
【図４】図３のデータ処理装置における処理の流れを示すフローチャートである。
【図５】図３の内部バッファの構成の例を示すブロック図である。
【図６】図４のフローチャートにおける一部のステップを詳細に示したフローチャートである。
【図７】レジスタ部の構成の例を示すブロック図である。
【図８】ＰＯＤインタフェースの構成の例を示すブロック図である。
【符号の説明】
【０１０７】
１２，２１２，３１２  ＰＣＩバスコントローラ（シェアードバスコントローラ）
１４，２１４，３１４  暗復号処理部
１６，２１６，３１６  ストリームデコーダ
１８，３１８  ストリーム変換部
２２，２４，２６，２８，３２０  内部バッファ
３２，２３２  バッファコントローラ
３４  トランスポートストリーム・インタフェース
３８，３３８  メディア用インタフェース（Ｉ／Ｏコントローラ）
４２，３４２  ＣＰＵ
５２，３５２  プロセッサ
５４  ＰＣＩバスコントローラ用ＤＭＡコントローラ
５６  ストリームデコーダ用ＤＭＡコントローラ
５８  メディア転送用ＤＭＡコントローラ
１１２  アドレスデコーダ
１１４  セレクタ
１１６  第１のレジスタ
１１７，１１８，１１９  第２のレジスタ
１５２  情報付加部
１５４  付加情報検出部
１５６  ＣＲＣチェッカー
【図１】
2006295555.tif 000003
【図２】
2006295555.tif 000004
【図３】
2006295555.tif 000005
【図４】
2006295555.tif 000006
【図５】
2006295555.tif 000007
【図６】
2006295555.tif 000008
【図７】
2006295555.tif 000009
【図８】
2006295555.tif 000010