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

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

7900976画像符号化装置及びその制御方法及びプログラム
<>
  • -画像符号化装置及びその制御方法及びプログラム 図1
  • -画像符号化装置及びその制御方法及びプログラム 図2
  • -画像符号化装置及びその制御方法及びプログラム 図3
  • -画像符号化装置及びその制御方法及びプログラム 図4
  • -画像符号化装置及びその制御方法及びプログラム 図5
  • -画像符号化装置及びその制御方法及びプログラム 図6
  • -画像符号化装置及びその制御方法及びプログラム 図7
  • -画像符号化装置及びその制御方法及びプログラム 図8
  • -画像符号化装置及びその制御方法及びプログラム 図9
  • -画像符号化装置及びその制御方法及びプログラム 図10
  • -画像符号化装置及びその制御方法及びプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】
(45)【発行日】
(54)【発明の名称】画像符号化装置及びその制御方法及びプログラム
(51)【国際特許分類】
   
   
   
   
   
【FI】
【請求項の数】 20
(21)【出願番号】
(22)【出願日】
(65)【公開番号】
(43)【公開日】
【審査請求日】
(31)【優先権主張番号】
(32)【優先日】
(33)【優先権主張国・地域又は機関】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】村田 貴史
(72)【発明者】
【氏名】望月 成記
【審査官】松永 隆志
(56)【参考文献】
【文献】韓国公開特許第10-2014-77779(KR,A)
【文献】特開2019-004428(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項
撮像手段により得た画像データを符号化する画像符号化装置であって、
撮影する際の光学的な水平方向と垂直方向の圧縮比率を表す情報を取得する取得手段と、
前記画像データをウェーブレット変換し、複数のサブバンドデータを生成する変換手段と、
該変換手段で得た複数のサブバンドにおける変換係数に対する量子化パラメータを決定する決定手段と、
前記変換手段で得たサブバンドデータにおける変換係数を、前記決定手段で決定された量子化パラメータに従って量子化し、符号化する符号化手段とを備え、
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に基づいて、サブバンド毎に重み付けして、前記量子化パラメータを決定する
ことを特徴とする画像符号化装置。
【請求項
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に応じた重み付け係数で重み付けして、前記量子化パラメータを決定する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に基づいて、前記複数のサブバンドのうち重み付けするサブバンドを決定する
ことを特徴とする請求項2に記載の画像符号化装置。
【請求項
前記決定手段は、前記取得手段により取得した圧縮比率に応じて、LHサブバンドに重み付けするか、HLサブバンドに重み付けするかを切り替える
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、垂直方向に対する水平方向の圧縮比率が第1の比率(第1の比率<1)の場合、
前記決定手段は、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータに対するHLサブバンドに適用する量子化パラメータの比率が、前記第1の比率となるように、量子化パラメータを決定する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記決定手段は、前記光学的な水平方向と垂直方向の圧縮比率が1の場合には、同一分解レベルにおけるHLサブバンドとLHサブバンドは、同じ量子化パラメータとなるように量子化パラメータを決定し、
前記光学的な水平方向と垂直方向の圧縮比率が、垂直方向に対する水平方向の圧縮比率が第1の比率(第1の比率<1)の場合、HLサブバンドに対して前記第1の比率で重み付けして量子化パラメータを決定することにより、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータよりもHLサブバンドに適用する量子化パラメータを小さくする
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、水平方向に対する垂直方向の圧縮比率が第2の比率(第2の比率<1)の場合、
前記決定手段は、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータに対するLHサブバンドに適用する量子化パラメータの比率が、前記第2の比率になるように、量子化パラメータを決定する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記決定手段は、前記光学的な水平方向と垂直方向の圧縮比率が1の場合には、同一分解レベルにおけるHLサブバンドとLHサブバンドは、同じ量子化パラメータとなるように量子化パラメータを決定し、
前記光学的な水平方向と垂直方向の圧縮比率が、水平方向に対する垂直方向の圧縮比率が第2の比率(第2の比率<1)の場合、LHサブバンドに対して前記第2の比率で重み付けして量子化パラメータを決定することにより、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータよりもLHサブバンドに適用する量子化パラメータを小さくする
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記画像符号化装置は、光学レンズユニットを着脱可能であり、
前記取得手段は、光学的な水平方向と垂直方向の圧縮比率を表す情報を前記光学レンズユニットと通信することにより取得し、
前記決定手段は、前記光学レンズユニットから取得した光学的な水平方向と垂直方向の圧縮比率を表す情報に基づいて、前記量子化パラメータを決定する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記取得手段は、前記画像符号化装置の操作部を介してユーザに選択された圧縮比率を表す情報を取得し、
前記決定手段は、前記取得手段により取得した、前記ユーザに選択された圧縮比率を表す情報に基づいて、前記量子化パラメータを決定する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記決定手段は、前記ユーザに選択された圧縮比率を表す情報が、垂直方向よりも水平方向に圧縮された圧縮比率を示す場合は、同一分解レベルのHLサブバンドに適用する量子化パラメータを、LHサブバンドに適用する量子化パラメータよりも小さくなるように決定する
ことを特徴とする請求項10に記載の画像符号化装置。
【請求項
前記撮像手段で得た画像を、それぞれが単一成分で構成される複数のプレーンに変換するプレーン変換手段を更に有し、
前記変換手段は、前記プレーン変換手段より得た各プレーンを、ウェーブレット変換する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項
前記撮像手段は、ベイヤ配列のRAW画像を出力し、
前記プレーン変換手段は、前記RAW画像を、Rプレーン、G1プレーン、G2プレーン及びBプレーンに変換する
ことを特徴とする請求項12に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における垂直方向に対する水平方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータを、LHサブバンドに適用する量子化パラメータの1/2と決定する
ことを特徴とする請求項13に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における水平方向に対する垂直方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータを、HLサブバンドに適用する量子化パラメータの1/2と決定する
ことを特徴とする請求項13に記載の画像符号化装置。
【請求項
前記撮像手段は、2×2画素がラスタースキャン順にR,G1,G2,Bの画素が並ぶ、ベイヤ配列のRAW画像を出力し、
前記プレーン変換手段は、前記RAW画像を、以下の色差のU,V,GHプレーンと、輝度のYプレーンに変換する
U = B-(G1+G2)/2
V = R-(G1+G2)/2
GH = G1-G2
Y = (R+B+G1+G2)/4
ことを特徴とする請求項12に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における垂直方向に対する水平方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、
前記Yプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1/2:1:1とし、
前記U,V,GHプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1/√5:2/√5:1とする
ことを特徴とする請求項16に記載の画像符号化装置。
【請求項
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における水平方向に対する垂直方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、
前記Yプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1:1/2:1とし、
前記U,V,GHプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を2/√5:1/√5:1とする
ことを特徴とする請求項16に記載の画像符号化装置。
【請求項
撮像手段により得た画像データを符号化する画像符号化装置の制御方法であって、
撮影する際の光学的な水平方向と垂直方向の圧縮比率を表す情報を取得する取得工程と、
前記画像データをウェーブレット変換し、複数のサブバンドデータを生成する変換工程と、
該変換工程で得た複数のサブバンドにおける変換係数に対する量子化パラメータを決定する決定工程と、
前記変換工程で得たサブバンドデータにおける変換係数を、前記決定工程で決定された量子化パラメータに従って量子化し、符号化する符号化工程とを備え、
前記決定工程は、前記取得工程により取得した圧縮比率を表す情報に基づいて、サブバンド毎に重み付けして、前記量子化パラメータを決定する
ことを特徴とする画像符号化装置の制御方法。
【請求項
コンピュータが読み込み実行することで、前記コンピュータに、請求項19に記載の制御方法が有する各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
本発明は、画像の符号化技術に関するものである。
【背景技術】
現在、デジタルビデオカメラ等、動画像を記録するデジタルの撮像装置が普及している。近年ではRAW画像を記録する方式が、静止画のみならず動画にも適用されている。RAW画像は記録に必要なデータ量が膨大になるものの、オリジナル画像に対する補正や劣化を最低限に抑えることができ、記録後でも画像編集の自由度が高いからと考えられる。
RAW動画像を記録媒体に記録する場合、十分な時間の動画像が記録できることが望まれる。それ故、記録前のRAW動画像を圧縮符号化することが望まれる。一般に、RAW画像は、R,G,B各色の画素がモザイク状に配置されたベイヤ配列の画像である。ベイヤ配列における隣接する画素は、異なる色成分を有するため、隣接画素間の相関が低い。それ故、そのまま符号化しても高い圧縮効率を得ることは難しい。そこで、RAW画像から同じ色成分の画素のみを抜き出して複数の単一成分のプレーンを生成する。そして、プレーン毎に符号化を行うことで、プレーン内の画素間の相関を高めて圧縮効率を向上させる、プレーン変換技術が圧縮符号化の手法の一つとして一般的に利用される。
また、従来の代表的な圧縮符号化方式として、H.264(H.264/MPEG-4 Part10:Advanced Video Coding)が知られている。この圧縮符号化方式では、1フレーム内の所定画素数からなるブロック毎に、動画像が有する時間冗長性と空間冗長性を利用したデータ量の圧縮が行われる。H.264では、時間冗長性に対する動き検出及び動き補償、空間冗長性に対する周波数変換として離散コサイン変換(Discrete Cosine Transform:DCT)、更に量子化やエントロピー符号化といった技術を組み合わせることで圧縮符号化を実現している。ただし、ある程度以上圧縮率を上げると、DCT変換特有のブロック歪みが顕著になり、主観的に画像劣化が目立つようになる。
そこで、水平及び垂直方向に低域と高域フィルタリングをそれぞれ適用し、サブバンドと呼ばれる周波数帯に分解する離散ウェーブレット変換(Discrete Wavelet Transform:DWT)を用いるサブバンド符号化技術がJPEG2000方式等で採用されている。サブバンド符号化は、DCTを用いた符号化技術に比べ、ブロック歪みが生じにくく、高圧縮時の圧縮特性が良いといった特徴を有する。
例えば、特許文献1に記載の技術は、RAW画像をプレーン変換、DWT変換を用いて周波数成分を分離して複数のサブバンドを生成した後、サブバンド毎に量子化を行い符号化することで、効率的にRAWデータを圧縮している。特許文献1では、サブバンド毎に設定する量子化パラメータの大小関係に関して、人間の視覚特性を鑑みて、低周波成分寄りのサブバンドほど量子化パラメータを小さく、高周波成分寄りのサブバンドほど量子化パラメータを大きくするとしている。したがって、同一分解レベルにおけるHLサブバンドとLHサブバンドは同等の周波数レベル帯であるため、量子化パラメータの大小関係に関しても同等の設定することになるため、水平、垂直方向の量子化歪も同程度となる。
【先行技術文献】
【特許文献】
【文献】特開2019-4428号公報
【発明の概要】
【発明が解決しようとする課題】
しかしながら、水平と垂直方向とで光学的な圧縮比率が異なるRAW画像に対して特許文献1を用いて符号化して表示する場合、光学的に圧縮した方向に対して伸張するので、その方向に対する量子化歪も増大してしまう。このとき、光学的に圧縮する方向が水平或いは垂直方向のいずれか一方向の場合、それに伴う伸張方向も一方向となり、その方向の量子化歪が増大してしまうため、表示時にその歪が画質劣化として視認されてしまうといった問題が発生する。
本発明は上記の問題点を鑑み、水平と垂直方向とで光学的な圧縮比率が異なる画像を符号化したものを表示することに伴う、水平或いは垂直方向いずれか一方向への量子化歪の増大を抑制する画像符号化装置を提供することを目的とする。
【課題を解決するための手段】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
撮像手段により得た画像データを符号化する画像符号化装置であって、
前記撮像手段の光学的な水平方向と垂直方向の圧縮比率を表す情報を取得する取得手段と、
前記画像データをウェーブレット変換し、複数のサブバンドデータを生成するDWT変換手段と、
該DWT変換手段で得た複数のサブバンドにおける変換係数に対する量子化パラメータを決定する決定手段と、
前記DWT変換手段で得たサブバンドデータにおける変換係数を、前記決定手段で決定された量子化パラメータに従って量子化し、符号化する符号化手段とを備え、
前記決定手段は、
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における垂直方向に対する水平方向の像がα(α<1)倍となる圧縮比率を示している場合には、同一分解レベルのLHサブバンドに適用する量子化パラメータを、HLサブバンドに適用する量子化パラメータよりも小さくなるように決定することを特徴とする。
【発明の効果】
本発明によれば、光学的な水平と垂直方向の圧縮比率が異なる画像に適した符号化データを生成することができる。
【図面の簡単な説明】
【図】第1の実施形態に係る画像符号化装置のブロック構成図。
【図】第1の実施形態にプレーン変換を説明するための図。
【図】離散ウェーブレット(DWT)の垂直、水平フィルタリングをそれぞれ3回施した場合のサブバンド形成図る。
【図】第1の実施形態にサブブロックとブロックラインとの関係を示す図。
【図】第1の実施形態に係る光学的な水平および垂直方向の圧縮比αの関係を示す図。
【図】第2の実施形態に係るプレーンデータの信号成分の方向を示す図。
【図】第2の実施形態に係るU,V,GHプレーンデータにおける斜め方向の信号成分を水平、垂直方向に分解した図。
【図】第1の実施形態における画像復号装置のブロック構成図。
【図】第1の実施形態の変形例における情報処理装置のプログラム構成図。
【図】画像符号化の処理手順を示すフローチャート。
【図】画像復号の処理手順を示すフローチャート。
【発明を実施するための形態】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[第1の実施形態]
図1は、第1の実施形態における撮像装置100の符号化に係る主要部のブロック構成図である。
撮像装置100は、図1に示す各処理部を制御する制御部150を有する。この制御部150は、CPU、CPUが実行するプログラムを保持するROM、並びに、ワークエリアとして使用するRAMで構成される。
撮像装置100は、例えばデジタルカメラ、デジタルビデオカメラとして実現することができる。また、それ以外に、例えばパーソナルコンピュータ、携帯電話、スマートフォン、PDA、タブレット端末、携帯型メディアプレーヤなどの任意の情報処理端末或いは画像処理装置として実現することもできる。なお、図1は、撮像装置であるデジタルカメラ等として機能する場合を考慮して撮像部101を含む構成を示した。しかし、符号化対象の画像の供給源は撮像部に限らず、符号化対象の画像を記憶した記憶媒体でも構わない。実施形態で撮像装置に適用するのは、あくまで具現化し、理解を容易にするためと理解されたい。
[撮像部]
撮像部101は、光学レンズ、絞り、フォーカス制御及びレンズ駆動部を含む光学ズームが可能なレンズ光学系と、レンズ光学系からの光情報を電気信号に変換するCCDイメージセンサ又は、CMOSイメージセンサなどの撮像素子を含む。撮像部101は、撮像素子により得られた電気信号をデジタル信号へ変換したRAW画像データを、プレーン変換部102へ出力する。また、撮像部101は、光学的な水平と垂直方向の圧縮比率情報をメタ情報として保持する不揮発性メモリ(不図示)を有し、そのメタ情報を量子化パラメータ重み設定部112に供給する。なお、撮像部101は、例えば1秒当たり30フレームのレートで撮像を行う能力を有するものとする。光学レンズについては、撮像装置に対してレンズユニットが着脱可能であり、異なる種類のレンズを装着可能な構成としてもよい。光学レンズが着脱可能な場合は、光学的に水平方向と垂直方向の圧縮比率が1となる通常のレンズユニットだけでなく、光学的に水平方向と垂直方向の圧縮比率が異なるアナモフィックレンズ等を装着可能な構成とする。
[プレーン変換部]
プレーン変換部102は、撮像部101が撮像したベイヤ配列の着目フレームのRAW画像データを入力する。そして、プレーン変換部102は、1枚のRAW画像データを、それぞれが単一成分で構成される複数のプレーンに分離する。図2は、入力画像データであるベイヤ配列のRAW画像データから、4つのプレーンへ分離したときのプレーン形成図である。ベイヤ配列における隣接する2×2画素は、1個の赤成分(R)、1個の青成分(B)、2個の緑成分(G1,G2)で構成される。プレーン変換部102は、RAW画像データから、R成分のみで構成されるRプレーン、G1成分のみで構成されるG1プレーン、G2成分のみで構成されるG2プレーン、B成分のみで構成されるBプレーンに分離する。なお、RAW画像データの水平方向画素数をW、垂直方向画素数をHと表すと、これら4つのプレーンは水平W/2画素、垂直H/2画素のサイズとなる。上記の結果、1つの色成分のプレーンに着目すると、隣接する画素間の相関が高く、圧縮効率の向上が容易になる。
[離散ウェーブレット変換(Discrete Wavelet Transform; DWT)部]
離散ウェーブレット変換部103は、プレーン変換部102から順次出力されるプレーンに対して周波数変換を行い、変換係数を生成する。DWT変換は、一般に画像全体に対してフィルタリングを行う変換である。利用するフィルタのタップ数分の画素データがバッファメモリに溜まったタイミングで、垂直方向及び水平方向のフィルタリングを行うことが可能である。そのため、DWT変換をプレーンデータの1ライン単位に行い、更に生成された低域サブバンドLLに対して再帰的にDWTを適用することで、各サブバンドを並列に処理することが可能である。
図3は、垂直、水平フィルタリング処理を1セットとするDWTを3回実行した場合に得られるサブバンド形成図である。図示において“L”,“H”はそれぞれ低域、高域を示し、その順序は、前側が水平フィルタリングを行った結果の帯域、後側が垂直フィルタリングを行った結果の帯域を示す。“Lv”の後の数字はDWTの分解レベルを示す。DWTを2回以上行う場合、1つ前の変換で得られた低域周波数帯域であるサブバンドLLが変換対象となる。それ故、DWTの実行回数を重ねるにしたがって、直前の変換のサブバンドの水平、垂直とも1/2のサイズとなっていく。また、この理由で、サブバンドLLは最終回のDWTで残るので、図示のように分解レベルを表す表記は行わない。なお、実施形態における離散ウェーブレット変換部103は、符号化対象の着目フレーム(RAW画像)から生成された4つのプレーンを順にDWTを実行するが、処理時間短縮のために複数設けるようにしても良い。例えば、離散ウェーブレット変換部103を2つ並列に設ける場合には、1つの場合と比較し、DWTに係る負担は1/2にとなり、変換に係る時間も1/2とすることができる。また、離散ウェーブレット変換部103を並列に4つ設ける場合には、1つの場合と比較してDWTに係る時間を1/4とすることが可能である。
本実施形態では、離散ウェーブレット変換部103は各サブバンドで1ライン分の変換係数が生成される度に、各サブバンドの1ライン分の変換係数を順次量子化部104へ出力するものとして説明する。
[量子化部]
量子化部104は、離散ウェーブレット変換部103から入力した変換係数を、1係数単位に、量子化制御部106で生成した量子化パラメータQpを利用して量子化する。なお、量子化パラメータQpは、その値が大きいほど、量子化後の値が小さくなって符号量の削減が可能になるものの、画質劣化が顕著になるパラメータである。また、4プレーンの変換係数の量子化はプレーン毎に行っても、全プレーンについて並列して行っても良い。ただし、実施形態における量子化部104は、各プレーンにおける同じサブバンド、同じ位置の変換係数を、共通な量子化パラメータQpで量子化し、その量子化結果を符号化部105に供給するものとする。
[符号化部]
符号化部105は、量子化部104による量子化後の各プレーンの変換係数をエントロピー符号化して符号化データを生成し、出力する。
[記録処理部]
記録処理部107は、符号化部105から出力されてきた符号化データを、所定の記録フォーマット化を行って、復号に必要な情報をヘッダに有するファイルとして、記録媒体108へ記録する。なお、記録処理部107は、撮像部101より得たメタ情報(圧縮比率)をこのヘッダに格納する。画像復号装置が、復号して得た画像を、水平または垂直方向に補間して、正常な画像を生成するためである。また、記録処理部107は、初期目標符号量設定部114及び初期量子化値設定部115が設定した初期値に係る情報を、このヘッダに格納する。ただし、初期目標符号量設定部114及び初期量子化値設定部115が設定する初期値が、符号化装置と復号装置との間で予め統一されているのであれば、これらの情報をファイルヘッダに含める必要はない。
[記録媒体]
記録媒体108は、例えば不揮発性メモリで構成される記録メディアであり、撮像装置100に対して着脱可能に構成されている。
[初期設定]
初期目標符号量設定部114は、着目フレーム(着目RAW画像)の符号化開始時の目標符号量を設定する。初期量子化値設定部115は、着目フレーム符号化開始時の量子化パラメータQpを設定する。なお、符号化開始時の各種設定値は、前のプレーンの符号化情報を元にフィードバック制御で算出することが一般的である。
[量子化制御部]
次に、量子化制御部106について説明する。量子化制御部106は、着目フレームの発生符号量が着目フレームの目標符号量に収束するように、量子化パラメータQpを制御する。実施形態では、着目フレームのRAW画像から4つのプレーンに分離し、それぞれに対して離散ウェーブレット変換を行い、量子化、符号化が行われる。4つのプレーンについて量子化する際に用いる量子化パラメータQpは、サブバンドの種類が同じであれば共通であり、量子化パラメータQpの更新する位置も同じである。これは、着目フレーム(4プレーン分)の符号量に基づき、共通に用いる量子化パラメータQpを更新するからである。
図4は、量子化制御の量子化制御の単位を示す図である。図4を用いて量子化パラメータQpの制御単位を説明する。前述のように、符号化対象の入力画像はベイヤ配列のRAW画像であり、プレーン変換部102で4プレーンに分離される。更に、各プレーンに対してDWTを施す。前述のように符号化単位をサブバンド毎のラインとしているが、量子化制御単位は、同一画素位置の各サブバンドの符号化結果の集合体とする。即ち、図4に示すように、分解レベル3のサブバンド{Lv3HL,Lv3LH,Lv3HH}及びサブバンド{LL}の1ライン、分解レベル2のサブバンド{Lv2HL,Lv2LH,Lv2HH}の2ライン、分解レベル1のサブバンド{Lv1HL,Lv1LH,Lv1HH}の4ラインを、一つのQpによる制御単位とする。つまり、この量子化制御単位は、現実空間を撮像して得たRAW画像の1ライン中の1色成分のデータに対応する。以降、この制御単位である各サブバンド内の対応する変換係数の集合を、「ブロックライン」と呼ぶ。
発生符号量保持部109は、符号化部105から通知される各ブロックラインを符号化した際の符号化データの符号量を入力し、保持する。目標符号量算出部113は、着目フレームにおける目標符号量と、全ブロックラインの個数に基づいて、1個のブロックライン目標符号量を算出する。
差分算出部110は、ブロックライン毎に発生符号量と目標符号量の差分を算出し、差分の積算値である積算差分量を更に算出する。
量子化値算出部111は、差分算出部110から通知される積算差分量D(i-1)に基づき、着目している第i番目のブロックラインの量子化パラメータQpを算出(更新)する。詳細は後述する。
[量子化値算出]
量子化パラメータ算出方法の一つに、MPEG2 Test Model 5に示された公知技術がある。Test Model 5によれば、初期量子化パラメータQiniと、着目画素ブロックが第i番目としたとき、先頭画素ブロックから直前の第i-1番目までの各画素ブロックにおける符号量と1画素ブロック当たりの目標符号量の差の積算を表すΣE(i-1)から、次式(1)を用いて、着目画素ブロックの量子化パラメータQp[i]を算出する。
Qp[i] = Qini + r ×ΣE[i-1] …(1)
ここで、rは量子化パラメータの制御感度を示す。制御感度rが大きいほど、Qp[i]は、ΣE[i-1]に依存して大きく変動し、符号量の制御性が向上するものの、画質の変化も大きくなる。一方、制御感度rが小さいほど、Qp[i]は、ΣE[i-1]に依存せず、その変動も小さくなり、画質変化を小さくできるが、符号量の制御性は低下する。
実施形態では、ベイヤ配列の1フレームのRAW画像をR,G1,G2,Bプレーンに分離している。各プレーンを識別するための値0、1、2、3を各プレーンに割り当て、この値を変数plとして表す。また、各プレーンplの第i番目のブロックラインをBL(pl,i)と表す。そして、ブロックラインBL(pl,i)を符号化した場合に発生した符号化データの符号量をC(BL(pl,i))とし、1個のブロックラインの目標符号量をTCと表す。
このとき、差分算出部110は、第1のブロックラインから、着目している第iのブロックラインの直前の第i-1のブロックラインまでの、発生符号量と目標符号量の差分の積算値ΣE[i-1]を次式(2)に従って算出する。
ΣE[i-1]=ΣΣ{TC-C(BL(pl,k))} …(2)
ここで、ΣΣは、pl=0,1,2,3、及び、k=0,1,2,…,i-1の合算を表す。
量子化値算出部111は、上式(2)で求めた積算値ΣE[i-1]を、先に示した式(1)に当てはめて、着目している第i番目のブロックラインの量子化パラメータQpを算出する。そして、量子化値算出部111は、その量子化パラメータQpを、実際の各サブバンドの量子化パラメータQp[pl][sb]に変換した上で量子化部104に通知する。なお、pl,sbはそれぞれ、該当プレーン、該当のサブバンドの種類と分解レベルを示すものである。
量子化値算出部111による、各プレーン、サブバンドの量子化パラメータの算出法を以下に説明する。量子化値算出部111は、式(3)に示すように、プレーンやサブバンド毎に有するマトリクスmtx及び量子化パラメータ重み設定部112で設定する光学的な水平と垂直方向の圧縮比率αに、式(1)で算出した量子化パラメータQpを乗算することで、Qp[pl][sb]を算出する。なお、量子化パラメータ重み設定部112で設定する光学的な水平と垂直方向の圧縮比率αは撮像部101で記録しているメタ情報を用いて設定する。
Qp[pl][sb] = Qp[i] × mtx[pl][sb] × α …(3)
なお、Qp[pl][sb]は式(3)を用いて算出せずに予めプリセット値として用意しておき、光学的な水平と垂直方向の圧縮比率に応じてプリセット値を切り替えられるようにしても良い。mtxの設定は一般的に、高周波域のサブバンドほどQpを大きく、低域のサブバンドほどQpを小さく設定し符号量制御を行うことで、人間の視覚特性上視認しづらい、画像データの高域成分ほど発生符号量を圧縮し、符号化効率を向上させる。そのため、マトリクスmtxは、高域サブバンドほど量子化パラメータQpが大きく、低域サブバンドほど量子化パラメータQpが小さくなるように設定する。また、マトリクスmtxは、同一分解レベルのHLサブバンドとLHサブバンドとでは量子化パラメータが同じとなるように設定されている。本実施形態では、マトリクスmtxは、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2:2:4:4:4:8:8:8:16、となるように設定されているものとする。
ここで、光学的な水平と垂直方向の圧縮比率αに関して、図5(a)乃至(c)を参照して説明をする。
図5(a)は、撮像部101において水平、垂直方向とで圧縮比率が等しい1:1のレンズを用いて被写体を撮像した時の撮像画像を示している。被写体が円である場合、被写体における水平方向の長さと垂直方向の長さは1対1の関係であり、撮像画像においても被写体と同様に水平方向の長さと垂直方向の長さは1対1の関係となる。したがって、図5(a)の例では水平および垂直方向の光学的な圧縮比率αは1となる。
次に、図5(b)に関して説明する。図5(b)は、撮像部101において2:1のレンズを用いて被写体を撮像した場合の撮像画像を示している。
被写体における水平方向の長さと垂直方向の長さの関係は図5(a)と同様に1対1であるが、撮像画像における水平方向の長さと垂直方向の長さの関係は水平方向に光学的に1/2倍に圧縮するレンズを用いて撮像するため1/2対1の関係となる。したがって、垂直方向を1(基準)とするときの水平方向の長さは1/2となるため、水平方向の光学的な圧縮比率αは1/2となり、垂直方向の光学的な圧縮比率αは1となる。
最後に、図5(c)に関して説明する。図5(c)は、撮像部101において1:2のレンズを用いて被写体を撮像した場合の撮像画像を示している。被写体における水平方向の長さと垂直方向の長さの関係は図5(a)および(b)と同様に1対1であるが、撮像画像における水平方向の長さと垂直方向の長さの関係は垂直方向に光学的に圧縮するレンズを用いて撮像するため1対1/2の関係となる。したがって、水平方向の長さを1(基準)としたときの垂直方向の長さは1/2となるため、垂直方向の光学的な圧縮比率αは1/2となり、水平方向の光学的な圧縮比率αは1となる。
ここでαの取得方法として、実施例では、量子化パラメータ重み設定部112が、撮像部101に装着したレンズユニットと通信して取得したメタ情報から取得するとしたが、ユーザ設定により取得しても良い。例えば、水平方向と垂直方向のレンズの圧縮比率の情報を、不図示の操作部、表示部を介して、ユーザが選択し、制御部150は、ユーザにより選択されたレンズの圧縮比を取得するようにしてもよい。また、光学的な水平と垂直方向の圧縮比率が等しいレンズか或いは圧縮比率が異なるレンズが装着されているか等といった情報から取得しても良い。
次に、式(3)においてサブバンド毎に量子化パラメータ重み設定部112で設定する光学的な水平と垂直方向の圧縮比率αに基づく、量子化値算出部111が算出する量子化パラメータの算出処理の具体例を、図5(a)乃至(c)を再度参照して説明する。
まず、図5(a)で示す光学的に水平と垂直方向で圧縮比率が等しい場合について説明する。図5(a)で撮像された画像に対して符号化を施し、その符号化画像を表示する場合、水平及び垂直方向いずれの方向に対しても伸張しないため、表示に伴う一方向の量子化歪の増大は発生しない。したがって、量子化値算出部111は、式(3)を用いて各サブバンドの量子化パラメータQpを算出する際は、HL,LHサブバンドを含む全てのサブバンドにおいてα=1、すなわちサブバンド毎に重みを変更しない設定にして算出する。よって、HL,LHサブバンドにおける量子化パラメータQpを算出する際のαの値として、以下式(4)の関係を適用する。
HL:LH=1:1 …(4)
そのため、各サブバンドの量子化パラメータの比率は、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2:2:4:4:4:8:8:8:16となる。
次に図5(b)に示す2:1のレンズを用いた場合について説明する。図5(b)の場合、
垂直方向に対して水平方向は1/2で圧縮されて結像される。そのため、図5(a)の時と同様にサンバンド同一の量子化パラメータ重み設定にして符号化すると、符号化時には水平と垂直方向とで同程度の量子化歪となる。しかし、表示する際に水平方向のみが2倍に伸張されることで水平方向の量子化歪が増大し、その歪が画質劣化として視認されてしまう。そのため、水平方向の画質に関係するHLサブバンドの量子化パラメータQpを他のサブバンドと比較して小さくすることで水平方向の量子化歪の増大を抑制することが望まれる。そこで、量子化値算出部111は、式(3)を用いて各サブバンドの量子化パラメータQpを算出する際にsbがHLサブバンドの時は水平方向の光学的な圧縮比率α=1/2として量子化パラメータを算出する。なお、sbがLHサブバンドの時は垂直方向の光学的な圧縮比率α=1として量子化パラメータQpを算出する。よって、HL,LHサブバンドにおける量子化パラメータQpを算出する際のαの値として、以下式(5)の関係を適用する。
HL:LH=1/2:1…(5)
このように、垂直方向よりも水平方向に画像が圧縮されるレンズの場合は、垂直方向に対する水平方向の圧縮比率をAとすると(A<1)、各サブバンドの量子化パラメータの比率は、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2×A:2:4:4×A:4:8:8×A:8:16、となる。図5(b)の2:1のレンズの場合は、垂直方向に対して水平方向に1/2に圧縮して結像されるため、垂直方向に対する水平方向の圧縮比率A=1/2となる。そのため、各サブバンドの量子化パラメータの比率は、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2×1/2:2:4:4×1/2:4:8:8×1/2:8:16、となる。2:1のレンズについて説明したが、1.33:1のレンズ(垂直方向に対して水平方向に1/1.33に圧縮して結像されるレンズ)の場合はA=1/1.33となり、Aの重み係数を用いて量子化パラメータが決定される。なお、レンズからレンズの圧縮比率の情報を取得するのではなく、ユーザが、レンズの(撮影画像の)水平方向と垂直方向の圧縮比率を選択し、ユーザに選択された圧縮比率から、垂直方向に対する水平方向の圧縮比率であるAを決定するようにしてもよい。
最後に、図5(c)に示す1:2のレンズを用いた場合について説明する。図5(c)の場合、図5(a)時と同様にサンバンド同一の量子化パラメータ重み設定をすると、符号化時には水平と垂直方向とで同程度の量子化歪となる。しかし、表示する際に垂直方向のみが2倍に伸張されることで垂直方向の量子化歪が増大し、その歪が画質劣化として視認されてしまう。そのため、垂直方向の画質に関係するLHサブバンドの量子化パラメータQpを他のサブバンドと比較して小さくすることで垂直方向の量子化歪の増大を抑制することが望まれる。そこで、量子化値算出部111は、式(3)を用いて各サブバンドの量子化パラメータQpを算出する際にsbがLHサブバンドを示す場合は垂直方向の光学的な圧縮比率α=1/2として量子化パラメータQpを算出する。なお、sbがHLサブバンドの場合は水平方向の光学的な圧縮比率α=1として量子化パラメータQpを算出する。よって、HL,LHサブバンドにおける量子化パラメータQpを算出する際のαの値として、以下式(6)の関係を適用する。
HL:LH=1:1/2…(6)
水平方向よりも垂直方向に画像が圧縮されるレンズの場合は、水平方向に対する垂直方向の圧縮比率をBとすると(B<1)、各サブバンドの量子化パラメータの比率は、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2:2×B:4:4:4×B:8:8:8×B:16、となる。図5(c)の1:2のレンズの場合は、水平方向に対して垂直方向に画像が1/2に圧縮して結像されるため、水平方向に対する垂直方向の比率B=1/2となる。そのため、各サブバンドの量子化パラメータの比率は、3LL:3HL:3LH:3HH:2HL:2LH:2HH:1HL:1LH:1HH=1:2:2×1/2:4:4:4×1/2:8:8:8×1/2:16、となる。1:2のレンズについて説明したが、1:1.5のレンズ(水平方向に対して垂直方向に画像が1/1.5に圧縮して結像するレンズ)の場合は、水平方向に対する垂直方向の圧縮比率B=1/1.5として、量子化パラメータを決定する。なお、レンズから圧縮比率の情報を取得するのではなく、ユーザが、レンズの(撮影画像の)水平方向と垂直方向の圧縮比率を選択し、ユーザに選択された圧縮比率から、水平方向に対する垂直方向の圧縮比率であるBを決定するようにしてもよい。
このように、水平方向に圧縮されているか(図5b)、垂直方向に圧縮されているか(図c)に応じて、各サブバンドの量子化パラメータにおいて重み付けされるサブバンドが切り替わる。そして、水平方向に圧縮されている(図5b)場合は、HLサブバンドの量子化パラメータが小さくなるように、垂直方向に対する水平方向の圧縮率AでHLサブバンドに対して重み付けする。そして、垂直方向に圧縮されている(図5c)場合は、LHサブバンドの量子化パラメータが小さくなるように、水平方向に対する垂直方向の圧縮率Bでサブバンドに対して重み付けする。
以上のように、光学的な水平と垂直方向の圧縮比率に応じて、サブバンド毎に量子化パラメータ重み設定部112で設定するαの値を変更することで表示時に伴う、一方向への量子化歪の増大を抑制することができる。なお、sbがHHサブバンドの場合は、HL,LHサブバンドとは異なり、光学的な水平と垂直方向の圧縮比率に応じて、量子化パラメータの重みは変更せず(α=1)に量子化パラメータQpを算出する。これまで、2:1や1:2のレンズを用いた例を使って、サブバンド毎の量子化パラメータ重み設定方法を説明したが水平と垂直方向の光学的な圧縮比率としてこれに限るものではない。また、光学的な圧縮比率αは水平と垂直方向の比率ではなく、光学的な水平と垂直方向の比率に近い数値を適用するとしても良い。
[画像復号装置]
次に、実施形態における画像復号装置について説明する。
図8は、上記の画像符号化装置(図1)で生成された符号化画像データを復号する画像復号装置800の復号に係る主要部のブロック構成図である。符号化と復号は表裏の関係にあるので、以下、同図を参照し、画像復号装置の復号に係る構成とその処理内容を簡単に説明する。
画像復号装置800は、装置全体の制御を司る制御部850を有する。この制御部850は、CPU、CPUが実行するプログラムを保持するROM、並びに、ワークエリアとして使用するRAMで構成される。
ヘッダ解析部801は、復号対象の符号化画像データのファイルヘッダを解析し、復号に必要な情報を取得する。この情報には、初期の量子化値(図1の初期量子化値設定部115に相当)、初期目標符号量(図1の初期目標符号量設定部114に相当)、光学的な水平・垂直方向の圧縮比率を表す情報をはじめ、復号に必要な情報が含まれる。なお、初期の量子化値、初期目標符号量が、符号化装置と復号装置との間で予め統一されているのであれば、これらの情報をファイルヘッダに含める必要はない。
量子化制御部810を構成する、量子化パラメータ重み設定部811、目標符号量算出部812、量子化値算出部813、符号量保持部814、差分算出部815は、図1の同名の構成と実質的に同じ機能を有するものと理解されたい。
ヘッダ解析部801は、解析で得た初期の量子化値を量子化制御部量子化値算出部812に、初期の目標符号量を目標符号量算出部113に、そして、光学的な水平・垂直方向の圧縮比率を表す情報を量子化パラメータ重み設定部811及び出力部807に供給する。
復号部802はヘッダに後続する符号化データの復号処理を行うことで、各プレーンのサブバンドにおける、ブロックラインの量子化係数を得る。復号部802は、復号処理で得た全プレーンの量子化係数を逆量子化部803に供給する。なお、復号部802は、復号処理にて、各プレーンの各ブロックラインの符号化データ量がわかるので、そのブロックラインの符号量が判明するたびに、その符号量を表す情報を符号量保持部814に供給する。
この結果、ブロックラインの復号が進む過程にて、量子化値算出部813が、先に示した符号化側が用いた式(1)乃至(3)に従って、次のブロックラインの量子化パラメータを決定していくことができる。
逆量子化部803は、各プレーンについて、ブロックライン単位に、量子化制御部810から設定された量子化パラメータに従って逆量子化し、DWTの変換係数を得る。当然、逆量子化部803に設定する量子化パラメータは、画像符号化装置で用いた量子化パラメータと同じである。逆量子化部803は、逆量子化後の変換係数を逆DWT部804に供給する。
逆DWT部804は、逆量子化部803より入力した変換係数について、逆DWT(逆ウェーブレット変換)を行い、その結果をメモリ806に出力する。この結果、復号処理の進行に応じて、4つのプレーンがメモリ806に構築されていくことになる。
プレーン統合部806は、4つプレーンの統合処理を行い、ベイヤ配列のRAW画像を生成し、出力部807に供給する。
出力部807は、例えば、入力したRAW画像の現状処理を行い、1画素がRGBの3成分で構成される通常のカラー画像を生成する。そして、出力部807は、生成したカラー画像に対し、ヘッダ解析部801から供給された水平・垂直方向の圧縮比率を示す情報に従い、生成されたカラー画像の水平、垂直方向への補間処理を行い、外部の表示装置に出力する。ただし、水平・垂直方向の圧縮比率が1:1の場合、出力部807は、補間処理は行わない。なお、出力部807の出力先が、印刷装置である場合は、YMCK等の色成分を持つ画像を生成したのち、水平、垂直方向への補間処理を行うことになる。
上記復号処理において、ブロックライン単位に復号処理が行われている最中、量子化制御部810の量子化値算出部813は、各プレーンのブロックラインについての逆量子化を行うための量子化パラメータを更新することになる。その量子化パラメータの更新処理は、図1の撮像装置100における量子化値算出部111と同じであるので、ここでの詳述は省略する。
[第1の実施形態の変形例]
上記の第1の実施形態に相当する処理を、例えばパーソナルコンピュータに代表される情報処理装置が実行するアプリケーションによって実現する例を、第1の実施形態に変形例として説明する。
図9は、情報処理装置のブロック構成図である。本装置の電源がONになると、CPU901はROM902に格納されたブートプログラムを実行し、ハードウェア初期化処理を行い、HDD(ハードディスク)904に格納されているOS(Operating System)をRAM903にロードし、OSに制御を移す(実行)することで、本装置が情報処理装置として機能する。つまり、表示部906、キーボード907,マウス908がユーザとのインタフェースとして機能する。I/F905は、外部機器と通信するためのインタフェースであり、典型的には、ネットワークインタフェース、USB(Universal Serial Bus)等である。本実施形態における符号化対象のRAW画像データも、このI/F905を介して外部から入力することになる。上記構成において、ユーザが、キーボード907、或いはマウス908を操作して、所定の指示入力を行うと、CPU901は、HDD904から符号化アプリケーション、或いは、復号アプリケーションをRAM903にロードし、実行することで、本装置が画像符号化装置、或いは、画像復号装置として機能することになる。
以下、本装置が、画像符号化装置として機能した場合の処理を図10のフローチャートを参照して説明する。基本的に、CPU901がプログラムを実行することで画像符号化装置として機能した場合、CPU901は図1における各処理部に相当する処理を行うことになるので、その詳細については第1の実施形態を参照されたい。
また、以下の説明は、HDD904には、既に符号化対象のベイヤ配列のRAW画像データがファイルとして格納されているものとする。また、そのファイルのヘッダには、撮影時の光学的な水平・垂直方向の圧縮比率を示す情報が格納されているものとする。
S101にて、CPU901は、符号化対象のRAW画像ファイルから、光学的な水平・垂直方向の圧縮比率を示す情報を取得する。なお、この情報は、ユーザが操作部より入力しても構わない。
そして、S102にて、CPU901は、該当ファイルからRAW画像データを入力し、RAM903に展開する。
S103にて、CPU901は、RAM903に展開されたRAW画像データから、R,G1,G2,Bの4つのプレーンを生成し、RAM903に格納する。
S104にて、CPU901は、符号化に先立って、各種パラメータの初期化を行う。この初期化処理では、初期量子化値、初期目標符号量等の設定が含まれる。この初期化処理では、ブロックラインの符号量と目標ブロックラインの符号量との累積和を格納する領域をゼロクリアにする処理も含まれる。
S105にて、CPU901は、4つのプレーンそれぞれに対してDWTを行う。CPU901は、この処理で得たサブバンドをRAM903に格納する。図10のフローチャートにおいてS105が示すボックスが4つ存在するのは、4つのプレーンについて行うことを示している。
S106にて、CPU901は、ブロックラインの順番を規定する変数iに、初期値“1”を設定する。そして、S107にて、CPU901は、RAM903に記憶されているDWTで得たサブバンドから、各プレーンの符号化対象となる第iのブロックラインのDWT係数を読み出し、量子化する。
S108にて、CPU901は、各プレーンの第iのブロックラインの量子化係数の符号化を行い、生成した符号化データをRAM903に一時的に格納する。この際、CPU901は、各プレーンの第iのブロックラインの符号化データ量と目標ブロックラインとの差分を求め、その差分を累積加算していく(数式(2)に相当する処理である)。
S109にて、CPU901は、次に符号化することになるブロックラインのための量子化パラメータを更新する(数式(3)に相当する処理である)。
そして、S110にて、CPU901は、全ブロックラインを符号化したか否かを、変数iの値に基づいて判定する。そして、未符号化のブロックラインが存在する場合、CPU901は処理をS111に進め、変数iを1つ増加させる。そして、CPU109は、次のブロックラインの符号化を行うべく、処理をS107に戻す。
一方、全ブロックラインの符号化を終えた場合、CPU901は処理をS110からS112に進める。このS112にて、CPU901は、HDD904に、復号に必要な各種情報(水平・垂直の圧縮比率を示す情報を含む)を含むファイルヘッダを作成する。そして、CPU901は、そのファイルヘッダに後続して、RAM903に格納記憶されている符号化データを、予め設定されたフォーマット構造にした上で出力することで、符号化画像データファイルを作成する。
次に、本装置が、画像復号装置として機能した場合の処理を図11のフローチャートを参照して説明する。基本的に、CPU901が復号プログラムを実行することで画像符号化装置として機能した場合、CPU901は図8における各処理部に相当する処理を行うことになるので、その詳細については第1の実施形態を参照されたい。
また、以下の説明は、HDD904には、既に符号化画像ファイルが格納されており、復号処理を行って表示部906に画像を表示するまでを説明する。
S201にて、CPU901は、復号対象の符号化画像ファイルのファイルヘッダを解析し、光学的な水平・垂直方向の圧縮比率を示す情報を取得する。なお、この情報は、ユーザが操作部より入力しても構わない。
そして、S202にて、CPU901は、復号に先立って、各種パラメータの初期化を行う。この初期化処理では、初期量子化値、初期目標符号量等の設定が含まれる。また、この初期化処理では、ブロックラインの符号量と目標ブロックラインの符号量との累積和を格納するRAM903における領域をゼロクリアにする処理も含まれる。次のS203にて、CPUは、ブロックラインの順番を規定する変数iに、初期値“1”を設定する。
S204にて、CPU901は、各プレーンの第iのブロックラインの復号を行い、量子化変換係数を得る。この際、第iのブロックラインの符号量が判明するので、CPU901は、その符号量と目標ブロックラインの符号量と差を求め、先に示した領域の値に足し込むことで更新する(式(2)に相当する処理である)。
S205にて、CPU901は、各プレーンの第iのブロックラインの量子化係数に対して逆量子化を行う。変数iは“1”の場合には、初期化処理で得た量子化パラメータに従って量子化が行われる。また、変数iが“1”以外の場合には、直前のブロックラインを復号処理による更新後の量子化パラメータを用いて逆量子化を行うことになる。
S206にて、CPU901は、逆量子化で得た変換係数に対して、逆DWTを行い、ブロックラインの画像を得る。CPU901は、得られたブロックラインの画像データをRAM903に格納する。なお、逆DWTを行う場合には、利用するフィルタのタップ数の変換係数が揃っている必要があるので、それに満たない場合には逆DWTは行わない。
S207にて、CPU901は、次のブロックラインの復号に備え、ブロックラインの符号量と目標ブロックラインの符号量と差の累積和に基づき、量子化パラメータを更新する(式(3)に相当する処理である)。つまり、光学的な水平・垂直方向の圧縮比率に従って、各サブバンドに応じた量子化パラメータが決定される。
S208にて、CPU901は、全ブロックラインの復号を終えたか否かを判定する。未復号のブロックラインが存在する場合、CPU901は処理をS209に進め、変数iを“1”だけ増加させる。そして、CPU901は、次のブロックラインを復号するために、処理をS204に戻す。
一方、全ブロックラインの復号を終えた場合、CPU901は、処理をS208からS211に進める。このS210にて、CPU901は、RAM903に再生された4つのプレーンの統合処理を行い、ベイヤ配列のRAW画像を生成する。そして、CPU901は、S211に処理を進める。
S211にて、CPU901は、生成されたRAW画像に対して現像処理を行って、1画素がR,G,Bの成分で構成されるカラー画像を生成する。そして、CPU901は、生成されたカラー画像に対し、S201で取得した水平・垂直方向の圧縮比率に従って、水平、もしくは垂直方向への拡大処理を行い、水平・垂直方向の尺度が1:1の画像を生成し、表示部906に出力する。
以上説明したように、先に示した第1の実施形態と同等の処理を、コンピュータプログラムによっても実現できる。
[第2の実施形態]
次に第2の実施形態を説明する。本第2の実施形態における装置構成は、第1の実施形態の図1と同じである。
ただし、本第2の実施形態におけるプレーン変換部102は、RAW画像データから、1枚の輝度プレーン(Yプレーン)と3枚の輝度以外のプレーンに変換する。また、第1の実施形態では、光学的な水平と垂直方向の圧縮比率のみを用いて、各プレーンにおけるサブバンド毎の量子化パラメータ重みを決定していたのに対し、本第2の実施形態では光学的な圧縮比率及び各プレーンの信号成分方向の特徴も加味して、量子化パラメータを決定する例を説明する。
本第2の実施形態におけるプレーン変換部102は、RAW画像データを、次式(7)乃至(9)に従って輝度以外の3つプレーン(U,V,GHプレーン)と、式(10)に示した輝度プレーン(Yプレーン)に変換する。
U = B-(G1+G2)/2 …(7)
V = R-(G1+G2)/2 …(8)
GH = G1-G2 …(9)
Y = (R+B+G1+G2)/4 …(10)
本第2の実施形態では、プレーン変換の一例として上記のように各プレーンを変換したが、変換方法はこれに限るものではない。
各プレーンにおける信号成分の方向を表したものを図6(a)乃至(d)に示す。図6(a)乃至(d)では、図2で示したベイヤ配列における隣接する2×2画素(R,G1,G2,B)に着目した図である。
まず、Uプレーンは、式(7)より、G1成分とG2成分との加算平均値と、B成分との差分となる。そのため、信号成分Uが表す方向は、図6(a)に示すようにB成分の重心位置である点P’とG1成分とG2成分を加算平均した信号の重心位置である点Q’を実線で結んだ斜め方向となる。
Vプレーンは、式(8)より、G1成分とG2成分との加算平均と、R成分との差分となる。信号成分Vが表す方向は、図6(b)に示すようにR成分の重心位置である点S’と、G1成分とG2成分を加算平均した信号の重心位置である点T’を実線で結んだ斜め方向となる。
GHプレーンは、式(9)より、G1成分とG2成分の差分である。そのため信号成分GHが表す方向は、図6(c)に示すように、G1成分の重心位置V’とG2成分の重心位置W’を実線で結んだ斜め方向となる。
最後に、Yプレーンは、式(10)よりR,G1,G2,B成分の加算平均である。そのため、信号成分Yの重心位置としては、図6(d)に示すように各成分の中心位置となる点Z’であり、信号成分Yの方向は存在せず、点として表わされる。
本第2の実施形態における量子化パラメータ重み設定部112で設定する重み設定方法として、第1の実施形態で説明したように光学的な水平と垂直方向の圧縮比率αに応じて算出しても良い。しかしながら、一部、プレーン変換後の信号成分が斜め方向であることを鑑みて、それを水平、垂直方向に分解した上で重み設定をする方が表示時の伸張に伴う水平、垂直方向への量子化歪の影響度合いをより考慮した符号化を行える。
U,V,GHプレーンにおける斜め方向の信号成分を水平、垂直方向に分解したものを図7(a)乃至(c)に示す。図7(a)は図6(a)に対して点P’から水平軸方向に垂直に線を引いた際の水平軸との交点を点R’とする。2点p1,p2を結ぶ線分を“L(p1,p2)”と表記する。また、角度∠S'T'U'をθとし、L(P'Q')の長さを基準の1とする。この場合、線分L(Q'R')、L(R'P')、L(P'Q')の長さの比は次式(11)の通りになる。
L(Q'R') : L(R'P') : L(P'Q') = cosθ : sinθ : 1 …(11)
次に、図7(b)は、図6(b)に対応する。点S’から水平軸方向に垂直に線を引いた際の水平軸との交点を点U’とする。角度∠S'T'U'をθとし、線分L(S'T')の長さを基準の1とすると、線分L(T'U')、L(U'S')、L(S'T')の長さの比は、次式(12)の通りになる。
L(T'U') : L(U'S') : L(S'T') = cosθ : sinθ : 1 …(12)
最後に、図7(c)は図6(c)に対する。点V’から水平軸方向に垂直に線を引き、点W’から垂直軸方向に垂直線を引いた場合の交点を点X’とする。角度各∠V'W'X'をθとし、線分L(V'W')の長さを基準の1とすると、線分L(W'X')、L(X' V')、L(V'W')の長さの比は次式(13)の通りになる。
L(W'X') : L(X'V') : L(V'W') = cosθ : sinθ : 1 …(13)
ここで、図5(a)乃至(c)を参照して、プレーン及びサブバンド毎の量子化パラメータ重み設定部112で設定するαの設定方法を説明する。まず、図5(a)では、符号化対象の画像は水平と垂直方向の長さの関係は1対1の関係になることから、cosθとsinθはそれぞれ、1/√2、1/√2となり、式(11)乃至(13)は次式(14)の関係で示される。
L(Q'R') : L(R'P') : L(P'Q') = L(T'U') : L(U'S') : L(S'T') = L(W'X') : L(X'V') : L(V'W') = 1/√2:1/√2:1 … (14)
式(14)の線分の長さの比は各サブバンドで設定するαと同義となるため、U,V,GHプレーンにおけるHL,LH,HHサブバンドのαの値として、以下式(15)を適用する。
HL:LH:HH=1/√2:1/√2:1 … (15)
なお、Yプレーンにおいては信号成分に特定の方向をもっていないためHL,LH,HHサブバンドのαの値として、以下式(16)の関係を適用する。
HL:LH:HH=1:1:1 … (16)
次に、図5(b)の場合について説明する、この場合、水平と垂直方向の長さの関係は1/2対1の関係になることから、cosθとsinθはそれぞれ、1/√5、2/√5となる。よって、式(12)は、次式(17)の関係になる。
L(Q'R') : L(R'P') : L(P'Q') = L(T'U') : L(U'S') : L(S'T') = L(W'X') : L(X'V') : L(V'W') = 1/√5:2/√5:1 … (17)
よって、U,V,GHプレーンにおけるHL,LH,HHサブバンドのαの値として、次式(18)の関係を適用する。
HL:LH:HH=1/√5:2/√5:1 …(18)
なお、YプレーンにおけるHL,LH,HHサブバンドのαの値として、以下式(19)の関係を適用する。
HL:LH:HH=1/2:1:1…(19)
最後に、図5(c)の場合について説明する。この場合、水平方向の長さと垂直方向の長さの関係は1対1/2の関係になることから、cosθとsinθはそれぞれ、2/√5、1/√5となる。よって、式(13)は次式(20)の関係になる。
L(Q'R') : L(R'P') : L(P'Q') = L(T'U') : L(U'S') : L(S'T') = L(W'X') : L(X'V') : L(V'W') = 2/√5:1/√5:1 … (20)
よって、U,V,GHプレーンにおけるHL,LH,HHサブバンドのαの値として、次式(21)の関係を適用する。
HL:LH:HH=2/√5:1/√5:1…(21)
なお、YプレーンにおけるYプレーンにおけるHL,LH,HHサブバンドのαの値としては次式(22)の関係を適用する。
HL:LH:HH=1:1/2:1…(22)
以上説明したように、本第2の実施形態によれば、光学的な水平と垂直の圧縮比率だけでなく、各プレーンの信号成分の方向も加味して各プレーンおよびサブバンドの重み設定をすることで、表示時の伸張に伴う水平或いは垂直方向への量子化歪の影響度合いをより考慮した符号化を行うことが可能となる。
なお、第1の実施形態では、量子化パラメータの値は、同じ種類のサブバンド、同じ位置のブロックラインであれば、プレーン間での量子化パラメータは同じであるものとした。これは、第1の実施形態における4つのプレーンが色成分の違いだけであり、同じ重みを持つためである。これに対し、第2の実施形態では、輝度Yプレーンと、3つの色差プレーンを符号化するものであり、輝度プレーンについては、他の色差プレーンよりも十分に小さい量子化パラメータとなるように設定する。
また、上記第2の実施形態に相当する処理を、第1の実施形態の変形例と同様、コンピュータがプログラムを実行することで実現しても良い。
また、上記実施形態では、水平方向と垂直方向の圧縮比率が2:1もしくは1:2の例を説明したが、他の比率であっても構わない。その場合、同一分解レベルのHL,LHサブバンドに設定する量子化パラメータをその比率に応じて設定すれば良い。
上記第1の実施形態、変形例、及び第2の実施形態では、符号化対象をベイヤ配列のRAW画像としたが、他の形式の画像であっても構わない。例えば、モノクロ画像を符号化する場合、その画像は元々単一の輝度成分だけで構成される画像であるので、プレーン変換部102は不要となる。また、YCbCr等の輝度、色差成分で表されるカラー画像に適用しても良い。この場合、Yプレーン、Cbプレーン、Crプレーンに対して、上記と同様の処理を行えば良い。
また、上記実施形態では、2×2画素がラスタースキャン順にR,G1,G2,Bの画素が並ぶ、ベイヤ配列を例にしたが、このならび以外のベイヤ配列の場合には、その並びに応じた量子化パラメータを決定すれば良い。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本明細書の開示は、以下の撮像装置、方法及びプログラムを含む。
(項目1)
撮像手段により得た画像データを符号化する画像符号化装置であって、
撮影する際の光学的な水平方向と垂直方向の圧縮比率を表す情報を取得する取得手段と、
前記画像データをウェーブレット変換し、複数のサブバンドデータを生成する変換手段と、
該変換手段で得た複数のサブバンドにおける変換係数に対する量子化パラメータを決定する決定手段と、
前記変換手段で得たサブバンドデータにおける変換係数を、前記決定手段で決定された量子化パラメータに従って量子化し、符号化する符号化手段とを備え、
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に基づいて、サブバンド毎に重み付けして、前記量子化パラメータを決定する
ことを特徴とする画像符号化装置。
(項目2)
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に応じた重み付け係数で重み付けして、前記量子化パラメータを決定する
ことを特徴とする項目1に記載の画像符号化装置。
(項目3)
前記決定手段は、前記取得手段により取得した圧縮比率を表す情報に基づいて、前記複数のサブバンドのうち重み付けするサブバンドを決定する
ことを特徴とする項目2に記載の画像符号化装置。
(項目4)
前記決定手段は、前記取得手段により取得した圧縮比率に応じて、LHサブバンドに重み付けするか、HLサブバンドに重み付けするかを切り替える
ことを特徴とする項目1に記載の画像符号化装置。
(項目5)
前記光学的な水平方向と垂直方向の圧縮比率が、垂直方向に対する水平方向の圧縮比率が第1の比率(第1の比率<1)の場合、
前記決定手段は、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータに対するHLサブバンドに適用する量子化パラメータの比率が、前記第1の比率となるように、量子化パラメータを決定する
ことを特徴とする項目1に記載の画像符号化装置。
(項目6)
前記決定手段は、前記光学的な水平方向と垂直方向の圧縮比率が1の場合には、同一分解レベルにおけるHLサブバンドとLHサブバンドは、同じ量子化パラメータとなるように量子化パラメータを決定し、
前記光学的な水平方向と垂直方向の圧縮比率が、垂直方向に対する水平方向の圧縮比率が第1の比率(第1の比率<1)の場合、HLサブバンドに対して前記第1の比率で重み付けして量子化パラメータを決定することにより、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータよりもHLサブバンドに適用する量子化パラメータを小さくする
ことを特徴とする項目1に記載の画像符号化装置。
(項目7)
前記光学的な水平方向と垂直方向の圧縮比率が、水平方向に対する垂直方向の圧縮比率が第2の比率(第2の比率<1)の場合、
前記決定手段は、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータに対するLHサブバンドに適用する量子化パラメータの比率が、前記第2の比率になるように、量子化パラメータを決定する
ことを特徴とする項目1に記載の画像符号化装置。
(項目8)
前記決定手段は、前記光学的な水平方向と垂直方向の圧縮比率が1の場合には、同一分解レベルにおけるHLサブバンドとLHサブバンドは、同じ量子化パラメータとなるように量子化パラメータを決定し、
前記光学的な水平方向と垂直方向の圧縮比率が、水平方向に対する垂直方向の圧縮比率が第2の比率(第2の比率<1)の場合、LHサブバンドに対して前記第2の比率で重み付けして量子化パラメータを決定することにより、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータよりもLHサブバンドに適用する量子化パラメータを小さくする
ことを特徴とする項目1に記載の画像符号化装置。
(項目9)
前記画像符号化装置は、光学レンズユニットを着脱可能であり、
前記取得手段は、光学的な水平方向と垂直方向の圧縮比率を表す情報を前記レンズユニットと通信することにより取得し、
前記決定手段は、前記レンズユニットから取得した光学的な水平方向と垂直方向の圧縮比率を表す情報に基づいて、前記量子化パラメータを決定する
ことを特徴とする項目1乃至8のいずれか1つに記載の画像符号化装置。
(項目10)
前記取得手段は、前記画像符号化装置の操作部を介してユーザに選択された圧縮比率を表す情報を取得し、
前記決定手段は、前記取得手段により取得した、前記ユーザに選択された圧縮比率を表す情報に基づいて、前記量子化パラメータを決定する
ことを特徴とする項目1乃至9のいずれか1つに記載の画像符号化装置。
(項目11)
前記決定手段は、前記ユーザに選択された圧縮比率を表す情報が、垂直方向よりも水平方向に圧縮された圧縮比率を示す場合は、同一分解レベルのHLサブバンドに適用する量子化パラメータを、LHサブバンドに適用する量子化パラメータよりも小さくなるように決定する
ことを特徴とする項目10に記載の画像符号化装置。
(項目12)
前記撮像手段で得た画像を、それぞれが単一成分で構成される複数のプレーンに変換するプレーン変換手段を更に有し、
前記変換手段は、前記プレーン変換手段より得た各プレーンを、ウェーブレット変換する
ことを特徴とする項目1乃至11のいずれか1つに記載の画像符号化装置。
(項目13)
前記撮像手段は、ベイヤ配列のRAW画像を出力し、
前記プレーン変換手段は、前記RAW画像を、Rプレーン、G1プレーン、G2プレーン及びBプレーンに変換する
ことを特徴とする項目12に記載の画像符号化装置。
(項目14)
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における垂直方向に対する水平方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、同一分解レベルにおけるHLサブバンドに適用する量子化パラメータを、LHサブバンドに適用する量子化パラメータの1/2と決定する
ことを特徴とする項目13に記載の画像符号化装置。
(項目15)
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における水平方向に対する垂直方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、同一分解レベルにおけるLHサブバンドに適用する量子化パラメータを、HLサブバンドに適用する量子化パラメータの1/2と決定する
ことを特徴とする項目13に記載の画像符号化装置。
(項目16)
前記撮像手段は、2×2画素がラスタースキャン順にR,G1,G2,Bの画素が並ぶ、ベイヤ配列のRAW画像を出力し、
前記プレーン変換手段は、前記RAW画像を、以下の色差のU,V,GHプレーンと、輝度のYプレーンに変換する
U = B-(G1+G2)/2
V = R-(G1+G2)/2
GH = G1-G2
Y = (R+B+G1+G2)/4
ことを特徴とする項目12に記載の画像符号化装置。
(項目17)
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における垂直方向に対する水平方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、
前記Yプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1/2:1:1とし、
前記U,V,GHプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1/√5:2/√5:1とする
ことを特徴とする項目16に記載の画像符号化装置。
(項目18)
前記光学的な水平方向と垂直方向の圧縮比率が、前記撮像手段で得る画像における水平方向に対する垂直方向の像が1/2倍となる圧縮比率を示している場合、
前記決定手段は、
前記Yプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を1:1/2:1とし、
前記U,V,GHプレーンの同一分解レベルのHL、LH、HHサブバンドに設定する量子化パラメータの値の比を2/√5:1/√5:1とする
ことを特徴とする項目16に記載の画像符号化装置。
(項目19)
撮像手段により得た画像データを符号化する画像符号化装置の制御方法であって、
撮影する際の光学的な水平方向と垂直方向の圧縮比率を表す情報を取得する取得工程と、
前記画像データをウェーブレット変換し、複数のサブバンドデータを生成する変換工程と、
該変換工程で得た複数のサブバンドにおける変換係数に対する量子化パラメータを決定する決定工程と、
前記変換工程で得たサブバンドデータにおける変換係数を、前記決定工程で決定された量子化パラメータに従って量子化し、符号化する符号化工程とを備え、
前記決定工程は、前記取得工程により取得した圧縮比率を表す情報に基づいて、サブバンド毎に重み付けして、前記量子化パラメータを決定する
ことを特徴とする画像符号化装置の制御方法。
(項目20)
コンピュータが読み込み実行することで、前記コンピュータに、項目1乃至18のいずれか1つに記載の装置が有する各手段として機能させるためのプログラム。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
100…撮像装置、101…撮像部、102…プレーン変換部、103…離散ウェーブレット変換部、104…量子化部、105…符号化部、106…量子化制御部、107…記録処理部、108…記録媒体、109…発生符号量保持部、110…差分算出部、111…量子化値算出部、112…量子化パラメータ重み設定部、113…目標符号量算出部、114…初期目標符号量設定部、115…初期量子化値設定部
【図
【図
【図
【図
【図
【図
【図
【図
【図
【図
【図