JP2017192077A - 画像符号化装置及び画像復号装置及びそれらの制御方法 - Google Patents

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

Info

Publication number
JP2017192077A
JP2017192077A JP2016081465A JP2016081465A JP2017192077A JP 2017192077 A JP2017192077 A JP 2017192077A JP 2016081465 A JP2016081465 A JP 2016081465A JP 2016081465 A JP2016081465 A JP 2016081465A JP 2017192077 A JP2017192077 A JP 2017192077A
Authority
JP
Japan
Prior art keywords
encoding
run
coefficient
encoded
image
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.)
Granted
Application number
JP2016081465A
Other languages
English (en)
Other versions
JP6727010B2 (ja
Inventor
正輝 北郷
Masateru Kitago
正輝 北郷
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 JP2016081465A priority Critical patent/JP6727010B2/ja
Publication of JP2017192077A publication Critical patent/JP2017192077A/ja
Application granted granted Critical
Publication of JP6727010B2 publication Critical patent/JP6727010B2/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)

Abstract

【課題】 ウェーブレット変換等の周波数変換を利用しながらも、より高い符号化効率を実現する。【解決手段】 画像を符号化し、符号データを生成する画像符号化装置であって、着目画素を、当該着目画素の周囲の符号化済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化するかを判定する第1の判定部と、第1の判定部でランレングス符号化すると判定された場合、着目画素と直前に符号化した画素とが不一致のゼロランの状態であるか否かを判定し、当該判定結果を示す情報を符号化データとして出力する第2の判定部と、第1の判定部により着目画素を予測符号化すると判定された場合、又は、第2の判定部でゼロランの状態であると判定された場合、着目画素を予測符号化し、符号化データを出力する第1の符号化部と、第2の判定手段により非ゼロランの状態であると判定された場合、着目画素からランレングス符号化を開始し、符号化データを出力する第2の符号化部とを有する。【選択図】 図2

Description

