(57)【要約】【課題】簡易な処理にて合成画素値Ｒを演算するこのとのできる画像処理装置を提供することである。【解決手段】第１画像の第１画素値Ｄ、第２画像の第２画素値Ｓ及びα値のそれぞれを８ビットで処理し、前記α値が、０より大きく２５５の値より小さい範囲、０及び２５５の値のいずれであるかを判定するα値判定手段（Ｓ３、Ｓ８）と、α値が０であるとの判定がなされたときに、前記第１画素値Ｄを前記合成画素値Ｒとする手段（Ｓ９）と、前記α値が２５５であるとの判定がなされたときに、前記第２画素値Ｓを前記合成画素値Ｒとする手段（Ｓ１０）と、前記α値が前記範囲にあるとの判定がなされたときに、前記合成画素値Ｒを  Ｒ＝｛α・Ｓ＋（２５５−α）・Ｄ｝／２５６に従って演算する演算手段（Ｓ４、Ｓ５）とを有する構成となる。【選択図】図３
2008124949.tif 000002
【特許請求の範囲】
【請求項１】
第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する画像処理装置であって、
前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、
前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、
前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、前記合成画素値Ｒを
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）｝
に従って演算する演算手段とを有することを特徴とする画像処理装置。
【請求項２】
第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する画像処理装置であって、
前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、
前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、
前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、Ｒ´値を
Ｒ´＝α・Ｓ＋｛（２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って演算する演算手段と、
前記Ｒ´値を表すビット列を桁下がり方向に８×２＾ｎビットだけシフトして前記合成画素値Ｒを表すビット列を生成する手段とを有することを特徴とする画像処理装置。
【請求項３】
第１画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｄと、第２画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｓとを透明の度合を表すα値を用いて色成分毎に重ね合成して合成画像の各画素の複数の色成分それぞれの輝度を表す合成画素値Ｒを生成する画像処理装置であって、
前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、
前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、
前記判定手段にて前記α値が０であるとの判定がなされたときに、各色成分の前記画素値Ｄを同色成分の前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、各色成分の前記画素値Ｓを同色成分の前記合成画素値Ｒとする手段と、
前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、各色成分についてのＲ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って演算する演算手段と、
前記複数の色成分についての前記Ｒ´値を表すビット列を直列に結合するビット結合手段と、
前記ビット結合手段により得られたビット列を桁下がり方向に８×２＾ｎビットだけシフトするビットシフト手段と、
前記ビットシフト手段にて得られたビット列を前記複数の色成分部分に分解して、前記複数の色成分それぞれについて前記合成画素値Ｒを表すビット列を生成する手段とを有することを特徴とする画像処理装置。
【請求項４】
第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する処理をコンピュータにて実行させるためのプログラムであって、
前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットにて前記コンピュータに処理させ、
前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定ステップと、
前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとするステップと、
前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとするステップと、
前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、Ｒ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って演算する演算ステップと、
前記Ｒ´値を表すビット列を桁下がり方向に８×２＾ｎビットだけシフトして前記合成画素値Ｒを表すビット列を生成するステップとを前記コンピュータに実行させるためのプログラム。
【請求項５】
第１画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｄと、第２画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｓとを透明の度合を表すα値を用いて色成分毎に重ね合成して合成画像の各画素の複数の色成分それぞれの輝度を表す合成画素値Ｒを生成する処理をコンピュータに行なわせるためのプログラムであって、
前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットにて前記コンピュータに処理させ、
前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定ステップと、
前記判定ステップにて前記α値が０であるとの判定がなされたときに、各色成分の前記画素値Ｄを同色成分の前記合成画素値Ｒとするステップと、
前記判定ステップにて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、各色成分の前記画素値Ｓを同色成分の前記合成画素値Ｒとするステップと、
前記判定ステップにて前記α値が前記範囲にあるとの判定がなされたときに、各色成分についてのＲ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って演算する演算ステップと、
前記複数の色成分についての前記Ｒ´値を表すビット列を直列に結合するビット結合ステップと、
前記ビット結合ステップにより得られたビット列を桁下がり方向に８×２＾ｎビットだけシフトするビットシフトステップと、
前記ビットシフトステップにて得られたビット列を前記複数の色成分部分に分解して、前記複数の色成分それぞれについての前記合成画素値Ｒを表すビット列を生成するステップとを前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの画像を透明の度合を表すα値を用いて重ね合成して合成画像を生成する画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来、２つの画像を透明の度合を表すα値を用いて重ね合成して合成画像を生成するための処理は、アルファブレンディング演算処理として知られている（特許文献１参照）。このアルファブレンディング演算処理では、元画像（第１画像）の各画素の輝度を表すデスティネーション画素値（以下、背景技術の項において画素値Ｄという）と、前記元画像に重ねられる重ね画像（第２画像）の各画素の輝度を表すソース画素値（以下、背景技術の項において画素値Ｓという）と、透明の度合を表すα値とを用いて、前記元画像と重ね画像とを重ね合成した合成画像の各画素の輝度を表す合成画素値Ｒが、
Ｒ＝α・Ｓ＋（１−α）Ｄ                  ・・・（１）
に従って演算される。
このような演算を行なうコンピュータにおいて、前記画素値Ｄ、画素値Ｓ及びα値が、例えば、８（８×２＾ｎ（ｎ＝０）：記号＾は、累乗演算を表す）ビットの２５６階調の値として処理される場合、前記合成画素値Ｒは、
Ｒ＝（α・Ｓ＋（２５５−α）・Ｄ）／２５５    ・・・（２）
に従って演算されることになる。
【０００３】
前記式（２）に従って合成画素値Ｒの演算を行なうアルファブレンディング演算処理では、「２５５」による除算演算があるため、一般的にコンピュータでの処理が複雑となり、その処理時間が長くなる。そこで、前記式（２）における
（２５５−α）・Ｄ／２５５
に従った乗算及び除算を同時に行なう乗除算装置と、
α・Ｓ／２５５
に従った乗算及び除算を同時に行なう乗除算装置とを用いて前記式（２）に従ったアルファブレンディング演算処理の高速化を図る技術が提案されている（特許文献１参照）。
【特許文献１】特開平７−２００８６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述した乗算及び除算を同時に行なう乗除算装置の構成が複雑である。そのため、その乗除算装置を実現するハードウエアとしての論理回路の規模が大きくなってしまい、また、その乗除算演算の機能をソフトウエア（プログラム）で実現する場合には、その処理ステップ数が比較的多いものとなってしまう。
【０００５】
本発明は、このような事情の鑑みてなされたもので、簡易な処理にて合成画素値Ｒを得るこのとのできる画像処理装置及びプログラムを提供するものである。
【課題を解決するための手段】
【０００６】
本発明に係る画像処理装置は、第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する画像処理装置であって、前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、前記合成画素値Ｒを
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）｝
に従って演算する演算手段とを有する構成となる。
上記式において、記号＾は、累乗演算を表す（以下、同様）。
【０００７】
このような構成により、α値が０または｛２＾（８×２＾ｎ）−１｝である場合には、
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）−１｝
に従った通常のアルファブレンディング演算処理を行なうことなく、合成画素値Ｒが、強制的に画素値Ｄまたは画素値Ｓとなる。また、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲にある場合には、合成画素値Ｒが、通常のアルファブレンディング演算処理における
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）−１｝
に代えて、
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）｝
に従って演算されるので、｛２＾（８×２＾ｎ）｝での除算が、（８×２＾ｎ）ビットの桁下がり方向のシフト処理にて実現することができる。
【０００８】
本来のアルファブレンディング演算処理では、｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝を｛２＾（８×２＾ｎ）−１｝にて除算するのに対して、本発明に係る画像処理装置では、｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝を｛２＾（８×２＾ｎ）｝にて除算しているので、得られる合成画素値Ｒには、１／｛２＾（８×２＾ｎ）−１｝の誤差が含まれる。この誤差は、ｎ＝０（８ビット処理）のときに１／２５５であり、ｎが他の値（１以上の自然数）のときには更に小さく、例えば出力装置における出力特性やその出力された画像を見る人の視覚感度特性などを考慮すると、その誤差は実質的に問題とはならないといい得る。
【０００９】
また、本発明に係る画像処理装置は、第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する画像処理装置であって、前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、Ｒ´値を
Ｒ´＝α・Ｓ＋｛（２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って８×２＾（ｎ＋１）ビットで表される値として演算する演算手段と、前記Ｒ´値を表すビット列を桁下がり方向に８×２＾ｎビットだけシフトして前記合成画素値Ｒを表すビット列を生成する手段とを有する構成となる。
【００１０】
このような構成により、α値が０または｛２＾（８×２＾ｎ）−１｝である場合には、
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）−１｝
に従った通常のアルファブレンディング演算処理を行なうことなく、合成画素値Ｒが、強制的に画素値Ｄまたは画素値Ｓとなる。また、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲にある場合には、
Ｒ´＝α・Ｓ＋｛（２＾（８×２＾ｎ）−１−α｝・Ｄ
に従ってＲ´値を演算し、そのＲ´値を表すビット列を桁下がり方向に８×２＾ｎビットシフトして合成画像値Ｒのビット列を得るようにしているので、前記式に従った通常のアルファブレンディング演算処理でのような除算演算を行なうことなく、実施的に
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）｝
に従った、合成画素値Ｒを生成することができるようになる。
【００１１】
また、本発明に係る画像処理装置は、第１画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｄと、第２画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｓとを透明の度合を表すα値を用いて色成分毎に重ね合成して合成画像の各画素の複数の色成分それぞれの輝度を表す合成画素値Ｒを生成する画像処理装置であって、前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットで処理し、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定手段と、前記判定手段にて前記α値が０であるとの判定がなされたときに、各色成分の前記画素値Ｄを同色成分の前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、各色成分の前記画素値Ｓを同色成分の前記合成画素値Ｒとする手段と、前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、各色成分についてのＲ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って８×２＾（ｎ＋１）ビットで表される値として演算する演算手段と、前記複数の色成分についての前記Ｒ´値を表すビット列を直列に結合するビット結合手段と、前記ビット結合手段により得られたビット列を桁下がり方向に８×２＾ｎビットだけシフトするビットシフト手段と、前記ビットシフト手段にて得られたビット列を前記複数の色成分部分に分解して、前記複数の色成分それぞれについて前記合成画素値Ｒを表すビット列を生成する手段とを有する構成となる。
【００１２】
このような構成により、α値が０または｛２＾（８×２＾ｎ）−１｝である場合には、各画素の複数の色成分のそれぞれに対して
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）−１｝
に従った通常のアルファブレンディング演算処理を行なうことなく、各色成分についての合成画素値Ｒが、強制的に同じ色成分の画素値Ｄまたは画素値Ｓとなる。また、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲にある場合には、各色成分について
Ｒ´＝α・Ｓ＋｛（２＾（８×２＾ｎ）−１−α｝・Ｄ
に従ってＲ´値を演算し、複数の色成分についてのＲ´値を表すビット列を直列に結合し、その結合により得られたビット列を桁下がり方向に８×２＾ｎビットシフトし、そのビットシフトにより得られたビット列を前記複数の色成分部分に分解することにより各色成分についての合成画素値Ｒを生成するようにしているので、前記式に従った通常のアルファブレンディング演算処理でのような除算演算を行なうことなく、複数の色成分についてのビット列の一括的なビットシフトによって、各色成分について、
Ｒ＝｛α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ｝／｛２＾（８×２＾ｎ）｝
に従った合成画素値Ｒを生成することができるようになる。
【００１３】
本発明に係るプログラムは、第１画像の各画素の輝度を表す画素値Ｄと、第２画像の各画素の輝度を表す画素値Ｓとを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒを生成する処理をコンピュータにて実行させるためのプログラムであって、前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットにて前記コンピュータに処理させ、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定ステップと、前記判定手段にて前記α値が０であるとの判定がなされたときに、前記画素値Ｄを前記合成画素値Ｒとするステップと、前記判定手段にて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、前記画素値Ｓを前記合成画素値Ｒとするステップと、前記判定手段にて前記α値が前記範囲にあるとの判定がなされたときに、Ｒ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って８×２＾（ｎ＋１）ビットで表される値として演算する演算ステップと、前記Ｒ´値を表すビット列を桁下がり方向に８×２＾ｎビットだけシフトして前記合成画素値Ｒを表すビット列を生成するステップとを前記コンピュータに実行させるように構成される。
【００１４】
また、本発明に係るプログラムは、第１画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｄと、第２画像の各画素の複数の色成分それぞれの輝度を表す画素値Ｓとを透明の度合を表すα値を用いて色成分毎に重ね合成して合成画像の各画素の複数の色成分それぞれの輝度を表す合成画素値Ｒを生成する処理をコンピュータに行なわせるためのプログラムであって、前記画素値Ｄ、前記画素値Ｓ及び前記α値のそれぞれを８×２＾ｎ（ｎは、０または自然数）ビットにて前記コンピュータに処理させ、前記α値が、０より大きく｛２＾（８×２＾ｎ）−１｝の値より小さい範囲、０及び｛２＾（８×２＾ｎ）−１｝の値のいずれであるかを判定するα値判定ステップと、前記判定ステップにて前記α値が０であるとの判定がなされたときに、各色成分の前記画素値Ｄを同色成分の前記合成画素値Ｒとするステップと、前記判定ステップにて前記α値が｛２＾（８×２＾ｎ）−１｝の値であるとの判定がなされたときに、各色成分の前記画素値Ｓを同色成分の前記合成画素値Ｒとするステップと、前記判定ステップにて前記α値が前記範囲にあるとの判定がなされたときに、各色成分についてのＲ´値を
Ｒ´＝α・Ｓ＋｛２＾（８×２＾ｎ）−１−α｝・Ｄ
に従って８×２＾（ｎ＋１）ビットで表される値として演算する演算ステップと、前記複数の色成分についての前記Ｒ´値を表すビット列を直列に結合するビット結合ステップと、前記ビット結合ステップにより得られたビット列を桁下がり方向に８×２＾ｎビットだけシフトするビットシフトステップと、前記ビットシフトステップにて得られたビット列を前記複数の色成分部分に分解して、前記複数の色成分それぞれについての前記合成画素値Ｒを表すビット列を生成するステップとを前記コンピュータに実行させるように構成される。
【発明の効果】
【００１５】
本発明に係る画像処理装置及びプログラムによれば、通常のアルファブレンディング演算処理にてなされる除算演算に代えて、判定処理及びビットシフトにて合成画素値Ｒを演算するようにしているので、簡易な処理にてその合成画素値Ｒを得ることができるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１７】
本発明の第１の実施の形態に係る画像処理装置の適用されるシステムは、図１に示すように構成される。
【００１８】
図１において、このシステムは、処理ユニット１０、データ入力部２０及び画像出力ユニット３０を有している。データ入力部１０は、画像出力ユニット３０から出力すべき画像を表す画像データ、透明の度合を表すα値等の画像処理に必要なデータを外部から入力し、そのデータを処理ユニット１０に供給する。処理ユニット１０は、ＣＰＵやメモリ群等を備えたいわゆるコンピュータであって、所定のプログラムに従ってデータ入力部１０から供給される画像データから描画データを生成する。この描画データは、画像の各画素の輝度を表す画素値にて構成される。また、処理ユニット１０は、生成した描画データを画像出力ユニット３０に出力するとともに、その画像出力ユニット３０を制御し得る。画像出力ユニット３０は、例えば、表示装置やプリンタであり、処理ユニット１０の制御のもと、描画データに従って画像を表示等、出力する。
【００１９】
処理ユニット１０は、図２に示すように、解析部１０１、描画制御部１０２及び描画処理部１０３をプログラムに従った処理にて実現される機能部として有している。解析部１０１は、データ入力部２０から提供されるデータを解析してどのようなデータであるかを判別する。描画制御部１０２は、データとその判別結果に基づいて描画に必要なデータ（中間データ）を描画指示とともに描画処理部１０３に供給する。描画処理部１０３は、描画制御部１０２からの描画指示に従って供給されるデータを用いて所定の描画処理を実行する。この描画処理部１０３は、第１画像の各画素の輝度を表す画素値Ｄ（第１画像描画データ）と、第２画像の各画素の輝度を表す画素値Ｓ（第２画像描画データ）とを透明の度合を表すα値を用いて重ね合成して合成画像の各画素の輝度を表す合成画素値Ｒ（合成画像描画データ）を生成する透過合成処理を行い得る。
【００２０】
処理ユニット１０は、所定のプログラムに従って各データを例えば８ビット（８×２＾０）を単位にして処理しており、前記透過合成処理において、前記画素値Ｄ、前記画素値Ｓ及び前記α値は、８ビットで処理される。
【００２１】
描画処理部１０３においてこの透過合成処理は、例えば、図３に示す手順に従ってなされる。
【００２２】
α値が取得される（Ｓ１）。また、第１画像を描画するための第１描画データが画素単位に走査されるとともに、第２画像を描画するための第２描画データが画素単位に走査され、同位置の画素についての第１画像の画素値Ｄと第２画像の画素値Ｓとが取得される（Ｓ２）。次いで、前記取得されたα値が０より大きく２５５（８×２＾０）より小さい範囲（０＜α＜２５５）にあるか否かが判定される（Ｓ３）。前記α値が前記範囲にあるとの判定がなされると（Ｓ３でＹＥＳ）、Ｒ´値が
Ｒ´＝α・Ｓ＋（２５５−α）・Ｄ        ・・・（３）
に従って演算される（Ｓ４）。このＲ´値は、８ビットで表される２つの値を乗算した結果得られる値となるので、例えば、１６ビット（８×２＾（０＋１））のビット列として表される。その後、このＲ´値を表す１６ビットのビット列が桁下がり方向に８ビットだけシフトされ、例えば、その上位８ビットが合成画素値Ｒを表すビット列とされる（Ｓ５）。
【００２３】
前記Ｒ´値を表す１６ビットのビット列を桁下がり方向に８ビットシフトする処理は、前記Ｒ´値を２５６（２＾８）で除算する処理に相当する。従って、前記ステップＳ４、Ｓ５の処理により、実質的に
Ｒ＝Ｒ´／２５６
＝｛α・Ｓ＋（２５５−α）・Ｄ｝／２５６      ・・・（４）
に従って、合成画素値Ｒが演算されたことになる。
【００２４】
例えば、図４（ａ）に示すように、Ｒ´値が１６ビットのビット列
００００００１０００００００００（５１２１０：十進数表現で５１２）
で表される場合、図４（ｂ）に示すように、その桁下がり方向に８ビットシフトして得られるビット列の上位８ビットは、
００００００１０（２１０）
となる。即ち、この８ビットシフトによって、５１２１０／２５６１０（＝２）の除算演算がなされたことになり、その除算結果２が合成画素値Ｒとして得られる。
【００２５】
背景技術の項で説明した通常のアルファブレンディング演算処理を表す式（２）と、前記式（４）を比較すると、通常のアルファブレンディング演算処理では、｛α・Ｓ＋（２５５−α）・Ｄ｝を２５５にて除算するのに対して、前記処理では、｛α・Ｓ＋（２５５−α｝・Ｄ｝を２５６にて除算している。このため、前記処理にて得られる合成画素値Ｒには、１／２５５の誤差が含まれる。しかし、この合成画素値Ｒ（合成画像描画データ）に基づいて画像を出力する画像出力ユニット３０における出力特性やその出力された画像を見る人の視覚感度特性などを考慮すると、その誤差は実質的に問題とはならないといい得る。
【００２６】
図３に戻って、前記α値が前記範囲（０＜α＜２５５）にないとの判定がなされた場合（Ｓ３でＮＯ）、更に、前記α値が０であるか否かが判定される（Ｓ８）。前記α値は８ビットで表されており、０から２５５の２５６階調の何れかの値となることから、前記判定処理は、前記α値が０及び２５５のいずれかであるかを判定する処理に相当する。そして、前記α値が０であるとの判定がなされると（Ｓ８でＹＥＳ）、第１画像の画素値Ｄがそのまま合成画素値Ｒとされる。（Ｓ９）。一方、前記α値が２５５であるとの判定がなされると（Ｓ８でＮＯ）、第２画像の画素値Ｓがそのまま合成画素値Ｒとされる（Ｓ１０）。
【００２７】
通常のアルファブレンディング演算処理を表す式（２）において、α値を０にすると、
Ｒ＝Ｄ
となり、
α値を２５５にすると、
Ｒ＝Ｓ
となる。即ち、前記ステップＳ３、Ｓ８、Ｓ９、Ｓ１０に従った処理にて得られる合成画素値Ｒは、通常のアルファブレンディング演算処理にて得られる合成画素値Ｒと同じになる。
【００２８】
前述したようにして得られた合成画素値Ｒは、例えば、画像描画用のビットマップメモリに出力され格納される（Ｓ６）。その後、最終画素についての処理が終了したか否かが判定され（Ｓ７）、最終画素についての処理が終了していなければ（Ｓ７でＮＯ）、次の画素について前述した処理（Ｓ２〜Ｓ６）が実行される。そして、処理の対象となる画素が順次ずらされながら、前述した処理（Ｓ２〜Ｓ７）が繰り返し実行され、その処理の対象となる画素が最終画素であるとの判定がなされると（Ｓ７でＹＥＳ）、当該透明合成処理が終了する。
【００２９】
前述したような手順に従う透明合成処理によれば、α値が０または２５５である場合には、
Ｒ＝｛α・Ｓ＋（２５５−α）・Ｄ｝／２５５
に従った通常のアルファブレンディング演算処理を行なうことなく、合成画素値Ｒが、強制的に第１画像の画素値Ｄまたは第２画像の画素値Ｓにされる。このため、加算、減算、乗算、除算の演算を全く行なうことなく、合成画素値Ｒを得ることができるようになる。
【００３０】
また、前記α値が、０より大きく２５５の値より小さい範囲（０＜α＜２５５）にある場合には、合成画素値Ｒが、通常のアルファブレンディング演算処理における
Ｒ＝｛α・Ｓ＋（２５５−α）・Ｄ｝／２５５
に代えて、
Ｒ´＝｛α・Ｓ＋（２５５−α）・Ｄ｝
に従った演算（加算、減算、乗算）及び、
Ｒ＝Ｒ´／２５６
に相当する８ビットのビットシフト処理にて得られる。従って、特に複雑となる除算演算を行なうことなく、実質的に誤差が問題とならない範囲内の合成画素値Ｒを得ることができるようになる。
【００３１】
即ち、本発明の第１の実施の形態に係る画像処理装置（処理ユニット１０）によれば、前述したように簡易な透明合成処理により第１画像と第２画像とを透明の度合を表すα値を用いて重ね合成した合成画像の合成画素値Ｒを得ることができるようになる。
【００３２】
なお、前述した透明合成処理は、単色の画像についての処理、あるいは、複数の色成分のうちの１つの色成分についての処理となる。従って、複数の色成分の全てについての合成画素値Ｒを得るためには、図３に示す処理を各色成分に対して実行することになる。
【００３３】
次に、本発明の第２の実施の形態に係る画像処理装置について説明する。この画像処理装置は、複数の色成分についての透過合成処理をより容易に行ない得るものとなっている。
【００３４】
この第２の実施の形態に係る画像処理装置の適用されるシステムは、図１に示すものと同様であり、画像処理装置に相当する処理ユニット１０の機能構成も図２に示すものと同様である。そして、処理ユニット１０における描画処理部１０３は、図５に示す手順に従って透明合成処理を行なう。この透明合成処理は、第１画像の各画素の３つ色成分（Ｒ：赤、Ｇ：緑、Ｂ：青）それぞれの輝度を表す画素値Ｄ（Ｒ）、Ｄ（Ｇ）、Ｄ（Ｂ）と、第２画像の各画素の３つの色成分それぞれの輝度を表す画素値Ｓ（Ｒ）、Ｓ（Ｇ）、Ｓ（Ｂ）とを透明の度合を表すα値を用いて色成分毎に重ね合成して合成画像の各画素の３つの色成分それぞれの輝度を表す合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）を生成する。
【００３５】
図５において、α値が取得された（Ｓ１）後に、第１画像を描画するための第１画像データが画素単位に走査されると共に、第２画像を描画するための第２描画データが画素単位に走査され、同位置の画素についての第１画像の３つの色成分の画素値Ｄ（Ｒ）、Ｄ（Ｇ）、Ｄ（Ｂ）と第２画像の３つの色成分の画素値Ｓ（Ｒ）、Ｓ（Ｇ）、Ｓ（Ｂ）とが取得される（Ｓ２１）。そして、前記取得されたα値が０より大きく２５５（８×２＾０）より小さい範囲（０＜α＜２５５）にあるか否かが判定される（Ｓ３）。前記α値が前記範囲にあるとの判定がなされると（Ｓ３でＹＥＳ）、色成分毎のＲ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）値が、
Ｒ´（Ｒ）＝α・Ｓ（Ｒ）＋（２５５−α）・Ｄ（Ｒ）
Ｒ´（Ｇ）＝α・Ｓ（Ｇ）＋（２５５−α）・Ｄ（Ｇ）
Ｒ´（Ｂ）＝α・Ｓ（Ｂ）＋（２５５−α）・Ｄ（Ｂ）        ・・・（５）
に従って演算される（Ｓ４１）。
【００３６】
前記Ｒ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）のそれぞれは、８ビットで表される２つの値を乗算した結果得られる値となるので、例えば、１６ビット（８×２＾（０＋１））のビット列として表される。その後、各色成分に対応した前記Ｒ´（Ｒ）値、Ｒ´（Ｇ）値及びＲ´（Ｂ）値を表すビット列が直列に結合される（Ｓ４２）。例えば、Ｒ´（Ｒ）値を表すビット列の最下位ビットに続けてＲ´（Ｇ）値を表すビット列の最上位ビットが結合され、Ｒ´（Ｇ）値を表すビット列の最下位ビットに続けてＲ´（Ｂ）の最上位ビットが結合され、結合ビット列Ｒ´が得られる。各色成分についての前記Ｒ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）がそれぞれ１６ビットで表されるので、それらを結合して得られる結合ビット列Ｒ´は４８ビットとなる。
【００３７】
次いで、前記３つのビット列を直列に結合して得られた前記結合ビット列Ｒ´が桁下がり方向に８ビットだけシフトされ、ビット列Ｒが得られる（Ｓ５１）。その得られたビット列Ｒが前記Ｒ´（Ｒ）、Ｒ´(Ｇ)、Ｒ´（Ｂ）に対応する部分、即ち、３つの色成分部分に分解され、その分解により得られた３つのビット列の、例えば、上位8ビットが３つの色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）を表すビット列とされる（Ｓ５２）。
【００３８】
前記結合ビット列Ｒ´（４８ビット）を桁下がり方向に８ビットシフトすると、その結合ビット列Ｒ´に含まれる各色成分に対応したＲ´値（Ｒ）、Ｒ´（Ｇ）値、Ｒ´（Ｂ）値を表すビット列が同時に桁下がり方向に8ビットシフトされることとなる。即ち、前記結合ビット列Ｒ´を桁下がり方向に８ビットシフトする処理は、３つの色成分についての前記Ｒ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）のそれぞれを同時に２５６（２＾８）で除算する処理に相当する。従って、前記ステップＳ４１、Ｓ４２、Ｓ５１、Ｓ５２の処理により、実施的に
Ｒ（Ｒ）＝Ｒ´（Ｒ）／２５６
＝｛α・Ｓ（Ｒ）＋（２５５−α）・Ｄ（Ｒ）｝／２５６
Ｒ（Ｇ）＝Ｒ´（Ｇ）／２５６
＝｛α・Ｓ（Ｇ）＋（２５５−α）・Ｄ（Ｇ）｝／２５６
Ｒ（Ｂ）＝Ｒ´（Ｂ）／２５６
＝｛α・Ｓ（Ｂ）＋（２５５−α）・Ｄ（Ｂ）｝／２５６      ・・・（６）
に従って、各色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）が演算されたことになる。
【００３９】
例えば、図６（ａ）に示すように、各色成分についてのＲ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）のそれぞれが１６ビットのビット列
００００００１０００００００００（５１２１０：十進数表現で５１２）
で表され、それらが結合して結合ビット列Ｒ´（４８ビット）が形成される場合、図６（ｂ）に示すように、その結合ビット列Ｒ´が桁下がり方向に８ビットシフトされて得られるビット列Ｒの前記Ｒ´（Ｒ）値、Ｒ´（Ｇ）値、Ｒ´（Ｂ）に対応する部分、即ち、各色成分に対応する部分の上位８ビットは、
００００００１０（２１０）
となる。即ち、１回の８ビットシフト処理によって、３つの色成分について５１２１０／２５６１０（＝２）の除算演算が同時になされたことになり、その各除算結果２が各色成分の合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）として得られる。
【００４０】
図５に戻って、前記α値が前記範囲（０＜α＜２５５）にないとの判定がなされた場合（Ｓ３でＮＯ）、更に前記α値が０及び２５５のいずれであるかが判定される（Ｓ８）。そして、前記α値が０であるとの判定がなされると（Ｓ８でＹＥＳ）、前述した第１の実施の形態と同様に、第１画像の３つの色成分についての画素値Ｄ（Ｒ）、Ｄ（Ｇ）、Ｄ（Ｂ）がそのまま３つの色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）とされる（Ｓ９１）。一方、前記α値が２５５であるとの判定がなされると（Ｓ８でＮＯ），第２画像の３つの色成分についての画素値Ｓ（Ｒ）、Ｓ（Ｇ）、Ｓ（Ｂ）がそのまま３つの色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）とされる（１０１）。
【００４１】
前述したようにして得られた３つの色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）は、例えば、画像描画用のビットマップメモリに出力され、それぞれが同一の画素に関連付けられた状態で格納される（Ｓ６１）。以後、最終画素の処理が終了するまで（Ｓ７でＹＥＳ）、処理の対象となる画素が順次ずらされながら、前述した処理（Ｓ１、Ｓ２１、Ｓ３、Ｓ４１、Ｓ４２、Ｓ５１、Ｓ５２、Ｓ８、Ｓ９１、Ｓ１０１、Ｓ６１、Ｓ７）が繰り返し実行される。
【００４２】
前述したような本発明の第２の実施の形態に係る画像処理装置（処理ユニット１０）によれば、その透明合成処理において、各色成分について得られたＲ´（Ｒ）値、Ｒ´（Ｇ）、Ｒ´（Ｂ）のそれぞれを２５６で除算する演算（Ｒ´／２５６）が、それらの値を表すビット列を結合して得られるビット列Ｒ´を単に８ビットシフトすることによって一括的になされることになるので、より簡易な（効率的な）処理にて各色成分についての合成画素値Ｒ（Ｒ）、Ｒ（Ｇ）、Ｒ（Ｂ）を得ることができるようになる。
【００４３】
前述した各実施の形態では、第１画像の画素値Ｄ（Ｄ（Ｒ）、Ｄ（Ｇ）、Ｄ（Ｂ））、第２画像の画素値Ｓ（Ｓ（Ｒ）、Ｓ（Ｇ）、Ｓ（Ｂ））、及びα値は、８ビットにて処理されるものであったが、これに限定されることなく、１６ビット、３２ビットなど、通常のコンピュータでの処理単位となり得る８×２＾ｎ（ｎは、０または自然数）ビットにて処理されるものであればよい。
【産業上の利用可能性】
【００４４】
以上、説明したように、本発明に係る画像処理装置及びプログラムは、簡易な処理にて合成画素値Ｒを演算することができるという効果を有し、２つの画像を透明の度合を表すα値を用いて重ね合成して合成画像を生成する画像処理装置及びプログラムとして有用である。
【図面の簡単な説明】
【００４５】
【図１】本発明の第１の実施の形態に係る画像処理装置の適用されるシステムを示すブロック図である。
【図２】図１に示すシステムにおける処理ユニットの機能構成を示すブロック図である。
【図３】図２に示す処理ユニットにおける描画処理部での処理の流れを示すフローチャートである。
【図４】図３に示す手順に従った処理でのビットシフトの状態を示す図である。
【図５】本発明の第２の実施の形態に係る画像処理装置における描画処理部での処理の流れを示すフローチャートである。
【図６】図５に示す手順に従った処理でのビットシフトの状態を示す図である。
【符号の説明】
【００４６】
１０  処理ユニット
２０  データ入力部
３０  画像出力ユニット
１０１  解析部
１０２  描画制御部
１０３  描画処理部
【図１】
2008124949.tif 000003
【図２】
2008124949.tif 000004
【図３】
2008124949.tif 000005
【図４】
2008124949.tif 000006
【図５】
2008124949.tif 000007
【図６】
2008124949.tif 000008