(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-24
(45)【発行日】2022-04-01
(54)【発明の名称】フレーム間ビデオ圧縮におけるオープン・グループ・オブ・ピクチャからクローズ・グループ・オブ・ピクチャへの変換
(51)【国際特許分類】
H04N 19/40 20140101AFI20220325BHJP
【FI】
H04N19/40
【外国語出願】
(21)【出願番号】P 2017078024
(22)【出願日】2017-04-11
【審査請求日】2019-11-26
(32)【優先日】2016-04-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-06-14
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】500035823
【氏名又は名称】アビッド テクノロジー インコーポレイテッド
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(72)【発明者】
【氏名】セルゲイ・サムチュック
(72)【発明者】
【氏名】ヴィクトル・バプコフ
(72)【発明者】
【氏名】オレクシイ・カルバチェフスキー
(72)【発明者】
【氏名】ヨッヘン・ピーラージュ
(72)【発明者】
【氏名】インゴ・エス・ヘンツッチ
(72)【発明者】
【氏名】ブライアン・エム・ノヴォクンスキー
(72)【発明者】
【氏名】アラン・シー・グリーン
【審査官】鉢呂 健
(56)【参考文献】
【文献】特開2006-246277(JP,A)
【文献】特開2002-218390(JP,A)
【文献】特開2009-049826(JP,A)
【文献】特開2007-300593(JP,A)
【文献】PARK, Chun-Su et al.,A Simple Transcoding Algorithm for Streaming Service over Time-varying Networks,2007 Digest of Technical Papers International Conference on Consumer Electronics,IEEE,2007年04月10日,pp. 1-2,https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=4146181,<DOI: 10.1109/ICCE.2007.341523>
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
フレーム間ビデオ圧縮において使用されるオープン・グループ・オブ・ピクチャ(GOP)をクローズGOPに変換する方法であって、
オープンGOPフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、
前記ビットストリームから第1オープンGOPを抽出するステップと、
第1グループの未圧縮ビデオ・フレームを生成するために、前記第1オープンGOPの少なくとも一部をデコードするステップと、
前記ビットストリームにおいて前記第1オープンGOPの後に順次続く第2オープンGOPを抽出するステップであって、前記抽出される第2GOPが、フレーム内コード化ピクチャ(Iフレーム)を含む一連のエンコード・フレームを含む、ステップと、
前記第1未圧縮フレーム・グループの少なくとも1つのフレームを参照し、第2グループの未圧縮ビデオ・フレームを生成するために、前記第2オープンGOPの少なくとも一部をデコードするステップと、
前記第2GOPのIフレームに先立つ表示順序を有する1つ以上の再エンコード双予測コード化ピクチャ(Bフレーム)を含む再エンコード第2GOPを生成するために、前記第2未圧縮フレーム・グループを再エンコードするステップであって、前記再エンコードBフレームが、前記ビットストリーム内において受けられた前記第2GOPのIフレームを伸長することによって生成されるフレームを参照して、更に前記第1オープンGOPのフレームを参照することなく再エンコードされる、ステップと、
前記第2オープンGOPを、対応するクローズGOPに変換するステップであって、前記クローズGOPが、
前記1つ以上の再エンコードBフレームと、
前記エンコード・ビットストリームにおいて受けられた前記第2GOPのIフレームであって、エンコーダが、前記エンコード・ビットストリームにおいて受けられた前記第2GOPのIフレームに、瞬時デコーダ・リフレッシュ(IDR)フレームというフラグを立てる、Iフレームと、
前記第2GOPのIフレームに続いて順次表示される前記第2GOPのフレーム毎に、前記エンコード・ビットストリームにおいて受けられるエンコード・データと、
を含む、ステップと、
を含
み、前記ビットストリームが、複数のクリップの部分を含むシーケンスに組み立てられつつあるエンコード・ビデオ・クリップであり、対応するクローズGOPに変換される前記第2オープンGOPが、前記組み立てられたシーケンスに含まれる前記エンコード・ビデオ・クリップの一部の第1GOP全体である、方法。
【請求項2】
請求項1記載の方法において、前記ビットストリームが、統合ビデオ・クリップを生成するために統合されているエンコード・ビデオ・クリップの一部を表し、対応するクローズGOPに変換される前記第2オープンGOPが、前記統合ビデオ・クリップの開始ポイントの後に順次続く、前記統合ビデオ・クリップの第1GOP全体である、方法。
【請求項3】
請求項2記載の方法において、前記統合ビデオ・クリップの開始ポイントが、前記統合ビデオ・クリップの前記第1GOP全体の開始ポイントである、方法。
【請求項4】
請求項2記載の方法において、前記統合クリップの開始ポイントが前記第1GOP内にあり、前記統合クリップが、前記第1GOP全体の前に短いGOPを含み、前記短いGOPがクローズGOPである、方法。
【請求項5】
請求項1記載の方法において、前記エンコード・ビットストリームが、前記オープンGOPフレーム間圧縮に加えて、フレーム内圧縮を使用してエンコードされる、方法。
【請求項6】
請求項
5記載の方法において、前記フレーム内圧縮が損失を伴う、方法。
【請求項7】
請求項1記載の方法において、前記ビットストリームが、H.264エンコード・ビットストリームである、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願に対する相互引用
[0001] 本願は、2016年4月14日に出願された米国仮特許出願第62/322,684号の35U.S.C.§119(e)に基づく優先権および権利を主張する。この出願をここで引用したことによりその内容が本願にも含まれるものとする。
【従来技術】
【0002】
[0002] ビデオ・ラスタの大型化、ダイナミック・レンジの拡大、およびフレーム・レートの高速化に伴って未圧縮ビデオ帯域幅が増大するに連れて、未圧縮ビデオ帯域幅が増大し続けている。加えて、地球全体にわたって移動体デバイスによってメディアが消費されているため、限られた帯域幅にしかアクセスできないこともある。したがって、計算効率的で、高品質のビデオ圧縮が増々求められている。ビデオ圧縮手法の1つは、一定のフレームが予測的な方法で他のフレームからエンコードされるフレーム間圧縮の使用を伴う。このような圧縮方式は、MPEG-2のようなビデオ規格で使用されており、ビデオ・シーケンスがグループ・オブ・ピクチャ(GOP)に分割される。グループ・オブ・ピクチャは、他のフレームを全く参照しない1つのフレーム(イントラフレームまたはIフレーム)と、Iフレームを参照し、ときには他の予測フレームも参照する1組の予測フレームとを含む。全ての参照が所与のGOP内に留まるとき、このGOPはクローズGOP(closed GOP)となる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
[0003] 増大するビデオ圧縮の要望に応答して、ある圧縮方式、特にH.264は、予測フレームに対する可能な参照範囲を広げたので、これらは以前のGOP内に含まれるフレームも参照することができる。このようなGOPをオープンGOPと呼ぶ。しかしながら、このような方式は通常圧縮が大きくなり、メディア・ファイルを統合する(consolidate)とき、または編集中に1つのシーケンスから他のシーケンスまでカットするときのように、オープンGOPビットストリームがカットされるときに、ある種の問題が発生する。
【課題を解決するための手段】
【0004】
[0004] H.264-エンコード・ストリームのようなエンコード・ビデオ・ストリームにおいて、オープンGOPをクローズGOPに変換する方法について記載する。この方法は、特に、ビデオ編集のコンテキストにおいて共通して行われる、統合およびクリップ組み立てワークフロー(consolidate and clip assembly workflow)に適用される。一般に、1つの形態において、フレーム間ビデオ圧縮において使用されるオープンGOPをクローズGOPに変換する方法は、オープンGOPフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、ビットストリームから第1オープンGOPを抽出するステップと、第1グループの未圧縮ビデオ・フレームを生成するために、第1オープンGOPの少なくとも一部をデコードするステップと、ビットストリームにおいて第1オープンGOPの後に順次続く第2オープンGOPを抽出するステップであって、抽出される第2GOPが、フレーム内コード化ピクチャ(Iフレーム)を含む一連のエンコード・フレームを含む、ステップと、第1グループの未圧縮ビデオ・フレームの少なくとも1つのフレームを参照し、第2グループの未圧縮ビデオ・フレームを生成するために、第2オープンGOPをデコードするステップと、第2GOPのIフレームに先立つ表示順序を有する1つ以上の再エンコード双予測コード化ピクチャ(Bフレーム)を含む再エンコード第2GOPを生成するために、第2未圧縮フレーム・グループの少なくとも一部を再エンコードするステップであって、再エンコードBフレームが、ビットストリーム内において受けられた第2GOPのIフレームを伸長することによって生成されるフレームを参照して、更に第1オープンGOPのフレームを参照することなく再エンコードされる、ステップと、第2オープンGOPを、対応するクローズGOPに変換するステップとを含む。クローズGOPは、1つ以上の再エンコードBフレームと、エンコード・ビットストリームにおいて受けられた第2GOPのIフレームであって、エンコーダが、エンコード・ビットストリームにおいて受けられた第2GOPのIフレームに、瞬時デコーダ・リフレッシュ(IDR)フレームというフラグを立てる、Iフレームと、第2GOPのIフレームに続いて順次表示される第2GOPのフレーム毎に、エンコード・ビットストリームにおいて受けられるエンコード・データとを含む。
【0005】
[0005] 種々の実施形態は、以下の特徴の内1つ以上を含む。ビットストリームは、統合ビデオ・クリップを生成するために統合されているエンコード・ビデオ・クリップの一部を表し、対応するクローズGOPに変換される第2オープンGOPは、統合ビデオ・クリップの開始ポイントの後に順次続く、統合ビデオ・クリップの第1GOP全体(full GOP)である。統合ビデオ・クリップの開始ポイントは、統合ビデオ・クリップの第1GOP全体の開始ポイントである。統合クリップの開始ポイントは、第1GOP内にあり、統合クリップは、第1GOP全体の前に短いGOPを含み、短いGOPは、統合クリップの開始ポイントよりも時間的に後にある第1GOPのフレームを含むクローズGOPである。ビットストリームは、複数のクリップの部分を含むシーケンスに組み立てられつつあるエンコード・ビデオ・クリップを表し、対応するクローズGOPに変換される第2オープンGOPが、組み立てられたシーケンスに含まれるエンコード・ビデオ・クリップの一部の第1GOP全体である。エンコード・ビットストリームは、オープンGOPフレーム間圧縮に加えて、フレーム内圧縮を使用してエンコードされる。フレーム内圧縮は、損失を伴う。ビットストリームは、H.264エンコード・ビットストリームである。
【0006】
[0006] 一般に、他の形態において、コンピュータ・プログラム製品は、コンピュータ・プログラム命令がエンコードされている非一時的コンピュータ読み取り可能媒体を含み、このコンピュータ・プログラム命令が、コンピュータによって処理されると、フレーム間ビデオ圧縮において使用されるオープン・グループ・オブ・ピクチャ(GOP)をクローズGOPに変換する方法を実行するようにコンピュータに命令する。この方法は、オープンGOPフレーム間ビデオ圧縮を使用してエンコードされたエンコード・ビットストリームを受けるステップと、ビットストリームから第1オープンGOPを抽出するステップと、第1グループの未圧縮ビデオ・フレームを生成するために、第1オープンGOPをデコードするステップと、ビットストリームにおいて第1オープンGOPの後に順次続く第2オープンGOPを抽出するステップであって、抽出される第2GOPが、フレーム内コード化ピクチャ(Iフレーム)を含む一連のエンコード・フレームを含む、ステップと、第1未圧縮フレーム・グループの少なくとも1つのフレームを参照し、第2グループの未圧縮ビデオ・フレームを生成するために、第2オープンGOPをデコードするステップと、受けたビットストリームをエンコードするために使用されたエンコーダと実質的同じであるエンコーダを使用し、第2GOPのIフレームに先立つ表示順序を有する1つ以上の再エンコード双予測コード化ピクチャ(Bフレーム)を含む再エンコード第2GOPを生成するために、第2未圧縮フレーム・グループの少なくとも一部を再エンコードするステップであって、再エンコードBフレームが、ビットストリーム内において受けられた第2GOPのIフレームを伸長することによって生成されるフレームを参照して、更に第1オープンGOPのフレームを参照することなく再エンコードされる、ステップと、第2オープンGOPを、対応するクローズGOPに変換するステップとを含む。クローズGOPは、1つ以上の再エンコードBフレームと、エンコード・ビットストリームにおいて受けられた第2GOPのIフレームであって、エンコーダが、エンコード・ビットストリームにおいて受けられた第2GOPのIフレームに、瞬時デコーダ・リフレッシュ(IDR)フレームというフラグを立てる、Iフレームと、エンコード・ビットストリームにおいてフレームが受けられた形態で、第2GOPのIフレームの後に順次続いて表示される第2GOPの各フレームとを含む。
【図面の簡単な説明】
【0007】
【
図1】
図1は、クローズGOPおよびその後に続くオープンGOPを含む例証的なビデオ・ビットストリームにおけるビデオ・フレームの表示順序およびコード化順序を示す。
【
図2】
図2は、オープンGOPからクローズGOPへの変換を示す。
【
図3】
図3は、オープンGOPからクローズGOPへの変換に含まれる一連のステップを示す。
【
図4】
図4は、GOP組み立てのタイムライン表現である。
【
図5】
図5は、オープン-クローズGOP変換を使用するGOPの組み立てに含まれる一連のステップを示す。
【
図6】
図6は、例証的なインターレース・ビデオ・ビットストリームにおけるビデオ・フレームの表示順序およびコード化順序を示す。
【発明を実施するための形態】
【0008】
[0013] ビデオ・コード化において、GOPとは、エンコード・ビデオ・ストリーム内における連続ピクチャのグループである。各エンコード・ビデオ・ストリームは、一連の連続するGOPである。各GOPは、他のフレームを全く参照せずにフレーム内圧縮を使用して圧縮された1つのフレーム(Iフレーム)を含む。フレームがコード化ビットストリーム内に格納される順序(コード化順序)において、各GOPはIフレームから開始する。GOPにおける他のフレームは、予測コード化フレーム(Pフレーム)を含む。予測コード化フレームは、以前にデコードおよび表示されたピクチャに対する(relative to)動き補償差分情報を含む。双予測コード化フレーム(Bフレーム)は、以前にデコードされ、表示順序においてBフレームの後になることもある、ピクチャに対する動き補償差分情報を含む。
【0009】
[0014] 先の序文において示したように、オープンGOPとは、予測フレームの少なくとも1つが、直前のGOP内に含まれるピクチャに対して動き補償差分情報を含むGOPとして定められる。しかしながら、ビデオ・ストリームの最初のGOPは、以前のGOPのフレームを参照できないので、特殊な場合である。つまり、オープンGOPビデオ・ストリームはいずれもクローズGOPから開始しなければならない。これは、シーケンスをその開始からエンコードするときには単純に行うことができるが、既存のオープンGOPストリームがこのストリーム内部のどこかでカットされるときは状況が異なる。カットがGOP内部のどこかで行われる場合、カット・ポイントの後に続くフレームを含み直前のGOPにおけるフレームに逆方向参照を行うオープンGOPにおけるフレームはいずれも、それらの参照が破壊される。カットがGOPの境界で行われる場合でも、同じ問題が発生する。カットの後に続く各オープンGOPは、その後続のGOPにおけるフレームによって参照される可能性があるフレームを含むので、所与のGOPにおけるフレームが一旦変更されると、この変更の影響は、ビデオ・ストリームにおける次のクローズGOPまで、またはクローズGOPがない場合にはストリームの終端まで、ビデオ・ストリームに沿って順に伝わる。現在の方法は、カット・ポイントから先におけるストリームの全てではないにしても、重要な部分をデコードおよび再エンコードすることによって、この問題を解決する。これは、計算集約的であり、圧縮方式が損失を伴うので、ビデオの品質が劣化する。つまり、情報がデコード/再エンコード・サイクル毎に失われる。
【0010】
[0015] この問題は次の3つのコンテキストにおいて発生する。(i)制約のある統合動作(constrained consolidate operation)では、H.264GOPストリームのようなオープンGOPストリームは、ストリームの開始におけるGOP境界において切り捨てられなければならない。その結果は完全に準拠するビットストリームとなることが要求される。H.264ストリームの場合、完全に準拠するストリームは、ITU-T REC H.264規格のいずれの側面(aspect)も違反してはならず、容認可能なツールとしてブロードキャスタによって使用されるような、定評のあるビットストリーム・アナライザを、首尾良く通過しなければならない。説明する方法は、先頭のGOPのIフレームの手米までの元のエンコードされた素材の再エンコーディング、および以下で説明する方法を使用して、GOPを瞬時デコーダ・リフレッシュ(IDR:instantaneous decoder refresh)GOPに変換することを伴う。これは、最小限のフレーム・デコーディング/再エンコーディングだけしか必要とせず生成損失を最小限に抑えるので、画質を維持する役割を果たす。また、これは、最小量の処理しか伴わないことから、大きな性能利得が得られる。(ii)包括的統合動作(generic consolidate operation)では、オープンGOPストリームは、必ずしもGOP境界ではなく、ストリームの開始における任意の位置でカットされ、この場合も、結果が完全に準拠するビットストリームであることが要求される。この場合も、本方法は、カット・ポイントの後に続くGOPのIフレームの手前までの元のエンコード素材の最小限の再エンコーディング、および必要に応じて元のGOP境界よりも前において短いGOPを作成することを伴う。次のGOPは、以下で説明する方法を使用して、オープンGOPからクローズGOPに変換される。(iii)GOPストリームBが既存のストリームAに添付される組み立て編集動作では、ストリームAにおける最後のGOPの開始(タイムライン図の左側)からカット・ポイントまで、およびカット・ポイントからのストリームBからのGOPの終点(右側)からカット・ポイント後の最初のGOP全体が、再エンコードされる新たなGOP(ブリッジGOP)を形成する。次のGOPは、以下で説明する方法を使用して、オープンからクローズGOPに変換される。
【0011】
[0016] これより、オープンGOPをクローズGOPに変換する方法について詳細に説明する。この方法は、変換されたGOPの後に続くビデオ・ストリームにおいてGOPのいずれもデコードおよび再エンコードする必要性を回避する。
図1は、クローズGOP102から開始し、それにオープンGOP104が続くビデオ・ストリームの一例を示す。この例では、GOPサイズは48フレームであり、各GOPはIフレームの前に表示される 3つのBフレーム106、108を含む。Bフレーム106は後方参照を全く含まないが、オープンGOPのBフレーム108は後方のGOP102におけるフレームを参照する。オープンGOP104が以前のGOPを全く参照しない場合、除去しなければならないのはこれらのリンクである。
【0012】
[0017]
図2を参照すると、オープンGOP202は、Iフレーム206の前に表示される3つのBフレーム204を含む。この図では、フレームは表示順(コード化順ではなく)で示されている。Bフレームの各々は、Iフレームに向かう前向き矢印で示すように、Iフレーム206を参照し、Iフレームに向かう後ろ向き矢印で示すように、直前のGOP208の1つ以上のフレームを参照する動き補償予測を使用することによって生成された。オープンGOPからクローズGOPに変換するプロセスのステップは、
図3に示す5つのステップを含む。最初のステップ302において、オープンGOP202の先頭(B)フレーム(置換される)が、Iフレームまでを含んで、直前のGOP208からの(以前に)デコードされたフレームを使用して、デコードされる。
図2に示す例では、これらは3つのBフレーム204である。ステップ304において、デコードされたBフレームは、元のストリームにおけるのと同じGOP構造を保存するデコードされたIフレームだけを参照して、再エンコードされる。GOP構造に加えて、可能な範囲で、デコーディングおよび再エンコーディング・プロセスにおいて使用されるパラメータは、元のストリームをエンコードするために使用されたものと一致する。置換クローズGOP(Replacement Closed GOP)210は次のように組み立てられる。ステップ306において、元のBフレーム204が、
図2においてB
*フレームと命名された再エンコード・フレーム212によって置き換えられる。B
*フレームは、これらがGOPにおけるIフレームに対する参照だけに頼ること(即ち、後方および前方参照はいずれもIフレームを目標にする)が元のBフレームとは異なるだけでなく、元のBフレームは損失のあるデコード/再エンコード・サイクルを経ることによって品質が劣化することでも異なる。クローズGOP210におけるB
*フレーム212の直後にはIフレーム214がある。ステップ308において、GOP202の元のIフレーム206には、IDRフレームというフラグが付けられる(flagged as)。IDRフレームは、シーケンスの開始におかれ、コデックによっては、GOPシーケンス内における種々のポイントに置かれることもある。GOPにおけるIDRフレームの効果は、GOPがクローズGOPとして扱われなければならないことをデコーダに知らせることであり、その結果、Iフレームの前に表示されるBフレームはいずれも前方参照だけを有することになる。また、ピクチャ番号シーケンスを0から開始し直させ、GOP210内にあるフレーム、および次のIDR GOPまたは他にIDRが存在しない場合には、GOPシーケンスの終端までの連続するGOP内にあるフレームに番号の振り直しが必要となる。GOP210の残りのフレーム216は、元のGOP202の対応するフレーム218から変化しない。Iフレーム214の後に表示される全てのフレームが、Iフレーム214だけを逆方向に参照するので、残りのフレーム216は、変更されたBフレーム212による影響を受けず、これらのフレーム、または連続するオープンGOPのフレームは、デコード/再エンコード・サイクルを受ける必要がない。変換されたGOPにIDR GOPというフラグを付けることによって、ストリームが完全に準拠すること、即ち、全くエラーを生ずることなく、規格、例えば、H.264に準拠する任意のデコーダによってデコードできることを保証する。
【0013】
[0018] 要約すると、オープンGOPからクローズGOPに変換されたGOPは、交換されたBフレーム(B
*、
図2、212)と、IDRフレーム(214)というフラグが付けられた元のIフレームと、元のオープンGOP(216)の残りのエンコード・フレームとを含む。B
*フレームに対して行われる同じデコード/再エンコード・サイクルをIフレームが受けた後に生成されるI
*フレームではなく、IDRというフラグが付けられた元のIフレームを使用することによって、変換されたGOP210において、B
* フレーム212とIフレーム214との間に明らかな不一致が生ずる。これは、エンコーディングおよびデコーディング・ステップにおけるパラメータを、元のビデオ・ストリームがエンコードされたときに使用されたものとできるだけ近く設定することによって最小化される。Iフレームは、デコード/再エンコード・サイクルを経ていないために、I
*フレームよりも品質が高いので、B
*フレームに一層忠実な参照を提供し、I
*フレームを参照してデコードされるフレームと比較して、デコードされたB
*の品質を改善することができる。他方で、B
*フレームがデコードされるとき、これらは、これらが参照するデコードされたIフレームよりも1サイクル多いエンコーディングおよびデコーディングを経た予測情報を含み、デコーディング・プロセスにおいてエラーを生ずる危険性があるように思えるかもしれない。しかしながら、BおよびIフレーム間における参照方式のために、これはデコードされたB
*フレームにおいて無効な値を発生する原因には全くならない。
【0014】
[0019] これより、以上で引用した、オープンGOPからクローズGOPへの変換が有利である統合および組み立てのコンテキストについて説明する。ビデオ・シーケンスが統合されるとき、メディア・ファイルの内編集されこのシーケンスに組み込まれた部分だけが、シーケンスに含まれるクリップ毎に、新たに作成されたクリップ(マスタ・クリップと呼ばれることが多い)としてコピーされる。これによって、記憶空間を節約するために、メディア・ファイルの未使用部分を削除することが可能になる。また、統合プロセスは、バックアップ・ファイルを作成し、格納および他のシステムへの転送のために、散乱したメディアを1つのドライブに集める役割も果たす。つまり、統合プロセスの間、編集ビデオ・シーケンスにおいて使用されることになったビデオ・クリップの部分は、使用されないクリップの部分から分離される。この分離点は、カット・ポイント、即ち、編集シーケンスに含まれるクリップの部分が開始するポイントにおいて現れる。制約のある統合プロセスでは、カット・ポイントはGOP境界上に載る(fall on)。包括的統合プロセスでは、カット・ポイントは通例GOP内に入る。両方の場合において、編集部分の最初のGOP全体がオープンGOPからクローズGOPに変換されなければならない。カット・ポイントがGOP内に入ると、最初のGOP全体の前に、統合クリップに含まれるカットGOPの部分を含む短いクローズGOPが先行する。先に示したように、既存の方法は、大抵の場合、カット・ポイントにかかる(spanning)GOPだけでなく、ストリームに沿った参照の伝搬のために後続のオープンGOP全てのデコーディングおよび再エンコーディングも必要とし、その結果、高い計算負荷および品質の劣化が生ずる。本明細書において説明した、オープンGOPからクローズGOPに変換する方法を使用すると、統合クリップを開始する短いGOPと、統合クリップの最初のGOP全体の内少なくとも一部以外をデコードおよび再エンコードする必要なく、統合を実行する手段を提供する。
【0015】
[0020] 組み立て編集のコンテキストでは、2つのクリップの一部が組み立てられて、第1クリップの一部から開始し、カットしてあるポイントを跨いで第2クリップの一部へのシーケンスを作成する。クリップがフレーム間エンコード・ビットストリームの形態であるとき、GOP間のフレーム間参照を絶つことなく、そして殆どの場合、カット・ポイントにかかるGOP内でもフレーム間参照を絶つことなく、第2クリップ部分の開始を、単に、第1クリップ部分の終端に繋ぎ合わせることはできない。
図4は、2つのクリップ(クリップ1およびクリップ2)の組み立てのタイムライン様式の図であり、このプロセスに含まれるステップを
図5に示す。
図4を参照すると、カット・ポイント402がクリップ1 404およびクリップ2 406をカットし、カット・ポイントにかかるGOPを分割してこれらのクリップの各々の中に入れる。概略的に、図に示すように、クリップ1のGOP境界はクリップ2のそれらと時間的に揃わない。カット・ポイントにかかるクリップ1およびクリップ2のGOP(408、410)が、それぞれ、クリップ1およびクリップ2のストリームから抽出される(
図5の502、504)。抽出されたGOPはデコードされ(412、414、506、508)、一緒に組み立てられて未圧縮ブリッジ・セグメント(416、510)を作成する。次いで、このブリッジ・セグメントは1つ(または2つ)のGOPに再エンコードされ、最初のGOPはストリームの各々においてGOPの通常の長さを有し、短いGOPが、組み立てられたストリームの残り部分(418、512)を、クリップ2の流れと一致させる。ブリッジ・セグメントがGOPの通常の長さよりも短い場合、短いGOPだけが生成される。しかしながら、クリップ2の最初のGOP420全体はもはやクリップ2ストリームにおけるその以前のGOPを参照することができないので、本明細書において開示する変換方法を使用して、クローズGOPに変換される(515)。これは、変換方法のデコーディング・ステップの間GOP420の第1Bフレームの参照を満足させるために、デコードされカットされたGOP2クリップ414の使用を伴う。最終的にエンコードされ組み立てられたビットストリーム422は、クリップ1のGOP424、ブリッジGOP426、クローズGOP420に変換されたクリップ2の最初のGOP全体、およびクリップ2の残りのGOP428を含む。
【0016】
[0021] また、エンコード・ビットストリームがインターレース・フィールドを表すときに、オープンGOPをクローズGOPに変換するために、以上で説明した方法の変形を使用することができる。インターレース・フィールド・エンコード・ストリームの例証的なクローズGOPおよびその後に続くオープンGOPを
図6に示す。-1および-2の添え字は、それぞれ、第1および第2フィールドを示す。プログレッシブの場合と同様、変換を受けるGOPの先頭付近における一定のフレームだけ交換すればよい。しかしながら、この状況では、最初の(first)Iフレーム・フィールドの前に表示されるBフレームに加えて、一定のフレームにも再エンコーディングが必要となる。何故なら、最初の(initial)Iフレーム・フィールドの直後にあるBフレーム・フィールドは、交換されたBフレームがデコードされた後のある時点まで、デコーダの参照リストに残るからである。変換を受けるGOPにおける各フレームの品質はいくらかの劣化を受けるおそれがあるが、後方参照のチェーンは、2番目のIフレーム・フィールドがデコーダのピクチャ・バッファにロードされたときに終了する。
【0017】
[0022] 既存の方法と比較して、以上で説明した変換方法によって得られる効率および品質の向上は、使用される特定のコデックに依存する。例えば、ある種のオープンGOPコデックでは、エンコードされたストリームは、開始GOPを除いて、クローズGOPを含まない。このようにエンコードされたストリームに対して、既存の方法は、カット・ポイントの後に続くクリップの残り部分の完全なデコード/再エンコードを必要とする。何故なら、参照のチェーンがクリップの使用部分の終端まで、即ち、次のカット・ポイントまで続くからである。対照的に、本明細書において説明した方法を使用すると、再エンコーディングの必要性は著しく減少する。カット毎に、せいぜい、カットにおいて組み立てられるクリップの各々におけるカット・ポイントにかかるGOP、およびカット・ポイント直後の最初のGOPだけ、即ち、合計3つのGOPだけをデコードおよび再エンコードすればよい。例えば、50フレームのGOPサイズでは、これは、カット当たり最大150フレームを再エンコードすることを伴い、平均して、その内の100フレームだけが、編集されたシーケンスに含まれる。
【0018】
[0023] 他のオープンGOPコデックは、数秒毎にIDRフレームを含む。この状況では、説明したクリップ組み立て方法を使用する効率利得は、既存の方法と比較して、デプロイされるGOPサイズに依存し、GOPサイズが小さい程効率利得は大きく(greatest)なる。
【0019】
[0024] コンピュータ・システムは、コンピュータ・プログラミング言語、スクリプティング言語、またはアセンブリ言語でさえも使用してプログラミング可能な汎用コンピュータ・システムでもよい。また、コンピュータ・システムは、特別にプログラミングされた、特殊目的ハードウェアでもよい。汎用コンピュータ・システムでは、プロセッサは通例市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを有する。オペレーティング・システムは、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッギング、入力/出力制御、アカウンティング、コンパイル、ストレージ割り当て、データ管理およびメモリ管理、ならびに通信制御および関連サービスを行う。
【0020】
[0025] メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および/または再書き込み可能または再書き込み不可能であってもよい。メモリ・システムは、通例二進形態で、データを格納する。このようなデータは、マイクロプロセッサによって実行されるアプリケーション・プログラム、またはアプリケーション・プログラムによって処理されるディスクに格納された情報を定めることができる。本発明は特定のメモリ・システムに限定されるのではない。
【0021】
[0026] 本明細書において説明したようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら3つの組み合わせで実現することができる。システムの種々のエレメントは、個別でもまたは組み合わせでも、コンピュータによる実行のためにコンピュータ・プログラム命令が非一時的コンピュータ読み取り可能媒体に格納されている1つ以上のコンピュータ・プログラム製品として実現することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって実行することができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムであってもよく、コンピュータ・ネットワークを介して接続された複数のコンピュータを含んでもよい。
図2および
図3に示したコンポーネントは、コンピュータ・プログラムの別個のモジュールであってもよく、または別のコンピュータにおいて動作可能でもよい、別のコンピュータ・プログラムであってもよい。これらのコンポーネントによって生成されるデータは、メモリ・システムに格納すること、またはコンピュータ・システム間で送信することができる。
【0022】
[0027] 以上、実施形態例について説明したが、以上のことは単に例示であって限定ではなく、一例として紹介したに過ぎないことは、当業者には明らかなはずである。多数の変更や他の実施形態も本技術分野における通常の知識の1つの範囲内に入り、本発明の範囲に該当すると見なされるものとする。