本発明は、画像データの符号化技術に関するものである。
画像データの符号化方式の一つとしてJPEG−LSがある。JPEG−LSは、符号化対象画素の周囲画素の状態に基づいて予測符号化とランレングス符号化を判定/選択することで高い圧縮率を実現している。予測符号化は、符号化対象画素の画素値を周囲画素から予測し、予測誤差を符号化する。JPEG−LSにおけるランレングス符号化は、同一画素値のラン長(連続数)を符号化する。予測符号化とランレングス符号化を用いる他の方法として、複数の予測方法を持ち、一致する予測方法の識別情報と、そのラン長(連続値)の符号化と、予測誤差の符号化を選択して適用する方法も知られている(たとえば、特許文献1)。
特許第3885413号公報
予測符号化(予測符号化モード)とランレングス符号化(ランレングスモード)とを比べたとき、同じデータが連続すればするほど後者の方が前者に対して圧倒的に符号化効率が高いのは明らかである。しかし、これまでの符号化技術では、予測モードとランレングスモードを誤判定してしまい、ラン長がゼロのときもランレングス符号化してしまう場合がある。さらにウェーブレット変換で得られたサブバンドでは、ウェーブレット係数値にゼロが多いため、ランレングスモードの判定回数が増えると共にラン長がゼロの出現回数も増える。即ち、予測符号化モードとランレングスモードの判定基準について、まだ改善の余地があった。
本発明は係る点に鑑み、高い符号化効率を実現する技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像を符号化し、符号データを生成する画像符号化装置であって、
着目画素を、当該着目画素の周囲の符号化済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化するかを判定する第1の判定手段と、
該第1の判定手段でランレングス符号化すると判定された場合、前記着目画素と直前に符号化した画素とが不一致のゼロランの状態であるか否かを判定し、当該判定結果を示す情報を符号化データとして出力する第2の判定手段と、
前記第1の判定手段により前記着目画素を予測符号化すると判定された場合、又は、前記第2の判定手段でゼロランの状態であると判定された場合、前記着目画素を予測符号化し、符号化データを出力する第1の符号化手段と、
前記第2の判定手段により非ゼロランの状態であると判定された場合、前記着目画素からランレングス符号化を開始し、符号化データを出力する第2の符号化手段とを有する。
本発明によれば、より高い符号化効率を実現することが可能になる。
撮像装置のブロック構成図。 符号化部の構成の一例を示す図。 情報処理部のハードウェア構成を示す図。 撮像装置の撮像部の構成の一例を示す図。 画像復号装置の構成の一例を示す図。 復号部の構成の一例を示す図。 符号化部の処理を示すフローチャート。 ウェーブレット変換によるサブバンド分割を説明する図。 サブバンド符号化部の処理を示すフローチャート。 着目係数と周辺係数の位置関係を示す図。 ゴロム・ライス符号化を説明する図。 MELCODE符号化を説明する図。 復号部の処理を示すフローチャート。 サブバンド復号部の処理を示すフローチャート。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の一つである。
[第1の実施形態]
第1の実施形態は、画像データを周波数変換(実施形態ではウェーブレット変換)で複数のサブバンドに分割し、サブバンド分割されたウェーブレット係数を予測符号化、及び、ランレングス符号化で符号化する画像符号化装置について説明する。また、説明を具体化するため、デジタルカメラ等の撮像装置に搭載する例を説明するが、符号化対象の画像データの発生源は、画像データを記憶した記憶媒体でも良いし、ネットワーク(のサーバ)でも構わず、その種類は問わない。
図1は、第1の実施形態が適用する撮像装置のブロック構成図である。撮像装置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へと出力される。
撮像装置100は、図1に示したブロック図の各構成要素を専用の回路等で実装することによって実現することもできるが、汎用CPUを利用して構成することもできる。ここでは、情報処理部109を汎用CPUを用いて実現する例について述べる。図3は汎用CPUを利用する場合の撮像装置100の内部構成を示す図である。情報処理部109は、CPU301、RAM302、ROM303を有し、各構成部はシステムバス304により相互に接続されている。ROM303にはCPU301が実行するプログラムや各種データが記憶され、RAM302はCPU301がプログラムを実行した際のワークエリア、各種バッファとして利用される。CPU301は、ROM303に格納されたプログラムを実行し、RAM302をワークエリアやバッファとして利用することで、取得部103、画像処理部104、符号化部105、出力部106として機能すると共に、装置全体の制御を司ることになる。
操作部101は、撮像装置本体に備えられたボタンやダイヤル、タッチパネルなどの入力装置であり、ユーザが操作して、撮影の開始、停止および撮影条件の設定などの命令を行える。記憶部107は、撮像部102により取得されたRAW画像データ、および、画像データを保存することができる、メモリカードなどの不揮発性の記憶媒体である。I/Oインターフェース108はユニバーサルシリアルバス(USB)によって実装されたシリアルバス接続を利用でき、対応するUSBコネクタを有する。もちろん、光ファイバーによるLAN接続や、無線接続などを利用しても良い。
表示部305は、撮影画像や文字の表示を行う。表示部305には一般的に液晶ディスプレイが用いられる。またタッチパネル機能を有していても良く、その場合はタッチパネルを用いたユーザ指示を操作部101の入力として扱うことも可能である。
以下、本実施形態に示す情報処理部109の処理について説明する。ユーザの操作部101に対する撮像指示に基づき、取得部103は、撮像部102から出力されたRAW画像データを取得し、画像処理部104にRAW画像データを出力する。画像処理部104は、RAW画像データをデモザイク処理して、1画素当たりR、G、Bの3成分で構成される画像データを生成し、符号化部105に画像データを出力する。符号化部105は、画像データの符号化処理を行う。本実施形態では1画素がRGBの各色成分が8ビットで表現されるものとし、色成分を単位にモノクロ画像として符号化する場合を例に説明する。つまり、符号化部105は、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の内部構成であり、図7は符号化部105で行われる1つの色成分(実施形態では、R、G、Bのいずれか)の画像データに対する符号化処理を示すフローチャートである。つまり、実際には図7の処理を3回実施する。そして、3回行った結果得られた符号データをまとめて1つのファイルが構成されることになる。なお以降の符号Sは、フローチャートにおけるステップであることを意味する。
色成分入力部201は、画像処理部104から出力された画像データにおける1つの成分の画像データをモノクロ多値画像として入力する(S701)。ウェーブレット変換部202は、色成分入力部201から供給されたモノクロ画像データに対し、ウェーブレット変換を行う。画像データはウェーブレット変換により複数の分解レベルに分けられ、各分解レベルは複数のサブバンドから構成される。分解レベルは、低周波成分を再帰的に水平・垂直方向に2分割した分割回数を示しており、分解レベルが1増えると水平・垂直解像度は半分になる。
図8は、ウェーブレット変換で3回分解したときの例を示している。分解レベル1のサブバンドはLL1、HL1、LH1、HH1、分解レベル2のサブバンドはLL2、HL2、LH2、HH2、分解レベル3のサブバンドはLL3、HL3、LH3、HH3と表される。なお、2回目以降のウェーブレット変換では、直前のウェーブレット変換で得られたサブバンドLLをその変換対象とする。このため、サブバンドLL1、LL2は変換処理の中間データとして一時的に存在し、最後のウェーブレット変換で得られたサブバンドLL3だけが残ることになる。よって、サブバンドLL1、LL2は図8に示されていない。また、例えば、サブバンドHL2の水平・垂直解像度はサブバンドHL1の半分となる。サブバンドLHは、ウェーブレット変換が適用された局所領域の水平方向の周波数特性(水平方向成分)を示す。またサブバンドHLは垂直方向の周波数特性(垂直方向成分)、サブバンドHHは斜め方向の周波数特性(斜め方向成分)を示す。サブバンドLLは低周波成分である。本実施形態では、国際標準であるJPEG2000(ISO/IEC15444|ITU−T T.800)でも利用されている実数型の9/7フィルタを用いるものとするが、これに限定されるものではない。例えば、実数型の5/3フィルタなど、別のタップ数のフィルタを用いても良いし、整数型の5/3フィルタ等、整数値演算でウェーブレット変換を行うフィルタを用いても構わない。またウェーブレット変換の処理単位については、ライン単位の処理であっても、画像単位の処理であっても構わない。なお、実施形態におけるウェーブレット変換部202は、ウェーブレット変換を図8に示すように3回行うものとして説明を続ける。
ウェーブレット変換部202は、ウェーブレット変換されたサブバンド{LL3,HL3,LH3,HH3,HL2,LH2,HH2,HL1,LH1,HH1}のウェーブレット係数を量子化部203に出力する(S702)。
量子化部203は、ウェーブレット変換部202から供給された各サブバンドのウェーブレット係数を入力し、サブバンド毎に異なるステップ幅で量子化する。また、サブバンドのライン毎に異なるステップ幅で量子化を行うなど他の量子化方法を用いても構わない。量子化部203は、量子化後のウェーブレット係数を、サブバンド毎にサブバンド符号化部214に供給する(S703)。
以降、サブバンド符号化部214の処理になる。詳細は後述するが、このサブバンド符号化部214はサブバンドを単位に符号化する。
まず、S704で、ウェーブレット変換で分解した回数を変数iに設定する。本実施形態では、ウェーブレット変換で3回分解した例を説明し、変数i=3と設定する。なお、ウェーブレット変換回数は、ユーザが適宜、操作部101より変更できるものとする。また、図7のフローチャートでは、変数iを用いてサブバンドLL(i)、HL(i)、LH(i)、HH(i)を一般化しているが、例えば、HL(3)は図8におけるHL3と同じサブバンドを示しているものと理解されたい。また、ウェーブレット変換を0回に設定したときは、1つの色成分をサブバンドLL0として符号化することになる。つまり、ウェーブレット変換の回数を0としたときには、符号化対象は係数というよりは、画像を構成する画素となる。
S705では、サブバンド符号化部214は、サブバンドLL(3)(図8のLL3)のサブバンド符号化を行う。このため、サブバンド符号化部214は量子化部203からサブバンドLL3の量子化後のウェーブレット係数を受信し、符号化を行う。サブバンド符号化部214は、この符号化処理で得られた符号化データをRAM302に予め確保されたバッファ領域に格納する。
この後、S706にて、サブバンド符号化部214は、変数iが0であるか否かを判定する。ここでは、初期段階、すなわち、i=3であるものとする。従って、S707に処理を進める。
S707〜S709において、サブバンド符号化部214は、サブバンドHL(i)、LH(i)、HH(i)の符号化を行い、生成された符号化データをRAM302に確保されたバッファ領域に格納する。そして、サブバンド符号化部214は、S710にて、変数iを“1”減じ、S706に処理を戻す。
S706にて、変数i=0になったと判定された場合、RAM302のバッファ領域には、LL(3)、HL(3)、LH(3)、HH(3)、HL(2)、・・・、HH(1)の計10個のサブバンドの符号化データが格納されることなる。そこで、サブバンド符号化部214は、RAM302のバッファ領域に格納された各サブバンドの符号化データを予め設定された順番に接続し、着目色成分の符号化データとして生成する(S711)。
上記は1つの色成分の符号化処理であったが、先に説明したように、実施形態ではR、G、Bの各色成分を単位に符号化するので、符号化部105は上記処理を3回実行することになる。図1に戻って、符号化部105は、全色成分の符号化データを出力部106に送出する。出力部106は、供給された符号化データに、適当なヘッダを付加して画像ファイルを構成し、圧縮画像データファイルとして記憶部107に出力し、保存する。保存された圧縮画像データファイルは、I/Oインターフェース108を介して、撮像装置外のデバイスに出力されても構わない。
以上、画像データをウェーブレット変換でサブバンド分割し、サブバンドを単位として符号化するときの全体的な処理フローについて説明した。次に、各サブバンドのウェーブレット係数を符号化するサブバンド符号化部214の処理フローの詳細について説明する。
サブバンド符号化部214の内部構成を図2に示し、サブバンド符号化部214で行われる処理を示したフローチャートを図9に示す。なお、サブバンド符号化部214は、着目サブバンドの量子化後の変換係数を、ラスタスキャン順に符号化するものとする。
まずS901で、サブバンド番号sを入力する。サブバンド番号sはサブバンドを識別する番号であり、符号化の対象となるサブバンドがLL成分、HL成分、LH成分、HH成分の何れであるかを識別するためのものである。例えば、LL成分にs=1、HL成分にs=2、LH成分にs=3、HH成分にs=4などの識別番号を設定する。なお、量子化部203は、サブバンド単位に量子化後のウェーブレット係数をサブバンド符号化部214に出力する際に、その先頭にサブバンド番号sを付加するものとする。
S902で、サブバンド符号化部214は、サブバンド内のウェーブレット係数が全て符号化されたかを判定する。全て符号化された場合は符号化処理を終了し、符号化されていない係数がある場合は、S903に移る。S903で、サブバンド符号化部214は、着目サブバンドのウェーブレット係数をライン単位に入力する。そして、S904において、サブバンド符号化部214は、入力したラインにおける左端に位置するウェーブレット係数を符号化対象の着目係数として設定する。
図10は着目係数とその周辺係数の位置関係を示している。ここでは、xが符号化対象の着目係数である。図示の如く、参照範囲は、着目係数xが位置するラインと、その直前のラインの2ラインにおける、着目係数の周囲の係数である。また、ラスタスキャン順に係数を順次符号化していくため、着目係数xの左に位置する左係数a、1ライン前のライン上に位置する左上係数c、上係数b、右上係数dは、既に符号化済みの係数である。なお、着目係数xがサブバンドの最初のラインの左端に位置するとき、係数a乃至dは存在しない。また、着目係数xがサブバンドの2ライン目以降ラインの左端に位置するときには、係数a、cは実在しない。このように実在しない係数については、所定の値(たとえば0)を持つものとみなす。また、既に符号化済み位置の係数を参照するため、サブバンド符号化部214は、例えば2ライン分のバッファメモリを有する。
S905にて、サブバンド符号化部214は、ライン内のウェーブレット係数が全て符号化されたかを判定する。言い換えれば、ライン終端(右端)の係数の符号化を終えたか否かを判定する。ライン中の全ての係数の符号化を終えたと判定した場合には、S906で次のラインの処理に移る。符号化されていない係数が存在する場合にはS907に移る。
S907にて、サブバンド符号化部214のモード選択部204は、サブバンドに応じた符号化モード判定により、符号化モードを選択する。選択すべき符号化モードには、予測符号化モード、ランレングスモードがある。
モード選択部204は、S908にて、サブバンド番号sに基づいて第1モード判定部205、第2モード判定部206のいずれか一方を選択し、符号化モードを判定する(S908)。具体的には、着目サブバンドがLLであれば第1モード判定部205を選択し、判定させる。またサブバンドがLL成分以外の、HL、LH、HHのいずれかのサブバンドである場合には第2モード判定部206を選択し、判定させる。第1モード判定部205は、着目係数xに対して、図10に示す如く左係数a、上係数b、左上係数c、右上係数dを参照する。そして、第1モード判定部205はa=b=c=d(全て同値を判定条件とする)のとき、着目係数xについてランレングス符号化条件を満たすと判定する。また、第2モード判定部206は、図10において、a=b=0(全てゼロを判定条件とする)のとき、着目係数xについてランレングス符号化条件を満たすと判定する。これら2つの判定条件は、着目係数xが左係数aと同じ値が連続する可能性が高いと予測できる条件である。特に、サブバンドHL、LH、HH内では、“0”の値が量子化後のウェーブレット変換係数の多く出現するため、係数値0に限定した符号化モード判定を用いることで符号化効率が高くなる。また、第2モード判定部206では、第1モード判定部205よりも少ないa,bの2係数のみを周囲係数として参照するのでランレングスモードが選択されやすくなり、結果的に、高周波成分の符号化効率が高くできる。また第1モード判定部205では、2ライン分の係数値を保持する必要があるが、第2モード判定部206では、参照する係数値が0であるか0以外であるかを表すフラグ情報を保持すれば良い。そのため、バッファメモリを大幅に削減することができる。もちろんランレングスモードが選択し易くなるのであれば、参照する周囲係数は2係数に限定されない。例えば、左係数a、上係数b、左上係数c(または右上係数d)の3係数を参照するなど、他の判定方法を用いても構わない。
さて、S908では、上記のように、モード選択部204はランレングス符号化条件を満たしているかを判定する。ランレングス符号化条件を満たしている場合は、符号化モードとしてランレングスモードを設定し、S912の処理に移る。またランレングス符号化条件を満たしていない場合は、予測符号化モードを設定し、S909の処理に移る。
S912に処理が移った場合、ゼロラン検出部207はゼロランの検出処理を行い、検出できたか否かを示す情報(1ビット)を符号化データの1つとして、予測変換部210及び符号生成部212に出力する。第1の判定モードおよび第2の判定モードでは、着目係数xの周囲係数に基づいて、着目係数xが左係数aと同じ値を持つランを構成すると予測している。しかしながら実際には、左係数aと着目係数xとが同じ値ではない場合がある。そこで、S908でランレングス符号化モードと判定された直後の着目係数xが左係数aと不一致の場合、ゼロラン(ラン長が0)が検出できたとする。ゼロランが検出できた場合、ゼロラン検出部207は1ビットの“0”を予測変換部210及び符号生成部212に出力し、処理をS909に移し、着目係数xに対して予測符号化モードで符号化させる。
一方、少なくとも着目係数xが左係数aと一致した場合、着目係数xから1以上のランが開始されるので、ゼロラン検出部207は、非ゼロラン検出を示す1ビットの“1”をランレングス符号化部208及び符号生成部212に出力する。なお、検出/非検出の区別がつけばよいので、0、1は逆でも構わない。この後、S913にて、ランレングス符号化部208によるランレングス符号化が実行される。ここで生成されるランレングス符号化ではラン長が1以上となることは上記説明から明らかである。そこで、ランレングス符号化部208は、ランを係数するラン長RLを初期値として“1”を設定する。そして、ランレングス符号化部208は、図10に示される着目係数xと左係数a(着目係数に対する予測値)の値が一致するとき、ラン長RLを1増加させ、着目係数の位置を1つ右側に移動する処理を繰り返す。そして、ランレングス符号化部208は、着目係数xが左隣aと異なるとき、或いは、着目係数の位置がラインの右端に達したとき、ランの終端に達したと判定し、それまで計数したラン長RLをMELCODE符号化し、その符号語を出力する。なお、実施形態の場合、ランレングス符号化部208は、必ず、1以上のラン長RLを符号化することになるので、ラン長RLから“1”を減算した値「RL―1」をMELCODE符号化し、符号化効率を更に図るものとした。
なお、上記において、ゼロラン検出部207は、ゼロラン検出/非検出を示す1ビットの符号語を符号生成部212にも出力するものとした。しかし、予測変換部210、ゴロム符号化部211が、生成する符号語の先頭に、ゼロラン検出を示す1ビットが含めて出力しても構わない。また、ランレングス符号化部208も、ランの符号語の先頭に、非ゼロラン検出を示す1ビットを含めて出力しても構わない。
この後、S914にて、ラン終端処理部209が、ラン終端処理を行うか否かを判定する。具体的には、ランレングス符号化部208が符号語を出力した理由が、着目係数xが左係数aと不一致であったからなのか、着目係数xが左係数aと一致するもののラインの終端(右端)位置に到達したからなのかに基づき判定する。前者の場合、S913で出力したランの符号語には、着目係数xの符号語が含まれない。それ故、ラン終端処理部209は、着目係数xについて予測符号化を行うように処理をS909に進める。一方、着目係数xが左係数aと同じまま、ラインの終端に達した場合、出力したランの符号語には着目係数xが含まれる。よって、ラン終端処理部209は、処理をS905に戻す。
先に説明したようにウェーブレット変換で得られる高周波サブバンドLH,HL,HHでは、量子化後のウェーブレット変換係数“0”の出現確率が高い。そこでS907の高周波サブバンドにおける符号化モード判定において、2係数のみを参照係数とすることでランレングスモードを選択し易くしている。しかしながら、その結果、ランを構成しているとみなしてランレングスモードと判定したにも関わらずラン長が0となるような誤判定の可能性が高くなる。しかしながら、本実施形態によれば、この誤判定による符号量増加は高々1ビットにできる。すなわち、ランレングス符号化の開始に先立ち、S912でゼロラン検出処理を行う。この処理により、ゼロランの場合の符号は1ビットに抑えられ、符号化効率が下がることを抑制できる。
ここで、MELCODE符号化により出力する符号語の一例を図12に示す。なお、MELCODE符号化は、JPEG−LSと同様の処理のため、ここでの詳細説明は割愛する。符号化の過程で動的に変化する符号化パラメータindexを引数とした配列J[index]の値により、図12で示される符号語が出力される。図12において横線を引いた領域の符号語は、符号化パラメータindexを動的に変化させるアルゴリズムに依存し、一意には決定されないため、ここでは記載していない。
従来手法でラン長ゼロをMELCODE符号化するとき、J[index]の値によって出力する符号語のビット数が異なる。J[index]が0のときは1ビット、1のときは2ビット、2のときは3ビット、3のときは4ビットの符号語となる。MELCODE符号化では、長いラン長を符号化するときはJ[index]の値が大きい方が、短いラン長を符号化するときはJ[index]の値が小さい方が効率良く符号化できる。高周波成分ではウェーブレット係数値に0が多く出現するため、長いラン長が発生する確率が高く、J[index]の値が大きくなりやすい。一方、高周波成分ではランを構成すると予測しながら実際にはラン長がゼロとなるような誤判定の確率も高くなる。その結果、ラン長0の係数値に対して長い符号語が割り当てられやすい。かかる点、本実施形態では、ランレングスモードとして決定された場合、まず、ゼロラン検出処理を行って、ゼロラン検出/非検出を示す1ビットを出力する。そして、非ゼロラン検出の場合(ゼロランが検出できない場合)、後続して“1”以上のラン長RLのMELCODE符号化による符号語を出力する。この結果、符号化効率が下がることを抑制しつつも、高周波サブバンドの符号化効率を上げることが可能になる。
図9の説明に戻る。S908にて、モード選択部204が、着目係数xを予測符号化モードで符号化すると判定した場合、処理がS909に進む。また、S912にて、ゼロラン検出した場合、或いは、S914にてラン終端処理を行うと判定した場合にも、S909に処理が進む。
S909にて、予測変換部210は、MED(Median Edge Detection)予測を用いて着目係数xの予測値pを求め、予測誤差Diffを算出する。着目係数xに対する予測値pは、図10に示す周辺係数を用いて示すと次式の通りである。
Figure 2017192077
そして、予測変換部210は、予測誤差(差分)Diffを次式に従って算出する。
予測誤差Diff=着目係数−予測値=x−p
なお、ここでは予測変換にMED予測を用いたが、前値予測(左隣りの係数aを予測値とする)など、MED予測以外の予測を用いても良い。また、すべての係数に同じ予測方法を用いる必要もなく、符号化側と復号側で同じ予測を用いることができれば良い。例えば、サブバンドがLL成分の場合はMED予測を用い、サブバンドがLL成分以外の場合は予測変換を行わないなど、サブバンド単位に予測方法を切り替えても構わない。さらには、サブバンドの係数のブロックに分割し、ブロック単毎に複数の予測方法の中から適切な予測方法を選択して適用する構成としても良い。
図9に戻って、予測変換部210は、上記のようにして算出した予測誤差Diffをゴロム符号化部211に供給する。ゴロム符号化部211で、予測誤差Diffをゴロム・ライス符号化する(S910)。ゴロム符号化部211は、まず予測誤差Diffを非負の整数値(MV)に変換する。変換式は以下の通りである。
Figure 2017192077
この変換は、予測誤差を0、−1,1、−2、2、−3、・・・といった具合に、絶対値順(昇順)、かつ、同じ絶対値では負の数を前にして並べた場合の先頭からの順位(先頭を0とする)に置き換える処理に等しい。また、MVが奇数か偶数かで、予測誤差Diffの正負の符号も特定できる。ここでは、説明簡略化のために固定的にこのような変換を用いるものとするが、同じ絶対値では正の数が前になる、すなわち非負の整数値(MV)が小さくなるような変換としても良い。また、JPEG−LSのように予測誤差(Diff)と整数値(MV)との対応づけが動的に変わるような方法を用いても良い。但し、この場合には、復号側で正しく逆変換ができるようにしておく必要がある。
次に、ゴロム符号化部211は、パラメータkを用いて非負の整数値(MV)をゴロム・ライス符号化する。ゴロム・ライス符号化の手順は以下の通りである。
(1)MVを2進数表現して、MVをkビット右シフトした値の0を並べ、その後に1を付加する。
(2)上記(1)の後ろに、MVの下位kビットを取りだして付け加える。
図11にゴロム・ライス符号化のパラメータkと非負の整数値(MV)と符号語の関係を示す。ゴロム・ライス符号化の構成はこれに限定されるものではなく、例えば、0と1を反対にして符号を構成しても構わないし、上記手順で述べた(1)と(2)の順番を入れ替えて符号を構成しても良い。なお、ここでは符号化パラメータkの決定方法については特定しないが、符号化側と復号側で同じパラメータを利用できれば良い。例えば、予めサブバンド毎に適切と思われるパラメータkを選定する方法でも良い。また、JPEG−LSのように、周囲の符号化済の値からコンテキスト(状態識別子)を定め、コンテキスト毎にパラメータkを決定するための情報を保持して、符号化の過程で動的に変化させるようにしても構わない。
例えば、パラメータk=0の場合を考える。予測誤差Diffが−2のとき、非負の整数値MVは3となり、予測誤差Diffが+2のとき、非負の整数値MVは4となる。非負の整数値MVが3のとき、符号語は0001となり4ビットで表現され、非負の整数値MVが4のとき、符号語は00001となり5ビットで表現される。
上記のようにして、ゴロム符号化部211による着目係数xに対する符号語の出力を終えると、処理はS911で着目係数xの右隣の係数を新たな着目係数とし、S905に戻る。ここで生成される符号語について説明する。まず第1モード判定部205または第2モード判定部206において符号化モードを選択された場合、着目係数xには、ゴロム符号化部211から出力される符号語が生成される。第1モード判定部205または第2モード判定部206においてランレングスモードを選択されたがゼロランとして検出された着目係数xに対しては、ゼロランを示す1ビットおよびゴロム符号化部211から出力される符号語とが対応する。第1モード判定部205または第2モード判定部206においてランレングスモードを選択され、非ゼロランとして検出された着目係数xに対しては、非ゼロランを示す1ビットおよび非ゼロランレングス符号化部208から出力される(ラン長−1)の符号語とが対応する。第1モード判定部205または第2モード判定部206においてランレングスモードを選択され右端に位置するラン終端である着目係数xに対しては、ゴロム符号化部211から出力される符号語が対応する。
図2に戻って、符号生成部212で、サブバンドのウェーブレット係数の符号データを出力する。
以上説明したように、本実施形態によれば、ランレングスモードに移行した直後に、ゼロランを検出し、ゼロランを検出した場合にはランレングス符号化への移行を取り消し、予測符号化モードへ移行する。またサブバンドの種類(実施形態では、サブバンドLLかそれ以外か)に応じて異なるモード判定処理を用いることで、符号化効率の改善を図れる。
次に実施形態における画像復号装置について説明する。図5は、本実施形態における画像復号装置500の構成の一例を示す図である。
図5に示すように、画像復号装置500は、I/Oインターフェース501と、記憶部502と、操作部503と、情報処理部508と、表示部507を有している。
画像復号装置500を実装する装置の種類は特に問わないが、典型的にはコンピュータ、または、撮像装置である。本実施形態における画像復号装置500をコンピュータとして説明する。I/Oインターフェース501は、I/Oインターフェース108と同様にUSBコネクタを有する。デバイス500は、I/Oインターフェース501を介して、撮像装置100から出力される圧縮符号化画像データを取得するものとする。
記憶部502は、I/Oインターフェース501から取得された圧縮符号化画像データを保存することができるメモリカードなどの不揮発性の記憶媒体である。操作部503は、コンピュータに備えられたキーボード、マウスなどの入力装置であり、ユーザが操作して復号処理などの命令を行える。表示部507は、復号画像の表示等が行え、一般的に液晶ディスプレイが用いられる。情報処理部508の内部構成は、図3に示す情報処理部109と同様である。従って以下でも図3の構成に基づき説明する。
以下、本実施形態における情報処理部508の処理について説明する。ユーザの操作部503に対する復号指示に基づき、取得部504は、記憶部502から圧縮符号化画像データ(第1の実施形態で符号化したデータファイル)を取得し、復号部505に圧縮符号化データを供給する。
復号部505は、圧縮符号化画像データの復号処理を行う。本実施形態では、1画素がRGB各8ビットで表現されるものとし、色成分を単位にモノクロ画像として復号する場合を例に説明する。つまり、R成分のモノクロ多値画像、G成分のモノクロ多値画像、B成分のモノクロ多値画像をそれぞれ独立して復号する。
次に本実施形態における復号部505について説明する。図6は復号部505の内部構成であり、図13は復号部505で行われる1つの色成分(実施形態では、R、G、Bのいずれか)の画像データに対する復号処理を示すフローチャートである。つまり、実際には図13の処理を3回実施する。そして、3回行った結果得られたR成分、G成分、B成分のモノクロ多値画像をまとめることで、カラー画像データが生成される。
S1301で、符号入力部601は、取得部504から圧縮画像データにおける1つの成分の符号化データを受信し、サブバンド復号部614に供給する。
サブバンド復号部614は、入力したサブバンドの符号化データを、サブバンド単位に復号し、RAM302内の予め確保された所定のバッファ領域に格納していく。以下はより詳しく説明する。
まずS1302にて、サブバンド復号部505は、ウェーブレット変換で分解した回数を変数iに設定する。ウェーブレット変換回数は、例えば、圧縮画像データのファイルヘッダに記載されているものとする。本実施形態では、ウェーブレット変換で3回分解した例を説明し、変数i=3と設定する。また図13のフローチャートでは、変数iを用いてサブバンドLL(i)、HL(i)、LH(i)、HH(i)を一般化しているが、例えば、HL(3)は図8におけるHL3と同じサブバンドを示しているものと理解されたい。
S1303では、サブバンド復号部614は、サブバンドLL(3)(図8のLL3)のサブバンド復号処理を行う。このため、サブバンド復号部614は符号入力部601からサブバンドLL3の符号データを受信し、復号を行うことになる。サブバンド復号部614は、この復号処理で得られた量子化ウェーブレット係数をRAM302に予め確保されたバッファ領域に格納する。
この後、S1304にて、サブバンド復号部614は、変数iが0であるか否かを判定する。ここでは、初期段階、すなわち、i=3であるものとする。従って、S1305に処理を進める。
S1305、S1306,S1307では、サブバンド復号部614は、サブバンドHL(i)、LH(i)、HH(i)の復号処理を行い、得られた量子化ウェーブレット係数をRAM302の予め確保されたバッファ領域に格納する。そして、サブバン後復号部614は、S1308にて変数iを減じ、処理をS1304に戻す。
また、サブバンド復号部614が、S1304にて、変数i=0と判定した場合、RAM302のバッファ領域には、LL(3)、HL(3)、LH(3)、HH(3)、HL(2)、・・・、HH(1)の計10個のサブバンドの量子化ウェーブレット係数が格納されることになる。この場合、処理はS1309に進み、逆量子化部611が、サブバンド復号部614から供給された各サブバンドの量子化ウェーブレット係数を入力し、サブバンド毎に設定された量子化ステップ幅を用いて逆量子化する。また、サブバンドのライン毎に異なるステップ幅で逆量子化を行うなど他の逆量子化手法を用いても構わない。逆量子化部611は、各サブバンドの逆量子化後のウェーブレット係数を、ウェーブレット逆変換部612に送出する。
S1310で、ウェーブレット逆変換部612は、逆量子化部611から供給された逆量子化後のウェーブレット係数を入力として、逆周波数変換(実施形態では逆ウェーブレット変換)を行う。本実施形態では、国際標準であるJPEG2000(ISO/IEC15444|ITU−T T.800)でも利用されている実数型の9/7フィルタを用いるものとするが、これに限定されるものではない。例えば、実数型の5/3フィルタなど、別のタップ数のフィルタを用いても良いし、整数型の5/3フィルタ等、整数値演算でウェーブレット変換を行うフィルタを用いても構わない。またウェーブレット逆変換の処理単位については、ライン単位の処理であっても、画像単位の処理であっても構わない。ウェーブレット逆変換部612は、ウェーブレット逆変換後のモノクロ多値画像を、色成分出力部613に送出する。
S1311で、色成分出力部613は、モノクロ多値画像を出力する。
以上、符号データをサブバンド単位に復号し、逆量子化、ウェーブレット逆変換により画像データを生成するときの全体的な処理フローについて説明した。次に、各サブバンドの量子化ウェーブレット係数を復号するサブバンド復号部614の処理フローの詳細を図14のフローチャートに従って説明する。
サブバンド復号部614の内部構成を図6に示し、サブバンド復号部614で行われる処理を示したフローチャートを図14に示す。
まずS1401で、サブバンド番号sを入力する。サブバンド番号sはサブバンドを識別する番号であり、復号の対象となるサブバンドがLL成分、HL成分、LH成分、HH成分の何れであるかを識別するためのものである。例えば、LL成分にs=1、HL成分にs=2、LH成分にs=3、HH成分にs=4などの識別番号を設定する。なお、符号入力部601は、サブバンド単位に符号データをサブバンド復号部614に出力する際に、その先頭にサブバンド番号sを付加するものとする。S1402で、サブバンド復号部614は、サブバンド単位に符号データを入力する。
次にS1403で、サブバンド復号部614は、サブバンド内のウェーブレット係数が全て復号されたかを判定する。全て復号された場合は復号処理を終了し、未復号の係数がある場合は、S1404に移る。S1404で、サブバンド復号部614は、着目サブバンドのウェーブレット係数をライン単位に復号するため、復号対象の着目係数をラインの左端に設定する。
図10は着目係数xとその周辺係数a,b,c,dの位置関係を示している。着目係数x、周辺係数a,b,c,dの位置関係、および、周辺係数が実在しない場合の扱いについては、第1の実施形態と同様であるので、その説明は省略する。ラスタスキャン順に係数を順次復号していくため、左係数a、左上係数c、上係数b、右上係数dは、既に復号済みの係数である。また、復号済み位置の係数を参照するため、サブバンド復号部614は、例えば2ライン分のバッファメモリを有する。
S1405にて、サブバンド復号部614は、ライン内のウェーブレット係数が全て復号されたかを判定する。言い換えれば、ライン終端(右端)の係数の復号を終えたか否かを判定する。ライン中の全ての係数の復号を終えたと判定した場合には、S1406で次のラインの処理に移る。復号されていない係数が存在する場合にはS1407に移る。
S1407にて、モード選択部602は、サブバンド番号sに応じて、第1モード判定部603、第2モード判定部604のいずれか一方を選択し、符号化モードを判定する。
第1モード判定部603は、サブバンド番号sが“1”の場合、つまり、復号対象がサブバンドLLの場合に選択される。そして、第1モード判定部603は、図10に示す復号済みの周辺係数a,b,c,dについて、条件:a=b=c=d(全て同値を判定条件とする)を満たすとき、着目係数xはランレングス符号化モードで符号化されているものと仮判定する。また、この条件を満たさない場合、第1モード判定部603は、着目係数xは予測符号化されているものと判定する。
一方、第2モード判定部604は、サブバンド番号sが“1”以外の、{2,3,4}のいずれかの場合に選択される。そして、第2モード判定部604は、復号済みの周辺係数a、bについて、条件:a=b=0(全てゼロを判定条件とする)を満たすとき、着目係数xはランレングス符号化モードで符号化されていると仮判定する。そして、この条件を満たさない場合、第2モード判定部604は、着目係数xが予測符号化されていると判定する。
S1408では、モード選択部602が選択したモード判定部の判定結果が、ランレングスモードか予測符号化モードのいずれであったのかを判定する。ランレングスモードの場合、処理はS1412に進む。このS1412において、ゼロラン判定部605は、未復号の符号化データの先頭から1ビットを読み出し、そのビットが“0”、すなわち、ゼロランを示すビットであるか否かを判定する。読み出したビットがゼロランを示している場合、後続する符号化データは予測符号化データであるので、処理をS1409に移す。一方、非ゼロランであった場合、後続する符号化データはランレングス符号化データであるので、S1413に処理を進める。
S1413では、ランレングス復号部606は、符号化データに対してランレングス復号(実施形態ではMELCODE復号)処理を行う。ここで復号したランを示す値に“1”を加算した値が、求めるラン長RLとなる。それ故、ラン長RLは必ず1以上の値を持つ。そして、ランレングス復号部606は、着目係数の左係数aと同じ値を、ラン長RL分が示す数だけ出力する。この際、ランレングス復号部606は、次に復号する係数に備えて、左係数として、復号した値をセットする。
この後、処理はS1414に進み、ラン終端処理部607が、ランレングス復号部606が復号したランの末尾の係数が、ラインの終端に位置していたか否かを判定する。ラインの終端以外に位置していた場合、ランの終端の係数に後続する(右隣の)係数は予測符号化されていることになるので、処理をS1409に進める。一方、ランレングス復号したランの末尾の係数が、ラインの終端(右端)に位置していた場合、終端処理は不要であるので、処理をS1405に進める。
一方、S1408にて着目係数xが予測符号化されていると判定された場合には、処理はS1409に進む。S1412にてゼロランを検出した場合、或いは、S1414にてラン終端処理を行うと判定した場合にも、S1409に処理が進む。
まず、S1409にて、予測変換部608で、復号対象の着目係数xの予測値pを、サブバンド番号sに応じた周辺係数から求め、ゴロム復号部609に供給する。この予測値pの算出は画像符号化装置のそれと同じである。
なお、画像符号化装置と同様に、前値予測(左隣りの係数aを予測値とする)など、MED予測以外の予測を用いても良い。また、すべての係数に同じ予測方法を用いる必要もなく、符号化側と復号側で同じ予測を用いることができれば良い。例えば、サブバンドがLL成分の場合はMED予測を用い、サブバンドLL以外の場合は予測変換を行わないなど、サブバンド単位に予測方法を切り替えても構わない。さらには、サブバンドの係数をブロックに分割し、ブロック毎に複数の予測方法の中から適切な予測方法を選択して適用する構成としても良い。要するに、画像復号装置では、画像符号化装置と同じようにして予測値を求めればよい。
S1410にて、ゴロム復号部609は、符号化データからシンボルMVを復号する。パラメータkを用いたゴロム・ライス復号の手順は以下の通りである。
(1) 符号データから1ビットずつ取り出し、取り出したビットが“0”である限り、カウントアップしていく。そして、取り出したビットが“1”の場合は次工程(2)に移る。ここでは、ビットが“0”の数をZEROcntと呼ぶ。
(2) ZEROcntをkビット左シフトする。さらに符号データからkビット取り出した値を、シフト後のZEROcntに加算し、シンボルMVを求める。
次に、ゴロム復号部609は、シンボルMVから予測誤差(Diff)を算出する。
Figure 2017192077
ここでは符号化パラメータkの決定方法については特定しないが、第1の実施形態と同様に、予めサブバンド毎に適切と思われるパラメータkを選定する方法でも良い。また、JPEG−LSのように、周囲の符号化済の値からコンテキスト(状態識別子)を定め、コンテキストごとにパラメータkを決定するための情報を保持して、符号化の過程で動的に変化させるようにしても構わない。符号化側で用いたパラメータと同じ値を復号側で利用できれば良い。
次に、ゴロム復号部609は、着目係数xを以下のように算出する。
着目係数x= 予測誤差+予測値=Diff + p
そして、ゴロム復号部609は、復号して得られた係数xを係数生成部610に供給する。この際、次に復号する係数のため、ここで得られた係数xを、次に復号する係数の左係数として設定し、処理をS1405に戻す。
図6に戻って、係数生成部610は、上記のようにして、着目サブバンドの係数(量子化ウェーブレット変換係数)を受信し、逆量子化部611に供給する。この後、逆量子化部611は、受信した係数に対し逆量子化して着目サブバンドのウェーブレット変換係数を得る。そして、逆量子化部611は、得られたウェーブレット変換係数を逆ウェーブレット変換部612に供給する。逆ウェーブレット変換部612は、同一解像度レベルのサブバンドの係数を受信した際に、逆ウェーブレット変換を行い、モノクロ多値画像データとして色成分出力部613に供給する。色成分出力部613は、受信したモノクロ多値画像データを、復号順の色成分画像データとして出力部506に供給する。
以上説明したように、本実施形態によれば、ウェーブレット変換して得られた着目係数の周囲係数から、着目係数についてはランレングスモードと判定されたとしても、その判定は仮判定として扱われる。そして、ランレングスモードであるとしても、着目係数と左係数とが不一致を示すゼロランが検出された場合、着目係数に対して予測符号化モードが適用される。一方、ゼロランではない、つまり、少なくとも1以上のラン長がある場合には、ランレングス符号化が適用される。
以上の結果、ウェーブレット変換を用いながらも、これまでよりも符号化効率の高い符号化データを生成することが可能となる。
なお、上記実施形態では、カラー画像の各色成分の画像毎に符号化するものとして説明したが、符号化対象がモノクロ画像であってももちろん構わない。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
201…色成分入力部、202…ウェーブレット変換部、203…量子化部、204…モード選択部、205…第1モード判定部、206…第2モード判定部、207…ゼロラン検出部、208…ランレングス符号化部、209…ラン終端処理部、210…予測変換部、211…ゴロム符号化部、212…符号生成部、213…符号出力部、214…サブバンド符号化部

