(57)【要約】      （修正有）【課題】エンコード・ストリームにおける参照の後方チェーンを解消し、その結果、再エンコーディングの必要性が減り、編集されたシーケンスの品質劣化も抑えられるオープン・グループ・オブ・ピクチャ（ＧＯＰ）をクローズＧＯＰに変換する方法を提供する。【解決手段】オープンＧＯＰフレーム間エンコード・ビデオ・ストリームの、変換を受けるＧＯＰ２０２内部において、時間的に前のＧＯＰ２０８に後方参照する双予測フレーム(Ｂフレーム)２０４が、変換を受けるＧＯＰのＩフレーム２０６だけを参照するフレーム２１２と置換される。このＩフレームには、ＩＤＲフレーム２１４というフラグが付けられる。【選択図】図２
2017200176.tif 000002
【特許請求の範囲】
【請求項１】
フレーム間ビデオ圧縮において使用されるオープン・グループ・オブ・ピクチャ（ＧＯＰ）をクローズＧＯＰに変換する方法であって、
オープンＧＯＰフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、
前記ビットストリームから第１オープンＧＯＰを抽出するステップと、
第１グループの未圧縮ビデオ・フレームを生成するために、前記第１オープンＧＯＰの少なくとも一部をデコードするステップと、
前記ビットストリームにおいて前記第１オープンＧＯＰの後に順次続く第２オープンＧＯＰを抽出するステップであって、前記抽出される第２ＧＯＰが、フレーム内コード化ピクチャ（Ｉフレーム）を含む一連のエンコード・フレームを含む、ステップと、
前記第１未圧縮フレーム・グループの少なくとも１つのフレームを参照し、第２グループの未圧縮ビデオ・フレームを生成するために、前記第２オープンＧＯＰの少なくとも一部をデコードするステップと、
前記第２ＧＯＰのＩフレームに先立つ表示順序を有する１つ以上の再エンコード双予測コード化ピクチャ（Ｂフレーム）を含む再エンコード第２ＧＯＰを生成するために、前記第２未圧縮フレーム・グループを再エンコードするステップであって、前記再エンコードＢフレームが、前記ビットストリーム内において受けられた前記第２ＧＯＰのＩフレームを伸長することによって生成されるフレームを参照して、更に前記第１オープンＧＯＰのフレームを参照することなく再エンコードされる、ステップと、
前記第２オープンＧＯＰを、対応するクローズＧＯＰに変換するステップであって、前記クローズＧＯＰが、
前記１つ以上の再エンコードＢフレームと、
前記エンコード・ビットストリームにおいて受けられた前記第２ＧＯＰのＩフレームであって、前記エンコーダが、前記エンコード・ビットストリームにおいて受けられた前記第２ＧＯＰのＩフレームに、瞬時デコーダ・リフレッシュ（ＩＤＲ）フレームというフラグを立てる、Ｉフレームと、
前記第２ＧＯＰのＩフレームに続いて順次表示される前記第２ＧＯＰのフレーム毎に、前記エンコード・ビットストリームにおいて受けられるエンコード・データと、
を含む、ステップと、
を含む、方法。
【請求項２】
請求項１記載の方法において、前記ビットストリームが、統合ビデオ・クリップを生成するために統合されているエンコード・ビデオ・クリップの一部を表し、対応するクローズＧＯＰに変換される前記第２オープンＧＯＰが、前記統合ビデオ・クリップの開始ポイントの後に順次続く、前記統合ビデオ・クリップの第１ＧＯＰ全体である、方法。
【請求項３】
請求項２記載の方法において、前記統合ビデオ・クリップの開始ポイントが、前記統合ビデオ・クリップの前記第１ＧＯＰ全体の開始ポイントである、方法。
【請求項４】
請求項２記載の方法において、前記統合クリップの開始ポイントが前記第１ＧＯＰ内にあり、前記統合クリップが、前記第１ＧＯＰ全体の前に短いＧＯＰを含み、前記短いＧＯＰが、前記統合クリップの開始ポイントよりも時間的に後にある前記第1ＧＯＰのフレームを含むクローズＧＯＰである、方法。
【請求項５】
請求項１記載の方法において、前記ビットストリームが、複数のクリップの部分を含むシーケンスに組み立てられつつあるエンコード・ビデオ・クリップであり、対応するクローズＧＯＰに変換される前記第２オープンＧＯＰが、前記組み立てられたシーケンスに含まれる前記エンコード・ビデオ・クリップの一部の第１ＧＯＰ全体である、方法。
【請求項６】
請求項１記載の方法において、前記エンコード・ビットストリームが、前記オープンＧＯＰフレーム間圧縮に加えて、フレーム内圧縮を使用してエンコードされる、方法。
【請求項７】
請求項６記載の方法において、前記フレーム内圧縮が損失を伴う、方法。
【請求項８】
請求項１記載の方法において、前記ビットストリームが、Ｈ．２６４エンコード・ビットストリームである、方法。
【請求項９】
コンピュータ・プログラム製品であって、
コンピュータ・プログラム命令がエンコードされている非一時的コンピュータ読み取り可能媒体を含み、
前記コンピュータ・プログラム命令が、コンピュータによって処理されると、フレーム間ビデオ圧縮において使用されるオープン・グループ・オブ・ピクチャ（ＧＯＰ）をクローズＧＯＰに変換する方法を実行するように前記コンピュータに命令し、前記方法が、
オープンＧＯＰフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、
前記ビットストリームから第１オープンＧＯＰを抽出するステップと、
第１グループの未圧縮ビデオ・フレームを生成するために、前記第１オープンＧＯＰの少なくとも一部をデコードするステップと、
前記ビットストリームにおいて前記第１オープンＧＯＰの後に順次続く第２オープンＧＯＰを抽出するステップであって、前記抽出される第２ＧＯＰが、フレーム内コード化ピクチャ（Ｉフレーム）を含む一連のエンコード・フレームを含む、ステップと、
前記第１未圧縮フレーム・グループの少なくとも１つのフレームを参照し、第２グループの未圧縮ビデオ・フレームを生成するために、前記第２オープンＧＯＰの少なくとも一部をデコードするステップと、
前記第２ＧＯＰのＩフレームに先立つ表示順序を有する１つ以上の再エンコード双予測コード化ピクチャ（Ｂフレーム）を含む再エンコード第２ＧＯＰを生成するために、前記第２未圧縮フレーム・グループを再エンコードするステップであって、前記再エンコードＢフレームが、前記ビットストリーム内において受けられた前記第２ＧＯＰのＩフレームを伸長することによって生成されるフレームを参照して、更に前記第１オープンＧＯＰのフレームを参照することなく再エンコードされる、ステップと、
前記第２オープンＧＯＰを、対応するクローズＧＯＰに変換するステップであって、前記クローズＧＯＰが、
前記１つ以上の再エンコードＢフレームと、
前記エンコード・ビットストリームにおいて受けられた前記第２ＧＯＰのＩフレームであって、前記エンコーダが、前記エンコード・ビットストリームにおいて受けられた前記第２ＧＯＰのＩフレームに、瞬時デコーダ・リフレッシュ（ＩＤＲ）フレームというフラグを立てる、Ｉフレームと、
前記第２ＧＯＰのＩフレームに続いて順次表示される前記第２ＧＯＰのフレーム毎に、前記エンコード・ビットストリームにおいて受けられるエンコード・データと、
を含む、ステップと、
を含む、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願に対する相互引用
[0001]  本願は、２０１６年４月１４日に出願された米国仮特許出願第６２／３２２，６８４号の３５Ｕ．Ｓ．Ｃ．§１１９（ｅ）に基づく優先権および権利を主張する。この出願をここで引用したことによりその内容が本願にも含まれるものとする。
【従来技術】
【０００２】
[0002]  ビデオ・ラスタの大型化、ダイナミック・レンジの拡大、およびフレーム・レートの高速化に伴って未圧縮ビデオ帯域幅が増大するに連れて、未圧縮ビデオ帯域幅が増大し続けている。加えて、地球全体にわたって移動体デバイスによってメディアが消費されているため、限られた帯域幅にしかアクセスできないこともある。したがって、計算効率的で、高品質のビデオ圧縮が増々求められている。ビデオ圧縮手法の１つは、一定のフレームが予測的な方法で他のフレームからエンコードされるフレーム間圧縮の使用を伴う。このような圧縮方式は、ＭＰＥＧ−２のようなビデオ規格で使用されており、ビデオ・シーケンスがグループ・オブ・ピクチャ（ＧＯＰ）に分割される。グループ・オブ・ピクチャは、他のフレームを全く参照しない１つのフレーム（イントラフレームまたはＩフレーム）と、Ｉフレームを参照し、ときには他の予測フレームも参照する１組の予測フレームとを含む。全ての参照が所与のＧＯＰ内に留まるとき、このＧＯＰはクローズＧＯＰ(closed GOP)となる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0003]  増大するビデオ圧縮の要望に応答して、ある圧縮方式、特にＨ．２６４は、予測フレームに対する可能な参照範囲を広げたので、これらは以前のＧＯＰ内に含まれるフレームも参照することができる。このようなＧＯＰをオープンＧＯＰと呼ぶ。しかしながら、このような方式は通常圧縮が大きくなり、メディア・ファイルを統合する(consolidate)とき、または編集中に１つのシーケンスから他のシーケンスまでカットするときのように、オープンＧＯＰビットストリームがカットされるときに、ある種の問題が発生する。
【課題を解決するための手段】
【０００４】
[0004]  Ｈ．２６４−エンコード・ストリームのようなエンコード・ビデオ・ストリームにおいて、オープンＧＯＰをクローズＧＯＰに変換する方法について記載する。この方法は、特に、ビデオ編集のコンテキストにおいて共通して行われる、統合およびクリップ組み立てワークフロー(consolidate and clip assembly workflow)に適用される。一般に、１つの形態において、フレーム間ビデオ圧縮において使用されるオープンＧＯＰをクローズＧＯＰに変換する方法は、オープンＧＯＰフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、ビットストリームから第１オープンＧＯＰを抽出するステップと、第１グループの未圧縮ビデオ・フレームを生成するために、第１オープンＧＯＰの少なくとも一部をデコードするステップと、ビットストリームにおいて第１オープンＧＯＰの後に順次続く第２オープンＧＯＰを抽出するステップであって、抽出される第２ＧＯＰが、フレーム内コード化ピクチャ（Ｉフレーム）を含む一連のエンコード・フレームを含む、ステップと、第１グループの未圧縮ビデオ・フレームの少なくとも１つのフレームを参照し、第２グループの未圧縮ビデオ・フレームを生成するために、第２オープンＧＯＰをデコードするステップと、第２ＧＯＰのＩフレームに先立つ表示順序を有する１つ以上の再エンコード双予測コード化ピクチャ（Ｂフレーム）を含む再エンコード第２ＧＯＰを生成するために、第２未圧縮フレーム・グループの少なくとも一部を再エンコードするステップであって、再エンコードＢフレームが、ビットストリーム内において受けられた第２ＧＯＰのＩフレームを伸長することによって生成されるフレームを参照して、更に第１オープンＧＯＰのフレームを参照することなく再エンコードされる、ステップと、第２オープンＧＯＰを、対応するクローズＧＯＰに変換するステップとを含む。クローズＧＯＰは、１つ以上の再エンコードＢフレームと、エンコード・ビットストリームにおいて受けられた第２ＧＯＰのＩフレームであって、エンコーダが、エンコード・ビットストリームにおいて受けられた第２ＧＯＰのＩフレームに、瞬時デコーダ・リフレッシュ（ＩＤＲ）フレームというフラグを立てる、Ｉフレームと、第２ＧＯＰのＩフレームに続いて順次表示される第２ＧＯＰのフレーム毎に、エンコード・ビットストリームにおいて受けられるエンコード・データとを含む。
【０００５】
[0005]  種々の実施形態は、以下の特徴の内１つ以上を含む。ビットストリームは、統合ビデオ・クリップを生成するために統合されているエンコード・ビデオ・クリップの一部を表し、対応するクローズＧＯＰに変換される第２オープンＧＯＰは、統合ビデオ・クリップの開始ポイントの後に順次続く、統合ビデオ・クリップの第１ＧＯＰ全体(full GOP)である。統合ビデオ・クリップの開始ポイントは、統合ビデオ・クリップの第１ＧＯＰ全体の開始ポイントである。統合クリップの開始ポイントは、第１ＧＯＰ内にあり、統合クリップは、第１ＧＯＰ全体の前に短いＧＯＰを含み、短いＧＯＰは、統合クリップの開始ポイントよりも時間的に後にある第１ＧＯＰのフレームを含むクローズＧＯＰである。ビットストリームは、複数のクリップの部分を含むシーケンスに組み立てられつつあるエンコード・ビデオ・クリップを表し、対応するクローズＧＯＰに変換される第２オープンＧＯＰが、組み立てられたシーケンスに含まれるエンコード・ビデオ・クリップの一部の第１ＧＯＰ全体である。エンコード・ビットストリームは、オープンＧＯＰフレーム間圧縮に加えて、フレーム内圧縮を使用してエンコードされる。フレーム内圧縮は、損失を伴う。ビットストリームは、Ｈ．２６４エンコード・ビットストリームである。
【０００６】
[0006]  一般に、他の形態において、コンピュータ・プログラム製品は、コンピュータ・プログラム命令がエンコードされている非一時的コンピュータ読み取り可能媒体を含み、このコンピュータ・プログラム命令が、コンピュータによって処理されると、フレーム間ビデオ圧縮において使用されるオープン・グループ・オブ・ピクチャ（ＧＯＰ）をクローズＧＯＰに変換する方法を実行するようにコンピュータに命令する。この方法は、オープンＧＯＰフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、ビットストリームから第１オープンＧＯＰを抽出するステップと、第１グループの未圧縮ビデオ・フレームを生成するために、第１オープンＧＯＰをデコードするステップと、ビットストリームにおいて第１オープンＧＯＰの後に順次続く第２オープンＧＯＰを抽出するステップであって、抽出される第２ＧＯＰが、フレーム内コード化ピクチャ（Ｉフレーム）を含む一連のエンコード・フレームを含む、ステップと、第１未圧縮フレーム・グループの少なくとも１つのフレームを参照し、第２グループの未圧縮ビデオ・フレームを生成するために、第２オープンＧＯＰをデコードするステップと、受けたビットストリームをエンコードするために使用されたエンコーダと実質的同じであるエンコーダを使用し、第２ＧＯＰのＩフレームに先立つ表示順序を有する１つ以上の再エンコード双予測コード化ピクチャ（Ｂフレーム）を含む再エンコード第２ＧＯＰを生成するために、第２未圧縮フレーム・グループの少なくとも一部を再エンコードするステップであって、再エンコードＢフレームが、ビットストリーム内において受けられた第２ＧＯＰのＩフレームを伸長することによって生成されるフレームを参照して、更に第１オープンＧＯＰのフレームを参照することなく再エンコードされる、ステップと、第２オープンＧＯＰを、対応するクローズＧＯＰに変換するステップとを含む。クローズＧＯＰは、１つ以上の再エンコードＢフレームと、エンコード・ビットストリームにおいて受けられた第２ＧＯＰのＩフレームであって、エンコーダが、エンコード・ビットストリームにおいて受けられた第２ＧＯＰのＩフレームに、瞬時デコーダ・リフレッシュ（ＩＤＲ）フレームというフラグを立てる、Ｉフレームと、エンコード・ビットストリームにおいてフレームが受けられた形態で、第２ＧＯＰのＩフレームの後に順次続いて表示される第２ＧＯＰの各フレームとを含む。
【図面の簡単な説明】
【０００７】
【図１】図１は、クローズＧＯＰおよびその後に続くオープンＧＯＰを含む例証的なビデオ・ビットストリームにおけるビデオ・フレームの表示順序およびコード化順序を示す。
【図２】図２は、オープンＧＯＰからクローズＧＯＰへの変換を示す。
【図３】図３は、オープンＧＯＰからクローズＧＯＰへの変換に含まれる一連のステップを示す。
【図４】図４は、ＧＯＰ組み立てのタイムライン表現である。
【図５】図５は、オープン−クローズＧＯＰ変換を使用するＧＯＰの組み立てに含まれる一連のステップを示す。
【図６】図６は、例証的なインターレース・ビデオ・ビットストリームにおけるビデオ・フレームの表示順序およびコード化順序を示す。
【発明を実施するための形態】
【０００８】
[0013]  ビデオ・コード化において、ＧＯＰとは、エンコード・ビデオ・ストリーム内における連続ピクチャのグループである。各エンコード・ビデオ・ストリームは、一連の連続するＧＯＰである。各ＧＯＰは、他のフレームを全く参照せずにフレーム内圧縮を使用して圧縮された１つのフレーム（Ｉフレーム）を含む。フレームがコード化ビットストリーム内に格納される順序（コード化順序）において、各ＧＯＰはＩフレームから開始する。ＧＯＰにおける他のフレームは、予測コード化フレーム（Ｐフレーム）を含む。予測コード化フレームは、以前にデコードおよび表示されたピクチャに対する(relative to)動き補償差分情報を含む。双予測コード化フレーム（Ｂフレーム）は、以前にデコードされ、表示順序においてＢフレームの後になることもある、ピクチャに対する動き補償差分情報を含む。
【０００９】
[0014]  先の序文において示したように、オープンＧＯＰとは、予測フレームの少なくとも１つが、直前のＧＯＰ内に含まれるピクチャに対して動き補償差分情報を含むＧＯＰとして定められる。しかしながら、ビデオ・ストリームの最初のＧＯＰは、以前のＧＯＰのフレームを参照できないので、特殊な場合である。つまり、オープンＧＯＰビデオ・ストリームはいずれもクローズＧＯＰから開始しなければならない。これは、シーケンスをその開始からエンコードするときには単純に行うことができるが、既存のオープンＧＯＰストリームがこのストリーム内部のどこかでカットされるときは状況が異なる。カットがＧＯＰ内部のどこかで行われる場合、カット・ポイントの後に続くフレームを含み直前のＧＯＰにおけるフレームに逆方向参照を行うオープンＧＯＰにおけるフレームはいずれも、それらの参照が破壊される。カットがＧＯＰの境界で行われる場合でも、同じ問題が発生する。カットの後に続く各オープンＧＯＰは、その後続のＧＯＰにおけるフレームによって参照される可能性があるフレームを含むので、所与のＧＯＰにおけるフレームが一旦変更されると、この変更の影響は、ビデオ・ストリームにおける次のクローズＧＯＰまで、またはクローズＧＯＰがない場合にはストリームの終端まで、ビデオ・ストリームに沿って順に伝わる。現在の方法は、カット・ポイントから先におけるストリームの全てではないにしても、重要な部分をデコードおよび再エンコードすることによって、この問題を解決する。これは、計算集約的であり、圧縮方式が損失を伴うので、ビデオの品質が劣化する。つまり、情報がデコード／再エンコード・サイクル毎に失われる。
【００１０】
[0015]  この問題は次の３つのコンテキストにおいて発生する。（ｉ）制約のある統合動作(constrained consolidate operation)では、Ｈ．２６４ＧＯＰストリームのようなオープンＧＯＰストリームは、ストリームの開始におけるＧＯＰ境界において切り捨てられなければならない。その結果は完全に準拠するビットストリームとなることが要求される。Ｈ．２６４ストリームの場合、完全に準拠するストリームは、ＩＴＵ−Ｔ  ＲＥＣ  Ｈ．２６４規格のいずれの側面(aspect)も違反してはならず、容認可能なツールとしてブロードキャスタによって使用されるような、定評のあるビットストリーム・アナライザを、首尾良く通過しなければならない。説明する方法は、先頭のＧＯＰのＩフレームの手米までの元のエンコードされた素材の再エンコーディング、および以下で説明する方法を使用して、ＧＯＰを瞬時デコーダ・リフレッシュ（ＩＤＲ：instantaneous decoder refresh）ＧＯＰに変換することを伴う。これは、最小限のフレーム・デコーディング／再エンコーディングだけしか必要とせず生成損失を最小限に抑えるので、画質を維持する役割を果たす。また、これは、最小量の処理しか伴わないことから、大きな性能利得が得られる。（ｉｉ）包括的統合動作(generic consolidate operation)では、オープンＧＯＰストリームは、必ずしもＧＯＰ境界ではなく、ストリームの開始における任意の位置でカットされ、この場合も、結果が完全に準拠するビットストリームであることが要求される。この場合も、本方法は、カット・ポイントの後に続くＧＯＰのＩフレームの手前までの元のエンコード素材の最小限の再エンコーディング、および必要に応じて元のＧＯＰ境界よりも前において短いＧＯＰを作成することを伴う。次のＧＯＰは、以下で説明する方法を使用して、オープンＧＯＰからクローズＧＯＰに変換される。（ｉｉｉ）ＧＯＰストリームＢが既存のストリームＡに添付される組み立て編集動作では、ストリームＡにおける最後のＧＯＰの開始（タイムライン図の左側）からカット・ポイントまで、およびカット・ポイントからのストリームＢからのＧＯＰの終点（右側）からカット・ポイント後の最初のＧＯＰ全体が、再エンコードされる新たなＧＯＰ（ブリッジＧＯＰ）を形成する。次のＧＯＰは、以下で説明する方法を使用して、オープンからクローズＧＯＰに変換される。
【００１１】
[0016]  これより、オープンＧＯＰをクローズＧＯＰに変換する方法について詳細に説明する。この方法は、変換されたＧＯＰの後に続くビデオ・ストリームにおいてＧＯＰのいずれもデコードおよび再エンコードする必要性を回避する。図１は、クローズＧＯＰ１０２から開始し、それにオープンＧＯＰ１０４が続くビデオ・ストリームの一例を示す。この例では、ＧＯＰサイズは４８フレームであり、各ＧＯＰはＩフレームの前に表示される ３つのＢフレーム１０６、１０８を含む。Ｂフレーム１０６は後方参照を全く含まないが、オープンＧＯＰのＢフレーム１０８は後方のＧＯＰ１０２におけるフレームを参照する。オープンＧＯＰ１０４が以前のＧＯＰを全く参照しない場合、除去しなければならないのはこれらのリンクである。
【００１２】
[0017]  図２を参照すると、オープンＧＯＰ２０２は、Ｉフレーム２０６の前に表示される３つのＢフレーム２０４を含む。この図では、フレームは表示順（コード化順ではなく）で示されている。Ｂフレームの各々は、Ｉフレームに向かう前向き矢印で示すように、Ｉフレーム２０６を参照し、Ｉフレームに向かう後ろ向き矢印で示すように、直前のＧＯＰ２０８の１つ以上のフレームを参照する動き補償予測を使用することによって生成された。オープンＧＯＰからクローズＧＯＰに変換するプロセスのステップは、図３に示す５つのステップを含む。最初のステップ３０２において、オープンＧＯＰ２０２の先頭（Ｂ）フレーム（置換される）が、Ｉフレームまでを含んで、直前のＧＯＰ２０８からの（以前に）デコードされたフレームを使用して、デコードされる。図２に示す例では、これらは３つのＢフレーム２０４である。ステップ３０４において、デコードされたＢフレームは、元のストリームにおけるのと同じＧＯＰ構造を保存するデコードされたＩフレームだけを参照して、再エンコードされる。ＧＯＰ構造に加えて、可能な範囲で、デコーディングおよび再エンコーディング・プロセスにおいて使用されるパラメータは、元のストリームをエンコードするために使用されたものと一致する。置換クローズＧＯＰ(Replacement Closed GOP)２１０は次のように組み立てられる。ステップ３０６において、元のＢフレーム２０４が、図２においてＢ＊フレームと命名された再エンコード・フレーム２１２によって置き換えられる。Ｂ＊フレームは、これらがＧＯＰにおけるＩフレームに対する参照だけに頼ること（即ち、後方および前方参照はいずれもＩフレームを目標にする）が元のＢフレームとは異なるだけでなく、元のＢフレームは損失のあるデコード／再エンコード・サイクルを経ることによって品質が劣化することでも異なる。クローズＧＯＰ２１０におけるＢ＊フレーム２１２の直後にはＩフレーム２１４がある。ステップ３０８において、ＧＯＰ２０２の元のＩフレーム２０６には、ＩＤＲフレームというフラグが付けられる(flagged as)。ＩＤＲフレームは、シーケンスの開始におかれ、コデックによっては、ＧＯＰシーケンス内における種々のポイントに置かれることもある。ＧＯＰにおけるＩＤＲフレームの効果は、ＧＯＰがクローズＧＯＰとして扱われなければならないことをデコーダに知らせることであり、その結果、Ｉフレームの前に表示されるＢフレームはいずれも前方参照だけを有することになる。また、ピクチャ番号シーケンスを０から開始し直させ、ＧＯＰ２１０内にあるフレーム、および次のＩＤＲ  ＧＯＰまたは他にＩＤＲが存在しない場合には、ＧＯＰシーケンスの終端までの連続するＧＯＰ内にあるフレームに番号の振り直しが必要となる。ＧＯＰ２１０の残りのフレーム２１６は、元のＧＯＰ２０２の対応するフレーム２１８から変化しない。Ｉフレーム２１４の後に表示される全てのフレームが、Ｉフレーム２１４だけを逆方向に参照するので、残りのフレーム２１６は、変更されたＢフレーム２１２による影響を受けず、これらのフレーム、または連続するオープンＧＯＰのフレームは、デコード／再エンコード・サイクルを受ける必要がない。変換されたＧＯＰにＩＤＲ  ＧＯＰというフラグを付けることによって、ストリームが完全に準拠すること、即ち、全くエラーを生ずることなく、規格、例えば、Ｈ．２６４に準拠する任意のデコーダによってデコードできることを保証する。
【００１３】
[0018]  要約すると、オープンＧＯＰからクローズＧＯＰに変換されたＧＯＰは、交換されたＢフレーム（Ｂ＊、図２、２１２）と、ＩＤＲフレーム（２１４）というフラグが付けられた元のＩフレームと、元のオープンＧＯＰ（２１６）の残りのエンコード・フレームとを含む。Ｂ＊フレームに対して行われる同じデコード／再エンコード・サイクルをＩフレームが受けた後に生成されるＩ＊フレームではなく、ＩＤＲというフラグが付けられた元のＩフレームを使用することによって、変換されたＧＯＰ２１０において、Ｂ＊ フレーム２１２とＩフレーム２１４との間に明らかな不一致が生ずる。これは、エンコーディングおよびデコーディング・ステップにおけるパラメータを、元のビデオ・ストリームがエンコードされたときに使用されたものとできるだけ近く設定することによって最小化される。Ｉフレームは、デコード／再エンコード・サイクルを経ていないために、Ｉ＊フレームよりも品質が高いので、Ｂ＊フレームに一層忠実な参照を提供し、Ｉ＊フレームを参照してデコードされるフレームと比較して、デコードされたＢ＊の品質を改善することができる。他方で、Ｂ＊フレームがデコードされるとき、これらは、これらが参照するデコードされたＩフレームよりも１サイクル多いエンコーディングおよびデコーディングを経た予測情報を含み、デコーディング・プロセスにおいてエラーを生ずる危険性があるように思えるかもしれない。しかしながら、ＢおよびＩフレーム間における参照方式のために、これはデコードされたＢ＊フレームにおいて無効な値を発生する原因には全くならない。
【００１４】
[0019]  これより、以上で引用した、オープンＧＯＰからクローズＧＯＰへの変換が有利である統合および組み立てのコンテキストについて説明する。ビデオ・シーケンスが統合されるとき、メディア・ファイルの内編集されこのシーケンスに組み込まれた部分だけが、シーケンスに含まれるクリップ毎に、新たに作成されたクリップ（マスタ・クリップと呼ばれることが多い）としてコピーされる。これによって、記憶空間を節約するために、メディア・ファイルの未使用部分を削除することが可能になる。また、統合プロセスは、バックアップ・ファイルを作成し、格納および他のシステムへの転送のために、散乱したメディアを１つのドライブに集める役割も果たす。つまり、統合プロセスの間、編集ビデオ・シーケンスにおいて使用されることになったビデオ・クリップの部分は、使用されないクリップの部分から分離される。この分離点は、カット・ポイント、即ち、編集シーケンスに含まれるクリップの部分が開始するポイントにおいて現れる。制約のある統合プロセスでは、カット・ポイントはＧＯＰ境界上に載る(fall on)。包括的統合プロセスでは、カット・ポイントは通例ＧＯＰ内に入る。両方の場合において、編集部分の最初のＧＯＰ全体がオープンＧＯＰからクローズＧＯＰに変換されなければならない。カット・ポイントがＧＯＰ内に入ると、最初のＧＯＰ全体の前に、統合クリップに含まれるカットＧＯＰの部分を含む短いクローズＧＯＰが先行する。先に示したように、既存の方法は、大抵の場合、カット・ポイントにかかる(spanning)ＧＯＰだけでなく、ストリームに沿った参照の伝搬のために後続のオープンＧＯＰ全てのデコーディングおよび再エンコーディングも必要とし、その結果、高い計算負荷および品質の劣化が生ずる。本明細書において説明した、オープンＧＯＰからクローズＧＯＰに変換する方法を使用すると、統合クリップを開始する短いＧＯＰと、統合クリップの最初のＧＯＰ全体の内少なくとも一部以外をデコードおよび再エンコードする必要なく、統合を実行する手段を提供する。
【００１５】
[0020]  組み立て編集のコンテキストでは、２つのクリップの一部が組み立てられて、第１クリップの一部から開始し、カットしてあるポイントを跨いで第２クリップの一部へのシーケンスを作成する。クリップがフレーム間エンコード・ビットストリームの形態であるとき、ＧＯＰ間のフレーム間参照を絶つことなく、そして殆どの場合、カット・ポイントにかかるＧＯＰ内でもフレーム間参照を絶つことなく、第２クリップ部分の開始を、単に、第１クリップ部分の終端に繋ぎ合わせることはできない。図４は、２つのクリップ（クリップ１およびクリップ２）の組み立てのタイムライン様式の図であり、このプロセスに含まれるステップを図５に示す。図４を参照すると、カット・ポイント４０２がクリップ１  ４０４およびクリップ２  ４０６をカットし、カット・ポイントにかかるＧＯＰを分割してこれらのクリップの各々の中に入れる。概略的に、図に示すように、クリップ１のＧＯＰ境界はクリップ２のそれらと時間的に揃わない。カット・ポイントにかかるクリップ１およびクリップ２のＧＯＰ（４０８、４１０）が、それぞれ、クリップ１およびクリップ２のストリームから抽出される（図５の５０２、５０４）。抽出されたＧＯＰはデコードされ（４１２、４１４、５０６、５０８）、一緒に組み立てられて未圧縮ブリッジ・セグメント（４１６、５１０）を作成する。次いで、このブリッジ・セグメントは１つ（または２つ）のＧＯＰに再エンコードされ、最初のＧＯＰはストリームの各々においてＧＯＰの通常の長さを有し、短いＧＯＰが、組み立てられたストリームの残り部分（４１８、５１２）を、クリップ２の流れと一致させる。ブリッジ・セグメントがＧＯＰの通常の長さよりも短い場合、短いＧＯＰだけが生成される。しかしながら、クリップ２の最初のＧＯＰ４２０全体はもはやクリップ２ストリームにおけるその以前のＧＯＰを参照することができないので、本明細書において開示する変換方法を使用して、クローズＧＯＰに変換される（５１５）。これは、変換方法のデコーディング・ステップの間ＧＯＰ４２０の第１Ｂフレームの参照を満足させるために、デコードされカットされたＧＯＰ２クリップ４１４の使用を伴う。最終的にエンコードされ組み立てられたビットストリーム４２２は、クリップ１のＧＯＰ４２４、ブリッジＧＯＰ４２６、クローズＧＯＰ４２０に変換されたクリップ２の最初のＧＯＰ全体、およびクリップ２の残りのＧＯＰ４２８を含む。
【００１６】
[0021]  また、エンコード・ビットストリームがインターレース・フィールドを表すときに、オープンＧＯＰをクローズＧＯＰに変換するために、以上で説明した方法の変形を使用することができる。インターレース・フィールド・エンコード・ストリームの例証的なクローズＧＯＰおよびその後に続くオープンＧＯＰを図６に示す。−１および−２の添え字は、それぞれ、第１および第２フィールドを示す。プログレッシブの場合と同様、変換を受けるＧＯＰの先頭付近における一定のフレームだけ交換すればよい。しかしながら、この状況では、最初の(first)Ｉフレーム・フィールドの前に表示されるＢフレームに加えて、一定のフレームにも再エンコーディングが必要となる。何故なら、最初の(initial)Ｉフレーム・フィールドの直後にあるＢフレーム・フィールドは、交換されたＢフレームがデコードされた後のある時点まで、デコーダの参照リストに残るからである。変換を受けるＧＯＰにおける各フレームの品質はいくらかの劣化を受けるおそれがあるが、後方参照のチェーンは、２番目のＩフレーム・フィールドがデコーダのピクチャ・バッファにロードされたときに終了する。  
【００１７】
[0022]  既存の方法と比較して、以上で説明した変換方法によって得られる効率および品質の向上は、使用される特定のコデックに依存する。例えば、ある種のオープンＧＯＰコデックでは、エンコードされたストリームは、開始ＧＯＰを除いて、クローズＧＯＰを含まない。このようにエンコードされたストリームに対して、既存の方法は、カット・ポイントの後に続くクリップの残り部分の完全なデコード／再エンコードを必要とする。何故なら、参照のチェーンがクリップの使用部分の終端まで、即ち、次のカット・ポイントまで続くからである。対照的に、本明細書において説明した方法を使用すると、再エンコーディングの必要性は著しく減少する。カット毎に、せいぜい、カットにおいて組み立てられるクリップの各々におけるカット・ポイントにかかるＧＯＰ、およびカット・ポイント直後の最初のＧＯＰだけ、即ち、合計３つのＧＯＰだけをデコードおよび再エンコードすればよい。例えば、５０フレームのＧＯＰサイズでは、これは、カット当たり最大１５０フレームを再エンコードすることを伴い、平均して、その内の１００フレームだけが、編集されたシーケンスに含まれる。
【００１８】
[0023]  他のオープンＧＯＰコデックは、数秒毎にＩＤＲフレームを含む。この状況では、説明したクリップ組み立て方法を使用する効率利得は、既存の方法と比較して、デプロイされるＧＯＰサイズに依存し、ＧＯＰサイズが小さい程効率利得は大きく(greatest)なる。
【００１９】
[0024]  コンピュータ・システムは、コンピュータ・プログラミング言語、スクリプティング言語、またはアセンブリ言語でさえも使用してプログラミング可能な汎用コンピュータ・システムでもよい。また、コンピュータ・システムは、特別にプログラミングされた、特殊目的ハードウェアでもよい。汎用コンピュータ・システムでは、プロセッサは通例市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを有する。オペレーティング・システムは、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッギング、入力／出力制御、アカウンティング、コンパイル、ストレージ割り当て、データ管理およびメモリ管理、ならびに通信制御および関連サービスを行う。
【００２０】
[0025]  メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および／または再書き込み可能または再書き込み不可能であってもよい。メモリ・システムは、通例二進形態で、データを格納する。このようなデータは、マイクロプロセッサによって実行されるアプリケーション・プログラム、またはアプリケーション・プログラムによって処理されるディスクに格納された情報を定めることができる。本発明は特定のメモリ・システムに限定されるのではない。
【００２１】
[0026]  本明細書において説明したようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら３つの組み合わせで実現することができる。システムの種々のエレメントは、個別でもまたは組み合わせでも、コンピュータによる実行のためにコンピュータ・プログラム命令が非一時的コンピュータ読み取り可能媒体に格納されている１つ以上のコンピュータ・プログラム製品として実現することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって実行することができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムであってもよく、コンピュータ・ネットワークを介して接続された複数のコンピュータを含んでもよい。図２および図３に示したコンポーネントは、コンピュータ・プログラムの別個のモジュールであってもよく、または別のコンピュータにおいて動作可能でもよい、別のコンピュータ・プログラムであってもよい。これらのコンポーネントによって生成されるデータは、メモリ・システムに格納すること、またはコンピュータ・システム間で送信することができる。
【００２２】
[0027]  以上、実施形態例について説明したが、以上のことは単に例示であって限定ではなく、一例として紹介したに過ぎないことは、当業者には明らかなはずである。多数の変更や他の実施形態も本技術分野における通常の知識の１つの範囲内に入り、本発明の範囲に該当すると見なされるものとする。
【図１】
2017200176.tif 000003
【図２】
2017200176.tif 000004
【図３】
2017200176.tif 000005
【図４】
2017200176.tif 000006
【図５】
2017200176.tif 000007
【図６】
2017200176.tif 000008
【外国語明細書】
2017200176000001.pdf