図面 (/)

技術 画像処理装置、画像処理方法及び画像処理プログラム

出願人 三菱電機株式会社
発明者 寺島英明椿泰範吉田浩
出願日 2016年4月19日 (2年8ヶ月経過) 出願番号 2018-512682
公開日 2018年9月27日 (2ヶ月経過) 公開番号 WO2017-183109
状態 特許登録済
技術分野 TV信号の圧縮,符号化方式 計算機間の情報転送 双方向TV,動画像配信等
主要キーワード 前回ブロック キャプチャタイミング キャプチャ対象 サーキットリ 実行負荷 ループ端 差分ピクセル 差分マップ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年9月27日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題・解決手段

差分検出部(130)が、複数のブロックに分割されたキャプチャ画像(811)と、キャプチャ画像(811)と比較する前回キャプチャ画像(812)とをブロック毎に比較し、前回キャプチャ画像(812)と差分のあるブロックを差分ブロックとして検出する。また、差分ブロック選定部(140)が、差分ブロックから、符号化して送信する1以上の差分送信予定ブロックを選定する。また、巡回ブロック選定部(160)が、複数のブロックのうち1以上の差分送信予定ブロック以外の巡回ブロックから、符号化して送信する1以上の巡回送信予定ブロックを選定する。1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値は下限値と上限値の範囲内となる。

概要

背景

特許文献1の画像処理装置では、映像符号化を実施する際に、イントラ予測及びインター予測のそれぞれの符号量を順に制限している。また、特許文献1の画像処理装置では、1ピクチャあたりの符号量が予め定められた上限を超えそうになった場合、符号量を抑えるよう符号化を制御することによって上限超えを回避している。

概要

差分検出部(130)が、複数のブロックに分割されたキャプチャ画像(811)と、キャプチャ画像(811)と比較する前回キャプチャ画像(812)とをブロック毎に比較し、前回キャプチャ画像(812)と差分のあるブロックを差分ブロックとして検出する。また、差分ブロック選定部(140)が、差分ブロックから、符号化して送信する1以上の差分送信予定ブロックを選定する。また、巡回ブロック選定部(160)が、複数のブロックのうち1以上の差分送信予定ブロック以外の巡回ブロックから、符号化して送信する1以上の巡回送信予定ブロックを選定する。1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値は下限値と上限値の範囲内となる。

目的

本発明は、画面を複数のブロックに分割し、複数のブロックを巡回しつつ符号化して送信するブロックを選定することにより、差分ブロックと差分ブロック以外の巡回ブロックとを適切な符号量で送信することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出する差分検出部と、前記差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロックとして選定する差分ブロック選定部と、前記複数のブロックのうち前記1以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部とを備えた画像処理装置

請求項2

前記差分ブロック選定部は、前記差分ブロックから、各々を符号化した符号量の合計値が差分閾値を超えない前記1以上の差分送信予定ブロックを選定する請求項1に記載の画像処理装置。

請求項3

前記画像処理装置は、前記1以上の差分送信予定ブロックと前記1以上の巡回送信予定ブロックとを、前記1以上の差分符号化ブロックと前記1以上の巡回符号化ブロックとして符号化する符号化部と、前記符号化部により符号化された前記1以上の差分符号化ブロックと前記1以上の巡回符号化ブロックとを送信する送信処理を実行するブロック送信部とを備えた請求項2に記載の画像処理装置。

請求項4

前記差分ブロック選定部は、前記差分ブロックを前記符号化部に出力し、前記符号化部から符号化された前記差分ブロックである符号化差分ブロックと前記符号化差分ブロックのデータサイズとを取得し、前記符号化差分ブロックのデータサイズに基づいて、前記1以上の差分送信予定ブロックを選定し、前記巡回ブロック選定部は、前記巡回ブロックを前記符号化部に出力し、前記符号化部から符号化された前記巡回ブロックである符号化巡回ブロックと前記符号化巡回ブロックのデータサイズとを取得し、前記符号化巡回ブロックのデータサイズに基づいて、前記1以上の巡回送信予定ブロックを選定する請求項3に記載の画像処理装置。

請求項5

前記ブロック送信部は、前記送信処理により符号量が符号量閾値までの前記1以上の差分符号化ブロックと前記1以上の巡回符号化ブロックとを送信可能であり、前記差分閾値と前記上限値とを加算した値は前記符号量閾値以下となる請求項3または4に記載の画像処理装置。

請求項6

前記画像処理装置は、前記複数のブロックの各ブロックの状態が記録されるブロック状態情報を記憶するブロック状態記憶部を備え、前記ブロック送信部は、前記1以上の差分符号化ブロックの各々と前記1以上の巡回符号化ブロックの各々との状態を送信済み状態として前記ブロック状態情報に記録する請求項3から5のいずれか1項に記載の画像処理装置。

請求項7

前記画像処理装置は、画面キャプチャすることにより前記配信画像を生成するキャプチャ部と、前記キャプチャ部により生成された配信画像を前記複数のブロックに分割するブロック分割部とを備え、前記ブロック分割部は、前記複数のブロックの各々を前記符号化部に出力し、前記符号化部から符号化された前記複数のブロックの各々である符号化済みデータと前記符号化済みデータのデータサイズとを取得し、ブロック記憶部に記憶し、前記差分ブロック選定部は、前記符号化済みデータと前記符号化済みデータのデータサイズとを、前記ブロック記憶部から取得し、前記符号化済みデータのデータサイズに基づいて、前記1以上の差分送信予定ブロックを選定する請求項6に記載の画像処理装置。

請求項8

前記キャプチャ部は、前記ブロック送信部による前記送信処理が完了した後に、前記複数の画像のうち前記配信画像の次の画像を生成する請求項7に記載の画像処理装置。

請求項9

前記ブロック状態記憶部は、前記ブロック状態情報として、前記差分ブロックの状態が記録される差分マップと、前記巡回ブロックの状態が記録される巡回マップとを有し、前記差分ブロック選定部は、前記1以上の差分送信予定ブロックを選定した場合に、前記1以上の差分送信予定ブロックの各々の状態を差分送信予定状態として前記差分マップに記録し、前記巡回ブロック選定部は、前記1以上の巡回送信予定ブロックを選定した場合に、前記1以上の巡回送信予定ブロックの各々の状態を巡回送信予定状態として前記巡回マップに記録する請求項8に記載の画像処理装置。

請求項10

前記ブロック送信部は、前記送信処理の実行中に前記送信処理を続行するか否かを判定し、前記送信処理を続行しないと判定した場合に、前記送信処理を中断する請求項9に記載の画像処理装置。

請求項11

前記キャプチャ部は、前記差分マップと前記巡回マップとに基づいて、前記差分マップと前記巡回マップとに前記差分送信予定状態又は前記巡回送信予定状態のブロックがあるか否かを判定し、前記差分送信予定状態又は前記巡回送信予定状態のブロックがある場合には、キャプチャを実行せずに前記差分送信予定状態又は前記巡回送信予定状態のブロックを送信する指示を前記ブロック送信部に出力する請求項10に記載の画像処理装置。

請求項12

順次配信される複数の画像のうち配信する配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをピクセル単位で比較し、前記比較画像と差分のあるピクセルを示す差分ピクセル情報を出力する差分検出部と、前記配信画像を複数のブロックに分割し、前記差分ピクセル情報に基づいて差分のあるピクセルが含まれるブロックを差分ブロックとして検出するブロック分割部と、前記差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロックとして選定する差分ブロック選定部と、前記複数のブロックのうち前記1以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部とを備えた画像処理装置。

請求項13

差分検出部が、順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、差分ブロック選定部が、前記差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロックとして選定し、巡回ブロック選定部が、前記複数のブロックのうち前記1以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロックとして選定し、前記1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる画像処理方法

請求項14

順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出し、前記差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロックとして選定する差分ブロック選定処理と、前記複数のブロックのうち前記1以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定処理とをコンピュータに実行させる画像処理プログラム

技術分野

0001

本発明は、画像処理装置画像処理方法及び画像処理プログラムに関するものであり、特に、映像を配信する際の画像処理を行う画像処理装置、画像処理方法及び画像処理プログラムに関する。

背景技術

0002

特許文献1の画像処理装置では、映像符号化を実施する際に、イントラ予測及びインター予測のそれぞれの符号量を順に制限している。また、特許文献1の画像処理装置では、1ピクチャあたりの符号量が予め定められた上限を超えそうになった場合、符号量を抑えるよう符号化を制御することによって上限超えを回避している。

先行技術

0003

特開2010−233263号公報

発明が解決しようとする課題

0004

特許文献1は非可逆圧縮前提とした映像配信であるため、変化の激しい映像の符号化には圧縮率を上げることで対応している。一方で可逆圧縮での映像配信では、圧縮率の向上は望めないため、変化の激しい映像の入力があった場合に符号量が増加するという課題がある。

0005

本発明は、画面を複数のブロックに分割し、複数のブロックを巡回しつつ符号化して送信するブロックを選定することにより、差分ブロックと差分ブロック以外の巡回ブロックとを適切な符号量で送信することを目的とする。

課題を解決するための手段

0006

本発明に係る画像処理装置は、
順次配信される複数の画像のうち配信する配信画像であって複数のブロックに分割された配信画像と、前記複数の画像のうち前記配信画像と比較する比較画像とをブロック毎に比較し、前記複数のブロックから前記比較画像と差分のあるブロックを差分ブロックとして検出する差分検出部と、
前記差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロックとして選定する差分ブロック選定部と、
前記複数のブロックのうち前記1以上の差分送信予定ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロックとして選定する巡回ブロック選定部であって、前記1以上の巡回送信予定ブロックの各々を符号化した符号量の合計値が下限値と上限値の範囲内となる巡回ブロック選定部と
を備えた。

発明の効果

0007

本発明に係る画像処理装置によれば、差分検出部が、複数のブロックに分割された配信画像と比較画像とをブロック毎に比較し、複数のブロックから比較画像と差分のあるブロックを差分ブロックとして検出し、差分ブロック選定部が、差分ブロックから、符号化して送信する1以上の送信予定ブロックを選定する。また、巡回ブロック選定部が、複数のブロックのうち差分ブロック以外のブロックである巡回ブロックから、符号化して送信する1以上の巡回送信予定ブロックであって各々を符号化した符号量の合計値が下限値と上限値の範囲内となる1以上の巡回送信予定ブロックを選定する。よって、符号化して送信するブロックとして、差分ブロックと巡回ブロックとを適切な符号量で選定することができるという効果を奏する。

図面の簡単な説明

0008

実施の形態1に係る画像処理装置100の構成図。
実施の形態1に係る差分マップ831における各ブロックの状態遷移を示す図。
実施の形態1に係る巡回マップ841における各ブロックの状態遷移を示す図。
実施の形態1に係る画像処理装置100の画像処理方法510及び画像処理プログラム520の画像送信処理S100を示すフロー図。
実施の形態1に係る差分ブロック選定処理S105を示すフロー図。
実施の形態1に係る巡回ブロック選定処理S106を示すフロー図。
実施の形態1に係る巡回送信予定ブロック選定処理S390を示すフロー図。
実施の形態1に係るブロック送信処理S107を示すフロー図。
実施の形態1の変形例に係る画像処理装置100の構成図。
実施の形態2に係る画像送信処理S100aの構成図。
実施の形態3に係るブロック送信処理S107bを示すフロー図。
実施の形態4に係る画像処理装置100cの構成図。
実施の形態4に係る差分ブロック選定処理S105cを示すフロー図。
実施の形態4に係る巡回送信予定ブロック選定処理S390cを示すフロー図。
実施の形態5に係る画像処理装置100dの構成図。
実施の形態5に係る画像送信処理S100dを示すフロー図。
実施の形態4に係る画像処理装置100cの画像処理方法510及び画像処理プログラム520の画像送信処理S100cを示すフロー図。
実施の形態6に係る画像処理装置100eの画像処理方法510及び画像処理プログラム520の画像送信処理S100eを示すフロー図。
実施の形態6に係る差分ブロック選定処理S105と巡回ブロック選定処理S106の具体例について説明する図。
実施の形態7に係る巡回ブロック選定処理S106fのフロー図。

実施例

0009

実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る画像処理装置100の構成について説明する。
本実施の形態において、画像処理装置100は、コンピュータである。画像処理装置100は、プロセッサ910、記憶装置920、入力インタフェース930、出力インタフェース940、通信装置950といったハードウェアを備える。記憶装置920は、メモリ921と補助記憶装置922とを有する。

0010

画像処理装置100は、機能構成として、キャプチャ部110と、ブロック分割部120と、差分検出部130と、差分ブロック選定部140と、符号化部150と、巡回ブロック選定部160と、ブロック送信部170と、差分マップ記録部183と、巡回マップ記録部184と、記憶部180とを備える。
以下の説明では、画像処理装置100におけるキャプチャ部110と、ブロック分割部120と、差分検出部130と、差分ブロック選定部140と、符号化部150と、巡回ブロック選定部160と、ブロック送信部170と、差分マップ記録部183と、巡回マップ記録部184との機能を、画像処理装置100の「部」の機能という。
画像処理装置100の「部」の機能は、ソフトウェアで実現される。

0011

また、記憶部180は、記憶装置920で実現される。記憶部180は、キャプチャ画像811と前回キャプチャ画像812とを記憶する画像記憶部181と、ブロック画像821と前回ブロック画像822とを記憶するブロック記憶部182とを有する。また、記憶部180は、ブロック状態情報851を記憶するブロック状態記憶部185を有する。ブロック状態情報851は、差分マップ831と巡回マップ841とを有する。

0012

プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ910は、プロセッシングを行うIC(IntegratedCircuit)である。プロセッサ910は、具体的には、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等である。

0013

記憶装置920は、メモリ921及び補助記憶装置922を含む。補助記憶装置922は、具体的には、ROM(Read Only Memory)、フラッシュメモリ、又は、HDD(Hard Disk Drive)である。メモリ921は、具体的には、RAM(Random Access Memory)である。本実施の形態では、記憶部180は、メモリ921により実現される。なお、記憶部180は、補助記憶装置922により実現されてもよいし、メモリ921と補助記憶装置922とにより実現されていてもよい。記憶部180の実現方法は任意である。

0014

入力インタフェース930は、マウスキーボードタッチパネルといった入力装置と接続されるポートである。入力インタフェース930は、具体的には、USB端子である。なお、入力インタフェース930は、LAN(Local Area Network)と接続されるポートであってもよい。
出力インタフェース940は、ディスプレイ装置といった表示機器ケーブルが接続されるポートである。出力インタフェース940は、具体的には、USB端子又はHDMI登録商標)(High Definition Multimedia Interface)端子である。ディスプレイ装置は、具体的には、LCD(Liquid Crystal Display)である。なお、出力インタフェース940は、プリンタ装置といった出力装置に接続されていてもよい。

0015

通信装置950は、レシーバ951とトランスミッタ952とを備える。具体的には、通信装置950は通信チップ又はNIC(Network Interface Card)である。通信装置950はデータを通信する通信部として機能する。レシーバ951はデータを受信する受信機器であり、トランスミッタ952はデータを送信する送信機器である。

0016

補助記憶装置922には、「部」の機能を実現するプログラムが記憶されている。このプログラムは、メモリ921にロードされ、プロセッサ910に読み込まれ、プロセッサ910によって実行される。補助記憶装置922には、OS(Operating System)も記憶されている。OSの少なくとも一部がメモリ921にロードされ、プロセッサ910はOSを実行しながら、「部」の機能を実現するプログラムを実行する。

0017

画像処理装置100は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、「部」の機能を実現するプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、プロセッシングを行うICである。

0018

「部」の機能による処理の結果を示す情報、データ、信号値、及び、変数値は、メモリ921、補助記憶装置922、又は、プロセッサ910内のレジスタ又はキャッシュメモリに記憶される。なお、図1において、各部と記憶部180とを結ぶ矢印は、各部が処理の結果を記憶部180に記憶すること、或いは、各部が記憶部180から情報を読み出すことを表している。また、各部を結ぶ矢印は、制御の流れを表している。

0019

「部」の機能を実現するプログラムは、磁気ディスクフレキシブルディスク光ディスクコンパクトディスクブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disc)といった可搬記録媒体に記憶されてもよい。
なお、「部」の機能を実現するプログラムを画像処理プログラム520ともいう。画像処理プログラム520は、「部」として説明している機能を実現するプログラムである。また、画像処理プログラムプロダクトと称されるものは、画像処理プログラム520が記録された記憶媒体及び記憶装置であり、見た目形式に関わらず、コンピュータ読み取り可能なプログラムをロードしているものである。

0020

