JP2010226532A - 画像圧縮装置および画像伸張装置 - Google Patents

画像圧縮装置および画像伸張装置 Download PDF

Info

Publication number
JP2010226532A
JP2010226532A JP2009072883A JP2009072883A JP2010226532A JP 2010226532 A JP2010226532 A JP 2010226532A JP 2009072883 A JP2009072883 A JP 2009072883A JP 2009072883 A JP2009072883 A JP 2009072883A JP 2010226532 A JP2010226532 A JP 2010226532A
Authority
JP
Japan
Prior art keywords
pixel
variable length
length coding
index
value
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
JP2009072883A
Other languages
English (en)
Other versions
JP5221430B2 (ja
Inventor
Reiko Noda
玲子 野田
Shinichiro Koto
晋一郎 古藤
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009072883A priority Critical patent/JP5221430B2/ja
Publication of JP2010226532A publication Critical patent/JP2010226532A/ja
Application granted granted Critical
Publication of JP5221430B2 publication Critical patent/JP5221430B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 画像を符号化単位ごとに所定の圧縮率を満たすように圧縮し、かつ符号化単位ごとにランダムに復号可能な画像圧縮を行う際に、圧縮率に関わらず同じデータ構造で、符号化単位内で性質の異なる複数の領域に対する可変長符号化パラメータを無駄なく多重化する。
【解決手段】 ブロック内を複数の領域に分けて、それぞれの画素を異なる可変長符号化テーブルを用いて可変長符号化する。可変長符号化テーブルを示す複数のインデックスのそれぞれを圧縮率に応じて異なるビット数で多重化し、複数の可変長符号化パラメータを多重化する際の総ビット数が前記所定の圧縮率に関わらず一定のビット数となるように多重化する。
【選択図】 図1

Description

画像を符号化単位ごとに所定の圧縮率を満たすように圧縮するとともに、符号化単位ごとにランダムに復号可能な画像圧縮装置および画像伸張装置に関する。
近年、デジタル画像の高精細化が進み、デジタルテレビやデジタルカメラの内部のLSIで取り扱われる画像データ量が増大している。画像データを保存するためのメモリ量やLSI内のモジュール間で画像データを転送する際のメモリバンド幅も増加する。そのため、システムコストの増大が問題となっている。
これらの問題を解決するため、処理中の画像を、低遅延、低処理量で画質劣化が知覚されない程度に圧縮を施し、フレームバッファのメモリ量やメモリバンド幅を削減する手法がある(特許文献1:特開2006−303689号公報)。
このような圧縮を行う場合、二つのことが保証されることが重要である。
第一に、符号化単位でワーストケースでの圧縮率を保証することが重要である。これにより、メモリ量やメモリバンド幅がある一定値以下になることが保証されるからである。
第二に、符号化単位ごとに独立に復号化できることが重要となる。これにより、ランダムアクセスが可能となるからである。デコーダLSIが動き補償予測で参照画像を取得する場合や、画像処理LSIが画像の一部のみを処理する場合、ランダムアクセスが必要となるからである。
特許文献1では、画像データを上位ビットと下位ビットに分け、上位ビットは画素差分とハフマン符号化で可逆圧縮し、下位ビットは上位ビットの圧縮率に応じて目標圧縮率に収まるようビット長を丸める処理を行うことで符号化単位(ブロック)の圧縮率を保証している。
特開2006−303689号公報
ブロック単位で隣接画素から導かれる予測値との画素差分を符号化することにより、ブロック単位でランダムアクセスできる圧縮データが得られる。ブロックの上端や左端の画素の予測値は左あるいは上の画素のみを参照して生成される。その他の画素の予測値は上、左、左上などの画素を参照して生成される。予測値の生成方法が異なるため、予測残差の分布が異なる。
ブロック内の特定の領域で予測残差の分布が異なる場合、それぞれの領域に適した可変長符号化テーブルを用いることにより圧縮効率が改善される。
特許文献1では、符号化単位内で単一の可変長符号化テーブルを用いて、上位ビットの可逆圧縮を行っているため、圧縮効率を十分に高めることができなかった。
ブロック内で複数の異なる可変長符号化テーブルを用いて符号化する場合、どの可変長符号化テーブルをどの領域に適用するのかを復号側に通知する手法が問題となる。
領域ごとにどの可変長符号化テーブルを用いたのかを示す情報をヘッダとして符号化データに多重化することが解決手段の一つとして考えられるが、オーバヘッドの増加が問題となる。
一方、符号化済みの周辺画素の情報から最適な可変長符号化テーブルを予測する手法であれば、オーバヘッドの増加という問題は解決されるが、予測が当たらなかった場合には符号化効率が低下するという問題がある。
本発明では、オーバヘッドの増加を防ぎつつ、領域ごとに適した可変長符号化テーブルで符号化する手法を提供することを目的とする。
上記課題を解決するために本発明の一側面の画像圧縮装置は、画像をブロック単位で所定の圧縮率を満たすように圧縮する装置であって、前記ブロック内の各画素の画素値と前記ブロック内で各画素に隣接する画素の画素値から求められた予測値との予測残差を求める予測部と、前記ブロック内の複数の領域のそれぞれに対する可変長符号化テーブルを用いて、各画素の前記予測残差を可変長符号化して圧縮データを生成する可変長符号化部と、前記可変長符号化テーブルを指し示すインデックスを前記圧縮データに多重化する多重化部と、を備える。
また、本発明の他の側面の画像伸張装置は、画像がブロック単位で所定の圧縮率を満たすように圧縮された圧縮データを復号する装置であって、前記ブロック内の複数の領域のそれぞれに対する可変長符号化テーブルを指し示すインデックスを前記圧縮データから分離する分離部と、前記インデックスが指し示す可変長符号化テーブルに従って前記圧縮データを可変長復号して各画素の予測残差を求める可変長復号部と、各画素の予測残差と前記ブロック内の各画素の隣接画素の画素値とを用いて各画素の画素値を求める予測部と、
を備える。
圧縮率の高低に関係なく同じデータ構造で、圧縮率の高い場合に使用頻度が低い可変長符号化テーブルの情報を多重化するかわりに、残差の性質の異なる符号化単位内の領域に対して最適な可変長符号化テーブルのインデックスを多重化することが可能となり、画質が向上する。
第1の実施形態の画像圧縮装置のブロック図。 図1の可変長圧縮部のブロック図。 図1の固定長圧縮部のブロック図。 図2の可変長符号化部のブロック図。 符号化単位(ブロック)の画素予測方式。 領域504の予測残差の分布を示す図。 領域503の予測残差の分布を示す図。 ゴロムライス符号の模式図。 ゴロムライス符号の例。 第1の実施形態に係る可変長符号化パラメータ情報を示す図。 圧縮処理のフローチャート。 可変長符号化部203で行われる処理のフローチャート。 量子化パラメータと量子化ステップサイズの関係。 第1の実施形態の画像伸張装置のブロック図。 画素処理順序例を示す図。 画素処理順序例を示す図。 ブロックの分割例を示す図。 ブロックの分割例を示す図。 ブロックの分割例を示す図。 ブロックの分割例を示す図。 ブロックの分割例を示す図。 ブロックの分割例を示す図。
ブロック等の符号化単位を可変長符号化する際に、ブロック内の画素の位置に応じた可変長符号化テーブルが用いられる。可変長符号化テーブルを示すインデックスは固定長(Nビット)で符号化される。圧縮率が低い場合、インデックスをNビットで符号化する。圧縮率が高い場合、2(N-M)個の可変長符号化テーブルの中から符号化単位内の一つの領域のための可変長符号化テーブルを選び、選ばれた可変長符号化テーブルのインデックスを(N-M)ビットで多重化する。そして、残りのMビットで符号化単位内の他の領域のための可変長符号化テーブルのインデックスを示す情報を符号化する。
以下、図面を参照して本発明の各実施形態を説明する。
(第1の実施形態)
図1は本発明の第1の実施形態に係る画像圧縮装置を示す。本実施形態の画像圧縮装置は、画像ブロック用バッファ104、仮圧縮部105、圧縮モード判定部106、および、圧縮部107を備える。
圧縮部107は、固定長圧縮部108と可変長圧縮部109とを有する。圧縮部107は、入力画像102を所定のサイズ以下に圧縮して、圧縮データ110を出力する。
圧縮モード判定部106と固定長圧縮部108に、目標符号量101が入力される。目標符号量101は、圧縮処理開始前に予め定められる値であって、ブロック内の画素数、入力画像フォーマットおよび圧縮率に基づいて定められる。目標符号量101は入力画像のブロックの総データ量に圧縮率を乗じた値となる。
すなわち、
(目標符号量)=(ブロック内総画素数)×(画素ビット長)×(圧縮率)
となる。
例えば、YUV420 8bitの入力画像を、輝度のブロックサイズ16×16、色差のブロックサイズ8×8、圧縮率1/2という条件で圧縮する場合、目標符号量は、(16×16+2×8×8)×8×(1/2)=2560bitとなる。
なお、本実施形態では輝度信号の符号化単位ごとの符号量と色差信号の符号化単位ごとの符号量との合計値に対して目標符号量を設定しているが、これに限られるものではない。例えば色差信号コンポーネントそれぞれについて符号化単位ごとに目標符号量を設定しても構わないし、色差信号コンポーネントをまとめて符号化単位ごとに目標符号量を設定しても構わない。例えば入力画像がYUVの場合、Y信号について符号化単位ごとに目標符号量以下で圧縮し、U信号およびV信号をまとめて符号化単位ごとに目標符号量以下になるように圧縮しても構わない。圧縮率は、あらかじめ決められた所定の値を用いても構わないし、外部からの入力により決定してもよい。また、圧縮率を圧縮データに多重しても構わない。
画像ブロック用バッファ104には、入力画像102の画像ブロックが格納される。画像ブロックとは入力画像を任意の方法で分割したものである。画像ブロックの最小単位は2画素であり、最大単位は画像全体である。また、画像ブロックは所定の圧縮率を保証する単位である。本実施形態では画像ブロックのサイズがN×Mブロックである場合について述べる。なお、後述するように、予測処理の効率化のために、画像ブロック用バッファ104は画素を任意の画素スキャン順に並べ替え、仮圧縮部105あるいは圧縮部107に送る処理を行っても構わない。
仮圧縮部105はそれぞれ異なるQPを持つ複数の可変長圧縮部105−i(i=0〜N)を有する。可変長圧縮部105−iのそれぞれは、画像ブロック用バッファ104に格納された画像ブロックを、複数の異なるQPに従って仮圧縮して、各QPの符号量を求める。
図2は可変長圧縮部105−iの構成を示す。可変長圧縮部105−iはエントロピー削減処理部201、量子化部202、可変長符号化部203を備える。画像ブロック用バッファ104に格納された画像ブロックは、エントロピー削減処理部201にて、画素予測値との差分処理や、DCT(離散コサイン変換)等の直交変換等が適用され、量子化部202で量子化され、可変長符号化部203にて可変長符号化され、得られた符号量が圧縮モード判定部106に送られる。
エントロピー削減処理部201では、画素予測値との差分処理のみが行われても構わないし、直交変換のみが行われても構わない。可変長符号化部203は、必ずしも実際に符号列を出力する必要はなく、符号量が出力されるだけでも構わない。また、可変長圧縮部105−iは、エントロピー削減処理を行わずに画素値を直接量子化しても構わない。
図4は可変長符号化部203の構成を示す。可変長符号化部203は、特性の異なる複数の可変長符号化部401−i(i=0〜N)を備える。可変長符号化部401−iのそれぞれは量子化部から出力された信号を可変長符号化する。図4のパラメータk(k=0,1・・・N)は可変長符号化の特性を表す可変長符号化パラメータを示す。
可変長符号化部203はゴロムライス符号を用いて符号化する。図6は符号列の例を示す。ゴロムライス符号は、可変長のUnary符号で表されるprefix(61)と固定長の符号列で表されるsuffix(62)とを連結した符号である。suffix(62)の符号長は、前述の可変長符号化パラメータkの値に等しい。復号時には、符号化に用いられた可変長符号化パラメータkの値の情報が必要となる。
図7は本実施形態のゴロムライス符号の例を示す。図7は、可変長符号化パラメータkの値のそれぞれに応じた、可変長符号化テーブルの例を示す。本実施形態の可変長符号化部203は、可変長符号化パラメータkに応じた可変長符号化テーブルを用いて、量子化部202から出力された信号を可変長符号化する。例えば、可変長符号化パラメータkが0であり、かつ、予測残差が0ならば、符号列"1"が出力される。可変長符号化パラメータkが1であり、かつ、予測残差が0ならば、符号列"10"が出力される。
図5は本実施形態のDPCM(Differencial Pulse Code Moduration)の処理を説明するための図である。本実施形態のエントロピー削減処理部201は、画素単位でDPCMを行う。本実施形態のDPCMの処理はブロック500の左上からラスタスキャン順に行われる。本実施形態では、圧縮後にブロック単位でランダムアクセスができるように符号化するため、符号化対象ブロックの周辺にある他のブロックを参照した画素予測は行わない。予測の手法の違いによって、ブロック500内は4つの領域に分類される。より具体的には、ブロック500は、左上の画素501と、上端の画素列502と、左端の画素列503と、その他の領域504とに分けられる。なお、画素列502および画素列503は画素501を含まない。
エントロピー削減処理部201は、ブロック500の左上の画素501の画素値をそのまま出力するか、画素値をそのまま量子化部202で量子化するか、または、所定の値(例えば8ビットの画像の場合は128)を予測値として用いて求められる予測残差を量子化部202で量子化する。量子化された画素値あるいは予測残差は逆量子化され、予測残差は予測値に加算され、復号後の画素値が生成される。復号後の画素値は以降に行われる隣接画素の予測に用いられる。
エントロピー削減処理部201は、ブロックの上端の画素列502の各画素の予測残差を求める。各画素の左の画素の画素値は予測値として用いられる。エントロピー削減処理部201は、各画素の画素値と予測値との予測残差を求める。量子化部202は予測残差を量子化する。
エントロピー削減処理部201は、ブロックの左端の画素列503の各画素の予測残差を求める。各画素の上の画素の画素値は予測値として用いられる。エントロピー削減処理部201は、各画素の画素値と予測値との予測残差を求める。量子化部202は予測残差を量子化する。
エントロピー削減処理部201は、領域504内の各画素の予測残差を求める。各画素の予測値は、各画素の左上、左および上の画素のうちのすべての画素または一部の画素を用いて求められる。本実施形態では、エントロピー削減処理部201は、各画素の左上、左および上の画素の画素値から、MED(Median Edge Detector)を用いて予測値が求められる。エントロピー削減処理部201は、各画素の画素値と予測値との予測残差を求める。量子化部202は予測残差を量子化する。
可変長符号化部203は、量子化された予測残差を可変長符号化する。また、量子化された予測残差は逆量子化され、予測値と加算されて、復号後の画素値が得られる。この復号後の画素値は以降の画素の予測処理に用いられる。
上述のMEDは例えばJPEG−LSでも用いられている。MEDは、左の画素値、上の画素値、および、(左の画素値+上の画素値―左上の画素値)の中央値を予測値とする予測手法である。
MEDを用いた画素予測処理をラスタスキャン順で行う場合、左の画素の復号化処理が完了するまで、各画素の予測処理を行うことができない。そのため、1画素にかかる処理サイクルが増える。そこで、画像ブロック用バッファ104で画素処理順序を図13や図14に示すように、右上から左下に向かうような画素順序に変更すると効率的に予測処理を行うことができる。
図13および図14は8x4画素サイズのブロック内の各画素の予測処理の順序の例を示す。各マスはブロック内の各画素に対応する。各マスの数字は予測処理の順番を示し、数字の小さい画素から数字の大きい画素に向かって順番に予測処理が行われる。
図13の例では、ブロックの左上の画素0から処理を開始され、その右隣の画素1から左下に向かって各画素の予測処理が行われる。ブロックの左端あるいは下端に達すると、処理してない画素のうち、処理が終わった画素に隣接している画素のうち、もっとも上にある画素から同様に左下に向かって順に処理を行う。
図14の例では、2ラインごとに図13と同様に右上から左下に向かう順序で各画素の処理が行われる。すなわち、画素0と画素2で始まる水平方向の2つのラインを処理してから、画素15と画素18で始まる水平方向の2つのラインを処理する。
ただし、2ライン目の右端の画素16の処理は、次の2ライン(画素15および画素18で始まる2ライン)の上のラインの左端の画素15を処理した後に行われる。画素16の処理が終わった後に、次の2ラインの右上から左下に向かって処理を行われる。
図13の例では、画素4、画素29、画素30および画素31以外の画素については、予測に用いられる左、左上、上の画素の処理は3画素以上前に終了しており、画素31に処理する画素以外の画素については予測に用いられる画素の処理は2画素以上前に終了する。
図14の例では、画素31以外の画素は予測に用いられる画素の処理は2画素以上前に終了する。従って、各画素の符号化処理をパイプラインで並列に行っている場合、画素予測処理やその後の量子化・可変長符号化の処理に要する時間を多くとることができ、スループットが向上する。なお、ここで示した例は8×4ブロックであるが、どのようなブロックサイズでも、上記のように右上から左下に向かうスキャン順序をブロック全体あるいは2ラインごとに適用することで同様の効果が得られる。
図5の画素列502の各画素の予測値は、左の画素から予測される。図5の領域504の各画素の予測値は、左の画素、左上の画素および上の画素から予測される。これらの予測は一般的には精度が良いので、各画素の画素値と予測値との差分である予測残差は、0に近い値になることが多い。図5−1は予測残差(横軸)と出現頻度(縦軸)との関係を示す。本実施形態では、図7の可変長符号化テーブルが用いられる。可変長符号化パラメータkの値として0や1のような小さな値を用いて符号化すると、発生する符号量を抑制できる。
図5の画素列503の各画素の予測値は、上の画素から予測される。この予測は精度があまり良くないので、各画素の画素値と予測値との差分である予測残差は、統計的な変動が大きい。図5−2は予測残差(横軸)と出現頻度(縦軸)との関係を示す。可変長符号化パラメータkとして、ブロック内の左端の画素以外の領域で用いる値よりも大きな値を用いて符号化すると、発生する符号量を抑制できる。
本実施形態の可変長符号化部203は、ブロックの左端の画素領域(図5の画素列503)とそれ以外の画素領域(図5の画素列502および領域504)とで、異なる可変長符号化パラメータkを用いて符号化する。より具体的には、ブロックの左端以外の画素領域では可変長符号化パラメータkを用い、ブロックの左端の画素領域では可変長符号化パラメータkにオフセット値(OFFSET)を加算した値を用いる。
符号化パラメータkおよびオフセット値(OFFSET)の候補数は、設定された目標圧縮率によって可変とし、後述の圧縮モード判定部で最適なkおよびOFFSETが決定された後、これらのパラメータは圧縮データにヘッダとして多重化される。
図15から図20は、ブロックが複数の画素領域に分割された例を示す。図15は本実施形態の分割に相当する。ブロック1500は画素領域1502と1503とに分けられる。画素領域1503は画素1501が縦に並んだ形状を有する。本実施形態では、画素領域1502と1503とのそれぞれに対して可変長符号化テーブルが割り当てられる。
図16は他の分割の例である。ブロック1500は画素領域1602と1603とに分けられる。画素領域1603はブロック1500の上端と左端とを含む。画素領域1602は画素領域1603以外の領域である。画素領域1602と1603とのそれぞれに対して可変長符号化テーブルが割り当てられる。
図15は画素の垂直方向の相関が小さい画像、例えばインターレース画像、に対して効果的である。図16はプログレッシブ画像に対して効果的である。
図17および図18はさらに他の分割の例である。図17はインターレース画像に対して効果的な例である。図18はプログレッシブ画像の場合に効果的な例である。図17の画素領域1703と画素領域1704に対しては同じ可変長符号化パラメータkが用いられる。図18の画素領域1803と画素領域1804に対しては同じ可変長符号化パラメータkが用いられる。
図17および図18は以下の条件を満たす場合に効果的である。
(1)各画素の符号化処理がパイプライン処理で並列に行われる。
(2)MEDを用いた画素予測処理に1サイクルかかる。
(3)画素予測処理の後の量子化・可変長符号化の処理にさらに1サイクルかかる。
(4)図13および図14のスキャン順序を適用する。
(5)1サイクル1画素のスループットを実現する。
画素領域1704および画素領域1804は図13および図14の画素31に相当する。画素31の処理を開始する時点では、左の隣接画素の処理が終了していない。画素予測に左の隣接画素を用いることができない。上の隣接画素を用いて予測する必要がある。よって、画素領域1704および画素領域1804のそれぞれの予測残差の特性は、画素領域1703および1803のそれぞれの予測残差の特性と同じである。
図19および図20はさらに他の分割の例である。図19はインターレース画像に対して効果的である。図20はプログレッシブ画像に対して効果的である。図19の領域1903と領域1904に対しては、同じ可変長符号化パラメータkが用いられる。図20の領域2003と領域2004に対しては、同じ可変長符号化パラメータkが用いられる。図19および図20は以下の条件を満たす場合に効果的である。
(1)各画素の符号化処理がパイプライン処理で並列に行われる。
(2)MEDを用いた画素予測処理に2サイクルかかる。
(3)画素予測処理の後の量子化・可変長符号化の処理にさらに1サイクルかかる。
(4)図13のスキャン順序を適用する。
(5)1サイクル1画素のスループットを実現する。
画素領域1904および画素領域2004のそれぞれに含まれる画素は、それぞれ図13の画素4、画素29、画素30および画素31に対応する。これらの4画素の画素予測では、上に隣接する画素のみを用いることができる。したがって、画素領域1904および画素領域2004の予測残差の特性は、画素領域1903および領域2003のそれぞれの予測残差の特性と同じである。
なお、図15〜図20の例では、ブロック1500の左上の画素が画素領域1503、1603、1703、1803、1903および2003のそれぞれに含まれているが、この左上の画素については、予測符号化を行わなくても構わない。例えば、画素値をそのままのビット列で出力しても構わないし、量子化した値をそのままのビット列で出力しても構わない。この場合、左上の画素に対する可変長符号化パラメータkは必要なくなるため、画素領域1503、1603、1703、1803、1903および2003のそれぞれから除外しても構わない。
図8は可変長符号化パラメータkを3bitのヘッダとして多重化する例を示している。入力画像はYUV420-8bitのフォーマットである。この例では、圧縮率が1/2以下か、1/2より大きいか否かでヘッダ情報の内容が異なる。圧縮率が1/2より大きい場合、可変長符号化パラメータkの値は3bitで表現される(k=0〜7)。圧縮率が1/2以下の場合、可変長符号化パラメータkの値は2bitで表現され(k=0〜3)、1bitがオフセットの制御に用いられる。
YUV420-8bitの画像を圧縮率1/2で圧縮する場合、可変長符号化パラメータkの値は実質3までしか使われない。図7の符号表にも示されているように、可変長符号化パラメータkの値を4に設定して可変長符号化すると、一画素あたりの圧縮後のビット数が最小でも5bitとなるからである。k=4では圧縮率が1/2を超えてしまう。
圧縮率が1/2以下の場合、2bitでブロックの左端の画素以外の領域に対する可変長符号化パラメータkを多重化し、残りの1bitのフラグでブロック左端の画素領域の可変長符号化パラメータkにOFFSETを加算するか否かを示すフラグを多重化する。例えば、1bitのフラグが0の場合、ブロックの全ての画素で共通な可変長符号化パラメータkが用いられる。フラグが1の場合、ブロックの左端以外の画素領域では可変長符号化パラメータkが用いられ、ブロックの左端の画素領域では可変長符号化パラメータk+OFFSET(OFFSETはOFFSET>0を満たす整数)が用いられる。
圧縮率が1/2より大きい場合、可変長符号化パラメータkの値は4以上でも構わない。3bitでブロック左端の画素以外の画素領域の可変長符号化パラメータkを多重化する。ブロック左端の画素以外の画素領域では可変長符号化パラメータkが用いられ、ブロック左端の画素領域では可変長符号化パラメータk+OFFSETが用いられる。
ここでは入力画像の画素ビット長が8bitの画像を圧縮する例を示したが、これ以外の入力画像についても同様の処理が可能である。例えば10bitの入力画像において、可変長符号化パラメータを3bitで多重化する場合は、圧縮率が4/10以下の場合にOFFSETを加算するかどうかのフラグを送る構成とすれば、無駄なく可変長パラメータを多重化することが可能である。
これらの可変長符号化パラメータは、符号化単位内の色コンポーネント信号1つにつき1つの可変長符号化パラメータが多重化されてもよいし、色コンポーネント信号全てに対し1つの可変長符号化パラメータが多重化されてもよいし、輝度コンポーネント信号1つにつき1つの可変長符号化パラメータを多重化し、色差コンポーネント信号では共通の1つの可変長符号化パラメータを多重化してもよい。
圧縮モード判定部106は、目標符号量101を超えない範囲で圧縮モードを選択する。圧縮モードは、仮圧縮部105で評価された各可変長圧縮モードと固定長圧縮モードの中から一つ選択される。各可変長圧縮モードとは、上述の例でいえば、量子化パラメータおよび可変長符号化パラメータkとなる。可変長符号化パラメータkおよび量子化パラメータのいかなる組み合わせでも符号量が目標符号量を上回る場合は、固定長圧縮モードが選択される。
圧縮モード判定部106の選択結果に従い、固定長圧縮部108、もしくは、可変長圧縮部109のいずれかで圧縮処理が行われ、圧縮データ110が完成する。固定長圧縮部108が選択された場合、画像ブロックは、エントロピー削減処理部301でのエントロピー削減処理と量子化部302での量子化が施されてから、固定長符号生成部303で固定長符号化が行われることにより、符号量が目標符号量101となる圧縮データ110が得られる。なお、エントロピー削減処理部301でのエントロピー削減処理を行わずに、画像ブロックを直接量子化しても構わない。
可変長圧縮部109は、図2に示される構成を有する。可変長圧縮部109は、仮圧縮部105の可変長圧縮部と同じ動作を行って、圧縮データ110を出力する。
図9は画像ブロック用バッファ104から出力された符号化単位ごとの入力画像が圧縮される手順の一例を示すフローチャートである。
ステップS502で、量子化パラメータQPが0にセットされる。量子化パラメータは量子化ステップサイズに対応した値である。図11は量子化パラメータQPと量子化ステップサイズとの対応関係の例を示す。
ステップS502で、エントロピー削減処理が行われた後、量子化パラメータQPで量子化処理が行われる。本実施形態では、エントロピー削減処理としては、画素予測による予測残差生成処理を行う。
ステップS503で、量子化された予測残差に対する可変長符号化が行われ、QPの値ごとに最適な可変長符号化パラメータが決定される。この処理については後述する。
ステップS504で、量子化パラメータQPがQPの上限値であるQP_Maxに達しているかどうかを判定し、超えていない場合はステップS505にてQPを1加算し、ステップS502〜S504の処理を繰り返す。ここで、ステップS501〜S505の処理について、ここではQPの値ごとに順次処理を行う例を示したが、全てのQPの値についてS502およびS503の処理を並列に行ってもよい。
全てのQPについて処理が終わった後、ステップS506にて目標符号量を下回る最小のQPを決定する。ステップS507で目標符号量以下になるQPおよび可変長符号化パラメータが存在するかどうかを判定する。存在する場合にはステップS508にて選択されたQPおよび可変長符号化パラメータを用いて可変長符号化部で圧縮を行う。目標符号量以下となるQPおよび可変長符号化パラメータが存在しない場合は、ステップS509にて固定長圧縮部で圧縮を行う。
量子化パラメータや可変長符号化パラメータも同様に圧縮データ110に多重化される。可変長符号化か固定長符号化のどちらを選択したかを示す情報は、例えば量子化パラメータの1つの値として多重化されてもよいし、1ビットのフラグとして多重化されてもよい。以上の処理手順で圧縮データ110が得られる。
図10は仮圧縮部105における可変長符号化部203が行う処理のフローチャートである。
ステップS601では、圧縮率が閾値θよりも大きいか否かが判定される。圧縮率が閾値θよりも大きい場合、ステップS602にて可変長符号化パラメータの初期値としてk=0、OFFSET=1が設定される。
ステップS603では、入力ブロックの左端の画素の予測残差を可変長符号化パラメータk+OFFSETで仮符号化して、発生符号量を求める。ステップS604では、ブロック左端の画素以外の予測残差を可変長符号化パラメータkで仮符号化して、発生符号量を求める。
S603、S604の処理はステップS605のkの大小判定およびステップS606におけるkのインクリメント処理を経て、kが候補パラメータ数Nに達するまで繰り返される。なお、ここではkの値に応じて順次処理が行われる例を示したが、全てのkの候補について並列に処理が行われてもよい。全ての候補Kにおいて処理が終了したら、ステップS607にて最も符号量が小さくなるkおよびOFFSETが決定される。本実施形態では、OFFSET=1を用いたが、別の値を用いてもよい。
ステップS601で圧縮率が閾値θよりも小さい場合には、ステップS608およびS609で、可変長量子化パラメータの初期値としてk=0、OFFSET=0が設定される。
ステップS610およびS611では、ステップS603およびS604と同様の処理が行われる。ステップS612およびステップS613は、ステップS610からステップS611までの処理のループ制御を行う。ループの回数は(N/2)回であり、これは可変長符号化パラメータkの候補の数に相当する。
ステップS614とステップS615では、ステップS609からステップS612までの処理のループ制御を行う。ループの回数は2回であり、これはOFFSET(本実施形態では0と1)の候補の数に相当する。
したがって、ステップS610およびステップS611の処理は、N個の候補のそれぞれについて繰り返し行われる。
なお、ステップS610およびS611の処理は、圧縮率が閾値θより大きい場合と同様に、並列に処理が行われてもよい。全ての候補において処理が終了したら、ステップ607にて最も符号量が小さくなるkおよびOFFSETが決定される。以上の処理によって、圧縮率の大小に関わらず、同じ候補数Nの可変長符号化パラメータの中から最適な候補パラメータを選択することが可能である。
以上の処理により、入力画像101を所定のデータサイズの圧縮データ110に圧縮する際、圧縮率の高低に関係なく同じデータ構造で、可変長符号化テーブルの情報を多重化することができる。圧縮率が高い場合には、使用頻度が低い可変長符号化テーブルの情報を多重化するかわりに、残差の性質の異なる符号化単位内の領域に対して最適な可変長符号化テーブルのインデックスを多重化する。その結果、画質が向上する。
(第2の実施形態)
図12は本実施形態の画像伸張器のブロック図である。圧縮データ110は可変長符号化または固定長符号化により生成された符号化データと、可変長符号化か固定長符号化かを示す情報とを有する。可変長符号化か固定長符号化かを示す情報に従って固定長伸長部701と可変長伸長部702とのうちの一方が選択され、圧縮データ110に対する伸張処理が行われる。
圧縮率設定部700は圧縮データ110の圧縮率を固定長伸長部701および可変長伸長部702に設定する。圧縮率は固定値でも構わないし、圧縮データ110に多重化された情報に基づいて可変制御されても構わない。
固定長伸長部701は、固定長圧縮部108と逆の処理(固定長復号処理、逆量子化処理、逆エントロピー削減処理等)を行って、伸長画像ブロックデータを生成する。伸張画像ブロックデータは画像ブロック用バッファ706に格納される。
可変長伸長部702は、入力された圧縮データ110から可変長符号化パラメータと画像圧縮データとを分離するヘッダ分離部708と、可変長符号化パラメータに従って画像圧縮データの可変長復号を行う可変長復号部703と、逆量子化部704と、逆直交変換や画素予測等の逆エントロピー削減処理を行う逆エントロピー削減処理部705とを有する。
ヘッダ分離部708は、圧縮データ110から図8に示された可変長符号化パラメータを分離して、圧縮率に応じて符号化単位内の各領域の可変長符号化パラメータkを求める。図8を用いて具体的に説明する。図8では可変長符号化パラメータが3bitの値で多重化されている。圧縮率が1/2より大きい場合は、3bitで表現される値を符号化単位ブロックの左端の画素以外の画素領域に対する可変長符号化パラメータkとして用い、ブロックの左端の画素領域に対する可変長符号化パラメータkを例えばk+1に設定する。
圧縮率が1/2以下の場合は、ヘッダの上位2bitで表される値を符号化単位ブロックの左端の画素以外の画素領域に対する可変長符号化パラメータkとして用いる。ブロックの左端の画素領域に対する可変長符号化パラメータとして、ヘッダの下位1bitが"0"の場合にはkを用い、下位1bitが"1"の場合にはK+1を用いる。
なお、本実施形態では、図15に示すように、ブロック内を左端の画素を含む画素領域1503とそれ以外の画素領域1502に分割し、それぞれに対して可変長符号化パラメータを画像圧縮データ110から取得して復号する例を示したが、本発明はこれに限られるものではない。例えば、図16に示すように、ブロック内をブロック左端と上端とを含む画素領域1603と、それ以外の画素領域1602に分割し、それぞれに対して可変長符号化パラメータを画像圧縮データ110から取得して復号しても構わない。また、図17〜図20に示す例など、他の分割手法を適用しても構わない。
このようにして得られた可変長符号化パラメータkを用いて符号化単位ブロックの圧縮データを可変長復号部703で復号する。復号されたデータは逆量子化部704で例えば圧縮データ110に多重化された量子化パラメータを用いて逆量子化された後、逆エントロピー削減処理部705で必要に応じて逆直交変換処理や画素予測処理および予測残差加算処理が行われ、復号画像データが得られる。
なお、図15〜図20の例では、画素領域1503、1603、1703および1803はブロックの左上端の画素を含んでいる。ブロック左上端の画素が例えば画素値をそのままのビット列で圧縮データに含まれている場合や、量子化した値をそのままのビット列で圧縮データに含められている場合は、画素領域1503、1603、1703および1803に対する可変長符号化パラメータkはブロック左上端の画素の復号には必要ない。圧縮データから直接復号画素値が得られるか、あるいは、量子化された画素値を取得し、量子化された画素値を逆量子化することにより復号画素値が得られる。
復号画像データは画像ブロック用バッファ706に格納され、必要に応じて画素スキャン順序を変更した後、復号画像707が出力される。以上のようにして、任意の符号化単位に対する復号画像110が得られる。
本発明に係る画像圧縮装置および画像伸張装置は、画像処理装置内部での画像圧縮処理に使用される。
101・・・目標符号量
102・・・入力画像
103・・・動画像圧縮装置
104・・・画像ブロック用バッファ
105・・・仮圧縮部
106・・・圧縮モード判定部
107・・・圧縮部
108・・・固定長圧縮部
109・・・可変長圧縮部
110・・・圧縮データ
201・・・エントロピー削減処理部
202・・・量子化部
203・・・可変長符号化部
301・・・エントロピー削減処理部
302・・・量子化部
303・・・固定長符号化部
401・・・可変長符号化部
700・・・圧縮率設定部
701・・・固定長伸長部
702・・・可変長伸長部
703・・・可変長復号部
704・・・逆量子化部
705・・・逆エントロピー削減処理部
706・・・画像ブロック用バッファ
707・・・復号画像
708・・・ヘッダ分離部

Claims (10)

  1. 画像をブロック単位で所定の圧縮率を満たすように圧縮する装置であって、
    前記ブロック内の各画素の画素値と前記ブロック内で各画素に隣接する画素の画素値から求められた予測値との予測残差を求める予測部と、
    前記ブロック内の複数の領域のそれぞれに対する可変長符号化テーブルを用いて、各画素の前記予測残差を可変長符号化して圧縮データを生成する可変長符号化部と、
    前記可変長符号化テーブルを指し示すインデックスを前記圧縮データに多重化する多重化部と、
    を備える画像圧縮装置。
  2. 前記複数の領域は第1領域と第2領域とを含み、前記第2領域は前記ブロックの左上端の画素を除く左端の画素列を含むことを特徴とする、請求項1に記載の画像圧縮装置。
  3. 前記可変長符号化部は、
    前記所定の圧縮率が基準より低い場合には、Nビットで表現可能な値の第1インデックスによって指し示される第1可変長符号化テーブルを用いて前記第1領域の可変長符号化を行うとともに、前記第1インデックスに所定の値を加算した第2インデックスによって指し示される第2可変長符号化テーブルを前記第2領域の可変長符号化を行い、
    前記所定の圧縮率が基準より高い場合には、N−Mビットで表現可能な値の第1インデックスによって指し示される第1可変長符号化テーブルを用いて前記第1領域の可変長符号化を行うとともに、前記第1インデックスとの差分値がMビットで表現可能な値である第2インデックスによって指し示される第2可変長符号化テーブルを前記第2領域の可変長符号化を行い、
    前記多重化部は、前記所定の圧縮率が基準より低い場合には前記第1インデックスをNビットのデータとして多重化し、前記所定の圧縮率が基準より高い場合には前記第1インデックスをN−Mビットのデータとして多重化するとともに前記第1インデックスと前記第2インデックスとの差分値をMビットのデータとして多重化する、
    ことを特徴とする請求項2に記載の画像圧縮装置。
  4. 前記可変長符号化テーブルにはゴロムライス符号が用いられていることを特徴とし、前記第1および第2インデックスはゴロムライス符号の固定長部分の長さを示す値であることを特徴とする請求項3に記載の画像圧縮装置。
  5. 前記第2領域は前記ブロックの上端の画素列をさらに含むことを特徴とする、請求項2に記載の画像圧縮装置。
  6. 画像がブロック単位で所定の圧縮率を満たすように圧縮された圧縮データを復号する装置であって、
    前記ブロック内の複数の領域のそれぞれに対する可変長符号化テーブルを指し示すインデックスを前記圧縮データから分離する分離部と、
    前記インデックスが指し示す可変長符号化テーブルに従って前記圧縮データを可変長復号して各画素の予測残差を求める可変長復号部と、
    各画素の予測残差と前記ブロック内の各画素の隣接画素の画素値とを用いて各画素の画素値を求める予測部と、
    を備える画像伸張装置。
  7. 前記複数の領域は第1領域と第2領域とを含み、前記第2領域は前記ブロックの左上端の画素を除く左端の画素列を含むことを特徴とする、請求項6に記載の画像伸張装置。
  8. 前記分離部は、
    前記所定の圧縮率が基準より低い場合には前記第1領域の可変長符号化テーブルを指し示すNビットの第1インデックスを分離し、
    前記所定の圧縮率が基準より高い場合にはN−Mビットの前記第1インデックス、および、前記第1インデックスと前記第2領域の可変長符号化テーブルを指し示す第2インデックスとのMビットで表される差分値を分離し、
    前記可変長復号部は、
    前記所定の圧縮率が基準より低い場合には、Nビットで表現可能な値の第1インデックスによって指し示される第1可変長符号化テーブルを用いて前記第1領域の可変長復号を行うとともに、前記第1インデックスに所定の値を加算した第2インデックスによって指し示される第2可変長復号化テーブルを前記第2領域の可変長復号を行い、
    前記所定の圧縮率が基準より高い場合には、N−Mビットで表現可能な値の第1インデックスによって指し示される第1可変長符号化テーブルを用いて前記第1領域の可変長復号を行うとともに、前記第1インデックスに前記差分値を加えた値である第2インデックスによって指し示される第2可変長復号化テーブルを前記第2領域の可変長復号を行う、
    ことを特徴とする請求項7に記載の画像伸張装置。
  9. 前記可変長符号化テーブルにはゴロムライス符号が用いられていることを特徴とし、前記第1および第2インデックスはゴロムライス符号の固定長部分の長さを示す値であることを特徴とする請求項8に記載の画像伸張装置。
  10. 前記第2領域は前記ブロックの上端の画素列をさらに含むことを特徴とする、請求項9に記載の画像伸張装置。
JP2009072883A 2009-03-24 2009-03-24 画像圧縮装置および画像伸張装置 Expired - Fee Related JP5221430B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009072883A JP5221430B2 (ja) 2009-03-24 2009-03-24 画像圧縮装置および画像伸張装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009072883A JP5221430B2 (ja) 2009-03-24 2009-03-24 画像圧縮装置および画像伸張装置

Publications (2)

Publication Number Publication Date
JP2010226532A true JP2010226532A (ja) 2010-10-07
JP5221430B2 JP5221430B2 (ja) 2013-06-26

Family

ID=43043219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009072883A Expired - Fee Related JP5221430B2 (ja) 2009-03-24 2009-03-24 画像圧縮装置および画像伸張装置

Country Status (1)

Country Link
JP (1) JP5221430B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013070321A (ja) * 2011-09-26 2013-04-18 Toshiba Corp 画像圧縮装置及び画像処理システム
JP2014200112A (ja) * 2014-07-25 2014-10-23 株式会社東芝 符号化装置、及び方法
JP2017168985A (ja) * 2016-03-15 2017-09-21 株式会社東芝 符号化装置および符号化方法
CN107197286A (zh) * 2017-05-15 2017-09-22 华中科技大学 一种基于可逆变长码的图像无损压缩方法和系统
RU2653270C2 (ru) * 2013-12-10 2018-05-07 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
WO2018131468A1 (ja) * 2017-01-11 2018-07-19 富士通株式会社 情報処理装置、情報処理方法、及びプログラム
US10834412B2 (en) 2013-12-10 2020-11-10 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001298623A (ja) * 2000-04-14 2001-10-26 Canon Inc 符号化装置及びその方法
JP2006166344A (ja) * 2004-12-10 2006-06-22 Toshiba Corp 可変長符号化デコーダおよびデコード方法
JP2007504760A (ja) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001298623A (ja) * 2000-04-14 2001-10-26 Canon Inc 符号化装置及びその方法
JP2007504760A (ja) * 2003-09-07 2007-03-01 マイクロソフト コーポレーション インターレース・ビデオおよびプログレッシブ・ビデオのマクロブロックおよび動き情報の符号化および復号における新機軸
JP2006166344A (ja) * 2004-12-10 2006-06-22 Toshiba Corp 可変長符号化デコーダおよびデコード方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013070321A (ja) * 2011-09-26 2013-04-18 Toshiba Corp 画像圧縮装置及び画像処理システム
US8873876B2 (en) 2011-09-26 2014-10-28 Kabushiki Kaisha Toshiba Image encoder and image processing system
RU2653270C2 (ru) * 2013-12-10 2018-05-07 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
RU2679566C1 (ru) * 2013-12-10 2019-02-11 Кэнон Кабусики Кайся Улучшенный палитровый режим в hevc
US10419774B2 (en) 2013-12-10 2019-09-17 Canon Kabushiki Kaisha Palette mode in HEVC
US10834412B2 (en) 2013-12-10 2020-11-10 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding blocks of pixel
JP2014200112A (ja) * 2014-07-25 2014-10-23 株式会社東芝 符号化装置、及び方法
JP2017168985A (ja) * 2016-03-15 2017-09-21 株式会社東芝 符号化装置および符号化方法
WO2018131468A1 (ja) * 2017-01-11 2018-07-19 富士通株式会社 情報処理装置、情報処理方法、及びプログラム
US10644720B2 (en) 2017-01-11 2020-05-05 Fujitsu Limited Information processing apparatus and information processing method
CN107197286A (zh) * 2017-05-15 2017-09-22 华中科技大学 一种基于可逆变长码的图像无损压缩方法和系统

Also Published As

Publication number Publication date
JP5221430B2 (ja) 2013-06-26

Similar Documents

Publication Publication Date Title
US11671599B2 (en) Data encoding and decoding
CN109889835B (zh) 根据重要系数的参数的重要系数编码和解码
US10893273B2 (en) Data encoding and decoding
US8867614B2 (en) Image coding method and image decoding method
JP4927888B2 (ja) ゴロム・ライスを使用する無損失フレーム内符号化
US8254708B2 (en) Encoding device, encoding method, recording medium, and image processing apparatus
JP6063935B2 (ja) 変換を用いたビデオの符号化および復号
JP4540585B2 (ja) 符号化装置及び復号化装置
JP5221430B2 (ja) 画像圧縮装置および画像伸張装置
US9131249B2 (en) Apparatus for encoding moving images to minimize an amount of generated code
US20040136457A1 (en) Method and system for supercompression of compressed digital video
EP2150061A1 (en) Video encoding device, video encoding method, and video encoding program
US8275208B2 (en) Method and apparatus for encoding and decoding image using image separation based on bit location
JP5983704B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2009055623A (ja) ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法
JP2009081860A (ja) 損失の無い方法でディジタル画像を符号化するための装置および方法
WO2012017945A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
KR101710619B1 (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
CN110708547A (zh) 针对变换模式的有效熵编码组分组方法
WO2017104010A1 (ja) 動画像符号化装置および動画像符号化方法
JP2010288070A (ja) 画像符号化装置
JP2022548685A (ja) 画像データの符号化及び復号化
JP5819754B2 (ja) 画像符号化装置
Hoffman et al. An efficient software implementation of the CAVLC encoder for H. 264/AVC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110922

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110922

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130307

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

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees