(57)【要約】  アルファ画像の符号化および復号化のスキームが開示される。アルファ画像の符号化においては、アルファ画像は、複数の画像エレメント（６１０）を含む画像ブロック（６００）へと分解される。これらのブロック（６００）は、ブロック表現（７００）へと圧縮される。ブロック表現（７００）は、少なくとも１つのカラー・コードワード（７１０）と、アルファ・コードワード（７２０）と、アルファ修正コードワード（７３０）と、アルファ修正子インデックスのシーケンス（７４０）とを含んでいる。このカラー・コードワード（７１０）およびアルファ・コードワード（７２０）は、それぞれこのブロック（６００）のこれらの画像エレメント（６１０）のカラーおよびアルファ値の表現である。このアルファ修正コードワード（７３０）は、このアルファ・コードワード（７２０）が表すアルファ値を修正するための複数のアルファ修正子の集合の表現である。このインデックス・シーケンス（７４０）は、このブロック（６００）中の各画像エレメント（６１０）についてのアルファ・インデックスを含み、ここでアルファ・インデックスは、このアルファ修正子の集合中の複数のアルファ修正子のうちの１つを識別する。
2007517434.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像エレメント（６１０）を含む画像ブロック（６００）を圧縮する方法であって、
前記複数の画像エレメント（６１０）のカラーの表現であるカラー・コードワード（７１０）を決定する工程と、
前記複数の画像エレメント（６１０）のアルファ値の表現であるアルファ・コードワード（７２０）を決定する工程と、
前記アルファ・コードワード（７２０）に基づいて生成されるアルファ値を修正するための複数のアルファ修正子の集合の表現であるアルファ修正コードワード（７３０）を提供する工程と、
前記画像ブロック（６００）中の画像エレメント（６１０）ごとに前記アルファ修正子の集合からのアルファ修正子に関連するアルファ修正子インデックスを選択する工程と
を含むことを特徴とする方法。
【請求項２】
前記カラー・コードワード（７１０）に基づいて生成されるカラーを修正するための複数のカラー修正子の集合の表現であるカラー修正コードワード（７５０）を提供する工程と、
前記画像ブロック（６００）中の画像エレメント（６１０）ごとに前記カラー修正子の集合からのカラー修正子に関連するカラー修正子インデックスを選択する工程と
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記カラー修正コードワードを提供する工程が、複数のカラー修正子の集合を含むカラー・テーブル（６００）から前記カラー修正子の集合を選択する工程を含み、前記カラー修正コードワード（７５０）が、前記カラー・テーブル（６００）からの前記選択されたカラー修正子の集合の識別を可能とすることを特徴とする請求項２に記載の方法。
【請求項４】
前記カラー・コードワードを決定する工程が、
前記複数の画像エレメント（６１０）の少なくとも第１の部分のカラーの表現である第１のカラー・サブコードワード（７１０Ａ）を決定する工程と、
前記複数の画像エレメント（６１０）の少なくとも第２の部分のカラーの表現である第２のカラー・サブコードワード（７１０Ｂ）を決定する工程と
を含み、前記方法が、
前記複数の画像エレメント（６１０）の少なくとも１つの部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを選択する工程
をさらに含むことを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
前記カラー・インデックスのシーケンス（７７０）が、前記複数の画像エレメント（６１０）の第１の部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを含み、前記複数の画像エレメント（６１０）の第２の残りの部分集合中の各画像エレメント（６１０）が、前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項４に記載の方法。
【請求項６】
前記アルファ修正コードワードを提供する工程が、複数のアルファ修正子の集合を含むアルファ・テーブル（５００）から前記アルファ修正子の集合を選択する工程を含み、それにより前記アルファ修正コードワード（７３０）が、前記アルファ・テーブル（５００）からの前記選択されたアルファ修正子の集合の識別を可能とすることを特徴とする請求項１から５のいずれかに記載の方法。
【請求項７】
画像を符号化する方法であって、
各画像ブロック（６００）が複数の画像エレメント（６１０）を含む複数の画像ブロック（６００）へと前記画像を分解する工程と、
少なくとも１つの画像ブロック（６００）について、請求項１から６のいずれかに従って前記少なくとも１つの画像ブロック（６００）を圧縮することにより、圧縮された画像ブロック表現（７００）を決定する工程と
を含むことを特徴とする方法。
【請求項８】
複数の画像エレメント（６１０）を含む画像ブロック（６００）の圧縮された表現（７００）を処理する方法であって、前記圧縮された表現（７００）が、カラー・コードワード（７１０）と、アルファ・コードワード（７２０）と、アルファ修正コードワード（７３０）と、アルファ修正子インデックス・シーケンス（７４０）とを含み、前記方法が、
前記アルファ修正コードワード（７３０）に基づいて複数のアルファ修正子の集合を提供する工程と、
前記画像ブロック（６００）中の少なくとも１つの画像エレメント（６１０）について、
前記カラー・コードワード（７１０）に基づいてカラー表現を生成する工程と、
前記アルファ・コードワード（７２０）に基づいてアルファ表現を生成する工程と、
前記アルファ修正子インデックス・シーケンス（７４０）に基づいて前記アルファ修正子の集合からアルファ修正子を選択する工程と、
前記選択されたアルファ修正子に基づいて前記アルファ表現を修正する工程と
を含むことを特徴とする方法。
【請求項９】
前記圧縮された画像ブロック表現（７００）が、カラー修正コードワード（７５０）とカラー修正子インデックス・シーケンス（７６０）とをさらに含み、前記方法が、
前記カラー修正コードワード（７５０）に基づいて複数のカラー修正子の集合を提供する工程と、
前記カラー修正子インデックス・シーケンス（７６０）に基づいて前記カラー修正子の集合からカラー修正子を選択する工程と、
前記選択されたカラー修正子に基づいて前記カラー表現を修正する工程と
をさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記カラー修正子の集合を提供する前記工程が、前記カラー修正コードワード（７５０）に基づいて複数のカラー修正子の集合を含むカラー・テーブル（６００）から前記カラー修正子の集合を選択する工程を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記カラー・コードワード（７１０）が、第１のカラー・サブコードワード（７１０Ａ）と第２のカラー・サブコードワード（７１０Ｂ）とを含み、前記圧縮された画像ブロック表現（７００）が、カラー・インデックス・シーケンス（７７０）をさらに含み、前記カラー表現を生成する工程が、
前記第１のカラー・サブコードワード（７１０Ａ）および前記第２のカラー・サブコードワード（７１０Ｂ）から選択される少なくとも１つのカラー・サブコードワードに基づいて前記カラー表現を生成する工程を
含むことを特徴とする請求項７から１０のいずれかに記載の方法。
【請求項１２】
前記カラー・インデックス・シーケンス（７７０）が、前記複数の画像エレメント（６１０）の第１の部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを含み、前記複数の画像エレメント（６１０）の第２の残りの部分集合中の各画像エレメント（６１０）が、前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記アルファ修正子の集合を提供する前記工程が、前記アルファ修正コードワード（７３０）に基づいて複数のアルファ修正子の集合を含むアルファ・テーブル（５００）から前記アルファ修正子の集合を選択する工程を含むことを特徴とする請求項８から１２のいずれかに記載の方法。
【請求項１４】
複数の画像エレメント（６１０）を含む画像ブロック（６００）の圧縮された表現（７００）を含む符号化された画像を復号化する方法であって、圧縮された画像ブロック表現（７００）が、カラー・コードワード（７１０）と、アルファ・コードワード（７２０）と、アルファ修正コードワード（７３０）と、アルファ修正子インデックス・シーケンス（７４０）とを含み、前記方法が、
少なくとも１つの圧縮された画像ブロック表現（７００）について、請求項８から１３のいずれかに従って前記少なくとも１つの圧縮された画像ブロック表現（７００）を処理することにより、少なくとも１つの伸張された画像エレメント表現（６１０）を決定する工程と、
前記少なくとも１つの伸張された画像エレメント表現（６１０）を処理することにより、画像を生成する工程と
を含むことを特徴とする方法。
【請求項１５】
複数の画像エレメント（６１０）を含む画像ブロック（６００）を圧縮するためのシステム（３００）であって、
前記複数の画像エレメント（６１０）のカラーの表現であるカラー・コードワード（７１０）を決定するためのカラー量子化器（３１０）と、
前記複数の画像エレメント（６１０）のアルファ値の表現であるアルファ・コードワード（７２０）を決定するためのアルファ量子化器（３２０）と、
前記アルファ・コードワード（７２０）に基づいて生成されるアルファ値を修正するための複数のアルファ修正子の集合の表現であるアルファ修正コードワード（７３０）を提供する手段（３３０）と、
前記画像ブロック（６００）中の画像エレメント（６１０）ごとに前記アルファ修正子の集合からのアルファ修正子に関連するアルファ修正子インデックスを選択するためのインデックス・セレクタ（３４０）と
を備えることを特徴とするシステム。
【請求項１６】
前記カラー・コードワード（７１０）に基づいて生成されるカラーを修正するための複数のカラー修正子の集合の表現であるカラー修正コードワード（７５０）を提供する手段（３６０）をさらに備え、前記インデックス・セレクタ（３４０）が、前記画像ブロック（６００）中の画像エレメント（６１０）ごとに、前記カラー修正子の集合からのカラー修正子に関連するカラー修正子インデックスを選択するように構成されることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記カラー修正コードワードを提供する手段（３６０）が、複数のカラー修正子の集合を含むカラー・テーブル（６００）から前記カラー修正子の集合を選択するように構成されており、それにより前記カラー修正コードワード（７５０）が、前記カラー・テーブル（６００）からの前記選択されたカラー修正子の集合の識別を可能とすることを特徴とする請求項１６に記載のシステム。
【請求項１８】
前記カラー量子化器（３１０）が、前記複数の画像エレメント（６１０）の少なくとも第１の部分のカラーの表現である第１のカラー・サブコードワード（７１０Ａ）と、前記複数の画像エレメント（６１０）の少なくとも第２の部分のカラーの表現である第２のカラー・サブコードワード（７１０Ｂ）とを決定するように構成され、前記インデックス・セレクタ（３４０）が、前記複数の画像エレメント（６１０）の少なくとも１つの部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを選択するように構成されることを特徴とする請求項１５から１７のいずれかに記載のシステム。
【請求項１９】
前記カラー・インデックスのシーケンス（７７０）が、前記複数の画像エレメント（６１０）の第１の部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを含み、前記複数の画像エレメント（６１０）の第２の残りの部分集合中の各画像エレメント（６１０）が、前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項１８に記載のシステム。
【請求項２０】
アルファ修正コードワードを提供する手段（３３０）が、複数のアルファ修正子の集合を含むアルファ・テーブル（５００）から前記アルファ修正子の集合を選択するように構成され、それにより前記アルファ修正コードワード（７３０）が、前記アルファ・テーブル（５００）からの前記選択されたアルファ修正子の集合の識別を可能とすることを特徴とする請求項１５から１９のいずれかに記載のシステム。
【請求項２１】
各画像ブロック（６００）が複数の画像エレメント（６１０）を含む複数の画像ブロック（６００）へと画像を分解するための画像分解器（２１５）と、
請求項１５から２０のいずれかによる少なくとも１つの画像ブロック圧縮システム（３００）と
を備えることを特徴とする画像符号化システム（２１０）。
【請求項２２】
複数の画像エレメント（６１０）を含む画像ブロック（６００）の圧縮された表現（７００）を処理するためのシステム（４００）であって、前記圧縮された表現（７００）が、カラー・コードワード（７１０）と、アルファ・コードワード（７２０）と、アルファ修正コードワード（７３０）と、アルファ修正子インデックス・シーケンス（７４０）とを含み、前記システム（４００）が、
前記アルファ修正コードワード（７３０）に基づいて複数のアルファ修正子の集合を提供する手段（４３０）と、
前記カラー・コードワード（７１０）に基づいて前記画像ブロック（６００）中の少なくとも１つの画像エレメント（６１０）についてのカラー表現を生成するためのカラー・ジェネレータ（４１０）と、
前記アルファ・コードワード（７２０）に基づいて前記少なくとも１つの画像エレメントについてのアルファ値を生成するためのアルファ・ジェネレータ（４２０）と、
前記少なくとも１つの画像エレメント（６１０）について、前記アルファ修正子インデックス・シーケンス（７４０）に基づいて前記識別されたアルファ修正子の集合からアルファ修正子を選択するためのセレクタ（４４０）と、
前記選択されたアルファ修正子に基づいて前記アルファ値を修正するためのアルファ修正子（４５０）と
を備えることを特徴とするシステム。
【請求項２３】
前記圧縮された画像ブロック表現（７００）が、カラー修正コードワード（７５０）とカラー修正子インデックス・シーケンス（７６０）とをさらに含み、前記システム（４００）が、
前記カラー修正コードワード（７５０）に基づいて複数のカラー修正子の集合を提供する手段（４６０）と、
前記カラー修正子インデックス・シーケンス（７６０）を使用して、前記カラー修正子の集合から前記セレクタ（４４０）によって選択されたカラー修正子に基づいて前記カラー表現を修正するためのカラー修正子（４７０）と
をさらに備えることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記カラー修正子の集合を提供する手段（４６０）が、前記カラー修正コードワード（７５０）に基づいて、複数のカラー修正子の集合を含むカラー・テーブル（６００）から前記カラー修正子の集合を選択するように構成されることを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記カラー・コードワード（７１０）が、第１のカラー・サブコードワード（７１０Ａ）と第２のカラー・サブコードワード（７１０Ｂ）とを含み、前記圧縮された画像ブロック表現（７００）が、カラー・インデックス・シーケンス（７７０）をさらに含み、前記カラー・ジェネレータ（４１０）が、
前記第１のカラー・サブコードワード（７１０Ａ）および前記第２のカラー・サブコードワード（７１０Ｂ）から前記セレクタ（４４０）によって選択される少なくとも１つのカラー・サブコードワードに基づいて前記カラー表現を生成するように構成されることを特徴とする請求項２２から２４のいずれかに記載のシステム。
【請求項２６】
前記カラー・インデックス・シーケンス（７７０）が、前記複数の画像エレメント（６１０）の第１の部分集合中の画像エレメント（６１０）ごとに前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）に関連するカラー・インデックスを含み、前記複数の画像エレメント（６１０）の第２の残りの部分集合中の各画像エレメント（６１０）が、前記第１のカラー・サブコードワード（７１０Ａ）または前記第２のカラー・サブコードワード（７１０Ｂ）から選択されるあらかじめ定義されたカラー・サブコードワードに関連することを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記アルファ修正子の集合を提供する手段（４３０）が、前記アルファ修正コードワード（７２０）に基づいて複数のアルファ修正子の集合を含むアルファ・テーブル（５００）から前記アルファ修正子の集合を選択するように構成されることを特徴とする請求項２２から２６のいずれかに記載のシステム。
【請求項２８】
各画像ブロック（６００）が複数の画像エレメント（６１０）を含む画像ブロック（６００）の圧縮された表現（７００）を含む符号化された画像を復号化するためのシステム（２２０）であって、圧縮された画像ブロック表現（７００）が、カラー・コードワード（７１０）と、アルファ・コードワード（７２０）と、アルファ修正コードワード（７３０）と、アルファ修正子インデックス・シーケンス（７４０）とを含み、前記システム（２２０）が、
少なくとも１つの圧縮された画像ブロック表現（７００）について、少なくとも１つの伸張された画像エレメント表現（６１０）を決定するための、請求項２２から２７のいずれかによる少なくとも１つのシステム（４００）と、
前記少なくとも１つの伸張された画像エレメント表現（６１０）を処理して、画像を生成する手段（２２４）と
を備えることを特徴とするシステム。
【請求項２９】
請求項１５から２８のいずれかによるシステム（２１０、２２０、３００、４００）を備えることを特徴とする画像処理端末（１００）。
【請求項３０】
複数の画像エレメント（６１０）を含む画像ブロック（６００）の信号表現（７００）であって、
前記複数の画像エレメント（６１０）のカラーの表現であるカラー・コードワード（７１０）と、
前記複数の画像エレメント（６１０）のアルファ値の表現であるアルファ・コードワード（７２０）と、
前記アルファ・コードワード（７２０）に基づいて生成されるアルファ値を修正するための複数のアルファ修正子の集合の表現であるアルファ修正コードワード（７３０）と、
アルファ修正子インデックスが、前記画像ブロック（６００）中の画像エレメント（６１０）について、前記アルファ修正子の集合からのアルファ修正子に関連するアルファ・インデックスのシーケンス（７４０）と
を含むことを特徴とする信号表現。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に画像処理に関し、詳細には画像を符号化し復号化するための方法およびシステムに関する。
【背景技術】
【０００２】
近年、コンピュータなど、データ処理システムおよびユーザ端末上における、またとりわけモバイル端末上における画像およびグラフィックスのプレゼンテーションおよびレンダリング（rendering）が、ものすごい勢いで増大してきている。例えば、三次元（３Ｄ）のグラフィックスおよび画像は、ゲーム、３Ｄマップおよびメッセージング、スクリーン・セイバ、ならびにマン・マシン・インターフェースを含めて、このような端末上のいくつかの魅力のあるアプリケーションを有する。
【０００３】
３Ｄグラフィックスのレンダリング処理は、一般に３つの下位段階を含んでいる。簡潔に言えば、第１の段階、すなわちアプリケーション段階では、いくつかの三角形が作成される。これらの三角形のこれらのコーナーは、第２の段階、すなわち幾何学的段階において、変換され、投影され、明るく照らされる。第３の段階、すなわちラスタ化（rasterization）段階においては、多くの場合にテクスチャ（texture）であることが示される画像を、これらの三角形上に「はりつける（glue）」ことができ、このレンダリングされる画像のリアル感が高められる。この第３の段階は、一般的にｚバッファを使用してソーティングも実施する。
【０００４】
しかし、画像およびテクスチャのレンダリング、ならびに特に３Ｄの画像およびグラフィックスは、これらのグラフィック・システムのために必要とされるメモリ帯域幅および処理能力を考慮するとコンピュータの観点から見て高価につくタスクである。例えば、テクスチャは、これらのテクスチャが高速なオンチップ・メモリに配置し、またはキャッシングしなければならないというメモリの観点と、またテクスチャを何回もアクセスして、やっとたった１つのピクセルを描くことができるというメモリ帯域幅の観点との両方から見て高価なものとなる。
【０００５】
これらの帯域幅と処理能力の要件を低減させるために、画像（テクスチャ）符号化の方法またはシステムが一般的に使用される。このような符号化システムは、レンダリング中の高価なオンチップ・メモリ、およびより低いメモリ帯域幅のより効率的な使用をもたらし、それによってより低い電力消費および／またはより高速なレンダリングがもたらされるはずである。
【０００６】
画像を効率良く正確に圧縮し、伸張することに加えて、このテクスチャの圧縮システムおよび伸張システムは、アルファ成分（alpha component）を管理することができる機能を有するべきであるという一般的な要求が存在する。このようなアルファ成分を使用して、広い範囲の用途で使用されるこれらのテクスチャにおける透明または半透明のピクセルまたはテクセル（texel）を表現することができる。
【０００７】
米国特許第５９５６４３１号特許明細書において、Ｉｏｕｒｃｈａ等は、Ｓ３ＴＣ（S3 Texture Compression  Ｓ３テクスチャ圧縮）またはＤＸＴＣ（DirectX Texture Compression  ダイレクトＸテクスチャ圧縮）と呼ばれるテクスチャ圧縮スキームについて開示している。１つの画像は、４ピクセル×４ピクセルのいくつかの画像ブロックに分解される。このような各画像ブロックは、６４ビットのビット・シーケンスに符号化され、このようにして４ｂｐｐ（bits per pixel  ピクセル当たりビット数）の圧縮レートをもたらす。この６４ビットのシーケンスは、２色の基本カラーまたはカラー・コードワードと、ピクセル・インデックス、すなわちこの画像ブロック中のピクセルごとに１つのインデックスのシーケンスとを含んでいる。復号化中に、４色のカラー・パレットが生成される。このパレットのうちの最初の２色のＲＧＢ（red, green, and blue  赤、緑、青）色は、これらの２色の基本カラー（コードワード）に対応する。このＲＧＢ空間中のこれらの基本カラーの間に位置する２色の追加カラーは、次いでこれらから補間される。この場合には、各ピクセル・インデックスは、ピクセルごとに、このピクセルのために使用する、このパレットの４色のカラーのうちの１色を識別する。
【０００８】
このカラー・パレットのこれらの２色の追加のカラーの補間中に、１／３および２／３による乗算が実施されるが、これは、ハードウェアにおいては理想的ではない。さらに、Ｓ３ＴＣを使用した圧縮についても、比較的時間がかかるものである。
【０００９】
このＳ３ＴＣスキームは、アルファ・テクスチャを特別な場合として取り扱う。この場合には、これらのビットは、いわゆるパンチ・スルー・アルファ（punch-through alpha）を可能にするために異なったように解釈される。このアルファ・メカニズムの簡単なバージョンは、各ピクセルを完全に不透明または透明であるものとして表現する。Ｓ３ＴＣがより正確なアルファを取り扱うことができないことが、このシステムの主要な欠点の１つである。
【特許文献１】米国特許第５９５６４３１号、Ｉｏｕｒｃｈａ等
【非特許文献１】Ｙ．Ｌｉｎｄｅ、Ａ．Ｂｕｚｏ、Ｒ．Ｇｒａｙ、「Ａｎ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｖｅｃｔｏｒ  ｑｕａｎｔｉｚｅｒ  ｄｅｓｉｇｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、２８巻、８４〜９４頁、１９８０年１月
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、従来技術の構成のこれらおよび他の欠点を克服するものである。
【００１１】
本発明の一般的な一目的は、効率的な画像処理を実現することである。
【００１２】
本発明の他の目的は、効率的な画像符号化および画像復号化を実現することである。
【００１３】
本発明のさらなる目的は、透明および／または半透明な画像エレメントを含むアルファ画像について適合させられた画像の符号化および復号化を実現することである。
【課題を解決するための手段】
【００１４】
これらおよび他の目的は、添付の特許請求の範囲によって定義される本発明によって満たされる。
【００１５】
簡潔に言えば、本発明は、アルファ画像を符号化すること（圧縮すること）、および符号化された（圧縮された）画像を復号化すること（伸張すること）の形態のアルファ画像処理を伴う。
【００１６】
本発明によれば、符号化すべきアルファ画像は、複数個の画像エレメント（ピクセル、テクスチャ・エレメント、テクセル、またはボリューム・エレメント、すなわちボクセル（voxel））を含むいくつかの画像ブロックに分解される。画像ブロックは、８個の画像エレメントを含むことが好ましく、また２ｍ×２ｎ個の画像エレメントのサイズを有することが好ましく、ここでｍ＝３−ｎおよびｎ＝０、１、２、３であり、あるいは２ｍ×２ｎ×２ｐ個のサイズを有することが好ましく、ここでｍ、ｎ、ｐ＝０、１、２、３であり、またｍ＋ｎ＋ｐ＝３であることが好ましい。ブロック中の各画像エレメントは、カラー、およびアルファ値または透明度値によって特徴づけられる。次いで、これらの個々の画像ブロックは、圧縮される。
【００１７】
この損失のあるブロック符号化においては、カラー・コードワードが、この画像ブロックについて決定される。このカラー・コードワードは、この画像ブロックのこれらの画像エレメントのカラーの表現である。さらに、アルファ・コードワードが、この画像ブロックについて決定される。このアルファ・コードワードは、このブロック中におけるこれらの画像エレメントのアルファ値の表現である。好ましい表現は、ブロック中におけるこれらの画像エレメントの量子化された平均アルファ値である。
【００１８】
その後、アルファ修正コードワード（alpha modifying codeword）が、この画像ブロックについて提供される。このアルファ修正コードワードは、（復号化中に）このアルファ・コードワードによって表現されるアルファ値を修正、または変調するために使用される複数のアルファ修正子（alpha modifier）の集合（set）の表現である。このアルファ修正コードワードが提供された後に、アルファ修正子インデックスが、この画像ブロック中のこれらの画像エレメントについて選択される。このような各修正子インデックスは、このアルファ修正子の集合からの１つのアルファ修正子に関連づけられる。
【００１９】
本発明の好ましい一実施形態においては、画像ブロックは、複数の、好ましくは２つの可能な圧縮モードのうちの一方に従って圧縮することができる。２つの異なる圧縮モードの使用は、このアルファ画像中の個々の画像ブロックの特性により良好に適応化できるようにすることにより、この符号化方法に柔軟性をもたらす。ブロックベースで２つの異なる圧縮モードの間で選択を行う結果として、この処理された画像の画像品質は、単一モードの符号化しかもたない従来技術のアルファ適応符号化スキーム（alpha-adapted encoding scheme）に比べて改善される。
【００２０】
第１の圧縮モードにおいては、カラー修正コードワード（color modifying codeword）が生成される。このカラー修正コードワードは、（復号化中に）このブロック中のこれらの画像エレメントのカラーを修正、または変調するために使用される複数の輝度修正子（intensity modifier）またはカラー修正子（color modifier）の集合の表現である。このカラー修正コードワードが提供された後に、カラー修正子インデックスが、この画像ブロック中のこれらの画像エレメントについて選択される。このような各修正子インデックスは、このアルファ修正子の集合からの１つのアルファ修正子に関連づけられる。
【００２１】
第２の圧縮モードにおいては、このカラー・コードワードは、第１のカラー・サブコードワードと第２のカラー・サブコードワードとを含んでいる。この第１のカラー・サブコードワードは、この画像ブロックの第１の部分におけるこれらの画像エレメントのカラーを表現することが好ましいのに対して、この第２のサブコードワードは、この画像ブロックの第２の部分におけるこれらの画像エレメントのカラーを表現する。さらに、この第１および第２のカラー・サブコードワードに関連するカラー・インデックスは、このブロック中のこれらの画像エレメントの第１の部分集合について生成されることが好ましい。このブロック中のこれらの画像エレメントの残りの第２の部分集合は、これらのカラー・サブコードワードの一方とのあらかじめ定義された関連付けを有することが好ましく、その結果、この残りの部分集合の１個（または複数個）の画像エレメントについては、カラー・インデックスは必要とされない。
【００２２】
これらの２つのモードに従って圧縮される画像ブロック表現は、異なるコードワードと、画像エレメントに関連するインデックスとを含んでいるが、ビット数を考慮したこれらの圧縮されたブロック表現のサイズは、両方のモードについて等しいことが好ましい。
【００２３】
１つの画像ブロックについて使用するための圧縮モードの選択は、これらのコードワードおよびインデックス・シーケンスを決定する前に、このブロック中のこれらの画像エレメントの特性の調査に基づいて、例えばこのカラー空間のこれらの画像エレメントのカラー値の分布に基づいて実施できることが好ましい。代わりに、このモード選択は、これらのコードワードおよびインデックス・シーケンスの生成中または生成後にも行われる。後者の場合には、この画像ブロックの２つの圧縮表現は、１つの圧縮表現はこの第１の圧縮モードに従って、また１つの圧縮表現はこの第２のモードに従って生成されることになる。この第１のモードに従ってこの画像ブロックを圧縮することに関連する第１のエラー値は、この第１のモードに従って圧縮されるブロック表現を使用して決定される。それに対応して、またこの第２のモードに従ってこの画像ブロックを圧縮することに関連する第２のエラー値は、この第２のモードに従って圧縮されるブロック表現を使用して決定される。次いで、これらの２つのエラー値は比較され、最高品質（最小のエラー値）をもたらす圧縮モードが選択される。この選択モードに従って圧縮されたこのブロック表現が、この現行ブロックについての符号化表現として使用されることになる。
【００２４】
復号化中には、伸張されるべき１つ（または複数）の圧縮された画像ブロックは、例えばメモリ・ロケーションから識別され、フェッチされる。この正しい圧縮画像ブロックが識別された後に、この識別された圧縮画像ブロック中の少なくとも１個の画像エレメントの復号化表現が、これらのコードワードおよびインデックスを使用して生成される。
【００２５】
本発明は、以下の複数の利点を提供する。
【００２６】
−  完全に透明、完全に不透明、半透明に加えてアルファ値の表現を可能にする柔軟性によるアルファ画像についての高品質（最高の信号対雑音比（signal/noise ratio）を提供する。
【００２７】
−  復号化のハードウェア実装が極めて簡単である。
【００２８】
−  符号化が非常に高速であり、これにより、低クロック周波数を有する端末中でも実装が可能になる。
【００２９】
−  異なる画像ブロックについて適応化された２つのモードに従って動作するように拡張することができ、これがさらにこの最高の信号対雑音比を改善することになる。
【００３０】
−  コンピュータ上で実現可能な速度における完全な符号化が可能である。
【００３１】
本発明により提供される他の利点については、本発明の実施形態の以下の説明を読めばすぐに理解されよう。
【００３２】
本発明については、本発明のさらなる目的および利点と共に、以下の説明を添付図面と併せて参照することにより最もよく理解することができる。
【発明を実施するための最良の形態】
【００３３】
これらの図面全体を通して、これらの同じ参照符号は、これらに対応する要素、または同様な要素について使用されることになる。
【００３４】
本発明は、画像処理およびグラフィック処理に関し、詳細には、アルファ画像の符号化または圧縮、ならびに符号化された（圧縮された）アルファ画像を復号化、または伸張することに関する。
【００３５】
一般に本発明によれば、画像符号化中に、１つのアルファ画像は、いくつかの画像ブロックに分解、または分割される。次いでこのような各画像ブロックは、複数個の、すなわち少なくとも２個の、画像エレメントに関連する特性、中でもとりわけある種のカラー、およびそれに関連するアルファ値または透明度値を有する画像エレメントを含んでいる。次いでこれらの画像ブロックは、符号化、または圧縮されて、この画像の符号化された表現が生成される。
【００３６】
符号化された画像が、画面上に表示されるべきとき、あるいはこの符号化された画像に関連する幾何学的プリミティブがレンダリングされるべきときには、この符号化画像ブロックのこれらの関連した画像エレメントが識別され、復号化される。次いでこれらの復号化された画像エレメントを使用して、この元の画像の復号化された表現を表示するために生成することができ、あるいはこれらの復号化された画像エレメントを使用して、この幾何学的プリミティブをレンダリングすることができる。
【００３７】
本発明は、写真、テキスト、「合成」画像など、３Ｄ（three-dimensional 三次元）のグラフィックスおよび画像と共に使用するためによく適合化させられ、これらの全ては、ゲーム、３Ｄマップおよびシーン、３Ｄメッセージ、例えばアニメーション化されたメッセージ、スクリーン・セイバ、ＭＭＩ（man-machine interface  マン・マシン・インターフェース）などのアプリケーション中で使用することができるが、それだけに限定されるものではない。したがって、本発明は、他のタイプの画像またはグラフィックス、例えば１Ｄ（one-dimensional  一次元）画像、２Ｄ（two-dimensional  二次元）画像または３Ｄ画像を符号化するために使用することもできる。
【００３８】
本発明においては、表現「画像エレメント」は、画像ブロック、または画像ブロックの符号化された（圧縮された）表現における１つのエレメントを意味する。この画像ブロックは、その結果として画像またはテクスチャの一部分に対応する。したがって、本発明によれば、１個の画像エレメントは、（１Ｄ、２Ｄ、または３Ｄの）テクスチャの１つのテクセル、あるいは（１Ｄ、２Ｄ、または３Ｄの）画像の１つのピクセルとなる可能性がある。それに対応して、１個の画像エレメントは、３Ｄのテクスチャまたは画像中の１つのボクセルとなる可能性がある。一般的に、画像エレメントは、カラー値やアルファ値または透明度値などのある種の画像エレメント関連特性によって特徴づけられる。さらに、以降では、用語「画像」を使用して、本発明を使用して符号化し復号化することができる任意の１Ｄ、２Ｄ、または３Ｄの画像またはテクスチャを示す。
【００３９】
以上で簡単に述べたように、画像エレメントは、多くの場合にとりわけカラーによって特徴づけられる。このカラーは、単一成分の（一次元の）特性、一般的にはグレー・レベルまたはグレー値となり得る。このような場合には、画像エレメントのカラーは、一般的に黒を表す最小のグレー・レベル、例えば０から、一般的に白を表す最大のグレー・レベル、例えば２５５までの値を取ることが可能である。代わりに、画像エレメントのカラーは、一般的には３つのカラー成分を含む、多成分の（多次元の）特性となることが可能である。このような場合には、このカラーは、画像処理およびグラフィックス処理において使用されるＲＧＢ（赤、緑、青）のカラー、ＹＵＶ空間におけるカラー、ＹＣｒＣｂ空間におけるカラー、または他のどのようなカラー空間とすることも可能である。以降では、本発明は、主にＲＧＢカラーに関して説明することにする。しかし、これについては、単に例示的であるが非限定的な適切なカラー・フォーマットの例にすぎないものとして理解されたい。それ故に、この対応する説明は、他の多成分カラー・フォーマット、および単一成分のカラー・フォーマット、例えばグレー・レベルに適用することもできる。
【００４０】
アルファ画像処理の技術分野においては、アルファ値を使用して、画像エレメントの透明度特性を表現する。一般に、０≦ａｌｐｈａ＿ｖａｌｕｅ（アルファ値）≦１であり、また０≦ｔｒａｎｓｐａｒｅｎｃｙ（透明度）≦１である場合、アルファ値は、一般的にａｌｐｈａ＿ｖａｌｕｅ＝１−ｔｒａｎｓｐａｒｅｎｃｙとして定義される。したがって、１のアルファ値は、この定義においては不透明性、または不透明（透明度が０である）に対応するのに対して、０のアルファ値は、この場合には完全な透明性（透明度が１である）を表す。アルファ値のこの定義は、当技術分野においては、最も一般的なものであるが、本発明は、それだけに限定されるものではない。実際に、画像エレメントのアルファ値は、したがって本発明によれば、この使用されるアルファ値と透明度の関係に応じて、この画像エレメントのどのような透明度特性を表現することもできる。
【００４１】
これらの各アルファ値に加えて「アルファ画像」の画像エレメントもまた、関連するカラー値を有することが本発明によって予想される。したがって、本発明のアルファ画像は、いわゆるＲＧＢＡ画像となり得る。
【００４２】
＜画像符号化＞
図１は、本発明によるアルファ画像を符号化する（損失のある）方法の一実施形態の流れ図である。第１のステップＳ１において、この画像は、いくつかの画像ブロックに分解される、若しくは分割される。このような各画像ブロックは、この場合に複数個の画像エレメントを含んでいる。本発明の好ましい一実施形態においては、１つの画像ブロックは、８個の画像エレメント（ピクセルまたはテクセル）を含み、２ｍ×２ｎ個の画像エレメントのサイズを有し、ここでｍ＝３−ｎおよびｎ＝０、１、２、３である。ｎが１または２であることがより好ましい。図２Ａおよび２Ｂは、本発明による８個の画像エレメント６１０を有する画像ブロック６００の２つの例を概略的に示している。図２Ａにおいては、その高さが２個の画像エレメント６１０分であり、その幅が４個の画像エレメント６１０分であり、すなわちｍ＝１およびｎ＝２であるのに対して、図２Ｂにおける画像ブロック６００では、ｍ＝２およびｎ＝１である。それに対応して、３Ｄ画像を圧縮するときには、好ましい画像ブロックサイズは、２×２×２個の画像エレメント（ボクセル）となる可能性がある。しかし、本発明は、８個の画像エレメントを有するブロックだけに限定されるものではなく、代わりにさらに少ない、例えば２×２個の、あるいは８個の画像エレメントよりも多い、例えば４×４個の画像エレメントを有する画像ブロックに関連して使用することもできる。
【００４３】
図１に戻って参照すると、この全体の画像ブロックは、ステップＳ１において、（オーバーラップしない）画像ブロックに分解されることが好ましい。しかし、一部のアプリケーションにおいては、画像の一部分しか符号化されず、それ故に、この部分しか画像ブロックには分解されない。
【００４４】
ステップＳ２において、カラー・コードワードが、この画像ブロックについて決定される。このカラー・コードワードは、この画像ブロック中におけるこれらの画像エレメントのカラーの表現である。典型的な実装形態においては、このカラー・コードワードは、このブロックのこれらの画像エレメントについての平均カラーの表現であるが、代わりに複数のカラー値を表現することもできる。このカラー・コードワードは、元の画像と同じカラー・フォーマット（空間）中にあることが好ましい。しかし、一部のケースにおいては、この画像を異なるカラー・フォーマットに、すなわち第１のカラー空間におけるこのカラー・コードワードと第２の異なるカラー空間におけるその元の画像とを有するカラー・フォーマットに変換することが有用なこともある。次のステップＳ３においては、アルファ・コードワードがこの現行の画像ブロックについて決定される。このアルファ・コードワードは、この画像ブロック中のこれらの画像エレメントのアルファ値の表現である。典型的な実装形態においては、このアルファ・コードワードは、このブロック中のこれらの画像エレメントの平均アルファ値の表現である。
【００４５】
その後、アルファ修正コードワードが、ステップＳ４において提供される。このアルファ修正コードワードは、（復号化中に）この画像ブロック中のこれらの画像エレメントのアルファ表現を修正するために使用される複数のアルファ修正子の集合の表現である。
【００４６】
本発明の好ましい一実施形態においては、このアルファ修正コードワードは、アルファ修正子の集合の識別を可能にするインデックスまたは表現である。次いでこのインデックスは、いくつかの異なるアルファ修正子の集合を含むアルファ・テーブルまたはアルファ・コードブック中の集合を識別、あるいは指し示すことができる。各集合は、２つ以上のアルファ修正子値を含み、少なくとも４つの修正子値を含むことが好ましい。
【００４７】
このアルファ・テーブルは、透明度特性をスムーズに変更する表現を可能にするようになっている小さなアルファ修正値を含む集合を含んでいることが好ましい。さらに、このテーブルは、鮮明な透明度コントラストの表現を可能にするようになっている大きなアルファ修正子値を含む集合を含んでいることも好ましい。
【００４８】
このテーブル中のこれらの集合の実際のアルファ修正子値は、ランダムな値から出発し、次いで当業者に知られているＬＢＧ−アルゴリズム（Ｌｉｎｄｅ、ＢｕｚｏおよびＧｒａｙ）［２］、シミュレーテッド・アニーリング（simulated annealing）、座標探索（coordinate search）のバージョンなど、いくつかの異なる最適化のスキームおよびアルゴリズムを使用してこれらの値を最適化することにより見出すことができる。異なるタイプのほんの一握りのアルファ画像をトレーニング・データとして使用することができる。
【００４９】
このアルファ・テーブルのハードウェア実装をあまり高価でないものにするために、集合のうちのこれらのアルファ修正子は、強いて数学的に相補的な値となるようにすることが可能であり、すなわち各集合が、対称的であることが好ましく、または所与の集合のうちのこれらのアルファ修正子が、あるファクタ、例えば２だけ修正された他の集合のアルファ修正子のコピーとすることができ、あるいはその両方であるようにすることが可能である。
【００５０】
テーブル１は、各集合中に４つの修正子値を有するアルファ修正子の１６個の集合を含むアルファ・テーブルの非限定的な実施例を示している。
【００５１】
【表１】
2007517434.tif 000003
【００５２】
テーブル１においてアルファ修正子の集合８〜１５は、２のファクタだけ乗算された集合０〜７のコピーである。
【００５３】
このアルファ・テーブルが、せいぜい１６個の異なるアルファ修正子の集合を含む場合には、このアルファ・コードワードは、このテーブルのコードワード００００ｂｉｎについてのこれらの（８つの）集合のうちの１つ、例えば［−８，−２，２，８］を識別する４ビットのインデックス（００００ｂｉｎ〜１１１１ｂｉｎ）であることが好ましい。これらの集合中の修正子値の注意深い選択により、このテーブル１全体は、１６個の修正子値だけを使用して再構築することができ、これらの残りの４８個の値はそれらから算出することができる。
【００５４】
しかし本発明は、テーブル１の使用だけには限定されず、他のアルファ修正子の集合および値を有する他のテーブルを使用することもできる。さらに、テーブル中の１６個の集合よりも多い、または少ない場合についても、このアルファ・コードワードのサイズを変更する必要がある可能性もある。例えば、このテーブルが２つの（３〜４、５〜８、または１６よりも多い）アルファ修正子の集合を含む場合には、このアルファ・コードワードのサイズは、１ビット（２ビット、３ビット、または５ビット以上）に制限することもできる。さらに、集合当たりのアルファ修正子値数は、４とは異なる可能性があり、例えば集合当たりに５個の値を使用して［−８，−２，０，２，８］の一例を提供することもできる。
【００５５】
このテーブル中のこれらの集合のアルファ値は、以上に考察されたいくつかの異なるタイプの画像をトレーニング・データとして使用して決定することができる。しかし、特定の画像タイプしか符号化すべきでない場合には、これらの修正子値は、この画像タイプに対応するトレーニング・データ、すなわち特定の画像タイプについて専用のアルファ・テーブルを提供するトレーニング・データを使用して決定することができる。特定の画像について適合化させられた輝度修正子値を有するアルファ・テーブルを有することも可能にすることができる。これらの場合、すなわち画像または画像タイプについて専用化されたテーブルの場合には、符号化された画像ブロックの圧縮されたファイル中にこのテーブルのこれらの輝度修正子値を含め、あるいはそうでなければこれらの輝度修正子値をそれに関連づけることが必要な可能性がある。
【００５６】
さらに、このアルファ・コードワードは、テーブル中におけるアルファ修正子の集合に対するポインタである必要はないが、実際にはアルファ修正子の集合それ自体である可能性があり、例えば２や８など、２つの修正子値を含み、この場合には、−２や−８などの他の修正子値は、これらの２つの値から決定することができる。代わりに、使用されるアルファ修正子の集合は、［−ｋａ，−ａ，ａ，ｋａ］または［−ｋ２ａ，−ｋ１ａ，ｋ１ａ，ｋ２ａ］に従う可能性もあり、この場合には、ａは０または正の整数であり、ｋ、ｋ１およびｋ２は、増倍率である。このような場合には、このアルファ・コードワードは、この値ａを含む必要があるにすぎず、これらのすべての残りの３つの値は、ｋまたはｋ１およびｋ２があらかじめ定義された増倍率である場合には、これらから算出することができる。
【００５７】
このアルファ・コードワードが、ステップＳ４で提供された後に、次のステップＳ５は、この画像ブロック中のこれらの画像エレメントについてのアルファ修正子のインデックスまたは表現を選択する。このような各アルファ修正子インデックスは、ステップＳ４で提供されるこのアルファ修正子の集合からの１つのアルファ修正子値に関連づけられる。換言すれば、このアルファ修正子インデックスは、このブロック中の特定の画像エレメントについてこの集合のうちのどのアルファ修正子を使用すべきかについての識別を可能にする。
【００５８】
−８，−２，２，８などの４つの修正子値を含むアルファ修正子の集合の場合には、このアルファ修正子インデックスは、これらの４つの値のうちの１つを識別する２ビットのシーケンスとすることが可能である。
【００５９】
ステップＳ５は、このブロック中のすべての画像エレメントについて反復されることが好ましく、これについては、線Ｌ１によって概略的に示されている。
【００６０】
ステップＳ２からＳ５のこの符号化の結果は符号化された画像ブロック、若しくはさらに詳細には、この画像ブロックの符号化された（圧縮された）表現である。このような符号化されたブロック表現７００が、図３Ａに示されている。この表現７００は、カラー・コードワード７１０、アルファ・コードワード７２０、アルファ修正コードワード７３０、およびアルファ修正子インデックスのシーケンスまたはビットマップ７４０を含んでいる。なお、符号化画像ブロック７００のカラー・コードワード７１０、アルファ・コードワード７２０、アルファ修正コードワード７３０、およびアルファ修正子インデックス・シーケンス７４０の相互の順序は、この図に示されているものとは異なることもあることに留意されたい。またこれらのコードワードおよびインデックス・シーケンスは、連続的に配置される必要がないことにも留意されたい。
【００６１】
これらのステップＳ２からＳ５は、（線Ｌ２によって概略的に示される）ステップＳ１の分解中に提供されるすべての画像ブロックについて反復されることが好ましい。次いで、この結果は、圧縮された画像ブロックのシーケンスまたはファイルとなる。これらの結果として生ずる圧縮された画像ブロックは、ステップＳ１のブロック分解中に分解された順序と同じ順序で、ファイル中において左から右に上から下へと順序づけることができる。次いで、この方法は、終了する。
【００６２】
この符号化された画像は、この画像のその後のレンダリング、例えば表示までその中に記憶するためにメモリに供給することができる。さらに、この符号化された画像は、符号化されたブロック表現の信号として他のユニットへ（無線または有線で）伝送するためにトランスミッタに対して供給することもできる。
【００６３】
図４は、図１のカラー決定ステップＳ２の一実施形態をより詳細に示す流れ図である。この方法は、図１のステップＳ１から継続される。次のステップＳ１０において、この画像ブロック中におけるこれらの画像エレメントの平均カラーが決定される。以降においては、画像エレメントのカラーは、２４ビットのＲＧＢカラーによって、すなわち８ビットの赤色成分、８ビットの緑色成分、および８ビットの青色成分によって表現されるものと想定される。しかし、本発明は、この特定の実施例だけに限定されるものではなく、画像エレメントの任意のカラー表現に対して適用可能とすることができる。次いでこの平均カラー
【００６４】
【数１】
2007517434.tif 000004
【００６５】
は、
【００６６】
【数２】
2007517434.tif 000005
【００６７】
として、決定され、式中でＲｉ、Ｇｉ、Ｂｉは、画像エレメントｉのＲ、Ｇ、Ｂ成分であり、Ｎは、この画像ブロック中における画像エレメントの総数である。
【００６８】
この平均カラー
【００６９】
【数３】
2007517434.tif 000006
【００７０】
が、ステップＳ１０において決定された後に、次のステップＳ１１は、この実施形態中のカラー・コードワードとして使用されることになる量子化カラーにこの平均カラーを量子化する。このカラー量子化において、この２４ビットの平均カラーは、例えば９ビット、１２ビットまたは１５ビットのシーケンスに量子化することができるが、１８ビット・シーケンスに量子化することができることが好ましい。このような場合には、各８ビットの平均カラー成分は、６ビットの平均成分（または全体が９、１２、１５ビットについては、３ビット、４ビット、５ビット）に量子化される。さらに、このカラー・コードワード中の量子化されたカラー成分のビット数の観点における各サイズが、異なることもあることに留意されたい。例えば、サイズ（Ｇ）≧（サイズ（Ｒ）またはサイズ（Ｂ））である。
【００７１】
この平均カラー
【００７２】
【数４】
2007517434.tif 000007
【００７３】
が
【００７４】
【数５】
2007517434.tif 000008
【００７５】
に対して計算される場合、６ビットの量子化バージョン
【００７６】
【数６】
2007517434.tif 000009
【００７７】
は、
【００７８】
【数７】
2007517434.tif 000010
【００７９】
から生成することができ、すなわち［１０１１１００，０１０１１０，０００１０１］ｂｉｎは、（１２ビット）カラー・コードワードとして使用することができる。万一、元の画像エレメントのカラーが１成分、例えばグレー・レベル（Ｌ）しか含まない場合には、対応する平均グレー・レベル
【００８０】
【数８】
2007517434.tif 000011
【００８１】
は、ステップＳ１０において、式２に従って計算され、
【００８２】
【数９】
2007517434.tif 000012
【００８３】
式中でＬｉは、画像エレメントｉのグレー・レベルであり、Ｎは、式２におけるように定義される。次いでこの単一平均グレー・レベルは、ステップＳ１１において量子化し、カラー・コードワードとして使用することができる。このような場合には、このカラー・コードワードは、量子化された平均グレー・レベルを含んでいることが好ましい。
【００８４】
次のステップＳ１２は、輝度またはカラーの修正コードワードを決定し、これらの画像エレメントについての輝度またはカラーの修正子インデックスを選択する。このアルファ修正コードワードに対応して、このカラー修正コードワードは、この画像ブロック中におけるこれらの画像エレメントのカラー表現（輝度）を修正するために（復号化中に）使用される複数のカラー修正子の集合の表現である。
【００８５】
本発明の好ましい一実施形態においては、このカラー修正コードワードは、カラー修正子の集合の識別を可能にするインデックスまたは表現である。この場合にはこのインデックスは、いくつかの異なるカラー修正子の集合を含むカラーまたは輝度のテーブルまたはコードブック中におけるこの集合を識別する、若しくは指し示すことができる。このテーブルは、テーブル１と同様にして構成することができ、すなわち対称な修正子値を含む１６個の異なる修正子の集合を含み、ここでこの修正子の集合の第１の部分は、第２の部分における修正子の集合のファクタ２倍（factor two of）である。
【００８６】
このようなカラー・テーブル中における実際のカラー修正子値は、このアルファ・テーブル中における対応するアルファ修正子値とは異なることもある。しかし、一部のアプリケーションにおいては、これらの同じカラー修正子値をアルファ修正子値として使用することも可能になる。この場合には、記憶域を保存するために、例えばテーブル１に従う単一の組み合わされたアルファおよびカラー・テーブルを使用することもできる。この最大アルファ値および最小アルファ値がこの最大のカラー（成分）値および最小のカラー（成分）値、例えば２５５および０と同じである場合に、これは、特に当てはまる。たとえ、この同じアルファおよびカラー・テーブルが使用されるとしても、このアルファ修正コードワードは、このカラー修正コードワードとは独立していることが好ましい。換言すれば、これら２つの修正コードワードは、一部の画像ブロックについて同じビット・パターン（テーブル・インデックス）を含むことが可能となり得るが、ほとんどの画像ブロックでは、これら２つの修正コードワードが異なるはずであることが予想される。いずれにしても、このアルファ修正コードワードおよびこのカラー修正コードワードは、この圧縮された画像ブロック中における一般的な修正コードワードに一緒に構成しまたはグループ化することができる。この場合には、この一般的な修正コードワードは、このアルファ修正（サブ）コードワードとこのカラー修正（サブ）コードワードとを含むことになる。
【００８７】
他のアプリケーションにおいては、このアルファ修正コードワードは、アルファ修正符号化機能とカラー修正符号化機能との組合せを有し得る。したがって、このアルファ修正コードワードを使用して例えばテーブルから識別されたこの修正子の集合は、このアルファ・コードワードが表現するアルファ値と、このカラー・コードワードが表現する１つ（または複数）のカラー成分を共に修正するために使用されることになる。このアルファ・コードワードの組み合わされた修正機能は、そうでなければ専用のカラー修正コードワードに費やされるはずの余分なビットを保存する。しかし、これらの余分なビットは、一般的により乏しいカラー（またはアルファ）符号化という代償を払って得られる。
【００８８】
このカラー修正子の集合が選択され、カラー修正コードワードが決定された後に、ステップＳ１２は、この画像ブロック中のこれらの画像エレメントについてのカラー修正子のインデックスまたは表現を選択することで継続される。このような各カラー修正子インデックスは、この選択されたカラー修正子の集合からの１つのカラー修正子値に関連づけられる。換言すれば、このカラー修正子インデックスは、このブロック中における特定の画像エレメントについてこの集合のうちのどのカラー修正子を使用すべきかについての識別を可能にする。
【００８９】
ステップＳ１２は、このブロック中の画像エレメントについて反復されることが好ましく、これについては、線Ｌ３によって概略的に示されている。次いでこの方法は、図１のステップＳ３へと続く。
【００９０】
このカラー管理およびコードワード生成のこの実施形態を使用して圧縮された画像ブロック７００が、図３Ｂに示されている。この表現７００は、図３Ａの圧縮されたブロックについて言えばカラー・コードワード７１０と、アルファ・コードワード７２０と、アルファ修正コードワード７３０と、アルファ修正子インデックス・シーケンス７４０とを含んでいる。さらに、この圧縮されたブロック７００は、カラー修正子コードワード７５０とカラー修正子インデックス・シーケンス７６０とをさらに含んでいる。一部の実施形態においては、アルファ修正コードワード７３０と、カラー修正コードワード７５０とは、一般的な修正コードワードに構成することができるのに対して、他の一部の実装形態においては、カラー修正コードワード７５０は、省略することができ、その結果、このアルファ修正機能も、カラー修正機能も共にアルファ修正子コードワード７３０によって符号化されることを思い起こされたい。なお、この符号化された画像ブロック７００についてのカラー・コードワード７１０と、アルファ・コードワード７２０と、アルファ修正コードワード７３０と、カラー修正コードワード７５０と、アルファ修正子インデックス・シーケンス７４０と、カラー修正子インデックス・シーケンス７６０との相互の順序は、この図に示されるものとは異なることもあることに留意されたい。またこのコードワード・シーケンスとインデックス・シーケンスは、連続的に配置される必要はないことにも留意されたい。
【００９１】
この画像ブロックが８つの画像エレメント（例えば、図２Ａおよび２Ｂを参照）を含み、各アルファ修正子インデックスおよびカラー修正子インデックスが２ビットである場合、これらの２つの修正子インデックス・シーケンス７４０、７６０は、それぞれ１６ビットになるはずである。さらに、アルファ・コードワード７２０、アルファ修正コードワード７３０、およびカラー修正コードワード７５０の対応するサイズは、それぞれ６ビット、４ビット、および４ビットであるものと仮定する。このカラー・コードワードが３つの６ビットのカラー成分を含む場合には、この画像ブロックの符号化された表現７００の全体サイズは、６４ビットであり、８ｂｐｐの圧縮レートが得られる。
【００９２】
図５は、図１のカラー決定ステップの他の実施形態を示す流れ図である。この方法は、図１のステップＳ１から継続される。次のステップＳ２０において、第１および第２のカラー・サブコードワードが決定される。これらの第１および第２のサブコードワードは、この画像ブロック中のこれらの画像エレメントのカラーの表現であり、それぞれこのブロック中のこれらの画像エレメントの第１および第２の部分の表現であることが好ましい。
【００９３】
図４に従うカラー処理は、同様なクロミナンス（色調（color hue））であるが、異なる輝度の画像エレメントを有する画像ブロックを圧縮するのに特に適しており、クロミナンス成分よりも輝度成分をより良好に保持する。図５に従うカラー処理は、画像ブロックを圧縮するためにとりわけ効果的であり、この画像ブロックのこれらの画像エレメントは、このカラー空間において２つのクラスタに分布させられる。さらに、図４において使用されるカラー・テーブルは、非ゼロのカラー修正子しか含まないものと仮定する。このような場合には、図４のカラー処理は、このカラー・コードワードがすべての画像エレメントについての所望のカラーを正確に表現する場合の画像ブロックを圧縮するためには特に適してはいない。すべてのカラー修正子は非ゼロ値を有するので、この所望のカラーは、カラー修正子値が画像エレメントごとにこのカラー表現に対して追加されるべきときに復号化中に取得することができない。しかし、図５のカラー処理においては、これら２つのカラー・サブコードワードのうちの少なくとも一方は、この所望のカラーを正確に表現することができ、この画像ブロックのより正確な圧縮表現を可能にする。
【００９４】
これら２つのカラー・サブコードワードのうちの一方を指し示す、若しくはこの一方に関連するカラー・インデックスが、次のステップＳ２１において選択される。第１の実施形態においては、このブロック中の各画像エレメントは、各カラー・インデックスに関連づけられる。しかし、本発明の好ましい一実施形態においては、結果として生ずるより小さな全体サイズのこの圧縮されたブロック表現、すなわちこのブロック中におけるこれらの画像エレメントの部分集合が、この第１または第２のサブコードワードから選択されたあらかじめ定義されたカラー・サブコードワードに関連づけられる。結果として、カラー・インデックスの選択も割当ても、この（これらの）１つ（または複数）の画像エレメントについて実施される必要がない。例えば、この最初の（最後の）画像エレメントは、常にこの第１の（または第２の）カラー・サブコードワードに関連づけることができる。この場合には、このカラー・インデックス・シーケンスは、この最初の（最後の）画像エレメントについてのカラー・インデックスを含む必要はない。結果として、このシーケンスは、全体として８つの画像エレメントを有する画像ブロックの場合に７つのカラー・インデックスしか含まないことになる。本発明によれば、複数の画像エレメントをカラー・サブコードワードにあらかじめ関連づけることができることが予想される。
【００９５】
ステップＳ２１は、カラー・インデックスを生成すべき、このブロックのすべての画像エレメントについて反復されることが好ましく、これについては、線Ｌ４によって概略的に示されている。次いでこの方法は、図５のステップＳ３へと続く。
【００９６】
このカラー管理およびコードワード生成のこの実施形態を使用して圧縮された画像ブロック７００が、図３Ｃに示されている。この表現７００は、アルファ・コードワード７２０と、アルファ修正コードワード７３０と、アルファ修正子インデックス・シーケンス７４０とに追加して、第１のカラー・サブコードワード７１０Ａおよび第２のカラー・サブコードワード７１０Ｂを含むカラー・コードワードと、カラー・インデックス（好ましくはこのブロック中の画像エレメントの単なる部分集合についての１つの輝度インデックス）のシーケンスまたはビットマップ７７０とを含んでいる。この圧縮された画像ブロック７００についての第１のカラー・サブコードワード７１０Ａと、第２のカラー・サブコードワード７１０Ｂと、アルファ・コードワード７２０と、アルファ修正コードワード７３０と、カラー・インデックス・シーケンス７７０と、アルファ修正子インデックス・シーケンス７４０との相互の順序は、この図に示されるものとは異なることもあることに留意されたい。またこのコードワード・シーケンスとインデックス・シーケンスは、連続的に配置される必要はないことにも留意されたい。
【００９７】
図５において決定される２つのカラー・サブコードワードは、まず平均カラーを決定することにより生成する、若しくはこの画像ブロック中のこれらの画像エレメントの重心が決定される。その後に、このカラー空間中の平均カラー・ポイントを通過する最適な線が計算される。この最適な線は、当業者にはよく知られている主成分分析（principal component analysis）を使用して決定することができる。簡潔に言えば、この最適な線は、直線が「慣性モーメント」（平均二乗誤差）を最小にするようにこの平均カラー・ポイントを通過する、カラー空間中のこの直線として選択される。この線上の２点がカラー・サブコードワードとして選択され、量子化され、使用される。第１の実施形態においては、この画像エレメント・カラーのこの最適な線への投影の分散が計算される。この平均カラー・ポイントからの分散の約４分の３の距離にある線上の２点が識別される。次いで（一方が、この線に沿った平均カラー・ポイントのいずれかの側にある）これらの選択された２点のカラー成分が、量子化される。次いでこれらの量子化された値が、カラー・サブコードワードとして使用される。
【００９８】
このカラー・サブコードワード決定の代替実装形態において、このブロック中のこれらの画像エレメントのカラー値が量子化される。次いで、全数探索（exhaustive search）が、これらの量子化されたカラー値の間で実施される。この探索の結果は、これらの２つの選択されたカラー値をこのブロックについてのカラー・サブコードワードとして使用することに関連するエラー値を最小にする２つの量子化されたカラー値となる（しかし、これらの２つのカラー値は等しくなり得ることに留意されたい）。次いでこれらの２つの最適な量子化カラー値は、カラー・サブコードワードとして直接に使用することができる。しかし、オプションとしては、適切なサブコードワードの全数探索は、選択された各カラー値からのあらかじめ定義された距離の範囲内にあるこれらのカラー・ポイントの間で実施される。この探索で見出される（関連するエラー値を最小にする意味での）これらの最適な量子化されたカラー値は、カラー・サブコードワードとして使用される。
【００９９】
図５のカラー処理の拡張では、この第１および第２のカラー・サブコードワードは、例えば前述の実施形態のうちの１つに従ってステップＳ２０において決定される。しかしこの実施形態においては、少なくとも３つのカラー表現をこれらの２つのカラー・サブコードワードを使用して生成することができる。このような場合には、第１のカラー表現は、この第１のカラー・サブコードワードを拡張することにより生成することができ、第２のカラーは、この第２のカラー・サブコードワードを拡張することにより生成され、少なくとも１つの第３のカラー表現は、この第１および第２のカラー・サブコードワードの一次結合を拡張することにより生成される。かかる一次結合は、ｗ×第１のサブコードワード＋（１−ｗ）×第２のサブコードワードとなる可能性があり、式中では０＜ｗ＜１である。
【０１００】
これらの２つのカラー・サブコードワードは、一般的に両方共に同じサイズであることに留意されたい。しかし、本発明は、それだけに限定されるものではない。例えば、この第１のカラー・サブコードワードは、この第２のサブコードワードよりも高い分解能で表現することができ、その結果、この第１のカラー・サブコードワードは、この第２のカラー・サブコードワードに比べてより多くのビットを含んでいる。
【０１０１】
図４および５に開示されたこれらの２つの異なるカラー処理は、２つの使用可能な圧縮モードと見なすことができる。したがって、この第１の圧縮モードに従った、すなわち図１および４に従った画像ブロックの圧縮は、図３Ｂの圧縮されたブロック表現をもたらすのに対して、この第２のモードに従った、すなわち図１および５に従ったこのブロックの圧縮は、図３Ｃの圧縮されたブロックをもたらす。次いで、所与のアルファ画像のこれらの画像ブロックのうちの一部をこの第１の圧縮モードに従って圧縮し、この画像の他のブロックをこの第２の圧縮モードに従って圧縮することが有利になり得る。このような場合には、この結果として生ずる符号化された画像中のこれらのブロックの一部分は、一般的に図３Ｂに従うはずであり、この場合にはこれらの残りのブロックは、図３Ｃに従うはずである。
【０１０２】
この２つの異なる圧縮モードの使用により、これらの画像ブロックの個別の特性によりよく適合させることを可能にすることによって、この符号化方法に対する柔軟性がもたらされる。これらの２つの異なる圧縮モードの間でブロックごとに選択を行う結果として、この処理されたアルファ画像の画像品質は、単一の（固定された）符号化しかもたない従来技術の符号化スキームに比べて改善される。
【０１０３】
所与の画像ブロックについてこれらの２つの動作モードのうちのどちらを使用するかを決定するために、このブロックを両方の圧縮モードに従って圧縮することができる。その後に、使用するこの圧縮モードおよび圧縮されたブロック表現が、これらの２つの符号化されたブロックに関連するエラー表現の比較に基づいて選択されることが好ましい。これらのエラー表現は、この第１または第２のモードに従ってこの画像ブロックを圧縮することに関連する画像品質表現を示す尺度である。それ故に、この最小のエラー表現をもたらす、若しくはこの表現に関連する圧縮モードおよび圧縮された画像ブロックが選択されることになる。
【０１０４】
このエラー表現の生成は、基本的にこの第１の圧縮モードに従って圧縮された画像ブロック表現（図３Ｂにおける７００）を使用してこの画像ブロックの第１の伸張された、または復号化された表現を生成することを含んでいる。それに対応して、この画像ブロックの第２の伸張された表現が、この第２の圧縮モードに従って圧縮された画像ブロック表現（図３Ｃにおける７００）を使用して生成される。このブロックを伸張するプロシージャについては、この復号化を考察する際に、以下でより詳細に説明することにする。
【０１０５】
この第１および第２の伸張されたブロック表現を有するこの元の画像ブロックを表現することを示すエラー値が、計算される。
【０１０６】
【数１０】
2007517434.tif 000013
【０１０７】
が、この元の（未処理の）画像ブロック中の画像エレメントｉの赤色（緑色、青色）カラー成分の値を示し、
【０１０８】
【数１１】
2007517434.tif 000014
【０１０９】
が、この第１の伸張されたブロック表現における画像エレメントｉのこの対応する結果として生じる赤色（緑色、青色）カラー成分を示すものとする。この場合には、このエラー値は、
【０１１０】
【数１２】
2007517434.tif 000015
【０１１１】
として計算することができ、式中でＮは、このブロック中の画像エレメントの総数である。オプションとして、成分特有の重みｗＲ、ｗＧ、ｗＢを式（３）中で使用することができる。対応するエラー値が、この第２の圧縮されたブロックおよび圧縮モードについても計算される。次いで、これらの２つの結果として生じるエラー値が比較され、この最小のエラー値が識別される。この識別されたエラー値に関連する圧縮モードおよび圧縮されたブロックがこの現行のブロックのために使用されることになる。
【０１１２】
代わりに、圧縮モードの選択が、画像ブロックの実際の処理（圧縮）に先立って実施されることもある。結果として、１つの圧縮されたブロック表現しか画像ブロック当たりについて生成される必要がなくなる。この早期モード選択は、このブロック中のこれらの画像エレメントの特性の調査に基づいて行われることが好ましい。好ましい一実施形態においては、この選択は、この関連したカラー空間中におけるこれらの画像エレメントのカラーの分布に少なくとも部分的に基づいている。
【０１１３】
上記において述べられているように、これらの２つの圧縮モードは、少し異なる画像ブロックについて適合化される。例えば、第１の圧縮モードは、このブロック中のこれらの画像エレメントのカラーが次式の線上、あるいは少なくとも近接しているときに使用するのに非常に適している。すなわち、
【０１１４】
【数１３】
2007517434.tif 000016
【０１１５】
であり、式中で
【０１１６】
【数１４】
2007517434.tif 000017
【０１１７】
は、このブロック中のこれらの画像エレメントの平均カラーであり、ｔ∈［−∞，∞］である。したがって、この第１の圧縮モードは、この画像ブロックのこれらの画像エレメントが、この平均カラー・ポイントを通過し、これらのＲＧ−平面、ＲＢ−平面、およびＧＢ−平面中の一枚の平面の傾きを有する線（４）上、またはこの線に近接している画像ブロックを圧縮するのに適している。しかし、この画像ブロックが、以上で識別された線から離れ、特に２つのクラスタにグループ分けされたカラー値を有する画像エレメントを含んでいる場合には、この第２の圧縮モードが、より適している。
【０１１８】
このカラー値分布に基づいた識別は、図５に関連して説明された最適な線と平行なベクトル（ｖ１）を、前述の線（４）と平行なベクトル（ｖ２）と比較することによって実現することができる。これら２つのベクトルの間の角度（θ）が、しきい値角（φ）よりも小さい場合、すなわち
【０１１９】
【数１５】
2007517434.tif 000018
【０１２０】
が成立する場合、第１の圧縮モードが選択され、そうでない場合には第２のモードが選択される。使用する圧縮モードが選択された後に、この現行の画像ブロックは、この選択されたモードに従って圧縮される。
【０１２１】
どの圧縮モードが所与の画像ブロックについて使用されているか、この伸張中にどちらが重要であるかについての識別を可能にするために、図３Ｂおよび３Ｃにおける圧縮された画像ブロック表現７００は、モード・インデックスを含めることが可能である。このモード・インデックスは、０ｂｉｎ（１ｂｉｎ）が、図３Ｂ（図３Ｃ）による圧縮されたブロック表現について使用される場合には、１ビットのインデックスとすることができる。ビット数を考慮した図３Ｂにおける圧縮されたブロック７００の全体サイズが、このモード・インデックスの追加と共に同じに留まる場合には、例えばアルファ・コードワード７２０のサイズは１ビットだけ削減することができ、それ故に、今では５ビットであることが好ましい。
【０１２２】
本発明の好ましい一実施形態においては、この結果として生じる圧縮ブロック表現のサイズ（ビット数）は、使用される圧縮モードに関係なく同じである。このような場合には、図３Ｃにおけるこの圧縮ブロック表現の全体サイズは、やはり６４ビットであることが好ましい。これについては、１ビット・モード・インデックス、２つの１５ビット・カラー・サブコードワード７１０Ａ、７１０Ｂ、６ビット・アルファ・コードワード７２０、４ビット・アルファ修正コードワード７３０、７ビット・カラー・インデックス・シーケンス（第１のカラー・サブコードワード７１０Ａに関連してあらかじめ定義された、このブロック中の第１の画像エレメントを除く画像エレメントごとに１つの１ビット・カラー・インデックス）および１６ビット・アルファ修正子インデックス・シーケンス７４０を使用することによって取得することができる。
【０１２３】
ほとんどのアルファ画像の（圧倒的）大多数の画像ブロックは、この第１および第２のモードの間での選択を使用するときにこの第１の圧縮モードに従って圧縮されることになることが予想される。これらの２つのモードの前述の好ましい実装形態においては、両方のモードは、これらの画像ブロックを圧縮するために使用することができる６３ビットの「有用な」ビットにアクセスする。次いで、残りの単一ビットがモード・インデックスとして使用される。本発明の一代替実施形態においては、単一ビット以外の異なる種類のモード・インデックスが使用される。次いでこのモード・インデックスは、これらの２つの圧縮モードに対する異なる量の割り付けられた「有用な」ビットを可能にすることになるが、依然としてこの圧縮された画像ブロックの全体サイズを保持する。
【０１２４】
この実施形態においては、この単一モード・ビットは省略され、これによって１ビットが自由になる。このカラー・テーブルの入力は、これらの２つのモードの間を識別するために使用されることになる。その結果として、これらのカラー・テーブル入力の一部分だけが、例えばこれらの１６個の入力のうちの１２個が、カラー修正子の集合として使用されることになる。これらの残りの（４個の）テーブル入力は、第２の圧縮モードを信号で伝えるモード・インデックスである。例えば、０００１ｂｉｎ−００１１ｂｉｎ、０１０１ｂｉｎ−０１１１ｂｉｎ、１００１ｂｉｎ−１０１１ｂｉｎ、および１１０１ｂｉｎ−１１１１ｂｉｎの４ビットワードは、この第１の圧縮モードを使用すべきカラー修正子コードワードおよび信号を表すことが可能である。したがって、この第１の圧縮モードにおいては、このモード・インデックスとこのカラー修正子コードワードは、これらの同じ４ビットを共用する。
【０１２５】
この実施形態においては、修正されたカラー・テーブルは、この第１のモードにおける画像ブロックの輝度分解能を高めるために使用することができる。一見したところでは、この第１のモードの分解能の向上は、この第２の圧縮モードについての３つのあまり有用でないビット（この単一モード・ビットを省略することに起因した１つの特別な有用なビット以外の、モード・インデックスによる４つのあまり有用でないビット、００００ｂｉｎ、０１０００ｂｉｎ、１０００ｂｉｎ、または１１００ｂｉｎ）を代償としてもたらされる。しかし、この提案された「モード２」−特有のモード・インデックスについて注意深く調査することにより、本発明者等は、これらの２つのＬＳＢが、これらのモード・インデックスのすべてについて同一である（００ｂｉｎ）ことに気が付いている。その結果、これらの２つのＭＳＢは、「有用な」データ、例えばカラー・サブコードワード、アルファ・コードワード、アルファ修正コードワード、カラー・インデックス、またはアルファ修正子インデックス・データを表現するために使用することができる。結果として、この第１の圧縮モードについての特別な１ビットの増強は、この第２の圧縮モードについてのあまり有用でない１つのビットを代償としてのみもたらされる。この単一のビットは、この第２のカラー・サブコードワードから取得されることが好ましく、この第２のサブコードワードの青色カラー成分から取得されることがより好ましい。
【０１２６】
図６は、アルファ・コードワードを決定するステップと、アルファ修正コードワードを決定するステップと、図１のアルファ修正子インデックスを選択するステップとをさらに詳細に示す流れ図である。この方法は、図１のステップＳ２から継続される。次のステップＳ３０において、この画像ブロック中のこれらの画像エレメントの平均アルファ値が決定される。以降では、画像エレメントのアルファ値は、８ビットで表現される、すなわち０から２５５までとなる可能性があることが仮定される。次いでこの平均アルファ
【０１２７】
【数１６】
2007517434.tif 000019
【０１２８】
は、
【０１２９】
【数１７】
2007517434.tif 000020
【０１３０】
の式のように決定され、式中でαｉは、画像エレメントｉのアルファ値であり、Ｎは、この画像ブロック中における画像エレメントの総数である。
【０１３１】
この平均アルファ値
【０１３２】
【数１８】
2007517434.tif 000021
【０１３３】
がステップＳ３０において決定された後に、次のステップＳ３１は、この平均カラーをこの実施形態におけるアルファ・コードワードとして使用されることになる量子化されたアルファ値へと量子化する。この量子化されたアルファ値のサイズは、例えば３ビット、４ビットにすることができ、あるいは５ビットまたは６ビットにすることができることが好ましい。
【０１３４】
次のステップＳ３２は、このアルファ・テーブルの異なるアルファ修正子の集合とこれらの集合の異なるアルファ修正子値を調べて、かかる修正子の集合および修正子値テストごとにエラー値を計算する。これらのエラー値に基づいて、修正子の集合、および最小のエラー値をもたらす集合のアルファ修正子値が、ステップＳ３２において選択される。次いでこの方法は、図１におけるステップＳ２へと続く、あるいは終了する。
【０１３５】
＜復号化＞
図７は、本発明による、符号化された画像、または元の画像の符号化されたバージョンを復号化する方法の流れ図を示している。この符号化された画像は、基本的に図３Ａ、３Ｂまたは３Ｃの表現７００など、画像ブロックのいくつかの符号化された表現を含んでいる。これらの符号化されたブロック表現は、図１に関して以上で考察した画像符号化方法によって生成されることが好ましい。
【０１３６】
この方法は、一般に復号化する１つ（または複数）の符号化された画像ブロックを識別することによって、開始される。符号化された画像のすべての符号化された画像ブロックを復号化して、この元の画像の復号化された表現を生成すべきことも可能になり得る。代わりに、この元の画像の一部分しかアクセスされないこともある。結果として、選択された画像ブロック数しか復号化する必要がなくなる（あるいはより詳細には、ある種の画像ブロックの選択された画像エレメントの量だけを復号化する必要がある）。
【０１３７】
正しい符号化画像ブロックが識別された後に、ステップＳ４０は、アルファ修正子の集合を提供する。この修正子の集合は、この圧縮されたブロック表現中のアルファ修正コードワードに基づいて提供される。この集合の準備は、アルファ修正コードワードを用いて複数の修正子の集合を含むテーブル、例えば以上のテーブル１から、アルファ修正子の集合を識別することによって実施されることが好ましい。しかし、一部のアプリケーションにおいては、このアルファ修正コードワードそれ自体が、この修正子の集合を含み、テーブル・ルックアップが必要とされないことが可能なこともある。
【０１３８】
次のステップＳ４１において、カラー表現が、この画像ブロックのこれらの画像エレメントの少なくとも１つについて（すなわち、復号化されるべき１つ（または複数）の画像エレメントについて）生成される。このカラー生成は、この圧縮されたブロック中のカラー・コードワードに基づいて実施される。
【０１３９】
以降のステップＳ４２は、この少なくとも１つの画像エレメントについてのアルファ表現をアルファ・コードワードに基づいて生成する。ステップＳ４３において、復号化すべきこの画像エレメントについて使用するためのアルファ修正子が選択される。この修正子値は、ステップＳ４０においてこの画像エレメントに関連するアルファ修正子インデックスに基づいて提供されるこの修正子の集合から選択され、この圧縮されたブロック表現のアルファ修正子インデックス・シーケンス中で見出される。この正しい輝度修正子値がステップＳ４３において選択された後に、この画像エレメントのアルファ表現は、ステップＳ４４においてこの値を用いて修正、または変調される。本発明によるアルファ修正とは、このアルファ修正子値によってこのアルファ表現を修正すること、例えば加算または乗算すること、を意味する。
【０１４０】
ステップＳ４２からＳ４４は、この画像ブロック中のいくつかの画像エレメントについて実施することができる（線Ｌ５によって概略的に示されている）。一部のアプリケーションにおいては、単一の画像エレメントしか特定の画像ブロックからは復号化されず、特定の画像ブロックのうちの複数の画像エレメントが復号化、および／または特定のブロック中のすべての画像エレメントが復号化されることが、本発明によって予想される。
【０１４１】
次いで、ステップＳ４０からＳ４４は、復号化すべき画像エレメントを含むすべての画像ブロックについて反復されることが好ましい（線Ｌ６によって概略的に示されている）。これは、ステップＳ４０からＳ４４のループを一度だけしか実施しないことも可能であるが、異なる符号化画像ブロックについてほとんどの場合には数回実施し、および／または特定の符号化画像ブロックについては数回実施することが可能であることを意味する。
【０１４２】
オプションとしてのステップＳ４５において、この元の画像の復号化された表現、またはその一部分がこの復号化された画像エレメントおよび画像ブロックに基づいて生成される。一部のアプリケーションにおいては、いくつかの画像エレメントを復号化して、この復号化された表現の単一のピクセル、テクセル、またはボクセルをレンダリングする必要があることに留意されたい。例えば、トリリニア補間（trilinear interpolation）中には、８個の画像エレメントが復号化され、またバイリニア補間（bilinear interpolation）では、この対応する数は、４個の画像エレメントである。次いでこの方法は終了する。
【０１４３】
図８は、図７のカラー表現生成ステップの一実施形態を示す流れ図である。このカラー復号化の実施形態は、第１の復号化モードまたは伸張モードを表し、この第１の圧縮モードに従って圧縮された画像ブロック（図３Ｂ参照）を伸張するために特に適用可能である。この方法は、図７中のステップＳ４０から継続される。次のステップＳ５０において、好ましくは１５、１６、または１８ビットのこのカラー・コードワードの量子化されたカラーが、好ましくは２４ビットへと拡張または拡大される。ＲＧＢカラーを伴う場合については、次いでこのカラー・コードワードの各量子化された５ビットまたは６ビットのカラー成分が、８ビットのカラー成分へと拡張される。換言すれば、１０１１０ｂｉｎの５ビットのカラー成分が、１０１１  ０１０１ｂｉｎへと拡張される。次いでこの拡張されたカラーが、この復号化すべき画像ブロックのこれらの画像エレメントに対して割り当てられる。
【０１４４】
以降のステップＳ５１においては、正しいカラー修正子の集合が、このカラー修正コードワードを用いて、このカラー・テーブル（専用のカラー・テーブルまたは共通のカラーおよびアルファのテーブル）から識別され、選択される。共通の修正コードワードがカラーについてもアルファについても使用される場合には、この共通のコードワードは、この正しいカラー修正子の集合を識別するために使用されることになる。このカラー・テーブル中に記憶されるカラー修正子の集合が、この修正子値の第１の部分集合、例えば［ａ，ｂ］を含む場合、カラー修正子値の第２の部分集合は、この第１の部分集合の値から、例えば［−ａ，−ｂ］などのように決定することができる。ステップＳ５２において、この識別され、選択されたカラー修正子値は、この拡張されたカラーに加えられる。したがって、この修正子値は、この画像エレメントについてのこのカラーのすべての成分（ＲＧＢカラーについてはすべての３成分、またはグレー・レベル・カラーについてはこの単一成分）に追加される。これは、すべてのカラー成分に対するこの修正子値の単なる加算として実装することができる。しかし、一部のアプリケーションにおいては、これらの成分にそれを加算する前にこの修正子値に重み付けを行うことが好ましい可能性もある。このような場合には、異なるカラー成分について異なる重みを使用することができる。一代替実施形態においては、単なる加算以外の他のタイプの修正、例えば乗算またはＸＯＲを使用することができる。
【０１４５】
次のオプションとしてのステップＳ５３においては、この結果生ずる修正されたカラー成分値は、最小カラーしきい値と最大カラーしきい値の間でクランプされる。例えば、この（たぶん重み付けされた）カラー修正子値をカラー成分に加えた後に、この結果として生ずる値が、この最小しきい値よりも小さい場合、この値は、このしきい値の値へとクランプされる。これに対応して、この結果として生ずる値がこの最大しきい値よりも大きい場合には、このしきい値の値がその代わりにこの成分について使用されるべきである。非限定的な最小しきい値および最大しきい値の実施例は、２５６のカラー成分レベルを有する場合についてそれぞれ０および２５５である。これらのステップＳ５０からＳ５３は、復号化すべきこの圧縮されたブロックの符号化された画像エレメントについて反復されることが好ましく、これについては、線Ｌ７によって概略的に示されている。次いで、この方法は、図７のステップＳ４２へと続く。
【０１４６】
図９は、図７のカラー表現生成ステップの他の実施形態を示す流れ図である。このカラー復号化の実施形態は、第２の復号化モードまたは伸張モードを表し、特にこの第２の圧縮モードに従って圧縮された画像ブロック（図３Ｃ参照）を伸張するために適用可能である。この方法は、図７のステップＳ４０から継続される。次のステップＳ６０において、カラー・サブコードワードは、この関連した画像エレメントに関連するカラー・インデックスを使用してこの第１または第２のカラー・サブコードワードから選択され、このカラー・インデックス・シーケンス中において見出される。しかし、この関連した画像エレメントが、関連するカラー・インデックスをもたないが、その代わりにあらかじめ定義された関連するカラー・サブコードワードを有する画像エレメントの部分集合に属する場合、このあらかじめ定義されたカラー・サブコードワードは、ステップＳ６０において識別される。次のステップＳ６１において、この画像エレメントについてのカラー表現は、選択またはあらかじめ定義されたカラー・コードワードを使用して、この選択されたカラー・サブコードワードの量子化されたカラーを拡張することにより生成される。このカラー拡張は、ステップＳ５０と同様なものである。これらのステップＳ６０およびＳ６１は、この画像ブロック中のいくつかの画像エレメントについて実施することができる（線Ｌ８によって概略的に示されている）。
【０１４７】
代わりに、特に圧縮されたブロック表現における複数の画像エレメントを伸張するときには、第１のカラー表現がこの第１のカラー・サブコードワードを使用して生成され、第２の対応するカラー表現が、この第２のカラー・サブコードワード、またはこの第１のサブコードワードと第２のサブコードワードの組合せを使用して生成されることもある。次いでこれらの画像エレメントについての選択が、これらのカラー・インデックスを使用してこの第１のカラー表現と第２のカラー表現との間で実施され、あるいはこの第１のカラー表現と第２のカラー表現のうちの一方が、このブロック中のこれらの画像エレメントのうちの１つまたは一部の画像エレメントにあらかじめ関連づけられている。
【０１４８】
次いでこの方法は、図７のステップＳ４２へと続く。
【０１４９】
現行の画像ブロックのために使用する関連した伸張モードは、この圧縮された画像ブロック表現に含まれる専用のモード・インデックスに基づいて決定されることが好ましい。その代わりに、このカラー修正コードワードまたはこのカラー修正コードワードの一部のビットがモード・インデックスとして使用される場合には、次いでこれらのビットは、この画像ブロックのカラー表現を生成する前に調べられる。
【０１５０】
図１０は、図７のアルファ表現を生成するステップと、アルファ修正子を選択するステップと、アルファ表現を修正するステップとを示す流れ図である。この方法は、図７中のステップＳ４１から継続される。次のステップＳ７０においては、このアルファ・コードワードの好ましくは５ビットまたは６ビットの量子化されたアルファ値は、好ましくは８ビットに拡張または拡大される。次いでこの拡張されたアルファ値は、この画像ブロックのこれらの画像エレメントに対して割り当てられ、これらの画像エレメントが復号化されることになる。
【０１５１】
以降のステップＳ７１において、正しいアルファ修正子の集合が、このアルファ修正コードワードを用いてこのアルファ・テーブル（専用のアルファ・テーブルまたは共通のアルファおよびカラー・テーブル）から識別され、選択される。共通の修正コードワードがアルファについてもカラーについても使用される場合には、この共通のコードワードは、この正しいアルファ修正子の集合を識別するために使用されることになる。このアルファ・テーブル中に記憶されるアルファ修正子の集合が、この修正子値の第１の部分集合、例えば［ａ，ｂ］を含む場合、カラー修正子値の第２の部分集合は、この第１の部分集合の値から、例えば［−ａ，−ｂ］などのように決定することができる。ステップＳ７２において、この識別され、選択されたアルファ修正子値は、この拡張されたアルファ値に加えられる。これは、このアルファ値に対するこの修正子値の単なる加算として実装することができる。一代替実施形態においては、単なる加算以外の他のタイプの修正、例えば乗算またはＸＯＲを使用することができる。
【０１５２】
次のオプションとしてのステップＳ７３においては、この結果生ずる修正されたアルファ値は、最小アルファしきい値と最大アルファしきい値の間でクランプされる。例えば、このアルファ修正子値をこのアルファ表現に加えた後に、この結果として生ずる値が、この最小しきい値よりも小さい場合、この値は、このしきい値の値へとクランプされる。これに対応して、この結果として生ずる値がこの最大しきい値よりも大きい場合には、このしきい値の値がその代わりにこの成分について使用されるべきである。非限定的な最小しきい値および最大しきい値の実施例は、２５６のアルファ・レベルを有する場合についてそれぞれ０および２５５である。これらのステップＳ７０からＳ７３は、復号化すべきこの圧縮されたブロックの符号化された画像エレメントについて反復されることが好ましく、これについては、線Ｌ９によって概略的に示されている。次いで、この方法は、図７のステップＳ４０またはＳ４５へと続く。
【０１５３】
符号化された画像ブロックを復号化することについては、本明細書中において以下で３つの実施例によってさらに示している。テーブル１によるアルファ・テーブルが使用されることになる。
【０１５４】
＜復号化の実施例１＞
この画像ブロックの符号化された表現は、図３Ａに従い、以下のデータ・ビット１０１００１  １０１１００  ０１１１  １１  ０１  １０  ００  １０  ０１  ００    ００ｂｉｎを含んでおり、ここで、このビット０〜５は、カラー・コードワードであり、ビット６〜１１はアルファ・コードワードであり、ビット１２〜１５はアルファ修正コードワードであり、ビット１６〜３１は、アルファ修正子インデックスのシーケンスである。この復号化の実施例１において、この画像ブロックの元のカラーはグレー・レベルである。
【０１５５】
次いでこのカラー・コードワードは、復号化されて（拡張されて）、この画像ブロックのカラー表現を生成する。この６ビットのビット・パターンは、８ビットのワードを生成するために反復される。この８ビットのワードは、その６つのＭＳＢとしてこのカラー・コードワードを含み、その２つのＬＳＢとしてこのカラー・コードワードの２つのＭＳＢを含むことになる。すなわち、以下となる。
カラー表現：  １０１００１１０ｂｉｎ⇔１６６
この拡張されたカラーは、以下の
【０１５６】
【表２】
2007517434.tif 000022
【０１５７】
を与えるこれらの画像ブロックの画像エレメントに割り当てられる。
【０１５８】
この（６ビットの）アルファ・コードワードは、同様にして（８ビットの）アルファ表現、すなわち
アルファ表現：  １０１１００１０ｂｉｎ⇔１７８
へと復号化（拡張）される。
【０１５９】
この生成されたアルファ値は、
【０１６０】
【表３】
2007517434.tif 000023
【０１６１】
を与えるこれらの画像ブロックの画像エレメントに割り当てられる。この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル１から選択される。テーブル１から分かるように、０１１１ｂｉｎのアルファ修正コードワードは、アルファ修正子［−１２７，−４２，４２，１２７］に対応する。
【０１６２】
アルファ修正子インデックスのシーケンスは、
【０１６３】
【数１９】
2007517434.tif 000024
【０１６４】
に従って、この異なる画像エレメントについてこれらの４つの修正子値のうちのどれを使用するかを識別することを可能にする。
【０１６５】
この第１のアルファ修正子インデックスは、１１ｂｉｎであり、これは、この第１のアルファ修正子値、すなわち−１２７が、アルファ値に対して加えられるべきで、この第１の画像エレメント１７８−１２７＝５１がもたらされることを意味する。この５１という値は、０と２５５の許容可能な区間内にあるので、これについてのクランピングは必要とされない。このプロシージャは、この第２の画像エレメント・インデックス０１ｂｉｎを用いて継続され、この０１ｂｉｎは１２７という修正子値に対応する。この値は、１７８に加えられ、３０５がもたらされる。次いで、この結果は０と２５５の間でクランプされ、それによって２５５が提供される。このブロック中のすべての画像エレメントについてこのプロシージャを反復することにより、以下の
【０１６６】
【表４】
2007517434.tif 000025
【０１６７】
に示される最終的な復号化された画像ブロックが作成されるはずである。
【０１６８】
＜復号化の実施例２＞
この画像ブロックの符号化された表現は、単一モード・インデックスを追加した図３Ｂに従っており、以下のデータ・ビット０  １０１００１  １０１１００  ００１１００  ０１１１  １００１１  ００１０  １１  ０１  １０  ００  １０  ０１  ００  ００  １０  ０１  １１  ００  １０  ０１  １１  １１ｂｉｎを含んでおり、ここでビット０は、モード・インデックスであり、ビット１〜６は、このカラー・コードワードの赤色成分であり、ビット７〜１２は、このカラー・コードワードの緑色成分であり、ビット１３〜１８は、このカラー・コードワードの青色成分であり、ビット１９〜２２は、このカラー修正コードワードであり、ビット２３〜２７は、このアルファ・コードワードであり、ビット２８〜３１は、このアルファ修正コードワードであり、ビット３２〜４７は、このカラー修正子インデックス・シーケンスであり、ビット４８〜６３は、このアルファ修正子インデックス・シーケンスである。０ｂｉｎというモード・ビット値は、この第１の伸張モードが、この現行の圧縮されたブロックについて使用されるべきであることを示す。この実施例においては、テーブル１が、組み合わされたアルファとカラー・テーブルとして使用される。
【０１６９】
このカラー・コードワードの各カラー成分は、以下のようにこの復号化の実施例１と同様な８ビットのカラー成分表現へと拡張される。
【０１７０】
赤色：  １０１００１１０ｂｉｎ⇔１６６
緑色：  １０１１００１０ｂｉｎ⇔１７８
青色：  ００１１００００ｂｉｎ⇔４８
これらの拡張されたカラー成分は、以下の
【０１７１】
【表５】
2007517434.tif 000026
【０１７２】
を与えるこれらの画像ブロックの画像エレメントに対して割り当てられる。
【０１７３】
この使用する正しいカラー修正子の集合は、このカラー修正コードワードに基づいてテーブル１から選択される。テーブル１から分かるように、０１１１ｂｉｎというカラー修正コードワードは、カラー修正子［−１２７，−４２，４２，１２７］に対応する。この第１のカラー修正子インデックスは、１１ｂｉｎであり、この１１ｂｉｎは、−１２７を表す（この復号化の実施例１と比較されたい）。このカラー修正子値は、以下の式のようにこの第１の画像エレメントの３つのすべてのカラー成分に加えられる。
【０１７４】
【数２０】
2007517434.tif 000027
【０１７５】
次いで結果として生ずる成分が、０と２５５の間でクランプされ、それによって（３９，０，０）が与えられる。これらの残りの画像ブロックについてこのプロシージャを継続することにより、以下に示される部分的に復号化された画像ブロックがもたらされる。
【０１７６】
【表６】
2007517434.tif 000028
【０１７７】
この（５ビットの）アルファ・コードワードは、同様にして（８ビットの）アルファ表現へと復号化される（拡張される）。
アルファ表現：  １００１１１００ｂｉｎ⇔１５６
この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル１から選択される。テーブル１から分かるように、００１０ｂｉｎというアルファ修正コードワードは、アルファ修正子［−３１，−６，６，３１］に対応する。このアルファ表現１５６は、このアルファ修正子インデックスを使用して修正される。このアルファ修正は、このカラー修正と同様にして実施される。この最終的な復号化された画像ブロックは、以下のように示される。
【０１７８】
【表７】
2007517434.tif 000029
【０１７９】
＜復号化の実施例３＞
この画像ブロックの符号化された表現は、単一モード・インデックスを追加した図３Ｃに従っており、以下のデータ・ビット１  １０１００  １０１１０  ００１１０  ０１１０１  １１１１０  ０００００  ０１１１１０  ００１０  １１００１００  １０  ０１  １１  ００  １０  ０１  １１  １１ｂｉｎを含んでおり、ここでビット０は、モード・インデックスであり、ビット１〜５は、この第１のカラー・サブコードワードの赤色成分であり、ビット６〜１０は、この第１のカラー・サブコードワードの緑色成分であり、ビット１１〜１５は、この第１のカラー・サブコードワードの青色成分であり、ビット１６〜２０は、この第２のカラー・サブコードワードの赤色成分であり、ビット２１〜２５は、この第２のカラー・サブコードワードの緑色成分であり、ビット２６〜３０は、この第２のカラー・サブコードワードの青色成分であり、ビット３１〜３６は、このアルファ・コードワードであり、ビット３７〜４０は、このアルファ修正コードワードであり、ビット４１〜４７は、このカラー・インデックス・シーケンスであり、ビット４８〜６３は、このアルファ修正子インデックス・シーケンスである。この１ｂｉｎというモード・ビット値は、この第２の伸張モードが、この現行の圧縮されたブロックについて使用されるべきであることを示す。
【０１８０】
このカラー・サブコードワードは、復号化されて（拡張されて）、これら２つのカラー表現を生成する。このカラー・サブコードワード中の各カラー成分は、以下のように８ビットへと拡張される。
【０１８１】
第１のカラー表現                        第２のカラー表現
赤色：  １０１００１０１ｂｉｎ⇔１６５    赤色：  ０１１０１０１１ｂｉｎ⇔１０７
緑色：  １０１１０１０１ｂｉｎ⇔１８１    緑色：  １１１１０１１１ｂｉｎ⇔２４７
青色：  ００１１０００１ｂｉｎ⇔４９      青色：  ００００００００ｂｉｎ⇔０
この第１の画像エレメントは、この実施例中において常にこの第１のカラー・サブコードワードおよび表現に関連づけられ、したがってカラー（１６５，１８１，４９）が割り当てられる。この第２の画像エレメントについてのカラー・インデックスは、１ｂｉｎであり、これは、この第２のカラー表現（１０７，２４７，０）がこの画像エレメントに割り当てられるべきことを意味している。このプロシージャを継続することにより、以下の部分的に伸張されたブロック表現がもたらされる。
【０１８２】
【表８】
2007517434.tif 000030
【０１８３】
この（６ビットの）アルファ・コードワードは、同様にして（８ビットの）アルファ表現へと復号化される（拡張される）。
アルファ表現：  ０１１１１００１ｂｉｎ⇔１２１
この使用する正しいアルファ修正子の集合は、この輝度コードワードに基づいてテーブル１から選択される。テーブル１から分かるように、００１０ｂｉｎというアルファ修正コードワードは、アルファ修正子［−３１，−６，６，３１］に対応する。このアルファ表現１２１は、このアルファ修正子インデックスを使用して修正される。このアルファ修正は、このカラー修正と同様にして実施される。この最終的な復号化された画像ブロックは、以下のように示される。
【０１８４】
【表９】
2007517434.tif 000031
【０１８５】
＜実装形態の考察＞
本発明によるこの画像符号化（画像ブロック符号化）と画像復号化（画像ブロック復号化）のスキームは、一般的なデータ処理システム中において、例えば画像を処理、および／またはレンダリングするように構成されたユーザ端末または他のユニット中において実現することができる。かかる端末は、ＰＤＡ（Personal Digital Assistance携帯型個人情報端末）、移動ユニット、移動電話など、コンピュータまたはシン・クライアント（thin client）とすることが可能である。本発明による符号化も復号化も共に、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せの形で非常に簡単に実装することができるので、本発明は、利点を有するようにシン・クライアントに適用することができる。
【０１８６】
＜画像処理端末＞
図１１は、移動ユニットによって代表される画像処理端末１００を示している。しかし、本発明は、移動ユニットだけには限定されず、他の端末およびデータ処理ユニットの形で実装することもできる。本発明に直接に関与する移動ユニット１００中の手段およびエレメントしか、この図には示されてはいない。
【０１８７】
移動ユニット１００は、移動ユニット１００の内部の、画像データを含めてデータを処理するためのＣＰＵ（(central) processing unit（中央）処理装置）２００を備える。グラフィック・システム１３０が、画像およびグラフィック・データを管理するための移動ユニット１００中に設けられる。特に、グラフィック・システム１３０は、接続された画面１２０または他のディスプレイ・ユニット上に画像をレンダリングまたは表示するようになっている。移動ユニット１００は、そこにデータを記憶するためのストレージまたはメモリ１４０も備える。このメモリ１４０には、画像データ、とりわけ本発明による符号化された画像データ（圧縮された画像ブロック）を記憶することができる。
【０１８８】
本発明による画像エンコーダ２１０が、移動ユニット１００中に設けられる。このエンコーダ２１０は、画像またはテクスチャをこの画像（またはテクスチャ）の符号化された表現へと符号化するように構成される。前述のように、このような符号化された表現は、複数の圧縮された画像ブロックのシーケンスまたはファイルを含んでいる。この画像エンコーダ２１０は、この図に示されるようにＣＰＵ２００上で実行されるソフトウェアとしても実現することができる。代わりにまたは追加して、エンコーダ２１０は、グラフィック・システム１３０中に、または移動ユニット１００中の他のどこかに配置することができる。
【０１８９】
ブロック・エンコーダ２１０からの画像の符号化された表現は、その後にこの画像をレンダリングするまでそこに記憶するために、（メモリ）バス１５０上でメモリ１４０に供給することができる。代わりにまたは追加して、この符号化された画像データは、他の外部端末または外部ユニットに（無線または有線）伝送するためにＩ／Ｏ（input and output入出力）ユニット１１０へと転送することもできる。このＩ／Ｏユニット１１０は、外部ユニットから画像データを受信するようになっている可能性もある。この画像データは、画像エンコーダ２１０によって符号化すべき画像、または復号化すべき符号化された画像データである可能性がある。また例えばグラフィック・システム１３０中に設けられた専用のテクスチャ・メモリにこの符号化された画像表現を記憶することも可能とすることができる。さらに、この符号化された画像の一部分は、またあるいは代わりに例えばグラフィック・システム１３０中の（テクスチャ）キャッシュ・メモリに（一時的に）記憶することもできる。本発明の（複雑さの観点からの）安価な高速な伸張の大きな利点は、圧縮された画像ブロックが、少なくとも一時的に高速で簡単にアクセスするためのこのキャッシュに記憶することができることである。これは、さらにこの高い圧縮レートによっても容易になり、これにより、非圧縮の（ＲＧＢＡ８８８８）ブロック・データに比べて４倍もの画像ブロック・データを、このキャッシュに同時に記憶できるようになる。
【０１９０】
本発明による画像デコーダ２２０が、符号化された画像を復号化するために移動ユニット１００中に設けられて、復号化された画像表現を生成する。この復号化された表現は、全体の元の画像またはその一部分に対応する可能性がある。画像デコーダ２２０は、復号化された画像データをグラフィック・システム１３０に供給し、このグラフィック・システムは、次に一般的には、データが画面１２０上でレンダリング、または提示される前にこのデータを処理する。画像デコーダ２２０は、この図に示されるようにグラフィック・システム１３０中に配置することができる。代わりにまたは追加して、デコーダ２００は、ＣＰＵ２００上で、または移動ユニット１００中の他のどこかで実行されるソフトウェアとしても実現することができる。
【０１９１】
移動ユニット１００には、この図に示されるように画像エンコーダ２１０も画像デコーダ２２０も共に装備することができる。しかし、一部の端末１００では、画像エンコーダ２１０を含めることしか可能でないこともあり得る。このような場合には、符号化された画像データは、この画像の復号化と、たぶんレンダリングも実施する他の端末へと伝送することができる。これに対応して、端末１００は、画像デコーダ２２０だけしか含まず、すなわちエンコーダを含まないことも可能である。次いでかかる端末１００は、他の端末から符号化された画像データを含む信号を受信し、この画像データを復号化して、復号化された画像表現を生成する。このようにして、この符号化された画像信号は、無線のトランスミッタおよびレシーバを使用して端末間を無線により伝送することができる。代わりに、端末間で画像および符号化された画像表現を配信するための、ＩＲポートを使用したＩＲ−技術、ブルートゥース、端末間の画像データの有線転送など、他の技法を使用することもできる。また、端末間で接続し交換することができるメモリ・カードまたはメモリ・チップをこの画像データの端末間配信のために使用することもできる。
【０１９２】
移動ユニット１００のこれらのユニット１１０、１３０、２００、２１０および２２０は、ソフトウェア、ハードウェアまたはこれらの組合せとして実現されてもよい。
【０１９３】
＜エンコーダ＞
図１２は、本発明による画像エンコーダ２１０の一実施形態のブロック図を示している。エンコーダ２１０は、一般的に入力画像をいくつかの画像ブロックに分解し、または分割するための画像分解器（image decomposer）２１５を備える。分解器２１５は、この画像を８個の画像エレメントを含む画像ブロックに分解するように構成されることが好ましい。分解器２１５は、異なるサイズを有する画像ブロックに異なる入力画像を分解するようになっている可能性がある。このような場合には、分解器２１５は、所与の画像についてどの画像ブロック・フォーマットを使用しているかの識別を可能にする入力情報を受信することが好ましい。
【０１９４】
画像エンコーダ２１０は、ブロック・エンコーダ３００をさらに備える。このブロック・エンコーダ３００は、この画像分解器から受信された１つ（または複数）の画像ブロックを符号化して、１つ（または複数）の符号化されたブロック表現を生成する。このような画像ブロック表現は、少なくともカラー・コードワード、アルファ・コードワード、アルファ修正コードワード、およびアルファ修正子インデックス・シーケンスを含んでいる。このブロック表現の全体サイズは、この符号化されていない画像ブロックの対応するサイズに比べてずっと小さくなっている。ブロック・エンコーダ３００は、分解器２１５からの各画像ブロックを逐次的に処理（符号化）するように構成されることが好ましい。
【０１９５】
ブロック・エンコーダ３００は、複数のアルファ修正子の集合を含むアルファ・テーブル５００を含む、あるいはこれにアクセスできることが好ましい。アルファ・テーブル５００のこれらの修正子の集合は、このアルファ修正コードワードの生成のために使用される。アルファ・テーブル５００は、ブロック・エンコーダ３００、または画像エンコーダ２１０中の他のどこかに配置することができる。
【０１９６】
このアルファ・テーブル５００は、専用のアルファ・テーブルまたは共通のアルファおよびカラー・テーブルとすることが可能である。前者の場合には、次いでブロック・エンコーダ３００は、カラー・テーブルをさらに含むこともできる。エンコーダ２１０中にいくつかの異なるテーブルを実装することも可能であり、ここでは、これらのテーブルのアルファ修正子は、異なる画像タイプについて異なるものに適合させられる、あるいは各特定の画像ごとに適合させられる。複数の圧縮モードに従って動作するように構成されるときには、同じアルファ・テーブル５００をすべてのモードにおいて使用することもできる。しかし、一部のアプリケーションにおいては、モード・特有のアルファ・テーブル５００をその代わりに使用することもできる。
【０１９７】
図１２の画像エンコーダ２１０は、１つのブロック・エンコーダ３００しか含んでいないが、処理時間の観点からは複数のブロック・エンコーダ３００を画像エンコーダ２１０中に実装することが、もっと有利になる可能性がある。複数のブロック・エンコーダ３００を設けることにより、分解器２１５からの複数の画像ブロックを並列に処理（符号化）することができ、これは、全体の画像符号化時間を減少させる。代わりに、これらのブロック・エンコーダの第１の部分集合をこの第１の圧縮モードに従って画像ブロックを圧縮するために動作させることもでき、これらのエンコーダの残りの部分集合は、この第２の圧縮モードに従って動作させられる。
【０１９８】
複数のブロック・エンコーダの場合には、各ブロック・エンコーダ３００が、アルファ・テーブル５００を含むことが可能である。これらの異なるエンコーダ３００中のアルファ・テーブル５００は、すべて同じアルファ修正子値を含む可能性がある。代わりに、モード特有のアルファ・テーブルをこれらのエンコーダ３００によって使用することもできる。一代替実装形態においては、１つのアルファ・テーブル５００が、画像エンコーダ２１０中に配置され、すべてのブロック・エンコーダ３００に接続されている。
【０１９９】
画像エンコーダ２１０のこれらのユニット２１５および３００は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット２１５、３００および５００は、画像エンコーダ２１０中で一緒に実装することもできる。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２００】
図１３は、図１２中の画像エンコーダのブロック・エンコーダなど、本発明によるブロック・エンコーダ３００の一実施形態のブロック図を示している。エンコーダ３００は、この画像ブロック中のこれらの画像エレメントのカラーの表現であるカラー・コードワードを生成するカラー量子化器３１０を備える。アルファ量子化器３２０は、ブロック・エンコーダ３００中に設けられて、このブロック中のこれらの画像エレメントのアルファ値の表現であるアルファ・コードワードを生成する。
【０２０１】
アルファ修正子プロバイダ（alpha modifier provider）３３０は、ブロック・エンコーダ３００中に実装されて、現行の画像ブロックのために使用するアルファ修正子の集合を識別する。プロバイダ３３０は、関連するアルファ・テーブル５００からこの修正子の集合を選択するように構成されることが好ましい。次いで、この修正子プロバイダ３３０は、この選択されたアルファ修正子の集合に関連するアルファ修正子コードワードを生成する。
【０２０２】
エンコーダ３００は、このブロック中のこれらの画像エレメントについての画像エレメントに関連するアルファ修正子インデックスを選択するインデックス・セレクタ（index selector）３４０をさらに含んでいる。かかる各アルファ修正子インデックスは、アルファ修正子プロバイダ３３０によって識別されるアルファ修正子の集合からの１つのアルファ修正子に関連する。
【０２０３】
ブロック・エンコーダ３００は、コードワードの選択の目的のためのエラー値と、この画像ブロックについての画像エレメントに関連するインデックスを推定するためのエラー推定器（error estimator）３５０をオプションとして含むことができる。次いで関連するエラー値を最小にするコードワードおよびインデックスの選択肢は、１つ（または複数）の関連した圧縮された画像ブロック・バージョンについて選択される。
【０２０４】
ブロック・エンコーダ３００のこれらのユニット３１０から３５０は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット３１０から３５０および５００は、ブロック・エンコーダ３００中において一緒に実装されてもよい。代わりにこの画像エンコーダ中の他のどこかに設けられる一部のこれらのユニットを用いて、分散実装形態も可能である。
【０２０５】
図１４は、本発明によるブロック・エンコーダ３００の他の実施形態のブロック図を示している。このブロック・エンコーダの実施形態は、前述の２つの圧縮モードに従って動作することが可能である。アルファ量子化器３２０、アルファ修正子プロバイダ３３０およびエラー推定器３５０の動作については、図１３を参照して既に説明されており、本明細書中で反復されることはない。
【０２０６】
カラー量子化器３１０は、圧縮すべき画像ブロックについてのカラー・コードワードを決定する。この第１の圧縮モードに従って動作するとき、この決定されたカラー・コードワードは、このブロック中のこれらの画像エレメントのカラーの単一の表現である。しかし、カラー量子化器３１０が、この第２のモードに従って動作するときには、量子化器３１０は、第１のカラー・サブコードワードと第２のカラー・サブコードワードとを含むカラー・コードワードを生成する。この場合にはこれらの第１および第２のカラー・サブコードワードは、それぞれこれらの画像エレメントの第１および第２の部分のカラーの表現となる。
【０２０７】
カラー修正子プロバイダ３６０が、ブロック・エンコーダ３００中に実装され、この第１の圧縮モード中において使用可能となって、現行の画像ブロックについて使用するカラー修正子の集合を識別する。プロバイダ３６０は、関連するカラー・テーブル６００からこの修正子の集合を選択するように構成されることが好ましい。次いで修正子プロバイダ３６０は、この選択されたカラー修正子の集合に関連するカラー修正子コードワードを生成する。
【０２０８】
この第１のモードにおいて、インデックス・セレクタ３４０は、このブロック中の画像エレメントごとに、カラー修正子プロバイダ３６０によって識別されるカラー修正子の集合からカラー修正子を選択する。次いでセレクタ３４０は、これらの選択されたカラー修正子に関連する各カラー修正子インデックスを生成する。しかし、この第２の圧縮モードに従って動作させられるときには、インデックス・セレクタ３４０は、このブロック中のこれらの画像エレメントの部分集合中の画像エレメントごとにカラー量子化器３１０が決定するこれらのカラー・サブコードワードのうちの１つに関連するカラー・インデックスを生成する。これらの画像エレメントの残りの部分集合は、これらのカラー・コードワードのうちの１つとあらかじめ定義された関連付けを有しており、したがってカラー・インデックスを必要とはしない。
【０２０９】
このエンコーダの実施形態は、この第１の圧縮モードに従って、またはこの第２の圧縮モードに従って常に動作させられるようにすることが可能である。しかし、このアルファ画像処理に対して柔軟性を実現し、この結果として生ずる圧縮されたアルファ画像の画像品質を高めるためには、ブロック・エンコーダ３００は、両方のモードに従って動作できることが好ましい。このような場合には、エンコーダ３００は、圧縮すべき画像ブロックごとに圧縮モードを選択する圧縮モード・セレクタ３７０を含んでいることが好ましい。このセレクタ３７０は、このブロック中のこれらの画像エレメントの入力カラー値に基づいて（すなわち、このブロックを圧縮する前に）この圧縮モードを選択するように動作させることができる。代わりに、このモード選択は、入力エラー表現または入力圧縮ブロック表現に応じて（すなわち、このブロックの圧縮後または圧縮中に）実施されることもある。この第１のモードおよび第２のモードに従ってこの画像ブロックを圧縮することに関連したこれらの入力エラー表現は、モード・セレクタ３７０それ自体が生成することも可能であり、またエラー推定器３５０から受信することも可能である。
【０２１０】
モード・セレクタ３７０は、さらにこの選択された圧縮モードを表す、このブロックについてのモード・インデックスを生成し、このモード・インデックスをこの圧縮された画像ブロック表現に挿入する。このモード表現がこのカラー修正コードワードによって実施される場合には、特別なモード・インデックスをセレクタ３７０が生成する必要はない。モード・セレクタ３７０はまた、モードを表す信号またはコマンドを生成し、ブロック・エンコーダ３００中の少なくとも一部のユニットに対して転送することが好ましい。次いで、このモード信号は、この第１または第２の圧縮モードに従ってこれらの各ユニットを動作させることになる。
【０２１１】
ブロック・エンコーダ３００のこれらのユニット３１０から３７０は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット３１０から３７０、５００および６００は、ブロック・エンコーダ３００中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、この画像エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２１２】
本発明によるカラー量子化器３１０の好ましい一実装形態が、図１５のブロック図中に示されている。量子化器３１０は、この画像ブロック中のこれらの画像エレメントのカラーの平均を決定するように構成された手段３１２を備える。
【０２１３】
次いでこの決定された平均カラーは、この平均カラーを直接に量子化し、この量子化された平均カラーに基づいてこのカラー・コードワードを生成することができる量子化手段（quantizing means）３１４に供給される。代わりにこの量子化手段３１４またはカラー・アベレージャ（color averager）３１２は、このカラー空間中における平均カラー・ポイントを通過する最適な線を決定する。次いでこの線上の２点が選択され、量子化器３１４によって２つのカラー・サブコードワードへと量子化される。この選択する点は、図５に関連した以上の考察に従って決定することができる。
【０２１４】
カラー量子化器３１０のこれらのユニット３１２および３１４は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット３１２および３１４は、カラー量子化器３３０中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２１５】
本発明によるアルファ量子化器３２０の好ましい一実装形態が、図１６のブロック図中に示されている。量子化器３２０は、この画像ブロック中のこれらの画像エレメントのアルファの平均を決定するように構成される手段３２２を備える。次いでこの平均アルファ値は、量子化手段３２４に供給され、この量子化手段は、この平均アルファ値を量子化し、この量子化された平均アルファ値からそのアルファ・コードワードを生成する。
【０２１６】
アルファ量子化器３２０のこれらのユニット３２２および３２４は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット３２２および３２４は、カラー量子化器３１０中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２１７】
本発明によるインデックス・セレクタ３４０の好ましい一実装形態が、図１７のブロック図に示されている。このインデックス・セレクタ３４０は、このブロック中の画像エレメントごとにアルファ修正子を選択するためのアルファ修正子セレクタ３４２を備える。次いでこれらの選択されたアルファ修正子に関連づけられたアルファ修正子インデックスは、生成され、アルファ・インデックス・シーケンスへと組み立てられる。
【０２１８】
インデックス・セレクタ３４０はまた、この第１の圧縮モードにおいて動作させられるカラー修正子セレクタ３４４を含んでいることが好ましい。アルファ修正子セレクタ３４２に対応して、このカラー修正子セレクタ３４４は、このブロック中の画像エレメントごとにカラー修正子を選択する。次いでこれらの選択されたアルファ修正子に関連づけられたカラー修正子インデックスは、生成され、カラー・インデックス・シーケンスへと組み立てられる。
【０２１９】
カラー・セレクタ３４６が、インデックス・セレクタ３４０中に実装されて、この第２の圧縮モード中においてこの画像ブロックの一部分における画像エレメントごとに、この第１または第２のカラー・サブコードワードに関連づけられたカラー・インデックスを選択することが好ましい。このブロックの残りの部分における１つ（または複数）の画像エレメントには、カラー・インデックスが欠如しており、その代わりにあらかじめ定義されたサブコードワードの関連付けが存在する。
【０２２０】
インデックス・セレクタ３４０のこれらのユニット３４２から３４６は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット３４２から３４６は、インデックス・セレクタ３５０中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このブロック・エンコーダ中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２２１】
＜デコーダ＞
図１８は、本発明による画像デコーダ２２０の一実装形態のブロック図を示している。画像デコーダ２２０は、復号化するためにブロック・デコーダ４００に供給すべき符号化された１つ（または複数）の画像ブロックを例えばメモリから選択するためのブロック・セレクタ２２２を備えることが好ましい。ブロック・セレクタ２２２は、この符号化された画像データに関連する入力情報を例えばヘッダまたはレンダリング・エンジンから受信することが好ましい。この所望の１つ（または複数）の画像エレメントを有する圧縮された画像ブロックのアドレスが、この入力情報に基づいて計算される。この計算されたアドレスは、画像内の画像エレメントの（ピクセル、テクセル、またはボクセル）座標に依存していることが好ましい。このアドレスを使用して、ブロック・セレクタ２２２は、例えばメモリまたはキャッシュからこの符号化された画像ブロックを識別する。次いでこの識別され符号化された画像ブロックが、このストレージからフェッチされ、ブロック・デコーダ４００に対して供給される。
【０２２２】
画像ブロックの画像エレメントに対するこの（ランダムな）アクセスは、必要とされる画像のこれらの部分だけを選択的にフェッチし復号化することを有利に可能にする。さらに、この画像は、このデータが必要とされるどのような順序でも復号化することができる。例えば、テクスチャ・マッピングにおいては、このテクスチャの一部分しか必要とされないこともあり、これらの部分は、一般に不連続な順序で必要とされることになる。したがって、本発明の画像復号化を有利に適用して、画像の一部分または１セクションだけを処理することが可能である。
【０２２３】
この選択済みの符号化された画像ブロックは、ブロック・デコーダ４００に転送される。この画像ブロックに加えて、デコーダ４００は、このブロックのうちのどの画像エレメントを復号化すべきかを指定する情報を受信することが好ましい。この情報は、この全体の画像ブロック、すなわちそこにあるすべての画像エレメントを復号化すべきことを指定することが可能である。しかし、この受信された情報は、これらの画像エレメントのうちの１つのエレメントまたは少しのエレメントしか復号化すべきでないことを識別することもできる。次いでブロック・デコーダ４００は、このブロック中の１つ（または複数）の画像エレメントの伸張された表現を生成する。この復号化された表現は、Ｓが元の画像における画像エレメント当たりのビット数である場合のＳビットのカラー、例えば２４ビットのＲＧＢカラーであり、Ｔが元の画像における画像エレメント当たりのビット数である場合のＴビットのアルファ値、例えば８ビットのアルファ値であることが好ましい。ブロック・デコーダ４００は、この復号化プロシージャ中に使用されるアルファ・テーブル５００を含むことが好ましい。代わりに、このアルファ・テーブル５００は、画像デコーダ２２０中の他のどこかに設けることも可能である。図１２に関連して以上で説明した異なる動作モードおよび／または画像タイプについての異なるアルファ・テーブルの使用も、画像デコーダ２２０に適用される。
【０２２４】
オプションとしての画像コンポーザ（image composer）２２４が、デコーダ２２０中に設けられてもよい。このコンポーザは、ブロック・デコーダ４００から復号化された画像エレメントを受信し、これらの画像エレメントを構成して、画面上でレンダリング、あるいは表示することができるピクセル、テクセル、またはボクセルを生成する。コンポーザ２２４は、１つのピクセル、テクセル、またはボクセルを生成するためにいくつかの入力画像エレメントを必要とする可能性もある。この画像コンポーザ２２４は、代わりにこのグラフィック・システム中に設けられてもよい。
【０２２５】
図１８の画像デコーダ２２０は、１つのブロック・デコーダ４００しか含んでいないが、処理時間の観点からは複数のブロック・デコーダ４００を画像デコーダ２２０中に実装することがさらに有利となる可能性がある。複数のブロック・デコーダ４００を設けることにより、分解器２１５からの複数の画像ブロックを並列に処理（復号化）することもでき、これが全体の画像復号化時間を短くする。代わりにこれらのブロック・デコーダの第１の部分集合を第１の伸張モードに従って画像ブロックを伸張するように動作させることもでき、これらのブロック・デコーダの残りの部分集合は、この第２の伸張モードに従って動作させられる。
【０２２６】
画像デコーダ２２０のこれらのユニット２２２、２２４および４００は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット２２２、２２４、４００および５００は、画像デコーダ２２０中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２２７】
図１９は、本発明によるブロック・デコーダ４００の一実施形態を示す図である。ブロック・デコーダ４００は、この画像ブロック中のこれらの画像エレメントについてのカラー表現をこのカラー・コードワードに基づいて生成するカラー・ジェネレータ４１０を備える。このジェネレータ４１０は、このカラー・コードワードの量子化されたカラーをカラー表現へと拡張することが好ましい。
【０２２８】
アルファ・ジェネレータ４２０が、ブロック・デコーダ４００中に実装されて、このブロック中のこれらの画像エレメントについてのアルファ値またはアルファ表現をこのアルファ・コードワードに基づいて生成する。このアルファ・ジェネレータ４２０は、このアルファ・コードワードの量子化されたアルファ値をアルファ表現へと拡張することが好ましい。
【０２２９】
ブロック・デコーダ４００は、このアルファ修正コードワードを使用してアルファ修正子の集合を提供する手段４３０をさらに含んでいる。このアルファ修正子の集合は、関連するアルファ・テーブル５００から提供されることが好ましい。このプロバイダ４３０は、アルファ・テーブル５００からアルファ修正子値の第１の部分集合をフェッチし、この第１の部分集合に基づいて修正子の第２の部分集合を決定するように構成されることが可能である。
【０２３０】
インデックス・セレクタまたは修正子・セレクタ４４０は、この提供する手段４３０によって取得されるこの修正子の集合からアルファ修正子値のうちの１つを選択するように構成される。修正子セレクタ４４０は、この圧縮された画像ブロック中のこれらの画像エレメントについての正しいアルファ修正子値をアルファ修正インデックスのシーケンスに基づいて選択するように構成される。
【０２３１】
このアルファ・ジェネレータ４２０からの拡張されたアルファ値と、この修正子セレクタ４４０からの修正子値は、この修正子値を用いてこの拡張されたアルファ値を修正するアルファ変調器（alpha modulator）またはアルファ修正器（alpha modifier）４５０へと転送される。さらに、このアルファ値が修正された後に、この修正器４５０は、この結果として生じるアルファ表現を最大しきい値と最小しきい値との間で、例えば０と２５５の間でクランプすることが好ましい。
【０２３２】
ブロック・デコーダ４００のこれらのユニット４１０から４５０は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット４１０から４５０および５００は、ブロック・デコーダ４００中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２３３】
図２０は、本発明によるブロック・デコーダ４００の他の実施形態のブロック図を示している。このブロック・デコーダの実施形態は、前述の２つの伸張モードに従って動作することが可能である。アルファ・ジェネレータ４２０、アルファ修正子集合プロバイダ４３０、およびアルファ修正器４５０の動作については、図１９に関連して既に説明されており、本明細書中で反復されることはない。
【０２３４】
ブロック・デコーダ４００は、現行の圧縮された画像ブロックを伸張すべきときに従うモードを選択する伸張モード・セレクタ４８０を備える。このモード選択は、この圧縮されたブロック表現中に含まれるモード・インデックスに基づいていることが好ましい。代わりに、このモード選択は、この組み合わされたカラー修正コードワードとモード表現コードワード（の少なくとも一部分）を詳細に調べることにより実施することもできる。モード・セレクタ４８０は、このモード・インデックスおよび現行の伸張モードを表すモード信号またはコマンドを生成する。このモード信号は、ブロック・デコーダ４００中の他のユニットに転送され、これらのユニットは、この受信されたモード信号に応じてこれらの各動作を調整する。
【０２３５】
カラー・ジェネレータ４１０は、この第１の伸張モード中で動作するときにこの画像ブロック中のすべての画像エレメントについての１つのカラー表現をこのカラー・コードワードに基づいて生成する。このジェネレータ４１０は、このカラー・コードワードの量子化されたカラーをカラー表現へと拡張することが好ましい。
【０２３６】
ブロック・デコーダ４００は、（モード・セレクタ４８０からのモード信号を表す）「モード１」を受信するときにこのカラー修正コードワードを使用してカラー修正子の集合を提供するための手段４６０をさらに含んでいる。このカラー修正子の集合は、関連するカラー・テーブル６００から提供されることが好ましい。このプロバイダ４６０は、このカラー・テーブル６００からカラー修正子値の第１の部分集合をフェッチし、この第１の部分集合に基づいて修正子の第２の部分集合を決定するように構成されることが可能である。
【０２３７】
インデックス・セレクタ４４０は、この第１のモードにおいてこの提供する手段４６０によって取得されるカラー修正子の集合からカラー修正子値のうちの１つを選択するように構成される。セレクタ４４０は、この圧縮された画像ブロック中のこれらの画像エレメントについての正しいカラー修正子値をカラー修正インデックスのシーケンスに基づいて選択するように構成される。しかし、モード・セレクタ４８０からのモード・コマンドが、その代わりにこの第２のモードを信号で伝える場合、インデックス・セレクタ４４０は、このカラー・インデックス・シーケンスを使用して、これらの画像エレメントの部分集合のために使用するためのカラー・サブコードワードまたはカラー表現を選択する。これらの画像エレメントの残りの部分集合は、あらかじめ定義された関連するカラー表現（サブコードワード）を有するので、この表現は、このカラー・インデックス・シーケンスを使用せずに、この（これらの）１つ（または複数）の画像エレメントに対して簡単に割り当てることができる。
【０２３８】
このカラー・ジェネレータ４１０およびカラー修正子値からの拡張されたカラーは、このデコーダがこの第１のモードに従って動作しているときに、このカラー修正子値を用いてこの拡張されたカラーのカラー成分（の輝度）を修正するカラー変調器またはカラー修正器４７０へと転送される。修正器４７０は、これらの異なるカラー成分について異なる重みを有する重み付けされたカラー修正子値を使用することが可能である。さらに、これらのカラー成分が修正された後に、修正器４７０は、最大しきい値と最小しきい値の間で、例えば０と２５５の間でこれらの成分をクランプすることが好ましい。
【０２３９】
ブロック・デコーダ４００のこれらのユニット４１０から４８０は、ソフトウェア、ハードウェア、またはこれらの組合せとして実現されてもよい。これらのユニット４１０から４８０、５００および６００は、ブロック・デコーダ４００中において一緒に実装されてもよい。代わりにまた、分散された実装形態が、このユーザ端末中の他のどこかに設けられた一部のこれらのユニットを用いても可能になる。
【０２４０】
図２１は、本発明によるブロック・デコーダの可能なハードウェア実装形態を概略的に示している。このブロック・デコーダへの入力は、図３Ｂによる符号化されたブロック表現７００であり、このブロック表現は、１８ビットのカラー・コードワード７１０（各赤色、緑色および青色の成分ごとに６ビット）、４ビットのカラー修正コードワード７５０、１６ビットのカラー修正子インデックス・シーケンス７６０、１６ビットのアルファ修正子インデックス・シーケンス７４０、４ビットのアルファ修正コードワード７３０および６ビットのアルファ・コードワード７２０を含んでいる。これら２つのインデックス・シーケンス７４０、７６０中の修正子インデックスは、この８つのカラー修正子インデックスまたはアルファ修正子インデックスのＭＳＢが８つのＬＳＢに先行するように構成されている。それ故に、１０１１０００１  １００００１１０ｂｉｎのインデックス・シーケンスは、以下の修正子インデックス１１ｂｉｎ、００ｂｉｎ、１０ｂｉｎ、１０ｂｉｎ、００ｂｉｎ、０１ｂｉｎ、０１ｂｉｎおよび１０ｂｉｎを表す。
【０２４１】
カラー・コードワード７１０は、カラー・ジェネレータ４１０に供給され、このカラー・ジェネレータは、３つのビット・エキステンダ（bit extender）４１２から４１６によって実現される。第１のビット・エキステンダ４１２は、この６ビットの赤色成分を受け取り、第２のエキステンダ４１４および第３のエキステンダ４１６は、それぞれ６ビットの緑色成分および青色成分を受け取る。各エキステンダ４１２から４１６までの出力は、８ビットのカラー成分である。
【０２４２】
修正子セレクタまたはインデックス・セレクタ４４０は、４つのマルチプレクサ４４２〜４４８として実装される。３ビットのアドレス・インデックスがこれらのマルチプレクサ４４２〜４４８へと入力される。第１のマルチプレクサ４４２は、このアドレス・インデックスに応じてこれらのアドレス指定された画像エレメントについてのカラー修正子インデックスのＭＳＢを出力する。このカラー修正子インデックスのＬＳＢは、第２のマルチプレクサ４４４によって供給される。これに対応して、第３のマルチプレクサ４４６および第４のマルチプレクサ４４８は、それぞれこのアルファ修正子インデックスのＭＳＢおよびＬＳＢを選択し出力する。
【０２４３】
次いでこの選択された画像エレメントに関連する２ビットのカラー修正子インデックスは、テーブル・ルックアップ４６５へと転送される。このテーブル・ルックアップ４６５は、図２０のカラー修正子集合プロバイダ４６０およびカラー・テーブル６００に対応する。この入力カラー修正コードワード７５０およびカラー修正子インデックスを使用して、ルックアップ４６５は、この正しいカラー修正子値をこのテーブル中のこれらの修正子の集合のうちの１つからフェッチする。次いでこの９ビットの符号付き（正または負の）修正子値は、カラー修正器４７０へと供給される。このハードウェア実装形態においては、カラー修正器４７０は、３つの加算器４７１から４７３と、３つのクランパ４７４から４７６とを備える。この修正子値は、各加算器４７１から４７３へと入力される。第１の加算器４７１は、ビット・エキステンダ４１２からの８ビットの赤色成分にこのカラー修正子値を加算する。これに対応して、加算器４７２および加算器４７３は、それぞれビット・エキステンダ４１４および４１６からの８ビットの緑色成分および青色成分にこの修正子値を加算する。一代替実装形態においては、これらの加算器４７１から４７３は、他の修正エレメントで、例えばマルチプレクサまたはＸＯＲゲートで置き換えることが可能である。これらの加算器４７１から４７３までの出力は、クランパ４７４から４７６へと転送され、これらのクランパは、これらの修正されたカラー成分を０と２５５の間にクランプする。
【０２４４】
６ビットのアルファ・コードワード７２０は、アルファ・ジェネレータ４２０へと供給され、このアルファ・ジェネレータは、ビット・エキステンダ４２５によって実現される。エキステンダ４２５からの出力は、８ビットのアルファ値である。
【０２４５】
この選択された画像エレメントに関連する２ビットのアルファ修正子インデックスは、これらのマルチプレクサ４４６および４４８からテーブル・ルックアップ４３５へと転送される。このテーブル・ルックアップ４３５は、図１９または２０のアルファ修正子集合プロバイダ４３０およびアルファ・テーブル７００に対応する。この入力アルファ修正コードワード７３０およびアルファ修正子値を使用して、ルックアップ４３５は、このテーブル中のこれらの修正子の集合のうちの１つから正しいアルファ修正子値をフェッチする。この９ビットの符号付き（正または負の）修正子値は、ビット・エキステンダ４２５からの拡張されたアルファ値と一緒にアルファ修正器４５０に供給される。
【０２４６】
このハードウェア実装形態においては、アルファ修正器４５０は、加算器４５２とクランパ４５４とを備える。このアルファ修正子値は、加算器４５２に入力され、この加算器は、エキステンダ４２５からの８ビットのアルファ値にこのアルファ修正子値を加算する。この加算器４５２は、例えばマルチプレクサまたはＸＯＲゲートによって置き換えることができることが本発明により予想される。加算器４５２からの出力は、クランパ４５４へと転送され、このクランパは、この修正されたアルファを０と２５５の間でクランプする。
【０２４７】
これらのカラー・クランパ４７４から４７６と、アルファ・クランパ４５４からの出力は、伸張された、または復号化された３２ビットのＲＧＢＡ画像エレメントである。
【０２４８】
図２１のデコーダ実装形態は、１つはカラーを管理し、１つはアルファを管理する２つの別々のルックアップ・テーブル４３５、４６５を含んでいるが、単一のテーブル・ルックアップを使用してこれらの両方の画像エレメント特性を共に復号化することも可能である。
【０２４９】
図２２は、図２１のビット・エキステンダ４１２、４１４、４１６および４２５の可能なハードウェア実装形態を概略的に示している。これらのエキステンダは、６ビットのカラー成分またはアルファ・コードワードを受け取り、拡張された対応する８ビットのカラー成分またはアルファ値を出力する。この出力においては、これらの６つのＭＳＢは、この入力の６ビットのワードを構成し、この「７番目のＭＳＢ」は、この入力のＭＳＢに対応し、このＬＳＢは、この入力ワードのこの「２番目のＭＳＢ」に対応する。
【０２５０】
図２３は、図２１のクランパ４５４、４７４〜４７６の可能なハードウェア実装形態を概略的に示している。このクランパ４５４、４７４〜４７６への入力は、１０ビットの修正されたカラー成分値またはアルファ値である。この入力値の８つのＬＳＢは、マルチプレクサ４５６へと入力される。このマルチプレクサ４５６に対する他の入力は、最大しきい値（２５５、８ビット）である。マルチプレクサ４４５は、この入力ワードの第２のＭＳＢに基づいて、この８ビットの入力値またはこの最大しきい値のどちらかを選択する。換言すれば、この第２のＭＳＢが１に等しい場合、マルチプレクサ４５６は、このしきい値を出力し、そうでない場合には、この８ビットの入力値が第２のマルチプレクサ４５８へと転送される。第２のマルチプレクサ４４８は、この第１のマルチプレクサ４５６からの出力または最小しきい値（０、８ビット）のどちらかをこのカラー成分のＭＳＢに基づいて選択する。このＭＳＢまたは符号ビットが１に等しい場合、第１のマルチプレクサ４５６からの出力は、負であり、この最小しきい値が、第２のマルチプレクサ４５８によって選択されるはずである。しかし、この符号ビットがゼロである場合には、第１のマルチプレクサ４５６からの出力はまた、第２のマルチプレクサ４５８から出力されるはずである。
【０２５１】
図２４は、図２１のテーブル・ルックアップ４３５、４６５の可能なハードウェア実装形態を概略的に示している。４ビット入力修正コードワードの３つのＬＳＢは、各マルチプレクサ４３１および４３２についての８つの可能な修正子値から１つの７ビットのアルファ修正子値またはカラー修正子値を選択するために２つのマルチプレクサ４３１および４３２に対して入力される。これらの１６個の輝度修正子から、テーブル１によるアルファ／カラー・テーブルを使用する場合には、残りの４８個の値を計算することができる。これらのマルチプレクサ４３１および４３２からの選択された修正子値は、図２１におけるマルチプレクサ４４２、４４４、または４４６、４４８からの１ビットの入力データ（アルファ修正子インデックスまたはカラー修正子インデックスの２ビットのうちの１ビット）に基づいてこれらの値のうちの１つを選択する他のマルチプレクサ４３３に対して入力される。次いでこの選択された修正子値は、マルチプレクサ４３６に対しても、この修正子値をネゲートする否定手段（negation means）４３４に対しても共に転送される。このネゲートされた値は、マルチプレクサ４３６にも転送される。このマルチプレクサ４３６は、図２１におけるマルチプレクサ４４２、４４４、または４４６、４４８からの修正子インデックスの残りのビットに基づいてこの正の７ビットの修正子値またはこのネゲートされた値のどちらかを選択する。この選択された（８ビットの）修正子値は、マルチプレクサ４３８に対しても、この修正子値を１ビットだけ左にシフトし、９ビットの修正子値をもたらす（１０進では２によるこの値の乗算に対応する）ビット・シフタ４３７に対しても共に入力される。マルチプレクサ４３８は、この入力修正コードワードからのＭＳＢに基づいて８ビットの修正子値または９ビットの修正子値のどちらかを選択する。この選択からの結果は、特定の画像エレメントのために使用する、６４個の可能な修正子値の中からの９ビットの修正子値となる。
【０２５２】
図２１中のブロック・エンコーダについてのハードウェア・ソリューションは、非常に簡単であり、このハードウェア・ソリューションは、基本的にこれらのテーブル・ルックアップ４３５、４６５およびクランパ４５４、４７４〜４７６がそれぞれ図２３および図２４に従って実装される場合には、４つの加算器、１つの否定手段、および２２個のマルチプレクサを含んでいるにすぎない。
【０２５３】
本発明の範囲を逸脱することなく本発明に対して様々な修正および変更を行うことができ、本発明については、添付の特許請求の範囲によって定義されることが当業者には理解されよう。
【０２５４】
参考文献
［１］米国特許第５９５６４３１号
［２］Ｙ．Ｌｉｎｄｅ、Ａ．Ｂｕｚｏ、Ｒ．Ｇｒａｙ、「Ａｎ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｖｅｃｔｏｒ  ｑｕａｎｔｉｚｅｒ  ｄｅｓｉｇｎ」、ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、２８巻、８４〜９４頁、１９８０年１月
【図面の簡単な説明】
【０２５５】
【図１】本発明による画像符号化方法の一実施形態を示す流れ図である。
【図２Ａ】本発明による画像ブロックの実施形態を示す図である。
【図２Ｂ】本発明による画像ブロックの実施形態を示す図である。
【図３Ａ】画像ブロックの圧縮表現の実施形態を示す図である。
【図３Ｂ】画像ブロックの圧縮表現の実施形態を示す図である。
【図３Ｃ】画像ブロックの圧縮表現の実施形態を示す図である。
【図４】図１の画像符号化方法のカラー・コードワード決定ステップの一実施形態を示す流れ図である。
【図５】図１の画像符号化方法のカラー・コードワード決定ステップの他の実施形態を示す流れ図である。
【図６】図１のアルファ・コードワードを決定するステップと、アルファ修正コードワードを決定するステップと、アルファ修正子インデックスを選択するステップとをより詳細に示す流れ図である。
【図７】本発明による１つの画像復号化方法を示す流れ図である。
【図８】図７のカラー表現生成ステップの一実施形態をより詳細に示す流れ図である。
【図９】図７のカラー表現生成ステップの他の実施形態をより詳細に示す流れ図である。
【図１０】図７のアルファ表現を生成するステップと、アルファ修正子を選択するステップと、アルファ表現を修正するステップとをより詳細に示す流れ図である。
【図１１】本発明による画像エンコーダおよび画像デコーダを有するユーザ端末の一実施例を概略的に示す図である。
【図１２】本発明による画像エンコーダの一実施形態を概略的に示すブロック図である。
【図１３】本発明によるブロック・エンコーダの一実施形態を概略的に示すブロック図である。
【図１４】本発明によるブロック・エンコーダの他の実施形態を概略的に示すブロック図である。
【図１５】図１４または１５のブロック・エンコーダのカラー量子化器をより詳細に概略的に示すブロック図である。
【図１６】図１４または１５のブロック・エンコーダのアルファ量子化器をより詳細に概略的に示すブロック図である。
【図１７】図１４または１５のブロック・エンコーダのインデックス・セレクタをより詳細に概略的に示すブロック図である。
【図１８】本発明による画像デコーダの一実施形態を概略的に示すブロック図である。
【図１９】本発明によるブロック・デコーダの一実施形態を概略的に示すブロック図である。
【図２０】本発明によるブロック・デコーダの他の実施形態を概略的に示すブロック図である。
【図２１】本発明によるブロック・デコーダの一実施形態を概略的に示すハードウェア・ブロック図である。
【図２２】図２１のビット・エキステンダの一実施形態をより詳細に示すハードウェア・ブロック図である。
【図２３】図２１のクランパの一実施形態をより詳細に示すハードウェア・ブロック図である。
【図２４】図２１のテーブル・ルックアップの一実施形態をより詳細に示すハードウェア・ブロック図である。
【図１】
2007517434.tif 000032
【図２Ａ】
2007517434.tif 000033
【図２Ｂ】
2007517434.tif 000034
【図３Ａ】
2007517434.tif 000035
【図３Ｂ】
2007517434.tif 000036
【図３Ｃ】
2007517434.tif 000037
【図４】
2007517434.tif 000038
【図５】
2007517434.tif 000039
【図６】
2007517434.tif 000040
【図７】
2007517434.tif 000041
【図８】
2007517434.tif 000042
【図９】
2007517434.tif 000043
【図１０】
2007517434.tif 000044
【図１１】
2007517434.tif 000045
【図１２】
2007517434.tif 000046
【図１３】
2007517434.tif 000047
【図１４】
2007517434.tif 000048
【図１５】
2007517434.tif 000049
【図１６】
2007517434.tif 000050
【図１７】
2007517434.tif 000051
【図１８】
2007517434.tif 000052
【図１９】
2007517434.tif 000053
【図２０】
2007517434.tif 000054
【図２１】
2007517434.tif 000055
【図２２】
2007517434.tif 000056
【図２３】
2007517434.tif 000057
【図２４】
2007517434.tif 000058
【国際調査報告】
2007517434.tif 000059
2007517434.tif 000060
2007517434.tif 000061