***機能構成の説明***
キャプチャ部110は、キャプチャを実行することによりキャプチャ画像811を取得し、記憶部180に記憶する。キャプチャ画像811は、順次配信される複数の画像のうちの配信する配信画像810の一例である。
具体的には、キャプチャ部110は、記憶部180に記憶されている任意のアプリケーション実行画面を、記憶部180の領域にキャプチャ画像811としてコピーする。例えば、画像処理装置100は、アプリケーションを実行するアプリケーション実行部を有する。画像処理装置100は、入力インタフェース930或いはレシーバ951を介して、ユーザからの入力を受け付け、アプリケーション実行部にて実行しているアプリケーションにユーザからの入力を渡す。アプリケーション実行部は、ユーザからの入力に基づき、アプリケーションを実行し、アプリケーションの実行画面を生成する。キャプチャ部110は、アプリケーション実行部により生成されたアプリケーションの実行画面をキャプチャする。キャプチャ部110は、キャプチャを行うタイミング及びキャプチャ対象を、ユーザからの入力又は外部の設定ファイルの読み込み等により取得する。
なお、キャプチャ部110は、キャプチャ画像811を入力インタフェース930或いはレシーバ951を介して取得してもよい。
また、画像記憶部181には、キャプチャ部110により取得されたキャプチャ画像811と、キャプチャ部110により前回取得された前回キャプチャ画像812とが記憶されている。前回キャプチャ画像812は、配信画像810と比較する比較画像820の一例である。
キャプチャ部110は、差分マップ記録部183から各差分ブロックの状態を取得すると共に、巡回マップ記録部184から各巡回ブロックの状態を取得し、キャプチャを実行するか否かを判定する。

0021

ブロック分割部120は、キャプチャ画像811を複数のブロックに分割する。分割方法はユーザ又は設定ファイルにより指定され、縦方向に1回以上、横方向に1回以上分割する。また、縦方向のみ或いは横方向のみに分割してもよい。
ブロック分割部120は、ブロック状に分割したキャプチャ画像811をブロック画像821としてブロック記憶部182に記憶する。
なお、ブロック記憶部182には、ブロック分割部120により分割されたブロック画像821と、ブロック分割部120により前回キャプチャ画像812が分割された前回ブロック画像822とが記憶されている。ブロック画像821は、複数のブロックに分割された配信画像810の一例である。また、前回ブロック画像822は、複数のブロックに分割された比較画像820の一例である。
具体的には、ブロック分割部120は、ブロック記憶部182に記憶されているキャプチャ画像811を読みだして、プロセッサ910を用いて複数のブロックに分割し、ブロック画像821としてブロック記憶部182に再度記憶する。

0022

差分検出部130は、ブロック画像821と前回ブロック画像822とをブロック毎に比較し、複数のブロックから前回ブロック画像822と差分のあるブロックを差分ブロックとして検出する。差分検出部130は、ブロック毎の判定結果に基づいて、差分マップ記録部183に対し、差分マップ831の各ブロックへの状態書込み命令発行する。
具体的には、差分検出部130は、ブロック画像821と前回ブロック画像822とをブロック記憶部182から読み出し、プロセッサ910を用いてブロック画像821と前回ブロック画像822とをピクセル単位で比較する。

0023

ブロック状態記憶部185は、複数のブロックの各ブロックの状態が記録されるブロック状態情報851を記憶する。ブロック状態記憶部185は、ブロック状態情報851として、後述する差分ブロックの状態が記録される差分マップ831と、後述する巡回ブロックの状態が記録される巡回マップ841とを有する。
差分マップ記録部183は、ブロック状態記憶部185に記憶されている差分マップ831に対して、指定されたブロックの状態を指定された状態に変更する。差分マップ記録部183は、差分検出部130、差分ブロック選定部140及びブロック送信部170からブロック毎の状態書き込み命令を受け、その命令をもとに差分マップ831の各ブロックの状態を変化させる。

0024

図2を用いて、本実施の形態に係る差分マップ831における各ブロックの状態遷移について説明する。
通常状態201は、ブロックが初期値であることを示す。
差分検出状態202は、ブロックに差分があることを示す。差分検出部130が、ブロック画像821と前回ブロック画像822とを比較し、あるブロックで差分を検出した場合に、そのブロックには差分検出状態202が記録される。また、差分検出部130で差分が無いと判定されたブロックのうち、差分送信予定状態203となっているブロックに対しても差分検出状態202が記録される。
差分送信予定状態203は、そのブロックがブロック送信部170にて送信される予定であることを示す。差分送信予定状態203への状態遷移は、差分ブロック選定部140の処理の結果に応じて行われる。
通常状態201は差分検出状態202に遷移可能である。差分検出状態202は差分送信予定状態203に遷移可能である。差分送信予定状態203は通常状態201に遷移可能である。差分送信予定状態203は差分検出状態202へ遷移可能である。状態遷移は、例えば、フラグを用いて記憶される。

0025

差分ブロック選定部140は、差分ブロックから、符号化して送信する1以上のブロックを1以上の差分送信予定ブロック2031として選定する。
具体的には、差分ブロック選定部140は、ブロック画像821と差分マップ831とを取得する。差分ブロック選定部140は、ブロック画像821と差分マップ831とに基づいて、ブロック画像821を巡回しながら各ブロックについて差分送信予定状態203であるかどうかを判定し、新たに差分送信予定状態203となった差分送信予定ブロック2031を差分マップ831に対して記録する。すなわち、差分送信予定ブロック2031とは、差分マップ831において差分送信予定状態203となっているブロックである。差分ブロック選定部140は、符号化部150に対して処理対象のブロックを出力し、符号化部150から符号化済みのブロックを受け取る。差分ブロック選定部140は、符号化済みのブロックの符号量に基づいて、差分送信予定ブロック2031を選定する。差分ブロック選定部140は、巡回ブロック選定部160へ、ブロック画像821と、差分送信予定ブロック2031が符号化された差分符号化ブロック1401とを出力する。又は、差分ブロック選定部140は、巡回ブロック選定部160へ、差分送信予定ブロック2031が符号化された差分符号化ブロック1401と、差分符号化ブロック1401部分を除いたブロック画像821とを出力してもよい。

0026

巡回ブロック選定部160は、差分ブロック選定部140から、ブロック画像821と符号化された差分符号化ブロック1401とを受け取る。巡回ブロック選定部160は、ブロック画像821のブロックを巡回しながら各ブロックについて巡回送信予定状態302であるかどうかを判定し、巡回マップ841に、新たに巡回送信予定状態302と判定されたブロック(巡回送信予定ブロック3021)を記録する。
巡回ブロック選定部160は、複数のブロックのうち1以上の差分送信予定ブロック2031以外のブロックである巡回ブロックから、符号化して送信する1以上のブロックを1以上の巡回送信予定ブロック3021として選定する。このとき、1以上の巡回送信予定ブロック3021は、各々を符号化した符号量の合計値が下限値Yと上限値Zの範囲内となる。巡回ブロック選定部160は、符号化部150に対して処理対象のブロックを出力し、符号化部150から符号化済みのブロックを受け取る。巡回ブロック選定部160は、符号化済みのブロックの符号量に基づいて、巡回送信予定ブロック3021を選定する。

0027

図3を用いて、本実施の形態に係る巡回マップ841における各ブロックの状態遷移について説明する。
巡回マップ841は、巡回マップ記録部184によりブロック毎に記録される。
送信状態301は、ブロックの初期値を示す。
巡回送信予定状態302は、ブロック送信部170により送信する予定のブロックであることを示す。すなわち、巡回送信予定ブロック3021の状態は巡回送信予定状態302である。巡回マップ841は、巡回ブロック選定部160の処理結果に応じて状態変化する。送信済み状態303はブロック送信部170にて送信処理をしたブロックであることを示す。未送信状態301は巡回送信予定状態302に遷移可能である。また、巡回送信予定状態302は送信済み状態303に遷移可能である。送信済み状態303は未送信状態301に遷移可能である。状態遷移は、例えば、フラグを用いて記憶される。

0028

また、巡回マップ記録部184は、ブロック状態記憶部185に記憶されている巡回マップ841に対して、指定されたブロックの状態を指定された状態に変更する。巡回マップ記録部184は、巡回ブロック選定部160及びブロック送信部170から巡回マップ841への各ブロックの状態の書き込み命令を受け、その命令をもとに対応するブロックの状態を変化させる。巡回マップ記録部184は、巡回ブロック選定部160、ブロック送信部170に対して、問い合わせのあったブロックの状態を出力する。

0029

符号化部150は、1以上の差分送信予定ブロック2031と1以上の巡回送信予定ブロック3021とを、1以上の差分符号化ブロック1401と1以上の巡回符号化ブロック1601として符号化する。すなわち、符号化部150は、差分ブロック選定部140及び巡回ブロック選定部160から未符号化のブロックを受け取り符号化処理をして、符号化済みのブロックを返す。なお、符号化部150は、圧縮部ともいう。符号化部150は、差分ブロック選定部140及び巡回ブロック選定部160から未圧縮のブロックを受け取り、圧縮処理をして、圧縮済みのブロックを返す。すなわち、符号化には圧縮が含まれる。
符号化部150において利用可能な符号化アルゴリズムは、例えば、RLE(Run−Length Encoding)やZRLE(Zlib−Run−Length Encoding)、JPEG2000(Joint Photographic Experts Group 2000)等が挙げられる。なお、利用可能なアルゴリズムは、上記に限らない。

0030

ブロック送信部170は、符号化部150により符号化された1以上の差分符号化ブロック1401と1以上の巡回符号化ブロック1601とを送信する送信処理を実行する。ブロック送信部170は、差分マップ831と巡回マップ841とに基づいて、記憶部180に記憶されている1以上の差分符号化ブロック1401と1以上の巡回符号化ブロック1601とから処理対象の符号化されたブロックを読み出す。ブロック送信部170は、読み出した符号化されたブロックを、プロセッサ910を用いてパケット化する。ブロック送信部170は、パケット化した符号化されたブロックを、トランスミッタ952を介してパケット単位で送信する。

0031

***動作の説明***
次に、図4を用いて、本実施の形態に係る画像処理装置100の画像処理方法510及び画像処理プログラム520の画像送信処理S100について説明する。
画像送信処理S100は、ループ端S101に囲まれた処理を繰り返し実行する。

0032

テップS102において、キャプチャ部110は、差分マップ831と巡回マップ841とに基づいて、差分マップ831と巡回マップ841とに差分送信予定状態203又は巡回送信予定状態302のブロックがあるか否かを判定する。キャプチャ部110は、差分送信予定状態203又は巡回送信予定状態302のブロックがある場合には、キャプチャを実行せずに差分送信予定状態203又は巡回送信予定状態302のブロックを送信する指示をブロック送信部170に出力する。
具体的には、キャプチャ部110は、画面のキャプチャを実行するか否かを判定するために、送信予定状態のブロック、すなわち差分送信予定状態203のフラグがオン又は巡回送信予定状態302のフラグがオンのブロックがあるかどうかを、差分マップ記録部183及び巡回マップ記録部184に問い合わせる。送信予定状態のブロックがない場合、キャプチャ部110は、ステップS103に処理を進め、画面のキャプチャを実行し、キャプチャ画像811を画像記憶部181に記憶する。送信予定状態のブロックがある場合、キャプチャ部110は、ブロック送信処理S107に処理を進める。なお、送信予定状態のブロックがある場合とは、ブロック送信処理S107中に何らかの原因により処理が中断された等の理由により、送信予定状態のブロックが残っている場合等である。

0033

ステップS104において、ブロック分割部120は、キャプチャ部110によりキャプチャされたキャプチャ画像811をブロック状に分割し、ブロック画像821としてブロック記憶部182に記憶する。キャプチャ画像811の分割数ユーザ指定が可能である。また、分割されたブロックにはそれぞれ、重複が発生しないようにしてブロック番号が割り当てられる。ブロック番号を割り当てる方法としては、例えば左上ブロックを1番として、右方向へ横一列に番号を1ずつ増加させていき、右端に到着したら一段下の段の最も左のブロックから再度1ずつ増加させながら番号をふっていく方法がある。

0034

<差分ブロック選定処理S105>
次に、差分ブロック選定処理S105に進む。差分ブロック選定処理S105では、送信する差分ブロックの選定及び符号化を実行する。

0035

図5を用いて、本実施の形態に係る差分ブロック選定処理S105について説明する。
図5のループ端S201に囲まれたステップS202からステップS204の処理は分割された全ブロックに対して実行される。処理の開始はどのブロックからでも良く、また処理する順番も任意である。また、本処理は差分検出部130により実行される。差分検出部130は、全ブロックについてステップS202からステップS204の処理が完了したら、ステップS205に処理を進める。

0036

ステップS202において、差分検出部130は、ブロック画像821と前回ブロック画像822とをブロック記憶部182から取得する。差分検出部130は、処理対象のブロックについて、ブロック画像821と前回ブロック画像822とに差分があるか否かを判定する。ここで、前回ブロック画像822と差分があるブロックを差分ブロックという。差分検出部130は、ブロック画像821と前回ブロック画像822との各々の処理対象のブロックについて、ブロック内のピクセル毎に比較する。差分検出部130は、比較の結果1ピクセルでも異なっていた場合は、処理対象のブロックを差分検出状態202にする。差分検出部130は、比較の結果全ピクセルが同一であった場合は、処理をステップ203に進める。

0037

ステップS203において、差分検出部130は、ステップS202で全ピクセルが同一となった場合、処理対象のブロックについて差分送信予定状態203のフラグがオンとなっているか否かを判定する。処理対象のブロックが差分送信予定状態203であった場合、処理はステップS204に進む。処理対象のブロックが差分送信予定状態203以外の状態であった場合、差分検出部130は、処理対象のブロックに対しての処理を終了し、次のブロックに処理を進める。

0038

なお、差分検出部130は、ステップS202及びステップS203の処理について、どちらを先に実行してもよい。図5の例では、差分検出部130は、ステップS202を先に実行している。ステップS203を先に実行する場合は、差分検出部130は、ステップS203の分岐でNOとなった場合にステップS202に処理を進め、YESとなった場合にステップS204に処理を進める。この場合、差分検出部130は、ステップS202でYESとなった場合にステップS204に処理を進め、ステップS202でNOとなった場合に次のブロックへと処理を進める。

0039

ステップS204において、差分検出部130は、処理対象のブロックについて差分検出状態202のフラグをオンにし、次のブロックへ処理を進める。

0040

ステップS205において、差分ブロック選定部140は、差分送信予定状態203となったブロックの符号化後の符号量の合計値を示すSumDiffを初期化して0にする。

0041

次に、差分ブロック選定部140は、ループ端S206で囲まれたステップS207からステップS210までの処理を実行する。差分ブロック選定部140は、ループ端S206で囲まれた処理は、フラグが差分検出状態202となっているブロックに対して実行される。この処理(ステップS207からステップS210までの処理)が初めて実行される場合、すなわちキャプチャ画像811が1フレーム目の場合、処理の開始位置は最も左上に存在し、かつフラグが差分検出状態202となっているブロックである。その後、キャプチャ画像811が2フレーム目以降の場合、処理の開始位置は、前回、巡回送信予定状態302となった最後のブロックよりも後で、かつ最も近いフレーム番号を持つ差分検出状態202のブロックからとなる。

0042

ステップS207において、差分ブロック選定部140は、差分検出状態202である処理対象のブロック(差分ブロックとする)を符号化部150に受け渡し、符号化をする。符号化部150は、差分ブロックを利用可能な符号化アルゴリズムを用いて符号化すると共に、符号化後の符号量のサイズDiffを算出する。符号化部150は、符号化済みの差分ブロックを符号化差分ブロックとして出力すると共に、符号化差分ブロックのサイズDiffを出力する。すなわち、符号化部150は、符号化差分ブロックとそのサイズDiffを差分ブロック選定部140に受け渡す。

0043

ステップS208において、差分ブロック選定部140は、SumDiffとDiffとの合計値が差分閾値Xを上回っているか否かを判定する。ここで、差分閾値Xは1回のキャプチャで送信可能な符号化された差分ブロックの合計値の上限値(上限サイズといもいう)である。SumDiffとDiffとの合計値が差分閾値Xを上回っていた場合、差分ブロック選定部140は、次の差分ブロックに処理を進める。SumDiffとDiffとの合計値が差分閾値X以下だった場合、差分ブロック選定部140は、ステップS209に処理を進める。

0044

ステップS209において、差分ブロック選定部140は、差分マップ記録部183を通して、差分ブロックのフラグを差分送信予定状態203にする。ステップS207において符号化部150により出力された符号化差分ブロックは、送信予定の符号化差分ブロック、すなわち差分符号化ブロック1401となる。

0045

ステップS210において、差分ブロック選定部140は、SumDiffの現在値にDiffの値を加算する。

0046

以上で、差分ブロック選定処理S105は完了である。差分ブロック選定処理S105では、最終的に差分ブロック選定部140から巡回ブロック選定部160に対して、分割されたキャプチャ画像(すなわち、ブロック画像821)、符号化差分ブロックのうち差分送信予定状態203となった差分符号化ブロック1401及びSumDiffの値が出力される。又は、差分符号化ブロック1401を除くブロック画像821、差分符号化ブロック1401及びSumDiffの値が出力されるとしてもよい。
以上のように、差分ブロック選定部140は、差分検出部130により検出された差分ブロックから、差分送信予定状態203となる1以上の差分送信予定ブロック2031を選定する。差分ブロック選定部140は、差分ブロックを符号化部150に出力し、符号化部150から符号化された差分ブロックである符号化差分ブロックと符号化差分ブロックのデータサイズとを取得する。差分ブロック選定部140は、符号化差分ブロックのデータサイズに基づいて1以上の差分送信予定ブロック2031を選定する。また、差分ブロック選定部140は、1以上の差分送信予定ブロック2031を選定した場合に、1以上の差分送信予定ブロック2031の各々の状態を差分送信予定状態203として差分マップ831に記録する。なお、差分ブロック選定部140は、差分ブロックから、各々を符号化した符号量の合計値が差分閾値Xを超えない1以上の差分送信予定ブロック2031を選定する。そして、差分ブロック選定部140は、1以上の差分送信予定ブロック2031が符号化された1以上の差分符号化ブロック1401を出力する。

0047

<巡回ブロック選定処理S106>
次に、図4の巡回ブロック選定処理S106に進む。巡回ブロック選定処理S106では、送信する巡回ブロックの選定及び符号化を実行する。

0048

図6を用いて、本実施の形態に係る巡回ブロック選定処理S106について説明する。
まず、ステップS301において、巡回ブロック選定部160は、SumRndを初期化して0にする。SumRndは巡回送信予定状態302となったブロックの符号化後の符号量の合計値を示す。

0049

図6のループ端S302に囲まれたステップS303の巡回送信予定ブロック選定処理S390は全ブロックに対して実行される。
巡回ブロック選定部160は、差分ブロック選定部140から、分割されたキャプチャ画像(すなわち、ブロック画像821)、差分が検出された一部の符号化されたブロック(すなわち、差分符号化ブロック1401)及びSumDiffの値を受け取る。ループ端S302に囲まれたステップS303では、巡回ブロック選定部160は、受け取ったブロック画像821に対して、最も左上に位置するブロックから処理を開始する。処理の順番はブロック番号と一致する。

0050

ステップS303において、巡回ブロック選定部160は、巡回送信予定ブロック選定処理S390を実行する。
図7を用いて、本実施の形態に係る巡回送信予定ブロック選定処理S390について詳しく説明する。

0051

<巡回送信予定ブロック選定処理S390>
ステップS401において、巡回ブロック選定部160は、差分マップ831及び巡回マップ841を参照し、処理対象のブロックの状態を判定する。巡回ブロック選定部160は、処理対象のブロックの状態を、差分マップ記録部183及び巡回マップ記録部184を通して取得する。巡回ブロック選定部160は、処理対象のブロックの状態が差分送信予定状態203又は巡回送信予定状態302となっている、又は送信済み状態303となっている場合はステップS402以降の処理をせずに、次のブロックに処理を進める。巡回ブロック選定部160は、全てがNOとなった場合、すなわち処理対象のブロックの状態が差分送信予定状態203ではなく、かつ、巡回送信予定状態302ではなく、かつ、送信済み状態303ではない場合、ステップS402以降の処理を実行する。
ここで、複数のブロックのうち1以上の差分送信予定ブロック2031(すなわち、差分送信予定状態203のフラグがオンのブロック)以外のブロックを巡回ブロックとする。巡回ブロックには、差分送信予定状態203ではなく、かつ、巡回送信予定状態302ではなく、かつ、送信済み状態303ではないブロックが含まれる。

0052

ステップS402において、巡回ブロック選定部160は、処理対象のブロック、すなわち巡回ブロックを符号化部150に渡す。符号化部150は、巡回ブロックを利用可能な符号化アルゴリズムを用いて符号化すると共に、符号化後のサイズ(Rndとする)を算出する。符号化部150は、符号化済みの巡回ブロックを符号化巡回ブロックとして出力すると共に、符号化巡回ブロックのサイズRndを出力する。すなわち、符号化部150は、符号化巡回ブロックとそのサイズRndを巡回ブロック選定部160に渡す。

0053

巡回ブロック選定部160は、符号化巡回ブロック及び符号化巡回ブロックのサイズRndを受け取り、2つの条件分岐処理(ステップS403及びステップS404)を実行する。
ステップS403において、巡回ブロック選定部160は、SumDiffと、SumRndと、Rndとの合計値を求め、その値が差分閾値Xと下限値Yとの合計値以下か否かを判定する。ここで、下限値Yは1回のキャプチャにて送信可能な符号化された巡回ブロックの下限サイズである。SumDiffと、SumRndと、Rndとの合計値が差分閾値Xと下限値Yとの合計値以下の場合は処理をステップS404に進める。そうでない場合はステップS404以降の処理をせずに、巡回送信予定ブロック選定処理S390を終了する。
ステップS404において、巡回ブロック選定部160は、SumRndと、Rndとの合計が上限値Z以下か否かを判定する。ここで、上限値Zは1回のキャプチャにて送信可能な符号化された巡回ブロックの上限サイズである。SumRndとRndとの合計値が上限値Z以下の場合は、処理をステップS405に進める。そうでない場合は、ステップS405以降の処理をせずに、巡回送信予定ブロック選定処理S390を終了する。

0054

ステップS405において、巡回ブロック選定部160は、巡回マップ記録部184を通して、処理対象の巡回ブロックの巡回送信予定状態302のフラグをオンにする。ここで、巡回送信予定状態302となった処理対象の巡回ブロックは、巡回送信予定ブロック3021である。また、巡回送信予定ブロック3021が符号化されたブロックは、巡回符号化ブロック1601である。

0055

ステップS406において、巡回ブロック選定部160は、SumRndにRndの値を加算する。

0056

以上で、巡回送信予定ブロック選定処理S390は完了である。ステップS303の処理では最終的に巡回送信予定状態302となるブロックを選定し、そのブロックの状態を巡回送信予定状態302とする。

0057

次に、図6戻り説明を続ける。
ステップS304において、巡回ブロック選定部160は、SumRndと下限値Yとの比較をする。巡回ブロック選定部160は、比較の結果、SumRndが下限値Y以下だった場合は処理をステップS305に進める。SumRndが下限値Yを上回っていた場合は巡回ブロック選定処理S106を終了する。

0058

ステップS305以降の処理は、巡回マップ841のすべてのブロックが巡回送信予定状態302又は送信済み状態303となっている場合で、かつ、これまでの処理で差分送信予定状態203又は巡回送信予定状態302となったブロックの合計値が、送信許容サイズの差分閾値Xと下限値Yの合計値以下となった場合に行う。

0059

まず、ステップS305において、巡回ブロック選定部160は、巡回マップ記録部184を通して、巡回マップ841において送信済み状態303がオンとなっている全てのブロックについて、送信済み状態303を未送信状態301にする。

0060

その後、巡回ブロック選定部160は、ループ端S306で囲まれたステップS307の処理を実行する。ステップS307の処理は、図7で説明した巡回送信予定ブロック選定処理S390である。ループ端S306におけるブロックの開始位置は、巡回送信予定状態302となっているブロックのうち、最大の番号となっているブロックの次のブロックである。
ステップS307において、巡回ブロック選定部160は、巡回送信予定状態302となっているブロックのうち、最大の番号となっているブロックの次のブロックから巡回送信予定ブロック選定処理S390を開始する。巡回送信予定ブロック選定処理S390については図7で説明したものと同一である。

0061

以上で、図6の巡回ブロック選定処理S106の説明を終わる。巡回ブロック選定処理S106では、最終的に巡回送信予定状態302となるブロックの符号量の合計値が、予め設定された上限値Z以下かつ下限値Y以上となり、それらブロックの状態が巡回送信予定状態302となる。
以上のように、巡回ブロック選定部160は、複数のブロックのうち1以上の差分送信予定ブロック2031以外のブロックである巡回ブロックから、符号化して送信する1以上の巡回送信予定ブロック3021を選定する。巡回ブロック選定部160は、巡回ブロックを符号化部150に出力し、符号化部150から符号化された巡回ブロックである符号化巡回ブロックと符号化巡回ブロックのデータサイズとを取得する。巡回ブロック選定部160は、符号化巡回ブロックのデータサイズに基づいて、1以上の巡回送信予定ブロック3021を選定する。また、巡回ブロック選定部160は、1以上の巡回送信予定ブロック3021を選定した場合に、1以上の巡回送信予定ブロック3021の各々の状態を巡回送信予定状態302として巡回マップ841に記録する。なお、1以上の巡回送信予定ブロック3021の各々を符号化した符号量の合計値は下限値Yと上限値Zの範囲内となる。

0062

