首页 / 专利库 / 信号处理 / 载波频率 / 频率偏差 / Image encoding device and image decoding device, control method thereof, computer program, and computer-readable storage medium

Image encoding device and image decoding device, control method thereof, computer program, and computer-readable storage medium

阅读:748发布:2024-01-07

专利汇可以提供Image encoding device and image decoding device, control method thereof, computer program, and computer-readable storage medium专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide an image encoding method of efficiently encoding even image data having deviation of a frequency distribution that a CG image, a limited-color image, etc., may have. SOLUTION: When pixels adjacent to a pixel of interest increase or decrease in pixel value in the order of the left, left upper, upper, and right upper pixels, the periphery of the pixel of interest shows gradations with high possibility and neighborhood matching encoding mode is entered. COPYRIGHT: (C)2008,JPO&INPIT,下面是Image encoding device and image decoding device, control method thereof, computer program, and computer-readable storage medium专利的具体信息内容。

  • 複数成分で構成される画像データを符号化する画像処理装置であって、
    着目画素を所定の複数の符号化済みの画素と画素単位に比較し、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定手段と、
    着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化手段と、
    所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化手段を適用するか否かを判定する第1の符号化モード判定手段と、
    着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分の値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化手段とを具備し、
    前記第1の符号化モード判定手段により、近傍一致情報符号化手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化手段により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、
    前記第1の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力することを特徴とする画像処理装置。
  • 前記第1の符号化モード判定手段は、所定の複数の符号化済みの画素群に含まれる色数を検出し、該色数によって近傍一致情報符号化手段を適用するか否かを判定することを特徴とする請求項1記載の画像処理装置。
  • 前記第1の符号化モード判定手段は、所定の複数の符号化済みの画素群に含まれる画素間の画素値の大小を検出し、検出結果を基に近傍一致情報符号化手段を適用するか否かを判定することを特徴とする請求項1記載の画像処理装置。
  • 前記近傍一致情報符号化手段による近傍一致情報の符号化は前記色数を参照して行うことを特徴とする請求項2記載の画像処理装置。
  • 更に、同一画素値の連続数をカウントして符号化するランレングス符号化手段と、
    符号化済みの画素から該ランレングス符号化手段を適用するか否かを判定する第2の符号化モード判定手段とを具備し、
    前記ランレングス符号化手段により符号化されない画素について、前記近傍一致情報符号化手段と、前記予測符号化手段により符号化を行うことを特徴とする請求項1から4記載の画像処理装置。
  • 前記第2の符号化モード判定手段は、前記色数によって前記ランレングス符号化手段を適用するか否かを判定することを特徴とする請求項5記載の画像処理装置。
  • 複数成分で構成される画像データを符号化する画像処理方法であって、
    着目画素を所定の複数の符号化済みの画素と画素単位に比較して、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定工程と、
    着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化工程と、
    所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化工程を適用するか否かを判定する第1の符号化モード判定工程と、
    着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化工程とを具備し、
    前記第1の符号化モード判定工程により、近傍一致情報符号化工程を適用すると判定された画素について、前記画素一致判定工程により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化工程により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化工程により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、
    前記第1の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力することを特徴とする画像処理方法。
  • 複数成分で構成される画像データを復号する画像処理装置であって、
    着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を復号する近傍一致情報復号手段と、
    所定の複数の符号化済みの画素に基づいて、該近傍一致情報復号手段を適用するか否かを判定する第1の復号モード判定手段と、
    前記近傍一致情報復号手段により復号された近傍一致情報から、着目画素が所定の複数の符号化済みの画素のいずれかと、複数成分の全てで一致するか否かを判定し、判定結果を出力する画素一致判定手段と、
    前記近傍一致情報復号手段により復号された近傍一致情報に従って、複数の符号化済みの画素のいずれか一つの画素値を着目画素の復号値として選択する画素値選択手段と、
    着目画素を構成する複数の成分値のそれぞれについて、符号化済みの同一成分値を参照して予測し、成分値予測符号化データから各成分値を復号する予測符号化データ復号手段とを具備し、
    前記第1の復号モード判定手段により、近傍一致情報復号手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記画素値選択手段により選択された画素値を着目画素の復号値として出力し、一致する画素が存在しないと判定された場合には、前記予測符号化データ復号手段により得られる各成分からなる画素値を着目画素の復号値として出力し、
    前記第1の復号モード判定手段により、近傍一致情報復号手段を適用すると判定された画素について、前記予測符号化データ復号手段により得られる各成分からなる画素値を着目画素の復号値として出力することを特徴とする画像処理装置。
  • 複数の成分値で構成される画像データを復号する画像処理方法であって、
    着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を復号する近傍一致情報復号工程と、
    所定の複数の符号化済みの画素に基づいて、該近傍一致情報復号工程を適用するか否かを判定する第1の復号モード判定工程と、
    前記近傍一致情報復号工程により復号された近傍一致情報から、着目画素が所定の複数の符号化済みの画素のいずれかと、複数成分の全てで一致するか否かを判定し、判定結果を出力する画素一致判定工程と、
    前記近傍一致情報復号工程により復号された近傍一致情報に従って、複数の符号化済みの画素のいずれか一つの画素値を着目画素の復号値として選択する画素値選択工程と、
    着目画素を構成する複数の成分値のそれぞれについて、符号化済みの同一成分値を参照して予測し、成分値予測符号化データから各成分値を復号する予測符号化データ復号工程とを具備し、
    前記第1の復号モード判定工程により、近傍一致情報復号工程を適用すると判定された画素について、前記画素一致判定工程により一致する画素が存在すると判定された場合には、前記画素値選択工程により選択された画素値を着目画素の復号値として出力し、一致する画素が存在しないと判定された場合には、前記予測符号化データ復号工程により得られる各成分からなる画素値を着目画素の復号値として出力し、
    前記第1の復号モード判定工程により、近傍一致情報復号工程を適用すると判定された画素について、前記予測符号化データ復号工程により得られる各成分からなる画素値を着目画素の復号値として出力することを特徴とする画像処理方法。
  • 請求項7または9に記載の各工程をコンピュータに実行させる機能を有することを特徴とするコンピュータプログラム。
  • 請求項10に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
  • 说明书全文

    本発明は画像の符号化を行う画像符号化装置、及び、符号化データから画像の復号を行う画像復号装置、及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読媒体に関するものである。

    従来、画像の符号化、復号を行う画像処理装置を構成する一手法として予測符号化をベースとするものがある。 予測符号化は、画像データを予測変換によって予測誤差へと変換する系列変換部と、系列変換部から出される予測誤差を、ハフマン符号化等のエントロピー符号化を用いて、より冗長性の少ない符号化データへと変換するエントロピー符号化部とによって構成される。

    ISOとITU−Tから国際標準の静止画像符号化方式として勧告されるJPEG(ITU-T T.81 | ISO/IEC10918−1)ではIndependent Functionとして予測符号化をベースとした可逆符号化方式が規定されている。 以下、これをJPEG可逆符号化モードと呼ぶ。 JPEG可逆符号化モードでは、近傍画素から着目画素の値を予測する方法として7つの予測式を規定しており、画像に応じて予測方法を選択できるようになっている。

    図2に従来の画像処理装置のブロック図を示す。 同図は上述のJPEG可逆符号化モードにより画像を可逆圧縮する装置の一例である。 同図に於いて201はバッファ、202は成分値予測部、203は減算器、204はハフマンテーブル用メモリ、205は予測誤差符号化部、209は符号列形成部、206、207、208は信号線である。

    ハフマンテーブル用メモリ204には予測誤差符号化部205において使用されるハフマンテーブルが格納される。 ここでは、図6に示すハフマンテーブルが格納されているものとする。

    同図を用いて従来の画像処理装置により、各成分が8ビットで表現されたRGBカラー画像を符号化する処理の流れを説明する。

    まず、信号線208から成分値予測部202において用いる予測方法を選択する予測選択信号mが入力される。 予測選択信号mは0〜7までの整数値であり、それぞれに異なる予測式が対応付けられる。 使用される予測式と予測選択信号mの対応は図4の通りである。 なお、予測選択信号mが0の場合には予測式なしとなっているが、これは予測変換を行わず、各成分をそのまま符号化することを意味する。 図中、の記号p、a、b、cについては後述する。

    次に、信号線206から画像データが順に入力される。 画素データの入力順序はラスタースキャン順とし、各画素でR、G、Bの順番で成分データが入力されるものとする。 R、G、Bをそれぞれ成分番号0、1、2と定義し、画像の左上隅を座標(0,0)として平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表すこととする。 例えば、位置(x、y)=(3,4)である画素が(R,G,B)=(255,128,0)という値を持つ場合、P(3,4,0)=255、P(3,4,1)=128、P(3,4,2)=0と表現する。

    バッファ201は信号線206から入力される画像データを2ライン分格納する。

    成分値予測部202はバッファ201から着目する画素の成分値x=P(x,y,C)について直前の画素の同一成分の値a=P(x−1,y,C)、1ライン前の画素の同一成分の値b=P(x,y−1、C)、および斜め左上の画素の同一成分の値c=P(x−1,y−1,C)を取り出し、予測方式選択信号mに従って予測値pを生成する。 着目する画素の成分値xとa、b、cの位置関係を図3に示す。 なお、a、b、cが画像の外側となる場合には0とする。

    減算器203は符号化対象となる成分値xと予測値pとの差分値を求め、予測誤差eとして出力する。

    予測誤差符号化部205は、まず、減算器203から入力される予測誤差eを複数のグループに分類して、グループ番号SSSSと、グループごとに定められるビット長の付加ビットを生成する。 図5に予測誤差eとグループ番号SSSSの関係を示す。 付加ビットはグループ内で予測誤差を特定するための情報であり、ビット長はグループ番号SSSSで与えられる。

    なお、SSSS=16である場合には例外的にビット長は0である(但し、各成分の精度が8ビットである場合にはSSSS=16は発生しない)。 予測誤差eが正であるならば予測誤差eの下位SSSSビットが付加ビットとなり、負である場合にはe−1の下位SSSSビットが付加ビットとなる。 付加ビットの最上位ビットは予測誤差eが正であれば1、負であれば0でなる。

    符号化処理は、まず、メモリ204に格納されているハフマンテーブルを参照して、グループ番号SSSSに対応する符号化データを出力し、SSSSが0または16でない場合には続いてグループ番号により定まるビット長で付加ビットを出力するという順序で行われる。

    符号列形成部209は信号線208を介して入力される予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、予測誤差符号化部205から出力される符号化データから、JPEGの規格書に準拠したフォーマットの符号列を形成し、信号線207に出力する。

    上述の従来方式による画像処理装置で、CG画像や限定色画像等、各成分の輝度の頻度分布に偏りのある様な画像データを符号化する場合には、上述した系列変換後の予測誤差の発生頻度も、いくつかの特定の予測誤差値に偏ったものとなることがある。

    このような場合、エントロピー符号化による符号長として短い符号長が割り当てられているにも関わらず、殆どもしくは全く発生しない予測誤差が存在することがあり、圧縮率が良くならない。

    このような問題に対して従来から、予測誤差の発生頻度分布が離散的かどうか判別し、判別の結果に応じて予測誤差に対応する符号化データを変更してエントロピー符号化する手法(例えば特許文献1を参照)や、符号化対象画像が離散的な画素値で構成されているかどうか判別し、判別の結果に応じて予測値を修正する手法(例えば特許文献2を参照)などが開示されている。

    また、画素毎の符号化において、近傍の画素との一致情報を符号化する方法(例えば特許文献3を参照)が知られている。

    特開平10−004551号公報

    特開平10−004557号公報

    特開平10−336458号公報

    特許文献1或いは特許文献2においては、各画素の成分値の発生状況、あるいは予測誤差の発生状況を把握する必要があり、処理の負荷が増えることや、ハフマン符号のようなブロック符号を用いて各成分を予測符号化した場合、少なくとも1成分当たり1ビットが必要であるため、文字、線画、CG画像などエントロピの低い画像データでは符号化効率の面でもなお改善の余地がある。

    本願発明は、上述の問題点に鑑みてなされたものであり、CG画像や、限定色画像などに見られる様な頻度分布に偏りのある画像データに対しても効率良く符号化する画像符号化手法を提供することを目的とする。

    本発明の目的を達成するために、例えば本発明の画像処理装置は以下の構成を備える。

    即ち、複数成分で構成される画像データを符号化する画像処理装置であって、着目画素を所定の複数の符号化済みの画素と画素単位に比較し、複数成分の全てが一致する画素が存在するか否かを判定し、判定結果を出力する画素一致判定手段と、着目画素と所定の複数の符号化済みの画素との一致不一致を表す近傍一致情報を符号化する近傍一致情報符号化手段と、所定の複数の符号化済みの画素に基づいて、該近傍一致情報符号化手段を適用するか否かを判定する第1の符号化モード判定手段と、着目画素を構成する複数成分のそれぞれの値について、符号化済みの同一成分の値を参照して予測符号化し、成分値予測符号化データを生成する予測符号化手段とを具備し、前記第1の符号化モード判定手段により、近傍一致情報符号化手段を適用すると判定された画素について、前記画素一致判定手段により一致する画素が存在すると判定された場合には、前記近傍一致情報符号化手段により得られる近傍一致情報の符号化データを着目画素の符号化データとして出力し、一致する画素が存在しないと判定された場合には、近傍一致情報の符号化データと前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力し、前記第1の符号化モード判定手段により、近傍一致情報符号化手段を適用しないと判定された画素について、前記予測符号化手段により得られる各成分の成分値予測符号化データを着目画素の符号化データとして出力することを特徴とする。

    以上、本発明の構成によれば、自然画像などの符号化性能をできるだけ保持したまま、CG画像や限定色画像等の、頻度分布に偏りのある画像データを符号化する場合にも高い圧縮性能を得ることができる。

    以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。

    [第1の実施形態]
    図14は本実施形態に係る画像処理装置の基本構成を示す図である。

    1401はCPUで、RAM1402やROM1403に記憶されているプログラムやデータを用いて本装置全体の制御を行うと共に、後述する画像符号化処理、復号処理を実行する。

    1402はRAMで、外部記憶装置1407や記憶媒体ドライブ1408、若しくはI/F1409を介して外部装置からダウンロードされたプログラムやデータを記憶する為のエリアを備えると共に、CPU1401が各種の処理を実行する際に使用するワークエリアも備える。

    1403はROMで、ブートプログラムや本装置の設定プログラムやデータを格納する。

    1404、1405は夫々キーボード、マウスで、CPU1401に対して各種の指示を入力することができる。

    1406は表示装置で、CRTや液晶画面などにより構成されており、画像や文字などの情報を表示することができる。

    1407は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOSや後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象画像の符号化データなどが保存されており、CPU1401による制御によって、これらのプログラムやデータはRAM1402上の所定のエリアにロードされる。

    1408は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの記憶媒体に記録されたプログラムやデータを読み出してRAM1402や外部記憶装置1407に出力するものである。 なお、この記憶媒体に後述する画像符号化、復号処理の為のプログラム、符号化対象の画像データ、復号対象の画像の符号化データなどを記録しておいても良く、その場合、記憶媒体ドライブ1408は、CPU1401による制御によって、これらのプログラムやデータをRAM1402上の所定のエリアにロードする。

    1409はI/Fで、このI/F1409によって外部装置を本装置に接続し、本装置と外部装置との間でデータ通信を可能にするものである。 例えは符号化対象の画像データや、復号対象の画像の符号化データなどを本装置のRAM1402や外部記憶装置1407、あるいは記憶媒体ドライブ1408に入力することもできる。

    1410は上述の各部を繋ぐバスである。

    図1は本実施形態に係る画像処理装置の機能構成を示すブロック図である。

    図1に示すように、本実施形態に係る画像処理装置は、近傍一致判定部101、一致画素位置符号化部102、符号生成部103、符号形成部104、バッファ201、成分値予測部202、減算器203、メモリ204、予測誤差符号化部205、画素一致検出部107とを備える。 同図において206、207、105、106、108は信号線を示す。 背景技術の部分で述べた図2の従来の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。 なお、本実施形態では図1に示す各部を、各部の機能をコンピュータに実現させるプログラムにより実現するものとし、このプログラムは上記外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとして説明するが、図1に示す構成をハードウェアにより実現しても良い。

    以下、図1を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。

    本実施形態に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント(色成分)8ビットで0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。 符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR、G、Bの順番でデータを並べて構成されるものとする。 また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。

    次に、本実施形態の画像処理装置での各部の動作について説明する。

    符号化対象画像データは信号線206から順に入力される。 画素データの入力順序はラスタースキャン順とし、各画素でR、G、Bの順番で成分データが入力されるものとする。 画素の各成分の輝度値は、従来技術の説明と同じく、R、G、Bをそれぞれ成分番号0、1、2と定義し、画像の左上隅を座標(0,0)として水平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表す。 例えば、水平方向画素位置10、垂直方向画素位置25の画素のR、G、B各成分の値はそれぞれP(10,25,0)、P(10,25,1)、P(10,25,2)と表す。 また、成分のまとまりとして画素値を表現する場合にはR、G、Bの各成分値を要素とするベクトルXとして表現する。 例えば、R、G、B各成分の値がr、g、bである画素についてはX=(r,g,b)と記述する。

    本画像処理装置では信号線206から順次入力される画像データの1画素ごとに、符号列形成部104から対応する符号が出力される。

    バッファ201は画像データを2ライン分格納する領域を持ち、信号線206から入力される画像データを順次格納していく。 先に述べたように、画像データは各画素がラスター順に、そして各画素ではR、G、Bの順番で成分値が入力されるが、バッファ201からは、図3のa、b、cに示す周囲3画素の同一成分値が読み出され、近傍一致判定部101、成分値予測部202へと出力される。 着目する成分値をP(x,y,C)とするときa=P(x−1,y,C)、b=P(x,y−1、C)、c=P(x−1,y−1,C)である。 なお、画像の最初のラインや各ラインの先頭/末尾などで、a、b、cが画像の外側となる場合には符号化側と復号側で共通の値を仮定する。 本実施形態では0とする。

    近傍一致判定部101は着目する成分値x=P(x,y,C)とバッファ201から読み出されるa、b、cを比較して、同一画素値を持つ近傍画素の情報を画素単位に生成し、出力する。 ここで同一画素値であるとは、すなわち、2つの画素X1=(r1、g1、b1)とX2=(r2、g2、b2)で表される画素の2つがあるとするとr1=r2、g1=g2、b1=b2というように全ての成分値が同じである場合をさす。 着目する画素値をXとして直前の画素値をXa、1ライン前の画素値をXb、斜め左上の画素値をXcとするとき、X=Xaである場合には“0”、X≠XaかつX=Xbである場合には“1”、X≠Xa、かつ、X≠Xb、かつX=Xcである場合には“2”、それ以外の場合には“3”を近傍画素一致情報として信号線106から出力する。 なお、着目する画素の位置を(x、y)とし、これを用いてX、Xa、Xb、Xcを表現すると以下の通りである。

    X=(P(x,y,0)、P(x,y,1)、P(x,y,2))
    Xa=(P(x−1、y、0)、P(x−1,y,1)、P(x−1、y、2))
    Xb=(P(x、y−1,0)、P(x,y−1,1),P(x,y−1,2))
    Xc=(P(x−1,y−1,0)、P(x−1,y−1,1)、P(x−1,y−1,2))
    一方、信号線105からは周囲3画素に一致する画素が存在するか否かを表す情報を出力する。 信号線106から出力される近傍画素一致情報が“3”である場合、すなわち、着目画素Xが周囲3画素Xa、Xb、Xcのいずれとも一致していない場合には信号線105から“1”を出力し、それ以外の場合、すなわち、Xa、Xb、Xcの少なくとも何れか1つと一致する場合には信号線105から“0”を出力する。

    一致画素位置符号化部102では、信号線106から入力される近傍画素一致情報を符号化し、符号語を符号生成部103へと出力する。 本実施形態では図7に示す符号表を用いて近傍一致情報の符号化を行うものとする。

    画素一致検出部107はバッファ201から読み出されるa、b、cを比較して、着目画素の周囲3画素(Xa、Xb、Xc)の間で同一の画素値が存在するか否かを調べ、同一の画素値が検出された場合には“1”を、検出されなかった場合には“0”を出力する。 即ち、Xa=Xb、または、Xa=Xc、または、Xb=Xcであった場合には“1”、それ以外に場合には“0”を出力する。 周囲3画素内に同一の画素値が存在するということは、即ち、周囲3画素を構成する色数が2色以下であることを意味する。

    一方、画素の各成分は先に説明した従来方式と同様にして、成分値予測部202、減算器203、予測誤差符号化部205によって、信号線208から入力される予測選択信号mに応じた予測方式を用いた予測符号化が行われる。

    符号生成部103では一致画素位置符号化部102から出力される近傍画素一致情報に対する符号語と、予測誤差符号化部205から出力される着目画素の各成分の予測符号化データを適宜格納し、信号線105から入力される制御信号と、信号線108から入力される検出結果に応じて着目画素に対する符号を形成し、出力する。 信号線108から入力される検出結果が“0”である場合には、予測誤差符号化部205から出力される各成分の予測符号化データを出力する。 信号線108から入力される検出結果が“1”である場合には、信号線105から入力される制御信号が“0”ならば一致画素位置符号化部102から出力される近傍画素一致情報のみを出力し、制御信号が“1”ならば一致画素位置符号化部102から出力される近傍画素一致情報に続けて予測誤差符号化部205から出力される各成分の予測符号化データを出力する。 図8(a)に検出結果が“0”である場合、(b)に検出結果が“1”で制御信号が“0”である場合、(c)に検出結果が“1”で制御信号も“1”である場合の着目画素の符号の構成を図示する。

    符号列形成部104では信号線208を介して入力される予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、符号生成部103から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線207に出力する。 図9に符号列形成部104から出力される符号列の構成の一例を示す。 先頭のHeader部分に付加情報が格納され、続いてラスタースキャン順の各画素の符号化データが並ぶ。 同図の画素符号化データは図8(a)または(b)または(c)の構造を持つ。

    図10は、本実施形態に係る画像処理装置による符号化対象画像データの符号化処理の流れを示すフローチャートである。 なお同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図10に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。

    まず、装置外部から信号線208を介して予測選択信号mが入力される(ステップS1000)。 続いて符号列形成部104において、予測選択信号mなど、符号化対象画像の付加情報を含めたヘッダが生成され、出力される(ステップS1001)。 着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS1002)、さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS1003)。 同様に着目する成分番号を保持するカウンタCを0に設定する(ステップ1004)。 信号線206から着目画素の成分値P(x,y,C)が入力され、バッファ201に格納される。 成分値P(x,y,C)は成分値予測部202、減算器203、予測誤差符号化部205により予測符号化されると同時に、近傍一致判定部101において周囲画素の同一成分値との比較が行われる(ステップS1005)。

    着目する成分番号Cに1を加え(ステップS1006)、RGB画像の色成分の数である3と比較してC<3であればステップS1005に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップS1014へと処理を移す。

    ステップS1014では画素一致検出部107により周辺3画素間で同一の画素値が存在するか否かを判定し、存在する場合(YES)にはステップS1008へ、存在しない場合(NO)にはステップS1009へと処理を移す。

    ステップS1008では近傍一致判定部101から近傍一致情報が出力され、一致画素位置符号化部102でこれを符号化する。 ステップS1009では、符号生成部103により信号線105からの制御信号と信号線108からの検出結果に従って着目する画素についての符号を形成し、符号列形成部104を介して出力する(ステップS1009)。

    着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS1010)、画像の水平方向画素数Wと比較してx<Wであれば処理をステップS1004へと戻し、次の画素の符号化処理を行い、そうでない場合にはステップS1012へと処理を移す。

    ステップS1012では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば処理をステップS1003へと戻し、次のラインの画素について同様に処理を行い、そうでない場合には対象とする画像データについての符号化処理を終了する。

    以上の説明のように、本実施形態に係る画像処理装置では、符号化対象の画素Xの周囲にある符号化済みの画素Xa、Xb、Xcを調べ、Xa、Xb、Xcに同一の画素値が存在する場合には、画素Xと、画素Xa、Xb、Xcとの一致/不一致を示す近傍一致情報を符号化し、一致する画素がなかった場合に着目画素の各成分を予測符号化することで、文字、線画、CG画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を大幅に改善することができる。

    また、Xa、Xb、Xcに同一の画素値が存在しなかった場合には、一致/不一致情報の符号化を行わずに、着目画素の各成分を予測符号化することで、自然画像など、周囲画素値との一致確率の低い画像データを符号化する場合においても近傍一致情報を符号化することによる符号量の増加を避けることができる。 近傍一致情報の符号化を適用するか否かを画素単位に切り替えているので、文字、写真などが混在する画像に対して良好な圧縮性能をえることができる。

    [第2の実施形態]
    第1の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。 本発明の第2の実施形態として、第1の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。

    本実施形態の画像処理装置においても基本構成は第1の実施形態で説明した図14と同じであるとする。

    図11は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。 図11に示すように、本実施形態に係る画像処理装置は、符号バッファ1101、ヘッダ解析部1102、一致画素位置復号部1103、予測誤差復号部1104、セレクタ1105、スイッチ1106、バッファ201、成分値予測部202、加算器1111、画素一致検出部107とを備える。 同図において1107、1108、1109、1110、1112は信号線である。 従来の画像処理装置、および第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。 なお、図11に示す構成はハードウェアにより実現しても良いが、本実施形態では図11に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。

    以下、図11を参照して、本実施形態に係る画像処理装置が行う処理について説明する。

    信号線1107を介して復号対象となる符号化データが本画像処理装置に入力される。

    符号バッファ1101は信号線1107から入力される符号化データを適宜内部バッファに格納する。

    ヘッダ解析部1102は符号バッファ1101に格納される符号化データのヘッダ部分を解析し、予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報を得る。 これら付加情報は復号の過程で利用されるとするが、特に、予測選択信号mは成分値予測部202へと出力される。

    画素一致検出部107は第1の実施形態と同様にして、着目画素の周囲3画素(Xa、Xb、Xc)内に同一の画素値が存在するか否かを調べ、検出結果を信号線1112へと出力する。

    一致画素位置復号部1103では、信号線1112から入力される画素一致検出部107での検出結果が“1”である場合に、各画素の符号化データについて、図7に示す符号語と近傍一致情報との対応を参照して、近傍一致情報の復号を行う。 復号した近傍一致情報は信号線1109を介してセレクタ1105へと入力される。

    また、復号した近傍一致情報が“3”である場合、信号線1108から予測誤差復号部1104、スイッチ1106を制御する信号として“1”を出力し、それ以外の場合には“0”を出力する。 一方、信号線1112から入力される検出結果が“0”である場合には、近傍一致情報の符号化は行わず、信号線1108から制御信号“1”を出力する。

    予測誤差復号部1104は、一致画素位置復号部1103からの制御信号が“1”である場合に、ハフマンテーブル用メモリ204に格納されるハフマンテーブルを参照して、着目する画素の各成分の予測誤差を復号する。

    成分値予測部202では符号化時と同様にして、予測方式選択信号mによって選択された予測式を用いて着目する成分値に対する予測値pを生成し、出力する。

    加算器1111は成分値予測部202から出力される予測値pに予測誤差復号部1104で復号した予測誤差eを加え、着目する成分値を復元して出力する。

    セレクタ1105は一致画素位置復号部1103から信号線1109を介して入力される近傍一致情報に従って、バッファ201から読み出される着目画素Xの周囲画素Xa、Xb、Xcの各成分値の何れかを選択して出力する。 近傍一致情報が“0”である場合には、Xaの各成分値を選択し、“1”である場合にはXbの、“2”である場合にはXcの各成分値を選択して出力する。 なお、近傍一致情報が“3”である場合にはセレクタ1105からの出力は無効である。

    スイッチ1106は一致画素位置復号部1103から信号線1108を介して入力される制御信号に応じて信号線1110を端子aか端子bに接続する。 制御信号が“1”である場合には端子aに接続し、“0”である場合には端子bに接続する。

    信号線1110から復号された各画素の各成分の値が出力されるが、これらはバッファ201にも格納され、以降の画素の復号において周囲の画素値として利用される。

    図12は、本実施形態に係る画像処理装置による復号処理の流れを示すフローチャートである。 なお同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図12に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う復号処理の全体的な流れについて説明する。

    信号線1107から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部1102で符号化データのヘッダを解析して復号に必要な付加情報を取り出す(ステップS1201)。 着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS1202)、同水平方向位置を保持するカウンタxを0に設定する(ステップS1203)。

    さらに、着目する成分番号を保持するカウンタCを0に設定する(ステップS1204)。 各画素の復号では、まず、画素一致検出部107において周辺3画素間で同一の画素値が存在するか否かを判定し、存在する場合(YES)にはステップS1205へ、存在しない場合(NO)にはステップS1216へと処理を移す(ステップS1215)。

    ステップS1205では一致画素位置復号部1103により近傍一致情報が復号されて信号線1109から出力されるとともに、予測誤差復号部1104とスイッチ1106を制御する制御信号が信号線1108から出力される。 近傍一致情報が“3”であるかを判定し(ステップS1206)、YESならばステップS1207へ、NOならばステップ1208へと処理を移す。

    YESの場合(このとき信号線1108の制御信号は“1”)、スイッチ1106が端子aに接続され、成分値予測部202、予測誤差復号部1104、加算器1111により着目する成分値P(x,y,C)が復号される(ステップS1207)。 一方、NOである場合(このとき信号線1108の制御信号は“0”)、スイッチ1106が端子bに接続され、一致画素位置復号部1103で復号した近傍一致情報に基づいてバッファ201から読み出される周辺画素の何れか1つの成分値をセレクタ1105で選択し、これを着目する画素の成分値P(x,y,C)として出力する(ステップS1208)。

    ステップ1207、あるいはステップ1208で出力される成分値P(x,y,C)は信号線1110から装置外部へと出力されるとともに、バッファ201に格納される。 ステップS1209では着目する成分番号を保持するカウンタCに1を加え、RGB画像の色成分の数である3と比較してC<3であればステップS1206に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップS1211へと処理を移す。

    一方、ステップS1215の分岐によりステップS1216へと処理が移された場合、画素一致検出部107から出力される検出結果は“0”、一致画素位置復号部1103から出力される制御信号は“1”となり、スイッチ1106が端子aに接続され、成分値予測部202、予測誤差復号部1104、加算器1111により着目する成分値P(x,y,0)が復号される(ステップS1216)。

    続いて同様に成分値予測部202、予測誤差復号部1104、加算器1111により成分値P(x,y,1)が復号され(ステップS1217)、さらに成分値P(x,y,2)が復号される(ステップS1218)。 ステップS1211では着目する画素の水平方向位置を保持するカウンタxに1を加え、画像の水平方向画素数Wと比較してx<Wであれば処理をステップS1204へと戻し、次の画素の復号処理を行い、そうでない場合にはステップS1213へと処理を移す。

    ステップS1213では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば処理をステップS1203へと戻し、次のラインの各画素について同様に処理を行い、そうでない場合には対象とする符号化データの復号処理を終了する。

    以上の動作により、符号化データから完全に元の画像データを復元することができる。

    [第3の実施形態]
    第1の実施形態の画像処理装置では、単一の符号表を用いて近傍一致情報を符号化する構成とした。 この構成は、簡易である反面、冗長性が残る。 また、周囲の色数が少ない場合には着目画素値と周囲画素値のいずれかが同一である可能性も高く、反対に色数が多い場合には低くなる傾向が見られる。

    そこで、第3の実施形態として、周囲画素の色数に応じて適応的に近傍一致情報を符号化するか否かを切り替え、さらに色数に応じて近傍一致情報の符号化方法を変更することにより、符号の冗長性を除き、さらに圧縮効率を高めることを目指した方法について説明する。

    本実施形態の画像処理装置においても基本構成は第1の実施形態で説明した図14と同じであるとする。

    図13は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。 図13に示すように、本実施形態に係る画像処理装置は、色数判定部1301、近傍一致判定部1302、一致画素位置符号化部1303、予測誤差符号化部1304、符号生成部1305、バッファ201、成分値予測部202、減算器203とを備える。 同図において105、106、206、207は信号線である。

    従来の画像処理装置、および第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。 なお、図13に示す構成はハードウェアにより実現しても良いが、本実施形態では図13に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。

    以下、図13を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
    本実施形態に係る画像処理装置の符号化対象とする画像データは、第1の実施形態と同じく、RGBカラー画像データであり、各コンポーネント(色成分)8ビットで0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。

    符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR、G、Bの順番でデータを並べて構成されるものとする。 また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。

    次に、本実施形態の画像処理装置での各部の動作について説明する。 第1の実施形態の画像処理装置では装置外部から成分値予測部202で使用する予測方式を選択する予測選択信号mが入力され、これによって予測方式が切り替わる構成としたが、本実施形態の画像処理装置では、成分値予測部で用いる予測方式は固定であるとし、成分値予測部202には常に予測選択信号m=4が入力されているものとする。

    色数判定部1301は着目する画素Xの各成分について、バッファ201から図3のa、b、c、dに示す周囲4画素の同一成分値を読み出し、画素Xa、Xb、Xc、Xdを得る。 着目する画素の位置を(x、y)とし、これを用いてXdを表現すると以下の通りである。

    Xd=(P(x+1,y−1,0)、P(x+1,y−1,1)、P(x+1,y−1,2))
    このXa、Xb、Xc、Xdが何種類の色で構成されているかを検出して、その色数Ncを出力する。 具体的には4画素から2画素を取り出す6通りの組み合わせについて、取り出した2画素が同一である数をカウントし、0であれば4色、1であれば3色、2か3であれば2色、6であれば1色と判断し、その色数Ncを出力する。

    近傍一致判定部1302は着目画素Xと同一の画素がその周囲4画素(Xa,Xb,Xc,Xd)に存在するか否かを表す情報を生成し、出力する。 第1の実施形態で説明した近傍一致判定部101ではXdを使用していなかったが、本実施形態では周囲4画素との比較を行う。 近傍一致判定部1302から信号線106へと出力される近傍一致情報は、色数判定部1301から出力される色数Ncに依存する。

    それぞれの色数Ncの場合に分けて近傍一致判定部1302の処理を説明する。 まず、色数Ncが4である場合、即ち、Xa、Xb、Xc、Xdが全て異なる画素値である場合には近傍一致判定部から出力される近傍一致情報はXa〜Xdとの一致不一致によらず、“4”となる。

    色数Ncが1の場合、すなわちXa〜Xdが同一の画素値である場合にはXとXaを比較してX=Xaならば“0”、X≠Xaならば“1”を出力する。 色数Ncが2の場合、すなわち、Xa〜Xdが2つの画素値で構成されている場合、Xa、Xb、Xc、Xdの順番で第1の画素値(色)X1と第2の画素値X2を求め、X=X1ならば“0”、X=X2ならば“1”、X≠X1かつX≠X2ならば“2”を近傍一致情報として出力する。 Xa、Xb、Xc、Xdの順番で見た場合、第1の画素X1はXaである。

    また、第2の画素値はXaと異なる値を持つXb、Xc、Xdのいずれかである。 色数Ncが3の場合、すなわち、Xa〜Xdが3つの画素値で構成されている場合、Xa、Xb、Xc、Xdの順番で第1の画素値X1、第2の画素値X2、第3の画素値X3を求め、X=X1ならば“0”、X=X2ならば“1”、X=X3ならば“2”、X≠X1かつX≠X2かつX≠X3ならば“3”を近傍一致情報として出力する。

    一方、信号線105からは周囲4画素に一致する画素が存在するか否かを表す情報を出力する。 信号線106から出力される近傍画素一致情報と色数判定部1301から得られる色数Ncとを比較し、近傍一致情報が色数Ncと等しい場合には信号線105から“1”を出力し、それ以外の場合には“0”を出力する。

    従って、色数Ncが4である場合には常に“1”となる。 また、色数Ncが4以外の場合には、着目画素Xが周囲4画素Xa、Xb、Xc、Xdのいずれとも一致していないならば“1”、少なくとも何れか1つの一致する場合には“0”を出力する。

    一致画素位置符号化部1303では、信号線106から入力される近傍画素一致情報を符号化し、符号語を符号生成部1305へと出力する。 本実施形態では色数判定部1301から出力される色数Ncによって図15(a)、(b)、(c)の符号表を切り替えて使用する。 色数Ncが4である場合には一致画素位置符号化部からの符号出力は行われない。

    一方、第1の実施形態と同様にして、画素の各成分は成分値予測部202、減算器203、予測誤差符号化部1304によって予測符号化される。 本実施形態では予測選択信号mを固定値4として、全ての成分値に対してa+bcの式により予測を行うこととする。 第1の実施形態では予測符号化部205において図6の符号表を用いたハフマン符号化を行ったが、本実施形態ではGolomb符号を用いる例について示す。

    Golomb符号は非負の整数値を符号化対象とし、パラメータ変数kによって異なる複数の確率モデルによる符号化が可能であるという特徴を持ち、また、符号化対象シンボルとパラメータ変数kから符号語を導出することができるため、符号表が不要という利点がある。

    Golomb符号の一形態がISOとITU-Tから国際標準勧告されるJPEG-LS(ISO/IEC 14495−1|ITU-T Recommendation T.87)において予測誤差の符号化方式として採用されている。 ここでは減算器203から出力される予測誤差eを次式により非負の整数値(Vとする)に変換した後に、これを選択したkパラメータでGolomb符号化する。

    | 2×e (e≧0の場合)
    V = |
    | −2×e - 1 (e<0の場合)
    符号化対象の非負の整数値Vを符号化パラメータkでGolomb符号化する手順は次の通りである。 まず、Vをkビット右シフトして整数値mを求める。 Vに対する符号はm個の「0」に続く「1」(可変長部)とVの下位kビット(固定長部)の組み合わせにて構成する。 図16にk=0、1、2におけるGolomb符号の例を示しておく。

    ここに述べた符号の構成方法は一例であり、固定長部と可変長部の順序が逆にしても一意復号可能な符号を構成することができ、また、0と1を反対にして符号を構成することもできる。 符号化パラメータkの選択方法としては所定の単位で最適なkパラメータの選択して符号列に含める方法など様々な手法が考えられるが、本実施形態ではJPEG-LSと同様の手法により符号化の過程で更新していく方法を用いる。

    以下、符号化パラメータkの選択方法について述べる。 予測誤差符号化部1304には符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C](Cは成分番号であり、0〜2)とを備える。 符号化の開始時点でカウンタNを1に、とカウンタA[0]〜A[2]を2に設定する。 符号化対象の成分値ごとにN×2^kがA[C]を超えない最大のkを求め、これを用いて先に説明した手順にて予測誤差eをGolomb符号化し、符号語を出力する。

    近傍一致判定部1302から信号線105を介して入力される制御信号が“1”である場合には、各成分の符号化処理後にA[C]に予測誤差の絶対値|e|を加算して更新する。 またこの場合、全成分の符号化処理後にNに1を加えて更新する。 なお、A[C]とNを所定の範囲内に限定するためにはNが一定値(例えば32)に達したタイミングでA[C]とNを1/2にするといった処理を適用すれば良い。

    符号生成部1305では信号線105から入力される制御信号に従って、一致画素位置符号化部1303から出力される符号語と予測誤差符号化部1304から出力される各成分の予測符号化データから着目する画素に対する符号化データを生成する。 信号線105からの制御信号が“0”である場合には図8(b)のように一致画素位置符号化部1303から出力される符号語のみを着目画素の符号化データとする。

    一方、制御信号が“1”である場合には同図(c)のように一致画素位置符号化部1303から出力される符号語に、予測誤差符号化部1304から出力される各成分値の予測符号化データを連結させて着目画素の符号化データとする。

    なお、色数判定部1301により検出された色数Ncが4であった場合には一致画素位置符号化部1303から出力される符号語は無い(即ち、近傍一致情報の符号語長は0である)という点に注意する。

    符号列形成部104では予測選択信号mや、画像の水平方向/垂直方向の画素数、画素を構成する成分の数、各成分の精度などの付加情報と、符号生成部1305から出力される符号化データから、所定のフォーマットの符号列を形成し、信号線207に出力する。 本実施形態においても第1の実施形態と同様に図9に示す構成の符号列を生成することができる。 なお、本実施形態の画像処理装置では予測選択信号mを固定値としているのでヘッダから除くこともできる。

    本実施形態の画像処理装置においても第1の実施形態おける符号化処理の流れとして示した図10のフローチャートとほぼ同様の流れにより符号化処理が行われる。 特に異なる点としてはステップS1000に示した予測選択信号mの入力が不要となり、ステップS1008の近傍一致情報の符号化の前に色数判定部1301により色数Ncを求める処理が必要となる点である。

    なお、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図10に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。

    本実施形態では予測選択信号mを固定としているので、ステップS1000に示した予測選択信号mを入力するステップはスキップされる。 まず、符号列形成部104において、符号化対象画像の付加情報を含めたヘッダが生成され、出力される(ステップS1001)。 着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS1002)、さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS1003)。

    同様に着目する成分番号を保持するカウンタCを0に設定する(ステップ1004)。 信号線206から着目画素の成分値P(x,y,C)が入力され、バッファ201に格納される。 成分値P(x,y,C)は成分値予測部202、減算器203、予測誤差符号化部1304により予測符号化されると同時に、近傍一致判定部1302において周囲画素の同一成分値との比較が行われる(ステップS1005)。

    着目する成分番号Cに1を加え(ステップS1006)、RGB画像の色成分の数である3と比較してC<3であればステップS1005に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップS1008へと処理を移す。

    着目画素について全ての成分が入力されると色数判定部1301において色数Ncが求められ、これを用いて近傍一致判定部1302から近傍一致情報と制御信号が出力され、一致画素位置符号化部1303でこれを符号化する。

    但し、Ncが4である場合には近傍一致情報の符号化は行われない(ステップS1008)。 一致画素位置符号化部1303から出力される近傍一致情報の符号語と、予測誤差符号化部1304から出力される各成分の予測符号化データを受け取ると符号生成部1305は信号線105からの制御信号に従って着目する画素についての符号を形成し、符号列形成部104を介して出力する(ステップS1009)。

    着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS1010)、画像の水平方向画素数Wと比較してx<Wであれば処理をステップS1004へと戻し、次の画素の符号化処理を行い、そうでない場合にはステップS1012へと処理を移す。

    ステップS1012では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば処理をステップS1003へと戻し、次のラインの画素について同様に処理を行い、そうでない場合には対象とする画像データについての符号化処理を終了する。

    以上の説明のように、本実施形態に係る画像処理装置では、符号化対象となる画素Xの周囲にある符号化済みの画素Xa、Xb、Xc、Xdの色数に応じて近傍一致情報の符号化の有無、および、近傍一致情報の符号化における符号の割り当てを変更している。

    これにより、文字、線画、CG画像など、着目画素の周囲に同じ色の画素が存在する可能性の高い画像データの可逆圧縮性能を更に向上させるとともに、自然画像など、着目画素の周囲に同じ色の画素が存在する可能性の低い画像データにおいても余分な付加を発生することなく、効率的な符号化を行うことができる。

    [第4の実施形態]
    第3の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。 本発明の第4の実施形態として、第3の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。

    本実施形態の画像処理装置においても基本構成は第1の実施形態で説明した図14と同じであるとする。

    図17は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。 図17に示すように、本実施形態に係る画像処理装置は、一致画素位置復号部1701、予測誤差復号部1702、セレクタ1703、色数判定部1301、符号バッファ1101、ヘッダ解析部1102、スイッチ1106、バッファ201、成分値予測部202、加算器1111とを備える。

    同図において1107、1108、1109、1110は信号線である。 従来の画像処理装置、および第1から第3の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。

    なお、図17に示す構成はハードウェアにより実現しても良いが、本実施形態ではこれまでの実施形態と同様に図17に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとする。

    以下、図17を参照して、本実施形態に係る画像処理装置が行う処理について、第2の実施形態で説明した画像処理装置との差異を説明する。

    第2の実施形態と同様に、復号対象となる符号化データが信号線1107を介して本画像処理装置に入力され、符号バッファ1101に適宜格納され、ヘッダ解析部1102により付加情報の取得が行われる。

    色数判定部1301では第3の実施形態で説明した処理により、色数Ncを求めて出力する。

    一致画素位置復号部1701では、色数判定部1301から出力される色数Ncが1から3である場合に、各画素の符号化データについて、まず、図15に示す符号語と近傍一致情報との対応を参照して、近傍一致情報の復号を行う。 復号に用いる符号表は色数Ncに応じて図15(a)、(b)、(c)から一つを選択して用いる。

    復号した近傍一致情報は信号線1109を介してセレクタ1105へと入力される。 また、復号した近傍一致情報と色数Ncを比較して、等しい場合には信号線1108から予測誤差復号部1702とスイッチ1106を制御する信号として“1”を出力し、異なる場合には“0”を出力する。

    一方、色数Ncが4である場合には信号線1108から制御信号“1”を出力し、近傍一致情報として“4”を信号線1109から出力する。

    予測誤差復号部1702は、一致画素位置復号部1103からの制御信号が“1”である場合に、第3の実施形態で説明した予測誤差符号化部1304の符号化処理と対をなす復号手順により着目する画素の各成分の予測誤差を復号する。
    予測誤差復号部1702においても予測誤差符号化部1304と同様に符号化済みの画素の数を保持するカウンタNと、各成分毎に符号化済みの予測誤差の絶対値の合計を保持するカウンタA[C](Cは成分番号であり、0〜2)とを備え、復号の開始時点でカウンタNを1に、とカウンタA[0]〜A[2]を2に設定する。

    着目画素の着目する成分値の復号においては符号化時と同様の方法により、NとA[0]〜A[2]から符号化時に用いたkパラメータと同じ値を導出し、これを用いて非負の整数値Vを復号する。

    Golomb符号の復号は符号化と逆の手順で行われ、まず、復号開始点から「0」の連続数を調べ、整数値mに保持する。 「0」の連続を終端させた「1」のすぐ後からkビット取り出し、mをkビット左シフトした後、取り出したkビットとのOR演算を行うことにより非負の整数値Vを復号する。 この非負の整数値Vから以下の演算により予測誤差eを復号する。

    | −(V+1)/2 (Vが奇数の場合)
    e = |
    | V / 2 (Vが偶数の場合)
    第2の実施形態と同様にして成分値予測部202で予測値pを生成し、加算器1111で着目する成分値を復元して出力する。 各成分の復号後、カウンタN[C]に復号した予測誤差の絶対値|e|を加算して更新し、着目する画素について全成分の復号が終了した時点でカウンタNに1を加えて更新する。

    なお、A[C]とNを所定の範囲内に限定するためにはNが一定値(例えば32)に達したタイミングでA[C]とNを1/2にするといった処理を適用すれば良い。 但し、同じkパラメータを得るためには、この処理は符号化側と復号側で共通に行わなければならない。

    セレクタ1703は一致画素位置復号部1701から信号線1109を介して入力される近傍一致情報に従って、バッファ201から読み出される着目画素Xの周囲画素Xa、Xb、Xc、Xdの各成分値の何れかを選択して出力する。

    近傍一致情報が“0”である場合には、Xaの各成分値を選択し、“1”である場合にはXa、Xb、Xc、Xdの順番に見てXaとは異なる第2の画素値(色)を持つ画素の各成分値を選択する。

    同様に“2”である場合にはXa、Xb、Xc、Xdの順番で見て、第1の画素値(Xa)および第2の画素値と異なる第3の画素値の各成分値を選択して出力する。

    なお、近傍一致情報が“3”、または“4”である場合にはセレクタ1703からの出力は無効である。 この場合にはスイッチ1106が端子a側に接続されることになるのでセレクタ1703からの出力は何であっても良い。

    スイッチ1106は一致画素位置復号部1701から信号線1108を介して入力される制御信号に応じて信号線1110を端子aか端子bに接続する。 制御信号が“1”である場合には端子aに接続し、“0”である場合には端子bに接続する。

    信号線1110から復号された各画素の各成分の値が出力されるが、これらはバッファ201にも格納され、以降の画素の復号において周囲の画素値として利用される。

    本実施形態の画像処理装置においても第2の実施形態の復号処理の流れとして説明した図12のフローチャートとほぼ同様の流れにより復号処理が行われる。 特に異なる点としては、ステップS1205の近傍一致情報の復号の前に色数判定部1301により色数Ncを求める処理を追加し、Ncに応じて近傍一致情報を復号すること、ステップS1206の判定において近傍一致情報とNcが等しいかどうかを判定することである。

    なお、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図12に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。

    信号線1107から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部1102で符号化データのヘッダを解析して復号に必要な付加情報を取り出す(ステップS1201)。

    着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS1202)、同水平方向位置を保持するカウンタxを0に設定する(ステップS1203)。 さらに、着目する成分番号を保持するカウンタCを0に設定する(ステップS1204)。

    各画素の復号では、まず、色数判定部1301により周囲画素の色数Ncを求め、Ncの値に応じて一致画素位置復号部1701により近傍一致情報が復号されて信号線1109から出力されるとともに、予測誤差復号部1702とスイッチ1106を制御する制御信号が信号線1108から出力される(ステップS1205)。

    近傍一致情報がNcと等しいか否かを判定し(ステップS1206)、等しい(YES)ならばステップS1207へ、等しくない(NO)ならばステップ1208へと処理を移す。

    YESの場合(このとき信号線1108の制御信号は“1”)、スイッチ1106が端子aに接続され、成分値予測部202、予測誤差復号部1702、加算器1111により着目する成分値P(x,y,C)が復号される(ステップS1207)。

    一方、NOである場合(このとき信号線1108の制御信号は“0”)、スイッチ1106が端子bに接続され、一致画素位置復号部1701で復号した近傍一致情報に基づいてバッファ201から読み出される周辺画素の何れか1つの成分値をセレクタ1703で選択し、これを着目する画素の成分値P(x,y,C)として出力する(ステップS1208)。 ステップ1207、あるいはステップ1208で出力される成分値P(x,y,C)は信号線1110から装置外部へと出力されるとともに、バッファ201に格納される。

    ステップS1209では着目する成分番号を保持するカウンタCに1を加え、RGB画像の色成分の数である3と比較してC<3であればステップS1206に処理を戻し、次の成分について同様に処理を行い、そうでない場合にはステップS1211へと処理を移す。

    ステップS1211では着目する画素の水平方向位置を保持するカウンタxに1を加え、画像の水平方向画素数Wと比較してx<Wであれば処理をステップ1204へと戻し、次の画素の復号処理を行い、そうでない場合にはステップS1213へと処理を移す。

    ステップS1213では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば処理をステップS1203へと戻し、次のラインの各画素について同様に処理を行い、そうでない場合には対象とする符号化データの復号処理を終了する。

    以上の動作により、符号化データから完全に元の画像データを復元することができる。

    [第5の実施形態]
    第3の実施形態の画像処理装置では、周囲画素の色数に応じて近傍一致情報の符号化を行うか否かの切り替えることにより、自然画像など、着目画素値と同一の画素値(色)を持つ周囲画素が存在する可能性の低い画像に対しても、近傍一致情報を符号化することによる符号量の増加を抑制し、さらに、色数に応じて近傍一致情報の符号化方法を変えることでより高効率に符号化することを目指す構成とした。

    このような構成でも十分に高い圧縮性能が得られるが、文字、線画、CG画像の符号化に対して更なる圧縮性能を実現するためには、ランレングス符号化と組み合わせることが効果的である。 本発明第5の実施形態として、第3の実施形態にランレングス符号化を組み合わせた例について説明する。

    本実施形態の画像処理装置においても基本構成は第1の実施形態で説明した図14と同じであるとする。

    図18は本実施形態に係る画像処理装置の機能構成を示すブロック図である。 図18に示すように、本実施形態に係る画像処理装置は、ランレングス符号化部1801、スイッチ1802、色数判定部1301、近傍一致情報符号化部1306、成分値予測符号化部1307、符号生成部1305、バッファ201、符号列形成部104から構成される。 なお、105、206、207は信号線である。

    従来の画像処理装置、および第1の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。 なお、本実施形態では図18に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとするが、図18に示す構成をハードウェアにより実現しても良い。

    以下、図18を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。

    本実施形態の画像処理装置は、図13に示した第3の実施形態の画像処理装置に、ランレングス符号化部1801、スイッチ1802を追加した構成と成っている。 近傍一致情報符号化部1306は図13において近傍一致判定部1302と一致画素位置符号化部1303を内部に含む破線部分を一纏めにしたものであり、また、成分値予測符号化部1307は同図の成分値予測部202、減算器203、予測誤差符号化部1304を含む破線部分を一纏めにしたものである。

    本実施形態に係る画像処理装置の符号化対象とする画像データは、CMYKカラー画像データであり、各コンポーネント(色成分)8ビットで0〜255の範囲の濃度値を表現した画素データにより構成されるものとする。

    符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はC、M、Y、Kの順番でデータを並べて構成されるものとする。 また、画像は水平方向W画素、垂直方向H画素により構成されるものとする。

    次に、本実施形態の画像処理装置での各部の動作について説明する。 本実施形態においても第3の実施形態の画像処理装置と同じく、成分値予測部202(成分値予測符号化部1307の内部)で用いる予測方式は固定であるとし、常に予測選択信号m=4が入力されているものとする。

    符号化対象画像データは信号線206から順に入力される。 画素データの入力順序はラスタースキャン順とし、各画素でC、M、Y、Kの順番で成分データが入力されるものとする。 画素の各成分の濃度値は、C、M、Y、Kをそれぞれ成分番号0、1、2、3と定義し、画像の左上隅を座標(0,0)として水平方向画素位置x、垂直方向画素位置yにある画素の成分番号Cの値をP(x,y,C)と表す。

    例えば、水平方向画素位置104、垂直方向画素位置335の画素のC、M、Y、K各成分の値はそれぞれP(104,335,0)、P(104,335,1)、P(104,335,2)、P(104,335,3)と表す。 また、成分のまとまりとして画素値を表現する場合にはC、M、Y、Kの各成分値を要素とするベクトルXとして表現する。 例えば、C、M、Y、K各成分の値がc、m、y、kである画素についてはX=(c、m、y、k)と記述する。

    本画像処理装置では、基本的には信号線206から順次入力される画像データの1画素ごとに、符号列形成部104から対応する符号が出力されるが、ランレングス符号化が適用される部分では画素のラン(連続数)に対して符号が出力される。

    バッファ201は画像データを2ライン分格納する領域を持ち、信号線206から入力される画像データを順次格納していく。 先に述べたように、画像データは各画素がラスター順に、そして各画素ではC、M、Y、Kの順番で成分値が入力されるが、バッファ201からは、図3のa、b、c、dに示す周囲3画素の同一成分値が読み出され、色数判定部1301、近傍一致情報符号化部1306、成分値予測符号化部1307へと供給される。

    着目する成分値をP(x,y,C)とするときa=P(x−1,y,C)、b=P(x,y−1、C)、c=P(x−1,y−1,C)、d=P(x+1,y+1,C)である。 なお、画像の最初のラインや各ラインの先頭/末尾などで、a、b、c、dが画像の外側となる場合には符号化側と復号側で共通の値を仮定する。 本実施形態では0とする。

    色数判定部1301は着目する画素Xの各成分について、バッファ201から図3のa、b、c、dに示す周囲4画素の同一成分値を読み出し、画素Xa、Xb、Xc、Xdを得る。 着目する画素の位置を(x、y)とし、これを用いてXa、Xb、Xc、Xdを表現すると以下の通りである。

    Xa=(P(x-1,y,0), P(x-1,y,1), P(x-1,y,2), P(x-1,y,3))
    Xb=(P(x,y-1,0), P(x,y-1,1), P(x,y-1,2), P(x,y-1,3))
    Xc=(P(x-1,y-1,0), P(x-1,y-1,1), P(x-1,y-1,2), P(x-1,y-1,3))
    Xd=(P(x+1,y-1,0), P(x+1,y-1,1), P(x+1,y-1,2), P(x+1,y-1,3))
    このXa、Xb、Xc、Xdが何種類の色で構成されているかを検出して、その色数Ncを出力する。 具体的には4画素から2画素を取り出す6通りの組み合わせについて、取り出した2画素が同一である数をカウントし、0であれば4色、1であれば3色、2か3であれば2色、6であれば1色と判断し、その色数Ncを出力する。

    近傍一致情報符号化部1306は色数判定部1301から出力される周囲4画素の色数Ncが1から3の場合に、第3の実施形態と同様にして、着目画素Xとその周囲4画素(Xa,Xb,Xc,Xd)との一致/不一致を表す近傍一致情報を生成して符号化し、その符号語を出力する。 また、信号線105からは周囲4画素に一致する画素が存在するか否かを表す情報を出力する。

    一方、第3の実施形態と同様にして、着目画素のC、M、Y、K各成分が成分値予測符号化部1307により符号される。 なお、成分値予測符号化部1307における各成分の予測符号化には国際標準方式JPEG−LSにおけるregular modeの符号化手法などを適用しても良い。

    符号生成部1305では信号線105から入力される制御信号に従って、近傍一致情報符号化部1306から出力される符号語と成分値予測符号化部1307から出力される各成分の予測符号化データから着目する画素に対する符号化データを生成する。 符号生成部1305の動作は第3の実施形態で説明の通りである。

    ランレングス符号化部1801は内部に同じ画素値の連続数を計測するカウンタRLを保持し、色数判定部1301から出力される色数Ncが1である場合に計測を開始し、着目する画素Xが直前の画素値Xaと異なる値となるか、1ラインの最後の画素を処理し終えるまでの画素数をカウントする。

    ランが終端した時点で、カウンタRLに保持されているランレングスを符号化して出力する。 ランレングスの符号化には、例えば、様々な方法を適用することが可能であるが、ここでは国際標準方式JPEG−LSにおけるrun modeによるランレングスの符号化と同じ手法を用いることとし、詳細については省略する。

    スイッチ1802は色数判定部1301から出力される色数Ncが1である場合に端子b側に接続し、ランレングス符号化部1801によりランレングスのカウントが行われている間はb側に固定する。 ランレングスが終端し、ランレングス符号化部1801から符号が出力されると端子aに切り替える。

    図19は本実施形態の画像処理装置による符号化処理の流れを示すフローチャートである。 なお、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図19に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う画像符号化処理の全体的な流れについて説明する。

    まず、符号列形成部104において、符号化対象画像の付加情報を含めたヘッダが生成され、出力される(ステップS1901)。 着目する画素の垂直方向位置を保持するカウンタyを0に、ランレングス符号化部1801の内部に保持されるカウンタRLを0に設定する(ステップS1902)。 さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS1903)。

    (x、y)座標に位置する着目画素Xについて、色数判定部1301により色数Ncを求める(ステップS1904)。 色数Ncが1、もしくはカウンタRLが0以外の値である場合(YES)にはステップS1914へと処理を移し、それ以外の場合(NO)にはステップS1906へと処理を移す(ステップS1905)。 このとき、YESの場合にはスイッチ1802が端子bに接続され、NOの場合には端子aに接続される。

    ステップS1906では近傍一致情報符号化部1306により、周囲4画素との一致/不一致を表す近傍一致情報を生成して符号化し、また、周囲4画素に一致する画素が存在するか否かによって信号線105に制御信号を出力する。 この制御信号が“1”であるか否かを判断し(ステップS1907)、“1”である場合(YES)には成分値予測符号化部1307における成分値の予測符号化処理をC、M、Y、Kの各成分に対して行い、符号を生成する(ステップS1908)。

    続いて符号生成部1305において信号線105からの制御信号に応じて着目画素に対する符号が生成され、スイッチ1802を介して符号列形成部104へと出力され、符号列形成部104で所定のフォーマットの符号列が形成される(ステップS1909)。

    着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS1910)、画像の水平方向画素数Wと比較してx<Wであれば(YES)処理をステップS1904へと戻し、次の画素の符号化処理を行い、そうでない場合(NO)にはステップS1912へと処理を移す(ステップS1911)。

    一方、ステップS1914では着目する画素値Xと直前の画素値Xaを比較し、X≠Xaである場合(NO)には処理をステップS1920へと移し、X=Xaである場合(YES)はランレングス符号化部1801の内部に保持するカウンタRLに1を加え(ステップS1915)、続いて着目画素の水平方向位置を保持するカウンタxに1を加える(ステップS1916)。

    画像の水平方向画素数Wと比較してx<Wであれば処理をステップS1904へと戻し、次の画素の符号化処理を行う。 そうでない場合にはランが画像の右端まで至ったためこの時点でランレングスを確定させ、ランレングス符号化部1801によりカウンタRLに保持されるランレングスを符号化して符号を出力する。

    ランレングス符号化部1801から出力される符号はスイッチ1802を介して符号列形成部104へと送られて所定のフォーマットの符号列が形成される(ステップS1918)。

    ランレングスの符号化を終了すると、カウンタRLが0に戻される(ステップS1919)。 このとき、スイッチ1802は端子a側に接続変更される。 この後、ステップS1912へと処理を移し次のラインへと符号化処理の対象を移す。

    ステップS1920は直前の画素値Xaと異なる画素値Xの出現によりランが終端された場合であり、ランレングス符号化部1801によりカウンタRLに保持されるランレングスを符号化して符号を出力する。

    ランレングス符号化部1801から出力される符号はスイッチ1802を介して符号列形成部104へと送られて所定のフォーマットの符号列が形成される。 ランレングスの符号化を終了すると、カウンタRLが0に戻される(ステップS1921)。

    このとき、スイッチ1802は端子a側に接続変更される。 続いてステップS1906へと処理を移し、ランを終端させた着目画素Xについての符号化処理を継続する。

    ステップS1912では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば(YES)処理をステップS1903へと戻し、次のラインの画素について同様に処理を行い、そうでない場合(NO)には対象とする画像データについての符号化処理を終了する(ステップS1913)。

    以上の説明のように、本実施形態に係る画像処理装置では、近傍一致情報符号化部1306、成分値予測符号化部1307、ランレングス符号化部1801を備えて、符号化対象となる画素Xの周囲にある符号化済みの画素Xa、Xb、Xc、Xdの色数に応じてこれらの符号化方式と選択的に動作させて符号化を行っている。
    これらの選択は符号化済みの画素によって行われるため、符号化方式の切り替えのための情報を伝送する必要はない。

    第3の実施形態と同様の効果に加えて、ランレングス符号化を導入することで、文字、線画、CG画像など可逆圧縮性能を更に向上させることができる。

    [第6の実施形態]
    第5の実施形態の画像処理装置で生成した符号化データを復号するには符号化処理の逆の手順で行えば良い。 本発明の第6の実施形態として、第5の実施形態の画像処理装置で生成した符号化データを復号する画像処理装置について説明する。

    本実施形態の画像処理装置においても基本構成は第1の実施形態で説明した図14と同じであるとする。

    図20は、本実施形態に係る画像処理装置の機能構成を示すブロック図である。 図20に示すように、本実施形態に係る画像処理装置は、色数判定部1301、符号バッファ1101、ヘッダ解析部1102、スイッチ1106、バッファ201、成分値予測符号化データ復号部1704、近傍一致情報復号部1705、ランレングス復号部2001、スイッチ2002とを備える。

    同図において1107、1108、1110は信号線である。 従来の画像処理装置、および第1から第5の実施形態の画像処理装置の処理ブロックと同じ動作をするブロックについては同じ番号を付し、説明を省略する。

    なお、本実施形態においても、図20に示す各部の機能をコンピュータに実現させるプログラムによって実現するものとし、このプログラムは図14の外部記憶装置1407や記憶媒体ドライブ1408、もしくはI/F1409を介して外部装置からRAM1402にロードされるものとするが、図18に示す構成をハードウェアにより実現しても良い。

    以下、図20を参照して、本実施形態に係る画像処理装置が行う画像復号処理について説明する。

    本実施形態の画像処理装置は、図17に示した第4の実施形態の画像処理装置に、ランレングス復号部2001、スイッチ2002を追加した構成と成っている。 近傍一致情報復号部1705は図17において一致画素位置復号部1701とセレクタ1703を内部に含む破線部分を一纏めにしたものであり、また、成分値予測符号化データ復号部1704は同図の成分値予測部202、予測誤差復号部1702、加算器1111を含む破線部分を一纏めにしたものである。

    次に、本実施形態の画像処理装置での各部の動作について説明する。

    第4の実施形態と同様に、復号対象となる符号化データが信号線1107を介して本画像処理装置に入力され、符号バッファ1101に適宜格納され、ヘッダ解析部1102により付加情報の取得が行われる。

    色数判定部1301では第3の実施形態で説明した処理により、色数Ncを求めて出力する。

    近傍一致情報復号部1705は色数判定部1301から出力される周囲4が素の色数Ncが1から3の場合に、第4の実施形態と同様にして、着目画素Xとその周囲4画素(Xa,Xb,Xc,Xd)との一致/不一致を表す近傍一致情報を復号して、復号した値がNcとは異なる値であれば復号値に応じてXa〜Xdのいずれかを出力する。

    また、信号線1108からは周囲4画素に一致する画素が存在するか否か、即ち近傍一致情報の復号値がNcと等しいか否かを表す情報を出力する。

    成分値予測符号化データ復号部1704では第4の実施形態と同様にして、符号バッファ1101から符号化データを読み込み、画素のC、M、Y、K各成分を復号する。

    ランレングス復号部2001は色数判定部1301から出力される色数Ncが1である場合に、符号バッファ1101から符号化データを読み込み、直前の画素Xaと同じ画素値の連続数RLを復号し、復号画素値としてXaをRL個出力する。 ランレングス復号部2001の復号処理は第5の実施形態におけるランレングス符号化部1801での符号化処理と対をなす。

    スイッチ2002は色数判定部1301から出力される色数Ncが1である場合に端子b側に接続し、ランレングス復号部1801で復号したRL個のXaの出力が行われている間はb側に固定する。 RL個のXaを出力し終えると、端子aに接続される。

    図21は本実施形態の画像処理装置による復号処理の流れを示すフローチャートである。 なお、同図に従ったプログラムはRAM1402にロードされており、CPU1401がこれを実行することで、図21に示したフローチャートに従った処理を行うことができる。 以下、同図を参照して、本実施形態に係る画像処理装置が行う復号処理の全体的な流れについて説明する。

    信号線1107から復号対象となる符号化データが符号バッファに入力され、ヘッダ解析部1102で符号化データのヘッダを解析して復号に必要な付加情報を取り出す(ステップS2101)。 着目する画素の垂直方向位置を保持するカウンタyを0に設定し(ステップS2102)、さらに着目する画素の水平方向位置を保持するカウンタxを0に設定する(ステップS2103)。

    (x、y)座標に位置する画素に着目し、色数判定部1301により復号済みの周囲画素Xa〜Xdを参照して色数Ncを求める(ステップS2104)。 色数Ncが1である場合(YES)にはステップS2114へと処理を移し、それ以外の場合(NO)にはステップS2106へと処理を移す(ステップS2105)。 このとき、YESの場合にはスイッチ2002が端子bに接続され、NOの場合には端子aに接続される。

    ステップS2106では近傍一致情報復号部1705により、周囲4画素との一致/不一致を表す近傍一致情報が復号され、復号した値がNcとは異なる値であれば復号値に応じてXa〜Xdのいずれかを選択して出力する。

    また、信号線1108からは復号値がNcと等しいか否かを表す情報を出力する。 この制御信号が“1”であるか否かを判断し(ステップS2107)、“1”である場合(YES)には成分値予測符号化データ復号部1704により画素のC、M、Y、K各成分について予測符号化データからの成分値の復号処理を行う(ステップS2108)。

    信号線1108から出力される制御信号が“0”である場合にはスイッチ1106を端子aに接続し、“1”である場合には端子bに接続して、近傍一致情報復号部1705か成分値予測符号化データ復号部1704から出力される画素値を、スイッチ1106、2002を介して信号線1110から位置(x、y)の復号画素値として出力する(ステップS2109)。

    着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS2110)、画像の水平方向画素数Wと比較してx<Wであれば(YES)処理をステップS2104へと戻し、次の画素の復号処理を行い、そうでない場合(NO)にはステップS2112へと処理を移す(ステップS2111)。

    一方、ステップS2114ではランレングス復号部2001の内部にてランレングスRLが復号される。 復号したRLを0と比較して(ステップS2115)、RL=0である場合(YES)にはステップS2106に処理を移す。

    この場合、スイッチ2002は端子bから端子aへと接続変更される。 RL≠0である場合(NO)、スイッチ2002を介して信号線1110から、位置(x、y)の復号画素値としてXaを出力する(ステップS2116)。 カウンタRLから1を減じ(ステップS2117)、着目する画素の水平方向位置を保持するカウンタxに1を加え(ステップS2118)、画像の水平方向画素数Wと比較してx<Wであれば(YES)処理をステップS2115へと戻し、そうでない場合(NO)にはステップS2112へと処理を移す(ステップS2119)。

    ステップS2112では着目する画素の垂直方向位置を保持するカウンタyに1を加え、続いて、画像の垂直方向画素数Hと比較してy<Hであれば(YES)処理をステップS2103へと戻し、次のラインの画素について同様に処理を行い、そうでない場合(NO)には対象とする画像データについての符号化処理を終了する(ステップS2113)。

    以上の動作により、符号化データから完全に元の画像データを復元することができる。

    [第7の実施形態]
    第1の実施形態において、文字、線画、各種CG画像を効率的に符号化できることを示したが、図22のような、右上から左下へ濃度が変化するグラデーションについては、注目画素と左上に位置する画素が一致するにも関わらず、周囲3画素間で一致する色はないため、近傍位置情報で符号化することはできず、符号化効率を改善する余地がある。 本実施の形態においては、図22のようなグラデーションに対して、近傍一致で符号化できるような方法を示す。

    図23に本実施の形態における画像処理装置のブロック図を示す。 同図に関して、第1の実施の形態における図1の画素一致検出部107を画素分布判定部2301に置き換えたものである。

    以下の説明では、第1の実施形態からの変更点である画素分布判定部2301に注力する。

    画素分布判定部2301では、周辺3画素間における同一画素値の有無を判定する。 さらに、図22のようなグラデーションでは、1つ以上のコンポーネントに関して、P(x、y-1、C)、P(x−1、y-1、C)、P(x−1、y、C)(ただしC=0,1,2)の順、もしくは逆順で画素値が大きくなるので、この性質を利用して、大小関係が(P(x、y-1、C)<P(x−1、y-1、C)<P(x−1、y、C))もしくは(P(x、y-1、C)>P(x−1、y-1、C)>P(x−1、y、C))であるか判定する。 判定の結果、同一の画素値がある場合、もしくは大小関係が存在する場合、近傍情報で符号化を行える旨(検出結果の“1”)を出力する。

    以上示したとおり、本実施の形態で示した手法により、右上から左下へ濃度が変化するグラデーションを効率的に符号化できるようになる。

    [第8の実施形態]
    本実施の形態では、第7の実施の形態で示した画像符号化装置から出力される符号列を復号する画像復号装置を示す。

    図24に本実施の形態における画像復号装置のブロック図を示す。 同図に関して、第2の実施の形態における画素一致検出部107を画素分布判定部2401に置き換えたものである。

    以下の説明では、第1の実施形態からの変更点である画素分布判定部2401に注力する。

    画素分布判定部2401では、周辺3画素間における同一画素値の有無を判定する。 さらに、図22のようなグラデーションでは、1つ以上のコンポーネントに関して、P(x、y-1、C)、P(x−1、y-1、C)、P(x−1、y、C)(ただしC=0,1,2)の順、もしくは逆順で画素値が大きくなるので、この性質を利用して、大小関係が(P(x、y-1、C)<P(x−1、y-1、C)<P(x−1、y、C))もしくは(P(x、y-1、C)>P(x−1、y-1、C)>P(x−1、y、C))であるか判定する。

    判定の結果、同一の画素値がある場合、もしくは大小関係が存在する場合、近傍情報で符号化を行える旨(検出結果の“1”)を出力する。

    以上示したとおり、本実施の形態で示した手法により、右上から左下へ濃度が変化するグラデーションを効率的に符号化することで得られる符号列を復号できるようになる。

    [第9の実施形態]
    第7の実施の形態において所定のグラデーションを効率的に符号化するために、近傍一致情報で符号化するための条件を拡張した。 しかしながら、この方法ではグラデーション以外のものをグラデーションと判定してしまうこともある。 本実施の形態においては、グラデーション判定の確度を向上させることを目指す。

    図25は本実施の形態における画像処理装置のブロック図を示す。 同図に関して、第7の実施の形態における図7の画素分布判定部2301を画素分布判定部2501に置き換えたものである。 以下の説明では、第7の実施形態からの変更点である画素分布判定部2501に注力する。

    画素分布判定部2301では、周辺3画素間における同一画素値の有無を判定し、同一画素値がある場合には、近傍情報で符号化を行える旨(検出結果の“1”)を出力する。

    また、1つ以上のコンポーネントに関して、大小関係が(P(x、y-1、C)<P(x−1、y-1、C)<P(x−1、y、C))もしくは(P(x、y-1、C)>P(x−1、y-1、C)>P(x−1、y、C))であるか判定する。

    判定の結果、上記大小関係が存在する場合、次の画素の処理において、図26で示した周辺4画素の中で同色の画素が存在するかを判定し、同色の画素が存在すれば、近傍情報で符号化を行える旨(検出結果の“1”)を出力する。

    ここで、注目する画素数を4とした理由は、処理対象領域が問題のグラデーションであればa=eであり、注目する画素数を4つへ拡張することで、前の画素において処理対象領域がグラデーションである確率が高いとした判定に関して、より精度を上げることができるからである。

    以下、図27のフローチャートを用いて、画素分布判定部2501の処理フローを説明する。

    処理がスタートすると、画素分布判定部2501の内部にあるスイッチを“0”にセットし(ステップS2701)、画素を入力する(ステップS2702)。 ステップS2703ではスイッチが“0”か“1”か判定し、もしスイッチが“1”であれば処理をステップS2704へ進め、“0”であれば処理をステップS2705へ進める。 ステップS2704では、周囲4画素間で同一画素が存在するかどうかを判定し、もし存在すれば“1”を符号生成部103へ出力し(ステップS2706)、存在しなければ“0”を符号生成部103へ出力し(ステップS2707)、処理を画素間大小判定へ進める(ステップS2708)。 ステップS2708では、画素間大小関係が大小関係が(P(x、y-1、C)<P(x−1、y-1、C)<P(x−1、y、C))もしくは(P(x、y-1、C)>P(x−1、y-1、C)>P(x−1、y、C))であれば、スイッチを“1”へセットし、そうでなければ“0”へセットする。

    ステップS2705では、周囲3画素間で同一画素が存在するかを判定し、もし存在すれば“1”を符号生成部103へ出力し(ステップS2706)、存在しなければ“0”を符号生成部103へ出力し(ステップS2707)、処理を画素間大小判定へ進める(ステップS2708)。

    ステップS2708の処理が終了すると、処理対象の画素があるかどうか判定し(ステップS2709)、画素がある場合には処理をステップS2702へ戻し、画素がない場合には画素分布判定部2501における処理を終了する。

    以上示したとおり、本実施の形態で示した手法により、グラデーション判定の確度を向上させた上で、効率的にグラデーションの符号化を行えるようになる。

    [第10の実施形態]
    本実施の形態では、第9の実施の形態で示した画像符号化装置から出力される符号列を復号する画像復号装置を示す。

    図28に本実施の形態における画像復号装置のブロック図を示す。 同図に関して、第8の実施の形態における画素分布判定部2401を画素分布判定部2801に置き換え、バッファ201から画素分布判定部2801へ信号線を一本、セレクタ1105へ一本追加したものである。

    以下の説明では、第1の実施形態からの変更点である画素分布判定部2801に注力する。

    図29は画素分布判定部2801におけるフローチャートであり、同図を用いて処理フローを説明する。

    処理がスタートすると、画素分布判定部2801の内部にあるスイッチを“0”にセットし(ステップS2901)、不図示の復号画素カウンタを1つインクリメントする(ただし、処理スタート時には復号画素カウンタを0にセットする)(ステップS2902)。 ステップS2903ではスイッチが“0”か“1”か判定し、もしスイッチが“1”であれば処理をステップS2904へ進め、“0”であれば処理をステップS2905へ進める。

    ステップS2904では、周囲4画素間で同一画素が存在するかどうかを判定し、もし存在すれば“1”を符号生成部103へ出力し(ステップS2906)、存在しなければ“0”を符号生成部103へ出力し(ステップS2907)、処理を画素間大小判定へ進める(ステップS2908)。 ステップS2908では、画素間大小関係が大小関係が(P(x、y-1、C)<P(x−1、y-1、C)<P(x−1、y、C))もしくは(P(x、y-1、C)>P(x−1、y-1、C)>P(x−1、y、C))であれば、スイッチを“1”へセットし、そうでなければ“0”へセットする。

    ステップS2905では、周囲3画素間で同一画素が存在するかを判定し、もし存在すれば“1”を符号生成部103へ出力し(ステップS2906)、存在しなければ“0”を符号生成部103へ出力し(ステップS2907)、処理を画素間大小判定へ進める(ステップS2908)。

    ステップS2908の処理が終了すると、処理対象の画素があるかどうか判定し(ステップS2909)、画素がある場合には処理をステップS2902へ戻し、画素がない場合には画素分布判定部2801における処理を終了する。

    以上示したとおり、グラデーション判定の確度を向上させた上で、効率的にグラデーションの符号化を行うことで得られた符号列に対して、本実施の形態で示した手法により復号できるようになる。

    [変形例]
    本発明は上述した実施の形態に限定されるものではない。

    第3から6の実施形態では周囲画素の色数Ncに応じて、Nc種類の画素値との一致不一致を符号化した。

    従って近傍一致情報としてはNc+1値のシンボルの符号化を行った。 例えば色数Ncが3であった場合には第1の画素値X1と一致する場合には0、第2の画素値X2と一致する場合には1、第3の画素値X3と一致する場合には2、X1〜X3のいずれとも一致しない場合には3というように4値のシンボルを図15(c)の符号表を用いて符号化した。 しかしながら、Nc種類の画素値の全てを一致/不一致の判定対象とする必要はない。

    例えば、Nc=3の場合に、第1の画素値X1、第2の画素値X2と一致/不一致を判定し、X=X1の場合には0、X=X2の場合には1、X≠X1、X≠X2の場合には3というように0、1、3の3値を取るシンボル(近傍一致情報とNcを比較する処理を考慮し、あえて“2”を除いた)を符号化するようにしても良い。

    また、第1の画素値X1、第2の画素値X2、第3の画素値X3などの求め方についても上述の実施形態に限らず、例えば、Xb、Xa、Xc、Xdの順など、異なる順序で第1、第2、第3の画素値を取得しても良いし、Xa、Xb、Xc、Xd間の一致状況によって変えても良い。 例えば、Xa、Xb、Xc、Xdの順序で第1、第2、第3の画素値を取得するが、Xa=Xbである場合には第2の画素値X2をXdとするといったやり方でも構わない。

    また、近傍一致情報の符号化として、あらかじめ確率分布を想定して定めた符号語を用いる方法を示したが、上述の例とは異なる符号語を用いても良いし、算術符号などことなる符号化方式を適用しても構わない。

    また、着目する成分値の予測方法としては、幾つかの予測方法を用意して、適応的に切り換えても構わないし、符号化済みの各成分値に発生した予測誤差の平均値を着目する成分の予測にフィードバックするなど、非線形な予測を用いても構わない。

    また、ここでは成分値の予測誤差のエントロピ符号化としてハフマン符号化やGolomb符号化を用いる例について示したが、これ以外のエントロピ符号化を用いも良い。

    また、着目画素Xの周囲画素値としてXa、Xb、Xc、Xdを参照する例について示したが、もっと多くの画素を参照しても良いし、XaとXbだけといったように参照画素数を減らしても構わない。

    また、RGB画像、CMYK画像の符号化を例に説明したが、Lab画像や、YCrCb画像など、複数成分から成る画像データであれば適用可能である。

    また、上述の実施形態では、符号化装置と復号装置を別の実施例として説明したが、一つの機器にこれら2つの機能を備え、共通部分を統合しても構わないことは言うまでもない。

    [その他の実施形態]
    尚、本発明は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。

    また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。

    この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。 また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。

    さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。

    本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。

    第1の実施形態に係る画像処理装置のブロック図

    従来の画像処理装置のブロック図

    符号化対象画素xに対する周辺画素a、b、cの位置を示す図

    予測選択信号mに対応する予測式を示す図

    予測誤差eとグループ番号SSSSとの対応を示す図

    グループ番号SSSSと符号語との対応を示す図

    近傍一致情報と符号語の対応を示す図

    画素符号化データの構成を示す図

    画像処理装置の出力符号列の構成を示す図

    第1、第3の実施形態の符号化処理の流れを示すフローチャート

    第2の実施形態に係る画像処理装置のブロック図

    第2、第4の実施形態の復号処理の流れを示すフローチャート

    第3の実施形態に係る画像処理装置のブロック図

    第1〜第6の実施形態に係る画像処理装置の基本構成を示す図

    第3、第5の実施形態において、近傍一致情報の符号化に用いる符号表を示す図

    Golomb符号の例を示す図

    第4の実施形態に係る画像処理装置のブロック図

    第5の実施形態に係る画像処理装置のブロック図

    第5の実施形態の符号化処理のフローチャート

    第6の実施形態に係る画像処理装置のブロック図

    第6の実施形態の画像処理装置による復号処理のフローチャート

    グラデーションの説明図

    第7の実施形態に係る画像処理装置のブロック図

    第8の実施形態に係る画像復号装置のブロック図

    第9の実施形態に係る画像処理装置のブロック図

    周囲4画素の説明図

    画素分布判定部2501のフローチャート

    第10の実施形態に係る画像復号装置のブロック図

    画素分布判定部2801のフローチャート

    符号の説明

    101 近傍一致判定部 102 一致画素位置符号化部 103 符号生成部 104 符号形成部 107 画素一致検出部 201 バッファ 202 成分値予測部 203 減算器 204 メモリ 205 予測誤差符号化部

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