(57)【要約】  ２つの異なるモードに基づいて動作可能なアルファ画像符号化及び復号方式が開示される。符号化において、アルファ画像は、複数の画像単位（６１０）から構成される複数のアルファ画像ブロック（６００）に分解される。ブロック（６００）は、２つの圧縮モードのうちの一方に従って、ブロック表現（７００）に圧縮される。ブロック表現（７００）は、色コードワード（７２０）、輝度コードワード（７３０）、アルファコードワード（７４０）及びコードワード（７３０、７４０）のうちの一方を示す画像単位関連インデックスから成るシーケンス（７５０）を含む。ブロック（６００）に対して使用する圧縮及び伸張のモードは、アルファコードワード（７４０）に基づいて判定される。高アルファ解像度モードにおいては、インデックスシーケンス（７５０）は、アルファコードワード（７４０）の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの１つを選択するアルファインデックスと、輝度コードワード（７３０）により表される変更子セットから１つの輝度変更子を選択する輝度インデックスとを含む。高輝度解像度モードでは、インデックスシーケンス（７５０）は、輝度インデックスのみを含む。
2007520103.tif 000002
【特許請求の範囲】
【請求項１】
複数の画像単位（６１０）からなる画像ブロック（６００）を圧縮する方法であって、
−前記複数の画像単位（６１０）の色の表現である色コードワード（７２０）を判定するステップと；
−前記複数の画像単位（６１０）の少なくとも１つのアルファ値の表現である複数の量子化アルファ値（７４０Ａ、７４０Ｂ）を備えるアルファコードワード（７４０）を提供するステップと；
−前記複数の画像単位（６１０）の強度を変更するための複数の強度変更子のセットの表現である強度コードワード（７３０）を提供するステップと；
−画像単位関連インデックスのインデックスシーケンス（７５０）を提供するステップと；
−前記アルファコードワード（７４０）に基づいて、圧縮モードを選択するステップとを備え、
前記選択された圧縮モードが第１の圧縮モードである場合、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）を有するサブセット毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える第１のインデックスサブシーケンス（７５０Ｂ）と、前記複数の画像単位（６１０）の少なくとも一部にある画像単位（６１０）毎に、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）の１つの量子化アルファ値と関連付けられるアルファインデックスを備える第２のインデックスサブシーケンス（７５０Ａ）とを備え、
前記選択された圧縮モードが第２の圧縮モードである場合には、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の画像単位（６１０）毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える方法。
【請求項２】
前記モードを選択するステップは、前記アルファコードワード（７４０）の前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの少なくとも１つに基づいて、前記圧縮モードを選択するステップを備える請求項１記載の方法。
【請求項３】
前記モードを選択するステップは、
−前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が異なる場合、前記第１の圧縮モードを選択するステップと；
−前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が等しい場合、前記第２の圧縮モードを選択するステップとを備える請求項２記載の方法。
【請求項４】
前記強度コードワードを提供するステップは、前記圧縮モードを選択した後に実行される請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記サブセットの各々は、前記画像ブロック（６００）中の２つの隣接する画像単位（６１０）を備える請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記サブセットの各々は、１つの画像単位（６１０）を備え、前記強度インデックスは、前記強度変更子セットのサブセットの１つの強度変更子と関連付けられる請求項１から４のいずれか１項に記載の方法。
【請求項７】
前記第２のインデックスサブシーケンス（７５０Ａ）は、前記複数の画像単位（６１０）の第１の部分にある画像単位（６１０）毎に、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）からの１つの量子化アルファ値と関連付けられるアルファインデックスを備え、前記複数の画像単位（６１０）の残る第２の部分にある各画像単位（６１０）は、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）の１つの所定の量子化アルファ値と関連付けられる請求項１から６のいずれか１項に記載の方法。
【請求項８】
画像を符号化する方法であって、
−前記画像を、各々が複数の画像単位（６１０）を備える複数の画像ブロック（６００）に分解するステップと；
−少なくとも１つの画像ブロック（６００）に対して、請求項１から７のいずれか１項に基づき前記少なくとも１つの画像ブロック（６００）を圧縮することにより、圧縮画像ブロック表現（７００）を判定するステップとを備える方法。
【請求項９】
複数の画像単位（６１０）からなる画像ブロック（６００）の圧縮画像ブロック表現（７００）であり、色コードワード（７２０）、アルファコードワード（７４０）、強度コードワード（７３０）、及び、画像単位関連インデックスを有するインデックスシーケンス（７５０）を備える圧縮画像ブロック表現（７００）を処理する方法であって、
−前記アルファコードワード（７４０）に基づいて、伸張モードを選択するステップと；
−前記強度コードワード（７３０）に基づいて、複数の強度変更子から成るセットを提供するステップと；
前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）に対して、
−前記色コードワード（７２０）に基づいて、色表現を生成するステップと；
−前記インデックスシーケンス（７５０）に基づいて、前記強度変更子セットから１つの強度変更子を選択するステップと；
−前記選択された強度変更子に基づいて、前記少なくとも１つの画像単位（６１０）の強度を変更するステップと；
−前記アルファコードワード（７４０）に基づいて、少なくとも１つのアルファ値を生成するステップとを備え、
前記選択された伸張モードが第１の伸張モードである場合、前記方法は、
−前記少なくとも１つの画像単位（６１０）に対して、前記アルファコードワード（７４０）に基づいて生成された複数のアルファ値から１つのアルファ値を選択するステップと；
−前記選択されたアルファ値を前記少なくとも１つの画像単位（６１０）に割り当てるステップとを備え、
前記選択された伸張モードが第２の伸張モードである場合、前記方法は、
−前記少なくとも１つのアルファ値を前記少なくとも１つの画像単位（６１０）に割り当てるステップを備える方法。
【請求項１０】
前記モードを選択するステップは、前記アルファコードワード（７４０）により表される複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの少なくとも１つの量子化アルファ値（７４０Ａ）に基づいて、前記伸張モードを選択するステップを備える請求項９記載の方法。
【請求項１１】
前記モードを選択するステップは、
−前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が異なる場合、前記第１の伸張モードを選択するステップと；
−前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が等しい場合、前記第２の伸張モードを選択するステップとを備える請求項１０記載の方法。
【請求項１２】
前記変更子セットを提供するステップは、前記伸張モードを選択した後に実行される請求項９から１１のいずれか１項に記載の方法。
【請求項１３】
前記第１の伸張モードにあるとき、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）を有するサブセット毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える第１のインデックスサブシーケンス（７５０Ｂ）と、前記複数の画像単位（６１０）の少なくとも一部にある画像単位（６１０）毎に、前記複数のアルファ値からの１つのアルファ値と関連付けられるアルファインデックスを備える第２のインデックスサブシーケンス（７５０Ａ）とを備え、前記第２の伸張モードにあるとき、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の画像単位（６１０）毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える請求項９から１２のいずれか１項に記載の方法。
【請求項１４】
前記第２のインデックスサブシーケンス（７５０Ａ）は、前記複数の画像単位（６１０）の第１の部分にある画像単位（６１０）毎に、前記複数のアルファ値からの１つのアルファ値と関連付けられるアルファインデックスを備え、前記複数の画像単位（６１０）の残る第２の部分にある各画像単位（６１０）は、前記複数のアルファ値からの１つの所定のアルファ値と関連付けられる請求項１３記載の方法。
【請求項１５】
前記選択するステップは、前記選択された伸張モードが前記第１の伸張モードである場合、
−前記少なくとも１つの画像単位（６１０）が前記複数の画像単位の前記第１の部分に属するならば、前記インデックスシーケンス（７５０）に基づいて、前記複数のアルファ値から前記アルファ値を選択するステップと；
−前記少なくとも１つの画像単位（６１０）が前記複数の画像単位（６１０）の前記残る第２の部分に属するならば、前記事前定義済みアルファ値を選択するステップとを備える請求項１４記載の方法。
【請求項１６】
各々が複数の画像単位（６１０）を備える複数の画像ブロック（６００）の圧縮画像ブロック表現（７００）であり、色コードワード（７２０）、アルファコードワード（７４０）、強度コードワード（７３０）、及び、画像単位関連インデックスを有するインデックスシーケンス（７５０）を備える圧縮画像ブロック表現（７００）を備える符号化画像を復号する方法であって、
−少なくとも１つの圧縮画像ブロック表現（７００）に対して、請求項９から１５のいずれか１項に基づいて前記少なくとも１つの圧縮画像ブロック表現（７００）を処理することにより、少なくとも１つの伸張画像単位表現（６１０）を判定するステップと；
−前記少なくとも１つの伸張画像単位表現（６１０）を処理することにより、画像を生成するステップとを備える方法。
【請求項１７】
複数の画像単位（６１０）からなる画像ブロック（６００）を圧縮するシステム（３００）であって、
−前記複数の画像単位（６１０）の色の表現である色コードワード（７２０）を判定する色量子化器（３２０）と；
−前記複数の画像単位（６１０）の少なくとも１つのアルファ値の表現である複数の量子化アルファ値（７４０Ａ、７４０Ｂ）を備えるアルファコードワード（７４０）を提供するアルファ量子化器（３４０）と；
−前記複数の画像単位（６１０）の強度を変更するための複数の強度変更子から成るセットの表現である強度コードワード（７３０）を提供する強度量子化器（３３０）と；
−画像単位関連インデックスのインデックスシーケンス（７５０）を提供する手段（３５０）と；
−前記アルファコードワード（７４０）に基づいて、圧縮モード信号を発生する手段（３１０）とを具備し、
前記圧縮モード信号が第１の圧縮モードを表す場合、
−前記提供する手段（３５０）は、前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）を有するサブセット毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える第１のインデックスサブシーケンス（７５０Ｂ）と、前記複数の画像単位（６１０）の少なくとも一部にある画像単位（６１０）毎に、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）からの１つの量子化アルファ値と関連付けられるアルファインデックスを備える第２のインデックスサブシーケンス（７５０Ａ）とを提供するように動作され、
前記圧縮モード信号が第２の圧縮モードを表す場合には、
−前記提供する手段（３５０）は、前記画像ブロック（６００）中の画像単位（６１０）毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを提供するように動作されるシステム。
【請求項１８】
前記発生する手段（３１０）は、前記アルファコードワード（７４０）の前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの少なくとも１つに基づいて、前記圧縮モード信号を発生する請求項１７記載のシステム。
【請求項１９】
前記発生する手段（３１０）は、前記複数の量子化アルファ値が異なる場合、第１の圧縮モード信号を発生し、前記複数の量子化アルファ値が等しい場合には、第２の圧縮モード信号を発生する請求項１８記載のシステム。
【請求項２０】
前記強度量子化器（３３０）は、前記圧縮モード信号に応答して、前記強度コードワードを提供するように構成される請求項１７から１９のいずれか１項に記載のシステム。
【請求項２１】
前記サブセットの各々は、前記画像ブロック（６００）中の２つの隣接する画像単位（６１０）を備える請求項１７から２０のいずれか１項に記載のシステム。
【請求項２２】
前記サブセットの各々は、１つの画像単位（６１０）を備え、前記強度インデックスは、前記強度変更子セットのサブセットの１つの強度変更子と関連付けられる請求項１７から２０のいずれか１項に記載のシステム。
【請求項２３】
前記第２のインデックスサブシーケンス（７５０Ａ）は、前記複数の画像単位（６１０）の第１の部分にある画像単位（６１０）毎に、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの１つの量子化アルファ値と関連付けられるアルファインデックスを備え、前記複数の画像単位（６１０）の残る第２の部分にある各画像単位（６１０）は、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの１つの所定の量子化アルファ値と関連付けられる請求項１７から２２のいずれか１項に記載のシステム。
【請求項２４】
−画像を、各々が複数の画像単位（６１０）を備える複数の画像ブロック（６００）に分解する画像分解（２１２）と；
−請求項１７から２３のいずれか１項に記載の少なくとも１つの画像ブロック圧縮システム（３００）とを具備する画像符号化システム。
【請求項２５】
複数の画像単位（６１０）からなる画像ブロック（６００）の圧縮画像ブロック表現（７００）であり、色コードワード（７２０）、アルファコードワード（７４０）、強度コードワード（７３０）及び画像単位関連インデックスのインデックスシーケンス（７５０）を備える圧縮画像ブロック表現（７００）を処理するシステム（４００）であって、
−前記強度コードワード（７３０）に基づいて、複数の強度変更子から成るセットを提供する手段（４２０）と；
−前記色コードワード（７２０）に基づいて、前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）に対して、色表現を生成する色発生器（４２０）と；
−前記少なくとも１つの画像単位（６１０）に対して、前記インデックスシーケンス（７５０）に基づいて、前記強度変更子セットから１つの強度変更子を選択する変更子選択器（４４０）と；
−前記選択された強度変更子に基づいて、前記少なくとも１つの画像単位（６１０）の強度を変更する強度変更器（４５０）と；
−前記アルファコードワード（７４０）に基づいて、少なくとも１つのアルファ値を生成するアルファ発生器（４６０）と；
−前記アルファコードワード（７４０）に基づいて、伸張モード信号を発生する手段（４１０）と；
−アルファ割当器（４７０）とを具備し、
前記伸張モード信号が第１の伸張モードを表す場合、
−前記割当器（４７０）は、前記アルファコードワード（７４０）に基づいて生成された複数のアルファ値から１つのアルファ値を選択し、前記選択されたアルファ値を前記少なくとも１つの画像単位（６１０）に割り当てるように動作され、
前記伸張モード信号が第２の伸張モードを表す場合には、
−前記割当器（４７０）は、前記少なくとも１つのアルファ値を前記少なくとも１つの画像単位（６１０）に割り当てるように動作されるシステム。
【請求項２６】
前記発生する手段（４１０）は、前記アルファコードワード（７４０）により表される複数の量子化アルファ値（７４０Ａ、７４０Ｂ）のうちの少なくとも１つの量子化アルファ値（７４０Ａ）の値に基づいて、前記伸張モード信号を発生する請求項２５記載のシステム。
【請求項２７】
前記発生する手段（４１０）は、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が異なる場合、第１の伸張モード信号を発生し、前記複数の量子化アルファ値（７４０Ａ、７４０Ｂ）が等しい場合には、第２の伸張モード信号を発生する請求項２６記載のシステム。
【請求項２８】
前記セットを提供する手段（４２０）は、前記伸張モード信号に応答して前記セットを提供するように構成される請求項２５から２７のいずれか１項に記載のシステム。
【請求項２９】
前記第１の伸張モードにあるとき、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）のサブセット毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える第１のインデックスサブシーケンス（７５０Ｂ）と、前記複数の画像単位（６１０）の少なくとも一部にある画像単位（６１０）毎に、前記複数のアルファ値からの１つのアルファ値と関連付けられるアルファインデックスを備える第２のインデックスサブシーケンス（７５０Ａ）とを備え、前記第２の伸張モードにあるときには、前記インデックスシーケンス（７５０）は、前記画像ブロック（６００）中の画像単位（６１０）毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備える請求項２５から２８のいずれか１項に記載のシステム。
【請求項３０】
前記第２のインデックスサブシーケンス（７５０Ａ）は、前記複数の画像単位（６１０）の第１の部分にある画像単位（６１０）毎に、前記複数のアルファ値からの１つのアルファ値と関連付けられるアルファインデックスを備え、前記複数の画像単位（６１０）の残る第２の部分にある各画像単位（６１０）は、前記複数のアルファ値からの１つの所定のアルファ値と関連付けられる請求項２９記載のシステム。
【請求項３１】
前記割当器（４７０）は、前記伸張モード信号が前記第１の伸張モードを表す場合、前記少なくとも１つの画像単位（６１０）が前記複数の画像単位の前記第１の部分に属するならば、前記インデックスシーケンス（７５０）に基づいて、前記複数のアルファ値から前記アルファ値を選択し、前記少なくとも１つの画像単位（６１０）が前記複数の画像単位（６１０）の前記残る第２の部分に属するならば、前記事前定義済みアルファ値を選択するように構成される請求項３０記載のシステム。
【請求項３２】
各々が複数の画像単位（６１０）からなる画像ブロック（６００）の圧縮画像ブロック表現（７００）であり、色コードワード（７２０）、アルファコードワード（７４０）、強度コードワード（７３０）及び画像単位関連インデックスのインデックスシーケンス（７５０）を備える圧縮画像ブロック表現（７００）を複数備える符号化画像を復号するシステム（２２０）であって、
−少なくとも１つの圧縮画像ブロック表現（７００）に対して、少なくとも１つの伸張画像単位表現（６１０）を判定する請求項２５から３１のいずれか１項に記載の少なくとも１つのシステム（４００）と；
−画像を生成するために、前記少なくとも１つの伸張画像単位表現（６１０）を処理する手段（２２６）とを具備するシステム。
【請求項３３】
請求項１７から３２のいずれか１項に記載のシステム（２１０；２２０；３００；４００）を具備する画像処理端末。
【請求項３４】
複数の画像単位（６１０）からなる画像ブロック（６００）の信号表現（７００）であって、
−前記複数の画像単位（６１０）の色の表現である色コードワード（７２０）と；
−前記画像ブロック（６００）中の前記画像単位（６１０）の強度を変更するための複数の強度変更子から成るセットの表現である強度コードワード（７３０）と；
−前記複数の画像単位（６１０）の少なくとも１つのアルファ値の表現である複数の量子化アルファ値（７４０Ａ、７４０Ｂ）を備えるアルファコードワード（７４０）と；
−前記画像ブロック（６００）中の少なくとも１つの画像単位（６１０）を有するサブセット毎に、前記強度変更子セットの１つの強度変更子と関連付けられる強度インデックスを備えるインデックスシーケンス（７５０）とを具備する信号表現。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、画像処理に関し、特に、画像を符号化及び復号する方法及びシステムに関する。
【背景技術】
【０００２】
近年、データ処理システム、及びコンピュータ、特に移動端末等のユーザ端末において画像及び図形を提示し、レンダリングすることが極めて多くなってきている。例えば、３次元（３Ｄ）図形及び３Ｄ画像は、そのような端末において、ゲーム、３Ｄマップ及びメッセージ通信、スクリーンセーバ及びマン・マシンインタフェースを含む多数の魅力的なアプリケーションを有する。
【０００３】
３Ｄ図形レンダリング処理は、通常、３つの部分段階を含む。簡単に言うと、第１の段階であるアプリケーション段階では、いくつかの三角形を作成する。それらの三角形の角は、第２の段階であるジオメトリ段階で、変換され、投影され、照明される。第３の段階であるラスター化段階においては、多くの場合にテクスチャと呼ばれる画像を三角形の上に「貼り付け」ることができる。それにより、レンダリングされる画像の現実感が増す。第３の段階は、通常、ｚバッファを使用してソーティングを更に実行する。
【０００４】
しかし、画像及びテクスチャ、特に３Ｄ画像及び３Ｄ図形のレンダリングは、グラフィックシステムに要求されるメモリ帯域幅及び処理能力に関して、計算のコストがかかるタスクである。例えば、テクスチャは、高速オンチップメモリに格納又はキャッシュされなければならないために、高価なメモリを使用する必要があり、単一の画素を描画するために１つのテクスチャに数回アクセスすることもあるので、メモリ帯域幅に関しても経済的負担が大きい。
【０００５】
帯域幅及び処理能力に対する要求を軽減するために、通常、画像（テクスチャ）符号化方法又はシステムが採用される。そのような符号化システムにより、レンダリング中に、高価なオンチップメモリをより効率的に使用でき、メモリ帯域幅が縮小される。従って、消費電力が減少するか、レンダリング速度が増加するかの少なくともいずれかの結果がもたらされる。帯域幅及び処理能力に対する要求がそのように軽減されることは、メモリの量が少なく、メモリ帯域幅が狭く、（バッテリにより電力が供給されるため）電力が制限された移動ユニット及び移動電話等のシンクライアント（thin client）にとって特に重要である。
【０００６】
一般に、テクスチャ圧縮及び伸張システムは、画像を効率的かつ正確に圧縮及び伸張するのに加え、アルファ成分を管理する機能を有することが望まれる。そのようなアルファ成分は、テクスチャの透明又は半透明の画素又はテクセルを表すために使用され、それは、広範にわたるアプリケーションで使用される。
【０００７】
特許文献１には、Iourcha他により、Ｓ３ＴＣ（S3 Texture Compression）又はＤＸＴＣ（DirectX Texture Compression）と呼ばれるテクスチャ圧縮方式が開示されている。画像は、４画素×４画素の複数の画像ブロックに分解される。そのような各画像ブロックは、６４ビットのビットシーケンスに符号化され、その結果、圧縮率は４ｂｐｐ（ビット／画素）となる。６４ビットシーケンスは、２つの基本色又は色コードワード（それぞれ１６ビット）と、画像ブロック中の画素毎に１つのインデックスを含む２ビットインデックスの３２ビットシーケンスとを含む。復号中、４色のカラーパレットが生成される。パレットの最初の２つのＲＧＢ（赤、緑及び青）色は、２つの基本色（コードワード）に対応する。次に、ＲＧＢ空間の基本色の間に位置する２つの追加色が、それらの基本色から補間される。各２ビットインデックスは、画素に対して使用するパレットの４つの色のうちの１つを画素毎に識別する。
【０００８】
Ｓ３ＴＣ方式は、コンピュータ端末に対して非常に適切に機能するが、移動ユニット及び他のシンクライアントには十分に適応しない。通常、そのような移動ユニットは、せいぜい１６ビット又は３２ビットのメモリバスを有するにすぎない。従って、移動ユニットにおいてＳ３ＴＣが実現される場合、１つの画像ブロックの６４ビット圧縮バージョンを読み出すために、少なくとも２回、最高４回のメモリアクセスが要求される。更に、カラーパレットの２つの追加色の補間中に、１／３及び２／３を乗算する演算が実行されるが、これはハードウェアにおいては理想的ではない。また、Ｓ３ＴＣを使用する圧縮は、少なくとも移動端末では比較的に長い時間を必要とする。
【特許文献１】米国特許第５，９５６，４３１号明細書
【非特許文献１】Y. Linde、A. Buzo及びR. Gray「ベクトル量子化デザインのためのアルゴリズム（An Algorithm for vector quantizer design）」IEEE Transactions on Communications、 Vol. 28、８４〜９４ページ、１９８０年１月
【発明の開示】
【発明が解決しようとする課題】
【０００９】
Ｓ３ＴＣ方式は、アルファテクスチャを特別なものとして処理する。いわゆるパンチスルーアルファ（punch-through alpha）を許可するために、ビットは異なる方法で変換される。アルファ機構のこの単純なバージョンは、完全に不透明又は透明である各画素を表す。Ｓ３ＴＣがより正確なアルファに対処できないということは、システムの主な欠点のうちの１つである。
【課題を解決するための手段】
【００１０】
本発明は、従来の構成のそれらの欠点及び他の欠点を克服する。
【００１１】
本発明の一般的な目的は、効率的な画像処理を提供することである。
【００１２】
本発明の別の目的は、効率的な画像符号化及び画像復号を提供することである。
【００１３】
本発明の更に別の目的は、メモリ容量及びメモリ帯域幅が少ないシンクライアントでの使用に適した画像符号化及び画像復号を提供することである。
【００１４】
本発明の別の目的は、透明の画像単位と半透明の画像単位との少なくともいずれかを含むアルファ画像に適した画像符号化及び画像復号を提供することである。
【００１５】
これらの目的及び他の目的は、添付の特許請求の範囲により示されるような発明により達成される。
【００１６】
簡単に言えば、本発明は、アルファ画像を符号化（圧縮）し、符号化（圧縮）画像を復号（伸張）する形態をとるアルファ画像処理を含む。
【００１７】
本発明によると、符号化されるアルファ画像は、複数の画像単位（image element（画像要素）：画素、テクスチャ要素、テクセル又は体素(volume element)、ボクセル）から構成される複数の画像ブロックに分解される。１つの画像ブロックは、８つの画像単位を含むのが好ましく、ｍ＝３−ｎ及びｎ＝０，１，２，３である場合に２ｍ×２ｎの画像単位のサイズを有するか、あるいはｍ，ｎ，ｐ＝０，１，２，３及び好ましくはｍ＋ｎ＋ｐ＝３である場合に２ｍ×２ｎ×２ｐのサイズを有するのが好ましい。ブロック中の各画像単位は、２４ビットＲＧＢ（赤、緑、青）色等の１つの色、及び８ビットアルファ値等のアルファ値又は透明度値により特徴付けられる。次に、個々の画像ブロックが符号化される。
【００１８】
この非可逆ブロック圧縮において、ブロック中の画像単位のプロパティを表す複数のコードワードが判定される。更に、ブロックに対して、画像単位関連インデックスのインデックスシーケンスが提供される。このシーケンスは、ブロック中の画像単位の少なくとも１つのサブセットに対して、コードワードのうちの１つと関連付けられるインデックス又はコードワードのうちの１つに基づいて生成されるプロパティ表現を含む。
【００１９】
本発明のブロック圧縮は、２つの異なるアルファ圧縮モードのうちの一方に従って実行される。２つの異なる圧縮モードを使用することにより、アルファ画像中の個々の画像ブロックのプロパティに更によく適応できるようになるため、符号化方法の柔軟性が向上する。ブロック毎に２つの異なる圧縮モードの一方を選択できるので、単一の（固定された）アルファ符号化を伴う従来のアルファ適応符号化方式と比較して、処理される画像の画質は改善される。本発明の第１の圧縮モードは、高いアルファ解像度を提供する。このモードは、アルファ値が様々に変化するような画像単位を有する画像ブロックを圧縮するのに特に適している。第２の圧縮モードは、第１のモードよりよく輝度（強度）成分を保存する高輝度解像度モードであるが、アルファ解像度が低下するという欠点はある。
【００２０】
本発明の２つの圧縮モードにより、色コードワード、輝度（強度）コードワード、アルファコードワード及びインデックスシーケンスを含む画像ブロックの圧縮表現が得られる。
【００２１】
アルファコードワードは、ブロック中の画像単位の少なくとも１つのアルファ値の表現である複数の量子化アルファ値を含む。現在の画像ブロックに対して使用する圧縮モードを実際にどのように選択するかは、このアルファコードワードに基づいて、好ましくは、アルファコードワードの複数の量子化アルファ値の比較に基づくなど、アルファコードワードの量子化アルファ値のうちの少なくとも１つに基づいて決定される。本発明の一実施形態において、複数の量子化アルファ値が異なる場合、第１の圧縮モードが選択され、全ての量子化アルファ値が等しい場合には、第２の圧縮モードが使用される。別の実施形態では、量子化アルファ値の１つは、アルファ符号化とモード表現を組み合わせた機能を有する。そのような場合、この量子化アルファ値は、動作モードを判定するために使用される。
【００２２】
色コードワードは、画像ブロック中の画像単位の色の表現である。これに対応して、輝度コードワードは、ブロック中の画像単位の輝度を変更するための複数の輝度変更子から成るセットの表現である。輝度コードワードは、複数の輝度変更子セットを含む輝度テーブルに対するインデックス又はポインタであるのが好ましい。そのような場合、輝度コードワードは、それらの複数の変更子セットのうちの１つと関連付けられる。輝度テーブルは、２つの圧縮モードに共通する変更子値を含んでもよい。あるいは、モード適応輝度変更子値を含むモード別輝度テーブルが採用される。
【００２３】
第１の圧縮モードにおいて、インデックスシーケンスは、アルファインデックスサブシーケンス及び輝度インデックスサブシーケンスを含む。アルファインデックスサブシーケンスは、ブロック中の画像単位の少なくとも一部にある画像単位毎に、アルファコードワードの複数の量子化アルファ値からの１つの量子化アルファ値と関連付けられるアルファインデックスを含む。本発明の好適な一実施形態においては、このアルファインデックスサブシーケンスは、ブロック中の画像単位の第１の部分にある画像単位毎に、複数の量子化アルファ値のうちの１つと関連付けられるアルファインデックスを含む。ブロック中の画像単位の残る第２の部分にある各画像単位は、複数の量子化アルファ値からの１つの事前定義済み量子化アルファ値と関連付けられる。従って、第２の部分の画像単位に対しては、アルファインデックスは不要である。
【００２４】
輝度インデックスサブシーケンスは、少なくとも１つの画像単位から成るサブセット毎に、輝度コードワードと関連付けられる輝度変更子セットの１つの輝度変更子と関連付けられる輝度インデックスを含む。この圧縮モードの第１の実施形態において、ブロック中の１対の（隣接する）画像単位は、同一の輝度インデックスを共有する。従って、８つの画像単位を有する画像ブロックに対して、輝度インデックスサブシーケンスは、４つの輝度インデックスを含むことになる。この圧縮モードの第２の実施形態では、各画像単位は、独自の輝度インデックスを有する。しかし、その場合、輝度インデックスは、輝度変更子セットのサブセットの１つの輝度変更子、又は対毎の関連インデックスと関連して使用される変更子セットと比較して少ない数の変更子値を含む変更子セットの１つの輝度変更子と関連付けられるのが好ましい。
【００２５】
第２の圧縮モードにおいては、インデックスシーケンスは、画像ブロック中の画像単位毎に、輝度変更子セットの１つの輝度変更子と関連付けられる輝度インデックスを含む。
【００２６】
第２の圧縮モードでは、ブロック中の画像単位に対して、アルファインデックスを利用できない。従って、ブロックの全ての画像単位は、同一のアルファ値と関連付けられる。これは、各画像単位が１つのアルファ値と関連付けられる第１の圧縮モードとは対照的である。
【００２７】
本発明の好適な一実施形態において、画像ブロックの圧縮表現は、採用される圧縮モードとは関係なく、３２ビットシーケンスである。この圧縮画像ブロックは、９ビット色コードワードと、３ビット輝度コードワードと、４ビットアルファコードワードと、第１の圧縮モードにおける１５ビットインデックスシーケンス又は１６ビットインデックスシーケンス（それらのビットのうちの１ビットは、第２の圧縮モードにおいて、アルファコードワードにより共有される）と、画像ブロックがアルファ画像ブロックであることを示す１ビットモードインデックスとを含むのが好ましい。
【００２８】
復号中、伸張されるべき圧縮画像ブロックは、識別され、例えば、記憶場所から取り出される。正確な圧縮画像ブロックが識別されると、アルファコードワードに基づいて、そのブロックに対して使用する伸張モードが判定される。
【００２９】
その後、画像ブロックの画像単位のうち少なくとも１つに対して、色表現が生成される。この色の生成は、圧縮ブロック表現中の色コードワードに基づいて実行される。輝度コードワードを使用して、好ましくは、輝度テーブルから輝度変更子セットを識別することにより、輝度変更子セットが提供される。次に、復号されるべき画像単位と関連付けられ且つ輝度インデックスシーケンスの中で発見される輝度インデックスに基づいて、復号されるべき画像単位に対して使用する輝度変更子が、提供された変更子セットから選択される。正確な輝度変更子値が選択されると、画像単位の輝度は、この値によって変更される。
【００３０】
第１のモードにおいて、アルファインデックス又は事前定義済み関連付けを使用して、正確な量子化アルファ値が識別される。第２のモードにおいては、全ての量子化アルファ値が等しいため、アルファ値の選択は不要である。識別された量子化アルファ値に基づいて、アルファ値が画像単位に対して生成される。
【００３１】
符号化画像ブロックのサイズが小さい（３２ビット）ため、本発明は、メモリ容量及びメモリ帯域幅が限定されたシンクライアントに最適である。加えて、符号化の速度が非常に速いので、クロック周波数の低い端末においても、符号化を実行できる。更に、例えば、少数の規格コンポーネントを使用するハードウェアにおいて、復号を極めて単純に実現できる。
【００３２】
本発明は、次のような利点を提供する。
【００３３】
−異なるアルファ画像ブロックに適応する可能な２つの圧縮動作モード及び２つの伸張動作モードに対して、柔軟性を持ってアクセスできるため、アルファ画像に高い品質（ピーク信号／雑音比）を与える；
−復号のハードウェアによる実現が、極めて簡単である；
−非アルファ画像ブロック及び非アルファ画像をも管理するために、符号器及び復号器を容易に拡張できる；
−符号化が非常に高速であり、その結果、クロック周波数の低い端末でも実現可能である；
−コンピュータにおいて実現可能な速度で、網羅的な（exhaustive、全数）符号化が可能である；
−符号化画像データは、メモリ容量及びメモリ帯域幅が限定されたシンクライアントに適したサイズを有する。
【００３４】
本発明により提供される他の利点は、以下の本発明の実施形態の説明を読むことにより理解されるであろう。
【発明を実施するための最良の形態】
【００３５】
本発明は、本発明の更なる目的及び利点を含めて、添付の図面と共に以下の説明を参照することにより最もよく理解されるであろう。
【００３６】
図中、同一の図中符号は、対応する要素又は類似する要素に対して使用される。
【００３７】
本発明は、画像及び図形の処理に関し、特に、アルファ画像の符号化又は圧縮、及び符号化（圧縮）アルファ画像の復号又は伸張に関する。
【００３８】
一般に、本発明によると、画像符号化中、画像は多数の画像ブロックに分解又は分割される。そのような各画像ブロックは、複数の画像単位、すなわち少なくとも２つの画像単位を含む。画像単位は、特に、ある特定の色及び関連するアルファ値又は透明度値等の画像単位関連プロパティを有する。その後、画像ブロックは符号化又は圧縮され、画像の符号化表現を生成する。
【００３９】
符号化画像が画面上に表示される時、又は符号化画像に関連する形状プリミティブがレンダリングされる時、符号化画像ブロックの関連する画像単位は識別及び復号される。それらの復号画像単位は、表示するために元の画像の復号表現を生成するのに使用されるか、又は形状プリミティブをレンダリングするのに使用される。
【００４０】
本発明は、写真、テキスト及び「合成」画像等の３次元（３Ｄ）図形及び画像に対する使用に非常に適している。それら３Ｄ図形及び画像の全てが、ゲーム、３Ｄマップ、３Ｄシーン、３Ｄメッセージ、例えば動画メッセージ、スクリーンセーバ、マンマシンインタフェース（ＭＭＩ）等のアプリケーションで使用できるが、これらに限定されない。本発明は、１次元（１Ｄ）画像、２次元（２Ｄ）画像又は３Ｄ画像等の他の種類の画像又は図形の符号化に対しても採用できる。
【００４１】
本発明において、「画像単位」という表現は、画像ブロック中の要素又は画像ブロックの符号化（圧縮）表現を示す。この画像ブロックは、画像又はテクスチャの一部に対応する。本発明によると、画像単位は、（１Ｄ、２Ｄ又は３Ｄ）テクスチャの１つのテクセル又は（１Ｄ、２Ｄ又は３Ｄ）画像の１つの画素であってもよい。それに対応して、画像単位は、３Ｄテクスチャ又は画像の１つのボクセルであってもよい。一般に、画像単位は、色値及びアルファ値又は透明度値等の特定の画像単位関連プロパティにより特徴付けられる。更に以下において、用語「画像」は、本発明により符号化及び復号される任意の１Ｄ、２Ｄ又は３Ｄ画像、あるいは１Ｄ、２Ｄ又は３Ｄテクスチャを示すために使用される。
【００４２】
画像処理の技術において、アルファ値は、画像単位の透明度プロパティを表現するために使用される。一般に、アルファ値は、0≦alpha_value≦1且つ0≦透明度≦1である場合、alpha_value=1−透明度 で定義される。アルファ値１は、この定義において、不透明（透明度が０）に対応し、アルファ値０は、完全透明（透明度が１）を表す。アルファ値のこの定義は、この技術において最も一般的なものであるが、本発明はそれに限定されない。実際には、本発明によると、画像単位のアルファ値は、採用したアルファ値と透明度との関係に依存し、画像単位の任意の透明度プロパティを表すことができる。
【００４３】
一般に、画像の画像単位のアルファ値は、完全透明を通常表す０又は０．０等の最小アルファ値から不透明を通常表す２５５又は１．０等の最大アルファ値までの間の値をとる。これらの範囲のアルファ値は半透明を表す。画像が上記最大値等の不透明を表す事前定義済みの値とは異なる関連するアルファ値を有する画像単位を少なくとも１つ含む場合、通常、画像はいわゆる「アルファ画像」と規定される。いくつかのアプリケーションにおいて、画像の少なくとも最小限の数の画像単位が事前定義済み不透明度値とは異なるアルファ値を有する場合、画像はアルファ画像に分類される。これらの実現例において、２１３〜２５５又は０．８４〜１．０等の不透明度を表す複数の値の事前定義済み区間は、単一の事前定義済み不透明度値の代わりに使用される。そのような場合、少なくとも１つの画像単位又は最小限の量の画像単位のアルファ値が不透明度の区間内にない場合、画像はアルファ画像に分類される。区間内にある場合、画像は、いわゆる非アルファ画像又はアルファなし画像である。
【００４４】
従って、画像ブロックに含まれる画像単位のうち少なくとも１つの画像単位又は最小限の量の画像単位が、事前定義済み不透明度値とは異なるアルファ値を有する場合、又は不透明度の区間内にない場合、画像ブロックは、通常「アルファ画像ブロック」に分類される。非アルファブロック又はアルファなしブロックは、不透明度値と等しいアルファ値又は不透明度の区間内にあるアルファ値を有する画像単位を含む。
【００４５】
本発明によると、「アルファ画像」の画像単位は、アルファ値に加えて関連する色値も有すると考えられる。本発明のアルファ画像は、いわゆるＲＧＢＡ画像であってもよい。尚、本発明によるアルファ画像は、アルファ画像ブロックのみを含んでもよく、又はアルファ画像ブロックと非アルファ画像ブロックとの組合せを含んでもよい。
【００４６】
（画像符号化）
図１は、本発明に従ってアルファ画像を符号化する（非可逆）方法の一実施形態を示すフローチャートである。第１のステップＳ０において、画像は、多数の画像ブロックに分解又は分割される。そのような各画像ブロックは、複数の画像単位を含む。本発明の好適な一実施形態において、画像ブロックは、８つの画像単位（画素又はテクセル）を含み、ｍ＝３−ｎ及びｎ＝０，１，２，３である場合に２ｍ×２ｎの画像単位のサイズを有する。ｎは１又は２であるのが更に好ましい。図２Ａ及び図２Ｂは、本発明に従って８つの画像単位６１０を有する画像ブロック６００の２つの例を概略的に示す。図２Ａにおいて、高さは２つの画像単位６１０であり、幅は４つの画像単位６１０である。すなわち、ｍ＝１及びｎ＝２である。これに対し、図２Ｂの画像ブロック６００の場合は、ｍ＝２及びｎ＝１である。従って、３Ｄ画像を圧縮する時、好適な画像ブロックのサイズは、２×２×２の画像単位（ボクセル）である。しかし、本発明は８つの画像単位を有するブロックに限定されず、７つ以下又は９つ以上の画像単位、例えば４×４の画像単位を有する画像ブロックと関連して使用することもできる。
【００４７】
図１に戻ると、画像ブロック全体は、ステップＳ０において（オーバラップしない）画像ブロックに分解されるのが好ましい。しかし、いくつかのアプリケーションにおいて、画像の一部のみが符号化され、その後、その部分のみが画像ブロックに分解される。
【００４８】
ステップＳ１において、アルファコードワードは、現在の画像ブロックに対して判定される。このアルファコードワードは、ブロック中の画像単位の少なくとも１つのアルファ値を表す複数の量子化アルファ値を含む。次のステップＳ２において、画像ブロックに対して使用するアルファブロック圧縮又は符号化モードは、判定されたアルファコードワードに基づいて、好ましくはコードワードの量子化アルファ値のうちの少なくとも１つに基づいて選択される。このモード選択の第１の実現例において、ステップＳ２は、量子化アルファ値の比較に基づいて実行される。量子化アルファ値が異なる場合、ここではＰＡＡ（Packman-Alpha-Alpha）モードで示される第１のアルファブロック圧縮モードがそのブロックに対して選択される。これに対して、量子化アルファ値が等しい場合、ここではＰＡＴ（Packman-Alpha-Twotimer）モードで示される第２のアルファブロック圧縮モードが使用されるべきである。このモード選択の第２の実現例において、量子化アルファ値のうちの１つは、アルファ符号化及びモード表現を組み合わせた機能性を有する。そのような場合、モード関連量子化アルファ値の実際のビットパターンは、使用する圧縮モードを知らせる。例えば、このモード関連量子化アルファ値が00bin、01bin又は10binである場合、ＰＡＡ圧縮モードが使用されるべきであり、それ以外（11bin）の場合、ＰＡＴモードが使用される。
【００４９】
しかし、双方の圧縮モードの結果、アルファコードワードに加え、色コードワード、輝度コードワード及びインデックスシーケンスを含む圧縮画像ブロック表現を得るのが好ましい。更に、得られた２つの異なる符号化ブロックのビットサイズが、ビット数に関して等しいのが好ましい。
【００５０】
ＰＡＡ圧縮モードにおいて、異なるアルファ値が、アルファコードワード及びインデックスシーケンスに基づいてブロック中の画像単位に割り当てられる。これに対して、ＰＡＡ圧縮モードに対する相補モード又は補助モードと考えられるＰＡＴモードでは、単一のアルファ値が、アルファコードワードに基づいてブロック中の全ての画像単位に割り当てられる。しかし、ＰＡＴ圧縮モードは、画像単位に対するより高い輝度解像度でこのより低いアルファ解像度を補償する。その結果、ＰＡＡ圧縮モードは、異なるアルファ値の画像単位を有する画像ブロックを圧縮するのに特に適する。ＰＡＴ圧縮モードは、同様のアルファ値を有する画像ブロックに対して採用されるのが好ましく、ＰＡＡモードより優れたブロックの輝度成分を保持する（しかし、アルファ解像度は低下する）。
【００５１】
ＰＡＡモード、すなわち第１のアルファブロック圧縮モードについて最初に説明する。ステップＳ３において、色コードワードが画像ブロックに対して判定される。この色コードワードは、画像ブロック中の画像単位の色の表現である。好適な一実施形態において、色コードワードは、ブロックの画像単位の平均色の表現である。色は、ＲＧＢ（赤、緑、青）色、ＹＵＶ空間又はＲＣｒＣｂ空間の色、あるいは画像及び図形の処理及び管理において使用される他の任意の色空間の色であってもよい。色コードワードは、元の画像と同一の色フォーマット（空間）にあるのが好ましい。しかし、場合によっては、画像を異なる色フォーマットに変換すること、すなわち第１の色空間にある色コードワード及び第２の異なる色空間にある元の画像を有することが有用である。色コードワードは、９ビット色表現シーケンスであるのが好ましい。例えば、ＲＧＢ色コードワードは、赤色成分に対する３ビット、緑色成分に対する３ビット及び青色成分に対する３ビットを含む。
【００５２】
その後、ステップＳ４において、輝度コードワードが提供される。この輝度コードワードは、画像ブロック中の画像単位の輝度を変更するのに使用される（復号中に）複数の輝度変更子のセットの表現である。
【００５３】
本発明の好適な一実施形態において、輝度コードワードは、輝度変更子セットの識別を可能にするインデックス又は表現である。このインデックスは、いくつかの異なる輝度変更子セットを含む輝度テーブル又はコードブックのセットを識別又は指示できる。各セットは、２つ以上の輝度変更子値、好ましくは、少なくとも４つの変更子値を含む。好適な一実施形態において、セットの変更子値は数学的相補値である。すなわち、各セットは対称であるのが好ましい。
【００５４】
輝度テーブルは、徐々に変化する表面の表現を可能にするのに適した小さな輝度変更子値を含むセットを含むのが好ましい。更に、テーブルは、鮮鋭なエッジの表現を可能にするのに適した大きな輝度変更子値を含むセットを含むのが好ましい。
【００５５】
テーブル中のセットの実際の輝度変更子値は、ランダム値で開始し、当業者には周知のＬＢＧアルゴリズム（Linde、Buzo及びGray）（非特許文献１）、アニーリング法及び座標検索のバージョン等の種々の最適化方式及び最適化アルゴリズムを使用してそれらの値を最適化することにより見付けられる。異なる種類の少数の画像は、トレーニングデータとして使用される。それら画像は、場合によっては、アルファ画像のみを含むか、あるいはアルファ画像及び非アルファ画像の双方を含む。
【００５６】
より安価に輝度テーブルのハードウェアを実現するために、上述したように、セットの輝度変更子を対称にし、且つ／又は特定のセットの輝度変更子を、例えば２の係数により変更された別のセットの輝度変更子のコピーとしてもよい。
【００５７】
表１は、各セットに４つの識別子値を有する輝度変更子の８つのセットを含む輝度テーブルの一例を示す。
【００５８】
【表１】
2007520103.tif 000003
【００５９】
表１において、輝度変更子セット５〜８は、セット１〜４のコピーに係数２を乗算したものである。
【００６０】
輝度テーブルが最大８つの輝度変更子セットを含む場合、輝度コードワードは、テーブルの（８つの）セットのうちの１つ、例えばコードワード001binに対しては[-32, -9, 9, 32]を識別する３ビットインデックス（000bin〜111bin）であるのが好ましい。セット中の変更子値を慎重に選択するため、表１全体は、８つの変更子値のみを使用して再構成され、残りの２４個の値はそこから計算される。
【００６１】
本発明は、表１の使用に限定されず、他の輝度変更子セット及び値を有する他のテーブルを使用してもよい。更に、テーブル中のセットが９つ以上又は７つ以下である場合、輝度コードワードのサイズを変更する必要がある場合がある。例えば、テーブルが２つ（３〜４又は９つ以上）の輝度変更子セットを含む場合、輝度コードワードのサイズは、１ビット（２ビット又は４ビット（あるいはそれ以上））に限定される。更に、１セット当たりの輝度変更子値の数は４つ以外であってもよい。例えば、セット毎に５つの値が使用されてもよく、[-32, -9, 0, 9, 32]が例として与えられる。
【００６２】
上述したように、テーブル中のセットの輝度値は、いくつかの異なる種類の画像をトレーニングデータとして使用して判定される。しかし、特定の画像の種類のみが符号化される場合、その画像の種類に対応するトレーニングデータを使用して、すなわち特定の画像の種類に専用の輝度テーブルを提供することにより、変更子値は判定される。また、特定の画像に適応された輝度変更子値を含む輝度テーブルを有することも可能である。このような場合、すなわち画像又は画像の種類に専用のテーブルの場合、符号化画像ブロックの圧縮ファイルにテーブルの輝度変更子値を含むか、又は変更子値を圧縮ファイルと関連付ける必要があるだろう。
【００６３】
尚、２つの異なるアルファブロック圧縮モードが本発明に従って採用されるため、単一の輝度テーブルが双方のモードに対して採用される。しかし、特定の実現例において、ＰＡＡモードに従って圧縮されたアルファ画像及びブロックに適応された第１の輝度テーブルと、ＰＡＴモードに従って圧縮された画像及びブロックに対する第２の異なる輝度テーブルとを構成し且つ使用するのが更に好都合である。同様に、共通の輝度テーブルが、アルファ画像及び非アルファ画像の双方に対して使用されてもよい。殆どのアプリケーションにおいて、非アルファ画像を圧縮する時は「非アルファ」輝度テーブルを使用し、アルファ画像を圧縮する時は１つ以上の異なる専用の「アルファ」輝度テーブルを使用するのが更に好都合であろう。これについては、以下に更に説明する。
【００６４】
また、輝度コードワードは、テーブル中の輝度変更子セットに対するポインタである必要はなく、実際には、輝度変更子セット自体であってもよい。例えば、９及び３２等の２つの変更子値を含み、この場合、−９及び−３２等の他の変更子値は、それら２つの値から判定される。あるいは、aが０又は正の整数であり、k、k1及びk2が乗算係数である場合、採用された輝度変更子セットは、[-ka, -a, a, ka]又は[-k2a, -k1a, k1a, k2a]であってもよい。この時、輝度コードワードは値aのみを含む必要があり、k又はk1及びk2が事前定義済み乗算係数である場合、残る全ての３つの値は値aから計算される。
【００６５】
ステップＳ４において輝度コードワードが提供されると、次のステップＳ５では、画像ブロック中の画像単位に対する輝度インデックス又は輝度表現を選択する。そのような各輝度インデックスは、ステップＳ４で提供された輝度変更子セットの１つの輝度変更子値と関連付けられる。換言すると、輝度インデックスは、ブロックの少なくとも１つの画像単位の特定のサブセットに対して使用するセットの輝度変更子の識別を可能にする。
【００６６】
−３２、−９、９、３２等の４つの変更子値を含む輝度変更子セットの場合、輝度インデックスは、それら４つの値のうち１つの値を識別する２ビットシーケンスであってもよい。
【００６７】
ＰＡＡ圧縮モードの一実施形態において、輝度インデックスは、ブロック中の複数の画像単位、好ましくは２つの画像単位、更に好ましくは２つの隣接する画像単位のサブセットに関連付けられ、割り当てられる。図２Ａ及び図２Ｂに戻ると、そのような２つの隣接する画像単位のサブセットは、図２Ａ又は図２Ｂの画像単位６１０Ａ及び６１０Ｂ、あるいは図２Ａ又は図２Ｂの画像単位６１０Ａ及び６１０Ｃにより表される。これは、各画像単位が独自の輝度インデックスに関連付けられる場合と比較して、輝度解像度が半分になることを示す。
【００６８】
ＰＡＡ圧縮モードの別の実施形態において、ブロック中の各画像単位は、独自の輝度インデックス、好ましくは１ビットの輝度インデックスと関連付けられる。その結果、圧縮ブロックのサイズが変化しない場合、輝度変更子セットの輝度変更子のサブセット、好ましくは２つの輝度変更子のみが、各画像単位に対してインデックス化される。変更子セットが、例えば−３２、−９、９、３２等の４つの異なる変更子値を含む場合、変更子のサブセットは、最小変更子及び最大変更子、すなわち−３２及び３２を含むことができる。あるいは、サブセットが値−９又は９、あるいはセットの好ましくは２つの変更子値の他の任意の組合せを含んでもよい。ＰＡＡ圧縮モードの本実施形態において、各画像単位は、それぞれの輝度インデックスと関連付けられる。しかし、通常、これはブロック中の画像単位に対して利用可能な変更子値の量を減少する。
【００６９】
本発明の別の実施形態において、上述で示された２つの実施形態が組み合わされる。そのような場合、輝度インデックスを画像単位の一対毎に割り当てるか又は画像単位に個別に割り当てるかが、ＰＡＡモードにおいてブロック単位で選択される。輝度モードインデックスは、圧縮ブロック表現に対して生成され、追加される。例えば、この輝度モードインデックスが0bin（1bin）である場合、輝度インデックスは画像単位の対に割り当てられ、セットの全ての変更子値は利用可能である。しかし、輝度モードインデックスが1bin（0bin）である場合、輝度インデックスは画像単位に対して個別に割り当てられ、セット中の変更子値のサブセットのみが利用可能である。
【００７０】
専用の輝度モードインデックスの使用に対する別の実現例において、採用される輝度テーブルは変更される。そのような場合、含まれる変更子セットの一部は、最大数の変更子値、好ましくは４つの値を含み、他の変更子セットは、最大数より少ない数の変更子値、好ましくは２つの値を含む。上記の表１は、以下の表２により置換される。
【００７１】
【表２】
2007520103.tif 000004
【００７２】
011bin又は111binの輝度コードワードは、この例においては、1binの輝度モードインデックスに対する例に対応する。すなわち、輝度インデックスは画像単位に対して個々に割り当てられ、011bin（111bin）の輝度コードワードの場合の利用可能な輝度変更子値は、−３０及び３０（−１２７及び１２７）であるが、これに限定されない。残る輝度コードワードは、各々に４つの変更子値を含む変更子セットと関連付けられ、輝度インデックスが画像単位の対に割り当てられるべきであることを知らせる。
【００７３】
表２の変更されたバージョンにおいて、変更子セット及び輝度コードワードの半分は、第１の輝度モードと関連付けられ、残りの半分は、第２の輝度モードと関連付けられる。しかし、第１の輝度モード（対毎のインデックスの割当て及び最大量の変更子値）がＰＡＡモードに従って圧縮された殆どのアルファブロックに使用されると考えられるため、表２に示されるように、第２の輝度モードと比較してより多くの輝度コードワード及び変更子セットが、第１の輝度モードと関連付けられるのが好ましい。
【００７４】
ステップＳ５は、使用される実現例に応じて、画像単位の全てのサブセットに対して、好ましくは隣接する画像単位の全ての対に対して、又は画像ブロック中の全ての画像単位に対して繰り返されるのが好ましい。これは、線Ｌ１により概略的に示される。
【００７５】
次のステップＳ６は、画像ブロック中の画像単位に対するアルファインデックス又はアルファ表現を選択する。そのような各アルファインデックスは、ステップＳ１で判定されたアルファコードワードの１つの量子化アルファ値と関連付けられる。換言すると、アルファインデックスは、ブロックの特定の画像単位に対して使用するアルファ値の識別を可能にする。ＰＡＡ圧縮モードの好適な実現例において、アルファコードワードは２つの量子化アルファ値αＡ及びαＢを含む。各アルファ値は、２ビット量子化アルファ値であるのが好ましい。その結果、各量子化アルファ値は、４つの異なるアルファ値のセットの１つのアルファ値を潜在的に表すことができる。例えば、アルファ値のセットが０、８５、１７０、２５５、又はそれに対応して０．０、０．３３３３、０．６６６７、１．０であると仮定すると、00binの量子化アルファ値は０（０．０）を表し、01binは８５（０．３３３３）を表し、10binは１７０（０．６６６７）を表し、２５５（１．０）は11binにより表される。
【００７６】
第１の実施形態において、ブロック中の各画像単位は、アルファインデックスと関連付けられる。しかし、本発明の好適な一実施形態において、圧縮ブロック表現の全体のサイズがより小さくなると、ブロック中の画像単位のサブセットは、事前定義済み量子化アルファ値（第１の量子化アルファ値αＡ及び第２の量子化アルファ値αＢから選択される）と関連付けられる。その結果、この画像単位に対してアルファインデックスの選択又は割当てを実行する必要がなくなる。例えば、第１（最後）の画像単位は、第１（又は第２）の量子化アルファ値と常に関連付けられてもよい。インデックスシーケンスは、この第１（最後）の画像単位に対してアルファ値を含む必要がない。その結果、全部で８つの画像単位を有する画像ブロックの場合、シーケンスは、アルファインデックスと関連付けられた７つの画像単位のみを含む。本発明によると、２つ以上の画像単位は、量子化アルファ値と事前に関連付けられると考えられる。尚、量子化アルファ値が好ましくは一対一でアルファ値を表すため、アルファインデックスと量子化アルファ値との関連付けは、アルファインデックスをアルファ値と関連付けることも含む。
【００７７】
ステップＳ６は、好ましくはブロック中の画像単位に対して、更に好ましくは事前定義済み量子化アルファ値の関連付けを有する画像単位を除く全ての画像単位に対して繰り返される。これは、線Ｌ２により概略的に示される。
【００７８】
ステップＳ１〜Ｓ６の圧縮の結果、圧縮画像ブロック、又は更に厳密には画像ブロックの圧縮（符号化）表現が得られる。そのような圧縮ブロック表現７００は、図３Ａに示される。表現７００は、３つの色成分Ｒ ７２０Ａ、Ｇ ７２０Ｂ及びＢ ７２０Ｃを含む色コードワード７２０と、輝度コードワード７３０と、２つの量子化アルファ値αＡ ７４０Ａ及びαＢ ７４０Ｂを含むアルファコードワード７４０と、画像単位インデックスのシーケンス又はビットマップ７５０とから構成される。このインデックスシーケンス７５０は、アルファインデックス７５０Ａを有する第１のサブシーケンス及び輝度インデックス７５０Ｂを有する第２のサブシーケンスを含むのが好ましい。更に、圧縮ブロック表現７００は、アルファブロックインデックス７１０を含むのが好ましく、画像ブロックをアルファ画像ブロックとして識別する。画像がいわゆるアルファブロックのみを含む場合、このアルファブロックインデックス７１０は省略される。
【００７９】
尚、圧縮画像ブロック７００のアルファブロックインデックス７１０、色コードワード７２０及びそれに含まれる色成分７２０Ａ〜７２０Ｃ、輝度コードワード７３０、アルファコードワード７４０及びそれに含まれる量子化アルファ値７４０Ａ〜７４０Ｂ、並びにインデックスシーケンス７５０及びそれに含まれるサブシーケンス７５０Ａ〜７５０Ｂの相互順序は、図示される順序と異なってもよい。更に、コードワード及びインデックスシーケンスは、連続して配置される必要はない。
【００８０】
画像ブロックが８つの画像単位を含み（例えば、図２Ａ及び図２Ｂを参照）、各輝度インデックスが２ビットであり、且つ輝度インデックスが画像単位の各対に対して割り当てられる場合、輝度インデックスサブシーケンス７５０Ｂのサイズは８ビットである。この８ビットの同一のサイズは、ブロック中の各画像単位と関連付けられた１ビットの輝度インデックスを使用する場合にも得られる。更に、アルファコードワード７４０の対応するサイズが４ビットであり、アルファインデックスサブシーケンス７５０Ａが８つの画像単位のうち７つの画像単位に対して１ビットのアルファインデックスを含む（画像単位のうちの１つが第１（第２）の量子化アルファ値と事前に関連付けられる）と仮定する。その結果、サブシーケンス７５０Ａに対しては７ビットとなる。色コードワード７２０のサイズが９ビットであり、輝度コードワード７３０のサイズが３ビットであり、且つアルファブロックインデックス７１０が１ビットである場合、画像ブロックの符号化表現７００の全体のサイズは３２ビットであり、４ｂｐｐの圧縮率が得られる。表現７００のその小さなサイズは、通常１６ビット又は３２ビットのメモリバスを有する移動ユニット等のシンクライアントに非常に適する。その結果、符号化表現７００を読み出すために、１回のメモリアクセス、最悪でも２回のメモリアクセスが必要とされる。
【００８１】
図１に戻ると、ステップＳ２のモード選択が、ＰＡＴモード、すなわち第２のアルファブロック圧縮モードが選択されるべきであることを示す場合、方法はステップＳ７に継続する。ステップＳ７において、色コードワードはブロック中の画像単位に対して判定される。このステップＳ７は、基本的にはステップＳ３に対応するため、更なる説明は行なわない。続くステップＳ８において、ステップＳ４と同様に、輝度コードワードは画像ブロックに提供される。しかし、異なる輝度テーブルが２つのアルファブロック圧縮モードに対して使用される場合、ステップＳ８で提供される輝度コードワードは、ＰＡＴ圧縮モードに専用のテーブルを使用して取得される。これに対して、ステップＳ４で提供される輝度コードワードは、ＰＡＡモードに適するテーブルを採用して取得される。
【００８２】
ステップＳ８において輝度コードワードが提供されると、次のステップＳ９では、画像ブロック中の画像単位に対する輝度インデックス又は輝度表現が選択される。そのような各輝度インデックスは、ステップＳ８で提供された輝度変更子セットの１つの輝度変更子値と関連付けられる。ＰＡＴ圧縮モードにおいて、各画像単位は輝度インデックスと関連付けられるのが好ましく、８つの画像単位を有する画像ブロックの場合、全部で８つの輝度インデックスとなる。
【００８３】
ステップＳ９は、ブロック中の全ての画像単位に対して繰り返されるのが好ましい。これは、線Ｌ３により概略的に示される。
【００８４】
尚、ＰＡＴ圧縮モードにおいて、画像単位に対してアルファインデックスは提供されない。これは、全ての画像単位が同一の量子化アルファ値（及びアルファ値）と関連付けられるためである。ＰＡＡ圧縮モードにおいて、アルファコードワードは、２つの量子化アルファ値αＡ及びαＢを含むのが好ましく、量子化アルファ値αＡは２ビットαＡ０、αＡ１を含み、量子化アルファ値αＢは２ビットαＢ０、αＢ１を含むのが好ましい。しかし、ＰＡＴ圧縮モードの第１の実現例において、αＡ０＝αＢ０及びαＡ１＝αＢ１、並びに本明細書で「有用な」量子化アルファ値又はデータ搬送量子化アルファ値と示される量子化アルファ値の一方のみが、ブロックの復号中に使用される。別の実現例において、αＡはモード関連量子化アルファ値である。すなわち、αＡは、例えば11binのＰＡＴ専用ビットパターンと等しい。残る量子化アルファ値αＢは、有用な量子化アルファ値である。
【００８５】
この有用な量子化アルファ値の全ビットは、アルファ値表現を符号化するために使用される。別の実施形態において、有用な量子化アルファ値の１ビットのみがアルファ値表現に使用される。この場合、量子化アルファ値及びアルファコードワードは、通常、２つの可能なアルファ値のうちの１つ、例えば８５（０．３３３３）又は１７０（０．６６６７）のみを表すことができる。
【００８６】
有用な量子化アルファ値の１ビットのみがアルファ値表現として使用される場合、この量子化アルファ値の残りのビットは、（輝度）インデックスシーケンスと共有されるのが好ましい。その結果、ステップＳ９は、通常はブロック中の第１の画像単位である画像単位の１つと関連付けられた輝度インデックスの一部のビット値に従って、アルファコードワードの有用な量子化アルファ値の１ビットを（再）設定することにより、アルファコードワードを変更するサブステップを含むと考えられる。
【００８７】
ステップＳ１、Ｓ２及びＳ７〜Ｓ９の圧縮の結果、圧縮画像ブロックが得られる。そのような圧縮ブロック表現７００は図３Ｂに示される。表現７００は、３つの色成分Ｒ ７２０Ａ、Ｇ ７２０Ｂ及びＢ ７２０Ｃを含む色コードワード７２０と、輝度コードワード７３０と、２つの量子化アルファ値αＡ ７４０Ａ及びαＢ ７４０Ｂを含むアルファコードワード７４０とを含む。図中、量子化アルファ値αＡ ７４０Ａは、量子化アルファ値αＢ ７４０Ｂのコピーである（又は、11binに等しい）。更に、有用な量子化アルファ値７４０Ｂの単一ビットαのみがアルファのために使用されるため、この実現例において、残りのビットは輝度インデックスシーケンス７５０と共有される。図３Ａと同様に、圧縮ブロック表現７００は、アルファブロックインデックス７１０を含むのが好ましく、画像ブロックをアルファ画像ブロックとして識別する。画像がいわゆるアルファブロックのみを含む場合、アルファブロックインデックス７１０は省略される。
【００８８】
尚、圧縮画像ブロック７００のアルファブロックインデックス７１０、色コードワード７２０及びそれに含まれる色成分７２０Ａ〜７２０Ｃ、輝度コードワード７３０、アルファコードワード７４０、並びにインデックスシーケンス７５０の相互順序は、図示される順序と異なってもよい。更に、コードワード及びインデックスシーケンスは、連続して配置される必要はない。
【００８９】
画像ブロックが８つの画像単位を含み（例えば、図２Ａ及び図２Ｂを参照）、各輝度インデックスが２ビットであり、且つ輝度インデックスがブロック中の各画像単位に対して割り当てられる場合、輝度インデックスシーケンス７５０のサイズは１６ビットであり、そのうち１ビットがアルファコードワード７４０と共有される。更に、色コードワード７２０の対応するサイズが９ビットであり、輝度コードワード７３０のサイズが３ビットであり、アルファコードワード７４０のサイズが４ビットであり、且つ１ビットのアルファブロックインデックスが使用されると仮定する。画像ブロックの符号化表現７００の全体のサイズは３２ビットとなり、４ｂｐｐの圧縮率が得られる。
【００９０】
ステップＳ１〜Ｓ９は、ステップＳ０の分解の間に提供された全ての画像ブロックに対して繰り返されるのが好ましい（線Ｌ４により概略的に示される）。その結果、圧縮画像ブロックのシーケンス又はファイルが得られる。得られた圧縮画像ブロックは、ステップＳ０のブロック分解で分解された順番と同一の順番で、左から右及び上から下へファイルに配列される。方法は、ここで終了する。
【００９１】
いくつかの例においては、２つの圧縮モードの結果、符号化画像はＰＡＡ圧縮モード又はＰＡＴ圧縮モードのみに従って圧縮された画像ブロックを含む。しかし、最も実用的な実現例の場合、符号化画像は、通常、ＰＡＡモードに従って圧縮されたいくつかのブロック表現及びＰＡＴモードに従って圧縮された他のブロック表現を含む。
【００９２】
符号化画像は、画像のレンダリング、例えば表示を後で行なうまでメモリに格納しておくためにメモリに提供される。更に、符号化画像は、別のユニットへ（無線又は有線）送信するために、符号化ブロック表現の信号として送信機に提供される。
【００９３】
同一の輝度テーブルが２つの圧縮モード（ステップＳ４及びＳ８）で使用される場合、色コードワードの判定（ステップＳ３又はＳ７）及び輝度コードワードの提供（ステップＳ４又はＳ８）がステップＳ２の圧縮モードの選択の前に実行されるように、図１のフローチャートに示される圧縮方法は修正される可能性がある。そのような場合、ＰＡＡモードの特有のステップは、輝度インデックスシーケンスの提供（ステップＳ５）及びアルファインデックスシーケンスの提供（ステップＳ６）となる。対応するＰＡＴ専用ステップは、輝度インデックスシーケンスの提供（ステップＳ９）となる。
【００９４】
図４は、図１の画像圧縮方法の追加のステップを示すフローチャートである。方法は、図１のステップＳ０から継続する。次のステップＳ１０において、現在の画像がアルファ画像として符号化されるべきか、あるいは非アルファ画像又はアルファなし画像として符号化されるべきかが判定される。この選択は、画像に関連付けられたグローバルアルファ画像インデックスに基づく。あるいは、選択は、画像の画像単位のアルファ値又はプロパティの調査に基づく。従って、少なくとも１つの画像単位のアルファ値又は少なくとも最小限の数の画像単位のアルファ値が、事前定義済み不透明度値と異なるか、あるいは不透明度の区間内にない場合、画像はアルファ画像に分類され、それ以外の場合、画像は非アルファ画像である。
【００９５】
ステップＳ１０において、画像がアルファ画像として符号化（圧縮）されるべきであると判断される場合、方法は、ステップＳ１１に継続する。ステップＳ１１は、分解された画像の画像ブロックを調査し、それら画像ブロックがアルファブロックとして符号化されるべきか、又は非アルファブロックとして符号化されるべきかを判定する。この分類は、ブロック中の画像単位のアルファ値を調査することにより実行されるのが好ましい。上述したように、少なくとも１つの画像単位のアルファ値又は画像ブロックの少なくとも最小限の数の画像単位のアルファ値が、事前定義済み不透明度値と異なるか、あるいは不透明度の区間内にない場合、ブロックはアルファブロックに分類され、それ以外の場合、画像は非アルファブロックである。
【００９６】
本発明の別の実施形態において、ステップＳ１１で調査されたブロック中の画像単位の各アルファ値は、圧縮モード（アルファブロックモード又は非アルファブロックモード）の判定が行なわれる前にまず量子化される。アルファコードワードの説明に関連して簡単に上述したように、コードワードの量子化アルファ値は、利用可能なアルファ表現値のセット、例えば、０．０（０）、０．３３３３（８５）、０．６６６７（１７０）、１．０（２５５）から選択された値を表せるのが好ましい。そのような場合、画像単位のアルファ値は、このセットから選択された値にまず量子化される。例えば、圧縮される画像ブロックのアルファ値が以下であると仮定する：
2007520103.tif 000005
更に、１．０（２５５）の単一の事前定義済みアルファ値は、不透明度を表すと仮定する。このブロックの分類が量子化の前に行なわれる場合、全ての画像単位が１．０の不透明度値とは異なるアルファ値を有するため、ブロックはアルファブロックに分類される。しかし、ブロックの各アルファ値が可能な値０．０、０．３３３３、０．６６６７、１．０のうちの１つにまず量子化される場合、分類は異なる。その場合、全ての量子アルファ値は不透明を表す１．０となり、ブロックは非アルファブロックとして圧縮されるべきである。
【００９７】
ブロックが以下のアルファ値を有する場合、
2007520103.tif 000006
最後の画像単位のアルファ値は、０．６６６７に量子化される（他の全ての値は、１．０に量子化される）。この例において、画像単位のうち少なくとも１つが１．０の事前定義済み不透明度値とは異なる（量子化）アルファ値を有するため、このブロックはアルファブロックに分類される。しかし、ブロック中の残りの画像単位が不透明度値に（非常に）近接するアルファ値を有するため、圧縮品質の点から、ブロックを非アルファブロックとして圧縮するのが最適であろう。そのような場合、単一の事前定義済み不透明度値の代わりに不透明度値の区間を採用することにより、且つ／又は少なくとも２つの画像単位が事前定義済み不透明度値とは異なる関連する量子化アルファ値を有することを要求することにより、ステップＳ１１の分類は実行される。
【００９８】
ステップＳ１１が現在の画像ブロックをアルファブロックに分類する場合、方法は、図１のステップＳ１に継続する。しかし、ステップＳ１１において、ブロックが非アルファブロック又はアルファなしブロックに分類される場合、ステップＳ１２に進む。ステップＳ１２において、画像ブロックは、ここではＰＡＰ（Packman-Alpha-Packman）モードで示される非アルファブロックモード、すなわち第３の圧縮モードを使用して圧縮される。このＰＡＰ圧縮モードは、ブロックに対する色コードワードを判定することを含む。色コードワードは、１２ビット色コードワード（Ｒ色成分、Ｇ色成分及びＢ色成分の各々に対して４ビット）であるのが好ましい。更に、輝度コードワードは、図１に関連して上述したＰＡＡモード及びＰＡＴモードと同様に提供される。この輝度コードワードは、輝度テーブルで見付けられる複数の輝度変更子のセットに対する３ビットインデックスであるのが好ましい。この輝度テーブルは、２つのアルファブロック圧縮モード（ＰＡＡ及びＰＡＴ）及び非アルファブロック圧縮モード（ＰＡＰ）に共通のテーブルであってもよい。しかし、非アルファブロックに適応された専用の輝度テーブルを使用することが好都合であろう。その後、輝度インデックスが提供されるが、ブロック中の画像単位毎に２ビット輝度インデックスが提供されるのが好ましい。それらインデックスの各々は、変更子セットの輝度変更子のうちの１つと関連付けられる。図３Ｃは、ＰＡＰモードに従って圧縮された画像ブロック７００を示す。圧縮ブロック表現７００は、色コードワード７２０、輝度コードワード７３０及び輝度インデックスシーケンス７５０に加えて、ブロックがＰＡＰ圧縮モードを使用して圧縮されたことを示す１ビットの非アルファブロックインデックス７１０を含むのが好ましい。尚、ＰＡＡモード及びＰＡＴモード（図３Ａ及び図３Ｂ）、並びにＰＡＰモード（図３Ｃ）を使用して圧縮された図３Ａ〜図３Ｃの画像ブロック７００のサイズは、同一であるのが好ましく、３２ビットであるのが更に好ましい。
【００９９】
図４に戻ると、ステップＳ１１のブロックの分類、及び図１のステップＳ１〜Ｓ９又はステップＳ１２のブロックの圧縮は、圧縮されるべきアルファ画像の画像ブロックに対して繰り返されるのが好ましい。これは、線Ｌ５により概略的に示される。
【０１００】
ＰＡＡモード、ＰＡＴモード及びＰＡＰモードの結果、いくつかの例において、符号化アルファ画像は、それらモードのうちの１つのみに従って圧縮された画像ブロックを含む。しかし、殆どの実用的な実現例の場合、そのような符号化アルファ画像は、通常、ＰＡＡモードに従って圧縮されたいくつかのブロック表現（図３Ａ）、ＰＡＴモードに従って圧縮されたいくつかのブロック表現（図３Ｂ）及びＰＡＰモードに従って圧縮されたいくつかのブロック表現（図３Ｃ）を含む。
【０１０１】
図４のステップＳ１０の画像調査において、画像が非アルファ画像（アルファなし画像）として符号化されるべきであると判定されると、方法は、オプションのステップＳ１３に継続する。ステップＳ１３において、現在のブロックに対して使用する非アルファ画像圧縮モードが選択される。利用可能な非アルファ画像圧縮モードが１つである場合、ステップＳ１３におけるモード選択は必要ない。次のステップＳ１４において、画像ブロックは、この（場合によっては、選択された）非アルファ画像モードを使用して圧縮される。そのような好適な非アルファ画像モードは、ここではＰＡ（PAckman）モードと示される。簡単に言うと、ＰＡ圧縮モードにおいて、１２ビットの色コードワード、４ビットの輝度コードワード及び１６ビットの輝度インデックスシーケンスは、各画像ブロックに対して生成され、その全体のサイズは３２ビットとなる。ＰＡ圧縮方式の拡張方式において、ＰＰ（Packman-Packman）モード及びＰＣ（Packman-CCC）モードで示される２つの非アルファ画像圧縮モード間の選択は、各ブロックに対して行なわれる。そのような場合、ステップＳ１３は、現在のブロックに対してＰＰモード又はＰＣモードのいずれを使用するかをブロック毎に選択する。ＰＰモードはＰＡ方式に類似する。しかし、圧縮画像ブロックは、４ビットの輝度インデックスの代わりに１ビットのＰＰモードインデックスと３ビットの輝度インデックスとを含むのが好ましい。ＰＣ圧縮モードは、１つの色コードワード及び１つの輝度コードワードの代わりに２つの色コードワードを使用する。その結果、ＰＣモードに従って圧縮された画像ブロックは、１つの１ビットＰＣモードインデックス、２つの１２ビット色コードワード及び１つの７ビット色インデックスシーケンスを含むのが好ましい。７ビット色インデックスシーケンスは、ブロック中の１つの画像単位以外の全ての画像単位に対して、２つの色コードワードのうち１つに対する１ビットの色インデックスを含むのが好ましい。残りの画像単位は、色インデックスがその画像単位に対して必要とされないように、第１（又は第２）の色コードワードと事前に関連付けされている。
【０１０２】
ステップＳ１３及びＳ１４は、圧縮されるべき非アルファ画像の全ての画像ブロックに対して実行されるのが好ましい。これは、線Ｌ６により概略的に示される。
【０１０３】
図５は、図１のアルファコードワード判定ステップを更に詳細に示すフローチャートである。方法は、図１のステップＳ０から継続する。次のオプションのステップＳ２０において、画像単位のアルファ値は、利用可能な量子化アルファ値の事前定義済みセットの値に量子化される。上述したように、各量子化アルファ値が２ビットである場合、事前定義済みセットは、４つのそのような値を含むのが好ましい。例えば、最大２５６（５１２又は１０２４）個の異なるアルファ値の場合、それらの値は、値０（０又は０）、８５（１７０又は３４１）、１７０（３４１又は６８２）、２５５（５１１又は１０２３）を表す０．０、０．３３３３、０．６６６７、１．０となる。別の実施形態において、セットは、０．０、０．５０、０．７５、１．０；０、０．２５、０．５０、１．０；０、０．２５、０．７５、１．０又は区間０〜１（これは、０と２５５、５１１、１０２３との間、すなわちｎが整数の時、０と２ｎ−１との間に対応する）の他の適切な４つの値のうちの１つに従ってもよい。しかし、ＰＡＴ圧縮モードにおいては、「有用な」量子化アルファ値の単一ビットのみが採用される。その結果、量子化アルファ値は２つの可能な値から選択される。この２つの値は、例えば０．３３３３と０．６６６７又は０．０と１．０等の上述の４つの値のサブセットを構成するのが好ましい。
【０１０４】
いずれの場合においても、アルファ値が量子化されると、アルファコードワードに対して使用する２つの量子化アルファ値は、ステップＳ２１において選択される。それらの量子化アルファ値は、ブロック中の画像単位の（量子化）アルファ値を最もよく表すセットの２つの値であるべきである。
【０１０５】
現在のブロックは以下のアルファ値を有すると仮定する：
2007520103.tif 000007
ステップＳ２０において、アルファ値は、セット０．０、０．３３３３、０．６６６７、１．０の値に量子化される。そのような場合、上記ブロックは、以下の量子化値により表される：
2007520103.tif 000008
使用するのに最適な量子化アルファ値は、利用可能な値を検索し且つ誤差値を計算することにより見付けられる：
2007520103.tif 000009
式中、
2007520103.tif 000010
は画像単位ｉの量子化アルファ値であり、pi∈２つの量子化アルファ値のサブセット である。Ｎは、ブロック中の画像単位の総数である。これは、量子化アルファ値の全ての対に対して繰り返され、誤差を最小にする２つの量子化アルファ値は、アルファコードワードとして選択される。上記ブロックの例において、第１の量子化アルファ値は０．０であり、第２は１．０である。コードワードの２つの量子化アルファ値が等しくないため、このブロックは、ＰＡＡ圧縮モードに従って圧縮される。
【０１０６】
別の例において、元のブロックは、以下のアルファ値を有することができる：
2007520103.tif 000011
それらの値を量子化する時、全ての値に０．３３３３の値が割り当てられる。この場合、ブロックに対して２つの最適な量子化アルファ値を見付けるために上記の式（１）を使用することにより、量子化アルファ値は等しくなる。このブロックは、ＰＡＴモードに従って圧縮されるのが好ましい。第２の量子化アルファ値（αＢ）（有用な量子化アルファ値）の最上位ビット（ＭＳＢ）（αＢ０）には、０．３３３３の量子化アルファ値を表す0binが割り当てられる。第１の量子化アルファ値（αＡ）のＭＳＢ（αＡ０）は、αＢ０のコピー、すなわち0binである。第２の量子化アルファ値の最下位ビット（ＬＳＢ）（αＢ１）は、輝度インデックスシーケンスにより共有されるため、第１の画像単位の輝度インデックス値により判定される。第１の量子化アルファ値のＬＳＢ（αＡ１）は、αＢ１のコピーとなる。あるいは、第１の量子化アルファ値（αＡ）は11bin（すなわち、ＰＡＴモードインデックスと等しい）となり、第２の量子化アルファ値（αＢ）のＭＳＢには0binが割り当てられ、且つ第２の量子化アルファ値（αＢ）のＬＳＢは第１の画像単位の輝度インデックス値により判定される。その結果、復号中、ブロック中の画像単位に対してアルファ値を生成するために、第２の量子化アルファ値のＭＳＢのみが使用される。
【０１０７】
別の例において、ブロックは以下のアルファ値を含むことができる：
2007520103.tif 000012
量子化の後、全ての値は０．０になる。最初、ＰＡＴモードに従ってブロックを圧縮することが適切であると考えられるだろう。しかし、利用可能な量子化アルファ値が０．３３３３及び０．６６６７である場合、所望の値０．０は、このモードで正確に表されることはない。そのような場合、ＰＡＡ圧縮モードを使用する方が適切である。従って、コードワードの第１の量子化アルファ値（αＡ）は、通常00binとなる。しかし、第２の量子化アルファ値（αＢ）の２ビットのうち少なくとも１ビットが1bin、すなわちαＢ≠00binである必要があることが重要である。これは、1binでない場合にブロックがＰＡＴモードに従って圧縮されるからである。
【０１０８】
本発明の別の実施形態において、元のアルファ値は、少なくとも２つのグループ又はクラスタに編成される。例えば、α１、α３及びα４は全て０．４に近接するが、画像単位の残る値α２、α５、α６、α７及びα８は値０．９に近接する。２つのクラスタを最もよく表す２つの値が判定される。すなわち、それら２つの値は、この例においては０．４及び０．９である。それら２つの値を最もよく表す２つの量子化アルファ値（最大４つの可能な値のうちの２つ）は、アルファコードワードとして選択される。すなわち、それは０．３３３３（01bin）及び１．０（11bin）である。
【０１０９】
アルファコードワードが画像ブロックに対して判定されると、方法は、図１のステップＳ２に継続する。
【０１１０】
図６は、図１の色コードワード及び輝度コードワードを判定するステップ、並びに輝度インデックスを提供するステップを示すフローチャートである。方法は、図１のステップＳ２から継続する。次のステップＳ３０において、画像ブロック中の画像単位の平均色が判定される。以下において、画像単位の色は、ＲＧＢ色の２４ビット、すなわち赤色成分の８ビット、緑色成分の８ビット及び青色成分の８ビットにより表されると仮定する。しかし、本発明はこの特定の例に限定されず、画像単位の任意の色表現に適用可能である。平均色
2007520103.tif 000013
は以下の式で判定される：
2007520103.tif 000014
式中、Ｒｉ、Ｇｉ、Ｂｉは、画像単位ｉのＲ成分、Ｇ成分、Ｂ成分である。Ｎは、画像ブロック中の画像単位の総数である。
【０１１１】
ステップＳ３０において平均色
2007520103.tif 000015
が判定されると、次のステップＳ３１は平均色を量子化する。（２４ビット）平均色は、９ビットのシーケンス（色コードワード）に量子化されるのが好ましい。換言すると、８ビットの各平均成分は、３ビットの平均成分に量子化される。例えば、平均色
2007520103.tif 000016
は計算され、以下のようになる：
2007520103.tif 000017
３ビットの量子化バージョン
2007520103.tif 000018
は、以下から生成される：
2007520103.tif 000019
すなわち、[101, 010, 001]binは、（９ビットの）色コードワードとして使用される。
【０１１２】
ステップＳ３２は、テーブルの種々の輝度変更子セット及びセットの種々の変更子値を調査する。次のステップＳ３３は、変更子セット及び変更子値の各検査に対する誤差値を計算する。ステップＳ３３において、それらの誤差値に基づいて、最小の誤差値を与える変更子セット及びセットの輝度変更子値が選択される。これについては、以下に更に詳細に説明する。
【０１１３】
画像ブロックの色プロパティは、単純符号化、全数符号化及び組合せ量子化で示される３つの異なる例のうち１つを使用して符号化される。それらの例については、以下に簡単に説明する。
【０１１４】
（単純符号化）
（アルファ）画像ブロックを符号化するために、基本的には、色コードワード及び正確な輝度変更子セットが選択される。選択されると、画像ブロック中の画像単位の符号化は、セットの４つの輝度変更子全てを試行し且つ誤差を計算することにより行なわれる。ＰＡＡ圧縮モードの第１の実施形態において、単一の輝度変更子は、複数の画像単位、好ましくは隣接する画像単位の対と関連付けられる。ＰＡＡモードの第２の実施形態において、各画像単位は単一の輝度変更子と関連付けられるが、輝度変更子のサブセットのみが選択される。いくつかのアプリケーションにおいて、より正確な変更子の選択及びより高い符号化品質は、以下のように、重み付き誤差値を採用することにより得られる：
2007520103.tif 000020
式中、画像単位の元の（２４ビット）色は（R, G, B）であり、
2007520103.tif 000021
は色コードワード（量子化平均色、９ビット）を示す。選択された変更子セットは[-a, -b, b, a]であり、q∈[-a, -b, b, a]、q∈[-a, a]又はq∈[-b, b]である。wR、wG、wBは、色成分に対する異なる重みである。更に、wGは、wR及びwBより大きいのが好ましい。例えば、wR=５／１６、wG=９／１６及びwB=２／１６、あるいはwR=0.299、wG=0.587及びwB=0.114である。
【０１１５】
対応する（重み付き）誤差値は、変更子及びセットの全ての組合せに対して計算され、最小誤差を与える変更子及びセットの組合せが選択される。
【０１１６】
この単純符号化において、色成分毎に３ビットに量子化されるブロック中の８つの画像単位の平均色は、色コードワードとして使用される。正確な輝度変更子セットは、全数検索により選択される。すなわち、表１等の輝度テーブル中の８つのセット全てが試行され、誤差値を最小にするセットが選択される。これは、画像単位毎に８×４＝３２回の評価を必要とする。重みがwR=５／１６、wG=９／１６及びwB=２／１６である場合、整数演算が使用され、符号化は高速になる。この重みの選択肢に対して、単純符号化を使用する６４×６４画素（画素要素）の画像の符号化は、１．２ＧＨｚのＰＣラップトップ上で１００ｍｓ未満で行なわれるべきであり、多くの場合は約３０ｍｓで行なわれる。
【０１１７】
（全数符号化）
上述の単純符号化の例において、量子化平均色は、画像ブロック中の画像単位の色の表現（色コードワード）として単純に使用された。この全数符号化の例においては、色及び輝度変更子セット（変更子値を含む）の双方が選択される。すなわち、全ての可能な組合せが試行される。特定の画像単位の場合、輝度変更子セットの３ビット及び輝度インデックスの２ビットの全ての先の繰り返しに加え、色の９ビット全てに対する繰り返しが追加され、これらを合わせると２１４ステップになる。６４×６４画素の画像の符号化は、単純圧縮の場合と同一のＰＣラップトップを使用して、３０秒未満に行なわれるべきであり、場合によっては約１０秒で行なわれる。これは、ランタイムアプリケーションには長すぎる可能性があるが、特により大きな画像の場合には、オフライン符号化を行なうのに法外な長さではない。
【０１１８】
（組合せ量子化）
単純符号化の例と同様に、この例は（２４ビット）平均色
2007520103.tif 000022
で開始するが、この平均色の色成分は、輝度成分、すなわち輝度変更子セット及び値の選択肢と共に量子化される。
【０１１９】
Rlow及びRhighが、
2007520103.tif 000023
のすぐ下及びすぐ上の３ビット量子化レベル又は値をそれぞれ示す場合、
2007520103.tif 000024
である。タスクは、Rlow又はRhighのいずれか一方として
2007520103.tif 000025
を選択することである。緑色成分及び青色成分についても、同じことが当てはまる。
【０１２０】
最初に、
2007520103.tif 000026
として、誤差値が計算される：
2007520103.tif 000027
これは次のように簡略化される：
2007520103.tif 000028
式中、
2007520103.tif 000029
及び
2007520103.tif 000030
である。更に、q（輝度変更子）は自由に選択されると仮定する。すなわち、qは最適な
2007520103.tif 000031
に等しいと仮定する。この最適なqを式（５）に代入し、簡略化すると、以下が得られる：
2007520103.tif 000032
式中、
2007520103.tif 000033
は括弧内の式である。
【０１２１】
しかし、より大きい値が赤色成分に対して選択される場合、すなわち、
2007520103.tif 000034
であり、
2007520103.tif 000035
であることが使用される場合には、式（５）は次のように書き換えられる：
2007520103.tif 000036
上記の式は、この場合の最適な
2007520103.tif 000037
を代入することにより、更に簡略化される：
2007520103.tif 000038
２つの量子化色（Rlow, Glow, Blow）又は（Rhigh, Glow, Blow）のうちのどちらが最適であるか、すなわち、どちらが最小の誤差値を与えるかを判定するために、式（８）の大括弧の中の余分な式が調査される。換言すると、36 + 2δR - δG - δB ＜ 0である場合、（Rhigh, Glow, Blow）が選択されるべきであり、それ以外の場合には、（Rlow, Glow, Blow）が選択される（36 + 2δR - δG - δB = 0の場合、いずれのコードワードを選択してもよい）。この手順は、３つの色成分の低量子化及び高量子化の全ての可能な組合せに対して、すなわち平均色の全ての近傍量子化色に対して繰り返される。その結果が以下の表３に示される。
【０１２２】
【表３】
2007520103.tif 000039
【０１２３】
尚、
2007520103.tif 000040
は、明示的に計算される必要はなく、使用する量子化レベル（色コードワード）を選択するために、表３の大括弧の中の式（誤差表現）のみが計算される必要がある。更に、色コードワード（Rlow, Glow, Blow）及び（Rhigh, Ghigh, Bhigh）は、同一の誤差値を与える。これは、任意のq（輝度変更子値）に到達できるという仮定の下で言えることである。しかし、現実には、qは、使用される変更子セット又は変更子サブセットの輝度変更子値、例えば表１の変更子値に限定される。表１によると、より小さな変更子値（q）は、より大きな値より高い精度で指定される。これは、
2007520103.tif 000041
が（Rlow, Glow, Blow）より（Rhigh, Ghigh, Bhigh）に近接する場合、（Rlow, Glow, Blow）より（Rhigh, Ghigh, Bhigh）を選択する方がよく、逆に、
2007520103.tif 000042
が（Rhigh, Ghigh, Bhigh）より（Rlow, Glow, Blow）に近接する場合には、（Rhigh, Ghigh, Bhigh）より（Rlow, Glow, Blow）を選択する方がよいことを示す。符号化の総時間は、単純符号化と比較して大きな変化はない。すなわち、６４×６４画素の画像は、１００ｍｓ未満内で圧縮される。
【０１２４】
（画像復号）
図７は、本発明に従って、符号化画像又は元の画像の符号化バージョンを復号する方法を示すフローチャートである。基本的には、符号化画像は、図３Ａ又は図３Ｂの表現７００等の画像ブロックのいくつかの圧縮表現又は符号化表現を含む。圧縮ブロック表現は、図１に関連して上述した画像符号化方法により生成されるのが好ましい。
【０１２５】
一般に、方法は、伸張する圧縮画像ブロックを識別することにより開始する。符号化画像の全ての圧縮画像ブロックが伸張され、元の画像の復号表現を生成することが可能である。あるいは、元の画像の一部のみがアクセスされる。その結果、選択された数の画像ブロックのみが伸張される必要がある（更に厳密には、特定の画像ブロックの選択された量の画像単位が伸張又は復号される必要がある）。
【０１２６】
方法はステップＳ４０で開始し、ステップＳ４０において、色表現は、画像ブロック中の画像単位のうち少なくとも１つに対して生成される。この色の生成は、圧縮ブロック表現の色コードワードに基づいて実行される。次のステップＳ４１において、現在の画像ブロックに対して使用する伸張モードが選択される。このモード選択は、アルファコードワードに基づくが、好ましくはアルファコードワードの量子化アルファ値の比較に基づくか、あるいは量子化アルファ値のうち少なくとも１つの実効値又はビットパターンに基づく。図１の圧縮モード選択と同様に、ステップＳ４１において、量子化アルファ値が異なる場合、第１の伸張モード（ＰＡＡモード）が選択され、（全ての）量子化アルファ値が等しい場合、第２の伸張モード（ＰＡＴモード）が選択される。あるいは、モード関連量子化アルファ値がＰＡＡ専用（ＰＡＴ専用）値と等しい場合、Ｓ４１において、ＰＡＡ（ＰＡＴ）伸張モードが選択されるべきである。
【０１２７】
ＰＡＡ伸張モードによると、ステップＳ４２において、輝度変更子セットが提供される。この変更子セットは、圧縮ブロック表現の輝度コードワードに基づいて提供される。このセットの提供は、輝度コードワードを使用して、複数の変更子セットを含む表１等のテーブルから１つの輝度変更子セットを識別することにより実行されるのが好ましい。このテーブルは、双方のアルファブロック伸張モードに共通なテーブルであってもよく、又はモード適応テーブルであってもよい。しかし、いくつかのアプリケーションにおいて、輝度コードワード自体が変更子セットを含み、テーブルルックアップが必要ない場合もある。
【０１２８】
ステップＳ４３において、伸張されるべき画像単位に対して使用する輝度変更子が選択される。変更子値は、画像単位と関連付けられた輝度インデックス又は画像単位が属する画像単位サブセットと関連付けられた輝度インデックスに基づいて、ステップＳ４２で提供された変更子セットから選択される。ＰＡＡ伸張モードにおいて、各画像単位が独自の輝度インデックスと関連付けられる場合、このインデックスは、変更子セットのサブセット中に見付けられる輝度変更子を指し示すのが好ましい。例えば、ステップＳ４２で提供された輝度変更子セットが[-a, -b, b, a]である場合、（１ビット）輝度インデックスは、変更子値-a又はa（あるいは、例えば-b又はb）を表すことができるのが好ましい。しかし、所定の輝度インデックスが複数の（隣接する）画像単位のサブセットに割り当てられる場合、輝度インデックスは、変更子値-a、-b、b又はaのうちのいずれかを表すことができる。
【０１２９】
正確な輝度変更子値がステップＳ４３において選択されると、ステップＳ４４において、画像単位の輝度はその値で変更又は変調される。本発明による輝度変更は、色表現の全ての色成分を（場合によっては、重み付き）輝度変更子値により変更すること、例えば加算又は乗算することを示す。
【０１３０】
ステップＳ４３及びＳ４４は、画像ブロック中のいくつかの画像単位に対して実行される（線Ｌ７により概略的に示される）。本発明によると、いくつかのアプリケーションにおいて、単一の画像単位のみが特定の画像ブロックから伸張されるか、又は特定の画像ブロックの複数の画像単位が伸張されるか、あるいは特定のブロックの全ての画像単位が伸張されるかが考えられる。
【０１３１】
続くステップＳ４５において、複数のアルファ値、好ましくは２つのアルファ値が、アルファコードワードに基づいて画像ブロックに対して判定される。次のステップＳ４６において、アルファ値は、伸張される画像単位に対して選択され、割り当てられる。このアルファ値は、通常、関連する画像単位と関連付けられたアルファインデックスを使用して選択され、アルファインデックスシーケンスにおいて見付けられる。しかし、関連する画像単位が、関連するアルファインデックスを有さずに事前定義済みの関連するアルファ値を有する画像単位のサブセットに属する場合、ステップＳ４６において、事前定義済みアルファ値は識別され、画像単位に割り当てられる。ステップＳ４６は、画像ブロック中のいくつかの画像単位に対して実行される（線Ｌ８により概略的に示される）。
【０１３２】
あるいは、特に、圧縮ブロック表現の単一の又は少数の画像単位を伸張する時、ステップＳ４６において、アルファインデックス又は事前定義済み関連付けを介して画像単位と関連付けられたコードワードの量子化アルファ値が選択される。（非量子化）アルファ値は、選択された量子化アルファ値を使用して生成される。その結果、単一のアルファ値のみが生成され、ステップＳ４５は省略される。アルファインデックスに基づくこの選択は、アルファコードワードの量子化アルファ値を使用して生成された複数のアルファ値間で実行されるか、あるいは複数の量子化アルファ値間で実行される。
【０１３３】
ＰＡＴ伸張モードがステップＳ４１において選択される場合、方法はステップＳ４７に継続する。ステップＳ４７において、輝度変更子セットは、輝度コードワードを使用して画像ブロックに対して提供されるが、輝度テーブルから提供されるのが好ましい。基本的には、このステップＳ４７はステップＳ４２に対応する。しかし、いくつかのアプリケーションにおいて、種々の輝度テーブルがＰＡＡ（ステップＳ４２）及びＰＡＴ（ステップＳ４７）伸張モードで使用される。次のステップＳ４８において、画像単位に対して使用する輝度変更子は、ステップＳ４７で提供された変更子セットから選択される。ＰＡＡ伸張モードに反し、各画像単位は、固有の輝度インデックスに関連付けられるのが好ましく、インデックスは、変更子セットの変更子値のいずれかを表すことができる。ステップＳ４９において、選択された輝度変更子は、画像単位の輝度を変更するために使用される。このステップＳ４９は、ステップＳ４４に対応する。２つのステップＳ４８及びＳ４９は、伸張されるべきブロック中の全ての画像単位に対して繰り返されるのが好ましい。これは、線Ｌ９により概略的に示される。
【０１３４】
続くステップＳ５０において、（単一の）アルファ値はアルファコードワードに基づいて生成されるが、コードワードの「有用な」量子化アルファ値に基づいて生成されるのが更に好ましい。ステップＳ５１において、このアルファ値は画像単位に割り当てられる。尚、このモードにおいて、１つのアルファ値のみが生成され、そのため、アルファ値の選択が必要とされないのが好ましい。生成されたアルファ値は、伸張されるべき画像単位に割り当てられるのが好ましい。これは、線Ｌ１０により概略的に示される。
【０１３５】
ステップＳ４０〜Ｓ４６又はステップＳ４０〜Ｓ５１は、復号されるべき画像単位を含む全ての画像ブロックに対して繰り返されるのが好ましい（線Ｌ１１により概略的に示される）。これは、ステップＳ４０〜Ｓ４６又はステップＳ４０〜Ｓ５１のループが１回のみ実行されることもあるが、殆どの場合、種々の圧縮画像ブロックに対して数回及び／又は特定の圧縮画像ブロックに対して数回実行される。
【０１３６】
オプションのステップＳ５２において、元の画像の復号表現又は元の画像の一部が、伸張画像単位及びブロックに基づいて生成される。尚、いくつかのアプリケーションにおいて、いくつかの画像単位は、復号表現の単一の画素、テクセル又はボクセルをレンダリングするために伸張される必要がある。例えば、３次元線形補間中、８つの画像単位が伸張され、２次元線形補間の場合、対応する数は４つの画像単位である。このことは、当業者には周知である。方法は、ここで終了する。
【０１３７】
同一の輝度テーブルが双方の伸張モードで使用される場合、図７の復号方法は、異なるモードへの分岐が伸張手順において後で実行されるように変更される。そのような場合、色表現の生成及びアルファ値の生成、並びに場合によっては変更子セットの提供は、伸張モードの選択に先行する。モード別の動作は、ＰＡＡモードでのアルファ値の選択及び割当て、並びにＰＡＴモードでのアルファ値の割当てである。
【０１３８】
図８は、本発明の画像復号方法の追加のステップを示すフローチャートである。方法は、ステップＳ６０から開始する。ステップＳ６０において、画像は、アルファ画像として復号されるべきか、又は非アルファ（アルファなし）画像として復号されるべきかを調査する。この選択は、画像に関連付けられた（グローバル）アルファ画像インデックスに基づくのが好ましい。
【０１３９】
画像がアルファ画像である場合、方法はステップＳ６１に継続する。このステップＳ６１において、伸張されるべき個々の画像ブロックは、アルファブロック又は非アルファブロックに分類される。この分類は、圧縮ブロック表現に含まれるアルファブロックインデックスに基づいて実行されるのが好ましい。このアルファブロックインデックスが1bin（あるいは0bin）である場合、画像ブロックはアルファブロックであり、アルファ伸張モード、すなわち図７に関連して上述したモードのうち１つを使用して伸張されるべきである。方法は、図７のステップＳ４０に継続する。
【０１４０】
画像ブロックが非アルファブロックに分類される場合、ステップＳ６２において、画像ブロックは、非アルファブロック伸張モード（ＰＡＰモード）に従って伸張されるべきである。このＰＡＰモードは、基本的には、図７のステップＳ４０、Ｓ４２（又はＳ４７）、Ｓ４３（又はＳ４８）及びＳ４４（又はＳ４９）を含む。従って、色表現は、色コードワードを使用してブロック中の画像単位に対して生成される。輝度変更子セットは、輝度コードワードを使用して提供されるが、輝度テーブルから提供されるのが好ましい。このテーブルは、このモード、並びにＰＡＡモード及びＰＡＴモードに共通であってもよい。しかし、このＰＡＰモードに適応された輝度テーブルを使用するのが好都合であろう。輝度変更子は、提供されたセットから輝度インデックスシーケンスを使用して選択され、画像単位の輝度は変更される。
【０１４１】
ステップＳ６１のブロックの分類、及びアルファブロック伸張モード（図７）のうちの１つ又は非アルファブロック伸張モード（ステップＳ６２）に従うブロックの伸張は、復号されるべき画像単位を含む画像の全ての圧縮画像ブロックに対して繰り返されるのが好ましい。これは、線Ｌ１２により概略的に示される。
【０１４２】
ステップＳ６０で非アルファ画像に分類された符号化画像は、非アルファ画像伸張モードを使用して復号されるべきである。オプションのステップＳ６３において、現在の圧縮ブロックに対して使用する非アルファ伸張モードが選択される。利用可能な非アルファモードが１つである場合、ステップＳ６３におけるモード選択は必要ない。次のステップＳ６４において、圧縮画像ブロック又は圧縮画像ブロックの少なくとも一部は、この（場合によっては、選択された）非アルファ画像モードを使用して伸張される。そのような好適な非アルファ画像伸張モードであるＰＡモードは、基本的には、ＰＡＰ伸張モードに対応する。主な相違点は、ＰＡ伸張モードは好ましくは最大１６個の異なる変更子セット（４ビット輝度コードワードのため）を含む輝度テーブルを利用でき、ＰＡＰ伸張モードは最大８つの異なる変更子セット（３ビット輝度コードワードのため）を含む輝度テーブルを使用するのが好ましいことである。ＰＡ伸張方式の拡張方式において、２つの非アルファ画像伸張モード間の選択（ＰＰモード又はＰＣモード）は、各ブロックに対して行なわれる。そのような場合、ステップＳ６３は、好ましくは圧縮ブロックに含まれる（ＰＰ又はＰＣ）モードインデックスに基づいて、現在のブロックに対してそれら２つのモードのうちどちらを使用するかをブロック毎に選択する。ＰＰ伸張モードはＰＡ方式に類似する。しかし、圧縮画像ブロックは、４ビット輝度インデックスの代わりに１ビットＰＰモードインデックス及び３ビット輝度インデックスを含むのが好ましい。ＰＣ伸張モードは、１つの色コードワード及び１つの輝度コードワードの代わりに２つの色コードワードを使用する。その結果、伸張を行なう間、それら２つのコードワードを使用して、ブロックに対して２つの色表現が生成される。復号される画像単位は、好ましくは色インデックス又は要素とコードワードとの事前定義済み関連付けに基づいて、２つの色表現から選択された１つの色表現を割り当てられる。
【０１４３】
ステップＳ６３及びＳ６４は、圧縮されるべき非アルファ画像の全ての画像ブロックに対して実行されるのが好ましい。これは、線Ｌ１３により概略的に示される。
【０１４４】
図９は、図７の色表現生成ステップＳ４０の一実施形態を更に詳細に示す。方法は、ステップＳ７０で開始する。ステップＳ７０において、好ましくは９ビットである色コードワードの量子化色は、好ましくは２４ビットに拡大又は拡張される。ＲＧＢ色の場合、色コードワードの各量子化３ビット色成分は、８ビット色成分に拡張される。この色の拡張は、３ビットパターンを繰り返して８ビット色ワードにすることにより実現されてもよい。換言すると、101binの３ビット色成分は10110110binに拡張される。ステップＳ７１において、拡張色は、復号される画像ブロックの画像単位に割り当てられる。方法は、図７のステップＳ４１に継続する。
【０１４５】
図１０は、ステップＳ４２〜Ｓ４６又はステップＳ４７〜Ｓ５１を更に詳細に示すフローチャートである。方法は、図７のステップＳ４１から継続する。次のステップＳ８０において、輝度変更子セットは、輝度コードワードに基づいて輝度テーブルから選択される。この輝度テーブルは、共通のテーブルでもよく、モード別のテーブルでもよい。輝度テーブルに格納された輝度変更子セットが、変更子値の第１のサブセット、例えば[a, b]を含む場合、輝度変更子値の第２のサブセットは、第１のサブセットの値から判定され、例えば[-a, -b]となる。次のステップＳ８１において、画像単位の輝度は、選択された変更子セットの輝度変更子を拡張色に加算することにより変更される。従って、この変更子値は、画像単位に対する色の全ての成分（ＲＧＢ色の場合、３つの成分全て）に加算される。これは、変更子値を全ての色成分に単純に加算することにより実現される。しかし、いくつかのアプリケーションにおいて、変更子値を成分に加算する前に、変更子値を重み付けするのが好ましい。そのような場合、種々の重みが種々の色成分に対して採用される。別の実施形態において、単純に加算する以外の変更の方法、例えば乗算又はＸＯＲが採用されてもよい。そのような場合、輝度変更子値が成分に対して異なる重み付けをされてもよいが、全く同一の輝度変更子値を使用して、同一の変調が拡張色の全ての成分に対して実行される。
【０１４６】
次のステップＳ８２において、得られた輝度変更済み色成分値は、最小色閾値と最大色閾値との間にクランプされる。例えば、輝度変更子値（可能であれば重み付けされた）を色成分に加算した後、得られた値が最小閾値より小さい場合、その値は、最小閾値の値にクランプされる。それに対応して、得られた値が最大閾値より大きい場合、閾値の値がその成分に対して使用されるべきである。色成分において２５６個の異なるレベルがある場合、最小閾値及び最大閾値の例は、それぞれ０及び２５５であるが、これらに限定されない。
【０１４７】
続くステップＳ８３において、使用されるアルファブロック伸張モードによって１つ又は複数の（８ビット）アルファ値が、量子化アルファ値を拡張することにより生成される。ＰＡＡモードにおいて、この拡張は、各量子化アルファ値の２ビットパターンを繰り返すことにより実現される。例えば、量子化アルファ値01binは、アルファ値８５（０．３３３３）に対応する８ビット値0101 0101binに拡張される。ＰＡＴモードにおいて、量子化アルファ値のうち１つの量子化アルファ値の単一ビットのみが、アルファ値を生成するために使用されるのが好ましい。例えば、この単一ビットが1bin（0bin）である場合、８ビットアルファ値は、例えば１７０又は０．６６６７（８５又は０．３３３３）に対応する1010 1010bin（0101 0101bin）となる。
【０１４８】
モード関連量子化アルファ値が使用される場合、（アルファ）ルックアップテーブルは、アルファ値に拡張される量子化アルファ値を判定するために採用される。以下の表４において、αＡはモード関連量子化アルファ値を表し、αＢはデータ搬送量子化アルファ値である。
【０１４９】
【表４】
2007520103.tif 000043
【０１５０】
尚、αＡが11binに等しい場合、ＰＡＴモードが使用されるべきであり、等しくない場合、ＰＡＡモードが採用される。ＰＡＡ画像ブロックに対して表４を使用することにより、アルファ値に拡張する（アルファインデックス又は事前定義済み関連付けに基づいて）量子化アルファ値の識別が可能になる。実際の拡張は、上述と同様に実行される。表４から更に分かるように、データ搬送量子化アルファ値αＢと第１の量子化アルファ値との間に一対一の対応関係が存在するが、モード関連量子化アルファ値αＡと第２の量子化アルファ値との間にその対応関係は存在しない。
【０１５１】
方法は、図７のステップＳ４６又はＳ５１に継続する。
【０１５２】
符号化画像ブロックの復号を以下の４つの例により示す。最初の２つの例においては、図３Ａに示されるような圧縮ブロック表現、図２Ａに示されるような画像ブロック及び表１による輝度テーブルが仮定される。第３の例においては、圧縮ブロック表現が図３Ｂに従い、第４の例においては、表４が採用される。
【０１５３】
（復号の例１）
画像ブロックの圧縮表現は、1 101 0 010 1 001 1 011 1 1011000 01 11 00 10binである。ここで、ビット０はモードインデックスであり、ビット１〜３は色コードワードの赤色成分であり、ビット４はアルファコードワードの第１の量子化アルファ値のＭＳＢであり、ビット５〜７は色コードワードの緑色成分であり、ビット８は第１の量子化アルファ値のＬＳＢであり、ビット９〜１１は色コードワードの青色成分であり、ビット１２はアルファコードワードの第２の量子化アルファ値のＭＳＢであり、ビット１３〜１５は輝度コードワードであり、ビット１６は第２の量子化アルファ値のＬＳＢであり、ビット１７〜２３はアルファインデックスサブシーケンスであり、ビット２４〜３１は輝度インデックスのサブシーケンスである。
【０１５４】
色コードワードは、画像ブロックの色表現を生成するために復号（拡張）される。色コードワードの各色成分は３ビットであるが、３ビットパターンを繰り返して８ビットワードにすることにより８ビットに拡張される：
赤色：10110110bin ⇔ 182
緑色：01001001bin ⇔ 73
青色：00100100bin ⇔ 36
拡張色は、画像ブロックの画像単位に割り当てられ、以下の結果を与える：
2007520103.tif 000044
ブロックの２つの量子化アルファ値は比較される。10bin（第１の量子化アルファ値）が11bin（第２の量子化アルファ値）とは異なるため、ブロックは、ＰＡＡ伸張モードに従って復号されるべきである。
【０１５５】
使用する正確な輝度変更子セットは、輝度コードワードに基づいて表１から選択される。表１で分かるように、011binの輝度コードワードは、輝度変更子[-127, -41, 41, 127]に対応する。
【０１５６】
輝度インデックスのシーケンスにより、以下の式に従って、４つの変更子値から種々の画像単位に対して使用する変更子値を識別することが可能になる：
2007520103.tif 000045
ＰＡＡモードの本実施形態において、各輝度インデックスは、ブロック中の２つの隣接する画像単位と関連付けられる。
【０１５７】
第１の輝度インデックスは01binである。これは、第１の輝度変更子値１２７が第１の画像単位サブセットの３つの成分全てに加算されるべきであることを示す：
2007520103.tif 000046
得られた成分は、０と２５５との間にクランプされ、その結果として（255, 200, 163）を与える。部分的に復号された画像ブロックは以下のようになる：
2007520103.tif 000047
この例において、同一の輝度変更子が、同一の列に位置付けられた２つの画像単位に対して使用される。しかし、これは単に例として示されるべきである。あるいは、同一の行の２つの隣接する画像単位は、同一の輝度変更子を割り当てられる。
【０１５８】
次の画像単位サブセットの場合、輝度インデックスは11binである。すなわち、輝度変更子−１２７は、３つの色成分全てに加算されるべきである。クランプ後の結果は（55, 0, 0）となる。ブロック中の全ての画像単位に対してこの手順を繰り返すことにより、以下に示される部分的に復号された画像ブロックが作成される：
2007520103.tif 000048
２つの量子化アルファ値10bin及び11binは、８ビットアルファ値に拡張される：
第１のアルファ値：10101010bin ⇔ 170 ⇔ 0.6667
第２のアルファ値：11111111bin ⇔ 255 ⇔ 1.0
この例において、第１の画像単位は、第１のアルファ値（又は第１の量子化アルファ値と同様の値）と常に関連付けられ、従って、アルファ値１７０を割り当てられる。ブロック中の残りの画像単位に対しては、アルファインデックスサブシーケンスがアルファ値を選択するために使用される。第２の画像単位（同一の行において隣接する）は、第２のアルファ値、すなわち２５５を表すアルファインデックス1binを有する。この値の割当てを継続することにより、以下の最終的な復号ブロックが結果として得られる：
2007520103.tif 000049
（復号の例２）
この例において、ＰＡＡ伸張モードの別の実施形態が、画像ブロックの圧縮表現1 101 0 010 1 001 1 011 1 1011000 01110010binに適用される。上述に対応して、ビット０はモードインデックスであり、ビット１〜３は色コードワードの赤色成分であり、ビット４は第１の量子化アルファ値のＭＳＢであり、ビット５〜７は色コードワードの緑色成分であり、ビット８は第１の量子化アルファ値のＬＳＢであり、ビット９〜１１は色コードワードの青色成分であり、ビット１２は第２の量子化アルファ値のＭＳＢであり、ビット１３〜１５は輝度コードワードであり、ビット１６は第２の量子化アルファ値のＬＳＢであり、ビット１７〜２３はアルファインデックスサブシーケンスであり、ビット２４〜３１はブロックの画像単位に対する輝度インデックスのサブシーケンスである。
【０１５９】
色表現は、復号の例１と同様に生成され、以下のような部分的に復号されたブロックを結果として与える：
2007520103.tif 000050
同一の輝度変更子セット（[-127, -41, 41, 127]）は、復号の例１と同様に表１から選択される。しかし、本実施形態において、[-127, 127]の変更子値を含むサブセットのみが、ブロックに対して利用可能である。そのような場合、輝度インデックス0binは変更子１２７を表し、1binは−１２７を表す。
【０１６０】
第１の輝度インデックスは0binである。これは、第１の輝度変更子値１２７が第１の画像単位の３つの成分全てに加算されるべきであることを示す：
2007520103.tif 000051
得られた成分は０と２５５との間にクランプされ、その結果として（255, 200, 163）を与える。部分的に復号された画像ブロックは以下のようになる：
2007520103.tif 000052
次の画像単位に対して、輝度インデックスは1binである。すなわち、輝度変更子−１２７は、３つの色成分全てに加算されるべきである。クランプ後の結果は（55, 0, 0）となる。ブロック中の全ての画像単位に対してこの手順を繰り返すことにより、以下に示されるような部分的に復号された画像ブロックが作成される：
2007520103.tif 000053
アルファ値の生成は、復号の例１と同様であり、ここでは繰り返さない。最終的な復号画像ブロックは、以下のようになる：
2007520103.tif 000054
（復号の例３）
画像ブロックの圧縮表現は、1 101 0 010 1 001 0 011 11 01 10 00 01 11 00 10binである。ここで、ビット０はモードインデックスであり、ビット１〜３は色コードワードの赤色成分であり、ビット４はビット１２のコピーであり、ビット５〜７は色コードワードの緑色成分であり、ビット８はビット１６のコピーであり、ビット９〜１１は色コードワードの青色成分であり、ビット１２はアルファコードワードの「有用な」量子化アルファ値であり、ビット１３〜１５は輝度コードワードであり、ビット１６〜３１、ビット２４〜３１は、ブロックの画像単位に対する輝度インデックスのシーケンスである。
【０１６１】
アルファコードワードの２つの量子化アルファ値01bin（ビット４及びビット８）及び01bin（ビット１２及びビット１６）が等しいため、ＰＡＴ伸張モードがこのブロックに対して使用される。
【０１６２】
ブロックの色表現は、復号の例１に従って生成され、以下のような部分的に復号されたブロックを結果として与える：
2007520103.tif 000055
輝度コードワード011binは、復号の例１及び例２と同一の輝度変更子セットが現在のブロックに対して使用されるべきであることを示す。しかし、これは、共通の輝度テーブルが復号の例１〜例３の２つのアルファブロック伸張モードにおいて使用されるためである。輝度コードワードが全ての例において同一であっても、この復号の例３の変更子セットが復号の例１及び例２の変更子セット以外の変更子値を含むことができるように、モード別輝度テーブルを使用することが可能である。
【０１６３】
第１の輝度インデックスは11binである。これは、第１の輝度変更子値−１２７が第１の画像単位の３つの成分全てに加算されるべきであることを示す：
2007520103.tif 000056
得られた成分は、０と２５５との間にクランプされ、その結果として（55, 0, 0）を与える。部分的に復号された画像ブロックは以下のようになる：
2007520103.tif 000057
次の画像単位に対して、輝度インデックスは01binである。すなわち、輝度変更子１２７は、３つの色成分全てに加算されるべきである。クランプ後の結果は、（255, 200, 163）となる。ブロック中の全ての画像単位に対してこの手順を繰り返すことにより、以下に示されるような部分的に復号された画像ブロックが作成される：
2007520103.tif 000058
その後、画像単位に対するアルファ値が生成される。尚、ＰＡＴモードにおいて、単一のアルファ値は、全ての画像単位に対して生成される。第２の量子化アルファ値のＭＳＢ（ビット１２）は、このアルファ値を生成するために使用される。この例において、そのビットは0binであり、それは、0101 0101bin ⇔ 85 ⇔ 0.3333に拡張される。値８５は全ての画像単位に割り当てられ、その結果、最終的な復号画像ブロック表現は以下のようになる：
2007520103.tif 000059
（復号の例４）
画像ブロックの圧縮表現は、1 101 0 010 1 001 1 011 1 1011000 01 11 00 10binである。ここで、ビット０はモードインデックスであり、ビット１〜３は色コードワードの赤色成分であり、ビット４はアルファコードワードのモード関連量子化アルファ値のＭＳＢであり、ビット５〜７は色コードワードの緑色成分であり、ビット８はモード関連量子化アルファ値のＬＳＢであり、ビット９〜１１は色コードワードの青色成分であり、ビット１２はアルファコードワードのデータ搬送量子化アルファ値のＭＳＢであり、ビット１３〜１５は輝度コードワードであり、ビット１６はデータ搬送量子化アルファ値のＬＳＢであり、ビット１７〜２３はアルファインデックスサブシーケンスであり、ビット２４〜３１は輝度インデックスのサブシーケンスである。
【０１６４】
色表現の生成及び色成分の輝度変更は、上記復号の例１と同様に実行される。部分的に復号されたブロック表現は以下のようになる：
2007520103.tif 000060
モード関連量子化アルファ値（αＡ）は10binであり、データ搬送量子化アルファ値（αＢ）は11binである。表４を参照すると、アルファコードワード値の組合せは、11bin及び10binの第１の量子化アルファ値を表す。それら量子化値は、８ビットアルファ値に拡張される：
第１のアルファ値：11111111bin ⇔ 255 ⇔ 1.0
第２のアルファ値：10101010bin ⇔ 170 ⇔ 0.6667
例１において概要を示した原理によると、最終的な復号ブロックは以下のようになる：
2007520103.tif 000061
（実現例の説明）
本発明による画像符号化（画像ブロック符号化）及び画像復号（画像ブロック復号）方式は、画像を処理及び／又はレンダリングするように構成されたユーザ端末又は他のユニット等の汎用データ処理システムに提供される。そのような端末は、コンピュータであってもよい。しかし、本発明は、パーソナルデジタルアシスタンス（ＰＤＡ）、移動ユニット及び移動電話等のシンクライアントに非常に適する。そのような端末は、通常、メモリ容量及びメモリ帯域幅が制限されることを特徴とし、バッテリ、すなわち制限された電源により電力が供給される。本発明による符号化及び復号の双方が、ハードウェア、ソフトウェア、あるいはハードウェア及びソフトウェアの組合せで非常に単純に実現でき、符号化画像ブロックの最大サイズが僅か３２ビットであるのが好ましいため、本発明をシンクライアントに適用することは好都合である。
【０１６５】
（画像処理端末）
図１１は、移動ユニットにより表される画像処理端末１００を示す。しかし、本発明は、移動ユニットに限定されず、他の端末及びデータ処理ユニットにおいて実現されてもよい。本発明に直接関連する移動ユニット１００の手段及び要素のみが図示される。
【０１６６】
移動ユニット１００は、移動ユニット１００内で画像データを含むデータを処理する（中央）処理装置（ＣＰＵ）２００を具備する。グラフィックシステム１３０は、画像及び図形データを管理するために移動ユニット１００に提供される。特に、グラフィックシステム１３０は、接続画面１２０又は他の表示装置に画像をレンダリング又は表示する。移動ユニット１００は、データを格納するための記憶装置又はメモリ１４０を更に具備する。このメモリ１４０において、画像データ、特に本発明による符号化画像データ（圧縮画像ブロック）が格納されてもよい。画像ブロックの全体のサイズが小さく（３２ビット）、圧縮率が高い（４ｂｐｐ）のため、メモリ容量が制限される移動ユニット１００の場合でも、画像データはメモリ１４０に効率的に格納される。
【０１６７】
本発明による画像符号器２１０は、移動ユニット１００に提供される。この符号器２１０は、画像又はテクスチャを画像（又はテクスチャ）の符号化表現に符号化するように構成される。上述したように、そのような符号化表現は、複数の圧縮画像ブロックのシーケンス又はファイルを含む。図示されるように、この画像符号器２１０は、ＣＰＵ２００上で実行するソフトウェアとして提供されてもよい。あるいは、又はそれに加えて、符号器２１０は、移動ユニット１００のグラフィックシステム１３０又はその他の場所に配置される。
【０１６８】
ブロック符号器２１０からの画像の符号化表現は、後で画像がレンダリングされるまで格納しておくために、（メモリ）バス１５０を介してメモリ１４０に提供されてもよい。あるいは、又はそれに加えて、符号化画像データは、入出力（Ｉ／Ｏ）ユニット１１０に転送され、他の外部端末又はユニットに対して（無線又は有線）送信されてもよい。このＩ／Ｏユニット１１０は、外部ユニットから画像データを受信できる。この画像データは、画像符号器２１０により符号化されるべき画像又は復号されるべき符号化画像である。例えば、グラフィックシステム１３０に提供される専用テクスチャメモリに符号化画像表現を格納することも可能である。更に、符号化画像の一部は、専用テクスチャメモリに加えて又はその代わりに、例えばグラフィックシステム１３０の（テクスチャ）キャッシュメモリに（一時的に）格納される。本発明の安価（複雑性に関して）で高速な伸張の大きな利点は、迅速に簡単にアクセスするために、圧縮画像ブロックがキャッシュに少なくとも一時的に格納されてもよいことである。これは、高圧縮率により更に容易になる。高圧縮率により、非圧縮（ＲＧＢＡ８８８８）ブロックデータと比較して８倍の量の画像ブロックデータをキャッシュに同時に格納できる。
【０１６９】
（メモリ）バス１５０が３２ビットの最大帯域幅を有する場合、本発明の１つの符号化画像表現をメモリ１４０から取り出す又は読み出すために要求されるメモリアクセスは１回である。しかし、バス１５０がより大きな帯域幅容量、例えば６４ビット又は１２８ビットを有する場合、複数の符号化画像表現が１回のメモリアクセスで取り出される。例えば、バス１５０が６４ビットであり、画像ブロックサイズは図２Ａの通りであると仮定する。画像ブロックが図２Ａに従い、「順次上に」積み重ねられる場合、あるいは、画像ブロックが図２Ｂに従い、「並列に」並べられる場合、１つの画像ブロックは、メモリ１４０の後続の画像ブロックと共に４×４平方の画像単位を形成する。しかし、図２Ａ（図２Ｂ）のブロックが「並列に」（「順次上に」）配置される場合、画像ブロックは、次のブロックと共に２×８のボックスを形成する。テクスチャキャッシングシステムの形式が採用される場合、所望の画像単位を発見する確率は２×８のボックスよりも４×４平方の方が高いため、４×４平方がより好ましい。
【０１７０】
復号画像表現を生成するため、符号化画像を復号する本発明による画像復号器２２０は、移動ユニット１００に提供される。この復号表現は、元の画像全体又は元の画像の一部に対応する。画像復号器２２０は、グラフィックシステム１３０に復号画像データを提供する。グラフィックシステム１３０は、通常、データが画面１２０にレンダリング又は提示される前にデータを処理する。図示されるように、画像復号器２２０は、グラフィックシステム１３０に配置される。あるいは、又はそれに加えて、復号器２００は、移動ユニット１００のＣＰＵ２００又はその他の場所で実行するソフトウェアとして提供される。
【０１７１】
移動ユニット１００は、図示されるように、画像符号器２１０及び画像復号器２２０の双方を具備できる。しかし、端末１００によっては、画像符号器２１０のみを含むことができる。そのような場合、符号化画像データは別の端末に送信され、その別の端末は、画像の復号及び場合によってはレンダリングを実行する。また、端末１００は、画像復号器２２０のみを含むことができる。すなわち、端末１００は符号器を含まない。そのような端末１００は、別の端末から符号化画像データを含む信号を受信し、その信号を復号して、復号画像表現を生成する。従って、符号化画像信号は、無線送信機及び無線受信機を使用して端末間で無線送信される。あるいは、端末間で画像及び符号化画像表現を配布する他の技術、例えばＩＲポートを使用するＩＲ技術、Ｂｌｕｅｔｏｏｔｈ及び端末間での画像データの有線転送等が採用される。また、端末間で接続及び交換されるメモリカード又はメモリチップは、この端末間の画像データの配布に使用できる。
【０１７２】
移動ユニット１００のユニット１１０、１３０、２００、２１０及び２２０は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。
【０１７３】
（符号器）
図１２は、本発明による画像符号器２１０の一実施形態を示すブロック図である。符号器２１０は、通常、入力画像をいくつかの画像ブロックに分解又は分割する画像分解器２１２を含む。分解器２１２は、画像を８つの画像単位を含む画像ブロックに分解するように構成されるのが好ましい。分解器２１２は、異なる入力画像を異なるサイズの画像ブロックに分解できる。そのような場合、分解器２１２は入力情報を受信し、それにより、所定の画像に対して使用する画像ブロックフォーマットを識別できるのが好ましい。
【０１７４】
画像符号器２１０は、画像をアルファ画像又は非アルファ画像に分類する画像解析器２１４を含むのが好ましい。この解析器２１４は、例えば、画像データと共に格納されることにより画像と関連付けられたグローバルアルファ画像インデックスに基づいて、分類を実行できる。あるいは、解析器は、画像の画像単位のプロパティ（アルファ値又は量子化アルファ値）の調査に基づいて画像分類を実行できる。画像符号器２１０がアルファ画像に対してのみ動作する場合、この画像解析器２１４は省略される。更に、画像解析器の機能性は、ブロック符号器３００に含めてもよい。
【０１７５】
画像符号器２１０の本実施形態は、単一のブロック符号器３００を含む。ブロック符号器３００は、画像分解器から受信した画像ブロックを符号化して、符号化ブロック表現を生成する。アルファブロック圧縮モード（ＰＡＡ又はＰＡＴ）で動作している時、そのような画像ブロック表現は、色コードワード、輝度コードワード、アルファコードワード及びインデックスに関連付けられた画像単位のシーケンスを含む。ブロック表現の全体のサイズは、非符号化画像ブロックの対応するサイズより非常に小さい。ブロック符号器３００は、分解器２１２からの各画像ブロックを順次処理（符号化）するように構成されるのが好ましい。
【０１７６】
ブロック符号器３００は、複数の輝度変更子セットを含む少なくとも１つの輝度テーブル５００を含むか又は輝度テーブル５００にアクセスできるのが好ましい。テーブル５００の変更子セットは、輝度コードワード及び場合によっては色コードワードの生成に使用される。輝度テーブル５００は、画像符号器２１０のブロック符号器３００又はその他の場所に配置される。
【０１７７】
画像符号器２１０は、全ての異なる圧縮モードで使用される単一の輝度テーブル５００を含むことができる。あるいは、いくつかの異なるテーブルが符号器２１０に配置される。ここで、テーブルの輝度変更子は、異なる圧縮モード及び／又は異なる画像の種類に適応されるか、あるいはテーブルが特定の画像に適応される。
【０１７８】
画像符号器２１０のユニット２１２、２１４及び３００は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット２１２、２１４、３００及び５００は、画像符号器２１０に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型の実施形態も可能である。
【０１７９】
図１３は、本発明による画像符号器２１０の別の実施形態を示すブロック図である。画像符号器２１０は、図１２の実施形態と同様に、画像分解器２１２及び画像解析器２１４を含む。それらについて、更なる説明は行なわない。しかし、符号器２１０は、複数の（Ｍが２以上の正の整数である場合、Ｍ個の）ブロック符号器３００‐１〜３００‐Ｍを含む。そのようなブロック符号器３００‐１〜３００‐Ｍの各々は、基本的には、図１２の画像符号器のブロック符号器に対応する。画像符号器２１０に複数のブロック符号器３００‐１〜３００‐Ｍを提供することにより、分解器２１２からの複数の画像ブロックは、同時に処理（符号化）されてもよく、それにより、画像符号化の総時間は減少される。あるいは、ブロック符号器３００‐１〜３００‐Ｐの第１のサブセットは、ＰＡＡ圧縮モードに従って画像ブロックを圧縮するように動作し、残りのサブセットである符号器３００‐Ｐ＋１〜３００‐Ｍは、ＰＡＴ圧縮モードに従って動作する（１＜Ｐ＜Ｍ）。別の実施形態において、ブロック符号器３００‐１〜３００‐Ｐの第１のサブセットは、アルファ画像を圧縮するために、すなわちＰＡＡ、ＰＡＴ及びＰＡＰモードのうち１つに従って動作される。残るブロック符号器３００‐Ｐ＋１〜３００‐Ｍは、非アルファ画像（ＰＡモード、又はＰＰ及びＰＣモード）に対して使用される。そのような場合、画像解析器２１４は、関連する圧縮モードに従って動作可能な１つの（又は複数の）正確なブロック符号器を起動する圧縮モードコマンドを生成するのが好ましい。
【０１８０】
ブロック符号器３００‐１〜３００‐Ｍの各々は、輝度テーブル５００を含む。種々の符号器３００‐１〜３００‐Ｍの輝度テーブル５００の全ては、同一の輝度変更子値を含むことができる。あるいは、モード別輝度テーブルが、符号器３００‐１〜３００‐Ｍにより採用される。別の実現例において、単一の輝度テーブル５００が画像符号器２１０に配置され、全てのブロック符号器３００‐１〜３００‐Ｍに接続される。
【０１８１】
画像符号器２１０のユニット２１２、２１４及び３００‐１〜３００‐Ｍは、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット２１２、２１４、３００‐１〜３００‐Ｍ及び５００は、画像符号器２１０に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型の実施形態も可能である。
【０１８２】
図１４は、図１２の画像符号器のブロック符号器又は図１３の画像符号器のブロック符号器のうちの１つのブロック符号器等の本発明によるブロック符号器３００の一実施形態を示すブロック図である。符号器３００はアルファ量子化器３４０を含み、アルファ量子化器３４０は、ブロック中の画像単位のアルファ値に基づく複数の量子化アルファ値を含むアルファコードワードを生成する。このアルファコードワード又はコードワードの量子化アルファ値は、ブロック符号器３００のモード選択器３１０に転送されるのが好ましい。現在のブロックの画像単位の全てが不透明度値に関連付けられる場合、アルファ量子化器３４０は、非アルファブロック識別子を生成できる。そのような場合、この非アルファブロック識別子は、モード選択器３１０に転送される。
【０１８３】
モード選択器３１０は、現在のブロックに対して使用する圧縮モードを選択する。このモード選択は、アルファ量子化器３４０から受信したアルファコードワード又はアルファ値に基づいて少なくとも部分的に実行される。例えば、量子化アルファ値が全て等しくない場合、ＰＡＡ圧縮モードが選択され、量子化アルファ値が等しい場合、ＰＡＴ圧縮モードが選択される。しかし、圧縮モードを選択する時、モード関連量子化アルファ値は、モード選択器３１０により使用されてもよい。
【０１８４】
色量子化器３２０は、画像ブロック中の画像単位の色の色表現を判定し、その色表現を量子化する。色表現は、画像単位の２４ビット平均色であるのが好ましい。色表現は、その後、量子化器３１０により９ビット色表現、すなわち色コードワードに量子化される。
【０１８５】
輝度量子化器３３０は、現在の画像ブロックに対して使用する輝度変更子セットを識別するためにブロック符号器３００に提供される。量子化器３３０は、関連する輝度テーブル５００から変更子セットを選択するように構成されるのが好ましい。量子化器３３０は、選択された変更子セットと関連付けられる輝度コードワードを生成する。複数の輝度テーブル５００が利用可能である場合、使用する正確な（モード別）テーブルは、モード選択器３１０から受信したモード信号に基づいて識別されるのが好ましい。
【０１８６】
符号器３００は、ブロック中の画像単位に対して画像単位関連インデックス（アルファ及び輝度インデックス）を選択するインデックス選択器３５０を更に含む。モード選択器３１０からのモードコマンドがＰＡＡモードであることを知らせる場合、インデックス選択器３５０は、まず、アルファインデックスを含む第１のサブシーケンスを生成する。このアルファインデックスサブシーケンスは、ブロックの画像単位のサブセットの各画像単位に対してアルファインデックスを含むのが好ましい。そのようなアルファインデックスは、アルファ量子化器３４０により生成されるアルファコードワードの量子化アルファ値のうちの１つと関連付けられる。好ましくは１つの画像単位を含む残りのサブセットは、量子化アルファ値のうちの１つと事前に関連付けられ、これは、この画像単位に対してアルファインデックスが要求されないことを示す。更に、インデックス選択器３５０は、輝度インデックスサブシーケンスを生成する。このＰＡＡモードの第１の実施形態において、輝度インデックスサブシーケンスは、ブロック中の複数の画像単位、好ましくは２つの画像単位、更に好ましくは２つの隣接する画像単位の各サブセットに対して輝度インデックスを含む。ＰＡＡモードの第２の実施形態において、各画像単位は、各輝度インデックスと関連付けられる。それらの輝度インデックスは、輝度量子化器３３０からの輝度コードワードにより表される変更子セットの輝度変更子のうちの１つとそれぞれ関連付けられる。第１のＰＡＡ実施形態において、変更子セットの全ての変更子値は利用可能であり、輝度インデックスにより表される。しかし、第２のＰＡＡ実施形態においては、変更子値のサブセットが、輝度インデックスにより表されるのが好ましい。
【０１８７】
ＰＡＴモードにおいて、インデックス選択器３５０は輝度インデックスを生成する。輝度インデックスは、ブロック中の各画像単位に対して、輝度量子化器３３０により提供されるような輝度コードワードにより表される輝度変更子セットの変更子値のうちの１つと関連付けられる１つの輝度インデックスを含む。
【０１８８】
ブロック符号器３００は、画像ブロックに対するコードワード及び画像単位関連インデックスを選択する目的で、誤差値を推定する誤差推定器３６０をオプションとして含むことができる。関連する誤差値を最小にするコードワード及びインデックスは、関連する圧縮画像ブロックバージョンに対して選択される。
【０１８９】
このブロック符号器の構成は非常に適応性があり、アルファブロック圧縮モードに加え、非アルファブロック圧縮モード（ＰＡＰ）及び非アルファ画像の圧縮にも使用される。
【０１９０】
そのような場合、モード選択器３１０は各モード信号を生成する。色量子化器３２０、輝度量子化器３３０及びインデックス選択器３５０は、このモード別信号に対して応答可能である。
【０１９１】
例えば、画像が非アルファ画像である場合、モード選択器３１０は、画像符号器の画像解析器から非アルファ画像識別子を受信するのが好ましい。ＰＡモード信号、あるいはＰＰモード信号及びＰＣモード信号のうちのいずれかが、モード選択器３１０により生成される。
【０１９２】
更に、モード選択器３１０は、得られた圧縮画像ブロックに含まれるブロックモードインデックス又は得られた圧縮画像ブロックと関連付けられるブロックモードインデックスを生成するのが好ましい。アルファ画像の場合、このモードインデックスは、アルファブロック（ＰＡＡモード又はＰＡＴモード）又は非アルファブロック（ＰＡＰモード）を指示する。非アルファ画像の場合、このモードインデックスは、ＰＰモードとＰＣモードとを区別するために使用される。しかし、非アルファ画像が単一の非アルファ圧縮モードＰＡを使用して符号化される場合、ブロックモードインデックスは必要ない。
【０１９３】
色量子化器３２０がＰＡＰ、ＰＡ又はＰＰモード信号を受信する場合、画像ブロックの量子化色表現は、ＰＡＡモード及びＰＡＴモードの９ビット色コードワードと比較して１２ビット色コードワードであるのが好ましい。更に、モード信号がＰＣモードを表す場合、色量子化器３２０は、ブロック中の画像単位の色成分値に基づいて、２つの１２ビット色コードワードを生成するのが好ましい。
【０１９４】
モード選択器３１０からのモード別信号は、輝度テーブル及び／又は輝度コードワードのサイズを区別するために輝度量子化器３３０により使用される。輝度コードワードは、ＰＡＡ、ＰＡＴ、ＰＡＰ及びＰＰモードでは３ビット、ＰＡモードでは４ビットであるのが好ましい。
【０１９５】
モード信号がＰＣモードを表す場合、インデックス選択器３５０は、ブロック中の画像単位のサブセットの各画像単位に対して色インデックスを生成する。ＰＣモードで動作する時、各色インデックスは、色量子化器３２０により生成された２つの色コードワードのうち一方と関連付けられる。残りの画像単位サブセット、好ましくは１つの画像単位は、色コードワードの１つと事前に関連付けられる。
【０１９６】
ブロック符号器３００のユニット３１０〜３６０は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット３１０〜３６０及び５００は、ブロック符号器３００に共に実現されてもよい。あるいは、ユニットの一部が画像符号器の他の場所に提供される分散型の実施形態も可能である。
【０１９７】
本発明による色量子化器３２０の好適な実施形態を図１５のブロック図に示す。量子化器３２０は、画像ブロック中の画像単位の色の平均を判定するように構成される手段３２２を含む。この平均色は、ＲＧＢ色であるのが好ましいが、画像処理で使用される他の任意の色フォーマットであってもよい。この判定された平均色は量子化手段３２４に提供され、量子化手段３２４はその平均色を量子化する。量子化器３１４は、色平均器３２２からの２４ビット平均ＲＧＢ色を９ビットＲＧＢ色に量子化するように構成されるのが好ましい。
【０１９８】
ＰＡＰ、ＰＡ及びＰＰモードの１つに従って動作する場合、対応する量子化平均ＲＧＢ色は１２ビットであるのが好ましい。ＰＣモードに従って動作する場合、量子化手段３２４は、画像ブロックに対して２つの色コードワードを判定する。これは、（ＲＧＢ）色空間の平均色点を通過する最適な線を判定することにより実現される。この線上の２つの点が選択され、量子化手段３２４により２つの（１２ビットＲＧＢ）色コードワードに量子化される。
【０１９９】
色量子化器３２０のユニット３２２及び３２４は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット３２２及び３２４は、色量子化器３２０に共に実現されてもよい。あるいは、ユニットの一部がブロック符号器の他の場所に提供される分散型の実施形態も可能である。
【０２００】
本発明による輝度量子化器３３０の好適な実施形態を図１６のブロック図に示す。量子化器３３０は、関連する輝度テーブル５００から変更子セットを選択する変更子セット選択器３３２を含むのが好ましい。量子化器３３０は、選択された変更子セットと関連付けられる輝度コードワードを生成する。輝度テーブルの選択を行なう場合、輝度テーブルの選択は、入力モード信号に基づいて行なわれるのが好ましい。
【０２０１】
輝度量子化器３３０のユニット３３２は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。
【０２０２】
本発明によるアルファ量子化器３４０の好適な実施形態を図１７のブロック図に示す。アルファ量子化器３４０の量子化手段３４４は、画像ブロックの元のアルファ値を量子化するのが好ましい。各アルファ値は、[0.0, 0.3333, 0.6667, 1.0]（0, 85, 170, 255）、[0.0, 0.50, 0.75, 1.0]（0, 128, 191, 255）、[0.0, 0.25, 0.50, 1.0]（0, 64, 128, 255）又は[0.0, 0.25, 0.75, 1.0]（0, 64, 191, 255）のセット等の利用可能な値の事前定義済みセットから選択された値に量子化されるのが好ましい。このセットは、アルファ量子化器３４２のメモリ又はテーブル３４６に格納されるか、あるいはそれに関連付けられるのが好ましい。量子化器３４０の選択器３４２は、ブロックの（８つの）量子化値を最もよく表す事前定義済みセットから２つの量子化アルファ値を選択する。別の実施形態において、選択器３４２は、ブロックの（８つの）元の（非量子化）アルファ値を最もよく表す事前定義済みセットの２つの量子化アルファ値を選択する。いずれの場合も、２つの選択された値は、アルファコードワードの量子化アルファ値となる。
【０２０３】
値の選択は、メモリ３４６中のセットの２つの量子化アルファ値の任意の組合せを検査することにより、全数検索として実行される。最小の誤差値を与える特定の組合せが選択される。
【０２０４】
選択器３４２は、それら２つの量子化アルファ値（選択された量子化アルファ値）を比較する。それらが異なる場合、選択器３４２はＰＡＡモード識別子を生成し、それをブロック符号器のモード選択器に転送する。しかし、それらが等しい場合、ＰＡＴモード識別子が生成され、送信される。あるいは、２つの量子化アルファ値が、ＰＡＡ／ＰＡＴモード識別子の代わりにモード選択器に送信される。
【０２０５】
２つの量子化アルファ値が等しくない場合、得られるアルファコードワードは、２つの２ビット量子化アルファ値を含むのが好ましい。しかし、量子化アルファ値が等しい場合、アルファコードワードの単一ビットが、アルファ値の表現として使用される。他の量子化アルファ値の複数ビットのうち１ビットがこのビットのコピーである。更に、複数の量子化アルファ値のうち１つの量子化アルファ値の残りのビットは、輝度インデックスシーケンスにより共有される。すなわち、残りのビットは、ブロック符号器のインデックス選択器により規定される。他の量子化アルファ値の残りのビットは、この共有ビットのコピーである。
【０２０６】
アルファ量子化器３４０のユニット３４２及び３４４は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット３４２、３４４及び３４６は、アルファ量子化器３４０に共に実現されてもよい。あるいは、ユニットの一部がブロック符号器の他の場所に提供される分散型の実施形態も可能である。
【０２０７】
本発明によるインデックス選択器３５０の好適な実施形態を図１８のブロック図に示す。インデックス選択器３５０は、少なくとも１つの画像単位の各サブセットに対して１つの輝度インデックスを選択する輝度インデックス選択器３５２を含むのが好ましい。輝度インデックス選択器３５２をＰＡＡ圧縮モードに従って動作させる場合、得られる輝度インデックスサブシーケンスは、４つの２ビット輝度インデックス又は８つの１ビット輝度インデックスを含むのが好ましい。一方で、ＰＡＴ（及びＰＡＰ、ＰＡ又はＰＰ）モードに従って動作する場合、輝度インデックス選択器は、８つの２ビット輝度インデックスのサブシーケンスを生成するのが好ましい。
【０２０８】
インデックス選択器３５０は、ＰＡＡモードで動作し且つアルファインデックスサブシーケンスを生成する場合、アルファインデックスを選択するアルファインデックス選択器３５４を更に含むのが好ましい。このシーケンスは、７つの１ビットアルファインデックスを含むのが好ましい。
【０２０９】
インデックス選択器３５０は、ＰＣモードで動作可能な色インデックス選択器を更に含むことができる。そのような場合、色インデックス選択器は、好ましくは７つの１ビット色インデックスである色インデックスのシーケンスを生成する。
【０２１０】
インデックス選択器３５０のユニット３５２及び３５４は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット３５２及び３５４は、インデックス選択器３５０に共に実現されてもよい。あるいは、ユニットの一部がブロック符号器の他の場所に提供される分散型の実施形態も可能である。
【０２１１】
（復号器）
図１９は、本発明による画像復号器２２０の一実施形態を示すブロック図である。画像復号器２２０は、画像解析器２２４を含むのが好ましい。画像解析器２２４は、符号化画像がアルファ画像であるか又は非アルファ画像であるかを判定するために、受信した符号化画像を解析する。画像の分類は、符号化画像データと共に格納するなど、符号化画像と関連付けられたグローバルアルファ画像インデックスに基づくのが好ましい。アルファ画像識別子（アルファ画像又は非アルファ画像）は、分類に基づいて解析器により生成され、画像ブロックの実際の復号を実行するブロック復号器４００に送信されるのが好ましい。画像復号器２２０がアルファ画像に対してのみ動作する場合、画像解析器２２４は省略される。画像解析の機能性は、ブロック復号器４００に含めてもよい。
【０２１２】
復号するブロック復号器４００に提供されるべき符号化画像ブロックを、例えばメモリから選択するために、ブロック選択器２２２が画像復号器２２０に提供されるのが好ましい。ブロック選択器２２２は、例えばヘッダ又はレンダリングエンジンから、符号化画像データと関連付けられた入力情報を受信するのが好ましい。所望の画像単位を有する圧縮画像ブロックのアドレスは、入力情報に基づいて計算される。この計算されたアドレスは、画像内の画像単位（画素、テクセル又はボクセル）の座標に依存するのが好ましい。ブロック選択器２２２は、そのアドレスを使用して、例えばメモリ又はキャッシュから符号化画像ブロックを識別する。識別された符号化画像ブロックは、記憶装置から取り出され、ブロック復号器４００に提供される。
【０２１３】
画像ブロックの画像単位に（ランダム）アクセスすることにより、必要な画像の部分のみを選択的に取り出し且つ復号することが可能となるのは好都合である。更に、画像は、データが要求される任意の順番で復号される。例えば、テクスチャマッピングにおいて、テクスチャの一部のみが要求されることもあり、一般に、それらの部分は順不同に要求される。従って、本発明の画像復号は、画像の一部又は１つのセクションのみを処理するように有利に適用される。
【０２１４】
選択された符号化画像ブロックは、ブロック復号器４００に転送される。復号器４００は、画像ブロックに加え、復号されるべきブロックの画像単位を指定する情報を受信するのが好ましい。情報は、画像ブロック全体、すなわち画像ブロック中の全ての画像単位が復号されるべきであると指定することができる。しかし、受信した情報は、復号されるべき画像単位を１つのみ又は少数のみ指定してもよい。更に、ブロック復号器４００は、アルファ画像識別子を受信する。その後、ブロック復号器４００は、ブロック中の画像単位の伸張表現を生成する。この復号表現は、２４ビットＲＧＢ色等のＳビット色及び８ビットアルファ値等のＴビットアルファ値であるのが好ましい。ここで、Ｓは、元の画像の画像単位毎のビット数であり、Ｔは、元の画像の画像単位毎のビット数である。ブロック復号器４００は、復号手順中に使用される輝度テーブル５００を含むのが好ましい。あるいは、輝度テーブル５００は、画像復号器２２０の他の場所に提供されてもよい。図１２及び図１３に関連して先に説明した種々の伸張モード及び／又は画像の種類に対する種々の輝度テーブルの使用法は、画像復号器２２０にも適用される。
【０２１５】
オプションの画像合成器２２６は、復号器２２０に提供される。この合成器は、ブロック復号器４００から復号画像単位を受信し、それらを合成して、画面上にレンダリング又は表示される画素、テクセル又はボクセルを生成する。合成器２２６は、単一の画素、テクセル又はボクセルを生成するために、いくつかの入力画像単位を必要とする。この画像合成器２２６は、グラフィックシステムに提供されてもよい。
【０２１６】
画像復号器２２０のユニット２２２〜２２６及び４００は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット２２２〜２２６、４００及び５００は、画像復号器２２０に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型の実施形態も可能である。
【０２１７】
図２０は、本発明による画像復号器２２０の別の実施形態を示すブロック図である。ブロック選択器２２２、画像解析器２２４及び画像合成器２２６は、図１９の対応するユニットに類似するため、それらについての更なる説明は行なわない。
【０２１８】
画像復号器２２０は、複数のブロック復号器４００‐１〜４００‐Ｑ（Ｑは、２以上の正の整数である）を含む。複数のブロック復号器４００‐１〜４００‐Ｑにアクセスすることにより、画像復号器２２０は、複数の圧縮画像ブロックを同時に処理（復号）できる。それらの複数のブロック復号器４００‐１〜４００‐Ｑは、並列処理を可能にし、画像復号器２２０の処理性能及び効率を向上する。例えば、一般に、最近傍補間に対しては、１つの復号画像単位で十分であるが、２次元線形（３次元線形）補間の場合には、４つ（８つ）の画像単位が必要である。ブロック復号器４００‐１〜４００‐Ｑの各々は、復号に使用される輝度テーブル５００を含むことができる。あるいは、単一のテーブル５００は、画像復号器２２０に配置され、全てのブロック復号器４００‐１〜４００‐Ｑに接続される。異なる種類の輝度テーブルの使用についての更なる説明（図１３に関連する先の説明を参照）は、画像復号器２２０にも適用される。図１３に関連する先の説明と同様に、ブロック復号器４００‐１〜４００‐Ｐの第１のサブセットは、ＰＡＡ伸張モードに従って圧縮画像ブロックを伸張するように動作し、残りのサブセット復号器４００‐Ｐ＋１〜４００‐Ｑは、ＰＡＴ伸張モードに従って動作する（０＜Ｐ＜Ｑ）。あるいは、ブロック復号器４００‐１〜４００‐Ｐの一部は、アルファ画像のブロックの伸張（ＰＡＡ、ＰＡＴ及びＰＡＰモード）に適応され、残る復号器４００‐Ｐ＋１〜４００‐Ｑは、非アルファ画像のブロックの伸張（ＰＡ、ＰＰ又はＰＣモード）に使用される。
【０２１９】
画像復号器２２０のユニット２２２〜２２６及び４００‐１〜４００‐Ｑは、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット２２２〜２２６、４００‐１〜４００‐Ｑ及び５００は、画像復号器２２０に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型の実施形態も可能である。
【０２２０】
図２１は、本発明によるブロック復号器４００の一実施形態を示す。ブロック復号器４００は、伸張モード選択器４１０を含む。伸張モード選択器４１０は、現在の符号化画像ブロックを伸張する時に従うべきモードを選択する。このモード選択は、アルファコードワードの調査に少なくとも部分的に基づくか、又はアルファコードワードの少なくとも１つの量子化アルファ値に基づくのが好ましい。すなわち、モード選択は、ＰＡＡモードとＰＡＴモードとの区別を可能にする。モード別信号又はコマンドは、モード選択器４１０により生成される。ブロック復号器４００に含まれるユニットは、モード別信号に応答可能であるのが好ましい。
【０２２１】
色発生器４３０は、色コードワードに基づいて画像ブロック中の画像単位に対する色表現を生成する。発生器４２０は、コードワードの９ビット色を２４ビット（ＲＧＢ）色に拡張するのが好ましい。
【０２２２】
ブロック復号器４００は、輝度コードワードに基づいて関連する輝度テーブル５００からの輝度変更子セットを提供する手段４２０を更に含む。この提供装置４２０は、輝度テーブル５００から変更子値の第１のサブセットを取り出し且つ第１のサブセットに基づいて変更子の第２のサブセットを判定するように構成される。複数の輝度テーブル５００間で選択する場合、使用する正確なテーブルは、モード選択器４１０からのモード信号に基づいて、提供装置４２０により識別されるのが好ましい。
【０２２３】
変更子選択器４４０は、手段４１０により提供された変更子セットの輝度変更子値のうち１つを選択するために配置される。変更子選択器４４０は、輝度インデックスのシーケンスに基づいて、圧縮画像ブロック中の画像単位に対する正確な変更子値を選択するように構成される。モード選択器４１０からのモード信号は、変更子選択器４４０がシーケンスから正確な輝度インデックスを識別すること、例えば１ビットインデックス（ＰＡＡモードの一実施形態）と２ビットインデックス（ＰＡＡモード又はＰＡＴモードの第２の実施形態）とを区別することを可能にする。
【０２２４】
色発生器４３０からの拡張色及び変更子選択器４４０からの変更子値は、変更子値を使用して拡張色の色成分の輝度を変更する輝度変調器又は変更装置４５０に転送される。変更装置４５０は、異なる色成分に対しては異なる重みを有する重み付き輝度変更子値を使用できる。更に、色成分が輝度変更されると、変更装置４５０は、最大閾値と最小閾値との間、例えば０と２５５との間に成分をクランプするのが好ましい。
【０２２５】
画像ブロックの少なくとも１つのアルファ値を生成するアルファ値発生器４６０は、ブロック復号器に実現される。この値の生成は、圧縮画像ブロック表現のアルファコードワードに基づく。モード選択器４１０からのモードコマンドがＰＡＡモードであることを知らせる場合、発生器４６０は、アルファコードワードの第１の量子化アルファ値を使用して第１のアルファ値を判定し、第２の量子化アルファ値を使用して第２のアルファ値を判定する。発生器４６０は、アルファコードワードの量子化アルファ値から直接アルファ値を判定することもできる。別の実現例において、発生器４６０は、アルファコードワードから第１の量子化アルファ値及び第２の量子化アルファ値を提供するために、テーブルルックアップ又は変換アルゴリズムを使用する。いずれの場合も、（２ビット）量子化アルファ値は、８ビットアルファ値に拡張されるのが好ましい。しかし、ＰＡＴモードで動作する時、複数の量子化アルファ値のうち１つの量子化アルファ値の単一ビットのみが、単一アルファ値を生成するために使用されるのが好ましい。
【０２２６】
アルファ割当装置４７０は、発生器４６０からアルファ値を受信し、そのアルファ値を画像単位に割り当てる。この値の割当ては、アルファインデックス及び事前定義済みのアルファの関連付けを使用してＰＡＡモードで実行される。関連するアルファインデックスを有する画像単位の場合、そのインデックスは、２つの可能なアルファ値のうち一方を選択するために使用される。画像単位が量子化アルファ値のうち１つと事前に関連付けられる場合、すなわち、画像単位がアルファインデックスを有さない場合、量子化アルファ値から生成されたアルファ値は、割当装置４７０により画像単位に割り当てられる。ＰＡＴモードにおいて、アルファインデックスは圧縮画像ブロックで見付けられない。その結果、伸張されるブロック中の全ての画像単位は、発生器４６０からの単一のアルファ値を割り当てられる。
【０２２７】
図１４のブロック符号器と同様に、本発明によるブロック復号器４００は、伸張モードの拡張に対して適応性のある解決策を提供する。ブロック復号器４００は、アルファブロックの伸張に専用であってもよい。しかし、ブロック復号器４００は、ＰＡＰ、ＰＡ、ＰＰ又はＰＣモードに従って非アルファブロックの伸張を管理するために単に拡張することもできる。
【０２２８】
モード選択器４１０は、現在の圧縮画像ブロックと関連付けられる入力情報から正確なモード別信号を生成する。入力情報は、アルファコードワードに加え、圧縮画像ブロックに含まれるブロックモードインデックス及びグローバルアルファ画像インデックスを含むのが好ましい。そのような場合、ＰＡＡ、ＰＡＴ、ＰＡＰ、ＰＡ、ＰＰ及びＰＣモードの区別は、選択器４１０により行なわれる。
【０２２９】
色発生器４３０は、モード選択器４１０からのモード別信号に応答可能である。信号がＰＡＡモード又はＰＡＴモードを表す場合、（２４ビット）色表現は、９ビット色コードワードから生成される。しかし、ＰＡＰ、ＰＡ又はＰＰモード信号は、色発生器４３０に１２ビット色コードワードから（２４ビット）色表現を判定させる。これに対し、ＰＣモードに従って動作する時、第１の色表現及び第２の色表現は、第１の色コードワード及び第２の色コードワードを使用して、好ましくは（１２ビット）コードワードをそれぞれ２４ビット色に拡張することにより判定される。関連する色表現は、色インデックスシーケンス及び事前定義済みの色コードワードの関連付けを使用して各画像単位に割り当てられる。
【０２３０】
ブロック復号器４００のユニット４１０〜４７０は、ソフトウェア、ハードウェア又はそれらの組合せとして提供されてもよい。ユニット４１０〜４７０及び５００は、ブロック復号器４００に共に実現されてもよい。あるいは、ユニットの一部がユーザ端末の他の場所に提供される分散型の実施形態も可能である。
【０２３１】
図２２Ａ及び図２２Ｂは、本発明によるブロック復号器４００のハードウェアによる可能な実現例を概略的に示す。ブロック復号器４００は、ＰＡＡ伸張モード及びＰＡＴ伸張モードに加え、ＰＡＰモード、ＰＰモード及びＰＣモードに従っても動作可能である。ブロック復号器４００への入力は、ＰＡＴモード（７００Ａ）、ＰＡＡモード（７００Ｂ）、ＰＡＰモード（７００Ｃ）、ＰＣモード（７００Ｄ）又はＰＰモード（７００Ｅ）に従って圧縮された画像ブロック表現である。これらの異なる入力ブロック表現７００Ａ〜７００Ｅにより示されるように、各ブロック表現は、１ビットブロックモードインデックス、コードワードシーケンス（採用されたモードに応じて、色コードワード、輝度コードワード及び／又はアルファコードワードを含む）及びインデックスシーケンス（採用されたモードに応じて、輝度インデックス、アルファインデックス及び／又は色インデックスを含む）から構成されるのが好ましい。ＰＡＴ、ＰＡＰ及びＰＰモードにおいて、輝度インデックスは、８つの輝度インデックスのＭＳＢがインデックスシーケンスの８つのＬＳＢに先行するように構成される。10110001 10000110binの輝度インデックスシーケンスは、輝度インデックス11bin、00bin、10bin、10bin、00bin、01bin、01bin及び10binを表す。ＰＡＡモードにおいて、画像単位の各対は、２ビット輝度インデックスに関連付けられる。画像単位の輝度インデックスのＭＳＢ及びＬＳＢは、シーケンスにおいて互いに隣接して提供される。10000110binの輝度インデックスシーケンスは、輝度インデックス10bin、00bin、01bin及び10binを表す。
【０２３２】
ブロック復号器４００について、ＰＡＡ又はＰＡＴ圧縮画像ブロックを参照して主に説明する。他の動作モードに専用の含まれるユニットについては、簡単に説明する。
【０２３３】
モード選択器４１０は、好ましくは１ビットのグローバルアルファ画像識別子、好ましくは１ビットのブロックモードインデックス及び好ましくは４×１ビットの量子化アルファ値の形式で入力情報を受信する。モード別信号は、入力データの処理の後にモード選択器４１０から出力される。ＰＣ別信号は、接続線Ｃ１上を搬送され、ＰＡＡ信号及びＰＡＴ信号は、接続線Ｃ２及びＣ３上をそれぞれ搬送される。
【０２３４】
色コードワードは、色発生器４３０に提供される。色発生器４３０は、３つのマルチプレクサ４３１〜４３３、３つのビット拡張器４３４〜４３６及び１つのＯＲゲート４３７により実現される。マルチプレクサ４３１〜４３３は、２つの色コードワードを利用するＰＣモードのため必要とされる。他の全ての動作モードにおいて、線Ｃ４、Ｃ６及びＣ８上を搬送された色成分データは転送されるが、線Ｃ５、Ｃ７及びＣ９上を搬送されたデータは阻止される。モード選択信号は、ＡＮＤゲート４４６から入力される。ＡＮＤゲート４４６は、ＰＣモードであり且つ色インデックスが1binである場合は1binを出力し、それ以外の場合は0binを出力する。第１のビット拡張器４３４は４ビット赤色成分及びαＡ０を受信し、第２の拡張器４３５は４ビット緑色成分及びαＡ１を受信し、且つ第３の拡張器４３６は４ビット青色成分及びαＢ０（又はα）を受信する。更に、ＯＲゲート４３７からの出力は、拡張器４３４〜４３６の各々に対する入力である。ＰＡＡ及びＰＡＴモードにおいては、コードワードの各色成分は３ビットであるのが好ましく、他のモードにおいては、対応する色成分は４ビットであることを考慮する。その結果、ＯＲゲート４３７は、ＰＡＡ又はＰＡＴブロックを伸張する時、1binを出力し、それ以外の時は0binを出力する。拡張器４３４〜４３６が1binのＯＲゲート出力を受信する場合、拡張器４３４〜４３６は、先行するマルチプレクサ４３１〜４３３から出力される４ビットの３つのＭＳＢのみを処理して、８ビット色成分に拡張する。しかし、ＯＲゲート出力が0binである場合、４ビットのマルチプレクサの出力全体が、８ビット色成分に拡張される。
【０２３５】
変更子選択器４４０は、５つのマルチプレクサ４４１〜４４５、１つのＡＮＤゲート４４６及び１つのＮＯＲゲート４４７により実現される。３ビットアドレスインデックスは、マルチプレクサ４４１、４４２に入力される。アドレスインデックスに基づいて、マルチプレクサ４４１、４４２は、８つの画像単位のうち復号する画像単位を選択する。ＰＡＴ、ＰＡＰ及びＰＰモードにおいて、マルチプレクサ４４１は２ビット輝度インデックスのＭＳＢを出力し、マルチプレクサ４４２はＬＳＢを出力する。しかし、ＰＡＡモードにおいて、マルチプレクサ４４１は、１ビットアルファインデックスを出力する。尚、このモードの実現例において、ＰＡＡブロック中の第１の画像単位は、常に第１の量子化アルファ値と関連付けられる。その結果、マルチプレクサ４４１は、アルファインデックスシーケンスを表す７つの入力ビット＋第１の画像単位を表すマルチプレクサ４４３からの１つの追加ビット（0bin）を受信する。従って、ＰＣモードで動作する時、ブロック表現７００Ｄの７つの色インデックスは、マルチプレクサ４４１に直接入力され、第１の画像単位の事前定義済みの色の関連付けは、マルチプレクサ４４３から0binを出力することにより実現される。その後、マルチプレクサ４４３は、ＰＰ、ＰＡＰ及びＰＡＴモードでインデックスシーケンス（ビット１５〜３１）のＭＳＢ（ビット１５）を転送する。しかし、ＰＣ及びＰＡＡモードでは、ＮＯＲゲート４４７は0binを出力し、それにより、マルチプレクサ４４３は、インデックスシーケンスのＭＳＢの代わりに0binを出力する。
【０２３６】
ＰＡＡモードにおいて、マルチプレクサ４４４は、２ビットアドレスインデックスを受信し、そのアドレスを使用して正確な輝度インデックスのＭＳＢを選択する。輝度インデックスの対応するＬＳＢは、マルチプレクサ４４２により出力される。それら２ビットは、線Ｃ１３上で組み合わされる。尚、この特定の実現例では、この伸張モードにおいて、マルチプレクサ４８０は常に1binをアドレスインデックスのＬＳＢとして出力する。
【０２３７】
マルチプレクサ４４１、４４２又はマルチプレクサ４４２、４４４から出力された組み合わされた２ビットは、マルチプレクサ４４５に入力される。ＰＡＡモードで動作する時、このマルチプレクサは、マルチプレクサ４４２、４４４からの出力を転送し、それ以外の時は、マルチプレクサ４４１、４４２からの出力が転送される。いずれの場合も、２ビット輝度インデックスは、テーブルルックアップ４２２に提供される。テーブルルックアップ４２２は、図２１の変更子セット提供装置４２０及び輝度テーブル５００に対応する。
【０２３８】
更に、テーブルルックアップ４２２は、接続線Ｃ１０で３ビット輝度インデックスを受信する。種々の輝度テーブルがアルファブロックモード（ＰＡＡ及びＰＡＴ）及び非アルファブロックモード（ＰＡＰ及びＰＰであり、輝度テーブルはＰＣモードでは採用されないことを考慮する）に対して採用される場合、ＯＲゲート４３７は、それらのモードのうち１つに従って画像ブロックを伸張する時にＰＡＡ又はＰＡＴ信号を出力する。ルックアップ４２２は、入力輝度コードワード、オプションのモード信号及び輝度インデックスを使用して、テーブル中の変更子セットのうちの１つから正確な輝度変更子値を取り出す。この９ビット符号付き（正又は負）変更子値は、マルチプレクサ４２４に提供される。ＰＣモードにおいて、マルチプレクサ４２４は0binを出力し、他の動作モードにおいて、マルチプレクサ４２４は、テーブルルックアップ４２２から変更子値を出力する。
【０２３９】
９ビットのマルチプレクサの出力は、輝度変更装置４５０に提供される。このハードウェアによる実現例において、変更装置４５０は、３つの加算器４５１〜４５３及び３つのクランパ４５４〜４５６から構成される。変更子値は、加算器４５１〜４５３の各々に入力される。第１の加算器４５１は、輝度変更子値をビット拡張器４３４からの８ビット赤色成分に加算する。同様に、加算器４５２は、変更子値をビット拡張器４３５からの８ビット緑色成分に加算し、加算器４５３は、変更子値をビット拡張器４３６からの８ビット青色成分に加算する。別の実現例において、加算器４５１〜４５３は、乗算器又はＸＯＲゲート等の他の変更要素で置換できる。加算器４５１〜４５３からの出力は、クランパ４５４〜４５６に転送される。クランパ４５４〜４５６は、０と２５５との間に輝度変更済み色成分をクランプする。クランパ４５４〜４５６からの出力は、画像単位の伸張又は復号２４ビット色である。
【０２４０】
このハードウェアによる実現例において、アルファ発生器４６０は、３つのマルチプレクサ４６１〜４６３、１つの論理否定手段４６４及び１つのビット拡張器４６５から構成される。第１のマルチプレクサ４６１は、２つの量子化アルファ値を受信し、マルチプレクサ４４１からのアルファインデックスに基づいて２つの量子化アルファ値のうち一方を出力する。選択された量子化アルファ値は、第２のマルチプレクサ４６２に転送される。「有用な」量子化アルファ値のＭＳＢは、論理否定手段４６４に提供され、否定値と組み合わされる。例えば、α＝1binは、0binと組み合わされて10binとなる。マルチプレクサ４６２は、マルチプレクサ４６１からの量子化アルファ値及び組み合わされた（部分的に拡張された）量子化アルファ値から選択する。ＰＡＴモードにおいて、有用な量子化アルファ値のＭＳＢを元にした組み合わされた量子化アルファ値は転送され、それ以外のモードにおいては、マルチプレクサの出力が転送される。ＰＡＡ及びＰＡＴモードにおいて、第３のマルチプレクサ４６３は、マルチプレクサ４６２からの量子化アルファ値をビット拡張器４６５に転送する。しかし、他の伸張モードにおいて、マルチプレクサ４６３は、事前定義済み不透明度値を拡張器４６５に転送する。ビット拡張器４６５は、受信した２ビット入力を８ビットアルファ値に拡張する。このアルファ値は、クランパ４５４〜４５６からの２４ビット色値と組み合わされ、伸張画像単位を結果として与える。
【０２４１】
図２２Ａ及び図２２Ｂの復号器４００がアルファ画像のみを伸張するように構成される場合、すなわち、ＰＡＰ、ＰＡＡ、ＰＡＴモードに限定される場合、マルチプレクサ４２４、４３１〜４３３、ＡＮＤゲート４４６及びＮＯＲゲート４４７のユニットは、ハードウェアによる実現例から省略できる。
【０２４２】
しかし、図２２Ａ及び図２２Ｂのハードウェアによる実現例から分かるように、復号器４００の全体は、少数の規格コンポーネントのみを使用して実現され、最大５つの異なる伸張モードに従って、アルファ及び非アルファ画像、並びにアルファ及び非アルファブロックを伸張できる。その結果、所定の画像ブロックに最適なモードは、それら５つのモードの中から選択される。これは、単一の圧縮及び伸張モードに限定された画像処理方式と比較して、処理された画像の画像品質を非常に向上させる。
【０２４３】
図２２Ａの接続線Ｃ１〜Ｃ１７は、図２２ＢのＣ１〜Ｃ１７に継続する。
【０２４４】
図２３は、図２２Ｂのビット拡張器４３４〜４３６のハードウェアによる可能な実現例を概略的に示す。拡張器は、４ビット（赤、緑又は青）色成分、あるいは３ビット（赤、緑又は青）色成分及び量子化アルファ値の１ビットのいずれか一方を表す４ビット入力を受信する。拡張器４３４〜４３６は、この３ビット又は４ビット色成分を対応する８ビット色成分に拡張する。４ビット成分を表す入力及び３ビット成分を表す入力の２つのマルチプレクサの入力が生成される。４ビット成分から開始すると、第１のマルチプレクサの入力のＭＳＢは４ビットの拡張器の入力のＬＳＢであり、第２のＭＳＢは拡張器の入力のＭＳＢであり、第３のＭＳＢは拡張器の入力の第２のＭＳＢであり、残る２つのＬＳＢは拡張器の入力の２つのＬＳＢに対応する。３ビット成分の場合、第２のマルチプレクサの入力の３つのＭＳＢは拡張器の入力の３つのＭＳＢであり、２つのＬＳＢは拡張器の入力のＭＳＢ及び第２のＭＳＢに対応する。
【０２４５】
マルチプレクサ４３８は、図２２ＢのＯＲゲート４３７からの１ビット値に基づいて２つの５ビット値のうち一方を選択する。ＰＡＡ及びＰＡＴモードにおいて、ＯＲゲートの出力は1binであり、マルチプレクサ４３８は、３ビット色成分に対応する第２の５ビット値を転送する。それ以外のモードにおいては、マルチプレクサ４３８は、４ビット色成分に対応する第１の５ビット値を出力する。いずれの場合も、５ビットのマルチプレクサの出力は、拡張された８ビット色成分を形成する拡張器の入力の３つのＭＳＢと組み合わされる。
【０２４６】
図２４は、図２２Ｂのアルファ発生器４６０で使用されるビット拡張器４６５のハードウェアによる可能な実現例を概略的に示す。拡張器４６５は、２ビットの入力量子化アルファ値を単純に繰り返して８ビットアルファ値にする。例えば、10binの２ビット入力は、1010 1010binに拡張される。
【０２４７】
図２５は、図２２Ｂのクランパ４５４〜４５６のハードウェアによる可能な実現例を概略的に示す。クランパ４５４〜４５６に対する入力は、１０ビット輝度変更済み色成分値である。入力値の８つのＬＳＢは、マルチプレクサ４５７に送られる。マルチプレクサに対する他の入力は、最大閾値（２５５；８ビット）である。マルチプレクサ４５７は、輝度変更済み色成分の第２のＭＳＢに基づいて８ビット入力値又は最大閾値のいずれか一方を選択する。換言すると、第２のＭＳＢが１である場合、マルチプレクサ４５７は閾値を出力し、そうでない場合（第２のＭＳＢが０である場合）、８ビット入力値が第２のマルチプレクサ４５８に出力される。第２のマルチプレクサ４５８は、色成分のＭＳＢに基づいて第１のマルチプレクサ４５７からの出力又は最小閾値（０；８ビット）を選択する。ＭＳＢ又は符号ビットが１である場合、第１のマルチプレクサ４５７からの出力は負であり、最小閾値が第２のマルチプレクサ４５８により選択されるべきである。しかし、符号ビットが０である場合、第１のマルチプレクサ４５７からの出力は、第２のマルチプレクサ４５８からの出力でもある必要がある。
【０２４８】
図２６は、テーブルルックアップ４２２のハードウェアによる可能な実現例を概略的に示す。テーブルルックアップ４２２は、全ての伸張モードに共通な単一の輝度テーブルを使用する。マルチプレクサ４２１及び４２３の各々に対して４つの可能な変更子値から１つの７ビット輝度変更子値を選択するために、３ビット入力輝度コードワードの２つのＬＳＢは、２つのマルチプレクサ４２１及び４２３に入力される。表１による輝度テーブルを採用する場合、８つの輝度変更から残りの２４個の値が計算される。マルチプレクサ４２１及び４２３からの選択された輝度変更子値は、別のマルチプレクサ４２５に入力され、マルチプレクサ４２５は、図２２Ｂのマルチプレクサ４４５からの１ビット入力データ（２ビット輝度表現のうちの１ビット）に基づいてそれら輝度変更子値のうち１つを選択する。選択された変更子値は、マルチプレクサ４２６及び変更子値を否定する論理否定手段４２７の双方に転送される。この否定値は、マルチプレクサ４２６に転送される。マルチプレクサ４２６は、図２２Ｂのマルチプレクサ４４５からの輝度表現の残りのビットに基づいて、正の７ビット輝度変更子値又は否定値のいずれか一方を選択する。選択された（８ビット）変更子値は、マルチプレクサ４２８及びビットシフタ４２９の双方に送られる。ビットシフタ４２９は、変更子値を１ビット左にシフトし、その結果として９ビット輝度変更子を与える（１０進数で、値に２を乗算することに対応する）。マルチプレクサ４２８は、輝度コードワードのＭＳＢに基づいて、８ビット変更子値又は９ビット変更子値のいずれかを選択する。４８個の可能な変更子値から、特定の画像単位に対して使用する９ビット輝度変更子値が選択される。
【０２４９】
図２７は、図２２Ｂのテーブルルックアップ４２２のハードウェアによる可能な実現例を概略的に示す。この実現例では、２つのモード別輝度テーブルを含む。マルチプレクサ４２１Ａ、４２３Ａ及び４２１Ｂ、４２３Ｂの各々に対して４つの可能な変更子値から１つの７ビット輝度変更子値を選択するために、３ビット入力輝度コードワードの２つのＬＳＢは、４つのマルチプレクサ４２１Ａ、４２３Ａ及び４２１Ｂ、４２３Ｂに入力される。マルチプレクサ４２１Ａ、４２３Ａ及び４２１Ｂ、４２３Ｂからの選択された輝度変更子値は、マルチプレクサ４２５Ａ、４２５Ｂの対に入力される。これらマルチプレクサ４２５Ａ、４２５Ｂの各々は、図２２Ｂのマルチプレクサ４４５からの１ビット入力データ（２ビット輝度表現のうちの１ビット）に基づいて、それら輝度変更子値のうち１つを選択する。選択された変更子値は、マルチプレクサ４２５Ｃに転送される。マルチプレクサ４２５Ｃは、２つの変更子入力値からいずれか一方を選択し、図２２ＢのＯＲゲート４３７からの１ビットデータに基づいて現在のブロックに対して使用されるべき輝度テーブルを選択する。選択された変更子値は、図２６に関連して先に説明したように、マルチプレクサ４２６、４２８、論理否定手段４２７及びビットシフタ４２９において処理される。
【０２５０】
添付の特許請求の範囲により定義される本発明の範囲から逸脱せずに、本発明に対して種々の変形及び変更を実施できることは、当業者には理解されるであろう。
【図面の簡単な説明】
【０２５１】
【図１】本発明による画像符号化方法の一実施形態を示すフローチャートである。
【図２Ａ】本発明による画像ブロックの実施形態を示す図である。
【図２Ｂ】本発明による画像ブロックの実施形態を示す図である。
【図３Ａ】画像ブロックの圧縮表現の実施形態を示す図である。
【図３Ｂ】画像ブロックの圧縮表現の実施形態を示す図である。
【図３Ｃ】画像ブロックの圧縮表現の実施形態を示す図である。
【図４】図１の画像符号化方法の追加のステップを示すフローチャートである。
【図５】図１のアルファコードワードを判定するステップを更に詳細に示すフローチャートである。
【図６】図１の色コードワードを判定するステップ、輝度コードワードを提供するステップ及び輝度インデックスシーケンスを提供するステップを更に詳細に示すフローチャートである。
【図７】本発明による画像復号方法を示すフローチャートである。
【図８】図７の画像復号方法の追加のステップを示すフローチャートである。
【図９】図７の色表現を生成するステップを更に詳細に示すフローチャートである。
【図１０】図７の変更子セットを提供するステップ、変更子を選択するステップ、輝度を変更するステップ及びアルファ値を生成するステップを更に詳細に示すフローチャートである。
【図１１】本発明による画像符号器及び画像復号器を有するユーザ端末の一例を概略的に示す図である。
【図１２】本発明による画像符号器の一実施形態を概略的に示すブロック図である。
【図１３】本発明による画像符号器の別の実施形態を概略的に示すブロック図である。
【図１４】本発明によるブロック符号器の一実施形態を概略的に示すブロック図である。
【図１５】図１４のブロック符号器の色量子化器を更に詳細に概略的に示すブロック図である。
【図１６】図１４のブロック符号器の輝度量子化器を更に詳細に概略的に示すブロック図である。
【図１７】図１４のブロック符号器のアルファ量子化器を更に詳細に概略的に示すブロック図である。
【図１８】図１４のブロック符号器のインデックス選択器を更に詳細に概略的に示すブロック図である。
【図１９】本発明による画像復号器の一実施形態を概略的に示すブロック図である。
【図２０】本発明による画像復号器の別の実施形態を概略的に示すブロック図である。
【図２１】本発明によるブロック復号器の一実施形態を概略的に示すブロック図である。
【図２２Ａ】本発明によるブロック復号器の一実施形態を概略的に示すハードウェアブロック図である。
【図２２Ｂ】本発明によるブロック復号器の一実施形態を概略的に示すハードウェアブロック図である。
【図２３】図２２Ａ及び図２２Ｂにおいて使用されるビット拡張器の第１のバージョンの一実施形態を更に詳細に示すハードウェアブロック図である。
【図２４】図２２Ａ及び図２２Ｂにおいて使用されるビット拡張器の第２のバージョンの一実施形態を更に詳細に示すハードウェアブロック図である。
【図２５】図２２Ａ及び図２２Ｂのクランパの一実施形態を更に詳細に示すハードウェアブロック図である。
【図２６】図２２Ａ及び図２２Ｂのテーブルルックアップの一実施形態を更に詳細に示すハードウェアブロック図である。
【図２７】図２２Ａ及び図２２Ｂのテーブルルックアップの別の実施形態を更に詳細に示すハードウェアブロック図である。
【図１】
2007520103.tif 000062
【図２Ａ】
2007520103.tif 000063
【図２Ｂ】
2007520103.tif 000064
【図３Ａ】
2007520103.tif 000065
【図３Ｂ】
2007520103.tif 000066
【図３Ｃ】
2007520103.tif 000067
【図４】
2007520103.tif 000068
【図５】
2007520103.tif 000069
【図６】
2007520103.tif 000070
【図７】
2007520103.tif 000071
【図８】
2007520103.tif 000072
【図９】
2007520103.tif 000073
【図１０】
2007520103.tif 000074
【図１１】
2007520103.tif 000075
【図１２】
2007520103.tif 000076
【図１３】
2007520103.tif 000077
【図１４】
2007520103.tif 000078
【図１５】
2007520103.tif 000079
【図１６】
2007520103.tif 000080
【図１７】
2007520103.tif 000081
【図１８】
2007520103.tif 000082
【図１９】
2007520103.tif 000083
【図２０】
2007520103.tif 000084
【図２１】
2007520103.tif 000085
【図２２Ａ】
2007520103.tif 000086
【図２２Ｂ】
2007520103.tif 000087
【図２３】
2007520103.tif 000088
【図２４】
2007520103.tif 000089
【図２５】
2007520103.tif 000090
【図２６】
2007520103.tif 000091
【図２７】
2007520103.tif 000092
【国際調査報告】
2007520103.tif 000093
2007520103.tif 000094
2007520103.tif 000095