<ブロック送信処理S107>
次に、図4に戻り説明を続ける。
巡回ブロック選定処理S106の処理の後はブロック送信処理S107に処理を進める。ブロック送信処理S107では、ブロック送信部170は、符号化部150により符号化された1以上の差分符号化ブロック1401と1以上の巡回符号化ブロック1601とを送信する送信処理を実行する。ブロック送信部170は、送信処理により一度に送信できる符号量が符号量閾値までの1以上の差分符号化ブロックと1以上の巡回符号化ブロックとであるものとする。すなわち、上述した差分閾値Xと上限値Zとを加算した値はこの符号量閾値以下となる必要がある。

0063

図8を用いて、本実施の形態に係るブロック送信処理S107について説明する。
ブロック送信処理S107は、差分送信予定状態203又は巡回送信予定状態302となったブロックを送信する処理である。ブロック送信処理S107は、ループ端S501で囲まれたステップS502からステップS506までの処理を実行する。ブロック送信処理S107は、開始位置を左上ブロックとした、各ブロックに対するループ処理である。

0064

まず、ステップS502において、ブロック送信部170は、処理対象のブロックが差分送信予定状態203か否かを判定する。差分送信予定状態203である場合、ステップS504に処理を進める。そうでない場合、ステップS503に処理を進める。
ステップS503において、ブロック送信部170は、処理対象のブロックが巡回送信予定状態302か否かを判定する。巡回送信予定状態302の場合、ステップS504に処理を進める。そうでない場合、ステップS503以降の処理は行わず、次のブロックについての処理を行う。

0065

ステップS504において、ブロック送信部170は、処理対象のブロックをパケット化し、送信処理を実行する。パケット化、送信処理に用いるプロトコルの例としてはTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)等がある。

0066

ステップS505において、ブロック送信部170は、差分マップ記録部183を通して、処理対象のブロックに対応する差分マップ831の状態を通常状態201にする。
さらに、ステップS506において、ブロック送信部170は、巡回マップ記録部184を通して、処理対象のブロックに対応する巡回マップ841の状態を送信済み状態303にする。
すなわち、ブロック送信部170は、1以上の差分符号化ブロック1401の各々と1以上の巡回符号化ブロック1601の各々との状態を送信済み状態303としてブロック状態情報851に記録する。

0067

ブロック送信処理S107の後は、ステップS108において、画像処理装置100は、次のキャプチャタイミングが来るまで待機する。キャプチャタイミングが来たかどうかの判定方法は、例えば、キャプチャを実行(ステップS103を実行)してからの経過時間が一定時間を過ぎるまで待機したかを判定する、等がある。
以上で、本実施の形態に係る画像送信処理S100の説明を終わる。

0068

***他の構成***
本実施の形態では、画像処理装置100の「部」の機能がソフトウェアで実現されるが、変形例として、画像処理装置100の「部」の機能がハードウェアで実現されてもよい。
図9を用いて、本実施の形態の変形例に係る画像処理装置100の構成について説明する。
図9に示すように、画像処理装置100は、処理回路909、入力インタフェース930、出力インタフェース940、通信装置950といったハードウェアを備える。

0069

処理回路909は、前述した「部」の機能及び記憶部180を実現する専用の電子回路である。処理回路909は、具体的には、単一回路複合回路プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate・Array)、ASIC(Application・Specific・Integrated・Circuit)、又は、FPGA(Field−Programmable・Gate・Array)である。

0070

画像処理装置100は、処理回路909を代替する複数の処理回路を備えていてもよい。これら複数の処理回路により、全体として「部」の機能が実現される。それぞれの処理回路は、処理回路909と同じように、専用の電子回路である。

0071

別の変形例として、画像処理装置100の機能がソフトウェアとハードウェアとの組合せで実現されてもよい。すなわち、画像処理装置の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。

0072

プロセッサ910、記憶装置920、及び、処理回路909を、総称して「プロセッシングサーキットリ」という。つまり、画像処理装置の構成が図1及び図9のいずれに示した構成であっても、「部」の機能及び記憶部180は、プロセッシングサーキットリにより実現される。

0073

「部」を「工程」又は「手順」又は「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。

0074

***本実施の形態の効果の説明***
以上のように、本実施の形態に係る画像処理装置100では、1配信画面(1ピクチャ)あたりの符号量に上限である符号量閾値を設けている。全体の符号量が符号量閾値を超えそうになった場合は、符号量閾値を超えない範囲で符号化した1配信画面の一部のブロックを送信する。送信できなかったブロックは次回の1配信画面(1ピクチャ)の画像送信処理に持ち越す。本実施の形態に係る画像処理装置100では、このときに符号化するブロックを巡回させながら選択するため、確実に全画面分のブロックを送信するができる。

0075

また、本実施の形態に係る画像処理装置100では、送信するデータを差分ブロックと巡回ブロックに分け、それぞれの合計データ量送信毎一定値以下に抑えることで、転送レートを安定させることができる。また、差分ブロックもデータをまるごと送信するため、差分ブロックと巡回ブロックの送信は同様に扱える。さらに、差分ブロックのデータ量が多くなった場合は、差分ブロックを毎フレームごとに巡回させながら送信する。これによって、差分ブロックのデータ量が多い場合でも確実に全画面を更新することができる。

0076

実施の形態2.
***構成の説明***
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。

0077

実施の形態1では、図4の画像送信処理S100のステップS102において、送信予定状態のブロック、すなわち差分送信予定状態203又は巡回送信予定状態302がない場合に、画面のキャプチャを実行する処理であった。つまり、実施の形態1では、送信予定状態のブロックがある場合にはブロック送信処理S107を優先して実行しキャプチャは行わない。
本実施の形態では、送信予定状態のブロックがあっても画面を必ずキャプチャする画像送信処理S100aについて説明する。

0078

***動作の説明***
図10は、本実施の形態に係る画像送信処理S100aを示す図である。
図10に示す画像送信処理S100aでは、図4に示すステップS102がない。それ以外は図4に示す画像処理装置100の画像送信処理S100と処理内容は同一である。

0079

***本実施の形態に係る効果の説明***
以上のように、本実施の形態に係る画像送信処理S100aによれば、毎フレームごとに画面のキャプチャをするので、画像の変化が激しいときに画面の一部領域の更新が毎フレーム可能となる。

0080

実施の形態3.
***構成の説明***
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。

0081

実施の形態1では、図8のブロック送信処理S107において、差分送信予定状態203又は巡回送信予定状態302となっている全ブロックを送信していた。
本実施の形態では、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷CPU負荷)等により、送信を続けるか続けないかを判定することができるブロック送信処理S107bを有する画像送信処理S100bについて説明する。本実施の形態のブロック送信処理S107bでは、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷(CPU負荷)等が、予め定められた値よりも上回っているか否かを判定することにより、送信処理の続行を判定する。
また、本実施の形態では図4のS102での画面のキャプチャを実行するかしないかの条件分岐において、差分送信予定状態203又は巡回送信予定状態302のブロックの合計データ量がX+Yを上回っているかどうかで判定する。X+Yを上回っている場合はキャプチャを実行せずに差分送信予定状態203又は巡回送信予定状態302のブロックを送信する指示をブロック送信部170に出力し、X+Y以下の場合はキャプチャを実行し処理をS104に進める。上述したように、差分閾値Xは1回のキャプチャで送信可能な符号化された差分ブロックの合計値の上限サイズである。また、下限値Yは1回のキャプチャで送信可能な符号化された巡回ブロックの下限サイズである。

0082

***動作の説明***
図4のS102での処理は具体的に、キャプチャ部110が画面のキャプチャを実行するか否かを判定するために、送信予定状態のブロック、すなわち差分送信予定状態203のフラグがオン又は巡回送信予定状態302のフラグがオンのブロックがあるかどうかを、差分マップ記録部183及び巡回マップ記録部184に問い合わせる。送信予定状態のブロック又は差分送信予定状態203のブロックがない、又は、あるがそのデータ量の合計がX+Y以下の場合、キャプチャ部110は、ステップS103に処理を進め、画面のキャプチャを実行し、キャプチャ画像811を画像記憶部181に記憶する。送信予定状態のブロックがあり、かつ、そのデータ量の合計がX+Yを上回っている場合、キャプチャ部110は、ブロック送信処理S107bに処理を進める。

0083

図11は、本実施の形態に係るブロック送信処理S107bを示す図である。
図11に示すブロック送信処理S107bでは、図8に示すブロック送信処理S107にステップS507及びステップS508が加わっている。それ以外は図8に示すブロック送信処理S107と処理内容は同一である。
ステップS507において、ブロック送信部170は、送信処理の実行中に送信処理を続行するか否かを判定し、送信処理を続行しないと判定した場合に、送信処理を中断する。具体的には、ブロック送信部170は、ユーザからの送信中断を意味する入力や、ネットワーク負荷、他アプリケーションの実行負荷(CPU負荷)等が、予め定められた値よりも上回っているか否かを判定することにより、送信を続けるか否かを判定する。送信を続けると判定した場合は、ステップS502に進み、送信を続けないと判定した場合は、ステップS508に処理を移す。
ステップ508において、巡回送信予定状態302がオンとなっているブロックが存在した場合は、該当するブロックの状態を未送信状態301に変更する。その後、ブロック送信処理S107bを終了する。

