(57)【要約】【課題】本発明は、安全データと非安全データをマージするデータ処理装置とデータ処理方法を提供する。【解決手段】この装置は、非安全処理を実行して出力データ・ストリームに含まれる非安全データを発生し、安全処理を実行して出力データ・ストリームに含まれる安全データを発生する少なくとも１つのプロセッサを含む。非安全バッファは、非安全処理によって発生する非安全データを受信するために用意され、非安全処理からアクセスできない安全バッファは、安全処理によって発生する安全データを受信するために用意される。出力コントローラは、非安全バッファからの非安全データと安全バッファからの安全データを読み出すとともに、複合データ・ストリームを発生するために非安全データと安全データをマージするように構成され、出力データ・ストリームは複合データ・ストリームから取り出される。【選択図】図１
2005108223.tif 000002
【特許請求の範囲】
【請求項１】
非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するとともに、安全処理を実行して出力データ・ストリームの中に含まれる安全データを発生するように動作可能な少なくとも１つのプロセッサと、
非安全処理によって発生する非安全データを受信できるように動作可能な非安全バッファと、
安全処理によって発生する安全データを受信できるように動作可能であるとともに、非安全処理によるアクセスが不能な安全バッファと、
非安全バッファからの非安全データと安全バッファからの安全データとを読み出し、さらに複合データ・ストリームから出力データ・ストリームを取り出すように動作可能であるとともに、マージしたデータ・ストリームを発生するために非安全データと安全データをマージするように動作可能なマージング論理を有する出力コントローラと
を含むデータ処理装置。
【請求項２】
請求項１に記載のデータ処理装置において、前記プロセッサは、前記安全バッファのアクセス許容データを管理するとともに、前記安全バッファが前記非安全処理からアクセス不能であるように前記アクセス許容データを定義する前記データ処理装置。
【請求項３】
請求項１に記載のデータ処理装置において、前記非安全バッファと前記安全バッファとはメモリ・システムの中に与えられ、前記メモリ・システムは、前記安全バッファに対するアクセスを管理するとともに、前記非安全処理による前記安全バッファに対するアクセスを抑止するように動作可能である前記データ処理装置。
【請求項４】
請求項１に記載のデータ処理装置において、前記安全バッファは、その内容が前記プロセッサから読み出されることができないように構成されている前記データ処理装置。
【請求項５】
請求項１に記載のデータ処理装置において、前記マージング論理は、前記非安全データと前記安全データとを第１の所定のフォーマットで受信するように構成され、前記非安全バッファと前記安全バッファの少なくとも１つは、第２の所定のフォーマットでデータを格納するように動作可能であり、前記出力コントローラは、前記非安全バッファと前記安全バッファの少なくとも１つに関連する変換論理を含んでいて、バッファから受信したデータが前記マージング論理で受信される前に、そのデータを前記第２の所定のフォーマットから前記第１の所定のフォーマットに変換するように動作可能である前記データ処理装置。
【請求項６】
請求項５に記載のデータ処理装置において、前記安全バッファは、前記安全データを前記第２の所定のフォーマットで格納するように動作可能である前記データ処理装置。
【請求項７】
請求項１に記載のデータ処理装置において、前記出力コントローラに接続され、前記出力データ・ストリームを受信する出力装置を更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記データ処理装置。
【請求項８】
請求項１に記載のデータ処理装置において、前記出力コントローラは、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームを暗号化するように動作可能な暗号化論理を更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記データ処理装置。
【請求項９】
請求項１に記載のデータ処理装置において、前記出力コントローラは、前記出力データ・ストリームの中に透かしを与えるように動作可能である前記データ処理装置。
【請求項１０】
請求項１に記載のデータ処理装置において、前記出力コントローラは、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームをアナログ信号に変換するデジタル・アナログ変換装置を更に含む前記データ処理装置。
【請求項１１】
請求項１に記載のデータ処理装置において、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと前記安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、さらに前記安全バッファは安全フレーム・ストアである前記データ処理装置。
【請求項１２】
請求項１１に記載のデータ処理装置において、前記出力データ・ストリームは、ディスプレイ・データのフレームである前記データ処理装置。
【請求項１３】
請求項５に記載のデータ処理装置において、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと前記安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、前記安全バッファは安全フレーム・ストアであり、さらに前記変換論理は、色空間変換処理を実行するように動作可能である前記データ処理装置。
【請求項１４】
請求項１３に記載のデータ処理装置において、前記第１の所定のフォーマットはRGBフォーマットであり、前記第２の所定のフォーマットはYUVフォーマットであり、さらに非安全バッファと安全バッファの少なくとも１つは、前記YUVフォーマットで画像データを格納するように動作可能である前記データ処理装置。
【請求項１５】
請求項１１に記載のデータ処理装置において、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにフィルタリング処理を実行するように動作可能なフィルタリング論理を更に含む前記データ処理装置。
【請求項１６】
請求項１１に記載のデータ処理装置において、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにスケーリング処理を実行するように動作可能なスケーリング論理を更に含む前記データ処理装置。
【請求項１７】
請求項１３に記載のデータ処理装置において、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにフィルタリング処理を実行するように動作可能なフィルタリング論理をさらに含み、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにスケーリング処理を実行するように動作可能なスケーリング論理をさらに含み、さらに前記変換論理、フィルタリング論理およびスケーリング論理は前記安全フレーム・ストアに関連している前記データ処理装置。
【請求項１８】
非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するとともに、安全処理を実行して前記出力データ・ストリームの中に含まれる安全データを発生するように動作可能な少なくとも１つのプロセッサと、非安全処理によって発生する非安全データを受信できるように動作可能な非安全バッファと、安全処理によって発生する安全データを受信できるように動作可能であるとともに、非安全処理によるアクセスが不能な安全バッファと、非安全バッファからの非安全データと安全バッファからの安全データを読み出し、さらに複合データ・ストリームから出力データ・ストリームを取り出すように動作可能であるとともに、マージしたデータ・ストリームを発生するために非安全データと安全データとをマージするように動作可能なマージング論理を有する出力コントローラとを有するデータ処理装置の出力コントローラであって、
非安全バッファからの非安全データと安全バッファからの安全データとを読み出すように動作可能な少なくとも１つの読み出しインタフェースと、
複合データ・ストリームを発生するために、前記非安全データと前記安全データとをマージするように動作可能なマージング論理と、
前記複合データ・ストリームから前記出力データ・ストリームを取り出すように動作可能な出力手段と、
を含む出力コントローラ。
【請求項１９】
請求項１８に記載の出力コントローラにおいて、前記マージング論理は、前記非安全データと前記安全データを第１の所定のフォーマットで受信するように構成され、前記非安全バッファと安全バッファの少なくとも１つは、第２の所定のフォーマットでデータを格納するように動作可能である出力コントローラであって、
前記非安全バッファと安全バッファの少なくとも１つに関連するとともに、そのバッファから受信したデータが前記マージング論理によって受信される前にそのデータを前記第２の所定のフォーマットから前記第１の所定のフォーマットに変換するように動作可能な変換論理を更に含む前記出力コントローラ。
【請求項２０】
請求項１９に記載の出力コントローラにおいて、前記安全バッファは、前記安全データを前記第２の所定のフォーマットで格納するように動作可能である前記出力コントローラ。
【請求項２１】
請求項１８に記載の出力コントローラにおいて、前記出力データ・ストリームを受信するために前記出力コントローラに接続される出力装置を更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記出力コントローラ。
【請求項２２】
請求項１８に記載の出力コントローラにおいて、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームを暗号化するように動作可能な暗号化論理を更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記出力コントローラ。
【請求項２３】
請求項１８に記載の出力コントローラにおいて、前記出力データ・ストリームの中に透かしを与える手段を更に含む前記出力コントローラ。
【請求項２４】
請求項１８に記載の出力コントローラにおいて、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームをアナログ信号に変換するデジタル・アナログ変換装置を更に含む前記出力コントローラ。
【請求項２５】
請求項１８に記載の出力コントローラにおいて、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと前記安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、さらに前記安全バッファは安全フレーム・ストアである前記出力コントローラ。
【請求項２６】
請求項２５に記載の出力コントローラにおいて、前記出力データ・ストリームは、ディスプレイ・データのフレームである前記出力コントローラ。
【請求項２７】
請求項１９に記載の出力コントローラにおいて、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、前記安全バッファは安全フレーム・ストアであり、さらに前記変換論理は、色空間変換処理を実行するように動作可能である前記出力コントローラ。
【請求項２８】
請求項２７に記載の出力コントローラにおいて、前記第１の所定のフォーマットはRGBフォーマットであり、前記第２の所定のフォーマットはYUVフォーマットであり、さらに非安全バッファと安全バッファの少なくとも１つは、前記YUVフォーマットで画像データを格納するように動作可能である前記出力コントローラ。
【請求項２９】
請求項２５に記載の出力コントローラにおいて、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにフィルタリング処理を実行するように動作可能なフィルタリング論理を更に含む前記出力コントローラ。
【請求項３０】
請求項２５に記載の出力コントローラにおいて、前記ディスプレイ・コントローラは、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにスケーリング処理を実行するように動作可能なスケーリング論理を更に含む前記出力コントローラ。
【請求項３１】
請求項２７に記載の出力コントローラにおいて、前記ディスプレイ・コントローラは、
前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにフィルタリング処理を実行するように動作可能なフィルタリング論理と、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージング論理によって受信される前に、その画像データにスケーリング処理を実行するように動作可能なスケーリング論理と、
をさらに含み、
前記変換論理、フィルタリング論理およびスケーリング論理は、前記安全フレーム・ストアに関連している、
前記出力コントローラ。
【請求項３２】
出力データ・ストリームの中に非安全データと安全データとをマージする方法であって、
非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するステップと、
安全処理を実行して出力データ・ストリームの中に含まれる安全データを発生するステップと、
非安全バッファの中に非安全データを格納するステップと、
非安全処理によるアクセスが不能な安全バッファの中に安全データを格納するステップと、
出力コントローラを使用して非安全バッファからの非安全データと安全バッファからの安全データを読み出すステップと、
出力コントローラの中に非安全データと安全データをマージして複合データ・ストリームを発生するステップと、
前記複合データ・ストリームから前記出力データ・ストリームを取り出すステップと
を含む方法。
【請求項３３】
請求項３２に記載の方法において、前記プロセッサは、前記安全バッファのアクセス許容データを管理するように動作可能である方法であって、前記安全バッファが前記非安全処理からアクセス不能であるように前記アクセス許容データを定義するステップを更に含む前記方法。
【請求項３４】
請求項３２に記載の方法において、前記非安全バッファと前記安全バッファとは、メモリ・システムの中に与えられる方法であって、前記メモリ・システムを採用し前記安全バッファに対するアクセスを管理して、前記非安全処理による前記安全バッファに対するアクセスを抑止するステップを更に含む前記方法。
【請求項３５】
請求項３２に記載の方法において、前記安全バッファの内容が前記プロセッサによって読み出されることができないように前記安全バッファを構成するステップを更に含む前記方法。
【請求項３６】
請求項３２に記載の方法において、前記マージするステップは、第１の所定のフォーマットの前記非安全データと前記安全データとについて実行され、前記非安全バッファと前記安全バッファの少なくとも１つは、第２の所定のフォーマットでデータを格納するように動作可能である方法であって、
前記非安全バッファと前記安全バッファの少なくとも１つから受信したデータが、前記マージするステップの中で使用される前に、前記出力コントローラの中でそのデータを前記第２の所定のフォーマットから前記第１の所定のフォーマットに変換することを更に含む前記方法。
【請求項３７】
請求項３６に記載の方法において、前記安全バッファは、前記安全データを前記第２の所定のフォーマットで格納するように動作可能である前記方法。
【請求項３８】
請求項３２に記載の方法において、前記出力コントローラに接続され、前記出力データ・ストリームを受信する出力装置を更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記方法。
【請求項３９】
請求項３２に記載の方法において、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームを暗号化するように動作可能な暗号化するステップを更に含むことにより、前記出力データ・ストリームは、いかなる非安全処理からもアクセス不能である前記方法。
【請求項４０】
請求項３２に記載の方法において、前記出力データ・ストリームの中に透かしを与えるステップを更に含む前記方法。
【請求項４１】
請求項３２に記載の方法において、前記出力データ・ストリームとして出力する前に、前記複合データ・ストリームをアナログ信号に変換するステップを更に含む前記方法。
【請求項４２】
請求項３２に記載の方法において、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと前記安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、さらに前記安全バッファは安全フレーム・ストアである前記方法。
【請求項４３】
請求項４２に記載の方法において、前記出力データ・ストリームは、ディスプレイ・データのフレームである前記方法。
【請求項４４】
請求項３６に記載の方法において、前記出力コントローラはディスプレイ・コントローラであり、前記非安全データと前記安全データとはディスプレイ・データであり、前記非安全バッファは非安全フレーム・ストアであり、さらに前記安全バッファは安全フレーム・ストアであり、前記変換ステップは、色空間変換処理を実行する前記方法。
【請求項４５】
請求項４４に記載の方法において、前記第１の所定のフォーマットはRGBフォーマットであり、前記第２の所定のフォーマットはYUVフォーマットであり、さらに前記非安全バッファと安全バッファの関連する少なくとも１つは、前記YUVフォーマットで画像データを格納するように動作可能である前記方法。
【請求項４６】
請求項４２に記載の方法において、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージするステップによって使用される前に、その画像データにフィルタリング処理を実行するステップを更に含む前記方法。
【請求項４７】
請求項４２に記載の方法において、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージするステップによって使用される前に、その画像データにスケーリング処理を実行するステップを更に含む前記方法。
【請求項４８】
請求項４４に記載の方法において、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージするステップによって使用される前に、その画像データにフィルタリング処理を実行するステップを更に含むとともに、前記非安全フレーム・ストアと前記安全フレーム・ストアの関連する１つから受信した画像データが、前記マージするステップによって使用される前に、その画像データにスケーリング処理を実行するステップを更に含み、前記変換ステップ、フィルタリングステップおよびスケーリングステップは前記安全フレーム・ストアからの安全データについて実行される前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、安全保護された（secure：以下、単に安全と記す）データと安全保護されていない（non-secure：以下、単に非安全と記す）データを出力データ・ストリームの中にマージするデータ処理装置とデータ処理方法に関する。
【背景技術】
【０００２】
（先行技術の説明）
データプロバイダはある種の貴重なデータが不正にコピーされたり、配布されたりすること、またはそのいずれかが行われることを防止する手段を講じることに努力を傾注している。たとえば、映画、画像、音楽、などのようなコンテンツのプロバイダは、適切な復号器を備えている許可されたユーザだけがそのようなデータにアクセスできるように、そのようなデータを符号化して配信することが多い。以下の説明のため、データプロバイダによって価値があると考えられるデータと、したがって、不正なコピーと配布の禁止が望まれるデータは「安全データ」と呼ばれ、対照的に、そのような制約を受けないデータを呼ぶために使用される「非安全データ」が使用される。
【０００３】
安全データを符号化して出力するために使用される装置は、非安全データを処理して出力するためにも使用される。このため安全データと非安全データを１つの出力データ・ストリームの中にマージすることが要求される。一例としてコンピュータシステムを考えると、グラフィカル・ユーザ・インタフェース（graphical user interface：GUI）の形で非安全データを表示することが望ましいが、そのグラフィカル・ユーザ・インタフェースの特定のウィンドウで映画や一連の画像のような安全データを表示することが望ましい。ディスプレイに使用する出力データ・ストリームを発生するためにそのような安全データと非安全データをマージすることは、コンピュータシステムの中のソフトウエアによって実行され、フレーム・ストアに置かれるマージされたデータとなるのが普通であり、ディスプレイ装置に必要な信号を発生するためにディスプレイ・コントローラによってフレーム・ストアから読み出される。
【０００４】
このような方法に対して２つの課題が発生する。第１に、安全性の問題を考慮する場合、安全データの復号が完了すると、安全データと非安全データをマージする前に、その安全データに必要な操作を実行するため、数ステップの処理を受ける。次にそのデータがフレーム・ストアに置かれる前に実際のマージング動作が実行されることは判るであろう。この時間中の安全データは、復号された形をした安全データがコピーされ、それに続いて配布されることを可能にする不正アクセスの被害を受けやすい。第２にこれらの２つの異なるデータ源をマージする処理はプロセッサ集中形（intensive）であるとともに、データを格納するメモリ・システムに対して要求されるアクセス数のためにメモリ帯域幅集中形でもある。
【０００５】
したがって、安全データと非安全データを出力データ・ストリームの中にマージするために改善された装置と方法を提供することが望ましい。
【０００６】
（発明の要約）
第１の態様から見ると、本発明は、非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するとともに、安全処理を実行して出力データ・ストリームの中に含まれる安全データを発生するように動作可能な少なくとも１つのプロセッサと、非安全処理によって発生する非安全データを受信できるように動作可能な非安全バッファと、安全処理によって発生する安全データを受信できるように動作可能であるとともに、非安全処理によるアクセスが不能な安全バッファと、非安全バッファからの非安全データと安全バッファからの安全データを読み出し、さらに複合データ・ストリーム（combined data stream）から出力データ・ストリームを取り出すように動作可能であるとともに、マージしたデータ・ストリームを発生するために非安全データと安全データをマージするように動作可能なマージング論理を有する出力コントローラとを含むデータ処理装置を提供する。
【０００７】
本発明によれば、個々のバッファは、非安全データと安全データを格納するように用意されており、これら個々のバッファは、出力コントローラによるアクセスが可能である。安全処理によって発生する安全データを受信するために使用される安全バッファは、非安全データを発生するために使用され非安全処理によるアクセスが不能であるように構成されている。出力コントローラは、非安全バッファからの非安全データと安全バッファからの安全データとを読み出すように動作可能であるとともに、後で出力データ・ストリームを取り出す複合データ・ストリームを発生するために、非安全データと安全データをマージするために使用されるマージング論理を組み込んでいる。
【０００８】
そのような方法によって安全データが安全処理により発生していると、安全データは、最初にとられる処理ステップを必要とせずに、非安全処理によるアクセスが不能な安全バッファの中に直接置かれる。安全データを非安全データとマージする仕事（job）は、出力コントローラによって引き受けられる。出力コントローラは、特定かつ専用目的のために、つまり出力装置に対して送る出力データ・ストリームを発生するために設計されているのであるから、出力コントローラの内部で処理されるデータにアクセスするいかなる仕組みを与える必要もないのが普通であり、したがって、出力コントローラの内部で処理されるデータがいかなる非安全処理によってもアクセスされない安全装置として容易に設計されうる。したがって、出力コントローラ内のマージング論理が複合データ・ストリームを発生するために必要なマージング動作を実行中に、安全データの安全な性質を容易に維持することができる。
【０００９】
さらに、非安全バッファと安全バッファの双方はメモリ・システムの中に常駐するのが普通であるから、出力コントローラはメモリ・システムにアクセスして、これらのバッファから非安全データと安全データを読み出す必要があるので、複合データ・ストリームをメモリ・システムに書き戻すことを必要とせずに出力コントローラ内部でマージング動作が行われる。この方法はメモリ・システムに対して必要とされるアクセス数を減らすので、そのようなマージング動作を実行するときに必要となるメモリ帯域幅を減らして、メモリ・システムが、データ処理装置の中の他の装置と処理からより容易にアクセスされることを可能にする。
【００１０】
安全バッファが非安全処理からアクセス不能になるように配置されうるいくつかの方法が在ることは理解されるであろう。１つの実施例におけるプロセッサは、安全バッファのためにアクセス許容データ（access permission data）を管理して、安全バッファが非安全バッファからアクセス不能であるようにアクセス許容データを定義するように動作可能である。特定の一実施例におけるアクセス許容データは、特定の制御レジスタの中でプロセッサによって維持され、このプロセッサは特定の安全動作モードで動作する場合、アクセス許容データを変えることができる。安全バッファのアクセス許容データを適切に設定することにより、いかなる非安全処理も安全バッファにアクセスできないことを保証することができる。
【００１１】
一般に、非安全バッファと安全バッファは、データ処理装置のメモリ・システムの中に用意されうる。代替可能な実施例におけるメモリ・システムは、安全バッファに対するアクセスを管理して、非安全バッファによる安全バッファへのアクセスを抑止する。したがって、この実施例においては、安全バッファへのアクセスを監視して、いかなる非安全バッファも安全バッファにアクセスできないことを保証するのは、メモリ・システム自体である。
【００１２】
他の実施例における安全バッファ自体は、自バッファの内容がプロセッサによって読み出されないように構成されうる。たとえば、プロセッサ上で実行中のいかなる処理も安全バッファに書き込みできるだけで、安全バッファから内容を読み出すことはできず、非安全処理による安全バッファへのいかなる不正アクセスも抑止するように書き込み専用バッファとして安全バッファを構成することができる。安全バッファの内容を読み出すことが許される唯一の装置は出力コントローラであろう。
【００１３】
非安全データと安全データをマージするため、マージング論理は、非安全データと安全データの双方が同じフォーマットであることを必要とするのが普通である。この要求条件がまとまることを保証する１つの方法は、非安全バッファと安全バッファが１つの所定のフォーマットだけでデータを格納するように非安全バッファと安全バッファの双方を構成することである。しかし、本発明の一例におけるマージング論理は、第１の所定のフォーマットで非安全データと安全データを受信するように構成され、非安全データと安全データの少なくとも１つは第２の所定のフォーマットでデータを格納するように動作可能であり、さらに出力コントローラは非安全データと安全データの少なくとも１つに関連し、そのバッファから受信したデータがマージング論理によって受信される前に、そのデータを、第２の所定のフォーマットから第１の所定のフォーマットに変換するように動作可能な変換論理を含む。
【００１４】
そのような方法は、或る実施例の効率を改善することになる。何故ならば、その方法は、第２の所定のフォーマットのデータが該当するバッファの中に格納される前に、そのデータについて実行される何らかの処理の必要を回避するからである。したがって、この方法によれば、そのような処理を実行中にメモリアクセスの発生を許すことが必要になる帯域幅の条件が緩和される。そのような方法の他の利点は、第２の所定のフォーマットが第１の所定のフォーマットよりも効率的な状況では、このことにより、メモリ・システムの中に非安全データと安全データを格納するために必要なスペースを減らすことができることである。
【００１５】
１つの特定の実施例においては、安全データを第２の所定のフォーマットで格納するように動作可能なのは安全バッファであり、出力コントローラはその安全データがマージング論理によって受信される前に、その安全データを第１の所定のフォーマットに変換する責任がある。
【００１６】
本発明の各種実施例における上記手法は、安全データが復号される時間と、安全データが複合データ・ストリームに組み込まれる時間の間の安全データの安全性を改善しているが、安全性の観点から考慮すべき他の点は、出力データ・ストリームであり、更に詳細には安全データが出力データ・ストリームから不正な方法でアクセスされうるか否かの問題である。一実施例におけるデータ処理装置は、出力コントローラに接続され出力データ・ストリームを受信する出力装置を更に含む。したがって、そのような実施例における出力装置は、装置自体の中に組み込まれるとともに、出力コントローラから出力データ・ストリームを直接受信するので、いかなる非安全処理によっても出力データ・ストリームがアクセスされないことを保証する。一例として、安全データが動画または静止画の形をとる場合の実施例を考えると、そのデータ処理装置は、たとえば、液晶ディスプレイ（LCD）が組み込まれた携帯システムの形をとることができる。
【００１７】
しかし、代替可能な実施例における出力装置は取り外し可能である。つまり、実際にデータ処理装置は、個々の出力装置に出力する出力データ・ストリームを発生するように構成されうる。一例として、安全データが動画または静止画データである実施例を再度考えると、データ処理装置は、適当な表示装置に出力データ・ストリームを出力するDVIデジタルインタフェースを持っている。そのような実施例の場合、安全データが出力データ・ストリームから不正な方法でアクセスされるという心配がある。そのような実施例における出力コントローラは、出力データ・ストリームとして出力する前に複合データ・ストリームを暗号化することによって、出力データ・ストリームがいかなる非安全処理によってもアクセス不能であるように動作可能な暗号化装置を更に含むことができる。実行される暗号化は、いくつかの既知の手法のどれか１つであり、受信出力装置の内部に適当な解読処理が使用されている。
【００１８】
代替可能な実施例における、または加えて、出力コントローラは、出力データ・ストリームの中に透かしを与えるように構成されうる。これ自体では不正コピーまたは配布を抑止できないが、透かしがあれば、不正コピー元に関する情報が与えられるので、安全データの不正コピーを阻止する有用な対策になりうることは理解されるであろう。
【００１９】
他の実施例における出力コントローラは、複合データ・ストリームを出力データ・ストリームとして出力する前に、複合データ・ストリームをアナログ信号に変換するデジタル・アナログ変換器を更に含む。一般に、安全データがアナログ形式に変換されていると安全データをコピーすることは望ましいことではない。何故ならば、何回もコピーするとデータの品質が劣化する傾向があるからである。したがって、そのような実施例においては、暗号化論理および透かしを読み書きする処理またはそのいずれかを含めることは不必要であると考えられるが、これらの方法のいずれかまたは双方を使用してもよいことは勿論である。
【００２０】
安全データがいろいろな形をとりうることは理解されるであろう。たとえば、一実施例における安全データは、オーディオ・データでありうる。しかし、一実施例における出力コントローラはディスプレイ・コントローラであり、非安全データと安全データはディスプレイ・データであり、非安全バッファは非安全フレーム・ストアであり、さらに安全バッファは安全フレーム・ストアである。そのような実施例における出力データ・ストリームは、ディスプレイ・データのフレームの形をとりうる。
【００２１】
安全データがディスプレイ・データである実施例における変換論理は、色空間変換（color space conversion）処理を実行するように構成されうる。当業者には理解されるように、色空間変換処理は、各種ディスプレイフォーマットの間で変換することが要求される。一実施例における第１の所定のフォーマットはRGBフォーマットであり、第２の所定のフォーマットはYUVフォーマットであり、非安全バッファと安全バッファの少なくとも１つは、画像データを前記YUVフォーマットで格納するように動作可能である。一般にビデオを解凍（decompression）すると、色の副標本化に起因する色空間の点で等価なRGB画像よりも効率的なYUVフォーマットを発生するので、その画像データが動画データか、絵画のような静止画像データであるかを問わず、画像データを表すためにYUVフォーマットが使用されることが多い。しかし、ディスプレイ・コントローラはRGBフォーマットのデータで動作することが多いので、ディスプレイ・コントローラ内部の変換論理を使用して、YUVデータがマージング論理で受信される前に、そのデータをRGBデータに変換する。
【００２２】
表示する前に画像データで実行することが要求される他の処理ステップが存在することは当業者には理解されるであろう。一実施例におけるディスプレイ・コントローラは、その画像データがマージング論理で受信される前に、前記非安全フレーム・ストアと安全フレーム・ストアに関連する１つから受信した画像データ上でフィルタリング処理を実行するように動作可能なフィルタリング論理を更に含む。当業者には理解されるように、そのようなフィルタリング処理は、画像が最初に符号化される方法に起因するアーティファクト（artefacts）を除去する非ブロック化（deblocking）とデリンギング（deringing）を含むことができる。ディスプレイ・コントローラの中にそのようなフィルタリング処理を組み込むことによって、この方法は、プロセッサから受ける処理のオーバヘッドをさらに減らすとともに、メモリの必要帯域幅を減らすことができる。
【００２３】
一実施例におけるディスプレイ・コントローラは、前記非安全フレーム・ストアと安全フレーム・ストアに関連する１つから受信した画像データがマージング論理で受信される前に、その画像データについてスケーリング処理を実行するように動作可能なスケーリング論理を更に含む。当業者には理解されるように、画像データのスケーリングは、その画像データが、たとえば、グラフィカル・ユーザ・インタフェースの特定のウィンドウのように、ディスプレイの所望の表示部分に置かれることを可能にするために要求される。この場合も、ディスプレイ・コントローラの中でそのようなスケーリング動作を実行することは、プロセッサによって実行されることが必要な処理を減らすとともに、そのような画像処理に必要なメモリの帯域幅を減らす。
【００２４】
一実施例における安全データは、安全な画像データの形をとり、変換論理、フィルタリング論理およびスケーリング論理は、安全フレーム・ストアに関連する。したがって、安全な画像データは安全処理によって安全フレーム・ストアの中に直接格納され、ディスプレイ・コントローラが安全フレーム・ストアから、安全な画像データを読み出すと、必要な色空間変換、フィルタリング、およびスケーリングはディスプレイ・コントローラの中で内部的に実行される。
【００２５】
第２の態様から見ると、本発明は、データ処理装置用の出力コントローラを提供しており、このデータ処理装置は、非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するとともに、安全処理を実行して出力データ・ストリームの中に含まれる安全データを発生するように動作可能な少なくとも１つのプロセッサと、非安全処理によって発生する非安全データを受信できるように動作可能な非安全バッファと、安全処理によって発生する安全データを受信できるように動作可能であるとともに、非安全処理によるアクセスが不能な安全バッファを含み、この出力コントローラは、非安全バッファからの非安全データと安全バッファからの安全データを読み出すように動作可能な少なくとも１つの読み出しインタフェースと、複合データ・ストリームを発生するために非安全データと安全データをマージするように動作可能なマージング論理と、さらに複合データ・ストリームから出力データ・ストリームを取り出すように動作可能な出力手段とを含む。
【００２６】
第３の態様から見ると、本発明は、安全データと非安全データを出力データ・ストリームの中にマージする方法を提供しており、この方法は、非安全処理を実行して出力データ・ストリームの中に含まれる非安全データを発生するステップと、安全処理を実行して出力データ・ストリームの中に含まれる安全データを発生するステップと、非安全データを非安全バッファの中に格納するステップと、非安全処理によるアクセスが不能な安全バッファの中に安全データを格納するステップと、出力コントローラを使用して非安全バッファからの非安全データと安全バッファからの安全データを読み出すステップと、出力コントローラの中で複合データ・ストリームを発生するために非安全データと安全データをマージするステップと、複合データ・ストリームから出力データ・ストリームを取り出すステップとを含む。
【００２７】
（実施例の説明）
添付の図面に示す本発明の好適実施例を参照して、例を示すのみにより本発明を更に詳細に説明する。
【００２８】
図１は、安全データと非安全データを出力データ・ストリームの中にマージするため本発明の好適実施例でとられた方法を模式的に示している。プロセッサで実行中の非安全処理10は、出力コントローラ50によるアクセス可能な非安全バッファ30に出力される非安全データを発生するために使用される。これに加え、プロセッサ（非安全処理10を実行するプロセッサと同じプロセッサ、または安全処理10を実行するプロセッサとは異なるプロセッサでもよい）で実行中の安全処理20は、出力コントローラ50によるアクセス可能な安全バッファ40に格納される安全データを発生するために使用される。
【００２９】
出力コントローラ50は、非安全バッファ30から非安全データを読み出し、安全バッファ40からの安全データを読み出して、出力コントローラ50から、出力コントローラ50に接続される出力装置60に出力される出力データ・ストリームを発生するため、非安全データと安全データをマージするように構成されている。一実施例における非安全バッファ30と安全バッファ40は、オーディオ・データを格納するように構成され、出力コントローラ50は、マージされたオーディオ出力ストリームを発生して、１つまたは複数のスピーカの形をとるのが普通である出力装置60に出力するために使用されるオーディオ・コントローラの形をとる。代替可能な実施例における非安全バッファ30と安全バッファ40は、ディスプレイ・データを格納するために使用されるフレーム・ストアの形をとり、出力装置60は、たとえば、データ処理装置の一部を構成する一体型（integrated）LCD、または何らかの他の形式の一体型または個別ディスプレイ装置のようなディスプレイ装置の形をとる。
【００３０】
安全バッファ40は、非安全処理10のような非安全処理によってアクセスされないように構成されている。出力コントローラ50は、安全バッファ40の内容を読み出すように構成されている本質的に安全な周辺装置の形をとる。
【００３１】
図２Ａから図２Ｃは、本発明の各種実施例に従って非安全処理10と安全処理20が実行されうる各種方法を示している。図２Ａによれば、非安全処理10と安全処理20の双方は、プロセッサ100上で走行するオペレーティング・システム110によって実行される。
【００３２】
図２Ｂは、代替可能な実施例を模式的に示しており、この中のプロセッサ120で走行する各種プログラムは、安全領域または非安全領域のいずれかで走行する。このシステムは、少なくとも部分的にモニタモードで実行するモニタプログラム130を備えている。モニタプログラム130は、安全領域と非安全領域の間の両方向のすべての変化を管理することを担当する。プロセッサ120の外部から見ると、モニタモードは常に安全であり、モニタプログラムは安全なメモリの中にある。
【００３３】
非安全領域の中では、非安全オペレーティング・システム140が用意され、非安全処理10は、非安全オペレーティング・システム上で走行するように構成されている。安全領域の中では安全オペレーティング・システム150が用意されており、安全処理20は安全オペレーティング・システム上で走行するように構成されている。一実施例における安全オペレーティング・システム150は、安全オペレーティング・システムが可能な限り小型で簡単でありうるように、安全領域の中に用意されていなければならない処理動作に必須の機能だけを提供するように設計されている。何故ならば、小型で簡単なことはシステムをより安全にする傾向があるからである。
【００３４】
図２Ｂに示す装置は、ARM社のTrustzone製品の中で使用されている。これの詳細については、ケンブリッジのARM社から入手可能である（たとえば、www.arm.com/armtech/TrustZone?OpenDocumentの資料を参照されたい）。
【００３５】
図２Ｃに示す代替可能な実施例における個々のプロセッサ160、180は、非安全処理10と安全処理20をそれぞれ走行させるために使用されている。より詳細に説明すると、第１のオペレーティング・システム170は第１のプロセッサ160上に用意され、非安全処理10はそのオペレーティング・システム上で走行する。それに加え、第２のオペレーティング・システム190は第１のプロセッサ180上に用意され、安全処理20はそのオペレーティング・システム上で走行する。
【００３６】
図１を参照して前に説明したように、どの方法が使用されるかに関係なく、安全バッファ40が非安全処理10からアクセス不能であること、事実、いかなる非安全オペレーティング・システムからもアクセスされないことを保証することが重要である。この事実はいろいろな方法で実現されている。一実施例におけるプロセッサは、安全バッファ40のためのアクセス許容データを管理することができ、安全バッファ40がいかなる非安全処理からもアクセス不能であるようにアクセス許容データを決めるように構成されている。１つの特定の実施例におけるこのアクセス許容データは、プロセッサからアクセス可能な制御レジスタの中に格納され、プロセッサは安全に動作中の場合にアクセス許容データを変更できるだけである。代替可能な実施例において、非安全バッファと安全バッファが用意されているメモリ・システムは、メモリ・システム自体が安全バッファへのアクセスを管理するように構成されており、不安全処理による安全バッファへのアクセスを抑止することができる。一例として、メモリ・システムは、メモリ・システムの一部が安全メモリとして決められ、メモリ・システムの他の部分が不安全メモリとして決められるように構成されうる。次にどの特定のメモリへのアクセス要求が安全処理または不安全処理から発行されているかをメモリ・システムが決定できるようにする仕組みが用意されるので、（安全バッファを含む）安全メモリへのアクセスは安全処理によってのみ許容される。
【００３７】
他の代替可能な実施例における安全バッファは、その内容がプロセッサによって読み出すことができないように設計されうる。一例として、安全バッファを書き込み専用バッファとして構成することができるので、その内容は、プロセッサ上で動作するいかなる処理によっても読み出されることはない。その代わり、安全バッファから内容を読み出すことが許可された唯一の装置は出力コントローラである。
【００３８】
上記方法の１つをとることによって、安全バッファの中に安全データが書き込まれてしまえば、安全データが不正にアクセスされないことを保証することができる。
【００３９】
一実施例における非安全データと安全データは、ディスプレイ装置に出力されるディスプレイ・データの形をとるので、出力コントローラはディスプレイ・コントローラの形をとる。ディスプレイ・コントローラは、フレーム・ストアからのディスプレイ・データにアクセスし、要求される同期信号とタイミング信号と共にそのディスプレイ・データをディスプレイに転送するように構成されるのが普通である。本発明の一実施例によれば、ディスプレイ・コントローラは非安全フレーム・ストアと安全フレーム・ストアの双方からディスプレイ・データを読み出すように構成され、それに加えてこれらのフレーム・ストアから読み出した非安全データと安全データが、ディスプレイ・データの１つの出力フレームにマージされてディスプレイ装置に出力されることを可能にする、さらに論理を組み込んでいる。
【００４０】
図３は、そのようなマージングが発生することを可能にする本発明の一実施例に従って、ディスプレイ・コントローラ200の中に用意される追加論理を模式的に示している。この実施例においては、非安全フレーム・ストアからの非安全データは既にRGBフォーマットであり、表示できるように適切にスケーリングされていると想定されている。代表的な一例におけるそのような非安全データは、ディスプレイ装置上のグラフィカル・ユーザ・インタフェース（GUI）の表示に関連するデータでありうる。そのような実施例における安全データは、GUIの特定ウィンドウの中に表示される安全な画像データの形をとりうる。この安全な画像データは、たとえば、ビデオデータのような動画データでありうるか、たとえば、絵画のような静止画データでありうる。安全な画像データは、この例ではRGBフォーマットである非安全データと同じフォーマットで安全フレーム・ストアの中に格納されるように構成されうるが、そのような画像データが、たとえばYUVフォーマットのような異なるフォーマットで実際に符号化されることはよくあることであり、そのような場合、安全データを安全フレーム・ストアの中にYUVフォーマットで格納することはより効率的でありうる。
【００４１】
そのような状況におけるディスプレイ・コントローラ200は、安全な画像データを、非安全データについて使用されるフォーマットと同じフォーマットに変換する色空間変換論理220を含む。したがって、この実施例における色空間変換論理220は、経路209を介してYUVフォーマットで安全フレーム・ストアから安全な画像データを受信し、そのデータを等価なRGB信号に変換して経路222を介して出力するように構成されるであろう。一実施例における色空間変換論理220は、要求される色変換を実行するように構成されたハードウエアの専用要素（dedicated piece）によって形成されるが、代替可能な実施例における色空間変換論理は、ディスプレイ・コントローラの中のプロセッサ上で走行する適切なソフトウエアによって実現されうる。
【００４２】
色空間変換を実行する手法は、当業者には既知であるので、ここでこれらの手法を更に詳細に考察することはしない。先行技術による方法と、図３に示す本発明の実施例でとられている方法の主要な相違点は、この色空間変換が、フレーム・ストアの中にデータが格納されてしまう前に実行されてしまうことではなく、ディスプレイ・コントローラ200の中で実際に実行され、さらにディスプレイ・コントローラが異なるフォーマットの２つのストリームを処理することを可能にすることである。この相違点により、データ処理装置のプロセッサに対する要求を緩和するとともに、メモリの帯域幅の要求を緩和することが判っている。
【００４３】
当業者には理解されるように、ビデオのような画像データが符号化される方法に起因し、符号化処理の結果として画像データの中に導入されるアーティファクトを除くため復号されたデータに何らかのフィルタリングを実行することが必要なことが多い。そのようなフィルタリング処理の例は非ブロック化とデリンギングである。本発明の実施例によれば、復号された安全データを安全フレーム・ストアの中に格納する前にそのようなフィルタリング処理を実行しなければならないというよりも、そのようなフィルタリングは、ディスプレイ・コントローラ200の中に用意されたフィルタリング・スケーリング論理230によって提供される。何らかの適切なフィルタリングに加え、フィルタリング・スケーリング論理230は、画像に何らかの必要なスケーリングを実行して、その画像がディスプレイ装置の所望の表示領域、たとえば、ディスプレイ装置に表示されるGUIに指定されるウィンドウの中のような領域に置かれることを可能にするように構成されている。ディスプレイ・コントローラ200は、経路205を介してプロセッサコアから発行される各種制御信号を受信するように構成されている。実際にこの制御情報の中に含まれるものは、スケーリング論理230によって使用され、ディスプレイの所望の部分の中に画像が置かれることを可能にするように画像データの何らかの適切なスケーリングが要求されるか否かを決定する、何らかのサイズ情報である。
【００４４】
一実施例におけるフィルタリング・スケーリング論理は、ディスプレイ・コントローラ200の中に用意される専用ハードウエア論理のブロックの形をとるが、代替可能な実施例における少なくとも何らかのフィルタリング・スケーリング機能は、ディスプレイ・コントローラ200の中の処理装置上で走行する適切なソフトウエアによって実現されることが可能である。したがって、フィルタリング・スケーリング機能は当業者には公知であるから、ここで更に詳細に考察することはしない。しかし、注意すべき主要な点は、代表的な先行技術による方法におけるフィルタリング機能とスケーリング機能は、データがフレーム・ストアの中に格納される前に実行されるのに対して、本発明の実施例におけるフィルタリング機能とスケーリング機能は、データが安全フレーム・ストアから読み出されてしまうとディスプレイ・コントローラ200の中で実行されることである。そのような方法を通じて、メモリ帯域幅のトラヒックの大幅な減少を実現することができる。
【００４５】
当業者には理解されるように、安全フレーム・ストアからの入力データが色空間変換と、フィルタリングまたはスケーリングとを必要としないか、あるいは、それらのいずれかを必要としない場合、該当する論理ブロック220、230を迂回してもよい。さらに、当業者には理解されるように、色空間変換論理220とフィルタリング・スケーリング論理230は、安全フレーム・ストアからの経路に関連して示されているが、適切な場合、前述の両論理を非安全フレーム・ストアからの非安全データに関連する経路上に同じように用意してもよい。
【００４６】
ディスプレイ・コントローラ200の中のマージング論理210は、経路207を介して非安全フレーム・ストアからRGBデータを受信するように構成されているとともに、安全フレーム・ストアからの安全データが必要な色空間変換機能、フィルタリングとスケーリングまたはそのいずれかの機能の処理を受けた後、経路232を介してそのデータを受信するように構成されている。次にマージング論理210は、そこからディスプレイ・データの出力フレームを取り出すことができる１つの複合データ・ストリームを発生するために、非安全データと安全データをマージするように構成されている。当業者には理解されるように、２つのデータ・ストリームをマージするために使用されるいくつかの手法が存在する。１つの方法によれば、制御信号205の中に含まれる位置情報によって定義される位置にある非安全ディスプレイ・データの上に不透明な方法で安全な画像データをオーバレイすることができる。この結果として、安全な画像データは全画面または全画面の内の何らかの部分を占有することになる。
【００４７】
代替可能な実施例におけるマージング論理は、安全な画像データの上に非安全ディスプレイ・データをオーバレイするように構成され、安全な画像データが見えるように決められた透明穴（transparent hole）が備えられている。透明穴を決めることができるいくつかの方法が存在することは理解されるであろう。一実施例における透明穴は、制御信号205の中の位置情報によって定義される。代替方法として、透明穴は、非安全ディスプレイ・データの中の特定の色番号によって定義されてもよく、色番号ならば不規則な形をした穴のことを考慮に入れることができる。たとえば、非安全データがGUIの形をとる場合、ウィンドウの表示の中の特定の色のウィンドウは、安全な画像データがそのウィンドウの中に現れるように定義されうる。
【００４８】
ディスプレイ・データの２つのストリームをマージする他の既知の手法は、アルファ・ブレンディング（Alpha blending）として知られている。この手法によれば、非安全ディスプレイ・データは、透明度のレベルを識別する個別チャネルが用意されており、このチャネルはアルファ・チャネル（Aチャネル）として知られている。したがって、この手法によれば、非安全フレーム・ストアからの信号はRGBAフォーマットになっており、関連するディスプレイ・データの透明度を決定するために使用されるAチャネル情報が備えられている。透明度のレベルを適切に選択することによって、Aチャネルのデータを介してGUIディスプレイの中に確定された透明穴を通じて安全な画像データを見ることができる。
【００４９】
安全データを表示するために使用される表示面積の中にいくつかの非安全データを組み込むことも可能である。たとえば、何らかのグラフィック情報またはテキスト情報を、たとえば、スタート／ストップ画像、時間コード、多数の撮影された写真など、GUIディスプレイ・データの一部としてその面積の中に含めることができる。特定の色を使用して安全な画像データが見える透明穴として機能するウィンドウを定義するために使用される方法を採用する場合、そのような追加データは、その特定の色以外の任意の色で表されうる。アルファ・ブレンディングを使用すると、その追加データの色は制限要因ではなく、要求されるすべてのことは、そのデータが完全に透明ではなく、表示され続けることを保証する値を持つことである。
【００５０】
使用できるマージング手法に関する上記考察は、本発明の各種実施例で使用されうる公知の各種マージング手法であるが、その代わりにいかなる他の適切なマージング手法を使用してもよいことは当業者には理解されるであろう。マージング論理210は、そのようなマージング手法を実行する適切なハードウエアの形をとりうるか、代替的にはディスプレイ・コントローラの中のプロセッサ上で走行する適切なソフトウエアによって実施されうる。したがって、マージング手法は当業者には公知であり、マージング手法の実施例をここで更に詳細に説明することはしない。
【００５１】
経路212を介してマージング論理210によりマージされたディスプレイ・データは、一体型LCDのような接続されたディスプレイ装置に直接出力されうる。代替的にはオプション機能として、経路242を介してディスプレイ装置に出力される暗号化出力信号を発生するため、マージされたディスプレイ・データは最初に暗号化論理240を通過する。たとえば、出力データがデジタルフォーマットで何らかのデジタルインタフェースを介して出力され、そのインタフェースに接続された個々のディスプレイ装置で受信されるとすれば、そのような方法は適切である。出力ディスプレイ・データを暗号化することによって、その出力データ・ストリームの中に含まれる安全データの不正なコピーの抑止を支援することができる。暗号化論理240は、何らかの適切な暗号化手法を利用することができ、適当なハードウエアによって、あるいは、プロセッサ上で走行するソフトウエアによって実施されうることは理解されるであろう。
【００５２】
暗号化の代替方法として、または暗号化に加えて、ディスプレイ・コントローラ200は、複合ディスプレイ・データの中に、その出力ディスプレイ・データの発信元の表示を与える透かしを組み込むように構成されうる。そのような透かしは、経路214を介してマージング論理210の中に入力されるか、代替方法としては、安全バッファ40の中に置かれる前に安全データに加えてもよい。当業者には理解されるように、透かしは、出力信号の中にいかなる識別可能な劣化も発生させないのが普通であるが、透かしを含むコピーしたデータと、そのコピーをつくったオリジナルデータを比較することによって決定されうるので、コピーの安全に関する有用な情報を提供することができる。明らかに不正な手段によってコピーが取得された場合は、不正なコピーの作成元を見つけ出すためにこの方法は有用でありうる。
【００５３】
図４は、本発明の一実施例によるディスプレイ・コントローラ200のブロック図であり、図３を参照して説明した追加機能をディスプレイ・コントローラ論理の中に組み込む方法を示している。図４から判るように、ディスプレイ・コントローラ200は、１つのメモリバス325を介して非安全フレーム・ストア320と安全フレーム・ストア330の双方にアクセスするように構成されているダイレクト・メモリ・アクセス（DMA）コントローラ300を含む。DMAコントローラ300はタイミング・空間（timing and spatial）コントローラ310によって制御される。フレーム・ストアからデータを取り出すタイミングを制御するとともに、ディスプレイ上のどのピクセル位置のデータをどのフレーム・ストアから取り出すかを決定して、ディスプレイ装置に対する出力に要求される速度でそのデータが取り出されることを保証する。バッファA340は、非安全フレーム・ストア320から取り出したデータを受信するように配置され、バッファB350は、安全フレーム・ストア330から取り出したデータを受信するように配置されている。
【００５４】
処理論理360が用意されている。この処理論理には、安全データがマージング論理210に出力される前に、そのデータについて処理機能を実行することが要求される必要な処理機能が組み込まれている。したがって、図３を参照すると、処理論理360は、色空間変換論理220とフィルタリング・スケーリング論理230を組み込むことができる。そのような処理論理は、必要に応じてバッファAに関連して用意され、実際にバッファAだけに関連して用意されてうるのであって、適切な場合はバッファBに関連して用意されることはない。非安全フレーム・ストア320と安全フレーム・ストア330から受信したデータが適切なフォーマット（たとえばRGBフォーマット）であり、必要に応じてフィルタリングとスケーリングが実施されていると、そのデータは、前に説明したマージング機能を実行するマージング論理に出力される。得られたデータは、バッファ370に出力され、そこから物理インタフェース380を介して接続されているディスプレイ装置に出力される。物理インタフェース380は、デジタル信号を、ディスプレイ装置に出力されるアナログ信号に変換するデジタル・アナログ変換器を含むことができる。そのような状況においては、何らかの暗号化論理を組み込むことは不必要であると考えられる。何故ならば、一般にコンテンツ・プロバイダは、自分たちのコンテンツがアナログ・フォーマットでコピーされ配布されるよりもデジタル領域で不正にコピーされ配布されることを憂慮しているからである。この事実は、アナログコピーの品質は、コピー処理を繰り返すたびに劣化することに起因している。最終的にはデータが物理インタフェース380からアナログ・フォーマットで出力されるにしても、所望ならば、たとえば、図３を参照して前に説明したマージング論理210によってデジタル・ストリームの中に透かしを入れてもよい。
【００５５】
図４のディスプレイ・コントローラの実施例は、一体型ディスプレイ装置に関連して使用される。ここで物理インタフェース380はデジタルの形で信号を出力することができるが、そのデジタル形式の信号は、物理インタフェース380とディスプレイ装置との間では傍受されないので不正なアクセスを受けにくい。
【００５６】
図５は、ディスプレイ・コントローラ200の代替可能な実施例を示している。このディスプレイ・コントローラ200は、図４のディスプレイ・コントローラ200と同じように構成されているが、暗号化論理240を含んでいる。この暗号化論理は、データがバッファ370の中に格納されるまで、データが暗号化フォーマットになっているように、マージング論理210とバッファ370の間に配置されるのが普通である。このように配置すると、暗号化されたデジタル出力信号が物理インタフェース380から出力されることが可能になり、暗号化されたデジタル出力信号は個別のディスプレイ装置に接続される。デジタル出力は暗号化されているので、出力データ・ストリームの中に含まれる安全データへの不正アクセスを抑止する。
【００５７】
図６は、ディスプレイ・コントローラ200のさらに代替可能な実施例を示している。この図で非安全フレーム・ストア320と安全フレーム・ストア330は、マージング論理が要求するフォーマット、たとえばRGBフォーマットでデータを格納するように構成されている。さらに、安全データが安全フレーム・ストアの中に格納されるまで、必要なフィルタリングやスケーリングはすべて既に実行されていると想定する。そのような実施例においては、処理論理360に対する要求条件は存在しないが、その代わりとしてマージング論理210は、バッファA340とバッファB350の双方から直接出力を受信することができる。ここでも必要に応じて暗号化論理240を含めてもよい。
【００５８】
図４から図６におけるディスプレイ・コントローラ200は、１つのバス325を介して非安全フレーム・ストア320と安全フレーム・ストア330に接続されているとして示してきた。しかし、代替可能な実施例では、２つの個別のバスが用意され、１つはディスプレイ・コントローラと非安全フレーム・ストア320を接続し、別のバスはディスプレイ・コントローラ200と安全フレーム・ストア330を接続する。そのような実施例では、個々にDMAコントローラを用意することができる。
【００５９】
図４から図６に示すバッファ340、350、370は、各種形式をとることができる。しかし、好適実施例におけるこれらのバッファは、先入れ先出し（FIFO）バッファとして構成されるのが普通である。それだけでなく、動作効率の点で、DMAコントローラ300はフレーム・ストアからデータにマルチワード・ブロックのデータ でアクセスするように構成されるのが普通である。何故ならば、このようなアクセスをすれば、使用可能なメモリ帯域幅の使用がさらに効率的になるからである。
【００６０】
図７は、出力コントローラの代替可能な実施例を示している。この実施例における出力コントローラは、安全オーディオ・データと非安全オーディオ・データを出力オーディオ・ストリームの中にマージするために使用されるオーディオ・コントローラ400の形をとる。オーディオ・コントローラ400は、経路402を介してステアリング動作とマージング動作を制御する制御信号を受信するステアリング・マージング（steering and merging）論理430が用意されており、これらの信号はプロセッサから、またはプロセッサに制御される制御レジスタから取得されるのが普通である。しかし、代替方法として、これらの信号は、たとえば、ラジオのバランス制御のような異なる発信源から到来してもよい。
【００６１】
ステアリングは、出力チャネルの中の入力信号の空間的位置を選択するため、グループから選択された１つまたは複数の出力チャネル上で選択した入力オーディオチャネルを出力するために使用される。各出力チャネルに転送される入力信号の振幅は、出力チャネルごとに決定される。すなわち、入力チャネルの振幅はすべて１つの出力チャネルに転送されうるか、100％が２つまたはそれ以上の出力チャネルに転送されうるか、たとえば50％がチャネルAに、80％がチャネルBに転送されるというように、可変量が出力に割り当てられうる。入力チャネルが２つ以上ある場合、各チャネルは別々に（または何らかの所定の関係で）ステアリングされ、その結果は出力チャネルごとに合算される。
【００６２】
一般に、ステアリング・マージング論理は、入力オーディオ信号が特定のデータレートで受信されることを必要としているので、各オーディオ・データ発信源に関連して標本化レート変換論理410、420が用意されうる。したがって、非安全オーディオ・バッファからの非安全オーディオ・データは、経路408を介して受信され、ここで経路412を介してそのデータをステアリング・マージング論理430に出力する前に、そのデータは何らかの適切な標本化レート変換を受ける。同様に、安全オーディオ・バッファからの安全オーディオ・データは、経路418を介して受信され、ここで経路422を介してそのデータをステアリング・マージング論理430に出力する前に、そのデータは、標本化レート変換論理420による何らかの適切な標本化レート変換を受ける。そのような標本化レート変換手法は、当業者には容易に理解されるので、ここでさらに考察することはしない。
【００６３】
ステアリング・マージング論理430は適切なマージング手法を実行して非安全データと安全データをマージし、１つの出力データ・ストリームを形成する。さらに、各発信源は１チャネルからNチャネルまでのオーディオ・データを発生するから、マージング機能はチャネルごとに独立に実行されうる。それだけでなく、前に説明したように、特定の入力チャネルは、完全にまたは部分的に異なる出力チャネルにステアリングされる必要がある（たとえば、モノラル入力チャネルをステレオに変換したいことがあるが、そのチャネルは中央のちょうど左から来るように現れる）。したがって、ステアリング・マージング論理430の中に適切なステアリング機能を用意して、そのようなオーディオ・ステアリング機能を実行することができる。個々のステアリグ論理は入力源ごとに用意され、マージする前に個々の入力源がステアリングされることを可能にする。それだけでなく、または代替方法として、マージした信号を全体として制御するため、マージした信号について機能するようにステアリング論理を構成（すなわち、マージング論理の後に配置）してもよい。
【００６４】
マージング論理は各種方法で構成されうる。一実施例における振幅のスケーリングは、各入力信号に適用され信号の相対音量レベルがマージングの前に設定されることを可能にして、その後で１つ１つの（constituent）入力信号を合算することによって実行される。
【００６５】
ステアリング・マージング論理430によって複合オーディオ・ストリームが発生していると、そのストリームは適切なスピーカに直接出力されるか、暗号化論理440を介して接続され、ここでスピーカに出力される前に何らかの適切な暗号化が実行される。ディスプレイ・コントローラに関する前の考察と同様、複合出力オーディオ・データがデジタルインタフェースを介してデジタル領域で出力されることになっていて、データ処理装置の中の数個の一体型スピーカに直接出力されない場合、その複合オーディオ・データ・ストリームの中の安全データをコピーすることを目的とした複合オーディオ・データ・ストリームへの不正アクセスを防止するためには、そのような暗号化は適切でありうる。
【００６６】
ディスプレイ・コントローラに関する説明と同様、オーディオ・コントローラ400は、デジタル・アナログ変換器を組み込み、複合オーディオ・ストリームが出力される前に、その複合オーディオ・ストリームをアナログ信号に変換する。
【００６７】
図８は、本発明の各種実施例が採用される適切なデータ処理装置を模式的に示すブロック図である。このデータ処理装置は、１つまたは複数のメモリバス520を介してメモリ・システム540の中に格納されるデータにアクセスすることができるいくつかの装置を含むのが普通である。このメモリ・システムの中には、図８のフレーム・ストア545によって示されるように、非安全フレーム・ストアと安全フレーム・ストアが用意される。メモリ・システムにアクセスできるこれらの装置は、１つまたは複数のプロセッサコア530、デジタル信号処理プロセッサ（DSP）560、ダイレクト・メモリ・アクセス（DMA）コントローラ570、ディスプレイ510に接続されるディスプレイ・コントローラ500または何らかの他の周辺装置550を含むことができる。ディスプレイ・コントローラは、図３から図６を参照して前に説明した複数のディスプレイ・コントローラの１つの形をとることができ、非安全データと、ディスプレイ・データの各フレームを発生するために要求される安全データとを取り出すため、１つまたは複数のメモリバス520を介してフレーム・ストア545にアクセスするDMAコントローラをとくに含むことができる。しかし、そのデータが取り出されていると、データをフレーム・ストアの中に書き戻すことを必要とせずに、ディスプレイ・コントローラの中でフィルタリングとスケーリングを実行することができるので、たとえばプロセッサコア530上で実行する適切なソフトウエアによってこれらの機能が実行された場合と同様に、メモリ・システムの中に格納されるデータがフレーム・ストアの中に置かれる前に、そのデータについてそのような機能が実行された場合に必要なメモリの帯域幅を大幅に減少させる。
【００６８】
図８に示す実施例においては、非安全フレーム・ストアと安全フレーム・ストアの中に格納される非安全データと安全データを発生するために要求される非安全処理と安全処理を、プロセッサコア530が実行することが予見される。前に考察したように、安全処理が要求される安全データを発生していると、このデータを安全フレーム・ストアの中に直接置くことができ、安全フレーム・ストアの中のそのデータは、いかなる非安全処理によってもアクセスされないので、そのデータはいかなる不正アクセスも受けることはない。
【００６９】
図８のデータ処理装置は、図７を参照して説明したように、１つの出力オーディオ・ストリームを発生するために非安全オーディオ・データと安全オーディオ・データの双方を組み合わせるオーディオ・コントローラを組み込むように構成されうることは理解されるであろう。
【００７０】
上記説明から、本発明の各種実施例は、安全データと非安全データを出力データ・ストリームの中にマージする改善された手法を提供しており、この手法は安全データに対する不正アクセスの可能性を小さくし、さらに要求されるメモリの帯域幅とプロセッサコアによって要求される処理の大幅な減少を可能にすることは理解されるであろう。
【００７１】
本明細書の中で特定の実施例を説明してきたが、本発明がこれらの実施例に限定さないことと、これらの実施例に対する改造、追加が本発明の範囲内で実行できることは理解されるであろう。たとえば、ここに示す従属請求項の機能と、独立請求項の機能との各種組み合わせは、本発明の範囲を逸脱することなく実施される。
【図面の簡単な説明】
【００７２】
【図１】安全データと非安全データを出力データ・ストリームの中にマージするため、本発明の実施例の中でとられた方法を模式的に示す図である。
【図２】本発明の各種実施例の中の非安全処理と安全処理の配置方法を模式的に示す図である。
【図３】本発明の一実施例によるディスプレイ・コントローラの中に組み込まれた論理を模式的に示すブロック図である。
【図４】本発明の各種実施例によるディスプレイ・コントローラを示すブロック図である。
【図５】本発明の各種実施例によるディスプレイ・コントローラを示すブロック図である。
【図６】本発明の各種実施例によるディスプレイ・コントローラを示すブロック図である。
【図７】本発明の一実施例によるオーディオ・コントローラの中に組み込まれた論理を模式的に示すブロック図である。
【図８】本発明の各種実施例が示す手法を採用することができるデータ処理装置を示すブロック図である。
【図１】
2005108223.tif 000003
【図２】
2005108223.tif 000004
【図３】
2005108223.tif 000005
【図４】
2005108223.tif 000006
【図５】
2005108223.tif 000007
【図６】
2005108223.tif 000008
【図７】
2005108223.tif 000009
【図８】
2005108223.tif 000010