(57)【要約】  ＪＰＥＧ２０００圧縮画像をより低ビットレート、より低解像度又はその双方へとトランスコードするに当たり、当該ＪＰＥＧ２０００圧縮画像を伸長しより低いビットレート乃至解像度へと再圧縮する必要をなくす。伸長及び再圧縮に代えて、ビットレート所望値に最も近くビットレート所望値より高いビットレートに係るレイヤのみに対して、解像度所望値を上回るまで算術デコードを実行する。その上でレートディストーション最適化を実行することにより、当該画像をトランスコードする。
2007527651.tif 000002
【特許請求の範囲】
【請求項１】
第１解像度からそれ以下の第２解像度へ且つ第１ビットレートからそれ以下の第２ビットレートへと圧縮画像をトランスコードする方法であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である方法において、
第２解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
第２ビットレートにて第２解像度を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから第２解像度を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結してコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第２ビットレートに基づき生成するステップと、
各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項２】
請求項１記載の方法において、更に、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するステップを有し、このコーディングパス長テーブルを利用して上記含有コーディングパス情報を生成する方法。
【請求項３】
請求項２記載の方法において、更に、上記コーディングパス長テーブル生成ステップが、圧縮コードブロックビットストリームを算術デコードしてコーディングパス長テーブルを生成するステップを含む方法。
【請求項４】
請求項３記載の方法において、更に、上記算術デコードステップが、各サブバンド係数毎に量子化器インデクスを生成するステップを含み、上記方法が、コーディングパス長テーブル及び各量子化器インデクスから各コードブロックについてレートディストーション操作テーブルを生成するステップを有し、このレートディストーション操作テーブルを利用して含有コーディングパス情報を生成する方法。
【請求項５】
請求項２記載の方法において、各パケットのパケットヘッダに含まれるそのパケットについてのコーディングパス長情報を利用してコーディングパス長テーブルを生成する方法。
【請求項６】
請求項１記載の方法において、更に、上記圧縮画像をパーシングしてヘッダ情報を抽出するステップを有し、このヘッダ情報を併用してビットストリームトランスコード結果を生成する方法。
【請求項７】
請求項１記載の方法において、上記圧縮画像がＪＰＥＧ２０００圧縮画像であり、上記ビットストリームトランスコード結果がＪＰＥＧ２０００ビットストリームトランスコード結果である方法。
【請求項８】
請求項１記載の方法において、上記圧縮画像が、より大きな画像を構成するタイルのうち一つである方法。
【請求項９】
請求項１記載の方法において、更に、第２解像度及び第２ビットレートのうち少なくとも一方についての入力を受け取るステップを有する方法。
【請求項１０】
請求項９記載の方法において、第２解像度及び第２ビットレートが、グラフィカルユーザインタフェースを介しユーザにより指定される方法。
【請求項１１】
請求項９記載の方法において、第２解像度所望値及び第２ビットレートのうち一方がデフォルト設定されており、他方を上記入力として受け取る方法。
【請求項１２】
請求項９記載の方法において、上記入力をネットワークを介して受け取る方法。
【請求項１３】
請求項９記載の方法において、更に、複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
【請求項１４】
請求項１記載の方法において、更に、複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
【請求項１５】
請求項１記載の方法において、更に、クライアントサーバ型ネットワークを構成するクライアント及びサーバのうち１個から第２解像度及び第２ビットレートのうち少なくとも一方についての入力を受け取るステップを有する方法。
【請求項１６】
請求項１５記載の方法において、更に、クライアント及びサーバのうち１個から複数通りの視覚荷重所望値を受け取るステップを有し、これら視覚荷重所望値を利用して含有コーディングパス情報を生成する方法。
【請求項１７】
請求項１記載の方法において、更に、上記圧縮データ抽出ステップに先立ち各レイヤからパケットを抽出するステップを有する方法。
【請求項１８】
ＪＰＥＧ２０００圧縮画像をトランスコードする方法であって、当該ＪＰＥＧ２０００圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたＪＰＥＧ２０００圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記ＪＰＥＧ２０００圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
ビットレート所望値にて解像度所望値を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして、サブバンド係数別の量子化器インデクスと、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
量子化器インデクス及びコーディングパス長テーブルから各コードブロックについてレートディストーション操作テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、レートディストーション操作テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からＪＰＥＧ２０００ビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項１９】
ＪＰＥＧ２０００圧縮画像をトランスコードする方法であって、当該ＪＰＥＧ２０００圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたＪＰＥＧ２０００圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記ＪＰＥＧ２０００圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
ビットレート所望値で解像度所望値を上回る解像度を得る上でデコードすべきレイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結することによってコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を各コーディングパス長テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からＪＰＥＧ２０００ビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項２０】
第１解像度からそれ以下の第２解像度へ且つ第１ビットレートからそれ以下の第２ビットレートへと圧縮画像をトランスコードする装置であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である装置において、
第２解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成する解像度別レイヤ別バイト数カウンタと、
第２解像度及び第２ビットレートに基づき上記圧縮画像を構成するレイヤ群の中から一組のデコード必須レイヤを推定するレイヤ推定ユニットと、
上記デコード必須レイヤに含まれるパケットからそのパケット内に集積されているコードブロック毎に圧縮データを抽出するパケットデコーダと、
この圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成する連結ユニットと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第２ビットレートを用い生成するレートコントロールユニットと、
圧縮コードブロックビットストリーム及び含有コーディングパス情報からビットストリームトランスコード結果を生成するビットストリーム生成ユニットと、
を備える装置。
【請求項２１】
請求項２０記載の装置において、更に、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するパス長ユニットを備える装置。
【請求項２２】
請求項２１記載の装置において、パス長ユニットが、コードブロック別の圧縮コードブロックビットストリームを算術デコードしてコーディングパス長テーブルを生成する算術デコーダである装置。
【請求項２３】
請求項２２記載の装置において、更に、
算術デコーダが、サブバンド係数毎の量子化器インデクスを生成し、
レートコントロールユニットが、
量子化器インデクス及びコーディングパス長テーブルから各コードブロックについてレートディストーション操作テーブルを生成するレートディストーションテーブル推定ユニットと、
レートディストーション操作テーブル及び第２ビットレートを利用して含有コーディングパス情報を生成する最適化ユニットと、
を有する装置。
【請求項２４】
請求項２１記載の装置において、各パケットのパケットヘッダにそのパケットについてのコーディングパス長情報が含まれ、パス長ユニットがパケットヘッダリーダである装置。
【請求項２５】
請求項２０記載の装置において、上記圧縮画像がＪＰＥＧ２０００圧縮画像であり、上記ビットストリームトランスコード結果がＪＰＥＧ２０００ビットストリームトランスコード結果である装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像圧縮の分野に関し、特にＪＰＥＧ２０００圧縮画像のトランスコーディングに関する。
【背景技術】
【０００２】
ＩＳＯ（International Standards Organization）は、２０００年１２月に新しい画像圧縮規格、即ちＪＰＥＧ２０００画像圧縮規格と称する規格を採択した（その内容については非特許文献１を参照のこと）。ＪＰＥＧ２０００規格はＥＢＣＯＴアルゴリズム（Taubmanによる非特許文献２を参照のこと）を基礎とし、従前のＪＰＥＧ規格からパラダイムシフトした規格である。ＰＤＡや携帯電話等のデバイスの爆発的普及という状況下でＪＰＥＧ２０００規格に対し期待されているのは、高解像度圧縮画像を画像サーバに蓄積しておき様々なクライアントがこれにアクセスできるようにすること、またその際に要求次第で様々な解像度や画質の画像が得られるようにすることである。ＪＰＥＧ２０００規格には、これに関する基本的特徴として次のような特徴がある。即ち、ＪＰＥＧ２０００ビットストリームをパーシング（構造解析）すれば、逆量子化及び再量子化なしで（場合によっては算術デコードすらなしで）、より低解像度な画像やより低画質な画像を抽出することができる。
【０００３】
また、ＪＰＥＧ２０００圧縮画像を別のＪＰＥＧ２０００圧縮画像に変換すること（通常はビットレート、解像度又はその双方がより低い画像へと変換すること）を指して、トランスコーディングと呼ぶ。基本的乃至初歩的トランスコード機能を備えており商業的に入手できるソフトウェアとしては、現在のところ、David Taubmanにより開発されたKakadu softwareがあるが（非特許文献３を参照のこと）、このKakadu softwareに組み込まれているトランスコーダの性能はときとして非常に貧弱になる。即ち、ＪＰＥＧ２０００ビットストリームは画質に関わるレイヤを一般に複数個有しており、レイヤ数が多いほどその圧縮画像の画質が良好になるのであるが、Kakaduトランスコーダは、既存のＪＰＥＧ２０００ビットストリームを最寄りのレイヤ境界から遠く離れたビットレートへとトランスコードすることを非常に苦手としている。そのため、Joshi及びDeeverは、本願出願人が特許を受ける権利を譲り受けた係属中の２００２年３月３日付米国特許出願第１０／１０８１５１号「レートディストーション情報の生成及びエンコードによる圧縮ディジタル画像最適トランスコーディングの実現」（Producing and Encoding Rate-distortion Information Allowing Optimal Transcoding of Compressed Digital Image）において、最適トランスコーディングを実現する方法を提案しているが、このトランスコーディング方法にもなお問題点がある。即ち、この方法によるトランスコーディングを行うには、ＪＰＥＧ２０００エンコーダを用いて最初に生成するＪＰＥＧ２０００圧縮画像内に、レートディストーション情報を保存しなければならない。
【０００４】
しかしながら、実際に必要なＪＰＥＧ２０００圧縮画像トランスコーディング方法は、レートディストーション情報の保存が不要な方法である。更に、ＪＰＥＧ２０００圧縮画像トランスコーディングにより得られた低ビットレート画像の画質が、低ビットレートへと直接圧縮されたＪＰＥＧ２０００画像の画質にできるだけ近い画質となるようにすることが、望まれている。
【０００５】
【非特許文献１】"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
【発明の開示】
【発明が解決しようとする課題】
【０００６】
即ち、本発明において目的としているのは、そのビットレート、低解像度又はその双方がより低くなるよう、ＪＰＥＧ２０００圧縮ビットストリームをトランスコードできる方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、上述した問題点のうち何個かを克服することを目的としている。概括すると、本発明の一実施形態に係るＪＰＥＧ２０００圧縮画像トランスコーディング方法は、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのレイヤに集積編成されているＪＰＥＧ２０００圧縮画像を、対象とする方法である。本方法は、より詳細には、
（ａ）ＪＰＥＧ２０００圧縮画像をパーシングしてヘッダ情報及びパケットを抽出するステップと、
（ｂ）解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
（ｃ）ビットレート所望値へとトランスコードする際解像度所望値を上回る解像度を得る上でデコード必須なＪＰＥＧ２０００圧縮画像内レイヤ数を推定するステップと、
（ｄ）ステップ（ｃ）でデコード必須とされたレイヤから解像度所望値を上回る解像度範囲に属するパケットを抽出し、またそのパケットに影響するコードブロック毎に圧縮データを抽出するステップと、
（ｅ）ステップ（ｄ）にて抽出されたコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
（ｆ）コードブロック別の圧縮コードブロックビットストリームを算術デコードして、各サブバンド係数の量子化器インデクスと、デコード済コーディングパス別の圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
（ｇ）ステップ（ｆ）にて生成された量子化器インデクス及びコーディングパス長テーブルから、各コードブロックについてレートディストーション操作テーブルを生成するステップと、
（ｈ）ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、ステップ（ｇ）にて生成されたレートディストーション操作テーブル、ビットレート所望値及び複数通りの視覚荷重所望値を利用して生成するステップと、
（ｉ）ステップ（ｅ）にて生成された圧縮コードブロックビットストリーム、ステップ（ａ）にて抽出されたヘッダ情報、並びにステップ（ｈ）にて生成された含有コーディングパス情報から、ＪＰＥＧ２０００ビットストリームトランスコード結果を生成するステップと、
を有する。
【０００８】
本発明の他の実施形態においては、レート制御機能を実現すべく、ステップ（ｃ）にて使用されるビットレート所望値及びステップ（ｆ）にて生成されるコーディングパス長テーブルを用い、ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、コードブロック毎に生成する。含有コーディングパス情報を生成した後は、ステップ（ｅ）にて生成された圧縮コードブロックビットストリーム、ステップ（ａ）にて抽出されたヘッダ情報、並びに生成した含有コーディングパス情報から、ＪＰＥＧ２０００ビットストリームトランスコード結果を生成する。本実施形態においては、コーディングパスをビットストリームトランスコード結果に含めるかどうかの判別がディストーションとは無関係であるため、レートディストーション操作テーブルを生成する必要がない。
【発明の効果】
【０００９】
本発明により提供され、ＪＰＥＧ２０００圧縮画像をそのビットレート、解像度又はその双方がより低くなるようトランスコードする方法によれば、元々のＪＰＥＧ２０００圧縮画像を伸長してそのビットレート、解像度又はその双方がより低くなるよう再圧縮する必要がなくなる。また、算術デコードを実行する必要があるが、それは、レートディストーション最適化による画像トランスコード結果の生成に先立って、ビットレート所望値に最も近くビットレート所望値より高いビットレートに係るレイヤに関してのみ実行すれば足りる。
【００１０】
本発明には、更に、トランスコーディング後における画質が、低ビットレート、低解像度又は低ビットレート且つ低解像度へと直にＪＰＥＧ２０００圧縮して得られる画質に非常に近い、という利点がある。
【００１１】
本発明には、更に、最初に画像を圧縮してＪＰＥＧ２０００ビットストリームを生成する際に使用されたであろう視覚荷重値とは違う一組の視覚荷重値を、トランスコードの際に適用できる、という利点がある。
【００１２】
以下、本発明の好適な実施形態に関し別紙図面を参照しつつ説明する。本発明の実施形態、目的、特徴、利点等といった事項は、上に説明したものもそれ以外のものも含め、以下の説明及び特許請求の範囲の記載を図面と併せ参照することによって、より明瞭に理解されることとなろう。
【発明を実施するための最良の形態】
【００１３】
本発明はディジタル画像の圧縮に関する。本件技術分野では様々なディジタル画像圧縮技術が知られているが、ここでは、ＪＰＥＧ２０００画像圧縮規格に規定されている手法に従って、また本発明に係るアルゴリズムの構成要素となる部分や当該アルゴリズムと直接協働する部分に重点をおきつつ、本発明について説明を行うこととする。本願において仔細に図示乃至説明していない部分については、非特許文献１等、本件技術分野において知られている文献の記載に従い、様々に選択設定することができる。また、以下の説明にある通り、本発明は通常通りソフトウェアプログラムにより実施するのが望ましいが、本件技術分野における習熟者（いわゆる当業者）であれば直ちに認識できる通り、当該ソフトウェアプログラムと均等乃至等価な機能をハードウェアによって構築することも可能である。また、以下の欄に記述されているシステム及び方法論を参照しさえすれば、本発明の実施に必要なソフトウェア製品を作成することは、いわゆる当業者の力量の範囲内であり簡便になし得るところであろう。そして、本発明をコンピュータプログラムとして実施する場合にその保存先・格納先とする媒体は、コンピュータプログラムを保存・格納するのに使用できる各種の物理装置乃至媒体である限り、従来からあるどのようなコンピュータ可読媒体とすることもできる。その例としては、磁気記録媒体、光記録媒体、固体電子記録デバイス等があり、磁気記録媒体の例としては磁気ディスク（フロッピー（登録商標）ディスクやハードディスクドライブ）、磁気テープ等があり、光記録媒体の例としては光ディスク、光テープ、マシン可読バーコード等があり、固体電子記録デバイスとしてはランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）等がある。
【００１４】
最初に、ＪＰＥＧ２０００圧縮アルゴリズムの概略及びＪＰＥＧ２０００圧縮ビットストリームのシンタクスについて、手短にまとめて説明する。より詳細な説明が必要であれば上掲の非特許文献１を参照されたい。図１に、ＪＰＥＧ２０００エンコーダ１０及びＪＰＥＧ２０００デコーダ１２の概略ブロック構成を示す。ＪＰＥＧ２０００エンコーダ内にある離散ウェーブレット変換（ＤＷＴ）ユニット１４は、入力画像をサブバンド群に分解する。ＪＰＥＧ２０００規格に従い入力画像が複数個の方形タイルに分割されている場合は、このＤＷＴは画像タイル毎に実行される。均一不感帯量子化器１６は、サブバンド毎のウェーブレット係数群即ちサブバンド係数群を量子化する。量子化されたこのウェーブレット係数群は、プレシンクトの集まりであると同時にコードブロックの集まりでもある。エントロピエンコーダ１８は、各コードブロックを互いに独立にエンコードすることにより、コードブロック別の圧縮ビットストリームを生成する。パケット生成ビットストリーム構築ユニット２０は、こうした圧縮コードブロックデータを複数個のレイヤに分割し、別々のコードブロックから同じレイヤのデータを集めてパケットを生成し、更にそのパケットの圧縮ビットストリーム内登場順を指定する。ＪＰＥＧ２０００デコーダ１２内のビットストリームパーサユニット２２は、ヘッダ情報を読み取ってパケットを抽出し、更にパケットヘッダをデコードしてコードブロック別圧縮データを全て連結する。エントロピデコーダ２４は、この圧縮データをデコードして各ウェーブレット係数毎に量子化器インデクスを導出する。逆量子化ユニット２６は、各量子化器インデクスから対応するウェーブレット係数を再構成する。逆ＤＷＴユニット２８は、再構成されたウェーブレット係数を逆ＤＷＴして画像を再構成する。
【００１５】
ＪＰＥＧ２０００においては、二次元ＤＷＴを用い入力画像をサブバンド群に変換する。図２に、レベル３二次元ＤＷＴによって得られるサブバンド群をサブラベル毎のラベルと共に示す。この図においては各サブバンドにｋＨＬ等の形式でラベルが付されている。例えばラベルｋＨＬの意味するところは、“分解レベルｋでのＤＷＴ時にまず水平ハイパスフィルタＨを行に適用しそれを終えたら垂直ローパスフィルタＬを列に適用する”というものである。なお、便宜上、原画像又は原画像タイルはサブバンド０ＬＬと称される。
【００１６】
ＤＷＴ分解結果からは、その性質上、画像を複数通りの解像度で再構成できる。即ち、分解レベルがＮLなら、合計でＮL＋１レベルある解像度の何れでも画像を再構成することができる。これら画像再構成可能解像度レベルのうち最も低い解像度レベルは解像度レベル０と称され、解像度レベル０の画像はサブバンドＮLＬＬのみで構成される。例えば、図２に示した３レベル分解例にて解像度レベル０に相当するサブバンドは、３ＬＬサブバンドである。また、一般に、解像度レベルｒの画像（ｒ＞０）を再構成するには、解像度レベルｒに属するサブバンド群を解像度レベルｒ−１の画像に結合させる必要がある。解像度レベルｒに属するサブバンド群とは、サブバンド（ＮL−ｒ＋１）ＨＬ、（ＮL−ｒ＋１）ＬＨ及び（ＮL−ｒ＋１）ＨＨのことである。エンコーダにおいてサブバンド群を互いに独立にエンコードしてあるのは、コードストリームのうちその解像度レベル以下の解像度に係るサブバンドを含む部分を単純にデコードするのみで、画像をどのような解像度レベルでも再構成できるようにするためである。例えば、図２に示す例にて画像を解像度レベル２で再構成するには、解像度レベル１の画像に３個のサブバンド２ＨＬ、２ＬＨ及び２ＨＨを結合させればよい。
【００１７】
均一不感帯スカラ量子化器１６により各ウェーブレット係数を量子化して得られるのは、サインマグニチュード方式によって表された量子化係数インデクスである。図３に、そのこの量子化器の量子化器ステップサイズがΔであるとして、複数通りの判別しきい値３０及び複数通りの再構成レベル３２を示す。ＪＰＥＧ２０００規格においては、同一サブバンドに属する係数全てに対して単一の量子化器ステップサイズを使用するよう規定されているが、量子化器ステップサイズをサブバンド毎に変えることは認められている。第ｂサブバンドのステップサイズはΔbと表す。また、不感帯とは、０を中心としてその前後に広がり、他の量子化器ビンよりも広い量子化器ビンのことである。ＪＰＥＧ２０００規格のパート１では、不感帯の広さをステップサイズの２倍とするよう規定している。これは、その埋め込み構造を最適化するためである。埋め込み構造の最適性とは、簡単にいえば、そのステップサイズがΔbの量子化器から、最上位ビット（ＭＳＢ）から最下位ビット（ＬＳＢ）へという順で送られてくるＭbビットのインデクスのうち、Ｎbビットのみをデコードしたとき得られるインデクスが、同様の構成であるが但しそのステップサイズが
【数１】
2007527651.tif 000003
の量子化器を用いて得られるインデクスと同一になる、という特性のことである。この特性は、信号対雑音比（ＳＮＲ）拡張性の実現につながるものである。理想的なＳＮＲ拡張性が実現されれば、デコーダによるコードストリームのデコードを任意の打ち切り点で中止した場合でも、そのコードストリームにエンコードされている画像と厳密に同一の画像を、打ち切り時点までのデコード結果から再構成することができる。また、その際に再構成される画像のビットレートは、コードストリームのうち打ち切り点までの部分に相当するビットレートとなる。
【００１８】
量子化されたサブバンド係数群は、コードブロックに分割されている。コードブロックとは、ウェーブレット係数群により構成されたタイルと見なせるものであり、エントロピエンコーダ１８は、量子化ウェーブレット係数をコードブロック毎に別々に（コードブロック間に依存性が生じないよう）エンコードする。ＪＰＥＧ２０００におけるエントロピエンコーダはＭＱ算術エンコーダであり、サインマグニチュード方式で表されている各コードブロック係数群をビットプレーン群にエンコードする。例えば、第ｂサブバンド内の処理対象コードブロックに属し、そのステップサイズがΔbである前述の均一不感帯スカラ量子化器によって量子化された標本群を考える。また、第ｂサブバンド内量子化係数インデクスの大きさがＭbビットという固定桁数で表され、ＭＳＢにはインデクス１、ＬＳＢにはインデクスＭb、というように各ビットに１、２、…Ｍbなるインデクスが割り振られているとする。こうしたコードブロックの第ｋビットプレーンはそのコードブロック内の量子化係数インデクス全てから、その第ｋビットを集めたものである。また、エントロピエンコードにおいては、あるコードブロックのあるビットプレーンがある条件を満たすとき、そのビットプレーンは“シグニフィカント”（有意）である、という。シグニフィカントである、というには、そのビットプレーンが非ゼロ値ビットを少なくとも１個有しているか、そのビットプレーンに先行する何れかのビットレーンがシグニフィカントでなければならない。コードブロックを構成するビットプレーンのうち最初の何個かがシグニフィカントでない場合はそのことを示す信号が別途生成されることとなるが、一般論としては、最上位ビットプレーンが非ゼロ値ビットを少なくとも１個有している場合、ＭＱエンコーダが、クリーンアップパスと称するある単一の信号コーディングパスを用いて当該最上位ビットプレーンをエンコードする。ＭＱエンコーダは、残りのビットプレーンを三通りのコーディングパスを用いてエンコードする。即ち、シグニフィカンスパス、リファインメントパス及びクリーンアップパスである。従って、量子化コードブロック係数の大きさから見てシグニフィカントなビットプレーンがＭb個ある場合、全ビットプレーンをエンコードするのに必要なコーディングパスの合計数は３×（Ｍb−１）＋１になる。
【００１９】
ＪＰＥＧ２０００における圧縮ビットストリームの構造的柔軟性はかなりのものである。この柔軟性の一部は、画像データを分割する各種の構造、即ち成分色、タイル、サブバンド、解像度レベル及びコードブロックにより実現されている。即ち、１）成分色によって色チャネル群に、２）タイルによって空間領域群に、３）サブバンド及び解像度レベルによって周波数領域群に、そして４）コードブロックによって空間周波数領域群に、それぞれ分割されている。ＪＰＥＧ２０００においては、更に、プレシンクトと称する中間空間周波数構造も形成される。プレシンクトとは、同一解像度レベルに属するあらゆるサブバンドから、空間的に隣り合うコードブロック群を寄せ集めたものである。図４に、３レベル分解された７６８×５１２サイズの画像におけるプレシンクト割りを示す。図中、コードブロック境界４０はコードブロック同士の境目、プレシンクト境界４２はプレシンクト同士の境目である。ハイライトされているプレシンクトは、大略、解像度レベル０〜３の何れに属しているかによらず、原画像中の同じ２５６×２５６領域に対応している。
【００２０】
ＪＰＥＧ２０００におけるコードブロック別圧縮データは、こうした構造に加えてパケットやレイヤと称する単位による構造も有している。まず、各プレシンクトにおいては、そのプレシンクト内のコードブロック別圧縮データから何個かのパケットが構成される。パケットは圧縮コードストリーム内で連続しているセグメントを単純に集めたものであり、そのプレシンクト内でコードブロック毎にビットプレーンと同個数のコーディングパスから構成されている。コーディングパスの個数はコードブロック毎に異なる個数になり得、またコーディングパスの個数が０個のコードブロックもあり得る。レイヤは、同一タイル内のあらゆる解像度レベルにあるプレシンクトからパケットを取り出して相互に結合させることにより、形成される。
【００２１】
各コードブロックを構成するビットはそのコードブロックに係る圧縮ビットストリーム内で何個かのレイヤに分布している。各レイヤに係る圧縮データには、同一タイルに属するあらゆるサブバンド内のあらゆるコードブロックや、同一タイル内のあらゆる成分色が、影響している。各レイヤには各コードブロック毎に相連なった何個か（０個の場合もある）のコーディングパスが含まれている。各レイヤは画質の増分を表している。特定のレイヤ内に含まれるコーディングパスの個数はコードブロック毎に違う個数になり得、後に説明する構成における当該個数は、通常、エンコーダが実行する圧縮後レートディストーション最適化処理によって決まる。
【００２２】
その所属先タイル、成分色、解像度レベル、レイヤ及びプレシンクトが同じ圧縮データは１個のパケット内に集まる。同一パケット内の圧縮データはコードストリーム内で途切れなくつながっていたものでなければならない。単一プレシンクト内に複数個のサブバンドからのデータが含まれている場合はそれらサブバンドの登場順はＨＬ、ＬＨ、ＨＨの順となる。各サブバンド内におけるコードブロックの影響はラスタ順に現れる。図４に示す例においては、同じプレシンクトに属する各コードブロックに対し、それぞれ、パケット内登場順序、即ちそのコードブロック内のエンコード済データがある１個のパケット内で登場する順序を示す番号が、付されている。各パケットの始まりにはパケットヘッダが付される。パケットヘッダは、そのパケット内のコーディングパス個数をコードブロック毎に表した情報を含むほか、各コードブロックに係る圧縮データの長さについての情報も含んでいる。パケットヘッダの第１ビットは、そのパケットがデータを含んでいるのかそれとも空なのかを表している。パケットが空でなければ、そのパケット内のコードブロック毎に信号としてコードブロック包含情報が生成される。コードブロック包含情報は、そのパケット内にコードブロックの圧縮データが含まれているかどうかを示している。コードブロックデータを含むパケットを初めて送るときは、最上位ビットプレーンから数えて何個目のビットプレーンまでが完全に０のビットプレーンであったかを示す信号がセットされる。その後は、そのコードブロックにおけるコーディングパス個数及び対応する圧縮データの長さを示す信号がセットされる。ビットプレーン群の算術エンコードを第１層（tier-1）コーディングと呼ばれるのに対し、こうした圧縮データからのパケット生成及びパケットヘッダ情報のエンコードは第２層（tier-2）コーディングと呼ばれる。
【００２３】
ＪＰＥＧ２０００ビットストリームの概略構成は次の通りである。まず、ＪＰＥＧ２０００ビットストリームは、メインヘッダ及びこれに続く一連のタイルストリームから構成される。メインヘッダはビットストリーム全体の伸長に必要なグローバル情報、例えば画像サイズ、タイルサイズ、成分（色）個数、分解レベル個数、レイヤ個数、量子化器ステップサイズ等についての情報から構成される。各タイルストリームは、タイルヘッダ及びそのタイルに属するパケット群から構成される。先に述べたように、各パケットはパケットヘッダ及び圧縮コードブロックデータから構成される。
【００２４】
レート制御とは、狙ったファイルサイズ（ビットレート）を有する最適な画像を生成するプロセスのことをいう。最適であるかどうかやその度合いを判別するための条件としては、例えば、原画像と再構成画像との間の平均自乗誤差（ＭＳＥ）、見た目の歪み等の測度に基づくものが用いられる。ＪＰＥＧ２０００においては、埋め込みブロックコード方式を採用しておりまたそのコードストリームシンタクスが柔軟性に富んでいるため、レートディストーション（Ｒ−Ｄ）の面で最適化されたコードストリームを所望のファイルサイズで生成することができる。非特許文献２においてTaubmanが提案しているＥＢＣＯＴ圧縮アルゴリズム用レート制御効率化手法は、１回の実行（繰り返し）で所望のビットレートを実現できまたレートディストーションを最小限に抑えることができるものである。何点かの変更を施せば、ＪＰＥＧ２０００エンコーダにおいてもこの手法を用いることができるであろう。
【００２５】
大筋では、まず、非常に小さなステップサイズを用いて各サブバンドを量子化し、その結果得られたコードブロック群のビットプレーン群をエントロピエンコードする。このようにすれば、通常は、目的とするビットストリーム内に含まれることとなる個数より多数のコーディングパスが、コードブロック毎に生成される。このときアルゴリズムが発生させるＲ−Ｄの量は、量子化器ステップサイズを十分小さくしてあるためステップサイズの初期値とは無関係になる。エントロピエンコードの次は、ラグランジアンＲ−Ｄ最適化を実行することによって、目的としているビットレートを得るため各コードブロックから最終的な圧縮ビットストリームに取り込むべきコーディングパス個数を決める。レイヤを複数個にしたい場合は、レイヤの最後に至ったら別のレイヤに移るというようにこのプロセスを繰り返し実行することによって、次のレイヤに含める必要がある追加のコーディングパスの個数をコードブロック毎に決めればよい。
【００２６】
ラグランジアンＲ−Ｄ最適化は次のような機序で動作する。まず、各コードブロックから生成された圧縮ビットストリームには、各コーディングパスの端点にて生じ得る打ち切り点候補が、多数含まれている。第ｂサブバンド内のコードブロックに含まれているウェーブレット係数群は、まずステップサイズΔbで量子化され、それによって各係数毎にＭbビットの量子化器インデクスが生成される。このコードブロックビットストリームを打ち切り、ある特定のウェーブレット係数についてＮbビットのみをデコードした場合、その係数についての量子化器ステップサイズは実質的に
【数２】
2007527651.tif 000004
となる。この量子化器実質ステップサイズは、圧縮ビットストリーム内に含めるビットプレーンの個数を増やしていくにつれ２の冪乗で狭まっていく。ビットストリームへのコーディングパス追加によるビットレート上昇幅及びディストーション減少量は、コードブロック毎且つ追加コーディングパス毎に計算され、レートディストーション操作テーブルと称するテーブル内に保存される。ディストーション測度としてはＭＳＥや視覚加重ＭＳＥを使用するのが普通であろうが、コードブロック群全体に亘り加法的なものであれば、他のどのような一般的指標でも用い得る。ビットストリーム内のコーディングパスが増えるとビットレートは上昇しディストーションは減少する。画像全体でのコードブロック総数をＰとし、画像内のコードブロックをＢi（１≦ｉ≦Ｐ）で表すこととすると、コードブロックＢi内で打ち切り点ｔを与えたときそれに対応するディストーション量Ｄitは、加重ＭＳＥを測度として用いた場合、
【数３】
2007527651.tif 000005
と表せる。この式中、ｕ，ｖは順にそのコードブロックＢi内におけるウェーブレット係数の行，列インデクス、ｘi［ｕ，ｖ］は元々のウェーブレット係数の値、ｘit［ｕ，ｖ］は打ち切り点ｔで打ち切られた量子化係数の値、ｗi［ｕ，ｖ］は係数ｘi［ｕ，ｖ］に課す荷重、そしてαbはサブバンドｂに対応する基本合成関数のＬ2ノルムである。量子化雑音についてのある種の仮定が成り立っていれば、このディストーション量はコードブロック群全体に亘り加法的になる。打ち切り点ｔが与えられていれば、そのコードブロックＢiに係る圧縮ビットストリームのサイズ、即ちレートＲitを決定できる。
【００２７】
圧縮ビットストリームの合計ビット数の上限としてＲバイトという値が与えられている場合、ＥＢＣＯＴアルゴリズムによりレート制御を行うことによって、ディストーション総量Ｄが最小になるような打ち切り点をコードブロック毎に見つけ出すことができる。それは、全コードブロックに対して最適にビット数を割り当てることと等価である。各コードブロックＢiに割り当てる最適なビット数Ｒi*（１≦ｉ≦Ｐ）については、次の式
【数４】
2007527651.tif 000006
が成り立つ。ＪＰＥＧ２０００に関する文献においては、こうしたレート制御アルゴリズムのことを圧縮後Ｒ−Ｄ最適化とも呼んでいる。荷重ｗi［ｕ，ｖ］が何れのサブバンド係数についても１に設定されている場合は、ディストーション量の測度として上述した加重ＭＳＥは単なる平均自乗誤差となる。
【００２８】
本願にて主題としているのは、既存のＪＰＥＧ２０００画像をそのビットレート、解像度又はその双方が低い別のＪＰＥＧ２０００画像へとトランスコードすることである。先に述べたアルゴリズムによりレート制御を最適に実行するためには、コードブロック別レートディストーション操作テーブル内の知識を利用する必要があるが、もはや原画像にアクセスできないのであるから、それらの知識のうちディストーションに関する情報は永久的に失われてしまっている。レートに関する情報は、それにはパケットをデコードし圧縮コードブロック内のコーディングパスをＭＱデコードする必要がある。本発明にて克服しているのはこうした問題点である。以下、本発明の好適な実施形態について図面を参照しながら詳細に説明する。先に注記した通り、本発明は、既存のＪＰＥＧ２０００画像をそのビットレート、解像度又はその双方がより低いものへとトランスコードする方法を提供するものであり、以下の欄ではその好適な実施形態を説明することとするが、ご理解頂けるようにこれは本発明を当該実施形態に限定する意図によるものではなく、むしろ、別紙特許請求の範囲にて定義されている本発明の神髄及び技術的範囲に包含されるものである限りそうした実施形態のあらゆる代替物、変形物及び均等物をカバーしよう、という意図を有している。
【００２９】
図５に、本発明に係る画像トランスコーダのフローチャートを示す。ＪＰＥＧ２０００圧縮画像１０１は、ＪＰＥＧ２０００ビットストリームパーシングユニット１０２によりパーシングされる。ＪＰＥＧ２０００ビットストリームパーシングユニット１０２は、各種ＪＰＥＧ２０００マーカセグメント内のヘッダ情報１０３を抽出し、解像度レベル別にパケット１０４を分離する。解像度別レイヤ別バイト数カウンタ１０５は、解像度レベル所望値１０６についてのレイヤ別バイト数テーブル１０８を生成する。ＪＰＥＧ２０００圧縮画像がＬ個のレイヤから構成されており、各レイヤに０、１、…Ｌ−１という番号が付されており、そして解像度レベル所望値がｕであるとすると、レイヤ別バイト数テーブル１０８へのエントリのうちレイヤｘに対応するエントリは、レイヤ０、１、…ｘに属し且つ解像度レベル０、１、…ｕに属している全てのパケットのサイズを累積加算したものとなる。レイヤ推定器乃至レイヤ推定ユニット１０９は、画像トランスコード結果に対するビットレート所望値１０７、好ましくはトランスコード済画像の画像サイズ（単位：バイト）を入力し、ビットレート所望値１０７にて解像度レベル所望値以上の解像度レベルを実現するためデコードする必要があるレイヤの個数１１０を、レイヤ別バイト数テーブル１０８を利用して決定する。図６に、４通りの解像度レベル及び３個のレイヤを有するＪＰＥＧ２０００圧縮画像について、解像度レベル別にレイヤ別バイト数テーブルの例を示す。この表によれば、例えば解像度レベル所望値が２でありビットレート所望値が１６３８４バイトである場合は、解像度レベル２を上回る解像度が得られるよう、レイヤ０及びレイヤ１をデコードしなければならない。
【００３０】
図５においては、パケットデコーダ１１１が、解像度レベル所望値を上回る解像度レベルを得る上でデコードすべきだとレイヤ数推定ユニットが判断したレイヤ（群）に対応するパケット（群）をデコードし、更にそのパケットに影響を及ぼしたコードブロック毎に圧縮コードブロックビットストリームを抽出する。連結ユニット１１２は、これらコードブロック別圧縮データを連結することによってコードブロック毎に圧縮コードブロックビットストリーム１１３を生成する。算術デコーダ１１４は、各圧縮コードブロックビットストリーム１１３を対象として算術デコードを実行することにより、量子化サブバンド係数インデクス１１５及びコーディングパス長テーブル１１６を生成する。レートディストーションテーブル推定ユニット１１７は、量子化係数インデクス１１５と、各デコード済コーディングパスに係る圧縮データ長の推定結果を含むコーディングパス長テーブル１１６とから、レートディストーション操作テーブル１１８を生成する。Ｒ−Ｄ最適化ユニット１１９は、レートディストーション操作テーブル１１８、ビットレート所望値１０７及び複数通りの視覚荷重所望値１２１を用いて圧縮後Ｒ−Ｄ最適化を実行することにより、ビットストリームトランスコード結果内に含まれるべきコーディングパス群を示す含有コーディングパス情報１２０を生成する。この圧縮後Ｒ−Ｄ最適化は、先に述べたＪＰＥＧ２０００エンコーダにより実行されるものと同じ処理である。視覚荷重所望値１２１は、圧縮後Ｒ−Ｄ最適化時における式（１）（数３）中のｗi［ｕ，ｖ］の値を与えている。ＪＰＥＧ２０００ビットストリーム生成ユニット１２２は、含有コーディングパス情報１２０、圧縮コードブロックビットストリーム１１３及びヘッダ情報１０３を用い、ＪＰＥＧ２０００ビットストリームトランスコード結果１２３を生成する。
【００３１】
算術デコーダ１１４から出力されるのは量子化サブバンド係数インデクス１１５である。サブバンド係数を明確に再構成し逆ＤＷＴを実行することは、レートディストーション操作テーブル１１８を生成するのには不要であるため実行していない。これは、トランスコードプロセスで使用する量子化器ステップサイズを、量子化時に使用した基本量子化器ステップサイズと同じ広さにしてあるためである。即ち、あるウェーブレット係数に対する量子化器インデクスが２３（二進表記で１０１１１）であり、ステップサイズがΔbであり、その最下位３ビットが無視されているとする。この場合、再構成レベルを量子化中心において再構成すると、十進表記で２３．５×８Δb、二進表記で（１０１１１１００b）Δbという係数が得られる。ＪＰＥＧ２０００規格のパート１にて規定されているフィルタが完全再構成型（逆ＤＷＴに続き精度乃至桁数を限定せずＤＷＴを実行しそれによって元々の係数と全く同じ係数を返すもの）であることからすれば、逆ＤＷＴを実行する必要はない。再構成された係数をステップサイズΔbで再量子化すると、二進表記で１０１１１１００bの量子化器インデクスが得られる。従って、再エンコードしたコードブロックデータについてレートディストーション操作テーブル１１８を推定すること、特にデコードされた最下位ビットより下位に量子化係数毎に二進数の１を付加した上で量子化係数インデクス１１５から直に推定することは、適切なことである。
【００３２】
いわゆる当業者であれば理解できるように、複数のレイヤを含むビットストリームトランスコード結果を得たい場合は、Ｒ−Ｄ最適化ステップ（１１９）を、所望のレイヤ１個毎に１回ずつ、合計複数回実行すればよい。いわゆる当業者であればこれも理解できるように、視覚加重が不要であれば視覚荷重値を１にセットすればよい。
【００３３】
ビットレート所望値１０７、解像度レベル所望値１０６及び視覚荷重所望値１２１は、例えばグラフィカルユーザインタフェース及びマウス等のポインティングデバイスを用いてトランスコーダと会話しながら、ユーザが指定するようにしてもよい。或いは、他の情報に基づきトランスコーダが自分自身でビットレート所望値、解像度レベル所望値及び視覚荷重所望値を判別乃至決定するようにしてもよい。例えば、インターネットやイーサネット（登録商標）等のネットワークを介してトランスコーダにビットレート所望値、解像度レベル所望値及び視覚荷重所望値を通知するようにしてもよい。クライアントサーバ型システムを構成するサーバ、特にＪＰＥＧ２０００画像をネットワークを介しクライアント群に提供するサーバの一部としてトランスコーダを構成するのであれば、サーバに対し任意の画像を要求する際にクライアントがビットレート所望値及び解像度レベル所望値を指定可能な構成とすることができる。その際には、非特許文献４に記載されているＪＰＩＰプロトコルを用いればよい。このクライアントはそのサーバに対して更に視覚荷重所望値も通知できる。その際には、ＪＰＩＰにおけるクライアントキャパビリティ／プリファレンスリクエストフィールド群、例えば“vc”や“Contrast Sensitivity(csf)”等を用いればよい。或いは、クライアントキャパビリティ及びネットワークコンディションに関する知識を利用してサーバがビットレート所望値、解像度レベル所望値及び視覚荷重所望値を決定するようにしてもよい。
【００３４】
例えばカラーディスプレイ付携帯電話がクライアントなら、その携帯電話からのビットレート所望値、解像度レベル所望値及び視覚荷重所望値の事前登録は、次のようにして行うことができる。まず、解像度レベル所望値についてはディスプレイ解像度をＪＰＩＰの“fsiz”フィールドを用いてサーバに送り事前登録すればよい。ビットレート所望値については、代表的な何枚かの画像を用いた事前シミュレーションにより得られる平均ファイルサイズ、即ち現在のディスプレイ解像度にてそれらの画像を視覚的に良好な画質で表示させるのに必要な平均ファイルサイズに応じてビットレートを決定し、そのビットレートを例えばＪＰＩＰの“len”フィールドを用いてサーバに送り事前登録すればよい。同様に、そのディスプレイ解像度にて画像を表示させるための視覚荷重値は、ディスプレイ解像度、ディスプレイｄｐｉ値及び看取条件から決定することができる。当該看取条件は、Jones et al.が非特許文献５にて提案した人間視覚系二次元コントラスト感度関数モデルに基づくものとすればよい。
【００３５】
また、ここではサーバとクライアントとが別体のものであるとして説明を行ったが、いわゆる当業者であれば理解できるように、ある種のネットワークデバイスはクライアントとしてもサーバとしても機能する。例えば、何台かのクライアントとＪＰＥＧ２０００サーバとの間にある単一のネットワークデバイスが介在している場合、接続されている何台かのクライアントからの要求をＪＰＥＧ２０００サーバに送る一方ＪＰＥＧ２０００サーバから圧縮データを受信して適切なクライアントに送るこのネットワークデバイスが、その種のデバイスに該当する。
【００３６】
上述したトランスコーディング方法が特に良好に機能するのは、トランスコード時に適用すべき適切な視覚荷重値がわかっているときや、視覚加重しないときである。しかし、ＪＰＥＧ２０００エンコーダによる決定に従って、コードブロック間の視覚的重要度の違いを保持させるのが望ましい場合もある。例えば、ＪＰＥＧ２０００規格仕様によれば同一サブバンドに属する２個のコードブロックの量子化は互いに同じ量子化器ステップサイズで行わねばならないが、それらのコードブロックのうち一方が視覚的にはより重要であると判定したエンコーダは、重要な方のコードブロックからより多くのコーディングパスを取り出してレイヤ０に入れるであろう。より具体的には、ＪＰＥＧ２０００エンコーダが第１コードブロックから取り出してレイヤ０に入れるコーディングパスの個数が１２個であるのに対し、第２コードブロックから取り出してレイヤ０に入れるコーディングパスの個数がたった４個である場合、これを、ＪＰＥＧ２０００エンコーダが第１コードブロックに対して第２コードブロックより大きな視覚荷重値を割り当てている、と称する。こうした視覚荷重値は、しかしながら、トランスコーダでは復元できない。即ち、レイヤ０に含めたコーディングパス個数の違いを示しているのは視覚荷重値だけであるということを視覚荷重値自身が示しているというのに、トランスコーダは量子化器ステップサイズしか利用できない。従って、画像をより低いビットレートにトランスコードする際には、ＪＰＥＧ２０００エンコーダが実行した視覚加重を模擬するのが望ましかろう。図７に、この目的を達成できる本発明の他の実施形態を示す。
【００３７】
ＪＰＥＧ２０００ビットストリームパーシングユニット２０２は、ＪＰＥＧ２０００圧縮画像２０１をパーシングし、各種ＪＰＥＧ２０００マーカセグメントに含まれているヘッダ情報２０３を抽出し、そして解像度レベル毎にパケット２０４を分離する。解像度別レイヤ別バイト数カウンタ２０５は解像度レベル所望値２０６についてレイヤ別バイト数テーブル２０８を作成する。レイヤ別バイト数テーブル２０８に含める情報は先に述べた好適な実施形態におけるレイヤ別バイト数テーブル１０８内のそれと同じである。レイヤ推定ユニット２０９は、トランスコード済画像に対するビットレート所望値２０７を入力し、解像度レベル所望値を上回る解像度レベルをビットレート所望値２０７にて実現するためデコードする必要があるレイヤの個数２１０を、レイヤ別バイト数テーブル２０８を利用して決定する。パケットデコーダ２１１は、解像度レベル所望値を上回る解像度レベルとなるよう、レイヤ推定ユニットによりデコード必須レイヤ群とされたレイヤに対応するパケット群をデコードし、更にそのパケットに影響を与えたコードブロック毎に圧縮コードブロックビットストリームを抽出する。連結ユニット２１２は、これらコードブロック別圧縮データを連結することによってコードブロック毎に圧縮コードブロックビットストリーム２１３を生成する。算術デコーダ２１４は、各圧縮コードブロックビットストリーム２１３を算術デコードすることにより、コーディングパス長テーブル２１５を生成する。レートコントロールユニット２１６は、コーディングパス長テーブル２１５及びビットレート所望値２０７に基づき含有コーディングパス情報２１７を生成する。ＪＰＥＧ２０００ビットストリーム生成ユニット２１８は、含有コーディングパス情報２１７、圧縮コードブロックビットストリーム２１３、並びにヘッダ情報２０３を用いてＪＰＥＧ２０００ビットストリームトランスコード結果２１９を生成する。
【００３８】
本実施形態と先に述べた好適な実施形態との間の主たる相違点は、本実施形態ではビットストリームトランスコード結果内にコーディングパスを含めるべきかどうかの決定が、ディストーションとは無関係なことである。そのためレートディストーション操作テーブルは作成せず、代わりにレートコントロールユニットが次の原理による処理を実行する。まず、レイヤ推定器ユニット２０９により決定されたデコード必須レイヤ数をｗとすると、ビットストリームトランスコード結果内に含まれることとなるのは、レイヤ０、１、…ｗ−２内の全コーディングパス、並びにレイヤｗ−１内に含まれるうちの何個かのコーディングパスであり、レイヤｗ以降のレイヤ内のコーディングパスはビットストリームトランスコード結果内には包含されない。レートコントロールユニットは、レイヤｗ−１内のコードブロックＢ内にあるＮW-1B個のコーディングパスのうち一部分を量子化してビットストリームトランスコード結果に含める試みを、コードブロック毎に実行する。次に、このレートコントロールユニット２１６についてより詳細に説明する。
【００３９】
図８に、レートコントロールユニット２１６の動作の流れを示す。レイヤｗ−２に対応する合計ビットレートをＲ(w-2)、レイヤｗ−１に対応する合計ビットレートをＲ(w-1)と表し、ビットレート所望値２０７をＲdesiredと表すこととする。初期化ステップ３０１においては、ＲminにＲ(w-2)が、ＲmaxにＲ(w-1)が、ｆminに０が、そしてｆmaxに１が、それぞれセットされる。次に、比較ステップ３０２においては（ｆmax−ｆmin）がしきい値と比較される。（ｆmax−ｆmin）がしきい値以下であれば、コーディングパス包含個数決定ステップ３０３にてコードブロック毎に、ビットストリームトランスコード結果に含めるべきレイヤｗ−１内コーディングパスの個数ｎW-1Bが次の式
【数５】
2007527651.tif 000007
により計算され、その結果が含有コーディングパス情報２１７として出力される。逆に（ｆmax−ｆmin）がしきい値超であれば、更新ステップ３０４にてｆmaxとｆminとの平均計算によりｆの値が更新される。レート決定ステップ３０５においては、各コードブロックＢに
【数６】
2007527651.tif 000008
個のレイヤｗ−１内コーディングパスが圧縮ビットストリーム内に含まれている場合、合計レートＲ（ｆ）が決定される。次に、前述のものとは別の比較ステップ３０６においては、合計レートＲ（ｆ）がＲdesiredと比較される。Ｒ（ｆ）がＲdesired未満なら前述のものとは別の更新ステップ３０７にてＲminにＲ（ｆ）がまたｆminにｆがそれぞれセットされ、そうでなければステップ３０８にてＲmaxにＲ（ｆ）がまたｆmaxにｆがそれぞれセットされる。何れの場合もこの制御手順はステップ３０２に戻る。本実施形態にてステップ３０２で使用するしきい値は例えば０．０１とするが、いわゆる当業者であれば理解できるように、小さな数値であれば別の数値も選択できる。
【００４０】
いわゆる当業者であれば理解できるように、このようにして生成された含有コーディングパス情報を用いると、最終的に得られる合計ビットレートがビットレート所望値より低くなることがある。そうした場合は、各コードブロック内のコーディングパスを、まず１個から始めて追加していき、これ以上コーディングパスを追加したらビットレート所望値を上回ってしまう点を超えるまで、増やしていけばよい。コーディングパス追加先コードブロックは、好ましくは、より低い解像度レベルに属するコードブロックの方がより高い解像度レベルに属するコードブロックより先にコーディングパス追加対象となるよう、また解像度レベルが同じコードブロック同士ではその所属先プレシンクトのラスタ走査順でコーディングパス追加対象となるよう、そして同じプレシンクトに属するコードブロック同士では図４に示した順番でコーディングパス追加対象となるよう、順番を決めて選ぶとよい。
【００４１】
ある条件下では、算術デコーダ２１４を使用せずにコーディングパス長テーブル２１５を生成することができる。特に、そもそもＪＰＥＧ２０００圧縮ビットストリームを生成するときに、コーディングパスを１個エンコードするたびにＭＱエンコーダを再起動させるようにすれば、そのＪＰＥＧ２０００圧縮ビットストリーム内のパケットヘッダ群内に、そのコーディングパスに対応する圧縮データのサイズに関する情報が組み込まれることとなる。このような措置が執られていればそれらコーディングパスの算術デコード（２１４）は不要になり、パケットヘッダを読み取るのみでコーディングパス長テーブル２１５を十分に作成することができる。そのようにする際には、図７中有の算術デコーダ２１４に代えて別のパス長ユニット、例えばパケットヘッダリーダ（図示せず）を設ければよい。
【００４２】
以上説明した複数個の実施形態に対しては、別紙特許請求の範囲にて定義されている本発明の主題及び神髄から逸脱することなく、更なる変形乃至修正を施すことができる。そうした変形及び修正によって得られる構成は、本発明の技術的範囲に含まれるのであるから、本発明の一部として本願により開示されていると認められるものである。
【図面の簡単な説明】
【００４３】
【図１】ＪＰＥＧ２０００エンコーダ及びＪＰＥＧ２０００デコーダの概略ブロック図である。
【図２】レベル３二次元ＤＷＴを示す図である。
【図３】ステップサイズΔの均一不感帯量子化器を示す図である。
【図４】レベル３で分解された７６８×５１２サイズの画像におけるプレシンクト分割を示す図である。
【図５】一実施形態に係るトランスコーダの示すフローチャートである。
【図６】レイヤ別バイト数テーブルの一例を示す図である。
【図７】他の実施形態に係るトランスコーダを示す図である。
【図８】レートコントロールユニットのフローチャートである。
【図１】
2007527651.tif 000009
【図２】
2007527651.tif 000010
【図３】
2007527651.tif 000011
【図４】
2007527651.tif 000012
【図５】
2007527651.tif 000013
【図６】
2007527651.tif 000014
【図７】
2007527651.tif 000015
【図８】
2007527651.tif 000016
【手続補正書】
【提出日】平成19年5月25日(2007.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１解像度からそれ以下の第２解像度へ且つ第１ビットレートからそれ以下の第２ビットレートへと圧縮画像をトランスコードする方法であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である方法において、
第２解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
第２ビットレートにて第２解像度を上回る解像度を得る上でデコードすべきデコード必須レイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから第２解像度を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結してコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第２ビットレートに基づき生成するステップと、
各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項２】
ＪＰＥＧ２０００圧縮画像をトランスコードする方法であって、当該ＪＰＥＧ２０００圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたＪＰＥＧ２０００圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記ＪＰＥＧ２０００圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
解像度所望値にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成するステップと、
ビットレート所望値にて解像度所望値を上回る解像度を得る上でデコードすべきデコード必須レイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして、サブバンド係数別の量子化器インデクスと、各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルとを生成するステップと、
量子化器インデクス及びコーディングパス長テーブルから各コードブロックについてレートディストーション操作テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を、レートディストーション操作テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からＪＰＥＧ２０００ビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項３】
ＪＰＥＧ２０００圧縮画像をトランスコードする方法であって、当該ＪＰＥＧ２０００圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成されたＪＰＥＧ２０００圧縮画像である方法において、
解像度所望値及びビットレート所望値を受け取るステップと、
上記ＪＰＥＧ２０００圧縮画像をパーシングしてヘッダ情報を抽出するステップと、
ビットレート所望値で解像度所望値を上回る解像度を得る上でデコードすべきデコード必須レイヤを一組推定するステップと、
上記デコード必須レイヤに含まれるパケットから解像度所望値を上回る解像度範囲に属する含有コードブロック毎に圧縮データを抽出するステップと、
このコードブロック別の圧縮データを連結することによってコードブロック別の圧縮コードブロックビットストリームを生成するステップと、
このコードブロック別の圧縮コードブロックビットストリームを算術デコードして各コーディングパスのデコード後における圧縮データ長推定結果を含むコーディングパス長テーブルを生成するステップと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を各コーディングパス長テーブル及びビットレート所望値を利用して生成するステップと、
ヘッダ情報、各圧縮コードブロックビットストリーム及び各含有コーディングパス情報からＪＰＥＧ２０００ビットストリームトランスコード結果を生成するステップと、
を有する方法。
【請求項４】
第１解像度からそれ以下の第２解像度へ且つ第１ビットレートからそれ以下の第２ビットレートへと圧縮画像をトランスコードする装置であって、当該圧縮画像が、その構成要素である何個かのサブバンドがそれぞれ何個かのコーディングパスにより圧縮ビットストリームへとエンコードされており、この圧縮ビットストリームを構成する量子化サブバンド係数群が、各サブバンド内で何個かのコードブロックに区切られる一方何個かのパケット更には一組のレイヤに集積編成された圧縮画像である装置において、
第２解像度にてレイヤ別バイト数を計算してレイヤ別バイト数テーブルを生成する解像度別レイヤ別バイト数カウンタと、
第２解像度及び第２ビットレートに基づき上記圧縮画像を構成するレイヤ群の中から一組のデコード必須レイヤを推定するレイヤ推定ユニットと、
上記デコード必須レイヤに含まれるパケットからそのパケット内に集積されているコードブロック毎に圧縮データを抽出するパケットデコーダと、
この圧縮データを連結してコードブロック毎に圧縮コードブロックビットストリームを生成する連結ユニットと、
ビットストリームトランスコード結果内に含まれるべきコーディングパスを表す含有コーディングパス情報を第２ビットレートを用い生成するレートコントロールユニットと、
圧縮コードブロックビットストリーム及び含有コーディングパス情報からビットストリームトランスコード結果を生成するビットストリーム生成ユニットと、
を備える装置。
【国際調査報告】
2007527651.tif 000017
2007527651.tif 000018
2007527651.tif 000019