説明

画像処理装置、画像データおよび画像処理プログラム

【課題】1画素当たりに割り当てられるビット数を低減しつつ、広いダイナミックレンジを確保するとともに、マッハバンドが知覚されないようにする。
【解決手段】RGBの各色の明度を、仮数部6ビット、指数部log(24)ビット(約4.585ビット)の浮動小数点形式で表現し、log(24)ビットの指数部では、m*2〜m*2n+23の範囲を表現できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、画像データおよび画像処理プログラムに関し、特に、画素の色または明度を浮動少数点形式で表現するフォーマットに適用して好適なものである。
【背景技術】
【0002】
高品質なコンピュータグラフィックス画像を生成するために、HDR(High Dynamic−range Rendering)技術の重要性が増しつつある。このHDRでは、各画素の色に関し、0〜1.0の範囲を超えた広いダイナミックレンジで処理する必要がある。
【0003】
そのため、フレームバッファ内の各画素のRGB各成分の明度を16ビットの浮動小数点形式(指数部5ビット、仮数部11ビット)で表現するフォーマット(R16G16B16A16_FLOAT)が広く使われている。ただし、この方法では、RGB各成分の明度を表現するために3×16ビットが必要になる。このため、透明度を表すアルファ成分を含めると、1ピクセル当たり64ビット分だけ消費し、メモリ容量およびメモリバンド幅が増大する。
【0004】
メモリ容量およびメモリバンド幅を半減させるために、1ピクセル当たり32ビットで表現する方式もいくつか提案されている。例えば、マイクロソフト社のDirectX10ではR9G9B9E5_SHAREDEXPやR11G11B10_FLOATという浮動小数点ベースのフォーマットが定義されている。また、商用ゲーム機のXbox360ではR10G10B10A2_FLOATというフォーマットが用いられている。
【0005】
また、例えば、特許文献1には、画像を複数の画像ブロックに分解し、各画素の高ダイナミックレンジ値から画像ブロックにおける画素の色情報および輝度情報を分離し、画像ブロックにおける画素の色情報と画像ブロックにおける画素の輝度情報とを互いに独立に圧縮する方法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−524315号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、R9G9B9E5_SHAREDEXPでは、RGB各成分で指数部が共通であるため、色が飽和する時に極端に精度が低下するという問題があった。
【0008】
また、R11G11B10_FLOATでは、Bチャネルの仮数部が5ビットと少なくマッハバンドが知覚される可能性があるという問題があった。
【0009】
また、R10G10B10A2_FLOATでは、エンコードおよびデコードの回路規模は少なくてすむものの、指数部が3ビットしか割り当てられていないため、ダイナミックレンジ不足および精度不足をきたし、やはりマッハバンドが知覚される可能性があるという問題があった。
【0010】
また、特許文献1に開示された方法は、様々なフォーマットで表現された画像データの圧縮に関するもので、メモリ容量およびメモリバンド幅を低減するためのフォーマット表現に関するものではない。
【0011】
本発明の目的は、1画素当たりに割り当てられるビット数を低減しつつ、広いダイナミックレンジを確保するとともに、マッハバンドが知覚されないようにすることが可能な画像処理装置、画像データおよび画像処理プログラムを提供することである。
【課題を解決するための手段】
【0012】
本発明の一態様によれば、画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む第1のフォーマットの浮動少数点形式で表現されたデータを記憶する記憶部と、前記データの処理を行う画像処理部とを備えることを特徴とする画像処理装置を提供する。
【0013】
本発明の一態様によれば、画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む浮動少数点形式のフォーマットで表現されていることを特徴とするコンピュータに読み取り可能な画像データを提供する。
【0014】
本発明の一態様によれば、画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む浮動少数点形式のフォーマットで表現された画像データを記憶させるステップと、前記画像データを処理するステップとをコンピュータに実行させることを特徴とする画像処理プログラムを提供する。
【発明の効果】
【0015】
本発明によれば、1画素当たりに割り当てられるビット数を低減しつつ、広いダイナミックレンジを確保するとともに、マッハバンドが知覚されないようにすることが可能となる。
【図面の簡単な説明】
【0016】
【図1】図1は、本発明の第1実施形態に係るRGBの各要素の明度を浮動少数点形式で表現するフォーマットの一例を示す図。
【図2】図2は、本発明の第2実施形態に係る画像処理装置の概略構成を示すブロック図。
【図3】図3は、図1のフォーマットに対応した図2のエンコーダ7の一例を示す図。
【図4】図4は、図1のフォーマットに対応した図2のデコーダ6、8の一例を示す図。
【図5】図5は、本発明の第3実施形態に係るRGBの各色の明度を浮動少数点形式で表現するフォーマットの一例を示す図。
【図6】図6は、図5のフォーマットに対応した図2のエンコーダ7の一例を示す図。
【図7】図7は、図5のフォーマットに対応した図2のデコーダ6、8の一例を示す図。
【図8】図8は、本発明の実施形態に係るフォーマットで表現された輝度と精度の関係を従来のフォーマットと対比して示す図。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態に係る画像データの表現に用いられるフォーマットおよび画像処理装置について図面を参照しながら説明する。なお、以下の説明では、画素の色がRGBの3要素で表現される場合を例にとって説明するが、本発明は、画素の色がRGBの3要素で表現される場合に限定されることなく、例えば、画素の色がYUVの3要素で表現される場合などに適用してもよい。
【0018】
(第1実施形態)
図1は、本発明の第1実施形態に係るRGBの各色の明度を浮動少数点形式で表現するフォーマットの一例を示す図である。
図1において、このフォーマットでは、RGBの各色の明度が、仮数部6ビット、指数部log(24)ビット(約4.585ビット)の浮動小数点形式で表現される。
ここで、log(24)ビットの指数部では、m*2〜m*2n+23の範囲を表現することができる。ただしnは任意の整数、mは仮数部の値である。
図1のフォーマットで表現されたRGBの各色の指数部をまとめて14ビットにエンコードすることができる。
【0019】
すなわち、3*log(24)=log(3*2)<log(214)という関係を満たすので、RGBの3色分の指数部の情報量は14ビット以下に抑えることができる。
【0020】
これにより、RGBの各色の仮数部に6ビットずつ割り当てた場合においても、1画素当たりに割り当てられるビット数を32ビット以下に抑えつつ、RGBの各色の指数部に割り当てられるビット数の減少分を抑制することができる。このため、メモリ容量およびメモリバンド幅の増大を抑制しつつ、広いダイナミックレンジを確保するとともに、マッハバンドが知覚されないようにすることができる。
【0021】
なお、指数部が0の時、仮数部は非正規化数扱いとするようにしてもよい。この場合、最小分解能は2n−5となり、ダイナミックレンジを2n+23/2n−5=228に拡大することができる。
【0022】
(第2実施形態)
図2は、本発明の第2実施形態に係る画像処理装置の概略構成を示すブロック図である。
図2において、画像処理装置には、画像処理部9、デコーダ6a、6b、エンコーダ7、ピクセルキャッシュ5、テクスチャキャッシュ10およびフレームバッファ8が設けられている。画像処理部9は画像データDの処理を行うことができる。フレームバッファ8は、画像処理部9にて処理される画像データDを記憶することができる。なお、画像データDは、図1のフォーマットを用いたラスタ形式で表現することができる。デコーダ6a、6bは、図1のフォーマットで表現された画像データDを画像処理部9で扱われる形式に変換することができる。エンコーダ7は、画像処理部9で扱われる形式で表現された画像データDを図1のフォーマットの形式に変換することができる。ピクセルキャッシュ5は、属性が付与された画素データを保持することができる。なお、ピクセルキャッシュ5は、例えば、1エントリ(矩形)ずつ画素データを保持することができる。テクスチャキャッシュ10は、フレームバッファ8から読み出した画素の属性を一時的に保持することができる。なお、画素の属性としては、例えば、色、模様、テクスチャなどを挙げることができる。
【0023】
ここで、画像処理部9には、頂点処理エンジン1、ラスタライザ2、ピクセル処理エンジン3およびテクスチャエンジン4が設けられている。頂点処理エンジン1は、図形を表現するトライアングルの頂点の座標変換を行うことができる。なお、頂点の座標変換としては、例えば、頂点にて構成される図形の回転、縮小または拡大などに伴う座標変換を挙げることができる。また、頂点処理エンジン1は、コマンドリスト内の描画コマンドおよび描画データ(始点、終点、制御点など)を、ストロークを構成する複数のトライアングルに変換するようにしてもよい。なお、コマンドリストの描画データは、例えば、ベクトル形式などのラスタ形式以外の形式で表現することができる。ラスタライザ2は、頂点で構成されるトライアングルを画素の集まりに変換することができる。テクスチャエンジン4は、画素の属性を保持したり、画素の属性に関する処理を行うことができる。例えば、テクスチャエンジン4は、テクスチャ座標からメモリアドレスを計算したり、テクスチャフィルタとして動作したりすることができる。なお、画素の属性としては、例えば、色、模様、テクスチャなどを挙げることができる。ピクセル処理エンジン3は、テクスチャエンジン4にて取得された属性等を入力とし、任意の演算処理により画素に付与する属性を生成することができる。
【0024】
そして、頂点処理エンジン1において、コマンドリスト内の描画コマンドおよび描画データは、ストロークを構成する複数のトライアングルに変換され、トライアングルを構成する頂点の座標変換が行われた後、ラスタライザ2に入力される。そして、ラスタライザ2において、頂点で構成されるトライアングルが画素の集まりに変換され、ピクセル処理エンジン3に入力される。
【0025】
一方、フレームバッファ8に記憶された画像データDはテクスチャキャッシュ10を介してデコーダ6bに出力され、図1のフォーマットから画像処理部9で扱われる形式に変換された後、テクスチャエンジン4に送られる。そして、テクスチャエンジン4において画素の属性に関する処理が行われた後、ピクセル処理エンジン3に出力される。また、フレームバッファ8に記憶された画像データDはピクセルキャッシュ5を介してデコーダ6aに出力され、図1のフォーマットから画像処理部9で扱われる形式に変換された後、ピクセル処理エンジン3に送られる。
【0026】
そして、ピクセル処理エンジン3において、最終的に画素に付与される属性が計算され、エンコーダ7に送られる。そして、エンコーダ7において、画像処理部9で扱われる形式から図1のフォーマットに変換された後、ピクセルキャッシュ5に記憶されている画像データDの上書きなどが行われることで、画像データDが更新される。そして、ピクセル処理エンジン3にて更新されたピクセルキャッシュ5上の画像データDは、フレームバッファ8に記憶される。
【0027】
図3は、図1のフォーマットに対応した図2のエンコーダ7の一例を示す図である。
図3において、図2のエンコーダ7には、クランプ部11r、11g、11b、E値変換器12、ビット連結部13が設けられている。クランプ部11r、11g、11bは、画像処理部9で扱われるRGBの各要素の値(以下、RGBの各値と称す。)を図1のフォーマットで表現可能な範囲にクランプすることができる。なお、クランプ部11r、11g、11bは、必要に応じて仮数部を非正規化数に変換する処理を行うようにしてもよい。E値変換器12は、RGBの各値の指数部の上位2ビットを5ビットの圧縮指数コード(E値と称す)に変換することができる。なお、E値変換器12は、演算器群で構成してもよいし、テーブルで構成してもよい。ビット連結部13は、E値変換器12で得られた5ビットのE値と、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットを連結することにより、32ビットの値を生成することができる。なお、エンコーダ7に入力されるRGBの各値は浮動小数点数である。
【0028】
そして、RGBの各値がクランプ部11r、11g、11bに入力されると、図1のフォーマットで表現可能な範囲にクランプされ、RGBの各値の指数部の上位2ビットがE値変換器12に出力されるとともに、RGBの各値の指数部の下位3ビットおよびRGBの各値の仮数部の6ビットがビット連結部13に出力される。そして、E値変換器12において、RGBの各値の指数部の上位2ビットが5ビットのE値に変換され、ビット連結部13に出力される。そして、ビット連結部13において、E値変換器12で得られた5ビットのE値と、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットが連結され、図1のフォーマットで表現された画像データDが生成される。
【0029】
具体的には、クランプ部11r、11g、11bでは、RGBの各値のn〜n+23の指数が0〜23の2進コードで表現され、RGBの各要素当たり5ビットで表現される。ここで、RGBの各値の指数部の上位2ビットをRe、Ge、Beとすると、E値変換器12では、例えば、E=Re*3+Ge*3+Beという計算を行うことにより、5ビットのE値を求めることができる。なお、Re、Ge、Beの関係は任意に入れ替え可能である。なお、Re、Ge、Beの取り得る範囲は0〜2なので、Eの範囲は0〜26となる。このため、Eは5ビットで表現可能となり、RGBの各値の指数部の下位3ビットを合わせると、全体で14ビットとなる。
【0030】
ここで、RGBの各色の明度の指数部をlog(24)ビットで表現することにより、指数部の上位2ビットと下位3ビットを分離して扱うことができる。このため、E値変換器12を6ビット入力5ビット出力とすることができ、E値変換器12の構成を簡単化することができる。
【0031】
図4は、図1のフォーマットに対応した図2のデコーダ6、8の一例を示す図である。
図4において、図2のデコーダ6、8には、正規化部21r、21g、21b、E値逆変換器22およびビット分離部23が設けられている。ビット分離部23は、図1のフォーマットで表現された32ビットの値を5ビットのE値と、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットに分離することができる。E値逆変換器22は、5ビットのE値をRGBの各値の指数部の上位2ビットに逆変換することができる。なお、E値逆変換器22は、演算器群で構成してもよいし、テーブルで構成してもよい。正規化部21r、21g、21bは、RGBの各値の指数部の上位2ビットと、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットを画像処理部9で扱われるRGBの各値に変換することができる。
【0032】
そして、図1のフォーマットで表現された画像データDがビット分離部23に入力されると、5ビットのE値と、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットに分離され、5ビットのE値がE値逆変換器22に出力されるとともに、RGBの各値の指数部の下位3ビットおよびRGBの各値の仮数部の6ビットが正規化部21r、21g、21bにそれぞれ出力される。
【0033】
そして、E値逆変換器22において、5ビットのE値がRGBの各値の指数部の上位2ビットに逆変換され、正規化部21r、21g、21bにそれぞれ出力される。そして、正規化部21r、21g、21bにおいて、RGBの各値の指数部の上位2ビットと、RGBの各値の指数部の下位3ビットと、RGBの各値の仮数部の6ビットとから、浮動小数点フォーマットに従って正規化が行われ、画像処理部9に出力される。
【0034】
(第3実施形態)
図5は、本発明の第3実施形態に係るRGBの各色の明度を浮動少数点形式で表現するフォーマットの一例を示す図である。
図5において、このフォーマットでは、RGBの各色の明度が、仮数部6ビット、指数部log(25)ビット(約4.644ビット)の浮動小数点形式で表現される。
ここで、log(25)ビットの指数部では、m*2〜m*2n+24の範囲を表現することができる。ただしnは任意の整数、mは仮数部の値である。
図5のフォーマットで表現されたRGBの各色の指数部をまとめて14ビットにエンコードすることができる。
【0035】
すなわち、3*log(25)=log(5)<log(214)という関係を満たすので、RGBの3色分の指数部の情報量は14ビット以下に抑えることができる。
【0036】
これにより、RGBの各色の仮数部に6ビットずつ割り当てた場合においても、1画素当たりに割り当てられるビット数32ビット以下に抑えつつ、RGBの各色の指数部に割り当てられるビット数の減少分を抑制することができる。このため、メモリ容量およびメモリバンド幅の増大を抑制しつつ、広いダイナミックレンジを確保するとともに、マッハバンドが知覚されないようにすることができる。
【0037】
なお、指数部が0の時、仮数部は非正規化数扱いとするようにしてもよい。この場合、最小分解能は2n−5となり、ダイナミックレンジを2n+24/2n−5=229に拡大することができる。
【0038】
図6は、図5のフォーマットに対応した図2のエンコーダ7の一例を示す図である。
図6において、図2のエンコーダ7には、クランプ部31r、31g、31b、E値変換器32、ビット連結部33が設けられている。クランプ部31r、31g、31bは、画像処理部9で扱われるRGBの各値を図5のフォーマットで表現可能な範囲にクランプすることができる。なお、クランプ部31r、31g、31bは、必要に応じて仮数部を非正規化数に変換する処理を行うようにしてもよい。E値変換器32は、RGBの各値の指数部の5ビットを14ビットのE値に変換することができる。なお、E値変換器32は、25進数を2進数へ変換する基数変換器と等価であり、演算器群で構成してもよいし、テーブルで構成してもよい。ビット連結部33は、E値変換器32で得られた14ビットのE値と、RGBの各値の仮数部の6ビットを連結することにより、32ビットの値を生成することができる。
【0039】
そして、RGBの各値がクランプ部31r、31g、31bに入力されると、図5のフォーマットで表現可能な範囲にクランプされ、RGBの各値の指数部の5ビットがE値変換器32に出力されるとともに、RGBの各値の仮数部の6ビットがビット連結部33に出力される。そして、E値変換器32において、RGBの各値の指数部の5ビットが14ビットのE値に変換され、ビット連結部33に出力される。そして、ビット連結部33において、E値変換器32で得られた14ビットのE値と、RGBの各値の仮数部の6ビットが連結され、図5のフォーマットで表現された画像データDが生成される。
【0040】
具体的には、クランプ部31r、31g、31bでは、RGBの各値のn〜n+24の指数が0〜24の2進コードで表現され、RGBの各要素当たり5ビットで表現される。ここで、RGBの各値の指数部の5ビットをRe、Ge、Beとすると、E値変換器32では、例えば、E=Re*25+Ge*25+Beという計算を行うことにより、14ビットのE値を求めることができる。なお、Re、Ge、Beの関係は任意に入れ替え可能である。なお、Re、Ge、Beの取り得る範囲は0〜24なので、Eの範囲は0〜15624となる。このため、Eは14ビットで表現可能となる。
【0041】
ここで、図5のフォーマットでは、E値変換器32が15ビット入力14ビット出力となり、図1のフォーマットを用いた場合に比べて図3のE値変換器12の構成が大規模化するものの、図1のフォーマットよりもダイナミックレンジを拡大することができる。
【0042】
図7は、図5のフォーマットに対応した図2のデコーダ6、8の一例を示す図である。
図7において、図2のデコーダ6、8には、正規化部41r、41g、41b、E値逆変換器42およびビット分離部43が設けられている。ビット分離部43は、図5のフォーマットで表現された32ビットの値を14ビットのE値と、RGBの各値の仮数部の6ビットに分離することができる。E値逆変換器42は、14ビットのE値をRGBの各値の5ビットに逆変換することができる。なお、E値逆変換器42は、演算器群で構成してもよいし、テーブルで構成してもよい。正規化部41r、41g、41bは、RGBの各値の指数部の5ビットと、RGBの各値の仮数部の6ビットを画像処理部9で扱われるRGBの各値に変換することができる。
【0043】
そして、図5のフォーマットで表現された画像データDがビット分離部43に入力されると、14ビットのE値と、RGBの各値の仮数部の6ビットに分離され、14ビットのE値がE値逆変換器42に出力されるとともに、RGBの各値の仮数部の6ビットが正規化部41r、41g、41bにそれぞれ出力される。
【0044】
そして、E値逆変換器42において、14ビットのE値がRGBの各値の指数部の5ビットに逆変換され、正規化部41r、41g、41bにそれぞれ出力される。そして、正規化部41r、41g、41bにおいて、RGBの各値の指数部の5ビットと、RGBの各値の仮数部の6ビットとから、浮動小数点フォーマットに従って正規化が行われ、画像処理部9に出力される。
【0045】
図8は、本発明の実施形態に係るフォーマットで表現された輝度と精度の関係を従来のフォーマットと対比して示す図である。なお、F1は、図1のフォーマットで表現された輝度と精度の関係、F2は、図5のフォーマットで表現された輝度と精度の関係、R16G16B16A16_FLOATで表現された輝度と精度の関係、F4は、R11G11B10_FLOAT(Red、Green)で表現された輝度と精度の関係、F5は、R11G11B10_FLOAT(Blue)で表現された輝度と精度の関係、F6は、R10G10B10A2_FLOATで表現された輝度と精度の関係を示す。
【0046】
図8において、R16G16B16A16_FLOATでは、高い精度で広いダイナミックレンジを確保することができるが、1ピクセル当たり64ビット分の容量を消費する。R11G11B10_FLOATでは、Bチャネルの仮数部が5ビットと少ないため、マッハバンドが知覚される領域Rに一部がかかっている。R10G10B10A2_FLOATでは、指数部が3ビットしか割り当てられていないため、マッハバンドが知覚される領域Rに一部がかかっている。
【0047】
これに対して、図1および図5のフォーマットでは、マッハバンドが知覚される領域Rを避けつつ、R10G10B10A2_FLOATに比べて広いダイナミックレンジを確保することができる。
【0048】
なお、頂点処理エンジン1、ラスタライザ2、ピクセル処理エンジン3、テクスチャエンジン4、デコーダ6a、6bおよびエンコーダ7は、これらのブロックで行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させることにより実現することができる。
【0049】
そして、このプログラムをCD−ROMなどの記憶媒体に記憶しておけば、画像処理装置のコンピュータに記憶媒体を装着し、そのプログラムをコンピュータにインストールすることにより、頂点処理エンジン1、ラスタライザ2、ピクセル処理エンジン3、テクスチャエンジン4、デコーダ6a、6bおよびエンコーダ7で行われる処理を実現することができる。
【0050】
また、頂点処理エンジン1、ラスタライザ2、ピクセル処理エンジン3、テクスチャエンジン4、デコーダ6a、6bおよびエンコーダ7で行われる処理を遂行させる命令が記述されたプログラムをコンピュータに実行させる場合、スタンドアロン型コンピュータで実行させるようにしてもよく、ネットワークに接続された複数のコンピュータに分散処理させるようにしてもよい。
【符号の説明】
【0051】
1 頂点処理エンジン、2 ラスタライザ、3 ピクセル処理エンジン、4 テクスチャエンジン、5 ピクセルキャッシュ、6a、6b デコーダ、7 エンコーダ、8 フレームバッファ、9 画像処理部、10 テクスチャキャッシュ、11r、11g、11b、31r、31g、31b クランプ部、12、32 E値変換器、13、33 ビット連結部、21r、21g、21b、41r、41g、41b 正規化部、22、42 E値逆変換器、23、43 ビット分離部

【特許請求の範囲】
【請求項1】
画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む第1のフォーマットの浮動少数点形式で表現されたデータを記憶する記憶部と、
前記データの処理を行う画像処理部とを備えることを特徴とする画像処理装置。
【請求項2】
前記第1のフォーマットで表現されるデータを、整数ビット長で表現される仮数部と整数ビット長で表現される指数部を含む第2のフォーマットの浮動小数点形式で表現されデータに変換するデコード部と、
前記第2のフォーマットで表現されるデータを、前記第1のフォーマットのデータに変換するエンコード部とをさらに備えることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記画像処理部は、
図形を表現するトライアングルの頂点の座標変換を行う頂点処理部と、
前記頂点で構成されるトライアングルを画素の集まりに変換するラスタライズ部と、
前記画素に属性を付与するピクセル処理部とを備えることを特徴とする請求項1または2記載の画像処理装置。
【請求項4】
前記画素の色をRGBの3要素で表現し、前記RGBの各要素の明度が6ビットで指定された仮数部とlog(24)ビットで指定された指数部を含む浮動少数点形式の前記第1のフォーマットで表現されていることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項5】
前記エンコード部は、
前記第2のフォーマットのデータを前記第1のフォーマットで表現可能な範囲の値にクランプするクランプ部と、
前記RGBの各要素の指数部の上位2ビットを5ビットのE値に変換するE値変換器と、
前記E値変換器で得られた5ビットのE値と、前記RGBの各要素の指数部の下位3ビットと、前記RGBの各要素の仮数部の6ビットを連結することにより、32ビットの値を生成するビット連結部とを備えることを特徴とする請求項4記載の画像処理装置。
【請求項6】
前記デコード部は、
前記第2のフォーマットで表現された32ビットの値を5ビットのE値と、前記RGBの各要素の指数部の下位3ビットと、前記RGBの各要素の仮数部の6ビットに分離するビット分離部と、
前記5ビットのE値を前記RGBの各要素の指数部の上位2ビットに逆変換するE値逆変換器と、
前記RGBの各要素の指数部の上位2ビットと、前記RGBの各要素の指数部の下位3ビットと、前記RGBの各要素の仮数部の6ビットを前記画像処理部で扱われるRGBの各要素に変換する正規化部とを備えることを特徴とする請求項5記載の画像処理装置。
【請求項7】
前記画素の色をRGBの3要素で表現し、前記RGBの各要素の明度が6ビットで指定された仮数部とlog(25)ビットで指定された指数部を含む浮動少数点形式の前記第1のフォーマットで表現されていることを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
【請求項8】
前記エンコード部は、
前記第2のフォーマットのデータを前記第1のフォーマットで表現可能な範囲の値にクランプするクランプ部と、
前記RGBの各要素の指数部の5ビットを14ビットのE値に変換するE値変換器と、
前記E値変換器で得られた14ビットのE値と、前記RGBの各要素の仮数部の6ビットを連結することにより、32ビットの値を生成するビット連結部とを備えることを特徴とする請求項7記載の画像処理装置。
【請求項9】
前記デコード部は、
前記第2のフォーマットで表現された32ビットの値を14ビットのE値と、前記RGBの各要素の仮数部の6ビットに分離するビット分離部と、
前記14ビットのE値を前記RGBの各要素の指数部の5ビットに逆変換するE値逆変換器と、
前記RGBの各要素の指数部の5ビットと、前記RGBの各要素の仮数部の6ビットを前記画像処理部で扱われるRGBの各要素に変換する正規化部とを備えることを特徴とする請求項8記載の画像処理装置。
【請求項10】
画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む浮動少数点形式のフォーマットで表現されていることを特徴とするコンピュータに読み取り可能な画像データ。
【請求項11】
画素の色または明度が整数ビット長で表現される仮数部と非整数ビット長で表現される指数部を含む浮動少数点形式のフォーマットで表現された画像データを記憶させるステップと、
前記画像データを処理するステップとをコンピュータに実行させることを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−128714(P2011−128714A)
【公開日】平成23年6月30日(2011.6.30)
【国際特許分類】
【出願番号】特願2009−284317(P2009−284317)
【出願日】平成21年12月15日(2009.12.15)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】