IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社シキノハイテックの特許一覧

特開2023-13262画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法
<>
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図1
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図2
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図3
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図4
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図5
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図6
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図7
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図8
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図9
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図10
  • 特開-画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023013262
(43)【公開日】2023-01-26
(54)【発明の名称】画像圧縮装置、画像伸長装置、画像圧縮方法、および画像伸長方法
(51)【国際特許分類】
   H04N 1/64 20060101AFI20230119BHJP
   H03M 7/30 20060101ALI20230119BHJP
   H04L 9/14 20060101ALI20230119BHJP
   G06F 21/62 20130101ALI20230119BHJP
   H03M 7/40 20060101ALN20230119BHJP
【FI】
H04N1/64
H03M7/30 Z
H04L9/00 641
G06F21/62 309
H03M7/40
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021117303
(22)【出願日】2021-07-15
(71)【出願人】
【識別番号】392016432
【氏名又は名称】株式会社シキノハイテック
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】竹田 豊
(72)【発明者】
【氏名】鶴田 敦則
【テーマコード(参考)】
5C178
5J064
【Fターム(参考)】
5C178BC91
5C178CC55
5C178CC68
5C178DC28
5J064BA09
5J064BC03
5J064BC16
(57)【要約】
【課題】JPEGデータのスクランブル強度の調整自由度を向上させる。
【解決手段】画像圧縮装置(1)は、画像入力部(10)と、DCT部(20)と、量子化部(30)と、係数暗号化部(40)と、ハフマン符号化部(50)とを備える。DCT部(20)は、画像入力部(10)からの画像のデータを複数のブロックに分割し、複数のブロックの各々に対して周波数変換を行なって、各々が複数のビットで表現される1個のDC係数と63個のAC係数とを生成する。量子化部(30)は、生成されたDC/AC係数データを量子化する。係数暗号化部(40)は、量子化されたDC/AC係数データの各々の一部のビットを、外部から取得されるキーコードを用いて暗号化する。ハフマン符号化部(50)は、暗号化されたDC/AC係数データを符号化して符号データを生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像のデータを複数のブロックに分割し、前記複数のブロックの各々に対して周波数変換を行なって各々が複数のビットで表現される複数の係数データを生成する変換部と、
前記変換部によって生成された前記複数の係数データを量子化する量子化部と、
前記量子化部によって量子化された前記複数の係数データの各々の一部のビットを、外部から取得されるキーコードを用いて暗号化する暗号化部と、
前記暗号化部によって一部のビットが暗号化された前記係数データを符号化して符号データを生成する符号化部とを備える、画像圧縮装置。
【請求項2】
前記複数のブロックの各々は、二次元状に配列された複数の画素を有し、
前記複数の係数データは、前記複数の画素を周波数に変換したDC係数およびAC係数を含み、
前記暗号化部は、前記DC係数および前記AC係数のうちの少なくともいずれかの一部のビットを暗号化する、請求項1に記載の画像圧縮装置。
【請求項3】
前記暗号化部は、前記DC係数および前記AC係数のうちの少なくともいずれかの下位ビットを暗号化する、請求項2に記載の画像圧縮装置。
【請求項4】
前記複数のブロックの各々は、二次元状に配列された複数の画素を有し、
前記複数の係数データは、前記複数の画素を周波数に変換した1つのDC係数および複数のAC係数を含み、
前記暗号化部は、前記1つのDC係数の下位ビットを暗号化するとともに、前記複数のAC係数のうちの一部のAC係数の下位ビットを暗号化する、請求項1に記載の画像圧縮装置。
【請求項5】
前記画像圧縮装置には、前記画像における特定の領域の座標を示す情報が外部から入力され、
前記暗号化部は、前記複数のブロックのうちの前記特定の領域に含まれるブロックに対して生成された前記係数データの一部のビットを暗号化する、請求項1~4のいずれかに記載の画像圧縮装置。
【請求項6】
前記変換部は、前記複数のブロックの各々に対して輝度の係数データと色差の係数データとを生成し、
前記暗号化部は、
前記輝度の係数データの一部のビットを暗号化し、
暗号化された前記一部のビットと、暗号化されていない残余のビットとを結合することによって、暗号化された前記輝度の係数データを生成する、請求項1~5のいずれかに記載の画像圧縮装置。
【請求項7】
前記暗号化部は、前記複数の係数データの各々の一部のビットを、外部から取得されるキーコードを用いて暗号化し、
前記符号化部は、符号化された前記符号データを前記特定の領域の座標を示す情報とともに外部に出力する、請求項1~6のいずれかに記載の画像圧縮装置。
【請求項8】
請求項7に記載の画像圧縮装置から出力される前記符号データおよび前記特定の領域の座標を示す情報を受信可能な画像伸長装置であって、
前記符号データを係数データに復号化する符号復号化部と、
前記符号復号化部によって復号化された前記係数データのうちの前記特定の領域に対応する係数データを、外部から入力されるキーコードを用いて復号化する係数復号化部と、
前記係数復号化部によって復号化された係数データを逆量子化する逆量子化部と、
前記逆量子化部によって逆量子化された係数データを逆周波数変換して画像のデータを生成する逆変換部とを備える、画像伸長装置。
【請求項9】
請求項7に記載の画像圧縮装置から出力される前記符号データおよび前記特定の領域の座標を示す情報を受信可能な画像伸長装置であって、
前記符号データを係数データに復号化する符号復号化部と、
前記符号復号化部によって復号化された係数データを逆量子化する逆量子化部と、
前記逆量子化部によって逆量子化された係数データを逆周波数変換して画像のデータを生成する逆変換部とを備える、画像伸長装置。
【請求項10】
画像圧縮装置が行なう画像処理方法であって、
画像のデータを複数のブロックに分割し、前記複数のブロックの各々に対して周波数変換を行なって各々が複数のビットで表現される複数の係数データを生成し、
生成された前記複数の係数データを量子化し、
量子化された前記複数の係数データの一部のビットを、外部から入力されるキーコードを用いて暗号化し、
一部のビットが暗号化された前記係数データを符号化して符号データを生成する、画像圧縮方法。
【請求項11】
画像伸長装置が行なう画像伸長方法であって、
符号データを係数データに復号化し、
復号化された係数データを、外部から入力されるキーコードを用いて復号化し、
復号化された係数データを逆量子化し、
逆量子化された係数データを逆周波数変換して画像のデータを生成する、画像伸長方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、JPEG(Joint Photographic Experts Group)規格に従って処理される画像(以下「JPEG画像」ともいう)の一部をスクランブル化する技術に関する。
【背景技術】
【0002】
従来より、写真などの画像を取り扱う分野では、通信における負担軽減等を目的として、画像データをJPEG規格に従って圧縮したり、圧縮されたJPEG画像データを伸長して元の画像に復元したりする装置が用いられている。
【0003】
JPEGでは、画像データが、8×8の二次元状に配列された複数の画素を各々が有する複数のブロックに分割され、複数のブロックの各々に対して、周波数変換(離散コサイン変換)処理、量子化処理、ハフマン符号化処理が順次施されることで画像データの圧縮符号化が行われる。
【0004】
ハフマン符号化処理では、周波数変換処理、量子化処理で生成されたDC(Direct Current)係数およびAC(Alternating Current)係数に対してそれぞれグループ化処理が施されてグループ番号および付加ビットが付与され、グループ番号をハフマン符号化して符号語が生成される。生成された符号語が付加ビットとともに符号データ(以下「JPEGデータ」ともいう)として出力される。
【0005】
近年では、犯罪発生の抑止、あるいは犯罪発生時の状況把握などの目的で、監視カメラが広汎に設置されており、その監視カメラの画像データとしてJPEGデータが多く用いられている。監視カメラによって撮像された画像の中に、人物の顔画像あるいは車両のナンバープレートなどの個人を特定可能な情報が撮像されていると、個人のプライバシを侵害するといった問題が生じ得る。個人情報の保護の観点から、画像をスクランブル化して個人を特定できないようにする技術の開発が進められている。
【0006】
画像をスクランブル化する技術に関して、たとえば、情報処理学会第52回(平成8年前期)全国大会 2-209~210頁の「JPEG半開示映像生成における開示度パラメータ」(非特許文献1)には、JPEGによる画像圧縮過程において、ハフマン符号化処理で生成される付加ビットを変更することによって、画像のスクランブル強度を調整できることが開示されている。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】情報処理学会第52回(平成8年前期)全国大会 2-209~210頁「JPEG半開示映像生成における開示度パラメータ」
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述の非特許文献1に開示されるようにハフマン符号化処理で生成される付加ビットを変更することによってスクランブル強度を調整する場合、スクランブル強度を付加ビットの範囲内でしか調整できないところ、付加ビット数は数ビット程度と少ないため、スクランブル強度の調整自由度が小さくなってしまうことが懸念される。そのため、スクランブル強度の調整自由度を向上させる技術の開発が望まれる。
【0009】
本開示は、上述の課題を解決するためになされたものであって、その目的は、JPEG画像のスクランブル強度の調整自由度を向上させることである。
【課題を解決するための手段】
【0010】
(1) 本開示による画像圧縮装置は、画像のデータを複数のブロックに分割し、複数のブロックの各々に対して周波数変換を行なって各々が複数のビットで表現される複数の係数データを生成する変換部と、変換部によって生成された複数の係数データを量子化する量子化部と、量子化部によって量子化された複数の係数データの各々の一部のビットを、外部から取得されるキーコードを用いて暗号化する暗号化部と、暗号化部によって一部のビットが暗号化された係数データを符号化して符号データを生成する符号化部とを備える。
【0011】
(2) ある態様においては、複数のブロックの各々は、二次元状に配列された複数の画素を有する。複数の係数データは、複数の画素を周波数に変換したDC係数およびAC係数を含む。暗号化部は、DC係数およびAC係数のうちの少なくともいずれかの一部のビットを暗号化する。
【0012】
(3) ある態様においては、暗号化部は、DC係数およびAC係数のうちの少なくともいずれかの下位ビットを暗号化する。
【0013】
(4) ある態様においては、複数のブロックの各々は、二次元状に配列された複数の画素を有する。複数の係数データは、複数の画素を周波数に変換した1つのDC係数および複数のAC係数を含む。暗号化部は、1つのDC係数の下位ビットを暗号化するとともに、複数のAC係数のうちの一部のAC係数の下位ビットを暗号化する。
【0014】
(5) ある態様においては、画像圧縮装置には、画像における特定の領域の座標を示す情報が外部から入力される。暗号化部は、複数のブロックのうちの特定の領域に含まれるブロックに対して生成された係数データの一部のビットを暗号化する。
【0015】
(6) ある態様においては、変換部は、複数のブロックの各々に対して輝度の係数データと色差の係数データとを生成する。暗号化部は、輝度の係数データの一部のビットを暗号化し、暗号化された一部のビットと、暗号化されていない残余のビットとを結合することによって、暗号化された輝度の係数データを生成する。
【0016】
(7) ある態様においては、暗号化部は、複数の係数データの各々の一部のビットを、外部から取得されるキーコードを用いて暗号化する。符号化部は、符号化された符号データを特定の領域の座標を示す情報とともに外部に出力する。
【0017】
(8) 本開示による画像伸長装置は、上記(7)に記載の画像圧縮装置から出力される符号データおよび特定の領域の座標を示す情報を受信可能な画像伸長装置であって、符号データを係数データに復号化する符号復号化部と、符号復号化部によって復号化された係数データのうちの特定の領域に対応する係数データを、外部から入力されるキーコードを用いて復号化する係数復号化部と、係数復号化部によって復号化された係数データを逆量子化する逆量子化部と、逆量子化部によって逆量子化された係数データを逆周波数変換して画像のデータを生成する逆変換部とを備える。
【0018】
(9) 本開示による他の画像伸長装置は、上記(7)に記載の画像圧縮装置から出力される符号データおよび特定の領域の座標を示す情報を受信可能な画像伸長装置であって、符号データを係数データに復号化する符号復号化部と、符号復号化部によって復号化された係数データを逆量子化する逆量子化部と、逆量子化部によって逆量子化された係数データを逆周波数変換して画像のデータを生成する逆変換部とを備える。
【0019】
(10) 本開示による画像処理方法は、画像圧縮装置が行なう画像処理方法であって、画像のデータを複数のブロックに分割し、複数のブロックの各々に対して周波数変換を行なって各々が複数のビットで表現される複数の係数データを生成し、生成された複数の係数データを量子化し、量子化された複数の係数データの一部のビットを、外部から入力されるキーコードを用いて暗号化し、一部のビットが暗号化された係数データを符号化して符号データを生成する。
【0020】
(11) 本開示による画像伸長方法は、画像伸長装置が行なう画像伸長方法であって、符号データを係数データに復号化し、復号化された係数データを、外部から入力されるキーコードを用いて復号化し、復号化された係数データを逆量子化し、逆量子化された係数データを逆周波数変換して画像のデータを生成する。
【発明の効果】
【0021】
本開示によれば、JPEG画像のスクランブル強度の調整自由度を向上させることができる。
【図面の簡単な説明】
【0022】
図1】画像処理システムの全体構成の一例を模式的に示す図である。
図2】各ブロックの係数データの配列の一例を模式的に示す図である。
図3】係数暗号化部の詳細構成の一例を示す図である。
図4】AES変換用ビットの抽出例を示す図である。
図5】ハフマン符号化部の詳細構成の一例を示す図である。
図6】AC係数のグループ番号および付加ビットの生成に用いられるテーブルの一例を示す図である。
図7】本実施の形態によるスクランブル画像の一例を模式的に示す図である。
図8】本実施の形態に対する比較例のスクランブル画像の一例を模式的に示す図である。
図9】係数復号化部の詳細構成の一例を示す図である。
図10】付加ビット変更によって生成されたスクランブル画像の圧縮率よりも、DC/AC係数暗号化によって生成されたスクランブル画像の圧縮率を向上させた例を示す図である。
図11】人物の頭部のみを含む領域がスクランブル領域に設定されたスクランブル画像の一例を示す図である。
【発明を実施するための形態】
【0023】
以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0024】
<システム全体構成>
図1は、本実施の形態による画像処理システムの全体構成の一例を模式的に示す図である。この画像処理システムは、画像圧縮装置1と、画像伸長装置2,3とを備える。
【0025】
画像圧縮装置1は、監視カメラ等の撮像装置によって撮像された画像データをJPEG規格に従って圧縮する。画像圧縮装置1は、画像入力部10と、DCT(Discrete Cosine Transform、離散コサイン変換)部20と、量子化部30と、係数暗号化部40と、ハフマン符号化部50とを備える。
【0026】
画像入力部10には、撮像装置によって撮影された画像データが外部から入力される。画像入力部10に入力された画像データは、DCT部20に送られる。
【0027】
DCT部20は、画像入力部10からの画像データを各々が8×8個の画素を有する複数のブロックに分割し、分割された複数のブロックの各々に対して、各画素に対応する画像データを周波数成分に変換して、1個のDC係数と、63個のAC係数とを生成する処理を行う。したがって、複数のブロックの各々について、合計64個の係数データ(1個のDC係数と63個のAC係数)が生成される。各係数データの数値は、複数のビット(たとえば10ビット)で表現される。なお、本実施の形態においはDC係数の個数が1つである例について説明するが、DC係数の個数は必ずしも1つに限定されるものではない。たとえば、画像データを周波数成分に変換するサイズが8×8よりも大きいサイズ(たとえば16×16、あるいは32×32等)である場合には、DC係数の個数が複数である場合も想定される。
【0028】
図2は、各ブロックの係数データの配列の一例を模式的に示す図である。各ブロックは、8×8の二次元状に配列された64個の画素を有する。8×8個の画素が周波数変換されて8×8個の係数データが生成される。図2に示される数値は、係数データの配列番号を示す。図2において、配列番号が0番である係数データが「DC係数」であり、配列番号が1番から63番までの係数データが「AC係数」である。なお、DCT部20は、複数のブロックの各々に対して、輝度の係数データと色差の係数データとを別々に生成する。
【0029】
図1に戻って、量子化部30は、DCT部20によって生成された各係数データを量子化する処理を行なう。
【0030】
係数暗号化部40は、量子化部30によって量子化された係数データを暗号化する処理を行なう。係数暗号化部40には、外部からスクランブル座標情報が入力される。スクランブル座標情報は、画像入力部10に入力される画像全体における、スクランブル化の対象となる領域である「スクランブル領域」の座標を示す情報である。たとえば、画像入力部10に入力される画像中に個人を特定可能な人物の画像が存在する場合、スクランブル座標は、その人物が映る領域の座標であることが想定される。
【0031】
なお、スクランブル座標は、たとえば、人工知能(AI;Artificial Intelligence)にて自動的に抽出された座標であってもよい。また、スクランブル座標を自動的に抽出するAI機能が画像圧縮装置1の内部に設けられるようにしてもよい。
【0032】
係数暗号化部40は、外部から入力されるスクランブル座標情報に基づいて、量子化部30から入力される係数データを、スクランブル領域に含まれるブロックの係数データと、スクランブル領域に含まれないブロックの係数データとに層別する。
【0033】
係数暗号化部40は、スクランブル領域に含まれるブロックの係数データの一部のビットを外部から入力されるキーコードを用いて暗号化してハフマン符号化部50に出力する。このようにスクランブル領域に含まれるブロックの係数データの一部のビットを暗号化することによって、スクランブル領域内の画像がスクランブル化されることになる(後述の図7参照)。
【0034】
なお、係数暗号化部40は、スクランブル領域に含まれないブロックの係数データについては暗号化せずにそのままハフマン符号化部50に出力する。このようにスクランブル領域に含まれないブロックの係数データについては暗号化しないことによって、スクランブル領域外の画像についてはスクランブル化されない。
【0035】
ハフマン符号化部50は、係数暗号化部40から入力される係数データを、ハフマン符号を用い符号化することによって符号データ(JPEGデータ)を生成する。ハフマン符号化部50によって生成される符号データには、一般的に、圧縮画像データと各種マーカとが含まれる。圧縮画像データは、ゼロラン情報およびグループ番号情報を定義するハフマン符号と、係数値を表す可変長符号である付加ビットとによって各係数データを表したものである。なお、符号データ中においては、各ブロックの圧縮画像データの集合であるMCU(Minimum Coded Unit)毎の最後にリスタートマーカRSTが挿入されることがある。
【0036】
次に、画像伸長装置2について説明する。画像伸長装置2は、画像圧縮装置1からの符号データ(JPEGデータ)を、スクランブル領域内がスクランブル化された画像である「スクランブル画像」に復元する。画像伸長装置2は、たとえば、JPEG規格による一般的な伸長用ソフトウェアによって実現することができる。
【0037】
画像伸長装置2は、ハフマン復号化部70と、逆量子化部80と、IDCT(Inverse Discrete Cosine Transform、逆離散コサイン変換)部90と、画像出力部100とを備える。
【0038】
ハフマン復号化部70は、画像圧縮装置1から入力される符号データを解析してハフマン符号、ゼロラン情報、グループ番号および付加ビットを認識し、ゼロラン情報、グループ番号および付加ビットに基づいて、量子化された各係数データを復元する。
【0039】
逆量子化部80は、ハフマン復号化部70によって復元された各係数データを、量子化前の各係数データに変換する処理を行なう。
【0040】
IDCT部90は、逆量子化部80によって生成された量子化前の係数データに対して逆離散コサイン変換を行なって元の画像を復元する。上述したように、画像圧縮装置1から入力される符号データにおいては、スクランブル領域に含まれるブロックの係数データの一部のビットが暗号化されている。そのため、画像伸長装置2のIDCT部90によって復元される画像は、スクランブル領域の画像がスクランブル化された「スクランブル画像」となる。
【0041】
画像出力部100は、IDCT部90によって復元されたスクランブル画像を出力する。
【0042】
次に、画像伸長装置3について説明する。画像伸長装置3は、画像圧縮装置1からの符号データ(JPEGデータ)を、スクランブル領域内のスクランブル化が解除された画像である「スクランブル解除画像」に復元する。画像伸長装置2は、たとえば、JPEG規格による一般的な伸長用ソフトウェアに対してスクランブル解除機能を追加した特殊なソフトウェアによって実現することができる。
【0043】
画像伸長装置3は、上述の画像伸長装置2に対して、係数復号化部110を追加したものである。すなわち、画像伸長装置3は、上述のハフマン復号化部70、逆量子化部80、IDCT部90、画像出力部100に加えて、スクランブル解除機能を有する係数復号化部110を備える。
【0044】
ハフマン復号化部70は、上述のように画像圧縮装置1から入力される符号データを解析して、量子化された各係数データを復元する。
【0045】
係数復号化部110は、ハフマン復号化部70によって復元された係数データを、スクランブル領域に含まれるブロックの係数データと、スクランブル領域に含まれないブロックの係数データとに層別する。なお、スクランブル領域の座標情報は、画像圧縮装置1から入力される符号データ内に含まれている。
【0046】
係数復号化部110は、スクランブル領域に含まれるブロックの係数データの暗号化されたビットを、外部から入力されるキーコードを用いて復号化して逆量子化部80に出力する。これにより、スクランブル領域内のスクランブル化が解除されることになる。なお、係数復号化部110は、スクランブル領域に含まれないブロックの係数データについてはそのまま逆量子化部80に出力する。
【0047】
逆量子化部80は、係数復号化部110から入力される各係数データを、量子化前の各係数データに変換する処理を行なう。
【0048】
IDCT部90は、逆量子化部80によって変換された量子化前の係数データに対して逆離散コサイン変換を行なって元の画像を復元する。上述したように、スクランブル領域に含まれるブロックの係数データは係数復号化部110によって復号化されている。そのため、画像伸長装置3のIDCT部90によって復元される画像は、スクランブル領域内のスクランブル化が解除された「スクランブル解除画像」となる。
【0049】
画像出力部100は、IDCT部90によって復元されたスクランブル解除画像を出力する。
【0050】
<係数暗号化部40の詳細構成>
図3は、画像圧縮装置1における係数暗号化部40の詳細構成の一例を示す図である。なお、図3には、輝度の係数データと色差の係数データとのうち、輝度の係数データを暗号化する例が示されている。また、図3には、暗号化アルゴリズムとしてAES(Advanced Encryption Standard)を用いる例が示されている。なお、暗号化アルゴリズムは、AESに限定されるものではなく、他の暗号化アルゴリズムを用いてもよい。
【0051】
係数暗号化部40は、判定部41,42と、抽出部43と、変換部44と、結合部45と、選択部46とを備える。
【0052】
判定部41は、DCT部20から入力される係数データが輝度の係数データであるか否かを判定する。暗号化の対象である輝度の係数データは、判定部42に送られる。一方、暗号化の対象ではない色差の係数データは、判定部42ではなく選択部46に送られる。
【0053】
判定部42は、判定部41から入力される輝度の係数データが、スクランブル領域に含まれるブロックに対して生成された係数データ(以下「スクランブル領域内の係数データ」ともいう)であるか否かを判定する。スクランブル領域内の係数データは、暗号化の対象であるため、抽出部43および結合部45に送られる。一方、スクランブル領域に含まれないブロックに対して生成された係数データ(以下「スクランブル領域外の係数データ」ともいう)は、暗号化の対象ではないため、選択部46に送られる。
【0054】
抽出部43は、判定部42から入力されるスクランブル領域内の係数データから、暗号化の対象となるビットである「AES変換用ビット」を抽出する。なお、AESでは128ビット単位で暗号化するため、抽出部43は、ブロック毎に、128ビットのAES変換用ビットを抽出する。
【0055】
図4は、AES変換用ビットの抽出例を示す図である。上述したように、各ブロックには64個の係数データ(1個のDC係数と63個のAC係数)が含まれ、各係数データの値は、たとえば10ビットで表現される。
【0056】
本実施の形態においては、AES変換用ビットを、64個の係数データのうちのどの係数データのどのビットから抽出するのかによって、スクランブル強度を調整することができる。図4に示す例では、抽出部43は、1個のDC係数の下位のビット、および、1~27番までの27個のAC係数の各々の下位のビットから、合計128ビットを抽出してAES変換用ビットとする。
【0057】
より具体的には、1個のDC係数については下位の4ビット(小計1×4=4ビット)、1~5番の5個のAC係数については各々の下位5ビット(小計5×5=25ビット)、6~14番の9個のAC係数については各々の下位6ビット(小計9×5=54ビット)、15~20番の6個のAC係数については各々の下位4ビット(小計6×4=24ビット)、21~27番の7個のAC係数については各々の下位3ビット(小計7×3=21ビット)が、AES変換用ビットとして抽出される。
【0058】
なお、28~63番のAC係数については、量子化部30による量子化によって0に近い値となり暗号化によるスクランブル強度の調整にはほとんど寄与しないため、本実施の形態においてはAES変換用ビットには抽出されない。
【0059】
図3に戻って、変換部44は、抽出部43によって抽出されたAES変換用ビットを、外部から入力されるキーコードを用いてAES変換することによって暗号化する。変換部44は、暗号化されたAES変換後ビットを結合部45に出力する。
【0060】
結合部45は、係数データの各々について、変換部44によって暗号化された下位ビット(AES変換後ビット)と、変換部44によって暗号化されていない残余のビットとを結合することによって、暗号化されたAES変換後の輝度の係数データを生成する。
【0061】
選択部46は、暗号化されたスクランブル領域内の輝度の係数データと、暗号化されていないスクランブル領域外の輝度の係数データと、暗号化されていない色差の係数データとを適宜選択してハフマン符号化部50に出力する。
【0062】
<ハフマン符号化部50の詳細構成>
図5は、画像圧縮装置1におけるハフマン符号化部50の詳細構成の一例を示す図である。ハフマン符号化部50は、判定部51,57と、遅延部52と、比較部53と、グループ化処理部54,60と、符号化部55,59と、ジグザグスキャン部56と、カウント部58とを備える。
【0063】
判定部51は、係数暗号化部40から入力される係数データがDC係数であるか否かを判定する。
【0064】
DC係数は、遅延部52および比較部53とに送られる。遅延部52は、判定部51から入力されるDC係数のブロックを現在のブロックとして、現在のブロックよりも1つ前のブロックのDC係数を比較部53に出力する。
【0065】
比較部53は、判定部51から入力される現在のブロックのDC係数と、遅延部52から入力される1つ前のブロックのDC係数とを比較し、その差分をDC差分としてグループ化処理部54に出力する。
【0066】
グループ化処理部54は、比較部53から入力されるDC差分が属するグループ番号と、DC差分の値を表す付加ビットとを生成する。
【0067】
符号化部55は、グループ化処理部54によって生成されたグループ番号をハフマン符号化してDC符号語を生成する。
【0068】
一方、AC係数は、ジグザグスキャン部56に送られる。ジグザグスキャン部56は、AC係数を図2あるいは図4に示した配列番号順にジグザグにスキャンして判定部57に出力する。
【0069】
判定部57は、AC係数の値が0であるか否かを判定する。AC係数の値が0である場合、カウント部58によって値が0であるAC係数の数を示すパラメータである「ランレングス」がカウントアップされ、カウントアップされたランレングスが符号化部59に送られる。一方、値が0でないAC係数は、グループ化処理部60に送られる。
【0070】
グループ化処理部60は、判定部57から入力されるAC係数が属するグループ番号と、AC係数の値を表す付加ビットとを生成する。
【0071】
図6は、グループ化処理部60がAC係数のグループ番号および付加ビットを生成する際に用いられるテーブルの一例を示す図である。図6に示すテーブルにおいては、係数値が-1,1の2個の値のどちらかであるAC係数はグループ番号「1」に層別され、係数値が-3,-2,2,3の4個の値のいずれかであるAC係数はグループ番号「2」に層別され、係数値が-3,…,-4,4,…,3の8個の値のいずれかであるAC係数はグループ番号「3」に層別され、係数値が-15,…,-8,8,…,15の16個の値のいずれかであるAC係数は、グループ番号「4」に層別される。
【0072】
付加ビットは、係数値が各グループ番号に属する値のいずれに該当するのかを特定するための情報である。そのため、付加ビット長は、各グループ番号に属する値の個数に応じて設定される。すなわち、2(=2)個の値が属するグループ番号「1」の付加ビット長は1ビットに設定され、4(=2)個の値が属するグループ番号「2」の付加ビット長は2ビットに設定され、8(=2)個の値が属するグループ番号「3」の付加ビット長は3ビットに設定され、16(=2)個の値が属するグループ番号「4」の付加ビット長は4ビットに設定される。
【0073】
グループ化処理部60は、図6に示すようなテーブルを参照して、AC係数の値が属するグループ番号と付加ビットとを生成する。
【0074】
図5に戻って、符号化部59は、カウント部58からのランレングス、およびグループ化処理部54からのグループ番号をハフマン符号化してAC符号語を生成する。
【0075】
符号化部55によって生成されたDC符号語、グループ化処理部54によって生成された付加ビット、符号化部59によって生成されたAC符号語、グループ化処理部60によって生成された付加ビットは、符号データ(JPEGデータ)として画像伸長装置2あるいは画像伸長装置3に出力される。
【0076】
<スクランブル画像>
画像圧縮装置1で圧縮されたJPEG画像データを画像伸長装置2で伸長することによって、スクランブル領域内がスクランブル化された「スクランブル画像」が生成される。
【0077】
本実施の形態による画像圧縮装置1は、ハフマン符号化部50によって生成される付加ビットを変更するのではなく、ハフマン符号化前に生成される複数の係数データ(図4に示す例では1個のDC係数および27個のAC係数)の一部のビットを暗号化することで、画像をスクランブル化している。そのため、付加ビットを変更する場合に比べて、スクランブル強度の調整自由度を向上させることができる。
【0078】
すなわち、仮に上述の非特許文献1のように付加ビットを変更することによってスクランブル強度を調整すると、付加ビット長の範囲内でしかスクランブル強度を調整できないところ、付加ビット長は数ビット程度(上述の図6参照)で少ないため、スクランブル強度を大きくしたり細かく調整したりすることができない。
【0079】
これに対し、本実施の形態においては、上述の図4に示したように、ハフマン符号化部50による符号化前に生成される複数の係数データのビットから合計128ビットを抽出して暗号化している。そのため、付加ビットを変更する場合に比べて、スクランブル強度の調整自由度を向上させることができる。その結果、スクランブル強度を大きくしたり、より細かく調整したりすることが可能となる。
【0080】
さらに、本実施の形態においては、暗号化するビットを各係数データの上位ビットではなく下位のビットを暗号化している。そのため、撮像対象の輪郭を認識可能な視覚情報を残しつつ個人を特定できないようなスクランブル強度に容易に調整することができる。
【0081】
すなわち、一般的に、DC係数およびAC係数においては、上位のビットであるほど画像の復元に与える影響度は大きい。そのため、仮に各係数データの上位のビットを暗号化してしまうと、個人を特定できないだけでなく、撮像対象の輪郭が消えてしまって撮影対象が人物であることをも認識できないほどの大きなスクランブル強度になってしまう可能性がある。
【0082】
これに対し、本実施の形態においては、各係数データの上位のビットを暗号化するのではなく下位のビットを暗号化している。そのため、撮像対象の輪郭を認識可能な視覚情報を残しつつ個人を特定できないようなスクランブル強度に容易に調整することが可能となる。
【0083】
なお、撮像対象の輪郭を認識可能な視覚情報を残しつつ個人を特定できないようなスクランブル強度に調整可能であれば、暗号化の対象となるビットは、必ずしも各係数データの下位のビットに限定されるものではない。すなわち、各係数データの下位のビットに代えてあるいは加えて、各係数データの上位のビットあるいは中位のビットを暗号化するようにしてもよい。
【0084】
さらに、本実施の形態においては、画像データを分割して得られた複数のブロックのうち、スクランブル領域に含まれるブロックの係数データを暗号化し、スクランブル領域に含まれないブロックの係数データについては暗号化しない。これにより、スクランブル領域内の画像をスクランブル化しつつ、スクランブル領域外の画像についてはスクランブル化しないようにすることができる。
【0085】
図7は、本実施の形態によるスクランブル画像の一例を模式的に示す図である。上述のように、本実施の形態においては、スクランブル領域に含まれるブロックの係数データを暗号化することによってスクランブル領域がスクランブル化されている。なお、図7に示す例では、建物内を撮影した画像に人物が写っており、その人物全体が含まれる矩形状の領域がスクランブル領域に設定されてスクランブル化されている。
【0086】
図8は、本実施の形態に対する比較例のスクランブル画像の一例を模式的に示す図である。図8に示す比較例では、図7と同じ画像の同じスクランブル領域が、付加ビットを変更することによってスクランブル化されている。なお、図8においては、変更する付加ビット数を最大にしてスクランブル強度を最大にしている状態が示されている。
【0087】
図8に示す比較例のスクランブル画像では、付加ビット長の範囲内でしかスクランブル強度を調整できないために、スクランブル強度を最大にしているにも関わらず、図7に示す画像よりもスクランブル強度が小さく、スクランブル領域に映る人物の顔から個人を特定し易くなってしまっている。
【0088】
これに対し、図7に示す本実施の形態によるスクランブル画像では、ハフマン符号化前に生成される1個のDC係数および27個のAC係数の各々の下位ビットから合計128ビットを抽出して暗号化している。そのため、図8に示す比較例に比べて、人物の輪郭を残しつつも、その人物の顔から個人を特定できないような強いスクランブル強度に調整することができる。
【0089】
さらに、本実施の形態においては、各係数データのビット値の変換手法としてAESのような一般的な暗号化手法を用いることで、個人情報のセキュリティ性を向上することができる。
【0090】
<画像伸長装置3の係数復号化部110の詳細構成>
上述したように、本実施の形態による画像伸長装置3は、係数復号化部110を備えることによって、スクランブル領域内のスクランブル化が解除された画像である「スクランブル解除画像」を生成することができる。
【0091】
図9は、画像伸長装置3における係数復号化部110の詳細構成の一例を示す図である。係数復号化部110は、判定部111,112と、抽出部113と、逆変換部114と、結合部115と、選択部116とを備える。
【0092】
判定部111は、ハフマン復号化部70(図1参照)によって復元された係数データが輝度の係数データであるか否かを判定する。輝度の係数データは、判定部112に送られる。一方、色差の係数データは、復号化の対象ではないため、判定部112ではなく選択部116に送られる。
【0093】
判定部112は、判定部111から入力される係数データが、スクランブル領域に含まれるブロックの係数データであるか否かを判定する。スクランブル領域に含まれるブロックの係数データは、復号化の対象であるため、抽出部113および結合部115に送られる。一方、スクランブル領域に含まれないブロックの係数データは、復号化の対象ではないため、選択部116に送られる。
【0094】
抽出部113は、判定部112から入力される、スクランブル領域に含まれるブロックの係数データから、復号化の対象となるビットである「AES復号用ビット」を抽出する。なお、AES復号用ビットは、上述のAES変換用ビットと同じである。
【0095】
逆変換部114は、抽出部113によって抽出されたAES復号用ビットを、外部から入力されるキーコードを用いてAES逆変換することによって復号化する。なお、逆変換部114に入力されるキーコードは、画像圧縮装置1の係数暗号化部40で用いられたキーコードと同じコードである。逆変換部114は、復号化されたAES復号後ビットを結合部115に出力する。
【0096】
結合部115は、係数データの各々について、逆変換部114によって復号化された下位ビット(AES復号後ビット)と、逆変換部114によって復号化されていない残余のビットとを結合することによって、復号化された輝度の係数データを生成する。
【0097】
選択部116は、復号化されたスクランブル領域内の輝度の係数データと、復号化の対象ではないスクランブル領域外の輝度の係数データと、復号化の対象ではない色差の係数データとを適宜選択して逆量子化部80に出力する。
【0098】
このように、係数復号化部110は、画像圧縮装置1の係数暗号化部40で暗号化された係数データを、画像圧縮装置1の係数暗号化部40で用いられたキーコードと同じキーコードを用いて復号する。これにより、画像伸長装置3は、スクランブル領域内のスクランブル化が解除された「スクランブル解除画像」を生成することができる。
【0099】
<スクランブル画像の圧縮効率の向上>
画像全体のうちの一部であるスクランブル領域のみを上述の非特許文献1のように付加ビットを変更する方式でスクランブル化する場合、符号データ中におけるMUC毎の最後にリスタートマーカRSTと呼ばれるマーカを挿入する必要がある。その理由は、DC係数の付加ビットがDC差分(隣接するブロック間のDC係数の差分)を表わす値であるため、スクランブル領域内のブロックからスクランブル領域外のブロックに処理対象を移す際にDC係数の付加ビットをリセットしておかないと、スクランブル領域内で変更されたDC係数の付加ビットがスクランブル領域外にも影響してしまい、スクランブル領域外の画像が正常に復元されなくなるためである。
【0100】
一方、本実施の形態においては、DC係数の付加ビット(DC差分)を変更するのではなく、DC差分を生成する前のDC係数そのものを暗号化するため、リスタートマーカRSTを挿入しなくても、スクランブル領域外の画像を正常に復元することができる。したがって、本実施の形態においては、画像全体のうちの一部のみをスクランブル化する場合であっても、リスタートマーカRSTは不要であり、その分、スクランブル画像のデータサイズを小さくして圧縮効率を向上することが可能である。
【0101】
図10は、付加ビット変更によって生成されたスクランブル画像の圧縮率よりも、DC/AC係数暗号化によって生成されたスクランブル画像の圧縮率を向上させた例を示す図である。
【0102】
図10において、「BMP」は、JPEG圧縮前の元の画像データである。「JPEG」は、BMPを圧縮したJPEG画像のデータであり、リスタートマーカRSTは挿入されておらず、かつスクランブル化もされていない。「BMP」を100%とした場合、「JPEG」は2%に圧縮される。
【0103】
また、図10において、「比較例JPEG」は、BMPの一部を付加ビット変更によってスクランブル化したJPEG画像のデータであり、リスタートマーカRSTが挿入されている。「本開示JPEG」は、BMPの一部をDC/AC係数の暗号化によってスクランブル化したJPEG画像のデータである。
【0104】
「比較例JPEG」は、「JPEG」に対してリスタートマーカRSTに相当するデータが増加する。そのため、「比較例JPEG」の圧縮率は、「JPEG」の圧縮率2%よりも大きい「3%」となる。
【0105】
これに対し、「本開示JPEG」は、リスタートマーカRSTがないため、その分、データを低減できる。これにより、「本開示JPEG」の圧縮率は、「JPEG」の圧縮率2%とほぼ同じ2%程度にすることができる。すなわち、「比較例JPEG」の圧縮率(付加ビット変更によって生成されたスクランブル画像の圧縮率)よりも、「本開示JPEG」の圧縮率(DC/AC係数暗号化によって生成されたスクランブル画像の圧縮率)を向上させることができる。
【0106】
ただし、「比較例JPEG」は基本的にスクランブル領域の大きさとは無関係に圧縮率が決まるが、「本開示JPEG」はスクランブル領域が大きいほどデータサイズが大きくなり圧縮率が劣化するという特性を有する。そのため、「比較例JPEG」の圧縮率よりも「本開示JPEG」の圧縮率を向上させるためには、スクランブル領域の大きさを調整する必要がある。
【0107】
図11は、人物全体ではなく人物の頭部のみを含む領域がスクランブル領域に設定されたスクランブル画像の一例を示す図である。このようにスクランブル領域を人物全体ではなく頭部のみを含むように小さくすることで、個人を特定できないようにしつつ、「比較例JPEG」の圧縮率よりも「本開示JPEG」の圧縮率を向上させることができる。
【0108】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0109】
1 画像圧縮装置、2,3 画像伸長装置、10 画像入力部、20 DCT部、30 量子化部、40 係数暗号化部、41,42,51,57,111,112 判定部、43,113 抽出部、44 変換部、45,115 結合部、46,116 選択部、50 ハフマン符号化部、52 遅延部、53 比較部、54,60 グループ化処理部、55,59 符号化部、56 ジグザグスキャン部、58 カウント部、70 ハフマン復号化部、80 逆量子化部、90 IDCT部、100 画像出力部、110 係数復号化部、114 逆変換部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11