Claims (23)

  1. 画像を符号化し、符号データを生成する画像符号化装置であって、
    着目画素を、当該着目画素の周囲の符号化済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化するかを判定する第1の判定手段と、
    該第1の判定手段でランレングス符号化すると判定された場合、前記着目画素と直前に符号化した画素とが不一致のゼロランの状態であるか否かを判定し、当該判定結果を示す情報を符号化データとして出力する第2の判定手段と、
    前記第1の判定手段により前記着目画素を予測符号化すると判定された場合、又は、前記第2の判定手段でゼロランの状態であると判定された場合、前記着目画素を予測符号化し、符号化データを出力する第1の符号化手段と、
    前記第2の判定手段により非ゼロランの状態であると判定された場合、前記着目画素からランレングス符号化を開始し、符号化データを出力する第2の符号化手段と
    を有することを特徴とする画像符号化装置。
  2. 符号化対象の画像を周波数変換し、複数のサブバンドの係数を生成する周波数変換手段を更に有し、
    前記画素は、前記周波数変換手段で得られた係数であることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記第2の判定手段は、判定結果を示す情報として1ビットのデータを出力することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記第1の判定手段によりランレングス符号で符号化すると判定されたが、前記第2の判定手段により、ゼロランの状態であると判定された前記着目画素に対しては、前記第2の判定手段から出力されるゼロランを示す1ビットおよび前記第1の符号化手段から出力される前記着目画素の符号語とが生成されることを特徴とする請求項3に記載の画像符号化装置。
  5. 前記第2の符号化手段は、ラインの右端に位置する場合を除いて、ゼロランの画素値は入力されないことを特徴とする請求項1乃至4の何れか一項に記載の画像符号化装置。
  6. 前記第1の判定手段は、前記着目画素の周囲の符号化済みの周囲画素のうち、少なくとも2つ以上を参照し、参照する周囲画素が全て同じ値である場合に、前記着目画素をランレングス符号化すると判定することを特徴とする請求項1乃至5の何れか一項に記載の画像符号化装置。
  7. 前記第1の判定手段は、前記着目画素の周囲の符号化済みの周囲画素のうち、少なくとも2つ以上を参照し、参照する周囲画素がいずれも0である場合に、前記着目画素をランレングス符号化すると判定することを特徴とする請求項1乃至6の何れか一項に記載の画像符号化装置。
  8. 前記周波数変換手段はウェーブレット変換手段であって、
    前記第1の判定手段は、着目画素に対応する係数がサブバンドHL、LH、HHに属する場合に参照する周囲係数の数を、サブバンドLLに属する場合に参照する係数の数よりも少なくする
    ことを特徴とする請求項2に記載の画像符号化装置。
  9. 符号化の対象の着目係数をx、左隣の係数をa、前記着目係数xの1ライン前の係数をb、前記1ライン前のライン上に位置し、当該係数bを挟む係数をc、dとしたとき、
    前記第1の判定手段は、
    第1の条件:
    前記着目係数xがサブバンドLLに属し、且つ、
    a=b=c=d
    を満たす場合、前記着目係数をランレングス符号化すると判定し、
    第2の条件:
    前記着目係数xがサブバンドLL以外に属し、且つ、
    a=b=0
    を満たす場合、前記着目係数をランレングス符号化すると判定し、
    前記第1、第2の条件を満たさない場合、前記着目係数を予測符号化すると判定する
    ことを特徴とする請求項8に記載の画像符号化装置。
  10. 前記周波数変換手段で得られた係数を量子化する量子化手段を更に有し、
    前記第1の判定手段、前記第2の判定手段は、前記量子化後の係数を前記画素として判定し、
    前記第1の符号化手段、前記第2の符号化手段は、前記係数を符号化する
    ことを特徴とする請求項8又は9に記載の画像符号化装置。
  11. 前記符号化の対象の画像は、カラー画像における1つの色成分で表される画像、又はモノクロ画像であることを特徴とする請求項1乃至10のいずれか1項に記載の画像符号化装置。
  12. 符号化画像データを復号する画像復号装置であって、
    復号対象の着目画素が、当該着目画素の周囲の復号済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化されたかを判定する第1の判定手段と、
    該第1の判定手段でランレングス符号化されていると判定された場合、符号化データがゼロランの状態を示している否かを判定する第2の判定手段と、
    前記第1の判定手段により前記着目画素が予測符号化されていると判定された場合、又は、前記第2の判定手段で符号化データがゼロランの状態を示していると判定された場合、前記着目画素を予測復号する第1の復号手段と、
    前記第2の判定手段により前記符号化データが非ゼロランの状態を示していると判定した場合、前記着目画素からランレングス符号化されていると見なし、ランレングス復号する第2の復号手段と
    を有することを特徴とする画像復号装置。
  13. 前記符号化画像データは周波数変換後のサブバンド毎の係数の符号化データであり、
    前記係数を逆周波数変換して画像を生成する逆周波数変換手段とを有する
    ることを特徴とする請求項12に記載の画像復号装置。
  14. 前記第2の判定手段は、1ビットの符号化データに基づいて判定することを特徴とする請求項12又は13に記載の画像復号装置。
  15. 前記逆周波数変換手段は逆ウェーブレット変換手段であって、
    前記第1の判定手段は、復号の対象の着目係数がサブバンドHL、LH、HHに属する場合に参照する周囲係数の数を、サブバンドLLに属する場合に参照する係数の数よりも少なくする
    ことを特徴とする請求項13に記載の画像復号装置。
  16. 前記着目係数をx、左隣の係数をa、前記着目係数xの1ライン前の係数をb、前記1ライン前のライン上に位置し、当該係数bを挟む係数をc、dとしたとき、
    前記第1の判定手段は、
    第1の条件:
    前記着目係数xがサブバンドLLに属し、且つ、
    a=b=c=d
    を満たす場合、前記着目係数がランレングス符号化されていると判定し、
    第2の条件:
    前記着目係数xがサブバンドLL以外に属し、且つ、
    a=b=0
    を満たす場合、前記着目係数をランレングス符号化されていると判定し、
    前記第1、第2の条件を満たさない場合、前記着目係数が予測符号化されていると判定する
    ことを特徴とする請求項15に記載の画像復号装置。
  17. 前記第1の復号手段、前記第2の復号手段で得られた係数を逆量子化する逆量子化手段を更に有し、
    前記逆周波数変換手段は、前記逆量子化手段による逆量子化後のサブバンドの係数を逆周波数変換する
    ことを特徴とする請求項15又は16に記載の画像復号装置。
  18. 前記符号化画像データは、カラー画像における1つの色成分の符号化データ、又はモノクロ画像の符号化データであることを特徴とする請求項12乃至17のいずれか1項に記載の画像復号装置。
  19. 画像を符号化し、符号データを生成する画像符号化装置の制御方法であって、
    第1の判定手段が、着目画素を、当該着目画素の周囲の符号化済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化するかを判定する第1の判定工程と、
    第2の判定手段が、前記第1の判定工程でランレングス符号化すると判定された場合、前記着目画素と直前に符号化した画素とが不一致のゼロランの状態であるか否かを判定し、当該判定結果を示す情報を符号化データとして出力する第2の判定工程と、
    第1の符号化手段が、前記第1の判定工程により前記着目画素を予測符号化すると判定された場合、又は、前記第2の判定工程でゼロランの状態であると判定された場合、前記着目画素を予測符号化し、符号化データを出力する第1の符号化工程と、
    第2の符号化手段が、前記第2の判定工程により非ゼロランの状態であると判定された場合、前記着目画素からランレングス符号化を開始し、符号化データを出力する第2の符号化工程と
    を有することを特徴とする画像符号化装置の制御方法。
  20. 符号化画像データを復号する画像復号装置の制御方法であって、
    第1の判定手段が、復号対象の着目画素が、当該着目画素の周囲の復号済みの周囲画素に基づき、予測符号化、ランレングス符号化のいずれで符号化されたかを判定する第1の判定工程と、
    第2の符号化手段が、該第1の判定工程でランレングス符号化されていると判定された場合、符号化データがゼロランの状態を示している否かを判定する第2の判定工程と、
    第1の復号手段が、前記第1の判定工程により前記着目画素が予測符号化されていると判定された場合、又は、前記第2の判定工程で符号化データがゼロランの状態を示していると判定された場合、前記着目画素を予測復号する第1の復号工程と、
    第2の復号手段が、前記第2の判定工程により前記符号化データが非ゼロランの状態を示していると判定した場合、前記着目画素からランレングス符号化されていると見なし、ランレングス復号する第2の復号工程と
    を有することを特徴とする画像復号装置の制御方法。
  21. 請求項19に記載の画像符号化装置の制御方法の各工程を、コンピュータに実行させるためのプログラム。
  22. 請求項20に記載の画像復号装置の制御方法の各工程を、コンピュータに実行させるためのプログラム。
  23. 請求項21又は22に記載のプログラムを格納した、コンピュータが読み取り可能な記憶媒体。
