(57)【特許請求の範囲】
【請求項１】
奥行き情報符号化方法であって、
奥行き数値をインデックス番号で示すデータ構造である奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置することと、
前記奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化してビットストリームに書き込むことと、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化してビットストリームに書き込むことと、
差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むことと
を含む、前記奥行き情報符号化方法。
【請求項２】
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化することは、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化することを含むことを特徴とする
請求項１に記載の奥行き情報符号化方法。
【請求項３】
前記設定された閾値は、予め設定された固定値、または、符号化プロセスにおいて動的に調整された数値であり、または、
前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、または、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定されることを特徴とする
請求項２に記載の奥行き情報符号化方法。
【請求項４】
要素数量情報が含まれている前記奥行きマッピングルックアップテーブル情報をビットストリームに書き込むことをさらに含むことを特徴とする
請求項１〜３のいずれか１項に記載の奥行き情報符号化方法。
【請求項５】
奥行き情報復号化方法であって、
ビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得し、前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造であることと、
奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得することと、
取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とすることと、
前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化して、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化することと
を含む、前記奥行き情報復号化方法。
【請求項６】
奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を復号化することをさらに含み、前記奥行きマッピングルックアップテーブル情報は、奥行きマッピングルックアップテーブルに含まれている要素数量の情報を含むことを特徴とする
請求項５に記載の奥行き情報復号化方法。
【請求項７】
奥行き情報符号化装置であって、
奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置するように構成される処理ユニットと、
奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化してビットストリームに書き込むように構成される第一の符号化ユニットと、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化してビットストリームに書き込むように構成される第二の符号化ユニットと、を含み、
前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造であり、
前記第二の符号化ユニットは、差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むように構成される、前記奥行き情報符号化装置。
【請求項８】
前記第二の符号化ユニットは、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化するように構成されることを特徴とする
請求項７に記載の奥行き情報符号化装置。
【請求項９】
第二の符号化ユニットにより参照された前記設定された閾値は、予め設定された固定値、または符号化プロセスにおいて動的に調整された数値であり、または、
第二の符号化ユニットにより参照された前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、または奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定されることを特徴とする
請求項８に記載の奥行き情報符号化装置。
【請求項１０】
前記第一の符号化ユニットは、さらに要素数量情報が含まれている前記奥行きマッピングルックアップテーブル情報をビットストリームに書き込むように構成されることを特徴とする
請求項７〜９のいずれか１項に記載の奥行き情報符号化装置。
【請求項１１】
奥行き情報復号化装置であって、
受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得するように構成される第一の復号化ユニットと、
奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得するように構成される第二の復号化ユニットと、
取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とするように構成される処理ユニットを含み、
前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造であり、
前記第二の復号化ユニットは、前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化して、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化するように構成される、前記奥行き情報復号化装置。
【請求項１２】
前記第一の復号化ユニットは、奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を復号化するように構成され、前記奥行きマッピングルックアップテーブル情報は奥行きマッピングルックアップテーブルに含まれている要素数量の情報を含むことを特徴とする
請求項１１に記載の奥行き情報復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、３Ｄビデオ圧縮符号化技術に関し、具体的に奥行き情報符号化および復号化方法、奥行き情報符号化および復号化装置、並びにビデオ処理及び再生装置に関する。
【背景技術】
【０００２】
制定されている高性能ビデオ符号化（ＨＥＶＣ：Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）基準に準拠した３Ｄビデオ（３ＤＶ：Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  Ｖｉｄｅｏ）符号化基準３Ｄ−ＨＥＶＣ（ＨＥＶＣ  Ｔｈｒｅｅ−Ｄｉｍｅｎｓｉｏｎａｌ  ｅｘｔｅｎｓｉｏｎ  ｆｒａｍｅｗｏｒｋ）において、簡易奥行符号化（ＳＤＣ：Ｓｉｍｐｌｉｆｉｅｄ  Ｄｅｐｔｈ  Ｃｏｄｉｎｇ）方法は、奥行き情報の符号化効率を効果的に向上させ、そして計算複雑さを低下させることができる。ＳＤＣモジュールにおいて、さらに奥行きマッピングルックアップテーブル（ＤＬＴ：Ｄｅｐｔｈ  Ｌｏｏｋ−ｕｐ  Ｔａｂｌｅ）を使用して符号化器から入力された奥行きサンプルを奥行き値インデックス番号としてマッピングすることで、奥行きサンプル情報のビット奥行き（ｂｉｔ  ｄｅｐｔｈ）を低下させて、圧縮率をさらに向上させる目的を達成することができる。同時に、符号化器は、ＤＬＴをビットストリームに書き込む必要がある。
【０００３】
３Ｄ−ＨＥＶＥ基準において直接符号化方法を使用してＤＬＴ情報をビットストリームに書き込み、その復号化プロセスは、次の通りである。
【０００４】
復号化プロセス：奥行き成分（Ｄｅｐｔｈ  Ｃｏｍｐｏｎｅｎｔ）に対して、復号化器は、まず入力ビットストリームからｄｌｔ＿ｆｌａｇの値を解析する。ｄｌｔ＿ｆｌａｇの値が１に等しい（即ちＤＬＴを使用する）場合、復号化器は、さらにｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔの値を解析し、その後、復号化器は、ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ個のＤＬＴ要素の値（ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ [ｉ][ｊ]）を解析する。
【０００５】
復号化プロセスに対応し、その符号化プロセスは、次の通りである。
【０００６】
符号化プロセス：奥行き成分を符号化する場合、符号化器は、まずｄｌｔ＿ｄｅｐｔｈをビットストリームに書き込む。ｄｌｔ＿ｄｅｐｔｈの値が１に等しい（即ちＤＬＴを使用する）場合、符号化器は、ＤＬＴに含まれる奥行き数値の数量をビットストリームに書き込み、その後、ＤＬＴにおける各要素（ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ[ｉ][ｊ]）の値を直接順次ビットストリームに書き込む。
【０００７】
ＤＬＴ情報の圧縮符号化効率を向上させるために、提案文書ＪＣＴ３Ｖ−Ｃ０１４２は、値の範囲が限られる範囲制約ビットマップ（ＲＣＢＭ：Ｒａｎｇｅ  Ｃｏｎｓｔｒａｉｎｅｄ  Ｂｉｔ  Ｍａｐ）方法が与えられる。当該方法は、まずビットストリームにＤＬＴにおける最小値と最大値を符号化し（最大値と最小値の差で示される）、次に１次元のフラッグビットベクトルから構成される１つの範囲制約ビットマップを使用して最小値と最大値の間の各奥行き値がＤＬＴにあるかどうかを識別する。
【０００８】
ＲＣＢＭ方法のＤＬＴ復号化プロセスは、次の通りである。
【０００９】
復号化プロセス：復号化成分に対して、復号化器は、入力ビットストリームからｄｌｔ＿ｆｌａｇの値を解析する。ｄｌｔ＿ｆｌａｇの値が１に等しい（即ちＤＬＴを使用する）場合、復号化器は、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇの値を解析し、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇの値が０である場合、ＤＬＴにおける最小奥行き値を０に設定し、ＤＬＴにおける最大奥行き値を許容された最大値（例えば奥行きサンプル値のビット奥行きが８である場合、当該値が２５５である）に設定し、逆に、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇの値が１である場合、復号化器は、入力ビットストリームからＤＬＴにおける奥行きサンプル値の最小値、最大値と最小値の差を解析し、そして最大値と最小値を設定する。最小値と最大値で定義されたＤＬＴ値範囲内に、復号化器は、値の範囲における各値がＤＬＴに含まれるかどうかのフラッグビットを解析し、そしてフラッグ値が「１」に等しい奥行きサンプル値をＤＬＴに追加する。
【００１０】
復号化プロセスに対応して、ＲＣＢＭ方法の符号化プロセスは、次の通りである。
【００１１】
符号化プロセス：奥行き成分を符号化する場合、符号化器は、まずｄｌｔ＿ｆｌａｇをビットストリームに書き込む。ｄｌｔ＿ｆｌａｇの値が１である（ＤＬＴを使用する）場合、復号化器は、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇをビットストリームに書き込み、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇの値が０である場合、ＤＬＴにおける最小奥行き値を０に設定し、ＤＬＴにおける最大奥行き値を許容された最大値（奥行きサンプル値のビット奥行きが８である場合、当該値が２５５である）に設定し、逆に、ｃｏｄｅ＿ｆｕｌｌ＿ｂｉｔ＿ｄｅｐｔｈ＿ｍａｐ＿ｆｌａｇの値が１である場合、復号化器は、ＤＬＴにおける奥行きサンプル値の最小値、最大値と最小値の差をビットストリームに書き込み、最大値と最小値の範囲における各奥行きサンプル値（最大と最小値が含まれない）に対して、符号化器は、当該奥行きサンプル値がＤＬＴに含まれているフラッグ情報（「０」がＤＬＴに含まれなく、「１」がＤＬＴに含まれる）をビットストリームに書き込む。
【００１２】
上述した２つのＤＬＴ符号化および復号化方法の主な制限は、次の通りである。
【００１３】
３Ｄ＿ＨＥＶＣにおける従来方法の主な欠点がＤＬＴにおける各データ要素間の関連性を使用してデータ間の冗長を除去することなく、直接ＤＬＴにおける各要素の値をビットストリームに書き込むことにある。これにより、ＤＬＴ符号化ビットオーバーヘッドが大きすぎる。３Ｄ＿ＨＥＶＣの基準ソフトウェアＨＴＭ５．１において、ＤＬＴ情報は、シーケンスパラメータセット（ＳＰＳ：Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）に位置する。テストにより分かるように、ＤＬＴ情報のＳＰＳ全体ビットオーバーヘッドに対する占有比が６５％と高い。
【００１４】
ＴＣＢＭ方法によりＤＬＴ情報の符号化オーバーヘッドを効果的に低減させることができるが、当該方法が最小値と最大値の間の各奥行きサンプル値のためにフラッグを符号化し、当該奥行き値がＤＬＴに含まれるかどうかを識別する必要があるので、最小値と最大値の間に多くの非ＤＬＴ数値がある場合、ＲＣＭＢは、多くの必要以上のビットオーバーヘッドを使用した。
【発明の概要】
【００１５】
本発明の実施形態が解決しようとする技術的問題は、奥行き情報符号化効率を向上させるように、奥行き情報符号化および復号化方法、奥行き情報符号化および復号化装置を提供することである。
【００１６】
前記技術的問題を解決するために、本発明の実施形態に係る奥行き情報符号化方法は、
奥行き数値をインデックス番号で示すデータ構造である奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置することと、
前記奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化してビットストリームに書き込むことと、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化してビットストリームに書き込むこととを含む。
【００１７】
好ましくは、前記方法において、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化することは、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化することを含む。
【００１８】
好ましくは、前記方法において、前記設定された閾値は、予め設定された固定値、または符号化プロセスにおいて動的に調整された数値である。
【００１９】
好ましくは、前記方法において、前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定される。
【００２０】
好ましくは、前記方法は、
要素数量情報が含まれている前記奥行きマッピングルックアップテーブル情報をビットストリームに書き込むことをさらに含む。
【００２１】
好ましくは、前記方法は、
差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むことをさらに含む。
【００２２】
本発明の実施形態に係る奥行き情報復号化方法は、
ビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得し、前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造であることと、
奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得することと、
取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とすることとを含む。
【００２３】
好ましくは、前記方法は、
奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を復号化することをさらに含み、前記奥行きマッピングルックアップテーブル情報は奥行きマッピングルックアップテーブルに含まれている要素数量の情報を含む。
【００２４】
好ましくは、前記方法は、
前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化して、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化することをさらに含む。
【００２５】
本実施形態に係る奥行き情報符号化装置は、
奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置するように構成される処理ユニットと、
奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化し、そしてビットストリームに書き込むように構成される第一の符号化ユニットと、
前記奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化し、そしてビットストリームに書き込むように構成される第二の符号化ユニットと、を含み、
前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造である。
【００２６】
好ましくは、前記装置では、前記第二の符号化ユニットは、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化するように構成される。
【００２７】
好ましくは、前記装置では、前記設定された閾値は、予め設定された固定値、または符号化プロセスにおいて動的に調整された数値である。
【００２８】
好ましくは、前記装置では、前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、または奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定される。
【００２９】
好ましくは、前記装置では、前記第一の符号化ユニットは、さらに要素数量情報が含まれている前記奥行きマッピングルックアップテーブル情報をビットストリームに書き込むように構成される。
【００３０】
好ましくは、前記装置では、前記第二の符号化ユニットは、差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むように構成される。
【００３１】
本発明の実施形態に係る奥行き情報復号化装置は、
受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得するように構成される第一の復号化ユニットと、
奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得するように構成される第二の復号化ユニットと、
取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とするように構成される処理ユニットを含み、
前記奥行きマッピングルックアップテーブルが奥行き数値をインデックス番号で示すデータ構造である。
【００３２】
好ましくは、前記装置では、前記第一の復号化ユニットは、奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を復号化するように構成され、前記奥行きマッピングルックアップテーブル情報は、奥行きマッピングルックアップテーブルに含まれている要素数量の情報を含む。
【００３３】
好ましくは、前記装置では、前記第二の復号化ユニットは、前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化して、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化するように構成される。
【００３４】
本発明の実施形態に係るビデオ処理装置は、
符号化すべきデータをキャッシュするように構成されるキャッシュと、
キャッシュされたデータにおける奥行きマッピングルックアップテーブルのすべての要素を値の昇順で配置し、奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化してビットストリームに書き込み、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素インデックス番号より小さい要素の値との差をそれぞれ符号化してビットストリームに書き込むように構成される符号化器とを含む。
【００３５】
好ましくは、前記符号化器は、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化するように構成される。
【００３６】
好ましくは、前記符号化器により参照された前記設定された閾値は、予め設定された固定値、または符号化プロセスにおいて動的に調整された数値である。
【００３７】
好ましくは、前記符号化器により参照された前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、または、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定される。
【００３８】
好ましくは、前記符号化器は、差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むように構成される。
【００３９】
本実施形態に係るビデオ再生装置は、
受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得し、奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得し、取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とするように構成される復号化器と、
前記復号化器により復号化されたデータを表示するように構成される表示器とを含む。
【００４０】
好ましくは、前記復号化器は、前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化し、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化するように構成される。
【００４１】
本発明の実施形態に係るコンピュータ記憶媒体は、前記方法を実行するためのコンピュータ実行可能な命令を記憶している。
【００４２】
本出願の技術的解決手段により、奥行き情報符号化および復号化効率を向上させ、奥行き情報が符号化される場合のリソース占有率を低下させる。
【図面の簡単な説明】
【００４３】
【図１】本実施形態に係る符号化方法の論理プロセスを示す図である。
【図２】本実施形態に係る復号化方法の論理プロセスを示す図である。
【図３】本実施形態３に係る復号化プロセスを示す図である。
【図４】本実施形態３に係る符号化プロセスを示す図である。
【図５】本実施形態４に係る復号化プロセスを示す図である。
【図６】本実施形態４に係る符号化プロセスを示す図である。
【図７】本実施形態５に係る復号化プロセスを示す図である。
【図８】本実施形態５に係る符号化プロセスを示す図である。
【図９】本実施形態６に係る復号化プロセスを示す図である。
【図１０】本実施形態６に係る符号化プロセスを示す図である。
【発明を実施するための形態】
【００４４】
本発明の目的、技術的解決手段と利点をより明らかにするために、以下、図面を参照して本発明の技術的解決手段をさらに詳しく説明する。衝突しない場合で、本出願の実施形態と実施形態における特徴が任意に互いに組み合わせることができると説明すべきである。
【００４５】
以下、各実施形態に係る前記符号化器で実現される方法は、当該実施形態において符号化器で実現可能な方法のうちの一つだけである。当該実施形態の復号化プロセス要求を満たすビットストリームを生成できるいずれかの符号化器は、当該実施形態の符号化器で実現される方法に属する。
【００４６】
実施形態１
本実施形態は、奥行き情報符号化方法を説明し、図１に示すように、次のステップ１０１〜ステップ１０３を含む。
【００４７】
ステップ１０１において、奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置する。
【００４８】
実際の応用において、奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置することは、ＤＬＴへ要素を配置する時に直接それに対応する昇順位置に配置することであってよい。または、既存のＤＬＴに基づいて、そのなかの要素を昇順で再配列すればよい。
【００４９】
ステップ１０２において、前記奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化して、ビットストリームに書き込む。
【００５０】
ステップ１０３において、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素インデックス番号より小さい要素の値との差をそれぞれ符号化してビットストリームに書き込む。
【００５１】
前記方法に基づいて、設定された閾値で異なるエントロピー符号化方法を選択して前記差を符号化する好ましい実施形態が提案される。即ち、奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定した後、差が設定された閾値より小さい場合、設定された第一のエントロピー符号化方法（例えば、エントロピー符号化方法Ｅ１）を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法（例えば、エントロピー符号化方法Ｅ１）を選択して当該差を符号化する。ここで、設定された閾値は、予め設定された固定値であってよく、符号化プロセスにおいて動的に調整される変数であってもよい。設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定されてよく、即ち１つの奥行きマッピングルックアップテーブルに対してそれに対応する設定された値が１つである。当然、設定された閾値は、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定されてよく、即ちＮ個の要素が含まれている１つの奥行きマッピングルックアップテーブルに対してそれに対応する設定された閾値がＮ−１個である。
【００５２】
なお、前記符号化プロセスにおいて、奥行きマッピングルックアップテーブル情報をビットストリームに書き込むことができ、奥行きマッピングルックアップテーブルが要素数量情報を含むことができる。
【００５３】
また、差を符号化する場合、差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むこともでき、このようにして、復号化する場合、この補助情報に基づいてどのエントロピー復号化方法を使用して差に対して復号化操作を行うかを確定することができる。
【００５４】
実施形態２
本実施形態は、奥行き情報復号化方法を説明する。当該方法は、前記実施形態１において符号化されたビットストリームを復号化する。当該復号化プロセスは、図２に示すように、次のステップ２０１〜２０３を含む。
【００５５】
ステップ２０１において、受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して最初の要素の値を取得する。
【００５６】
ステップ２０２において、奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して前記差を取得する。
【００５７】
ステップ２０３において、取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とする。
【００５８】
なお、奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を受信することもでき、奥行きマッピングルックアップテーブル情報は、奥行きマッピングルックアップテーブルに含まれている要素数量の情報を含むことができる。
【００５９】
また、受信されたビットストリームには奥行きマッピングルックアップテーブルにおける差を符号化する補助情報が含まれる可能性もあり、このようにして差に対応するビットフィールドを復号化する前に、まず差を符号化する補助情報に対応するビットフィールドを復号化し、当該差のために使用されたエントロピー符号化方法を取得し、さらに当該値のために使用されるエントロピー符号化方法に対応するエントロピー復号化方法に従って差を復号化すればよい。
【００６０】
実施形態３
本実施形態は、具体的な応用シナリオに対して、前記実施形態１と実施形態２の符号化および復号化方法に従って奥行き情報符号化および復号化を行う具体的なプロセスを説明する。
【００６１】
本実施形態のＤＬＴビットストリーム構成方法は、表１に示される。当該ＤＬＴビットストリーム構成方法は、パラメータセット（Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ（Ｓｌｉｃｅ  Ｈｅａｄｅｒ）またはスライスセグメントヘッダ（Ｓｌｉｃｅ  Ｓｅｇｍｅｎｔ  Ｈｅａｄｅｒ）などのビットストリーム構成構造においてＤＬＴ情報ビットストリームを符号化して伝送することに適用する。
【００６２】
表１に示すように、ビットストリームにおける奥行き情報識別方法は、ＤＬＴにおける要素数量情報、ＤＬＴにおける最初の要素の値、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差、前記差に対応するビットフィールドを復号化するために使用されるエントロピー方法の補助情報を識別する。
【００６３】
対応するビットストリームには、以下のビットフィールドが含まれる：ＤＬＴにおける要素数量情報のビットフィールド、ＤＬＴにおける最初の要素の値のビットフィールド、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差のビットフィールド、前記差ビットフィールドを復号化するために使用されるエントロピー復号化方法を識別する補助情報のビットフィールド。このビットストリームは、パラメータセット（Ｐａｒａｍｅｔｅｒ  ｓｅｔ）および／またはスライスヘッダ情報および／またはスライスセグメントヘッダ（ｓｌｉｃｅ  ｓｅｇｍｅｎｔ  ｈｅａｄｅｒ）情報にＤＬＴデータを符号化することに適用する。本実施形態におけるＤＬＴビットストリーム構成方法は、表１に示される。
【００６４】
【表１】
0006371373.tif 000002
【００６５】
表１における各フィールドの語義（対応する復号化操作）は、次の通りである。ここで、Ｄｅｐｔｈｆｌａｇは、現在の処理成分が奥行き成分であるかどうかを識別するためのフラッグである。
【００６６】
ｄｌｔ＿ｆｌａｇの値が１に等しい場合、復号化器が復号化プロセスにＤＬＴを使用する必要があることを示し、逆に、その値が０に等しい場合、復号化器が復号化プロセスにＤＬＴを使用しないことを示す。当該要素の符号化および復号化方法は、Ｕ（１）に対応する符号化および復号化方法を使用する。
【００６７】
ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔがＤＬＴに含まれている奥行きサンプルポイント値の数量を示す。その符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビット個数が奥行き成分のビット奥行きに等しい。
【００６８】
ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]がＤＬＴにおける最初の要素の値であり、その符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【００６９】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]がＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]であり、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【００７０】
前記表１のビットストリーム構成方式を使用するビットストリームを復号化するプロセスは、図３に示すように、次のステップ３０１〜ステップ３０９を含む。
【００７１】
ステップ３０１において、復号化器は、ビットストリームからｄｌｔ＿ｆｌａｇの値を解析する。
【００７２】
復号化器は、ｕ（１）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｆｌａｇに対応するビットフィールドを解析し、ｄｌｔ＿ｆｌａｇの値を取得する。
【００７３】
ステップ３０２において、復号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ３０３を実行し、１でなければ、ステップ３０９を実行する。
【００７４】
ステップ３０３において、復号化器は、ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔの値を解析する。
【００７５】
復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビットフィールドを解析し、ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔの値を取得する。
【００７６】
または、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビットフィールドを解析し、ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔの値を取得する。
【００７７】
ステップ３０４において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]の値を解析する。
【００７８】
復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]の値を取得する。
【００７９】
または、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビットフィールドを解析してｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]の値を取得する。
【００８０】
ステップ３０５において、復号化器は、循環処理をｉ＝１に初期化する。
【００８１】
ステップ３０６において、復号化器は、ｉ＜ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔが成立するかどうかを判定する。成立すれば、ステップ３０７を実行し、成立しなければ、ステップ３０９を実行する。
【００８２】
ステップ３０７において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]の値を解析する。
【００８３】
復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]の値を取得する。
【００８４】
または、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]の値を取得する。
【００８５】
ステップ３０８において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ[ｉ]＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]、ｉ＋＋という操作を実行し、ステップ３０６に戻す。
【００８６】
ステップ３０９において、復号化してビットストリームからＤＬＴデータを取得するプロセスは、終了し、ＤＬＴデータがアレイｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅに記憶される。
【００８７】
表１のビットストリーム構成方式を使用する符号化プロセスは、図４に示すように、次のステップ４０１〜ステップ４０８を含む。
【００８８】
ステップ４０１において、符号化器は、ｕ（１）に対応する符号化方法を使用してｄｌｔ＿ｆｌａｇの値をビットストリームに書き込む。
【００８９】
符号化器は、従来の符号化器最適化技術を使用して、符号化プロセスにＤＬＴを使用する必要があるかどうかを確定する。ＤＬＴを使用すると、ｄｌｔ＿ｆｌａｇの値を１にし、逆に、ｄｌｔ＿ｆｌａｇの値を０にする。
【００９０】
ステップ４０２において、符号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ４０３を実行し、１でなければ、ステップ４０８を実行する。
【００９１】
ステップ４０３において、符号化器は、ＤＬＴに含まれている要素数量の値を取得してビットストリームに書き込む。
【００９２】
符号化器は、従来方法を使用してＤＬＴの元のデータを取得し、アレイに記憶し、当該アレイに含まれている有効要素数量をカウントし、それをＤＬＴに含まれる要素数量の値とする。
【００９３】
ステップ４０４において、符号化器は、ＤＬＴにおけるデータを昇順で配列し、そしてＤＬＴにおける最初のデータをビットストリームに書き込む。
【００９４】
符号化器は、ＤＬＴにおけるデータを昇順で配列し、または、符号化器は、ＤＬＴの元のデータを取得する場合に、元のデータの昇順でデータをＤＬＴが記憶されるアレイに配置する。
【００９５】
符号化器は、ｕｅ（ｖ）に対応する符号化方法を使用してＤＬＴにおける最初のデータの値をビットストリームに書き込む。または、符号化器は、ｕ（ｖ）に対応する符号化方法を使用してＤＬＴにおける最初のデータの値をビットストリームに書き込む。
【００９６】
ステップ４０５において、符号化器は、循環処理をｉ＝１に初期化する。
【００９７】
ステップ４０６において、符号化器は、ｉ＜ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔが成立するかどうかを判定する。成立すれば、ステップ４０７を実行し、成立しなければ、ステップ４０８を実行する。
【００９８】
ステップ４０７において、符号化器は、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込み、カウンターをｉ＋＋に更新するという操作を実行し、ステップ４０６に戻す。
【００９９】
符号化器は、ｕｅ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込む。または、符号化器は、ｕ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込む。
【０１００】
ステップ４０８において、符号化器がＤＬＴ情報を符号化するプロセスは、終了する。
【０１０１】
実施形態４
本実施形態は、具体的な応用シナリオに対して、前記実施形態１と実施形態２の符号化方法に従って奥行き情報符号化および復号化を行う具体的なプロセスを説明する。
【０１０２】
本実施形態に使用されるＤＬＴビットストリーム構成方法は、表２に示される。当該ＤＬＴビットストリーム構成方法は、パラメータセット（Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ（Ｓｌｉｃｅ  Ｈｅａｄｅｒ）またはスライスセグメントヘッダ（Ｓｌｉｃｅ  Ｓｅｇｍｅｎｔ  Ｈｅａｄｅｒ）などのビットストリーム構成構造にＤＬＴ情報ビットストリームを符号化して伝送することに適用する。
【０１０３】
表２に示すように、ビットストリームにおける奥行き情報識別方法は、ＤＬＴにおける要素数量情報、ＤＬＴにおける最初の要素の値、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差、前記差に対応するビットフィールドを復号化するために使用されるエントロピー方法の補助情報を識別する。
【０１０４】
対応するビットストリームには、以下のビットフィールドが含まれる：ＤＬＴにおける要素数量情報のビットフィールド、ＤＬＴにおける最初の要素の値のビットフィールド、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差のビットフィールド、前記差ビットフィールドを復号化するために使用されるエントロピー復号化方法を識別する補助情報のビットフィールド。このビットストリームは、パラメータセットおよび／またはスライスヘッダ情報および／またはスライスセグメントヘッダ情報にＤＬＴデータを符号化することに用いられることができる。実施形態４におけるＤＬＴビットストリーム構成方法は、表２に示される。
【０１０５】
【表２】
0006371373.tif 000003
【０１０６】
表２における各フィールドの語義（対応する復号化操作）は、次の通りである。ここで、Ｄｅｐｔｈｆｌａｇは、現在の処理成分が奥行き成分であるかどうかを識別するためのフラッグである。
【０１０７】
ｄｌｔ＿ｆｌａｇの値が１に等しい場合、復号化器が復号化プロセスにＤＬＴを使用する必要があることを示し、逆に、その値が０に等しい場合、復号化器が復号化プロセスにＤＬＴを使用しないことを示す。当該要素の符号化および復号化方法は、ｕ(１)に対応する符号化および復号化方法を使用する。
【０１０８】
ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔがＤＬＴに含まれている奥行きサンプルポイント値の数量を示す。その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１０９】
ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]がＤＬＴにおける最初の要素の値であり、その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１１０】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿４＿ｆｌａｇ[ｉ]の値が１に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が４より小さいことを示し、逆に、その値が０に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が４より大きいことを示す。当該要素の符号化および復号化方法は、ｕ（１）に対応する符号化および復号化方法を使用する。
【０１１１】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]がＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]であり、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕ（２）に対応する符号化および復号化方法を使用する。
【０１１２】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ４[ｉ]は、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]であり、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ＿ｍｉｎｕ４[ｉ]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１１３】
表２に示すビットストリーム構成方法を使用する復号化プロセスは、図５に示すように、ステップ５０１〜ステップ５１１を含む。
【０１１４】
ステップ５０１は、ステップ３０１と完全に同じである。
【０１１５】
ステップ５０２において、復号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ５０３を実行し、１でなければ、ステップ５１１を実行する。
【０１１６】
ステップ５０３は、ステップ３０３と完全に同じである。
【０１１７】
ステップ５０４は、ステップ３０４と完全に同じである。
【０１１８】
ステップ５０５は、ステップ３０５と完全に同じである。
【０１１９】
ステップ５０６において、復号化器は、ｉ＜ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔが成立するかどうかを判定する。成立すれば、ステップ５０７を実行し、成立しなければ、ステップ５１１を実行する。
【０１２０】
ステップ５０７において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿４＿ｆｌａｇ[ｉ]の値を解析する。
【０１２１】
復号化器は、ｕ（１）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿４＿ｆｌａｇ[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿４＿ｆｌａｇ[ｉ]の値を取得する。
【０１２２】
ステップ５０８において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿４＿ｆｌａｇ[ｉ]の値が１に等しいかどうかを判定する。１であれば、ステップ５０９を実行し、１でなければ、ステップ５１０を実行する。
【０１２３】
ステップ５０９において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]であって、カウンターをｉ＋＋に更新するという操作を実行し、ステップ５０６に戻す。
【０１２４】
復号化器は、ｕ(２)に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を取得する。
【０１２５】
ステップ５１０において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]の値を解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ]＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１−ｍｉｎｕｓ４[ｉ]＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ−１]であり、カウンターをｉ＋＋に更新するという操作を実行し、ステップ４０６を実行する。
【０１２６】
復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１−ｍｉｎｕｓ４[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１−ｍｉｎｕｓ４[ｉ]の値を取得する。
【０１２７】
あるいは、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１−ｍｉｎｕｓ４[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１−ｍｉｎｕｓ４[ｉ]の値を取得する。
【０１２８】
ステップ５１１において、復号化してビットストリームからＤＬＴデータを取得するプロセスは、終了し、ＤＬＴデータがアレイｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅに記憶される。
【０１２９】
表２に示すビットストリーム構成方法を使用する符号化プロセスは、図６に示すように、ステップ６０１〜ステップ６１０を含む。
【０１３０】
ステップ６０１は、ステップ４０１と完全に同じである。
【０１３１】
ステップ６０２において、符号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ６０３を実行し、１でなければ、ステップ６１０を実行する。
【０１３２】
ステップ６０３は、ステップ４０３と完全に同じである。
【０１３３】
ステップ６０４は、ステップ４０４と完全に同じである。
【０１３４】
ステップ６０５は、ステップ４０５と完全に同じである。
【０１３５】
ステップ６０６において、符号化器は、ｉ＜ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔが成立するかどうかを判定する。成立すれば、ステップ６０７を実行し、成立しなければ、ステップ６１０を実行する。
【０１３６】
ステップ６０７において、符号化器は、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１<４が成立するかどうかを判定する。成立すれば、ステップ６０８を実行し、成立しなければ、ステップ６０９を実行する。
【０１３７】
ステップ６０８において、符号化器は、値「１」をビットストリームに書き込み、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込み、カウンターをｉ＋＋に更新するという操作を実行し、ステップ６０６を実行する。
【０１３８】
ステップ６０９において、符号化器は、値「０」をビットストリームに書き込み、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１−４の値をビットストリームに書き込み、カウンターをｉ＋＋に更新するという操作を実行し、ステップ６０６を実行する。
【０１３９】
ステップ６１０において、符号化器がＤＬＴ情報を符号化するプロセスは、終了する。
【０１４０】
実施形態５
本実施形態は、具体的な応用シナリオに対して、前記実施形態１と実施形態２の符号化および復号化方法に従って奥行き情報符号化および復号化を行う具体的なプロセスを説明する。
【０１４１】
本実施形態に使用されるＤＬＴビットストリーム構成方法は、表３に示される。当該ＤＬＴビットストリーム構成方法は、パラメータセット（Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ（Ｓｌｉｃｅ  Ｈｅａｄｅｒ）またはスライスセグメントヘッダ（Ｓｌｉｃｅ  Ｓｅｇｍｅｎｔ  Ｈｅａｄｅｒ）などのビットストリーム構成構造にＤＬＴ情報ビットストリームを符号化して伝送することに適用する。
【０１４２】
表３に示すように、ビットストリームにおける奥行き情報識別方法は、ＤＬＴにおける要素数量情報、ＤＬＴにおける最初の要素の値、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差、前記差に対応するビットフィールドを復号化するために使用されるエントロピー方法の補助情報を識別する。
【０１４３】
対応するビットストリームには、以下のビットフィールドが含まれる：ＤＬＴにおける要素数量情報のビットフィールド、ＤＬＴにおける最初の要素の値のビットフィールド、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差のビットフィールド、前記差ビットフィールドを復号化するために使用されるエントロピー復号化方法を識別する補助情報のビットフィールド。このビットストリームは、パラメータセットおよび／またはスライスヘッダ情報および／またはスライスセグメントヘッダ情報にＤＬＴデータを符号化することに用いられることができる。実施形態５におけるＤＬＴビットストリーム構成方法は、表３に示される。
【０１４４】
【表３】
0006371373.tif 000004
【０１４５】
表３における各フィールドの語義（対応する復号化操作）は、次の通りである。ここで、Ｄｅｐｔｈｆｌａｇは、現在の処理成分が奥行き成分であるかどうかを識別するためのフラッグである。
【０１４６】
ｄｌｔ＿ｆｌａｇの値が１に等しい場合、復号化器が復号化プロセスにＤＬＴを使用する必要があることを示し、逆に、その値が０に等しい場合、復号化器が復号化プロセスにＤＬＴを使用しないことを示す。当該要素の符号化および復号化方法は、ｕ（１）に対応する符号化および復号化方法を使用する。
【０１４７】
ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔがＤＬＴに含まれている奥行きサンプルポイント値の数量を示す。その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１４８】
ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]がＤＬＴにおける最初の要素の値であり、その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１４９】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄがＤＬＴエントロピー符号化方法を切り替える閾値を示し、その符号化方法および復号化方法がｕ(３)に対応する符号化および復号化方法を使用する。当該要素の値に対応する復号化操作は、次の通りである。ここで、表４において演算子「ａ<<ｂ」がａの２進数数値を右へｂビット移すことを示す。実施形態５におけるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に対応する操作表は、表４に示される。
【０１５０】
【表４】
0006371373.tif 000005
【０１５１】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ[ｉ]の値が１に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が閾値より小さいことを示し、逆に、その値が０に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が閾値より大きいことを示す。ここで、閾値は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に基づいて確定される。当該要素の符号化および復号化方法は、ｕ（１）に対応する符号化および復号化方法を使用する。
【０１５２】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ[ｉ]がＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[ｉ-１]であり、ここで、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕ（ｖ）とｕｅ（ｖ）に対応する符号化および復号化方法を使用する。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるそれに対応するビット個数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に等しい。
【０１５３】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４［ｉ］がＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４［ｉ］＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］であり、ここで、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕ（ｖ）に対応する符号化および復号化方法を使用してもよい。
【０１５４】
表３のビットストリーム構成方法を使用する復号化プロセスは、図７に示すように、ステップ７０１〜ステップ７０７を含む。
【０１５５】
ステップ７０１は、ステップ５０１と完全に同じである。
【０１５６】
ステップ７０２において、復号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ７０３を実行し、１でなければ、ステップ７０７を実行する。
【０１５７】
ステップ７０３は、ステップ５０３と完全に同じである。
【０１５８】
ステップ７０４は、ステップ５０４と完全に同じである。
【０１５９】
ステップ７０５において、復号化器は、ビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を解析する。
【０１６０】
復号化器は、ｕ（３）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄに対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を取得する。
【０１６１】
ステップ７０６において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に基づいて、ＤＬＴを解析する。
【０１６２】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値が０に等しい場合、復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行する。
【０１６３】
逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値が１に等しい場合、復号化器は、ｕ（１）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ[ｉ]に対応するビットフィールドを解析し、フラッグｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ[ｉ]の値を取得する。ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ[ｉ]の値が１に等しい場合、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]に対応するビットフィールド（当該フィールドビット数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ個である）を解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行する。
【０１６４】
逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ[ｉ]の値が０に等しい場合、復号化器は、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４［ｉ］＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行する。
【０１６５】
ステップ７０７において、復号化してビットストリームからＤＬＴデータを取得するプロセスは、終了し、ＤＬＴデータがアレイｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅに記憶される。
【０１６６】
表３のビットストリーム構成方法を使用する符号化プロセスは、図８に示すように、ステップ８０１〜ステップ８０６を含む。
【０１６７】
ステップ８０１は、ステップ６０１と完全に同じである。
【０１６８】
ステップ８０２において、符号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ８０３を実行し、１でなければ、ステップ８０６を実行する。
【０１６９】
ステップ８０３は、ステップ６０３と完全に同じである。
【０１７０】
ステップ８０４は、ステップ６０４と完全に同じである。
【０１７１】
ステップ８０５において、符号化器は、奥行きデータ特性に応じてｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を設定し、そして当該値に基づいてＤＬＴ関連データをビットストリームに書き込む。
【０１７２】
符号化器は、異なるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの許容値における符号化効率と占有リソース（例えば計算複雑さ、記憶スペース需要など）に対する影響をそれぞれ評価し、設定された評価基準（例えば一般的なレート歪み基準）に準拠するコストが最も小さいｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を選択する。
【０１７３】
符号化器は、ｕ(３)に対応する符号化方法を使用して選択されたｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値をビットストリームに書き込む。
【０１７４】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値が０に等しい場合、符号化器は、ｕｅ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]-ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込む。
【０１７５】
逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値が０に等しくない場合、符号化器の実行プロセスは、次の通りである。
【０１７６】
符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に基づいて、表４によって閾値を設定する。
【０１７７】
符号化器は、ｄｌｔ[ｉ]-ｄｌｔ[ｉ−１]−１の値が閾値より小さいことを判定した場合、符号化器は、ｕ（１）に対応する符号化方法を使用して値「１」をビットストリームに書き込み、その後ｕ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]-ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込み、使用されるビット個数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄに等しく、逆に、符号化器は、ｄｌｔ[ｉ]-ｄｌｔ[ｉ−１]−１の値が閾値より大きいことを判定した場合、ｕ（１）に対応する符号化方法を使用して値「０」をコードストリムに書き込み、その後ｕｅ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]-ｄｌｔ[ｉ−１]−１−４の値をビットストリームに書き込む。
【０１７８】
符号化器がＤＬＴにおけるすべての要素の処理プロセスを完了した後、当該ステップが終了し、ステップ８０６を実行する。
【０１７９】
ステップ８０６において、符号化器がＤＬＴ情報を符号化するプロセスは、終了する。
【０１８０】
実施形態６
本実施形態は、具体的な応用シナリオに対して、前記実施形態１と実施形態２の符号化および復号化方法に従って奥行き情報符号化および復号化を行う具体的なプロセスを説明する。
【０１８１】
本実施形態に使用されるＤＬＴビットストリーム構成方法は、表４に示される。当該ＤＬＴビットストリーム構成方法は、パラメータセット（Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、スライスヘッダ（Ｓｌｉｃｅ  Ｈｅａｄｅｒ）またはスライスセグメントヘッダ（Ｓｌｉｃｅ  Ｓｅｇｍｅｎｔ  Ｈｅａｄｅｒ）などのビットストリーム構成構造においてＤＬＴ情報ビットストリームを符号化して伝送することに適用する。
【０１８２】
表５に示すように、ビットストリームにおける奥行き情報識別方法は、ＤＬＴにおける要素数量情報、ＤＬＴにおける最初の要素の値、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差、前記差に対応するビットフィールドを復号化するために使用されるエントロピー方法の補助情報を識別する。
【０１８３】
対応するビットストリームには、以下のビットフィールドが含まれる：ＤＬＴにおける要素数量情報のビットフィールド、ＤＬＴにおける最初の要素の値のビットフィールド、ＤＬＴにおける最初の要素以外の要素の値とＤＬＴにおけるインデックス番号が前記要素インデックス番号より小さい要素の値との差のビットフィールド、前記差ビットフィールドを復号化するために使用されるエントロピー復号化方法を識別する補助情報のビットフィールド。このビットストリームは、パラメータセットおよび／またはスライスヘッダ情報および／またはスライスセグメントヘッダ情報にＤＬＴデータを符号化することに適用する。実施形態６におけるＤＬＴビットストリーム構成方法は、表５に示される。
【０１８４】
【表５】
0006371373.tif 000006
【０１８５】
表５における各フィールドの語義（対応する復号化操作）は、次の通りである。ここで、Ｄｅｐｔｈｆｌａｇは、現在の処理成分が奥行き成分であるかどうかを識別するためのフラッグである。
【０１８６】
ｄｌｔ＿ｆｌａｇの値が１に等しい場合、復号化器が復号化プロセスにＤＬＴを使用する必要があることを示し、逆に、その値が０に等しい場合、復号化器が復号化プロセスにＤＬＴを使用しないことを示す。当該要素の符号化および復号化方法は、ｕ（１）に対応する符号化および復号化方法を使用する。
【０１８７】
ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔがＤＬＴに含まれる奥行きサンプルポイント値の数量を示す。その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔに対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１８８】
ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]がＤＬＴにおける最初の要素の値であり、その符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用してよく、ｕｅ（ｖ）に対応する符号化および復号化方法を使用してもよい。ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ビットストリームにおけるｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ[０]に対応するビット個数が奥行き成分のビット奥行きに等しい。
【０１８９】
ｄｌｔ＿ｄｅｐｔｈ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に等しい場合、ＤＬＴにおける各要素が自体の閾値を使用してエントロピー符号化方法を切り替えることを示し、逆に、その値が０に等しい場合、ＤＬＴにおける各要素が同じ閾値を使用してエントロピー符号化方法を切り替えることを示す。
【０１９０】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄがＤＬＴエントロピー符号化方法を切り替える閾値を示し、その符号化および復号化方法は、ｕ(３)に対応する符号化および復号化方法を使用する。当該要素の値に対応する復号化操作は、次の通りである。ここで、表６において演算子「ａ<<ｂ」がａの２進数数値を右へｂビット移すことを示す。実施形態６におけるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に対応する操作表は、表６に示される。
【０１９１】
【表６】
0006371373.tif 000007
【０１９２】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]がＤＬＴにおけるｉ番目の要素のＤＬＴエントロピー符号化方法を切り替える閾値を示し、その符号化および復号化方法がｕｅ（３）に対応する符号化および復号化方法を使用する。当該要素の値に対応する復号化操作は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄと同じであり、表６に示される。
【０１９３】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇ［ｉ］の値が１に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が閾値より小さいことを示し、逆に、その値が０に等しい場合、ＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差から１を減算した値が閾値より大きいことを示す。ここで、閾値は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に基づいて確定される。当該要素の符号化および復号化方法は、ｕ（１）に対応する符号化および復号化方法を使用する。
【０１９４】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]がＤＬＴにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］であり、ここで、ｉの値が１，２，．．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ−ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕｅ（ｖ）とｕ（ｖ）に対応する符号化および復号化方法を使用することができる。当該要素の符号化および復号化方法は、ｕ（ｖ）に対応する符号化および復号化方法を使用する場合、ｄｌｔ＿ｄｅｐｔｈ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に等しい場合、ビットストリームにおけるそれに対応するビット個数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値に等しく、逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に等しい場合、ビットストリームにおけるそれに対応するビット個数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に等しい。
【０１９５】
ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓｌ＿ｍｉｎｕｓ４[ｉ]がＤＬにおけるｉ番目の要素とｉ−１番目の要素との差を示し、その値が非負整数でなければならない。ＤＬＴにおける最初の要素以外の要素の値がｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４［ｉ］＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］であり、ここで、ｉの値が１，２，．．．，ｎｕｍ＿ｄｅｐｔｈ＿ｖａｌｕｅｓ＿ｉｎ＿ｄｌｔ−１である。当該要素の符号化および復号化方法は、ｕｅ（ｖ）に対応する符号化および復号化方法を使用することができる。
【０１９６】
表５のビットストリーム構成方法を使用する復号化プロセスは、図９に示すように、ステップ９０１〜ステップ９０７を含む。
【０１９７】
ステップ９０１において、ステップ７０１と完全に同じである。
【０１９８】
ステップ９０２において、復号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ９０３を実行し、１でなければ、ステップ９０７を実行する。
【０１９９】
ステップ９０３は、ステップ７０３と完全に同じである。
【０２００】
ステップ９０４は、ステップ７０４と完全に同じである。
【０２０１】
ステップ９０５において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇとｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を解析する。
【０２０２】
復号化器は、ｕ（１）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇに対応するフィールドビットを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値を取得する。
【０２０３】
復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に等しいことを判定した場合、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を０に設定する。
【０２０４】
逆に、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に等しいことを判定した場合、ｕ（３）に対応する復号化方法を使用してｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄに対応するフィールドビットを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を取得する。
【０２０５】
ステップ９０６において、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇとｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に基づいて、ＤＬＴを解析する。
【０２０６】
復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に等しいことを判定した場合、ｕ（３）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値を取得し、逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に等しいことを判定した場合、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値を０に設定する。
【０２０７】
復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＋ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値が０に等しいことを判定した場合、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］  ＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行する。
【０２０８】
逆に、復号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＋ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値が０より大きいことを判定した場合、次のようなプロセスに従ってＤＬＴを解析する。
【０２０９】
復号化器は、ｕ（1）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈｒｅｓｏｌｄ＿ｆｌａｇ[ｉ]に対応するビットフィールドを解析し、フラッグｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈｒｅｓｏｌｄ＿ｆｌａｇ[ｉ]の値を取得する。ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈｒｅｓｏｌｄ＿ｆｌａｇ[ｉ]の値が１に等しい場合、復号化器は、ｕ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]に対応するビットフィールド（当該フィールドビット数がｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]個である）を解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１［ｉ］＋１＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行し、逆に、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｌｅｓｓ＿ｔｈａｎ＿ｔｈｒｅｓｏｌｄ＿ｆｌａｇ[ｉ]の値が０に等しい場合、ｕｅ（ｖ）に対応する復号化方法を使用してビットストリームからｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]に対応するビットフィールドを解析し、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４[ｉ]の値を取得し、そしてｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ］＝ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｍｉｎｕｓ１＿ｍｉｎｕｓ４［ｉ］＋１＋４＋ｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅ［ｉ-１］という操作を実行する。
【０２１０】
ステップ９０７において、復号化してビットストリームからＤＬＴデータを取得するプロセスが終了し、ＤＬＴデータがアレイｄｌｔ＿ｄｅｐｔｈ＿ｖａｌｕｅに記憶される。
【０２１１】
表５のビットストリーム構成方法を使用して符号化するプロセスは、図１０に示すように、ステップ１００１〜ステップ１００６を含む。
【０２１２】
ステップ１００１は、ステップ８０１と完全に同じである。
【０２１３】
ステップ１００２において、符号化器は、ｄｌｔ＿ｆｌａｇの値が１であるかどうかを判定する。１であれば、ステップ１００３を実行し、１でなければ、ステップ１００６を実行する。
【０２１４】
ステップ１００３は、ステップ８０３と完全に同じである。
【０２１５】
ステップ１００４は、ステップ８０４と完全に同じである。
【０２１６】
ステップ１００５において、符号化器は、奥行きデータ特性に応じてｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇとｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を設定し、そして当該値に基づいてＤＬＴ関連データをビットストリームに書き込む。
【０２１７】
符号化器は、異なるｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０または１に設定された場合の符号化効率と占有リソースに対する影響（例えば計算複雑さ、記憶スペース需要など）をそれぞれ評価し、設定された評価基準（例えば一般的なレート歪み基準）に準拠するコストが最も小さいｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値を選択することができ、具体的なプロセスが次の通りである。
【０２１８】
符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値を０に設定した場合、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの許容値における符号化効率と占有リソースに対する影響（例えば計算複雑さ、記憶スペース需要など）をそれぞれ評価し、設定された評価基準（例えば一般的なレート歪み基準）に準拠するコストが最も小さいｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を選択することができる。符号化器は、当該コストを、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に設定された場合の対応するコストとし、そしてｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値を記録する。
【０２１９】
符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値を０に設定した場合、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの許容値における符号化効率と占有リソースに対する影響（例えば計算複雑さ、記憶スペース需要など）をそれぞれ評価し、ＤＬＴテーブルにおける最初の要素以外の要素のために設定された評価基準（例えば一般的なレート歪み基準）に準拠するコストが最も小さいｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値を選択する。符号化器は、当該コストを、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に設定された場合の対応するコストとし、そして最初の要素以外の要素のｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値を記録する。
【０２２０】
符号化器は、ｕ（１）に対応する符号化方法を使用してｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値をビットストリームに書き込む。ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に等しい場合、符号化器は、ｕ（３）に対応する符号化方法を使用してｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値をビットストリームに書き込む。
【０２２１】
ＤＬＴにおける最初の要素以外の要素（例えばｉ番目の要素）に対して、符号化器は、次のような操作を実行する。
【０２２２】
符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が１に等しいことを判定した場合、ｕ（３）に対応する符号化方法を使用して、確定されたｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値をビットストリームに書き込み、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値に基づいて閾値を設定し、符号化ビット長さの値をｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値に等しく設定する。逆に、符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｅｌｅｍｅｎｔ＿ｔｈｒｅｓｈｏｌｄ＿ｆｌａｇの値が０に等しいことを判定した場合、符号化ビット長さの値をｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄの値に設定する。
【０２２３】
符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＋ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値が０に等しいことを判定した場合、ｕｅ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込む。逆に、符号化器は、ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＋ｄｌｔ＿ｄｅｐｔｈ＿ｄｉｆｆ＿ｔｈｒｅｓｈｏｌｄ＿ａｒｒａｙ[ｉ]の値が０より大きいことを判定した場合、次の操作を実行する。
【０２２４】
符号化器は、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値が確定された閾値より小さいことを判定した場合、ｕ（１）に対応する符号化方法を使用して値「１」をビットストリームに書き込み、その後ｕ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値をビットストリームに書き込み、使用されたビット個数が確定された符号化ビット長さの値に等しく、逆に、符号化器は、ｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１の値が閾値より大きいことを判定した場合、ｕ（１）に対応する符号化方法を使用して値「０」をビットストリームに書き込み、その後ｕｅ（ｖ）に対応する符号化方法を使用してｄｌｔ[ｉ]−ｄｌｔ[ｉ−１]−１−４の値をビットストリームに書き込む。
【０２２５】
符号化器がＤＬＴにおけるすべての要素の処理プロセスを完了した後、当該ステップが終了し、ステップ１００６を実行する。
【０２２６】
ステップ１００６において、符号化器がＤＬＴ情報を符号化するプロセスは、終了する。
【０２２７】
実施形態７
本実施形態は、上述した各実施形態における符号化操作を実現できる奥行き情報符号化装置を説明する。当該装置は、少なくとも以下の各ユニットを含む。
【０２２８】
処理ユニットは、奥行きマッピングルックアップテーブルにおけるすべての要素を値の昇順で配置するように構成される。
【０２２９】
第一の符号化ユニットは、奥行きマッピングルックアップテーブルにおける最初の要素の値を符号化し、そしてビットストリームに書き込むように構成される。
【０２３０】
第二の符号化ユニットは、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化し、そしてビットストリームに書き込むように構成される。
【０２３１】
具体的には、前記第二の符号化ユニットは、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化するように構成される。
【０２３２】
ここで、設定された閾値が予め設定された固定値、または符号化プロセスにおいて動的に調整された数値である。設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定されてよく、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定されてもよい。
【０２３３】
また、第一の符号化ユニットは、さらに要素数量情報が含まれている奥行きマッピングルックアップテーブル情報をビットストリームに書き込むように構成される。
【０２３４】
第二の符号化ユニットは、差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むように構成される。
【０２３５】
本実施形態に係る符号化装置は、単独の符号化装置であってよく、様々なビデオ処理装置（３Ｄビデオ処理装置が含まれている）に内蔵された符号化器であってもよいと説明すべきである。この場合、ビデオ処理装置は、キャッシュと符号化器を含む。
【０２３６】
キャッシュは、符号化すべきデータをキャッシュする。
【０２３７】
符号化器は、キャッシュされたデータにおける奥行きマッピングルックアップテーブルのすべての要素を値の昇順で配置し、奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差をそれぞれ符号化し、そしてビットストリームに書き込む。
【０２３８】
具体的には、符号化器は、前記奥行きマッピングルックアップテーブルにおける最初の要素以外の要素の値と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差を確定し、前記差が設定された閾値より以下である場合、設定された第一のエントロピー符号化方法を選択して当該差を符号化し、前記差が設定された閾値より大きい場合、設定された第二のエントロピー符号化方法を選択して当該差を符号化する。
【０２３９】
ここで、前記設定された閾値は、予め設定された固定値、または、
符号化プロセスにおいて動的に調整された数値である。
【０２４０】
前記設定された閾値は、奥行きマッピングルックアップテーブル全体のために設定され、または、
奥行きマッピングルックアップテーブルにおける最初の要素以外の要素のためにそれぞれ設定される。
【０２４１】
また、符号化器は、差を符号化する場合、前記差を符号化するために使用されたエントロピー符号化方法を識別するための補助情報を符号化してビットストリームに書き込むことができる。
【０２４２】
実施形態８
本実施形態に係る奥行き情報復号化装置は、上述した各実施形態における復号化操作を実現でき、少なくとも次の各ユニットを含む。
【０２４３】
第一の復号化ユニットは、受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して第一の要素の値を取得するように構成される。
【０２４４】
いくつかの技術案において、第一の復号化ユニットは、奥行きマッピングルックアップテーブルを復号化する前に、奥行きマッピングルックアップテーブル情報を受信することができるように構成され、ここで、奥行きマッピングルックアップテーブル情報は、奥行きマッピングルックアップテーブルに含まれている要素数量を復号化した情報を含む。
【０２４５】
第二の復号化ユニットは、奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化して、前記差を取得するように構成される。
【０２４６】
好ましくは、第二の復号化ユニットは、前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化し、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー復号化方法に従って前記差を復号化するように構成される。
【０２４７】
処理ユニットは、取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算し、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とするように構成される。
【０２４８】
なお、本実施形態に係る復号化装置は、単独の復号化装置であってよく、いずれかのビデオ再生装置（３Ｄビデオ再生装置が含まれている）に内蔵された復号化器であってもよい。
【０２４９】
即ちビデオ再生装置における復号化器は、受信されたビットストリームにおける奥行きマッピングルックアップテーブルの最初の要素に対応するビットフィールドを復号化して第一の要素の値を取得し、奥行きマッピングルックアップテーブルにおける最初の要素以外の各要素と奥行きマッピングルックアップテーブルにおけるインデックス番号が当該要素のインデックス番号より小さい要素の値との差に対応するビットフィールドを復号化し、前記差を取得し、取得された差と奥行きマッピングルックアップテーブルにおけるインデックス番号が前記差に対応する要素インデックス番号より小さい復号化された要素の値を加算して、和を奥行きマッピングルックアップテーブルにおける前記差に対応するインデックス番号の要素の値とする。
【０２５０】
表示器は、前記復号化器により復号化されたデータを表示すればよい。
【０２５１】
ここで、復号化器は、前記差に対応するビットフィールドを復号化する前に、差を符号化する補助情報に対応するビットフィールドを復号化して、当該差のために使用されたエントロピー符号化方法を取得し、当該差のために使用されたエントロピー符号化方法に対応するエントロピー符号化方法に従って前記差を復号化する。
【０２５２】
本分野の当業者は、本発明の実施形態が方法、システムまたはコンピュータプログラム製品として提供されることができると理解すべきである。従って、本発明は、ハードウェア実施形態、ソフトウェア実施形態、またはハードウェア実施形態およびソフトウェア実施形態を組み合わせた実施形態を使用することができる。しかも、本発明は、コンピュータ使用可能プログラムコードを含む１つ以上のコンピュータで使用可能な記憶媒体（磁気ディスク記憶装置と光メモリなどを含むがこれらに限られない）に実施されるコンピュータプログラム製品の形態を使用することができる。
【０２５３】
本発明は、本発明の実施形態による方法、装置（システム）とコンピュータプログラム製品のフローチャートおよび／またはブロック図を参照して説明される。コンピュータプログラム命令によってフローチャートおよび／またはブロック図の各プロセスおよび／またはブロック、およびフローチャートおよび／またはブロック図のプロセスおよび／またはブロックの組み合わせを実現することができると理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込みプロセッサまたは他のプログラム可能データ処理装置のプロセッサとして１つのマシンを生成することができ、それによってコンピュータまたは他のプログラム可能データ処理装置のプロセッサで実行された命令によりフローチャートの１つのプロセスまたは複数のプロセスおよび／またはブロック図における１つのブロックまたは複数のブロックにおける指定された機能を実現するための装置を生成する。
【０２５４】
これらのコンピュータプログラム命令がコンピュータまたは他のプログラム可能データ処理装置が特定のモードで動作することをガイドすることができるコンピュータ可読メモリに記憶されることもでき、それによって、当該コンピュータ可読メモリに記憶された命令により命令装置が含まれる製造品を生成し、当該命令装置がフローチャートの１つ以上のプロセスおよび／またはブロック図の１つ以上のブロックにおける指定された機能を実現する。
【０２５５】
これらのコンピュータプログラム命令がコンピュータまたは他のプログラム可能データ処理装置にロードされることができ、それによってコンピュータまたは他のプログラム可能データ処理装置で実行された命令によりフローチャートの１つ以上のプロセスおよび／またはブロック図の１つ以上のブロックにおける指定された機能を実現するためのステップを提供する。
【０２５６】
上記は、本発明の好ましい実施形態に過ぎなく、本発明の特許請求の範囲を制限することに用いられるものではない。本発明の主旨精神と原則以内で行ったいかなる改修、同等入れ替わり、改良等が、本発明の特許請求の範囲内に含まれるべきである。
【図１】
0006371373.tif 000008
【図２】
0006371373.tif 000009
【図３】
0006371373.tif 000010
【図４】
0006371373.tif 000011
【図５】
0006371373.tif 000012
【図６】
0006371373.tif 000013
【図７】
0006371373.tif 000014
【図８】
0006371373.tif 000015
【図９】
0006371373.tif 000016
【図１０】
0006371373.tif 000017