JP2011193335A - 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム - Google Patents

画像符号化装置および方法、画像復号化装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2011193335A
JP2011193335A JP2010059118A JP2010059118A JP2011193335A JP 2011193335 A JP2011193335 A JP 2011193335A JP 2010059118 A JP2010059118 A JP 2010059118A JP 2010059118 A JP2010059118 A JP 2010059118A JP 2011193335 A JP2011193335 A JP 2011193335A
Authority
JP
Japan
Prior art keywords
decoding
bit
bit plane
unit
encoding
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.)
Withdrawn
Application number
JP2010059118A
Other languages
English (en)
Inventor
Hiroshi Ikeda
広志 池田
Yuji Wada
祐司 和田
Kazuhiro Shimauchi
和博 嶋内
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 JP2010059118A priority Critical patent/JP2011193335A/ja
Priority to US13/023,830 priority patent/US8582899B2/en
Priority to CN2011100540044A priority patent/CN102196264A/zh
Publication of JP2011193335A publication Critical patent/JP2011193335A/ja
Withdrawn 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/647Methods 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 using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Landscapes

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

Abstract

【課題】符号化効率を高めて、ポスト量子化に起因して画像に生じる違和感や不明瞭感を抑制する。
【解決手段】有意ビット検出処理部151は、画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出する。符号化選択部152は、係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択する。可変長符号化部153は、可変長符号化が選択されたビットプレーンの可変長符号化を行う。固定長符号化部154は、固定長符号化が選択されたビットプレーンの固定長符号化を行う。入力された係数データの特徴に応じて可変長符号化と固定長符号化を区分できるので安定して符号化効率を高めることができる。
【選択図】 図4

Description

