(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-09
(45)【発行日】2024-04-17
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
H04N 19/117 20140101AFI20240410BHJP
H04N 19/14 20140101ALI20240410BHJP
H04N 19/169 20140101ALI20240410BHJP
H04N 19/44 20140101ALI20240410BHJP
H04N 19/63 20140101ALI20240410BHJP
H04N 19/85 20140101ALI20240410BHJP
G06N 3/02 20060101ALI20240410BHJP
【FI】
H04N19/117
H04N19/14
H04N19/169 300
H04N19/44
H04N19/63
H04N19/85
G06N3/02
(21)【出願番号】P 2019194728
(22)【出願日】2019-10-25
【審査請求日】2022-10-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】望月 成記
【審査官】田中 純一
(56)【参考文献】
【文献】特開2019-087778(JP,A)
【文献】特開2019-029802(JP,A)
【文献】特開2001-268368(JP,A)
【文献】特開2017-224965(JP,A)
【文献】米国特許出願公開第2017/0359579(US,A1)
【文献】特開2009-206737(JP,A)
【文献】米国特許第06678421(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
G06F 18/00 - 18/40
G06N 3/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
不可逆符号化したサブバンドデータを含んだ符号化RAWデータを復号する復号手段と、
前記復号したサブバンドデータに基づいて、画像の
明度および複雑度の少なくとも一方についての複数の分類のうちの1つを判定する判定手段と、
前記判定された分類に対応する補正データを取得する取得手段と、
前記復号したサブバンドデータを周波数逆変換したデータを、前記補正データに基づいて補正して、復号後のRAWデータとする補正手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記取得手段は、前記周波数逆変換したデータと、前記判定された分類に対応する推論パラメータとを用いた推論処理により、前記補正データを取得することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記取得手段は、前記周波数逆変換したデータを入力とし、前記判定された分類に対応する推論パラメータをニューロンの重みとして用いるニューラルネットワークを用いて前記補正データを取得することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記補正手段は、前記周波数逆変換したデータに前記補正データを合成比率に基づいて合成することにより前記周波数逆変換したデータを補正することを特徴とする請求項1から請求項3のいずれか1項に記載の画像処理装置。
【請求項5】
前記合成比率が前記判定された分類に基づくことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記合成比率がユーザにより設定されることを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記判定手段は、前記サブバンドデータのうち、低周波成分のサブバンドデータおよび高周波成分のサブバンドデータの少なくとも一方に基づいて前記複数の分類のうちの1つを判定することを特徴とする請求項1から請求項6のいずれか1項に記載の画像処理装置。
【請求項8】
前記符号化RAWデータが、RAWデータを変換した複数のチャネルのそれぞれをサブバンド符号化したデータであり、
前記判定手段、前記取得手段、前記補正手段は、前記チャネルごとの前記復号したサブバンドデータを対象として前記判定、前記取得、および前記補正を行う、ことを特徴とする請求項1から請求項7のいずれか1項に記載の画像処理装置。
【請求項9】
前記不可逆符号化が量子化であり、
前記複数の分類が、画像の明度および複雑度の少なくとも一方に加え、前記量子化に用いられた量子化パラメータについての分類であることを特徴とする請求項1から請求項7のいずれか1項に記載の画像処理装置。
【請求項10】
前記複数のチャネルが、前記RAWデータの生成に用いられた撮像素子に設けられたカラーフィルタの色成分に基づくことを特徴とする請求項8に記載の画像処理装置。
【請求項11】
画像処理装置が実行する画像処理方法であって、
不可逆符号化したサブバンドデータを含んだ符号化RAWデータを復号する復号工程と、
前記復号したサブバンドデータに基づいて、画像の
明度および複雑度の少なくとも一方についての複数の分類のうちの1つを判定する判定工程と、
前記判定された分類に対応する補正データを取得する取得工程と、
前記復号したサブバンドデータを周波数逆変換したデータを、前記補正データに基づいて補正して、復号後のRAWデータとする補正工程と、
を有することを特徴とする画像処理方法。
【請求項12】
コンピュータを、請求項1から請求項
10のいずれか1項に記載の画像処理装置が有する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および画像処理方法に関し、特には復号技術に関する。
【背景技術】
【0002】
デジタルカメラの撮像素子に多く用いられている単板式のカラーイメージセンサには、予め定められた複数色のフィルタが規則的に配置されたカラーフィルタが設けられている。色の組み合わせや配置方法が異なる様々なカラーフィルタが知られているが、
図2に示す原色ベイヤ配列のカラーフィルタが代表的である。
【0003】
原色ベイヤ配列のカラーフィルタは2×2を1単位としてR(赤)、G1(緑)、G2(緑)、B(青)のフィルタが周期的に配列されている。撮像素子の1画素あたり1つのフィルタが設けられるため、1回の撮影で得られる画像データを構成する画素データは、RGBのうち1つの色成分の情報しか有していない。この状態の画像データをRAW画像データと呼ぶ。
【0004】
RAW画像データはそのまま表示するには適していない。そのため、一般には様々な画像処理を適用して、RAW画像データを汎用機器で表示可能な形式(例えばJPEG形式やMPEG形式)に変換してから記録している。しかしながら、変換の過程でデータ量の削減などのために不可逆的な画像処理が適用されることから、変換前のRAW画像データを記録可能なデジタルカメラも存在する。
【0005】
RAW画像データのデータ量は、撮像素子の画素数増加に伴って非常に大きくなっている。そのため、連写速度の向上や記録媒体の容量節約などを目的として、データ量を削減(圧縮)してから記録することも提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1ではデータ量の圧縮効率を高めるため、量子化処理を用いた不可逆的な圧縮方法を適用している。そして、不可逆圧縮されたRAW画像データを復号した後に、汎用的な形式の画像データに変換する画像処理を適用すると、明度が低く、かつ明度の変化が少ない(平坦な)領域ほど、量子化誤差による画質の低下が視認されやすい。
【0008】
従来、このような不可逆圧縮されたRAWデータについて、画像処理後の画質低下を抑制できるように復号する方法は提案されていなかった。そこで、本発明は、不可逆符号化されたRAW画像データを、画質低下を抑制するように復号可能な画像処理装置および画像処理方法の提供を目的とする。
【課題を解決するための手段】
【0009】
上述の目的は、不可逆符号化したサブバンドデータを含んだ符号化RAWデータを復号する復号手段と、復号したサブバンドデータに基づいて、画像の明度および複雑度の少なくとも一方についての複数の分類のうちの1つを判定する判定手段と、判定された分類に対応する補正データを取得する取得手段と、復号したサブバンドデータを周波数逆変換したデータを、補正データに基づいて補正して、復号後のRAWデータとする補正手段と、を有することを特徴とする画像処理装置によって達成される。
【発明の効果】
【0010】
本発明によれば、不可逆符号化されたRAW画像データを、画質低下を抑制するように復号可能な画像処理装置および画像処理方法を提供することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係る復号装置が復号する符号化RAWデータを生成する符号化装置の構成例を示すブロック図
【
図4】実施形態における周波数変換(サブバンド分割)の例を示す図
【
図5】実施形態における予測符号化方法の例を示す図
【
図6】実施形態における符号量制御に関する量子化制御単位の例を示す図
【
図7】実施形態における画質制御に関する量子化制御単位の例を示す図
【
図8】実施形態における量子化制御単位とRAWデータの関係を示す図
【
図9】実施形態に係る復号装置の構成例を示すブロック図
【
図10】第1実施形態における特徴判定部の動作に関するフローチャート
【
図11】実施形態における補正データ生成部の構成例を示す図
【
図12】第1実施形態における特徴判定部の動作に関するフローチャート
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明をその例示的な実施形態に基づいて詳細に説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定しない。また、実施形態には複数の特徴が記載されているが、その全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0013】
なお、以下の実施形態で説明する符号化装置および復号装置は、画像データを処理可能な電子機器において実現することができる。このような電子機器には、デジタルカメラ、コンピュータ機器(パーソナルコンピュータ、タブレットコンピュータ、メディアプレーヤ、PDAなど)、携帯電話機、スマートフォン、ゲーム機、ロボット、ドローン、ドライブレコーダが含まれる。これらは例示であり、本発明は他の電子機器にも適用可能である。
【0014】
●(第1実施形態)
(符号化装置の説明)
まず、実施形態に係る復号装置が復号する符号化データを生成する符号化装置について
図1に示すブロック図を参照しながら説明する。なお、本実施形態では撮像素子に原色ベイヤ配列のカラーフィルタが設けられているものとするが、本発明はカラーフィルタの種類に依存しない。
【0015】
符号化装置100は、チャネル変換部101、周波数変換部102、量子化パラメータ生成部103、量子化部104、およびエントロピー符号化部105を有する。これら各部は、ASICなどの専用ハードウェア回路により、またはDSPやCPUなどの汎用プロセッサでプログラムを実行することにより実施することができる。
【0016】
符号化装置100には、
図2に示した原色ベイヤ配列のカラーフィルタを有する撮像素子から読み出された画像データ(RAWデータ)が入力される。ここではA/D変換が撮像素子内で、あるいは撮像素子から読み出された後で適用され、デジタル形式のRAWデータが入力されるものとする。
【0017】
チャネル変換部101は、RAWデータを複数のデータ群(チャネル)に変換する。
図3に、チャネル変換部101による変換例を模式的に示す。例えば、ベイヤ配列において同じ種類のフィルタが設けられた画素を1つのチャネルに変換し、R、G1、G2、Bの4つのチャネルを生成することができる。あるいは、R、G1、G2、Bの繰り返し単位ごとに、以下の式1により求めたC0~C3をチャネルとして生成してもよい(
図3(a))。
式1
C0=a+c
C1=B-G2
C2=R-G1
C3=b-a
ただし、a=G2+[C1/2]、b=G1+[C2/2]、c=[C3/2]であり、[]は床関数を表し、[x]はxを超えない最大の整数である。
【0018】
なお、
図3(b)や
図3(c)に示すように、RをG1またはG2とまとめて1つのチャネルとして3つのチャネルへ変換してもよい。これらは例示であり、変換後のチャネル数や変換方法は他の方法であってもよい。
【0019】
周波数変換部102は、チャネルごとに所定の分解レベル(以降、levと呼ぶ)の離散ウェーブレット変換を適用し、サブバンドデータに分割する。周波数変換部102は得られたサブバンドデータ(変換係数)を量子化パラメータ生成部103および量子化部104へ出力する。
【0020】
図4(a)は、lev=1の離散ウェーブレット変換を実現するためのフィルタバンクの構成を示しており、lpf(z)はローパスフィルタ、hpf(z)はハイパスフィルタ、↓2は2:1ダウンサンプリングである。lpf(z)およびhpf(z)の伝達関数は以下の通りである。
lpf(z)=(-z
-2 + 2z
-1 + 6 + 2z
1- z
2 )/8 式2
hpf(z)=(-z
-1 +2 -z
1)/2 式3
1段目で垂直方向、2段目で水平方向の処理を行うことにより、2次元の離散ウェーブレット変換が実現できる。
【0021】
図4(a)のフィルタバンクを適用することで、各チャネルのデータは
図4(b)に示すように1つの低周波数サブバンド(LL)データと3つの高周波数サブバンド(HL、LH、HH)データへ分割される。分解レベル(lev)が1よりも大きい場合、低周波数サブバンド(LL)データに対してフィルタバンクを繰り返し適用する。
【0022】
例えばlev=3の場合、各チャネルデータは
図4(c)に示すように3LLから1HHまでの10のサブバンドデータに分割される。なお、ここでは離散ウェーブレット変換を式1、2に示すように5タップのlpf(z)と3タップのhpf(z)で構成しているが、タップ数および係数が異なるフィルタを用いてもよい。
【0023】
量子化パラメータ生成部103は、周波数変換部102が生成したサブバンドデータ(変換係数)の量子化処理に用いる量子化パラメータを生成する。量子化パラメータ生成部103は、予め設定されたデータ量の圧縮率(削減率)から得られる目標符号量に基づいて、符号量を制御する単位領域ごとに共通した量子化パラメータ(QpBr)を生成する。なお、目標符号量にもとづく符号量の制御方法については公知の方法を用いることができるため、ここでは詳細に関する説明を省略する。
【0024】
図5は、各チャネルデータにlev=3の離散ウェーブレット変換を適用した場合について、符号量を制御する(量子化パラメータを決定する)単位領域を示している。レベル3のサブバンド(3LL,3HL,3LH,3HH)については垂直方向1×水平方向N(Nは整数)のサブバンドデータ×全チャネルを単位領域とする。レベル2のサブバンド(2HL,2LH,2HH)については垂直方向2×水平方向Nのサブバンドデータ×全チャネルを単位領域とする。レベル1のサブバンド(1HL,1LH,1HH)については垂直方向4×水平方向Nのサブバンドデータ×全チャネルを単位領域とする。
【0025】
量子化パラメータ生成部103は、符号化対象の単位領域について予め定められた目標符号量と発生符号量とを比較する。そして、量子化パラメータ生成部103は、次の同種の単位領域についての発生符号量が目標符号量に近づくようにフィードバック制御を行い、単位領域ごとの量子化パラメータ(QpBr)を生成する。なお、発生符号量の制御を行わない場合、量子化パラメータ生成部103は、1画面分のサブバンドデータ全てに共通した量子化パラメータ(QpBr)を設定または生成すればよい。
【0026】
ここで、量子化パラメータ生成部103では、生成した量子化パラメータ(QpBr)を画質制御の観点から調整することができる。例えば量子化パラメータ生成部103は、周波数変換部102により入力されたサブバンドデータを所定のサブバンドデータ単位に評価した結果により量子化パラメータを調整することができる。これにより、量子化パラメータ生成部103は、RAWデータの特性に応じた画質制御を実現する量子化パラメータを生成することができる。例えば量子化パラメータ生成部103は、低周波サブバンドに応じて明度領域を分離し、明度領域ごとに量子化の強弱を調整するような量子化パラメータを生成することができる。
【0027】
図6(a)は、各チャネルデータにlev=3の離散ウェーブレット変換を適用した場合について、画質制御に関してサブバンドデータの評価、および量子化パラメータの更新を行う単位領域を示している。レベル3のサブバンド(3LL,3HL,3LH,3HH)については垂直方向1×水平方向1のサブバンドデータ×全チャネルを単位領域とする。レベル2のサブバンド(2HL,2LH,2HH)については垂直方向2×水平方向2のサブバンドデータ×全チャネルを単位領域とする。レベル1のサブバンド(1HL,1LH,1HH)については垂直方向4×水平方向4のサブバンドデータ×全チャネルを単位領域とする。量子化パラメータ生成部103は、単位領域ごとの量子化パラメータ(QpBs)を生成する。したがって、画質制御に関する量子化パラメータ(QpBs)とサブバンドデータとの関係は、
図6(b)に示すようになる。ただし、単位領域は
図6に示したものに限定されない。
【0028】
画質制御に関わるサブバンドデータの評価は、以下の様に行うことができる。量子化パラメータ生成部103は、例えば3LLのサブバンドデータを低周波成分として評価し、1HL,1LH,1HHのサブバンドデータを高周波成分として評価する。そして、量子化パラメータ生成部103は、低周波成分の振幅が小さい程、量子化が細かく行われるように(量子化パラメータが小さくなるように)、符号量制御により生成した量子化パラメータ(QpBr)を調整する。また、量子化パラメータ生成部103は、高周波成分の振幅が大きい程、粗い量子化が行われるように(量子化パラメータが大きくなるように)量子化パラメータ(QpBr)を調整する。量子化パラメータ(QpBr)の調整は、例えばフィードフォワード制御によってゲインやオフセットを調整することにより実現できる。なお、画質制御を目的とした量子化パラメータの調整を行なわない場合、量子化パラメータ生成部103は量子化パラメータ(QpBr)をそのまま調整後の量子化パラメータ(QpBs)として用いることができる。
【0029】
以上のように生成された量子化パラメータ(QpBs)は、
図7に示すように、8×8画素×全チャネルの領域、すなわちRAWデータの16×16画素の領域についての量子化に用いることができる。
【0030】
次に、量子化パラメータ生成部103は、以下の式4にしたがって、全チャネル、全サブバンドに共通の量子化パラメータQpBsから、各チャネル、各サブバンド個別の量子化パラメータQpSbを生成する。
QpSb[i][j]= QpBs ×α[i][j]+β[i][j] 式4
ここで、
QpSb:各チャネル、各サブバンド個別量子化パラメータ
QpBs:全チャネル、全サブバンド共通量子化パラメータ
α:傾き
β:切片
i:チャネルインデックス(本実施形態では0~3)
j:サブバンドインデックス(本実施形態では0~9)
である。
【0031】
傾きαおよび切片βは、チャネルおよびサブバンドに個別な変数である。したがって、傾きαおよび切片βを調整することにより、チャネルごと、かつサブバンドごとの柔軟な量子化制御が可能である。
【0032】
量子化部104は、周波数変換部102から供給されるサブバンドデータ(変換係数)に、量子化パラメータ生成部103から供給される量子化パラメータを用いた量子化処理を適用する。量子化部104は、量子化後のサブバンドデータ(変換係数)と量子化パラメータ(QpBs)と、傾きαおよび切片βとをエントロピー符号化部105へ出力する。
【0033】
エントロピー符号化部105は、量子化部104から入力される、量子化後のサブバンドデータ(変換係数)を、サブバンドごとにラスタースキャン順で予測差分型エントロピー符号化する。エントロピー符号化部105は、例えば
図8に示すように、符号化対象のサブバンドデータxの周辺に位置する4つのサブバンドデータa,b,c,dに基づくMED(Median Edge Detectection)予測により予測値pdを生成する。そして、エントロピー符号化部105は、符号化対象データxの値xdと予測値pdとの差分(xd-pd)をエントロピー符号化方式で符号化する。
【0034】
符号化には例えばハフマン符号化、ゴロム符号化など、公知のエントロピー符号化方式を用いることができる。なお、予測値の算出やエントロピー符号化を他の方式で行ってもよい。エントロピー符号化部105は、量子化パラメータ(QpBs)、傾きαおよび切片β、およびチャネル変換部101におけるチャネル変換方法を特定可能な情報を、符号化RAWデータを格納するファイルに例えばメタデータとして含める。
【0035】
エントロピー符号化部105は、符号化RAWデータ格納するファイル(符号化RAWデータファイル)を外部に出力する。符号化RAWデータファイルは例えば符号化装置100を備える電子機器により、電子機器からアクセス可能な記憶媒体や記録装置に記録される。エントロピー符号化部105はさらに、各サブバンドについて、ライン単位の発生符号量を量子化パラメータ生成部103に通知する。以上のように、符号化装置100は符号化データを生成する。
【0036】
(復号装置の説明)
次に、上述した方法で生成された符号化RAWデータを復号する復号装置900について、
図9に示すブロック図を参照して説明する。復号装置900は、エントロピー復号部901、逆量子化部902、周波数逆変換部903、特徴判定部904、補助データ生成部905、合成部906、およびチャネル逆変換部907を有する。これら各部(機能ブロック)は、ASICなどの専用ハードウェア回路により、不揮発性メモリに記憶されたプログラムをDSPやCPUなどの汎用プロセッサによってシステムメモリに読み込んで実行することにより、あるいはその組み合わせにより実現できる。以下では便宜上、各機能ブロックが自律的に、他の機能ブロックと連携しながら動作するように説明する。
【0037】
エントロピー復号部901は、符号化RAWデータファイルから符号化RAWデータを抽出する。この際、エントロピー復号部901は、メタデータとして含まれている情報についても抽出し、情報を他のブロックに供給する。エントロピー復号部901は、例えば量子化パラメータ(QpBs)および傾きαおよび切片βを逆量子化部902へ、チャネル変換方法を特定可能な情報をチャネル逆変換部907へ供給する。エントロピー復号部901は、符号化RAWデータに対してエントロピー復号処理を適用し、サブバンドデータ(変換係数)を取得する。エントロピー復号部901は、取得したサブバンドデータ(変換係数)を逆量子化部902へ供給する。
【0038】
逆量子化部902は、エントロピー復号部901から供給される量子化パラメータ(QpBs)、傾きαおよび切片βに基づいて、各チャネル、各サブバンドに対して個別の量子化パラメータ(QpSb)を生成する。そして、逆量子化部902は、エントロピー復号部901から供給されるサブバンドデータ(変換係数)に対し、生成した量子化パラメータを用いた逆量子化処理を適用する。逆量子化部902は、逆量子化後のサブバンドデータ(変換係数)を周波数逆変換部903および特徴判定部904に供給する。
【0039】
周波数逆変換部903は、逆量子化部902から供給されたサブバンドデータ(変換係数)に対して周波数逆変換処理を適用してチャネルデータを生成し、補助データ生成部905および合成部906へ供給する。
【0040】
特徴判定部904は、逆量子化部902から供給されたサブバンドデータ(変換係数)を用いて特徴判定を行い、符号化RAWデータに対応する、予め定められた複数の分類の1つを特定する。特徴判定部904の動作について、
図10(a)に示すフローチャートを用いて説明する。
【0041】
特徴判定部904は、
図6(b)に示した、量子化パラメータ(QpBs)を用いて量子化されるサブバンドデータ(変換係数)について、チャネルデータごとに、サブバンドデータに基づいて特徴判定を行う。特徴判定部904は例えば明度および複雑度に基づく特徴判定を行い、明度と複雑度との組み合わせに応じた複数の分類のうち、チャネルデータに対応する1つの分類を特定する。特徴判定に用いる項目は、不可逆符号化に起因する画質低下の大きさに関連する項目の1つ以上とすることができる。上述のように、不可逆符号化(量子化)による画質低下は暗い領域や平坦な領域で目立ちやすい。そのため、本実施形態では明るさと複雑さという2つの項目によって特徴判定を行っている。
【0042】
ここでは符号化RAWデータが、所定のチャネルごとにlev=3の離散ウェーブレット変換を適用して得られたサブバンドデータの符号化データであるものとする。また、説明および理解を容易にするため、明度および複雑度がそれぞれ2段階であるものとする。具体的には、
図10(b)に示すように、明度については明度閾値dcthを用いて「明」と「暗」の2つに区分する。また、複雑度については複雑度閾値acthを用いて「複雑」と「平坦」の2つに区分する。なお、
図10(b)では便宜上、明度閾値dcthが明度範囲の中心に、複雑度閾値acthがAC成分の割合の範囲の中心に位置する様に記載しているが、閾値は最小値と最大値の中央値でなくてもよい。また、分類の項目数は2に限らず、3以上や1つ(例えば明度および複雑度の一方)であってもよい。さらに、項目あたりの分割数についても、2に限らず、3以上としてもよい。
【0043】
まずS1001で特徴判定部904は、低周波成分であるサブバンド3LLの変換係数coef(dc)と明度閾値dcthとを比較することにより明度を判定する。変換係数coef(dc)が明度閾値dcth以上であれば、特徴判定部904はサブバンド3LLの変換係数coef(dc)の明度を「明」と判定し、処理をS1002に進める。また、変換係数coef(dc)が明度閾値dcth未満であれば、特徴判定部904はサブバンド3LLの変換係数coef(dc)の明度を「暗」と判定し、処理をS1003に進める。
【0044】
S1002およびS1003で特徴判定部904は、高周波成分であるサブバンド1HHの変換係数coef(ac)と複雑度閾値acthとを比較することにより複雑度を判定する。
図6(b)に示す例では、サブバンドデータ1HHの変換係数coef(ac)は16個存在するため、ここでは変換係数の平均値を複雑度閾値acthとを比較するものとする。
【0045】
変換係数coef(ac)が複雑度閾値acth以上であれば、特徴判定部904はサブバンド1HHの変換係数coef(ac)の複雑度を「複雑」と判定し、処理をS1004またはS1006に進める。また、変換係数coef(ac)が複雑度閾値acth未満であれば、特徴判定部904はサブバンド1HHの変換係数coef(ac)の複雑度を「平坦」と判定し、処理をS1005またはS1007に進める。
【0046】
S1004で特徴判定部904は、サブバンドの評価を行ったチャネルデータに対応する分類を「明・複雑」と判定して、判定処理を終了する。
S1005で特徴判定部904は、サブバンドの評価を行ったチャネルデータに対応する分類を「明・平坦」と判定して、判定処理を終了する。
S1006で特徴判定部904は、サブバンドの評価を行ったチャネルデータに対応する分類を「暗・複雑」と判定して、判定処理を終了する。
S1007で特徴判定部904は、サブバンドの評価を行ったチャネルデータに対応する分類を「暗・平坦」と判定して、判定処理を終了する。
【0047】
特徴判定部904は、
図10(a)に示す処理をチャネルデータごとに実行し、判定結果の分類を示す分類情報を補助データ生成部905および合成部906へ供給する。
【0048】
補助データ生成部905は、分類ごとの学習済みの推論パラメータを適用したニューラルネットワークを用い、チャネルデータごとに、復号データを補正するための補助データ(補正データ)を生成もしくは取得する推論処理部である。
図11(a)に、補助データ生成部905が用いることのできるニューラルネットワーク1100の構成例を示す。
【0049】
ニューラルネットワーク1100は、入力層1101、第1中間層1102、第2中間層1103および出力層1104の4層を有し、各層がニューロン1105で接続される。ニューロン1105は、
図11(b)に示す構成を有し、式5に示すように入力値x
1
~x
N
、重みw
1
~w
N
、およびバイアスbに基づいてx'を求める。
【数1】
【0050】
ニューロン1105のそれぞれに適用する重みw
1
~w
N
およびバイアスbは、分類情報に対応した学習済みの推論パラメータとして予め準備しておく。具体的には、特徴判定部904が用いるのと同様の分類について、符号化前のRAWデータを教師データとして分類ごとに個別に学習されたものである。なお、第1中間層1102および第2中間層1103が有するニューロン1105についても、同様に推論パラメータを予め準備しておく。
図11では第1中間層1102のニューロン数がNより少ないが、これは単なる例示であり、中間層におけるニューロン数がN以上であってもよい。
【0051】
補助データ生成部905は、
図11(c)に示すようなパラメータ選択部1110を有する。パラメータ選択部1110は、
図11(d)に示すように、特徴判定部904から供給される分類情報に基づき予め準備された複数の分類別推論パラメータの1つを選択してニューラルネットワーク1100に供給する。なお、分類別の推論パラメータは、補助データ生成部905の外部から更新可能であってよい。
【0052】
ニューロン1105は、式5で求めたx’を非線形の関数であるシグモイド関数(式6)、ランプ関数(式7)などの活性化関数に入力し、yを出力する。
y=1/(1+e-x’) 式6
y=0 (x’≦0),y=x’ (x’>0) 式7
【0053】
なお、ニューラルネットワーク1100およびニューロン1105の構成は
図11に示したものに限定されない。ニューラルネットワーク1100の入力層1101にチャネルデータを入力することにより、第1中間層1102、第2中間層1103を経て最終的に出力層1104から符号化劣化を補正するための補助データが得られる。補助データ生成部905は、補助データを合成部906へ供給する。
【0054】
合成部906は、予め用意された分類別の合成比率から、特徴判定部904から入力される分類結果に対応する合成比率を選択する。そして、合成部906は、周波数逆変換部903から入力されるチャネルデータと、補助データ生成部905から入力される補助データとを、選択した合成比率に基づいて合成することにより、チャネルデータを補正する。合成部906は、補正後のチャネルデータを生成する。分類に応じた補正強度をユーザが調整できるように、合成比率をユーザが設定可能であってよい。また、合成比率は全ての分類に共通であってもよい。合成部906は、補正後のチャネルデータをチャネル逆変換部907に出力する。
【0055】
チャネル逆変換部907は、合成部906から入力される1画面分の補正後のチャネルデータを、1画面分のベイヤ配列のRAWデータへ復元する(チャネル逆変換)。チャネル逆変換部907の処理は、符号化装置100のチャネル変換部101と逆の処理である。なお、チャネル変換方法が既知でない場合には、符号化RAWデータを格納するデータファイルに例えばメタデータとしてチャネル変換方法を特定可能な情報を符号化時に含めておく。そして、チャネル逆変換部907は、この情報に基づいてチャネル逆変換を行う。チャネル変換方法を特定可能な情報は、エントロピー復号部901がチャネル逆変換部907に供給してもよい。
【0056】
本実施形態の復号装置は、サブバンドデータを不可逆符号化することによって得られた符号化RAWデータを復号する際、サブバンドデータに基づいて、画像の特徴に応じて予め定められた複数の分類のうち、RAWデータに対応する1つを特定する。特徴は、例えば明るさや画像の複雑さなど、不可逆符号化による画質低下の視認性に影響を与える項目の1つ以上とすることができる。そして、復号装置は、分類結果に応じた補正データを用いてRAWデータを補正するようにした。補正データは例えば分類ごとに学習された推論パラメータである。これにより、不可逆符号化に起因する画質の低下を画像の特徴に応じて適切に補正することができ、復号後のRAWデータの品質を高めることができる。
【0057】
●(第2実施形態)
次に、本発明の第2実施形態について説明する。本実施形態に係る復号装置は、特徴判定部904の動作以外は第1実施形態と同様である。したがって、以下では本実施形態における特徴判定部904の動作を重点的に説明する。
【0058】
図12は、本実施形態における特徴判定部904の動作に関するフローチャートである。特徴判定部904は、第1実施形態と同様にサブバンドデータを明度と複雑度に関して
図10(b)に示した4種類に分類したのち、さらに量子化パラメータに応じて2種類に分類する。したがって、本実施形態に係る特徴判定部904は、チャネルデータを8種類に分類する。なお、本実施形態においても分類の項目の種類や数、項目ごとの分割数は単なる例示である。
【0059】
S1201~S1203は
図10のS1001~S1003と同様の処理であるため説明を省略する。
S1204、S1205、S1206、S1207で特徴判定部904は、量子化パラメータ(QpBs)と量子化パラメータの閾値であるQthとを比較し、量子化レンジを判定する。特徴判定部904は、量子化パラメータがQth以上であれば、処理をS1208、S1210、S1212、S1214にそれぞれ進め、量子化パラメータがQth未満であれば、処理をS1209、S1211、S1213、S1215にそれぞれ進める。
【0060】
S1208で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「明・複雑1」に分類して、判定処理を終了する。
S1209で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「明・複雑2」に分類して、判定処理を終了する。
S1210で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「明・平坦1」に分類して、判定処理を終了する。
S1211で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「明・平坦2」に分類して、判定処理を終了する。
S1212で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「暗・複雑1」に分類して、判定処理を終了する。
S1213で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「暗・複雑2」に分類して、判定処理を終了する。
S1214で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「暗・平坦1」に分類して、判定処理を終了する。
S1215で特徴判定部904は、サブバンドの評価を行ったチャネルデータを、「暗・平坦2」に分類して、判定処理を終了する。
【0061】
量子化パラメータを可変とする場合、平坦な領域ほど大きな量子化パラメータを用いるのが一般的である。したがって、量子化パラメータは複雑度に関する項目である。量子化パラメータ(QpBs)がQth以上である場合よりも、Qth未満である場合の方が複雑度が高いと考えられる。
【0062】
なお、本実施形態では、補助データ生成部905のパラメータ選択部1110に8つの分類に応じた推論パラメータを用意しておく。これにより、特徴判定部904による分類結果に応じた適切な推論パラメータを用いてチャネルデータを補正することができる。
【0063】
このように、本実施形態では第1実施形態の効果に加え、チャネルデータを量子化パラメータの大きさによっても分類することにより、画像の特徴に加え、量子化パラメータの大きさに起因する画質低下も考慮してサブバンドデータを補正することができる。
【0064】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0065】
本発明は上述した実施形態の内容に制限されず、発明の精神および範囲から離脱することなく様々な変更および変形が可能である。したがって、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0066】
900…復号装置、901…エントロピー復号部、902…逆量子化部、903…周波数逆変換部、904…特徴判定部、905…補助データ生成部、906…合成部、907…チャネル逆変換部