(57)【特許請求の範囲】
【請求項１】
受信したデータを解析して画像データを出力するネットワークボードと、該ネットワークボードから出力された前記画像データを投影する投影部とを備えた画像処理装置であって、
前記ネットワークボードは、
第１のＣＰＵと第２のＣＰＵとを有し、
前記第１のＣＰＵは、
受信したデータをヘッダ部及びボディ部に分割する分割手段と、
前記分割手段で分割されたヘッダ部の送信を前記第２のＣＰＵへ通知する通知手段と、
前記通知手段により通知をした後、前記ヘッダ部を前記第２のＣＰＵへ送信し、前記ヘッダ部を送信した後、前記ボディ部を前記第２のＣＰＵへ送信する送信手段と、を有し、
前記第２のＣＰＵは、
前記第１のＣＰＵから前記ヘッダ部の送信の通知を受信したとき、受信用バッファを確保し、前記ヘッダ部を前記第１のＣＰＵから受信する受信手段と、
前記受信手段で受信した前記ヘッダ部をＤＭＡ転送により前記受信用バッファに格納する格納手段と、
前記受信用バッファに格納された前記ヘッダ部を解析して前記ヘッダ部に対応する前記ボディ部のデータがコンテンツであるかを判断する判断手段と、
前記判断手段で前記ボディ部のデータがコンテンツであると判断されたとき、投影用バッファを確保し、前記第１のＣＰＵから送信される前記ボディ部の格納先を前記投影用バッファに変更する変更手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記第２のＣＰＵは、
前記変更手段は、前記判断手段で前記ボディ部のデータがコンテンツであるとき、前記ボディ部の格納先を変更しないことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１のＣＰＵは、
前記ヘッダ部を及び前記ボディ部のアライメントを揃えることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記投影部は、グラフィックドライバを介して前記投影用バッファに格納された前記ボディ部のデータを投影することを特徴とする請求項１乃至３のいずれか一項に記載の画像処理装置。
【請求項５】
第１のＣＰＵと第２のＣＰＵとを有するネットワークボードと、該ネットワークボードから出力された画像データを投影する投影部とを備える画像処理装置が実行する画像処理方法であって、
前記第１のＣＰＵが、受信したデータをヘッダ部及びボディ部に分割し、分割された前記ヘッダ部の送信を前記第２のＣＰＵへ通知するステップと、
前記第２のＣＰＵが、前記第１のＣＰＵから前記ヘッダ部の送信の通知を受信したとき、受信用バッファを確保するステップと、
前記第１のＣＰＵが、前記ヘッダ部の送信を通知した後、前記ヘッダ部を前記第２のＣＰＵへ送信するステップと、
前記第２のＣＰＵが、前記第１のＣＰＵから送信される前記ヘッダ部を前記第１のＣＰＵから受信するステップと、
前記第２のＣＰＵが、受信した前記ヘッダ部をＤＭＡ転送により前記受信用バッファに格納するステップと、
前記第２のＣＰＵが、前記受信用バッファに格納された前記ヘッダ部を解析して前記ヘッダ部に対応する前記ボディ部のデータがコンテンツであるかを判断するステップと、
前記第２のＣＰＵが、前記ボディ部のデータがコンテンツであると判断したとき、投影用バッファを確保するステップと、
前記第１のＣＰＵが、前記ボディ部を前記第２のＣＰＵへ送信する送信手段と、
前記第２のＣＰＵが、前記第１のＣＰＵから送信される前記ボディ部の格納先を前記投影用バッファに変更するステップと、
を有することを特徴とする画像処理方法。
【請求項６】
第１のＣＰＵと第２のＣＰＵとを有するネットワークボードと、該ネットワークボードから出力された画像データを投影する投影部とを備える画像処理装置のコンピュータに実行させるための制御プログラムであって、
前記コンピュータに、
前記第１のＣＰＵが、受信したデータをヘッダ部及びボディ部に分割し、分割された前記ヘッダ部の送信を前記第２のＣＰＵへ通知する手順、
前記第２のＣＰＵが、前記第１のＣＰＵから前記ヘッダ部の送信の通知を受信したとき、受信用バッファを確保する手順、
前記第１のＣＰＵが、前記ヘッダ部の送信を通知した後、前記ヘッダ部を前記第２のＣＰＵへ送信する手順、
前記第２のＣＰＵが、前記第１のＣＰＵから送信される前記ヘッダ部を前記第１のＣＰＵから受信する手順、
前記第２のＣＰＵが、受信した前記ヘッダ部をＤＭＡ転送により前記受信用バッファに格納する手順、
前記第２のＣＰＵが、前記受信用バッファに格納された前記ヘッダ部を解析して前記ヘッダ部に対応する前記ボディ部のデータがコンテンツであるかを判断する手順、
前記第２のＣＰＵが、前記ボディ部のデータがコンテンツであると判断したとき、投影用バッファを確保する手順、
前記第１のＣＰＵが、前記ボディ部を前記第２のＣＰＵへ送信する手順、
前記第２のＣＰＵが、前記第１のＣＰＵから送信される前記ボディ部の格納先を前記投影用バッファに変更する手順、
を実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法、画像処理装置、及び制御プログラムに関する。
【背景技術】
【０００２】
ネットワーク経由で送られてきたデータを受信し、解析し、画像データを光の画像として投影する画像処理装置が提案されている。
【０００３】
この種の画像処理装置としてネットワークの処理を高速にするものがある（例えば、特許文献１参照。）。
特許文献１に記載の発明は、「通信制御装置、通信制御方法及び通信制御プログラム」に関する発明であり、プロセッサの処理負担を軽減させることを目的とする。特許文献１に記載の発明は、通信データに対してプロトコル解析処理を行う、ハードウェア結線された回路であるプロトコル処理回路と、通信データに対してプロトコル解析処理を行うプロトコル処理部と、複数のネットワークデバイスに対して、通信データの通信制御を行うインターフェースオブジェクトと、各ネットワークデバイスの通信量に基づいて、ネットワークデバイス毎に、通信データを、プロトコル処理回路でプロトコル解析処理を行わせるか否か判断するパケット判断部と、プロトコル処理回路でプロトコル解析処理を行わせると判断された場合、通信データをプロトコル処理回路に受け渡す下位ハードウェアプロトコル層受渡部と、プロトコル処理回路でプロトコル解析処理を行わせないと判断された場合、通信データをプロトコル処理部に受け渡す下位プロトコル層受渡部と、を備える。
【０００４】
すなわち、特許文献１に記載の発明は、ハードウェアを二つに分割して処理を速くするものである。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した技術では、通信速度が速くなっても画像表示速度に改善の余地がある。
【０００６】
そこで、本発明の目的は、通信速度が速く、しかも画像表示速度も速い画像処理方法、画像処理装置、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る請求項１記載の発明は、受信したデータを解析して画像データを出力するネットワークボードと、該ネットワークボードから出力された前記画像データを投影する投影部とを備えた画像処理装置であって、前記ネットワークボードは、第１のＣＰＵと第２のＣＰＵとを有し、前記第１のＣＰＵは、受信したデータをヘッダ部及びボディ部に分割する分割手段と、前記分割手段で分割されたヘッダ部の送信を前記第２のＣＰＵへ通知する通知手段と、前記通知手段により通知をした後、前記ヘッダ部を前記第２のＣＰＵへ送信し、前記ヘッダ部を送信した後、前記ボディ部を前記第２のＣＰＵへ送信する送信手段と、を有し、前記第２のＣＰＵは、前記第１のＣＰＵから前記ヘッダ部の送信の通知を受信したとき、受信用バッファを確保し、前記ヘッダ部を前記第１のＣＰＵから受信する受信手段と、前記受信手段で受信した前記ヘッダ部をＤＭＡ転送により前記受信用バッファに格納する格納手段と、前記受信用バッファに格納された前記ヘッダ部を解析して前記ヘッダ部に対応する前記ボディ部のデータがコンテンツであるかを判断する判断手段と、前記判断手段で前記ボディ部のデータがコンテンツであると判断されたとき、投影用バッファを確保し、前記第１のＣＰＵから送信される前記ボディ部の格納先を前記投影用バッファに変更する変更手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、通信速度が速く、しかも画像表示速度も速い画像処理方法、画像処理装置、及び制御プログラムの提供を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る画像処理装置の一実施の形態を示す概念図である。
【図２】図１に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
【図３】本発明に係る画像処理装置の他の実施の形態を示す概念図である。
【図４】図３に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
【図５】本発明に係る画像処理装置の他の実施の形態を示す概念図である。
【図６】図５に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
【図７】本発明に係る画像処理装置の他の実施の形態を示す概念図である。
【図８】図７に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
【図９】図１４に示した通信モジュール１０４の動作を説明するためのフローチャートの一例である。
【図１０】（ａ）、（ｂ）は、アライメント対策について説明するための説明図である。
【図１１】本発明に係る画像処理装置の他の実施の形態を示すブロック図である。
【図１２】図１１に示した画像処理装置の動作を説明するためのシーケンス図である。
【図１３】図１１に示した画像処理装置のハードウェア構成のブロック図である。
【図１４】図１１に示した画像処理装置に用いられる、ネットワークＣＰＵ１０２のソフトウェア構成図である。
【図１５】図１５からネットワークボードの一部を抜粋したブロック図である。
【図１６】ネットワークサブＣＰＵ１０１の内部構成を示す概念図である。
【発明を実施するための形態】
【００１０】
以下、本発明に係る画像処理装置の実施の形態について、図面を参照して説明する。
＜実施の形態１＞
図１は、本発明に係る画像処理装置の一実施の形態を示す概念図である。
同図に示す画像処理装置は、ＵＳＢ(Universal Serial Bus)ホスト（図ではＵＳＢ  Ｈｏｓｔと表記）１０３から投影用バッファ１０７に、全データを直接ＤＭＡ(Direct Memory Access)転送する場合を示す。
【００１１】
同図に示すネットワークボード１００は、解析手段としてのネットワークサブＣＰＵ(Central Processing Unit)１０１と、ネットワークＣＰＵ１０２を有する。
ネットワークＣＰＵ１０２は、分割手段としてのＵＳＢホスト１０３、解析手段／選択手段としての通信モジュール１０４、受信用バッファ１０５、書き込み手段としてのコンテンツモジュール１０６、投影用バッファ１０７、及びグラフィックドライバ１０８を有する。
【００１２】
「ヘッダ」７０１と「ボディ」７０２とが混合されたデータ（受信するデータ）７００は、「ヘッダ」７０１と「ボディ」７０２とに分割される。「ヘッダ」７０１には「ボディ」７０２に含まれるデータの種類が書かれている。
受信するデータ７００は、コマンドか、コンテンツであるため、必ずしも投影用データとは限らない。これは、受信するデータ７００に不要なデータ（ヘッダ７０１）が混在しているためであり、そのままメイン投影部１０９で投影することができない。
【００１３】
図２は、図１に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
ネットワークサブＣＰＵ１０１に接続されたパーソナルコンピュータ（Personal Computer：以下ＰＣと表記）ＰＣ２００からのデータ７００をネットワークサブＣＰＵ１０１が受信すると（Ｓ８０１）、ネットワークサブＣＰＵ１０１は、ネットワークＣＰＵ１０２のＵＳＢホスト１０３に着信通知を行い（Ｓ８０２）、ペイロード及びＮＵＬＬをＵＳＢホスト１０３に送る（Ｓ８０３、Ｓ８０４）。
【００１４】
ここで、データ７００は、ＨＴＴＰヘッダ７０１とＨＴＴＰボディ（静止画、動画）７０２とで構成されている。また、ペイロードとしてのデバイスデータ（例えばコンテンツの場合１６ＫＢ）として、アプリデータヘッダ、制御パラメータ、ＨＴＴＰヘッダ、ＨＴＴＰボディ（静止画／動画／画面）を有する。
【００１５】
ＵＳＢホスト１０３は、通信モジュール１０４に着信通知を行うと（Ｓ８０５）、通信モジュールで、コンテンツモジュールのバッファを取得し、通信モジュール１０４は、ＵＳＢホスト１０３に受信要求（バッファ）を行う（Ｓ８０６）。
このとき、投影用バッファ１０７にはデバイスデータのうちのＨＴＴＰヘッダ及びＨＴＴＰボディが書き込まれる。
ＵＳＢホスト１０３は、通信モジュール１０４に書き込み通知を行うと（Ｓ８０７）、通信モジュール１０４は、コンテンツモジュール１０６に書き込み通知（開始アドレス、サイズ）を行う（Ｓ８０９）。
【００１６】
以上において、本実施形態によれば、通信速度が速く、しかも画像表示速度も速い画像処理装置が得られる。
【００１７】
＜実施の形態２＞
図３は、本発明に係る画像処理装置の他の実施の形態を示す概念図である。
図３に示す画像処理装置は、ＵＳＢホスト１０３から受信用バッファ１０５に全データを直接ＤＭＡ転送する場合を示す。
図３に示した画像処理装置と図１に示した画像処理装置との相違点は、ヘッダの解析後、ボディに含まれるデータが「コンテンツ」である場合、そのデータを投影用バッファに書き込む点である。
図３に示す画像処理装置の構成としては、図１に示した構成と同様にネットワークボード１００と、メイン投影部１０９とを有する。ネットワークボード１００は、ネットワークサブＣＰＵ１０１と、ネットワークＣＰＵ１０２とを有する。ネットワークＣＰＵ１０２は、ＵＳＢホスト１０３、通信モジュール１０４、受信用バッファ１０５、コンテンツモジュール１０６、投影用バッファ１０７、及びグラフィックドライバを有する。
各要素の機能については、前述と同様であるため、説明を省略する。
【００１８】
図４は、図３に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
ネットワークサブＣＰＵ１０１に接続されたＰＣ２００からのデータ７００をネットワークサブＣＰＵ１０１が受信すると（Ｓ１００１）、ネットワークサブＣＰＵ１０１は、ネットワークＣＰＵ１０２のＵＳＢホスト１０３に着信通知を行う（Ｓ１００２）。ネットワークサブＣＰＵ１０１は、この着信通知後ＵＳＢホスト１０３にペイロード及びＮＵＬＬを送る（Ｓ１００３、Ｓ１００４）。
ペイロードとしてのデバイスデータ（例えば、コンテンツの場合、１６ＫＢ）は、アプリデータヘッダ、制御パラメータ、ＨＴＴＰヘッダ、ＨＴＴＰボディ（静止画／動画／画面）を有する。
【００１９】
ＵＳＢホスト１０３がネットワークＣＰＵ１０２の通信モジュール１０４に着信通知を行うと（Ｓ１００５）、通信モジュールでバッファを確保し、通信モジュール１０４はＵＳＢホスト１０３に受信要求（バッファ）を送る（Ｓ１００６）。
このとき、受信用バッファ１０５にはデバイスデータのヘッダ、及びＨＴＴＰボディ（静止画／動画／画面）が書き込まれる。この書き込み後、ＵＳＢホスト１０３は通信モジュール１０４に書き込み通知を行う（Ｓ１００７）。
通信モジュール１０４は、コンテンツモジュール１０６にコピー（コンテンツデータ）を送る（Ｓ１００８）。
コンテンツモジュール１０６は、受信用バッファ１０５に書き込まれたデータのうち、ＨＴＴＰボディ（静止画／動画／画面）を投影用バッファ１０７に書き込む。
通信モジュール１０４はコンテンツモジュール１０６に書き込み通知（開始アドレス、サイズ）を行う（Ｓ１００９）。
【００２０】
以上において、本実施の形態によれば、通信速度が速く、しかも画像表示速度も速い画像処理装置が得られる。
【００２１】
＜実施の形態３＞
図５は、本発明に係る画像処理装置の他の実施の形態を示す概念図である。
図５に示す画像処理装置は、ＵＳＢホスト１０３から受信用バッファ１０５に、データの一部（ヘッダ解析に十分なサイズ）を直接ＤＭＡ転送する場合を示す。
図５に示す画像処理装置と図１に示した画像処理装置との相違点は、ヘッダ解析後、ボディに含まれるデータが「コンテンツ」である場合、受信用バッファ１０５に書き込んだボディ分を投影用バッファ１０７に書き込む点である。
【００２２】
図５に示す画像処理装置は、前述と同様、ネットワークボード１００と、メイン投影部１０９とを有する。ネットワークボード１００は、ネットワークサブＣＰＵ１０１と、ネットワークＣＰＵ１０２とを有する。ネットワークＣＰＵ１０２は、ＵＳＢホスト１０３、通信モジュール１０４、受信用バッファ１０５、コンテンツモジュール１０６、投影用バッファ１０７、及びグラフィックドライバ１０８を有する。
各要素の機能については、前述と同様であるため、説明を省略する。
【００２３】
図６は、図５に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
ネットワークサブＣＰＵ１０１に接続されたＰＣ２００からのデータ７００をネットワークサブＣＰＵ１０１が受信すると（Ｓ１２０１）、ネットワークサブＣＰＵ１０１は、ネットワークＣＰＵ１０２のＵＳＢホスト１０３に着信通知を行う（Ｓ１２０２）。
ネットワークサブＣＰＵ１０１は、この着信通知後ＵＳＢホスト１０３にペイロード及びＮＵＬＬを送る（Ｓ１２０３、Ｓ１２０４）。
ペイロードとしてのデバイスデータ（例えば、コンテンツの場合、１６ＫＢ）は、アプリデータヘッダ、制御パラメータ、ＨＴＴＰヘッダ、ＨＴＴＰボディ（静止画／動画／画面）を有する。
【００２４】
ＵＳＢホスト１０３は、通信モジュール１０４に着信通知を行い（Ｓ１２０５）、通信モジュールでＨＴＴＰヘッダ（ＭＡＸ：２ＫＢ）のバッファを確保する。
通信モジュール１０４は、着信通知を受けると、ＵＳＢホスト１０３に受信要求を行う（Ｓ１２０６）。
受信用バッファ１０５には、デバイスデータのうちの制御パラメータ、ＨＴＴＰヘッダ、及びＨＴＴＰボディが書き込まれ、ＵＳＢホスト１０３から通信モジュール１０４に書き込み通知（ＦＵＬＬ）が行われる（Ｓ１２０７）。
通信モジュール１０４がコンテンツモジュール１０６にデータ転送開始通知（ファイル種類）を行うと、コンテンツモジュール１０６は通信モジュール１０４にデータ転送設定通知（バッファ、サイズ、通知サイズ）を送る（Ｓ１２０９）。
通信モジュール１０４は、ＵＳＢホスト１０３に受信バッファ変更を送ると（Ｓ１２１０）、ＨＴＴＰボディの残りが投影用バッファ１０７に、続きからＤＭＡ転送される。
ＵＳＢホスト１０３から通信モジュール１０４に書き込み通知が行われると（Ｓ１２１１）、通信モジュール１０４はコンテンツモジュール１０６に書き込み通知（開始アドレス、サイズ）を送る（Ｓ１２１２）。
以上において、本実施形態によれば、通信速度が速く、しかも画像表示速度も速い画像処理装置が得られる。
【００２５】
＜実施の形態４＞
図７は、本発明に係る画像処理装置の他の実施の形態を示す概念図である。
図７に示す画像処理装置は、ネットワークサブＣＰＵ１０１で「ヘッダ」と「ボディ」とを分割して受信用バッファ１０５及び投影用バッファ１０７に書き込むものである。 図７に示す画像処理装置は、最初に「ヘッダ」のみ受信用バッファ１０５に書き込み、通信モジュール１０４で内容を解析し、「ボディ」に「コンテンツ」データが有る場合は、「コンテンツ」データを投影用バッファ１０７に書き込む。
【００２６】
ここで、ＤＭＡ転送時は、アライメントを揃えないと、メモリに書き込まれているデータが破壊されてしまう。そのため、「ヘッダ」及び「ボディ」にそれぞれ、ダミーデータを付加してアライメントを揃える。
【００２７】
図８は、図７に示した画像処理装置の動作を説明するためのシーケンス図の一例である。
ネットワークサブＣＰＵ１０１に接続されたＰＣ２００からのデータ７００をネットワークサブＣＰＵ１０１が受信すると（Ｓ１４０１）、ネットワークＣＰＵ１０２のＵＳＢホスト１０３にヘッダを送る（Ｓ１４０２）。
ＵＳＢホスト１０３は、通信モジュール１０４に着信通知を送って（Ｓ１４０８）、通信モジュールでＨＴＴＰヘッダ（ＭＡＸ：２ＫＢ）のバッファを確保し、通信モジュール１０４は、ＵＳＢホスト１０３に受信要求を送る（Ｓ１４０９）。
ネットワークサブＣＰＵ１０１は、ＵＳＢホスト１０３にペイロードとしてのデバイスデータ（例えば、コンテンツの場合１６ＫＢ）及びＮＵＬＬを送る（Ｓ１４０４）。
ＵＳＢホスト１０３は、受信用バッファ１０５にデバイスデータのうちの制御パラメータ及びＨＴＴＰヘッダを書き込み、通信モジュール１０４に進捗通知（ＨＴＴＰヘッダまで）を送る（Ｆ１４１０）。
通信モジュール１０４は、コンテンツモジュール１０６にデータ転送開始通知（ファイル種類）を送ると（Ｓ１４１１）、コンテンツモジュール１０６は通信モジュール１０４にデータ転送開始通知（バッファ、サイズ、通知サイズ）を送り（Ｓ１４１２）、コンテンツモジュールでバッファを確保する。
通信モジュール１０４は、バッファ変更をＵＳＢホスト１０３に送り（Ｓ１４１３）、ネットワークサブＣＰＵ１０１は、ＵＳＢホスト１０３にヘッダ、ペイロード、及びＮＵＬＬを送る（Ｓ１４０５、Ｓ１４０６、Ｓ１４０７）。
ペイロードとしてのデバイスデータ（例えば、コンテンツの場合１６ＫＢ）は、アプリデータヘッダ、及びＨＴＴＰボディ（静止画、動画）を有する。
ＵＳＢホスト１０３は、デバイスデータのうちのアプリデータヘッダ及びＨＴＴＰボディ（静止画、動画）を投影用バッファ１０７に書き込み、通信モジュール１０４に書き込み通知を行う（Ｓ１４１４）。
通信モジュール１０４は、コンテンツモジュール１０６に書き込み通知（開始アドレス、サイズ）を行う（Ｓ１４１５）。
【００２８】
図９は、図８に示した通信モジュール１０４の動作を説明するためのフローチャートの一例である。
図９に示すフローチャートの動作の主体は、ネットワークＣＰＵ１０２である。
ネットワークＣＰＵ１０２は、データ受信を検知すると（Ｓ１５０１）、ヘッダ受信に十分なサイズを受信用バッファとして確保する（Ｓ１５０２）。
ネットワークＣＰＵ１０２は、受信用バッファ１０５にＤＭＡ転送を要求し（ＨＴＴＰヘッダの分だけ：Ｓ１５０３）、ヘッダを解析する（Ｓ１５０４）。
ネットワークＣＰＵ１０２は、ボディのデータがコンテンツか否かを判断し（Ｓ１５０５）、ボディのデータがコンテンツであると判断した場合（Ｓ１５０５／Ｙｅｓ）は、コンテンツモジュールから投影用バッファ１０７を取得し（Ｓ１５０６）、投影用バッファ１０７にＤＭＡ転送を要求する（ボディ分：Ｓ１５０７）。
ネットワークＣＰＵ１０２は、ボディのデータがコンテンツでないと判断した場合（Ｓ１５０５／Ｎｏ）、通信モジュール１０４でボディを解析し、通信モジュール１０４内の機能を動作させる（Ｓ１５０８）。
【００２９】
図１０（ａ）、（ｂ）は、アライメント対策について説明するための説明図である。
アライメント対策については、ネットワークサブＣＰＵ１０１にて、データ変換を行い、ネットワークＣＰＵ１０２にＤＭＡ転送する。
図１０（ａ）は、受信時のデータそのまま（変換前）を示している。データはヘッダ及びボディを有し、ヘッダは、アプリデータサイズ、宛先、制御メッセージＩＤ、メッセージＩＤ詳細、及び通信モードを有する、下に凸のデータ領域である。ボディは、アプリデータ（＝［制御パラメータ］［コンテンツデータ］）を有する、下に凸のデータ領域である。
【００３０】
図１０（ｂ）は、「ヘッダ」及び「ボディ」ともに、アライメントを揃えた後の変換後の状態を示している。
ヘッダは、アプリデータサイズ、宛先、制御メッセージＩＤ、メッセージＩＤ詳細、通信モード、及び予約を有する、矩形のデータ領域である。ボディは、アプリデータ（＝［制御パラメータ］［コンテンツデータ］）、及び予約を有する、矩形のデータ領域である。
【００３１】
＜実施の形態５＞
図１１は、本発明に係る画像処理装置の他の実施の形態を示すブロック図である。
同図に示す画像処理装置は、ネットワークボード１００と、メイン投影部１０９とを有する。
ネットワークボード１００は、ネットワークサブＣＰＵ１０１と、ネットワークＣＰＵ１０２とを有する。
ネットワークサブＣＰＵ１０１は、プロトコル制御やパケット制御を行うハードウェアであり、一部、受信したデータの解析を行う。ＵＳＢデバイスとして動作し、ネットワークＣＰＵ１０２にデータを転送する。
ネットワークＣＰＵ１０２は、通信モジュール１０４、コンテンツモジュール１０６、ＵＳＢホスト１０３、グラフィックドライバ１０８を動作させるハードウェアである。
【００３２】
通信モジュール１０４は、受信したデータの詳細を解析し、データの内容に応じたアプリケーションソフトウェア（以下、アプリと表記）を動作させるソフトウェアである。通信モジュール１０４は、アプリの動作の際、必要に応じて他のモジュールを利用する。
コンテンツモジュール１０６は、投影用バッファ１０６に書き込まれた画像データ（コンテンツのデータ）を、グラフィックドライバ１０８を利用して出力するソフトウェアである。
ＵＳＢホスト１０３は、ＵＳＢデバイスを制御するソフトウェアである。
グラフィックドライバ１０８は、グラフィックデバイスを制御するソフトウェアである。
メイン投影部１０９は、グラフィックデバイスであり、画像データを光の可視画像として映し出すデバイスである。
【００３３】
ネットワークサブＣＰＵ１０１には、図には示されないＰＣ２００が接続されている。
【００３４】
図１２は、図１１に示した画像処理装置の動作を説明するためのシーケンス図である。
ＰＣ２００からネットワークサブＣＰＵ１０１にＨＴＴＰ(Hyper Text Transfer Protocol)ヘッダとＨＴＴＰボディ（静止画、動画）とを含むデータ（受信データ）が送られると（Ｓ２０１）、ネットワークサブＣＰＵ１０１は、ネットワークＣＰＵ１０２のＵＳＢホスト１０３に受信データ、ペイロード（デバイスデータ）、及びＮＵＬＬを送る（Ｓ２０２、Ｓ２０３、Ｓ２０４）。
ＵＳＢホスト１０３は、ネットワークＣＰＵ１０２の通信モジュール１０４に着信通知を行う（Ｓ２０５）。ネットワークＣＰＵ１０２の通信モジュール１０４は通信モジュールでバッファを用意し、その旨をＵＳＢホスト１０３に通知する（Ｓ２０６）。ＵＳＢホスト１０３は、用意されたバッファ１０５、１０７にデバイスデータのヘッダやボディ等を書き込み、通信モジュール１０４に書き込み通知を行う（Ｓ２０７）。
【００３５】
図１３は、図１１に示した画像処理装置のハードウェア構成のブロック図である。
図１３に示す画像処理装置は、ネットワークサブＣＰＵ１０１、ネットワークＣＰＵ１０２、ＵＳＢ３００、映像入力部３０１、ファン制御部３０２、ＤＭＤ(Digital Mirror Device)制御部３０４、メインＣＰＵ３０５、リモコン受信部３０６、操作パネル３０７、ＥＥＰＲＯＭ(Electrically Erasable Programmable Read Only Memory)３０８，３０９、サブＣＰＵ３１０、ネットワークＩ／Ｆ（有線）３１１、ネットワークＩ／Ｆ（無線）３１２、及び電源３１３を有する。
【００３６】
メインＣＰＵ３０５は、外部端子、ネットワークＣＰＵ１０２からの映像入力信号を受け取って、ＤＭＤ制御部３０４を利用して映像を投影するものであり、ＣＰＵ、ランプ、及びファンを有し、高消費電力である。
【００３７】
ネットワークＣＰＵ１０２は、ネットワークサブＣＰＵ１０１経由で受け取ったネットワークからの入力データ、ＵＳＢ３００からの入力データを映像信号に変換し、メインＣＰＵ３０５に出力するものであり、高消費電力である。
【００３８】
ネットワークサブＣＰＵ１０１は、ネットワークから入力された投影用データをネットワークＣＰＵ１０２に転送する機能を有し、ネットワークＣＰＵ１０２のＯＦＦ／ＯＮ制御を行う。ネットワークサブＣＰＵ１０１は、ＣＰＵ、有線ＬＡＮ(Local Area Network)、及び無線ＬＡＮモジュールからなり、低消費電力である。
【００３９】
サブＣＰＵ３１０は、操作部（操作パネル３０７）のキー、リモコン（リモコン受信部３０６）から電源ＯＮの要求を受け付けるものであり、メインＣＰＵ３０５、ネットワークサブＣＰＵ１０１の電源ＯＦＦ／ＯＮ制御を行うものであり、低消費電力である。
【００４０】
ファン制御部３０２は、冷却用のファンのＯＦＦ／ＯＮを制御する。
ランプ制御部３０３は、投影用のランプのＯＦＦ／ＯＮを制御する。
ネットワークＩ／Ｆ（有線）３１１は、例えばＡＤＳＬ(Asymmetric Digital Subscriber Line)や光ネットワーク接続するためのインターフェースであり、ネットワークＩ／Ｆ（無線）３１２は、無線でネットワーク接続するためのインターフェースである。
【００４１】
図１４は、図１１に示した画像処理装置に用いられる、ネットワークＣＰＵ１０２のソフトウェア構成図である。
図１４において、ネットワークボード１００は、ネットワークサブＣＰＵ１０１、ネットワークＣＰＵ１０２、及び電源３１３を有する。
ネットワークＣＰＵ１０２は、ＵＳＢホスト１０３、通信モジュール１０４、受信用バッファ１０５、投影用バッファ１０７、グラフィックドライバ１０８、機器モジュール４００、ＵＩ(User Interface)モジュール４０１、及び操作部制御４０２を有する。
【００４２】
図１５は、図１４からネットワークボードの一部を抜粋したブロック図である。
図１５に示すネットワークボードは、ネットワークサブＣＰＵ１０１とネットワークＣＰＵ１０２とを有する。
ネットワークＣＰＵ１０２は、ＵＳＢホスト１０３、通信モジュール１０４、受信用バッファ１０５、コンテンツモジュール１０６、投影用バッファ１０７、及びグラフィックドライバ１０８を有する。
【００４３】
図１６は、ネットワークサブＣＰＵ１０１の内部構成を示す概念図である。
同図において、ネットワークサブＣＰＵ１０１とネットワークＣＰＵ１０２との間でＰＣＩｅ(Peripheral Component Interconnect express)で、必要に応じて設定情報を送受信したり、通信データを送受信したりする状態が示されている。
ネットワークＣＰＵ１０２は、ＵＳＢホスト１０３を有し、ネットワークサブＣＰＵ１０１は、ＯＳ(Operating System)６０１、Ｄｒｉｖｅｒ６０２、ＴＣＰ／Ｉ(Transmission  Control  Protocol  /Internet  Protocol)Ｐ６０３、Ｓｏｃｋｅｔ  ＡＰＩスケルトン６０４、ＳＳＬ(Secure Socket Layer)６０５、ＩＰｓｅｃ(Security Architecture for Internet Protocol)６０６、設定アプリケーション６０７、及び自動応答アプリケーション６０８を有する。
【００４４】
設定アプリケーション６０７は、ネットワーク設定（フィルタ設定、ＩＰ設定、ＤＨＣＰ(Dynamic Host Configuration Protocol)、ＤＮＳ(Domain Name Server)等）、セキュリティ設定（ＩＰｓｅｃ、ＳＳＬ(Secure Socket Layer)）を含む。
【００４５】
以上において、本実施の形態によれば、通信速度が速く、しかも画像表示速度も速い画像処理装置が得られる。また、本実施の形態によれば、投影用バッファ１０７に投影用データ（画像データ）のみ書き込まれる。このため冗長なＣＰＵコピーが発生することがなく、画像処理装置の性能への悪影響はない。さらに、本実施の形態によれば、ＤＭＡ転送をフル活用できるので、画像処理装置の性能への好影響が期待できる。
【００４６】
＜プログラム＞
以上で説明した本発明にかかる画像処理装置は、コンピュータで処理を実行させる制御プログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明を実現する場合の説明を以下で行う。
【００４７】
例えば、
受信したデータを解析して画像データを出力するネットワークボードと、該ネットワークボードから出力された前記画像データを光の画像として投影する投影部とを備えた画像処理装置のコンピュータに、
（１）分割手段が、受信したデータをヘッダ及びボディに分割する手順、
書き込み手段が、ＤＭＡ転送で少なくとも１つのバッファに書き込む手順、
解析手段が、前記ヘッダを解析する手順、
（２）選択手段が、前記ボディに含まれるデータの内容に応じてＤＭＡ転送時の書き込み先のバッファを選択する手順、
を実行させる制御プログラムが挙げられる。
【００４８】
これにより、制御プログラムが実行可能なコンピュータ環境さえあれば、どこにおいても本発明にかかる画像処理装置を実現することができる。
このような制御プログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
【００４９】
＜記憶媒体＞
ここで、記憶媒体としては、例えば、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）などのコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＦｅＲＡＭ（強誘電体メモリ）等の半導体メモリやＨＤＤ（Hard Disc Drive）が挙げられる。
【００５０】
＜作用効果＞
ネットワークサブＣＰＵ１０１で「ヘッダ」と「ボディ」とを分割してネットワークＣＰＵ１０２に送り、最初に「ヘッダ」部のみ受信バッファ１０５に書き込み、通信モジュール１０４で内容を解析する。「ボディ」に「コンテンツ」データが入っている場合は、「コンテンツ」データを投影用バッファ１０７に書き込む。ＤＭＡ転送時は、アライメントを揃えないと、メモリのデータを破壊してしまう。そのため、「ヘッダ」「ボディ」それぞれに、ダミーデータを付加することで、アライメントを揃える。
以上の動作により、投影用バッファに、投影用データ（画像データ）のみ書き込まれる。冗長なCPUコピーが発生しない。性能への悪影響がない。ＤＭＡ転送をフルに活用できる。性能への好影響が期待できる。
【００５１】
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。
【符号の説明】
【００５２】
１００    ネットワークボード
１０１    ネットワークサブＣＰＵ
１０２    ネットワークＣＰＵ
１０３    ＵＳＢホスト
１０４    通信モジュール
１０５    受信用バッファ
１０６    コンテンツモジュール
１０７    投影用バッファ
１０８    グラフィックドライバ
１０９    メイン投影部
２００    ＰＣ
３００    ＵＳＢ
３０１    映像入力部
３０２    ファン制御部
３０３    ランプ制御部
３０４    ＤＭＤ制御部
３０５    メインＣＰＵ
３０６    リモコン受信部
３０７    操作パネル
３０８、３０９    ＥＥＰＲＯＭ
３１０    サブＣＰＵ
３１１    ネットワークＩ／Ｆ（有線）
３１２    ネットワークＩ／Ｆ（無線）
３１３    電源
４００    機器モジュール
４０１    ＵＩモジュール
４０２    操作制御部
７００    データ
７０１    ヘッダ
７０２    ボディ
【先行技術文献】
【特許文献】
【００５３】
【特許文献１】特開２００９−０５５１３３号公報
【図１】
0005857735.tif 000002
【図２】
0005857735.tif 000003
【図３】
0005857735.tif 000004
【図４】
0005857735.tif 000005
【図５】
0005857735.tif 000006
【図６】
0005857735.tif 000007
【図７】
0005857735.tif 000008
【図８】
0005857735.tif 000009
【図９】
0005857735.tif 000010
【図１０】
0005857735.tif 000011
【図１１】
0005857735.tif 000012
【図１２】
0005857735.tif 000013
【図１３】
0005857735.tif 000014
【図１４】
0005857735.tif 000015
【図１５】
0005857735.tif 000016
【図１６】
0005857735.tif 000017