この発明は、画像符号化装置および方法、画像復号化装置および方法、並びにプログラムに関する。詳しくは、ポスト量子化に起因して画像に生じる違和感や不明瞭感を抑制する。
従来、画像圧縮方式として、圧縮率を高くしても高画質および高階調の画像が得られるJPEG2000やJPEG XR(Joint Photographic Experts Group eXtended Range)と呼ばれる方式が用いられている。また、このような方式で圧縮された画像の復号化を行う画像復号化装置が例えば特許文献1や特許文献2に開示されている。
特開2004−260539号公報 特開2002−204357号公報
ところで、JPEG2000の方式では、画素値を空間座標から周波数座標に変換する周波数変換、周波数変換によって得られた係数データの量子化が行われている。さらに、量子化された係数データを効率良く符号化できるようにするために係数データをビットプレーンに展開する処理等を行う係数ビットモデリングや、係数ビットモデリングの処理が行われたデータのエントロピー符号化等が行われている。
また、エントロピー符号化では、可変長符号化と固定長符号化を組み合わせる符号化が行われており、MSB(Most Significant Bit:最上位ビット)側からLSB(Least Significant Bit:最下位ビット)側に向かって走査して、ビット「1」が初めて発生したビット深度から一定深さ未満のビットプレーンの可変長符号化が行われている。さらに、一定の深さ以上のビットプレーンについては固定長符号化が行われている。このように、可変長符号化と固定長符号化の区分は、入力された係数データの特徴によらず一定の深さ以上であるか否かによって行われる。したがって、可変長符号化と固定長符号化の区分が最適な位置とならず、安定して符号化効率を高めることができない場合が生じてしまう。
そこで、この発明では符号化効率を高めて、ポスト量子化に起因して画像に生じる違和感や不明瞭感を抑制できる画像符号化装置および方法、画像復号化装置および方法、並びにプログラムを提供することを目的とする。
この発明の第1の側面は、画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出する有意ビット検出処理部と、前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択する符号化選択部と、可変長符号化が選択されたビットプレーンの可変長符号化を行う可変長符号化部と、固定長符号化が選択されたビットプレーンの固定長符号化を行う固定長符号化部とを有する画像符号化装置にある。
この発明においては、画像データの周波数変換を行うことにより得られた係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数の検出が行われる。また、ビット深度の浅い順から符号化の選択が行われて、ビット深度が第1の閾値以上および/または1つ上位のビットプレーンにおける前記係数データの個数が第2の閾値以上であるビットプレーンで固定長符号化が選択されて、他のビットプレーンは可変長符号化が選択されて、ビットプレーンの符号化が行われる。
この発明の第2の側面は、有意ビット検出処理部が、画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、符号化選択部が、前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択するステップと、可変長符号化部が、可変長符号化の選択が行われたビットプレーンの可変長符号化を行うステップと、固定長符号化部が、固定長符号化の選択が行われたビットプレーンの固定長符号化を行うステップとを含む画像符号化方法にある。
この発明の第3の側面は、画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択するステップと、可変長符号化の選択が行われたビットプレーンの可変長符号化を行うステップと、固定長符号化の選択が行われたビットプレーンの固定長符号化を行うステップとを含む処理をコンピュータに実行させるプログラムにある。
この発明の第4の側面は、画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行う可変長復号化部と、前記符号化データについて固定長復号化を行う固定長復号化部と、前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出する有意ビット検出処理部と、前記係数データの個数と復号化するビットプレーンのビット深度に基づいて前記可変長復号化部または前記固定長復号化部を選択して、前記符号化データの復号化を行わせる復号化選択部とを有する画像復号化装置にある。
この発明においては、画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて復号化を行い、得られたビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数の検出が行われる。また、ビット深度の浅い順から復号化の選択が行われて、ビット深度が第1の閾値以上および/または1つ上位のビットプレーンにおける前記係数データの個数が第2の閾値以上であるとき、固定長復号化が選択されて、他のビットプレーンの復号化では可変長復号化が選択されて符号化データの復号化が行われる。
この発明の第5の側面は、可変長復号化部が、画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行うステップと、固定長復号化部が、前記符号化データの固定長復号化を行うステップと、有意ビット検出処理部が、前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、復号化選択部が、前記係数データの個数と復号化するビットプレーンのビット深度に基づいて、前記可変長復号化部または前記固定長復号化部を選択して、符号化データの復号化を行わせるステップとを含む画像復号化方法にある。
この発明の第6の側面は、画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行うステップと、前記符号化データの固定長復号化を行うステップと、前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、前記係数データの個数と復号化するビットプレーンのビット深度に基づいて、前記可変長復号化部または前記固定長復号化部を選択して、符号化データの復号化を行わせるステップとを含む処理をコンピュータに実行させるプログラムにある。
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、光ディスクや磁気ディスク、半導体メモリなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
この発明によれば、画像データの周波数変換を行い係数データが生成されて、この係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数が検出される。また、検出された係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化が行われて符号化データの生成が行われる。また、この符号化データの復号化では、符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいて、可変長復号化または固定長復号化が行われる。したがって、入力された係数データの特徴に応じて可変長符号化と固定長符号化を区分できるので、安定して符号化効率を高めることが可能となり、ポスト量子化に起因して画像に生じる違和感や不明瞭感を抑制できる。
画像符号化装置の一実施形態の概略構成を示す図である。 1次元での係数ビットモデリングを説明するための図である。 係数データの大きさを例示した図である。 エントロピー符号化部の構成を示す図である。 エントロピー符号化部の動作を示すフローチャートである。 エントロピー符号化部における動作の具体例を説明するための図である。 符号化テーブルを例示した図である。 周波数帯域毎に閾値を設定した場合を示す図である。 画像復号化装置の一実施形態の概略構成を示す図である。 エントロピー復号化部の構成を示す図である。 エントロピー復号化部の動作を示すフローチャートである。 エントロピー復号化部における動作の具体例を説明するための図である。 閾値をコンテキストに応じて最適化するエントロピー符号化部の構成を示す図である。 エントロピー符号化部の動作を示すフローチャートである。 エントロピー復号化部の構成を示す図である。 エントロピー復号化部の動作を示すフローチャートである。 コンピュータのハードウェアの構成例を示す図である。
以下、発明を実施するための形態について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
1−1.画像符号化装置の構成
1−2.エントロピー符号化部の構成
1−3.エントロピー符号化部の動作
1−4.画像復号化装置の構成
1−5.エントロピー復号化部の構成
1−6.エントロピー復号化部の動作
2.第2の実施の形態
2−1.エントロピー符号化部の構成
2−2.エントロピー符号化部の動作
2−3.エントロピー復号化部の構成
2−4.エントロピー復号化部の動作
3.符号化と復号化をコンピュータで行う場合
<1.第1の実施の形態>
[1−1.画像符号化装置の構成]
図1は、本発明の画像符号化装置の一実施形態の概略構成を示している。画像符号化装置10は、色変換部11、直交変換部12、量子化部13、係数ビットモデリング部14、エントロピー符号化部15、ポスト量子化部16、ヘッダ作成部17を備えている。
色変換部11は、任意のカラー空間(例えばRGB、YUVなど)で入力された画像データを特定のカラー空間に変換する色変換を行い、色変換後の画像データを直交変換部12に出力する。この色変換は、符号化効率を高める処理であり、画像符号化において必ずしも必要な処理ではない。
直交変換部12は、色変換部11から供給された画像データに対して、各画素値を空間座標から周波数座標に変換する周波数変換(例えば離散コサイン変換(DCT)、離散フーリエ変換(DFT)、ウェーブレット変換(DWT)などの直交変換)を行う。直交変換部12は、直交変換によって得られた係数データを量子化部13に出力する。
量子化部13は、直交変換部12から供給された係数データを量子化して係数ビットモデリング部14に出力する。この量子化は、画像符号化において必ずしも必要な処理ではない。
係数ビットモデリング部14は、量子化部からの量子化された係数データをエントロピー符号化部15で効率良く符号化できるように変換する処理を行う。係数ビットモデリング部14は、例えば係数データをコードブロックに分割し、コードブロックをMSB(Most Significant Bit:最上位ビット)側からLSB(Least Significant Bit:最下位ビット)側に向かって各ビット深度のビットプレーンをエントロピー符号化部15に出力する。図2は、1次元での係数ビットモデリングを説明するための図である。係数データとして、例えば図2の(A)に示すように「10、20、5、9、34、18、2、0」が入力されたとする。この場合、コードブロックのサイズを4×1とすると、図2の(B)に示すように、「10、20、5、9」がコードブロック0、「34、18、2、0」がコードブロック1となる。係数ビットモデリング部14は、コードブロック0におけるビット深度0のビットプレーンの係数ビット「0000」をエントロピー符号化部15に出力する。次に、係数ビットモデリング部14は、コードブロック0におけるビット深度1の係数ビット「0000」をエントロピー符号化部15に出力する。以下同様に、係数ビットモデリング部14は、コードブロック0におけるビット深度2からビット深度7までのビットプレーンの係数ビット「0000」〜「0011」を、ビット深度毎に順次エントロピー符号化部15に出力する。また、係数ビットモデリング部14は、コードブロック1に対してもコードブロック0と同様に、MSB側からLSB側に向かって各ビット深度のビットプレーンをエントロピー符号化部15に出力する。また、係数ビットモデリング部14は、ビット深度の識別を可能としてビットプレーンの係数ビットを出力する。例えば、ビット深度を示すビット深度情報をビットプレーンの係数ビットとともに出力する。
エントロピー符号化部15では、直交変換部12で得られる係数データの偏りに着目し、入力された係数データの状態に応じて可変長符号化と固定長符号化を適応的に選択して、係数データを符号化する。エントロピー符号化部15は、可変長符号化と固定長符号化を適応的に選択して符号化を行うことにより得られた符号化データをポスト量子化部16に出力する。
ポスト量子化部16は、エントロピー符号化部15によって得られた符号データが所望のデータ量となるように、トランケーションと呼ばれるビット切り捨て処理を行う。ポスト量子化部16は、ポスト量子化後の符号化データをヘッダ作成部17に出力する。
ヘッダ作成部17は、例えばビット切り捨て位置などを示すヘッダ情報を生成して、ポスト量子化が行われた符号化データに付加してストリームデータを生成して出力する。
[1−2.エントロピー符号化部の構成]
次に、エントロピー符号化部15について説明する。自然画において、コードブロック内の係数データの大きさにはバラつきが生じる。このとき、各係数データについてMSB側からLSB側に向かって走査して、最初にビット「1」が存在するビット深度は異なる。また、コードブロック内で初めてビット「1」になるビット深度付近の係数ビットは「0」が発生しやすく係数ビットの発生確率に偏りが生じる。なお、以下の説明では、各係数データにおいて、MSB側からLSB側に向かって走査したときに最初に現れるビット「1」を有意ビット(Significant Bit)という。
一方、上位のビットプレーンで有意ビットが検出されている係数データでは、LSB側に近づくにつれ「1」と「0」が発生する確率は一様になるため、LSB付近のビット深度におけるコードブロック内の係数ビットの「0」と「1」の発生確率は一様に近い。つまり、符号化対象ブロック内の上位のビットプレーンで有意ビットが検出されている係数データの個数が少ないと「0」の発生確率が大きく、係数データの個数が多いと「0」と「1」の発生確率は等しくなる。
ここで、コードブロック内の係数データの振幅が小さくLSB付近から符号化する場合、LSB側の一様分布になるビット深度が少ないため係数ビットに「0」と「1」が発生する確率の偏りは、上位のビットプレーンで有意ビットが検出されている係数データの個数が同じであって振幅が大きい係数データに比べて小さくなる。図3は、係数データの大きさを例示した図であり、例えば自然画においては、図3に示すように、特に低域と高域における係数データの大きさは異なる。なお、図3において「4L」は低域側であり、「1H」は高域側である。
そこで、エントロピー符号化部15は、各コードブロックにおいてMSB側のビットプレーンから可変長符号化を行い、ビット深度および/または上位のビットプレーンで有意ビットが検出されている係数データの個数と閾値との比較結果に基づいて可変長符号化から固定長符号化に切り換える。
図4は、エントロピー符号化部の構成を示している。エントロピー符号化部15は、有意ビット検出処理部151と符号化選択部152、可変長符号化部153、固定長符号化部154を有している。
有意ビット検出処理部151は、係数ビットモデリング部14から出力されたビットプレーンの係数ビットDTを用いて、ビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数NBを算出して符号化選択部152に出力する。なお、以下の説明では、上位のビットプレーンで有意ビットが検出されている係数データの個数を有意データ数という。
符号化選択部152は、有意データ数NBと係数ビットモデリング部14から出力されたビット深度BDを示す情報に基づき、コードブロックのビット深度毎に、ビットプレーンを可変長符号化または固定長符号化のいずれで符号化するか判別する。符号化選択部152は、可変長符号化を行うと判別したビットプレーンの係数ビットを可変長符号化部153に出力する。また、符号化選択部152は、固定長符号化を行うと判別したビットプレーンの係数ビットを固定長符号化部154に出力する。
可変長符号化部153は、符号化選択部152で選択されたビットプレーンの可変長符号化を行い、得られた符号化データBSを図1に示すポスト量子化部16に出力する。また、固定長符号化部154は、符号化選択部152で選択されたビットプレーンの固定長符号化を行い、得られた符号化データBSを図1に示すポスト量子化部16に出力する。また、可変長符号化部153は、係数ビットの発生確率に基づいて予め作成された符号化テーブル、例えば偏りの大きい係数ビットに予め最適化した符号化テーブルを用いて可変長符号化を行う。
[1−3.エントロピー符号化部の動作]
次に、エントロピー符号化部15の動作について説明する。図5は、エントロピー符号化部の動作を示すフローチャートである。なお、図5は、ビット深度BDが閾値Thd以上となったとき、または有意データ数NBが閾値Thc以上となったとき、可変長符号化から固定長符号化に切り換えて符号化を行う場合を示している。また、後述する復号化において、可変長符号化から固定長符号化への切り換えを正しく行うことができるようにするため、1つ上位のビットプレーンで有意データ数NBが閾値Thc以上となったとき、可変長符号化から固定長符号化への切り換えを行う。
ステップST1でエントロピー符号化部15は、コードブロック毎に係数データを入力してステップST2に進む。
ステップST2でエントロピー符号化部15は、ビット深度毎にビットプレーンを入力してステップST3に進む。エントロピー符号化部15は、入力された符号化対象のコードブロックを、MSB側からLSB側に向かってビット深度毎に、ビットプレーンの係数ビットを入力する。
ステップST3でエントロピー符号化部15は、ビット深度BDが予め設定されている閾値Thd以上であるか判別する。エントロピー符号化部15は、ビット深度BDが閾値Thd未満であるときステップST4に進み、閾値Thd以上であるときステップST7に進む。
ステップST4でエントロピー符号化部15は、有意データ数NBをカウントしてステップST5に進む。エントロピー符号化部15は、符号化対象のビットプレーンよりも1つ上位のビットプレーンにおける有意データ数NBをカウントする。
ステップST5でエントロピー符号化部15は、有意データ数NBが予め設定されている閾値Thc以上であるか判別する。エントロピー符号化部15は、有意データ数NBが閾値Thc未満であるときステップST6に進み、閾値Thc以上であるときステップST7に進む。
ステップST6でエントロピー符号化部15は、可変長符号化を行う。エントロピー符号化部15は、符号化対象のビットプレーンの可変長符号化を行ってステップST8に進む。
ステップST7でエントロピー符号化部15は、固定長符号化を行う。エントロピー符号化部15は、符号化対象のビットプレーンの固定長符号化を行ってステップST8に進む。
ステップST8でエントロピー符号化部15は、全てのビット深度について処理終了であるか判別する。エントロピー符号化部15は、処理していないビット深度のビットプレーンが残っているときはステップST2に戻り、新たなビット深度のビットプレーンを入力して処理を行う。また、エントロピー符号化部15は、処理していないビット深度のビットプレーンが残っていないときステップST9に進む。
ステップST9でエントロピー符号化部15は、全てのコードブロックについて処理が終了したか判別する。エントロピー符号化部15は、処理していないコードブロックが残っているときはステップST1に戻り、新たなコードブロックの係数データを入力して処理を行う。また、エントロピー符号化部15は、処理していないコードブロックが残っていないときエントロピー符号化処理を終了する。
なお、有意データ数NBは、ビット深度が深くなるとき減少することがないので、有意データ数NBが閾値Thc以上となったときは、次に深いビット深度以降のビットプレーンを全て固定長符号化として、1コードブロックの処理を終了することもできる。
次に、図6を用いて、エントロピー符号化部15における動作の具体例について説明する。なお、コードブロックのサイズは「4×1」、閾値Thdは「7」、閾値Thcは「3」とする。
1つのコードブロックの係数データが図6の(A)に示すように、例えば10進数表現で「19,149,10,37」とする。この場合、エントロピー符号化部15には、係数ビットモデリング部14から、コードブロックのMSB側からLSB側に向かって各ビットプレーンの係数ビットが供給される。なお、図6の(A)において、有意ビットは斜線で示している。
エントロピー符号化部15は、ステップST1およびステップST2の処理によって、ビットプレーン毎に係数ビットを入力する。また、エントロピー符号化部15は、ステップST3の処理によって、入力した係数ビットのビットプレーンがビット深度0〜ビット深度6であるときは、ステップST4からの処理を行う。さらに、エントロピー符号化部15は、入力した係数ビットのビットプレーンがビット深度7以上のときはステップST7の処理を行う。
エントロピー符号化部15は、ビット深度0のビットプレーンを入力したとき、1つ上位のビットプレーンがないので有意データ数NBが「0」であるから、ステップST6でビット深度0のビットプレーンの可変長符号化を行う。また、ステップST8とステップST2の処理によって、ビット深度1のビットプレーンの係数ビットを入力して、ステップST3からの処理を行う。また、エントロピー符号化部15は、同様な処理を繰り返して、1つ上位のビットプレーンにおける有意データ数NBが閾値Thc未満と判別されたビット深度4までビットプレーンの可変長符号化を行い、1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上と判別されたビットプレーンであるビット深度6から固定長符号化を行う。このようにして、1つのコードブロックについて符号化を行う。
次のコードブロックの係数データは、図6の(B)に示すように、例えば10進数表現で「5,13,2,1」とする。この場合、エントロピー符号化部15には、係数ビットモデリング部14から、コードブロックのMSB側からLSB側に向かって各ビット深度のビットプレーンが供給される。なお、図6の(B)においても、有意ビットは斜線で示している。
エントロピー符号化部15は、ステップST1およびステップST2の処理によって、ビットプレーン毎に係数ビットを入力する。また、エントロピー符号化部15は、ステップST3の処理によって、入力したビットプレーンがビット深度0〜ビット深度6であるときは、ステップST4からの処理を行い、入力したビットプレーンがビット深度7以上のときはステップST7の処理を行う。
エントロピー符号化部15は、入力したビットプレーンがビット深度0のとき、1つ上位のビットプレーンがないので有意データ数NBが「0」であるから、ステップST6でビット深度0のビットプレーンの可変長符号化を行う。また、ステップST8とステップST2の処理によって、ビット深度1のビットプレーンの係数ビットを入力して、ステップST3からの処理を行う。また、エントロピー符号化部15は、同様な処理を繰り返して行い、ビット深度6までに1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上となっていないことから、ビット深度6までのビットプレーンは可変長符号化を行う。また、ビット深度7となると、ビット深度が閾値Thd以上であるから、エントロピー符号化部15は固定長符号化を行う。このようにして、次のコードブロックについて符号化を行う。
図7は符号化テーブルを例示しており、図7の(A)は、係数ビットの発生確率に基づいて予め作成された符号化テーブル、例えば偏りの大きい係数ビットに最適化した符号化テーブルを示している。図7の(A)では、例えば有意データ数が多いビットプレーンに比べて有意データ数が少ないビットプレーンが多くなるという係数ビットの偏りを生じる場合を示している。この場合、符号化テーブルは、有意データ数が少ないビットプレーンに割り当てるビットを少なくして、有意データ数が多いビットプレーンに割り当てるビットが多くなるように最適化されている。なお、図7の(B)は、偏りに応じた最適化が行われていない従来の符号化テーブルを示している。
図6の(A)に示すコードブロックについて、上述のように符号化を行い、可変長符号化において図7の(A)に示す符号化テーブルを用いると、ビット深度0からビット深度4までの符号長は「3,2,3,4,4」となる。また、固定長符号化における符号長を「4」とすると、ビット深度5,6,7の各符号長は「4」となり、コードブロック全体の符号長は28ビットとなる。なお、図7の(B)に示す符号化テーブルを用いた場合、ビット深度0からビット深度4までの符号長は「4,3,4,4,4」となる。また、固定長符号化における符号長を「4」とすると、ビット深度5,6,7の各符号長は「4」となり、コードブロック全体の符号長は31ビットとなる。したがって、偏りの大きい係数ビットに最適化した符号化テーブルを用いることで、符号化効率を高めることができる。
また、図6の(B)に示すコードブロックについて、上述のように符号化を行い、可変長符号化では図7の(A)に示す符号化テーブルを用いると、ビット深度4からビット深度6までの符号長は「3,4,4」となる。また、固定長符号化における符号長を「4」とすると、ビット深度7の符号長は「4」となる。また、ビット深度0〜ビット深度3は、符号化時にスキップされるゼロビットプレーンであり、コードブロック全体の符号長は15ビットとなる。なお、図7の(B)に示す符号化テーブルを用いた場合、ビット深度4からビット深度6までの符号長は「4,4,4」となり、コードブロック全体の符号長は16ビットとなる。したがって、偏りの大きい係数ビットに最適化した符号化テーブルを用いることで、符号化効率を高めることができる。
なお、上述の説明では、ビット深度が閾値Thd以上となったとき、または1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上となったとき、可変長符号化から固定長符号化への切り換えを行った。しかし、図示せずも、エントロピー符号化部15は、ビット深度が閾値Thd以上であって有意データ数NBが閾値Thc以上となったとき、可変長符号化から固定長符号化に切り換えて符号化を行うようにしてもよい。すなわち、符号化選択部152は、ビット深度が閾値Thd以上および/または1つ上位のビットプレーンにおける有意データ数NBがの閾値Thc以上であるビットプレーンで固定長符号化を選択し、他のビットプレーンで可変長符号化を選択する。
さらに、閾値Thdは、周波数帯域毎に設定してもよい。図8は、周波数帯域毎に閾値を設定した場合を示している。例えば、図8はサブバンド3Lに対して閾値Thdをビット深度4、サブバンド3H,2H,1Hに対して閾値Thdをビット深度5に設定した場合を示しており、斜線部は固定長符号化が行われるビットプレーンを示している。周波数帯域毎に閾値Thdを設定すれば、符号化効率をさらに高めることが可能となる。例えば、周波数が高くなると有意データ数の多いビットプレーンが減少する場合、周波数が低いサブバンドに応じた閾値Thdを設定すると、周波数が高いサブバンドでは、可変長符号化によってビット数を削減できるビットプレーンが固定長符号化されてしまう。周波数帯域毎に閾値Thdを設定すれば、周波数が高いサブバンドでは閾値Thdをビット深度の深い位置に設定することで、有意データ数の少ないビットプレーンに対して固定符号化が行われてしまうことを防止して、符号化効率を高めることができる。
以上のように、エントロピー符号化部15は、係数データのビット深度と有意データ数に応じて、可変長符号化または固定長符号化を選択することで、符号化効率を向上できる。また、可変長符号化で用いる符号化テーブルを偏りの大きい係数ビットに最適化することで、符号化効率をさらに向上できる。
[1−4.画像復号化装置の構成]
次に、画像復号化装置について説明する。図9は、本発明の画像復号化装置の一実施形態の概略構成を示している。画像復号化装置20は、ヘッダ解析部21、エントロピー復号化部22、係数ビットデモデリング部23、逆量子化部24、係数データ補正処理部25、逆直交変換部26、逆色変換部27を備えている。
ヘッダ解析部21は、画像符号化装置により出力されたストリームデータからヘッダ情報(例えば切り捨て位置など)を読み込み解析する。ヘッダ解析部21は、解析結果をエントロピー復号化部22や、係数データ補正処理部25に出力する。また、ヘッダ解析部21は、ストリームデータにおける符号化データをエントロピー復号化部22に出力する。
エントロピー復号化部22は、ヘッダ情報の解析結果を用いて、エントロピー符号化部15で行われた符号化に対応した復号化を符号化データに対して行う。エントロピー復号化部22は、符号化データの復号化を行って得られたビットプレーンを係数ビットデモデリング部23に出力する。
係数ビットデモデリング部23は、係数ビットモデリング部14の処理に対して逆の処理を行う。すなわち、係数ビットデモデリング部23は、エントロピー復号化部22から出力されたビットプレーンの係数ビットを階層化してコードブロック毎の係数データを生成する。係数ビットデモデリング部23は、生成したコードブロックの係数データを逆量子化部24に出力する。
逆量子化部24は、係数ビットデモデリング部23から出力された係数データに対して、量子化部13に対応した所定の計算式で逆量子化を行い、逆量子化された係数データを生成して係数データ補正処理部25に出力する。
係数データ補正処理部25は、ヘッダ情報の解析結果に基づき、切り捨てられたビットの判別を行い、切り捨てられたビットの位置に新たなデータを挿入することで、係数データの補正を行う。また、係数データ補正処理部25は、量子化により切り捨てられたビットに関する補正も行う。係数データ補正処理部25は、補正後の係数データを逆直交変換部26に出力する。
逆直交変換部26は、係数データ補正処理部25から出力された係数データに対して、画像符号化装置の直交変換部12に対応した逆変換を行い、画像データを作成する。
逆色変換部27は、逆直交変換部26で得られた画像データに対して、画像符号化装置の色変換部11に対応した所定の逆色変換を行い、出力画像データを生成して出力する。
[1−5.エントロピー復号化部の構成]
図10は、エントロピー復号化部22の構成を示している。エントロピー復号化部22は、復号化選択部221と可変長復号化部222と固定長復号化部223および有意ビット検出処理部224を備えている。
復号化選択部221は、可変長復号化部222または固定長復号化部223のいずれかを選択して、入力された符号化データBSを選択した復号化部に出力する。復号化選択部221は、エントロピー符号化部15の符号化選択部152と対応した選択処理を行い、ビット深度と閾値Thの比較結果および/または1つ上位のビットプレーンにおける有意データ数NBと閾値Thcとの比較結果に基づいて可変長復号化または固定長復号化の選択を行う。なお、閾値は、予めエントロピー符号化部とエントロピー復号化部で決めておくようにしてもよく、ヘッダ情報にエントロピー符号化部で用いた閾値を含めるようにしてもよい。
可変長復号化部222は、符号化データBSの可変長復号化を行って得られたビットプレーンの係数ビットDTを、有意ビット検出処理部224と図9に示す係数ビットデモデリング部23に出力する。また、固定長復号化部223は、符号化データBSの固定長復号化を行って得られたビットプレーンの係数ビットDTを、図9に示す係数ビットデモデリング部23に出力する。
有意ビット検出処理部224は、復号化済みのビットプレーンから有意データ数NBを検出して、有意データ数NBを復号化選択部221に出力する。例えば、MSB側から符号化が行われており、ビット深度BDおよび/または有意データ数NBと閾値Thcとの比較結果に基づいて可変長復号化から固定長復号化に切り換えられているとする。この場合、有意ビット検出処理部224は、可変長復号化部222で復号化されたビットプレーンから有意データ数NBを検出する。
[1−6.エントロピー復号化部の動作]
図11は、エントロピー復号化部の動作を示すフローチャートである。なお、図11は、ビット深度BDが閾値Thd以上となったとき、または1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上となったとき、可変長復号化から固定長復号化に切り換えて復号化を行う場合を示している。なお、エントロピー復号化部は、1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上となったとき、可変長復号化から固定長復号化への切り換えを行う。
ステップST21でエントロピー復号化部22は、ビット深度が閾値Thd以上であるか判別する。エントロピー復号化部22は、復号化を行う符号化データのビット深度BDが閾値Thd未満であるときステップST22に進み、閾値Thd以上であるときステップST25に進む。
ステップST22でエントロピー復号化部22は、有意データ数NBをカウントする。エントロピー復号化部22は、復号化を行って生成するビットプレーンよりも1つ上位である復号化済みのビットプレーンの有意データ数NBをカウントしてステップST23に進む。
ステップST23でエントロピー復号化部22は、有意データ数NBが閾値Thc以上であるか判別する。エントロピー復号化部22は、有意データ数NBが閾値Thc未満でるときステップST24に進み、閾値Thc以上であるときステップST25に進む。
ステップST24でエントロピー復号化部22は、可変長復号化を行う。エントロピー復号化部22は、エントロピー符号化部15で用いた可変長符号化テーブルに対応した可変長復号化テーブル、すなわち、係数ビットの発生確率に基づいて予め作成された復号化テーブルを用いて符号化データBSの可変長復号化を行い、ビットプレーンを生成してステップST26に進む。
ステップST25でエントロピー復号化部22は、固定長復号化を行う。エントロピー復号化部22は、エントロピー符号化部15で用いた固定長符号化テーブルに対応した固定長復号化テーブルを用いて符号化データBSの固定長復号化を行い、ビットプレーンを生成してステップST26に進む。
ステップST26でエントロピー復号化部22は、全てのビット深度についての処理終了であるか判別する。エントロピー復号化部22は、復号化されていないビット深度のビットプレーンが残っているときはステップST21に戻り、復号化処理を継続する。また、エントロピー復号化部22は、コードブロックの各ビット深度のビットプレーンが得られたときステップST27に進む。
ステップST27でエントロピー復号化部22は、全てのコードブロックについて処理が終了したか判別する。エントロピー復号化部22は、復号化されていない符号化データが残っているときはステップST21に戻り、復号化を行うことで新たなコードブロックの各ビット深度のビットプレーンを得る。また、エントロピー復号化部22は、処理していない符号化データが残っていないときエントロピー復号化処理を終了する。
なお、有意データ数NBは、ビット深度が深くなるとき減少することがないので、有意データ数NBが閾値Thc以上となったときは全て固定長復号化として、1コードブロックの復号化を行うこともできる。
以上のような復号化を行うと、例えば図6の(A)に示すコードブロックの符号化データを復号化する場合、図12に示すようにビット深度0から可変長復号化が行われる。その後、ビット深度5で1つ上位のビットプレーンにおける有意データ数NBが閾値Thcである「3」以上となると、可変長復号化から固定長復号化に切り換えられて、ビット深度5,6,7のビットプレーンを正しく得ることができるようになる。また、例えば図6の(B)に示すコードブロックの符号化データを復号化する場合、ビット深度6まで可変長復号化が行われて、ビット深度7ではビット深度が閾値Thdであるから固定長復号化が行われる。したがって、符号化データを正しく復号化できる。
なお、上述の説明では、符号化に対応して、ビット深度が閾値Thd以上となったとき、または1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上となったとき、可変長復号化から固定長復号化への切り換えを行った。しかし、符号化において、ビット深度が閾値Thd以上であって有意データ数NBが閾値Thc以上となったとき、可変長符号化から固定長符号化に切り換えられているときは、ビット深度が閾値Thd以上であって有意データ数NBが閾値Thc以上となったとき、可変長復号化から固定長復号化に切り換えてもよい。すなわち、復号化選択部221は、符号化選択部152に対応して、ビット深度が閾値Thd以上および/または1つ上位のビットプレーンにおける有意データ数NBが閾値Thc以上である場合に固定長復号化を選択し、他のビットプレーンで可変長復号化を選択する。
このように、第1の実施の形態によれば、係数ビットの「0」と「1」の発生確率を考慮して、ビット深度と有意データ数に基づき可変長符号化や固定長符号化の選択が行われる。また、可変長符号化では、係数データの偏りを考慮して最適化された符号化テーブルが用いられる。したがって、符号化効率を高めることができる。また、符号化効率を高めることができるので、ポスト量子化に起因した画像の違和感や不明瞭感等を軽減できる。さらに、固定長符号化を行う場合はハフマンテーブルの参照が不要になるので、全て可変長符号化を行うよりも計算量が少なくなる。
<2.第2の実施の形態>
ところで、係数データのビット分布は、コンテキスト(例えば色成分や周波数帯域情報などのいずれか、またはその組み合わせ)によって異なるものとなる。したがって、コンテキストに応じて可変長符号化と固定長符号化のいずれを選択するか判別するための閾値を最適化すれば符号化効率を向上できる。また、コンテキストに応じて可変長符号化テーブルを最適化すれば符号化効率をさらに向上できる。次に、第2の実施の形態として、コンテキストを用いた符号化処理と復号化処理について説明する。
[2−1.エントロピー符号化部の構成]
図13は、閾値をコンテキストに応じて最適化するエントロピー符号化部の構成を示している。エントロピー符号化部15aは、有意ビット検出処理部151と符号化選択部152a、可変長符号化部153a、固定長符号化部154を有している。
有意ビット検出処理部151は、符号化対象のビット深度よりMSB側に存在する有意データ数NBを算出して符号化選択部152aに出力する。
符号化選択部152aは、有意データ数NBと符号化対象ブロックのビット深度BDに基づき、コードブロックのビット深度毎に、ビットプレーンを可変長符号化または固定長符号化のいずれで符号化するか判別する。符号化選択部152aは、可変長符号化を行うと判別したビット深度のビットプレーンを可変長符号化部153aに出力する。また、符号化選択部152aは、固定長符号化を行うと判別したビット深度のビットプレーンを固定長符号化部154に出力する。さらに、符号化選択部152aは、ビット深度と比較される閾値Thdや有意データ数NBと比較される閾値Thcとして、コンテキストTEaに応じて最適化されている閾値Thd,Thcを用いて、可変長符号化と固定長符号化の選択を行う。
可変長符号化部153aは、符号化選択部152aで選択されたビットプレーンの可変長符号化を行い、得られた符号化データBSを図1に示すポスト量子化部16に出力する。さらに、可変長符号化部153aは、偏りの大きい係数ビットだけでなくコンテキストTEbに応じて最適化されている符号化テーブルを用いて可変長符号化を行う。
固定長符号化部154は、符号化選択部152aで選択されたビットプレーンの固定長符号化を行い、得られた符号化データBSを図1に示すポスト量子化部16に出力する。
なお、コンテキストTEaとコンテキストTEtは、等しくともあるいは相違してもよい。さらに、符号化選択部152aは、コンテキストTEaに応じて閾値Thd,Thcのいずれかを変更する構成であってもよい。さらに、符号化選択部152aと可変長符号化部153aのいずれかでコンテキストを用いる構成であってもよい。また、後述するエントロピー復号化部22aも同様である。
[2−2.エントロピー符号化部の動作]
次に、エントロピー符号化部15aの動作について説明する。図14は、エントロピー符号化部15aの動作を示すフローチャートである。なお、図14は、ビット深度がコンテキストに応じて決定した閾値Thda以上となったとき、または1つ上位のビットプレーンにおける有意データ数がコンテキストに応じて決定した閾値Thca以上となったとき、可変長符号化から固定長符号化に切り換えて符号化を行う場合を示している。また、復号化において、可変長符号化から固定長符号化への切り換えをビットプレーン単位で正しく行うことができるようにするため、ビット深度が閾値Thda以上であるとき可変長符号化から固定長符号化への切り換えを行う。また、1つ上位のビットプレーンにおける有意データ数NBが閾値Thca以上となったとき、可変長符号化から固定長符号化への切り換えを行う。
ステップST31でエントロピー符号化部15aは、コードブロック毎に係数データを入力してステップST32に進む。
ステップST32でエントロピー符号化部15aは、ビット深度毎にビットプレーンを入力してステップST33に進む。エントロピー符号化部15aは、入力された符号化対象のコードブロックを、MSB側からLSB側に向かってビット深度毎に、ビットプレーンを入力する。
ステップST33でエントロピー符号化部15aは、コンテキストに応じた設定を行う。エントロピー符号化部15aは、コンテキストに応じて最適化されている閾値Thda,Thcaを設定する。また、エントロピー符号化部15aは、偏りの大きい係数ビットだけでなくコンテキストに応じて最適化されている符号化テーブルを用いるように設定してステップST34に進む。
ステップST34でエントロピー符号化部15aは、ビット深度が閾値Thda以上であるか判別する。エントロピー符号化部15aは、ビット深度が閾値Thda未満であるときステップST35に進み、閾値Thda以上であるときステップST38に進む。
ステップST35でエントロピー符号化部15aは、有意データ数NBをカウントしてステップST36に進む。エントロピー符号化部15は、符号化対象のビットプレーンよりも1つ上位のビットプレーンにおける有意データ数NBをカウントする。
ステップST36でエントロピー符号化部15aは、有意データ数NBが閾値Thca以上であるか判別する。エントロピー符号化部15aは、有意データ数NBが閾値Thca未満であるときステップST37に進み、有意データ数NBが閾値Thca以上であるときステップST38に進む。
ステップST37でエントロピー符号化部15aは、可変長符号化を行う。エントロピー符号化部15aは、ビットプレーンを可変長符号化してステップST39に進む。また、エントロピー符号化部15aは、偏りの大きい係数ビットだけでなくコンテキストに応じて最適化されている符号化テーブルを用いて可変長符号化を行う。
ステップST38でエントロピー符号化部15aは、固定長符号化を行う。エントロピー符号化部15aは、ビットプレーンを固定長符号化してステップST39に進む。
ステップST39でエントロピー符号化部15aは、全てのビット深度について処理終了であるか判別する。エントロピー符号化部15aは、処理していないビット深度が残っているときはステップST32に戻り、新たなビット深度のビットプレーンを入力して処理を行う。また、エントロピー符号化部15aは、処理していないビット深度が残っていないときステップST40に進む。
ステップST40でエントロピー符号化部15aは、全てのコードブロックについて処理が終了したか判別する。エントロピー符号化部15aは、処理していないコードブロックが残っているときはステップST31に戻り、新たなコードブロックの係数データを入力して処理を行う。また、エントロピー符号化部15aは、処理していないコードブロックが残っていないときエントロピー符号化処理を終了する。
このように、エントロピー符号化部15aは、コンテキストに応じた閾値Thda,Thcaを用いて可変長符号化と固定長符号化の選択を行う。さらに、エントロピー符号化部15aは、偏りの大きい係数ビットだけでなくコンテキストに応じた符号化テーブルを用いて可変長符号化を行う。したがって、エントロピー符号化部15aは、符号化効率をさらに高めることができる。
[2−3.エントロピー復号化部の構成]
図15は、エントロピー復号化部22aの構成を示している。エントロピー復号化部22aは、復号化選択部221aと可変長復号化部222aと固定長復号化部223および有意ビット検出処理部224を備えている。
復号化選択部221aは、可変長復号化部222aまたは固定長復号化部223のいずれかを選択して、選択した復号化部に符号化データBSを出力する。復号化選択部221aは、エントロピー符号化部15aの符号化選択部152aと対応した選択処理を行い、ビット深度と閾値Thdaの比較結果および/または1つ上位のビットプレーンにおける有意データ数NBと閾値Thcaとの比較結果に基づいて可変長復号化から固定長復号化に切り換えて復号化を行う。なお、閾値は、予めエントロピー符号化部とエントロピー復号化部で決めておくようにしてもよく、ヘッダ情報にエントロピー符号化部で用いた閾値を含めるようにしてもよい。また、閾値は、符号化と同様にコンテキストTEaに応じて最適化されている閾値を用いる。
可変長復号化部222aは、符号化データBSの可変長復号化を行って得られたビットプレーンの係数ビットDTを、有意ビット検出処理部224と図9に示す係数ビットデモデリング部23に出力する。また、可変長復号化部222aは、エントロピー符号化部15aの可変長符号化部153aで用いられている符号化テーブルに対応した復号化テーブルを用いて可変長復号化を行う。すなわち、偏りの大きい係数ビットだけでなくコンテキストTEtに応じて最適化されている復号化テーブルを用いて可変長復号化を行う。
固定長復号化部223は、符号化データの固定長復号化を行って得られたビットプレーンの係数ビットDTを、図9に示す係数ビットデモデリング部23に出力する。
有意ビット検出処理部224は、可変長復号化部222aから出力されたビットプレーンの係数ビットDTから有意データ数NBを検出して、有意データ数NBを復号化選択部221aに出力する。
[2−4.エントロピー復号化部の動作]
図16は、エントロピー復号化部の動作を示すフローチャートである。なお、図16は、ビット深度が閾値Thda以上となったとき、または有意データ数NBが閾値Thca以上となったとき、可変長復号化から固定長復号化に切り換えて復号化を行う場合を示している。なお、エントロピー復号化部は、1つ上位のビットプレーンにおける有意データ数NBが閾値Thca以上となったとき、可変長復号化から固定長復号化への切り換えを行う。
ステップST51でエントロピー復号化部22aは、コンテキストに応じた設定を行う。エントロピー復号化部22aは、コンテキストに応じて最適化されている閾値Thda,Thcaを設定する。また、エントロピー復号化部22aは、偏りの大きい係数ビットだけでなくコンテキストに応じて最適化されている符号化テーブルを用いるように設定してステップST52に進む。なお、コンテキストは、予めエントロピー符号化部とエントロピー復号化部で決めておくようにしてもよく、ヘッダ情報にコンテキストを含めるようにしてもよい。
ステップST52でエントロピー復号化部22aは、ビット深度が閾値Thda以上であるか判別する。エントロピー復号化部22aは、復号化を行う符号化データのビット深度が閾値Thda未満であるときステップST53に進み、閾値Thda以上であるときステップST56に進む。
ステップST53でエントロピー復号化部22aは、有意データ数NBをカウントする。エントロピー復号化部22aは、復号化済みのビットプレーンから最もビット深度が大きいビットプレーンを選択して、選択したビットプレーンにおける有意データ数NBをカウントしてステップST54に進む。
ステップST54でエントロピー復号化部22aは、有意データ数NBが閾値Thca以上であるか判別する。エントロピー復号化部22aは、有意データ数NBが閾値Thca未満であるときステップST55に進み、閾値Thca以上であるときステップST56に進む。
ステップST55でエントロピー復号化部22aは、可変長復号化を行う。エントロピー復号化部22aは、エントロピー符号化部15aで用いた可変長符号化テーブルに対応した可変長復号化テーブルを用いて可変長復号化を行い、ビットプレーンを生成してステップST57に進む。
ステップST56でエントロピー復号化部22aは、固定長復号化を行う。エントロピー復号化部22aは、エントロピー符号化部15aで用いた固定長符号化テーブルに対応した固定長復号化テーブルを用いて固定長復号化を行い、ビットプレーンを生成してステップST57に進む。
ステップST57でエントロピー復号化部22aは、全てのビット深度についての処理終了であるか判別する。エントロピー復号化部22aは、復号化されていないビット深度が残っているときはステップST52に戻り、復号化処理を継続する。また、エントロピー復号化部22aは、コードブロックの各ビット深度のビットプレーンが得られたときステップST58に進む。
ステップST58でエントロピー復号化部22aは、全てのコードブロックについて処理が終了したか判別する。エントロピー復号化部22aは、復号化されていない符号化データが残っているときはステップST52に戻り、復号化を行うことで新たなコードブロックの各ビット深度のビットプレーンを得る。また、エントロピー復号化部22aは、処理していない符号化データが残っていないときエントロピー復号化処理を終了する。
このような復号化をエントロピー復号化部22aで行えば、コンテキストに応じて閾値や符号化テーブルの設定が行われても、符号化データの復号化を正しく行うことができる。
このように、第2の実施の形態によれば、コンテキスト(Significant bitの個数、ビットデプスなど)に応じて適応的に可変長符号化と固定長符号化の選択が行われる。また、可変長符号化では、コンテキストに応じて適応な可変長符号化テーブルが用いられる。それゆえ、係数ビットの偏りが大きい場合はそれに最適化したハフマンテーブルで可変長符号化し、偏りが小さい場合は固定長符号化で符号化することで符号化効率が高くなる。これにより、ポスト量子化に起因して画像に生じる違和感や不明瞭感をさらに抑制することが可能となる。
<3.符号化と復号化をコンピュータで行う場合>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータを用いる。または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどを用いて、プログラム記録媒体からソフトウェアをインストールする。
図17は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
コンピュータ60において、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63は、バス64により相互に接続されている。
バス64には、さらに、入出力インタフェース65が接続されている。入出力インタフェース65には、キーボード、マウスなどよりなるユーザインタフェース部66、画像データを入力するための入力部67、ディスプレイなどよりなる出力部68、ハードディスクや不揮発性のメモリなどよりなる記録部69等が接続される。さらに、入出力インタフェース65には、ネットワークインタフェースなどよりなる通信部70、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア80を駆動するドライブ71が接続されている。
以上のように構成されるコンピュータでは、CPU61が、例えば、記録部69に記録されているプログラムを、入出力インタフェース65およびバス64を介して、RAM63にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU61)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア80に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア80をドライブ71に装着することにより、入出力インタフェース65を介して、記録部69にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部70で受信し、記録部69にインストールすることができる。その他、プログラムは、ROM62や記録部69に、予めインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であり、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
この発明の画像符号化装置および方法、画像復号化装置および方法、並びにプログラムでは、画像データの周波数変換を行い係数データが生成されて、この係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数が検出される。また、検出された係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化が行われて符号化データの生成が行われる。また、この符号化データの復号化では、符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいて、可変長復号化または固定長復号化が行われる。このため、入力された係数データの特徴に応じて可変長符号化と固定長符号化を区分できるので、安定して符号化効率を高めることが可能となる。すなわち、ポスト量子化に起因して画像に生じる違和感や不明瞭感を抑制できることから、画像データの記録再生装置や画像データの通信装置等に適している。
10・・・画像符号化装置、11・・・色変換部、12・・・直交変換部、13・・・量子化部、14・・・係数ビットモデリング部、15,15a・・・エントロピー符号化部、16・・・ポスト量子化部、17・・・ヘッダ作成部、20・・・画像復号化装置、21・・・ヘッダ解析部、22,22a・・・エントロピー復号化部、23・・・係数ビットデモデリング部、24・・・逆量子化部、25・・・係数データ補正処理部、26・・・逆直交変換部、27・・・逆色変換部、60・・・コンピュータ、61・・・CPU、62・・・ROM、63・・・RAM、64・・・バス、65・・・入出力インタフェース、66・・・ユーザインタフェース部、67・・・入力部、68・・・出力部、69・・・記録部、70・・・通信部、71・・・ドライブ、80・・・リムーバブルメディア、151,224・・・有意ビット検出処理部、152,152a・・・符号化選択部、153,153a・・・可変長符号化部、154・・・固定長符号化部、221,221a・・・復号化選択部、222,222a・・・可変長復号化部、223・・・固定長復号化部

Claims (14)

  1. 画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出する有意ビット検出処理部と、
    前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択する符号化選択部と、
    可変長符号化が選択されたビットプレーンの可変長符号化を行う可変長符号化部と、
    固定長符号化が選択されたビットプレーンの固定長符号化を行う固定長符号化部と
    を有する画像符号化装置。
  2. 前記可変長符号化部は、係数ビットの発生確率に基づいて予め作成された符号化テーブルを用いて可変長符号化を行う請求項1記載の画像符号化装置。
  3. 前記符号化選択部は、ビット深度の浅い順から符号化の選択を行い、ビット深度が第1の閾値以上および/または1つ上位のビットプレーンにおける前記係数データの個数が第2の閾値以上であるビットプレーンで前記固定長符号化を選択し、他のビットプレーンで前記可変長符号化を選択する請求項2記載の画像符号化装置。
  4. 前記符号化選択部は、前記画像データに関するコンテキストに応じて、前記第1および/または第2の閾値を設定する請求項3記載の画像符号化装置。
  5. 前記可変長符号化部は、異なる複数の符号化テーブルから前記画像データに関するコンテキストに応じた符号化テーブルを選択して、該選択した符号化テーブルを用いて符号化を行う請求項2記載の画像符号化装置。
  6. 有意ビット検出処理部が、画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、
    符号化選択部が、前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択するステップと、
    可変長符号化部が、可変長符号化の選択が行われたビットプレーンの可変長符号化を行うステップと、
    固定長符号化部が、固定長符号化の選択が行われたビットプレーンの固定長符号化を行うステップと
    を含む画像符号化方法。
  7. 画像データの周波数変換を行うことにより生成された係数データからビットプレーン毎に上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、
    前記係数データの個数とビットプレーンのビット深度に基づいて、ビットプレーン毎に可変長符号化または固定長符号化を選択するステップと、
    可変長符号化の選択が行われたビットプレーンの可変長符号化を行うステップと、
    固定長符号化の選択が行われたビットプレーンの固定長符号化を行うステップと
    を含む処理をコンピュータに実行させるプログラム。
  8. 画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行う可変長復号化部と、
    前記符号化データについて、固定長復号化を行う固定長復号化部と、
    前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出する有意ビット検出処理部と、
    前記係数データの個数と復号化するビットプレーンのビット深度に基づいて前記可変長復号化部または前記固定長復号化部を選択して、前記符号化データの復号化を行わせる復号化選択部と
    を有する画像復号化装置。
  9. 前記可変長復号部は、係数ビットの発生確率に基づいて予め作成された復号化テーブルを用いて可変長復号化を行う請求項8記載の画像復号化装置。
  10. 前記復号化選択部は、ビット深度の浅い順から復号化の選択を行い、ビット深度が第1の閾値以上および/または1つ上位のビットプレーンにおける前記係数データの個数が第2の閾値以上である場合に前記固定長復号化を選択し、他の場合に前記可変長復号化を選択する請求項9記載の画像復号化装置。
  11. 前記復号化選択部は、前記画像データに関するコンテキストに応じて、前記第1および/または第2の閾値を設定する請求項10記載の画像復号化装置。
  12. 前記可変長復号化部は、異なる複数の復号化テーブルから前記画像データに関するコンテキストに応じた復号化テーブルを選択して、該選択した復号化テーブルを用いて復号化を行う請求項9記載の画像復号化装置。
  13. 可変長復号化部が、画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行うステップと、
    固定長復号化部が、前記符号化データの固定長復号化を行うステップと、
    有意ビット検出処理部が、前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、
    復号化選択部が、前記係数データの個数と復号化するビットプレーンのビット深度に基づいて、前記可変長復号化部または前記固定長復号化部を選択して、符号化データの復号化を行わせるステップと
    を含む画像復号化方法。
  14. 画像データの周波数変換を行うことにより得られた係数データに対して、上位のビットプレーンで有意ビットが検出されている係数データの個数とビットプレーンのビット深度に基づいてビットプレーン毎に可変長符号化または固定長符号化を選択して符号化が行われた符号化データについて、可変長復号化を行うステップと、
    前記符号化データの固定長復号化を行うステップと、
    前記符号化データを復号化して得たビットプレーンにおける上位のビットプレーンで有意ビットが検出されている係数データの個数を検出するステップと、
    前記係数データの個数と復号化するビットプレーンのビット深度に基づいて、前記可変長復号化部または前記固定長復号化部を選択して、符号化データの復号化を行わせるステップと
    を含む処理をコンピュータに実行させるプログラム。
JP2010059118A 2010-03-16 2010-03-16 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム Withdrawn JP2011193335A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010059118A JP2011193335A (ja) 2010-03-16 2010-03-16 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム
US13/023,830 US8582899B2 (en) 2010-03-16 2011-02-09 Image coding apparatus and method, image decoding apparatus and method, and program
CN2011100540044A CN102196264A (zh) 2010-03-16 2011-03-08 图像编码设备和方法,图像解码设备和方法,及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010059118A JP2011193335A (ja) 2010-03-16 2010-03-16 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2011193335A true JP2011193335A (ja) 2011-09-29

Family

ID=44603550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010059118A Withdrawn JP2011193335A (ja) 2010-03-16 2010-03-16 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム

Country Status (3)

Country Link
US (1) US8582899B2 (ja)
JP (1) JP2011193335A (ja)
CN (1) CN102196264A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107087182A (zh) * 2011-12-15 2017-08-22 太格文-Ii有限责任公司 图像解码方法及图像解码装置
KR20190010296A (ko) * 2017-07-21 2019-01-30 삼성전자주식회사 전자 장치 및 전자 장치에서 이미지 데이터를 압축하는 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013198059A (ja) * 2012-03-22 2013-09-30 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法およびプログラム
ES2961328T3 (es) * 2012-03-26 2024-03-11 Jvckenwood Corp Dispositivo de decodificación de imágenes, procedimiento de decodificación de imágenes y programa de decodificación de imágenes
CN103369312B (zh) * 2012-03-27 2017-04-12 富士通株式会社 图像压缩方法和装置
GB2513111A (en) 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US10063889B2 (en) * 2014-10-28 2018-08-28 Sony Corporation Image processing system with conditional coding and method of operation thereof
US10332001B2 (en) 2016-12-15 2019-06-25 WaveOne Inc. Enhanced coding efficiency with progressive representation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002204357A (ja) 2000-12-28 2002-07-19 Nikon Corp 画像復号化装置、画像符号化装置、および記録媒体
BR0205954A (pt) * 2001-08-31 2004-02-03 Matsushita Electric Ind Co Ltd Método de codificação de imagem, método de decodificação de imagem e aparelhos para os mesmos
US6993199B2 (en) * 2001-09-18 2006-01-31 Nokia Mobile Phones Ltd. Method and system for improving coding efficiency in image codecs
JP2004260539A (ja) 2003-02-26 2004-09-16 Victor Co Of Japan Ltd 画像復号化装置及び画像復号化プログラム
JP4495034B2 (ja) * 2005-06-01 2010-06-30 パナソニック株式会社 可変長符号化方式および可変長符号化装置
CN100471279C (zh) * 2006-02-13 2009-03-18 清华大学 一种基于上下文自适应变长解码的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107087182A (zh) * 2011-12-15 2017-08-22 太格文-Ii有限责任公司 图像解码方法及图像解码装置
CN107087182B (zh) * 2011-12-15 2019-10-01 太格文-Ii有限责任公司 图像解码方法及图像解码装置
KR20190010296A (ko) * 2017-07-21 2019-01-30 삼성전자주식회사 전자 장치 및 전자 장치에서 이미지 데이터를 압축하는 방법
KR102385365B1 (ko) 2017-07-21 2022-04-12 삼성전자주식회사 전자 장치 및 전자 장치에서 이미지 데이터를 압축하는 방법

