JP4135617B2 - 画像符号化装置及び方法 - Google Patents

画像符号化装置及び方法 Download PDF

Info

Publication number
JP4135617B2
JP4135617B2 JP2003367809A JP2003367809A JP4135617B2 JP 4135617 B2 JP4135617 B2 JP 4135617B2 JP 2003367809 A JP2003367809 A JP 2003367809A JP 2003367809 A JP2003367809 A JP 2003367809A JP 4135617 B2 JP4135617 B2 JP 4135617B2
Authority
JP
Japan
Prior art keywords
bit
encoding
code amount
code
plane
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.)
Expired - Fee Related
Application number
JP2003367809A
Other languages
English (en)
Other versions
JP2005110185A5 (ja
JP2005110185A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003367809A priority Critical patent/JP4135617B2/ja
Priority to US10/933,274 priority patent/US7330598B2/en
Publication of JP2005110185A publication Critical patent/JP2005110185A/ja
Publication of JP2005110185A5 publication Critical patent/JP2005110185A5/ja
Application granted granted Critical
Publication of JP4135617B2 publication Critical patent/JP4135617B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • 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
    • H04N19/645Methods 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 by grouping of coefficients into blocks after the transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output

Landscapes

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

Description

本発明は、例えばJPEG−2000方式のように、ウェーブレット変換とエントロピー符号化とにより画像を圧縮する画像符号化装置及びその方法に関する。
従来の代表的な画像圧縮方式として、ISO(International Standards Organization)によって標準化されたJPEG(Joint Photographic Experts Group)方式がある。これは、離散コサイン変換(Descrete Cosine Transform;DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像及び復号画像を供することが知られている。しかし、ある程度以上に符号化ビット数を少なくすると、DCT特有のブロック歪みが顕著になり、主観的に劣化が目立つようになる。
一方、近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、各帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCTのように高圧縮でブロック歪みが顕著になるという欠点がないことから、DCTに代わる新たな技術として有力視されている。
2001年1月に国際標準化が完了したJPEG−2000方式は、このウェーブレット変換に高能率なエントロピー符号化(ビットプレーン単位のビット・モデリングと算術符号化)を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
これらの国際規格ではデコーダ側の規格のみが定められており、エンコーダ側は自由に設計することができる。その反面、目標の圧縮率を実現する効果的なレート制御手法についての規格が存在しないため、ノウハウの確立が何よりも重要になる。特にJPEG方式では、このレート制御が困難であり、目標値を得るまでに複数回の符号化を施す必要も多々あった。しかしながら、これは処理時間の増大に繋がるため、JPEG−2000方式では、1度の符号化で目標の符号量を得ることが望まれている。
ここで、JPEG−2000方式では、RD(Rate-Distortion)特性を利用したレート制御手法が一般的に用いられているが、このレート制御手法は、汎用性があるものの非常に計算負荷が高いという欠点があった。
そこで本件出願人は、以下の特許文献1において、一旦生成した符号化コードストリームを後尾から切り捨てることでレート制御を行う技術を提案している。この技術によれば、目標符号量に正確に合わせた制御が可能になる。
特開2002−165098号公報
しかしながら、この特許文献1の技術では、画質に与える影響が大きい符号ブロックが符号化コードストリームの後尾にあった場合には、それらが切り捨てられることで画質劣化が生じる虞があるため、さらに効果的なレート制御手法が望まれている。
また、JPEG−2000方式では、一般に負荷が高いエントロピー符号化の処理の軽減手法についての規格も存在しないため、ノウハウの確立が何よりも重要になる。
本発明は、このような従来の実情に鑑みて提案されたものであり、例えばJPEG−2000方式の画像符号化装置において、算術符号化の処理負荷を軽減すると共に、画質劣化を抑えて効果的にレート制御を行う画像符号化装置及びその方法を提供することを目的とする。
上述した目的を達成するために、本発明に係る画像符号化装置は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、少なくとも1つの上記サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
また、本発明に係る画像符号化装置は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号化手段は、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
さらに、本発明に係る画像符号化装置は、入力画像の輝度成分及び色差成分のコンポーネントに対してそれぞれ階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、上記符号化手段は、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御するものである。
また、上述した目的を達成するために、本発明に係る画像符号化方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、少なくとも1つの上記サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
また、本発明に係る画像符号化方法は、入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号化工程では、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
さらに、本発明に係る画像符号化方法は、入力画像の輝度成分及び色差成分のコンポーネントに対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、上記符号化工程では、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御するものである。
このような画像符号化装置及びその方法では、所定の順序でビットプレーンを符号化し、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が所定の目標符号量以下である場合には、次の符号化を行うようにし、累積値が所定の目標符号量を上回った場合には、符号化を停止するようにする。
本発明に係る画像符号化装置及びその方法によれば、所定の順序でビットプレーンを符号化し、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が所定の目標符号量以下である場合には、次の符号化を行うようにし、累積値が所定の目標符号量を上回った場合には、符号化を停止するようにするため、符号量制御によって最終的に切り捨てられるビットプレーンの符号化を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化するため、画質に重要な影響を与えるビットプレーンから符号化コードストリームに含まれることとなり、同じ符号量でも高画質を維持することができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、JPEG−2000方式により入力画像を圧縮符号化する画像符号化装置及びその方法に適用したものである。以下では、先ず、画像符号化装置の全体構成及びその動作について説明し、次いで、この画像符号化装置において本発明が適用された要部を説明する。
(1)画像符号化装置の構成及び動作
本実施の形態における画像符号化装置の概略構成を図1に示す。図1に示すように、画像符号化装置1は、DCレベルシフト部10と、ウェーブレット変換部11と、量子化部12と、符号ブロック化部13と、ビットプレーン分解部14と、ビットモデリング部15と、算術符号化部16と、符号量加算部18と、制御部19と、ヘッダ生成部20と、パケット生成部21とから構成されている。ここで、ビットモデリング部15と算術符号化部16とにより、EBCOT(Embedded Coding with Optimized Truncation)部17が構成される。
DCレベルシフト部10は、後段のウェーブレット変換部11におけるウェーブレット変換を効率的に行い圧縮率を向上させるために、原信号のレベルシフトを行う。原理的には、RGB信号は、正の値(符号なしの整数値)を持つため、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率を向上させることができる。これに対して、YCbCr信号におけるCbやCrといった色差信号は、正負両方の整数値を持つため、レベルシフトは行われない。
ウェーブレット変換部11は、通常、低域フィルタと高域フィルタとから構成されるフィルタバンクによって実現される。なお、デジタルフィルタは、通常複数タップ長のインパルス応答(フィルタ係数)を持っているため、フィルタリングが行えるだけの入力画像を予めバッファリングしておく必要があるが、簡単のため、図1では図示を省略する。
DCレベルシフト部10は、フィルタリングに必要な最低限の画像信号D10を入力し、上述のようにレベルシフトを行う。そして、ウェーブレット変換部11は、DCレベルシフト後の画像信号D11に対して、ウェーブレット変換を行うフィルタリング処理を行い、ウェーブレット変換係数D12を生成する。
このウェーブレット変換では、通常図2に示すように低域成分が繰り返し変換されるが、これは画像のエネルギの多くが低域成分に集中しているためである。このことは、図3(A)に示す分割レベル=1から図3(B)に示す分割レベル=3のように、分割レベルを進めていくに従って、同図のようにサブバンドが形成されていくことからも分かる。ここで、図2におけるウェーブレット変換の分割レベルは3であり、この結果計10個のサブバンドが形成されている。ここで、図2においてL,Hはそれぞれ低域,高域を表し、L,Hの前の数字は分割レベルを表す。すなわち、例えば1LHは、水平方向が低域で垂直方向が高域である分割レベル=1のサブバンドを表す。
量子化部12は、ウェーブレット変換部11から供給されたウェーブレット変換係数D12に対して非可逆圧縮を施す。量子化手段としては、ウェーブレット変換係数D12を量子化ステップサイズで除算するスカラ量子化を用いることができる。ここで、JPEG−2000方式の規格上、上述の非可逆圧縮を行う場合で、非可逆の9×7ウェーブレット変換フィルタを用いる場合には、自動的にスカラ量子化を併用することが決められている。一方、可逆の5×3ウェーブレット変換フィルタを用いる場合には、量子化が行われず、後述するレート制御部19において符号量制御が行われる。したがって、図1の量子化部12が動作するのは、実際には非可逆の9×7ウェーブレット変換フィルタを用いた場合である。以下、この非可逆の9×7ウェーブレット変換フィルタを用いる場合を想定して説明を進める。
符号ブロック化部13は、量子化部12で生成された量子化係数D13を、エントロピー符号化の処理単位である所定の大きさの符号ブロックに分割する。ここで、サブバンド中の符号ブロックの位置関係を図4に示す。通常、例えば64×64程度のサイズの符号ブロックが、分割後の全てのサブバンド中に生成される。したがって、図2において最も分割レベルが小さい3LHのサブバンドの大きさが640×320であった場合には、64×64の符号ブロックは、水平方向に10個、垂直方向に5個、合計50個存在することになる。符号ブロック化部13は、符号ブロック毎の量子化係数D14をビットプレーン分解部14に供給し、後段の符号化処理は、これらの符号ブロック毎に行われる。
ビットプレーン分解部14は、符号ブロック毎の量子化係数D14をビットプレーンに分解する。このビットプレーンの概念について図5を用いて説明する。図5(A)は、縦4個、横4個の計16個の係数からなる量子化係数を仮定したものである。この16個の係数のうち絶対値が最大のものは13であり、2進数表現では1101となる。したがって、係数の絶対値のビットプレーンは、図5(B)に示すような4つのビットプレーンから構成される。なお、各ビットプレーンの要素は、全て0又は1の数をとる。一方、量子化係数の符号は、−6が唯一負の値であり、それ以外は0又は正の値である。したがって、符号のビットプレーンは、図5(C)に示すようになる。ビットプレーン分解部14は、このビットブレーンに分解された量子化係数D15をビットモデリング部15に供給する。
ビットモデリング部15は、ビットプレーン分解部14においてビットプレーンに分解された量子化係数D15に対して、以下のようにして係数ビットモデリングを行い、係数ビット毎のシンボル及びコンテキストD16を算術符号化部16に供給する。そして、算術符号化部16は、この係数ビット毎のシンボル及びコンテキストD16に対して算術符号化を施し、得られた算術符号D17を符号量加算部18に供給する。ここで、本実施の形態では、特にJPEG−2000規格で定められたEBCOTと呼ばれるエントロピー符号化を例に取りながら説明する。このEBCOTについては、例えば、文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」等に詳細に記載されている。なお、上述したように、ビットモデリング部15と算術符号化部16とにより、EBCOT部17が構成される。
EBCOTは、所定の大きさのブロック毎にそのブロック内の係数ビットの統計量を測定しながら符号化する手段であり、符号ブロック単位に量子化係数をエントロピー符号化する。符号ブロックは、最上位ビット(MSB)から最下位ビット(LSB)方向にビットプレーン毎に独立して符号化される。また、符号ブロックの縦横のサイズは、4から256までの2の冪乗で、通常は32×32、64×64、128×32等の大きさが使用される。量子化係数は、nビットの符号付き2進数で表されており、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表す。なお、残りの1ビットは符号である。符号ブロックの符号化は、MSB側のビットプレーンから順番に、以下の(a)〜(c)に示す3種類の符号化パスによって行われる。
(a) Significance Propagation Pass
(b) Magnitude Refinement Pass
(c) Clean Up Pass
3つの符号化パスの用いられる順序を図6に示す。図6に示すように、先ずビットプレーン(n−2)(MSB)がClean Up Pass(以下、適宜CUパスという。)によって符号化される。続いて、順次LSB側に向かい、各ビットプレーンが、Significance Propagation Pass(以下、適宜SPパスという。)、Magnitude Refinement Pass(以下、適宜MRパスという。)、CUパスの順序で用いられて符号化される。
但し、実際にはMSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、ゼロ係数のみから構成されるビットプレーン(ゼロビットプレーン)は符号化しない。この順序で3種類の符号化パスを繰返し用いて符号化し、任意のビットプレーンの任意の符号化パスまでで符号化を打ち切ることにより、符号量と画質のトレードオフを取る、すなわちレート制御を行うことができる。
ここで、係数ビットの走査(スキャニング)について図7を用いて説明する。符号ブロックは、高さ4個の係数ビット毎にストライプ(stripe)に分けられる。ストライプの幅は、符号ブロックの幅に等しい。スキャン順とは1個の符号ブロック内の全ての係数ビットを辿る順番であり、符号ブロック中では上のストライプから下のストライプへの順序、各ストライプ中では左の列から右の列への順序、各列中では上から下への順序でスキャニングされる。なお、各符号化パスにおいて符号ブロック中の全ての係数ビットがこのスキャン順で処理される。
以下、上述した3つの符号化パスについて説明する。なお、この3つの符号化パスについては、何れも上述した文献文献「IS0/IEC 15444-1, Information technology-JPEG 2000, Part 1:Core coding system」に記載されている。
(a) Significance Propagation Pass
あるビットプレーンを符号化するSPパスでは、8近傍の少なくとも1つの係数が有意(significant)であるようなnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が1である場合には、符号の正負が続けて算術符号化される。
ここでsignificanceとは、各係数ビットに対して符号化器が持つ状態である。significanceの初期値は、non-significantを表す「0」であり、その係数で1が符号化されたときにsignificantを表す「1」に変化し、以降常に「1」であり続ける。したがって、significanceとは、有効桁の情報を既に符号化したか否かを示すフラグともいえる。あるビットプレーンでSPパスが発生すれば、以降のビットプレーンではSPパスは発生しない。
(b) Magnitude Refinement Pass
ビットプレーンを符号化するMRパスでは、ビットプレーンを符号化するSPパスで符号化していないsignificantな係数ビットが算術符号化される。
(c) Clean Up Pass
ビットプレーンを符号化するCUパスでは、ビットプレーンを符号化するSPパスで符号化していないnon-significantな係数ビットが算術符号化される。その符号化した係数ビットの値が1である場合には、符号の正負が続けて算術符号化される。
なお、以上の3つの符号化パスでの算術符号化では、ケースに応じてZC(Zero Coding)、RLC(Run-Length Coding)、SC(Sign Coding)、MR(Magnitude Refinement)が使い分けられて係数のコンテキストが選択される。そして、MQ符号化と呼ばれる算術符号によって、係数ビットのシンボルと選択されたコンテキストとが符号化される。このMQ符号化は、JBIG2で規定された学習型の2値算術符号である。MQ符号化については、例えば、文献「ISO/IEC FDIS 14492, “Lossy/Lossless Coding of Bi-level Images”, March 2000」等に記載されている。JPEG−2000規格では、全ての符号化パスで合計19種類のコンテキストがある。
以上のようにして、ビットモデリング部15は、ビットプレーン毎の量子化係数D15を3つの符号化パスで処理し、係数ビット毎のシンボル及びコンテキストD16を生成する。そして、算術符号化部16は、この係数ビット毎のシンボル及びコンテキストD16に対して算術符号化を施す。
符号量加算部18は、算術符号化部16から供給された算術符号D17の符号量を累積し、累積値を制御部19に供給する。制御部19は、この累積値と目標符号量とを比較し、まだ目標符号量に達していない場合には、次のビットプレーンの符号化を行うように、EBCOT部17に制御信号D19を送信する。そして、符号量加算部18は、累積値が目標符号量に達した場合には、符号量制御完了後の符号化コードストリームD20をヘッダ生成部20及びパケット生成部21に供給する。なお、符号量加算部18及び制御部19における処理の詳細や、各ビットプレーンの符号化の順序等については後述する。
ヘッダ生成部20は、符号量加算部18から供給された符号化コードストリームD20に基づいて、符号ブロック内での付加情報、例えば符号ブロック内の符号化パスの個数や符号化コードストリームD20のデータ長等をヘッダD21として生成し、このヘッダD21をパケット生成部21に供給する。
パケット生成部21は、符号化コードストリームD20とヘッダD21とを合わせてパケットD22を生成し、外部に出力する。この際、パケット生成部21は、図8に示すように同一解像度レベルから個々のパケットを生成する。なお、図8から分かるように、最低域であるパケット−1は、LL成分のみを含み、それ以外のパケット−2乃至パケット−4は、LH成分,HL成分及びHH成分を含む。
以上のように、本実施の形態における画像符号化装置1は、ウェーブレット変換及びエントロピー符号化を用いて入力画像を高効率に圧縮符号化し、パケット化して出力することができる。
(2)画像符号化装置における適用部分
(2−1)符号量加算部及び制御部の動作
ところで、一般にJPEG−2000方式により入力画像を圧縮符号化する画像符号化装置では、EBCOTにおけるエントロピー符号化の処理負荷が非常に高い。その一方で、目標の圧縮率又はビットレートで符号化する際には、EBCOTで符号化した後に実際には使用されないものが存在し、これらは結果的に無駄になる。
そこで、本実施の形態における符号量加算部18は、EBCOT部17で符号化されたビットプレーン毎の算術符号D17の符号量を累積し、累積値を制御部19に供給する。制御部19は、この累積値と目標符号量とを比較し、まだ目標符号量に達していない場合には、次のビットプレーンの符号化を行うように、EBCOT部17に制御信号D19を送信する。そして、符号量加算部18は、累積値が目標符号量に達した場合には、符号量制御完了後の符号化コードストリームD20をヘッダ生成部20及びパケット生成部21に供給する。
このとき、EBCOT部17では、全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に、ビットプレーン毎の量子化係数D15のビットモデリングを行い、得られた係数ビット毎のシンボル及びコンテキストD16を算術符号化する。
具体的に、図9に示すサブバンド内では、図中矢印で示すように、優先順位の高い符号ブロック(図中CB)から優先順位の低い符号ブロック(図中CB)の順に、且つ最もビット位置の高いMSB側のビットプレーンから最もビット位置の低いLSB側のビットプレーンの順に符号化する。この図9において、ゼロ係数しか存在しないゼロビットプレーンは符号化を行わないので、実際に最初に符号化対象となるのは、図中丸1で示すビットプレーンとなる。このビット位置には、丸1で示すビットプレーンしか存在していないため、このビットプレーンだけを符号化して、次のビット位置に移動する。次のビット位置では、丸2と丸3で示すビットプレーンが符号化対象となる。この操作を繰り返し行い、各ビットプレーンの符号化で発生した符号量を累積加算し、その累積値が目標符号量に達した時点で、例えば図中丸9で示すビットプレーンまで符号化した時点で、残りのビットプレーンの符号化を終了する。したがって、図中丸10で示すビットプレーンは、丸9で示すビットプレーンと同じビット位置に存在するが、EBCOT部17で符号化されないこととなる。
ここで、図9は1つのサブバンドに注目した例であったが、図2のように3回ウェーブレット変換した場合の輝度成分Yの全てのサブバンドを符号化する場合には、図10に示すような順序で符号化する。すなわち、図中矢印で示すように、全サブバンドの全符号ブロックを横断的に、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する。このとき、サブバンド間で同じビット位置のビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に選択する。例えば図2に示したように3回ウェーブレット変換を行った場合、図11に示すように、0LL、1HL、1LH、1HH、2HL、2LH、2HH、3HL、3LH、3HHの順に選択する。これは、画像の重要な部分が高域よりも低域に集まっているためである。
さらに、画像が複数のコンポーネントから構成されている場合には、図12に示すような順序で符号化する。この図12は、輝度成分Yと色差成分U,Vとの合計3つのコンポーネントで構成される場合について説明するものである。この図12では、先ず輝度成分Yについて同じビット位置のビットプレーンをY−0LLからY−3HHの順に符号化し、続いて色差成分Uについて同じビット位置のビットプレーンを同様に符号化し、最後に色差成分Vについて同じビット位置のビットプレーンを符号化する。そして、V−3HHのサブバンドまで符号化が終了したら、1つ下位のビット位置に移動し、再びY−0LLから同様に同じビット位置のビットプレーンを符号化する。
なお、この図12では、Y,U,Vの順に符号化したが、これは、一般に色差成分よりも輝度成分に対して人間の視覚特性が敏感なためである。但し、同じ色差成分であるU及びVの重要度は入力画像に依存するため、優先順位を適宜可変にすることが好ましい。
さらに、Y,U,Vの3つのコンポーネントが存在する場合、サブバンド毎の優先順位は、図13乃至図15に示すようなバリエーションが可能である。先ず図13は、上述した輝度成分を優先するものであり、輝度成分Yの全てのサブバンドを符号化した後に、色差成分Uの全てのサブバンドを符号化し、最後に色差成分Vの全てのサブバンドを符号化する。次に図14は、最低域について全てのコンポーネントを符号化した後で、順次高域へと符号化するものである。輝度の細かいテクスチャよりも色差の低域情報を優先したい場合に、この優先順位を用いるとよい。続いて図15は、図13及び図14の混合型である。この図15では、輝度成分Yは、色差成分U,Vよりも少し高域まで先に処理している。輝度成分を優先するが図13ほどには優先したくない場合には、この優先順位を用いるとよい。なお、図15に示す混合型は一例であり、他の順序であってもよい。
ここで、以上説明したビットプレーン毎の符号量の加算処理手順を図16のフローチャートに示す。この図16では、符号量加算部18及び制御部19における処理のみならず、EBCOT部17における符号化処理についても併せて示している。
先ずステップS1において、ビットプレーン分解部14での動作が終了した時点で、量子化係数のビットプレーン情報(ゼロビットプレーン情報を含む)を記憶・保持する。
次にステップS2において、累積符号量Yを0に初期化し、続くステップS3において、ゼロビットプレーンを含む、サブバンド間で最もビット位置の高い最初のビットプレーンを選択する。ここで、同じビット位置に複数のビットプレーンが存在する場合には、上述の通り、サブバンドについては最低域のサブバンドから最高域のサブバンドの順に、コンポーネントについては例えばY、U、Vの順に選択する。
続いてステップS4において、選択したビットプレーンを符号化し、ステップS5において、そのビットプレーンの符号量T[Ns,Nc,C,B]をYに加算する。ここで、Ns,Nc,C,Bは、それぞれサブバンド番号、コンポーネント番号、符号ブロック番号、ビットプレーン番号を示す。なお、このビットプレーン毎の符号量の算出方法の詳細については後述する。
ステップS6では、累積符号量Yが目標符号量を上回ったか否かが判別され、累積符号量Yが目標符号量を上回った場合(Yes)には処理を終了し、それまでに符号化されたビットプレーンの算術符号を含めた符号化コードストリームD20をヘッダ生成部20及びパケット生成部21に供給する。このとき、厳密には目標符号量を超えているため、目標符号量以下に抑えたい場合には、1つ前のビットプレーンの算術符号までを符号化コードストリームD20に含めてヘッダ生成部20及びパケット生成部21に供給することが好ましい。一方、累積符号量Yが目標符号量以下である場合(No)にはステップS7に進む。
ステップS7では、同じビット位置のビットプレーンが存在するか否かが判別される。同じビット位置のビットプレーンが存在する場合(Yes)にはステップS8に進み、次のビットプレーンを選択してステップS4に戻る。一方、同じビット位置のビットプレーンが存在しない場合(No)にはステップS9に進む。
ステップS9では、ビット位置が最も低いか否か、すなわち最下位ビット(LSB)か否かが判別される。ビット位置が最も低い場合(Yes)には処理を終了し、そうでない場合(No)にはステップS10において最下位ビット(LSB)側の次のビット位置の最初のビットプレーンを選択してステップS4に戻る。
以上のように、本実施の形態におけるEBCOT部17、符号量加算部18及び制御部19によれば、所定の順序でビットプレーン毎の量子化係数を符号化し、各ビットプレーンの符号化が終了する毎に得られた算術符号の符号量を累積して目標符号量と比較し、目標符号量未満である場合にのみ、さらに次のビットプレーンの符号化を行うため、最終的に切り捨てられるビットプレーンについては計算負荷が高いEBCOTの処理を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、画質に重要な影響を与える優先順位の高いビットプレーンから順に符号化するため、同じ符号量でも高画質を維持することができる。
(2−1−2)変形例
上述の例では、シングルレイヤの場合について説明したが、JPEG−2000規格では、符号化側で複数のビットプレーンをMSB側からLSB側の方向に複数のレイヤに分割してマルチレイヤ化し、個々のレイヤ毎にパケット化することができる。そして復号側で復号するレイヤ数を可変にすることで、スケーラビリティを実現することができる。
図17は、図8に示したシングルレイヤをマルチレイヤ化した図である。レイヤが増えるに従ってパケットも増えることが分かる。また、図18は、図10をマルチレイヤ化した図である。図18では、レイヤ0,1,2,3の4つのレイヤに分割されている。各レイヤの斜線領域がEBCOT部17で符号化されるビットプレーンである。図18より、レイヤ0ではゼロビットプレーンが多いが、レイヤ3ではゼロビットプレーンがなく、全てのビットプレーンが符号化対象となる。
マルチレイヤの場合における符号量の加算処理手順は、基本的には図16に示したフローチャートの通りであるが、レイヤ毎に目標符号量を設定することができる。そして、あるレイヤでの目標符号量に達した場合には、そのレイヤの残りのビットプレーンの符号化を行わず、次のレイヤの最初のビットプレーンから符号化を始める。このとき、予め符号化を行うレイヤ数を決めておくようにしても構わない。
(2−2)符号化パス毎の符号量の算出方法
JPEG−2000規格の算術符号化では、符号化パス又はビットプレーンにおける最後の算術符号化が終了した時点で出力されている符号の長さを、そのままその符号化パス又はビットプレーンの符号の長さとすることは一般的にはできない。
そこで、以下では、符号化パス毎の符号量を求める方法を説明する。なお、ビットプレーン毎の符号量については、符号化パス毎の符号量の和として求めることができるため、説明を省略する。
JPEG−2000規格の符号化方式においては、符号化パスは、終端処理(terminate)される場合とされない場合とがある。終端処理される場合には、出力されている符号の長さがそのままその符号化パスの符号量となる。一方、終端処理されない場合には、出力されている符号に加えて、図19に示すBバッファ及びCレジスタ上のデータも、その符号化パスの符号量に含まれる。このBバッファ及びCレジスタは、図1の算術符号化部16の内部にある。なお、ある符号化パスが終端処理されるか否かは、JPEG−2000の符号化モードによって決まる。デフォルトの符号化モードでは、終端処理されるのは各符号ブロックで最後の符号化パスのみである。そのため、それ以外の符号化パスでは終端処理されず、したがって、終端処理されない場合の符号量を求めることが重要となる。
本実施の形態では、符号化パスが終端処理されない場合に、その符号化パスの最後の算術符号化が終了した時点で出力が確定している符号量をLとしたとき、その符号化パスの符号量をL+3として計算する。
以下、この計算方法の妥当性を説明する。図19に示される通り、Bバッファは8ビットの領域、Cレジスタは28ビットの領域である。また、Cレジスタの内容は、上位ビットから順にキャリービットc1、バイト出力用ビットb1〜b8、スペーサービットs1〜s3、及び小数部ビットx1〜x16に分けられる。そしてBバッファにあるデータと、Cレジスタにあるデータのうちキャリービットc1から小数部ビットの最上位桁であるx1までのビットとがあれば、その符号化パスまでの情報を表すのに十分であるという性質がある。
算術符号はCレジスタ上で計算される。算術符号の計算中にCレジスタが左シフトされる回数を数えるためにCTカウンタがあり、Cレジスタが左シフトされる毎に値が1減らされるようになっている。そのCTカウンタの値が0になったとき、Cレジスタから1バイトのデータがBバッファに出力される。
この処理をBバッファの内容が16進数でFFであった場合と、そうでなかった場合に分けて説明する。
先ず、Bバッファの内容が16進数でFFでなかった場合について、図20を用いて説明する。始めに、Bバッファのデータとキャリービットc1の値とを加えた値が確定した符号として出力される。続いて、Cレジスタのバイト出力用ビットb1〜b8の値がBバッファに移される。さらに、CTカウンタの値が8にセットされる。
次に、Bバッファの内容が16進数でFFであった場合について、図21を用いて説明する。始めに、Bバッファの内容がそのまま確定した符号として出力される。続いてCレジスタのキャリービットc1とバイト出力用ビットb1〜b7の値とがBバッファに移される。さらに、CTカウンタの値が7にセットされる。
ここで、図19に示した符号に必要なデータが実際に確定した符号として出力されるまでの動作について考える。
先ず、Bバッファの内容がFF以外であり、常に図20に示した処理が適用される例について、図22を用いて説明する。符号化パスの最後の算術符号化が終了した時点におけるBバッファ及びCレジスタが(a)の状態で表されるとする。図20に示した処理を適用することで(b)の状態となり、1つ目の符号バイトが確定して出力される。続いてCT=0になるまでCレジスタを8回左シフトし、(c)の状態になる。そして、図20に示した処理を適用することで(d)の状態となり、2つ目の符号バイトが確定して出力される。続いてCT=0になるまでCレジスタを8回左シフトし、(e)の状態となる。この(e)の状態において、符号に必要なデータはBバッファにのみ残っている。そのため、3回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、この場合における符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に3を加えたものとなる。
次に、Bバッファの内容がFFとなり、図21に示した処理が適用される場合がある例について、図23を用いて説明する。符号化パスの最後の算術符号化が終わった時点におけるBバッファ及びCレジスタが(a)の状態で表されるとする。図21に示した処理を適用することで(b)の状態となり、1つ目の符号バイトが確定して出力される。続いてCT=0になるまでCレジスタを7回左シフトし、(c)の状態になる。JPEG−2000規格の特徴として、Bバッファの値としてFFが続くことはないため、(c)の状態におけるBバッファの値はFFではない。そこで、図20に示した処理を適応することで(d)の状態となり、2つ目の符号バイトが確定して出力される。続いてCT=0になるまでCレジスタを8回左シフトし、(e)の状態となる。この(e)の状態において、符号に必要なデータはBバッファにのみ残っている。そのため、3回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、この場合についても、符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に3を加えたものとなる。
図示しないが、BバッファがFFになるタイミングが異なる場合についても同様である。つまり、符号化パスが終端処理されていない場合、その符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に3を加えたものである。
図1の算術符号化部16において以上で示した符号化パスの符号量の計算方法を用いることにより、符号化パスが終端処理されていない場合にも符号化パス及びビットプレーンの符号量を求めることができる。
なお、符号化パスが終端処理されていない場合には、その符号化パスを表す符号の最後の部分は未確定であり、次の符号化パスのデータによって値が変わる。しかし本実施の形態では、図19に示したCレジスタのx1の位置のビットが出力されるだけの符号量があれば十分であるという性質を用い、その符号量を次の符号化パスの符号化を始める前に求めている。そのため、本実施の形態によれば、続く符号化パスをEBCOT部17で符号化する前に、各符号化パスの符号量を求めることが可能になる。したがって、EBCOT符号化を行いながら符号量を累積し、目標符号量になり次第、以降の符号化を省略して高速に符号化を完了するということが効率よくできる。
(2−2−2)変形例
上述の例では、CTカウンタの値に関わりなく、符号化パスが終端処理されない場合に、その符号化パスの最後の算術符号化が終了した時点で出力が確定している符号量をLとしたとき、その符号化パスの符号量をL+3として計算したが、CTカウンタの値を考慮し、CTカウンタの値が5以上のときにL+2、CTカウンタの値が5未満のときにL+3として計算するようにしても構わない。
これにより、上述の例よりも少ない符号量で済み、圧縮効率を向上させることができる。但し、CTカウンタの値を参照して値を切り替えるオーバーヘッドがあるため、処理を少しでも減らしたい場合には、上述の手法を用いる方がよい。
以下、この計算方法の妥当性を説明する。符号化パスにおける最後の算術符号化が終了した時点におけるBバッファ及びCレジスタが、図24の(a)の状態で表されるとする。このとき、CTカウンタの値が5であるため、桁溢れせずにCレジスタをあと5回左シフトすることができる。シフト後は(b)の状態で表される。このとき、Bバッファの内容がFFであるため、図21に示した処理を適用することで(c)の状態となり、1つ目の符号バイトが確定して出力される。続いてCT=0になるまでCレジスタを7回左シフトし、(d)の状態になる。この(d)の状態において、符号に必要なデータはBバッファにのみ残っている。そのため、2回目の符号バイトの確定出力により、符号に必要なデータが全て出力されることになる。以上より、CTカウンタの値が5である場合、符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力が確定している符号量に2を加えたものとなる。
なお、CTカウンタの値が5より大きい場合も、同様に2回の符号バイト確定出力によって符号に必要なデータを全て出力することができる。また、Bバッファの内容がFFでなかった場合も同様である。つまり、符号化パスが終端処理されていない場合、その符号化パスの符号量は、符号化パスの最後の算術符号化が終わった時点で出力確定している符号量をLとしたとき、CTカウンタの値が5以上の場合にはL+2となり、CTカウンタの値が5未満の場合にはL+3となる。
(2−3)量子化部の動作
上述したように、量子化部12は、ウェーブレット変換部11から供給されたウェーブレット変換係数D12に対して、量子化ステップサイズで除算するスカラ量子化により非可逆圧縮を施す。
ところで、JPEG−2000規格で規定されている量子化は、以下の式(1)に示すように、ある変換係数a(x,y)(但し、xは水平方向の位置を示し、yは垂直方向の位置を示す)を、サブバンドbの量子化ステップサイズΔWで除算することによって、量子化係数Q(x,y)を算出するものである。
Figure 0004135617
式(1)におけるΔWは、以下の式(2)に従って算出することができる。ここで、ΔB−Stepは、全サブバンドで共通の基本ステップサイズを示し、L2は、サブバンドbの合成フィルタ基底波形のL2ノルムを示し、ΔNは、サブバンドbの正規化量子化ステップサイズを示す。
Figure 0004135617
次に、ΔWが算出されてから、以下の式(3)に従って指数ε及び仮数μを求める。ここで、Rはサブバンドbにおけるダイナミックレンジである。これらの値ε、μが実際に最終的な符号化コードストリームに含まれることになる。
Figure 0004135617
ここで、本実施の形態における量子化部12は、量子化ステップサイズΔWを求める際に、上述した式(2)を用いるのではなく、サブバンドb毎の重み係数VWを用いて、以下の式(4)に従って算出する。
Figure 0004135617
この重み係数VWは、サブバンド毎、或いはY(輝度)、Cb,Cr(色差)といったコンポーネント毎に設定することができ、重み係数テーブルとして記憶される。この重み係数の値が大きい場合には、上述した式(4)からΔWが小さくなり、式(1)から量子化係数Q(x,y)が大きくなるため、画像の重要な部分が集中している低域ほど値を大きくすることが好ましい。また、色差情報(Cb,Cr)よりも輝度情報(Y)に対して人間の視覚特性が敏感であるため、輝度情報(Y)の方の値を大きくすることが好ましい。
5回ウェーブレット変換・分割を行う場合の重み係数テーブルの一例を図25に示す。図25に示すように、分割レベルが小さい低域ほど値が大きく、また、色差情報(Cb,Cr)よりも輝度情報(Y)の方が値が大きくなっている。
後段の符号ブロック化部13では、量子化部12で生成された量子化係数D13が所定の大きさの符号ブロックに分割され、ビットプレーン分解部14では、符号ブロック毎の量子化係数D14がビットプレーンに分解されるため、量子化係数の値が大きいほど、ビットプレーン数が多くなる。したがって、上述したように、符号量加算部18及び制御部19において、全ての符号ブロックで最もビット位置の高い算術符号から最下位ビットの算術符号の順に、ビットプレーン毎又は符号化パス毎の算術符号を選択する場合には、より重要な情報を優先的に符号化コードストリームに含めることができ、結果として高画質な符号化画像を提供することができる。
以上、本発明を実施するための最良の形態について説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
例えば、上述した実施の形態では、ビットプレーン毎に符号量制御を行うものとして説明したが、これに限定されるものではなく、符号化パス毎に符号量制御を行うようにしても構わない。この場合、上述した優先順位に従って符号化パス毎の算術符号化を行い、1つの符号化パスを算術符号化する毎に符号量の累積値と目標符号量とを比較する。そして、累積値が目標符号量以下である場合にのみ、次の符号化パスを算術符号化する。
以上説明した本発明によれば、例えばJPEG−2000方式に従って入力画像を符号化する際に、最終的に切り捨てられるビットプレーンについて計算負荷が高いEBCOTの処理を省略することができ、高速に符号化を完了することができる。また、計算量が少ないことから、低消費電力化を実現することができる。さらに、画質に重要な影響を与える優先順位の高いビットプレーンから順に符号化することにより、同じ符号量でも高画質を維持することができる。
本実施の形態における画像符号化装置の概略構成を説明する図である。 3回ウェーブレット変換した場合のサブバンドを説明する図である。 実際の画像をウェーブレット変換した場合のサブバンドを説明する図である。 符号ブロックとサブバンドとの関係を説明する図である。 ビットプレーンを説明する図であり、同図(A)は、計16個の係数から成る量子化係数を示し、同図(B)は、係数の絶対値のビットプレーンを示し、同図(C)は、符号のビットプレーンを示す。 符号ブロック内の符号化パスの処理手順を説明する図である。 符号ブロック内の係数のスキャン順序を説明する図である。 同画像符号化装置で生成されるパケットを説明する図である。 1つのサブバンド内におけるビットプレーンの選択順序を説明する図である。 複数のサブバンド間におけるビットプレーンの選択順序を説明する図である。 複数のサブバンドの優先順位を説明する図である。 3つのコンポーネントが存在する場合におけるビットプレーンの選択順序を説明する図である。 3つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。 3つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。 3つのコンポーネントが存在する場合における各サブバンドの優先順位を示す図である。 ビットプレーン毎の符号量の加算処理手順を説明するフローチャートである。 図8をマルチレイヤ化した図である。 図10をマルチレイヤ化した図である。 同画像符号化装置の算術符号化部におけるBバッファ及びCレジスタを示す図である。 Bバッファの内容が16進数でFFでなかった場合における符号の確定出力を説明する図である。 Bバッファの内容が16進数でFFであった場合における符号の確定出力を説明する図である。 常に図20の処理が適用される場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。 図21の処理が適用されることがある場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。 CTカウンタの値が5である場合に、符号に必要なデータが確定した符号として出力されるまでの動作を説明する図である。 サブバンド毎に重み付けして量子化する場合の重み係数テーブルの一例を示す図である。
符号の説明
1 画像符号化装置、10 DCレベルシフト部、11 ウェーブレット変換部、12 量子化部、13 符号ブロック化部、14 ビットプレーン分解部、15 ビットモデリング部、16 算術符号化部、17 EBCOT部、18 符号量加算部、19 制御部、20 ヘッダ生成部、21 パケット生成部

Claims (13)

  1. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
    上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
    上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、少なくとも1つの上記サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
    上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
    上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御す
    画像符号化装置。
  2. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
    上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
    上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
    上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
    上記符号化手段は、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、
    上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御す
    画像符号化装置。
  3. 入力画像の輝度成分及び色差成分のコンポーネントに対してそれぞれ階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング手段と、
    上記フィルタリング手段によって生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成手段と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成手段と、
    上記ビットプレーン生成手段によって生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化手段と、
    上記符号化手段によって生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御手段とを備え、
    上記符号化手段は、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、
    上記符号量制御手段は、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化手段を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御す
    画像符号化装置。
  4. 上記符号量制御手段は、上記累積値が上記所定の目標符号量を上回った場合には、該所定の目標符号量を上回る直前の符号化までの符号を上記符号化コードストリームに含め請求項1乃至3のいずれかに記載の画像符号化装置。
  5. 全符号ブロックの全ビットプレーンを上記最もビット位置の高いビットプレーンから上記最もビット位置の低いビットプレーンの方向に複数のレイヤに分割するレイヤ分割手段をさらに備え、
    上記符号量制御手段は、各ビットプレーンに含まれる符号化パスの符号化が終了する毎に生成された符号の符号量を累積し、累積値が各レイヤの目標符号量以下である場合には、該レイヤの次の符号化を行うように上記符号化手段を制御し、上記累積値が該レイヤの目標符号量を上回った場合には、次のレイヤの最初の符号化を行うように上記符号化手段を制御し、上位累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化手段を制御す請求項1乃至3のいずれかに記載の画像符号化装置。
  6. JPEG−2000方式に従って上記入力画像を符号化するものであり、
    上記符号量制御手段は、終端処理されていない符号化パスの符号量を、その符号化パスにおける最後の符号化が終了した時点で出力が確定している符号量をLとしたとき、L+3として求め
    請求項1乃至3のいずれかに記載の画像符号化装置。
  7. JPEG−2000方式に従って上記入力画像を符号化するものであり、
    上記符号量制御手段は、終端処理されていない符号化パスの符号量を、その符号化パスにおける最後の符号化が終了した時点で出力が確定している符号量をLとしたとき、符号の計算中にCレジスタが左ビットシフトされる回数を計数するCTカウンタの値が5以上の場合にL+2として求め、上記CTカウンタの値が5未満の場合にL+3として求め
    請求項1乃至3のいずれかに記載の画像符号化装置。
  8. 上記フィルタリング手段によって生成されたサブバンド内の変換係数を、上記サブバンド毎に設定された重み係数を用いて重み付けを行った量子化ステップサイズで除算して量子化する量子化手段をさらに備え請求項1乃至3のいずれかに記載の画像符号化装置。
  9. 上記重み係数は、低域成分のサブバンドほど上記量子化ステップサイズが小さくなるように設定されてい請求項8記載の画像符号化装置。
  10. 上記重み係数は、輝度情報のコンポーネントの方が色差情報のコンポーネントよりも上記量子化ステップサイズが小さくなるように設定されてい請求項8記載の画像符号化装置。
  11. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
    上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
    上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、少なくとも1つの上記サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
    上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
    上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御す
    画像符号化方法。
  12. 入力画像に対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
    上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
    上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記複数のサブバンドの全サブバンド全符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
    上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
    上記符号化工程では、同じビット位置の上記ビットプレーンについては、最低域のサブバンドから最高域のサブバンドの順に上記符号化を行い、
    上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御す
    画像符号化方法。
  13. 入力画像の輝度成分及び色差成分のコンポーネントに対して階層的にフィルタリング処理を施して複数のサブバンドを生成するフィルタリング工程と、
    上記フィルタリング工程にて生成されたサブバンドを分割し、所定の大きさの複数の符号ブロックを生成する符号ブロック生成工程と、
    上記符号ブロック単位に最上位ビットから最下位ビットに至る複数のビットプレーンを生成するビットプレーン生成工程と、
    上記ビットプレーン生成工程にて生成された上記複数のビットプレーンについて、上記輝度成分及び色差成分のコンポーネントの符号ブロックの同じビット位置のビットプレーンを連結したものを符号化し、且つ最もビット位置の高いビットプレーンから最もビット位置の低いビットプレーンの順に符号化する符号化工程と、
    上記符号化工程にて生成された符号に基づいて、所定の目標符号量になるように符号量を制御する符号量制御工程とを有し、
    上記符号化工程では、同じビット位置の上記ビットプレーンについては、輝度成分のコンポーネントから色差成分のコンポーネントの順に上記符号化を行い、
    上記符号量制御工程では、各ビットプレーンにおける符号化が終了する毎に生成された符号量を累積し、累積値が上記所定の目標符号量以下である場合には、次の符号化を行うように上記符号化工程を制御し、上記累積値が上記所定の目標符号量を上回った場合には、符号化を停止するように上記符号化工程を制御す
    画像符号化方法。
JP2003367809A 2003-09-08 2003-10-28 画像符号化装置及び方法 Expired - Fee Related JP4135617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003367809A JP4135617B2 (ja) 2003-09-08 2003-10-28 画像符号化装置及び方法
US10/933,274 US7330598B2 (en) 2003-09-08 2004-09-03 Image encoding apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003316092 2003-09-08
JP2003367809A JP4135617B2 (ja) 2003-09-08 2003-10-28 画像符号化装置及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008105154A Division JP4379527B2 (ja) 2003-09-08 2008-04-14 符号化装置及び方法

Publications (3)

Publication Number Publication Date
JP2005110185A JP2005110185A (ja) 2005-04-21
JP2005110185A5 JP2005110185A5 (ja) 2006-11-02
JP4135617B2 true JP4135617B2 (ja) 2008-08-20

Family

ID=34525367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003367809A Expired - Fee Related JP4135617B2 (ja) 2003-09-08 2003-10-28 画像符号化装置及び方法

Country Status (2)

Country Link
US (1) US7330598B2 (ja)
JP (1) JP4135617B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7274882B2 (ja) 2019-02-19 2023-05-17 大阪瓦斯株式会社 触媒容器

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483575B2 (en) * 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
JP4090975B2 (ja) 2003-09-30 2008-05-28 株式会社リコー 画像処理装置
GB2429593A (en) 2005-08-26 2007-02-28 Electrosonic Ltd Data compressing using a wavelet compression scheme
JP2008022405A (ja) 2006-07-14 2008-01-31 Sony Corp 画像処理装置および方法、並びに、プログラム
KR101375662B1 (ko) * 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5772623B2 (ja) * 2012-01-20 2015-09-02 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
JP5950157B2 (ja) * 2012-05-18 2016-07-13 ソニー株式会社 画像処理装置および方法、並びに、プログラム
US9992252B2 (en) 2015-09-29 2018-06-05 Rgb Systems, Inc. Method and apparatus for adaptively compressing streaming video
JP7037554B2 (ja) * 2016-05-23 2022-03-16 カカドゥ アール アンド ディー ピーティーワイ リミテッド 画像を圧縮する方法および装置
AU2019247481B2 (en) * 2018-04-04 2023-07-06 Kakadu R & D Pty Ltd A further improved method and apparatus for image compression
AU2019356526B2 (en) * 2018-10-12 2023-08-10 Kakadu R & D Pty Ltd A method and apparatus for image compression

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6466698B1 (en) * 1999-03-25 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy Efficient embedded image and video compression system using lifted wavelets
JP3743384B2 (ja) 2002-04-19 2006-02-08 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
US7483575B2 (en) 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7274882B2 (ja) 2019-02-19 2023-05-17 大阪瓦斯株式会社 触媒容器

Also Published As

Publication number Publication date
US20050084168A1 (en) 2005-04-21
JP2005110185A (ja) 2005-04-21
US7330598B2 (en) 2008-02-12

Similar Documents

Publication Publication Date Title
JP4114534B2 (ja) 画像符号化装置及び方法
JP4273996B2 (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法
JP3743384B2 (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法
JP5034018B2 (ja) 圧縮符号化装置、圧縮符号化方法およびプログラム
US7483575B2 (en) Picture encoding apparatus and method, program and recording medium
JP4789148B2 (ja) 圧縮符号化装置、圧縮符号化方法およびプログラム
JP2001501783A (ja) 適応ビット割当てとハイブリッド可逆エントロピー符号化を使用したデータ圧縮
JP4135617B2 (ja) 画像符号化装置及び方法
US7302105B2 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
JP2001231042A (ja) 画像処理装置及びその方法並びに記憶媒体
US5737448A (en) Method and apparatus for low bit rate image compression
JP4449400B2 (ja) 画像符号化装置及び方法、並びにプログラム及び記録媒体
JP2004304656A (ja) 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体
JP4111259B2 (ja) 符号化装置、符号化方法、ソフトウェアプログラム、テーブルデータ並びに記録媒体
JP4532518B2 (ja) 画像処理装置及び画像処理方法
JP4379527B2 (ja) 符号化装置及び方法
JP4003628B2 (ja) 画像符号化装置及び方法、並びにプログラム
JP4367113B2 (ja) 画像符号化装置及び方法
JP2004064115A (ja) 符号量制御装置およびプログラム
EP1652146B1 (en) Implementation of the jpeg2000 compression algorithm in hardware
JP2004064104A (ja) 圧縮符号化装置、圧縮符号化方法およびプログラム
JP2004088164A (ja) 画像処理装置
JP2000201353A (ja) 画像符号化方法およびその装置およびそのプログラムを記憶した記憶媒体
JP4040404B2 (ja) 符号列変換装置及び方法、画像処理装置並びに画像記録装置
JPH05276499A (ja) 符号化装置及び符号化方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060919

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

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

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

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees