(57)【要約】本発明においては、ビデオ信号を処理する方法およびそのための装置が開示される。具体的には、インター予測に基づいて、ビデオ信号を処理する方法であって、現ブロックに隣接するブロックに基づいてマージリストを構成するステップと、上記マージリストに有されるマージ候補の個数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト内のヒストリベースのマージ候補を上記マージリストに追加するステップであって、上記ヒストリベースのマージ候補は、上記現ブロック以前にコーディングされたブロックの動き情報を示すステップと、上記マージリスト内で、上記現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得するステップと、上記マージインデックスによって指示されるマージ候補の動き情報に基づいて上記現ブロックの予測ブロックを生成するステップと、を有し、上記ヒストリベースのマージ候補を上記マージリストに追加するステップは、上記ヒストリベースのマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、上記マージリストに有されるマージ候補と重複する動き情報を有するかを確認するステップを有することができる。【選択図】図１
2021515484.tif 000002
【特許請求の範囲】
【請求項１】
インター予測に基づいて、ビデオ信号を処理する方法であって、
現ブロックに隣接するブロックに基づいてマージリストを構成するステップと、
前記マージリストに有されるマージ候補の個数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト内のヒストリベースのマージ候補を前記マージリストに追加するステップであって、前記ヒストリベースのマージ候補は、前記現ブロック以前にコーディングされたブロックの動き情報を示すステップと、
前記マージリスト内で前記現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得するステップと、
前記マージインデックスによって指示されるマージ候補の動き情報に基づいて前記現ブロックの予測ブロックを生成するステップと、を有し、
前記ヒストリベースのマージ候補を前記マージリストに追加するステップは、
前記ヒストリベースのマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、前記マージリストに有されるマージ候補と重複する動き情報を有するかを確認するステップを有する、ビデオ信号処理方法。
【請求項２】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有されるマージ候補の中から、予め定義されたマージ候補と重複しない動き情報を有する場合には、前記マージリストに追加される、ことを特徴とする請求項１に記載のビデオ信号処理方法。
【請求項３】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有されるマージ候補の中から、予め定義された第３特定個数のマージ候補と重複しない動き情報を有する場合、前記マージリストに追加される、ことを特徴とする請求項２に記載のビデオ信号処理方法。
【請求項４】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有される特定の空間マージ候補と重複しない動き情報を有する場合、前記マージリストに追加される、請求項２に記載のビデオ信号処理方法。
【請求項５】
前記第１特定個数は、最大マージ候補から１を減算した値として定義される、請求項１に記載のビデオ信号処理方法。
【請求項６】
前記ヒストリベースのマージ候補を前記マージリストに追加するステップは、
前記マージリストに有される現在のマージ候補が３つである場合、２つのヒストリベースのマージ候補に対し、前記マージリストに有されるマージ候補と重複する動き情報を有するかを確認するステップを有する、請求項１に記載のビデオ信号処理方法。
【請求項７】
インター予測に基づいて、ビデオ信号を処理する装置であって、
前記ビデオ信号を記憶するメモリと、
前記メモリと結合されたプロセッサと、を有し、
前記プロセッサは、
現ブロックに隣接するブロックに基づいてマージリストを構成し、
前記マージリストに有されるマージ候補の個数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト内のヒストリベースのマージ候補を前記マージリストに追加し、前記ヒストリベースのマージ候補は、前記現ブロック以前にコーディングされたブロックの動き情報を示し、
前記マージリスト内で前記現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得し、
前記マージインデックスによって指示されるマージ候補の動き情報に基づいて前記現ブロックの予測ブロックを生成し、
前記プロセッサは、
前記ヒストリベースのマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、前記マージリストに有されるマージ候補と重複する動き情報を有するかを確認する、ことを特徴とするビデオ信号処理装置。
【請求項８】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有されるマージ候補の中から、予め定義されたマージ候補と重複しない動き情報を有する場合、前記マージリストに追加される、ことを特徴とする請求項７に記載のビデオ信号処理装置。
【請求項９】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有されるマージ候補の中から、予め定義された第３特定個数のマージ候補と重複しない動き情報を有する場合、前記マージリストに追加される、ことを特徴とする請求項８に記載のビデオ信号処理装置。
【請求項１０】
前記第２特定個数のヒストリベースのマージ候補は、前記マージリストに有される特定の空間マージ候補と重複しない動き情報を有する場合、前記マージリストに追加される、請求項８に記載のビデオ信号処理装置。
【請求項１１】
前記第１特定個数は、最大マージ候補から１を減算した値として定義される、請求項７に記載のビデオ信号処理装置。
【請求項１２】
前記プロセッサは、
前記マージリストに有される現在のマージ候補が３つである場合、２つのヒストリベースのマージ候補に対し、前記マージリストに有されるマージ候補と重複する動き情報を有するかを確認する、ことを特徴とする請求項７に記載のビデオ信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書の実施形態は、インター予測（inter prediction）を用いて、ビデオ信号を処理するための方法および装置に関し、特に、ヒストリベースの動き（モーション）ベクトル予測（history-based motion vector prediction）を用いて、インター予測を実行するための方法および装置に関する。
【背景技術】
【０００２】
［発明の概要］
圧縮符号化とは、デジタル化した情報を通信回線を介して伝送（送信）するか、または記憶（格納）媒体に適した形態で記憶（格納）するための一連の信号処理技術を意味する。映像、イメージ、音声などのメディアが圧縮符号化の対象になり得、特に、映像を対象に圧縮符号化を行う技術をビデオ映像圧縮と称する。
【０００３】
次世代ビデオコンテンツは、高解像度（high spatial resolution）、高フレームレート（率）（high frame rate）、および映像表現の高次元化（high dimensionality of scene representation）という特徴を有するようになる。そのようなコンテンツを処理するためには、メモリストレージ（memory storage）、メモリアクセスレート（率）（memory access rate）、および処理電力（processing power）の側面で大幅な増加をもたらすであろう。
【０００４】
したがって、次世代のビデオコンテンツをより効率的に処理するためのコーディング（符号化）ツールをデザインする必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本明細書の実施形態の目的は、ＨＭＶＰ候補をマージ候補リスト（またはＡＭＶＰ候補リスト）に追加するための重複性チェックの制限を提案する。
【０００６】
本明細書の実施形態で解決しようとする技術的課題は、以上で言及した技術的課題に限定されず、言及しないまた一つの技術的課題は、下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解することができる。
【課題を解決するための手段】
【０００７】
本明細書の実施形態の一様相は、インター予測に基づいて、ビデオ信号を処理する方法であって、現（現在）ブロックに隣接するブロックに基づいてマージリストを構成するステップと、マージリストに有されるマージ候補の数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト内のヒストリベースのマージ候補をマージリストに追加するステップであって、ヒストリベースのマージ候補は、現ブロックの前にコーディングされたブロックの動き情報を示すステップと、マージリスト内で、現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得するステップと、マージインデックスによって指示されるマージ候補の動き情報に基づいて現ブロックの予測ブロックを生成するステップと、を有し、ヒストリベースのマージ候補をマージリストに追加するステップは、ヒストリベースのマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、マージリストに有されるマージ候補と重複する動き情報を有するかを確認するステップを有することができる。
【０００８】
好ましくは、第２特定個数のヒストリベースのマージ候補は、マージリストに有されるマージ候補の中から、予め定義されたマージ候補と重複しない動き情報を有する場合、マージリストに追加されることができる。
【０００９】
好ましくは、第２特定個数のヒストリベースのマージ候補は、マージリストに有されるマージ候補の中から、予め定義された第３特定個数のマージ候補と重複しない動き情報を有する場合、マージリストに追加されることができる。
【００１０】
好ましくは、第２特定個数のヒストリベースのマージ候補は、マージリストに有される特定の空間マージ候補と重複しない動き情報を有する場合、マージリストに追加されることができる。
【００１１】
好ましくは、第１特定個数は、最大マージ候補から１を減算した値として定義されることができる。
【００１２】
好ましくは、ヒストリベースのマージ候補をマージリストに追加するステップは、マージリストに有される現在のマージ候補が３個である場合、２つのヒストリベースのマージ候補に対し、マージリストに有されるマージ候補と重複する動き情報を有するかを確認するステップを有することができる。
【００１３】
本明細書の実施形態の別の一様相は、インター予測に基づいて、ビデオ信号を処理する装置であって、ビデオ信号を記憶するメモリと、メモリと結合されたプロセッサと、を有し、プロセッサは、現ブロックに隣接するブロックに基づいてマージリストを構成し、マージリストに有されるマージ候補の数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト内のヒストリベースのマージ候補をマージリストに追加し、ヒストリベースのマージ候補は、現ブロックの前にコーディングされたブロックの動き情報を示し、マージリスト内で、現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得し、マージインデックスによって指示されるマージ候補の動き情報に基づいて現ブロックの予測ブロックを生成し、プロセッサは、ヒストリベースのマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、マージリストに有されるマージ候補と重複する動き情報を有するかを確認することができる。
【発明の効果】
【００１４】
本明細書の実施形態によれば、マージリスト（またはＡＭＶＰリスト）に追加するための重複性チェックを制限することで、重複性チェックに伴う複雑度を改善し、効率を高めることができる。
【００１５】
本発明で得られる効果は、以上で言及した効果に制限されず、言及していないもう一つの効果は、以下の記載から、本発明が属する技術分野で通常の知識を有する者に明確に理解される。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るビデオ信号処理装置の一例として、エンコーダの機能的構成の例を示す図である。
【図２】本発明が適用される実施形態として、ビデオ/イメージ信号のデコードが行われるデコード装置の概略ブロック図である。
【図３】本発明が適用されることができる実施形態として、マルチタイプのツリー構造の一例を示す図である。
【図４】本発明が適用されることができる実施形態として、マルチタイプのツリーを伴う四分木（クワッドツリー）（quadtree with nested multi-type tree）構造のパーティション分割情報のシグナリングメカニズムを例示する図である。
【図５】本発明が適用されることができる実施形態として、四分木と伴うマルチタイプのツリー（quadtree and nested multi-type tree）構造に基づいてＣＴＵを多重ＣＵに分割する方法を例示する図である。
【図６】本発明が適用されることができる実施形態として、三分木（ターナリーツリー）（ternary-tree）分割を制限する方法を例示する図である。
【図７】本発明が適用されることができる実施形態として、二分木（バイナリツリー）分割および三分木分割で発生することができる冗長分割パターンを例示する図である。
【図８】本発明の実施形態に係るインター予測ベースのビデオ／映像のエンコード方法および本発明の実施形態に係るエンコード装置におけるインター予測部を例示する図である。
【図９】本発明の実施形態に係るインター予測ベースのビデオ／映像のエンコード方法および本発明の実施形態に係るエンコード装置におけるインター予測部を例示する図である。
【図１０】本発明の実施形態に係るインター予測ベースのビデオ／映像のデコード方法および本発明の実施形態に係るデコード装置におけるインター予測部を例示する図である。
【図１１】本発明の実施形態に係るインター予測ベースのビデオ／映像のデコード方法および本発明の実施形態に係るデコード装置におけるインター予測部を例示する図である。
【図１２】本発明が適用される実施形態として、マージモードまたはスキップモードで用いられる周辺ブロックを説明する図である。
【図１３】本発明が適用される一実施形態に係るマージ候補リストの構成方法を例示するフローチャートである。
【図１４】本発明が適用される一実施形態に係るマージ候補リストの構成方法を例示するフローチャートである。
【図１５】本発明の実施形態に係る動きモデル（motion models）の例を示す図である。
【図１６】本発明の実施形態に係るアフィン動き予測のための制御点動きベクトルの例を示す図である。
【図１７】本発明の実施形態に係るアフィン動き予測が適用されたブロックの各サブブロック別動きベクトルの例を示す図である。
【図１８】本発明の実施形態に係るアフィンマージモード（affine merge mode）でアフィン動き予測に用いられる周辺ブロックの例を示す図である。
【図１９】本発明の実施形態に係るアフィン動き予測が適用された周辺ブロックを用いてアフィン動き予測が実行されるブロックの例を示す図である。
【図２０】本発明の実施形態に係る周辺アフィンコーディングブロックを用いて、マージ候補リストを生成する方法を説明する図である。
【図２１】本発明の実施形態に係るアフィン予測に符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明する図である。
【図２２】本発明の実施形態に係るアフィン予測に符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明する図である。
【図２３】本発明の実施形態に係るアフィンインターモード（affine inter mode）でアフィン動き予測に用いられる周辺ブロックの例を示す図である。
【図２４】本発明の実施形態に係るアフィンインターモード（affine inter mode）でアフィン動き予測に用いられる周辺ブロックの例を示す図である。
【図２５】本発明の実施形態に係るアフィンインターモード（affine inter mode）で周辺ブロックの動き情報を用いて動きベクトルの候補を導出（誘導）する方法を例示する図である。
【図２６】本発明の実施形態に係るアフィンインターモード（affine inter mode）で周辺ブロックの動き情報を用いて動きベクトルの候補を導出する方法を例示する図である。
【図２７】本発明の実施形態に係るサブブロック単位のアフィン動きベクトルフィールドを導出する方法の一例を示す図である。
【図２８】本発明の実施形態に係るアフィン動きモデルを適用したインター予測で予測ブロックが生成される方法および動きベクトルを例示的に示す図である。
【図２９】本発明の実施形態に係る制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３０】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３１】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３２】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３３】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３４】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３５】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３６】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３７】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３８】本発明の実施形態に係る非正方形ブロックで制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【図３９】本明細書の実施形態に係るＨＭＶＰを記憶する方法を説明するフローチャートである。
【図４０】本明細書の実施形態に係る非制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明する図である。
【図４１】本明細書の実施形態に係る制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明する図である。
【図４２】本明細書の実施形態に係るＨＭＶＰ  ＬＵＴおよびロングタームＨＭＶＰ  ＬＵＴを例示する図である。
【図４３】本明細書の実施形態に係るＨＭＶＰ  ＬＵＴを更新する方法の一例を示す図である。
【図４４】本明細書の実施形態に係るプルーニング（淘汰）チェックの対象となるＨＭＶＰ候補の数を制限する方法を例示する図である。
【図４５】本明細書の実施形態に係るプルーニングチェックを実行する方法の一例を示す図である。
【図４６】本明細書の一実施形態に従った、互いに異なる参照ピクチャを参照する動きベクトルを用いて、Ｈ−ＳＴＭＶＰ候補を導出する方法を説明する図である。
【図４７】本明細書の実施形態に係る継承（相続）されたアフィンＨＭＶＰ候補を導出するためのブロックの位置を例示する図である。
【図４８】本明細書の実施形態に係るアフィンマージリストまたはアフィンＡＭＶＰリストを例示する図である。
【図４９】本発明が適用される実施形態に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。
【図５０】本明細書の実施形態に係る映像信号を処理するための装置のブロック図の例を示す図である。
【図５１】本発明が適用されるビデオコーディングシステムを示す図である。
【図５２】本発明が適用される実施形態として、コンテンツストリーミングシステム構造図である。
【図５３】デジタル機器を含むサービスシステム（service system）の一例を概略的に示した図である。
【図５４】デジタル機器の一実施形態を説明するため示した構成のブロック図である。
【図５５】デジタル機器の他の実施形態を説明するため示した構成のブロック図である。
【図５６】デジタル機器の他の実施形態を説明するため示した構成のブロック図である。
【図５７】図５４〜図５６の制御部の詳細構成の一実施形態を説明するため示した構成ブロック図である。
【図５８】一実施形態に係る、デジタル機器のスクリーンがメイン映像（main image）と補助映像（sub image）とを同時に表示（ディスプレイ）する一例を示す図である。
【発明を実施するための最良の形態】
【００１７】
本発明に係る理解を助けるために詳細な説明の一部として含まれる、添付図面は、本発明の実施形態を提供し、詳細な説明と共に本発明の技術的特徴を説明する。
【００１８】
以下、本発明に係る好適な実施形態を添付の図面を参照して、詳細に説明する。添付された図面と一緒に以下に開示される詳細な説明は、本発明の例示的な実施形態を説明しようとするものであり、本発明が実施されることができる唯一の実施形態を例示しようとするのではない。以下の詳細な説明は、本発明の完全な理解を提供するために具体的な詳細事項を含む。しかしながら、当業者は、本発明が、このような具体的な詳細事項がなくても実施できることが分かる。
【００１９】
いくつかの場合、本発明の概念が曖昧になることを避けるために、公知の構造および装置は省略されるか、各構造および装置の中核（核心）機能を中心としたブロック図の形式で示されることができる。
【００２０】
さらに、本発明で用いられる用語は、可能な限り、現在広く用いられる一般的な用語を選択したが、特定の場合には、出願人が任意に選定した用語を用いて説明する。そのような場合には、該当部分の詳細説明で、その意味を明確に記載するため、本発明の説明で用いられる用語の名称のみで単純に解釈されてはならないものであり、その該当用語の意味まで把握して解釈されるべきであることを明らかにしておく。
【００２１】
以下の説明で用いられる特定の用語は、本発明の理解を助けるために提供されたものであり、このような特定の用語の使用は、本発明の技術的思想を逸脱しない範囲で他の形態に変更されることができる。例えば、信号、データ、サンプル、ピクチャ、フレーム、ブロックなどの場合、各符号化の過程で適切に置換されて解釈されることがある。
【００２２】
この文書は、ビデオ／映像コーディングに関するものである。たとえば、この文書で開示された方法／実施形態は、ＶＶＣ（Versatile Video Coding）標準または次世代ビデオ／映像コーディング標準に開示され方法に適用することができる。
【００２３】
この文書においてピクチャ（picture）は、一般的に、特定の時間帯の１つの映像を表す単位を意味し、スライス（slice）／タイル（tile）は、コーディングにおけるピクチャの一部を構成する単位である。スライス／タイルは、１つまたは複数のＣＴＵ（Coding Tree Unit）を含むことができる。一つのピクチャは、複数のスライス／タイルで構成されることができる。
【００２４】
ピクセル（pixel）またはペル（pel）は、一つのピクチャ（または映像）を構成する最小の単位を意味することができる。また、ピクセルに対応する用語として「サンプル（sample）」が用いられることができる。サンプルは、一般的に、ピクセルまたはピクセルの値を示すことができ、輝度（luma）成分のピクセル／ピクセル値のみを表すこともあり、クロマ（chroma）成分のピクセル／ピクセル値のみを示すこともできる。
【００２５】
ユニット（unit）は、映像処理の基本単位を示すことができる。ユニットは、ピクチャの特定の領域および、当該領域に関連する情報のうちの少なくとも一つを含むことができる。ユニットは、場合によって、ブロック（block）または領域（area）などの用語と混用される。一般的な場合には、ＭｘＮブロックは、Ｍ個の列およびＮ個の行からなるサンプルまたは変換係数（transform coefficient）のセット（またはアレイ）を示すことができる。
【００２６】
この文書において、「/」および「、」は「および/または」と解釈される。たとえば、「Ａ/Ｂ」は「Ａおよび/またはＢ」と解釈され、「Ａ、Ｂ」は「Ａおよび/またはＢ」と解釈される。さらに、「Ａ/Ｂ/Ｃ」は「Ａ、Ｂ、および/またはＣのうちの少なくとも一つ」を意味する。また、「Ａ、Ｂ、Ｃ」も「Ａ、Ｂ、および/またはＣのうちの少なくとも一つ」を意味する。
【００２７】
さらに、本文書において、「または」は、「および/または」と解釈される。たとえば、「ＡまたはＢ」は、１）「Ａ」だけを意味するか、２）「B」だけを意味するか、３）「ＡおよびＢ」を意味することができる。言い換えると、本文書の「または」は、「さらにまたは代替的に（additionally or alternatively）」を意味することができる。
【００２８】
以下、本明細書において、「処理ユニット」は、予測、変換、および/または量子化などのエンコード／デコードの処理が実行される単位を意味する。以下、説明の便宜のために処理ユニットは、「処理ブロック」または「ブロック」と称することもできる。
【００２９】
処理ユニットは、輝度（luma）成分の単位と色差（chroma）成分の単位とを含む意味で解釈されることができる。例えば、処理ユニットは、コーディングツリーユニット（ＣＴＵ：Coding Tree Unit）、コーディングユニット（ＣＵ：Coding Unit）、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）に該当することができる。
【００３０】
また、処理ユニットは、輝度（luma）成分の単位または色差（chroma）成分の単位として解釈されることができる。例えば、処理ユニットは、輝度（luma）成分のコーディングツリーブロック（ＣＴＢ：Coding Tree Block）、コーディングブロック（ＣＢ：Coding Block）、予測ブロック（ＰＵ：Prediction Block）または変換ブロック（ＴＢ：Transform Block ）に該当することができる。あるいは、色差（chroma）成分のコーディングツリーブロック（ＣＴＢ）、コーディングブロック（ＣＢ）、予測ブロック（ＰＵ）または変換ブロック（ＴＢ）に該当することができる。また、これに限定されるものではなく処理ユニットは、輝度（luma）成分の単位と色差（chroma）成分の単位とを含む意味で解釈されることもできる。
【００３１】
また、処理ユニットは、必ず正方形のブロックに限定されるものではなく、３つ以上の頂点を有する多角形の形で構成することもできる。
【００３２】
なお、以下、本明細書において、ピクセルまたは画素などをサンプルとして総称する。そして、サンプルを用いることは、ピクセル値または画素値などを用いることを意味することができる。
【００３３】
図１は、本発明の実施形態に係るビデオ信号処理装置の一例として、エンコーダの機能的構成の例を示す。
【００３４】
図１を参照すると、エンコード装置１００は、映像分割部１１０、減算部１１５、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、加算部１５５、フィルタリング部１６０、メモリ１７０、インター予測部１８０、イントラ予測部１８５およびエントロピエンコード部１９０から構成されることができる。インター予測部１８０およびイントラ予測部１８５は、予測部と総称されることができる。つまり、予測部は、インター予測部１８０およびイントラ予測部１８５を含むことができる。変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０は、残差（レジデュアル）（residual）処理部に含まれることができる。残差処理部は、減算部１１５をさらに含むこともできる。一実施形態として、前述した映像分割部１１０、減算部１１５、変換部１２０、量子化部１３０、逆量子化部１４０、逆変換部１５０、加算部１５５、フィルタリング部１６０、インター予測部１８０、イントラ予測部１８５およびエントロピエンコード部１９０は、一つのハードウェアコンポーネント（例えば、エンコーダまたはプロセッサ）によって構成されることができる。また、メモリ１７０は、ＤＰＢ（Decoded Picture Buffer）を含むことができ、デジタル記憶媒体によって構成されることもできる。
【００３５】
映像分割部１１０は、エンコード装置１００に入力された入力画像（または、ピクチャ、フレーム）を１つまたは複数の処理ユニット（processing unit）に分割することができる。一例として、上記処理ユニットは、コーディングユニット（Coding Unit、ＣＵ）と呼ばれることができる。この場合、コーディングユニットは、コーディングツリーユニット（Coding Tree Unit、ＣＴＵ）または最大コーディングユニット（Largest Coding Unit、ＬＣＵ）からＱＴＢＴ（Quad-Tree Binary-Tree）構造に基づいて再帰的に（recursively）分割されることができる。例えば、一つのコーディングユニットは、四分木構造および/または二分木構造に基づいて、下位デプスの（deeper）複数のコーディングユニットに分割されることができる。この場合、例えば、四分木構造が先に適用され、二分木構造が後で適用することができる。あるいは、二分木構造が先に適用されることもある。これ以上分割されない最終コーディングユニットに基づいて、本発明に係るコーディング手順が実行されることができる。この場合、映像の特性に応じたコーディング効率などに基づいて、最大コーディングユニットが直接最終コーディングユニットとして用いられることができ、または、必要に応じて、コーディングユニットは、再帰的に（recursively）より下位デプスのコーディングユニットに分割され、最適なサイズのコーディングユニットが最終コーディングユニットとして用いられることができる。ここで、コーディング（復号）手順とは、後述する予測、変換、および復元などの手続きを含むことができる。他の例として、上記処理ユニットは、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）をさらに含むことができる。この場合、上記予測ユニットおよび上記変換ユニットは、それぞれ前述した最終的コーディングユニットから分割またはパーティショニングされることができる。上記予測ユニットは、サンプル予測の単位であり得、上記の変換ユニットは、変換係数を導出する単位、および/または変換係数から残差信号（residual signal）を導出する単位であり得る。
【００３６】
ユニットは、場合によって、ブロック（block）または領域（area）などの用語と混用される。一般的な場合、ＭｘＮブロックは、Ｍ個の列およびＮ個の行からなるサンプルまたは変換係数（transform coefficient）の集合を表すことができる。サンプルは、一般的に、ピクセルまたはピクセルの値を示すことができ、輝度（luma）成分のピクセル/ピクセル値のみを表すこともあり、彩度（chroma）成分のピクセル/ピクセル値のみを示すこともできる。サンプルは、一つのピクチャ（または映像）をピクセル（pixel）またはペル（pel）に対応する用語として用いることができる。
【００３７】
エンコード装置１００は、入力映像信号（ソースブロック、オリジナルのサンプルアレイ）においてインター予測部１８０またはイントラ予測部１８５から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算して残差信号（residual signal、残りのブロック、残りのサンプルアレイ）を生成することができ、生成された残差信号は、変換部１２０に伝送される。この場合、図示のように、エンコーダ１００内で入力映像信号（ソースブロック、オリジナルのサンプルアレイ）において予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは、減算部１１５と呼ばれることができる。予測部は、処理対象ブロック（以下、現ブロックと称する）の予測を行い、上記現ブロックの予測サンプルを含む予測されたブロック（predicted block）を生成することができる。予測部は、現ブロックまたはＣＵ単位で、イントラ予測が適用されるか、またはインター予測が適用されるかを決定することができる。予測部は、各予測モードの説明で後述するように、予測モード情報などの予測に関する様々な情報を生成し、エントロピエンコード部１９０に伝達することができる。予測に関する情報は、エントロピエンコード部１９０でエンコードされてビットストリーム形態で出力することができる。
【００３８】
イントラ予測部１８５は、現ピクチャ内のサンプルを参照して、現ブロックを予測することができる。上記参照されるサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置することができ、または離れて位置することもできる。イントラ予測において、予測モードは、複数の非方向性モードおよび複数の方向性モードを含むことができる。非方向性モードは、例えば、ＤＣモードおよび平面（プランナー）モード（Ｐｌａｎａｒモード）を含むことができる。方向性モードは、予測方向の細かい程度に応じて、例えば、３３個の方向性予測モードまたは６５個の方向性予測モードを含むことができる。ただし、これは、例として、設定によってはそれ以上、またはそれ以下の個数の方向性予測モードが用いられることができる。イントラ予測部１８５は、周辺ブロックに適用される予測モードを用いて、現ブロックに適用される予測モードを決定することもできる。
【００３９】
インター予測部１８０は、参照ピクチャ上で動きベクトルによって特定される参照ブロック（参照サンプルのアレイ）に基づいて、現ブロックの予測されたブロックを導出することができる。このとき、インター予測モードで伝送される動き情報の量を減らすために周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。上記動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。上記参照ブロックを含む参照ピクチャと上記時間的周辺ブロックを含む参照ピクチャとは、同じであることもあり、異なることもある。上記時間的周辺ブロックは、コロケート（同じ位置）参照ブロック（collocated reference block）、コロケートＣＵ（ｃｏｌＣＵ）などの名前で呼ばれることができ、上記時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれることもできる。例えば、インター予測部１８０は、周辺ブロックに基づいて動き情報候補リストを構成し、上記現ブロックの動きベクトルおよび/または参照ピクチャインデックスを導出するためにどのような候補が用いられるかを指示する情報を生成することができる。様々な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードおよびマージモードの場合に、インター予測部１８０は、周辺ブロックの動き情報を現ブロックの動き情報として用いることができる。スキップモードの場合、マージモードとは異なり、残差信号が伝送されないことがある。動き情報予測（Motion Vector Prediction、ＭＶＰ）モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）で用いて、動きベクトル差分（motion vector difference）をシグナリングすることによって、現ブロックの動きベクトルを指示することができる。
【００４０】
上記インター予測部１８０または上記イントラ予測部１８５を介して生成された予測信号は、復元信号を生成するために用いられるか、または残差信号を生成するために用いられることができる。
【００４１】
変換部１２０は、残差信号に変換手法を適用して変換係数（transform coefficients）を生成することができる。たとえば、変換技法は、ＤＣＴ（Discrete Cosine Transform）、ＤＳＴ（Discrete Sine Transform）、ＫＬＴ（Karhunen-LoeveTransform）、ＧＢＴ（Graph-Based Transform）、またはＣＮＴ（Conditionally Non-linear Transform）のうちの少なくとも一つを含むことができる。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとしたときに、このグラフから得られる変換を意味する。ＣＮＴは、以前に復元されたすべてのピクセル（all previously reconstructed pixel）を用いて予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換プロセスは、正方形の同じ大きさを有するピクセルブロックに適用されることもあり、正方形ではない可変サイズのブロックにも適用することができる。
【００４２】
量子化部１３０は、変換係数を量子化してエントロピエンコード部１９０に伝送し、エントロピエンコード部１９０は、量子化された信号（量子化された変換係数に関する情報）をエンコードして、ビットストリームに出力することができる。上記量子化された変換係数に関する情報は、残差情報と呼ばれることができる。量子化部１３０は、係数スキャン順（scan order）に基づいて、ブロックの形の量子化された変換係数を１次元ベクトルの形で再整列することができ、上記１次元ベクトルの形の量子化された変換係数に基づいて、上記量子化された変換係数に関する情報を生成することもできる。エントロピエンコード部１９０は、例えば指数ゴロム（exponential Golomb）、ＣＡＶＬＣ（Context-Adaptive Variable Length Coding）、ＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding）などの、さまざまなエンコード方法を実行することができる。エントロピエンコード部１９０は、量子化された変換係数のほか、ビデオ/画像復元に必要な情報（例えば、構文要素（syntax elements）の値など）を一緒に、または別々にエンコードすることもできる。エンコードされた情報（例えば、エンコードされたビデオ／映像情報）は、ビットストリームの形でＮＡＬ（Network Abstraction Layer）ユニット単位で伝送または記憶することができる。上記ビットストリームは、ネットワークを介して伝送されることができ、またはデジタル記憶媒体に記憶されることができる。ここで、ネットワークは、放送網、および/またはネットワークなどを含むことができ、デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＨＤＤ、ＳＳＤなど、様々な記録媒体を含むことができる。エントロピエンコード部１９０から出力された信号は、伝送する伝送部（図示せず）および/または記憶する記憶部（図示せず）が、エンコード装置１００の内/外のエレメントとして構成することができ、または伝送部エントロピエンコード部１９０の構成要素であり得る。
【００４３】
量子化部１３０から出力された量子化された変換係数は、予測信号を生成するために用いられる。例えば、量子化された変換係数は、ループ内の逆量子化部１４０および逆変換部１５０を介して逆量子化および逆変換が適用されることにより、残差信号を復元することができる。加算部１５５は、復元された残差信号をインター予測部１８０またはイントラ予測部１８５から出力された予測信号に加えることで復元（reconstructed）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成することができる。スキップモードが適用された場合と同様に処理対象ブロックの残差がない場合、予測されたブロックが復元ブロックとして用いられる。加算部１５５は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられる。
【００４４】
フィルタリング部１６０は、復元信号にフィルタリングを適用して主観的/客観的画質を向上させることができる。例えば、フィルタリング部１６０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成することができ、上記修正された復元ピクチャを、メモリ１７０、具体的には、メモリ１７０のＤＰＢに記憶することができる。上記様々なフィルタリングの方法は、例えば、デブロッキング（ジブロッキング）フィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。フィルタリング部１６０は、各フィルタリング方法の説明で後述するようにフィルタリングに関するさまざまな情報を生成してエントロピエンコード部１９０に伝達することができる。フィルタリングに関する情報は、エントロピエンコード部１９０でエンコードされてビットストリーム形態で出力されることができる。
【００４５】
メモリ１７０に伝送された修正された復元ピクチャは、インター予測部１８０で参照ピクチャとして用いられる。エンコード装置は、これを介して、インター予測が適用される場合、エンコード装置１００とデコード装置とにおける予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【００４６】
メモリ１７０ＤＰＢは、修正された復元ピクチャをインター予測部１８０からの参照ピクチャとして用いるために記憶することができる。メモリ１７０は、現在のピクチャ内の動き情報が導出された（またはエンコードされた）ブロックの動き情報および/または既に復元されたピクチャ内のブロックの動き情報を記憶することができる。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部１８０に伝達することができる。メモリ１７０は、現在のピクチャ内の復元されたブロックの復元サンプルを記憶することができ、イントラ予測部１８５に伝達することができる。
【００４７】
図２は、本発明が適用される実施形態として、ビデオ/イメージ信号のデコードが行われるデコード装置の概略ブロック図を示す。
【００４８】
図２を参照すると、デコード装置２００は、エントロピデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、メモリ２５０、インター予測部２６０およびイントラ予測部２６５から構成されることができる。インター予測部２６０およびイントラ予測部２６５を合わせて予測部と呼ばれることができる。つまり、予測部は、インター予測部１８０およびイントラ予測部１８５を含むことができる。逆量子化部２２０、逆変換部２３０を合わせて残差処理部と呼ばれることができる。つまり、残差処理部は、逆量子化部２２０、逆変換部２３０を含むことができる。前述したエントロピデコード部２１０、逆量子化部２２０、逆変換部２３０、加算部２３５、フィルタリング部２４０、インター予測部２６０およびイントラ予測部２６５は、実施形態に応じて１つのハードウェアコンポーネント（例えば、デコーダまたはプロセッサ）によって構成されることができる。また、メモリ１７０は、ＤＰＢ（Decoded Picture Buffer）を含むことができ、デジタル記憶媒体によって構成されることもできる。
【００４９】
ビデオ/イメージ情報を含むビットストリームが入力されると、デコード装置２００は、図１のエンコード装置からのビデオ/イメージ情報が処理されたプロセスに対応して映像を復元することができる。例えば、デコード装置２００は、エンコード装置で適用された処理ユニットを用いてデコードを行うことができる。したがって、デコードの処理ユニットは、例えば、コーディングユニットであり得、コーディングユニットは、コーディングツリーユニットまたは最大コーディングユニットから四分木構造および/または二分木構造に従って分けることができる。そして、デコード装置２００を介してデコードおよび出力された復元映像信号は、再生装置を介して再生することができる。
【００５０】
デコード装置２００は、図１のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信した信号は、エントロピデコード部２１０を介してデコードすることができる。例えば、エントロピデコード部２１０は、上記ビットストリームを解析して映像復元（またはピクチャ復元）に必要な情報（例えば、ビデオ／映像情報）を導出することができる。例えば、エントロピデコード部２１０は、指数ゴロム符号化、ＣＡＶＬＣまたはＣＡＢＡＣなどのコーディング方法に基づいてビットストリーム内の情報をデコードし、映像復元に必要な構文要素の値、残差に関する変換係数の量子化された値を出力することができる。さらに詳細には、ＣＡＢＡＣエントロピデコード方法は、ビットストリームから各構文要素に該当するビン（bin：空）を受信し、デコード対象構文要素の情報ならびに周辺およびデコード対象ブロックのデコード情報、または前のステップでデコードされたシンボル/ビンの情報を用いてコンテキスト（context）モデルを決定し、決定されたコンテキストモデルに基づいて、ビン（bin）の発生確率を予測して、空の算術デコード（arithmetic decoding）を実行して、各構文要素の値に該当するシンボルを生成することができる。このとき、ＣＡＢＡＣエントロピデコード方法は、コンテキストモデルを決定した後、次のシンボル／ビンのコンテキスト（文脈）モデルのためにデコードされたシンボル／ビンの情報を用いて、コンテキストモデルを更新することができる。エントロピデコード部２１０でデコードされた情報のうちの予測に関する情報は、予測部（インター予測部２６０およびイントラ予測部２６５）で提供され、エントロピデコード部２１０から、エントロピデコードが行われた残差値、すなわち量子化された変換係数および関連パラメータ情報は、逆量子化部２２０に入力されることができる。また、エントロピデコード部２１０でデコードされた情報のうちのフィルタリングに関する情報は、フィルタリング部２４０に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部（図示せず）がデコード装置２００の内/外部エレメントとしてさらに構成されることがあり、または受信部は、エントロピデコード部２１０の構成要素であり得る。
【００５１】
逆量子化部２２０においては、量子化された変換係数を逆量子化して変換係数を出力することができる。逆量子化部２２０は、量子化された変換係数を２次元のブロックの形で再整列することができる。この場合、上記再整列は、エンコード装置で実行された係数スキャン順序に基づいて再整列を実行することができる。逆量子化部２２０は、量子化パラメータ（例えば、量子化ステップサイズ情報）を用いて、量子化された変換係数の逆量子化を行い、変換係数（transform coefficient）を獲得することができる。
【００５２】
逆変換部２３０においては、変換係数を逆変換して残差信号（残差ブロック、残差サンプルアレイ）を獲得することになる。
【００５３】
予測部は、現ブロックの予測を行い、上記現ブロックの予測サンプルを含む予測されたブロック（predicted block）を生成することができる。予測部は、エントロピデコード部２１０から出力された上記予測に関する情報に基づいて、上記現ブロックにイントラ予測が適用されるか、またはインター予測が適用されるかを決定することができ、具体的なイントラ/インター予測モードを決定することができる。
【００５４】
イントラ予測部２６５は、現在のピクチャ内のサンプルを参照して、現ブロックを予測することができる。上記参照されたサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置することができ、または離れて位置することもできる。イントラ予測で予測モードは、複数の非方向性モードおよび複数の方向性モードを含むことができる。イントラ予測部２６５は、周辺ブロックに適用される予測モードを用いて、現ブロックに適用される予測モードを決定することもできる。
【００５５】
インター予測部２６０は、参照ピクチャ上で動きベクトルによって特定される参照ブロック（参照サンプルのアレイ）に基づいて、現ブロックの予測されたブロックを導出することができる。このとき、インター予測モードで伝送される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロック、またはサンプル単位で予測することができる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。上記動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。インター予測の場合、周辺ブロックは、現在のピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。例えば、インター予測部２６０は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて、上記現ブロックの動きベクトルおよび/または参照ピクチャインデックスを導出することができる。様々な予測モードに基づいて、インター予測が行われることができ、上記予測に関する情報は、上記現ブロックのインター予測のモードを指示する情報を含むことができる。
【００５６】
加算部２３５は、獲得された残差信号をインター予測部２６０またはイントラ予測部２６５から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加えることで、復元信号（復元ピクチャ、復元、ブロック、復元サンプルアレイ）を生成することができる。スキップモードが適用された場合の様に処理対象ブロックの残差がない場合、予測されたブロックが復元ブロックとして用いられる。
【００５７】
加算部２３５は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現在のピクチャ内の次の処理対象のブロックのイントラ予測のために用いられ、後述するようにフィルタリングを経て、次のピクチャのインター予測のために用いられることもある。
【００５８】
フィルタリング部２４０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部２４０は、復元ピクチャに様々なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成することができ、上記修正された復元ピクチャを、メモリ２５０、具体的には、メモリ２５０のＤＰＢに伝送することができる。上記様々なフィルタリングの方法は、例えば、デブロッキングフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。
【００５９】
メモリ２５０のＤＰＢに記憶された（修正された）復元ピクチャは、インター予測部２６０で参照ピクチャとして用いられる。メモリ２５０は、現在のピクチャ内の動き情報が導出された（またはデコードされた）ブロックの動き情報および/または既に復元されたピクチャ内のブロックの動き情報を記憶することができる。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部２６０に伝達することができる。メモリ１７０は、現在のピクチャ内の復元されたブロックの復元サンプルを記憶することができ、イントラ予測部２６５に伝達することができる。
【００６０】
本明細書において、エンコード装置１００のフィルタリング部１６０とインター予測部１８０およびイントラ予測部１８５とで説明された実施形態は、それぞれのデコード装置２００のフィルタリング部２４０とインター予測部２６０およびイントラ予測部２６５とにも同一または対応するように適用することができる。
【００６１】
Block Partitioning
【００６２】
本文書に沿ったビデオ／映像コーディング方法は、様々な詳細な技術に基づいて行うことができ、それぞれの詳細な技術を概略的に説明すると、次の通りである。以下説明される技術は、前述した、および/または後述されるビデオ／映像エンコード/デコードの手順における予測、残差処理（（逆）変換、（逆）量子化など）、構文要素のコーディング、フィルタリング、パーティショニング／分割などの関連の手続きに関連付けることができることは当業者にとって自明である。
【００６３】
本文書に沿ったブロックパーティショニング手順は、前述したエンコード装置の映像分の分割（割賦）（１１０）で実行されて、パーティショニング関連情報が、エントロピエンコード部１９０で（エンコード）処理され、ビットストリームの形でデコード装置に伝達されることができる。デコード装置のエントロピデコード部２１０は、上記ビットストリームから獲得した上記パーティショニングに関する情報に基づいて、現ピクチャのブロックパーティショニング構造を導出し、これに基づいて映像デコードのための一連の手順（例えば、予測、残差処理、ブロック復元、リンループフィルタリングなど）を実行することができる。
【００６４】
Ｐａｒｔｉｔｉｏｎｉｎｇ  ｏｆ  ｐｉｃｔｕｒｅ  ｉｎｔｏ  ＣＴＵｓ
【００６５】
ピクチャは、コーディングツリーユニット（ＣＴＵｓ）のシーケンスに分割される（divided into a sequence）ことができる。ＣＴＵは、コーディングツリーブロック（ＣＴＢ）に対応することができる。あるいは、ＣＴＵは、ルマサンプルのコーディングツリーブロックと、対応するクロマサンプルの二つのコーディングツリーブロックと、を含むことができる。つまり、三つのサンプルアレイを含むピクチャに対し、ＣＴＵは、ルマサンプルのＮｘＮブロックとクロマサンプルの二つの対応ブロックとを含むことができる。
【００６６】
コーディングおよび予測などのためのＣＴＵの最大許容サイズは、変換のためのＣＴＵの最大許容サイズと異なることがある。たとえば、ＣＴＵ内輝度ブロックの最大許容サイズは、１２８ｘ１２８であり得る。
【００６７】
Ｐａｒｔｉｔｉｏｎｉｇ  ｏｆ  ｔｈｅ  ＣＴＵｓ  ｕｓｉｎｇ  ａ  ｔｒｅｅ  ｓｔｒｕｃｔｕｒｅ
【００６８】
ＣＴＵは、四分木（Quad-Tree、ＱＴ）の構造に基づいてＣＵに分割されることができる。四分木構造は、クォーターナリ（quaternary）ツリー構造と呼ばれることができる。これは、様々な局地的特徴（local characteristic）を反映するためである。一方、本文書においては、ＣＴＵは、四分木だけでなく、二分木（Binary-Tree、ＢＴ）および三分木（Ternary-Tree、ＴＴ）を含むマルチタイプのツリー構造の分割に基づいて分割されることができる。以下、ＱＴＢＴ構造とするのは、四分木および二分木に基づいた分割構造を含むことができ、ＱＴＢＴＴＴとは四分木、二分木および三分木に基づいた分割構造を含むことができる。あるいは、ＱＴＢＴ構造は、四分木、二分木および三分木に基づいた分割構造を含むこともできる。コーディングツリー構造で、ＣＵは、正方形または長方形の形状を有することができる。ＣＴＵは、まず四分木構造に分割されることができる。以後、四分木構造のリーフノードは、マルチタイプのツリー構造によってさらに分割することができる。
【００６９】
図３は、本発明が適用されることができる実施形態として、マルチタイプのツリー構造の一例を示す図である。
【００７０】
本発明の一実施形態において、マルチタイプのツリー構造は、図３に示すような４つの分割タイプを含むことができる。上記４つの分割タイプは、垂直二（バイナリ）分割（Vertical Binary Splitting、ＳＰＬＩＴ＿ＢＴ＿ＶＥＲ）、水平二分割（Horizontal Binary Splitting、ＳＰＬＩＴ＿ＢＴ＿ＨＯＲ）、垂直三（ターナリー）分割（Vertical Ternary Splitting、ＳＰＬＩＴ＿ＴＴ＿ＶＥＲ）、水平三分割（Horizontal Ternary Splitting、ＳＰＬＩＴ＿ＴＴ＿ＨＯＲ）を含むことができる。上記マルチタイプツリー構造のリーフノードは、ＣＵと呼ばれることができる。このようなＣＵは、予測および変換手順のために用いられる。本文書では、一般的にＣＵ、ＰＵ、ＴＵは、同じブロックサイズを有することができる。ただし、最大許容変換の長さ（maximum supported transform length）がＣＵのカラー成分（colour component）の幅または高さより小さい場合には、ＣＵとＴＵとが互いに異なるブロックサイズを有することができる。
【００７１】
図４は、本発明が適用されることができる実施形態として、マルチタイプのツリーを伴う四分木（quadtree with nested multi-type tree）構造のパーティション分割情報のシグナリングメカニズムを例示する図である。
【００７２】
ここで、ＣＴＵは、四分木のルート（root）として取り扱われ、四分木構造で初めてパーティショニングされる。各四分木のリーフノードは、以後、マルチタイプのツリー構造で、さらにパーティショニングされることができる。マルチタイプのツリー構造において、第１フラグ（a first flag、例えば、ｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｆｌａｇ）が、該ノードが追加的にパーティショニングされるかを指示するためにシグナリングされる。該ノードが追加的にパーティショニングされる場合、第２フラグ（a second flag、例えば、ｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｖｅｒｔｉｃｌａ＿ｆｌａｇ）が、分割方向（splitting direction）を指示するためにシグナリングされることができる。その後、第３フラグ（a third flag、例えば、ｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｂｉｎａｒｙ＿ｆｌａｇ）が、分割タイプが二分割であるか三分割であるかを指示するためにシグナリングされることができる。例えば、上記のｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｖｅｒｔｉｃａｌ＿ｆｌａｇおよび上記ｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｂｉｎａｒｙ＿ｆｌａｇに基づいて、ＣＵマルチタイプのツリー分割モード（multi-type tree splitting mode、ＭｔｔＳｐｌｉｔＭｏｄｅ）が、次の表１のように導出されることができる。
【００７３】
＜表１＞
【表１】
2021515484.tif 000003
【００７４】
図５は、本発明が適用されることができる実施形態として、四分木を伴うマルチタイプのツリー（quadtree and nested multi-type tree）構造に基づいたＣＴＵを多重ＣＵに分割する方法を例示する図である。
【００７５】
ここで、ボールドブロックエッジ（bold block edges）は、四分木パーティショニングを、残りのエッジは、マルチタイプのツリーパーティショニングを示す。マルチタイプのツリーを伴った四分木のパーティションは、コンテンツ適応（アダプテッド）コーディングツリー構造を提供することができる。ＣＵは、コーディングブロック（ＣＢ）に対応することができる。あるいは、ＣＵは、ルマサンプルのコーディングブロックと、対応するクロマサンプルの二つのコーディングブロックと、を含むことができる。ＣＵのサイズは、ＣＴＵだけ大きいこともあり、またはルマサンプル単位で４ｘ４ほど小さいこともある。たとえば、４：２：０カラーフォーマット（ｏｒクロマフォーマット）である場合、最大クロマＣＢサイズは６４ｘ６４であり、最小クロマＣＢサイズは２ｘ２であり得る。
【００７６】
本文書において、例えば、最大許容ルマＴＢサイズは６４ｘ６４であり、最大許容クロマＴＢサイズは３２ｘ３２であり得る。上記ツリー構造に沿って分割されたＣＢの幅または高さが最大の変換幅または高さより大きい場合、該ＣＢは、自動的に（または暗黙的に）水平方向および垂直方向のＴＢサイズ制限を満たすまで分割されることができる。
【００７７】
一方、マルチタイプのツリーを伴った四分木コーディングツリースキームのために、以下のパラメータが、ｓｐｓシンタックス要素で定義および識別されることができる。
【００７８】
- ＣＴＵ size： a quaternary treeの root node size 
【００７９】
- ＭｉｎＱＴSize： minimum allowed quaternary treeのleaf node size
【００８０】
- ＭａｘＢｔＳｉｚｅ： maximum allowed binary treeのroot node size
【００８１】
- ＭａｘＴｔＳｉｚｅ： maximum allowed ternary treeのroot node size
【００８２】
- ＭａｘＭｔｔＤｅｐｔｈ： maximum allowed hierarchy depth of multi-type tree splitting from a quadtree leafからsplitting されたmulti-type treeのmaximum allowed hierarchy depth
【００８３】
- ＭｉｎＢｔＳｉｚｅ： minimum allowed binary treeのleaf node size
【００８４】
− ＭｉｎＴｔＳｉｚｅ： minimum allowed ternary treeのleaf node size
【００８５】
マルチタイプのツリーを伴った四分木コーディングツリー構造の一例として、ＣＴＵサイズは、１２８ｘ１２８ルマサンプルと二つの対応するクロマサンプルの６４ｘ６４ブロックとに（４：２：０クロマフォーマットで）設定することができる。この場合には、ＭｉｎＯＴＳｉｚｅは１６ｘ１６に設定され、ＭａｘＢｔＳｉｚｅは１２８ｘ１２８に設定され、ＭａｘＴｔＳｚｉｅは６４ｘ６４に設定され、ＭｉｎＢｔＳｉｚｅおよびＭｉｎＴｔＳｉｚｅ（for both width and height）は４ｘ４に、そしてＭａｘＭｔｔＤｅｐｔｈは４に、設定されることができる。四分木（クォートツリー）パーティショニングは、ＣＴＵに適用されて四分木のリーフノードを生成することができる。四分木のリーフノードは、リーフＱＴノードと呼ばれることができる。四分木のリーフノードは、１６ｘ１６サイズ（すなわち、ｔｈｅ  ＭｉｎＯＴＳｉｚｅ）から１２８ｘ１２８サイズ（すなわち、ｔｈｅ  ＣＴＵ  ｓｉｚｅ）を有することができる。リーフＱＴノードが１２８ｘ１２８である場合には、さらに、二分木/三分木に分割されないことがある。これは、この場合、分割されてもＭａｘＢｔｓｉｚｅおよびＭａｘＴｔｓｚｉｅ（すなわち、６４ｘ６４）を超過するからである。それ以外の場合、リーフＱＴノードは、マルチタイプのツリーにさらに分割されることができる。したがって、リーフＱＴノードは、マルチタイプのツリーのルートノード（root node）であり、リーフＱＴノードは、マルチタイプのツリーデプス（ｍｔｔＤｅｐｔｈ）０の値を有することができる。マルチタイプのツリーデプスがＭａｘＭｔｔｄｅｐｔｈ（例えば、４）に到達した場合、これ以上追加の分割は考慮されないことがある。マルチタイプのツリーノードの幅がＭｉｎＢｔＳｉｚｅと同じであり、２ｘＭｉｎＴｔＳｉｚｅより小さいか同じであるとき、もはや追加の水平分割は考慮されないことがある。マルチタイプのツリーノードの高さがＭｉｎＢｔＳｉｚｅと同じであり、２ｘＭｉｎＴｔＳｉｚｅより小さいか同じであるとき、もはや追加の垂直分割は考慮されないことがある。
【００８６】
図６は、本発明が適用されることができる実施形態として、三分木（ternary-tree）分割を制限する方法を例示する図である。
【００８７】
図６を参照すると、ハードウェアデコーダにおける６４ｘ６４ルマブロックおよび３２ｘ３２クロマパイプラインの設計を可能にする（許容する）ために、ＴＴ分割は、特定の場合に制限されることができる。例えば、ルマコーディングブロックの幅または高さが予め設定された特定の値（例えば、３２、６４）より大きい場合、図６に示すように、ＴＴ分割が制限されることができる。
【００８８】
本文書において、コーディングツリースキームは、ルマおよびクロマブロックが個別的（separate）ブロックのツリー構造を有することをサポート（支援）することができる。ＰおよびＢスライスに対し、一つのＣＴＵ内輝度とクロマＣＴＢとは同じコーディングツリー構造を有するように制限されることができる。しかしながら、Ｉスライスに対し、ルマとクロマブロックとは、互いに別々のブロックツリー構造を有することができる。個別的ブロックツリーモードが適用される場合、ルマＣＴＢは、特定のコーディングのツリー構造に基づいてＣＵに分割され、クロマＣＴＢは、他のコーディングツリー構造に基づいて、クロマＣＵに分割されることができる。これは、Ｉスライス内ＣＵは、ルマ成分のコーディングブロックまたは２クロマ成分のコーディングブロックで構成され、ＰまたはＢスライスのＣＵは、三つの色成分のブロックで構成されることができるのを意味することができる。
【００８９】
前述した「Ｐａｒｔｉｔｉｏｎｉｇ  ｏｆ  ｔｈｅ  ＣＴＵｓ  ｕｓｉｎｇ  ａ  ｔｒｅｅ  ｓｔｒｕｃｔｕｒｅ」でマルチタイプのツリーを伴った四分木コーディングツリー構造について説明したが、ＣＵが分割される構造は、これに限定されない。たとえば、ＢＴの構造およびＴＴの構造は、多数の分割ツリー（Multiple Partitioning Tree、ＭＰＴ）の構造に含まれる概念で解釈されることができ、ＣＵは、ＱＴ構造およびＭＰＴ構造により分割されると解釈することができる。ＱＴ構造およびＭＰＴ構造によりＣＵが分割される一例において、ＱＴ構造のリーフノードがいくつかのブロックに分割されるかについての情報を含む構文要素（例えば、ＭＰＴ＿ｓｐｌｉｔ＿ｔｙｐｅ）と、ＱＴ構造のリーフノードが垂直および水平のうちのどちらの方向に分割されるかについての情報を含む構文要素（例えば、ＭＰＴ＿ｓｐｌｉｔ＿ｍｏｄｅ）と、がシグナリングされることで、分割構造が決定されることができる。
【００９０】
さらに他の例として、ＣＵは、ＱＴ構造、ＢＴ構造またはＴＴ構造と別の方法で分割されることができる。つまり、ＱＴ構造に基づいて、下位デプスのＣＵが上位デプスのＣＵの１/４サイズに分割されたり、ＢＴ構造に応じて、下位デプスのＣＵが上位デプスのＣＵの１/２サイズに分割されたり、ＴＴ構造に基づいて、下位デプスのＣＵが上位デプスのＣＵの１/４または１/２のサイズに分割されるものとは異なり、下位デプスのＣＵは、場合によっては、上位デプスのＣＵの１/５、１/３、３/８、３/５、２/３または５/８のサイズに分割されることができ、ＣＵが分割される方法は、これに限定されない。
【００９１】
ツリーノードブロックの部分（a portion）が下部（bottom）または右（right）ピクチャ境界を超える（exceeds）場合、そのツリーノードブロックは、すべてのコーディングされたＣＵのすべてのサンプルが上記のピクチャ境界内に位置するように制限されることができる。この場合、例えば、次のような分割ルールが適用されることができる。
【００９２】
- もしtree node blockの一部が下側と右側ピクチャ境界を超えると、
【００９３】
- もしブロックがＱＴ nodeであり、ブロックサイズが最小ＱＴ sizeより大きければ、ブロックはＱＴ split modeに分けられる。
【００９４】
- そうでなければ、ブロックはＳＰＬＩＴ＿ＢＴ＿ＨＯＲ modeに分割される。
【００９５】
-  そうではなく、もしtree node blockの一部が下側ピクチャ境界を超えると、
【００９６】
- もしブロックがＱＴ nodeであり、ブロックサイズが最小ＱＴ sizeより大きく最大ＢＴ sizeより大きければ、ブロックはＱＴ split modeに分けられる。
【００９７】
- そうではなく、もしブロックがＱＴ nodeであり、ブロックサイズが最小ＱＴ sizeより大きく最大ＢＴ sizeより同じか小さいと、ブロックはＱＴ split modeまたはＳＰＬＩＴ＿ＢＴ＿ＨＯＲ modeに分割される。
【００９８】
- そうでなければ（ブロックがＢＴＴ nodeであるか、またはブロックサイズが最小ＱＴ sizeと同じか小さいと）、ブロックはＳＰＬＩＴ＿ＢＴ＿ＨＯＲ modeに分割される。
【００９９】
- そうではなく、もしtree node blockの一部が右ピクチャ境界を超えると、
【０１００】
- もしブロックがＱＴ nodeであり、ブロックサイズが最小ＱＴ sizeより大きく最大ＢＴ sizeより大きければ、ブロックはＱＴ split modeに分けられる。
【０１０１】
- そうではなく、もしブロックがＱＴ nodeであり、ブロックサイズが最小ＱＴ sizeより大きく最大ＢＴ sizeより同じか小さいと、ブロックはＱＴ split modeまたはＳＰＬＩＴ＿ＢＴ＿ＶＥＲ modeに分割される。
【０１０２】
- そうでなければ（ブロックがＢＴＴ nodeであるか、またはブロックサイズが最小ＱＴ sizeと同じか小さいと）、ブロックはＳＰＬＩＴ＿ＢＴ＿ＶＥＲ modeに分割される。
【０１０３】
一方、前述したマルチタイプのツリーを伴った四分木コーディングブロック構造は、非常に柔軟なブロックパーティショニングの構造を提供することができる。マルチタイプのツリーにサポートされる分割タイプのため、他の分割パターンが、場合によって、潜在的に同じコードブロック構造の結果をもたらすことができる。このような冗長（リダンダント）な（redundant：冗長）分割パターンの発生を制限することにより、パーティショニング情報のデータ量を削減することができる。下の図を参照して説明する。
【０１０４】
図７は、本発明が適用されることができる実施形態として、二分木分割および三分木の分割で発生することができる冗長分割パターンを例示する図である。
【０１０５】
図７に示すように、２段階のレベルの一方向の連続する二分割（two levels of consecutive binary splits in one direction）は、三分割の以後の中心パーティションの二分割と同じであるコーディングブロック構造を有する。このような場合、三分木分割の中心パーティションの二分木分割（in the given direction）は、制限されることができる。このような制限は、すべてのピクチャのＣＵに対し適用することができる。このような特定の分割が制限される場合、対応する構文要素のシグナリングは、このような制限される場合を反映して修正されることができ、これによりパーティショニングのためにシグナリングされるビット数を減らすことができる。例えば、図７に示された例のように、ＣＵの中心パーティションの二分木分割が制限される場合、分割が二分割であるか三分割であるかどうかを示すｍｔｔ＿ｓｐｌｉｔ＿ｃｕ＿ｂｉｎａｒｙ＿ｆｌａｇ構文要素は、シグナリングされず、その値は、０でデコーダによって推論されることができる。
【０１０６】
予測（prediction）
【０１０７】
デコードが実行される現在の処理ユニットを復元するために、現在の処理ユニットが含まれる現在のピクチャまたは他のピクチャのデコードされた部分を用いることができる。
【０１０８】
復元に現ピクチャのみを用いる、すなわち、画面内予測のみを実行するピクチャ（スライス）をイントラピクチャまたはＩピクチャ（スライス）、各ユニットを予測するために最大１つの動きベクトルおよび参照インデックスを用いるピクチャ（スライス）を予測ピクチャ（predictive picture）またはＰピクチャ（スライス）、最大２つの動きベクトルおよび参照インデックスを用いるピクチャ（スライス）をペア予測ピクチャ（Bi-predictive picture）またはＢピクチャ（スライス）と称することができる。
【０１０９】
イントラ予測は、同じデコードされたピクチャ（またはスライス）のデータ要素（例えば、サンプル値など）から現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
【０１１０】
以下、インター予測について、より注意深く見る。
【０１１１】
インター予測（Inter prediction）（または画面間予測）
【０１１２】
インター予測は、現在のピクチャ以外のピクチャのデータ要素（例えば、サンプル値または動きベクトルなど）に基づいて、現在の処理ブロックを導出する予測方法を意味する。つまり、現在のピクチャ以外の復元された他のピクチャ内の復元された領域を参照して、現在の処理ブロックのピクセル値を予測する方法を意味する。
【０１１３】
インター予測（またはピクチャ間予測）は、ピクチャの間に存在する重複性を除去する技術で、ほとんど動き推定（motion estimation）および動き補償（motion compensation）を介して行われます。
【０１１４】
本発明は、先に図１および図２で説明したインター予測方法の詳細な技術を説明するもので、デコーダの場合、後述する図１０のインター予測ベースのビデオ／映像をデコードする方法と、図１１のデコード装置内インター予測部と、で示すことができる。加えて、エンコーダの場合、後述する図８のインター予測ベースのビデオ／映像のエンコード方法と、図９のエンコード装置内インター予測部と、で示すことができる。さらに、図８および図９によってエンコードされたデータは、ビットストリームの形式で記憶されることができる。
【０１１５】
エンコード装置／デコード装置の予測部は、ブロック単位でインター予測を実行して、予測サンプルを導出することができる。インター予測は、現在のピクチャ以外のピクチャのデータ要素（例えば、サンプル値、または動き情報など）に依存する方法で導出される予測を示すことができる。現ブロックにインター予測が適用される場合、参照ピクチャインデックスが示す参照ピクチャ上で動きベクトルによって特定される参照ブロック（参照サンプルのアレイ）をベースに、現ブロックの予測されたブロック（予測サンプルアレイ）を導出することができる。
【０１１６】
このとき、インター予測モードで伝送される動き情報の量を減らすために周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、現ブロックの動き情報を、ブロック、サブブロック、またはサンプル単位で予測することができる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。上記動き情報は、インター予測タイプ（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）の情報をさらに含むことができる。
【０１１７】
インター予測が適用される場合、周辺ブロックは、現在のピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。上記参照ブロックを含む参照ピクチャと上記時間的周辺ブロックを含む参照ピクチャとは、同じであることもあり、異なることもある。上記時間的周辺ブロックは、コロケート参照ブロック（collocated reference block）、コロケートＣＵ（ｃｏｌＣＵ）などの名で呼ばれることができ、上記時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれることもできる。たとえば、現ブロックの周辺ブロックに基づいて動き情報候補リストが構成されることができ、上記現ブロックの動きベクトルおよび/または参照ピクチャインデックスを導出するためどのような候補が選択（使用）されるかを指示するフラグまたはインデックス情報がシグナリングされることができる。
【０１１８】
様々な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードおよびマージモードの場合、現ブロックの動き情報は、選択された周辺ブロックの動き情報と同じであることができる。スキップモードの場合、マージモードとは異なり、残差信号が伝送されないことがある。動き情報予測（Motion Vector Prediction、ＭＶＰ）モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）として（で）用い、動きベクトル差分（motion vector difference）は、シグナリングされることができる。この場合、上記動きベクトル予測子と動きベクトル差分との和（合）を用いて上記現ブロックの動きベクトルを導出することができる。
【０１１９】
図８および図９は、本発明の実施形態に係るインター予測ベースのビデオ／映像のエンコード方法と本発明の実施形態に係るエンコード装置内インター予測部とを例示する図である。
【０１２０】
図８および図９を参照すると、Ｓ８０１は、エンコード装置のインター予測部１８０によって実行されることができ、Ｓ８０２は、エンコード装置の残差処理部によって実行されることができる。具体的には、Ｓ８０２は、エンコード装置の減算部１１５によって実行されることができる。Ｓ８０３において、予測情報は、インター予測部１８０によって導出され、エントロピエンコード部１９０によってエンコードされることができる。Ｓ８０３において、残差情報は、残差処理部によって導出され、エントロピエンコード部１９０によってエンコードされることができる。上記残差情報は、上記残差サンプルに関する情報である。上記残差情報は、上記残差サンプルに対する量子化された変換係数に関する情報を含むことができる。
【０１２１】
前述したように、上記残差サンプルは、エンコード装置の変換部１２０を介して変換係数として導出され、上記変換係数は、量子化部１３０を介して量子化された変換係数として導出することができる。上記量子化された変換係数に関する情報は、残差コーディング手順を介してエントロピエンコード部１９０でエンコードされることができる。
【０１２２】
エンコード装置は、現ブロックのインター予測を行う（Ｓ８０１）。エンコード装置は、現ブロックのインター予測モードおよび動き情報を導出し、上記現ブロックの予測サンプルを生成することができる。ここで、インター予測モード決定、動き情報導出および予測サンプルの生成手順は、同時に実行されることもあり、いずれか１つの手順が、他の手順よりも先に実行されることもできる。たとえば、エンコード装置のインター予測部１８０は、予測モード決定部１８１、動き情報導出部１８２、予測サンプル導出部１８３を含むことができ、予測モード決定部１８１で、上記現ブロックの予測モードを決定し、動き情報導出部１８２において、上記現ブロックの動き情報を導出し、予測サンプル導出部１８３において、上記現ブロックの動きサンプルを導出することができる。
【０１２３】
たとえば、エンコード装置のインター予測部１８０は、動き推定（motion estimation）を介して参照ピクチャの一定領域（サーチエリア）内において、上記現ブロックと類似のブロックをサーチし、上記現ブロックとの差が最小または一定基準以下の参照ブロックを導出することができる。これに基づいて、上記参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導出し、上記参照ブロックと上記現ブロックとの位置の差に基づいて、動きベクトルを導出することができる。エンコード装置は、様々な予測モードのうちの上記現ブロックに対して適用されるモードを決定することができる。エンコード装置は、上記様々な予測モードに対するＲＤ ｃｏｓｔを比較し、上記現ブロックの最適な予測モードを決定することができる。
【０１２４】
たとえば、エンコード装置は、上記現ブロックのスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、上記マージ候補リストに含まれるマージ候補が指す参照ブロックのうちの上記現ブロックと上記現ブロックとの差が最小または一定の基準以下の参照ブロックを導出することができる。この場合、上記導出された参照ブロックと関連付けられているマージ候補が選択され、上記選択されたマージ候補を示すマージインデックス情報が生成され、デコード装置にシグナリングされることができる。上記選択されたマージ候補の動き情報を用いて上記現ブロックの動き情報が導出されることができる。
【０１２５】
他の例として、エンコード装置は、上記現ブロックに（Ａ）ＭＶＰモードが適用される場合、後述する（Ａ）ＭＶＰ候補リストを構成し、上記（Ａ）ＭＶＰ候補リストに含まれるＭＶＰ（Motion Vector Predictor）候補のうちの選択されたＭＶＰ候補の動きベクトルを上記現ブロックのＭＶＰとして用いることができる。この場合、例えば、前述した動き推定によって導出された参照ブロックを指す動きベクトルが上記現ブロックの動きベクトルとして用いられることができ、上記ＭＶＰ候補のうちの上記現ブロックの動きベクトルとの差が最も小さい動きベクトルを有するＭＶＰ候補が上記選択されたＭＶＰ候補になることができる。上記現ブロックの動きベクトルから上記ＭＶＰを引いた差分のＭＶＤ（Motion Vector Difference）が導出されることができる。この場合、上記ＭＶＤに関する情報がデコード装置にシグナリングされることができる。また、（Ａ）ＭＶＰモードが適用される場合、上記参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成され、別途、上記デコード装置にシグナリングされることができる。
【０１２６】
エンコード装置は、上記予測サンプルに基づいて残差サンプルを導出することができる（Ｓ８０２）。エンコード装置は、上記現ブロックのソースサンプルと上記予測サンプルとの比較を通じて、上記残差サンプルを導出することができる。
【０１２７】
エンコード装置は、予測情報および残差情報を含む映像情報をエンコードする（Ｓ８０３）。エンコード装置は、エンコードされた映像情報をビットストリームの形態で出力することができる。上記予測情報は、上記予測手順に関連する情報で予測モード情報（例えば、ｓｋｉｐ  ｆｌａｇ、ｍｅｒｇｅ  ｆｌａｇ  ｏｒ  ｍｏｄｅ  ｉｎｄｅｘなど）および動き情報に関する情報を含むことができる。上記動き情報に関する情報は、動きベクトルを導出するための情報である候補選択情報（例えば、ｍｅｒｇｅ  ｉｎｄｅｘ、ＭＶＰ  ｆｌａｇ  ｏｒ  ＭＶＰ  ｉｎｄｅｘ）を含むことができる。また、上記動き情報に関する情報は、前述したＭＶＤに関する情報および/または参照ピクチャインデックス情報を含むことができる。
【０１２８】
また、上記動き情報に関する情報は、Ｌ０予測、Ｌ１予測、またはペア（bi）の予測が適用されるかどうかを示す情報を含むことができる。上記残差情報は、上記残差サンプルに関する情報である。上記残差情報は、上記残差サンプルに対する量子化された変換係数に関する情報を含むことができる。
【０１２９】
出力されたビットストリームは、（デジタル）記憶媒体に記憶されてデコード装置に伝達されることができ、またはネットワークを介してデコード装置に伝達されることもできる。
【０１３０】
一方、前述したように、エンコード装置は、上記参照サンプルおよび上記残差サンプルに基づいて復元ピクチャ（復元サンプルおよび復元ブロックを含む）を生成することができる。これは、デコード装置で実行されるものと同じ予測結果をエンコード装置で導出するためであり、これを通じてエンコーディング（符号化）効率を高めることができるからである。したがって、エンコード装置は、復元ピクチャ（または復元サンプル、復元ブロック）をメモリに記憶し、インター予測のための参照ピクチャとして活用することができる。上記復元ピクチャにインループフィルタの手続きなどがさらに適用されることができることは、前述した通りである。
【０１３１】
図１０および図１１は、本発明の実施形態に係るインター予測ベースのビデオ／映像のデコード方法と、本発明の実施形態に係るデコード装置におけるインター予測部と、を例示する図である。
【０１３２】
図１０および図１１を参照すると、デコード装置は、上記エンコード装置で実行された動作と対応する動作を実行することができる。デコード装置は、受信した予測情報に基づいて、現ブロックに予測を行い、予測サンプルを導出することができる。
【０１３３】
Ｓ１００１ないしＳ１００３は、デコード装置のインター予測部２６０によって実行されることができ、Ｓ１００４の残差情報は、デコード装置のエントロピデコード部２１０によってビットストリームから獲得することができる。デコード装置の残差処理部は、上記残差情報に基づいて、現ブロックの残差サンプルを導出することができる。具体的には、上記残差処理部の逆量子化部２２０は、上記残差情報に基づいて導出された量子化された変換係数に基づいて、逆量子化を実行して変換係数を導出し、上記残差処理部の逆変換部２３０は、上記変換係数の逆変換を実行し、上記現ブロックの残差サンプルを導出することができる。Ｓ１００５は、デコード装置の加算部２３５または復元部によって実行されることができる。
【０１３４】
具体的には、デコード装置は、受信した予測情報に基づいて、上記現ブロックの予測モードを決定することができる（Ｓ１００１）。デコード装置は、上記予測情報内の予測モード情報に基づいて、上記現ブロックにどのようなインター予測モードが適用されるかを決定することができる。
【０１３５】
例えば、上記ｍｅｒｇｅ  ｆｌａｇに基づいて、上記現ブロックに上記マージモードが適用されるか、または（Ａ）ＭＶＰモードが決定されるか、を決定することができる。あるいは、上記ｍｏｄｅ  ｉｎｄｅｘに基づいて、様々なインター予測モード候補のうちのいずれか１つを選択することができる。上記インター予測モード候補は、スキップモード、マージモードおよび/もしくは（Ａ）ＭＶＰモードを含むことができ、または後述する様々なインター予測モードを含むことができる。
【０１３６】
デコード装置は、上記決定されたインター予測モードに基づいて、上記現ブロックの動き情報を導出する（Ｓ１００２）。例えば、デコード装置は、上記現ブロックにスキップモードまたはマージモードが適用される場合、後述するマージ候補リストを構成し、上記マージ候補リストに含まれるマージ候補のうちのいずれか１つのマージ候補を選択することができる。上記選択は、前述した選択情報（merge index）に基づいて実行されることができる。上記選択されたマージ候補の動き情報を用いて、上記現ブロックの動き情報が導出されることができる。上記選択されたマージ候補の動き情報が、上記現ブロックの動き情報として用いられる。
【０１３７】
他の例として、デコード装置は、上記現ブロックに（Ａ）ＭＶＰモードが適用される場合、後述する（Ａ）ＭＶＰ候補リストを構成し、上記（Ａ）ＭＶＰ候補リストに含まれるｍｖｐ（motion vector predictor）候補のうちの選択されたｍｖｐ候補の動きベクトルを上記現ブロックのｍｖｐに用いることができる。上記選択は、前述した選択情報（ｍｖｐ  ｆｌａｇ  ｏｒ  ｍｖｐ  ｉｎｄｅｘ）に基づいて実行されることができる。この場合、上記ＭＶＤに関する情報に基づいて、上記現ブロックのＭＶＤを導出することができ、上記現ブロックのｍｖｐおよび上記ＭＶＤに基づいて、上記現ブロックの動きベクトルを導出することができる。また、上記参照ピクチャインデックス情報に基づいて、上記現ブロックの参照ピクチャインデックスを導出することができる。上記現ブロックに関する参照ピクチャリスト内で、上記参照ピクチャインデックスが指すピクチャが、上記現ブロックのインター予測のために参照される参照ピクチャとして導出されることができる。
【０１３８】
一方、後述するように候補リスト構成なしで上記現ブロックの動き情報が導出されることができ、この場合、後述する予測モードで開示された手順に従って、上記現ブロックの動き情報が導出されることができる。この場合、前述したような候補リストの構成は、省略されることができる。
【０１３９】
デコード装置は、上記現ブロックの動き情報に基づいて、上記現ブロックの予測サンプルを生成することができる（Ｓ１００３）。この場合、上記現ブロックの参照ピクチャインデックスに基づいて、上記参照ピクチャを導出し、上記現ブロックの動きベクトルが上記参照ピクチャ上で指す参照ブロックのサンプルを用いて、上記現ブロックの予測サンプルを導出することができる。この場合、後述するように、場合によっては、上記現ブロックの予測サンプルのうちの全部または一部の予測サンプルのフィルタリング手順がさらに実行されることができる。
【０１４０】
例えば、デコード装置のインター予測部２６０は、予測モード決定部２６１、動き情報導出部２６２、予測サンプル導出部２６３を含むことができ、予測モード決定部２６１で、受信した予測モード情報に基づいて、上記現ブロックの予測モードを決定し、動き情報導出部２６２から（で）、受信した動き情報に関する情報に基づいて、上記現ブロックの動き情報（動きベクトルおよび/または参照ピクチャインデックスなど）を導出し、予測サンプル導出部２６３において、上記現ブロックの予測サンプルを導出することができる。
【０１４１】
デコード装置は、受信した残差情報に基づいて、上記現ブロックの残差サンプルを生成する（Ｓ１００４）。デコード装置は、上記予測サンプルおよび上記残差サンプルに基づいて、上記現ブロックの復元サンプルを生成し、これに基づいて復元ピクチャを生成することができる（Ｓ１００５）。以後、上記復元ピクチャにインループフィルタの手続きなどがさらに適用されることができるのは、前述した通りである。
【０１４２】
前述したように、インター予測の手順は、インター予測モード決定ステップと、決定された予測モードに応じた動き情報導出ステップと、導出された動き情報に基づいた予測実行（予測サンプル生成）ステップと、を含むことができる。
【０１４３】
インター予測モード決定（Determination of inter prediction mode）
【０１４４】
ピクチャ内の現ブロックの予測のために、様々なインター予測モードが用いられる。たとえば、マージモード、スキップモードでは、ＭＶＰモード、アフィン（Affine）モードなど、さまざまなモードが用いられる。ＤＭＶＲ（Decoder Side Motion Vector Refinement）モード、ＡＭＶＲ（Adaptive Motion Vector Resolution）モードなどが付随的なモードとしてさらに用いられる。アフィンモードは、アフィン動き予測（affine motion prediction）モードと呼ばれることもある。ＭＶＰモードは、ＡＭＶＰ（Advanced Motion Vector Prediction）モードと呼ばれることもある。
【０１４５】
現ブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。上記予測モード情報は、ビットストリームに含まれデコード装置によって受信されることができる。上記予測モード情報は、多数の候補モードのうちの１つを指示するインデックス情報を含むことができる。あるいは、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、上記予測モード情報は、１つまたは複数のフラグを含むことができる。
【０１４６】
たとえば、スキップフラグをシグナリングしてスキップモードの適用かどうかを指示し、スキップモードが適用されない場合にマージフラグをシグナリングしてマージモードの適用かどうかを指示し、マージモードが適用されない場合にＭＶＰモードが適用されるものと指示したり、追加の区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立したモードでシグナリングされることもあり、またはマージモードまたはＭＶＰモードなどに従属するモードでシグナリングされることもできる。例えば、アフィンモードは、後述するようにマージ候補リストまたはＭＶＰ候補リストの一つの候補として構成することもできる。
【０１４７】
動き情報導出（Derivation of motion information according to inter prediction mode）
【０１４８】
現ブロックの動き情報を用いて、インター予測を行うことができる。エンコード装置は、動き推定（motion estimation）手順を介して、現ブロックの最適な動き情報を導出することができる。たとえば、エンコード装置は、現ブロックのソースピクチャ内のソースブロックを用いて、相関性が高い類似の参照ブロックを参照ピクチャ内の決められた探索範囲内で分数ピクセル単位で探索（サーチ）することができ、これにより動き情報を導出することができる。ブロックの類似性は、位相（phase）ベースのサンプル値の差に基づいて導出することができる。例えば、ブロックの類似性は、現ブロック（または現ブロックのテンプレート）と参照ブロック（または参照ブロックのテンプレート）との間のＳＡＤに基づいて計算することができる。この場合、サーチスペース（探索領域）内ＳＡＤが最も小さい参照ブロックに基づいて動き情報を導出することができる。導出された動き情報は、インター予測モードに基づいて、いろいろな方法に基づいてデコード装置にシグナリングされることができる。
【０１４９】
マージモードおよびスキップモード
【０１５０】
図１２は、本発明が適用される実施形態として、マージモードまたはスキップモードで用いられる周辺ブロックを説明する図である。
【０１５１】
マージモード（merge mode）が適用される場合、現在の予測ブロックの動き情報が直接伝送されず、周辺予測ブロックの動き情報を用いて上記現在の予測ブロックの動き情報を導出することになる。したがって、マージモードを用いたことを知らせるフラグ情報と周辺のどのような予測ブロックを用いたかを知らせるマージインデックスとを伝送することにより、現在の予測ブロックの動き情報を指示することができる。
【０１５２】
本明細書の一実施形態において、エンコーダは、マージモードを実行するために、現在の予測ブロックの動き情報を導出するために用いられるマージ候補ブロック（merge candidate block）を探索することができる。例えば、上記マージ候補ブロックは、最大５個まで用いられるが、本発明はこれに限定されない。そして、上記マージ候補ブロックの最大個数は、スライスヘッダ（またはタイルのグループヘッダ）で伝送することができ、本発明はこれに限定されない。上記マージ候補ブロックを見つけた後、エンコーダは、マージ候補リストを生成することができ、これらのうちの最も小さいコストを有するマージ候補ブロックを最終マージ候補ブロックとして選択することができる。
【０１５３】
本発明は、上記マージ候補リストを構成するマージ候補ブロックの様々な実施形態を提供する。
【０１５４】
上記マージ候補リストは、例えば、５つのマージ候補ブロックを用いることができる。例えば、４つの空間的マージ候補（spatial merge candidate）と１つの時間的マージ候補（temporal merge candidate）とを用いることができる。具体例として、空間的マージ候補の場合、図１２に示されたブロックを空間的マージ候補として用いることができる。
【０１５５】
図１３は、本発明が適用される一実施形態に係るマージ候補リストの構成方法を例示するフローチャートである。
【０１５６】
図１３を参照すると、符号化装置（エンコーダ／デコーダ）は、現ブロックの空間的周辺ブロックを探索して導出された空間的マージ候補をマージ候補リストに挿入する（Ｓ１３０１）。例えば、上記空間的周辺ブロックは、上記現ブロックの左下側コーナ周辺ブロック、左側の周辺ブロック、右上側コーナ周辺ブロック、上側周辺ブロック、左上側コーナ周辺ブロックを含むことができる。ただし、これは例として、前述した空間的周辺ブロック以外にも右側周辺ブロック、下側の周辺ブロック、右下側の周辺ブロックなどの追加の周辺ブロックが、さらに上記空間的周辺ブロックとして用いられる。コーディング装置は、上記空間的周辺ブロックを優先順位に基づいて探索して、使用可能（可用）なブロックを検出し、検出されたブロックの動き情報を、上記空間的マージ候補として導出することができる。例えば、エンコーダおよびデコーダは、図１２に示された５つのブロックをＡ１、Ｂ１、Ｂ０、Ａ０、Ｂ２の順に探索して、使用可能な候補を順次インデックスしてマージ候補リストとして構成することができる。
【０１５７】
コーディング装置は、上記現ブロックの時間的周辺ブロックを探索して導出された時間的マージ候補を上記マージ候補リストに挿入する（Ｓ１３０２）。上記時間的周辺ブロックは、上記現ブロックが位置する現在のピクチャと異なるピクチャである参照ピクチャ上に位置することができる。上記時間的周辺ブロックが位置する参照ピクチャは、ｃｏｌｌｏｃａｔｅｄピクチャまたはｃｏｌピクチャと呼ばれることができる。上記時間的周辺ブロックは、上記ｃｏｌピクチャ上における上記現ブロックの同じ位置のブロック（co-located block）の右下側コーナ周辺ブロックおよび右下側センターブロックの順に探索することができる。
【０１５８】
一方、ｍｏｔｉｏｎ  ｄａｔａ  ｃｏｍｐｒｅｓｓｉｏｎが適用される場合、上記ｃｏｌピクチャに一定の記憶ユニットごとに、特定の動きの情報を代表動き情報として記憶することができる。この場合、上記一定の記憶ユニット内のすべてのブロックの動き情報を記憶する必要がなく、これによりｍｏｔｉｏｎ  ｄａｔａ  ｃｏｍｐｒｅｓｓｉｏｎ効果を得ることができる。この場合、一定の記憶ユニットは、例えば、１６ｘ１６サンプルの単位もしくは８ｘ８サンプル単位などで予め決定されることもあり、またはエンコーダからデコーダで上記一定記憶ユニットのサイズ情報がシグナリングされることもある。上記ｍｏｔｉｏｎ  ｄａｔａ  ｃｏｍｐｒｅｓｓｉｏｎが適用される場合、上記時間的周辺ブロックの動き情報は、上記時間的周辺ブロックが位置する上記一定の代表的動き情報に置き換えることができる。
【０１５９】
つまり、この場合、実現側面で見ると、上記時間的周辺ブロックの座標に位置する予測ブロックではない、上記時間的周辺ブロックの座標（左上端サンプルポジション）に基づいて、一定の値だけ算術的右シフトした後、算術的左シフトした位置をカバーする予測ブロックの動き情報に基づいて、上記時間的マージ候補が導出されることができる。例えば、上記一定記憶ユニットが２ｎｘ２ｎサンプル単位である場合、上記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ  ＞＞  ｎ）＜＜  ｎ）、（ｙＴｎｂ  ＞＞  ｎ）＜＜  ｎ））に位置する予測ブロックの動き情報が上記時間的マージ候補のために用いられる。
【０１６０】
具体的には、例えば、上記一定記憶ユニットが１６ｘ１６サンプル単位である場合、上記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ  ＞＞  ４）＜＜  ４）、（ｙＴｎｂ  ＞＞  ４）＜＜  ４））に位置する予測ブロックの動き情報が上記時間的マージ候補のために用いられる。あるいは、例えば、上記一定記憶ユニットが８ｘ８サンプル単位である場合、上記時間的周辺ブロックの座標が（ｘＴｎｂ、ｙＴｎｂ）とすると、修正された位置である（（ｘＴｎｂ  ＞＞  ３）＜＜  ３）、（ｙＴｎｂ＞＞  ３）＜＜  ３））に位置する予測ブロックの動き情報が上記時間的マージ候補のために用いられる。
【０１６１】
コーディング装置は、現在のマージ候補の個数が最大のマージ候補の個数より小さいかどうかを確認することができる（Ｓ１３０３）。上記最大のマージ候補の個数は、予め定義されたり、エンコーダからデコーダにシグナリングされることができる。例えば、エンコーダは、上記最大のマージ候補の個数に関する情報を生成し、エンコードして、ビットストリームの形で、上記デコーダに伝達することができる。上記最大マージ候補の数が全部満たされると、以降の候補の追加プロセスは進行しないことがある。
【０１６２】
上記確認の結果、上記現在のマージ候補の個数が上記最大のマージ候補の個数より小さい場合、符号化装置は、追加マージ候補を上記マージ候補リストに挿入する（Ｓ１３０４）。上記追加マージ候補は、例えばＡＴＭＶＰ、ｃｏｍｂｉｎｅｄ  ｂｉ−ｐｒｅｄｉｃｔｉｖｅマージ候補（現スライスのスライスタイプがＢタイプの場合）、および/またはゼロベクトルマージ候補を含むことができる。
【０１６３】
上記確認の結果、上記現在のマージ候補の個数が上記最大のマージ候補の個数より小さくない場合、符号化装置は、上記マージ候補リストの構成を終了することができる。この場合、エンコーダは、ＲＤ（Rate-Distortion）ｃｏｓｔに基づいて、上記マージ候補リストを構成するマージ候補のうちの最適なマージ候補を選択することができ、上記選択されたマージ候補を指す選択情報（例えば、merge index）をデコーダにシグナリングすることができる。デコーダは、上記マージ候補リストおよび上記選択情報に基づいて、上記最適なマージ候補を選択することができる。
【０１６４】
上記選択されたマージ候補の動き情報が上記現ブロックの動き情報として用いられることができ、上記現ブロックの動き情報に基づいて、上記現ブロックの予測サンプルを導出することができることは、前述した通りである。エンコーダは、上記予測サンプルに基づいて、上記現ブロックの残差サンプルを導出することができ、上記残差サンプルに関する残差情報をデコーダにシグナリングすることができる。デコーダが、上記残差情報に基づいて導出された残差サンプルおよび上記予測サンプルに基づいて復元サンプルを生成し、これに基づいて復元ピクチャを生成することができることは、前述した通りである。
【０１６５】
スキップモード（skip mode）が適用される場合、前でマージモードが適用される場合と同じ方法で、上記現ブロックの動き情報を導出することができる。ただし、スキップモードが適用される場合、該ブロックの残差信号が省略され、したがって、予測サンプルが直接復元サンプルに用いられる。
【０１６６】
ＭＶＰモード
【０１６７】
図１４は、本発明が適用される一実施形態に係るマージ候補リストの構成方法を例示するフローチャートである。
【０１６８】
ＭＶＰ（Motion Vector Prediction）モードが適用される場合、復元された空間的周辺ブロック（例えば、先の図１２で説明した周辺のブロックであり得る）の動きベクトルおよび/または時間的周辺ブロック（またはＣｏｌブロック）に対応する動きベクトルを用いて、動きベクトル予測子（Motion Vector Predictor、ＭＶＰ）の候補リストが生成されることができる。つまり、復元された空間的周辺ブロックの動きベクトルおよび/または時間的周辺ブロックに対応する動きベクトルは、動きベクトル予測子候補として用いられる。
【０１６９】
上記予測に関する情報は、上記リストに含まれる動きベクトル予測子候補の中から選択された最適な動きベクトル予測子候補を指示する選択情報（例えば、ＭＶＰフラグまたはＭＶＰインデックス）を含むことができる。このとき、予測部は、上記選択情報を用いて、動きベクトルの候補リストに含まれる動きベクトル予測子候補の中から、現ブロックの動きベクトル予測子を選択することができる。エンコード装置の予測部は、現ブロックの動きベクトルと動きベクトル予測子との間の動きベクトル差分（ＭＶＤ）を求めることができ、これをエンコードして、ビットストリームの形で出力することができる。つまり、ＭＶＤは、現ブロックの動きベクトルから、上記動きベクトル予測子を引いた値で求められることができる。このとき、デコード装置の予測部は、上記予測に関する情報に含まれる動きベクトルの差分を獲得し、上記動きベクトル差分と上記動きベクトル予測子との加算を通じて、現ブロックの上記動きベクトルを導出することができる。デコード装置の予測部は、参照ピクチャを指示する参照ピクチャインデックスなどを上記予測に関する情報から獲得または導出することができる。例えば、動きベクトル予測子候補リストは、図１４に示すように構成することができる。
【０１７０】
アフィン動き予測（Affine motion prediction）
【０１７１】
図１５は、本発明の実施形態に係る動きモデル（motion models）の例を示す。
【０１７２】
従来の映像圧縮技術（例えば、ＨＥＶＣ（High Efficiency Video Coding））は、コーディングブロックの動き（motion）を表現するための１つの動きベクトル（motion vector）を用いる。例えば（たとえ）、ブロックごとに一つの動きベクトルを用いる方式がブロック単位の最適動きを表現することがあるが、実際の各画素の、最適な動きではないことがある。したがって、画素単位で最適な動きベクトルを決定することができれば符号化効率を向上させることができる。そこで、本発明の実施形態は、多数の動きモデル（multi motion model）を用いて、ビデオ信号を符号化または復号する動き予測（motion prediction）方法について説明する。特に、２つないし４つの制御点動きベクトルを用いて、ブロックの各画素単位またはサブブロック単位で動きベクトルを表現することができ、このような複数の制御点動きベクトルを用いた予測手法は、アフィン動き予測（affine motion prediction）、アフィン予測（affine prediction）などと呼ばれることができる。
【０１７３】
本発明の実施形態に係るアフィン動きモデル（affine motion model）は、図１５に示すような４つの動きモデルを表現することができる。Ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌが表現できるｍｏｔｉｏｎのうちの３つのｍｏｔｉｏｎ（ｔｒａｎｓｌａｔｉｏｎ、ｓｃａｌｅ、ｒｏｔａｔｅ）を表現するａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌは、ｓｉｍｉｌａｒｉｔｙ（ｏｒ  ｓｉｍｐｌｉｆｉｅｄ）  ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌと呼ばれ、本発明の実施形態の説明において、説明の便宜のためにｓｉｍｉｌａｒｉｔｙ（ｏｒ  ｓｉｍｐｌｉｆｉｅｄ）  ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌに基づいて説明するが、本発明はこれに限定されない。
【０１７４】
図１６は、本発明の実施形態に係るアフィン動き予測のための制御点動きベクトルの例を示す。
【０１７５】
図１６のようにアフィン動き予測は、２つの制御点動きベクトル（Control Point Motion Vector、ＣＰＭＶ）のペア（pair）、ｖ＿０およびｖ＿１を用いて、ブロックが含む画素の位置（またはサブブロック）の動きベクトルを決定することができる。このとき、動きベクトルの集合は、アフィン動きベクトルフィールド（Motion Vector Field、ＭＶＦ）と呼ばれることができる。このとき、アフィン動きベクトルフィールドは、以下の数式（１）を用いて決定することができる。
【０１７６】
＜数式１＞
【数１】
2021515484.tif 000004
【０１７７】
数式１で、ｖ＿０（ｖ＿０＝｛ｖ＿０ｘ，ｖ＿０ｙ｝）は、現ブロック１３００の左上側の位置の第１制御点動きベクトル（ＣＰＭＶ０）を示し、ｖ＿１（ｖ＿１＝｛ｖ＿１ｘ，ｖ＿１ｙ｝）は、現ブロック１３００の右上側の位置の第２制御点動きベクトル（ＣＰＭＶ１）を示す。そして、ｗは、現ブロック１３００の幅（width）を示し、ｖ（ｖ＝｛ｖ＿ｘ，ｖ＿ｙ｝）は、｛ｘ、ｙ｝位置における動きベクトルを示す。サブブロック（または画素）単位の動きベクトルは、上記数式（１）を用いて導出することができる。一実施形態において、動きベクトルの精度は、１/１６の精度に丸められ（ラウンディングされ）ることができる。
【０１７８】
図１７は、本発明の実施形態に係るアフィン動き（モーション）予測が適用されたブロックの各サブブロック別動きベクトルの例を示す。
【０１７９】
図１７を参照すると、符号化または復号の過程でアフィン動きベクトルフィールド（ＭＶＦ）は、画素単位、あるいはブロック単位で決定されることができる。つまり、アフィン動き予測では、現ブロックの動きベクトルは、画素単位またはサブブロック単位で導出されることができる。
【０１８０】
画素単位でアフィン動きベクトルフィールドが決定される場合、各画素値に基づいて動きベクトルが得られ、ブロック単位の場合、ブロックの中央画素値に基づいて、該ブロックの動きベクトルが得られることができる。本書において、図１７のようにアフィン動きベクトルフィールド（ＭＶＦ）が４＊４ブロック単位で決定される場合が仮定される。ただし、これは、説明の便宜のためにあって、本発明の実施形態に限定されるものではない。図１７は、符号化ブロックが１６＊１６個のサンプルで構成され、４＊４サイズのブロック単位でアフィン動きベクトルフィールド（ＭＶＦ）が決定される場合の例を示す。
【０１８１】
アフィン動き予測（affine motion prediction）は、アフィンマージモード（ａｆｆｉｎｅ  ｍｅｒｇｅ  ｍｏｄｅまたはＡＦ＿ＭＥＲＧＥ）とアフィンインターモード（ａｆｆｉｎｅ  ｉｎｔｅｒ  ｍｏｄｅまたはＡＦ＿ＩＮＴＥＲ）を含むことができる。ＡＦ＿ＩＮＴＥＲモードは、４つのパラメータベースの動きモデルを用いるＡＦ＿４＿ＩＮＴＥＲモードと６つのパラメータベースの動きモデルを用いるＡＦ＿６＿ＩＮＴＥＲモードとを含むことができる。
【０１８２】
アフィンマージモード（Affine merge mode）
【０１８３】
ＡＦ＿ＭＥＲＧＥは、アフィン動き予測としてコーディング（符号化）された周辺ブロックのアフィン動きモデルに基づいて制御点動きベクトル（Control Point Motion Vector：ＣＰＭＶ）を決定する。検索順序でアフィンコーディングされた周辺ブロックは、ＡＦ＿ＭＥＲＧＥのために用いられる。１つまたは複数の隣接ブロックがアフィン動き予測としてコーディング（符号化）されるとき、現ブロックは、ＡＦ＿ＭＥＲＧＥとしてコーディングされることができる。
【０１８４】
つまり、アフィンマージモードが適用される場合、周辺ブロックのＣＰＭＶを用いて、現ブロックのＣＰＭＶを導出することができる。この場合、周辺ブロックのＣＰＭＶがそのまま現ブロックのＣＰＭＶで用いられることができ、周辺ブロックのＣＰＭＶが上記周辺ブロックのサイズおよび上記現ブロックのサイズなどに基づいて修正され、現ブロックのＣＰＭＶで用いられる。
【０１８５】
図１８は、本発明の実施形態に係るアフィンマージモード（affine merge mode）でアフィン動き予測に用いられる周辺ブロックの例を示す。
【０１８６】
アフィンマージ（ＡＦ＿ＭＥＲＧＥ）モードで、エンコーダは、次の過程のように符号化を行うことができる。
【０１８７】
ステップ−１：現コーディングブロック１８００の周辺ブロックＡないしE（１８１０、１８２０、１８３０、１８４０、１８５０）をアルファベット順にスキャン（scanning）し、スキャン順の基準で最初にアフィン予測モードで符号化されたブロックをアフィンマージ（ＡＦ＿ＭＥＲＧＥ）の候補ブロックとして決定
【０１８８】
ステップ−２：決定された候補ブロックの制御点動きベクトル（ＣＰＭＶ）を用いて、アフィン動きモデルを決定
【０１８９】
ステップ−３：候補ブロックのアフィン動きモデルに基づいて、現ブロック１８００の制御点動きベクトル（ＣＰＭＶ）が決定され、現ブロック１８００のＭＶＦを決定
【０１９０】
図１９は、本発明の実施形態に係るアフィン動き予測が適用された周辺ブロックを用いてアフィン動き予測が実行されるブロックの例を示す。
【０１９１】
例えば、図１９に示すように、ブロックＡ１９２０がアフィンモード（affine mode）で符号化された場合、ブロックＡ１９２０を候補ブロックに決定した後、ブロックＡ１９２０の制御点動きベクトル（ＣＰＭＶ）（例えば、ｖ２、ｖ３）を用いて、アフィン動きモデル（affine motion model）を導出した後、現ブロック１９００の制御点動きベクトル（ＣＰＭＶ）ｖ０およびｖ１を決定することができる。現ブロック１９００の制御点動きベクトル（ＣＰＭＶ）をベースにして、現ブロック１９００のアフィン動きベクトルフィールド（ＭＶＦ）が決定され、符号化が行われることができる。
【０１９２】
図２０は、本発明の実施形態に係る周辺アフィンコーディングブロックを用いて、マージ候補リストを生成する方法を説明する図である。
【０１９３】
図２０を参照すると、アフィンマージ候補を用いて、ＣＰＭＶ対を決定する場合、図２０に示すような候補が用いられる。図２０において、候補リストのスキャン順序は、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、に設定された場合を想定する。ただし、本発明がこれに限定されるものではなく、様々な順序で予め設定することができる。
【０１９４】
実施形態としては、周辺ブロック（つまり、Ａ、Ｂ、Ｃ、Ｄ、Ｅ）で利用可能なアフィンモード（またはアフィン予測）で符号化された候補（以下、アフィン候補と呼ばれることができる）の数が０のとき、現ブロックのアフィンマージモードでは、スキップされることができる。利用可能なアフィン候補の数が一つである場合（たとえば、Ａ）は、該当候補の動きモデルが、現ブロックの制御点動きベクトル（ＣＰＭＶ＿０およびＣＰＭＶ＿１）を導出するために用いられる。この場合には、該候補を指示するインデックスが要求（またはコーディング）されないことがある。利用可能なアフィン候補の数が複数である場合、スキャン順上の２つの候補がＡＦ＿ＭＥＲＧＥの候補リストで構成されることができる。この場合、候補リスト内で選択された候補を指示するインデックスと同じ候補選択情報がシグナリングされることができる。上記選択情報は、フラグまたはインデックス情報であり得、ＡＦ＿ＭＥＲＧＥ＿ｆｌａｇ、ＡＦ＿ｍｅｒｇｅ＿ｉｄｘなどと呼ばれることができる。
【０１９５】
本発明の実施形態において、現ブロックの動き補償は、サブブロックのサイズに基づいて実行されることができる。この場合、アフィンブロック（つまり、現ブロック）のサブブロックサイズが導出される。サブブロックの幅および高さの全てが４つのルマサンプルより大きければ、各サブブロックの動きベクトルが導出され、ＤＣＴ−ＩＦベースの動き補償（輝度の１/１６フェルおよび色差の１/３２）が、このサブブロックに対して実行されることができる。そうでなければ、向上された、バイリニア（二重線形）補間フィルタベースの動き補償（enhanced bi-linear interpolation filter based motion compensation）が、全体のアフィンブロックに対して実行されることができる。
【０１９６】
本発明の実施形態において、マージ/スキップフラグ（merge / skip flag）が真であり、ＣＵの幅および高さの両方が８以上のとき、ＣＵレベルで、アフィンフラグは、アフィンマージモードが用いられるかを指示するビットストリーム（bitstream）を介してシグナリングされる。ＣＵがＡＦ＿ＭＥＲＧＥとしてコーディングされるとき、最大値「５」を有するマージ候補インデックスは、アフィンマージ候補リストから動き情報候補がＣＵのために用いられることを指定するためにシグナリングされる。
【０１９７】
図２１および図２２は、本発明の実施形態に係るアフィン予測で符号化された周辺ブロックを用いてアフィンマージ候補リストを構成する方法を説明する図である。
【０１９８】
図２１を参照すると、アフィンマージ候補リストは、次のステップとして構成される。
【０１９９】
モデルベースアフィン候補の挿入
【０２００】
モデルベースのアフィン候補は、候補がアフィンモードでコーディングされた有効な周辺の再構成されたブロックから導出されることを意味する。図２１に示すように、候補ブロックのスキャン順序は、左（Ａ）、上側（ｂ）、右上側（Ｃ）および左下側（Ｄ）から左上側（Ｅ）である。
【０２０１】
周辺左下側ブロック（Ａ）が６パラメータアフィンモードでコーディングされると、ブロック（Ａ）を含むＣＵの左上側コーナ、右上側コーナ、および左下側コーナの動きベクトル（ｖ＿４、ｖ＿５、ｖ＿６）を得ることになる。現ブロック上の左上側コーナの動きベクトル（ｖ＿０、ｖ＿１、ｖ＿２）は、６パラメータアフィンモデルによる動きベクトル（ｖ＿４、ｖ＿５、ａｎｄ  ｖ＿６）に応じて計算される。
【０２０２】
周辺左下側ブロック（Ａ）が４パラメータアフィンモードでコーディングされると、ブロック（Ａ）を含むＣＵの左上側コーナおよび右上側コーナの動きベクトル（ｖ＿４、ｖ＿５）を得ることになる。現ブロック上の左上側コーナの動きベクトル（ｖ＿０、ｖ＿１）は、４パラメータアフィンモデルによる動きベクトル（ｖ＿４、ｖ＿５）に応じて計算される。
【０２０３】
制御点ベースアフィン候補の挿入
【０２０４】
図２１を参照すると、制御点ベース候補は、各制御点の周辺の動き情報を組み合わせることにより、候補が構成されることを意味する。
【０２０５】
制御点に対する動き情報は、まず、図２１に示された指定された空間隣接ブロックとの時間隣接ブロックから導出される。ＣＰ＿ｋ（ｋ ＝ １、２、３、４）は、ｋ番目の制御点を示す。また、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇは、ＣＰ＿ｋ（ｋ ＝ １、２、３）を予測するための空間位置であり、Ｈは、ＣＰ４を予測するための時間位置である。
【０２０６】
ＣＰ＿１、ＣＰ＿２、ＣＰ＿３およびＣＰ＿４の座標は、それぞれ（０、０）、（Ｗ、０）、（Ｈ、０）および（Ｗ、Ｈ）であり、ここで、ＷおよびＨは、現ブロックの幅および高さである。
【０２０７】
各制御点の動き情報は、次の優先順位に応じて得られる。
【０２０８】
ＣＰ＿１に対して、チェックの優先順位は、Ａ−＞Ｂ−＞Ｃであり、Ａが利用可能な場合、Ａが用いられる。そうではなく、Ｂが利用可能である場合、Ｂが用いられる。ＡおよびＢの両方が利用可能でなければ、Ｃが用いられる。３つの候補のすべてが利用可能でなければ、ＣＰ１の動き情報を得ることができない。
【０２０９】
ＣＰ＿２に対して、チェックの優先順位は、Ｅ−＞Ｄである。
【０２１０】
ＣＰ＿３に対して、チェックの優先順位は、Ｇ−＞Ｆである。
【０２１１】
ＣＰ＿４に対して、Ｈが用いられる。
【０２１２】
第二に、制御点の組み合わせが動きモデルを構成するために用いられる。
【０２１３】
２つの制御点動きベクトルは、４−パラメータアフィンモデルで変換パラメータを算出するために必要である。２つの制御点は、次の６つの組み合わせ（｛ＣＰ＿１、ＣＰ＿４｝、｛ＣＰ＿２、ＣＰ＿３｝、｛ＣＰ＿１、ＣＰ＿２｝、｛ＣＰ＿２、ＣＰ＿４｝、｛ＣＰ＿１、ＣＰ＿３｝、｛ＣＰ＿３、ＣＰ＿４｝）の一つから選択ことができる。例えば、４−パラメータアフィン動きモデルを構成するのにＣＰ＿１およびＣＰ＿２コントロールポイント（制御点）を用いているものは、「Ａｆｆｉｎｅ（ＣＰ＿１、ＣＰ＿２）」と表記される。
【０２１４】
３つの制御点動きベクトルは、６パラメータアフィンモデルで変換パラメータを算出するために必要である。３つの制御点は、次の４つの組み合わせ（｛ＣＰ＿１、ＣＰ＿２、ＣＰ＿４｝、｛ＣＰ＿１、ＣＰ＿２、ＣＰ＿３｝、｛ＣＰ＿２、ＣＰ＿３、ＣＰ＿４｝、｛ＣＰ＿１、ＣＰ＿３、ＣＰ＿４｝）のうちの１つから選択されることができる。たとえば、６パラメータアフィン動きモデルを構成するＣＰ＿１、ＣＰ＿２およびＣＰｖ３制御点を用いるものは、「Ａｆｆｉｎｅ（ＣＰ＿１、ＣＰ＿２、ＣＰ＿３）」と表記される。
【０２１５】
また、本発明の実施形態において、アフィンマージモードで、アフィンマージ候補が存在すれば、それは、常に６パラメータアフィンモードとして考慮することができる。
【０２１６】
アフィンインターモード（affine inter mode）
【０２１７】
図２３は、本発明の実施形態に係るアフィンインターモード（affine inter mode）でアフィン動き予測に用いられる周辺ブロックの例を示す。
【０２１８】
図２３を参照すると、アフィン動き予測（affine motion prediction）は、アフィンマージモード（ａｆｆｉｎｅ  ｍｅｒｇｅ  ｍｏｄｅまたはＡＦ＿ＭＥＲＧＥ）とアフィンインターモード（ａｆｆｉｎｅ  ｉｎｔｅｒ  ｍｏｄｅまたはＡＦ＿ＩＮＴＥＲ）とを含むことができる。アフィンインターモード（ＡＦ＿ＩＮＴＥＲ）で、２つの制御点動きベクトル予測（Control Point Motion Vector Prediction、ＣＰＭＶＰ）およびＣＰＭＶを決定した後の違いに対応する制御点動きベクトル差分値（Control Point Motion Vector Difference、ＣＰＭＶＤ）がエンコーダからデコーダに伝送されることができる。具体的なアフィンインターモード（ＡＦ＿ＩＮＴＥＲ）の符号化プロセスは、以下のようになる。
【０２１９】
ステップ−１：２つのＣＰＭＶＰペア（pair）候補（candidate）を決定
【０２２０】
ステップ−１.１：最大１２個のＣＰＭＶＰ候補の組み合わせを決定（下の数式２を参照）
【０２２１】
＜数式２＞
【数２】
2021515484.tif 000005
【０２２２】
数式２において、ｖ＿０は、現ブロック２３００の左上側制御点２３１０における動きベクトル（ＣＰＭＶ０）、ｖ＿１は、現ブロック２３００の右上側制御点２３１１における動きベクトル（ＣＰＭＶ１）、ｖ＿２は、現ブロック２３００の左下側制御点２３１２における動きベクトル（ＣＰＭＶ２）であり、ｖ＿Ａは、現ブロック２３００の左上側の制御点２３１０の左上側に隣接する周辺ブロックＡ（２３２０）の動きベクトル、ｖ＿Ｂは、現ブロック２３００の左上側制御点２３１０の上側に隣接する周辺ブロックＢ（２３２２）の動きベクトル、ｖ＿Ｃは、現ブロック２３００の左上側制御点２３１０の左側に隣接する周辺ブロックＣ（２３２４）の動きベクトル、ｖ＿Ｄは、現ブロック２３００の右上側制御点２３１１の上側に隣接する周辺ブロックＤ（２３２６）の動きベクトル、ｖ＿Ｅは、現ブロック２３００の右上側制御点２３１１の右上側に隣接する周辺ブロックＥ（２３２８）の動きベクトル、ｖ＿Ｆは、現ブロック２３００の左下側制御点２３１２の左側に隣接する周辺ブロックＦ（２３３０）の動きベクトル、ｖ＿Ｇは、現ブロック２３００の左下側制御点２３１２の左側に隣接する周辺ブロックG（２３３２）の動きベクトルを示す。
【０２２３】
ステップ−１．２：ＣＰＭＶＰ候補の組み合わせのうちの差値（Difference Value、ＤＶ）が小さな値に基づいて整列（sorting）させ、上位２つの候補を使用（下の数式３を参照）
【０２２４】
＜数式３＞
【数３】
2021515484.tif 000006
【０２２５】
ｖ＿０ｘは、現ブロック２３００の左上側制御点２３１０の動きベクトル（Ｖ０またはＣＰＭＶ０）のｘ軸エレメント、ｖ＿１ｘは、現ブロック２３００の右上側制御点２３１１の動きベクトル（Ｖ１またはＣＰＭＶ１）のｘ軸エレメント、ｖ＿２ｘは、現ブロック２３００の左下側制御点２３１２の動きベクトル（Ｖ＿２またはＣＰＭＶ＿２）のｘ軸エレメント、ｖ＿０ｙは、現ブロック２３００の左上側制御点２３１０の動きベクトル（Ｖ＿０またはＣＰＭＶ＿０）のｙ軸エレメント、ｖ＿１ｙは、現ブロック２３００の右上側制御点２３１１の動きベクトル（Ｖ＿１また葉ＣＰＭＶ＿１）のｙ軸エレメント、ｖ＿２ｙは、現ブロック２３００の左下側制御点２３１２の動きベクトル（Ｖ＿２またはＣＰＭＶ＿２）のｙ軸エレメント、ｗは、現ブロック２３００の幅（width）、ｈは、現ブロック２３００の高さ（height）を示す。
【０２２６】
ステップ−２：制御点動きベクトル予測子（ＣＰＭＶＰ）ペア候補が２より小さい場合ＡＭＶＰ候補リストを使用
【０２２７】
ステップ−３：２つの候補のそれぞれについて、制御点動きベクトル予測子（ＣＰＭＶＰ）を決定し、ＲＤ  ｃｏｓｔを比較して小さい値を有する候補およびＣＰＭＶを最適に選択
【０２２８】
ステップ−４：最適な候補に対応するインデックスおよび制御点動きベクトル差分値（Control Point Motion Vector Difference、ＣＰＭＶＤ）を伝送
【０２２９】
本発明の実施形態において、ＡＦ＿ＩＮＴＥＲで、ＣＰＭＶＰ候補の構成プロセスが提供される。ＡＭＶＰと同様に、候補個数は２であり、候補リストの位置を指示するインデックスがシグナリングされる。
【０２３０】
ＣＰＭＶＰ候補リストの構成プロセスは、以下の通りである。
【０２３１】
周辺ブロックをスキャンして、これがアフィン動き予測としてコーディング（符号化）されるかをチェックする。スキャンされたブロックがアフィン予測としてコーディングされる場合、候補個数が２になるまでスキャンされた周辺ブロックのアフィン動きモデルから現ブロックの動きベクトルの対を導出する。
【０２３２】
２）候補の個数が２より小さければ、候補の構成プロセスを実行する。また、本発明の実施形態において、４パラメータ（２制御点）アフィンインターモードがズーム−イン／アウト（zoom-in/out）および回転の動きモデルとコンテンツとを予測するために用いられる。図１６に示すように、ブロックのアフィン動きフィールド（field）は、２つの制御点動きベクトルによって記述される。
【０２３３】
ブロックの動きベクトルフィールド（Motion Vector Field：ＭＶＦ）は、前述した数式１によって記述される。
【０２３４】
従来技術において、ＡＭＶＰ（Advanced Motion Vector Prediction）モードは、ＭＶＰ（Motion Vector Prediction）インデックスおよびＭＶＤｓ（Motion Vector Differences）をシグナリングするために必要である。ＡＭＶＰモードが本発明に適用されるとき、アフィン＿フラグ（ａｆｆｉｎｅ＿ｆｌａｇ）は、アフィン予測が用いられるかを指示するようにシグナリングされる。アフィン予測が適用されると、ｉｎｔｅｒ＿ｄｉｒ、ｒｅｆ＿ｉｄｘ、ＭＶＰ＿ｉｎｄｅｘ、および２つのＭＶＤｓ（ＭＶｄ＿ｘとＭＶｄ＿ｙ）の構文がシグナリングされる。２つのアフィンＭＶＰペアを含むアフィンＭＶＰペア候補リストが生成される。シグナリングされたＭＶＰ＿ｉｎｄｅｘは、これらのうちのいずれか１つを選択するために用いられる。アフィンＭＶＰペアは、二種類のアフィンＭＶＰ候補によって生成される。一つは、空間的継承アフィン候補（spatial inherited affine candidate）であり、他の一つは、コーナ導出されたアフィン候補（corner derived affine candidate）である。周辺ＣＵがアフィンモードでコーディングされる場合、空間継承アフィン候補が生成されることができる。周辺アフィンコーディングされたブロックのアフィン動きモデルは、２制御点ＭＶＰペア（two-control-point MVP pair）の動きベクトルを生成するのに用いられる。空間的継承アフィン候補の２制御点ＭＶＰペアのＭＶは、次の式を用いることにより、導出される。
【０２３５】
＜数式４＞
【数４】
2021515484.tif 000007
【０２３６】
＜数式５＞
【数５】
2021515484.tif 000008
【０２３７】
Ｖ＿Ｂ０、Ｖ＿Ｂ１、およびＶ＿Ｂ２が、いずれかの（どの）参照/周辺ＣＵの左上側ＭＶ、右上側ＭＶ、および左下側ＭＶに置き換えられることができる場合、（ｐｏｓＣｕｒＣＵ＿Ｘ、ｐｏｓＣｕｒＣＵ＿Ｙ）は、フレームの左上側のサンプルの現ＣＵの左上側サンプルの位置であり、（ｐｏｓＲｅｆＣＵ＿Ｘ、ｐｏｓＲｅｆＣＵ＿Ｙ）は、フレームの左上側のサンプルへの参照/周辺ＣＵの左上側のサンプルの位置である。
【０２３８】
＜数式６＞
【数６】
2021515484.tif 000009
【０２３９】
＜数式７＞
【数７】
2021515484.tif 000010
【０２４０】
図２４は、本発明の実施形態に係るアフィンインターモード（affine inter mode）でアフィン動き予測に用いられる周辺ブロックの例を示す。
【０２４１】
図２４を参照すると、ＭＶＰペアの個数が２より小さい場合、コーナ導出されたアフィン候補が用いられる。周辺の動きベクトルは、図２４に示すようにアフィンＭＶＰペアを導出するために用いられる。第１コーナ導出されたアフィン候補に対して、セットＡ（Ａ０、Ａ１およびＡ２）で第１利用可能なＭＶとセットＢ（Ｂ０およびＢ１）で第１利用可能なＭＶとは、第１ＭＶＰペアを構成するために用いられる。第２コーナ導出されたアフィン候補に対して、セットＡで第１利用可能なＭＶとセットＣ（Ｃ０およびＣ１）で第１利用可能なＭＶとは、右上側制御点のＭＶを計算するのに用いられる。セットＡで第１利用可能なＭＶと計算された右上側制御点ＭＶとは、第２ＭＶＰペア（対）である。
【０２４２】
本発明の実施形態において、２つ（３つ）の候補｛ｍｖ＿０，  ｍｖ＿１｝（｛ｍｖ＿０，  ｍｖ＿１，  ｍｖ＿２｝）を含む２つの候補セットは、アフィン動きモデルの２つ（３つ）の制御点を予測するために用いられる。与えられた動きベクトル差分（ｍｖｄ＿０，  ｍｖｄ＿１，  ｍｖｄ＿２）および制御点は、次の式を用いることにより計算される。
【０２４３】
＜数式８＞
【数８】
2021515484.tif 000011
【０２４４】
図２５および図２６は、本発明の実施形態に係るアフィンインターモード（affine inter mode）で周辺ブロックの動き情報を用いて動きベクトルの候補を導出する方法を例示する図である。
【０２４５】
上記アフィン候補リストは、アフィン動きを空間的隣接ブロック（外挿されたアフィン候補）から延長し、空間的隣接ブロック（仮想のアフィン候補）からの動きベクトルの組み合わせによって添付される（appended）。候補セットは、以下のように設定される。
【０２４６】
最大２つの異なるアフィンＭＶ予測子（者）セットが、隣接ブロックのアフィン動きから導出される。隣接ブロックＡ０、Ａ１、Ｂ０、Ｂ１、およびＢ２が、図２５に示されたように確認される。隣接ブロックがアフィン動きモデルによって符号化され、その参照フレームが、現ブロックの参照フレームと同じであれば、現ブロックの（４−パラメータアフィンモデルの）２つまたは（６−パラメータアフィンモデルの）３つの制御点が隣接ブロックのアフィンモデルから導出される。
【０２４７】
図２９は、仮想のアフィン候補セットを生成するために用いられる隣接ブロックを示す。隣接ＭＶは、次の３つのグループに分けられる。Ｓ＿０＝｛ｍｖ＿Ａ，  ｍｖ＿Ｂ，  ｍｖ＿Ｃ｝，Ｓ＿１＝｛ｍｖ＿Ｄ，  ｍｖ＿Ｅ｝，Ｓ＿２＝｛ｍｖ＿Ｆ，  ｍｖ＿Ｇ｝。ｍｖ＿０は、Ｓ０から現ブロックと同じ参照ピクチャを参照する最初のＭＶである。ｍｖ＿２は、Ｓ１で、現ブロックと同じ参照ピクチャを参照する最初のＭＶである。
【０２４８】
ｍｖ＿０およびｍｖ＿１が与えられれば、ｍｖ＿２は、次の数式９によって導出されることができる。
【０２４９】
＜数式９＞
【数９】
2021515484.tif 000012
【０２５０】
数式９で、現ブロックサイズは、ＷｘＨである。
【０２５１】
ｍｖ＿０およびｍｖ＿２だけが与えられる場合、ｍｖ＿１は、以下の数式１０によって導出されることができる。
【０２５２】
＜数式１０＞
【数１０】
2021515484.tif 000013
【０２５３】
本発明の一実施形態において、アフィンインター予測は、以下のシーケンス（sequence）に基づいて実行されることができる。
【０２５４】
入力：アフィン動きパラメータ、参照ピクチャサンプル
【０２５５】
出力：ＣＵの予測ブロック
【０２５６】
プロセス
【０２５７】
−  アフィンブロックのサブブロックのサイズを導出
【０２５８】
−  サブブロックの幅および幅モード４ルマサンプル（luma samples）より大きければ、
【０２５９】
−  それぞれのサブブロックについて
【０２６０】
−  サブブロックの動きベクトルを導出
【０２６１】
−  ＤＣＴ−ＩＦベースの動き補償（輝度の１/１６  ｐｅｌ、色差について１/３２ pel）をサブブロックに対して実行（invoked）
【０２６２】
−  そうでなければ、向上されたバイリニア補間フィルタ（enhanced bi-linear interpolation filter）ベースの補償が全体アフィンブロックについて実行される（invoked）
【０２６３】
また、本発明の一実施形態において、マージ／スキップフラグが偽（false）であり、ＣＵの幅および幅が８以上であれば、ＣＵレベルでアフィンフラグがアフィンインターモードが用いられるかどうかを指示するためにシグナリングされる。ＣＵがアフィンインターモードとしてコーディングされる場合、モデルフラグが、４−パラメータまたは６−パラメータアフィンモデルが上記ＣＵに適用されるかどうかを指示するために、シグナリングされる。モデルフラグが真（true）である場合、ＡＦ＿６＿ＩＮＴＥＲ  ｍｏｄｅ（６−パラメータアフィンモデル）が適用され、３つのＭＶＤが解析され、それでない場合、ＡＦ＿４＿ＩＮＴＥＲ ｍｏｄｅ（４−パラメータアフィンモデル）が適用され、２つのＭＶＤが解析される。
【０２６４】
ＡＦ＿４＿ＩＮＴＥＲモードにおいて、アフィンマージモードと同様（類似）に、アフィンモードによりコーディングされた隣接ブロックからの外挿された動きベクトルの対が生成され、最初に候補リストに挿入される。
【０２６５】
以降、候補リストのサイズが４より小さい場合、動きベクトルの対｛（ｖ＿０，ｖ＿１）｜ｖ０＝｛ｖ＿Ａ，ｖ＿Ｂ，ｖ＿ｃ｝，ｖ＿１＝｛ｖ＿Ｄ，  ｖ＿Ｅ｝｝を有する候補が隣接ブロックを用いることにより、生成される。図２２に示されたように、ｖ＿０がブロックＡ、Ｂ、Ｃ、の動きベクトルから選択される。隣接ブロックからの動きベクトルは、参照リストと隣接ブロックの参照のＰＯＣ現ＣＵへの参照のＰＯＣと現ＣＵの間の関係に基づいてスケーリングされる。そして、隣接するブロックＤおよびＥからｖ＿１を選択するアプローチ方式は類似する。候補リストが４より大きければ、候補は、（候補ペアで２つの動きベクトルと同様に）隣接動きベクトルの一貫性（consistency）に基づいて優先的に整列され、最初の４つの候補が記憶される。
【０２６６】
候補リストの個数が４より小さい場合、リストは、各ＡＭＶＰ候補を複製することにより、動きベクトルの対によってパディングされる（padded）。
【０２６７】
ＡＦ＿６＿ＩＮＴＥＲモードにおいて、アフィンマージモードと同様に、アフィンモードでコーディングされた隣接ブロックからの外挿された動きベクトルトリプル（affine motion vector triples）が生成され、候補リストに優先的に挿入される。
【０２６８】
以後、候補リストのサイズが４より小さい場合、動きベクトルトリプル｛（ｖ＿０，  ｖ＿１，  ｖ＿２）｜  ｖ０＝｛ｖ＿Ａ，  ｖ＿Ｂ，  ｖ＿ｃ｝，  ｖ１＝｛ｖ＿Ｄ，  ｖ＿Ｅ｝，  ｖ２＝｛ｖ＿Ｇ，  ｖ＿Ｈ｝｝を含む候補が、隣接ブロックを用いて生成される。図２２に示されたように、ｖ＿０が、ブロックＡ、ＢまたはＣの動きベクトルから選択される。隣接ブロックからの動きベクトルは、参照リストと隣接ブロックの参照のＰＯＣ、現ＣＵへの参照のＰＯＣ、そして現ＣＵのＰＯＣの関係に基づいてスケーリングされる。そして、隣接ブロックＤおよびＥからｖ＿１を選択するためのアプローチとＦおよびＧからｖ＿２の選択とは類似する。候補リストが４より大きければ、候補は、（３つの候補から２つの動きベクトルと同様に）隣接動きベクトルの一貫性に基づいて整列され、最初の４つの候補が記憶される。
【０２６９】
候補リストの個数が４より小さい場合、リストは、各ＡＭＶＰ候補を複製することにより、（duplicating）構成される動きベクトルトリプルによってパディングされることができる。
【０２７０】
現ＣＵのＣＰＭＶが導出された後に、アフィンパラメータの個数に応じて、現ＣＵのＭＶＦが、４−パラメータアフィンモデルの下の数式１１に基づいて生成され、６−パラメータアフィンモデルの下の数式１２に基づいて生成される。
【０２７１】
＜数式１１＞
【数１１】
2021515484.tif 000014
【０２７２】
＜数式１２＞
【数１２】
2021515484.tif 000015
【０２７３】
ここで、サブブロックサイズＭｘＮは、以下の数式１３で導出され、ＭｖＰｒｅは、動きベクトルの端数（部分）の精度（１/１６）である。
【０２７４】
＜数式１３＞
【数１３】
2021515484.tif 000016
【０２７５】
数式１２によって導出された後、ＭおよびＮは、ｗおよびｈの分母（divisor）で作成するために必要であれば下方調節されるべきである。ＭまたはＮが８より小さければ、ＷＩＦが適用され、そうでなければ、サブブロックベースのアフィン動き補償が適用される。
【０２７６】
図２７は、本発明の実施形態に係るサブブロック単位のアフィン動きベクトルフィールドを導出する方法の一例を示す。
【０２７７】
図２７を参照すると、各ＭｘＮサブブロックの動きベクトルを導出するために、図２７に示されたような、各サブブロックの中央のサンプルの動きベクトルは、数式１１または数式１２に基づいて計算され、１/１６の部分の精度で丸められる（rounded）。ＳＨＶＣ上向サンプリング補間フィルタが導出された動きベクトルを用いて、各サブブロックの予測を生成するために適用される。
【０２７８】
ＨＥＶＣ動き補償補間フィルタと同一のフィルタ長さおよび正規化因子を有するＳＨＶＣアップ（上方）サンプリング補間フィルタは、更なる部分ペル位置（additional fractional pel positions）に対する動き補償補間フィルタとして使用され得る。クロマ成分の動きベクトルの精度（正確度）は、１／３２サンプルであり、１／３２ペル部分の位置の更なる補間フィルタは、２つの隣接する１／１６ペル部分の位置のフィルタの平均を使用することによって導出される。
【０２７９】
ＡＦ＿ＭＥＲＧＥモードは、通常のマージモードの選択が行われるのと同じ方式でエンコーダ側で選択され得る。候補リストが優先的に生成され、候補で最小のＲＤコストが他のインターモードのＲＤコストと比較するために選択される。比較の結果は、ＡＦ＿ＭＥＲＧＥが適用されるか否かに関する決定である。
【０２８０】
ＡＦ＿４＿ＩＮＴＥＲモードのために、ＲＤコストの確認は、いずれの動きベクトルペアの候補が現ＣＵの制御点の動きベクトル予測（Control Point Motion Vector Prediction、ＣＰＭＶＰ）として選択されるかを決定するために使用される。現在のアフィンＣＵのＣＰＭＶＰが決定された後、アフィン動きの推定が適用され、制御点の動きベクトル（Control Point Motion Vector、ＣＰＭＶ）が獲得される。そうすると、ＣＰＭＶとＣＰＭＶＰとの差が決定される。
【０２８１】
エンコーダ側で、ＡＦ＿ＭＥＲＧＥまたはＡＦ＿４＿ＩＮＴＥＲモードが以前のモード選択ステージで最適なモードとして決定される際にのみＡＦ＿６＿ＩＮＴＥＲモードが確認される。
【０２８２】
本発明の一実施例において、アフィンインター（アフィンＡＭＶＰ）モードは、下記のように行われ得る。
【０２８３】
１）ＡＦＦＩＮＥ＿ＭＥＲＧＥ＿ＩＭＰＲＯＶＥ：アフィンモードである１番目の隣接ブロックを探索する代わりに、改善点（improvement）は、最大のコーディングユニットのサイズを有する隣接ブロックをアフィンマージ候補として探索しようとすることである。
【０２８４】
２）ＡＦＦＩＮＥ＿ＡＭＶＬ＿ＩＭＰＲＯＶＥ：アフィンモードである隣接ブロックを、通常のＡＭＶＰ手続と同様にアフィンＡＭＶＰ候補リストに追加する。
【０２８５】
詳細なアフィンＡＭＶＰ候補リストの生成過程は、下記の通りである。
【０２８６】
第一に、左側下の隣接ブロックがアフィン動きモデルを使用し、現在の参照インデックスと同一の参照インデックスを有するか否かが確認される。存在しなければ、左側の隣接ブロックが同じ方法で確認される。存在しなければ、左側下の隣接ブロックがアフィン動きモデルを使用し、異なる参照インデックスを有するか否かが確認される。存在すれば、スケーリングされたアフィン動きベクトルが参照ピクチャリストに追加される。存在しなければ、左側の隣接ブロックが同じ方式で確認される。
【０２８７】
第二に、右側上部の隣接ブロック、上部の隣接ブロック、および左側上部の隣接ブロックが同じ方式で確認される。
【０２８８】
前述した過程以降、２つの候補を探索すると、アフィンＡＭＶＰ候補リストを生成する動作を終了する。２つの候補を探索することができない場合、ＪＥＭソフトウェア内の元の動作がアフィンＡＭＶＰ候補リストを生成するために行われる。
【０２８９】
３）ＡＦＦＩＮＥ＿ＳＩＸ＿ＰＡＲＡＭ：４−パラメータアフィン動きモデル以外に、６−パラメータアフィン動きモデルが更なるモデルとして追加される。
【０２９０】
６−パラメータアフィン動きモデルが、下記の数式１４を介して導出される。
【０２９１】
＜数式１４＞
【数１４】
2021515484.tif 000017
【０２９２】
前述した動きモデルに６−パラメータが存在するので、左側上部の位置ＭＶ＿０、右側上部の位置ＭＶ＿１、かつ左側下部の位置ＭＶ＿２における３つの動きベクトルがモデルを決定するために要求される。３つの動きベクトルが、４−パラメータアフィン動きモデルで２つの動きベクトルと類似の方式で決定され得る。アフィンモデルマージは、常時６−パラメータアフィン動きモデルとして設定される。
【０２９３】
ＡＦＦＩＮＥ＿ＣＬＩＰ＿ＲＥＭＯＶＥ：全てのアフィン動きベクトルに対する動きベクトルの制約（constraints）を除去する。動き補償の過程が動きベクトルの制約そのものを制御するようにする。
【０２９４】
アフィン動きモデル（Affine motion model）
【０２９５】
前述したように、Ａｆｆｉｎｅ  ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎで様々なａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌが使用または考慮することができる。たとえば、Ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌは、前述した図１５のように、４つのｍｏｔｉｏｎを表現することができる。Ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌが表現できるｍｏｔｉｏｎのうちの３つのｍｏｔｉｏｎ（ｔｒａｎｓｌａｔｉｏｎ、ｓｃａｌｅ、ｒｏｔａｔｅ）を表現するａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌを、ｓｉｍｉｌａｒｉｔｙ（ｏｒ  ｓｉｍｐｌｉｆｉｅｄ）  ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌとすることができる。上記ａｆｆｉｎｅ  ｍｏｔｉｏｎ  ｍｏｄｅｌのうちのどのモデルを用いるかによって、導出されるＣＰＭＶの個数および/または現ブロックのサンプル/サブブロック単位ＭＶ導出方法が異なることがある。
【０２９６】
本発明の一実施例において、適応的な４つおよび６つのパラメータ動きモデルが使用される。ＡＦ＿ＩＮＴＥＲで、６−パラメータ動きモデルがＪＥＭで存在する４−パラメータ動きモデルに加えて提案される。６−パラメータアフィン動きモデルが下記の数式１５のように説明される。
【０２９７】
＜数式１５＞
【数１５】
2021515484.tif 000018
【０２９８】
ここで、係数ａ、ｂ、ｃ、ｄ、ｅ、およびｆは、アフィン動きパラメータであり、（ｘ，ｙ）および（ｘ’，ｙ’）は、アフィン動きモデルの変換以前および以降のピクセル位置の座標である。ビデオコーディングでアフィン動きモデルを使用するために、ＣＰＭＶ０、ＣＰＭＶ１、およびＣＰＭＶ２がＣＰ０（左上側）、ＣＰ１（右上側）、およびＣＰ２（左下側）に対するＭＶであれば、数式１６が下記のように説明され得る。
【０２９９】
＜数式１６＞
【数１６】
2021515484.tif 000019
【０３００】
ここで、ＣＰＭＶ＿０＝｛ｖ＿０ｘ，ｖ＿０ｙ｝、ＣＰＭＶ＿１＝｛ｖ＿１ｘ，ｖ＿１ｙ｝、ＣＰＭＶ＿２＝｛ｖ＿２ｘ，ｖ＿２ｙ｝、ならびに、ｗおよびｈは、それぞれコーディングブロックの幅（width）および高さ（height）である。数式１６は、ブロックの動きベクトルフィールド（Motion Vector Field、ＭＶＦ）である。
【０３０１】
フラグが、隣接ブロックがアフィン予測でコーディングされた際、４−パラメータまたは６−パラメータアフィン動きモデルが使用されるか否かを指示するために、ＣＵレベルでパージングされる。アフィン予測でコーディングされた隣接ブロックがなければ、フラグは省略され、４−パラメータのモデルがアフィン予測のために使用される。言い換えると、６−パラメータモデルが、１つまたは複数の隣接ブロックがアフィン動きモデルでコーディングされる条件で考慮される。ＣＰＭＶＤの数に関して、２つおよび３つのＣＰＭＶＤが、４−パラメータおよび６−パラメータアフィン動きモデルに対してそれぞれシグナリングされる。
【０３０２】
また、本発明の一実施例において、パターンマッチングされた動きベクトル加工（pattern-matched motion vector refinement）が使用され得る。ＪＥＭのパターンマッチングされた動きベクトル導出（ＪＥＭのエンコーダの説明で、名付けてＰＭＭＶＤ、以下ＰＭＶＤと略称）において、デコーダは、ＣＵレベルの探索のために開始のＭＶ候補を決定するために、いくつかの動きベクトル（Motion Vector、ＭＶ）を評価する必要がある。サブＣＵレベルの探索で、最適なＣＵレベルのＭＶに加えて、いくつかのＭＶ候補が追加される。デコーダは、最適なＭＶを探索するために、このようなＭＶ候補を評価する必要があり、これは、多くのメモリ帯域を要求する。提案されたパターンキャッチングされた動きベクトルリファインメント（精製）（Pattern-Matched Motion Vector Refinement、ＰＭＶＲ）で、ＪＥＭでＰＭＶＤにおけるテンプレートマッチング（template matching）および両方向マッチング（bilateral matching）のコンセプトが採択される。ＰＭＶＲが使用可能か否かを指示するために、スキップモードまたはマージモードが選択された際、１つのＰＭＶＲ＿ｆｌａｇがシグナリングされる。ＰＭＶＤと比較し、意味あるようにメモリ帯域幅の要求を減少させるために、ＭＶ候補リストが生成され、ＰＭＶＲが適用されると、開始のＭＶ候補のインデックスが明示的にシグナリングされる。
【０３０３】
マージ候補リストの生成プロセスを使用することによって候補リストが生成されるが、サブＣＵマージ候補、例えば、アフィン候補およびＡＴＭＶＰ候補は除外される。両方向マッチング（bilateral matching）のために、ただ単方向−予測（uni-prediction）ＭＶ候補のみが含まれる。両方向予測（bi-prediction）ＭＶ候補は、２つの単方向−予測ＭＶ候補に分割される。また、（ＭＶの差が予め定義された閾値（臨界値）より少ない）類似のＭＶ候補がやはり除去される。ＣＵレベルの探索のために、ダイヤモンド探索ＭＶリファインメント（diamond search MV refinement）が、シグナリングされたＭＶ候補から始めて行われる。
【０３０４】
サブＣＵレベルの探索は、ただ両方向マッチングマージモード（bilateral matching merge mode）でのみ使用可能である。全てのサブＣＵに対するサブＣＵレベルの探索の探索ウィンドウは、ＣＵレベルの探索の探索ウィンドウと同一である。したがって、更なる帯域幅は、サブＣＵレベルの探索において要求されない。
【０３０５】
モードでＭＶＰをリファインするために、テンプレートマッチングも使用される。ＡＭＶＰモードで、２つのＭＶＰがＨＥＶＣ  ＭＶＰ生成プロセスを使用することによって生成され、１つのＭＶＰインデックスがそれらのうちの１つを選択するためにシグナリングされる。選択されたＭＶＰは、ＰＭＶＲでテンプレートマッチングを使用することによってさらにリファインされる。適応的動きベクトル解像度（Adaptive Motion Vector Resolution、ＡＭＶＲ）が適用されると、テンプレートマッチングのリファインメント以前に、ＭＶＰは、該当する精度で丸められる（rounded）。このようなリファインメント過程は、パターンマッチングされた動きベクトル予測子リファインメント（Pattern-Matched Motion Vector Predictor Refinement、ＰＭＶＰＲ）と名付けられる。本文書の残りで特に定義しなければ、ＰＭＶＲは、テンプレートマッチングＰＭＶＲ、両方向マッチングＰＭＶＲ、およびＰＭＶＰＲを含む。
【０３０６】
メモリ帯域幅の要求を減少させるために、ＰＭＶＲは、４ｘ４、４ｘ８、および８ｘ４のＣＵに対して使用できなくなる。更なるメモリ帯域幅の要求量の減少のために、６４と同一のＣＵ領域に対する｛テンプレートマッチング、両方向マッチング｝の探索範囲が｛±２，±４｝と縮小し得、６４より大きいＣＵ領域に対する｛テンプレートマッチング、両方向マッチング｝の探索範囲が｛±６，±８｝と縮小し得る。本文書のＰＭＶＲセクションで説明された前述した全ての方法を使用することによって、ＨＥＶＣにおける最悪の場合に比べて、要求されるメモリ帯域幅が、ＪＥＭ−７．０のＰＭＶＤで４５．９ｘからＰＭＶＲで３．１ｘと減少した。
【０３０７】
ｎｏｎ−ＱＴブロックでＡｆｆｉｎｅ使用のときの適用技術
【０３０８】
図２８は、本発明の実施形態に係るアフィン動きモデルを適用したインター予測で予測ブロックが生成される方法および動きベクトルを例示的に示す。
【０３０９】
図２８を参照すると、アフィン動きモデルが適用される場合の動きベクトルを導出する数式を見ることができる。上記動きベクトルは、次のような数式１７に基づいて導出されることができる。
【０３１０】
＜数式１７＞
【数１７】
2021515484.tif 000020
【０３１１】
ここでｖ＿ｘは、現ブロック内の（ｘ、ｙ）座標のサンプルのサンプル単位の動きベクトルのｘ成分、ｖ＿ｙは、現ブロック内の上記（ｘ、ｙ）座標サンプルの上記サンプル単位の動きベクトルのｙ成分を示す。つまり、（ｖ＿ｘ、ｖ＿ｙ）は、上記（ｘ、ｙ）座標のサンプルに対する上記サンプル単位の動きベクトルとなる。ここで、ａ、ｂ、ｃ、ｄ、ｅ、ｆは、上記現ブロックのコントロールポイント（Control Point、ＣＰ）から（ｘ、ｙ）座標のサンプル単位の動きベクトル（動き情報）を導出するための数式のパラメータ（parameter）を示す。上記ＣＰは、操縦画素と表現されることもできる。上記パラメータは、ＰＵ端位で伝送される各ＰＵのＣＰの動き情報から導出することができる。前述した上記ＣＰの動き情報から導出された上記サンプル単位の動きベクトルを導出する数式は、ブロックのサンプルごとに適用されることができ、上記各サンプルのｘ軸およびｙ軸の相対位置に基づいて参照画像内のサンプルの位置として導出されることができる。上記サンプル単位の動きベクトルは、ＱＴＢＴ（ＴＴ）ブロック分割構造に沿ったブロックのサイズ、非対称型または対称型、ブロックの位置などによって異なって（違って）導出することができる。これに対する具体的な実施形態は、後述する図２９〜図３８を介して示す。
【０３１２】
図２９は、本発明の実施形態に係る制御点動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３１３】
図２９を参照すると、現ブロックが２Ｎｘ２Ｎブロックである場合を仮定して説明する。例えば、上記現ブロック内の左上端サンプルの動きベクトルをｖ＿０とすることができる。また、上記現ブロックおよび隣接する周辺ブロックのサンプルをＣＰで用いて、各ＣＰの動きベクトルをｖ＿１およびｖ＿２とすることができる。すなわち、上記現ブロックの幅および高さがＳであり、上記現ブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、上記ＣＰのうちのＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｓ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋Ｓ）とすることができる。上記ＣＰ０の動きベクトルはｖ＿０、上記ＣＰ１の動きベクトルはｖ＿１、上記ＣＰ２の動きベクトルはｖ＿２とすることができる。上記ＣＰの動きベクトルを用いて上記サンプル単位の動きベクトルを導出することができる。上記のサンプル単位の動きベクトルは、次の数式１８に基づいて導出することができる。
【０３１４】
＜数式１８＞
【数１８】
2021515484.tif 000021
【０３１５】
ここで、ｖ＿ｘ、ｖ＿ｙは、それぞれ上記現ブロック内（ｘ、ｙ）座標のサンプルの動きベクトルのｘ成分、ｙ成分を示し、ｖ＿ｘ０、ｖ＿ｙ０は、それぞれ上記ＣＰ０の動きベクトルｖ＿０のｘ成分、ｙ成分を示し、ｖ＿ｘ１、ｖ＿ｙ１は、それぞれ上記ＣＰ１の動きベクトルｖ＿１のｘ成分、ｙ成分を示し、ｖ＿ｘ２、ｖ＿ｙ２は、それぞれ上記ＣＰ２の動きベクトルｖ＿２のｘ成分、ｙ成分を示す。前述した数式１８のような、上記サンプル単位の動きベクトルを導出する式によって、現ブロック内の各サンプルは、現ブロック内の相対的な位置に基づいて、動きベクトルが導出されることができる。
【０３１６】
図３０は、本発明の実施形態に係る非正方形ブロックで制御点の動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３１７】
図３０は、Ｎｘ２Ｎに分割されたブロックのＣＰを例示的に示す。前述したパーティショニングタイプ２Ｎｘ２Ｎの場合と同じ方法を通じて、現ブロック内のサンプル単位の動きベクトルを導出するための数式を導出することができる。上記数式を導出する過程で、上記現ブロックの形に合う幅の値を用いることができる。上記サンプル単位の動きベクトルを導出するために、３つのＣＰを導出することができ、上記ＣＰの位置を図３０のように調整することができる。すなわち、上記現ブロックの幅および高さがそれぞれＳ/２およびＳであり、上記現ブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、上記ＣＰのうちのＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｓ/２、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋Ｓ）とすることができる。上記サンプル単位の動きベクトルは、次の数式１９に基づいて導出されることができる。
【０３１８】
＜数式１９＞
【数１９】
2021515484.tif 000022
【０３１９】
ここで、ｖｘ、ｖｙは、それぞれ上記現ブロック内の（ｘ、ｙ）座標のサンプルの動きベクトルのｘ成分、ｙ成分を示し、ｖ＿ｘ０、ｖ＿ｙ０は、それぞれ上記ＣＰ０の動きベクトルｖ＿０のｘ成分、ｙ成分を示し、ｖ＿ｘ１、ｖ＿ｙ１は、それぞれ上記ＣＰ１の動きベクトルｖ＿１のｘ成分、ｙ成分を示し、ｖ＿ｘ２、ｖ＿ｙ２は、それぞれ上記ＣＰ２の動きベクトルｖ＿２のｘ成分、ｙ成分を示す。数式３は、上記現ブロックの幅がＳ/２であることを考慮したサンプル単位の動きベクトルを導出する数式を示す。前述した数式１９のような、上記サンプル単位の動きベクトルを導出する数式によって、パーティショニングタイプＮｘ２Ｎに基づいてＣＵからパーティショニングされた現ブロック内の各サンプルは、現ブロック内の相対位置に基づいて、動きベクトルが導出されることができる。
【０３２０】
図３１は、本発明の実施形態に係る非正方形ブロックで制御点の動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３２１】
図３１は、パーティショニングのタイプ２ＮｘＮに基づいて分割されたブロックを例示的に示す。上記サンプル単位の動きベクトルを導出するために、３つのＣＰを導出することができ、上記ＣＰの位置を図３１のように調整して図３１に示された現ブロックの形状に応じて高さをＳ/２に調整することができる。すなわち、上記現ブロックの幅および高さがそれぞれＳおよびＳ/２であり、上記現ブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、上記ＣＰのうちのＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｓ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋ Ｓ/２）とすることができる。上記サンプル単位の動きベクトルは、次のような数式２０に基づいて導出されることができる。
【０３２２】
＜数式２０＞
【数２０】
2021515484.tif 000023
【０３２３】
ここで、ｖ＿ｘ、ｖ＿ｙは、それぞれ上記現ブロック内の（ｘ、ｙ）座標のサンプルの動きベクトルのｘ成分、ｙ成分を示し、ｖ＿ｘ０、ｖ＿ｙ０は、それぞれ上記ＣＰ０の動きベクトルｖ＿０のｘ成分、ｙ成分を示し、ｖ＿ｘ１、ｖ＿ｙ１は、それぞれ上記ＣＰ１の動きベクトルｖ＿１のｘ成分、ｙ成分を示し、ｖ＿ｘ２、ｖ＿ｙ２は、それぞれ上記ＣＰ２の動きベクトルｖ＿２のｘ成分、ｙ成分を示す。数式４は、上記現ブロックの高さがＳ/２であることを考慮したサンプル単位の動きベクトルを導出する数式を示す。前述した式４．１８のような、上記サンプル単位の動きベクトルを導出する式によって、パーティショニングのタイプ２ＮｘＮに基づいてＣＵからパーティショニングされた現ブロック内の各サンプルは、現ブロック内の相対位置に基づいて、動きベクトルが導出されることができる。
【０３２４】
図３２〜図３８は、本発明の実施形態に係る非正方形ブロックで制御点の動きベクトルに基づいて動き補償を実行する方法を例示する図である。
【０３２５】
図３２は、非対称型、現ブロックのＣＰを例示的に示す。図３２で示すように、上記非対称型の現ブロックの幅および高さをそれぞれＷおよびＨとすることができる。上記サンプル単位の動きベクトルを導出するために、各現ブロックの３つのＣＰを導出することができ、上記ＣＰの座標は、図３２に示すように、現ブロックの形に沿った幅および高さに基づいて調整することができる。すなわち、上記現ブロックの幅および高さがＷおよびＨであり、各現ブロックの左上端（top-left）のサンプルポジションの座標を（ｘｐ、ｙｐ）とするとき、上記ＣＰのうちのＣＰ０の座標は（ｘｐ、ｙｐ）であり、ＣＰ１の座標は（ｘｐ＋Ｗ、ｙｐ）であり、ＣＰ２の座標は（ｘｐ、ｙｐ＋Ｈ）に設定されることができる。この場合、上記現ブロック内、上記サンプル単位の動きベクトルは、次の数式２１に基づいて導出されることができる。
【０３２６】
＜数式２１＞
【数２１】
2021515484.tif 000024
【０３２７】
ここで、ｖ＿ｘ、ｖ＿ｙは、それぞれ上記現ブロック内（ｘ、ｙ）座標のサンプルの動きベクトルのｘ成分、ｙ成分を示し、ｖ＿ｘ０、ｖ＿ｙ０は、それぞれ上記ＣＰ０の動きベクトルｖ＿０のｘ成分、ｙ成分を示し、ｖ＿ｘ１、ｖ＿ｙ１は、それぞれ上記ＣＰ１の動きベクトルｖ＿１のｘ成分、ｙ成分を示し、ｖ＿ｘ２、ｖ＿ｙ２は、それぞれ上記ＣＰ２の動きベクトルｖ＿２のｘ成分、ｙ成分を示す。数式２１は、非対称型、現ブロックの幅および高さを考慮したサンプル単位の動きベクトルを導出する数式を示す。
【０３２８】
一方、本発明によると、ブロック単位で指示されるＣＰの動き情報のデータ量を減らすために、現ブロックの周辺ブロックまたは周辺サンプルの動き情報に基づいて少なくとも一つのＣＰの動き情報予測候補を選定することができる。上記動き情報予測候補は、アフィン動き情報候補またはアフィン動きベクトル候補と呼ばれることができる。上記アフィン動き情報候補は、例えば、図３３〜図３８に開示された内容を含むことができる。
【０３２９】
ＡＴＭＶＰ  ｓｉｍｐｌｉｆｉｃａｔｉｏｎ
【０３３０】
ＡＴＭＶＰ（Advanced Temporal Motion Vector Prediction）は、時間の動き情報候補を利用したインター予測であるが、既存のＴＭＶＰを改善するために提案された動き情報候補を用いたインター予測を示すことができる。本明細書の実施形態において、上記ＡＴＭＶＰは、その名称に制限されず、上記ＡＴＭＶＰは、サブブロック時間マージ候補、サブブロックベースの時間マージ候補、サブブロック時間動きベクトル予測子、サブブロックベースの時間の動きベクトル予測子などと呼ばれることができる。
【０３３１】
具体的には、時間の動き情報候補として、現ブロックのｒｉｇｈｔ−ｂｏｔｔｏｍブロックまたは現ブロックのｃｅｎｔｅｒ位置のｃｏｌＰＢの動きベクトルを用いるＴＭＶＰは、画面内の動きを反映しないことがある。一方、上記ＡＴＭＶＰが適用される場合、周辺ブロックの動きベクトルが示す位置のｃｏｌＰＢの動きベクトルは、ＡＴＭＶＰ候補として用いられる。
【０３３２】
上記ＡＴＭＶＰが適用される一例として、マージ候補構成順にチェックしながら、一番先にａｖａｉｌａｂｌｅなｓｐａｔｉａｌ  ｎｅｉｇｈｂｏｒ  ｂｌｏｃｋの動きベクトル（temporal vector）を見つけた後、ｒｅｆｅｒｅｎｃｅ  ｐｉｃｔｕｒｅでｔｅｍｐｏｒａｌ  ｖｅｃｔｏｒが指す位置をｃｏｌ−ＰＢ（ATMVP candidate）として導出することができる。また、Ｔｅｍｐｏｒａｌ  ｖｅｃｔｏｒを用いて、各ｓｕｂ−ｂｌｏｃｋ単位でｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｂｌｏｃｋの動きベクトルが用いられる。このとき、特定のｓｕｂ−ｂｌｏｃｋにＭＶが存在しない場合、ｃｏｒｒｅｓｐｏｎｄｉｎｇ  ｂｌｏｃｋのｃｅｎｔｅｒに位置するブロックのＭＶを、ａｖａｉｌａｂｌｅでないｓｕｂ−ｂｌｏｃｋのためのＭＶとして使用し代表ＭＶとして記憶する。
【０３３３】
また、上記ＡＴＭＶＰを使用するが、よりメモリ使用量を削減できるようにする、さまざまなＡＴＭＶＰ  ｓｉｍｐｌｉｆｉｃａｔｉｏｎ方式（防案）が提案されることもある。
【０３３４】
一実施形態において、参照ブロックを見つけるための参照ピクチャ（スライスセグメントヘッダに指定された）がコロケートピクチャ（collocated picture）で制限されるため、メモリの使用が減少することができる。一例として、最大４つの参照ピクチャが用いられる。参照ブロックを見つけるために、時間ベクトル（temporal vector）は、空間候補のうちの一つからスキャン順序に従って導出されることができる。現在の候補がコロケートピクチャと同じ参照ピクチャを有すると、探索プロセスが終了することができる。
【０３３５】
一実施形態において、ＡＴＭＶＰおよび/またはＳＴＭＶＰサブブロックマージモード（sub-block merge modes）の修正が適用されることができる。
【０３３６】
シグナリングは、ピクチャ/スライスレベルで追加されて、様々なサブブロックサイズがＡＴＭＶＰ/ＳＴＭＶPベースの動き（motion）情報導出のために用いられる。
【０３３７】
２．  １つのコロケートピクチャが用いられるようにすることにより、単純化されたＡＴＭＶＰベースの動き情報導出が用いられる。
【０３３８】
一実施形態において、ＡＴＭＶＰおよびＳＴＭＶＰモードによって導出された動きフィールドの粒度（細分性）（granularity）のピクチャ/スライスレベル適応をサポートすることが提案される。具体的には、シーケンスパラメータセット（sequence parameter set：ｓｐｓ）を指すスライスでＡＴＭＶＰおよびＳＴＭＶＰの動きパラメータを導出するために用いられるサブブロックサイズのデフォルト値をｓｐｓでシグナリングされることができる。付加的に、１つのフラグ（flag）は、スライスのセグメントヘッダからシグナリングされる。このフラグが０であれば、それは、ｓｐｓで明示されたようなデフォルトのサブブロックサイズが、現在のスライスでＡＴＭＶＰ/ＳＴＭＶＰベースの動き導出するために用いられることを示す。そうでなければ（つまり、このフラグが１に設定されると）、他の構文要素（syntax element）がスライスセグメントヘッダでシグナリングされ、スライスのために用いられるＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズを明示することができる。
【０３３９】
一実施形態において、簡単なエンコーダ（encoder）の方法は、現在のピクチャのＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズを決定するために用いられる。２つのＡＴＭＶＰ/ＳＴＭＶＰサブブロックサイズ４および８のうちの１つが、同じ時間レイヤ（temporal layer）で最後にコーディングされたピクチャからＡＴＭＶＰ/ＳＴＭＶＰブロックの平均サイズに基づいて選択される。先ほどコーディングされたピクチャがｋ番目の時間レイヤで、ｉ番目のピクチャでありＡＴＭＶＰおよびＳＴＭＶＰモードによってコーディングされたＮ個のＣＵを含むと仮定する。また、このＣＵのサイズがＳ＿０、Ｓ＿１、・・・、Ｓ＿（Ｎ−１）と仮定する。ＡＴＭＶＰ/ＳＴＭＶＰ  ＣＵの平均サイズは、
2021515484.tif 000025
として計算される。それで、同じｋ番目の時間レイヤで（ｉ＋１）番目のピクチャをコーディングするときは、該ＡＴＭＶＰ・ＳＴＭＶＰサブブロックサイズ
2021515484.tif 000026
は、次の数式２２に基づいて決定されることができる。
【０３４０】
＜数式２２＞
【数２２】
2021515484.tif 000027
【０３４１】
一実施形態において、各時間レイヤにおける第１ピクチャに対して、ＡＴＭＶＰ/ＳＴＭＶＰサブブロック７のサイズは、常に４に設定されることができる。
【０３４２】
一実施形態において、ＡＴＭＶＰは、次の２つの段階を用いて導出することができる。
【０３４３】
周辺ＣＵが用いられ、このＣＵのＭＶが既存の候補リストからのＭＶと異なると、エンコーダ／デコーダは、空間的周辺ＣＵから動きベクトルを前に説明した図１２に示すように、Ａ１、Ｂ１、Ｂ０、ａｎｄ  Ａ０の順に追加することができる。用いられる空間的候補の数は、Ｎ０で表現されることができる。
【０３４４】
（２）Ｎ０個の空間候的補からの第１ＭＶ候補は、コロケートピクチャおよび各サブブロックの動きをフェッチ（fetch）する位置を（ＭＶによる変位を追加することにより、）決定するために用いられる。Ｎ０が０であれば、スライスヘッダでシグナリングされたコロケートピクチャおよびゼロ動き（zero motion）を有する同一の位置が、各サブブロックの動きをフェッチするために用いられる。
【０３４５】
ＡＴＭＶＰの互いに異なるＣＵのコロケート（同一位置）ピクチャは、多数の参照ピクチャが用いられると、常に同じではないことがある。現ピクチャで互いに異なるＣＵに対して、ＡＴＭＶＰ導出の互いに異なるコロケートピクチャを有するということは、多数の参照ピクチャの動きフィールドがフェッチされる必要があることを意味し、これは、メモリ帯域幅の増加により、望ましくない。したがって、一実施形態において、スライスヘッダでシグナリングされたＨＥＶＣのようにＡＴＭＶＰ導出のコロケートピクチャとして同じであるコロケートピクチャを用いる単純化されたデザインが提案される。ブロックレベルにおいて、周辺ブロックＡの参照ピクチャが、このコロケートピクチャと異なると、ブロックＡのＭＶは、ＨＥＶＣ時間的ＭＶスケーリング方法（HEVC temporal MV scaling method）を用いてスケーリングされ、ブロックＡのスケーリングされたＭＶは、ＡＴＭＶＰに用いられる。
【０３４６】
コロケートピクチャＲｃｏｌで動きフィールドをフェッチするために用いられる動きベクトルは、ＭＶｃｏｌと表記する。ＭＶスケーリングによる衝撃を最小にするために、ＭＶｃｏｌを導出するために用いられる空間的候補リストからのＭＶは、この回答で、次の方式で選択される。候補ＭＶの参照ピクチャがコロケートピクチャであれば、このＭＶは、どのようなスケーリング（も）なくてＭＶｃｏｌとして選択されて用いられる。そうでなければ、コロケートピクチャに最も近い参照ピクチャを有するＭＶがスケーリングを有するＭＶｃｏｌを導出するために選択される。
【０３４７】
ＨＭＶＰ（History-based Motion Vector Prediction）一般
【０３４８】
一般に、映像圧縮技術は、２つの主要な技法として空間的および時間的冗長性（リダンダンシ）（redundancy）に対する探索（exploiting）を用いる。例えば、ＨＥＶＣ（High Efficiency Video Coding、ＨＥＶＣ）およびＶＶＣは、いずれもインターコーディング（inter coding）の基底で２つの動き圧縮技法を使用する。１つは、マージ（merge）動きであり、もう１つは、ＡＭＶＰ（Advanced Motion Vector Prediction）である。このような２つの予測モードに対する改善のために、様々な変更（modifications）が議論されている。これらは、候補の数を増加させることから始めて、より空間的に拡張される候補に対する探索、および非慣習的な（non-traditional）位置における時間的候補を検査することなどを含む。このような２つの技法は、一次的に可能な候補でリストを構成し、ＲＤ（Rate Distortion）コストを最小にし、ビットストリームで選択された候補をシグナリングする。
【０３４９】
特に、最近の映像圧縮技術では、以前にコーディングされたブロックの動き情報を記憶（保存）し、記憶された動き情報を以降にコーディングされるブロックの動き予測に用いるＨＭＶＰ（History-based Motion Vector Prediction）が議論される。このようなＨＭＶＰは、マージリスト（または、マージ候補リスト）またはＡＭＶＰリスト（またはＡＭＶＰ候補リスト）に追加され得る。
【０３５０】
デコーダは、ＨＭＶＰのためにＦＩＦＯ（First In First Out）システム（または方式）で動作するＬＵＴ（Look-Up Table）を維持する。本明細書において、ＬＵＴは、その名称に制限されず、テーブル、ＨＭＶＰテーブル、ＨＭＶＰ候補テーブル、バッファ、ＨＭＶＰバッファ、ＨＭＶＰ候補バッファ、ＨＭＶＰリスト、ＨＭＶＰ候補リストなどと称される。具体的には、非アフィン（non-affine）ＰＵ（Prediction Unit）（または、ＣＵ（Coding Unit））がデコードされる際、その動き情報はＬＵＴに記憶され、デコーダは、次のＰＵに対するデコーディングを進める。この際、記憶される動き情報は、ｘ（水平）およびｙ（垂直）方向の動きベクトル、参照インデックス情報、およびモード情報などを含み得る。
【０３５１】
デコーダは、漸進的に（progressively）デコードされた非アフィン候補の動き情報が記憶されるＬＵＴを維持することができる。ＬＵＴのサイズは、予め定義されたＳ個の候補に制限され得る。一実施例として、ＬＵＴは、スライスの開始、ＣＴＵ行の開始、またはＣＴＵの開始でリセット（reset）され得る。
【０３５２】
ＨＭＶＰは、マージモードおよびＡＭＶＰモードでいずれも適用され得る。マージリストは、Ｂ個の候補を有し得、ＡＭＶＰリストは、２つの候補を有し得る。従来の映像圧縮技術で、マージリストは、次の候補で構成される：ｉ）空間候補、ｉｉ）時間候補、ｉｉｉ）両方向予測（Ｂｉ−Ｐｒｅｄ）候補、ｉｖ）ゼロ動き候補（zero motion candidate）。最近、ＡＴＭＶＰ（Advanced Motion Vector Prediction）がさらに候補として考慮される方法が議論される。一例として、ＡＴＭＶＰ候補は、時間候補以前にマージリストに挿入され得る。マージリストの候補は、最大のマージリストのサイズに到達するまでマージリストに追加される。重複候補（duplicate candidate）は、マージリストに追加されなくてもよい。ＡＭＶＰリストは、２つの候補が挿入され得る。一例として、２つの候補のうちの１つは、使用可能な空間候補から選択され、２番目の候補は、時間候補から選択され得、リストが満たされない場合、ゼロ動きベクトル候補が追加され得る。
【０３５３】
ＨＭＶＰは、ＬＵＴで候補が投入された順序と同じようにテーブルから抜け出すＦＩＦＯベースで適用される。
【０３５４】
一実施例において、ＨＭＶＰがマージリストの構成に適用される際、ＨＭＶＰ候補は、下記のようにリストの３番目の位置に挿入（または追加）され得る。
【０３５５】
１．空間候補（Spatial Candidate）
【０３５６】
２．時間候補（Temporal Candidate）
【０３５７】
３．ＬＵＴに対する最大Ｓ個のＨＭＶＰ候補（Up to S HMVP Candidates for a LUT）
【０３５８】
４．結合された両方向予測候補（Combined Bi-Pred Candidate）
【０３５９】
５．ゼロ動きベクトル候補（Zero Motion Vector Candidate）
【０３６０】
一実施例において、ＨＭＶＰがＡＭＶＰリストの構成に適用される際、ＨＭＶＰは、下記のように時間候補以降、３番目の位置に挿入され得る。
【０３６１】
１．空間的候補（Spatial Candidate）
【０３６２】
２．時間的候補（Temporal Candidate）
【０３６３】
３．最大Ｋ個のＨＭＶＰ候補（Up to K HMVP Candidates）
【０３６４】
４．ゼロ動きベクトル候補（Zero Motion Vector Candidate）
【０３６５】
図３９は、本明細書の実施形態に係るＨＭＶＰを記憶する方法を説明するフローチャートである。
【０３６６】
図３９を参照すると、デコーダは、現在のＰＵ（またはＣＵ）をデコードする（Ｓ３９０１）。
【０３６７】
デコーダは、現在のＰＵが非アフィンモードで符号化されたブロックであることを確認する（Ｓ３９０２）。ＨＭＶＰ候補の使用を容易にするために、現在のＰＵがアフィンモードで符号化されたブロックである場合、デコーダは、現在のＰＵの動き情報をテーブルに記憶しない。
【０３６８】
現ＰＵが非アフィンモードで符号化されたブロックである場合、デコーダは、現在のＰＵの動き情報をテーブルに記憶（または更新）する（Ｓ３９０３）。
【０３６９】
本明細書の実施形態において、ＨＭＶＰテーブルは、２つの方法、すなわち、ｉ）非制限的ＦＩＦＯ（unconstrained FIFO）、ｉｉ）制限的ＦＩＦＯ（constraint FIFO）の方法で更新することができる。前者において、重複した情報が存在することができるが、プルーニングプロセスは適用されない。これは、全体的なプロセスの複雑度を低減させるのに寄与する。以下で、図を参照して説明する。
【０３７０】
図４０は、本明細書の実施形態に係る非制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明する図である。
【０３７１】
図４０を参照すると、テーブルに追加される候補は、テーブルの端（右側）に追加される。一方、ＦＩＦＯ方式に基づいてテーブルから排出される候補は、テーブルの前段（左側、最も古い候補）に位置する。
【０３７２】
インデックスＬ−１（つまり、端）でテーブルが予め定義された最大数の候補で完全に満たされなければ、除去される候補なしで、新しい候補が追加される。一方、テーブルが既に完全に満たされた場合には、つまり、テーブルの最大数を満たしている場合、テーブルで最も古い前端に位置する候補が除去され、新しい候補が追加される。
【０３７３】
図４１は、本明細書の実施形態に係る制限的ＦＩＦＯ方式で動作するＨＭＶＰテーブルを説明する図である。
【０３７４】
図４１を参照すると、制限的ＦＩＦＯが用いられる場合、新しい候補を追加することがどのような重複を引き起こす場合も、プルーニングが実行される。実施形態として、重複した動き情報を有する候補がテーブルに存在すると、テーブル内の重複した候補は、除去され、現在の候補の動き情報が追加されることができる。
【０３７５】
実施形態１
【０３７６】
ＨＭＶＰ候補に対して、多くの場合において、一番最近のヒストリＭＶが空間候補（または空間近辺候補）の動き情報と重複することができる。したがって、本実施形態においては、ＨＭＶＰ候補をＡＭＶＰまたはマージリストに追加するとき、候補の追加手順をＨＭＶＰ  ＬＵＴインデックスの順序とは異なるように設定する方法を提案する。
【０３７７】
本明細書の実施形態によると、ＨＭＶＰ候補を適応的に調節することにより、候補リストを効率的に構成することができ、これを通じて、２値化（binarization）に用いられるシグナリングビンの数を減らし、符号化効率を高めることができる。
【０３７８】
つまり、マージリストまたはＡＭＶＰリストに追加されるＨＭＶＰ候補は、ＨＭＶＰリスト内のインデックスによって制限されないことがある。一実施形態としては、次の表２は、ＡＭＶＰまたはマージリストにＨＭＶＰ候補を追加する順序を変更する方法を例示する。
【０３７９】
＜表２＞
【表２】
2021515484.tif 000028
【０３８０】
表２を参照すると、前述したように、一番最近に挿入されたＨＭＶＰ候補は、空間候補の動き情報と同一である可能性が高いので、これを考慮してＨＭＶＰ候補の追加順序をＨＭＶＰインデックスとは無関係に、予め定義することができる。
【０３８１】
また、一実施形態において、リストからｎ番目の候補から始まるＨＭＶＰ候補からマージリストまたはＡＭＶＰリストに追加することができる。次の表３は、ＡＭＶＰまたはマージリストに候補を追加する変更された順序を例示する。
【０３８２】
＜表３＞
【表３】
2021515484.tif 000029
【０３８３】
表３を参照すると、２番目のインデックスからＨＭＶＰ候補がマージリストまたはＡＭＶＰリストに追加されることができる。
【０３８４】
一実施形態において、テーブル（ＬＵＴ）内におけるＨＭＶＰ候補の追加手順についての情報は、エンコーダからデコーダにシグナリングすることができる。たとえば、このような順序の情報は、上位レベルの構文（High Level Syntax、ＨＬＳ）を介して伝送されることができる。上記上位レベルの構文は、例えば、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、コーディングツリーユニット（coding tree unit）、コーディングユニット（coding unit）および/または他の適切な構文のデータヘッダであり得る。
【０３８５】
下の表４は、本明細書で提案する方法が適用されることができる上位レベルの構文構造を例示する。
【０３８６】
＜表４＞
【表４】
2021515484.tif 000030
【０３８７】
表４を参照すると、ｓｅｔ＿ＨＭＶＰ＿ｏｒｄｅｒ＿ｆｌａｇが１であることは、ｓｅｔ＿ＨＭＶＰ＿ｏｒｄｅｒ＿ｆｌａｇがＣＶＳから非ＩＤＲ（ｎｏｎ−ＩＤＲ）ピクチャ内マイスライスヘッダで存在することを指示する。ｓｅｔ＿ＨＭＶＰ＿ｏｒｄｅｒ＿ｆｌａｇが０であることは、ｓｅｔ＿ＨＭＶＰ＿ｏｒｄｅｒ＿ｆｌａｇがスライスヘッダに存在せず、ＶＣＳで適応的ＨＭＶＰが使用されていないことを指示する。
【０３８８】
下の表５は、本明細書で提案する方法が適用されることができるスライスのセグメントヘッダ構文構造を例示する。
【０３８９】
＜表５＞
【表５】
2021515484.tif 000031
【０３９０】
表５を参照すると、ｓｌｉｃｅ＿ＨＭＶＰ＿ｉｄｘは、用いられる候補の順のインデックスを意味する。たとえば、ｓｌｉｃｅ＿ＨＭＶＰ＿ｉｄｘが０であることは、０、１、２、３などの基本ＨＭＶＰ順序を表現することができる。同様に、１のインデックス値は、３、２、１、０のＨＭＶＰ順序を表現するために用いられる。
【０３９１】
実施形態２
【０３９２】
本明細書の実施形態において、ＨＭＶＰ  ＬＵＴに加え、ロングタームリスト（long term list）を動き予測のために用いる方法を提案する。これにより、維持されるＨＭＶＰ候補の数を増加させることができる。実施形態として、２−ＨＭＶＰテーブルを考慮することができ、ここで、一つは、一般ＨＭＶＰ候補を保管し、他の一つは、維持がさらに必要な候補をさらに保管するロングターム（long term）リストとして用いられる。
【０３９３】
以下は、ロングタームリスト（またはロングタームＨＭＶＰリスト）を初期化して構成する方法を例示する。
【０３９４】
− ＣＴＵ行の最初のＣＴＵをデコードした後、以後のＣＴＵの１つまたは複数のヒストリＭＶが、ロングタームＨＭＶＰ  ＬＵＴに追加されることができる。このようなロングタームＨＭＶＰ  ＬＵＴは、次のＣＴＵ行まで使用されたり更新されないことがある。
【０３９５】
− 次のＣＴＵの行の開始で、ロングタームＨＭＶＰ  ＬＵＴが、通常のＨＭＶＰ  ＬＵＴを初期化するために用いられる。その理由は、ＣＴＵ行の開始からＣＴＵのＨＭＶＰ候補が以前のＣＴＵ行の終わりにおけるヒストリＭＶよりさらに相互に関連（co-relate）することができるからである。
【０３９６】
− 上記のプロセスは、繰り返すことができる。
【０３９７】
図４２は、本明細書の実施形態に係るＨＭＶＰ  ＬＵＴおよびロングタームＨＭＶＰ  ＬＵＴを例示する図である。
【０３９８】
図４２を参照すると、２つのＬＵＴがある。一つは、ＨＭＶＰ  ＬＵＴ（または一般的なＨＭＶＰ  ＬＵＴ、ショートタームＨＭＶＰ  ＬＵＴ）であり、他の一つは、ロングタームＨＭＶＰ  ＬＵＴである。ＨＭＶＰ候補は、マージまたはＡＭＶＰリストのすべてに追加されたとき、図４２に示すようにＨＭＶＰ  ＬＵＴまたはロングタームＬＵＴから追加することができる。
【０３９９】
前述したロングタームＬＵＴの使用は、新しい構文エレメントを導入することにより、上位レベルの構文を介して指示することができる。たとえば、構文エレメントは、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、コーディングツリーユニット（coding tree unit）、コーディングユニット（coding unit）、および/または他の適切な構文のデータのヘッダに存在することができる。
【０４００】
実施形態３
【０４０１】
本明細書の実施形態において、ＨＭＶＰ候補がＨＭＶＰ  ＬＵＴに追加されることにおいて、デコードするための柔軟性（flexibility）を考慮する方法を提案する。エンコーダ/デコーダは、ＰＵ（またはＣＵ）の１つまたは複数の特性の決定（decision）を考慮することができる。
【０４０２】
実施形態として、エンコーダ/デコーダは、ＨＭＶＰ候補をテーブルに追加するにあたり、次のような事項を考慮することができる。エンコーダ/デコーダは、ＰＵのモード（例えば、マージモード、アフィンモード、ＡＭＶＰモードなど）および/もしくはブロックのサイズと同じ特性を、個別に、または組み合わせて考慮して、候補として追加することができる。一実施形態において、以外の他の特性が考慮されることもある。たとえば、ＨＭＶＰ  ＬＵＴの更新を考慮するマージタイプ（例えば、空間候補または時間候補）、サブＰＵかどうかなどが候補選択基準として考慮されることができる。前述した選択基準は、前のヒストリ（または以前のＨＭＶＰ）との重複を減らすために決定されることができる。たとえば、ＰＵがマージモードで符号化されてマージタイプが空間マージの場合、デコーダは、該ＰＵの動き情報をＨＭＶＰ  ＬＵＴにおいて更新しないことがある。
【０４０３】
図４３は、本明細書の実施形態に係るＨＭＶＰ  ＬＵＴを更新する方法の一例を示す図である。
【０４０４】
図４３を参照すると、エンコーダ/デコーダは、符号化された候補の動き情報を獲得する（Ｓ４３０１）。
【０４０５】
エンコーダ/デコーダは、上記候補の動き情報をＬＵＴにおいて更新するかどうかを予め定義された決定基準に基づいて評価する（Ｓ４３０２）。上記決定基準は、上記候補のモード（例えば、マージモード、アフィンモード、ＡＭＶＰモードなど）、上記候補のブロックサイズおよび/または上記候補のマージタイプのうちの少なくとも一つの特性を含むことができる。
【０４０６】
エンコーダ/デコーダは、上記決定基準に基づいてＬＵＴを更新する（Ｓ４３０３）。つまり、上記候補が予め定義された決定基準を満たす場合、エンコーダ／デコーダは、上記候補の動き情報をＬＵＴに追加することができる。
【０４０７】
実施形態４
【０４０８】
本明細書の実施形態において、ＨＭＶＰ候補をマージリスト（またはＡＭＶＰリスト）に追加するための重複性チェックの制限を提案する。重複性チェックの制限は、さまざまないくつかの方法で実現されることができる。
【０４０９】
一実施形態において、エンコーダ/デコーダは、マージリストで１番目の特定の個数の候補のプルーニングチェックの数を制限することができる。エンコーダ/デコーダは、マージ（モジョ）リストの１番目の候補から、特定の個数の候補までの候補のプルーニングチェックの数を制限することができる。たとえば、エンコーダ／デコーダは、マージリストの１番目の候補から、特定の個数の候補までの候補のプルーニングプロセスを実行することができ、このとき、プルーニングチェックの対象となるＨＭＶＰ候補は、予め定義された個数に制限されることができる。
【０４１０】
また、一実施形態において、エンコーダ／デコーダは、プルーニングチェックをマージリスト内マージ候補の特定タイプに対して実行することで、プルーニングチェックを制限することができる。たとえば、エンコーダ／デコーダは、ＨＭＶＰ候補を追加するにあたり、マージリストのスペース候補のみプルーニングチェックを実行することができる。あるいは、例えば、エンコーダ／デコーダは、ＨＭＶＰ候補を追加するにあたり、マージリストのスペース候補の一部にのみプルーニングチェックを実行することができる。上記空間候補の一部は、予め定義することができる。例えば、上記予め定義される空間候補の一部は、左側隣接スペース候補および/または上側隣接スペース候補のうちの少なくとも一つであり得る。本明細書の実施形態は、これに限定されるものではなく、他のタイプが組み合わされてプルーニングチェックの対象が制限されることができる。
【０４１１】
図４４は、本明細書の実施形態に係るプルーニングチェックの対象となるＨＭＶＰ候補の数を制限する方法を例示する図である。
【０４１２】
図４４を参照すると、本明細書の一実施形態において、プルーニングチェックの対象となるＨＭＶＰ候補の数は、Ｍ回に制限されることができる。
【０４１３】
エンコーダ/デコーダは、ＨＭＶＰ候補を用いて、マージリストを構成することにおいて、ＨＭＶＰ  ＬＵＴ内、１番目のＭ個の候補と上記マージリストのマージ候補との間の動き情報の重複が可能か否かをチェックすることができる。
【０４１４】
あるいは、エンコーダ／デコーダは、現在デコードされたＰＵの動き情報をＨＭＶＰ  ＬＵＴに追加するにあたり、ＨＭＶＰ  ＬＵＴ内、１番目のＭ個の候補と上記デコードされたＰＵの動き情報との間の重複が可能か否かをチェックすることができる。
【０４１５】
図４５は、本明細書の実施形態に係るプルーニングチェックを実行する方法の一例を示す図である。
【０４１６】
図４５を参照すると、エンコーダ／デコーダは、デコードされた候補の動き情報を獲得し、プルーニングチェックの数を決定（または解読）する（Ｓ４５０１、Ｓ４５０２）。
【０４１７】
エンコーダ/デコーダは、決定されたプルーニングチェックの数に基づいてプルーニングチェックを実行する（Ｓ４５０３）。
【０４１８】
一実施形態において、先の表４および表５と同様の方法でプルーニングチェックに関連する情報が上位レベルの構文を介してシグナリングされることができる。このとき、エンコーダからデコーダに伝送される構文エレメントは、実施される必要なあるプルーニングチェックの数を指示するためのいずれかのヘッダに含まれることができる。上記上位レベルの構文は、例えば、シーケンスパラメータセット（sequence parameter set）、ピクチャパラメータセット（picture parameter set）、スライスヘッダ（slice header）、コーディングツリーユニット（coding tree unit）、コーディングユニット（coding unit）および/または他の適切な構文のデータヘッダであり得る。
【０４１９】
実施形態５
【０４２０】
本明細書の実施形態では、ＨＭＶＰ候補を選択する効率的な方法を提案する。ヒストリ動きベクトル候補（つまり、ＨＭＶＰ候補）をマージリスト（またはＡＭＶＰリスト）に挿入するとき、ＨＭＶＰ候補が既存のマージリストと重複しないようにするために、プルーニングチェックが実行されることができる。
【０４２１】
ＭサイズのマージリストとＮサイズのヒストリＬＵＴとの間で、全体の重複チェックを実行するには、（Ｍ−１）ｘＮ回のチェックを必要とする。したがって、本明細書の実施形態において、ＨＭＶＰ候補の数は、既存のマージ候補に依存することができる。たとえば、ＨＭＶＰ候補の数は、マージリストに存在する空間候補の数に依存することができる。あるいは、例えば、ＨＭＶＰ候補の数は、マージリストに存在する空間候補および時間候補の数に依存することができる。
【０４２２】
マージリストに存在するマージ候補が存在する場合、マージリストのマージ候補の数および/またはＨＭＶＰの数に基づいて、特定の基準（またはルール）に基づいてプルーニングチェックを実行するＨＭＶＰ候補の数が減少することができる。これにより、最悪のケースにおける重複チェックの数が減少することができる。
【０４２３】
例えば、サイズ（または長さ）が６であるマージリストの場合、マージリストがいっぱいになっていないと、マージリストは、最大５つのスペースまたは他のマージ候補を含むことができる。６つのＨＭＶＰリストからＨＭＶＰ候補を挿入するには、最悪の場合、３０個の重複チェックが必要になることができる。
【０４２４】
一実施形態において、チェックするＨＭＶＰ数の制限に関連する例は、次の数式２３および表６の通りである。
【０４２５】
＜数式２３＞
【数２３】
2021515484.tif 000032
【０４２６】
＜表６＞
【表６】
2021515484.tif 000033
【０４２７】
表６を参照すると、プルーニングチェックの対象となるＨＭＶＰの数を２個に制限することにより、最悪のケースでＨＭＶＰ追加のための重複チェックの数は、３０回の代わりに１２回に減少することができる。
【０４２８】
実施形態６
【０４２９】
本明細書の一実施形態において、ヒストリベースの空間時間動きベクトル予測（History-Based Spatial Temporal Motion Vector Prediction、Ｈ−ＳＴＭＶＰ）を用いてマージリストを構成する方法を提案する。Ｈ−ＳＴＭＶＰは、２つのヒストリベースのスペースＭＶＰおよびＴＭＶＰの平均で導出される候補を示す。上記２つの空間ＨＭＶＰは、ＨＭＶＰバッファから獲得することができ、上記TＭＶＰは、現在のマージリストから獲得することができる。ここで、上記空間候補は、現ブロック以前のデコード順で最後の２つのコーディングされたＭＶから獲得された候補であり得る。
【０４３０】
たとえば、最後のコーディングされたＭＶ（本明細書では、ＭＶ＿Ｌと称する）、最後から２番目のコーディングされたＭＶ（本明細書では、ＭＶ＿（Ｌ−１）と称する）およびＭＶ＿ＴＭＶＰは、マージリストに挿入されるＨ−ＳＴＭＶＰ候補を生成するために用いられる。
【０４３１】
前述した３つの候補の全てを用いることができる場合、マージリストに追加されるＭＶは、以下の数式２４によって計算することができる。
【０４３２】
＜数式２４＞
【数２４】
2021515484.tif 000034
【０４３３】
一実施形態として、前述した３つの候補のうちの２つだけが利用可能であれば、２つの候補のみ平均化されてＨ−ＳＴＭＶＰが生成されることができる。同様に、一つの候補のみ使用可能すると、上記一つの候補のみ用いられる。使用可能な候補がない場合、Ｈ−ＳＴＭＶＰは、マージリストの構成に使用されない。
【０４３４】
本明細書の一実施形態において、前述した数式２４以外に、他の方法を用いて、Ｈ−ＳＴＭＶＰ候補の動きベクトルを獲得する方法を提案する。
【０４３５】
例えば、３つ以上の候補を一度に平均化する代わりに、空間候補を先に平均化した後、この結果を用いて２つの候補を再平均化することは、計算的にさらに簡単になることがある。これに関する例は、次の数式と同じである。
【０４３６】
＜数式２５＞
【数２５】
2021515484.tif 000035
【０４３７】
あるいは、次のように平均値を獲得することもできる。
【０４３８】
＜数式２６＞
【数２６】
2021515484.tif 000036
【０４３９】
＜数式２７＞
【数２７】
2021515484.tif 000037
【０４４０】
＜数式２８＞
【数２８】
2021515484.tif 000038
【０４４１】
エンコーダ／デコーダは、数式２５〜２７のように、まず、２つの候補を平均し、３つ目の候補を用いて、結果の値を最終的に平均化することができる。あるいは、エンコーダ/デコーダは、数式２８のように、２だけシフト演算を適用することにより、候補、すなわちＭＶ＿Ｌに、さらに高い重要度／重みを付与することができる。前述した数式２５〜２８を用いて、シフト演算だけで除算なく平均値を導出することができる。
【０４４２】
実施形態７
【０４４３】
本明細書の一実施形態において、Ｈ−ＳＴＭＶＰを導出することにおいて、２つのヒストリベースの空間候補の代わりに、任意の個数（ｎ）の空間候補を用いる方法を提案する。これらのｎ個の候補は、必ずしも連続したデコード順序である必要はない。任意または一部のルールに基づいて選択することができる。
【０４４４】
したがって、前述した数式２４は、次の数式２９のように、より一般的な方法で表現することができる。
【０４４５】
＜数式２９＞
【数２９】
2021515484.tif 000039
【０４４６】
他の一実施形態において、５つのスペースの候補を用いる場合を仮定すると、時間の候補に適用される重みを向上させることによって、Ｈ−ＳＴＭＶＰ候補を生成するために増加された空間候補の影響を最小にし、スペース候補および時間候補を適切に反映することができる。
【０４４７】
したがって、そのためには、次の数式３０を用いて空間候補を一緒に平均した後、その結果を用いてＭＶ＿ＴＭＶＰを平均化することにより、前述した目的を達成することができる。
【０４４８】
＜数式３０＞
【数３０】
2021515484.tif 000040
【０４４９】
実施形態８
【０４５０】
本明細書の実施形態において、Ｈ−ＳＴＭＶＰを導出するために用いられる動きベクトル候補に重み（または加重因子）を追加する方法を提供する。このとき、上記重みは、経験的に決定されることもあり、固定された参照フレームまでの時間距離を考慮して決定されることもあり、またはヒストリテーブルにおける位置を考慮することにより、決定されることもできる。一例として、新しい候補は、以前の候補さらに多くの重みを有することができる。
【０４５１】
すなわち、本実施形態において、前述した数式２４は、次の数式３１のように表現することができる。
【０４５２】
＜数式３１＞
【数３１】
2021515484.tif 000041
【０４５３】
このとき、重みは同じ値を有することができ、不均等に分散された値を有することができる。
【０４５４】
実施形態９
【０４５５】
本明細書の一実施形態において、Ｈ−ＳＴＭＶＰ候補を導出するために用いられる動きベクトルを、単一参照ピクチャとしてスケーリングする方法を提案する。
【０４５６】
図４６は、本明細書の一実施形態に従った、互いに異なる参照ピクチャを参照する動きベクトルを用いて、Ｈ−ＳＴＭＶＰ候補を導出する方法を説明する図である。
【０４５７】
図４６を参照すると、ＭＶ＿Ｌ、ＭＶ＿Ｌ−１およびＭＶ＿ＴＭＶＰ候補は、それぞれ互いに異なる参照ピクチャを参照（または指示）する場合を仮定する。すなわち、図４６は、Ｈ−ＳＴＭＶＰ候補を生成するために用いられた各候補が他の参照インデックスを有することができ、結果的に他の参照フレームを有することができることを示す。
【０４５８】
近接参照フレームがあるフレームが本質的にＨ−ＳＴＭＶＰの動きベクトルにさらに大きな影響を与えることがあるので、前述した数式２４ないし３１の平均を不均等な結果値で作成することができる。したがって、均等な比較および反映のために、すべての動きベクトルを、単一の参照フレームにスケーリングする方法を提案する。
【０４５９】
このとき、エンコーダからＲＤ最適化の一部として実行されてどのような単一のフレームが参照フレームとして用いるのに最適であるかを決定することができる。実施形態として、選択された参照フレームは、スライスヘッダに存在するＴＭＶＰ配列のインデックスと類似のスライスヘッダでシグナリングされることができる。例えば、固定されたルールを用いて用いられる参照フレームを生成することが可能である。あるいは、例えば、Ｌ０からの１番目の利用可能な基準フレームでスケーリングされるか、現ピクチャ順カウントでスケーリングすることができる。
【０４６０】
一実施形態において、前述した目的を達成するために、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、コーディングツリーユニットおよび/または他のデータのヘッダの一部であることができる上位レベルのシンタックス（ＨＬＳ）を用いて、単一の固定されたピクチャについての情報をエンコーダがデコーダに伝送することができる。たとえば、次の表７および/または表８のような上位レベルの構文構造を定義することができる。
【０４６１】
＜表７＞
【表７】
2021515484.tif 000042
【０４６２】
表７を参照すると、ｓｅｔ＿ＨＳＴＭＶＰ＿ｒｅｆ＿ｐｉｃ＿ｆｌａｇが１と等しい場合、ｓｅｔ＿ＨＳＴＭＶＰ＿ｉｄｘがＣＶＳから非ＩＤＲピクチャのスライスヘッダに存在することを示す。ｓｅｔ＿ＨＳＴＭＶＰ＿ｒｅｆ＿ｐｉｃ＿ｆｌａｇが０であれば、ｓｅｔ＿ＨＳＴＭＶＰ＿ｉｄｘがスライスヘッダに存在しないことを示す。
【０４６３】
＜表８＞
【表８】
2021515484.tif 000043
【０４６４】
表８を参照すると、ｓｌｉｃｅ＿ＨＭＶＰ＿ｉｄｘは、参照インデックスを指定する。一実施形態として、参照インデックスは、リストＬ０に対し選択されることができる。
【０４６５】
実施形態１０
【０４６６】
本明細書の実施形態において、先に説明した実施形態について、より詳細な実施形態を説明する。具体的には、現ブロックのＣＰＭＶを計算（または導出）するための位置およびそ次元情報を用いてアフィンＨＭＶＰ候補を間接的に用いる方法を提案する。本明細書において、導出されたＣＰＭＶは、継承されたアフィンＨＭＶＰ候補と呼ばれることができる。本明細書の実施形態に係る継承されたアフィンＨＭＶＰ候補は、前述したアフィンマージリストおよび/またはアフィンＡＭＶＰリスト作成プロセスで用いられる。
【０４６７】
図４７は、本明細書の実施形態に係る継承されたアフィンＨＭＶＰ候補を導出するためのブロックの位置を例示する図である。
【０４６８】
図４７を参照すると、アフィンＨＭＶＰ候補の位置および次元に基づいて、現ブロック４７０１のＣＰＭＶは、一般的な継承されたＣＰＭＶを周辺ブロックから導出する方法と類似の方法で導出することができる。つまり、エンコーダ／デコーダは、アフィンＨＭＶＰ候補である参照ブロック４７０２の位置および次元（例えば、幅および高さ）情報に基づいて、現ブロック４７０１の制御点の動きベクトルを導出することができる。
【０４６９】
一実施形態として、現ブロックの継承されたアフィンＨＭＶＰのＣＰＭＶは、次の数式３２および３３を用いて導出することができる。
【０４７０】
＜数式３２＞
【数３２】
2021515484.tif 000044
【０４７１】
＜数式３３＞
【数３３】
2021515484.tif 000045
【０４７２】
数式３２および３３で、ｐｏｓＣｕｒＣＵ＿Ｙは、現ブロック４７０１の左上端のサンプルの垂直方向の座標値を示し、ｐｏｓＲｅｆＣＵ＿Ｙは、参照ブロック４７０２の左上端のサンプルの垂直方向の座標値を示す。ｐｏｓＣｕｒＣＵ＿Ｘは、現ブロック４７０１の左上端のサンプルの水平方向の座標値を示し、ｐｏｓＲｅｆＣＵ＿Ｘは、参照ブロック４７０２の左上端のサンプルの水平方向の座標値を示す。ＲｅｆＣＵ＿ｈｅｉｇｈｔは、参照ブロック４７０２の高さを示し、ＲｅｆＣＵ＿ｗｉｄｔｈは、参照ブロック４７０２の幅を示す。
【０４７３】
実施形態１１
【０４７４】
本明細書の一実施形態において、アフィンＨＭＶＰ候補（直接または継承されたＨＭＶＰ）を追加するとき、アフィンマージまたはアフィンＡＭＶＰリスト作成に用いられるアフィンＨＭＶＰ候補を選択するように制限事項が追加されることがある。
【０４７５】
一例として、アフィンＨＭＶＰ候補は、上記アフィンＨＭＶＰ候補が、現ブロックに隣接する場合にだけ、アフィンマージまたはアフィンＡＭＶＰリストに追加されることができる。
【０４７６】
他の一例として、アフィンＨＭＶＰ候補は、上記アフィンＨＭＶＰ候補が、現ブロックから特定の距離内に位置（または存在）する場合にだけ、アフィンマージまたはアフィンＡＭＶＰリストに追加されることができる。例えば、上記特定の距離は、予め定義されたピクセル距離であり得る。エンコーダ／デコーダは、アフィンＨＭＶＰ候補が利用可能かどうかを判断するために、上記アフィンＨＭＶＰ候補が予め定義された特定の距離内に位置するかどうかを判断（または決定）することができる。
【０４７７】
他の一例として、アフィンＨＭＶＰ候補は、現ブロックに基づいて特定位置に位置（または存在）する場合にだけ、アフィンマージまたはアフィンＡＭＶＰリストに追加されることができる。例えば、上記の特定の位置に存在する場合は、上記アフィンＨＭＶＰ候補が、現ブロックの左側または上側隣接ブロックである場合であり得る。
【０４７８】
Ｎ個のエレメントを有するアフィンＨＭＶＰ  ＬＵＴに対し、すべてのエレメントまたは初めてＭ個の要素の前述した確認プロせスかＡＭＶＰリストがいっぱいになるまで、または予め定義された特定のＨＭＶＰ候補数に到達するまで実行されることができる。
【０４７９】
実施形態１２
【０４８０】
本明細書の実施形態において、アフィンＨＭＶＰ候補は、アフィンマージリストおよび/またはアフィンＡＭＶＰリストから既に存在する、継承されたアフィン候補を代替するのに用いる方法を提案する。
【０４８１】
図４８は、本明細書の実施形態に係るアフィンマージリストまたはアフィンＡＭＶＰリストを例示する図である。
【０４８２】
図４８を参照すると、エンコーダ/デコーダは、既存のアフィンマージリストまたはアフィンＡＭＶＰリストに存在する継承された候補を継承されたアフィンＨＭＶＰ候補に置き換えることができる。つまり、エンコーダ／デコーダは、現ブロックにサブブロックベースのマージモードが適用される場合、継承されたアフィン候補と構成されたアフィン候補とを用いて、サブブロックベースのマージ候補リストを作成し、継承されたアフィンＨＭＶＰ候補を導出して上記サブブロックベースのマージ候補リストに含まれる少なくとも一つの継承されたアフィン候補を継承されたアフィンＨＭＶＰ候補に置き換えることができる。
【０４８３】
また、本発明の一実施形態において、アフィンＨＭＶＰルックアップテーブル（ＬＵＴ）は、スライス、ＣＴＵ行（row）、またはＣＴＵの開始から初期化されることができる。これにより、並列処理実行性を向上させることができる。
【０４８４】
以下、後述する実施形態では、ＨＭＶＰからの最悪のプルーニングチェック（pruning check）の数を減少させるための方法を提案する。
【０４８５】
実施形態１３
【０４８６】
本明細書の実施形態において、ＨＭＶＰ候補がマージリストに追加された場合、プルーニングチェックの数は、マージリスト内の利用可能な候補の数とマージリストに追加することができるＨＭＶＰ候補の数とに基づいて決定されることができる。以下で、本明細書の実施形態を説明することにおいて、説明の便宜のために以下のように変数を定義して説明する。
【０４８７】
−  ＮＳＴ：マージリスト内の利用可能な（または存在する）候補の数
【０４８８】
−  ＮＨＭＶＰ：テーブル内のＨＭＶＰ候補の数（つまり、ＨＭＶＰテーブルサイズ）
【０４８９】
−  ＮｍｒｇＴｏＢｅＡｄｄｅｄ：マージリストに追加されるＨＭＶＰ候補の数
【０４９０】
−  ＮＨＭＶＰＣｈｅｃｋｅｄ：プルーニングチェックされるＨＭＶＰ候補の数
【０４９１】
−  Ｎｍａｘ＿ｈｍvｐ＿ｐｒｕｎｎｉｎｇ：ＨＭＶＰ候補をマージリストに追加するために要求される最悪の場合のプルーニングチェック数
【０４９２】
本明細書の一実施形態において、ＨＭＶＰ候補は、次の条件に応じてマージリストに追加されることができる。
【０４９３】
− 第１条件：ＬＵＴは、以前にプルーニングされた場合（つまり、ＨＭＶＰ  ＬＵＴ内の候補間で同じｍｖはない場合）
【０４９４】
− 第２条件：ＨＭＶＰ  ＬＵＴテーブルのサイズが６である場合
【０４９５】
− 第３条件：ＨＭＶＰ候補をマージリストに追加するために利用可能な（または存在する）マージ候補の最大個数が４である場合。つまり、最大マージリストサイズ（または、最大マージ候補）で１を減算した値より遠くリスト内マージ候補個数が小さい場合、たとえば、最大マージリストのサイズは６であり得、現在利用可能なマージ候補の個数が５より小さい場合、ＨＭＶＰ候補を追加（または挿入）することができる。つまり、ＨＭＶＰ候補は、マージリストインデックス５までのみ追加されることができる。
【０４９６】
ＨＭＶＰ候補がマージリストに追加されると（すなわち、マージ候補になると）、各ＨＭＶＰ候補は、マージ候補間の重複を除去するためにプルーニングチェックが必要になることができる。既存の映像圧縮技術によると、マージリストにＨＭＶＰを追加するために必要な最悪の（または最悪の場合の）プルーニングチェック数は、次の表９のように計算することができる。
【０４９７】
＜表９＞
【表９】
2021515484.tif 000046
【０４９８】
表９を参照すると、従来の映像圧縮技術によると、ＨＭＶＰテーブル（またはＨＭＶＰリスト、ＨＭＶＰ候補リスト）内の６つのＨＭＶＰ候補に対してプルーニングチェックが実行されることができる。
【０４９９】
具体的には、１）マージリスト内の候補が１つである場合、マージリストに追加されるＨＭＶＰ候補は、４つであることができる。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、４であり得る。２）マージリスト内の候補が２つである場合、マージリストに追加されるＨＭＶＰ候補は、３つであり得る。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、７であり得る。３）マージリスト内の候補が３つである場合、マージリストに追加されるＨＭＶＰ候補は、２つであり得る。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、９であり得る。４）マージリスト内の候補が４つである場合、マージリストに追加されるＨＭＶＰ候補は、１つであり得る。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、１０であり得る。
【０５００】
実施形態１４
【０５０１】
本明細書の実施形態において、前述した最悪のプルーニングチェック数の数を減らすための方法を提案する。マージリストにマージ候補がさらに多く存在する場合、マージ候補（すなわち、非ＨＭＶＰ候補）が増加するにつれてＨＭＶＰのコーディングの影響が減少するので、プルーニングチェックするＨＭＶＰ候補の数が減少される必要があるかもしれない。したがって、本明細書の実施形態において、エンコーダ／デコーダは、最悪のプルーニングチェックを減らすために、チェックされるＨＭＶＰ候補の数（NＨＭＶＰＣｈｅｃｋｅｄ）を追加される利用可能なＨＭＶＰ候補の数（ＮｍｒｇＴｏＢｅＡｄｄｅｄ）と同じように設定することができる。この場合、最悪のプルーニングチェック数は、次の表１０のように計算することができる。
【０５０２】
＜表１０＞
【表１０】
2021515484.tif 000047
【０５０３】
表１０を参照すると、従来の映像圧縮技術と比較したとき、ＨＭＶＰのための最悪のプルーニングチェックの数は、１０個から６個に減少することができる。
【０５０４】
表１０を参照すると、一実施形態において、１）マージリスト内の候補が１つである場合、マージリストに追加されるＨＭＶＰ候補は、４つであり得る。そして、４つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、４であり得る。２）マージリスト内の候補が２つである場合、マージリストに追加されるＨＭＶＰ候補は、３つであり得る。そして、３つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、６であり得る。３）マージリスト内の候補が３つである場合、マージリストに追加されるＨＭＶＰ候補は、２つであり得る。そして、２つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、６であり得る。３）マージリスト内の候補が４つの場合には、マージリストに追加されるＨＭＶＰ候補は、１であることができる。そして、１つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、４であり得る。
【０５０５】
実施形態１５
【０５０６】
本明細書の実施形態において、最悪のプルーニングチェックを減らすために、エンコーダ/デコーダは、プルーニングチェックされるＨＭＶＰ候補の数（ＮＨＭＶＰＣｈｅｃｋｅｄ）を追加される利用可能なＨＭＶＰ候補の数（ＮｍｒｇＴｏＢｅＡｄｄｅｄ）とＫとの和と同じ値に設定することができる。ここで、Ｋは、予め定義された定数値を示す。一例として、Ｋが１である場合には、最悪のプルーニングチェック数は、次の表１１のように計算することができる。
【０５０７】
＜表１１＞
【表１１】
2021515484.tif 000048
【０５０８】
表１１を参照すると、一実施形態において、１）マージリスト内の候補が１つである場合、マージリストに追加されるＨＭＶＰ候補は、４つであり得る。そして、５つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合には、最悪のプルーニングチェック数は、４であり得る。２）マージリスト内の候補が２つである場合、マージリストに追加されるＨＭＶＰ候補は、３つであり得る。そして、４つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、７であり得る。３）マージリスト内の候補が３つである場合、マージリストに追加されるＨＭＶＰ候補は、２つであり得る。そして、３つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、８であり得る。４）マージリスト内の候補が４つの場合には、マージリストに追加されるＨＭＶＰ候補は、１つであり得る。そして、２つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、７であり得る。
【０５０９】
実施形態１６
【０５１０】
本明細書の実施形態において、最悪の場合、プルーニングチェックを減少させるためには、チェックされるＨＭＶＰ候補の数（NＨＭＶＰＣｈｅｃｋｅｄ）は、次の数式３４のように定義されることができる。
【０５１１】
＜数式３４＞
【数３４】
2021515484.tif 000049
【０５１２】
数式３４において、Ｃは、予め定義された定数値を示す。Ｃが２である場合、最悪のプルーニングチェック数は、次の表１２のように計算されることができる。
【０５１３】
＜表１２＞
【表１２】
2021515484.tif 000050
【０５１４】
表１２を参照すると、一実施形態において、１）マージリスト内の候補が１つである場合、マージリストに追加されるＨＭＶＰ候補は、４つであり得る。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、４であり得る。２）マージリスト内の候補が２である場合、マージリストに追加されるＨＭＶＰ候補は、３つであり得る。そして、６つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、７であり得る。３）マージリスト内の候補が３つである場合、マージリストに追加されるＨＭＶＰ候補は、２つであり得る。そして、４つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合には、最悪のプルーニングチェック数は、９であり得る。４）マージリスト内の候補が４つの場合、マージリストに追加されるＨＭＶＰ候補は、１つであり得る。そして、２つのＨＭＶＰ候補のプルーニングチェックが実行されることができる。この場合、最悪のプルーニングチェック数は、７であり得る。
【０５１５】
以上で説明した本明細書の実施形態は、説明の便宜上、それぞれの実施形態を区分して説明したが、本発明は、これに限定されるものではない。つまり、先に説明した実施形態１〜１２で説明した実施形態は、それぞれ独立して実行されることもあり、一つまたは複数のいくつかの実施形態が組み合わされて実行されることもある。
【０５１６】
図４９は、本発明が適用される実施形態に係るインター予測に基づいて、ビデオ信号を処理する方法を例示するフローチャートである。
【０５１７】
図４９を参照すると、説明の便宜のためにデコーダを中心に説明するが、本発明は、これに限定されるものではなく、本明細書の実施形態に係るインター予測ベースのビデオ信号の処理方法は、エンコーダとデコーダとで同じように実行することができる。
【０５１８】
デコーダは、現ブロックに隣接するブロックに基づいてマージリスト（またはマージ候補リスト）を構成する（Ｓ４９０１）。
【０５１９】
デコーダは、上記マージリストに含まれるマージ候補の個数が予め定義された第１特定個数より小さい場合、ヒストリベースのマージ候補リスト（またはヒストリベースのマージ候補テーブル）内ヒストリベースのマージ候補を上記マージリストに追加する（Ｓ４９０２）。ここで、上記ヒストリベースのマージ候補は、上記現ブロック以前に符号化されたブロックの動き情報を示す。
【０５２０】
デコーダは、上記マージリスト内で、上記現ブロックのインター予測に用いられるマージ候補を指示するマージインデックスを獲得する（Ｓ４９０３）。
【０５２１】
デコーダは、上記マージインデックスによって指示されるマージ候補の動き情報に基づいて上記現ブロックの予測ブロックを生成する（Ｓ４９０４）。
【０５２２】
前述したように、実施形態として、上記ヒストリベースのマージ候補を上記マージリストに追加するステップは、上記ヒストリベースマージ候補リスト内の予め定義された第２特定個数のヒストリベースのマージ候補に対し、上記マージリストに含まれるマージ候補と重複する動き情報を有するかを確認するステップを含むことができる。
【０５２３】
前述したように、実施形態として、上記第２特定個数のヒストリベースのマージ候補は、上記マージリストに含まれるマージ候補の中から、予め定義されたマージ候補と重複しない動き情報を有する場合、上記マージリストに追加されることができる。
【０５２４】
前述したように、実施形態として、上記第２特定個数のヒストリベースのマージ候補は、上記マージリストに含まれるマージ候補の内から、予め定義された第３特定個数のマージ候補と重複しない動き情報を有する場合、上記マージリストに追加されることができる。
【０５２５】
前述したように、実施形態として、上記第２特定個数のヒストリベースのマージ候補は、上記マージリストに含まれる特定の空間マージ候補と重複しない動き情報を有する場合、上記マージリストに追加されることができる。
【０５２６】
前述したように、実施形態として、上記第１特定個数は、最大マージ候補から１を減算した値として定義することができる。
【０５２７】
前述したように、実施形態として、上記ヒストリベースのマージ候補を上記マージリストに追加するステップは、上記マージリストに含まれる現在のマージ候補が３つである場合、２つのヒストリベースのマージ候補に対し、上記マージリストに含まれるマージ候補と重複する動き情報を有するかを確認するステップを含むことができる。
【０５２８】
図５０は、本明細書の実施形態に係る映像信号を処理するための装置のブロック図の例を示す。図５０の映像信号処理装置は、図１のエンコード装置１００または図２のデコード装置２００に該当することができる。
【０５２９】
映像信号を処理する映像処理装置５０００は、映像信号を記憶するメモリ５０２０と、上記メモリと結合されながら、映像信号を処理するプロセッサ５０１０と、を含む。
【０５３０】
本明細書の実施形態に係るプロセッサ５０１０は、映像信号の処理のための少なくとも一つの処理（プロセッシング）回路で構成されることができ、映像信号をエンコードまたはデコードするためのコマンドを実行することにより、映像信号を処理することができる。つまり、プロセッサ５０１０は、前述したエンコードまたはデコード方法を実行することにより、元の映像データをエンコードしたり、エンコードされた映像信号をデコードすることができる。
【０５３１】
図５１は、本発明が適用されるビデオコーディングシステムを示す。
【０５３２】
ビデオコーディングシステムは、ソースデバイス（source device）と受信デバイス（receiving device）とを含むことができる。ソースデバイスは、エンコードされたビデオ／映像情報またはデータを、ファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達することができる。
【０５３３】
上記ソースデバイスは、ビデオソース（video source）、エンコード装置（encoding apparatus）、伝送部（transmitter）を含むことができる。上記受信デバイスは、受信部（receiver）、デコード装置（decoding apparatus）およびレンダラ（renderer）を含むことができる。上記エンコード装置は、ビデオ／映像エンコード装置と呼ばれることができ、上記デコード装置は、ビデオ／映像デコード装置と呼ばれることができる。送信器は、エンコード装置に含まれることができる。受信器は、デコード装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別個のデバイスまたは外部のコンポーネントで構成されることもある。
【０５３４】
ビデオソースは、ビデオ／映像のキャプチャ、合成または生成過程などを通じてビデオ／映像を獲得することができる。ビデオソースは、ビデオ／映像キャプチャデバイスおよび/またはビデオ／映像生成デバイスを含むことができる。ビデオ／映像キャプチャデバイスは、例えば、１つまたは複数のカメラ、以前にキャプチャされたビデオ／映像を含むビデオ／映像アーカイブなどを含むことができる。ビデオ／映像生成デバイスは、例えばコンピュータ、タブレットおよびスマートフォンなどを含むことができ、（電子的に）ビデオ／映像を生成することができる。たとえば、コンピュータなどを通じて、仮想のビデオ／映像が生成されることができ、この場合、関連するデータが生成される過程で、ビデオ／映像キャプチャプロセスに代えることができる。
【０５３５】
エンコード装置は、入力ビデオ／映像をエンコードすることができる。エンコード装置は、圧縮およびコーディング効率のために予測、変換、量子化などの一連の手順を実行することができる。エンコードされたデータ（エンコードされたビデオ／映像情報）は、ビットストリーム（bitstream）の形で出力されることができる。
【０５３６】
伝送部は、ビットストリームの形態で出力されたエンコードされたビデオ／映像情報またはデータを、ファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達することができる。デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、Ｂｌｕ−ｒａｙ、ＨＤＤ、ＳＳＤなど、様々な記憶媒体を含むことができる。伝送部は、予め決められたファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送／通信ネットワークを介して伝送するためのエレメントを含むことができる。受信部は、上記ビットストリームを抽出してデコード装置に伝達することができる。
【０５３７】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を実行して、ビデオ／映像をデコードすることができる。
【０５３８】
レンダラは、デコードされたビデオ／映像をレンダリングすることができる。レンダリングされたビデオ／映像は、ディスプレイ部を介して表示されることができる。
【０５３９】
図５２は、本発明が適用される実施形態として、コンテンツストリーミングシステム構造図を示す。
【０５４０】
図５２を参照すると、本発明が適用されるコンテンツストリーミングシステムは、概して、エンコードサーバ、ストリーミングサーバ、Ｗｅｂサーバ、メディアストレージ、ユーザデバイスおよびマルチメディア入力装置を含むことができる。
【０５４１】
上記エンコードサーバは、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを上記ストリーミングサーバに伝送する役割を担う。他の例として、スマートフォン、カメラ、ビデオカメラなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは省略することができる。
【０５４２】
上記ビットストリームは、本発明が適用されるエンコード方法またはビットストリームの生成方法によって生成されることができ、上記ストリーミングサーバは、上記ビットストリームを伝送または受信する過程で一時的に上記ビットストリームを記憶することができる。
【０５４３】
上記ストリーミングサーバは、Ｗｅｂサーバを介して、ユーザの要求に基づいて、マルチメディアデータをユーザ装置に伝送し、上記ウェブサーバは、ユーザにどのようなサービスがあるかを知らせる媒介体の役割を担う。ユーザが上記Ｗｅｂサーバに所望するサービスを要求（要請）すると、上記Ｗｅｂサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザに、マルチメディアデータを伝送する。この際、上記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各デバイス間のコマンド／応答を制御する役割を担う。
【０５４４】
上記ストリーミングサーバは、メディアストレージおよび／またはエンコードサーバからコンテンツを受信することができる。例えば、上記エンコードサーバからコンテンツを受信することになる場合、上記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間の間記憶することができる。
【０５４５】
上記ユーザ装置の例としては、携帯電話、スマートフォン（smartphone）、ノートパソコン（laptop computer）、デジタル放送用端末機、ＰＤＡ（Personal Digital Assistants）、ＰＭＰ（Portable Multimedia Player）、ナビゲーション、スレートＰＣ（slate PC）、タブレットＰＣ（tablet PC）、ウルトラブック（Ultrabook）、ウェアラブルデバイス（wearable device、例えば、スマートウォッチ（ウォッチ型端末）（smartwatch）、グラス型端末（smart glass）、ＨＭＤ（Head Mounted Display））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどが有り得る。
【０５４６】
上記コンテンツストリーミングシステム内の各サーバは、分散サーバで運用されることができ、この場合、各サーバで受信するデータは、分散処理されることができる。
【０５４７】
上記記述されたように、本発明で説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現され実行されることができる。例えば、各図面で示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラ、またはチップ上で実現され実行されることができる。
【０５４８】
また、本発明が適用されるデコーダおよびエンコーダは、マルチメディア放送の送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信のようなリアルタイムの通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、オーダメイドビデオ（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over the top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、画像電話ビデオ装置、および医療用ビデオ装置などに含まれ得、ビデオ信号またはデータ信号を処理するために使用され得る。例えば、ＯＴＴビデオ（Over the top video）装置としては、ゲームコンソール、ブルーレイプレーヤ、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recorder）などを含み得る。
【０５４９】
また、本発明が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取ることができる記録媒体に記憶され得る。本発明によるデータ構造を有するマルチメディアデータもまた、コンピュータが読み取ることができる記録媒体に記憶され得る。上記コンピュータが読み取ることができる記録媒体は、コンピュータによって読み取られるデータが記憶される全ての種類の記憶装置および分散記憶装置を含む。上記コンピュータが読み取ることができる記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアルバス（汎用直列バス）（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスク、および光学データ記憶装置を含み得る。また、上記コンピュータが読み取ることができる記録媒体は、搬送波（例えば、インターネットを介した送信）の形態で実現された媒体（メディア）を含む。また、エンコード方法で生成されたビットストリームが、コンピュータが読み取ることができる記録媒体に記憶されるか、有無線通信ネットワークを介して送信され得る。
【０５５０】
また、本発明の実施例は、プログラムコードによるコンピュータプログラム製品で実現されることができ、上記プログラムコードは、本発明の実施例によってコンピュータで実行されることができる。上記プログラムコードは、コンピュータによって読み取り可能なキャリア上に記憶されることができる。
【０５５１】
本明細書が適用されるデコード装置およびエンコード装置は、デジタル機器（digital de-vice）に含まれ得る。「デジタル機器（digital device）」とは、例えば、データ、コンテンツ、サービスなどの送信、受信、処理および出力の少なくとも１つを実行可能な全てのデジタル機器を含む。ここで、デジタル機器がデータ、コンテンツ、サービスなどを処理することは、データ、コンテンツ、サービスなどをエンコーディングおよび／またはデコードする動作を含む。このようなデジタル機器は、有／無線ネットワーク（wire/wireless network）を介して、他のデジタル機器、外部サーバ（external server）などとペアリングまたは接続（連結）（pairing or connecting）（以下「ペアリング」）されてデータを送受信し、必要に応じて変換（converting）する。
【０５５２】
デジタル機器は、例えば、ネットワークＴＶ（network TV）、ＨＢＢＴＶ（Hybrid Broadcast Broadband TV）、スマートＴＶ（Smart TV）、ＩＰＴＶ（Internet Protocol Television）、ＰＣ（Personal Computer）などの固定型機器（standing device）と、ＰＤＡ（Personal Digital Assistant）、スマートフォン（Smart Phone）、タブレットＰＣ（Tablet PC）、ラップトップなどのモバイル機器（mobile device or handheld device）と、をいずれも含む。本明細書では、便宜上、後述する図３３ではデジタルＴＶを、図３４ではモバイル機器を、デジタル機器の実施例として示して説明する。
【０５５３】
一方、本明細書で記述される「有／無線ネットワーク」とは、デジタル機器またはデジタル機器と外部サーバとの間で相互接続および／またはデータの送受信のために様々な通信規格ないしプロトコルをサポートする通信ネットワークを総称する。このような有／無線ネットワークは、規格により、現在または今後サポートされる通信ネットワークおよびそのための通信プロトコルをいずれも含み得るので、例えば、ＵＳＢ（Universal Serial Bus）、ＣＶＢＳ（Composite Video Banking Sync）、コンポーネント、Ｓ−ビデオ（アナログ）、ＤＶＩ（Digital Visual Interface）、ＨＤＭＩ（High Definition Multimedia Interface）（登録商標）、ＲＧＢ、Ｄ−ＳＵＢなどの有線接続のための通信規格またはプロトコルと、ブルートゥース（Bluetooth）（登録商標）、ＲＦＩＤ（Radio Frequency IDentification）、赤外線通信（ＩｒＤＡ、infrared Data Association）、ＵＷＢ（Ultra WideBand）、ジグビ（ZigBee）、ＤＬＮＡ（Digital Living Network Alliance）（登録商標）、ＷＬＡＮ（Wireless LAN）（Ｗｉ−Ｆｉ）、Ｗｉｂｒｏ（Wireless broadband）、Ｗｉｍａｘ（World Interoperability for Microwave Access）、ＨＳＤＰＡ（High Speed Down-link Packet Access）、ＬＴＥ（Long Term Evolution）、Ｗｉ−Ｆｉダイレクト（Direct）などの無線接続のための通信規格と、によって形成され得る。
【０５５４】
以下、本明細書でただデジタル機器と名付ける場合には、文脈に応じて、固定型機器またはモバイル機器を意味するか、両者とも含む意味であってもよい。
【０５５５】
一方、デジタル機器は、例えば、放送受信機能、コンピュータ機能またはサポート、少なくとも１つの外部入力（external input）をサポートするインテリジェント（知能型）機器であって、前述した有／無線ネットワークを介してＥメール（e-mail）、ウェブブラウジング（web browsing）、バンキング（banking）、ゲーム（game）、アプリケーション（application）などをサポートできる。また、上記デジタル機器は、手動（手記）方式の入力装置、タッチスクリーン（touch screen）、空間リモコンなどの少なくとも１つの入力または制御手段（以下、入力手段）をサポートするためのインターフェース（interface）を備えることができる。デジタル機器は、標準化された汎用ＯＳ（Operating System）を用いることができる。例えば、デジタル機器は、汎用のＯＳカーネル（kernel）上で、様々なアプリケーション（application）の追加（adding）、削除（deleting）、修正（amending）、アップデート（updating）などを行うことができ、それを介してさらにユーザフレンドリ（user-friendly）環境を構成して提供できる。
【０５５６】
一方、本明細書で記述される外部入力は、外部入力機器、すなわち、前述したデジタル機器と有／無線で接続され、それを介して関連データを送／受信して処理可能な全ての入力手段またはデジタル機器を含む。ここで、上記外部入力は、例えば、ＨＤＭＩ（High Definition Multimedia Interface）（登録商標）、プレイステーション（play station）やエックスボックス（Ｘ−Ｂｏｘ）などのゲーム機器、スマートフォン、タブレットＰＣ、プリンター、スマートＴＶなどのデジタル機器をいずれも含む。
【０５５７】
また、本明細書で記述される「サーバ（server）」とは、クライアント（client）、すなわち、前述したデジタル機器にデータを供給する全てのデジタル機器ないしシステムを含む意味であって、プロセッサ（processor）とも呼ぶ。このようなサーバとしては、例えば、ウェブページまたはウェブコンテンツを提供するポータルサーバ（portal server）、広告データ（advertising data）を提供する広告サーバ（advertising server）、コンテンツを提供するコンテンツサーバ（content server）、ＳＮＳ（Social Network Service）サービスを提供するＳＮＳサーバ（SNS server）、メーカで提供するサービスサーバ（service server or manufacturing server）などが含まれ得る。
【０５５８】
その他に、本明細書で記述される「チャネル（チャンネル）（channel）」とは、データを送受信するための経路（path）、手段（means）などを意味するものであって、放送チャネル（broadcasting channel）を例に挙げることができる。ここで、放送チャネルは、デジタル放送の活性化によって物理チャネル（physical channel）、仮想チャネル（virtual channel）、論理チャネル（logical channel）などの用語で表現される。放送チャネルは放送網と呼ばれ得る。このように、放送チャネルは、放送局で提供する放送コンテンツを提供または受信器でアクセス（接近）するためのチャネルをいうもので、上記放送コンテンツは、主にリアルタイム放送（real-time broadcasting）に基づくので、ライブチャネル（live channel）ともいう。ただし、最近では、放送のための媒体（medium）がさらに多様化され、リアルタイム放送以外に非リアルタイム（non-real time）放送も活性化されており、ライブチャネルは、ただリアルタイム放送だけでなく、場合によっては非リアルタイム放送を含む放送チャネル全体を意味する用語として理解されることもある。
【０５５９】
本明細書では、前述した放送チャネル以外に、チャネルに関して「任意のチャネル（arbitrary channel）」をさらに定義する。上記任意のチャネルは、放送チャネルと共にＥＰＧ（Electronic Program Guide）のようなサービスガイド（service guide）と共に提供されることもでき、任意のチャネルだけでサービスガイド、ＧＵＩ（Graphic User Interface）またはＯＳＤ画面（On-Screen Dis-play screen）を構成／提供することもできる。
【０５６０】
一方、送受信器間で予め約束されたチャネル番号（ナンバ）を有する放送チャネルと異なり、任意のチャネルは、受信器で任意に割り当てられるチャネルであって、上記放送チャネルを表現するためのチャネル番号とは基本的に重複しないチャネル番号が割り当てられる。例えば、受信器は、特定の放送チャネルをチューニングすると、チューニングされたチャネルを介して放送コンテンツおよびそのためのシグナリング情報（signaling information）を送信する放送信号を受信する。ここで、受信器は、上記シグナリング情報からチャネル情報をパージング（parsing）し、パージングされたチャネル情報に基づいてチャネルブラウザ（channel browser）、ＥＰＧなどを構成してユーザに提供する。ユーザは、入力手段を介してチャネル切換の要求を行うと、受信器は、それに対する方式である。
【０５６１】
このように、放送チャネルは、送受信端間で予め約束された内容であるので、任意のチャネルを放送チャネルと重複して割り当てる場合には、ユーザの混同を招いたり、混同の可能性が存在するので、前述したように重複して割り当てないことが好ましい。一方、上記のように、任意のチャネル番号を放送チャネル番号と重複して割り当てなくても、ユーザのチャネルサーフィン過程で依然として混同の恐れがあるので、これを考慮し、任意のチャネル番号を割り当てることが要求される。何故なら、本明細書による任意のチャネルもやはり、従来の放送チャネルと同じように入力手段を介したユーザのチャネル切換の要求によって、同じ方式で対応し、放送チャネルのようにアクセスされるように実現できるためである。したがって、任意のチャネル番号は、ユーザの任意のチャネルのアクセス便宜と、放送チャネル番号との区分または識別便宜と、のために、放送チャネルのように数字の形態ではなく、任意のチャネル−１、任意のチャネル−２などのように文字が併記された形で定義されて表示されることができる。一方、この場合、任意のチャネル番号の表示は、任意のチャネル−１のように文字が併記された形であるが、受信器内部的には、上記放送チャネルのナンバのように数字の形で認識して実現されることができる。その他に、任意のチャネル番号は、放送チャネルのように数字の形で提供されてもよく、動画チャネル−１、タイトル−１、ビデオ−１などのように放送チャネルと区分可能な様々な方式でチャネル番号が定義されて表示されてもよい。
【０５６２】
デジタル機器は、ウェブサービス（web service）のためにウェブブラウザ（web browser）を実行して、様々な形態のウェブページ（web page）をユーザに提供する。ここで、上記ウェブページには、動画（video content）が含まれるウェブページも含まれるが、本明細書では、動画をウェブページから別途で、または独立して分離して処理する。また、上記分離される動画は、前述した任意のチャネル番号が割り当てられ、サービスガイドなどを介して提供され、ユーザがサービスガイドや放送チャネルの視聴過程でチャネル切換を要求することによって出力されるように実現されることができる。その他に、ウェブサービス以外にも、放送コンテンツ、ゲーム、アプリケーションなどのサービスに対しても、所定のコンテンツ、イメージ、オーディオ、項目などを上記放送コンテンツ、ゲーム、アプリケーション自体から独立して分離処理し、その再生、処理などのために任意のチャネル番号を割り当て、前述したように実現できる。
【０５６３】
図５３は、デジタル機器を含むサービスシステム（service system）の一例を概略的に示した図である。
【０５６４】
デジタル機器を含むサービスシステムは、コンテンツプロバイダ（提供者）（Content Provider；ＣＰ）５３１０、サービスプロバイダ（Service Provider；ＳＰ）５３２０、ネットワークプロバイダ（Network Provider；ＮＰ）５３３０およびＨＮＥＤ（Home Network End User）（Customer）５３４０を含む。ここで、ＨＮＥＤ５３４０は、例えば、クライアント５３００、つまり、デジタル機器である。コンテンツプロバイダ５３１０は、各種コンテンツを制作して提供する。このようなコンテンツプロバイダ５３１０で、図５３に示されたように、地上波放送業者（送出者）（terrestrial broadcaster）、ケーブル放送事業者（cable SO（System Operator））またはＭＳＯ（Multiple SO）、衛星放送業者（satellite broadcaster）、さまざまなインターネット放送業者（Internet broadcaster）、個人コンテンツプロバイダ（Private CPs）などを例示することができる。一方、コンテンツプロバイダ５３１０は、放送コンテンツのほかにも、様々なアプリケーションを提供する。
【０５６５】
サービスプロバイダ５３２０は、コンテンツプロバイダ５３１０が提供するコンテンツをサービスパッケージ化しＨＮＥＤ５３４０に提供する。例えば、図５３のサービスプロバイダ５３２０は、第１地上波放送、第２地上波放送、ケーブルＭＳＯ、衛星放送、様々なインターネット放送、アプリケーションなどをパッケージ化してＨＮＥＤ５３４０に提供する。
【０５６６】
サービスプロバイダ５３２０は、ユニキャスト（uni-cast）またはマルチキャスト（multi-cast）方式でクライアント３００にサービスを提供する。一方、サービスプロバイダ５３２０は、データを予め登録された多数のクライアント５３００にまとめて伝送することができ、そのためにＩＧＭＰ（Internet Group Management Protocol）プロトコルなどを用いることができる。
【０５６７】
前述したコンテンツプロバイダ５３１０とサービスプロバイダ５３２０とは、同じオブジェクト（same or single entity）であり得る。例えば、コンテンツプロバイダ５３１０が制作したコンテンツをサービスパッケージ化してＨＮＥＤ５３４０に提供することにより、サービスプロバイダ５３２０の機能も一緒に実行したり、その逆であることもある。
【０５６８】
ネットワークプロバイダ５３３０は、コンテンツプロバイダ５３１０および／またはサービスプロバイダ５３２０とクライアント５３００との間のデータ交換のためのネットワーク網を提供する。
【０５６９】
クライアント５３００は、ホームネットワークを構築してデータを送受信することができる。
【０５７０】
一方、サービスシステム内のコンテンツプロバイダ５３１０および/またはサービスプロバイダ５３２０は、伝送されるコンテンツの保護のために条件付きアクセス（制限受信）（conditional access）またはコンテンツ保護（content protection）の手段を用いることができる。この場合、クライアント３００は、上記条件付きアクセスやコンテンツ保護に対応して、ケーブルカード（Cable CARD）（ＰＯＤ：Point of Deployment）、ＤＣＡＳ（Downloadable CAS）などの処理手段を用いることができる。
【０５７１】
その他、クライアント５３００も、ネットワーク網（または通信網）を介して、両方向サービスを用いることができる。このような場合、むしろクライアント５３００が、コンテンツプロバイダの機能を実行することもでき、既存のサービスプロバイダ５３２０は、これを受信して再び別のクライアントに伝送することもある。
【０５７２】
図５４は、デジタル機器の一実施形態を説明するため示した構成のブロック図である。ここで、図５４は、例えば、図５３のクライアント５３００に該当することができ、前述したデジタル機器を意味する。
【０５７３】
デジタル機器５４００は、ネットワークインターフェース部（network interface）５４０１、ＴＣＰ／ＩＰマネージャ（TCP/IP manager）５４０２、サービス配送（伝達）マネージャ（service delivery manager）５４０３、ＳＩデコーダ５４０４、逆多重化部（demux）５４０５、オーディオデコーダ（audio decoder）５４０６、ビデオデコーダ（video decoder）５４０７、ディスプレイ部（display A/V and OSD module）５４０８、サービス制御マネージャ（service control manager）５４０９、サービスディスカバリマネージャ（service discovery manager）５４１０、ＳＩ＆メタデータデータベース（SI&Metadata DB）５４１１メタデータマネージャ（metadata manager）５４１２、サービスマネージャ５４１３、ＵＩマネージャ５４１４などから構成される。
【０５７４】
ネットワークインターフェース部５４０１は、ネットワーク網を介してＩＰパケット（Internet Protocol (IP) packets）を受信したり、伝送する。つまり、ネットワークインターフェース部５４０１は、ネットワーク網を介してサービスプロバイダ５３２０からサービス、コンテンツ、などを受信する。
【０５７５】
ＴＣＰ/ＩＰマネージャ５４０２は、デジタル機器５４００で受信されるＩＰパケットとデジタル機器５４００が伝送するＩＰパケットとに対して、すなわち、ソース（送信元）（source）と宛先（送信先）（目的地）（destination）との間のパケット伝達に関与する。そして、ＴＣＰ/ＩＰのマネージャ５４０２は、受信したパケットを適切なプロトコルに対応するように分類し、サービス配送マネージャ５４０５、サービスディスカバリマネージャ５４１０、サービス制御マネージャ５４０９、メタデータマネージャ５４１２などに分類されたパケットを出力する。サービス配送マネージャ５４０３は、受信されるサービスデータの制御を担当する。たとえば、サービス配送マネージャ５４０３は、リアルタイムストリーミング（real-time streaming）データを制御する場合には、ＲＴＰ/ＲＴＣＰを用いることができる。上記リアルタイムストリーミングデータをＲＴＰを用いて伝送する場合、サービス配送マネージャ５４０３は、上記受信したデータパケットをＲＴＰに基づいてパージング（parsing、解析）し、逆多重化部５４０５に伝送したり、サービスマネージャ５４１３の制御に基づいてＳＩ＆メタデータデータベース５４１１に記憶する。そして、サービス配送マネージャ５４０３は、ＲＴＣＰを用いて上記ネットワークの受信情報をサービスを提供するサーバ側にフィードバック（feedback）する。逆多重化部５４０５は、受信したパケットを、オーディオ、ビデオ、ＳＩ（System Information）データなどで逆多重化して、それぞれのオーディオ／ビデオデコーダ（５４０６/５４０７）、ＳＩデコーダ５４０４に伝送する。
【０５７６】
ＳＩデコーダ５４０４は、例えば、ＰＳＩ（Program Specific Information）、ＰＳＩＰ（Program And System Information Protocol）、ＤＶＢ−ＳＩ（Digital Video Broadcasting-Service Information）などのサービス情報をデコードする。
【０５７７】
また、ＳＩデコーダ５４０４は、デコードされたサービス情報を、例えば、ＳＩ＆メタデータデータベース５４１１に記憶する。このように記憶されたサービスの情報は、例えば、ユーザの要求などにより、該構成によって読み出しされ、用いられる。
【０５７８】
オーディオ／ビデオデコーダ（５４０６/５４０７）は、逆多重化部５４０５で逆多重化された各オーディオデータおよびビデオデータをデコードする。このようにデコードされたオーディオデータおよびビデオデータは、ディスプレイ部５４０８を介してユーザに提供される。
【０５７９】
アプリケーションマネージャは、例えば、ＵＩマネージャ５４１４およびサービスマネージャ５４１３から構成されることができる。アプリケーションマネージャは、デジタル機器５４００の全般的な状態を管理し、ユーザインターフェースを提供し、他のマネージャを管理することができる。
【０５８０】
ＵＩマネージャ５４１４は、ユーザのためのＧＵＩ（Graphic User Interface）をＯＳＤ（On Screen Display）などを用いて提供し、ユーザからのキーの入力を受け上記入力による機器の動作を実行する。たとえば、ＵＩマネージャ５４１４は、ユーザからのチャンネル選択に関するキーの入力を受け取ると、上記キー入力信号をサービスマネージャ５４１３に伝送する。
【０５８１】
サービスマネージャ５４１３は、サービス配送マネージャ５４０３、サービスディスカバリマネージャ５４１０、サービス制御マネージャ５４０９、メタデータマネージャ５４１２などのサービスに関連するマネージャを制御する。
【０５８２】
また、サービスマネージャ５４１３は、チャンネルマップ（channel map）を作成し、ＵＩマネージャ５４１４から受信したキー入力に応じて上記チャンネルマップを用いて、チャンネルを選択する。そして、サービスマネージャ５４１３は、ＳＩデコーダ５４０４からのチャネルのサービス情報の伝送を受け、選択されたチャンネルのオーディオ／ビデオ（ＰＩＤ；Packet IDentifier）を逆多重化部５４０５に設定する。このように設定されるＰＩＤは、前述した逆多重化過程で用いられる。したがって、逆多重化部５４０５は、上記のＰＩＤを用いて、オーディオデータ、ビデオ、データ、およびＳＩデータをフィルタリング（filtering）する。
【０５８３】
サービスディスカバリマネージャ５４１０は、サービスを提供するサービスプロバイダを選択するために必要な情報を提供する。サービスマネージャ５４１３からチャンネル選択の信号を受信すると、サービスディスカバリマネージャ５４１０は、上記情報を用いて、サービスを探す。
【０５８４】
サービス制御マネージャ５４０９は、サービスの選択および制御を担当する。たとえば、サービス制御マネージャ５４０９は、ユーザが既存の放送方式のような生放送（live broadcasting）サービスを選択する場合、ＩＧＭＰまたはＲＴＳＰなどを用いて、ＶＯＤ（Video On Demand）などのサービスを選択する場合には、ＲＴＳＰを用いてサービスの選択、制御を行う。上記ＲＴＳＰプロトコルは、リアルタイムストリーミングのトリックモード（trick mode）を提供することができる。また、サービス制御マネージャ５４０９は、ＩＭＳ（IP Multimedia Subsystem）、ＳＩＰ（Session Initiation Protocol）を用いて、ＩＭＳゲートウェイ５４５０を通じるセッションを初期化して管理することができる。プロトコルは、一実施形態であり、実現例によって、他のプロトコルを用いることもできる。
【０５８５】
メタデータマネージャ５４１２は、サービスに関連するメタデータを管理して、上記メタデータをＳＩ＆メタデータデータベース５４１１に記憶する。
【０５８６】
ＳＩ＆メタデータデータベース５４１１は、ＳＩデコーダ５４０４がデコードしたサービス情報、メタデータマネージャ５４１２が管理するメタデータおよびサービスディスカバリマネージャ５４１０が提供するサービスプロバイダを選択するために必要な情報を記憶する。また、ＳＩ＆メタデータデータベース５４１１は、システムのセットアップデータなどを記憶することができる。
【０５８７】
ＳＩ＆メタデータデータベース５４１１は、非揮発性メモリ（Non-Volatile RAM、ＮＶＲＡＭ）、またはフラッシュメモリ（flash memory）などを用いて実現されることもできる。
【０５８８】
一方、ＩＭＳゲートウェイ５４５０は、ＩＭＳベースのＩＰＴＶサービスにアクセスするために必要な機能を集めたゲートウェイである。
【０５８９】
図５５は、デジタル機器の他の実施形態を説明するため示した構成のブロック図である。特に、図５５は、デジタル機器の他の実施形態として、モバイル機器の構成ブロック図を例示したものである。
【０５９０】
図５５を参照すると、モバイル機器５５００は、無線通信部５５１０、Ａ/Ｖ（Audio/Video）入力部５５２０、ユーザ入力部５５３０、センシング部５５４０、出力部５５５０、メモリ５５６０は、インターフェース部５５７０、制御部５５８０および電源供給部５５９０などを含むことができる。図５５に示された構成要素が必須のものではないから、それより多くの構成要素を有したり、それより少ない構成要素を有するモバイル機器が実現されることもある。
【０５９１】
無線通信部５５１０は、モバイル機器５５００と無線通信システムとの間、またはモバイル機器とモバイル機器が位置するネットワークとの間の無線通信を可能にする一つまたは複数のモジュールを含むことができる。例えば、無線通信部５５１０は、放送受信モジュール５５１１、移動通信モジュール５５１２、無線インターネットモジュール５５１３、近距離通信モジュール５５１４および位置情報モジュール５５１５などを含むことができる。
【０５９２】
放送受信モジュール５５１１は、放送チャンネルを介して外部の放送管理サーバから放送信号および／または放送関連情報を受信する。ここで、放送チャンネルは、衛星チャンネル、地上波チャンネルを含むことができる。放送管理サーバは、放送信号、および／もしくは放送関連情報を生成して送信するサーバ、または既に生成された放送信号および／もしくは放送関連情報の提供を受け端末に送信するサーバを意味することができる。放送信号は、ＴＶ放送信号、ラジオ放送信号、データ放送信号を含むだけでなく、ＴＶ放送信号またはラジオ放送信号にデータ放送信号が結合した形態の放送信号も含むことができる。
【０５９３】
放送関連情報は、放送チャンネル、放送番組または放送サービスプロバイダに関連する情報を意味することができる。放送関連情報は、移動通信網を介しても提供されることができる。このような場合には、移動通信モジュール５５１２によって受信されることができる。
【０５９４】
放送関連情報は、様々な形態、例えば、ＥＰＧ（Electronic Program Guide）またはＥＳＧ（Electronic Service Guide）などの形態で存在することができる。
【０５９５】
放送受信モジュール５５１１は、例えば、ＡＴＳＣ、ＤＶＢ−Ｔ（Digital Video Broadcasting-Terrestrial）、ＤＶＢ−Ｓ（Satellite）、ＭｅｄｉａＦＬＯ（Media Forward Link Only）、ＤＶＢ−Ｈ（Handheld）、ＩＳＤＢ−Ｔ（Integrated Services Digital Broadcast-Terrestrial）などのデジタル放送システムを用いてデジタル放送信号を受信することができる。もちろん、放送受信モジュール５１１は、前述したデジタル放送システムだけでなく、他の放送システムに適合するように構成することもできる。
【０５９６】
放送受信モジュール５５１１を介して受信した放送信号および／または放送関連情報は、メモリ５５６０に記憶されることができる。
【０５９７】
移動通信モジュール５５１２は、移動通信網上で、基地局、外部端末、サーバのうちの少なくとも一つと無線信号を送受信する。無線信号は、音声信号、画像通話信号または文字／マルチメディアメッセージ送受信による多様な形態のデータを含むことができる。
【０５９８】
無線インターネットモジュール５５１３は、無線インターネット接続のためのモジュールを含み、モバイル機器５５００に内蔵されたり、外蔵されることができる。無線インターネット技術では、ＷＬＡＮ（Wireless LAN）（Ｗｉ−Ｆｉ）、Ｗｉｂｒｏ（Wireless broadband）、Ｗｉｍａｘ（World interoperability for microwave access）、ＨＳＤＰＡ（High Speed Downlink Packet Access）などが用いられる。
【０５９９】
近距離通信モジュール５５１４は、近距離通信のためのモジュールをいう。近距離通信（short range communication）技術で、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦＩＤ（Radio Frequency IDentification）、赤外線通信（ＩｒＤＡ、Infrared Data Association）、ＵＷＢ（Ultra WideBand）、ＺｉｇＢｅｅ、ＲＳ−２３２、ＲＳ−４８５などが用いられる。
【０６００】
位置情報モジュール５５１５は、モバイル機器５５００の位置情報の獲得のためのモジュールとして、ＧＰＳ（Global Position System）モジュールを例にすることができる。
【０６０１】
Ａ／Ｖ入力部５５２０は、オーディオ、および/またはビデオ信号入力のためのもので、これには、カメラ５５２１およびマイク５５２２などが含まれることができる。カメラ５５２１は、画像通話モードまたは撮影モードでイメージセンサにより得られる静止画または動画などの画像フレームを処理する。処理された画像フレームは、ディスプレイ部５５５１に表示されることができる。
【０６０２】
カメラ５５２１で処理された画像フレームは、メモリ５５６０に記憶されるか、無線通信部５５１０を介して外部に伝送されることができる。カメラ５５２１は、使用環境に応じて、２つ以上が備えられることもある。
【０６０３】
マイク５５２２は、通話（通貨）モードまたは録音モード、音声認識モードなどでマイクロホン（microphone）により、外部の音響信号の入力を受け、電気的な音声データに処理する。処理された音声データは、通話モードである場合、移動通信モジュール５５１２を介して移動通信基地局に伝送可能な形態に変換されて出力されることができる。マイク５５２２には、外部の音響信号の入力を受ける過程で発生するノイズ（noise）を除去するための様々なノイズ除去アルゴリズムが実現されることができる。
【０６０４】
ユーザ入力部５５３０は、ユーザが端末の動作を制御するための入力データを発生させる。ユーザ入力部５５３０は、キーパッド（key pad）、ドームスイッチ（dome switch）、タッチパッド（静圧/静電）、ジョグホイール（jog wheel）、ジョグスイッチ（jog switch）などで構成されることができる。
【０６０５】
センシング部５５４０は、モバイル機器５５００の開閉状態、モバイル機器５５００の位置、ユーザの接触の有無、モバイル機器の防衛、モバイル機器の加速／減速などのように、モバイル機器５５００の現在の状態を感知して、モバイル機器５５００の動作の制御のためのセンシング信号を発生させる。例えば、モバイル機器５５００が移動したり、傾いた場合、モバイル機器の位置ないし傾きなどをセンシングすることができる。また、電源供給部５５９０の電源供給が可能か否か、インターフェース部５５７０の外部機器に結合しているかどうかなどもセンシングすることもできる。一方、センシング部５５４０は、ＮＦＣ（Near Field Communication）を含む近接センサ５５４１を含むことができる。
【０６０６】
出力部５５５０は、視覚、聴覚、または触覚などに関する出力を発生させるためのもので、ディスプレイ部５５５１、音響出力モジュール５５５２、アラーム部５５５３、およびハプティックモジュール５５５４などが含まれることができる。
【０６０７】
ディスプレイ部５５５１は、モバイル機器５５００で処理される情報を表示（出力）する。例えば、モバイル機器が通話モードの場合、通話に関連するＵＩ（User Interface）またはＧＵＩ（Graphic User Interface）を表示する。モバイル機器５５００がビデオ通話モードまたは撮影モードである場合には、撮影および/または受信した映像またはＵＩ、ＧＵＩを表示する。
【０６０８】
ディスプレイ部５５５１は、液晶ディスプレイ（Liquid Crystal Display、ＬＣＤ）、薄膜トランジスタ液晶ディスプレイ（Thin Film Transistor-Liquid Crystal Display、ＴＦＴ  ＬＣＤ）、有機発光ダイオード（Organic Light-Emitting Diode、ＯＬＥＤ）、フレキシブルディスプレイ（flexible display）、３次元ディスプレイ（3D display）のうちの少なくとも一つを含むことができる。
【０６０９】
これらのうちの一部のディスプレイは、それを通して外部を見ることができるよう、透明型または光透過型で構成されることができる。これは、透明ディスプレイと称されることができるが、上記透明ディスプレイの代表的な例としては、ＴＯＬＥＤ（Transparent OLED）などがある。ディスプレイ部５５５１の後方構造もまた光透過型構造で構成されることができる。このような構造によって、ユーザは、端末本体のディスプレイ部５５５１が占める領域を介して端末本体（body）の後方に位置するものを見ることができる。
【０６１０】
モバイル機器５５００の実現形態に応じて、ディスプレイ部５５５１が、２つ以上存在することができる。例えば、モバイル機器５５００には、複数のディスプレイ部が一つの面に離隔されたり一体に配置されることができ、また、互いに別の面にそれぞれ配置されることもある。
【０６１１】
ディスプレイ部５５５１とタッチ動作を感知するセンサ（以下、「タッチセンサ」と称する）とが、相互の層構造をなす場合（以下、「タッチスクリーン」と称する。）に、ディスプレイ部５５５１は、出力デバイス以外に、入力装置としても用いられる。タッチセンサは、例えば、タッチフィルム、タッチシート、タッチパッドなどの形態を有することができる。
【０６１２】
タッチセンサは、ディスプレイ部５５５１の特定の部位に加えられた圧力またはディスプレイ部５５５１の特定の部位に発生する静電容量などの変化を電気的な入力信号に変換するように構成されることができる。タッチセンサは、タッチされた位置および面積だけではなく、タッチ時の圧力までも検出することができるように構成されることができる。
【０６１３】
タッチセンサのタッチ入力がある場合、それに対応する信号は、タッチコントローラに送られる。タッチコントローラは、その信号を処理したあと、対応するデータを制御部５５８０に伝送する。これにより、制御部５５８０は、ディスプレイ部５５５１のいずれかの領域がタッチされたかどうかなどを知ることができるようになる。
【０６１４】
タッチスクリーンによって包み込まれるモバイル機器の内部領域または上記タッチスクリーンの近くに、近接センサ５５４１が配置されることができる。上記近接センサは、所定の検出面に接近する物体、あるいは近傍に存在する物体の有無を電磁界の力または赤外線を用いて、機械的な接触がなく、検出するセンサをいう。近接センサは、接触式のセンサより、その寿命が長く、その活用度もまた高い。
【０６１５】
近接センサの例としては、透過型光電センサ、直接反射型光電センサ、ミラー反射型光電センサ、高周波発振型近接センサ、静電容量型近接センサ、磁気型近接センサ、赤外線近接センサなどがある。上記タッチスクリーンが帯電（停電）式の場合には、上記ポインタの近接による電界の変化でポインタの近接を検出するように構成される。この場合、タッチスクリーン（タッチセンサ）は、近接センサに分類されることもできる。
【０６１６】
以下においては、説明の便宜のために、タッチスクリーン上にポインタが接触しないながら近接して、ポインタがタッチスクリーン上に位置するのが認識されるようにする行為を「近接タッチ（proximity touch）」と称し、上記タッチスクリーン上にポインタが実際に接触する行為を「接触タッチ（contact touch）」と称する。タッチスクリーン上でポインタで近接タッチされる位置とは、ポインタが近接タッチされるとき、ポインタがタッチスクリーンに対して垂直に対応する位置を意味する。
【０６１７】
近接センサは、近接タッチと、近接タッチパターン（例えば、近接タッチ距離、近接タッチ方向、近接タッチ速度、近接タッチ時間、近接タッチ位置、近接タッチ移動状態など）と、を感知する。感知された近接タッチ動作および近接タッチパターンに相応する情報は、タッチスクリーン上に出力されることができる。
【０６１８】
音響出力モジュール５５５２は、（号）信号の受信、通話モードまたは録音モードでは、音声認識モード、放送受信モードなどで、無線通信部５５１０から受信したり、メモリ５５６０に記憶されたオーディオデータを出力することができる。音響出力モジュール５５５２は、モバイル機器５５００で実行される機能（例えば、信号受信音、メッセージ受信音など）に関連する音響信号を出力したりする。このような音響出力モジュール５５５２には、レシーバ（receiver）、スピーカ（speaker）、ブザー（buzzer）などが含まれることができる。
【０６１９】
アラーム部５５５３は、モバイル機器５５００のイベントの発生を知らせるための信号を出力する。モバイル機器で発生するイベントの例としては、信号の受信、メッセージの受信、キー信号入力、タッチ入力などがある。アラーム部５５５３は、ビデオ信号やオーディオ信号以外に、他の形態、例えば、振動でイベントの発生を知らせるための信号を出力することもできる。
【０６２０】
ビデオ信号やオーディオ信号は、ディスプレイ部５５５１や音声出力モジュール５５５２からも出力されることができ、ディスプレイ部および音声出力モジュール（５５５１，５５５２）は、アラーム部５５５３の一部として分類されることもできる。
【０６２１】
ハプティックモジュール（haptic module）５５５４は、ユーザが感じることができる、様々な触覚効果を発生させる。ハプティックモジュール５５５４が発生させる触覚効果の代表的な例としては、振動がある。ハプティック（ヘプテク）モジュール５５５４が発生させる振動の強さおよびパターンなどは、制御可能である。例えば、互いに異なる振動を合成して出力したり、順次出力することもできる。
【０６２２】
ハプティックモジュール５５５４は、振動の他にも、接触皮膚面に対して垂直運動するピン配列、噴射口や吸込口を通じた空気の噴射力や吸引力、皮膚表面の擦れ、電極（electrode）の接触、静電気力などの刺激にによる効果と、吸熱や発熱可能な素子を用いた冷温感再現による効果と、などの様々な触覚効果を発生させることができる。
【０６２３】
ハプティックモジュール５５５４は、直接接触を介して触覚効果の伝達だけでなく、ユーザが指や腕などの筋感覚を介して触覚効果を感じることができるように実現することもできる。ハプティックモジュール５５５４は、モバイル機器５５００の構成態様に応じて、２つ以上が備えられることができる。
【０６２４】
メモリ５５６０は、制御部５５８０の動作のためのプログラムを記憶することができ、入力／出力されるデータ（例えば、電話帳、メッセージ、静止画、動画など）を一時的に記憶することもできる。メモリ５５６０は、上記タッチスクリーン上のタッチ入力時に出力される様々なパターンの振動および音響に関するデータを記憶することができる。
【０６２５】
メモリ５５６０は、フラッシュメモリタイプ（flash memory type）、ハードディスクタイプ（hard disk type）、マルチメディアカードマイクロタイプ（multimedia card micro type）、カードタイプのメモリ（例えば、ＳＤまたはＸＤメモリなど）、ラム（Random Access Memory、ＲＡＭ）、ＳＲＡＭ（Static Random Access Memory）、ロム（Read-Only Memory、ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＰＲＯＭ（Programmable Read-Only Memory）、磁気メモリ、磁気ディスク、光ディスクのうちの少なくとも一つのタイプのストレージ媒体を含むことができる。モバイル機器５５００は、インターネット（internet）上でメモリ５５６０の記憶機能を実行するウェブストレージ（web storage）と関連して動作することもできる。
【０６２６】
インターフェース部５５７０は、モバイル機器５５００に接続されるすべての外部機器との通信路（通路）の役割を担う。インターフェース部５５７０は、外部機器からのデータ伝送を受けたり、電源の供給を受け、モバイル機器５５００の内部の各構成要素に伝達したり、モバイル機器５５００の内部のデータが外部機器に伝送されるようにする。たとえば、有/無線ヘッドセットポート、外部充電器ポート、有/無線データポート、メモリカード（memory card）ポート、識別モジュールが備えられた装置を接続するポート、オーディオＩ/Ｏ（Input/Output）ポート、ビデオＩ/Ｏポート、イヤホンポートなどが、インターフェース部５５７０に含まれることができる。
【０６２７】
識別モジュールは、モバイル機器５５００の使用権を認証するための各種の情報を記憶したチップであって、ユーザ認証モジュール（User Identify Module、ＵＩＭ）、加入者認証モジュール（Subscriber Identify Module、ＳＩＭ）、汎用ユーザ認証モジュール（Universal Subscriber Identity Module、ＵＳＩＭ）などを含むことができる。識別モジュールが備えられた装置（以下、「識別装置」）は、スマートカード（smart card）の形式で製作されることができる。したがって、識別装置は、ポートを介して端末５５００と接続することができる。
【０６２８】
インターフェース部５５７０は、移動端末５５００が外部クレードル（cradle）と接続したとき、クレードルからの電源が移動端末５５００に供給される通信路になったり、ユーザによってクレードルから入力される各種のコマンド信号が移動端末に伝達される通信路となる。クレードルから入力される各種コマンド信号または電源は、移動端末がクレードルに正しく装着されたことを認知するための信号で動作することもできる。
【０６２９】
制御部５５８０は、通常、モバイル機器の全般的な動作を制御する。例えば、音声通話、データ通信、画像通話などのための関連制御および処理を行う。制御部５５８０は、マルチメディア再生のためのマルチメディアモジュール５５８１を備えることもできる。マルチメディアモジュール５５８１は、制御部５５８０内に実現されることもあり、制御部５５８０と別に実現されることもある。制御部５５８０、特にマルチメディアモジュール５５８１は、前述したエンコード装置１００および/またはデコード装置２００を含むことができる。
【０６３０】
制御部５５８０は、タッチスクリーン上で行われる手書き入力または絵描きの入力をそれぞれ文字および画像として認識することができるパターン認識処理を行うことができる。
【０６３１】
電源供給部５５９０は、制御部５５８０の制御により、外部の電源、内部の電源の印加を受けて、各構成要素の動作に必要な電源を供給する。
【０６３２】
ここで説明される様々な実施形態は、例えば、ソフトウェア、ハードウェア、またはこれらの組み合わせたものを用いて、コンピュータまたはこれと類似のデバイスで読むことができる記録媒体内で実現することができる。
【０６３３】
ハードウェア的な実現によると、ここに説明される実施形態は、ＡＳＩＣｓ（Application Specific Integrated Circuits）、ＤＳＰｓ（Digital Signal Processors）、ＤＳＰＤｓ（Digital Signal Processing Devices）、ＰＬＤｓ（Programmable Logic Devices）、ＦＰＧＡｓ（Field Programmable Gate Arrays）、プロセッサ、コントローラ、マイクロコントローラ（micro-controllers）、マイクロプロセッサ（microprocessors）、その他の機能を実行するための電気的なユニットのうちの少なくとも一つを用いて実現されることができる。一部のケースで、本明細書で説明される実施形態が制御部５５８０自体に実現されることができる。
【０６３４】
ソフトウェア的な実現によれば、本明細書で説明される手順および機能のような実施形態は、別のソフトウェアモジュールとして実現されることができる。ソフトウェアモジュールの各々は、本明細書で説明される１つまたは複数の機能および動作を実行することができる。適切なプログラム言語で書かれたソフトウェア・アプリケーションで、ソフトウェアのコードが実現されることができる。ここで、ソフトウェアコードは、メモリ５５６０に記憶され、制御部５５８０によって実行されることができる。
【０６３５】
図５６は、デジタル機器の他の実施形態を説明するため示した構成のブロック図である。
【０６３６】
デジタル機器５６００の他の例は、放送受信部５６０５、外部装置インターフェース部５６３５、記憶部５６４０、ユーザ入力インターフェース部５６５０、制御部５６７０、ディスプレイ部５６８０、オーディオ出力部５６８５、電源供給部５６９０、および撮影部（図示せず）を含むことができる。ここで、放送受信部５６０５は、少なくとも一つのチューナ５６１０、復調部５６２０、およびネットワークインターフェース部５５７５を含むことができる。ただし、場合によっては、放送受信部５６０５は、チューナ５６１０および復調部５６２０は備えるが、ネットワークインターフェース部５５７５は含まないことがあり、その逆の場合であり得る。また、放送受信部５６０５は、図示されなかったが、多重化部（multiplexer）を備えてチューナ５６１０を経て、復調部５６２０からの復調された信号と、ネットワークインターフェース部５５７５を経て受信した信号と、を多重化することもできる。その他の放送受信部４０２５は、やはり図示されなかったが、逆多重化部（demultiplexer）を備え、上記多重化された信号を逆多重化したり、上記復調された信号または上記ネットワークインターフェース部５５７５を経た信号を逆多重化することができる。
【０６３７】
チューナ５６１０は、アンテナを介して受信されるＲＦ（Radio Frequency）放送信号のうちのユーザによって選択されたチャネルまたは既に記憶されたすべてのチャンネルをチューニングしてＲＦ放送信号を受信する。また、チューナ５６１０は、受信したＲＦ放送信号を中間周波数（Intermediate Frequency、ＩＦ）信号あるいはベースバンド（baseband）信号に変換する。
【０６３８】
例えば、受信したＲＦ放送信号がデジタル放送信号であれば、デジタルＩＦ信号（ＤＩＦ）に変換し、アナログ放送信号であれば、アナログベースバンド映像または音声信号（ＣＶＢＳ/ＳＩＦ）に変換する。つまり、チューナ５６１０は、デジタル放送信号またはアナログ放送信号の全てを処理することができる。チューナ５６１０から出力されるアナログベースバンド映像または音声信号（ＣＶＢＳ/ＳＩＦ）は、制御部５６７０に直接入力されることができる。
【０６３９】
また、チューナ５６１０は、ＡＴＳＣ（Advanced Television System Committee）方式によるシングルキャリアのＲＦ放送信号またはＤＶＢ（Digital Video Broadcasting）方式による複数キャリアのＲＦ放送信号を受信することができる。
【０６４０】
一方、チューナ５６１０は、アンテナを介して受信されるＲＦ放送信号チャンネルの記憶機能を通じて記憶されたすべての放送チャンネルのＲＦ放送信号を順次チューニングおよび受信し、これを中間周波数信号もしくはベースバンド信号に変換することができる。
【０６４１】
復調部５６２０は、チューナ５６１０で変換されたデジタルＩＦ信号（ＤＩＦ）を受信して復調する。例えば、チューナ５６１０から出力されるデジタルＩＦ信号がＡＴＳＣ方式である場合、復調部５６２０は、例えば、８−ＶＳＢ（8-Vestigal Side Band）復調を実行する。また、復調部５６２０は、チャネル復号を実行することもできる。このため、復調部５６２０は、トレリスデコーダ（trellis decoder）、デインターリーバ（de-interleaver）、およびリードソロモンデコーダ（Reed-Solomon decoder）などを備え、トレリス復号、デインターリーブ、およびリードソロモン復号を行うことができる。
【０６４２】
例えば、チューナ５６１０から出力されるデジタルＩＦ信号がＤＶＢ方式である場合には、復調部５６２０は、例えば、ＣＯＦＤＭＡ（Coded Orthogonal Frequency Division Modulation）復調を実行する。また、復調部５６２０は、チャネルの復号を行うこともできる。このため、復調部５６２０は、コンボリューションデコーダ（convolution decoder）、デインターリーバ、およびリードソロモンデコーダなどを備え、コンボリューションン復号、デインターリーブ、およびリードソロモン復号を行うことができる。
【０６４３】
復調部５６２０は、復調およびチャネル復号を実行した後のストリーム信号（ＴＳ）を出力することができる。このとき、ストリーム信号は、映像信号、音声信号またはデータ信号が多重化された信号であり得る。一例として、ストリーム信号は、ＭＰＥＧ−２規格の映像信号、ドルビ（Dolby）ＡＣ−３規格の音声信号などが多重化されたＭＰＥＧ−２  ＴＳ（Transport Stream）であることができる。具体的には、ＭＰＥＧ−２  ＴＳは、４バイト（byte）のヘッダ（header）および１８４バイトのペイロード（payload）を含むことができる。
【０６４４】
一方、前述した復調部５６２０は、ＡＴＳＣ方式およびＤＶＢ方式に応じて、それぞれ別個に備えられることが可能である。つまり、デジタル機器は、ＡＴＳＣ復調部およびＤＶＢ復調部をそれぞれ別個に備えることができる。
【０６４５】
復調部５６２０から出力されたストリーム信号は、制御部５６７０に入力されることができる。制御部５６７０は、逆多重化、映像/音声信号処理などを制御し、ディスプレイ部５６８０を介して映像を、オーディオ出力部５６８５を介して音声の出力を、制御することができる。
【０６４６】
外部装置インターフェース部５６３５は、デジタル機器５６００に、様々な外部装置がインターフェースされるように環境を提供する。このため、外部装置インターフェース部５６３５は、Ａ/Ｖ入出力部（図示せず）または無線通信部（図示せず）を含むことができる。
【０６４７】
外部装置インターフェース部５６３５は、ＤＶＤ、（digital versatile disk）、Ｂｌｕ−ｒａｙ、ゲーム機器、カメラ、ビデオカメラ、コンピュータ（ノートパソコン、タブレット）、スマートフォン、ブルートゥース（登録商標）機器（Bluetooth device）、クラウド（cloud）などの外部装置と有/無線で接続することができる。外部装置インターフェース部５６３５は、接続された外部装置を介して外部から入力される映像、音声またはデータ（画像を含む）の信号をデジタル機器の制御部５６７０に伝達する。制御部５６７０は、処理された映像、音声、またはデータ信号を、接続された外部機器に出力されるように制御することができる。このため、外部装置インターフェース部５６３５は、Ａ/Ｖ入出力部（図示せず）または無線通信部（図示せず）をさらに含むことができる。
【０６４８】
Ａ/Ｖ入出力部は、外部装置の映像および音声信号をデジタル機器５６００に入力することができるように、ＵＳＢ端子、ＣＶＢＳ（Composite Video Banking Sync）端子、コンポーネント端子、Ｓ−ビデオ端子（アナログ）、ＤＶＩ、（Digital Visual Interface）端子、ＨＤＭＩ（High Definition Multimedia Interface）（登録商標）端子、ＲＧＢ端子、Ｄ−ＳＵＢ端子などを含むことができる。
【０６４９】
無線通信部は、他の電子機器と近距離無線通信を行うことができる。デジタル機器５６００は、例えば、ブルートゥース（Bluetooth）（登録商標）、ＲＦＩＤ（Radio Frequency IDentification）、赤外線通信（IrDA、infrared data association）、ＵＷＢ（Ultra WideBand）、ジグビ（ZigBee）、ＤＬＮＡ（Digital Living Network Alliance）（登録商標）などの通信プロトコルに応じて、他の電子機器とネットワーク接続することができる。
【０６５０】
また、外部装置インターフェース部５６３５は、さまざまなセットトップボックスと前述した各種の端子のうちの少なくとも一つを介して接続されて、セットトップボックスとの入力／出力動作を実行することもできる。
【０６５１】
一方、外部装置インターフェース部５６３５は、隣接する外部装置内のアプリケーションまたはアプリケーションのリストを受信し、制御部５６７０、または記憶部５６４０に伝達することができる。
【０６５２】
ネットワークインターフェース部５５７５は、デジタル機器５６００をインターネット網を含む有/無線ネットワークに接続するためのインターフェースを提供する。ネットワークインターフェース部５５７５は、有線ネットワークとの接続のために、例えば、イーサネット（Ethernet）（登録商標）端子などを備えることができ、無線ネットワークとの接続のために、例えば、ＷＬＡＮ（Wireless LAN）（Ｗｉ−Ｆｉ）、Ｗｉｂｒｏ（Wireless broadband）、Ｗｉｍａｘ（World interoperability for microwave access）、ＨＳＤＰＡ（High Speed Downlink Packet Access）通信規格などを用いることができる。
【０６５３】
ネットワークインターフェース部５５７５は、接続されたネットワークまたは接続されたネットワークにリンクされた他のネットワークを介して、他のユーザ、または他のデジタル機器とデータを送信または受信することができる。特に、デジタル機器５６００に予め登録された他のユーザまたは他のデジタル機器のうちの選択されたユーザまたは選択されたデジタル機器に、デジタル機器５６００に記憶された一部のコンテンツデータを送信することができる。
【０６５４】
一方、ネットワークインターフェース部５５７５は、接続されたネットワークまたは接続されたネットワークにリンクされた他のネットワークを介して、所定のウェブページに接続することができる。つまり、ネットワークを介して所定のウェブページに接続して、該当サーバとデータを送信または受信することができる。その他、コンテンツプロバイダまたはネットワーク運用者が提供するコンテンツまたはデータを受信することができる。つまり、ネットワークを介してコンテンツプロバイダまたはネットワークプロバイダから提供される映画、広告、ゲーム、ＶＯＤ、放送信号などのコンテンツおよびそれと関連する情報を受信することができる。また、ネットワーク運用者が提供するファームウェア（firmware）の更新（アップデート）情報および更新ファイルを受信することができる。また、インターネットもしくはコンテンツプロバイダまたはネットワーク運用者にデータを送信することができる。
【０６５５】
また、ネットワークインターフェース部５５７５は、ネットワークを介して、公衆に公開（open）されたアプリケーションのうちの所望するアプリケーションを選択して受信することができる。
【０６５６】
記憶部５６４０は、制御部５６７０内の各信号処理および制御のためのプログラムを記憶することができ、信号処理された映像、音声、またはデータ信号を記憶することもできる。
【０６５７】
また、記憶部５６４０は、外部装置インターフェース部５６３５またはネットワークインターフェース部５６５６から入力される映像、音声、またはデータ信号の一時（臨時）記憶のための機能を実行することもできる。記憶部５６４０は、チャンネル記憶機能を介して、所定の放送チャンネルに関する情報を記憶することができる。
【０６５８】
記憶部５６４０は、外部装置インターフェース部５６３５またはネットワークインターフェース部５５７５から入力されるアプリケーションまたはアプリケーションのリストを記憶することができる。
【０６５９】
また、記憶部５６４０は、後述して説明する様々なプラットフォーム（platform）を記憶することもできる。
【０６６０】
記憶部５６４０は、例えば、フラッシュメモリタイプ（flash memory type）、ハードディスクタイプ（hard disk type）、マルチメディアカード、マイクロタイプ（multimedia card micro type）、カードタイプのメモリ（例えば、ＳＤまたはＸＤメモリなど）、ＲＡＭ、ロム（ＥＥＰＲＯＭなど）のうちの少なくとも一つのタイプのストレージ媒体を含むことができる。デジタル機器５６００は、記憶部５６４０内に記憶されているコンテンツファイル（動画ファイル、静止画ファイル、音楽ファイル、文書ファイル、アプリケーション、ファイルなど）を再生してユーザに提供することができる。
【０６６１】
図５６は、記憶部５６４０が制御部５６７０とは別に備えられた実施形態を示しているが、本明細書の範囲はこれに限定されない。つまり、記憶部５６４０は、制御部５６７０内に含めることもできる。
【０６６２】
ユーザ入力インターフェース部５６５０は、ユーザが入力した信号を制御部５６７０に伝達したり、制御部５６７０の信号をユーザに伝達する。
【０６６３】
たとえば、ユーザ入力インターフェース部５６５０は、ＲＦ通信方式、赤外線（ＩＲ）通信方式など、様々な通信方式に応じて、遠隔制御装置５７００からの電源オン／オフ、チャンネルの選択、画面設定などの制御信号を受信して処理したり、制御部５６７０の制御信号を遠隔制御装置５７００に送信するように処理することができる。
【０６６４】
また、ユーザ入力インターフェース部５６５０は、電源キー、チャンネルキー、音量キー、設定値などのローカルキー（図示せず）から入力される制御信号を制御部５６７０に伝達することができる。
【０６６５】
ユーザ入力インターフェース部５６５０は、ユーザのジェスチャ（gesture）をセンシング（sensing）するセンシング部（図示せず）から入力される制御信号を制御部５６７０に伝達したり、制御部５６７０の信号をセンシング部（図示せず）に送信することができる。ここで、センシング部（図示せず）は、タッチセンサ、音声センサ、位置センサ、動作（動き）センサなどを含むことができる。
【０６６６】
制御部５６７０は、チューナ５６１０、復調部５６２０、または外部装置インターフェース部５６３５を介して入力されるストリームを逆多重化したり、逆多重化された信号を処理して、映像または音声出力のための信号を生成、出力することができる。制御部５６７０は、前述したエンコード装置および/またはデコード装置を含むことができる。
【０６６７】
制御部５６７０で処理された映像信号は、ディスプレイ部５６８０に入力され、その映像信号に対応する映像で表示されることができる。また、制御部５６７０で映像処理された映像信号は、外部装置インターフェース部５６３５を介して外部出力装置に入力されることができる。
【０６６８】
制御部５６７０で処理された音声信号は、オーディオ出力部５６８５にオーディオ出力することができる。また、制御部５６７０で処理された音声信号は、外部装置インターフェース部５６３５を介して外部出力装置に入力されることができる。
【０６６９】
図５６においては、示されていないが、制御部５６７０は、逆多重化部、映像処理部などを含むことができる。
【０６７０】
制御部５６７０は、デジタル機器５６００の全般的な動作を制御することができる。例えば、制御部５６７０は、チューナ５６１０を制御して、ユーザが選択したチャンネルまたは既に記憶されたチャンネルに該当するＲＦ放送をチューニング（tuning）するように制御することができる。
【０６７１】
制御部５６７０は、ユーザ入力インターフェース部５６５０を介して入力されたユーザコマンドまたは内部プログラムによってデジタル機器５６００を制御することができる。特に、ネットワークに接続して、ユーザが所望するアプリケーションまたはアプリケーションのリストをデジタル機器５６００内にダウンロードするようにすることができる。
【０６７２】
例えば、制御部５６７０は、ユーザ入力インターフェース部５６５０を介して受信した所定のチャンネル選択コマンドに応じて、選択したチャンネルの信号が入力されるようにチューナ５６１０を制御する。そして、選択したチャンネルの映像、音声またはデータ信号を処理する。制御部５６７０は、ユーザが選択したチャンネルの情報などが、処理した映像または音声信号と一緒にディスプレイ部５６８０、またはオーディオ出力部５６８５を介して出力されるようにする。
【０６７３】
他の例として、制御部５６７０は、ユーザ入力インターフェース部５６５０を介して受信した外部装置の映像の再生コマンドに応じて、外部装置インターフェース部５６３５を介して入力される外部装置、例えば、カメラやビデオカメラからの、映像信号または音声信号が、ディスプレイ部５６８０、またはオーディオ出力部５６８５を介して出力されるようにする。
【０６７４】
一方、制御部５６７０は、映像を表示するようにディスプレイ部５６８０を制御することができる。例えば、チューナ５６１０を介して入力される放送映像、または外部装置インターフェース部５６３５を介して入力される外部入力映像、またはネットワークインターフェース部から入力される映像、または記憶部５６４０に記憶された映像を、ディスプレイ部５６８０に表示するように制御することができる。このとき、ディスプレイ部５６８０に表示される映像は、静止画または動画であり得、２Ｄ映像または３Ｄ映像であり得る。
【０６７５】
また、制御部５６７０は、コンテンツを再生するように制御することができる。このときのコンテンツは、デジタル機器５６００内に記憶されたコンテンツ、または受信した放送コンテンツ、外部から入力される外部入力のコンテンツであり得る。コンテンツは、放送映像、外部入力映像、オーディオファイル、静止画、接続されたＷｅｂ画面（で、）および文書ファイルのうちの少なくとも一つであり得る。
【０６７６】
一方、制御部５６７０は、アプリケーションの見方項目に進入する場合、デジタル機器５６００内または外部ネットワークからダウンロード可能なアプリケーションまたはアプリケーションのリストを表示するように制御することができる。
【０６７７】
制御部５６７０は、さまざまなユーザインターフェースとともに、外部ネットワークからダウンロードされるアプリケーションをインストール（設置）および駆動するように制御することができる。また、ユーザの選択により、実行されるアプリケーションに関連する映像がディスプレイ部５６８０に表示されるように制御することができる。
【０６７８】
一方、図面に示しなかったが、チャンネル信号または外部入力信号に対応するサムネイル映像を生成するチャネルブラウジング処理部がさらに備えられることも可能である。
【０６７９】
チャンネルブラウジング処理部は、復調部５６２０から出力されたストリーム信号（ＴＳ）または外部装置インターフェース部５６３５から出力されたストリーム信号などの入力を受け、入力されたストリーム信号から映像を抽出して、サムネイル映像を生成することができる。
【０６８０】
生成されたサムネイル映像は、そのまま、または符号化されて制御部５６７０に入力されることができる。また、生成されたサムネイル映像は、ストリームの形で符号化されて制御部５６７０に入力されることも可能である。制御部５６７０は、入力されたサムネイル映像を用いて、複数のサムネイル映像を備えるサムネイルリストをディスプレイ部５６８０に表示することができる。一方、このようなサムネイルリスト内のサムネイル映像は、順番に、または同時に更新されることができる。これにより、ユーザは、複数の放送チャンネルのコンテンツを簡単に把握できるようになる。
【０６８１】
ディスプレイ部５６８０は、制御部５６７０で処理された映像信号、データ信号、ＯＳＤ信号または外部装置インターフェース部５６３５から受信される映像信号、データ信号などをそれぞれＲ、Ｇ、Ｂ信号に変換して駆動信号を生成する。
【０６８２】
ディスプレイ部５６８０は、ＰＤＰ、ＬＣＤ、ＯＬＥＤ、フレキシブルディスプレイ（flexible display）、３次元ディスプレイ（3D display）などが可能である。
【０６８３】
一方、ディスプレイ部５６８０は、タッチスクリーンで構成されて、出力デバイスに以外に、入力装置として用いられることも可能である。
【０６８４】
オーディオ出力部５６８５は、制御部５６７０で音声処理された信号、例えば、ステレオ信号、３．１チャンネル信号または５．１チャンネル信号の入力を受け音声で出力する。音声出力部５６８５は、多様な形態のスピーカで実現されることができる。
【０６８５】
一方、ユーザのジェスチャを感知するために、前述したように、タッチセンサ、音声センサ、位置センサ、動作センサのうちの少なくとも一つを備えるセンシング部（図示せず）が、デジタル機器５６００にさらに備えられることができる。センシング部（図示せず）で感知された信号は、ユーザ入力インターフェース部５６５０を介して制御部５６７０に伝達されることができる。
【０６８６】
一方、ユーザを撮影する撮影部（図示せず）がさらに備えられることができる。撮影部（図示せず）で撮影された映像情報は、制御部５６７０に入力されることができる。
【０６８７】
制御部５６７０は、撮影部（図示せず）から撮影された映像、またはセンシング部（図示せず）からの感知された信号を、それぞれまたは組み合わせて、ユーザのジェスチャを感知することもできる。
【０６８８】
電源供給部５６９０は、デジタル機器５６００全般にわたって該当電源を供給する。
【０６８９】
特に、システムオンチップ（System On Chip、ＳＯＣ）の形で実現することができる制御部５６７０、映像表示のためのディスプレイ部５６８０、およびオーディオ出力のためのオーディオ出力部５６８５に電源を供給ことができる。
【０６９０】
このため、電源供給部５６９０は、交流電源を直流電源に変換するコンバータ（図示せず）を備えることができる。一方、例えば、ディスプレイ部５６８０が多数のバックライトランプを備える液晶パネルとして実現される場合、輝度可変または調光（dimming）駆動のために、ＰＷＭ動作可能なインバータ（図示せず）をさらに備えることもある。
【０６９１】
遠隔制御装置５７００は、ユーザの入力をユーザ入力インターフェース部５６５０に送信する。このため、遠隔制御装置５７００は、ブルートゥース（Bluetooth）、ＲＦ（Radio Frequency）通信、赤外線（ＩＲ）通信、ＵＷＢ（Ultra WideBand）、ジグビ（ZigBee）方式などを用いる。
【０６９２】
また、遠隔制御装置５７００は、ユーザ入力インターフェース部５６５０から出力された映像、音声、またはデータ信号などを受信して、これを遠隔制御装置５７００で表示したり、音声または振動を出力することができる。
【０６９３】
前述したデジタル機器５６００は、固定型または移動型のＡＴＳＣ方式またはＤＶＢ方式のデジタル放送信号の処理が可能なデジタル放送受信器であり得る。
【０６９４】
その他、本明細書に従ったデジタル機器は、図示された構成のうちの必要に応じて、一部の構成を省略したり、逆に示さない構成をさらに含むこともできる。一方、デジタル機器は、前述したものと異なり、チューナおよび復調部を備えず、ネットワークインターフェース部または外部装置インターフェース部を介してコンテンツを受信して再生することもある。
【０６９５】
図５７は、図５４〜図５６の制御部の詳細構成の一実施形態を説明するため示した構成のブロック図である。
【０６９６】
制御部の一例は、逆多重化部５７１０、映像処理部５７２０、ＯＳＤ（On-Screen Display）生成部５７４０、ミキサ（mixer）５７５０、フレームレート変換部（Frame Rate Converter、ＦＲＣ）５７５５、およびフォーマッタ（formatter）５７６０を含むことができる。その他、上記制御部は、示さなかったが音声処理部およびデータ処理部をさらに含むことができる。
【０６９７】
逆多重化部５７１０は、入力されるストリームを逆多重化する。例えば、逆多重化部５７１０は、入力されたＭＰＥＧ−２  ＴＳの映像、音声およびデータ信号を逆多重化することができる。ここで、逆多重化部５７１０に入力されるストリーム信号は、チューナまたは復調部または外部装置インターフェース部から出力されるストリーム信号であり得る。
【０６９８】
映像処理部５７２０は、逆多重化された映像信号の映像処理を行う。このため、映像処理部５７２０は、映像デコーダ５７２５およびスケーラ５７３５を備えることができる。
【０６９９】
映像デコーダ５７２５は、逆多重化された映像信号を復号し、スケーラ５７３５は、復号された映像信号の解像度を、ディスプレイ部に出力できるようにスケーリング（scaling）する。
【０７００】
映像デコーダ５７２５は、様々な規格をサポートすることができる。例えば、映像デコーダ５７２５は、映像信号がＭＰＥＧ−２規格で符号化された場合には、ＭＰＥＧ−２デコーダの機能を実行し、映像信号がＤＭＢ（Digital Multimedia Broadcasting）方式またはＨ．２６４規格で符号化された場合には、Ｈ．２６４デコーダの機能を実行することができる。
【０７０１】
一方、映像処理部５７２０で復号された映像信号は、ミキサ５７５０に入力される。
【０７０２】
ＯＳＤ生成部５７４０は、ユーザの入力に応じて、または自律的（自体的）に、ＯＳＤデータを生成する。例えば、ＯＳＤ生成部５７４０は、ユーザ入力インターフェース部の制御信号に基づいて、ディスプレイ部４１８０の画面に各種データをグラフィック（graphic）やテキスト（text）の形で表示するためのデータを生成する。生成されるＯＳＤデータは、デジタル機器のユーザインターフェース画面、さまざまなメニュー画面、ウィジェット（widget）、アイコン（icon）、視聴率情報（viewing rate information）などのさまざまなデータを含む。
【０７０３】
ＯＳＤ生成部５７４０は、放送映像の字幕またはＥＰＧに基づいた放送情報を表示するためのデータを生成することもできる。
【０７０４】
ミキサ５７５０は、ＯＳＤ生成部５７４０で生成されたＯＳＤデータと映像処理部で画像処理された映像信号とをミキシングしてフォーマッタ５７６０に提供する。復号された映像信号とＯＳＤデータとがミキシングされることにより、放送映像または外部入力映像上にＯＳＤがオーバーレイ（overlay）されて表示される。
【０７０５】
フレームレート変換部（ＦＲＣ）５７５５は、入力される映像のフレームレート（frame rate）を変換する。例えば、フレームレート変換部５７５５は、入力される６０Ｈｚの映像のフレームレートを、ディスプレイ部の出力周波数に応じて、例えば、１２０Ｈｚまたは２４０Ｈｚのフレームレートを有するように変換することができる。上記のように、フレームレートを変換する方法には、様々な方法が存在することができる。一例として、フレームレート変換部５７５５は、フレームレートを６０Ｈｚから１２０Ｈｚに変換する場合、第１フレームと第２フレームとの間に、同じ第１フレームを挿入したり、第１フレームおよび第２フレームから予測された第３フレームを挿入することにより、変換することができる。他の例として、フレームレート変換部５７５５は、フレームレートを６０Ｈｚから２４０Ｈｚに変換する場合、既存のフレームの間に同じフレームまたは予測されたフレームを３つ以上挿入して変換することができる。一方、別のフレーム変換を実行しない場合には、フレームレート変換部５７５５をバイパス（bypass）することもできる。
【０７０６】
フォーマッタ５７６０は、入力されるフレームレート変換部５７５５の出力をディスプレイ部の出力フォーマットに合わせて変更する。たとえば、フォーマッタ５７６０は、Ｒ、Ｇ、Ｂ、データ信号を出力することができ、このようなＲ、Ｇ、Ｂデータ信号は、低電圧差分信号（Low Voltage Differential Signaling、ＬＶＤＳ）またはｍｉｎｉ−ＬＶＤＳで出力されることができる。また、フォーマッタ５７６０は、入力されるフレームレート変換部５７５５の出力が３Ｄ映像信号である場合には、ディスプレイ部の出力フォーマットに合わせて３Ｄ形状で構成して出力することにより、ディスプレイ部を通じて３Ｄサービスをサポートすることもできる。
【０７０７】
一方、制御部内の音声処理部（図示せず）は、逆多重化された音声信号の音声処理を実行することができる。このような音声処理部（図示せず）は、さまざまなオーディオフォーマットを処理するようにサポートすることができる。一例として、音声信号が、ＭＰＥＧ−２、ＭＰＥＧ−４、ＡＡＣ、ＨＥ−ＡＡＣ、ＡＣ−３、ＢＳＡＣなどのフォーマットで符号化された場合、これに対応するデコーダを備えて処理することができる。
【０７０８】
また、制御部内の音声処理部（図示せず）は、ベース（base）、トレブル（treble）、音量調節などを処理することができる。
【０７０９】
制御部内のデータ処理部（図示せず）は、逆多重化されたデータ信号のデータ処理を実行することができる。例えば、データ処理部は、逆多重化されたデータ信号が符号化された場合でも、これを復号することができる。ここで、符号化されたデータ信号は、各チャンネルで放映される放送番組の開始時刻、終了時刻などの放送情報が含まれるＥＰＧ情報であり得る。
【０７１０】
一方、前述したデジタル機器は、本明細書に従った例として、各構成要素が、実際に実現されるデジタル機器の仕様に応じて、統合、追加、または省略されることができる。つまり、必要に応じて、２以上の構成要素が１つの構成要素に合わせられたり、１つの構成要素が２以上の構成要素に細分化されることができる。また、各ブロックで実行される機能は、本明細書の実施形態を説明するためのものであり、その具体的な動作や装置は、本明細書の権利範囲を制限しない。
【０７１１】
一方、デジタル機器は、装置内に記憶された映像または入力される映像の信号処理を実行する映像信号処理装置であり得る。映像信号処理装置の他の例としては、図６５で示されたディスプレイ部６５８０およびオーディオ出力部６５８５が除外されたセットトップボックス（ＳＴＢ）、前述したＤＶＤプレーヤ、Ｂｌｕ−ｒａｙ（登録商標）プレーヤ、ゲーム機器、コンピュータなどがさらに例示されることができる。
【０７１２】
図５８は、一実施形態に係る、デジタル機器のスクリーンがメイン映像（main image）と補助映像（sub image）とを同時に表示する一例を示す図である。
【０７１３】
一実施形態に係るデジタル機器は、スクリーン５８００に、メイン映像５８１０と補助映像５８２０とを同時に表示することができる。メイン映像５８１０は、第１映像と呼ばれることができ、補助映像５８２０は、第２映像と呼ばれることができる。メイン映像５８１０および補助映像５８２０は、動画、スチール・イメージ、ＥＰＧ（Electronic Program Guide）、ＧＵＩ（Graphical User Interface）、ＯＳＤ（On-Screen Display）などを含むことができ、これに限定されない。メイン映像５８１０は、電子装置のスクリーン５８００に補助映像５８２０とともに表示されながら、電子装置のスクリーン５８００よりもサイズが相対的に小さい映像を意味することができ、ＰＩＰ（Picture In Picture）で指すこともある。図５８においては、メイン映像５８１０がデジタル機器のスクリーン５８００の左上端に表示されるものとして示されているが、メイン映像５８１０が表示される位置は、これに限定されず、メイン映像５８１０は、デジタル機器のスクリーン５８００内の任意の位置で表示されることができる。
【０７１４】
メイン映像５８１０と補助映像５８２０とは、互に直接または間接的に関連することができる。一例例として、メイン映像５８１０は、ストリーミング（streaming）動画であり、補助映像５８２０は、ストリーミング動画と類似の情報を含む動画のサムネイル（thumbnail）を順次表示するＧＵＩであり得る。他の例として、メイン映像５８１０は、放送映像（broadcasted image）であり、補助映像５８２０は、ＥＰＧであり得る。さらに他の例として、メイン映像５８１０は、放送映像であり、補助映像５８２０は、ＧＵＩであり得る。メイン映像５８１０および補助映像５８２０の例は、これに限定されない。
【０７１５】
一実施形態において、メイン映像５８１０は、放送チャンネル（broadcasting channel）を介して受信した放送映像（broadcasting image）であり、補助映像５８２０は、放送チャンネルを介して受信した放送映像に関する情報であり得る。放送チャンネルを介して受信した放送映像と関連する情報は、例えば、総合チャンネル番組表、番組の詳細情報などを含むＥＰＧ情報、放送番組の再ビュー情報などを含むことができ、これに限定されない。
【０７１６】
他の一実施形態において、メイン映像５８１０は、放送チャンネルを介して受信した放送映像であり、補助映像５８２０は、デジタル機器に既に記憶された情報に基づいて生成された映像であり得る。デジタル機器に既に記憶された情報に基づいて生成された映像は、例えば、ＥＰＧの基本ＵＩ（User Interface）、基本チャンネル情報、映像の解像度（resolution）操作ＵＩ、就寝予約ＵＩなどを含むことができ、これに限定されない。
【０７１７】
さらに他の一実施形態において、メイン映像５８１０は、放送チャンネルを介して受信した放送映像であり、補助映像５８２０は、ネットワーク網を介して受信した、放送映像と関連する情報であり得る。ネットワーク網を介して受信した、放送映像と関連する情報は、例えば、ネットワークに基づいた検索エンジンを介して獲得された情報であり得る。より具体的には、例えば、ネットワークに基づいた検索エンジンを介して現在のメイン映像５８１０に表示されている登場人物に関する情報が獲得されることができる。
【０７１８】
しかしながら、例示は、これに限定されず、ネットワーク網を介して受信した、放送映像と関連する情報は、例えば、人工知能（Artificial Intelligence、ＡＩ）システムを用いることにより、獲得することができる。より具体的には、例えば、ネットワークベースのディープラーニング（deep-learning）を用いて、現在のメイン映像５８１０に表示されている場所の地図上の推定位置（estimated-location in map）が獲得されることができ、デジタル機器は、ネットワーク網を介して、現在のメイン映像５８１０に表示されている場所の地図上の推定位置に関する情報を受信することができる。
【０７１９】
一実施形態に係るデジタル機器は、外部からメイン映像５８１０の映像情報および補助映像５８２０の映像情報のうちの少なくとも一つを受信することができる。メイン映像５８１０の映像情報は、例えば、放送チャンネル（broadcasting channel）を介して受信した放送信号（broadcasting signal）、メイン映像５８１０のソースコード（source code）情報、ネットワーク網を介して受信したメイン映像５８１０のＩＰパケット（internet protocol packet）情報などを含むことができ、これに限定されない。同様に、補助映像５８２０の映像情報は、例えば、放送チャンネルを介して受信した放送信号、補助映像５８２０のソースコード情報、ネットワーク網を介して受信した補助映像５８２０のＩＰパケットの情報などを含むことができ、これに限定されない。デジタル機器は、外部から受信したメイン映像５８１０の映像情報または補助映像５８２０の映像情報をデコードして用いることができる。ただし、場合によって、デジタル機器は、メイン映像５８１０の映像情報または補助映像５８２０の映像情報を内部に自主的に記憶していることもある。
【０７２０】
デジタル機器は、メイン映像５８１０の映像情報および補助映像５８２０に関連する情報に基づいて、メイン映像５８１０および補助映像５８２０をデジタル機器のスクリーン５８００に表示することができる。
【０７２１】
一例として、デジタル機器のデコード装置２００は、メイン映像デコード装置および補助映像デコード装置を含み、メイン映像デコード装置および補助映像デコード装置は、それぞれ、メイ映像５８１０の映像情報および補助映像５８２０の映像情報をデコードすることができる。レンダラは、メイン映像レンダラ（第１レンダラ）および補助映像レンダラ（第２レンダラ）を含み、メイン映像レンダラは、メイン映像デコード装置でデコードされた情報に基づいて、メイン映像５８１０をデジタル機器のスクリーン５８００の第１領域に表示されるようにすることができ、補助映像レンダラは、補助映像デコード装置でデコードされた情報に基づいて補助映像５８２０をデジタル機器のスクリーン５８００の第２領域に表示されるようにすることができる。
【０７２２】
さらに異なる例において、デジタル機器のデコード装置２００は、メイン映像５８１０の映像情報および補助映像５８２０の映像情報をデコードすることができる。デコード装置２００でデコードされた情報に基づいて、レンダラは、メイン映像５８１０および補助映像５８２０を一緒に処理して、同時に、デジタル機器のスクリーン５８００に表示されるようにすることができる。
【０７２３】
すなわち、本文書によると、デジタル機器からの映像サービスの処理方法を提供することができる。上記映像サービスの処理方法によると、映像情報を受信するステップと、上記画像情報に基づいて（メイン）映像をデコードするステップと、デコードされた映像をディスプレイ内の第１領域にレンダリングまたは表示するステップと、ディスプレイ内の第２領域に補助映像をレンダリングまたは表示するするステップを含むことができる。この場合、第１映像をデコードするステップは、前述した図３に従ったデコード装置２００からのデコード手順に従うことができる。例えば、前述したように、第１映像をデコードするステップは、インターまたはイントラ予測に基づいて、現ブロックの予測サンプルを導出するステップと、受信した残差情報に基づいて、現ブロックの残差サンプルを導出するステップ（省略可能）と、予測サンプルおよび／または残差サンプルに基づいて復元サンプルを生成するステップと、を含むことができる。さらに、第１映像をデコードするステップは、復元サンプルを含む復元ピクチャにインループフィルタの手順を実行することを含むこともある。
【０７２４】
例えば、上記補助画像は、ＥＰＧ（Electronic Program Guide）、ＯＳＤ（On Screen Display）、またはＧＵＩ（Graphic User Interface）であり得る。例えば、上記映像情報は、放送網（broadcast network）を介して受信され、上記補助映像に関する情報は、上記放送網を介して受信されることができる。例えば、上記の映像情報は、通信網（communication network）を介して受信され、上記補助映像に関する情報は、上記通信網を介して受信されることができる。例えば、上記映像情報は、放送網を介して受信され、上記補助映像に関する情報は、通信網を介して受信されることができる。例えば、上記映像情報は、放送網または通信網を介して受信され、上記補助映像に関する情報は、上記デジタル機器内の記憶媒体に記憶されていることができる。
【０７２５】
以上で説明した実施形態は、本発明の構成要素および特徴が所定の形態で結合されたものである。各構成要素または特徴は、別の明示的な言及がない限り選択的なもので考慮されるべきである。各構成要素または特徴は、他の構成要素や特徴と結合されない形態で実施されることができる。また、一部の構成要素および/または特徴を結合して、本発明の実施形態を構成することも可能である。本発明の実施形態で説明される動作の順序は、変更されることができる。どの実施形態の一部の構成や特徴も、他の実施形態に含まれることができ、または他の実施形態に対応する構成または特徴と代替（交替）されることができる。特許請求の範囲で明示的な引用関係がない請求項を結合して実施形態を構成したり、出願後の補正により新しい請求項として含めることができることは自明である。
【０７２６】
本発明に係る実施形態は、様々な手段、例えば、ハードウェア、ファームウェア（firmware）、ソフトウェアまたはそれらの組み合わせなどにより実現されることができる。ハードウェアによる実現の場合、本発明の一実施形態は、一つまたは複数のＡＳＩＣｓ（Application Specific Integrated Circuits）、ＤＳＰｓ（Digital Signal Processors）、ＤＳＰＤｓ（Digital Signal Processing Devices）、ＰＬＤｓ（Programmable Logic Devices）、ＦＰＧＡｓ（Field Programmable Gate Arrays）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどにより実現されることができる。
【０７２７】
ファームウェアやソフトウェアによる実装の場合、本発明の一実施形態は、以上で説明した機能や動作を実行するモジュール、プロシージャ、関数などの形態で具現されることができる。ソフトウェアコードは、メモリに記憶されてプロセッサによって駆動されることができる。上記メモリは、上記プロセッサの内部または外部に位置して、既に公知の多様な手段により、上記プロセッサとデータを送受信することができる。
【０７２８】
本発明は、本発明の必須の特徴を逸脱しない範囲で他の特定の形態で具体化されることができることは当業者に自明である。したがって、前述した詳細な説明は、すべての面で制限的に解釈してはならず、例示的なものとして考慮するべきである。本発明の範囲は、添付された請求項の合理的解釈によって決定されるべきで、本発明の等価的範囲内におけるすべての変更は、本発明の範囲に含まれる。
【産業上の利用可能性】
【０７２９】
以上、前述した本発明の好ましい実施形態は、例示の目的のために開示されたもので、当業者であれば、以下、添付された特許請求の範囲に開示された本発明の技術的思想およびその技術的範囲内で、様々な他の実施形態の改良、変更、代替または付加などが可能である。
【図１】
2021515484.tif 000051
【図２】
2021515484.tif 000052
【図３】
2021515484.tif 000053
【図４】
2021515484.tif 000054
【図５】
2021515484.tif 000055
【図６】
2021515484.tif 000056
【図７】
2021515484.tif 000057
【図８】
2021515484.tif 000058
【図９】
2021515484.tif 000059
【図１０】
2021515484.tif 000060
【図１１】
2021515484.tif 000061
【図１２】
2021515484.tif 000062
【図１３】
2021515484.tif 000063
【図１４】
2021515484.tif 000064
【図１５】
2021515484.tif 000065
【図１６】
2021515484.tif 000066
【図１７】
2021515484.tif 000067
【図１８】
2021515484.tif 000068
【図１９】
2021515484.tif 000069
【図２０（ａ）】
2021515484.tif 000070
【図２０（ｂ）】
2021515484.tif 000071
【図２１】
2021515484.tif 000072
【図２２】
2021515484.tif 000073
【図２３】
2021515484.tif 000074
【図２４】
2021515484.tif 000075
【図２５】
2021515484.tif 000076
【図２６】
2021515484.tif 000077
【図２７】
2021515484.tif 000078
【図２８】
2021515484.tif 000079
【図２９】
2021515484.tif 000080
【図３０】
2021515484.tif 000081
【図３１】
2021515484.tif 000082
【図３２】
2021515484.tif 000083
【図３３】
2021515484.tif 000084
【図３４】
2021515484.tif 000085
【図３５】
2021515484.tif 000086
【図３６】
2021515484.tif 000087
【図３７（ａ）】
2021515484.tif 000088
【図３７（ｂ）】
2021515484.tif 000089
【図３７（ｃ）】
2021515484.tif 000090
【図３７（ｄ）】
2021515484.tif 000091
【図３８（ａ）】
2021515484.tif 000092
【図３８（ｂ）】
2021515484.tif 000093
【図３８（ｃ）】
2021515484.tif 000094
【図３８（ｄ）】
2021515484.tif 000095
【図３９】
2021515484.tif 000096
【図４０】
2021515484.tif 000097
【図４１】
2021515484.tif 000098
【図４２】
2021515484.tif 000099
【図４３】
2021515484.tif 000100
【図４４】
2021515484.tif 000101
【図４５】
2021515484.tif 000102
【図４６】
2021515484.tif 000103
【図４７】
2021515484.tif 000104
【図４８】
2021515484.tif 000105
【図４９】
2021515484.tif 000106
【図５０】
2021515484.tif 000107
【図５１】
2021515484.tif 000108
【図５２】
2021515484.tif 000109
【図５３】
2021515484.tif 000110
【図５４】
2021515484.tif 000111
【図５５】
2021515484.tif 000112
【図５６】
2021515484.tif 000113
【図５７】
2021515484.tif 000114
【図５８】
2021515484.tif 000115
【国際調査報告】
2021515484.tif 000116
2021515484.tif 000117
2021515484.tif 000118
2021515484.tif 000119