Also Published As

Publication number Publication date
US20110229048A1 (en) 2011-09-22
CN102196264A (zh) 2011-09-21
US8582899B2 (en) 2013-11-12

Similar Documents

Publication Publication Date Title
JP2011193335A (ja) 画像符号化装置および方法、画像復号化装置および方法、並びにプログラム
RU2686626C1 (ru) Способ и устройство для энтропийного кодирования/декодирования коэффициента преобразования
JP5409909B2 (ja) ビットストリームを復号する方法
JP4113114B2 (ja) Golomb−riceコーディングを使用するdct圧縮
JP4927888B2 (ja) ゴロム・ライスを使用する無損失フレーム内符号化
JP2009081860A (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
JP2014523697A (ja) イントラ予測を伴うビデオ符号化方法及びその装置、ビデオ復号化方法及びその装置
JP2003250157A (ja) 静止映像及び動映像を符号化/復号化するための変換係数の最適走査方法
JP2006295796A (ja) 画像データ復号装置及び画像データ復号方法
JP4579237B2 (ja) 画像符号化装置及び画像復号装置
US20090087113A1 (en) Variable length coding of coefficient clusters for image and video compression
JP2005151391A (ja) 動画像符号化方法、動画像符号化装置およびプログラム
JP2007129612A (ja) 直交変換係数のスキャン方法,逆スキャン方法,スキャン装置,逆スキャン装置,およびそのプログラム並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体
CN107005706B (zh) 用于再编码图像的方法及其装置
JP4186470B2 (ja) 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム
JP4743884B2 (ja) 画像符号化装置及びその制御方法
JP6130556B6 (ja) ビデオ復号化方法及びその装置
JP4523494B2 (ja) 画像符号化装置および画像復号装置
JP2009231925A (ja) 画像処理装置及び方法
KR20070096776A (ko) 영상 신호를 인코딩 및 디코딩 하는 방법
JP2003018014A (ja) 符号化方法,復号方法,符号化装置,復号装置,符号化プログラム,復号プログラムおよびそれらのプログラム記録媒体
JP2005252428A (ja) 画像圧縮方法
JP2004120274A (ja) 可変長符号の復号装置および復号方法
JP2009260746A (ja) 画像符号化装置及びその制御方法
JP2012120087A (ja) 画像生成装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604