【文献】
MV-HEVC/SHVC HLS: On picture order count[online], JCTVC-P JCTVC-P0041,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/16_San Jose/wg11/JCTVC-P0041-v1.zip>
【文献】
Adarsh K. Ramasubramonian Qualcomm Incorporated 5775 Morehouse Drive San Diego, CA 92121, USA,MV-HEVC/SHVC HLS: On picture order count[online], JCTVC-O JCTVC-O0213,インターネット<URL:http://phenix.it-sudparis.eu/jct/doc_end_user/documents/15_Geneva/wg11/JCTVC-O0213-v1.zip>
(58)【調査した分野】(Int.Cl.,DB名)
前記マーク及び制御情報が前記コードストリーム中のパラメーター集合が位置するフィールドに位置して、前記コードストリーム中の前記マーク及び制御情報が位置するパラメーター集合を使用した全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する請求項1に記載の方法。
前記パラメーター集合が、ビデオパラメーター集合VPS、シーケンスパラメーター集合SPS、画像パラメーター集合PPSの中の少なくとも一つを含む請求項2に記載の方法。
複数の前記パラメーター集合にいずれもPOCアライメント操作を実行するか否かを指示するマーク及び制御情報が含まれていると、パラメーター集合間の引用関係に基づいて、現在のパラメーター集合中のPOCアライメント操作を実行するか否かを指示するマーク及び制御情報で直接及び/又は間接的に引用されたパラメーター集合中の対応するPOCアライメント操作を実行するか否かを指示するマーク及び制御情報をカバーする請求項2に記載の方法。
前記マーク及び制御情報が前記コードストリーム中のパラメーター集合のフィールド以外のその他の少なくとも画像レイヤに作用するデータ構造に対応するフィールドに位置して、前記コードストリームの前記データ構造の有効作用範囲内の全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する請求項1に記載の方法。
前記マーク及び制御情報が前記コードストリームのシステムレイヤにおけるビデオメディアの属性を記述するフィールドに位置して、システムコードストリームに含まれた前記コードストリームの全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する請求項1に記載の方法。
前記マーク及び制御情報が前記コードストリームのメディアファイルにおけるビデオメディアの属性を記述するフィールドに位置して、前記メディアファイルに含まれた前記コードストリームの全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する請求項1に記載の方法。
前記マーク及び制御情報が、POCアライメント操作をオン/オフする開始画像位置情報及び/又はPOCアライメント操作をオン/オフする終止画像位置情報を更に含み、
前記マーク及び制御情報を前記コードストリームに書き込みする前、
予測構造と応用需要に応じて、POCアライメント操作をオン/オフする一区間の画像放送順又は画像復号化順に従って連続する画像の開始及び/又は終止位置を確定することを更に含む請求項1乃至8の中のいずれかに記載の方法。
応用需要に応じて、コードストリームの全部及び/又は一部にビデオ画像番号POCアライメント操作を実行する必要があるか否かを判断するように構成される判断手段と、
判断結果に基づいて、マーク及び制御情報を前記コードストリームに書き込みするように構成される書き込み手段と、を含み、前記マーク及び制御情報が、前記コードストリームの全部及び/又は一部にPOCアライメント操作を実行するか否かの指示情報を含むコードストリームの生成装置。
前記マーク及び制御情報が、POCアライメント操作をオン/オフする開始画像位置情報及び/又はPOCアライメント操作をオン/オフする終止画像位置情報を更に含み、
予測構造と応用需要に応じて、POCアライメント操作をオン/オフする一区間の画像放送順又は画像復号化順に従って連続する画像の開始及び/又は終止位置を確定するように構成される確定手段を更に含む請求項10に記載の装置。
複数の前記パラメーター集合にいずれもPOCアライメント操作の実行を指示するマーク及び制御情報が含まれていると、パラメーター集合間の引用関係に基づいて、現在のパラメーター集合中のPOCアライメント操作を実行するか否かを指示するマーク及び制御情報で直接及び/又は間接的に引用されたパラメーター集合中の対応するPOCアライメント操作を実行するか否かを指示するマーク及び制御情報をカバーする請求項12に記載の方法。
前記マーク及び制御情報が前記コードストリーム中のパラメーター集合のフィールド以外のその他の少なくとも画像レイヤに作用するデータ構造に対応するフィールドに位置して、前記コードストリームの前記データ構造の有効作用範囲内の全部及び/又は一部の前記画像にPOCアライメント操作を実行するか否かを指示する請求項12に記載の方法。
前記マーク及び制御情報が前記コードストリームのシステムレイヤにおけるビデオメディアの属性を記述するフィールドに位置して、システムコードストリームに含まれた前記コードストリームの全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する請求項12に記載の方法。
コードストリームから、前記コードストリームの全部及び/又は一部にビデオ画像番号POCアライメント操作を実行するか否かの指示情報を含むマーク及び制御情報を取得するように構成される取得手段と、
前記マーク及び制御情報の指示に応じて、前記コードストリーム中のPOCアライメント操作を実行する必要のある全部及び/又は一部の画像にPOCアライメント操作を実行するように構成される実行手段と、を含み、
前記マーク及び制御情報が前記コードストリーム中のパラメーター集合が位置するフィールドに位置して、前記コードストリーム中の前記マーク及び制御情報が位置するパラメーター集合を使用した全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示し、
前記パラメーター集合が、ビデオパラメーター集合VPS、シーケンスパラメーター集合SPS、画像パラメーター集合PPSの中の少なくとも一つを含むコードストリームの処理装置。
【背景技術】
【0002】
現在制定中の高効率ビデオ符号化(H.265/High Efficiency Video Coding、HEVC)標準互換性に基づく三次元ビデオ(Three−Dimensional Video、3DV)符号化標準MV−HEVC(HEVC Multi−view video coding extension framework)、3D−HEVC(3D High Efficiency Video Coding)、スケーラブルビデオ符号化(Scalable video coding)において、統一な高層構造設計を用いている。当該統一な設計構造は、「マルチレイヤビデオ符号化」の概念に基づいて、MV−HEVC や3D−HEVCのテクスチャコンポーネント(Texture Component)とデプスコンポーネント(Depth Component)、スケーラブル符号化の異なるスケーラブルレイヤをいずれも抽象的に「レイヤ(Layer)」とし、レイヤ識別子(Layer Id)で異なる視点とスケーラブルレイヤを表す。現在、既に発布されたH.265/HEVC 標準は、「H.265/HEVC Version 1」標準と呼ばれている。
【0003】
マルチレイヤビデオの符号化において、同時刻に取得したビデオ画像及びそれに対応する符号化ビットにより1つのアクセスユニット(Access Unit、AU)を構成する。同一のAUにおいて、各レイヤ画像は異なる符号化方法を用いることができる。これにより、同一のAUにおいて、あるレイヤの画像をランダムポイントのフレーム内符号化ランダムアクセス(Intra Random Access Point、IRAP)画像とすることができ、その他の1つ又は複数のレイヤは普通のフレーム間、レイヤ間の予測符号化画像である。実際の応用において、異なるレイヤは、ネットワークの伝送状況、ビデオコンテンツの変更状況等に応じて、各自のIRAP画像挿入戦略を選択する。例えば、H.265/HEVC との互換性を有する基本レイヤビデオ画像について、頻度の高いIRAP画像挿入戦略を採用することができ、強化レイヤビデオ画像は頻度の低いIRAP画像挿入戦略を採用することができる。これにより、このようなレイヤごと(layer−wise)アクセスするマルチレイヤビデオ符号化構造によって、大きいコードレートの激増が発生した場合、マルチレイヤビデオ符号化コードストリームのランダムアクセス性能を保証できる。
【0004】
マルチレイヤビデオ符号化コードストリームについて、その基本レイヤ(Base Layer、BL)のコードストリームはH.265/HEVC Version 1標準の規範に符合しなければならない。即ち、マルチレイヤビデオ符号化コードストリームは、H.265/HEVC Version 1標準に従って設計されたデコーダーが正確に復号化してマルチレイヤビデオ符号化コードストリームからBLコードストリームを抽出できるように保証しなければならない。特に、MV−HEVC と3D−HEVC の場合、BLは基本視点(Base View)又は独立視点(Independent View)に対応し、ELは強化視点(Enhancement View)又は非独立視点(Dependent View)に対応する。実際の応用において、マルチレイヤビデオ符号化コードストリームを抽出する方法によって、伝統的な二次元TV放送のみに用いられる基本視点コードストリーム、三次元立体表示を支援する双視点コードストリーム及び一層豊かな三次元立体表示を支援する多視点コードストリームを取得することができる。
【0005】
H.265/HEVC Version 1標準において、IRAP画像のタイプは、IDR(Instantaneous Decoding Refresh)画像、BLA(Broken Link Access)画像、CRA(Clean Random Access)画像の3種類がある。当該3種類の画像はいずれもフレーム内(Intra)符号化方式で符号化を行っていて、その復号化はその他の画像に依存しない。当該3種類の画像タイプの違いは、ビデオ画像番号(Picture Order Count、POC)と復号化画像バッファ領域(Decoded Picture Buffer、DPB)についての操作にある。
【0006】
POCは、H.265/HEVC Version 1における画像放送順を示す番号である。H.265/HEVC Version 1標準によると、画像のPOC値は二つの部分で構成される。PicOrderCntValで画像のPOC値を表すと、PicOrderCntVal=PicOrderCnMsb+PicOrderCnLsbである。ここで、PicOrderCnMsbは、画像POC値のMSB(Most Significant Bit)値であって、PicOrderCnLsbは画像POC値のLSB(Least Significant Bit)である。通常、PicOrderCnMsbの値は、復号化順に従って現在の画像の前のTemporalIdが0である画像のPicOrderCnMsbの値に等しく、PicOrderCnLsbの値はスライス(slice)ヘッダ情報中のslice_pic_order_cnt_lsbフィールドの値に等しい。slice_pic_order_cnt_lsbフィールドのビット数は、シーケンスパラメーター集合(Sequance Parameter Set、SPS)中のlog2_max_pic_order_cnt_lsb_minus4により確定され、必要なビット数は、log2_max_pic_order_cnt_lsb_minus4+4に等しい。
【0007】
H.265/HEVC Version 1において、現在の画像がIDR画像であると、PicOrderCnMsbの値は0に設定され、スライスヘッダ情報にslice_pic_order_cnt_lsbフィールドを含まなく、PicOrderCnLsbの値が0であると認定する。現在の画像がBLA画像であると、PicOrderCnMsbの値は0に設定され、スライスヘッダ情報にslice_pic_order_cnt_lsbフィールドを含んで、PicOrderCnLsbの値を確定する。現在の画像がCRA画像であって、且つフラグHandleCraAsBlaFlagの値が0であると、通常の方法でPOCを計算する。現在の画像がCRA画像であって、且つフラグHandleCraAsBlaFlagの値が1であると、BLA画像の方法で該CRA画像のPOC値を計算する。
【0008】
尚、マルチレイヤビデオ符号化標準において、画像タイプや強化レイヤ(Enhancement Layer、EL)のスライスヘッダ情報には終始slice_pic_order_cnt_lsbフィールドが含まれている。
【0009】
これに基づいて、マルチレイヤビデオ符号化コードストリームについて、DPB制御中に同時刻の画像を検出するとともに、デコーダーがPOC値を用いてコードストリームから各AUの開始/終止位置を簡単に確定するように保証するため、AU中の全ての画像がいずれも同一なPOC値を有することを求めている。layer−wiseの符号化構造について、AUに同時にIRAP画像と非IRAP画像が含まれている可能性がある。これにより、IRAP画像がIDR画像とBLA画像であると、該AUに含まれる画像のPOC値は異なる。よって、layer−wise構造である時、AU中の各画像が同一なPOCを有するように、マルチレイヤビデオ符号化標準にPOCアライメント(POC Alignment)機能を設計しなければならない。
【0010】
当該問題を解決するため、JCT−VC標準会議提案であるJCTVC−NO244にて、POCアライメント方法を提起した。該方法は、スライスヘッダ情報中の予備ビットを利用して、長さが1ビットであるpoc_reset_flagフィールドを追加することである。当該フィールドの値が1である時、まず通常の方法で画像POC値の復号化を行い、その後、DPB中の同一レイヤ(BLを含む)中の画像のPOC値をその前に計算して得たPOC値を減少し(即ち、POC平行移動操作)、最後に該スライスが位置する画像のPOC値を0に設定する。
【0011】
該方法の最も主要な問題点は、そのBLコードストリームがH.265/HEVC Version 1標準との互換性を有しない、即ち、H.265/HEVC Version 1標準に符合するデコーダーが復号化してマルチレイヤビデオ符号化コードストリームからBLコードストリームを抽出して得るように保証することができないことである。
【0012】
該互換性問題を解決するため、JCT−VC会議提案JCTVC−O0140とJCTVC−O0213において、JCTVC−N0244に基づいて、POCアライメントが必要である時、POC中のMSBのみを0に設定することを提起した。更に、再設定POC値を携帯したフラグのスライスのロスやフレームレートの異なる応用状況に対応できるように、JCTVC−O0213にPOCアライメントの遅延操作選択肢を追加した。JCTVC−O0176において、IDR画像である時、明示的なスライスヘッドフラグを利用するのではなく、直接にPOCアライメントを行い、また、BLコードストリームのIDR画像スライスヘッドに予備ビットを追加して、該画像がCRA画像であってIDR画像ではない時のPOC値を計算することが提起され、該計算によって得られたPOC値はELレイヤDPBに記憶された画像のPOC平行移動操作に利用される。JCTVC−O0275において、layer POCの概念が提起され、ELレイヤ画像について、2セットの異なるPOCを維持する。ここで、Layer POCはPOCアライメント条件を利用せずに得たPOC値であって、該値は参照画像セット(Reference Picture Set、RPS)等の復号化アルゴリズムに関連する操作に用いられる。その他の1セットは、POCアライメント処理を経たPOCで、該POCは同一のAU中のBL画像のPOC値と一致し、該POC値は画像の出力、放送プロセスの制御に用いられる。JCTVC−O0275に提起された方法によると、POCアライメントを行う時、BLの情報を使用し、且つ、POCアライメントのトリガーに、エンコーダエンコーダ/デコーダーの内部で維持している変数フラグを利用し、該フラグの値はBLレイヤの画像タイプと関連つけられる。
【0013】
マルチレイヤビデオの場合、同一のAU中に含まれたレイヤの画像が同一なPOC値を有するように、殆どがPOCアライメントを行って、画像出力の制御、AU境界検出等の操作の便宜を図るべきである。しかしながら、一部の応用において、POCアライメントを行う必要がない。例えば、非連携の連続放送(uncoordinated simulcast)において、ある時間区間においてBL又は単独のあるELレイヤのビデオコードストリームのみを適用する場合、当該コードストリーム中にPOCアライメントを使用する必要がない。連続放送するコードストリームに抽出、編集、再構築を行う時、コードストリームが発生する過程にもPOCアライメントを使用する必要がない。そして、ハイブリッドスケーラブルビデオ符号化(hybrid scalable video coding)の場合、そのBLとELは異なるビデオ符号化標準に従って符号化を行い、異なる符号化標準にて異なるPOCシステムとPOCに基づく画像出力制御操作方式を利用するので、ハイブリッドスケーラブルビデオ符号化においてもPOCアライメント操作を使用する必要がない。そして、マルチレイヤビデオ符号化コードストリームの場合、システムレイヤ又はメディアファイルのパッケージング時に追加した時間標記情報によって、同時刻に収集された画像の放送時間上のアライメントを実現することができ、この時、ビデオコードストリームにPOCアライメントを行う必要がない。
【0014】
このように、JCTVC−N0244がBL情報又は予測構造情報に示唆されたものから推定してPOCアライメント操作を実行する方法において明示的なPOCアライメント操作フラグは使用しない。予測構造が一定の条件を満たす時、POCアライメント操作を実行する。POCアライメント操作が必要でない時、POCアライメント操作の一部及び/又は全部を閉じることができない。
【発明を実施するための形態】
【0041】
以下、図面を参照しつつ実施例を結合して本発明を詳しく説明する。尚、矛盾しない限り、本願の実施例及び実施例中の特徴を組み合せることができる。
【0042】
POCアライメントが必要である場合、エンコーダは既存のPOCアライメント方法でマルチレイヤビデオ符号化コードストリームを生成することができ、デコーダーは既存技術におけるPOCアライメント方法に対応する復号化方法で現在の画像のPOC値を取得することができる。一部の応用において、POCアライメントを必要としない。例えば、非連携の連続放送、ハイブリッドスケーラブルビデオ符号化等の応用に置いて必要としない。
【0043】
よって、本発明の実施例において、マルチレイヤビデオエンコーダ/デコーダーとコードストリームの柔軟性を向上させて様々な応用需要に適応するため、マルチレイヤビデオ符号化の高レイヤのデータのプロセスにおいて、POCアライメント操作に対するマーク情報及び対応する操作を増加する。
【0044】
尚、本発明の実施例において、ソースデバイスはエンコーダを含み、マルチレイヤビデオ符号化コードストリームを生成することができ且つ必要なファイル、システムレイヤの処理を行うデバイスを指し、シンクデバイスはデコーダーを含み、必要なファイル、システムレイヤの処理を行い、マルチレイヤビデオ符号化コードストリームの復号化を行うことのできるデバイスを指す。
【0045】
(実施例1)
本発明の実施例によると、コードストリームの生成方法を提供する。
【0046】
図1は本発明の実施例に係るコードストリームの生成方法100を示すフローチャートである。
図1に示すように、本発明の実施例に係るコードストリームの生成方法は、ステップS102とS104を含む。ステップS102において、応用需要(例えば、全部レイヤ又は複数のレイヤの画像に同時に復号化を行って出力するか否か)に応じて、コードストリームの全部及び/又は一部にPOCアライメント操作を実行するか否かを判断する。その後、ステップS104において、判断結果に基づいて、マーク及び制御情報をコードストリームに書き込みし、ここで、該マーク及び制御情報はコードストリームの全部及び/又は一部にPOCアライメント操作を実行する指示情報を含む。
【0047】
具体的な実施において、ソースデバイスは、コードストリームを伝送する必要がある時、上記ステップS102とステップS104を実行し、伝送するコードストリームにPOCアライメント操作マーク及び制御情報を書き込みすることができる。
【0048】
本発明の実施例において、前記コードストリームはマルチレイヤビデオコードストリームであることができ、システムレイヤ上のその他のコードストリームであることもでき、本発明の実施例においては具体的に限定しない。
【0049】
上記ステップS102〜S104によって、応用の需要に応じて、マルチレイヤビデオ符号化の高レイヤのデータのプロセスにおいて、POCアライメント操作に対するマーク及び制御情報と対応する操作を増加して、マルチレイヤビデオエンコーダ/デコーダーとコードストリームの柔軟性を向上させることができる。
【0050】
本発明の実施例において、上記マーク及び制御情報をコードストリームの異なる位置に書き込みすることで、該マーク及び制御情報の作用範囲を表すことができる。本発明の実施例において、上記マーク及び制御情報はコードストリーム中の、ビデオコードストリーム中の既存のパラメーター集合フィールドと、ビデオコードストリーム中のパラメーター集合以外のその他の少なくとも画像レイヤに作用するデータ構造に対応するフィールドと、ビデオコードストリーム中の強化補助情報(SEI)が位置するフィールドと、システムレイヤにおけるビデオメディアの属性を記述するフィールドと、メディアファイル中のビデオメディアの属性を記述するフィールドの中の少なくとも1つに位置することができる。
【0051】
また、本発明の実施例において、上記マーク及び制御情報は以下の方式でPOCアライメント操作を実行するか否かを指示することができる:
(1)上記マーク及び制御情報がコードストリーム中のパラメーター集合が位置するフィールドに位置して、コードストリーム中のマーク及び制御情報が位置するパラメーター集合を使用した画像レイヤにPOCアライメント操作を実行するか否かを指示することができる。ここで、パラメーター集合はビデオパラメーター集合、シーケンスパラメーター集合、画像パラメーター集合の中の少なくとも1つを含むことができる。例えば、マーク及び制御情報がビデオパラメーター集合(Video Parameter Set、VPS)に位置すると、該マーク及び制御情報の制御範囲はマルチレイヤビデオの全部の画像レイヤであって、マーク及び制御情報がシーケンスパラメーター集合(Sequence Parameter Set、SPS)に位置すると、該マーク及び制御情報の制御範囲は該SPSを使用したマルチレイヤビデオの画像レイヤであって、マーク及び制御情報が画像パラメーター集合(Picture Parameter Set、PPS)に位置すると、該マーク及び制御情報の制御範囲は該PPSを使用したマルチレイヤビデオの画像レイヤである。
【0052】
このような場合、複数の前記パラメーター集合にいずれもPOCアライメント操作を実行するか否かを指示するマーク及び制御情報が含まれていると、パラメーター集合間の引用関係に基づいて、現在のパラメーター集合中のPOCアライメント操作を実行するか否かを指示するマーク及び制御情報で直接及び/又は間接的に引用されたパラメーター集合中の対応するPOCアライメント操作を実行するか否かを指示するマーク及び制御情報をカバーする。
【0053】
(2)上記マーク及び制御情報が前記コードストリーム中のパラメーター集合のフィールド以外のその他の少なくとも画像レイヤに作用するデータ構造に対応するフィールドに位置して、前記コードストリームの前記データ構造が作用する画像レイヤにPOCアライメント操作を実行するか否かを指示する。ここで、該データ構造の作用範囲は少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含む。
【0054】
(3)上記マーク及び制御情報がコードストリーム中の補充強化情報(Ssupplemental Enhancement Information、SEI)に位置して、該SEI情報の有効範囲内の前記コードストリーム中の画像にPOCアライメント操作を実行するか否かを指示する。
【0055】
(4)上記マーク及び制御情報が前記コードストリームのシステムレイヤにおけるビデオメディアの属性を記述するフィールド、即ちシステムレイヤ記述子(Descriptor)に位置して、システムコードストリームに含まれた前記コードストリームの全部及び/又は一部の画像にPOCアライメント操作を実行するか否かを指示する。
【0056】
(5)上記マーク及び制御情報が前記マルチレイヤビデオコードストリームのメディアファイル中のビデオメディアの属性を記述するフィールド、即ちファイル記述子(Descriptor)に位置して、前記メディアファイルに含まれたコードストリームの全部と一部にPOCアライメント操作を実行するか否かを指示する。
【0057】
上記マーク及び制御情報は同時に上述した複数の位置に位置して、同時に複数の範囲内の画像にPOCアライメント操作を実行するか否かを指示することもできる。
【0058】
本発明の実施例において、上記マーク及び制御情報は、POCアライメント操作をオン/オフする開始画像位置情報及び/又はPOCアライメント操作をオン/オフする終止画像位置情報を更に含むこともできる。すると、
図1に示すように、ステップS104の前、方法100は、予測構造と応用需要に応じて、POCアライメント操作をオン/オフする一区間の画像放送順又は画像復号化順に従って連続する画像の開始及び/又は終止位置を確定する(ステップS103)ことを更に含むことができる。
【0059】
本発明の実施例において、上記マーク及び制御情報をコードストリームに書き込みした後、該コードストリームを伝送することができ、受信側(シンクデバイスとも呼ばれる)が該マルチレイヤビデオコードストリームを受信し、前記マルチレイヤビデオコードストリームから前記マーク及び制御情報を取得し、前記マーク及び制御情報の指示に応じて、マルチレイヤビデオコードストリームに復号化操作及び/又は放送操作を実行することもできる。例えば、上記マーク及び制御情報に基づいて、POCアライメント操作をオン/オフするコードストリームを確定し、復号化及び/又は放送時に、POCアライメント操作をオンするコードストリームにPOCアライメントを実行する。
【0060】
(実施例2)
本発明の実施例によると、コードストリームの生成装置を提供し、該装置は実施例1で提供する方法を実施するためのものである。
【0061】
図2は本発明の実施例に係るコードストリームの生成装置200の構造を示す図で、
図2に示すように、生成装置200は、判断手段202と書き込み手段204とを含むことができる。ここで、
図2に示す各手段の接続関係は例示的なもので、当業者であれば他の接続関係を採用することができ、このような接続関係で各手段が本発明を実現する機能を果たすことができればよい。
【0062】
本明細書において、各手段の機能を専用ハードウェア又は適切なソフトウェアと結合して処理を実行することのできるハードウェアで実現することができる。このようなハードウェア又は専用ハードウェアは、専用集積回路(ASIC)、各種の他の回路、各種のプロセッサ等を含むことができる。プロセッサで実現する時、該機能を単一の専用プロセッサ、単一の共有プロセッサ又は複数の独立したプロセッサ(その中の一部が共有される可能性もある)によって提供することができる。そして、プロセッサをソフトウェアを実行可能なハードウェアのみを指すと理解されるべきではなく、デジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、不揮発性メモリを含むがこれに限定されることはない。
【0063】
本発明の実施例において、判断手段202は、応用需要に応じて、コードストリームの全部及び/又は一部にビデオ画像番号POCアライメント操作を実行する必要があるか否かを判断するように構成される。書き込み手段204は、判断手段202の判断結果に基づいて、前記マルチレイヤビデオコードストリームの全部及び/又は一部にPOCアライメント操作を実行するか否かの指示情報を含むマーク及び制御情報をコードストリームに書き込みするように構成される。
【0064】
上記実施例1に対応して、書き込み手段204は、マルチレイヤビデオコードストリームの異なる位置に上記マーク及び制御情報を書き込みすることで、マルチレイヤビデオコードストリームの全部及び/又は一部でPOCアライメント操作のオン又はオフするか否かを指示することができる。具体的な説明は省略する。
【0065】
上記マーク及び制御情報は、POCアライメント操作をオン/オフする開始画像位置情報及び/又はPOCアライメント操作をオン/オフする終止画像位置情報を更に含むことができ、この場合、
図2に示すように、装置200は、予測構造と応用需要に応じて、POCアライメント操作をオン/オフする一区間の画像放送順又は画像復号化順に従って連続する画像の開始及び/又は終止位置を確定するように構成される確定手段206を更に含むことができる。
【0066】
該装置は、前記マーク及び制御情報が書き込みされた前記コードストリームを出力するように構成される出力手段を更に含むこともできる。
【0067】
本実施例の装置は、ビデオ通信応用中に関連するコードストリームを生成するデバイスであることができ、例えば、携帯電話、コンピューター、サーバ、セットトップボックス、携帯型移動端末、デジタル撮像装置,TV放送システムデバイス等であることができる。該装置はソースデバイスに位置することができ、該出力装置は、スケーラブルビデオ、多視点ビデオ、多視点深度、多視点ビデオ+多視点深度の中の少なくとも1種のマルチレイヤビデオ信号を処理することができる。ここで、立体ビデオは多視点ビデオの中の視点数が2である特別な形式である。
【0068】
(実施例3)
上記実施例1で提供した方法に対応して、本発明の実施例によると更に、コードストリームの処理方法を提供し、上記生成されたコードストリームを処理する。
【0069】
図3は本発明の実施例に係るコードストリームの処理方法300を示すフローチャートで、
図3に示すように、本発明の実施例に係るマルチレイヤビデオコードストリームの処理方法300は主に、ステップS302とステップS304を含む。ステップS302において、コードストリームから、コードストリームの全部及び/又は一部にビデオ画像序号POCアライメント操作を実行するか否かの指示情報を含むマーク及び制御情報を取得する。その後、ステップS304において、上記マーク及び制御情報の指示に基づいて、コードストリーム中のPOCアライメント操作を実行する必要のある部分にPOC操作を実行する。
【0070】
本実施例において、上記実施例1に対応して、上記マーク及び制御情報はコードストリームの複数のフィールドに位置して、マーク及び制御情報の有効範囲を指示することができ、具体的には実施例1を参照することができ、本実施例中では詳細な説明を省略する。
【0071】
上記実施例1に対応して、マーク及び制御情報をコードストリームの異なる位置に書き込みすることで、コードストリームの異なる部分にPOCアライメント操作を実行するか否かを指示することができ、ステップS304は、前記マーク及び制御情報が位置するフィールドの有効範囲及び前記マーク及び制御情報の値に基づいて、前記コードストリーム中のPOCアライメント操作をオン/オフする画像を確定することと、POCアライメント操作をオンする画像にPOCアライメントを実行することと、を含むことができる。
【0072】
(実施例4)
本発明の実施例によると更に、コードストリームの処理装置を提供し、該装置は実施例3で提供した方法を実施するためのものである。
【0073】
図4は本発明の実施例に係るコードストリームの処理装置400の構造を示す図で、
図4に示すように、処理装置400は主に、取得手段402と実行手段404とを含む。ここで、
図4に示す各手段の接続関係は例示的なもので、当業者であれば他の接続関係を採用することができ、このような接続関係で各手段が本発明を実現する機能を果たすことができればよい。
【0074】
本明細書において、各手段の機能を専用ハードウェア又は適切なソフトウェアと結合して処理を実行することのできるハードウェアで実現することができる。このようなハードウェア又は専用ハードウェアは、専用集積回路(ASIC)、各種の他の回路、各種のプロセッサ等を含むことができる。プロセッサで実現する時、該機能を単一の専用プロセッサ、単一の共有プロセッサ又は複数の独立したプロセッサ(その中の一部が共有される可能性もある)によって提供することができる。そして、プロセッサをソフトウェアを実行可能なハードウェアのみを指すと理解されるべきではなく、デジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、不揮発性メモリを含むがこれに限定されることはない
本発明の実施例において、取得手段402はコードストリームから、マルチレイヤビデオコードストリームの全部及び/又は一部にビデオ画像序号POCアライメント操作を実行するか否かの指示情報を含むマーク及び制御情報を取得するように構成される。実行手段406は前記マーク及び制御情報の指示に応じて、前記コードストリーム中のPOCアライメント操作を実行する必要のある部分にPOCアライメントを実行するように構成される。
【0075】
実行手段404は、前記マーク及び制御情報が位置するフィールドの有効範囲及び前記マーク及び制御情報の値に基づいて、前記マルチレイヤビデオコードストリーム中のPOCアライメント操作をオン/オフする画像を確定するように構成される確定手段と、POCアライメント操作をオンする画像にPOCアライメント操作を実行するように構成される制御手段と、を含むことができる。
【0076】
本実施例の装置はビデオ通信応用中に関連するコードストリームを受信して放送するデバイスであることができ、例えば、携帯電話、コンピューター、サーバ、セットトップボックス、携帯型移動端末、デジタル撮像装置、TV放送システムデバイス等であることができる。該装置はシンクデバイスに位置することができ、該処理装置は、スケーラブルビデオ、多視点ビデオ、多視点深度、多視点ビデオ+多視点深度の中の少なくとも1種のマルチレイヤビデオ信号を処理することができる。ここで、立体ビデオは多視点ビデオの中の視点数が2である特別な形式である。
【0077】
(実施例5)
本発明の実施例によると、コードストリームを使用した通信システムを提供する。
【0078】
図5は本発明の実施例に係るコードストリームを使用した通信システム500の構造を示す図で、
図5に示すように、本発明の実施例に係るマルチレイヤビデオコードストリームの伝送システム500はソースデバイス502とシンクデバイス504を含む。ここで、ソースデバイス502は上記実施例2に記載のコードストリームの生成装置200を含み、シンクデバイス504は上記実施例4に記載のコードストリームの処理装置400を含む。本実施例において、ソースデバイス502は実施例1に記載の方法に従ってコードストリームを生成して出力し、シンクデバイス504は該コードストリームを受信して、実施例3に記載の方法に従って該コードストリームに処理を行うことができ、具体的には上記実施例を参照することができ、本実施列においては詳細な説明を省略する。
【0079】
本発明の実施例で提供する技術案を更に説明するため、以下、具体的な実例で本発明の実施例で提供する技術案を説明する。
【0080】
以下の実例で使用するPOCアライメント操作に対する高レイヤのコードストリーム構成方法は、表1と表2に示す構造を採用する。
【0081】
表1と表2に示すように、コードストリームに、全部及び/又は一部のコードストリームにPOCアライメント操作を使用したか否かを示すマーク情報が含まれる。対応するコードストリームにおいて、全部及び/又は一部のコードストリームがPOCアライメント操作を使用したか否かを示す情報の1つ又は複数のビットフィールドを携帯する。
【0082】
表3に示すように、コードストリームに、POCアライメント操作をオン又はオフする開始及び/又は終止位置の情報が含まれる。対応するコードストリームにおいて、POCアライメント操作をオン又はオフする開始及び/又は終止位置情報の1つ又は複数のビットフィールドを携帯する。
【0086】
ここで、表1中の各フィールドの意味(対応する制御操作)は以下のとおりである:poc_alignment_enable_flagの値が1である時、コードストリームの復号化中にPOCアライメント操作を使用する必要があることを表す。poc_alignment_enable_flagの値が0であると、コードストリームの復号化中にPOCアライメント操作を使用しないことを表し、当業者は、poc_alignment_enable_flagの値及びそれが表す意味を他の方式で示すこともでき、本発明の実施例においては具体的に限定しない。poc_alignment_enable_flagはu(1)に対応する符号化/復号化方法を使用する。
【0087】
コードストリームにpoc_alignment_enable_flagに対応するビットフィールドが存在しないと、対応する変数poc_alignment_enable_flagの値が1であると認める。
【0088】
表2中の各フィールドの意味(対応する制御操作)は以下のとおりである:poc_alignment_disable_flagの値が1である時、コードストリームの復号化にPOCアライメント操作を使用しないことを表す。poc_alignment_disable_flagの値が0であると、コードストリームの復号化にPOCアライメント操作を使用することを表す。poc_alignment_disable_flagはu(1)に対応する符号化/復号化方法を使用する。また、コードストリームにpoc_alignment_disable_flagに対応するビットフィールドが存在しないと、対応する変数poc_alignment_disable_flagの値が0であると認める。尚、当業者はpoc_alignment_disable_flagの値及びそれが表す意味を他の方式で示すこともでき、本発明の実施例においては具体的に限定しない。
【0089】
表3中の各フィールドの意味(対応する制御操作)は以下のとおりである:start_infoによりPOCアライメント操作をオン又はオフする開始画像位置を指示する。start_infoはse(v)に対応する符号化/復号化方法を使用する。end_infoによりPOCアライメント操作をオン又はオフする終止画像位置を指示する。end_infoはse(v)に対応する符号化/復号化方法を使用する。
【0090】
表3中のフィールドを表1と表2中のフィールドと組み合せして使用することができる。表3中のフィールドと表1中のフィールドを組み合せして使用する時、POCアライメント操作をオンする開始画像位置と終止画像位置を指示する。表3中のフィールドと表2中のフィールドを組み合せして使用する時、POCアライメント操作をオフする開始画像位置と終止画像位置を指示する。
【0091】
表3において、開始画像位置と終止画像位置を、画像のPOC値、POCの最下位ビット(LSB)の値、POCの最上位ビット(MSB)情報,画像タイムスタンプ情報、画像復号化順情報、画像放送順情報の中の1種類又は複種類で示すことができる。
【0092】
表1、表2、表3中のシンタックス要素は1つ又は複数のデータ構造に使用され、表1、表2、表3中のシンタックス要素に対応するビットフィールドは該データ構造に対応するコードストリームに使用されることができる:
(1)ビデオパラメーター集合(Video Parameter Set、VPS)、
(2)シーケンスパラメーター集合(Sequence Parameter Set、SPS)、
(3)画像パラメーター集合(Picture Parameter Set、PPS)、
(4)補充強化情報(Supplemental Enhancement Information、SEI)、
(5)上記データ構造以外の他の作用範囲が少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造、
(6)システムレイヤ記述子(Descriptor)、
(7)ファイル記述子(Descriptor)、
(8)ハイブリッド使用。
【0093】
以下の上述した各種の方法についての説明は対応する方法の具体的な実例に過ぎない。同時に複種類の方法を使用する時、以下で説明する方法の実例を簡単に組み合せしたり連結すると、対応する実例を得ることができる。
【0094】
以下の実施方法において、表1と表2のコードストリームフィールドは同一のデータ構造に位置しない。以下の実施方法は表1のコードストリームフィールドpoc_alignment_enable_flagを例に説明する。表2のコードストリームフィールドpoc_alignment_disable_flagの対応する実施方法も同じであって、同一である場合、poc_alignment_disable_flagの値とpoc_alignment_enable_flagの値が相反することで異なっている。
【0095】
<実例1>
本実例において、poc_alignment_enable_flagはVPSに位置し、その制御範囲はマルチレイヤビデオの全部レイヤである。その値が1である時、同一のAUに含まれた画像が同一なPOC値を有することを示す。その値が0である時、同一のAUに含まれた画像が同一のPOC値を有することがあれば、異なるPOC値を有することもあることを示す。
【0096】
poc_alignment_enable_flagフィールドの後、更に表3のビットフィールドを使用して、poc_alignment_enable_flagに対応する操作の開始画像位置と終止画像位置を示すこともできる。表3のビットフィールドが存在する時、poc_alignment_enable_flagに限定される操作の有効範囲は表3のビットフィールドが指示する開始画像と終止画像及び(画像放送順又は画像復号化順に従った)その間の全部画像を含む。
【0097】
本実例において、マルチレイヤビデオコードストリームの伝送は主に以下のステップを含む:
ソースデバイスが、応用需要(例えば、全部レイヤ又は複数のレイヤ画像を同時に復号化して出力するか否か)に応じて、マルチレイヤビデオにPOCアライメント操作を実行する必要があるか否かを判断する(ステップ1)。
【0098】
POCアライメント操作の使用が必要であると、ソースデバイスは、poc_alignment_enable_flagの値を1に設定し、そうでないと、0に設定する。
【0099】
ソースデバイスが、u(1)に対応する符号化方法でpoc_alignment_enable_flagの値をVPSコードストリームに書き込みする(ステップ2)。
【0100】
ソースデバイスが、予測構造と応用需要に応じて、(画像放送順又は画像復号化順に従って)連続する一区間の画像にpoc_alignment_enable_flagの値により指示された操作を実行するか否かを確定する。YESであると、ソースデバイスは予測構造と応用需要に応じて、start_infoとend_infoの値を確定し、se(v)に対応する符号化方法で両方の値をコードストリームに書き込みする(ステップ3)。
【0101】
シンクデバイスは、コードストリームを受信した後、u(1)に対応する復号化方法で、VPSコードストリームからpoc_alignment_enable_flagの値を取得する(ステップ4)。
【0102】
コードストリームに表3に示すフィールドが存在する時、シンクデバイスは、se(v)に対応する復号化方法で、コードストリームからstart_infoとend_infoの値を取得する。シンクデバイスは、start_infoとend_infoの値に基づいてpoc_alignment_enable_flagの値に対応する操作の有効画像範囲を確定する。コードストリームに表3に示すフィールドが含まれていないと、シンクデバイスは、poc_alignment_enable_flagの値に対応する操作の有効範囲を、ビデオ符号化シーケンス(Coded Video Sequence、CVS)全体に設定する。
【0103】
シンクデバイスがpoc_alignment_enable_flagの値が1であると判断した時、シンクデバイスはPOC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは、「同一のAUの出力画像のPOC値は同一である」をコードストリームのエラー検出と放送操作の制御条件とする。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスは、直接にPOC値に基づいて画像の出力や放送制御を行うことができる。
【0104】
シンクデバイスがpoc_alignment_enable_flagの値が0であると判断した時、シンクデバイスは非POC条件を用いてビデオコードストリームのAU境界を区画することができる。同一のAUで取得した画像について、それに対応するシステムレイヤ又はファイル中の時間標記情報が同じであると、シンクデバイスは該時間標記情報に指示された時刻で画像の出力や放送制御を行う。
【0105】
<実例2>
本実例において、poc_alignment_enable_flagはSPSに位置し、その制御範囲は該SPSを使用したマルチレイヤビデオのレイヤである。その値が1である時、AU中の該レイヤの画像がBLレイヤの画像(該AUに存在する又は存在すると仮設する)と同一なPOC値を有することを示す。その値が0である時、AU中の該レイヤの画像がBLレイヤの画像(該AUに存在する又は存在すると仮設する)と同一のPOC値を有する可能性があれば、異なるPOC値を有する可能性もある。
【0106】
poc_alignment_enable_flagフィールドの後に、更に、表3のビットフィールドを使用し、poc_alignment_enable_flagに対応する操作の開始画像位置と終止画像位置を示すことができる。表3のビットフィールドが存在する時、poc_alignment_enable_flagに限定される操作の有効範囲は、表3のビットフィールドにより指示された開始画像と終止画像及びその間(画像放送順又は画像復号化順に従った)の全部画像を含む。
【0107】
本実例において、マルチレイヤビデオコードストリームの伝送は主に以下のステップを含む:
ソースデバイスが、応用需要(例えば、全部レイヤ又は複数のレイヤ画像を同時に復号化して出力するか否か)に応じて、ビデオコードストリーム中の該レイヤの画像とBLレイヤの画像にPOCアライメント操作を実行する必要があるか否かを判断する(ステップ1)。
【0108】
POCアライメント操作が必要であると、ソースデバイスは、該レイヤで使用したSPS中のpoc_alignment_enable_flagの値を1に設定し、そうでないと、0に設定する。
【0109】
ソースデバイスは、u(1)に対応する符号化方法でpoc_alignment_enable_flagの値をSPSコードストリームに書き込みする(ステップ2)。
【0110】
ソースデバイスは、予測構造と応用需要に応じて、(画像放送順又は画像復号化順に従って)連続する一区間の画像にpoc_alignment_enable_flagの値により指示された操作を実行するか否かを確定する。YESであると、ソースデバイスは、予測構造と応用需要に応じて、start_infoとend_infoの値を確定し、se(v)に対応する符号化方法で両方の値をコードストリームに書き込みする(ステップ3)。
【0111】
シンクデバイスは、コードストリームを受信した後、u(1)に対応する復号化方法で、SPSコードストリームからpoc_alignment_enable_flagの値を取得する(ステップ4)。
【0112】
コードストリームに表3に示すフィールドが存在する時、シンクデバイスは、se(v)に対応する復号化方法で、コードストリームからstart_infoとend_infoの値を取得する。シンクデバイスは、start_infoとend_infoの値に基づいて、poc_alignment_enable_flagの値に対応する操作の有効画像範囲を確定する。コードストリームに表3に示すフィールドが含まれていないと、シンクデバイスは、poc_alignment_enable_flagの値に対応する操作の有効範囲をCVS全体に確定する。
【0113】
シンクデバイスがpoc_alignment_enable_flagの値が1であると判断した時、シンクデバイスはPOC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは、「AU中の該レイヤの出力画像のPOC値が(存在すると仮設する)BLレイヤの画像と同一である」をコードストリームのエラー検出及び放送操作制御条件として設定する。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスは直接にPOC値に基づいて該レイヤの画像とBL画像間で出力と放送の制御を行うことができる。その他の同一のAUに位置するがPOC値が異なる画像について、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0114】
シンクデバイスがpoc_alignment_enable_flagの値が0であると判断した時、シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行う。同一のAUで取得した画像について、それに対応するシステムレイヤ又はファイル中の時間標記情報が同一であると、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0115】
<実例3>
本実例において、poc_alignment_enable_flagがPPSに位置し、その制御範囲は該PPSを使用したマルチレイヤビデオのレイヤ中の1つ又は複数の画像である。その値が1である時、AU中の該レイヤの画像がBLレイヤの画像(該AUに存在する又は存在すると仮設する)と同一なPOC値を有する。その値が0である時、AU中の該レイヤの画像とBLレイヤの画像(該AUに存在する又は存在すると仮設する)が同一のPOC値を有する可能性があれば、異なるPOC値を有する可能性もある。
【0116】
poc_alignment_enable_flagフィールドの後に更に、表3のビットフィールドを使用して、poc_alignment_enable_flagに対応する操作の開始画像位置と終止画像位置を示すことができる。表3のビットフィールドが存在する時、poc_alignment_enable_flagに限定される操作の有効範囲は表3のビットフィールドにより指示された開始画像と終止画像及びその間(画像放送順又は画像復号化順に従って)の全部画像を含む。
【0117】
本実例において、マルチレイヤビデオコードストリームの伝送は主に以下のステップを含む:
ソースデバイスが応用需要(例えば、全部レイヤ又は複数のレイヤ画像を同時に復号化して出力するか否か)に応じて、1つ又はある区間の該レイヤの画像とBLレイヤの画像にPOCアライメント操作を実行する必要があるか否かを判断する(ステップ1)。
【0118】
POCアライメント操作の使用が必要であると、ソースデバイスは、該レイヤが使用したSPS中のpoc_alignment_enable_flagの値を1に設定し、そうでないと、0に設定する。
【0119】
ソースデバイスは、u(1)に対応する符号化方法でpoc_alignment_enable_flagの値をPPSコードストリームに書き込みする(ステップ2)。
【0120】
ソースデバイスは、予測構造と応用需要に応じて、(画像放送順又は画像復号化順に従って)連続する一区間の画像にpoc_alignment_enable_flagの値に指示された操作を実行するか否かを確定する。YESであると、ソースデバイスは予測構造と応用需要に応じて、start_infoとend_infoの値を確定し、se(v)に対応する符号化方法で両方の値をコードストリームに書き込みする(ステップ3)。
【0121】
シンクデバイスはコードストリームを受信した後、u(1)に対応する復号化方法で、PPSコードストリームからpoc_alignment_enable_flagの値を取得する(ステップ4)。
【0122】
コードストリームに表3に示すフィールドが存在する時、シンクデバイスはse(v)に対応する復号化方法で、コードストリームからstart_infoとend_infoの値を取得する。シンクデバイスは、start_infoとend_infoの値に基づいてpoc_alignment_enable_flagの値に対応する操作の有効画像範囲を確定する。コードストリームに表3に示すフィールドが含まれていないと、シンクデバイスはpoc_alignment_enable_flagの値に対応する操作の有効範囲をCVS全体に設定する。
【0123】
シンクデバイスがpoc_alignment_enable_flagの値が1であると判断した時、シンクデバイスはPOC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは「AU中の該レイヤの出力画像のPOC値が(存在すると仮設する)BLレイヤの画像と同一である」をコードストリームのエラー検出及び放送操作制御条件として設定する。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスは直接にPOC値に基づいて該レイヤの画像とBL画像間で出力と放送の制御を行うことができる。その他の同一のAUに位置するがPOC値が異なる画像について、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0124】
シンクデバイスがpoc_alignment_enable_flagの値が0であると判断した時、シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行う。同一のAUで取得した画像について、それに対応するシステムレイヤ又はファイル中の時間標記情報が同一であると、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0125】
<実例4>
本実例において、poc_alignment_enable_flagはSEIに位置し、その指示範囲は該SEIを使用したマルチレイヤビデオのレイヤ中の1つ又は複数の画像である。その値が1である時、AU中の全部の画像が同一なPOC値(AU全体に関連するSEI)を有することを示し、又はあるELレイヤの画像がBLレイヤの画像(該AUに存在する又は存在すると仮設する)と同一なPOC値(あるAUに関連するSEI)を有することを指示する。その値が0である時、AU中の全部の画像が同一なPOC値を有する可能性があれば有しない可能性もある(AU全体に関連するSEI)を示し、又はあるELレイヤの画像がBLレイヤの画像(該AUに存在する又は存在すると仮設する)と同一なPOC値を有する可能性があれば有しない可能性もある(あるAUに関連するSEI)ことを指示する。
【0126】
poc_alignment_enable_flagフィールドの後に、更に表3のビットフィールドを使用して、poc_alignment_enable_flagに対応する操作の開始画像位置と終止画像位置を示すことができる。表3のビットフィールドが存在する時、poc_alignment_enable_flagに限定される操作の有効範囲は表3のビットフィールドにより指示された開始画像と終止画像及びその間(画像放送順又は画像復号化順に従った)の全部画像を含む。
【0127】
本実例において、マルチレイヤビデオコードストリームの伝送は主に以下のステップを含む:
ソースデバイスが、発生したマルチレイヤビデオ符号化コードストリームに基づいて、1つ又はある区間の画像にPOCアライメント操作を使用するか否かを判断する(ステップ1)。
【0128】
POCアライメント操作を使用すると、ソースデバイスは、対応するSEI中のpoc_alignment_enable_flagの値を1に設定し、そうでないと、0に設定する。前記対応するSEIは、AU全体に関連するSEI又はあるELレイヤに関連するSEIを指す。
【0129】
ソースデバイスは、u(1)に対応する符号化方法で、poc_alignment_enable_flagの値をSEIコードストリームに書き込みし、SEIのフィールドをビデオコードストリーム中の関連する位置に挿入する(ステップ2)。
【0130】
ソースデバイスが、予測構造と応用需要に応じて、(画像放送順又は画像復号化順に従って)連続する一区間の画像にpoc_alignment_enable_flagの値により指示された操作を実行するか否かを確定する。YESであると、ソースデバイスは予測構造と応用需要に応じて、start_infoとend_infoの値を確定し、se(v)に対応する符号化方法で、両方の値をコードストリームに書き込みする(ステップ3)。
【0131】
シンクデバイスは、コードストリームを受信した後、u(1)に対応する復号化方法で、SEIコードストリームからpoc_alignment_enable_flagの値を取得する(ステップ4)。
【0132】
コードストリームに表3に示すフィールドが存在する時、シンクデバイスは、se(v)に対応する復号化方法で、コードストリームからstart_infoとend_infoの値を取得する。シンクデバイスは、start_infoとend_infoの値に基づいてpoc_alignment_enable_flagの値に対応する操作の有効画像範囲を確定する。コードストリームに表3に示すフィールドが含まれていないと、シンクデバイスはpoc_alignment_enable_flagの値に対応する操作の有効範囲をビデオ符号化シーケンス(Coded Video Sequence、CVS)全体に設定する。
【0133】
シンクデバイスがpoc_alignment_enable_flagの値が1であると判断した時、該SEIがAU全体に関連するSEIであると、シンクデバイスはPOC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは「同一のAUの出力画像のPOC値は同一であるをコードストリームのエラー検出及び放送操作制御条件として設定する。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスは直接にPOC値に基づいて画像の出力と放送の制御を行うこともできる。
【0134】
シンクデバイスがpoc_alignment_enable_flagの値が1であると判断した時、該SEIがあるELに関連するSEIであると、シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは「AU中の該レイヤの出力画像のPOC値が(存在すると仮設する)BLレイヤの画像と同一である」をコードストリームのエラー検出及び放送操作制御条件として設定する。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスは直接にPOC値に基づいて、該レイヤの画像とBL画像間で出力と放送の制御を行うことができる。その他の同一のAUに位置するがPOC値が異なる画像について、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0135】
シンクデバイスがpoc_alignment_enable_flagの値が0であると判断した時、シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。同一のAUで取得した画像について、それに対応するシステムレイヤ又はファイル中の時間標記情報が同一であると、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0136】
<実例5>
本実例において、上記マーク情報はその他の作用範囲が少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造に位置し、前記その他の作用範囲が少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造について、該データ構造にその他の復号化に必ず必要なデータ情報が含まれていると、該データ構造は復号化に必要なデータ構造である。この時、該データ構造の作用範囲がマルチレイヤビデオ全体であると、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例1に類似する。該データ構造の作用範囲がマルチレイヤビデオ中のあるELビデオであると、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例2に類似する。該データ構造の作用範囲がマルチレイヤビデオ中のあるEL上の1つ又は複数の画像であると、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例3に類似する。
【0137】
前記その他の作用範囲が少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造の場合、該データ構造にその他の復号化に必要なデータ情報が含まれていないと、該データ構造は復号化に必要なデータ構造ではない。この時、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例4に類似する。
【0138】
poc_alignment_enable_flagフィールドの後に更に表3のビットフィールドを使用して、poc_alignment_enable_flagに対応する操作の開始画像位置と終止画像位置を示すことができる。表3のビットフィールドが存在する時、poc_alignment_enable_flagに限定される操作の有効範囲は表3のビットフィールドにより指示された開始画像と終止画像及びその間(画像放送順又は画像復号化順に従った)の全部画像を含む。
【0139】
実例5が実例1乃至実例4と相違することは、ソースデバイスがu(1)に対応する符号化方法でpoc_alignment_enable_flagの値を前記少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造の対応するコードストリームに書き込みし、シンクデバイスがu(1)に対応する復号化方法で前記少なくとも1つの画像(フレーム画像及び/又はフィールド画像)を含むデータ構造の対応するコードストリームからpoc_alignment_enable_flagに対応するフィールドを解析して、poc_alignment_enable_flagの値を取得することである。
【0140】
<実例6>
本実例において、上記マーク情報はシステム記述子に位置し、poc_alignment_enable_flagを含む記述子の作用範囲がシステムコードストリーム中のマルチレイヤビデオ符号化コードストリーム全体である時、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例4中の「AU全体に関連するSEI」である場合の操作方法に類似する。
【0141】
poc_alignment_enable_flagを含む記述子の作用範囲がシステムコードストリームにおけるマルチレイヤビデオ符号化コードストリーム中のあるELコードストリームである時、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例4中の「あるELレイヤに関連するSEI」である場合の操作方法に類似する。
【0142】
実例6が実例4と相違することは、ソースデバイスがu(1)に対応する又はu(1)と同一な符号化方法でpoc_alignment_enable_flagの値を前記記述子の対応するシステムコードストリームに書き込みし、必要であると、ソースデバイスがse(v)に対応する又はse(v)と同一な符号化方法でstart_infoとend_infoの値を前記記述子の対応するシステムコードストリームに書き込みし、シンクデバイスがu(1)に対応する又はu(1)と同一な復号化方法で前記記述子データ構造の対応するシステムコードストリームからpoc_alignment_enable_flagに対応するフィールドを解析し、poc_alignment_enable_flagの値を取得し、表3のフィールドがコードストリームに存在すると、シンクデバイスがse(v)に対応する又はse(v)と同一な復号化方法でコードストリームからstart_infoとend_infoの値を取得することである。
【0143】
<実例7>
本実例において、上記マーク情報はファイル記述子に位置し、実例において、poc_alignment_enable_flagを含む記述子の作用範囲がメディアファイルコードストリーム中のマルチレイヤビデオ符号化コードストリーム全体である時、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例4中の「AU全体に関連するSEI」である場合の操作方法に類似する。
【0144】
poc_alignment_enable_flagを含む記述子の作用範囲がメディアファイルコードストリームにおけるマルチレイヤビデオ符号化コードストリーム中のあるELコードストリームである時、ソースデバイスとシンクデバイスによるpoc_alignment_enable_flagに対する操作方法は実例4中の「あるELレイヤに関連するSEI」である場合の操作方法に類似する。
【0145】
実例7が実例4と相違することは、ソースデバイスがu(1)に対応する又はu(1)と同一な符号化方法でpoc_alignment_enable_flagの値を前記記述子の対応するシステムコードストリームに書き込みし、必要であると、ソースデバイスがse(v)に対応する又はse(v)と同一な符号化方法でstart_infoとend_infoの値を前記記述子の対応するシステムコードストリームに書き込みし、シンクデバイスがu(1)に対応する又はu(1)と同一な復号化方法で前記記述子データ構造の対応するシステムコードストリームからpoc_alignment_enable_flagに対応するフィールドを解析し、poc_alignment_enable_flagの値を取得し、表3のフィールドがコードストリームに存在すると、シンクデバイスがse(v)に対応する又はse(v)と同一な復号化方法でコードストリームからstart_infoとend_infoの値を取得することである。
【0146】
<実例8>
本実例において、ハイブリッド使用方法で上記マーク情報を携帯する。マルチレイヤビデオ符号化コードストリーム構造について、復号化において、PPSがSPSを引用し、SPSがVPSを引用する。ここで、VPSはSPSやPPSより高いレイヤのデータ構造であって、SPSはPPSより高いデータ構造であるとする。
【0147】
実例において、poc_alignment_enable_flagを異なるレイヤのデータ構造で符号化することができる。高レイヤのデータ構造と低レイヤのデータ構造中のpoc_alignment_enable_flagの値が異なる時、低レイヤのデータ構造中のpoc_alignment_enable_flagで高レイヤのデータ構造中のpoc_alignment_enable_flagをカバーする。表3中のstart_infoとend_infoの値が異なる時、poc_alignment_enable_flagの値の作用範囲は高レイヤのデータ構造中のstart_infoとend_infoによって限定される画像範囲と低レイヤのデータ構造中のstart_infoとend_infoによって限定される画像範囲との最小積集合である。
【0148】
高レイヤのデータ構造と低レイヤのデータ構造中のpoc_alignment_enable_flagの値が同一であるが、表3中のstart_infoとend_infoの値が異なる時、poc_alignment_enable_flagの値の作用範囲は高レイヤのデータ構造中のstart_infoとend_infoによって限定された画像範囲と低レイヤのデータ構造中のstart_infoとend_infoによって限定された画像範囲の最大和集合である。
【0149】
ハイブリッド使用方法において、ソースデバイスはまず、入力ビデオ、符号化予測構造と応用需要に応じて、POCアライメントを使用するレイヤ、POCアライメントを使用する画像の開始/終止位置を含むPOCアライメントの使用方式を確定する。ソースデバイスは、以上の確定情報に基づいて、実例1、実例2、実例3に記載の方法に従って、VPS、SPS、PPS中のpoc_alignment_enable_flag及び必要なstart_infoとend_infoの値を設定し、また対応する符号化方法でそれをコードストリームに書き込みする。同時に、ソースデバイスは応用需要に応じて、実例4、実例6、実例7に記載の方法に従って、ビデオコードストリームに必要な補助情報及びシステムレイヤ、メディアファイルに関連する記述子中の対応するフィールド情報を設定し、また対応する符号化方法でそれをコードストリームに書き込みする。
【0150】
シンクデバイスは受信したコードストリームに処理を行い、実例1、実例2、実例3に記載の方法に従って、VPS、SPS、PPSからpoc_alignment_enable_flag及び必要なstart_infoとend_infoの値を取得し、異なる画像区間とレイヤのPOCアライメント使用制御を設定し、また受信したコードストリームに復号化を行う。復号化において、シンクデバイスがビデオ補助情報、システムレイヤ情報、メディアファイル情報中のPOCアライメント記述情報を取得できれば、シンクデバイスは上記各方法に従って受信、復号化中のエラー制御、放送制御手段を設定する。
【0151】
シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。シンクデバイスは「AU中の該レイヤの出力画像のPOC値が(存在すると仮設する)BLレイヤの画像と同一である」をコードストリームのエラー検出及び放送操作制御条件として設定する。コードストリームの復号化が該制御条件に符合しない時、シンクデバイスはエラー制御メカニズムを実行し、エラーコードのカバー及び/又は情報のフィードバックによってソースデバイスにエラーを報告する。シンクデバイスが直接にPOC値に基づいて該レイヤの画像とBL画像間で出力と放送の制御を行うことができる。その他の同一のAUに位置するがPOC値が異なる画像について、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0152】
シンクデバイスがpoc_alignment_enable_flagの値が0であると判断した時、シンクデバイスは非POC条件を用いてビデオコードストリームにAU境界の区画を行うことができる。同一のAUで取得した画像について、それに対応するシステムレイヤ又はファイル中の時間標記情報が同一であると、シンクデバイスは該時間標記情報により指示された時刻で画像の出力や放送制御を行う。
【0153】
上述のように、上記実施例の中の1つで提供する技術案によると、即時通信等の業務について、ユーザが通信を行う前に相手の各端末の情報(例えば、端末の名称、ニックネームとも呼ばれる)を得ることができるので、主動的に通信受信側の端末を選択して通信を行うことができ、相手と通信する前、通信受信側の複数の端末の名称(ニックネーム)を取得して、1つを選択して通信(音声電話、テレビ電話又はメッセージ)を行うことができ、ユーザの体験を向上させる。
【0154】
上述のように、本発明の実施例で提供する方法によると、コードストリームの高レイヤ、補助情報、システムレイヤ記述子等にPOCアライメントに対する記述を増加することができる。同時に、コードストリームの高レイヤ構造でレイヤ記述メカニズムを採用し、コードストリームの生成中に柔軟な制御を行うことができる。
【0155】
上記した本発明の各手段又は各ステップを共通の計算装置によって実現することができ、単独の計算装置に集中させることができれば、複数の計算装置から構成されるネットワークに分布させることもでき、更に計算装置が実行可能なプログラムコードによって実現することもできるので、それらを記憶装置に記憶させて計算装置によって実行することができ、場合によっては、他の順で図に示す又は説明したステップを実行することができ、又は夫々集積回路手段に製作し、又はそれらの中の複数の手段又はステップを単一の集積回路手段に製作して実現できることは当業者にとって明らかなことである。このように、本発明は如何なる特定のハードウェアとソフトウェアの結合にも限定されない。
【0156】
以上は、本発明の好適な実施例に過ぎず、本発明を限定するものではない。当業者であれば本発明に様々な修正や変形が可能である。本発明の精神や原則内での全ての修正、置換、改良などは本発明の保護範囲内に含まれる。