JPWO2005081539A1 - 2次元信号の符号化/復号方法および装置 - Google Patents

2次元信号の符号化/復号方法および装置 Download PDF

Info

Publication number
JPWO2005081539A1
JPWO2005081539A1 JP2006510166A JP2006510166A JPWO2005081539A1 JP WO2005081539 A1 JPWO2005081539 A1 JP WO2005081539A1 JP 2006510166 A JP2006510166 A JP 2006510166A JP 2006510166 A JP2006510166 A JP 2006510166A JP WO2005081539 A1 JPWO2005081539 A1 JP WO2005081539A1
Authority
JP
Japan
Prior art keywords
coefficient
encoding
map
quantization
moving area
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
JP2006510166A
Other languages
English (en)
Other versions
JP4665898B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2005081539A1 publication Critical patent/JPWO2005081539A1/ja
Application granted granted Critical
Publication of JP4665898B2 publication Critical patent/JP4665898B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/1883Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

ハール関数を基底とするウェーブレット変換によって画像をサブバンドに分割し、最低周波のLLサブバンドの全領域を符号化した後、各階層のウェーブレット分解レベルに属するLH, HL, HHサブバンド係数を、空間的に同一位置にある係数ごとに符号化する。復号側では、最初に最低周波のLLサブバンドを展開した後、各ウェーブレット分解レベルのサブバンドにおいて、空間的に同一位置にあるLH係数、HL係数、HH係数を1組ずつ復号し、それらの係数値を用いて直ちに逆ウェーブレット変換を行い、次のウェーブレット分解レベルのLL係数値を得る。これにより、逐次処理型のCPUを用いてウェーブレット符号化/復号を行う際にも、十分な速度向上結果が得られる。

Description

本発明は2次元信号の圧縮伸張方式に係り、特にウェーブレット変換を用いた2次元信号の符号化/復号方法および装置に関する。
画像信号に代表される2次元信号を記録媒体に格納する場合やネットワークを通して伝送する場合には、記録媒体や伝送路を効率的に利用するためにデータの圧縮あるいは符号化が不可欠である。従来、DCT(離散コサイン変換)を用いた符号化や予測符号化などの種々の方式が提案され、実際に使用されている。近年は、ウェーブレット変換を用いた情報圧縮方法が盛んに研究され、種々の提案がされている。
たとえば、特許文献1(特開平9−148938号公報)に記載された符号化/復号方式は、まず、2次元画像をタイルに分け、各タイルに対しウェーブレット変換を繰り返し適用することによって、周波数サブバンドへの階層的な分割を行う。その後、分割された各サブバンドに対して可変長符号化を行い、低周波のサブバンドから順に符号を出力する。タイルへの分割を行うメリットとしては、係数の統計的性質の近い近接領域をまとめ、各領域に最適な符号化を施すことによって符号効率の向上が図れる点、および、ハードウェアによって符号化処理や復号処理の並列化が実現できる点などが挙げられる。なお、タイルへの分割は、過分割すると逆に符号効率が低下するため、通常、64×64程度以上の大きさに決定される。ただし、タイル分割後にウェーブレット変換を行う方法では、タイル境界に不連続な歪み、すなわちブロックノイズが生じてしまうという課題がある。
また、特許文献2(特開2000−316152号公報)に記載された符号化/復号方式は、ウェーブレット変換後の各サブバンドをブロック(8×8)へ分割し、各ブロックに対して符号化を行う。ウェーブレット変換後にブロック分割することで、ブロックノイズが発生しないというメリットがある。
上述した方式を用いてサブバンド符号化を行うことにより、時間とともに解像度を向上させる漸進的な表示機能を提供することができ、画像閲覧者の認知的な待ち時間を低減することが可能となる。たとえば、特許文献3(特開平11−298897号公報)には、解像度が上昇するに伴って、表示される画像のサイズが大きくなる画像データ伝送方法が開示されている。
また、特許文献4(特表2003−504921号公報)には、画像を分割し、各サブ画像を異なるウェーブレット復号化レートで描画する方法が開示されている。具体的には、画面の中央部がもっともユーザに注視される領域であることを利用し、中心部のサブ画像において最も早くディテールが描画され、中心から遠ざかるにしたがって遅れて徐々にディテールが描画される。このような表示機能によっても画像閲覧者の認知的な待ち時間を低減することが可能である。
しかしながら、特許文献1および特許文献2に記載されたいずれの方式も並列化を前提としているために、汎用の逐次処理型CPUを用いて復号する場合には十分な処理速度を得ることができない。その主な要因は次の通りである。
第1に、CPUは、各係数値が格納されているメモリアドレスに対して、係数の符号化(または復号)時とウェーブレット演算(または逆ウェーブレット演算)時との2回アクセスする必要がある。一般に、CPUにおいて、メモリアクセスに要する時間はCPU内部の演算時間に比べて長く、メモリアクセス回数が多いと処理速度が大きく低下する。
第2に、CPUが各タイルまたは各ブロックへのメモリアクセスを行う際、係数が格納されるアドレスが、スキャンライン上から離れた位置にあり、かつ多数行に渡る。たとえば、2LHサブバンドがブロック(8×8)の領域に分割される場合には、2LHの展開には8行のスキャンラインに対するメモリアクセスが行われる。このため、メモリアクセス先が分散し、キャッシュメモリの効率が低下する。一般的なCPUはキャッシュメモリを備えているため、局所的なメモリアクセスは高速に行うことができるが、上記のようにメモリアクセス先が分散すると、実メモリへのアクセスが発生し、処理速度が大きく低下する。
さらに、上記従来の方式では、大きな中間メモリが必要となるという問題もある。なぜならば、符号化時には、あるタイルまたはブロックのウェーブレット変換が開始されてから当該タイルまたはブロックの符号化が完了するまで、復号時には、あるタイルまたはブロックの係数復号が開始されてから逆ウェーブレット変換が完了するまで、それぞれLH、HL、HHサブバンドをメモリ上に保持しておく必要があるからである。
そこで、本発明の目的は、逐次処理型のCPUを用いてウェーブレット符号化/復号を行う際にも、十分な速度向上結果が得られる符号化/復号方法および装置を提供することにある。
本発明のさらに他の目的は、ウェーブレット符号化/復号処理において、サブバンドを一時的に格納するために必要となる中間メモリの容量を削減することができる符号化/復号方法および装置を提供することにある。
本発明の第1の側面による符号化装置は、2次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、前記抽出された係数の組を符号化する係数符号化手段と、を有することを特徴とする。
本発明の第2の側面による符号化装置は、2次元信号から空間的に隣接した2m×2(mは整数:m≧1)要素を順次抽出する要素抽出手段と、前記2m×2要素を複数のサブバンドの係数組に分割するウェーブレット変換手段と、前記係数組を符号化する係数符号化手段と、符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力する符号出力手段と、を有することを特徴とする。
本発明の第3の側面による復号装置は、ウェーブレット変換により得られた複数のサブバンドの係数を符号化した符号列を入力し、元の2次元信号を生成する復号装置において、最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号する初期係数復号手段と、前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号する係数復号手段と、前記係数の組が復号されるごとにウェーブレット逆変換を行うウェーブレット逆変換手段と、を有することを特徴とする。
本発明によれば、ハール関数を基底とするウェーブレット変換によって画像をサブバンドに分割し、最低周波のLLサブバンドの全領域を符号化した後、各階層のウェーブレット分解レベルに属するLH, HL, HHサブバンド係数を、空間的に同一位置にある係数ごとに符号化する。復号側では、最初に最低周波のLLサブバンドを展開した後、各ウェーブレット分解レベルのサブバンドにおいて、空間的に同一位置にあるLH係数、HL係数、HH係数を1組ずつ復号し、それらの係数値を用いて直ちに逆ウェーブレット変換を行い、次のウェーブレット分解レベルのLL係数値を得る。
上述したように、本発明によれば、LH、HLおよびHHサブバンドから同一画像位置にそれぞれ対応する係数を順次読み出して符号化するために、汎用の逐次処理型CPUを用いても実メモリへのストア・ロード回数を削減でき高速処理が可能となり、さらに、LH、HLおよびHHサブバンドの同一位置の係数が同時に順次符号化されるために、LH、HLおよびHHサブバンドのデータを符号化が終了するまで保持しておく必要がなくなる。
また、逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリにCPUの高速レジスタやキャッシュメモリを用いることができ、符号化速度をさらに向上させることができる。
また、復号時において、1組のLH、HLおよびHHサブバンド係数が復号されるごとに、それらの係数値がレジスタ上で直ちに逆ウェーブレット演算にかけられ、実メモリへのアクセスが削減できる。また、復号時のメモリアクセスとして、LLサブバンドの読み出しが同一スキャンライン上で連続して行われるとともに、逆ウェーブレット演算結果の書き込みもスキャンライン2行のみに対して連続して行われるため、キャッシュメモリの効率が向上する。さらに、サブバンドを一時的に格納するために必要となる中間メモリの容量を削減できる。
このように、1組のLH、HLおよびHHサブバンド係数の復号と、それらの逆ウェーブレット演算が、レジスタなどの高速メモリを介して行うことが可能となり、逐次処理型の汎用CPUにおいても、復号の高速化が達成できる。また、サブバンド全体を中間メモリに保持する必要がないため、使用メモリ量が削減できる。また、ハードウェアによる並列化が可能な場合には、従来のタイル分割方式と併用することにより、さらに高速な復号処理も可能である。
また、特別な並列演算ハードウェアを必要とせず高速に実行可能であることから、中〜低速な汎用CPUで符号化・復号を行う用途において有効である。これにより、ネットワーク経由で画像を受信・表示するクライアント端末を低コストで実現でき、安価なユビキタス端末を実現することが可能となる。
図1は、本発明の第1実施例による符号化装置の概略的構成を示すブロック図である。 図2Aは、サブバンドメモリ102における各サブバンドnLL、nLH、nHL、nHHの係数配列の一例を示す模式図である。 図2Bは、出力符号メモリ104における符号配列の一例を示す模式図である。 図3は、本発明の第1実施例による符号化装置による符号化制御を示すフローチャートである。 図4は、本発明の第1実施例による復号装置の概略的構成を示すブロック図である。 図5は、本発明の第1実施例による復号装置の復号制御を示すフローチャートである。 図6は、本発明の第2実施例による符号化装置の概略的構成を示すブロック図である。 図7は、本発明の第1実施例による符号化装置による符号化制御を示すフローチャートである。 図8は、本発明の第1および第2実施例による符号化および復号動作を模式的に示した図である。 図9は、本発明の第3実施例による符号化装置の概略的構成を示すブロック図である。 図10は、本発明の第3実施例による符号化装置による符号化制御を示すフローチャートである。 図11は、本発明の第3実施例による符号化および復号動作を模式的に示した図である。 図12は、本発明の第4実施例による符号化装置の概略的構成を示すブロック図である。 図13は、本発明の第4実施例による符号化装置による符号化制御を示すフローチャートである。 図14は、本発明の第4実施例における動領域検出と間引き動作を説明するためのコンソール画面を模式的に示した図である。 図15は、本発明の第5実施例による符号化装置の概略的構成を示すブロック図である。 図16は、本発明の第5実施例による符号化制御を示すフローチャートである。 図17は、本発明の第5実施例による符号化および復号動作を模式的に示した図である。 図18は、本発明の第6実施例による符号化装置の概略的構成を示すブロック図である。 図19は、本発明の第6実施例による符号化制御を示すフローチャートである。 図20は、本発明の第7実施例による符号化装置の概略的構成を示すブロック図である。 図21は、本発明の第7実施例による符号化制御を示すフローチャートである。 図22は、本発明の第7実施例における動領域検出と係数量子化動作を説明するためのコンソール画面を模式的に示した図である。 図23は、本発明の第8実施例による符号化および復号装置を内蔵した双方向通信端末のブロック図である。 図24は、本発明の第9実施例による符号化装置の概略的構成を示すブロック図である。 図25は、本発明の第9実施例による復号装置の概略的構成を示すブロック図である。
1.第1実施例
1.1)符号化装置
図1は、本発明の第1実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、画像データ10を画像入力装置(図示せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置101、サブバンドメモリ102、係数メモリ103、および、出力符号メモリ104を有し、生成された符号系列は符号出力装置105へ出力される。
データ処理装置101は、たとえば一般的なCPU(Central Processing Unit)などのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段101a)、初期係数符号化プロセス(初期係数符号化手段101b)、同一座標係数抽出プロセス(同一座標係数抽出手段101c)、係数符号化プロセス(係数符号化手段101d)および符号出力プロセス(符号出力手段101e)を生成することができる(詳しくは後述する。)。
サブバンドメモリ102、係数メモリ103および出力符号メモリ104は、それぞれ別個のメモリで構成することもできるが、たとえば1つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。この半導体メモリに入力画像データ10を格納するスペースを設けても良い。なお、後述するように、本発明では、CPUのレジスタやキャッシュメモリを係数メモリ103として利用することができる。
サブバンドメモリ102は、入力画像データ10を2次元ハールウェーブレット変換することにより得られたN(1以上の整数)階層のサブバンドデータ(nLL、nLH、nHL、nHH)(1≦n≦N)を格納する。以下、説明の便宜上、階層nのサブバンドnLL、nLH、nHL、nHHは、画像の空間座標(x,y)に対応するpn×qn(p,qは整数)の係数行列からなるものとする。したがって、各階層のサブバンドデータnLL、nLH、nHL、nHHはいずれも2次元信号である。
係数メモリ103は、データ処理装置101の同一座標係数抽出プロセスによりサブバンドメモリ102から順次抽出された1つの階層のサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{LH(i,j),HL(i,j),HH(i,j)}を格納する。係数組の抽出順は画像の左上端から右下端までのスキャンライン方向に従う。ただし、2以上の一定数の係数組を順次抽出することもできる。たとえば{LH(i,j),HL(i,j),HH(i,j)}に隣接する1つ以上の係数組を抽出して係数メモリ103に格納してもよい。上述したように、係数メモリ103にCPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。
出力符号メモリ104はNLLサブバンド符号メモリ104.1と(nLH、nHL、nHH)サブバンド符号メモリ104.2を有する。NLLサブバンド符号メモリ104.1は、データ処理装置101の初期係数符号化プロセスにより階層NのサブバンドNLLを符号化することで得られたサブバンド符号NLLcを格納する。(nLH、nHL、nHH)サブバンド符号メモリ104.2は、係数メモリ103に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号(nLH、nHL、nHH)cを格納する。
(メモリデータ構成)
サブバンドメモリ102および出力符号メモリ104のデータ構成の一例を説明する。
ここでは、係数メモリ103に、同一空間座標(i,j)の1組の係数{LH(i,j),HL(i,j),HH(i,j)}が格納され、符号化される場合を例示する。
図2Aはサブバンドメモリ102における各サブバンドnLL、nLH、nHL、nHHの係数配列の一例を示す模式図であり、図2Bは出力符号メモリ104における符号配列の一例を示す模式図である。
図2Aにおいて、2次元ハールウェーブレット変換により得られる階層nのサブバンドnLLの係数配列はnL(0,0),nL(1,0),・・・,nL(pn,qn)、サブバンドnLHの係数配列はnA(0,0),nA(1,0),・・・,nA(pn,qn)、サブバンドnHLの係数配列はnB(0,0),nB(1,0),・・・,nB(pn,qn)、サブバンドnHHの係数配列はnC(0,0),nC(1,0),・・・,nC(pn,qn)であり、それぞれ画像の空間的位置を示す座標(0,0),・・・,(i,j),・・・、(pn,qn)に対応している。
図2Bにおいて、NLLサブバンド符号メモリ104.1には、上述したサブバンドNLLの係数NL(0,0),NL(1,0),・・・,NL(pN,qN)を初期符号化プロセスにより符号化した符号NLLc(0,0),NLLc(1,0),・・・,NLLc(pN,qN)が格納されている。ここで、初期符号化プロセスの符号化方式には、隣接する係数との差分を符号化するDPCM(Differential Pulse Code Modulation)ハフマン符号などが利用できる。
また、(nLH、nHL、nHH)サブバンド符号メモリ104.2には、係数メモリ103に順次読み出された同一座標係数の1組あるいは複数組(nLH、nHL、nHH)を係数符号化プロセスにより1組ずつ符号化した符号(nLHc、nHLc、nHHc)が格納されている。ここで、係数符号化プロセスの符号化方式には、ゼロ値の連長数と非ゼロ係数の値によるランレングスハフマン符号やLZW(Lempel-Ziv-Welch)符号などが利用できる。
図2Aのサブバンドデータを例に取ると、まず階層nのサブバンドnLH、nHL、nHHの同じ座標(0,0)を有する係数nA(0,0)、nB(0,0)およびnC(0,0)がまとめて係数メモリ103に読み出され、係数符号化プロセスにより符号化されたnAc(0,0)、nBc(0,0)およびnCc(0,0)がサブバンド符号メモリ104.2に格納される。続いて、同じ座標(1,0)を有する係数nA(1,0)、nB(1,0)およびnC(1,0)がまとめて係数メモリ103に読み出され、係数符号化プロセスにより符号化されたnAc(1,0)、nBc(1,0)およびnCc(1,0)がサブバンド符号メモリ104.2に格納される。以下同様にして、座標(pn,qn)までの全ての係数が符号化され、サブバンド符号メモリ104.2に格納される。
2組の係数が係数メモリ103に読み出される例では、階層nのサブバンドnLH、nHL、nHHの同じ座標(0,0)および(1,0)を有する係数nA(0,0)、nB(0,0)、nC(0,0)および係数nA(1,0)、nB(1,0)、nC(1,0)がまとめて係数メモリ103に読み出され、同様に符号化が行われ、符号nAc(0,0)、nBc(0,0)およびnCc(0,0)およびnAc(1,0)、nBc(1,0)、nCc(1,0)がサブバンド符号メモリ104.2に格納されてもよい。この場合、次に係数メモリ103に読み出されるのは、サブバンドnLH、nHL、nHHの同じ座標(2,0)および(3,0)を有する係数である。以下同様に、順次2組ずつ係数が読み出される。一般化して、2以上の一定数の係数組が読み出される場合も同様である。
このようにして出力符号メモリ104に格納されたサブバンド符号NLLcとnLHc、nHLcおよびnHHcとが符号出力プロセスにより符号出力装置105へ出力される。符号出力装置105は、たとえばDVDなどの光記録媒体に情報を記録するドライブであり、あるいは、ネットワークに接続されたネットワークインターフェースである。
(符号化制御)
図3は、本実施例における符号化制御を示すフローチャートである。
まず、カメラやスキャナなどの画像入力装置から画像データ10を入力し、画像メモリに格納する(ステップS11)。
次に、データ処理装置101上のウェーブレット変換プロセスは、画像メモリから読み出された画像データ10に対してN段の2次元ハールウェーブレット変換を実行し、その変換結果を上述したようにサブバンドメモリ102に格納する(ステップS12)。
2次元ハールウェーブレット変換が終了すると、初期係数符号化プロセスは、初期係数NLLを階層Nのサブバンドメモリから読み出し、ランレングスハフマン符号あるいはLZW符号などを用いて可変長符号化し、その符号NLLc(0,0),NLLc(1,0),・・・,NLLc(pN,qN)を出力符号メモリ104のNLLサブバンド符号メモリ104.1に格納する(ステップS13)。
初期係数符号化が全て終了すると、次の符号化対象はLH、HL、HHサブバンドとなる。まず、解像度レベル(階層)を示す変数nをNに設定して符号化対象を階層NのLH、HL、HHサブバンドとし(n=N)、さらに、同一座標係数抽出プロセスはnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS14)。
続いて、同一座標係数抽出プロセスは、サブバンドメモリ102から階層nのサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{nA(i,j),nB(i,j),nC(i,j)}を読み出して係数メモリ103に格納する(ステップS15)。ただし、上述したように2以上の一定数の係数組を読み出してもよい。たとえば同一空間座標(i,j)、(i+1、j)・・・にそれぞれ対応する一定数の係数組を読み出す。こうして1つあるいは複数の係数組が係数メモリ103に読み出されると、係数符号化プロセスが起動して符号化が行われる。
係数符号化プロセスは、係数メモリ103から係数組nA(i,j),nB(i,j),nC(i,j)を読み出して可変長符号化を行い、出力符号メモリ104のサブバンド符号メモリ104.2に格納する(ステップS16)。係数メモリ103に読み出された係数組に関する符号化が終了すると、同一座標係数抽出プロセスは、当該階層nの全ての座標に関して符号化が終了したか否かを判定する(ステップS17)。
当該階層nにおける全ての符号化が終了していなければ(ステップS17のNO)、抽出座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS18)、当該階層nにおける全ての符号化が終了するまで上記ステップS15〜S18を繰り返す。
階層nにおける全ての符号化が終了すると(ステップS17のYES)、現在の階層nが最大解像度であるn=1であるか否かを判定し(ステップS19)、nが1に到達していなければ(ステップS19のNO)、nを1だけデクリメントし(ステップS20)、nLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS21)。こうして階層nを1ずつ減少させながら上記ステップS15〜S21を繰り返す。
最高解像度レベルである階層n=1のサブバンドの符号化が完了すると(ステップS19のYES)、符号出力プロセスは、出力符号メモリ104に蓄積された符号列を読み出し、符号出力装置105へ出力する(ステップS22)。
なお、上記説明では、全符号化が完了した後に符号出力する動作としたが、一定量の符号が蓄積される毎に、符号を出力してもよい。こうしたストリーミング伝送を用いることにより、出力符号メモリ104のメモリ使用量および伝送開始遅延を小さくすることができる。
また、上記説明では、各解像度の低周波成分を画像メモリおよび各nLLサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらのメモリを共有し使用メモリ量を削減するといった方法を採ってもよい。
1.2)復号装置
図4は、本発明の第1実施例による復号装置の概略的構成を示すブロック図である。
復号装置は、上記符号化装置により出力された符号列20を入力し、後述するウェーブレット復号により元の画像データを出力する。復号装置は、主として、データ処理装置201、サブバンドメモリ202、係数メモリ203、および、画像出力装置204を有し、復号された画像データが画像出力装置204へ出力される。
データ処理装置201は、符号化装置と同様にCPUなどのプログラム制御プロセッサであり、図示しないプログラムメモリから復号プログラム群を読み出して実行することで、初期係数の復号プロセス(初期係数の復号手段201a)、同一座標係数の復号プロセス(同一座標係数の復号手段201b)、ウェーブレット逆変換(ここでは、2次元ハールウェーブレット逆変換)プロセス(ウェーブレット逆変換手段201c)、および画像出力プロセス(画像出力手段201d)を生成することができる(詳しくは後述する。)。
サブバンドメモリ202および係数メモリ203は、それぞれ別個のメモリで構成することもできるが、たとえば1つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。この半導体メモリに入力符号列20を格納する入力符号メモリを設けても良い。なお、後述するように、本発明では、CPUのレジスタやキャッシュメモリを係数メモリ203として利用することができる。
サブバンドメモリ202は、後述する初期係数および同一座標係数の復号ステップおよびウェーブレット逆変換ステップにより、復号されたNLLサブバンド係数列から順次生成された(N−1)LL、(N−2)LL、・・・サブバンド係数列を格納する。以下、NLLサブバンド係数列も含めて一般化し、nLLサブバンド係数列(0≦n≦N)と記す。
係数メモリ203は、データ処理装置201の同一座標係数復号プロセスにより復号された同一空間座標(i,j)のサブバンド係数の組{LH(i,j),HL(i,j),HH(i,j)}を格納する。ただし、2以上の一定数の係数組が格納されてもよい。たとえば{LH(i,j),HL(i,j),HH(i,j)}に隣接する1つ以上の係数組が符号化されている場合、複数の係数組が復号され係数メモリ203に格納される。上述したように、係数メモリ203にCPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。
画像出力装置204は、たとえば液晶ディスプレイなどである。データ処理装置201の画像出力プロセスは、後述する初期係数および同一座標係数の復号プロセスと、ウェーブレット逆変換のプロセスとによって復号された画像データを画像出力装置204に表示する。
図5は、本発明の第1実施例による復号装置の復号制御を示すフローチャートである。まず、入力した可変長符号列20を入力符号メモリに格納する(ステップS31)。
次に、初期係数復号プロセスは、入力符号メモリからNLLサブバンドの可変長符号を順次読み出して復号し、得られた初期係数であるNLLサブバンド係数NL(0,0)、NL(0,1)・・・をNLLサブバンドメモリ202に格納する(ステップS32)。
NLLサブバンド係数の復号が全て終了すると、次の復号対象はLH,HL,HHサブバンドとなる。まず、解像度レベル(階層)を示す変数nをNに設定して復号対象を階層NのLH、HL、HHサブバンドとし(n=N)、さらに、同一座標係数復号プロセスはnLH、nHL、nHHの各サブバンドの復号する係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS33)。
続いて、同一座標係数復号プロセスは符号列nAc(i,j),nBc(i,j),nCc(i,j)・・・を入力符号メモリから読み出し、階層nのサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{nA(i,j),nB(i,j),nC(i,j)}を係数メモリ203に格納する(ステップS34)。ただし、上述したように複数組の係数が符号化されている場合には、複数組の係数が係数メモリ203に格納される。こうして1あるいは2以上の一定数の係数組が係数メモリ203に格納されると直ちに、ウェーブレット逆変換プロセスによりウェーブレット逆変換が行われる。
ウェーブレット逆変換プロセスは、係数メモリ203から係数nA(i,j),nB(i,j),nC(i,j)を、サブバンドメモリ202から対応するnLLサブバンド係数nL(i,j)をそれぞれ読み出す(ステップS35)。読み出されたnL(i,j)、nA(i,j),nB(i,j)およびnC(i,j)に対してウェーブレット逆変換を行い、その結果をサブバンドメモリ202に(n−1)LLサブバンドの係数(n−1)L(i,j)として格納する(ステップS36)。続いて、同一座標係数復号プロセスは、当該階層nの全ての座標に関して復号が終了したか否かを判定する(ステップS37)。
当該階層nにおける全ての復号が終了していなければ(ステップ37のNO)、座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS38)、当該階層nにおける全ての復号が終了するまで上記ステップS34〜S38を繰り返す。
階層nにおける全ての復号が終了すると(ステップS37のYES)、現在の階層nが出力すべき解像度に対応する階層NDに到達したか否かを判定する(ステップS39)。
nがNDに到達していなければ(ステップS39のNO)、nを1だけデクリメントし(ステップS40)、nLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS301)。こうして階層nを1ずつ減少させながらnがNDに到達まで上記ステップS34〜S40,S301を繰り返す。
階層nが出力すべき解像度の階層NDに到達すると(ステップS39のYES)、画像出力プロセスは(n−1)LLサブバンドデータをサブバンドメモリ202から読み出し、画像出力装置204へ出力して画像表示する(ステップS302)。
続いて、階層nが最大解像度であるn=1であるか否かを判定する(ステップS303)。階層nが1に到達していない場合には(ステップS303のNO)、復号すべきサブバンドが残っているので、ステップS40に戻り、階層nが1に到達するまで上記ステップS34〜S40,S301〜S303を繰り返す。最高解像度レベルである階層n=1のサブバンドの復号が完了すると(ステップS303のYES)、処理を終了する。
なお、上記説明では、全ての符号入力が完了した後に復号する動作としたが、初期符号から順次、一定量の符号が入力される毎に復号を行ってもよい。こうしたストリーミング伝送を用いることにより、入力符号メモリのメモリ使用量および復号開始遅延を小さくすることができる。
また、上記説明では、入力符号列を入力符号メモリに保持し、nLLサブバンド係数をnLLサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらのメモリの一部を共有し使用メモリ量を削減するといった方法を採ってもよい。
また、本実施例において、符号化装置の係数符号化プロセスが出力する符号および復号装置の係数復号プロセスの入力となる符号は、
(a)まずLH係数の(Y,Cb,Cr)、次にHL係数の(Y,Cb,Cr)、最後にHH係数の(Y,Cb,Cr)といった順に並んでいてもよし、
(b)まずY成分のLH、HL、HH係数、次にCb成分のLH、HL、HH係数、最後にCr成分のLH、HL、HH係数といった順に並んでいてもよい。
符号化・復号を行うCPUが複数のデータ列に対して同一演算を適用するSIMD(Single Instruction stream/Multiple data stream)命令に対応している場合には、前者(a)の符号順を用いるのが効率的である。また、SIMD命令に対応しておらず演算用レジスタのビット数が少ないCPUの場合では、後者(b)の符号順によって各係数の成分ごとに演算を行うのが効率的である。
1.3)効果
第1実施例の符号化装置および符号化制御によれば、画像データをウェーブレット変換することで得られたLH、HLおよびHHサブバンド係数を格納し、それぞれ画像の同一位置にそれぞれ対応する係数を少なくとも1組ずつ順次読み出して符号化し、出力符号メモリに格納する。
逐次符号化が可能となるために、符号化対象の係数を格納する係数メモリにCPUの高速レジスタやキャッシュメモリを用いることができ、符号化速度を向上させることができる。
第1実施例の復号装置および復号制御によれば、係数復号プロセスによって復号されたそれぞれ同一画像位置に対応する1組あるいは複数組のLH、HLおよびHHサブバンド係数は、レジスタなどの高速メモリである係数メモリに読み出されると直ちにウェーブレット逆変換される。したがって、逐次処理型CPUにおいて実メモリへのストア・ロード回数を削減でき、復号速度が大幅に高速化する。
さらに、LH、HLおよびHHサブバンドの同一画像位置の係数が同時に順次復号化されるために、LH、HLおよびHHサブバンドのデータの復号が終了するまで保持しておく必要がなくなる。
さらに、ウェーブレット逆変換プロセスはLLサブバンドをスキャンライン順に連続して読み出し、また、演算結果をnLLサブバンドの2行分のスキャンライン上に連続して出力するため、キャッシュメモリの効率が向上し、高速化が達成できる。
また、ブロックやタイル毎ではなく、スキャンライン順に画素が出力されるため、復号の途中経過を表示しても復号済み領域と未復号領域との境界に階段状のノイズが生じない。
2.第2実施例
2.1)符号化装置
図6は、本発明の第2実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、2次元信号の代表例として画像データ10を画像入力装置(図示せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置301、LLサブバンドメモリ302、係数メモリ303、および、出力符号メモリ304を有し、生成された符号系列は符号出力装置305へ出力される。
データ処理装置301は、一般的なCPUなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素抽出プロセス(画素抽出(要素抽出)手段301a)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段301b)、係数符号化プロセス(係数符号化手段301c)、初期係数符号化プロセス(初期係数符号化手段301d)、および符号出力プロセス(符号出力手段301e)を生成することができる(詳しくは後述する。)。
LLサブバンドメモリ302、係数メモリ303および出力符号メモリ304は、それぞれ別個のメモリで構成することもできるが、たとえば1つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、CPUのレジスタやキャッシュメモリを係数メモリ303として利用することができる。
LLサブバンドメモリ302は、入力画像データ10を0LLサブバンドデータとして格納し、さらに画素抽出プロセスにより順次抽出された部分領域(2m×2)を2次元ハールウェーブレット変換することにより得られるnLLサブバンド係数(1≦n≦N)を順次格納し、最終的にはNLLサブバンド係数が格納される。第2実施例における符号化装置では、画素抽出プロセスが(n−1)LLサブバンド係数から空間的に隣接した2m×2画素の部分領域を順次抽出し、それに対して2次元ハールウェーブレット変換を実行し、nLLサブバンド係数が得られる。2m×2部分領域の抽出順は画像の左上端から右下端までのスキャンライン方向に従う。
係数メモリ303は、2次元ハールウェーブレット変換により得られた1つの階層のサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{LH(i,j),HL(i,j),HH(i,j)}を格納する。ただし、2以上の一定数の係数組を格納してもよい。上述したように、係数メモリ303にCPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納可能である。
出力符号メモリ304は(nLH、nHL、nHH)サブバンド符号メモリ304.1および初期出力符号であるNLLサブバンド符号メモリ304.2を有する。(nLH、nHL、nHH)サブバンド符号メモリ304.1は、係数メモリ303に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号(nLH、nHL、nHH)cを格納する。NLLサブバンド符号メモリ304.2は、データ処理装置301の初期係数符号化プロセスによりNLLサブバンド係数を符号化することで得られたサブバンド符号NLLcを格納する。
(符号化制御)
図7は、本実施例における符号化制御を示すフローチャートである。
まず、カメラやスキャナなどの画像入力装置から画像データ10を入力し、0LLサブバンドとしてLLサブバンドメモリ302に格納する(ステップS41)。
データ処理装置301上の画素抽出プロセスは、解像度レベル(階層)を示す変数nを1に設定し、さらにnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS42)。
続いて、画素抽出プロセスは、LLサブバンドメモリ302の(n−1)LLサブバンドから、座標(i,j)に対応する空間的に隣接した2m×2画素の部分領域を順次抽出する(ステップS43)。たとえば、n=1、m=1およびi=j=0の場合は、図6に示すように、0LLサブバンド(入力画像データ10)から左上の2×2部分領域(H1,H2、H3、H4)が抽出される。
ウェーブレット変換プロセスは、抽出された2m×2画素の部分領域に対して2次元ハールウェーブレット変換を実行し(ステップS44)、その結果得られたLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を係数メモリ303にそれぞれ格納し、LL係数nL(i,j)をnLLサブバンドとしてLLサブバンドメモリ302に格納する(ステップS45)。
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ303から係数組nA(i,j),nB(i,j),nC(i,j)を読み出して可変長符号化を行い、出力符号メモリ304のサブバンド符号メモリ304.1に格納する(ステップS46)。係数メモリ303に読み出された係数組に関する符号化が終了すると、画素抽出プロセスは、当該階層nの全ての座標に関して符号化が終了したか否かを判定する(ステップS47)。
当該階層nにおける全ての符号化が終了していなければ(ステップS47のNO)、抽出座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS48)、当該階層nにおける全ての符号化が終了するまで上記ステップS43〜S48を繰り返す。
階層nにおける全ての符号化が終了すると(ステップS47のYES)、現在の階層nが最低解像度レベルの階層Nであるか否かを判定し(ステップS49)、nがNに到達していなければ(ステップS49のNO)、nを1だけインクリメントし、空間座標(x,y)を原点に初期化する(i=j=0)(ステップS50)。こうして階層nを1ずつ増加させながら上記ステップS43〜S50を繰り返す。
最低解像度レベルNのサブバンドの符号化が完了すると(ステップS49のYES)、初期係数符号化プロセスが立ち上がり、LLサブバンドメモリ302に格納されているNLLサブバンド係数を符号化し、出力符号メモリ304のNLLサブバンド符号メモリ304.2に格納する(ステップS401)。
続いて、符号出力プロセスは、出力対象の階層nを最低解像度レベルNに設定し(ステップS402)、出力符号メモリ304のサブバンド符号メモリ304.1およびNLLサブバンド符号メモリ304.2から階層nの符号を低解像度から高解像度の順で読み出し出力する(ステップS403〜S405)。すなわち、階層nのサブバンド符号が出力されると(ステップS403)、階層nが最高解像度レベルn=1に到達したか否かを判定し(ステップS404)、到達していなければ(ステップS404のNO)、階層nを1だけ減少させ(ステップS405)、ステップS403に戻る。こうしてn=1になるまで上記ステップS403〜S405を繰り返して全ての符号を順次出力する。
上述したように、画素抽出プロセスは2m×2の部分領域を抽出することができる。mの値はCPUに依存して決定すればよい。たとえば、CPUが複数のデータ列に対して同一演算を適用するSIMD命令に対応している場合には、例えばm=2として4×2といった単位で抽出し、複数のウェーブレット演算を一括して行うことにより演算効率を向上させることができる。
また上記説明では、各解像度の低周波成分をnLLサブバンドメモリに保持する方式としたが、本発明はこれらの記憶方法を限定するものではない。たとえば、これらの記憶部を共有し使用メモリ量を削減するといった方法を採ってもよい。
2.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
2.3)効果
本実施例による符号化装置および符号化制御では、画素抽出プロセスによって抽出された2m×2画素領域に対してウェーブレット演算が行われた後、そのLH,HL,HH係数がレジスタなどの小規模・高速メモリ(計数メモリ303)上で、直ちに符号化される。これにより高速符号化が可能となり、またLH,HL,HHサブバンドを格納するための実メモリが不要となる。
なお、本実施例では、符号出力が開始されるまで出力符号を全て一時的に記憶しておく必要があり、ストリーミング伝送ができない。このため、第1実施例においてストリーミング伝送を行った場合と比べ、一時的に記憶するためのメモリ(出力符号メモリ304)は増加する。しかし、これらの符号は可変長符号化によって冗長性が削減されているため、全体としては、サブバンドをそのまま記憶する第1実施例よりもメモリ容量を抑えることができる。
2.4)具体例
上述した第1および第2実施例の具体例を図面を参照しながら説明する。
図8は、本発明の第1および第2実施例による符号化および復号動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置101、201、301としてパーソナルコンピュータを、データ記憶装置102〜104、202、203、および302〜304として半導体メモリ(パーソナルコンピュータに含まれる)を、符号出力装置105,305として有線あるいは無線ネットワーク通信制御装置を備えているものとする。
符号化装置の場合、パーソナルコンピュータは、画像入力、ウェーブレット演算、初期係数符号化、係数抽出、係数符号化、符号出力の各機能を実現するCPUを有している。
まずビデオカメラから輝度・色差空間で表される入力画像10が与えられると、画像入力プロセスによって、画像データ(0LL)が半導体メモリに格納される。格納された画像10は、画素としてH1, H2, …を持ち、各画素はY,Cb,Crの数値データ(H1#Y, H1#Cb, H1#Cr, …)から構成されている。
入力画像10は、ウェーブレット演算によって、2次元ハールウェーブレット変換が施され、結果が半導体メモリ内にnLL、nLH、nHLおよびnHHサブバンド係数Z101〜Z104として格納される。具体的には、左上端の原点から順に、まず、画素H1,H2,H3,H4のY,Cb,Cr成分に対してウェーブレット演算が行われ、L1,A1,B1,C1にY,Cb,Crの各係数値が書き込まれる。次に、画素H5,H6,H7,H8のY,Cb,Cr成分に対してウェーブレット演算が行われ、L2,A2,B2,C2にY,Cb,Crの各係数値が書き込まれる。以上の処理が、画像の右下終端まで繰り返される。以上のウェーブレット変換が、LLサブバンドに対して繰り返し適用され、多重解像度のデータが構成される。
ウェーブレット変換が完了すると、次に、初期係数符号化プロセスによって、最低解像度である解像度レベルNのLLサブバンド(図8では1LLサブバンド)の原点(x,y)=(0,0)から、係数値が順次読み込まれて可変長符号化される。これにより得られた符号Z105は、図8では1LL符号メモリに格納される。
さらに、解像度レベルNから順に、LH, HL, HHサブバンドの符号化が行われる。LH, HL, HHサブバンドの符号化では、原点から順に、その空間座標に対応する係数が順次抽出されて可変長符号化される。具体的には、まず、係数抽出プロセスによって、(x,y)=(0,0)に対応する係数A1,B1,C1が抽出され、係数符号化プロセスによって可変長符号化される。
次に、(x,y)=(1,0)に対応する係数A2,B2,C2が抽出され、符号化される。以上の処理がサブバンドの右下終端まで行われ、得られた符号Z106が(LH,HL,HH)符号メモリに格納される。
最後に、符号出力プロセスによって、LL符号メモリおよび(LH,HL,HH)符号メモリの内容が順次通信路へ出力される。
復号装置の場合、パーソナルコンピュータは、符号入力、初期係数復号、係数復号、逆ウェーブレット演算、画像出力の各機能を実現するCPUを有している。
通信路から符号が与えられると、符号入力プロセスによって、符号データZ105およびZ106が半導体メモリに格納される。図8の例では1LL符号および(1LH,1HL,1HH)符号が格納される。
入力符号Z105は、初期係数復号プロセスによって復号され、結果が半導体メモリ内のLLサブバンドメモリに出力される。
次に、 (LH,HL,HH)符号データZ106が係数復号プロセスに順次供給され、係数値の復号が行われる。続いて、復号された係数とLLサブバンドメモリの係数との組から、逆ウェーブレット演算プロセスによって2次元ハール逆ウェーブレット演算が行われ、結果が0LLサブバンドメモリに出力される。具体的には、まず、係数値A1,B1,C1が順次復号された後、係数値L1,A1,B1,C1を用いて逆ウェーブレット演算が行われ、演算結果がH1,H2,H3,H4へ出力される。次に、係数値A2,B2,C2が順次復号された後、係数値L2,A2,B2,C2を用いて逆ウェーブレット演算が行われ、演算結果がH5,H6,H7,H8へ出力される。以上の処理が、サブバンドの終端まで繰り返される。
さらに高解像度のサブバンドの符号が存在する場合、以上のウェーブレット逆変換が繰り返し適用され、多重解像度の画像が順次復号される。
各解像度レベルのサブバンドが復号完了した段階で、画像出力プロセスによって画像が液晶ディスプレイへ出力される。
同じく図8を参照して、本発明の符号化方式の第2の具体例について説明する。ただし、本具体例におけるパーソナルコンピュータは、画像入力、画素抽出、ウェーブレット演算、係数符号化、初期係数符号化および符号出力の各機能を実現するCPUを有している。
ビデオカメラから、入力画像として、輝度・色差空間で表される画像10が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。
入力画像10は、画素抽出プロセスによって、2×2画素ごとに抽出され、ウェーブレット演算プロセスへ供給され、ウェーブレット演算と符号化が行われる。具体的には、まず、画素H1,H2,H3,H4がウェーブレット演算プロセスへ供給されて符号化が行われた後、画素H5,H6,H7,H8がウェーブレット演算プロセスへ供給されて符号化が行われる。
ウェーブレット演算プロセスは、2×2の画素が供給されると、これら画素に対して2次元ハールウェーブレット変換を施し、係数L1,A1,B1,C1を得る。係数符号化プロセスは、A1,B1,C1を順次符号化し、(LH,HL,HH)符号Z106として出力符号メモリへ格納する。
以上の処理が、画像の終端まで繰り返される。また、こうして生成されたnLLサブバンドに対して、さらにウェーブレット演算と符号化が繰り返し適用され、多重解像度の符号が生成される。
次に、初期係数符号化プロセスによって、最低解像度である解像度レベルNのLLサブバンド(図8では1LLサブバンドメモリ)の原点(x,y)=(0,0)から、係数値が順次読み込まれて可変長符号化される。これにより得られた符号は、図8では1LL符号メモリに格納される。
最後に、符号出力プロセスによって、半導体メモリに格納された符号データが、解像度レベルNから順に並べ替えられ、LL符号メモリおよび(LH,HL,HH)符号メモリのデータが順次通信路へ出力される。
3.第3実施例
3.1)符号化装置
図9は、本発明の第3実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、2次元信号の代表例として画像データ10を画像入力装置(図示せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置401、LLサブバンドメモリ402、係数メモリ403、出力符号メモリ404、および、画素間引きマップメモリ405を有し、生成された符号系列は符号出力装置406へ出力される。
データ処理装置401は、一般的なCPUなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、画素間引きマップ生成プロセス(画素間引きマップ生成手段401a)、画素間引き抽出プロセス(画素間引き抽出手段401b)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段401c)、係数符号化プロセス(係数符号化手段401d)、初期係数符号化(初期係数符号化手段401e)、および符号出力プロセス(符号出力手段401f)を生成することができる(詳しくは後述する。)。
LLサブバンドメモリ402、係数メモリ403、出力符号メモリ404および画素間引きマップメモリ405は、それぞれ別個のメモリで構成することもできるが、たとえば1つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、CPUのレジスタやキャッシュメモリを係数メモリ403として利用することができる。
LLサブバンドメモリ402は、入力画像データ10を0LLサブバンドデータとして格納し、さらに画素間引き抽出プロセスにより順次抽出された部分領域(2m×2)を2次元ハールウェーブレット変換することにより得られるnLLサブバンド係数(1≦n≦N)を順次格納し、最終的にはNLLサブバンド係数が格納される。第3実施例における符号化装置では、画素間引き抽出プロセスが(n−1)LLサブバンド係数から2m×2画素の部分領域を順次抽出し、それに対して間引き処理を行い、その結果に対して2次元ハールウェーブレット変換を実行し、nLLサブバンド係数が得られる。2m×2画素の部分領域はスキャンライン方向に順次抽出される。
係数メモリ403は、2次元ハールウェーブレット変換することにより得られる1つの階層のサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{LH(i,j),HL(i,j),HH(i,j)}を格納する。ただし、2以上の一定数の係数組を格納することもできる。たとえば{LH(i,j),HL(i,j),HH(i,j)}に隣接する1つ以上の係数組を抽出して係数メモリ403に格納してもよい。上述したように、係数メモリ403にCPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。
出力符号メモリ404は(nLH、nHL、nHH)サブバンド符号メモリ404.1および初期出力符号であるNLLサブバンド符号メモリ404.2を有する。(nLH、nHL、nHH)サブバンド符号メモリ404.1は、係数メモリ403に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号(nLH、nHL、nHH)cを格納する。NLLサブバンド符号メモリ404.2は、データ処理装置401の初期係数符号化プロセスによりNLLサブバンド係数を符号化することで得られたサブバンド符号NLLcを格納する。
画素間引きマップメモリ405は、後述する画素間引きマップ生成プロセスにより生成され、画像の各部分における解像度レベルが格納されている。したがって、画素間引きマップメモリ405をサーチすることで、抽出された部分領域に対して画素間引き処理を行うか否かを判定することができる(詳しくは後述する)。
(符号化制御)
図10は、本実施例における符号化制御を示すフローチャートである。
まず、カメラやスキャナなどの画像入力装置から画像データ10を入力し、0LLサブバンドとしてLLサブバンドメモリ402に格納する(ステップS51)。
データ処理装置401上の画素間引きマップ生成プロセスは、画像の入力が行われると、0LLサブバンドデータを読み込み、各座標の画素をどの解像度レベルまで間引いて符号化するかを示す画素間引きマップを生成し、画素間引きマップメモリ405に格納する(ステップS52)。
たとえば、1つの画像内に濃淡2値の文字領域と色や濃淡が細かく変化する写真とが混在している場合、隣接要素値の変位を検出することで、あるいは、エッジ強度などの特徴量を解析することで写真領域と文字領域とを区別することができる。そして、写真領域の解像度を文字領域より低下させるように画素間引きマップを生成することで、視覚的な品質劣化を抑えながら符号量を削減することが可能になる。
画素間引き抽出プロセスは、解像度レベル(階層)を示す変数nを1に設定し、さらにnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS53)。
続いて、画素間引き抽出プロセスは、LLサブバンドメモリ402の(n−1)LLサブバンドから、座標(i,j)に対応する2m×2画素の部分領域を順次抽出する(ステップS54)。たとえば、n=1、m=1およびi=j=0の場合は、図9に示すように、0LLサブバンド(入力画像データ10)から左上の2×2部分領域(H1,H2、H3、H4)が抽出される。
部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対応する座標の解像度レベルを画素間引きマップメモリ405から読み出し、その解像度レベルの値によって、抽出部分が間引き対象画素である否かを判定する(ステップS55)。当該抽出部分が間引き対象である場合(ステップS55のYES)、所定の間引き演算によって画素が間引かれ(ステップS56)、間引かれた画素値に対してウェーブレット変換が実行される(ステップS57)。当該抽出部分が間引き対象でない場合(ステップS55のNO)、当該抽出部分のそのままの画素値でウェーブレット変換が実行される(ステップS57)。なお、間引き演算は特に限定されない。抽出領域内の1つの画素値を代表値として用いてもよいし、抽出された全画素値の平均をとってもよい。
たとえば、抽出された2×2画素が間引き対象画素である場合、それら画素値の平均値を持った2×2画素として、ウェーブレット演算プロセスに供給される。間引き対象画素ではない場合は、2×2画素のそれぞれの画素値がそのままウェーブレット演算プロセスに供給される。
ウェーブレット変換プロセスは、抽出された2m×2画素の部分領域に対して2次元ハールウェーブレット変換を実行し(ステップS57)、その結果得られたLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を係数メモリ403にそれぞれ格納し、LL係数nL(i,j)をnLLサブバンドとしてLLサブバンドメモリ402に格納する(ステップS58)。
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ403から係数nA(i,j),nB(i,j),nC(i,j)を読み出して可変長符号化を行い、出力符号メモリ404のサブバンド符号メモリ404.1に格納する(ステップS59)。係数メモリ403に読み出された係数組に関する符号化が終了すると、画素間引き抽出プロセスは、当該階層nの全ての座標に関して符号化が終了したか否かを判定する(ステップS60)。
当該階層nにおける全ての符号化が終了していなければ(ステップS60のNO)、抽出座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS501)、当該階層nにおける全ての符号化が終了するまで上記ステップS54〜S60,S501を繰り返す。
階層nにおける全ての符号化が終了すると(ステップS60のYES)、現在の階層nが最低解像度レベルの階層Nであるか否かを判定し(ステップS502)、nがNに到達していなければ(ステップS502のNO)、nを1だけインクリメントし、空間座標(x,y)を原点に初期化する(i=j=0)(ステップS503)。こうして階層nを1ずつ増加させながら上記ステップS54〜S60,S501〜S503を繰り返す。
最低解像度レベルNのサブバンドの符号化が完了すると(ステップS502のYES)、初期係数符号化プロセスが立ち上がり、LLサブバンドメモリ402に格納されているNLLサブバンド係数を符号化し、出力符号メモリ404のNLLサブバンド符号メモリ404.2に格納する(ステップS504)。
以下、ステップS504〜S508は、図7におけるステップS401〜S405とおなじであるから説明は省略する。
本実施例では、画素間引きマップ生成プロセスにおける解像度レベルの決定方法については限定しない。たとえば、写真・自然画と文字・グラフが混在している画像においては、画像閲覧者の意図によって、写真・自然画と、文字・グラフとで解像度レベルを異ならせてもよい。また、写真・自然画といった、輝度変化の緩やかな領域の解像度をより低くすることで、認知的な品質劣化を抑えながら符号量を削減できる。
また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで解像度を異なるようにしてもよい。特に、比較的小さい領域の解像度を比較的大きい領域の解像度より低く設定してもよい。隣接要素値の変位の大小は、隣接要素値の変位が予め設定された閾値より大きいか小さいかによって決めることができる。
3.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
3.3)効果
第3実施例の符号化装置および符号化制御によれば、第1実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、上述したように画素間引き抽出プロセスによって、部分領域ごとに異なる解像度レベルで画像を符号化することができる。
この際、画素の間引きは抽出と同時に行われるため、間引きによって生じる処理負荷はごく小さく抑えることができる。これによって、閲覧者の注目領域や、文字などディテールが重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすことが可能となり、認知的な待ち時間を低減することができる。特に、写真・自然画と文字・グラフが混在している画像においては、写真・自然画の領域の画素を多く間引くことによって、被写体の概要把握や文字の判読といった、画像の意味理解のための最小限の情報を保ったまま、符号量を削減できる。
なお、上述した間引き関連処理であるステップS52およびS55〜S56は、図3に示す第1実施例の符号化制御フローに適用することもできる。
具体的には、図3において、画像データ入力ステップS11の後に画素間引きマップ生成ステップS52を挿入する。さらに、同一座標係数抽出ステップS15において、同一座標係数抽出プロセスが画素間引きマップを参照し、間引く必要がなければそのまま抽出し、間引く必要がある場合には当該座標に設定された解像度まで係数を間引いて抽出する。
3.4)具体例
図11は、本発明の第3実施例による符号化および復号動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置401としてパーソナルコンピュータを、データ記憶装置402〜405として半導体メモリ(パーソナルコンピュータに含まれる)を、符号出力装置406として有線あるいは無線ネットワーク通信制御装置を備えているものとする。本具体例における基本的構成は第2具体例と同様であるが、データ処理装置401であるパーソナルコンピュータが画素間引きマップ生成および画素間引き抽出の機能する点で異なる。
図11において、ビデオカメラから入力画像10が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。画素間引きマップ生成プロセスは、入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分離し、写真領域を解像度レベル2、文字領域を解像度レベル1に設定した画素間引きマップZ202を生成する。
画素間引き抽出プロセスは、入力画像10および画素間引きマップZ202を用いて2×2画素ごとに画素領域を抽出し、その画素領域が写真領域であれば、画素を間引いてウェーブレット演算および符号化を行い、文字領域であれば、そのままウェーブレット演算および符号化を行う。
こうして出力された符号列は、復号装置において復号され、写真領域の解像度だけが低くなった復号画像Z203が得られる。
4.第4実施例
4.1)符号化装置
図12は、本発明の第4実施例による符号化装置の概略的構成を示すブロック図である。符号化装置は、2次元信号の代表例として画像データ10をビデオカメラ等の画像入力装置(図示せず)から入力し、後述するウェーブレット符号化により符号系列を出力する。符号化装置は、主として、データ処理装置501、LLサブバンドメモリ502、係数メモリ503、出力符号メモリ504、画素間引きマップメモリ505、および、後続フレームデータメモリ506を有し、生成された符号系列は符号出力装置507へ出力される。
データ処理装置501は、一般的なCPUなどのプログラム制御プロセッサであり、図示しないプログラムメモリから符号化プログラム群を読み出して実行することで、動領域検出プロセス(動領域検出手段501a)、画素間引きマップ生成プロセス(画素間引きマップ生成手段501b)、画素間引き抽出プロセス(画素間引き抽出手段501c)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段501d)、係数符号化プロセス(係数符号化手段501e)、初期係数符号化プロセス(初期係数符号化手段501f)、および符号出力プロセス(符号出力手段501g)を生成することができる(詳しくは後述する。)。
LLサブバンドメモリ502、係数メモリ503、出力符号メモリ504、画素間引きマップメモリ505、および、後続フレームデータメモリ506は、それぞれ別個のメモリで構成することもできるが、たとえば1つの半導体メモリにそれぞれのスペースを割り当てることで構成することも可能である。なお、後述するように、本発明では、CPUのレジスタやキャッシュメモリを係数メモリ503として利用することができる。
LLサブバンドメモリ502は、入力画像データ10を0LLサブバンドデータとして格納し、さらに画素抽出プロセスにより順次抽出された部分領域(2m×2)を2次元ハールウェーブレット変換することにより得られるnLLサブバンド係数(1≦n≦N)を順次格納し、最終的にはNLLサブバンド係数が格納される。第4実施例における符号化装置では、画素間引き抽出プロセスが(n−1)LLサブバンド係数から2m×2画素の部分領域を順次抽出し、それに対して間引き処理を行い、その結果に対して2次元ハールウェーブレット変換を実行し、nLLサブバンド係数が得られる。部分領域(2m×2)はスキャンライン方向に順次抽出される。
係数メモリ503は、2次元ハールウェーブレット変換することにより得られる1つの階層のサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{LH(i,j),HL(i,j),HH(i,j)}を格納する。ただし、2以上の一定数の係数組を格納することもできる。たとえば{LH(i,j),HL(i,j),HH(i,j)}に隣接する1つ以上の係数組を抽出して係数メモリ503に格納してもよい。上述したように、係数メモリ503にCPUのキャッシュメモリを利用した場合、キャッシュメモリに余裕があれば、複数組の係数を格納できる。
出力符号メモリ504は(nLH、nHL、nHH)サブバンド符号メモリ504.1および初期出力符号であるNLLサブバンド符号メモリ504.2を有する。(nLH、nHL、nHH)サブバンド符号メモリ504.1は、係数メモリ503に順次読み出された同一座標係数の組を係数符号化プロセスにより符号化することで得られた符号(nLH、nHL、nHH)cを格納する。NLLサブバンド符号メモリ504.2は、データ処理装置501の初期係数符号化プロセスによりNLLサブバンド係数を符号化することで得られたサブバンド符号NLLcを格納する。
画素間引きマップメモリ505は、後述する画素間引きマップ生成プロセスにより生成され、画像の各部分における解像度レベルが格納されている。したがって、画素間引きマップメモリ505をサーチすることで、抽出された部分領域に対して画素間引き処理を行うか否かを判定することができる(詳しくは後述する)。
また、後続フレームデータメモリ506は、複数フレームの画像データ10が連続して入力したときに、LLサブバンドメモリ502に格納される現在のフレームに続く入力フレームデータを格納する。
データ処理装置501上の動領域検出プロセスは、現在の入力画像および後続フレームデータメモリ506の内容から、後続のフレームで画素値に変化が生じる領域(動領域)を検出する。
画素間引きマップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで解像度が異なる係数間引きマップを生成する。具体的には、動領域を低解像度、それ以外の領域を高解像度とする。
(符号化制御)
図13は、本実施例における符号化制御を示すフローチャートである。
まず、ビデオカメラなどの動画像入力装置から動画像データ10を入力すると、符号化対象のフレームデータが0LLサブバンドとしてLLサブバンドメモリ502に格納され、後続するフレームデータが後続フレームデータメモリ506に格納される(ステップS61)。
動領域検出プロセスは、LLサブバンドメモリ502に格納された0LLサブバンドデータと後続フレームデータメモリ506に格納された後続フレームデータとに基づいて動領域を検出する(ステップS62)。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。
画素間引きマップ生成プロセスは、検出された動領域を低解像度に、それ以外の領域を高解像度にそれぞれ設定した画素間引きマップを生成し画素間引きマップメモリ505に格納する(ステップS63)。
続いて、画素間引き抽出プロセスは、解像度レベル(階層)を示す変数nを1に設定し、さらにnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS64)。
続いて、画素間引き抽出プロセスは、LLサブバンドメモリ502の(n−1)LLサブバンドから、座標(i,j)に対応する2m×2画素の部分領域を順次抽出する(ステップS54)。たとえば、n=1、m=1およびi=j=0の場合は、図12に示すように、0LLサブバンド(入力画像データ10)から左上の2×2部分領域(H1,H2、H3、H4)が抽出される。
部分領域が抽出されると、画素間引き抽出プロセスは、抽出された部分領域に対応する座標の解像度レベルを画素間引きマップメモリ505から読み出し、その解像度レベルの値によって、抽出部分が間引き対象画素である否かを判定する(ステップS66)。当該抽出部分が間引き対象である場合(ステップS66のYES)、所定の間引き演算によって画素が間引かれ(ステップS67)、間引かれた画素値に対してウェーブレット変換が実行される(ステップS68)。当該抽出部分が間引き対象でない場合(ステップS66のNO)、当該抽出部分のそのままの画素値でウェーブレット変換が実行される(ステップS68)。なお、間引き演算は特に限定されない。抽出領域内の1つの画素値を代表値として用いてもよいし、抽出された全画素値の平均をとってもよい。
たとえば、抽出された2×2画素が間引き対象画素である場合、それら画素値の平均値を持った2×2画素として、ウェーブレット演算プロセスに供給される。間引き対象画素ではない場合は、2×2画素のそれぞれの画素値がそのままウェーブレット演算プロセスに供給される。
ウェーブレット変換プロセスは、抽出された2m×2画素の部分領域に対して2次元ハールウェーブレット変換を実行し(ステップS68)、その結果得られたLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を係数メモリ503にそれぞれ格納し、LL係数nL(i,j)をnLLサブバンドとしてLLサブバンドメモリ502に格納する(ステップS69)。
続いて、ウェーブレット変換プロセスは係数符号化プロセスを呼び出し、係数メモリ503から係数組nA(i,j),nB(i,j),nC(i,j)を読み出して可変長符号化を行い、出力符号メモリ504のサブバンド符号メモリ504.1に格納する(ステップS70)。係数メモリ503に読み出された1あるいは2以上の一定数の係数組に関する符号化が終了すると、画素間引き抽出プロセスは、当該階層nの全ての座標に関して符号化が終了したか否かを判定する(ステップS71)。
当該階層nにおける全ての符号化が終了していなければ(ステップS71のNO)、抽出座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS72)、当該階層nにおける全ての符号化が終了するまで上記ステップS65〜S72を繰り返す。
階層nにおける全ての符号化が終了すると(ステップS71のYES)、現在の階層nが最低解像度レベルの階層Nであるか否かを判定し(ステップS73)、nがNに到達していなければ(ステップS73のNO)、nを1だけインクリメントし、空間座標(x,y)を原点に初期化する(i=j=0)(ステップS74)。こうして階層nを1ずつ増加させながら上記ステップS65〜S74を繰り返す。
最低解像度レベルNのサブバンドの符号化が完了すると(ステップS73のYES)、初期係数符号化プロセスが立ち上がり、LLサブバンドメモリ502に格納されているNLLサブバンド係数を符号化し、出力符号メモリ504のNLLサブバンド符号メモリ504.2に格納する(ステップS75)。
以下、ステップS75〜S79は、図7におけるステップS401〜S405と同じであるから説明は省略する。
なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであってもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレーム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する場合には、その更新領域をそのまま動領域として使用することができる。
また、後続フレーム情報としては、単一フレームだけでなく、複数のフレームを用いるようにしてもよい。複数フレームを用いる場合、各部分領域において画素の値が変化する期間を求め、この変化期間に基づいて画素間引きマップの解像度を設定する。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘って画素が変化する領域ほど解像度を低くする。このように画素間引きマップを生成することで、更に符号量を低減することができる。
また、上述した第4実施例における動領域検出および間引き関連処理であるステップS61〜S63およびS66〜S67は、図3に示す第1実施例の符号化制御フローに適用することもできる。
4.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
4.3)効果
第4実施例の符号化装置および符号化制御によれば、第1実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、連続するフレームが符号化される際、後続のフレーム画像で上書きされる領域を動領域として検出することで、動領域を低解像度、それ以外の領域を高解像度に設定した画素間引きマップを生成することができ、これによって動領域の符号量を低減し、フレームレートを向上させることができる。符号量低減のトレードオフとして、動領域の解像度は落ちることになるが、動領域は後続フレームで上書きされる領域であるため、一時的に低解像度で表示しても閲覧者は視覚的な品質低下を認知しにくい。
4.4)具体例
図14は本発明の第4実施例における動領域検出と間引き動作を説明するためのコンソール画面を模式的に示した図である。本具体例は、画像入力装置としてビデオカメラを、データ処理装置501としてワークステーションのCPUを、データ記憶装置502〜506として半導体記憶装置(ワークステーションに含まれる)を、符号出力装置としてネットワークに接続された通信制御装置を備えている。上述したように、ワークステーションのCPUは、動領域検出、画素間引きマップ生成、画素間引き抽出、ウェーブレット変換、係数符号化、初期係数符号化、および符号出力の各機能を実現することができる。
また、画像の動領域検出および間引き処理を模式的に示すための表示手段としてワークステーションのコンソール画面が想定され、図14には、フレーム画面の更新領域が順次供給され、符号化されて伝送される様子が模式的に示されている。
Z300はフレームfにおけるコンソール画面の状態を示しており、Z3000はフレームfにおける画面Z300上の更新領域を示す。Z301はフレーム(f+1)におけるコンソール画面の状態を示しており、Z3010はフレーム(f+1)における画面Z301上の更新領域を示す。同様に、Z302はフレーム(f+2)におけるコンソール画面の状態、Z3020はその更新領域をそれぞれ示している。
上述したように、ワークステーションは、フレームfの時点で、後続フレーム(f+1)の更新領域の座標を先行して取得している。すなわち、Z3001がフレームfの画面Z300上での後続フレーム(f+1)の更新領域の位置を示しており、同様に、Z3011がフレーム(f+1)の画面Z301上での後続フレーム(f+2)の更新領域の座標を示している。また、フレーム(f+2)の後続フレームでは、画面Z302が更新されていないものとする。
フレームfにおける動作は以下の通りである。まず、ワークステーションは、入力画像Z3000と後続フレーム情報Z3001とを取得する。動領域検出プロセスによって、Z3000とZ3001との重複領域が動領域として検出され、画素間引きマップ生成プロセスによって動領域を解像度レベル2、その他の領域を解像度レベル1とする画素間引きマップZ310が生成される。
画素間引き抽出プロセスは、入力画像Z3000および画素間引きマップZ310を元に、2×2画素ごとに画素を抽出し、ウェーブレット演算プロセスへ供給し、ウェーブレット変換および符号化を行う。解像度レベル2の動領域については、画素が間引かれて符号化される。こうして得られた符号を復号し、更新領域内への描画を行うことによって、動領域の解像度だけが低くなった表示画像Z320が得られる。以上がフレームfにおける動作である。
フレーム(f+1)においても同様に、入力画像Z3010と後続フレーム情報Z3011の重複領域が動領域として検出され、画素間引きマップZ311が生成される。この結果、動領域の解像度だけが粗くなった表示画像Z321が得られる。
フレーム(f+2)では、後続フレームで更新領域が存在しないため、動領域が検出されない。このため、画素の間引きは行われない(Z312)。この結果、画面の全領域で高精細な復号画像Z322が得られる。
5.第5実施例
5.1)符号化装置
図15は、本発明の第5実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第2実施例と同様であるが、データ処理装置901が、係数量子化マップ生成プロセスおよび係数量子化プロセスを生成できる点、および、係数量子化マップメモリ905を備えている点で異なる。
すなわち、データ処理装置901は、係数量子化マップ生成プロセス(係数量子化マップ生成手段901a)、画素抽出プロセス(画素抽出(要素抽出)手段901b)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段901c)、係数量子化プロセス(係数量子化手段901d)、係数符号化プロセス(係数符号化手段901e)、初期係数符号化プロセス(初期係数符号化手段901f)、および符号出力プロセス(符号出力手段901g)を生成することができる。
また、係数量子化マップメモリ905には、画像の各部分における量子化パラメータからなる係数量子化マップが格納されている。したがって、係数量子化マップメモリ905をサーチすることで、画素抽出プロセスにおいて抽出された部分領域に対する、係数量子化の精度を取得することができる(詳しくは後述する)。なお、係数量子化マップは、係数量子化マップ生成プロセスにより生成される。
図16は、本実施例における符号化制御を示すフローチャートである。
まず、カメラやスキャナなどの画像入力装置から画像データ10を入力し、0LLサブバンドとしてLLサブバンドメモリ902に格納する(ステップS801)。
データ処理装置901上の係数量子化マップ生成プロセスは、画像の入力が行われると、0LLサブバンドデータを読み込み、各空間座標位置・各解像度レベルに対応する係数をどの量子化精度まで間引いて符号化するかを示す係数量子化マップを生成し、係数量子化マップメモリ905に格納する(ステップS802)。
画素抽出プロセスは、解像度レベル(階層)を示す変数nを1に設定し、さらにnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS803)。
続いて、画素抽出プロセスは、LLサブバンドメモリ902の(n−1)LLサブバンドから、座標(i,j)に対応する2m×2画素の部分領域を順次抽出する(ステップS804)。たとえば、n=1、m=1およびi=j=0の場合は、図15に示すように、0LLサブバンド(入力画像データ10)から左上の2×2部分領域(H1,H2、H3、H4)が抽出される(ステップS804)。
ウェーブレット変換プロセスは、抽出された2m×2画素の部分領域に対して2次元ハールウェーブレット変換を実行し(ステップS805)、その結果得られたLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を係数メモリ903にそれぞれ格納し、LL係数nL(i,j)をnLLサブバンドとしてLLサブバンドメモリ902に格納する(ステップS806)。
係数量子化プロセスは、係数メモリ903からLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を読み出す。さらに、係数量子化マップメモリ905から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメータによって示される量子化精度までLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を量子化する。量子化された各係数によって、係数メモリ903の内容が更新される(ステップS807)。
以下、ステップS808〜S817は、図7におけるステップS46〜S50,S401〜S405と同じであるから説明は省略する。なお、図15において、904は出力符号メモリ、904.1は(nLH、nHL、nHH)サブバンド符号メモリ、904.2はNLLサブバンド符号メモリ、906は符号出力装置である。
なお、第3実施例と同様に、写真領域と文字領域とで係数の量子化精度が異なるように、係数量子化マップを生成してもよい。たとえば、1つの画像内に濃淡2値の文字領域と色や濃淡が細かく変化する写真とが混在している場合、隣接要素値の変位を検出することで、あるいは、エッジ強度などの特徴量を解析することで、写真領域と文字領域とを区別することができる。そして、写真領域の量子化精度を文字領域より低下させるように係数量子化マップを生成することで、視覚的な品質劣化を抑えながら符号量を削減することが可能になる。
また、画像内の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで係数の量子化精度が異なるようにしてもよい。特に、比較的小さい領域の量子化精度を比較的大きい領域の量子化精度より低く設定してもよい。隣接要素値の変位の大小は、隣接要素値の変位が予め設定された閾値より大きいか小さいかによって決めることができる。
5.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
5.3)効果
第5実施例の符号化装置および符号化制御によれば、第1実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、上述したように係数量子化プロセスによって、部分領域ごとに異なる量子化精度で画像を符号化することができる。これによって、第3実施例と同様に、閲覧者の注目領域や、文字などディテールが重要な領域のみを高精細に符号化し、その他の領域の符号量を落とすことが可能となり、認知的な待ち時間を低減することができる。
さらに、第5実施例では、第3実施例よりも細かい単位での品質制御が可能である。第3実施例では、非注目領域の品質を下げる場合、2分の1、4分の1といった、2のべき乗単位で解像度を下げることになる。このため、僅かに品質を下げたいといった場合にも、解像度を半分に下げる必要があった。これに対して、第5実施例では、量子化精度を制御することによって、モスキートノイズ等の量子化歪みを細かく制御することができる。
5.4)具体例
図17は、本発明の第5実施例による符号化動作を模式的に示した図である。本具体例では、画像入力装置としてビデオカメラを、データ処理装置901としてパーソナルコンピュータを、データ記憶装置902〜905として半導体メモリ(パーソナルコンピュータに含まれる)を、符号出力装置906として有線あるいは無線ネットワーク通信制御装置を備えているものとする。本具体例における基本的構成は第2具体例と同様であるが、データ処理装置901であるパーソナルコンピュータが係数量子化マップ生成および係数量子化の機能を備える点で異なる。
図17において、ビデオカメラから入力画像Z401が与えられると、画像入力プロセスによって画像データが半導体メモリに格納される。係数量子化マップ生成プロセスは、入力画像に対してエッジ強度などの特徴量を解析し、写真領域と文字領域とを分離し、写真領域を量子化ステップ6(Qstep=6)、文字領域を量子化ステップ3(Qstep=3)に設定した係数量子化マップZ402を生成する。
画素抽出プロセスおよびウェーブレット変換プロセスは、入力画像Z401を用いて2×2画素ごとに画素領域を抽出し、ウェーブレット演算を行う。係数量子化プロセスは、係数量子化マップZ402から得た量子化ステップの情報を基に、その画素領域が写真領域であれば、係数値Z403.1を6刻みに量子化し、係数値Z403.2を得る。また、画素領域が文字領域であれば、画素を3刻みに量子化し、係数値Z403.3を得る。量子化された係数は、係数符号化プロセスによって符号化される。
こうして出力された符号列は、復号装置において復号され、写真領域の係数だけが粗く量子化された画像が得られる。
6.第6実施例
6.1)符号化装置
図18は、本発明の第6実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第5実施例と同様であるが、データ処理装置1001が動領域検出プロセスを生成できる点、および、後続フレームデータメモリ1006を備えている点で異なる。
すなわち、データ処理装置1001は、動領域検出プロセス(動領域検出手段1001a)、係数量子化マップ生成プロセス(係数量子化マップ生成手段1001b)、画素抽出プロセス(画素抽出(要素抽出)手段1001c)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段1001d)、係数量子化プロセス(係数量子化手段1001e)、係数符号化プロセス(係数符号化手段1001f)、初期係数符号化プロセス(初期係数符号化手段1001g)、および符号出力プロセス(符号出力手段1001h)を生成することができる。
データ処理装置1001上の動領域検出プロセスは、第4実施例と同様、現在の入力画像および後続フレームデータメモリ1006の内容から、後続のフレームで画素値に変化が生じる領域(動領域)を検出する。
係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的には、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。
図19は、本実施例における符号化制御を示すフローチャートである。
まず、ビデオカメラなどの動画像入力装置から動画像データ10を入力すると、符号化対象のフレームデータが0LLサブバンドとしてLLサブバンドメモリ1002に格納され、後続するフレームデータが後続フレームデータメモリ1006に格納される(ステップS901)。
動領域検出プロセスは、LLサブバンドメモリ1002に格納された0LLサブバンドデータと後続フレームデータメモリ1006に格納された後続フレームデータとに基づいて動領域を検出する(ステップS902)。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。
係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度、それ以外の領域を細かい量子化精度にそれぞれ設定した係数量子化マップを生成し、係数量子化マップメモリ1005に格納する(ステップS903)。
以下、ステップS904〜S918は、図16におけるステップS803〜S817と同じであるから説明は省略する。なお、図18において、1003は係数メモリ、1004は出力符号メモリ、1004.1は(nLH、nHL、nHH)サブバンド符号メモリ、1004.2はNLLサブバンド符号メモリ、1007は符号出力装置である。
なお、本実施例で使用する後続フレーム情報は、後続フレームの画像データであってもよいし、信号値が更新される更新領域の座標情報であってもよい。後続フレーム情報として画像データを使用する場合は、現フレーム画像と後続フレーム画像の差分を取って動領域を検出することができる。また、更新領域の座標情報を使用する場合には、その更新領域をそのまま動領域として使用することができる。
また、後続フレーム情報としては、単一フレームだけでなく、複数のフレームを用いるようにしてもよい。複数フレームを用いる場合、各部分領域において画素の値が変化する期間を求め、この変化期間に基づいて係数量子化マップの量子化精度を設定する。より具体的には、画素の変化期間が長い領域、すなわち長時間に亘って画素が変化する領域ほど量子化精度を低くする。このように係数量子化マップを生成することで、更に符号量を低減することができる。
6.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
6.3)効果
第6実施例の符号化装置および符号化制御によれば、第1実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、第4実施例と同様に動領域の符号量を低減し、フレームレートを向上させることができる。
さらに、第6実施例では、第4実施例よりも細かい単位での品質制御が可能である。第4実施例では、動領域の品質を下げる場合、2分の1、4分の1といった、2のべき乗単位で解像度を下げることになる。このため、僅かに品質を下げたいといった場合にも、解像度を半分に下げる必要があった。これに対して、第6実施例では、量子化精度を制御することによって、モスキートノイズ等の量子化歪みを細かく制御することができる。
6.4)具体例
本具体例における基本的構成は第4具体例と同様であるが、データ処理装置1001であるワークステーションが、係数量子化マップ生成および係数量子化の機能を備える点で異なる。本具体例では、第4具体例と同様に動領域の品質を低下させることができるが、第4具体例のように動領域の解像度が低くなるのではなく、量子化精度が低くなって表示される。
7.第7実施例
7.1)符号化装置
図20は、本発明の第7実施例による符号化装置の概略的構成を示すブロック図である。本実施例における基本的構成は第1実施例と同様であるが、データ処理装置1101が動領域検出プロセスおよび係数量子化マップ生成プロセス、係数量子化プロセスを生成できる点、および、係数量子化マップメモリ1105および後続フレームデータメモリ1106を備えている点で異なる。
すなわち、データ処理装置1101は、動領域検出プロセス(動領域検出手段1101a)、係数量子化マップ生成プロセス(係数量子化マップ生成手段1101b)、ウェーブレット変換(ここでは、2次元ハールウェーブレット変換)プロセス(ウェーブレット変換手段1101c)、同一座標係数抽出プロセス(同一座標係数抽出手段1101d)、係数量子化プロセス(係数量子化手段1101e)、初期係数符号化プロセス(初期係数符号化手段1101f)、係数符号化プロセス(係数符号化手段1101g)、および符号出力プロセス(符号出力手段1101h)を生成することができる。
データ処理装置1101上の動領域検出プロセスは、第4実施例と同様、現在の入力画像および後続フレームデータメモリ1106の内容から、後続のフレームで画素値に変化が生じる領域(動領域)を検出する。
係数量子化マップ生成プロセスは、検出された動領域の情報に基づき、動領域とそれ以外の領域とで量子化精度が異なる係数量子化マップを生成する。具体的には、動領域を粗い量子化精度、それ以外の領域を細かい量子化精度とする。生成された係数量子化マップは、係数量子化マップメモリ1105に格納される。
係数量子化プロセスは、係数メモリ1003からLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を読み出す。さらに、係数量子化マップメモリ1105から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出し、そのパラメータによって示される量子化精度までLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)を量子化する。
図21は、本実施例における符号化制御を示すフローチャートである。
まず、ビデオカメラなどの動画像入力装置から動画像データ10を入力すると、符号化対象のフレームデータが0LLサブバンドとしてサブバンドメモリ1102に格納され、後続するフレームデータが後続フレームデータメモリ1106に格納される(ステップS1001)。
次に、データ処理装置101上のウェーブレット変換プロセスは、サブバンドメモリ1102から読み出された0LLサブバンドデータに対してN段の2次元ハールウェーブレット変換を実行し、その変換結果をサブバンドメモリ1102に格納する(ステップS1002)。
2次元ハールウェーブレット変換が終了すると、初期係数符号化プロセスは、初期係数NLLを階層Nのサブバンドメモリから読み出し、ランレングスハフマン符号あるいはLZW符号などを用いて可変長符号化し、その符号NLLc(0,0),NLLc(1,0),・・・,NLLc(pN,qN)を出力符号メモリ104のNLLサブバンド符号メモリ1104.1に格納する(ステップS1003)。
符号出力プロセスは、出力符号メモリ1104に蓄積された符号列を読み出し、符号出力装置1107へ出力する(ステップS1004)。
初期係数符号化が全て終了すると、次の符号化対象はLH、HL、HHサブバンドとなる。まず、解像度レベル(階層)を示す変数nをNに設定して符号化対象を階層NのLH、HL、HHサブバンドとし(n=N)、さらに、同一座標係数抽出プロセスはnLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS1005)。
本実施例では、各解像度でのLH、HL、HHサブバンドの符号化が実行される前に、動領域検出プロセスおよび係数量子化マップ生成プロセスが起動される。
動領域検出プロセスは、LLサブバンドメモリ1102に格納された0LLサブバンドデータと、現在、後続フレームデータメモリ1106に格納されている後続フレームデータとに基づいて動領域を検出する(ステップS1006)。動領域の検出方法としては、たとえば両フレーム画像の差分をとる方法がある。
係数量子化マップ生成プロセスは、検出された動領域を粗い量子化精度に、それ以外の領域を細かい量子化精度にそれぞれ設定した係数量子化マップを生成し、係数量子化マップメモリ1105に格納する(ステップS1007)。
続いて、同一座標係数抽出プロセスは、サブバンドメモリ1102から階層nのサブバンドnLH、nHL、nHHにおける同一空間座標(i,j)の係数の組{nA(i,j),nB(i,j),nC(i,j)}を読み出して係数メモリ1103に格納する(ステップS1008)。こうして1つあるいは複数の係数組が係数メモリ1103に読み出されると、係数量子化プロセスが起動して量子化が行われる。
係数量子化プロセスは、係数メモリ1103から係数組nA(i,j),nB(i,j),nC(i,j)を読み出し、さらに、係数量子化マップメモリ1105から、当該空間座標・解像度レベルに対応する係数量子化パラメータを読み出して、そのパラメータによって示される量子化精度までLH係数nA(i,j)、HL係数nB(i,j)およびHH係数nC(i,j)の量子化を行う。量子化された各係数によって、係数メモリ1103の内容が更新される(ステップS1009)。
係数符号化プロセスは、係数メモリ1103から係数組nA(i,j),nB(i,j),nC(i,j)を読み出して可変長符号化を行い、出力符号メモリ1104のサブバンド符号メモリ1104.2に格納する(ステップS1010)。係数メモリ1103に読み出された係数組に関する符号化が終了すると、同一座標係数抽出プロセスは、当該階層nの全ての座標に関して符号化が終了したか否かを判定する(ステップS1011)。
当該階層nにおける全ての符号化が終了していなければ(ステップS1011のNO)、抽出座標(i,j)をスキャンライン方向に所定数だけシフトさせ(ステップS1012)、当該階層nにおける全ての符号化が終了するまで上記ステップS1008〜S1012を繰り返す。
階層nにおける全ての符号化が終了すると(ステップS1011のYES)、符号出力プロセスは、出力符号メモリ1104に蓄積された符号列を読み出し、符号出力装置1107へ出力する(ステップS1013)。
さらに、現在の階層nが最大解像度であるn=1であるか否かを判定し(ステップS1014)、nが1に到達していなければ(ステップS1014のNO)、nを1だけデクリメントし(ステップS1015)、nLH、nHL、nHHの各サブバンドから抽出される係数の空間座標(x,y)を原点に初期化する(i=j=0)(ステップS1016)。こうして階層nを1ずつ減少させながら上記ステップS1006〜S1016を繰り返す。
なお、上記説明では、各解像度レベルのLH、HL、HHサブバンド符号化前に、動領域検出プロセスおよび係数量子化マップ生成プロセスが起動されるものとして説明したが、プロセスの起動回数を抑制するために、一定の解像度レベルおきにこれらのプロセスが起動するようにしてもよく、また、一定の解像度レベル以上でこれらのプロセスが起動するようにしてもよい。
7.2)復号装置
本実施例の符号化方式によって出力された符号は、図4および図5で示す第1実施例の復号方式によって復号可能であるから、詳細な説明は省略する。
7.3)効果
第7実施例の符号化装置および符号化制御によれば、第1実施例と同様に符号化処理の高速化および必要メモリの低減が可能となる他に、第6実施例と同様に動領域の符号量を低減し、フレームレートを向上させることができる。
さらに、第7実施例では、符号化中に、画面内のより広い範囲を動領域として検出することができるため、符号量をさらに低減し、フレームレートをさらに向上させることができる。その理由は以下の2点である。
第1に、本実施例では、各解像度のLH、HL、HHサブバンドが符号化される前に動領域検出が行われ、新たな係数量子化マップが生成される。したがって、画像入力時にはまだ画面が更新されておらず、動領域が存在しなかったような場合でも、次の解像度レベルの符号化時までに画面が更新されていれば、その解像度以降では係数を粗く量子化することでき、結果として符号量を低減することができる。
第2に、本実施例では、各解像度で符号化されたLH、HL、HHサブバンドは、そのまま通信路などの符号出力装置1107へ出力される。一般に、符号出力装置1107は、データ処理装置1101の処理速度に比べて低速であるため、符号の出力には多くの待ち時間が発生する。本実施例では、この符号出力の期間内に画面が更新された場合にも、次の解像度レベルを符号化する直前に、動領域として検出することができる。
以上のように、本実施例では、符号化の途中段階でも、後続のフレームから動領域を新たに検出することができ、符号量をさらに低減することができる。
なお、本実施例では、符号量制御方法を量子化による方法としたが、第4実施例のような解像度打切りによる符号量制御を用いても、同様のフレームレート向上効果が達成できる。
7.4)具体例
図22は、本発明の第7実施例による動領域検出と係数量子化動作を説明するためのコンソール画面を模式的に示した図である。 本具体例における基本構成は第4具体例と同じであるが、データ処理装置1101であるワークステーションが、係数量子化マップ生成プロセスおよび係数量子化プロセスを生成できる点で異なる。
図22には、フレーム画面の更新領域が順次供給され、符号化されて伝送される様子が模式的に示されている。Z501,Z502,Z503は、それぞれフレームf,(f+1),(f+2)におけるワークステーションのコンソール画面を示している。また、Z5010,Z5020,Z5030はフレームf,(f+1),(f+2)で符号化される領域を示しており、Z5031は、フレーム(f+2)において新たに供給された後続フレーム領域を示している。
フレームfにおいて、ワークステーションは入力画像Z501を取得し、入力画像Z501の領域Z5010に対しウェーブレット変換を行って、各周波数サブバンドZ510を得る。さらに、最低解像度のLL成分であるZ511を可変長符号化し、通信路へ出力する。
次に、フレーム(f+1)において、次の解像度レベルのLH,HL,HHサブバンドを符号化するにあたり、ワークステーションの動領域検出プロセスは、後続フレームがないかどうかを調べる。フレーム(f+1)には後続フレームが存在しないため、係数量子化マップには、サブバンド全域に亘って高精度の量子化ステップが採用される。こうして、高精度の量子化ステップで係数量子化が行われ、係数符号化プロセスによりLH,HL,HHサブバンドZ512が符号化され、通信路へ出力される。
最後に、フレーム(f+2)において、次の解像度レベルのLH,HL,HHサブバンドを符号化する前に、後続フレームの有無がチェックされる。フレーム(f+2)には後続フレームZ5031が存在するため、サブバンド内において後続フレームが存在する範囲が動領域として検出される。さらに、動領域が粗く量子化されるよう、係数量子化マップが生成される。こうして、動領域が低精度、それ以外の領域が高精度の量子化ステップで係数量子化が行われ、係数符号化プロセスによりLH,HL,HHサブバンドZ513が符号化され、通信路へ出力される。
こうして出力された符号列は、復号装置において復号され、動領域の係数だけが粗く量子化された画像が得られる。
8.第8実施例
上述した第1〜第7実施例では、符号化装置で符号化された画像データを復号装置で復号する場合を説明したが、符号化装置と復号装置が1つの通信端末に内蔵され、別の通信端末との間で双方向画像通信を行うことも可能である。以下、カメラおよびディスプレイが接続された通信端末(たとえばカメラ付き携帯電話機など)を例にとって説明する。
図23は本発明の第8実施例による符号化および復号装置を内蔵した双方向通信端末のブロック図である。端末には、プログラム制御プロセッサとしてのCPU601が設けられ、内部バスによりキャッシュメモリ602およびメインメモリ603に接続されている。内部バスはさらにポートを介して外部バス604に接続され、外部バス604には必要なプログラムを格納したメモリ605、データメモリ606、カメラ608を接続するインタフェース607、ディスプレイ610を接続するインタフェース609、および通信制御部612を接続するインタフェース611などがそれぞれ接続されている。通信制御部612はネットワーク613に接続される。携帯電話機であれば、通信制御部612は無線通信部およびチャネル制御部を含み、ネットワーク613は移動通信ネットワークである。
プログラムメモリ605には、符号化プログラム、復号プログラム、通信端末の全体的動作を制御するメインプログラムなどが格納されている。符号化プログラムは第1〜第7実施例で説明した図3、図7、図10、図13、図16、図19および図21のいずれかに示すフローチャートで表現されるものであり、復号プログラムは図5に示すフローチャートで表現されるものである。符号化プログラムおよび復号プログラムの上述した各プロセスはメインプログラムによるプロセスの管理下で実行される。
データメモリ606はサブバンドメモリ606.1および入出力符号化データメモリ606.2を含む。サブバンドメモリ606.1は、たとえば図1のサブバンドメモリ102や図6のLLサブバンドメモリ302である。入出力符号化データメモリ606.2は、たとえば図1や図6の出力符号メモリ104/304などの出力符号メモリと図4の0LLサブバンドメモリなどの入力符号メモリとを含む。
また、カメラ608は符号化装置における画像入力装置に対応し、ディスプレイ610は復号装置における画像出力装置204に対応する。カメラで撮像された画像データは上述したようにウェーブレット変換および符号化され、その符号列がネットワークを介して相手方端末へ送信される。逆に、相手側から受信した画像データの符号列は上述したように復号されウェーブレット逆変換されてディスプレイ610上に表示される。詳細な動作は既に説明したとおりであり、いずれもキャッシュメモリ602を係数メモリとして利用することができる。
9.第9実施例
本発明による符号化装置および復号装置は、上述したようにCPU上で各制御プログラムを実行することにより実現できるが、ハードウエアにより実現することも可能である。
ここでは上述した第1実施例の各プロセスをハードウエア化した構成を例示するが、他の実施例でも同様に構成される。
図24は本発明の第9実施例による符号化装置の一例を示すブロック図である。カメラ等の画像入力装置701により入力した画像データは画像メモリ702に格納され、上述したようにウェーブレット変換部703により順次ウェーブレット変換される。こうして得られたサブバンド係数LL、LH,HL,HHがサブバンドメモリ704に格納され、その初期係数NLLが初期係数符号化部705により符号化されて出力符号メモリ709に格納される。さらに、同一座標係数抽出部706は、サブバンドメモリ704から他のサブバンド係数LH,HL,HHの同一座標の係数組を抽出し、1あるいは2以上の一定数の係数組を高速レジスタ707に格納する。レジスタ707に格納された係数組が係数符号化部708により符号化され、出力符号メモリ709に格納される。こうして出力符号メモリ709に格納されたNLL符号および同一座標係数組の符号が符号出力部710により順次読み出され出力される。
図25は本発明の第9実施例による復号装置の一例を示すブロック図である。ここでは上述した第1実施例のハードウエア構成を例示する。上記符号化装置により送出された符号列は符号入力装置801により入力され、入力符号メモリ802に格納される。まず、初期係数復号部803により初期係数NLLが復号されサブバンドメモリ804に格納される。続いて、係数復号部805は入力符号から1あるいは2以上の一定数のサブバンド係数組nLH,nHL,nHHを順次復号し、レジスタ806へ格納する。ウェーブレット逆変換部807はレジスタ806から係数組を読み出してウェーブレット逆変換を行い、その結果をサブバンドメモリ804に格納する。出力画像の解像度レベルに到達すると、それ以降画像出力部808は画像データを出力する。
以上説明したように、本発明による符号化/復号制御によって、汎用のCPUを用いて高速符号化/復号処理を達成でき、かつ、中間メモリを低減することができる。
なお、以上説明した本発明の第1〜第9実施例では、特に処理対象を画像データとしたが、本発明は画像データ以外の2次元データにも適用可能であることは言うまでもない。
また、以上説明したような本発明を実現するための処理プログラムは磁気ディスクやCD-ROMなどの記録媒体に記憶させておくこともできる。その処理プログラムとそれを格納した記録媒体とはいずれも本発明の範囲に含まれるものである。
本発明による符号化/復号装置は、高精細画像を、表示デバイスの解像度や、閲覧者の操作・要求に応じて漸次的に配信するといった用途に適用できる。

