(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-25
(45)【発行日】2024-01-09
(54)【発明の名称】データ処理装置及びデータ処理プログラム
(51)【国際特許分類】
H04N 19/124 20140101AFI20231226BHJP
H04N 19/136 20140101ALI20231226BHJP
H04N 19/176 20140101ALI20231226BHJP
【FI】
H04N19/124
H04N19/136
H04N19/176
(21)【出願番号】P 2021574421
(86)(22)【出願日】2020-01-31
(86)【国際出願番号】 JP2020003785
(87)【国際公開番号】W WO2021152849
(87)【国際公開日】2021-08-05
【審査請求日】2022-07-29
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100107515
【氏名又は名称】廣田 浩一
(72)【発明者】
【氏名】久保田 智規
(72)【発明者】
【氏名】中尾 鷹詔
(72)【発明者】
【氏名】村田 康之
【審査官】田中 純一
(56)【参考文献】
【文献】特開2017-073755(JP,A)
【文献】特開2016-046707(JP,A)
【文献】特開2016-025494(JP,A)
【文献】特開2003-124815(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像データに対して認識処理が行われた際の、各ブロックの認識結果への影響度に基づいて圧縮レベルが決定された場合において、該圧縮レベルを用いて該画像データに対して圧縮処理を行うことで、圧縮データを生成する符号化部と、
前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果が、所定の条件を満たす場合に、認識対象に対応するブロックについて、前記圧縮レベルを上げる方向に補正する補正部と
を有するデータ処理装置。
【請求項2】
前記補正部は、
前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果が所定の条件を満たさない場合、前記認識対象に対応するブロックについて、前記圧縮レベルを下げる方向に補正する請求項1に記載のデータ処理装置。
【請求項3】
前記補正部は、
前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果に含まれるスコア情報と所定の閾値とを比較することで、前記認識結果が所定の条件を満たすか否かを判定する、請求項1または2に記載のデータ処理装置。
【請求項4】
前記補正部は、
前記画像データに対して認識処理を行った場合の認識結果に含まれるスコア情報と、前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果に含まれるスコア情報とを比較することで、前記認識結果が所定の条件を満たすか否かを判定する、請求項1または2に記載のデータ処理装置。
【請求項5】
圧縮処理される画像データが入力された場合に、該画像データ
に対して認識処理が行われた場合の認識結果に含まれるスコア情報を取得し、該
スコア情報に基づいて、該画像データの変更が必要か否かを判定する判定部と、
前記判定部により、前記画像データの変更が必要でないと判定された場合、入力された前記画像データを出力し、前記判定部により、前記画像データの変更が必要であると判定された場合、
前記スコア情報が最大化するように、前記画像データを変更し、変更後の前記画像データを出力する変更部と
を有するデータ処理装置。
【請求項6】
圧縮データを復号する復号部を更に有し、
前記判定部は、前記復号部により圧縮データが復号されることで生成された画像データに対して認識処理が行われた場合の認識結果
に含まれるスコア情報を取得する、請求項5に記載のデータ処理装置。
【請求項7】
圧縮処理される画像データが入力された場合に、該画像データの認識精度に関わる情報を取得し、該画像データの認識精度に関わる情報に基づいて、該画像データの変更が必要か否かを判定する判定部と、
前記判定部により、前記画像データの変更が必要でないと判定された場合、入力された前記画像データを出力し、前記判定部により、前記画像データの変更が必要であると判定された場合、前記画像データを変更し、変更後の前記画像データを出力する変更部と、を有し、
前記画像データに対して異なる圧縮レベルで圧縮処理が行われ、かつ、
各圧縮データが復号され、各復号データに対して認識処理が行われ、かつ、
各認識処理時の認識結果への影響度がブロックごとに集計された場合において、
前記判定部は、
前記ブロックごとの集計値を、前記画像データの認識結果に関わる情報として取得する
、データ処理装置。
【請求項8】
コンピュータに、
画像データに対して認識処理が行われた際の、各ブロックの認識結果への影響度に基づいて圧縮レベルが決定された場合において、該圧縮レベルを用いて該画像データに対して圧縮処理を行うことで、圧縮データを生成し、
前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果が、所定の条件を満たす場合に、認識対象に対応するブロックについて、前記圧縮レベルを上げる方向に補正する、
処理を実行させるためのデータ処理プログラム。
【請求項9】
コンピュータに、
圧縮処理される画像データが入力された場合に、該画像データ
に対して認識処理が行われた場合の認識結果に含まれるスコア情報を取得し、該
スコア情報に基づいて、該画像データの変更が必要か否かを判定し、
前記画像データの変更が必要でないと判定された場合、入力された前記画像データを出力し、前記画像データの変更が必要であると判定された場合、
前記スコア情報が最大化するように、前記画像データを変更し、変更後の前記画像データを出力する、
処理を実行させるためのデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置及びデータ処理プログラムに関する。
【背景技術】
【0002】
一般に、画像データを記録または伝送する際には、画像データに対して圧縮処理を行い、データサイズを小さくすることで、記録コストの削減や伝送コストの削減を実現している。
【0003】
一方で、近年、AI(Artificial Intelligence)による認識処理に利用される目的で、画像データを記録または伝送するケースが増えてきている。AIの代表的なモデルとして、例えば、深層学習や機械学習を用いたモデルが挙げられる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-101406号公報
【文献】特開2019-079445号公報
【文献】特開2011-234033号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の圧縮処理は、人間の視覚特性に基づいて行われており、AIの動作解析に基づいて行われていない。このため、AIによる認識処理に必要でない領域について、十分な圧縮レベルで圧縮処理が行われていない場合があった。あるいは、AIによる認識処理において重要な領域の画質を劣化させ、復号した際に、十分な認識精度が得られない場合があった。
【0006】
一つの側面では、AIによる認識処理に適した圧縮処理を実現することを目的とする。
【課題を解決するための手段】
【0007】
一態様によれば、データ処理装置は、
画像データに対して認識処理が行われた際の、各ブロックの認識結果への影響度に基づいて圧縮レベルが決定された場合において、該圧縮レベルを用いて該画像データに対して圧縮処理を行うことで、圧縮データを生成する符号化部と、前記圧縮データを復号した復号データに対して認識処理を行った場合の認識結果が、所定の条件を満たす場合に、認識対象に対応するブロックについて、前記圧縮レベルを上げる方向に補正する補正部とを有する。
【発明の効果】
【0008】
AIによる認識処理に適した圧縮処理を実現することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、圧縮処理システムのシステム構成の一例を示す第1の図である。
【
図2】
図2は、解析装置または画像圧縮装置またはデータ処理装置のハードウェア構成の一例を示す図である。
【
図3】
図3は、解析装置の機能構成の一例を示す図である。
【
図5】
図5は、量子化値決定部による処理の具体例を示す図である。
【
図6】
図6は、前景判定部による処理の具体例を示す図である。
【
図7】
図7は、画像圧縮装置の機能構成の一例を示す図である。
【
図8】
図8は、データ処理装置の機能構成の一例を示す第1の図である。
【
図9】
図9は、量子化値補正部の処理の具体例を示す図である。
【
図10】
図10は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第1のフローチャートである。
【
図11】
図11は、圧縮処理システムのシステム構成の一例を示す第2の図である。
【
図12】
図12は、データ処理装置の機能構成の一例を示す第2の図である。
【
図13】
図13は、解析部の処理の具体例を示す第1の図である。
【
図14】
図14は、解析部の処理の具体例を示す第2の図である。
【
図15】
図15は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第2のフローチャートである。
【
図16】
図16は、圧縮処理システムのシステム構成の一例を示す第3の図である。
【
図17】
図17は、圧縮処理システムのシステム構成の一例を示す第4の図である。
【
図18】
図18は、データ処理装置の機能構成の一例を示す第3の図である。
【
図19】
図19は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第3のフローチャートである。
【
図20】
図20は、圧縮処理システムのシステム構成の一例を示す第5の図である。
【
図21】
図21は、圧縮処理システムのシステム構成の一例を示す第6の図である。
【
図22】
図22は、データ処理装置の機能構成の一例を示す第4の図である。
【
図23】
図23は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第4のフローチャートである。
【発明を実施するための形態】
【0010】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0011】
[第1の実施形態]
<圧縮処理システムのシステム構成>
はじめに、第1の実施形態に係るデータ処理装置を含む、圧縮処理システム全体のシステム構成について説明する。
図1は、圧縮処理システムのシステム構成の一例を示す第1の図である。第1の実施形態において、圧縮処理システムが実行する処理は、
・決定量子化値マップを生成する第1のフェーズと、
・決定量子化値マップを補正し、補正後決定量子化値マップを用いて圧縮処理を行い、圧縮データを格納する第2のフェーズと
に大別することができる。
【0012】
図1において、1aは、第1のフェーズにおける圧縮処理システムのシステム構成を示しており、1bは、第2のフェーズにおける圧縮処理システムのシステム構成を示している。
【0013】
図1の1aに示すように、第1のフェーズにおける圧縮処理システム100には、撮像装置110、解析装置120、画像圧縮装置130が含まれる。
【0014】
撮像装置110は、所定のフレーム周期で撮影を行い、画像データを解析装置120に送信する。なお、画像データには、認識対象となるオブジェクトが含まれる。
【0015】
解析装置120は、認識処理を行う学習済みモデルを有する。解析装置120は、画像データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。
【0016】
また、解析装置120は、画像圧縮装置130が画像データに対して異なる圧縮レベル(量子化値)で圧縮処理を行うことで出力した各圧縮データを取得し、各圧縮データを復号することで、各復号データを生成する。更に、解析装置120は、各復号データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。
【0017】
また、解析装置120は、例えば、誤差逆伝播法を用いて認識処理時の学習済みモデルの動作解析を行うことで、認識結果への影響度を示すマップ(重要特徴マップと称す)を生成する。更に、解析装置120は、重要特徴マップに基づいて、所定領域ごと(圧縮処理が行われる際に用いられるブロックごと)に影響度を集計する。
【0018】
なお、解析装置120では、各ブロックに量子化値を設定した量子化値マップ(可変)を、順次、画像圧縮装置130に送信することで、異なる圧縮レベル(量子化値)での圧縮処理を、画像圧縮装置130に指示する。
【0019】
また、解析装置120は、各復号データに対して認識処理を行うごとに集計した各ブロックの影響度の集計値に基づき、ブロックごとに集計値グラフを生成する。集計値グラフは、各圧縮レベル(各量子化値)に対する、集計値の変化を示すグラフである。また、解析装置120は、ブロックごとの集計値グラフそれぞれに基づいて、各ブロックの最適な圧縮レベル(量子化値)を決定する。
【0020】
以下、解析装置120において決定された各ブロックの最適な量子化値を"決定量子化値"と称する。また、各ブロックに決定量子化値が設定されたマップを"決定量子化値マップ"と称する。なお、解析装置120は、決定量子化値マップをデータ処理装置140に送信する。
【0021】
このように、学習済みモデルの動作解析を行い、認識結果への影響度をブロックごとに集計することで、解析装置120によれば、画像データに対して圧縮処理を行うにあたり、認識処理に適した圧縮レベルを決定することができる。
【0022】
一方、
図1の1bに示すように、第2のフェーズにおける圧縮処理システム100には、解析装置120、画像圧縮装置130、データ処理装置140、ストレージ装置150が含まれる。
【0023】
第2のフェーズにおいて、解析装置120は、画像データを画像圧縮装置130とデータ処理装置140とに送信する。
【0024】
データ処理装置140は、解析装置120より送信された画像データに対して、第1のフェーズにおいて解析装置120より送信された決定量子化値マップを用いて圧縮処理を行う。また、データ処理装置140は、圧縮データを復号し、復号データに対して認識処理を行うことで、認識結果を出力する。
【0025】
また、データ処理装置140は、決定量子化値マップの各ブロックに設定された量子化値のうち、認識対象となるオブジェクトに対応するブロックの量子化値を、所定のきざみ幅で増減させながら各復号データに対して認識処理を行う。更に、データ処理装置140は、画像データの認識結果に基づいて予め規定した認識結果の許容範囲と、各復号データの認識結果とを比較し、規定した許容範囲内に収まる認識結果が出力されうる最大の量子化値を探索する。
【0026】
また、データ処理装置140は、探索した最大の量子化値を用いて、決定量子化値マップのオブジェクトに対応するブロックの量子化値を補正し、補正後決定量子化値マップを生成する。更に、データ処理装置140は、生成した補正後決定量子化値マップを画像圧縮装置130に送信する。
【0027】
画像圧縮装置130は、送信された補正後決定量子化値マップを用いて画像データに対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0028】
このように、第1の実施形態に係るデータ処理装置140では、解析装置120が各ブロックの認識結果への影響度に基づき決定量子化値マップを生成した場合において、認識結果に基づいて、認識対象となるオブジェクトに対応するブロックの量子化値を補正する。
【0029】
これにより、第1の実施形態に係るデータ処理装置140によれば、認識結果を維持しつつ、圧縮レベルを向上させることができる。つまり、第1の実施形態に係るデータ処理装置140によれば、AIによる認識処理に適した圧縮処理を実現することができる。
【0030】
<解析装置または画像圧縮装置またはデータ処理装置のハードウェア構成>
次に、解析装置120及び画像圧縮装置130及びデータ処理装置140のハードウェア構成について説明する。なお、解析装置120と画像圧縮装置130とデータ処理装置140とは、同様のハードウェア構成を有するため、ここでは、
図2を用いて、これらの装置の説明をまとめて行う。
【0031】
図2は、解析装置または画像圧縮装置またはデータ処理装置のハードウェア構成の一例を示す図である。解析装置120または画像圧縮装置130またはデータ処理装置140は、プロセッサ201、メモリ202、補助記憶装置203、I/F(Interface)装置204、通信装置205、ドライブ装置206を有する。なお、解析装置120または画像圧縮装置130またはデータ処理装置140の各ハードウェアは、バス207を介して相互に接続されている。
【0032】
プロセッサ201は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の各種演算デバイスを有する。プロセッサ201は、各種プログラム(例えば、後述する解析プログラムまたは画像圧縮プログラムまたはデータ処理プログラム等)をメモリ202上に読み出して実行する。
【0033】
メモリ202は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ201とメモリ202とは、いわゆるコンピュータを形成し、プロセッサ201が、メモリ202上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する(各種機能の詳細は後述する)。
【0034】
補助記憶装置203は、各種プログラムや、各種プログラムがプロセッサ201によって実行される際に用いられる各種データを格納する。
【0035】
I/F装置204は、外部装置の一例である操作装置210、表示装置220と、解析装置120または画像圧縮装置130またはデータ処理装置140とを接続する接続デバイスである。I/F装置204は、解析装置120または画像圧縮装置130またはデータ処理装置140に対する操作を、操作装置210を介して受け付ける。また、I/F装置204は、解析装置120または画像圧縮装置130またはデータ処理装置140による処理の結果を出力し、表示装置220を介して表示する。
【0036】
通信装置205は、他の装置と通信するための通信デバイスである。解析装置120の場合、通信装置205を介して他の装置である撮像装置110、画像圧縮装置130、データ処理装置140と通信する。また、画像圧縮装置130の場合、通信装置205を介して他の装置である解析装置120、データ処理装置140、ストレージ装置150と通信する。更に、データ処理装置140の場合、通信装置205を介して他の装置である解析装置120、画像圧縮装置130と通信する。
【0037】
ドライブ装置206は記録媒体230をセットするためのデバイスである。ここでいう記録媒体230には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体230には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0038】
なお、補助記憶装置203にインストールされる各種プログラムは、例えば、配布された記録媒体230がドライブ装置206にセットされ、該記録媒体230に記録された各種プログラムがドライブ装置206により読み出されることでインストールされる。あるいは、補助記憶装置203にインストールされる各種プログラムは、通信装置205を介してネットワークからダウンロードされることで、インストールされてもよい。
【0039】
<解析装置の機能構成>
次に、解析装置120の機能構成について説明する。
図3は、解析装置の機能構成の一例を示す図である。上述したように、解析装置120には、解析プログラムがインストールされており、当該プログラムが実行されることで、解析装置120は、入力部310、CNN部320、量子化値設定部330、出力部340として機能する。また、解析装置120は、重要特徴マップ生成部350、集計部360、量子化値決定部370、前景判定部380として機能する。
【0040】
入力部310は、撮像装置110より送信される画像データ、または、画像圧縮装置130より送信される圧縮データを取得する。入力部310は、取得した画像データをCNN部320及び出力部340に通知するとともに、不図示の復号部を用いて、取得した圧縮データを復号し、復号データをCNN部320に通知する。
【0041】
CNN部320は、学習済みモデルを有し、画像データまたは復号データを入力することで、画像データまたは復号データに含まれる認識対象であるオブジェクトに対して認識処理を行い、認識結果を出力する。なお、認識結果には、認識したオブジェクトの領域を示すバウンディングボックスが含まれ、CNN部320では、当該バウンディングボックスを前景判定部380に通知する。
【0042】
量子化値設定部330は、画像圧縮装置130が圧縮処理を行う際に用いる各圧縮レベル(最小の量子化値(初期値)から最大の量子化値までの各量子化値)を設定した各量子化値マップ(可変)を、順次、出力部340に通知する。また、量子化値設定部330は、設定した各圧縮レベル(各量子化値)を、集計結果格納部390に格納する。
【0043】
出力部340は、入力部310が取得した画像データを、画像圧縮装置130に送信する。また、出力部340は、量子化値設定部330より通知された各量子化値マップ(可変)を、順次、画像圧縮装置130に送信する。更に、出力部340は、前景判定部380により通知された決定量子化値マップを、画像圧縮装置130に送信する。
【0044】
重要特徴マップ生成部350は、学習済みモデルが画像データまたは復号データに対して認識処理を行った際のCNN部構造情報を取得し、取得したCNN部構造情報に基づき誤差逆伝播法を利用することで、重要特徴マップを生成する。
【0045】
重要特徴マップ生成部350は、例えば、BP(Back Propagation)法、GBP(Guided Back Propagation)法または選択的BP法を用いることで、重要特徴マップを生成する。
【0046】
なお、BP法は、認識結果が正解ラベルとなる画像データ(または復号データ)に対して認識処理を行うことで得た分類確率から各ラベルの誤差を計算し、入力層まで逆伝播して得られる勾配の大小を画像化することで、特徴部分を可視化する方法である。また、GBP法は、勾配情報の正値のみを特徴部分として画像化することで、特徴部分を可視化する方法である。
【0047】
更に、選択的BP法は、正解ラベルの誤差のみを存在するようにしたうえで、あるいは、正解ラベルの誤差のみを最大にしたうえで、BP法またはGBP法を用いて逆伝播する方法である。選択的BP法の場合、可視化される特徴部分は、正解ラベルのスコア情報のみに影響を与える特徴部分となる。
【0048】
このように、重要特徴マップ生成部350では、BP法、GBP法または選択的BP法を用いることで、画像データまたは復号データが入力されてから認識結果が出力されるまでのCNN部320内の各経路の信号の流れと強度とを解析する。これにより、重要特徴マップ生成部350によれば、入力された画像データまたは復号データのどの部分が、認識結果にどの程度影響を及ぼしているか(影響度)を可視化することができる。
【0049】
なお、CNN部320として、例えば、BP法、GBP法または選択的BP法を適用しない(または適用できない)AIが用いられる場合、重要特徴マップ生成部350では、同様の情報を解析することにより、重要特徴マップを生成する。
【0050】
なお、誤差逆伝播法による重要特徴マップの生成方法は、例えば、
「Selvaraju, Ramprasaath R., et al. "Grad-cam: Visual explanations from deep networks via gradient-based localization." The IEEE International Conference on Computer Vision (ICCV), 2017, pp. 618-626」、
等の文献に開示されている。
【0051】
集計部360は、重要特徴マップに基づいて、認識結果への影響度をブロック単位で集計し、ブロックごとの影響度の集計値を算出する。また、集計部360は、算出した各ブロックの集計値を量子化値と対応付けて、集計結果として集計結果格納部390に格納する。
【0052】
量子化値決定部370は、集計結果格納部390に格納された、各ブロックの集計値グラフに基づいて、各ブロックにおける最適な量子化値を決定する。また、量子化値決定部370は、決定した最適な量子化値を各ブロックに設定した量子化値マップを前景判定部380に通知する。
【0053】
前景判定部380は、CNN部320より通知されたバウンディングボックスに含まれるブロック及びその外周に位置するブロックのうち、所定の条件を満たすブロックを、前景ブロックと判定する。また、前景判定部380は、前景ブロックと判定したブロック以外のブロックを背景ブロックと判定する。また、前景判定部380は、各ブロックに設定した量子化値のうち、背景ブロックと判定したブロックに設定した量子化値を、最大化する。
【0054】
更に、前景判定部380は、前景ブロックに設定した量子化値と、背景ブロックに設定した量子化値(最大化された量子化値)とを含む決定量子化値マップを、出力部340に通知する。
【0055】
なお、前景判定部380による前景ブロックの判定方法はこれに限定されない。例えば、前景判定部380は、CNN部320より通知されたバウンディングボックスとは無関係に、各ブロックの集計値グラフのみに基づいて、前景ブロックを判定してもよい。具体的には、前景判定部380は、集計値グラフが所定の条件を満たすブロックを前景ブロックと判定し、所定の条件を満たさないブロックを背景ブロックと判定してもよい。あるいは、バウンディングボックスとは無関係に他の情報(例えば、クラス分類確率等)を用いて、前景ブロックを判定してもよい。
【0056】
前景判定部380が、いずれの判定方法を用いるかは任意であり、いずれの判定方法を用いた場合であっても、バウンディングボックス内に位置するブロックが背景ブロックと判定されることがありうる。
【0057】
なお、バウンディングボックスとは無関係に前景ブロックを判定する判定方法を用いる場合、CNN部320から前景判定部380へのバウンディングボックスの通知は省略してもよい。
【0058】
<集計結果の具体例>
次に、集計結果格納部390に格納される集計結果の具体例について説明する。
図4は、集計結果の具体例を示す図である。このうち、4aは、画像データ410内の各ブロックの配置例を示している。4aに示すように、本実施形態では説明の簡略化のため、画像データ410内の各ブロックは全て同じ大きさ、同じ形状であるとする。また、画像データの左上のブロックのブロック番号を"ブロック1"とし、右下のブロックのブロック番号を"ブロックm"とする。
【0059】
4bに示すように、集計結果420には、情報の項目として、"ブロック番号"、"量子化値"とが含まれる。
【0060】
"ブロック番号"には、画像データ410内の各ブロックのブロック番号が格納される。"量子化値"には、画像圧縮装置130が圧縮処理を行わない場合を示す"圧縮なし"、及び、量子化値設定部330が各ブロックに順次設定する、最小の量子化値("Q1")から最大の量子化値("Qn")までの各量子化値が格納される。
【0061】
また、"ブロック番号"と"量子化値"とにより特定される領域には、
・対応する量子化値を用いて画像データ410に対して圧縮処理を行い、
・取得した圧縮データを復号した復号データを入力することで、学習済みモデルが認識処理を行い、
・認識処理時に算出された重要特徴マップに基づいて、対応するブロックにおいて集計された、
集計値が格納される。
【0062】
<量子化値決定部による処理の具体例>
次に、量子化値決定部370による処理の具体例について説明する。
図5は、量子化値決定部による処理の具体例を示す図である。
図5において、集計値グラフ510_1~510_mは、横軸に量子化値、縦軸に集計値をとり、集計結果420に含まれる各ブロックの各量子化値の集計値をそれぞれプロットすることで生成される。
【0063】
なお、集計値グラフ510_1~510_mの生成に用いられる各ブロックの各量子化値の集計値は、例えば、
・全ブロック共通のオフセット値を用いて調整されていてもよい。
・絶対値をとって集計されていてもよい。
・注目されていないブロックの集計値に基づいて、他のブロックの集計値が加工されていてもよい。
【0064】
集計値グラフ510_1~510_mに示すように、最小の量子化値(Q1)から最大の量子化値(Qn)まで変化させた場合の集計値の変化は、ブロックごとに異なる。量子化値決定部370では、例えば、
・集計値の大きさが所定の閾値を超えた場合、あるいは、
・集計値の変化量が所定の閾値を超えた場合、あるいは、
・集計値の傾きが所定の閾値を超えた場合、あるいは、
・集計値の傾きの変化が所定の閾値を超えた場合、
のいずれかの条件を満たす場合に、各ブロックの最適な量子化値を決定し、量子化値マップを生成する。
【0065】
図5において量子化値マップ530は、ブロック1~ブロックmの最適な量子化値として、B
1Q~B
mQが決定され、対応するブロックにそれぞれ設定される様子を示している。
【0066】
なお、集計の際に用いるブロックのサイズと圧縮処理に用いるブロックのサイズとは、一致していなくてもよい。その場合、量子化値決定部370では、例えば、以下のように量子化値を決定する。
・集計の際のブロックのサイズより、圧縮処理に用いるブロックのサイズの方が大きい場合
圧縮処理に用いるブロックに含まれる、集計の際の各ブロックの集計値に基づく量子化値の平均値(あるいは、最小値、最大値、その他の指標で加工した値)を、圧縮処理に用いる各ブロックの量子化値とする。
・集計の際のブロックのサイズより、圧縮処理に用いるブロックのサイズの方が小さい場合
集計の際のブロックに含まれる、圧縮処理に用いる各ブロックの量子化値として、集計の際のブロックの集計値に基づく量子化値を用いる。
【0067】
なお、集計値を実際に算出する処理は、1つの量子化値(1つの圧縮レベル)のみに基づいて行ってもよい。その場合、異なる量子化値(異なる圧縮レベル)を仮定して、仮定した量子化値に対応する集計値と実際の量子化値に対応する集計値との差分や変化を測定することで、集計値を算出するものとする。
【0068】
このとき、仮定した量子化値(異なる圧縮レベル)についての復号データの画質は、実際の量子化値(圧縮レベル)についての復号データの画質より、良くても悪くてもよい。ただし、仮定した量子化値(異なる圧縮レベル)は、集計値の状態を推測しやすい量子化値であることが望ましい。例えば、実際の量子化値に対応する集計値と、圧縮処理を行っていない画像データとを比較する場合、一般的に、圧縮処理を行っていない画像データの集計値の方が、実際の量子化値に対応する集計値よりも小さくなる。
【0069】
なお、実際の量子化値に対応する集計値は、実際の量子化値を用いて圧縮処理が行われた圧縮データを復号した復号データを用いて算出してもよい。あるいは、同等の効果をもたらす画像処理(例えば、ローパスフィルタ処理など)が施された画像データを用いて算出してもよい。
【0070】
また、実際の量子化値に対応する集計値は、量子化値の最大値、最小値の範囲で制御可能な画質変化の範囲を超えた操作が行われた画像データを用いて算出してもよい。例えば、動画像符号化処理において指定可能な量子化値の最大値を超えた画像処理が施された画像データを用いて算出してもよい。
【0071】
また、集計値グラフを評価する際に適用される閾値は、ブロックごとに異なっていても、同じであってもよい。また、集計値グラフを評価する際に適用される閾値は、例えば、認識結果のスコア情報に基づいて調整されていても、調整されていなくてもよい。
【0072】
また、集計値グラフを評価する際に適用される閾値は、自動的に決定されてもよい。具体的には、認識処理時に取得可能な情報や、画像データから取得可能な情報、あるいは、それらを統計処理した値、あるいは、圧縮データのデータ量やその推移、あるいは、その他の処理に基づいて取得可能な情報により、自動的に決定されてもよい。
【0073】
<前景判定部による処理の具体例>
次に、前景判定部380による処理の具体例について説明する。
図6は、前景判定部による処理の具体例を示す図である。上述したように、前景判定部380には、量子化値決定部370より、各ブロックに量子化値が設定された量子化値マップ530が通知される。また、前景判定部380には、CNN部320より、オブジェクトの領域を示すバウンディングボックス(
図6の例では、バウンディングボックス611、612)が通知される。
【0074】
前景判定部380では、例えば、バウンディングボックス611に含まれるブロックについては前景ブロックと判定する。また、前景判定部380では、バウンディングボックス611の外周のブロックについては、集計値グラフに基づいて前景ブロックか否かを判定する。
【0075】
同様に、前景判定部380では、例えば、バウンディングボックス612に含まれるブロックについては前景ブロックと判定する。また、前景判定部380では、バウンディングボックス612の外周のブロックについては、集計値グラフに基づいて前景ブロックか否かを判定する。
【0076】
なお、上述したように前景判定部380による前景ブロックか否かの判定方法はこれに限定されず、例えば、集計値グラフのみに基づいて、前景ブロックか否かを判定してもよい。あるいは、CNN部320より通知される認識結果に含まれる、各ブロックのクラス分類確率に基づいて、前景ブロックか否かを判定してもよい。
【0077】
前景判定部380では、前景ブロックと判定したブロックに設定されている量子化値については、修正を行わない。
【0078】
一方、前景判定部380では、前景ブロック以外のブロックを背景ブロックと判定する。前景判定部380では、背景ブロックと判定したブロックに設定されている量子化値を最大化することで、決定量子化値マップを生成する。
【0079】
図6において、決定量子化値マップ620は、前景判定部380により生成された決定量子化値マップの一例を示している。決定量子化値マップ620に含まれる白色のブロックは、前景判定部380により前景ブロックと判定されたブロックであり、量子化値決定部370により決定された量子化値が設定されている。
【0080】
一方、決定量子化値マップ620に含まれる網掛けのブロックは、前景判定部380により背景ブロックと判定されたブロックであり、最大化された量子化値が設定されている。
【0081】
<画像圧縮装置の機能構成>
次に、画像圧縮装置130の機能構成について説明する。
図7は、画像圧縮装置の機能構成の一例を示す第1の図である。上述したように、画像圧縮装置130には、画像圧縮プログラムがインストールされており、当該プログラムが実行されることで、画像圧縮装置130は、符号化部720として機能する。
【0082】
符号化部720は、差分部721、直交変換部722、量子化部723、エントロピ符号化部724、逆量子化部725、逆直交変換部726を有する。また、符号化部720は、加算部727、バッファ部728、ループ内フィルタ部729、フレームバッファ部730、画面内予測部731、画面間予測部732を有する。
【0083】
差分部721は、画像データ(例えば、画像データ410)と予測画像データとの差分を算出し、予測残差信号を出力する。
【0084】
直交変換部722は、差分部721により出力された予測残差信号に対して、直交変換処理を実行する。
【0085】
量子化部723は、直交変換処理された予測残差信号を量子化し、量子化信号を生成する。量子化部723では、第1のフェーズにあっては解析装置120から順次送信される量子化値マップ(可変)を用いて量子化信号を生成し、第2のフェーズにあってはデータ処理装置140から送信される補正後決定量子化値マップを用いて量子化信号を生成する。
【0086】
エントロピ符号化部724は、量子化信号に対してエントロピ符号化処理を行うことで、圧縮データを生成する。
【0087】
逆量子化部725は、量子化信号を逆量子化する。逆直交変換部726は、逆量子化された量子化信号に対して、逆直交変換処理を実行する。
【0088】
加算部727は、逆直交変換部726より出力された信号と、予測画像データとを加算することで、参照画像データを生成する。バッファ部728は、加算部727により生成された参照画像データを格納する。
【0089】
ループ内フィルタ部729は、バッファ部728に格納された参照画像データに対してフィルタ処理を行う。ループ内フィルタ部729には、
・デブロッキングフィルタ(Deblocking filter:DB)、
・サンプルアダプティブオフセットフィルタ(Sample Adaptive Offset filter:SAO)、
・適応ループフィルタ(Adaptive loop filter:ALF)、
が含まれる。
【0090】
フレームバッファ部730は、ループ内フィルタ部729によりフィルタ処理が行われた参照画像データをフレーム単位で格納する。
【0091】
画面内予測部731は、参照画像データに基づいて画面内予測を行い、予測画像データを生成する。画面間予測部732は、入力された画像データ(例えば、画像データ410)と参照画像データとを用いてフレーム間で動き補償を行い、予測画像データを生成する。
【0092】
画面内予測部731または画面間予測部732により生成された予測画像データは、差分部721及び加算部727に出力される。
【0093】
なお、上記説明では、符号化部720が、MPEG-2、MPEG-4、H.264、HEVCなどの既存の動画符号化方式を用いて圧縮処理を行うものとした。しかしながら、符号化部720による圧縮処理は、これらの動画符号化方式に限定されず、量子化値等のパラメータにより圧縮率を制御する任意の符号化方式を用いて行われてもよい。
【0094】
<データ処理装置の機能構成>
次に、データ処理装置140の機能構成について説明する。
図8は、データ処理装置の機能構成の一例を示す第1の図である。上述したように、データ処理装置140には、データ処理プログラムがインストールされており、当該プログラムが実行されることで、データ処理装置140は、符号化部810、復号部820、CNN部830、量子化値補正部840として機能する。
【0095】
符号化部810は、解析装置120より送信される画像データに対して、解析装置120より送信される決定量子化値マップを用いて圧縮処理を行い、圧縮データを生成する。また、符号化部810は、量子化値補正部840より、決定量子化値マップの前景ブロックの量子化値を増減させるための指示が通知されると、画像データに対して、当該量子化値を増減させた決定量子化値マップを用いて圧縮処理を行い、圧縮データを生成する。
【0096】
また、符号化部810は、量子化値補正部840からの指示に基づき、圧縮データを生成するごとに、生成した圧縮データを復号部820に通知する。
【0097】
なお、符号化部810の機能は、画像圧縮装置130の符号化部720の機能と基本的に同じであるため、ここでは、詳細な説明は省略する。
【0098】
復号部820は、符号化部810より圧縮データが通知されると、それぞれの圧縮データを復号し、復号データを生成する。また、復号部820は、復号データをCNN部830に通知する。
【0099】
CNN部830は、学習済みモデルを有し、復号データを入力することで、復号データに含まれる認識対象であるオブジェクトに対して認識処理を行い、認識結果を出力する。また、CNN部830は、出力した認識結果に含まれるスコア情報を量子化値補正部840に通知する。
【0100】
なお、CNN部830は、復号部820より復号データが通知されるごとに認識処理を行い、スコア情報を量子化値補正部840に通知する。
【0101】
このとき、CNN部830では、
・符号化部810が、決定量子化値マップを用いて圧縮処理を行うことで圧縮データを生成した場合、かつ、
・復号部820が、当該圧縮データを復号することで生成した復号データを、CNN部830に入力した場合、
に認識処理を行うことで出力した認識結果に含まれるスコア情報を、"基準スコア情報"として、量子化値補正部840に通知する。
【0102】
一方、CNN部830では、
・符号化部810が、前景ブロックの量子化値を増減させた決定量子化値マップを用いて圧縮処理を行うことで圧縮データを生成した場合、かつ、
・復号部820が、当該圧縮データを復号することで生成した復号データを、CNN部830に入力した場合、
に認識処理を行うことで出力した認識結果に含まれるスコア情報を、"スコア情報"として、量子化値補正部840に通知する。
【0103】
量子化値補正部840は補正部の一例であり、解析装置120より通知された決定量子化値マップの各ブロックに設定された量子化値のうち、前景ブロックに設定された量子化値を、所定のきざみ幅で増減させる。
【0104】
なお、量子化値補正部840は、CNN部830より通知された基準スコア情報が所定の閾値以上である場合には(所定の第1の条件を満たす場合には)、前景ブロックに設定された量子化値を、所定のきざみ幅で増加させる処理を開始する。
【0105】
量子化値を増加させる処理を開始した場合、量子化値補正部840は、CNN部830より通知されたスコア情報が、基準スコア情報に対して規定した許容範囲内に収まっている間は(所定の第2の条件を満たす間は)、量子化値を増加させる処理を継続する。
【0106】
あるいは、量子化値補正部840は、CNN部830より通知されたスコア情報が、所定の閾値以上である間は(所定の第1の条件を満たす間は)、量子化値を増加させる処理を継続する。
【0107】
一方、CNN部830より通知された基準スコア情報が所定の閾値未満である場合には(所定の第1の条件を満たさない場合には)、量子化値補正部840は、前景ブロックに設定された量子化値を、所定のきざみ幅で減少させる処理を開始する。
【0108】
量子化値を減少させる処理を開始した場合、量子化値補正部840は、CNN部830より通知されたスコア情報が、所定の閾値未満である間は(所定の第1の条件を満たしていない間は)、量子化値を減少させる処理を継続する。
【0109】
また、量子化値補正部840は、量子化値を増加させる処理または量子化値を減少させる処理が完了すると、前景ブロックの量子化値を、完了した時点での量子化値に補正し、補正後決定量子化値マップを、画像圧縮装置130に送信する。
【0110】
なお、上記説明では、量子化値補正部840が量子化値を増減させる際のきざみ幅が"1"(または"-1")であるとした。しかしながら、量子化値補正部840により量子化値を増減させる際のきざみ幅は、"1"(または"-1")であっても、"1"以上(または"-1"以下)であってもよい。
【0111】
また、上記説明では、量子化値補正部840が量子化値を増加させる処理を継続するか否かを判定するにあたり、基準スコア情報に基づいて規定した許容範囲と、スコア情報とを比較するものとして説明した。
【0112】
しかしながら、量子化値を増加させる処理を継続するか否かの判定方法はこれに限定されない。例えば、CNN部830より出力される認識結果に含まれるバウンディングボックスに基づいて算出されるIoU(Intersection over Union)と、予め規定したIoUの許容範囲とを比較してもよい。
【0113】
なお、量子化値補正部840が、量子化値を増加させる処理は、適用する用途や求められる認識精度等に応じて、どの程度厳密に行うかをコントロールできるようにしてもよい。
【0114】
<データ処理装置による処理の具体例>
次に、データ処理装置140による処理の具体例について説明する。
図9は、データ処理装置による処理の具体例を示す図である。
図9において、横軸900は量子化値を示している。
【0115】
また、
図9において、符号901は、前景ブロックに含まれる24個のブロック(ブロックa_1~ブロックa_24)のうち、決定量子化値マップにおいてブロックa_1に設定された量子化値を示している。
【0116】
同様に、
図9において、符号902は、前景ブロックに含まれる24個のブロック(ブロックa_1~ブロックa_24)のうち、決定量子化値マップにおいてブロックa_24に設定された量子化値を示している。
【0117】
図9の例によれば、ブロックa_1に設定された量子化値は"33"であり、ブロックa_24に設定された量子化値は"32"である。また、
図9の符号903の例によれば、これらの量子化値を用いて圧縮処理を行い、圧縮データを復号した復号データに対して認識処理を行った場合の基準スコア情報が、所定の閾値以上である(所定の第1の条件を満たす)と判定されたことを示している。
【0118】
更に、
図9の例は、量子化値補正部840が、きざみ幅="1"ずつ量子化値を増加させた結果、量子化値が"42"のときに、スコア情報が所定の第1または第2の条件を満たさないと判定されたことを示している(符号903の右端参照)。
【0119】
このため、
図9の例において、量子化値補正部840は、補正後決定量子化値マップ920に示すように、ブロックa_1の量子化値を"33"から"41"に、ブロックa_24の量子化値を"32"から"41"に補正している。
【0120】
同様に、
図9において、符号911は、前景ブロックに含まれる24個のブロック(ブロックb_1~ブロックb_24)のうち、決定量子化値マップにおいてブロックb_1に設定された量子化値を示している。
【0121】
同様に、
図9において、符号912は、前景ブロックに含まれる24個のブロック(ブロックb_1~ブロックb_24)のうち、決定量子化値マップにおいてブロックb_24に設定された量子化値を示している。
【0122】
図9の例によれば、ブロックb_1に設定された量子化値は"28"であり、ブロックb_24に設定された量子化値は"29"である。また、
図9の符号913の例によれば、これらの量子化値を用いて圧縮処理を行い、圧縮データを復号した復号データに対して認識処理を行った場合の基準スコア情報が、所定の閾値未満である(所定の第1の条件を満たさないと判定されたことを示している。
【0123】
更に、
図9の例は、量子化値補正部840が、きざみ幅="1"ずつ量子化値を減少させた結果、量子化値が"20"のときに、スコア情報が所定の第1の条件を満たすと判定されたことを示している(符号913左端参照)。
【0124】
このため、
図9の例において、量子化値補正部840は、補正後決定量子化値マップ920に示すように、ブロックb_1の量子化値を"28"から"20"に、ブロックb_24の量子化値を"29"から"20"を補正している。
【0125】
なお、
図9の例では、各ブロックの量子化値を一様に増加させる場合について説明したが、各ブロックの量子化値を増加させる方法はこれに限定されない。例えば、各ブロックの量子化値のうち、最小の量子化値を特定し、特定した最小の量子化値のブロックのみを増加させる処理を、順次実施してもよい。
【0126】
例えば、ブロックa_10の量子化値が"30"、ブロックa_11の量子化値が"32"、ブロックa_12の量子化値が"36"であったとする。この場合、
図9の例では、(31、33、37)、(32、34、38)、・・・と増加させることになるが、上記の増加方法によれば、(31、32、36)、(32、32、36)、(33、33、36)、・・・と増加させることになる。
【0127】
また、基準スコア情報をオブジェクトごとに規定しておき、各オブジェクトの認識結果に基づいて、量子化値を補正してもよい。
【0128】
例えば、各ブロックの量子化値を一様に増加させ、オブジェクトA及びオブジェクトBについて認識処理を行った場合において、
・オブジェクトAに含まれるブロックの量子化値が"40"の場合、オブジェクトAを認識できたが、量子化値が"41"以上の場合には、オブジェクトAを認識できなかった、
・オブジェクトBに含まれるブロックの量子化値が"30"の場合、オブジェクトBを認識できたが、量子化値が"31"以上の場合にはオブジェクトBを認識できなかった、
とする。
【0129】
このような場合、オブジェクトAに含まれるブロックの量子化値は"40"に、オブジェクトBに含まれるブロックの量子化値は"30"に、それぞれ補正する。
【0130】
ただし、オブジェクトごとに個別に量子化値を補正した場合、画像データ全体の整合性が合わなくなり、認識できないオブジェクトが発生する可能性がある。このような場合には、全てのオブジェクトを認識できる量子化値の論理積条件の最大値を用いて補正してもよい。
【0131】
あるいは、オブジェクトBに含まれるブロックの量子化値については、探索終了条件を満たした時点の量子化値で固定し、オブジェクトAに含まれるブロックの量子化値については、探索終了条件を満たすまで、量子化値を継続して増加させてもよい。
【0132】
<圧縮処理システムによる画像圧縮処理の流れ>
次に、圧縮処理システム100による画像圧縮処理の流れについて説明する。
図10は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第1のフローチャートである。
【0133】
ステップS1001において、解析装置120の入力部310は画像データを取得し、ステップS1002において、解析装置120のCNN部320は、取得された画像データに対して認識処理を行い、認識結果を出力する。
【0134】
ステップS1003において、解析装置120の量子化値設定部330は、最小の量子化値(Q1)から最大の量子化値(Qn)までの各量子化値を順次設定し、出力部340は各量子化値マップ(可変)を、画像圧縮装置130に送信する。また、画像圧縮装置130は、送信された各量子化値マップ(可変)を用いて画像データに対して圧縮処理を行い、各圧縮データを生成する。
【0135】
ステップS1004において、解析装置120の入力部310は、画像圧縮装置130により生成された各圧縮データを復号する。また、解析装置120のCNN部320は、各復号データに対して認識処理を行う。更に、解析装置120の重要特徴マップ生成部350は、CNN部構造情報に基づいて、復号データの各領域の認識結果への影響度を示す各重要特徴マップを生成する。
【0136】
ステップS1005において、解析装置120の集計部360は、各重要特徴マップについて、各領域の影響度をブロック単位で集計する。また、解析装置120の集計部360は、集計結果を、各圧縮レベル(量子化値)と対応付けて、集計結果格納部390に格納する。
【0137】
ステップS1006において、解析装置120の量子化値決定部370は、各ブロックの集計値グラフに基づいて、ブロック単位で量子化値を決定し、量子化値マップを生成する。
【0138】
ステップS1007において、解析装置120の前景判定部380は、生成された量子化値マップのうち、背景ブロックに設定された量子化値を最大化し、決定量子化値マップを生成する。
【0139】
ステップS1008において、データ処理装置140は、決定量子化値マップの各ブロックに設定された量子化値のうち、前景ブロックに設定された量子化値を増減させながら、認識処理を行う。
【0140】
ステップS1009において、データ処理装置140は、認識結果に基づいて決定量子化値マップの前景ブロックに設定された量子化値を補正し、補正後決定量子化値マップを生成する。
【0141】
ステップS1010において、画像圧縮装置130は、補正後決定量子化値マップを用いて、画像データに対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0142】
以上の説明から明らかなように、第1の実施形態に係るデータ処理装置は、画像データに対して認識処理が行われた際の、各ブロックの認識結果への影響度に基づいて決定量子化値マップが生成された場合において、該決定量子化値マップを用いて圧縮処理を行う。
【0143】
また、第1の実施形態に係るデータ処理装置は、圧縮データを復号した復号データに対して認識処理を行った場合の認識結果が、所定の条件を満たす場合に、認識対象に対応する前景ブロックについて、圧縮レベル(量子化値)を上げる方向に補正する。
【0144】
このように、第1の実施形態に係るデータ処理装置は、認識結果への影響度に基づいて決定された量子化値を、認識結果に基づいて上げる方向に補正する。これにより、第1の実施形態によれば、認識精度を維持しつつ圧縮レベルを向上させることができる。つまり、第1の実施形態によれば、AIによる認識処理に適した圧縮処理を実現することができる。
【0145】
[第2の実施形態]
上記第1の実施形態では、認識結果への影響度に基づいて決定された量子化値を、認識結果に基づいて補正することで、認識精度を維持しつつ圧縮レベルを向上させるケースについて説明した。しかしながら、画像データによっては、圧縮処理を行わない状態で、既に認識精度が低い画像データも存在しうる。
【0146】
そこで、第2の実施形態では、このような画像データについて、まず、画像データ自体を変更することで、認識精度を向上させる。続いて、変更後の画像データについて、認識結果への影響度に基づいて量子化値を決定し、決定した量子化値を用いて圧縮処理を行う。
【0147】
これにより、第2の実施形態によれば、当該画像データについて、認識精度を向上させつつ、圧縮レベルを向上させることができる。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0148】
<圧縮処理システムのシステム構成>
はじめに、第2の実施形態に係るデータ処理装置を含む、圧縮処理システム全体のシステム構成について説明する。
図11は、圧縮処理システムのシステム構成の一例を示す第2の図である。第2の実施形態において、圧縮処理システム1100が実行する処理は、
・画像データを変更する第1のフェーズと、
・変更後の画像データに基づいて決定量子化値マップを生成し、生成した決定量子化値マップを用いて圧縮処理を行うことで、圧縮データを格納する第2のフェーズと
に大別することができる。
【0149】
図11において、11aは、第1のフェーズにおける圧縮処理システム1100のシステム構成を示しており、11bは、第2のフェーズにおける圧縮処理システム1100のシステム構成を示している。
【0150】
図11の11aに示すように、第1のフェーズにおける圧縮処理システム1100には、撮像装置110、データ処理装置1110が含まれる。このうち、撮像装置110による処理は、上記第1の実施形態において
図1の1aを用いて説明した撮像装置110による処理と同様であるため、ここでは説明を省略する。
【0151】
データ処理装置1110は、撮像装置110より送信される画像データに対して認識処理を行う。また、データ処理装置1110は、認識結果に含まれるスコア情報が、所定の条件を満たすか否かを判定し、満たさないと判定した場合に、スコア情報を最大化するように、画像データを変更し、変更後の画像データを解析装置120に送信する。
【0152】
なお、データ処理装置1110は、認識結果に含まれるスコア情報が、所定の条件を満たすと判定した場合には、画像データを変更せず、解析装置120に送信する。
【0153】
一方、
図11の11bに示すように、第2のフェーズにおける圧縮処理システム1100には、解析装置120、画像圧縮装置130、ストレージ装置150が含まれる。
【0154】
解析装置120は、認識処理を行う学習済みモデルを有する。解析装置120は、画像データまたは変更後の画像データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。また、解析装置120は、画像圧縮装置130が画像データまたは変更後の画像データに対して異なる圧縮レベル(量子化値)で圧縮処理を行うことで出力した各圧縮データを取得し、各圧縮データを復号することで、各復号データを生成する。更に、解析装置120は、各復号データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。
【0155】
また、解析装置120は、例えば、誤差逆伝播法を用いて認識処理時の学習済みモデルの動作解析を行うことで、重要特徴マップを生成する。更に、解析装置120は、重要特徴マップに基づいて、ブロックごとに影響度を集計する。
【0156】
なお、解析装置120では、各ブロックに量子化値を設定した量子化値マップ(可変)を、順次、画像圧縮装置130に送信することで、異なる圧縮レベル(量子化値)での圧縮処理を、画像圧縮装置130に指示する。
【0157】
また、解析装置120は、各復号データに対して認識処理を行うごとに算出した各ブロックの影響度の集計値に基づき、ブロックごとに集計値グラフを生成する。また、解析装置120は、ブロックごとの集計値グラフそれぞれに基づいて、各ブロックの最適な圧縮レベル(量子化値)を決定し、決定量子化値マップを生成する。
【0158】
画像圧縮装置130は、生成された決定量子化値マップを用いて画像データまたは変更後の画像データに対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0159】
<データ処理装置の機能構成>
次に、データ処理装置1110の機能構成について説明する。
図12は、データ処理装置の機能構成の一例を示す第2の図である。上記第1の実施形態同様、データ処理装置1110には、データ処理プログラムがインストールされており、当該プログラムが実行されることで、データ処理装置1110は、CNN部1210、判定部1220として機能する。また、データ処理装置1110は、解析部1230、画像データ変更部1240として機能する。
【0160】
CNN部1210は、学習済みモデルを有し、画像データを入力することで、画像データに含まれる認識対象であるオブジェクトに対して認識処理を行い、認識結果を出力する。
【0161】
判定部1220は、CNN部1210より出力された認識結果に含まれるスコア情報(画像データの認識精度に関わる情報の一例)が所定の条件を満たすか否かを判定する(例えば、所定の閾値以上であるか否かを判定する)。認識結果に含まれるスコア情報が所定の条件を満たすと判定した場合、判定部1220は、判定結果を画像データ変更部1240に通知する。一方、認識結果に含まれるスコア情報が所定の条件を満たさないと判定した場合、判定部1220は、判定結果を解析部1230に通知する。
【0162】
解析部1230は、判定部1220より判定結果が通知されると、画像データを取得し、取得した画像データを解析する。また、解析部1230は、画像データを解析することで生成した、スコア情報を最大化するための変更情報を、画像データ変更部1240に通知する。あるいは、解析部1230は、画像データを解析することで生成した、スコア情報を最大化するための画像データ(変更後の画像データ)を、画像データ変更部1240に通知する。
【0163】
画像データ変更部1240は変更部の一例である。画像データ変更部1240は、判定部1220より判定結果が通知された場合、画像データを変更することなく、解析装置120に送信する。
【0164】
また、画像データ変更部1240は、解析部1230より変更情報が通知された場合、通知された変更情報に基づいて画像データを変更し、変更後の画像データを、解析装置120に送信する。あるいは、画像データ変更部1240は、解析部1230より変更後の画像データが通知された場合、当該変更後の画像データを、解析装置120に送信する。
【0165】
<解析部の処理の具体例(1)>
次に、データ処理装置1110の解析部1230による処理の具体例について説明する。
図13は、解析部による処理の具体例を示す第1の図である。
図13に示すように、解析部1230は、例えば、リファイン画像生成部1310と、重要特徴指標マップ生成部1320と、特定部1340と、詳細解析部1350とを有する。
【0166】
また、リファイン画像生成部1310は、画像リファイナ部1311、画像誤差演算部1312、推論部1313、スコア誤差演算部1314を有する。
【0167】
画像リファイナ部1311は、例えば、画像データの生成モデルとしてCNNを用いて学習を行うことで、画像データからリファイン画像データを生成する。
【0168】
なお、画像リファイナ部1311は、生成したリファイン画像データを用いて推論部1313が認識処理を行った際に、正解ラベルのスコア情報が最大化するように、画像データを変更する。また、画像リファイナ部1311は、例えば、画像データからの変更量(リファイン画像データと画像データとの差分)が小さくなるように、リファイン画像データを生成する。これにより、画像リファイナ部1311によれば、視覚的に変更前の画像データに近いリファイン画像データを得ることができる。
【0169】
具体的には、画像リファイナ部1311では、
・生成したリファイン画像データを用いて認識処理を行った際のスコア情報と、正解ラベルのスコア情報を最大化したスコア情報との誤差(スコア誤差)と、
・生成したリファイン画像データと画像データとの差分である画像差分値と、
を最小化するようにCNNの学習を行う。
【0170】
画像誤差演算部1312は、画像データと、CNNの学習中に画像リファイナ部1311より出力されるリファイン画像データとの差分を算出し、画像差分値を、画像リファイナ部1311に入力する。画像誤差演算部1312では、例えば、画素ごとの差分(L1差分)やSSIM(Structural Similarity)演算を行うことにより、画像差分値を算出し、画像リファイナ部1311に入力する。
【0171】
推論部1313は、画像リファイナ部1311により生成されたリファイン画像データを入力として認識処理を行い、スコア情報を出力する、学習済みのCNNを有する。なお、推論部1313により出力されたスコア情報は、スコア誤差演算部1314に通知される。
【0172】
スコア誤差演算部1314は、推論部1313により通知されたスコア情報と、正解ラベルのスコア情報を最大化したスコア情報との誤差を算出し、画像リファイナ部1311にスコア誤差を通知する。スコア誤差演算部1314により通知されたスコア誤差は、画像リファイナ部1311においてCNNの学習に用いられる。
【0173】
なお、画像リファイナ部1311が有するCNNの学習中に画像リファイナ部1311から出力されるリファイン画像は、リファイン画像格納部1315に格納される。画像リファイナ部1311が有するCNNの学習は、
・予め定められた学習回数分(例えば、最大学習回数=N回分)、あるいは、
・正解ラベルのスコア情報が所定の閾値を超えるまで、あるいは、
・正解ラベルのスコア情報が所定の閾値を超え、かつ、画像差分値が所定の閾値より小さくなるまで、
行われ、推論部1313より出力される正解ラベルのスコア情報が最大化した際のリファイン画像データを、以下では、"スコア最大化リファイン画像データ"と称す。
【0174】
続いて、重要特徴指標マップ生成部1320の詳細について説明する。
図13に示すように、重要特徴指標マップ生成部1320は、重要特徴マップ生成部1321、劣化尺度マップ生成部1322、重畳部1323を有する。
【0175】
重要特徴マップ生成部1321は、推論部1313がスコア最大化リファイン画像データを入力として認識処理を行った際の推論部構造情報を、推論部1313より取得する。また、重要特徴マップ生成部1321は、BP法、GBP法または選択的BP法を用いることで、推論部構造情報に基づいて重要特徴マップを生成する。
【0176】
劣化尺度マップ生成部1322は、画像データとスコア最大化リファイン画像データとに基づいて、"劣化尺度マップ"を生成する。劣化尺度マップとは、画像データからスコア最大化リファイン画像データに変更した際の変更部分と各変更部分の変更度合いとを示したマップである。
【0177】
重畳部1323は、重要特徴マップ生成部1321において生成された重要特徴マップと、劣化尺度マップ生成部1322において生成された劣化尺度マップとを重畳することで、重要特徴指標マップ1330を生成する。重要特徴指標マップ1330は、画像データの各領域の認識結果への影響度を可視化したマップである。
【0178】
特定部1340は、画像データを、例えばスーパーピクセル単位で分割し、重要特徴指標マップ1330を、スーパーピクセル単位で集計する。また、特定部1340は、集計結果に基づいて、画像データを変更するスーパーピクセルを特定する。更に、特定部1340は、重要特徴指標マップ1330のうち、特定したスーパーピクセルに含まれる重要特徴指標マップ1330を、誤認識の原因領域として、詳細解析部1350に通知する。
【0179】
詳細解析部1350は、特定部1340により生成された原因領域に基づいて、画像データを変更するための変更情報を画素単位で生成し、画像データ変更部1240に通知する。
【0180】
これにより、画像データ変更部1240では、変更情報に基づいて画像データを画素単位で変更し、変更後の画像データを解析装置120に送信する。
【0181】
<解析部の処理の具体例(2)>
次に、データ処理装置1110の解析部1230による処理の他の具体例について説明する。
図14は、解析部による処理の具体例を示す第2の図である。
図14に示すように、解析部1230は、例えば、リファイン画像生成部1310を有する。
【0182】
リファイン画像生成部1310は、画像リファイナ部1311、画像誤差演算部1312、推論部1313、スコア誤差演算部1314を有する。なお、リファイン画像生成部1310が有する各部の機能は、
図13で示したリファイン画像生成部1310が有する各部の機能と同じである。ただし、
図14の場合、リファイン画像格納部1315に格納されたスコア最大化リファイン画像が、変更後画像データとして画像データ変更部1240によって読み出される。
【0183】
これにより、画像データ変更部1240では、リファイン画像格納部1315より読み出したスコア最大化リファイン画像を、変更後画像データとして、解析装置120に送信する。
【0184】
<圧縮処理システムによる画像圧縮処理の流れ>
次に、圧縮処理システム1100による画像圧縮処理の流れについて説明する。
図15は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第2のフローチャートである。
【0185】
ステップS1501において、データ処理装置1110のCNN部1210は、撮像装置110より画像データを取得する。
【0186】
ステップS1502において、データ処理装置1110のCNN部1210は、取得した画像データに対して認識処理を行い、認識結果を出力する。
【0187】
ステップS1503において、データ処理装置1110の判定部1220は、認識結果に含まれるスコア情報が、所定の条件を満たすか否かを判定することで、画像データの変更が必要か否かを判定する。ステップS1503において所定の条件を満たさないと判定した場合には(ステップS1503においてYesの場合には)、画像データの変更が必要であると判定し、ステップS1504に進む。
【0188】
ステップS1504において、データ処理装置1110の解析部1230は、スコア情報が最大化するように画像データを変更するための変更情報を生成する。また、データ処理装置1110の画像データ変更部1240は、生成された変更情報に基づいて画像データを変更し、変更後画像データを解析装置120に送信する。
【0189】
あるいは、データ処理装置1110の解析部1230は、スコア情報が最大化するように画像データを変更することでスコア最大化リファイン画像を生成し、画像データ変更部1240に通知する。また、データ処理装置1110の画像データ変更部1240は、スコア最大化リファイン画像を、変更後画像データとして解析装置120に送信する。
【0190】
一方、ステップS1503において所定の条件を満たすと判定した場合には(ステップS1503においてNoの場合には)、画像データの変更が必要でないと判定し、画像データを変更することなく、解析装置120に送信する。
【0191】
ステップS1505において、解析装置120のCNN部320は、画像データ変更部1240より送信された変更後画像データ(または画像データ)に対して認識処理を行い、認識結果を出力する。
【0192】
ステップS1506において、解析装置120の量子化値設定部330は、最小の量子化値(Q1)から最大の量子化値(Qn)までの各量子化値を順次設定し、出力部340は各量子化値マップ(可変)を、画像圧縮装置130に送信する。また、画像圧縮装置130は、送信された各量子化値マップ(可変)を用いて画像データに対して圧縮処理を行い、各圧縮データを生成する。
【0193】
ステップS1507において、解析装置120の入力部310は、画像圧縮装置130により生成された各圧縮データを復号する。また、解析装置120のCNN部320は、各復号データに対して認識処理を行う。更に、解析装置120の重要特徴マップ生成部350は、CNN部構造情報に基づいて、復号データの各領域の認識結果への影響度を示す各重要特徴マップを生成する。
【0194】
ステップS1508において、解析装置120の集計部360は、各重要特徴マップについて、各領域の影響度をブロック単位で集計する。また、解析装置120の集計部360は、集計結果を、各圧縮レベル(各量子化値)と対応付けて、集計結果格納部390に格納する。
【0195】
ステップS1509において、解析装置120の量子化値決定部370は、各ブロックの集計値グラフに基づいて、ブロック単位で量子化値を決定し、量子化値マップを生成する。
【0196】
ステップS1510において、解析装置120の前景判定部380は、生成された量子化値マップのうち、背景ブロックに設定された量子化値を最大化し、決定量子化値マップを生成する。
【0197】
ステップS1511において、画像圧縮装置130は、決定量子化値マップを用いて、変更後画像データ(または画像データ)に対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0198】
以上の説明から明らかなように、第2の実施形態に係るデータ処理装置は、撮像装置110より取得した画像データに対して認識処理を行い、スコア情報が所定の条件を満たすか否かを判定する。また、第2の実施形態に係るデータ処理装置は、所定の条件を満たさないと判定した場合に、スコア情報が最大化するように画像データを変更する。
【0199】
このように、画像データ自体を変更することで、第2の実施形態によれば、認識精度が低い画像データが取得された場合であっても、認識精度を向上させることができる。
【0200】
また、変更後の画像データに基づいて決定量子化値マップを生成するため、第2の実施形態によれば、高い量子化値が設定された決定量子化値マップを生成することができる。
【0201】
これにより、第2の実施形態によれば、認識精度を向上させつつ、圧縮レベルを向上させることができる。つまり、第2の実施形態に係るデータ処理装置によれば、AIによる認識処理に適した圧縮処理を実現することができる。
【0202】
[第3の実施形態]
上記第2の実施形態では、認識精度が低い画像データが入力された場合に、はじめに画像データを変更することで、認識精度を向上させつつ、圧縮レベルを向上させるケースについて説明した。
【0203】
これに対して、第3の実施形態では、決定量子化値マップを生成する際の、量子化値を増加させていく過程で、画像データの変更が必要か否かを判定し、画像データの変更が必要であると判定した場合に、画像データを変更する。
【0204】
これにより、第3の実施形態によれば、第2の実施形態同様、認識精度を向上させつつ、圧縮レベルを向上させることができる。以下、第3の実施形態について、上記第2の実施形態との相違点を中心に説明する。
【0205】
<圧縮処理システムのシステム構成>
はじめに、第3の実施形態に係るデータ処理装置を含む、圧縮処理システム全体のシステム構成について説明する。
図16及び
図17は、圧縮処理システムのシステム構成の一例を示す第3及び第4の図である。第3の実施形態において、圧縮処理システムが実行する処理は、
・決定量子化値マップを生成するために、異なる圧縮レベル(量子化値)で圧縮処理を行うとともに、集計値グラフを監視する第1のフェーズと、
・集計値グラフに基づき、画像データの変更が必要であると判定した場合に、画像データを変更し、変更後の画像データに対して、同様の処理を行う第2のフェーズと、
・決定量子化値マップを生成し、生成した決定量子化値マップを用いて、変更後の画像データに対して圧縮処理を行うことで、圧縮データを格納する第3のフェーズと、
に大別することができる。
【0206】
図16において、16aは、第1のフェーズにおける圧縮処理システム1600のシステム構成を示しており、16bは、第2のフェーズにおける圧縮処理システム1600のシステム構成を示している。また、
図17は、第3のフェーズにおける圧縮処理システム1600のシステム構成を示している。
【0207】
図16の16aに示すように、第1のフェーズにおける圧縮処理システム1600には、撮像装置110、解析装置120、データ処理装置1610、画像圧縮装置130が含まれる。このうち、撮像装置110、画像圧縮装置130による処理は、上記第2の実施形態において
図11の11aまたは11bを用いて説明した撮像装置110、画像圧縮装置130による処理と同様であるため、ここでは説明を省略する。
【0208】
解析装置120は、認識処理を行う学習済みモデルを有する。解析装置120は、画像データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。また、解析装置120は、画像圧縮装置130が画像データに対して異なる圧縮レベル(量子化値)で圧縮処理を行うことで出力した各圧縮データを取得し、各圧縮データを復号することで、各復号データを生成する。更に、解析装置120は、各復号データを学習済みモデルに入力することで認識処理を行い、認識結果を出力する。
【0209】
また、解析装置120は、例えば、誤差逆伝播法を用いて認識処理時の学習済みモデルの動作解析を行うことで、重要特徴マップを生成し、ブロックごとに影響度を集計する。
【0210】
なお、解析装置120では、各ブロックに量子化値を設定した量子化値マップ(可変)を、順次、画像圧縮装置130に送信することで、異なる圧縮レベル(量子化値)での圧縮処理を、画像圧縮装置130に指示する。
【0211】
また、解析装置120は、各復号データに対して認識処理を行うごとに集計した各ブロックの影響度の集計値に基づき、ブロックごとに集計値グラフを生成する。また、解析装置120は、ブロックごとの集計値グラフそれぞれを、集計値を更新するごとにデータ処理装置1610に送信する。
【0212】
データ処理装置1610は、解析装置120よりブロックごとに送信される集計値グラフを監視し、画像データの変更が必要か否かを判定する(例えば、集計値グラフの集計値の大きさが所定の閾値を超えた場合、画像データの変更が必要であると判定する)。データ処理装置1610は、画像データの変更が必要でないと判定した場合、画像データを変更することなく、画像圧縮装置130に送信する。
【0213】
一方、
図16の16bに示すように、第2のフェーズにおける圧縮処理システム1600には、撮像装置110、解析装置120、データ処理装置1610、画像圧縮装置130が含まれる。このうち、撮像装置110、画像圧縮装置130による処理は、上記第2の実施形態において
図11の11aまたは11bを用いて説明した撮像装置110、画像圧縮装置130による処理と同様であるため、ここでは説明を省略する。また、解析装置120による処理は、上記第1のフェーズにおける解析装置120による処理と同じであるため、ここでは説明を省略する。
【0214】
第2のフェーズにおいてデータ処理装置1610は、解析装置120よりブロックごとに送信される集計値グラフを監視し、画像データの変更が必要か否かを判定する。
【0215】
また、データ処理装置1610は、画像データの変更が必要であると判定した場合、画像データを変更し、変更後の画像データを画像圧縮装置130に送信する。
【0216】
更に、
図17に示すように、第3のフェーズにおける圧縮処理システム1600には、解析装置120、データ処理装置1610、画像圧縮装置130が含まれる。
【0217】
解析装置120は、生成した集計値グラフに基づいて、各ブロックの最適な圧縮レベル(量子化値)を決定し、決定量子化値マップを生成する。また、解析装置120は、生成した決定量子化値マップを画像圧縮装置130に送信する。
【0218】
データ処理装置1610は、変更後画像データを画像圧縮装置130に送信する。
【0219】
画像圧縮装置130は、決定量子化値マップを用いて変更後の画像データに対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0220】
<データ処理装置の機能構成>
次に、データ処理装置1610の機能構成について説明する。
図18は、データ処理装置の機能構成の一例を示す第3の図である。上記第2の実施形態同様、データ処理装置1610には、データ処理プログラムがインストールされており、当該プログラムが実行されることで、データ処理装置1610は、入力部1810、判定部1820として機能する。また、データ処理装置1610は、解析部1230、画像データ変更部1240として機能する。
【0221】
このうち、解析部1230、画像データ変更部1240の処理は、
図12のデータ処理装置1110の解析部1230、画像データ変更部1240の処理と同様であるため、ここでは説明を省略する。
【0222】
入力部1810は、解析装置120より画像データを取得する。また、入力部1810は、判定部1820から、画像データの変更が必要であるとの判定結果が通知された場合、取得した画像データを、解析部1230と画像データ変更部1240とに通知する。この場合、画像データ変更部1240は、変更情報に基づいて画像データを変更し、変更後画像データを画像圧縮装置130に送信する。
【0223】
また、入力部1810は、判定部1820から、画像データの変更が必要でないとの判定結果が通知された場合、取得した画像データを、画像データ変更部1240に通知する。この場合、画像データ変更部1240は、画像データを変更することなく画像圧縮装置130に送信する。
【0224】
判定部1820は、解析装置120より送信される各ブロックの集計値グラフ(画像データの認識精度に関わる情報の一例)を監視し、画像データの変更が必要か否かを判定する。画像データの変更が必要であると判定した場合、判定部1820は、判定結果を入力部1810に通知する。一方、画像データの変更が必要でないと判定した場合、判定部1820は、判定結果を入力部1810に通知する。
【0225】
<圧縮処理システムによる画像圧縮処理の流れ>
次に、圧縮処理システム1600による画像圧縮処理の流れについて説明する。
図19は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第3のフローチャートである。
【0226】
ステップS1901において、解析装置120の入力部310は、画像データを取得する。
【0227】
ステップS1902において、解析装置120の量子化値設定部330は、最小の量子化値(Q1)を設定した量子化値マップ(可変)を、画像圧縮装置130に送信する。
【0228】
ステップS1903において、画像圧縮装置130は、送信された量子化値マップ(可変)を用いて画像データに対して圧縮処理を行い、圧縮データを生成する。
【0229】
ステップS1904において、解析装置120の入力部310は、生成された圧縮データを復号する。また、解析装置120のCNN部320は、復号データに対して認識処理を行う。
【0230】
ステップS1905において、解析装置120の重要特徴マップ生成部350は、CNN部構造情報に基づいて、各領域の認識結果への影響度を示す重要特徴マップを生成する。
【0231】
ステップS1906において、解析装置120の集計部360は、重要特徴マップに基づいて、各領域の影響度をブロック単位で集計する。また、解析装置120の集計部360は、集計結果を、現在の圧縮レベル(量子化値)と対応付けて、集計結果格納部390に格納するとともに、集計値グラフをデータ処理装置1610に送信する。
【0232】
ステップS1907において、データ処理装置1610の判定部1820は、解析装置120より送信される各ブロックの集計値グラフを監視し、画像データの変更が必要か否かを判定する。
【0233】
ステップS1907において画像データの変更が必要であると判定した場合(ステップS1907においてYes)、判定結果を入力部1810に通知し、ステップS1908に進む。
【0234】
ステップS1908において、データ処理装置1610の入力部1810は、画像データを解析部1230及び画像データ変更部1240に通知し、解析部1230は、変更情報を画像データ変更部1240に通知する。また、画像データ変更部1240は、変更情報に基づいて画像データを変更し、変更後の画像データを画像圧縮装置130に送信する。
【0235】
あるいは、データ処理装置1610の入力部1810は、画像データを解析部1230に通知し、解析部1230は、スコア最大化リファイン画像を画像データ変更部1240に通知する。また、画像データ変更部1240は、スコア最大化リファイン画像を変更後の画像データとして、画像圧縮装置130に送信する。
【0236】
一方、ステップS1907において画像データの変更が必要でないと判定した場合(ステップS1907においてNoの場合)、判定結果を入力部1810に通知する。この場合、データ処理装置1610の入力部1810は、画像データを画像データ変更部1240に通知し、画像データ変更部1240は、画像データを変更することなく、画像圧縮装置130に送信する。
【0237】
ステップS1909において、解析装置120の量子化値設定部330は、次の量子化値を設定するか否かを判定し、次の量子化値を設定すると判定した場合には(ステップS1909においてYes)、ステップS1910に進む。
【0238】
ステップS1910において、解析装置120の量子化値設定部330は、次の量子化値を設定した量子化値マップ(可変)を、画像圧縮装置130に送信した後、ステップS1903に戻る。
【0239】
一方、ステップS1909において、次の量子化値を設定しないと判定した場合には(ステップS1909においてNoの場合には)、ステップS1911に進む。
【0240】
ステップS1911において、解析装置120の量子化値決定部370は、集計結果格納部390より読み出した集計値グラフに基づいて、ブロック単位で量子化値を決定し、量子化値マップを生成する。
【0241】
ステップS1912において、解析装置120の前景判定部380は、生成された量子化値マップのうち、背景ブロックに設定された量子化値を最大化し、決定量子化値マップを生成する。
【0242】
ステップS1913において、画像圧縮装置130は、決定量子化値マップを用いて、変更後画像データに対して圧縮処理を行い、圧縮データをストレージ装置150に格納する。
【0243】
以上の説明から明らかなように、第3の実施形態に係るデータ処理装置は、決定量子化値マップを生成する際の、量子化値を増加させていく過程で、各ブロックの集計値グラフを監視することで、画像データの変更が必要か否かを判定する。また、第3の実施形態に係るデータ処理装置は、画像データの変更が必要であると判定した場合に、スコア情報が最大化するように画像データを変更する。
【0244】
このように、第2の実施形態同様、画像データ自体を変更することで、第3の実施形態によれば、認識精度が低い画像データが取得された場合であっても、認識精度を向上させることができる。
【0245】
また、変更後の画像データに基づいて決定量子化値マップを生成するため、第3の実施形態によれば、高い量子化値が設定された決定量子化値マップを生成することができる。
【0246】
これにより、第3の実施形態によれば、第2の実施形態同様、認識精度を向上させつつ、圧縮レベルを向上させることができる。つまり、第3の実施形態に係るデータ処理装置によれば、AIによる画像認識処理に適した圧縮処理を実現することができる。
【0247】
[第4の実施形態]
上記第3の実施形態では、決定量子化値マップを生成するにあたり、各ブロックの集計値グラフを監視することで、画像データの変更が必要であるか否かを判定するケースについて説明した。
【0248】
これに対して、第4の実施形態では、生成した決定量子化値マップを用いて圧縮処理を行った後の圧縮データについて認識精度を確認することで、画像データの変更が必要であるか否かを判定する。
【0249】
これにより、第4の実施形態によれば、第3の実施形態同様、認識精度を向上させつつ、圧縮レベルを向上させることができる。以下、第4の実施形態について、上記各実施形態との相違点を中心に説明する。
【0250】
<圧縮処理システムのシステム構成>
はじめに、第4の実施形態に係るデータ処理装置を含む、圧縮処理システム全体のシステム構成について説明する。
図20及び
図21は、圧縮処理システムのシステム構成の一例を示す第4及び第5の図である。第4の実施形態において、圧縮処理システムが実行する処理は、
・決定量子化値マップを生成し、生成した決定量子化値マップを用いて圧縮処理を行う第1のフェーズと、
・圧縮データについて認識精度を確認し、画像データを変更する第2のフェーズと、
・変更後の画像データに対して圧縮処理を行い、圧縮データを格納する第3のフェーズと
に大別することができる。
【0251】
図20において、20aは、第1のフェーズにおける圧縮処理システム2000のシステム構成を示しており、20bは、第2のフェーズにおける圧縮処理システムのシステム構成を示している。また、
図21は、第3のフェーズにおける圧縮処理システムのシステム構成を示している。
【0252】
図20の20aに示すように、第1のフェーズにおける圧縮処理システム2000には、撮像装置110、解析装置120、画像圧縮装置130が含まれる。なお、第1のフェーズにおける撮像装置110による処理は、上記第1の実施形態において
図1の1aを用いて説明した撮像装置110による処理と同じであるため、ここでは説明を省略する。
【0253】
また、第1のフェーズにおける解析装置120、画像圧縮装置130による処理は、上記第2の実施形態において
図11の11bを用いて説明した解析装置120、画像圧縮装置130による処理と同様であるため、ここでは説明を省略する。
【0254】
一方、
図20の20bに示すように、第2のフェーズにおける圧縮処理システム2000には、解析装置120、画像圧縮装置130、データ処理装置2010が含まれる。このうち、解析装置120、画像圧縮装置130による処理は、上記第2の実施形態において
図11の11bを用いて説明した解析装置120、画像圧縮装置130による処理と同様であるため、ここでは説明を省略する。
【0255】
図20の20bにおいてデータ処理装置2010は、画像圧縮装置130より送信される圧縮データを復号し、復号データに対して認識処理を行う。また、データ処理装置2010は、認識結果に含まれるスコア情報が所定の条件を満たすか否かを判定し、所定の条件を満たさないと判定した場合、スコア情報が最大化するように画像データを変更し、変更後の画像データを画像圧縮装置130に送信する。
【0256】
また、
図21に示すように、第3のフェーズにおける圧縮処理システム2000には、画像圧縮装置130、データ処理装置2010、ストレージ装置150が含まれる。
【0257】
図21に示すように第3のフェーズにおける画像圧縮装置130は、データ処理装置2010より送信された変更後の画像データに対して、決定量子化値マップを用いて圧縮処理を行い、圧縮データをデータ処理装置2010に送信する。
【0258】
また、
図21に示すように第3のフェーズにおけるデータ処理装置2010は、画像圧縮装置130より送信される圧縮データを復号し、復号データに対して認識処理を行う。また、データ処理装置2010は、認識結果に含まれるスコア情報が所定の条件を満たすか否かを判定し、所定の条件を満たすと判定した場合、圧縮データをストレージ装置150に格納する。
【0259】
<データ処理装置の機能構成>
次に、データ処理装置2010の機能構成について説明する。
図22は、データ処理装置の機能構成の一例を示す第4の図である。上記第2の実施形態同様、データ処理装置2010には、データ処理プログラムがインストールされており、当該プログラムが実行されることで、データ処理装置2010は、復号部2210、CNN部1210、判定部1220として機能する。また、データ処理装置2010は、解析部1230、画像データ変更部2240として機能する。
【0260】
このうち、CNN部1210、判定部1220、解析部1230は、上記第2の実施形態において
図12を用いて説明したCNN部1210、判定部1220、解析部1230と同様の機能を有するため、ここでは説明を省略する。
【0261】
復号部2210は、画像圧縮装置130より送信された圧縮データを復号し、復号データを生成する。また、復号部2210は、復号データをCNN部1210に通知する。更に、復号部2210は、解析部1230からの指示に応じて、復号データを解析部1230に通知する。
【0262】
画像データ変更部2240は変更部の一例である。画像データ変更部2240は、判定部1220より判定結果が通知された場合、圧縮データをストレージ装置150に送信する。
【0263】
また、画像データ変更部2240は、解析部1230より変更情報が通知された場合、通知された変更情報に基づいて画像データを変更し、変更後の画像データを、画像圧縮装置130に送信する。あるいは、画像データ変更部2240は、解析部1230より変更後の画像データが通知された場合、当該変更後の画像データを、画像圧縮装置130に送信する。
【0264】
<圧縮処理システムによる画像圧縮処理の流れ>
次に、圧縮処理システム2000による画像圧縮処理の流れについて説明する。
図23は、圧縮処理システムによる画像圧縮処理の流れの一例を示す第4のフローチャートである。
【0265】
図23において、ステップS1001~S1007は、
図10のステップS1001~S1007と同様の処理であるため説明を省略し、ここでは、ステップS2301~S2306の処理について説明する。
【0266】
ステップS2301において、画像圧縮装置130は、決定量子化値マップを用いて、画像データに対して圧縮処理を行い、圧縮データを生成する。
【0267】
ステップS2302において、データ処理装置2010の復号部2210は圧縮データを復号し、データ処理装置2010のCNN部1210は、復号データに対して認識処理を行うことで、認識結果を出力する。
【0268】
ステップS2303において、データ処理装置2010の判定部1220は、認識結果に含まれるスコア情報が所定の条件を満たすか否かを判定することで、画像データの変更が必要か否かを判定する。
【0269】
ステップS2303において、所定の条件を満たさないと判定した場合(ステップS2303においてYesの場合には)、画像データの変更が必要であると判定し、ステップS2304に進む。
【0270】
ステップS2304において、データ処理装置2010の解析部1230は、スコア情報が最大化するように、画像データを変更するための変更情報を生成する。また、データ処理装置1110の画像データ変更部1240は、生成された変更情報に基づいて画像データを変更し、変更後画像データを画像圧縮装置130に送信する。
【0271】
あるいは、データ処理装置1110の解析部1230は、スコア情報が最大化するように画像データを変更することでスコア最大化リファイン画像を生成し、画像データ変更部1240に通知する。また、データ処理装置1110の画像データ変更部1240は、スコア最大化リファイン画像を、変更後画像データとして、画像圧縮装置130に送信する。
【0272】
ステップS2305において、画像圧縮装置130は、決定量子化値マップを用いて変更後の画像データに対して圧縮処理を行い、圧縮データを生成する。
【0273】
一方、ステップS2303において、所定の条件を満たすと判定した場合には(ステップS2303においてNoの場合には)、画像データの変更が必要でないと判定し、画像データを変更することなくステップS2306に進む。
【0274】
ステップS2306において、データ処理装置2010は、圧縮データをストレージ装置150に格納する。
【0275】
以上の説明から明らかなように、第4の実施形態に係るデータ処理装置は、生成された決定量子化値マップを用いて圧縮処理が行われた場合の圧縮データを取得し、取得した圧縮データを復号した復号データに対して認識処理を行う。また、第4の実施形態に係るデータ処理装置は、認識結果に含まれるスコア情報が所定の条件を満たすか否かを判定し、所定の条件を満たさないと判定した場合に、スコア情報が最大化するように画像データを変更する。更に、第4の実施形態に係るデータ処理装置は、変更後の画像データに対して、決定量子化値マップを用いて圧縮処理が行われた場合に、圧縮データを格納する。
【0276】
このように、圧縮データについて認識精度を確認し、画像データの変更が必要な場合には、画像データを変更するため、第4の実施形態によれば、認識精度の低い圧縮データが出力されることを回避することができる。これにより、第4の実施形態によれば、圧縮レベルを向上させつつ、認識精度を向上させることができる。つまり、第4の実施形態に係るデータ処理装置によれば、AIによる認識処理に適した圧縮処理を実現することができる。
【0277】
[その他の実施形態]
上記第1の実施形態では、決定量子化値マップを生成した後に、各ブロックが前景ブロックであるか背景ブロックであるかを判定し、背景ブロックであると判定した場合に、当該ブロックの量子化値を最大化するものとして説明した。しかしながら、決定量子化値マップを生成する処理と、背景ブロックの量子化値を最大化する処理との間の処理順序はこれに限定されず、背景ブロックの量子化値を最大化する処理を行った後に、決定量子化値マップを生成する処理を行ってもよい。
【0278】
また、上記第1の実施形態では、背景ブロックであると判定した場合に、当該ブロックの量子化値を最大化する処理を行うものとして説明したが、背景ブロックの画像データを無効化する処理(例えば、画素値をゼロにする処理)を行ってもよい。あるいは、背景ブロックの画像データに対して、ブラーなどのローパスフィルタ処理を行ってもよい。
【0279】
また、上記第1の実施形態では、画像圧縮装置130が画像データに対して圧縮処理を行う際に参照する画像データについて特に言及しなかったが、参照する画像データは、補正後決定量子化値マップを用いて圧縮処理が行われた画像データであってもよい。あるいは、参照する画像データは、補正後決定量子化値マップを用いて圧縮処理が行われた場合と同程度の劣化度をもたらす他の量子化値マップを用いて圧縮処理が行われた画像データであってもよい。
【0280】
また、上記第1の実施形態では、量子化値を増加させる処理を継続するか否かを判定する際の所定の第2の条件として、画像データに対する認識結果に基づいて規定した許容範囲を用いるものとして説明したが、所定の第2の条件はこれに限定されない。
【0281】
例えば、画像データの中には、圧縮処理を行う際の圧縮レベルとして所定の圧縮レベル以上の圧縮レベルが期待できないような画像データも存在しうる。このような画像データについては、所定の圧縮レベル(量子化値)で圧縮処理を行った場合の圧縮データに対する認識結果に基づいて許容範囲を規定してもよい。
【0282】
また、上記第1の実施形態では、許容範囲を規定する際に画像データに対する認識結果を用いるものとして説明した。しかしながら、許容範囲を規定する際に用いる情報は、画像データに対する認識結果に限定されず、例えば、画像データに付与されたアノテーション情報を用いてもよい。
【0283】
また、上記第1の実施形態では、画像圧縮装置130が圧縮処理する際に用いる量子化値を、データ処理装置140が提供するものとして説明した。しかしながら、データ処理装置140は、画像圧縮装置130が圧縮処理する際に用いる量子化値を調整するための重み付け指標を提供し、画像圧縮装置130が提供された重み付け指標に基づいて、量子化値を調整してもよい。
【0284】
具体的には、各ブロックの集計値等のように、認識結果への影響度をブロックごとに統計処理したブロックごとの統計値や、ブロックごとの統計値の変化量、あるいは、決定量子化値マップの各ブロックの量子化値を、各ブロックの重み付け指標と捉えてもよい。
【0285】
そして、画像圧縮装置130では、例えば、ビットレートを制御するアルゴリズムに基づいて決定された各ブロックの量子化値を、重み付け指標を用いて調整してもよい。あるいは、画像圧縮装置130では、例えば、フレーム内または複数のフレームにわたって固定的に設定された各ブロックの量子化値を、重み付け指標を用いて調整してもよい。
【0286】
一例として、決定量子化値マップの各ブロックの量子化値を、各ブロックの重み付け指標と捉える場合、画像圧縮装置130では、決定量子化値マップにおいて量子化値が大きいブロックについては、
・ビットレートを制御するアルゴリズムに基づいて決定された各量子化値、あるいは、
・フレーム内または複数のフレームにわたって固定的に設定された各ブロックの量子化値、
を大きくする方向に調整する際、調整の強さをより大きくし、小さくする方向に調整する際、調整の強さをより小さくしてもよい。
【0287】
また、他の一例として、各ブロックの集計値を、各ブロックの重み付け指標と捉える場合、画像圧縮装置130では、集計値が大きいブロックについては、
・ビットレートを制御するアルゴリズムに基づいて決定された各量子化値、あるいは、
・フレーム内または複数のフレームにわたって固定的に設定された各ブロックの量子化値、
を大きくする方向に調整する際、調整の強さをより大きくし、小さくする方向に調整する際、調整の強さをより小さくしてもよい。
【0288】
更に、画像圧縮装置130では、
・ビットレートを制御するアルゴリズムに基づいて決定された各ブロックの量子化値、あるいは、
・フレーム内または複数のフレームにわたって固定的に設定された各ブロックの量子化値、
であって、重み付け指標を用いて調整した量子化値を、他の情報に応じて更に変更してもよい。ここでいう他の情報には、圧縮データを復号して認識処理を行った際のスコア情報、分類確率、誤差情報、あるいは、オブジェクトの位置情報など、認識精度に影響する値の変化や推移状況が含まれる。なお、画像圧縮装置130では、認識精度に影響する値が維持されるように、あるいは、改善されるように、あるいは、所定の許容範囲内の低下で収まるように、量子化値を変更するものとする。また、画像圧縮装置130では、対応する画像データに対して、あるいは、対応する画像データよりも後に取得される画像データに対して、変更後の量子化値を用いて圧縮処理を行うものとする。あるいは、画像圧縮装置130では、対応する画像データと対応する画像データよりも後に取得される画像データとを含む複数の画像データに対して、変更後の量子化値を用いて圧縮処理を行うものとする。
【0289】
また、上記第2乃至第4の実施形態では、変更する画像データに含まれるオブジェクトの数について言及しなかったが、変更する画像データに含まれるオブジェクトの数は複数であってもよい。この場合、データ処理装置では、個々のオブジェクトのスコア情報を最大化するようにオブジェクトごとに画像データを変更してもよいし、複数のオブジェクトのスコア情報を最大化するように、複数のオブジェクトについてまとめて画像データを変更してもよい。
【0290】
また、上記第2乃至第4の実施形態では、画像データを変更するにあたり、スコア最大化リファイン画像データを生成するものとして説明した。しかしながら、例えば、上記第4の実施形態のように、復号データの認識精度を確認し、認識精度が低い場合に復号データを変更する場合にあっては、
・認識精度が低いと判定された復号データとは別の復号データまたは画像データであって、かつ、
・認識精度が低いと判定された復号データよりも、認識精度が高い復号データまたは画像データ、
が存在する場合には、スコア最大化リファイン画像を生成する代わりに、当該認識精度が高い復号データまたは画像データを用いてもよい。これにより、スコア最大化リファイン画像を生成する処理を省略することができる。
【0291】
また、上記第2乃至第4の実施形態では、画像データまたは復号データに基づいてスコア最大化リファイン画像データを生成するものとして説明した。しかしながら、スコア最大化リファイン画像を生成する前に、背景ブロックを判定し、判定した背景ブロックの画像データまたは復号データに対して無効化する処理、あるいは、ローパスフィルタ処理などの画像処理を行ってもよい。
【0292】
また、上記各実施形態では、撮像装置110から送信された画像データを対象として、圧縮処理を行うものとして説明した。しかしながら、圧縮処理を行う対象は、これに限定されず、例えば、撮像装置110から送信された画像データを、所定のサイズにリサイズした画像データを対象として、圧縮処理を行ってもよい。
【0293】
また、上記各実施形態では、各ブロックのサイズについて特に言及しなかったが、各ブロックのサイズは、固定サイズであっても可変サイズであってもよい。また、可変サイズの場合にあっては、例えば、量子化値の大きさに応じたサイズであってもよい。
【0294】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0295】
100 :圧縮処理システム
120 :解析装置
130 :画像圧縮装置
140 :データ処理装置
310 :入力部
320 :CNN部
330 :量子化値設定部
340 :出力部
350 :重要特徴マップ生成部
360 :集計部
370 :量子化値決定部
380 :前景判定部
420 :集計結果
810 :符号化部
820 :復号部
830 :CNN部
840 :量子化値補正部
1100 :圧縮処理システム
1110 :データ処理装置
1210 :CNN部
1220 :判定部
1230 :解析部
1240 :画像データ変更部
1310 :リファイン画像生成部
1320 :重要特徴指標マップ生成部
1340 :特定部
1350 :詳細解析部
1600 :圧縮処理システム
1610 :データ処理装置
2000 :圧縮処理システム
2010 :データ処理装置
2210 :復号部
2240 :画像データ変更部