(57)【特許請求の範囲】
【請求項１】
任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部と、
複数の対象画像を同一ページ内に隣接して配置して合成画像を生成する合成画像生成部と、
前記同一ページ内に配置された対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行うに当たり、前記所定の量子化テーブルの注目画素部の周辺画素が前記同一ページ内に配置された対象画像の領域外の位置に配置された場合に、当該周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて前記誤差拡散処理を行う量子化処理部とを備え、
前記量子化テーブル生成部は、
前記注目画素部を（ｘa，ｙ0）（但し、１≦ａ：整数）に配置するとともに、前記周辺画素部を（ｘa+1，ｙ0）〜（ｘa+m，ｙ0）及び（ｘ0，ｙ1〜n）〜（ｘa+m，ｙ1〜n）（但し、１≦ｍ、ｎ：整数）に配置した（ｘ0，ｙ0）〜（ｘa+m，ｙn）の行列からなる前記所定の量子化テーブルを第一の量子化テーブルとして生成し、又は、保持するとともに、
前記第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第二の量子化テーブル群と、
前記第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第三の量子化テーブル群と、
前記第一の量子化テーブルの（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の行を０とした一又は二以上の量子化テーブルからなる第四の量子化テーブル群と、
前記第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第五の量子化テーブル群と、
前記第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ１）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第六の量子化テーブル群とを生成し、又は、保持し、
前記同一ページ内に配置された対象画像が（１，１）〜（Ｘ，Ｙ）の座標を有する場合に（但し、１≦Ｘ、Ｙ：整数）、
前記量子化処理部は、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，１≦Ｄy≦Ｙ−ｎ）である場合に、前記第二の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（ａ＋１≦Ｄｘ≦Ｘ−ｍ，１≦Ｄy≦Ｙ−ｎ）である場合に前記第一の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄx≦Ｘ，１≦Ｄy≦Ｙ−ｎ）である場合に前記第三の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−ｍ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に前記第四の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，Ｙ−ｎ＋１≦Ｄy≦Ｙ−１）である場合に前記第六の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄｘ≦Ｘ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に前記第五の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行う
ことを特徴とする電子機器。
【請求項２】
任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部と、
複数の対象画像を同一ページ内に隣接して配置して合成画像を生成する合成画像生成部と、
前記同一ページ内に配置された対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行うに当たり、前記所定の量子化テーブルの注目画素部の周辺画素が前記同一ページ内に配置された対象画像の領域外の位置に配置された場合に、当該周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて前記誤差拡散処理を行う量子化処理部とを備え、
前記量子化テーブル生成部は、
前記注目画素部を（ｘ1，ｙ0）に配置するとともに、前記周辺画素部を（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）に配置した（ｘ0，ｙ0）〜（ｘ2，ｙ1）の行列を第一の量子化テーブルとして生成し、又は、保持するとともに、
前記第一の量子化テーブルの（ｘ0，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした前記第二の量子化テーブルと、
前記第一の量子化テーブルの（ｘ2，ｙ0）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした前記第三の量子化テーブルと、
前記第一の量子化テーブルの（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした第四の量子化テーブルと、
前記第一の量子化テーブルの（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした第五の量子化テーブルとを生成し、又は、保持し、
前記同一ページ内に配置された対象画像が（１，１）〜（Ｘ，Ｙ）の座標を有する場合に（但し、１≦Ｘ、Ｙ：整数）、
前記量子化処理部は、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄx＝１，１≦Ｄy≦Ｙ−１）である場合に前記第二の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄx＝Ｘ，１≦Ｄy≦Ｙ−１）である場合に前記第三の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−１，Ｄy＝Ｙ）である場合に前記第四の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄｘ＝Ｘ，Ｄy＝Ｙ）である場合に前記第五の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（２≦Ｄx≦Ｘ−１，２≦Ｄy≦Ｙ−１）である場合に前記第一の量子化テーブルを用いて前記誤差拡散処理を行う
ことを特徴とする電子機器。
【請求項３】
前記量子化テーブル生成部は、
前記所定の量子化テーブルの最右列、最左列、最下行のいずれかの行もしくは列又はこれらを組み合わせた行列に該当する周辺画素部に格納された前記誤差拡散係数を０とした量子化テーブルを生成し、又は、保持する請求項１又は２記載の電子機器。
【請求項４】
電子機器のコンピューターを、
任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部、
複数の対象画像を同一ページ内に隣接して配置して合成画像を生成する合成画像生成部、及び
前記同一ページ内に配置された対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行うに当たり、前記所定の量子化テーブルの注目画素部の周辺画素が前記同一ページ内に配置された対象画像の領域外の位置に配置された場合に、当該周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて前記誤差拡散処理を行う量子化処理部、として機能させるとともに
前記量子化テーブル生成部が、
前記注目画素部を（ｘa，ｙ0）（但し、１≦ａ：整数）に配置するとともに、前記周辺画素部を（ｘa+1，ｙ0）〜（ｘa+m，ｙ0）及び（ｘ0，ｙ1〜n）〜（ｘa+m，ｙ1〜n）（但し、１≦ｍ、ｎ：整数）に配置した（ｘ0，ｙ0）〜（ｘa+m，ｙn）の行列からなる前記所定の量子化テーブルを第一の量子化テーブルとして生成し、又は、保持するとともに、
前記第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第二の量子化テーブル群と、
前記第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第三の量子化テーブル群と、
前記第一の量子化テーブルの（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の行を０とした一又は二以上の量子化テーブルからなる第四の量子化テーブル群と、
前記第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第五の量子化テーブル群と、
前記第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ１）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第六の量子化テーブル群とを生成し、又は、保持するように機能させ、
前記同一ページ内に配置された対象画像が（１，１）〜（Ｘ，Ｙ）の座標を有する場合に（但し、１≦Ｘ、Ｙ：整数）、
前記量子化処理部が、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，１≦Ｄy≦Ｙ−ｎ）である場合に、前記第二の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（ａ＋１≦Ｄｘ≦Ｘ−ｍ，１≦Ｄy≦Ｙ−ｎ）である場合に前記第一の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄx≦Ｘ，１≦Ｄy≦Ｙ−ｎ）である場合に前記第三の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−ｍ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に前記第四の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，Ｙ−ｎ＋１≦Ｄy≦Ｙ−１）である場合に前記第六の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄｘ≦Ｘ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に前記第五の量子化テーブル群に含まれる量子化テーブルのうち前記同一ページ内に配置された対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行うように機能させる
ことを特徴とする画像処理プログラム。
【請求項５】
電子機器のコンピューターを、
任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部、
複数の対象画像を同一ページ内に隣接して配置して合成画像を生成する合成画像生成部、及び
前記同一ページ内に配置された対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行うに当たり、前記所定の量子化テーブルの注目画素部の周辺画素が前記同一ページ内に配置された対象画像の領域外の位置に配置された場合に、当該周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて前記誤差拡散処理を行う量子化処理部、として機能させるとともに、
前記量子化テーブル生成部が、
前記注目画素部を（ｘ1，ｙ0）に配置するとともに、前記周辺画素部を（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）に配置した（ｘ0，ｙ0）〜（ｘ2，ｙ1）の行列を第一の量子化テーブルとして生成し、又は、保持するとともに、
前記第一の量子化テーブルの（ｘ0，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした前記第二の量子化テーブルと、
前記第一の量子化テーブルの（ｘ2，ｙ0）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした前記第三の量子化テーブルと、
前記第一の量子化テーブルの（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした第四の量子化テーブルと、
前記第一の量子化テーブルの（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）の周辺画素部に格納する誤差拡散係数を０とした第五の量子化テーブルとを生成し、又は、保持するように機能させ、
前記同一ページ内に配置された対象画像が（１，１）〜（Ｘ，Ｙ）の座標を有する場合に（但し、１≦Ｘ、Ｙ：整数）、
前記量子化処理部が、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄx＝１，１≦Ｄy≦Ｙ−１）である場合に前記第二の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄx＝Ｘ，１≦Ｄy≦Ｙ−１）である場合に前記第三の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−１，Ｄy＝Ｙ）である場合に前記第四の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（Ｄｘ＝Ｘ，Ｄy＝Ｙ）である場合に前記第五の量子化テーブルを用いて前記誤差拡散処理を行い、
前記注目画素の座標（Ｄx，Ｄy）が（２≦Ｄx≦Ｘ−１，２≦Ｄy≦Ｙ−１）である場合に前記第一の量子化テーブルを用いて前記誤差拡散処理を行うように機能させる
ことを特徴とする画像処理プログラム。
【請求項６】
前記量子化テーブル生成部が、
前記所定の量子化テーブルの最右列、最左列、最下行のいずれかの行もしくは列又はこれらを組み合わせた行列に該当する周辺画素部に格納された前記誤差拡散係数を０とした量子化テーブルを生成し、又は、保持するように機能させる
ことを特徴とする請求項４又は５記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子化処理を介した画像処理が可能な電子機器及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、ある画像を量子化する際には、量子化前の原画像の階調値（画素値）と変換後の画像の階調値との誤差を周囲の画素に拡散させることによって画像ムラ等を抑える誤差拡散法が多く用いられる。
誤差拡散処理は、一般には、２５６階調の中間調画像を０又は２５５に２値化する処理を行う。具体的には、原画像の任意の注目画素の画素値を所定の閾値と比較することによって０又は２５５のいずれかに変換する。注目画素は、通常、左上隅の画素から始まって主走査方向に移動し、主走査方向に１ライン分の処理が終了すると副走査方向に沿って次ラインに移動する方法が採られる。
【０００３】
例えば、上記閾値が２５６階調の中間値である１２８とした場合において、ある原画像の左隅の画素（注目画素）の画素値が１２９であるときには、注目画素の画素値のほうが閾値１２８よりも大きいため、注目画素の画素値を２５５に変換する処理を行う。そして、この変換処理により生ずる誤差（２５５−１２９＝１２６）を周囲の画素に割り振ることで上記誤差拡散処理が行われる。
ところで、誤差拡散処理においては、図３３に示すような量子化テーブル（誤差拡散テーブル）が一般的に用いられる。
同図に示すように量子化テーブルは、マトリクス（行列）によって表され、量子化テーブルの対応する各行列部分には、所定の係数（誤差拡散係数）が割り当てられている。
つまり、注目画素における閾値との誤差に、これら各係数を乗じて周辺画素に拡散させることによって、誤差拡散処理を行う。
【０００４】
また、誤差拡散処理の応用例として、特許文献１には、画像データを分割した各バンド先頭付近のラインに対して量子化処理を伴わないバンド処理を行い、得られた誤差値にもとづいて各バンドの先頭から誤差拡散処理を行う方法が開示されている。
このような誤差拡散処理方法によれば、バンド間に不自然に表示される境界線の発生を防ぐことができるため、バンド処理においても誤差拡散処理を適用することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２８１６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示されている誤差拡散処理方法は、複数の画像を隣接して合成するサムネイル画像の量子化の際には有効ではない場合がある。
すなわち、このような誤差拡散処理方法によれば、主走査方向に隣接する画像に対して誤差拡散処理を行うにあたり、画像が接する近辺では、隣接画像の誤差拡散による影響を受けるため、意図しない画像処理が行われるからである。
例えば、図３４に示す点線で囲まれている画素は、図面（ロ）の誤差拡散処理に際し、注目画素が図面（イ）と図面（ロ）との境界付近にあるため、図（ロ）の誤差が図（イ）に割り振られる。
また、図面（イ）の誤差拡散処理に際し、注目画素が図面（イ）と図面（ロ）の境界付近にあるため、図（イ）の誤差が図（ロ）に割り振られる。
したがって、上下に接する画像のみならず、左右や斜めなど、隣接画像の相互において不自然な画像が形成されることが問題となっていた。
【０００７】
本発明は、上記の事情に鑑みてなされたものであり、所定の量子化テーブルを用いることによって隣接画像の誤差拡散処理の影響を受けないようにすることで適切な画像処理を行う電子機器及び画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の電子機器は、任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部と、対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行う量子化処理部とを備え、前記量子化テーブル生成部は、前記所定の量子化テーブルの行列の少なくとも端部の行及び／又は列に当たる周辺画素部に格納する誤差拡散係数を０とした一又は二以上の量子化テーブルを生成し、又は、保持し、前記量子化処理部は、前記注目画素部又は前記周辺画素部の位置に応じた量子化テーブルを用いて前記誤差拡散処理を行うようにしている。
【０００９】
上記目的を達成するため、本発明の画像処理プログラムは、電子機器のコンピューターを、任意の注目画素に対応する注目画素部と、この注目画素部の周辺にあって所定の誤差拡散係数を格納した周辺画素部とからなる所定の量子化テーブルを生成し、又は、保持する量子化テーブル生成部、及び対象画像の各画素に対して前記所定の量子化テーブルを割り当てることにより、前記注目画素部における画素値と所定の閾値との誤差を、前記誤差拡散係数に応じその周辺画素部に対応した周辺画素に拡散する誤差拡散処理を行う量子化処理部として機能させるとともに、前記量子化テーブル生成部に、前記所定の量子化テーブルの行列の少なくとも端部の行及び／又は列に当たる周辺画素部に格納する誤差拡散係数を０とした一又は二以上の量子化テーブルを生成させ、又は、保持させ、前記量子化処理部に、前記注目画素部又は前記周辺画素部の位置に応じた量子化テーブルを用いて前記誤差拡散処理を行わせるようにしている。
【発明の効果】
【００１０】
本発明の電子機器及び画像処理プログラムによれば、画像の量子化の際に好適な誤差拡散処理ができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に係る画像形成装置の構成を示すブロック図である。
【図２】本実施形態に係る量子化テーブル（Floyd  ＆  Steinberg及びStuckiの量子化テーブル）を示した図である。
【図３】本実施形態に係る量子化テーブルの具体例を示した図である。
【図４】本実施形態に係る誤差拡散処理を説明するための図である。
【図５】条件Ａにもとづく誤差拡散処理を説明するための図である。
【図６】条件Ｂにもとづく誤差拡散処理を説明するための図である。
【図７】条件Ｃにもとづく誤差拡散処理を説明するための図である。
【図８】条件Ｄにもとづく誤差拡散処理を説明するための図である。
【図９】条件Ｅにもとづく誤差拡散処理を説明するための図である。
【図１０】量子化処理の全体手順を示したフローチャートである。
【図１１】誤差拡散処理の手順を示したフローチャートである。
【図１２】本実施形態に係る量子化テーブルＴe（第一の量子化テーブル）の一例を示した図である。
【図１３】本実施形態に係る量子化テーブルＴa（第二の量子化テーブル）の一例を示した図である。
【図１４】本実施形態に係る量子化テーブルＴb（第三の量子化テーブル）の一例を示した図である。
【図１５】本実施形態に係る量子化テーブルＴc（第四の量子化テーブル）の一例を示した図である。
【図１６】本実施形態に係る量子化テーブルＴd（第五の量子化テーブル）の一例を示した図である。
【図１７】本実施形態に係る量子化テーブルＴf（第六の量子化テーブル）の一例を示した図である。
【図１８ａ】本実施形態に係る量子化テーブルの第一の具体例を示した図である。
【図１８ｂ】本実施形態に係る量子化テーブルの第二の具体例を示した図である。
【図１８ｃ】本実施形態に係る量子化テーブルの第三の具体例を示した図である。
【図１９】本実施形態に係る誤差拡散処理を説明するための図である。
【図２０】条件１にもとづく誤差拡散処理を説明するための図である。
【図２１】条件２にもとづく誤差拡散処理を説明するための図である。
【図２２】条件３にもとづく誤差拡散処理を説明するための図である。
【図２３】条件４にもとづく誤差拡散処理を説明するための図である。
【図２４】条件５にもとづく誤差拡散処理を説明するための図である。
【図２５】条件６にもとづく誤差拡散処理を説明するための図である。
【図２６】条件７にもとづく誤差拡散処理を説明するための図である。
【図２７】条件８にもとづく誤差拡散処理を説明するための図である。
【図２８】条件９にもとづく誤差拡散処理を説明するための図である。
【図２９】条件１０にもとづく誤差拡散処理を説明するための図である。
【図３０】条件１１にもとづく誤差拡散処理を説明するための図である。
【図３１】条件１２にもとづく誤差拡散処理を説明するための図である。
【図３２】条件１３にもとづく誤差拡散処理を説明するための図である。
【図３３】従来の誤差拡散処理において発生する問題を説明するための図である。
【図３４】従来の誤差拡散処理において用いられる一般的な量子化テーブルを示した図である。
【発明を実施するための形態】
【００１２】
＜第一実施形態＞
以下、本発明の電子機器の第一実施形態に係る画像形成装置の構成について図面を参照しながら説明する。
図１は、本発明の第一実施形態に係る画像形成装置の構成を示すブロック図である。
本実施形態の画像形成装置１は、同図に示すように、データ受信部１１、画像データ一時格納部１２、解像度変換処理部１３、合成画像生成部１４、量子化テーブル生成部１５及び量子化処理部１６によって構成される。
【００１３】
画像形成装置１は、例えば、プリンター装置からなり、図示しないホストコンピューターと電気的に接続されることによって所定の画像形成システムを構成する。
画像形成装置１は、ＣＰＵ（Central  Process  Unit）やチップセット等の制御要素、ＲＯＭ（Read  Only  Memory）及びＲＡＭ（Random  Access  Memory）等により構成されたコンピューターを有する。ＣＰＵは、画像処理プログラム等のプログラムに記述された処理を実行する演算処理装置である。また、ＲＯＭは、プログラム及びデータを予め記憶した不揮発性のメモリである。また、ＲＡＭは、プログラムを実行する際にそのプログラム及びデータを一時的に記憶して、作業領域として用いるメモリである。
【００１４】
つまり、所定の画像処理プログラムが実行されることにより、ＣＰＵ内に解像度変換処理部１３、合成画像生成部１４、量子化テーブル生成部１５及び量子化処理部１６を機能ブロックとして構成され、また、各部のハード要素をデータ受信部１１及び画像データ一時格納部１２として機能させることができる。
すなわち、画像処理プログラムがコンピューターに読み込まれることにより、ソフトウェアとハードウェア資源とが協働した具体的手段によって、上記各手段の処理が行われ、本実施形態に係る画像形成装置が構築される。
以下、画像形成装置１の各構成部について説明する。
【００１５】
データ受信部１１は、ＮＩＣ（Network  Interface  Card）等の通信インターフェイスであり、図示しないホストコンピューターから通信ケーブル等を介して画像データを受信する。
画像データ一時格納部１２は、ハードディスクやメモリー等からなる記憶モジュールである。画像データ一時格納部１２は、データ受信部１１によって受信された画像データ（例えば、サムネイル画像の元となる複数画像）を一時的に記憶する。
また、画像データ一時格納部１２は、後述する解像度変換処理部１３により解像度変換された後の画像データを一時的に記憶し、後工程の量子化処理に備える。
【００１６】
解像度変換処理部１３は、対象画像の画像データを任意の解像度（解像数）に変換する。
具体的には、解像度変換処理部１３は、画像データ一時格納部１２に格納された複数の画像データを任意の解像度に変換する。
サムネイルとして隣接させる複数の画像のそれぞれの解像度を同じ解像度に統一するものである。
そして、解像度変換処理部１３は、解像度変換後の各画像データを画像データ一時格納部１２に記憶させる。
【００１７】
合成画像生成部１４は、複数の画像データを合成する。
具体的には、合成画像生成部１４は、画像データ一時格納部１２に記憶されている複数の対象画像を同一ページ内の隣接領域に配置して合成画像（量子化前画像）を生成する。
つまり、合成画像生成部１４の実行により、各対象画像が縦、横、又は斜めに隣接した合成画像が生成される。
【００１８】
量子化テーブル生成部１５は、量子化処理に用いる量子化テーブル（誤差拡散テーブル）を生成し、又は、保持する。
具体的には、量子化テーブル生成部１５は、図２に示す既知の量子化テーブル（例えば、Floyd  ＆  SteinbergやStuckiなど）を利用して様々なパターンの量子化テーブルを生成し、又は、これを保持することができる。また、外部で生成された量子化テーブルを入力して保持することもできる。
具体的には、量子化テーブル生成部１５は、対象画像の任意の画素に所定の量子化テーブルを割り当てたとすると、その量子化テーブルの周辺画素部が対象画像の領域外に配置される周辺画素部の誤差拡散係数を０とした量子化テーブルを生成し、又は、保持する。
例えば、本実施形態に係るFloyd  ＆  Steinbergの量子化テーブルを利用する場合、量子化テーブル生成部１５は、このテーブル行列の注目画素部（ｘ1，ｙ0）を除く周辺画素部（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）、（ｘ2，ｙ1）のうちいずれか一又は二以上の誤差拡散係数を０にすることによって様々なパターンの量子化テーブルを生成することができる。
なお、各種量子化テーブルの詳細については後述する。
【００１９】
量子化処理部１６は、対象画像について任意の注目画素に対する量子化処理を行いつつ、量子化テーブル生成部１５によって生成された量子化テーブルによって誤差拡散処理を行う。
例えば、量子化処理部１６は、まず、対象画像の左上端の画素を起点として右方向（主走査方向）に１画素ずつ濃度値（画素値）を読み取り、これをメモリに保持する。
主走査方向の１ライン分の画素値の読み取りが終わると、下方向（副走査方向）に１画素分進み、その画素の主走査方向の１ラインについて同様に画素値の読み取りを行う。
そして、最終ラインまで画素値の読み取りが行われ、全ての画素値が保持されると、具体的な量子化処理を行う。
【００２０】
量子化処理部１６は、保持された各注目画素の濃度値と閾値にもとづきその濃度値を２値化（量子化）しつつ、その際に生ずる誤差（差分値）を周辺画素に拡散するいわゆる誤差拡散処理を行う。
二値化は、例えば、閾値が１２８である場合に、注目画素の画素値が１２７以下であれば０に置き換え、１２８以上であれば２５６に置き換える。このため、ある注目画素の画素値が例えば２００である場合、画素値を２５６に置換する。誤差拡散処理は、この二値化の際に生じた誤差（２０４−２５６＝４８）を周辺画素部に対応した周辺画素に割り振る。
例えば、注目画素部の右の周辺画素部に誤差拡散係数７／１６が格納されている場合、注目画素の右の画素の元の画素値に４８×（７／１６）＝２１を加算する。また、注目画素部の下の周辺画素部に誤差拡散係数５／１６が格納されている場合、注目画素の下の元の画素値に４８×（５／１６）＝１５を加算する。
【００２１】
ここで、本実施形態の量子化処理部１６は、注目画素の位置によって量子化テーブルを変えながら誤差拡散処理を行う。
このため、量子化処理部１６は、注目画素の位置に応じ、量子化テーブル生成部１５から対応する量子化テーブルを受け取る。
具体的には、量子化処理部１６は、対象画像の任意の画素に所定の量子化テーブルを割り当てた場合であって、当該所定の量子化テーブルの注目画素部が、その周辺画素部が前記対象画像の領域外の位置に配置された周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて前記誤差拡散処理を行う。
例えば、量子化処理部１６は、注目画素が対象画像の右端の場合、右端部が０とされた量子化テーブルを量子化テーブル生成部１５から受け取り、この量子化テーブルを用いて誤差拡散処理を行う。また、量子化処理部１６は、注目画素が対象画素の左端の場合、左端部が０とされた量子化テーブルを量子化テーブル生成部１５から受け取り、この量子化テーブルを用いて誤差拡散処理を行う。
これにより、隣接画像に対する無用な誤差拡散処理を防止し、量子化処理における不自然な描画の形成を回避することができるようになる。
なお、誤差拡散処理の詳細については後述する。
【００２２】
ここで、本実施形態に係る各量子化テーブルについて詳細に説明する。
本実施形態において、量子化テーブル生成部１５は、Floyd  ＆  Steinbergの量子化テーブル（図２参照）を予め保持しているものとする。そして、量子化テーブル生成部１５は、このテーブル行列の端部（最右列、最左列、最下行）のうち一または二以上の行・列の誤差拡散係数を０とすることによって本実施形態に特有の量子化テーブルを生成する。
【００２３】
図３は、本実施形態に係る量子化テーブルの具体例を示した図である。
量子化テーブルＴe（第一の量子化テーブル）は、以下に示す他の量子化テーブルの基本となる量子化テーブルであり、ここでは、Floyd  ＆  Steinbergの量子化テーブルをそのまま用いる。
同図に示すように、量子化テーブルＴeは、全体としては（ｘ0，ｙ0）〜（ｘ2，ｙ1）
の行列で構成され、注目画素部（ｘ1，ｙ0）と周辺画素部（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ0，ｙ1）、（ｘ2，ｙ1）によって構成される。
量子化テーブルＴeの各周辺画素部には、所定の誤差拡散係数が格納され、上述した誤差拡散処理の演算に用いられる。具体的には、（ｘ2，ｙ0）に７／１６、（ｘ0，ｙ1）に３／１６、（ｘ0，ｙ1）に５／１６、（ｘ2，ｙ1）に１／１６の誤差拡散係数がそれぞれ格納される。
【００２４】
ここで、量子化テーブル生成部１５は、量子化テーブルＴeのうち、（ｘ0，ｙ1）の誤差拡散係数を０とすることによって、量子化テーブルＴa（第二の量子化テーブル）を生成する。
また、量子化テーブル生成部１５は、量子化テーブルＴeのうち、（ｘ2，ｙ0）及び（ｘ2，ｙ1）の誤差拡散係数を０とすることによって、量子化テーブルＴb（第三の量子化テーブル）を生成する。
さらに、量子化テーブル生成部１５は、量子化テーブルＴeのうち、（ｘ0，ｙ1）、（ｘ1，ｙ1）、（ｘ2，ｙ1）の誤差拡散係数を０とすることによって、量子化テーブルＴc（第四の量子化テーブル）を生成する。
そして、量子化テーブル生成部１５は、量子化テーブルＴeのうち、（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）、（ｘ2，ｙ1）の誤差拡散係数を０とすることによって、量子化テーブルＴd（第五の量子化テーブル）を生成する。
【００２５】
続いて、上述した各量子化テーブル（量子化テーブルＴa〜Ｔe）を用いた誤差拡散処理について図面を参照しながら詳細に説明する。
図４に示すように、量子化処理部１６は、注目画素の位置（Ｄx，Ｄy）に応じた条件（条件Ａ〜Ｅ）に対応した一の量子化テーブルを用いて誤差拡散処理を行う。
なお、解像度変換処理部１３は、対象画像を（１，１）〜（Ｘ，Ｙ）（但し、１≦Ｘ、Ｙ：整数）の座標に対応した画素の解像数の画像に変換するものとする。
【００２６】
条件Ａは、図４＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝１，１≦Ｄy≦Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴaにもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、その注目画素における画素値を所定閾値にもとづいて二値化するとともに、この二値化によって生じた誤差を、注目画素に注目画素部（ｘ1，ｙ0）を割り当てた場合の（ｘ2，ｙ0）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）に対応する周辺画素の画素値に対し、それぞれ７／１６、５／１６、１／１６ずつ乗じて割り振る。
つまり、注目画素が、図５に示すＰの位置の場合、（ｘ0，ｙ1）の誤差拡散係数を０とした量子化テーブルＴaを用いて誤差拡散処理を行うことにより、対象画像の左部の領域外に対し当該誤差拡散処理の影響を及ばさないようにすることができる。
【００２７】
条件Ｂは、図４＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ，１≦Ｄy≦Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴbにもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、その注目画素における画素値を所定閾値にもとづいて二値化するとともに、この二値化によって生じた誤差を、注目画素に注目画素部（ｘ1，ｙ0）を割り当てた場合の（ｘ0，ｙ1）及び（ｘ1，ｙ1）に対応する周辺画素の画素値に対し、それぞれ３／１６、５／１６ずつ乗じて割り振る。
つまり、注目画素が、図６に示すＰの位置の場合、（ｘ2，ｙ0）及び（ｘ2，ｙ1）の誤差拡散係数を０とした量子化テーブルＴbを用いて誤差拡散処理を行うことにより、対象画像の右部の領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００２８】
条件Ｃは、図４＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄ）が、（１≦Ｄx＝Ｘ−１，Ｄy＝Ｙ）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴcにもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、その注目画素における画素値を所定閾値にもとづいて二値化するとともに、当該二値化によって生じた誤差を、注目画素に注目画素部（ｘ1，ｙ0）を割り当てた場合の（ｘ2，ｙ0）に対応する周辺画素の画素値に対し、７／１６乗じて割り振る。
つまり、注目画素が、図７に示すＰの位置の場合、（ｘ0，ｙ1）、（ｘ1，ｙ1）、（ｘ2，ｙ1）の誤差拡散係数を０とした量子化テーブルＴcを用いて誤差拡散処理を行うことにより、対象画像の下部又は左下部にの領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００２９】
条件Ｄは、図４＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ，Ｄy＝Ｙ）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴdにもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、その注目画素における画素値を所定閾値にもとづいて二値化するが、当該二値化によって生じた誤差を、周辺画素に拡散する処理は行わない。
つまり、注目画素が、図８に示すＰの位置の場合、（ｘ0，ｙ1）、（ｘ1，ｙ1）、（ｘ2，ｙ1）及び（ｘ2，ｙ0）の誤差拡散係数を０とした量子化テーブルＴdを用いて誤差拡散処理を行うことにより、対象画像の下部、右部又は右下部の領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００３０】
条件Ｅは、図４＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（２≦Ｄx≦Ｘ−１，２≦Ｄy≦Ｙ）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴeにもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、その注目画素における画素値を所定閾値にもとづいて二値化するとともに、当該二値化によって生じた誤差を、注目画素に周辺画素部（ｘ1，ｙ0）を割り当てた場合の（ｘ2，ｙ0）、（ｘ0，ｙ1）、（ｘ1，ｙ1）及び（ｘ2，ｙ1）に対応する周辺画素の画素値に対し、７／１６、３／１６、５／１６及び１／１６を乗じて割り振る。
つまり、注目画素が、図９に示すＰの位置の場合、基本の量子化テーブルである量子化テーブルＴeを用いて誤差拡散処理を行う。
これは、同図に示すように、他の画像と接していない画素が注目画素として割り当てられるケースであり、他の画像との干渉が想定されない場合における通常の誤差拡散処理を行うものである。
【００３１】
このように、本実施形態の誤差拡散処理は、注目画素の位置に応じ、量子化テーブルが他の画像領域にはみ出るような場合には、その部分の誤差拡散係数を０とした量子化テーブルＴa〜Ｔeを用いて誤差拡散処理を行うものであり、これにより、隣接する画像に対する無用な誤差分散を回避するものである。
したがって、従来、隣接するサムネイル画像の量子化の際に生じていた複数画像の境界部における意図しない不自然な描画を防ぐことができる。
【００３２】
次に、本実施形態に係る量子化処理の手順について図１０及び図１１を参照しながら説明する。
【００３３】
図１０は、本実施形態に係る量子化処理の全体の手順を示したフローチャートである。
図１０に示すように、まず、データ受信部１１が、図示しないホストコンピューターからの印刷データを受信したものとする（Ｓ１）。なお、本実施形態では、複数の画像を隣接したサムネイル画像にすることを目的とする。このため、印刷データには、サムネイル化の対象となる複数の画像データが含まれるものとする。このうち、最初に処理する画像データのヘッダ等には所定の描画コマンドが記述され、最後に処理する画像データのヘッダ等には所定の終了コマンドが記述されているものとする。
【００３４】
データ受信部１１は、印刷データを解析し、画像処理に関するコマンドの検出を試みる（Ｓ２）。
ここで、データ受信部１１が、描画コマンドを検出した場合（Ｓ２：描画コマンド）、解像度変換処理部１３が、解像度変換を行う（Ｓ３）。
具体的には、解像度変換処理部１３が、画像処理対象の各画像データの画素数を所定値に変換する。これにより、サムネイル対象の複数画像の解像度を統一する。
【００３５】
次に、画像データ一時格納部１２は、解像度変換された画像データを記憶する（Ｓ４）。
続けて、合成画像生成部１４が、同一ページ内に複数画像を配置することによって合成画像を生成する（Ｓ５）。
ここで、量子化処理部１６は、先の工程（Ｓ３、Ｓ４）において、解像度変換され、同一ページ内に配置された画像データに対し、誤差拡散法にもとづく量子化処理を行う（Ｓ６）。
【００３６】
図１１は、本実施形態に係る誤差拡散処理の手順を示したフローチャートである。
まず、量子化処理部１６は、同図に示すように、まず、量子化テーブルの初期値を設定する（Ｓ１１）。本実施形態の場合、量子化処理部１６は、量子化テーブルＴaを初期の量子化テーブルとして設定する。これは、画像の左上の画素を起点とした量子化処理に対応するものである。
そして、量子化処理部１６は、起点画素から終点画素に至る画素値を取得しつつＳ１３及びＳ１４の処理を行う（Ｓ１２）。
【００３７】
ここで、対象画像の最終画素でないと判断された注目画素について、量子化テーブル生成部１５は、その注目画素の配置に応じた量子化テーブルを生成する。具体的には、量子化テーブル生成部１５が、量子化テーブルＴeを変更することによって、量子化テーブルＴa〜Ｔdのいずれかを生成する（Ｓ１３）。
次に、量子化処理部１６は、その注目画素の画素値を所定の閾値にもとづいて二値化するとともに、量子化テーブルＴa〜Ｔeのいずれかを用いて誤差拡散処理を行う（Ｓ１４）。
そして、注目画素が対象画像の最終画素に到達すると、量子化処理部１６は量子化処理を終了する（Ｓ６終了）。
【００３８】
図１０に示すように、次に、量子化処理部１６は、量子化された全画素のデータにもとづき描画データを生成する（Ｓ７）。具体的には、量子化されたデータにもとづき、印刷エンジン等で加工可能なビットマップデータ等を生成する。
なお、量子化処理部１６は、ステップＳ１〜ステップＳ７の処理を、印刷データから終了コマンドを検出するまで行う。
そして、印刷データから終了コマンドが検出されると（Ｓ２：終了コマンド）、量子化処理部１６は、描画データを図示しない印刷エンジン等に出力する（Ｓ８）。
これにより、例えば、レーザープリンタの場合、量子化されたサムネイル画像のビットマップデータを感光ドラム上に現像され、給紙機構から提供される印刷用紙等に転写・定着され、印刷物を取得することができる。
【００３９】
以上説明したように、本実施形態の画像形成装置１によれば、量子化テーブル生成部１５は、所定の量子化テーブルの行列の少なくとも端部の行及び／又は列に当たる周辺画素部の誤差拡散係数を０とする一又は二以上の量子化テーブルを生成し、又は、これを保持する。
また、量子化処理部１６は、量子化の対象となる注目画素や周辺画素の位置に応じた最適な量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化テーブル生成部１５が、Floyd  ＆  Steinberg等、基本となる量子化テーブル行列の最右列、最左列、最下行の一部又は全部の周辺画素部の誤差拡散係数を０とする一又は二以上の量子化テーブルを生成・保持するようにしている。
そして、量子化処理部１６が、これら生成され、又は、保持された各量子化テーブルの中から注目画素の位置に応じた最適な量子化テーブルを用いて誤差拡散処理を行う。
【００４０】
このため、量子化の際、ある画像における誤差拡散処理が他の画像に影響を与えるような不適切な誤差拡散を行わないようにすることができる。
したがって、隣接したサムネイル画像を生成する場合など、画像間に発生していた不自然な描画ノイズを防ぎ、視認性に優れた画像形成が可能となる。
また、量子化テーブルは、既知の量子化テーブルを利用することができるため、プログラム変更で容易に本発明を実現することができる。
さらに、誤差拡散処理や量子化処理についても従来の方法を適用することができるため、プログラムの変更についても極めて少なくすることができる。
したがって、本実施形態の画像形成装置１によれば、隣接画像の量子化に際し自然な描画を可能としつつ、かつ、これを円滑かつ簡易に実現することができる。
【００４１】
＜第二実施形態＞
次に、本発明の第二実施形態に係る画像形成装置について詳細に説明する。
本実施形態に係る画像形成装置１は、前述の第一実施形態に係る画像形成装置とは、誤差拡散処理の際に用いる量子化テーブルのマトリクスの大きさなどの態様が異なる。
第一実施形態ではFloyd  ＆  Steinbergの量子化テーブルを基本の量子化テーブルとしたが、本実施形態では更に行列数の多い量子化テーブルを用いる。
【００４２】
図１２〜図１７は、本実施形態に係る各量子化テーブルの一例を示す概念図である。
すなわち、図１２に示すように、本実施形態の量子化テーブル生成部１５は、注目画素部を（ｘa，ｙ0）（但し、１≦ａ：整数）に配置するとともに、周辺画素部を（ｘa+1，ｙ0）〜（ｘa+m，ｙ0）及び（ｘ0，ｙ1〜n）〜（ｘa+m，ｙ1〜n）（但し、０≦ｍ、ｎ：整数）に配置した（ｘ0，ｙ0）〜（ｘa+m，ｙn）の行列からなる第一の量子化テーブルを生成し、または、保持する。
【００４３】
また、量子化テーブル生成部１５は、量子化テーブルＴeの最左列、すなわち、（ｘ0，ｙ1〜n）の周辺画素部の誤差拡散係数を０とした第二の量子化テーブル（量子化テーブルＴａ）を生成し、又は、保持する（図１３参照）。
さらに、量子化テーブル生成部１５は、量子化テーブルＴeの最右列、すなわち、（ｘa+m，ｙ0〜n）の周辺画素部の誤差拡散係数を０とした第三の量子化テーブル（量子化テーブルＴb）を生成し、又は、保持する（図１４参照）。
また、量子化テーブル生成部１５は、量子化テーブルＴeの最下行、すなわち、（ｘ0，ｙn）〜（ｘａ+m，ｙn）の周辺画素部の誤差拡散係数を０とした第四の量子化テーブル（量子化テーブルＴc）を生成し、又は、保持する（図１５参照）。
そして、量子化テーブル生成部１５は、量子化テーブルＴeの最右列と最下行、すなわち、（ｘa+m，ｙ0）〜（ｘa+m，ｙn）及び（ｘ0，ｙn）〜（ｘa+m，ｙn）の周辺画素部の誤差拡散係数を０とした第五の量子化テーブル（量子化テーブルＴd）を生成し、又は、保持する（図１６参照）。
そして、量子化テーブル生成部１５は、量子化テーブルＴeの最左列と最下行、すなわち、（ｘ0，ｙ0）〜（ｘ0，ｙn）及び（ｘ0，ｙn）〜（ｘa+m，ｙn）の周辺画素部の誤差拡散係数を０とした第六の量子化テーブル（量子化テーブルＴe）を生成し、又は、保持する（図１７参照）。
【００４４】
図１２〜１７の例では、量子化テーブルの端部となる行又は列の誤差拡散係数を０とした。本実施形態においては、図１２〜１７に示す量子化テーブルの他、量子化テーブルの端部となる行又は列を基準として、二以上の行又は列の誤差拡散係数を０とした量子化テーブルを用いることができる。本実施形態では、これらの量子化テーブルを後述する第一〜第六の量子化テーブル群に分け、対象画像に対する注目画素の位置によって各量子化テーブル群のいずれかの量子化テーブルを用いる。
【００４５】
詳細については、Jarvis，Judice  ＆  Ninkeの量子化テーブルを用いて説明する。
具体的には、量子化テーブル生成部１５が、Jarvis，Judice  ＆  Ninkeの量子化テーブルにもとづいて他の量子化テーブルを生成し、又は、保持するとともに、量子化処理部１６が、これらの量子化テーブルを用いて誤差拡散処理を行う。
つまり、本実施形態では、利用する量子化テーブルのサイズが大きくなるため、その分生成される量子化テーブルの数が増え、誤差拡散処理のバリエーションもその分だけ増える。他の構成は第一実施形態と同様である。
したがって、以下、主に、量子化テーブル生成部１５及び量子化処理部１６について詳細に説明するものとし、他の構成についての説明は省略する。
【００４６】
本実施形態の量子化テーブル生成部１５は、対象画像の任意の画素にJarvis，Judice  ＆  Ninkeの量子化テーブル等、所定の量子化テーブルを割り当てたとすると、この量子化テーブルの周辺画素部が対象画像の領域外に配置される場合に、その周辺画素部の誤差拡散係数を０とした量子化テーブルを生成し、又は、保持する。
また、第一実施形態と同様、量子化処理部１６は、対象画像の任意の画素に前記所定の量子化テーブルを割り当てた場合であって、当該所定の量子化テーブルの注目画素部が、その周辺画素部が前記対象画像の領域外に配置される位置に配置された場合に、当該周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて誤差拡散処理を行う。
【００４７】
図１８ａ〜図１８ｃは、本実施形態に係る量子化テーブルの具体例を示した図である。
本実施形態においては、所定の量子化テーブル（第一の量子化テーブル）として、Jarvis，Judice  ＆  Ninkeの量子化テーブルを用いる。
具体的には、量子化テーブル生成部１５は、まず、Jarvis，Judice  ＆  Ninkeの量子化テーブルを第一の量子化テーブル（量子化テーブルＴ3）として生成し、または、保持する。
同図に示すように、本実施形態の量子化テーブルＴ3は、全体としては（ｘ0，ｙ0）〜（ｘ4，ｙ2）の行列で構成され、注目画素部（ｘ2，ｙ0）と周辺画素部（ｘ3，ｙ0）、（ｘ4，ｙ0）、（ｘ0，ｙ1）〜（ｘ4，ｙ2）によって構成され、各周辺画素部には、所定の誤差拡散係数が格納される。
【００４８】
ここで、量子化テーブル生成部１５は、第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第二の量子化テーブル群を形成する。（但し、注目画素部を（ｘa，ｙ0）（但し、１≦ａ：整数）、周辺画素部を（ｘa+1，ｙ0）〜（ｘa+m，ｙ0）及び（ｘ0，ｙ1〜n）〜（ｘa+m，ｙ1〜n）（但し、０≦ｍ、ｎ：整数）に配置した（ｘ0，ｙ0）〜（ｘa+m，ｙn）の行列を所定の量子化テーブルとする。）
本実施形態の場合、量子化テーブル生成部１５は、量子化テーブルＴ3の（ｘ0，ｙ1〜2）と（ｘ1，ｙ1〜2）の誤差拡散係数を０とすることによって、量子化テーブルＴ1を生成し、（ｘ0，ｙ1〜2）の誤差拡散係数を０とすることによって、量子化テーブルＴ2を生成する。
そして、量子化テーブル生成部１５は、量子化テーブルＴ1及びＴ2を第二の量子化テーブル群に属するものとして保持する。
【００４９】
また、量子化テーブル生成部１５は、第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列を基準として一又は二以上の列を０とした一又は二以上の量子化テーブルからなる第三の量子化テーブル群を生成する。
本実施形態の場合、量子化テーブル生成部１５は、量子化テーブルＴ3の（ｘ4，ｙ0〜2）の誤差拡散係数を０とすることによって、量子化テーブルＴ4を生成し、（ｘ4，ｙ0〜2）と（ｘ3，ｙ0〜2）の誤差拡散係数を０とすることによって、量子化テーブルＴ5を生成する。
量子化テーブル生成部１５は、量子化テーブルＴ4及びＴ5を第三の量子化テーブル群に属するものとして保持する。
【００５０】
また、量子化テーブル生成部１５は、第一の量子化テーブルの（ｘ0，ｙ1〜n）〜（ｘa-1，ｙ1〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ１）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0，ｙ1〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第六の量子化テーブル群を生成する。
本実施形態の場合、量子化テーブル生成部１５は、量子化テーブルＴ3の（ｘ0，ｙ1〜2）と（ｘ1，ｙ1〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ6を生成し、（ｘ0，ｙ1〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ7を生成する。
量子化テーブル生成部１５は、量子化テーブルＴ6及びＴ7を第六の量子化テーブル群に属するものとして保持する。
【００５１】
また、量子化テーブル生成部１５は、第一の量子化テーブルの（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の行を０とした一又は二以上の量子化テーブルからなる第四の量子化テーブル群を生成する。
本実施形態の場合、量子化テーブル生成部１５は、量子化テーブルＴ3の（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ8を生成し、量子化テーブルＴ3の（ｘ0，ｙ1）〜（ｘ4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ11（特定の量子化テーブル）を生成する。
量子化テーブル生成部１５は、量子化テーブルＴ8及びＴ11を第四の量子化テーブル群に属するものとして保持する。
【００５２】
また、量子化テーブル生成部１５は、第一の量子化テーブルの（ｘa+1，ｙ0〜n）〜（ｘa+m，ｙ0〜n）の各列の周辺画素部に格納する誤差拡散係数及び（ｘ0〜a+m，ｙ1）〜（ｘ0〜a+m，ｙn）の各行の周辺画素部に格納する誤差拡散係数を（ｘa+m，ｙ0〜n）の列及び（ｘ0〜a+m，ｙn）の行を基準として一又は二以上の列及び一又は二以上の行を０とした一以上の量子化テーブルからなる第五の量子化テーブル群を生成する。
本実施形態の場合、量子化テーブル生成部１５は、量子化テーブルＴ3の（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ9を生成し、（ｘ3，ｙ0〜2）と（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ10を生成するとともに、（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ1）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ12を生成し、（ｘ3，ｙ0〜2）と（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ1）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とすることによって、量子化テーブルＴ13を生成する。
量子化テーブル生成部１５は、量子化テーブルＴ9、Ｔ10、Ｔ12及びＴ13を第五の量子化テーブル群に属するものとして保持する。
【００５３】
次に、本実施形態に係る誤差拡散処理について図面を参照しながら詳細に説明する。
本実施形態の量子化処理部１６は、図１９に示すように、各条件（条件１〜１３）にもとづく注目画素の位置（Ｄx，Ｄy）に対応した量子化テーブル（量子化テーブルＴ1〜Ｔ13）を用いて誤差拡散処理を行う。
以下、各条件ごとに誤差拡散処理について説明する。
なお、対象画像については、解像度変換処理部１３により、予め（１，１）〜（Ｘ，Ｙ）（但し、１≦Ｘ、Ｙ：整数）の座標に対応した画素数（解像数）の画像に変換されているものとする。
【００５４】
条件１は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝１，１≦Ｄy≦Ｙ−２）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ1にもとづいて誤差拡散処理を行う。
条件２は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝２，１≦Ｄy≦Ｙ−２）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ2にもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素が、図２０に示すＰの位置の場合、（ｘ0，ｙ1〜2）と（ｘ1，ｙ1〜2）の誤差拡散係数を０とした量子化テーブルＴ1を用いて誤差拡散処理を行い、また、注目画素が、図２１に示すＰの位置の場合、（ｘ0，ｙ1〜2）の誤差拡散係数を０とした量子化テーブルＴ2を用いて誤差拡散処理を行う。
【００５５】
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，１≦Ｄy≦Ｙ−ｎ）である場合に第二の量子化テーブル群に含まれる一の量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，１≦Ｄy≦Ｙ−ｎ）である場合に、第二の量子化テーブル群に含まれる量子化テーブルのうち対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて誤差拡散処理を行う。
本実施形態の場合、量子化処理部１６は、注目画素のＤy値が１≦Ｄy≦Ｙ−２の範囲である場合において、Ｄx値が１の場合に量子化テーブルＴ1を用い、Ｄx値が２の場合に量子化テーブルＴ2を用いて誤差拡散処理を行う。
これにより、対象画像の左部領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００５６】
条件３は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄ）が、（３≦Ｄx＝Ｘ−２，１≦Ｄy≦Ｙ−２）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ3にもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素が、図２２に示すＰの位置の場合、第一の量子化テーブルである量子化テーブルＴ3を用いて誤差拡散処理を行う。
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（ａ＋１≦Ｄx≦Ｘ−ｍ，１≦Ｄy≦Ｙ−ｎ）である場合に、第一の量子化テーブルを用いて誤差拡散処理を行う。
【００５７】
条件４は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ−１，１≦Ｄy≦Ｙ−２）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ4にもとづいて誤差拡散処理を行う。
条件５は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ，１≦Ｄy≦Ｙ−２）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ5にもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素が、図２３に示すＰの位置の場合、（ｘ4，ｙ0〜2）の誤差拡散係数を０とした量子化テーブルＴ4を用いて誤差拡散処理を行い、また、注目画素が、図２４に示すＰの位置の場合、（ｘ4，ｙ0〜2）と（ｘ3，ｙ0〜2）の誤差拡散係数を０とした量子化テーブルＴ5を用いて誤差拡散処理を行う。
【００５８】
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄx≦Ｘ，１≦Ｄy≦Ｙ−ｎ）である場合に第三の量子化テーブル群に含まれる一の量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄx≦Ｘ，１≦Ｄy≦Ｙ−ｎ）である場合に第三の量子化テーブル群に含まれる量子化テーブルのうち対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて誤差拡散処理を行う。
本実施形態の場合、量子化処理部１６は、注目画素のＤy値が１≦Ｄy≦Ｙ−２の範囲である場合において、Ｄx値がＸ−１の場合に量子化テーブルＴ4を用い、Ｄx値がＸの場合に量子化テーブルＴ5を用いて誤差拡散処理を行う。
これにより、対象画像の右部領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００５９】
条件６は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝１，Ｄy＝Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ6にもとづいて誤差拡散処理を行う。
条件７は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝２，Ｄy＝Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ7にもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素が、図２５に示すＰの位置の場合、（ｘ0，ｙ1〜2）と（ｘ1，ｙ1〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ6を用いて誤差拡散処理を行い、また、注目画素が、図２６に示すＰの位置の場合、（ｘ0，ｙ1〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ7を用いて誤差拡散処理を行う。
【００６０】
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，Ｙ−ｎ＋１≦Ｄy≦Ｙ−１）である場合に第六の量子化テーブル群に含まれる一の量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦ａ，Ｙ−ｎ＋１≦Ｄy≦Ｙ−１）である場合に第六の量子化テーブル群に含まれる量子化テーブルのうち対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて誤差拡散処理を行う。
本実施形態の場合、注目画素のＤx値が１でＤy値がＹ−１の場合量子化テーブルＴ6を用い、Ｄx値が２でＤy値がＹ−１の場合に量子化テーブルＴ7を用いて誤差拡散処理を行う。
これにより、対象画像の左部、下部及び左下部の領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００６１】
条件８は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（３≦Ｄx≦Ｘ−２，Ｄy＝Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ8にもとづいて誤差拡散処理を行う。
ここで、条件１１は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（１≦Ｄx≦Ｘ−２，Ｄy＝Ｙ）の場合が該当する。条件１１に該当する場合、量子化処理部１６は、量子化テーブルＴ11にもとづいて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素が、図２７に示すＰの位置の場合、（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ8を用いて誤差拡散処理を行い、注目画素が、図３０に示すＰの位置の場合、（ｘ0，ｙ1）〜（ｘ4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ11を用いて誤差拡散処理を行う。
【００６２】
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−ｍ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に第四の量子化テーブル群に含まれる一の量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−ｍ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に第四の量子化テーブル群に含まれる量子化テーブルのうち対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて前記誤差拡散処理を行う。
本実施形態の場合、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が、（３≦Ｄx≦Ｘ−２，Ｄy＝Ｙ−１）の場合に量子化テーブルＴ8を用いて誤差拡散処理を行い、注目画素の座標（Ｄx，Ｄy）が（１≦Ｄx≦Ｘ−ｍ，Ｄy＝Ｙ）である場合に量子化テーブルＴ11を用いて誤差拡散処理を行う。
これにより、対象画像の下部又は左下部の領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００６３】
条件９は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ−１，Ｄy＝Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ9にもとづいて誤差拡散処理を行う。
条件１０は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ，Ｄy＝Ｙ−１）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ10にもとづいて誤差拡散処理を行う。
条件１２は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ−１，Ｄy＝Ｙ）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ12にもとづいて誤差拡散処理を行う。
条件１３は、図１９＜注＞に示すように、対象画像における注目画素の座標（Ｄx，Ｄy）が、（Ｄx＝Ｘ，Ｄy＝Ｙ）の場合であり、この条件に該当する場合、量子化処理部１６は、量子化テーブルＴ13にもとづいて誤差拡散処理を行う。
【００６４】
具体的には、量子化処理部１６は、注目画素が、図２８に示すＰの位置の場合、（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ9を用いて誤差拡散処理を行い、注目画素が、図２９に示すＰの位置の場合、（ｘ3，ｙ0〜2）と（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ10を用いて誤差拡散処理を行い、注目画素が、図３１に示すＰの位置の場合、（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ1）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ12を用いて誤差拡散処理を行い、また、注目画素が、図３２に示すＰの位置の場合、（ｘ3，ｙ0〜2）と（ｘ4，ｙ0〜2）と（ｘ0〜4，ｙ1）と（ｘ0〜4，ｙ2）の誤差拡散係数を０とした量子化テーブルＴ13を用いて誤差拡散処理を行う。
【００６５】
すなわち、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄｘ≦Ｘ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に第五の量子化テーブル群に含まれる一の量子化テーブルを用いて誤差拡散処理を行う。
具体的には、量子化処理部１６は、注目画素の座標（Ｄx，Ｄy）が（Ｘ−ｍ＋１≦Ｄｘ≦Ｘ，Ｙ−ｎ＋１≦Ｄy≦Ｙ）である場合に第五の量子化テーブル群に含まれる量子化テーブルのうち対象画像の領域外に配置される周辺画素部の誤差拡散係数をすべて０とした量子化テーブルを用いて誤差拡散処理を行う。
本実施形態の場合、量子化処理部１６は、注目画素のＤx値がＸ−１でＤy値がＹ−１の場合に量子化テーブルＴ9を用い、注目画素のＤx値がＸでＤy値がＹ−１の場合に量子化テーブルＴ10を用い、注目画素のＤx値がＸ−１でＤy値がＹの場合に量子化テーブルＴ12を用い、注目画素のＤx値がＸでＤy値がＹの場合に量子化テーブルＴ13を用いて誤差拡散処理を行う。
これにより、対象画像の右部、下部及び右下部の領域外に対し当該誤差拡散処理の影響を及ぼさないようにすることができる。
【００６６】
以上、説明したように、本実施形態の画像形成装置１によれば、量子化テーブル生成部１５が、第一の実施形態と異なる他の量子化テーブルにもとづき、その周辺画素部の誤差拡散係数を０とした量子化テーブル群を生成するようにしている。
具体的には、量子化テーブル生成部１５は、Jarvis，Judice  ＆  Ninkeの量子化テーブルを用い、この量子化テーブルを対象画像に割り当てたとすると、その周辺画素部が対象画像の領域外に配置される場合の当該周辺画素部に格納する誤差拡散係数を０とした量子化テーブルＴ1〜Ｔ13（Ｔ3を除く）を生成し、一定の特性ごとにテーブル群を構成するようにしている。
そして、誤差拡散処理部１６は、量子化処理の際、その注目画素の位置に応じて量子化テーブル群を特定し、その量子化テーブル群に含まれるいずれかの量子化テーブル（量子化テーブルＴ1〜Ｔ13）を用いて誤差拡散処理を行うようにしている。
すなわち、対象画像の任意の画素に量子化テーブルを割り当てた場合であって、その周辺画素部が対象画像の領域外に配置される場合には、その周辺画素部の誤差拡散係数を０とした量子化テーブルを用いて誤差拡散処理を行うようにしている。
【００６７】
このため、サムネイル画像等の量子化処理に際し、隣接する他の画像（例えば、サムネイル画像等）に対する不適切な誤差拡散の影響を排除し、好適な画像形成を実現することができる。
したがって、本実施形態によっても第一実施形態と同じ目的を達することができ、同一の作用効果を奏することができる。
【００６８】
以上、本発明の画像形成装置について、好ましい実施形態を示して説明したが、本発明にかかる画像形成装置は、上述した実施形態にのみ限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述の実施形態においては、Floyd  ＆  SteinbergやJarvis，Judice  ＆  Ninkeの量子化テーブルを用いた方法について説明したが、これらに限定されるものではなく、マトリクスの行数又は列数が異なる他の量子化テーブル（例えば、StuckiやBurkesなど）を用いて誤差拡散処理を行うようにしてもよい。
また、上述の実施形態においては、プリンター等の画像形成装置を電子機器の一態様として説明したが、これに限定するものではなく、例えば、パーソナルコンピューター等画像処理機能を備えた情報処理装置や、生活家電等に搭載される液晶ディスプレイ等に応用することもできる。
さらに、量子化テーブル生成部１５は、誤差拡散係数の合計値が１になるようにして０以外の誤差拡散係数を調整して各量子化テーブルを生成することも可能であり、これにより、誤差拡散処理前後の画素値（濃度値）を一定に保つこともできる。
【産業上の利用可能性】
【００６９】
本発明は、サムネイル画像の生成、表示、出力等を行う画像形成装置に好適に利用することができる。
【符号の説明】
【００７０】
１  画像形成装置
１１  データ受信部
１２  画像データ一時格納部
１３  解像度変換処理部
１４  合成画像生成部
１５  量子化テーブル生成部
１６  量子化処理部
【図１】
0005501108.tif 000002
【図２】
0005501108.tif 000003
【図３】
0005501108.tif 000004
【図４】
0005501108.tif 000005
【図５】
0005501108.tif 000006
【図６】
0005501108.tif 000007
【図７】
0005501108.tif 000008
【図８】
0005501108.tif 000009
【図９】
0005501108.tif 000010
【図１０】
0005501108.tif 000011
【図１１】
0005501108.tif 000012
【図１２】
0005501108.tif 000013
【図１３】
0005501108.tif 000014
【図１４】
0005501108.tif 000015
【図１５】
0005501108.tif 000016
【図１６】
0005501108.tif 000017
【図１７】
0005501108.tif 000018
【図１８ａ】
0005501108.tif 000019
【図１８ｂ】
0005501108.tif 000020
【図１８ｃ】
0005501108.tif 000021
【図１９】
0005501108.tif 000022
【図２０】
0005501108.tif 000023
【図２１】
0005501108.tif 000024
【図２２】
0005501108.tif 000025
【図２３】
0005501108.tif 000026
【図２４】
0005501108.tif 000027
【図２５】
0005501108.tif 000028
【図２６】
0005501108.tif 000029
【図２７】
0005501108.tif 000030
【図２８】
0005501108.tif 000031
【図２９】
0005501108.tif 000032
【図３０】
0005501108.tif 000033
【図３１】
0005501108.tif 000034
【図３２】
0005501108.tif 000035
【図３３】
0005501108.tif 000036
【図３４】
0005501108.tif 000037