以下に、本発明の実施の形態について図面を参照して説明する。
図4は、本発明を適用した画像処理装置の一実施の形態の構成を示す図である。画像信号処理部30は、IP変換部31、LPF32、補間フィルタ33、エンハンサ34、ビット拡張部35、メモリ36、およびメモリ37から構成されている。
このような構成を有する画像信号処理部30は、テレビジョン受像機内や、STB(Set Top Box)内などに備えられる。または、テレビジョン受像機とSTBの間に備えられる端末として設けられ、画質の向上をはかるための端末として用いられる。また、ここでは、画像信号処理部30と称するが、もちろん、この画像信号処理部30が処理する画像としては、静止画像、動画像を問わず処理することができるものである。
画像信号処理部30には、画像信号として、1080i信号、720p信号、480i信号、480p信号等が入力される。ここで、数値はライン数を表し、「i」はインターレース方式を表し、「p」はプログレッシブ方式を表している。例えば、1080i信号は、ライン数が1080本でインタレース方式の画像信号を意味している。また例えば、480p信号はライン数が480本でプログレッシブ方式の画像信号を意味している。
このような異なる方式の信号が、画像信号処理部30には入力される可能性があるわけだが、IP変換部31により、プログレッシブ方式の信号に統一される。IP変換部31の“IP”は、“Interlace-Progressive”の略である。このIP変換部31は、入力された画像信号が1080i信号、480i信号等のインタレース方式の画像信号である場合には、その画像信号をプログレッシブ方式の画像信号に変換して出力する。一方、IP変換部31は、入力された画像信号が、720p信号、480p信号等のプログレッシブ方式の画像信号である場合には、その画像信号をそのまま出力する。
IP変換部31は、このような処理を実行する上で必要に応じ、メモリ36に、データを書き込んだり、書き込んだデータを読み出したりする。メモリ36は、フィールドメモリ、ラインメモリなどと称される場合がある。また、メモリ36は、例えば、SDRAM(Synchronous Dynamic random access memory)で構成される。メモリ37も同様である。
IP変換部31から出力された画像信号は、LPF32に供給される。LPF32は、水平または垂直方向の画素数を減らす必要がある場合、折り返し歪みの発生を防止するために、入力された画像信号の水平(垂直)(以下、水平の場合を例に挙げて説明するが、基本的な処理は、垂直の場合も同様である)方向の帯域を制限して出力する。一方、入力された画像信号の水平方向の画素数を増やす必要がある場合、入力された画像信号は、そのまま出力される。
LPF32から出力された画像信号は、補間フィルタ33に供給される。補間フィルタ33は、補間位置の画素データを必要に応じて生成する補間処理を行う。この補間フィルタ33は、水平縮小時には、水平方向の画素数を減らす変換を行う。また、この補間フィルタ33は、水平拡大時には、画像信号については水平方向の画素数を増やす変換を行う。
補間フィルタ33には、メモリ37が接続されている。補間フィルタ33において補間処理により得られた画素データは、メモリ37に一時的に蓄積され、その後に所定のタイミングで読み出されて次段(エンハンサ34)に供給される。
メモリ36とメモリ37は、1つのメモリとして構成することも可能である。
補間フィルタ33から出力された画像信号は、エンハンサ34に供給される。エンハンサ34は、水平拡大時には、画像のボケを軽減するため、画像信号の水平方向の高域を強調した画像信号を出力し、水平縮小時には、入力された画像信号をそのまま出力する。
ここまでの各部で行われる処理は、8ビットの画像信号として扱われることにより行われる。また、ここまでの各部で行われる処理は、従来の画像処理部においても行われていた処理である(図1参照)。そして、このような処理を施された8ビットの画像信号は、テレビジョン受像機(ブラウン管、液晶、プラズマテレビジョンなど)に供給された。本実施の形態においては、テレビジョン受像機に供給する前に、ビット拡張部35による処理がさらに施され、そのビット拡張部35からの出力が、テレビジョン受像機等に供給されるようにする。
ビット拡張部35では、入力された8ビットの画像信号を、10ビットの画像信号に変換する。なお、ここでは、10ビットに変換されるとして説明するが、12ビットなど、8ビット以上のビット数に変換する場合においても、本発明を適用できる。また、入力される画像信号は、8ビットであるとして説明するが、8ビット以外の画像信号を扱う場合においても、本発明を適用することができる。
ビット拡張部35の構成および処理について、以下に説明を加える。
図5は、ビット拡張部35の第1の実施の形態における構成を示す図である。ビット拡張部35は、LPF51、減算器52、加算器53、まるめ部54、および、リミッター55から構成される。ビット拡張部35内の画像信号の流れを説明することにより、ビット拡張部35の構成について説明を加える。その後、動作について図10のフローチャートを参照して説明を加える。
LPF51には、エンハンサ34から出力された8ビットの画像信号が入力される。LPF51は、入力された画像信号のうち、低周波成分を出力し、高周波成分をカットする。LPF51から出力された画像信号は、減算器52と加算器53に供給される。減算器52には、LPF51を通らない画像信号、すなわち、全周波数成分を含む画像信号も供給される。
減算器52は、全周波数成分を含む画像信号から、LPF51から出力された低周波成分のみの画像信号を減算する。この結果、減算器52からは、高周波成分のみの画像信号が出力される。すなわち、LPF51と減算器52の組み合わせは、HPF(High Pass Filter)を構成していることになる。よって、減算器52の代わりに、HPFを備える構成としても良い。
なお、LPF51における処理を換言すると、処理対象とされている注目画素に対し、その注目画素を含み、その注目画素の近傍に位置する他の複数の画素を用いて、注目画素の画素値を算出する処理である。簡便な記載をすれば、LPF51は、注目画素との位置関係に応じて、複数の画素値に重み付けを行い、それらの画素値の平均値を取ることにより、注目画素の画素値を決定する処理(平滑化処理)を行う。これに対し、HPFにおける処理は、平滑化された値と実際の値との差を取るような処理に相当する。
減算器52から出力された高域成分の画像信号は、まるめ部54を介して加算器53に供給される。加算器53には、LPF51から出力された低域成分の画像信号も供給される。加算器53は、供給された低域成分の画像信号と高域成分の画像信号を加算することにより、全域成分の画像信号を生成し、リミッター55に供給する。リミッター55は、供給された画像信号の範囲が、後段の処理で扱える範囲内の画像信号に納めるための監視および処理を行う。リミッター55から出力されるのは、10ビットの画像信号であり、その画像信号は、図示されていないテレビジョン受像機などの表示装置に供給される。
図6は、LPF51の内部構成例を示す図である。LPF51は、トランスバーサルフィルタ(Transversal Filter)で構成することが可能である。図6に示したLPF51は、5タップ構成のフィルタを示し、垂直方向に関する画像信号を処理する。LPF51に入力された画像信号は、4個のラインメモリ71―1乃至71―4の直列回路に入力される。ラインメモリ71―1乃至71―4は、それぞれ1水平期間分の遅延時間を持つ遅延回路を構成している。
LPF51に入力された画像信号とラインメモリ71―4から出力された画像信号は、加算器72―1で加算される。また、ラインメモリ71―1から出力された画像信号とラインメモリ71―3から出力された画像信号は、加算器72―2で加算される。
ラインメモリ71―2から出力された画像信号は、乗算器73―1で係数C0が乗算され、加算器74―1に出力される。加算器72―2から出力された画像信号は、乗算器73―2で係数C1が乗算され、加算器74−2に出力される。加算器72―1から出力された画像信号は、乗算器73―3で係数C2が乗算され、加算器74−2に出力される。加算器74−2は、乗算器73−2と乗算器73−3からそれぞれ供給された画像信号を加算し、加算器74−1に供給する。
加算器74−1は、乗算器73−1と加算器74−2からそれぞれ供給された画像信号を加算する。加算器74−1から出力された画像信号は、LPF51からの出力信号として、減算器52と加算器53(図5)に、それぞれ供給される。
LPF51が水平方向の画像信号を処理する場合、図7に示すように、ラインメモリ71−1乃至71−4(図6)をDラッチ81−1乃至81−4に置き換えればよい。その他の構成は、基本的に、図6に示したLPF51と同様に構成することができる。
図6または図7に示したLPF51の構成において、乗算器73−1(83−1)乃至73−3(83−3)の係数C0,C1,C2は、係数C0=10/32、係数C1=8/32、係数C3=3/32と設定される。
図6や図7に示したLPF51は、5タップ構成のフィルタとしたが、実際に、ビット拡張部35(図5)に備えられるLPF51は、11タップ構成のフィルタなど、設計事項(例えば、画像信号処理部30が備えられる装置に求められる精度、その装置が有する処理能力など)が考慮されて、適宜、変更可能であり、図に示したような5タップ構成のフィルタに限定されるものではない。
LPF51が11タップ構成のフィルタ(不図示)の場合、ラインメモリ(またはDラッチ)は、直列に10個接続される構成にされればよいし、その構成に合わせて、加算器や乗算器も追加された構成とされればよい。また、フィルタの係数は、左右対称に設定されていれば良く、11タップ構成のフィルタの場合、例えば、その係数は、1,2,5,8,10,12,10,8,5,2,1(SF=64)とされる。
よって、同一の係数が乗算される出力を加算器で加算し、その後、所定の係数を乗算する構成とした場合、例えば、図6(図7)に示したような構成を11タップ用の構成に変更したフィルタの場合、乗算器により乗算される係数は、係数C0=1/64、係数C1=2/64、係数C2=5/64、係数C3=8/64、係数C4=10/64、係数C5=12/64となる。
また、LPF51は、図6と図7にそれぞれ示したようなLPF51を、それぞれ別に備える構成とすることにより、水平方向と垂直方向を別々に処理するようにしても良いが、2段構成(2次元的に処理される構成)とされ、1段目で垂直方向、2段目で水平方向(または、その逆でも良い)の画像信号がそれぞれ処理され、2段目の出力が、減算器52と加算器53に、それぞれ供給されるようにしても良い。
図8は、まるめ部54の内部構成例を示す図である。まるめ部54は、処理部101と記憶部102から構成されている。処理部101は、記憶部102に記憶されているテーブルに基づいて、入力された画像信号を処理する。記憶部102に記憶されているテーブルは、図9に示すような特性を有するものであり、入力された値と出力される値とが関連付けられているテーブルである。
図9を参照するに、入力された入力値が“−4.0<入力値<4.0”を満たす値である場合、出力としては“0”が出力される。入力された値が“4.0”の場合、“1”が出力される。入力は、10ビット精度であるが、出力は、8ビット精度である。入力としては、―1023乃至1023までの範囲の値が考えられ、出力としては、―255乃至255までの範囲の値が考えられる。よって、それらの範囲内で、関連付けがされているテーブル121が、記憶部102には記憶されている。
ここでは、まるめ部54は記憶部を有し、その記憶部にテーブル121を記憶しているとして説明するが、テーブル121を記憶せずに、例えば、入力された値を所定の演算式に代入して出力すべき値を求めるといったような処理を行うプログラムを用意し、そのプログラムに基づいて処理が行われるようにしても良い。
処理部101は、このような特性を有するテーブル121を参照して、入力された10ビットの画像信号を8ビットの画像信号に変換して出力する。
ここで、図5に示したビット拡張部35の処理について、図10に示したフローチャートと、図11に示した具体的な数値を参照して説明する。
ステップS11において、ビット拡張部35に入力された画像信号は、LPF51における処理が施される。LPF51に入力される画像信号は、8ビットであるが、LPF51から出力される画像信号は、10ビットの信号に変換される。LPF51において低周波成分の信号を出力するために計算が行われわけだが、その計算の結果、発生した端数(小数点以下の数)を2ビットで表現する処理が行われる。よって、小数点前(整数部分)の8ビットと小数点後の2ビットで、合計10ビットとされる。
例えば、図11を参照するに、画素値#1として、“1”という値(「入力」という欄参照)が入力された場合、LPF51からは“4.00”という値(「LPF出力」という欄参照)が出力される。また他の例として、画素値#7として、“1”という値が入力された場合、LPF51からは“5.50”という値が出力される。このように、入力値として同じ“1”が入力された場合でも、LPF51による処理が施されることにより、異なる値が出力される場合がある。
LPF51から出力された画像信号は、ステップS12において、減算器52に供給される。減算器52には、LPF51を介さない信号(すなわち、ビット拡張部35に入力された信号そのもの)も供給される。上述したように、減算器52から出力される値は、結果的には、高域成分の信号である。
例えば、図11を参照するに、画素値#1として、“1”という値が入力された場合、減算器52からは“0.00”という値(「HPF出力」という欄参照)が出力される。また他の例として、画素値#7として、“1”という値が入力された場合、減算器52からは“−1.50”という値が出力される。このように、入力値として同じ“1”が入力された場合でも、減算器52による処理が施されることにより、異なる値が出力される場合がある。
ステップS13において、まるめ部54においてまるめ処理が実行される。まるめ部54に供給された、減算器52からの画像信号は、処理部101に供給される。処理部101は、記憶部102に記憶されているテーブル121を参照し、供給された画像信号の値に関連付けられている値を読み出し、出力する。
例えば、図11を参照するに、画素値#1として、減算器52から出力された値が“0.00”という値(「HPF出力」という欄参照)である場合、まるめ部54からは“0”という値(「まるめ出力」という欄参照)が出力される。これは、図9を参照するに、処理部101に入力された値は、“0.00”であるので、この場合、“−4.0<入力値<4.0”の範囲に属していると判断され、“0”という値が読み出され、出力される。
このように、LPF51や減算器52から出力される値は、入力された値より詳細な値に変更されるため、結果として、階調が増加する方向に変更されることになる。
ステップS14において、加算器53による加算処理が実行される。加算器53には、LPF51からの画像信号とまるめ部54からの画像信号が供給されるが、加算器53は、供給された2つの画像信号を加算することにより、1つの画像信号を生成する。
例えば、図11を参照するに、画素値#1として、LPF51から出力された値が“4.00”であり、まるめ部54から出力された値が“0.00”である場合、加算器53からは“4.00”という値(「出力」という欄参照。ただし、図11に示したのは、リミッター55から出力される値である)が出力される。この加算器53から出力される画像信号は、10ビットの画像信号とされている。
ステップS15において、リミッター55における処理が実行される。リミッター55は、入力された画像信号が、処理できる値内に収まるようにするための処理を実行する。
図11を再度参照するに、例えば、画素値#7として、LPF51から出力された値が“5.50”であり、まるめ部54から出力された値が“0.00”である場合、加算器53からは“5.50”という値が出力されるが、リミッター55からは“6”という値(「出力」という欄参照)が出力される。また、画素値#8として、LPF51から出力された値が“6.25”であり、まるめ部54から出力された値が“0.00”である場合、加算器53からは“6.25”という値が出力されるが、リミッター55からは“6”という値が出力される。
すなわち、リミッター55では、入力された値に対して、小数点以下を四捨五入する。また、例えば、図11には図示していないが、LPF51から出力された値が“1023.55”であり、まるめ部54から出力された値が“0.00”である場合、加算器53からは“1023.55”という値が出力されるが、リミッター55からは“1024”という値が出力されることになる。しかしながら、10ビットの画像信号としては、0乃至1023の1024(=2の10乗)個の値しか取らないので、“1024”という値を計算上出力することになっても、リミットをかけて、“1023”という値を出力するように制御が行われる。
また、実際には、10ビットの画像信号であっても1024階調を用いることはなく、両端に余裕を持たせ、例えば、64乃至960階調ぐらいを用いることが多いと考えられる。このように設定されている場合、加算器53から出力された値が四捨五入された結果、“64”以下になってしまうと判断されるときには、“64”が出力され、“960”以上になってしまうと判断されるときには、“960”が出力されるように、リミッター55は制御を行う。
このようにして、ビット拡張部35は、入力された8ビットの画像信号を、10ビットの画像信号に変換して出力する。
図12は、図11に示した具体的な数値をグラフとして表した図である。図12上段は、ビット変換部35に入力される信号を示し、図12の下段は、ビット変換部35から出力される信号を示す。図12の下側に“#1 #2 ・・・ #20”との記載をしたが、それらは、図11の“#1 #2 ・・・ #20”と対応付けがなされている。例えば、図12において、画素値#1は、入力が“1”であり、出力が“4”であり、それらの数値(階調)に対応する位置に点が記載されている。
図11を参照するに、画素値#1乃至#20のそれぞれに対応する入力は、値として1、2、または3のうちのいづれかであることが分かる。また出力は、4、5、6、7、8、9、10、11、12のうちのいずれかであることが分かる。
図12の上段(「入力」のグラフ)を参照するに、1、2、3と段階的に階調が変化していることがわかる。このような画像は、傾きの緩やかなランプ信号であると判断できる。このような画像信号がビット変換部35により10ビットの画像信号に変換されると、図12の下段(「出力」のグラフ)に示したように、4、5、6、7、8、9、10、11、12と順に変化することが分かる。
図12の上段に示したように階調が変化する場合、すなわち、8ビットの画像信号の場合、1階調の変化の幅は、1/256である。これに対し、図12の下段に示したように階調が変化する場合、すなわち、10ビットの画像信号の場合、1階調の変化は、1/1024である。図12の上段に示した図と下段に示した図を見比べるに、下段に示した方が1階調あたりの変化の幅が小さいため、上段に示した方より、滑らかに変化していることがわかる。図示はしていないが、仮に、点同士を線で結んだ場合、図12の上段の図(入力に関する図)は、矩形(段階的に)なるが、図12の下段の図(出力に関する図)は、比較的滑らかな曲線に近い形で変化することになる。
よって、8ビットの画像信号を10ビットの画像信号に変換することにより、その10ビットの画像信号に基づく画像は、仮に、その画像が、色が滑らかに変化するような画像でも、量子化ノイズなどの影響による線などが見えない(見えづらい)ものとすることができ、全体として、綺麗に色が変化する画像をユーザ側に提供することが可能となる。
ここで、図5に示したビット拡張部35に、図13、図14に示したような信号を入力したときの出力について説明する。図13と図14は、それぞれ、図11と図12と同様な記載の仕方をしており、その見方は同じである。ただし、図13においては、「まるめ加算値」という欄が設けられている。図13に、この「まるめ加算値」という欄を設けたのは、以下の理由からである。
まるめ部54(図5)は、8ビットのデータを出力するが、加算器53では、10ビットで処理が行われる。そのため、加算器53に供給されるデータは、10ビットのデータに変換される必要がある。その変換は、まるめ部54で行っても良いし(この場合、まるめ部54からは10ビットのデータが出力されることになる)、加算器53側で行っても良い。または、図示はしていないが、まるめ部54と加算器53との間に、ビット変換部を設け、8ビットのデータが10ビットのデータに変換されるようにしても良い。
「まるめ加算値」の欄には、このようなビット変換された10ビットのデータの値を記載してある。図11に示した表には、「まるめ加算値」という欄は設けていないが、これは、「まるめ出力」の欄の値が全て“0”であるので、「まるめ加算値」の値も“0”と同一の値となるため、単に「まるめ加算値」の欄を省略しただけである。他の同様の表を示した図面においても、同様に、必要がなければ、「まるめ加算値」の欄を省略してある。
図13を参照するに、画素値#1乃至#9までは、“2”と“3”の繰り返しであり、画素値#10乃至#20までは、“2”と“4”の繰り返しである。このような信号、すなわち、所定の範囲内で2値が交互に入れ替わるような信号(図14参照)に基づく画像は、上述したような滑らかに色が変化する画像と異なり、例えば、白と黒が繰り返されるような縞模様(線でなく点の可能性もある)の画像となる。
このような信号が入力されたときのビット拡張部35からの出力は、図13を参照するに、画素値#1乃至#8までは“10”であり、画素値#9乃至#13までは“11”と“15”が繰り返され、画素値#14乃至#20までは、“8”と“16”が繰り返される。すなわち、この場合、例えば白と黒が繰り返されるような縞模様(点模様)ではなく、ちぐはぐな変化をする画像となってしまう。これは、入力された画像信号のもととなった縞模様(点模様)画像を、忠実に再現することができないことを意味し、歪みが発生する可能性があることを意味する。
すなわち、図5に示したビット拡張部35の構成は、滑らかに色が変化するような画像に対しては、そのような変化を忠実に再現する構成としては適しているが、2値の値が交互にあらわれるような信号(1/0交番信号)の場合には必ずしも適しる構成であるとは言えない。
そこで、そのようなことを改善するためのビット拡張部35について説明する。図15は、第2の実施の形態におけるビット拡張部35の内部構成例を示す図である。図15に示したビット拡張部35は、LPF151、減算器152、加算器153、非線形特性処理部154、および、リミッター155から構成されている。
LPF151には、エンハンサ34(図4)から出力された8ビットの画像信号が入力される。LPF151は、入力された画像信号のうち、低周波成分を抽出し、出力する。LPF151から出力された画像信号は、減算器152と加算器153に供給される。減算器152には、LPF151を通らない画像信号、すなわち、全周波数成分を含む画像信号も供給される。
減算器152は、全周波数成分を含む画像信号から、LPF151から出力された低周波成分のみの画像信号を減算する。この結果、減算器152からは、高周波成分のみの画像信号が出力される。すなわち、LPF151と減算器152の組み合わせは、HPF(High Pass Filter)を構成していることになる。よって、減算器152の代わりに、HPFを備える構成としても良い。
減算器152から出力された高域成分の画像信号は、非線形特性処理部154を介して加算器153に供給される。加算器153には、LPF151から出力された低域成分の画像信号も供給される。加算器153は、供給された低域成分の画像信号と高域成分の画像信号を加算することにより、全域成分の画像信号を生成し、リミッター155に供給する。リミッター155は、供給された画像信号の範囲が、後段の処理で扱える範囲内の画像信号に納めるための監視および処理を行う。リミッター155から出力されるのは、10ビットの画像信号であり、その画像信号は、図示されていないテレビジョン受像機などの表示装置に供給される。
LPF151は、図6または図7に示したLPF51と同一の構成とすることができる。また、図6、図7を参照して説明したように、11タップ構成のフィルタとして構成するなど、適宜変更可能なフィルタである。
図15に示したビット拡張部35の処理について説明するが、その処理は、図10に示したフローチャートの処理に従って行われる。図10に示したフローチャートの処理については既に説明したので、適宜省略して説明する。
ステップS11において、LPF151に8ビットの画像信号が入力され、LPF151における処理が実行される。このLPF151の処理により、8ビットの画像信号は、10ビットの画像信号に変換され、減算器152と加算器153に供給される。ステップS12において、減算器152は、8ビットの画像信号から10ビットの画像信号を減算し、13ビットの高周波成分のみの画像信号を生成し、出力する。
なお、ここでは、減算器152からは13ビットの画像信号が出力されるとしたが、13ビットではなく、10ビットなど他のビット数の画像信号でも良い。13ビットなどとビット数を高くすることにより、より精度の高い処理を行うことが可能となる。
ステップS13において、非線形特性処理部154による処理が実行される。非線形特性処理部154は、図16に示すような特性を有するテーブル171を記憶している。この非線形特性処理部154も、図8に示したまるめ部54と同様の構成、すなわち、処理部101と記憶部102から構成されるようにすることができ、記憶部102に図16に示したような特性を有するテーブル171が記憶される。
図16を参照するに、入力された入力値が“−2.0<入力値<2.0”を満たす値である場合、出力としては“0”が出力される。入力された値が“2.0”の場合、“2”が出力される。また、入力された値が“2.6”の場合、“3”が出力される。このように、“−2.0<入力値<2.0”の範囲内の値が入力された場合、“0”が出力され、“2”以上または“―2”以下の値が入力された場合、五捨六入(もちろん四捨五入などでも良い)された値が出力される。
ここでは、非線形特性処理部154は記憶部を有し、その記憶部にテーブル171を記憶しているとして説明するが、テーブル171を記憶せずに、例えば、入力された値を所定の演算式に代入して出力すべき値を求めるといったような処理を行うプログラムを用意し、そのプログラムに基づいて処理が行われるようにしても良い。
非線形特性処理部154からは、11ビットの画像信号が加算器153に対して出力される。もちろんこの場合も、11ビットに限定されているわけではないので、他のビット数でも良い。
加算器153は、ステップS14において、LPF151からの信号と非線形特性処理部154からの信号を加算し、1つの画像信号を生成し、リミッター155に出力する。リミッター155は、ステップS15において、処理を実行するが、その処理は、既にステップS15の処理として説明した場合と同様に行われるので、ここでは、その説明を省略する。
リミッター155からの信号は、10ビットの画像信号である。
ここで、図15に示したビット拡張部35の処理について、図17に示した具体的な数値と、その数値をグラフ化した図18を参照して説明をさらに加える。
例えば、図17を参照するに、画素値#1として、“1”という値(「入力」という欄参照)が入力された場合、LPF151からは“4.00”という値(「LPF出力」という欄参照)が出力される。そして、減算器152からは“0.00”という値(「HPFの出力」という欄参照)が出力される。さらに、非線形特性処理部154からは、“0”という値(「非線型特性出力」という欄参照)が出力される。このような値が各部から出力された場合、最終的にリミッター155からは、“4”という値が出力される。
また、図18に示したグラフを見るに、入力された値のグラフは、段階的に数値が上がる矩形波に近い形となっているが、出力される値のグラフは、比較的滑らかな曲線に近い形となっている。
図17に示した入力と出力の具体的な数値の関係を見るに、それらの数値は、図11に示した数値と同様である。また、図18に示したグラフは、図12に示したグラフと同様である。すなわち、図15に示したビット拡張部35でビット変換することにより、色が滑らかに変化するような画像でも、量子化ノイズなどの影響を受けず、全体として、綺麗に色が変化する画像となる。
次に、1/0交番信号がビット拡張部35に入力された場合について、図19と図20を参照して説明する。図19は、図17と同じように記載した表であり、ビット変換部35に入力される値と、出力される値との関係を具体的な数値で示した表であり、図20は、図18と同じように記載したグラフであり、図19に示した具体的な数値を、対応する階調毎に点として示したグラフである。
先に、図20を参照するが、この図20の上段に示したグラフは、図14の上段に示したグラフと同一である。図14に関しては、図13を合わせて参照しながら既に説明したが、図5に示した構成のビット変換部35に、1/0交番信号が入力された場合、出力される信号は、そのような1/0交番信号ではなく、従って、入力された信号を忠実に再現することができない可能性があるとして説明した。
しかしながら、図15に示したビット拡張部35によりビット変換を行えば、図20の下段に示したように、出力されるのは1/0交番信号とすることができる。すなわち、図20の上段に示したグラフと下段に示したグラフは、同じ形(同じ1/0交番信号の形)になっている。このことを図19を参照して確認する。ビット拡張部35に入力される画素値#1乃至#9までは、“2”と“3”の繰り返しであり、画素値#10乃至#20までは、“2”と“4”の繰り返しである(「入力」という欄参照)。
図19の「出力」という欄を参照するに、画素値#1乃至#7までは、“8”と“12”の繰り返しであり、画素値#9乃至#20までは、“8”と“16”の繰り返しである。この結果から、入力された“2”と“3”が繰り返される1/0交番信号は、“8”と“12”が繰り返される1/0交番信号に変換され、入力された“2”と“4”が繰り返される1/0交番信号は、“8”と“16”が繰り返される1/0交番信号に変換されることが分かる。
このことから、図15に示したビット拡張部35を用いれば、1/0交番信号のような、所定の範囲内で2値の値が繰り返されるような信号に対してビット変換を施しても、その1/0交番信号を歪ませることなく忠実に再現できる。
このように、本発明においては、通常8ビット(mビット)で行われている処理の後に、その処理が施された信号を高域と低域に分離し、低域側の信号のビット長を多くすることで、10ビット(nビット)の信号を出力することができ、結果として、高画質の画像をユーザに提供することが可能となる。また、ビット長を増やした後に、高域だけ、コアリング(coring)処理(上述した実施の形態においては、例えば、図16を参照して説明したように、中心付近(―2.0から2.0まで)の値の入力を“0”として出力する処理)を行うことで、さらにさまざまな画像に対して良好な画像を提供することができるビット変換を行うことが可能となる。
このように、本発明における画像信号処理部30は、8ビットの画像信号を10ビットの画像信号に変換して出力するため、高画質な画像をユーザに提供することが可能となる。この際、基本的な処理は、8ビットで行うため、メモリを効率良く利用することができ、メモリの容量を大きくすることなく処理を行うことが可能となる。例えば、メモリ36やメモリ37(図4)を、ビット拡張部35のLPF51(151)のラインメモリとして用いる構成とすることも可能であり、そのようにすれば、さらに、メモリの高効率化をはかることが可能となり、メモリ自体の容量も抑えることが可能となる。
また、本発明における画像信号処理部30から出力されるのは、10ビットの画像信号なので、その画像は、滑らかに色が変化するような画像であっても、急激に色合いが変化するような画像であっても、もちろん、そのような色の変化自体には特徴のないような画像であっても、ユーザが不快に感じるような、あってはならない線やむらなどが発生するようなことを防ぐことができ、高画質な画像をユーザに提供することが可能となる。
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアによりその一部または全てを実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。記録媒体について説明する前に、簡便に、パーソナルコンピュータについて説明する。
図21は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)201は、ROM(Read Only Memory)202に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース205は、キーボードやマウスから構成される入力部206が接続され、入力部206に入力された信号をCPU201に出力する。また、入出力インタフェース205には、ディスプレイやスピーカなどから構成される出力部207も接続されている。
さらに、入出力インタフェース205には、ハードディスクなどから構成される記憶部208、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部209も接続されている。ドライブ210は、磁気ディスク221、光ディスク222、光磁気ディスク223、半導体メモリ224などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
記録媒体は、図21に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク221(フレキシブルディスクを含む)、光ディスク222(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク223(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ224などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM202や記憶部208が含まれるハードディスクなどで構成される。
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
30 画像処理部, 31 IP変換部, 32 LPF, 33 補間フィルタ, 34 エンハンサ, 35 ビット拡張部, 36,37 メモリ, 51 LPF, 52 減算器, 53 加算器, 54 まるめ部, 55 リミッター, 121 テーブル, 151 LPF, 152 減算器, 153 加算器, 154 非線形特性処理部, 155 リミッター, 171 テーブル