(57)【要約】【課題】ビットストリームにおいて付加拡張情報を使用及び提供するための技術を提供すること。【解決手段】特定の実施形態において、ＳＥＩメッセージは、ピクチャ・ソース・データ（例えば、関連ピクチャがプログレッシブ・スキャン・ピクチャであるか又はインタレース・スキャン・ピクチャであるかを示すデータ、及び／又は、関連ピクチャが複製ピクチャであるかどうかを示すデータ）を含む。ＳＥＩメッセージはまた、このピクチャ・ソース・データの正確性におけるエンコーダの相対的信頼性の信頼性レベルを明示し得る。デコーダは、信頼性レベル・インジケーションを使用して、デコーダがピクチャをプログレッシブ又はインタレースとして独立に識別すべきかどうか、及び／又は、複製ピクチャを識別すべきかどうかを判定することができる、あるいは、ＳＥＩ内のピクチャ・ソース・スキャニング情報をありのままに有効なものとして受け取ることができる。【選択図】図５
2018182770.tif 000002
【特許請求の範囲】
【請求項１】
エンコーダ・デバイスにより実行される方法であって、
ビットストリーム又はビットストリーム部分におけるピクチャのシーケンスを符号化する符号化ステップであって、
前記符号化ステップは、前記ビットストリーム又は前記ビットストリーム部分における、前記ピクチャのシーケンスのソース・スキャン・タイプを識別するためのシンタックス要素を符号化することを含み、
前記シンタックス要素は、集合的に、前記シーケンスにおける前記ピクチャがインタレース・スキャン・タイプであることを示す状態、前記シーケンスにおける前記ピクチャがプログレッシブ・スキャン・タイプであることを示す状態、前記シーケンスにおける前記ピクチャが未知のソース・スキャン・タイプであることを示す状態、及び、ソース・スキャン・タイプが、ピクチャ・タイミングＳＥＩメッセージ内のピクチャ・レベル・シンタックス要素により、前記シーケンスの各ピクチャにおいて独立して示されることを示す状態、という利用可能な状態のうちの１つを示し、
前記シンタックス要素は、１以上のピクチャがインタレース・スキャン・タイプであるかどうかを示す第１のフラグと、前記第１のフラグとは異なり前記第１のフラグとは別個のシンタックス要素である第２のフラグであって、前記１以上のピクチャがプログレッシブ・スキャン・タイプであるかどうかを示す第２のフラグと、を含む、
符号化ステップと、
前記ビットストリーム又は前記ビットストリーム部分を出力するステップと、
を含む、方法。
【請求項２】
前記符号化ステップは、前記ピクチャのうちの１以上が複製ピクチャであるかどうかを示す複製ピクチャ・フラグを符号化することをさらに含む、請求項１記載の方法。
【請求項３】
前記符号化ステップは、前記ピクチャのうちの１以上がビデオ・タイプの混合を含むかどうかを示す混合データ・フラグを符号化することをさらに含む、請求項１記載の方法。
【請求項４】
デコーダ・デバイスにより実行される方法であって、
ビットストリーム又はビットストリーム部分におけるピクチャのシーケンスを受信する受信ステップであって、
前記ビットストリーム又は前記ビットストリーム部分は、前記ピクチャのシーケンスのソース・スキャン・タイプを識別するためのシンタックス要素をさらに含み、
前記シンタックス要素は、集合的に、前記シーケンスにおける前記ピクチャがインタレース・スキャン・タイプであることを示す状態、前記シーケンスにおける前記ピクチャがプログレッシブ・スキャン・タイプであることを示す状態、前記シーケンスにおける前記ピクチャが未知のソース・スキャン・タイプであることを示す状態、及び、ソース・スキャン・タイプが、ピクチャ・タイミングＳＥＩメッセージ内のピクチャ・レベル・シンタックス要素により、前記シーケンスの各ピクチャにおいて独立して示されることを示す状態、という利用可能な状態のうちの１つを示し、
前記シンタックス要素は、１以上のピクチャがインタレース・スキャン・タイプであるかどうかを示す第１のフラグと、前記第１のフラグとは異なり前記第１のフラグとは別個のシンタックス要素である第２のフラグであって、前記１以上のピクチャがプログレッシブ・スキャン・タイプであるかどうかを示す第２のフラグと、を含む、
受信ステップと、
前記１以上のピクチャを復号化するステップと、
１以上のシンタックス要素において識別されたソース・スキャン・タイプに従って、前記の復号化された１以上のピクチャを処理するステップと、
を含む、方法。
【請求項５】
前記ビットストリーム又は前記ビットストリーム部分は、前記ピクチャのうちの１以上が複製ピクチャであるかどうかを示す複製ピクチャ・フラグをさらに含む、請求項４記載の方法。
【請求項６】
前記ビットストリーム又は前記ビットストリーム部分は、前記ピクチャのうちの１以上がビデオ・タイプの混合を含むかどうかを示す混合データ・フラグをさらに含む、請求項４記載の方法。
【請求項７】
コンピュータ実行可能命令を記憶した有体のコンピュータ読み取り可能媒体であって、前記コンピュータ実行可能命令は、コンピューティング・デバイスに方法を実行させ、前記方法は、
ビットストリーム又はビットストリーム部分におけるピクチャを符号化する符号化ステップであって、
前記符号化ステップは、前記ビットストリーム又は前記ビットストリーム部分における、ソース・インジケータと、エンコーダにより割り当てられた別個の信頼性レベル・インジケータと、を含むメッセージを符号化することを含み、
前記ソース・インジケータは、前記ピクチャがインタレース・スキャン・ピクチャとして符号化されているか又はプログレッシブ・スキャン・ピクチャとして符号化されているかを示し、
前記信頼性レベル・インジケータは、前記ソース・インジケータが正確であることの確実性のレベルを示す、
符号化ステップと、
前記ビットストリーム又は前記ビットストリーム部分を出力するステップと、
を含む、有体のコンピュータ読み取り可能媒体。
【請求項８】
前記メッセージは、前記ピクチャが複製ピクチャであるかどうかを示す複製ピクチャ・フラグと、前記ピクチャがビデオ・タイプの混合を含むかどうかを示す混合データ・フラグと、のうちの１以上をさらに含む、請求項７記載の有体のコンピュータ読み取り可能媒体。
【請求項９】
前記信頼性レベル・インジケータは、２以上の信頼性レベルを含む、請求項７記載の有体のコンピュータ読み取り可能媒体。
【請求項１０】
前記信頼性レベル・インジケータは、４つの信頼性レベルを含み、前記４つの信頼性レベルのうちの第１の信頼性レベルは、前記ソース・インジケータが正確であることをシグナリングし、前記４つの信頼性レベルのうちの第２の信頼性レベルは、前記ソース・インジケータが正確である可能性が高いことをシグナリングし、前記４つの信頼性レベルのうちの第３の信頼性レベルは、前記ソース・インジケータが正確でない可能性が高いことを示し、前記４つの信頼性レベルのうちの第４の信頼性レベルは、前記ソース・インジケータが正確でないことを示す、請求項９記載の有体のコンピュータ読み取り可能媒体。
【請求項１１】
コンピュータ実行可能命令を記憶した有体のコンピュータ読み取り可能媒体であって、前記コンピュータ実行可能命令は、コンピューティング・デバイスに方法を実行させ、前記方法は、
ピクチャについての符号化されたデータを含むビットストリーム又はビットストリーム部分を受信する受信ステップであって、
前記符号化されたデータは、前記ピクチャがインタレース・スキャン・ピクチャであるか又はプログレッシブ・スキャン・ピクチャであるかを示すソース・フォーマット・インジケータと、前記ソース・フォーマット・インジケータが正確であることの確実性のレベルを示す、エンコーダにより割り当てられた別個の信頼性レベル・インジケータと、を含むメッセージを含む、
受信ステップと、
前記ピクチャを復号化するステップと、
前記メッセージにより示されるソース・フォーマットに従って、前記ピクチャを処理するステップと、
を含む、有体のコンピュータ読み取り可能媒体。
【請求項１２】
前記メッセージは、前記ピクチャが複製ピクチャであるかどうかを示す複製ピクチャ・フラグと、前記ピクチャがビデオ・タイプの混合を含むかどうかを示す混合データ・フラグと、のうちの１以上をさらに含む、請求項１１記載の有体のコンピュータ読み取り可能媒体。
【請求項１３】
前記信頼性レベル・インジケータは、２以上の信頼性レベルを含む、請求項１１記載の有体のコンピュータ読み取り可能媒体。
【請求項１４】
前記信頼性レベル・インジケータは、４つの信頼性レベルを含み、前記４つの信頼性レベルのうちの第１の信頼性レベルは、前記ソース・フォーマット・インジケータが正確であることをシグナリングし、前記４つの信頼性レベルのうちの第２の信頼性レベルは、前記ソース・フォーマット・インジケータが正確である可能性が高いことをシグナリングし、前記４つの信頼性レベルのうちの第３の信頼性レベルは、前記ソース・フォーマット・インジケータが正確でない可能性が高いことを示し、前記４つの信頼性レベルのうちの第４の信頼性レベルは、前記ソース・フォーマット・インジケータが正確でないことを示す、請求項１３記載の有体のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、ビデオ符号化及びビデオ復号化に関し、詳細には、ビットストリームにおいて付加拡張情報を使用及び提供するためのツール及び技術に関する。
【背景技術】
【０００２】
エンジニアは、デジタル・ビデオのビット・レートを低減させるために、圧縮（ソース符号化とも呼ばれる）を使用する。圧縮は、ビデオ情報をより低いビット・レート形式に変換することにより、ビデオ情報を記憶して伝送するコストを低減させる。伸張（復号化とも呼ばれる）は、圧縮形式からオリジナル情報のバージョンを再構築する。「コーデック」はエンコーダ／デコーダ・システムである。
【０００３】
ここ２０年の間、Ｈ．２６１規格、Ｈ．２６２（ＭＰＥＧ−２又はＩＳＯ／ＩＥＣ  １３８１８−２）規格、Ｈ．２６３規格、及びＨ．２６４（ＡＶＣ又はＩＳＯ／ＩＥＣ  １４４９６−１０）規格、並びに、ＭＰＥＧ−１（ＩＳＯ／ＩＥＣ  １１１７２−２）規格、ＭＰＥＧ−４  Ｖｉｓｕａｌ（ＩＳＯ／ＩＥＣ  １４４９６−２）規格、及びＳＭＰＴＥ  ４２１Ｍ（ＶＣ−１）規格を含む様々なビデオ・コーデック規格が採用されてきた。より最近では、ＨＥＶＣ（Ｈ．２６５）規格を策定中である。ビデオ・コーデック規格は、通常、特定の機能が符号化及び復号化において使用されるときの、符号化ビデオ・ビットストリームのシンタックスのためのオプション、ビットストリームにおける詳細パラメータを定義している。多くの場合、ビデオ・コーデック規格はまた、デコーダが復号化において正しい結果を達成するために実行すべき復号化オペレーションに関する詳細を提供している。
【発明の概要】
【０００４】
とりわけ、詳細な説明は、付加拡張情報（ＳＥＩ）を有するビットストリームのためのイノベーションを提供する。特定の実施形態において、ＳＥＩメッセージは、ピクチャ・ソース・データ（例えば、関連未圧縮ピクチャがプログレッシブ・スキャン・ピクチャ又はインタレース・スキャン・ピクチャであるかを示すデータ、及び／又は関連ピクチャが複製ピクチャであるかどうかを示すデータ）を含み、ＳＥＩメッセージはまた、このピクチャ・ソース・データのフォーマットの正確性におけるエンコーダの相対的信頼性の信頼性レベルを明示し得る。デコーダは、信頼性レベル・インジケーションを使用して、デコーダがピクチャをプログレッシブ又はインタレースとして独立に識別すべきかどうか、及び／又は示される複製ピクチャを識別すべきかどうかを判定することができる。
【０００５】
所定の実施例において、ＳＥＩメッセージはまた、関連ピクチャが混合データ（例えば、インタレース・データとプログレッシブ・データとの混合）を含むかどうかを示すためのインジケータを含む。そのようなイノベーションは、符号化ビットストリーム又はビットストリーム部分をどのように処理するかを柔軟に決定するビデオ復号化システムの能力を向上させるのに役立ち得る。
【０００６】
本発明の前述の目的及び他の目的、特徴、並びに利点が、添付の図面を参照しながら進む以下の詳細な説明からより明らかになるであろう。
【図面の簡単な説明】
【０００７】
【図１】いくつかの説明する実施形態を実装することができる例示的なコンピューティング・システムの図。
【図２ａ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図２ｂ】いくつかの説明する実施形態を実装することができる例示的なネットワーク環境の図。
【図３】いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システムの図。
【図４】いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システムの図。
【図５】開示する技術の実施形態に従った、付加拡張情報を使用するための第１の例示的な方法のフローチャート。
【図６】開示する技術の実施形態に従った、付加拡張情報を使用するための第１の例示的な方法のフローチャート。
【発明を実施するための形態】
【０００８】
詳細な説明は、付加拡張情報（ＳＥＩ）を有するビットストリームを符号化及び復号化するためのイノベーションを提供する。詳細には、詳細な説明は、ピクチャがプログレッシブ・スキャン・ピクチャ又はインタレース・スキャン・ピクチャであるかを示す、ＳＥＩメッセージ内のシンタックス要素又はフラグの正確性における信頼性を示す信頼性レベル・インジケータをピクチャのＳＥＩメッセージが含む実施形態を説明する。いくつかの実施形態において、１以上のシンタックス要素は組み合わされて、１以上の関連ピクチャが、プログレッシブ・スキャンであるか、インタレース・スキャンであるか、あるいは未知のソースのものであるかを明示することができる。所定の実施形態において、ＳＥＩメッセージは、関連ピクチャがデータの混合を含むかどうか、及び／又は関連ピクチャが複製ピクチャであるかどうかを示すためのフラグをさらに含む。
【０００９】
本明細書で説明するイノベーションのいくつかは、ＨＥＶＣ規格に固有のシンタックス要素及びオペレーションを参照して示される。例えば、ＨＥＶＣ規格の所定のドラフト・バージョン、すなわち、ＨＥＶＣ規格のドラフト・バージョンＪＣＴＶＣ−Ｉ１００３（２０１２年７月にストックホルムで開催された第１０回会合の”High  efficiency  video  coding  (HEVC)  text  specification  draft  8”,  JCTVC-I1003_d8）、及びＨＥＶＣ規格のドラフト・バージョンＪＣＴＶＣ−Ｌ１００３（２０１３年１月１４日〜２３日にスイスのジュネーブで開催された第１２回会合の”High  efficiency  video  coding  (HEVC)  text  specification  draft  10”,  JCTVC-L1003_v34）を参照する。本明細書で説明するイノベーションは、他の規格又はフォーマットのためにも実装され得る。
【００１０】
より一般的に、本明細書で説明する例に対する様々な代替例が可能である。例えば、本明細書で説明する方法のいくつかは、説明する方法動作の順番を変えることにより、所定の方法動作を分けることにより、所定の方法動作を繰り返すことにより、又は所定の方法動作を省略することにより、変更することができる。開示する技術の様々な態様が、組み合わせることにより、又は別々に使用され得る。様々な実施形態が、説明するイノベーションのうちの１以上を使用する。本明細書で説明するイノベーションのいくつかは、背景技術において記した問題のうちの１以上に対処する。一般的に、所与の技術／ツールが、そのような問題の全てを解決するわけではない。
【００１１】
Ｉ．例示的なコンピューティング・システム
図１は、説明するイノベーションのいくつかを実装することができる適切なコンピューティング・システム（１００）の一般化された例を示している。コンピューティング・システム（１００）は、使用又は機能の範囲に関して限定を示唆するよう意図するものではない。というのは、このイノベーションは、多様な汎用コンピューティング・システム又は専用コンピューティング・システムにおいて実施することができるからである。
【００１２】
図１を参照すると、コンピューティング・システム（１００）は、１以上の処理装置（１１０、１１５）及びメモリ（１２０、１２５）を含む。図１において、この最も基本的な構成（１３０）は破線内に含まれる。処理装置（１１０、１１５）はコンピュータ実行可能命令を実行する。処理装置は、汎用中央処理装置（ＣＰＵ）、特定用途向け集積回路（ＡＳＩＣ）におけるプロセッサ、又は任意の他のタイプのプロセッサとすることができる。マルチ処理システムにおいて、複数の処理装置が、処理能力を増大させるために、コンピュータ実行可能命令を実行する。例えば、図１は、中央処理装置（１１０）に加えて、グラフィックス処理装置又は共処理装置（１１５）も示している。有体のメモリ（１２０、１２５）は、１以上の処理装置によりアクセス可能な、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であってもよいし、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ・メモリ等）であってもよいし、それら２つの何らかの組合せであってもよい。メモリ（１２０、１２５）は、１以上の処理装置による実行に適したコンピュータ実行可能命令の形態で、ピクチャ・ソース・タイプ、信頼性レベル、及び関連ピクチャがデータ・タイプの混合を含むかどうか（セクションＶ参照）を示すデータを有するＳＥＩメッセージを伴うピクチャを符号化又は復号化するための１以上のイノベーションを実装するソフトウェア（１８０）を記憶する。
【００１３】
コンピューティング・システムは追加の特徴を有することができる。例えば、コンピューティング・システム（１００）は、ストレージ（１４０）、１以上の入力デバイス（１５０）、１以上の出力デバイス（１６０）、及び１以上の通信コネクション（１７０）を含む。バス、コントローラ、又はネットワーク等の相互接続機構（図示せず）が、コンピューティング・システム（１００）のコンポーネントを相互接続する。通常、オペレーティング・システム・ソフトウェア（図示せず）が、コンピューティング・システム（１００）において実行される他のソフトウェアのための動作環境を提供し、コンピューティング・システム（１００）のコンポーネントの動作を調整する。
【００１４】
有体のストレージ（１４０）は、取り外し可能であっても取り外し不可能であってもよく、磁気ディスク、磁気テープ若しくは磁気カセット、ＣＤ−ＲＯＭ、ＤＶＤ、又は、情報を非一時的に記憶するために使用することができ、コンピューティング・システム（１００）内でアクセスされ得る任意の他の媒体を含む。ストレージ（１４０）は、ピクチャ・ソース・タイプ、信頼性レベル、及び関連ピクチャがデータ・タイプの混合を含むかどうか（セクションＶ参照）を示すデータを有するＳＥＩメッセージを伴うピクチャを符号化又は復号化するための１以上のイノベーションを実装するソフトウェア（１８０）の命令を記憶する。
【００１５】
１以上の入力デバイス（１５０）は、キーボード、マウス、ペン、若しくはトラックボール等のタッチ入力デバイス、音声入力デバイス、スキャニング・デバイス、又はコンピューティング・システム（１００）に入力を提供する別のデバイスとすることができる。ビデオ符号化に関して、１以上の入力デバイス（１５０）は、カメラ、ビデオ・カード、ＴＶチューナ・カード、若しくはアナログ形態あるいはデジタル形態でビデオ入力を受信する同様のデバイス、又はビデオ・サンプルをコンピューティング・システム（１００）に読み込むＣＤ−ＲＯＭあるいはＣＤ−ＲＷとすることができる。１以上の出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、又はコンピューティング・システム（１００）からの出力を提供する別のデバイスとすることができる。
【００１６】
１以上の通信コネクション（１７０）は、通信媒体を介した別のコンピューティング・エンティティへの通信を可能にする。通信媒体は、変調されたデータ信号により、コンピュータ実行可能命令、オーディオ入力、ビデオ入力、オーディオ出力、ビデオ出力、又は他のデータ等の情報を伝達する。変調されたデータ信号とは、信号内の情報を符号化するように設定又は変更された特性の１以上を有する信号である。例えば、通信媒体は、電気信号、光信号、ＲＦ、赤外線、又は他のキャリアを使用することができるが、これらに限定されるものではない。
【００１７】
イノベーションは、コンピュータ読み取り可能媒体の一般的なコンテキストにおいて説明することができる。コンピュータ読み取り可能媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な有体の媒体である。例えば、有体のコンピュータ読み取り可能媒体は、メモリ（１２０、１２５）、ストレージ（１４０）、及びそれらの組合せを含むが、これらに限定されるものではない。しかしながら、有体のコンピュータ読み取り可能媒体は、一時的な伝搬信号を含まない。
【００１８】
イノベーションは、コンピュータ実行可能命令の一般的なコンテキストにおいて説明することができる。コンピュータ実行可能命令は、例えば、プログラム・モジュールに含まれ、コンピューティング・システムにおいて、ターゲット実プロセッサ又は仮想プロセッサ上で実行される。一般に、プログラム・モジュールは、特定のタスクを実行する、あるいは特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造等を含む。プログラム・モジュールの機能は、様々な実施形態において、必要に応じて、組み合わされてもよいし、プログラム・モジュール間で分割されてもよい。プログラム・モジュールのコンピュータ実行可能命令は、ローカル・コンピューティング・システム又は分散コンピューティング・システム内で実行され得る。
【００１９】
「システム」及び「デバイス」という語は、本明細書において置き換え可能に使用される。文脈が別途明確に示さない限り、これらの語は、コンピューティング・システム又はコンピューティング・デバイスのタイプに関して、いかなる限定も示すものではない。一般に、コンピューティング・システム又はコンピューティング・デバイスは、ローカルであってもよいし、分散されてもよく、専用ハードウェア及び／又は汎用ハードウェアと、本明細書で説明する機能を実装するソフトウェアとの任意の組合せを含み得る。
【００２０】
開示する方法は、開示する方法のいずれかを実行するよう構成された専用コンピューティング・ハードウェアを用いて実装することもできる。例えば、開示する方法は、開示する方法のいずれかを実行するよう特別に設計又は構成された集積回路（例えば、特定用途向け集積回路（「ＡＳＩＣ」）（ＡＳＩＣデジタル信号処理装置（「ＤＳＰ」）、グラフィックス処理装置（「ＧＰＵ」）、又はフィールド・プログラマブル・ゲート・アレイ（「ＦＰＧＡ」）等のプログラマブル・ロジック・デバイス（「ＰＬＤ」）等）により実装することができる。
【００２１】
プレゼンテーションの目的上、詳細な説明では、コンピューティング・システムにおけるコンピュータ・オペレーションを説明するための「決定する」及び「使用する」のような語が使用される。これらの語は、コンピュータにより実行されるオペレーションの高レベル抽象表現であって、人間により実行される動作と混同すべきではない。これらの語に対応する実際のコンピュータ・オペレーションは、実装に応じて変化する。
【００２２】
ＩＩ．例示的なネットワーク環境
図２ａ及び図２ｂは、ビデオ・エンコーダ（２２０）及びビデオ・デコーダ（２７０）を含む例示的なネットワーク環境（２０１、２０２）を示している。エンコーダ（２２０）及びデコーダ（２７０）は、適切な通信プロトコルを用いて、ネットワーク（２５０）を介して接続される。ネットワーク（２５０）は、インターネット又は別のコンピュータ・ネットワークを含み得る。
【００２３】
図２ａに示されるネットワーク環境（２０１）において、各リアルタイム通信（「ＲＴＣ」）ツール（２１０）は、双方向通信のためのエンコーダ（２２０）及びデコーダ（２７０）の両方を含む。所与のエンコーダ（２２０）は、ＳＭＰＴＥ  ４２１Ｍ規格、ＩＳＯ−ＩＥＣ  １４４９６−１０規格（Ｈ．２６４又はＡＶＣとしても知られている）、ＨＥＶＣ規格、別の規格、又はプロプライエタリ・フォーマットに準拠する出力を生成することができ、対応するデコーダ（２７０）は、エンコーダ（２２０）から符号化データを受信することができる。双方向通信は、ビデオ会議、ビデオ通話、又は他の２パーティの通信シナリオの一部であり得る。図２ａのネットワーク環境（２０１）は、２つのリアルタイム通信ツール（２１０）を含むが、ネットワーク環境（２０１）は、マルチパーティ通信に参加する３以上のリアルタイム通信ツール（２１０）を含んでもよい。
【００２４】
リアルタイム通信ツール（２１０）は、エンコーダ（２２０）による符号化を管理する。図３は、リアルタイム通信ツール（２１０）に含まれ得る例示的なエンコーダ・システム（３００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のエンコーダ・システムを使用してもよい。リアルタイム通信ツール（２１０）はまた、デコーダ（２７０）による復号化も管理する。図４は、リアルタイム通信ツール（２１０）に含まれ得る例示的なデコーダ・システム（４００）を示している。代替的に、リアルタイム通信ツール（２１０）は、別のデコーダ・システムを使用してもよい。
【００２５】
図２ｂに示されるネットワーク環境（２０２）において、符号化ツール（２１２）は、デコーダ（２７０）を含む複数の再生ツール（２１４）に伝送するためのビデオを符号化するエンコーダ（２２０）を含む。一方向通信は、ビデオが符号化されて１つのロケーションから１以上の他のロケーションに送信される、ビデオ監視システム、ウェブ・カメラ・モニタリング・システム、リモート・デスクトップ会議プレゼンテーション、又は他のシナリオのために提供され得る。図２ｂのネットワーク環境（２０２）は、２つの再生ツール（２１４）を含むが、ネットワーク環境（２０２）は、それより多い又はそれより少ない再生ツール（２１４）を含んでもよい。一般に、再生ツール（２１４）は、再生ツール（２１４）が受信するビデオのストリームを判定するために、符号化ツール（２１２）と通信する。再生ツール（２１４）は、ストリームを受信し、適切な期間の間受信した符号化データをバッファし、復号化及び再生を開始する。
【００２６】
図３は、符号化ツール（２１２）に含まれ得る例示的なエンコーダ・システム（３００）を示している。代替的に、符号化ツール（２１２）は、別のエンコーダ・システムを使用してもよい。符号化ツール（２１２）はまた、１以上の再生ツール（２１４）との接続を管理するためのサーバ・サイド・コントローラ・ロジックも含み得る。図４は、再生ツール（２１４）に含まれ得る例示的なデコーダ・システム（４００）を示している。代替的に、再生ツール（２１４）は、別のデコーダ・システムを使用してもよい。再生ツール（２１４）はまた、符号化ツール（２１２）との接続を管理するためのクライアント・サイド・コントローラ・ロジックも含み得る。
【００２７】
ＩＩＩ．例示的なエンコーダ・システム
図３は、いくつかの説明する実施形態を協働して実装することができる例示的なエンコーダ・システム（３００）のブロック図である。エンコーダ・システム（３００）は、リアルタイム通信のための低レイテンシ符号化モード、トランスコーディング・モード、及びファイル又はストリームからのメディア再生のための通常の符号化モード等の複数の符号化モードのうちいずれかで動作することができる汎用符号化ツールであってもよいし、そのような１つの符号化モードのために適合された専用符号化ツールであってもよい。エンコーダ・システム（３００）は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、及び／又はスタンドアロン・アプリケーションとして、実装することができる。概して、エンコーダ・システム（３００）は、ビデオ・ソース（３１０）から一連のソース・ビデオ・フレーム（３１１）を受信し、チャネル（３９０）への出力として符号化データを生成する。チャネルに出力される符号化データは、セクションＶで説明するシンタックス要素及び／又はフラグを含む付加拡張情報（「ＳＥＩ」）メッセージを含み得る。
【００２８】
ビデオ・ソース（３１０）は、カメラ、チューナ・カード、記憶媒体、又は他のデジタル・ビデオ・ソースとすることができる。ビデオ・ソース（３１０）は、例えば、毎秒３０フレームといったフレーム・レートで一連のビデオ・フレームを生成する。本明細書で使用されるとき、「フレーム」という語は、一般に、ソースの符号化された又は再構築されたイメージ・データを指す。プログレッシブ・ビデオでは、フレームはプログレッシブ・ビデオ・フレームである。インタレース・ビデオでは、例示的な実施形態において、インタレース・ビデオ・フレームは、符号化の前にデインタレースされる（de-interlaced）。代替的に、インタレース・ビデオでは、２つの相補的インタレース・ビデオ・フィールドが、インタレース・ビデオ・フレーム又は別々のフィールドとして符号化されてもよい。プログレッシブ・ビデオ・フレームを示すかは別にして、「フレーム」という語は、単一の対でないビデオ・フィールド、相補的な一対のビデオ・フィールド、所与の時間におけるビデオ・オブジェクトを表すビデオ・オブジェクト・プレーン、又はより大きなイメージにおける関心領域を示し得る。ビデオ・オブジェクト・プレーン又は領域は、シーンの複数のオブジェクト又は領域を含むより大きなイメージの一部であり得る。
【００２９】
到着ソース・フレーム（３１１）は、複数のフレーム・バッファ記憶領域（３２１、３２２、．．．、３２ｎ）を含むソース・フレーム一時メモリ記憶領域（３２０）に記憶される。フレーム・バッファ（３２１、３２２等）は、ソース・フレーム記憶領域（３２０）内で１つのソース・フレームを保持する。ソース・フレーム（３１１）のうちの１以上がフレーム・バッファ（３２１、３２２等）に記憶された後、フレーム・セレクタ（３３０）が、ソース・フレーム記憶領域（３２０）から個々のソース・フレームを定期的に選択する。エンコーダ（３４０）への入力のためにフレーム・セレクタ（３３０）によりフレームが選択される順番は、ビデオ・ソース（３１０）によりフレームが生成される順番とは異なり得る。例えば、一時的に後方予測を容易にするために、あるフレームが前になる場合がある。エンコーダ（３４０）の前に、エンコーダ・システム（３００）は、符号化の前に選択されたフレーム（３３１）の前処理（例えば、フィルタリング）を実行するプリ・プロセッサ（図示せず）を含み得る。
【００３０】
エンコーダ（３４０）は、符号化フレーム（３４１）を生成するために、選択されたフレーム（３３１）を符号化するとともに、メモリ管理制御操作（ＭＭＣＯ）信号（３４２）又は参照ピクチャ・セット（ＲＰＳ）情報を生成する。現フレームが、符号化された最初のフレームではない場合、符号化プロセスを実行するとき、エンコーダ（３４０）は、復号化フレーム一時メモリ記憶領域（３６０）に記憶された１以上の以前に符号化／復号化されたフレーム（３６９）を使用することができる。そのような記憶された復号化フレーム（３６９）は、現ソース・フレーム（３３１）のコンテンツのフレーム間予測のための参照フレームとして使用される。一般に、エンコーダ（３４０）は、動き推定及び動き補償、周波数変換、量子化、並びにエントロピ符号化等の符号化タスクを実行する複数の符号化モジュールを含む。エンコーダ（３４０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。出力される符号化データのフォーマットは、Ｗｉｎｄｏｗｓ（登録商標）  Ｍｅｄｉａ  Ｖｉｄｅｏフォーマット、ＶＣ−１フォーマット、ＭＰＥＧ−ｘフォーマット（例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、又はＭＰＥＧ−４）、Ｈ．２６ｘフォーマット（例えば、Ｈ．２６１、Ｈ．２６２、Ｈ．２６３、Ｈ．２６４）、ＨＥＶＣフォーマット、又は他のフォーマットであり得る。
【００３１】
例えば、エンコーダ（３４０）において、インター符号化された予測フレームが、参照フレームからの予測の観点で表される。動き推定部が、１以上の参照フレーム（３６９）に関して、ソース・フレーム（３４１）のサンプルのマクロブロック、ブロック又は他のセットの動きを推定する。複数の参照フレームが使用される場合、複数の参照フレームは、異なる時間的方向からのものであってもよいし、同じ時間的方向からのものであってもよい。動き推定部は、エントロピ符号化される動きベクトル情報等の動き情報を出力する。動き補償部は、動き補償予測値を決定するために、動きベクトルを参照フレームに適用する。エンコーダは、ブロックの動き補償予測値と対応するオリジナルの値との間の差（あれば）を決定する。このような予測残差値が、周波数変換、量子化、及びエントロピ符号化を用いて、さらに符号化される。同様に、イントラ予測では、エンコーダ（３４０）は、ブロックに関するイントラ予測値を決定し、予測残差値を決定し、予測残差値を符号化することができる。具体的には、エンコーダ（３４０）のエントロピ符号化部が、量子化された変換係数値に加えて、所定のサイド情報（例えば、動きベクトル情報、量子化パラメータ値、モード決定、パラメータ選択）も圧縮する。一般的なエントロピ符号化技術は、指数ゴロム符号化、算術符号化、差分符号化、ハフマン符号化、ラン・レングス符号化、Ｖ２Ｖ（variable-length-to-variable-length）符号化、Ｖ２Ｆ（variable-length-to-fixed-length）符号化、ＬＺ符号化、辞書符号化、ＰＩＰＥ（probability  interval  partitioning  entropy  coding）符号化、及びこれらの組合せを含む。エントロピ符号化部は、様々な種類の情報のための様々な符号化技術を使用することができ、特定の符号化技術における複数の符号テーブルの中から選択することができる。
【００３２】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）が、復号化プロセス・エミュレータ（３５０）により処理される。復号化プロセス・エミュレータ（３５０）は、例えば、動き推定及び動き補償においてエンコーダ（３４０）により使用される参照フレームを再構築する復号化タスク等のデコーダの機能の一部を実装している。復号化プロセス・エミュレータ（３５０）は、所与の符号化フレーム（３４１）が、符号化される後続フレームのフレーム間予測において参照フレームとして使用するために再構築されて記憶される必要があるかどうかを判定するために、ＭＭＣＯ／ＲＰＳ情報（３４２）を使用する。ＭＭＣＯ／ＲＰＳ情報（３４２）により、符号化フレーム（３４１）が記憶される必要があると示される場合、復号化プロセス・エミュレータ（３５０）は、符号化フレーム（３４１）を受信して対応する復号化フレーム（３５１）を生成するデコーダにより行われるであろう復号化プロセスを模擬する。そうする場合、エンコーダ（３４０）が、復号化フレーム記憶領域（３６０）に記憶された１以上の復号化フレーム（３６９）を使用したとき、復号化プロセス・エミュレータ（３５０）は、復号化プロセスの一部として、記憶領域（３６０）から１以上の復号化フレーム（３６９）を使用する。
【００３３】
復号化フレーム一時メモリ記憶領域（３６０）は、複数のフレーム・バッファ記憶領域（３６１、３６２、．．．、３６ｎ）を含む。復号化プロセス・エミュレータ（３５０）は、参照フレームとして使用するためにエンコーダ（３４０）によりもはや必要とされなくなったフレームを有する任意のフレーム・バッファ（３６１、３６２等）を識別するために、ＭＭＣＯ／ＲＰＳ情報（３４２）を使用して、記憶領域（３６０）のコンテンツを管理する。復号化プロセスを模擬した後、復号化プロセス・エミュレータ（３５０）は、このように識別されるフレーム・バッファ（３６１、３６２等）に、新たに復号化されたフレーム（３５１）を記憶する。
【００３４】
符号化フレーム（３４１）及びＭＭＣＯ／ＲＰＳ情報（３４２）はまた、一時符号化データ領域（３７０）にバッファされる。符号化データ領域（３７０）に収集される符号化データは、（例えば、１以上の付加拡張情報（「ＳＥＩ」）メッセージ又はビデオ・ユーザビリティ情報（「ＶＵＩ」）メッセージにおける１以上のパラメータとして、）符号化ビデオ・データに関連するメディア・メタデータを含み得る。ＳＥＩメッセージは、セクションＶで説明するシンタックス要素及び／又はフラグを含み得る。
【００３５】
一時符号化データ領域（３７０）からの収集されたデータ（３７１）は、チャネル・エンコーダ（３８０）により処理される。チャネル・エンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）メディア・ストリームとして伝送するために、収集されたデータをパケット化することができる。そのような場合、チャネル・エンコーダ（３８０）は、メディア伝送ストリームのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、チャネル・エンコーダ（３８０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）ファイルとして記憶するために、収集されたデータを編成することができる。そのような場合、チャネル・エンコーダ（３８０）は、メディア記憶ファイルのシンタックスの一部として、シンタックス要素を付加することができる。あるいは、より一般的に、チャネル・エンコーダ（３８０）は、１以上のメディア・システム多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・エンコーダ（３８０）は、１以上のプロトコルのシンタックスの一部として、シンタックス要素を付加することができる。チャネル・エンコーダ（３８０）は、チャネル（３９０）への出力を提供する。チャネル（３９０）は、ストレージ、通信コネクション、又は出力のための別のチャネルを表す。
【００３６】
ＩＶ．例示的なデコーダ・システム
図４は、いくつかの説明する実施形態を協働して実装することができる例示的なデコーダ・システム（４００）のブロック図である。デコーダ・システム（４００）は、リアルタイム通信のための低レイテンシ復号化モード及びファイル又はストリームからのメディア再生のための通常の復号化モード等の複数の復号化モードのうちいずれかで動作することができる汎用復号化ツールであってもよいし、そのような１つの符号化モードのために適合された専用復号化ツールであってもよい。デコーダ・システム（４００）は、オペレーティング・システム・モジュールとして、アプリケーション・ライブラリの一部として、又はスタンドアロン・アプリケーションとして、実装することができる。概して、デコーダ・システム（４００）は、チャネル（４１０）から符号化データを受信し、出力先（４９０）への出力として再構築フレームを生成する。符号化データは、セクションＶで説明するシンタックス要素及び／又はフラグを含む付加拡張情報（「ＳＥＩ」）メッセージを含み得る。
【００３７】
デコーダ・システム（４００）は、ストレージ、通信コネクション、又は入力としての符号化データのための別のチャネルを表し得るチャネル（４１０）を含む。チャネル（４１０）は、チャネル符号化された符号化データを生成する。チャネル・デコーダ（４２０）は、符号化データを処理することができる。例えば、チャネル・デコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）メディア・ストリームとして伝送するために収集されたデータを脱パケット化する。そのような場合、チャネル・デコーダ（４２０）は、メディア伝送ストリームのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、チャネル・デコーダ（４２０）は、（例えば、ＩＳＯ／ＩＥＣ  １４４９６−１２等のメディア・コンテナ・フォーマットに従って）ファイルとして記憶するために収集された符号化ビデオ・データを分離する。そのような場合、チャネル・デコーダ（４２０）は、メディア記憶ファイルのシンタックスの一部として付加されたシンタックス要素を解析することができる。あるいは、より一般的に、チャネル・デコーダ（４２０）は、１以上のメディア・システム逆多重化プロトコル又は伝送プロトコルを実装することができる。そのような場合、チャネル・デコーダ（４２０）は、１以上のプロトコルのシンタックスの一部として付加されたシンタックス要素を解析することができる。
【００３８】
十分な量のデータが受信されるまで、チャネル・デコーダ（４２０）から出力される符号化データ（４２１）は、一時符号化データ領域（４３０）に記憶される。符号化データ（４２１）は、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）を含む。符号化データ領域（４３０）内の符号化データ（４２１）は、（例えば、１以上のＳＥＩメッセージ又はＶＵＩメッセージにおける１以上のパラメータとして、）符号化ビデオ・データに関連するメディア・メタデータを含み得る。ＳＥＩメッセージは、セクションＶで説明するシンタックス要素及び／又はフラグを含み得る。一般に、そのような符号化データ（４２１）がデコーダ（４５０）により使用されるまで、符号化データ領域（４３０）は、符号化データ（４２１）を一時的に記憶する。その時点で、符号化フレーム（４３１）及びＭＭＣＯ／ＲＰＳ情報（４３２）の符号化データが、符号化データ領域（４３０）からデコーダ（４５０）に伝送される。復号化が進むにつれ、新たな符号化データが、符号化データ領域（４３０）に追加され、符号化データ領域（４３０）に残っている最も古い符号化データが、デコーダ（４５０）に伝送される。
【００３９】
デコーダ（４５０）は、対応する復号化フレーム（４５１）を生成するために、符号化フレーム（４３１）を定期的に復号化する。必要に応じて、復号化プロセスを実行するとき、デコーダ（４５０）は、フレーム間予測のための参照フレームとして、１以上の以前に復号化されたフレーム（４６９）を使用することができる。デコーダ（４５０）は、復号化フレーム一時メモリ記憶領域（４６０）から、そのような以前に復号化されたフレーム（４６９）を読み出す。一般に、デコーダ（４５０）は、エントロピ復号化、逆量子化、逆周波数変換、及び動き補償等の復号化タスクを実行する複数の復号化モジュールを含む。デコーダ（４５０）により実行される正確なオペレーションは、圧縮フォーマットに応じて変わり得る。
【００４０】
例えば、デコーダ（４５０）は、圧縮フレーム又は一連のフレームの符号化データを受信し、復号化フレーム（４５１）を含む出力を生成する。デコーダ（４５０）において、バッファは、圧縮フレームの符号化データを受け入れ、受け入れた符号化データをエントロピ復号化部に利用可能にする。エントロピ復号化部は、通常はエンコーダにおいて実行されたエントロピ符号化の逆を適用することにより、エントロピ符号化された量子化データに加えて、エントロピ符号化されたサイド情報もエントロピ復号化する。セクションＶは、デコーダ４５０により復号化され得る、セクションＶで説明するシンタックス要素及び／又はフラグを含むＳＥＩメッセージを有する符号化データの例を説明する。動き補償部は、再構築されているフレームのサブ・ブロック、ブロック、及び／又はマクロブロック（一般に、ブロック）の動き補償予測を形成するために、動き情報を１以上の参照フレームに適用する。イントラ予測モジュールは、隣接する以前に再構築されたサンプル値から、現ブロックのサンプル値を空間的に予測することができる。デコーダ（４５０）はまた、予測残差を再構築する。逆量子化部は、エントロピ復号化されたデータを逆量子化する。逆周波数変換部は、量子化された周波数領域データを空間領域情報に変換する。予測フレームに関して、デコーダ（４５０）は、再構築フレームを形成するために、再構築された予測残差を動き補償予測と結合する。デコーダ（４５０）は、同様に、予測残差を、イントラ予測からの空間予測と結合することができる。ビデオ・デコーダ（４５０）における動き補償ループは、適応デブロッキング・フィルタを含み、適応デブロッキング・フィルタは、復号化フレーム（４５１）内のブロック境界ロー及び／又はカラムにわたる不連続さを平滑化する。
【００４１】
復号化フレーム一時メモリ記憶領域（４６０）は、複数のフレーム・バッファ記憶領域（４６１、４６２、．．．、４６ｎ）を含む。復号化フレーム記憶領域（４６０）はＤＰＢの一例である。デコーダ（４５０）は、復号化フレーム（４５１）を記憶することができるフレーム・バッファ（４６１、４６２等）を識別するために、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用する。デコーダ（４５０）は、そのフレーム・バッファに復号化フレーム（４５１）を記憶する。
【００４２】
出力シーケンサ（４８０）は、出力順で生成される次のフレームが復号化フレーム記憶領域（４６０）内で利用可能になるときを識別するために、ＭＭＣＯ／ＲＰＳ情報（４３２）を使用する。出力順で生成される次のフレーム（４８１）が、復号化フレーム記憶領域（４６０）内で利用可能になったとき、そのフレームが、出力シーケンサ（４８０）により読み出され、出力先（４９０）（例えば、ディスプレイ）に出力される。一般に、復号化フレーム記憶領域（４６０）から出力シーケンサ（４８０）によりフレームが出力される順番は、デコーダ（４５０）によりフレームが復号化される順番とは異なり得る。
【００４３】
Ｖ．ビデオ・フレームのタイプ・インジケーション情報及び混合特性の信頼性レベルを示すための例示的な実施形態
このセクションは、ピクチャ・ソース・データのエンコーダ信頼性レベルを示すための情報（例えば、シンタックス要素、フラグ、又はそれらの拡張）を有するビットストリームを符号化及び／又は復号化するためのいくつかの変形例を説明する。詳細には、このセクションは、ＳＥＩメッセージが、メッセージ内のピクチャ・ソース・データの信頼性の程度のインジケーション（例えば、ＳＥＩメッセージ内のprogressive_source_flag、mixed_characteristics_flag、及び／又はduplicate_flag（又は、任意の均等のフラグ又はシンタックス要素）の正確性における信頼性レベル）を含む例を提供する。いくつかのエンコーダは、ピクチャ・ソース・データの正確な値を確実には決定することができない場合があるので、そのような追加情報は有用である。ピクチャ・ソース・データにおける信頼性の程度を明示するインジケータを追加することは、デコーダが、受信したピクチャ・データをどのように最良に使用及び提示するかを決定するのに役立ち得る。さらに、エンコーダはまた、混合されたプログレッシブ／インタレース特性を有するビデオ・コンテンツに遭遇する場合がある。所定の実施例において、コンテンツが完全なインタレース・ソース特性又は完全なプログレッシブ・ソース特性を示すのではなく、コンテンツが混合特性を有することを示す追加のシンタックス要素又はフラグが含まれ得る。上述したエンコーダ又はデコーダのいずれも、開示する符号化技術及び復号化技術を使用するよう適合され得る。
【００４４】
ＨＥＶＣ規格のドラフト８（２０１２年７月にストックホルムで開催された第１０回会合の”High  efficiency  video  coding  (HEVC)  text  specification  draft  8”,  JCTVC-I1003_d8）に従うと、「フィールド・インジケーション」ＳＥＩメッセージには、ピクチャ・ソースの特性を記述するために使用される２つのシンタックス要素が存在する：それらは、progressive_source_flag及びduplicate_flagである。progressive_source_flag値が「１」であることは、関連ピクチャのスキャン・タイプがプログレッシブとして解釈されるべきであることを示し、progressive_source_flag値が「０」であることは、関連ピクチャのスキャン・タイプがインタレースとして解釈されるべきであることを示す。フィールド・インジケーションＳＥＩメッセージが存在しない場合、progressive_source_flagの値は、「１」に等しいと推定される。他の実施例では、これらの値は逆になる。
【００４５】
さらに、duplicate_flag値が「１」であることは、現ピクチャが、出力順において以前のピクチャの複製であることを示し、duplicate_flag値が「０」であることは、現ピクチャが複製ピクチャでないことを示す。他の実施例では、これらの値は逆になる。
【００４６】
しかしながら、いくつかのアプリケーション・シナリオにおいて、ＨＥＶＣ符号化システムは、progressive_source_flagシンタックス要素及び／又はduplicate_flagシンタックス要素の正しい値を決定するための十分な情報を有さない場合がある。例えば、符号化システムは、入力ビデオ・データとして単にフィールド又はフレームを受信するだけの場合があり、エンコーダにソース・コンテンツ特性の深い解析を実行させることができない、計算能力、メモリ容量、又は遅延特性における限界を有する場合がある。さらに、いくつかの符号化システムは、未圧縮ピクチャからの情報に対して制限的なアクセスしか有さない場合がある。したがって、符号化システムがソースの真の特性を決定するのは難しいことであり得る。また、ソース・コンテンツが混合特性を示し得ることも可能である。例えば、ソース・コンテンツは、インタレース・コンテンツとプログレッシブ・コンテンツとの混合であり得る。プログレッシブ・スキャン・ビデオに適用されるフィールドベースのテキスト・オーバレイ又はグラフィックス・オーバレイは、混合特性を有するコンテンツの一例である。
【００４７】
これらの問題に対処するために、開示する技術の実施形態は、コンテンツがインタレースであるか、あるいはプログレッシブであるかのインジケーションにおいてエンコーダが有する信頼性の程度を示すことができるエンコードを含む。デコーダ又はディスプレイ・サブシステムは、示された信頼性の程度を使用して、デインタレース処理等の後続の処理を制御することができる、あるいは、エンコーダにより示される特性に依存するのではなく、自身でソース・ビデオ特性を検出すべきかどうかを制御することができる。さらに、いくつかの実施例において、エンコーダは、符号化コンテンツが混合特性を有するかどうかを示すことができる。混合されたプログレッシブ−インタレース・コンテンツのこのインジケーションをデコーダが使用して、符号化ビットストリームを適切に処理することができる。
【００４８】
所定の実施形態において、ＳＥＩメッセージ（例えば、ピクチャに付随するＳＥＩメッセージ）は、ソース・インジケーションの信頼性レベルを示すためのフラグ又はシンタックス要素（例えば、コンテンツがインタレース・データであるか、あるいはプログレッシブ・データであるかのエンコーダのソース・インジケーション及び／又はエンコーダの複製ピクチャ・インジケーションの正確性を示す値）を含む。
【００４９】
ＨＥＶＣ規格のドラフト８のコンテキストにおいて、例えば、フィールド・インジケーションＳＥＩメッセージは、ソース・ビデオ特性を示すフィールド・インジケーション情報のシンタックス要素の信頼性レベルを示すためのシンタックス要素を含み得る。具体的には、progressive_source_flag及び／又はduplicate_flagの信頼性レベルである。さらに、所定の実施例において、フィールド・インジケーションＳＥＩメッセージはまた、符号化コンテンツが混合特性（例えば、混合されたプログレッシブ及びインタレース・コンテンツ）を含むか否かを示すためのフラグを含む。
【００５０】
１つの特定の実施例において、field_indicationＳＥＩメッセージのシンタックスは、以下のとおりである。
【表１】
2018182770.tif 000003
【００５１】
上記で示した例示的なシンタックスにおいて、「mixed_characteristics_flag」シンタックス要素及び「confidence_level」シンタックス要素に注目すべきである。
【００５２】
１つの例示的な実施例において、mixed_characteristics_flagが「１」に等しいことは、ビデオ・コンテンツが混合されたプログレッシブ及びインタレース・スキャン特性を有することを示す。そのような混合特性ビデオは、例えば、フィールドベースのグラフィックスが他のプログレッシブ・スキャン・ビデオ・コンテンツをオーバレイするときに生成され得る。mixed_characteristics_flagが「０」に等しいことは、ビデオ・コンテンツが混合特性を有さないことを示す。他の実施例では、mixed_characteristics_flagの値は、上述した値とは逆になる。
【００５３】
confidence_levelシンタックス要素は、１ビットのシンタックス要素であってもよいし、２ビットのシンタックス要素であってもよいし、３ビット以上のシンタックス要素であってもよい。所定の実施形態において、confidence_levelシンタックス要素は、２ビットのシンタックス要素である。１つの特定の実施例において、例えば、confidence_levelシンタックス要素が「３」に等しいことは、progressive_source_flag、source_scan_type、mixed_characteristics_flag、又はduplicate_flagのうちの１以上が正しく、デコーダは確信をもってこの情報に依存してよいという高い程度の確実性を示す。confidence_levelシンタックス要素が「２」に等しいことは、これらのシンタックス要素のうちの１以上が正しく、コンテンツ特性のさらなる解析を行うためにデコーダにおいて十分な能力が利用可能でない場合、この情報を有効なものとして受け取ることが後続のプロセス（例えば、後続のデコーダ・プロセス）のために推奨されるという合理的な程度の信頼性を示す。confidence_levelシンタックス要素が「１」に等しいことは、実行可能であればコンテンツ特性のさらなる解析が行われるべきであることを示す。confidence_levelシンタックス要素が「０」に等しいことは、後続のプロセスがこれらのシンタックス要素の正確性に依存すべきではないことを示す。
【００５４】
これら４つの例示的なレベルは例に過ぎず、任意の他の数のレベルが使用されてもよいことを理解すべきである。例えば、所定の実施形態において、２ビットの信頼性レベル・シンタックス要素を使用して、３つのレベルの信頼性にフラグを付けることができる。それら３つのレベルは、デコーダがソース・インジケーション情報を使用する（使用すべき）高確実性のレベル、デコーダが復号化中に正確にソース情報を検出できない場合、デコーダがこの情報を有効なものとして受け取るべき中確実性のレベル、及びデコーダがソース・インジケーション情報の検出を自身で実行すべき低確実性のレベル又は確実性がないレベルである。
【００５５】
さらに、所定の実施形態において、複数のconfidence_levelシンタックス要素が使用される。例えば、progressive_source_flag、mixed_characteristics_flag、又はduplicate_flagに対して別々のconfidence_levelシンタックス要素が存在し得る。
【００５６】
上述したように、開示する技術の実施形態は、付加拡張情報（ＳＥＩ）メッセージに含まれるデータの正確性の信頼性レベルを示す情報をＳＥＩメッセージに追加することを含む。例えば、特定の実施例において、開示する技術は、ＨＥＶＣ規格におけるピクチャ・レベルＳＥＩメッセージに対する拡張を含む。さらに、いくつかの実施形態は、追加的に又は代替的に、ビデオ・コンテンツのソース特性を説明するためのフラグ（例えば、ビデオが混合特性を含むことを示すためのフラグ）を含む。信頼性レベル・シンタックス要素及びソース特性シンタックス要素は、例えば、エンコーダが、ビデオ・コンテンツのオリジン（origin）のスキャン・フォーマットに関して制限された情報、制限された解析リソース、及び／又は未圧縮ピクチャに対する制限されたアクセスしか有さないシナリオにおいて有用であり得る。
【００５７】
いくつかの例において、デコーダ・システムは、制限された計算能力しか有さない、未圧縮ピクチャに対する制限されたアクセスしか有さない、あるいはデコーダが復号化ビデオを解析すること又は示された信頼性レベル情報に応答するためにカスタマイズされるように符号化ビデオを処理することを困難にするあるいは不可能にする何らかの他の制限を有する。そのような状況において、デコーダは、自身でコンテンツ特性を導出することができない場合がある。したがって、所定の実施形態において、デコーダ・システムは、符号化ビットストリームにおいて、フィールド・インジケーション又はピクチャ・タイミング情報を、「ありのままに」有効なものとして受け取る。すなわち、所定の実施例において、デコーダは、confidence_levelシンタックス要素を使用せず、信頼性レベルに関わらずＳＥＩメッセージ内の情報に従う。
【００５８】
mixed_characteristics_flag及びconfidence_levelインジケーション・シンタックス要素は、開示する技術の所定の実施形態において、互いに別々に実装され得ることを理解すべきである。mixed_characteristics_flagなしにconfidence_levelインジケーション・シンタックス要素が使用される場合、confidence_levelインジケーションのセマンティックスは、通常、そのセマンティックスにおいて、mixed_characteristics_flagのいかなる言及も有さないであろう。
【００５９】
より最近では、ＨＥＶＣ規格のドラフト１０（２０１３年１月にスイスのジュネーブで開催された第１２回会合の”High  efficiency  video  coding  (HEVC)  text  specification  draft  10”,  JCTVC-L1003_v34）に従うと、ソース・タイプ情報は、異なるフラグを用いて伝達される。詳細には、ドラフト１０に従うと、ピクチャ・ソース情報は、「ピクチャ・タイミング」ＳＥＩメッセージに含まれる。詳細には、ピクチャ・タイミングＳＥＩメッセージは、source_scan_typeシンタックス要素及びduplicate_flagシンタックス要素を含むピクチャ・レベルＳＥＩメッセージである。さらに、ドラフト１０において、source_scan_type値が「１」に等しいことは、関連ピクチャのソース・スキャン・タイプがプログレッシブとして解釈されるべきであることを示し、source_scan_type値が「０」に等しいことは、関連ピクチャのソース・スキャン・タイプがインタレースとして解釈されるべきであることを示す。さらに、source_scan_type値が「２」に等しいことは、関連ピクチャのソース・スキャン・タイプが未知である、あるいは指定されていないことを示すのに対し、「３」に等しいsource_scan_typeは、将来の使用のために予約されており、値「２」に等しいものとしてデコーダにより解釈される。
【００６０】
特定の実施例において、source_scan_typeの値は、プロファイル、ティア、及び／又はレベル情報（例えば、プロファイル、ティア、又はレベルＳＥＩメッセージ）に存在する２つのシンタックス要素から決定される。それらは、general_progressive_source_flag及びgeneral_interlaced_source_flagである。さらに、source_scan_typeシンタックス要素は、必ずしも存在するわけではなく、そのような場合、general_progressive_source_flag及びgeneral_interlaced_source_flagを使用して、ソース・タイプを決定することができる。
【００６１】
１つの例示的な実施例において、general_progressive_source_flag及びgeneral_interlaced_source_flagは次のように解釈される。general_progressive_source_flagが「１」に等しく、general_interlaced_source_flagが「０」に等しい場合、関連する符号化ビデオ・セグメントにおけるピクチャのソース・スキャン・タイプは、プログレッシブとして解釈されるべきである。この場合、１つの特定の実施例において、source_scan_typeの値は、存在するときには「１」に等しく、存在しないときには「１」に等しいと推定されるべきである。general_progressive_source_flagが「０」に等しく、general_interlaced_source_flagが「１」に等しい場合、関連する符号化ビデオ・セグメントにおけるピクチャのソース・スキャン・タイプは、インタレースとして解釈されるべきである。この場合、１つの特定の実施例において、source_scan_typeの値は、存在するときには「０」に等しく、存在しないときには「０」に等しいと推定されるべきである。general_progressive_source_flagが「０」に等しく、general_interlaced_source_flagが「０」に等しい場合、関連する符号化ビデオ・セグメントにおけるピクチャのソース・スキャン・タイプは、未知のものとして又は指定されていないものとして解釈されるべきである。この場合、１つの特定の実施例において、source_scan_typeの値は、存在するときには「２」に等しく、存在しないときには「２」に等しいと推定されるべきである。general_progressive_source_flagが「１」に等しく、general_interlaced_source_flagが「１」に等しい場合、関連する符号化ビデオ・セグメントにおける各ピクチャのソース・スキャン・タイプは、シンタックス要素（例えば、ピクチャ・タイミングＳＥＩメッセージ内のsource_scan_type）を用いて、ピクチャ・レベルで独立して示される。これらの値は、例示の目的に過ぎず、プログレッシブ・ピクチャ、インタレース・ピクチャ、又は未知のスキャン・ソースを有するピクチャをシグナリングするために、異なる値又は値の組合せが使用されてもよいことを理解すべきである。
【００６２】
general_progressive_source_flag及びgeneral_interlaced_source_flagは、上述したprogressive_source_flag及びconfidence_levelシンタックス要素と同様に機能する。詳細には、progressive_source_flag及びconfidence_levelシンタックス要素の集合的オペレーションと同様に、general_progressive_source_flag及びgeneral_interlaced_source_flagは組み合わされて、１以上のピクチャがプログレッシブ又はインタレースであるかを識別し、その判定に関連する信頼性レベルを識別するよう機能する。例えば、general_progressive_source_flag及びgeneral_interlaced_source_flagが、「１」及び「０」である（又は、「０」及び「１」である）とき、それらのシンタックス要素は、ピクチャがプログレッシブである（又は、インタレースである）ことを示す。さらに、このインジケーションは、高レベルの信頼性を有する。しかしながら、ピクチャ・タイプにおいて低レベルの信頼性が存在する場合には、general_progressive_source_flag及びgeneral_interlaced_source_flagはそれぞれ、「０」の値を有し、これは、ソース・スキャン・タイプが未知であることを示す。したがって、general_progressive_source_flag及びgeneral_interlaced_source_flagは、わずかに異なるフォーマットを用いるだけで、上記で紹介したconfidence_levelシンタックス要素及びprogressive_source_flagと同じ質又は特徴を有する情報を提供する。
【００６３】
ＨＥＶＣ規格のドラフト１０はまた、duplicate_flagシンタックス要素を含む。説明する特定の実施例において、duplicate_flag値が「１」であることは、現ピクチャが出力順において以前のピクチャの複製であると示されることを示すのに対し、duplicate_flag値が「０」であることは、現ピクチャが出力順において以前のピクチャの複製であると示されないことを示す。
【００６４】
ＨＥＶＣ規格のドラフト１０のコンテキストにおいて、ピクチャ・タイミングＳＥＩメッセージは、（上述したように）ピクチャがプログレッシブであるか、インタレースであるか、あるいは未知のものであるかを示すためのsource_scan_typeシンタックス要素を含み得る。ピクチャ・タイミングＳＥＩメッセージはまた、duplicate_flagを含み得る。
【００６５】
１つの特定の実施例において、ピクチャ・タイミングＳＥＩメッセージ（pic_timingＳＥＩメッセージとも呼ばれる）のシンタックスは以下の通りである。
【表２】
2018182770.tif 000004
【００６６】
さらに、ドラフトＨＥＶＣ規格には現在存在しないが、所定の実施例において、ピクチャ・タイミングＳＥＩメッセージはまた、符号化コンテンツが混合特性（例えば、混合されたプログレッシブ及びインタレース・コンテンツ）を含むか否かを示すためのフラグを含み得る。例えば、１つの例示的な実施例において、mixed_characteristics_flagを使用して、ピクチャが混合されたプログレッシブ及びインタレース・スキャン特性を有するかどうかを示すことができる。例えば、mixed_characteristics_flagが「１」に等しいことは、ビデオ・コンテンツが混合されたプログレッシブ及びインタレース・スキャン特性を有することを示す。そのような混合特性ビデオは、例えば、フィールドベースのグラフィックスが他のプログレッシブ・スキャン・ビデオ・コンテンツをオーバレイするときに生成され得る。mixed_characteristics_flagが「０」に等しいことは、ビデオ・コンテンツが混合特性を有さないことを示す。他の実施例では、mixed_characteristics_flagの値は、上述した値とは逆になる。
【００６７】
さらに、general_progressive_source_flag、general_interlaced_source_flag、及び／又はsouce_scan_typeシンタックス要素とともに、別々の信頼性レベル・シンタックス要素が作成及び使用され得る。例えば、信頼性レベル・シンタックス要素を使用して、general_progressive_source_flag及びgeneral_interlaced_source_flagにより示される情報の信頼性を示すことができる。信頼性レベル・シンタックス要素は、任意の数のレベルを有することができる。例えば、シンタックス要素は、１ビットのシンタックス要素であってもよいし、２ビットのシンタックス要素であってもよいし、３ビット以上のシンタックス要素であってもよい。さらに、所定の実施形態において、複数のconfidence_levelシンタックス要素が使用される。例えば、souce_scan_type要素、mixed_characteristics_flag、又はduplicate_flagに対して、別々のconfidence_levelシンタックス要素が存在し得る。
【００６８】
図５は、開示する技術の実施形態に従った一般化された符号化方法のフローチャート５００である。例示する方法は、コンピューティング・ハードウェア（例えば、コンピュータ・プロセッサ又は集積回路）を用いて実行され得る。例えば、この方法は、図１に示したようなコンピューティング・ハードウェアにより実行され得る。さらに、この方法はまた、１以上のコンピュータ読み取り可能記憶媒体（例えば、有体のコンピュータ読み取り可能記憶媒体）に記憶されたコンピュータ実行可能命令として実装され得る。
【００６９】
５１０において、ビットストリーム又はビットストリーム部分の１以上のピクチャが符号化される。例示する実施形態において、１以上のピクチャは、１以上のピクチャのソース・スキャン・タイプを示すために使用される１以上のシンタックス要素とともに符号化される。１以上のシンタックス要素は、例えば、ＳＥＩメッセージに含まれ得る。さらに、シンタックス要素は、ピクチャ固有のものであってもよいし、２以上のピクチャの特性を識別してもよい。例示する実施形態において、シンタックス要素は、符号化ピクチャの次の状態のうちの１以上を示す：（ａ）１以上のピクチャがインタレース・スキャン・タイプであることを示す状態、（ｂ）１以上のピクチャがプログレッシブ・スキャン・タイプであることを示す状態、及び（ｃ）１以上のピクチャが未知のソース・スキャン・タイプであることを示す状態。
【００７０】
５１２において、符号化されたビットストリーム又はビットストリーム部分が出力される（例えば、不揮発性コンピュータ読み取り可能媒体に記憶される、且つ／あるいは送信される）。
【００７１】
特定の実施例において、１以上のシンタックス要素は、１以上のピクチャがインタレース・スキャン・タイプであるかどうかを示す第１のフラグと、１以上のピクチャがプログレッシブ・スキャン・タイプであるかどうかを示す第２のフラグと、を含む。他の実施例において、１以上のシンタックス要素は、単一のシンタックス要素を含む。さらに、いくつかの実施例において、１以上のシンタックス要素は、１以上のピクチャがプログレッシブ・スキャン・タイプであるか否かを示す１ビット以上の第１のシンタックス要素（ソース・インジケータ）と、第１のフラグの値の信頼性レベルを示す１ビット以上の第２のシンタックス要素（信頼性レベル）と、を含む。そのような実施例において、信頼性レベル・シンタックス要素は、２以上の信頼性レベルを示すことができる。例えば、信頼性レベル・シンタックス要素は、４つの信頼性レベルを含み得る。第１は、ソース・インジケータが正確であることをシグナリングする信頼性レベルである。第２は、ソース・インジケータが正確である可能性が高いことをシグナリングする信頼性レベルである。第３は、ソース・インジケータが正確でない可能性が高いことを示す信頼性レベルである。第４は、ソース・インジケータが正確でないことを示す信頼性レベルである。
【００７２】
いくつかの実施例において、符号化する前記の動作は、１以上のピクチャが複製ピクチャであるかどうかを示す複製ピクチャ・フラグ及び／又は１以上のピクチャがビデオ・タイプの混合を含むかどうかを示す混合データ・フラグを符号化することをさらに含み得る。
【００７３】
図６は、開示する技術の実施形態に従った一般化された復号化方法のフローチャート６００である。例示する方法は、コンピューティング・ハードウェア（例えば、コンピュータ・プロセッサ又は集積回路）を用いて実行され得る。例えば、この方法は、図１に示したようなコンピューティング・ハードウェアにより実行され得る、あるいは、１以上のコンピュータ読み取り可能記憶媒体（例えば、有体のコンピュータ読み取り可能記憶媒体）に記憶されたコンピュータ実行可能命令として実装され得る。
【００７４】
６１０において、ビットストリーム又はビットストリーム部分の１以上のピクチャが受信される（例えば、さらなる処理のために、ロード、バッファ、又は準備される）。例示する実施形態において、ビットストリーム又はビットストリーム部分は、１以上のピクチャのピクチャ・ソース・スキャン・タイプを示すために使用される１以上のシンタックス要素をさらに含む。シンタックス要素は、ピクチャ固有のものであってもよいし、２以上のピクチャの特性を識別してもよい。例示する実施形態において、シンタックス要素は、１以上の復号化ピクチャの次の状態のうちの１以上を示す：（ａ）１以上のピクチャがインタレース・スキャン・タイプであることを示す状態、（ｂ）１以上のピクチャがプログレッシブ・スキャン・タイプであることを示す状態、及び（ｃ）１以上のピクチャが未知のソース・スキャン・タイプであることを示す状態。
【００７５】
６１２において、１以上のピクチャが、（例えば、上記で開示した復号化、本明細書で説明したドラフトＨＥＶＣ規格で記述されている復号化、又は任意の他の周知の復号化技術のいずれかを用いて）復号化される。
【００７６】
６１４において、復号化された１以上のピクチャが、１以上のシンタックス要素により識別されたソース・スキャン・タイプに従って処理される。例えば、いくつかの実施形態において、１以上のピクチャが、識別されたスキャン・タイプに従って表示され得る（例えば、インタレース・スキャン・ビデオ又はプログレッシブ・スキャン・ビデオが表示され得る）。他の実施形態において、復号化された１以上のピクチャが、後の表示のために処理され得る。例えば、例示する方法を実装するデコーダ・デバイスは、インタレースとしてシグナリングされるピクチャをデインタレースし、次いで、結果として生じるビデオをトランスコード、記憶、及び／又は送信することができる（例えば、ビデオを記憶する、あるいはビデオを表示する別のデバイス又はモジュールにビデオを送信することができる）。１以上のシンタックス要素が低レベルの信頼性を示す、あるいはスキャン・タイプが未知であることを示す状況において、処理は、スキャン・タイプを決定するために１以上のピクチャを解析することを含み得る。
【００７７】
特定の実施例において、１以上のシンタックス要素は、１以上のピクチャがインタレース・スキャン・タイプであるかどうかを示す第１のフラグと、１以上のピクチャがプログレッシブ・スキャン・タイプであるかどうかを示す第２のフラグと、を含む。他の実施例において、１以上のシンタックス要素は、単一のシンタックス要素を含む。さらに、いくつかの実施例において、１以上のシンタックス要素は、１以上のピクチャがプログレッシブ・スキャンであるか否かを示す１ビット以上の第１のシンタックス要素（ソース・インジケータ）と、第１のフラグの値の信頼性レベルを示す１ビット以上の第２のシンタックス要素（信頼性レベル）と、を含む。そのような実施例において、信頼性レベル・シンタックス要素は、２以上の信頼性レベルを示すことができる。例えば、信頼性レベル・シンタックス要素は、４つの信頼性レベルを含み得る。第１は、ソース・インジケータが正確であることをシグナリングする信頼性レベルである。第２は、ソース・インジケータが正確である可能性が高いことをシグナリングする信頼性レベルである。第３は、ソース・インジケータが正確でない可能性が高いことを示す信頼性レベルである。第４は、ソース・インジケータが正確でないことを示す信頼性レベルである。
【００７８】
いくつかの実施例において、復号化する前記の動作は、１以上のピクチャが複製ピクチャであるかどうかを示す複製ピクチャ・フラグ及び／又は１以上のピクチャがビデオ・タイプの混合を含むかどうかを示す混合データ・フラグを復号化することをさらに含み得る。
【００７９】
開示した本発明の原理を適用することができる多くの可能な実施形態の観点から、例示した実施形態は、本発明の好ましい例に過ぎないことを認識すべきであり、本発明の範囲を限定するものとして解釈すべきではない。むしろ、本発明の範囲は、請求項及びその均等の構成により定められる。したがって、我々は、請求項及びその均等の構成の範囲及び精神に含まれる全てを、我々の発明として特許請求する。
【図１】
2018182770.tif 000005
【図２ａ】
2018182770.tif 000006
【図２ｂ】
2018182770.tif 000007
【図３】
2018182770.tif 000008
【図４】
2018182770.tif 000009
【図５】
2018182770.tif 000010
【図６】
2018182770.tif 000011