(57)【要約】【課題】高品位に階調を拡張することができる映像信号処理装置を提供する。【解決手段】記憶装置（ＲＯＭ３０）は、水平方向のドット数Ｈ×垂直方向のライン数Ｖ×フレーム方向の数Ｆのドット数よりなる３次元的なブロックで構成されたディザパターンを記憶する。各ドットに対応する記憶装置のアドレスには、ｎビットのディザ値の最小値から最大値までの各値が書き込まれている。記憶装置にディザ値の各値が書き込まれる際に、新たにディザ値を書き込むことができる各対象アドレスを中心とした３次元的な領域内における、書き込み済みアドレスの粗密の程度を示す時空間密度値を求める処理と、全ての対象アドレスのうち、時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とが、２次元的なブロックごとに実行される。これらの処理が実行される２次元的なブロックがフレーム方向に任意の順で巡回される。【選択図】図１
2020052098.tif 000002
【特許請求の範囲】
【請求項１】
水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを有するディザデータを記憶する記憶装置と、
フレーム方向の数Ｆの２次元的なディザパターンがフレーム周期Ｆで順に選択され、入力された第１のビット数を有する映像信号のフレームにおけるＨ×Ｖのドット数よりなる２次元的なブロックごとに、選択されたディザパターンを加算する加算器と、
前記加算器の出力におけるオーバフローをリミット処理し、前記第１のビット数のうちの下位のｎビットを削減した第２のビット数を有する映像信号を出力する下位ビット削減部と、
を備え、
Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する前記記憶装置のアドレスには、ｎビットのディザ値の最小値から最大値までの各値が書き込まれており、
前記記憶装置にｎビットのディザ値の各値が書き込まれる際に、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求める処理と、新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とが、前記３次元的なブロックの前記２次元的なブロックごとに実行され、
前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とが実行される前記２次元的なブロックがフレーム方向に任意の順で巡回されることにより、前記３次元的なブロックの各ドットにｎビットのディザ値の各値が割り当てられている
映像信号処理装置。
【請求項２】
水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを生成するディザパターン生成方法であり、
前記３次元的なブロックの前記２次元的なブロックごとに、
Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する記憶装置内のアドレスのうち、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求め、
新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込み、
前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とを実行する前記２次元的なブロックをフレーム方向に任意の順で巡回して、前記３次元的なブロックの各ドットに対応する前記記憶装置内のアドレスに、ｎビットのディザ値の最小値から最大値までの各値を任意の順番で書き込むことにより、前記記憶装置に、前記３次元的なディザパターンを有するディザデータを記憶させる
ディザパターン生成方法。
【請求項３】
コンピュータに、水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを生成する処理を実行させるディザパターン生成プログラムであり、
前記３次元的なブロックの前記２次元的なブロックごとに、
Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する記憶装置内のアドレスのうち、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求める処理と、
新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理と、
を実行させ、
さらに、前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とを実行させる前記２次元的なブロックをフレーム方向に任意の順で巡回させて、前記３次元的なブロックの各ドットに対応する前記記憶装置内のアドレスに、ｎビットのディザ値の最小値から最大値までの各値を任意の順番で書き込むことにより、前記記憶装置に、前記３次元的なディザパターンを有するディザデータを記憶させる処理を実行させる
ディザパターン生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像信号処理装置、ディザパターン生成方法、及びディザパターン生成プログラムに関する。
【背景技術】
【０００２】
ｍ及びｎを所定の整数として、（ｍ＋ｎ）ビットによる第１の階調数を有する映像信号が、ｍビットによる第２の階調数しか表現できないディスプレイに入力されることがある。この場合、ｍビットの映像信号にｎビット分の多階調化処理を施すことにより、擬似的に第１の階調数を表現することができる。擬似的な多階調化処理の１つとして、映像信号に複数のフレーム周期で繰り返されるディザパターンを有するディザデータを加算した後にビット数を削減するＦＲＣ（Frame Rate Control）と称される映像信号処理がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−５６７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般的な映像信号処理装置は、映像信号に、水平２ドット、垂直２ラインの４ドットよりなる互いに異なるディザパターンを４フレーム周期で加算して映像信号を擬似的に多階調化処理する。４ドットのディザパターンのディザデータを４フレーム周期で加算する映像信号処理装置によれば、擬似的に２ビット分の階調を拡張することができる。
【０００５】
拡張するビット数を２ビットよりも大きくするには、ディザパターンのブロックの大きさを４ドットよりも大きくし、互いに異なるディザパターンのディザデータを加算するフレーム周期を４フレームよりも長くすればよい。ところが、映像信号に、ディザパターンの１ブロックが大きく、フレーム周期の長いディザデータを加算すると、副作用が生じやすい。そこで、ディザデータの加算による副作用が生じにくく、高品位に階調を拡張することができるディザパターンとすることが求められる。
【０００６】
本発明は、ディザパターンのブロックが４ドットを超える大きさであって、ディザデータの加算による副作用が生じにくく、高品位に階調を拡張することができる映像信号処理装置、ディザパターン生成方法、及びディザパターン生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを有するディザデータを記憶する記憶装置と、フレーム方向の数Ｆの２次元的なディザパターンがフレーム周期Ｆで順に選択され、入力された第１のビット数を有する映像信号のフレームにおけるＨ×Ｖのドット数よりなる２次元的なブロックごとに、選択されたディザパターンを加算する加算器と、前記加算器の出力におけるオーバフローをリミット処理し、前記第１のビット数のうちの下位のｎビットを削減した第２のビット数を有する映像信号を出力する下位ビット削減部とを備え、Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する前記記憶装置のアドレスには、ｎビットのディザ値の最小値から最大値までの各値が書き込まれており、前記記憶装置にｎビットのディザ値の各値が書き込まれる際に、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求める処理と、新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とが、前記３次元的なブロックの前記２次元的なブロックごとに実行され、前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とが実行される前記２次元的なブロックがフレーム方向に任意の順で巡回されることにより、前記３次元的なブロックの各ドットにｎビットのディザ値の各値が割り当てられている映像信号処理装置を提供する。
【０００８】
本発明は、水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを生成するディザパターン生成方法であり、前記３次元的なブロックの前記２次元的なブロックごとに、Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する記憶装置内のアドレスのうち、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求め、新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込み、前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とを実行する前記２次元的なブロックをフレーム方向に任意の順で巡回して、前記３次元的なブロックの各ドットに対応する前記記憶装置内のアドレスに、ｎビットのディザ値の最小値から最大値までの各値を任意の順番で書き込むことにより、前記記憶装置に、前記３次元的なディザパターンを有するディザデータを記憶させるディザパターン生成方法を提供する。
【０００９】
本発明は、コンピュータに、水平方向のドット数をＨ、垂直方向のライン数をＶ、フレーム方向の数をＦとし、Ｈ×Ｖのドット数は４を超える数であり、Ｈ×Ｖのドット数よりなる２次元的なブロックは各ドットにｎビットのいずれかの値であるディザ値が設定された１つの２次元的なディザパターンとされており、前記２次元的なディザパターンがフレーム方向に数Ｆで配列した３次元的なブロックで構成された３次元的なディザパターンを生成する処理を実行させるディザパターン生成プログラムであり、前記３次元的なブロックの前記２次元的なブロックごとに、Ｈ×Ｖ×Ｆのドット数よりなる３次元的なブロックの各ドットに対応する記憶装置内のアドレスのうち、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれている書き込み済みアドレスの粗密の程度を示す時空間密度値を求める処理と、新たにディザ値を書き込むことができるアドレスのうち、前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とを実行させ、さらに、前記時空間密度値を求める処理と前記時空間密度値が最小のアドレスを選択してディザ値を書き込む処理とを実行させる前記２次元的なブロックをフレーム方向に任意の順で巡回させて、前記３次元的なブロックの各ドットに対応する前記記憶装置内のアドレスに、ｎビットのディザ値の最小値から最大値までの各値を任意の順番で書き込むことにより、前記記憶装置に、前記３次元的なディザパターンを有するディザデータを記憶させる処理を実行させるディザパターン生成プログラムを提供する。
【発明の効果】
【００１０】
本発明の映像信号処理装置、ディザパターン生成方法、及びディザパターン生成プログラムによれば、ディザパターンのブロックが４ドットを超える大きさであって、ディザデータの加算による副作用が生じにくく、高品位に階調を拡張することができる。
【図面の簡単な説明】
【００１１】
【図１】各実施形態の映像信号処理装置を示すブロック図である。
【図２】８フレーム周期のディザパターンの一例を示す図である。
【図３】各実施形態のディザパターン生成方法またはディザパターン生成プログラムで実行される処理の前提となる処理を示すフローチャートである。
【図４】記憶装置内の時空間密度値が最小のアドレスにディザ値を順に書き込んでいく処理を概念的に示す図である。
【図５】第１実施形態のディザパターン生成方法またはディザパターン生成プログラムで実行される処理を示すフローチャートである。
【図６】第１及び第２実施形態における対象アドレスを中心とした３次元的な領域の一例を示す図である。
【図７】第２実施形態のディザパターン生成方法またはディザパターン生成プログラムで実行される処理を示すフローチャートである。
【図８】第２実施形態における対象アドレスを中心とした３次元的な領域の他の例を示す図である。
【図９】第３実施形態における対象アドレスを中心とした３次元的な領域の一例を示す図である。
【図１０】第４実施形態のディザパターン生成方法またはディザパターン生成プログラムで実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、各実施形態の映像信号処理装置、ディザパターン生成方法、及びディザパターン生成プログラムについて、添付図面を参照して説明する。各実施形態の映像信号処理装置の構成は共通である。図１を用いて、各実施形態で共通の映像信号処理装置の構成及び動作を説明する。
【００１３】
図１において、各実施形態の映像信号処理装置は、タイミング生成部１０、ディザパターン生成部２０、ＲＡＭ３０、加算器４１〜４３、及び下位ビット削減部５１〜５３を備える。一例として、映像信号処理装置に入力される映像信号は１２ビットのＲ信号、Ｇ信号、及びＢ信号である。各実施形態の映像信号処理装置は、Ｒ信号、Ｇ信号、及びＢ信号に後述するディザパターンを加算した後に下位の８ビットを削減して４ビットのＲ信号、Ｇ信号、及びＢ信号を出力する。
【００１４】
タイミング生成部１０は、垂直同期信号に基づいてフレームをカウントするフレームカウンタ１１と、垂直同期信号及び水平同期信号に基づいて垂直方向のライン数をカウントする垂直カウンタ１２と、水平同期信号に基づいて水平方向のドット数をカウントする水平カウンタ１３とを有する。なお、垂直カウンタ１２は、垂直同期信号でカウント値をリセットし、水平同期信号をトリガにしてカウントアップする。
【００１５】
ＲＡＭ３０には、フレームカウンタ１１が生成するフレームカウント値の下位３ビットと、垂直カウンタ１２が生成する垂直カウント値の下位４ビットと、水平カウンタ１３が生成する水平カウント値の下位４ビットとを組み合わせた１１ビットの読み出しアドレスが供給される。ＲＡＭ３０は記憶装置の一例である。
【００１６】
ディザパターン生成部２０は、各実施形態のディザパターン生成方法を実行してディザパターンを生成する。ディザパターン生成部２０は、各実施形態のディザパターン生成プログラムを実行してディザパターンを生成する中央処理装置（ＣＰＵ）またはコンピュータであってもよい。
【００１７】
図２に示すように、ディザパターン生成部２０は、一例として、水平１６ドット、垂直１６ラインの２５６ドットよりなる８フレーム周期のディザパターンを生成する。８フレーム周期のディザパターンをディザパターンＤｐ１〜Ｄｐ８と称することとする。ディザパターンＤｐ１〜Ｄｐ８は互いにディザパターンが異なる。２次元的なブロックよりなるディザパターンＤｐ１〜Ｄｐ８がフレーム方向に配列して、ディザパターンＤｐ１〜Ｄｐ８の全体で、３次元的なブロックで構成されたディザパターンが形成される。
【００１８】
ディザパターンＤｐ１〜Ｄｐ８の各ドットは、１１ビットで表現できる２０４８個のアドレスによって指定することができる。そこで、ディザパターン生成部２０は、１１ビットの書き込みアドレスを生成してＲＡＭ３０に供給する。各実施形態においては、１２ビットの映像信号を４ビットに削減するため、拡張ビット数は８である。そこで、ディザパターン生成部２０は、ディザパターンＤｐ１〜Ｄｐ８の各ドットに８ビットのディザ値を割り当てたディザデータを生成する。即ち、各ドットのディザ値は０〜２５５のいずれかの値である。
【００１９】
ＲＡＭ３０は２０４８個のアドレスを有し、２０４８個のアドレスは、ディザパターンＤｐ１〜Ｄｐ８よりなる３次元的なブロックの各ドットに対応する。ディザパターン生成部２０は、ディザパターンＤｐ１〜Ｄｐ８の各ドットのディザ値を生成し、各ディザ値を書き込みアドレスによって指定されたアドレスに書き込む。よって、ＲＡＭ３０は、各ドットにディザ値が割り当てられたディザパターンＤｐ１〜Ｄｐ８を有するディザデータを保持する。
【００２０】
映像信号処理装置の起動時に、ディザパターン生成部２０は、ディザパターンＤｐ１〜Ｄｐ８を有するディザデータを生成してＲＡＭ３０に書き込む。ＲＡＭ３０に保持されたディザデータは、上記の１１ビットの読み出しアドレスによって読み出され、加算器４１〜４３に供給される。
【００２１】
図１においては、ディザパターンＤｐ１〜Ｄｐ８を有するディザデータを保持する記憶装置としてＲＡＭを用いているが、ディザパターン生成部２０が生成したディザパターンＤｐ１〜Ｄｐ８が予め書き込まれているＲＯＭを用いてもよい。記憶装置の種類は限定されない。記憶装置としてＲＯＭが用いられる場合、ディザパターン生成部２０は映像信号処理装置の外部に設けられる。
【００２２】
加算器４１〜４３は、入力された１２ビットのＲ信号、Ｇ信号、及びＢ信号に８ビットのディザデータを加算する。Ｒ信号、Ｇ信号、及びＢ信号に加算されるディザデータのディザパターンは、読み出しアドレスによってディザパターンＤｐ１〜Ｄｐ８より順に選択される。加算器４１〜４３は、各フレーム内の水平１６ドット、垂直１６ラインの２５６ドットを１ブロックとし、各ブロックに選択された２次元的なディザパターンのディザデータを加算する。
【００２３】
下位ビット削減部５１〜５３は、それぞれ、加算器４１〜４３の出力のオーバフローをリミット処理し、下位８ビットを削減して上位４ビットのＲ信号、Ｇ信号、及びＢ信号を出力する。
【００２４】
例えば、１２ビットのＲ信号、Ｇ信号、及びＢ信号の下位８ビットが１２８であり、加算されるディザデータが０〜１２７のいずれかであったとする。この場合、加算器４１〜４３による加算結果は２５５以下となるから、上位ビットに繰り上がらない。１２ビットのＲ信号、Ｇ信号、及びＢ信号の下位ビットが１２８であり、加算されるディザデータが１２８〜２５５のいずれかであったとする。この場合、加算器４１〜４３による加算結果は２５６以上となるから、上位ビットに繰り上がる。
【００２５】
ディザデータのディザ値０〜２５５の各頻度が均一であれば、上位ビットに繰り上がらない場合と繰り上がる場合との確率が５０％：５０％となる。よって、下位ビット削減部５１〜５３が、下位８ビットの１２８を削減して入力されたＲ信号、Ｇ信号、及びＢ信号が元々有する上位４ビットをそのまま出力する場合と、＋１加算された上位４ビットを出力する場合との確率が５０％：５０％となる。これにより、平均的に０．５が表現される。
【００２６】
上記の説明では下位８ビットが１２８である場合を例としたが、下位８ビットは０〜２５５のいずれかの値であるから、０〜２５５の全体で考えると次のようになる。１２ビットのＲ信号、Ｇ信号、及びＢ信号の下位８ビットの０〜２５５にディザ値０〜２５５を有するディザデータが加算されて、下位８ビットが上位ビットに繰り上がる頻度は、０／２５６〜２５５／２５６のうちのいずれかとなる。即ち、加算器４１〜４３及び下位ビット削減部５１〜５３の処理によって、８ビットのビット拡張が可能となる。
【００２７】
下位ビット削減部５１〜５３より出力されるＲ信号、Ｇ信号、及びＢ信号は４ビットであるものの、８ビットのビット拡張によって擬似的に１２ビットの階調数が表現される。
【００２８】
次に、ディザデータの加算による副作用が生じにくく、高品位に階調を拡張するために、ディザパターンＤｐ１〜Ｄｐ８はどのようなパターンとすることが必要であるかについて説明する。
【００２９】
ディザパターンＤｐ１〜Ｄｐ８に求められる条件は、
条件１：１つのディザパターン内でディザ値０〜２５５が極力均一に分散していること、
条件２：ディザパターンＤｐ１〜Ｄｐ８の各位置におけるフレーム方向のディザ値が極力分散した値であること、
である。
【００３０】
より好ましい条件は、条件１及び２に加えて、
条件３：ディザパターンが加算されたＲ信号、Ｇ信号、及びＢ信号のフレーム内においてブロックの境界が視認されず、ブロックの境界における視覚的な違和感がほとんどないこと、
条件４：ディザパターンＤｐ１〜Ｄｐ８よりなる３次元的なブロックが加算されたＲ信号、Ｇ信号、及びＢ信号のフレーム方向において、ディザパターンのフレーム周期の境界がほとんど視認されず、フレーム方向の周期性（具体的にはフリッカ妨害）をほとんど認識できないこと、
である。
【００３１】
図３及び図４を用いて、少なくとも上記の条件１及び２を満たすようにディザパターンＤｐ１〜Ｄｐ８を生成するための具体的な生成方法を説明する。図３及び図４は、各実施形態のディザパターン生成方法またはディザパターン生成プログラムで実行される処理の前提となる処理を示している。
【００３２】
図３において、ディザパターン生成部２０は、ステップＳ１にて、ＲＡＭ３０の２０４８個の全てのアドレスにディザ値０を書き込む。ディザパターン生成部２０は、ステップＳ２にて、カウンタをリセットしてカウント値を０とし、ディザ値を２５５に設定する。ディザパターン生成部２０は、ステップＳ３にて、ディザ値が０であるアドレスにおける時空間密度値を算出して、時空間密度値が最小のアドレスを探索する。
【００３３】
時空間密度値とは、ＲＡＭ３０のアドレスに新たにディザ値を書き込もうとするときに、新たにディザ値を書き込むことができる各アドレスを中心とした３次元的な所定の領域内における、既にディザ値が書き込まれているアドレス（以下、書き込み済みアドレス）の粗密の程度を示す値である。時空間密度値の詳細については後述する。新たにディザ値を書き込むことができるアドレスとはディザ値０が書き込まれているアドレスである。図３に示す例では、ＲＡＭ３０の全てのアドレスに予めディザ値０が書き込まれているので、最初は全てのアドレスに対してディザ値の書き込みが可能であり、以降のステップの繰り返しによりディザ値が順次書き込まれる。
【００３４】
ディザパターン生成部２０は、ステップＳ４にて、ステップＳ３で得られたＲＡＭ３０のアドレスにディザ値を書き込む。ステップＳ４ではまずディザ値として２５５が書き込まれる。ディザパターン生成部２０は、ステップＳ５にて、カウント値を１インクリメントし、ステップＳ６にて、カウント値は８であるか否かを判定する。カウント値が８でなければ（NO）、ディザパターン生成部２０は、ステップＳ３〜Ｓ６の処理を繰り返す。即ち、ＲＡＭ３０には、ステップＳ３で順次求められた８つのアドレスにディザ値２５５が書き込まれる。
【００３５】
ステップＳ６にてカウント値が８であれば（YES）、ディザパターン生成部２０は、ステップＳ７にて、カウンタをリセットしてカウント値を０とし、ディザ値を１デクリメントする。ディザパターン生成部２０は、ステップＳ８にて、ディザ値は０であるか否かを判定する。ディザ値が０でなければ（NO）、ディザパターン生成部２０は、ステップＳ３〜Ｓ８の処理を繰り返す。
【００３６】
即ち、ＲＡＭ３０には、ディザ値２５４が８回書き込まれ、次に、ディザ値２５３が８回書き込まれ、以下同様に、ディザ値１が８回書き込まれるまでディザ値を書き込む処理が繰り返される。これにより、ＲＡＭ３０に、３次元的なブロックで構成されたディザパターンを有するディザデータが記憶される。
【００３７】
ディザ値０は予め書き込まれているので、ステップＳ８にてディザ値が０であれば（YES）、ディザパターン生成部２０は処理を終了させる。
【００３８】
以上の処理によって、ＲＡＭ３０の２０４８個のアドレスには、ディザ値０〜２５５の各値が８回ずつ書き込まれた状態となる。ＲＡＭ３０のアドレスの個数が２０４８であり、拡張ビット数が８ビットであるから、ディザ値０〜２５５の各値は２０４８個のアドレスに均等に割り当てるためそれぞれ２０４８／８＝８回ずつ書き込まれる。
【００３９】
図４は、時空間密度値が最小のアドレスにディザ値を順に書き込んでいく処理を概念的に示している。図４において、ＲＡＭ３０の２０４８個のアドレスが１次元で示されている。時空間密度値が最小のアドレスが選択されることにより、書き込み済みアドレスができるだけ存在しない３次元的に粗の状態の領域よりアドレスが選択されて、新たなディザ値が書き込まれる。
【００４０】
図４において、まずＲＡＭ３０には８つのディザ値２５５が書き込まれる。８つのディザ値２５５は、２０４８個のアドレスのうち、時空間密度値が最小のアドレスが順に選択されて書き込まれるから、８つのディザ値２５５は１つのディザパターン内及びフレーム方向に均一に分散する。なお、図４において、空白部分のアドレスにはディザ値０が書き込まれている。
【００４１】
次に、ＲＡＭ３０には８つのディザ値２５４が書き込まれる。同様に、８つのディザ値２５４は、残る２０４０個のアドレスのうち、時空間密度値が最小のアドレスが順に選択されて書き込まれるから、８つのディザ値２５４は１つのディザパターン内及びフレーム方向にほぼ均一に分散する。
【００４２】
それ以降同様に、ディザ値２５３からディザ値１まで、ディザ値０のまま残っていて新たにディザ値を書き込むことができるアドレスのち、時空間密度値が最小のアドレスが順に選択されて各ディザ値が書き込まれる。以上の処理によって、上記の条件１及び２が達成される。
【００４３】
比較例として、ディザ値を書き込むアドレスを擬似乱数生成器によって生成した擬似乱数を用いてランダムに選択することが考えられる。しかしながら、擬似乱数生成器は、隣接するアドレス、または近傍のアドレスを連続して生成することがあり、条件１及び２を達成することはできない。
【００４４】
図３に示す例では、ステップＳ１にてＲＡＭ３０の２０４８個全てのアドレスにディザ値０を書き込み、ディザ値２５５からディザ値１までの降順で各ディザ値を書き込んでいるが、これは処理の単なる一例である。ＲＡＭ３０のアドレスに８ビットのディザ値の最小値から最大値までの各値を書き込む順番は任意である。
【００４５】
上記の条件３及び４を達成するための、時空間密度値の好ましい算出方法を説明する。ＲＡＭ３０のアドレスを（ｆ，ｖ，ｈ）で表す。ｆはディザパターンＤｐ１〜Ｄｐ８のフレームの位置であり、ｆ＝０〜７とする。ｖは垂直１６ラインのライン位置であり、ｖ＝０〜１５とする。ｈは、水平１６ドットのドット位置であり、ｈ＝０〜１５とする。
【００４６】
ディザパターン生成部２０は、ディザ値０以外の書き込み済みアドレスのデータを１、それ以外のアドレスのデータを０として、３次元ローパスフィルタ（以下、３次元ＬＰＦ）によるフィルタリング処理を施す。ＬＰＦは例えばガウシアンフィルタである。具体的には、ディザパターン生成部２０は、式（１）に基づき、３次元ＬＰＦのカーネル関数とアドレスのデータとを３次元畳み込み演算して、時空間密度値Ｄ（ｆ，ｖ，ｈ）を算出する。
【００４７】
【数１】
2020052098.tif 000003
【００４８】
式（１）において、Ｋ（ｉ，ｊ，ｋ）は３次元ＬＰＦのカーネル関数である。ｉ、ｊ、及びｋは、それぞれ、時空間密度値Ｄ（ｆ，ｖ，ｈ）を算出しようとするアドレス（ｆ，ｖ，ｈ）を中心とした３次元的な領域のフレーム方向の範囲、垂直方向の範囲、及び水平方向の範囲を決める数である。一例として、ｉ＝−４〜４、ｊ＝−８〜８、ｋ＝−８〜８であり、３次元的な領域は所定の領域であればよい。
【００４９】
なお、３次元ＬＰＦとしてガウシアンフィルタが用いられる場合のカーネル関数Ｋ（ｉ，ｊ，ｋ）は式（２）のとおりである。式（２）においてσは標準偏差であり、具体的な数値は設計値でよい。
【００５０】
【数２】
2020052098.tif 000004
【００５１】
ディザパターンＤｐ１〜Ｄｐ８の各ブロックはフレーム内で繰り返し使用され、ディザパターンＤｐ１〜Ｄｐ８の３次元的なブロックはフレーム方向に繰り返し使用される。ａのｂによる剰余をｍｏｄ（ａ，ｂ）と表現することとする。よって、ｍｏｄ（ｆ＋ｉ＋８，８）は（ｆ＋ｉ＋８）をディザパターンのフレーム周期である８で除算したときの第１の剰余、ｍｏｄ（ｖ＋ｉ＋１６，１６）は（ｖ＋ｉ＋１６）を垂直方向の周期（ライン数）である１６で除算したときの第２の剰余、ｍｏｄ（ｈ＋ｉ＋１６，１６）は（ｈ＋ｉ＋１６）を水平方向の周期（ドット数）である１６で除算したときの第３の剰余を意味する。
【００５２】
Ｑ（ｆ，ｖ，ｈ）は、ＲＡＭ３０のアドレス（ｆ，ｖ，ｈ）にディザ値０以外のディザ値が書き込まれているときに１、ディザ値０である初期値のままであるときに０を返す関数（以下、関数Ｑ）である。ｍｏｄ（ｆ＋ｉ＋８，８）、ｍｏｄ（ｖ＋ｊ＋１６，１６）、及びｍｏｄ（ｈ＋ｋ＋１６，１６）で得られるアドレスを（ｆ’，ｖ’，ｈ’）とする。
【００５３】
よって、式（１）におけるＱ（ｍｏｄ（ｆ＋ｉ＋８，８），ｍｏｄ（ｖ＋ｊ＋１６，１６），ｍｏｄ（ｈ＋ｋ＋１６，１６））は、アドレス（ｆ’，ｖ’，ｈ’）にディザ値０以外のディザ値が書き込まれているときに１、ディザ値０のままであるときに０を返すことを意味する。
【００５４】
このように、各アドレスにおける時空間密度値Ｄ（ｆ，ｖ，ｈ）を算出するとき、（ｆ＋ｉ＋８）、（ｖ＋ｊ＋１６）、（ｈ＋ｋ＋１６）の値をそれぞれディザパターンのフレーム周期、ライン数、ドット数で剰余演算することによって得られる各アドレスに１または０が割り当てられる。そして、各アドレスの１または０に３次元ＬＰＦのカーネル関数Ｋ（ｉ，ｊ，ｋ）が乗算されて、時空間密度値Ｄ（ｆ，ｖ，ｈ）が得られる。図３のステップＳ３において、時空間密度値Ｄ（ｆ，ｖ，ｈ）が最小のアドレスが探索される。
【００５５】
剰余演算を用いることなく時空間密度値が最小のアドレスを探索してディザ値を書き込むと、フレーム内において上下左右の端部のアドレスが、時空間密度値が最小のアドレスとして選択されやすくなる。また、フレーム方向において、フレーム方向の端部であるディザパターンＤｐ１またはＤｐ８内に位置するアドレスが、時空間密度値が最小のアドレスとして選択されやすくなる。
【００５６】
すると、フレーム内のブロックの境界が視認されてブロックの境界における視覚的な違和感が発生しやすくなる。また、ディザパターンＤｐ１〜Ｄｐ８よりなる３次元的なブロックのフレーム周期の境界が視認されて、フリッカ妨害として認識されやすくなる。
【００５７】
関数Ｑにおいて剰余演算を用いることにより、ディザパターン内の上下左右の端部のアドレスが、時空間密度値が最小のアドレスとして選択されやすくなるということを回避できる。また、フレーム方向における端部のディザパターン内に位置するアドレスが、時空間密度値が最小のアドレスとして選択されやすくなるということを回避できる。これにより、上記の条件３及び４が達成される。
【００５８】
ところで、関数Ｑで得られる１または０にカーネル関数Ｋ（ｉ，ｊ，ｋ）が乗算される３次元的な領域を決めるｉ、ｊ、及びｋを、ｉ＝−ｐ〜ｐ、ｊ＝−ｑ〜ｑ、ｋ＝−ｒ〜ｒと一般化する。ｐ、ｑ、及びｒは所定の数である。ディザパターンのフレーム方向の数（フレーム周期）をＦ、垂直方向のライン数をＶ、水平方向のドット数をＨと一般化する。Ｆ、Ｖ、及びＨは所定の数である。これらの一般化によって、式（１）を式（３）で表すことができる。
【００５９】
【数３】
2020052098.tif 000005
【００６０】
以上説明した本実施形態においては、ディザパターンの３次元的なブロックの水平方向のドット数Ｈを１６、垂直方向のライン数Ｖを１６、フレーム方向の数Ｆを８としているが、これに限定されない。１つのディザパターンのＨ×Ｖのドット数は４を超える数である。本発明者による検証によって、Ｈ＝１６、Ｖ＝１６だけでなく、Ｈ＝３２、Ｖ＝３２としても、副作用のより少ない非常に高品位な多階調化が実現できることが確認されている。
【００６１】
フレーム方向の数Ｆは、映像信号のフレームレートが５０〜６０ｆｐｓ（frame per second）であれば４〜８が好ましく、フレームレートが１００〜１２０ｆｐｓであれば８〜１６が好ましいことが実験的に確認されている。ディザパターン生成部２０は、映像信号のフレームレートに応じてフレーム方向の数Ｆを切り替えるように構成されていてもよい。図１に示す映像信号処理装置が、映像信号を表示するときのフレームレートを切り替えることができる表示装置に用いられる場合、ディザパターン生成部２０はフレームレートに応じてフレーム方向の数Ｆを切り替えることが好ましい。
【００６２】
記憶装置がＲＯＭで構成される場合、ＲＯＭに複数のフレームレートに対応したフレーム方向の数Ｆのディザデータが保存されてもよいし、各フレームレートに対応したフレーム方向の数Ｆのディザデータが保存された複数のＲＯＭを備えてもよい。
【００６３】
Ｈ＝１６、Ｖ＝１６、Ｆ＝８、ディザ値のビット数（拡張ビット数）ｎを８とすると、ＲＡＭ３０の容量は２０４８×８ビットの容量でよい。Ｈ＝３２、Ｖ＝３２、Ｆ＝８、ｎ＝８とすると、ＲＡＭ３０の容量は８１９２×８ビットの容量でよい。いずれの場合も、ＲＡＭ３０の容量は比較的小容量である。
【００６４】
なお、Ｈ＝３２、Ｖ＝３２、Ｆ＝８、ｎ＝８であるとき、ＲＡＭ３０の８１９２個のアドレスには、ディザ値０〜２５５の各値が８１９２／２５６より３２回ずつ書き込まれる。図３のステップＳ６では、カウント値が３２であるか否かを判定すればよい。
【００６５】
以上説明した図３に示す処理によって、ＲＡＭ３０には、各ディザ値が１つのディザパターン内及びフレーム方向にほぼ均一に分散して書き込まれる。ところが実際には、同じディザ値が１つのディザパターン内において上下または左右に隣接したアドレスに書き込まれることがある。また、同じディザ値がフレーム方向に隣接したアドレスに書き込まれることがある。
【００６６】
次に、同じディザ値が１つのディザパターン内またはフレーム方向に隣接したアドレスに書き込まれる確率を低減でき、各ディザ値を１つのディザパターン内及びフレーム方向により均一に分散させることができる各実施形態の処理を説明する。
【００６７】
＜第１実施形態＞
図５は、ディザパターン生成部２０が、第１実施形態のディザパターン生成方法、または、第１実施形態のディザパターン生成プログラムを実行してディザパターンを生成する処理を示している。
【００６８】
図５において、ディザパターン生成部２０は、ステップＳ１１にて、ＲＡＭ３０の２０４８個の全てのアドレスにディザ値０を書き込む。ディザパターン生成部２０は、ステップＳ１２にて、カウンタをリセットしてカウント値を０とし、ディザ値を２５５に設定する。
【００６９】
ディザパターン生成部２０は、ステップＳ１３にて、ＲＡＭ３０の２０４８個のアドレスの各アドレスを順に対象アドレスとし、各対象アドレスの隣接アドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスを除外アドレスに設定する。
【００７０】
対象アドレスの隣接アドレスとは、図６に示すように、ディザパターンＤｐ１〜Ｄｐ８それぞれにおける対象アドレスの左、右、上、または下に位置するアドレス、または、フレーム方向に隣接した前後のアドレスである。図６において、太実線で囲んだアドレスＡｔｇｔは、ディザパターンＤｐ１〜Ｄｐ８のうちのいずれかであるディザパターンＤｐｉ内に位置している任意の対象アドレスである。図６に示す対象アドレスＡｔｇｔの左、右、上、下、前、及び後のアドレスは、対象アドレスＡｔｇｔを中心とした３次元的な所定の領域を構成している。
【００７１】
ディザパターン生成部２０は、書き込み済みアドレスの数に応じて、対象アドレスを除外アドレスに設定する条件を異ならせることが好ましい。一例として、ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／８以下であれば、対象アドレスの左、右、上、下、前、後に位置するアドレスのうちの１つでもディザ値０以外のディザ値が書き込まれていれば、その対象アドレスを除外アドレスに設定する。
【００７２】
また、ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／８を超えて１／４以下であれば、対象アドレスの左及び右、上及び下、前及び後に位置するアドレスのうちの少なくとも１つの組のアドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスを除外アドレスに設定する。
【００７３】
ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／４を超えれば、対象アドレスの隣接アドレスがどのような状態であっても対象アドレスを除外アドレスに設定しない。
【００７４】
第１実施形態においては、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数以下である場合には、書き込み済みアドレスの数が少なくとも第２の数であれば、対象アドレスを、時空間密度値を求める対象のアドレスから除外している。ここでは、第１の数を全アドレスのうちの１／８とし、第２の数を１としている。
【００７５】
また、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数を超えて第３の数以下である場合には、書き込み済みアドレスの数が少なくとも第４の数であれば、対象アドレスを、時空間密度値を求める対象のアドレスから除外している。ここでは、第３の数を全アドレスのうちの１／４とし、第４の数を２としている。但し、第１実施形態における第４の数の２とは、対象アドレスを挟んで対称の位置にある２つのアドレスである。
【００７６】
ディザパターン生成部２０は、ステップＳ１４にて、ステップＳ１３にて設定した除外アドレスを除き、ディザ値が０であるアドレスにおける時空間密度値を算出して、時空間密度値が最小のアドレスを探索する。
【００７７】
第１実施形態においては、対象アドレスの隣接アドレスにディザ値０以外のディザ値が書き込まれていれば、仮にその対象アドレスにおける時空間密度値が最小であったとしても除外されるから、時空間密度値が最小のアドレスとして選択されなくなる。第１実施形態における除外アドレスを設定する処理は、隣接アドレスにディザ値０以外のディザ値が書き込まれている対象アドレスを、究極的に、時空間密度値が最小のアドレスとして選択されにくくする処理である。
【００７８】
ディザパターン生成部２０は、ステップＳ１５にて、ステップＳ１４で得られたＲＡＭ３０のアドレスにディザ値を書き込む。ステップＳ１５ではまずディザ値として２５５が書き込まれる。ディザパターン生成部２０は、ステップＳ１６にて、カウント値を１インクリメントし、ステップＳ１７にて、カウント値は８であるか否かを判定する。カウント値が８でなければ（NO）、ディザパターン生成部２０は、ステップＳ１３〜Ｓ１７の処理を繰り返す。
【００７９】
ステップＳ１７にてカウント値が８であれば（YES）、ディザパターン生成部２０は、ステップＳ１８にて、カウンタをリセットしてカウント値を０とし、ディザ値を１デクリメントする。ディザパターン生成部２０は、ステップＳ１９にて、ディザ値は０であるか否かを判定する。ディザ値が０でなければ（NO）、ディザパターン生成部２０は、ステップＳ１３〜Ｓ１９の処理を繰り返す。
【００８０】
ステップＳ１９にてディザ値が０であれば（YES）、ディザパターン生成部２０は処理を終了させる。
【００８１】
図５において、ステップＳ１３は、対象アドレスを中心とした３次元的な領域内における書き込み済みアドレスの数を求める第１の処理を含む。ステップＳ１４は、対象アドレスを中心とした３次元的な領域内における、書き込み済みアドレスの粗密の程度を示す時空間密度値を求める第２の処理を含む。ステップＳ１３における３次元的な領域とステップＳ１４における３次元的な領域とは同じでなくてよい。
【００８２】
ステップＳ１３は、第１の処理によって求められた書き込み済みアドレスの数に応じて、対象アドレスが、時空間密度値が最小のアドレスとして選択されにくくする第３の処理を含む。ステップＳ１４は、第３の処理を実行した上で、全ての前記対象アドレスのうち、時空間密度値が最小のアドレスを選択する第４の処理を含む。ステップＳ１５は、空間密度値が最小のアドレスとして選択された対象アドレスにディザ値を書き込む第５の処理である。
【００８３】
ディザパターン生成部２０は、ステップＳ１１及びＳ１２に続けて、第１〜第５の処理を含むステップＳ１３〜Ｓ１９を繰り返す第６の処理を実行することにより、ＲＡＭ３０を、ディザ値２５５からディザ値０までの各ディザ値が８つずつ書き込まれた状態とすることができる。これにより、ＲＡＭ３０に、３次元的なディザパターンを有するディザデータが記憶される。
【００８４】
＜第２実施形態＞
図７は、ディザパターン生成部２０が、第２実施形態のディザパターン生成方法、または、第２実施形態のディザパターン生成プログラムを実行してディザパターンを生成する処理を示している。
【００８５】
図７において、ディザパターン生成部２０は、ステップＳ２１にて、ＲＡＭ３０の２０４８個の全てのアドレスにディザ値０を書き込む。ディザパターン生成部２０は、ステップＳ２２にて、カウンタをリセットしてカウント値を０とし、ディザ値を２５５に設定する。
【００８６】
ディザパターン生成部２０は、ステップＳ２３にて、ＲＡＭ３０の２０４８個のアドレスの各アドレスを順に対象アドレスとし、各対象アドレスの隣接アドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスに所定の係数を設定する。対象アドレスの隣接アドレスとは、図６に示すように、ディザパターンＤｐ１〜Ｄｐ８それぞれにおける対象アドレスの左、右、上、または下に位置するアドレス、または、フレーム方向に前後のアドレスである。
【００８７】
図８に示すように、ディザパターンＤｐ１〜Ｄｐ８それぞれにおいて、対象アドレスの斜め方向（右斜め上、右斜め下、左斜め上、または左斜め下）に位置するアドレスを隣接アドレスに加えてもよい。図８においては、対象アドレスＡｔｇｔの左、右、上、下、右斜め上、右斜め下、左斜め上、左斜め下、前、及び後のアドレスが、対象アドレスＡｔｇｔを中心とした３次元的な所定の領域を構成している。
【００８８】
ディザパターン生成部２０は、書き込み済みアドレスの数に応じて、対象アドレスに設定する係数の係数値を異ならせることが好ましい。一例として、ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／８以下であれば、対象アドレスの左、右、上、下、前、後に位置するアドレスのうちの１つでもディザ値０以外のディザ値が書き込まれていれば、その対象アドレスに第１の係数値を有する第１の係数を設定する。第１の係数値は１を超える数であり、例えば１．１である。
【００８９】
対象アドレスの斜め方向に位置するアドレスを隣接アドレスに加える場合、ディザパターン生成部２０は、対象アドレスの斜め方向の隣接アドレスにディザ値０以外のディザ値が書き込まれているとき、対象アドレスに係数を設定する。このときの係数値は１．１より小さい係数値とするのがよい。
【００９０】
また、ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／８を超えて１／４以下であれば、対象アドレスの左及び右、上及び下、前及び後に位置するアドレスのうちの少なくとも１つの組のアドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスに第１の係数値よりも大きい第２の係数値を有する第２の係数を設定する。第２の係数値は第１の係数値より大きい数であり、例えば１．２である。
【００９１】
対象アドレスの斜め方向に位置するアドレスを隣接アドレスに加える場合、ディザパターン生成部２０は、対象アドレスの右斜め上及び左斜め下の組、または右斜め下及び左斜め上の組のアドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスに係数を設定する。このときの係数値は１．２より小さく１．１より大きい係数値とするのがよい。
【００９２】
ディザパターン生成部２０は、書き込み済みアドレスの数が全てのアドレスのうちの１／４を超えれば、対象アドレスの隣接アドレスがどのような状態であっても対象アドレスに係数を設定しない。
【００９３】
第２実施形態においては、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数以下である場合には、書き込み済みアドレスの数が少なくとも第２の数であれば、対象アドレスに第１の係数を設定する。ここでは、第１の数を全アドレスのうちの１／８とし、第２の数を１としている。
【００９４】
また、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数を超えて第３の数以下である場合には、書き込み済みアドレスの数が少なくとも第４の数であれば、対象アドレスに第２の係数を設定する。ここでは、第３の数を全アドレスのうちの１／４とし、第４の数を２としている。但し、第２実施形態における第４の数の２とは、対象アドレスを挟んで対称の位置にある２つのアドレスである。
【００９５】
ディザパターン生成部２０は、ステップＳ２４にて、ディザ値が０であるアドレスにおける時空間密度値を算出し、係数が設定されているアドレスにおいては算出された時空間密度値に係数を乗算して、時空間密度値が最小のアドレスを探索する。
【００９６】
第２実施形態においては、対象アドレスの隣接アドレスにディザ値０以外のディザ値が書き込まれていれば、その対象アドレスに１を超える係数値の係数が設定される。これにより、その対象アドレスの時空間密度値に係数値が乗算されて時空間密度値が増大するから、時空間密度値が最小のアドレスとして選択されにくくなる。
【００９７】
ディザパターン生成部２０は、ステップＳ２５にて、ステップＳ２４で得られたＲＡＭ３０のアドレスにディザ値を書き込む。ディザパターン生成部２０は、ステップＳ２６にて、カウント値を１インクリメントし、ステップＳ２７にて、カウント値は８であるか否かを判定する。カウント値が８でなければ（NO）、ディザパターン生成部２０は、ステップＳ２３〜Ｓ２７の処理を繰り返す。
【００９８】
ステップＳ２７にてカウント値が８であれば（YES）、ディザパターン生成部２０は、ステップＳ２８にて、カウンタをリセットしてカウント値を０とし、ディザ値を１デクリメントする。ディザパターン生成部２０は、ステップＳ２９にて、ディザ値は０であるか否かを判定する。ディザ値が０でなければ（NO）、ディザパターン生成部２０は、ステップＳ２３〜Ｓ２９の処理を繰り返す。
【００９９】
ステップＳ２９にてディザ値が０であれば（YES）、ディザパターン生成部２０は処理を終了させる。
【０１００】
図７において、ステップＳ２３は、対象アドレスを中心とした３次元的な領域内における書き込み済みアドレスの数を求める第１の処理を含む。ステップＳ２４は、対象アドレスを中心とした３次元的な領域内における、書き込み済みアドレスの粗密の程度を示す時空間密度値を求める第２の処理を含む。ステップＳ２３における３次元的な領域とステップＳ２４における３次元的な領域とは同じでなくてよい。
【０１０１】
ステップＳ２３及びＳ２４は、第１の処理によって求められた書き込み済みアドレスの数に応じて、対象アドレスが、時空間密度値が最小のアドレスとして選択されにくくする第３の処理を含む。ステップＳ２４は、第３の処理を実行した上で、全ての前記対象アドレスのうち、時空間密度値が最小のアドレスを選択する第４の処理を含む。ステップＳ２５は、空間密度値が最小のアドレスとして選択された対象アドレスにディザ値を書き込む第５の処理である。
【０１０２】
ディザパターン生成部２０は、ステップＳ２１及びＳ２２に続けて、第１〜第５の処理を含むステップＳ２３〜Ｓ２９を繰り返す第６の処理を実行することにより、ＲＡＭ３０を、ディザ値２５５からディザ値０までの各ディザ値が８つずつ書き込まれた状態とすることができる。これにより、ＲＡＭ３０に、３次元的なディザパターンを有するディザデータが記憶される。
【０１０３】
＜第３実施形態＞
上述した第１及び第２実施形態においては、対象アドレスの隣接アドレスを、図６または図８のように定義したが、図９のように定義してもよい。図９においては、対象アドレスＡｔｇｔを中心とした水平及び垂直方向にｐのｐ×ｐのアドレスと、対象アドレスＡｔｇｔのフレーム方向に隣接した前及び後に位置するｐ×ｐのアドレスとが、対象アドレスＡｔｇｔを中心とした３次元的な所定の領域を構成している。ｐは３以上の整数である。
【０１０４】
第３実施形態において、ディザパターン生成部２０は、第１実施形態と同様に、ディザ値が書き込まれた対象アドレスの数が第１の数以下である場合には、書き込み済みアドレスの数が少なくとも第２の数であれば、対象アドレスを、時空間密度値を求める対象のアドレスから除外すればよい。第２の数は適宜に設定すればよい。
【０１０５】
また、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数を超えて第３の数以下である場合には、書き込み済みアドレスの数が少なくとも第４の数であれば、対象アドレスを、時空間密度値を求める対象のアドレスから除外すればよい。第４の数は適宜に設定すればよい。
【０１０６】
さらに、第３実施形態において、ディザパターン生成部２０は、第２実施形態と同様に、ディザ値が書き込まれた対象アドレスの数が第１の数以下である場合には、書き込み済みアドレスの数が少なくとも第２の数であれば、対象アドレスに第１の係数を設定すればよい。また、ディザパターン生成部２０は、ディザ値が書き込まれた対象アドレスの数が第１の数を超えて第３の数以下である場合には、書き込み済みアドレスの数が少なくとも第４の数であれば、対象アドレスに第２の係数を設定すればよい。
【０１０７】
第３実施形態における第２の数または第４の数は、対象アドレスを挟んで対称の位置にある２つのアドレスを組とした数でなくてもよい。対象アドレスの周囲に位置する２６個のアドレスのうちの任意の位置の書き込み済みアドレスの数を第２の数または第４の数としてもよい。
【０１０８】
次に、ディザパターン生成部２０における演算量を少なくすることができる第４実施形態の処理を説明する。
【０１０９】
＜第４実施形態＞
図１０において、ディザパターン生成部２０は、ステップＳ４１にて、ＲＡＭ３０の２０４８個の全てのアドレスにディザ値０を書き込む。ディザパターン生成部２０は、ステップＳ２２にて、カウンタをリセットしてカウント値を０とし、ディザ値を２５５に設定する。
【０１１０】
ディザパターン生成部２０は、ステップＳ４３にて、現在のフレーム値におけるアドレスにおいて、ディザ値が０であるアドレスにおける時空間密度値を算出して、時空間密度値が最小のアドレスを探索する。フレーム値とは８フレーム周期のディザパターンＤｐ１〜Ｄｐ８のうちのいずれかを選択するカウント値である。
【０１１１】
ディザパターン生成部２０は、ステップＳ４４にて、ステップＳ４３で得られたＲＡＭ３０のアドレスにディザ値を書き込む。ディザパターン生成部２０は、ステップＳ４５にて、フレーム値を３インクリメントする。ディザパターン生成部２０は、フレーム値を３インクリメントした値が８以上であれば、８デクリメントする。
【０１１２】
ディザパターン生成部２０は、ステップＳ４６にて、カウント値を１インクリメントし、ステップＳ４７にて、カウント値は８であるか否かを判定する。カウント値が８でなければ（NO）、ディザパターン生成部２０は、ステップＳ４３〜Ｓ４７の処理を繰り返す。
【０１１３】
ステップＳ４７にてカウント値が８であれば（YES）、ディザパターン生成部２０は、ステップＳ４８にて、カウンタをリセットしてカウント値を０とし、ディザ値を１デクリメントする。ディザパターン生成部２０は、ステップＳ４９にて、ディザ値は０であるか否かを判定する。ディザ値が０でなければ（NO）、ディザパターン生成部２０は、ステップＳ４３〜Ｓ４９の処理を繰り返す。
【０１１４】
ステップＳ４９にてディザ値が０であれば（YES）、ディザパターン生成部２０は処理を終了させる。
【０１１５】
図１０に示す第４実施形態によれば、時空間密度値が最小のアドレスを探索する処理と、時空間密度値が最小のアドレスにディザ値を書き込む処理とが、ＲＡＭ３０のアドレスの３次元的なブロックにおける２次元的なブロックごとに実行される。よって、時空間密度値が最小のアドレスを探索する処理の演算量は１／８となる。
【０１１６】
図１０に示す例では、フレーム値は、８フレームの期間をかけて、０→３→６→１→４→７→２→５→０…のように巡回する。これを第１の巡回例とする。フレーム値の巡回のさせ方は第１の巡回例に限定されない。第２の巡回例として、０→５→２→７→４→１→６→３→０…と巡回させてもよいし、第３の巡回例として、０→１→２→３→４→５→６→７→０…と巡回させてもよい。２次元的なブロックをフレーム方向に巡回させる順は任意の順でよい。
【０１１７】
第４実施形態によれば、ディザデータの加算による副作用が生じにくく、高品位に階調を拡張することができるディザパターンを少ない演算量で生成することができる。
【０１１８】
第４実施形態を、第１〜第３実施形態と組み合わせてもよい。第４実施形態を第１〜第３実施形態と組み合わせることにより、各ディザ値を１つのディザパターン内及びフレーム方向により均一に分散させることができるという効果に加えて、演算量を少なくすることができるという効果を奏する。
【０１１９】
本発明は以上説明した本実施形態に限定されることはなく、本発明の要旨を逸脱しない範囲において種々変更可能である。入力映像信号の第１のビット数及び出力映像信号の第２のビット数はそれぞれ１２ビットと４ビットに限定されないし、拡張ビット数も８ビットに限定されない。
【符号の説明】
【０１２０】
１０  タイミング生成部
２０  ディザパターン生成部
３０  ＲＡＭ（記憶装置）
４１〜４３  加算器
５１〜５３  下位ビット削減部
【図１】
2020052098.tif 000006
【図２】
2020052098.tif 000007
【図３】
2020052098.tif 000008
【図４】
2020052098.tif 000009
【図５】
2020052098.tif 000010
【図６】
2020052098.tif 000011
【図７】
2020052098.tif 000012
【図８】
2020052098.tif 000013
【図９】
2020052098.tif 000014
【図１０】
2020052098.tif 000015