JP6497981B2 - 画像符号化装置及びその制御方法 - Google Patents

画像符号化装置及びその制御方法 Download PDF

Info

Publication number
JP6497981B2
JP6497981B2 JP2015042975A JP2015042975A JP6497981B2 JP 6497981 B2 JP6497981 B2 JP 6497981B2 JP 2015042975 A JP2015042975 A JP 2015042975A JP 2015042975 A JP2015042975 A JP 2015042975A JP 6497981 B2 JP6497981 B2 JP 6497981B2
Authority
JP
Japan
Prior art keywords
coefficient
encoding
unit
subband
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015042975A
Other languages
English (en)
Other versions
JP2016163278A (ja
Inventor
正輝 北郷
正輝 北郷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015042975A priority Critical patent/JP6497981B2/ja
Publication of JP2016163278A publication Critical patent/JP2016163278A/ja
Application granted granted Critical
Publication of JP6497981B2 publication Critical patent/JP6497981B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像データを符号化する画像符号化技術に関するものである。
画像データの符号化方式の一つとしてJPEG−LSがある。JPEG−LSは、ロスレス符号化とニアロスレス符号化を選択でき、符号化対象画素の周囲画素の状態に基づいて予測符号化とランレングス符号化を切り替えることで高い圧縮率を実現している。予測符号化は、符号化対象画素の画素値を周囲画素から予測し、予測誤差を符号化する。JPEG−LSにおけるランレングス符号化は、同一画素値のラン長(連続数)を符号化する。予測符号化とランレングス符号化を用いる他の方法として、複数の予測方法の識別情報と、そのラン長(連続値)と、予測誤差を選択して符号化する方法も知られている(たとえば、特許文献1)。
特許第3885413号公報
予測符号化とランレングス符号化とを比べたとき、同じデータが連続すればするほど後者の方が前者に対して圧倒的に符号化効率が高いのは明らかである。しかし、これまでの符号化技術では、ウェーブレット変換で得られたサブバンドに対して一律の同じ判定基準で、いずれの符号化を利用するかを決定しており、まだ改善の余地があった。
本発明は係る点に鑑み、ウェーブレット変換を利用しながらも、より高い符号化効率を実現する技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データをウェーブレット変換して、複数のサブバンドを生成する変換手段と、
サブバンドを構成する係数をラスタスキャン順に入力し、着目係数の予測値を当該着目係数の周囲に位置する符号化済の係数から求めることで、前記着目係数を予測符号化する第1の符号化手段と、
サブバンドにおける係数をラスタスキャン順に入力し、同じ係数の連続数を表すランを求め符号化する第2の符号化手段と、
前記着目係数を前記第1の符号化手段で符号化するか、前記着目係数をランの起点として前記第2の符号化手段で符号化するかを、前記着目係数の周囲に位置し符号化済の係数から判定する複数の判定手段と、
ここで、前記複数の判定手段それぞれは、前記着目係数の周囲に位置し互いに異なる符号化済の係数の組を参照して判定する、
着目サブバンドの係数を符号化する際に、当該着目サブバンドの種類に従って前記複数の判定手段のいずれかを選択する選択手段とを備え、
前記選択手段で選択した判定手段に従って、前記着目サブバンドの係数を前記第1の符号化手段、前記第2の符号化手段を用いて符号化することを特徴とする。
本発明によれば、ウェーブレット変換を利用しながらも、より高い符号化効率を実現することが可能になる。
画像符号化装置の構成の一例を示す図。 符号化部の構成の一例を示す図。 情報処理部のハードウェア構成を示す図。 カメラの撮像部の構成の一例を示す図。 符号化部の処理を示すフローチャート。 サブバンド符号化部の処理を示すフローチャート。 第1モード判定部の処理を示すフローチャート。 第2モード判定部の処理を示すフローチャート。 ウェーブレット変換によるサブバンド分割を説明する図。 着目係数と周辺係数の位置関係を示す図。 ゴロム・ライス符号化を説明する図。 第2の実施形態の第2モード判定部の処理を示すフローチャート。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の一つである。
[第1の実施形態]
第1の実施形態は、画像データをウェーブレット変換で複数のサブバンドに分割し、サブバンド分割されたウェーブレット係数を予測符号化、及び、ランレングス符号化で符号化する画像符号化装置に適用される。以下、本実施形態に示す画像符号化装置について説明する。
第1の実施形態では、画像符号化装置をカメラに適用した例を説明する。図1はそのカメラ100のブロック構成図である。カメラ100は、操作部101と、撮像部102と、情報処理部109と、記憶部107と、I/Oインターフェース108とを有している。情報処理部109は、取得部103、画像処理部104、符号化部105、出力部106を有する。
図4(a)はカメラ100の正面図である。図4(a)に示すように、カメラ100は撮像部102を備えている。図4(b)は撮像部102の内部構成を示す図である。撮像部102は、ズームレンズ401、フォーカスレンズ402、403、開口絞り404、シャッター405を有している。また光学ローパスフィルタ406、iRカットフィルタ407、カラーフィルタ408、撮像素子409およびA/D変換部410を有している。ユーザは絞り404を調整することにより、撮像部102に入射される入射光量を調節できる。撮像素子409は、CMOSやCCDなどの受光素子である。撮像素子409で被写体の光量を検知すると、検知された光量がA/D変換部410によってデジタル値に変換され、デジタルデータとして情報処理部109へと出力される。
図3は情報処理部109の内部構成を示す図である。情報処理部109は、CPU301、RAM302、ROM303を有し、各構成部はシステムバス304により相互に接続されている。ROM303にはCPU301が実行するプログラムや各種データが記憶され、RAM302はCPU301がプログラムを実行した際のワークエリア、各種バッファとして利用される。CPU301は、ROM303に格納されたプログラムを実行し、RAM302をワークエリアやバッファとして利用する。これにより、先に示した図1の取得部103、画像処理部104、符号化部105、出力部106として機能すると共に、装置全体の制御を司ることになる。なお、ここでは、各構成要素を、CPU301が実行することで実現するものとしたが、同等の処理を果たす専用の回路等で実現しても構わない。
操作部101は、カメラ本体に備えられたボタンやダイヤル、タッチパネルなどの入力装置であり、ユーザが操作して、撮影の開始、停止および撮影条件の設定などの命令を行える。記憶部107は、撮像部102により取得されたRAW画像データ、および、画像データを保存することができる、メモリカードなどの不揮発性の記憶媒体である。I/Oインターフェース108はユニバーサルシリアルバス(USB)によって実装されたシリアルバス接続を利用でき、対応するUSBコネクタを有する。もちろん、光ファイバーによるLAN接続や、無線接続などを利用しても良い。
表示部305は、撮影画像や文字の表示を行う。表示部305には一般的に液晶ディスプレイが用いられる。またタッチパネル機能を有していても良く、その場合はタッチパネルを用いたユーザ指示を操作部101の入力として扱うことも可能である。
以下、本実施形態に示す情報処理部109の処理について説明する。ユーザの操作部101に対する撮像指示に基づき、取得部103は、撮像部102から出力されたRAW画像データを取得し、画像処理部104にRAW画像データを出力する。画像処理部104は、RAW画像データを、デモザイク処理して、通常の1画素がRGBの3成分で構成される画像データを生成し、符号化部105に画像データを出力する。符号化部105は、画像データの符号化処理を行う。本実施形態では1画素がRGB各8ビットで表現されるものとし、色成分を単位にモノクロ画像として符号化する場合を例に説明する。つまり、R成分のモノクロ多値画像、G成分のモノクロ多値画像、B成分のモノクロ多値画像をそれぞれ独立して符号化する。なお、符号化対象の画像データはRGB形式に限らず、他の色空間やRAW画像データであっても構わない。例えば、1画素がY、Cb、Crでそれぞれが8ビットで構成される場合には、各成分を単位にモノクロ画像として符号化すれば良い。また、RAW画像データに適用する場合、撮像部102の撮像素子はベイヤ配列(R,G0、G1,Bの色に対応する2×2個の撮像素子の組の配列)となっている。また、各撮像素子からの信号を14ビットで表現している。この場合、R成分で構成されるモノクロ多値画像、G0成分で構成されるモノクロ多値画像、G1成分で構成されるモノクロ多値画像、B成分で構成されるモノクロ多値画像をそれぞれ符号化する。従って、本願は、画像の色空間の種類、画像を構成する色成分の種類、ビット数によって限定されるものではない。符号化対象の画像がR,G,Bの3成分で各8ビット(256階調)とするのは、あくまで理解を容易にするためであると理解されたい。
本実施形態に示す符号化部105の処理について説明する。図2は符号化部105の内部構成であり、図5は符号化部105で行われる1つの色成分(実施形態では、R,G、Bのいずれか)の画像データに対する符号化処理を示すフローチャートである。つまり、実際には図5の処理を3回実行する。そして、3回行った結果得られた符号データをまとめて1つのファイルが構成されることになる。
色成分入力部201は、画像処理部104から出力された画像データにおける1つの成分の画像データをモノクロ多値画像として入力する(ステップS501)。
ウェーブレット変換部202は、色成分入力部201から供給されたモノクロ画像データを入力として、ウェーブレット変換を行う。画像データはウェーブレット変換により複数の分解レベルに分けられ、各分解レベルは複数のサブバンドから構成される。分解レベルは、低周波成分を再帰的に水平・垂直方向に2分割した分割回数を示しており、分解レベルが1増えると水平・垂直解像度は半分になる。
図9は、ウェーブレット変換で3回分解したときの例を示している。分解レベル1のサブバンドはLL1、HL1、LH1、HH1、分解レベル2のサブバンドはLL2、HL2、LH2、HH2、分解レベル3のサブバンドはLL3、HL3、LH3、HH3と表される。なお、2回目以降のウェーブレット変換では、直前のウェーブレット変換で得られたサブバンドLLをその変換対象としているので、サブバンドLL1、LL2は省略され、最後のウェーブレット変換で得られたサブバンドLLが残ることになる。また、例えば、HL2の水平・垂直解像度はHL1の半分となる。サブバンドLHは、ウェーブレット変換が適用された局所領域の水平方向の周波数特性(水平方向成分)を示す。またサブバンドHLは垂直方向の周波数特性(垂直方向成分)、サブバンドHHは斜め方向の周波数特性(斜め方向成分)を示す。サブバンドLLは低周波成分である。本実施形態では、国際標準であるJPEG2000(ISO/IEC15444|ITU−T T.800)でも利用されている実数型の9/7フィルタを用いるものとするが、これに限定されるものではない。整数型の5/3フィルタ等、この他のウェーブレット変換フィルタを用いても構わない。またウェーブレット変換の処理単位については、ライン単位の処理であっても、画像単位の処理であっても構わない。
ウェーブレット変換部202は、ウェーブレット変換された各サブバンドのウェーブレット係数を量子化部203に出力する(ステップS502)。
量子化部203は、ウェーブレット変換部202から供給された各サブバンドのウェーブレット係数を入力し、サブバンド毎に異なるステップ幅で量子化する。また、サブバンドのライン毎に異なるステップ幅で量子化を行うなど他の量子化方法を用いても構わない。量子化部203は、量子化後のウェーブレット係数を、サブバンド毎にサブバンド符号化部216に出力する(ステップ503)。
以降、サブバンド符号化部216の処理になる。詳細は後述するが、このサブバンド符号化部216はサブバンドを単位に符号化する。
まず、ステップS504で、ウェーブレット変換で分解した回数を変数iに設定する。本実施形態では、ウェーブレット変換で3回分解した例を説明し、変数i=3と設定する。なお、ウェーブレット変換回数は、ユーザが適宜、操作部101より変更できるものとする。また、図5のフローチャートでは、変数iを用いてサブバンドLL(i)、HL(i)、LH(i)、HH(i)を一般化しているが、例えばHL(3)は図9におけるHL3と同じサブバンドを示しているものと理解されたい。
ステップS505では、サブバンド符号化部216は、サブバンドLL(3)(図9のLL3)のサブバンド符号化を行う。このため、サブバンド符号化部216は量子化部203からサブバンドLL3の量子化後のウェーブレット変換係数を受信し、符号化を行う。サブバンド符号化部216は、この符号化処理で得られた符号化データをRAM302に予め確保されたバッファ領域に格納する。
この後、ステップS506にて、サブバンド符号化部216は、変数iが0であるか否かを判定する。ここでは、初期段階、すなわち、i=3であるものとする。従って、処理はステップS507に処理を進める。
このステップS507では、サブバンド符号化部216は、サブバンドHL(3)の量子化後のウェーブレット変換係数を量子化部203より受信し、サブバンド符号化を行い、得られた符号化データを上記のバッファ領域に格納する。ステップS508では、サブバンド符号化部216は、サブバンドLH(3)の量子化後のウェーブレット変換係数を量子化部203より受信し、サブバンド符号化を行い、得られた符号化データを上記のバッファ領域に格納する。そして、ステップS509では、サブバンド符号化部216は、サブバンドHH(3)の量子化後のウェーブレット変換係数を量子化部203より受信し、サブバンド符号化を行い、得られた符号化データを上記のバッファ領域に格納する。
この後、ステップS510で、ウェーブレット係数で分解した回数iを1減じる。ここでは、この結果、変数i=2となる。そして、ステップS506に処理を戻す。ステップS506において、変数i=0であると判定されるまで、上記処理を行う。
変数i=0になったと判定された場合、RAM302のバッファ領域には、LL(3)、HL(3)、LH(3)、HH(3)、HL(2)、…、HH(1)の計10個のサブバンドの符号化データが格納される(ステップS511)。
上記は1つの色成分の符号化処理であったが、先に説明したように、実施形態ではR、G、Bの各色成分を単位に符号化するので、符号化部105は上記処理を3回実行することになる。図1に戻って、符号化部105は、全色成分の符号化データを出力部106に送出する。出力部106は、供給された符号化データに、適当なヘッダを付加して画像ファイルを構成し、圧縮画像データファイルとして記憶部107に出力し、保存する。保存された圧縮画像データファイルは、I/Oインターフェース108を介して、カメラ外のデバイスに出力されても構わない。
以上、画像データをウェーブレット変換でサブバンド分割し、サブバンド毎に符号化するときの全体的な処理フローについて説明した。次に、各サブバンドのウェーブレット係数を符号化するサブバンド符号化部216の処理の詳細について説明する。
サブバンド符号化部216の内部構成を図2に示し、サブバンド符号化部216で行われる処理を示したフローチャートを図6に示す。
まずステップS601で、サブバンド符号化部216はサブバンド番号Sを入力する。サブバンド番号Sはサブバンドを識別する番号であり、符号化の対象となるサブバンドがLL成分、HL成分、LH成分、HH成分の何れであるかを識別するためのものである。例えば、LL成分にS=1、HL成分にS=2、LH成分にS=3、HH成分にS=4などの識別番号を設定する。なお、量子化部203は、サブバンドを単位に量子化後のウェーブレット変換係数をサブバンド符号化部216に出力する際に、その先頭にサブバンド番号Sを付加するものとする。
ステップS602で、サブバンド符号化部216は、サブバンド内のウェーブレット係数が全て符号化されたかを判定する。全て符号化された場合は符号化処理を終了し、符号化されていない係数がある場合は、ステップS603に移る。ステップS603で、サブバンド符号化部216は、着目サブバンドのウェーブレット係数をライン単位に入力する。そして、ステップS604において、サブバンド符号化部216は、入力したラインにおける左端に位置するウェーブレット係数を符号化対象の着目係数として設定する。
図10は着目係数とその周辺係数の位置関係を示している。ここでは、xが符号化対象の着目係数である。図示のごとく、参照範囲は、着目係数xが位置するラインと、その直前のラインの2ラインにおける、着目係数xの周囲の係数である。また、ラスタスキャン順に係数を符号化していくため、左係数a、左上係数c、上係数b、右上係数d、着目係数xから2つ分だけ左に位置する係数e、着目係数xから3つ分だけ左に位置する係数fは、符号化済みの係数である。なお、着目係数xがサブバンドの最初のラインの左端に位置するとき、係数a乃至fは実在しない。また、着目係数xがサブバンドの2ライン目以降ラインの左端に位置するときには、係数a、c、e、fも実在しない。このように実在しない係数については、所定の値(たとえば0)を持つものと見なす。また、既に符号化済み位置の係数を参照するため、サブバンド符号化部216は例えば2ライン分のバッファメモリを有する。
ステップS606にて、サブバンド符号化部216は、ライン内のウェーブレット係数が全て符号化されたかを判定する。言い換えれば、ライン終端(右端)の係数の符号化を終えたか否かを判定する。ライン中の全て係数の符号化を終えたと判定した場合には、ステップS605で次のラインの処理に移る。符号化されていない係数が存在する場合にはステップS607に移る。
ステップS607には、モード選択部204は、サブバンドに応じた符号化モード判定により、符号化モードを選択する。選択すべき符号化モードには、予測符号化モード、及び、ランレングスモードがある。また、ライン左端の係数が着目係数として設定されるとき、ラン長RL=0が初期設定される。ラン長RLが0以外、または、周囲係数の状態がランレングス符号化条件を満たしている場合に、符号化モードはランレングスモードに設定される。ラン長RLが0のとき、以下の処理によりランレングス符号化条件を満たしているかを判定する。
モード選択部204は、第1モード判定部205、第2モード判定部206の選択を行う。ステップS601で入力されたサブバンド番号Sに基づいて、サブバンドがLL成分、HL成分、HH成分であれば第1モード判定部205を選択する。またサブバンドがLH成分であれば第2モード判定部206を選択する。第2モード判定部206では、ライン左端の係数が着目係数として設定されるとき、水平ランカウントHR=0が初期設定される。
ここで、第1モード判定部205で行われる判定処理(符号化対象サブバンドがLL,HL,HHのいずれかの場合の判定処理)を、図7のフローチャートに従って説明する。
ステップS701で、着目係数xを取得する。そして、ステップS702で、ランレングスモードの判定を行う。図10に示す如く、左係数a、左上係数c、上係数b、右上係数dを参照する。サブバンドLLが符号化対象である場合には、a=b=c=dのとき、着目係数xについてランレングス符号化条件を満たすと判定する。また、サブバンドHLまたはHHである場合には、a=b=c=d=0のとき、ランレングス符号化条件を満たすと判定する。高周波成分ではウェーブレット係数値に0が多く出現するため、係数値0に限定したランレングスモード判定を用いることで符号化効率が高くなるためである。ステップS702のランレングスモード判定は、着目係数xのラインだけでなく、直前のラインの係数(左上係数をc、上係数をb、右上係数をd)を参照するため、2ライン参照モード判定と呼ぶ。
ステップS703で、ランレングス符号化条件を満たしているかを判定する。ランレングス符号化条件を満たしている場合は、ステップS705でランレングスモードに設定する。またランレングス符号化条件を満たしていない場合は、ステップS704で予測符号化モードに設定する。第1モード判定部205で行われる処理はJPEG−LSと同様の処理となる。
次に第2モード判定部206で行われる処理(符号化対象サブバンドがLHの場合の判定処理)を示したフローチャートを図8に示す。
ステップS801で、第2モード判定部206は、着目係数xを取得する。ステップS802で、第2モード判定部206はランレングスモードの判定を行う。図10に示す如く、左係数a、左上係数c、上係数b、右上係数dを参照する。そしてa=b=c=d=0のとき、第2モード判定部206は、着目係数xがランレングス符号化条件を満たすと判定する。ステップS702と同様に、ステップS802のランレングスモード判定は、着目係数xのラインと、その直前のラインの係数を参照するため、2ライン(複数ライン)参照モード判定と呼ぶ。
ステップS803で、第2モード判定部206は、ステップS801の結果を受けて、ランレングス符号化条件を満たしているかを判定する。ランレングス符号化条件を満たしている場合は、ステップS808でランレングスモードに設定する。またランレングス符号化条件を満たしていない場合は、ステップS804の処理に移る。
ステップS804で、ステップS802とは異なるランレングスモードの判定を行う。着目係数xと同一ラインのみを参照し、係数値0の連続数(水平ランカウント)を判定条件とする。水平ランカウントHRが所定数(閾値)以上のとき、ランレングス符号化条件を満たす。ここでは閾値は3と設定している。図10を用いて説明すると、左係数a、2つ左の係数e、3つ左の係数fとしたとき、a=e=0、fが非ゼロの場合、水平ランカウントHRは2となる。ステップS804のランレングスモード判定は、着目係数xに対して同一ラインの係数のみを参照するため、ここでは1ライン参照モード判定と呼ぶ。
ステップS805では、第2モード判定部206は、ステップS804の結果結果を受けて、着目係数xがランレングス符号化条件を満たしているかを判定する。ランレングス符号化条件を満たしている場合は、ステップS808でランレングスモードに設定する。またランレングス符号化条件を満たしていない場合は、ステップS806で予測符号化モードに設定する。
ステップS806で予測符号化モードに設定された場合、ステップS807で水平ランカウントHRを更新する。着目係数xが0の場合、水平ランカウントHRに1を加算する。また着目係数xが0以外の係数値の場合、水平ランカウントHRを0に初期化する。
またステップS808でランレングスモードに設定された場合、ステップS809で水平ランカウントHRを0に初期化する。これは、着目係数xの左に位置する係数、a,e,fは既に符号化済みであり、尚且つ、着目係数xをランの起点とするためである。
以上がステップS607の処理である。サブバンドLLは、係数値0に限定しない2ライン参照モード判定、サブバンドHL、HHは、係数値0に限定した2ライン参照モード判定を用いる。サブバンドLHは、ウェーブレット変換が適用された局所領域の水平方向の周波数特性(水平方向成分)を示すため、ウェーブレット係数のライン間の相関が低い。そのため、係数値0に限定した2ライン参照モード判定に加え、上ラインを参照しない1ライン参照モード判定を加えることで、ランレングスモードの判定精度が向上し、符号化効率の改善が図れることになる。また1ライン参照モードは、水平ランカウントHRを更新するだけで、モード判定できるため、簡易な演算で実現できる。ここではサブバンドLHに対して、1ライン参照モード判定を加えたが、サブバンドHL、HHに対して同様の処理を行っても構わない。
図6の処理の説明に戻る。ステップS608にて、着目係数xに対して、ランレングスモードに設定された場合には、処理はステップS612に進み、ランレングス符号化部213によるランレング符号化処理を開始する。
一旦、ステップS612に処理が開始されると、ランレングス符号化部213は、着目係数xが左隣の係数a(着目係数に対する予測値)と同じ値である限り、ラン長RLを1増加させ、右隣の係数を新たな着目係数xとして読み込みを続ける。ただし、着目係数xが直前の係数aと異なる値となった場合、或いは、着目係数xが左隣の係数aと同じであるものの、着目係数xがラインの終端(右端)位置に達した場合には、それまで計数していたラン長RLの符号語を出力し、ラン長RLは初期化する。そして、ステップS606に戻る。なお、ランレングス符号化については、JPEG−LSと同様の処理のため、ここでの詳細説明は割愛する。
一方、ステップS609に処理が移った場合には、予測変換選択部207で、第1予測変換部208、第2予測変換部209、第3予測変換部210、第4予測変換部211の選択を行う。ステップS601で入力されたサブバンド番号Sに基づいて、サブバンドがLL成分であれば第1予測変換部208を選択する。またサブバンドがHL成分であれば第2予測変換部209、LH成分であれば第3予測変換部210、HH成分であれば第4予測変換部211を選択する。
第1予測変換部208は、予測変換にMED(Median Edge Detection)予測を用いた予測値p、及びそれを用いた予測誤差を算出する。図10の周辺係数を用いた予測値pの算出式は以下の通りである。
Figure 0006497981
ここで予測誤差(差分)は以下のようにして算出する。
予測誤差 = 着目係数xの係数値 ― 予測値p
第2予測変換部209は、予測変換に垂直方向の予測を用いる。HL成分は垂直方向の周波数特性を有することから、垂直方向予測が符号化効率の向上に有効である。図10の周辺係数を用いた予測値p、予測誤差は以下の通りである。
p=b
予測誤差 = 着目係数xの係数値 ― 予測値p
第3予測変換部210は、予測変換に水平方向の予測を行う。LH成分は水平方向の周波数特性を有することから、水平方向予測が符号化効率の向上に有効である。図10の周辺係数を用いた予測値p、予測誤差は以下の通りである。
p=a
予測誤差 = 着目係数xの係数値 ― 予測値p
第4予測変換部211は、予測変換を行わない。即ち、予測誤差は以下の通りである。 予測誤差 = 着目係数xの係数値
図2に戻って、第1予測変換部208、第2予測変換部209、第3予測変換部210、第4予測変換部211は、算出した予測誤差は、ゴロム符号化部212に出力する。ゴロム符号化部212で、予測誤差をゴロム・ライス符号化する(ステップS610)。ゴロム符号化部212は、まず予測誤差(Diff)を非負の整数値(MV)に変換する。変換式は以下の通りである。
Figure 0006497981
次に、ゴロム符号化部212は、パラメータkを用いて非負の整数値(MV)をゴロム・ライス符号化する。ゴロム・ライス符号化の手順は以下の通りである。
(1)MVを2進数表現して、MVをkビット右シフトした値の0を並べ、その後に1を付加する。
(2)上記で生成したビット列の後ろに、MVの下位kビットを取りだして付け加える。
図11にゴロム・ライス符号化のパラメータkと非負の整数値(MV)と符号語の関係を示す。ゴロム・ライス符号化の構成はこれに限定されるものではなく、例えば、0と1を反対にして符号を構成しても構わないし、上記手順で述べた(1)と(2)の順番を入れ替えて符号を構成しても良い。なお、ここでは符号化パラメータkの決定方法については特に特定しないが、符号化側と復号側で同じパラメータを利用できれば良い。例えば、予めサブバンド毎に適切と思われるパラメータkを選定する方法でも良いし、符号化の過程で動的に変化するようにしても構わない。
例えば、パラメータk=0の場合を考える。予測誤差(Diff)が−2のとき、非負の整数値(MV)は3となり、予測誤差(Diff)が+2のとき、非負の整数値(MV)は4となる。非負の整数値(MV)が3のとき、符号語は0001となり4ビットで表現され、非負の整数値(MV)が4のとき、符号語は00001となり5ビットで表現される。
上記のようにして、ゴロム符号化部212による着目係数xに対する符号語の出力を終えると、処理はステップS611で着目係数xの右隣の係数を新たな着目係数とし、ステップS606に戻る。
図2に戻って、符号生成部214で、サブバンドのウェーブレット係数の符号データを出力する。
以上説明したように、本実施形態によれば、サブバンド分割されたウェーブレット係数に対して、サブバンドに応じて異なるランレングスモード判定処理を用いることで符号量を削減することができる。具体的には、水平方向の周波数特性(水平方向成分)を示すサブバンドLHに対して、直前のラインを参照しない1ライン参照モード判定を加える。その結果、ランレングス符号化が効率よくと推定される状況下での、ランレングス符号化へ移行し易くなり、簡易な演算で符号化効率の改善を図れるようになる。
[第2の実施形態]
上記の第1の実施形態は、画像データをウェーブレット変換で複数のサブバンドに分割し、サブバンド分割されたウェーブレット係数を予測符号化、及び、ランレングス符号化で符号化する画像符号化装置に適用される。水平方向の周波数特性(水平方向成分)を示すサブバンドLHに対して、上ラインを参照しない1ライン参照モード判定を加えることで、簡易な演算で符号化効率の改善を図れることを説明した。
第2の実施形態も、画像データをウェーブレット変換で複数のサブバンドに分割し、サブバンド分割されたウェーブレット係数を予測符号化、及び、ランレングス符号化で符号化する画像符号化装置に適用される。第2の実施形態は、サブバンドに応じた符号化モード判定により符号化効率を維持しながら、簡易な演算で使用メモリを削減する方法を説明する。
本第2の実施形態における装置構成は、上記第1の実施形態の図1乃至図3と同じであり、その基本となる処理も同じである。本第2の実施形態と第1の実施形態の違いは、図6のステップS607の処理内容にある。すなわち、本第2の実施形態におけるモード選択部204で、第1モード判定部205、第2モード判定部206の選択を行う際の基準が、第1の実施形態と異なる。
図6のステップS601にて、モード選択部204は、入力されたサブバンド番号Sに基づいて、サブバンドがLL成分であれば第1モード判定部205を選択する。また、モード選択部204は、着目サブバンドがサブバンドLL以外のLH、HL、HHのいずれかであれば第2モード判定部206を選択する。第2モード判定部206では、ライン左端の係数が着目係数として設定されるとき、水平ランカウントHR=0が初期設定される。
第1モード判定部205については、第1の実施形態と共通するので、ここでの説明は省略する。そこで、第2モード判定部206で行われる処理を、図12のフローチャートに従って説明する。
第2モード判定部206は、ステップS1201で、着目係数xを取得する。そして、第2モード判定部206は、ステップS1202でランレングスモードの判定を行う。着目係数xと同一ラインのみを参照し、係数値0が連続する数(水平ランカウント)を判定条件とする。水平ランカウントHRが閾値以上のとき、ランレングス符号化条件を満たす。ここでは閾値は3と設定している。図10を用いて説明すると、左係数a、2つ左の係数e、3つ左の係数fとしたとき、(a=e=0、fが0以外の係数値)の場合、水平ランカウントHRは2となる。ここでは、係数値0が連続する数を判定条件としたが、左係数aと同じ係数値が連続する数を判定条件とするなど、係数値は0に限定されるものではない。
ステップS1202のランレングスモード判定では、着目係数xと同一ラインの係数のみを参照するため、ここでは1ライン参照モード判定と呼ぶ。
第2モード判定部205は、ステップS1203にて、ステップS1202の判定結果を受けて、ランレングス符号化条件を満たしているかを判定する。ランレングス符号化条件を満たしている場合は、ステップS1206でランレングスモードに設定する。またランレングス符号化条件を満たしていない場合は、ステップS1204で予測符号化モードに設定する。
ステップS1204で予測符号化モードに設定された場合、第2モード判定部205は、ステップS1205で水平ランカウントHRを更新する。着目係数xが係数値0の場合、水平ランカウントHRに1を加算(カウントアップ)する。また着目係数xが0以外の係数値の場合、水平ランカウントHRを0に初期化(リセット)する。
またステップS1206でランレングスモードに設定された場合、第1モード判定部205は、ステップS1207にて水平ランカウントHRを0に初期化する。
以上が第2の実施形態におけるステップS607の処理である。ステップS607以降は、第1の実施形態と同じである。サブバンドのLH成分、HL成分、HH成分は高周波成分であり、高い圧縮率では係数値0が多くなるため、多くの領域でランレングス符号化が適用される。そのため、1ライン参照モード判定のみでモード判定を行っても、符号化効率を維持できる。加えて1ライン参照モード判定は、直前のラインを参照する必要がないため、直前ラインの係数情報を保持しておく必要がなく、メモリ使用量を削減できる。また水平ランカウントHRを更新するだけで判定できるため、簡易な演算で実現できる。
上述の符号化処理により本第2の実施形態によれば、サブバンド分割されたウェーブレット係数に対して、サブバンドに応じて異なるランレングスモード判定処理を用いることで符号化効率を維持してメモリ使用量を削減することができる。具体的には、サブバンドの高周波成分であるLH成分、HL成分、HH成分に対して、1ライン参照モード判定のみでモード判定を行う。加えて上ラインの係数情報を用いない予測変換を用いることで、簡易な演算で符号化効率を維持してメモリ使用量を削減できる。
(その他の実施例)
なお、実施形態では、画像符号化装置として、カメラに搭載する符号化部に適用した例を説明したが、対象となる装置はカメラに限らず、画像データを入力するものであればその種類は問わず、適用可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
100…カメラ、101…操作部、102…撮像部、103…取得部、104…画像処理部、105…符号化部、106…出力部、107…記憶部、108…I/O、201…色成分入力部、202…ウェーブレット変換部、203…量子化部、204…モード選択部、205…第1モード判定部、206…第2モード判定部、207…予測変換選択部、208…第1予測変換部、209…第2予測変換部、210…第3予測変換部、211…第4予測変換部、212…ゴロム符号化部、213…ランレングス符号化部、214…符号生成部、215…符号出力部

Claims (11)

  1. 画像データを符号化する画像符号化装置であって、
    符号化対象の画像データをウェーブレット変換して、複数のサブバンドを生成する変換手段と、
    サブバンドを構成する係数をラスタスキャン順に入力し、着目係数の予測値を当該着目係数の周囲に位置する符号化済の係数から求めることで、前記着目係数を予測符号化する第1の符号化手段と、
    サブバンドにおける係数をラスタスキャン順に入力し、同じ係数の連続数を表すランを求め符号化する第2の符号化手段と、
    前記着目係数を前記第1の符号化手段で符号化するか、前記着目係数をランの起点として前記第2の符号化手段で符号化するかを、前記着目係数の周囲に位置し符号化済の係数から判定する複数の判定手段と、
    ここで、前記複数の判定手段それぞれは、前記着目係数の周囲に位置し互いに異なる符号化済の係数の組を参照して判定する、
    着目サブバンドの係数を符号化する際に、当該着目サブバンドの種類に従って前記複数の判定手段のいずれかを選択する選択手段とを備え、
    前記選択手段で選択した判定手段に従って、前記着目サブバンドの係数を前記第1の符号化手段、前記第2の符号化手段を用いて符号化することを特徴とする画像符号化装置。
  2. 前記複数の判定手段には、
    前記着目係数が位置するラインとその直前のラインを含む2つのラインに位置する複数の係数を参照して前記第1の符号化手段、前記第2の符号化手段のいずれを用いるかを判定する第1の判定手段、
    前記着目係数と同じラインに位置し、前記着目係数の直前までの所定数の係数を参照して前記第1の符号化手段、前記第2の符号化手段のいずれを用いるかを判定する第2の判定手段、
    が含まれることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記第1の判定手段は、
    前記2つのラインに位置し、前記着目係数の周囲に位置する複数の符号化済の係数が、互い等しいことを表す第1の条件を満たす場合、前記第2の符号化手段を用いると判定し、当該第1の条件を満たさない場合には前記第1の符号化手段を用いると判定し、
    前記第2の判定手段は、
    前記第1の条件を満たす場合、又は、前記着目係数と同じラインに位置し、前記着目係数の直前までの所定数の係数が同じであることを表す第2の条件を満たす場合に、前記第2の符号化手段を用いると判定し、
    前期第1の条件、前記第2の条件のいずれも満たさない場合に前記第1の符号化手段を用いると判定する
    ことを特徴とする請求項2に記載の画像符号化装置。
  4. 前記第1の判定手段は、
    前記2つのラインに位置し、前記着目係数の周囲に位置する複数の符号化済の係数が互い等しいことを表す第1の条件を満たす場合、前記第2の符号化手段を用いると判定し、当該第1の条件を満たさない場合には前記第1の符号化手段を用いると判定し、
    前記第2の判定手段は、
    前記着目係数と同じラインに位置し、前記着目係数の直前までの所定数の係数が同じであることを表す第2の条件を満たす場合に、前記第2の符号化手段を用いると判定し、当該第2の条件を満たさない場合に前記第1の符号化手段を用いると判定する
    ことを特徴とする請求項2に記載の画像符号化装置。
  5. 前記第1の符号化手段は、
    前記着目係数と当該着目係数の直前の係数が異なるときにカウントをリセットし、前記着目係数とその直前の係数が同じである場合にカウントをアップするカウント手段を含み、
    前記第2の判定手段は、前記カウント手段でカウントされた値を参照して、前記第2の条件が満たされるかを判定することを特徴とする請求項3又は4に記載の画像符号化装置。
  6. 前記選択手段は、前記着目サブバンドがLL、HL、HHのいずれかのサブバンドである場合に前記第1の判定手段を選択し、前記着目サブバンドがLHのサブバンドである場合に第2の判定手段を選択することを特徴とする請求項2乃至5のいずれか1項に記載の画像符号化装置。
  7. 前記選択手段は、前記着目サブバンドがLLのサブバンドである場合に前記第1の判定手段を選択し、前記着目サブバンドがHL、LH、HHのいずれかのサブバンドである場合に第2の判定手段を選択することを特徴とする請求項2乃至5のいずれか1項に記載の画像符号化装置。
  8. 前記第1の符号化手段は、
    前記着目係数が属するサブバンドの種類に応じて予測値を求める予測手段と、
    前記着目係数と前記予測値との差分である誤差をゴロム符号化するゴロム符号化手段とを有し、
    前記第2の符号化手段は、
    同じ係数が連続する限りランを計数し、同じ係数が連続したまま前記着目係数の位置がラインの終端に達したとき、又は、前記着目係数がその直前の係数と異なったとき、計数したランの符号語を出力するランレングス符号化手段を有する
    ことを特徴とする請求項1乃至7のいずれか1項に記載の画像符号化装置。
  9. コンピュータが読み込み実行することで、前記コンピュータに、請求項1乃至8のいずれか1項に記載の装置が有する各手段として機能させるためのプログラム。
  10. 請求項9に記載のプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
  11. 画像データを符号化する画像符号化装置の制御方法であって、
    変換手段が、符号化対象の画像データをウェーブレット変換して、複数のサブバンドを生成する変換工程と、
    第1の符号化手段が、サブバンドを構成する係数をラスタスキャン順に入力し、着目係数の予測値を当該着目係数の周囲に位置する符号化済の係数から求めることで、前記着目係数を予測符号化する第1の符号化工程と、
    第2の符号化手段が、サブバンドにおける係数をラスタスキャン順に入力し、同じ係数の連続数を表すランを求め符号化する第2の符号化工程と、
    選択手段が、着目サブバンドの係数を符号化する際に、当該着目サブバンドの種類に従って複数の判定工程のいずれかを選択する選択工程とを有し、
    前記複数の判定工程のそれぞれは、前記着目係数の周囲に位置し、互いに異なる符号化済の係数の組を参照して、前記着目係数を前記第1の符号化工程で符号化するか、前記着目係数をランの起点として前記第2の符号化工程で符号化するか判定する;
    前記選択工程で選択した判定工程に従って、前記着目サブバンドの係数を前記第1の符号化工程、前記第2の符号化工程を用いて符号化することを特徴とする画像符号化装置の制御方法。
JP2015042975A 2015-03-04 2015-03-04 画像符号化装置及びその制御方法 Active JP6497981B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015042975A JP6497981B2 (ja) 2015-03-04 2015-03-04 画像符号化装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015042975A JP6497981B2 (ja) 2015-03-04 2015-03-04 画像符号化装置及びその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019047337A Division JP6632752B2 (ja) 2019-03-14 2019-03-14 画像符号化装置及び方法及びプログラム及び記憶媒体

Publications (2)

Publication Number Publication Date
JP2016163278A JP2016163278A (ja) 2016-09-05
JP6497981B2 true JP6497981B2 (ja) 2019-04-10

Family

ID=56847388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015042975A Active JP6497981B2 (ja) 2015-03-04 2015-03-04 画像符号化装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP6497981B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018114813A1 (en) 2016-12-19 2018-06-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding or decoding using a subband dependent prediction adaption for gcli entropy coding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115782A (ja) * 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
WO2011013192A1 (ja) * 2009-07-27 2011-02-03 株式会社東芝 画像符号化方法および画像復号方法
JP5338560B2 (ja) * 2009-08-21 2013-11-13 日本電気株式会社 画像処理装置および画像処理方法
US9369734B2 (en) * 2012-07-19 2016-06-14 Nec Corporation Method and apparatus for encoding and decoding by wavelet transform

Also Published As

Publication number Publication date
JP2016163278A (ja) 2016-09-05

Similar Documents

Publication Publication Date Title
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
US10776956B2 (en) Image coding apparatus, image decoding apparatus, image coding method, image decoding method, and non-transitory computer-readable storage medium
US10609393B2 (en) Image encoding apparatus and method of controlling the same
JP6632752B2 (ja) 画像符号化装置及び方法及びプログラム及び記憶媒体
US11082698B2 (en) Image capturing apparatus having a function for encoding raw image control method therof, and non-transitory computer-readable storage medium
JP7001383B2 (ja) 符号化装置、符号化方法、及び、プログラム
US11140392B2 (en) Image encoding apparatus, image decoding apparatus, control methods thereof, and non- transitory computer-readable storage medium
JP2017216630A (ja) 画像符号化装置及びその制御方法
JP2020102704A (ja) 画像符号化装置及びその制御方法及びプログラム
JP2016092589A (ja) 符号化装置及びその制御方法
JP6497981B2 (ja) 画像符号化装置及びその制御方法
US12069306B2 (en) Image encoding apparatus and method for controlling the same and non-transitory computer-readable storage medium
JP6946671B2 (ja) 画像処理装置及び画像処理方法
JP6512927B2 (ja) 画像符号化装置及びその制御方法
JP6727010B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法
JP6775339B2 (ja) 画像符号化装置及びその制御方法
JP6465570B2 (ja) 撮像装置、撮像装置の制御方法
JP6465571B2 (ja) 撮像装置、撮像装置の制御方法
JP6812214B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP5078199B2 (ja) 画像符号化装置及びその方法並びにプログラムコード、記憶媒体
JP6581469B2 (ja) 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体
JP2007221389A (ja) データ挿入装置および方法ならびに画像圧縮符号化装置および方法
JP2010004279A (ja) 画像処理装置及びそれを備えた画像形成装置
JP2001197498A (ja) 画像処理装置及び方法及び記憶媒体
JP2001275119A (ja) 画像処理装置及びその方法、コンピュータ可読メモリ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190312

R151 Written notification of patent or utility model registration

Ref document number: 6497981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151