(57)【要約】【課題】画像処理装置の低消費電力化を図ることが可能な技術を提供する。【解決手段】画像処理装置は、第１生成部、第２生成部、第１決定部、符号化部及び第１送信部を備える。第１生成部は、フレーム画像を示す階層化された階層化データを生成する。第２生成部は、２つのフレーム画像についての階層化データの差分を示す差分階層化データを生成する。第１決定部は、差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第１データに基づいて、差分階層化データから送信対象データを決定する。符号化部は、送信対象データを圧縮符号化して符号化データを生成する。第１送信部は、符号化データを送信する。【選択図】図３
2018182569.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像を示す階層化された階層化データを生成する第１生成部と、
２つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する第２生成部と、
前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第１データに基づいて、前記差分階層化データから送信対象データを決定する第１決定部と、
前記送信対象データを圧縮符号化して符号化データを生成する符号化部と、
前記符号化データを送信する第１送信部と
を備える画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記第２生成部は、前記２つのフレーム画像についての量子化後の前記階層化データの差分を示す前記差分階層化データを生成する、画像処理装置。
【請求項３】
請求項１及び請求項２のいずれか一つに記載の画像処理装置であって、
前記第１決定部は、前記送信部から送信される前記符号化データを受信し、受信した当該符号化データに基づいて処理を行う装置からの指示情報と前記第１データとに基づいて、前記送信対象データを決定する、画像処理装置。
【請求項４】
請求項１乃至請求項３のいずれか一つに記載の画像処理装置であって、
前記第１決定部は、前記差分階層化データに基づいて、前記第１データを特定するためのマスクデータを生成し、前記マスクデータに基づいて、前記送信対象データを決定する、画像処理装置。
【請求項５】
請求項４に記載の画像処理装置であって、
前記階層化データは、ウェーブレット変換されたデータであって、
前記階層化データは、複数の分解レベルのそれぞれについて、複数のサブバンドを含み、
前記マスクデータには、サブバンドにおいて、その値の絶対値が前記しきい値以上あるいは当該しきい値よりも大きい第２データを特定するためのサブバンドマスクデータが含まれ、
前記第１決定部は、各分解レベルについて、当該分解レベルの複数のサブバンドに共通の前記サブバンドマスクデータを生成する、画像処理装置。
【請求項６】
請求項１乃至請求項５のいずれか一つに記載の画像処理装置であって、
前記フレーム画像を示す画像データに対して、前記フレーム画像を撮影するカメラの位置の変化による影響を補正する補正処理を行う補正部をさらに備え、
前記第１生成部は、前記補正処理が行われた前記画像データに基づいて、前記階層化データを生成する、画像処理装置。
【請求項７】
請求項１乃至請求項５のいずれか一つに記載の画像処理装置であって、
前記階層化データに対して、前記フレーム画像を撮影するカメラの位置の変化による影響を補正する補正処理を行う補正部をさらに備え、
前記第２生成部は、前記補正処理が行われた、前記２つのフレーム画像についての前記階層化データの差分を示す前記差分階層化データを生成する、画像処理装置。
【請求項８】
請求項１乃至請求項７のいずれか一つに記載の画像処理装置であって、
前記第１決定部は、前記差分階層化データ及び前記階層化データから前記送信対象データを決定する、画像処理装置。
【請求項９】
請求項８に記載の画像処理装置であって、
前記第１決定部は、
前記第１データに基づいて、前記送信対象データに含められる候補となる第１候補データを前記差分階層化データから決定し、
前記第１候補データのデータ量が、前記階層化データにおける、当該第１候補データに対応する第２候補データのデータ量よりも小さい場合、前記第１候補データを前記送信対象データに含め、
前記第２候補データのデータ量が前記第１候補データのデータ量よりも小さい場合、前記第２候補データを前記送信対象データに含める、画像処理装置。
【請求項１０】
請求項１乃至請求項９のいずれか一つに記載の画像処理装置であって、
前記送信部は、パケット化されていない前記符号化データを送信する、画像処理装置。
【請求項１１】
請求項１乃至請求項１０のいずれか一つに記載の画像処理装置であって、
前記送信部から送信される前記符号化データは、当該符号化データに基づいて処理を行う装置で受信され、
前記送信対象データに含まれる、画素に対応する値を構成する複数のビットを最上位から見た場合に初めて１が現れるビット位置よりも１ビットだけ上位のビット位置を第１ビット位置とし、当該第１ビット位置から前記所定の処理に応じたビット数だけ下位のビット位置を第２ビット位置とした場合に、前記符号化部は、前記複数のビットのうち、前記最上位から前記第２ビット位置までのビットを圧縮符号化し、当該複数のビットの他のビットを圧縮符号化しない、画像処理装置。
【請求項１２】
請求項１乃至請求項１１のいずれか一つに記載の画像処理装置である第１装置と通信する第２装置である画像処理装置であって、
前記第１装置から送信される前記符号化データを受信する受信部と、
前記符号化データに基づいて処理を行う処理部と
を備える、画像処理装置。
【請求項１３】
請求項１２に記載の画像処理装置であって、
前記処理部は、
前記符号化データに伸張復号化を行って、前記差分階層化データに含まれるデータである差分データを復元する復号化部と、
前記差分データと、前記２つのフレーム画像のうちの一方についての前記階層化データに含まれる、当該差分データに対応するデータである第１非差分データとに基づいて、前記２つのフレーム画像のうちの他方についての前記階層化データに含まれる、当該差分データに対応する第２非差分データを復元する復元部と
を有する、画像処理装置。
【請求項１４】
請求項１３に記載の画像処理装置であって、
前記処理部は、前記第２非差分データに基づく画像に対する画像認識処理を行う画像認識部をさらに有する、画像処理装置。
【請求項１５】
請求項８及び請求項９のいずれか一つに記載の画像処理装置である第１装置と通信する第２装置である画像処理装置であって、
前記第１装置から送信される前記符号化データを受信する受信部と、
前記符号化データに基づいて処理を行う処理部と
を備え、
前記処理部は、
前記符号化データに伸張復号化を行う復号化部と、
前記伸張復号化によって復元される、前記差分階層化データに含まれるデータである差分データと、前記２つのフレーム画像のうちの一方についての前記階層化データに含まれる、当該差分データに対応するデータである第１非差分データとに基づいて、前記２つのフレーム画像のうちの他方についての前記階層化データに含まれる、当該差分データに対応する第２非差分データを復元する復元部と
を有し、
前記処理部は、前記伸張復号化によって復元される、前記階層化データに含まれるデータである第３非差分データと、前記第２非差分データとに基づいて処理を行う、画像処理装置。
【請求項１６】
請求項１５に記載の画像処理装置であって、
前記処理部は、前記第２及び第３非差分データに基づく画像に対して画像認識処理を行う、画像処理装置。
【請求項１７】
請求項３に記載の画像処理装置である第１装置と通信する第２装置である画像処理装置であって、
前記第１装置から送信される前記符号化データを受信する受信部と、
前記符号化データに基づいて処理を行う処理部と、
前記処理部での処理の結果に基づいて、前記第１装置が送信すべきデータを当該第１装置に指示するための指示情報を生成する第３生成部と、
前記指示情報を前記第１装置に送信する第２送信部と
を備え、
前記第１装置は、前記指示情報に基づいて、前記送信対象データを決定する、画像処理装置。
【請求項１８】
請求項１１に記載の画像処理装置である第１装置と通信する第２装置である画像処理装置であって、
前記第１装置から送信される前記符号化データを受信する受信部と、
前記符号化データに基づいて処理を行う処理部と、
前記処理部での処理に応じて、前記第２ビット位置を決める前記ビット数を決定する第２決定部と
を備える、画像処理装置。
【請求項１９】
請求項１２乃至請求項１８のいずれか一つに記載の画像処理装置であって、
前記第２装置は、前記処理部での処理の結果を送信する、画像処理装置。
【請求項２０】
請求項１乃至請求項１１のいずれか一つに記載の画像処理装置である第１装置と、
請求項１２乃至請求項１９のいずれか一つに記載の画像処理装置である第２装置と
を備える、画像処理システム。
【請求項２１】
請求項２０に記載の画像処理システムと、
前記画像処理システムの前記第２装置から、前記処理部での処理の結果を受け取る第３装置と
備える、情報処理システム。
【請求項２２】
請求項２１に記載の情報処理システムであって、
前記第１及び第２装置は、ローカルネットワークで接続され、
前記第２及び第３装置は、インターネットで接続されている、情報処理システム。
【請求項２３】
請求項２２に記載の情報処理システムであって、
前記第２装置には複数の前記第１装置が前記ローカルネットワークで接続されている、情報処理システム。
【請求項２４】
画像処理装置での画像処理方法であって、
フレーム画像を示す階層化された階層化データを生成する工程と、
２つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する工程と、
前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きいデータに基づいて、前記差分階層化データから送信対象データを決定する工程と、
前記送信対象データを圧縮符号化して符号化データを生成する工程と、
前記符号化データを送信する工程と
を備える画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理に関する。
【背景技術】
【０００２】
特許文献１及び２には、画像処理に関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９２３２１号公報
【特許文献２】特開２００３−２１９３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像処理装置については、その消費電力の低減が望まれている。
【０００５】
そこで、本発明は上述の点に鑑みて成されたものであり、画像処理装置の低消費電力化を図ることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
画像処理装置の一態様は、フレーム画像を示す階層化された階層化データを生成する第１生成部と、２つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する第２生成部と、前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きい第１データに基づいて、前記差分階層化データから送信対象データを決定する第１決定部と、前記送信対象データを圧縮符号化して符号化データを生成する符号化部と、前記符号化データを送信する第１送信部とを備える。
【０００７】
また、画像処理装置の一態様は、上記の画像処理装置である第１装置と通信する第２装置である画像処理装置であって、前記第１装置から送信される前記符号化データを受信する受信部と、前記符号化データに基づいて処理を行う処理部とを備える。
【０００８】
また、画像処理システムの一態様は、上記の第１装置と、上記の第２装置とを備える。
【０００９】
また、情報処理システムの一態様は、上記の画像処理システムと、前記画像処理システムの前記第２装置から、前記処理部での処理の結果を受け取る第３装置と備える。
【００１０】
また、画像処理方法の一態様は、画像処理装置での画像処理方法であって、フレーム画像を示す階層化された階層化データを生成する工程と、２つのフレーム画像についての前記階層化データの差分を示す差分階層化データを生成する工程と、前記差分階層化データのうち、その値の絶対値がしきい値以上あるいは当該しきい値よりも大きいデータに基づいて、前記差分階層化データから送信対象データを決定する工程と、前記送信対象データを圧縮符号化して符号化データを生成する工程と、前記符号化データを送信する工程とを備える。
【発明の効果】
【００１１】
画像処理装置の低消費電力化が可能となる。
【図面の簡単な説明】
【００１２】
【図１】情報処理システムの構成の一例を示す図である。
【図２】情報処理システムの適用例の一例を示す図である。
【図３】ＩｏＴ端末の構成の一例を示す図である。
【図４】ゲートウェイの構成の一例を示す図である。
【図５】階層化部の構成の一例を示す図である。
【図６】ウェーブレット平面の一例を示す図である。
【図７】ウェーブレット平面の一例を示す図である。
【図８】ウェーブレット平面の一例を示す図である。
【図９】フレーム画像の一例を示す図である。
【図１０】ウェーブレット平面の一例を示す図である。
【図１１】差分生成部の構成の一例を示す図である。
【図１２】決定部の構成の一例を示す図である。
【図１３】フレーム画像の一例を示す図である。
【図１４】差分フレームマスクの一例を示す図である。
【図１５】統合サブバンドマスクの生成方法の一例を説明するための図である。
【図１６】統合サブバンドマスクの生成方法の一例を説明するための図である。
【図１７】量子化差分ウェーブレット平面とコードブロックの対応関係の一例を示す図である。
【図１８】統合サブバンドマスクとコードブロックの対応関係の一例を示す図である。
【図１９】統合サブバンドマスクとコードブロックの対応関係の一例を示す図である。
【図２０】符号化装置の構成の一例を示す図である。
【図２１】係数ビットモデリング部の動作の一例を説明するための図である。
【図２２】係数ビットモデリング部の動作の一例を説明するための図である。
【図２３】復号化装置の構成の一例を示す図である。
【図２４】データ処理部の構成の一例を示す図である。
【図２５】認識用データ生成部の構成の一例を示す図である。
【図２６】画像認識部の構成の一例を示す図である。
【図２７】画像認識部の動作の一例を説明するための図である。
【図２８】トランスコーダの構成の一例を示す図である。
【図２９】ゲートウェイの動作の一例を示すフローチャートである。
【図３０】ＩｏＴ端末の一例を示すフローチャートである。
【図３１】ラベリング処理された統合サブバンドマスクの一例を示す図である。
【図３２】ラベリング処理された統合サブバンドマスクの一例を示す図である。
【図３３】ゲートウェイの動作の一例を示すフローチャートである。
【図３４】ゲートウェイの動作の一例を示すフローチャートである。
【図３５】複数のサブバンドの間でのコードブロックの対応関係の一例を示す図である。
【図３６】ＩｏＴ端末の動作の一例を示すフローチャートである。
【図３７】ＩｏＴ端末の構成の一例を示す図である。
【図３８】動き補正部の構成の一例を示す図である。
【図３９】動き補正部の動作の一例を示すフローチャートである。
【図４０】動き補正処理を説明するための図である。
【図４１】階層化部の構成の一例を示す図である。
【図４２】動き補正部の構成の一例を示す図である。
【図４３】ＩｏＴ端末の構成の一例を示す図である。
【図４４】データ処理部の構成の一例を示す図である。
【図４５】ＩｏＴ端末の動作の一例を説明するための図である。
【図４６】ＩｏＴ端末の動作の一例を説明するための図である。
【図４７】画像処理システムの動作の一例を説明するための図である。
【図４８】画像処理システムの動作の一例を説明するための図である。
【図４９】符号化装置の構成の一例を示す図である。
【図５０】復号化装置の構成の一例を示す図である。
【図５１】レイヤー分割処理部の構成の一例を示す図である。
【図５２】各サブバンドに設定された優先度の一例を示す図である。
【図５３】係数を構成する複数のビットがビットシフトされる様子の一例を示す図である。
【図５４】レイヤー合成処理部の構成の一例を示す図である。
【発明を実施するための形態】
【００１３】
＜システム概要＞
図１は情報処理システム１の構成の一例を示す図である。図１に示されるように、情報処理システム１は、画像処理装置２，３を含む画像処理システム４と、情報処理装置５とを備える。画像処理装置２は、画像を示す圧縮符号化された符号化データを生成して画像処理装置３に送信する。画像処理装置３は、画像処理装置２からの符号化データに基づいて処理を行い、その処理の結果を情報処理装置５に送信する。情報処理装置５は、画像処理装置３からの情報を保存するとともに、保存した情報を使用して各種処理を行う。
【００１４】
このような情報処理システム１は様々な場面で使用することができる。図２は、情報処理システム１の適用例を示す図である。図２の例では、情報処理システム１はＩｏＴ（Internet of Things）システム１として使用される。画像処理装置２、画像処理装置３及び情報処理装置５は、例えば、ＩｏＴ端末２、ゲートウェイ３及びクラウドサーバ５としてそれぞれ使用される。ゲートウェイ３は、エッジゲートウェイとも呼ばれる。ＩｏＴ端末２、ゲートウェイ３及びクラウドサーバ５のそれぞれは、例えば一種のコンピュータ装置である。
【００１５】
図２に示されるように、ＩｏＴシステム１は、複数のＩｏＴ端末２及びゲートウェイ３を有する画像処理システム４と、クラウドサーバ５とを備える。複数のＩｏＴ端末２はゲートウェイ３に対してローカルネットワークで接続されている。ゲートウェイ３とクラウドサーバ５とはインターネットで接続されている。ＩｏＴ端末２とゲートウェイ３とは無線で接続されてもよいし、有線で接続されてもよい。ＩｏＴ端末２が、ゲートウェイ３と無線通信する場合には、ＩｏＴ端末２とゲートウェイ３との間の通信規格としては、例えば、ＺｉｇＢｅｅ（登録商標）が採用される。ＩｏＴ端末２とゲートウェイ３との間の通信規格はこれに限られない。
【００１６】
ＩｏＴ端末２の処理能力は、例えば、ゲートウェイ３の処理能力よりも低くなっている。また、ＩｏＴ端末２とゲートウェイ３との間のデータ伝送レートは、例えば、ゲートウェイ３とクラウドサーバ５との間のデータ伝送レートよりも低くなっている。ＩｏＴ端末２とゲートウェイ３との間のデータ伝送レートは、ゲートウェイ３とクラウドサーバ５との間のデータ伝送レートの例えば数十分の一となっている。
【００１７】
各ＩｏＴ端末２は、例えば、動画を撮影することが可能なカメラを有する。各ＩｏＴ端末２は、カメラで撮影された動画のフレーム画像の少なくとも一部を示す、圧縮符号化された符号化データを生成することが可能である。また、各ＩｏＴ端末２は、カメラで撮影された動画の２つのフレーム画像の差分を示す差分画像を生成することが可能である。そして、各ＩｏＴ端末２は、生成した差分画像の少なくとも一部を示す、圧縮符号化された符号化データを生成することが可能である。各ＩｏＴ端末２は、生成した符号化データをゲートウェイ３に送信する。以後、差分画像と言えば、２つのフレーム画像の差分を示す差分画像を意味する。
【００１８】
ＩｏＴ端末２は、例えば、スマートフォン等の携帯電話機、スマートグラス等のウェアラブル機器、ネットワークカメラ、あるいはテレビ電話機などである。複数のＩｏＴ端末２は、同じ種類の機器であってもよいし、互いに異なる種類の機器であってもよい。
【００１９】
ゲートウェイ３は、例えば、ＩｏＴ端末２からの符号化データに基づく画像に対する画像認識処理を行う。そして、ゲートウェイ３は、画像認識処理の結果を示す情報を、インターネットを通じてクラウドサーバ５に送信する。クラウドサーバ５は、ゲートウェイ３からの情報を記憶し、記憶した情報に基づいて、各種処理を実行する。ゲートウェイ３は、ＩｏＴ端末２で得られた画像の少なくとも一部を示すストリーミングデータをクラウドサーバ５に送信してもよい。この場合、クラウドサーバ５は、ゲートウェイ３からのストリーミングデータを表示してもよい。あるいは、クラウドサーバ５は、画像認識処理の結果を示す情報あるいはストリーミングデータを、別のゲートウェイ３あるいはＩｏＴ端末２に対してインターネットを通じて送信してもよい。この場合、別のゲートウェイ３あるいはＩｏＴ端末２は、クラウドサーバ５から受け取った情報あるいはストリーミングデータを表示してもよい。
【００２０】
ＩｏＴシステム１は、例えば、スマートホームシステムで使用することができる。この場合、複数のＩｏＴ端末２及びゲートウェイ３は家の中に設けられ、クラウドサーバ５は当該家から離れた場所に設けられる。各ＩｏＴ端末２は、カメラで家の中の様子を撮影して、その様子が写る動画のフレーム画像の少なくとも一部を示す符号化データあるいは当該動画についての差分画像の少なくとも一部を示す符号化データをゲートウェイ３に送信する。ゲートウェイ３は、ＩｏＴ端末２からの符号化データに基づく画像に対して画像認識処理を行って、例えば家の中の人を検出する。そして、ゲートウェイ３は、その検出結果をクラウドサーバ５に送信する。これにより、例えば、家の中の子供あるいは高齢者の見守り及び管理が可能となる。
【００２１】
またＩｏＴ端末２は、例えば、スマート工場で使用することができる。この場合、複数のＩｏＴ端末２及びゲートウェイ３は工場内に設けられ、クラウドサーバ５は当該工場から離れた場所に設けられる。各ＩｏＴ端末２は、工場内の様子を撮影して、その様子が写る動画のフレーム画像の少なくとも一部を示す符号化データあるいは当該動画についての差分画像の少なくとも一部を示す符号化データをゲートウェイ３に送信する。ゲートウェイ３は、ＩｏＴ端末２からの符号化データに基づく画像に対して画像認識処理を行って、例えば、荷物を配置することが可能な空きスペースを検出する。そして、ゲートウェイ３は、その検出結果をクラウドサーバ５に送信する。これにより、例えば、工場内での荷物の運搬管理が可能となる。
【００２２】
なお、ＩｏＴシステム１が使用される場面は上記の限りではない。またＩｏＴ端末２は、それとは別体のカメラから画像データを受け取ってもよい。またＩｏＴ端末２で扱われる画像は、カメラで撮影された画像だけではなく、アニメーション画像であってもよい。
【００２３】
以下では、情報処理システム１がＩｏＴシステム１である場合を例に挙げて、情報処理システム１について詳細に説明する。
【００２４】
＜ＩｏＴ端末の構成＞
図３はＩｏＴ端末２の構成の一例を示す図である。図３に示されるように、ＩｏＴ端末２は、カメラ２０、画像メモリ２１、階層化部２２、差分生成部２３、符号化装置２４、通信部２５、決定部２６及び座標メモリ２７等で構成される回路構成を備える。ＩｏＴ端末２は、例えば電池駆動型の端末であって、当該ＩｏＴ端末２の電源を出力する電池を備える。
【００２５】
カメラ２０は、動画を撮影し、撮影する動画のフレーム画像を示す画像データ５００を出力する。画像データ５００は複数の画素値で構成されている。カメラ２０は、フレーム画像を撮影するたびに、撮影したフレーム画像を示す画像データ５００を順次出力する。本例では、カメラ２０の位置は固定されている。以後、画像データ５００をフレーム画像データ５００と呼ぶことがある。
【００２６】
画像メモリ２１は、カメラ２０から出力される画像データ５００を記憶する。画像メモリ２１はカメラ２０で撮影されるフレーム画像を記憶するとも言える。
【００２７】
階層化部２２は、画像メモリ２１内の画像データ５００を階層化し、それよって得られた階層化データ５０１を出力する。階層化データ５０１は、フレーム画像を示すデータであるとも言える。階層化部２２は、例えば、画像データ５００に対してウェーブレット変換（詳細には離散ウェーブレット変換）を実行して、画像データ５００を階層化する。階層化部２２は、例えば、ＪＰＥＧ（Joint Photographic Experts Group）２０００で採用されている圧縮符号化でのウェーブレット変換と同様にして、画像データ５００に対してウェーブレット変換を行う。階層化部２２の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、階層化部２２の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。以後、ウェーブレットをＷＴと表すことがある。
【００２８】
差分生成部２３は、２つのフレーム画像についての階層化データ５０１の差分を示す差分階層化データ５０２を生成して出力する。差分生成部２３は、階層化部２２から出力される階層化データ５０１を記憶することができる。差分生成部２３は、階層化部２２から階層化データ５０１が出力されると、その階層化データ５０１と、すでに記憶している階層化データ５０１との差分を示す差分階層化データ５０２を生成する。これにより、カメラ２０において互いに異なるタイミングで撮影された２つのフレーム画像についての階層化データ５０１の差分を示す差分階層化データ５０２が生成される。２つのフレーム画像についての階層化データ５０１の差分を示す差分階層化データ５０２は、当該２つのフレーム画像の差分を示す差分画像を示す、階層化された階層化データであると言える。差分生成部２３の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、差分生成部２３の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
【００２９】
以後、階層化データ５０１を非差分階層化データ５０１と呼ぶことがある。また、非差分階層化データ５０１と差分階層化データ５０２を総称して、符号を用いずに単に階層化データと呼ぶ。
【００３０】
決定部２６は、差分階層化データ５０２から、所定の基準に基づいて、送信対象データ５０３を決定する。本例では、所定の基準としては、ＩｏＴ端末２での処理の結果と、ゲートウェイ３から送信される指示情報５２０とが使用される。ＩｏＴ端末２での処理の結果として、例えば、後述するマスク生成部で生成される統合マスクデータが使用される。
【００３１】
決定部２６は、統合マスクデータ及び指示情報５２０に基づいて、差分階層化データ５０２から送信対象データ５０３を決定する。決定部２６は、ゲートウェイ３からの新たな指示情報５２０を受け取ると、その新たな指示情報５２０に基づいて送信対象データ５０３を決定する。決定部２６は、差分階層化データ５０２から決定した送信対象データ５０３を符号化装置２４に入力する。
【００３２】
また決定部２６は、非差分階層化データ５０１から送信対象データ５０３を決定することも可能である。決定部２６は、非差分階層化データ５０１から決定した送信対象データ５０３を符号化装置２４に入力する。
【００３３】
また決定部２６は、決定した送信対象データ５０３に関する座標データ５０４を生成して出力する。座標データ５０４については後で詳細に説明する。決定部２６の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、決定部２６の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
【００３４】
符号化装置２４は、入力される送信対象データ５０３を圧縮符号化して符号化データ５０５を生成する。そして、符号化装置２４は、生成した符号化データ５０５を含むビットストリーム５０６を生成して出力する。決定部２６が決定した送信対象データ５０３は符号化装置２４で圧縮符号化されることから、決定部２６は、圧縮符号化する対象のデータを決定する処理を行うとも言える。符号化装置２４の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、符号化装置２４の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
【００３５】
以後、差分階層化データ５０２から決定された送信対象データ５０３を圧縮符号化することによって生成された符号化データ５０５を符号化差分データ５０５と呼ぶことがある。また、非差分階層化データ５０１から決定された送信対象データ５０３を圧縮符号化することによって生成された符号化データ５０５を符号化非差分データ５０５と呼ぶことがある。
【００３６】
座標メモリ２７は、座標データ５０４が登録される座標テーブル２７ａを記憶している。座標メモリ２７は、決定部２６から出力される座標データ５０４を、座標テーブル２７ａに登録する。
【００３７】
通信部２５は、ゲートウェイ３と通信を行う通信回路である。通信部２５は、例えばＺｉｇＢｅｅに準拠してゲートウェイ３と無線通信を行う。通信部２５の通信方式はこれに限られない。通信部２５は、ゲートウェイ３からの信号を受信する受信部２５ｂと、ゲートウェイ３に信号を送信する送信部２５ａとを備える。送信部２５ａは、符号化装置２４で生成されるビットストリーム５０６をゲートウェイ３に送信する。また送信部２５ａは、決定部２６から出力される座標データ５０４をゲートウェイ３に送信する。受信部２５ｂは、ゲートウェイ３が送信する指示情報５２０を受信し、受信した指示情報５２０を決定部２６に出力する。
【００３８】
なおＩｏＴ端末２は、カメラ２０を備えていなくてもよい。この場合、画像メモリ２１には、ＩｏＴ端末２とは別体のカメラから出力される画像データ（実写画像を示す画像データ）が入力されてよいし、アニメーション画像を示す画像データが入力されてよい。
【００３９】
また、画像メモリ２１及び座標メモリ２７は、互いに独立した別々のメモリであってもよいし、一つのメモリの記憶領域の一部が画像メモリ２１として使用され、当該記憶領域の他の部分が座標メモリ２７として使用されてもよい。
【００４０】
＜ゲートウェイの構成＞
図４はゲートウェイ３の構成の一例を示す図である。図４に示されるように、ゲートウェイ３は、通信部３０、復号化装置３１、データ処理部３２、画像認識部３３、トランスコーダ３４、通信部３５及び座標メモリ３６等で構成される回路構成を備える。ゲートウェイ３は、例えば商用電源を電源として動作を行う。ゲートウェイ３では、復号化装置３１、データ処理部３２、画像認識部３３及びトランスコーダ３４によって、ＩｏＴ端末２からの符号化データに基づいて所定の処理を行う処理部が構成される。
【００４１】
通信部３０は、ＩｏＴ端末２と通信を行う通信回路である。通信部３０は、ＩｏＴ端末２からの信号を受信する受信部３０ａと、ＩｏＴ端末２に信号を送信する送信部３０ｂとを備える。受信部３０ａは、ＩｏＴ端末２から送信されるビットストリーム５０６及び座標データ５０４を受信する。送信部３０ｂは、ＩｏＴ端末２が送信すべきデータを当該ＩｏＴ端末２に指示するための指示情報５２０を、ＩｏＴ端末２に送信する。指示情報５２０はデータ処理部３２で生成される。
【００４２】
座標メモリ３６は、ＩｏＴ端末２からの座標データ５０４が登録される座標テーブル３６ａを記憶する。座標メモリ３６は、受信部３０ａで受信される座標データ５０４を座標テーブル３６ａに登録する。
【００４３】
復号化装置３１は、受信部３０ａが受信するビットストリーム５０６から符号化データ５０５を抽出する。復号化装置３１は、抽出した符号化データ５０５をデータ処理部３２に出力する。また復号化装置３１は、抽出した符号化データ５０５を伸張復号化して復号化データ５２１を生成する。この復号化データ５２１は、ウェーブレット逆変換（詳細には離散ウェーブレット逆変換）されていないデータである。つまり、復号化データ５２１は、それが符号化差分データ５０５を伸張復号化したものである場合には、ＩｏＴ端末２で生成される差分階層化データ５０２（ＷＴ変換されたデータ）の少なくとも一部を復元したものである。また、復号化データ５２１は、それが符号化非差分データ５０５を伸張復号化したものである場合には、ＩｏＴ端末２で生成される非差分階層化データ５０１（ＷＴ変換されたデータ）の少なくとも一部を復元したものである。復号化装置３１は、受信部３０ａが新たなビットストリーム５０６を受信すると、その新たなビットストリーム５０６に含まれる符号化データ５０５を伸張復号化して復号化データ５２１を生成する。復号化装置３１の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、復号化装置３１の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
【００４４】
以後、符号化差分データ５０５を伸張復号化して得られる復号化データ５２１を復号化差分データ５２１と呼ぶことがある。また、符号化非差分データ５０５を伸張復号化して得られる復号化データ５２１を復号化非差分データ５２１と呼ぶことがある。
【００４５】
データ処理部３２は、復号化装置３１で生成される復号化非差分データ５２１を後述の第１メモリに記憶する。またデータ処理部３２は、復号化装置３１で生成される復号化差分データ５２１から、当該復号化差分データ５２１に対応する、非差分階層化データ５０１に含まれるデータを復元して第１メモリに記憶する。またデータ処理部３２は、復号化装置３１からの符号化データ５０５を後述する第２メモリに記憶する。
【００４６】
画像認識部３３は、データ処理部３２が生成する認識用データ５２２が示す認識対象画像に対して画像認識処理を行う。画像認識部３３は、画像認識処理において、認識対象画像から、人全体あるいは人の顔等の検出対象物を検出する。なお、検出対象物はこの限りではない。画像認識部３３は、データ処理部３２で使用される、画像認識処理の結果を示す認識結果情報５２３を生成する。また画像認識部３３は、ゲートウェイ３からクラウドサーバ５に送信される、画像認識処理の結果を示す認識結果情報５２４を、通信部３５に出力する。
【００４７】
データ処理部３２は、第１メモリ内のデータに基づいて、画像認識部３３で使用される認識用データ５２２を生成する。データ処理部３２は、画像認識部３３で生成される認識結果情報５２３に基づいて、トランスコーダ３４で使用されるマスクデータ５２５を生成する。マスクデータ５２５は、第１メモリ内のデータに基づく画像におけるＲＯＩ（関心領域）を特定するためのマスクデータである。言い換えれば、マスクデータ５２５は、ＩｏＴ端末２から送信される符号化データ５０５に基づく画像におけるＲＯＩを特定するためのマスクデータである。データ処理部３２は、認識結果情報５２３等に基づいて指示情報５２０を生成する。
【００４８】
またデータ処理部３２は、第１メモリ内のデータに基づいて、トランスコーダ３４で使用されるトランスコーダ用復号化データ５２６を生成して出力する。またデータ処理部３２は、第２メモリ内のデータに基づいて、トランスコーダ３４で使用されるトランスコーダ用符号化データ５２７を生成して出力する。
【００４９】
トランスコーダ３４は、データ処理部３２で生成されるマスクデータ５２５に基づいて、トランスコーダ用復号化データ５２６が示す画像からＲＯＩを特定し、特定したＲＯＩを示す、圧縮符号化されたデータを符号化データとして生成する。ゲートウェイ３は、マスクデータ５２５を変更することによって、様々な形状のＲＯＩを示す符号化データを生成することができる。トランスコーダ３４は、生成した符号化データを含むビットストリーム５２９を生成して出力する。またトランスコーダ３４は、トランスコーダ用符号化データ５２７を含むビットストリーム５２９を生成して出力する。
【００５０】
通信部３５は、クラウドサーバ５と通信を行う通信回路である。通信部３５は、トランスコーダ３４から出力されるビットストリーム５２９をクラウドサーバ５に送信する。また通信部３５は、画像認識部３３から出力される認識結果情報５２４をメタデータとしてクラウドサーバ５に送信する。なお、ゲートウェイ３は、認識結果情報５２４を圧縮符号化し、それによって得られた符号化データをクラウドサーバ５に送信してもよい。
【００５１】
クラウドサーバ５は、ゲートウェイ３から受け取ったビットストリーム５２９に含まれる符号化データを伸張復号化し、それによって得られた復号化データ（画像データ）を記憶する。また、クラウドサーバ５は、ゲートウェイ３からのメタデータを記憶する。そして、クラウドサーバ５は、記憶している復号化データ及びメタデータに基づいて、画像検索あるいは画像解析等を行う。
【００５２】
以上のように、本例に係るＩｏＴシステム１では、ＩｏＴ端末２が、画像を示す階層化データ（フレーム画像を示す非差分階層化データ５０１及び差分画像を示す差分階層化データ５０２）を生成し、生成した階層化データから、所定の基準に基づいて送信対象データ５０３を決定する。そして、ＩｏＴ端末２は、決定した送信対象データ５０３を圧縮符号化し、それによって得られた符号化データ５０５をゲートウェイ３に送信する。これにより、画像を示す階層化データのすべてが圧縮符号化され、それによって得られた符号化データがＩｏＴ端末２から送信される場合と比較して、ＩｏＴ端末２の消費電力を低減することができる。また、ＩｏＴ端末２とゲートウェイ３との間のデータ伝送レートが低い場合であっても、ＩｏＴ端末２から送信される符号化データの送信遅延を低減することができる。
【００５３】
また、差分階層化データ５０２のデータ量は、非差分階層化データ５０１のデータ量よりも小さくすることができる。したがって、ＩｏＴ端末２が、差分階層化データ５０２から送信対象データ５０３を決定することによって、ＩｏＴ端末２が送信するデータ量を低減することができる。よって、ＩｏＴ端末２の消費電力をさらに低減することができる。また、ＩｏＴ端末２から送信される符号化データの送信遅延をさらに低減することができる。
【００５４】
＜ＩｏＴ端末の詳細説明＞
＜階層化部の詳細説明＞
図５はＩｏＴ端末２の階層化部２２の構成の一例を示す図である。図５に示されるように、階層化部２２は、ＤＣレベルシフト部２２１、色空間変換部２２２、タイリング部２２３、ウェーブレット変換部２２４（ＷＴ変換部２２４）及び量子化部２２５を備えている。
【００５５】
ＤＣレベルシフト部２２１は、フレーム画像データ５００のＤＣレベルを必要に応じて変換する。色空間変換部２２２は、ＤＣレベル変換後のフレーム画像データ５００の色空間を変換する。例えば、ＲＧＢ成分がＹＣｂＣｒ成分（輝度成分Ｙと色差成分Ｃｂ，Ｃｒとから成る）に変換される。タイリング部２２３は、色空間変換後のフレーム画像データ５００を、タイルと呼ばれる矩形状の複数の領域成分に分割する。そして、タイリング部２２３は、フレーム画像データ５００をタイルごとにウェーブレット変換部２２４に入力する。なお、必ずしもフレーム画像データ５００をタイルに分割する必要はなく、色空間変換部２２２から出力されたフレーム画像データ５００を、そのままウェーブレット変換部２２４に入力してもよい。
【００５６】
ウェーブレット変換部２２４は、タイリング部２２３で処理されたフレーム画像データ５００に対してウェーブレット変換を行って階層化データ５１０を生成する。そして、量子化部２２５は、階層化データ５１０を量子化して出力する。階層化部２２は、量子化された階層化データ５１０を階層化データ５０１として出力する。
【００５７】
＜ウェーブレット変換部＞
ウェーブレット変換部２２４は、入力されるフレーム画像データ５００に対して、整数型または実数型の離散ウェーブレット変換（ＤＷＴ）を行い、その結果得られた複数の変換係数を出力する。以下では、変換係数をウェーブレット係数と呼ぶことがある。また、フレーム画像データ５００に対してウェーブレット変換を行うことによって生成されるデータ（ウェーブレット係数の群）を、第１ウェーブレット係数データと呼ぶことがある。ウェーブレット変換部２２４は、生成した第１ウェーブレット係数データを、フレーム画像を示す階層化データ５１０として出力する。
【００５８】
ウェーブレット変換では、２次元画像データが高域成分（換言すれば高周波成分）と低域成分（換言すれば低周波成分）とに分解される。この周波数分解は例えば帯域分割とも呼ばれる。また、周波数分解によって得られた各帯域成分（すなわち低域成分と高域成分のそれぞれ）はサブバンドとも呼ばれる。ここでは、ＪＰＥＧ２０００の基本方式に倣い、垂直方向と水平方向の両方について低域側に分割されたサブバンドのみを再帰的に帯域分割していく、オクターブ分割方式を採用するものとする。再帰的な帯域分割を行った回数は、分解レベルと呼ばれる。分解レベルの情報は、第１ウェーブレット係数データに付随している。
【００５９】
ウェーブレット変換部２２４では、所定の分解レベルまでフレーム画像データ５００が分解される。一般的には分解レベルが３〜５程度の場合に、良好な符号化効率が得られる。なお、ウェーブレット変換部２２４における上記所定の分解レベルを、最大分解レベルと呼ぶ場合もある。本例では、最大分解レベルは３に設定されている。
【００６０】
図６〜８に、２次元でのウェーブレット変換について、Ｍａｌｌａｔ型のウェーブレット平面５５１〜５５３を示す。図６〜８の例によれば、入力画像（２次元画像）は、分解レベル１において（図６参照）、垂直方向と水平方向のそれぞれについて周波数分解が行われる。これにより、図６のウェーブレット平面５５１に示すように、４つのサブバンドＨＨ１，ＨＬ１，ＬＨ１，ＬＬ１に分解される。分解レベル１で得られたサブバンドＬＬ１は、分解レベル２において（図７のウェーブレット平面５５２を参照）、さらに４つのサブバンドＨＨ２，ＨＬ２，ＬＨ２，ＬＬ２に分解される。分解レベル２で得られたサブバンドＬＬ２は、分解レベル３において（図８のウェーブレット平面５５３を参照）、さらに４つのサブバンドＨＨ３，ＨＬ３，ＬＨ３，ＬＬ３に分解される。
【００６１】
２次元のウェーブレット変換に関する表記について、例えばＨＬ１は、分解レベル１における水平方向の高域成分Ｈと垂直方向の低域成分Ｌとからなるサブバンドである。その表記法はＸＹｍと一般化される（ＸおよびＹはそれぞれＨ，Ｌのいずれか。ｍは１以上の整数）。すなわち、分解レベルｍにおける水平方向のサブバンドＸと垂直方向のサブバンドＹとからなるサブバンドはＸＹｍと表記される。また、分解レベルを特定しない場合には、水平方向のサブバンドＸと垂直方向のサブバンドＹとからなるサブバンドはＸＹと表記される。
【００６２】
なお以下では、サブバンドＬＬ１，ＬＬ２，・・・のそれぞれをＬＬサブバンドと略称する場合がある。また、サブバンドＬＬ１をＬＬ１サブバンドと呼ぶ場合がある。他のサブバンドについても同様である。
【００６３】
ここで、ウェーブレット平面（図６〜８参照）は、ウェーブレット変換の演算結果データを、原画像（ウェーブレット変換が行われていない状態の画像）中の画素の並びに対応付けて２次元配列したデータ群である。例えばウェーブレット平面においてサブバンドＬＬ１として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データが、原画像中での当該注目画素の位置に対応して並べられている。ウェーブレット係数は画素に対応する値であると言える。
【００６４】
なおウェーブレット平面は、ウェーブレット空間またはウェーブレット領域と呼ばれる場合もある。また、２次元配列された係数を画素値に見立てて、ウェーブレット平面をウェーブレット画像と呼び、サブバンドをサブバンド画像と呼び、ＸＹｍサブバンドをＸＹｍサブバンド画像と呼び、ＸＹサブバンドをＸＹサブバンド画像と呼ぶ場合もある。
【００６５】
分解レベル１において、サブバンドＬＬ１は画像の本質的な情報に対応する。サブバンドＬＬ１によれば、分解前の画像の１／４のサイズの画像（換言すれば、分解前の画像に対する縮小比が１／２の画像）を提供可能である。サブバンドＨＬ１は垂直方向に伸びるエッジの情報に対応し、サブバンドＬＨ１は水平方向に伸びるエッジの情報に対応する。サブバンドＨＨは斜め方向に伸びるエッジの情報に対応する。これらの点は他の分解レベルについても同様である。例えば、分解レベル２のサブバンドＬＬ２，ＨＬ２，ＬＨ２，ＨＨ２は、分解前のサブバンドＬＬ１を原画像と見なした場合におけるサブバンドＬＬ１，ＨＬ１，ＬＨ１，ＨＨ１とそれぞれ同様の関係にある。
【００６６】
以下では、ウェーブレット変換が行われていない状態の原画像を分解レベル０に対応させることにより、当該原画像を分解レベル０のウェーブレット画像または分解レベル０のウェーブレット平面と表現する場合もある。
【００６７】
図９はフレーム画像５０００（原画像）の一例を示す図である。図１０は、図９に示されるフレーム画像５０００を示すフレーム画像データ５００をウェーブレット変換して得られる、分解レベル３のウェーブレット平面５５３を模式的な画像として示す図である。図９に示されるフレーム画像５０００には、移動中の人が写る画像５００１と、木が写る画像５００２とが含まれている。図１０に示されるように、ウェーブレット平面上の各サブバンドは、画像５００１を示す部分５５３１と、画像５００２を示す部分５５３２とを含んでいる。
【００６８】
ウェーブレット平面５５３上の各サブバンドは、フレーム画像５０００を示すデータであると言える。サブバンド分割回数が３回のサブバンドＬＬ３，ＨＬ３，ＬＨ３，ＨＨ３が示すフレーム画像５０００の解像度は、サブバンド分割回数が２回のサブバンドＨＬ２，ＬＨ２，ＨＨ２が示すフレーム画像５０００の解像度よりも低いと言える。また、サブバンド分割回数が２回のサブバンドＨＬ２，ＬＨ２，ＨＨ２が示すフレーム画像５０００の解像度は、サブバンド分割回数が１回のサブバンドＨＬ１，ＬＨ１，ＨＨ１が示すフレーム画像５０００の解像度よりも低いと言える。そして、サブバンド分割回数が１回のサブバンドＨＬ１，ＬＨ１，ＨＨ１が示すフレーム画像５０００の解像度は、サブバンド分割されていないフレーム画像５０００の解像度よりも低いと言える。
【００６９】
このように、第１ウェーブレット係数データ（階層化データ５１０）は、解像度が互いに異なるフレーム画像を示す複数階層データで構成されていると言える。
【００７０】
なおＭａｌｌａｔ型では、上記のように、ＬＬサブバンドを水平方向と垂直方向のそれぞれについて同じ回数で、再帰的に分解する。また後述のように、Ｍａｌｌａｔ型では分解とは逆の手順でサブバンドが合成される。ただし、水平方向と垂直方向のそれぞれのＬ成分とＨ成分を同じ回数で、分解および合成する必要はない。すなわち、Ｍａｌｌａｔ型とは異なる型式のウェーブレット変換を用いてもよい。また、分解回数が同じサブバンドのウェーブレット平面上の大きさは同じでなくもよい。
【００７１】
また、原画像及びウェーブレット画像において左上端を直交座標系の原点に採り、原点を０として扱い、ウェーブレット変換のＬ成分出力を偶数として扱い、Ｈ成分出力を奇数として扱う例を挙げる。ただし、Ｌ成分出力を奇数として扱い、Ｈ成分出力を偶数として扱うことも可能である。この直交座標系での互いに直交する２つの軸は、例えば、ウェーブレット平面の横方向及び縦方向にそれぞれ設定される。なお、ウェーブレット平面（図６〜８参照）は、ウェーブレット変換の偶数番目および奇数番目の出力を、サブバンドごとに再配置した概念的な平面である。
【００７２】
また、ウェーブレット平面（ウェーブレット画像）の各係数の位置を、直交座標系での座標（ｘ，ｙ）で表すことがある。直交座標系の原点に位置する係数の座標（ｘ，ｙ）は（０，０）となる。
【００７３】
＜量子化部＞
量子化部２２５は、ウェーブレット変換部２２４から出力される第１ウェーブレット係数データに対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第１量子化ウェーブレット係数データ（第１量子化ＷＴ係数データ）を生成する。量子化部２２５は、生成した第１量子化ウェーブレット係数データを階層化データ５０１として出力する。第１量子化ウェーブレット係数データは、量子化された階層化データ５１０である。量子化ステップサイズは、例えば目標画質に応じて設定される。量子化ステップサイズを変更することによって、第１量子化ウェーブレット係数データが示す画像の解像度を調整することができる。階層化データ５１０が量子化されることにより、高域のサブバンドＬＨ，ＨＬ，ＨＨのデータ量が特に減少する。
【００７４】
第１量子化ウェーブレット係数データは、第１ウェーブレット係数データと同様のデータ構造を有している。このため、第１量子化ウェーブレット係数データによれば、第１ウェーブレット係数データと同様に、ウェーブレット平面が提供される。第１量子化ウェーブレット係数データによって提供されるウェーブレット平面を量子化ウェーブレット平面と呼ぶ場合もある。
【００７５】
＜差分生成部の詳細説明＞
図１１は差分生成部２３の構成の一例を示す図である。図１１に示されるように、差分生成部２３は生成部２３０及びフレームバッファ２３１を備える。生成部２３０は、階層化データ５０１をフレームバッファ２３１に記憶する。生成部２３０は、現在の処理対象のフレーム画像を示す階層化データ５０１が階層化部２２で生成されると、当該階層化データ５０１と、フレームバッファ２３１に記憶される、過去に生成された階層化データ５０１とに基づいて、差分階層化データ５０２を生成する。
【００７６】
以後、現在の処理対象のフレーム画像を対象フレーム画像あるいは現フレーム画像と呼ぶことがある。また、対象フレーム画像を示す階層化データ５０１を現階層化データ５０１と呼ぶことがある。また現階層化データ５０１の量子化ウェーブレット係数（量子化ＷＴ係数）を現量子化ウェーブレット係数（現量子化ＷＴ係数）と呼ぶことがある。また、対象フレーム画像の画像データ５００を対象フレーム画像データ５００あるいは現フレーム画像データ５００と呼ぶことがある。また、生成部２３０が差分階層化データ５０２の生成で使用する２つの階層化データ５０１のうち、フレームバッファ２３１から読み出した過去の階層化データ５０１を過去階層化データ５０１と呼ぶことがある。また、過去階層化データ５０１が示すフレーム画像を過去フレーム画像と呼ぶことがある。また、過去階層化データ５０１の量子化ウェーブレット係数を過去量子化ウェーブレット係数（過去量子化ＷＴ係数）と呼ぶことがある。
【００７７】
生成部２３０は、対象フレーム画像を示す現階層化データ５０１と、過去フレーム画像を示す過去階層化データ５０１とに基づいて、対象フレーム画像と過去フレーム画像との差分を示す差分画像を示す差分階層化データ５０２を生成する。過去フレーム画像は、対象フレーム画像よりもＰフレーム前のフレーム画像である。Ｐは、１以上の整数であって、例えば１に設定される。なお、Ｐは２以上であってもよい。
【００７８】
生成部２３０は、現階層化データ５０１の各現量子化ＷＴ係数について、当該現量子化ＷＴ係数から、過去階層化データ５０１のうち、当該現量子化ＷＴ係数に対応する過去量子化ＷＴ係数を差し引いた値を量子化差分ＷＴ係数として求める。ここで、現量子化ＷＴ係数に対応する過去量子化ＷＴ係数とは、量子化ウェーブレット平面において、当該現量子化ＷＴ係数の位置と同じ位置に存在する過去量子化ＷＴ係数である。量子化差分ＷＴ係数を、単に差分ＷＴ係数と呼ぶことがある。
【００７９】
以後、現階層化データ５０１の各現量子化ＷＴ係数について求められた量子化差分ＷＴ係数から成るデータを「第１量子化差分ＷＴ係数データ」と呼ぶことがある。第１量子化差分ＷＴ係数データは、第１ウェーブレット係数データと同様のデータ構造を有している。このため、第１量子化差分ＷＴ係数データによれば、第１ウェーブレット係数データと同様に、ウェーブレット平面が提供される。第１量子化差分ＷＴ係数データによって提供されるウェーブレット平面を、量子化差分ウェーブレット平面（量子化差分ＷＴ平面）と呼ぶことがある。
【００８０】
ここで、座標（ｘ，ｙ）の位置にある現量子化ＷＴ係数及び過去量子化ＷＴ係数をそれぞれＣ１（ｘ，ｙ）及びＣ２（ｘ、ｙ）とする。また、現量子化ＷＴ係数Ｃ１（ｘ，ｙ）及び過去量子化ＷＴ係数Ｃ２（ｘ，ｙ）から求められる、座標（ｘ，ｙ）の位置にある差分ＷＴ係数をＤＣ（ｘ，ｙ）とする。この場合、差分ＷＴ係数ＤＣ（ｘ，ｙ）＝Ｃ１（ｘ，ｙ）−Ｃ２（ｘ，ｙ）となる。
【００８１】
生成部２３０は、現階層化データ５０１及び過去階層化データ５０１に基づいて、量子化差分ＷＴ係数データを生成すると、生成した量子化差分ＷＴ係数データを差分階層化データ５０２として出力する。生成部２３０は、階層化部２２で階層化データ５０１が生成されるたびに、当該階層化データ５０１を現階層化データ５０１として差分階層化データ５０２を生成する。
【００８２】
＜決定部の詳細説明＞
図１２は決定部２６の構成の一例を示す図である。図１２に示されるように、決定部２６は、マスク生成部２６０及び送信対象決定部２６３を備える。
【００８３】
＜マスク生成部＞
マスク生成部２６０は生成部２６１及び統合部２６２を有する。生成部２６１は、差分階層化データ５０２において、その絶対値がしきい値よりも大きい差分ＷＴ係数を特定するための差分フレームマスクのデータ５１２（以後、差分フレームマスクデータ５１２と呼ぶことがある）を生成する。当該しきい値は、例えば零に設定される。なお、しきい値は零よりも大きくてもよい。
【００８４】
以後、差分階層化データ５０２において、その絶対値がしきい値よりも大きい差分ＷＴ係数を差分大の差分ＷＴ係数と呼び、その絶対値がしきい値以下の差分ＷＴ係数を差分小の差分ＷＴ係数と呼ぶことがある。差分階層化データ５０２は、差分大の差分ＷＴ係数から成る差分大データと、差分小の差分ＷＴ係数から成る差分小データとに分けることができる。
【００８５】
差分フレームマスクデータ５１２は、差分階層化データ５０２を構成する複数の差分ＷＴ係数にそれぞれ対応する複数の係数で構成されている。この複数の係数が、フレーム画像中（差分画像中）の画素の並びに対応付けて２次元配列されたものが、差分フレームマスクとなる。
【００８６】
差分フレームマスクデータ５１２を構成する複数の係数には、差分大の差分ＷＴ係数に対応する第１ＲＯＩマスク係数と、差分小の差分ＷＴ係数に対応する第１非ＲＯＩマスク係数とが含まれる。第１ＲＯＩマスク係数は例えば１であって、第１非ＲＯＩマスク係数は例えば０である。生成部２６１は、差分階層化データ５０２の各差分ＷＴ係数の絶対値を求める。そして、生成部２６１は、量子化差分ＷＴ平面において座標（ｘ，ｙ）に位置する差分ＷＴ係数の絶対値がしきい値よりも大きければ（本例では零よりも大きければ）、差分フレームマスクにおいて当該座標（ｘ，ｙ）に位置する係数を第１ＲＯＩマスク係数とする。一方で、生成部２６１は、量子化差分ＷＴ平面において座標（ｘ，ｙ）に位置する差分ＷＴ係数の絶対値がしきい値以下であれば（本例では零であれば）、差分フレームマスクにおいて当該座標（ｘ，ｙ）に位置する係数を第１非ＲＯＩマスク係数とする。差分フレームマスクは、第１ＲＯＩマスク係数から成る第１ＲＯＩマスク部分と、第１非ＲＯＩマスク係数から成る第１非ＲＯＩマスク部分とに分けることができる。
【００８７】
図１３はフレーム画像５０１０の一例を模式的に示す図である。フレーム画像５０１０には、人が写る画像５０１１が含まれている。図１４は、図１３に示されるフレーム画像５０１０を示す現階層化データ５０１に基づいて生成された差分階層化データ５０２において、差分大の差分ＷＴ係数を特定するための差分フレームマスク５１２０の一例を示す図である。図１４に示されるように、差分フレームマスク５１２０は、白抜きで示された第１ＲＯＩマスク部分５１２１と、黒塗りで示された第１非ＲＯＩマスク部分５１２２とで構成されている。差分フレームマスク５１２０では、フレーム画像５０１０中の、人が写る画像５０１１に対応する部分が、第１ＲＯＩマスク部分５１２１となっている。
【００８８】
図１４から理解できるように、差分フレームマスクは、量子化差分ウェーブレット平面に含まれる各サブバンド用のマスクの集合体として把握できる。すなわち、サブバンドごとのマスクをサブバンドマスクと呼ぶことにすると、差分フレームマスクはサブバンドマスクの集合体として把握できる。例えば、差分フレームマスクのうちでＬＬサブバンド用の部分をＬＬサブバンドマスクと呼ぶことにする。他のサブバンドに対応する部分についても同様とする。また、差分フレームマスクデータ５１２に含まれる、サブバンドマスクのデータをサブバンドマスクデータと呼ぶがある。また、ＬＬサブバンドマスクのデータをＬＬサブバンドマスクデータと呼ぶことがある。他のサブバンドマスクのデータについても同様とする。サブバンドマスクデータは、量子化差分ウェーブレット平面における、当該サブバンドマスクデータに対応するサブバンドにおいて、差分大の差分ＷＴ係数を特定するためのデータであると言える。
【００８９】
統合部２６２は、量子化差分ウェーブレット平面のサブバンドの各分解レベルについて、当該分解レベルの複数のサブバンドにそれぞれ対応する複数のサブバンドマスクを統合して、当該複数のサブバンドに共通のサブバンドマスクを生成する。以後、当該共通のサブバンドマスクを統合サブバンドマスクと呼ぶことがある。
【００９０】
図１５，１６は統合サブバンドマスクの生成方法の一例を説明するための図である。図１５は、４つのサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。言い換えれば、図１５は、ＬＬサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。図１６は、３つのサブバンドが存在する分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。言い換えれば、図１６は、ＬＬサブバンドが存在しない分解レベルについての統合サブバンドマスクの生成方法を説明するための図である。
【００９１】
図１５を参照して、分解レベル３のように、ＬＬサブバンド、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドが存在する分解レベルについては、統合部２６２は、ＬＬサブバンド、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにそれぞれ対応するＬＬサブバンドマスク５１２５ＬＬ、ＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨを統合して、統合サブバンドマスク５１２６を生成する。具体的には、統合部２６２は、ＬＬサブバンドマスク５１２５ＬＬ、ＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨにおける同じ位置の係数についての論理和を求めて、それによって得られた値を、統合サブバンドマスク５１２６でのそれと同じ位置の係数の値とする。したがって、ＬＬサブバンドマスク５１２５ＬＬ、ＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨにおける同じ位置の係数の少なくとも一つが１であれば、統合サブバンドマスク５１２６でのそれと同じ位置の係数は１となる。一方で、ＬＬサブバンドマスク５１２５ＬＬ、ＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨにおける同じ位置の係数のすべて０であれば、統合サブバンドマスク５１２６でのそれと同じ位置の係数は０となる。このようにして、統合部２６２は、統合サブバンドマスク５１２６での各位置の係数を求める。
【００９２】
分解レベル１，２のように、ＬＬサブバンドが存在しない分解レベルについては、図１６に示されるように、統合部２６２は、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにそれぞれ対応するＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨを統合して、統合サブバンドマスク５１２６を生成する。具体的には、統合部２６２は、ＬＨサブバンドマスク５１２５ＬＨ、ＨＬサブバンドマスク５１２５ＨＬ及びＨＨサブバンドマスク５１２５ＨＨにおける同じ位置の係数についての論理和を求めて、それによって得られた値を、統合サブバンドマスク５１２６でのそれと同じ位置の係数の値とする。このようにして、統合部２６２は、統合サブバンドマスク５１２６での各位置の係数を求める。
【００９３】
以上のようにして、統合部２６２は、サブバンドの各分解ベルについて、当該分解レベルの複数のサブバンドに共通のサブバンドマスク（統合サブバンドマスク）を生成する。同じ分解レベルの複数のサブバンドに共通のサブバンドマスクによって、当該複数のサブバンドのそれぞれでの差分大の差分ＷＴ係数をほぼ特定することができる。決定部２６は、統合サブバンドマスクを使用して、送信対象データ５０３を決定する。
【００９４】
以後、分解レベル３の４つのサブバンドに共通の統合サブバンドマスクを、分解レベル３に対応する統合サブバンドマスクと呼ぶことがある。同様に、分解レベル２の３つのサブバンドマスクに共通の統合サブバンドマスクを、分解レベル２に対応する統合サブバンドマスクと呼ぶことがある。同様に、分解レベル１の３つのサブバンドマスクに共通の統合サブバンドマスクを、分解レベル１に対応する統合サブバンドマスクと呼ぶことがある。また、分解レベル１〜３に対応する統合サブバンドマスクをまとめて統合マスクと呼ぶことがある。また、統合サブバンドマスクのデータを統合サブバンドマスクデータと呼び、統合マスクのデータを統合マスクデータと呼ぶことがある。また、統合サブバンドマスクにおいて、係数が１である部分を第２ＲＯＩマスク部分と呼び、係数が０である部分を第２非ＲＯＩマスク部分と呼ぶことがある。図１５，１６に示される統合サブバンドマスク５１２６において、白抜き部分が第２ＲＯＩマスク部分であって、黒塗り部分が第２非ＲＯＩマスク部分である。
【００９５】
統合部２６２は、差分フレームマスクデータ５１２に基づいて、サブバンドの複数の分解レベルにそれぞれ対応する複数の統合サブバンドマスクデータを含む統合マスクデータ５１３を生成して出力する。
【００９６】
＜送信対象決定部＞
送信対象決定部２６３は、マスク生成部２６０で生成される統合マスクデータ５１３と、ゲートウェイ３からの指示情報５２０とに基づいて、差分階層化データ５０２から送信対象データ５０３を決定する。また送信対象決定部２６３は、指示情報５２０に基づいて、非差分階層化データ５０１から送信対象データ５０３を決定する。
【００９７】
送信対象決定部２６３は、例えば、差分階層化データ５０２の各サブバンドを、ＪＰＥＧ２０００と同様に、３２×３２あるいは６４×６４程度の「コードブロック」と呼ばれる領域に分割する。図１７は、量子化差分ウェーブレット平面５０２０の各サブバンドが複数のコードブロック５０２１に分割されている様子の一例を示す図である。図１７に示されるように、サブバンドは、その左上端を基準にして、複数のコードブロック５０２１に分割される。そして、送信対象決定部２６３は、差分階層化データ５０２において、指示情報５２０に応じた差分コードブロックを、統合マスクデータ５１３に基づいて特定し、特定した差分コードブロックを送信対象データ５０３とする。
【００９８】
ここで、差分コードブロックとは、統合サブバンドマスクを、それに対応する分解レベルのサブバンドに重ねた場合に、当該サブバンドにおいて、当該統合サブバンドマスクの第２ＲＯＩマスク部分の少なくとも一部を含むコードブロックを意味する。
【００９９】
図１８は、分解レベル２に対応する、第２ＲＯＩマスク部分５１２６ａ及び第２非ＲＯＩマスク部分５１２６ｂを備える統合サブバンドマスク５１２６が、分解レベル２のサブバンドに重ねられている様子の一例を示す図である。図１８の例では、分解レベル２のサブバンドを構成する３０個のコードブロック５０２１のうち、統合サブバンドマスク５１２６の第２ＲＯＩマスク部分５１２６ａの少なくとも一部を含む９個のコードブロック５０２１のそれぞれが差分コードブロック５０２１となる。差分コードブロック５０２１に斜線を示すと、図１９のようになる。
【０１００】
指示情報５２０によって、ＩｏＴ端末２が送信すべきデータとして、例えば、分解レベル３のサブバンドＬＬ３が指定された場合、送信対象決定部２６３は、分解レベル３に対応する統合サブバンドマスクをサブバンドＬＬ３に重ねた場合に、当該サブバンドＬＬ３において、当該統合サブバンドマスクの第２ＲＯＩマスク部分の少なくとも一部を含む差分コードブロックを、送信対象データ５０３とする。
【０１０１】
また送信対象決定部２６３は、差分階層化データ５０２と同様に、非差分階層化データ５０１の各サブバンドを、３２×３２あるいは６４×６４程度のコードブロックに分割する。そして、送信対象決定部２６３は、非差分階層化データ５０１を構成する複数のコードブロックにおいて、指示情報５２０に応じたコードブロックを特定し、特定したコードブロックを送信対象データ５０３とする。
【０１０２】
以後、コードブロックをＣＢと呼ぶことがある。また、非差分階層化データ５０１のコードブロックを非差分コードブロック（非差分ＣＢ）と呼ぶことがある。
【０１０３】
差分階層化データ５０２に含まれる複数の差分コードブロックから成る差分ＣＢデータは、差分階層化データ５０２に含まれる差分大データ（その絶対値がしきい値よりも大きい差分ＷＴ係数から成るデータ）と概ね一致する。差分ＣＢデータは、差分画像に含まれる、動く物体を示す部分画像を示すデータであると言える。
【０１０４】
ゲートウェイ３は、指示情報５２０を使用して、ＩｏＴ端末２が送信すべき差分コードブロックを自由に指定することができる。例えば、ゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックを、コードブロック単位で指定することができる。またゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックをサブバンド単位で指定することができる。例えば、ゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックとして、サブバンドＬＬ３の差分コードブロックを指定することができる。またゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックとして、例えば、サブバンドＨＨ３，ＨＬ３の差分コードブロックを指定することができる。またゲートウェイ３は、ＩｏＴ端末２が送信すべきデータを分解レベル単位で指定することもできる。例えば、ゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックとして、分解レベル２の差分コードブロックを指定することができる。この場合には、サブバンドＨＨ２，ＬＨ２，ＨＬ２の差分コードブロックが指定される。またゲートウェイ３は、ＩｏＴ端末２が送信すべき差分コードブロックとして、例えば、分解レベル１，２の差分コードブロックを指定することができる。この場合には、サブバンドＨＨ１，ＬＨ１，ＨＬ１，ＨＨ２，ＬＨ２，ＨＬ２の差分コードブロックが指定される。
【０１０５】
またゲートウェイ３は、指示情報５２０を使用して、ＩｏＴ端末２が送信すべき非差分コードブロックを自由に指定することができる。ゲートウェイ３は、ＩｏＴ端末２が送信すべき非差分コードブロックを、例えば、コードブロック単位、サブバンド単位及び分解レベル単位で指定することができる。
【０１０６】
以後、ゲートウェイ３が、ＩｏＴ端末２が送信すべきデータとして差分コードブロックを指定する場合の指示情報５２０を、差分送信指示情報５２０と呼ぶことがある。また、ゲートウェイ３が、ＩｏＴ端末２が送信すべきデータとして非差分コードブロックを指定する場合の指示情報５２０を、非差分送信指示情報５２０と呼ぶことがある。また、ゲートウェイ３が指示情報５２０で指定するデータを、指定データと呼ぶことがある。指定データは、指示情報５２０によってＩｏＴ端末２に指示される、ＩｏＴ端末２が送信すべきデータであると言える。
【０１０７】
送信対象決定部２６３は、ゲートウェイ３から差分送信指示情報５２０を受け取った場合には、差分階層化データ５０２のうち、差分送信指示情報５２０で指定される指定データに該当する差分コードブロックを、送信対象データ５０３とする。一方で、送信対象決定部２６３は、ゲートウェイ３から非差分送信指示情報５２０を受け取った場合には、非差分階層化データ５０１のうち、非差分送信指示情報５２０で指定される指定データに該当する非差分コードブロックを、送信対象データ５０３とする。
【０１０８】
送信対象決定部２６３は、送信対象データ５０３を決定すると、送信対象データ５０３に含まれる各コードブロックについてのウェーブレット平面上での位置を示す座標を含む座標データ５０４を生成して出力する。座標データ５０４は座標メモリ２７の座標テーブル２７ａに登録される。これにより、ＩｏＴ端末２から送信されるコードブロックの座標が座標テーブル２７ａに登録される。
【０１０９】
本例では、例えば、ウェーブレット平面の左上端を原点とし、互いに直交する２つの軸を当該ウェーブレット平面の横方向及び縦方向にそれぞれ設定した直交座標系において、コードブロックの座標が表される。以後、ウェーブレット平面上でのコードブロックの座標を（ｉ，ｊ）で表すことがある。
【０１１０】
送信対象決定部２６３は、送信対象データ５０３が差分ＣＢを含む場合には、送信対象データ５０３に含まれる各差分ＣＢについての量子化差分ウェーブレット平面上での座標（ｉ，ｊ）を含む座標データ５０４を生成する。一方で、送信対象決定部２６３は、送信対象データ５０３が非差分ＣＢを含む場合には、送信対象データ５０３に含まれる各非差分ＣＢについての量子化ウェーブレット平面上での座標（ｉ，ｊ）を含む座標データ５０４を生成する。
【０１１１】
以上のように、決定部２６は、差分階層化データ５０２のうち、その値の絶対値がしきい値よりも大きい差分大データと、ゲートウェイ３からの差分送信指示情報５２０とに基づいて、当該差分階層化データ５０２から送信対象データ５０３を決定することができる。また決定部２６は、ゲートウェイ３からの非差分送信指示情報５２０に基づいて、非差分階層化データ５０１から送信対象データ５０３を決定することができる。
【０１１２】
なお上記の例では、差分階層化データ５０２において、その絶対値がしきい値よりも大きい差分ＷＴ係数を差分大の差分ＷＴ係数としているが、その絶対値がしきい値以上の差分ＷＴ係数を差分大の差分ＷＴ係数としてもよい。この場合には、差分階層化データ５０２において、その絶対値がしきい値未満の差分ＷＴ係数が差分小の差分ＷＴ係数となる。
【０１１３】
＜符号化装置の詳細説明＞
図２０は符号化装置２４の構成の一例を示す図である。図２０に示されるように、符号化装置２４は符号化部２４０及びビットストリーム生成部２４３を備える。符号化部２４０は、送信対象データ５０３を圧縮符号化して符号化データ５０５を生成する。ビットストリーム生成部２４３は、符号化データ５０５を含むビットストリーム５０６を生成して送信部２５ａに送信する。送信部２５ａは、ビットストリーム５０６をゲートウェイ３に送信する。
【０１１４】
＜符号化部＞
符号化部２４０では、例えば、ビットプレーン符号化を行うＥＢＣＯＴ（Embedded Block Coding with Optimized Truncation）に従ってエントロピー符号化が行われる。本例では、符号化部２４０は、係数ビットモデリング部２４１及びエントロピー符号化部２４２を備える。
【０１１５】
係数ビットモデリング部２４１は、送信対象データ５０３に対してビットモデリング処理を行う。ビットモデリング処理では、まず、係数ビットモデリング部２４１は、送信対象データ５０３に含まれる各コードブロックを、各ビットの２次元配列で構成される複数のビットプレーンに分解する。係数ビットモデリング部２４１は、送信対象データ５０３が差分ＣＢで構成されている場合には、送信対象データ５０３に含まれる各差分ＣＢを複数のビットプレーンに分解する。一方で、係数ビットモデリング部２４１は、送信対象データ５０３が非差分ＣＢで構成されている場合には、送信対象データ５０３に含まれる各非差分ＣＢを複数のビットプレーンに分解する。以後、送信対象データ５０３に含まれる差分ＣＢ及び非差分ＣＢを総称して送信対象コードブロックと呼ぶことがある。
【０１１６】
図２１は、送信対象コードブロック５７０を構成するｎ枚のビットプレーン５７１０〜５７１ｎ−１（ｎ：自然数）の一例を示す図である。係数ビットモデリング部２４１は、送信対象コードブロック５７０中の各係数の二進値を構成する各ビットを別々のビットプレーンに割り当てる。図２１に示されるように、コードブロック５７０中の１点の係数の２進値５７２が“０１１・・・０”である場合、この２進値５７２を構成する複数のビットは、それぞれ、ビットプレーン５７１ｎ−１，５７１ｎ−２，５７１ｎ−３，・・・，５７１０に属するように分解される。図中のビットプレーン５７１ｎ−１は、係数の最上位ビット（ＭＳＢ）のみからなる最上位ビットプレーンを表し、ビットプレーン５７１０は、その最下位ビット（ＬＳＢ）のみからなる最下位ビットプレーンを表している。
【０１１７】
さらに、係数ビットモデリング部２４１は、各ビットプレーン５７１ｋ（ｋ＝０〜ｎ−１）内の各ビットのコンテクスト（context）判定を行い、図２２に示すように、各ビットの有意性（判定結果）に応じて、ビットプレーン５７１ｋを３種類の符号化パス、すなわち、ＣＬパス（CLeanup pass）、ＭＲパス（Magnitude Refinement pass）及びＳＩＧパス（SIGnificance propagation pass）に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、ＪＰＥＧ２０００の規格で定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないとわかっている状態のことを意味する。また「有意で無い」とは、係数がゼロであるか、あるいはゼロである可能性がある状態のことを意味する。
【０１１８】
係数ビットモデリング部２４１は、ＳＩＧパス（有意な係数が周囲にある有意でない係数の符号化パス）、ＭＲパス（有意な係数の符号化パス）及びＣＬパス（ＳＩＧパス及びＭＲパスに該当しない残りの係数の符号化パス）の３種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを４ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数（０ビット）のみで構成されるビットプレーンの数は零ビットプレーン情報として、ビットストリーム生成部２４３が生成する後述のパケットヘッダに含められる。ビットプレーン符号化では、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはＣＬパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記３種類の符号化パスで順次符号化される。
【０１１９】
エントロピー符号化部２４２は、係数ビットモデリング部２４１で生成されたデータに対してエントロピー符号化を行って、符号化データ５０５を生成する。符号化データ５０５は、圧縮符号化された送信対象コードブロックで構成されている。エントロピー符号化としては、例えば算術符号化が利用される。
【０１２０】
なお符号化部２４０では、エントロピー符号化部２４２によって生成された符号化データ５０５に対してレート制御を行って、符号量を制御してもよい。以後、符号化データ５０５に含まれる差分ＣＢを符号化差分ＣＢと呼ぶことがある。符号化差分ＣＢで構成された符号化データ５０５が、符号化差分データ５０５となる。また、符号化データ５０５に含まれる非差分ＣＢを符号化非差分ＣＢと呼ぶことがある。符号化非差分ＣＢで構成された符号化データ５０５が符号化非差分データ５０５となる。また、符号化差分ＣＢ及び符号化非差分ＣＢを総称して符号化ＣＢと呼ぶことがある。
【０１２１】
＜ビットストリーム生成部＞
ビットストリーム生成部２４３は、符号化データ５０５を含むビットストリーム５０６を生成する。具体的には、ビットストリーム生成部２４３は、符号化データ５０５をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム５０６を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報（コードブロックの圧縮データ長）が含まれている。パケットヘッダは符号化されてビットストリーム５０６に含められる。ビットストリーム生成部２４３で生成されるビットストリーム５０６は、決定部２６から出力される、当該ビットストリーム５０６に含まれる符号化データ５０４に含まれる各符号化ＣＢの座標を示す座標データ５０４とともに、送信部２５ａからゲートウェイ３に送信される。
【０１２２】
＜ゲートウェイの詳細説明＞
＜復号化装置の詳細説明＞
図２３はゲートウェイ３の復号化装置３１の構成の一例を示す図である。図２３に示されるように、復号化装置３１は、ビットストリーム解析部３１０、復号化部３１１及び逆量子化部３１４を備えている。
【０１２３】
ビットストリーム解析部３１０は、ＩｏＴ端末２からのビットストリーム５０６を解析して、当該ビットストリーム５０６から符号化データ５０５及び付加情報を抽出する。ビットストリーム解析部３１０は、抽出した符号化データ５０５を復号化部３１１及びデータ処理部３２に出力する。またビットストリーム解析部３１０は、抽出した付加情報に含まれる符号化されたパケットヘッダを復号化する。付加情報は、復号化部３１１及び逆量子化部３１４等で使用される。
【０１２４】
復号化部３１１は符号化データ５０５に対して所定の伸張復号化を行う。所定の伸張復号化は、符号量制御を除いて、図２０の符号化部２４０における圧縮符号化とは逆の処理にあたる。本例では、復号化部３１１は、エントロピー復号化部３１２及び係数ビットモデリング部３１３を備えている。
【０１２５】
エントロピー復号化部３１２は、符号化データ５０５に対してエントロピー復号化を行って、ビットデータを生成する。エントロピー復号化は、図２０のエントロピー符号化部２４２におけるエントロピー符号化とは逆の処理にあたる。
【０１２６】
係数ビットモデリング部３１３は、エントロピー復号化部３１２で生成されたビットデータに対してビットモデリング処理を行って、符号化データ５０５に含まれる各送信対象コードブロックを構成する複数の係数を復元する。ここでのビットモデリング処理は、図２０の係数ビットモデリング部２４１におけるそれとは逆の処理にあたる。係数ビットモデリング部３１３は、復元した係数を逆量子化部３１４に入力する。
【０１２７】
ビットストリーム解析部３１０で符号化差分データ５０５が抽出される場合には、係数ビットモデリング部３１３では、抽出された符号化差分データ５０５に含まれる各符号化差分ＣＢに含まれる量子化差分ＷＴ係数が復元される。一方で、ビットストリーム解析部３１０で符号化非差分データ５０５が抽出される場合には、係数ビットモデリング部３１３では、抽出された符号化非差分データ５０５に含まれる各符号化非差分ＣＢに含まれる量子化ＷＴ係数が復元される。
【０１２８】
以後、係数ビットモデリング部３１３で生成される量子化差分ＷＴ係数の群を、第２量子化差分ＷＴ係数データと呼ぶことがある。第２量子化差分ＷＴ係数データは差分ＣＢで構成されている。また、係数ビットモデリング部３１３で生成される、量子化ＷＴ係数の群を、第２量子化ウェーブレット係数データと呼ぶことがある。第２量子化ウェーブレット係数データは非差分ＣＢで構成されている。そして、第２量子化差分ＷＴ係数データと第２量子化ウェーブレット係数データを総称して、量子化係数データと呼ぶことがある。
【０１２９】
逆量子化部３１４は、復号化部３１１で生成される量子化係数データに対して逆量子化を行う。ここでの逆量子化は、図５の量子化部２２５における量子化とは逆の処理にあたる。逆量子化によって、第２量子化差分ＷＴ係数データは差分ＷＴ係数データに変換される。また逆量子化によって、第２量子化ウェーブレット係数データは第２ウェーブレット係数データに変換される。差分ＷＴ係数データに含まれる量子化された差分ＷＴ係数を、単に差分ＷＴ係数と呼ぶことがある。
【０１３０】
逆量子化部３１４は、差分ＷＴ係数データを生成すると、それを復号化データ５２１として出力する。また逆量子化部３１４は、第２ウェーブレット係数データを生成すると、それを復号化データ５２１として出力する。以後、差分ＷＴ係数データを復号化差分データ５２１と呼び、第２ウェーブレット係数データを復号化非差分データ５２１と呼ぶことがある。また、復号化差分データ５２１に含まれるコードブロックを復号化差分ＣＢと呼び、復号化非差分データ５２１に含まれるコードブロックを復号化非差分ＣＢと呼ぶことがある。
【０１３１】
＜データ処理部の詳細説明＞
図２４はデータ処理部３２の構成の一例を示す図である。図２４に示されるように、データ処理部３２は、認識用データ生成部３２０、第１処理部３２１、第２処理部３２２、第１メモリ３２３、第２メモリ３２４、選択部３２５及び復元部３２６を備える。第１メモリ３２３は、第１処理部３２１によってデータの読み出し及び書き込みが行われる。第２メモリ３２４は、復号化装置３１から出力される符号化データ５０５を記憶する。第２メモリ３２４内のデータは第２処理部３２２によって読み出される。
【０１３２】
＜選択部＞
選択部３２５は、データ処理部３２に入力される復号化データ５２１を、第１処理部３２１に入力するか、復元部３２６に入力するかを選択する。選択部３２５は、データ処理部３２に復号化差分データ５２１が入力される場合には、それを復元部３２６に入力する。一方で、選択部３２５は、データ処理部３２に復号化非差分データ５２１が入力される場合には、それを第１処理部３２１に入力する。第１処理部３２１は、入力される復号化非差分データ５２１を第１メモリ３２３に記憶する。これにより、第１メモリ３２３には、ゲートウェイ３で復元された、非差分階層化データ５０１に含まれる非差分ＣＢが記憶される。
【０１３３】
＜復元部＞
復元部３２６は、復号化差分データ５２１に含まれる各復号化差分ＣＢについて、当該復号化差分ＣＢに対応する、非差分階層化データ５０１に含まれる非差分ＣＢを復元する。
【０１３４】
ここで、ある座標の復号化差分ＣＢは、上述の説明から理解できるように、現階層化データ５０１での当該ある座標のコードブロックから、過去階層化データ５０１における当該ある座標のコードブロックを差し引いて得られるデータである。現階層化データ５０１のコードブロックを現非差分ＣＢとし、過去階層化データ５０１のコードブロックを過去非差分ＣＢとすると、座標（ｉ，ｊ）の復号化差分ＣＢは、座標（ｉ，ｊ）の現非差分ＣＢから座標（ｉ，ｊ）の過去非差分ＣＢを差し引いて得られるデータである。復元部３２６は、座標（ｉ，ｊ）の復号化差分ＣＢに対して、第１メモリ３２３に記憶されている、座標（ｉ，ｊ）の過去非差分ＣＢを足し合わせることによって、座標（ｉ，ｊ）の現非差分ＣＢを復元する。復元部３２６は、第１処理部３２１から、第１メモリ３２３内の過去非差分ＣＢを受け取る。復元部３２６は、復号化差分データ５２１に含まれる各復号化差分ＣＢから現非差分ＣＢを復元する。復元された現非差分ＣＢは、第１処理部３２１によって第１メモリ３２３に記憶される。
【０１３５】
復元部３２６は、座標（ｉ，ｊ）の復号化差分ＣＢから座標（ｉ，ｊ）の現非差分ＣＢを復元する場合には、座標（ｉ，ｊ）の復号化差分ＣＢでの座標（ｘ，ｙ）に位置する差分ＷＴ係数に対して、座標（ｉ，ｊ）の過去非差分ＣＢにおける座標（ｘ．ｙ）に位置するウェーブレット係数を足し合わせる。そして、復元部３２６は、それによって得られた値を、座標（ｉ，ｊ）の現非差分ＣＢでの座標（ｘ，ｙ）に位置する係数の値とする。復元部３２６は、座標（ｉ，ｊ）の復号化差分ＣＢに含まれる各差分ＷＴ係数について同様の処理を行う。これにより、座標（ｉ，ｊ）の現非差分ＣＢの各ウェーブレット係数が復元される。復元部３２６で復元された、現非差分ＣＢの各ウェーブレット係数は、第１処理部３２１に入力される。第１処理部３２１は、現非差分ＣＢの各ウェーブレット係数を第１メモリ３２３に記憶する。第１メモリ３２３内のウェーブレット係数は、後のフレームにおいて、過去非差分ＣＢのウェーブレット係数として使用される。
【０１３６】
＜認識用データ生成部＞
図２５は認識用データ生成部３２０の構成の一例を示す図である。図２５に示されるように、認識用データ生成部３２０は、逆ウェーブレット変換部３２０１、色空間変換部３２０２及びＤＣレベルシフト部３２０３を備えている。
【０１３７】
逆ウェーブレット変換部３２０１は、ウェーブレット係数から成る入力データに対して逆ウェーブレット変換（詳細には逆離散ウェーブレット変換）を行う。
【０１３８】
ここで、認識用データ生成部３２０には、第１処理部３２１で生成される逆変換非対象データ５３１及び逆変換対象データ５３２が入力される。逆変換非対象データ５３１は、逆ウェーブレット変換部３２０１で逆ウェーブレット変換されないデータである。逆変換非対象データ５３１は、例えば、現階層化データ５０１の１つのサブバンドのウェーブレット係数だけで構成される。逆変換非対象データ５３１は、例えば、現階層化データ５０１のＬＬ３サブバンドのウェーブレット係数だけで構成される。また逆変換非対象データ５３１は、例えば、現階層化データ５０１のＨＨ３サブバンドのウェーブレット係数で構成される。また逆変換非対象データ５３１は、例えば、現階層化データ５０１のＨＬ１サブバンドのウェーブレット係数で構成される。逆変換非対象データ５３１は、逆ウェーブレット変換できないデータであると言える。
【０１３９】
一方で、逆変換対象データ５３２は、逆ウェーブレット変換可能なデータであって、逆ウェーブレット変換部３２０１で逆ウェーブレット変換される。逆変換対象データ５３２は、例えば、現階層化データ５０１での同じ分解レベルのＬＬサブバンド、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドのウェーブレット係数だけで構成される。また逆変換対象データ５３２は、例えば、現階層化データ５０１での同じ分解レベルのＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドのウェーブレット係数と、それと同じ分解レベルのＬＬバンドを復元可能な、それよりも下の分解レベルの複数のサブバンドのウェーブレット係数とだけで構成される。
【０１４０】
逆ウェーブレット変換部３２０１は、逆変換対象データ５３２に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが１でない場合には、その最も低い分解レベルよりも一つ下の分解レベルのＬＬサブバンドのウェーブレット係数が得られるように、逆変換対象データ５３２に対して逆ウェーブレット変換を行う。一方で、逆ウェーブレット変換部３２０１は、逆変換対象データ５３２に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが１である場合には、原画の画素値が得られるように、逆変換対象データ５３２に対して逆ウェーブレット変換を行う。
【０１４１】
例えば、逆変換対象データ５３２が、分解レベル３のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドのウェーブレット係数で構成されている場合を考える。この場合には、逆ウェーブレット変換部３２０１では、分解レベル２のＬＬ２サブバンドのウェーブレット係数が得られる。
【０１４２】
また、逆変換対象データ５３２が、分解レベル２のＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドのウェーブレット係数と、分解レベル３のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部３２０１では、分解レベル１のＬＬ１サブバンドのウェーブレット係数が得られる。分解レベル３のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドは、分解レベル２のＬＬ２サブバンドを復元可能なサブバンドである。
【０１４３】
また、逆変換対象データ５３２が、分解レベル１のＬＨ１サブバンド、ＨＬ１サブバンド及びＨＨ１サブバンドのウェーブレット係数と、分解レベル２のＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドと分解レベル３のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部３２０１では、原画（フレーム画像）の画素値が得られる。分解レベル２のＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドと分解レベル３のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドは、分解レベル１のＬＬ１サブバンドを復元可能なサブバンドである。
【０１４４】
逆ウェーブレット変換部３２０１で生成されるＬＬサブバンドのウェーブレット係数は、ＬＬデータ５３０として第１処理部３２１に出力される。つまり、逆ウェーブレット変換部３２０１で生成されるＬＬ３サブバンドのウェーブレット係数、ＬＬ２サブバンドのウェーブレット係数及びＬＬ１サブバンドのウェーブレット係数は、それぞれＬＬデータ５３０として第１処理部３２１に入力される。
【０１４５】
ここで、ゲートウェイ３では、逆ウェーブレット変換部３２０１から出力されるウェーブレット係数が画素値として取り扱われる。したがって、逆ウェーブレット変換部３２０１からは、複数の画素値を含む画像データが出力されると言える。また、逆変換非対象データ５３１に含まれるウェーブレット係数も画素値として取り扱われる。したがって、逆変換非対象データ５３１は一種の画像データであると言える。
【０１４６】
色空間変換部３２０２は、逆ウェーブレット変換部３２０１から出力される画像データに対して、図５の色空間変換部２２２での処理と逆の処理を行う。また色空間変換部３２０２は、認識用データ生成部３２０に入力される逆変換非対象データ５３１（画像データ）に対して、色空間変換部２２２での処理と逆の処理を行う。ＤＣレベルシフト部３２０３は、色空間変換部３２０２から出力される画像データのＤＣレベルを必要に応じて変換する。ＤＣレベルシフト部３２０３から出力される画像データが認識用データ５２２となる。
【０１４７】
以上の説明から理解できるように、認識用データ５２２は、復元された、画像データ５００の少なくとも一部、あるいは復元された、現階層化データ５０１のサブバンドの少なくとも一部となる。よって、認識用データ５２２が示す認識対象画像は、フレーム画像（サブバンド分割されていないフレーム画像）の少なくとも一部、あるいはサブバンド画像の少なくとも一部を示す。
【０１４８】
＜第１処理部＞
第１処理部３２１は、データ書き込み処理、マスク生成処理、入力データ生成処理及び指示情報生成処理を行う。
【０１４９】
＜データ書き込み処理＞
第１処理部３２１は、選択部３２５から入力される復号化非差分データ５２１を第１メモリ３２３に記憶する。また第１処理部３２１は、復元部３２６から入力される、復元された現非差分ＣＢを第１メモリ３２３に記憶する。また第１処理部３２１は、認識用データ生成部３２０から入力されるＬＬデータ５３０を第１メモリ３２３に記憶する。
【０１５０】
＜マスク生成処理＞
第１処理部３２１は、画像認識部３３から出力される認識結果情報５２３に基づいてマスクデータ５２５を生成する。
【０１５１】
ここで、画像認識部３３は、認識用データ５２２が示す認識対象画像から検出対象物を検出すると、検出対象物が検出されたことを示す検出情報を含む認識結果情報５２３を出力する。一方、画像認識部３３は、認識対象画像から検出対象物が検出できなかったときには、検出対象物が検出されなかったことを示す未検出情報を含む認識結果情報５２３を出力する。
【０１５２】
第１処理部３２１は、検出情報を含む認識結果情報５２３を受け取ると、対象フレーム画像において、画像認識部３３で検出された検出対象物が写る検出対象物画像を特定する。第１処理部３２１は、座標メモリ３６内の座標テーブル３６ａに基づいて検出対象物画像を特定することができる。第１処理部３２１は、対象フレーム画像において、特定した検出対象物画像をＲＯＩとし、それ以外の領域を非ＲＯＩとする。画像認識部３３が、対象フレーム画像から複数の検出対象物を検出した場合には、対象フレーム画像において、当該複数の検出対象物がそれぞれ映る複数の検出対象物画像がＲＯＩとされる。
【０１５３】
第１処理部３２１は、対象フレーム画像においてＲＯＩと非ＲＯＩとを判別するための使用マスクを生成する。この使用マスクは、上述の図１４に示される差分フレームマスク５１２０と同様に、ウェーブレット平面に対応するマスクである。使用マスクは、対象フレーム画像全体をウェーブレット変換して得られるウェーブレット平面において、ＲＯＩに関与するウェーブレット係数（ＲＯＩ係数と呼ぶ）と、非ＲＯＩに関与するウェーブレット係数（非ＲＯＩ係数と呼ぶ）とを判別するためのマスクであると言える。使用マスクは、差分フレームマスク５１２０と同様に、ウェーブレット平面に含まれる各サブバンド用のマスクの集合体として把握できる。第１処理部３２１は、生成した使用マスクのデータをマスクデータ５２５としてトランスコーダ３４に入力する。
【０１５４】
なお、使用マスクは、対象フレーム画像の一部だけをウェーブレット変換して得られるウェーブレット平面においてＲＯＩ係数と非ＲＯＩ係数とを判別するためのマスクであってもよい。
【０１５５】
また上記の例では、第１処理部３２１は、画像認識処理で検出された検出対象物の画像をＲＯＩとしたが、対象フレーム画像のうちの他の部分をＲＯＩとすることもできる。第１処理部３２１は、対象フレーム画像においてＲＯＩを自由に設定することができる。例えば、第１処理部３２１は、対象フレーム画像において、クラウドサーバ５が指定する部分をＲＯＩとすることもできる。
【０１５６】
＜入力データ生成処理＞
第１処理部３２１は、第１メモリ３２３内のデータを使用して、認識用データ生成部３２０に入力される入力データである逆変換非対象データ５３１及び逆変換対象データ５３２を生成する。第１処理部３２１は、認識対象画像をどのような画像にするかを決定し、それに応じて逆変換非対象データ５３１あるいは逆変換対象データ５３２を生成する。第１処理部３２１は、例えば、ＬＬ３サブバンド画像全体を認識対象画像とする場合には、現階層化データ５０１のＬＬ３サブバンドで構成される逆変換非対象データ５３１を生成して認識用データ生成部３２０に入力する。また第１処理部３２１は、ＬＬ２サブバンド画像全体を認識対象画像とする場合には、現階層化データ５０１のＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドで構成される逆変換対象データ５３２を生成して認識用データ生成部３２０に入力する。認識対象画像をどのような画像にするかについては、過去の認識結果情報５２３、検出対象物の種類及びＩｏＴ端末２のカメラ２０の撮影範囲等に基づいて決定される。
【０１５７】
＜指示情報生成処理＞
第１処理部３２１は、認識結果情報５２３等に基づいて、ＩｏＴ端末２が送信すべきデータを決定し、決定したデータ（指定データ）を送信することを指示するための指示情報５２０を生成する。第１処理部３２１は、ＩｏＴ端末２が送信すべきデータとして差分ＣＢを指定する場合には、差分送信指示情報５２０を生成する。一方で、第１処理部３２１は、ＩｏＴ端末２が送信すべきデータとして非差分ＣＢを指定する場合には、非差分送信指示情報５２０を生成する。
【０１５８】
＜第２処理部＞
第２処理部３２２は、第１メモリ３２３から読み出したデータに基づいて、トランスコーダ用復号化データ５２６を生成する。本例では、第１処理部３２１で生成されるマスクデータ５２５が対象フレーム画像全体をウェーブレット変換して得られる最大分解レベルのウェーブレット平面に対応していることから、第２処理部３２２は、例えば、第１メモリ３２３から、当該最大分解レベルのウェーブレット平面を構成する複数のウェーブレット係数、つまり第１ウェーブレット係数データを読み出す。第１ウェーブレット係数データは対象フレーム画像全体を示すデータである。そして第２処理部３２２は、読み出した第１ウェーブレット係数データをトランスコーダ用復号化データ５２６としてトランスコーダ３４に出力する。
【０１５９】
なおマスクデータ５２５が、対象フレーム画像の一部に対応するデータである場合には、当該一部を復元するための複数のウェーブレット係数を第１メモリ３２３から読み出して、読み出した複数のウェーブレット係数をトランスコーダ用復号化データ５２６としてもよい。
【０１６０】
また第２処理部３２２は、第２メモリ３２４から読み出したデータに基づいて、トランスコーダ用符号化データ５２７を生成する。第２処理部３２２は、例えば、第２メモリ３２４から、最大分解レベルのウェーブレット平面を構成する複数の符号化非差分ＣＢ、つまり符号化された第１量子化ウェーブレット係数データを読み出す。最大分解レベルのウェーブレット平面を構成する複数の符号化非差分ＣＢは、対象フレーム画像全体を復元するための複数の符号化非差分ＣＢであると言える。そして第２処理部３２２は、読み出した複数の符号化非差分ＣＢをトランスコーダ用符号化データ５２７としてトランスコーダ３４に出力する。
【０１６１】
なお第２処理部３２２は、第２メモリ３２４から、対象フレーム画像の一部を復元するための複数の符号化非差分ＣＢを読み出して、読み出した複数の符号化非差分ＣＢをトランスコーダ用符号化データ５２７としてもよい。
【０１６２】
＜画像認識部の詳細説明＞
図２６は画像認識部３３の構成の一例を示す図である。図２７は画像認識部３３の動作を示す図である。図２６に示されるように、画像認識部３３は、前処理部３３０及び画像認識エンジン３３４を備える。前処理部３３０は、メモリ３３１、分離部３３２及び正規化部３３３を備える。
【０１６３】
メモリ３３１は、データ処理部３２からの認識用データ５２２を記憶する（図２７の＜データ記憶＞を参照）。分離部３３２は、メモリ３３１内の認識用データ５２２が示す認識対象画像６００から複数の部分画像６０１を選択する（図２７の＜選択＞を参照）。図２７の例では、各部分画像６０１は、少なくとも一つの他の部分画像６０１と重なっている。そして分離部３３２は、選択した複数の部分画像６０１を互いに分離する（図２７の＜分離＞を参照）。正規化部３３３は、分離部３３２で分離された複数の部分画像６０１のそれぞれを正規化して、複数の正規化部分画像６０２を生成する（図２７の＜正規化＞を参照）。正規化部３３３で生成された各正規化部分画像６０２を示すデータが画像認識エンジン３３４に入力される。
【０１６４】
画像認識エンジン３３４は、前処理部３３０から入力されるデータに基づいて、各正規化部分画像６０２に対して画像認識処理を行う。画像認識エンジン３３４は、例えば、入力された複数の正規化部分画像６０２の少なくとも一つから検出対象物が検出されると、検出情報を含む認識結果情報５２３をデータ処理部３２に入力する。一方で、画像認識エンジン３３４は、入力された複数の正規化部分画像６０２のすべてから検出対象物が検出されないときには、非検出情報を含む認識結果情報５２３をデータ処理部３２に入力する。また画像認識エンジン３３４は、検出した検出対象物に関する対象物情報を含む認識結果情報５２４を生成して通信部３５に入力する。例えば、検出対象物が人である場合、対象物情報には、例えば、検出された人の性別及び年齢等が含まれる。また対象物情報には、カメラ２０の撮影範囲内での検出対象物の位置を示す情報が含まれてもよい。対象物情報に含まれる情報は、画像認識エンジンが画像認識によって特定できる情報に依存する。通信部３５は、認識結果情報５２４を含むメタデータをクラウドサーバ５に送信する。なお、認識結果情報５２４は認識結果情報５２３と同じであってもよい。
【０１６５】
画像認識エンジン３３４が正規化部分画像６０２から検出対象物を検出する方法としては、様々な方法が考えられる。例えば、画像認識エンジン３３４は、正規化部分画像６０２から、検出対象物の特徴を示す特徴量を抽出する。この特徴量としては、例えば、エッジ、カラー、Ｈａａｒ−ｌｉｋｅ、ＨＯＧ（Histogram of Oriented Gradients）あるいはＬＢＰ（Local Binary Pattern）などが考えられる。画像認識エンジン３３４は、特徴量を抽出すると、当該画像認識エンジン３３４が備える識別器に対して、抽出した特徴量を入力する。識別器は、入力される特徴量に基づいて、正規化部分画像６０２に検出対象物画像が存在するか否かを判定し、その判定結果を出力する。識別器としては、例えば、ニューラルネットワーク、ＳＶＭ（Support Vector Machine）あるいはＡｄａｂｏｏｓｔが使用される。なお、画像認識エンジン３３４は、正規化部分画像６０２から複数種類の特徴量を抽出し、抽出した複数種類の特徴量に基づいて、正規化部分画像６０２に検出対象物画像が存在するか否かを判定してもよい。
【０１６６】
また、画像認識部３３は、正規化部分画像６０２から特徴量を抽出するのではなく、認識用データ５２２が示す認識対象画像６００から特徴量を抽出してもよい。この場合には、例えば、画像認識部３３は、抽出した特徴量に基づいて認識対象画像６００から複数の部分画像６０１を選択し、選択した複数の部分画像６０１のそれぞれを正規化して、複数の正規化部分画像６０２を生成する。そして、画像認識部３３は、認識対象画像６００から抽出した特徴量において、各正規化部分画像６０２に対応する特徴量を特定し、特定した特徴量を識別器に入力する。
【０１６７】
また画像認識エンジン３３４は、ディープラーニングのように、特徴量の抽出を行わずに検出対象物を検出することが可能な多層構造のニューラルネットワークを用いてもよい。
【０１６８】
＜トランスコーダの詳細説明＞
図２８はトランスコーダ３４の一例を示す図である。図２８に示されるように、トランスコーダ３４は、量子化部３４０、符号化部３４１及びビットストリーム生成部３４４を備える。トランスコーダ３４は、入力されるデータをウェーブレット変換せずにビットストリームに変換して通信部３５に入力する。
【０１６９】
量子化部３４０は、データ処理部３２から出力される、複数のウェーブレット係数から成るトランスコーダ用復号化データ５２６に対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第３量子化ウェーブレット係数データを生成する。このとき、量子化部３４０は、データ処理部３２からのマスクデータ５２５に基づいて、トランスコーダ用復号化データ５２６の各ウェーブレット係数について、ＲＯＩ係数と非ＲＯＩ係数とを判別する。そして量子化部３４０は、量子化後の非ＲＯＩ係数が０になるように、トランスコーダ用復号化データ５２６の各ウェーブレット係数の量子化を行う。これにより、第３量子化ウェーブレット係数データはＲＯＩだけを示すようになる。
【０１７０】
符号化部３４１は、量子化部３４０によって生成された第３量子化ウェーブレット係数データの圧縮符号化を行って符号化データ５９０を生成する。符号化部３４１は、係数ビットモデリング部３４２及びエントロピー符号化部３４３を備える。
【０１７１】
係数ビットモデリング部３４２は、第３量子化ウェーブレット係数データに対してビットモデリング処理を行う。このビットモデリング処理は、ＩｏＴ端末２の係数ビットモデリング部２４１でのビットモデリング処理と同様である。エントロピー符号化部３４３は、係数ビットモデリング部３４２で生成されたデータに対してエントロピー符号化を行って、符号化データ５９０を生成する。符号化データ５９０は、マスクデータ５２５によって特定されるＲＯＩだけを示すデータである。本例では、符号化データ５９０は、検出対象物画像を示すデータである。エントロピー符号化としては、例えば算術符号化が利用される。なお符号化部３４１では、エントロピー符号化部３４３によって生成された符号化データ５９０に対してレート制御を行って、符号量を制御してもよい。
【０１７２】
ビットストリーム生成部３４４は、符号化データ５９０を含むビットストリーム５２９を生成する。具体的には、ビットストリーム生成部３４４は、符号化データ５９０をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム５２９を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が含まれている。
【０１７３】
またビットストリーム生成部３４４は、データ処理部３２から出力されるトランスコーダ用符号化データ５２７を含むビットストリーム５２９を生成する。ビットストリーム生成部３４４は、トランスコーダ用符号化データ５２７をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム５２９を生成する。
【０１７４】
ビットストリーム生成部３４４で生成されたビットストリーム５２９は、通信部３５からクラウドサーバ５に送信される。ビットストリーム５２９が、ＲＯＩを示す符号化データ５９０を含む場合には、ゲートウェイ３はＲＯＩを示すデータをクラウドサーバ５に送信することができる。ゲートウェイ３はＲＯＩを自由に設定することができることから、例えばクラウドサーバ５が望むＲＯＩを、当該クラウドサーバ５に送信することができる。
【０１７５】
またビットストリーム５２９が、例えばフレーム画像全体を示すトランスコーダ用符号化データ５２７を含む場合には、ゲートウェイ３は、フレーム画像全体を示すデータをクラウドサーバ５に送信することができる。これにより、ゲートウェイ３は、クラウドサーバ５に対して、ＩｏＴ端末２のカメラ２０で撮影される動画をストリーミング送信することができる。ゲートウェイ３は、例えばクラウドサーバ５の要求に応じて、動画をストリーミング送信することができる。
【０１７６】
データ処理部３２の第２処理部３２２は、クラウドサーバ５からの要求等に応じて、トランスコーダ用復号化データ５２６をトランスコーダ３４に入力するか、トランスコーダ用符号化データ５２７をトランスコーダ３４に入力するかを決定する。
【０１７７】
通信部３５は、画像認識処理で検出された検出対象物の画像がＲＯＩとされる場合には、符号化データ５９０を含むビットストリーム５２９と、検出対象物に関する対象物情報を含む認識結果情報５２４とを、クラウドサーバ５に送信する。
【０１７８】
このように、トランスコーダ３４には、ウェーブレット変換後のデータであるトランスコーダ用復号化データ５１６及びトランスコーダ用符号化データ５２７が入力される。したがって、トランスコーダ３４は、ＩｏＴ端末２とは異なり、画像を示す入力データをウェーブレット変換せずにビットストリーム５２９を生成することができる。よって、簡単な処理でビットストリーム５２９を生成することができる。
【０１７９】
また、トランスコーダ用符号化データ５２７は圧縮符号化されたデータである。したがって、トランスコーダ３４は、トランスコーダ用符号化データ５２７が入力される場合には、ＩｏＴ端末２とは異なり、入力データを圧縮符号化せずにビットストリーム５２９を生成することができる。よって、より簡単な処理でビットストリーム５２９を生成することができる。
【０１８０】
＜画像処理システムの動作例＞
次に画像処理システム４全体での動作例について説明する。以下では、一例として、ゲートウェイ３が、検出対象物が検出されるまで、分解レベルが高いものから順にＬＬサブバンド画像に対して画像認識処理を行う場合の画像処理システム４の動作について説明する。
【０１８１】
ＩｏＴ端末２のカメラ２０が動画の撮影を開始すると、画像処理システム４は前処理を行う。前処理では、ゲートウェイ３は、まずＩｏＴ端末２に対して、撮影が開始した動画の最初のフレーム画像全体を示す非差分階層化データ５０１を送信することを、非差分送信指示情報５２０を用いて指示する。この非差分送信指示情報５２０を受け取ったＩｏＴ端末２では、決定部２６は、最初のフレーム画像全体を示す非差分階層化データ５０１を送信対象データ５０３として符号化装置２４に入力する。これにより、最初のフレーム画像全体を示す符号化非差分データ５０５を含むビットストリーム５０６がＩｏＴ端末２から送信される。ビットストリーム５０６を受け取ったゲートウェイ３では、復号化装置３１が、当該ビットストリーム５０６に含まれる符号化非差分データ５０５に対して伸張復号化を行って、最初のフレーム画像全体を示す復号化非差分データ５２１を生成する。データ処理部３２は、復号化装置３１で生成された復号化非差分データ５２１を第１メモリ３２３に記憶する。これにより、前処理が完了する。前処理が完了した時点では、最初のフレーム画像全体を示す非差分階層化データ５０１の各ウェーブレット係数が第１メモリ３２３に記憶される。
【０１８２】
前処理が完了すると、画像処理システム４は図２９，３０に示される動作を行う。図２９，３０は、前処理後に対象フレーム画像に対して処理を行う画像処理システム４のゲートウェイ３及びＩｏＴ端末２の動作の一例をそれぞれ示す図である。図２９，３０の例では、ゲートウェイ３は差分送信指示情報５２０をＩｏＴ端末２に送信し、ＩｏＴ端末２は差分送信指示情報５２０に応じた差分コードブロックをゲートウェイ３に送信する。
【０１８３】
対象フレーム画像に対する処理が開始すると、図２９に示されるように、ステップｓ１１において、ゲートウェイ３の第１処理部３２１は、最大分解レベルのＬＬサブバンド、本例ではＬＬ３サブバンドを処理対象とする。そして第１処理部３２１は、処理対象のＬＬサブバンドの分解レベルを示す変数ＬＶを３に設定する。以後、処理対象のＬＬサブバンドを対象ＬＬサブバンドと呼ぶ。また、対象ＬＬサブバンドを画像と見立てて対象ＬＬサブバンド画像と呼ぶことがある。また、対象ＬＬサブバンドの分解レベルを対象分解レベルと呼ぶことがある。第１処理部３２１は、対象ＬＬサブバンドの差分コードブロックを指定データとして決定する。
【０１８４】
次にステップｓ１２において、第１処理部３２１は、ステップｓ１１で決定した指定データをＩｏＴ端末２に通知するための差分送信指示情報５２０を生成して送信部３０ｂに入力する。送信部３０ｂは、入力された差分送信指示情報５２０をＩｏＴ端末２に送信する。
【０１８５】
ＩｏＴ端末２では、図３０に示されるように、受信部２５ｂがステップｓ３１において差分送信指示情報５２０を受信して決定部２６に入力する。次にステップｓ３２において、決定部２６は、入力された差分送信指示情報５２０と統合マスクデータ５１３とに基づいて、差分階層化データ５０２から送信対象データ５０３を決定する。対象フレーム画像に対する処理が開始した後の最初のステップｓ３２においては、決定部２６は、統合マスクデータ５１３が示す各統合サブバンドマスクの第２ＲＯＩマスク部分に対して、膨脹及び縮退を行うグルーピング処理と、ラベリング処理とを順次行う。これにより、第２ＲＯＩマスク部分に含まれる独立領域（島領域）に固有のラベルが割り当てられる。以後、この独立領域を「ラベル領域」と呼ぶことがある。
【０１８６】
図３１は、分解レベル３に対応する統合サブバンドマスク５１２６に対してグルーピング処理及びラベリング処理を行った様子を示す図である。図３１では、統合サブバンドマスク５１２６に対して、サブバンドＬＬ３の複数のコードブロック５０２１ａ〜５０２１ｉが重ねられている。図３１には、上述の図１８，１９に示される例とは異なる統合サブバンドマスク５１２６が示されている。図３１の例では、第２ＲＯＩマスク部分（白抜き部分）は、ラベル０のラベル領域Ｌ０と、ラベル１のラベル領域Ｌ１とに分けられている。他の分解レベルに対応する統合サブバンドマスク５１２６の第２ＲＯＩマスク部分についても、ラベル領域Ｌ０，Ｌ１に分けられる。
【０１８７】
決定部２６は、ラベリング処理を実行した後、対象ＬＬサブバンドに対応するラベリング処理後の統合サブバンドマスクに対して、上述の図３１に示されるように、対象ＬＬサブバンドの複数のコードブロックを重ねる。以後、対象ＬＬサブバンドに対応する統合サブバンドマスクを「対象統合サブバンドマスク」と呼ぶことがある。
【０１８８】
次に決定部２６は、番号が最も小さいラベルを処理対象のラベル（以後、対象ラベルと呼ぶことがある）とする。そして決定部２６は、対象ＬＬサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域に対応する差分コードブロックを、送信対象データ５０３とする。具体的には、決定部２６は、対象ＬＬサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域の少なくとも一部を含む差分コードブロックを、送信対象データ５０３とする。以後、対象ラベルのラベル領域を対象ラベル領域と呼ぶことがある。
【０１８９】
図３１の例では、ラベル０が対象ラベルとされる。そして、ラベル領域Ｌ０に対応する差分コードブロック５０２１ｂ，５０２１ｃ，５０２１ｅ，５０２１ｆが送信対象データ５０３とされる。なお後述するように、他のラベルのラベル領域に対応する差分コードブロックは後で送信対象データ５０３とされる。
【０１９０】
決定部２６は、送信対象データ５０３を決定すると、ステップｓ３３において、送信対象データ５０３に含まれる各差分コードブロックについてのウェーブレット平面上での位置を示す座標を含む座標データ５０４を生成する。
【０１９１】
次にステップｓ３４において、符号化装置２４は、送信対象データ５０３を圧縮符号化して符号化データ５０５を生成する。次にステップｓ３５において、符号化装置２４は、符号化データ５０５を含むビットストリーム５０６を生成する。送信部２５ａは、ビットストリーム５０６と、ステップｓ３３で生成された座標データ５０４とを、ゲートウェイ３に送信する。このとき、ＩｏＴ端末２は、ラベリング処理で得られたラベルの番号をゲートウェイ３に通知するとともに、現在の対象ラベルをゲートウェイ３に通知する。図３１の例では、ラベルの番号０及び１がゲートウェイ３に通知されるとともに、現在の対象ラベルがラベル０であることがゲートウェイ３に通知される。
【０１９２】
図２９に戻って、ステップｓ１２の後、ゲートウェイ３の受信部３０ａは、ステップｓ１３において、ＩｏＴ端末２からのビットストリーム５０６及び座標データ５０４を受信する。そしてステップｓ１４において、ビットストリーム５０６に含まれる符号化データ５０５が第２メモリ３２４に記憶され、座標データ５０４が座標メモリ３６の座標テーブル３６ａに記憶される。また、復号化装置３１で符号化データ５０５が伸張復号化されて復号化差分データ５２１が生成される。
【０１９３】
次にステップｓ１５において、データ処理部３２は、復号化差分データ５２１に含まれる各復号化差分ＣＢから、それに対応する現非差分ＣＢを復元する。そして、データ処理部３２は、復元した現非差分ＣＢの各ウェーブレット係数を第１メモリ３２３に記憶する。ここで、第１メモリ３２３には、上述の前処理によって、最初のフレーム画像全体を示す非差分階層化データ５０１の各ウェーブレット係数が記憶されている。つまり、第１メモリ３２３には、最初のフレーム画像全体を示す非差分階層化データ５０１の各非差分ＣＢが記憶されている。データ処理部３２は、この非差分ＣＢを過去非差分ＣＢとして使用して、現非差分ＣＢを復元する。
【０１９４】
次にステップｓ１６において、第１処理部３２１は、認識用データ生成部３２０への入力データを生成する。ここでは、第１処理部３２１は、対象フレーム画像をウェーブレット変換して得られるウェーブレット平面（以後、対象ウェーブレット平面と呼ぶことがある）の対象ＬＬサブバンドのうち、対象ラベル領域に対応する部分を、認識対象画像とする。そして、第１処理部３２１は、対象ウェーブレット平面の対象ＬＬサブバンドにおいて、対象ラベル領域に対応する非差分ＣＢ（復元された非差分ＣＢ）を、第１メモリ３２３から読み出す。つまり、第１処理部３２１は、対象ウェーブレット平面の対象ＬＬサブバンドに対して、対象分解レベルに対応する統合サブバンドマスクを重ねた場合に、当該統合サブバンドマスクの対象ラベル領域の少なくとも一部を含む非差分ＣＢを、第１メモリ３２３から読み出す。
【０１９５】
ここで、ＩｏＴ端末２は、上述のように、送信対象データ５０３に含まれる各コードブロックの座標を含む座標データ５０４をゲートウェイ３に送信する。そして、ゲートウェイ３は、受けとった座標データ５０４を座標テーブル３６ａに登録する。したがって、第１処理部３２１は、座標テーブル３６ａを参照することによって、対象ウェーブレット平面の対象ＬＬサブバンドにおいて、対象ラベル領域に対応する非差分ＣＢの座標を特定することができる。よって、第１処理部３２１は、当該非差分ＣＢを第１メモリ３２３から読み出すことができる。第１処理部３２１は、読み出した非差分ＣＢで構成される逆変換非対象データ５３１を認識用データ生成部３２０に入力する。
【０１９６】
図３２は、対象分解レベルに対応する統合サブバンドマスク５１２６を、複数の非差分ＣＢ５０１１ａ〜５０１１ｉを含む対象ＬＬサブバンドに重ねた様子の一例を示す図である。図３２の例では、対象分解レベルは３となっている。図３２の例において、対象ラベル領域がラベル領域Ｌ０であるとすると、第１処理部３２１が第１メモリ３２３から読み出す非差分ＣＢは、ラベル領域Ｌ０の少なくとも一部を含む非差分ＣＢ５０１１ｂ，５０１１ｃ，５０１１ｅ，５０１１ｆとなる。
【０１９７】
次にステップｓ１７において、認識用データ生成部３２０は、逆変換非対象データ５３１に基づいて認識用データ５２２を生成する。逆変換非対象データ５３１は、逆ウェーブレット変換されずに、色空間変換部３２０２に入力される。認識用データ５２２は、対象ウェーブレット平面の対象ＬＬサブバンド画像における、対象ラベル領域に対応する画像を示す。
【０１９８】
次にステップｓ１８において、画像認識部３３は、ステップｓ１７で生成された認識用データ５２２が示す画像に対して画像認識処理を行う。この画像認識処理において検出対象物が検出されると、データ処理部３２は、対象ラベルを終了ラベルとする。
【０１９９】
次にステップｓ１９において、データ処理部３２は、対象フレーム画像に対する処理を終了するか否かを決定する終了判定を行う。
【０２００】
図３３は終了判定の一例を示すフローチャートである。図３３に示されるように、ステップｓ１９１において、データ処理部３２は、画像認識部３３での過去の画像認識処理の結果に基づいて、ＩｏＴ端末２で定められた全てのラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部３２は、ＩｏＴ端末２で定められた各ラベルについて、当該ラベルのラベル領域に対応するコードブロックから検出対象物が検出されたか否かを特定する。データ処理部３２は、全てのラベルに関して、検出対象物が検出されたことを特定すると、ステップｓ１９２において、対象フレーム画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
【０２０１】
一方で、データ処理部３２は、ステップｓ１９１でＮＯと判定すると、ステップｓ１９３において、対象ラベルを示す変数ＬＮの値が、最大値ｍａｘ１と一致するか否かを判定する。ここで、最大値ｍａｘ１とは、ＩｏＴ端末２が定めたラベルにおいて、終了ラベルを除いたラベルのうち、最も大きいラベルを意味している。ＩｏＴ端末２が定めたラベルにおいて終了ラベルを除いたラベルを処理対象候補のラベルと呼ぶと、最大値ｍａｘ１は、処理対象候補のラベルのうちの最大値を意味している。例えば、図３１の例のように、ＩｏＴ端末２が、ラベル０，１を定め、現在の終了ラベル（検出対象物が検出されたラベル）が０の場合、最大値ｍａｘ１は１となる。また例えば、ＩｏＴ端末２が、ラベル０〜３を定め、現在の終了ラベルが０，３の場合、最大値ｍａｘ１は２となる。なお、終了ラベルが存在しない場合に、最大値ｍａｘ１は、ＩｏＴ端末２が定めたラベルのうちの最大値と一致する。
【０２０２】
ステップｓ１９３において、変数ＬＮの値が最大値ｍａｘ１に一致すると判定されると、ステップｓ１９４において、データ処理部３２は、対象ＬＬサブバンドの分解レベルを示す変数ＬＶの値が１であるか否かを判定する。データ処理部３２は、変数ＬＶの値が１であると判定すると、つまり対象ＬＬサブバンドがＬＬ１サブバンドである場合、ステップｓ１８２を実行して、対象フレーム画像に対する処理を終了することを決定する。
【０２０３】
ステップｓ１９４において、変数ＬＶの値が１ではないと判定されると、ステップｓ１９５において、データ処理部３２は、変数ＬＶの値を１つだけ減少する。これより、今までの対象ＬＬサブバンドの分解レベルよりも１つだけ小さい分解レベルのＬＬサブバンドが対象ＬＬサブバンドとなる。ステップｓ１９５の後、ステップｓ１９６において、データ処理部３２は、変数ＬＮの値を最小値ｍｉｎ１に設定する。ここで、最小値ｍｉｎ１とは、処理対象候補のラベルのうち、最も小さいラベルを意味している。例えば、図３１の例のように、ＩｏＴ端末２がラベル０，１を定め、現在の終了ラベル領域のラベルが０の場合、最小値ｍｉｎ１は１となる。また例えば、ＩｏＴ端末２がラベル０〜３を定め、現在の終了ラベル領域のラベルが０，３の場合、最小値ｍｉｎ１は１となる。変数ＬＮの値が最小値ｍｉｎ１に設定されることによって、処理対象候補のラベルのうちの最小のラベルが新たな対象ラベルとされる。なお、終了ラベルが存在しない場合に、最小値ｍｉｎ１は、ＩｏＴ端末２が定めたラベルのうちの最小値と一致する。
【０２０４】
ステップｓ１９６の後、ステップｓ１９７において、データ処理部３２は、対象フレーム画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
【０２０５】
ステップｓ１９３において、変数ＬＮの値が最大値ｍａｘ１でない場合、ステップｓ１９８において、データ処理部３２は、変数ＬＮの値を次の値に変更する。具体的には、データ処理部３２は、変数ＬＮの値を、処理対象候補のラベルのうち、当該変数ＬＮの現在の値よりも次に大きい値のラベルに変更する。その後、ステップｓ１９７が実行されて、対象フレーム画像に対する処理の継続が決定される。
【０２０６】
図２９に戻って、ステップｓ１９の終了判定において、データ処理部３２が対象フレーム画像に対する処理を終了すると決定すると、ステップｓ２０において、ゲートウェイ３は、対象フレーム画像に対する処理が終了したことを通知するための終了通知をＩｏＴ端末２に行う。ゲートウェイ３は、対象フレーム画像から検出対象物が検出された場合には、ステップｓ２０の後のステップｓ２１において、検出対象物が写る検出対象物画像（ＲＯＩ）を示す符号化データ５９０を含むビットストリーム５２９をトランスコーダ３４で生成する。対象フレーム画像から複数の検出対象物が検出された場合には、当該複数の検出対象物がそれぞれ写る複数の検出対象物画像を示す符号化データ５９０を含むビットストリーム５２９が生成される。そして、ゲートウェイ３は、生成したビットストリーム５２９と、画像認識部３３が生成する、対象フレーム画像に関する認識結果情報５２４とを、通信部３５からクラウドサーバ５に送信する。これにより、対象フレーム画像に対する処理が終了する。
【０２０７】
なお、対象フレーム画像から検出対象物が検出されなかった場合には、ステップｓ２１が実行されずに対象フレーム画像に対する処理が終了する。あるいは、検出対象物が検出されなかったことを示す情報を含む認識結果情報５２４が通信部３５からクラウドサーバ５に送信された後に、対象フレーム画像に対する処理が終了してもよい。
【０２０８】
ステップｓ１９の終了判定において、データ処理部３２が対象フレーム画像に対する処理を継続すると決定すると、ゲートウェイ３はステップｓ１１を再度実行して、指定データを決定する。このステップｓ１１では、変数ＬＮ，ＬＶが現在示す値に基づいて指定データが決定される。
【０２０９】
第１処理部３２１は、変数ＬＶが現在示す対象分解レベルが、最大分解レベル、つまり３である場合、ＬＬ３サブバンドのうち、分解レベル３に対応する統合サブバンドマスクにおける、変数ＬＮが現在示す対象ラベルのラベル領域に対応する差分コードブロックを指定データとする。
【０２１０】
また第１処理部３２１は、変数ＬＶが現在示す対象分解レベルが、最大分解レベル以外である場合、つまり３よりも小さい場合、対象分解レベルよりも分解レベルが１つ高いＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおける、対象ラベルのラベル領域に対応する差分ＣＢを指定データとする。このラベル領域は、対象分解レベルよりも１つ高い分解レベルに対応する統合サブバンドマスクのラベル領域である。
【０２１１】
ここで、本例では、上述の説明及び後述の説明から理解できるように、対象分解レベルが３よりも小さい場合には、ゲートウェイ３は、対象分解レベルよりも分解レベルが１つ高いＬＬサブバンドにおける、対象ラベル領域に対応する非差分ＣＢを、第１メモリ３２３に記憶している。
【０２１２】
また、ゲートウェイ３の認識用データ生成部３２０の逆ウェーブレット変換部３２０１は、ＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの非差分ＣＢを逆ウェーブレット変換することによって、ＬＬ２サブバンドの非差分ＣＢを復元することができる。同様に、逆ウェーブレット変換部３２０１は、ＬＬ２サブバンド、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの非差分ＣＢを逆ウェーブレット変換することによって、ＬＬ１サブバンドの非差分ＣＢを復元する。
【０２１３】
そして、ゲートウェイ３のデータ処理部３２の復元部３２６は、ＩｏＴ端末２からの差分ＣＢ（復号化差分ＣＢ）から、現非差分ＣＢを復元することができる。
【０２１４】
以上より、ゲートウェイ３は、対象分解レベルが３よりも小さい場合、上記のように指定データを決定することによって、対象ＬＬサブバンドにおける、対象ラベル領域に対応する非差分ＣＢを復元するために必要なデータを得ることができる。つまり、ゲートウェイ３は、対象分解レベルよりも分解レベルが１つ高いＬＬサブバンド、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおける、対象ラベル領域に対応する非差分ＣＢを得ることができる。よって、ゲートウェイ３は、上記のように指定データを決定することによって、対象分解レベルのＬＬサブバンドにおける、対象ラベルのラベル領域に対応する差分ＣＢを復元することができる。
【０２１５】
例えば、対象ＬＬサブバンドがＬＬ２サブバンドであって、対象ラベルがラベル１である場合、第１処理部３２１は、分解レベル３のＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドにおける、ラベル１のラベル領域Ｌ１に対応する差分ＣＢを指定データとする。対象ＬＬサブバンドがＬＬ２サブバンドである場合、ゲートウェイ３は、ＬＬ３サブバンドにおける、ラベル１のラベル領域Ｌ１に対応する非差分ＣＢをすでにＩｏＴ端末２から受け取って第１メモリ３２３に記憶している。また、ゲートウェイ３は、復元部３２６において、分解レベル３のＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドにおける、ラベル１のラベル領域Ｌ１に対応する差分ＣＢから、分解レベル３のＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドにおける、ラベル１のラベル領域Ｌ１に対応する非差分ＣＢを復元することができる。したがって、ゲートウェイ３は、このようにして指定データを決定することによって、ＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢを得ることができる。よって、ゲートウェイ３は、逆ウェーブレット変換によって、ＬＬ２サブバンドにおけるラベル領域Ｌ１に対応する非差分ＣＢを復元することができる。
【０２１６】
ゲートウェイ３は、ステップｓ１１を実行すると、ステップｓ１２において、ステップｓ１１で決定した指定データを通知するための差分送信指示情報５２０を生成する。そして、ゲートウェイ３は、生成した差分送信指示情報５２０をＩｏＴ端末２に送信する。
【０２１７】
ＩｏＴ端末２は、ステップｓ３１において差分送信指示情報５２０を受信すると、ステップｓ３２において、受信した差分送信指示情報５２０と統合マスクデータ５１３とに基づいて、差分階層化データ５０２から送信対象データ５０３を決定する。ＩｏＴ端末２の決定部２６は、差分階層化データ５０２において、差分送信指示情報５２０によって指定される差分ＣＢ（復号化差分ＣＢ）を統合マスクデータ５１３に基づいて特定する。そして、決定部２６は、特定した差分ＣＢを送信対象データ５０３とする。
【０２１８】
ステップｓ３２において送信対象データ５０３が決定されると、ＩｏＴ端末２は、上記と同様にしてステップｓ３３，ｓ３４，ｓ３５を実行する。ステップｓ３５の後、ステップｓ３６において、ＩｏＴ端末２は、ゲートウェイ３からの終了通知を受信すると、対象フレーム画像に対する処理を終了する。一方で、ＩｏＴ端末２は、ステップｓ３５の後、ゲートウェイ３から、終了通知を受信せずに差分送信指示情報５２０を受信する場合（ステップｓ３１）には、上記同様にしてステップｓ３２を実行し、以後同様に動作する。
【０２１９】
なおステップｓ３２において、決定部２６は、差分階層化データ５０２において、差分送信指示情報５２０によって指定される差分ＣＢを統合マスクデータ５１３に基づいて特定し、特定した差分ＣＢのうち、すでにゲートウェイ３に送信した差分ＣＢ以外の差分ＣＢを、送信対象データ５０３としてもよい。この場合、ステップｓ３３において、決定部２６は、特定した差分ＣＢのうち、送信対象データ５０３に含めなかった差分ＣＢ（すでに送信された差分ＣＢ）の座標も、座標データ５０４に含める。これにより、ゲートウェイ３は、ステップｓ３５において対象ラベル領域に対応する差分ＣＢのすべてが送信されない場合であっても、ステップｓ１６において、サブバンドにおける、対象ラベル領域に対応する非差分ＣＢを特定することができる。
【０２２０】
このように、決定部２６が、差分送信指示情報５２０によって指定される差分ＣＢのうち、すでにゲートウェイ３に送信した差分ＣＢ以外の差分ＣＢを、送信対象データ５０３とすることによって、ＩｏＴ端末２からゲートウェイ３に送信するデータ量を低減することができる。
【０２２１】
例えば図３１の例において、差分送信指示情報５２０によって指定される指定データが、ＬＬ３サブバンドにおける、ラベル領域Ｌ１に対応する差分ＣＢであって、ラベル領域Ｌ０に対応する４つの差分ＣＢ５０２１ｂ，５０２１ｃ，５０２１ｅ．５０２１ｆがゲートウェイ３にすでに送信されているとする。この場合、決定部２６は、分解レベル３に対応する統合サブバンドマスク５１２６に基づいて、ラベル領域Ｌ１に対応する４つの差分ＣＢ５０２１ｄ，５０２１ｅ，５０２１ｇ，５０２１ｈを特定する。そして決定部２６は、特定した差分ＣＢ５０２１ｄ，５０２１ｅ，５０２１ｇ，５０２１ｈのうち、既に送信されている差分ＣＢ５０２１ｅ以外の３つの差分ＣＢ５０２１ｄ，５０２１ｇ，５０２１ｈを、送信対象データ５０３とする。
【０２２２】
同様に、差分送信指示情報５２０によって指定される指定データが、ある分解レベルのＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおける、あるラベルのラベル領域に対応する差分ＣＢである場合、決定部２６は、統合マスクデータ５１３に基づいて、当該差分ＣＢを特定する。そして決定部２６は、特定した差分ＣＢのうち、すでにゲートウェイ３に送信している差分ＣＢを除く差分ＣＢを、送信対象データ５０３とする。
【０２２３】
図２９に戻って、ゲートウェイ３はステップｓ１３においてビットストリーム５０６及び座標データ５０４をＩｏＴ端末２から受信すると、上述のステップｓ１４，ｓ１５を実行する。そして、ゲートウェイ３は、ステップｓ１６において、認識用データ生成部３２０への入力データを生成する。このステップｓ１６では、第１処理部３２１は、現在の対象分解レベルが最大分解レベル、つまり３である場合、上記と同様に、座標テーブル３６ａを参照して、第１メモリ３２３から、ＬＬ３サブバンドにおける、対象ラベル領域に対応する非差分ＣＢを読み出す。そして第１処理部３２１は、読み出した非差分ＣＢで構成される逆変換非対象データ５３１を認識用データ生成部３２０に入力する。
【０２２４】
一方で、第１処理部３２１は、現在の対象分解レベルが３よりも小さい場合、第１メモリ３２３から、対象分解レベルよりも分解レベルが１つ高いＬＬサブバンド、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおける、対象ラベル領域に対応する非差分ＣＢを、座標テーブル３６ａを参照して読み出す。そして第１処理部３２１は、読み出した非差分ＣＢで構成される逆変換対象データ５３２を認識用データ生成部３２０に入力する。
【０２２５】
次にステップｓ１７において、認識用データ生成部３２０は認識用データ５２２を生成する。直前のステップｓ１６において逆変換非対象データ５３１が認識用データ生成部３２０に入力される場合には、上記と同様に、逆変換非対象データ５３１は、逆ウェーブレット変換されずに、色空間変換部３２０２に入力する。一方で、直前のステップｓ１６において逆変換対象データ５３２が認識用データ生成部３２０に入力される場合には、逆ウェーブレット変換部３２０１が、逆変換対象データ５３２に対して逆ウェーブレット変換を行う。これにより、逆ウェーブレット変換部３２０１では、対象分解レベルのＬＬサブバンドにおける、対象ラベル領域に対応する、ウェーブレット係数から成る非差分ＣＢが生成される。この非差分ＣＢはＬＬデータ５３０として第１メモリ３２３に記憶される。これにより、第１メモリ３２３には、対象分解レベルのＬＬサブバンドにおける、対象ラベル領域に対応する非差分ＣＢが記憶される。対象分解レベルが２である場合、ＬＬ２サブバンドにおける、対象ラベル領域に対応する非差分ＣＢが記憶され、対象分解レベルが１である場合、ＬＬ１サブバンドにおける、対象ラベル領域に対応する非差分ＣＢが記憶される。
【０２２６】
逆ウェーブレット変換部３２０１で生成された非差分ＣＢは色空間変換部３２０２に入力される。色空間変換部３２０２から出力されるデータはＤＣレベルシフト部３２０３に入力される。そして、ＤＣレベルシフト部３２０３から出力されるデータが認識用データ５２２となる。
【０２２７】
ステップｓ１７において認識用データ５２２が生成されると、ゲートウェイ３は、上述と同様にしてステップｓ１８，ｓ１９を実行する。そして、ゲートウェイ３は以後同様に動作する。
【０２２８】
以上の説明から理解できるように、ＩｏＴ端末２において図３１，３２に示されるラベル０，１が定められる場合、まず、ＬＬ３サブバンドにおける、ラベル０のラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われる。次に、ＬＬ３サブバンドにおける、ラベル１のラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。
【０２２９】
ＬＬ３サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢから検出対象物が検出されず、ＬＬ３サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢから検出対象物が検出されない場合には、ＬＬ２サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われ、その後、ＬＬ２サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。
【０２３０】
ＬＬ２サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢから検出対象物が検出されず、ＬＬ２サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢから検出対象物が検出されない場合には、ＬＬ１サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われ、その後、ＬＬ１サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。
【０２３１】
以上のような動作を行う画像処理システム４は、対象フレーム画像に対する処理が終了すると、新たなフレーム画像を対象フレーム画像として、上記と同様の処理を行う。画像処理システム４は、あるフレーム画像を対象フレーム画像として当該あるフレーム画像に対する処理が終了すると、当該あるフレーム画像よりも後に撮影されるフレーム画像を新たな対象フレーム画像として処理を開始する。画像処理システム４は、カメラ２０で撮影されるフレーム画像に対して、１フレームごとに処理を行ってもよいし、複数フレームごとに処理を行ってもよい。
【０２３２】
以上の説明から理解できるように、図２９，３０の例では、ＬＬサブバンドが、分解レベルが高いものから順に、画像認識処理の対象とされている。言い換えれば、ＬＬサブバンドが、解像度が低いものから順に、画像認識処理の対象とされている。
【０２３３】
ここで、フレーム画像において写る範囲が大きい検出対象物については、分解レベルが高いＬＬサブバンド（解像度が低いＬＬサブバンド）からでも、当該検出対象物が検出される可能性が高い。これに対して、フレーム画像において写る範囲が小さい検出対象物については、分解レベルが高いＬＬサブバンドから当該検出対象物を検出することができない可能性がある。本例のように、ＬＬサブバンドが、分解レベルが高いものから順に処理対象とされることによって、データ量の多い、分解レベルが低いＬＬサブバンド（解像度が高いＬＬサブバンド）を使用することなく、フレーム画像において、写る範囲が大きい検出対象物を検出することが可能となる。上記の図３１，３２の例では、ラベル０のラベル領域Ｌ０に対応する検出対象物が、例えばＬＬ３サブバンドから検出可能である場合、当該検出対象物の検出には、ＬＬ３サブバンドの分解レベルよりも高い分解レベルのＬＬ２サブバンド及びＬＬ１サブバンドは使用されない。よって、ＩｏＴ端末２がゲートウェイ３に送信するデータ量を低減することができるとともに、ゲートウェイ３での画像認識処理を簡素化できる。
【０２３４】
なお、図２９，３０，３３に示される画像処理システム４の動作はあくまでも一例であって、画像処理システム４は図２９，３０，３３示される処理とは異なる処理を行ってもよい。
【０２３５】
またゲートウェイ３は、ＩｏＴ端末２からの符号化データ５０５を画像認識処理以外の処理で使用してもよい。
【０２３６】
また上記の例では、送信対象データ５０３の決定において、同じ分解レベルの複数サブバンドに共通の統合サブバンドマスクが使用されているが、各サブバンドに固有のサブバンドマスク（差分フレームマスクのサブバンドマスク）を使用してもよい。この場合には、サブバンドにおいて、それに対応するサブバンドマスクの第１ＲＯＩマスク部分の少なくとも一部を含むコードブロックが差分コードブロックとなる。
【０２３７】
ここで、同じ分解レベルの複数のサブバンドは互いに異なる情報を示すことから、当該複数のサブバンドの間では、第１ＲＯＩマスク部分の範囲が完全に一致しないことがある。したがって、ＩｏＴ端末２は、送信対象データ５０３の決定において、各サブバンドに固有のサブバンドマスクを使用するだけでは、同じ分解レベルの複数のサブバンドの間での同じ座標のコードブロックをゲートウェイ３に送信することができない可能性がある。
【０２３８】
一方で、ゲートウェイ３が、逆ウェーブレット変換によって、ある分解レベルのＬＬサブバンドを生成するためには、当該ある分解レベルよりも低い分解レベルの複数のサブバンドの間において、同じ座標のコードブロックが必要となる。
【０２３９】
上記のように、同じ分解レベルの複数サブバンドに共通の統合サブバンドマスクが使用される場合には、ＩｏＴ端末２は、当該複数のサブバンドの間での同じ座標のコードブロックをゲートウェイ３に容易に送信することができる。よって、ゲートウェイ３は、ある分解レベルのＬＬサブバンドを生成する際に、当該ある分解レベルよりも低い分解レベルの複数のサブバンドの間での同じ座標のコードブロックを使用することができる。
【０２４０】
また、ＩｏＴ端末２の決定部２６は、指示情報５２０を使用せずに送信対象データ５０３を決定してもよい。この場合には、ＩｏＴ端末２の処理が簡素化される。また、ゲートウェイ３は指示情報５２０を生成する必要がなくなることから、ゲートウェイ３の処理が簡素化する。
【０２４１】
ＩｏＴ端末２は、指示情報５２０を使用せずに送信対象データ５０３を決定する場合には、対象フレーム画像に対する処理が開始すると、例えば、ＬＬ３サブバンドに含まれる全差分ＣＢを送信対象データ５０３として送信する。ゲートウェイ３は、受け取ったＬＬ３サブバンドの全差分ＣＢから、ＬＬ３サブバンドの全非差分ＣＢを復元し、復元した全非差分ＣＢから成るデータを認識用データ５２２として画像認識処理を行う。
【０２４２】
ゲートウェイ３が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３が検出対象物を検出しない場合には、ＩｏＴ端末２は、ＬＬ２サブバンドの全非差分ＣＢから成るデータが示す画像が認識対象画像とされるために、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの全差分ＣＢを送信対象データとして送信する。ゲートウェイ３は、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの全差分ＣＢから、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの全非差分ＣＢを復元する。そして、ゲートウェイ３は、すでに取得しているＬＬ３サブバンドの全非差分ＣＢと、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの全非差分ＣＢとから成る逆変換対象データ５３２を逆ウェーブレット変換して、ＬＬ２サブバンドの全非差分ＣＢを生成する。そして、ゲートウェイ３は、ＬＬ２サブバンドの全非差分ＣＢから成るデータを認識用データ５２２として画像認識処理を行う。
【０２４３】
ゲートウェイ３が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３が検出対象物を検出しない場合には、ＩｏＴ端末２は、ＬＬ１サブバンドの全非差分ＣＢから成るデータが示す画像が認識対象画像とされるために、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの全差分ＣＢを送信対象データ５０３として送信する。ゲートウェイ３は、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの全差分ＣＢから、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの全非差分ＣＢを復元する。そして、ゲートウェイ３は、すでに取得しているＬＬ２サブバンドの全非差分ＣＢと、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの全非差分ＣＢとから成る逆変換対象データ５３２を逆ウェーブレット変換して、ＬＬ１サブバンドの全非差分ＣＢを生成する。そして、ゲートウェイ３は、ＬＬ１サブバンドの全非差分ＣＢから成るデータを認識用データ５２２として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
【０２４４】
なお、ＩｏＴ端末２が指示情報５２０を使用せずに送信対象データ５０３を決定する場合の画像処理システム４の動作は上記の例には限られない。
【０２４５】
また上記の図２９，３０，３３の例では、分解レベル順に画像認識処理が行われていたが、ラベル順に画像認識処理が行われてもよい。図３４のこの場合の終了判定（ステップｓ１９）の一例を示すフローチャートである。
【０２４６】
図３４に示されるように、ステップｓ２０１において、データ処理部３２は、対象ラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部３２は、直前のステップｓ１８の画像認識処理において検出対象物が検出されたか否かを特定する。データ処理部３２は、対象ラベルに関して、検出対象物が検出されたことを特定すると、ステップｓ２０４において、変数ＬＮの値が、最大値ｍａｘ２と一致するか否かを判定する。ここで、最大値ｍａｘ２は、上述の最大値ｍａｘ１とは異なり、ＩｏＴ端末２で定められたラベルのうちの最大値を意味している。図３１，３２の例では、最大値ｍａｘ２＝２となる。
【０２４７】
データ処理部３２は、ステップｓ２０４において、変数ＬＮの値が最大値ｍａｘ２と一致すると判定すると、対象フレーム画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
【０２４８】
一方で、データ処理部３２は、ステップｓ２０４において、変数ＬＮの値が最大値ｍａｘ２と一致しないと判定すると、ステップｓ２０５において、変数ＬＮの値を１つ増加する。これにより、今までの対象ラベルよりも１つだけ大きいラベルが対象ラベルとなる。そしてデータ処理部３２は、ステップｓ２０６において、変数ＬＶの値を、最大分解レベル、つまり３に設定する。これにより、対象分解レベルが最大分解レベルとなる。そしてステップｓ２０７において、データ処理部３２は、対象フレーム画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
【０２４９】
ステップｓ２０１において、対象ラベルに関して、検出対象物が検出されていないと特定されると、データ処理部３２は、ステップｓ２０２において、変数ＬＶの値が１であるか否かを判定する。変数ＬＶの値が１である場合、つまり対象分解レベルが１である場合、データ処理部３２は、上述のステップｓ２０４を実行し、以後同様に動作する。一方で、変数ＬＶの値が１でない場合、つまり対象分解レベルが１よりも大きい場合、データ処理部３２は、ステップｓ２０３において、変数ＬＶの値を１つ減少する。これにより、今までの対象分解レベルよりも１つ小さい分解レベルが対象分解レベルとなる。その後、データ処理部３２は、ステップｓ２０７を実行して、対象フレーム画像に対する処理を継続することを決定する。
【０２５０】
図３４に示される終了処理が実行される場合には、図３１，３２の例では、まず、ＬＬ３サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われる。検出対象物が検出されない場合、ＬＬ２サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われる。検出対象物が検出されない場合、ＬＬ１サブバンドにおける、ラベル領域Ｌ０に対応する非差分ＣＢに対して画像認識処理が行われる。
【０２５１】
ラベル０に関する画像認識処理で検出対象物が検出されると、ＬＬ３サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。検出対象物が検出されない場合、ＬＬ２サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。検出対象物が検出されない場合、ＬＬ１サブバンドにおける、ラベル領域Ｌ１に対応する非差分ＣＢに対して画像認識処理が行われる。
【０２５２】
また上記の例では、非差分ＣＢから成る認識用データ５２２が示す画像に対して画像認識処理が行われているが、差分ＣＢから成る認識用データ５２２が示す画像（差分画像の少なくとも一部）に対して画像認識処理が行われてもよい。この場合には、ゲートウェイ３から復元部３２６が不要となり、ゲートウェイ３の構成が簡素化される。
【０２５３】
また上記の例では、トランスコーダ用復号化データ５２６は非差分ＣＢで構成されていたが、差分ＣＢで構成されてもよい。この場合には、データ処理部３２では、差分画像においてＲＯＩと非ＲＯＩとを判別するためのマスクデータ５２５が生成される。そして、トランスコーダ３４では、差分画像におけるＲＯＩを示す符号化データ５９０が生成され、当該符号化データ５９０を含むビットストリーム５２９がクラウドサーバ５に送信される。また、トランスコーダ用符号化データ５２７は、符号化差分ＣＢで構成されてもよい。
【０２５４】
またＩｏＴ端末２は、統合マスクデータ５１３を使用せずに、差分階層化データ５０２から送信対象データ５０３を決定してもよい。この場合には、ＩｏＴ端末２は、例えば、ゲートウェイ３からの指示情報５２０で指定されるデータをそのまま送信対象データ５０３とする。
【０２５５】
また、ゲートウェイ３のデータ処理部３２は、ウェーブレット平面の高周波成分を認識用データ５２２として画像認識部３３に入力する場合には、ＬＨサブバンド、ＨＬサブバンドあるいはＨＨサブバンドをそのまま認識用データ５２２としてもよいし、同じ分解レベルのＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドを統合して得られる統合サブバンドを認識用データ５２２としてもよい。データ処理部３２は、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドを統合する場合には、例えば、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおいて同じ位置に存在する係数の平均値を求めて、求めた平均値を、統合サブバンドにおける、それと同じ位置の係数とする。また、データ処理部３２は、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおいて同じ位置に存在する係数のうちの最大値を、統合サブバンドにおける、それと同じ位置の係数としてもよい。なお、ＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドを統合する方法はこの限りではない。
【０２５６】
また、ゲートウェイ３は、ＩｏＴ端末２に対して送信すべきデータを指示する場合には、ウェーブレット平面を構成する複数のサブバンド間でのコードブロックの対応関係を示すＣＢ対応関係情報を利用してもよい。図３５は、複数のサブバンド間でのコードブロックの対応関係の一例を示す図である。図３５において斜線が示される部分が、互いに対応するコードブロック５０２１である。
【０２５７】
ここで、複数のサブバンドの間で互いに対応するコードブロック５０２１は、差分画像の同じ部分を示している。図３５において、ＬＬ３サブバンドの斜線の１つのコードブロック５０２１ＬＬ３と、ＬＨ３サブバンドの斜線の１つのコードブロック５０２１ＬＨ３と、ＨＬ３サブバンドの斜線の１つのコードブロック５０２１ＨＬ３と、ＨＨ３サブバンドの斜線の１つのコードブロック５０２１ＨＨ３とは、差分画像の同じ部分を示している。また、ＬＨ２サブバンドの斜線の４つのコードブロック５０２１ＬＨ２と、ＨＬ２サブバンドの斜線の４つのコードブロック５０２１ＨＬ２と、ＨＨ２サブバンドの斜線の４つのコードブロック５０２１ＨＨ２とは、差分画像の同じ部分を示している。また、ＬＨ１サブバンドの斜線の１６個のコードブロック５０２１ＬＨ１と、ＨＬ１サブバンドの斜線の１６個のコードブロック５０２１ＨＬ１と、ＨＨ１サブバンドの斜線の１６個のコードブロック５０２１ＨＨ１とは、差分画像の同じ部分を示している。また、分解レベル３の各サブバンドの斜線の１つのコードブロック５０２１と、分解レベル２の各サブバンドの斜線の４つのコードブロック５０２１と、分解レベル１の各サブバンドの斜線の１６個のコードブロック５０２１とは、差分画像の同じ部分を示している。
【０２５８】
ゲートウェイ３は、図３５に示されるような、複数のサブバンド間でのコードブロックの対応関係を示すＣＢ対応関係情報を記憶している。ゲートウェイ３は、ＣＢ対応関係情報を利用して指定データを決定する場合には、対象フレーム画像に対する処理が開始すると、例えば、図３５において斜線で示される、ＬＬ３サブバンドのコードブロック５０２１ＬＬ３を指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、コードブロック５０２１ＬＬ３を送信対象データ５０３として送信する。ゲートウェイ３は、受け取ったコードブロック５０２１ＬＬ３から、それに対応する非差分ＣＢを復元し、復元した非差分ＣＢを認識用データ５２２として画像認識処理を行う。
【０２５９】
ゲートウェイ３が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３は、検出対象物を検出しない場合には、ＬＬ２サブバンドを処理対象とするために、図３５において斜線で示される、ＬＨ３サブバンドのコードブロック５０２１ＬＨ３、ＨＬ３サブバンドのコードブロック５０２１ＨＬ３及びＨＨ３サブバンドのコードブロック５０２１ＨＨ３を指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、コードブロック５０２１ＬＨ３，５０２１ＨＬ３，５０２１ＨＨ３を送信対象データ５０３として送信する。ゲートウェイ３は、ＩｏＴ端末２から受け取ったコードブロック５０２１ＬＨ３，５０２１ＨＬ３，５０２１ＨＨ３から、それぞれに対応する非差分ＣＢを復元する。そして、ゲートウェイ３は、すでに取得している、コードブロック５０２１ＬＬ３に対応する非差分ＣＢと、復元した、コードブロック５０２１ＬＨ３，５０２１ＨＬ３，５０２１ＨＨ３に対応する非差分ＣＢとから成る逆変換対象データ５２２を逆ウェーブレット変換する。これにより、コードブロック５０２１ＬＬ３，５０２１ＬＨ３，５０２１ＨＬ３，５０２１ＨＨ３に対応する、ＬＬ２サブバンドの４つのコードブロック５０２１に対応する非差分ＣＢが生成される。ゲートウェイ３は、生成した非差分ＣＢを認識用データ５２２として画像認識処理を行う。
【０２６０】
ゲートウェイ３が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３は、検出対象物を検出しない場合には、ＬＬ１サブバンドを処理対象とするために、図３５において斜線で示される、ＬＨ２サブバンドの４つのコードブロック５０２１ＬＨ２、ＨＬ２サブバンドの４つのコードブロック５０２１ＨＬ２及びＨＨ２サブバンドの４つのコードブロック５０２１ＨＨ２を指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、４つのコードブロック５０２１ＬＨ２、４つのコードブロック５０２１ＨＬ２及び４つのコードブロック５０２１ＨＨ２を、送信対象データ５０３として送信する。ゲートウェイ３は、ＩｏＴ端末２から受け取った、ＬＨ２サブバンドの４つのコードブロック５０２１ＬＨ２、ＨＬ２サブバンドの４つのコードブロック５０２１ＨＬ２及びＨＨ２サブバンドの４つのコードブロック５０２１ＨＨ２から、それぞれに対応する非差分ＣＢを復元する。そして、ゲートウェイ３は、すでに取得している、ＬＬ２サブバンドの４つのコードブロックに対応する非差分ＣＢと復元した非差分ＣＢとから成る逆変換対象データ５２２を逆ウェーブレット変換する。これにより、分解レベル２の各サブバンドの４つのコードブロックに対応する、ＬＬ１サブバンドの１６個のコードブロックに対応する非差分ＣＢが生成される。ゲートウェイ３は、生成した非差分ＣＢを認識用データ５２２として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
【０２６１】
なお、ゲートウェイ３がＣＢ対応関係情報を使用して指定データを決定する場合の画像処理システム４の動作は上記の例には限られない。
【０２６２】
＜各種変形例＞
以下に画像処理システム４の各種変形例について説明する。
【０２６３】
＜第１変形例＞
上記の例では、ＩｏＴ端末２は、差分ＣＢを送信するか、非差分ＣＢを送信するかを、ゲートウェイ３からの指示に応じて決定していたが、ゲートウェイ３からの指示なく自ら決定してもよい。この場合には、ゲートウェイ３は、差分ＣＢか非差分ＣＢかを特定せずに、ＩｏＴ端末２が送信すべきコードブロックを指示情報５２０を用いて指定する。以下に本変形例に係る画像処理システム４の動作を上述の図２９，３０を用いて説明する。
【０２６４】
対象フレーム画像に対する処理が開始すると、図２９に示されるように、ステップｓ１１において、ゲートウェイ３は、上記と同様に、最大分解レベルのＬＬサブバンドを処理対象とする。そして第１処理部３２１は、対象ＬＬサブバンドの分解レベルを示す変数ＬＶを３に設定する。第１処理部３２１は、対象ＬＬサブバンドのコードブロックを指定データとして決定する。
【０２６５】
次にステップｓ１２において、ゲートウェイ３は、ステップｓ１１で決定した指定データをＩｏＴ端末２に通知するための指示情報５２０を生成してＩｏＴ端末２に送信する。
【０２６６】
ＩｏＴ端末２は、図３０に示されるように、ステップｓ３１において指示情報５２０を受信する。次にステップｓ３２において、ＩｏＴ端末２の決定部２６は、指示情報５２０と統合マスクデータ５１３とに基づいて送信対象データ５０３を決定する。
【０２６７】
ステップｓ３２では、決定部２６は、上記と同様に、番号が最も小さいラベルを対象ラベルとする。そして決定部２６の送信対象決定部２６３は、差分階層化データ５０２の対象ＬＬサブバンドにおける、対象ラベルのラベル領域に対応する差分ＣＢと、非差分階層化データ５０１の対象ＬＬサブバンドにおける、対象ラベルのラベル領域に対応する非差分ＣＢとを特定する。特定された差分ＣＢ及び非差分ＣＢは、送信対象データ５０３に含められる候補となる。
【０２６８】
送信対象決定部２６３は、特定した差分ＣＢ及び非差分ＣＢをそれぞれ候補差分ＣＢ及び候補非差分ＣＢとしてＣＢ比較処理を行う。このＣＢ比較処理では、候補差分ＣＢのデータ量と、それと同じ座標の候補非差分ＣＢのデータ量とが比較される。図３６はＣＢ比較処理の一例を示すフローチャートである。
【０２６９】
図３６に示されるように、送信対象決定部２６３は、ステップｓ３２０において、候補差分ＣＢのデータ量を求める。このデータ量を第１データ量とする。送信対象決定部２６３は、例えば、候補差分ＣＢに含まれる複数の係数（差分ＷＴ係数）の絶対値の総和を求め、求めた総和を第１データ量とする。次にステップｓ３２１において、送信対象決定部２６３は、ステップｓ３２０でデータ量を求めた候補差分ＣＢの座標と同じ座標の候補非差分ＣＢのデータ量を求める。このデータ量を第２データ量とする。送信対象決定部２６３は、例えば、候補非差分ＣＢに含まれる複数の係数（ウェーブレット係数）の絶対値の総和を求め、求めた総和を第２データ量とする。
【０２７０】
次にステップｓ３２２において、送信対象決定部２６３は、第１データ量が第２データ量よりも大きいか否かを判定する。第１データ量が第２データ量よりも大きい場合には、送信対象決定部２６３は、ステップｓ３２３において、候補非差分ＣＢを送信対象データ５０３に含める。一方で、第１データ量が第２データ量以下であれば、送信対象決定部２６３は、ステップｓ３２４において、候補差分ＣＢを送信対象データ５０３に含める。なお、送信対象決定部２６３は、第１データ量が第２データ量以上のときに候補非差分ＣＢを送信対象データ５０３に含め、第１データ量が第２データ未満のときに候補差分ＣＢを送信対象データ５０３に含めてもよい。
【０２７１】
以上のようなＣＢ比較処理を送信対象決定部２６３が各候補差分ＣＢについて実行することによって、送信対象データ５０３が決定される。
【０２７２】
このように、本変形例では、候補差分ＣＢ及び候補非差分ＣＢのうち、データ量が小さい方のコードブロックが、送信対象データ５０３に含まれる。つまり、候補差分ＣＢ及び候補非差分ＣＢのうち、データ量が小さい方のコードブロックが、ゲートウェイ３に送信される。カメラ２０の撮影環境等によっては、候補差分ＣＢのデータ量が常に候補非差分ＣＢのデータ量よりも小さくなるとは限らないことから、候補差分ＣＢ及び候補非差分ＣＢのうち、データ量が小さい方のコードブロックが、ゲートウェイ３に送信されることによって、ＩｏＴ端末２が送信するデータ量を低減することができる。よって、ＩｏＴ端末２の消費電力をさらに低減することができる。また、ＩｏＴ端末２から送信される符号化データの送信遅延をさらに低減することができる。
【０２７３】
決定部２６は、送信対象データ５０３を決定すると、送信対象データ５０３に含まれる各コードブロックについて、それが差分ＣＢであるのか、非差分ＣＢであるのかをゲートウェイ３が特定するためのＣＢ特定信号を生成する。
【０２７４】
ステップｓ３２が実行されると、ＩｏＴ端末２は、上記と同様にしてステップｓ３３，ｓ３４を実行する。そしてステップｓ３５において、ＩｏＴ端末２は、ステップｓ３４で生成された符号化データ５０５を含むビットストリーム５０６と、ステップｓ３３で生成された座標データ５０４と、ステップｓ３２で生成されたＣＢ特定信号とを、ゲートウェイ３に送信する。このとき、ＩｏＴ端末２は、ラベリング処理で得られたラベルの番号をゲートウェイ３に通知するとともに、現在の対象ラベルをゲートウェイ３に通知する。
【０２７５】
図２９に戻って、ステップｓ１２の後、ゲートウェイ３の受信部３０ａは、ステップｓ１３において、ＩｏＴ端末２からのビットストリーム５０６、座標データ５０４及びＣＢ特定信号を受信する。そしてステップｓ１４において、ビットストリーム５０６に含まれる符号化データ５０５が第２メモリ３２４に記憶され、座標データ５０４が座標メモリ３６の座標テーブル３６ａに記憶される。また、復号化装置３１で符号化データ５０５が伸張復号化されて復号化データ５２１が生成される。
【０２７６】
次にステップｓ１５において、データ処理部３２の選択部３２５は、ＩｏＴ端末２からのＣＢ特定信号に基づいて、復号化データ５２１に含まれる各コードブロックが、差分ＣＢであるのか、非差分ＣＢであるのかを特定する。そして、選択部３２５は、復号化データ５２１に含まれる差分ＣＢについては復元部３２６に出力する。一方で、選択部３２５は、復号化データ５２１に含まれる非差分ＣＢについては第１処理部３２１に出力する。復元部３２６は、上記と同様にして、入力される差分ＣＢから非差分ＣＢを復元して第１処理部３２１に入力する。第１処理部３２１は、復元部３２６から受け取った非差分ＣＢを第１メモリ３２３に記憶する。また第１処理部３２１は、選択部３２５から受け取った非差分ＣＢを第１メモリ３２３に記憶する。
【０２７７】
次にゲートウェイ３は、上記同様にして、ステップｓ１６〜ｓ１９を実行する。ステップｓ１９の終了判定において、データ処理部３２が対象フレーム画像に対する処理を終了すると決定すると、ステップｓ２０において、ゲートウェイ３は終了通知をＩｏＴ端末２に行う。ゲートウェイ３は、対象フレーム画像から検出対象物が検出された場合には、ステップｓ２０の後のステップｓ２１において、検出対象物が写る検出対象物画像を示す符号化データ５９０を含むビットストリーム５２９をトランスコーダ３４で生成する。そして、ゲートウェイ３は、生成したビットストリーム５２９と、画像認識部３３が生成する、対象フレーム画像に関する認識結果情報５２４とを、通信部３５からクラウドサーバ５に送信する。これにより、対象フレーム画像に対する処理が終了する。
【０２７８】
ステップｓ１９の終了判定において、データ処理部３２が対象フレーム画像に対する処理を継続すると決定すると、ゲートウェイ３はステップｓ１１を再度実行して、指定データを決定する。このステップｓ１１では、変数ＬＮ，ＬＶが現在示す値に基づいて指定データが決定される。
【０２７９】
第１処理部３２１は、変数ＬＶが現在示す対象分解レベルが、最大分解レベルである場合、ＬＬ３サブバンドのうち、変数ＬＮが現在示す対象ラベルのラベル領域に対応するコードブロックを指定データとする。
【０２８０】
また第１処理部３２１は、変数ＬＶが現在示す対象分解レベルが、最大分解レベル以外である場合、対象分解レベルよりも分解レベルが１つ高いＬＨサブバンド、ＨＬサブバンド及びＨＨサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを指定データとする。
【０２８１】
ゲートウェイ３は、ステップｓ１１を実行すると、ステップｓ１２において、ステップｓ１１で決定した指定データを通知するための指示情報５２０を生成する。そして、ゲートウェイ３は、生成した指示情報５２０をＩｏＴ端末２に送信する。
【０２８２】
ＩｏＴ端末２は、ステップｓ３１において指示情報５２０を受信すると、ステップｓ３２において、受信した指示情報５２０と統合マスクデータ５１３とに基づいて、送信対象データ５０３を決定する。このステップｓ３１では、ＩｏＴ端末２の決定部２６は、差分階層化データ５０２において、指示情報５２０によって指定されるコードブロック（差分ＣＢ）を統合マスクデータ５１３に基づいて特定するとともに、非差分階層化データ５０１において、指示情報５２０によって指定されるコードブロック（非差分ＣＢ）を特定する。そして、決定部２６は、特定した差分ＣＢ及び非差分ＣＢをそれぞれ候補差分ＣＢ及び候補非差分ＣＢとして、上記のＣＢ比較処理を行う。これにより、送信対象データ５０３が決定される。以後、画像処理システム４は同様に動作する。
【０２８３】
なお、本変形例においても、ステップｓ１９において図３４に示される終了判定が実行されてもよい。
【０２８４】
＜第２変形例＞
ＩｏＴ端末２が、例えば、移動するロボットあるいはドローンなどに搭載される場合、ＩｏＴ端末２のカメラ２０の位置が変化する。またＩｏＴ端末２が、人の手によって持たれる場合、手振れによって、カメラ２０の位置が変化する。カメラ２０の位置が変化すると、フレーム画像内での被写体全体の画像（以後、被写体全体画像と呼ぶことがある）の位置が変化することから、カメラ２０の位置の変化の影響がフレーム画像に現れる。その結果、カメラ２０の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、上述の図１８とは異なり、統合サブバンドマスク５１２６の大部分が第２ＲＯＩマスク部分５１２６ａ（白抜き部分）となる可能性がある。その結果、差分階層化データ５０２を構成する複数のコードブロックの大部分が差分ＣＢとなる可能性がある。これにより、ＩｏＴ端末２の送信データ量があまり低減しない可能性がある。
【０２８５】
そこで、本変形例では、ＩｏＴ端末２は、フレーム画像データ５００に対して、カメラ２０の位置の変化の影響を補正する処理を行う。これにより、カメラ２０の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ５０２を構成する複数のコードブロックの大部分が差分ＣＢとなる可能性を低減することができる。その結果、ＩｏＴ端末２の送信データ量をより確実に低減することができる。
【０２８６】
図３７は本変形例に係るＩｏＴ端末２の構成の一例を示す図である。図３７に示されるように、本変形例に係るＩｏＴ端末２は、上述の図３に示されるＩｏＴ端末２において、動き補正部２８をさらに備えるものである。
【０２８７】
動き補正部２８は、フレーム画像データ５００に対して、カメラ２０の位置の変化の影響を補正する動き補正処理を行う。階層化部２２は、動き補正処理後のフレーム画像データ５００であるフレーム画像データ５００ａを階層化し、それよって得られた階層化データ５０１を出力する。動き補正部２８の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、動き補正部２８の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。ＩｏＴ端末２のその他の動作については上記と同様である。
【０２８８】
図３８は動き補正部２８の構成の一例を示す図である。図３８に示されるように、動き補正部２８は、補正部２８０及びフレームバッファ２８１を備える。補正部２８０は、画像メモリ２１からフレーム画像データ５００を読み出してフレームバッファ２８１に記憶する。動き補正部２８０は、画像メモリ２１から、現フレーム画像データ５００（対象フレーム画像データ５００）を読み出すと、現フレーム画像データ５００と、フレームバッファ２３１に記憶される、過去に生成されたフレーム画像データ５００（過去フレーム画像データ５００と呼ぶことがある）とに基づいて、現フレーム画像データ５００に対して動き補正処理を行う。過去フレーム画像データ５００は、現フレーム画像データ５００よりもＱフレーム前のフレーム画像データ５００である。Ｑの値は上述のＰの値と同じであってもよいし、異なってもよい。
【０２８９】
図３９は動き補正処理の一例を示すフローチャートである。図３９に示されるように、動き補正処理では、まずステップｓ５１において、補正部２８０は、現フレーム画像データ５００と、フレームバッファ２８１内の過去フレーム画像データ５００とに基づいて、フレーム画像内での被写体全体画像の動きベクトルを求める。
【０２９０】
動きベクトルについては、様々な方法で求めることができる。例えば、補正部２８０は、現フレーム画像の背景領域の位置と、過去フレーム画像の背景領域の位置とに基づいて動きベクトルを求めることができる。フレーム画像の背景領域とは、フレーム画像において、ゲートウェイ３での画像認識処理で検出される検出対象物（例えは人）の画像以外の部分である。フレーム画像の背景領域は、例えば、ゲートウェイ３での過去の画像認識処理の結果に基づいて特定することができる。またＩｏＴ端末２は、フレーム画像の背景領域を特定するための背景情報を予め記憶していてもよい。
【０２９１】
補正部２８０は、ステップｓ５１において動きベクトルを求めると、ステップｓ５２において、求めた動きベクトルに基づいて現フレーム画像を補正する。ステップｓ５２では、補正部２８０は、まず、動きベクトルの水平方向成分を、現フレーム画像についての水平方向の補正量である水平補正量ＣＸとし、求めた動きベクトルの垂直方向成分を、現フレーム画像についての垂直方向の補正量である垂直補正量ＣＹとする。そして、補正部２８０は、現フレーム画像内において、被写体全体画像を、水平方向に水平補正量ＣＸだけ移動し、垂直方向に垂直補正量ＣＹだけ移動して、現フレーム画像を補正する。補正後の現フレーム画像を示すフレーム画像データ５００が、動き補正処理後の現フレーム画像データ５００となる。
【０２９２】
図４０は動き補正処理の概要を示す図である。図４０の上側には、過去フレーム画像５０１０ａ及び現フレーム画像５０１０ｂの一例が示されている。図４０の中央には、図４０に示される過去フレーム画像５０１０ａ及び現フレーム画像５０１０ｂから求められる水平補正量ＣＸ及び垂直補正量ＣＹが示されている。図４０の下側には、図４０に示される水平補正量ＣＸ及び垂直補正量ＣＹに基づいて補正された現フレーム画像５０１０ｂが示されている。補正後の現フレーム画像５０１０ｂでは、被写体全体画像５０１１ｂの位置が、カメラ２０の位置の変化による影響をキャンセルするように変化して当該影響が補正されている。なお、現フレーム画像５０１０ｂでの被写体全体画像５０１１ｂの位置が補正されることにより、補正後の現フレーム画像５０１０ｂでは、被写体全体画像５０１１ｂが存在しない領域５０１２ｂが生じる。この領域５０１２ｂの各画素値は例えば零に設定される。
【０２９３】
以上のように、ＩｏＴ端末２は、フレーム画像データ５００に対して、カメラ２０の位置の変化の影響を補正する処理を行うことから、カメラ２０の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ５０２を構成する複数のコードブロックの大部分が差分ＣＢとなる可能性を低減することができる。その結果、ＩｏＴ端末２の送信データ量をより確実に低減することができる。
【０２９４】
なおＩｏＴ端末２は、フレーム画像データ５００に対してではなく、階層化部２２で生成される階層化データに対して動き補正処理を行ってもよい。図４１はこの場合のＩｏＴ端末２が備える階層化部２２の構成の一例を示す図である。以後、フレーム画像データ５００に対して行う上記の動き補正処理を第１動き補正処理と呼び、階層化データに対して行う動き補正処理を第２動き補正処理と呼ぶことがある。
【０２９５】
図４１に示されるように、本変形例に係る階層化部２２は、上述の図５に示される階層化部２２において、動き補正部２２６をさらに備えるものである。
【０２９６】
動き補正部２２６は、ウェーブレット変換部２２４から出力される階層化データ５１０に対して第２動き補正処理を行う。量子化部２２５は、第２動き補正処理後の階層化データ５１０である階層化データ５１０ａを量子化し、量子化した階層化データ５１０ａを階層化データ５０１として出力する。
【０２９７】
なお動き補正部２２６の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、動き補正部２２６の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。ＩｏＴ端末２のその他の動作については上記と同様である。以後、現在の処理対象の階層化データ５１０を現階層化データ５１０と呼ぶことがある。
【０２９８】
図４２は動き補正部２２６の構成の一例を示す図である。図４２に示されるように、動き補正部２２６は、補正部２２６０及びフレームバッファ２２６１を備える。補正部２２６０は、ウェーブレット変換部２２４から出力される階層化データ５１０をフレームバッファ２２６１に記憶する。補正部２２６０は、ウェーブレット変換部２２４から現階層化データ５１０を受け取ると、現階層化データ５１０と、フレームバッファ２２６１に記憶される、過去に生成された階層化データ５１０（過去階層化データ５１０と呼ぶことがある）とに基づいて、現階層化データ５１０に対して第２動き補正処理を行う。過去階層化データ５１０は、現階層化データ５１０よりもＱフレーム前の階層化データ５１０である。
【０２９９】
第２動き補正処理では、第１動き補正処理とは異なり、現階層化データ５１０の各サブバンドＸＹｍに対して個別に補正が行われる。以下に第２補正処理について詳細に説明する。
【０３００】
補正部２２６０は、階層化データ５１０の各サブバンドＸＹｍについて、当該サブバンドＸＹｍ内での被写体全体を示す部分（被写体全体部分と呼ぶことがある）の動きベクトルを、現階層化データ５１０と過去階層化データ５１０とに基づいて求める。この動きベクトルは、上記と同様にして求めることができる。例えば、補正部２２６０は、あるサブバンドＸＹｍについての動きベクトルを求める場合には、例えば、現階層化データ５１０のサブバンドＸＹｍにおける、背景を示す部分の位置と、過去階層化データ５１０のサブバンドＸＹｍにおける、背景を示す部分の位置とに基づいて動きベクトルを求めることができる。
【０３０１】
補正部２２６０は、各サブバンドＸＹｍについて動きベクトルを求めると、現階層化データの各サブバンドＸＹｍを、それに応じた動きベクトルに基づいて補正する。補正部２２６０は、あるサブバンドＸＹｍを補正する場合には、サブバンドＸＹｍについて求められた動きベクトルの水平方向成分を、現階層化データ５１０のサブバンドＸＹｍについての水平方向の補正量である水平補正量ＣＸＸＹｍとし、当該動きベクトルの垂直方向成分を、現階層化データ５１０のサブバンドＸＹｍについての垂直方向の補正量である垂直補正量ＣＹＸＹｍとする。そして、補正部２８０は、現階層化データ５１０のサブバンドＸＹｍ内において、被写体全体部分を、水平方向に水平補正量ＣＸＸＹｍだけ移動し、垂直方向に垂直補正量ＣＹＸＹｍだけ移動して、サブバンドＸＹｍを補正する。補正部２２６０はこの補正を各サブバンドＸＹについて行う。補正後の各サブバンドＸＹｍから成る現階層化データ５１０が、第２動き補正処理後の現階層化データ５１０となる。サブバンドＸＹｍについての水平補正量ＣＸＸＹｍ及び垂直補正量ＣＹＸＹｍを（ＣＸＸＹｍ，ＣＹＸＹｍ）で表すと、補正部２２６０は、ＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド、ＨＨ３サブバンド、ＬＨ２サブバンド、ＨＬ２サブバンド、ＨＨ２サブバンド、ＬＨ１サブバンド、ＨＬ１サブバンド及びＨＨサブバンド１にそれぞれ対応する（ＣＸＬＬ３，ＣＹＬＬ３）、（ＣＸＬＨ３，ＣＹＬＨ３）、（ＣＸＨＬ３，ＣＹＨＬ３）、（ＣＸＨＨ３，ＣＹＨＨ３）、（ＣＸＬＨ２，ＣＹＬＨ２）、（ＣＸＨＬ２，ＣＹＨＬ２）、（ＣＸＨＨ２，ＣＹＨＨ２）、（ＣＸＬＨ１，ＣＹＬＨ１）、（ＣＸＨＬ１，ＣＹＨＬ１）及び（ＣＸＨＨ１，ＣＹＨＨ１）を生成する。
【０３０２】
このように、ＩｏＴ端末２が、階層化データ５１０に対して、カメラ２０の位置の変化の影響を補正する処理を行う場合であっても、カメラ２０の撮影範囲において、人などの移動する物体が存在する領域が小さいにもかかわらず、差分階層化データ５０２を構成する複数のコードブロックの大部分が差分ＣＢとなる可能性を低減することができる。その結果、ＩｏＴ端末２の送信データ量をより確実に低減することができる。
【０３０３】
＜第３変形例＞
上記の各例では、ゲートウェイ３は、画像データを含むビットストリーム５２９をクラウドサーバ５に送信していたが、ビットストリーム５２９をクラウドサーバ５に送信しなくてもよい。つまり、ゲートウェイ３は、メタデータである認識結果情報５２４だけをクラウドサーバ５に送信してもよい。この場合には、図４３に示されるようにトランスコーダ３４が不要となり、図４４に示されるようにデータ処理部３２の第２メモリ３２４及び第２処理部３２２が不要になる。
【０３０４】
このように、ゲートウェイ３が画像データをクラウドサーバ５に送信しないことによって、ＩｏＴ端末２が生成した画像データがインターネットに流れる可能性を低減することができる。よって、例えば、ＩｏＴ端末２で生成される画像データに写る人のプライバシーが侵害される可能性を低減することができる。
【０３０５】
＜第４変形例＞
上記の各例に係るＩｏＴ端末２は、符号化データ５０５をパケット化して送信していたが、符号化データ５０５をパケット化せずに送信してもよい。これにより、パケットヘッダの生成が不要になる。さらに、パケットヘッダに含められる、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報のうち、ゲートウェイ３でのパケットヘッダの復号化に必要な零長パケット情報及びコードブロックの含有情報の生成が不要になる。符号化装置２４のビットストリーム生成部２４３は、パケット化されてない符号化データ５０５と付加情報を含むビットストリーム５０６を生成する。この付加情報には、パケットヘッダの代りに、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が符号化されずに含められる。
【０３０６】
このように、本変形例に係るＩｏＴ端末２では、符号化データ５０５がパケット化されないことから、ＩｏＴ端末２ではデータのパケット化が不要となる。これにより、ＩｏＴ端末２の処理が簡素化される。よって、ＩｏＴ端末２の消費電力を低減することができるとともに、ＩｏＴ端末２から送信されるデータの送信遅延を低減することができる。
【０３０７】
またＩｏＴ端末２では、パケットヘッダの生成が不要になることから、処理がさらに簡素化される。よって、ＩｏＴ端末２の消費電力をさらに低減することができるとともに、ＩｏＴ端末２から送信されるデータの送信遅延をさらに低減することができる。
【０３０８】
また、ＩｏＴ端末２からのビットストリーム５０６を処理するゲートウェイ３では、復号化装置３１のビットストリーム解析部３１０は、パケットヘッダを復号化する必要がない。よって、ゲートウェイ３の処理を簡素化できる。
【０３０９】
＜第５変形例＞
ゲートウェイ３の画像認識部３３が検出する検出対象物の種類によっては、画像認識部３３は解像度が低い画像から検出対象物を検出することが可能である。
【０３１０】
また、ゲートウェイ３が、ＩｏＴ端末２から受け取る符号化データ５０５を使用して行う処理の種類によっては、解像度が高い画像を示す符号化データ５０５が必要とされる場合もあれば、符号化データ５０５が示す画像の解像度が低くてもよい場合がある。例えば、ゲートウェイ３が、符号化データ５０５に基づいて、クラウドサーバ５に対して解像度が高い動画をストリーミング送信する場合には、解像度が高い画像を示す符号化データ５０５が必要とされる。
【０３１１】
そこで、本変形例に係る画像処理システム４は、ＩｏＴ端末２で生成されるコードブロック中の係数の二進値を構成する複数のビットにおいて、ゲートウェイ３に送信するビットを調整することによって、符号化データ５０５が示す画像の解像度を調整することができる。以下に本変形例に係る画像処理システム４について詳細に説明する。以後、コードブロックに含まれる、画像の画素に対応する係数の二進値を構成するビットの数をＬ（Ｌは２以上の整数）で表す。
【０３１２】
本変形例では、ＩｏＴ端末２が有する符号化装置２４の符号化部２４０は、決定部２６が決定する送信対象データ５０３中のコードブロックの係数を構成するＬビットを最上位（ＭＳＢ）から見た場合に初めて１が現れるビット位置よりも１ビットだけ上位のビット位置を第１ビット位置する。また符号化部２４０は、第１ビット位置からＭビット数（Ｍは１以上の整数）だけ下位のビット位置を第２ビット位置する。符号化部２４０は、Ｌビットのうち、最上位から第２ビット位置までのビットを対象ビットとし、それ以外のビットを対象外ビットとする。符号化部２４０は、Ｌビットのうちの対象ビットを圧縮符号化する。つまり、符号化部２４０は、対象ビットだけに対してビットプレーン符号化及びエントロピー符号化を行う。そして、符号化部２４０は、Ｌビットのうちの対象外ビットを切り捨てて圧縮符号化しない。これにより、送信対象データ５０３中の各係数については、それを構成するＬビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ３に送信される。送信対象データ５０３に差分ＣＢが含まれる場合には、当該差分ＣＢの各差分ＷＴ係数について、それを構成するＬビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ３に送信される。また、送信対象データ５０３に非差分ＣＢが含まれる場合には、当該非差分ＣＢの各量子化ウェーブレット係数について、それを構成するＬビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ３に送信される。
【０３１３】
なお、Ｌビットの最上位のビットが“１”の場合、符号化部２４０は、その最上位よりも１ビットだけ上位の仮想的なビット位置を第１ビット位置として、対象ビットを決定する。また、第１ビット位置からＭビット数だけ下位のビット位置が、Ｌビットの最下位（ＬＳＢ）を超える場合には、第２ビット位置は当該最下位に設定される。
【０３１４】
図４５，４６は、圧縮符号化される対象ビットの一例を示す図である。図４５，４６の例では、Ｌ＝１１、Ｍ＝３とされている。図４５に示される係数（差分ＷＴ係数あるいは量子化ウェーブレット係数）の二進値は“０００  １１０１  ０１１１”で構成されている。この場合、対象ビットは“０００１１０”の６ビットとなり、対象外ビットは“１０１１１”の５ビットとなる。符号化部２４０は、対象ビット“０００１１０”だけを圧縮符号化する。また、図４６に示される係数の二進値は“０１０  ００１１  ０１０１”で構成されている。この場合、対象ビットは“０１００”の４ビットとなり、対象外ビットは“０１１０１０１”の７ビットとなる。符号化部２４０は、対象ビット“０１００”だけを圧縮符号化する。
【０３１５】
圧縮符号化される対象ビットを決定するＭの値は、例えばゲートウェイ３によって決定される。ゲートウェイ３は、符号化データ５０５を用いて行う処理に応じてＭの値を決定する。よって、Ｍの値は、ゲートウェイ３が符号化データ５０５を用いて行う処理に応じた値となる。
【０３１６】
例えば、ゲートウェイ３は、上述の図２９に示されるように、符号化データ５０５を用いて画像認識処理を行う場合には、図４５，４６の例のようにＭの値を例えば３に設定する。またゲートウェイ３は、解像度が高い画像を示す符号化データ５０５を用いて処理を行う場合には、Ｍの値を例えば５に設定する。ゲートウェイ３は、設定したＭの値をＩｏＴ端末２に通知する。ＩｏＴ端末２の符号化部２４０は、ゲートウェイ３から通知されるＭの値に基づいて対象ビットを決定する。
【０３１７】
ＩｏＴ端末２からビットストリーム５０６を受信したゲートウェイ３では、復号化装置３１の復号化部３１１が、ＩｏＴ端末２からの符号化データ５０５を伸張復号化して、送信対象データ５０３中の係数を復元する。そして復号化部３１１は、復元した係数を構成する対象ビットに対してビットを追加して、Ｌビットの係数を生成する。
【０３１８】
ここで、復元された係数を構成する対象ビットのビット数をＮ（１以上の整数）とする。復号化部３１１は、復元した係数を構成する対象ビットよりも下位のビットとして、（Ｌ−Ｎ）個の０を当該対象ビットに追加する。これにより、Ｌビットから成る係数が得られる。ゲートウェイ３は、Ｍの値と、ＩｏＴ端末２から送信される零ビットプレーン情報とに基づいて、対象ビットのビット数Ｎを特定することができる。復号化部３１１で生成された、Ｌビットから成る係数は、逆量子化部３１４に入力される。
【０３１９】
図４７，４８は、復号化部３１１で生成される、Ｌビットから成る係数の一例を示す図である。図４７には、ＩｏＴ端末２が、上述の図４５に示される対象ビット“０００１１０”を送信する場合の例が示されている。図４８には、ＩｏＴ端末２が、上述の図４６に示される対象ビット“０１００”を送信する場合の例が示されている。
【０３２０】
図４７に示されるように、復号化部３１１は、６ビットの対象ビット“０００１１０”から成る係数を復元すると、対象ビット“０００１１０”よりも下位のビットとして、５個の０を対象ビット“０００１１０”に追加する。これにより、１１ビット（Ｌビット）の“０００  １１００  ００００”から成る係数が得られる。
【０３２１】
また図４８に示されるように、復号化部３１１は、４ビットの対象ビット“０１００”から成る係数を復元すると、対象ビット“０１００”よりも下位のビットとして、７個の０を対象ビット“０１００”に追加する。これにより、１１ビット（Ｌビット）の“０１０  ００００  ００００”から成る係数が得られる。
【０３２２】
図４５〜４８の例では、図４５，４６と図４７，４８とをそれぞれ比較して理解できるように、復号化部３１１で生成される１１ビットの係数が示す情報では、ＩｏＴ端末２で生成される１１ビットの係数が示す情報と比較して、下位のビットの情報が失われる可能性がある。したがって、逆量子化部３１４から出力される復号化データ５２１が示す画像の解像度は低くなる可能性がある。
【０３２３】
このように、本変形例では、送信対象データ５０３中の、画素に対応する係数（量子化差分ＷＴ係数あるいは量子化ウェーブレット係数）を構成するＬビットのうち、最上位から、ゲートウェイ３での処理に応じたＭの値で決まる第２ビット位置までのビットだけが、圧縮符号化されてゲートウェイ３に送信される。したがって、ＩｏＴ端末２がゲートウェイ３に送信するデータ量を、ゲートウェイ３での処理に応じて調整することができる。よって、ＩｏＴ端末２の消費電力を低減することができるとともに、ＩｏＴ端末２から送信されるデータの送信遅延を低減することができる。
【０３２４】
また、対象ビットを決定するＭの値を調整することによって、ゲートウェイ３で使用される画像の解像度を簡単に調整することができる。つまり、Ｍの値を大きくすることによって、ゲートウェイ３で使用される画像の解像度を高くすることができ、Ｍの値を小さくすることによって、ゲートウェイ３で使用される画像の解像度を低くすることができる。
【０３２５】
なお、ＩｏＴ端末２は、ゲートウェイ３からＭの値が通知されない場合には、係数を構成するＬビットのすべてを圧縮符号化してゲートウェイ３に送信してもよい。
【０３２６】
またゲートウェイ３は、係数を構成するＬビットにおいて、対象ビットとして過去に受信して第１メモリ３２３に記憶している上位のビットが存在する場合に、解像度が高い画像を用いた処理を行いたいときには、第１メモリ３２３に記憶されている当該上位のビットよりも下位の必要なビットだけをＩｏＴ端末２に送信させてもよい。この場合には、ゲートウェイ３は、第１メモリ３２３内の上位のビットに対して、後から受信した下位のビットを追加することによって、情報損失が少ないＬビットの係数を生成することができる。よって、ゲートウェイ３は、解像度が高い画像を用いた処理が可能となる。また、ＩｏＴ端末２は、すでに送信したデータを再度送信することがないことから、ＩｏＴ端末２の処理が簡素化する。
【０３２７】
例えば、ゲートウェイ３が、解像度が高い画像を用いた処理を行うために、ＩｏＴ端末２が生成する係数を構成するＬビットのすべてが必要であるとする。また、ゲートウェイ３は、係数を構成するＬビットのうち、例えば図４４に示される上位６ビット“０００１１０”を対象ビットとしてすでに受信して第１メモリ３２３に記憶しているとする。このような場合、ゲートウェイ３は、必要な残りの下位５ビット、つまり“１０１１１”だけを送信するようにＩｏＴ端末２に指示する。この指示を受けたＩｏＴ端末２は、下位の５ビット“１０１１１”だけを圧縮復号化してゲートウェイ３に送信する。ゲートウェイ３は、第１メモリ３２３内の上位の“０００１１０”に対して、新たに受信した下位の“１０１１１”を追加して、１１ビットの“０００  １１０１  ０１１１”から成る係数を生成する。
【０３２８】
また、ゲートウェイ３が、解像度が高い画像を用いた処理を行うために、ＩｏＴ端末２が生成する係数を構成するＬビットのうちの上位９ビットが必要であるとする。また、ゲートウェイ３は、量子化ウェーブレット係数を構成するＬビットのうち、例えば図４５に示される上位４ビット“０１００”を対象ビットとしてすでに受信して第１メモリ３２３に記憶しているとする。このような場合、ゲートウェイ３は、必要な残りの５ビット“０１１０１”（第２ビット位置の次のビット位置から５ビット分）だけを送信するようにＩｏＴ端末２に指示する。この指示を受けたＩｏＴ端末２は、５ビット“０１１０１”だけを圧縮復号化してゲートウェイ３に送信する。ゲートウェイ３は、第１メモリ３２３内の上位の“０１００”に対して、新たに受信した５ビット“０１１０１”を下位に追加し、さらに２個の０を追加して、１１ビットの“０１０  ００１１  ０１００”から成る係数を生成する。
【０３２９】
＜第６変形例＞
本変形例では、ＩｏＴ端末２は、ビットストリーム５０６をマルチレイヤー化することが可能である。図４９は、本変形例に係るＩｏＴ端末２の符号化装置２４の構成の一例を示す図である。図５０は、本変形例に係るゲートウェイ３の復号化装置３１の構成の一例を示す図である。
【０３３０】
図４９に示されるように、本変形例に係る符号化装置２４は、上述の図２０に示される符号化装置２４において、レイヤー分割処理部２５０をさらに備えるものである。レイヤー分割処理部２５０は、ビットストリーム生成部２４３から出力されるビットストリーム５０６をマルチレイヤー化することが可能である。ビットストリーム５０６では、コードブロック単位でデータが並べられている。レイヤー分割処理部２５０は、ビットストリーム５０６をマルチレイヤー化する場合には、ビットストリーム５０６に含まれる符号化データ５０５を複数のレイヤーに分割し、当該複数のレイヤーの少なくとも一つのレイヤーのデータを含むビットストリーム５０６ａを出力する。一方で、レイヤー分割処理部２５０は、ビットストリーム５０６をマルチレイヤー化せずにそのまま出力することも可能である。この場合には、レイヤー分割処理部２５０は、ビットストリーム５０６をそのままビットストリーム５０６ａとして出力する。レイヤー分割処理部２５０で生成されたビットストリーム５０６ａは、送信部２５ａからゲートウェイ３に送信される。
【０３３１】
なお、レイヤー分割処理部２５０の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、レイヤー分割処理部２５０の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
【０３３２】
図５０に示されるように、本変形例に係る復号化装置３１は、上述の図２３に示される復号化装置３１において、レイヤー合成処理部３１５をさらに備えるものである。レイヤー合成処理部３１５は、ゲートウェイ３がＩｏＴ端末２から、複数のレイヤーのデータを含むビットストリーム５０６ａを受信する場合には、当該ビットストリーム５０６ａに含まれる、同一サブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム５０６ｂ、つまりコードブロック単位でデータが並べられたビットストリーム５０６ｂを生成して出力する。一方で、レイヤー合成処理部３１５は、ゲートウェイ３がＩｏＴ端末２からマルチレイヤー化されていないビットストリーム５０６ａ（ビットストリーム５０６）を受信する場合と、一つのレイヤーのデータだけを含むビットストリーム５０６ａを受信する場合には、当該ビットストリーム５０６ａをそのままビットストリーム５０６ｂとして出力する。
【０３３３】
ビットストリーム解析部３１０は、上記と同様にして、ビットストリーム５０６ｂを解析して、当該ビットストリーム５０６ｂから、符号化データ５０５ａと付加情報とを抽出する。符号化データ５０５ａは、符号化データ５０５と同様に、フレーム画像の少なくとも一部あるいは差分画像の少なくとも一部を示す、階層符号化されたデータである。ビットストリーム解析部３１０は、抽出した符号化データ５０５ａを復号化部３１１及びデータ処理部３２に出力する。復号化部３１１及びデータ処理部３２のそれぞれは、符号化データ５０５に対する処理と同様にして、符号化データ５０５ａを処理する。なお、ゲートウェイ３がＩｏＴ端末２からマルチレイヤー化されていないビットストリーム５０６ａ（ビットストリーム５０６）を受信する場合には、符号化データ５０５ａは、ＩｏＴ端末２で生成される符号化データ５０５と一致する。
【０３３４】
＜レイヤー分割処理部の詳細説明＞
図５１はレイヤー分割処理部２５０の構成の一例を示す図である。図５１に示されるように、レイヤー分割処理部２５０は、メモリ２５１と、レイヤー分割制御部２５２と、多重化部２５３と、優先度テーブル２５４とを備える。
【０３３５】
優先度テーブル２５４ は、ウェーブレット平面を構成する複数のサブバンドのそれぞれに対して設定された優先度を記憶している。各サブバンドの優先度は、当該サブバンドの分解レベルに応じて設定されている。レイヤー分割処理部２５０では、優先度テーブル２５５内の優先度に基づいて、ビットストリーム５０６がマルチレイヤー化される。
【０３３６】
レイヤー分割制御部２５２は、ビットストリーム生成部２４３で生成されるビットストリーム５０６をメモリ２５１に記憶する。レイヤー分割制御部２５２は、ビットストリーム５０６をマルチレイヤー化する場合には、メモリ２５１から、ビットストリーム５０６に含まれる符号化データ５０５を読み出し、読み出した符号化データ５０５を複数のレイヤーに分割する。そして、レイヤー分割制御部２５２は、複数のレイヤーのうちの少なくとも一つのレイヤーのデータを多重化部２５３に出力する。多重化部５２３は、レイヤー分割制御部２５２が出力するデータを多重化して、少なくとも一つのレイヤーのデータを含むビットストリーム５０６ａを生成して出力する。
【０３３７】
一方で、レイヤー分割制御部２５２は、ビットストリーム５０６をマルチレイヤー化しない場合には、メモリ２５１からビットストリーム５０６を読み出してそのまま多重化部２５３に出力する。多重化部２５３は、入力されたビットストリーム５０６をそのままビットストリーム５０６ａとして出力する。ＩｏＴ端末２がビットストリーム５０６をマルチレイヤー化するか否かについては、ゲートウェイ３からの指示情報５２０によって指定される。
【０３３８】
図５２は各サブバンドに設定された優先度の一例を示す図である。図５２の例では、ＬＬ３サブバンドに対して優先度４が設定され、ＬＨ３サブバンド及びＨＬ３サブバンドに対して優先度３が設定されている。また、ＨＨ３サブバンド、ＬＨ２サブバンド及びＨＬ２サブバンドに対して優先度２が設定され、ＨＨ２サブバンド、ＬＨ１サブバンド及びＨＬ１サブバンドに対して優先度１が設定されている。そして、ＨＨ１サブバンドに対して優先度０が設定されている。なお、各サブバンドの優先度の値は図５２の例には限られない。
【０３３９】
レイヤー分割制御部２５２は、ビットストリーム５０６をマルチレイヤー化する場合には、符号化データ５０５に含まれる各コードブロックに対してビットシフト処理を行う。以下にビットシフト処理について詳細に説明する。本変形例では、説明対象のコードブロックを対象コードブロックと呼ぶ。
【０３４０】
レイヤー分割処理部２５２は、対象コードブロックに対するビットシフト処理において、まず、対象コードブロックが属するサブバンドに設定された優先度を優先度テーブル２５４から取得する。レイヤー分割制御部２５２は、対象コードブロックの各係数について、当該係数を構成するＬビットのデータを、取得した優先度と同じ数のビット数だけビットシフトする。これにより、対象コードブロックに対してビットシフト処理が行われる。
【０３４１】
対象コードブロックが、例えばＬＬ３サブバンドに属する場合には、レイヤー分割制御部２５２は、対象コードブロックの各係数について、当該係数を構成するＬビットのデータを４ビットだけ同じ方向にビットシフトする。また、対象コードブロックが、例えばＨＨ３サブバンドに属する場合には、レイヤー分割制御部２５２は、対象コードブロックの各係数について、当該係数を構成するＬビットのデータを２ビットだけ同じ方向にビットシフトする。なお、ＨＨ１サブバンドに設定されている優先度は０であるため、ＨＨ１サブバンドに属する対象コードブロックに対してビットシフト処理が行われたとしても、対象コードブロックの各係数は実際にはビットシフトされない。以後、ビットシフト処理が行われたコードブロックをシフト処理済みコードブロックと呼ぶことがある。
【０３４２】
レイヤー分割制御部２５２は、符号化データ５０５に含まれる各コードブロックに対してビットシフト処理を行うと、各シフト処理済みコードブロックを複数のレイヤーに分割するレイヤー分割処理を行う。
【０３４３】
図５３は、レイヤー分割処理の一例を説明するための図である。図５３には、シフト処理済みコードブロックの係数（ビットシフトされた係数）を構成するＬビット（図５３の例では１１ビット）のデータ５７００が示されている。Ｌビットのデータ５７００に示される０〜１０の番号は、当該データ５７０内での各ビットのビット位置を示している。０番はＬＳＢを示し、１０番はＭＳＢを示している。
【０３４４】
図５３に示されるように、ＬＬ３サブバンドに属するコードブロックの係数を構成するＬビットのデータ５７００は４ビットだけビットシフトされている。ＬＨ３サブバンド及びＨＬ３サブバンドに属するコードブロックの係数を構成するＬビットのデータ５７００は３ビットだけビットシフトされている。ＨＨ３サブバンド、ＬＨ２サブバンド及びＨＬ２サブバンドに属するコードブロックの係数を構成するＬビットのデータ５７００は２ビットだけビットシフトされている。ＨＨ２サブバンド、ＬＨ１サブバンド及びＨＬ１サブバンドに属するコードブロックの係数を構成するＬビットのデータ５７００は１ビットだけビットシフトされている。そして、ＨＨ１サブバンドに属するコードブロックの係数を構成するＬビットのデータ５７００はビットシフトされていない。
【０３４５】
本変形例では、シフト処理済みコードブロックに関して、図５３の下側に示されるように、ＨＨ１サブバンドの係数を構成するＬビットのデータ５７００の最下位のビット位置から、ＬＬ３サブバンドのビットシフトされた係数を構成するＬビットのデータ５７００の最上位のビット位置までに対して、０〜１４までの番号がそれぞれ割り当てられている。
【０３４６】
レイヤー分割制御部２５２は、ビットシフト処理後のコードブロックの係数を構成するＬビットのデータ５７００のうち、ビット位置が１２番から１４番までのビットをレイヤー０とし、ビット位置が９番から１１番までのビットをレイヤー１とする。またレイヤー分割制御部２５２は、ビットシフト処理後のコードブロックの係数を構成するＬビットのデータ５７００のうち、ビット位置が６番から８番までのビットをレイヤー２とし、ビット位置が３番から５番までのビットをレイヤー３とする。そして、レイヤー分割制御部２５２は、ビットシフト処理後のコードブロックの係数を構成するＬビットのデータ５７００のうち、ビット位置が０番から２番までのビットをレイヤー４とする。
【０３４７】
以上のようにして、符号化データ５０５が複数のレイヤーに分割されると、レイヤー分割制御部２５２は、複数のレイヤーのうち、ゲートウェイ３に送信するレイヤーのデータを多重化部２５３に出力する。ＩｏＴ端末２がゲートウェイ３に送信するレイヤーについては、ゲートウェイ３からの指示情報５２０によって指定される。ゲートウェイ３は、複数のレイヤーのうち、どのレイヤーのデータを送信すべきかＩｏＴ端末２に対して自由に指示することができる。多重化部２５３は、レイヤー分割制御部２５２からのデータを多重化して、ゲートウェイ３に送信するレイヤーのデータを含むビットストリーム５０６ａを生成する。なお、Ｌビットのデータ５７００を複数のレイヤーに分割する方法は図５３の例には限られない。
【０３４８】
＜レイヤー合成処理部の詳細説明＞
図５４はレイヤー合成処理部３１５の構成の一例を示す図である。図５４に示されるように、レイヤー合成処理部３１５は、メモリ３１６及びレイヤー合成制御部３１７を備える。
【０３４９】
レイヤー合成制御部３１７は、ＩｏＴ端末２からのビットストリーム５０６ａをメモリ３１６に記憶する。また、レイヤー合成制御部３１７は、ゲートウェイ３が受信したビットストリーム５０６ａがマルチレイヤー化されてない場合には、当該ビットストリーム５０６ａをそのままビットストリーム５０６ｂとして出力する。また、レイヤー合成制御部３１７は、ゲートウェイ３が受信したビットストリーム５０６ａがマルチレイヤー化されている場合であって、当該ビットストリーム５０６ａに一つのレイヤーのデータしか含まれていない場には、当該ビットストリーム５０６ａをそのままビットストリーム５０６ｂとして出力する。
【０３５０】
一方で、レイヤー合成制御部３１７は、ゲートウェイ３が受信したビットストリーム５０６ａがマルチレイヤー化されている場合であって、当該ビットストリーム５０６ａに複数のレイヤーのデータが含まれている場合には、同じサブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム５０６ｂ（ビットストリーム５０６のように、コードブロック単位でデータが並べられたビットストリーム５０６ｂ）を生成して出力する。
【０３５１】
＜本変形例に係る画像処理システムの動作例＞
次に、ビットストリーム５０６がマルチレイヤー化される場合の本変形例に係る画像処理システム４全体での動作例について説明する。ここでは、特に断らない限り、コードブロックと言えば、量子化差分ウェーブレット平面のコードブロックを意味する。
【０３５２】
ゲートウェイ３は、対象フレーム画像に対する処理が開始すると、例えば、量子化差分ウェーブレット平面のＬＬ３サブバンドの各コードブロックのレイヤー０のデータを指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、ＬＬ３サブバンドの各コードブロックを送信対象データ５０３として符号化データ５０４を生成する。そして、ＩｏＴ端末２では、レイヤー分割処理部２５０が、符号化データ５０５を含むビットストリーム５０６をマルチレイヤー化して、ＬＬ３サブバンドの各コードブロックのレイヤー０のデータを生成する。そして、レイヤー分割処理部２５０は、ＬＬ３サブバンドの各コードブロックのレイヤー０のデータを含むビットストリーム５０６ａを生成してゲートウェイ３に送信する。
【０３５３】
ゲートウェイ３では、レイヤー合成処理部３１５は、ＩｏＴ端末２から受け取ったビットストリーム５０６ａをそのままビットストリーム５０６ｂとして出力する。その後、ゲートウェイ３は、ビットストリーム５０６ｂに含まれる、ＬＬ３サブバンドの各係数のデータ（レイヤー０）が、Ｌビット（Ｌ＝１１）のデータとなるように、当該各係数のデータに対して、８個の０を下位ビットとして追加する（上述の図４７，４８参照）。これにより、各コードブロックの係数がＬビットのデータで構成されたＬＬ３サブバンドが得られる。ゲートウェイ３は、得られたＬＬ３サブバンドの各コードブロックから、それに対応する非差分ＣＢを復元し、復元した非差分ＣＢを認識用データ５２２とする。ゲートウェイ３は認識用データ５２２に対して画像認識処理を行う。
【０３５４】
ゲートウェイ３が検出対象物を検出すると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３は、検出対象物を検出しない場合には、ＬＬ２サブバンドを処理対象とするために、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各コードブロックのレイヤー０及び１のデータと、ＬＬ３サブバンドの各コードブロックのレイヤー１のデータとを指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、ＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各コードブロックを送信対象コードブロックとして符号化データ５０５を生成する。そして、ＩｏＴ端末２では、レイヤー分割処理部２５０が、符号化データ５０５を含むビットストリーム５０６をマルチレイヤー化して、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各コードブロックのレイヤー０及び１のデータと、ＬＬ３サブバンドの各コードブロックのレイヤー１のデータとを生成する。そして、レイヤー分割処理部２５０は、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各コードブロックのレイヤー０及び１のデータと、ＬＬ３サブバンドの各コードブロックのレイヤー１のデータとを含むビットストリーム５０６ａを生成してゲートウェイ３に送信する。ＩｏＴ端末２は、マルチレイヤー化されたビットストリーム５０６ａを送信する場合には、上位のレイヤーのデータから順に送信する。ここでは、ＩｏＴ端末２は、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドのレイヤー０のデータを送信した後に、ＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドのレイヤー１のデータを送信する。
【０３５５】
ゲートウェイ３では、レイヤー合成処理部３１５のレイヤー合成制御部３１７は、ＩｏＴ端末２から受け取ったビットストリーム５０６ａをメモリ３１６に記憶する。そして、レイヤー合成制御部３１７は、メモリ３１６から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム５０６ｂを生成する。
【０３５６】
具体的には、レイヤー合成制御部３１７は、メモリ３１６から、ＬＨ３サブバンドのレイヤー０及び１のデータを読み出す。そして、レイヤー合成制御部３１７は、読み出した、ＬＨ３サブバンドのレイヤー０及び１のデータを合成して、コードブロック単位でデータが並ぶ、ＬＨ３サブバンドにおける、ＩｏＴ端末２が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたＬＨ３サブバンドのデータと呼ぶ。
【０３５７】
同様に、レイヤー合成制御部３１７は、メモリ３１６から、ＨＬ３サブバンドのレイヤー０及び１のデータを読み出す。そして、レイヤー合成制御部３１７は、読み出した、ＨＬ３サブバンドのレイヤー０及び１のデータを合成して、コードブロック単位でデータが並ぶ、ＨＬ３サブバンドにおける、ＩｏＴ端末２が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたＨＬ３サブバンドのデータと呼ぶ。
【０３５８】
同様に、レイヤー合成制御部３１７は、メモリ３１６から、ＨＨ３サブバンドのレイヤー０及び１のデータを読み出す。そして、レイヤー合成制御部３１７は、読み出した、ＨＨ３サブバンドのレイヤー０及び１のデータを合成して、コードブロック単位でデータが並ぶ、ＨＨ３サブバンドにおける、ＩｏＴ端末２が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたＨＨ３サブバンドのデータと呼ぶ。
【０３５９】
そして、レイヤー合成制御部３１７は、シングルレイヤー化されたＬＨ３サブバンドのデータと、シングルレイヤー化されたＨＬ３サブバンドのデータと、シングルレイヤー化されたＨＨ３サブバンドのデータと、ＬＬ３サブバンドの各コードブロックのレイヤー１のデータとを含むビットストリーム５０６ｂを生成する。このビットストリーム５０６ｂでは、コードブロック単位でデータが並んでいる。
【０３６０】
このように、ゲートウェイ３は、シングルレイヤー化されたビットストリーム５０６ｂを生成することから、ＩｏＴ端末２から、マルチレイヤー化されたビットストリーム５０６ａが送信される場合であっても、マルチレイヤー化されていないビットストリーム５０６ａが送信される場合であっても、同じ構成の復号化部３１１を使用することができる。よって、ゲートウェイ３の構成を簡素化することができる。
【０３６１】
次にゲートウェイ３は、ビットストリーム５０６ｂに含まれる、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各係数のデータが、Ｌビットのデータとなるように、当該各係数のデータに対して、必要な数だけ０を下位ビットとして追加する（上述の図４７，４８参照）。これにより、各コードブロックの係数がＬビットのデータで構成されたＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドが得られる。また、ゲートウェイ３は、すでに取得している、ＬＬ３サブバンドのレイヤー０のデータと、ビットストリーム５０６ｂに含まれる、ＬＬ３サブバンドＬＬ３のレイヤー１のデータとを合成して、各コードブロックの各係数が６ビットのデータ（レイヤー０の３ビット＋レイヤー１の３ビット）から成るＬＬ３サブバンドを生成する。そして、ゲートウェイ３は、生成したＬＬ３サブバンドに含まれる各係数のデータが、Ｌビット（Ｌ＝１１）のデータとなるように、当該各係数のデータに対して５つだけ０を下位ビットとして追加する。これにより、各コードブロックの係数がＬビットのデータで構成されたＬＬ３サブバンドが得られる。ゲートウェイ３は、得られたＬＬ３サブバンド、ＬＨ３サブバンド、ＨＬ３サブバンド及びＨＨ３サブバンドの各コードブロックから、それに対応する非差分ＣＢを復元し、復元した非差分ＣＢから成る逆変換対象データ５２２を逆ウェーブレット変換する。これにより、ＬＬ２サブバンドの各コードブロックに対応する非差分ＣＢが生成される。ゲートウェイ３は、生成した非差分ＣＢを認識用データ５２２として画像認識処理を行う。
【０３６２】
ここで、逆変換対象データ５２２を逆ウェーブレット変換した場合には、それによって生成されるデータが示す画像にひずみが発生し、当該画像の品質が劣化する可能性がある。本変形例では、逆ウェーブレット変換を使用してＬＬ２サブバンドのデータを生成する際に、レイヤー０のデータだけではなく、レイヤー１のデータも使用していることから、レイヤー０のデータだけを使用する場合と比較して、逆ウェーブレット変換によって生成されたデータが示す画像の品質を向上することができる。なお、レイヤー０のデータだけを使用して逆ウェーブレット変換してもよい。また、レイヤー０〜３のデータを使用して逆ウェーブレット変換してもよいし、レイヤー０〜４のデータを使用して逆ウェーブレット変換してもよい。
【０３６３】
ゲートウェイ３が画像認識処理を行った結果、検出対象物が検出されると、対象フレーム画像に対する処理が終了する。一方で、ゲートウェイ３は、検出対象物を検出しない場合には、ＬＬ１サブバンドを処理対象とするために、ＬＨ２サブバンド及びＨＬ２サブバンドの各コードブロックのレイヤー０及び１のデータと、ＨＨ２サブバンドの各コードブロックのレイヤー１のデータ（ＨＨ２サブバンドにはレイヤー０のデータは存在しない）とを指定データとして指示情報５２０を送信する。この指示情報５２０を受け取ったＩｏＴ端末２は、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの各コードブロックを送信対象コードブロックとして符号化データ５０５を生成する。そして、ＩｏＴ端末２では、レイヤー分割処理部２５０が、符号化データ５０５を含むビットストリーム５０６をマルチレイヤー化して、ＬＨ２サブバンド及びＨＬ２サブバンドの各コードブロックのレイヤー０及び１のデータと、ＨＨ２サブバンドの各コードブロックのレイヤー１のデータとを生成する。そして、レイヤー分割処理部２５０は、ＬＨ２サブバンド及びＨＬ２サブバンドの各コードブロックのレイヤー０及び１のデータと、ＨＨ２サブバンドの各コードブロックのレイヤー１のデータとを含むビットストリーム５０６ａを生成してゲートウェイ３に送信する。このとき、ＩｏＴ端末２は、ＬＨ２サブバンド及びＨＬ２サブバンドのレイヤー０のデータを送信した後に、ＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドのレイヤー１のデータを送信する。
【０３６４】
ゲートウェイ３では、レイヤー合成制御部３１７は、ＩｏＴ端末２から受け取ったビットストリーム５０６ａをメモリ３１６に記憶する。そして、レイヤー合成制御部３１７は、メモリ３１６から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム５０６ｂを生成する。
【０３６５】
具体的には、レイヤー合成制御部３１７は、メモリ３１６から、ＬＨ２サブバンドのレイヤー０及び１のデータを読み出す。そして、レイヤー合成制御部３１７は、読み出した、ＬＨ２サブバンドのレイヤー０及び１のデータを合成して、コードブロック単位でデータが並ぶ、ＬＨ２サブバンドにおける、ＩｏＴ端末２が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたＬＨ２サブバンドのデータと呼ぶ。
【０３６６】
同様に、レイヤー合成制御部３１７は、メモリ３１６から、ＨＬ２サブバンドのレイヤー０及び１のデータを読み出す。そして、レイヤー合成制御部３１７は、読み出した、ＨＬ２サブバンドのレイヤー０及び１のデータを合成して、コードブロック単位でデータが並ぶ、ＨＬ２サブバンドにおける、ＩｏＴ端末２が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたＨＬ２サブバンドのデータと呼ぶ。
【０３６７】
そして、レイヤー合成制御部３１７は、シングルレイヤー化されたＬＨ２サブバンドのデータと、シングルレイヤー化されたＨＬ２サブバンドのデータと、ＨＨ２サブバンドの各コードブロックのレイヤー１のデータとを含むビットストリーム５０６ｂを生成する。このビットストリーム５０６ｂでは、コードブロック単位でデータが並んでいる。
【０３６８】
次にゲートウェイ３は、ビットストリーム５０６ｂに含まれる、サブバンドＬＨ２，ＨＬ２，ＨＨ２の各係数のデータが、Ｌビットのデータとなるように、当該各係数のデータに対して、必要な数だけ０を下位ビットとして追加する（上述の図４７，４８参照）。これにより、各コードブロックの係数がＬビットのデータで構成されたＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドが得られる。そして、ゲートウェイ３は、得られたＬＨ２サブバンド、ＨＬ２サブバンド及びＨＨ２サブバンドの各コードブロックから、それに対応する非差分ＣＢを復元する。
【０３６９】
次にゲートウェイ３は、復元した非差分ＣＢと、すでに取得している、ＬＬ２サブバンドの各コードブロックに対応する非差分ＣＢとから成る逆変換対象データ５２２に対して逆ウェーブレット変換を行う。これより、ＬＬ１サブバンドの各コードブロックに対応する非差分ＣＢが生成される。ゲートウェイ３は、逆ウェーブレット変換によって得られた非差分ＣＢを認識用データ５２２として画像認識処理を行う。その後、対象フレーム画像に対する処理が終了する。
【０３７０】
このように、本変形例に係る画像処理システム４では、ＩｏＴ端末２がレイヤー単位でデータを送信することができることから、ＩｏＴ端末２の消費電力を低減することができる。
【０３７１】
なお、ビットストリーム５０６がマルチレイヤー化される場合の画像処理システム４の動作は上記の例には限られない。例えば、ゲートウェイ３は、上述のＣＢ対応関係情報を使用して指定データを決定してもよい。
【０３７２】
＜その他の変形例＞
上記の各例では、情報処理システム１は、ＩｏＴシステムとして使用されているが、他のシステムとして使用されてもよい。
【０３７３】
また上記の各例では、ＪＰＥＧ２０００に基づいてデータを階層化しているが、ＪＰＥＧ２０００でのサブバンド分割と同様にしてデータを階層化する他の規格に基づいてデータを階層化してもよい。
【０３７４】
以上のように、情報処理システム１、画像処理システム４及び画像処理装置２，３は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０３７５】
１  情報処理システム
２  画像処理装置（ＩｏＴ端末）
３  画像処理装置（ゲートウェイ）
４  画像処理システム
２２  階層化部
２３  差分生成部
２５ａ，３０ｂ  送信部
２６  決定部
２８，２２６  動き補正部
３０ａ  受信部
３３  画像認識部
２４０  符号化部
３１１  復号化部
３２１  第１処理部
３２６  復元部
【図１】
2018182569.tif 000003
【図２】
2018182569.tif 000004
【図３】
2018182569.tif 000005
【図４】
2018182569.tif 000006
【図５】
2018182569.tif 000007
【図６】
2018182569.tif 000008
【図７】
2018182569.tif 000009
【図８】
2018182569.tif 000010
【図９】
2018182569.tif 000011
【図１０】
2018182569.tif 000012
【図１１】
2018182569.tif 000013
【図１２】
2018182569.tif 000014
【図１３】
2018182569.tif 000015
【図１４】
2018182569.tif 000016
【図１５】
2018182569.tif 000017
【図１６】
2018182569.tif 000018
【図１７】
2018182569.tif 000019
【図１８】
2018182569.tif 000020
【図１９】
2018182569.tif 000021
【図２０】
2018182569.tif 000022
【図２１】
2018182569.tif 000023
【図２２】
2018182569.tif 000024
【図２３】
2018182569.tif 000025
【図２４】
2018182569.tif 000026
【図２５】
2018182569.tif 000027
【図２６】
2018182569.tif 000028
【図２７】
2018182569.tif 000029
【図２８】
2018182569.tif 000030
【図２９】
2018182569.tif 000031
【図３０】
2018182569.tif 000032
【図３１】
2018182569.tif 000033
【図３２】
2018182569.tif 000034
【図３３】
2018182569.tif 000035
【図３４】
2018182569.tif 000036
【図３５】
2018182569.tif 000037
【図３６】
2018182569.tif 000038
【図３７】
2018182569.tif 000039
【図３８】
2018182569.tif 000040
【図３９】
2018182569.tif 000041
【図４０】
2018182569.tif 000042
【図４１】
2018182569.tif 000043
【図４２】
2018182569.tif 000044
【図４３】
2018182569.tif 000045
【図４４】
2018182569.tif 000046
【図４５】
2018182569.tif 000047
【図４６】
2018182569.tif 000048
【図４７】
2018182569.tif 000049
【図４８】
2018182569.tif 000050
【図４９】
2018182569.tif 000051
【図５０】
2018182569.tif 000052
【図５１】
2018182569.tif 000053
【図５２】
2018182569.tif 000054
【図５３】
2018182569.tif 000055
【図５４】
2018182569.tif 000056