Claims (85)

  1. 2次元信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、
    同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、
    前記抽出された係数の組を符号化する係数符号化手段と
    を有することを特徴とする符号化装置。
  2. 前記係数抽出手段は、前記2次元信号のスキャンライン方向に係数の組を一定数ずつ順次抽出することを特徴とする請求項1に記載の符号化装置。
  3. 前記係数抽出手段は、係数の組を一組ずつ順次抽出することを特徴とする請求項1に記載の符号化装置。
  4. 2次元信号から空間的に隣接した2m×2(mは整数:m≧1)要素を順次抽出する要素抽出手段と、
    前記2m×2要素を複数のサブバンドの係数組に分割するウェーブレット変換手段と、
    前記係数組を符号化する係数符号化手段と、
    符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力する符号出力手段と
    を有することを特徴とする符号化装置。
  5. 前記各係数は複数の成分からなり、
    前記係数符号化手段は、係数の成分毎に符号化し、各係数の下に各成分の符号を連結して符号を生成することを特徴とする請求項1に記載の符号化装置。
  6. 前記各係数は複数の成分からなり、
    前記係数符号化手段は、係数の成分毎に符号化し、各係数の下に各成分の符号を連結して符号を生成することを特徴とする請求項4に記載の符号化装置。
  7. 前記各係数は複数の成分からなり、
    前記係数符号化手段は、係数の成分毎に符号化し、各成分の下に各係数の符号を連結して符号を生成することを特徴とする請求項1に記載の符号化装置。
  8. 前記各係数は複数の成分からなり、
    前記係数符号化手段は、係数の成分毎に符号化し、各成分の下に各係数の符号を連結して符号を生成することを特徴とする請求項4に記載の符号化装置。
  9. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段をさらに有し、
    前記係数抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項1に記載の符号化装置。
  10. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成する係数間引きマップ生成手段をさらに有し、
    前記要素抽出手段は、前記係数間引きマップを参照し、当該座標に設定された解像度まで係数を間引いて抽出することを特徴とする請求項4に記載の符号化装置。
  11. 前記係数間引きマップは、前記2次元信号の写真領域と写真以外の領域とで解像度が異なることを特徴とする請求項9に記載の符号化装置。
  12. 前記係数間引きマップは、前記2次元信号の写真領域と写真以外の領域とで解像度が異なることを特徴とする請求項10に記載の符号化装置。
  13. 前記係数間引きマップは、前記写真領域の解像度が前記写真以外の領域の解像度より低く設定されることを特徴とする請求項11に記載の符号化装置。
  14. 前記係数間引きマップは、前記写真領域の解像度が前記写真以外の領域の解像度より低く設定されることを特徴とする請求項12に記載の符号化装置。
  15. 前記係数間引きマップは、前記2次元信号の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで解像度が異なることを特徴とする請求項9に記載の符号化装置。
  16. 前記係数間引きマップは、前記2次元信号の隣接要素値の変位が比較的大きい領域と比較的小さい領域とで解像度が異なることを特徴とする請求項10に記載の符号化装置。
  17. 前記係数間引きマップは、前記隣接要素値の変位が比較的小さい領域の解像度が比較的大きい領域の解像度より低く設定されることを特徴とする請求項16に記載の符号化装置。
  18. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出する動領域検出手段をさらに有し、
    前記係数間引きマップ生成手段は、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項9に記載の符号化装置。
  19. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出する動領域検出手段をさらに有し、
    前記係数間引きマップ生成手段は、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項10に記載の符号化装置。
  20. 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される領域を動領域として検出し、
    前記係数間引きマップ生成手段は、検出された動領域の解像度をこの動領域以外の領域の解像度より低く設定することを特徴とする請求項18に記載の符号化装置。
  21. 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される領域を動領域として検出し、
    前記係数間引きマップ生成手段は、検出された動領域の解像度をこの動領域以外の領域の解像度より低く設定することを特徴とする請求項19に記載の符号化装置。
  22. 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号値が変化する期間を求め、
    前記係数間引きマップ生成手段は、前記変化期間に基づいて係数間引きマップの解像度を設定することを特徴とする請求項18に記載の符号化装置。
  23. 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号値が変化する期間を求め、
    前記係数間引きマップ生成手段は、前記変化期間に基づいて係数間引きマップの解像度を設定することを特徴とする請求項19に記載の符号化装置。
  24. 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど解像度を低く設定することを特徴とする請求項22に記載の符号化装置。
  25. 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど解像度を低く設定することを特徴とする請求項23に記載の符号化装置。
  26. 前記2次元信号の各空間座標における量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
    前記係数量子化マップを参照し、係数の空間座標に対応する量子化精度まで前記係数を量子化する係数量子化手段とをさらに有し、
    前記係数符号化手段は、前記量子化された係数の組を符号化することを特徴とする請求項1に記載の符号化装置。
  27. 前記2次元信号の各空間座標に対応する量子化精度を示す係数量子化マップを生成する係数量子化マップ生成手段と、
    前記係数量子化マップを参照し、係数組の空間座標に対応する量子化精度まで前記係数組を量子化する係数量子化手段とをさらに有し、
    前記係数符号化手段は、前記量子化された係数組を符号化することを特徴とする請求項4に記載の符号化装置。
  28. 前記係数量子化マップは、前記2次元信号の写真領域と写真以外の領域とで量子化精度が異なることを特徴とする請求項26に記載の符号化装置。
  29. 前記係数量子化マップは、前記2次元信号の写真領域と写真以外の領域とで量子化精度が異なることを特徴とする請求項27に記載の符号化装置。
  30. 前記係数量子化マップは、前記写真領域の量子化精度が前記写真以外の領域の量子化精度より低く設定されることを特徴とする請求項28に記載の符号化装置。
  31. 前記係数量子化マップは、前記写真領域の量子化精度が前記写真以外の領域の量子化精度より低く設定されることを特徴とする請求項29に記載の符号化装置。
  32. 前記係数量子化マップは、前記2次元信号の隣接要素値の変位が閾値より大きい第1の領域と前記閾値より小さい第2の領域とで量子化精度が異なることを特徴とする請求項27に記載の符号化装置。
  33. 前記係数量子化マップは、前記第2の領域の量子化精度が前記第1の領域の量子化精度より低く設定されることを特徴とする請求項32に記載の符号化装置。
  34. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出する動領域検出手段をさらに有し、
    前記係数量子化マップ生成手段は、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項26に記載の符号化装置。
  35. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出する動領域検出手段をさらに有し、
    前記係数量子化マップ生成手段は、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項27に記載の符号化装置。
  36. 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される領域を動領域として検出し、
    前記係数間引きマップ生成手段は、検出された動領域の量子化精度をこの動領域以外の領域の量子化精度より低く設定することを特徴とする請求項34に記載の符号化装置。
  37. 前記動領域検出手段は、前記前後する複数の画面において信号値が更新される領域を動領域として検出し、
    前記係数間引きマップ生成手段は、検出された動領域の量子化精度をこの動領域以外の領域の量子化精度より低く設定することを特徴とする請求項35に記載の符号化装置。
  38. 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号値が変化する期間を求め、
    前記係数量子化マップ生成手段は、前記変化期間に基づいて前記係数量子化マップの量子化精度を設定することを特徴とする請求項34に記載の符号化装置。
  39. 前記動領域検出手段は、前記前後する複数の画面から各部分領域において信号値が変化する期間を求め、
    前記係数量子化マップ生成手段は、前記変化期間に基づいて前記係数量子化マップの量子化精度を設定することを特徴とする請求項35に記載の符号化装置。
  40. 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど量子化精度を低く設定することを特徴とする請求項38に記載の符号化装置。
  41. 前記係数間引きマップ生成手段は、前記変化期間が長い領域内ほど量子化精度を低く設定することを特徴とする請求項39に記載の符号化装置。
  42. 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域として検出することを特徴とする請求項18に記載の符号化装置。
  43. 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域として検出することを特徴とする請求項19に記載の符号化装置。
  44. 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域として検出することを特徴とする請求項34に記載の符号化装置。
  45. 前記動領域検出手段は、前記前後する複数の画面の差分を取ることで動領域として検出することを特徴とする請求項35に記載の符号化装置。
  46. 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出することを特徴とする請求項18に記載の符号化装置。
  47. 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出することを特徴とする請求項19に記載の符号化装置。
  48. 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出することを特徴とする請求項34に記載の符号化装置。
  49. 前記動領域検出手段は、前の画面の符号化対象領域と後の画面の符号化対象領域との重複領域を動領域として検出することを特徴とする請求項35に記載の符号化装置。
  50. ウェーブレット変換により得られた複数のサブバンドの係数を符号化した符号列を入力し、最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号する初期係数復号手段と、
    前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号する係数復号手段と、
    前記係数の組が復号されるごとにウェーブレット逆変換を行い、元の2次元信号を生成するウェーブレット逆変換手段と
    を有することを特徴とする復号装置。
  51. 前記係数復号手段は、前記2次元信号のスキャンライン方向に前記係数の組を一定数ずつ順次復号することを特徴とする請求項50に記載の復号装置。
  52. 前記係数復号手段は、前記係数の組を一組ずつ順次復号することを特徴とする請求項51に記載の復号装置。
  53. 前記各係数は複数の成分からなり、
    前記係数復号手段は、係数の成分毎に復号し、各係数の下に各成分を連結することを特徴とする請求項52に記載の復号装置。
  54. 前記各係数は複数の成分からなり、
    前記係数復号手段は、係数の成分毎に復号することを特徴とする請求項52に記載の復号装置。
  55. ウェーブレット変換により2次元信号を複数の周波数領域であるサブバンドに分割するステップと、
    同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出するステップと、
    前記抽出された係数の組を符号化するステップと
    を有することを特徴とする符号化方法。
  56. 前記抽出するステップは、前記2次元信号のスキャンライン方向に係数の組を一定数ずつ順次抽出することを特徴とする請求項55に記載の符号化方法。
  57. 前記抽出するステップは、係数の組を一組ずつ順次抽出することを特徴とする請求項55に記載の符号化方法。
  58. 2次元信号から空間的に隣接した2m×2(mは整数:m≧1)要素を順次抽出するステップと、
    ウェーブレット変換により前記2m×2要素を複数のサブバンドの係数組に分割するステップと、
    前記係数組を符号化するステップと、
    符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力するステップと
    を有することを特徴とする符号化方法。
  59. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成するステップをさらに有し、
    前記抽出するステップは、前記係数間引きマップを参照し、当該座標に設定された解像度まで前記空間的に同一位置に属する係数を間引いて抽出することを特徴とする請求項55に記載の符号化方法。
  60. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成するステップをさらに有し、
    前記抽出するステップは、前記係数間引きマップを参照し、当該座標に設定された解像度まで前記2m×2要素の係数を間引いて抽出することを特徴とする請求項58に記載の符号化方法。
  61. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップをさらに有し、
    前記係数間引きマップを生成するステップは、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項59に記載の符号化方法。
  62. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップをさらに有し、
    前記係数間引きマップを生成するステップは、前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成することを特徴とする請求項60に記載の符号化方法。
  63. 前記2次元信号の各空間座標における量子化精度を示す係数量子化マップを生成するステップと、
    前記係数量子化マップを参照し、空間的に同一位置に属する係数の空間座標に対応する量子化精度まで前記係数を量子化するステップとをさらに有し、
    前記符号化するステップは、前記量子化された係数の組を符号化することを特徴とする請求項55に記載の符号化方法。
  64. 前記2次元信号の各空間座標における量子化精度を設定した係数量子化マップを生成するステップと、
    前記係数量子化マップを参照し、前記2m×2要素の係数の空間座標に対応する量子化精度まで前記係数を量子化するステップとをさらに有し、
    前記符号化するステップは、前記量子化された係数組を符号化することを特徴とする請求項58に記載の符号化方法。
  65. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップをさらに有し、
    前記係数量子化マップを生成するステップは、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項63に記載の符号化方法。
  66. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップをさらに有し、
    前記係数量子化マップを生成するステップは、前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成することを特徴とする請求項64に記載の符号化方法。
  67. 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化するステップの前に実行されることを特徴とする請求項65に記載の符号化方法。
  68. 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化するステップの前に実行されることを特徴とする請求項66に記載の符号化方法。
  69. 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化するすべてのステップの前に実行されることを特徴とする請求項67に記載の符号化方法。
  70. 前記係数量子化マップを生成するステップは、サブバンドの係数の組を符号化するすべてのステップの前に実行されることを特徴とする請求項68に記載の符号化方法。
  71. ウェーブレット変換により得られた複数のサブバンドの係数を符号化した符号列を入力するステップと、
    最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号するステップと、
    前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号するステップと、
    前記係数の組が復号されるごとにウェーブレット逆変換を行い、元の2次元信号を生成するステップと
    を有することを特徴とする復号方法。
  72. 前記復号するステップは、前記2次元信号のスキャンライン方向に前記係数の組を一定数ずつ順次復号することを特徴とする請求項71に記載の復号方法。
  73. 前記復号するステップは、前記係数の組を一組ずつ順次復号することを特徴とする請求項72に記載の復号方法。
  74. ウェーブレット変換により2次元信号を複数の周波数領域であるサブバンドに分割するステップと、
    同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出するステップと、
    前記抽出された係数の組を符号化するステップと
    をコンピュータに実行させることを特徴とする符号化プログラム。
  75. 2次元信号から空間的に隣接した2m×2(mは整数:m≧1)要素を順次抽出するステップと、
    ウェーブレット変換により前記2m×2要素を複数のサブバンドの係数組に分割するステップと、
    前記係数組を符号化するステップと、
    符号化された係数組を低解像度側のサブバンドから順に並べ替えて出力するステップと
    をコンピュータに実行させることを特徴とする符号化プログラム。
  76. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成するステップと、
    前記係数間引きマップを参照し、当該座標に設定された解像度まで前記空間的に同一位置に属する係数を間引いて抽出するステップと
    をコンピュータに実行させることを特徴とする請求項74に記載の符号化プログラム。
  77. 前記2次元信号の各空間座標における解像度を設定した係数間引きマップを生成するステップと、
    前記係数間引きマップを参照し、当該座標に設定された解像度まで前記2m×2要素の係数を間引いて抽出するステップと
    をコンピュータに実行させることを特徴とする請求項75に記載の符号化プログラム。
  78. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップと、
    前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成するステップと
    をコンピュータに実行させることを特徴とする請求項76に記載の符号化プログラム。
  79. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップと、
    前記動領域とこの動領域以外の領域とで解像度が異なる係数間引きマップを生成するステップと
    をコンピュータに実行させることを特徴とする請求項77に記載の符号化プログラム。
  80. 前記2次元信号の各空間座標における係数の量子化精度を設定した係数量子化マップを生成するステップと、
    前記係数量子化マップを参照し、当該座標に設定された量子化精度で前記空間的に同一位置に属する係数を量子化して符号化するステップと
    をコンピュータに実行させることを特徴とする請求項74に記載の符号化プログラム。
  81. 前記2次元信号の各空間座標における係数の量子化精度を設定した係数量子化マップを生成するステップと、
    前記係数量子化マップを参照し、当該座標に設定された量子化精度で前記空間的に同一位置に属する係数を量子化して符号化するステップと
    をコンピュータに実行させることを特徴とする請求項75に記載の符号化プログラム。
  82. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップと、
    前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成するステップと
    をコンピュータに実行させることを特徴とする請求項80に記載の符号化プログラム。
  83. 前記2次元信号は複数の画面の系列からなり、前後する複数の画面から動領域を検出するステップと、
    前記動領域とこの動領域以外の領域とで量子化精度が異なる係数量子化マップを生成するステップと
    をコンピュータに実行させることを特徴とする請求項81に記載の符号化プログラム。
  84. ウェーブレット変換により得られた複数のサブバンドの係数を符号化した符号列を入力するステップと、
    最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号するステップと、
    前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号するステップと、
    前記係数の組が復号されるごとにウェーブレット逆変換を行い、元の2次元信号を生成するステップと
    をコンピュータに実行させることを特徴とする復号プログラム。
  85. 画像入力手段と、
    符号化された画像信号を送受信するための通信手段と、
    前記画像入力手段により入力された送信すべき画像信号を複数の周波数領域であるサブバンドに分割するウェーブレット変換手段と、
    同一階層のウェーブレット分解レベルに属する複数のサブバンドから、空間的に同一位置に属する係数の組を一定数ずつ抽出する係数抽出手段と、
    前記抽出された係数の組を符号化して前記通信手段へ出力する係数符号化手段と、
    受信した画像信号の最低周波数サブバンドに対応する符号列から前記最低周波数サブバンドの係数を復号する初期係数復号手段と、
    前記最低周波数サブバンド符号列に後続する符号列から同一階層のウェーブレット分解レベルに属する複数のサブバンドで空間的に同一位置に属する係数の組を一定数ずつ復号する係数復号手段と、
    前記係数の組が復号されるごとにウェーブレット逆変換を行うことで受信画像信号を生成するウェーブレット逆変換手段と、
    前記受信画像信号に基づいて受信画像を表示する画像表示手段と
    を有することを特徴とする通信端末。
