JP4208122B2 - Data processing apparatus and data processing method - Google Patents
Data processing apparatus and data processing method Download PDFInfo
- Publication number
- JP4208122B2 JP4208122B2 JP2003076835A JP2003076835A JP4208122B2 JP 4208122 B2 JP4208122 B2 JP 4208122B2 JP 2003076835 A JP2003076835 A JP 2003076835A JP 2003076835 A JP2003076835 A JP 2003076835A JP 4208122 B2 JP4208122 B2 JP 4208122B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- image data
- compressed image
- image
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、プレゼンテーションなどのために、予め定めた手順に従って静止画や動画などのデータを表示又は配信するためのデータ処理装置及び方法に関する。
【0002】
【従来の技術】
画像、グラフ、表、テキスト、音声などの素材を用いたプレゼンテーションには、Microsoft社のPowerPoint(登録商標)やApple社のKeynote(登録商標)などに代表される、いわゆるプレゼンテーション・ソフトウェアが利用されることが多い。このようなプレゼンテーション・ソフトウェアは、基本的に、各種素材を表示したいサイズなどに加工し、それを表示したい順に順序付けするなど、プレゼンテーションのための資料を予め編集しておくものである。
【0003】
画像は圧縮された状態で蓄積又は伝送されることが多い。静止画の圧縮にはJPEGが、動画の圧縮にはMPEGやMotion−JPEGが広く利用されているが、新しい圧縮方式としてウェーブレット変換を利用するJPEG2000が注目されている(例えば非特許文献1参照)。
【0004】
JPEG2000の圧縮アルゴリズムは基本仕様(ISO/IEC FCD 15444−1)に規定されている。JPEG2000の動画のファィルフォーマットなどは、拡張仕様(ISO/IEC FCD 15444−3)に規定されている。JPEG2000の動画では、各フレームが、前後のフレームから独立した静止画として、JPEG2000の基本仕様に規定されたアルゴリズムにより圧縮される。
【0005】
【非特許文献1】
野水泰之著、「次世代画像符号化方式JPEG2000」、株式会社トリケップス、2001年2月13日
【0006】
【発明が解決しようとする課題】
JPEG2000の圧縮画像データは、圧縮前の画像と異なった解像度、サイズ、画質、色などで伸長することができ、また、符号状態のままで解像度、サイズ、画質、色などを変更した圧縮画像データに変換することができる。
【0007】
本発明は、このようなJPEG2000の圧縮画像データの特性に着目し、JPEG2000の圧縮画像データを含むデータ群を用いた多様なプレゼンテーションなどを、それらデータを予め編集することなく実行できるようにする新規なデータ処理装置及び方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明によるデータ処理装置は、請求項1に記載のように、JPEG2000の圧縮画像データ(以下、単に圧縮画像データ)を処理するデータ処理装置であって、時間軸に沿って出力すべきデータの指定及び出力条件を定義した出力手順を記憶した記憶手段と、前記出力手順に定義されたデータの指定に従って所定の圧縮画像データを取り込むデータ取得手段と、前記取り込まれた圧縮画像データについて、前記出力手順に定義された出力条件に従って、当該圧縮画像データのヘッダ情報中の所定マーカセグメントのパラメータを書き換えて、前記出力条件に従った別の圧縮画像データを生成する出力データ生成手段とを有することを特徴とする。
【0009】
本発明によるデータ処理装置のもう1つの特徴は、請求項2に記載のように、請求項1に記載の構成において、前記出力データ生成手段は、前記出力手順に定義された出力条件に従って、前記ヘッダ情報中の画像の解像度、サイズ、画質、タイル位置、色、ROI領域、変形の一部又は全部に関係するマーカセグメントのパラメータを書き換えることにある。
【0010】
本発明によるデータ処理装置のもう1つの特徴は、請求項3に記載のように、請求項1又は2に記載の構成において、前記出力データ生成手段は、前記出力手順定義された出力条件に従って、さらに前記圧縮画像データ中の不要な符号を廃棄することにある。
【0011】
本発明によるデータ処理装置のもう1つの特徴は、請求項4に記載のように、請求項1乃至3のいずれか1項に記載の構成において、前記生成された圧縮画像データをイメージデータに伸長する伸長手段をさらに有するにある。
【0012】
本発明によりデータ処理装置のもう1つの特徴は、請求項5に記載のように、請求項1乃至3のいずれか1項に記載の構成において、前記生成された圧縮画像データを別の装置へ送信する送信手段をさらに有するにある。
【0013】
本発明によるデータ処理方法は、請求項6に記載のように、時間軸に沿って出力すべきデータの指定及び出力条件を定義した出力手順に従って、JPEG2000の圧縮画像データ(以下、単に圧縮画像データ)を処理するデータ処理方法であって、前記出力手順に定義されたデータの指定に従って所定の圧縮画像データを取り込むデータ取得ステップと、前記取り込まれた圧縮画像データについて、前記出力手順に定義された出力条件に従って、当該圧縮画像データのヘッダ情報中の所定マーカセグメントのパラメータを書き換えて、前記出力条件に従った別の圧縮画像データを生成する出力データ生成ステップとを有することを特徴とする。
【0014】
本発明によるデータ処理方法のもう1つの特徴は、請求項7に記載のように、請求項6に記載の構成において、前記出力データ生成ステップは、前記出力手順に定義された出力条件に従って、前記ヘッダ情報中の画像の解像度、サイズ、画質、タイル位置、色、ROI領域、変形の一部又は全部に関係するマーカセグメントのパラメータを書き換えることにある。
【0015】
本発明によるデータ処理方法のもう1つの特徴は、請求項8に記載のように、請求項6又は7に記載の構成において、前記出力データ生成ステップは、前記出力手順定義された出力条件に従って、さらに前記圧縮画像データ中の不要な符号を廃棄することにある。
【0016】
本発明によるデータ処理方法のもう1つの特徴は、請求項9に記載のように、請求項6乃至8のいずれか1項に記載の構成において、前記生成された圧縮画像データをイメージデータに伸長する伸長ステップをさらに有することにある。
【0017】
本発明によるデータ処理方法のもう1つの特徴は、請求項10に記載のように、請求項6乃至8のいずれか1項に記載の構成において、前記生成された圧縮画像データを別の装置へ送信する送信ステップをさらに有することにある。
【0018】
【発明の実施の形態】
以下の説明の理解を容易にするため、JPEG2000について概説する。
【0019】
図16は、JPEG2000の圧縮/伸長のアルゴリズムを説明するためのブロック図である。圧縮処理の対象となる画像データデータは、各コンポーネント毎に、重複しない矩形領域(タイル)に分割され、各コンポーネント毎にタイル単位で処理される。ただし、画像全体を1つのタイルとして処理することも可能である。
【0020】
各コンポーネントの各タイル画像は、色空間変換/逆変換部1で、圧縮率の向上を目的として、RGBデータやCMYデータからYCrCbデータへの色空間変換を施される。この色空間変換が省かれる場合もある。
【0021】
色空間変換後のタイル画像は、ウェーブレット変換/逆変換部2により、2次元のウェーブレット変換(離散ウェーブレット変換)を施され、複数のサブバンドに分解される。
【0022】
図17はデコンポジションレベル数が3の場合のウェーブレット変換の説明図である。図17(a)に示すタイル画像(デコンポジションレベル0)に対する2次元ウェーブレット変換により、図17(b)に示すような1LL,1HL,1LH,1HHの各サブバンドに分割される。1LLサブバンドの係数に対し2次元ウェーブレット変換が適用されることにより、図17(c)に示すように2LL,2HL,2LH,2HHのサブバンドに分割される。2LLサブバンドの係数に対し2次元ウェーブレット変換が適用されることにより、図17(d)に示すように3LL,3HL,3LH,3HHのサブバンドに分割される。デコンポジションレベルと解像度レベルとの関係であるが、図17(d)の各サブバンド内に括弧で囲んで示した数字が、そのサブバンドの解像度レベルである。
【0023】
このような低周波成分(LLサブバンド係数)の再帰的分割(オクターブ分割)により得られたウェーブレット係数は、量子化/逆量子化部3でサブバンド毎に量子化される。JPEG2000ではロスレス(可逆)圧縮とロッシー(非可逆)圧縮のいずれも可能であり、ロスレス圧縮の場合には量子化ステップ幅は常に1であり、この段階では実質的に量子化されない。
【0024】
量子化後の各サブバンド係数は、エントロピー符号化/復号化部4でエントロピー符号化される。このエントロピー符号化には、ブロック分割、係数モデリング及び2値算術符号化からなるEBCOT(Embedded Block Coding with Optimized Truncation)と呼ばれるブロックベースのビットプレーン符号化方式が用いられる。量子化後の各サブバンド係数のビットプレーンが、上位ビットから下位ビットへ向かって、コードブロックと呼ばれるブロック毎に符号化される。
【0025】
タグ処理部5において、エントロピー符号化/復号化部4で生成されたコードブロックの符号がまとめられてパケットが作成され、次に、パケットがプログレッション順序に従って並べられるとともに必要なタグ及びタグ情報が付加されることにより、所定フォーマットの符号化データ(圧縮画像データ)が作成される。JPEG2000では、符号順序制御に関して、解像度レベル、位置(プレシンクト)、レイヤ、コンポーネント(色成分)の組み合わせによる5種類のプログレッション順序が定義されている。
【0026】
このようにして生成されるJPEG2000の符号化データのフォーマットを図18に示す。図18に見られるように、符号化データはその始まりを示すSOCマーカと呼ばれるタグで始まり、その後に符号化パラメータや量子化パラメータ等を記述したメインヘッダ(Main Header)と呼ばれるタグ情報が続き、その後に各タイル毎の符号データが続く。各タイル毎の符号データは、SOTマーカと呼ばれるタグで始まり、タイルヘッダ(Tile Header)と呼ばれるタグ情報、SODマーカと呼ばれるタグ、各タイルの符号列を内容とするタイルデータ(Tile Data)で構成される。最後のタイルデータの後に、終了を示すEOCマーカと呼ばれるタグが置かれる。
【0027】
図19にメインヘッダの構成を示す。SIZ,COD,QCDの各マーカセグメントは必須であるが、他のマーカセグメントはオプションである。図20にタイルヘッダの構成を示す。図20において、(a)はタイルデータの先頭に付加されるヘッダの構成を示し、(b)はタイル内が複数に分割されている場合に分割されたタイル部分列の先頭に付加されるヘッダの構成を示す。タイルヘッダでは必須のマーカセグメントはなく、すべてオプションである。SOTマーカセグメントの構成を図21に、SIZマーカセグメントの構成を図22に、CODマーカセグメントの構成を図23に、CRGマーカセグメントの構成を図24に、RGNマーカセグメントの構成を図25にそれぞれ示す。
【0028】
JPEG2000の符号化データの伸長処理は圧縮処理と逆の処理となる。符号化データはタグ処理部5で各コンポーネントの各タイルの符号列に分解される。この符号列はエントロピー符号化/復号化部4によってエントロピー復号される。復号されたウェーブレット係数は量子化/逆量子化部3で逆量子化されたのち、ウェーブレット変換/逆変換部2で2次元の逆ウェーブレット変換を施されることにより、各コンポーネントの各タイルの画像が再生される。各コンポーネントの各タイル画像は色空間変換/逆変換部1で逆色変換処理を施されてRGBなどのコンポーネントから構成されるタイル画像に戻される。
【0029】
さて、JPEG2000においては、画像は複数の領域に分割され、各分割領域は依存関係にない状態で圧縮されるが、分割領域として前記のタイルとコードブロックのほかにプレシンクトがあり、画像≧タイル≧サブバンド≧プレシンクト≧コードブロックの大きさ関係がある。プレシンクトに含まれる全てのコードブロックの符号の一部(例えば最上位から3ビット目までの3枚のビットプレーンの符号)を取り出して集めたものがパケットである。符号が空(から)のパケットも許される。コードブロックの符号をまとめてパケットを生成し、所望のプログレッション順序に従ってパケットを並べることにより符号化データを形成する。図18中の各タイルに関するSOD以下の部分がパケットの集合である。
【0030】
JPEG2000の符号化データはレイヤ構造を持たせることができる。全てのプレシンクト(つまり、全てのコードブロック、全てのサブバンド)のパケットを集めると、画像全域の符号の一部(例えば、画像全域のウェーブレット係数の最上位のビットプレーンから3枚目までのビットプレーンの符号)ができるが、これがレイヤである。したがって、伸長時に復号されるレイヤの数が多いほど再生画像の画質は向上する。つまり、レイヤは画質の単位と言える。全てのレイヤを集めると、画像全域の全てのビットプレーンの符号になる。
【0031】
以上説明したJPEG2000の符号化データを構成するパケットは領域、画質、コンポーネント、解像度の各インデックスを持っているため、符号状態で領域、画質、コンポーネント、解像度の各パラメータで符号の取捨選択が可能である。すなわち、ある符号化データを、伸長することなく、つまり符号状態のままで、符号の選択的削除(及び必要なタグ情報の書き換え)により、再生時の領域、画質、コンポーネント、解像度を変更した符号化データに変換することができる。
【0032】
また、後に具体的に述べるように、JPEG2000符号化データは、符号そのものを変更することなく、タグ情報(ヘッダ情報)の書き換えのみによって、再生時の解像度、画質、コンポーネント、領域を変更した符号化データに変換することもできる。
【0033】
また、JPEG2000は、画像全体の圧縮率を下げることなく、特定の領域の圧縮率を下げる(高画質化する)選択的領域画質向上機能(ROI)がある。JPEG2000の基本仕様では、ROI領域のウェーブレット係数をビットシフトするMax Shift方式と呼ばれるROI方式が規定されている。
【0034】
図1は、本発明の第1の実施形態を説明するためのブロック図である。この実施形態に係るデータ処理装置は、表示装置131に表示されるイメージデータを生成する構成であり、データ取得部101、出力データ生成部102、システム制御部105、出力手順ファイル122を有する。121は出力手順ファイル122を保存するための記憶部である。
【0035】
130は出力データ生成部102が生成したイメージデータ(出力データ)を書き込むビデオメモリ部であり、ここに書き込まれたイメージデータが表示装置131の画面に表示される。120はデータ・ソースであり、少なくともJPEG2000により圧縮された画像(静止画又は動画)データを含むデータ群をファイルとして蓄積している。なお、データ・ソース120は、ローカルな記憶装置であったり、LAN、イントラネット、インターネットなどのネットワーク上のファイルサーバーなどである。
【0036】
システム制御部105は、データ処理装置の全体的な動作を制御する手段である。また、システム制御部105は、出力手順ファイル122に記述された出力手順の内容を取り込んで解釈し、出力手順中に時間軸に沿って定義されたデータの指定及び出力条件を、時間経過に従ってデータ取得部101及び出力データ生成部102へそれぞれ通知する手段でもある。
【0037】
データ取得部101は、システム制御部105より渡されたデータの指定に従って、1つ又は複数のデータソース120に蓄積されているデータ群より必要なデータを取り込み、それを出力データ生成部102に入力する手段である。
【0038】
出力データ生成部103は、データ取得部101より入力されるデータから、システム制御部105より渡された出力条件に従ったイメージデータ(出力データ)を生成する手段であり、データ処理部103とJPEG2000デコーダ104とからなる。JPEG2000デコーダ104は、JPEG2000による圧縮画像データをイメージデータに伸長する手段である。データ処理部103は、圧縮画像データをJPEG2000デコーダ104へ渡してイメージデータに伸長させ、テキストデータをイメージデータへ展開し、得られたイメージデータをビデオメモリ部130に書き込む。データ処理部103は、出力条件に従って、JPEG2000デコーダ104の伸長動作の制御、圧縮画像データのヘッダ情報の書き換え処理、伸長又は展開されたイメージデータの変倍(間引き/補間処理)、ビデオメモリ部130に対するイメージデータの書き込み位置の制御などを行う。
【0039】
出力手順ファイル122に記述されている出力手順は、時間軸に沿って、出力(表示)するデータの指定と、そのデータの出力条件を定義したものである。データの指定とは、例えば当該データのファイル名やURLである。データの出力条件としては、例えば、当該データが圧縮画像データの場合ならば、画像の解像度、サイズ、画質、タイル位置、色、ROI領域、変形など、再生画像の見え方に直接関係する条件のほか、データの出力(表示)時間、画像やテキストのイメージが表示される画面上の位置などが定義される。
【0040】
図2は、このデータ処理装置の動作を説明するための簡略化されたフローチャートである。以下、このフローチャートに沿って動作を説明する。
【0041】
最初に、システム制御部105は出力手順を読み込む(ステップS100)。次に、システム制御部105は、その出力手順の内容を解析し、最初のデータの指定をデータ取得部101に通知し、かつ、当該データに関する出力条件を出力データ生成部102に通知する。また、当該データの種類が動画であるか否かによって当該データに関する制御手順を選択する(ステップS102)。なお、ここでは説明の煩雑化を避けるため、データの種類としてJPEG2000により圧縮された動画又は静止画のデータとテキストデータを想定して説明するが、表やグラフ、音声などのデータを除外するわけではない。
【0042】
データが静止画又はテキストの場合には、そのデータがデータ取得部101によってデータソース120より取り込まれ、出力データ生成部102に入力する(ステップS104)。
【0043】
そのデータがテキストデータの場合、データ処理部103はイメージデータに展開し、それをビデオメモリ部130に書き込むが、この際、出力条件に従ってイメージデータのサイズ及び書き込み位置(画面上での位置)を制御する(ステップS106)。そして、システム制御部105は、当該テキストの出力条件として指定された出力(表示)時間の経過を監視する(ステップS108)。
【0044】
データが静止画の圧縮データの場合、そのデータがデータ取得部101によって取り込まれて出力データ生成部102に入力し(ステップS104)、出力データ生成部102のJPEG2000デコーダ104によりイメージデータに伸長され、それがデータ処理部103により出力条件として指定されたビデオメモリ部130の位置に書き込まれる(ステップS106)。この際、データ処理部103は、出力条件として指定された解像度、サイズ、画質、色数などに従ったイメージデータを生成するために、JPEG2000デコーダ104の伸長動作の制御、各フレームの圧縮画像データのヘッダ情報の書き換え、伸長後のイメージデータの間引き/補間処理などを必要に応じて行うが(つまり、そのような制御又は処理のための手段をデータ処理部103が含んでいる)、これについては後述する。そして、システム制御部105は、当該静止画の出力条件として指定された出力(表示)時間の経過を監視する(ステップS108)。
【0045】
データが動画の圧縮データの場合、各フレームのデータがデータ取得部101によって順に取り込まれて出力データ生成部102に入力し(ステップS110)、出力データ生成部102のJPEG2000デコーダ104によりイメージデータに伸長され、それがデータ処理部103により出力条件として指定されたビデオメモリ部130の位置に書き込まれる(ステップS112)。この際、データ処理部103は、出力条件として指定された解像度、サイズ、画質、色数などに従ったイメージデータを生成するために、JPEG2000デコーダ104の伸長動作の制御、各フレームの圧縮画像データのヘッダ情報の書き換え、伸長後のイメージデータの間引き/補間処理などを必要に応じて行うが(つまり、そのような制御又は処理のための手段をデータ処理部103が含んでいる)、これについては後述する。システム制御部105は、当該動画の出力条件として指定された出力(表示)時間の経過を監視しており(ステップS114)、出力時間が経過するまではステップS110,S112を繰り返し実行させる。
【0046】
出力条件として指定された出力時間を経過すると(ステップS114又はS108、YES)、システム制御部105は出力手順を参照し、次のデータの指定があるかチェックし(ステップS116)、次のデータの指定があるならば、そのデータに関し同様の動作を開始させる。最後のデータまで処理されると(ステップS116,NO)、一連の出力データ生成動作を終了する。
【0047】
ここで、解像度、サイズ、画質、色などの出力条件に従ったイメージデータを生成するためのデータ処理部103による制御又は処理について、より具体的に説明する。
【0048】
JPEG2000においてはLRCP、RLCP、RPCL、PCRL、CPRLの5つのプログレッション順序が定義されている。ここで、Lはレイヤ、Rは解像度レベル、Cはコンポーネント、Pはプリシンクトである。
【0049】
例えばRLCPプログレッションの場合には、パケットの配置(圧縮時)又はパケットの解釈(伸長時)の順序は、R,L,C,Pの順にネストされた次のようなforループで表すことができる。
for(解像度レベル){
for(レイヤ){
for(コンポーネント){
for(プリシンクト){
パケットを配置:圧縮時
パケットを解釈:伸長時
}
}
}
}
【0050】
また、LRCPプログレッションの場合、パケットの配置(圧縮時)又はパケットの解釈(伸長時)の順序は、L,R,C,Pの順にネストされた次のようなforループで表すことができる。
for(レイヤ){
for(解像度レベル){
for(コンポーネント){
for(プリシンクト){
パケットを配置:圧縮時
パケットを解釈:伸長時
}
}
}
}
【0051】
他のプログレッション順序の場合も同様のネストされたforループにより、パケットの配置順又は解釈順が決まる。
【0052】
したがって、出力データ生成部102において、データ処理部103でJPEG2000デコーダ104の解像度レベルのforループの回数を制御することにより、伸長されるイメージデータの解像度を調整することができる。つまり、例えば図17(d)に示すようなデコンポジションレベル数が3の圧縮画像データの場合、解像度レベル0が指定されたときには3LLサブバンド係数の符号のみを復号してイメージデータを生成させ、解像度レベル1が指定されたときには3LL,3HL,3LH,3HHサブバンド係数の符号のみを復号してイメージデータを生成させ、同様に、解像度レベル3が指定されたときには3LL〜1HHの全サブバンドの係数を復号してイメージデータを生成させる。同様に、レイヤのforループの回数やコンポーネントのforループの回数を制御することにより伸長されるイメージデータの画質や色数も調整することができる。
【0053】
データ処理部103は、出力条件に従った解像度、画質、色数のイメージデータを生成させるために、上述のようなJPEG2000デコーダ104の伸長動作の制御を行う手段を含んでいる。
【0054】
出力条件に従った画像サイズの調整は、いくつかの方法で可能である。例えば、JPEG2000デコーダ104で伸長されたイメージデータに対し、間引き又は補間による変倍処理を行う方法が可能であり、そのための手段がデータ処理部103に含まれている。また、指定された解像度レベルの画像サイズより大きなサイズのイメージデータを生成したい場合に、JPEG2000デコーダ104における伸長過程において、指定された解像度レベルより高いレベルのダミーのサブバンド係数(例えばオール”0”)を挿入して逆ウェーブレット変換を実行させることにより、指定解像度レベルよりサイズの大きいイメージデータを生成できる。このようなダミーのサブバンド係数の挿入を行うための手段もデータ処理部103に含まれる。この場合においても、最終的なサイズ調整に間引き/補間による変倍処理を利用可能であることは当然である。
【0055】
また、JPEG2000デコーダ104の内部動作を直接的に制御する代わりに、圧縮画像データのヘッダ情報を書き換えることにより、JPEG2000デコーダ104の伸長動作を制御することも可能であり、このようなヘッダ情報の書き換えのための手段もデータ処理部103に含まれる。このヘッダ情報の書き換えの具体例を以下に説明する。
【0056】
(A)画像の解像度とサイズを変更する方法: CODマーカセグメント(図23)のSPcodにデコンポジションレベル数が記述されている。このデコンポジションレベル数を小さな値に書き換える。この書き換えにより、デコーダは書き換え後のデコンポジションレベル数までしか伸長を行わないため、再生される画像は元の画像よりサイズが小さな低解像度の画像になる。
【0057】
(B)簡便な画像サイズの変更方法: JPEG2000では、リファレンス・グリッド(reference grid)と呼ばれる座標軸を用いて画像の位置が表現される。メインヘッダ中のSIZマーカセグメント(図22)には、このリファレンス・グリッドの水平、垂直方向のサイズが記述されるXsiz,Ysizというパラメータがある。このXsiz,Ysizの値を書き換える。この書き換えにより、簡便な画像サイズ変更を行うことができる(画像の一部はカットされる)。図3は、その例を模式的に示している。元はXsiz=Ysiz=5であったものを、Xsiz=3、Ysiz=3に書き換えると、図3の(a)のように再生されるべき画像が(b)のように斜線の部分がカットされた小さな画像として再生される。
【0058】
(C)タイルの再生位置を変更する方法: タイルヘッダ中のSOTマーカセグメント(図21)には、ラスター順にタイルに割り当てられたタイル番号(Isot)が記述されているが、その値を書き換える。すなわち、図4の(a)のようにタイル分割されて圧縮された画像の場合に、タイル番号を書き換えることにより、例えば同図(b)のように再生画像上のタイルの並びを不整にすることができる。
【0059】
(D)画像を変形する方法: SIZマーカセグメント(図22)には、コンポーネント毎の水平、垂直方向のサンプル数が記述されるパラメータXRsiz(i)、YRsiz(i)が含まれているが、これを書き換える。この書き換えによって画像を縦横に変形させて再生させることができる。図5は、その例を模式的に示している。XRsiz(i)=YRsiz(i)=2に設定されている場合に、XRsiz(i)=1、YRsiz(i)=2に書き換えると、図5(a)のように再生されるべき画像は、水平方向に膨張した(b)のような画像として再生され、また、XRsiz(i)=4、YRsiz(i)=2に書き換えると水平方向に縮んだ(c)のような画像として再生される。
【0060】
(E)画像を変形させる別の方法: JPEG2000では、リファレンス・グリッドの原点と画像の原点との位置ずれ(オフセット)を指定することができる。SIZマーカセグメントのXOsiz、YOsizが、水平、垂直方向のオフセットが記述されるパラメータである。このXOsiz、YOsizの値を書き換える。図6は、その例を模式的に示している。XOsiz=YOsiz=0であったものをXOsiz=3、YOsiz=0に書き換えることにより、図6の(a)のように再生されるべき画像は、(b)に示すように右にシフトされ右端側が欠落した形で再生される。なお、Xsiz、Ysizの書き換えと併用することも可能である。
【0061】
(F)ROI領域以外を再生させない方法: 前述したように、JPEG2000の基本仕様では、ROI方式としてビットシフトによるMax Shift方式が規定されている。RGNマーカセグメント(図25)には、このビットシフト量が記述されるSPrgnというパラメータがある。このSPrgnを大きな値に書き換える。この書き換えにより、ROI領域のみを再生させることができる。図7は、その例を模式的に示している。(a)のようにROI領域が2ビットだけシフトされている画像(つまり、SPrgn=2)の場合に、SPrgn=10(=ROIシフト分の2ビット+通常の表示分ビット0〜7までの8ビット)に書き換えると、ビット0〜7の8ビット分は再生されない。したがって、再生画像上では、例えば同図(b)に示すように、ROI領域は再生されるが、その他の領域は再生されない。なお、タイルヘッダにRGNマーカセグメントが含まれている場合、その内容がメインヘッダ中のRGNマーカセグメントの内容より優先される。したがって、タイルヘッダ中にRGNマーカセグメントが含まれている符号化データでは、少なくとも、そのRGNマーカセグメントのSPrgnを書き換える必要がある。
【0062】
(G)画像の色再生を不正常にする方法: CODマーカセグメント(図23)にはコンポーネントに関係する符号スタイルのパラメータSGcodがある。このSGcodにはコンポーネントの色変換の有無を表す値も記述されている。この値が0ならば色変換なし、1ならば色変換ありである。この値を書き換える。この書き換えにより、画像は不正常な色で再生される。例えば、RGBからYCbCrへの色変換が行われた符号化データでは、その値は1に設定されているが、これを0に書き換えると、伸長の際にYCbCrからRGBへ戻す逆色変換が行われないため、再生される画像の色が不自然なものになる。同様に、0を1に書き換えた場合にも色再生が不自然になる。
【0063】
(H)画像の色再生を不正常にする別の方法: SIZマーカセグメント(図22)にはコンポーネント数を表すパラメータCsizがある。RGBカラー画像などはCsiz=3に設定されているが、これを2に書き換える。この書き換えにより、不自然な色の画像として再生される。
【0064】
(I)画像の色再生を不正常にする別の方法: CRGマーカセグメント(図24)には、コンポーネント毎の水平、垂直方向のオフセット位置を表すパラメータXcrg(i)、Ycrg(i)が含まれている。このXcrg(i)、Ycrg(i)の値を書き換える。この書き換えにより、コンポーネント間の空間的位置関係が乱れ、いわゆる色ずれを生じた不自然な色の再生画像となる。
【0065】
(J)画像の色数を変更する: SIZマーカセグメント(図22)にはコンポーネント数を表すパラメータCsizがある。RGBカラー画像などはCsiz=3に設定されているが、これを1に書き換える。これにより、カラー画像がモノクロ画像として再生される。
【0066】
次に出力手順の具体例を説明する。出力手順はテーブル形式など任意の形式で記述し得るが、この実施の形態では、汎用性を考慮し、ISO/IEC JTC1 SC29/WG11において標準化作業が進行している、マルチメディア・コンテンツに対するメタデータの表記に関する国際標準規格MPEG−7(Multimedia Content Description Interface;ISO/IEC 15938-1〜8)により記述される。この出力手順はxmlファイルとして保存される。
【0067】
MPEG−7により記述された出力手順の一例を図8乃至13に示す。ここに示す出力手順の内容は次の通りである。
【0068】
(1)最初に出力されるデータとして、sample1.jp2なるファイル名で保存されている圧縮画像データ(JPEG2000で圧縮された静止画)が指定されている。出力条件として、サイズ=240×360画素、解像度=レベル1、表示位置(画面上におけるイメージの左上角の座標)=(100,200)、表示時間=10秒が指定されている。
【0069】
(2)2番目に出力されるデータとして、1番目と同じ圧縮画像データが指定されている。出力条件として、サイズ=120×180画素、解像度=レベル1、表示位置=(100,200)、表示時間=10秒が指定されている。
【0070】
(3)3番目に出力されるデータとして、sample2.mj2なるファイル名で保存されている圧縮画像データ(JPEG2000で圧縮された動画)が指定されている。出力条件として、サイズ=240×360画素、解像度=レベル1、表示位置=(100,200)、表示時間=10秒が指定されている。
【0071】
(4)最後に出力されるデータとして、sample3.txtなるファイル名で保存されているテキストデータが指定されている。出力条件として、サイズ=240×360画素、表示位置=(100,200)、表示時間=10秒が指定されている。
【0072】
したがって、この出力手順の例では、最初に静止画(sample1.jp2)を解像度レベル1で伸長した240×360画素サイズのイメージが表示装置131の画面に10秒間表示され、次に同じ静止画を解像度レベル1で伸長した120×180画素サイズのイメージが画面に10秒間表示され、次に動画(sample2/mj2)を解像度レベル1で伸長した240×360画素サイズのイメージが10秒間表示され、最後にテキスト(sample3.txt)が240×360画素サイズのイメージとして画面に10秒間表示される。各イメージの画面上の表示位置は同じである。
【0073】
ここまでの説明から明らかなように、出力手順の内容によって、さらに多様な形態で静止画、動画、テキストを表示させることができる。例えば、前述のようなヘッダ情報の書き換えなどを利用することにより、静止画又は動画をタイル並びを不整にした状態で表示し、時間とともにタイル並びを正常な状態に近づけ、最終的に正常なタイル並びで表示させることにより、画像に注目させるような表示形態を実現することができる。また、静止画又は動画を初めは低画質、低解像度で表示させ、徐々に画質、解像度を上げて表示させたり、途中まではモノクロで表示させ、最後にカラーで表示させるような表示形態も実現できる。また、静止画又は動画を意図的に色ずれのある形で表示させたり、変形した形で表示させることができる。このように、このデータ処理装置によれば、極めて変化に富んだプレゼンテーションを行うことができる。
【0074】
以上に述べたように、このデータ処理装置は、データソース120に蓄積されている静止画、動画、テキストなどを、それを予め編集することなく、出力手順に従って様々な順序、表示形態で表示させることができるため、プレゼンテーションなどの用途に効果的に利用できる。
【0075】
なお、このデータ処理装置の機能、換言すれば図2に示したデータ処理手順(データ処理方法)は、パソコンなどのコンピュータのハードウェアを利用し、プログラムによって実現することも容易である。この場合にJPEG2000デコーダ104はハードウェアのデコーダを利用することも可能である。そのようなコンピュータ・プログラムと、それが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子などコンピュータが読み取り可能な各種の記録(記憶)媒体も本発明に含まれる。
【0076】
図14は、本発明の第2の実施形態を説明するためのブロック図である。この実施形態に係るデータ処理装置は、プレゼンテーションなどのためのデータを生成し、それをパソコンなどの外部装置240へ配信する構成であり、データ取得部201、出力データ生成部202、システム制御部205、出力手順ファイル222、送信バッファメモリ部230、送信部2312を有する。221は出力手順ファイル222を保存するための記憶部である。出力手順ファイル122に記述されている出力手順の内容は第1の実施形態と同様である。
【0077】
出力データ生成部102は生成した出力データ(送信データ)を送信バッファメモリ部230に書き込まれ、ここに書き込まれた送信データは送信部231によってインターフェース・ケーブルあるいはLAN、イントラネット、インターネットなどのネットワークを通じてパソコンなどの外部装置131へ送信される。220はデータ・ソースであり、少なくともJPEG2000により圧縮された画像(静止画又は動画)データを含むデータ群をファイルとして蓄積している。データ・ソース120は、ローカルな記憶装置、あるいは、LAN、イントラネット、インターネットなどのネットワーク上に存在するファイルサーバーなどである。
【0078】
システム制御部205は、データ処理装置の全体的な動作を制御する手段である。また、システム制御部205は、出力手順ファイル222に記述された出力手順の内容を取り込んで解析し、出力手順中に時間軸に沿って定義されたデータの指定及び出力条件を、時間経過に従ってデータ取得部201及び出力データ生成部202へそれぞれ通知する手段でもある。
【0079】
データ取得部201は、システム制御部205より通知されたデータの指定に従って、1つ又は複数のデータソース220に蓄積されているデータ群より必要なデータを取り込み、それを出力データ生成部202に入力する手段である。
【0080】
出力データ生成部203は、データ取得部201より入力されたデータから、システム制御部205より通知された出力条件に従った出力データ(送信データ)を生成する手段であり、データ処理部203と符号変換部204とからなる。符号変換部204は、JPEG2000による圧縮画像データを、符号状態のまま、出力条件に従った別の圧縮画像データに変換する手段である。データ処理部203は、圧縮画像データを符号変換部204へ渡して変換させ、変換後の圧縮画像データやテキストデータから送信に適した所定フォーマットの送信データを作成し、それを送信バッファメモリ部230に書き込む手段である。
【0081】
図15は、このデータ処理装置の動作を説明するための簡略化したフローチャートである。以下、このフローチャートに沿って動作を説明する。
【0082】
最初に、システム制御部205は出力手順を読み込む(ステップS200)。次に、システム制御部205は、その出力手順を解析し、最初のデータの指定をデータ取得部201に通知し、かつ、当該データに関する出力条件を出力データ生成部202に通知する。また、当該データの種類が動画であるか否かによって当該データに関する制御手順を選択する(ステップS202)。ここでは、データの種類として、JPEG2000により圧縮された動画又は静止画のデータと、テキストデータを想定して説明する。
【0083】
データが動画以外、つまり静止画又はテキストの場合には、そのデータがデータ取得部201によってデータソース220より取り込まれ、出力データ生成部202に入力する(ステップS204)。
【0084】
そのデータがテキストデータの場合、データ処理部203により、そのテキストデータを内容とする送信データが作成されて送信バッファメモリ部230に書き込まれる(ステップS206)。送信バッファメモリ部230に送信データが書き込まれる都度、その送信データは送信部231により外部装置240へ送信される。そして、システム制御部105は、当該テキストの出力条件として指定された出力時間の経過を監視する(ステップS208)。
【0085】
データが静止画の圧縮データの場合、そのデータがデータ取得部201によって取り込まれて出力データ生成部102に入力し(ステップS204)、出力データ生成部202の符号変換部204により出力条件に従った別の圧縮画像データに変換され、データ処理部203により、その変換後の圧縮画像データを内容とする送信データが作成されて送信バッファメモリ部230に書き込まれ、これが送信部231により送信される(ステップS206)。そして、システム制御部105は、当該静止画の出力条件として指定された出力時間の経過を監視する(ステップS208)。
【0086】
データが動画の圧縮データの場合、各フレームのデータがデータ取得部201によって順に取り込まれて出力データ生成部202に入力し(ステップS210)、出力データ生成部202の符号変換部204により出力条件に従った別の圧縮画像データに変換され、データ処理部203によりその送信データが作成されて送信バッファメモリ部230書き込まれ、送信部231により送信される(ステップS212)。システム制御部205は、当該動画の出力条件として指定された出力時間の経過を監視しており(ステップS214)、出力時間が経過するまではステップS210,S212を繰り返し実行させる。
【0087】
出力条件として指定された出力時間を経過すると(ステップS214又はS208、YES)、システム制御部205は出力手順を参照し、次のデータの指定があるかチェックし(ステップS216)、次のデータの指定があるならば、そのデータに関し同様の動作を開始させる。最後のデータまで処理されると(ステップS216,NO)、一連の動作を終了する。
【0088】
ここで、符号変換部204について説明する。符号変換部204は、2種類の変換手段を含む。第1の変換手段は、第1の実施の形態において述べたように、入力される圧縮画像データを、そのヘッダ情報の書き換えにより出力条件に従った圧縮画像データに変換する手段である。この変換は、符号そのものを扱わないため、次に述べる第2の変換手段による変換にくらべ処理が単純である。
【0089】
第2の変換手段は、入力される圧縮画像データを、不要な符号の廃棄と必要なヘッダ情報の書き換えを行って、出力条件に従った圧縮画像データに変換する手段である。この第2の変換手段では、例えば、解像度レベルを下げる場合には、不要な解像度レベルのサブバンド係数に対応するパケットを実際に廃棄した圧縮画像データを生成する。画質を下げる場合には、マルチレイヤ構成ならば下位のレイヤのパケットを廃棄し、シングルレイヤ構成ならば下位ビットプレーンのパケットを廃棄する。カラーの圧縮画像データをモノクロ化したい場合には、輝度コンポーネントのパケットのみ残し、色差コンポーネントのパケットを廃棄する、等々である。変換後のデータには不要な符号が含まれないため、その送信データのデータ量と送信時間を削減できる利点がある。
【0090】
第1の変換手段、第2の変換手段のいずれによる変換も、伸長して再圧縮することによるものではないため、再圧縮に伴う画質劣化を生じないことに注目すべきである。従来のJPEGの静止画データやMotion−JPEGの動画データでは再圧縮によるジェネレーション的な画質劣化が避けられない。
【0091】
なお、出力条件として画像やテキストの画面上での表示位置が指定され、これを外部装置240へ伝達する必要がある場合には、データ処理部203は、例えば、送信データのヘッダ部分に表示位置データを乗せる。圧縮画像データの場合には、メインヘッダのCOM(コメント)マーカセグメントに表示位置を記述することもできる。また、テキストデータの表示サイズの指定も伝達する必要がある場合には、その送信データのヘッダ部分に記述される。
【0092】
以上の構成であるため、パソコンなどの外部装置240において、受信した圧縮画像データをイメージデータに伸長し、またテキストデータをイメージデータに展開し、そのイメージデータを表示装置へ出力することにより、第1の実施形態と同様に、出力手順に従った画像やテキストの変化に富んだ表示を行うことができる。したがって、このデータ処理装置は、プレゼンテーションなどのためのデータをパソコンなどに配信する用途に効果的に利用できる。
【0093】
なお、この実施形態によるデータ処理装置の機能、換言すれば図2に示したデータ処理手順(データ処理方法)も、パソコンなどのコンピュータのハードウェアを利用し、プログラムによって実現することは容易である。そのようなコンピュータ・プログラムと、それが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子などコンピュータが読み取り可能な各種の記録(記憶)媒体も本発明に含まれる。
【0094】
【発明の効果】
以上に述べたように、本発明のデータ処理装置及び方法は、JPEG2000の圧縮画像データを、予め編集することなく、出力手順に従って様々な順序、表示形態で表示させることができ、また、そのような表示のためのデータをパソコンなどに配信することができるため、プレゼンテーションなどの用途に効果的に利用可能である。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態を説明するためのブロック図である。
【図2】 第1の実施の形態を説明するためのフローチャートである。
【図3】 ヘッダ情報の書き換えを説明するための図である。
【図4】 ヘッダ情報の書き換えを説明するための図である。
【図5】 ヘッダ情報の書き換えを説明するための図である。
【図6】 ヘッダ情報の書き換えを説明するための図である。
【図7】 ヘッダ情報の書き換えを説明するための図である。
【図8】 MPEG−7により記述された出力手順の例を示す図である。
【図9】 図8の続きを示す図である。
【図10】 図9の続きを示す図である。
【図11】 図10の続きを示す図である。
【図12】 図11の続きを示す図である。
【図13】 図12の続きを示す図である。
【図14】 本発明の第2の実施の形態を説明するためのブロック図である。
【図15】 第2の実施の形態を説明するためのフローチャートである。
【図16】 JPEG2000のアルゴリズムを説明するためのブロック図である。
【図17】 ウェーブレット変換を説明するための図である。
【図18】 JPEG2000の符号フォーマットを示す図である。
【図19】 メインヘッダの構造を説明するための図である。
【図20】 タイルヘッダの構造を説明するための図である。
【図21】 SOTマーカセグメントの構造を示す図である。
【図22】 SIZマーカセグメントの構造を示す図である。
【図23】 CODマーカセグメントの構造を示す図である。
【図24】 CRGマーカセグメントの構造を示す図である。
【図25】 RGNマーカセグメントの構造を示す図である。
【符号の説明】
101 データ取得部
102 出力データ生成部
103 データ処理部
104 JPEG2000デコーダ
105 システム制御部
120 データ・ソース
122 出力手順ファイル
130 ビデオメモリ部
131 表示装置
201 データ取得部
202 出力データ生成部
203 データ処理部
204 符号変換部
205 システム制御部
220 データ・ソース
222 出力手順ファイル
230 送信バッファメモリ部
231 送信部
240 外部装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus and method for displaying or distributing data such as a still image and a moving image according to a predetermined procedure for presentation or the like.
[0002]
[Prior art]
For presentations using materials such as images, graphs, tables, text, and audio, so-called presentation software such as Microsoft PowerPoint (registered trademark) and Apple Keynote (registered trademark) is used. There are many cases. Such presentation software basically edits materials for presentation in advance, for example, by processing various materials into sizes to be displayed and arranging them in the order in which they are to be displayed.
[0003]
Images are often stored or transmitted in a compressed state. JPEG is widely used for still image compression, and MPEG and Motion-JPEG are widely used for moving image compression. However, JPEG2000 that uses wavelet transform has attracted attention as a new compression method (see, for example, Non-Patent Document 1). .
[0004]
The compression algorithm of JPEG2000 is defined in the basic specification (ISO / IEC FCD 15444-1). The file format of a JPEG2000 moving image is defined in an extended specification (ISO / IEC FCD 15444-3). In a
[0005]
[Non-Patent Document 1]
Yasuyuki Nomizu, “Next Generation Image Coding System JPEG2000”, Trikes, Inc., February 13, 2001
[0006]
[Problems to be solved by the invention]
JPEG2000 compressed image data can be decompressed with a resolution, size, image quality, color, etc. that is different from the image before compression, and compressed image data with the resolution, size, image quality, color, etc. changed in the encoded state. Can be converted to
[0007]
The present invention pays attention to such characteristics of
[0008]
[Means for Solving the Problems]
A data processing apparatus according to the present invention as described in
[0009]
Another feature of the data processing device according to the present invention is that, in the configuration according to
[0010]
Another feature of the data processing device according to the invention is as claimed in
[0011]
Another feature of the data processing device according to the invention is as claimed in
[0012]
Another feature of the data processing device according to the invention is as claimed in
[0013]
The data processing method according to the present invention comprises:Claim 6As described inA data processing method for processing JPEG2000 compressed image data (hereinafter simply referred to as compressed image data) in accordance with an output procedure in which designation of data to be output along a time axis and an output condition are defined, defined in the output procedure A data acquisition step for capturing predetermined compressed image data in accordance with the specified data, and for the captured compressed image data, according to the output conditions defined in the output procedure, the predetermined marker segment in the header information of the compressed image data And an output data generation step of generating another compressed image data according to the output condition by rewriting the parameters.
[0014]
Another feature of the data processing method according to the present invention is:Claim 7As described inClaim 6In the configuration described inIn the output data generation step, a marker segment related to the resolution, size, image quality, tile position, color, ROI region, or part or all of the deformation of the image in the header information according to the output condition defined in the output procedure It is to rewrite the parameters.
[0015]
Another feature of the data processing method according to the present invention is:Claim 8As described inClaim 6 or 7In the configuration described inThe output data generation step further includes discarding unnecessary codes in the compressed image data in accordance with the output conditions defined in the output procedure.
[0016]
Another feature of the data processing method according to the present invention is:Claim 9As described inAny one of
[0017]
Another feature of the data processing method according to the present invention is:Claim 10As described inAny one of
[0018]
DETAILED DESCRIPTION OF THE INVENTION
In order to facilitate understanding of the following description, JPEG2000 will be outlined.
[0019]
FIG. 16 is a block diagram for explaining a JPEG2000 compression / decompression algorithm. Image data data to be compressed is divided into non-overlapping rectangular areas (tiles) for each component, and processed in units of tiles for each component. However, it is also possible to process the entire image as one tile.
[0020]
Each tile image of each component is subjected to color space conversion from RGB data or CMY data to YCrCb data by the color space conversion /
[0021]
The tile image after the color space conversion is subjected to a two-dimensional wavelet transform (discrete wavelet transform) by the wavelet transform /
[0022]
FIG. 17 is an explanatory diagram of wavelet transformation when the number of decomposition levels is 3. The tile image (decomposition level 0) shown in FIG. 17A is divided into 1LL, 1HL, 1LH, and 1HH subbands as shown in FIG. 17B by two-dimensional wavelet transform. By applying the two-dimensional wavelet transform to the coefficients of the 1LL subband, the subbands are divided into 2LL, 2HL, 2LH, and 2HH as shown in FIG. By applying the two-dimensional wavelet transform to the coefficients of the 2LL subband, it is divided into 3LL, 3HL, 3LH, and 3HH subbands as shown in FIG. Regarding the relationship between the decomposition level and the resolution level, the numbers shown in parentheses in each subband in FIG. 17D are the resolution levels of the subband.
[0023]
Wavelet coefficients obtained by recursive division (octave division) of such low frequency components (LL subband coefficients) are quantized for each subband by the quantization /
[0024]
Each subband coefficient after quantization is entropy encoded by the entropy encoding /
[0025]
In the
[0026]
The format of
[0027]
FIG. 19 shows the configuration of the main header. Each marker segment of SIZ, COD, and QCD is essential, but the other marker segments are optional. FIG. 20 shows the configuration of the tile header. 20, (a) shows the structure of the header added to the head of tile data, and (b) shows the header added to the head of the divided tile subsequence when the tile is divided into a plurality of parts. The structure of is shown. There is no mandatory marker segment in the tile header, all are optional. The SOT marker segment configuration is shown in FIG. 21, the SIZ marker segment configuration is shown in FIG. 22, the COD marker segment configuration is shown in FIG. 23, the CRG marker segment configuration is shown in FIG. 24, and the RGN marker segment configuration is shown in FIG. Show.
[0028]
The decompression process of
[0029]
In JPEG2000, an image is divided into a plurality of regions, and each divided region is compressed in a state where there is no dependency. However, there are precincts other than the tiles and code blocks as divided regions, and image ≧ tile ≧ There is a size relationship of subband ≧ precinct ≧ code block. A packet is obtained by collecting a part of codes of all code blocks included in the precinct (for example, codes of three bit planes from the most significant bit to the third bit). Packets with an empty code are allowed. The code of the code block is collected to generate a packet, and the encoded data is formed by arranging the packet according to a desired progression order. In FIG. 18, the portion below SOD for each tile is a set of packets.
[0030]
The encoded data of JPEG2000 can have a layer structure. When packets of all precincts (that is, all code blocks and all subbands) are collected, a part of the code of the entire image (for example, the bits from the most significant bit plane of the wavelet coefficient of the entire image to the third bit) This is a layer. Therefore, the larger the number of layers decoded at the time of decompression, the higher the quality of the reproduced image. That is, a layer can be said to be a unit of image quality. When all layers are collected, it becomes the code of all bit planes of the entire image.
[0031]
Since the packet constituting the JPEG2000 encoded data described above has the area, image quality, component, and resolution indexes, the code can be selected by the area, image quality, component, and resolution parameters in the code state. is there. That is, a code in which the area, image quality, component, and resolution at the time of reproduction are changed by selectively deleting the code (and rewriting the necessary tag information) without expanding the code data, that is, in the code state. Can be converted into digitized data.
[0032]
As will be described in detail later, JPEG2000 encoded data is encoded by changing the resolution, image quality, component, and area at the time of reproduction only by rewriting tag information (header information) without changing the code itself. It can also be converted to data.
[0033]
JPEG2000 has a selective area image quality improvement function (ROI) that lowers the compression ratio of a specific area (increases image quality) without lowering the compression ratio of the entire image. In the basic specification of JPEG2000, an ROI method called a Max Shift method for bit-shifting wavelet coefficients in the ROI region is defined.
[0034]
FIG. 1 is a block diagram for explaining a first embodiment of the present invention. The data processing apparatus according to this embodiment is configured to generate image data to be displayed on the
[0035]
A
[0036]
The
[0037]
The
[0038]
The output
[0039]
The output procedure described in the
[0040]
FIG. 2 is a simplified flowchart for explaining the operation of the data processing apparatus. Hereinafter, the operation will be described with reference to this flowchart.
[0041]
First, the
[0042]
If the data is a still image or text, the data is fetched from the
[0043]
When the data is text data, the
[0044]
If the data is compressed still image data, the data is captured by the
[0045]
If the data is compressed video data, the data of each frame is sequentially taken in by the
[0046]
When the output time specified as the output condition has elapsed (step S114 or S108, YES), the
[0047]
Here, regarding the control or processing by the
[0048]
In JPEG2000, five progression orders of LRCP, RLCP, RPCL, PCRL, and CPRL are defined. Here, L is a layer, R is a resolution level, C is a component, and P is a precinct.
[0049]
For example, in the case of RLCP progression, the order of packet placement (compression) or packet interpretation (expansion) can be expressed by the following for loop nested in the order of R, L, C, and P. .
for (resolution level) {
for (layer) {
for (component) {
for (Precinct) {
Place packet: When compressed
Interpret packets: when decompressing
}
}
}
}
[0050]
In the case of LRCP progression, the order of packet arrangement (when compressed) or packet interpretation (when decompressed) can be expressed by the following for loop nested in the order of L, R, C, and P.
for (layer) {
for (resolution level) {
for (component) {
for (Precinct) {
Place packet: When compressed
Interpret packets: when decompressing
}
}
}
}
[0051]
In the case of other progression orders, a similar nested for loop determines the arrangement order or interpretation order of packets.
[0052]
Therefore, in the output
[0053]
The
[0054]
The image size can be adjusted according to the output condition by several methods. For example, a method of performing a scaling process by thinning or interpolation on the image data expanded by the
[0055]
Further, instead of directly controlling the internal operation of the
[0056]
(A) Method of changing image resolution and size: The number of decomposition levels is described in SPcod of the COD marker segment (FIG. 23). Rewrite the number of decomposition levels to a smaller value. By this rewriting, the decoder performs expansion only up to the number of decomposition levels after rewriting, so that the reproduced image becomes a low resolution image having a smaller size than the original image.
[0057]
(B) Simple method for changing image size: In JPEG2000, the position of an image is expressed using coordinate axes called a reference grid. The SIZ marker segment (FIG. 22) in the main header includes parameters Xsiz and Ysiz that describe the horizontal and vertical sizes of the reference grid. The values of Xsiz and Ysiz are rewritten. By this rewriting, a simple image size change can be performed (a part of the image is cut). FIG. 3 schematically shows an example thereof. When the original Xsiz = Ysiz = 5 is rewritten to Xsiz = 3 and Ysiz = 3, the hatched portion of the image to be reproduced as shown in FIG. Played as a small image.
[0058]
(C) Method of changing tile reproduction position: In the SOT marker segment (FIG. 21) in the tile header, tile numbers (Isot) assigned to the tiles are described in raster order, but the values are rewritten. That is, in the case of an image that has been divided into tiles and compressed as shown in FIG. 4A, by rewriting the tile numbers, for example, the tile arrangement on the reproduced image becomes irregular as shown in FIG. 4B. be able to.
[0059]
(D) Method of transforming image: The SIZ marker segment (FIG. 22) includes parameters XRsiz (i) and YRsiz (i) in which the number of samples in the horizontal and vertical directions for each component is described. Rewrite this. By this rewriting, the image can be reproduced while being deformed vertically and horizontally. FIG. 5 schematically shows an example thereof. When XRsiz (i) = YRsiz (i) = 2 is set and XRsiz (i) = 1 and YRsiz (i) = 2, the image to be reproduced is as shown in FIG. Is reproduced as an image such as (b) expanded in the horizontal direction, and is reproduced as an image such as (c) contracted in the horizontal direction when rewritten to XRsiz (i) = 4 and YRsiz (i) = 2. The
[0060]
(E) Another method for deforming an image: In JPEG2000, it is possible to specify a positional deviation (offset) between the origin of the reference grid and the origin of the image. The SIZ marker segment XOsiz and YOsiz are parameters describing horizontal and vertical offsets. The values of XOsiz and YOsiz are rewritten. FIG. 6 schematically shows an example thereof. By rewriting XOsiz = YOsiz = 0 to XOsiz = 3 and YOsiz = 0, the image to be reproduced as shown in FIG. 6A is shifted to the right as shown in FIG. Played with the side missing. It is also possible to use Xsiz and Ysiz together.
[0061]
(F) Method for preventing reproduction of areas other than the ROI area: As described above, in the basic specification of JPEG2000, the Max Shift method by bit shift is defined as the ROI method. The RGN marker segment (FIG. 25) has a parameter called SPrgn in which the bit shift amount is described. This SPrgn is rewritten to a large value. By this rewriting, only the ROI area can be reproduced. FIG. 7 schematically shows an example thereof. In the case of an image in which the ROI area is shifted by 2 bits as in (a) (that is, SPrgn = 2), SPrgn = 10 (= 2 bits for ROI shift +
[0062]
(G) Method of always improperly reproducing the color of the image: The COD marker segment (FIG. 23) has a code style parameter SGcod related to the component. This SGcod also describes a value indicating the presence / absence of component color conversion. If this value is 0, there is no color conversion, and if this value is 1, there is color conversion. Rewrite this value. By this rewriting, the image is reproduced with an abnormal color. For example, in encoded data that has undergone color conversion from RGB to YCbCr, the value is set to 1, but when this is rewritten to 0, reverse color conversion is performed to return from YCbCr to RGB upon decompression. Therefore, the color of the reproduced image becomes unnatural. Similarly, when 0 is rewritten to 1, color reproduction becomes unnatural.
[0063]
(H) Another method of always improperly reproducing the color of an image: The SIZ marker segment (FIG. 22) has a parameter Csiz representing the number of components. An RGB color image or the like is set to Csiz = 3, but this is rewritten to 2. By this rewriting, the image is reproduced as an unnatural color.
[0064]
(I) Another method for improperly reproducing the color of an image: The CRG marker segment (FIG. 24) includes parameters Xcrg (i) and Ycrg (i) representing horizontal and vertical offset positions for each component. It is. The values of Xcrg (i) and Ycrg (i) are rewritten. By this rewriting, the spatial positional relationship between the components is disturbed, resulting in a reproduction image of an unnatural color in which a so-called color shift occurs.
[0065]
(J) Change the number of colors of the image: The SIZ marker segment (FIG. 22) has a parameter Csiz representing the number of components. An RGB color image or the like is set to Csiz = 3, but this is rewritten to 1. Thereby, a color image is reproduced as a monochrome image.
[0066]
Next, a specific example of the output procedure will be described. Although the output procedure can be described in an arbitrary format such as a table format, in this embodiment, in consideration of generality, metadata for multimedia contents whose standardization work is in progress in ISO / IEC JTC1 SC29 / WG11 Is described by the international standard MPEG-7 (Multimedia Content Description Interface; ISO / IEC 15938-1 to 8). This output procedure is saved as an xml file.
[0067]
An example of an output procedure described in MPEG-7 is shown in FIGS. The contents of the output procedure shown here are as follows.
[0068]
(1) As data to be output first, sample1. Compressed image data (still image compressed by JPEG2000) stored under the file name jp2 is designated. As output conditions, size = 240 × 360 pixels, resolution =
[0069]
(2) The same compressed image data as the first is designated as the second output data. As output conditions, size = 120 × 180 pixels, resolution =
[0070]
(3) As the third output data, sample2. Compressed image data (moving image compressed by JPEG2000) stored under the file name mj2 is designated. As output conditions, size = 240 × 360 pixels, resolution =
[0071]
(4) As the last output data, sample3. Text data stored with a file name txt is specified. As output conditions, size = 240 × 360 pixels, display position = (100, 200), and display time = 10 seconds are designated.
[0072]
Therefore, in this example of the output procedure, an image of 240 × 360 pixel size obtained by first expanding a still image (sample1.jp2) at a
[0073]
As is clear from the above description, still images, moving images, and text can be displayed in various forms depending on the contents of the output procedure. For example, by using rewriting of header information as described above, a still image or a moving image is displayed in a state where the tile arrangement is irregular, and the tile arrangement approaches a normal state over time, and finally a normal tile is displayed. By displaying the images side by side, it is possible to realize a display form in which attention is paid to the image. In addition, a display mode that displays still images or moving images with low image quality and low resolution at the beginning, gradually increases the image quality and resolution, displays them halfway in monochrome, and finally displays them in color. it can. In addition, a still image or a moving image can be intentionally displayed in a color-shifted form or displayed in a deformed form. As described above, according to this data processing apparatus, it is possible to make a presentation with a great variety of changes.
[0074]
As described above, this data processing apparatus displays still images, moving images, texts, and the like stored in the
[0075]
The function of this data processing apparatus, in other words, the data processing procedure (data processing method) shown in FIG. 2 can be easily realized by a program using computer hardware such as a personal computer. In this case, the
[0076]
FIG. 14 is a block diagram for explaining a second embodiment of the present invention. The data processing apparatus according to this embodiment is configured to generate data for a presentation and distribute it to an
[0077]
The output
[0078]
The
[0079]
The
[0080]
The output
[0081]
FIG. 15 is a simplified flowchart for explaining the operation of the data processing apparatus. Hereinafter, the operation will be described with reference to this flowchart.
[0082]
First, the
[0083]
If the data is other than a moving image, that is, a still image or text, the data is fetched from the
[0084]
If the data is text data, the
[0085]
If the data is compressed still image data, the data is captured by the
[0086]
When the data is compressed video data, the data of each frame is sequentially captured by the
[0087]
When the output time specified as the output condition has elapsed (step S214 or S208, YES), the
[0088]
Here, the
[0089]
The second conversion means is means for converting the input compressed image data into compressed image data according to output conditions by discarding unnecessary codes and rewriting necessary header information. For example, when the resolution level is lowered, the second conversion unit generates compressed image data in which packets corresponding to subband coefficients having unnecessary resolution levels are actually discarded. When lowering the image quality, the lower layer packet is discarded in the case of the multi-layer configuration, and the lower bit plane packet is discarded in the case of the single layer configuration. If the color compressed image data is to be converted to monochrome, only the luminance component packet is left, the color difference component packet is discarded, and so on. Since the converted data does not include unnecessary codes, there is an advantage that the amount of transmission data and the transmission time can be reduced.
[0090]
It should be noted that the conversion by either the first conversion means or the second conversion means is not due to decompression and recompression, and therefore does not cause image quality deterioration due to recompression. In conventional JPEG still image data and Motion-JPEG moving image data, generation-like image quality deterioration due to recompression is inevitable.
[0091]
When the display position of an image or text on the screen is specified as the output condition and this needs to be transmitted to the
[0092]
With the above configuration, the
[0093]
Note that the functions of the data processing apparatus according to this embodiment, in other words, the data processing procedure (data processing method) shown in FIG. 2 can be easily realized by a program using computer hardware such as a personal computer. . Such a computer program and various recording (storage) media that can be read by a computer such as a magnetic disk, an optical disk, a magneto-optical disk, and a semiconductor storage element on which the computer program is recorded are also included in the present invention.
[0094]
【The invention's effect】
As described above, the data processing apparatus and method of the present invention areJPEG2000 compressed image dataIt can be displayed in various orders and display forms according to the output procedure without editing in advance, and the data for such display can be distributed to a personal computer, etc., so it is effective for applications such as presentations. Is available.
[Brief description of the drawings]
FIG. 1 is a block diagram for explaining a first embodiment of the present invention.
FIG. 2 is a flowchart for explaining the first embodiment;
FIG. 3 is a diagram for explaining rewriting of header information.
FIG. 4 is a diagram for explaining rewriting of header information.
FIG. 5 is a diagram for explaining rewriting of header information.
FIG. 6 is a diagram for explaining rewriting of header information.
FIG. 7 is a diagram for explaining rewriting of header information.
FIG. 8 is a diagram illustrating an example of an output procedure described in MPEG-7.
FIG. 9 is a diagram showing a continuation of FIG. 8;
FIG. 10 is a diagram showing a continuation of FIG. 9;
FIG. 11 is a diagram showing a continuation of FIG. 10;
FIG. 12 is a diagram showing a continuation of FIG.
FIG. 13 is a diagram showing a continuation of FIG. 12;
FIG. 14 is a block diagram for explaining a second embodiment of the present invention;
FIG. 15 is a flowchart for explaining a second embodiment;
FIG. 16 is a block diagram for explaining an algorithm of JPEG2000.
FIG. 17 is a diagram for explaining wavelet transform;
FIG. 18 is a diagram illustrating a code format of JPEG2000.
FIG. 19 is a diagram for explaining the structure of a main header.
FIG. 20 is a diagram for explaining the structure of a tile header.
FIG. 21 is a diagram showing a structure of an SOT marker segment.
FIG. 22 is a diagram illustrating a structure of an SIZ marker segment.
FIG. 23 is a diagram showing the structure of a COD marker segment.
FIG. 24 is a diagram showing a structure of a CRG marker segment.
FIG. 25 is a diagram showing the structure of an RGN marker segment.
[Explanation of symbols]
101 Data acquisition unit
102 Output data generator
103 Data processing section
104 JPEG2000 decoder
105 System control unit
120 data sources
122 Output procedure file
130 Video memory
131 Display device
201 Data acquisition unit
202 Output data generation unit
203 Data processing unit
204 Code converter
205 System control unit
220 Data Source
222 Output procedure file
230 Transmission buffer memory
231 Transmitter
240 External device
Claims (10)
時間軸に沿って出力すべきデータの指定及び出力条件を定義した出力手順を記憶した記憶手段と、Storage means for storing the output procedure defining the designation of the data to be output along the time axis and the output conditions;
前記出力手順に定義されたデータの指定に従って所定の圧縮画像データを取り込むデータ取得手段と、Data acquisition means for capturing predetermined compressed image data in accordance with the designation of data defined in the output procedure;
前記取り込まれた圧縮画像データについて、前記出力手順に定義された出力条件に従って、当該圧縮画像データのヘッダ情報中の所定マーカセグメントのパラメータを書き換えて、前記出力条件に従った別の圧縮画像データを生成する出力データ生成手段と、For the captured compressed image data, according to the output condition defined in the output procedure, the parameter of the predetermined marker segment in the header information of the compressed image data is rewritten, and another compressed image data according to the output condition is Output data generating means for generating;
を有することを特徴とするデータ処理装置。A data processing apparatus comprising:
前記出力手順に定義されたデータの指定に従って所定の圧縮画像データを取り込むデータ取得ステップと、A data acquisition step for capturing predetermined compressed image data in accordance with the designation of data defined in the output procedure;
前記取り込まれた圧縮画像データについて、前記出力手順に定義された出力条件に従って、当該圧縮画像データのヘッダ情報中の所定マーカセグメントのパラメータを書き換えて、前記出力条件に従った別の圧縮画像データを生成する出力データ生成ステップと、For the captured compressed image data, according to the output condition defined in the output procedure, the parameter of the predetermined marker segment in the header information of the compressed image data is rewritten, and another compressed image data according to the output condition is An output data generation step to generate;
を有することを特徴とするデータ処理方法。A data processing method characterized by comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003076835A JP4208122B2 (en) | 2003-03-20 | 2003-03-20 | Data processing apparatus and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003076835A JP4208122B2 (en) | 2003-03-20 | 2003-03-20 | Data processing apparatus and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004289333A JP2004289333A (en) | 2004-10-14 |
JP4208122B2 true JP4208122B2 (en) | 2009-01-14 |
Family
ID=33291753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003076835A Expired - Fee Related JP4208122B2 (en) | 2003-03-20 | 2003-03-20 | Data processing apparatus and data processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4208122B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4629424B2 (en) * | 2004-12-08 | 2011-02-09 | 株式会社リコー | Image distribution system, server device, client device, cache control method, program, and information recording medium |
JP4530274B2 (en) | 2005-01-11 | 2010-08-25 | 株式会社リコー | Code processing apparatus, code processing method, program, and information recording medium |
JP5146145B2 (en) * | 2008-06-24 | 2013-02-20 | 株式会社リコー | Image processing apparatus, image processing method, computer program, and information recording medium |
JP5590390B2 (en) * | 2010-07-15 | 2014-09-17 | ソニー株式会社 | Image processing apparatus and method |
JP2016076761A (en) * | 2014-10-03 | 2016-05-12 | 株式会社ニコン | Image processing apparatus and image processing program |
JP6624861B2 (en) * | 2015-09-16 | 2019-12-25 | キヤノン株式会社 | Image processing apparatus, control method, and program |
-
2003
- 2003-03-20 JP JP2003076835A patent/JP4208122B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004289333A (en) | 2004-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7889791B2 (en) | Method and apparatus for scalable compression of video | |
US7072520B2 (en) | Method and apparatus for selecting layers for quantization based on sideband information | |
US7110608B2 (en) | Digital image compression | |
JP4064196B2 (en) | Client computer, server computer, program, storage medium, image data processing system, and image data processing method | |
JP4709493B2 (en) | Method and product for communicating compressed digital images | |
JP4392783B2 (en) | Movie reproduction system, movie transmission device, movie transmission method, program, and recording medium | |
US7440624B2 (en) | Image compression apparatus, image decompression apparatus, image compression method, image decompression method, program, and recording medium | |
JP4349816B2 (en) | Image processing apparatus, image compression apparatus, image processing method, image compression method, program, and recording medium | |
JP2004274758A (en) | Method and apparatus for converting jpp-stream into jpeg-2000 code stream | |
JP2004274759A (en) | Communication method and device for compressed digital image with limited access and server/client transfer | |
JP2007142614A (en) | Image processing apparatus and method, program, and information recording medium | |
JP4898513B2 (en) | Client / server system | |
JP4151963B2 (en) | Image server device, client device, moving image distribution method, program, and information recording medium | |
JP2004242290A (en) | Image processing apparatus and image processing method, image edit processing system, image processing program, and storage medium | |
US7721971B2 (en) | Image processing system, image processing method and computer readable information recording medium | |
JP2005123856A (en) | System and method for processing picture, program and information recording medium | |
JP4208122B2 (en) | Data processing apparatus and data processing method | |
JP2004215021A (en) | Image processor, image processing method, program and recording medium | |
JP2004172766A (en) | Image browsing apparatus, image browsing storage method, program, and recording medium | |
JP4073333B2 (en) | Image compression apparatus and image compression method | |
JP3914197B2 (en) | Information processing apparatus, information processing method, program, and computer-readable recording medium | |
JP4489474B2 (en) | Image processing apparatus, program, and recording medium | |
JP4475513B2 (en) | Image processing apparatus, program, and recording medium | |
JP4059399B2 (en) | Image processing apparatus, image processing system, image output control method, program, and recording medium | |
JP4036363B2 (en) | Image processing apparatus and image processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050711 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080424 |
|
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: 20081015 |
|
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: 20081016 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |