本願は、ビデオ画像技術の分野に関し、特にフレーム内予測方法および装置に関する。
デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、無線ブロードキャストシステム、パーソナルデジタルアシスタント(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、セルラーまたは衛星無線電話、ビデオ会議装置、ビデオストリーミング装置などを含む幅広い装置に組み込まれ得る。デジタルビデオ装置は、ビデオ圧縮技術、例えば、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4 Part 10:Advanced Video Coding (AVC)、およびITU−T H.265: High Efficiency Video Coding(HEVC)規格、並びにそれら規格の拡張部分により規定される規格に記載されているビデオ圧縮技術を実装して、より効率的に、デジタルビデオ情報を送信し受信する。ビデオ装置は、これらビデオエンコード/デコード技術を実装することにより効率的にデジタルビデオ情報を送信し、受信し、エンコードし、デコードし、および/または格納してよい。
本願の実施形態は、フレーム内予測方法および装置を提供することでフレーム内予測モードをエンコードしデコードする適切な方法を選択し、それにより、エンコードおよびデコード処理で取得される事前情報をより有効に用い、エンコードおよびデコード効率を向上させる。
本願の第1の態様は、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さが、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上であるよう、異なる候補フレーム内予測モードインデックスに関してエンコード済みの符号語の長さが調節される。故に、各フレーム内予測モードの分布確率がより良好に適したものとなることによりエンコード効率が向上する。
第1の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含む、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第1の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第1の態様の実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
第1の態様の実現可能な実施例において、無指向性予測モードは、直流モード(DC)とプラナーモード(planar)とを含む。
第1の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じデコードユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、実現可能な実施例において、デコードユニットセットは、ピクチャ、スライス(slice)、またはタイル(tile)を含む。
第1の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの左上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
第1の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの左上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築する段階であって、第1のモードセット内の候補フレーム内予測モードは互いに異なる、段階をさらに含む。
第1の態様の実現可能な実施例において、方法は、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加する段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、単進符号(Unary code)が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
本実施例の有益な効果は次の通りである:適切なインデックスエンコード方式が、エンコード対象オブジェクトの確率特徴に基づき選択され、それにより、エンコード効率が向上する。
第1の態様の実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階の前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築する段階であって、第1のモードセットは第1の無指向性予測モードを含まない、段階をさらに含む。
本実施例の有益な効果は次の通りである:エンコード効率が向上するよう、イレギュラーなテクスチャの可能性が検討され、本実施例は指向性予測を補足するものとして用いられる。
本願の第2の態様は、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第2の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階をさらに含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階の前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築する段階であって、第1のモードセットは第1の無指向性予測モードを含まない、段階をさらに含む。
本実施例の有益な効果は次の通りである:エンコード効率が向上するよう、イレギュラーなテクスチャの可能性が検討され、本実施例は指向性予測を補足するものとして用いられる。
本願の第3の態様は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階と、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:空間相関がより信頼性が高く、エンコード効率が向上するよう、周辺の再構築済みブロックのフレーム内予測モードが事前情報として用いられ、より多くのサンプル情報についての統計が収集される。
第3の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第3の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第3の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階を含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第3の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得する段階と、取得された同じフレーム内予測モードを累算する段階と、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得する段階とを含む。
第3の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
第3の態様の実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
本実施例の有益な効果は次の通りである:統計サンプルがよりフレキシブルに選択され、それによりアルゴリズムの複雑性とアルゴリズムの信頼性との間のバランスをとることが出来る。
第3の態様の実現可能な実施例において、方法は、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
第3の態様の実現可能な実施例において、方法は、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
本願の第4の態様は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニットを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをデコードするための装置を提供する。
第4の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第4の態様の実現可能な実施例において、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、解析ユニットはさらに、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含み、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、解析ユニットはさらに、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、解析ユニットはさらに、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第4の態様の実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
第4の態様の実現可能な実施例において、無指向性予測モードは、直流モードとプラナーモードとを含む。
第4の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じデコードユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
第4の態様の実現可能な実施例において、実現可能な実施例において、デコードユニットセットは、ピクチャ、スライス、またはタイルを含む。
第4の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの左上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
第4の態様の実現可能な実施例において、装置は、構築ユニットをさらに含む。構築ユニットは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの左上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築するよう構成されており、第1のモードセット内の候補フレーム内予測モードは互いに異なる。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加するよう構成されている。
第4の態様の実現可能な実施例において、単進符号が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
第4の態様の実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
本願の第5の態様は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニットを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをデコードするための装置を提供する。
第5の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第5の態様の実現可能な実施例において、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第5の態様の実現可能な実施例において、装置は、構築ユニットをさらに含む。構築ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第5の態様の実現可能な実施例において、構築ユニットはさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
第5の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
本願の第6の態様は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成された統計収集ユニットと、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、解析ユニットとを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをデコードするための装置を提供する。
第6の態様の実現可能な実施例において、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第6の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第6の態様の実現可能な実施例において、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第6の態様の実現可能な実施例において、統計収集ユニットは具体的には、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得し、取得された同じフレーム内予測モードを累算し、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得するよう構成されている。
第6の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
第6の態様の実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
第6の態様の実現可能な実施例において、構築ユニットは、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第6の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
本願の第7の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをデコードするための装置を提供する。
本願の第8の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサは、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをデコードするための装置を提供する。
本願の第9の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをデコードするための装置を提供する。
第9の態様の実現可能な実施例において、プロセッサはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の第10の態様は、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
本願の第11の態様は、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードする段階であって、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む、段階と、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードする段階であって、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
本願の第12の態様は、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階と、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
第12の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードする段階であって、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい、段階と、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードする段階であって、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本願の第13の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをエンコードするための装置を提供する。
本願の第14の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサは、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをエンコードするための装置を提供する。
本願の第15の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをエンコードするための装置を提供する。
第15の態様の実現可能な実施例において、プロセッサはさらに、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、プロセッサはさらに、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサはさらに、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の第16の態様は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を格納し、命令がコンピュータ上で実行されたとき、コンピュータは、先述の態様に係る方法を実施可能となる。
本願の第17の態様は、命令を含むコンピュータプログラムプロダクトを提供し、コンピュータプログラムプロダクトがコンピュータ上で実行されたとき、コンピュータは、先述の態様に係る方法を実施可能となる。
理解されるべきことは、本願の第4の態様〜第17の態様の技術的解決法は、本願の第1の態様、第2の態様、および第3の態様のものと整合がとれており、全ての態様および対応する実装可能な設計方式で達成可能な有益な効果は同様であるということである。詳細は改めて説明されない。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコードおよびデコードシステムのブロック図である。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコーダのブロック図である。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオデコーダのブロック図である。
フレーム内モード予測の間に検討されてよいビデオデータブロックのブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード方法のフローチャートである。
本願の実施形態に係るフレーム内予測モードセットの例の概略図である。
本願の実施形態に係るMPMセットの例における候補予測モードの概略図である。
本願の実施形態に係る現処理対象ユニットの隣接する再構築ユニットの例の概略図である。
本願の実施形態に係る現処理対象ユニットの隣接する再構築ユニットの別の例の概略図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータエンコード装置のブロック図である。
本願の実施形態における添付の図面を参照し、本願の実施形態における技術的解決法を以下に、明確かつ完全に説明する。
実現可能な実施例において、本願の態様は、フレーム内予測モードのうち最も確率の高いフレーム内予測モード(most probable mode,MPM)の構築と、選択されたフレーム内予測モード(selected modes)の構築とを向上させる。例えば一部のビデオデコード技術によると、ビデオエンコーダが、現在エンコードされているブロックのフレーム内予測情報を決定しシグナリングする前にMPMセットまたはselected modesのセットを構築してよく、またはビデオデコーダが、現在デコードされているブロックのフレーム内予測情報を決定し受信する前にMPMセットまたはselected modesのセットを構築してよい。本願の態様は、MPMセットまたはselected modesのセットの構築に関し、そうすることでフレーム内予測モードをエンコードしデコードするための適切な方法を選択し、それによりエンコードおよびデコード処理において取得される事前情報をより有効に用い、エンコードおよびデコード効率を向上させる。
実現可能な実施例において、候補フレーム内予測モードが、MPMセット内のフレーム内予測モードと、残りのフレーム内予測モードとに分類される。ビデオエンコーダは、MPMがビデオデータのスライスまたはピクチャ内で現れる順序(例えばデコード順序)に従ってMPMセットからMPMのリストを生成してよく、リストはフレーム内予測モードを含む。別の実現可能な実施例において、ビデオデコーダは、近隣ブロックのフレーム内モードが現在デコードされているブロックのものと同じであるかをビデオエンコーダがチェックする順序(本明細書において「チェック順序」と呼ばれる)に従ってMPMのリストを生成してよい。ビデオエンコーダは、リスト内のMPMを順序付けする、または並べ替えることなく、生成されたリストのインデックスに基づきMPMをシグナリングしてよい。ビデオデコーダは同じ処理を実施して、MPMリストを生成し、エンコード済ビットストリームからリストのインデックスを取得し、リスト内のMPMを順序付けする、または並べ替えることなくインデックスに基づきリストからMPMを選択してよい。実現可能な実施例において、候補フレーム内予測モードが、MPMセット内のフレーム内予測モードと、selected modesのセット内のフレーム内予測モードと、残りのフレーム内予測モードとに分類される。残りのフレーム内予測モードは、non−selected modesのセット内のフレーム内予測モードとも呼ばれてよい。selected modesのセット内のフレーム内予測モードを処理するために用いられる原理は、MPMセット内のフレーム内予測モードを処理するために用いられるものと同じである。詳細は改めて説明されない。
実現可能な実施例において、例示を目的として、ビデオデコーダはまず、現在デコードされているブロックの左側に位置するブロック(本明細書において「左側の近隣ブロック」と呼ばれる)のフレーム内モードが現ブロックのフレーム内モードと同じであるかをチェックしてよい。ビデオデコーダはそれから、現在デコードされているブロックの上方に位置するブロック(本明細書において「上側の近隣ブロック」と呼ばれる)のフレーム内モードが現ブロックのフレーム内モードと同じであるかをチェックしてよい。この実現可能な実施例において、本願の態様によると、左側の近隣ブロックのフレーム内モードは、ビデオデコーダが保持するMPMリストにおいて0のインデックスを有してよく、上側の近隣ブロックのフレーム内モードは、当該リスト内で1のインデックスを有してよい。この場合ビデオエンコーダは、左側の近隣ブロックの実際のフレーム内モード番号(例えば、ビデオデコード規格で指定されている予め定められているモード番号)が上側の近隣ブロックのものより大きいかに関わらず、左側の近隣ブロックのフレーム内モードのインデックス(つまり、0)と、上側の近隣ブロックのインデックス(つまり、1)とをシグナリングしてよい。代替的に、左側の近隣ブロックのフレーム内モードをチェックする前に、ビデオデコーダが上側の近隣ブロックのフレーム内モードをチェックする場合、ビデオデコーダは、上側の近隣ブロックのインデックス(つまり、0)と左側の近隣ブロックのインデックス(つまり、1)とをシグナリングしてよい。いずれの場合も、本願のこれらの実現可能な実施例および態様によると、ビデオエンコーダは、リスト内のフレーム内モードを並べ替える、または順序付けすることなくフレーム内モードのインデックスをシグナリングしてよい。一部の実現可能な実施例において、フレーム内モードがMPMでない場合、フレーム内モードデコードに順序付けが適用されてよい。言い換えれば、MPMではないフレーム内モードをシグナリングするとき、ビデオエンコーダは、リスト内のフレーム内モードをソートしてよく、または別の方式でリスト内のフレーム内モードを変更してよい。本願の態様によると、ビデオデコーダが近隣ブロックのフレーム内モードをチェックする順序(本明細書において「チェック順序」と呼ばれる)は、以前にデコード済みのブロックのフレーム内モードに関して収集された統計的データに基づき暗黙的に導出されてよい。他の実現可能な実施例において、ビデオデコーダは、近隣ブロックの利用可能性に基づきチェック順序を導出してよい。更なる実現可能な実施例において、ビデオエンコーダは、チェック順序の明確なインジケーションをシグナリングしてよい(そしてビデオデコーダは、エンコード済ビットストリームからチェック順序を取得してよい)。同様に、同様の方法および同様の実現可能な実施例が、selected modesのセットを処理するために用いられる。詳細は改めて説明されない。
図1は、本願に記載の技術の実現可能な実施例におけるビデオエンコードおよびデコードシステム10のブロック図である。図1に示されているように、システム10は発信元装置12を含み、発信元装置12は宛先装置14によりデコードされることになるエンコード済ビデオデータを生成する。発信元装置12および宛先装置14は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの携帯電話、いわゆる「スマート」タッチパネル、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング送信装置などを含む幅広い装置のうちいずれかを含んでよい。一部の応用において、発信元装置12および宛先装置14は無線通信のための機器を備えていてよい。
宛先装置14は、リンク16を介してデコード対象のエンコード済ビデオデータを受信してよい。発信元装置12から宛先装置14へエンコード済ビデオデータを送信することが可能な任意の種類の媒体または装置がリンク16上に含まれてよい。実現可能な実施例において、発信元装置12が直接エンコード済ビデオデータを宛先装置14へリアルタイムで送信出来るようにする通信媒体がリンク16上に含まれてよい。エンコード済ビデオデータは、通信規格(例えば無線通信プロトコル)に従って変調され、宛先装置14へ送信され得る。通信媒体は、任意の無線または有線の通信媒体、例えば無線周波数(RF)スペクトル、または、1または複数の物理的な伝送線を含んでよい。通信媒体は、パケットベースのネットワーク(例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのグローバルネットワーク)の一部であってよい。通信媒体は、ルータ、スイッチ、基地局、または、発信元装置12から宛先装置14への通信を容易にするために役立つ任意の他のデバイスを含んでよい。
代替的に、エンコード済データは、出力インタフェース22を通じて記憶装置24へ出力されてよい。同様に、エンコード済データは入力インタフェースを通じて記憶装置24からアクセスされてよい。記憶装置24は、複数の分散させられた、またはローカルのデータ記憶媒体、例えば、ハードディスクドライブ、ブルーレイディスク(登録商標)、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性ストレージ、またはエンコード済ビデオデータを格納するために用いられる任意の他の適切なデジタル記憶媒体のうちいずれかを含んでよい。別の実現可能な実施例において、記憶装置24はファイルサーバ、または発信元装置12により生成されたエンコード済ビデオを格納することが可能な別の中間的な記憶装置に対応してよい。宛先装置14はストリーミング送信またはダウンロードにより記憶装置24から、格納されたビデオデータにアクセスしてよい。ファイルサーバは、エンコード済ビデオデータを格納すること、および宛先装置14内のエンコード済ビデオデータを送信することが可能な任意のタイプのサーバであってよい。実現可能な実施例において、ファイルサーバは、ウェブサイトサーバ、ファイルトランスファプロトコル(FTP)サーバ、ネットワークアタッチストレージ(NAS)装置、またはローカルディスクドライブを含む。宛先装置14は、インターネット接続を含む任意の標準的なデータ接続によりエンコード済ビデオデータにアクセスしてよい。データ接続は、ファイルサーバに格納されたエンコード済ビデオデータにアクセスするのに適した無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSLおよびケーブルモデム)、またはこれらの組み合わせを含んでよい。記憶装置24からのエンコード済ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはこれらの組み合わせであってよい。
本願における技術は必ずしも、無線応用または環境に限定されない。それら技術はビデオデコードに適用されて、複数のマルチメディアでの応用のうちいずれか1つ、例えば、地上波テレビ放送、ケーブルテレビ伝送、衛星テレビ伝送、(例えば、インターネットを通じた)ストリーミングビデオ伝送、データ記憶媒体内での格納のためのデジタルビデオエンコード、データ記憶媒体に格納されているデジタルビデオのデコードなどをサポートすることが出来る。一部の考えられる実施例において、システム10は、ストリーミングビデオ伝送、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話などの応用をサポートするよう単方向または双方向のビデオ伝送をサポートするよう構成されてよい。
図1の実現可能な実施例において、発信元装置12は、ビデオソース18、ビデオエンコーダ20、および出力インタフェース22を含んでよい。一部の応用において、出力インタフェース22は変調器/復調器(モデム)、および/または送信器を含んでよい。発信元装置12において、ビデオソース18は以下の発信元デバイスを例えば含んでよい:ビデオ取り込み装置(例えばビデオカメラ)、以前に取り込まれたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインインタフェース、および/またはソースビデオとしてのコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステム、またはこれらの組み合わせ。実現可能な実施例において、ビデオソース18がビデオカメラである場合、発信元装置12および宛先装置14は、いわゆるカメラ電話またはいわゆるビデオ電話を構成し得る。本願に記載の技術は、例えばビデオデコードに適用されてよく、無線および/または有線での応用に適用されてよい。
ビデオエンコーダ20は、取り込まれた、事前に取り込まれた、またはコンピュータにより計算されたビデオをエンコードしてよい。エンコード済ビデオデータは、発信元装置12の出力インタフェース22を通じて宛先装置14へ直接送信されてよい。エンコード済ビデオデータは追加的に(または代替的に)、宛先装置14による、またはデコードおよび/または再生するための別の装置による後のアクセスのために記憶装置24に格納されてよい。
宛先装置14は、入力インタフェース28、ビデオデコーダ30、および表示装置32を含む。一部の応用において、入力インタフェース28は受信器および/またはモデムを含んでよい。宛先装置14の入力インタフェース28は、リンク16を介してエンコード済ビデオデータを受信する。リンク16を介して記憶装置24へ送信または提供されるエンコード済ビデオデータは、ビデオデコーダ30のビデオデコーダがビデオデータをデコードするためにビデオエンコーダ20により生成された複数の構文要素を含んでよい。これら構文要素は、通信媒体上で送信される、記憶媒体に格納される、またはファイルサーバに格納されるエンコード済ビデオデータに含まれてよい。
表示装置32は、宛先装置14と統合されてよく、または宛先装置14外に配されてよい。一部の考えられる実施例において、宛先装置14は、統合された表示装置を含んでよく、また外部表示装置のインタフェースに接続するよう構成されてよい。他の実現可能な実施例において、宛先装置14は表示装置であってよい。概して、表示装置32は、デコード済ビデオデータをユーザに対して表示し、複数の表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示装置のうちいずれかを含んでよい。
ビデオエンコーダ20およびビデオデコーダ30は、例えば、現在開発途中の次世代のビデオコーディング圧縮規格(H.266)に従って動作してよく、H.266テストモデル(JEM)に準拠してよい。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、例えば、他の専用の規格若しくは工業規格、またはITU−T H.265規格若しくはITU−T H.264規格の拡張版に従って動作してよい。ここでITU−T H.265規格は、高効率ビデオデコード(HEVC)規格とも呼ばれ、ITU−T H.264規格は代替的にMPEG−4 Part 10(advanced video decoding AVC)と呼ばれる。しかしながら、本願の技術は何らかの特定のデコード規格に限定されるものではない。ビデオ圧縮規格の他の実現可能な実施例はMPEG−2およびITU−T H.263を含む。
図1に図示されていないが、一部の態様において、ビデオエンコーダ20およびビデオデコーダ30はそれぞれが音声エンコーダおよび音声デコーダに統合されてよく、適切なマルチプレクサ−デマルチプレクサ(MUX−DEMUX)ユニット、または共通のデータストリームまたは別のデータストリームにおける音声およびビデオの両方のコードを処理する他のハードウェアおよびソフトウェアを含んでよい。適用可能である場合、一部の実現可能な実施例において、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠してよい。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、複数の適切なコーダー回路、例えば1または複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせのうちいずれかで実装されてよい。この技術が部分的にソフトウェアで実装されるとき、装置が、適切な非一時的なコンピュータ可読媒体にソフトウェアのための命令を格納し、1または複数のプロセッサを用いることによりハードウェアの形態で命令を実行して本願の技術を実装してよい。ビデオエンコーダ20およびビデオデコーダ30のいずれかが、1または複数のエンコーダまたはデコーダに含まれてよい。ビデオエンコーダ20およびビデオデコーダ30のいずれが、対応する装置内で、組み合わせられたエンコーダ/デコーダ(CODEC)の一部として統合されてよい。
本願は、例えば、ビデオデコーダ30などの別の装置へ具体的な情報をビデオエンコーダ20により「シグナリング」することに関連してよい。しかしながら、理解されるべきことは、ビデオエンコーダ20は具体的な構文要素をビデオデータのエンコード済部分と関連付けて情報をシグナリングしてよいということである。言い換えれば、ビデオエンコーダ20は、ビデオデータのエンコード済部分のヘッダ情報に具体的な構文要素を格納してデータを「シグナリング」してよい。一部の応用において、構文要素は、ビデオデコーダ30により受信されデコードされる前にエンコードされ格納され(例えばストレージシステム34またはファイルサーバ36に格納され)てよい。故に、「シグナリング」という用語は、例えば、送信がリアルタイムで行われるか、準リアルタイムで行われるか、または期間内で行われるかに関わらず、構文データ、または圧縮済ビデオデータをデコードするために用いられる他のデータの送信を意味してよい。例えば、その送信は、デコードの間に構文要素が媒体に格納されるときに実施されてよく、それから構文要素は、媒体に格納された後いつでもデコード装置により取得されてよい。
JCT−VCがH.265(HEVC)規格を開発した。HEVC規格化は、HEVCテストモデル(HM)と呼ばれるビデオデコード装置の進化型のモデルに基づく。最新のH.265規格文書はhttp://www.itu.int/rec/T−REC−H.265で利用可能である。規格文書の最新版は、H.265(12/16)であり、当該文書は参照によりその全体が組み込まれる。HMは、ビデオデコード装置がITU−TH.264/AVCの既存のアルゴリズムに関していくつかの追加の機能を有すると想定している。例えば、H.264は9つのフレーム内予測コーディングモードを提供し、他方、HMは最大35のフレーム内予測コーディングモードを提供出来る。
JVETはH.266規格の開発に専心している。H.266規格化処理は、H.266テストモデル(JEM)と呼ばれるビデオデコード装置の進化型のモデルに基づく。H.266アルゴリズムの説明はhttp://phenix.int−evry.fr/jvetで利用可能であり、最新のアルゴリズムの説明はJVET−F1001−v2に含まれている。このアルゴリズム説明文書は参照によりその全体が組み込まれる。加えて、JEMテストモデルに関するリファレンスソフトウェアはhttps://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/で利用可能であり、これも参照によりその全体が組み込まれる。
一般的に、HMのオペレーションモデルの説明は、ビデオフレームまたはピクチャを、輝度および色度サンプルの両方を含む一連のツリーブロックまたは最大デコードユニット(LCU)に区分けしてよい。ツリーブロックは、H.264規格におけるマクロブロックと同様の目的を有している。スライスは、いくつかの連続的なツリーブロックをデコード順序で含む。ビデオフレームまたはピクチャは、1または複数のスライスに区分けされてよい。各ツリーブロックが、四分木に従ってデコードユニット(CU)に分割され得る。例えば、四分木の根ノードとしての役割を果たすツリーブロックは、4つの子ノードへ分割されてよく、各子ノードは、親ノードとしての役割を果たし、4つの他の子ノードに分割されてよい。四分木の葉ノードとしての役割を果たす最終的な分割不可能な子ノードは、デコードノード、例えばデコード済ビデオブロックを含む。デコード済ビットストリームと関連付けられている構文データは、ツリーブロックの最大の分割可能回数を定めてよく、またデコードノードの最小サイズを定めてよい。
デコードユニット(CU)は、デコードノード、予測ユニット(PU)、およびデコードノードと関連付けられた変換ユニット(TU)を含む。CUサイズはデコードノードサイズに対応し、正方形である必要がある。CUサイズは、8×8画素から最大64×64画素のサイズの範囲またはより大きいツリーブロックサイズであってよい。各CUは、1または複数のPUおよび1または複数のTUを含んでよい。例えば、CUと関連付けられた構文データは、1つのCUを1または複数のPUに区分することを説明してよい。区分パターンは、CUがスキップまたは直接的モードでエンコードされるとき、フレーム内予測モードでエンコードされるとき、またはフレーム間予測モードでエンコードされるときには異なってよい。PUは、正方形以外の形に区分けされてよい。例えば、CUと関連付けられた構文データは、1つのCUを四分木に従って1または複数のTUに区分けすることを説明してもよい。TUは正方形または正方形以外の形であってよい。
HEVC規格によりTUベースの変換が可能となり、TUは異なるCUに関して異なってよい。TUサイズは通常、区分けされたLCUに関して規定される所与のCU内のPUのサイズに基づき設定される。しかしながら、場合によっては常にこのようでなくてよい。TUサイズは通常、PUサイズと同じか、それより小さい。一部の実現可能な実施例において、「残差四分木」(RQT)と呼ばれる四分木構造が用いられて、CUに対応する残差サンプルをより小さいユニットに分割してよい。RQTの葉ノードはTUと呼ばれてよい。TUと関連付けられている画素差分は、変換されて変換係数を生成してよく、変換係数は定量化されてよい。
概して、PUは予測処理に関連するデータを含む。例えば、PUがフレーム内モードでエンコードされているとき、PUは、PUのフレーム内予測モードを記述するデータを含んでよい。別の実現可能な実施例において、PUがフレーム間モードでエンコードされているとき、PUは、PUの動きベクトルを規定するデータを含んでよい。例えば、PUの動きベクトルを規定するデータは、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素の精度、または1/8画素の精度)、動きベクトルが指す基準ピクチャ、および/または動きベクトルの基準ピクチャリスト(例えば、リスト0、リスト1、またはリストC)を説明してよい。
概して、TUは変換および量子化処理を用いる。1または複数のPUを含む所与のCUは1または複数のTUを含んでもよい。予測の後、ビデオエンコーダ20はPUに対応する残差値を計算してよい。残差値は画素差分を含み、画素差分は変換係数に変換されてよく、変換係数は定量化され、TUスキャンが行われて、エントロピーデコードのための一続きのものとなった変換係数を生成する。本願において、「ビデオブロック」という用語は通常、CUのデコードノードを表すのに用いられる。一部の具体的な応用において、本願は「ビデオブロック」という用語を、デコードノード、PU、およびTUを含むツリーブロック、例えば、LCUまたはCUを表すのに用いてもよい。
ビデオシーケンスは概して、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、例えば、一連のビデオピクチャ、または1または複数のビデオピクチャを含む。GOPは、GOPのヘッダ情報内に、ピクチャのうち1または複数のヘッダ情報に、または別の位置に構文データを含んでよい。構文データは、GOPに含まれるピクチャの数を説明する。ピクチャの各スライスは、対応するピクチャのコーディングモードを記述するスライス構文データを含んでよい。ビデオエンコーダ20は通常、一部のビデオスライス内のビデオブロックに対してオペレーションを実施してビデオデータをエンコードする。ビデオブロックは、CU内のデコードノードに対応してよい。ビデオブロックのサイズは固定されているか、変更可能であってよく、指定されたデコード規格によって異なってよい。
実現可能な実施例において、HMは、様々なPUサイズに関する予測をサポートする。特定のCUのサイズは2N×2Nであり、HMは、2N×2NまたはN×NのPUサイズのフレーム内予測、および2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズのフレーム間予測をサポートすると想定している。HMは、2N×nU、2N×nD、nL×2N、およびnR×2NなどのPUサイズのフレーム間予測の非対称な区分もサポートする。非対称な区分において、CUは1つの方向に区分けされず、他の方向に25%および75%に区分けされる。25%のセグメントに対応するCU部分は、「n」と、それに続く「U(Up)」、「D(Down)」、L(Left)」、または「R(Right)」とを含むインジケータにより示される。故に、例えば、「2N×nU」とは、上部に2N×0.5NPUであり下部に2N×1.5NPUである水平区分の2N×2NCUを指す。
本願において、「N×N」および「N掛けるN」が入れ換え可能に用いられて、垂直次元および水平次元のビデオブロックの画素サイズ、例えば、16×16画素または16掛ける16の画素を示してよい。一般的に、16×16ブロックは垂直方向に16の画素(y=16)を有し、水平方向に16の画素(x=16)を有する。同様に、N×Nブロックは、垂直方向にN個の画素を有し、水平方向にN個の画素を有する。Nは負ではない整数を表す。ブロック内の画素は、行と列とに配置されてよい。加えて、ブロックは必ずしも、水平方向と垂直方向とで同じ数の画素を有さない。例えば、ブロックはN×M画素を含んでよく、Mは必ずしもNに等しくない。
CU内のPUのフレーム内予測またはフレーム間予測デコードの後、ビデオエンコーダ20は、CU内のTUの残差データを計算してよい。PUは、空間領域(画素領域とも呼ばれる)の画素データを含んでよく、TUは、変換(例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または他の概念的に同様の変換)が残差ビデオデータに適用された後の変換領域の係数を含んでよい。残差データは、エンコードされていないピクチャの画素と、PUに対応する予測子との間の画素差分に対応してよい。ビデオデコーダ20は、CUの残差データを含むTUを生成し、それからTUを変換してCU変換係数を生成してよい。
任意の変換を実施して変換係数を生成した後、ビデオエンコーダ20は変換係数を量子化してよい。量子化とは、例えば、係数を量子化して、係数を表すために用いられデータの量を減らし、更なる圧縮を実装する処理を意味する。量子化処理は、係数の一部または全てと関連付けられたビット深度を小さくし得る。例えば、量子化の間、nビットの値が、mビットの値まで減らされてよく、nはmより大きい。
JEMモデルは、ビデオ画像エンコード構造をさらに向上させる。具体的には、「四分木プラス2分木」(QTBT)と呼ばれるブロックエンコード構造が導入される。HEVCにおけるCU、PU、およびTUのような概念を用いることなく、QTBT構造は、よりフレキシブルなCU区分形状をサポートする。1つのCUは正方形または長方形であってよい。コーディングツリーユニット(CTU)は、まず四分木区分が行われ、さらに四分木の葉ノードに対して2分木区分が実施される。加えて、2つの2分木区分モードがある:対称水平区分、および対称垂直区分である。2分木の葉ノードはCUと呼ばれる。JEMのCUはさらに、予測および変換の間に区分けされ得ない。言い換えれば、JEMのCU、PU、およびTUは、同じブロックサイズを有する。現在のJEMにおいて、CTUの最大サイズは、256×256輝度画素である。
一部の実現可能な実施例において、ビデオエンコーダ20は、予め定められているスキャン順序で量子化済変換係数をスキャンして、エントロピーエンコードされ得る一続きのベクトルを生成してよい。一部の他の実現可能な実施例において、ビデオエンコーダ20は適応型のスキャンを実施してよい。量子化済変換係数をスキャンして1次元のベクトルを形成した後、ビデオエンコーダ20は、コンテキスト適応型可変長デコード(CAVLC)、コンテキスト適応型バイナリ算術デコード(CABAC)、構文ベースのコンテキスト適応型バイナリ算術デコード(SBAC)、確率間隔区分エントロピー(PIPE)デコード、または別のエントロピーデコード方法によりその1次元のベクトルをエントロピーデコードしてよい。ビデオエンコーダ20はさらに、ビデオデコーダ30がビデオデータをデコードするためにエンコード済ビデオデータと関連付けられている構文要素をエントロピーデコードしてよい。
CABACを実施すべく、ビデオエンコーダ20はコンテキストモデルのコンテキストを送信対象シンボルに割り当ててよい。そのコンテキストは、シンボルの隣接する値がゼロ以外であるかに関連してよい。CAVLCを実施すべく、ビデオエンコーダ20は、送信対象シンボルの可変長コードを選択してよい。可変長コード(VLC)内の符号語は、より短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するよう構築されてよい。このやり方で、VLCを用いることにより、各送信対象シンボルに関して等しい長さの符号語を用いることと比較して、ビットレートを減らすことが出来る。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づき決定され得る。
一部の実現可能な実施例において、ビデオエンコーダ20および/またはビデオデコーダ30は、フレーム内予測デコードの間、いわゆる「最も確率の高い」フレーム内予測モードを特定してよい。言い換えれば、例えば、ビデオエンコーダ20および/またはビデオデコーダ30は、現在デコードされているブロックに隣接する以前にデコード済みのブロック(「基準ブロック」と呼ばれる)のフレーム内予測モードを特定し、これらフレーム内予測モードを現在デコードされているブロック(「現ブロック」と呼ばれる)のフレーム内予測モードと比較してよい。近隣ブロックと現ブロックとの空間的近接性が故に、これら基準ブロックのフレーム内モードが現ブロックのものと同じである、または同様である確率は比較的高くあり得る。以下により詳細に説明されるように、複数の基準ブロックのフレーム内予測モードが、MPMの特定の間、検討されてよい。
加えて、一部の実現可能な実施例において、ビデオエンコーダ20および/またはビデオデコーダ30は、MPMを特定するためにインデックスをシグナリングしてよい。具体的には、デコード規格に従って規定されるように、各フレーム内モードは、関連付けられたフレーム内モードインデックス(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理において一時的に割り当てられたインデックス)を有してよく、そのフレーム内モードインデックスが、複数の考えられるフレーム内モードのうち1つとしてフレーム内モードを特定するのに用いられる。例えば、HEVC規格は、最大35のフレーム内モードをサポートしてよい。インデックス値(例えば、ルックアップテーブルのインデックス値)が各フレーム内モードに割り当てられ、そのインデックス値が、フレーム内モードを特定するのに用いられてよい。
一部の実現可能な実施例において、ビデオエンコーダ20は、ビデオデータを予測するために用いられる現ブロックのフレーム内モードを決定し、そのビデオデータを予測するために用いられる現ブロックのMPMを決定し、比較順序でフレーム内モードとMPMのうちそれぞれとを比較し、その比較順序に基づきMPMのうちそれぞれのインデックスを決定し、ビットストリーム内のデータを予測するために用いられる現ブロックのフレーム内モードにマッチするMPMのインデックスをシグナリングする。
加えて、実現可能な実施例において、ビデオエンコーダ20は比較順序で、生成されたMPMのリストをシグナリングしてよい。ビデオエンコーダ20は、昇順でそのリスト内のMPMのうちそれぞれにインデックス値を割り当てることを含む、MPMのうちそれぞれのインデックスの決定も行ってよい。別の実現可能な実施例において、ビデオエンコーダ20は、MPMのインデックスをシグナリングする前に、MPMフラグをシグナリングして、MPMのインデックスがシグナリングされることを示してよい。
MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを左側の近隣ビデオブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを上側の近隣ビデオブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを左側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。
別の実現可能な実施例において、ビデオデコーダ30は、ビデオデータの現ブロックのMPMのリストを生成してよい。リスト内のMPMはそれから、比較順序で順序付けされてよい。比較順序は、ビデオデータの現ブロックのエンコードの間、ビデオデータの現ブロックのフレーム内モードを、ビデオデータの1または複数の基準ブロックと関連付けられた1または複数のフレーム内モードと比較する順序を示してよい。ビデオデコーダ30は、MPMのリスト内の現ブロックのフレーム内モードを識別するのに用いられるMPMインデックスを決定してよい。ビデオデコーダ30はそれから、MPMインデックスを用いることにより現ブロックのフレーム内モードを特定し、現ブロックの特定されたフレーム内モードで現ブロックをデコードしてよい。
実現可能な実施例において、2より多くの基準ブロックが、現ブロックの上方に位置する、現ブロックに隣接する1または複数のブロックを含んでよい。それら2より多くの基準ブロックは、現ブロックの左側に位置し、現ブロックに隣接する1または複数のブロックを含んでよい。実現可能な実施例において、リスト内のMPMは比較順序で配置される。比較順序は、ビデオデータの現ブロックのエンコードの間、ビデオデータの現ブロックのフレーム内モードを、ビデオデータの1または複数の基準ブロックと関連付けられた1または複数のフレーム内モードと比較する順序を示す。
別の実現可能な実施例において、MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを左側の近隣ブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。別の実現可能な実施例において、MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを左側の近隣ビデオブロックと関連付けられたフレーム内モードと比較することを含んでよい。
本願の特定の態様は、フレーム内モードデコードがブロックAまたはブロックBに適用可能ではない例においてデフォルトのモードを割り当てることに関する。例えば、ビデオエンコーダ20、またはビデオデコーダ30などのビデオデコーダがビデオデータの現ブロックを特定してよい。デコーダは、ビデオデータの現ブロックのMPMを決定するための基準ブロックとしてあるブロックが用いられ得るか決定してよい。ビデオデコーダは、基準ブロックとして用いられ得ない任意のブロックにデフォルトのフレーム内モードを割り当ててよい。一部の実現可能な実施例において、そのデフォルトのフレーム内モードは、プラナーモード、DCモードなどであってよい。デコーダは、ビデオデータの1または複数のブロックのフレーム内モードに基づき、ビデオデータの現ブロックのフレーム内モードを決定してよい。加えて、デコーダは、決定されたフレーム内モードで現ブロックをデコードしてよい。
図2は、本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコーダ20のブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックに関してフレーム内デコードおよびフレーム間デコードを実施してよい。フレーム内デコードは空間予測を頼りに、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を減らす、または取り除く。フレーム間デコードは時間予測を頼りに、ビデオシーケンスの隣接するフレームまたはピクチャにおけるビデオの時間冗長性を減らす、または取り除く。フレーム内モード(I mode)は、いくつかの空間ベースの圧縮モードのうちいずれか1つであってよい。単方向予測(P mode)または双方向予測(B mode)などのフレーム間モードは、いくつかの時間ベースの圧縮モードのうちいずれか1つであってよい。
図2の実現可能な実施例において、ビデオエンコーダ20は、区分ユニット35、予測ユニット41、基準ピクチャストレージ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピーエンコードユニット56を含む。予測ユニット41は、動き推定ユニット42、動き補償ユニット44、およびフレーム内予測モジュール46を含む。ビデオブロック再構築に関して、ビデオエンコーダ20は、逆量子化ユニット58、逆変換ユニット60、および加算器62をさらに含む。再構築されたビデオからブロックアーチファクトを取り除くようブロックの境界に対してフィルタリングを実施すべくデブロックフィルタ(図2では図示せず)がさらに含まれてよい。必要であれば、デブロックフィルタは通常、加算器62の出力に対してフィルタリングを実施する。デブロックフィルタに加えて、追加のループフィルタ(インループフィルタまたはアウターループフィルタ)も用いられてよい。
図2に示されているように、ビデオエンコーダ20がビデオデータを受信し、区分ユニット35が、データをビデオブロックへと区分する。そのような区分は、スライス、画像ブロック、または他のより大きいユニットへの区分、および(例えば)LCUおよびCUの四分木構造に従ったビデオブロック区分をさらに含んでよい。例えば、ビデオエンコーダ20に関して、エンコード対象ビデオスライス内のビデオブロックをエンコードするための構成要素が説明される。概して、1つのスライスは複数のビデオブロックに区分けされてよい(そして、画像ブロックと呼ばれるビデオブロックのセットに区分けされてよい)。
予測ユニット41は、現ビデオブロックの複数の考えられるデコードモードのうち1つ、例えば、複数のフレーム内デコードモードのうち1つ、または複数のフレーム間デコードモードのうち1つを、コーディング品質およびコスト(例えば、レート歪みコスト、RDコスト)の計算結果に基づき選択してよい。予測ユニット41は、フレーム内デコード済またはフレーム間デコード済ブロックを加算器50へ提供して残差ブロックデータを生成し、フレーム内デコード済またはフレーム間デコード済ブロックを加算器62へ提供してエンコード済ブロックを再構築し、再構築済ブロックを基準ピクチャとして用いてよい。
予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、インター予測デコードを現ビデオブロックに関して、1または複数の基準ピクチャ内の1または複数の予測ブロックに対して実施して時間圧縮を提供する。動き推定ユニット42は、ビデオシーケンスの予め設定されたモードに基づきビデオスライスに関してフレーム間予測モードを決定するよう構成されていてよい。その予め設定モードで、シーケンス内のビデオスライスは、Pスライス、Bスライス、またはGPBスライスとして特定されてよい。動き推定ユニット42および動き補償ユニット44は高度に統合されてよいが、概念を説明する目的から別々に説明される。動き推定ユニット42により実施される動き推定は、ビデオブロックを推定するための動きベクトルを生成する処理である。例えば、動きベクトルは、基準ピクチャ内の予測ブロックに対する現ビデオフレームまたはピクチャ内のビデオブロックのPUのずれを示してよい。
予測ブロックは、デコード対象ビデオブロックとよくマッチすることが画素差分に基づいて判明したPU内のブロックである。その画素差分は、絶対差分和(SAD)、差分二乗和(SSD)、または他の差分測定基準に基づき決定されてよい。一部の実現可能な実施例において、ビデオエンコーダ20は、基準ピクチャストレージ64に格納されている基準ピクチャのサブ整数(sub−integer)画素位置の値を計算してよい。例えば、ビデオエンコーダ20は、基準ピクチャの1/4の画素位置、1/8の画素位置、または他の分数の画素位置の値で補間してよい。故に、動き推定ユニット42は、完全な画素位置および分数の画素位置に関して動きサーチを実施し、分数の画素精度で動きベクトルを出力してよい。
動き推定ユニット42は、PUの位置と、基準ピクチャの予測ブロックの位置とを比較することによりフレーム間デコード済スライス内のビデオブロックのPUの動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)または第2の基準ピクチャリスト(リスト1)から選択されてよい。各リストは、基準ピクチャストレージ64に格納されている1または複数の基準ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルをエントロピーエンコードユニット56および動き補償ユニット44に送信する。
動き補償ユニット44により実装される動き補償は動き推定により決定された動きベクトルに基づき予測ブロックを抽象化または生成することを伴ってよく、分数の画素精度の補間が実施されてよい。現ビデオブロックのPUの動きベクトルを受信した後、動き補償ユニット44は、基準ピクチャリストのうち1つの動きベクトルにより指される予測ブロックの位置を特定してよい。ビデオエンコーダ20は、デコードされている現ビデオブロックの画素値から予測ブロックの画素値を減算して残差ビデオブロックを取得し、画素差分を取得する。画素差分は、ブロックの残差データを成し、輝度差分成分および色度差分成分を含んでよい。加算器50は、減算演算を実施する1または複数の構成要素である。動き補償ユニット44はさらに、ビデオデコーダ30がビデオスライス内のビデオブロックをデコードするためにビデオブロックおよびビデオスライスと関連付けられている構文要素を生成してよい。
予測ユニット41内のフレーム内予測ユニット46は、現デコード対象ブロックと同じピクチャまたはスライス内の1または複数の近隣ブロックに対して、現ビデオブロックに関してイントラ予測デコードを実施して、空間圧縮を提供してよい。故に動き推定ユニット42および動き補償ユニット44により実施される(前に説明されたような)フレーム間予測の代替として、フレーム内予測ユニット46は、現ブロックに関してフレーム内予測を実施してよい。明確に表現すると、フレーム内予測ユニット46は、現ブロックをエンコードするためにフレーム内予測モードを決定してよい。一部の実現可能な実施例において、フレーム内予測ユニット46は、(例えば)様々なフレーム内予測モードを用いて、コーディングの横断の間、現ブロックをエンコードしてよく、フレーム内予測ユニット46(または一部の実現可能な実施例において、モード選択ユニット40)は、テスト済みのモードから、用いる適切なフレーム内予測モードを選択してよい。
例えば、フレーム内予測ユニット46は、様々なテスト済みのフレーム内予測モードに関するレート歪み分析によりレート歪み値を計算し、テスト済みモードのうちレート歪み特性が最も良好なフレーム内予測モードを選択してよい。例において、レート歪み分析は、エンコード済ブロックと、そのエンコード済ブロックを生成すべくエンコードされることになるオリジナルのコーディングされていないブロックとの間の歪み(または誤差)の量、およびエンコード済ブロックを生成のに用いられるコードレート(例えば、ビット数)を決定するのに用いられる。フレーム内予測ユニット46は様々なエンコード済ブロックの歪みおよびビットレートを計算して、どのフレーム内予測モードがブロックの最も良好なレート歪みを有するかを決定してよい。HEVC規格によると、最大で35のフレーム内予測モードがあってよく、各フレーム内予測モードはインデックスと関連付けられてよい。
本願の態様は、例えばフレーム内デコードに関する。故に、本願の特定の技術はフレーム内予測ユニット46により実施されてよい。言い換えれば、例えば、イントラ予測ユニット46は、図4〜図10に関して以下に説明される本願の技術を実施してよい。他の実現可能な実施例において、ビデオエンコーダ20の1または複数の他のユニットは追加的に、または代替的に本願の技術の実行を担ってよい。
例えば、フレーム内予測ユニット46は、(例えば、上述されたようにレート歪み分析に従って)現在エンコードされているブロックのフレーム内モードを決定してよい。フレーム内予測ユニット46は、現在デコードされているブロックに隣接する1または複数の以前にデコード済みのブロックのフレーム内予測モード(MPMと呼ばれる)も決定してよい。イントラ予測ユニット46は、以下により詳細に説明されるように、(例えば)MPMを現ブロックのフレーム内モードと比較して、近隣ブロックの決定されたフレーム内モードに基づき現ブロックの決定されたフレーム内モードを示してよい。
本願によると、フレーム内予測ユニット46は、MPMを現ブロックのフレーム内モードと比較する順序に従ってMPMのリストを生成してよい。フレーム内予測ユニット46はそれから、MPMを現ブロックのフレーム内モードと比較する順序でMPMにインデックス値を割り当ててよい。このように、フレーム内予測ユニット46は、MPMがMPMのフレーム内モードインデックス値(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理で一時的に割り当てられたインデックス)に従ってソートされていないとき具体的なMPMを示してよい。
予測ユニット41がフレーム間予測またはフレーム内予測により現ビデオブロックの予測ブロックを生成した後、ビデオエンコーダ20は、現ビデオブロックから予測ブロックを減算して残差ビデオブロックを取得する。残差ブロック内の残差ビデオデータは、1または複数のTUに含まれてよく、変換処理ユニット52に適用される。変換処理ユニット52は変換、例えば、離散コサイン変換(DCT)または他の概念的に同様の変換(例えば、離散正弦変換DST)を適用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、画素領域からの残差ビデオデータを、変換領域(例えば、周波数領域)に変換してよい。
変換処理ユニット52は、取得された変換係数を量子化ユニット54へ送信してよい。量子化ユニット54は、変換係数を量子化してさらにビットレートを減らす。量子化処理は、係数の一部または全てと関連付けられたビット深度を小さくし得る。量子化の程度は、量子化パラメータを調整することによって変更されてよい。一部の実現可能な実施例において、量子化ユニット54はそれから、量子化済変換係数を含む行列に関してスキャンを実施してよい。代替的に、エントロピーエンコードユニット56がスキャンを実施してよい。
量子化の後、エントロピーエンコードユニット56は量子化済変換係数をエントロピーエンコードしてよい。例えば、エントロピーエンコードユニット56は、コンテキスト適応型可変長デコード(CAVLC)、コンテキスト適応型バイナリ算術デコード(CABAC)、構文ベースのコンテキスト適応型バイナリ算術デコード(SBAC)、確率間隔区分エントロピー(PIPE)デコード、または別のエントロピーエンコード方法または技術を実施してよい。エントロピーエンコードユニット56は、現在デコードされているビデオスライスの動きベクトルおよび別の構文要素をエントロピーエンコードしてもよい。エントロピーエンコードユニット56によりエントロピーエンコードされた後、エンコード済ビットストリームがビデオデコーダ30へ送信されてよく、または続いての送信のために記録されてよく、若しくはビデオデコーダ30により取得されてよい。
エントロピーエンコードユニット56は、選択されたフレーム内予測モードを本願における技術に従って示す情報をエンコードしてよい。複数のフレーム内予測モードインデックステーブルおよび複数の変更されたフレーム内予測モードインデックステーブル(符号語マッピングテーブルとも呼ばれる)を含んでよい送信されるビットストリーム設定データに、ビデオエンコーダ20は、様々なブロックのエンコードコンテキストの定義、およコンテキストのうちそれぞれに関するMPM、フレーム内予測モードインデックステーブル、および変更されたフレーム内予測モードインデックステーブルのインジケーションを含めてよい。
逆量子化ユニット58および逆変換ユニット60はそれぞれ、逆量子化および逆変換を適用して、基準ピクチャの基準ブロックとして続いて用いられることになる画素領域内の残差ブロックを再構築する。動き補償ユニット44は、残差ブロックと、基準ピクチャリストのうち1つの基準ピクチャのうち1つの予測ブロックを合計することにより基準ブロックを計算してよい。動き補償ユニット44は、再構築された残差ブロックへ1または複数の補間フィルタを適用して、動き推定に関するサブ整数画素値を計算してもよい。加算器62は、再構築された残差ブロックと、動き補償ユニット44により生成された動き補償された予測ブロックとを追加して基準ブロックを生成する。基準ブロックは、基準ピクチャストレージ64に格納される。基準ブロックは、続くビデオフレームまたはピクチャ内のブロックに関してフレーム間予測を実施するための基準ブロックとして動き推定ユニット42および動き補償ユニット44により用いられてよい。
図3は、本願の実施形態に記載の技術の実現可能な実施例におけるビデオデコーダ30のブロック図である。図3の実現可能な実施例において、ビデオデコーダ30は、エントロピーデコードユニット80、予測ユニット81、逆量子化ユニット86、逆変換ユニット88、加算器90、および基準ピクチャストレージ92を含む。予測ユニット81は、動き補償ユニット82およびフレーム内予測ユニット84を含む。一部の実現可能な実施例において、ビデオデコーダ30は、図4に説明されているビデオエンコーダ20のエンコード処理と逆のデコード処理を実施してよい。
デコードの間、ビデオデコーダ30はビデオエンコーダ20から、エンコード済ビデオスライスのビデオブロックおよび関連付けられた構文要素を表すエンコード済ビデオビットストリームを受信する。ビデオデコーダ30のエントロピーデコードユニット80は、ビットストリームをエントロピーデコードして、定量化済係数、動きベクトル、および他の構文要素を生成する。エントロピーデコードユニット80は、動きベクトルおよび他の構文要素を予測ユニット81へ送信する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルで構文要素を受信してよい。
ビデオスライスがフレーム内デコード済(I)スライスとしてデコードされるとき、予測ユニット81のフレーム内予測ユニット84は、シグナリングされたフレーム内予測モード、および現フレームまたはピクチャの以前にデコード済みのブロックのデータに基づき、現ビデオスライス内のビデオブロックの予測データを生成してよい。
上述されたように、本願の態様は、例えばフレーム内デコードに関する。故に、本願の特定の技術はフレーム内予測ユニット84により実施されてよい。言い換えれば、例えば、イントラ予測ユニット84は、図4〜図7に関して以下に説明される本願の技術を実施してよい。他の実現可能な実施例において、ビデオデコーダ30の1または複数の他のユニットは追加的に、または代替的に本願の技術の実行を担ってよい。
例えば、フレーム内予測ユニット84は、エントロピーデコードユニット80からビデオデータの現ブロックをデコードするためのMPMのリストのインデックスを取得してよい。フレーム内予測ユニット84は、ビデオエンコーダ20と同じやり方で(例えば、MPMを現ブロックのフレーム内モードと比較する順序で)MPMをリストに含めて、インデックスが属するリストを作成してよい。フレーム内予測ユニット84はそれから、取得されたインデックスに基づきビデオデータをデコードするのに用いられる現ブロックの適切なフレーム内モードを決定してよい。このように、フレーム内予測ユニット84は、MPMがMPMのフレーム内モードインデックス値(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理で一時的に割り当てられたインデックス)に従ってソートされていないとき現ブロックをデコードするのに用いられる適切なMPMを決定してよい。
ビデオピクチャがフレーム間デコード済スライス(例えば、Bスライス、Pスライス、またはGPBスライス)としてデコードされるとき、予測ユニット81の動き補償ユニット82は、エントロピーエンコードユニット80から受信される動きベクトルおよび他の構文要素に基づき現ビデオ画像のビデオブロックの予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうち1つの基準ピクチャのうち1つから生成されてよい。ビデオデコーダ30はデフォルトの構築技術を用いて、基準ピクチャストレージ92に格納されている基準ピクチャに基づき基準ピクチャリスト(リスト0およびリスト1)を構築してよい。
動き補償ユニット82は、動きベクトルおよび他の構文要素を解析することにより現ビデオスライスのビデオブロックの予測情報を決定し、その予測情報を用いて、現在デコードされているビデオブロックの予測ブロックを生成する。例えば、動き補償ユニット82は受信された構文要素の一部を用いて、ビデオスライスのビデオブロックをデコードするための予測モード(例えば、フレーム内予測またはフレーム間予測)、フレーム間予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスに関する基準ピクチャリストのうち1または複数の構築情報、スライスの各インターエンコード済ビデオブロックに関する動きベクトル、スライスの各フレーム間デコード済ビデオブロックに関するフレーム間予測ステータス、および現ビデオスライス内のビデオブロックをデコードするための他の情報を決定する。
動き補償ユニット82はさらに、補間フィルタを用いることにより補間を実施してよい。動き補償ユニット82は、ビデオブロックエンコードの間にビデオエンコーダ20により用いられる補間フィルタを用いて、基準ブロックのサブ整数画素の補間値を計算してよい。この場合、動き補償ユニット82は、受信された構文要素に基づき、ビデオエンコーダ20により用いられた補間フィルタを決定し、その補間フィルタを用いて予測ブロックを生成してよい。
逆量子化ユニット86は、ビットストリーム内で提供され、エントロピーエンコードユニット80によりデコードされる量子化済変換係数に対して逆の量子化(例えば、逆量子化)を実施する。逆の量子化処理は、ビデオスライス内の各ビデオブロックに関してビデオエンコーダ20により計算される量子化パラメータに基づき量子化の度合いを決定することと、適用されることになる逆量子化の度合いを決定することとを含んでよい。逆変換ユニット88は、逆変換(例えば、逆DCT、逆整数変換、または概念的に同様の逆変換処理)を変換係数に適用して、画素領域で残差ブロックを生成する。
動き補償ユニット82が動きベクトルおよび他の構文要素に基づき現ビデオブロックの予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロック、および動き補償ユニット82により生成された対応する予測ブロックを合計して、デコード済ビデオブロックを生成する。加算器90は、合算演算を実施する1または複数の構成要素である。必要であればデブロックフィルタがデコード済ブロックをフィルタリングのに用いられて、ブロックアーチファクトを取り除いてよい。別のループフィルタ(インループデコードフィルタまたはアウターループデコードフィルタ)も画素変換を円滑にするのに用いられてよく、またはビデオ品質は別の方式で向上させられる。それから、所与のフレームまたはピクチャ内のデコード済ビデオブロックは基準ピクチャストレージ92に格納される。基準ピクチャストレージ92は、続いての動き補償に用いられる基準ピクチャを格納する。基準ピクチャストレージ92は、図1の表示装置32などの表示装置で後に提示されることになるデコード済ビデオも格納する。
上述されたように、本願の技術は、例えばフレーム内デコードに関する。理解されるべきことは、本願における技術は、本願に記載の任意のビデオデコーダで実装されてよく、ビデオデコーダは、(例えば)図1〜図3で示され説明されているビデオエンコーダ20およびビデオデコーダ30を含むということである。言い換えれば、実現可能な実施例において、図2に記載のフレーム内予測ユニット46が、ビデオデータのブロックのエンコードの間にフレーム内予測を実施するとき、以下に説明されている特定の技術を実施してよい。別の実現可能な実施例において、図3を参照して説明されているフレーム内予測ユニット84が、ビデオデータのブロックのエンコードの間にフレーム内予測を実施するとき、以下に説明されている特定の技術を実施してよい。故に、一般的な「ビデオデコーダ」の参照は、ビデオエンコーダ20、ビデオデコーダ30、または別のビデオエンコードまたはデコードユニットを含んでよい。
一部の実現可能な実施例において、ビデオデコーダは、フレーム内予測デコードの間、いわゆる「最も確率の高い」フレーム内予測モードを特定してよい。言い換えれば、例えば、ビデオエンコーダ(例えば、ビデオエンコーダ20)は、以前にエンコードされたブロック(例えば、基準ブロック)のフレーム内予測モードを特定し、そのフレーム内予測モードを現ブロックのフレーム内予測モードと比較してよい。基準ブロックと現ブロックとの空間的近接性が故に、これら基準ブロックのフレーム内モードが現ブロックのものと同じである、または同様である確率は比較的高くあり得る。以下により詳細に説明されるように、複数の基準ブロックのフレーム内予測モードが、MPMの特定の間、検討されてよい。
現ブロックのフレーム内予測モードがMPMと同じである場合、ビデオエンコーダ20は、1ビットのMPMフラグを信号として用いてフレーム内予測モードを送信してよい。言い換えれば、ビデオエンコーダ20は、現ブロックのフレーム内予測モードがMPMと同じであることをシグナリングしてよく、現ブロックのフレーム内予測モードを明示的に特定する必要はない。ビデオデコーダ30は、現ブロックのフレーム内モードがMPMと同じであることを示すフラグを受信し、ビデオエンコーダ20と同じ処理手順を用いてMPMを決定してよい。
図4は、現ブロック(例えば、デコードユニット)(「現CU」)、およびフレーム内デコードの間に検討されてよい2つの基準ブロック(例えば、「A」および「B」)の実現可能な実施例を示す。例えば、ビデオエンコーダ(例えば、ビデオエンコーダ20)は、(現ブロックの左側に位置する)基準ブロックAおよび(現ブロックの上側に位置する)基準ブロックBと関連付けられたフレーム内モードを現ブロックのMPMとして検討してよい。一部の実現可能な実施例において、どのMPM候補(例えば、ブロックまたはブロック)もフレーム内モードを用いない、または別の方式で利用可能ではない(例えば、ブロックがデコードされていない)場合、ビデオエンコーダ20はそれから、デフォルトのフレーム内モード、例えばDCモードを、ブロックに割り当ててよい。同様に、一部の実現可能な実施例において、MPMの数は2より大きくてよい。例えば、ビデオエンコーダ20は、2より多くの基準ブロックのフレーム内モードに基づき追加のMPMを生成してよい。
(例えば、フレーム内予測ユニット46により計算される)現ブロックの実際のフレーム内モードが基準ブロックAまたは基準ブロックBのものと同じである場合、ビデオエンコーダ20は、1ビットのフラグをシグナリングして、MPMが現ブロックをエンコードするのに用いられることを示してよい(例えば、MPMフラグを「1」に設定)。
加えて、一部の実現可能な実施例において、ビデオエンコーダ20は、MPMを特定するためにインデックスをシグナリングしてよい。具体的には、デコード規格に従って規定されるように、各フレーム内モードは、関連付けられたフレーム内モードインデックス(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理において一時的に割り当てられたインデックス)を有してよく、そのフレーム内モードインデックスが、複数の考えられるフレーム内モードのうち1つとしてフレーム内モードを特定するのに用いられる。例えば、HEVC規格でサポートされている35のフレーム内モード、および各フレーム内モードに割り当てられるインデックス値が、次の表1に示されている。
表1:フレーム内予測モードおよびインデックス番号
表1の実現可能な実施例において、プラナーモードは、オリジナルのインデックス値0を有し、DCモードは、オリジナルのインデックス値1を有し、様々な指向性予測モードは、オリジナルのインデックス値2〜34を有する。オリジナルのインデックス値とは、規格によって各モードに事前割り当てされているインデックス、および非エンコード、デコード処理において一時的に割り当てられるインデックスを指す。
実現可能な実施例において、ビデオエンコーダ20は、ビデオデータの現ブロックと関連付けられたフレーム内モードを1または複数の基準ブロックと関連付けられたフレーム内モード、例えば、1または複数の近隣ブロック(例えば、現ブロックと空間的に隣接するブロック)のフレーム内モードと比較して、現ブロックの実際のフレーム内モードにマッチするMPMのうち1つを決定してよい。ビデオエンコーダ20は、現ブロックのフレーム内モードを2つの近隣ブロックと比較してよいが、より多くの、またはより少ない基準ブロック(例えば、1つの基準ブロック、3つの基準ブロック、5つの基準ブロックなど)のフレーム内モードを検討してよい。加えて、MPMは、近隣フレーム内モードに基づき生成されてよい。
実現可能な実施例において、ビデオエンコーダ20は、MPMを現フレーム内モードと比較する順序で、インデックス値をMPMへ割り当ててよい。MPMが2つである実現可能な実施例において、ビデオエンコーダ20はまず、現ブロックのフレーム内モードを左側の近隣ブロックのフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックのフレーム内モードと比較してよい(例えば、図4に示されている配置を参照)。この場合、ビデオエンコーダ20は、インデックス値「0」を左側の近隣ブロックのフレーム内モードに割り当て、インデックス値「1」を上側の近隣ブロックのフレーム内モードに割り当ててよい。実現可能な実施例において、MPMが2より多くあるとき、追加のインデックス値が別のMPMに割り当てられてよい。現ブロックのフレーム内モードがMPMのうち1つとマッチしない場合、ビデオエンコーダ20は、MPMのフラグをゼロに設定してよい。加えて、ビデオエンコーダ20は固定長テーブルまたは別の方法を用いて、残りのフレーム内モードをデコードしてよい。
実現可能な実施例において、ビデオデータのブロックのフレーム内デコードに関して35のフレーム内モードが用いられてよいと想定している。それら35のフレーム内モードが、モード番号を用いることにより特定されてよく、それらモード番号は、利用可能なフレーム内モードを特定するために表に含まれてよいとさらに想定している。現モードがMPMではない実現可能な実施例において、MPMは15、2、および31であり、現モードが16であると想定してよい。ビデオデコーダ30またはビデオエンコーダ20は最初に、昇順でMPMをソートしてよい。故に、MPM15、2および31のリストは、ソート後に、2、15、および31のリストに変わる。次に、ビデオエンコーダ/デコーダは、現モードがMPMではないことが分かっているので残りのフレーム内モードからMPMを除外してよい。残りの32のモードがそれから、32の5ビットの符号語に再マッピングされてよい。実現可能な実施例において、モード2、15および31を除外した残りの32のモードの表が用いられてよい。別の実現可能な実施例において、表は用いられなくてよい。
マッピングに関して、例えば、現モード(例えば、モード16)が、ソートされたMPMのうち最初のもの(モード2)より大きい、またはそれと等しいので、ビデオデコーダは現モードから1を減算してよい(16−1=15)。第1の減算の後に取得される値(15)もソートされたMPMのうち2番目のもの(15)より大きい、またはそれと等しく、故に、ビデオデコーダはまた1を減算する(15−1=14)。第2の減算の後に取得される値(14)は31より小さいので、ビデオデコーダは次の減算を実施しない。故に現モードは、現モード16に関して2つの減算(16−2=14)を実施することによる計算により取得される新たな表で14番目の入力項目にマッピングされる。別の実現可能な実施例において、モードは異なるやり方でマッピングされてよい。
現モードがMPMではない別の実現可能な実施例において、MPMは5、4、および6であり、現モードが15であると想定してよい。ビデオデコーダは昇順でMPMをソートしてよい。故に、5、4、および6は4、5、および6に変わる。ビデオデコーダはそれから、モード4、5および6を除く残りの32のモードのリストまたは表を生成してよい。上述されているように、理解されるべきことは、表は全ての実現可能な実施例においては用いられないということである。
図5は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード方法のフローチャートである。
例えば、65の指向性予測モードと2つの無指向性予測モード、プラナー(planar)モードおよび直流(DC)モードを含む67の候補フレーム内予測モードがあると想定してよい。プラナーモードおよびDCモードは、H.265における対応する予測モードと同じである。65の指向性予測モードにより表される予測方向および分布が図6に示されている。分かるのは、指向性予測モードは、2次元平面上の180度の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含むということである。加えて、例えば、先述の67の候補フレーム内予測モードが、MPMセット、Selected modesのセット、Non−selected modesのセット(残りのモードとも呼ばれてよい)に分割されて、エンコードのためにフレーム内予測モードを最終的に選択する効率を向上させてよいと想定してよい。さらに、MPMセットが6の候補フレーム内予測モードを含み、Selected modesのセットが16の候補フレーム内予測モードを含み、残りの45の候補フレーム内予測モードが残りのモードである、またはNon−selected modesのセットに属すると想定してよい。理解されるべきことは指向性予測モードの数、無指向性予測モードの数、MPMセット内の予測モードの数、Selected modesのセット内の予測モードの数、およびNon−selected modesのセット内の予測モードの数は限定されるものではないということである。
理解されるべきことは、MPMセット内の候補フレーム内予測モードのセットは、67の候補フレーム内予測モードのサブセットであるということである。
理解されるべきことは、MPMセット内の候補フレーム内予測モードは互いに異なり、Selected modesのセット内の候補フレーム内予測モードが互いに異なるということである。
具体的には、本願の本実施形態の方法は以下のステップを含む。
S5001:ビットストリームを解析して第1の識別子を取得。第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられる。
第1のモードセットはMPMセットであり、対応して第1の識別子は、エンコーダ側により最終的に選択される現デコード対象ユニットのフレーム内予測モードがMPMセットからのものであるかを識別するフラグであると想定されてよい。例えば、第1の識別子が「1」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがMPMセットからのものであることを示しており;または第1の識別子が「0」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがMPMセットに属さないことを示す。
理解されるべきことは、MPMセット内の候補フレーム内予測モードのタイプ、セットリストのうち候補フレーム内予測モードの配置順を含む複数の方式でMPMセットが構築されてよいということである。
第1の実現可能な実施例において、MPMセット内の候補フレーム内予測モードは次のものを含む:(1)現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードであって、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じデコードユニットセットに属し、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含み、同じデコードユニットセットに属するとは同じピクチャ、同じスライス(slice)、同じタイル(tile)などに属すること、つまり、予め設定された位置の近隣の再構築ユニットが存在することを意味し、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上の、現デコード対象ユニットの左上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含んでよい、フレーム内予測モード;(2)予め設定された無指向性予測モードおよび予め設定された指向性予測モードを含む予め設定されたフレーム内予測モード;および(3)(1)に基づき取得される、指向性予測モードおよび隣接する予測方向の予測モード。
より具体的には、(1)の候補フレーム内予測モードは、図7に示されている現デコード対象ユニットの左側(L)の位置、上側(A)の位置、左上(BL)の位置、右上(AR)の位置、および左上(AL)の位置のフレーム内予測モードを含んでよい。(2)の候補フレーム内予測モードは、無指向性予測モード(DCモードおよび/またはプラナーモード)、予め設定された指向性予測モード、例えば、垂直方向モード、水平方向モード、インデックス番号が2の方向モード、および斜め45度方向モードを含む。このことは限定されるものではない。(3)の候補フレーム内予測モードは、MPMセット内の(1)の候補フレーム内予測モードのインデックス番号と1だけ異なるインデックス番号により示される候補フレーム内予測モードを含み、例えば、MPMセット内の(1)の候補フレーム内予測モードのインデックス番号と2、3、または別の整数値だけ異なるインデックス番号により示される候補フレーム内予測モードをさらに含んでよい。このことは限定されるものではない。
理解されるべきことは、MPMセットのリストへ繰り返し同じ候補フレーム内予測モードを追加することを避けるよう、およびMPMセットのリスト内の各インデックス値が確実に1つのフレーム内予測モードのみを表すよう、MPMセットのリストへ異なる候補フレーム内予測モードを追加する処理において、「剪定」(pruning)を同時に実施する必要があるということである。
理解されるべきことはMPMセットのキャパシティは予め設定されており、つまり、MPMセットは予め設定された数の候補フレーム内予測モードを含むということである。MPMセットのリストを構築する処理において、MPMセットのキャパシティに達するまで候補フレーム内予測モードが予め設定された順序で順にMPMセットに追加される。
概して、予め設定された順序は、(1)の候補フレーム内予測モード、予め設定された無指向性候補フレーム内予測モード、(3)の候補フレーム内予測モード、および予め設定された指向性候補フレーム内予測モードを含む。理解されるべきことは、予め設定された順序は、傾向のみを反映しており、具体的な実装順序は逆であっても、交差させてもよいということである。このことは限定されるものではない。結論として、第1の実現可能な実施例に対応する具体的な実施形態において、候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じであるかが次の順序でチェックされてよい:現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index A);現デコード対象ユニットの真上の、現デコード対象ユニットの左上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index B);プラナーモード;DCモード;現デコード対象ユニットの左下の利用可能な再構築ユニットのフレーム内予測モード(C);現デコード対象ユニットの右上の利用可能な再構築ユニットのフレーム内予測モード(D);現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モード(E);インデックス(A+1/−1)に対応するフレーム内予測モード;インデックス(B+1/−1)に対応するフレーム内予測モード;インデックス(C+1/−1)に対応するフレーム内予測モード;インデックス(D+1/−1)に対応するフレーム内予測モード;インデックス(E+1/−1)に対応するフレーム内予測モード;垂直方向予測モード;水平方向予測モード;インデックス2に対応するフレーム内予測モード;斜め45度予測モード。候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じでなく、MPMリストが完全に埋まってないとき、候補フレーム内予測モードはMPMリストに追加される。先述の処理は、コードを用いることにより次のように表されてもよい(uiIntraDirPred[]はMPMセットのリストであり、modeIdxはリスト内の各フレーム内予測モードのインデックス値である:
第2の実現可能な実施例において、MPMセットのリストを構築する方式は第1の実現可能な実施例のものと同じである。異なるのは、第2の実現可能な実施例に対応する対応する具体的な実施形態においては、候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じであるかが次の順序でチェックされる点である:現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index A);現デコード対象ユニットの真上の、現デコード対象ユニットの左上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index B);プラナーモード;現デコード対象ユニットの左下の利用可能な再構築ユニットのフレーム内予測モード(C);現デコード対象ユニットの右上の利用可能な再構築ユニットのフレーム内予測モード(D);現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モード(E);DCモード;インデックス(A+1/−1)に対応するフレーム内予測モード;インデックス(B+1/−1)に対応するフレーム内予測モード;インデックス(C+1/−1)に対応するフレーム内予測モード;インデックス(D+1/−1)に対応するフレーム内予測モード;インデックス(E+1/−1)に対応するフレーム内予測モード;垂直方向予測モード;水平方向予測モード;インデックス2に対応するフレーム内予測モード;斜め45度予測モード。候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じでなく、MPMリストが完全に埋まってないとき、候補フレーム内予測モードはMPMリストに追加される。言い換えれば、第1の実現可能な実施例に対応する具体的な実施形態に基づいて、DCモードが、現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モードの後に置かれる。
第3の実現可能な実施例において、MPMセット内の候補フレーム内予測モードは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード内で使用頻度が降順で上位N位内のランクのフレーム内予測モードを含む。Nは予め設定されたゼロ以外の正の数である。
対応してステップS5001の前に、方法は以下のステップをさらに含む。
ステップS5002:現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集。実現可能な実施例において、図8に示されているように、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。別の実現可能な実施例において、図9に示されているように、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。具体的には、このステップは:現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得すること、取得された同じフレーム内予測モードを累算すること、および複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得することを含んでよい。
理解されるべきことは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードのタイプの数がMPMセットのキャパシティ未満であるとき、MPMセット内の候補フレーム内予測モードの数が予め設定された値に達するまで、第1の実現可能な実施例と同様の方式で、MPMセットに存在する候補フレーム内予測モードに隣接する予測方向のフレーム内予測モード、または予め設定されたフレーム内予測モードがMPMセットのリストに追加されてよいということである。
理解されるべきことは、第1のモードセットを解析すること、および構築することにより第1の識別子を取得することは、時間に関して互いに独立した処理であるということである。第1の識別子は、第1のモードセットが構築される前に解析により取得されてよく;第1の識別子は、第1のモードセットが構築された後に解析により取得されてよく;またはそれら2つの処理は並列で実施されてよい。このことは限定されるものではない。
S5003:第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得。第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第2の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。
実現可能な実施例において、単進符号(Unary code)が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
第1の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表2:第2の識別子の符号語割り振り方式
第2の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表3:第2の識別子の符号語割り振り方式
表4:第2の識別子の別の符号語割り振り方式
表5:第2の識別子のさらに別の符号語割り振り方式
理解出来るのは、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つ(DCモード)を示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード(インデックスA〜Eにより表されるフレーム内予測モード)を示す任意の第2の識別子の符号語長さ以上であるということである。
第3の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表6:第2の識別子の符号語割り振り方式
表7:第2の識別子のさらに別の符号語割り振り方式
理解出来るのは、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に出現するとき、第2の識別子の符号語長さはより短いということである。
理解されるべきことは、使用確率が異なる、同じセット内の異なる要素のエンコードに単進符号が適用可能であるということである。使用確率がより高い要素にはより短い符号語が割り当てられ、使用確率がより低い要素にはより長い符号語が割り当てられる。基本的な技術的目的である同じセット内の異なる要素を区別するということに関しては、上記のことにより、エンコードインデックスのビットレートが減り、さらにエンコードおよびデコード効率が向上する。
S5004:第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得。第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられる。
第2のモードセットはselected modesのセットであり、対応して第3の識別子は、エンコーダ側により最終的に選択される現デコード対象ユニットのフレーム内予測モードがselected modesのセットからのものであるかを識別するフラグであると想定されてよい。例えば、第3の識別子が「1」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがselected modesのセットからのものであることを示しており;または第3の識別子が「0」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがselected modesのセットに属さないことを示す。
理解されるべきことは、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間には重複がないということである。
第4の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含む。具体的には、例えば、selected modesのセット内の候補フレーム内予測モードは、MPMセットに含まれない、インデックス番号が{0,4,8,12,...,60}のフレーム内予測モードを含んでよい。
第5の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。具体的には、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。例えば、selected modesのセット内の候補フレーム内予測モードは、MPMセット内の指向性予測モード(例えば、MPM予測モードのインデックスに2を加えた、および/または2を減じたものに対応するフレーム内予測モード)の隣接する予測方向を表す予測モードに基づき構築されてよい。これら候補フレーム内予測モードは、同時にはMPMセット内で存在出来ない。さらに、構築された候補フレーム内予測モードがselected modesのセットの予め設定されたキャパシティより小さい場合、方向間隔が増やされてよい。例えば、MPM予測モードのインデックスに3を加えた、および/または3を減じたものに対応するフレーム内予測モードがselected modesのセットに追加されてよい。方向間隔はさらに、selected modesのセット内の候補フレーム内予測モードの数が予め設定された値に達するまで連続的に大きくされてよい。
理解されるべきことは、現デコード対象ユニットの周辺ブロックが、現デコード対象ユニットと同じテクスチャエリアに位置する確率は比較的高く、つまり、空間相関によれば、周辺ブロックと現デコード対象ユニットとは同じ、または同様のフレーム内予測モードを有するということである。周辺ブロックのエンコードの事前情報がより完全に利用され、エンコード効率が向上するよう、周辺ブロックのフレーム内予測モードの影響がselected modesのセットの構築の間に検討される。
第6の実現可能な実施例において、MPMセットが無指向性予測モードを含まないとき、selected modesのセットは無指向性予測モードをさらに含んでよい。具体的には、MPMセットがプラナーモードを含まないとき、selected modesのセットはプラナーモードをさらに含んでよい。MPMセットがDCモードを含まないとき、selected modesのセットはDCモードをさらに含んでよい。
第7の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード内で使用頻度が降順で上位N位内のランクのフレーム内予測モードを含む。Nは予め設定されたゼロ以外の正の数であり、N個のフレーム内予測モードはMPMセットに含まれない。実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードの数が予め設定した数に達するまで、先述のフレーム内予測モードが、使用頻度の降順でselected modesのセットに追加される。実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードのうち使用頻度が降順で上位N位内のランクのフレーム内予測モードが既に、MPMセット内のフレーム内予測モードとして用いられているとき、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードがselected modesのセット内の候補フレーム内予測モードとして用いられ、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい。具体的な実装に関しては、第3の実現可能な実施例を参照されたい。詳細は改めて説明されない。
理解されるべきことは、この実現可能な実施例において、周辺ブロックのエンコードの事前情報がより完全に利用され、エンコード効率が向上するよう、周辺ブロックのフレーム内予測モードの影響が同じくより完全に検討されるということである。
理解されるべきことは、第4〜第7の実現可能な実施例は、例として、selected modesのセットを構築するいくつかの独立した実施例を提供するということである。いずれの実現可能な実施例によっても、selected modesのセット内の候補フレーム内予測モードが予め設定した数に達することが出来ないとき、selected modesのセットは、別の実現可能な実施例の実施例の方法と組み合わせて構築されてよい。構築は、独立した実施例に限定されず、異なる実施例を組み合わせる方式は限定されない。
理解されるべきことは、第2のモードセットを解析すること、および構築することにより第3の識別子を取得することは、時間に関して互いに独立した処理であるということである。第3の識別子は、第2のモードセットが構築される前に解析により取得されてよく;第3の識別子は、第2のモードセットが構築された後に解析により取得されてよく;またはそれら2つの処理は並列で実施されてよい。このことは限定されるものではない。
S5005:第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得。第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第4の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。
実現可能な実施例において、固定長コード(fixed−length code)が第4の識別子に用いられる。具体的には、selected modesのセット内の候補フレーム内事前設定モードの数が16であるとき、selected modesのセット内の各候補フレーム内予測モードは、4ビットの固定長の符号語を用いることによりエンコード/デコードされる。
表8:第4の識別子の符号語割り振り方式
S5006:第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得。第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第5の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードは、一部の実施形態においてnon−selected modesのセット内の候補フレーム内予測モードと呼ばれ、一部の他の実施形態において残りの候補フレーム内予測モード(remaining modes)と呼ばれる。このことは限定されるものではない。
実現可能な実施例において、短縮されたバイナリコード(truncated binary code)が第5の識別子に用いられる。
表9:第5の識別子の符号語割り振り方式(5つのフレーム内予測モードが例として用いられている)
理解されるべきことは、第1〜第3の実現可能な実施例ではMPMセットを構築する方式が説明され、第4〜第7の実現可能な実施例では、selected modesのセットを構築する方式が説明されているということである。異なる具体的な実施形態において、MPMセットを構築する方式と、selected modesのセットを構築する方式との異なる組み合わせがあってよい。具体的な組み合わせ方式は限定されるものではない。
具体的な実施例の解決手段において、67の予め設定された候補フレーム内予測モードセットが、MPMセットに属する6の候補フレーム内予測モードと、Selectedのセットに属する16の候補フレーム内予測モードと、Non−selectedのセットに属する残りの候補フレーム内予測モードとに分割される。以下のステップが存在する。
S6001:MPM_flagをデコード。MPM_flagが1である場合、このことは予測モードがMPMモードであることを示す。デコードにより取得されたMPMインデックスとMPM予測モードリストとに基づきフレーム内予測モードを導出。単進符号デコード方式がMPMインデックスに用いられ、MPM予測モードリストを構築する処理は次の通りである(図7のブロックの位置関係を参照)。
1.Lブロックが存在し、フレーム内予測モードを有する場合、Lブロックの予測モードをMPMリストに追加。
2.Aブロックが存在し、フレーム内予測モードを有する場合、およびAブロックの予測モードがMPMリストに追加されていない場合、Aブロックの予測モードをMPMリストに追加。
3.PlanarモードがMPMリストに追加されていない場合、PlanarモードをMPMリストに追加。
4.BLブロックが存在し、フレーム内予測モードを有する場合、およびBLブロックの予測モードがMPMリストに追加されていない場合、BLブロックの予測モードをMPMリストに追加。
5.ARブロックが存在し、フレーム内予測モードを有する場合、およびARブロックの予測モードがMPMリストに追加されていない場合、ARブロックの予測モードをMPMリストに追加。
6.ALブロックが存在し、フレーム内予測モードを有する場合、およびALブロックの予測モードがMPMリストに追加されていない場合、ALブロックの予測モードをMPMリストに追加。
7.MPMリスト内の予測モードの数が6未満であり、DCモードがリストに追加されていない場合、DC予測モードをMPMリストに追加。
8.MPMリスト内の予測モードの数が6未満である場合、既存のMPMリスト内の追加されているモードの順で、MPMリスト内の角予測モードのうち隣接する角予測モード(PlanarモードおよびDCモード以外のangle_modeモード)、つまり、angle_mode−1およびangle_mode+1を順に追加。図6に示されているように、角度モードが2である場合、angle_mode−1はモード66の追加に対応する。角度モードが66である場合、angle_mode+1はモード2の追加に対応する。MPMリスト内のモードの数が6に達した場合、処理はストップする。
9.MPMリスト内の予測モードの数が6未満である場合、追加されていないデフォルトモードリスト内のモード、つまり、{Planar,DC,Ver(垂直モード),Hor(水平モード),2,DIA(対角モード34、つまり斜め45度方式)}で順に追加。
S6002:MPM_flagが0である場合、selected_flagをデコード。selected_flagが1である場合、このことは、デコードに関して現在選択されている予測モードがSelectedモードであることを示している。Selectedモードインデックスをデコードし、それから、Selectedモードの構築されたリストに基づき予測モードを導出。4ビットの固定長のコードのデコード方式がSelectedモードインデックスに用いられ、Selectedモードを構築する処理は次の通りである。
MPMモード以外の残りの予測モードのうち16の予測モードがSelectedモードとして選択される。角度モードの隣接する角予測モードがMPMリスト内の角予測モードの順で順に追加される。角度間隔は2の倍数である。例えば、最初に追加される角度間隔は2であり、つまり、angle_mode−2およびangle_mode+2である。MPMリスト内の全ての角度モードを横断後、Selectedモードの数が依然として16未満である場合、角度間隔が4の隣接する角度モードが続けて追加される。同様にして、角度間隔は16のモードが選択されるまで徐々に大きくされる。追加処理において、追加される角度モードは追加されておらず、MPMモードではないということを確実にする必要がある。追加処理において、mod=65に基づく角度モードの隣接する角は回転し、つまり、モード2とモード66とは隣接する角度モードである。理解されるべきことは、角度間隔は代替的に、1の倍数、3の倍数などであってよいということである。このことは、プロトコル内で事前にエンコーダ側で角度間隔についての同意があれば限定されるものではない。
この処理は、以下のように疑似コードにより表されてよい。
表10:Selectedモードを構築する処理
S6003:selected_flagが0である場合、このことは、デコードに関して現在選択された予測モードがNon−selectedのセット内のモードであることを示し、モードインデックスをデコードし、予測モードを導出。Non−selectedモードのインデックスは短縮されたバイナリコード(truncated binary code)として表現されてよい。
この解決法は、開発されているH.266規格のテストモデルHM16.6−JEM−6.0で実装され、基準としてオリジナルのHM16.6−JEM−6.0を用い、JVET規格組織が推奨する一般的なテスト条件の下でのテストを実施する。この解決法によると、約0.15%の輝度性能向上が平均で得られてよい。具体的な性能向上は次の表に示されている。
表11:技術的性能分析
別の具体的な実施例の解決手段において、67の予め設定された候補フレーム内予測モードセットが、MPMセットに属する6の候補フレーム内予測モードと、Selectedのセットに属する16の候補フレーム内予測モードと、Non−selectedのセットに属する残りの候補フレーム内予測モードとに分割される。以下のステップが存在する。
S7001:統計ユニットとしてコーディングユニット:最低輝度成分の4×4画素ブロックを用いることにより、現デコードブロックの隣接するデコード済ブロックにより用いられるフレーム内予測モードについての統計を収集。
S7002:MPM_flagをデコード。MPM_flagが1である場合、このことは、予測モードがMPMモードであることを示している。MPMインデックスをデコードし、使用確率に基づきMPMリストの最も前方の位置に、最も頻繁に選択されるフレーム内予測モードを配置。あるモードがより前方位置に配置されるとき、そのモードに対応するMPMインデックスをデコードするのに用いられるビット数はより少ない。
S7003:MPM_flagが0である場合、selected_flagをデコード。selected_flagが1である場合、このことは、デコードに関して現在選択されている予測モードがSelectedモードであることを示す。Selectedモードインデックスをデコードし、Selectedモードのリストに、MPMリストに追加されていない隣接ブロックの予測モードを追加。リストが埋まっていない場合、MPMモードの隣接する角度モード、および隣接ブロック予測モードを選択されたモードとして追加し、16のSelectedモードが埋まるまで隣接角度間隔を徐々に大きくする。隣接角度間隔は、Selectedモードのリストが完全に埋まるまで1、2、3、4などの順序で順に大きくされてよい。4ビットの固定長のコードのデコード方式がSelectedモードインデックスに用いられる。
S7004:selected_flagが0である場合、このことは、デコードに関して現在選択された予測モードがNon−selectedのセット内のモードであることを示し、モードインデックスをデコードし、予測モードを導出。Non−Selectedモードのインデックスは短縮されたバイナリコードとして表現されてよい。
図5に関連する先述の実現可能な実施例および具体的な実施形態は、本願に係るフレーム内予測によりビデオデータをデコードするための1または複数の方法は説明している。理解されるべきことは、先述の説明によれば概して、エンコーダ側がレート歪みなどの基準に従って、複数の候補フレーム内予測モードからエンコードコストが最も低い候補フレーム内予測モードを、(現デコード対象ユニットに対応する)現エンコード対象ユニットにより最終的に選択され、ビットストリームにエンコードされるフレーム内予測モードとして選択する、ということである。最終的に選択されるフレーム内予測モードが選択された後、フレーム内予測モードのインジケーション(例えば、先述の説明における第1の識別子、第2の識別子、第3の識別子、第4の識別子、第5の識別子)が、(デコード処理における第1の識別子、第2の識別子、第3の識別子、第4の識別子、および第5の識別子を解析することに対応する)先述のデコード方法と全く逆のエンコード処理に従ってビットストリームにエンコードされる。理解されるべきことは、第1のモードセットおよび第2のモードセットの構築が、エンコーダ側とデコーダ側とで完全に整合がとれているということである。エンコーダ側についての具体的な実施形態は説明されていない。しかしながら、理解されるべきことは、本発明に記載のフレーム内予測方法はエンコード方法にも適用可能であるということである。
図10は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置80は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット81であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニット81を含み、解析ユニット81はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
実現可能な実施例において、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含み、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
実現可能な実施例において、無指向性予測モードは、直流モードとプラナーモードとを含む。
実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じデコードユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
実現可能な実施例において、デコードユニットセットは、ピクチャ、スライス、またはタイルを含む。
実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの左上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
実現可能な実施例において、デコード装置80は、構築ユニット82をさらに含み、構築ユニット82は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの左上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築するよう構成されており、第1のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、構築ユニット82はさらに、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加するよう構成されている。
実現可能な実施例において、単進符号が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
実現可能な実施例において、構築ユニット82はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット82はさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
実現可能な実施例において、構築ユニット82はさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
図11は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置90は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット91であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニット91を含み、解析ユニット91はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、解析ユニット91はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、解析ユニット91はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、解析ユニット91はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、解析ユニット91は構築ユニット92をさらに含み、構築ユニット92はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット92はさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
実現可能な実施例において、構築ユニット92はさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
図12は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置100は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成された統計収集ユニット101と、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット102であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、解析ユニット102とを含み、解析ユニット102はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
実現可能な実施例において、解析ユニット102はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、解析ユニット102はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、解析ユニット102はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、統計収集ユニット101は具体的には、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得し、取得された同じフレーム内予測モードを累算し、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得するよう構成されている。
実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
実現可能な実施例において、解析ユニット100は、構築ユニット103をさらに含む。構築ユニット103は、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット103はさらに、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
図13は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
別の実施形態において、フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサ111は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
さらに別の実施形態において、フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
本実施形態の実現可能な実施例において、プロセッサ112はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサ112はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
図10〜図13に関連する先述の実現可能な実施例および具体的な実施形態は、本願に係るフレーム内予測によりビデオデータをデコードするための1または複数の装置を説明している。理解されるべきことは、先述の説明によれば概して、エンコーダ側がレート歪みなどの基準に従って、複数の候補フレーム内予測モードからエンコードコストが最も低い候補フレーム内予測モードを、(現デコード対象ユニットに対応する)現エンコード対象ユニットにより最終的に選択され、ビットストリームにエンコードされるフレーム内予測モードとして選択する、ということである。最終的に選択されるフレーム内予測モードが選択された後、フレーム内予測モードのインジケーション(例えば、先述の説明における第1の識別子、第2の識別子、第3の識別子、第4の識別子、第5の識別子)が、(デコード処理における第1の識別子、第2の識別子、第3の識別子、第4の識別子、および第5の識別子を解析することに対応する)先述のデコード方法と全く逆のエンコード処理に従ってビットストリームにエンコードされる。理解されるべきことは、第1のモードセットおよび第2のモードセットの構築が、エンコーダ側とデコーダ側とで完全に整合がとれているということである。エンコーダ側についての具体的な実施形態は説明されていない。しかしながら、理解されるべきことは、本発明に記載のフレーム内予測方法はエンコード装置にも適用可能であるということである。
例えば、図14は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータエンコード装置のブロック図である。
フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
別の実施形態において、フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサ121は、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
さらに別の実施形態において、フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
本実施形態の実現可能な実施例において、プロセッサ122はさらに、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、プロセッサ122はさらに、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサ122はさらに、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の具体的な態様が、ビデオエンコーダ20およびビデオデコーダ30を参照し説明されてきたが、理解されるべきことは、本発明の技術は、多くの他のビデオエンコードおよび/またはデコードユニット、プロセッサ、処理ユニット、例えばエンコーダデコーダ(CODEC)のハードウェアベースのデコードユニットなどを用いることにより適用されてよいということである。加えて、理解されるべきことは、図5に示され説明されているステップは、単に実現可能な実施例として提供されているということである。言い換えれば、図5の実現可能な実施例に示されているステップは必ずしも、図5に示されている順序で実施される必要はなく、より少ない、追加の、または代替的なステップが実施されてよい。
さらに、理解されるべきことは、実現可能な実施例によっては、本明細書において説明されている方法のうちいずれの具体的な動作またはイベントも、異なる順で実施されてよく、動作またはイベントが追加されてよく、若しくは動作またはイベントが組み合わせられてよく、または省略されてよい(例えば説明されている動作またはイベントの全てが方法を実装するために必要ではない)。さらに、特定の実現可能な実施例において、動作またはイベントは(例えば)マルチスレッド処理または割込み処理の対象となってよく、または順にではなく同時に複数のプロセッサにより処理されてよい。さらに、明確性を目的として、単一のモジュールまたはユニットにより実施されるものとして本願の特定の態様が説明されているが、理解されるべきことは、本願の技術は、ビデオデコーダと関連付けられたユニットまたはモジュールの組み合わせにより実施されてよいということである。
1または複数の実現可能な実施例において、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせにより実装されてよい。それら機能がソフトウェアを用いることにより実装される場合、機能は、1または複数の命令またはコードとしてコンピュータ可読媒体内に格納される、またはコンピュータ可読媒体を用いることにより送信されてよく、ハードウェアベースの処理ユニットを用いることにより実施されてよい。コンピュータ可読媒体は、コンピュータ可読記憶媒体または通信媒体を含んでよい。コンピュータ可読記憶媒体は、データ記憶媒体などの有形の媒体に対応しており、通信媒体は、(例えば)1つの位置から別の位置への通信プロトコルに従ったコンピュータプログラムの送信を容易にする任意の媒体を含む。
このように、コンピュータ可読媒体は例えば、(1)非一時的有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応してよい。データ記憶媒体は、1または複数のコンピュータまたは1または複数のプロセッサがアクセスして、本願に記載の技術を実装するための命令、コード、および/またはデータ構造を取得出来る任意の利用可能な媒体であってよい。コンピュータプログラムプロダクトはコンピュータ可読媒体を含んでよい。
限定ではなく例を挙げると、このコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM若しくは別の光ディスク記憶装置、磁気ディスク記憶装置若しくは別の磁気記憶装置、フラッシュメモリ、または、命令若しくはデータ構造の形態の所望のプログラムコードを格納するのに用いることが出来、コンピュータによりアクセス出来る任意の他の媒体を含んでよい。加えて、任意の接続が適宜、コンピュータ可読媒体と呼ばれてよい。例えば、ウェブサイト、サーバ、または別の離れた場所にある発信元から、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、電波、およびマイクロ波などの無線技術を介して命令が送信された場合、それら同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、電波、およびマイクロ波などの無線技術が媒体の定義に含まれる。
しかしながら、理解されるべきことは、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または別の一時的な媒体を含まなくてよく、非一時的な有形の記憶媒体であるということである。本明細書において用いられるディスクおよび光ディスクは、コンパクトディスク(CD)、ライトニングディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスク(登録商標)を含む。ディスクは概して、データを磁気的に再生し、光ディスクはライトニングで光学的にデータを再生する。先述したオブジェクトの組み合わせが、コンピュータ可読媒体の範囲にさらに含まれるものとする。
命令が、1または複数のデジタル信号プロセッサ(DSP)、汎用のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の集積またはディスクリート論理回路などの1または複数のプロセッサにより実行されてよい。故に、本明細書において用いられている「プロセッサ」という用語は、先述の構造のうちいずれか1つ、または本明細書において説明されている技術を実装するのに適用可能である別の構造を表してよい。加えて、一部の態様において、本明細書において説明されている機能は、エンコードおよびデコードのために構成されている専用のハードウェアおよび/またはソフトウェアモジュール内で提供されてよく、または組み合わせられたコーデックに組み込まれてよい。加えて、それら技術は完全に、1または複数の回路またはロジック要素内で実装されてよい。
本願における技術は、無線携帯電話、集積回路(IC)、またはICのセット(例えばチップセット)を含む様々な装置またはデバイスで実装されてよい。本願において、様々な構成要素、モジュール、およびユニットは、開示されている技術を実装するよう構成された装置の機能を強調すべく説明されており、それら機能は必ずしも、異なるハードウェアユニットで実装される必要はない。より具体的には、上述されているように、様々なユニットが、適したソフトウェアおよび/またはファームウェアと合わせて、コーデックハードウェアユニット内で組み合わせられてよく、または相互運用性のある(上述されているような1または複数のプロセッサを含む)ハードウェアユニットのセットにより提供されてよい。
先述の説明は単に、本願の具体的な実装の例であり、本願の保護範囲を制限することは意図されていない。本願で開示されている技術範囲内で当業者が容易に分かる任意の変形または置換が、本願の保護範囲内に含まれるものとする。故に本願の保護範囲は、請求項の保護範囲に準ずるものとする。
本願は、ビデオ画像技術の分野に関し、特にフレーム内予測方法および装置に関する。
デジタルビデオ機能は、デジタルテレビ、デジタルダイレクトブロードキャストシステム、無線ブロードキャストシステム、パーソナルデジタルアシスタント(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録装置、デジタルメディアプレーヤ、ビデオゲーム装置、ビデオゲームコンソール、セルラーまたは衛星無線電話、ビデオ会議装置、ビデオストリーミング装置などを含む幅広い装置に組み込まれ得る。デジタルビデオ装置は、ビデオ圧縮技術、例えば、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4 Part 10:Advanced Video Coding (AVC)、およびITU−T H.265: High Efficiency Video Coding(HEVC)規格、並びにそれら規格の拡張部分により規定される規格に記載されているビデオ圧縮技術を実装して、より効率的に、デジタルビデオ情報を送信し受信する。ビデオ装置は、これらビデオエンコード/デコード技術を実装することにより効率的にデジタルビデオ情報を送信し、受信し、エンコードし、デコードし、および/または格納してよい。
本願の実施形態は、フレーム内予測方法および装置を提供することでフレーム内予測モードをエンコードしデコードする適切な方法を選択し、それにより、エンコードおよびデコード処理で取得される事前情報をより有効に用い、エンコードおよびデコード効率を向上させる。
本願の第1の態様は、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さが、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上であるよう、異なる候補フレーム内予測モードインデックスに関してエンコード済みの符号語の長さが調節される。故に、各フレーム内予測モードの分布確率がより良好に適したものとなることによりエンコード効率が向上する。
第1の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含む、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第1の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第1の態様の実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
第1の態様の実現可能な実施例において、無指向性予測モードは、直流モード(DC)とプラナーモード(planar)とを含む。
第1の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じコーディングユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、実現可能な実施例において、コーディングユニットセットは、ピクチャ、スライス(slice)、またはタイル(tile)を含む。
第1の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの右上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
第1の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの右上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築する段階であって、第1のモードセット内の候補フレーム内予測モードは互いに異なる、段階をさらに含む。
第1の態様の実現可能な実施例において、方法は、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加する段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、単進符号(Unary code)が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
本実施例の有益な効果は次の通りである:適切なインデックスエンコード方式が、エンコード対象オブジェクトの確率特徴に基づき選択され、それにより、エンコード効率が向上する。
第1の態様の実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第1の態様の実現可能な実施例において、方法は、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階の前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築する段階であって、第1のモードセットは第1の無指向性予測モードを含まない、段階をさらに含む。
本実施例の有益な効果は次の通りである:エンコード効率が向上するよう、イレギュラーなテクスチャの可能性が検討され、本実施例は指向性予測を補足するものとして用いられる。
本願の第2の態様は、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第2の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階をさらに含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第2の態様の実現可能な実施例において、方法は、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階の前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築する段階であって、第1のモードセットは第1の無指向性予測モードを含まない、段階をさらに含む。
本実施例の有益な効果は次の通りである:エンコード効率が向上するよう、イレギュラーなテクスチャの可能性が検討され、本実施例は指向性予測を補足するものとして用いられる。
本願の第3の態様は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階と、ビットストリームを解析して第1の識別子を取得する段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、段階と、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得する段階であって、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、段階とを含む、フレーム内予測モードをデコードするための方法を提供する。
本実施例の有益な効果は次の通りである:空間相関がより信頼性が高く、エンコード効率が向上するよう、周辺の再構築済みブロックのフレーム内予測モードが事前情報として用いられ、より多くのサンプル情報についての統計が収集される。
第3の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得する段階であって、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい、段階と、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得する段階であって、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
第3の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第3の態様の実現可能な実施例において、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得する段階であって、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階を含む。
本実施例の有益な効果は次の通りである:第1のモードセット内にない候補フレーム内予測モードが第2のモードセット内の候補フレーム内予測モードと別の候補フレーム内予測モードとにさらに分割され、それにより、処理効率を向上させ、圧縮されたインデックス情報をエンコードする可能性を提供し、さらにエンコード効率を向上させる。
第3の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得する段階と、取得された同じフレーム内予測モードを累算する段階と、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得する段階とを含む。
第3の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
第3の態様の実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
本実施例の有益な効果は次の通りである:統計サンプルがよりフレキシブルに選択され、それによりアルゴリズムの複雑性とアルゴリズムの信頼性との間のバランスをとることが出来る。
第3の態様の実現可能な実施例において、方法は、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。
第3の態様の実現可能な実施例において、方法は、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。
本実施例の有益な効果は次の通りである:フレーム内予測において空間相関により提供される事前情報が完全に用いられ、それによりエンコード効率を向上させる。
本願の第4の態様は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニットを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをデコードするための装置を提供する。
第4の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第4の態様の実現可能な実施例において、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、解析ユニットはさらに、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含み、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、解析ユニットはさらに、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、解析ユニットはさらに、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第4の態様の実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
第4の態様の実現可能な実施例において、無指向性予測モードは、直流モードとプラナーモードとを含む。
第4の態様の実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じコーディングユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
第4の態様の実現可能な実施例において、コーディングユニットセットは、ピクチャ、スライス、またはタイルを含む。
第4の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの右上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
第4の態様の実現可能な実施例において、装置は、構築ユニットをさらに含む。構築ユニットは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの右上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築するよう構成されており、第1のモードセット内の候補フレーム内予測モードは互いに異なる。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加するよう構成されている。
第4の態様の実現可能な実施例において、単進符号が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
第4の態様の実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
第4の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
本願の第5の態様は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニットを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをデコードするための装置を提供する。
第5の態様の実現可能な実施例において、
第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第5の態様の実現可能な実施例において、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第5の態様の実現可能な実施例において、装置は、構築ユニットをさらに含む。構築ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第5の態様の実現可能な実施例において、構築ユニットはさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
第5の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
本願の第6の態様は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成された統計収集ユニットと、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニットであって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、解析ユニットとを含み、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをデコードするための装置を提供する。
第6の態様の実現可能な実施例において、解析ユニットはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第6の態様の実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
第6の態様の実現可能な実施例において、解析ユニットはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
第6の態様の実現可能な実施例において、統計収集ユニットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得し、取得された同じフレーム内予測モードを累算し、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得するよう構成されている。
第6の態様の実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
第6の態様の実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
第6の態様の実現可能な実施例において、構築ユニットは、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、第1の方向間隔はゼロ以外の整数である。
第6の態様の実現可能な実施例において、構築ユニットはさらに、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
本願の第7の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをデコードするための装置を提供する。
本願の第8の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサは、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをデコードするための装置を提供する。
本願の第9の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサは、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサは、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをデコードするための装置を提供する。
第9の態様の実現可能な実施例において、プロセッサはさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサはさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の第10の態様は、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
本願の第11の態様は、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードする段階であって、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む、段階と、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードする段階であって、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
本願の第12の態様は、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集する段階と、ビットストリーム内に第1の識別子をエンコードする段階であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、段階と、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードする段階であって、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、段階とを含む、フレーム内予測モードをエンコードするための方法を提供する。
第12の態様の実現可能な実施例において、方法は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードする段階であって、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい、段階と、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードする段階であって、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、段階とを含む。
本願の第13の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である、フレーム内予測モードをエンコードするための装置を提供する。
本願の第14の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサは、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる、フレーム内予測モードをエンコードするための装置を提供する。
本願の第15の態様は、プロセッサと、プロセッサに連結されたメモリとを含み、プロセッサは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサは、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサは、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い、フレーム内予測モードをエンコードするための装置を提供する。
第15の態様の実現可能な実施例において、プロセッサはさらに、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、プロセッサはさらに、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサはさらに、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の第16の態様は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を格納し、命令がコンピュータ上で実行されたとき、コンピュータは、先述の態様に係る方法を実施可能となる。
本願の第17の態様は、命令を含むコンピュータプログラムプロダクトを提供し、コンピュータプログラムプロダクトがコンピュータ上で実行されたとき、コンピュータは、先述の態様に係る方法を実施可能となる。
理解されるべきことは、本願の第4の態様〜第17の態様の技術的解決法は、本願の第1の態様、第2の態様、および第3の態様のものと整合がとれており、全ての態様および対応する実装可能な設計方式で達成可能な有益な効果は同様であるということである。詳細は改めて説明されない。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコードおよびデコードシステムのブロック図である。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコーダのブロック図である。
本願の実施形態に記載の技術の実現可能な実施例におけるビデオデコーダのブロック図である。
フレーム内モード予測の間に検討されてよいビデオデータブロックのブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード方法のフローチャートである。
本願の実施形態に係るフレーム内予測モードセットの例の概略図である。
本願の実施形態に係るMPMセットの例における候補予測モードの概略図である。
本願の実施形態に係る現処理対象ユニットの隣接する再構築ユニットの例の概略図である。
本願の実施形態に係る現処理対象ユニットの隣接する再構築ユニットの別の例の概略図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータエンコード装置のブロック図である。
本願の実施形態における添付の図面を参照し、本願の実施形態における技術的解決法を以下に、明確かつ完全に説明する。
実現可能な実施例において、本願の態様は、フレーム内予測モードのうち最も確率の高いフレーム内予測モード(most probable mode,MPM)の構築と、選択されたフレーム内予測モード(selected modes)の構築とを向上させる。例えば一部のビデオデコード技術によると、ビデオエンコーダが、現在エンコードされているブロックのフレーム内予測情報を決定しシグナリングする前にMPMセットまたはselected modesのセットを構築してよく、またはビデオデコーダが、現在デコードされているブロックのフレーム内予測情報を決定し受信する前にMPMセットまたはselected modesのセットを構築してよい。本願の態様は、MPMセットまたはselected modesのセットの構築に関し、そうすることでフレーム内予測モードをエンコードしデコードするための適切な方法を選択し、それによりエンコードおよびデコード処理において取得される事前情報をより有効に用い、エンコードおよびデコード効率を向上させる。
実現可能な実施例において、候補フレーム内予測モードが、MPMセット内のフレーム内予測モードと、残りのフレーム内予測モードとに分類される。ビデオエンコーダは、MPMがビデオデータのスライスまたはピクチャ内で現れる順序(例えばデコード順序)に従ってMPMセットからMPMのリストを生成してよく、リストはフレーム内予測モードを含む。別の実現可能な実施例において、ビデオデコーダは、近隣ブロックのフレーム内モードが現在デコードされているブロックのものと同じであるかをビデオエンコーダがチェックする順序(本明細書において「チェック順序」と呼ばれる)に従ってMPMのリストを生成してよい。ビデオエンコーダは、リスト内のMPMを順序付けする、または並べ替えることなく、生成されたリストのインデックスに基づきMPMをシグナリングしてよい。ビデオデコーダは同じ処理を実施して、MPMリストを生成し、エンコード済ビットストリームからリストのインデックスを取得し、リスト内のMPMを順序付けする、または並べ替えることなくインデックスに基づきリストからMPMを選択してよい。実現可能な実施例において、候補フレーム内予測モードが、MPMセット内のフレーム内予測モードと、selected modesのセット内のフレーム内予測モードと、残りのフレーム内予測モードとに分類される。残りのフレーム内予測モードは、non−selected modesのセット内のフレーム内予測モードとも呼ばれてよい。selected modesのセット内のフレーム内予測モードを処理するために用いられる原理は、MPMセット内のフレーム内予測モードを処理するために用いられるものと同じである。詳細は改めて説明されない。
実現可能な実施例において、例示を目的として、ビデオデコーダはまず、現在デコードされているブロックの左側に位置するブロック(本明細書において「左側の近隣ブロック」と呼ばれる)のフレーム内モードが現ブロックのフレーム内モードと同じであるかをチェックしてよい。ビデオデコーダはそれから、現在デコードされているブロックの上方に位置するブロック(本明細書において「上側の近隣ブロック」と呼ばれる)のフレーム内モードが現ブロックのフレーム内モードと同じであるかをチェックしてよい。この実現可能な実施例において、本願の態様によると、左側の近隣ブロックのフレーム内モードは、ビデオデコーダが保持するMPMリストにおいて0のインデックスを有してよく、上側の近隣ブロックのフレーム内モードは、当該リスト内で1のインデックスを有してよい。この場合ビデオエンコーダは、左側の近隣ブロックの実際のフレーム内モード番号(例えば、ビデオデコード規格で指定されている予め定められているモード番号)が上側の近隣ブロックのものより大きいかに関わらず、左側の近隣ブロックのフレーム内モードのインデックス(つまり、0)と、上側の近隣ブロックのフレーム内モードのインデックス(つまり、1)とをシグナリングしてよい。代替的に、左側の近隣ブロックのフレーム内モードをチェックする前に、ビデオデコーダが上側の近隣ブロックのフレーム内モードをチェックする場合、ビデオエンコーダは、上側の近隣ブロックのフレーム内モードのインデックス(つまり、0)と左側の近隣ブロックのフレーム内モードのインデックス(つまり、1)とをシグナリングしてよい。いずれの場合も、本願のこれらの実現可能な実施例および態様によると、ビデオエンコーダは、リスト内のフレーム内モードを並べ替える、または順序付けすることなくフレーム内モードのインデックスをシグナリングしてよい。一部の実現可能な実施例において、フレーム内モードがMPMでない場合、フレーム内モードデコードに順序付けが適用されてよい。言い換えれば、MPMではないフレーム内モードをシグナリングするとき、ビデオエンコーダは、リスト内のフレーム内モードをソートしてよく、または別の方式でリスト内のフレーム内モードを変更してよい。本願の態様によると、ビデオデコーダが近隣ブロックのフレーム内モードをチェックする順序(本明細書において「チェック順序」と呼ばれる)は、以前にデコード済みのブロックのフレーム内モードに関して収集された統計的データに基づき暗黙的に導出されてよい。他の実現可能な実施例において、ビデオデコーダは、近隣ブロックの利用可能性に基づきチェック順序を導出してよい。更なる実現可能な実施例において、ビデオエンコーダは、チェック順序の明確なインジケーションをシグナリングしてよい(そしてビデオデコーダは、エンコード済ビットストリームからチェック順序を取得してよい)。同様に、同様の方法および同様の実現可能な実施例が、selected modesのセットを処理するために用いられる。詳細は改めて説明されない。
図1は、本願に記載の技術の実現可能な実施例におけるビデオエンコードおよびデコードシステム10のブロック図である。図1に示されているように、システム10は発信元装置12を含み、発信元装置12は宛先装置14によりデコードされることになるエンコード済ビデオデータを生成する。発信元装置12および宛先装置14は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの携帯電話、いわゆる「スマート」タッチパネル、テレビ、カメラ、表示装置、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミング送信装置などを含む幅広い装置のうちいずれかを含んでよい。一部の応用において、発信元装置12および宛先装置14は無線通信のための機器を備えていてよい。
宛先装置14は、リンク16を介してデコード対象のエンコード済ビデオデータを受信してよい。発信元装置12から宛先装置14へエンコード済ビデオデータを送信することが可能な任意の種類の媒体または装置がリンク16上に含まれてよい。実現可能な実施例において、発信元装置12が直接エンコード済ビデオデータを宛先装置14へリアルタイムで送信出来るようにする通信媒体がリンク16上に含まれてよい。エンコード済ビデオデータは、通信規格(例えば無線通信プロトコル)に従って変調され、宛先装置14へ送信され得る。通信媒体は、任意の無線または有線の通信媒体、例えば無線周波数(RF)スペクトル、または、1または複数の物理的な伝送線を含んでよい。通信媒体は、パケットベースのネットワーク(例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットのグローバルネットワーク)の一部であってよい。通信媒体は、ルータ、スイッチ、基地局、または、発信元装置12から宛先装置14への通信を容易にするために役立つ任意の他のデバイスを含んでよい。
代替的に、エンコード済データは、出力インタフェース22を通じて記憶装置24へ出力されてよい。同様に、エンコード済データは入力インタフェースを通じて記憶装置24からアクセスされてよい。記憶装置24は、複数の分散させられた、またはローカルのデータ記憶媒体、例えば、ハードディスクドライブ、ブルーレイディスク(登録商標)、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性ストレージ、またはエンコード済ビデオデータを格納するために用いられる任意の他の適切なデータ記憶媒体のうちいずれかを含んでよい。別の実現可能な実施例において、記憶装置24はファイルサーバ、または発信元装置12により生成されたエンコード済ビデオデータを格納することが可能な別の中間的な記憶装置に対応してよい。宛先装置14はストリーミング送信またはダウンロードにより記憶装置24から、格納されたビデオデータにアクセスしてよい。ファイルサーバは、エンコード済ビデオデータを格納すること、および宛先装置14内のエンコード済ビデオデータを送信することが可能な任意のタイプのサーバであってよい。実現可能な実施例において、ファイルサーバは、ウェブサイトサーバ、ファイルトランスファプロトコル(FTP)サーバ、ネットワークアタッチストレージ(NAS)装置、またはローカルディスクドライブを含む。宛先装置14は、インターネット接続を含む任意の標準的なデータ接続によりエンコード済ビデオデータにアクセスしてよい。データ接続は、ファイルサーバに格納されたエンコード済ビデオデータにアクセスするのに適した無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSLおよびケーブルモデム)、またはこれらの組み合わせを含んでよい。記憶装置24からのエンコード済ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはこれらの組み合わせであってよい。
本願における技術は必ずしも、無線応用または環境に限定されない。それら技術はビデオデコードに適用されて、複数のマルチメディアでの応用のうちいずれか1つ、例えば、地上波テレビ放送、ケーブルテレビ伝送、衛星テレビ伝送、(例えば、インターネットを通じた)ストリーミングビデオ伝送、データ記憶媒体内での格納のためのデジタルビデオエンコード、データ記憶媒体に格納されているデジタルビデオのデコードなどをサポートすることが出来る。一部の考えられる実施例において、システム10は、ストリーミングビデオ伝送、ビデオ再生、ビデオブロードキャスト、および/またはビデオ電話などの応用をサポートするよう単方向または双方向のビデオ伝送をサポートするよう構成されてよい。
図1の実現可能な実施例において、発信元装置12は、ビデオソース18、ビデオエンコーダ20、および出力インタフェース22を含んでよい。一部の応用において、出力インタフェース22は変調器/復調器(モデム)、および/または送信器を含んでよい。発信元装置12において、ビデオソース18は以下の発信元デバイスを例えば含んでよい:ビデオ取り込み装置(例えばビデオカメラ)、以前に取り込まれたビデオを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインインタフェース、および/またはソースビデオとしてのコンピュータグラフィックデータを生成するためのコンピュータグラフィックシステム、またはこれらの組み合わせ。実現可能な実施例において、ビデオソース18がビデオカメラである場合、発信元装置12および宛先装置14は、いわゆるカメラ電話またはいわゆるビデオ電話を構成し得る。本願に記載の技術は、例えばビデオデコードに適用されてよく、無線および/または有線での応用に適用されてよい。
ビデオエンコーダ20は、取り込まれた、事前に取り込まれた、またはコンピュータにより計算されたビデオをエンコードしてよい。エンコード済ビデオデータは、発信元装置12の出力インタフェース22を通じて宛先装置14へ直接送信されてよい。エンコード済ビデオデータは追加的に(または代替的に)、宛先装置14による、またはデコードおよび/または再生するための別の装置による後のアクセスのために記憶装置24に格納されてよい。
宛先装置14は、入力インタフェース28、ビデオデコーダ30、および表示装置32を含む。一部の応用において、入力インタフェース28は受信器および/またはモデムを含んでよい。宛先装置14の入力インタフェース28は、リンク16を介してエンコード済ビデオデータを受信する。リンク16を介して記憶装置24へ送信または提供されるエンコード済ビデオデータは、ビデオデコーダ30のビデオデコーダがビデオデータをデコードするためにビデオエンコーダ20により生成された複数の構文要素を含んでよい。これら構文要素は、通信媒体上で送信される、記憶媒体に格納される、またはファイルサーバに格納されるエンコード済ビデオデータに含まれてよい。
表示装置32は、宛先装置14と統合されてよく、または宛先装置14外に配されてよい。一部の考えられる実施例において、宛先装置14は、統合された表示装置を含んでよく、また外部表示装置のインタフェースに接続するよう構成されてよい。他の実現可能な実施例において、宛先装置14は表示装置であってよい。概して、表示装置32は、デコード済ビデオデータをユーザに対して表示し、複数の表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示装置のうちいずれかを含んでよい。
ビデオエンコーダ20およびビデオデコーダ30は、例えば、現在開発途中の次世代のビデオコーディング圧縮規格(H.266)に従って動作してよく、H.266テストモデル(JEM)に準拠してよい。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、例えば、他の専用の規格若しくは工業規格、またはITU−T H.265規格若しくはITU−T H.264規格の拡張版に従って動作してよい。ここでITU−T H.265規格は、高効率ビデオコーディング(HEVC)規格とも呼ばれ、ITU−T H.264規格は代替的にMPEG−4 Part 10(advanced video coding,AVC)と呼ばれる。しかしながら、本願の技術は何らかの特定のコーディング規格に限定されるものではない。ビデオ圧縮規格の他の実現可能な実施例はMPEG−2およびITU−T H.263を含む。
図1に図示されていないが、一部の態様において、ビデオエンコーダ20およびビデオデコーダ30はそれぞれが音声エンコーダおよび音声デコーダに統合されてよく、適切なマルチプレクサ−デマルチプレクサ(MUX−DEMUX)ユニット、または共通のデータストリームまたは別のデータストリームにおける音声およびビデオの両方のコードを処理する他のハードウェアおよびソフトウェアを含んでよい。適用可能である場合、一部の実現可能な実施例において、MUX−DEMUXユニットはITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠してよい。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、複数の適切なコーダー回路、例えば1または複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはこれらの任意の組み合わせのうちいずれかで実装されてよい。この技術が部分的にソフトウェアで実装されるとき、装置が、適切な非一時的なコンピュータ可読媒体にソフトウェアのための命令を格納し、1または複数のプロセッサを用いることによりハードウェアの形態で命令を実行して本願の技術を実装してよい。ビデオエンコーダ20およびビデオデコーダ30のいずれかが、1または複数のエンコーダまたはデコーダに含まれてよい。ビデオエンコーダ20およびビデオデコーダ30のいずれが、対応する装置内で、組み合わせられたエンコーダ/デコーダ(CODEC)の一部として統合されてよい。
本願は、例えば、ビデオデコーダ30などの別の装置へ具体的な情報をビデオエンコーダ20により「シグナリング」することに関連してよい。しかしながら、理解されるべきことは、ビデオエンコーダ20は具体的な構文要素をビデオデータのエンコード済部分と関連付けて情報をシグナリングしてよいということである。言い換えれば、ビデオエンコーダ20は、ビデオデータのエンコード済部分のヘッダ情報に具体的な構文要素を格納してデータを「シグナリング」してよい。一部の応用において、構文要素は、ビデオデコーダ30により受信されデコードされる前にエンコードされ格納され(例えばストレージシステム34またはファイルサーバ36に格納され)てよい。故に、「シグナリング」という用語は、例えば、送信がリアルタイムで行われるか、準リアルタイムで行われるか、または期間内で行われるかに関わらず、構文データ、または圧縮済ビデオデータをデコードするために用いられる他のデータの送信を意味してよい。例えば、その送信は、デコードの間に構文要素が媒体に格納されるときに実施されてよく、それから構文要素は、媒体に格納された後いつでもデコード装置により取得されてよい。
JCT−VCがH.265(HEVC)規格を開発した。HEVC規格化は、HEVCテストモデル(HM)と呼ばれるビデオデコード装置の進化型のモデルに基づく。最新のH.265規格文書はhttp://www.itu.int/rec/T−REC−H.265で利用可能である。規格文書の最新版は、H.265(12/16)であり、当該文書は参照によりその全体が組み込まれる。HMは、ビデオデコード装置がITU−TH.264/AVCの既存のアルゴリズムに関していくつかの追加の機能を有すると想定している。例えば、H.264は9つのフレーム内予測コーディングモードを提供し、他方、HMは最大35のフレーム内予測コーディングモードを提供出来る。
JVETはH.266規格の開発に専心している。H.266規格化処理は、H.266テストモデル(JEM)と呼ばれるビデオデコード装置の進化型のモデルに基づく。H.266アルゴリズムの説明はhttp://phenix.int−evry.fr/jvetで利用可能であり、最新のアルゴリズムの説明はJVET−F1001−v2に含まれている。このアルゴリズム説明文書は参照によりその全体が組み込まれる。加えて、JEMテストモデルに関するリファレンスソフトウェアはhttps://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/で利用可能であり、これも参照によりその全体が組み込まれる。
一般的に、HMのオペレーションモデルの説明は、ビデオフレームまたはピクチャを、輝度および色度サンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU)に区分けしてよい。ツリーブロックは、H.264規格におけるマクロブロックと同様の目的を有している。スライスは、いくつかの連続的なツリーブロックをデコード順序で含む。ビデオフレームまたはピクチャは、1または複数のスライスに区分けされてよい。各ツリーブロックが、四分木に従ってコーディングユニット(CU)に分割され得る。例えば、四分木の根ノードとしての役割を果たすツリーブロックは、4つの子ノードへ分割されてよく、各子ノードは、親ノードとしての役割を果たし、4つの他の子ノードに分割されてよい。四分木の葉ノードとしての役割を果たす最終的な分割不可能な子ノードは、コーディングノード、例えばデコード済ビデオブロックを含む。デコード済ビットストリームと関連付けられている構文データは、ツリーブロックの最大の分割可能回数を定めてよく、またコーディングノードの最小サイズを定めてよい。
コーディングユニットは、コーディングノード、予測ユニット(PU)、およびコーディングノードと関連付けられた変換ユニット(TU)を含む。CUサイズはコーディングノードサイズに対応し、正方形である必要がある。CUサイズは、8×8画素から最大64×64画素のサイズの範囲またはより大きいツリーブロックサイズであってよい。各CUは、1または複数のPUおよび1または複数のTUを含んでよい。例えば、CUと関連付けられた構文データは、1つのCUを1または複数のPUに区分することを説明してよい。区分パターンは、CUがスキップまたは直接的モードでエンコードされるとき、フレーム内予測モードでエンコードされるとき、またはフレーム間予測モードでエンコードされるときには異なってよい。PUは、正方形以外の形に区分けされてよい。例えば、CUと関連付けられた構文データは、1つのCUを四分木に従って1または複数のTUに区分けすることを説明してもよい。TUは正方形または正方形以外の形であってよい。
HEVC規格によりTUベースの変換が可能となり、TUは異なるCUに関して異なってよい。TUサイズは通常、区分けされたLCUに関して規定される所与のCU内のPUのサイズに基づき設定される。しかしながら、場合によっては常にこのようでなくてよい。TUサイズは通常、PUサイズと同じか、それより小さい。一部の実現可能な実施例において、「残差四分木」(RQT)と呼ばれる四分木構造が用いられて、CUに対応する残差サンプルをより小さいユニットに分割してよい。RQTの葉ノードはTUと呼ばれてよい。TUと関連付けられている画素差分は、変換されて変換係数を生成してよく、変換係数は定量化されてよい。
概して、PUは予測処理に関連するデータを含む。例えば、PUがフレーム内モードでエンコードされているとき、PUは、PUのフレーム内予測モードを記述するデータを含んでよい。別の実現可能な実施例において、PUがフレーム間モードでエンコードされているとき、PUは、PUの動きベクトルを規定するデータを含んでよい。例えば、PUの動きベクトルを規定するデータは、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(例えば、1/4画素の精度、または1/8画素の精度)、動きベクトルが指す基準ピクチャ、および/または動きベクトルの基準ピクチャリスト(例えば、リスト0、リスト1、またはリストC)を説明してよい。
概して、TUは変換および量子化処理を用いる。1または複数のPUを含む所与のCUは1または複数のTUを含んでもよい。予測の後、ビデオエンコーダ20はPUに対応する残差値を計算してよい。残差値は画素差分を含み、画素差分は変換係数に変換されてよく、変換係数は定量化され、TUスキャンが行われて、エントロピーデコードのための一続きのものとなった変換係数を生成する。本願において、「ビデオブロック」という用語は通常、CUのコーディングノードを表すのに用いられる。一部の具体的な応用において、本願は「ビデオブロック」という用語を、コーディングノード、PU、およびTUを含むツリーブロック、例えば、LCUまたはCUを表すのに用いてもよい。
ビデオシーケンスは概して、一連のビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP)は、例えば、一連のビデオ画像、または1または複数のビデオ画像を含む。GOPは、GOPのヘッダ情報内に、ピクチャのうち1または複数のヘッダ情報に、または別の位置に構文データを含んでよい。構文データは、GOPに含まれるピクチャの数を説明する。ピクチャの各スライスは、対応するピクチャのコーディングモードを記述するスライス構文データを含んでよい。ビデオエンコーダ20は通常、一部のビデオスライス内のビデオブロックに対してオペレーションを実施してビデオデータをエンコードする。ビデオブロックは、CU内のコーディングノードに対応してよい。ビデオブロックのサイズは固定されているか、変更可能であってよく、指定されたデコード規格によって異なってよい。
実現可能な実施例において、HMは、様々なPUサイズに関する予測をサポートする。特定のCUのサイズは2N×2Nであり、HMは、2N×2NまたはN×NのPUサイズのフレーム内予測、および2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズのフレーム間予測をサポートすると想定している。HMは、2N×nU、2N×nD、nL×2N、およびnR×2NなどのPUサイズのフレーム間予測の非対称な区分もサポートする。非対称な区分において、CUは1つの方向に区分けされず、他の方向に25%および75%に区分けされる。25%のセグメントに対応するCU部分は、「n」と、それに続く「U(Up)」、「D(Down)」、L(Left)」、または「R(Right)」とを含むインジケータにより示される。故に、例えば、「2N×nU」とは、上部に2N×0.5NPUであり下部に2N×1.5NPUである水平区分の2N×2NCUを指す。
本願において、「N×N」および「N掛けるN」が入れ換え可能に用いられて、垂直次元および水平次元のビデオブロックの画素サイズ、例えば、16×16画素または16掛ける16の画素を示してよい。一般的に、16×16ブロックは垂直方向に16の画素(y=16)を有し、水平方向に16の画素(x=16)を有する。同様に、N×Nブロックは、垂直方向にN個の画素を有し、水平方向にN個の画素を有する。Nは負ではない整数を表す。ブロック内の画素は、行と列とに配置されてよい。加えて、ブロックは必ずしも、水平方向と垂直方向とで同じ数の画素を有さない。例えば、ブロックはN×M画素を含んでよく、Mは必ずしもNに等しくない。
CU内のPUのフレーム内予測またはフレーム間予測デコードの後、ビデオエンコーダ20は、CU内のTUの残差データを計算してよい。PUは、空間領域(画素領域とも呼ばれる)の画素データを含んでよく、TUは、変換(例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または他の概念的に同様の変換)が残差ビデオデータに適用された後の変換領域の係数を含んでよい。残差データは、エンコードされていないピクチャの画素と、PUに対応する予測子との間の画素差分に対応してよい。ビデオデコーダ20は、CUの残差データを含むTUを生成し、それからTUを変換してCU変換係数を生成してよい。
任意の変換を実施して変換係数を生成した後、ビデオエンコーダ20は変換係数を量子化してよい。量子化とは、例えば、係数を量子化して、係数を表すために用いられデータの量を減らし、更なる圧縮を実装する処理を意味する。量子化処理は、係数の一部または全てと関連付けられたビット深度を小さくし得る。例えば、量子化の間、nビットの値が、mビットの値まで減らされてよく、nはmより大きい。
JEMモデルは、ビデオ画像エンコード構造をさらに向上させる。「四分木プラス2分木」(QTBT)と呼ばれるブロックエンコード構造が導入される。HEVCにおけるCU、PU、およびTUのような概念を用いることなく、QTBT構造は、よりフレキシブルなCU区分形状をサポートする。1つのCUは正方形または長方形であってよい。コーディングツリーユニット(CTU)は、まず四分木区分が行われ、さらに四分木の葉ノードに対して2分木区分が実施される。加えて、2つの2分木区分モードがある:対称水平区分、および対称垂直区分である。2分木の葉ノードはCUと呼ばれる。JEMのCUはさらに、予測および変換の間に区分けされ得ない。言い換えれば、JEMのCU、PU、およびTUは、同じブロックサイズを有する。現在のJEMにおいて、CTUの最大サイズは、256×256輝度画素である。
一部の実現可能な実施例において、ビデオエンコーダ20は、予め定められているスキャン順序で量子化済変換係数をスキャンして、エントロピーエンコードされ得る一続きのベクトルを生成してよい。一部の他の実現可能な実施例において、ビデオエンコーダ20は適応型のスキャンを実施してよい。量子化済変換係数をスキャンして1次元のベクトルを形成した後、ビデオエンコーダ20は、コンテキスト適応型可変長デコード(CAVLC)、コンテキスト適応型バイナリ算術デコード(CABAC)、構文ベースのコンテキスト適応型バイナリ算術デコード(SBAC)、確率間隔区分エントロピー(PIPE)デコード、または別のエントロピーデコード方法によりその1次元のベクトルをエントロピーデコードしてよい。ビデオエンコーダ20はさらに、ビデオデコーダ30がビデオデータをデコードするためにエンコード済ビデオデータと関連付けられている構文要素をエントロピーデコードしてよい。
CABACを実施すべく、ビデオエンコーダ20はコンテキストモデルのコンテキストを送信対象シンボルに割り当ててよい。そのコンテキストは、シンボルの隣接する値がゼロ以外であるかに関連してよい。CAVLCを実施すべく、ビデオエンコーダ20は、送信対象シンボルの可変長コードを選択してよい。可変長コード(VLC)内の符号語は、より短いコードがより確率の高いシンボルに対応し、より長いコードがより確率の低いシンボルに対応するよう構築されてよい。このやり方で、VLCを用いることにより、各送信対象シンボルに関して等しい長さの符号語を用いることと比較して、ビットレートを減らすことが出来る。CABACにおける確率は、シンボルに割り当てられたコンテキストに基づき決定され得る。
一部の実現可能な実施例において、ビデオエンコーダ20および/またはビデオデコーダ30は、フレーム内予測デコードの間、いわゆる「最も確率の高い」フレーム内予測モードを特定してよい。言い換えれば、例えば、ビデオエンコーダ20および/またはビデオデコーダ30は、現在デコードされているブロックに隣接する以前にデコード済みのブロック(「基準ブロック」と呼ばれる)のフレーム内予測モードを特定し、これらフレーム内予測モードを現在デコードされているブロック(「現ブロック」と呼ばれる)のフレーム内予測モードと比較してよい。近隣ブロックと現ブロックとの空間的近接性が故に、これら基準ブロックのフレーム内モードが現ブロックのものと同じである、または同様である確率は比較的高くあり得る。以下により詳細に説明されるように、複数の基準ブロックのフレーム内予測モードが、MPMの特定の間、検討されてよい。
加えて、一部の実現可能な実施例において、ビデオエンコーダ20および/またはビデオデコーダ30は、MPMを特定するためにインデックスをシグナリングしてよい。具体的には、デコード規格に従って規定されるように、各フレーム内モードは、関連付けられたフレーム内モードインデックス(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理において一時的に割り当てられたインデックス)を有してよく、そのフレーム内モードインデックスが、複数の考えられるフレーム内モードのうち1つとしてフレーム内モードを特定するのに用いられる。例えば、HEVC規格は、最大35のフレーム内モードをサポートしてよい。インデックス値(例えば、ルックアップテーブルのインデックス値)が各フレーム内モードに割り当てられ、そのインデックス値が、フレーム内モードを特定するのに用いられてよい。
一部の実現可能な実施例において、ビデオエンコーダ20は、ビデオデータを予測するために用いられる現ブロックのフレーム内モードを決定し、そのビデオデータを予測するために用いられる現ブロックのMPMを決定し、比較順序でフレーム内モードとMPMのうちそれぞれとを比較し、その比較順序に基づきMPMのうちそれぞれのインデックスを決定し、ビットストリーム内のデータを予測するために用いられる現ブロックのフレーム内モードにマッチするMPMのインデックスをシグナリングする。
加えて、実現可能な実施例において、ビデオエンコーダ20は比較順序で、生成されたMPMのリストをシグナリングしてよい。ビデオエンコーダ20は、昇順でそのリスト内のMPMのうちそれぞれにインデックス値を割り当てることを含む、MPMのうちそれぞれのインデックスの決定も行ってよい。別の実現可能な実施例において、ビデオエンコーダ20は、MPMのインデックスをシグナリングする前に、MPMフラグをシグナリングして、MPMのインデックスがシグナリングされることを示してよい。
MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを左側の近隣ビデオブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを上側の近隣ビデオブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを左側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。
別の実現可能な実施例において、ビデオデコーダ30は、ビデオデータの現ブロックのMPMのリストを生成してよい。リスト内のMPMはそれから、比較順序で順序付けされてよい。比較順序は、ビデオデータの現ブロックのエンコードの間、ビデオデータの現ブロックのフレーム内モードを、ビデオデータの1または複数の基準ブロックと関連付けられた1または複数のフレーム内モードと比較する順序を示してよい。ビデオデコーダ30は、MPMのリスト内の現ブロックのフレーム内モードを識別するのに用いられるMPMインデックスを決定してよい。ビデオデコーダ30はそれから、MPMインデックスを用いることにより現ブロックのフレーム内モードを特定し、現ブロックの特定されたフレーム内モードで現ブロックをデコードしてよい。
実現可能な実施例において、2より多くの基準ブロックが、現ブロックの上方に位置する、現ブロックに隣接する1または複数のブロックを含んでよい。それら2より多くの基準ブロックは、現ブロックの左側に位置し、現ブロックに隣接する1または複数のブロックを含んでよい。実現可能な実施例において、リスト内のMPMは比較順序で配置される。比較順序は、ビデオデータの現ブロックのエンコードの間、ビデオデータの現ブロックのフレーム内モードを、ビデオデータの1または複数の基準ブロックと関連付けられた1または複数のフレーム内モードと比較する順序を示す。
別の実現可能な実施例において、MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを左側の近隣ブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較することを含んでよい。別の実現可能な実施例において、MPMは、現ブロックの左側の近隣ビデオブロック、および現ブロックの上側の近隣ビデオブロックと関連付けられてよく、比較順序は、現ブロックのフレーム内モードを上側の近隣ブロックと関連付けられたフレーム内モードと比較し、それから、現ブロックのフレーム内モードを左側の近隣ビデオブロックと関連付けられたフレーム内モードと比較することを含んでよい。
本願の特定の態様は、フレーム内モードデコードがブロックAまたはブロックBに適用可能ではない例においてデフォルトのモードを割り当てることに関する。例えば、ビデオエンコーダ20、またはビデオデコーダ30などのビデオデコーダがビデオデータの現ブロックを特定してよい。デコーダは、ビデオデータの現ブロックのMPMを決定するための基準ブロックとしてあるブロックが用いられ得るか決定してよい。ビデオデコーダは、基準ブロックとして用いられ得ない任意のブロックにデフォルトのフレーム内モードを割り当ててよい。一部の実現可能な実施例において、そのデフォルトのフレーム内モードは、プラナーモード、DCモードなどであってよい。デコーダは、ビデオデータの1または複数のブロックのフレーム内モードに基づき、ビデオデータの現ブロックのフレーム内モードを決定してよい。加えて、デコーダは、決定されたフレーム内モードで現ブロックをデコードしてよい。
図2は、本願の実施形態に記載の技術の実現可能な実施例におけるビデオエンコーダ20のブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックに関してフレーム内デコードおよびフレーム間デコードを実施してよい。フレーム内デコードは空間予測を頼りに、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を減らす、または取り除く。フレーム間デコードは時間予測を頼りに、ビデオシーケンスの隣接するフレームまたはピクチャにおけるビデオの時間冗長性を減らす、または取り除く。フレーム内モード(I mode)は、いくつかの空間ベースの圧縮モードのうちいずれか1つであってよい。単方向予測(P mode)または双方向予測(B mode)などのフレーム間モードは、いくつかの時間ベースの圧縮モードのうちいずれか1つであってよい。
図2の実現可能な実施例において、ビデオエンコーダ20は、区分ユニット35、予測ユニット41、基準ピクチャストレージ64、加算器50、変換処理ユニット52、量子化ユニット54、およびエントロピーエンコードユニット56を含む。予測ユニット41は、動き推定ユニット42、動き補償ユニット44、およびフレーム内予測モジュール46を含む。ビデオブロック再構築に関して、ビデオエンコーダ20は、逆量子化ユニット58、逆変換ユニット60、および加算器62をさらに含む。再構築されたビデオからブロックアーチファクトを取り除くようブロックの境界に対してフィルタリングを実施すべくデブロックフィルタ(図2では図示せず)がさらに含まれてよい。必要であれば、デブロックフィルタは通常、加算器62の出力に対してフィルタリングを実施する。デブロックフィルタに加えて、追加のループフィルタ(インループフィルタまたはアウターループフィルタ)も用いられてよい。
図2に示されているように、ビデオエンコーダ20がビデオデータを受信し、区分ユニット35が、データをビデオブロックへと区分する。そのような区分は、スライス、画像ブロック、または他のより大きいユニットへの区分、および(例えば)LCUおよびCUの四分木構造に従ったビデオブロック区分をさらに含んでよい。例えば、ビデオエンコーダ20に関して、エンコード対象ビデオスライス内のビデオブロックをエンコードするための構成要素が説明される。概して、1つのスライスは複数のビデオブロックに区分けされてよい(そして、画像ブロックと呼ばれるビデオブロックのセットに区分けされてよい)。
予測ユニット41は、現ビデオブロックの複数の考えられるデコードモードのうち1つ、例えば、複数のフレーム内デコードモードのうち1つ、または複数のフレーム間デコードモードのうち1つを、コーディング品質およびコスト(例えば、レート歪みコスト、RDコスト)の計算結果に基づき選択してよい。予測ユニット41は、フレーム内デコード済またはフレーム間デコード済ブロックを加算器50へ提供して残差ブロックデータを生成し、フレーム内デコード済またはフレーム間デコード済ブロックを加算器62へ提供してエンコード済ブロックを再構築し、再構築済ブロックを基準ピクチャとして用いてよい。
予測ユニット41内の動き推定ユニット42および動き補償ユニット44は、インター予測デコードを現ビデオブロックに関して、1または複数の基準ピクチャ内の1または複数の予測ブロックに対して実施して時間圧縮を提供する。動き推定ユニット42は、ビデオシーケンスの予め設定されたモードに基づきビデオスライスに関してフレーム間予測モードを決定するよう構成されていてよい。その予め設定モードで、シーケンス内のビデオスライスは、Pスライス、Bスライス、またはGPBスライスとして特定されてよい。動き推定ユニット42および動き補償ユニット44は高度に統合されてよいが、概念を説明する目的から別々に説明される。動き推定ユニット42により実施される動き推定は、ビデオブロックを推定するための動きベクトルを生成する処理である。例えば、動きベクトルは、基準ピクチャ内の予測ブロックに対する現ビデオフレームまたはピクチャ内のビデオブロックのPUのずれを示してよい。
予測ブロックは、デコード対象ビデオブロックとよくマッチすることが画素差分に基づいて判明したPU内のブロックである。その画素差分は、絶対差分和(SAD)、差分二乗和(SSD)、または他の差分測定基準に基づき決定されてよい。一部の実現可能な実施例において、ビデオエンコーダ20は、基準ピクチャストレージ64に格納されている基準ピクチャのサブ整数(sub−integer)画素位置の値を計算してよい。例えば、ビデオエンコーダ20は、基準ピクチャの1/4の画素位置、1/8の画素位置、または他の分数の画素位置の値で補間してよい。故に、動き推定ユニット42は、完全な画素位置および分数の画素位置に関して動きサーチを実施し、分数の画素精度で動きベクトルを出力してよい。
動き推定ユニット42は、PUの位置と、基準ピクチャの予測ブロックの位置とを比較することによりフレーム間デコード済スライス内のビデオブロックのPUの動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)または第2の基準ピクチャリスト(リスト1)から選択されてよい。各リストは、基準ピクチャストレージ64に格納されている1または複数の基準ピクチャを特定する。動き推定ユニット42は、計算された動きベクトルをエントロピーエンコードユニット56および動き補償ユニット44に送信する。
動き補償ユニット44により実装される動き補償は動き推定により決定された動きベクトルに基づき予測ブロックを抽象化または生成することを伴ってよく、分数の画素精度の補間が実施されてよい。現ビデオブロックのPUの動きベクトルを受信した後、動き補償ユニット44は、基準ピクチャリストのうち1つの動きベクトルにより指される予測ブロックの位置を特定してよい。ビデオエンコーダ20は、デコードされている現ビデオブロックの画素値から予測ブロックの画素値を減算して残差ビデオブロックを取得し、画素差分を取得する。画素差分は、ブロックの残差データを成し、輝度差分成分および色度差分成分を含んでよい。加算器50は、減算演算を実施する1または複数の構成要素である。動き補償ユニット44はさらに、ビデオデコーダ30がビデオスライス内のビデオブロックをデコードするためにビデオブロックおよびビデオスライスと関連付けられている構文要素を生成してよい。
予測ユニット41内のフレーム内予測ユニット46は、現デコード対象ブロックと同じピクチャまたはスライス内の1または複数の近隣ブロックに対して、現ビデオブロックに関してイントラ予測デコードを実施して、空間圧縮を提供してよい。故に動き推定ユニット42および動き補償ユニット44により実施される(前に説明されたような)フレーム間予測の代替として、フレーム内予測ユニット46は、現ブロックに関してフレーム内予測を実施してよい。明確に表現すると、フレーム内予測ユニット46は、現ブロックをエンコードするためにフレーム内予測モードを決定してよい。一部の実現可能な実施例において、フレーム内予測ユニット46は、(例えば)様々なフレーム内予測モードを用いて、コーディングの横断の間、現ブロックをエンコードしてよく、フレーム内予測ユニット46(または一部の実現可能な実施例において、モード選択ユニット40)は、テスト済みのモードから、用いる適切なフレーム内予測モードを選択してよい。
例えば、フレーム内予測ユニット46は、様々なテスト済みのフレーム内予測モードに関するレート歪み分析によりレート歪み値を計算し、テスト済みモードのうちレート歪み特性が最も良好なフレーム内予測モードを選択してよい。例において、レート歪み分析は、エンコード済ブロックと、そのエンコード済ブロックを生成すべくエンコードされることになるオリジナルのコーディングされていないブロックとの間の歪み(または誤差)の量、およびエンコード済ブロックを生成のに用いられるコードレート(例えば、ビット数)を決定するのに用いられる。フレーム内予測ユニット46は様々なエンコード済ブロックの歪みおよびビットレートを計算して、どのフレーム内予測モードがブロックの最も良好なレート歪みを有するかを決定してよい。HEVC規格によると、最大で35のフレーム内予測モードがあってよく、各フレーム内予測モードはインデックスと関連付けられてよい。
本願の態様は、例えばフレーム内デコードに関する。故に、本願の特定の技術はフレーム内予測ユニット46により実施されてよい。言い換えれば、例えば、イントラ予測ユニット46は、図4〜図10に関して以下に説明される本願の技術を実施してよい。他の実現可能な実施例において、ビデオエンコーダ20の1または複数の他のユニットは追加的に、または代替的に本願の技術の実行を担ってよい。
例えば、フレーム内予測ユニット46は、(例えば、上述されたようにレート歪み分析に従って)現在エンコードされているブロックのフレーム内モードを決定してよい。フレーム内予測ユニット46は、現在デコードされているブロックに隣接する1または複数の以前にデコード済みのブロックのフレーム内予測モード(MPMと呼ばれる)も決定してよい。イントラ予測ユニット46は、以下により詳細に説明されるように、(例えば)MPMを現ブロックのフレーム内モードと比較して、近隣ブロックの決定されたフレーム内モードに基づき現ブロックの決定されたフレーム内モードを示してよい。
本願によると、フレーム内予測ユニット46は、MPMを現ブロックのフレーム内モードと比較する順序に従ってMPMのリストを生成してよい。フレーム内予測ユニット46はそれから、MPMを現ブロックのフレーム内モードと比較する順序でMPMにインデックス値を割り当ててよい。このように、フレーム内予測ユニット46は、MPMがMPMのフレーム内モードインデックス値(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理で一時的に割り当てられたインデックス)に従ってソートされていないとき具体的なMPMを示してよい。
予測ユニット41がフレーム間予測またはフレーム内予測により現ビデオブロックの予測ブロックを生成した後、ビデオエンコーダ20は、現ビデオブロックから予測ブロックを減算して残差ビデオブロックを取得する。残差ブロック内の残差ビデオデータは、1または複数のTUに含まれてよく、変換処理ユニット52に適用される。変換処理ユニット52は変換、例えば、離散コサイン変換(DCT)または他の概念的に同様の変換(例えば、離散正弦変換DST)を適用して、残差ビデオデータを残差変換係数に変換する。変換処理ユニット52は、画素領域からの残差ビデオデータを、変換領域(例えば、周波数領域)に変換してよい。
変換処理ユニット52は、取得された変換係数を量子化ユニット54へ送信してよい。量子化ユニット54は、変換係数を量子化してさらにビットレートを減らす。量子化処理は、係数の一部または全てと関連付けられたビット深度を小さくし得る。量子化の程度は、量子化パラメータを調整することによって変更されてよい。一部の実現可能な実施例において、量子化ユニット54はそれから、量子化済変換係数を含む行列に関してスキャンを実施してよい。代替的に、エントロピーエンコードユニット56がスキャンを実施してよい。
量子化の後、エントロピーエンコードユニット56は量子化済変換係数をエントロピーエンコードしてよい。例えば、エントロピーエンコードユニット56は、コンテキスト適応型可変長デコード(CAVLC)、コンテキスト適応型バイナリ算術デコード(CABAC)、構文ベースのコンテキスト適応型バイナリ算術デコード(SBAC)、確率間隔区分エントロピー(PIPE)デコード、または別のエントロピーエンコード方法または技術を実施してよい。エントロピーエンコードユニット56は、現在デコードされているビデオスライスの動きベクトルおよび別の構文要素をエントロピーエンコードしてもよい。エントロピーエンコードユニット56によりエントロピーエンコードされた後、エンコード済ビットストリームがビデオデコーダ30へ送信されてよく、または続いての送信のために記録されてよく、若しくはビデオデコーダ30により取得されてよい。
エントロピーエンコードユニット56は、選択されたフレーム内予測モードを本願における技術に従って示す情報をエンコードしてよい。複数のフレーム内予測モードインデックステーブルおよび複数の変更されたフレーム内予測モードインデックステーブル(符号語マッピングテーブルとも呼ばれる)を含んでよい送信されるビットストリーム設定データに、ビデオエンコーダ20は、様々なブロックのエンコードコンテキストの定義、およコンテキストのうちそれぞれに関するMPM、フレーム内予測モードインデックステーブル、および変更されたフレーム内予測モードインデックステーブルのインジケーションを含めてよい。
逆量子化ユニット58および逆変換ユニット60はそれぞれ、逆量子化および逆変換を適用して、基準ピクチャの基準ブロックとして続いて用いられることになる画素領域内の残差ブロックを再構築する。動き補償ユニット44は、残差ブロックと、基準ピクチャリストのうち1つの基準ピクチャのうち1つの予測ブロックを合計することにより基準ブロックを計算してよい。動き補償ユニット44は、再構築された残差ブロックへ1または複数の補間フィルタを適用して、動き推定に関するサブ整数画素値を計算してもよい。加算器62は、再構築された残差ブロックと、動き補償ユニット44により生成された動き補償された予測ブロックとを追加して基準ブロックを生成する。基準ブロックは、基準ピクチャストレージ64に格納される。基準ブロックは、続くビデオフレームまたはピクチャ内のブロックに関してフレーム間予測を実施するための基準ブロックとして動き推定ユニット42および動き補償ユニット44により用いられてよい。
図3は、本願の実施形態に記載の技術の実現可能な実施例におけるビデオデコーダ30のブロック図である。図3の実現可能な実施例において、ビデオデコーダ30は、エントロピーデコードユニット80、予測ユニット81、逆量子化ユニット86、逆変換ユニット88、加算器90、および基準ピクチャストレージ92を含む。予測ユニット81は、動き補償ユニット82およびフレーム内予測ユニット84を含む。一部の実現可能な実施例において、ビデオデコーダ30は、図4に説明されているビデオエンコーダ20のエンコード処理と逆のデコード処理を実施してよい。
デコードの間、ビデオデコーダ30はビデオエンコーダ20から、エンコード済ビデオスライスのビデオブロックおよび関連付けられた構文要素を表すエンコード済ビデオビットストリームを受信する。ビデオデコーダ30のエントロピーデコードユニット80は、ビットストリームをエントロピーデコードして、定量化済係数、動きベクトル、および他の構文要素を生成する。エントロピーデコードユニット80は、動きベクトルおよび他の構文要素を予測ユニット81へ送信する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルで構文要素を受信してよい。
ビデオスライスがフレーム内デコード済(I)スライスとしてデコードされるとき、予測ユニット81のフレーム内予測ユニット84は、シグナリングされたフレーム内予測モード、および現フレームまたはピクチャの以前にデコード済みのブロックのデータに基づき、現ビデオスライス内のビデオブロックの予測データを生成してよい。
上述されたように、本願の態様は、例えばフレーム内デコードに関する。故に、本願の特定の技術はフレーム内予測ユニット84により実施されてよい。言い換えれば、例えば、イントラ予測ユニット84は、図4〜図7に関して以下に説明される本願の技術を実施してよい。他の実現可能な実施例において、ビデオデコーダ30の1または複数の他のユニットは追加的に、または代替的に本願の技術の実行を担ってよい。
例えば、フレーム内予測ユニット84は、エントロピーデコードユニット80からビデオデータの現ブロックをデコードするためのMPMのリストのインデックスを取得してよい。フレーム内予測ユニット84は、ビデオエンコーダ20と同じやり方で(例えば、MPMを現ブロックのフレーム内モードと比較する順序で)MPMをリストに含めて、インデックスが属するリストを作成してよい。フレーム内予測ユニット84はそれから、取得されたインデックスに基づきビデオデータをデコードするのに用いられる現ブロックの適切なフレーム内モードを決定してよい。このように、フレーム内予測ユニット84は、MPMがMPMのフレーム内モードインデックス値(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理で一時的に割り当てられたインデックス)に従ってソートされていないとき現ブロックをデコードするのに用いられる適切なMPMを決定してよい。
ビデオ画像がフレーム間デコード済スライス(例えば、Bスライス、Pスライス、またはGPBスライス)としてデコードされるとき、予測ユニット81の動き補償ユニット82は、エントロピーエンコードユニット80から受信される動きベクトルおよび他の構文要素に基づき現ビデオ画像のビデオブロックの予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうち1つの基準ピクチャのうち1つから生成されてよい。ビデオデコーダ30はデフォルトの構築技術を用いて、基準ピクチャストレージ92に格納されている基準ピクチャに基づき基準ピクチャリスト(リスト0およびリスト1)を構築してよい。
動き補償ユニット82は、動きベクトルおよび他の構文要素を解析することにより現ビデオスライスのビデオブロックの予測情報を決定し、その予測情報を用いて、現在デコードされているビデオブロックの予測ブロックを生成する。例えば、動き補償ユニット82は受信された構文要素の一部を用いて、ビデオスライスのビデオブロックをデコードするための予測モード(例えば、フレーム内予測またはフレーム間予測)、フレーム間予測スライスタイプ(例えば、Bスライス、Pスライス、またはGPBスライス)、スライスに関する基準ピクチャリストのうち1または複数の構築情報、スライスの各インターエンコード済ビデオブロックに関する動きベクトル、スライスの各フレーム間デコード済ビデオブロックに関するフレーム間予測ステータス、および現ビデオスライス内のビデオブロックをデコードするための他の情報を決定する。
動き補償ユニット82はさらに、補間フィルタを用いることにより補間を実施してよい。動き補償ユニット82は、ビデオブロックエンコードの間にビデオエンコーダ20により用いられる補間フィルタを用いて、基準ブロックのサブ整数画素の補間値を計算してよい。この場合、動き補償ユニット82は、受信された構文要素に基づき、ビデオエンコーダ20により用いられた補間フィルタを決定し、その補間フィルタを用いて予測ブロックを生成してよい。
逆量子化ユニット86は、ビットストリーム内で提供され、エントロピーエンコードユニット80によりデコードされる量子化済変換係数に対して逆の量子化(例えば、逆量子化)を実施する。逆の量子化処理は、ビデオスライス内の各ビデオブロックに関してビデオエンコーダ20により計算される量子化パラメータに基づき量子化の度合いを決定することと、適用されることになる逆量子化の度合いを決定することとを含んでよい。逆変換ユニット88は、逆変換(例えば、逆DCT、逆整数変換、または概念的に同様の逆変換処理)を変換係数に適用して、画素領域で残差ブロックを生成する。
動き補償ユニット82が動きベクトルおよび他の構文要素に基づき現ビデオブロックの予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット88からの残差ブロック、および動き補償ユニット82により生成された対応する予測ブロックを合計して、デコード済ビデオブロックを生成する。加算器90は、合算演算を実施する1または複数の構成要素である。必要であればデブロックフィルタがデコード済ブロックをフィルタリングのに用いられて、ブロックアーチファクトを取り除いてよい。別のループフィルタ(インループデコードフィルタまたはアウターループデコードフィルタ)も画素変換を円滑にするのに用いられてよく、またはビデオ品質は別の方式で向上させられる。それから、所与のフレームまたはピクチャ内のデコード済ビデオブロックは基準ピクチャストレージ92に格納される。基準ピクチャストレージ92は、続いての動き補償に用いられる基準ピクチャを格納する。基準ピクチャストレージ92は、図1の表示装置32などの表示装置で後に提示されることになるデコード済ビデオも格納する。
上述されたように、本願の技術は、例えばフレーム内デコードに関する。理解されるべきことは、本願における技術は、本願に記載の任意のビデオデコーダで実装されてよく、ビデオデコーダは、(例えば)図1〜図3で示され説明されているビデオエンコーダ20およびビデオデコーダ30を含むということである。言い換えれば、実現可能な実施例において、図2に記載のフレーム内予測ユニット46が、ビデオデータのブロックのエンコードの間にフレーム内予測を実施するとき、以下に説明されている特定の技術を実施してよい。別の実現可能な実施例において、図3を参照して説明されているフレーム内予測ユニット84が、ビデオデータのブロックのエンコードの間にフレーム内予測を実施するとき、以下に説明されている特定の技術を実施してよい。故に、一般的な「ビデオデコーダ」の参照は、ビデオエンコーダ20、ビデオデコーダ30、または別のビデオコーディングユニットを含んでよい。
一部の実現可能な実施例において、ビデオデコーダは、フレーム内予測デコードの間、いわゆる「最も確率の高い」フレーム内予測モードを特定してよい。言い換えれば、例えば、ビデオエンコーダ(例えば、ビデオエンコーダ20)は、以前にエンコードされたブロック(例えば、基準ブロック)のフレーム内予測モードを特定し、そのフレーム内予測モードを現ブロックのフレーム内予測モードと比較してよい。基準ブロックと現ブロックとの空間的近接性が故に、これら基準ブロックのフレーム内モードが現ブロックのものと同じである、または同様である確率は比較的高くあり得る。以下により詳細に説明されるように、複数の基準ブロックのフレーム内予測モードが、MPMの特定の間、検討されてよい。
現ブロックのフレーム内予測モードがMPMと同じである場合、ビデオエンコーダ20は、1ビットのMPMフラグを信号として用いてフレーム内予測モードを送信してよい。言い換えれば、ビデオエンコーダ20は、現ブロックのフレーム内予測モードがMPMと同じであることをシグナリングしてよく、現ブロックのフレーム内予測モードを明示的に特定する必要はない。ビデオデコーダ30は、現ブロックのフレーム内モードがMPMと同じであることを示すフラグを受信し、ビデオエンコーダ20と同じ処理手順を用いてMPMを決定してよい。
図4は、現ブロック(例えば、コーディングユニット)(「現CU」)、およびフレーム内デコードの間に検討されてよい2つの基準ブロック(例えば、「A」および「B」)の実現可能な実施例を示す。例えば、ビデオエンコーダ(例えば、ビデオエンコーダ20)は、(現ブロックの左側に位置する)基準ブロックAおよび(現ブロックの上側に位置する)基準ブロックBと関連付けられたフレーム内モードを現ブロックのMPMとして検討してよい。一部の実現可能な実施例において、どのMPM候補(例えば、ブロックまたはブロック)もフレーム内モードを用いない、または別の方式で利用可能ではない(例えば、ブロックがデコードされていない)場合、ビデオエンコーダ20はそれから、デフォルトのフレーム内モード、例えばDCモードを、ブロックに割り当ててよい。同様に、一部の実現可能な実施例において、MPMの数は2より大きくてよい。例えば、ビデオエンコーダ20は、2より多くの基準ブロックのフレーム内モードに基づき追加のMPMを生成してよい。
(例えば、フレーム内予測ユニット46により計算される)現ブロックの実際のフレーム内モードが基準ブロックAまたは基準ブロックBのものと同じである場合、ビデオエンコーダ20は、1ビットのフラグをシグナリングして、MPMが現ブロックをエンコードするのに用いられることを示してよい(例えば、MPMフラグを「1」に設定)。
加えて、一部の実現可能な実施例において、ビデオエンコーダ20は、MPMを特定するためにインデックスをシグナリングしてよい。具体的には、デコード規格に従って規定されるように、各フレーム内モードは、関連付けられたフレーム内モードインデックス(規格により各モードに事前割り当てされたインデックス、および非エンコード、デコード処理において一時的に割り当てられたインデックス)を有してよく、そのフレーム内モードインデックスが、複数の考えられるフレーム内モードのうち1つとしてフレーム内モードを特定するのに用いられる。例えば、HEVC規格でサポートされている35のフレーム内モード、および各フレーム内モードに割り当てられるインデックス値が、次の表1に示されている。
表1:フレーム内予測モードおよびインデックス番号
表1の実現可能な実施例において、プラナーモードは、オリジナルのインデックス値0を有し、DCモードは、オリジナルのインデックス値1を有し、様々な指向性予測モードは、オリジナルのインデックス値2〜34を有する。オリジナルのインデックス値とは、規格によって各モードに事前割り当てされているインデックス、および非エンコード、デコード処理において一時的に割り当てられるインデックスを指す。
実現可能な実施例において、ビデオエンコーダ20は、ビデオデータの現ブロックと関連付けられたフレーム内モードを1または複数の基準ブロックと関連付けられたフレーム内モード、例えば、1または複数の近隣ブロック(例えば、現ブロックと空間的に隣接するブロック)のフレーム内モードと比較して、現ブロックの実際のフレーム内モードにマッチするMPMのうち1つを決定してよい。ビデオエンコーダ20は、現ブロックのフレーム内モードを2つの近隣ブロックと比較してよいが、より多くの、またはより少ない基準ブロック(例えば、1つの基準ブロック、3つの基準ブロック、5つの基準ブロックなど)のフレーム内モードを検討してよい。加えて、MPMは、近隣フレーム内モードに基づき生成されてよい。
実現可能な実施例において、ビデオエンコーダ20は、MPMを現フレーム内モードと比較する順序で、インデックス値をMPMへ割り当ててよい。MPMが2つである実現可能な実施例において、ビデオエンコーダ20はまず、現ブロックのフレーム内モードを左側の近隣ブロックのフレーム内モードと比較し、それから、現ブロックのフレーム内モードを上側の近隣ブロックのフレーム内モードと比較してよい(例えば、図4に示されている配置を参照)。この場合、ビデオエンコーダ20は、インデックス値「0」を左側の近隣ブロックのフレーム内モードに割り当て、インデックス値「1」を上側の近隣ブロックのフレーム内モードに割り当ててよい。実現可能な実施例において、MPMが2より多くあるとき、追加のインデックス値が別のMPMに割り当てられてよい。現ブロックのフレーム内モードがMPMのうち1つとマッチしない場合、ビデオエンコーダ20は、MPMのフラグをゼロに設定してよい。加えて、ビデオエンコーダ20は固定長テーブルまたは別の方法を用いて、残りのフレーム内モードをデコードしてよい。
実現可能な実施例において、ビデオデータのブロックのフレーム内デコードに関して35のフレーム内モードが用いられてよいと想定している。それら35のフレーム内モードが、モード番号を用いることにより特定されてよく、それらモード番号は、利用可能なフレーム内モードを特定するために表に含まれてよいとさらに想定している。現モードがMPMではない実現可能な実施例において、MPMは15、2、および31であり、現モードが16であると想定してよい。ビデオデコーダ30またはビデオエンコーダ20は最初に、昇順でMPMをソートしてよい。故に、MPM15、2および31のリストは、ソート後に、2、15、および31のリストに変わる。次に、ビデオエンコーダ/デコーダは、現モードがMPMではないことが分かっているので残りのフレーム内モードからMPMを除外してよい。残りの32のモードがそれから、32の5ビットの符号語に再マッピングされてよい。実現可能な実施例において、モード2、15および31を除外した残りの32のモードの表が用いられてよい。別の実現可能な実施例において、表は用いられなくてよい。
マッピングに関して、例えば、現モード(例えば、モード16)が、ソートされたMPMのうち最初のもの(モード2)より大きい、またはそれと等しいので、ビデオデコーダは現モードから1を減算してよい(16−1=15)。第1の減算の後に取得される値(15)もソートされたMPMのうち2番目のもの(15)より大きい、またはそれと等しく、故に、ビデオデコーダはまた1を減算する(15−1=14)。第2の減算の後に取得される値(14)は31より小さいので、ビデオデコーダは次の減算を実施しない。故に現モードは、現モード16に関して2つの減算(16−2=14)を実施することによる計算により取得される新たな表で14番目の入力項目にマッピングされる。別の実現可能な実施例において、モードは異なるやり方でマッピングされてよい。
現モードがMPMではない別の実現可能な実施例において、MPMは5、4、および6であり、現モードが15であると想定してよい。ビデオデコーダは昇順でMPMをソートしてよい。故に、5、4、および6は4、5、および6に変わる。ビデオデコーダはそれから、モード4、5および6を除く残りの32のモードのリストまたは表を生成してよい。上述されているように、理解されるべきことは、表は全ての実現可能な実施例においては用いられないということである。
図5は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード方法のフローチャートである。
例えば、65の指向性予測モードと2つの無指向性予測モード、プラナー(planar)モードおよび直流(DC)モードを含む67の候補フレーム内予測モードがあると想定してよい。プラナーモードおよびDCモードは、H.265における対応する予測モードと同じである。65の指向性予測モードにより表される予測方向および分布が図6に示されている。分かるのは、指向性予測モードは、2次元平面上の180度の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含むということである。加えて、例えば、先述の67の候補フレーム内予測モードが、MPMセット、Selected modesのセット、Non−selected modesのセット(残りのモードとも呼ばれてよい)に分割されて、エンコードのためにフレーム内予測モードを最終的に選択する効率を向上させてよいと想定してよい。さらに、MPMセットが6の候補フレーム内予測モードを含み、Selected modesのセットが16の候補フレーム内予測モードを含み、残りの45の候補フレーム内予測モードが残りのモードである、またはNon−selected modesのセットに属すると想定してよい。理解されるべきことは指向性予測モードの数、無指向性予測モードの数、MPMセット内の予測モードの数、Selected modesのセット内の予測モードの数、およびNon−selected modesのセット内の予測モードの数は限定されるものではないということである。
理解されるべきことは、MPMセット内の候補フレーム内予測モードのセットは、67の候補フレーム内予測モードのサブセットであるということである。
理解されるべきことは、MPMセット内の候補フレーム内予測モードは互いに異なり、Selected modesのセット内の候補フレーム内予測モードが互いに異なるということである。
例として、本願の本実施形態の方法は以下のステップを含む。
S5001:ビットストリームを解析して第1の識別子を取得。第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられる。
第1のモードセットはMPMセットであり、対応して第1の識別子は、エンコーダ側により最終的に選択される現デコード対象ユニットのフレーム内予測モードがMPMセットからのものであるかを識別するフラグであると想定されてよい。例えば、第1の識別子が「1」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがMPMセットからのものであることを示しており;または第1の識別子が「0」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがMPMセットに属さないことを示す。
理解されるべきことは、MPMセット内の候補フレーム内予測モードのタイプ、セットリストのうち候補フレーム内予測モードの配置順を含む複数の方式でMPMセットが構築されてよいということである。
第1の実現可能な実施例において、MPMセット内の候補フレーム内予測モードは次のものを含む:(1)現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードであって、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じコーディングユニットセットに属し、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含み、同じコーディングユニットセットに属するとは同じピクチャ、同じスライス(slice)、同じタイル(tile)などに属すること、つまり、予め設定された位置の近隣の再構築ユニットが存在することを意味し、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上の、現デコード対象ユニットの右上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含んでよい、フレーム内予測モード;(2)予め設定された無指向性予測モードおよび予め設定された指向性予測モードを含む予め設定されたフレーム内予測モード;および(3)(1)に基づき取得される、指向性予測モードおよび隣接する予測方向の予測モード。
例として、(1)の候補フレーム内予測モードは、図7に示されている現デコード対象ユニットの左側(L)の位置、上側(A)の位置、左下(BL)の位置、右上(AR)の位置、および左上(AL)の位置のフレーム内予測モードを含んでよい。(2)の候補フレーム内予測モードは、無指向性予測モード(DCモードおよび/またはプラナーモード)、予め設定された指向性予測モード、例えば、垂直方向モード、水平方向モード、インデックス番号が2の方向モード、および斜め45度方向モードを含む。このことは限定されるものではない。(3)の候補フレーム内予測モードは、MPMセット内の(1)の候補フレーム内予測モードのインデックス番号と1だけ異なるインデックス番号により示される候補フレーム内予測モードを含み、例えば、MPMセット内の(1)の候補フレーム内予測モードのインデックス番号と2、3、または別の整数値だけ異なるインデックス番号により示される候補フレーム内予測モードをさらに含んでよい。このことは限定されるものではない。
理解されるべきことは、MPMセットのリストへ繰り返し同じ候補フレーム内予測モードを追加することを避けるよう、およびMPMセットのリスト内の各インデックス値が確実に1つのフレーム内予測モードのみを表すよう、MPMセットのリストへ異なる候補フレーム内予測モードを追加する処理において、「剪定」(pruning)を同時に実施する必要があるということである。
理解されるべきことはMPMセットのキャパシティは予め設定されており、つまり、MPMセットは予め設定された数の候補フレーム内予測モードを含むということである。MPMセットのリストを構築する処理において、MPMセットのキャパシティに達するまで候補フレーム内予測モードが予め設定された順序で順にMPMセットに追加される。
概して、予め設定された順序は、(1)の候補フレーム内予測モード、予め設定された無指向性候補フレーム内予測モード、(3)の候補フレーム内予測モード、および予め設定された指向性候補フレーム内予測モードを含む。理解されるべきことは、予め設定された順序は、傾向のみを反映しており、具体的な実装順序は逆であっても、交差させてもよいということである。このことは限定されるものではない。
結論として、第1の実現可能な実施例に対応する具体的な実施形態において、候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じであるかが次の順序でチェックされてよい:現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index A);現デコード対象ユニットの真上の、現デコード対象ユニットの右上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index B);プラナーモード;DCモード;現デコード対象ユニットの左下の利用可能な再構築ユニットのフレーム内予測モード(C);現デコード対象ユニットの右上の利用可能な再構築ユニットのフレーム内予測モード(D);現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モード(E);インデックス(A+1/−1)に対応するフレーム内予測モード;インデックス(B+1/−1)に対応するフレーム内予測モード;インデックス(C+1/−1)に対応するフレーム内予測モード;インデックス(D+1/−1)に対応するフレーム内予測モード;インデックス(E+1/−1)に対応するフレーム内予測モード;垂直方向予測モード;水平方向予測モード;インデックス2に対応するフレーム内予測モード;斜め45度予測モード。候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じでなく、MPMリストが完全に埋まってないとき、候補フレーム内予測モードはMPMリストに追加される。先述の処理は、コードを用いることにより次のように表されてもよい(uiIntraDirPred[]はMPMセットのリストであり、modeIdxはリスト内の各フレーム内予測モードのインデックス値である:
第2の実現可能な実施例において、MPMセットのリストを構築する方式は第1の実現可能な実施例のものと同じである。異なるのは、第2の実現可能な実施例に対応する対応する具体的な実施形態においては、候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じであるかが次の順序でチェックされる点である:現デコード対象ユニットの左隣の、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index A);現デコード対象ユニットの真上の、現デコード対象ユニットの右上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード(index B);プラナーモード;現デコード対象ユニットの左下の利用可能な再構築ユニットのフレーム内予測モード(C);現デコード対象ユニットの右上の利用可能な再構築ユニットのフレーム内予測モード(D);現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モード(E);DCモード;インデックス(A+1/−1)に対応するフレーム内予測モード;インデックス(B+1/−1)に対応するフレーム内予測モード;インデックス(C+1/−1)に対応するフレーム内予測モード;インデックス(D+1/−1)に対応するフレーム内予測モード;インデックス(E+1/−1)に対応するフレーム内予測モード;垂直方向予測モード;水平方向予測モード;インデックス2に対応するフレーム内予測モード;斜め45度予測モード。候補フレーム内予測モードがMPMリスト内の既存のフレーム内予測モードと同じでなく、MPMリストが完全に埋まってないとき、候補フレーム内予測モードはMPMリストに追加される。言い換えれば、第1の実現可能な実施例に対応する具体的な実施形態に基づいて、DCモードが、現デコード対象ユニットの左上の利用可能な再構築ユニットのフレーム内予測モードの後に置かれる。
第3の実現可能な実施例において、MPMセット内の候補フレーム内予測モードは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード内で使用頻度が降順で上位N位内のランクのフレーム内予測モードを含む。Nは予め設定されたゼロ以外の正の数である。
対応してステップS5001の前に、方法は以下のステップをさらに含む。
ステップS5002:現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集。実現可能な実施例において、図8に示されているように、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。別の実現可能な実施例において、図9に示されているように、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。例として、このステップは:現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得すること、取得された同じフレーム内予測モードを累算すること、および複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得することを含んでよい。
理解されるべきことは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードのタイプの数がMPMセットのキャパシティ未満であるとき、MPMセット内の候補フレーム内予測モードの数が予め設定された値に達するまで、第1の実現可能な実施例と同様の方式で、MPMセットに存在する候補フレーム内予測モードに隣接する予測方向のフレーム内予測モード、または予め設定されたフレーム内予測モードがMPMセットのリストに追加されてよいということである。
理解されるべきことは、第1のモードセットを解析すること、および構築することにより第1の識別子を取得することは、時間に関して互いに独立した処理であるということである。第1の識別子は、第1のモードセットが構築される前に解析により取得されてよく;第1の識別子は、第1のモードセットが構築された後に解析により取得されてよく;またはそれら2つの処理は並列で実施されてよい。このことは限定されるものではない。
S5003:第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得。第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第2の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。
実現可能な実施例において、単進符号(Unary code)が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
第1の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表2:第2の識別子の符号語割り振り方式
第2の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表3:第2の識別子の符号語割り振り方式
表4:第2の識別子の別の符号語割り振り方式
表5:第2の識別子のさらに別の符号語割り振り方式
理解出来るのは、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つ(DCモード)を示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード(インデックスA〜Eにより表されるフレーム内予測モード)を示す任意の第2の識別子の符号語長さ以上であるということである。
第3の実現可能な実施例に対応する具体的な実施形態において、以下の方式で、異なるフレーム内予測モードを表す第2の識別子に異なる符号語が割り当てられてよい。
表6:第2の識別子の符号語割り振り方式
表7:第2の識別子のさらに別の符号語割り振り方式
理解出来るのは、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に出現するとき、第2の識別子の符号語長さはより短いということである。
理解されるべきことは、使用確率が異なる、同じセット内の異なる要素のエンコードに単進符号が適用可能であるということである。使用確率がより高い要素にはより短い符号語が割り当てられ、使用確率がより低い要素にはより長い符号語が割り当てられる。基本的な技術的目的である同じセット内の異なる要素を区別するということに関しては、上記のことにより、エンコードインデックスのビットレートが減り、さらにエンコードおよびデコード効率が向上する。
S5004:第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得。第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられる。
第2のモードセットはselected modesのセットであり、対応して第3の識別子は、エンコーダ側により最終的に選択される現デコード対象ユニットのフレーム内予測モードがselected modesのセットからのものであるかを識別するフラグであると想定されてよい。例えば、第3の識別子が「1」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがselected modesのセットからのものであることを示しており;または第3の識別子が「0」であるとき、このことは、現デコード対象ユニットのフレーム内予測モードがselected modesのセットに属さないことを示す。
理解されるべきことは、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間には重複がないということである。
第4の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含む。例として、selected modesのセット内の候補フレーム内予測モードは、MPMセットに含まれない、インデックス番号が{0,4,8,12,...,60}のフレーム内予測モードを含んでよい。
第5の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。例として、方法は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する段階であって、第1の方向間隔はゼロ以外の整数である、段階をさらに含む。方法は、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加する段階であって、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい、段階をさらに含む。例えば、selected modesのセット内の候補フレーム内予測モードは、MPMセット内の指向性予測モード(例えば、MPM予測モードのインデックスに2を加えた、および/または2を減じたものに対応するフレーム内予測モード)の隣接する予測方向を表す予測モードに基づき構築されてよい。これら候補フレーム内予測モードは、同時にはMPMセット内で存在出来ない。さらに、構築された候補フレーム内予測モードがselected modesのセットの予め設定されたキャパシティより小さい場合、方向間隔が増やされてよい。例えば、MPM予測モードのインデックスに3を加えた、および/または3を減じたものに対応するフレーム内予測モードがselected modesのセットに追加されてよい。方向間隔はさらに、selected modesのセット内の候補フレーム内予測モードの数が予め設定された値に達するまで連続的に大きくされてよい。
理解されるべきことは、現デコード対象ユニットの周辺ブロックが、現デコード対象ユニットと同じテクスチャエリアに位置する確率は比較的高く、つまり、空間相関によれば、周辺ブロックと現デコード対象ユニットとは同じ、または同様のフレーム内予測モードを有するということである。周辺ブロックのエンコードの事前情報がより完全に利用され、エンコード効率が向上するよう、周辺ブロックのフレーム内予測モードの影響がselected modesのセットの構築の間に検討される。
第6の実現可能な実施例において、MPMセットが無指向性予測モードを含まないとき、selected modesのセットは無指向性予測モードをさらに含んでよい。例として、MPMセットがプラナーモードを含まないとき、selected modesのセットはプラナーモードをさらに含んでよい。MPMセットがDCモードを含まないとき、selected modesのセットはDCモードをさらに含んでよい。
第7の実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モード内で使用頻度が降順で上位N位内のランクのフレーム内予測モードを含む。Nは予め設定されたゼロ以外の正の数であり、N個のフレーム内予測モードはMPMセットに含まれない。実現可能な実施例において、selected modesのセット内の候補フレーム内予測モードの数が予め設定した数に達するまで、先述のフレーム内予測モードが、使用頻度の降順でselected modesのセットに追加される。実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードのうち使用頻度が降順で上位N位内のランクのフレーム内予測モードが既に、MPMセット内のフレーム内予測モードとして用いられているとき、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードがselected modesのセット内の候補フレーム内予測モードとして用いられ、Mは予め設定されたゼロ以外の正の数であり、MはNより大きい。具体的な実装に関しては、第3の実現可能な実施例を参照されたい。詳細は改めて説明されない。
理解されるべきことは、この実現可能な実施例において、周辺ブロックのエンコードの事前情報がより完全に利用され、エンコード効率が向上するよう、周辺ブロックのフレーム内予測モードの影響が同じくより完全に検討されるということである。
理解されるべきことは、第4〜第7の実現可能な実施例は、例として、selected modesのセットを構築するいくつかの独立した実施例を提供するということである。いずれの実現可能な実施例によっても、selected modesのセット内の候補フレーム内予測モードが予め設定した数に達することが出来ないとき、selected modesのセットは、別の実現可能な実施例の実施例の方法と組み合わせて構築されてよい。構築は、独立した実施例に限定されず、異なる実施例を組み合わせる方式は限定されない。
理解されるべきことは、第2のモードセットを解析すること、および構築することにより第3の識別子を取得することは、時間に関して互いに独立した処理であるということである。第3の識別子は、第2のモードセットが構築される前に解析により取得されてよく;第3の識別子は、第2のモードセットが構築された後に解析により取得されてよく;またはそれら2つの処理は並列で実施されてよい。このことは限定されるものではない。
S5005:第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得。第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第4の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。
実現可能な実施例において、固定長コード(fixed−length code)が第4の識別子に用いられる。
例として、selected modesのセット内の
候補フレーム内予測モードの数が16であるとき、selected modesのセット内の各候補フレーム内予測モードは、4ビットの固定長の符号語を用いることによりエンコード/デコードされる。
表8:第4の識別子の符号語割り振り方式
S5006:第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得。第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
言い換えれば、第5の識別子により示される候補フレーム内予測モードは、現デコード対象ユニットのフレーム内予測モードとして用いられる。複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードは、一部の実施形態においてnon−selected modesのセット内の候補フレーム内予測モードと呼ばれ、一部の他の実施形態において残りの候補フレーム内予測モード(remaining modes)と呼ばれる。このことは限定されるものではない。
実現可能な実施例において、短縮されたバイナリコード(truncated binary code)が第5の識別子に用いられる。
表9:第5の識別子の符号語割り振り方式(5つのフレーム内予測モードが例として用いられている)
理解されるべきことは、第1〜第3の実現可能な実施例ではMPMセットを構築する方式が説明され、第4〜第7の実現可能な実施例では、selected modesのセットを構築する方式が説明されているということである。異なる具体的な実施形態において、MPMセットを構築する方式と、selected modesのセットを構築する方式との異なる組み合わせがあってよい。具体的な組み合わせ方式は限定されるものではない。
具体的な実施例の解決手段において、67の予め設定された候補フレーム内予測モードが、MPMセットに属する6の候補フレーム内予測モードと、Selectedのセットに属する16の候補フレーム内予測モードと、Non−selectedのセットに属する残りの候補フレーム内予測モードとに分割される。以下のステップが存在する。
S6001:MPM_flagをデコード。MPM_flagが1である場合、このことは予測モードがMPMモードであることを示す。デコードにより取得されたMPMインデックスとMPM予測モードリストとに基づきフレーム内予測モードを導出。単進符号デコード方式がMPMインデックスに用いられ、MPM予測モードリストを構築する処理は次の通りである(図7のブロックの位置関係を参照)。
1.Lブロックが存在し、フレーム内予測モードを有する場合、Lブロックの予測モードをMPMリストに追加。
2.Aブロックが存在し、フレーム内予測モードを有する場合、およびAブロックの予測モードがMPMリストに追加されていない場合、Aブロックの予測モードをMPMリストに追加。
3.PlanarモードがMPMリストに追加されていない場合、PlanarモードをMPMリストに追加。
4.BLブロックが存在し、フレーム内予測モードを有する場合、およびBLブロックの予測モードがMPMリストに追加されていない場合、BLブロックの予測モードをMPMリストに追加。
5.ARブロックが存在し、フレーム内予測モードを有する場合、およびARブロックの予測モードがMPMリストに追加されていない場合、ARブロックの予測モードをMPMリストに追加。
6.ALブロックが存在し、フレーム内予測モードを有する場合、およびALブロックの予測モードがMPMリストに追加されていない場合、ALブロックの予測モードをMPMリストに追加。
7.MPMリスト内の予測モードの数が6未満であり、DCモードがリストに追加されていない場合、DC予測モードをMPMリストに追加。
8.MPMリスト内の予測モードの数が6未満である場合、既存のMPMリスト内の追加されているモードの順で、MPMリスト内の角予測モードのうち隣接する角予測モード(PlanarモードおよびDCモード以外のangle_modeモード)、つまり、angle_mode−1およびangle_mode+1を順に追加。図6に示されているように、角度モードが2である場合、angle_mode−1はモード66の追加に対応する。角度モードが66である場合、angle_mode+1はモード2の追加に対応する。MPMリスト内のモードの数が6に達した場合、処理はストップする。
9.MPMリスト内の予測モードの数が6未満である場合、追加されていないデフォルトモードリスト内のモード、つまり、{Planar,DC,Ver(垂直モード),Hor(水平モード),2,DIA(対角モード34、つまり斜め45度方式)}で順に追加。
S6002:MPM_flagが0である場合、selected_flagをデコード。selected_flagが1である場合、このことは、デコードに関して現在選択されている予測モードがSelectedモードであることを示している。Selectedモードインデックスをデコードし、それから、Selectedモードの構築されたリストに基づき予測モードを導出。4ビットの固定長のコードのデコード方式がSelectedモードインデックスに用いられ、Selectedモードを構築する処理は次の通りである。
MPMモード以外の残りの予測モードのうち16の予測モードがSelectedモードとして選択される。角度モードの隣接する角予測モードがMPMリスト内の角予測モードの順で順に追加される。角度間隔は2の倍数である。例えば、最初に追加される角度間隔は2であり、つまり、angle_mode−2およびangle_mode+2である。MPMリスト内の全ての角度モードを横断後、Selectedモードの数が依然として16未満である場合、角度間隔が4の隣接する角度モードが続けて追加される。同様にして、角度間隔は16のモードが選択されるまで徐々に大きくされる。追加処理において、追加される角度モードは追加されておらず、MPMモードではないということを確実にする必要がある。追加処理において、mod=65に基づく角度モードの隣接する角は回転し、つまり、モード2とモード66とは隣接する角度モードである。理解されるべきことは、角度間隔は代替的に、1の倍数、3の倍数などであってよいということである。このことは、プロトコル内で事前にエンコーダ側で角度間隔についての同意があれば限定されるものではない。
この処理は、以下のように疑似コードにより表されてよい。
表10:Selectedモードを構築する処理
S6003:selected_flagが0である場合、このことは、デコードに関して現在選択された予測モードがNon−selectedのセット内のモードであることを示し、モードインデックスをデコードし、予測モードを導出。Non−selectedモードのインデックスは短縮されたバイナリコード(truncated binary code)として表現されてよい。
この解決法は、開発されているH.266規格のテストモデルHM16.6−JEM−6.0で実装され、基準としてオリジナルのHM16.6−JEM−6.0を用い、JVET規格組織が推奨する一般的なテスト条件の下でのテストを実施する。この解決法によると、約0.15%の輝度性能向上が平均で得られてよい。具体的な性能向上は次の表に示されている。
表11:技術的性能分析
別の具体的な実施例の解決手段において、67の予め設定された候補フレーム内予測モードが、MPMセットに属する6の候補フレーム内予測モードと、Selectedのセットに属する16の候補フレーム内予測モードと、Non−selectedのセットに属する残りの候補フレーム内予測モードとに分割される。以下のステップが存在する。
S7001:統計ユニットとしてコーディングユニット:最低輝度成分の4×4画素ブロックを用いることにより、現デコードブロックの隣接するデコード済ブロックにより用いられるフレーム内予測モードについての統計を収集。
S7002:MPM_flagをデコード。MPM_flagが1である場合、このことは、予測モードがMPMモードであることを示している。MPMインデックスをデコードし、使用確率に基づきMPMリストの最も前方の位置に、最も頻繁に選択されるフレーム内予測モードを配置。あるモードがより前方位置に配置されるとき、そのモードに対応するMPMインデックスをデコードするのに用いられるビット数はより少ない。
S7003:MPM_flagが0である場合、selected_flagをデコード。selected_flagが1である場合、このことは、デコードに関して現在選択されている予測モードがSelectedモードであることを示す。Selectedモードインデックスをデコードし、Selectedモードのリストに、MPMリストに追加されていない隣接ブロックの予測モードを追加。リストが埋まっていない場合、MPMモードの隣接する角度モード、および隣接ブロック予測モードを選択されたモードとして追加し、16のSelectedモードが埋まるまで隣接角度間隔を徐々に大きくする。隣接角度間隔は、Selectedモードのリストが完全に埋まるまで1、2、3、4などの順序で順に大きくされてよい。4ビットの固定長のコードのデコード方式がSelectedモードインデックスに用いられる。
S7004:selected_flagが0である場合、このことは、デコードに関して現在選択された予測モードがNon−selectedのセット内のモードであることを示し、モードインデックスをデコードし、予測モードを導出。Non−Selectedモードのインデックスは短縮されたバイナリコードとして表現されてよい。
図5に関連する先述の実現可能な実施例および具体的な実施形態は、本願に係るフレーム内予測によりビデオデータをデコードするための1または複数の方法は説明している。理解されるべきことは、先述の説明によれば概して、エンコーダ側がレート歪みなどの基準に従って、複数の候補フレーム内予測モードからエンコードコストが最も低い候補フレーム内予測モードを、(現デコード対象ユニットに対応する)現エンコード対象ユニットにより最終的に選択され、ビットストリームにエンコードされるフレーム内予測モードとして選択する、ということである。最終的に選択されるフレーム内予測モードが選択された後、フレーム内予測モードのインジケーション(例えば、先述の説明における第1の識別子、第2の識別子、第3の識別子、第4の識別子、第5の識別子)が、(デコード処理における第1の識別子、第2の識別子、第3の識別子、第4の識別子、および第5の識別子を解析することに対応する)先述のデコード方法と全く逆のエンコード処理に従ってビットストリームにエンコードされる。理解されるべきことは、第1のモードセットおよび第2のモードセットの構築が、エンコーダ側とデコーダ側とで完全に整合がとれているということである。エンコーダ側についての具体的な実施形態は説明されていない。しかしながら、理解されるべきことは、本発明に記載のフレーム内予測方法はエンコード方法にも適用可能であるということである。
図10は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置80は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット81であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニット81を含み、解析ユニット81はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
実現可能な実施例において、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、予め設定された方向間隔でのサンプリングにより取得される指向性予測モードを含み、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、解析ユニット81はさらに、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、指向性予測モードは、2次元平面上の180度の任意の2つの方向間で等しい角度間隔で分散させられている複数の予測方向により表される予測モードを含む。
実現可能な実施例において、無指向性予測モードは、直流モードとプラナーモードとを含む。
実現可能な実施例において、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットは、現デコード対象ユニットと同じコーディングユニットセットに属する、フレーム内予測により予測子を取得する予め設定された位置の近隣の再構築ユニットを含む。
実現可能な実施例において、コーディングユニットセットは、ピクチャ、スライス、またはタイルを含む。
実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する再構築ユニットと、現デコード対象ユニットの真上にあり、現デコード対象ユニットの右上の角に隣接する再構築ユニットと、左下の隣接する位置の再構築ユニットと、右上の隣接する位置の再構築ユニットと、左上の隣接する位置の再構築ユニットとを含む。
実現可能な実施例において、デコード装置80は、構築ユニット82をさらに含み、構築ユニット82は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定された後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達するまで、現デコード対象ユニットの左隣にあり、現デコード対象ユニットの左下の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの真上にある、現デコード対象ユニットの右上の角に隣接する利用可能な再構築ユニットのフレーム内予測モード、プラナー予測モード、現デコード対象ユニットの左下にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの右上にある利用可能な再構築ユニットのフレーム内予測モード、現デコード対象ユニットの左上にある利用可能な再構築ユニットのフレーム内予測モード、および直流モードの順で第1のモードセットを構築するよう構成されており、第1のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、構築ユニット82はさらに、第1のモードセットの構築が完了した後、第1のモードセット内の候補フレーム内予測モードの数が第1の予め設定された値に達しないとき、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを第1のモードセットに追加するよう構成されている。
実現可能な実施例において、単進符号が第2の識別子に用いられ、第2の識別子により示される候補フレーム内予測モードが第1のモードセット内のより前方位置に配置されるとき、第2の識別子の符号語長さはより短い。
実現可能な実施例において、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含む。
実現可能な実施例において、構築ユニット82はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット82はさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第2の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
実現可能な実施例において、構築ユニット82はさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
図11は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置90は、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット91であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含む、解析ユニット91を含み、解析ユニット91はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、解析ユニット91はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、解析ユニット91はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、解析ユニット91はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、解析ユニット91は構築ユニット92をさらに含み、構築ユニット92はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定された後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット92はさらに、第2のモードセットの構築が完了した後、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第3の予め設定された値に達するまで、第1のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
実現可能な実施例において、構築ユニット92はさらに、第1のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを用いることにより第2のモードセットを構築する前に、第1の無指向性予測モードを用いることにより第2のモードセットを構築するよう構成されており、第1のモードセットは第1の無指向性予測モードを含まない。
図12は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置100は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成された統計収集ユニット101と、ビットストリームを解析して第1の識別子を取得するよう構成された解析ユニット102であって、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数である、解析ユニット102とを含み、解析ユニット102はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
実現可能な実施例において、解析ユニット102はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、解析ユニット102はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、第1のモードセット内の候補フレーム内予測モードは互いに異なり、第2のモードセット内の候補フレーム内予測モードは互いに異なる。
実現可能な実施例において、解析ユニット102はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属さないと決定されたとき、ビットストリームを解析して第5の識別子を取得するよう構成されており、第5の識別子は、複数の予め設定された候補フレーム内予測モードのうち第1のモードセットおよび第2のモードセット内のフレーム内予測モード以外の候補フレーム内予測モードのうちの、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
実現可能な実施例において、統計収集ユニット101は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのうち現デコード対象ユニットに隣接する4×4の輝度再構築画素ユニットにより用いられるフレーム内予測モードを取得し、取得された同じフレーム内予測モードを累算し、複数の予め設定された候補フレーム内予測モードのうちそれぞれの累算数を取得するよう構成されている。
実現可能な実施例において、予め設定された位置の近隣の再構築ユニットは、現デコード対象ユニットに隣接する再構築ユニットを含む。
実現可能な実施例において、予め設定された位置は、現デコード対象ユニットの上側の境界の延長線上、および現デコード対象ユニットの左側の境界の延長線上の再構築ユニットをさらに含む。
実現可能な実施例において、解析ユニット100は、構築ユニット103をさらに含む。構築ユニット103は、(M−N)が第4の予め設定された値未満であるとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、第1の方向間隔はゼロ以外の整数である。
実現可能な実施例において、構築ユニット103はさらに、第1のモードセットまたは第2のモードセット内の指向性予測モードから第1の方向間隔のフレーム内予測モードが第2のモードセットに追加された後に第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達しないとき、第2のモードセット内の候補フレーム内予測モードの数が第4の予め設定された値に達するまで、第1のモードセットまたは第2のモードセット内の指向性予測モードからより広い第1の方向間隔のフレーム内予測モードを第2のモードセットに追加するよう構成されており、より広い第1の方向間隔の絶対値は第1の方向間隔の絶対値より大きい。
図13は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータデコード装置のブロック図である。
フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現デコード対象ユニットのフレーム内予測モードとして現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
別の実施形態において、フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサ111は、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
さらに別の実施形態において、フレーム内予測モードをデコードするための装置110は、プロセッサ111と、プロセッサに連結されたメモリ112とを含み、プロセッサ111は、現デコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサ111は、ビットストリームを解析して第1の識別子を取得するよう構成されており、第1の識別子は、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサ111は、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリームを解析して第2の識別子を取得するよう構成されており、第2の識別子は、第1のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現デコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
本実施形態の実現可能な実施例において、プロセッサ112はさらに、第1の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリームを解析して第3の識別子を取得するよう構成されており、第3の識別子は、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサ112はさらに、第3の識別子に基づき、現デコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリームを解析して第4の識別子を取得するよう構成されており、第4の識別子は、第2のモードセット内の、現デコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
図10〜図13に関連する先述の実現可能な実施例および具体的な実施形態は、本願に係るフレーム内予測によりビデオデータをデコードするための1または複数の装置を説明している。理解されるべきことは、先述の説明によれば概して、エンコーダ側がレート歪みなどの基準に従って、複数の候補フレーム内予測モードからエンコードコストが最も低い候補フレーム内予測モードを、(現デコード対象ユニットに対応する)現エンコード対象ユニットにより最終的に選択され、ビットストリームにエンコードされるフレーム内予測モードとして選択する、ということである。最終的に選択されるフレーム内予測モードが選択された後、フレーム内予測モードのインジケーション(例えば、先述の説明における第1の識別子、第2の識別子、第3の識別子、第4の識別子、第5の識別子)が、(デコード処理における第1の識別子、第2の識別子、第3の識別子、第4の識別子、および第5の識別子を解析することに対応する)先述のデコード方法と全く逆のエンコード処理に従ってビットストリームにエンコードされる。理解されるべきことは、第1のモードセットおよび第2のモードセットの構築が、エンコーダ側とデコーダ側とで完全に整合がとれているということである。エンコーダ側についての具体的な実施形態は説明されていない。しかしながら、理解されるべきことは、本発明に記載のフレーム内予測方法はエンコード装置にも適用可能であるということである。
例えば、図14は、本願の実施形態に記載の1または複数の実現可能な実施例におけるビデオデータエンコード装置のブロック図である。
フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして少なくとも1つの無指向性予測モードのうち1つを示す第2の識別子の符号語長さは、現エンコード対象ユニットのフレーム内予測モードとして現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードを示す任意の第2の識別子の符号語長さ以上である。
別の実施形態において、フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードと少なくとも1つの無指向性予測モードとを含み、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、第1のモードセット内の指向性予測モードの隣接する予測方向を表すフレーム内予測モードを含み、プロセッサ121は、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
さらに別の実施形態において、フレーム内予測モードをエンコードするための装置120は、プロセッサ121と、プロセッサに連結されたメモリ122とを含み、プロセッサ121は、現エンコード対象ユニットの予め設定された位置の利用可能な近隣の再構築ユニットのフレーム内予測モードの使用頻度についての統計を収集するよう構成されており、プロセッサ121は、ビットストリーム内に第1の識別子をエンコードするよう構成されており、第1の識別子は、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属することを示すのに用いられ、第1のモードセットは複数の予め設定された候補フレーム内予測モードのうちサブセットであり、第1のモードセットは、使用頻度が降順で上位N位内のランクのフレーム内予測モードを含み、Nは予め設定されたゼロ以外の正の数であり、プロセッサ121は、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属すると決定されたとき、ビットストリーム内に第2の識別子をエンコードするよう構成されており、第2の識別子は、第1のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられ、現エンコード対象ユニットのフレーム内予測モードとして第2の識別子により示される候補フレーム内予測モードがより頻繁に用いられるとき、第2の識別子の符号語長さはより短い。
本実施形態の実現可能な実施例において、プロセッサ122はさらに、第1の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第1のモードセットに属さないと決定されたとき、プロセッサ122はさらに、ビットストリーム内に第3の識別子をエンコードするよう構成されており、第3の識別子は、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属することを示すのに用いられ、第2のモードセットは複数の予め設定された候補フレーム内予測モードのサブセットであり、第2のモードセットと第1のモードセットとの間で重複はなく、第2のモードセット内の候補フレーム内予測モードは、使用頻度が降順で(N+1)番目からM番目のランクのフレーム内予測モードを含み、Mは予め設定されたゼロ以外の正の数であり、MはNより大きく、プロセッサ122はさらに、第3の識別子に基づき、現エンコード対象ユニットのフレーム内予測モードが第2のモードセットに属すると決定されたとき、ビットストリーム内に第4の識別子をエンコードするよう構成されており、第4の識別子は、第2のモードセット内の、現エンコード対象ユニットのフレーム内予測モードとして用いられる候補フレーム内予測モードを示すのに用いられる。
本願の具体的な態様が、ビデオエンコーダ20およびビデオデコーダ30を参照し説明されてきたが、理解されるべきことは、本発明の技術は、多くの他のビデオエンコードおよび/またはコーディングユニット、プロセッサ、処理ユニット、例えばエンコーダデコーダ(CODEC)のハードウェアベースのコーディングユニットなどを用いることにより適用されてよいということである。加えて、理解されるべきことは、図5に示され説明されているステップは、単に実現可能な実施例として提供されているということである。言い換えれば、図5の実現可能な実施例に示されているステップは必ずしも、図5に示されている順序で実施される必要はなく、より少ない、追加の、または代替的なステップが実施されてよい。
さらに、理解されるべきことは、実現可能な実施例によっては、本明細書において説明されている方法のうちいずれの具体的な動作またはイベントも、異なる順で実施されてよく、動作またはイベントが追加されてよく、若しくは動作またはイベントが組み合わせられてよく、または省略されてよい(例えば説明されている動作またはイベントの全てが方法を実装するために必要ではない)。さらに、特定の実現可能な実施例において、動作またはイベントは(例えば)マルチスレッド処理または割込み処理の対象となってよく、または順にではなく同時に複数のプロセッサにより処理されてよい。さらに、明確性を目的として、単一のモジュールまたはユニットにより実施されるものとして本願の特定の態様が説明されているが、理解されるべきことは、本願の技術は、ビデオデコーダと関連付けられたユニットまたはモジュールの組み合わせにより実施されてよいということである。
1または複数の実現可能な実施例において、説明されている機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせにより実装されてよい。それら機能がソフトウェアを用いることにより実装される場合、機能は、1または複数の命令またはコードとしてコンピュータ可読媒体内に格納される、またはコンピュータ可読媒体を用いることにより送信されてよく、ハードウェアベースの処理ユニットを用いることにより実施されてよい。コンピュータ可読媒体は、コンピュータ可読記憶媒体または通信媒体を含んでよい。コンピュータ可読記憶媒体は、データ記憶媒体などの有形の媒体に対応しており、通信媒体は、(例えば)1つの位置から別の位置への通信プロトコルに従ったコンピュータプログラムの送信を容易にする任意の媒体を含む。
このように、コンピュータ可読媒体は例えば、(1)非一時的有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応してよい。データ記憶媒体は、1または複数のコンピュータまたは1または複数のプロセッサがアクセスして、本願に記載の技術を実装するための命令、コード、および/またはデータ構造を取得出来る任意の利用可能な媒体であってよい。コンピュータプログラムプロダクトはコンピュータ可読媒体を含んでよい。
限定ではなく例を挙げると、このコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROM若しくは別の光ディスク記憶装置、磁気ディスク記憶装置若しくは別の磁気記憶装置、フラッシュメモリ、または、命令若しくはデータ構造の形態の所望のプログラムコードを格納するのに用いることが出来、コンピュータによりアクセス出来る任意の他の媒体を含んでよい。加えて、任意の接続が適宜、コンピュータ可読媒体と呼ばれてよい。例えば、ウェブサイト、サーバ、または別の離れた場所にある発信元から、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、電波、およびマイクロ波などの無線技術を介して命令が送信された場合、それら同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、電波、およびマイクロ波などの無線技術が媒体の定義に含まれる。
しかしながら、理解されるべきことは、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または別の一時的な媒体を含まなくてよく、非一時的な有形の記憶媒体であるということである。本明細書において用いられるディスクおよび光ディスクは、コンパクトディスク(CD)、ライトニングディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスク、およびブルーレイディスク(登録商標)を含む。ディスクは概して、データを磁気的に再生し、光ディスクはライトニングで光学的にデータを再生する。先述したオブジェクトの組み合わせが、コンピュータ可読媒体の範囲にさらに含まれるものとする。
命令が、1または複数のデジタル信号プロセッサ(DSP)、汎用のマイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の集積またはディスクリート論理回路などの1または複数のプロセッサにより実行されてよい。故に、本明細書において用いられている「プロセッサ」という用語は、先述の構造のうちいずれか1つ、または本明細書において説明されている技術を実装するのに適用可能である別の構造を表してよい。加えて、一部の態様において、本明細書において説明されている機能は、エンコードおよびデコードのために構成されている専用のハードウェアおよび/またはソフトウェアモジュール内で提供されてよく、または組み合わせられたコーデックに組み込まれてよい。加えて、それら技術は完全に、1または複数の回路またはロジック要素内で実装されてよい。
本願における技術は、無線携帯電話、集積回路(IC)、またはICのセット(例えばチップセット)を含む様々な装置またはデバイスで実装されてよい。本願において、様々な構成要素、モジュール、およびユニットは、開示されている技術を実装するよう構成された装置の機能を強調すべく説明されており、それら機能は必ずしも、異なるハードウェアユニットで実装される必要はない。上述されているように、様々なユニットが、適したソフトウェアおよび/またはファームウェアと合わせて、コーデックハードウェアユニット内で組み合わせられてよく、または相互運用性のある(上述されているような1または複数のプロセッサを含む)ハードウェアユニットのセットにより提供されてよい。
先述の説明は単に、本願の具体的な実装の例であり、本願の保護範囲を制限することは意図されていない。本願で開示されている技術範囲内で当業者が容易に分かる任意の変形または置換が、本願の保護範囲内に含まれるものとする。故に本願の保護範囲は、請求項の保護範囲に準ずるものとする。