(57)【要約】  差分検出部（１３０）が、複数のブロックに分割されたキャプチャ画像（８１１）と、キャプチャ画像（８１１）と比較する前回キャプチャ画像（８１２）とをブロック毎に比較し、前回キャプチャ画像（８１２）と差分のあるブロックを差分ブロックとして検出する。また、差分ブロック選定部（１４０）が、差分ブロックから、符号化して送信する１以上の差分送信予定ブロックを選定する。また、巡回ブロック選定部（１６０）が、複数のブロックのうち１以上の差分送信予定ブロック以外の巡回ブロックから、符号化して送信する１以上の巡回送信予定ブロックを選定する。１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値は下限値と上限値の範囲内となる。
2017183109.tif 000002
【特許請求の範囲】
【請求項１】
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出する差分検出部と、
前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備えた画像処理装置。
【請求項２】
前記差分ブロック選定部は、
前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記１以上の差分送信予定ブロックを選定する請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記１以上の差分送信予定ブロックと前記１以上の巡回送信予定ブロックとを、前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとして符号化する符号化部と、
前記符号化部により符号化された前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとを送信する送信処理を実行するブロック送信部と
を備えた請求項２に記載の画像処理装置。
【請求項４】
前記差分ブロック選定部は、
前記差分ブロックを前記符号化部に出力し、前記符号化部から符号化された前記差分ブロックである符号化差分ブロックと前記符号化差分ブロックのデータサイズとを取得し、前記符号化差分ブロックのデータサイズに基づいて、前記１以上の差分送信予定ブロックを選定し、
前記巡回ブロック選定部は、
前記巡回ブロックを前記符号化部に出力し、前記符号化部から符号化された前記巡回ブロックである符号化巡回ブロックと前記符号化巡回ブロックのデータサイズとを取得し、前記符号化巡回ブロックのデータサイズに基づいて、前記１以上の巡回送信予定ブロックを選定する請求項３に記載の画像処理装置。
【請求項５】
前記ブロック送信部は、
前記送信処理により符号量が符号量閾値までの前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとを送信可能であり、
前記差分閾値と前記上限値とを加算した値は前記符号量閾値以下となる請求項３または４に記載の画像処理装置。
【請求項６】
前記画像処理装置は、
前記複数のブロックの各ブロックの状態が記録されるブロック状態情報を記憶するブロック状態記憶部を備え、
前記ブロック送信部は、
前記１以上の差分符号化ブロックの各々と前記１以上の巡回符号化ブロックの各々との状態を送信済み状態として前記ブロック状態情報に記録する請求項３から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記画像処理装置は、
画面をキャプチャすることにより前記配信画像を生成するキャプチャ部と、
前記キャプチャ部により生成された配信画像を前記複数のブロックに分割するブロック分割部と
を備え、
前記ブロック分割部は、
前記複数のブロックの各々を前記符号化部に出力し、前記符号化部から符号化された前記複数のブロックの各々である符号化済みデータと前記符号化済みデータのデータサイズとを取得し、ブロック記憶部に記憶し、
前記差分ブロック選定部は、
前記符号化済みデータと前記符号化済みデータのデータサイズとを、前記ブロック記憶部から取得し、前記符号化済みデータのデータサイズに基づいて、前記１以上の差分送信予定ブロックを選定する請求項６に記載の画像処理装置。
【請求項８】
前記キャプチャ部は、
前記ブロック送信部による前記送信処理が完了した後に、前記複数の画像のうち前記配信画像の次の画像を生成する請求項７に記載の画像処理装置。
【請求項９】
前記ブロック状態記憶部は、
前記ブロック状態情報として、前記差分ブロックの状態が記録される差分マップと、前記巡回ブロックの状態が記録される巡回マップとを有し、
前記差分ブロック選定部は、
前記１以上の差分送信予定ブロックを選定した場合に、前記１以上の差分送信予定ブロックの各々の状態を差分送信予定状態として前記差分マップに記録し、
前記巡回ブロック選定部は、
前記１以上の巡回送信予定ブロックを選定した場合に、前記１以上の巡回送信予定ブロックの各々の状態を巡回送信予定状態として前記巡回マップに記録する請求項８に記載の画像処理装置。
【請求項１０】
前記ブロック送信部は、
前記送信処理の実行中に前記送信処理を続行するか否かを判定し、前記送信処理を続行しないと判定した場合に、前記送信処理を中断する請求項９に記載の画像処理装置。
【請求項１１】
前記キャプチャ部は、
前記差分マップと前記巡回マップとに基づいて、前記差分マップと前記巡回マップとに前記差分送信予定状態又は前記巡回送信予定状態のブロックがあるか否かを判定し、前記差分送信予定状態又は前記巡回送信予定状態のブロックがある場合には、キャプチャを実行せずに前記差分送信予定状態又は前記巡回送信予定状態のブロックを送信する指示を前記ブロック送信部に出力する請求項１０に記載の画像処理装置。
【請求項１２】
順次配信される複数の画像のうち配信する配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをピクセル単位で比較し、前記比較画像と差分のあるピクセルを示す差分ピクセル情報を出力する差分検出部と、
前記配信画像を複数のブロックに分割し、前記差分ピクセル情報に基づいて差分のあるピクセルが含まれるブロックを差分ブロックとして検出するブロック分割部と、
前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備えた画像処理装置。
【請求項１３】
差分検出部が、順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、
差分ブロック選定部が、前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定し、
巡回ブロック選定部が、前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定し、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる画像処理方法。
【請求項１４】
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定処理と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定処理と
をコンピュータに実行させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関するものであり、特に、映像を配信する際の画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１の画像処理装置では、映像符号化を実施する際に、イントラ予測及びインター予測のそれぞれの符号量を順に制限している。また、特許文献１の画像処理装置では、１ピクチャあたりの符号量が予め定められた上限を超えそうになった場合、符号量を抑えるよう符号化を制御することによって上限超えを回避している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３３２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は非可逆圧縮を前提とした映像配信であるため、変化の激しい映像の符号化には圧縮率を上げることで対応している。一方で可逆圧縮での映像配信では、圧縮率の向上は望めないため、変化の激しい映像の入力があった場合に符号量が増加するという課題がある。【０００５】
本発明は、画面を複数のブロックに分割し、複数のブロックを巡回しつつ符号化して送信するブロックを選定することにより、差分ブロックと差分ブロック以外の巡回ブロックとを適切な符号量で送信することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出する差分検出部と、
前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備えた。
【発明の効果】
【０００７】
本発明に係る画像処理装置によれば、差分検出部が、複数のブロックに分割された配信画像と比較画像とをブロック毎に比較し、複数のブロックから比較画像と差分のあるブロックを差分ブロックとして検出し、差分ブロック選定部が、差分ブロックから、符号化して送信する１以上の送信予定ブロックを選定する。また、巡回ブロック選定部が、複数のブロックのうち差分ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上の巡回送信予定ブロックであって各々を符号化した符号量の合計値が下限値と上限値の範囲内となる１以上の巡回送信予定ブロックを選定する。よって、符号化して送信するブロックとして、差分ブロックと巡回ブロックとを適切な符号量で選定することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る画像処理装置１００の構成図。
【図２】実施の形態１に係る差分マップ８３１における各ブロックの状態遷移を示す図。
【図３】実施の形態１に係る巡回マップ８４１における各ブロックの状態遷移を示す図。
【図４】実施の形態１に係る画像処理装置１００の画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００を示すフロー図。
【図５】実施の形態１に係る差分ブロック選定処理Ｓ１０５を示すフロー図。
【図６】実施の形態１に係る巡回ブロック選定処理Ｓ１０６を示すフロー図。
【図７】実施の形態１に係る巡回送信予定ブロック選定処理Ｓ３９０を示すフロー図。
【図８】実施の形態１に係るブロック送信処理Ｓ１０７を示すフロー図。
【図９】実施の形態１の変形例に係る画像処理装置１００の構成図。
【図１０】実施の形態２に係る画像送信処理Ｓ１００ａの構成図。
【図１１】実施の形態３に係るブロック送信処理Ｓ１０７ｂを示すフロー図。
【図１２】実施の形態４に係る画像処理装置１００ｃの構成図。
【図１３】実施の形態４に係る差分ブロック選定処理Ｓ１０５ｃを示すフロー図。
【図１４】実施の形態４に係る巡回送信予定ブロック選定処理Ｓ３９０ｃを示すフロー図。
【図１５】実施の形態５に係る画像処理装置１００ｄの構成図。
【図１６】実施の形態５に係る画像送信処理Ｓ１００ｄを示すフロー図。
【図１７】実施の形態４に係る画像処理装置１００ｃの画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００ｃを示すフロー図。
【図１８】実施の形態６に係る画像処理装置１００ｅの画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００ｅを示すフロー図。
【図１９】実施の形態６に係る差分ブロック選定処理Ｓ１０５と巡回ブロック選定処理Ｓ１０６の具体例について説明する図。
【図２０】実施の形態７に係る巡回ブロック選定処理Ｓ１０６ｆのフロー図。
【発明を実施するための形態】
【０００９】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を用いて、本実施の形態に係る画像処理装置１００の構成について説明する。
本実施の形態において、画像処理装置１００は、コンピュータである。画像処理装置１００は、プロセッサ９１０、記憶装置９２０、入力インタフェース９３０、出力インタフェース９４０、通信装置９５０といったハードウェアを備える。記憶装置９２０は、メモリ９２１と補助記憶装置９２２とを有する。
【００１０】
画像処理装置１００は、機能構成として、キャプチャ部１１０と、ブロック分割部１２０と、差分検出部１３０と、差分ブロック選定部１４０と、符号化部１５０と、巡回ブロック選定部１６０と、ブロック送信部１７０と、差分マップ記録部１８３と、巡回マップ記録部１８４と、記憶部１８０とを備える。
以下の説明では、画像処理装置１００におけるキャプチャ部１１０と、ブロック分割部１２０と、差分検出部１３０と、差分ブロック選定部１４０と、符号化部１５０と、巡回ブロック選定部１６０と、ブロック送信部１７０と、差分マップ記録部１８３と、巡回マップ記録部１８４との機能を、画像処理装置１００の「部」の機能という。
画像処理装置１００の「部」の機能は、ソフトウェアで実現される。
【００１１】
また、記憶部１８０は、記憶装置９２０で実現される。記憶部１８０は、キャプチャ画像８１１と前回キャプチャ画像８１２とを記憶する画像記憶部１８１と、ブロック画像８２１と前回ブロック画像８２２とを記憶するブロック記憶部１８２とを有する。また、記憶部１８０は、ブロック状態情報８５１を記憶するブロック状態記憶部１８５を有する。ブロック状態情報８５１は、差分マップ８３１と巡回マップ８４１とを有する。
【００１２】
プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ９１０は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０は、具体的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等である。
【００１３】
記憶装置９２０は、メモリ９２１及び補助記憶装置９２２を含む。補助記憶装置９２２は、具体的には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、又は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。メモリ９２１は、具体的には、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。本実施の形態では、記憶部１８０は、メモリ９２１により実現される。なお、記憶部１８０は、補助記憶装置９２２により実現されてもよいし、メモリ９２１と補助記憶装置９２２とにより実現されていてもよい。記憶部１８０の実現方法は任意である。
【００１４】
入力インタフェース９３０は、マウス、キーボード、タッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ端子である。なお、入力インタフェース９３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
出力インタフェース９４０は、ディスプレイ装置といった表示機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイ装置は、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。なお、出力インタフェース９４０は、プリンタ装置といった出力装置に接続されていてもよい。
【００１５】
通信装置９５０は、レシーバ９５１とトランスミッタ９５２とを備える。具体的には、通信装置９５０は通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。通信装置９５０はデータを通信する通信部として機能する。レシーバ９５１はデータを受信する受信機器であり、トランスミッタ９５２はデータを送信する送信機器である。
【００１６】
補助記憶装置９２２には、「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリ９２１にロードされ、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。補助記憶装置９２２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。ＯＳの少なくとも一部がメモリ９２１にロードされ、プロセッサ９１０はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
【００１７】
画像処理装置１００は、プロセッサ９１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ９１０と同じように、プロセッシングを行うＩＣである。
【００１８】
「部」の機能による処理の結果を示す情報、データ、信号値、及び、変数値は、メモリ９２１、補助記憶装置９２２、又は、プロセッサ９１０内のレジスタ又はキャッシュメモリに記憶される。なお、図１において、各部と記憶部１８０とを結ぶ矢印は、各部が処理の結果を記憶部１８０に記憶すること、或いは、各部が記憶部１８０から情報を読み出すことを表している。また、各部を結ぶ矢印は、制御の流れを表している。
【００１９】
「部」の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）といった可搬記録媒体に記憶されてもよい。
なお、「部」の機能を実現するプログラムを画像処理プログラム５２０ともいう。画像処理プログラム５２０は、「部」として説明している機能を実現するプログラムである。また、画像処理プログラムプロダクトと称されるものは、画像処理プログラム５２０が記録された記憶媒体及び記憶装置であり、見た目の形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。
【００２０】
＊＊＊機能構成の説明＊＊＊
キャプチャ部１１０は、キャプチャを実行することによりキャプチャ画像８１１を取得し、記憶部１８０に記憶する。キャプチャ画像８１１は、順次配信される複数の画像のうちの配信する配信画像８１０の一例である。
具体的には、キャプチャ部１１０は、記憶部１８０に記憶されている任意のアプリケーションの実行画面を、記憶部１８０の領域にキャプチャ画像８１１としてコピーする。例えば、画像処理装置１００は、アプリケーションを実行するアプリケーション実行部を有する。画像処理装置１００は、入力インタフェース９３０或いはレシーバ９５１を介して、ユーザからの入力を受け付け、アプリケーション実行部にて実行しているアプリケーションにユーザからの入力を渡す。アプリケーション実行部は、ユーザからの入力に基づき、アプリケーションを実行し、アプリケーションの実行画面を生成する。キャプチャ部１１０は、アプリケーション実行部により生成されたアプリケーションの実行画面をキャプチャする。キャプチャ部１１０は、キャプチャを行うタイミング及びキャプチャ対象を、ユーザからの入力又は外部の設定ファイルの読み込み等により取得する。
なお、キャプチャ部１１０は、キャプチャ画像８１１を入力インタフェース９３０或いはレシーバ９５１を介して取得してもよい。
また、画像記憶部１８１には、キャプチャ部１１０により取得されたキャプチャ画像８１１と、キャプチャ部１１０により前回取得された前回キャプチャ画像８１２とが記憶されている。前回キャプチャ画像８１２は、配信画像８１０と比較する比較画像８２０の一例である。
キャプチャ部１１０は、差分マップ記録部１８３から各差分ブロックの状態を取得すると共に、巡回マップ記録部１８４から各巡回ブロックの状態を取得し、キャプチャを実行するか否かを判定する。
【００２１】
ブロック分割部１２０は、キャプチャ画像８１１を複数のブロックに分割する。分割方法はユーザ又は設定ファイルにより指定され、縦方向に１回以上、横方向に１回以上分割する。また、縦方向のみ或いは横方向のみに分割してもよい。
ブロック分割部１２０は、ブロック状に分割したキャプチャ画像８１１をブロック画像８２１としてブロック記憶部１８２に記憶する。
なお、ブロック記憶部１８２には、ブロック分割部１２０により分割されたブロック画像８２１と、ブロック分割部１２０により前回キャプチャ画像８１２が分割された前回ブロック画像８２２とが記憶されている。ブロック画像８２１は、複数のブロックに分割された配信画像８１０の一例である。また、前回ブロック画像８２２は、複数のブロックに分割された比較画像８２０の一例である。
具体的には、ブロック分割部１２０は、ブロック記憶部１８２に記憶されているキャプチャ画像８１１を読みだして、プロセッサ９１０を用いて複数のブロックに分割し、ブロック画像８２１としてブロック記憶部１８２に再度記憶する。
【００２２】
差分検出部１３０は、ブロック画像８２１と前回ブロック画像８２２とをブロック毎に比較し、複数のブロックから前回ブロック画像８２２と差分のあるブロックを差分ブロックとして検出する。差分検出部１３０は、ブロック毎の判定結果に基づいて、差分マップ記録部１８３に対し、差分マップ８３１の各ブロックへの状態書込み命令を発行する。
具体的には、差分検出部１３０は、ブロック画像８２１と前回ブロック画像８２２とをブロック記憶部１８２から読み出し、プロセッサ９１０を用いてブロック画像８２１と前回ブロック画像８２２とをピクセル単位で比較する。
【００２３】
ブロック状態記憶部１８５は、複数のブロックの各ブロックの状態が記録されるブロック状態情報８５１を記憶する。ブロック状態記憶部１８５は、ブロック状態情報８５１として、後述する差分ブロックの状態が記録される差分マップ８３１と、後述する巡回ブロックの状態が記録される巡回マップ８４１とを有する。
差分マップ記録部１８３は、ブロック状態記憶部１８５に記憶されている差分マップ８３１に対して、指定されたブロックの状態を指定された状態に変更する。差分マップ記録部１８３は、差分検出部１３０、差分ブロック選定部１４０及びブロック送信部１７０からブロック毎の状態書き込み命令を受け、その命令をもとに差分マップ８３１の各ブロックの状態を変化させる。
【００２４】
図２を用いて、本実施の形態に係る差分マップ８３１における各ブロックの状態遷移について説明する。
通常状態２０１は、ブロックが初期値であることを示す。
差分検出状態２０２は、ブロックに差分があることを示す。差分検出部１３０が、ブロック画像８２１と前回ブロック画像８２２とを比較し、あるブロックで差分を検出した場合に、そのブロックには差分検出状態２０２が記録される。また、差分検出部１３０で差分が無いと判定されたブロックのうち、差分送信予定状態２０３となっているブロックに対しても差分検出状態２０２が記録される。
差分送信予定状態２０３は、そのブロックがブロック送信部１７０にて送信される予定であることを示す。差分送信予定状態２０３への状態遷移は、差分ブロック選定部１４０の処理の結果に応じて行われる。
通常状態２０１は差分検出状態２０２に遷移可能である。差分検出状態２０２は差分送信予定状態２０３に遷移可能である。差分送信予定状態２０３は通常状態２０１に遷移可能である。差分送信予定状態２０３は差分検出状態２０２へ遷移可能である。状態遷移は、例えば、フラグを用いて記憶される。
【００２５】
差分ブロック選定部１４０は、差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロック２０３１として選定する。
具体的には、差分ブロック選定部１４０は、ブロック画像８２１と差分マップ８３１とを取得する。差分ブロック選定部１４０は、ブロック画像８２１と差分マップ８３１とに基づいて、ブロック画像８２１を巡回しながら各ブロックについて差分送信予定状態２０３であるかどうかを判定し、新たに差分送信予定状態２０３となった差分送信予定ブロック２０３１を差分マップ８３１に対して記録する。すなわち、差分送信予定ブロック２０３１とは、差分マップ８３１において差分送信予定状態２０３となっているブロックである。差分ブロック選定部１４０は、符号化部１５０に対して処理対象のブロックを出力し、符号化部１５０から符号化済みのブロックを受け取る。差分ブロック選定部１４０は、符号化済みのブロックの符号量に基づいて、差分送信予定ブロック２０３１を選定する。差分ブロック選定部１４０は、巡回ブロック選定部１６０へ、ブロック画像８２１と、差分送信予定ブロック２０３１が符号化された差分符号化ブロック１４０１とを出力する。又は、差分ブロック選定部１４０は、巡回ブロック選定部１６０へ、差分送信予定ブロック２０３１が符号化された差分符号化ブロック１４０１と、差分符号化ブロック１４０１部分を除いたブロック画像８２１とを出力してもよい。
【００２６】
巡回ブロック選定部１６０は、差分ブロック選定部１４０から、ブロック画像８２１と符号化された差分符号化ブロック１４０１とを受け取る。巡回ブロック選定部１６０は、ブロック画像８２１のブロックを巡回しながら各ブロックについて巡回送信予定状態３０２であるかどうかを判定し、巡回マップ８４１に、新たに巡回送信予定状態３０２と判定されたブロック（巡回送信予定ブロック３０２１）を記録する。
巡回ブロック選定部１６０は、複数のブロックのうち１以上の差分送信予定ブロック２０３１以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロック３０２１として選定する。このとき、１以上の巡回送信予定ブロック３０２１は、各々を符号化した符号量の合計値が下限値Ｙと上限値Ｚの範囲内となる。巡回ブロック選定部１６０は、符号化部１５０に対して処理対象のブロックを出力し、符号化部１５０から符号化済みのブロックを受け取る。巡回ブロック選定部１６０は、符号化済みのブロックの符号量に基づいて、巡回送信予定ブロック３０２１を選定する。
【００２７】
図３を用いて、本実施の形態に係る巡回マップ８４１における各ブロックの状態遷移について説明する。
巡回マップ８４１は、巡回マップ記録部１８４によりブロック毎に記録される。
未送信状態３０１は、ブロックの初期値を示す。
巡回送信予定状態３０２は、ブロック送信部１７０により送信する予定のブロックであることを示す。すなわち、巡回送信予定ブロック３０２１の状態は巡回送信予定状態３０２である。巡回マップ８４１は、巡回ブロック選定部１６０の処理結果に応じて状態変化する。送信済み状態３０３はブロック送信部１７０にて送信処理をしたブロックであることを示す。未送信状態３０１は巡回送信予定状態３０２に遷移可能である。また、巡回送信予定状態３０２は送信済み状態３０３に遷移可能である。送信済み状態３０３は未送信状態３０１に遷移可能である。状態遷移は、例えば、フラグを用いて記憶される。
【００２８】
また、巡回マップ記録部１８４は、ブロック状態記憶部１８５に記憶されている巡回マップ８４１に対して、指定されたブロックの状態を指定された状態に変更する。巡回マップ記録部１８４は、巡回ブロック選定部１６０及びブロック送信部１７０から巡回マップ８４１への各ブロックの状態の書き込み命令を受け、その命令をもとに対応するブロックの状態を変化させる。巡回マップ記録部１８４は、巡回ブロック選定部１６０、ブロック送信部１７０に対して、問い合わせのあったブロックの状態を出力する。
【００２９】
符号化部１５０は、１以上の差分送信予定ブロック２０３１と１以上の巡回送信予定ブロック３０２１とを、１以上の差分符号化ブロック１４０１と１以上の巡回符号化ブロック１６０１として符号化する。すなわち、符号化部１５０は、差分ブロック選定部１４０及び巡回ブロック選定部１６０から未符号化のブロックを受け取り、符号化処理をして、符号化済みのブロックを返す。なお、符号化部１５０は、圧縮部ともいう。符号化部１５０は、差分ブロック選定部１４０及び巡回ブロック選定部１６０から未圧縮のブロックを受け取り、圧縮処理をして、圧縮済みのブロックを返す。すなわち、符号化には圧縮が含まれる。
符号化部１５０において利用可能な符号化アルゴリズムは、例えば、ＲＬＥ（Ｒｕｎ−Ｌｅｎｇｔｈ  Ｅｎｃｏｄｉｎｇ）やＺＲＬＥ（Ｚｌｉｂ−Ｒｕｎ−Ｌｅｎｇｔｈ  Ｅｎｃｏｄｉｎｇ）、ＪＰＥＧ２０００（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２０００）等が挙げられる。なお、利用可能なアルゴリズムは、上記に限らない。
【００３０】
ブロック送信部１７０は、符号化部１５０により符号化された１以上の差分符号化ブロック１４０１と１以上の巡回符号化ブロック１６０１とを送信する送信処理を実行する。ブロック送信部１７０は、差分マップ８３１と巡回マップ８４１とに基づいて、記憶部１８０に記憶されている１以上の差分符号化ブロック１４０１と１以上の巡回符号化ブロック１６０１とから処理対象の符号化されたブロックを読み出す。ブロック送信部１７０は、読み出した符号化されたブロックを、プロセッサ９１０を用いてパケット化する。ブロック送信部１７０は、パケット化した符号化されたブロックを、トランスミッタ９５２を介してパケット単位で送信する。
【００３１】
＊＊＊動作の説明＊＊＊
次に、図４を用いて、本実施の形態に係る画像処理装置１００の画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００について説明する。
画像送信処理Ｓ１００は、ループ端Ｓ１０１に囲まれた処理を繰り返し実行する。
【００３２】
ステップＳ１０２において、キャプチャ部１１０は、差分マップ８３１と巡回マップ８４１とに基づいて、差分マップ８３１と巡回マップ８４１とに差分送信予定状態２０３又は巡回送信予定状態３０２のブロックがあるか否かを判定する。キャプチャ部１１０は、差分送信予定状態２０３又は巡回送信予定状態３０２のブロックがある場合には、キャプチャを実行せずに差分送信予定状態２０３又は巡回送信予定状態３０２のブロックを送信する指示をブロック送信部１７０に出力する。
具体的には、キャプチャ部１１０は、画面のキャプチャを実行するか否かを判定するために、送信予定状態のブロック、すなわち差分送信予定状態２０３のフラグがオン又は巡回送信予定状態３０２のフラグがオンのブロックがあるかどうかを、差分マップ記録部１８３及び巡回マップ記録部１８４に問い合わせる。送信予定状態のブロックがない場合、キャプチャ部１１０は、ステップＳ１０３に処理を進め、画面のキャプチャを実行し、キャプチャ画像８１１を画像記憶部１８１に記憶する。送信予定状態のブロックがある場合、キャプチャ部１１０は、ブロック送信処理Ｓ１０７に処理を進める。なお、送信予定状態のブロックがある場合とは、ブロック送信処理Ｓ１０７中に何らかの原因により処理が中断された等の理由により、送信予定状態のブロックが残っている場合等である。
【００３３】
ステップＳ１０４において、ブロック分割部１２０は、キャプチャ部１１０によりキャプチャされたキャプチャ画像８１１をブロック状に分割し、ブロック画像８２１としてブロック記憶部１８２に記憶する。キャプチャ画像８１１の分割数はユーザ指定が可能である。また、分割されたブロックにはそれぞれ、重複が発生しないようにしてブロック番号が割り当てられる。ブロック番号を割り当てる方法としては、例えば左上ブロックを１番として、右方向へ横一列に番号を１ずつ増加させていき、右端に到着したら一段下の段の最も左のブロックから再度１ずつ増加させながら番号をふっていく方法がある。
【００３４】
＜差分ブロック選定処理Ｓ１０５＞
次に、差分ブロック選定処理Ｓ１０５に進む。差分ブロック選定処理Ｓ１０５では、送信する差分ブロックの選定及び符号化を実行する。
【００３５】
図５を用いて、本実施の形態に係る差分ブロック選定処理Ｓ１０５について説明する。
図５のループ端Ｓ２０１に囲まれたステップＳ２０２からステップＳ２０４の処理は分割された全ブロックに対して実行される。処理の開始はどのブロックからでも良く、また処理する順番も任意である。また、本処理は差分検出部１３０により実行される。差分検出部１３０は、全ブロックについてステップＳ２０２からステップＳ２０４の処理が完了したら、ステップＳ２０５に処理を進める。
【００３６】
ステップＳ２０２において、差分検出部１３０は、ブロック画像８２１と前回ブロック画像８２２とをブロック記憶部１８２から取得する。差分検出部１３０は、処理対象のブロックについて、ブロック画像８２１と前回ブロック画像８２２とに差分があるか否かを判定する。ここで、前回ブロック画像８２２と差分があるブロックを差分ブロックという。差分検出部１３０は、ブロック画像８２１と前回ブロック画像８２２との各々の処理対象のブロックについて、ブロック内のピクセル毎に比較する。差分検出部１３０は、比較の結果１ピクセルでも異なっていた場合は、処理対象のブロックを差分検出状態２０２にする。差分検出部１３０は、比較の結果全ピクセルが同一であった場合は、処理をステップ２０３に進める。
【００３７】
ステップＳ２０３において、差分検出部１３０は、ステップＳ２０２で全ピクセルが同一となった場合、処理対象のブロックについて差分送信予定状態２０３のフラグがオンとなっているか否かを判定する。処理対象のブロックが差分送信予定状態２０３であった場合、処理はステップＳ２０４に進む。処理対象のブロックが差分送信予定状態２０３以外の状態であった場合、差分検出部１３０は、処理対象のブロックに対しての処理を終了し、次のブロックに処理を進める。
【００３８】
なお、差分検出部１３０は、ステップＳ２０２及びステップＳ２０３の処理について、どちらを先に実行してもよい。図５の例では、差分検出部１３０は、ステップＳ２０２を先に実行している。ステップＳ２０３を先に実行する場合は、差分検出部１３０は、ステップＳ２０３の分岐でＮＯとなった場合にステップＳ２０２に処理を進め、ＹＥＳとなった場合にステップＳ２０４に処理を進める。この場合、差分検出部１３０は、ステップＳ２０２でＹＥＳとなった場合にステップＳ２０４に処理を進め、ステップＳ２０２でＮＯとなった場合に次のブロックへと処理を進める。
【００３９】
ステップＳ２０４において、差分検出部１３０は、処理対象のブロックについて差分検出状態２０２のフラグをオンにし、次のブロックへ処理を進める。
【００４０】
ステップＳ２０５において、差分ブロック選定部１４０は、差分送信予定状態２０３となったブロックの符号化後の符号量の合計値を示すＳｕｍＤｉｆｆを初期化して０にする。
【００４１】
次に、差分ブロック選定部１４０は、ループ端Ｓ２０６で囲まれたステップＳ２０７からステップＳ２１０までの処理を実行する。差分ブロック選定部１４０は、ループ端Ｓ２０６で囲まれた処理は、フラグが差分検出状態２０２となっているブロックに対して実行される。この処理（ステップＳ２０７からステップＳ２１０までの処理）が初めて実行される場合、すなわちキャプチャ画像８１１が１フレーム目の場合、処理の開始位置は最も左上に存在し、かつフラグが差分検出状態２０２となっているブロックである。その後、キャプチャ画像８１１が２フレーム目以降の場合、処理の開始位置は、前回、巡回送信予定状態３０２となった最後のブロックよりも後で、かつ最も近いフレーム番号を持つ差分検出状態２０２のブロックからとなる。
【００４２】
ステップＳ２０７において、差分ブロック選定部１４０は、差分検出状態２０２である処理対象のブロック（差分ブロックとする）を符号化部１５０に受け渡し、符号化をする。符号化部１５０は、差分ブロックを利用可能な符号化アルゴリズムを用いて符号化すると共に、符号化後の符号量のサイズＤｉｆｆを算出する。符号化部１５０は、符号化済みの差分ブロックを符号化差分ブロックとして出力すると共に、符号化差分ブロックのサイズＤｉｆｆを出力する。すなわち、符号化部１５０は、符号化差分ブロックとそのサイズＤｉｆｆを差分ブロック選定部１４０に受け渡す。
【００４３】
ステップＳ２０８において、差分ブロック選定部１４０は、ＳｕｍＤｉｆｆとＤｉｆｆとの合計値が差分閾値Ｘを上回っているか否かを判定する。ここで、差分閾値Ｘは１回のキャプチャで送信可能な符号化された差分ブロックの合計値の上限値（上限サイズといもいう）である。ＳｕｍＤｉｆｆとＤｉｆｆとの合計値が差分閾値Ｘを上回っていた場合、差分ブロック選定部１４０は、次の差分ブロックに処理を進める。ＳｕｍＤｉｆｆとＤｉｆｆとの合計値が差分閾値Ｘ以下だった場合、差分ブロック選定部１４０は、ステップＳ２０９に処理を進める。
【００４４】
ステップＳ２０９において、差分ブロック選定部１４０は、差分マップ記録部１８３を通して、差分ブロックのフラグを差分送信予定状態２０３にする。ステップＳ２０７において符号化部１５０により出力された符号化差分ブロックは、送信予定の符号化差分ブロック、すなわち差分符号化ブロック１４０１となる。
【００４５】
ステップＳ２１０において、差分ブロック選定部１４０は、ＳｕｍＤｉｆｆの現在値にＤｉｆｆの値を加算する。
【００４６】
以上で、差分ブロック選定処理Ｓ１０５は完了である。差分ブロック選定処理Ｓ１０５では、最終的に差分ブロック選定部１４０から巡回ブロック選定部１６０に対して、分割されたキャプチャ画像（すなわち、ブロック画像８２１）、符号化差分ブロックのうち差分送信予定状態２０３となった差分符号化ブロック１４０１及びＳｕｍＤｉｆｆの値が出力される。又は、差分符号化ブロック１４０１を除くブロック画像８２１、差分符号化ブロック１４０１及びＳｕｍＤｉｆｆの値が出力されるとしてもよい。
以上のように、差分ブロック選定部１４０は、差分検出部１３０により検出された差分ブロックから、差分送信予定状態２０３となる１以上の差分送信予定ブロック２０３１を選定する。差分ブロック選定部１４０は、差分ブロックを符号化部１５０に出力し、符号化部１５０から符号化された差分ブロックである符号化差分ブロックと符号化差分ブロックのデータサイズとを取得する。差分ブロック選定部１４０は、符号化差分ブロックのデータサイズに基づいて１以上の差分送信予定ブロック２０３１を選定する。また、差分ブロック選定部１４０は、１以上の差分送信予定ブロック２０３１を選定した場合に、１以上の差分送信予定ブロック２０３１の各々の状態を差分送信予定状態２０３として差分マップ８３１に記録する。なお、差分ブロック選定部１４０は、差分ブロックから、各々を符号化した符号量の合計値が差分閾値Ｘを超えない１以上の差分送信予定ブロック２０３１を選定する。そして、差分ブロック選定部１４０は、１以上の差分送信予定ブロック２０３１が符号化された１以上の差分符号化ブロック１４０１を出力する。
【００４７】
＜巡回ブロック選定処理Ｓ１０６＞
次に、図４の巡回ブロック選定処理Ｓ１０６に進む。巡回ブロック選定処理Ｓ１０６では、送信する巡回ブロックの選定及び符号化を実行する。
【００４８】
図６を用いて、本実施の形態に係る巡回ブロック選定処理Ｓ１０６について説明する。
まず、ステップＳ３０１において、巡回ブロック選定部１６０は、ＳｕｍＲｎｄを初期化して０にする。ＳｕｍＲｎｄは巡回送信予定状態３０２となったブロックの符号化後の符号量の合計値を示す。
【００４９】
図６のループ端Ｓ３０２に囲まれたステップＳ３０３の巡回送信予定ブロック選定処理Ｓ３９０は全ブロックに対して実行される。
巡回ブロック選定部１６０は、差分ブロック選定部１４０から、分割されたキャプチャ画像（すなわち、ブロック画像８２１）、差分が検出された一部の符号化されたブロック（すなわち、差分符号化ブロック１４０１）及びＳｕｍＤｉｆｆの値を受け取る。ループ端Ｓ３０２に囲まれたステップＳ３０３では、巡回ブロック選定部１６０は、受け取ったブロック画像８２１に対して、最も左上に位置するブロックから処理を開始する。処理の順番はブロック番号と一致する。
【００５０】
ステップＳ３０３において、巡回ブロック選定部１６０は、巡回送信予定ブロック選定処理Ｓ３９０を実行する。
図７を用いて、本実施の形態に係る巡回送信予定ブロック選定処理Ｓ３９０について詳しく説明する。
【００５１】
＜巡回送信予定ブロック選定処理Ｓ３９０＞
ステップＳ４０１において、巡回ブロック選定部１６０は、差分マップ８３１及び巡回マップ８４１を参照し、処理対象のブロックの状態を判定する。巡回ブロック選定部１６０は、処理対象のブロックの状態を、差分マップ記録部１８３及び巡回マップ記録部１８４を通して取得する。巡回ブロック選定部１６０は、処理対象のブロックの状態が差分送信予定状態２０３又は巡回送信予定状態３０２となっている、又は送信済み状態３０３となっている場合はステップＳ４０２以降の処理をせずに、次のブロックに処理を進める。巡回ブロック選定部１６０は、全てがＮＯとなった場合、すなわち処理対象のブロックの状態が差分送信予定状態２０３ではなく、かつ、巡回送信予定状態３０２ではなく、かつ、送信済み状態３０３ではない場合、ステップＳ４０２以降の処理を実行する。
ここで、複数のブロックのうち１以上の差分送信予定ブロック２０３１（すなわち、差分送信予定状態２０３のフラグがオンのブロック）以外のブロックを巡回ブロックとする。巡回ブロックには、差分送信予定状態２０３ではなく、かつ、巡回送信予定状態３０２ではなく、かつ、送信済み状態３０３ではないブロックが含まれる。
【００５２】
ステップＳ４０２において、巡回ブロック選定部１６０は、処理対象のブロック、すなわち巡回ブロックを符号化部１５０に渡す。符号化部１５０は、巡回ブロックを利用可能な符号化アルゴリズムを用いて符号化すると共に、符号化後のサイズ（Ｒｎｄとする）を算出する。符号化部１５０は、符号化済みの巡回ブロックを符号化巡回ブロックとして出力すると共に、符号化巡回ブロックのサイズＲｎｄを出力する。すなわち、符号化部１５０は、符号化巡回ブロックとそのサイズＲｎｄを巡回ブロック選定部１６０に渡す。
【００５３】
巡回ブロック選定部１６０は、符号化巡回ブロック及び符号化巡回ブロックのサイズＲｎｄを受け取り、２つの条件分岐処理（ステップＳ４０３及びステップＳ４０４）を実行する。
ステップＳ４０３において、巡回ブロック選定部１６０は、ＳｕｍＤｉｆｆと、ＳｕｍＲｎｄと、Ｒｎｄとの合計値を求め、その値が差分閾値Ｘと下限値Ｙとの合計値以下か否かを判定する。ここで、下限値Ｙは１回のキャプチャにて送信可能な符号化された巡回ブロックの下限サイズである。ＳｕｍＤｉｆｆと、ＳｕｍＲｎｄと、Ｒｎｄとの合計値が差分閾値Ｘと下限値Ｙとの合計値以下の場合は処理をステップＳ４０４に進める。そうでない場合はステップＳ４０４以降の処理をせずに、巡回送信予定ブロック選定処理Ｓ３９０を終了する。
ステップＳ４０４において、巡回ブロック選定部１６０は、ＳｕｍＲｎｄと、Ｒｎｄとの合計が上限値Ｚ以下か否かを判定する。ここで、上限値Ｚは１回のキャプチャにて送信可能な符号化された巡回ブロックの上限サイズである。ＳｕｍＲｎｄとＲｎｄとの合計値が上限値Ｚ以下の場合は、処理をステップＳ４０５に進める。そうでない場合は、ステップＳ４０５以降の処理をせずに、巡回送信予定ブロック選定処理Ｓ３９０を終了する。
【００５４】
ステップＳ４０５において、巡回ブロック選定部１６０は、巡回マップ記録部１８４を通して、処理対象の巡回ブロックの巡回送信予定状態３０２のフラグをオンにする。ここで、巡回送信予定状態３０２となった処理対象の巡回ブロックは、巡回送信予定ブロック３０２１である。また、巡回送信予定ブロック３０２１が符号化されたブロックは、巡回符号化ブロック１６０１である。
【００５５】
ステップＳ４０６において、巡回ブロック選定部１６０は、ＳｕｍＲｎｄにＲｎｄの値を加算する。
【００５６】
以上で、巡回送信予定ブロック選定処理Ｓ３９０は完了である。ステップＳ３０３の処理では最終的に巡回送信予定状態３０２となるブロックを選定し、そのブロックの状態を巡回送信予定状態３０２とする。
【００５７】
次に、図６に戻り説明を続ける。
ステップＳ３０４において、巡回ブロック選定部１６０は、ＳｕｍＲｎｄと下限値Ｙとの比較をする。巡回ブロック選定部１６０は、比較の結果、ＳｕｍＲｎｄが下限値Ｙ以下だった場合は処理をステップＳ３０５に進める。ＳｕｍＲｎｄが下限値Ｙを上回っていた場合は巡回ブロック選定処理Ｓ１０６を終了する。
【００５８】
ステップＳ３０５以降の処理は、巡回マップ８４１のすべてのブロックが巡回送信予定状態３０２又は送信済み状態３０３となっている場合で、かつ、これまでの処理で差分送信予定状態２０３又は巡回送信予定状態３０２となったブロックの合計値が、送信許容サイズの差分閾値Ｘと下限値Ｙの合計値以下となった場合に行う。
【００５９】
まず、ステップＳ３０５において、巡回ブロック選定部１６０は、巡回マップ記録部１８４を通して、巡回マップ８４１において送信済み状態３０３がオンとなっている全てのブロックについて、送信済み状態３０３を未送信状態３０１にする。
【００６０】
その後、巡回ブロック選定部１６０は、ループ端Ｓ３０６で囲まれたステップＳ３０７の処理を実行する。ステップＳ３０７の処理は、図７で説明した巡回送信予定ブロック選定処理Ｓ３９０である。ループ端Ｓ３０６におけるブロックの開始位置は、巡回送信予定状態３０２となっているブロックのうち、最大の番号となっているブロックの次のブロックである。
ステップＳ３０７において、巡回ブロック選定部１６０は、巡回送信予定状態３０２となっているブロックのうち、最大の番号となっているブロックの次のブロックから巡回送信予定ブロック選定処理Ｓ３９０を開始する。巡回送信予定ブロック選定処理Ｓ３９０については図７で説明したものと同一である。
【００６１】
以上で、図６の巡回ブロック選定処理Ｓ１０６の説明を終わる。巡回ブロック選定処理Ｓ１０６では、最終的に巡回送信予定状態３０２となるブロックの符号量の合計値が、予め設定された上限値Ｚ以下かつ下限値Ｙ以上となり、それらブロックの状態が巡回送信予定状態３０２となる。
以上のように、巡回ブロック選定部１６０は、複数のブロックのうち１以上の差分送信予定ブロック２０３１以外のブロックである巡回ブロックから、符号化して送信する１以上の巡回送信予定ブロック３０２１を選定する。巡回ブロック選定部１６０は、巡回ブロックを符号化部１５０に出力し、符号化部１５０から符号化された巡回ブロックである符号化巡回ブロックと符号化巡回ブロックのデータサイズとを取得する。巡回ブロック選定部１６０は、符号化巡回ブロックのデータサイズに基づいて、１以上の巡回送信予定ブロック３０２１を選定する。また、巡回ブロック選定部１６０は、１以上の巡回送信予定ブロック３０２１を選定した場合に、１以上の巡回送信予定ブロック３０２１の各々の状態を巡回送信予定状態３０２として巡回マップ８４１に記録する。なお、１以上の巡回送信予定ブロック３０２１の各々を符号化した符号量の合計値は下限値Ｙと上限値Ｚの範囲内となる。
【００６２】
＜ブロック送信処理Ｓ１０７＞
次に、図４に戻り説明を続ける。
巡回ブロック選定処理Ｓ１０６の処理の後はブロック送信処理Ｓ１０７に処理を進める。ブロック送信処理Ｓ１０７では、ブロック送信部１７０は、符号化部１５０により符号化された１以上の差分符号化ブロック１４０１と１以上の巡回符号化ブロック１６０１とを送信する送信処理を実行する。ブロック送信部１７０は、送信処理により一度に送信できる符号量が符号量閾値までの１以上の差分符号化ブロックと１以上の巡回符号化ブロックとであるものとする。すなわち、上述した差分閾値Ｘと上限値Ｚとを加算した値はこの符号量閾値以下となる必要がある。
【００６３】
図８を用いて、本実施の形態に係るブロック送信処理Ｓ１０７について説明する。
ブロック送信処理Ｓ１０７は、差分送信予定状態２０３又は巡回送信予定状態３０２となったブロックを送信する処理である。ブロック送信処理Ｓ１０７は、ループ端Ｓ５０１で囲まれたステップＳ５０２からステップＳ５０６までの処理を実行する。ブロック送信処理Ｓ１０７は、開始位置を左上ブロックとした、各ブロックに対するループ処理である。
【００６４】
まず、ステップＳ５０２において、ブロック送信部１７０は、処理対象のブロックが差分送信予定状態２０３か否かを判定する。差分送信予定状態２０３である場合、ステップＳ５０４に処理を進める。そうでない場合、ステップＳ５０３に処理を進める。
ステップＳ５０３において、ブロック送信部１７０は、処理対象のブロックが巡回送信予定状態３０２か否かを判定する。巡回送信予定状態３０２の場合、ステップＳ５０４に処理を進める。そうでない場合、ステップＳ５０３以降の処理は行わず、次のブロックについての処理を行う。
【００６５】
ステップＳ５０４において、ブロック送信部１７０は、処理対象のブロックをパケット化し、送信処理を実行する。パケット化、送信処理に用いるプロトコルの例としてはＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等がある。
【００６６】
ステップＳ５０５において、ブロック送信部１７０は、差分マップ記録部１８３を通して、処理対象のブロックに対応する差分マップ８３１の状態を通常状態２０１にする。
さらに、ステップＳ５０６において、ブロック送信部１７０は、巡回マップ記録部１８４を通して、処理対象のブロックに対応する巡回マップ８４１の状態を送信済み状態３０３にする。
すなわち、ブロック送信部１７０は、１以上の差分符号化ブロック１４０１の各々と１以上の巡回符号化ブロック１６０１の各々との状態を送信済み状態３０３としてブロック状態情報８５１に記録する。
【００６７】
ブロック送信処理Ｓ１０７の後は、ステップＳ１０８において、画像処理装置１００は、次のキャプチャタイミングが来るまで待機する。キャプチャタイミングが来たかどうかの判定方法は、例えば、キャプチャを実行（ステップＳ１０３を実行）してからの経過時間が一定時間を過ぎるまで待機したかを判定する、等がある。
以上で、本実施の形態に係る画像送信処理Ｓ１００の説明を終わる。
【００６８】
＊＊＊他の構成＊＊＊
本実施の形態では、画像処理装置１００の「部」の機能がソフトウェアで実現されるが、変形例として、画像処理装置１００の「部」の機能がハードウェアで実現されてもよい。
図９を用いて、本実施の形態の変形例に係る画像処理装置１００の構成について説明する。
図９に示すように、画像処理装置１００は、処理回路９０９、入力インタフェース９３０、出力インタフェース９４０、通信装置９５０といったハードウェアを備える。
【００６９】
処理回路９０９は、前述した「部」の機能及び記憶部１８０を実現する専用の電子回路である。処理回路９０９は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ・Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ・Ｓｐｅｃｉｆｉｃ・Ｉｎｔｅｇｒａｔｅｄ・Ｃｉｒｃｕｉｔ）、又は、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ・Ｇａｔｅ・Ａｒｒａｙ）である。
【００７０】
画像処理装置１００は、処理回路９０９を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として「部」の機能が実現される。それぞれの処理回路は、処理回路９０９と同じように、専用の電子回路である。
【００７１】
別の変形例として、画像処理装置１００の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、画像処理装置の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【００７２】
プロセッサ９１０、記憶装置９２０、及び、処理回路９０９を、総称して「プロセッシングサーキットリ」という。つまり、画像処理装置の構成が図１及び図９のいずれに示した構成であっても、「部」の機能及び記憶部１８０は、プロセッシングサーキットリにより実現される。
【００７３】
「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
【００７４】
＊＊＊本実施の形態の効果の説明＊＊＊
以上のように、本実施の形態に係る画像処理装置１００では、１配信画面（１ピクチャ）あたりの符号量に上限である符号量閾値を設けている。全体の符号量が符号量閾値を超えそうになった場合は、符号量閾値を超えない範囲で符号化した１配信画面の一部のブロックを送信する。送信できなかったブロックは次回の１配信画面（１ピクチャ）の画像送信処理に持ち越す。本実施の形態に係る画像処理装置１００では、このときに符号化するブロックを巡回させながら選択するため、確実に全画面分のブロックを送信するができる。
【００７５】
また、本実施の形態に係る画像処理装置１００では、送信するデータを差分ブロックと巡回ブロックに分け、それぞれの合計データ量を送信毎に一定値以下に抑えることで、転送レートを安定させることができる。また、差分ブロックもデータをまるごと送信するため、差分ブロックと巡回ブロックの送信は同様に扱える。さらに、差分ブロックのデータ量が多くなった場合は、差分ブロックを毎フレームごとに巡回させながら送信する。これによって、差分ブロックのデータ量が多い場合でも確実に全画面を更新することができる。
【００７６】
実施の形態２．
＊＊＊構成の説明＊＊＊
本実施の形態では、主に、実施の形態１との差異について説明する。
本実施の形態において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
【００７７】
実施の形態１では、図４の画像送信処理Ｓ１００のステップＳ１０２において、送信予定状態のブロック、すなわち差分送信予定状態２０３又は巡回送信予定状態３０２がない場合に、画面のキャプチャを実行する処理であった。つまり、実施の形態１では、送信予定状態のブロックがある場合にはブロック送信処理Ｓ１０７を優先して実行しキャプチャは行わない。
本実施の形態では、送信予定状態のブロックがあっても画面を必ずキャプチャする画像送信処理Ｓ１００ａについて説明する。
【００７８】
＊＊＊動作の説明＊＊＊
図１０は、本実施の形態に係る画像送信処理Ｓ１００ａを示す図である。
図１０に示す画像送信処理Ｓ１００ａでは、図４に示すステップＳ１０２がない。それ以外は図４に示す画像処理装置１００の画像送信処理Ｓ１００と処理内容は同一である。
【００７９】
＊＊＊本実施の形態に係る効果の説明＊＊＊
以上のように、本実施の形態に係る画像送信処理Ｓ１００ａによれば、毎フレームごとに画面のキャプチャをするので、画像の変化が激しいときに画面の一部領域の更新が毎フレーム可能となる。
【００８０】
実施の形態３．
＊＊＊構成の説明＊＊＊
本実施の形態では、主に、実施の形態１との差異について説明する。
本実施の形態において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
【００８１】
実施の形態１では、図８のブロック送信処理Ｓ１０７において、差分送信予定状態２０３又は巡回送信予定状態３０２となっている全ブロックを送信していた。
本実施の形態では、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷（ＣＰＵ負荷）等により、送信を続けるか続けないかを判定することができるブロック送信処理Ｓ１０７ｂを有する画像送信処理Ｓ１００ｂについて説明する。本実施の形態のブロック送信処理Ｓ１０７ｂでは、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷（ＣＰＵ負荷）等が、予め定められた値よりも上回っているか否かを判定することにより、送信処理の続行を判定する。
また、本実施の形態では図４のＳ１０２での画面のキャプチャを実行するかしないかの条件分岐において、差分送信予定状態２０３又は巡回送信予定状態３０２のブロックの合計データ量がＸ＋Ｙを上回っているかどうかで判定する。Ｘ＋Ｙを上回っている場合はキャプチャを実行せずに差分送信予定状態２０３又は巡回送信予定状態３０２のブロックを送信する指示をブロック送信部１７０に出力し、Ｘ＋Ｙ以下の場合はキャプチャを実行し処理をＳ１０４に進める。上述したように、差分閾値Ｘは１回のキャプチャで送信可能な符号化された差分ブロックの合計値の上限サイズである。また、下限値Ｙは１回のキャプチャで送信可能な符号化された巡回ブロックの下限サイズである。
【００８２】
＊＊＊動作の説明＊＊＊
図４のＳ１０２での処理は具体的に、キャプチャ部１１０が画面のキャプチャを実行するか否かを判定するために、送信予定状態のブロック、すなわち差分送信予定状態２０３のフラグがオン又は巡回送信予定状態３０２のフラグがオンのブロックがあるかどうかを、差分マップ記録部１８３及び巡回マップ記録部１８４に問い合わせる。送信予定状態のブロック又は差分送信予定状態２０３のブロックがない、又は、あるがそのデータ量の合計がＸ＋Ｙ以下の場合、キャプチャ部１１０は、ステップＳ１０３に処理を進め、画面のキャプチャを実行し、キャプチャ画像８１１を画像記憶部１８１に記憶する。送信予定状態のブロックがあり、かつ、そのデータ量の合計がＸ＋Ｙを上回っている場合、キャプチャ部１１０は、ブロック送信処理Ｓ１０７ｂに処理を進める。
【００８３】
図１１は、本実施の形態に係るブロック送信処理Ｓ１０７ｂを示す図である。
図１１に示すブロック送信処理Ｓ１０７ｂでは、図８に示すブロック送信処理Ｓ１０７にステップＳ５０７及びステップＳ５０８が加わっている。それ以外は図８に示すブロック送信処理Ｓ１０７と処理内容は同一である。
ステップＳ５０７において、ブロック送信部１７０は、送信処理の実行中に送信処理を続行するか否かを判定し、送信処理を続行しないと判定した場合に、送信処理を中断する。具体的には、ブロック送信部１７０は、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷（ＣＰＵ負荷）等が、予め定められた値よりも上回っているか否かを判定することにより、送信を続けるか否かを判定する。送信を続けると判定した場合は、ステップＳ５０２に進み、送信を続けないと判定した場合は、ステップＳ５０８に処理を移す。
ステップ５０８において、巡回送信予定状態３０２がオンとなっているブロックが存在した場合は、該当するブロックの状態を未送信状態３０１に変更する。その後、ブロック送信処理Ｓ１０７ｂを終了する。
【００８４】
＊＊＊本実施の形態に係る効果の説明＊＊＊
以上のように、本実施の形態に係る画像送信処理Ｓ１００ｂによれば、送信処理を中断可能にすることでステップＳ５０４の送信処理自体の負荷やネットワーク負荷の調整が可能となる。
【００８５】
実施の形態４．
＊＊＊構成の説明＊＊＊
本実施の形態では、主に、実施の形態１との差異について説明する。
本実施の形態において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
【００８６】
実施の形態１では、データの符号化を差分ブロック選定部１４０及び巡回ブロック選定部１６０から符号化部１５０へブロックを渡すことで実行していた。
本実施の形態では、データの符号化はブロック分割部１２０からのみ行う方式について説明する。
【００８７】
図１２を用いて、本実施の形態に係る画像処理装置１００ｃの構成について説明する。
図１２の画像処理装置１００ｃにおいて、図１の画像処理装置１００と異なる点は、ブロック記憶部１８２に記憶されるデータが符号化ブロック画像８２１ｂと前回符号化ブロック画像８２２ｂという点である。ブロック分割部１２０は、未符号化のブロックを符号化部１５０に出力する。符号化部１５０は、ブロック分割部１２０からのみ未符号化のブロックを受け取り、符号化処理をして、符号化済みデータとそのデータサイズをブロック分割部１２０に出力する。符号化の方法は実施の形態１と同じである。符号化ブロック画像８２１ｂは、符号化済みデータとそのデータサイズである。
ブロック分割部１２０は、符号化部１５０から出力された符号化済みデータとそのデータサイズをブロック記憶部１８２に記憶する。ブロック記憶部１８２は、フレームをまたいで符号化済みデータ及びそのデータサイズを記憶してもよい。すなわち、ブロック記憶部１８２は、ブロック分割部１２０から出力された符号化済みデータ及びそのデータサイズを蓄積する。
【００８８】
＊＊＊動作の説明＊＊＊
図１７は、本実施の形態に係る画像処理装置１００ｃの画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００ｃを示す図である。図１３は、本実施の形態に係る差分ブロック選定処理Ｓ１０５ｃを示す図である。また、図１４は、本実施の形態に係る巡回送信予定ブロック選定処理Ｓ３９０ｃを示す図である。
図１７では実施の形態１の図４に対してステップＳ１００１が追加されている。図１３では、実施の形態１の図５に対してステップＳ７０１が追加され、ステップＳ２０７が削除されている点以外、図５と同じである。また、図１４では、実施の形態１の図７に対してステップＳ８０１が追加され、ステップＳ４０２が削除されている点以外、図７と同じである。
【００８９】
図１７の画像処理方法５１０では、図５の差分ブロック選定処理Ｓ１０５のステップＳ２０７で実施していた符号化を、ブロック分割部１２０によりステップＳ１００１にて実行している。ステップＳ１００１において、ブロック分割部１２０は符号化済みデータとそのデータサイズをブロック記憶部１８２に記録する。
図５のステップＳ２０７では符号化処理をしていたが、図１３のステップＳ７０１では、差分ブロック選定部１４０は、ブロック記憶部１８２から符号化済みデータ及びそのデータサイズを読み出す。すなわち、ステップＳ７０１において、差分ブロック選定部１４０は、差分ブロックが符号化された符号化差分ブロックと符号化差分ブロックのデータサイズとを、ブロック記憶部１８２から取得し、符号化差分ブロックのデータサイズに基づいて、１以上の差分送信予定ブロック２０３１を選定する。
【００９０】
また、図１４の巡回送信予定ブロック選定処理Ｓ３９０ｃでは、図７のステップＳ４０２で実行していたデータの符号化に替えて、ステップＳ８０１を実行する。
ステップＳ８０１において、巡回ブロック選定部１６０は、ブロック記憶部１８２から符号化済みデータ及びそのデータサイズを読み出す。
【００９１】
＊＊＊本実施の形態の効果の説明＊＊＊
以上のように、本実施の形態に係る画像処理装置１００ｃによれば、符号化したデータを差分ブロック選定部１４０及び巡回ブロック選定部１６０において比較するため、符号化前のデータを比較するのに比べて比較するデータ量が減少し比較処理の負荷を軽減できる。
【００９２】
実施の形態５．
＊＊＊構成の説明＊＊＊
本実施の形態では、主に、実施の形態２との差異について説明する。
本実施の形態において、実施の形態１から４で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
本実施の形態では、差分検出部１３０ｄとブロック分割部１２０ｄとの実施順序が、実施の形態１から４までの差分検出部１３０とブロック分割部１２０との実施順序と入れ替わっている構成について説明する。
【００９３】
図１５を用いて、本実施の形態に係る画像処理装置１００ｄの構成について説明する。本実施の形態に係る画像処理装置１００ｄにおいて、実施の形態の画像処理装置１００と異なる点は、差分検出部１３０ｄを実行してからブロック分割部１２０を実行する点である。
【００９４】
差分検出部１３０ｄは、キャプチャ画像８１１と前回キャプチャ画像８１２とを画像記憶部１８１から読み出す。差分検出部１３０ｄは、読み出したキャプチャ画像８１１と前回キャプチャ画像８１２とに差分があるかどうかをピクセル単位で比較する。そして、差分検出部１３０ｄは、どのピクセルに差分が生じているか示す差分ピクセル情報をブロック分割部１２０ｄに出力する。このとき、差分検出部１３０ｄは、キャプチャ画像８１１もブロック分割部１２０ｄに出力してもよい。
ブロック分割部１２０ｄは、差分検出部１３０からどのピクセルに差分が生じているかを示す差分ピクセル情報を受け取り、キャプチャ画像８１１を複数のブロックに分割する。分割方法はユーザ又は設定ファイルから指定され、縦方向に１回以上、横方向に１回以上分割する。またこのとき縦横どちらの方向であっても、分割しないことも可能である。分割後は、ブロック分割部１２０ｄは、ブロックごとに差分が生じているピクセルが含まれているか否かを判定する。ブロック分割部１２０ｄは、差分がある場合は差分マップ記録部１８３を通して差分マップ８３１へ、差分検出状態２０２を書きこむ。そして、ブロック分割部１２０ｄは、ブロック分割された今回のキャプチャ画像８１１をブロック画像８２１としてブロック記憶部１８２に記憶する。
【００９５】
＊＊＊動作の説明＊＊＊
図１６を用いて、本実施の形態に係る画像送信処理Ｓ１００ｄについて説明する。
図１６の画像送信処理Ｓ１００ｄでは、図１０で説明した画像送信処理Ｓ１００ａに対して、ステップＳ１０３とステップＳ１０４との間にステップＳ９０１が追加される。ステップＳ１０４ｄのブロック分割部１２０ｄによる処理も実施の形態２とは異なる。また、差分ブロック選定処理Ｓ１０５ｄにおいても実施の形態２とは異なり、ブロック毎の差分検出は実行しない。それ以外の動作は実施の形態２と同じである。
【００９６】
ステップＳ９０１において、差分検出部１３０ｄは、キャプチャ画像８１１と前回キャプチャ画像８１２とをピクセル単位で比較する。差分検出部１３０ｄは、前回キャプチャ画像８１２と差分のあるピクセルを示す差分ピクセル情報を、ブロック分割部１２０ｄに出力する。
ステップＳ１０４ｄにおいて、ブロック分割部１２０ｄは、キャプチャ画像８１１を複数のブロックに分割し、差分ピクセル情報に基づいて差分のあるピクセルが含まれるブロックを差分ブロックとして検出する。
差分ブロック選定処理Ｓ１０５ｄにおいて、差分ブロック選定部１４０は、ブロック分割部１２０ｄにより検出された差分ブロックから１以上の差分送信予定ブロック２０３１を選定する。１以上の差分送信予定ブロック２０３１を選定する処理については、実施の形態１で説明したものと同様である。
【００９７】
＊＊＊本実施の形態の効果の説明＊＊＊
以上のように、本実施の形態に係る画像処理装置１００ｄによれば、実施の形態１，２と同様の効果を得ることができる。
【００９８】
実施の形態６．
＊＊＊構成の説明＊＊＊
本実施の形態６では、主に、実施の形態１との差異について説明する。
本実施の形態において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
【００９９】
＊＊＊動作の説明＊＊＊
図１８は、本実施の形態に係る画像処理装置１００ｅの画像処理方法５１０及び画像処理プログラム５２０の画像送信処理Ｓ１００ｅを示す図である。
実施の形態１では、図４のＳ１０２において、送信予定状態のブロック、すなわち差分送信予定状態２０３又は巡回送信予定状態３０２がある場合に、Ｓ１０７に処理を進めていた。
本実施の形態では、図１８に示すように、送信予定状態のブロック、すなわち差分送信予定状態２０３がある場合は処理をＳ１０５に進める。また、実施の形態１ではＳ１０７の処理を実施していたが、本実施の形態では図１１に示したＳ１０７ｂの処理を実行する。
【０１００】
ここで、図１９を用いて、本実施の形態における画面分割後にある差分ブロック選定処理Ｓ１０５と巡回ブロック選定処理Ｓ１０６の具体例について説明する。
図１９の前提条件として、差分送信予定状態となるブロックの上限値Ｘを１０ブロック、巡回送信予定状態となるブロックの下限値Ｙを２ブロック、巡回送信予定状態となるブロックの上限値Ｚを５ブロックとする。また、ブロックの番号振りは、左上隅のブロックを１番として、右方向へ横一列に番号を１ずつ増加させていき、右端に到着したら一段下の段の最も左のブロックから再度１ずつ増加させながら番号をふっていくものとする。２０個のブロックを（１）〜（２０）とした。
【０１０１】
図１９の１００１、１００３、１００５、１００７、１００９、１０１１、１０１３、１０１５は、図５のステップＳ２０２終了後、すなわち差分検出直後のデータを示す。４辺共に太線で囲まれているブロックは差分があることを示す。また、少なくとも１辺が細線のブロックは差分がないことを示す。
例えば、１００１では、（１）〜（２０）が、４辺が太線で囲まれているブロック、すなわち差分があるブロックである。また、１００５では（７）、（８）、（１２）〜（１４）、（１８）、（１９）が、４辺が太線で囲まれているブロック、すなわち差分があるブロックである。
また、例えば、１００１では、少なくとも１辺が細線のブロック、すなわち差分があるブロックは存在しない。一方、１００５では（１）〜（６）、（９）〜（１１）、（１５）〜（１７）、（２０）が、少なくとも１辺が細線のブロック、すなわち差分があるブロックである。
【０１０２】
図１９の１００２、１００４、１００６、１００８、１０１０、１０１２、１０１４、１０１６は差分送信予定状態となったブロックまたは巡回送信予定状態となったブロックを示す。４辺共に太線で囲まれているブロックは差分送信予定状態となったブロックを示す。また、少なくとも１辺が細線のブロックは巡回送信予定状態となったブロックを示す。
例えば、１００２では（１）〜（１０）が、４辺が太線で囲まれているブロック、すなわち差分送信予定状態となったブロックを示す。また、１００６では（７）、（８）、（１２）〜（１４）、（１８）、（１９）が、４辺が太線で囲まれているブロック、すなわち差分送信予定状態となったブロックを示す。
また、例えば、１００２では（１１）、（１２）が、少なくとも１辺が細線のブロック、すなわち巡回送信予定状態となったブロックを示す。また、１００６では（１）〜（５）が、少なくとも１辺が細線のブロック、すなわち巡回送信予定状態となったブロックを示す。
【０１０３】
図１９の１００１及び１００２は、初回ループ、すなわち１回目のループでのブロックの状態を示す。初回ループ時は前回キャプチャ画像８１１が存在しないが、その場合は全ブロックを差分ありとみなして処理を続ける。そのため、１００１では全ブロックが差分ありとしている。１００２には差分送信予定状態となったブロックが１０個、巡回送信予定状態となったブロックが２個存在する。ブロック送信処理Ｓ１０７にて１００２のブロックをすべて送信し、初回ループを終了する。
【０１０４】
図１９の１００３及び１００４は、２回目のループでのブロックの状態を示す。２回目のループでは１回目のループにて送信できなかったブロック（１３）〜（２０）が残ったため、ステップＳ１０２の条件判定にてブロック送信処理Ｓ１０７へ処理を移している。ブロック送信処理Ｓ１０７では（１３）〜（２０）を送信する。
【０１０５】
図１９の１００５及び１００６は、３回目のループでのブロックの状態を示す。３回目では（７）、（８）、（１２）〜（１４）、（１８）、（１９）にて差分が検出されている。差分ブロック選定処理Ｓ１０５の処理を実行した結果、差分が検出された前記ブロックすべてが差分送信予定状態となったことを１００６が示している。さらに、巡回ブロック選定処理Ｓ１０６のステップＳ３０５にて巡回ブロックの送信済み状態がクリアされ、（１）〜（５）が巡回送信予定状態となった。
【０１０６】
図１９の１００７及び１００８は、４回目のループでのブロックの状態を示す。４回目のループでは、１００７で７つのブロック（１０）、（１４）、（１５）、（１７）〜（２０）で差分が検出されている。そして、１００７でこの７つのブロック（１０）、（１４）、（１５）、（１７）〜（２０）が差分送信予定状態に、１００８で５つのブロック（６）〜（１１）が巡回送信予定状態となっている。巡回送信予定状態のブロックの選定は、３回目のループにて巡回送信予定状態となった（５）のブロックの次から始まっている。
【０１０７】
図１９の１００９及び１０１０は、５回目のループでのブロックの状態を示す。５回目のループでは、１００９にて（１）、（７）、（１９）のみに差分が検出されている。１０１０では、（１）、（７）、（１９）が差分送信予定状態となり、（１２）〜（１６）が巡回送信予定状態となっている。
図１９の１０１１及び１０１２は、６回目のループでのブロックの状態を示す。６回目のループでは、１０１１にて（１）、（４）、（５）、（１１）を除くブロックで差分が検出されている。１０１２にて差分送信予定状態となったブロックは１０個、巡回送信予定状態となったブロックは２つである。
【０１０８】
図１９の１０１３及び１０１４は、７回目のループでのブロックの状態を示す。７回目のループでは、６回目のループにて送信しきれなかった（１７）〜（２０）のブロックを送信する。
図１９の１０１５及び１０１６は、８回目のループでのブロックの状態を示す。８回目のループでは、１０１５にて９個のブロックに差分が検出されている。巡回ブロック選定処理Ｓ１０６のステップＳ３０５にて巡回ブロックの送信済み状態がクリアされ、（１）〜（３）のブロックが巡回送信予定状態となった。
以上で、本実施の形態における差分ブロック選定処理Ｓ１０５と巡回ブロック選定処理Ｓ１０６の具体例についての説明を終わる。
【０１０９】
＊＊＊本実施の形態の効果の説明＊＊＊
本実施の形態では、Ｓ１０７ｂにて送信が中断された際に、差分ブロック及び巡回ブロックの再選択が可能になる。これによって、実施の形態１よりも多くの差分ブロック、巡回ブロックを送信できるようになる。
【０１１０】
実施の形態７．
＊＊＊構成の説明＊＊＊
本実施の形態７では、主に、実施の形態１との差異について説明する。
本実施の形態において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
【０１１１】
＊＊＊動作の説明＊＊＊
図２０を用いて、本実施の形態に係る巡回ブロック選定処理Ｓ１０６ｆについて説明する。
実施の形態１では、図６の巡回ブロック選定処理Ｓ１０６において、ステップＳ３０６及びステップＳ３０７により、巡回送信予定状態となるブロックの再選択を実施していた。
本実施の形態では、図２０に示すように、ステップＳ３０６及びステップＳ３０７の処理を実施しないものとする。
【０１１２】
＊＊＊本実施の形態の効果の説明＊＊＊
本実施の形態によれば、
巡回送信予定状態となるブロックの再選択をステップＳ３０６及びステップＳ３０７にて行わないことで、一度送信したブロック再送信を次回以降のループにて行うようになる。これにより、巡回送信予定状態ブロック送信量を減らすことができ、ネットワーク帯域を節約することができる。
【０１１３】
以上で、実施の形態１から７の説明を終わる。なお、これらの実施の形態１から７のうち、複数を部分的に組合せて実施しても構わない。或いは、これらの実施の形態１から７のうち、１つの実施の形態を部分的に実施しても構わない。或いは、これらの実施の形態１から７の各々の一部分を部分的に組合せて実施しても構わない。その他、これらの実施の形態１から７を、全体として或いは部分的に、どの様に組合せて実施しても構わない。
【０１１４】
上記の実施の形態１から７では、「部」の各々が独立した機能ブロックとして画像処理装置を構成している。しかし、上記のような構成でなくてもよく、画像処理装置の構成は任意である。画像処理装置の機能ブロックは、上記の実施の形態１から７で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、或いは任意のブロック構成で、画像処理装置を構成しても構わない。
また、画像処理装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
【０１１５】
また、実施の形態１から７の説明において「部」として説明するもののうち、いずれか１つのみを採用してもよいし、いくつかの任意の組合せを採用してもよい。つまり、画像処理装置の機能構成は、上記の実施の形態１から７で説明した機能を実現することができれば、任意である。機能構成を、どのような組合せ、或いは任意の機能構成で構成しても構わない。
【０１１６】
なお、上記の実施の形態１から７は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【０１１７】
１００，１００ｃ，１００ｄ  画像処理装置、１１０  キャプチャ部、１２０，１２０ｄ  ブロック分割部、１３０，１３０ｄ  差分検出部、１４０  差分ブロック選定部、１５０  符号化部、１６０  巡回ブロック選定部、１７０  ブロック送信部、１８１  画像記憶部、１８２  ブロック記憶部、１８３  差分マップ記録部、１８４  巡回マップ記録部、１８０  記憶部、１８５  ブロック状態記憶部、２０１  通常状態、２０２  差分検出状態、２０３  差分送信予定状態、３０１  未送信状態、３０２  巡回送信予定状態、３０３  送信済み状態、５１０  画像処理方法、５２０  画像処理プログラム、８１１  キャプチャ画像、８１２  前回キャプチャ画像、８２１  ブロック画像、８２２  前回ブロック画像、８５１  ブロック状態情報、８３１  差分マップ、８４１  巡回マップ、８１０  配信画像、８２０  比較画像、８２１ｂ  符号化ブロック画像、８２２ｂ  前回符号化ブロック画像、９０９  処理回路、９１０  プロセッサ、９２０  記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５０  通信装置、９５１  レシーバ、９５２  トランスミッタ、９２１  メモリ、９２２  補助記憶装置、１４０１  差分符号化ブロック、１６０１  巡回符号化ブロック、２０３１  差分送信予定ブロック、３０２１  巡回送信予定ブロック、Ｓ１００，Ｓ１００ａ，Ｓ１００ｃ，Ｓ１００ｄ，Ｓ１００ｅ  画像送信処理、Ｓ１０５，Ｓ１０５ｃ，Ｓ１０５ｄ  差分ブロック選定処理、Ｓ１０６，Ｓ１０６ｆ  巡回ブロック選定処理、Ｓ１０７，Ｓ１０７ｂ  ブロック送信処理、Ｓ３９０，Ｓ３９０ｃ  巡回送信予定ブロック選定処理、Ｘ  差分閾値、Ｙ  下限値、Ｚ  上限値。
【図１】
2017183109.tif 000003
【図２】
2017183109.tif 000004
【図３】
2017183109.tif 000005
【図４】
2017183109.tif 000006
【図５】
2017183109.tif 000007
【図６】
2017183109.tif 000008
【図７】
2017183109.tif 000009
【図８】
2017183109.tif 000010
【図９】
2017183109.tif 000011
【図１０】
2017183109.tif 000012
【図１１】
2017183109.tif 000013
【図１２】
2017183109.tif 000014
【図１３】
2017183109.tif 000015
【図１４】
2017183109.tif 000016
【図１５】
2017183109.tif 000017
【図１６】
2017183109.tif 000018
【図１７】
2017183109.tif 000019
【図１８】
2017183109.tif 000020
【図１９】
2017183109.tif 000021
【図２０】
2017183109.tif 000022
【手続補正書】
【提出日】平成30年5月30日(2018.5.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出する差分検出部と、
前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備え、
前記差分ブロック選定部は、
前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記１以上の差分送信予定ブロックを選定する画像処理装置。
【請求項２】
前記画像処理装置は、
前記１以上の差分送信予定ブロックと前記１以上の巡回送信予定ブロックとを、前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとして符号化する符号化部と、
前記符号化部により符号化された前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとを送信する送信処理を実行するブロック送信部と
を備えた請求項１に記載の画像処理装置。
【請求項３】
前記差分ブロック選定部は、
前記差分ブロックを前記符号化部に出力し、前記符号化部から符号化された前記差分ブロックである符号化差分ブロックと前記符号化差分ブロックのデータサイズとを取得し、前記符号化差分ブロックのデータサイズに基づいて、前記１以上の差分送信予定ブロックを選定し、
前記巡回ブロック選定部は、
前記巡回ブロックを前記符号化部に出力し、前記符号化部から符号化された前記巡回ブロックである符号化巡回ブロックと前記符号化巡回ブロックのデータサイズとを取得し、前記符号化巡回ブロックのデータサイズに基づいて、前記１以上の巡回送信予定ブロックを選定する請求項２に記載の画像処理装置。
【請求項４】
前記ブロック送信部は、
前記送信処理により符号量が符号量閾値までの前記１以上の差分符号化ブロックと前記１以上の巡回符号化ブロックとを送信可能であり、
前記差分閾値と前記上限値とを加算した値は前記符号量閾値以下となる請求項２または請求項３に記載の画像処理装置。
【請求項５】
前記画像処理装置は、
前記複数のブロックの各ブロックの状態が記録されるブロック状態情報を記憶するブロック状態記憶部を備え、
前記ブロック送信部は、
前記１以上の差分符号化ブロックの各々と前記１以上の巡回符号化ブロックの各々との状態を送信済み状態として前記ブロック状態情報に記録する請求項２から請求項４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像処理装置は、
画面をキャプチャすることにより前記配信画像を生成するキャプチャ部と、
前記キャプチャ部により生成された配信画像を前記複数のブロックに分割するブロック分割部と
を備え、
前記ブロック分割部は、
前記複数のブロックの各々を前記符号化部に出力し、前記符号化部から符号化された前記複数のブロックの各々である符号化済みデータと前記符号化済みデータのデータサイズとを取得し、ブロック記憶部に記憶し、
前記差分ブロック選定部は、
前記符号化済みデータと前記符号化済みデータのデータサイズとを、前記ブロック記憶部から取得し、前記符号化済みデータのデータサイズに基づいて、前記１以上の差分送信予定ブロックを選定する請求項５に記載の画像処理装置。
【請求項７】
前記キャプチャ部は、
前記ブロック送信部による前記送信処理が完了した後に、前記複数の画像のうち前記配信画像の次の画像を生成する請求項６に記載の画像処理装置。
【請求項８】
前記ブロック状態記憶部は、
前記ブロック状態情報として、前記差分ブロックの状態が記録される差分マップと、前記巡回ブロックの状態が記録される巡回マップとを有し、
前記差分ブロック選定部は、
前記１以上の差分送信予定ブロックを選定した場合に、前記１以上の差分送信予定ブロックの各々の状態を差分送信予定状態として前記差分マップに記録し、
前記巡回ブロック選定部は、
前記１以上の巡回送信予定ブロックを選定した場合に、前記１以上の巡回送信予定ブロックの各々の状態を巡回送信予定状態として前記巡回マップに記録する請求項７に記載の画像処理装置。
【請求項９】
前記ブロック送信部は、
前記送信処理の実行中に前記送信処理を続行するか否かを判定し、前記送信処理を続行しないと判定した場合に、前記送信処理を中断する請求項８に記載の画像処理装置。
【請求項１０】
前記キャプチャ部は、
前記差分マップと前記巡回マップとに基づいて、前記差分マップと前記巡回マップとに前記差分送信予定状態又は前記巡回送信予定状態のブロックがあるか否かを判定し、前記差分送信予定状態又は前記巡回送信予定状態のブロックがある場合には、キャプチャを実行せずに前記差分送信予定状態又は前記巡回送信予定状態のブロックを送信する指示を前記ブロック送信部に出力する請求項９に記載の画像処理装置。
【請求項１１】
順次配信される複数の画像のうち配信する配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをピクセル単位で比較し、前記比較画像と差分のあるピクセルを示す差分ピクセル情報を出力する差分検出部と、
前記配信画像を複数のブロックに分割し、前記差分ピクセル情報に基づいて差分のあるピクセルが含まれるブロックを差分ブロックとして検出するブロック分割部と、
前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備え、
前記差分ブロック選定部は、
前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記１以上の差分送信予定ブロックを選定する画像処理装置。
【請求項１２】
差分検出部が、順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、
差分ブロック選定部が、前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定し、
巡回ブロック選定部が、前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定し、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となり、
前記差分ブロック選定部が、前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記１以上の差分送信予定ブロックを選定する画像処理方法。
【請求項１３】
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、前記差分ブロックから、符号化して送信する１以上のブロックを１以上の差分送信予定ブロックとして選定する差分ブロック選定処理と、
前記複数のブロックのうち前記１以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する１以上のブロックを１以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記１以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定処理と、
前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記１以上の差分送信予定ブロックを選定する処理と
をコンピュータに実行させる画像処理プログラム。
【国際調査報告】
2017183109.tif 000023
2017183109.tif 000024