JP2007527651A - Jpeg2000圧縮画像トランスコーディング方法 - Google Patents
Jpeg2000圧縮画像トランスコーディング方法 Download PDFInfo
- Publication number
- JP2007527651A JP2007527651A JP2006518774A JP2006518774A JP2007527651A JP 2007527651 A JP2007527651 A JP 2007527651A JP 2006518774 A JP2006518774 A JP 2006518774A JP 2006518774 A JP2006518774 A JP 2006518774A JP 2007527651 A JP2007527651 A JP 2007527651A
- Authority
- JP
- Japan
- Prior art keywords
- compressed
- bitstream
- resolution
- code block
- coding
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000005457 optimization Methods 0.000 claims abstract description 12
- 230000000007 visual effect Effects 0.000 claims description 30
- 238000013075 data extraction Methods 0.000 claims 1
- 230000006837 decompression Effects 0.000 abstract 1
- 238000007906 compression Methods 0.000 description 15
- 230000006835 compression Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000013139 quantization Methods 0.000 description 8
- 238000000354 decomposition reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/187—Methods 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 a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
JPEG2000圧縮画像をより低ビットレート、より低解像度又はその双方へとトランスコードするに当たり、当該JPEG2000圧縮画像を伸長しより低いビットレート乃至解像度へと再圧縮する必要をなくす。伸長及び再圧縮に代えて、ビットレート所望値に最も近くビットレート所望値より高いビットレートに係るレイヤのみに対して、解像度所望値を上回るまで算術デコードを実行する。その上でレートディストーション最適化を実行することにより、当該画像をトランスコードする。
Description
本発明は画像圧縮の分野に関し、特にJPEG2000圧縮画像のトランスコーディングに関する。
ISO(International Standards Organization)は、2000年12月に新しい画像圧縮規格、即ちJPEG2000画像圧縮規格と称する規格を採択した(その内容については非特許文献1を参照のこと)。JPEG2000規格はEBCOTアルゴリズム(Taubmanによる非特許文献2を参照のこと)を基礎とし、従前のJPEG規格からパラダイムシフトした規格である。PDAや携帯電話等のデバイスの爆発的普及という状況下でJPEG2000規格に対し期待されているのは、高解像度圧縮画像を画像サーバに蓄積しておき様々なクライアントがこれにアクセスできるようにすること、またその際に要求次第で様々な解像度や画質の画像が得られるようにすることである。JPEG2000規格には、これに関する基本的特徴として次のような特徴がある。即ち、JPEG2000ビットストリームをパーシング(構造解析)すれば、逆量子化及び再量子化なしで(場合によっては算術デコードすらなしで)、より低解像度な画像やより低画質な画像を抽出することができる。
また、JPEG2000圧縮画像を別のJPEG2000圧縮画像に変換すること(通常はビットレート、解像度又はその双方がより低い画像へと変換すること)を指して、トランスコーディングと呼ぶ。基本的乃至初歩的トランスコード機能を備えており商業的に入手できるソフトウェアとしては、現在のところ、David Taubmanにより開発されたKakadu softwareがあるが(非特許文献3を参照のこと)、このKakadu softwareに組み込まれているトランスコーダの性能はときとして非常に貧弱になる。即ち、JPEG2000ビットストリームは画質に関わるレイヤを一般に複数個有しており、レイヤ数が多いほどその圧縮画像の画質が良好になるのであるが、Kakaduトランスコーダは、既存のJPEG2000ビットストリームを最寄りのレイヤ境界から遠く離れたビットレートへとトランスコードすることを非常に苦手としている。そのため、Joshi及びDeeverは、本願出願人が特許を受ける権利を譲り受けた係属中の2002年3月3日付米国特許出願第10/108151号「レートディストーション情報の生成及びエンコードによる圧縮ディジタル画像最適トランスコーディングの実現」(Producing and Encoding Rate-distortion Information Allowing Optimal Transcoding of Compressed Digital Image)において、最適トランスコーディングを実現する方法を提案しているが、このトランスコーディング方法にもなお問題点がある。即ち、この方法によるトランスコーディングを行うには、JPEG2000エンコーダを用いて最初に生成するJPEG2000圧縮画像内に、レートディストーション情報を保存しなければならない。
しかしながら、実際に必要なJPEG2000圧縮画像トランスコーディング方法は、レートディストーション情報の保存が不要な方法である。更に、JPEG2000圧縮画像トランスコーディングにより得られた低ビットレート画像の画質が、低ビットレートへと直接圧縮されたJPEG2000画像の画質にできるだけ近い画質となるようにすることが、望まれている。
"Information Technology - JPEG2000 Image Coding System, ISO/IEC International Standard 15444-1, ITU Recommendation T.800"
David Taubman, "High performance scalable compression with EBCOT", IEEE Transactions on Image Processing, 9(7), pp.1158-1170, July 2000
David Taubman, "Kakadu software", [online] Internet URL http://www.kakadusoftware.com
"ISO/IEC FCD 15444-9.2: Information technology - JPEG 2000 image coding system - Part 9: Interactivity tools, APIs and protocols", December 2003
P. W. Jones, S. Daly, R. S. Gaborski, and M. Rabbani, "Comparative study of wavelet and DCT decomposition with equivalent quantization and encoding strategies for medical images", Proc. SPIE Medical Imaging'95, vol.2431, pp.571-582
即ち、本発明において目的としているのは、そのビットレート、低解像度又はその双方がより低くなるよう、JPEG2000圧縮ビットストリームをトランスコードできる方法を提供することである。
本発明は、上述した問題点のうち何個かを克服することを目的としている。概括すると、本発明の一実施形態に係るJPEG2000圧縮画像トランスコーディング方法は、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのレイヤに集積編成されているJPEG2000圧縮画像を、対象とする方法である。本方法は、より詳細には、
(a)JPEG2000圧縮画像をパーシングしてヘッダ情報及びパケットを抽出するステップと、
(b)解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
(c)ビットレート所望値へとトランスコードする際解像度所望値を上回る解像度を得る上でデコード必須なJPEG2000圧縮画像内レイヤ数を推定するステップと、
(d)ステップ(c)でデコード必須とされたレイヤから解像度所望値を上回る解像度範囲に属するパケットを抽出し、またそのパケットに影響するコードブロック毎に圧縮データを抽出するステップと、
(e)ステップ(d)にて抽出されたコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
(f)コードブロック別の圧縮コードブロックビットストリームを算術デコードして、各サブバンド係数の量子化器インデクスと、デコード済コーディングパス別の圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
(g)ステップ(f)にて生成された量子化器インデクス及びコーディングパス長テーブルから、各コードブロックについてレートディストーション操作テーブルを生成するステップと、
(h)ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、ステップ(g)にて生成されたレートディストーション操作テーブル、ビットレート所望値及び複数通りの視覚荷重所望値を利用して生成するステップと、
(i)ステップ(e)にて生成された圧縮コードブロックビットストリーム、ステップ(a)にて抽出されたヘッダ情報、並びにステップ(h)にて生成された含有コーディングパス情報から、JPEG2000ビットストリームトランスコード結果を生成するステップと、
を有する。
(a)JPEG2000圧縮画像をパーシングしてヘッダ情報及びパケットを抽出するステップと、
(b)解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
(c)ビットレート所望値へとトランスコードする際解像度所望値を上回る解像度を得る上でデコード必須なJPEG2000圧縮画像内レイヤ数を推定するステップと、
(d)ステップ(c)でデコード必須とされたレイヤから解像度所望値を上回る解像度範囲に属するパケットを抽出し、またそのパケットに影響するコードブロック毎に圧縮データを抽出するステップと、
(e)ステップ(d)にて抽出されたコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
(f)コードブロック別の圧縮コードブロックビットストリームを算術デコードして、各サブバンド係数の量子化器インデクスと、デコード済コーディングパス別の圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
(g)ステップ(f)にて生成された量子化器インデクス及びコーディングパス長テーブルから、各コードブロックについてレートディストーション操作テーブルを生成するステップと、
(h)ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、ステップ(g)にて生成されたレートディストーション操作テーブル、ビットレート所望値及び複数通りの視覚荷重所望値を利用して生成するステップと、
(i)ステップ(e)にて生成された圧縮コードブロックビットストリーム、ステップ(a)にて抽出されたヘッダ情報、並びにステップ(h)にて生成された含有コーディングパス情報から、JPEG2000ビットストリームトランスコード結果を生成するステップと、
を有する。
本発明の他の実施形態においては、レート制御機能を実現すべく、ステップ(c)にて使用されるビットレート所望値及びステップ(f)にて生成されるコーディングパス長テーブルを用い、ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、コードブロック毎に生成する。含有コーディングパス情報を生成した後は、ステップ(e)にて生成された圧縮コードブロックビットストリーム、ステップ(a)にて抽出されたヘッダ情報、並びに生成した含有コーディングパス情報から、JPEG2000ビットストリームトランスコード結果を生成する。本実施形態においては、コーディングパスをビットストリームトランスコード結果に含めるかどうかの判別がディストーションとは無関係であるため、レートディストーション操作テーブルを生成する必要がない。
本発明により提供され、JPEG2000圧縮画像をそのビットレート、解像度又はその双方がより低くなるようトランスコードする方法によれば、元々のJPEG2000圧縮画像を伸長してそのビットレート、解像度又はその双方がより低くなるよう再圧縮する必要がなくなる。また、算術デコードを実行する必要があるが、それは、レートディストーション最適化による画像トランスコード結果の生成に先立って、ビットレート所望値に最も近くビットレート所望値より高いビットレートに係るレイヤに関してのみ実行すれば足りる。
本発明には、更に、トランスコーディング後における画質が、低ビットレート、低解像度又は低ビットレート且つ低解像度へと直にJPEG2000圧縮して得られる画質に非常に近い、という利点がある。
本発明には、更に、最初に画像を圧縮してJPEG2000ビットストリームを生成する際に使用されたであろう視覚荷重値とは違う一組の視覚荷重値を、トランスコードの際に適用できる、という利点がある。
以下、本発明の好適な実施形態に関し別紙図面を参照しつつ説明する。本発明の実施形態、目的、特徴、利点等といった事項は、上に説明したものもそれ以外のものも含め、以下の説明及び特許請求の範囲の記載を図面と併せ参照することによって、より明瞭に理解されることとなろう。
本発明はディジタル画像の圧縮に関する。本件技術分野では様々なディジタル画像圧縮技術が知られているが、ここでは、JPEG2000画像圧縮規格に規定されている手法に従って、また本発明に係るアルゴリズムの構成要素となる部分や当該アルゴリズムと直接協働する部分に重点をおきつつ、本発明について説明を行うこととする。本願において仔細に図示乃至説明していない部分については、非特許文献1等、本件技術分野において知られている文献の記載に従い、様々に選択設定することができる。また、以下の説明にある通り、本発明は通常通りソフトウェアプログラムにより実施するのが望ましいが、本件技術分野における習熟者(いわゆる当業者)であれば直ちに認識できる通り、当該ソフトウェアプログラムと均等乃至等価な機能をハードウェアによって構築することも可能である。また、以下の欄に記述されているシステム及び方法論を参照しさえすれば、本発明の実施に必要なソフトウェア製品を作成することは、いわゆる当業者の力量の範囲内であり簡便になし得るところであろう。そして、本発明をコンピュータプログラムとして実施する場合にその保存先・格納先とする媒体は、コンピュータプログラムを保存・格納するのに使用できる各種の物理装置乃至媒体である限り、従来からあるどのようなコンピュータ可読媒体とすることもできる。その例としては、磁気記録媒体、光記録媒体、固体電子記録デバイス等があり、磁気記録媒体の例としては磁気ディスク(フロッピー(登録商標)ディスクやハードディスクドライブ)、磁気テープ等があり、光記録媒体の例としては光ディスク、光テープ、マシン可読バーコード等があり、固体電子記録デバイスとしてはランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)等がある。
最初に、JPEG2000圧縮アルゴリズムの概略及びJPEG2000圧縮ビットストリームのシンタクスについて、手短にまとめて説明する。より詳細な説明が必要であれば上掲の非特許文献1を参照されたい。図1に、JPEG2000エンコーダ10及びJPEG2000デコーダ12の概略ブロック構成を示す。JPEG2000エンコーダ内にある離散ウェーブレット変換(DWT)ユニット14は、入力画像をサブバンド群に分解する。JPEG2000規格に従い入力画像が複数個の方形タイルに分割されている場合は、このDWTは画像タイル毎に実行される。均一不感帯量子化器16は、サブバンド毎のウェーブレット係数群即ちサブバンド係数群を量子化する。量子化されたこのウェーブレット係数群は、プレシンクトの集まりであると同時にコードブロックの集まりでもある。エントロピエンコーダ18は、各コードブロックを互いに独立にエンコードすることにより、コードブロック別の圧縮ビットストリームを生成する。パケット生成ビットストリーム構築ユニット20は、こうした圧縮コードブロックデータを複数個のレイヤに分割し、別々のコードブロックから同じレイヤのデータを集めてパケットを生成し、更にそのパケットの圧縮ビットストリーム内登場順を指定する。JPEG2000デコーダ12内のビットストリームパーサユニット22は、ヘッダ情報を読み取ってパケットを抽出し、更にパケットヘッダをデコードしてコードブロック別圧縮データを全て連結する。エントロピデコーダ24は、この圧縮データをデコードして各ウェーブレット係数毎に量子化器インデクスを導出する。逆量子化ユニット26は、各量子化器インデクスから対応するウェーブレット係数を再構成する。逆DWTユニット28は、再構成されたウェーブレット係数を逆DWTして画像を再構成する。
JPEG2000においては、二次元DWTを用い入力画像をサブバンド群に変換する。図2に、レベル3二次元DWTによって得られるサブバンド群をサブラベル毎のラベルと共に示す。この図においては各サブバンドにkHL等の形式でラベルが付されている。例えばラベルkHLの意味するところは、“分解レベルkでのDWT時にまず水平ハイパスフィルタHを行に適用しそれを終えたら垂直ローパスフィルタLを列に適用する”というものである。なお、便宜上、原画像又は原画像タイルはサブバンド0LLと称される。
DWT分解結果からは、その性質上、画像を複数通りの解像度で再構成できる。即ち、分解レベルがNLなら、合計でNL+1レベルある解像度の何れでも画像を再構成することができる。これら画像再構成可能解像度レベルのうち最も低い解像度レベルは解像度レベル0と称され、解像度レベル0の画像はサブバンドNLLLのみで構成される。例えば、図2に示した3レベル分解例にて解像度レベル0に相当するサブバンドは、3LLサブバンドである。また、一般に、解像度レベルrの画像(r>0)を再構成するには、解像度レベルrに属するサブバンド群を解像度レベルr−1の画像に結合させる必要がある。解像度レベルrに属するサブバンド群とは、サブバンド(NL−r+1)HL、(NL−r+1)LH及び(NL−r+1)HHのことである。エンコーダにおいてサブバンド群を互いに独立にエンコードしてあるのは、コードストリームのうちその解像度レベル以下の解像度に係るサブバンドを含む部分を単純にデコードするのみで、画像をどのような解像度レベルでも再構成できるようにするためである。例えば、図2に示す例にて画像を解像度レベル2で再構成するには、解像度レベル1の画像に3個のサブバンド2HL、2LH及び2HHを結合させればよい。
均一不感帯スカラ量子化器16により各ウェーブレット係数を量子化して得られるのは、サインマグニチュード方式によって表された量子化係数インデクスである。図3に、そのこの量子化器の量子化器ステップサイズがΔであるとして、複数通りの判別しきい値30及び複数通りの再構成レベル32を示す。JPEG2000規格においては、同一サブバンドに属する係数全てに対して単一の量子化器ステップサイズを使用するよう規定されているが、量子化器ステップサイズをサブバンド毎に変えることは認められている。第bサブバンドのステップサイズはΔbと表す。また、不感帯とは、0を中心としてその前後に広がり、他の量子化器ビンよりも広い量子化器ビンのことである。JPEG2000規格のパート1では、不感帯の広さをステップサイズの2倍とするよう規定している。これは、その埋め込み構造を最適化するためである。埋め込み構造の最適性とは、簡単にいえば、そのステップサイズがΔbの量子化器から、最上位ビット(MSB)から最下位ビット(LSB)へという順で送られてくるMbビットのインデクスのうち、Nbビットのみをデコードしたとき得られるインデクスが、同様の構成であるが但しそのステップサイズが
の量子化器を用いて得られるインデクスと同一になる、という特性のことである。この特性は、信号対雑音比(SNR)拡張性の実現につながるものである。理想的なSNR拡張性が実現されれば、デコーダによるコードストリームのデコードを任意の打ち切り点で中止した場合でも、そのコードストリームにエンコードされている画像と厳密に同一の画像を、打ち切り時点までのデコード結果から再構成することができる。また、その際に再構成される画像のビットレートは、コードストリームのうち打ち切り点までの部分に相当するビットレートとなる。
量子化されたサブバンド係数群は、コードブロックに分割されている。コードブロックとは、ウェーブレット係数群により構成されたタイルと見なせるものであり、エントロピエンコーダ18は、量子化ウェーブレット係数をコードブロック毎に別々に(コードブロック間に依存性が生じないよう)エンコードする。JPEG2000におけるエントロピエンコーダはMQ算術エンコーダであり、サインマグニチュード方式で表されている各コードブロック係数群をビットプレーン群にエンコードする。例えば、第bサブバンド内の処理対象コードブロックに属し、そのステップサイズがΔbである前述の均一不感帯スカラ量子化器によって量子化された標本群を考える。また、第bサブバンド内量子化係数インデクスの大きさがMbビットという固定桁数で表され、MSBにはインデクス1、LSBにはインデクスMb、というように各ビットに1、2、…Mbなるインデクスが割り振られているとする。こうしたコードブロックの第kビットプレーンはそのコードブロック内の量子化係数インデクス全てから、その第kビットを集めたものである。また、エントロピエンコードにおいては、あるコードブロックのあるビットプレーンがある条件を満たすとき、そのビットプレーンは“シグニフィカント”(有意)である、という。シグニフィカントである、というには、そのビットプレーンが非ゼロ値ビットを少なくとも1個有しているか、そのビットプレーンに先行する何れかのビットレーンがシグニフィカントでなければならない。コードブロックを構成するビットプレーンのうち最初の何個かがシグニフィカントでない場合はそのことを示す信号が別途生成されることとなるが、一般論としては、最上位ビットプレーンが非ゼロ値ビットを少なくとも1個有している場合、MQエンコーダが、クリーンアップパスと称するある単一の信号コーディングパスを用いて当該最上位ビットプレーンをエンコードする。MQエンコーダは、残りのビットプレーンを三通りのコーディングパスを用いてエンコードする。即ち、シグニフィカンスパス、リファインメントパス及びクリーンアップパスである。従って、量子化コードブロック係数の大きさから見てシグニフィカントなビットプレーンがMb個ある場合、全ビットプレーンをエンコードするのに必要なコーディングパスの合計数は3×(Mb−1)+1になる。
JPEG2000における圧縮ビットストリームの構造的柔軟性はかなりのものである。この柔軟性の一部は、画像データを分割する各種の構造、即ち成分色、タイル、サブバンド、解像度レベル及びコードブロックにより実現されている。即ち、1)成分色によって色チャネル群に、2)タイルによって空間領域群に、3)サブバンド及び解像度レベルによって周波数領域群に、そして4)コードブロックによって空間周波数領域群に、それぞれ分割されている。JPEG2000においては、更に、プレシンクトと称する中間空間周波数構造も形成される。プレシンクトとは、同一解像度レベルに属するあらゆるサブバンドから、空間的に隣り合うコードブロック群を寄せ集めたものである。図4に、3レベル分解された768×512サイズの画像におけるプレシンクト割りを示す。図中、コードブロック境界40はコードブロック同士の境目、プレシンクト境界42はプレシンクト同士の境目である。ハイライトされているプレシンクトは、大略、解像度レベル0〜3の何れに属しているかによらず、原画像中の同じ256×256領域に対応している。
JPEG2000におけるコードブロック別圧縮データは、こうした構造に加えてパケットやレイヤと称する単位による構造も有している。まず、各プレシンクトにおいては、そのプレシンクト内のコードブロック別圧縮データから何個かのパケットが構成される。パケットは圧縮コードストリーム内で連続しているセグメントを単純に集めたものであり、そのプレシンクト内でコードブロック毎にビットプレーンと同個数のコーディングパスから構成されている。コーディングパスの個数はコードブロック毎に異なる個数になり得、またコーディングパスの個数が0個のコードブロックもあり得る。レイヤは、同一タイル内のあらゆる解像度レベルにあるプレシンクトからパケットを取り出して相互に結合させることにより、形成される。
各コードブロックを構成するビットはそのコードブロックに係る圧縮ビットストリーム内で何個かのレイヤに分布している。各レイヤに係る圧縮データには、同一タイルに属するあらゆるサブバンド内のあらゆるコードブロックや、同一タイル内のあらゆる成分色が、影響している。各レイヤには各コードブロック毎に相連なった何個か(0個の場合もある)のコーディングパスが含まれている。各レイヤは画質の増分を表している。特定のレイヤ内に含まれるコーディングパスの個数はコードブロック毎に違う個数になり得、後に説明する構成における当該個数は、通常、エンコーダが実行する圧縮後レートディストーション最適化処理によって決まる。
その所属先タイル、成分色、解像度レベル、レイヤ及びプレシンクトが同じ圧縮データは1個のパケット内に集まる。同一パケット内の圧縮データはコードストリーム内で途切れなくつながっていたものでなければならない。単一プレシンクト内に複数個のサブバンドからのデータが含まれている場合はそれらサブバンドの登場順はHL、LH、HHの順となる。各サブバンド内におけるコードブロックの影響はラスタ順に現れる。図4に示す例においては、同じプレシンクトに属する各コードブロックに対し、それぞれ、パケット内登場順序、即ちそのコードブロック内のエンコード済データがある1個のパケット内で登場する順序を示す番号が、付されている。各パケットの始まりにはパケットヘッダが付される。パケットヘッダは、そのパケット内のコーディングパス個数をコードブロック毎に表した情報を含むほか、各コードブロックに係る圧縮データの長さについての情報も含んでいる。パケットヘッダの第1ビットは、そのパケットがデータを含んでいるのかそれとも空なのかを表している。パケットが空でなければ、そのパケット内のコードブロック毎に信号としてコードブロック包含情報が生成される。コードブロック包含情報は、そのパケット内にコードブロックの圧縮データが含まれているかどうかを示している。コードブロックデータを含むパケットを初めて送るときは、最上位ビットプレーンから数えて何個目のビットプレーンまでが完全に0のビットプレーンであったかを示す信号がセットされる。その後は、そのコードブロックにおけるコーディングパス個数及び対応する圧縮データの長さを示す信号がセットされる。ビットプレーン群の算術エンコードを第1層(tier-1)コーディングと呼ばれるのに対し、こうした圧縮データからのパケット生成及びパケットヘッダ情報のエンコードは第2層(tier-2)コーディングと呼ばれる。
JPEG2000ビットストリームの概略構成は次の通りである。まず、JPEG2000ビットストリームは、メインヘッダ及びこれに続く一連のタイルストリームから構成される。メインヘッダはビットストリーム全体の伸長に必要なグローバル情報、例えば画像サイズ、タイルサイズ、成分(色)個数、分解レベル個数、レイヤ個数、量子化器ステップサイズ等についての情報から構成される。各タイルストリームは、タイルヘッダ及びそのタイルに属するパケット群から構成される。先に述べたように、各パケットはパケットヘッダ及び圧縮コードブロックデータから構成される。
レート制御とは、狙ったファイルサイズ(ビットレート)を有する最適な画像を生成するプロセスのことをいう。最適であるかどうかやその度合いを判別するための条件としては、例えば、原画像と再構成画像との間の平均自乗誤差(MSE)、見た目の歪み等の測度に基づくものが用いられる。JPEG2000においては、埋め込みブロックコード方式を採用しておりまたそのコードストリームシンタクスが柔軟性に富んでいるため、レートディストーション(R−D)の面で最適化されたコードストリームを所望のファイルサイズで生成することができる。非特許文献2においてTaubmanが提案しているEBCOT圧縮アルゴリズム用レート制御効率化手法は、1回の実行(繰り返し)で所望のビットレートを実現できまたレートディストーションを最小限に抑えることができるものである。何点かの変更を施せば、JPEG2000エンコーダにおいてもこの手法を用いることができるであろう。
大筋では、まず、非常に小さなステップサイズを用いて各サブバンドを量子化し、その結果得られたコードブロック群のビットプレーン群をエントロピエンコードする。このようにすれば、通常は、目的とするビットストリーム内に含まれることとなる個数より多数のコーディングパスが、コードブロック毎に生成される。このときアルゴリズムが発生させるR−Dの量は、量子化器ステップサイズを十分小さくしてあるためステップサイズの初期値とは無関係になる。エントロピエンコードの次は、ラグランジアンR−D最適化を実行することによって、目的としているビットレートを得るため各コードブロックから最終的な圧縮ビットストリームに取り込むべきコーディングパス個数を決める。レイヤを複数個にしたい場合は、レイヤの最後に至ったら別のレイヤに移るというようにこのプロセスを繰り返し実行することによって、次のレイヤに含める必要がある追加のコーディングパスの個数をコードブロック毎に決めればよい。
ラグランジアンR−D最適化は次のような機序で動作する。まず、各コードブロックから生成された圧縮ビットストリームには、各コーディングパスの端点にて生じ得る打ち切り点候補が、多数含まれている。第bサブバンド内のコードブロックに含まれているウェーブレット係数群は、まずステップサイズΔbで量子化され、それによって各係数毎にMbビットの量子化器インデクスが生成される。このコードブロックビットストリームを打ち切り、ある特定のウェーブレット係数についてNbビットのみをデコードした場合、その係数についての量子化器ステップサイズは実質的に
となる。この量子化器実質ステップサイズは、圧縮ビットストリーム内に含めるビットプレーンの個数を増やしていくにつれ2の冪乗で狭まっていく。ビットストリームへのコーディングパス追加によるビットレート上昇幅及びディストーション減少量は、コードブロック毎且つ追加コーディングパス毎に計算され、レートディストーション操作テーブルと称するテーブル内に保存される。ディストーション測度としてはMSEや視覚加重MSEを使用するのが普通であろうが、コードブロック群全体に亘り加法的なものであれば、他のどのような一般的指標でも用い得る。ビットストリーム内のコーディングパスが増えるとビットレートは上昇しディストーションは減少する。画像全体でのコードブロック総数をPとし、画像内のコードブロックをBi(1≦i≦P)で表すこととすると、コードブロックBi内で打ち切り点tを与えたときそれに対応するディストーション量Di tは、加重MSEを測度として用いた場合、
と表せる。この式中、u,vは順にそのコードブロックBi内におけるウェーブレット係数の行,列インデクス、xi[u,v]は元々のウェーブレット係数の値、xi t[u,v]は打ち切り点tで打ち切られた量子化係数の値、wi[u,v]は係数xi[u,v]に課す荷重、そしてαbはサブバンドbに対応する基本合成関数のL2ノルムである。量子化雑音についてのある種の仮定が成り立っていれば、このディストーション量はコードブロック群全体に亘り加法的になる。打ち切り点tが与えられていれば、そのコードブロックBiに係る圧縮ビットストリームのサイズ、即ちレートRi tを決定できる。
圧縮ビットストリームの合計ビット数の上限としてRバイトという値が与えられている場合、EBCOTアルゴリズムによりレート制御を行うことによって、ディストーション総量Dが最小になるような打ち切り点をコードブロック毎に見つけ出すことができる。それは、全コードブロックに対して最適にビット数を割り当てることと等価である。各コードブロックBiに割り当てる最適なビット数Ri *(1≦i≦P)については、次の式
が成り立つ。JPEG2000に関する文献においては、こうしたレート制御アルゴリズムのことを圧縮後R−D最適化とも呼んでいる。荷重wi[u,v]が何れのサブバンド係数についても1に設定されている場合は、ディストーション量の測度として上述した加重MSEは単なる平均自乗誤差となる。
本願にて主題としているのは、既存のJPEG2000画像をそのビットレート、解像度又はその双方が低い別のJPEG2000画像へとトランスコードすることである。先に述べたアルゴリズムによりレート制御を最適に実行するためには、コードブロック別レートディストーション操作テーブル内の知識を利用する必要があるが、もはや原画像にアクセスできないのであるから、それらの知識のうちディストーションに関する情報は永久的に失われてしまっている。レートに関する情報は、それにはパケットをデコードし圧縮コードブロック内のコーディングパスをMQデコードする必要がある。本発明にて克服しているのはこうした問題点である。以下、本発明の好適な実施形態について図面を参照しながら詳細に説明する。先に注記した通り、本発明は、既存のJPEG2000画像をそのビットレート、解像度又はその双方がより低いものへとトランスコードする方法を提供するものであり、以下の欄ではその好適な実施形態を説明することとするが、ご理解頂けるようにこれは本発明を当該実施形態に限定する意図によるものではなく、むしろ、別紙特許請求の範囲にて定義されている本発明の神髄及び技術的範囲に包含されるものである限りそうした実施形態のあらゆる代替物、変形物及び均等物をカバーしよう、という意図を有している。
図5に、本発明に係る画像トランスコーダのフローチャートを示す。JPEG2000圧縮画像101は、JPEG2000ビットストリームパーシングユニット102によりパーシングされる。JPEG2000ビットストリームパーシングユニット102は、各種JPEG2000マーカセグメント内のヘッダ情報103を抽出し、解像度レベル別にパケット104を分離する。解像度別レイヤ別バイト数カウンタ105は、解像度レベル所望値106についてのレイヤ別バイト数テーブル108を生成する。JPEG2000圧縮画像がL個のレイヤから構成されており、各レイヤに0、1、…L−1という番号が付されており、そして解像度レベル所望値がuであるとすると、レイヤ別バイト数テーブル108へのエントリのうちレイヤxに対応するエントリは、レイヤ0、1、…xに属し且つ解像度レベル0、1、…uに属している全てのパケットのサイズを累積加算したものとなる。レイヤ推定器乃至レイヤ推定ユニット109は、画像トランスコード結果に対するビットレート所望値107、好ましくはトランスコード済画像の画像サイズ(単位:バイト)を入力し、ビットレート所望値107にて解像度レベル所望値以上の解像度レベルを実現するためデコードする必要があるレイヤの個数110を、レイヤ別バイト数テーブル108を利用して決定する。図6に、4通りの解像度レベル及び3個のレイヤを有するJPEG2000圧縮画像について、解像度レベル別にレイヤ別バイト数テーブルの例を示す。この表によれば、例えば解像度レベル所望値が2でありビットレート所望値が16384バイトである場合は、解像度レベル2を上回る解像度が得られるよう、レイヤ0及びレイヤ1をデコードしなければならない。
図5においては、パケットデコーダ111が、解像度レベル所望値を上回る解像度レベルを得る上でデコードすべきだとレイヤ数推定ユニットが判断したレイヤ(群)に対応するパケット(群)をデコードし、更にそのパケットに影響を及ぼしたコードブロック毎に圧縮コードブロックビットストリームを抽出する。連結ユニット112は、これらコードブロック別圧縮データを連結することによってコードブロック毎に圧縮コードブロックビットストリーム113を生成する。算術デコーダ114は、各圧縮コードブロックビットストリーム113を対象として算術デコードを実行することにより、量子化サブバンド係数インデクス115及びコーディングパス長テーブル116を生成する。レートディストーションテーブル推定ユニット117は、量子化係数インデクス115と、各デコード済コーディングパスに係る圧縮データ長の推定結果を含むコーディングパス長テーブル116とから、レートディストーション操作テーブル118を生成する。R−D最適化ユニット119は、レートディストーション操作テーブル118、ビットレート所望値107及び複数通りの視覚荷重所望値121を用いて圧縮後R−D最適化を実行することにより、ビットストリームトランスコード結果内に含まれるべきコーディングパス群を示す含有コーディングパス情報120を生成する。この圧縮後R−D最適化は、先に述べたJPEG2000エンコーダにより実行されるものと同じ処理である。視覚荷重所望値121は、圧縮後R−D最適化時における式(1)(数3)中のwi[u,v]の値を与えている。JPEG2000ビットストリーム生成ユニット122は、含有コーディングパス情報120、圧縮コードブロックビットストリーム113及びヘッダ情報103を用い、JPEG2000ビットストリームトランスコード結果123を生成する。
算術デコーダ114から出力されるのは量子化サブバンド係数インデクス115である。サブバンド係数を明確に再構成し逆DWTを実行することは、レートディストーション操作テーブル118を生成するのには不要であるため実行していない。これは、トランスコードプロセスで使用する量子化器ステップサイズを、量子化時に使用した基本量子化器ステップサイズと同じ広さにしてあるためである。即ち、あるウェーブレット係数に対する量子化器インデクスが23(二進表記で10111)であり、ステップサイズがΔbであり、その最下位3ビットが無視されているとする。この場合、再構成レベルを量子化中心において再構成すると、十進表記で23.5×8Δb、二進表記で(10111100b)Δbという係数が得られる。JPEG2000規格のパート1にて規定されているフィルタが完全再構成型(逆DWTに続き精度乃至桁数を限定せずDWTを実行しそれによって元々の係数と全く同じ係数を返すもの)であることからすれば、逆DWTを実行する必要はない。再構成された係数をステップサイズΔbで再量子化すると、二進表記で10111100bの量子化器インデクスが得られる。従って、再エンコードしたコードブロックデータについてレートディストーション操作テーブル118を推定すること、特にデコードされた最下位ビットより下位に量子化係数毎に二進数の1を付加した上で量子化係数インデクス115から直に推定することは、適切なことである。
いわゆる当業者であれば理解できるように、複数のレイヤを含むビットストリームトランスコード結果を得たい場合は、R−D最適化ステップ(119)を、所望のレイヤ1個毎に1回ずつ、合計複数回実行すればよい。いわゆる当業者であればこれも理解できるように、視覚加重が不要であれば視覚荷重値を1にセットすればよい。
ビットレート所望値107、解像度レベル所望値106及び視覚荷重所望値121は、例えばグラフィカルユーザインタフェース及びマウス等のポインティングデバイスを用いてトランスコーダと会話しながら、ユーザが指定するようにしてもよい。或いは、他の情報に基づきトランスコーダが自分自身でビットレート所望値、解像度レベル所望値及び視覚荷重所望値を判別乃至決定するようにしてもよい。例えば、インターネットやイーサネット(登録商標)等のネットワークを介してトランスコーダにビットレート所望値、解像度レベル所望値及び視覚荷重所望値を通知するようにしてもよい。クライアントサーバ型システムを構成するサーバ、特にJPEG2000画像をネットワークを介しクライアント群に提供するサーバの一部としてトランスコーダを構成するのであれば、サーバに対し任意の画像を要求する際にクライアントがビットレート所望値及び解像度レベル所望値を指定可能な構成とすることができる。その際には、非特許文献4に記載されているJPIPプロトコルを用いればよい。このクライアントはそのサーバに対して更に視覚荷重所望値も通知できる。その際には、JPIPにおけるクライアントキャパビリティ/プリファレンスリクエストフィールド群、例えば“vc”や“Contrast Sensitivity(csf)”等を用いればよい。或いは、クライアントキャパビリティ及びネットワークコンディションに関する知識を利用してサーバがビットレート所望値、解像度レベル所望値及び視覚荷重所望値を決定するようにしてもよい。
例えばカラーディスプレイ付携帯電話がクライアントなら、その携帯電話からのビットレート所望値、解像度レベル所望値及び視覚荷重所望値の事前登録は、次のようにして行うことができる。まず、解像度レベル所望値についてはディスプレイ解像度をJPIPの“fsiz”フィールドを用いてサーバに送り事前登録すればよい。ビットレート所望値については、代表的な何枚かの画像を用いた事前シミュレーションにより得られる平均ファイルサイズ、即ち現在のディスプレイ解像度にてそれらの画像を視覚的に良好な画質で表示させるのに必要な平均ファイルサイズに応じてビットレートを決定し、そのビットレートを例えばJPIPの“len”フィールドを用いてサーバに送り事前登録すればよい。同様に、そのディスプレイ解像度にて画像を表示させるための視覚荷重値は、ディスプレイ解像度、ディスプレイdpi値及び看取条件から決定することができる。当該看取条件は、Jones et al.が非特許文献5にて提案した人間視覚系二次元コントラスト感度関数モデルに基づくものとすればよい。
また、ここではサーバとクライアントとが別体のものであるとして説明を行ったが、いわゆる当業者であれば理解できるように、ある種のネットワークデバイスはクライアントとしてもサーバとしても機能する。例えば、何台かのクライアントとJPEG2000サーバとの間にある単一のネットワークデバイスが介在している場合、接続されている何台かのクライアントからの要求をJPEG2000サーバに送る一方JPEG2000サーバから圧縮データを受信して適切なクライアントに送るこのネットワークデバイスが、その種のデバイスに該当する。
上述したトランスコーディング方法が特に良好に機能するのは、トランスコード時に適用すべき適切な視覚荷重値がわかっているときや、視覚加重しないときである。しかし、JPEG2000エンコーダによる決定に従って、コードブロック間の視覚的重要度の違いを保持させるのが望ましい場合もある。例えば、JPEG2000規格仕様によれば同一サブバンドに属する2個のコードブロックの量子化は互いに同じ量子化器ステップサイズで行わねばならないが、それらのコードブロックのうち一方が視覚的にはより重要であると判定したエンコーダは、重要な方のコードブロックからより多くのコーディングパスを取り出してレイヤ0に入れるであろう。より具体的には、JPEG2000エンコーダが第1コードブロックから取り出してレイヤ0に入れるコーディングパスの個数が12個であるのに対し、第2コードブロックから取り出してレイヤ0に入れるコーディングパスの個数がたった4個である場合、これを、JPEG2000エンコーダが第1コードブロックに対して第2コードブロックより大きな視覚荷重値を割り当てている、と称する。こうした視覚荷重値は、しかしながら、トランスコーダでは復元できない。即ち、レイヤ0に含めたコーディングパス個数の違いを示しているのは視覚荷重値だけであるということを視覚荷重値自身が示しているというのに、トランスコーダは量子化器ステップサイズしか利用できない。従って、画像をより低いビットレートにトランスコードする際には、JPEG2000エンコーダが実行した視覚加重を模擬するのが望ましかろう。図7に、この目的を達成できる本発明の他の実施形態を示す。
JPEG2000ビットストリームパーシングユニット202は、JPEG2000圧縮画像201をパーシングし、各種JPEG2000マーカセグメントに含まれているヘッダ情報203を抽出し、そして解像度レベル毎にパケット204を分離する。解像度別レイヤ別バイト数カウンタ205は解像度レベル所望値206についてレイヤ別バイト数テーブル208を作成する。レイヤ別バイト数テーブル208に含める情報は先に述べた好適な実施形態におけるレイヤ別バイト数テーブル108内のそれと同じである。レイヤ推定ユニット209は、トランスコード済画像に対するビットレート所望値207を入力し、解像度レベル所望値を上回る解像度レベルをビットレート所望値207にて実現するためデコードする必要があるレイヤの個数210を、レイヤ別バイト数テーブル208を利用して決定する。パケットデコーダ211は、解像度レベル所望値を上回る解像度レベルとなるよう、レイヤ推定ユニットによりデコード必須レイヤ群とされたレイヤに対応するパケット群をデコードし、更にそのパケットに影響を与えたコードブロック毎に圧縮コードブロックビットストリームを抽出する。連結ユニット212は、これらコードブロック別圧縮データを連結することによってコードブロック毎に圧縮コードブロックビットストリーム213を生成する。算術デコーダ214は、各圧縮コードブロックビットストリーム213を算術デコードすることにより、コーディングパス長テーブル215を生成する。レートコントロールユニット216は、コーディングパス長テーブル215及びビットレート所望値207に基づき含有コーディングパス情報217を生成する。JPEG2000ビットストリーム生成ユニット218は、含有コーディングパス情報217、圧縮コードブロックビットストリーム213、並びにヘッダ情報203を用いてJPEG2000ビットストリームトランスコード結果219を生成する。
本実施形態と先に述べた好適な実施形態との間の主たる相違点は、本実施形態ではビットストリームトランスコード結果内にコーディングパスを含めるべきかどうかの決定が、ディストーションとは無関係なことである。そのためレートディストーション操作テーブルは作成せず、代わりにレートコントロールユニットが次の原理による処理を実行する。まず、レイヤ推定器ユニット209により決定されたデコード必須レイヤ数をwとすると、ビットストリームトランスコード結果内に含まれることとなるのは、レイヤ0、1、…w−2内の全コーディングパス、並びにレイヤw−1内に含まれるうちの何個かのコーディングパスであり、レイヤw以降のレイヤ内のコーディングパスはビットストリームトランスコード結果内には包含されない。レートコントロールユニットは、レイヤw−1内のコードブロックB内にあるNW-1 B個のコーディングパスのうち一部分を量子化してビットストリームトランスコード結果に含める試みを、コードブロック毎に実行する。次に、このレートコントロールユニット216についてより詳細に説明する。
図8に、レートコントロールユニット216の動作の流れを示す。レイヤw−2に対応する合計ビットレートをR(w-2)、レイヤw−1に対応する合計ビットレートをR(w-1)と表し、ビットレート所望値207をRdesiredと表すこととする。初期化ステップ301においては、RminにR(w-2)が、RmaxにR(w-1)が、fminに0が、そしてfmaxに1が、それぞれセットされる。次に、比較ステップ302においては(fmax−fmin)がしきい値と比較される。(fmax−fmin)がしきい値以下であれば、コーディングパス包含個数決定ステップ303にてコードブロック毎に、ビットストリームトランスコード結果に含めるべきレイヤw−1内コーディングパスの個数nW-1 Bが次の式
により計算され、その結果が含有コーディングパス情報217として出力される。逆に(fmax−fmin)がしきい値超であれば、更新ステップ304にてfmaxとfminとの平均計算によりfの値が更新される。レート決定ステップ305においては、各コードブロックBに
個のレイヤw−1内コーディングパスが圧縮ビットストリーム内に含まれている場合、合計レートR(f)が決定される。次に、前述のものとは別の比較ステップ306においては、合計レートR(f)がRdesiredと比較される。R(f)がRdesired未満なら前述のものとは別の更新ステップ307にてRminにR(f)がまたfminにfがそれぞれセットされ、そうでなければステップ308にてRmaxにR(f)がまたfmaxにfがそれぞれセットされる。何れの場合もこの制御手順はステップ302に戻る。本実施形態にてステップ302で使用するしきい値は例えば0.01とするが、いわゆる当業者であれば理解できるように、小さな数値であれば別の数値も選択できる。
いわゆる当業者であれば理解できるように、このようにして生成された含有コーディングパス情報を用いると、最終的に得られる合計ビットレートがビットレート所望値より低くなることがある。そうした場合は、各コードブロック内のコーディングパスを、まず1個から始めて追加していき、これ以上コーディングパスを追加したらビットレート所望値を上回ってしまう点を超えるまで、増やしていけばよい。コーディングパス追加先コードブロックは、好ましくは、より低い解像度レベルに属するコードブロックの方がより高い解像度レベルに属するコードブロックより先にコーディングパス追加対象となるよう、また解像度レベルが同じコードブロック同士ではその所属先プレシンクトのラスタ走査順でコーディングパス追加対象となるよう、そして同じプレシンクトに属するコードブロック同士では図4に示した順番でコーディングパス追加対象となるよう、順番を決めて選ぶとよい。
ある条件下では、算術デコーダ214を使用せずにコーディングパス長テーブル215を生成することができる。特に、そもそもJPEG2000圧縮ビットストリームを生成するときに、コーディングパスを1個エンコードするたびにMQエンコーダを再起動させるようにすれば、そのJPEG2000圧縮ビットストリーム内のパケットヘッダ群内に、そのコーディングパスに対応する圧縮データのサイズに関する情報が組み込まれることとなる。このような措置が執られていればそれらコーディングパスの算術デコード(214)は不要になり、パケットヘッダを読み取るのみでコーディングパス長テーブル215を十分に作成することができる。そのようにする際には、図7中有の算術デコーダ214に代えて別のパス長ユニット、例えばパケットヘッダリーダ(図示せず)を設ければよい。
以上説明した複数個の実施形態に対しては、別紙特許請求の範囲にて定義されている本発明の主題及び神髄から逸脱することなく、更なる変形乃至修正を施すことができる。そうした変形及び修正によって得られる構成は、本発明の技術的範囲に含まれるのであるから、本発明の一部として本願により開示されていると認められるものである。
Claims (25)
- 第1解像度からそれ以下の第2解像度へ且つ第1ビットレートからそれ以下の第2ビットレートへと圧縮画像をトランスコードする方法であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である方法において、
第2解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
第2ビットレートにて第2解像度を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから第2解像度を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結してコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第2ビットレートに基づき生成するステップと、
各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からビットストリームトランスコード結果を生成するステップと、
を有する方法。 - 請求項1記載の方法において、更に、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するステップを有し、このコーディングパス長テーブルを利用して上記含有コーディングパス情報を生成する方法。
- 請求項2記載の方法において、更に、上記コーディングパス長テーブル生成ステップが、圧縮コードブロックビットストリームを算術デコードしてコーディングパス長テーブルを生成するステップを含む方法。
- 請求項3記載の方法において、更に、上記算術デコードステップが、各サブバンド係数毎に量子化器インデクスを生成するステップを含み、上記方法が、コーディングパス長テーブル及び各量子化器インデクスから各コードブロックについてレートディストーション操作テーブルを生成するステップを有し、このレートディストーション操作テーブルを利用して含有コーディングパス情報を生成する方法。
- 請求項2記載の方法において、各パケットのパケットヘッダに含まれるそのパケットについてのコーディングパス長情報を利用してコーディングパス長テーブルを生成する方法。
- 請求項1記載の方法において、更に、上記圧縮画像をパーシングしてヘッダ情報を抽出するステップを有し、このヘッダ情報を併用してビットストリームトランスコード結果を生成する方法。
- 請求項1記載の方法において、上記圧縮画像がJPEG2000圧縮画像であり、上記ビットストリームトランスコード結果がJPEG2000ビットストリームトランスコード結果である方法。
- 請求項1記載の方法において、上記圧縮画像が、より大きな画像を構成するタイルのうち一つである方法。
- 請求項1記載の方法において、更に、第2解像度及び第2ビットレートのうち少なくとも一方についての入力を受け取るステップを有する方法。
- 請求項9記載の方法において、第2解像度及び第2ビットレートが、グラフィカルユーザインタフェースを介しユーザにより指定される方法。
- 請求項9記載の方法において、第2解像度所望値及び第2ビットレートのうち一方がデフォルト設定されており、他方を上記入力として受け取る方法。
- 請求項9記載の方法において、上記入力をネットワークを介して受け取る方法。
- 請求項9記載の方法において、更に、複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
- 請求項1記載の方法において、更に、複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
- 請求項1記載の方法において、更に、クライアントサーバ型ネットワークを構成するクライアント及びサーバのうち1個から第2解像度及び第2ビットレートのうち少なくとも一方についての入力を受け取るステップを有する方法。
- 請求項15記載の方法において、更に、クライアント及びサーバのうち1個から複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
- 請求項1記載の方法において、更に、上記圧縮データ抽出ステップに先立ち各レイヤからパケットを抽出するステップを有する方法。
- JPEG2000圧縮画像をトランスコードする方法であって、当該JPEG2000圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたJPEG2000圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記JPEG2000圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
ビットレート所望値にて解像度所望値を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして、サブバンド係数別の量子化器インデクスと、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
量子化器インデクス及びコーディングパス長テーブルから各コードブロックについてレートディストーション操作テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、レートディストーション操作テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からJPEG2000ビットストリームトランスコード結果を生成するステップと、
を有する方法。 - JPEG2000圧縮画像をトランスコードする方法であって、当該JPEG2000圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたJPEG2000圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記JPEG2000圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
ビットレート所望値で解像度所望値を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結することによってコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を各コーディングパス長テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からJPEG2000ビットストリームトランスコード結果を生成するステップと、
を有する方法。 - 第1解像度からそれ以下の第2解像度へ且つ第1ビットレートからそれ以下の第2ビットレートへと圧縮画像をトランスコードする装置であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である装置において、
第2解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成する解像度別レイヤ別バイト数カウンタと、
第2解像度及び第2ビットレートに基づき上記圧縮画像を構成するレイヤ群の中から一組のデコード必須レイヤを推定するレイヤ推定ユニットと、
上記デコード必須レイヤに含まれるパケットからそのパケット内に集積されているコードブロック毎に圧縮データを抽出するパケットデコーダと、
この圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成する連結ユニットと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第2ビットレートを用い生成するレートコントロールユニットと、
圧縮コードブロックビットストリーム及び含有コーディングパス情報からビットストリームトランスコード結果を生成するビットストリーム生成ユニットと、
を備える装置。 - 請求項20記載の装置において、更に、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するパス長ユニットを備える装置。
- 請求項21記載の装置において、パス長ユニットが、コードブロック別の圧縮コードブロックビットストリームを算術デコードしてコーディングパス長テーブルを生成する算術デコーダである装置。
- 請求項22記載の装置において、更に、
算術デコーダが、サブバンド係数毎の量子化器インデクスを生成し、
レートコントロールユニットが、
量子化器インデクス及びコーディングパス長テーブルから各コードブロックについてレートディストーション操作テーブルを生成するレートディストーションテーブル推定ユニットと、
レートディストーション操作テーブル及び第2ビットレートを利用して含有コーディングパス情報を生成する最適化ユニットと、
を有する装置。 - 請求項21記載の装置において、各パケットのパケットヘッダにそのパケットについてのコーディングパス長情報が含まれ、パス長ユニットがパケットヘッダリーダである装置。
- 請求項20記載の装置において、上記圧縮画像がJPEG2000圧縮画像であり、上記ビットストリームトランスコード結果がJPEG2000ビットストリームトランスコード結果である装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/611,026 US7200277B2 (en) | 2003-07-01 | 2003-07-01 | Method for transcoding a JPEG2000 compressed image |
US10/881,107 US7382926B2 (en) | 2003-07-01 | 2004-06-30 | Transcoding a JPEG2000 compressed image |
PCT/US2004/021236 WO2005006765A1 (en) | 2003-07-01 | 2004-07-01 | Method for transcoding a jpeg2000 compressed image |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007527651A true JP2007527651A (ja) | 2007-09-27 |
Family
ID=34068500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006518774A Pending JP2007527651A (ja) | 2003-07-01 | 2004-07-01 | Jpeg2000圧縮画像トランスコーディング方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1639828A1 (ja) |
JP (1) | JP2007527651A (ja) |
WO (1) | WO2005006765A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003023630A (ja) * | 2001-06-27 | 2003-01-24 | Ricoh Co Ltd | サーバクライアント環境におけるjpeg2000のための画像処理 |
US20030113027A1 (en) * | 2001-07-02 | 2003-06-19 | Woei Chan | Digital image compression |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10815102B2 (en) | 2017-10-05 | 2020-10-27 | Mark C. Dodd | Moisture proof sleeve block |
-
2004
- 2004-07-01 JP JP2006518774A patent/JP2007527651A/ja active Pending
- 2004-07-01 WO PCT/US2004/021236 patent/WO2005006765A1/en active Application Filing
- 2004-07-01 EP EP04777399A patent/EP1639828A1/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003023630A (ja) * | 2001-06-27 | 2003-01-24 | Ricoh Co Ltd | サーバクライアント環境におけるjpeg2000のための画像処理 |
US20030113027A1 (en) * | 2001-07-02 | 2003-06-19 | Woei Chan | Digital image compression |
Also Published As
Publication number | Publication date |
---|---|
WO2005006765A1 (en) | 2005-01-20 |
EP1639828A1 (en) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1494482B1 (en) | Method for transcoding a jpeg2000 compressed image | |
US10951897B2 (en) | Method and apparatus for image compression | |
JP4702928B2 (ja) | 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP4656190B2 (ja) | 情報処理装置および方法 | |
US6987890B2 (en) | Producing and encoding rate-distortion information allowing optimal transcoding of compressed digital image | |
US20050226323A1 (en) | Direction-adaptive scalable motion parameter coding for scalable video coding | |
US20030138153A1 (en) | Printing system application using J2K | |
US7362860B2 (en) | Image data encryption method, image data transform method, apparatus for the methods, computer program, and computer-readable storage medium | |
JP2000511366A (ja) | 4分割ツリーベースの可変ブロックサイズ動き推定装置および方法 | |
JP2000516050A (ja) | 符号化システムにおけるレート制御を最適にするための装置および方法 | |
JP2007267384A (ja) | 圧縮装置及び圧縮方法 | |
Beerten et al. | A fully embedded two-stage coder for hyperspectral near-lossless compression | |
JP2022536512A (ja) | 符号化器及び一連のフレームを符号化する方法 | |
JP4086196B2 (ja) | 画像符号化装置、プログラム及び記憶媒体 | |
US20050244068A1 (en) | Encoding method, decoding method, encoding device, and decoding device | |
Taubman et al. | FBCOT: a fast block coding option for JPEG 2000 | |
Zandi et al. | CREW lossless/lossy medical image compression | |
JP2007527651A (ja) | Jpeg2000圧縮画像トランスコーディング方法 | |
Dubey | A review on wavelet-based image compression techniques | |
Skodras | The JPEG2000 image compression standard in mobile health | |
Danyali | Highly scalable wavelet image and video coding for transmission over heterogeneous networks | |
KR20020059923A (ko) | 웨이브렛 이론을 이용한 동영상 압축/복원 장치 및 그 방법 | |
Bojkovic et al. | Advanced image compression techniques: Comparative functionalities and performances | |
Choraś | JPEG 2000 Image Coding Standard-A Review and Applications | |
Joshi et al. | Efficient transcoding of JPEG2000 images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101019 |