JP2016081465A 2016-04-14 2016-04-14 画像符号化装置及び画像復号装置及びそれらの制御方法 Active JP6727010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016081465A JP6727010B2 (ja) 2016-04-14 2016-04-14 画像符号化装置及び画像復号装置及びそれらの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016081465A JP6727010B2 (ja) 2016-04-14 2016-04-14 画像符号化装置及び画像復号装置及びそれらの制御方法

Publications (2)

Publication Number Publication Date
JP2017192077A true JP2017192077A (ja) 2017-10-19
JP6727010B2 JP6727010B2 (ja) 2020-07-22

Family

ID=60085135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016081465A Active JP6727010B2 (ja) 2016-04-14 2016-04-14 画像符号化装置及び画像復号装置及びそれらの制御方法

Country Status (1)

Country Link
JP (1) JP6727010B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020102704A (ja) * 2018-12-20 2020-07-02 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311055A (ja) * 2005-04-27 2006-11-09 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP2016005206A (ja) * 2014-06-18 2016-01-12 キヤノン株式会社 撮像装置、撮像装置の制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006311055A (ja) * 2005-04-27 2006-11-09 Fuji Xerox Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
JP2016005206A (ja) * 2014-06-18 2016-01-12 キヤノン株式会社 撮像装置、撮像装置の制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020102704A (ja) * 2018-12-20 2020-07-02 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム
JP7390788B2 (ja) 2018-12-20 2023-12-04 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム

