JP2018182568A - 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 - Google Patents
画像処理装置、画像処理システム、情報処理システム及び画像処理方法 Download PDFInfo
- Publication number
- JP2018182568A JP2018182568A JP2017080744A JP2017080744A JP2018182568A JP 2018182568 A JP2018182568 A JP 2018182568A JP 2017080744 A JP2017080744 A JP 2017080744A JP 2017080744 A JP2017080744 A JP 2017080744A JP 2018182568 A JP2018182568 A JP 2018182568A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image
- unit
- image processing
- subband
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】画像処理装置の低消費電力化を図ることが可能な技術を提供する。【解決手段】画像処理装置は、生成部、決定部、第1符号化部及び第1送信部を備える。決定部は、第1画像を示す階層化されたデータを生成する。決定部は、階層化されたデータから、所定の基準に基づいて、送信対象データを決定する。第1符号化部は、決定部で決定された送信対象データを圧縮符号化して第1符号化データを生成する。第1送信部は、第1符号化データを送信する。【選択図】図3
Description
本発明は、画像処理に関する。
特許文献1及び2には、画像処理に関する技術が開示されている。
画像処理装置については、その消費電力の低減が望まれている。
そこで、本発明は上述の点に鑑みて成されたものであり、画像処理装置の低消費電力化を図ることが可能な技術を提供することを目的とする。
画像処理装置の一態様は、第1画像を示す階層化されたデータを生成する生成部と、前記階層化されたデータから、所定の基準に基づいて、送信対象データを決定する第1決定部と、前記第1決定部で決定された前記送信対象データを圧縮符号化して第1符号化データを生成する第1符号化部と、前記第1符号化データを送信する第1送信部とを備える。
また、画像処理装置の一態様は、上記の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、前記第1装置から送信される前記第1符号化データを受信する受信部と、前記第1符号化データに基づいて第2処理を行う第2処理部とを備える。
また、画像処理システムの一態様は、上記の第1装置と、上記の第2装置とを備える。
また、情報処理システムの一態様は、上記の画像処理システムと、前記画像処理システムの前記第2装置から前記第2処理の結果を受け取る第3装置と備える。
また、画像処理方法の一態様は、画像処理装置での画像処理方法であって、画像を示す階層化されたデータを生成する工程と、前記階層化されたデータから、所定の基準に基づいて、送信対象データを決定する工程と、前記送信対象データを圧縮符号化して符号化データを生成する工程と、前記符号化データを送信する工程とを備える。
画像処理装置の低消費電力化が可能となる。
<システム概要>
図1は情報処理システム1の構成の一例を示す図である。図1に示されるように、情報処理システム1は、画像処理装置2,3を含む画像処理システム4と、情報処理装置5とを備える。画像処理装置2は、画像を示す圧縮符号化された符号化データを生成して画像処理装置3に送信する。画像処理装置3は、画像処理装置2からの符号化データに基づいて処理を行い、その処理の結果を情報処理装置5に送信する。情報処理装置5は、画像処理装置3からの情報を保存するとともに、保存した情報を使用して各種処理を行う。
図1は情報処理システム1の構成の一例を示す図である。図1に示されるように、情報処理システム1は、画像処理装置2,3を含む画像処理システム4と、情報処理装置5とを備える。画像処理装置2は、画像を示す圧縮符号化された符号化データを生成して画像処理装置3に送信する。画像処理装置3は、画像処理装置2からの符号化データに基づいて処理を行い、その処理の結果を情報処理装置5に送信する。情報処理装置5は、画像処理装置3からの情報を保存するとともに、保存した情報を使用して各種処理を行う。
このような情報処理システム1は様々な場面で使用することができる。図2は、情報処理システム1の適用例を示す図である。図2の例では、情報処理システム1はIoT(Internet of Things)システム1として使用される。画像処理装置2、画像処理装置3及び情報処理装置5は、例えば、IoT端末2、ゲートウェイ3及びクラウドサーバ5としてそれぞれ使用される。ゲートウェイ3は、エッジゲートウェイとも呼ばれる。IoT端末2、ゲートウェイ3及びクラウドサーバ5のそれぞれは、例えば一種のコンピュータ装置である。
図2に示されるように、IoTシステム1は、複数のIoT端末2及びゲートウェイ3を有する画像処理システム4と、クラウドサーバ5とを備える。複数のIoT端末2はゲートウェイ3に対してローカルネットワークで接続されている。ゲートウェイ3とクラウドサーバ5とはインターネットで接続されている。IoT端末2とゲートウェイ3とは無線で接続されてもよいし、有線で接続されてもよい。IoT端末2が、ゲートウェイ3と無線通信する場合には、IoT端末2とゲートウェイ3との間の通信規格としては、例えば、ZigBee(登録商標)が採用される。IoT端末2とゲートウェイ3との間の通信規格はこれに限られない。
IoT端末2の処理能力は、例えば、ゲートウェイ3の処理能力よりも低くなっている。また、IoT端末2とゲートウェイ3との間のデータ伝送レートは、例えば、ゲートウェイ3とクラウドサーバ5との間のデータ伝送レートよりも低くなっている。IoT端末2とゲートウェイ3との間のデータ伝送レートは、ゲートウェイ3とクラウドサーバ5との間のデータ伝送レートの例えば数十分の一となっている。
各IoT端末2は例えばカメラを有する。各IoT端末2は、カメラで撮影された画像の少なくとも一部を示す、圧縮符号化された符号化データを生成し、それをゲートウェイ3に送信する。IoT端末2は、例えば、スマートフォン等の携帯電話機、スマートグラス等のウェアラブル機器、ネットワークカメラ、あるいはテレビ電話機などである。複数のIoT端末2は、同じ種類の機器であってもよいし、互いに異なる種類の機器であってもよい。
ゲートウェイ3は、例えば、IoT端末2からの符号化データに基づく画像に対する画像認識処理を行う。そして、ゲートウェイ3は、画像認識処理の結果を示す情報を、インターネットを通じてクラウドサーバ5に送信する。クラウドサーバ5は、ゲートウェイ3からの情報を記憶し、記憶した情報に基づいて、各種処理を実行する。ゲートウェイ3は、IoT端末2で撮影された画像の少なくとも一部を示すストリーミングデータをクラウドサーバ5に送信してもよい。この場合、クラウドサーバ5は、ゲートウェイ3からのストリーミングデータを表示してもよい。あるいは、クラウドサーバ5は、画像認識処理の結果を示す情報あるいはストリーミングデータを、別のゲートウェイ3あるいはIoT端末2に対してインターネットを通じて送信してもよい。この場合、別のゲートウェイ3あるいはIoT端末2は、クラウドサーバ5から受け取った情報あるいはストリーミングデータを表示してもよい。
IoTシステム1は、例えば、スマートホームシステムで使用することができる。この場合、複数のIoT端末2及びゲートウェイ3は家の中に設けられ、クラウドサーバ5は当該家から離れた場所に設けられる。各IoT端末2は、カメラで家の中の様子を撮影して、その様子が写る画像を示す符号化データをゲートウェイ3に送信する。ゲートウェイ3は、IoT端末2からの符号化データに基づく画像に対して画像認識処理を行って、例えば家の中の人を検出する。そして、ゲートウェイ3は、その検出結果をクラウドサーバ5に送信する。これにより、例えば、家の中の子供あるいは高齢者の見守り及び管理が可能となる。
またIoT端末1は、例えば、スマート工場で使用することができる。この場合、複数のIoT端末2及びゲートウェイ3は工場内に設けられ、クラウドサーバ5は当該工場から離れた場所に設けられる。各IoT端末2は、工場内の様子を撮影して、その様子が写る画像を示す符号化データをゲートウェイ3に送信する。ゲートウェイ3は、IoT端末2からの符号化データに基づく画像に対して画像認識処理を行って、例えば、荷物を配置することが可能な空きスペースを検出する。そして、ゲートウェイ3は、その検出結果をクラウドサーバ5に送信する。これにより、例えば、工場内での荷物の運搬管理が可能となる。
なお、IoTシステム1が使用される場面は上記の限りではない。またIoT端末2は、それとは別体のカメラから画像データを受け取ってもよい。またIoT端末2で扱われる画像は、カメラで撮影された画像だけではなく、アニメーション画像であってもよい。
以下では、情報処理システム1がIoTシステム1である場合を例に挙げて、情報処理システム1について詳細に説明する。
<IoT端末の構成>
図3はIoT端末2の構成の一例を示す図である。図3に示されるように、IoT端末2は、カメラ20、縮小部21、画像メモリ22、マスク生成部23、符号化装置24、通信部25及び決定部26等で構成される回路構成を備える。IoT端末2は、例えば電池駆動型の端末であって、当該IoT端末2の電源を出力する電池を備えている。
図3はIoT端末2の構成の一例を示す図である。図3に示されるように、IoT端末2は、カメラ20、縮小部21、画像メモリ22、マスク生成部23、符号化装置24、通信部25及び決定部26等で構成される回路構成を備える。IoT端末2は、例えば電池駆動型の端末であって、当該IoT端末2の電源を出力する電池を備えている。
カメラ20は、画像を撮影し、撮影した画像を示す画像データ500を出力する。画像データ500は複数の画素値で構成されている。カメラ20は、動画を撮影することも、静止画を撮影することも可能である。以後、カメラ20で撮影される画像を主画像と呼ぶことがある。また、カメラ20が出力する画像データ500を主画像データ500と呼ぶことがある。主画像は、静止画であってもよいし、動画のフレーム画像であってもよい。カメラ20が動画を撮影する場合には、フレーム画像を示す主画像データ500がカメラ20から順次出力される。
縮小部21は、主画像を縮小して縮小画像を生成する。縮小画像は「小画像」とも呼ばれる。縮小部21は、例えば、縮小画像のサイズが主画像のサイズの1/2r倍(rは1以上の整数)となるように、主画像を縮小する。縮小部21は、主画像データ500に基づいて、縮小画像を示す縮小画像データ501を生成して出力する。縮小部21の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、縮小部21の少なくとも一部は、コンピュータがプログラム(ソフトウェア)を実行することによって実現される機能ブロックであってもよい。
画像メモリ22は、縮小画像メモリ22a及び主画像メモリ22bを備える。画像メモリ22はメモリ回路とも言える。縮小画像メモリ22aは、縮小部21から出力される縮小画像データ501を記憶する。縮小画像メモリ22aは縮小画像を記憶するとも言える。主画像メモリ22bは、カメラ20から出力される主画像データ500を記憶する。主画像メモリ22bは主画像を記憶するとも言える。縮小画像メモリ22a及び主画像メモリ22bは、互いに独立した別々のメモリであってもよいし、一つのメモリの記憶領域の一部が縮小画像メモリ22aとして使用され、当該記憶領域の他の部分が主画像メモリ22bとして使用されてもよい。
マスク生成部23は、縮小画像メモリ22a内の縮小画像データ501に基づいて、主画像における関心領域を特定するためのマスクデータ502を生成して出力する。関心領域はROIとも呼ばれる。マスクデータ502の生成は、主画像に関する処理であるとも言える。マスク生成部23の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、マスク生成部23の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
符号化装置24は、マスク符号化部24a及び画像符号化部24bを備える。符号化装置24の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、符号化装置24の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
マスク符号化部24aは、マスク生成部23が出力するマスクデータ502を圧縮符号化してマスク符号化データ503を生成する。マスク符号化部24aは、マスクデータ502を、JPEGに準拠して圧縮符号化してもよいし、JPEG2000に準拠して圧縮符号化してもよいし、他の規格に基づいて圧縮符号化してもよい。
画像符号化部24bは、主画像メモリ22b内の主画像データ500の少なくとも一部が階層符号化されたデータを画像符号化データ504として生成する。画像符号化部24bは、主画像データ500を階層化し、主画像を示す階層化されたデータ(以後、階層化データと呼ぶことがある」)を生成する。そして画像符号化部24bは、階層化データの少なくとも一部を圧縮符号化し、それによって得られたデータを画像符号化データ504とする。画像符号化部24bは、生成した画像符号化データ504を含むビットストリーム505を生成して出力する。
画像符号化部24bでは、例えば、JPEG(Joint Photographic Experts Group)2000に準拠した圧縮符号化方法が使用される。本例では、画像符号化部24bは、主画像データ500に対してウェーブレット変換(詳細には離散ウェーブレット変換)を実行して、主画像データ500を階層化する。以後、ウェーブレットをWTと表すことがある。
通信部25は、ゲートウェイ3と通信を行う通信回路である。通信部25は、例えばZigBeeに準拠してゲートウェイ3と無線通信を行う。通信部25の通信方式はこれに限られない。通信部25は、ゲートウェイ3からの信号を受信する受信部25bと、ゲートウェイ3に信号を送信する送信部25aとを備える。送信部25aは、マスク符号化部24aで生成されるマスク符号化データ503をゲートウェイ3に送信する。また送信部25aは、画像符号化部24bで生成されるビットストリーム505をゲートウェイ3に送信する。受信部25bは、ゲートウェイ3が送信する後述の指示情報518を受信し、受信した指示情報518を決定部26に出力する。
決定部26は、画像符号化部24bで得られる階層化データから、所定の基準に基づいて、送信対象データを決定する。本例では、所定の基準としては、IoT端末2での処理の結果と、ゲートウェイ3からの指示情報518とが使用される。IoT端末2での処理の結果として、例えば、マスク生成部23での処理の結果であるマスクデータ502が使用される。送信対象データの決定で使用される、IoT端末2での処理の結果は、マスクデータ502以外であってもよい。
決定部26は、マスクデータ502と、受信部25bで受信される指示情報518とに基づいて、階層化データから、送信対象データを決定する。決定部26は、ゲートウェイ3からの新たな指示情報を受信部25bが受信すると、その新たな指示情報に基づいて送信対象データを決定する。決定部26は、決定した送信対象データを特定するための特定情報506を画像符号化部24bに出力する。画像符号化部24bは、特定情報506で特定される送信対象データを圧縮符号化し、それによって得られた符号化データを画像符号化データ504として出力する。この画像符号化データ504は送信部25aからゲートウェイ3に送信される。決定部26は、階層化データのうち、圧縮符号化する対象のデータを決定する処理を行うとも言える。決定部26の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、決定部26の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
なお縮小部21には、実写画像を示す画像データではなく、アニメーション画像を示す画像データが入力されてもよい。またIoT端末2は、カメラ20を備えていなくてもよい。この場合、縮小部21には、IoT端末2とは別体のカメラから出力される画像データ(実写画像を示す画像データ)が入力されてよいし、アニメーション画像が入力されてよい。
<ゲートウェイの構成>
図4はゲートウェイ3の構成の一例を示す図である。図4に示されるように、ゲートウェイ3は、通信部30、復号化装置31、データ処理部32、画像認識部33、トランスコーダ34及び通信部35等で構成される回路構成を備える。ゲートウェイ3は、例えば商用電源を電源として動作を行う。ゲートウェイ3では、復号化装置31、データ処理部32、画像認識部33及びトランスコーダ34によって、IoT端末2からの画像符号化データ504に基づいて所定の処理を行う処理部が構成される。
図4はゲートウェイ3の構成の一例を示す図である。図4に示されるように、ゲートウェイ3は、通信部30、復号化装置31、データ処理部32、画像認識部33、トランスコーダ34及び通信部35等で構成される回路構成を備える。ゲートウェイ3は、例えば商用電源を電源として動作を行う。ゲートウェイ3では、復号化装置31、データ処理部32、画像認識部33及びトランスコーダ34によって、IoT端末2からの画像符号化データ504に基づいて所定の処理を行う処理部が構成される。
通信部30は、IoT端末2と通信を行う通信回路である。通信部30は、IoT端末2からの信号を受信する受信部30aと、IoT端末2に信号を送信する送信部30bとを備える。受信部30aは、IoT端末2から送信されるマスク符号化データ503及びビットストリーム505を受信する。送信部30bは、IoT端末2が送信すべきデータを当該IoT端末2に指示するための指示情報518を、IoT端末2に送信する。指示情報518はデータ処理部32で生成される。
復号化装置31は、マスク復号化部31a及び画像復号化部31bを備えている。マスク復号化部31aは、受信部30aが受信するマスク符号化データ503を伸張復号化してマスク復号化データ510を生成する。この伸張復号化は、上述の図3に示されるマスク符号化部24aでの圧縮符号化と逆の処理である。マスク復号化データ510は、IoT端末2のマスク生成部23で生成されるマスクデータ502を復元したものである。
画像復号化部31bは、受信部30aが受信するビットストリーム505から画像符号化データ504を抽出する。画像復号化部31bは、抽出した画像符号化データ504をデータ処理部32に出力する。また画像復号化部31bは、抽出した画像符号化データ504を伸張復号化して画像復号化データ511を生成する。この画像復号化データ511は、ウェーブレット逆変換(詳細には離散ウェーブレット逆変換)されていないデータである。つまり、画像復号化データ511は、IoT端末2の画像符号化部24bで生成される階層化データ(WT変換されたデータ)の少なくとも一部を復元したものである。画像復号化部31bは、受信部30aが新たなビットストリーム505を受信すると、その新たなビットストリーム505に含まれる画像符号化データ504を伸張復号化して画像復号化データ511を生成する。復号化装置31の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、復号化装置31の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。以後、画像復号化データ511をWT復号化データ511と呼ぶことがある。
データ処理部32は、画像復号化部31bで生成されるWT復号化データ511を後述の第1メモリに記憶する。またデータ処理部32は、画像復号化部31bからの画像符号化データ504を後述する第2メモリに記憶する。
画像認識部33は、データ処理部32が生成する認識用データ512が示す認識対象画像に対して画像認識処理を行う。画像認識部33は、画像認識処理において、認識対象画像から、人全体あるいは人の顔等の検出対象物を検出する。なお、検出対象物はこの限りではない。画像認識部33は、データ処理部32で使用される、画像認識処理の結果を示す認識結果情報513を生成する。また画像認識部33は、ゲートウェイ3からクラウドサーバ5に送信される、画像認識処理の結果を示す認識結果情報514を、通信部35に出力する。
データ処理部32は、第1メモリ内のデータに基づいて、画像認識部33で使用される認識用データ512を生成する。データ処理部32は、画像認識部33で生成される認識結果情報513に基づいて、トランスコーダ34で使用されるマスクデータ515を生成する。マスクデータ515は、第1メモリ内のデータに基づく画像におけるROI(関心領域)を特定するためのマスクデータである。言い換えれば、マスクデータ515は、IoT端末2から送信される画像符号化データ504に基づく画像におけるROIを特定するためのマスクデータである。データ処理部32は、認識結果情報513等に基づいて指示情報518を生成する。
またデータ処理部32は、第1メモリ内のデータに基づいて、トランスコーダ34で使用されるトランスコーダ用復号化データ516を生成して出力する。またデータ処理部32は、第2メモリ内のデータに基づいて、トランスコーダ34で使用されるトランスコーダ用符号化データ517を生成して出力する。
トランスコーダ34は、データ処理部32で生成されるマスクデータ515に基づいて、トランスコーダ用復号化データ516が示す画像からROIを特定し、特定したROIを示す、圧縮符号化されたデータをROI符号化データとして生成する。ゲートウェイ3は、マスクデータ515を変更することによって、様々な形状のROIを示すROI符号化データを生成することができる。トランスコーダ34は、生成したROI符号化データを含むビットストリーム519を生成して出力する。またトランスコーダ34は、トランスコーダ用符号化データ517を含むビットストリーム519を生成して出力する。
通信部35は、クラウドサーバ5と通信を行う通信回路である。通信部35は、トランスコーダ34から出力されるビットストリーム519をクラウドサーバ5に送信する。また通信部35は、画像認識部33から出力される認識結果情報514をメタデータとしてクラウドサーバ5に送信する。なお、ゲートウェイ3は、認識結果情報514を圧縮符号化し、それによって得られた符号化データをクラウドサーバ5に送信してもよい。
クラウドサーバ5は、ゲートウェイ3から受け取ったビットストリーム519に含まれる符号化データを伸張復号化し、それによって得られた復号化データ(画像データ)を記憶する。また、クラウドサーバ5は、ゲートウェイ3からのメタデータを記憶する。そして、クラウドサーバ5は、記憶している復号化データ及びメタデータに基づいて、画像検索あるいは画像解析等を行う。
以上のように、本例に係るIoTシステム1では、IoT端末2が、主画像を示す階層化データを生成し、生成した階層化データから、所定の基準に基づいて送信対象データを決定する。そして、IoT端末2は、決定した送信対象データを圧縮符号化し、それによって得られた符号化データをゲートウェイ3に送信する。これにより、主画像データを示す階層化データのすべてが圧縮符号化され、それによって得られた符号化データがIoT端末2から送信される場合と比較して、IoT端末2の消費電力を低減することができる。また、IoT端末2とゲートウェイ3との間のデータ伝送レートが低い場合であっても、IoT端末2から送信される符号化データの送信遅延を低減することができる。
<IoT端末の詳細説明>
<画像符号化部の詳細説明>
図5はIoT端末2の画像符号化部24bの構成の一例を示す図である。図5に示されるように、画像符号化部24bは、階層化部240、符号化部246及びビットストリーム生成部249を備える。階層化部240は、主画像データ500から階層化データを生成する。階層化部240は階層化データを生成する生成部であるとも言える。符号化部246は、階層化データのうち、決定部26からの特定情報506によって特定される送信対象データを圧縮符号化して画像符号化データ504を生成する。ビットストリーム生成部249は、画像符号化データ504を含むビットストリーム505を生成して送信部25aに送信する。送信部25aは、ビットストリーム505をゲートウェイ3に送信する。
<画像符号化部の詳細説明>
図5はIoT端末2の画像符号化部24bの構成の一例を示す図である。図5に示されるように、画像符号化部24bは、階層化部240、符号化部246及びビットストリーム生成部249を備える。階層化部240は、主画像データ500から階層化データを生成する。階層化部240は階層化データを生成する生成部であるとも言える。符号化部246は、階層化データのうち、決定部26からの特定情報506によって特定される送信対象データを圧縮符号化して画像符号化データ504を生成する。ビットストリーム生成部249は、画像符号化データ504を含むビットストリーム505を生成して送信部25aに送信する。送信部25aは、ビットストリーム505をゲートウェイ3に送信する。
<階層化部>
階層化部240は、DCレベルシフト部241、色空間変換部242、タイリング部243、ウェーブレット変換部244(WT変換部244)及び量子化部245を備えている。DCレベルシフト部241は、主画像データ500のDCレベルを必要に応じて変換する。色空間変換部242は、DCレベル変換後の主画像データ500の色空間を変換する。例えば、RGB成分がYCbCr成分(輝度成分Yと色差成分Cb,Crとから成る)に変換される。タイリング部243は、色空間変換後の主画像データ500を、タイルと呼ばれる矩形状の複数の領域成分に分割する。そして、タイリング部243は、主画像データ500をタイルごとにウェーブレット変換部244に入力する。なお、必ずしも主画像データ500をタイルに分割する必要はなく、色空間変換部242から出力された主画像データ500を、そのままウェーブレット変換部244に入力してもよい。
階層化部240は、DCレベルシフト部241、色空間変換部242、タイリング部243、ウェーブレット変換部244(WT変換部244)及び量子化部245を備えている。DCレベルシフト部241は、主画像データ500のDCレベルを必要に応じて変換する。色空間変換部242は、DCレベル変換後の主画像データ500の色空間を変換する。例えば、RGB成分がYCbCr成分(輝度成分Yと色差成分Cb,Crとから成る)に変換される。タイリング部243は、色空間変換後の主画像データ500を、タイルと呼ばれる矩形状の複数の領域成分に分割する。そして、タイリング部243は、主画像データ500をタイルごとにウェーブレット変換部244に入力する。なお、必ずしも主画像データ500をタイルに分割する必要はなく、色空間変換部242から出力された主画像データ500を、そのままウェーブレット変換部244に入力してもよい。
ウェーブレット変換部244は、タイリング部243で処理された主画像データ500に対してウェーブレット変換を行って階層化データを生成する。そして、量子化部245は、階層化データを量子化して出力する。
<ウェーブレット変換部>
ウェーブレット変換部244は、タイリング部243で処理された主画像データ500に対して、整数型または実数型の離散ウェーブレット変換(DWT)を行い、その結果得られた複数の変換係数を出力する。以下では、変換係数をウェーブレット係数と呼ぶことがある。また、主画像データ500に対してウェーブレット変換を行うことによって生成されるデータ(ウェーブレット係数の群)を、第1ウェーブレット係数データと呼ぶことがある。ウェーブレット変換部244は、生成した第1ウェーブレット係数データを、主画像を示す階層化データとして出力する。
ウェーブレット変換部244は、タイリング部243で処理された主画像データ500に対して、整数型または実数型の離散ウェーブレット変換(DWT)を行い、その結果得られた複数の変換係数を出力する。以下では、変換係数をウェーブレット係数と呼ぶことがある。また、主画像データ500に対してウェーブレット変換を行うことによって生成されるデータ(ウェーブレット係数の群)を、第1ウェーブレット係数データと呼ぶことがある。ウェーブレット変換部244は、生成した第1ウェーブレット係数データを、主画像を示す階層化データとして出力する。
ウェーブレット変換では、2次元画像データが高域成分(換言すれば高周波成分)と低域成分(換言すれば低周波成分)とに分解される。この周波数分解は例えば帯域分割とも呼ばれる。また、周波数分解によって得られた各帯域成分(すなわち低域成分と高域成分のそれぞれ)はサブバンドとも呼ばれる。ここでは、JPEG2000の基本方式に倣い、垂直方向と水平方向の両方について低域側に分割されたサブバンドのみを再帰的に帯域分割していく、オクターブ分割方式を採用するものとする。再帰的な帯域分割を行った回数は、分解レベルと呼ばれる。分解レベルの情報は、第1ウェーブレット係数データに付随している。
ウェーブレット変換部244では、所定の分解レベルまで主画像データ500が分解される。一般的には分解レベルが3〜5程度の場合に、良好な符号化効率が得られる。なお、ウェーブレット変換部244における上記所定の分解レベルを、最大分解レベルと呼ぶ場合もある。本例では、最大分解レベルは3に設定されている。
図6〜8に、2次元でのウェーブレット変換について、Mallat型のウェーブレット平面551〜553を示す。図6〜8の例によれば、入力画像(2次元画像)は、分解レベル1において(図6参照)、垂直方向と水平方向のそれぞれについて周波数分解が行われる。これにより、図6のウェーブレット平面551に示すように、4つのサブバンドHH1,HL1,LH1,LL1に分解される。分解レベル1で得られたサブバンドLL1は、分解レベル2において(図7のウェーブレット平面552を参照)、さらに4つのサブバンドHH2,HL2,LH2,LL2に分解される。分解レベル2で得られたサブバンドLL2は、分解レベル3において(図8のウェーブレット平面553を参照)、さらに4つのサブバンドHH3,HL3,LH3,LL3に分解される。
2次元のウェーブレット変換に関する表記について、例えばHL1は、分解レベル1における水平方向の高域成分Hと垂直方向の低域成分Lとからなるサブバンドである。その表記法はXYmと一般化される(XおよびYはそれぞれH,Lのいずれか。mは1以上の整数)。すなわち、分解レベルmにおける水平方向のサブバンドXと垂直方向のサブバンドYとからなるサブバンドはXYmと表記される。また、分解レベルを特定しない場合には、水平方向のサブバンドXと垂直方向のサブバンドYとからなるサブバンドはXYと表記される。
なお以下では、サブバンドLL1,LL2,・・・のそれぞれをLLサブバンドまたはLL成分と略称する場合がある。また、サブバンドLL1をLL1サブバンドまたはLL1成分と呼ぶ場合がある。他のサブバンドについても同様である。
ここで、ウェーブレット平面(図6〜8参照)は、ウェーブレット変換の演算結果データを、原画像(ウェーブレット変換が行われていない状態の画像)中の画素の並びに対応付けて2次元配列したデータ群である。例えばウェーブレット平面においてサブバンドLL1として示されている領域内には、原画像中のある画素を注目画素として得られた演算結果データ(LL成分)が、原画像中での当該注目画素の位置に対応して並べられている。ウェーブレット係数は画素に対応する値であると言える。
なおウェーブレット平面は、ウェーブレット空間またはウェーブレット領域と呼ばれる場合もある。また、2次元配列された係数を画素値に見立てて、ウェーブレット平面をウェーブレット画像と呼び、サブバンドをサブバンド画像と呼び、XYmサブバンドをXYmサブバンド画像と呼び、XYサブバンドをXYサブバンド画像と呼ぶ場合もある。
分解レベル1において、サブバンドLL1は画像の本質的な情報に対応する。サブバンドLL1によれば、分解前の画像の1/4のサイズの画像(換言すれば、分解前の画像に対する縮小比が1/2の画像)を提供可能である。サブバンドHL1は垂直方向に伸びるエッジの情報に対応し、サブバンドLH1は水平方向に伸びるエッジの情報に対応する。サブバンドHHは斜め方向に伸びるエッジの情報に対応する。これらの点は他の分解レベルについても同様である。例えば、分解レベル2のサブバンドLL2,HL2,LH2,HH2は、分解前のサブバンドLL1を原画像と見なした場合におけるサブバンドLL1,HL1,LH1,HH1とそれぞれ同様の関係にある。
以下では、ウェーブレット変換が行われていない状態の原画像を分解レベル0に対応させることにより、当該原画像を分解レベル0のウェーブレット画像または分解レベル0のウェーブレット平面と表現する場合もある。また、分解回数が同じサブバンドにおいて、サブバンドLLを最低域のサブバンドと呼ぶことにする。
図9は主画像500A(原画像)の一例を示す図である。図10は、図9に示される主画像500Aを示す主画像データ500をウェーブレット変換して得られる、分解レベル3のウェーブレット平面553を模式的な画像として示す図である。図9に示される主画像500Aには、移動中の人が写る画像500aと、木が写る画像500bとが含まれている。図10に示されるように、ウェーブレット平面上の各サブバンドは、画像500aを示す部分553aと、画像500bを示す部分553bとを含んでいる。
ウェーブレット平面553上の各サブバンドは、主画像500Aを示すデータであると言える。サブバンド分割回数が3回のサブバンドLL3,HL3,LH3,HH3が示す主画像500Aの解像度は、サブバンド分割回数が2回のサブバンドHL2,LH2,HH2が示す主画像の解像度よりも低いと言える。また、サブバンド分割回数が2回のサブバンドHL2,LH2,HH2が示す主画像500Aの解像度は、サブバンド分割回数が1回のサブバンドHL1,LH1,HH1が示す主画像500Aの解像度よりも低いと言える。そして、サブバンド分割回数が1回のサブバンドHL1,LH1,HH1が示す主画像500Aの解像度は、サブバンド分割されていない主画像500Aの解像度よりも低いと言える。
このように、第1ウェーブレット係数データは、解像度が互いに異なる主画像を示す複数階層データで構成されていると言える。
なおMallat型では、上記のように、LL成分を水平方向と垂直方向のそれぞれについて同じ回数で、再帰的に分解する。また後述のように、Mallat型では分解とは逆の手順でサブバンドが合成される。ただし、水平方向と垂直方向のそれぞれのL成分とH成分を同じ回数で、分解および合成する必要はない。すなわち、Mallat型とは異なる型式のウェーブレット変換を用いてもよい。また、分解回数が同じサブバンドのウェーブレット平面上の大きさは同じでなくもよい。
また、原画像及びウェーブレット画像において左上端を座標系の原点に採り、原点を0として扱い、ウェーブレット変換のL成分出力を偶数として扱い、H成分出力を奇数として扱う例を挙げる。ただし、L成分出力を奇数として扱い、H成分出力を偶数として扱うことも可能である。なお、ウェーブレット平面(図6〜8参照)は、ウェーブレット変換の偶数番目および奇数番目の出力を、サブバンドごとに再配置した概念的な平面である。
<量子化部>
量子化部245は、ウェーブレット変換部244から出力される第1ウェーブレット係数データに対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第1量子化ウェーブレット係数データを生成する。第1量子化ウェーブレット係数データは、量子化された階層化データである。量子化ステップサイズは、例えば目標画質に応じて設定される。量子化ステップサイズを変更することによって、第1量子化ウェーブレット係数データが示す画像の解像度を調整することができる。
量子化部245は、ウェーブレット変換部244から出力される第1ウェーブレット係数データに対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第1量子化ウェーブレット係数データを生成する。第1量子化ウェーブレット係数データは、量子化された階層化データである。量子化ステップサイズは、例えば目標画質に応じて設定される。量子化ステップサイズを変更することによって、第1量子化ウェーブレット係数データが示す画像の解像度を調整することができる。
第1量子化ウェーブレット係数データは、第1ウェーブレット係数データと同様のデータ構造を有している。このため、第1量子化ウェーブレット係数データによれば、第1ウェーブレット係数データと同様に、ウェーブレット画像が提供される。第1量子化ウェーブレット係数データによって提供されるウェーブレット画像を、量子化ウェーブレット画像と呼ぶ場合もある。
<符号化部>
符号化部246は、量子化部245によって生成された第1量子化ウェーブレット係数データ(階層化データ)のうち、特定情報506によって特定される送信対象データの圧縮符号化を行って画像符号化データ504を生成する。符号化部246では、例えば、ビットプレーン符号化を行うEBCOT(Embedded Block Coding with Optimized Truncation)に従ってエントロピー符号化が行われる。本例では、符号化部246は、係数ビットモデリング部247及びエントロピー符号化部248を備える。
符号化部246は、量子化部245によって生成された第1量子化ウェーブレット係数データ(階層化データ)のうち、特定情報506によって特定される送信対象データの圧縮符号化を行って画像符号化データ504を生成する。符号化部246では、例えば、ビットプレーン符号化を行うEBCOT(Embedded Block Coding with Optimized Truncation)に従ってエントロピー符号化が行われる。本例では、符号化部246は、係数ビットモデリング部247及びエントロピー符号化部248を備える。
係数ビットモデリング部247は、第1量子化ウェーブレット係数データに対してビットモデリング処理を行う。具体的には、係数ビットモデリング部247は、第1量子化ウェーブレット係数データに含まれる各サブバンドを、32×32あるいは64×64程度の「コードブロック」と呼ばれる領域に分割する。図11は、量子化ウェーブレット画像563の各サブバンドが複数のコードブロック570に分割されている様子の一例を示す図である。図11に示されるように、サブバンドは、その左上端を基準にして、複数のコードブロック570に分割される。
係数ビットモデリング部247は、各サブバンドを複数のコードブロックに分割すると、決定部26からの特定情報506から送信対象のコードブロックを特定する。そして係数ビットモデリング部247は、特定したコードブロックを、各ビットの2次元配列で構成される複数のビットプレーンに分解する。以後、特定情報506によって特定される送信対象のコードブロックを送信対象コードブロックと呼ぶことがある。
図12は、コードブロック570を構成するn枚のビットプレーン5710〜571n−1(n:自然数)の一例を示す図である。係数ビットモデリング部247は、送信対象コードブロック570中の各量子化ウェーブレット係数の二進値を構成する各ビットを別々のビットプレーンに割り当てる。図12に示されるように、コードブロック570中の1点の量子化ウェーブレット係数の2進値572が“011・・・0”である場合、この2進値572を構成する複数のビットは、それぞれ、ビットプレーン571n−1,571n−2,571n−3,・・・,5710に属するように分解される。図中のビットプレーン571n−1は、量子化ウェーブレット係数の最上位ビット(MSB)のみからなる最上位ビットプレーンを表し、ビットプレーン5710は、その最下位ビット(LSB)のみからなる最下位ビットプレーンを表している。
さらに、係数ビットモデリング部247は、各ビットプレーン571k(k=0〜n−1)内の各ビットのコンテクスト(context)判定を行い、図13に示すように、各ビットの有意性(判定結果)に応じて、ビットプレーン571kを3種類の符号化パス、すなわち、CLパス(CLeanup pass)、MRパス(Magnitude Refinement pass)及びSIGパス(SIGnificance propagation pass)に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、JPEG2000の規格で定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないとわかっている状態のことを意味する。また「有意で無い」とは、係数がゼロであるか、あるいはゼロである可能性がある状態のことを意味する。
係数ビットモデリング部247は、SIGパス(有意な係数が周囲にある有意でない係数の符号化パス)、MRパス(有意な係数の符号化パス)及びCLパス(SIGパス及びMRパスに該当しない残りの係数の符号化パス)の3種類の符号化パスでビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを4ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数(0ビット)のみで構成されるビットプレーンの数は零ビットプレーン情報として、ビットストリーム生成部249が生成する後述のパケットヘッダに含められる。ビットプレーン符号化では、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはCLパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記3種類の符号化パスで順次符号化される。
エントロピー符号化部248は、係数ビットモデリング部247で生成されたデータに対してエントロピー符号化を行って、画像符号化データ504を生成する。画像符号化データ504は、圧縮符号化された送信対象コードブロックで構成されている。エントロピー符号化としては、例えば算術符号化が利用される。
なお符号化部246では、エントロピー符号化部248によって生成された画像符号化データ504に対してレート制御を行って、符号量を制御してもよい。以後、画像符号化データ504に含まれるコードブロックを符号化ブロックと呼ぶことがある。
本例では、画像符号化データ504に含まれる各符号化ブロックには、その符号化ブロックについての量子化ウェーブレット画像での位置を示すブロック位置情報が付随している。符号化ブロックに付随するブロック位置情報は、当該符号化ブロックについてのウェーブレット画像での位置を示しているとも言える。
<ビットストリーム生成部>
ビットストリーム生成部249は、画像符号化データ504を含むビットストリーム505を生成する。具体的には、ビットストリーム生成部249は、画像符号化データ504をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム505を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報(コードブロックの圧縮データ長)が含まれている。パケットヘッダは符号化されてビットストリーム505に含められる。
ビットストリーム生成部249は、画像符号化データ504を含むビットストリーム505を生成する。具体的には、ビットストリーム生成部249は、画像符号化データ504をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム505を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報(コードブロックの圧縮データ長)が含まれている。パケットヘッダは符号化されてビットストリーム505に含められる。
<マスク生成部の詳細説明>
図14はIoT端末2のマスク生成部23の構成の一例を示す図である。図14に示されるように、マスク生成部23は、原マスク生成部230及びマスク展開部231を備えている。
図14はIoT端末2のマスク生成部23の構成の一例を示す図である。図14に示されるように、マスク生成部23は、原マスク生成部230及びマスク展開部231を備えている。
原マスク生成部230は、縮小画像メモリ22a内の縮小画像データ501に基づいて、主画像においてROIと非ROIとを判別するための原マスクのデータである原マスクデータを生成する。
原マスク生成部230は、各種のマスク生成技術によって構成可能である。例えば動画中の動体を検出する技術が知られており、この動体検出技術を利用すれば、主画像中の、動体が写る部分をROIに設定したマスクを生成できる。また、デジタルカメラによって撮影された静止画を対象として、グラフカットによって、画像全体から前景画像と背景画像とを分離する技術が知られている。この画像分離技術を利用すれば、原マスク生成部230は、主画像に含まれる前景画像をROIに設定したマスクを生成できる。
図15は原マスク580の一例を示す図である。図15に示される原マスク580は、上述の図9に示される主画像500Aにおいて、移動中の人が写る画像500aをROIに設定し、それ以外の部分を非ROIに設定した場合の原マスクである。
原マスク580は、主画像500A中の各画素がROIと非ROIのどちらに属するのかを示す画像として理解できる。原マスク580は、主画像500A中のROI及び非ROIにそれぞれ対応するROI対応部分580a及び非ROI対応部分580bを有している。図15において、白抜き部分がROI対応部分580aであり、黒塗り部分が非ROI対応部分580bである。
マスク展開部231はマスク展開処理を行う。具体的には、マスク展開部231は、原マスク580のROI対応部分580aおよび非ROI対応部分580bを、ウェーブレット変換部244で生成される第1ウェーブレット係数データに含まれる各サブバンド用に(換言すれば、第1ウェーブレット係数データに対応するウェーブレット画像に含まれる各サブバンド用に)展開する。このようなマスク展開処理によって、第1ウェーブレット係数データ用のマスクである展開マスクが生成される。展開マスクは、第1ウェーブレット係数データについて、ROIに関与する係数(以後、ROI係数と呼ぶ)と、非ROIに関与する係数(以後、非ROI係数と呼ぶ)とを判別するためのマスクである。
図16〜18に、図15の原マスク580を分解レベル1,2,3のウェーブレット平面551〜553(図6〜8参照)に展開した展開マスク581,582,583をそれぞれ示す。展開マスク581,582,583において、ROI対応部分581a,582a,583aが白抜きで図示され、非ROI対応部分581b,582b,583bが黒塗りで図示されている。
ここで、展開マスクは、ウェーブレット画像に含まれる各サブバンド用のマスクの集合体として把握できる。すなわち、サブバンドごとのマスクをサブバンドマスクと呼ぶことにすると、展開マスクはサブバンドマスクの集合体として把握できる。例えば、展開マスクのうちでLLサブバンド用の部分をLLサブバンドマスクと呼ぶことにする。他のサブバンドに対応する部分についても同様とする。展開マスクの分解レベルは、当該展開マスクのデータに付随するものとする。
図19はマスク展開処理を示すフローチャートである。図19に示されるように、マスク展開処理では、マスクの分解レベルを1段階上げる処理(以下、レベル増加単位処理とも呼ぶ)が行われる(ステップs2参照)。第1ウェーブレット係数データの分解レベルが2以上である場合、その分解レベルのマスクが得られるまで、レベル増加単位処理が繰り返される(ステップs1参照)。なお、図19中のステップs1において、第1ウェーブレット係数データの分解レベルをg1と表記している。
レベル増加単位処理では、処理対象とする現在のマスクを、現在のマスクが適用される現在のウェーブレット平面よりも分解レベルが1段階高い新ウェーブレット平面用の新マスクに変換する。なお、現在のマスクが原マスクである場合、現在のウェーブレット平面はウェーブレット変換前の原画像が対応する。上記のように原画像を分解レベル0のウェーブレット平面と表現することによって、現在のウェーブレット平面には原画像も含まれることが理解できる。
レベル増加単位処理の繰り返しは、再帰的に行われる。すなわち、新マスクを次の現在のマスクに設定することによって、レベル増加単位処理が再度行われる。また、レベル増加単位処理の繰り返しは、ウェーブレット変換の方式に従って行われる。例えば上記のMallat型の方式が採用されている場合(図6〜図8参照)、ウェーブレット平面は最低域のサブバンドLLのみを再帰的に分解していく。このため、マスクの展開もサブバンドLLに対応する部分に対してのみ再帰的に行う。
レベル増加単位処理は所定のマスク展開条件に基づいて行われ、マスク展開条件はウェーブレット変換のフィルタのタップ数に依存する。
例えばウェーブレット変換の演算処理において5×3フィルタが使用される場合、マスク展開条件は、図20に基づいた2つの条件(第1展開条件と第2展開条件と呼ぶことにする)を含む。5×3フィルタでは、分解側のローパスフィルタが5タップであり、分解側のハイパスフィルタが3タップである。
第1展開条件:現在のウェーブレット平面上の偶数番目(pを整数として、2p番目と表記できる)のデータが現在のマスクによってROIに対応付けられている場合、新ウェーブレット平面において低域成分(ローパスフィルタの側の出力データに対応する)のp番目のデータがROIに対応付けられるように、新マスクを形成する。それと共に、新ウェーブレット平面において高域成分(ハイパスフィルタの側の出力データに対応する)の{p−1}番目およびp番目のデータがROIに対応付けられるように、新マスクを形成する。
第2展開条件:現在のウェーブレット平面上の{2p+1}番目のデータが現在のマスクによってROIに対応付けられているとき、新ウェーブレット平面において低域成分のp番目および{p+1}番目ならびに高域成分の{p−1}番目から{p+1}番目のデータがROIに対応付けられるように、新マスクを形成する。
また、ウェーブレット変換の演算処理においてDaubechies9×7フィルタが用いられる場合、マスク展開条件は、図21に基づいた2つの条件(第3展開条件と第4展開条件と呼ぶことにする)を含む。Daubechies9×7フィルタでは、分解側のローパスフィルタが9タップであり、分解側のハイパスフィルタが7タップである。
第3展開条件:現在のウェーブレット平面上の2p番目のデータが現在のマスクによってROIに対応付けられているとき、新ウェーブレット平面において低域成分の{p−1}番目から{p+1}番目および高域成分の{p−2}番目から{p+1}番目のデータがROIに対応付けられるように、新マスクを形成する。
第4展開条件:現在のウェーブレット平面上の{2p+1}番目のデータが現在のマスクによってROIに対応付けられているとき、新ウェーブレット平面において低域成分の{p−1}番目から{p+2}番目および高域成分の{p−2}番目から{p+2}番目のデータがROIに対応付けられるように、新マスクを形成する。
マスク展開部231は、分解レベルが最も高いウェーブレット平面に対応する展開マスク(以後、最大展開マスクと呼ぶことがある)のデータをマスクデータ502として出力する。第1ウェーブレット係数データの分解レベルが3の場合、マスク展開部231は、分解レベル3の展開マスク583(図18参照)を生成し、当該展開マスク583のデータ(最大展開マスクのデータ)をマスクデータ502として出力する。最大展開マスクのデータは、量子化部245で生成される第1量子化ウェーブレット係数データについてROI係数と非ROI係数とを判別するためのマスクであると言える。量子化ウェーブレット画像において、最大展開マスクのROI対応部分と同じ位置にある値(係数)がROI係数となり、最大展開マスクの非ROI対応部分と同じ位置にある値(係数)が非ROI係数となる。
なおマスク生成部23は、主画像データ500に基づいてマスクデータ502を生成してもよい。上記のように、縮小画像データ501に基づいてマスクデータ502が生成される場合には、IoT端末2の処理を簡素化することができ、その結果、IoT端末2の消費電力を低減することができる。
<決定部の詳細説明>
IoT端末2の決定部26は、ゲートウェイ3からの指示情報518と、マスク生成部23で生成されるマスクデータ502とに基づいて、送信対象コードブロックを決定する。そして、決定部26は、決定した送信対象コードブロックを特定するための特定情報506を画像符号化部24bに出力する。これにより、IoT端末2からは、送信対象コードブロックを圧縮符号化して得られる画像符号化データ504が、ゲートウェイ3に送信される。
IoT端末2の決定部26は、ゲートウェイ3からの指示情報518と、マスク生成部23で生成されるマスクデータ502とに基づいて、送信対象コードブロックを決定する。そして、決定部26は、決定した送信対象コードブロックを特定するための特定情報506を画像符号化部24bに出力する。これにより、IoT端末2からは、送信対象コードブロックを圧縮符号化して得られる画像符号化データ504が、ゲートウェイ3に送信される。
ここで、ゲートウェイ3は、指示情報518を用いて、決定部26が送信対象コードブロックを決定する際にマスクデータ502を使用するか否かを指示することもできる。ゲートウェイ3は、送信対象コードブロックの決定にマスクデータ502を使用することを指示する場合には、マスクデータ502の使用を指示するための使用可情報を指示情報518に含める。一方で、ゲートウェイ3は、送信対象コードブロックの決定にマスクデータ502を使用しないことを指示する場合には、マスクデータ502の不使用を指示するための使用不可情報を指示情報518に含める。
またゲートウェイ3は、指示情報518を用いて、IoT端末2が送信すべきデータを自由に指定することができる。例えば、ゲートウェイ3は、IoT端末2が送信すべきデータをコードブロック単位で指定することができる。またゲートウェイ3は、IoT端末2が送信すべきデータをサブバンド単位で指定することができる。例えば、ゲートウェイ3は、IoT端末2が送信すべきデータとして、量子化ウェーブレット係数に含まれるサブバンドLL3のデータを指定することができる。またゲートウェイ3は、IoT端末2が送信すべきデータとして、例えば、量子化ウェーブレット係数に含まれるサブバンドHH3,HL3のデータを指定することができる。またゲートウェイ3は、IoT端末2が送信すべきデータを分解レベル単位で指定することもできる。例えば、ゲートウェイ3は、IoT端末2が送信すべきデータとして、量子化ウェーブレット係数に含まれる分解レベル2のデータを指定することができる。この場合には、量子化ウェーブレット係数に含まれるサブバンドHH2,LH2,HL2のデータが指定される。またゲートウェイ3は、IoT端末2が送信すべきデータとして、例えば、量子化ウェーブレット係数に含まれる分解レベル1,2のデータを指定することができる。この場合には、量子化ウェーブレット係数に含まれるサブバンドHH1,LH1,HL1,HH2,LH2,HL2のデータが指定される。以後、ゲートウェイ3が指示情報518で指定するデータを指定データと呼ぶことがある。指定データは、指示情報518によってIoT端末2に指示される、IoT端末2が送信すべきデータであると言える。
決定部26は、ゲートウェイ3からの指示情報518に使用可情報が含まれている場合には、当該指示情報518で指定される指定データのうち、マスクデータ502が示す最大展開マスクのROI対応部分に対応するコードブロック570を送信対象データとする。一方で、決定部26は、ゲートウェイ3からの指示情報518に使用不可情報が含まれている場合には、当該指示情報518で指定される指定データをそのまま送信対象データとする。
図22は、上述の図18に示される最大展開マスク583とコードブロック570との対応関係を示す図である。例えば、指示情報518が使用不可情報を含み、当該指示情報518によって指定される指定データがサブバンドLL3のデータである場合、決定部26は、サブバンドLL3のすべてのコードブロック570a〜570iを送信対象コードブロックとして決定する。これにより、コードブロック570a〜570iが圧縮符号化されてゲートウェイ3に送信される。
一方で、指示情報518が使用可情報を含み、当該指示情報518によって指定される指定データがサブバンドLL3のデータである場合、決定部26は、サブバンドLL3のコードブロック570a〜570iのうち、最大展開マスク583のLL3サブバンドマスク583LL3に含まれるROI対応部分583aに対応する4つのコードブロック570d,570e,570g,570hを送信対象コードブロックに決定する。これにより、コードブロック570d,570e,570g,570hが圧縮符号化されてゲートウェイ3に送信される。決定部26は、図22のように、最大展開マスク583に対して各コードブロック570を重ねた場合に、LL3サブバンドマスク583LL3のROI対応部分583aの少なくとも一部を含むコードブロック570を、当該ROI対応部分583aに対応するコードブロック570とする。
<ゲートウェイの詳細説明>
<画像復号化部の詳細説明>
図23はゲートウェイ3の画像復号化部31bの構成の一例を示す図である。図23に示されるように、画像復号化部31bは、ビットストリーム解析部310、復号化部311及び逆量子化部314を備えている。
<画像復号化部の詳細説明>
図23はゲートウェイ3の画像復号化部31bの構成の一例を示す図である。図23に示されるように、画像復号化部31bは、ビットストリーム解析部310、復号化部311及び逆量子化部314を備えている。
ビットストリーム解析部310は、IoT端末2からのビットストリーム505を解析して、当該ビットストリーム505から画像符号化データ504及び付加情報を抽出する。ビットストリーム解析部310は、抽出した画像符号化データ504を復号化部311及びデータ処理部32に出力する。またビットストリーム解析部310は、抽出した付加情報に含まれる符号化されたパケットヘッダを復号化する。付加情報は、復号化部311及び逆量子化部314等で使用される。
復号化部311は画像符号化データ504に対して所定の伸張復号化を行う。所定の伸張復号化は、符号量制御を除いて、基本的には、図5の符号化部246における圧縮符号化とは逆の処理にあたる。所定の伸張復号化によって、画像符号化データ504から、量子化ウェーブレット係数が生成される。本例では、復号化部311は、エントロピー復号化部312及び係数ビットモデリング部313を備えている。
エントロピー復号化部312は、画像符号化データ504に対してエントロピー復号化を行って、ビットデータを生成する。エントロピー復号化は、図5のエントロピー符号化部248におけるエントロピー符号化とは逆の処理にあたる。
係数ビットモデリング部313は、エントロピー復号化部312で生成されたビットデータに対してビットモデリング処理を行って、量子化ウェーブレット係数を復元する。ここでのビットモデリング処理は、図5の係数ビットモデリング部247におけるそれとは逆の処理にあたる。係数ビットモデリング部313は、生成した量子化ウェーブレット係数を逆量子化部314に入力する。以後、係数ビットモデリング部313で生成されるデータ(量子化ウェーブレット係数の群)を、第2量子化ウェーブレット係数データと呼ぶことがある。第2量子化ウェーブレット係数データは、IoT端末2で決定された送信対象コードブロックで構成されている。
逆量子化部314は、入力される第2量子化ウェーブレット係数データに対して逆量子化を行う。ここでの逆量子化は、図5の量子化部245における量子化とは逆の処理にあたる。逆量子化によって、第2量子化ウェーブレット係数データは、第2ウェーブレット係数データに変換される。逆量子化部314は、生成した第2ウェーブレット係数データをWT復号化データ511として出力する。WT復号化データ511は、逆量子化された送信対象コードブロックで構成されている。以後、WT復号化データ511に含まれるコードブロックをWT復号化ブロックと呼ぶことがある。本例では、画像符号化データ504と同様に、WT復号化データ511に含まれる各WT復号化ブロックには、当該WT復号化ブロックについてのウェーブレット画像での位置を示すブロック位置情報が付随している。
<データ処理部の詳細説明>
図24はデータ処理部32の構成の一例を示す図である。図24に示されるように、データ処理部32は、認識用データ生成部320、第1処理部321、第2処理部322、第1メモリ323及び第2メモリ324を備えている。第1メモリ323は、第1処理部321によってデータの読み出し及び書き込みが行われる。第2メモリ324は、画像復号化部31bから出力される画像符号化データ504を記憶する。第2メモリ324内のデータは第2処理部322によって読み出される。
図24はデータ処理部32の構成の一例を示す図である。図24に示されるように、データ処理部32は、認識用データ生成部320、第1処理部321、第2処理部322、第1メモリ323及び第2メモリ324を備えている。第1メモリ323は、第1処理部321によってデータの読み出し及び書き込みが行われる。第2メモリ324は、画像復号化部31bから出力される画像符号化データ504を記憶する。第2メモリ324内のデータは第2処理部322によって読み出される。
<認識用データ生成部>
図25は認識用データ生成部320の構成の一例を示す図である。図25に示されるように、認識用データ生成部320は、逆ウェーブレット変換部3201、色空間変換部3202及びDCレベルシフト部3203を備えている。
図25は認識用データ生成部320の構成の一例を示す図である。図25に示されるように、認識用データ生成部320は、逆ウェーブレット変換部3201、色空間変換部3202及びDCレベルシフト部3203を備えている。
逆ウェーブレット変換部3201は、ウェーブレット係数から成る入力データに対して逆ウェーブレット変換(詳細には逆離散ウェーブレット変換)を行う。
ここで、認識用データ生成部320には、第1処理部321で生成される逆変換非対象データ521及び逆変換対象データ522が入力される。逆変換非対象データ521は、逆ウェーブレット変換部3201で逆ウェーブレット変換されないデータである。逆変換非対象データ521は、例えば、1つのサブバンドのウェーブレット係数だけで構成される。逆変換非対象データ521は、例えば、LL3サブバンドのウェーブレット係数だけで構成される。また逆変換非対象データ521は、例えば、HH3サブバンドのウェーブレット係数で構成される。また逆変換非対象データ521は、例えば、HL1サブバンドのウェーブレット係数で構成される。逆変換非対象データ521は、逆ウェーブレット変換できないデータであると言える。
一方で、逆変換対象データ522は、逆ウェーブレット変換可能なデータであって、逆ウェーブレット変換部3201で逆ウェーブレット変換される。逆変換対象データ522は、例えば、同じ分解レベルのLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドのウェーブレット係数だけで構成される。また逆変換対象データ522は、例えば、同じ分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドのウェーブレット係数と、それと同じ分解レベルのLLバンドを復元可能な、それよりも下の分解レベルの複数のサブバンドのウェーブレット係数とだけで構成される。
逆ウェーブレット変換部3201は、逆変換対象データ522に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが1でない場合には、その最も低い分解レベルよりも一つ下の分解レベルのLLサブバンドのウェーブレット係数が得られるように、逆変換対象データ522に対して逆ウェーブレット変換を行う。一方で、逆ウェーブレット変換部3201は、逆変換対象データ522に含まれるウェーブレット係数の分解レベルのうちの最も低い分解レベルが1である場合には、原画の画素値が得られるように、逆変換対象データ522に対して逆ウェーブレット変換を行う。
例えば、逆変換対象データ522が、分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数で構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、分解レベル2のLL2サブバンドのウェーブレット係数が得られる。
また、逆変換対象データ522が、分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドのウェーブレット係数と、分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、分解レベル1のLL1サブバンドのウェーブレット係数が得られる。分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドは、分解レベル2のLL2サブバンドを復元可能なサブバンドである。
また、逆変換対象データ522が、分解レベル1のLH1サブバンド、HL1サブバンド及びHH1サブバンドのウェーブレット係数と、分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドと分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのウェーブレット係数とで構成されている場合を考える。この場合には、逆ウェーブレット変換部3201では、原画(主画像)の画素値が得られる。分解レベル2のLH2サブバンド、HL2サブバンド及びHH2サブバンドと分解レベル3のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドは、分解レベル1のLL1サブバンドを復元可能なサブバンドである。
逆ウェーブレット変換部3201で生成されるLLサブバンドのウェーブレット係数は、LLデータ520として第1処理部321に出力される。つまり、逆ウェーブレット変換部3201で生成されるLL3サブバンドのウェーブレット係数、LL2サブバンドのウェーブレット係数及びLL1サブバンドのウェーブレット係数は、それぞれLLデータ520として第1処理部321に入力される。
ここで、ゲートウェイ3では、逆ウェーブレット変換部3201から出力されるウェーブレット係数が画素値として取り扱われる。したがって、逆ウェーブレット変換部3201からは、複数の画素値を含む画像データが出力されると言える。また、逆変換非対象データ521に含まれるウェーブレット係数も画素値として取り扱われる。したがって、逆変換非対象データ521は一種の画像データであると言える。
色空間変換部3202は、逆ウェーブレット変換部3201から出力される画像データに対して、図5の色空間変換部242での処理と逆の処理を行う。また色空間変換部3202は、認識用データ生成部320に入力される逆変換非対象データ521(画像データ)に対して、色空間変換部242での処理と逆の処理を行う。DCレベルシフト部3203は、色空間変換部3202から出力される画像データのDCレベルを必要に応じて変換する。DCレベルシフト部3203から出力される画像データが認識用データ512となる。
以上の説明から理解できるように、認識用データ512は、復元された、主画像データ500の少なくとも一部、あるいは復元された、サブバンドの少なくとも一部となる。よって、認識用データ512が示す認識対象画像は、主画像(サブバンド分割されていない主画像)の少なくとも一部、あるいはサブバンド画像の少なくとも一部を示す。
<第1処理部>
第1処理部321は、データ書き込み処理、マスク生成処理、入力データ生成処理及び指示情報生成処理を行う。
第1処理部321は、データ書き込み処理、マスク生成処理、入力データ生成処理及び指示情報生成処理を行う。
<データ書き込み処理>
第1処理部321は、画像復号化部31bから出力されるWT復号化データ511(WT復号化ブロック)を第1メモリ323に記憶する。このとき、WT復号化データ511に含まれる各WT復号化ブロックに付随するブロック位置情報も第1メモリ323に記憶される。また第1処理部321は、認識用データ生成部320から出力されるLLデータ520を第1メモリ323に記憶する。
第1処理部321は、画像復号化部31bから出力されるWT復号化データ511(WT復号化ブロック)を第1メモリ323に記憶する。このとき、WT復号化データ511に含まれる各WT復号化ブロックに付随するブロック位置情報も第1メモリ323に記憶される。また第1処理部321は、認識用データ生成部320から出力されるLLデータ520を第1メモリ323に記憶する。
<マスク生成処理>
第1処理部321は、画像認識部33から出力される認識結果情報513に基づいてマスクデータ515を生成する。
第1処理部321は、画像認識部33から出力される認識結果情報513に基づいてマスクデータ515を生成する。
ここで、画像認識部33は、認識用データ512が示す認識対象画像から検出対象物を検出すると、検出対象物が検出されたことを示す検出情報を含む認識結果情報513を出力する。一方、画像認識部33は、認識対象画像から検出対象物が検出できなかったときには、検出対象物が検出されなかったことを示す未検出情報を含む認識結果情報513を出力する。
第1処理部321は、検出情報を含む認識結果情報513を受け取ると、主画像において、画像認識部33で検出された検出対象物が写る検出対象物画像を特定する。第1処理部321は、第1メモリ323内のブロック位置情報に基づいて検出対象物画像を特定することができる。第1処理部321は、主画像において、特定した検出対象物画像をROIとし、それ以外の領域を非ROIとする。画像認識部33が、主画像から複数の検出対象物を検出した場合には、主画像において、当該複数の検出対象物がそれぞれ映る複数の検出対象物画像がROIとされる。以後、第1処理部321で設定されるROI及び非ROIを「ゲートウェイ側ROI」及び「ゲートウェイ側非ROI」と呼ぶことがある。
第1処理部321は、主画像においてゲートウェイ側ROIとゲートウェイ側非ROIとを判別するための原マスクを生成する。第1処理部321は、生成した原マスクから、IoT端末2で生成される上述の最大展開マスクと同様の、最大分解レベルのウェーブレット平面に対応する使用マスク(最大展開マスク)を生成する。使用マスクは、IoT端末2のマスク生成部23で実行されるマスク展開処理を使用することによって生成することができる。また第1処理部321は、マスク展開処理を行わずに、マスク復号化データ510が示すマスクを使用して使用マスクを生成することができる。第1処理部321は、使用マスクのデータをマスクデータ515としてトランスコーダ34に入力する。マスクデータ515が示す使用マスクは、主画像全体をウェーブレット変換して得られるウェーブレット平面においてROI係数と非ROI係数とを判別するためのマスクであると言える。なお、使用マスクは、主画像の一部だけをウェーブレット変換して得られるウェーブレット平面においてROI係数と非ROI係数とを判別するためのマスクであってもよい。
上記の例では、第1処理部321は、画像認識処理で検出された検出対象物の画像をROIとしたが、主画像のうちの他の部分をROIとすることもできる。第1処理部321は、主画像においてROIを自由に設定することができる。例えば、第1処理部321は、主画像において、クラウドサーバ5が指定する部分をROIとすることもできる。
<入力データ生成処理>
第1処理部321は、第1メモリ323内のデータを使用して、認識用データ生成部320に入力される入力データである逆変換非対象データ521及び逆変換対象データ522を生成する。第1処理部321は、認識対象画像をどのような画像にするかを決定し、それに応じて逆変換非対象データ521あるいは逆変換対象データ522を生成する。第1処理部321は、例えば、LL3サブバンド画像全体を認識対象画像とする場合には、LL3サブバンドで構成される逆変換非対象データ521を生成して認識用データ生成部320に入力する。また第1処理部321は、LL2サブバンド画像全体を認識対象画像とする場合には、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドで構成される逆変換対象データ522を生成して認識用データ生成部320に入力する。認識対象画像をどのような画像にするかについては、過去の認識結果情報513、検出対象物の種類及びIoT端末2のカメラ20の撮影範囲等に基づいて決定される。
第1処理部321は、第1メモリ323内のデータを使用して、認識用データ生成部320に入力される入力データである逆変換非対象データ521及び逆変換対象データ522を生成する。第1処理部321は、認識対象画像をどのような画像にするかを決定し、それに応じて逆変換非対象データ521あるいは逆変換対象データ522を生成する。第1処理部321は、例えば、LL3サブバンド画像全体を認識対象画像とする場合には、LL3サブバンドで構成される逆変換非対象データ521を生成して認識用データ生成部320に入力する。また第1処理部321は、LL2サブバンド画像全体を認識対象画像とする場合には、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドで構成される逆変換対象データ522を生成して認識用データ生成部320に入力する。認識対象画像をどのような画像にするかについては、過去の認識結果情報513、検出対象物の種類及びIoT端末2のカメラ20の撮影範囲等に基づいて決定される。
<指示情報生成処理>
第1処理部321は、認識結果情報513等に基づいてIoT端末2が送信すべきデータを決定し、決定したデータ(指定データ)を送信することを指示するための指示情報518を生成する。このとき、第1処理部321は、指示情報518に、使用不可情報を含めるか、使用可情報を含めるかを決定する。そして、第1処理部321は、生成した指示情報518を送信部30bに入力する。
第1処理部321は、認識結果情報513等に基づいてIoT端末2が送信すべきデータを決定し、決定したデータ(指定データ)を送信することを指示するための指示情報518を生成する。このとき、第1処理部321は、指示情報518に、使用不可情報を含めるか、使用可情報を含めるかを決定する。そして、第1処理部321は、生成した指示情報518を送信部30bに入力する。
例えば、第1メモリ323内にLL3サブバンドが記憶されており、認識対象画像がLL3サブバンド画像である場合を考える。画像認識部33がLL3サブバンド画像に対して画像認識処理を行った結果、検出対象物が検出されてなかった場合、第1処理部321は、非検出情報を含む認識結果情報513を受け取る。認識結果情報513を受け取った第1処理部321は、次の認識対象画像を例えばLL2サブバンド画像にするために、IoT端末2が送信すべきデータを、LH3サブバンド、HL3サブバンド及びHH3サブバンドとする。そして、第1処理部321は、LH3サブバンド、HL3サブバンド及びHH3サブバンドを送信することを指示するための指示情報518を生成して送信部30bに入力する。これにより、指示情報518を受け取ったIoT端末2は、LH3サブバンド、HL3サブバンド及びHH3サブバンドを含む画像符号化データ504を送信する。画像符号化データ504を受け取ったゲートウェイ3では、第1処理部321が、LH3サブバンド、HL3サブバンド及びHH3サブバンドを第1メモリ323に記憶する。そして、第1処理部321は、第1メモリ323内のLL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドで構成される逆変換対象データ522を生成して認識用データ生成部320に入力する。認識用データ生成部320は、入力された逆変換対象データ522に対して逆ウェーブレット変換等を行って、LL2サブバンド画像を示す認識用データ512を生成する。これにより、認識対象画像がLL2サブバンド画像となる。よって、画像認識部33はLL2サブバンド画像に対して画像認識処理を行う。
なお上記の通り、マスク復号化データ510は、第1処理部321でのマスク生成処理で使用されることが可能であるが、ゲートウェイ3での他の処理で使用されてもよい。
<第2処理部>
第2処理部322は、第1メモリ323から読み出したデータに基づいて、トランスコーダ用復号化データ516を生成する。本例では、第1処理部321で生成されるマスクデータ515が主画像全体をウェーブレット変換して得られる最大分解レベルのウェーブレット平面に対応していることから、第2処理部322は、例えば、第1メモリ323から、当該最大分解レベルのウェーブレット平面を構成する複数のウェーブレット係数、つまり第1ウェーブレット係数データを読み出す。第1ウェーブレット係数データは主画像全体を示すデータである。そして第2処理部322は、読み出した第1ウェーブレット係数データをトランスコーダ用復号化データ516としてトランスコーダ34に出力する。
第2処理部322は、第1メモリ323から読み出したデータに基づいて、トランスコーダ用復号化データ516を生成する。本例では、第1処理部321で生成されるマスクデータ515が主画像全体をウェーブレット変換して得られる最大分解レベルのウェーブレット平面に対応していることから、第2処理部322は、例えば、第1メモリ323から、当該最大分解レベルのウェーブレット平面を構成する複数のウェーブレット係数、つまり第1ウェーブレット係数データを読み出す。第1ウェーブレット係数データは主画像全体を示すデータである。そして第2処理部322は、読み出した第1ウェーブレット係数データをトランスコーダ用復号化データ516としてトランスコーダ34に出力する。
なおマスクデータ515が、主画像の一部に対応するデータである場合には、当該一部を復元するための複数のウェーブレット係数を第1メモリ323から読み出して、読み出した複数のウェーブレット係数をトランスコーダ用復号化データ516としてもよい。
また第2処理部322は、第2メモリ324から読み出したデータに基づいて、トランスコーダ用符号化データ517を生成する。第2処理部322は、例えば、第2メモリ324から、最大分解レベルのウェーブレット平面を構成する複数の符号化ブロック、つまり符号化された第1量子化ウェーブレット係数データを読み出す。最大分解レベルのウェーブレット平面を構成する複数の符号化ブロックは、主画像全体を復元するための複数の符号化ブロックであると言える。そして第2処理部322は、読み出した複数の符号化ブロックをトランスコーダ用符号化データ517としてトランスコーダ34に出力する。
なお第2処理部322は、第2メモリ324から、主画像の一部を復元するための複数の符号化ブロックを読み出して、読み出した複数の符号化ブロックをトランスコーダ用符号化データ517としてもよい。
<画像認識部の詳細説明>
図26は画像認識部33の構成の一例を示す図である。図27は画像認識部33の動作を示す図である。図26に示されるように、画像認識部33は、前処理部330及び画像認識エンジン334を備える。前処理部330は、メモリ331、分離部332及び正規化部333を備える。
図26は画像認識部33の構成の一例を示す図である。図27は画像認識部33の動作を示す図である。図26に示されるように、画像認識部33は、前処理部330及び画像認識エンジン334を備える。前処理部330は、メモリ331、分離部332及び正規化部333を備える。
メモリ331は、データ処理部32からの認識用データ512を記憶する(図27の<データ記憶>を参照)。分離部332は、メモリ331内の認識用データ512が示す認識対象画像600から複数の部分画像601を選択する(図27の<選択>を参照)。図27の例では、各部分画像601は、少なくとも一つの他の部分画像601と重なっている。そして分離部332は、選択した複数の部分画像601を互いに分離する(図27の<分離>を参照)。正規化部333は、分離部332で分離された複数の部分画像601のそれぞれを正規化して、複数の正規化部分画像602を生成する(図27の<正規化>を参照)。正規化部333で生成された各正規化部分画像602を示すデータが画像認識エンジン334に入力される。
画像認識エンジン334は、前処理部330から入力されるデータに基づいて、各正規化部分画像602に対して画像認識処理を行う。画像認識エンジン334は、例えば、入力された複数の正規化部分画像602の少なくとも一つから検出対象物が検出されると、検出情報を含む認識結果情報513をデータ処理部32に入力する。一方で、画像認識エンジン334は、入力された複数の正規化部分画像602のすべてから検出対象物が検出されないときには、非検出情報を含む認識結果情報513をデータ処理部32に入力する。また画像認識エンジン334は、検出した検出対象物に関する対象物情報を含む認識結果情報514を生成して通信部35に入力する。例えば、検出対象物が人である場合、対象物情報には、例えば、検出された人の性別及び年齢等が含まれる。対象物情報に含まれる情報は、画像認識エンジンが画像認識によって特定できる情報に依存する。通信部35は、認識結果情報514を含むメタデータをクラウドサーバ5に送信する。なお、認識結果情報514は認識結果情報513と同じであってもよい。
画像認識エンジン334が正規化部分画像602から検出対象物を検出する方法としては、様々な方法が考えられる。例えば、画像認識エンジン334は、正規化部分画像602から、検出対象物の特徴を示す特徴量を抽出する。この特徴量としては、例えば、エッジ、カラー、Haar−like、HOG(Histogram of Oriented Gradients)あるいはLBP(Local Binary Pattern)などが考えられる。画像認識エンジン334は、特徴量を抽出すると、当該画像認識エンジン334が備える識別器に対して、抽出した特徴量を入力する。識別器は、入力される特徴量に基づいて、正規化部分画像602に検出対象物画像が存在するか否かを判定し、その判定結果を出力する。識別器としては、例えば、ニューラルネットワーク、SVM(Support Vector Machine)あるいはAdaboostが使用される。なお、画像認識エンジン334は、正規化部分画像602から複数種類の特徴量を抽出し、抽出した複数種類の特徴量に基づいて、正規化部分画像602に検出対象物画像が存在するか否かを判定してもよい。
また、画像認識部33は、正規化部分画像602から特徴量を抽出するのではなく、認識用データ512が示す認識対象画像600から特徴量を抽出してもよい。この場合には、例えば、画像認識部33は、抽出した特徴量に基づいて認識対象画像600から複数の部分画像601を選択し、選択した複数の部分画像601のそれぞれを正規化して、複数の正規化部分画像602を生成する。そして、画像認識部33は、認識対象画像600から抽出した特徴量において、各正規化部分画像602に対応する特徴量を特定し、特定した特徴量を識別器に入力する。
また画像認識エンジン334は、ディープラーニングのように、特徴量の抽出を行わずに検出対象物を検出することが可能な多層構造のニューラルネットワークを用いてもよい。
<トランスコーダの詳細説明>
図28はトランスコーダ34の一例を示す図である。図28に示されるように、トランスコーダ34は、量子化部340、符号化部341及びビットストリーム生成部344を備える。トランスコーダ34は、入力されるデータをウェーブレット変換せずにビットストリームに変換して通信部35に入力する。
図28はトランスコーダ34の一例を示す図である。図28に示されるように、トランスコーダ34は、量子化部340、符号化部341及びビットストリーム生成部344を備える。トランスコーダ34は、入力されるデータをウェーブレット変換せずにビットストリームに変換して通信部35に入力する。
量子化部340は、データ処理部32から出力される、複数のウェーブレット係数から成るトランスコーダ用復号化データ516に対して、量子化ステップサイズに基づいて、スカラー量子化を行い、それにより第3量子化ウェーブレット係数データを生成する。このとき、量子化部340は、データ処理部32からのマスクデータ515に基づいて、トランスコーダ用復号化データ516の各ウェーブレット係数について、ROI係数と非ROI係数とを判別する。そして量子化部340は、量子化後の非ROI係数が0になるように、トランスコーダ用復号化データ516の各ウェーブレット係数の量子化を行う。これにより、第3量子化ウェーブレット係数データはゲートウェイ側ROIだけを示すようになる。
符号化部341は、量子化部340によって生成された第3量子化ウェーブレット係数データの圧縮符号化を行って画像符号化データ590を生成する。符号化部341は、係数ビットモデリング部342及びエントロピー符号化部343を備える。
係数ビットモデリング部342は、第3量子化ウェーブレット係数データに対してビットモデリング処理を行う。このビットモデリング処理は、第3量子化ウェーブレット係数データを構成するすべてのコードブロックが使用される点以外は、IoT端末2の係数ビットモデリング部247でのビットモデリング処理と同様である。エントロピー符号化部343は、係数ビットモデリング部342で生成されたデータに対してエントロピー符号化を行って、画像符号化データ590を生成する。画像符号化データ590は、マスクデータ515によって特定されるROIだけを示すデータである。本例では、画像符号化データ590は、検出対象物画像を示すデータである。エントロピー符号化としては、例えば算術符号化が利用される。なお符号化部341では、エントロピー符号化部343によって生成された画像符号化データ590に対してレート制御を行って、符号量を制御してもよい。
ビットストリーム生成部344は、画像符号化データ590を含むビットストリーム519を生成する。具体的には、ビットストリーム生成部344は、画像符号化データ590をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム519を生成する。付加情報には、パケットヘッダ、レイヤー構成情報、スケーラビリティ情報及び量子化テーブルなどが含まれる。パケットヘッダには、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が含まれている。
またビットストリーム生成部344は、データ処理部32から出力されるトランスコーダ用符号化データ517を含むビットストリーム519を生成する。ビットストリーム生成部344は、トランスコーダ用符号化データ517をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム519を生成する。
ビットストリーム生成部344で生成されたビットストリーム519は、通信部35からクラウドサーバ5に送信される。ビットストリーム519が、ゲートウェイ側ROIを示す画像符号化データ590を含む場合には、ゲートウェイ3は、ゲートウェイ側ROIを示すデータをクラウドサーバ5に送信することができる。ゲートウェイ3はゲートウェイ側ROIを自由に設定することができることから、例えばクラウドサーバ5が望むROIを、当該クラウドサーバ5に送信することができる。
またビットストリーム519が、例えば主画像全体を示すトランスコーダ用符号化データ517を含む場合には、ゲートウェイ3は、主画像全体を示すデータをクラウドサーバ5に送信ことができる。これにより、ゲートウェイ3は、クラウドサーバ5に対して、IoT端末2のカメラ20で撮影される動画をストリーミング送信することができる。ゲートウェイ3は、例えばクラウドサーバ5の要求に応じて、動画をストリーミング送信することができる。
データ処理部32の第2処理部322は、クラウドサーバ5からの要求等に応じて、トランスコーダ用復号化データ516をトランスコーダ34に入力するか、トランスコーダ用符号化データ517をトランスコーダ34に入力するかを決定する。
通信部35は、画像認識処理で検出された検出対象物の画像がROIとされる場合には、画像符号化データ590を含むビットストリーム519と、検出対象物に関する対象物情報を含む認識結果情報とを、クラウドサーバ5に送信する。
このように、トランスコーダ34には、ウェーブレット変換後のデータであるトランスコーダ用復号化データ516及びトランスコーダ用符号化データ517が入力される。したがって、トランスコーダ34は、IoT端末2の画像符号化部24bとは異なり、画像を示す入力データをウェーブレット変換せずにビットストリーム519を生成することができる。よって、簡単な処理でビットストリーム519を生成することができる。
また、トランスコーダ用符号化データ517は圧縮符号化されたデータである。したがって、トランスコーダ34は、トランスコーダ用符号化データ517が入力される場合には、IoT端末2の画像符号化部24bとは異なり、入力データを圧縮符号化せずにビットストリーム519を生成することができる。よって、より簡単な処理でビットストリーム519を生成することができる。
<画像処理システムの動作例>
次に画像処理システム4全体での動作例について説明する。以下では、一例として、ゲートウェイ3が、検出対象物が検出されるまで、分解レベルが高いものから順にLLサブバンド画像に対して画像認識処理を行う場合の画像処理システム4の動作について説明する。以下の説明では、ゲートウェイ3が生成する指示情報518には使用可情報が含まれるものとする。つまり、以下の説明では、IoT端末2の決定部26は、マスクデータ502を使用して送信対象コードブロックを決定するものとする。
次に画像処理システム4全体での動作例について説明する。以下では、一例として、ゲートウェイ3が、検出対象物が検出されるまで、分解レベルが高いものから順にLLサブバンド画像に対して画像認識処理を行う場合の画像処理システム4の動作について説明する。以下の説明では、ゲートウェイ3が生成する指示情報518には使用可情報が含まれるものとする。つまり、以下の説明では、IoT端末2の決定部26は、マスクデータ502を使用して送信対象コードブロックを決定するものとする。
図29,30は、処理対象の主画像(以後、対象主画像と呼ぶ)に対して処理を行う画像処理システム4のゲートウェイ3及びIoT端末2の動作の一例をそれぞれ示す図である。対象主画像に対する処理が開始すると、図29に示されるように、ステップs11において、ゲートウェイ3の第1処理部321は、最大分解レベルのLLサブバンド、本例ではLL3サブバンドを処理対象とする。そして第1処理部321は、処理対象のLLサブバンドの分解レベルを示す変数LVを3に設定する。以後、処理対象のLLサブバンドを対象LLサブバンドと呼ぶ。また、対象LLサブバンドを画像と見立てて対象LLサブバンド画像と呼ぶことがある。また、対象LLサブバンドの分解レベルを対象分解レベルと呼ぶことがある。第1処理部321は、対象LLサブバンドを指定データとして決定する。
次にステップs12において、第1処理部321は、ステップs11で決定した指定データをIoT端末2に通知するための指示情報518を生成して送信部30bに入力する。送信部30bは、入力された指示情報518をIoT端末2に送信する。
IoT端末2では、図30に示されるように、受信部25bがステップs21において指示情報518を受信して決定部26に入力する。次にステップs22において、決定部26は、入力された指示情報518と、マスクデータ502とに基づいて、送信対象コードブロックを決定する。対象主画像に対する処理が開始した後の最初のステップs22においては、決定部26は、マスクデータ502が示す最大展開マスクのROI対応部分に対して、膨脹及び縮退を行うグルーピング処理と、ラベリング処理とを順次行う。これにより、ROI対応部分に含まれる独立領域(島領域)に固有のラベルが割り当てられる。以後、この独立領域を「ラベル領域」と呼ぶことがある。
図31は、最大展開マスク583に対してグルーピング処理及びラベリング処理を行った様子を示す図である。図31の例では、各サブバンドマスクのROI対応部分(白抜き部分)は、ラベル0のラベル領域L0と、ラベル1のラベル領域L2とに分けられている。図31では、最大展開マスク583にコードブロック570が重ねられている。
次に決定部26は、ラベリング処理後の最大展開マスク583における、対象LLサブバンドに対応するLLサブバンドマスクに対して、対象LLサブバンドの複数のコードブロックを重ねる。以後、対象LLサブバンドに対応するLLサブバンドマスクを「対象LLサブバンドマスク」と呼ぶことがある。図32は、図31に示されるLL3サブバンドマスク583LL3(対象サブバンドマスク)に対して、LL3サブバンドを構成する複数のコードブロック570a〜570iが重ねられている様子を示す図である。
次に決定部26は、番号が最も小さいラベルを処理対象のラベル(以後、対象ラベルと呼ぶことがある)とする。そして決定部26は、対象LLサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域に対応するコードブロックを、送信対象コードブロックとする。具体的には、決定部26は、対象LLサブバンドの複数のコードブロックのうち、対象ラベルのラベル領域の少なくとも一部を含むコードブロックを、送信対象コードブロックとする。以後、対象ラベルのラベル領域を対象ラベル領域と呼ぶことがある。
図32の例では、ラベル0が対象ラベルとされる。そして、ラベル領域L0に対応するコードブロック570b,570c,570e,570fが送信対象コードブロックとされる。なお後述するように、他のラベルのラベル領域に対応するコードブロックは後で送信対象コードブロックとされる。
送信対象コードブロックが決定されると、ステップs23において、画像符号化部24bは、圧縮符号化された送信対象コードブロックで構成される画像符号化データ504を生成する。次にステップs24において、画像符号化部24bは、画像符号化データ504を含むビットストリーム505を生成する。このビットストリーム505は送信部25aからゲートウェイ3に送信される。このとき、IoT端末2は、ラベリング処理で得られたラベルの番号をゲートウェイ3に通知するとともに、現在の対象ラベルをゲートウェイ3に通知する。図31,32の例では、ラベルの番号0及び1がゲートウェイ3に通知されるとともに、現在の対象ラベルがラベル0であることがゲートウェイ3に通知される。
図29に戻って、ステップs12の後、ゲートウェイ3の受信部30aは、ステップs13において、IoT端末2からのビットストリーム505を受信する。そしてステップs14において、ビットストリーム505に含まれる画像符号化データ504が第2メモリ324に記憶される。また、画像復号化部31bで画像符号化データ504が伸張復号化されることによって得られたWT復号化データ511が第1メモリ323に記憶される。また、ゲートウェイ3は、現在の対象ラベルを示す変数LNを、IoT端末2から通知される値、つまり0に設定する。
次にステップs15において、第1処理部321は、認識用データ生成部320への入力データを生成する。ここでは、第1処理部321は、対象LLサブバンドのうち、対象ラベル領域に対応する部分を、認識対象画像とするために、第1メモリ323から、対象ラベル領域に対応する、対象LLサブバンドのWT復号化ブロック(復元されたコードブロック)を読み出す。図31,32の例では、第1処理部321は、第1メモリ323から、対象ラベル領域であるラベル領域L0に対応する、復元されたコードブロック570b,570c,570e,570fを読み出す。そして第1処理部321は、読み出したWT復号化ブロックで構成される逆変換非対象データ521を認識用データ生成部320に入力する。
次にステップs16において、認識用データ生成部320は、逆変換非対象データ521に基づいて認識用データ512を生成する。逆変換非対象データ521は、逆ウェーブレット変換されずに、色空間変換部3202に入力される。認識用データ512は、対象LLサブバンド画像における、対象ラベル領域に対応する画像を示す。
次にステップs17において、画像認識部33は、ステップs16で生成された認識用データ512が示す画像に対して画像認識処理を行う。この画像認識処理において検出対象物が検出されると、データ処理部32は、対象ラベルを終了ラベルとする。
次にステップs18において、データ処理部32は、対象主画像に対する処理を終了するか否かを決定する終了判定を行う。
図33は終了判定の一例を示すフローチャートである。図33に示されるように、ステップs181において、データ処理部32は、画像認識部33での過去の画像認識処理の結果に基づいて、IoT端末2で定められた全てのラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部32は、IoT端末2で定められた各ラベルについて、当該ラベルのラベル領域に対応するコードブロックから検出対象物が検出されたか否かを特定する。データ処理部32は、全てのラベルに関して、検出対象物が検出されたことを特定すると、ステップs182において、対象主画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
一方で、データ処理部32は、ステップs181でNOと判定すると、ステップs183において、対象ラベルを示す変数LNの値が、最大値max1と一致するか否かを判定する。ここで、最大値max1とは、IoT端末2が定めたラベルにおいて、終了ラベルを除いたラベルのうち、最も大きいラベルを意味している。IoT端末2が定めたラベルにおいて終了ラベルを除いたラベルを処理対象候補のラベルと呼ぶと、最大値max1は、処理対象候補のラベルのうちの最大値を意味している。例えば、図31,32の例のように、IoT端末2が、ラベル0,1を定め、現在の終了ラベル(検出対象物が検出されたラベル)が0の場合、最大値max1は1となる。また例えば、IoT端末2が、ラベル0〜3を定め、現在の終了ラベルが0,3の場合、最大値max1は2となる。なお、終了ラベルが存在しない場合に、最大値max1は、IoT端末2が定めたラベルのうちの最大値と一致する。
ステップs183において、変数LNの値が最大値max1に一致すると判定されると、ステップs184において、データ処理部32は、対象LLサブバンドの分解レベルを示す変数LVの値が1であるか否かを判定する。データ処理部32は、変数LVの値が1であると判定すると、つまり対象LLサブバンドがLL1サブバンドである場合、ステップs182を実行して、対象主画像に対する処理を終了することを決定する。
ステップs184において、変数LVの値が1ではないと判定されると、ステップs185において、データ処理部32は、変数LVの値を1つだけ減少する。これより、今までの対象LLサブバンドの分解レベルよりも1つだけ小さい分解レベルのLLサブバンドが対象LLサブバンドとなる。ステップs185の後、ステップs186において、データ処理部32は、変数LNの値を最小値min1に設定する。ここで、最小値min1とは、処理対象候補のラベルのうち、最も小さいラベルを意味している。例えば、図31,32の例のように、IoT端末2がラベル0,1を定め、現在の終了ラベル領域のラベルが0の場合、最小値min1は1となる。また例えば、IoT端末2がラベル0〜3を定め、現在の終了ラベル領域のラベルが0,3の場合、最小値min1は1となる。変数LNの値が最小値min1に設定されることによって、処理対象候補のラベルのうちの最小のラベルが新たな対象ラベルとされる。なお、終了ラベルが存在しない場合に、最小値min1は、IoT端末2が定めたラベルのうちの最小値と一致する。
ステップs186の後、ステップs187において、データ処理部32は、対象主画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
ステップs183において、変数LNの値が最大値max1でない場合、ステップs188において、データ処理部32は、変数LNの値を次の値に変更する。具体的には、データ処理部32は、変数LNの値を、処理対象候補のラベルのうち、当該変数LNの現在の値よりも次に大きい値のラベルに変更する。その後、ステップs187が実行されて、対象主画像に対する処理の継続が決定される。
図29に戻って、ステップs18の終了判定において、データ処理部32が対象主画像に対する処理を終了すると決定すると、ステップs19において、ゲートウェイ3は、対象主画像に対する処理が終了したことを通知するための終了通知をIoT端末2に行う。ゲートウェイ3は、対象主画像から検出対象物が検出された場合には、ステップs19の後のステップs20において、検出対象物が写る検出対象物画像(ゲートウェイ側ROI)を示す画像符号化データ590を含むビットストリーム519をトランスコーダ34で生成する。対象主画像から複数の検出対象物が検出された場合には、当該複数の検出対象物がそれぞれ写る複数の検出対象物画像を示す画像符号化データ590を含むビットストリーム519が生成される。そして、ゲートウェイ3は、生成したビットストリーム519と、画像認識部33が生成する、対象主画像に関する認識結果情報514とを、通信部35からクラウドサーバ5に送信する。これにより、対象主画像に対する処理が終了する。
なお、対象主画像から検出対象物が検出されなかった場合には、ステップs20が実行されずに対象主画像に対する処理が終了する。あるいは、検出対象物が検出されなかったことを示す情報を含む認識結果情報514が通信部35からクラウドサーバ5に送信された後に、対象主画像に対する処理が終了してもよい。
ステップs18の終了判定において、データ処理部32が対象主画像に対する処理を継続すると決定すると、ゲートウェイ3はステップs11を再度実行して、指定データを決定する。このステップs11では、変数LN,LVが現在示す値に基づいて指定データが決定される。
第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベル、つまり3である場合、LL3サブバンドのうち、変数LNが現在示す対象ラベルのラベル領域に対応するコードブロックを指定データとする。
また第1処理部321は、変数LVが現在示す対象分解レベルが、最大分解レベル以外である場合、つまり3よりも小さい場合、対象分解レベルよりも分解レベルが1つ高いLHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを指定データとする。
ここで、本例では、上述の説明及び後述の説明から理解できるように、対象分解レベルが3よりも小さい場合には、ゲートウェイ3は、対象分解レベルよりも分解レベルが1つ高いLLサブバンドにおける、対象ラベル領域に対応するコードブロックを、第1メモリ323に記憶している。
一方で、ゲートウェイ3の認識用データ生成部320の逆ウェーブレット変換部3201は、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのコードブロックを逆ウェーブレット変換することによって、LL2サブバンドのコードブロックを復元することができる。同様に、逆ウェーブレット変換部3201は、LL2サブバンド、LH2サブバンド、HL2サブバンド及びHH2サブバンドのコードブロックを逆ウェーブレット変換することによって、LL1サブバンドのコードブロックを復元する。
したがって、ゲートウェイ3は、対象分解レベルが3よりも小さい場合、上記のように指定データを決定することによって、対象LLサブバンドにおける、対象ラベル領域に対応するコードブロックを復元するために必要なデータを得ることができる。つまり、ゲートウェイ3は、対象分解レベルよりも分解レベルが1つ高いLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベル領域に対応するコードブロックを得ることができる。よって、ゲートウェイ3は、上記のように指定データを決定することによって、対象分解レベルのLLサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを復元することができる。
図31,32の例において、対象LLサブバンドがLL2サブバンドであって、対象ラベルがラベル1である場合、第1処理部321は、分解レベル3のLH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル1のラベル領域L1に対応するコードブロックを指定データとする。対象LLサブバンドがLL2サブバンドである場合、ゲートウェイ3は、LL3サブバンドにおける、ラベル1のラベル領域L1に対応するコードブロックをすでにIoT端末2から受け取って第1メモリ323に記憶している。したがって、ゲートウェイ3は、このようにして指定データを決定することによって、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドにおける、ラベル領域L1に対応するコードブロックを得ることができる。よって、ゲートウェイ3は、LL2サブバンドにおけるラベル領域L1に対応するコードブロックを復元することができる。図34は、図31に示される図において、各サブバンドにおける、ラベル領域L0,L1に対応するコードブロックに対して斜線を示した図である。
ゲートウェイ3は、ステップs11を実行すると、ステップs12において、ステップs11で決定した指定データを通知するための指示情報518を生成する。そして、ゲートウェイ3は、生成した指示情報518をIoT端末2に送信する。
IoT端末2は、ステップs21において指示情報518を受信すると、ステップs22において、受信した指示情報518と、マスクデータ502とに基づいて、送信対象コードブロックを決定する。IoT端末2の決定部26は、指示情報518によって指定されるコードブロックを、マスクデータ502に基づいて特定する。そして、決定部26は、特定したコードブロックのうち、すでにゲートウェイ3に送信したコードブロック以外のコードブロックを、送信対象コードブロックとする。これにより、IoT端末2からゲートウェイ3に送信するデータ量を低減することができる。
例えば図31,32の例において、指示情報518によって指定される指定データが、LL3サブバンドにおける、ラベル領域L1に対応するコードブロックであって、ラベル領域L0に対応する4つのコードブロック570b,570c,570e.570fがゲートウェイ3にすでに送信されているとする。この場合、決定部26は、マスクデータ502に基づいて、ラベル領域L1に対応する4つのコードブロック570d,570e,570g,570hを特定する。そして決定部26は、特定したコードブロック570d,570e,570g,570hのうち、既に送信されているコードブロック570e以外の3つのコードブロック570d,570g,570hを、送信対象コードブロックとする。
同様に、指示情報518によって指定される指定データが、ある分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドにおける、あるラベルのラベル領域に対応するコードブロックである場合、決定部26は、マスクデータ502に基づいて、当該コードブロックを特定する。そして決定部26は、特定したコードブロックのうち、すでにゲートウェイ3に送信しているコードブロックを除くコードブロックを、送信対象コードブロックとする。
ステップs22において送信対象コードブロックが決定されると、IoT端末2は、上記と同様にしてステップs23,s24を実行する。ステップs24の後、ステップs25において、IoT端末2は、ゲートウェイ3からの終了通知を受信すると、対象主画像に対する処理を終了する。一方で、IoT端末2は、ステップs24の後、ゲートウェイ3から、終了通知を受信せずに指示情報518を受信する場合(ステップs21)には、上記同様にしてステップs22を実行し、以後同様に動作する。
図29に戻って、ゲートウェイ3はステップs13においてビットストリーム505をIoT端末2から受信すると、上述のステップs14を実行する。そして、ゲートウェイ3は、ステップs15において、認識用データ生成部320への入力データを生成する。このステップs15では、第1処理部321は、現在の対象分解レベルが最大分解レベル、つまり3である場合、上記と同様に、第1メモリ323から、LL3サブバンドにおける、対象ラベル領域に対応するコードブロック(WT復号化ブロック)を読み出す。そして第1処理部321は、読み出したWT復号化ブロックで構成される逆変換非対象データ521を認識用データ生成部320に入力する。
一方で、第1処理部321は、現在の対象分解レベルが3よりも小さい場合、第1メモリ323から、対象分解レベルよりも分解レベルが1つ高いLLサブバンド、LHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベル領域に対応するコードブロックを読み出す。そして第1処理部321は、読み出したコードブロックで構成される逆変換対象データ522を認識用データ生成部320に入力する。
次にステップs16において、認識用データ生成部320は認識用データ512を生成する。直前のステップs15において逆変換非対象データ521が認識用データ生成部320に入力される場合には、上記と同様に、逆変換非対象データ521は、逆ウェーブレット変換されずに、色空間変換部3202に入力する。一方で、直前のステップs15において逆変換対象データ522が認識用データ生成部320に入力される場合には、逆ウェーブレット変換部3201が、逆変換対象データ522に対して逆ウェーブレット変換を行う。これにより、逆ウェーブレット変換部3201では、対象分解レベルのLLサブバンドにおける、対象ラベル領域に対応する、ウェーブレット係数から成るコードブロックが生成される。このコードブロックはLLデータ520として第1メモリ323に記憶される。これにより、第1メモリ323には、対象分解レベルのLLサブバンドにおける、対象ラベル領域に対応するコードブロックが記憶される。対象分解レベルが2である場合、LL2サブバンドにおける、対象ラベル領域に対応するコードブロックが記憶され、対象分解レベルが1である場合、LL1サブバンドにおける、対象ラベル領域に対応するコードブロックが記憶される。
逆ウェーブレット変換部3201で生成されたコードブロックは色空間変換部3202に入力される。色空間変換部3202から出力されるデータはDCレベルシフト部3203に入力される。そして、DCレベルシフト部3203から出力されるデータが認識用データ512となる。
ステップs16において認識用データ512が生成されると、ゲートウェイ3は、上述と同様にしてステップs17,s18を実行する。そして、ゲートウェイ3は以後同様に動作する。
以上の説明から理解できるように、IoT端末2において図31,32に示されるラベル0,1が定めされる場合、まず、LL3サブバンドにおける、ラベル0のラベル領域L0に対応するコードブロックに対して画像認識処理が行われる。次に、LL3サブバンドにおける、ラベル1のラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。
LL3サブバンドにおける、ラベル領域L0に対応するコードブロックから検出対象物が検出されず、LL3サブバンドにおける、ラベル領域L1に対応するコードブロックから検出対象物が検出されない場合には、LL2サブバンドにおける、ラベル領域L0に対応するコードブロックに対して画像認識処理が行われ、その後、LL2サブバンドにおける、ラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。
LL2サブバンドにおける、ラベル領域L0に対応するコードブロックから検出対象物が検出されず、LL2サブバンドにおける、ラベル領域L1に対応するコードブロックから検出対象物が検出されない場合には、LL1サブバンドにおける、ラベル領域L0に対応するコードブロックに対して画像認識処理が行われ、その後、LL1サブバンドにおける、ラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。
以上のような動作を行う画像処理システム4は、対象主画像に対する処理が終了すると、新たな主画像を対象主画像として、上記と同様の処理を行う。カメラ20で動画が撮影される場合には、画像処理システム4は、あるフレーム画像を対象主画像として当該あるフレーム画像に対する処理が終了すると、当該あるフレーム画像よりも後に撮影されるフレーム画像を新たな対象主画像として処理を開始する。画像処理システム4は、カメラ20で撮影されるフレーム画像に対して、1フレームごとに処理を行ってもよいし、複数フレームごとに処理を行ってもよい。
以上の説明から理解できるように、図29,30の例では、LLサブバンドが、分解レベルが高いものから順に、画像認識処理の対象とされている。言い換えれば、LLサブバンドが、解像度が低いものから順に、画像認識処理の対象とされている。
ここで、主画像において写る範囲が大きい検出対象物については、分解レベルが高いLLサブバンド(解像度が低いLLサブバンド)からでも、当該検出対象物が検出される可能性が高い。これに対して、主画像において写る範囲が小さい検出対象物については、分解レベルが高いLLサブバンドから当該検出対象物を検出することができない可能性がある。本例のように、LLサブバンドが、分解レベルが高いものから順に処理対象とされることによって、データ量の多い、分解レベルが低いLLサブバンド(解像度が高いLLサブバンド)を使用することなく、主画像において、写る範囲が大きい検出対象物を検出することが可能となる。上記の図31,32の例では、ラベル0のラベル領域L0に対応する検出対象物が、例えばLL3サブバンドから検出可能である場合、当該検出対象物の検出には、LL3サブバンドの分解レベルよりも高い分解レベルのLL2サブバンド及びLL1サブバンドは使用されない。よって、IoT端末2がゲートウェイ3に送信するデータ量を低減することができるとともに、ゲートウェイ3での画像認識処理を簡素化できる。
なお、図29,30に示される画像処理システム4の動作はあくまでも一例であって、画像処理システム4は図29,30示される処理とは異なる処理を行ってもよい。
またゲートウェイ3は、IoT端末2からの画像符号化データ504を画像認識処理以外の処理で使用してもよい。
また上記の例では、IoT端末2はマスクデータ502をゲートウェイ3に送信していたが、マスクデータ502を送信しなくてもよい。この場合には、図35に示されるように、IoT端末2ではマスク符号化部23aが不要となる。
また、IoT端末2の決定部26は、指示情報518を使用せずに送信対象コードブロックを決定してもよい。この場合には、IoT端末2の処理が簡素化される。また、ゲートウェイ3は指示情報518を生成する必要がなくなることから、ゲートウェイ3の処理が簡素化する。
IoT端末2は、指示情報518を使用せずに送信対象コードブロックを決定する場合には、対象主画像に対する処理が開始すると、例えば、LL3サブバンドにおける、マスクデータ502が示す最大展開マスクのROI対応部分に対応するコードブロック570(以後、ROI対応ブロックと呼ぶことがある)を送信対象コードブロックとして送信する。ゲートウェイ3は、受け取ったLL3サブバンドのROI対応ブロックを認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3が検出対象物を検出しない場合には、IoT端末2は、LL2サブバンドのROI対応ブロックの画像が認識対象画像とされるために、LH3サブバンド、HL3サブバンド及びHH3サブバンドのROI対応ブロックを送信対象コードブロックとして送信する。ゲートウェイ3は、すでに受け取っているLL3サブバンドのROI対応ブロックと、LH3サブバンド、HL3サブバンド及びHH3サブバンドのROI対応ブロックとから成る逆変換対象データ522を逆ウェーブレット変換して、LL2サブバンドのROI対応ブロックを生成する。そして、ゲートウェイ3は、LL2サブバンドのROI対応ブロックを認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3が検出対象物を検出しない場合には、IoT端末2は、LL1サブバンドのROI対応ブロックの画像が認識対象画像とされるために、LH2サブバンド、HL2サブバンド及びHH2サブバンドのROI対応ブロックを送信対象コードブロックとして送信する。ゲートウェイ3は、すでに生成しているLL2サブバンドのROI対応ブロックと、LH2サブバンド、HL2サブバンド及びHH2サブバンドのROI対応ブロックとから成る逆変換対象データ522を逆ウェーブレット変換して、LL1サブバンドのROI対応ブロックを生成する。そして、ゲートウェイ3は、LL1サブバンドのROI対応ブロックを認識用データ512として画像認識処理を行う。その後、対象主画像に対する処理が終了する。
なお、IoT端末2が指示情報518を使用せずに送信対象コードブロックを決定する場合の画像処理システム4の動作は上記の例には限られない。
また、IoT端末2の決定部26は、マスクデータ502を使用せずに送信対象コードブロックを決定してもよい。この場合には、IoT端末2の処理が簡素化される。IoT端末2は、マスクデータ502を使用せずに送信対象コードブロックを決定する場合には、ゲートウェイ3からの指示情報518で指定されるコードブロックをそのまま送信対象コードブロックとして送信する。
IoT端末2が、マスクデータ502を使用せずに送信対象コードブロックを決定する場合には、ゲートウェイ3は、対象主画像に対する処理が開始すると、例えば、LL3サブバンドの全コードブロックを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LL3サブバンドの全コードブロックを送信対象コードブロックとして送信する。ゲートウェイ3は、受け取ったLL3サブバンドの全コードブロックを認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL2サブバンド画像を認対象画像とするために、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全コードブロックを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全コードブロックを送信対象コードブロックとして送信する。ゲートウェイ3は、すでに受け取っているLL3サブバンドの全コードブロックと、LH3サブバンド、HL3サブバンド及びHH3サブバンドの全コードブロックとから成る逆変換対象データ522を逆ウェーブレット変換してLL2サブバンドの全コードブロックを生成する。そして、ゲートウェイ3は、LL2サブバンドの全コードブロックを認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL1サブバンド画像を認対象画像とするために、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全コードブロックを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全コードブロックを送信対象コードブロックとして送信する。ゲートウェイ3は、生成したLL2サブバンドの全コードブロックと、LH2サブバンド、HL2サブバンド及びHH2サブバンドの全コードブロックとから成る逆変換対象データ522を逆ウェーブレット変換してLL1サブバンドの全コードブロックを生成する。そして、ゲートウェイ3は、LL1サブバンドの全コードブロックを認識用データ512として画像認識処理を行う。その後、対象主画像に対する処理が終了する。
このように、IoT端末2が、マスクデータ502を使用せずに送信対象コードブロックを決定する場合に、ゲートウェイ3が指示情報518の生成にマスク復号化データ510を使用しない場合には、IoT端末2は、マスクデータ502を生成しなくてもよい。この場合には、図36に示されるように、縮小画像メモリ22a、マスク生成部23及びマスク符号化部24aが不要となる。よって、IoT端末2の構成が簡素化されて、IoT端末2の消費電流が低減する。
また、IoT端末2がマスクデータ502を使用せずに送信対象コードブロックを決定する場合には、ゲートウェイ3は、上記のように指示情報518を生成するとともに、マスク復号化データ510を、認識用データ512の生成で使用してもよい。図37は、この場合の認識用データ生成部320の構成の一例を示す図である。図37に示される認識用データ生成部320は、上述の図25に示される認識用データ生成部320と比較して、特定部3204をさらに備えている。特定部3204は、DCレベルシフト部3203から出力されるLLサブバンドの全コードブロックにおいて、マスク復号化データ510が示す最大展開マスクのROI対応部分に対応するコードブロック(ROI対応ブロック)を特定する。そして特定部3204は、特定したROI対応ブロックを認識用データ512として画像認識部33に入力する。
また、IoT端末2がマスクデータ502を使用せずに送信対象コードブロックを決定する場合には、ゲートウェイ3は、IoT端末2で生成された最大展開マスクを示すマスク復号化データ510に基づいて指定データを決定してもよい。例えば、ゲートウェイ3の第1処理部321は、マスク復号化データ510が示す最大展開マスクのROI対応部分に対して、上述のグルーピング処理及びラベリング処理を順次行う。これにより、ROI対応部分に対してラベル領域が設定される。そして、第1処理部321は、ステップs11において、対象分解レベルが最大分解レベル、つまり3の場合、ラベリング処理された最大展開マスク(図31参照)を使用して、LL3サブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを特定する。そして第1処理部321は、特定したコードブロックを指定データとし、当該指定データの各コードブロックの位置を特定するための指示情報518を生成する。このとき、第1処理部321は、特定したコードブロックのうち、第1メモリ323に記憶されているコードブロックを指定データから除外する。
また第1処理部321は、ステップs11において、対象分解レベルが3よりも小さい場合、ラベリング処理された最大展開マスクを使用して、対象分解レベルよりも分解レベルが1つ高いLHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを特定する。そして第1処理部321は、特定したコードブロックを指定データとし、当該指定データの各コードブロックの位置を特定するための指示情報518を生成する。このとき、第1処理部321は、対象分解レベルが3のときと同様に、特定したコードブロックのうち、第1メモリ323に記憶されているコードブロックを指定データから除外する。
ゲートウェイ3が、上記のようにして、マスク復号化データ510に基づいて指定データを決定する場合には、IoT端末2の決定部26は、マスクデータ502を使用せずに、ゲートウェイ3からの指示情報518で指定されるコードブロックをそのまま送信対象コードブロックとする。
なお、IoT端末2がマスクデータ502を使用せずに送信対象コードブロックを決定する場合の画像処理システム4の動作は上記の例には限られない。
また上記の図29,30,33の例では、分解レベル順に画像認識処理が行われていたが、ラベル順に画像認識処理が行われてもよい。図38のこの場合の終了判定(ステップs18)の一例を示すフローチャートである。
図38に示されるように、ステップs191において、データ処理部32は、対象ラベルに関して、検出対象物が検出されたか否かを特定する。つまり、データ処理部32は、直前のステップs17の画像認識処理において検出対象物が検出されたか否かを特定する。データ処理部32は、対象ラベルに関して、検出対象物が検出されたことを特定すると、ステップs194において、変数LNの値が、最大値max2と一致するか否かを判定する。ここで、最大値max2は、上述の最大値max1とは異なり、IoT端末2で定められたラベルのうちの最大値を意味している。図31,32の例では、最大値max2=2となる。
データ処理部32は、ステップs194において、変数LNの値が最大値max2と一致すると判定すると、対象主画像に対する処理を終了することを決定する。これにより、終了判定が終了する。
一方で、データ処理部32は、ステップs194において、変数LNの値が最大値max2と一致しないと判定すると、ステップs195において、変数LNの値を1つ増加する。これにより、今までの対象ラベルよりも1つだけ大きいラベルが対象ラベルとなる。そしてデータ処理部32は、ステップs196において、変数LVの値を、最大分解レベル、つまり3に設定する。これにより、対象分解レベルが最大分解レベルとなる。そしてステップs197において、データ処理部32は、対象主画像に対する処理を継続することを決定する。これにより、終了判定が終了する。
ステップs191において、対象ラベルに関して、検出対象物が検出されていないと特定されると、データ処理部32は、ステップs192において、変数LVの値が1であるか否かを判定する。変数LVの値が1である場合、つまり対象分解レベルが1である場合、データ処理部32は、上述のステップs194を実行し、以後同様に動作する。一方で、変数LVの値が1でない場合、つまり対象分解レベルが1よりも大きい場合、データ処理部32は、ステップs193において、変数LVの値を1つ減少する。これにより、今までの対象分解レベルよりも1つ小さい分解レベルが対象分解レベルとなる。その後、データ処理部32は、ステップs197を実行して、対象主画像に対する処理を継続することを決定する。
図37に示される終了処理が実行される場合には、図31,32の例では、まず、LL3サブバンドにおける、ラベル領域L0に対応するコードブロックに対して画像認識処理が行われる。検出対象物が検出されない場合、LL2サブバンドにおける、ラベル領域L0に対応するコードブロックに対して画像認識処理が行われる。検出対象物が検出されない場合、LL1サブバンドにおける、ラベル領域L0に対応するコードブロックに対して画像認識処理が行われる。
ラベル0に関する画像認識処理で検出対象物が検出されると、LL3サブバンドにおける、ラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。検出対象物が検出されない場合、LL2サブバンドにおける、ラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。検出対象物が検出されない場合、LL1サブバンドにおける、ラベル領域L1に対応するコードブロックに対して画像認識処理が行われる。
また、ゲートウェイ3のデータ処理部32は、主画像データ500の高周波成分を認識用データ512として画像認識部33に入力する場合には、LHサブバンド、HLサブバンドあるいはHHサブバンドをそのまま認識用データ512としてもよいし、同じ分解レベルのLHサブバンド、HLサブバンド及びHHサブバンドを統合して得られる統合サブバンドを認識用データ512としてもよい。データ処理部32は、LHサブバンド、HLサブバンド及びHHサブバンドを統合する場合には、例えば、LHサブバンド、HLサブバンド及びHHサブバンドにおいて同じ位置に存在する係数の平均値を求めて、求めた平均値を、統合サブバンドにおける、それと同じ位置の係数とする。また、データ処理部32は、LHサブバンド、HLサブバンド及びHHサブバンドにおいて同じ位置に存在する係数のうちの最大値を、統合サブバンドにおける、それと同じ位置の係数としてもよい。なお、LHサブバンド、HLサブバンド及びHHサブバンドを統合する方法はこの限りではない。
また、ゲートウェイ3は、IoT端末2に対して送信すべきデータを指示する場合には、ウェーブレット平面を構成する複数のサブバンド間でのコードブロックの対応関係を示すCB対応関係情報を利用してもよい。図39は、複数のサブバンド間でのコードブロックの対応関係の一例を示す図である。図39において斜線が示される部分が、互いに対応するコードブロック570である。
ここで、複数のサブバンドの間で互いに対応するコードブロック570は、主画像の同じ部分を示している。図39において、LL3サブバンドの斜線の1つのコードブロック570LL3と、LH3サブバンドの斜線の1つのコードブロック570LH3と、HL3サブバンドの斜線の1つのコードブロック570HL3と、HH3サブバンドの斜線の1つのコードブロック570HH3とは、主画像の同じ部分を示している。また、LH2サブバンドの斜線の4つのコードブロック570LH2と、HL2サブバンドの斜線の4つのコードブロック570HL2と、HH2サブバンドの斜線の4つのコードブロック570HH2とは、主画像の同じ部分を示している。また、LH1サブバンドの斜線の16個のコードブロック570LH1と、HL1サブバンドの斜線の16個のコードブロック570HL1と、HH1サブバンドの斜線の16個のコードブロック570HH1とは、主画像の同じ部分を示している。また、分解レベル3の各サブバンドの斜線の1つのコードブロック570と、分解レベル2の各サブバンドの斜線の4つのコードブロック570と、分解レベル1の各サブバンドの斜線の16個のコードブロック570とは、主画像の同じ部分を示している。
ゲートウェイ3は、図39に示されるような、複数のサブバンド間でのコードブロックの対応関係を示すCB対応関係情報を記憶している。ゲートウェイ3は、CB対応関係情報を利用して指定データを決定する場合には、対象主画像に対する処理が開始すると、例えば、図39において斜線で示される、LL3サブバンドのコードブロック570LL3を指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、コードブロック570LL3を送信対象コードブロックとして送信する。ゲートウェイ3は、受け取ったコードブロック570LL3を認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL2サブバンドを処理対象とするために、図39において斜線で示される、LH3サブバンドのコードブロック570LH3、HL3サブバンドのコードブロック570HL3及びHH3サブバンドのコードブロック570HH3を指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、コードブロック570LH3,570HL3,570HH3を送信対象コードブロックとして送信する。ゲートウェイ3は、すでに受け取っているコードブロック570LL3と、コードブロック570LH3,570HL3,570HH3とから成る逆変換対象データ522を逆ウェーブレット変換して、コードブロック570LL3,570LH3,570HL3,570HH3に対応する、LL2サブバンドの4つのコードブロック570を生成する。そして、ゲートウェイ3は、生成した4つのコードブロックを認識用データ512として画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL1サブバンドを処理対象とするために、図39において斜線で示される、LH2サブバンドの4つのコードブロック570LH2、HL2サブバンドの4つのコードブロック570HL2及びHH2サブバンドの4つのコードブロック570HH2を指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、4つのコードブロック570LH2、4つのコードブロック570HL2及び4つのコードブロック570HH2を、送信対象コードブロックとして送信する。ゲートウェイ3は、生成したLL2サブバンドの4つのコードブロックと、4つのコードブロック570LH2と、4つのコードブロック570HL2と、4つのコードブロック570HH2とから成る逆変換対象データ522を逆ウェーブレット変換して、分解レベル2の各サブバンドの4つのコードブロック570に対応する、LL1サブバンドの16個のコードブロックを生成する。そして、ゲートウェイ3は、生成した16個のコードブロックを認識用データ512として画像認識処理を行う。その後、対象主画像に対する処理が終了する。
なお、ゲートウェイ3がCB対応関係情報を使用して指定データを決定する場合の画像処理システム4の動作は上記の例には限られない。
<各種変形例>
以下に画像処理システム4の各種変形例について説明する。
以下に画像処理システム4の各種変形例について説明する。
<第1変形例>
<IoT端末>
図40は、本変形例に係る画像処理システム4のIoT端末2の構成の一例を示す図である。図40に示されるように、本変形例に係るIoT端末2は、上述の図3に示されるIoT端末2において、マスク生成部23及びマスク符号化部24aの替りに、動き検出部27及び縮小画像符号化部24cを備えるものである。本変形例では、主画像はカメラ20で撮影される動画のフレーム画像となっている。以後、主画像をフレーム画像と呼ぶことがある。また、縮小画像を縮小フレーム画像と呼ぶことがある。
<IoT端末>
図40は、本変形例に係る画像処理システム4のIoT端末2の構成の一例を示す図である。図40に示されるように、本変形例に係るIoT端末2は、上述の図3に示されるIoT端末2において、マスク生成部23及びマスク符号化部24aの替りに、動き検出部27及び縮小画像符号化部24cを備えるものである。本変形例では、主画像はカメラ20で撮影される動画のフレーム画像となっている。以後、主画像をフレーム画像と呼ぶことがある。また、縮小画像を縮小フレーム画像と呼ぶことがある。
符号化装置24が備える縮小画像符号化部24cは、縮小画像メモリ22aから縮小画像データ501を読み出す。そして、縮小画像符号化部24cは、読み出した縮小画像データ501を階層符号化する。
図41は縮小画像符号化部24cの構成の一例を示す図である。縮小画像符号化部24cは、画像符号化部24bと同様の構成を有している(図5参照)。図41に示されるように、縮小画像符号化部24cは、階層化部650、符号化部656及びビットストリーム生成部659を備える。階層化部650は、縮小画像データ501から階層化データを生成する。符号化部656は、階層化データを圧縮符号化して縮小画像符号化データ507を生成する。ビットストリーム生成部659は、縮小画像符号化データ507を含むビットストリーム508を生成して送信部25aに送信する。送信部25aは、ビットストリーム508をゲートウェイ3に送信する。
階層化部650は、DCレベルシフト部651、色空間変換部652、タイリング部653、ウェーブレット変換部654及び量子化部655を備えている。DCレベルシフト部651、色空間変換部652、タイリング部653、ウェーブレット変換部654及び量子化部655の動作は、それぞれ、画像符号化部24bのDCレベルシフト部241、色空間変換部242、タイリング部243、ウェーブレット変換部244及び量子化部245の動作と同様である。
符号化部656は、係数ビットモデリング部657及びエントロピー符号化部658を備えている。係数ビットモデリング部657及びエントロピー符号化部658の動作は、それぞれ、画像符号化部24bの係数ビットモデリング部247及びエントロピー符号化部248の動作と同様である。ただし、画像符号化部24bの係数ビットモデリング部247は、量子化ウェーブレット係数データを構成する複数のコードブロックのうちの送信対象コードブロックに対してビットモデリング処理を行っていたが、係数ビットモデリング部657は、量子化ウェーブレット係数データを構成する複数のコードブロックのすべてに対してビットモデリング処理を行う。
ビットストリーム生成部659は、画像符号化部24bのビットストリーム生成部249と同様に動作する。ビットストリーム生成部659は、縮小画像符号化データ507をパケット化し、それによって生成されたパケットデータと付加情報を含むビットストリーム508を生成する。これにより、IoT端末2からは、主画像を縮小した縮小画像を示すデータがゲートウェイ3に送信される。
動き検出部27は、縮小画像メモリ22a内の縮小画像データ501に基づいて、主画像の撮影範囲(カメラ20の撮影範囲)での物体の動きを検出する。動き検出部27は、例えば、縮小画像データ501に基づいて縮小フレーム画像間の差分を示す差分画像(2値画像)を生成し、当該差分画像に基づいて、撮影範囲での物体の動きを検出することができる。動き検出部27の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、動き検出部27の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。以後、主画像の撮影範囲での物体の動きを単に「動き」と呼ぶことがある。
また動き検出部27は、主画像メモリ22b、画像符号化部24b及び決定部26の動作の停止及び起動を制御することができる。動き検出部27は、動きを検出しないとき、主画像メモリ22b、画像符号化部24b及び決定部26の動作を停止する。動き検出部27は、動きを検出しないとき、例えば、主画像メモリ22b、画像符号化部24b及び決定部26に対する動作クロックの供給を停止することによって、主画像メモリ22b、画像符号化部24b及び決定部26の動作を停止する。一方で、動き検出部27は、動きを検出したとき、主画像メモリ22b、画像符号化部24b及び決定部26を動作させる。動き検出部27は、動きを検出したとき、例えば、主画像メモリ22b、画像符号化部24b及び決定部26に対して動作クロックを供給することによって、主画像メモリ22b、画像符号化部24b及び決定部26を動作させる。
このように、本変形例に係るIoT端末2では、動き検出部27が動きを検出しない場合には、主画像メモリ22b、画像符号化部24b及び決定部26の動作が停止する。したがって、動き検出部27が動きを検出しない場合には、IoT端末2の送信部25aはビットストリーム505を送信しない。例えば、IoT端末2が設けられる空間(例えば家など)に人が存在しない場合には、IoT端末2はビットストリーム505を送信しない。これにより、IoT端末2の消費電力が低減する。
なお、本変形例に係るIoT端末2は、主画像メモリ22b、画像符号化部24b及び決定部26の動作を停止することによって、ビットストリーム505を送信しないようにしている。しかしながら、動き検出部27が動きを検出しない場合、主画像メモリ22b、画像符号化部24b及び決定部26の動作が停止せずに、画像符号化部24bで生成されるビットストリーム505を送信部25aが送信しないようにしてもよい。この場合であっても、IoT端末2の消費電力が低減する。本変形例のように、主画像メモリ22b、画像符号化部24b及び決定部26の動作を停止することによって、IoT端末2の消費電力はさらに低減する。
また、本変形例に係るIoT端末2では、縮小画像データ501に基づいて動きが検出されることから、主画像データ500に基づいて動きが検出される場合と比較して、IoT端末2の処理を簡素化することができる。よって、IoT端末2の消費電力が低減する。
また、本変形例に係るIoT端末2では、図3の例とは異なり、マスクデータ502が生成されないことから、IoT端末2の処理を簡素化することができる。よって、IoT端末2の消費電力が低減する。
<ゲートウェイ>
図42は、本変形例に係る画像処理システム4のゲートウェイ3の構成の一例を示す図である。図42に示されるように、本変形例に係るゲートウェイ3は、上述の図4に示されるゲートウェイ3において、マスク復号化部31aの替りに縮小画像復号化部31cを備えるとともに、マスク生成部36をさらに備えるものである。
図42は、本変形例に係る画像処理システム4のゲートウェイ3の構成の一例を示す図である。図42に示されるように、本変形例に係るゲートウェイ3は、上述の図4に示されるゲートウェイ3において、マスク復号化部31aの替りに縮小画像復号化部31cを備えるとともに、マスク生成部36をさらに備えるものである。
復号化装置31が備える縮小画像復号化部31cは、受信部30aが受信するビットストリーム508から縮小画像符号化データ507を抽出する。そして、縮小画像復号化部31cは、抽出した縮小画像符号化データ507を伸張復号化して縮小画像復号化データ525を生成する。以後、縮小画像復号化データ525を縮小画像データ525と呼ぶことがある。
図43は縮小画像復号化部31cの構成の一例を示す図である。図43に示されるように、縮小画像復号化部31cは、ビットストリーム解析部700、復号化部701、逆量子化部704、逆ウェーブレット変換部705、タイリング部706、色空間変換部707及びDCレベルシフト部708を備えている。
ビットストリーム解析部700は、IoT端末2からのビットストリーム508を解析して、当該ビットストリーム508から縮小画像符号化データ507及び付加情報を抽出する。ビットストリーム解析部700は、抽出した縮小画像符号化データ507を復号化部701に出力する。抽出された付加情報は、復号化部701及び逆量子化部704等で使用される。
復号化部701は、縮小画像符号化データ507に対して所定の伸張復号化を行う。所定の伸張復号化は、符号量制御を除いて、図40の符号化部656における圧縮符号化とは逆の処理にあたる。所定の伸張復号化によって、縮小画像符号化データ507から、量子化ウェーブレット係数が生成される。復号化部701は、エントロピー復号化部702及び係数ビットモデリング部703を備えている。エントロピー復号化部702及び係数ビットモデリング部703の動作は、それぞれ、画像復号化部31bのエントロピー復号化部312及び係数ビットモデリング部313(図23参照)の動作と同様である。
逆量子化部704は、復号化部701で生成される量子化ウェーブレット係数データに対して逆量子化を行って、ウェーブレット係数データを生成する。ここでの逆量子化は、図40の量子化部655における量子化とは逆の処理にあたる。
逆ウェーブレット変換部705は、逆量子化部704で生成されるウェーブレット係数データに対して逆ウェーブレット変換(詳細には逆離散ウェーブレット変換)を行って、分解レベル0のウェーブレット画像を示すデータ、つまり原画像である縮小画像を示す縮小画像データを生成する。
タイリング部706は、逆ウェーブレット変換部705で生成された縮小画像データに対して複数のタイルを合成する処理を行う。色空間変換部707は、タイリング部706で処理された縮小画像データに対して、図41の色空間変換部652での処理と逆の処理を行う。DCレベルシフト部708は、色空間変換部707で処理された縮小画像データのDCレベルを必要に応じて変換する。DCレベルシフト部708で処理された縮小画像データが縮小画像データ525としてマスク生成部36に入力される。
マスク生成部36は、縮小画像データ525に基づいて、主画像(フレーム画像)における関心領域を特定するためのマスクデータ526を生成して出力する。マスク生成部36は、上述の図3に示されるマスク生成部23がマスクデータ502を生成する方法と同様の方法でマスクデータ526を生成する。これにより、上述の図18に示されるような最大展開マスクを示すマスクデータ526が生成される。マスクデータ526はデータ処理部32に入力される。マスク生成部36の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、マスク生成部36の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
本変形例に係るマスクデータ526では、例えば、動体が写る部分がROIに設定されている。言い換えれば、主画像の撮影範囲において物体が動く動き領域の画像がROIに設定されている。したがって、撮影範囲において物体の動きがない場合には、マスクデータ526が示す最大展開マスクにROI対応部分が現れない。一方で、撮影範囲において物体の動きがある場合には、マスクデータ526が示す最大展開マスクにはROI対応部分が現れる。したがって、マスクデータ526が示す最大展開マスクにROI対応部分が現れているか否かによって、撮影範囲において物体の動きがあるか否かを特定することができる。言い換えれば、マスクデータ526が示す最大展開マスクにROI対応部分が現れているか否かによって、IoT端末2の動き検出部27が動きを検出しているか否かを特定することができる。
なおマスクデータ526は、トランスコーダ34で使用されるマスクデータ515の生成で利用されてもよい。
このように、本変形例では、処理能力が高いゲートウェイ3によってマスクデータ526が生成されることから、処理能力が低いIoT端末2が生成するマスクデータ526よりも精度の高いマスクデータ526を生成することができる。
<画像処理システムの動作例>
本変形例では、ゲートウェイ3の第1処理部321は、マスクデータ526に基づいて指定データを決定する。図44は、対象主画像(処理対象のフレーム画像)に対して処理を行う画像処理システム4のゲートウェイ3の動作の一例を示す図である。
本変形例では、ゲートウェイ3の第1処理部321は、マスクデータ526に基づいて指定データを決定する。図44は、対象主画像(処理対象のフレーム画像)に対して処理を行う画像処理システム4のゲートウェイ3の動作の一例を示す図である。
図44に示されるように、処理対象のフレーム画像に対する処理が開始すると、ステップs31において、第1処理部321は、処理対象のフレーム画像を縮小した縮小画像を示す縮小画像データ525が使用されて生成されたマスクデータ526が示す最大展開マスク(以後、対象最大展開マスクと呼ぶことがある)に、ROI対応部分が現れているか否か確認する。第1処理部321は、対象最大展開マスクにROI対応部分が現れていない場合には、IoT端末2の動き検出部27が動きを検出していないとして、処理対象のフレーム画像に対する処理を終了する。動き検出部27が動きを検出していないときには、主画像メモリ22b、画像符号化部24b及び決定部26の動作が停止する。したがって、IoT端末2は、画像符号化データ504をゲートウェイ3に送信することができない。よって、この場合には、処理対象のフレーム画像に対する処理を終了する。
一方で、第1処理部321は、対象最大展開マスクにROI対応部分が現れている場合には、ステップs11を実行して、指定データを決定する。本変形例に係るステップs11では、マスクデータ526が使用される。
処理対象のフレーム画像に対する処理が開始した後の最初のステップs11では、第1処理部321は、対象最大展開マスクのROI対応部分に対して、上述のグルーピング処理及びラベリング処理を順次行う。これにより、ROI対応部分に対してラベル領域が設定される。そして、第1処理部321は、LL3サブバンドを対象LLサブバンドとし、ラベル0を対象ラベルとする。第1処理部321は、変数LVの値を3に設定し、変数LNの値を0に設定する。そして、第1処理部321は、ラベリング処理された対象最大展開マスク(図31参照)を使用して、LL3サブバンドにおける、ラベル0のラベル領域に対応するコードブロックを特定する。そして第1処理部321は、特定したコードブロックを指定データとし、当該指定データの各コードブロックの位置を特定するための指示情報518を生成する。この指示情報518はステップs12においてIoT端末2に送信される。
2回目以降のステップs11では、第1処理部321は、変数LVの値が3の場合、LL3サブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを特定する。そして第1処理部321は、特定したコードブロックを指定データとし、当該指定データの各コードブロックの位置を特定するための指示情報518を生成する。このとき、第1処理部321は、特定したコードブロックのうち、第1メモリ323に記憶されているコードブロックを指定データから除外する。
2回目以降のステップs11では、対象分解レベルが3よりも小さい場合、第1処理部321は、対象分解レベルよりも分解レベルが1つ高いLHサブバンド、HLサブバンド及びHHサブバンドにおける、対象ラベルのラベル領域に対応するコードブロックを特定する。そして第1処理部321は、特定したコードブロックを指定データとし、当該指定データの各コードブロックの位置を特定するための指示情報518を生成する。このとき、第1処理部321は、対象分解レベルが3のときと同様に、特定したコードブロックのうち、第1メモリ323に記憶されているコードブロックを指定データから除外する。他のゲートウェイ3の動作については、上記と同様である。
IoT端末2は、主画像メモリ22b、画像符号化部24b及び決定部26が動いているときに指示情報518を受信することが可能である。IoT端末2は、指示情報518を受信すると(ステップs21)、受信した指示情報518によって指定されるコードブロックをそのまま送信対象コードブロックとする(ステップs22)。以後、IoT端末2は同様に動作する。
上記の例では、動き検出部27が動きを検出すると、主画像メモリ22b、画像符号化部24b及び決定部26のすべての動作が停止しているが、主画像メモリ22b、画像符号化部24b及び決定部26の少なくとも一つの動作が停止してもよい。またIoT端末2は、図45に示されるように、動き検出部27を備えていなくてもよい。
また、上述の図3に示されるマスク生成部23が、動き検出部27を備えてもよい。図46はこの場合のIoT端末2の構成を示す図である。マスク生成部23が備える動き検出部27は、図40の例と同様に、動きを検出しないとき、主画像メモリ22b、画像符号化部24b及び決定部26の動作を停止する。一方で、動き検出部27は、動きを検出したとき、主画像メモリ22b、画像符号化部24b及び決定部26を動作させる。
また、図46に示される動き検出部27は、動きを検出するだけではなく、主画像の撮影範囲において物体が動く動き領域を特定する。そして、マスク生成部23は、動き検出部27で特定された動き領域の画像(動体が写る画像とも言える)をROIとし、当該ROIを特定するためのマスクデータ502を生成する。
動き検出部27は、動き領域を特定する場合、例えば、縮小画像データ501に基づいて、縮小フレーム画像間の差分を示す差分画像を生成する。この差分画像は2値画像である。動き検出部27は、差分画像において、画素値が1の高輝度領域を特定する。そして、動き検出部27は、撮影範囲における、特定した高輝度領域に対応する部分を、動き領域とする。そして動き検出部27は、特定した動き領域の画像(ROI)を特定するためのマスクデータ502を上記と同様にして生成する。これにより、マスクデータ502が示す最大展開マスクでは、撮影範囲中の動き領域(動体が存在する領域とも言える)に対応する部分がROI対応部分となる。そして、マスクデータ502に基づいて送信対象コードブロックを決定する決定部26は、撮影範囲中の動き領域に対応するコードブロック(動体を示すコードブロック)を送信対象コードブロックとする。
<第2変形例>
上記の各例では、ゲートウェイ3は、画像データを含むビットストリーム519をクラウドサーバ5に送信していたが、ビットストリーム519をクラウドサーバ5に送信しなくてもよい。つまり、ゲートウェイ3は、メタデータである認識結果情報514だけをクラウドサーバ5に送信してもよい。この場合には、図47に示されるようにトランスコーダ34が不要となり、図48に示されるようにデータ処理部32の第2メモリ324及び第2処理部322が不要になる。なお図47は、上述の第1変形例に係るゲートウェイ3(図42参照)がビットストリーム519を送信しない場合の当該ゲートウェイ3の構成を示す図である。図4等に示される他の例に係るゲートウェイ3についてもトランスコーダ34を設けなくてもよい。
上記の各例では、ゲートウェイ3は、画像データを含むビットストリーム519をクラウドサーバ5に送信していたが、ビットストリーム519をクラウドサーバ5に送信しなくてもよい。つまり、ゲートウェイ3は、メタデータである認識結果情報514だけをクラウドサーバ5に送信してもよい。この場合には、図47に示されるようにトランスコーダ34が不要となり、図48に示されるようにデータ処理部32の第2メモリ324及び第2処理部322が不要になる。なお図47は、上述の第1変形例に係るゲートウェイ3(図42参照)がビットストリーム519を送信しない場合の当該ゲートウェイ3の構成を示す図である。図4等に示される他の例に係るゲートウェイ3についてもトランスコーダ34を設けなくてもよい。
このように、ゲートウェイ3が画像データをクラウドサーバ5に送信しないことによって、IoT端末2が生成した画像データがインターネットに流れる可能性を低減することができる。よって、例えば、IoT端末2で生成される画像データに写る人のプライバシーが侵害される可能性を低減することができる。
<第3変形例>
上記の各例に係るIoT端末2は、画像符号化データ504をパケット化して送信していたが、画像符号化データ504をパケット化せずに送信してもよい。これにより、パケットヘッダの生成が不要になる。さらに、パケットヘッダに含められる、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報のうち、ゲートウェイ3でのパケットヘッダの復号化に必要な零長パケット情報及びコードブロックの含有情報の生成が不要になる。画像符号化部24bのビットストリーム生成部249は、パケット化されてない画像符号化データ504と付加情報を含むビットストリーム505を生成する。この付加情報には、パケットヘッダの代りに、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が符号化されずに含められる。
上記の各例に係るIoT端末2は、画像符号化データ504をパケット化して送信していたが、画像符号化データ504をパケット化せずに送信してもよい。これにより、パケットヘッダの生成が不要になる。さらに、パケットヘッダに含められる、零長パケット情報、コードブロックの包含情報、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報のうち、ゲートウェイ3でのパケットヘッダの復号化に必要な零長パケット情報及びコードブロックの含有情報の生成が不要になる。画像符号化部24bのビットストリーム生成部249は、パケット化されてない画像符号化データ504と付加情報を含むビットストリーム505を生成する。この付加情報には、パケットヘッダの代りに、零ビットプレーン情報、符号化パス数情報及びコードブロックの符号量情報が符号化されずに含められる。
このように、本変形例に係るIoT端末2では、画像符号化データ504がパケット化されないことから、IoT端末2ではデータのパケット化が不要となる。これにより、IoT端末2の処理が簡素化される。よって、IoT端末2の消費電力を低減することができるとともに、IoT端末2から送信されるデータの送信遅延を低減することができる。
またIoT端末2では、パケットヘッダの生成が不要になることから、処理がさらに簡素化される。よって、IoT端末2の消費電力をさらに低減することができるとともに、IoT端末2から送信されるデータの送信遅延をさらに低減することができる。
また、IoT端末2からのビットストリーム505を処理するゲートウェイ3では、画像復号化部31bのビットストリーム解析部310は、パケットヘッダを復号化する必要がない。よって、ゲートウェイ3の処理を簡素化できる。
<第4変形例>
ゲートウェイ3の画像認識部33が検出する検出対象物の種類によっては、画像認識部33は解像度が低い画像から検出対象物を検出することが可能である。
ゲートウェイ3の画像認識部33が検出する検出対象物の種類によっては、画像認識部33は解像度が低い画像から検出対象物を検出することが可能である。
また、ゲートウェイ3が、IoT端末2から受け取る画像符号化データ504を使用して行う処理の種類によっては、解像度が高い画像を示す画像符号化データ504が必要とされる場合もあれば、画像符号化データ504が示す画像の解像度が低くてもよい場合がある。例えば、ゲートウェイ3が、画像符号化データ504に基づいて、クラウドサーバ5に対して解像度が高い動画をストリーミング送信する場合には、解像度が高い画像を示す画像符号化データ504が必要とされる。
そこで、本変形例に係る画像処理システム4は、IoT端末2で生成されるコードブロック中の量子化ウェーブレット係数の二進値を構成する複数のビットにおいて、ゲートウェイ3に送信するビットを調整することによって、画像符号化データ504が示す画像の解像度を調整することができる。以下に本変形例に係る画像処理システム4について詳細に説明する。以後、画像の画素に対応する量子化ウェーブレット係数の二進値を構成するビットの数をL(Lは2以上の整数)で表す。
本変形例では、IoT端末2が有する画像符号化部24bの符号化部256は、決定部26が決定する送信対象コードブロック中の量子化ウェーブレット係数を構成するLビットを最上位(MSB)から見た場合に初めて1が現れるビット位置よりも1ビットだけ上位のビット位置を第1ビット位置する。また符号化部256は、第1ビット位置からMビット数(Mは1以上の整数)だけ下位のビット位置を第2ビット位置する。符号化部256は、Lビットのうち、最上位から第2ビット位置までのビットを対象ビットとし、それ以外のビットを対象外ビットとする。符号化部256は、Lビットのうちの対象ビットを圧縮符号化する。つまり、符号化部256は、対象ビットだけに対してビットプレーン符号化及びエントロピー符号化を行う。そして、符号化部256は、Lビットのうちの対象外ビットを切り捨てて圧縮符号化しない。これにより、送信対象コードブロック中の各量子化ウェーブレット係数については、それを構成するLビットのうちの圧縮符号化された対象ビットだけが、ゲートウェイ3に送信される。
なお、Lビットの最上位のビットが“1”の場合、符号化部256は、その最上位よりも1ビットだけ上位の仮想的なビット位置を第1ビット位置として、対象ビットを決定する。また、第1ビット位置からMビット数だけ下位のビット位置が、Lビットの最下位(LSB)を超える場合には、第2ビット位置は当該最下位に設定される。
図49,50は、圧縮符号化される対象ビットの一例を示す図である。図49,50の例では、L=11、M=3とされている。図49に示される量子化ウェーブレット係数の二進値は“000 1101 0111”で構成されている。この場合、対象ビットは“000110”の6ビットとなり、対象外ビットは“10111”の5ビットとなる。符号化部256は、対象ビット“000110”だけを圧縮符号化する。また、図50に示される量子化ウェーブレット係数の二進値は“010 0011 0101”で構成されている。この場合、対象ビットは“0100”の4ビットとなり、対象外ビットは“0110101”の7ビットとなる。符号化部256は、対象ビット“0100”だけを圧縮符号化する。
圧縮符号化される対象ビットを決定するMの値は、例えばゲートウェイ3によって決定される。ゲートウェイ3は、画像符号化データ504を用いて行う処理に応じてMの値を決定する。よって、Mの値は、ゲートウェイ3が画像符号化データ504を用いて行う処理に応じた値となる。
例えば、ゲートウェイ3は、上述の図29に示されるように、画像符号化データ504を用いて画像認識処理を行う場合には、図49,50の例のようにMの値を例えば3に設定する。またゲートウェイ3は、解像度が高い画像を示す画像符号化データ504を用いて処理を行う場合には、Mの値を例えば5に設定する。ゲートウェイ3は、設定したMの値をIoT端末2に通知する。IoT端末2の符号化部246は、ゲートウェイ3から通知されるMの値に基づいて対象ビットを決定する。
IoT端末2からビットストリーム505を受信したゲートウェイ3では、画像復号化部31bの復号化部311が、IoT端末2からの画像符号化データ504を伸張復号化して、送信対象コードブロック中の量子化ウェーブレット係数を復元する。そして復号化部311は、復元した量子化ウェーブレット係数を構成する対象ビットに対してビットを追加して、Lビットの量子化ウェーブレット係数を生成する。
ここで、復元された量子化ウェーブレット係数を構成する対象ビットのビット数をN(1以上の整数)とする。復号化部311は、復元した量子化ウェーブレット係数を構成する対象ビットよりも下位のビットとして、(L−N)個の0を当該対象ビットに追加する。これにより、Lビットから成る量子化ウェーブレット係数が得られる。ゲートウェイ3は、Mの値と、IoT端末2から送信される零ビットプレーン情報とに基づいて、対象ビットのビット数Nを特定することができる。復号化部311で生成された、Lビットから成る量子化ウェーブレット係数は、逆量子化部314に入力される。
図51,52は、復号化部311で生成される、Lビットから成る量子化ウェーブレット係数の一例を示す図である。図51には、IoT端末2が、上述の図49に示される対象ビット“000110”を送信する場合の例が示されている。図52には、IoT端末2が、上述の図50に示される対象ビット“0100”を送信する場合の例が示されている。
図51に示されるように、復号化部311は、6ビットの対象ビット“000110”から成る量子化ウェーブレット係数を復元すると、対象ビット“000110”よりも下位のビットとして、5個の0を追加ビットとして対象ビット“000110”に追加する。これにより、11ビット(Lビット)の“000 1100 0000”から成る量子化ウェーブレット係数が得られる。
また図52に示されるように、復号化部311は、4ビットの対象ビット“0100”から成る量子化ウェーブレット係数を復元すると、対象ビット“0100”よりも下位のビットとして、7個の0を追加ビットとして対象ビット“0100”に追加する。これにより、11ビット(Lビット)の“010 0000 0000”から成る量子化ウェーブレット係数が得られる。
図49〜52の例では、図49,50と図51,52とをそれぞれ比較して理解できるように、復号化部311で生成される11ビットの量子化ウェーブレット係数が示す情報では、IoT端末2で生成される11ビットの量子化ウェーブレット係数が示す情報と比較して、下位のビットの情報が失われる。したがって、逆量子化部314から出力されるWT復号化データ511が示す画像の解像度は低くなる。
このように、本変形例では、送信対象コードブロック中の、画素に対応する量子化ウェーブレット係数を構成するLビットのうち、最上位から、ゲートウェイ3での処理に応じたMの値で決まる第2ビット位置までのビットだけが、圧縮符号化されてゲートウェイ3に送信される。したがって、IoT端末2がゲートウェイ3に送信するデータ量を、ゲートウェイ3での処理に応じて調整することができる。よって、IoT端末2の消費電力を低減することができるとともに、IoT端末2から送信されるデータの送信遅延を低減することができる。
また、対象ビットを決定するMの値を調整することによって、ゲートウェイ3で使用される画像の解像度を簡単に調整することができる。つまり、Mの値を大きくすることによって、ゲートウェイ3で使用される画像の解像度を高くすることができ、Mの値を小さくすることによって、ゲートウェイ3で使用される画像の解像度を低くすることができる。
なお、IoT端末2は、ゲートウェイ3からMの値が通知されない場合には、量子化ウェーブレット係数を構成するLビットのすべてを圧縮符号化してゲートウェイ3に送信してもよい。
またゲートウェイ3は、量子化ウェーブレット係数を構成するLビットにおいて、対象ビットとして過去に受信して第1メモリ323に記憶している上位のビットが存在する場合に、解像度が高い画像を用いた処理を行いたいときには、第1メモリ323に記憶されている当該上位のビットよりも下位の必要なビットだけをIoT端末2に送信させてもよい。この場合には、ゲートウェイ3は、第1メモリ323内の上位のビットに対して、後から受信した下位のビットを追加することによって、情報損失が少ないLビットの量子化ウェーブレット係数を生成することができる。よって、ゲートウェイ3は、解像度が高い画像を用いた処理が可能となる。また、IoT端末2は、すでに送信したデータを再度送信することがないことから、IoT端末2の処理が簡素化する。
例えば、ゲートウェイ3が、解像度が高い画像を用いた処理を行うために、IoT端末2が生成する量子化ウェーブレット係数を構成するLビットのすべてが必要であるとする。また、ゲートウェイ3は、量子化ウェーブレット係数を構成するLビットのうち、例えば図49に示される上位6ビット“000110”を対象ビットとしてすでに受信して第1メモリ323に記憶しているとする。このような場合、ゲートウェイ3は、必要な残りの下位5ビット、つまり“10111”だけを送信するようにIoT端末2に指示する。この指示を受けたIoT端末2は、下位の5ビット“10111”だけを圧縮復号化してゲートウェイ3に送信する。ゲートウェイ3は、第1メモリ323内の上位の“000110”に対して、新たに受信した下位の“10111”を追加して、11ビットの“000 1101 0111”から成る量子化ウェーブレット係数を生成する。
また、ゲートウェイ3が、解像度が高い画像を用いた処理を行うために、IoT端末2が生成する量子化ウェーブレット係数を構成するLビットのうちの上位9ビットが必要であるとする。また、ゲートウェイ3は、量子化ウェーブレット係数を構成するLビットのうち、例えば図50に示される上位4ビット“0100”を対象ビットとしてすでに受信して第1メモリ323に記憶しているとする。このような場合、ゲートウェイ3は、必要な残りの5ビット“01101”(第2ビット位置の次のビット位置から5ビット分)だけを送信するようにIoT端末2に指示する。この指示を受けたIoT端末2は、5ビット“01101”だけを圧縮復号化してゲートウェイ3に送信する。ゲートウェイ3は、第1メモリ323内の上位の“0100”に対して、新たに受信した5ビット“01101”を下位に追加し、さらに2個の0を追加して、11ビットの“010 0011 0100”から成る量子化ウェーブレット係数を生成する。
<第5変形例>
本変形例では、IoT端末2は、ビットストリーム505をマルチレイヤー化することが可能である。図53は、本変形例に係るIoT端末2の画像符号化部24bの構成の一例を示す図である。図54は、本変形例に係るゲートウェイ3の画像復号化部31bの構成の一例を示す図である。
本変形例では、IoT端末2は、ビットストリーム505をマルチレイヤー化することが可能である。図53は、本変形例に係るIoT端末2の画像符号化部24bの構成の一例を示す図である。図54は、本変形例に係るゲートウェイ3の画像復号化部31bの構成の一例を示す図である。
図53に示されるように、本変形例に係る画像符号化部24bは、上述の図5に示される画像符号化部24bにおいて、レイヤー分割処理部250をさらに備えるものである。レイヤー分割処理部250は、ビットストリーム生成部249から出力されるビットストリーム505をマルチレイヤー化することが可能である。ビットストリーム505では、コードブロック単位でデータが並べられている。レイヤー分割処理部250は、ビットストリーム505をマルチレイヤー化する場合には、ビットストリーム505に含まれる画像符号化データ504を複数のレイヤーに分割し、当該複数のレイヤーの少なくとも一つのレイヤーのデータを含むビットストリーム505aを出力する。一方で、レイヤー分割処理部250は、ビットストリーム505をマルチレイヤー化せずにそのまま出力することも可能である。この場合には、レイヤー分割処理部250は、ビットストリーム505をそのままビットストリーム505aとして出力する。レイヤー分割処理部250で生成されたビットストリーム505aは、送信部25aからゲートウェイ3に送信される。
なお、レイヤー分割処理部250の少なくとも一部は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてよい。また、レイヤー分割処理部250の少なくとも一部は、コンピュータがプログラムを実行することによって実現される機能ブロックであってもよい。
図54に示されるように、本変形例に係る画像復号化部31bは、上述の図23に示される画像復号化部31bにおいて、レイヤー合成処理部315をさらに備えるものである。レイヤー合成処理部315は、ゲートウェイ3がIoT端末2から、複数のレイヤーのデータを含むビットストリーム505aを受信する場合には、当該ビットストリーム505aに含まれる、同一サブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム505b、つまりコードブロック単位でデータが並べられたビットストリーム505bを生成して出力する。一方で、レイヤー合成処理部315は、ゲートウェイ3がIoT端末2からマルチレイヤー化されていないビットストリーム505a(ビットストリーム505)を受信する場合と、一つのレイヤーのデータだけを含むビットストリーム505aを受信する場合には、当該ビットストリーム505aをそのままビットストリーム505bとして出力する。
ビットストリーム解析部310は、上記と同様にして、ビットストリーム505bを解析して、当該ビットストリーム505bから、画像符号化データ504aと付加情報とを抽出する。画像符号化データ504aは、画像符号化データ504と同様に、主画像データの少なくとも一部が階層符号化されたデータである。ビットストリーム解析部310は、抽出した画像符号化データ504aを復号化部311及びデータ処理部32に出力する。復号化部311及びデータ処理部32のそれぞれは、画像符号化データ504に対する処理と同様にして、画像符号化データ504aを処理する。なお、ゲートウェイ3がIoT端末2からマルチレイヤー化されていないビットストリーム505a(ビットストリーム505)を受信する場合には、画像符号化データ504aは、IoT端末2で生成される画像符号化データ504と一致する。
<レイヤー分割処理部の詳細説明>
図55はレイヤー分割処理部250の構成の一例を示す図である。図55に示されるように、レイヤー分割処理部250は、メモリ251と、レイヤー分割制御部252と、多重化部253と、優先度テーブル254とを備える。
図55はレイヤー分割処理部250の構成の一例を示す図である。図55に示されるように、レイヤー分割処理部250は、メモリ251と、レイヤー分割制御部252と、多重化部253と、優先度テーブル254とを備える。
優先度テーブル254 は、ウェーブレット平面を構成する複数のサブバンドのそれぞれに対して設定された優先度を記憶している。各サブバンドの優先度は、当該サブバンドの分解レベルに応じて設定されている。レイヤー分割処理部250では、優先度テーブル255内の優先度に基づいて、ビットストリーム505がマルチレイヤー化される。
レイヤー分割制御部252は、ビットストリーム生成部249で生成されるビットストリーム505をメモリ251に記憶する。レイヤー分割制御部252は、ビットストリーム505をマルチレイヤー化する場合には、メモリ251から、ビットストリーム505に含まれる画像符号化データ504を読み出し、読み出した画像符号化データ504を複数のレイヤーに分割する。そして、レイヤー分割制御部252は、複数のレイヤーのうちの少なくとも一つのレイヤーのデータを多重化部253に出力する。多重化部523は、レイヤー分割制御部252が出力するデータを多重化して、少なくとも一つのレイヤーのデータを含むビットストリーム505aを生成して出力する。
一方で、レイヤー分割制御部252は、ビットストリーム505をマルチレイヤー化しない場合には、メモリ251からビットストリーム505を読み出してそのまま多重化部253に出力する。多重化部253は、入力されたビットストリーム505をそのままビットストリーム505aとして出力する。IoT端末2がビットストリーム505をマルチレイヤー化するか否かについては、ゲートウェイ3からの指示情報518によって指定される。
図56は各サブバンドに設定された優先度の一例を示す図である。図56の例では、LL3サブバンドに対して優先度4が設定され、LH3サブバンド及びHL3サブバンドに対して優先度3が設定されている。また、HH3サブバンド、LH2サブバンド及びHL2サブバンドに対して優先度2が設定され、HH2サブバンド、LH1サブバンド及びHL1サブバンドに対して優先度1が設定されている。そして、HH1サブバンドに対して優先度0が設定されている。なお、各サブバンドの優先度の値は図56の例には限られない。
レイヤー分割制御部252は、ビットストリーム505をマルチレイヤー化する場合には、画像符号化データ504に含まれる各コードブロックに対してビットシフト処理を行う。以下にビットシフト処理について詳細に説明する。本変形例では、説明対象のコードブロックを対象コードブロックと呼ぶ。
レイヤー分割処理部252は、対象コードブロックに対するビットシフト処理において、まず、対象コードブロックが属するサブバンドに設定された優先度を優先度テーブル254から取得する。レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを、取得した優先度と同じ数のビット数だけビットシフトする。これにより、対象コードブロックに対してビットシフト処理が行われる。
対象コードブロックが、例えばLL3サブバンドに属する場合には、レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを4ビットだけ同じ方向にビットシフトする。また、対象コードブロックが、例えばHH3サブバンドに属する場合には、レイヤー分割制御部252は、対象コードブロックの各係数について、当該係数を構成するLビットのデータを2ビットだけ同じ方向にビットシフトする。なお、HH1サブバンドに設定されている優先度は0であるため、HH1サブバンドに属する対象コードブロックに対してビットシフト処理が行われたとしても、対象コードブロックの各係数は実際にはビットシフトされない。以後、ビットシフト処理が行われたコードブロックをシフト処理済みコードブロックと呼ぶことがある。
レイヤー分割制御部252は、画像符号化データ504に含まれる各コードブロックに対してビットシフト処理を行うと、各シフト処理済みコードブロックを複数のレイヤーに分割するレイヤー分割処理を行う。
図57は、レイヤー分割処理の一例を説明するための図である。図57には、シフト処理済みコードブロックの係数(ビットシフトされた係数)を構成するLビット(図57の例では11ビット)のデータ5700が示されている。Lビットのデータ5700に示される0〜10の番号は、当該データ570内での各ビットのビット位置を示している。0番はLSBを示し、10番はMSBを示している。
図57に示されるように、LL3サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は4ビットだけビットシフトされている。LH3サブバンド及びHL3サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は3ビットだけビットシフトされている。HH3サブバンド、LH2サブバンド及びHL2サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は2ビットだけビットシフトされている。HH2サブバンド、LH1サブバンド及びHL1サブバンドに属するコードブロックの係数を構成するLビットのデータ5700は1ビットだけビットシフトされている。そして、HH1サブバンドに属するコードブロックの係数を構成するLビットのデータ5700はビットシフトされていない。
本変形例では、シフト処理済みコードブロックに関して、図57の下側に示されるように、HH1サブバンドの係数を構成するLビットのデータ5700の最下位のビット位置から、LL3サブバンドのビットシフトされた係数を構成するLビットのデータ5700の最上位のビット位置までに対して、0〜14までの番号がそれぞれ割り当てられている。
レイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が12番から14番までのビットをレイヤー0とし、ビット位置が9番から11番までのビットをレイヤー1とする。またレイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が6番から8番までのビットをレイヤー2とし、ビット位置が3番から5番までのビットをレイヤー3とする。そして、レイヤー分割制御部252は、ビットシフト処理後のコードブロックの係数を構成するLビットのデータ5700のうち、ビット位置が0番から2番までのビットをレイヤー4とする。
以上のようにして、画像符号化データ504が複数のレイヤーに分割されると、レイヤー分割制御部252は、複数のレイヤーのうち、ゲートウェイ3に送信するレイヤーのデータを多重化部253に出力する。IoT端末2がゲートウェイ3に送信するレイヤーについては、ゲートウェイ3からの指示情報518によって指定される。ゲートウェイ3は、複数のレイヤーのうち、どのレイヤーのデータを送信すべきかIoT端末2に対して自由に指示することができる。多重化部253は、レイヤー分割制御部252からのデータを多重化して、ゲートウェイ3に送信するレイヤーのデータを含むビットストリーム505aを生成する。なお、Lビットのデータ5700を複数のレイヤーに分割する方法は図57の例には限られない。
<レイヤー合成処理部の詳細説明>
図58はレイヤー合成処理部315の構成の一例を示す図である。図58に示されるように、レイヤー合成処理部315は、メモリ316及びレイヤー合成制御部317を備える。
図58はレイヤー合成処理部315の構成の一例を示す図である。図58に示されるように、レイヤー合成処理部315は、メモリ316及びレイヤー合成制御部317を備える。
レイヤー合成制御部317は、IoT端末2からのビットストリーム505aをメモリ316に記憶する。また、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム505aがマルチレイヤー化されてない場合には、当該ビットストリーム505aをそのままビットストリーム505bとして出力する。また、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム505aがマルチレイヤー化されている場合であって、当該ビットストリーム505aに一つのレイヤーのデータしか含まれていない場には、当該ビットストリーム505aをそのままビットストリーム505bとして出力する。
一方で、レイヤー合成制御部317は、ゲートウェイ3が受信したビットストリーム505aがマルチレイヤー化されている場合であって、当該ビットストリーム505aに複数のレイヤーのデータが含まれている場合には、同じサブバンドについての複数のレイヤーのデータを合成して、マルチレイヤー化されてないビットストリーム505b(ビットストリーム505のように、コードブロック単位でデータが並べられたビットストリーム505b)を生成して出力する。
<本変形例に係る画像処理システムの動作例>
次に、ビットストリーム505がマルチレイヤー化される場合の本変形例に係る画像処理システム4全体での動作例について説明する。
次に、ビットストリーム505がマルチレイヤー化される場合の本変形例に係る画像処理システム4全体での動作例について説明する。
ゲートウェイ3は、対象主画像に対する処理が開始すると、例えば、LL3サブバンドの各コードブロックのレイヤー0のデータを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LL3サブバンドの各コードブロックを送信対象コードブロックとして画像符号化データ504を生成する。そして、IoT端末2では、レイヤー分割処理部250が、画像符号化データ504を含むビットストリーム505をマルチレイヤー化して、LL3サブバンドの各コードブロックのレイヤー0のデータを生成する。そして、レイヤー分割処理部250は、LL3サブバンドの各コードブロックのレイヤー0のデータを含むビットストリーム505aを生成してゲートウェイ3に送信する。
ゲートウェイ3では、レイヤー合成処理部315は、IoT端末2から受け取ったビットストリーム505aをそのままビットストリーム505bとして出力する。そして、ゲートウェイ3は、ビットストリーム505bに含まれる、LL3サブバンドの各コードブロックのレイヤー0のデータを認識用データ512とする。このとき、LL3サブバンドの各係数のデータがLビットのデータとなるように、当該各係数のデータに対して、8個の0が下位ビットとして追加される(上述の図51,52参照)。ゲートウェイ3は認識用データ512に対して画像認識処理を行う。
ゲートウェイ3が検出対象物を検出すると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL2サブバンドを処理対象とするために、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックを送信対象コードブロックとして画像符号化データ504を生成する。そして、IoT端末2では、レイヤー分割処理部250が、画像符号化データ504を含むビットストリーム505をマルチレイヤー化して、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを生成する。そして、レイヤー分割処理部250は、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム505aを生成してゲートウェイ3に送信する。IoT端末2は、マルチレイヤー化されたビットストリーム505aを送信する場合には、上位のレイヤーのデータから順に送信する。ここでは、IoT端末2は、LH3サブバンド、HL3サブバンド及びHH3サブバンドのレイヤー0のデータを送信した後に、LL3サブバンド、LH3サブバンド、HL3サブバンド及びHH3サブバンドのレイヤー1のデータを送信する。
ゲートウェイ3では、レイヤー合成処理部315のレイヤー合成制御部317は、IoT端末2から受け取ったビットストリーム505aをメモリ316に記憶する。そして、レイヤー合成制御部317は、メモリ316から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム505bを生成する。
具体的には、レイヤー合成制御部317は、メモリ316から、LH3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、LH3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、LH3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたLH3サブバンドのデータと呼ぶ。
同様に、レイヤー合成制御部317は、メモリ316から、HL3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HL3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HL3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHL3サブバンドのデータと呼ぶ。
同様に、レイヤー合成制御部317は、メモリ316から、HH3サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HH3サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HH3サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHH3サブバンドのデータと呼ぶ。
そして、レイヤー合成制御部317は、シングルレイヤー化されたLH3サブバンドのデータと、シングルレイヤー化されたHL3サブバンドのデータと、シングルレイヤー化されたHH3サブバンドのデータと、LL3サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム505bを生成する。このビットストリーム505bでは、コードブロック単位でデータが並んでいる。
このように、ゲートウェイ3は、シングルレイヤー化されたビットストリーム505bを生成することから、IoT端末2から、マルチレイヤー化されたビットストリーム505aが送信される場合であっても、マルチレイヤー化されていないビットストリーム505aが送信される場合であっても、同じ構成の復号化部311を使用することができる。よって、ゲートウェイ3の構成を簡素化することができる。
ゲートウェイ3は、シングルレイヤー化されたビットストリーム505bを生成した後、すでに受け取っているLL3サブバンドの各コードブロック570のレイヤー0のデータと、ビットストリーム505bに含まれる、LL3サブバンドの各コードブロック570のレイヤー1のデータと、ビットストリーム505bに含まれる、LH3サブバンド、HL3サブバンド及びHH3サブバンドの各コードブロックのレイヤー0及び1のデータとから成る逆変換対象データ522を生成する。このとき、ゲートウェイ3は、LL3サブバンドの各係数のデータがLビットのデータとなるように、当該各係数のデータに対して必要な数だけ0を下位ビットとして追加する(上述の図51,52参照)。LH3サブバンド、HL3サブバンド及びHH3サブンドについても同様である。そして、ゲートウェイ3は、生成した逆変換対象データ522に対して逆ウェーブレット変換を行い、それによって生成されたデータを認識用データ512として画像認識処理を行う。
ここで、逆変換対象データ522を逆ウェーブレット変換した場合には、それによって生成されるデータが示す画像にひずみが発生し、当該画像の品質が劣化する可能性がある。本変形例では、逆ウェーブレット変換を使用してLL2サブバンドのデータを生成する際に、レイヤー0のデータだけではなく、レイヤー1のデータも使用していることから、レイヤー0のデータだけを使用する場合と比較して、逆ウェーブレット変換によって生成されたデータが示す画像の品質を向上することができる。なお、レイヤー0のデータだけを使用して逆ウェーブレット変換してもよい。また、レイヤー0〜3のデータを使用して逆ウェーブレット変換してもよいし、レイヤー0〜4のデータを使用して逆ウェーブレット変換してもよい。
ゲートウェイ3が画像認識処理を行った結果、検出対象物が検出されると、対象主画像に対する処理が終了する。一方で、ゲートウェイ3は、検出対象物を検出しない場合には、LL1サブバンドを処理対象とするために、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータ(HH2サブバンドにはレイヤー0のデータは存在しない)とを指定データとして指示情報518を送信する。この指示情報518を受け取ったIoT端末2は、LH2サブバンド、HL2サブバンド及びHH2サブバンドの各コードブロックを送信対象コードブロックとして画像符号化データ504を生成する。そして、IoT端末2では、レイヤー分割処理部250が、画像符号化データ504を含むビットストリーム505をマルチレイヤー化して、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを生成する。そして、レイヤー分割処理部250は、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム505aを生成してゲートウェイ3に送信する。このとき、IoT端末2は、LH2サブバンド及びHL2サブバンドのレイヤー0のデータを送信した後に、LH2サブバンド、HL2サブバンド及びHH2サブバンドのレイヤー1のデータを送信する。
ゲートウェイ3では、レイヤー合成制御部317は、IoT端末2から受け取ったビットストリーム505aをメモリ316に記憶する。そして、レイヤー合成制御部317は、メモリ316から、同一サブバンドの複数のレイヤーのデータを読み出して合成して、シングルレイヤー化されたビットストリーム505bを生成する。
具体的には、レイヤー合成制御部317は、メモリ316から、LH2サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、LH2サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、LH2サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたLH2サブバンドのデータと呼ぶ。
同様に、レイヤー合成制御部317は、メモリ316から、HL2サブバンドのレイヤー0及び1のデータを読み出す。そして、レイヤー合成制御部317は、読み出した、HL2サブバンドのレイヤー0及び1のデータを合成して、コードブロック単位でデータが並ぶ、HL2サブバンドにおける、IoT端末2が送信したデータを生成する。以後、このデータを、シングルレイヤー化されたHL2サブバンドのデータと呼ぶ。
そして、レイヤー合成制御部317は、シングルレイヤー化されたLH2サブバンドのデータと、シングルレイヤー化されたHL2サブバンドのデータと、HH2サブバンドの各コードブロックのレイヤー1のデータとを含むビットストリーム505bを生成する。このビットストリーム505bでは、コードブロック単位でデータが並んでいる。
ゲートウェイ3は、シングルレイヤー化されたビットストリーム505bを生成した後、すでに取得している、LL2サブバンドの各コードブロックのデータと、ビットストリーム505bに含まれる、LH2サブバンド及びHL2サブバンドの各コードブロックのレイヤー0及び1のデータと、ビットストリーム505bに含まれる、HH2サブバンドの各コードブロックのレイヤー1のデータとから成る逆変換対象データ522を生成する。このとき、ゲートウェイ3は、LL2サブバンドの各係数のデータがLビットのデータとなるように、当該各係数のデータに対して必要な数だけ0を下位ビットとして追加する(上述の図51,52参照)。LH2サブバンド、HL2サブバンド及びHH2サブンドについても同様である。そして、ゲートウェイ3は、生成した逆変換対象データ522に対して逆ウェーブレット変換を行い、それによって生成されたデータを認識用データ512として画像認識処理を行う。その後、対象主画像に対する処理が終了する。
このように、本変形例に係る画像処理システム4では、IoT端末2がレイヤー単位でデータを送信することができることから、IoT端末2の消費電力を低減することができる。
なお、ビットストリーム505がマルチレイヤー化される場合の画像処理システム4の動作は上記の例には限られない。例えば、ゲートウェイ3は、上述のCB対応関係情報を使用して指定データを決定してもよい。
<その他の変形例>
上記の各例では、情報処理システム1は、IoTシステムとして使用されているが、他のシステムとして使用されてもよい。
上記の各例では、情報処理システム1は、IoTシステムとして使用されているが、他のシステムとして使用されてもよい。
また上記の各例では、JPEG2000に基づいて画像データを階層化しているが、JPEG2000でのサブバンド分割と同様にして画像データを階層化する他の規格に基づいて画像データを階層化してもよい。
以上のように、情報処理システム1、画像処理システム4及び画像処理装置2,3は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
1 情報処理システム
2 画像処理装置(IoT端末)
3 画像処理装置(ゲートウェイ)
4 画像処理システム
22b 主画像メモリ
23 マスク生成部
24a マスク符号化部
25a 送信部
26 決定部
27 動き検出部
30a 受信部
33 画像認識部
240 階層化部(生成部)
246 符号化部
321 第1処理部
2 画像処理装置(IoT端末)
3 画像処理装置(ゲートウェイ)
4 画像処理システム
22b 主画像メモリ
23 マスク生成部
24a マスク符号化部
25a 送信部
26 決定部
27 動き検出部
30a 受信部
33 画像認識部
240 階層化部(生成部)
246 符号化部
321 第1処理部
Claims (28)
- 第1画像を示す階層化されたデータを生成する生成部と、
前記階層化されたデータから、所定の基準に基づいて、送信対象データを決定する第1決定部と、
前記第1決定部で決定された前記送信対象データを圧縮符号化して第1符号化データを生成する第1符号化部と、
前記第1符号化データを送信する第1送信部と
を備える画像処理装置。 - 請求項1に記載の画像処理装置であって、
前記第1画像に関する第1処理を行う第1処理部をさらに備え、
前記第1決定部は、前記第1処理の結果に基づいて、前記送信対象データを決定する、画像処理装置。 - 請求項2に記載の画像処理装置であって、
前記第1処理には、前記第1画像における第1関心領域を特定するためのマスクデータを生成する処理が含まれ、
前記第1決定部は、前記マスクデータに基づいて、前記送信対象データを決定する、画像処理装置。 - 請求項3に記載の画像処理装置であって、
前記第1処理部は、前記第1画像を縮小した縮小画像を示す縮小画像データに基づいて前記マスクデータを生成する、画像処理装置。 - 請求項3及び請求項4のいずれか一つに記載の画像処理装置であって、
前記マスクデータを圧縮符号化して第2符号化データを生成する第2符号化部をさらに備え、
前記第1送信部は、前記第2符号化データを送信する、画像処理装置。 - 請求項1乃至請求項5のいずれか一つに記載の画像処理装置であって、
前記第1送信部から送信される前記第1符号化データを受信し、受信した当該第1符号化データに基づいて処理を行う装置からの指示情報に基づいて、前記決定部は前記送信対象データを決定する、画像処理装置。 - 請求項1乃至請求項6のいずれか一つに記載の画像処理装置であって、
前記第1画像の撮影範囲での物体の動きを検出する検出部をさらに備え、
前記第1送信部は、前記動きが検出されたとき、前記第1符号化データを送信する、画像処理装置。 - 請求項7に記載の画像処理装置であって、
前記検出部は、前記第1画像を縮小した縮小画像を示す縮小画像データに基づいて前記動きを検出する、画像処理装置。 - 請求項7及び請求項8のいずれか一つに記載の画像処理装置であって、
前記第1符号化部及び前記決定部の少なくとも一方は、前記動きが検出されないときに停止し、前記動きが検出されると動作する、画像処理装置。 - 請求項7乃至請求項9のいずれか一つに記載の画像処理装置であって、
前記第1画像を示す第1画像データを記憶する画像メモリをさらに備え、
前記生成部は、前記画像メモリ内の前記第1画像データを階層化することによって、前記階層化されたデータを生成し、
前記画像メモリは、前記動きが検出されないときに停止し、前記動きが検出されると動作する、画像処理装置。 - 請求項1乃至請求項10のいずれか一つに記載の画像処理装置であって、
前記第1画像を縮小した縮小画像を示す縮小画像データを圧縮符号化して第3符号化データを生成する第3符号化部をさらに備え、
前記第1送信部は、前記第3符号化データを送信する、画像処理装置。 - 請求項1乃至請求項11のいずれか一つに記載の画像処理装置であって、
前記第1送信部は、パケット化されていない前記第1符号化データを送信する、画像処理装置。 - 請求項1乃至請求項12のいずれか一つに記載の画像処理装置であって、
前記第1送信部から送信される前記第1符号化データは、当該第1符号化データに基づいて所定の処理を行う装置で受信され、
前記送信対象データに含まれる、画素に対応する値を構成する複数のビットを最上位から見た場合に初めて1が現れるビット位置よりも1ビットだけ上位のビット位置を第1ビット位置とし、当該第1ビット位置から前記所定の処理に応じたビット数だけ下位のビット位置を第2ビット位置とした場合に、前記第1符号化部は、前記複数のビットのうち、前記最上位から前記第2ビット位置までのビットを圧縮符号化し、当該複数のビットの他のビットを圧縮符号化しない、画像処理装置。 - 請求項1乃至請求項13のいずれか一つに記載の画像処理装置であって、
前記第1画像は、カメラで撮影された画像である、画像処理装置。 - 請求項1乃至請求項14のいずれか一つに記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
前記第1装置から送信される前記第1符号化データを受信する受信部と、
前記第1符号化データに基づいて第2処理を行う第2処理部と
を備える、画像処理装置。 - 請求項15に記載の画像処理装置であって、
前記第2処理には、前記第1符号化データに基づく第2画像に対する画像認識処理が含まれる、画像処理装置。 - 請求項15に記載の画像処理装置であって、
前記第2処理には、前記第1符号化データに基づく第2画像における第2関心領域を示す、圧縮符号化された第3符号化データを生成する処理が含まれる、画像処理装置。 - 請求項17に記載の画像処理装置であって、
前記第2処理には、前記第2画像に対する画像認識処理が含まれ、
前記第2処理部は、前記画像認識処理によって特定された領域を前記第2関心領域とする、画像処理装置。 - 請求項6に記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
前記第1装置から送信される前記第1符号化データを受信する受信部と、
前記第1符号化データに基づいて第2処理を行う第2処理部と、
前記第2処理の結果に基づいて、前記第1装置が送信すべきデータを当該第1装置に指示するための指示情報を生成する生成部と、
前記指示情報を前記第1装置に送信する第2送信部と
を備え、
前記第1装置は、前記指示情報に基づいて、前記送信対象データを決定する、画像処理装置。 - 請求項11に記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
前記第1装置から送信される前記第1及び第2符号化データを受信する受信部と、
前記第1符号化データに基づいて第2処理を行う第2処理部と、
前記第2符号化データを伸張復号化して、前記縮小画像を示す復号化データを生成する復号化部と、
前記復号化データに基づいて第3処理を行う第3処理部と
を備える、画像処理装置。 - 請求項13に記載の画像処理装置である第1装置と通信する第2装置である画像処理装置であって、
前記第1装置から送信される前記第1符号化データを受信する受信部と、
前記第1符号化データに基づいて第2処理を行う第2処理部と、
前記第2処理に応じて、前記第2ビット位置を決める前記ビット数を決定する第2決定部と
を備える、画像処理装置。 - 請求項15乃至請求項21のいずれか一つに記載の画像処理装置であって、
前記第2装置は、前記第2処理の結果を送信する、画像処理装置。 - 請求項15乃至請求項22のいずれか一つに記載の画像処理装置であって、
前記第2装置は、前記受信部で受信される前記第1符号化データを、それに対して伸張復号化を行わずに送信する、画像処理装置。 - 請求項1乃至請求項14のいずれか一つに記載の画像処理装置である第1装置と、
請求項15乃至請求項23のいずれか一つに記載の画像処理装置である第2装置と
を備える、画像処理システム。 - 請求項24に記載の画像処理システムと、
前記画像処理システムの前記第2装置から前記第2処理の結果を受け取る第3装置と
備える、情報処理システム。 - 請求項25に記載の情報処理システムであって、
前記第1及び第2装置は、ローカルネットワークで接続され、
前記第2及び第3装置は、インターネットで接続されている、情報処理システム。 - 請求項26に記載の情報処理システムであって、
前記第2装置には複数の前記第1装置が前記ローカルネットワークで接続されている、情報処理システム。 - 画像処理装置での画像処理方法であって、
画像を示す階層化されたデータを生成する工程と、
前記階層化されたデータから、所定の基準に基づいて、送信対象データを決定する工程と、
前記送信対象データを圧縮符号化して符号化データを生成する工程と、
前記符号化データを送信する工程と
を備える、画像処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017080744A JP2018182568A (ja) | 2017-04-14 | 2017-04-14 | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 |
PCT/JP2018/014281 WO2018190198A1 (ja) | 2017-04-14 | 2018-04-03 | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017080744A JP2018182568A (ja) | 2017-04-14 | 2017-04-14 | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018182568A true JP2018182568A (ja) | 2018-11-15 |
Family
ID=63793371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017080744A Pending JP2018182568A (ja) | 2017-04-14 | 2017-04-14 | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2018182568A (ja) |
WO (1) | WO2018190198A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118316941B (zh) * | 2024-06-07 | 2024-08-16 | 特艺(中国)科技有限公司 | 一种基于fttr网关的数据智能分割方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07288806A (ja) * | 1994-04-20 | 1995-10-31 | Hitachi Ltd | 動画像通信システム |
JP2006295299A (ja) * | 2005-04-06 | 2006-10-26 | Megachips Lsi Solutions Inc | デジタル絞りシステム |
US7916961B2 (en) * | 2005-09-06 | 2011-03-29 | Megachips Corporation | Compression encoder, compression encoding method and program |
JP2008005349A (ja) * | 2006-06-23 | 2008-01-10 | Yamaha Corp | 映像符号化装置、映像伝送装置、映像符号化方法及び映像伝送方法 |
JP6471022B2 (ja) * | 2015-03-31 | 2019-02-13 | 株式会社メガチップス | 画像処理システムおよび画像処理方法 |
-
2017
- 2017-04-14 JP JP2017080744A patent/JP2018182568A/ja active Pending
-
2018
- 2018-04-03 WO PCT/JP2018/014281 patent/WO2018190198A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2018190198A1 (ja) | 2018-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3673664B2 (ja) | データ処理装置、データ処理方法及び記憶媒体 | |
CN100527845C (zh) | 用于可缩放图像代码转换的方法 | |
JP4480119B2 (ja) | 画像処理装置及び画像処理方法 | |
WO2018190199A1 (ja) | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 | |
US6917716B2 (en) | Image processing apparatus and method and storage medium | |
US6597739B1 (en) | Three-dimensional shape-adaptive wavelet transform for efficient object-based video coding | |
US7302105B2 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
WO2001076255A1 (en) | Video encoding method using a wavelet transform | |
Tausif et al. | FrWF-based LMBTC: Memory-efficient image coding for visual sensors | |
JP2006014121A (ja) | 画像符号化方法、画像符号化装置および撮像装置 | |
KR20000059799A (ko) | 웨이브릿 부호화를 이용한 움직임 보상 부호화 장치 및 방법 | |
JP3789836B2 (ja) | 画像符号化装置および方法 | |
Aulí-Llinàs et al. | Lossy-to-lossless 3D image coding through prior coefficient lookup tables | |
Ma et al. | Overview of intelligent video coding: from model-based to learning-based approaches | |
JP2004505520A (ja) | ウェーブレット分解を用いたビデオ符号化方法 | |
AU2004314092B2 (en) | Video/image coding method and system enabling region-of-interest | |
Zhang et al. | Scalable Point Cloud Attribute Compression | |
Afsana et al. | Efficient scalable uhd/360-video coding by exploiting common information with cuboid-based partitioning | |
WO2018190198A1 (ja) | 画像処理装置、画像処理システム、情報処理システム及び画像処理方法 | |
Koya et al. | Analysis of application of arithmetic coding on dct and dct-dwt hybrid transforms of images for compression | |
JP2002135593A (ja) | 画像処理装置及びその方法並びに記憶媒体 | |
Ranjan et al. | An Efficient Compression of Gray Scale Images Using Wavelet Transform | |
Luo et al. | Three dimensional subband video analysis and synthesis with adaptive clustering in high frequency subbands | |
WO2024183810A1 (zh) | 编解码方法、装置及其设备 | |
Subramanyan et al. | Entropy Based Model For Lossy Image Compression Scheme Using Wavelets, Svd, And Two-Channel Coding Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170501 |