(57)【要約】  本開示によるデコード装置により行われる画像デコード方法は、残差情報を有するビットストリームを受信するステップと、上記ビットストリームに有される上記残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、上記量子化された変換係数に基づいて上記現ブロックに対する残差サンプルを導出するステップと、上記現ブロックに対する上記残差サンプルに基づいて復元ピクチャを生成するステップと、を有することを特徴とする。【選択図】図９
2021503247.tif 000002
【特許請求の範囲】
【請求項１】
デコード装置により行われる画像デコード方法であって、
残差情報を有するビットストリームを受信するステップと、
前記ビットストリームに有される前記残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、
前記量子化された変換係数に基づいて前記現ブロックに対する残差サンプルを導出するステップと、
前記現ブロックに対する前記残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、
前記残差情報は、前記量子化された変換係数に対する変換係数レベルのパリティ（parity）に関するパリティレベルフラグと前記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、
前記量子化された変換係数を導出するステップは、
前記第１変換係数レベルフラグをデコードし、前記パリティレベルフラグをデコードするステップと、
前記デコードされたパリティレベルフラグの値および前記デコードされた第１変換係数レベルフラグの値に基づいて前記量子化された変換係数を導出するステップと、を有し、
前記第１変換係数レベルフラグをデコードするステップは、前記パリティレベルフラグをデコードするステップより先に行われることを特徴とする、画像デコード方法。
【請求項２】
前記残差情報は、前記量子化された変換係数が０ではない有効係数であるか否かを示す有効係数フラグと前記量子化された変換係数の前記変換係数レベルが第２閾値より大きいか否かに関する第２変換係数レベルフラグとをさらに有することを特徴とする、請求項１に記載の画像デコード方法。
【請求項３】
前記残差情報に有される、前記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和は、所定の閾値以下であることを特徴とする、請求項２に記載の画像デコード方法。
【請求項４】
前記所定の閾値は、前記現ブロックのサイズに基づいて決定されることを特徴とする、請求項３に記載の画像デコード方法。
【請求項５】
前記残差情報に有される前記有効係数フラグの個数、前記第１変換係数レベルフラグの個数、前記パリティレベルフラグの個数の和は、第３閾値以下であり、
前記残差情報に有される前記第２変換係数レベルフラグの個数は、第４閾値以下であり、
前記所定の閾値は、前記第３閾値と前記第４閾値との和であることを特徴とする、請求項３に記載の画像デコード方法。
【請求項６】
係数スキャン順序により決定された０回量子化された変換係数ないしｎ回量子化された変換係数に基づいて導出された前記有効係数フラグの個数、前記第１変換係数レベルフラグの個数、前記パリティレベルフラグの個数および前記第２変換係数レベルフラグの個数の和が前記所定の閾値に到達する場合、前記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対しては、有効係数フラグ、第１変換係数レベルフラグ、前記パリティレベルフラグ、第２変換係数レベルフラグの明示的なシグナリングが省略され、前記残差情報に有される係数レベル情報の値に基づいて前記ｎ＋１回量子化された変換係数の値が導出されることを特徴とする、請求項３に記載の画像デコード方法。
【請求項７】
前記残差情報に有される前記有効係数フラグ、前記第１変換係数レベルフラグ、前記パリティレベルフラグおよび前記第２変換係数レベルフラグは、コンテキストに基づいてコーディングされ、
前記係数レベル情報は、バイパスに基づいてコーディングされることを特徴とする、請求項６に記載の画像デコード方法。
【請求項８】
エンコード装置により行われる画像エンコード方法であって、
現ブロックに対する残差サンプルを導出するステップと、
前記現ブロックに対する前記残差サンプルに基づいて量子化された変換係数を導出するステップと、
前記量子化された変換係数に関する情報を有する残差情報をエンコードするステップと、を有し、
前記残差情報は、前記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと前記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、
前記残差情報をエンコードするステップは、
前記量子化された変換係数に基づいて前記パリティレベルフラグの値および前記第１変換係数レベルフラグの値を導出するステップと、
前記第１変換係数レベルフラグをエンコードし、前記パリティレベルフラグをエンコードするステップと、を有し、
前記第１変換係数レベルフラグをエンコードするステップは、前記パリティレベルフラグをエンコードするステップより先に行われることを特徴とする、画像エンコード方法。
【請求項９】
前記残差情報は、前記量子化された変換係数が０ではない有効係数であるか否かを示す有効係数フラグと前記量子化された変換係数の前記変換係数レベルが第２閾値より大きいか否かに関する第２変換係数レベルフラグとをさらに有することを特徴とする、請求項８に記載の画像エンコード方法。
【請求項１０】
前記残差情報に有される、前記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和は、所定の閾値以下であることを特徴とする、請求項９に記載の画像エンコード方法。
【請求項１１】
前記所定の閾値は、前記現ブロックのサイズに基づいて決定されることを特徴とする、請求項１０に記載の画像エンコード方法。
【請求項１２】
前記残差情報に有される前記有効係数フラグの個数、前記第１変換係数レベルフラグの個数、前記パリティレベルフラグの個数の和は、第３閾値以下であり、
前記残差情報に有される前記第２変換係数レベルフラグの個数は、第４閾値以下であり、
前記所定の閾値は、前記第３閾値と前記第４閾値との和であることを特徴とする、請求項１０に記載の画像エンコード方法。
【請求項１３】
係数スキャン順序により決定された０回量子化された変換係数ないしｎ回量子化された変換係数に基づいて導出された前記有効係数フラグの個数、前記第１変換係数レベルフラグの個数、前記パリティレベルフラグの個数および前記第２変換係数レベルフラグの個数の和が前記所定の閾値に到達する場合、前記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対しては、有効係数フラグ、第１変換係数レベルフラグ、パリティレベルフラグ、第２変換係数レベルフラグの明示的なシグナリングが省略され、前記残差情報に有される係数レベル情報の値に基づいて前記ｎ＋１回量子化された変換係数の値が導出されることを特徴とする、請求項１０に記載の画像エンコード方法。
【請求項１４】
前記残差情報に有される前記有効係数フラグ、前記第１変換係数レベルフラグ、前記パリティレベルフラグおよび前記第２変換係数レベルフラグは、コンテキストに基づいてコーディングされ、
前記係数レベル情報は、バイパスに基づいてコーディングされることを特徴とする、請求項１３に記載の画像エンコード方法。
【請求項１５】
画像デコードを行うデコード装置であって、
残差情報を有するビットストリームを受信し、前記ビットストリームに有される前記残差情報に基づいて現ブロックに対する量子化された変換係数を導出するエントロピデコード部と、
前記量子化された変換係数に基づいて前記現ブロックに対する残差サンプルを導出する逆変換部と、
前記現ブロックに対する前記残差サンプルに基づいて復元ピクチャを生成する加算部と、を有し、
前記残差情報は、前記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと前記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、
前記エントロピデコード部により行われる前記量子化された変換係数を導出することは、
前記第１変換係数レベルフラグをデコードし、前記パリティレベルフラグをデコードすることと、
前記デコードされたパリティレベルフラグの値および前記デコードされた第１変換係数レベルフラグの値に基づいて前記量子化された変換係数を導出することと、を有し、
前記第１変換係数レベルフラグをデコードすることは、前記パリティレベルフラグをデコードすることより先に行われることを特徴とする、デコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像コーディング技術に関し、より詳細には、画像コーディングシステムの変換係数レベルコーディング方法およびその装置に関する。
【背景技術】
【０００２】
最近、４Ｋまたは８Ｋ以上のＵＨＤ（Ultra High Definition）画像／ビデオなどの高解像度、高品質の画像／ビデオに対する需要が多様な分野で増加している。画像／ビデオデータが高解像度、高品質になるほど、既存の画像／ビデオデータに比べて相対的に送信される情報量またはビット量が増加するので、既存の有無線広帯域回線のような媒体を利用して画像データを送信するか、既存の記憶（格納）媒体を用いて画像／ビデオデータを記憶する場合、送信コストおよび記憶コストが増加する。
【０００３】
また、最近、ＶＲ（Virtual Reality）、ＡＲ（Artificial Reality）コンテンツやホログラムなどの没入型（イマーシブ）メディア（Immersive Media）に対する関心および需要が増加しており、ゲーム画像のように現実画像とは異なる画像特性を有する画像／ビデオに関する放送が増加している。
【０００４】
したがって、上記のような様々な特性を有する高解像度高品質の画像／ビデオの情報を効果的に圧縮して送信するか、記憶または再生するために、高効率の画像／ビデオ圧縮技術が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示の技術的課題は、画像コーディング効率を高める方法および装置を提供することにある。
【０００６】
本開示の他の技術的課題は、残差（レジデュアル）コーディングの効率を高める方法および装置を提供することにある。
【０００７】
本開示のさらに他の技術的課題は、変換係数レベルコーディングの効率を高める方法および装置を提供することにある。
【０００８】
本開示のさらに他の技術的課題は、ライスパラメータ（rice parameter）に基づいて残差情報に対して二進化過程（処理）を行って残差コーディング効率を高める方法および装置を提供することにある。
【０００９】
本開示のさらに他の技術的課題は、量子化された変換係数に対する変換係数レベルのパリティ（parity）に関するパリティレベルフラグと変換係数レベルが第１閾（臨界）値より大きいか否かに関する第１変換係数レベルフラグとのデコード手順を決定（または、変更）して、コーディング効率を高める方法および装置を提供することにある。
【００１０】
本開示のさらに他の技術的課題は、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コーディング効率を高める方法および装置を提供することにある。
【００１１】
本開示のさらに他の技術的課題は、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コンテキストに基づいてコーディングされるデータを減少させる方法および装置を提供することにある。
【課題を解決するための手段】
【００１２】
本開示の一実施形態によれば、デコード装置により行われる画像デコード方法が提供される。方法は、残差情報を有するビットストリームを受信するステップと、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、量子化された変換係数を導出するステップは、第１変換係数レベルフラグをデコードし、パリティレベルフラグをデコードするステップと、デコードされたパリティレベルフラグの値およびデコードされた第１変換係数レベルフラグの値に基づいて量子化された変換係数を導出するステップと、を有し、第１変換係数レベルフラグをデコードするステップは、パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
【００１３】
本開示の他の一実施形態によれば、画像デコードを行うデコード装置が提供される。デコード装置は、残差情報を有するビットストリームを受信し、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するエントロピデコード部と、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出する逆変換部と、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する加算部と、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、エントロピデコード部により行われる量子化された変換係数を導出することは、第１変換係数レベルフラグをデコードし、パリティレベルフラグをデコードすることと、デコードされたパリティレベルフラグの値およびデコードされた第１変換係数レベルフラグの値に基づいて量子化された変換係数を導出することと、を有し、第１変換係数レベルフラグをデコードすることは、パリティレベルフラグをデコードすることより先に行われることを特徴とする。
【００１４】
本開示のさらに他の実施形態によれば、エンコード装置により行われる画像エンコード方法が提供される。方法は、現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出するステップと、量子化された変換係数に関する情報を有する残差情報をエンコードするステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、残差情報をエンコードするステップは、量子化された変換係数に基づいてパリティレベルフラグの値および第１変換係数レベルフラグの値を導出するステップと、第１変換係数レベルフラグをエンコードし、パリティレベルフラグをエンコードするステップと、を有し、第１変換係数レベルフラグをエンコードするステップは、パリティレベルフラグをエンコードするステップより先に行われることを特徴とする。
【００１５】
本開示のさらに他の実施形態によれば、画像エンコードを行うエンコード装置が提供される。エンコード装置は、現ブロックに対する残差サンプルを導出する減算部と、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する量子化部と、量子化された変換係数に関する情報を有する残差情報をエンコードするエントロピエンコード部と、を有し、残差情報は、量子化された変換係数レベルに対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、エントロピエンコード部により行われる残差情報をエンコードすることは、量子化された変換係数に基づいてパリティレベルフラグの値および第１変換係数レベルフラグの値を導出することと、第１変換係数レベルフラグをエンコードし、パリティレベルフラグをエンコードすることと、を有し、第１変換係数レベルフラグをエンコードすることは、パリティレベルフラグをエンコードすることより先に行われることを特徴とする。
【００１６】
本開示のさらに他の実施形態によれば、ビデオデコード装置が一部の実施形態によるデコード方法を行うようにする指示（instructions）に関する情報を記憶する、デコーダで読み取り可能な記憶媒体が提供される。
【００１７】
本開示のさらに他の実施形態によれば、ビデオデコード装置が一実施形態によるデコード方法を行うようにする指示に関する情報を記憶する、デコーダで読み取り可能な記憶媒体が提供される。一実施形態によるデコード方法は、残差情報を有するビットストリームを受信するステップと、ビットストリームに有される残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出するステップと、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成するステップと、を有し、残差情報は、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとを有し、量子化された変換係数を導出するステップは、第１変換係数レベルフラグをデコードし、パリティレベルフラグをデコードするステップと、デコードされたパリティレベルフラグの値およびデコードされた第１変換係数レベルフラグの値に基づいて量子化された変換係数を導出するステップと、を有し、第１変換係数レベルフラグをデコードするステップは、パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
【発明の効果】
【００１８】
本開示によれば、全般的な画像／ビデオの圧縮効率を高めることができる。
【００１９】
本開示によれば、残差コーディングの効率を高めることができる。
【００２０】
本開示によれば、ライスパラメータに基づいて残差情報に対して二進化過程を行って残差コーディング効率を高めることができる。
【００２１】
本開示によれば、変換係数レベルコーディングの効率を高めることができる。
【００２２】
本開示によれば、ライスパラメータに基づいて残差情報に対して二進化過程を行って残差コーディング効率を高めることができる。
【００２３】
本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとのデコード順序を決定（または、変更）してコーディング効率を高めることができる。
【００２４】
本開示によれば、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コーディング効率を高めることができる。
【００２５】
本開示によれば、残差情報に含まれる、現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和を所定の閾値以下に制限して、コンテキストに基づいてコーディングされるデータを減少させることができる。
【図面の簡単な説明】
【００２６】
【図１】本開示が適用されることができるビデオ／画像コーディングシステムの例を概略的に示す図である。
【図２】本開示が適用されることができるビデオ／画像エンコード装置の構成を概略的に説明する図である。
【図３】本開示が適用されることができるビデオ／画像デコード装置の構成を概略的に説明する図である。
【図４】一実施形態によるＣＡＢＡＣエンコードシステムのブロック図を示す図である。
【図５】４×４ブロック内の変換係数の例を示す図である。
【図６】２×２ブロック内の変換係数の例を示す図である。
【図７】一実施形態によるエンコード装置の動作を示すフローチャートである。
【図８】一実施形態によるエンコード装置の構成を示すブロック図である。
【図９】一実施形態によるデコード装置の動作を示すフローチャートである。
【図１０】一実施形態によるデコード装置の構成を示すブロック図である。
【図１１】本文書において開示された発明が適用されることができるコンテンツストリーミングシステムの例を示す図である。
【発明を実施するための形態】
【００２７】
本開示の一実施形態によると、デコード装置により行われる画像デコード方法が提供される。上記方法は、残差情報を含むビットストリームを受信するステップと、上記ビットストリームに含まれる上記残差情報に基づいて現ブロックに対する量子化された変換係数を導出するステップと、逆量子化過程（inverse quantization process）に基づいて上記量子化された変換係数から上記現ブロックに対する変換係数を導出するステップと、上記導出された変換係数に逆変換（inverse transform）を適用して上記現ブロックに対する残差サンプルを導出するステップと、上記現ブロックに対する上記残差サンプルに基づいて復元ピクチャを生成するステップと、を含むものの、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに対するパリティレベルフラグおよび上記変換係数レベルが第１閾値より大きいか否かに対する第１変換係数レベルフラグを含み、上記量子化された変換係数を導出するステップは、上記第１変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第１変換係数レベルフラグの値に基づいて上記量子化された変換係数を導出するステップと、を含み、上記第１変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われることを特徴とする。
［発明の実施のための最良の形態］
【００２８】
本開示は、様々な変更を加えることができ、様々な実施形態を有することができるため、特定の実施形態を図面に例示し、詳細に説明しようとする。しかしながら、これは、本開示を特定の実施形態に限定しようとするものではない。本明細書において常用する用語は、単に特定の実施形態を説明するために用いられるものであって、本開示の技術的な思想を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」または「有する」などの用語は、明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものであって、１つもしくは複数の他の特徴や数字、ステップ、動作、構成要素、部品、またはこれを組み合わせたものなどの存在または付加の可能性を予め排除しないものとして理解しなければならない。
【００２９】
一方、本開示において説明される図面上の各構成は、相異なる特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェアまたは別個のソフトウェアで実現されることを意味するものではない。例えば、各構成のうちの２つ以上の構成が結合されて１つの構成をなすこともでき、１つの構成を複数の構成に分けることもできる。各構成が統合および／または分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【００３０】
以下、添付の図面を参照して、本開示の好ましい実施形態をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【００３１】
図１は、本開示を適用できるビデオ／画像コーディングシステムの例を概略的に示す。
【００３２】
この文書は、ビデオ／画像コーディングに関する。例えば、この文書に開示された方法／実施形態は、ＶＶＣ（Versatile Video Coding）標準、ＥＶＣ（Essential Video Coding）標準、ＡＶ１（AOMedia Video 1）標準、ＡＶＳ２（2nd generation of Audio Video coding Standard）または次世代ビデオ／画像コーディング標準（例えば、Ｈ．２６７もしくはＨ．２６８など）に開示される方法に適用されることができる。
【００３３】
この文書においては、ビデオ／画像コーディングに関する様々な実施形態を提示し、他の言及がない限り、上記実施形態は、互いに組み合わせて行われることもできる。
【００３４】
この文書において、ビデオ（video）は、時間の流れによる一連の画像（image）の集合を意味し得る。ピクチャ（picture）は、一般的に特定の時間帯の１つの画像を示す単位を意味し、スライス（slice）／タイル（tile）は、コーディングにおいてピクチャの一部を構成する単位である。スライス／タイルは、１つまたは複数のＣＴＵ（Coding Tree Unit）を含んでもよい。１つのピクチャは、１つまたは複数のスライス／タイルで構成される。１つのピクチャは、１つまたは複数のタイルグループで構成される。１つのタイルグループは、１つまたは複数のタイルを含む。ブリックは、ピクチャ内のタイル以内のＣＴＵ行の四角領域を示す（a brick may represent a rectangular region of CTU rows within a tile in a picture）。タイルは、多数のブリックでパーティショニングされ、各ブリックは、上記タイル内の１つまたは複数のＣＴＵ行で構成される（A tile may be partitioned into multiple bricks, each of which consisting of one or more CTU rows within the tile）。多数のブリックでパーティショニングされていないタイルは、ブリックと呼ばれてもよい（A tile that is not partitioned into multiple bricks may be also referred to as a brick）。ブリックスキャンは、ピクチャをパーティショニングするＣＴＵの特定のシーケンシャル（順次的な）オーダリングを示してもよく、上記ＣＴＵは、ブリック内でＣＴＵラスタスキャンで整列されてもよく、タイル内のブリックは、上記タイルの上記ブリックのラスタスキャンで連続的に整列されてもよく、そして、ピクチャ内のタイルは、上記ピクチャの上記タイルのラスタスキャンで連続的に整列されてもよい（A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture）。タイルは、特定タイル列および特定タイル列以内のＣＴＵの四角領域である（A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture）。上記タイル列は、ＣＴＵの四角領域であり、上記四角領域は、上記ピクチャの高さと同一の高さを有し、幅はピクチャパラメータセット内のシンタックス要素により明示される（The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set）。上記タイル行は、ＣＴＵの四角領域であり、上記四角領域は、ピクチャパラメータセット内のシンタックス要素により明示される幅を有し、高さは上記ピクチャの高さと同一であり得る（The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture）。タイルスキャンは、ピクチャをパーティショニングするＣＴＵの特定シーケンシャルオーダリングを示し、上記ＣＴＵは、タイル内のＣＴＵラスタスキャンで連続的に整列され、ピクチャ内のタイルは、上記ピクチャの上記タイルのラスタスキャンで連続的に整列される（A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture）。スライスは、ピクチャの整数個のブリックを含み、上���整数個のブリックは、１つのＮＡＬユニットに含まれる（A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit）。スライスは、多数の完全なタイルで構成されるか、または、１つのタイルの完全なブリックの連続するシーケンスであり得る（A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile）。この文書において、タイルグループとスライスとは混用されてもよい。例えば、本文書においては、タイルグループ／タイルグループヘッダは、スライス／スライスヘッダと呼ばれてもよい。
【００３５】
ピクセル（pixel）またはペル（pel）は、１つのピクチャ（または、画像）を構成する最小の単位を意味する。また、ピクセルに対応する用語として「サンプル（sample）」が使用されてもよい。サンプルは、一般的にピクセルまたはピクセルの値を示すことができ、ルマ（luma）成分のピクセル／ピクセル値のみを示すこともでき、クロマ（chroma）成分のピクセル／ピクセル値のみを示すこともできる。
【００３６】
ユニット（unit）は、画像処理の基本単位を示す。ユニットは、ピクチャの特定領域および当該領域に関する情報の少なくとも１つを含んでもよい。１つのユニットは、１つのルマブロックおよび２つのクロマ（例えば、ｃｂ、ｃｒ）ブロックを含む。ユニットは、場合によっては、ブロック（block）または領域（area）などの用語と混用されてもよい。一般的な場合、Ｍ×Ｎブロックは、Ｍ個の列およびＮ個の行からなるサンプル（または、サンプルアレイ）または変換係数（transform coefficient）の集合（または、アレイ）を含む。
【００３７】
この文書において「／」および「、」は、「および／または」と解釈される。例えば、「Ａ／Ｂ」は、「Ａおよび／またはＢ」と解釈され、「Ａ、Ｂ」は、「Ａおよび／またはＢ」と解釈される。追加的に、「Ａ／Ｂ／Ｃ」は、「Ａ、Ｂおよび／またはＣの少なくとも１つ」を意味する。また、「Ａ、Ｂ、Ｃ」も、「Ａ、Ｂおよび／またはＣの少なくとも１つ」を意味する。
2021503247.tif 000003
【００３８】
追加的に、本文書において、「または」は、「および／または」と解釈される。例えば、「ＡまたはＢ」は、１）「Ａ」のみを意味するか、２）「Ｂ」のみを意味するか、３）「ＡおよびＢ」を意味し得る。言い換えると、本文書の「または」は「追加的にまたは代替的に（additionally or alternatively）」を意味し得る。
2021503247.tif 000004
【００３９】
図１に示すように、ビデオ／画像コーディングシステムは、第１装置（ソースデバイス）および第２装置（受信デバイス）を含む。ソースデバイスは、エンコードされたビデオ（video）／画像（image）情報またはデータをファイルまたはストリーミングの形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達する。
【００４０】
上記ソースデバイスは、ビデオソース、エンコード装置、送信部を含む。上記受信デバイスは、受信部、デコード装置およびレンダラを含む。上記エンコード装置は、ビデオ／画像エンコード装置と呼ばれてもよく、上記デコード装置は、ビデオ／画像デコード装置と呼ばれてもよい。送信部は、エンコード装置に含まれてもよい。受信部は、デコード装置に含まれてもよい。レンダラは、ディスプレイ部を含んでもよく、ディスプレイ部は、別個のデバイスまたは外部コンポーネントで構成されてもよい。
【００４１】
ビデオソースは、ビデオ／画像のキャプチャ、合成または生成過程などにより、ビデオ／画像を取得する。ビデオソースは、ビデオ／画像キャプチャデバイスおよび／またはビデオ／画像生成デバイスを含んでもよい。ビデオ／画像キャプチャデバイスは、例えば、１つまたは複数のカメラ、以前にキャプチャされたビデオ／画像を含むビデオ／画像アーカイブなどを含む。ビデオ／画像生成デバイスは、例えば、コンピュータ、タブレットおよびスマートフォンなどを含み、（電子的に）ビデオ／画像を生成する。例えば、コンピュータなどにより仮想のビデオ／画像が生成され、この場合、関連データが生成される過程がビデオ／画像キャプチャ過程に代わってもよい。
【００４２】
エンコード装置は、入力ビデオ／画像をエンコードする。エンコード装置は、圧縮およびコーディング効率のために予測、変換、量子化などの一連の手順を行う。エンコードされたデータ（エンコードされたビデオ／画像情報）は、ビットストリーム（bit stream）の形態で出力される。
【００４３】
送信部は、ビットストリームの形態で出力されたエンコードされたビデオ／画像情報またはデータを、ファイルまたはストリーミングの形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達する。デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な記憶媒体を含む。送信部は、予め定められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含んでもよく、放送／通信ネットワークを介する送信のためのエレメントを含んでもよい。受信部は、上記ビットストリームを受信／抽出してデコード装置に伝達する。
【００４４】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行ってビデオ／画像をデコードする。
【００４５】
レンダラは、デコードされたビデオ／画像をレンダリングする。レンダリングされたビデオ／画像は、ディスプレイ部を介して表示される。
【００４６】
図２は、本開示が適用されることができるビデオ／画像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、画像エンコード装置を含んでもよい。
【００４７】
図２に示すように、エンコード装置２００は、画像分割部（image partitioner）２１０、予測部（predictor）２２０、残差処理部（residual processor）２３０、エントロピエンコード部（entropy encoder）２４０、加算部（adder）２５０、フィルタリング部（filter）２６０およびメモリ（memory）２７０を含んで構成される。予測部２２０は、インター予測部２２１およびイントラ予測部２２２を含む。残差処理部２３０は、変換部（transformer）２３２、量子化部（quantizer）２３３、逆量子化部（dequantizer）２３４、逆変換部（inverse transformer）２３５を含む。残差処理部２３０は、減算部（subtractor）２３１をさらに含む。加算部２５０は、復元部（reconstructor）または復元ブロック生成部（reconstructed block generator）と呼ばれてもよい。前述した画像分割部２１０、予測部２２０、残差処理部２３０、エントロピエンコード部２４０、加算部２５０およびフィルタリング部２６０は、実施形態によって、１つまたは複数のハードウェアコンポーネント（例えば、エンコーダチップセットまたはプロセッサ）により構成されてもよい。また、メモリ２７０は、ＤＰＢ（Decoded Picture Buffer）を含んでもよく、デジタル記憶媒体により構成されてもよい。上記ハードウェアコンポーネントは、メモリ２７０を内／外部のコンポーネントとしてさらに含んでもよい。
【００４８】
画像分割部２１０は、エンコード装置２００に入力された入力画像（または、ピクチャ、フレーム）を１つまたは複数の処理ユニット（processing unit）に分割することができる。一例として、上記処理ユニットは、コーディングユニット（Coding Unit：ＣＵ）と呼ばれてもよい。この場合、コーディングユニットは、コーディングツリーユニット（Coding Tree Unit：ＣＴＵ）または最大コーディングユニット（Largest Coding Unit：ＬＣＵ）からＱＴＢＴＴＴ（Quad-Tree Binary-Tree Ternary-Tree）構造に応じて再帰的に（recursively）分割される。例えば、１つのコーディングユニットは、四分木（クアッドツリー）構造、二分木（バイナリツリー）構造、および／または三分木（ターナリツリー）構造に基づいて、下位の（deeper）深さ（depth）の複数のコーディングユニットに分割される。この場合、例えば、四分木構造が先に適用され、二分木構造および／または三分木構造が後で適用されてもよい。あるいは、二分木構造が先に適用されてもよい。これ以上の分割されない最終コーディングユニットに基づいて、本開示によるコーディング手順が行われることができる。この場合、画像特性によるコーディング効率などに基づいて、最大コーディングユニットが直ちに最終コーディングユニットとして使用され、または、必要に応じて、コーディングユニットは、再帰的に（recursively）より下位の深さ（depth）のコーディングユニットに分割されて、最適なサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順は、後述する予測、変換、および復元などの手順を含む。他の例として、上記処理ユニットは、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）をさらに含んでもよい。この場合、上記予測ユニットおよび上記変換ユニットは、それぞれ前述した最終コーディングユニットから分割またはパーティショニングされることができる。上記予測ユニットは、サンプル予測の単位であり得、上記変換ユニットは、変換係数を導出する単位および／または変換係数から残差信号（residual signal）を導出する単位であり得る。
【００４９】
ユニットは、場合によって、ブロック（block）または領域（area）などの用語と混用されてもよい。一般的な場合、Ｍ×Ｎブロックは、Ｍ個の列およびＮ個の行からなるサンプルまたは変換係数（transform coefficient）の集合を示す。サンプルは、一般的にピクセルまたはピクセルの値を示し、輝度（luma）成分のピクセル／ピクセル値のみを示し、彩度（chroma）成分のピクセル／ピクセル値のみを示してもよい。サンプルは、１つのピクチャ（または、画像）をピクセル（pixel）またはペル（pel）に対応する用語として使用されてもよい。
【００５０】
エンコード装置２００は、入力画像信号（オリジナル（原本）ブロック、オリジナルサンプルアレイ）からインター予測部２２１またはイントラ予測部２２２から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算して残差信号（residual signal、残差ブロック、残差サンプルアレイ）を生成し、生成された残差信号は、変換部２３２に送信される。この場合、図示されているように、エンコード装置２００内において入力画像信号（オリジナルブロック、オリジナルサンプルアレイ）から予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは、減算部２３１と呼ばれる。予測部は、処理対象ブロック（以下、現ブロックという）に対する予測を行い、上記現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成する。予測部は、現ブロックまたはＣＵ単位でイントラ予測が適用されるかまたはインター予測が適用されるかを決定できる。予測部は、各予測モードに関する説明において後述するように、予測モード情報などの予測に関する多様な情報を生成してエントロピエンコード部２４０に伝達する。予測に関する情報は、エントロピエンコード部２４０においてエンコードされてビットストリームの形態で出力される。
【００５１】
イントラ予測部２２２は、現ピクチャ内のサンプルを参照して現ブロックを予測する。上記参照されるサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置してもよく、または離れて位置してもよい。イントラ予測において、予測モードは、複数の非方向性モードと複数の方向性モードとを含む。非方向性モードは、例えば、ＤＣモードおよびプラナーモード（Planar mode）を含む。方向性モードは、予測方向の細密な程度によって、例えば、３３個の方向性予測モードまたは６５個の方向性予測モードを含む。ただし、これは、例であって、設定に応じてそれ以上またはそれ以下の個数の方向性予測モードが使用されてもよい。イントラ予測部２２２は、周辺ブロックに適用された予測モードを利用して、現ブロックに適用される予測モードを決定することもできる。
【００５２】
インター予測部２２１は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロックを導出する。ここで、インター予測モードで送信される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含む。上記動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含んでもよい。インター予測の場合、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含む。上記参照ブロックを含む参照ピクチャと上記時間的周辺ブロックを含む参照ピクチャとは同一であってもよく、異なってもよい。上記時間的周辺ブロックは、コロケート（同一位置）参照ブロック（collocated reference block）、コロケートＣＵ（colCU）などの名で呼ばれてもよく、上記時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれてもよい。例えば、インター予測部２２１は、周辺ブロックに基づいて動き情報候補リストを構成し、上記現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導出するためにどの候補が使われるかを指示する情報を生成する。多様な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードおよびマージモードの場合、インター予測部２２１は、周辺ブロックの動き情報を現ブロックの動き情報として利用できる。スキップモードの場合、マージモードとは異なって残差信号が送信されない場合がある。動き情報予測（Motion Vector Prediction：ＭＶＰ）モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）として利用し、動きベクトル差分（motion vector difference）をシグナリングすることにより、現ブロックの動きベクトルを指示することができる。
【００５３】
予測部２２０は、後述する多様な予測方法に基づいて予測信号を生成することができる。例えば、予測部は、１つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用できる。これは、ＣＩＩＰ（Combined Inter and Intra Prediction）と呼ばれる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー（Intra Block Copy：ＩＢＣ）予測モードに基づくこともでき、または、パレットモード（palette mode）に基づくこともできる。上記ＩＢＣ予測モードまたはパレットモードは、例えば、ＳＣＣ（Screen Content Coding）などのようにゲームなどのコンテンツ画像／動画コーディングのために使用できる。ＩＢＣは、基本的に現ピクチャ内で予測を行うが、現ピクチャ内で参照ブロックを導出する点で、インター予測と類似して行われることができる。すなわち、ＩＢＣは、本文書において説明されるインター予測技法の少なくとも１つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例として見ることができる。パレットモードが適用される場合、パレットテーブルおよびパレットインデックスに関する情報に基づいてピクチャ内のサンプル値をシグナリングできる。
【００５４】
上記予測部（インター予測部２２１および／または上記イントラ予測部２２２を含む）により生成された予測信号は、復元信号を生成するために利用されるか、残差信号を生成するために利用される。変換部２３２は、残差信号に変換技法を適用して変換係数（transform coefficients）を生成する。例えば、変換技法は、ＤＣＴ（Discrete Cosine Transform）、ＤＳＴ（Discrete Sine Transform）、ＫＬＴ（Karhunen-Loeve Transform）、ＧＢＴ（Graph-Based Transform）、またはＣＮＴ（Conditionally Non-linear Transform）の少なくとも１つを含む。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。ＣＮＴは、以前に復元された全てのピクセル（all previously reconstructed pixel）を利用して予測信号を生成し、それに基づいて取得される変換を意味する。また、変換過程は、正方形の同じサイズを有するピクセルブロックに適用されてもよく、正方形でない可変サイズのブロックに適用されてもよい。
【００５５】
量子化部２３３は、変換係数を量子化してエントロピエンコード部２４０に送信し、エントロピエンコード部２４０は、量子化された信号（量子化された変換係数に関する情報）をエンコードしてビットストリームで出力する。上記量子化された変換係数に関する情報は、残差情報と呼ばれてもよい。量子化部２３３は、係数スキャン順序（scan order）に基づいてブロック形態の量子化された変換係数を１次元ベクトルの形態で再整列することができ、上記１次元ベクトルの形態の量子化された変換係数に基づいて上記量子化された変換係数に関する情報を生成することもできる。エントロピエンコード部２４０は、例えば、指数ゴロム（exponential Golomb）、ＣＡＶＬＣ（Context-Adaptive Variable Length Coding）、ＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding）などの多様なエンコード方法を行うことができる。エントロピエンコード部２４０は、量子化された変換係数の他、ビデオ／イメージ復元に必要な情報（例えば、シンタックス要素（syntax elements）の値など）を共にまたは別途にエンコードすることもできる。エンコードされた情報（例えば、エンコードされたビデオ／画像情報）は、ビットストリームの形態でＮＡＬ（Network Abstraction Layer）ユニット単位で送信または記憶される。上記ビデオ／画像情報は、アダプテーションパラメータセット（ＡＰＳ）、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）、ビデオパラメータセット（ＶＰＳ）などの様々なパラメータセットに関する情報をさらに含んでもよい。また、上記ビデオ／画像情報は、一般制限情報（general constraint information）をさらに含んでもよい。本文書において、エンコード装置からデコード装置に伝達／シグナリングされる情報および／またはシンタックス要素は、ビデオ／画像情報に含まれてもよい。上記ビデオ／画像情報は、前述したエンコード手順を経てエンコードされて上記ビットストリームに含まれることができる。上記ビットストリームは、ネットワークを介して送信されてもよく、またはデジタル記憶媒体に記憶されてもよい。ここで、ネットワークは、放送網および／または通信網などを含み、デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの様々な記憶媒体を含む。エントロピエンコード部２４０から出力された信号は、送信する送信部（図示せず）および／または記憶する記憶部（図示せず）がエンコード装置２００の内／外部エレメントとして構成されてもよく、または、送信部は、エントロピエンコード部２４０に含まれてもよい。
【００５６】
量子化部２３３から出力された量子化された変換係数は、予測信号を生成するために利用される。例えば、量子化された変換係数に逆量子化部２３４および逆変換部２３５を介して逆量子化および逆変換を適用することにより、残差信号（残差ブロックまたは残差サンプル）を復元することができる。加算部１５５は、復元された残差信号をインター予測部２２１またはイントラ予測部２２２から出力された予測信号に加算することにより、復元（reconstructed）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成する。スキップモードが適用された場合のように、処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部２５０は、復元部または復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されてもよい。
【００５７】
一方、ピクチャエンコーディングおよび／または復元の過程においてＬＭＣＳ（Luma Mapping With Chroma Scaling）が適用されることもできる。
【００５８】
フィルタリング部２６０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部２６０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成し、上記修正された復元ピクチャをメモリ２７０、具体的にはメモリ２７０のＤＰＢに記憶する。上記様々なフィルタリング方法は、例えば、デブロックフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、双方向フィルタ（bilateral filter）などを含む。フィルタリング部２６０は、各フィルタリング方法に関する説明において、後述するように、フィルタリングに関する多様な情報を生成してエントロピエンコード部２４０に伝達する。フィルタリングに関する情報は、エントロピエンコード部２４０においてエンコードされてビットストリーム形式で出力される。
【００５９】
メモリ２７０に送信された修正された復元ピクチャは、インター予測部２２１において参照ピクチャとして使用されることができる。エンコード装置は、これによりインター予測が適用される場合、エンコード装置１００とデコード装置とにおいての予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【００６０】
メモリ２７０のＤＰＢは、修正された復元ピクチャをインター予測部２２１においての参照ピクチャとして使用するために記憶する。メモリ２７０は、現ピクチャ内の動き情報が導出された（もしくは、エンコードされた）ブロックの動き情報ならびに／または既に復元されたピクチャ内のブロックの動き情報を記憶する。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するためにインター予測部２２１に伝達される。メモリ２７０は、現ピクチャ内の復元されたブロックの復元サンプルを記憶し、イントラ予測部２２２に伝達する。
【００６１】
図３は、本開示が適用されることができるビデオ／画像デコード装置の構成を概略的に説明する図である。
【００６２】
図３に示すように、デコード装置３００は、エントロピデコード部（entropy decoder）３１０、残差処理部（residual processor）３２０、予測部（predictor）３３０、加算部（adder）３４０、フィルタリング部（filter）３５０およびメモリ（memory）３６０を含んで構成される。予測部３３０は、インター予測部３３１およびイントラ予測部３３２を含む。残差処理部３２０は、逆量子化部（dequantizer）３２１および逆変換部（inverse transformer）３２１を含む。前述したエントロピデコード部３１０、残差処理部３２０、予測部３３０、加算部３４０およびフィルタリング部３５０は、実施形態によって１つのハードウェアコンポーネント（例えば、デコーダチップセットまたはプロセッサ）により構成されてもよい。また、メモリ３６０は、ＤＰＢ（Decoded Picture Buffer）を含んでもよく、デジタル記憶媒体により構成されてもよい。上記ハードウェアコンポーネントは、メモリ３６０を内／外部コンポーネントとしてさらに含んでもよい。
【００６３】
ビデオ／画像情報を含むビットストリームが入力されると、デコード装置３００は、図２のエンコード装置においてビデオ／画像情報が処理されたプロセスに対応して画像を復元する。例えば、デコード装置３００は、上記ビットストリームから取得したブロック分割関連情報に基づいてユニット／ブロックを導出する。デコード装置３００は、エンコード装置において適用された処理ユニットを利用してデコードを行う。したがって、デコーディングの処理ユニットは、例えば、コーディングユニットであり、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットから、四分木構造、二分木構造および／または三分木構造によって分割されることができる。コーディングユニットから、１つまたは複数の変換ユニットが導出されることができる。そして、デコード装置３００を介してデコードおよび出力された復元画像信号は、再生装置により再生される。
【００６４】
デコード装置３００は、図２のエンコード装置から出力された信号をビットストリーム形態で受信し、受信した信号は、エントロピデコード部３１０によりデコードされる。例えば、エントロピデコード部３１０は、上記ビットストリームをパージングして画像復元（または、ピクチャ復元）に必要な情報（例えば、ビデオ／画像情報）を導出する。上記ビデオ／画像情報は、アダプテーションパラメータセット（ＡＰＳ）、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）またはビデオパラメータセット（ＶＰＳ）などの様々なパラメータセットに関する情報をさらに含んでもよい。また、上記ビデオ／画像情報は、一般制限情報（general constraint information）をさらに含んでもよい。デコード装置は、上記パラメータセットに関する情報および／または上記一般制限情報にさらに基づいてピクチャをデコードすることができる。本文書において後述されるシグナリング／受信される情報および／またはシンタックス要素は、上記デコード手順によりデコードされて上記ビットストリームから取得できる。例えば、エントロピデコード部３１０は、指数ゴロム符号化、ＣＡＶＬＣまたはＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、画像復元に必要なシンタックスエレメントの値、残差に関する変換係数の量子化された値を出力することができる。より詳細には、ＣＡＢＡＣエントロピデコード方法は、ビットストリームにおいて各シンタックス要素に該当するビンを受信し、デコード対象シンタックス要素情報と周辺およびデコード対象ブロックのデコード情報または以前の段階でデコードされたシンボル／ビンの情報を利用してコンテキストモデルを決定し（determine a context model using a decoding target syntax element information, decoding information of a decoding target block or information of a symbol/bin decoded in a previous stage）、決定されたコンテキストモデルに応じてビン（bin）の発生確率を予測してビンの算術復号（デコーディング）（arithmetic decoding）を行って各シンタックス要素に該当するシンボルを生成することができる。ここで、ＣＡＢＡＣエントロピデコード方法は、コンテキストモデルを決定した後、次のシンボル／ビンのコンテキストモデルのためにデコードされたシンボル／ビンの情報を利用してコンテキストモデルをアップデートする。エントロピデコード部３１０でデコードされた情報のうちの予測に関する情報は、予測部（インター予測部３３２およびイントラ予測部３３１）に提供され、エントロピデコード部３１０でエントロピデコードが行われた残差値、すなわち、量子化された変換係数および関連パラメータ情報は、残差処理部３２０に入力される。残差処理部３２０は、残差信号（残差ブロック、残差サンプル、残差サンプルアレイ）を導出することができる。また、エントロピデコード部３１０でデコードされた情報のうちのフィルタリングに関する情報は、フィルタリング部３５０に提供される。一方、エンコード装置から出力された信号を受信する受信部（図示せず）は、デコード装置３００の内／外部エレメントとしてさらに構成されてもよく、または、受信部は、エントロピデコード部３１０の構成要素であってもよい。一方、本文書によ���デコード装置は、ビデオ／画像／ピクチャデコード装置と呼ばれてもよく、上記デコード装置は、情報デコーダ（ビデオ／画像／ピクチャ情報デコーダ）とサンプルデコーダ（ビデオ／画像／ピクチャサンプルデコーダ）とに区分されてもよい。上記情報デコーダは、上記エントロピデコード部３１０を含んでもよく、上記サンプルデコーダは、上記逆量子化部３２１、逆変換部３２２、加算部３４０、フィルタリング部３５０、メモリ３６０、インター予測部３３２およびイントラ予測部３３１のうちの少なくとも１つを含んでもよい。
【００６５】
逆量子化部３２１は、量子化された変換係数を逆量子化して変換係数を出力する。逆量子化部３２１は、量子化された変換係数を２次元ブロックの形態で再整列する。この場合、上記再整列は、エンコード装置で行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部３２１は、量子化パラメータ（例えば、量子化ステップサイズ情報）を利用して量子化された変換係数に対する逆量子化を行い、変換係数（transform coefficient）を取得できる。
【００６６】
逆変換部３２２においては、変換係数を逆変換して残差信号（残差ブロック、残差サンプルアレイ）を取得する。
【００６７】
予測部は、現ブロックに対する予測を行い、上記現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成する。予測部は、エントロピデコード部３１０から出力された上記予測に関する情報に基づいて上記現ブロックにイントラ予測が適用されるかまたはインター予測が適用されるかを決定し、具体的なイントラ／インター予測モードを決定する。
【００６８】
予測部３２０は、後述する多様な予測方法に基づいて予測信号を生成する。例えば、予測部は、１つのブロックに対する予測のためにイントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用することができる。これは、ＣＩＩＰ（Combined Inter and Intra Prediction）と呼ばれてもよい。また、予測部は、ブロックに対する予測のためにイントラブロックコピー（Intra Block Copy：ＩＢＣ）予測モードに基づくこともでき、またはパレットモードに基づくこともできる。上記ＩＢＣ予測モードまたはパレットモードは、例えば、ＳＣＣ（Screen Content Coding）などのようにゲームなどのコンテンツ画像／動画コーディングのために使用されることができる。ＩＢＣは、基本的に現ピクチャ内で予測を行うが、現ピクチャ内で参照ブロックを導出する点でインター予測と類似して行われることができる。すなわち、ＩＢＣは、本文書において説明されるインター予測技法の少なくとも１つを利用することができる。パレットモードは、イントラコーディングまたはイントラ予測の一例として見ることができる。パレットモードが適用される場合、パレットテーブルおよびパレットインデックスに関する情報が上記ビデオ／画像情報に含まれてシグナリングされることができる。
【００６９】
イントラ予測部３３１は、現ピクチャ内のサンプルを参照して現ブロックを予測する。上記参照されるサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置するか、または離れて位置する。イントラ予測において、予測モードは、複数の非方向性モードおよび複数の方向性モードを含むことができる。イントラ予測部３３１は、周辺ブロックに適用された予測モードを利用して、現ブロックに適用される予測モードを決定することもできる。
【００７０】
インター予測部３３２は、参照ピクチャ上で動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロックを導出する。ここで、インター予測モードで送信される動き情報の量を減らすために周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報を、ブロック、サブブロックまたはサンプル単位で予測することができる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含んでもよい。上記動き情報は、インター予測方向（Ｌ０測、Ｌ１予測、Ｂｉ予測など）情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。例えば、インター予測部３３２は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて上記現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導出する。様々な予測モードに基づいてインター予測が行われることができ、上記予測に関する情報は、上記現ブロックに対するインター予測のモードを指示する情報を含むことができる。
【００７１】
加算部３４０は、取得された残差信号を予測部（インター予測部３３２および／またはイントラ予測部３３１を含む）から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加算することにより、復元信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成する。スキップモードが適用された場合のように処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。
【００７２】
加算部３４０は、復元部または復元ブロック生成部と呼ばれてもよい。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されてもよく、後述するように、フィルタリングを経て出力されてもよく、または次のピクチャのインター予測のために使用されてもよい。
【００７３】
一方、ピクチャデコーディング過程でＬＭＣＳ（Luma Mapping with Chroma Scaling）が適用されることもある。
【００７４】
フィルタリング部３５０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部３５０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成し、上記修正された復元ピクチャを、メモリ３６０、具体的にはメモリ３６０のＤＰＢに送信する。上記様々なフィルタリング方法は、例えば、デブロックフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、双方向フィルタ（bilateral filter）などを含む。
【００７５】
メモリ３６０のＤＰＢに記憶された（修正された）復元ピクチャは、インター予測部３３２において参照ピクチャとして使用されることができる。メモリ３６０は、現ピクチャ内の動き情報が導出された（もしくは、デコードされた）ブロックの動き情報ならびに／または既に復元されたピクチャ内のブロックの動き情報を記憶する。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するためにインター予測部２６０に伝達される。メモリ３６０は、現ピクチャ内に復元されたブロックの復元サンプルを記憶し、イントラ予測部３３１に伝達する。
【００７６】
本明細書において、エンコード装置１００のフィルタリング部２６０、インター予測部２２１およびイントラ予測部２２２において説明された実施形態は、それぞれデコード装置３００のフィルタリング部３５０、インター予測部３３２およびイントラ予測部３３１にも同一または対応するように適用されることができる。
【００７７】
前述したように、ビデオコーディングを行うにおいて、圧縮効率を向上させるために予測を行う。これにより、コーディング対象ブロックである現ブロックに対する予測サンプルを含む予測されたブロックを生成することができる。ここで、上記予測されたブロックは、空間領域（ドメイン）（または、ピクセル領域）における予測サンプルを含む。上記予測されたブロックは、エンコード装置とデコード装置とにおいて同様に導出され、上記エンコード装置は、オリジナルブロックのオリジナルサンプル値そのものではなく、上記オリジナルブロックと上記予測されたブロックとの間の残差に関する情報（残差情報）をデコード装置にシグナリングすることにより、画像コーディング効率を向上させることができる。デコード装置は、上記残差情報に基づいて残差サンプルを含む残差ブロックを導出し、上記残差ブロックと上記予測されたブロックとを合わせて復元サンプルを含む復元ブロックを生成することができ、復元ブロックを含む復元ピクチャを生成することができる。
【００７８】
上記残差情報は、変換および量子化の手順により生成される。例えば、エンコード装置は、上記オリジナルブロックと上記予測されたブロックとの間の残差ブロックを導出し、上記残差ブロックに含まれる残差サンプル（残差サンプルアレイ）に変換手順を行って変換係数を導出し、上記変換係数に量子化手順を行って量子化された変換係数を導出して関連する残差情報を（ビットストリームを介して）デコード装置にシグナリングすることができる。ここで、上記残差情報は、上記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含む。デコード装置は、上記残差情報に基づいて逆量子化／逆変換の手順を行い、残差サンプル（または、残差ブロック）を導出する。デコード装置は、予測されたブロックおよび上記残差ブロックに基づいて復元ピクチャを生成する。エンコード装置は、また、以後のピクチャのインター予測のための参照のために量子化された変換係数を逆量子化／逆変換して残差ブロックを導出し、これに基づいて復元ピクチャを生成する。
【００７９】
図４は、一実施形態によるＣＡＢＡＣエンコードシステムのブロック図を示す図である。
【００８０】
図４に示すように、単一の構文要素を符号化するためのＣＡＢＡＣのブロック図が示される。ＣＡＢＡＣの符号化の過程において、入力信号が二進値ではない構文要素である場合、二進化により入力信号を二進値に変換することができる。入力信号が既に二進値である場合は、二進化を経ずにバイパスされることができる。ここで、二進値を構成するそれぞれの二進数０または１をビン（bin）と呼んでもよい。例えば、二進化された後の二進ストリングが１１０である場合、１、１、０のそれぞれを１つのビンと呼ぶことができる。
【００８１】
二進化されたビンは、正規（regular）符号化エンジンまたはバイパス符号化エンジンに入力される。正規符号化エンジンは、当該ビンに対して確率値を反映するコンテキスト（文脈）モデルを割り当て、割り当てられたコンテキストモデルに基づいて当該ビンを符号化する。正規符号化エンジンにおいては、各ビンに対する符号化を行った後、当該ビンに対する確率モデルを更新することができる。このように符号化されるビンをコンテキスト符号化ビン（context-coded bin）という。バイパス符号化エンジンは、入力されたビンに対して確率を推定する手順と、符号化後に当該ビンに適用した確率モデルを更新する手順と、を省略することができる。コンテキストを割り当てる代わりに均一な確率分布を適用して入力されるビンを符号化することにより符号化速度を向上させることができる。このように符号化されるビンを「バイパスビン（bypass bin）」という。
【００８２】
エントロピ符号化は、正規符号化エンジンにより符号化を行うか、バイパス符号化エンジンにより符号化を行うか、を決定し、符号化経路を切り替えることができる。エントロピ復号は、符号化と同一の過程を逆順で行うことができる。
【００８３】
一実施形態において、（量子化された）変換係数は、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘ、ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ、ｍｔｓ＿ｉｄｘなどのシンタックス要素（syntax elements）に基づいて、符号化および／または復号されることができる。下記の表１は、残差データ符号化に関連するシンタックス要素を示す。
【００８４】
［表１］
【表１−１】
2021503247.tif 000005
【００８５】
【表１−２】
2021503247.tif 000006
【００８６】
【表１−３】
2021503247.tif 000007
【００８７】
【表１−４】
2021503247.tif 000008
【００８８】
ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇは、関連するブロック（associated block）において変換が省略されるか否かを示す。上記関連するブロックは、ＣＢ（Coding Block）またはＴＢ（Transform Block）であり得る。変換（および量子化）ならびに残差コーディング手順に関して、ＣＢとＴＢとは混用されてもよい。例えば、ＣＢに対して残差サンプルが導出され、上記残差サンプルに対する変換および量子化により（量子化された）変換係数が導出されることができることは前述の通りであり、残差コーディング手順により上記（量子化された）変換係数の位置、サイズ、符号などを効率的に示す情報（例えば、シンテクス要素）が生成され、シグナリングされることができる。量子化された変換係数は、簡単に変換係数と呼ばれてもよい。一般に、ＣＢが最大ＴＢより大きくない場合、ＣＢのサイズはＴＢのサイズと同一であり、この場合、変換（および量子化）ならびに残差コーディングされる対象ブロックは、ＣＢまたはＴＢと呼ばれてもよい。一方、ＣＢが最大ＴＢより大きい場合、変換（および量子化）ならびに残差コーディングされる対象ブロックは、ＴＢと呼ばれてもよい。以下、残差コーディングに関連するシンタックス要素が変換ブロック（ＴＢ）単位でシグナリングされると説明するが、これは例であって、上記ＴＢがコーディングブロック（ＣＢ）と混用できることは前述の通りである。
【００８９】
一実施形態において、シンタックス要素ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘおよびｌａｓｔ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘに基づいて、変換ブロック内の最後の０でない変換係数の（ｘ，ｙ）位置情報を符号化することができる。より具体的には、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘは、変換ブロック内のスキャン順序（scanning order）における最後（last）の有効係数（significant coefficient）の列位置（column position）のプリフィックス（prefix）を示し、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘは、変換ブロック内の上記スキャン順序（scanning order）における最後（last）の有効係数（significant coefficient）の行位置（row position）のプリフィックス（prefix）を示し、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘは、上記変換ブロック内の上記スキャン順序（scanning order）における最後（last）の有効係数（significant coefficient）の列位置（column position）のサフィックス（suffix）を示し、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘは、上記変換ブロック内の上記スキャン順序（scanning order）における最後（last）の有効係数（significant coefficient）の行位置（row position）のサフィックス（suffix）を示す。ここで、有効係数は、上記０ではない係数を示すことができる。上記スキャン順序は、右上向対角スキャン順序であり得る。あるいは、上記スキャン順序は、水平スキャン順序、または垂直スキャン順序であり得る。上記スキャン順序は、対象ブロック（ＣＢ、もしくはＴＢを含むＣＢ）にイントラ／インター予測が適用されるか否かならびに／または具体的なイントラ／インター予測モードに基づいて決定できる。
【００９０】
次に、変換ブロックを４×４サブブロック（sub-block）に分割した後、各４×４サブブロックごとに１ビットのシンタックス要素ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇを使用して現サブブロック内に０でない係数が存在するか否か示すことができる。
【００９１】
ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇの値が０である場合、それ以上送信する情報がないので、現サブブロックに対する符号化過程を終了することができる。逆に、ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇの値が１である場合、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇに対する符号化過程を継続して行うことができる。最後の０でない係数を含むサブブロックは、ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇに対する符号化が不要であり、変換ブロックのＤＣ情報を含んでいるサブブロックは０でない係数を含む確率が高いので、ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇは、符号化されずにその値が１であると仮定されることができる。
【００９２】
ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇの値が１であるため、現サブブロック内に０でない係数が存在すると判断される場合、逆にスキャンされた順序に従って二進値を有するｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを符号化することができる。スキャン順序に従って、それぞれの係数に対して１ビットシンタックス要素ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを符号化することができる。現在スキャン位置において変換係数の値が０でない場合、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの値は１になり得る。ここで、最後の０でない係数を含んでいるサブブロックの場合、最後の０でない係数に対してはｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを符号化する必要がないので、上記サブブロックに対する符号化過程が省略されてもよい。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが１である場合にのみレベル情報符号化が実行でき、レベル情報符号化の過程には４つのシンタックス要素を使用することができる。より具体的には、各ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ［ｘＣ］［ｙＣ］は、現ＴＢ内の各変換係数位置（ｘＣ，ｙＣ）における当該変換係数のレベル（値）が０でないか（non-zero）か否かを示すことができる。一実施形態において、上記ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇは、量子化された変換係数が０ではない有効係数であるか否かを示す有効係数フラグの一例に該当し得る。
【００９３】
ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇに対する符号化以後の残りのレベル値は、下記の数式１の通りである。すなわち、符号化すべきレベル値を示すシンタックス要素ｒｅｍＡｂｓＬｅｖｅｌは、下記の数式１の通りである。ここで、ｃｏｅｆｆは、実際の変換係数値を意味する。
【００９４】
［数式１］
remAbsLevel = |coeff| - 1
【００９５】
ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇにより、下記の数式２のように、数式１に記載されたｒｅｍＡｂｓＬｅｖｅｌのｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｃｏｅｆｆｉｃｉｅｎｔ（ＬＳＢ）値を符号化することができる。ここで、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ［ｎ］は、スキャン位置ｎにおける変換係数レベル（値）のパリティ（parity）を示すことができる。ｐａｒ＿ｌｅｖｅ＿ｆｌａｇの符号化後に符号化すべき変換係数レベル値ｒｅｍＡｂｓＬｅｖｅｌを、下記の数式３のようにアップデートすることができる。
【００９６】
［数式２］
par_level_flag = remAbsLevel & 1
【００９７】
［数式３］
remAbsLevel’ = remAbsLevel ＞＞ 1
【００９８】
ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇは、当該スキャン位置（ｎ）におけるｒｅｍＡｂｓＬｅｖｅｌ’が１より大きいか否かを、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、当該スキャン位置（ｎ）におけるｒｅｍＡｂｓＬｅｖｅｌ’が２より大きいか否かを示すことができる。ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが１である場合にのみ、ａｂｓ＿ｒｅｍａｉｎｄｅｒに対する符号化が行われることができる。実際の変換係数値であるｃｏｅｆｆと各シンタックス要素との関係を整理すると、例えば、下記の数式４の通りであり、下記の表２は、数式４に関連する例を示す。また、各係数の符号は、１ビットシンボルであるｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇを用いて符号化できる。｜ｃｏｅｆｆ｜は、変換係数レベル（値）を示し、変換係数に対するＡｂｓＬｅｖｅｌとして表されてもよい。
【００９９】
［数式４］
| coeff | = sig_coeff_flag + par_level_flag + 2 * (rem_abs_gt1_flag + rem_abs_gt2_flag + abs_remainder)
【０１００】
【表２】
2021503247.tif 000009
【０１０１】
一方、一実施形態において、上記ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇは、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグの一例を示し、上記ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇは、変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグの一例を示し、上記ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、変換係数レベルが第２閾値より大きいか否かに関する第２変換係数レベルフラグの一例を示す。
【０１０２】
また、他の一実施形態において、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、ｒｅｍ＿ａｂｓ＿ｇｔ３＿ｆｌａｇと呼ばれてもよく、さらに他の実施形態においては、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［ｊ］に基づいて現れることもできる。ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［ｊ］は、スキャン位置ｎにおいて変換係数レベル（または、変換係数レベルを右側に１だけシフトした値）の絶対値が（ｊ＜＜１）＋１より大きいか否かを示すフラグであり得る。一例において、上記ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］と同一および／または類似の機能を行うことができ、上記ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］と同一および／または類似の機能を行うことができる。すなわち、上記ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］は、上記第１変換係数レベルフラグの一例に該当し、上記ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］は、上記第２変換係数レベルフラグの一例に該当し得る。上記（ｊ＜＜１）＋１は、場合によって、第１閾値、第２閾値などの所定の閾値に代替されてもよい。
【０１０３】
図５は、４×４ブロック内の変換係数の例を示す図である。
【０１０４】
図５の４×４ブロックは、量子化された係数の一例を示す。図５に示すブロックは、４×４変換ブロックであるか、または、８×８、１６×１６、３２×３２、６４×６４変換ブロックの４×４サブブロックであり得る。図５の４×４ブロックは、輝度ブロックまたは色差ブロックを示すことができる。図５の逆対角線スキャンされる係数に対する符号化の結果は、例えば、表３の通りである。表３において、ｓｃａｎ＿ｐｏｓは、逆対角線スキャンによる係数の位置を示す。ｓｃａｎ＿ｐｏｓ１５は、４×４ブロックにおいて１番目にスキャンされる、すなわち、右側下端コーナの係数であり、ｓｃａｎ＿ｐｏｓ０は、最後にスキャンされる、すなわち、左側上端コーナの係数を示す。一方、一実施形態において、上記ｓｃａｎ＿ｐｏｓは、スキャン位置と称されてもよい。例えば、上記ｓｃａｎ＿ｐｏｓ０は、スキャン位置０と称されてもよい。
【０１０５】
【表３】
2021503247.tif 000010
【０１０６】
表１で説明したように、一実施形態において、４×４サブブロック単位の主要なシンタックス要素（syntax element）は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇなどを含む。このうち、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、正規符号化エンジンを用いて符号化されるコンテキスト符号化ビンを示し、ａｂｓ＿ｒｅｍａｉｎｄｅｒおよびｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、バイパス符号化エンジンを用いて符号化されるバイパスビンを示す。
【０１０７】
コンテキスト符号化ビンは、以前のビンを処理しながらアップデートした確率状態および範囲を使用するため、高いデータ依存性を示すことができる。すなわち、コンテキスト符号化ビンは、現ビンの符号化／復号が全て行われた後に次のビンの符号化／復号を行うことができるため、並列処理が難しい場合がある。また、確率区間を読み出して現在の状態を判断するためにも、多くの時間を必要とすることがある。したがって、一実施形態においては、コンテキスト符号化ビンの数を減少させ、バイパスビン数を増加させることにより、ＣＡＢＡＣ処理量を向上させる方法が提案される。
【０１０８】
一実施形態において、係数レベル情報は、逆スキャン順序で符号化できる。すなわち、単位ブロックの右側下端の係数から開始して左側上端方向にスキャンされた後に符号化される。一例において、逆スキャン順序で先にスキャンされる係数レベルは、小さい値を示すことができる。このような先にスキャンされる係数に対するｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇをシグナリングすることは、係数レベルを示すための二進化ビンの長さを減少させることができ、各シンタックス要素は、定められたコンテキストを用いて、以前に符号化されたコンテキスト（context）に基づいて算術符号化（arithmetic coding）により効率的に符号化できる。
【０１０９】
しかしながら、一部の大きな値を有する係数レベル、すなわち、単位ブロックの左側上端に位置する係数レベルの場合、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇをシグナリングすることが圧縮性能の向上に役立たない可能性もある。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを用いることが符号化効率を低下させる可能性もある。
【０１１０】
一実施形態においては、コンテキスト符号化ビンで符号化されるシンタックス要素（ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ）を、バイパス符号化エンジンを用いて符号化される、すなわち、バイパスビンで符号化される、ａｂｓ＿ｒｅｍａｉｎｄｅｒシンタックス要素に迅速に切り替えることにより、コンテキスト符号化ビンの数を減少させることができる。
【０１１１】
一実施形態において、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化を行う係数の個数を制限することができる。４×４ブロック内の明示的に符号化されるｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数は、最大１６個となり得る。すなわち、係数の絶対値が２より大きい全ての係数に対してｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化されることもあるが、一実施形態においては、スキャン順序に従って、２より大きな絶対値を有する（すなわち、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１である係数）最初のＮ個の係数に対してのみ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを符号化することができる。Ｎは、符号化器により選択されてもよく、０から１６までの任意の値で設定されてもよい。表４は、Ｎが１であるとき、上記一実施形態の適用例を示す。一実施形態によれば、４×４ブロックにおいて、下記の表４にＸと示された個数の分だけｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化の回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化が行われないスキャン位置に対して係数のａｂｓ＿ｒｅｍａｉｎｄｅｒ値を表３と比較するとき、下記の表４のように変更される。
【０１１２】
【表４】
2021503247.tif 000011
【０１１３】
一実施形態において、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇに対する符号化を行う係数の個数が制限される。４×４ブロック内の明示的に符号化されるｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数は、最大１６個となり得る。すなわち、係数の絶対値が０より大きい全ての係数に対してｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが符号化されるが、一実施形態においては、スキャン順序に従って０より大きい絶対値を有する最初のＭ個の係数（すなわち、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが１である係数）に対してのみ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇを符号化することができる。Ｍは、符号化器により選択されることもでき、０から１６までの任意の値で設定されることもできる。表５は、Ｍが４であるときの上記一実施形態の適用例を示す。ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが符号化されない場合、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇも符号化されないので、上記一実施形態によれば、４×４ブロックにおいてＸと示された個数の分だけｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇに対する符号化回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇに対する符号化が行われないスキャン位置に対して、係数のｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇおよびａｂｓ＿ｒｅｍａｉｎｄｅｒの値を表３と比較すると、下記の表６のように変更される。表６は、Ｍが８であるときの上記一実施形態の適用例を示す。
【０１１４】
【表５】
2021503247.tif 000012
【０１１５】
【表６】
2021503247.tif 000013
【０１１６】
一実施形態においては、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をそれぞれ制限する前述の実施形態が結合されることができる。ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数制限を示すＭとｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数制限を示すＮとは、両方とも０から１６の値を有してもよいが、ＮはＭと同一であるかＮより小さくてもよい。表７は、Ｍが８、Ｎが１であるときの本実施形態の適用例を示す。Ｘとマークされた位置において、当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
【０１１７】
【表７】
2021503247.tif 000014
【０１１８】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇに対する符号化を行う係数の個数が制限されることがある。４×４ブロック内の明示的に符号化されるｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数は、最大１６個となり得る。すなわち、係数の絶対値が０より大きい全ての係数に対してｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇが符号化されることができるが、一実施形態においては、スキャン順序に従って０より大きな絶対値を有する最初のＬ個の係数（すなわち、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが１である係数）に対してのみ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇを符号化することができる。Ｌは、符号化器により選択されることもでき、０から１６までの任意の値で設定されることもできる。表８は、Ｌが８であるときの上記一実施形態の適用例を示す。上記実施形態によれば、４×４ブロックにおいてＸと示された個数の分だけｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇに対する符号化の回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇに対する符号化が行われないスキャン位置に対して、係数のｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇおよびａｂｓ＿ｒｅｍａｉｎｄｅｒの値を表３と比較すると、下記の表８のように変更される。
【０１１９】
【表８】
2021503247.tif 000015
【０１２０】
一実施形態においては、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をそれぞれ制限する前述の実施形態が結合されることができる。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数制限を示すＬとｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数制限を示すＮとは、両方とも０から１６の値を有することができる。表９は、Ｌが８、Ｎが１であるときの本実施形態の適用例を示す。Ｘとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
【０１２１】
【表９】
2021503247.tif 000016
【０１２２】
一実施形態においては、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数をそれぞれ制限する前述の実施形態が結合されることができる。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数制限を示すＬとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数制限を示すＭとは、両方とも０から１６の値を有することができる。表１０は、Ｌが８、Ｍが８であるときの本実施形態の適用例を示す。Ｘとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
【０１２３】
【表１０】
2021503247.tif 000017
【０１２４】
一実施形態においては、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をそれぞれ制限する前述の実施形態が結合されることができる。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数制限を示すＬ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数制限を示すＭおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数制限を示すＮは、全て０から１６の値を有することができるが、ＮはＭと同一であるか、Ｍより小さい。表１１は、Ｌが８、Ｍが８、Ｎが１であるときの本実施形態の適用例を示す。Ｘとマークされた位置において当該シンタックス要素の符号化が行われないので、コンテキスト符号化ビンの個数を減らすことができる。
【０１２５】
【表１１】
2021503247.tif 000018
【０１２６】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和を制限する方法が提案される。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和をＫに制限するとき、Ｋは、０から４８の値を有することができる。本実施形態においては、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和がＫを超えてｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇに対する符号化が行われない場合、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇも符号化されないことがある。表１２は、Ｋを３０に制限した場合を示す。
【０１２７】
【表１２】
2021503247.tif 000019
【０１２８】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの数の和を制限する方法と、前述のｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの数を制限する方法と、を結合することもできる。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの数の和をＫに制限し、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの数をＮに制限するとき、Ｋは０から４８の値を、Ｎは０から１６の値を有することができる。表１３は、Ｋを３０に、Ｎを２に制限した場合を示す。
【０１２９】
【表１３】
2021503247.tif 000020
【０１３０】
一実施形態においては、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの順に符号化が行われることができるが、本開示による一実施形態においては、符号化順序を変更して、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの順に符号化が行われることもできる。このように、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更すると、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが符号化された後にｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが符号化され、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１であるときにのみｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇが符号化される。したがって、実際の変換係数値であるｃｏｅｆｆと各シンタックス要素との関係は、下記の数式５のように変更されることができる。下記の表１４は、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序が変更された場合に関する一例を示す。上記表２と比較すると、下記の表１４においては、｜ｃｏｅｆｆ｜が１である場合にｐａｒ＿ｌｅｖｅ＿ｆｌａｇが符号化されなくて、処理量および符号化の面で利点があり得る。もちろん、表１４において、｜ｃｏｅｆｆ｜が２である場合、表２とは異なって、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化される必要があり、｜ｃｏｅｆｆ｜が４である場合、表２と異なって、ａｂｓ＿ｒｅｍａｉｎｄｅｒが符号化される必要があるが、｜ｃｏｅｆｆ｜が１である場合が｜ｃｏｅｆｆ｜が２又が４である場合より多く発生する可能性があるので、表１４によれば、表２に比較してより高い処理量および符号化性能を示すことができる。図５のような４×４サブブロックを符号化した結果は、下記の表１５の通りである。
【０１３１】
［数式５］
| coeff | = sig_coeff_flag + rem_abs_gt1_flag + par_level_flag + 2 * (rem_abs_gt2_flag + abs_remainder)
【０１３２】
【表１４】
2021503247.tif 000021
【０１３３】
【表１５】
2021503247.tif 000022
【０１３４】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇ＿ｆｌａｇの順に符号化を行うとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂＳ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和を制限する方法が提案される。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和がＫに制限される場合、Ｋは、０から４８の値を有することができる。本実施形態においては、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇがそれ以上符号化されないとき、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇも符号化されない可能性がある。表１６は、Ｋを２５に制限した場合を示す。
【０１３５】
【表１６】
2021503247.tif 000023
【０１３６】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇは、（残差）シンタックス内の１つのｆｏｒループ（loop）内で符号化されることができる。３つのシンタックス要素（ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ）の個数の和がＫを超えなくて、上記３つのシンタックス要素の個数の和がＫと正確に一致しなくても、同一のスキャン位置で符号化を止めることができる。下記の表１７は、Ｋを２７に制限した場合を示す。スキャン位置３まで符号化を行ったとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和は、２５である。Ｋを超えない値であるが、このとき、エンコード装置において次のスキャン位置であるｓｃａｎ＿ｐｏｓ２の係数レベルの値が分からないため、ｓｃａｎ＿ｐｏｓ２で発生するコンテキスト符号化ビンの個数が１から３のいずれの値を有するか分からない。したがって、エンコード装置は、ｓｃａｎ＿ｐｏｓ３までのみ符号化し、符号化を終了することができる。Ｋ値は異なるが、符号化結果は、上記表１６と下記の表１７とで同一であり得る。
【０１３７】
【表１７】
2021503247.tif 000024
【０１３８】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更するものの、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数を制限する方法が提案される。すなわち、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの順に符号化を行うものの、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇで符号化される係数の個数が制限される。
【０１３９】
４×４ブロック内の明示的に符号化するｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの最大個数は、１６である。すなわち、係数の絶対値が２より大きい全ての係数に対してｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化されることができる。これとは異なって、本実施形態においては、スキャン順序に従って２より大きな絶対値を有する最初のＮ個の係数（すなわち、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１である係数）に対してのみｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを符号化することができる。Ｎは、符号化器により選択されることもでき、０から１６までの任意の値で設定されることもできる。下記の表１８は、Ｎが１であるときの本実施形態の適用例を示す。４×４ブロックにおいてＸと示された個数の分だけｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化回数を減少させることができ、したがって、コンテキスト符号化ビンの個数を減少させることができる。ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化が行われないスキャン位置に対して、係数のａｂｓ＿ｒｅｍａｉｎｄｅｒ値は、表１５と比較して下記の表１８のように変更される。
【０１４０】
【表１８】
2021503247.tif 000025
【０１４１】
一実施形態においては、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更するものの、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和とｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数とをそれぞれ制限する方法が提供される。一例において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇ＿ｆｌａｇの順に符号化を行うとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和を制限する方法と前述したｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数を制限する方法とが結合されることができる。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和をＫに制限し、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をＮに制限するとき、Ｋは０から４８の値を、Ｎは０から１６の値を有することができる。表１９は、Ｋを２５に、Ｎを２に制限する場合を示す。
【０１４２】
【表１９】
2021503247.tif 000026
【０１４３】
図６は、２×２ブロック内の変換係数の例を示す図である。
【０１４４】
図６の２×２ブロックは、量子化された係数の一例を示す。図６に示すブロックは、２ｘ２変換ブロックであるか、または４×４、８×８、１６×１６、３２×３２、６４×６４変換ブロックの２×２サブブロックであり得る。図６の２×２ブロックは、輝度ブロックまたは色差ブロックを示す。図６の逆対角線スキャンされる係数に対する符号化結果は、例えば、表２０の通りである。表２０において、ｓｃａｎ＿ｐｏｓは、逆対角線スキャンによる係数の位置を示す。ｓｃａｎ＿ｐｏｓ３は、２×２ブロックにおいて最初にスキャンされる、すなわち、右側下端コーナの係数であり、ｓｃａｎ＿ｐｏｓ０は、最後にスキャンされる、すなわち、左側上端コーナの係数を示す。
【０１４５】
【表２０】
2021503247.tif 000027
【０１４６】
表１において説明したように、一実施形態において、２×２サブブロック単位の主要シンタックス要素（syntax element）は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇなどを含む。このうち、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇは、正規符号化エンジンを用いて符号化されるコンテキスト符号化ビンを示し、ａｂｓ＿ｒｅｍａｉｎｄｅｒおよびｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、バイパス符号化エンジンを用いて符号化されるバイパスビンを示す。
【０１４７】
コンテキスト符号化ビンは、以前のビンを処理しながらアップデートした確率状態および範囲を使用するので、高いデータ依存性を示す。すなわち、コンテキスト符号化ビンは、現ビンの符号化／復号が全て行われた後に次のビンの符号化／復号を行うことができるため、並列処理が難しい場合がある。また、確率区間を読んで現在の状態を判断するためにも、多くの時間が必要であり得る。したがって、一実施形態においては、コンテキスト符号化ビンの数を減少させ、バイパスビンの数を増加させることにより、ＣＡＢＡＣ処理量を向上させる方法が提案される。
【０１４８】
一実施形態において、係数レベル情報は、逆スキャン順序で符号化できる。すなわち、単位ブロックの右側下端の係数から開始して左側上端の方向にスキャンされた後に符号化される。一例において、逆スキャン順序で先にスキャンされる係数レベルは、小さい値を示すことができる。このように先にスキャンされる係数に対するｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇをシグナリングすることは、係数レベルを示すための二進化ビンの長さを減少させることができ、各シンタックス要素は、定められたコンテキストを用いて、以前に符号化されたコンテキスト（context）に基づいて算術符号化（arithmetic coding）により効率的に符号化されることができる。
【０１４９】
しかしながら、一部の大きな値を有する係数レベル、すなわち、単位ブロックの左側上端に位置する係数レベルの場合、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇをシグナリングすることが、圧縮性能の向上に役立たない可能性もある。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを用いることが、符号化効率を低下させる可能性もある。
【０１５０】
一実施形態においては、コンテキスト符号化ビンで符号化されるシンタックス要素（ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ）をバイパス符号化エンジンを用いて符号化される、すなわち、バイパスビンで符号化されるａｂｓ＿ｒｅｍａｉｎｄｅｒシンタックス要素に迅速に切り替えることにより、コンテキスト符号化ビンの数を減少させることができる。
【０１５１】
一実施形態において、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇで符号化される係数の個数が制限されることがある。２×２ブロック内の明示的に符号化されるｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数は、最大４つになり得る。すなわち、係数の絶対値が２より大きい全ての係数に対してｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化されることもあるが、一実施形態においては、スキャン順序に従って２より大きな絶対値を有する最初のＮ個の係数（すなわち、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１である係数）に対してのみ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを符号化することができる。Ｎは、符号化器により選択されることもでき、０から４までの任意の値で設定されることもできる。符号化器に本実施形態と類似する方法により輝度または色差４×４サブブロックのためのコンテキスト符号化ビンが制限されると、使用される制限値を用いてＮを算出することができる。Ｎを算出する方法としては、数式６のように輝度または色差４×４サブブロックのためのコンテキスト符号化ビン制限値（Ｎ４×４）をそのまま使用するか、２×２サブブロック画素の数は４であるので、数式７によりＮを算出する。ここで、ａおよびｂは定数を意味し、本開示において特定の値に限定されない。
【０１５２】
これと類似して、サブブロックの横／縦のサイズ値を用いてＮを算出することもできる。サブブロックは、正方形の形態であるので、横サイズの値と縦サイズの値とは、同一である。２×２サブブロックの横または縦のサイズの値は、２であるので、数式８によりＮを算出することができる。
【０１５３】
［数式６］
N = N4x4
【０１５４】
［数式７］
N = {N4x4 >> (4 - a)} + b
【０１５５】
［数式８］
N = {N4x4 >> (a - 2)} + b
【０１５６】
表２１は、Ｎが１であるとき、本実施形態の適用例を示す。２×２ブロックにおいてＸと示された個数の分だけｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化回数を減らすことができるので、これにより、コンテキスト符号化ビンの数を減らすことができる。ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの符号化が行われないスキャン位置に対する係数のａｂｓ＿ｒｅｍａｉｎｄｅｒ値を表２０と比較すると、下記の表２１のように変更される。
【０１５７】
【表２１】
2021503247.tif 000028
【０１５８】
一実施形態による色差ブロックの２×２サブブロック符号化において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和が制限されることができる。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和をＫに制限するとき、Ｋは、０から１２の値を有することができる。本実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの和がＫを超えて符号化されないとき、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇも符号化されない可能性がある。
【０１５９】
Ｋは、符号化器により選択されることもでき、０から１２までの任意の値で設定されることもできる。符号化器において本実施形態と類似する方法により輝度または色差４×４サブブロックのためのコンテキスト符号化ビンが制限されるとき、使用される制限値を用いてＫを算出することもできる。Ｋを算出する方法としては、数式９のように輝度または色差４×４サブブロックのためのコンテキスト符号化ビン制限値（Ｋ4×4）をそのまま使用するか、２×２サブブロック画素の数は４であるので、数式１０によりＫを算出する。ここで、ａおよびｂは、定数を意味し、本開示において特定の値に限定されない。
【０１６０】
これと類似して、サブブロックの横／縦のサイズ値を用いてＫを算出することもできる。サブブロックは、正方形の形態であるので、横サイズの値と縦サイズの値とは、同一である。２×２サブブロックの横または縦サイズの値は２であるので、数式１１によりＫを算出することができる。
【０１６１】
［数式９］
K = K4x4
【０１６２】
［数式１０］
K = {K4x4 >> (4 - a)} + b
【０１６３】
［数式１１］
K = {K4x4 >> (a - 2)} + b
【０１６４】
表２２は、Ｋを６に制限した場合を示す。
【０１６５】
【表２２】
2021503247.tif 000029
【０１６６】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和を制限する方法と、前述のｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数を制限する方法と、が結合されることができる。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇおよびｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの個数の和をＫに制限し、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をＮに制限するとき、Ｋは０から１２の値を、Ｎは０から４の値を有することができる。
【０１６７】
ＫおよびＮは、符号化器において決定されることもでき、数式６ないし数式１１に関連して、上記説明した方法に基づいて算出されることもできる。
【０１６８】
表２３は、Ｋを６に、Ｎを１に制限した場合を示す。
【０１６９】
【表２３】
2021503247.tif 000030
【０１７０】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更する方法が提案される。より具体的には、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇの順に符号化されるのではなく、本実施形態においては、色差ブロックの２×２サイズのサブブロックを符号化するとき、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの順に符号化が行われる。ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更すると、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの後にｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが符号化され、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１であるときにのみｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇが符号化されることができる。したがって、実際の変換係数値であるｃｏｅｆｆと各シンタックス要素との関係は、下記の数式１２のように変更される。
【０１７１】
［数式１２］
|coeff| = sig_coeff_flag + rem_abs_gt1_flag + par_level_flag + 2 * (rem_abs_gt2_flag + abs_remainder)
【０１７２】
下記の表２４は、上記数式１２と関連するいくつかの例を示す。表２と比較するとき、表２４によれば、｜ｃｏｅｆｆ｜が１である場合にｐａｒ＿ｌｅｖｅ＿ｆｌａｇが符号化されなくて、処理量および符号化の面で利点を有することができる。もちろん、｜ｃｏｅｆｆ｜が２である場合、表２とは異なって、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化される必要があり、｜ｃｏｅｆｆ｜が４である場合、表２とは異なって、ａｂｓ＿ｒｅｍａｉｎｄｅｒが符号化される必要があるが、｜ｃｏｅｆｆ｜が１である場合は、｜ｃｏｅｆｆ｜が２または４である場合より多く発生するので、表２４による方法が表２による方法に比べてより高い処理量および符号化性能を示すことができる。図６のような４×４サブブロックを符号化した結果は、表２５の通りである。
【０１７３】
【表２４】
2021503247.tif 000031
【０１７４】
【表２５】
2021503247.tif 000032
【０１７５】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更するものの、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和を制限する方法が提案される。例えば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの順に符号化を行うとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和が制限される。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和をＫに制限するとき、Ｋは０から１２の値を有することができる。Ｋは、符号化器により選択可能であり、０から１２までの任意の値で設定される。また、数式９ないし数式１１に関連して前述の内容に基づいて算出されることができる。
【０１７６】
一実施形態においては、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇがそれ以上符号化されないとき、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇも符号化されない可能性がある。表２６は、Ｋを６に制限した場合を示す。
【０１７７】
【表２６】
2021503247.tif 000033
【０１７８】
一実施形態において、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇは、１つのｆｏｒループ内で符号化されることができる。３つのシンタックス要素（ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ）の数の和がＫを超えなくて、和がＫと正確に一致しなくても同一のスキャン位置で符号化を止めることができる。表２７は、Ｋを８に制限した場合を示す。スキャン位置２（ｓｃａｎ＿ｐｏｓ２）まで符号化を行ったとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの数の和は、６である。Ｋを超えない値であるが、ここで、符号化器で次のスキャン位置である１（ｓｃａｎ＿ｐｏｓ１）の係数レベルの値が分からないので、ｓｃａｎ＿ｐｏｓ１で発生するコンテキスト符号化ビンの数が１ないし３のいずれの値を有するかが分からない。したがって、ｓｃａｎ＿ｐｏｓ２までのみ符号化して符号化を終了することができる。したがって、Ｋの値は異なるが、符号化結果は、表２６と表２７とで同一であり得る。
【０１７９】
【表２７】
2021503247.tif 000034
【０１８０】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更するものの、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの数を制限する方法が提案される。例えば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの順に符号化を行うとき、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇで符号化される係数の個数が制限される。
【０１８１】
一実施形態において、２×２ブロック内で符号化されるｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数は、最大４つである。すなわち、係数の絶対値が２より大きい全ての係数に対して、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇが符号化される。それに対して、本開示の他の一実施形態においては、スキャン順序に従って２より大きな絶対値を有する最初のＮ個の係数（すなわち、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇが１である係数）に対してのみ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇを符号化する方法が提案される。
【０１８２】
Ｎは、符号化器により選択されることもでき、０から４までの任意の値で設定されることもできる。また、数式６ないし数式８に関連して、上記説明した方法で算出されることができる。
【０１８３】
表２８は、Ｎが１であるとき、本実施形態の適用例を示す。４×４ブロックにおいてＸと示された個数の分だけｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化回数を減らすことができるので、これにより、コンテキスト符号化ビンの数を減らすことができる。ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇに対する符号化が行われないスキャン位置に対して係数のａｂｓ＿ｒｅｍａｉｎｄｅｒ値が、表２５と比較すると、下記の表２８のように変更される。
【０１８４】
【表２８】
2021503247.tif 000035
【０１８５】
一実施形態において、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇとｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇとの符号化順序を変更するものの、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和とｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数とをそれぞれ制限する方法が提供される。例えば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ、ａｂｓ＿ｒｅｍａｉｎｄｅｒ、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの順に符号化を行うとき、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数を制限する方法と、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数を制限する方法と、が結合されることができる。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇおよびｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数の和をＫに制限し、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇの個数をＮに制限するとき、Ｋは０から１２の値を、Ｎは０から４の値を有することができる。ＫおよびＮは、符号化器により選択されることもでき、Ｋは０から１２、Ｎは０から４、までの任意の値で設定されることもできる。また、数式６から数式１１に関連して、上記説明された方法で算出されることができる。
【０１８６】
下記の表２９は、Ｋを６に、Ｎを１に、制限した場合を示す。
【０１８７】
【表２９】
2021503247.tif 000036
【０１８８】
図７は、一実施形態によるエンコード装置の動作を示すフローチャートであり、図８は、一実施形態によるエンコード装置の構成を示すブロック図である。
【０１８９】
図７および図８によるエンコード装置は、図９および図１０によるデコード装置と対応する動作を行うことができる。したがって、図９および図１０で後述されるデコード装置の動作は、図７および図８によるエンコード装置にも同様に適用されることができる。
【０１９０】
図７に開示された各ステップは、図２に開示されたエンコード装置２００により行われることができる。より具体的には、Ｓ７００は、図２に開示された減算部２３１により行われ、Ｓ７１０は、図２に開示された量子化部２３３により行われ、Ｓ７２０は、図２に開示されたエントロピエンコード部２４０により行われる。また、Ｓ７００ないしＳ７２０に従う動作は、図４ないし図６で前述された内容の一部に基づいたものである。したがって、図２および図４ないし図６で前述された内容と重複する具体的な内容は、説明を省略するか、簡略にする。
【０１９１】
図８に示すように、一実施形態によるエンコード装置は、減算部２３１、変換部２３２、量子化部２３３およびエントロピエンコード部２４０を含む。しかしながら、場合によっては、図８に示す全ての構成要素がエンコード装置の必須構成要素ではない可能性があり、エンコード装置は、図８に示す構成要素より多いか少ない構成要素により実現されることができる。
【０１９２】
一実施形態によるエンコード装置において、減算部２３１、変換部２３２、量子化部２３３およびエントロピエンコード部２４０は、それぞれが別途のチップ（chip）で実現されるか、少なくとも２つ以上の構成要素が１つのチップで実現される。
【０１９３】
一実施形態によるエンコード装置は、現ブロックに対する残差サンプルを導出する（Ｓ７００）。より具体的には、エンコード装置の減算部２３１は、現ブロックに対する残差サンプルを導出する。
【０１９４】
一実施形態によるエンコード装置は、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する（Ｓ７１０）。より具体的には、エンコード装置の量子化部２３３は、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出する。
【０１９５】
一実施形態によるエンコード装置は、量子化された変換係数に関する情報を含む残差情報をエンコードする（Ｓ７２０）。より具体的には、エンコード装置のエントロピエンコード部２４０は、量子化された変換係数に関する情報を含む残差情報をエンコードする。
【０１９６】
一実施形態において、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグおよび上記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグを含む。一例において、上記パリティレベルフラグは、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇを示し、上記第１変換係数レベルフラグは、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇまたはａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］を示し、上記第２変換係数レベルフラグは、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇまたはａｂｓ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］を示す。
【０１９７】
一実施形態において、上記残差情報をエンコードするステップは、上記量子化された変換係数に基づいて上記パリティレベルフラグの値および上記第１変換係数レベルフラグの値を導出するステップと、上記第１変換係数レベルフラグをエンコードし、上記パリティレベルフラグをエンコードするステップと、を含む。
【０１９８】
一実施形態において、上記第１変換係数レベルフラグをエンコードするステップは、上記パリティレベルフラグをエンコードするステップより先に行われることがある。例えば、エンコード装置は、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇまたはａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］に対するエンコードを、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇに対するエンコードより先に行うことができる。
【０１９９】
一実施形態において、上記残差情報は、上記量子化された変換係数が０ではない有効係数であるか否かを示す有効係数フラグおよび上記量子化された変換係数の上記変換係数レベルが第２閾値より大きいか否かに関する第２変換係数レベルフラグをさらに含む。一例において、上記有効係数フラグは、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを示す。
【０２００】
一実施形態において、上記残差情報に含まれる、上記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和は、所定の閾値以下であり得る。一例において、上記現ブロック内の現サブブロックに関連する量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和が、所定の閾値以下に制限されることができる。
【０２０１】
一実施形態において、上記所定の閾値は、上記現ブロック（または、上記現ブロック内の現サブブロック）のサイズに基づいて決定される。
【０２０２】
一実施形態において、上記残差情報に含まれる上記有効係数フラグの個数、上記第１変換係数レベルフラグの個数、上記パリティレベルフラグの個数の和は、第３閾値以下であり、上記残差情報に含まれる上記第２変換係数レベルフラグの個数は、第４閾値以下であり、上記所定の閾値は、上記第３閾値と上記第４閾値との和を示す。
【０２０３】
一例において、現ブロックまたは現ブロック内の現サブブロックのサイズが４×４である場合、上記第３閾値はＫを示し、ここで、Ｋは、０から４８のいずれか１つの値を示す。また、上記第４閾値はＮを示し、ここで、Ｎは、０から１６のいずれか１つの値を示す。
【０２０４】
他の例において、現ブロックまたは現ブロック内の現サブブロックのサイズが２×２である場合、上記第３閾値はＫを示し、ここで、Ｋは、０から１２のいずれか１つの値を示す。また、上記第４閾値はＮを示し、ここで、Ｎは、０から４のいずれか１つの値を示す。
【０２０５】
一実施形態において、係数スキャン順序により決定された０回量子化された変換係数ないしｎ回量子化された変換係数に基づいて導出された上記有効係数フラグの個数、上記第１変換係数レベルフラグの個数、上記パリティレベルフラグの個数および上記第２変換係数フラグの個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対しては、有効係数フラグ、第１変換係数レベルフラグ、パリティレベルフラグおよび上記第２変換係数レベルの明示的なシグナリングが省略され、上記残差情報に含まれる係数レベル情報の値に基づいて上記ｎ＋１回量子化された変換係数の値が導出される。
【０２０６】
例えば、係数スキャン順序により決定された０回量子化された変換係数（もしくは、１番目に量子化された変換係数）ないしｎ回量子化された変換係数（もしくは、ｎ＋１番目に量子化された変換係数）に基づいて導出された上記ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの個数、上記ｒｅｍ＿ａｂｓ＿ｇｔｘ＿ｆｌａｇ［０］の個数、上記ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数ならびに上記ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］）の個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対しては、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］）、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］ならびにｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］）の明示的なシグナリングが省略され、上記残差情報に含まれるａｂｓ＿ｒｅｍａｉｎｄｅｒまたはｄｅｃ＿ａｂｓ＿ｌｅｖｅｌの値に基づいて上記ｎ＋１量子化された変換係数の値が導出される。
【０２０７】
一実施形態において、上記残差情報に含まれる上記有効係数フラグ、上記第１変換係数レベルフラグ、上記パリティレベルフラグおよび上記第２変換係数レベルフラグは、コンテキストに基づいてコーディングされ、上記係数レベル情報は、バイパスに基づいてコーディングされる。
【０２０８】
図７および図８のエンコード装置およびエンコード装置の動作方法によれば、エンコード装置は、現ブロックに対する残差サンプルを導出し（Ｓ７００）、現ブロックに対する残差サンプルに基づいて量子化された変換係数を導出し（Ｓ７１０）、量子化された変換係数に関する情報を含む残差情報をエンコードし（Ｓ７２０）、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグおよび上記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグを含み、上記残差情報をエンコードするステップは、上記量子化された変換係数に基づいて上記パリティレベルフラグおよび上記第１変換係数レベルの値を導出するステップと、上記第１変換係数レベルフラグをエンコードし、上記パリティレベルフラグをエンコードするステップと、を含み、上記第１変換係数レベルフラグをエンコードするステップは、上記パリティレベルフラグをエンコードするステップより先に行われることを特徴とする。すなわち、本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとのデコード順序を決定（または、変更）してコーディング効率を高めることができる。
【０２０９】
図９は、一実施形態によるデコード装置の動作を示すフローチャートであり、図１０は、一実施形態によるデコード装置の構成を示すブロック図である。
【０２１０】
図９に開示された各ステップは、図３に開示されたデコード装置３００により行われる。より具体的には、Ｓ９００およびＳ９１０は、図３に開示されたエントロピデコード部３１０により行われ、Ｓ９２０は、図３に開示された逆量子化部３２１および／または逆変換部３２２により行われ、Ｓ９３０は、図３に開示された加算部３４０により行われる。また、Ｓ９００ないしＳ９３０による動作は、図４ないし図６で前述された内容の一部に基づいたものである。したがって、図３ないし図６で前述した内容と重複する具体的な内容は、説明を省略するかまたは簡単にする。
【０２１１】
図１０に示すように、一実施形態によるデコード装置は、エントロピデコード部３１０、逆量子化部３２１、逆変換部３２２および加算部３４０を含む。しかしながら、場合によっては、図１０に示す全ての構成要素がデコード装置の必須構成要素ではない可能性があり、デコード装置は、図１０に示す構成要素より多いか少ない構成要素により実現されてもよい。
【０２１２】
一実施形態によるデコード装置において、エントロピデコード部３１０、逆量子化部３２１、逆変換部３２２および加算部３４０は、それぞれが別途のチップ（chip）で実現されるか、少なくとも２つ以上の構成要素が１つのチップにより実現されてもよい。
【０２１３】
一実施形態によるデコード装置は、残差情報を含むビットストリームを受信する（Ｓ９００）。より具体的には、デコード装置のエントロピデコード部３１０は、残差情報を含むビットストリームを受信する。
【０２１４】
一実施形態によるデコード装置は、ビットストリームに含まれる残差情報に基づいて現ブロックに対する量子化された変換係数を導出する（Ｓ９１０）。より具体的には、デコード装置のエントロピデコード部３１０は、ビットストリームに含まれる残差情報に基づいて現ブロックに対する量子化された変換係数を導出する。
【０２１５】
一実施形態によるデコード装置は、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出する（Ｓ９２０）。より具体的には、デコード装置の逆量子化部３２１は、逆量子化過程に基づいて量子化された変換係数から変換係数を導出し、デコード装置の逆変換部３２２は、変換係数を逆変換して現ブロックに対する残差サンプルを導出する。
【０２１６】
一実施形態によるデコード装置は、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する（Ｓ９３０）。より具体的には、デコード装置の加算部３４０は、現ブロックに対する残差サンプルに基づいて復元ピクチャを生成する。
【０２１７】
一実施形態において、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティ（parity）に関するパリティレベルフラグおよび上記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグを含む。一例において、上記パリティレベルフラグは、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇを示し、上記第１変換係数レベルフラグは、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇまたはａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］を示し、上記第２変換係数レベルフラグは、ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇまたはａｂｓ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］を示す。
【０２１８】
一実施形態において、上記量子化された変換係数を導出するステップは、上記変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第１変換係数レベルフラグの値に基づいて上記量子化された変換係数を導出するステップと、を含む。
【０２１９】
一実施形態において、上記第１変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われてもよい。例えば、デコード装置は、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇまたはａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］に対するデコーディングをｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇに対するデコーディングより先に行うことができる。
【０２２０】
一実施形態において、上記残差情報は、上記量子化された変換係数が０ではない有効係数であるか否かを示す有効係数フラグおよび上記量子化された変換係数の上記変換係数レベルが第２閾値より大きいか否かに関する第２変換係数レベルフラグをさらに含んでもよい。一例において、上記有効係数フラグは、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを示す。
【０２２１】
一実施形態において、上記残差情報に含まれる、上記現ブロック内の量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和は、所定の閾値以下であり得る。一例において、上記現ブロック内の現サブブロックに関連する量子化された変換係数に対する有効係数フラグの個数、第１変換係数レベルフラグの個数、パリティレベルフラグの個数および第２変換係数レベルフラグの個数の和が、所定の閾値以下に制限される。
【０２２２】
一実施形態において、上記所定の閾値は、上記現ブロック（または、上記現ブロック内の現サブブロック）のサイズに基づいて決定される。
【０２２３】
一実施形態において、上記残差情報に含まれる上記有効係数フラグの個数、上記第１変換係数レベルフラグの個数、上記パリティレベルフラグの個数の和は、第３閾値以下であり、上記残差情報に含まれる上記第２変換係数レベルフラグの個数は、第４閾値以下であり、上記所定の閾値は、上記第３閾値と上記第４閾値との和を示す。
【０２２４】
一例において、現ブロックまたは現ブロック内の現サブブロックのサイズが４×４である場合、上記第３閾値はＫを示し、ここで、Ｋは、０から４８のいずれか１つの値を示す。また、上記第４閾値はＮを示し、ここで、Ｎは、０から１６のいずれか１つの値を示す。
【０２２５】
他の例において、現ブロックまたは現ブロック内の現サブブロックのサイズが２×２である場合、上記第３閾値はＫを示し、ここで、Ｋは０から１２のいずれか１つの値を示す。また、上記第４閾値はＮを示し、ここで、Ｎは０から４のいずれか１つの値を示す。
【０２２６】
一実施形態において、係数スキャン順序により決定された０回量子化された変換係数ないしｎ回量子化された変換係数に基づいて導出された上記有効係数フラグの個数、上記第１変換係数レベルフラグの個数、上記パリティレベルフラグの個数および上記第２変換係数レベルフラグの個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対しては、有効係数フラグ、第１変換係数レベルフラグ、パリティレベルフラグ、上記第２変換係数レベルフラグの明示的なシグナリングが省略され、上記残差情報に含まれる係数レベル情報の値に基づいて上記ｎ＋１回量子化された変換係数の値が導出される。
【０２２７】
例えば、係数スキャン順序により決定された０回量子化された変換係数（もしくは、１番目に量子化された変換係数）ないしｎ回量子化された変換係数（もしくは、ｎ＋１番目に量子化された変換係数）に基づいて導出された上記ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの個数、上記ｒｅｍ＿ａｂｓ＿ｇｔｘ＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］）の個数、上記ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇの個数ならびに上記ｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］）の個数の和が上記所定の閾値に到達する場合、上記係数スキャン順序により決定されたｎ＋１回量子化された変換係数に対して、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、ｒｅｍ＿ａｂｓ＿ｇｔ１＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［０］）、ｐａｒ＿ｌｅｖｅｌ＿ｆｌａｇ、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］ならびにｒｅｍ＿ａｂｓ＿ｇｔ２＿ｆｌａｇ（もしくは、ａｂｓ＿ｌｅｖｅｌ＿ｇｔｘ＿ｆｌａｇ［ｎ］［１］）の明示的なシグナリングが省略され、上記残差情報に含まれるａｂｓ＿ｒｅｍａｉｎｄｅｒまたはｄｅｃ＿ａｂｓ＿ｌｅｖｅｌの値に基づいて上記ｎ＋１回量子化された変換係数の値が導出される。
【０２２８】
一実施形態において、上記残差情報に含まれる上記有効係数フラグ、上記第１変換係数レベルフラグ、上記パリティレベルフラグおよび上記第２変換係数レベルフラグは、コンテキストに基づいてコーディングされ、上記係数レベル情報は、バイパスに基づいてコーディングされる。
【０２２９】
図９および図１０に開示されたデコード装置およびデコード装置の動作方法によれば、デコード装置は、残差情報を含むビットストリームを受信し（Ｓ９００）、上記ビットストリームに含まれる上記残差情報に基づいて現ブロックに対する量子化された変換係数を導出し（Ｓ９１０）、量子化された変換係数に基づいて現ブロックに対する残差サンプルを導出し（Ｓ９２０）、上記現ブロックに対する上記残差サンプルに基づいて復元ピクチャを生成し（Ｓ９３０）、上記残差情報は、上記量子化された変換係数に対する変換係数レベルのパリティ（parity）に関するパリティレベルフラグおよび上記変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグを含み、上記量子化された変換係数を導出するステップは、上記変換係数レベルフラグをデコードし、上記パリティレベルフラグをデコードするステップと、上記デコードされたパリティレベルフラグの値および上記デコードされた第１変換係数レベルフラグに基づいて上記量子化された変換係数を導出するステップと、を含み、上記第１変換係数レベルフラグをデコードするステップは、上記パリティレベルフラグをデコードするステップより先に行われることを特徴とする。すなわち、本開示によれば、量子化された変換係数に対する変換係数レベルのパリティに関するパリティレベルフラグと変換係数レベルが第１閾値より大きいか否かに関する第１変換係数レベルフラグとのデコード順序を決定（または、変更）してコーディング効率を高めることができる。
【０２３０】
前述した実施形態において、方法は、一連のステップまたはブロックとしてフローチャートに基づいて説明されているが、本開示は、ステップの順序に限定されるものではなく、あるステップは、前述とは異なるステップおよび異なる順序でまたは同時に発生し得る。また、当業者であれば、フローチャートに示されているステップが排他的ではなく、他のステップが含まれるか、フローチャートの１つまたは複数のステップが本開示の範囲に影響することなく削除できることを理解できるであろう。
【０２３１】
前述した本開示による方法は、ソフトウェアの形態で実現されてもよく、本開示によるエンコード装置および／またはデコード装置は、例えば、ＴＶ、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの画像処理を行う装置に含まれてもよい。
【０２３２】
本開示において、実施形態がソフトウェアで実現されるとき、前述の方法は、前述の機能を行うモジュール（プロセス、機能など）で実現できる。モジュールは、メモリに記憶され、プロセッサにより行われることができる。メモリは、プロセッサの内部または外部に位置し、よく知られた様々な手段でプロセッサと接続される。プロセッサは、ＡＳＩＣ（Application-Specific Integrated Circuit）、他のチップセット、論理回路および／またはデータ処理装置を含む。メモリは、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ、メモリカード、記憶媒体および／または他の記憶装置を含んでもよい。すなわち、本開示において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われる。例えば、各図に示す機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上で実現されて行われる。この場合、実現のための情報（例えば、information on instructions）またはアルゴリズムは、デジタル記憶媒体に記憶されることができる。
【０２３３】
また、本開示が適用されるデコード装置およびエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ会話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド（注文型ビデオ）（ＶｏＤ）サービス提供装置、ＯＴＴ（Over The Top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、ＶＲ（Virtual Reality）装置、ＡＲ（Augmented Reality）装置、画像電話ビデオ装置、運送手段端末（例えは、車両（自律走行車両を含む）端末、飛行機端末、船舶端末など）および医療用ビデオ装置などに含まれることができ、ビデオ信号およびデータ信号を処理するために使用できる。例えば、ＯＴＴビデオ（Over The Top video）装置としては、ゲームコンソール、ブルーレイプレーヤ、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recorder）などが含まれる。
【０２３４】
また、本開示が適用される処理方法は、コンピュータにより実行されるプログラムの形態で生産されることができ、コンピュータにより読み取りできる記録媒体に記憶できる。本発明によるデータ構造を有するマルチメディアデータもまたコンピュータにより読み取りできる記録媒体（コンピュータ読取り可能記憶媒体）に記憶できる。上記コンピュータにより読み取りできる記録媒体は、コンピュータにより読み取りできるデータが記憶される全ての種類の記憶装置および分散記憶装置を含む。上記コンピュータにより読み取りできる記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアル（汎用直列）バス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、および光学データ記憶装置を含むことができる。また、上記コンピュータにより読み取りできる記録媒体は、搬送波（例えば、インターネットを介する送信）の形態で実現されたメディアを含む。また、エンコード方法により生成されたビットストリームがコンピュータにより読み取りできる記録媒体に記憶されるか、有無線通信ネットワークを介して送信できる。
【０２３５】
また、本開示の実施形態は、プログラムコードによるコンピュータプログラム製品として実現され、上記プログラムコードは、本発明の実施形態によりコンピュータにおいて行われる。上記プログラムコードは、コンピュータにより読み取りできるキャリア上に記憶されることができる。
【０２３６】
図１１は、本文書において開示された発明が適用されることができるコンテンツストリーミングシステムの例を示す。
【０２３７】
図１１に示すように、本開示が適用されるコンテンツストリーミングシステムは、エンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア記憶装置（格納所）、ユーザ装置およびマルチメディア入力装置を含む。
【０２３８】
上記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを上記ストリーミングサーバに送信する役割を果たす。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは、省略されてもよい。
【０２３９】
上記ビットストリームは、本開示が適用されるエンコード方法またはビットストリーム生成方法により生成され、上記ストリームサーバは、上記ビットストリームを送信または受信する過程で一時的に上記ビットストリームを記憶することができる。
【０２４０】
上記ストリーミングサーバは、ウェブサーバを介するユーザ要求に基づいてマルチメディアデータをユーザ装置に送信し、上記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体としての役割を果たす。ユーザが上記ウェブサーバに所望のサービスを要求すると、上記ウェブサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザにマルチメディアデータを送信する。ここで、上記コンテンツストリーミングシステムは、別途の制御サーバを含んでもよく、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を果たす。
【０２４１】
上記ストリーミングサーバは、メディア記憶装置および／またはエンコードサーバからコンテンツを受信する。例えば、上記エンコードサーバからコンテンツを受信する場合、上記コンテンツをリアルタイムに受信できる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間記憶することができる。
【０２４２】
上記ユーザ装置の例としては、携帯電話、スマートフォン（smart phone）、ノートブックコンピュータ（laptop computer）、デジタル放送用端末、ＰＤＡ（Personal Digital Assistants）、ＰＭＰ（Portable Multimedia Player）、ナビゲーション、スレートＰＣ（slate PC）、タブレットＰＣ（tablet PC）、ウルトラブック（ultrabook）、ウェアラブルデバイス（wearable device、例えば、スマートウォッチ（smartwatch）、スマートグラス（smart glass）、ＨＭＤ（Head Mounted Display））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどを有することができる。
【０２４３】
上記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運用されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【図１】
2021503247.tif 000037
【図２】
2021503247.tif 000038
【図３】
2021503247.tif 000039
【図４】
2021503247.tif 000040
【図５】
2021503247.tif 000041
【図６】
2021503247.tif 000042
【図７】
2021503247.tif 000043
【図８】
2021503247.tif 000044
【図９】
2021503247.tif 000045
【図１０】
2021503247.tif 000046
【図１１】
2021503247.tif 000047
【国際調査報告】
2021503247.tif 000048
2021503247.tif 000049
2021503247.tif 000050
2021503247.tif 000051