0084

***本実施の形態に係る効果の説明***
以上のように、本実施の形態に係る画像送信処理S100bによれば、送信処理を中断可能にすることでステップS504の送信処理自体の負荷やネットワーク負荷の調整が可能となる。

0085

実施の形態4.
***構成の説明***
本実施の形態では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。

0086

実施の形態1では、データの符号化を差分ブロック選定部140及び巡回ブロック選定部160から符号化部150へブロックを渡すことで実行していた。
本実施の形態では、データの符号化はブロック分割部120からのみ行う方式について説明する。

0087

図12を用いて、本実施の形態に係る画像処理装置100cの構成について説明する。
図12の画像処理装置100cにおいて、図1の画像処理装置100と異なる点は、ブロック記憶部182に記憶されるデータが符号化ブロック画像821bと前回符号化ブロック画像822bという点である。ブロック分割部120は、未符号化のブロックを符号化部150に出力する。符号化部150は、ブロック分割部120からのみ未符号化のブロックを受け取り、符号化処理をして、符号化済みデータとそのデータサイズをブロック分割部120に出力する。符号化の方法は実施の形態1と同じである。符号化ブロック画像821bは、符号化済みデータとそのデータサイズである。
ブロック分割部120は、符号化部150から出力された符号化済みデータとそのデータサイズをブロック記憶部182に記憶する。ブロック記憶部182は、フレームをまたいで符号化済みデータ及びそのデータサイズを記憶してもよい。すなわち、ブロック記憶部182は、ブロック分割部120から出力された符号化済みデータ及びそのデータサイズを蓄積する。

0088

***動作の説明***
図17は、本実施の形態に係る画像処理装置100cの画像処理方法510及び画像処理プログラム520の画像送信処理S100cを示す図である。図13は、本実施の形態に係る差分ブロック選定処理S105cを示す図である。また、図14は、本実施の形態に係る巡回送信予定ブロック選定処理S390cを示す図である。
図17では実施の形態1の図4に対してステップS1001が追加されている。図13では、実施の形態1の図5に対してステップS701が追加され、ステップS207が削除されている点以外、図5と同じである。また、図14では、実施の形態1の図7に対してステップS801が追加され、ステップS402が削除されている点以外、図7と同じである。

0089

図17の画像処理方法510では、図5の差分ブロック選定処理S105のステップS207で実施していた符号化を、ブロック分割部120によりステップS1001にて実行している。ステップS1001において、ブロック分割部120は符号化済みデータとそのデータサイズをブロック記憶部182に記録する。
図5のステップS207では符号化処理をしていたが、図13のステップS701では、差分ブロック選定部140は、ブロック記憶部182から符号化済みデータ及びそのデータサイズを読み出す。すなわち、ステップS701において、差分ブロック選定部140は、差分ブロックが符号化された符号化差分ブロックと符号化差分ブロックのデータサイズとを、ブロック記憶部182から取得し、符号化差分ブロックのデータサイズに基づいて、1以上の差分送信予定ブロック2031を選定する。

0090

また、図14の巡回送信予定ブロック選定処理S390cでは、図7のステップS402で実行していたデータの符号化に替えて、ステップS801を実行する。
ステップS801において、巡回ブロック選定部160は、ブロック記憶部182から符号化済みデータ及びそのデータサイズを読み出す。

0091

***本実施の形態の効果の説明***
以上のように、本実施の形態に係る画像処理装置100cによれば、符号化したデータを差分ブロック選定部140及び巡回ブロック選定部160において比較するため、符号化前のデータを比較するのに比べて比較するデータ量が減少し比較処理の負荷を軽減できる。

0092

実施の形態5.
***構成の説明***
本実施の形態では、主に、実施の形態2との差異について説明する。
本実施の形態において、実施の形態1から4で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
本実施の形態では、差分検出部130dとブロック分割部120dとの実施順序が、実施の形態1から4までの差分検出部130とブロック分割部120との実施順序と入れ替わっている構成について説明する。

0093

図15を用いて、本実施の形態に係る画像処理装置100dの構成について説明する。本実施の形態に係る画像処理装置100dにおいて、実施の形態の画像処理装置100と異なる点は、差分検出部130dを実行してからブロック分割部120を実行する点である。

0094

差分検出部130dは、キャプチャ画像811と前回キャプチャ画像812とを画像記憶部181から読み出す。差分検出部130dは、読み出したキャプチャ画像811と前回キャプチャ画像812とに差分があるかどうかをピクセル単位で比較する。そして、差分検出部130dは、どのピクセルに差分が生じているか示す差分ピクセル情報をブロック分割部120dに出力する。このとき、差分検出部130dは、キャプチャ画像811もブロック分割部120dに出力してもよい。
ブロック分割部120dは、差分検出部130からどのピクセルに差分が生じているかを示す差分ピクセル情報を受け取り、キャプチャ画像811を複数のブロックに分割する。分割方法はユーザ又は設定ファイルから指定され、縦方向に1回以上、横方向に1回以上分割する。またこのとき縦横どちらの方向であっても、分割しないことも可能である。分割後は、ブロック分割部120dは、ブロックごとに差分が生じているピクセルが含まれているか否かを判定する。ブロック分割部120dは、差分がある場合は差分マップ記録部183を通して差分マップ831へ、差分検出状態202を書きこむ。そして、ブロック分割部120dは、ブロック分割された今回のキャプチャ画像811をブロック画像821としてブロック記憶部182に記憶する。

0095

***動作の説明***
図16を用いて、本実施の形態に係る画像送信処理S100dについて説明する。
図16の画像送信処理S100dでは、図10で説明した画像送信処理S100aに対して、ステップS103とステップS104との間にステップS901が追加される。ステップS104dのブロック分割部120dによる処理も実施の形態2とは異なる。また、差分ブロック選定処理S105dにおいても実施の形態2とは異なり、ブロック毎の差分検出は実行しない。それ以外の動作は実施の形態2と同じである。

0096

ステップS901において、差分検出部130dは、キャプチャ画像811と前回キャプチャ画像812とをピクセル単位で比較する。差分検出部130dは、前回キャプチャ画像812と差分のあるピクセルを示す差分ピクセル情報を、ブロック分割部120dに出力する。
ステップS104dにおいて、ブロック分割部120dは、キャプチャ画像811を複数のブロックに分割し、差分ピクセル情報に基づいて差分のあるピクセルが含まれるブロックを差分ブロックとして検出する。
差分ブロック選定処理S105dにおいて、差分ブロック選定部140は、ブロック分割部120dにより検出された差分ブロックから1以上の差分送信予定ブロック2031を選定する。1以上の差分送信予定ブロック2031を選定する処理については、実施の形態1で説明したものと同様である。

0097

***本実施の形態の効果の説明***
以上のように、本実施の形態に係る画像処理装置100dによれば、実施の形態1,2と同様の効果を得ることができる。

0098

実施の形態6.
***構成の説明***
本実施の形態6では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。

0099

***動作の説明***
図18は、本実施の形態に係る画像処理装置100eの画像処理方法510及び画像処理プログラム520の画像送信処理S100eを示す図である。
実施の形態1では、図4のS102において、送信予定状態のブロック、すなわち差分送信予定状態203又は巡回送信予定状態302がある場合に、S107に処理を進めていた。
本実施の形態では、図18に示すように、送信予定状態のブロック、すなわち差分送信予定状態203がある場合は処理をS105に進める。また、実施の形態1ではS107の処理を実施していたが、本実施の形態では図11に示したS107bの処理を実行する。

0100

ここで、図19を用いて、本実施の形態における画面分割後にある差分ブロック選定処理S105と巡回ブロック選定処理S106の具体例について説明する。
図19前提条件として、差分送信予定状態となるブロックの上限値Xを10ブロック、巡回送信予定状態となるブロックの下限値Yを2ブロック、巡回送信予定状態となるブロックの上限値Zを5ブロックとする。また、ブロックの番号振りは、左上隅のブロックを1番として、右方向へ横一列に番号を1ずつ増加させていき、右端に到着したら一段下の段の最も左のブロックから再度1ずつ増加させながら番号をふっていくものとする。20個のブロックを(1)〜(20)とした。

