JP2009302638A - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP2009302638A
JP2009302638A JP2008151696A JP2008151696A JP2009302638A JP 2009302638 A JP2009302638 A JP 2009302638A JP 2008151696 A JP2008151696 A JP 2008151696A JP 2008151696 A JP2008151696 A JP 2008151696A JP 2009302638 A JP2009302638 A JP 2009302638A
Authority
JP
Japan
Prior art keywords
unit
code stream
encoding
bit plane
image data
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
JP2008151696A
Other languages
English (en)
Other versions
JP4656190B2 (ja
Inventor
Takahiro Fukuhara
隆浩 福原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008151696A priority Critical patent/JP4656190B2/ja
Priority to US12/466,588 priority patent/US8463056B2/en
Priority to CN200910146043XA priority patent/CN101605264B/zh
Publication of JP2009302638A publication Critical patent/JP2009302638A/ja
Application granted granted Critical
Publication of JP4656190B2 publication Critical patent/JP4656190B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】コードストリームを他の形式のコードストリームに変換する際の負荷を低減させるとともに不要な画質劣化を抑制することができるようにする。
【解決手段】エンコード部102は、生成するコードストリームに関する情報、例えば、目標圧縮率や解像度の情報を、変換目標情報として部分デコード部101に供給する。部分デコード部101は、その変換目標情報に基づいて、コードストリームを必要な分だけ、部分的に復号してベースバンドの画像データを生成する。エンコード部102は、そのベースバンドの画像データを所定の圧縮方式により圧縮符号化し、生成したコードストリームを出力する。本発明は、例えば、トランスコーダに適用することができる。
【選択図】図1

Description

本発明は、情報処理装置および方法に関し、特に、コードストリームの圧縮率、画像の解像度、または色形式等の形式変換処理(トランスコード)の負荷を低減させることができるようにした情報処理装置および方法、並びにプログラムに関する。
従来のアーカイブシステムまたは画像のデータベースでは、マスタ画像と呼ばれる非圧縮の画像を記憶・保持しておき、これを必要に応じて圧縮して、圧縮結果のファイルをネットワーク経由で配信したり、記録メディアに保存したりする等のオペレーションを行っている。
映画制作では、まず35mmまたは60mmフィルムで撮影して、フィルムスキャンコンバータという機器を用いてデジタルデータにコンバートする。このデジタル化された映画ソースがマスタ画像になる。
医用の場合でも、レントゲン写真の画像は直接非圧縮のデータになる場合もあるが、フィルムの場合は上記と同様にフィルムスキャンされたデジタルデータがマスタ画像になる。
また、最近の一眼レフデジカメでは、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)のイメージセンサから取得したRAWデータまたはRGBデータを、非圧縮のままメモリカードに保存できるものが多い。
以上の様に、非圧縮のマスタ画像は画像としてのデータに欠損がないため重要であるが、難点はデータサイズが巨大になることである。従って、マスタ画像をネットワーク経由で転送する場合や、メモリカードに多くの画像を記録する場合には、何らかの圧縮(エンコード)を余議なくされる。
またハードディスクの容量は有限であることから、マスタ画像を可逆圧縮して、この可逆圧縮ファイルをハードディスクに記憶させる手段も採られている。その際、マスタ画像はテープなどのより安価な記録媒体にセーブしておくのが便利である。
デジタルシネマの用途では、DCI規格(Digital Cinema Initiatives)によって、映画配信のための圧縮フォーマットが決まっている。それによれば、ISO(International Organization for Standardization)規格のJPEG(Joint Photographic Experts Group)2000 Part-1を圧縮・伸長技術として使い、ビットレートは4,096×2,160のXYZ 12ビット(24Hz)の動画シーケンスに対して、ピークレートで250Mbpsである。従って、マスタ画像を上記のビットレートにエンコードして配信、及び上映する必要がある。
DCI規格では4,096×2,160というHDTV(High Definition Television)の4倍もの解像度を扱うので、上述した様に1度マスタ画像を可逆圧縮してデータサイズを数分の1に縮小してから、ハードディスクなどの記録装置に保存することが多い。
その後、可逆圧縮ファイルを可逆伸長してベースバンドに戻してから、JPEG2000非可逆圧縮によってDCI規格のJPEG2000ファイルを生成する手順になる。
一方、JPEG2000以外のコーデックについて言及すれば、BS(Broadcasting Satellite)デジタル放送ではMPEG-2(Moving Picture Experts Group -2)が普及しており、ワンセグ放送ではH.264のビデオ圧縮・伸長方式が採用されている。従って、1度JPEG2000で圧縮された画像をMPEG-2やH.264の他コーデックに変換する用途も生ずる。またJPEG2000ではデジタルシネマなど高解像度を対象とすることが多いが、MPEG-2やH.264ではHDTV以下の解像度がメインである。従って、JPEG2000からMPEG-2やH.264にトランスコードする場合、解像度変換も同時に行う必要性が生じる場合もある。
データ変換としては、例えば、高解像度画像のビットストリームのDCTブロックの低周波成分の係数のみを用いて逆離散コサイン変換を行い、標準解像度画像に復号するダウンデコーダがあった(例えば、特許文献1および特許文献2参照)。
特許4016166号 特許4026238号
しかしながら、コードストリームの形式を変換する従来のトランスコーダによる変換処理では、コードストリームを全てデコードし、ベースバンドのデータに対して変換処理を行い、エンコード処理によってコードストリームに変換していた。そのため、上述したようにマスタ画像のデータ量が大きい場合、デコード処理の負荷が増大する恐れがあった。
また、特許文献1や特許文献2に記載の方法では、符号化方式にMPEG-2が用いられているため、処理が複雑化し、負荷も増大する。また、変換処理による画質の劣化も大きい。さらに、エンコード処理との連携も考えられていない。
本発明はこのような問題を解決するためのものであり、コードストリームを他の形式のコードストリームに変換する際の負荷を低減させ、さらに不要な画質劣化を抑制することができるようにするものである。
本発明の一側面は、画像データが符号化された第1のコードストリームの一部分を復号する部分復号手段と、前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第1のコードストリームの形式を変換した第2のコードストリームを生成する符号化手段とを備え、前記符号化手段は、前記第2のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第2のコードストリームを生成し、前記部分復号手段は、前記目標値を用いて、前記第1のコードストリームの復号する部分を決定し、復号する情報処理装置である。
前記第1のコードストリームは、ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数がエントロピ符号化されて生成され、前記部分復号手段は、前記第1のコードストリームをエントロピ復号するエントロピ復号手段と、前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化手段が前記符号化により所望の形式の前記第2のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出する抽出手段と、前記抽出手段により抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成するベースバンドデータ生成手段とを備えることができる。
前記抽出手段は、前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記第2のコードストリームの画像の解像度の目標値に応じて、必要なサブバンドを選択するサブバンド選択手段を備えることができる。
前記符号化手段は、前記第2のコードストリームの画像の解像度が目標値に一致または近似するように前記ベースバンドの画像データを符号化し、前記サブバンド選択手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記サブバンドを選択することができる。
前記抽出手段は、前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数のビットプレーンのデータ量をカウントするカウント手段と、前記カウント手段によりカウントされる前記データ量に基づいて選択するビットプレーンの圧縮率を算出し、前記圧縮率と前記第2のコードストリームの圧縮率の目標値に基づいて、選択するビットプレーンを決定する決定手段を備えることができる。
前記符号化手段は、前記第2のコードストリームの圧縮率が前記目標値に一致または近似するように前記ベースバンドの画像データを符号化し、前記決定手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記ビットプレーンを選択することができる。
前記抽出手段は、前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記第2のコードストリームの色形式に応じて、必要なサブバンドを選択するサブバンド選択手段を備えることができる。
前記ベースバンド生成手段は、前記第2のコードストリームの色形式に応じた方法で、前記ウェーブレット変換係数に対するウェーブレット逆変換を行い、前記色形式の前記ベースバンドの画像データを生成することができる。
本発明の一側面は、また、画像データが符号化された第1のコードストリームの形式を変換し、第2のコードストリームを生成する情報処理装置は、前記第1のコードストリームの一部分を復号する部分復号手段と、前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第2のコードストリームを生成する符号化手段とを備え、前記符号化手段が、前記第2のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第2のコードストリームを生成し、前記部分復号手段が、前記目標値を用いて、前記第1のコードストリームの復号する部分を決定し、復号する情報処理方法。
本発明においては、第2のコードストリームに関するパラメータの目標値が用いられて、第1のコードストリームの復号する部分が決定され、その部分が復号され、その目標値が用いられてそのベースバンドの画像データが符号化されて所望の形式の第2のコードストリームが生成される。
本発明によれば、コードストリームを他の形式に変換することができる。特に、コードストリームを他の形式のコードストリームに変換する際の負荷を低減させるとともに不要な画質劣化を抑制することができることができる。
図1は、本発明を適用したトランスコーダの構成例を示すブロック図である。図1に示されるトランスコーダ100は、画像データが符号化されたコードストリーム(符号化データ)を、他の形式のコードストリームに変換する形式変換装置である。例えば、トランスコーダ100は、JPEG(Joint Photographic Experts Group)2000の方式で符号化されたコードストリームをH.264の符号化データに形式変換する。
トランスコーダ100は、コードストリームを復号するデコーダと、復号して得られるベースバンドの画像データを符号化するエンコーダを有する。このとき、トランスコーダ100は、符号化の目標値となる圧縮率や画像の解像度等の情報に基づいて復号処理を行うことにより、不要なデータに対する処理を低減させる。これによりトランスコーダ100は、復号処理の負荷を軽減させるようにするだけでなく、変換処理による不要な画質劣化を低減することができる。
図1に示されるように、トランスコーダ100は、部分デコード部101、エンコード部102、および入力部103を有する。
部分デコード部101は、入力されたコードストリームの一部を復号し、ベースバンドの画像データを生成する。エンコード部102は、そのベースバンドの画像データを所定の圧縮方式により圧縮符号化し、生成したコードストリームを出力する。
このとき、エンコード部102は、生成するコードストリームに関する情報、例えば、目標圧縮率や解像度の情報を、変換目標情報として部分デコード部101に供給する。部分デコード部101は、その変換目標情報に基づいて、コードストリームを必要な分だけ、部分的に復号してベースバンドの画像データを生成する。後述するように、部分デコード部101は、形式変換によるコードストリームのデータとしての変化量(符号量や解像度の変化)が大きいほど、復号するコードストリームの部分が少なくて済むので、復号処理の処理量を低減させることができる。
ただし、部分デコード部101が生成するベースバンドの符号量が少なすぎると、エンコード部102が目標符号量や解像度を達成することができなくなる恐れがある。そこで、部分デコード部101は、エンコード部102が目標値を達成するのに必要な情報量、若しくは、それより少し多くの情報量のベースバンドの画像データを生成するように、符号を選択して復号する。換言すれば、部分デコード部101は、エンコード部102が目標を達成することができる範囲において、復号処理の処理量をより低減させるように、コードストリームを部分的に復号する。部分デコード部101は、その範囲を、エンコード部102より供給される変換目標情報により判断する。以上のように部分デコード処理を行うことにより、部分デコード部101は、マスタ画像(原画像)のデータサイズが大きくても、容易かつ適切にコードストリームを復号することができる。
以下において、このようなコードストリームの一部分を復号することを部分デコード処理と称する。また、トランスコーダ100は、どのような方式のコードストリームを形式変換するようにしてもよい。以下においては、トランスコーダ100が、JPEG2000方式で符号化されたコードストリームを受け付け、その画像の解像度およびビットレート(圧縮率)を変換し、JPEG2000方式で符号化されたコードストリームを出力する場合について説明する。つまり、部分デコード部101およびエンコード部102は、JPEG2000方式で符号化または復号を行う。JPEG2000以外の方式のコードストリームを受け付ける、または、JPEG2000以外の方式のコードストリームを出力する場合は、部分デコード部101およびエンコード部102のそれぞれの対応する符号化復号方式を対応させればよい。
部分デコード部101は、エントロピ復号部111、抽出部112、およびベースバンド生成部113を有している。エントロピ復号部111は、入力されたコードストリームをエントロピ復号し、得られた係数データを抽出部112に供給する。抽出部112は、エンコード部102より供給される変換目標情報に基づいて、必要な係数データを抽出し、ベースバンド生成部113に供給する。ベースバンド生成部113は、供給された係数データに対してウェーブレット逆変換等の処理を行い、ベースバンドの画像データを生成し、それをエンコード部102に供給する。
エンコード部102は、コードストリーム生成部121、制御部122、および供給部123を有する。コードストリーム生成部121は、部分デコード部101より供給されるベースバンドの画像データを、制御部122の制御に基づいて、例えばJPEG2000方式で符号化し、コードストリームを生成し、出力する。制御部122は、入力部103により受け付けられた、外部の装置より供給される情報またはユーザ操作に基づいて、変換後のコードストリームのビットレート(圧縮率)や画像の解像度等を用いてコードストリーム生成部121を制御する。また、制御部122は、入力部103より入力された情報を供給部123に供給する。供給部123は、その情報を変換目標情報として部分デコード部101に供給する。
このとき、抽出部112は、その変換目標情報に基づいてエンコードに必要なデータのみ抽出するので、ベースバンド生成部113は、不要なデータの処理を低減させることができる。
次に、図1のトランスコーダ100の構成の詳細について説明する。説明の便宜上、エンコード部102より先に説明し、その後、部分デコード部101の説明を行う。図2は、図1のエンコード部102の詳細な構成例を示すブロック図である。図2に示されるように、エンコード部102のコードストリーム生成部121は、DCレベルシフト部151、ウェーブレット変換部152、量子化部153、コードブロック化部154、ビットプレーン展開部155、EBCOT(Embedded Coding with Optimized Truncation)部156、ヘッダ生成部157、およびパケット生成部158を有する。
DCレベルシフト部151は、後段のウェーブレット変換を効率的に行うために画像データのDC成分のレベルシフトを行う。例えば、RGB信号が正の値(符号無しの整数)を持っている。そこで、DCレベルシフト部151は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従ってYCbCr信号のCbやCr(色差信号)の様に符号(正負両方あり)の整数値を持つ信号を原信号とする場合、このレベルシフトは行われない。
ウェーブレット変換部152は、通常低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答(フィルタ係数)を有するので、ウェーブレット変換部152は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
ウェーブレット変換部152は、DCレベルシフト部151より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得すると、そのDCレベルシフト後の画像データに対して、5×3ウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部152は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
そして、ウェーブレット変換部152は、このようなフィルタリング処理を、図3に示されるように、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、例えば、図4に示されるように、画像のエネルギーの多くが低域成分に集中しているからである。
図3は、分割レベル数3のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。この場合、ウェーブレット変換部152は、まず、画像全体をフィルタリングし、サブバンド3LL(図示せず)、3HL、3LH、および3HHを生成する。次に、ウェーブレット変換部152は、生成されたサブバンド3LLに対して再度フィルタリングを行い、2LL(図示せず)、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部152は、生成されたサブバンド2LLに対して再度フィルタリングを行い、0LL、1HL、1LH、および1HHを生成する。
図4は、分割レベルを進めていくに従い、各帯域が形成されていく様子を示す図である。図4の左側には、分割レベルが1のウェーブレット変換処理により得られた各サブバンドの画像の様子が示されており、図4の右側には、分割レベルが3のウェーブレット変換処理により得られた各サブバンドの画像の様子が示されている。つまり、図4の右側は、図3の各サブバンドの画像の様子を示したものである。
ウェーブレット変換部152は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、量子化部153に供給する。このとき、ウェーブレット変換部152は、各サブバンドを、その重要度順(重要度の高いほうから低いほうに向かう順に)に供給する。一般的に、ウェーブレット変換部152は、各サブバンドを、低域から高域に向かう順に量子化部153に供給する。
量子化部153は、そのウェーブレット係数を量子化し、コードブロック化部154に供給する。なお、JPEG2000の規格では、可逆圧縮の場合符号化パスまたはビットプレーンのすべてが符号化されるため、量子化部153は省略される。
ウェーブレット係数は、コードブロック化部154で、エントロピ符号化の処理単位である所定の大きさのコードブロックに分割される。図5は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。図3の例において、最も分割レベルが小さい3HHのサブバンドの大きさが例えば640×320画素であるとすると、64×64画素のコードブロックは合計50個存在することになる。後段の各処理部は、このコードブロック毎に処理を行う。
コードブロック化部154は、各コードブロックをその重要度順(重要度の高いほうから低いほうへ向かう順)に、ビットプレーン展開部155に供給する。ビットプレーン展開部155は、係数データを、ビットの位毎のビットプレーンに展開し、それをEBCOT部156に供給する。
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群を、1ビット毎、つまり位毎に分割(スライス)したものである。つまり、ビットプレーンは、その係数群の互いに同一の位のビット(係数ビット)の集合である。
図6にその具体例を示す。図6の左図は縦4個、横4個の計16個の係数を示している。この16個の係数のうち、絶対値が最大のものは13で、2進数で1101と表現される。ビットプレーン展開部155は、このような係数群を、絶対値を示す4枚のビットプレーン(絶対値のビットプレーン)と、符号を示す1枚のビットプレーン(符号のビットプレーン)に展開する。つまり、図6中左の係数群は、図6中右に示されるように、4枚の絶対値のビットプレーンと1枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて0か1の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が0であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
ビットプレーン展開部155は、このように展開したビットプレーンをその重要度順(重要度の高いほうから低いほうへ向かう順)に、EBCOT部156に供給する。EBCOT部156は、係数データのビットプレーンを、その順、すなわち、重要度の高いほうから低いほうへ向かう順に符号化する。例えば、EBCOT部156は、各ビットプレーンを、係数の最上位ビット(MSB:Most Significant Bit)から最下位ビット(LSB:Less Significant Bit)に向かう順に符号化する。
図2に示されるようにEBCOT部156は、入力される係数データに対して、JPEG2000規格で定められたEBCOTと呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
EBCOT部156は、ビットモデリング部161および算術符号化部162を有する。ビットモデリング部161は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、算術符号化部162にコンテキストを送出する。算術符号化部162は、係数のビットプレーンを算術符号化する。
コードブロックの縦横のサイズは4から256まで2のべき乗で、通常使用される大きさは、32×32、64×64、128×32等がある。係数値がnビットの符号付き2進数で表されていて、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表わすとする。残りの1ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の3種類の符号化パスによって行われる。
(1)Significant Propagation Pass
あるビットプレーンを符号化するSignificance Propagation Passでは、8近傍の少なくとも1つの係数が有意(Significant)であるようなnon-significant係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が1である場合は、符号が+であるか、−であるかが続けて算術符号化される。
ここでsignificanceという言葉について説明する。Significanceとは、各係数に対して符号化されたときにsignificantを表わす1に変化し、以降常に1であり続けるものである。従って、significanceとは、有効桁の情報をすでに符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
(2)Magnitude Refinement Pass
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化するSignificance Propagation Passで符号化されていないsignificantな係数のビットプレーンの値が算術符号化される。
(3)Cleanup Pass
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Pass で符号化されていないnon-sigunificanceな係数のビットプレーンの値が算術符号化される。また、その符号化されたビットプレーンの値が1である場合、符号が+であるか−であるかが続けて算術符号化される。
なお、以上の3つのPassでの算術符号化では、ケースに応じて(1)ZC(Zero Coding)、(2)RLC(Run-Length Coding)、(3)SC(Sign Coding)、または(4)MR(Magnitude Refinement)等の手法が使い分けられる。なお、ここではMQ符号化と呼ばれる算術符号が用いられるものとする。MQ符号化は、JBIG2で規定された学習型の2値算術符号である。JPEG2000では、すべての符号化パスで合計19種類のコンテキストがある。
これらの3つの符号化パスの用いられる順序の例は図7に示される。最初に最上位ビット(MSB)のビットプレーンであるビットプレーン(n−2){Bit-Plane(n−2)}がCleanup Passによって符号化される。続いて1枚ずつ順次LSB側に向かって各ビットプレーンが、上述した3つの符号化パスがSignificant Propagation Pass,Magnitude Refinement Pass,Cleanup Passの順序で用いられて符号化される。
ただし、実際には、EBCOT部156は、MSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、全ての係数が0のビットプレーン(ゼロビットプレーンと称する)は符号化しない。
次に、係数の走査(スキャニング)について図8を用いて説明する。コードブロックは高さ4個の係数毎にストライプ(stripe)に分けられるストライプの幅はコードブロックの幅に等しい。スキャン順とは、1個のコードブロック内の、全ての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中の全ての係数が、このスキャン順で処理される。
なお、サブバンドや画像全体における符号化の順序の詳細については後述するが、EBCOT部156は、基本的に、重要度の高いものから低いものに向かう順序で各係数ビットを符号化する。
図2に戻り、EBCOT部156の算術符号化部162は、生成した符号化コードストリームを、制御部122の符号量加算部172を介してヘッダ生成部157およびパケット生成部158に供給する。
ヘッダ生成部157は、ヘッダ情報を生成し、そのヘッダ情報をパケット生成部158に供給する。パケット生成部158は、そのヘッダ情報を用いて符号化コードストリームのパケット化を行う。
JPEG2000規格では、符号化コードストリームを表現する際に、パケットと呼ばれる単位で符号化コードストリームがパッキングされる。このパケットの概念を図示したものが図9である。この図では、図3の例と同様に、ウェーブレット変換が3回施された例である。この場合、図9に示されるように、最低域の第1パケットから最高域の第4パケットまでの4個のパケットが生成される。従って、これら個々のパケット内サブバンド中に存在する、全てのコードブロックの符号化コードストリームが、パケット生成部158において、パケット毎にパッキングされ、エンコード部102より出力される。
また、図2に示されるように、エンコード部102の制御部122は、制御部171と符号量加算部172を有する。
符号量加算部172は、EBCOT部156より供給される符号語の符号量をカウントし、累積する。そして、符号量加算部172は、その符号語をヘッダ生成部157およびパケット生成部158に供給するとともに、符号量の累積値を制御部171に供給する。制御部171は、供給された符号量の累積値と、入力部103より入力された目標符号量とを比較し、累積値が目標符号量より小さい場合、EBCOT部156を制御し、次のビットプレーンの符号化を行わせる。EBCOT部156は、その制御に従って次に重要なビットプレーンを符号化し、生成した符号語を符号量加算部172に供給する。符号量加算部172は、その符号語の符号量をカウントして累積し、累積値を制御部171に供給する。
累積値が目標符号量に達するまで、以上のような処理が繰り返される。そして、累積値が目標符号量に達すると、制御部171は、EBCOT部156を制御し、符号化処理を終了させる。
以上のように、制御部171が、符号量加算部172において算出された符号量の累積値に基づいて、EBCOT部156を制御することにより、コードストリーム生成部121は、符号量を調整しながら符号化を行う。
制御部171は、さらに、入力部103より入力された出力コードストリーム(変換後のコードストリーム)の目標圧縮率(目標符号量)や画像の解像度の情報を、供給部123の目標圧縮率供給部182や解像度情報供給部181に供給する。
供給部123は、解像度情報供給部181、目標圧縮率供給部182、および多重化部183を有する。解像度情報供給部181は、制御部171より供給される、出力コードストリームの画像の解像度に関する情報を多重化部183に供給する。目標圧縮率供給部182は、制御部171において設定されている目標符号量とマスタ画像のデータ量に基づいて算出される、部分デコード部101における目標圧縮率を多重化部183に供給する。多重化部183は、解像度情報供給部181より供給される解像度の情報と、目標圧縮率供給部182より供給される目標圧縮率の情報を多重化し、変換目標情報として部分デコード部101の抽出部112に供給する。
これにより、部分デコード部101は、その目標圧縮率や解像度に合わせて、デコード処理を行うことができ、マスタ画像のデータ量が大きい場合であっても、不要な処理の負荷の増大を適切に抑制することができる。なお、目標圧縮率情報および解像度情報は、多重化せずにそれぞれを互いに独立に部分デコード部101に供給されるようにしてもよい。
次に図1の部分デコード部101について説明する。
図10は、図1の部分デコード部101の詳細な構成例を示すブロック図である。図10に示されるように、部分デコード部101のエントロピ復号部111は、パケット解読部201およびEBCOT部202を有する。
パケット解読部201は、入力されたパケットを解読し、パケットからコードストリームを抽出してEBCOT部202に供給する。EBCOT部202は、そのコードストリームをエントロピ復号し、ビットプレーンに展開されたウェーブレット係数を生成する。EBCOT部202は、算術復号部211およびビットモデリング部212を有する。算術復号部211はコードストリームを復号し、ビットモデリング部212はビットプレーンに展開されたウェーブレット係数を生成する。EBCOT部202は、生成したビットプレーン毎の係数データを、抽出部112のサブバンド選択部223に供給する。
抽出部112は、解像度情報取得部221、目標圧縮率取得部222、サブバンド選択部223、選択ビットプレーン符号量カウント部224、および選択ビットプレーン決定部225を有する。
解像度情報取得部221は、エンコード部102の供給部123より供給される変換目標情報より解像度情報を抽出して取得する。つまり、解像度情報取得部221は、解像度情報供給部181より供給される解像度情報を取得する。目標圧縮率取得部222は、エンコード部102の供給部123より供給される変換目標情報より目標圧縮率を抽出して取得する。つまり、目標圧縮率取得部222は、目標圧縮率供給部182より供給される目標圧縮率を取得する。
ビットモデリング部212より供給される係数データは、サブバンド毎に並べられた各係数データがさらにビットプレーン毎に並べられたものである。サブバンド選択部223は、解像度情報取得部221より供給される解像度情報に基づいて、ベースバンドの画像データに使用する係数データをサブバンド単位で選択する。つまり、サブバンド選択部223は、解像度情報に指定される解像度の画像データを生成するために必要なサブバンドを抽出する。サブバンド選択部223は、選択したサブバンドを選択ビットプレーン符号量カウント部224に供給する。
選択ビットプレーン符号量カウント部224は、供給されるビットプレーンを蓄積する。また、選択ビットプレーン符号量カウント部224は、蓄積したビットプレーンの中から、まず、後段の処理部に供給する(つまり復号結果として利用する)ビットプレーンである選択ビットプレーンの候補を選び、その候補の符号量をカウントし、そのカウント値(符号量の情報)を選択ビットプレーン決定部225に供給する。目標圧縮率取得部222は、変換目標情報より目標圧縮率を取得し、それを選択ビットプレーン決定部225に供給する。この目標符号量は、上述したように、エンコード部102が目標符号量を達成するために必要なベースバンドの画像データの符号量を、マスタ画像(原画像)の画像データに対する圧縮率で表したものである。
選択ビットプレーン決定部225は、選択ビットプレーン符号量カウント部224より供給される選択ビットプレーンの候補の符号量を用いて、その選択ビットプレーンの候補の、マスタ画像(原画像)の画像データに対する圧縮率を算出し、その圧縮率が、目標圧縮率取得部222より供給された目標圧縮率以下となったか否かを判定する。目標圧縮率に達した時点で、選択ビットプレーン決定部225は、選択ビットプレーン符号量カウント部224より選択ビットプレーンの候補を取得し、それらの候補を正式に選択ビットプレーンとして決定し、後段のベースバンド生成部113のコードブロック合成部231に供給する。
以上のように、抽出部112が、エンコード部102より取得する変換目標情報に応じて、一部のビットプレーンを選択することにより、ベースバンド生成部113は、その選択した一部のビットプレーンのみを用いてベースバンドの画像データを生成することができる。このようにすることにより、部分デコード部101は、エンコード部102において必要なデータ量、もしくは、それより少し多目のデータ量のベースバンドの画像データを生成することができる。
つまり、部分デコード部101は、入力されたコードストリームのうち、一部分のみを使用してベースバンドの画像データを生成する。上述したように、エンコード部102より供給される変換目標情報に基づいてこのような部分デコード処理を行うことにより、少なくともエンコード部102における符号化に必要なデータ量(目標符号量や解像度を達成するために必要な符号量)が確保されているので、エンコード部102は、不要な画質の劣化を伴わずにコードストリームを生成することができる。つまり、トランスコーダ100は、不要な画質の劣化なしにコードストリームの形式変換を行うことができる。このように、部分デコード部101は、上述した部分デコード処理により、不要に高画質なベースバンドの画像データを生成する必要がなくなり、マスタ画像のデータ量が大きい場合であっても、不要に画質を低下させずに(適切に)、不要な処理の負荷の増大を抑制する(容易に復号処理を行う)ことができる。
なお、選択ビットプレーン符号量カウント部224は、重要度の高いビットプレーンを優先的に選択ビットプレーンの候補として選択する。つまり、選択ビットプレーン符号量カウント部224は、蓄積したビットプレーンを、重要度の高い方から低い方に向かう順に選択ビットプレーンの候補として1つずつ選択し、選択する度に符号量を算出し、選択ビットプレーン決定部225にその情報を供給する。
換言すれば、部分デコード部101は、重要度の高いデータほど優先的に復号してベースバンドの画像データを生成する。このように部分デコード処理を行うことにより、部分デコード部101は、可能な限り画質の劣化を抑制するように適切に復号処理を行うことができる。
ベースバンド生成部113は、コードブロック合成部231、逆量子化部232、ウェーブレット逆変換部233、およびDCレベル逆シフト部234を有する。
コードブロック合成部231は、供給されたビットプレーンを用いてコードブロック単位の係数データを生成し、さらにそれらを合成し、サブバンド毎の係数データを生成し、それを逆量子化部232に供給する。逆量子化部232は、供給された係数データを逆量子化し、それをウェーブレット逆変換部233に供給する。なお、トランスコーダ100に入力されたコードストリームが可逆方式で圧縮されたコードストリームの場合、この逆量子化部232は省略される。ウェーブレット逆変換部233は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。DCレベル逆シフト部234は、その画像データのDC成分に対して、符号化時にシフトされた分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部234は、DCレベル逆シフト処理後の画像データをエンコード部102に供給する。
続いて、係数の重要度について説明する。トランスコーダ100において、部分デコード部101およびエンコード部102は、既存のRD(Rate-Distortion)特性を利用したレート制御法とは大きくことなり、基本的に、重要度の高いものから低いものに向かう順番に各係数ビットを符号化または復号する。
例えば、図11は、1つのサブバンドY-0LLを符号化(または復号)する順の例を示す図である。Y-0LLのYは輝度を表し、0LLは最低域を示している。このY-0LLにおいて、コードブロックCB0乃至コードブロックCBnまで(n+1)個のコードブロックが存在していることを示している。模様が付されている部分が、各コードブロックのビットプレーン群を示す。
図11に示されるように、サブバンド内において、EBCOT部156およびEBCOT部202は、各コードブロックのビットプレーンを、優先順位の高いコードブロックから優先順位の低いコードブロックの順に符号化または復号する。図11において、コードブロックCB0が最も優先順位の高い(最も重要度の高い)コードブロックを示し、コードブロックCBnが優先順位の最も低い(最も重要度の低い)コードブロックを示している。上述したように、各ビットプレーンは、MSBからLSBに向かう順に符号化または復号されるので、結局、図11の例の場合、Y-0LL内の符号化・復号順は、矢印に示されるように順となる。
係数が0しか存在しないゼロビットプレーンは処理されないので、実際には、ビットプレーンは、図11中に示される番号順((1)から(14)に向かう順)に処理される。なお、図11中においては、この番号は、円で囲まれた数字で示されているが、本明細書中においては括弧つき数字で示す。つまり、最初にEBCOTの対象になるのは、最もビット位置の高い(1)のビットプレーンになる。このビット位置では(1)しかビットプレーンが存在していないので、(1)だけをEBCOTして、次のビット位置に移動する(点線で図示してある)。次のビット位置では、(2)と(3)のビットプレーンがEBCOTの対象になる。
次に、データ量の調整方法について説明する。
まず、エンコード部102の場合、上述した走査を繰り返し行い、各ビットプレーンのEBCOT符号化で発生した符号量を、前述の様に加算していき、その累算結果が目標符号量に達したときに、EBCOTを終了する。例えば、図11において、(9)まで符号化した時点で目標符号量に到達したとすると、制御部171は、その時点でEBCOT部156に符号化を終了させる。従ってこの場合、(10)も(9)とは同じビット位置にはあるが、エンコード部102より出力される符号化コードストリームの中には含まれないことになる。
部分デコード部101の場合、EBCOT部202では、供給される符号語が同様の走査順に復号される。選択ビットプレーン符号量カウント部224は、EBCOT部202より出力された順に各ビットプレーンを選択ビットプレーンの候補とし、その符号量をカウントする。つまり、(1)から(14)の順に各ビットプレーンの符号量がカウントされる。選択ビットプレーン決定部225は、選択ビットプレーン符号量カウント部224より供給される符号量に基づいて、選択ビットプレーンの候補の、マスタ画像(原画像)の画像データに対する圧縮率を算出し、それを目標圧縮率取得部222より供給された目標圧縮率と比較する。
そして、選択ビットプレーンの候補の圧縮率が、以下の2式を満たし、目標圧縮率に達した時点で、選択ビットプレーン決定部225は、選択ビットプレーンの候補を、選択ビットプレーンとして正式に決定する。
目標圧縮率≦マスタ画像のデータサイズ/(1)乃至(9)の符号量の総和
目標圧縮率≧マスタ画像のデータサイズ/(1)乃至(10)の符号量の総和
部分デコード部101の抽出部112は、以上のように、復号データのデータ量を調整する。
つまり、部分デコード部101およびエンコード部102は、それぞれ、係数データまたは符号語をその重要度の順に符号化または復号する。さらに、部分デコード部101およびエンコード部102は、その重要度の順にデータの取捨選択を行い、データ量を調整する。
以上においては、1つのサブバンド内における走査方法について説明した。つまり、この場合、画像全体においては、各サブバンドが所定の順に1つずつ処理される(サブバンド毎に処理される)。
符号化および復号の走査順は、これ以外であってもよく、例えば、図12に示されるように、コンポーネント毎に処理されるような順でもよい。図12は、各ビット位置を、Y成分(輝度成分)の全てのサブバンドに渡って走査する場合の例を示す図である。
図12の例の場合、各サブバンドが、重要度に応じて(この例の場合、低域(0LL)から高域(3HH)に向かう順に)並べられている。また、各サブバンド内においては、各コードブロックが、重要度に応じて(この例の場合、CB0からCBnに向かう順に)並べられている。このように並べられたビットプレーンは、矢印に示されるように、ビット位置毎に、MSB側からLSB側に向かう順に処理される。従って、この場合、3段目の走査において、Y-0LLのビットプレーンだけでなく、Y-1HLやY-3HHのビットプレーンも処理される。
さらに、画像が複数のコンポーネントから構成されている場合、例えば、図13に示されるように、全てのコンポーネントを通して走査するようにしてもよい。図13は、各ビット位置を、Y成分、U成分、およびV成分の全てのコンポーネントに渡って走査する場合の例を示す図である。
図13の例の場合、Y成分(輝度成分)、U成分(色差成分)、およびV成分(色差成分)の各コンポーネントが、重要度に応じて(この例の場合、Y成分、U成分、V成分の順に)並べられている。また、各コンポーネント内においては、各サブバンドが、重要度に応じて(この例の場合、低域(0LL)から高域(3HH)に向かう順に)並べられている。さらに、各サブバンド内においては、各コードブロックが、重要度に応じて(この例の場合、CB0からCBnに向かう順に)並べられている。このように並べられたビットプレーンは、矢印に示されるように、ビット位置毎に、MSB側からLSB側に向かう順に処理される。従って、この場合、1段目の走査において、Y-0LLのビットプレーンだけでなく、U-0LLのビットプレーンも処理される。
より具体的に説明すると、EBCOT部156は、最初に、ゼロビットプレーンでないビットプレーンが存在する、MSBに最も近いビット位置において、Y成分の全てのサブバンド(0LLから3HHまで)内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。EBCOT部156は、次に、同じビット位置において、U成分の全てのサブバンド(0LLから3HHまで)内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。EBCOT部156は、さらに、同じビット位置において、V成分の全てのサブバンド(0LLから3HHまで)内の全てのコードブロックを走査し、ゼロビットプレーンでないビットプレーンが存在する場合は、それを符号化する。
V-3HHまで走査が終了すると、EBCOT部156は、次に、1つ下位のビット位置に移動し、そのビット位置について、同様の順で走査を続ける。
上述した図12においてはコンポーネント毎に各ビット位置を走査するように説明したが、この場合、画像が複数のコンポーネントから構成されているときは、各コンポーネントをその重要度順に走査する。つまり、例えば、図13の例のように、画像がY成分、U成分、およびV成分よりなり、この順に重要度が高い場合、まず、最も重要なY成分について処理が行われ、次にU成分について処理が行われ、最後に最も重要度の低いV成分について処理が行われるようにする。
また、上述した図11においてはサブバンド毎に各ビット位置を走査するように説明したが、この場合、各サブバンドをその重要度順に走査する。つまり、例えば、図12の例のように、画像が0LL乃至3HHのサブバンドにより構成されており、この順に重要度が高い場合、まず、最も重要な0LL成分について処理が行われ、次に、その次に重要な1LH成分について処理が行われ、以下同様に重要度の順に処理が行われ、最終的に最も重要度の低い3HHについて処理が行われるようにする。例えば、図14に示されるような、所定の順で各サブバンドが処理されるようにする。
なお、この走査順は予め定められている。つまり、各ビットプレーンの重要度は予め定められており、部分デコード部101および非可逆エンコード部102は、この重要度について互いに共通の認識を持つ。
以上のような、符号化・復号処理の流れの例を以下に説明する。
最初に、図15のフローチャートを参照して、トランスコーダ100による形式変換処理の流れの例を説明する。
コードストリームが入力され、形式変換処理が開始されると部分デコード部101は、ステップS101において、入力されたコードストリームに対して、その時点の変換目標情報に基づいて部分デコード処理を行う。部分デコード処理が終了すると、エンコード部102は、ステップS102において、デコードされて得られたベースバンドの画像データに対してエンコード処理を行い、必要に応じて変換目標情報を更新する。
トランスコーダ100は、入力されるコードストリームの画像データの各フレームに対して、以上のような形式変換処理を行う。なお、エンコード部102は、部分デコード部101より出力されるベースバンドの画像データを順次符号化することができる。つまり、ステップS101およびステップS102の各処理は、互いに同時並行的に実行するようにしてもよい。
次に、図16のフローチャートを参照して、図15のステップS101において部分デコード部101により実行される部分デコード処理の流れの例を説明する。
部分デコード処理が開始されると、部分デコード部101のエントロピ復号部111のパケット解読部201は、ステップS121において、受信したパケットよりコードストリームを取得する。ステップS122において、EBCOT部202は、そのコードストリームに対してエントロピ復号を行う。ステップS123において、抽出部112は、その時点の変換目標情報に基づいて、ステップS122の処理により得られた係数データの中から必要な係数を抽出する。ステップS124において、ベースバンド生成部113は、抽出された係数データに対してウェーブレット逆変換等の処理を行い、ベースバンドの画像データを生成する。
ステップS124の処理を終了すると、部分デコード部101は、部分デコード処理を終了する。処理は、図15のステップS101に戻り、ステップS102に進む。
次に、図17のフローチャートを参照して、図16のステップS123において抽出部112により実行される抽出処理の流れの例を説明する。
抽出処理が開始されると、解像度情報取得部221は、ステップS141において、変換目標情報より解像度情報を取得する。ステップS142において、目標圧縮率取得部222は、変換目標情報より目標圧縮率を取得する。ステップS143において、サブバンド選択部223は、ステップS141の処理により取得された解像度情報に基づいて、その解像度の画像を得るのに必要なサブバンドを処理対象サブバンドとして選択する。
選択ビットプレーン符号量カウント部224は、選択されたサブバンドの係数(ビットプレーン)を保持し、ステップS144において、保持しているビットプレーン群(処理対象サブバンド)の中で最も重要なビットプレーンを選択ビットプレーンの候補に選択し、符号量を算出する。ステップS145において、選択ビットプレーン決定部225は、選択ビットプレーン符号量カウント部224によりカウントされた符号量に基づいて、その時点の選択ビットプレーンの候補の、マスタ画像(原画像)の画像データに対する圧縮率を算出する。ステップS146において、選択ビットプレーン決定部225は、その算出された圧縮率が、ステップS142の処理により取得された目標圧縮率以下であるか否かを判定する。
選択ビットプレーンの候補の圧縮率が目標圧縮率より大きい(選択ビットプレーンの候補の符号量が十分多くない)と判定した場合、選択ビットプレーン決定部225は、処理をステップS147に進める。ステップS147において、選択ビットプレーン符号量カウント部224は、保持しているビットプレーン群(つまり処理対象サブバンド)の中で次に重要なビットプレーンを選択ビットプレーンの候補に選択し、符号量を算出し、さらに処理をステップS145に戻し、それ以降の処理を繰り返す。つまり、選択ビットプレーン符号量カウント部224および選択ビットプレーン決定部225は、選択ビットプレーンの候補の圧縮率が目標圧縮率以下になるまで、ステップS145乃至ステップS147の各処理を繰り返し実行し、選択ビットプレーンの候補の符号量を増加させていく。
そして、ステップS146において、選択ビットプレーンの候補の圧縮率が目標圧縮率以下であると判定した場合、選択ビットプレーン決定部225は、処理をステップS148に進め、選択ビットプレーンを抽出し、コードブロック合成部231に供給し、抽出処理を終了する。処理は、図16のステップS123に戻り、ステップS124に進む。
抽出部112は、以上のように抽出処理を行うことにより、変換目標情報により指定される解像度および圧縮率の条件を満たすように、係数データを抽出することができる。
次に、図18のフローチャートを参照して、図16のステップS124においてベースバンド生成部113により実行されるベースバンドデータ生成処理の流れの例を説明する。
ベースバンドデータ生成処理が開始されると、ステップS161において、コードブロック合成部231は、選択ビットプレーン決定部225より供給される選択ビットプレーンを用いてコードブロックを合成する。ステップS162において、逆量子化部232は合成された各コードブロックに対して逆量子化を行う。ステップS163において、ウェーブレット逆変換部233は、逆量子化された係数データをウェーブレット逆変換する。ステップS164において、DCレベル逆シフト部234は、画像データのDCレベルの逆シフトを行い、ベースバンドデータ生成処理を終了する。処理は、図16のステップS124に戻り、部分デコード処理が終了され、さらに、図15のステップS101に戻り、ステップS102に進む。
次に、図19のフローチャートを参照してエンコード処理の流れの例を説明する。
エンコード処理が開始されると、ステップS181において、DCレベルシフト部151は、入力された画像データのDCレベルをシフトする。ステップS182において、ウェーブレット変換部152は、画像データをウェーブレット変換する。ステップS183において、量子化部153は、ウェーブレット係数に対して量子化を行う。ステップS184において、コードブロック化部154は、量子化係数をコードブロック単位で分割する。ステップS185において、ビットプレーン展開部155は、コードブロック毎の係数データをビットプレーンに展開する。ステップS186において、EBCOT部156および制御部122は、各ビットプレーンを、その重要度順にエントロピ符号化する。エントロピ符号化処理の詳細については後述する。ステップS187において、ヘッダ生成部157およびパケット生成部158は、符号化されて得られた符号語をパケット化する。ステップS188において、供給部123(解像度情報供給部181、目標圧縮率供給部182、および多重化部183)は、解像度情報や目標圧縮率を多重化し、変換目標情報として部分デコード部101に供給し、エンコード処理を終了する。処理は図15のステップS102に戻り、形式変換処理が終了される。
次に、図19のステップS186において実行されるエントロピ符号化処理の詳細な流れの例を、図20のフローチャートを参照して説明する。
エントロピ符号化処理が開始されると、制御部171は、ステップS201において、変数を初期化する。変数としては、例えば、符号化対象のコンポーネントNC={1,2,・・・,LC}、サブバンドNS={1,2,・・・,LS}、符号ブロックB、ビットプレーンC、符号量T(B,C,NC,NS)、および累積加算符号量Yがある。
ステップS202において、制御部171は、入力部103より入力された解像度の指定に基づいて、その解像度の画像を得るのに必要なサブバンドを処理対象サブバンドとして決定する。上述したように部分デコード部101においてサブバンドの選択が適切に行われている場合、このサブバンドの選択は省略可能である。
ステップS203において、EBCOT部156は、係数のビットプレーン情報(ゼロビットプレーン情報も含む)を取得する。ステップS204において、制御部171は、変数Yの値を「0」に設定する。ステップS205において、EBCOT部156は、ステップS202の処理において決定された処理対象サブバンドの中で最も重要なビットプレーンを選択する。
ステップS206において、EBCOT部156は、選択したビットプレーンを符号化する。ステップS207において、符号量加算部172は、符号語の符号量T(B,C,NC,NS)を算出し、以下の式のように、変数Yにその符号量T(B,C,NC,NS)を加算する。
Y=Y+T(B,C,NC,NS
ステップS208において、制御部171は、変数Yを参照し、符号化された符号量の累積値が目標符号量に達したか否かを判定する。変数Yの値(累積値)が目標符号量に達していないと判定した場合、制御部171は、処理をステップS209に進める。
ステップS209において、EBCOT部156は、同一ビット位置に未処理のビットプレーンが存在するか否かを判定し、存在すると判定した場合、処理をステップS210に進め、同一ビット位置の次に重要なビットプレーンを選択する。ビットプレーンを選択すると、EBCOT部156は、処理をステップS206に戻し、それ以降の処理を繰り返す。
また、ステップS209において、同一ビット位置に未処理のビットプレーンが存在しないと判定した場合、EBCOT部156は、処理をステップS211に進め、未処理のビットプレーンが存在するか否かを判定し、存在すると判定した場合、処理をステップS212に進める。ステップS212において、EBCOT部156は、次のビット位置の最も重要なビットプレーンを選択し、処理をステップS206に戻し、それ以降の処理を繰り返す。
ステップS208において、変数Yの値(累積値)が目標符号量に達したと判定した場合、制御部171は、エントロピ符号化処理を終了する。処理は、図19のステップS186に戻り、ステップS187に進む。また、ステップS211において、未処理のビットプレーンが存在しないと判定した場合、EBCOT部156は、エントロピ符号化処理を終了する。処理は、図19のステップS186に戻り、ステップS187に進む。
以上のような手順に従って、実際の画像に対して実験を行った結果を、図21の表に示す。ここでは、トランスコーダ100がJPEG2000の可逆方式で圧縮されたコードストリームを、ビットレートが異なるJPEG2000の非可逆方式のコードストリームに形式変換している。なお、この実験の各種条件は以下のとおりである。
・原画データ:4096×2160画素×10ビット×3(RGB)×24fps=6370Mbps
・テストシーケンス:Movie
・可逆圧縮結果(JPEG可逆モード):3469Mbps(原画の約54%)
・デコード画像:図1の非可逆エンコード結果のコードストリームを通常のJPEG2000非可逆デコーダでデコードした結果の画像
・非可逆エンコード後のビットレート:250Mbps
図21に示される表は、部分デコード時のビットレートとPSNR(Peak Signal-to-Noise Ratio)[dB]の関係を示すものである。
図21に示されるように、部分デコード時のビットレートを可逆のビットレート(3469Mbps)から徐々に下げていくと、それに従って、CPUのサイクル数が低減される。つまり、部分デコード時のビットレートを下げるほど、デコード処理の負荷が低減される。
このとき、部分デコード時のビットレートを下げるほど、非可逆エンコードファイルのデコード画像のPSNRは、低下する。つまり、非可逆エンコードファイルのデコード画像の画質が低下する。
しかしながら、部分デコード時のビットレートを、可逆レート(3469Mbps)のままとしたときと、後段の非可逆エンコードのビットレート250Mbpsと同一にしたときとの、非可逆エンコードファイルのデコード画像のPSNRの差は、36.89−37.38=0.49[dB]であり、その差は非常に小さい。それに比べて、CPUのサイクル数は、771/7105=0.108となり、約10分の1に低減される。なお、後段の非可逆エンコード時(250Mbps)のCPUサイクル数は、前段のデコード画像のビットレートの変化の影響を受けず、常に一定値(904サイクル)であった。
以上のように、部分デコード部101は、画質の劣化を低減させながら、可逆圧縮ファイルの復号の負荷を低減させることができる。換言すれば、トランスコーダ100は、マスタ画像のデータサイズが大きくても、容易かつ適切に、可逆圧縮ファイルを非可逆圧縮ファイルに変換することができる。
なお、部分デコード部101が要求される解像度に合わせてウェーブレット逆変換するサブバンドを選択する場合、その選択によりウェーブレット逆変換処理されるデータ量が低減されるので、以上の実験結果から、さらに復号の負荷を低減させることができることは明らかである。
以上においては、部分デコード部101においてデコード画像に利用するビットプレーンを選択するように説明したが、これ以外にも、例えば、マスタ画像(原画像)のデータサイズが既知であることから、図22に示される例のように、切り捨てるビットプレーン(選択ビットプレーン以外のビットプレーン)を選択するようにしてもよい。この場合、部分デコード部101は、重要度の低い方から高いほうに向かう順で切り捨てるビットプレーン(以下、切り捨てビットプレーンと称する)を選択する。
図22は、切り捨てビットプレーンを選択する場合の走査順の例について説明する図である。図22においては、この選択順が矢印で示されている。つまり、図22の例の場合、LSBからMSBに向かう順で、切り捨てビットプレーンが選択される。最初に、(14)のビットプレーンが選択され、次に(13)のビットプレーンが選択される。そしてLSBのビットプレーンが全て選択されると次に1つ上のビット位置の、最も重要度の低いビットプレーン((10)のビットプレーン)が選択される。以下同様の手順で走査される。
部分デコード部101は、このように選択した、切り捨てビットプレーンの符号量を加算し、それをマスタ画像(原画像)の画像データのデータサイズより減算することで、切り捨てられないビットプレーン(つまり、選択ビットプレーン)の符号量(さらにマスタ画像(原画像)の画像データに対する圧縮率)を算出することができる。すなわち、部分デコード部101は、この場合も、選択ビットプレーンを選択するときと同様に、データ量の制御を行うことができる。
図23は、この場合の部分デコード部101の詳細な構成例を示すブロック図である。図23は、図10に対応する図である。図23に示されるように、この場合、抽出部112は、サブバンド選択部223の代わりにサブバンド破棄部323、選択ビットプレーン符号量カウント部224の代わりに切り捨てビットプレーン符号量カウント部324、選択ビットプレーン決定部225の代わりに切り捨てビットプレーン決定部325を有する。
サブバンド破棄部323は、解像度情報取得部221により取得された解像度情報において要求される解像度を得るために不必要なサブバンドを破棄し、残りのサブバンドを切り捨てビットプレーン符号量カウント部324に供給する。
切り捨てビットプレーン符号量カウント部324は、サブバンド破棄部323において破棄されなかったサブバンドのビットプレーンを蓄積し、重要度の低い方から高いほうに向かう順に切り捨てビットプレーンの候補として1つずつ選択し、選択した切り捨てビットプレーンの候補の符号量をカウントし、そのカウント値を、切り捨てビットプレーン決定部325に供給する。
切り捨てビットプレーン決定部325は、切り捨てビットプレーン符号量カウント部324より供給される切り捨てビットプレーンの候補の符号量に基づいて、切り捨てないビットプレーン、つまり、選択ビットプレーンの、マスタ画像(原画像)の画像データに対する圧縮率を算出する。切り捨てビットプレーン決定部325は、その圧縮率と目標圧縮率取得部222により取得された目標圧縮率とを比較して、以下の2式が満たされる場合、切り捨てビットプレーンの候補を切り捨てビットプレーンとして決定し切り捨てる(残りのビットプレーンを選択ビットプレーンとして後段の処理部に供給する)。
目標圧縮率≧マスタ画像のデータサイズ/(可逆圧縮符号量−(14)乃至(11)の符号量の総和)
目標圧縮率≦マスタ画像のデータサイズ/(可逆圧縮符号量−(14)乃至(10)の符号量の総和)
以上の2式は、図22の例において、(14)のビットプレーンより切り捨てビットプレーンの選択を開始して、(10)のビットプレーンまで選択した時点で、切り捨てないビットプレーン(以下、残ビットプレーンと称する)の圧縮率が目標圧縮率以上になったことを示している。
切り捨てビットプレーン決定部325は、残ビットプレーンを選択ビットプレーンとしてコードブロック合成部231に供給する。
この場合の抽出処理の流れの例を図24のフローチャートを参照して説明する。この図24のフローチャートは、図17のフローチャートに対応する。
抽出処理が開始されると、解像度情報取得部221は、ステップS301において、変換目標情報より解像度情報を取得する。ステップS302において、目標圧縮率取得部222は、変換目標情報より目標圧縮率を取得する。ステップS303において、サブバンド破棄部323は、ステップS301の処理により取得された解像度情報に基づいて、その解像度の画像を得るのに不必要なサブバンドを破棄する。
切り捨てビットプレーン符号量カウント部324は、破棄されなかったサブバンドの係数(ビットプレーン)を保持し、ステップS304において、保持しているビットプレーン群の中で最も重要でないビットプレーンを切り捨てビットプレーンの候補に選択し、符号量を算出する。ステップS305において、切り捨てビットプレーン決定部325は、切り捨てビットプレーン符号量カウント部324によりカウントされた符号量に基づいて、その時点の残ビットプレーンの、マスタ画像(原画像)の画像データに対する圧縮率を算出する。ステップS306において、切り捨てビットプレーン決定部325は、その算出された圧縮率が、ステップS302の処理により取得された目標圧縮率以下であるか否かを判定する。
残ビットプレーンの圧縮率が目標圧縮率以下である(残ビットプレーンの符号量が多すぎる)と判定した場合、切り捨てビットプレーン決定部325は、処理をステップS307に進める。ステップS307において、切り捨てビットプレーン符号量カウント部324は、保持しているビットプレーン群の中で次に重要でないビットプレーン(残ビットプレーンの中で最も重要でないビットプレーン)を切り捨てビットプレーンの候補に選択し、その符号量を算出し、さらに処理をステップS305に戻し、それ以降の処理を繰り返す。つまり、切り捨てビットプレーン符号量カウント部324および切り捨てビットプレーン決定部325は、残ビットプレーンの圧縮率が目標圧縮率より大きくになるまで、ステップS305乃至ステップS307の各処理を繰り返し実行し、選択ビットプレーンの候補の符号量を増加させていく。
そして、ステップS306において、残ビットプレーンの圧縮率が目標圧縮率より大きいと判定した場合、切り捨てビットプレーン決定部325は、処理をステップS308に進め、前回までに選択された切り捨てビットプレーンを破棄し、残ビットプレーンを選択ビットプレーンとしてコードブロック合成部231に供給し、抽出処理を終了する。処理は、図16のステップS123に戻り、ステップS124に進む。
抽出部112は、以上のように抽出処理を行って不要なビットプレーンを破棄することにより、変換目標情報により指定される解像度および圧縮率の条件を満たすように、係数データを抽出することができる。
なお、以上においては、部分デコード部101が変換目標情報のコードストリームの圧縮率と画像の解像度に基づいて部分デコード処理を行うように説明したが、部分デコード部101が変換目標情報に含まれるコードストリームの圧縮率のみに基づいて部分デコード処理を行うようにしてもよい。その場合、図10に示される部分デコード部101の構成例において、解像度情報取得部221およびサブバンド選択部223を省略すればよい。また、図17に示される抽出処理において、ステップS141およびステップS143の処理を省略すればよい。
逆に、部分デコード部101が変換目標情報に含まれる画像の解像度のみに基づいて部分デコード処理を行うようにしてもよい。その場合、図10に示される部分デコード部101の構成例において、目標圧縮率取得部222、選択ビットプレーン符号量カウント部224、および選択ビットプレーン決定部225を省略すればよい。また、図17に示される抽出処理において、ステップS142、並びに、ステップS144乃至ステップS148の処理を省略すればよい。
また、上述した以外のパラメータに基づいて部分デコード処理が行われるようにしてももちろんよい。例えば、トランスコーダ100がコードストリームの画像の色空間の形式(色形式)を変換するようにし、部分デコード部101が、さらに、変換目標情報に含まれる色形式の情報に基づいて部分デコード処理を行うようにしてもよい。以下に、その場合について説明する。
まず、色形式について説明する。画像の色空間としてYCbCrフォーマットを用いるとき、輝度成分であるY成分、並びに、色差成分であるCb成分およびCr成分の各成分の情報量の比(サンプリング周波数の比)は、例えば4:4:4、4:2:2、または4:2:0のように多様に設定可能である。
例えば、4:4:4フォーマットの場合、Y成分、Cb成分、およびCr成分の情報量は互いに等しく、各成分の解像度も、図25Aに示されるY成分401、Cb成分402、およびCr成分403のように互いに等しくなる。
また、4:2:2フォーマットの場合、Cb成分およびCr成分の情報量はY成分の半分となる。このときCb成分とCr成分の解像度は、図25Bに示されるCb成分404およびCr成分405のように、横方向の解像度がY成分401の半分になる。
さらに、4:2:0フォーマットの場合、Cb成分およびCr成分の情報量はY成分の4分の1となる。このときCb成分とCr成分の解像度は、図25Cに示されるCb成分406およびCr成分407のように、縦方向および横方向ともに解像度がY成分401の半分になる。
このような色形式の変換について考える。例えば、4:4:4フォーマットのコードストリームを4:2:0フォーマットのコードストリームに変換する場合、部分デコード部101は、4:2:0フォーマットのベースバンドの画像データを生成すればよい。つまり、部分デコード部101が、復号の際に、Cb成分およびCr成分について、Y成分よりも1つ下のレベルの縦方向および横方向の両方に低域なサブバンドを選択するようにすればよい。実際には、その縦方向および横方向の両方に低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されており、部分デコード部101は、それらのサブバンド全てを選択する。
また、例えば、4:4:4フォーマットのコードストリームを4:2:2フォーマットのコードストリームに変換する場合、部分デコード部101は、4:2:2フォーマットのベースバンドの画像データを生成すればよい。ただし、4:2:2フォーマットの場合、Cb成分およびCr成分は横方向のみ解像度がY成分の半分となる。したがって、部分デコード部101は、復号の際に、Cb成分およびCr成分について、Y成分よりも1つ下のレベルの4つのサブバンドのうち、横方向に低域な2つのサブバンドを選択する。実際には、その横方向に低域な2つのサブバンドのうち、縦方向および横方向の両方に低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されている。部分デコード部101は、それらのサブバンド全てを、縦方向および横方向の両方に低域なサブバンドとして選択する。
また、この選択により、色差成分の最上位のウェーブレット逆変換において、部分デコード部101は、2つのサブバンドを用いて縦方向のみウェーブレット逆変換を行い、図25Bに示されるCb成分404やCr成分405に示されるような横方向の解像度がY成分401の半分に低減させたベースバンドの色差成分を生成するようにする。
なお、この4:2:2フォーマットの色差成分に対するウェーブレット変換は、輝度成分と同様に行われるようにしてもよいが、最上位のウェーブレット変換を縦方向のみ行われるようにし、その低域成分に対して、2回目以降のウェーブレット変換を輝度成分の場合と同様に行われるようにしてもよい。以下においてはその場合について説明する。
例えば、4:2:2フォーマットのコードストリームを4:2:0フォーマットのコードストリームに変換する場合、部分デコード部101は、4:2:0フォーマットのベースバンドの画像データを生成すればよい。つまり、部分デコード部101が、復号の際に、Cb成分およびCr成分について、Y成分よりも1つ下のレベルの低域なサブバンド(つまり、2つのサブバンドのうち縦方向に低域なサブバンド)を選択するようにすればよい。実際には、その低域なサブバンドは、再帰的なウェーブレット変換によりさらに複数のサブバンドに分割されている。部分デコード部101は、それらのサブバンド全てを選択する。
以下、この場合の部分デコード部101およびエンコード部102の構成例について説明する。図26は、部分デコード部101の構成例を示すブロック図である。この図は図10に対応する図である。
図26に示されるように、この場合抽出部112は、図10に示される構成に加え、さらに、色情報取得部420を有する。色情報取得部420は、エンコード部102より供給される変換目標情報より、変換後のコードストリームの画像データの色形式を指定する情報である色情報を取得する。色情報取得部420は、取得した色情報を、変換目標情報とともに解像度情報取得部221に供給する。解像度情報取得部221は、変換目標情報より解像度情報を取得すると、その解像度情報を色情報とともにサブバンド選択部223に供給する。サブバンド選択部223は、供給された色情報および解像度情報に基づいて、処理対象とするサブバンドを選択し、選択したサブバンドを選択ビットプレーン符号量カウント部224に供給する。
このようにサブバンド選択部223が、解像度情報および色情報に基づいてサブバンドの選択を行うことにより、抽出部112は、目標の解像度および色形式の画像のコードストリームを生成するために必要なサブバンドを適切に抽出することができる。この抽出により、ベースバンド生成部113は、そのベースバンド生成の不要な負荷の増大を抑制することができる。
また、図26に示されるように、ベースバンド生成部113は、図10に示される構成に加え、さらに、色情報取得部430および制御部431を有する。色情報取得部430は、色情報取得部420と同様に変換目標情報に含まれる色情報を取得し、それを制御部431に供給する。制御部431は、その色情報に基づいて、ウェーブレット逆変換部233を制御し、ウェーブレット逆変換部233が、各色フォーマットにおいて適切に色差成分をウェーブレット逆変換することができるようにする。
例えば、色情報により指定される色フォーマットが4:2:2の場合、制御部431は、ウェーブレット逆変換部233を制御し、色差成分に対する最上位の(最後の)ウェーブレット逆変換を、その時点で存在する2つのサブバンドを用いて画面縦方向に対してのみ行わせる。これにより、ベースバンド生成部113は、図25Bに示されるCb成分404およびCr成分405のように、解像度が輝度成分に対して横方向のみ2分の1とされるベースバンドの色差成分を生成することができる。
図27は、この場合の、エンコード部102の構成例を示す図である。この図は図2に対応する。
図27に示されるように、この場合のエンコード部102のコードストリーム生成部121は、ウェーブレット変換部152の代わりにウェーブレット変換部452を有する。また、この場合のエンコード部102の制御部122は、制御部171の代わりに制御部471を有する。制御部471は、制御部171と同様の制御に加え、入力部103において入力された、変換後のコードストリームの画像データの色形式を指定する色情報に基づくウェーブレット変換部452の制御も行う。ウェーブレット変換部452は、制御部471に制御され、各色フォーマットにおいて適切に色差成分をウェーブレット変換する。例えば、色フォーマットが4:2:2の場合、ウェーブレット変換部452は、色差成分に対する最上位の(最初の)ウェーブレット変換を縦方向のみ行う。
また、制御部471は、色情報を供給部123に供給する。図27に示されるように、この場合の供給部123は、図2に示される構成に加え、さらに、色情報供給部480および多重化部484を有する。
色情報供給部480は、制御部471より供給される色情報を、部分デコード部101に供給するために多重化部484に供給する。多重化部484は、その色情報と、解像度情報供給部181より供給される解像度情報を多重化し、それを多重化部183に供給する。多重化部183は、色情報が多重化された解像度情報と、目標圧縮率供給部182より供給される目標圧縮率を多重化し、部分デコード部101に供給する。
以上のように色情報は、解像度情報および目標圧縮率と多重化され、変換目標情報として部分デコード部101の抽出部112に供給される。なお、各情報は多重化せずに別々に供給されるようにしてもよい。
次にこの場合の処理の流れについて説明する。この場合も基本的に上述した他の場合と同様に処理が行われるが、部分デコード処理における抽出処理とベースバンドデータ生成処理、並びに、エンコード処理においてその一部の処理の流れが異なる。
最初に、図28のフローチャートを参照して、抽出処理の流れの例を説明する。このフローチャートは、図17のフローチャートに対応する。
抽出処理が開始されると色情報取得部420は、ステップS401において、変換目標情報より色情報を取得する。ステップS402およびステップS403の各処理は、図17のステップS141およびステップS142と同様に行われる。ステップS404においてサブバンド選択部223は、色情報および解像度情報に基づいて処理対象サブバンドを選択する。つまり、サブバンド選択部223は、解像度に基づいてサブバンドを絞り込むだけでなく、上述したように色差成分について、色フォーマットの変換に伴い不要となるサブバンドを破棄するようにサブバンドの絞り込みを行う。ステップS405乃至ステップS409の各処理は、図17のステップS144乃至ステップS148と同様に行われる。
次に、図29のフローチャートを参照して、ベースバンドデータ生成処理の流れの例を説明する。このフローチャートは、図18のフローチャートに対応する。
ベースバンドデータ生成処理が開始されると、ステップS421において、コードブロック合成部231は、ステップS161の場合と同様にコードブロックを合成する。ステップS422において、逆量子化部232は、ステップS162の場合と同様に逆量子化を行う。ステップS423において、ウェーブレット逆変換部233は、制御部431に制御され、色情報に基づいて逆量子化された係数データをウェーブレット逆変換する。ステップS424において、DCレベル逆シフト部234は、ステップS164の場合と同様に画像データのDCレベルの逆シフトを行い、ベースバンドデータ生成処理を終了する。
以上のような抽出処理およびベースバンドデータ生成処理により、部分デコード部101は、色フォーマットを変換する場合も適切に形式変換処理(トランスコード)の負荷を低減させることができる。
次に、図30のフローチャートを参照して、エンコード処理の流れの例を説明する。このフローチャートは、図19のフローチャートに対応する。
エンコード処理が開始されると、ステップS441において、DCレベルシフト部151は、ステップS181の場合と同様に画像データのDCレベルをシフトする。ステップS442において、ウェーブレット変換部452は、色情報に基づいて、変換後の色フォーマットに合わせて適切に画像データをウェーブレット変換する。ステップS443乃至ステップS447の各処理は、ステップS183乃至ステップS187の各処理と同様に実行される。ステップS448において、供給部123(色情報供給部480、解像度情報供給部181、目標圧縮率供給部182、多重化部484、および多重化部183)は、色情報、解像度情報、および目標圧縮率を多重化し、変換目標情報として部分デコード部101に供給し、エンコード処理を終了する。
以上のようなエンコード処理により、エンコード部102は、画像データを、その色フォーマットに応じて適切に符号化することができる。
なお、以上においては、色情報、解像度情報、および目標圧縮率に基づいて色形式変換、解像度変換、および圧縮率変換の3つの形式変換を行う場合について説明したが、もちろん、色情報に基づく色形式変換のみを行うようにしても良いし、色情報に基づく色形式変換と解像度情報に基づく解像度変換の2つの形式変換を行うようにしてもよいし、色情報に基づく色形式変換と目標圧縮率に基づく圧縮率変換の2つの形式変換を行うようにしてもよい。
また、以上において説明したトランスコーダ100は任意のシステムに適用可能である。
例えば、図31Aに示される符号化システム501は、画像データをエンコーダ511が符号化し、その符号化データがハードディスクや光ディスク等の記憶媒体512に記憶され、任意のタイミングでトランスコーダ100がその符号化データを読み出して形式変換して出力する。このようにトランスコーダ100を利用することにより、符号化システム501は、記憶媒体に多様な形式の符号化データを記憶させたり、ベースバンドの画像データを記憶させたりせずに、多様な形式の符号化データを提供することができる。
また、例えば、図31Bに示される符号化システム502は、記憶媒体512を用いる代わりに、エンコーダ511の出力を、伝送路513を介してトランスコーダ100に伝送させている。このように、エンコーダ511において生成された符号化データを、トランスコーダ100において多様な形式に順次変換することも可能である。
さらに、例えば、図31Cに示される符号化システム503は、エンコーダ511が画像データを符号化し、その符号化データを情報処理装置514が処理した後、トランスコーダ100がその処理後の符号化データを形式変換して出力する。このように、エンコーダ511において生成された符号化データを、情報処理した後、トランスコーダ100において多様な形式に順次変換することも可能である。
もちろん、トランスコーダ100は、これら以外のシステムにも適用可能である。また、トランスコーダ100は、他の構成と一体化し、他の装置の一部とするようにしてもよい。例えば、図31Aに示されるエンコーダ511、記憶媒体512、およびトランスコーダ100を1つの装置として構成するようにしてもよい。図31Bおよび図31Cの各システムについても同様である。また、これら以外の構成をトランスコーダ100と一体化するようにしてももちろんよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図32に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図32において、パーソナルコンピュータ600のCPU(Central Processing Unit)601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図32に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用したトランスコーダの主な構成例を示すブロック図である。 エンコード部の詳細な構成例を示すブロック図である。 サブバンドの構成例を示す図である。 サブバンドの構成例を示す図である。 各サブバンド中のコードブロックの位置関係を示す図である。 ビットプレーンの例を説明する図である。 符号化パスの例を説明する図である。 係数の走査の例を説明する図である。 パケットの概念を示す図である。 部分デコード部の詳細な構成例を示すブロック図である。 サブバンド毎の走査順の例を説明する図である。 コンポーネント毎の走査順の例を説明する図である。 画像全体の走査順の例を説明する図である。 ブロック毎の処理順の例を説明する図である。 形式変換処理の流れの例を説明するフローチャートである。 部分デコード処理の流れの例を説明するフローチャートである。 抽出処理の流れの例を説明するフローチャートである。 ベースバンドデータ生成処理の流れの例を説明するフローチャートである。 エンコード処理の流れの例を説明するフローチャートである。 エントロピ符号化処理の流れの例を説明するフローチャートである。 部分デコード時のビットレートとPSNRの関係を示す図である。 切り捨てるビットプレーンの選択の走査順の例を説明する図である。 部分デコード部の、他の構成例を示すブロック図である。 抽出処理の流れの、他の例を説明するフローチャートである。 色形式の例を説明する模式図である。 部分デコード部のさらに他の構成例を示すブロック図である。 エンコード部のさらに他の構成例を示すブロック図である。 抽出処理の流れの、さらに他の例を説明するフローチャートである。 ベースバンドデータ生成処理の流れの、他の例を説明するフローチャートである。 エンコード処理の流れの、他の例を説明するフローチャートである。 本発明を適用した符号化システムの構成例を示すブロック図である。 本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
符号の説明
100 トランスコーダ, 101 部分デコード部, 102 エンコード部, 103 入力部, 112 抽出部, 122 制御部, 123 供給部, 171 制御部, 172 符号量加算部, 181 解像度情報供給部, 182 目標圧縮率供給部, 221 解像度情報取得部, 222 目標圧縮率取得部, 223 サブバンド選択部, 224 選択ビットプレーン符号量カウント部, 225 選択ビットプレーン決定部, 323 サブバンド破棄部, 324 切り捨てビットプレーン符号量カウント部, 325 切り捨てビットプレーン決定部, 420 色情報取得部, 430 色情報取得部, 431 制御部, 452 ウェーブレット変換部, 471 制御部, 480 色情報供給部, 501乃至503 符号化システム, 511 エンコーダ, 512 記憶媒体, 513 伝送路, 514 情報処理装置

Claims (9)

  1. 画像データが符号化された第1のコードストリームの一部分を復号する部分復号手段と、
    前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第1のコードストリームの形式を変換した第2のコードストリームを生成する符号化手段と
    を備え、
    前記符号化手段は、前記第2のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第2のコードストリームを生成し、
    前記部分復号手段は、前記目標値を用いて、前記第1のコードストリームの復号する部分を決定し、復号する
    情報処理装置。
  2. 前記第1のコードストリームは、ベースバンドの画像データがウェーブレット変換され、ウェーブレット変換係数がエントロピ符号化されて生成され、
    前記部分復号手段は、
    前記第1のコードストリームをエントロピ復号するエントロピ復号手段と、
    前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記目標値に応じて、前記符号化手段が前記符号化により所望の形式の前記第2のコードストリームを生成することができる前記ベースバンドの画像データを生成するのに必要なウェーブレット変換係数を抽出する抽出手段と、
    前記抽出手段により抽出されたウェーブレット変換係数を用いて前記ベースバンドの画像データを生成するベースバンドデータ生成手段と
    を備える
    請求項1に記載の情報処理装置。
  3. 前記抽出手段は、
    前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記第2のコードストリームの画像の解像度の目標値に応じて、必要なサブバンドを選択するサブバンド選択手段を備える
    請求項2に記載の情報処理装置。
  4. 前記符号化手段は、前記第2のコードストリームの画像の解像度が目標値に一致または近似するように前記ベースバンドの画像データを符号化し、
    前記サブバンド選択手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記サブバンドを選択する
    請求項3に記載の情報処理装置。
  5. 前記抽出手段は、
    前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数のビットプレーンのデータ量をカウントするカウント手段と、
    前記カウント手段によりカウントされる前記データ量に基づいて選択するビットプレーンの圧縮率を算出し、前記圧縮率と前記第2のコードストリームの圧縮率の目標値に基づいて、選択するビットプレーンを決定する決定手段を備える
    請求項2に記載の情報処理装置。
  6. 前記符号化手段は、前記第2のコードストリームの圧縮率が前記目標値に一致または近似するように前記ベースバンドの画像データを符号化し、
    前記決定手段は、前記ベースバンドデータ生成手段により生成される前記ベースバンドの画像データの画像の解像度が、前記目標値に一致または近似するように前記ビットプレーンを選択する
    請求項5に記載の情報処理装置。
  7. 前記抽出手段は、前記エントロピ復号手段によりエントロピ復号されて生成される前記ウェーブレット変換係数の中から、前記第2のコードストリームの色形式に応じて、必要なサブバンドを選択するサブバンド選択手段を備える
    請求項2に記載の情報処理装置。
  8. 前記ベースバンド生成手段は、前記第2のコードストリームの色形式に応じた方法で、前記ウェーブレット変換係数に対するウェーブレット逆変換を行い、前記色形式の前記ベースバンドの画像データを生成する
    請求項7に記載の情報処理装置。
  9. 画像データが符号化された第1のコードストリームの形式を変換し、第2のコードストリームを生成する情報処理装置は、
    前記第1のコードストリームの一部分を復号する部分復号手段と、
    前記部分復号手段により復号されて得られるベースバンドの画像データを符号化することにより、前記第2のコードストリームを生成する符号化手段と
    を備え、
    前記符号化手段が、前記第2のコードストリームに関するパラメータの目標値を用いて前記ベースバンドの画像データを符号化して所望の形式の前記第2のコードストリームを生成し、
    前記部分復号手段が、前記目標値を用いて、前記第1のコードストリームの復号する部分を決定し、復号する
    情報処理方法。
JP2008151696A 2008-06-10 2008-06-10 情報処理装置および方法 Expired - Fee Related JP4656190B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008151696A JP4656190B2 (ja) 2008-06-10 2008-06-10 情報処理装置および方法
US12/466,588 US8463056B2 (en) 2008-06-10 2009-05-15 Information processing apparatus and information processing method that decode a portion of a code stream
CN200910146043XA CN101605264B (zh) 2008-06-10 2009-06-10 信息处理装置和信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008151696A JP4656190B2 (ja) 2008-06-10 2008-06-10 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP2009302638A true JP2009302638A (ja) 2009-12-24
JP4656190B2 JP4656190B2 (ja) 2011-03-23

Family

ID=41400371

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008151696A Expired - Fee Related JP4656190B2 (ja) 2008-06-10 2008-06-10 情報処理装置および方法

Country Status (3)

Country Link
US (1) US8463056B2 (ja)
JP (1) JP4656190B2 (ja)
CN (1) CN101605264B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506697A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレイヤビデオコーディングのための多重解像度復号ピクチャバッファ管理
US20180302635A1 (en) * 2017-04-14 2018-10-18 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8515182B2 (en) * 2009-02-11 2013-08-20 Ecole De Technologie Superieure Method and system for determining a quality measure for an image using multi-level decomposition of images
US8515181B2 (en) * 2009-02-11 2013-08-20 Ecole De Technologie Superieure Method and system for determining a quality measure for an image using a variable number of multi-level decompositions
US8326046B2 (en) 2009-02-11 2012-12-04 Ecole De Technologie Superieure Method and system for determining structural similarity between images
KR101602871B1 (ko) * 2009-08-25 2016-03-11 삼성전자주식회사 데이터 부호화 방법 및 장치와 데이터 복호화 방법 및 장치
JP2011223237A (ja) * 2010-04-08 2011-11-04 Sony Corp 画像比較装置及び方法、並びにプログラム
JP5392199B2 (ja) * 2010-07-09 2014-01-22 ソニー株式会社 画像処理装置および方法
US8990435B2 (en) * 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
US8983206B2 (en) 2011-05-04 2015-03-17 Ecole de Techbologie Superieure Method and system for increasing robustness of visual quality metrics using spatial shifting
US8781238B2 (en) * 2011-09-08 2014-07-15 Dolby Laboratories Licensing Corporation Efficient decoding and post-processing of high dynamic range images
KR20150039425A (ko) * 2013-10-02 2015-04-10 삼성전자주식회사 비디오/이미지 데이터 처리 방법 및 비디오/이미지 데이터 처리 시스템
CN103618910B (zh) * 2013-12-02 2017-01-18 广东威创视讯科技股份有限公司 图像转换方法及装置
US10163192B2 (en) * 2015-10-27 2018-12-25 Canon Kabushiki Kaisha Image encoding apparatus and method of controlling the same
WO2018054506A1 (en) 2016-09-23 2018-03-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transform block coding
CN110832550B (zh) * 2017-07-10 2023-10-13 索尼公司 信息处理装置和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001204030A (ja) * 1999-11-11 2001-07-27 Canon Inc 画像処理装置及び方法と記憶媒体
JP2001223593A (ja) * 2000-02-10 2001-08-17 Fuji Photo Film Co Ltd データ符号化方法および装置並びに記録媒体
JP2002344996A (ja) * 2001-05-14 2002-11-29 Nikon Corp 画像符号化装置および画像サーバ装置
JP2005102184A (ja) * 2003-08-29 2005-04-14 Ricoh Co Ltd 画像処理装置、画像処理システム、画像処理方法、プログラム、及び、記録媒体
JP2005223407A (ja) * 2004-02-03 2005-08-18 Ricoh Co Ltd 画像処理装置及びプログラム
JP2007235934A (ja) * 2006-03-02 2007-09-13 Mitsubishi Electric Research Laboratories Inc スケーラブルな画像トランスコーディング方法及び装置
JP2007251968A (ja) * 2007-04-02 2007-09-27 Ricoh Co Ltd 画像処理装置及び画像処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP248298A0 (en) * 1998-03-20 1998-04-23 Canon Kabushiki Kaisha A method and apparatus for hierarchical encoding and decoding an image
JP4026238B2 (ja) * 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
SE513353C2 (sv) * 1998-10-21 2000-08-28 Ericsson Telefon Ab L M Partiell hämtning av bilder i den komprimerade domänen
JP4016166B2 (ja) 1998-12-01 2007-12-05 ソニー株式会社 画像復号装置及び画像復号方法
JP2000341689A (ja) * 1999-05-27 2000-12-08 Sony Corp ウェーブレット逆変換装置及び方法、並びにウェーブレット復号装置及び方法
US7110608B2 (en) * 2001-07-02 2006-09-19 Canon Kabushiki Kaisha Digital image compression
US7106366B2 (en) * 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
US20030193578A1 (en) * 2002-03-26 2003-10-16 Parulski Kenneth A. System and method for capturing and grouping motion video segments
US6987890B2 (en) * 2002-03-27 2006-01-17 Eastman Kodak Company Producing and encoding rate-distortion information allowing optimal transcoding of compressed digital image
US7734824B2 (en) * 2002-10-18 2010-06-08 Ricoh Co., Ltd. Transport of reversible and unreversible embedded wavelets
FR2842983B1 (fr) * 2002-07-24 2004-10-15 Canon Kk Transcodage de donnees
FR2846181B1 (fr) * 2002-10-16 2005-09-02 Canon Kk Procede et dispositif de selection de donnees dans un reseau de communication
US7483575B2 (en) * 2002-10-25 2009-01-27 Sony Corporation Picture encoding apparatus and method, program and recording medium
US7200277B2 (en) * 2003-07-01 2007-04-03 Eastman Kodak Company Method for transcoding a JPEG2000 compressed image
EP1661392B1 (en) * 2003-08-11 2021-03-24 Warner Bros. Entertainment Inc. Digital media distribution device
US7440626B2 (en) * 2004-12-02 2008-10-21 Mitsubishi Electric Research Laboratories, Inc. Image transcoding
CN101001371B (zh) * 2007-01-19 2010-05-19 华为技术有限公司 视频转码的方法及其装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001204030A (ja) * 1999-11-11 2001-07-27 Canon Inc 画像処理装置及び方法と記憶媒体
JP2001223593A (ja) * 2000-02-10 2001-08-17 Fuji Photo Film Co Ltd データ符号化方法および装置並びに記録媒体
JP2002344996A (ja) * 2001-05-14 2002-11-29 Nikon Corp 画像符号化装置および画像サーバ装置
JP2005102184A (ja) * 2003-08-29 2005-04-14 Ricoh Co Ltd 画像処理装置、画像処理システム、画像処理方法、プログラム、及び、記録媒体
JP2005223407A (ja) * 2004-02-03 2005-08-18 Ricoh Co Ltd 画像処理装置及びプログラム
JP2007235934A (ja) * 2006-03-02 2007-09-13 Mitsubishi Electric Research Laboratories Inc スケーラブルな画像トランスコーディング方法及び装置
JP2007251968A (ja) * 2007-04-02 2007-09-27 Ricoh Co Ltd 画像処理装置及び画像処理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016506697A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチレイヤビデオコーディングのための多重解像度復号ピクチャバッファ管理
US20180302635A1 (en) * 2017-04-14 2018-10-18 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
US10778994B2 (en) 2017-04-14 2020-09-15 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium

Also Published As

Publication number Publication date
JP4656190B2 (ja) 2011-03-23
CN101605264A (zh) 2009-12-16
US8463056B2 (en) 2013-06-11
US20090304273A1 (en) 2009-12-10
CN101605264B (zh) 2012-01-11

Similar Documents

Publication Publication Date Title
JP4656190B2 (ja) 情報処理装置および方法
US9838715B2 (en) Image processing apparatus and method
JP4702928B2 (ja) 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US8588536B2 (en) Guaranteed-rate tiled image data compression
US8189932B2 (en) Image processing apparatus and image processing method
JP5359302B2 (ja) 情報処理装置および方法、並びにプログラム
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
JP4780172B2 (ja) 情報処理装置および方法
US8605793B2 (en) Information processing device and method, and program
US7120306B2 (en) Image processing method and image coding apparatus utilizing the image processing method
US7525463B2 (en) Compression rate control system and method with variable subband processing
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
CN1726644A (zh) 用于多种描述编码的设备和方法
JP5817125B2 (ja) 画像処理装置および方法
US20100002946A1 (en) Method and apparatus for compressing for data relating to an image or video frame
JP4841504B2 (ja) 画像符号化装置および方法
JP3853708B2 (ja) デジタル画像符号化装置および符号化方法ならびにプログラム
US8279098B2 (en) Compression rate control system and method with variable subband processing
KR101421231B1 (ko) 웨이블릿 변환을 이용한 영상 압축 장치
JP2005223852A (ja) 画像符号化装置および方法、ならびに画像復号装置および方法
JP2001223593A (ja) データ符号化方法および装置並びに記録媒体
KR20020059923A (ko) 웨이브렛 이론을 이용한 동영상 압축/복원 장치 및 그 방법
JP4231386B2 (ja) 解像度スケーラブル復号化方法及び装置
Borer Low complexity video coding using SMPTE VC-2
JP2011151524A (ja) 画像処理装置および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100607

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101213

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees