(57)【特許請求の範囲】
【請求項１】
計算機画面を構成している画像の画素値を複数に量子化してヒストグラムを求め、その結果得られる複数個の階調毎にその階調に含まれる画素について画素値の平均を算出し、この平均値をその階調におけるカラーテーブル値とし、全ての階調についてカラーテーブル値を算出した後に、前記ヒストグラムに基づき、インデックスで表現してカラーテーブルを作成するカラーテーブルを生成する手順と、
前記画像全体をいくつかのブロックに分割した後、ブロック毎に画素値を、前記カラーテーブル値を参照するインデックスで表現し、ヒストグラムを作成し、このヒストグラムを画素の出現頻度順に並べ替える手順と、
並べ替えられた画素の前記出現頻度の高い順に短い符号を割り当てることにより前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順とを有する
ことを特徴とする計算機画面画像符号化方法。
【請求項２】
前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順では、
前記分割したブロック毎の前記インデックスを、前記カラーテーブルの各画素値に割り振ったインデックスに対応させて割り振り直す
ことを特徴とする請求項１に記載の計算機画面画像符号化方法。
【請求項３】
前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順では、
前記ブロック毎に前記インデックス持つ各画素をランレングス符号化する
ことを特徴とする請求項１または請求項２に記載の計算機画面画像符号化方法。
【請求項４】
請求項１から請求項３までのいずれか１項に記載の計算機画面画像符号化方法における手順を有し、
前記手順をコンピュータに実行させるためのプログラムとした
ことを特徴とする計算機画面画像符号化方法の実行プログラム。
【請求項５】
請求項１から請求項３までのいずれか１項に記載の計算機画面画像符号化方法における手順をコンピュータに実行させるためのプログラムを、
前記コンピュータが読み取り可能な記録媒体に記録した
ことを特徴とする計算機画面画像符号化方法の実行プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続された複数の計算機の間で、例えば、計算機画面に表示された資料等を共有しながら協調的作業を行うシステム等において、表示される画面情報をリアルタイムに伝送することに利用される効率的な計算機画面画像符号化方法に関する。
【０００２】
【従来の技術】
従来の画像符号化方法では、計算機画面に表示されるグラフィカル・ユーザ・インタフェース（ＧＵＩ）の特徴とも言える、比較的少ない色数で符号化され、一様な色の領域が多いことを考慮した効率的な画像符号化方式は考えられていなかった。
【０００３】
【発明が解決しようとする課題】
そのため、上記従来の画像符号化方法では、ネットワークに接続された複数の計算機の間で、例えば、計算機画面に表示された資料やＧＵＩ等の画像を共有しながら協調的作業を行うシステム等に使用した場合、これらの画像が比較的少ない色数で符号化され、一様な色の領域が多いにもかかわらず、符号化や復号化に処理時間がかかり、表示される画面情報をリアルタイムに伝送することが困難であった。
【０００４】
そこで、本発明における課題は、計算機に表示される画面情報をリアルタイムに伝送するために、画面情報を効率的に符号化する技術を提供することである。
【０００５】
【課題を解決するための手段】
上記の課題を解決するため、本発明は、計算機画面を構成している画像の画素値を複数に量子化してヒストグラムを求め、その結果得られる複数個の階調毎にその階調に含まれる画素について画素値の平均を算出し、この平均値をその階調におけるカラーテーブル値とし、全ての階調についてカラーテーブル値を算出した後に、前記ヒストグラムに基づき、インデックスで表現してカラーテーブルを作成するカラーテーブルを生成する手順と、前記画像全体をいくつかのブロックに分割した後、ブロック毎に画素値を、前記カラーテーブル値を参照するインデックスで表現して、ヒストグラムを作成し、このヒストグラムを画素の出現頻度順に並べ替える手順と、並ベ替えられた画素の前記出現頻度の高い順に短い符号を割り当てることにより前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順とを有することを特徴とする。
【０００７】
あるいは、上記の計算機画面画像符号化方法において、前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順では、前記分割したブロック毎の前記インデックスを、前記カラーテーブルの各画素値に割り振ったインデックスに対応させて割り振り直すことを特徴とする。
【０００８】
あるいは、上記の計算機画面画像符号化方法においては、前記インデックスで表現した画素を前記ブロック毎に可変長符号化する手順では、前記ブロック毎に前記インデックスを持つ各画素をランレングス符号化することを特徴とする。
【０００９】
あるいは、上記の計算機画面画像符号化方法において、前記インデックスを持つ各画素を前記ランレングス符号化する手順では、前記ランレングス符号化された符号化データに対して、前記割り当てられた符号化コードにしたがって可変長符号化を施すことを特徴とする。
【００１０】
あるいは、上記の計算機画面画像符号化方法における手順を有し、前記手順をコンピュータに実行させるためのプログラムとしたことを特徴とする。
【００１１】
あるいは、上記の計算機画面画像符号化方法における手順をコンピュータに実行させるためのプログラムを、前記コンピュータが読み取り可能な記録媒体に記録したことを特徴とする。
【００１２】
本発明では、計算機画面に表示される資料やＧＵＩ等が、少ない色数で表現されている領域が多いことと、一様な色で表現された領域が多いことを考慮して、ブロック毎に、可変長符号化を施したり、可変長符号化とランレングス符号化を組み合わせて施したりすることにより、効率的な符号化方法を提供する。
【００１３】
すなわち、本発明では、計算機画面の画像をブロックに分割し、ブロック毎に出現頻度順に画素値に対応するインデックスを並べ直した後に可変長符号化を施すことによって、画像全体では出現する画素値に割り振られるインデックスの数が多くなったとしても、局所的には割り振られるインデックスの数を減少させて符号化の効率を高くする。これは、局所的には同じインデックスを持つ画素が多く集まっていると考えられることによる。
【００１４】
また、ブロック毎にインデックスを割り振ったり、あるいは割り振り直したりすることによって、インデックス値自体が大きな値にならずにすむようにする。例えば、８００×６００の大きさの画像では、全ての画素が異なるインデックス値を持つ場合、４８００００個のインデックス値が出現するが、これを４０×４０の大きさのブロックに分割すれば、１６００個のインデックス値（第２のインデックス値）しか出現しない。これによって、対象となる画像の大きさが大きくなるに従って符号量を抑制できるようにする。
【００１５】
さらに、符号量低減のために量子化を行う際に、実際に定義されるカラーテーブルの値を、そのヒストグラムに割り当てられた画素値の平均値とすることにより、単純な量子化に比べて画像の再現性が高くなるようにする。
【００１６】
【発明の実施の形態】
以下、本発明の実施形態例を図を用いて説明する。本発明では、画面（フレーム）単位でフレーム内符号化する。
【００１７】
図１は、本発明の実施形態例において生成される画面情報の符号化データの構成図である。図１（ａ）に示すように、全体の符号化データの構成は、ヘッダー部１１、カラーテーブル１２とブロック情報１３からなる。ヘッダー部１１には、元の画像の大きさや、この符号化データのデータ長などの情報が含まれる。カラーテーブル１２には、この画像において使われる色情報が含まれる。この色情報には、インデックス番号とＲＧＢの３色の値が含まれている。ブロック情報１３には、図１（ｂ）に示すように、ブロックヘッダー部１４、カラーテーブル参照インデックステーブル１５と各画素のインデックス値１６が含まれる。ブロックヘッダー部１４には、このブロック画像の大きさや、このブロック情報のデータ長などの情報が含まれる。
【００１８】
図２は、カラーテーブル１２の作成方法の実施形態例を示すフロー図である。まず入力画像を、入力画像の色の階調数や伝送する符号化データに期待するデータ長に応じて量子化する。この実施形態例では、入力画像を２４ビット画像、これを１２ビットの画像に量子化するとして説明する。
【００１９】
１画面中の全画素について、２４ビット（Ｒ，Ｇ，Ｂの各色毎に８ビット）で表される画素値を１２ビット（Ｒ，Ｇ，Ｂの各色毎に４ビット）に線形量子化してヒストグラムを求め、その結果得られる４０９６（２の１２乗）個の各階調毎にその階調に含まれる画素について画素値の平均を算出し、この平均値をその階調におけるカラーテーブル値とする。これにより、単純な量子化に比べて画像の再現性が高くなる。全ての階調についてカラーテーブル値を算出した後、前記ヒストグラムに基づき、インデックス番号を割り振り、このインデックス番号とＲＧＢの値との対応を示すカラーテーブルを作成する。これにより、画素が全く含まれない階調には、インデックス番号が割り振られないため、符号量を削減できる。
【００２０】
図３は、画像全体をいくつかのブロックに分割した後に、ブロック毎に画素を符号化するときの画像符号化方法を示すフロー図である。
【００２１】
まず、ブロック内の全画素の画素値を前記カラーテーブル値を示すインデックス番号（以下、カラーインデックス番号という。）に置き換え、ヒストグラムを作成する。このヒストグラムを画素の出現頻度順に並べ替え、ブロック内インデックス番号を割り振る。この割り振りを示すテーブル、すなわち、ブロック内インデックス番号とカラーインデックス番号の対応を示すテーブルがカラーテーブル参照インデックステーブル１５である。そして、このブロック内インデックス番号に、出現頻度の高い順に短い符号化コードを割り当てることで可変長符号化する。
【００２２】
次に、ブロック内インデックス番号で表された各画素値にランレングス符号化を施す。ここで、ランレングス符号化とは、同一のブロック内インデックス番号を有する画素が連続するとき、その連続する数をランと呼び、連続する同一のブロック内インデックス番号をランとブロック内インデックス番号で表すことをいう。
【００２３】
次に、ランレングス符号化された符号化データに対して、前述のブロック内インデックス番号に割り当てられた符号化コードに従って、すなわち出現頻度の高い順に可変長符号化する。以上のブロック内の各符号化の過程を画面内の全てのブロックについて適用する。
【００２４】
なお、上記の実施形態例による符号化方法では、ブロック毎に、始めにブロック内インデックス番号を可変長符号化し（１）、次に、このブロック内インデックス番号を持つ画素をランレングス符号化し（２）、その後に可変長符号化を施す（３）ことで最大の効率を引き出す例を示したが、本発明では、各符号化の過程のうち（１）のみを実行したり、あるいは（１）と（２）のみを組み合わせて実行したりすることによっても、符号化の効率を高めることが可能である。
【００２６】
さらに、図２、図３を用いて説明した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記憶媒体、例えば、ＦＤ（フロッピーディスク（登録商標））や、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したり、配布したりすることが可能であり、また、上記のプログラムをインターネット等のネットワークを通して提供したり、配布したりすることも可能である。
【００２７】
【発明の効果】
本願発明によれば、単純な量子化に比べて画像の再現性が高くなる効果を有するとともに、符号量を削減できる効果の他に、資料やＧＵＩ等の計算機の画面情報を効率的に符号化できるようにしたので、伝送すべき画面情報が少なくなり、計算機の画面情報をリアルタイムに伝送することが可能となって、受信側計算機に表示される画面情報の更新頻度を高くすることができる。これによって、例えば、資料やＧＵＩ等の画面情報の共有によって行われる協調的作業等の質を高くすることができる。
【図面の簡単な説明】
【図１】（ａ），（ｂ）は、本発明の実施形態例における画面情報の符号化データの構成図
【図２】本発明の実施形態例におけるカラーテーブルの作成処理過程のフロー図
【図３】本発明の実施形態例におけるブロック画像の符号化処理過程のフロー図
【符号の説明】
１１…画像情報全体の符号化データのヘッダー部
１２…各画素に割り振られるインデックス値とＲＧＢ色を対応付けるカラーテーブル
１３…ブロック毎の画像情報を示すブロック情報
１４…ブロックヘッダー部
１５…カラーテーブルのインデックス値とブロック内の各画素の割り振られたブロック内インデックス値を対応付けるカラーテーブル参照インデックステーブル
１６…符号化した、各画素のインデックス値
【図１】
0003740376.tif 000002
【図２】
0003740376.tif 000003
【図３】
0003740376.tif 000004