(57)【要約】      （修正有）【課題】パレット符号化とＤＰＣＭ符号化とを組み合わせることによって、画像符号化処理を最適化する。【解決手段】ＤＰＣＭ（差分パルス符号変調）コーデックにおいて、ハイブリッドパレット−ＤＰＣＭ符号化の実装によって、画像ブロック内の最も主要な色のためのパレットと、パレットに基づいたインデックスブロックとを生成する。更に、パレットにない画素には、ＤＰＣＭ符号化が利用される。パレット符号化とＤＰＣＭ符号化とを組み合わせることによって、画像符号化処理を最適化する。【選択図】図１
2020145667.tif 000002
【特許請求の範囲】
【請求項１】
装置の非一時的メモリにプログラムされる方法であって、
画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、
を含むことを特徴とする方法。
【請求項２】
前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含むことを特徴とする、請求項２に記載の方法。
【請求項４】
前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置されることを特徴とする、請求項２に記載の方法。
【請求項５】
前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含むことを特徴とする、請求項１に記載の方法。
【請求項６】
前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成することを特徴とする、請求項１に記載の方法。
【請求項７】
更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成することを含むことを特徴とする、請求項１に記載の方法。
【請求項８】
アプリケーションを記憶するための非一時的メモリであって、前記アプリケーションは、
画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、を行うためのものである、
非一時的メモリと、
前記メモリに結合され、前記アプリケーションを処理するように構成されるプロセッサと、
を備えることを特徴とする装置。
【請求項９】
前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含むことを特徴とする、請求項８に記載の装置。
【請求項１０】
前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含むことを特徴とする、請求項９に記載の装置。
【請求項１１】
前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置されることを特徴とする、請求項９に記載の装置。
【請求項１２】
前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含むことを特徴とする、請求項８に記載の装置。
【請求項１３】
前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成することを特徴とする、請求項８に記載の装置。
【請求項１４】
前記アプリケーションは、更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成するためのものであることを特徴とする、請求項８に記載の装置。
【請求項１５】
画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、
を行うように構成される第１の計算装置と、
前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成する、
ように構成される第２の計算装置と、
を備えることを特徴とするシステム。
【請求項１６】
前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含むことを特徴とする、請求項１５に記載のシステム。
【請求項１７】
前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含むことを特徴とする、請求項１６に記載のシステム。
【請求項１８】
前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置されることを特徴とする、請求項１６に記載のシステム。
【請求項１９】
前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含むことを特徴とする、請求項１５に記載のシステム。
【請求項２０】
前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成することを特徴とする、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ符号化に関する。特に、本発明は、画像圧縮に関する。
【背景技術】
【０００２】
ビデオ符号化は、量子化、差分パルス符号変調（ＤＰＣＭ）、エントロピ符号化、及び改良を含む。エントロピ符号化は、可逆データ圧縮方式であり、各固定長入力記号を、対応する可変長で接頭辞が無い出力コードワードに置き換えることによって、データを圧縮する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ハイブリッドパレット−ＤＰＣＭ符号化の実装によって、画像ブロック内の最も主要な色のためのパレットと、パレットに基づいたインデックスブロックとを生成する。更に、パレットにない画素には、ＤＰＣＭ符号化が利用される。パレット符号化とＤＰＣＭ符号化とを組み合わせることによって、画像符号化処理が最適化される。
【課題を解決するための手段】
【０００４】
一態様では、装置の非一時的メモリにプログラムされる方法は、画像ブロックのためのパレットを生成するステップと、前記画像ブロックのためのインデックスブロックを生成するステップと、前記パレット及び前記インデックスブロックを送信するステップと、差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、を含む。前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む。前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む。前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される。前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む。前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する。前記方法は、更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成することを含む。
【０００５】
別の態様では、装置は、アプリケーションを記憶するための非一時的メモリであって、前記アプリケーションは、画像ブロックのためのパレットを生成するステップと、前記画像ブロックのためのインデックスブロックを生成するステップと、前記パレット及び前記インデックスブロックを送信するステップと、差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、を行うためのものである、非一時的メモリと、前記メモリに結合され、前記アプリケーションを処理するように構成されるプロセッサと、を備える。前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む。前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む。前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される。前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む。前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する。前記アプリケーションは、更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成するためのものである。
【０００６】
別の態様では、システムは、画像ブロックのためのパレットを生成するステップと、前記画像ブロックのためのインデックスブロックを生成するステップと、前記パレット及び前記インデックスブロックを送信するステップと、差分パルス符号変調を用いて、エスケープ画素を符号化するステップとを行うように構成される第１の計算装置と、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成するように構成される第２の計算装置と、を備える。前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む。前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む。前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される。前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む。前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する。
【図面の簡単な説明】
【０００７】
【図１】いくつかの実施形態によるエンコーダ側のハイブリッドパレット−ＤＰＣＭコーダ／デコーダ（「コーデック」）のフロー図である。
【図２】いくつかの実施形態によるパレット及びインデックスブロックの生成及びシグナリングの図である。
【図３】いくつかの実施形態によるハイブリッドパレット−ＤＰＣＭ符号化を実施するコーデックの図である。
【図４】いくつかの実施形態によるエンコーダ側のハイブリッドパレット−ＤＰＣＭコーデックのフロー図である。
【図５】いくつかの実施形態によるＹＵＶ４２２色ベクトルを示す図である。
【図６】いくつかの実施形態によるパレットの生成の図である。
【図７】いくつかの実施形態による例示的なパレットサイズ及びビットストリームを示す図である。
【図８】いくつかの実施形態によるインデックスアレイのエントロピ符号化の図である。
【図９】いくつかの実施形態によるカラーパレットのためのビットのエントロピ符号化の図である。
【図１０】いくつかの実施形態によるＤＰＣＭ符号化を強調表示したビットストリームの図である。
【図１１】いくつかの実施形態によるハイブリッドパレット−ＤＰＣＭ符号化を実行するように構成される例示的な計算装置のブロック図である。
【図１２】いくつかの実施形態による装置のネットワークの図である。
【発明を実施するための形態】
【０００８】
パレットと差分パルス符号変調（ＤＰＣＭ）とを組み合わせることによって、画像圧縮を最適化することができる。
【０００９】
図１は、いくつかの実施形態によるエンコーダ側のハイブリッドパレット−ＤＰＣＭコーダ／デコーダ（「コーデック」）のフロー図を示す。Ｍ×Ｎ画像ブロックが受信される（例えば、１６×２）。ステップ１００では、画像ブロックを分析して、ブロックの色数を決定することによって、パレットが生成され、シグナリングされる。ブロックの色数の決定は、ヒストグラムデータ又は事前分析情報に基づくことができる。パレットは、主要な色を含むように生成される。例えば、サイズが２のパレットの場合、ブロックに最もよく現れる画素の２色が、パレットにある。パレットは、色にインデックス付けする（例えば、最も多い画素の色＝インデックス０、２番目に多い画素の色＝インデックス１）。ステップ１０２では、インデックスボックスが生成され、シグナリングされる。インデックスボックスは、パレットを用いる画像ブロックにどの色があるかを示す。例えば、インデックスボックスは、最も一般的な色画素がある位置に０、２番目に一般的な色画素がある位置に１、その他の色の位置に２を用いる（その他の色の画素は、エスケープ画素と呼ばれる）。図２及び本明細書では、更に、パレット及びインデックスブロックがどのように生成されるかを説明する。
【００１０】
インデックスブロックを生成した後、エスケープ画素及び非エスケープ画素に対して、異なるステップが行われる。エスケープ画素は、パレットにない画素であり、したがって、非エスケープ画素は、パレットにある。非エスケープ画素、すなわち、パレットにある画素は、パレットビットストリームにおいて送信される。
【００１１】
ステップ１０４で、エスケープ画素が量子化され、次に、ステップ１０６で、ＤＰＣＭが実行され、ステップ１０８で、エントロピ符号化を利用して、エスケープ画素を符号化する。符号化されたエスケープ画素は、ＤＰＣＭビットストリームである。いくつかの実施形態では、量子化、ＤＰＣＭ及びエントロピ符号化は、従来の実装である。
【００１２】
いくつかの実施形態では、より少ない又は追加のステップが実行される。いくつかの実施形態では、ステップの順序は変更される。
【００１３】
図２は、いくつかの実施形態によるパレット及びインデックスブロックの生成及びシグナリングの図を示す。例示するように、１６×２ブロック２００の場合、パレットサイズＰは、２である。パレットサイズが２の１６×２ブロック２００について説明するが、ブロックのサイズ及びパレットサイズは、他のサイズとすることができる。ステップ１００でパレット２０２を生成するために、２つの最も主要な色（Ｐ＝２なので）が決定される。主要な色は、各色の画素数を数えることによって決定され、最高数が主要なものである。例えば、図２に示すように、主要な色は、ダークグレー（１７画素）及び白（８画素）であり、一方、ライトグレーなどの他の画素は、１〜３画素ずつである。最も主要な色には、インデックス０が割り当てられ、２番目に主要な色には、インデックス１が割り当てられる。この例では、ダークグレーがインデックス０であり、白がインデックス１である。
【００１４】
ステップ１０２では、インデックスブロック２０４が生成され、シグナリングされる。いくつかの実施形態では、インデックスブロック２０４は、画像ブロック２００と同じサイズである。例えば、画像ブロック２００が１６×２である場合、インデックスブロック２０４は、１６×２である。インデックスブロック２０４を生成するとき、ダークグレーの画素は０で表され、白の画素は１で表される。別の色のどの画素も、２で表され、これは、その画素がパレットにない（例えば、それらがエスケープ画素２０６である）ことを意味する。
【００１５】
インデックス／値が２である画素（例えば、エスケープ画素）のみが、量子化ステップ（１０４）、ＤＰＣＭステップ（１０６）及びエントロピ符号化ステップ（１０８）を経る。いずれの従来の量子化、ＤＰＣＭ及びエントロピ符号化の実装も、利用することができる。
【００１６】
各図はグレースケールで示されているが、本明細書で説明する方法／システムは、全ての色について実施することができることが明らかである。
【００１７】
図３は、いくつかの実施形態によるハイブリッドパレット−ＤＰＣＭ符号化を実施するコーデックの図を示す。エンコーダ側３００で、パレット２０２及びインデックスブロック２０４が、元のブロック２００から、２つの主要な色のみを用いて、生成される。２つの主要な色を有するパレット２０２及びインデックスブロック２０４は、デコーダ３１０に送信される。いくつかの実施形態では、パレット２０２及びインデックスブロック２０４をデコーダ３１０に送信することは、パレット２０２及びインデックスブロック２０４をエントロピ符号化することを含む。エスケープ画素２０６が、ＤＰＣＭ符号化され、その後、デコーダ３１０に送信される。そして、デコーダ３１０は、パレット／インデックスブロック情報及びＤＰＣＭ情報に基づいて、符号化されたデータを復号する。デコーダ３１０は、まず、インデックスブロック及びパレット情報を用いて、ブロックを再構成し、次に、エスケープ画素２０６が、ＤＰＣＭブロックから再構成される。
【００１８】
図４は、いくつかの実施形態によるエンコーダ側のハイブリッドパレット−ＤＰＣＭコーデックのフロー図を示す。パレットビットストリームからの非エスケープ画素の場合、ステップ４００で、パレット及びインデックスブロックが復号される。ＤＰＣＭビットストリームからのエスケープ画素の場合、ステップ４０２で、データがエントロピ復号され、ステップ４０４で、逆ＤＰＣＭが適用され、逆量子化４０６が適用されて、復号されたエスケープ画素を検索する。復号されたパレット及びインデックスブロックは、エスケープ画素と組み合わされて、ステップ４０８で、Ｍ×Ｎブロックを生成し、これは、復号画像ブロックである。復号されたパレット、インデックスブロック及びエスケープ画素を組み合わせることは、インデックスを、パレット値及びＤＰＣＭ復号されたエスケープ画素に置き換えることを含む。いくつかの実施形態では、より少ない又は追加のステップが実行される。いくつかの実施形態では、ステップの順序は変更される。
【００１９】
図５は、いくつかの実施形態によるＹＵＶ４２２色ベクトルを示す。ＹＵＶ４４４の場合、各色ベクトルは、３成分（Ｙ，Ｕ，Ｖ）を有する。しかしながら、ＹＵＶ４２２の場合、全てのＹ画素が、対応するＵ値及びＶ値を有するわけではない。図示のように、輝度の白色部分は、Ｙ値、Ｕ値及びＶ値を有するが、輝度のグレー部分のみは、有効なＹを有する一方、Ｕ及びＶは、ダミー値である。図示の各数は、１つの色ベクトルを表す。例えば、（Ｙ0，Ｕ0，Ｖ0）は、１つの色ベクトルである。（Ｙ1，ダミーＵ，ダミーＶ）は、別の色ベクトルである。
【００２０】
１つの色ベクトルのｒｅｆＣに用いられる例示的なデータ構造は、以下の通りである。
【数１】
2020145667.tif 000003
ｌｕｍａＯｎｌｙ＝１である色ベクトルの場合、輝度値のみが、全ての計算のために考慮される。
【００２１】
図６は、いくつかの実施形態によるパレットの生成の図を示す。カラーパレットは、複数の色ベクトルを有する。各ベクトルは、全ての３成分を有する。インデックス生成の際、ｌｕｍａＯｎｌｙ＝１である場合、輝度値のみが比較され、それ以外の場合では、全てのＹＵＶ値が比較される。
【００２２】
図示のように、例示的な４×２ＹＵＶ４２２ブロック６００の場合、ＹＵＶ成分が、色ベクトルアレイ６０２に配置される。色ベクトルアレイ６０２では、ダミー値が、ＵＶ成分のいくつかのために用いられる。色ベクトルアレイ６０２に基づいて、３色ベクトルのカラーパレット６０４が生成される。例えば、色ベクトル１１０，５１２，１００は、最も一般的な色ベクトル（１１０，ｄｕｍ，ｄｕｍベクトルを含むときは、４色ベクトル）であるので、その色ベクトルは、インデックス０である。色ベクトル５１２，５１２，１００は、２番目に一般的な色ベクトル（２色ベクトル）であるので、それは、インデックス１である。インデックス２は、色ベクトル１０００，０，０（１色ベクトル）である。次に、色ベクトルアレイ６０２及びパレット６０４に基づいて、インデックスアレイ６０６が生成される。インデックスアレイ６０６は、色ベクトルを有する色ベクトルアレイ６０２を有する代わりに、パレット６０４に基づいたインデックス０、１、２及び３を含む。インデックス３は、パレット６０４の一部ではないので、エスケープ画素である。
【００２３】
図７は、いくつかの実施形態による例示的なパレットサイズ及びビットストリームを示す。パレットサイズ（Ｐ）は、０〜Ｎの任意の数とすることができる（例えば、Ｎ＝４）。Ｐ＝０は、パレットに色が無いことを意味し、ブロックの全てのサンプルは、エスケープ画素としてみなされ、非エスケープ画素であるサンプルは無い。エンコーダは、パレットサイズの値をデコーダにシグナリングする。パレットの符号長＝１＋ｌｏｇ２（Ｎ）であり、ここで、Ｎは、Ｐの最大許容値であり、この例では、Ｎ＝４である。
【００２４】
ビットストリームは、パレットサイズと、インデックスアレイのためのエントロピ符号化されたビット（Ｐが０ではない場合）と、カラーパレットのためのビット（Ｐが０ではない場合）と、エスケープ画素のためのＤＰＣＭ符号化ビットとを含む。
【００２５】
図８は、いくつかの実施形態によるインデックスアレイのエントロピ符号化の図を示す。インデックス値（ｉ）＝０→Ｐである（ここで、Ｐは、パレットサイズである）。図８は、パレットサイズに基づいて、差分インデックス値、コードワード及び符号長を示す。いくつかの実施形態では、最後のインデックス値は、パレットにないエスケープ画素を示す。例えば、パレットサイズ＝２の場合、インデックス値２は、エスケープ画素を示す。
【００２６】
図９は、いくつかの実施形態によるカラーパレットのためのビットのエントロピ符号化の図を示す。パレット内の色ベクトル（ＹＵＶ）毎に、輝度ビット数：輝度ビット深さを示す。ある特別な場合には、（Ｕ＝Ｖ＝ｍｉｄｖａｌｕｅ（１＜＜ｉｎｐｕｔ  ｂｉｔ  ｄｅｐｔｈ））の場合、１ビットであり、それ以外の場合では、１ビットを用いて、値Ｕ及びＶが中間値ではないこと、及びＵビット数：入力ビット深さ、及びＶビット数：入力ビット深さをシグナリングする。
【００２７】
図１０は、いくつかの実施形態によるＤＰＣＭ符号化を強調表示したビットストリームの図を示す。本明細書で説明するように、エスケープ画素は、ＤＰＣＭを用いて、符号化される。具体的には、量子化、ＤＰＣＭ及びエントロピ符号化が、エスケープ画素に適用される。
【００２８】
図１１は、いくつかの実施形態によるハイブリッドパレット−ＤＰＣＭ符号化を実行するように構成される例示的な計算装置のブロック図を示す。計算装置１１００を用いて、画像及びビデオなどの情報を、取得、記憶、計算、処理、通信、及び／又は表示することができる。計算装置１１００は、符号化及び／又は復号化などのハイブリッドパレット−ＤＰＣＭ符号化の態様のいずれかを実装することができる。一般に、計算装置１１００を実現するのに適したハードウェア構造は、ネットワークインタフェース１１０２、メモリ１１０４、プロセッサ１１０６、入出力装置１１０８、バス１１１０、及び記憶装置１１１２を含む。プロセッサの選択は、十分な速度を有する好適なプロセッサが選ばれる限り重要ではない。メモリ１１０４は、当該技術分野で公知の任意の従来のコンピュータメモリとすることができる。記憶装置１１１２は、ハードドライブ、ＣＤＲＯＭ、ＣＤＲＷ、ＤＶＤ、ＤＶＤＲＷ、高精細ディスク／ドライブ、超高精細ドライブ、フラッシュメモリカード、又は他の任意の記憶装置を含むことができる。計算装置１１００は、１つ又はそれ以上のネットワークインタフェース１１０２を含むことができる。ネットワークインタフェースの一例は、イーサネット又は他の種類のＬＡＮに接続されるネットワークカードを含む。入出力装置１１０８は、以下のもの、すなわち、キーボード、マウス、モニタ、スクリーン、プリンタ、モデム、タッチスクリーン、ボタンインタフェース、及び他のデバイスのうちの１つ又はそれ以上を含むことができる。ハイブリッドパレット−ＤＰＣＭ符号化を実行するのに用いられるハイブリッドパレット−ＤＰＣＭ符号化アプリケーション１１３０は、記憶装置１１１２及びメモリ１１０４に記憶され、アプリケーションが通常処理されるように処理される可能性が高い。計算装置１１００は、図１１に示すより多い又は少ない構成要素を含むことができる。いくつかの実施形態では、ハイブリッドパレット−ＤＰＣＭ符号化ハードウェア１１２０が含まれる。図１１の計算装置１１００は、ハイブリッドパレット−ＤＰＣＭ符号化のためのアプリケーション１１３０及びハードウェア１１２０を含むが、ハイブリッドパレット−ＤＰＣＭ符号化は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組み合わせとして、計算装置上で実現することができる。例えば、いくつかの実施形態では、ハイブリッドパレット−ＤＰＣＭ符号化アプリケーション１１３０は、メモリ内にプログラムされ、プロセッサを用いて実行される。別の実施例では、いくつかの実施形態において、ハイブリッドパレット−ＤＰＣＭ符号化ハードウェア１１２０は、ハイブリッドパレット−ＤＰＣＭ符号化を実行するように専用に設計されるゲートを含む、プログラムされたハードウェアロジックである。
【００２９】
いくつかの実施形態では、ハイブリッドパレット−ＤＰＣＭ符号化アプリケーション１１３０は、いくつかのアプリケーション及び／又はモジュールを含む。いくつかの実施形態では、モジュールは、１つ又はそれ以上のサブモジュールも含む。いくつかの実施形態では、より少ない又は追加のモジュールを含むことができる。
【００３０】
いくつかの実施形態では、ハイブリッドパレット−ＤＰＣＭ符号化ハードウェア１１２０は、レンズなどのカメラコンポーネント、イメージセンサ、及び／又は他の任意のカメラコンポーネントを含む。
【００３１】
好適な計算装置の実施例は、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラ電話／携帯電話、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き携帯電話、スマートフォン、携帯音楽プレーヤー、タブレットコンピュータ、移動体デバイス、ビデオプレーヤー、ビデオディスクライター／プレーヤー（例えば、ＤＶＤライター／プレーヤー、高精細ディスクライター／プレーヤー、超高精細ディスクライター／プレーヤー）、テレビジョン、家庭用娯楽システム、拡張現実デバイス、仮想現実デバイス、スマートジュエリー（例えば、スマートウォッチ）、車両（例えば、スマートカー）、又は他の任意の好適な計算装置を含む。
【００３２】
図１２は、いくつかの実施形態による装置のネットワークの図を示す。ビデオ／画像コンテンツが、１つ又はそれ以上のエンコーダ装置１２００で符号化される。符号化されたコンテンツは、ネットワーク１２０２（例えば、インターネット、セルラネットワーク又は他の任意のネットワーク）を介して、１つ又はそれ以上のデコーダ装置１２０４に送信／ストリーミングされる。いくつかの実施形態では、コンテンツは、ネットワークを介さず、１つ又はそれ以上のデコーダ装置１２０４に直接送信される。装置のネットワークの１つ又はそれ以上の装置（例えば、エンコーダ装置、デコーダ装置）は、本明細書で説明するハイブリッドパレット−ＤＰＣＭ符号化の実装を行うように構成される。１つ又はそれ以上のエンコーダ装置１２００及び１つ又はそれ以上のデコーダ装置１２０４は、サーバ、パーソナルコンピュータ、スマートフォン、テレビジョン、ゲームシステム、車両などの任意の装置、又は本明細書で説明する装置のいずれか、又は本明細書で説明する装置の任意の組み合わせとすることができる。
【００３３】
本明細書で説明するハイブリッドパレット−ＤＰＣＭ符号化を利用するために、デジタルカメラ／カムコーダなどの装置を用いて、コンテンツを取得する。ハイブリッドパレット−ＤＰＣＭ符号化は、ユーザの援助によって又はユーザが関与することなく自動的に実行されて、コンテンツを効率的に符号化、送信、及び復号することができる。
【００３４】
動作時、ハイブリッドパレット−ＤＰＣＭ符号化は、最も主要な色画素にパレット符号化を用い、その他の色画素にＤＰＣＭ符号化を用いることによって、コンテンツをより効率的に符号化及び復号する。
【００３５】
画像圧縮のためのハイブリッドパレット−ＤＰＣＭ符号化のいくつかの実施形態
１．装置の非一時的メモリにプログラムされる方法であって、
画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、
を含む方法。
【００３６】
２．前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む、第１項に記載の方法。
【００３７】
３．前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む、第２項に記載の方法。
【００３８】
４．前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される、第２項に記載の方法。
【００３９】
５．前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む、第１項に記載の方法。
【００４０】
６．前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する、第１項に記載の方法。
【００４１】
７．更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成することを含む、第１項に記載の方法。
【００４２】
８．アプリケーションを記憶するための非一時的メモリであって、前記アプリケーションは、
画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、を行うためのものである、
非一時的メモリと、
前記メモリに結合され、前記アプリケーションを処理するように構成されるプロセッサと、
を備える装置。
【００４３】
９．前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む、第８項に記載の装置。
【００４４】
１０．前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む、第９項に記載の装置。
【００４５】
１１．前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される、第９項に記載の装置。
【００４６】
１２．前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む、第８項に記載の装置。
【００４７】
１３．前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する、第８項に記載の装置。
【００４８】
１４．前記アプリケーションは、更に、前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成するためのものである、第８項に記載の装置。
【００４９】
１５．画像ブロックのためのパレットを生成するステップと、
前記画像ブロックのためのインデックスブロックを生成するステップと、
前記パレット及び前記インデックスブロックを送信するステップと、
差分パルス符号変調を用いて、エスケープ画素を符号化するステップと、
を行うように構成される第１の計算装置と、
前記パレット及び前記インデックスブロックを復号し、逆差分パルス符号変調を用いて、前記エスケープ画素を復号し、復号された前記パレット、前記インデックスブロック及び前記エスケープ画素を組み合わせて、復号画像を生成する、
ように構成される第２の計算装置と、
を備えるシステム。
【００５０】
１６．前記パレットを生成するステップは、Ｎのパレットサイズに対して、前記画像ブロック内のＮ個の最も一般的な色を決定し、前記Ｎ個の最も一般的な色の各色にインデックスを割り当てることを含む、第１５項に記載のシステム。
【００５１】
１７．前記Ｎ個の最も一般的な色を決定することは、各色の画素数を数えることを含む、第１６項に記載のシステム。
【００５２】
１８．前記インデックスブロックは、前記画像ブロックと同じサイズであり、更に、前記インデックスブロックを生成するステップは、インデックスを前記パレットから前記インデックスブロック内に配置して、画素値を表すことを含み、Ｎ＋１のインデックスが、前記エスケープ画素の位置に配置される、第１６項に記載のシステム。
【００５３】
１９．前記エスケープ画素を符号化するステップは、前記エスケープ画素を量子化し、前記差分パルス符号変調を前記エスケープ画素に適用し、前記エスケープ画素をエントロピ符号化することを含む、第１５項に記載のシステム。
【００５４】
２０．前記パレット及び前記インデックスブロックを送信するステップ及び前記エスケープ画素を符号化するステップは、パレットサイズと、エントロピ符号化されたインデックスアレイと、前記パレットのためのビットと、前記エスケープ画素のための差分パルス符号変調ビットとを含むビットストリームを生成する、第１５項に記載のシステム。
【００５５】
本発明の構成及び動作の原理の理解を容易にするために、詳細内容を組み込んだ特定の実施形態に関して本発明を説明してきた。このような本明細書における特定の実施形態及びその詳細内容への言及は、本明細書に添付される特許請求の範囲を限定することを意図するものではない。特許請求の範囲によって規定される本発明の精神及び範囲から逸脱することなく、例示のために選択された実施形態に、他の様々な修正を行うことができることは、当業者に容易に理解されるであろう。
【符号の説明】
【００５６】
２００  画像ブロック
２０２  パレット
２０４  インデックスブロック
２０６  エスケープ画素
３００  エンコーダ
３１０  デコーダ
６００  ４×２ＹＵＶ４２２ブロック
６０２  色ベクトルアレイ
６０４  カラーパレット
６０６  インデックスアレイ
１１００  計算装置
１１０２  ネットワークインタフェース
１１０４  メモリ
１１０６  プロセッサ
１１０８  入出力装置
１１１０  バス
１１１２  記憶装置
１１２０  ハイブリッドパレット−ＤＰＣＭ符号化ハードウェア
１１３０  ハイブリッドパレット−ＤＰＣＭ符号化アプリケーション
１２００  エンコーダ装置
１２０２  ネットワーク
１２０４  デコーダ装置
【図１】
2020145667.tif 000004
【図２】
2020145667.tif 000005
【図３】
2020145667.tif 000006
【図４】
2020145667.tif 000007
【図５】
2020145667.tif 000008
【図６】
2020145667.tif 000009
【図７】
2020145667.tif 000010
【図８】
2020145667.tif 000011
【図９】
2020145667.tif 000012
【図１０】
2020145667.tif 000013
【図１１】
2020145667.tif 000014
【図１２】
2020145667.tif 000015
【外国語明細書】
2020145667000001.pdf