JP2006510166A 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置 Expired - Fee Related JP4665898B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2004045659 2004-02-23
JP2004045659 2004-02-23
JP2004324875 2004-11-09
JP2004324875 2004-11-09
PCT/JP2004/019604 WO2005081539A1 (ja) 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置

Publications (2)

Publication Number Publication Date
JPWO2005081539A1 true JPWO2005081539A1 (ja) 2008-04-24
JP4665898B2 JP4665898B2 (ja) 2011-04-06

Family

ID=34889354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006510166A Expired - Fee Related JP4665898B2 (ja) 2004-02-23 2004-12-28 2次元信号の符号化/復号方法および装置

Country Status (5)

Country Link
US (2) US8031951B2 (ja)
EP (1) EP1722572B1 (ja)
JP (1) JP4665898B2 (ja)
CN (1) CN1943243B (ja)
WO (1) WO2005081539A1 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4424522B2 (ja) * 2006-07-13 2010-03-03 日本電気株式会社 符号化及び復号化装置ならびに符号化方法及び復号方法
WO2008081459A2 (en) * 2007-01-03 2008-07-10 Numeri Ltd. A method and a system for wavelet based processing
US8582656B2 (en) * 2007-04-13 2013-11-12 Apple Inc. Method and system for video encoding and decoding
US8619874B2 (en) * 2007-04-13 2013-12-31 Apple Inc. Method and system for video encoding and decoding
US8503809B2 (en) * 2007-05-17 2013-08-06 Sony Corporation Information processing apparatus and method to entropy code upon processing of predetermined number of precincts
JP4356028B2 (ja) * 2007-05-17 2009-11-04 ソニー株式会社 情報処理装置および方法
JP4525704B2 (ja) * 2007-05-17 2010-08-18 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム。
JP5005482B2 (ja) * 2007-09-26 2012-08-22 株式会社日立国際電気 パターン検索方法及び装置
JP5092722B2 (ja) * 2007-12-07 2012-12-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8768064B2 (en) * 2008-09-01 2014-07-01 Nec Corporation Image feature extraction device
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
WO2011007478A1 (ja) 2009-07-17 2011-01-20 日本電気株式会社 ウェーブレット変換符号化/復号方法および装置
JP5492206B2 (ja) * 2009-07-27 2014-05-14 株式会社東芝 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
JP5263621B2 (ja) * 2009-09-24 2013-08-14 ソニー株式会社 画像処理装置および方法
JP2011180792A (ja) * 2010-03-01 2011-09-15 Sony Corp 画像処理装置及び画像処理方法、並びにコンピューター・プログラム
WO2014013647A1 (ja) * 2012-07-19 2014-01-23 日本電気株式会社 ウェーブレット変換符号化/復号方法および装置
CN103310411B (zh) * 2012-09-25 2017-04-12 中兴通讯股份有限公司 一种图像局部增强方法和装置
FR2996033B1 (fr) * 2012-09-26 2015-10-30 Commissariat Energie Atomique Dispositif de decomposition d'images par transformee en ondelettes
CN103152573A (zh) * 2013-03-15 2013-06-12 惠州Tcl移动通信有限公司 一种移动终端与智能电视间图像帧传输的方法及系统
JP2014203178A (ja) * 2013-04-02 2014-10-27 株式会社東芝 コンテンツ配信システムおよびコンテンツ配信方法
CN103400128B (zh) * 2013-08-09 2016-12-28 深圳市捷顺科技实业股份有限公司 一种图像处理方法及装置
US9049432B1 (en) * 2014-07-04 2015-06-02 Primacomp, Inc. Motion differential set partition coding for color image sequence compression
US10257494B2 (en) * 2014-09-22 2019-04-09 Samsung Electronics Co., Ltd. Reconstruction of three-dimensional video
US10003822B2 (en) 2016-02-10 2018-06-19 Primacomp, Inc. Error-resilient coder of image sequences and video
EP3291452B1 (en) * 2016-08-30 2020-03-25 Alcatel Lucent Encoding and decoding of vectoring coefficients with differential encoding size
AU2019228387A1 (en) * 2018-02-27 2020-10-01 Zetane Systems Inc. Scalable transform processing unit for heterogeneous data
US11044474B2 (en) * 2019-02-18 2021-06-22 Glenfly Technology Co., Ltd. Image compression method and image processing system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002016808A (ja) * 1999-05-10 2002-01-18 Ricoh Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、およびその方法を実行するためのコンピュータが読取可能な記録媒体
JP2003274185A (ja) * 2002-03-19 2003-09-26 Sanyo Electric Co Ltd 画像処理方法とその方法を利用可能な画像符号化装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0316490A (ja) 1989-06-14 1991-01-24 Matsushita Electric Ind Co Ltd 動画像符号化装置
DE69424591T2 (de) 1993-03-29 2001-01-18 Canon Kk Verfahren zur Kontrolle der Datenmenge und Kodierer zur Durchführung desselben.
JPH09148938A (ja) * 1995-11-21 1997-06-06 Seiko Epson Corp データ圧縮・伸長方法及びその装置
JPH1169164A (ja) * 1997-08-21 1999-03-09 Toshiba Corp 画像符号化方法および画像符号化装置および画像復号化装置および画像形成装置
JPH11298897A (ja) 1998-04-14 1999-10-29 Sumitomo Electric Ind Ltd 画像データ伝送方法および画像データ伝送装置
JPH11317950A (ja) 1998-04-30 1999-11-16 Sony Corp データ符号化装置、データ符号化方法及びデータ伝送方法
JP3719699B2 (ja) * 1998-06-15 2005-11-24 株式会社リコー 符号化装置及び復号化装置
US6763139B1 (en) * 1998-07-03 2004-07-13 Canon Kabushiki Kaisha Image coding method and apparatus for localized decoding at multiple resolutions
US6778709B1 (en) * 1999-03-12 2004-08-17 Hewlett-Packard Development Company, L.P. Embedded block coding with optimized truncation
US6477280B1 (en) * 1999-03-26 2002-11-05 Microsoft Corporation Lossless adaptive encoding of finite alphabet data
JP2000316152A (ja) 1999-05-06 2000-11-14 Ricoh Co Ltd 符号化方法、復号方法、符号化装置及び復号装置
JP3732674B2 (ja) 1999-04-30 2006-01-05 株式会社リコー カラー画像圧縮方法およびカラー画像圧縮装置
US6788811B1 (en) * 1999-05-10 2004-09-07 Ricoh Company, Ltd. Coding apparatus, decoding apparatus, coding method, decoding method, amd computer-readable recording medium for executing the methods
US6535644B1 (en) 1999-07-01 2003-03-18 Koninklijke Philips Electronics N.V. Hierarchical foveation based on wavelets
JP4097108B2 (ja) * 1999-07-06 2008-06-11 株式会社リコー ウェーブレット変換装置及び符号化復号化装置
AUPQ156199A0 (en) * 1999-07-12 1999-08-05 Canon Kabushiki Kaisha Method and apparatus for re-ordering of a bit stream
US7065253B2 (en) * 1999-09-03 2006-06-20 Intel Corporation Wavelet zerotree coding of ordered bits
US7421136B2 (en) * 1999-11-24 2008-09-02 Ge Medical Systems Information Technologies Inc. Image tessellation for region-specific coefficient access
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
JP2001352543A (ja) * 2000-06-07 2001-12-21 Canon Inc 画像符号化システム及び画像符号化装置及び方法及び記憶媒体
EP1297709A1 (en) * 2000-06-14 2003-04-02 Koninklijke Philips Electronics N.V. Color video encoding and decoding method
JP2002232721A (ja) 2001-01-31 2002-08-16 Canon Inc 画像符号化装置及びその方法並びに記憶媒体
US20030067476A1 (en) * 2001-10-04 2003-04-10 Eastman Kodak Company Method and system for displaying an image
JP3922919B2 (ja) * 2001-12-11 2007-05-30 株式会社リコー 静止画像伸長装置及び静止画像伸長方法
JP2003204439A (ja) 2002-01-08 2003-07-18 Canon Inc 画像符号化装置及び画像符号化方法
JP2003274190A (ja) 2002-03-12 2003-09-26 Canon Inc 静止画像符号化方式
EP1349393A1 (en) * 2002-03-15 2003-10-01 Ricoh Company Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
JP2004254298A (ja) * 2003-01-30 2004-09-09 Ricoh Co Ltd 画像処理装置、プログラム及び記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002016808A (ja) * 1999-05-10 2002-01-18 Ricoh Co Ltd 符号化装置、復号化装置、符号化方法、復号化方法、およびその方法を実行するためのコンピュータが読取可能な記録媒体
JP2003274185A (ja) * 2002-03-19 2003-09-26 Sanyo Electric Co Ltd 画像処理方法とその方法を利用可能な画像符号化装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNJ200610030056, 松村秀逸、加藤道明、武部幹, "ウェーブレット変換画像のサブバンド階層・電力クラス別ベクトル量子化法", 画像符号化シンポジウム 第10回シンポジウム資料(PCSJ95), 19951004, p.121−122 *
JPN6010004981, 松村秀逸、加藤道明、武部幹, "ウェーブレット変換画像のサブバンド階層・電力クラス別ベクトル量子化法", 画像符号化シンポジウム 第10回シンポジウム資料(PCSJ95), 19951004, p.121−122 *