Also Published As

Publication number Publication date
JP6727010B2 (ja) 2020-07-22

Similar Documents

Publication Publication Date Title
CN111819852B (zh) 用于变换域中残差符号预测的方法及装置
US10616603B2 (en) Methods and apparatuses for encoding and decoding digital images through superpixels
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
CN105850125B (zh) 数据编码和解码
CN117956148A (zh) 自适应环路滤波器
JP2000115782A (ja) 符号化装置及び方法及び記憶媒体
US20130251261A1 (en) Method And Apparatus For Image Data Compression
US10785493B2 (en) Method of compressing and decompressing image data
JP6727011B2 (ja) 画像符号化装置及びその制御方法
CN105284112A (zh) 用于确定量化参数的值的方法和装置
CN110870312A (zh) 用于视频压缩中的帧内编码的方法和设备
JP7390788B2 (ja) 画像符号化装置及びその制御方法及びプログラム
CN116918331A (zh) 编码方法和编码装置
JP2016092589A (ja) 符号化装置及びその制御方法
JP6727010B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法
JP6632752B2 (ja) 画像符号化装置及び方法及びプログラム及び記憶媒体
Kim et al. A lossless color image compression method based on a new reversible color transform
CN114793282B (zh) 带有比特分配的基于神经网络的视频压缩
JP6497981B2 (ja) 画像符号化装置及びその制御方法
JP6465570B2 (ja) 撮像装置、撮像装置の制御方法
JP6512927B2 (ja) 画像符号化装置及びその制御方法
CN114600166A (zh) 图像处理方法、图像处理装置和存储介质
JP2019140477A (ja) 画像符号化装置、画像符号化方法、画像符号化システム、記録媒体
JP2007221389A (ja) データ挿入装置および方法ならびに画像圧縮符号化装置および方法
CN110418133B (zh) 用于为图像数据编码的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200407

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: 20200601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200630

R151 Written notification of patent or utility model registration

Ref document number: 6727010

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151