0101

図19の1001、1003、1005、1007、1009、1011、1013、1015は、図5のステップS202終了後、すなわち差分検出直後のデータを示す。4辺共に太線で囲まれているブロックは差分があることを示す。また、少なくとも1辺が細線のブロックは差分がないことを示す。
例えば、1001では、(1)〜(20)が、4辺が太線で囲まれているブロック、すなわち差分があるブロックである。また、1005では(7)、(8)、(12)〜(14)、(18)、(19)が、4辺が太線で囲まれているブロック、すなわち差分があるブロックである。
また、例えば、1001では、少なくとも1辺が細線のブロック、すなわち差分があるブロックは存在しない。一方、1005では(1)〜(6)、(9)〜(11)、(15)〜(17)、(20)が、少なくとも1辺が細線のブロック、すなわち差分があるブロックである。

0102

図19の1002、1004、1006、1008、1010、1012、1014、1016は差分送信予定状態となったブロックまたは巡回送信予定状態となったブロックを示す。4辺共に太線で囲まれているブロックは差分送信予定状態となったブロックを示す。また、少なくとも1辺が細線のブロックは巡回送信予定状態となったブロックを示す。
例えば、1002では(1)〜(10)が、4辺が太線で囲まれているブロック、すなわち差分送信予定状態となったブロックを示す。また、1006では(7)、(8)、(12)〜(14)、(18)、(19)が、4辺が太線で囲まれているブロック、すなわち差分送信予定状態となったブロックを示す。
また、例えば、1002では(11)、(12)が、少なくとも1辺が細線のブロック、すなわち巡回送信予定状態となったブロックを示す。また、1006では(1)〜(5)が、少なくとも1辺が細線のブロック、すなわち巡回送信予定状態となったブロックを示す。

0103

図19の1001及び1002は、初回ループ、すなわち1回目のループでのブロックの状態を示す。初回ループ時は前回キャプチャ画像811が存在しないが、その場合は全ブロックを差分ありとみなして処理を続ける。そのため、1001では全ブロックが差分ありとしている。1002には差分送信予定状態となったブロックが10個、巡回送信予定状態となったブロックが2個存在する。ブロック送信処理S107にて1002のブロックをすべて送信し、初回ループを終了する。

0104

図19の1003及び1004は、2回目のループでのブロックの状態を示す。2回目のループでは1回目のループにて送信できなかったブロック(13)〜(20)が残ったため、ステップS102の条件判定にてブロック送信処理S107へ処理を移している。ブロック送信処理S107では(13)〜(20)を送信する。

0105

図19の1005及び1006は、3回目のループでのブロックの状態を示す。3回目では(7)、(8)、(12)〜(14)、(18)、(19)にて差分が検出されている。差分ブロック選定処理S105の処理を実行した結果、差分が検出された前記ブロックすべてが差分送信予定状態となったことを1006が示している。さらに、巡回ブロック選定処理S106のステップS305にて巡回ブロックの送信済み状態がクリアされ、(1)〜(5)が巡回送信予定状態となった。

0106

図19の1007及び1008は、4回目のループでのブロックの状態を示す。4回目のループでは、1007で7つのブロック(10)、(14)、(15)、(17)〜(20)で差分が検出されている。そして、1007でこの7つのブロック(10)、(14)、(15)、(17)〜(20)が差分送信予定状態に、1008で5つのブロック(6)〜(11)が巡回送信予定状態となっている。巡回送信予定状態のブロックの選定は、3回目のループにて巡回送信予定状態となった(5)のブロックの次から始まっている。

0107

図19の1009及び1010は、5回目のループでのブロックの状態を示す。5回目のループでは、1009にて(1)、(7)、(19)のみに差分が検出されている。1010では、(1)、(7)、(19)が差分送信予定状態となり、(12)〜(16)が巡回送信予定状態となっている。
図19の1011及び1012は、6回目のループでのブロックの状態を示す。6回目のループでは、1011にて(1)、(4)、(5)、(11)を除くブロックで差分が検出されている。1012にて差分送信予定状態となったブロックは10個、巡回送信予定状態となったブロックは2つである。

0108

図19の1013及び1014は、7回目のループでのブロックの状態を示す。7回目のループでは、6回目のループにて送信しきれなかった(17)〜(20)のブロックを送信する。
図19の1015及び1016は、8回目のループでのブロックの状態を示す。8回目のループでは、1015にて9個のブロックに差分が検出されている。巡回ブロック選定処理S106のステップS305にて巡回ブロックの送信済み状態がクリアされ、(1)〜(3)のブロックが巡回送信予定状態となった。
以上で、本実施の形態における差分ブロック選定処理S105と巡回ブロック選定処理S106の具体例についての説明を終わる。

0109

***本実施の形態の効果の説明***
本実施の形態では、S107bにて送信が中断された際に、差分ブロック及び巡回ブロックの再選択が可能になる。これによって、実施の形態1よりも多くの差分ブロック、巡回ブロックを送信できるようになる。

0110

実施の形態7.
***構成の説明***
本実施の形態7では、主に、実施の形態1との差異について説明する。
本実施の形態において、実施の形態1で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。

0111

***動作の説明***
図20を用いて、本実施の形態に係る巡回ブロック選定処理S106fについて説明する。
実施の形態1では、図6の巡回ブロック選定処理S106において、ステップS306及びステップS307により、巡回送信予定状態となるブロックの再選択を実施していた。
本実施の形態では、図20に示すように、ステップS306及びステップS307の処理を実施しないものとする。

0112

***本実施の形態の効果の説明***
本実施の形態によれば、
巡回送信予定状態となるブロックの再選択をステップS306及びステップS307にて行わないことで、一度送信したブロック再送信を次回以降のループにて行うようになる。これにより、巡回送信予定状態ブロック送信量を減らすことができ、ネットワーク帯域を節約することができる。

0113

以上で、実施の形態1から7の説明を終わる。なお、これらの実施の形態1から7のうち、複数を部分的に組合せて実施しても構わない。或いは、これらの実施の形態1から7のうち、1つの実施の形態を部分的に実施しても構わない。或いは、これらの実施の形態1から7の各々の一部分を部分的に組合せて実施しても構わない。その他、これらの実施の形態1から7を、全体として或いは部分的に、どの様に組合せて実施しても構わない。

0114

上記の実施の形態1から7では、「部」の各々が独立した機能ブロックとして画像処理装置を構成している。しかし、上記のような構成でなくてもよく、画像処理装置の構成は任意である。画像処理装置の機能ブロックは、上記の実施の形態1から7で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、或いは任意のブロック構成で、画像処理装置を構成しても構わない。
また、画像処理装置は、1つの装置でなく、複数の装置から構成されたシステムでもよい。

0115

また、実施の形態1から7の説明において「部」として説明するもののうち、いずれか1つのみを採用してもよいし、いくつかの任意の組合せを採用してもよい。つまり、画像処理装置の機能構成は、上記の実施の形態1から7で説明した機能を実現することができれば、任意である。機能構成を、どのような組合せ、或いは任意の機能構成で構成しても構わない。

0116

なお、上記の実施の形態1から7は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。

0117

100,100c,100d画像処理装置、110キャプチャ部、120,120dブロック分割部、130,130d差分検出部、140差分ブロック選定部、150 符号化部、160巡回ブロック選定部、170ブロック送信部、181画像記憶部、182ブロック記憶部、183差分マップ記録部、184巡回マップ記録部、180 記憶部、185ブロック状態記憶部、201通常状態、202 差分検出状態、203 差分送信予定状態、301 未送信状態、302 巡回送信予定状態、303 送信済み状態、510画像処理方法、520画像処理プログラム、811キャプチャ画像、812前回キャプチャ画像、821ブロック画像、822前回ブロック画像、851ブロック状態情報、831 差分マップ、841 巡回マップ、810配信画像、820比較画像、821b符号化ブロック画像、822b 前回符号化ブロック画像、909処理回路、910プロセッサ、920記憶装置、930入力インタフェース、940出力インタフェース、950通信装置、951レシーバ、952トランスミッタ、921メモリ、922補助記憶装置、1401差分符号化ブロック、1601巡回符号化ブロック、2031 差分送信予定ブロック、3021 巡回送信予定ブロック、S100,S100a,S100c,S100d,S100e画像送信処理、S105,S105c,S105d 差分ブロック選定処理、S106,S106f 巡回ブロック選定処理、S107,S107b ブロック送信処理、S390,S390c 巡回送信予定ブロック選定処理、X差分閾値、Y 下限値、Z 上限値。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

新着 最近 公開された関連が強い 技術

この 技術と関連性が強い 技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する挑戦したい社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