Also Published As

Publication number Publication date
US8031951B2 (en) 2011-10-04
EP1722572B1 (en) 2013-02-20
CN1943243A (zh) 2007-04-04
US20110317929A1 (en) 2011-12-29
EP1722572A4 (en) 2010-04-28
US20070165959A1 (en) 2007-07-19
EP1722572A1 (en) 2006-11-15
US8265402B2 (en) 2012-09-11
JP4665898B2 (ja) 2011-04-06
CN1943243B (zh) 2013-06-05
WO2005081539A1 (ja) 2005-09-01

Similar Documents

Publication Publication Date Title
JP4665898B2 (ja) 2次元信号の符号化/復号方法および装置
US6978049B2 (en) Multi-resolution image data management system and method based on tiled wavelet-like transform and sparse data coding
US6873343B2 (en) Scalable graphics image drawings on multiresolution image with/without image data re-usage
US7352908B2 (en) Image compression device, image decompression device, image compression/decompression device, program for executing on a computer to perform functions of such devices, and recording medium storing such a program
US20020021758A1 (en) System and method for efficient transmission and display of image details by re-usage of compressed data
US6904176B1 (en) System and method for tiled multiresolution encoding/decoding and communication with lossless selective regions of interest via data reuse
US7646927B2 (en) Image processing and display scheme for rendering an image at high speed
JP4148462B2 (ja) 画像処理装置、電子カメラ装置及び画像処理方法
US8000542B2 (en) Apparatus and method for processing image data based on object movement speed within a frame
JP2001326936A (ja) 画像符号化装置及び方法
US8600183B2 (en) Optimized method and system for entropy coding
US9894371B2 (en) Video decoder memory bandwidth compression
US7302105B2 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
JP2008533787A (ja) 圧縮済領域における静止画像を処理するための方法、コンピュータプログラムプロダクト、および装置
US8594427B2 (en) Method and apparatus for reducing memory capacity in encoding image data
US20210076066A1 (en) Electronic apparatus and controlling method thereof
US7542611B2 (en) Image processing apparatus and method for converting first code data sets into second code data for JPEG 2000 and motion JPEG 2000
WO2001069585A1 (en) System and method for efficient transmission and display of image details by re-usage of compressed data
JP2006074130A (ja) 画像復号方法、画像復号装置および撮像装置
US20110091119A1 (en) Coding apparatus and coding method
JP2003234905A (ja) 固定長画像符号化装置及び固定長画像復号化装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100408

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101227

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4665898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees