(57)【要約】      （修正有）【課題】デジタルビデオ信号の生成の際に、ネットワークフィードの固定タイムスロットに圧縮されたローカルビデオセグメントをスプライシングする技術を提供する。【解決手段】デコーダバッファのオーバーフロー又はアンダーフローなしにローカルコマーシャルセグメントを現存するネットワークタイムスロットにシームレスでスプライスする。コマーシャルセグメントのｖｂｖ＿ｄｅｌａｙは（例えば、最小遅延又は最大遅延に）コントロールされる。コマーシャルセグメントからピクチャは、関連ネットワークタイムスロットデュレーションの少なくとも一部の間出力される。コマーシャルセグメント又は入力ネットワークフィードの格納部分に残っているピクチャ数に関して決定がなされ、出力レートが要求されるように調節される。【選択図】なし【特許請求の範囲】
【請求項１】
関連ｖｂｖ＿ｄｅｌａｙを有するコマーシャルスロットデュレーションでネットワークタイムスロットデュレーションと関連ｖｂｖ＿ｄｅｌａｙを有する入力ネットワークフィードをスプライスする方法であって、
（ａ）  最小遅延及び最大遅延の一方の間で前記コマーシャルスロットｖｂｖ＿ｄｅｌａｙをコントロールし、
（ｂ）  ネットワークタイムスロットデュレーションの少なくとも一部の間で圧縮されたコマーシャルスロットからピクチャを出力し、
（ｃ）  前記入力ネットワークフィードの格納部分と前記コマーシャルスロットの一方から残りのピクチャ数を決定し、前記コマーシャルスロットを出力するために要求されるように前記出力速度を調整し、
（ｄ）  前記入力ネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙと一致させるために、格納されたネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙと前記ローカルコマーシャルスロットの前記ｖｂｖ＿ｄｅｌａｙの一方を調整することを有する方法。
【請求項２】
最大遅延に前記コマーシャルスロットｖｂｖ＿ｄｅｌａｙをコントロールすることを有する請求項１記載の方法。
【請求項３】
前記ネットワークタイムスロットデュレーション、前記圧縮されたコマーシャルスロットからピクチャを出力することを有する請求項２記載の方法。
【請求項４】
前記入力ネットワークフィードの少なくとも一部を格納し、増加した出力速度で前記残りのピクチャを出力し、その後、前記ネットワークフィードの前記格納部分を出力し、格納されたネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙが前記入力ネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙと一致するまで、ネットワークタイムスロットｖｂｖ＿ｄｅｌａｙを調整することによって、前記コマーシャルスロットから残りのいかなるピクチャをも出力することを有する請求項３記載の方法。
【請求項５】
前記圧縮されたコマーシャルスロットデュレーションは３０．５秒のデュレーションを有するようにコントロールされる請求項２記載の方法。
【請求項６】
前記ネットワークタイムスロットデュレーションは、デコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいており、前記ネットワークフィードの前記格納部分は、前記３０．５秒と前記ネットワークタイムスロットデュレーションとの差と少なくとも同じぐらい大きい請求項５記載の方法。
【請求項７】
最小遅延に前記コマーシャルｖｂｖ＿ｄｅｌａｙをコントロールすることを有する請求項１記載の方法。
【請求項８】
前記ネットワークタイムスロットデュレーションの少なくとも一部の間前記圧縮されたコマーシャルスロットからピクチャを出力することを有する請求項７記載の方法。
【請求項９】
前記コマーシャルスロットから残りのピクチャ数を決定し、前記ネットワークタイムスロットデュレーションを完了するために要求されるように前記出力速度を調節し、前記入力ネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙに一致するように前記ローカルコマーシャルスロットｖｂｖ＿ｄｅｌａｙを調整することを有する請求項８記載の方法。
【請求項１０】
前記圧縮されたコマーシャルスロットデュレーションは２９．５秒間を有するようにコントロールされる請求項７記載の方法。
【請求項１１】
前記ネットワークタイムスロットデュレーションはデコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいており、前記コマーシャルスロットから１５ピクチャが残るように前記圧縮されたコマーシャルスロットは２９秒間出力され、１５の残りのピクチャの前記出力速度は前記ネットワークタイムスロットデュレーションと２９．５秒との差に基づいて決定される請求項１０記載の方法。
【請求項１２】
関連ｖｂｖ＿ｄｅｌａｙを有するコマーシャルスロットデュレーションでネットワークタイムスロットデュレーションと関連ｖｂｖ＿ｄｅｌａｙを有する入力ネットワークフィードをスプライスする方法であって、
（ａ）  最大遅延に前記コマーシャルスロットｖｂｖ＿ｄｅｌａｙをコントロールし、
（ｂ）  前記ネットワークタイムスロットデュレーション、前記圧縮されたコマーシャルスロットからピクチャを出力し、
（ｃ）  前記入力ネットワークフィードの少なくとも一部を格納し、前記残りのピクチャを増加した出力速度で出力し、前記格納されたネットワークフィードを出力し、格納されたネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙが前記入力ネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙと一致するまで、ネットワークタイムスロットｖｂｖ＿ｄｅｌａｙを調節することによって、前記コマーシャルスロットから残りのいかなるピクチャをも出力することを有する方法。
【請求項１３】
前記圧縮されたコマーシャルスロットデュレーションは３０．５秒間を有するようにコントロールされる請求項１２記載の方法。
【請求項１４】
前記ネットワークタイムスロットデュレーションは、デコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいており、前記ネットワークフィードの前記格納部分は、前記３０．５秒と前記ネットワークタイムスロットデュレーションとの差と少なくとも同じぐらい大きい請求項１３記載の方法。
【請求項１５】
関連ｖｂｖ＿ｄｅｌａｙを有するコマーシャルスロットデュレーションでネットワークタイムスロットデュレーションと関連ｖｂｖ＿ｄｅｌａｙを有する入力ネットワークフィードをスプライスする方法であって、
（ａ）  最小遅延に前記コマーシャルスロットｖｂｖ＿ｄｅｌａｙをコントロールし、
（ｂ）  前記ネットワークタイムスロットデュレーションの少なくとも一部の間、前記圧縮されたコマーシャルスロットからピクチャを出力し、
（ｃ）  前記コマーシャルスロットから残りのピクチャ数を決定し、前記ネットワークタイムスロットデュレーションを完了するために要求されるように前記出力速度を調節し、前記入力ネットワークフィードの前記ｖｂｖ＿ｄｅｌａｙに一致するように前記ローカルコマーシャルスロットｖｂｖ＿ｄｅｌａｙを調整することを有する方法。
【請求項１６】
前記圧縮されたコマーシャルスロットデュレーションは２９．５秒間を有するようにコントロールされる請求項１５記載の方法。
【請求項１７】
前記ネットワークタイムスロットデュレーションはデコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいており、前記コマーシャルスロットから１５ピクチャが残るように前記圧縮されたコマーシャルスロットは２９秒間出力され、１５の残りのピクチャの前記出力速度は前記ネットワークタイムスロットデュレーションと２９．５秒との差に基づいて決定される請求項１６記載の方法。
【請求項１８】
関連ｖｂｖ＿ｄｅｌａｙを有するコマーシャルスロットデュレーションでネットワークタイムスロットデュレーションと関連ｖｂｖ＿ｄｅｌａｙを有する入力ネットワークフィードをスプライスする方法であって、
（ａ）  前記入力ネットワークフィードの少なくとも一部を格納及び遅延させ、
（ｂ）  前記ネットワークタイムスロットデュレーションをデコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいて決定し、
（ｃ）  前記コマーシャルスロットデュレーションが実質的に前記ネットワークタイムスロットデュレーションと一致するように前記コマーシャルスロットｖｂｖ＿ｄｅｌａｙをコントロールし、
（ｄ）  前記ネットワークタイムスロットデュレーションの完了後に前記入力ネットワークフィードを出力することを有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０００年７月２５日に出願された仮特許出願通し番号６０／２２０，６７１号の利益を主張する。
【０００２】
本発明は、デジタルビデオ信号の生成に関する。具体的には、本発明は、特に要求処理速度を低下することによって下流受信機の設計要求を単純化する、ビデオスプライシングの改良に関する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
圧縮されたビットストリームをスプライシングすることにおける目的は、トランジションを通してビットストリームコンプライアンスを維持しながら、復号化されたプログラムを崩壊することなく、ある圧縮されたソースから第２の圧縮されたソースに変換することである。一般に、入力ストリームは、個々のエレメンタリストリーム型プロセッサによって処理される前に、パケタイズドエレメンタリストリーム（ＰＥＳ）レベルにデマルチプレックスされる。プログラムビデオは、アクセスユニット（ピクチャ）の境界においてスプライスされ、タイムスタンプされたビデオ（及びオーディオフレーム）の連続フローが、タイミング的に断絶せずに、出力ストリームで維持される。
【０００４】
ビデオスプライシング技術は、ストリームの入り口点と出口点を決定して出力ストリームが要求する値を計算するのに使用されるストリームパラメータを抽出する、入力ストリームの検査を含む場合がある。出口点は現在の出力ストリーム中に検出され、入り口点は次の出力ストリーム中に検出される。
【０００５】
シームレスな出入口点の表示は、隣接するピクチャの種類を分析することによって検出できる。特に、アンカーピクチャの前のピクチャの終わりで、ストリームからのシームレスな出力が行われる。このため、原ストリームで自然に生じる出口点が特定される。シームレスな出入口点は（１）クローズドＧＯＰの開始、（２）アンカーピクチャが続くイントラ符号化（Ｉ）ピクチャ、又は（３）後方向予測やイントラ符号化のみを用いるＰピクチャが続くＩピクチャによって特定可能である。
【０００６】
現実の切り替え点は一般に一つのピクチャ又は切り替えコマンドの２つの内部に配置できる設計になっているので、適切な出入口点を検出することによって、ある圧縮ストリームから第２の圧縮ストリームへの切り替えの困難性が（シームレスな特徴を維持するために）顕著な視覚効果なしで緩和される。しかし、セグメント置換は正確でなければならないので、ネットワークコマーシャルのみで構成される場合もある厳格に規定されたネットワークタイムスロットが、同じように厳格に規定されたローカル挿入によって置換される場合、そのスロットを正しく満たすことに注意を払わなければならない。
【課題を解決するための手段】
【０００７】
発明の要約
本発明は、デコーダバッファのオーバーフロー又はアンダーフローなしにローカルコマーシャルセグメントを現存するネットワークタイムスロットにシームレスでスプライシングする方法に関する。具体的には、本発明は、関連ｖｂｖ＿ｄｅｌａｙを有するコマーシャルスロットデュレーションで、ネットワークタイムスロットデュレーションと関連ｖｂｖ＿ｄｅｌａｙを有する入力ネットワークフィードをスプライスする方法に関する。ある最小遅延と最大遅延の間でコマーシャルスロットｖｂｖ＿ｄｅｌａｙのｖｂｖ＿ｄｅｌａｙがコントロールされる。ネットワークタイムスロットデュレーションの少なくとも一部に対して、圧縮されたコマーシャルスロットからピクチャが出力される。その後、残りのピクチャ数が決定される（即ち、入力ネットワークフィードの格納部分又はコマーシャルスロットのどちらかからの残りのピクチャ）。（入力ネットワークフィードの格納部分又はコマーシャルスロットのどちらかからの残りのピクチャの）出力レートはコマーシャルスロットを出力する必要に応じて調整される。その後、入力ネットワークフィードのｖｂｖ＿ｄｅｌａｙに一致するように、格納されたネットワークフィード又はローカルコマーシャルスロットのｖｂｖ＿ｄｅｌａｙのどちらかのｖｂｖ＿ｄｅｌａｙが調整される。
【０００８】
好ましい実施形態においては、コマーシャルスロットｖｂｖ＿ｄｅｌａｙは最大遅延にコントロールされる。圧縮されたコマーシャルスロットからのピクチャはネットワークタイムスロットデュレーションに出力される。入力ネットワークフィードの少なくとも一部を格納し、増加した出力レートで残りのピクチャを出力し、その後、ネットワークフィードの格納部分を出力することによって、コマーシャルスロットから残りのいかなるピクチャも出力される。格納されたネットワークフィードのｖｂｖ＿ｄｅｌａｙが入力ネットワークフィードのｖｂｖ＿ｄｅｌａｙと一致するまで、ネットワークタイムスロットｖｂｖ＿ｄｅｌａｙも調整される。
【０００９】
更に別の好ましい実施形態においては、コマーシャルｖｂｖ＿ｄｅｌａｙは最小遅延にコントロールされる。ネットワークタイムスロットデュレーションの少なくとも一部に対して、圧縮されたコマーシャルスロットからピクチャが出力される。コマーシャルスロットから残りのピクチャ数を決定し、ネットワークタイムスロットデュレーションを完了する必要に応じて出力レートを調節し、入力ネットワークフィードのｖｂｖ＿ｄｅｌａｙに一致するようにローカルコマーシャルスロットｖｂｖ＿ｄｅｌａｙも調整される。
【００１０】
更に別の好ましい実施形態においては、入力ネットワークフィードの少なくとも一部が格納及び遅延される。ネットワークタイムスロットデュレーションが、デコードタイムスタンプとネットワークタイムスロットデュレーション時間許容値に基づいて決定される。コマーシャルスロットデュレーションが実質的にネットワークタイムスロットデュレーションに一致するように、コマーシャルスロットｖｂｖ＿ｄｅｌａｙがコントロールされる。ネットワークタイムスロットデュレーションの完了後に入力ネットワークフィードが出力される。
【図面の簡単な説明】
【００１１】
【図１】本発明によるネットワーク及びローカルタイムスロットの配列を示す。
【図２】本発明によるＤＴＳからの経過時間及びｖｂｖ＿ｄｅｌａｙパラメータを示す。
【図３】本発明によるネットワークスロットと、最大値にコントロールされたコマーシャル挿入のｖｂｖ＿ｄｅｌａｙを有するコマーシャル挿入との相対的なデュレーションを示す。
【図４】本発明によるネットワークスロットと、最小値にコントロールされたコマーシャル挿入のｖｂｖ＿ｄｅｌａｙを有するコマーシャル挿入との相対的なデュレーションを示す。
【発明を実施するための形態】
【００１２】
発明の詳細な説明
１からＳの番号が付されたＳ個のネットワークアクセスユニット（ピクチャ）のシーケンスがストリームに埋め込まれている、図１に示すネットワークエレメンタリストリームＮを考える。このシーケンスは、局所的に挿入されたコマーシャルになり得るローカルタイムスロットを表す１からＣの番号が付されたＣ個のローカルアクセスユニットのシーケンスと交換される予定の、ネットワーク広告になり得るネットワークタイムスロットを表している。
【００１３】
ネットワークのアウトポイントは、ローカルアクセスユニット１の開始に位置し、ネットワークアクセスユニット１の開始と一致する。同様に、ネットワークへ戻るインポイントは、ネットワークアクセスユニットＳの後にある。ローカルコマーシャルのアウトポイントは、ローカルアクセスユニットＣの後にある。
【００１４】
圧縮されたストリームを更に制約しないと、コマーシャルの開示時間と最後のプレゼンテーションデュレーションを知っても、ネットワークが提供するタイムスロットのストリームに圧縮されたローカルコマーシャルを挿入する方法を決定するには不十分である。ストリーム中のタイムスロットＴｓは、ある許容値Δｓを加算又は減算したスロットのプレゼンテーションタイムＰｓに等しい変数である。同様に、局所的に格納され圧縮されたコマーシャルは、ある許容値Δｃを加算又は減算したスロットのプレゼンテーションタイムＰｃに等しい可変タイムスロットＴｃを有する。即ち、
Ｔｓ＝Ｐｓ＋／−Δｓ、及び、Ｔｃ＝Ｐｃ＋／−Δｃ
通常、ネットワークスロットとコマーシャルスロットの両方が同一のフレームレートを有する場合、即ち、Ｓ＝Ｃの場合は、ネットワークアクセスユニット数はローカルコマーシャルアクセスユニット数に等しい。しかし、２４フレーム／秒セグメントを３０フレーム／秒スロットに挿入する場合のようにＳ≠Ｃの場合には、各セグメント内のアクセスユニット数は、Ｔｓ≡Ｔｃとなるように、比例的に配置されなければならない。
【００１５】
タイムスロットデュレーションに含まれるΔ許容値を決定することは、ローカルセグメントを現存するネットワークタイムスロットにスプライスする本発明を理解する上で非常に重要である。
【００１６】
可変性の決定
図２に示す、ＭＰＥＧ２圧縮ビデオデータのエレメンタリストリームｎにおいて、アクセスユニットｊには、２つの重要な情報、即ち、ビデオバッファリングベリファイア遅延（ｖｂｖ＿ｄｅｌａｙ）及びデコードタイムスタンプ（ＤＴＳ）がスタンプされる。
【００１７】
ｖｂｖ＿ｄｅｌａｙのＭＰＥＧ２定義は、「ビデオバッファリングベリファイア（ＶＢＶ）がピクチャ開始コードの最終バイトを受信してからそのピクチャを復号化するまで待機する、２７ＭＨｚのシステムクロックによって導き出される９０ｋＨｚのクロックの期間の数」である。ＭＰＥＧ２用語において、明確化のために挿入された括弧書きで、ＶＢＶは「（ビデオ）エンコーダの出力に概念的に関係のある、（ビデオバッファを有する）仮想的な（ビデオ）デコーダである。その目的は、エンコーダ又は編集プロセスが（ビデオデコーダのバッファがオーバーフロー又はアンダーフローするのを避けるために）作成可能であるデータレートの可変性に関する制約を与えることである。」ｖｂｖ＿ｄｅｌａｙの値はピクチャヘッダに配置される。
【００１８】
ＭＰＥＧ２において、ｊ番目のアクセスユニットのパケタイズドエレメンタリストリーム（ＰＥＳ）ヘッダに配置されるＤＴＳは、「エレメンタリストリームｎのアクセスユニットｊのシステムターゲットデコーダにおいて、符号化時間ｔｄｎ（ｊ）を示す」。特に、アクセスユニットｊについて、このＤＴＳは、ＤＴＳ（ｊ）として表すことができる。また、ＤＴＳの値は、２７ＭＨｚのシステムクロックから導き出される９０ＫＨｚのクロックの期間の数のユニットにおいて特定される。
【００１９】
いかなる瞬間においても、時刻は、プログラムクロックレファレンス（ＰＣＲ）から取得され、２７ＭＨｚのシステムクロックから導き出される。ＰＣＲの９０ＫＨｚ成分は、プログラムクロックレファレンスベース（ＰＣＲＢ）である。特に、ｖｂｖ＿ｄｅｌａｙがアクセスユニットｊにおいて発生する瞬間の時刻は、ＰＣＲＢ（ｊ）として表される。図２は、アクセスユニットｊにおけるＤＴＳ（ＰＥＳヘッダの一部）とｖｂｖ＿ｄｅｌａｙ（ピクチャヘッダの一部）との関係を示しており、エレメンタリストリームｎにおいて、次のアクセスユニットがアクセスユニットｋまで続く。
【００２０】
どのアクセスユニットにおけるｖｂｖ＿ｄｅｌａｙの値も、そのアクセスユニットにおけるＤＴＳと、次式によるエレメンタリストリームにｖｂｖ＿ｄｅｌａｙが提供される時の時刻（いわばウォールクロック）とに関連づけられている。
【００２１】
ｖｂｖ＿ｄｅｌａｙ＝ＤＴＳ−ＰＣＲＢ
全ての項を９０，０００で割ると秒数の値が得られる。
時間に関して解くと、
Ｔ＝ＰＣＲＢ＝ＤＴＳ−ｖｂｖ＿ｄｅｌａｙ
特に、アクセスユニットｊについての発生の時間は、
ｔ（ｊ）＝ＰＣＲＢ（ｊ）＝ＤＴＳ（ｊ）−ｖｂｖ＿ｄｅｌａｙ（ｊ）
同様に、アクセスユニット（ｋ）についての発生の時間は、
ｔ（ｋ）＝ＰＣＲＢ（ｋ）＝ＤＴＳ（ｋ）−ｖｂｖ＿ｄｅｌａｙ（ｋ）
トランスポートストリーム内の２つのアクセスユニット間の経過時間は以下によって得られる。
【００２２】
経過時間＝ｔ（ｋ）−ｔ（ｊ）
ｔ（ｊ）がｔ（ｋ）の前に発生すると、即ち、ｔ（ｊ）＜ｔ（ｋ）であると、経過時間ＴＬは以下のようになる。
【００２３】
ＴＬ＝ｔ（ｋ）−ｔ（ｊ）＝［ＤＴＳ（ｋ）−ｖｂｖ＿ｄｅｌａｙ（ｋ）］−［ＤＴＳ（ｊ）−ｖｂｖ＿ｄｅｌａｙ（ｊ）］
整理すると以下のようになる。
【００２４】
ＴＬ＝［ＤＴＳ（ｋ）−ＤＴＳ（ｊ）］+「ｖｂｖ＿ｄｅｌａｙ（ｊ）−ｖｂｖ＿ｄｅｌａｙ（ｋ）」
この最終式は、ローカルセグメントをネットワークストリームのスロットにスプライスする方法を理解する上で鍵となる要素である。
【００２５】
［ＤＴＳ（ｋ）−ＤＴＳ（ｊ）］は、図２に示すアクセスユニットのシーケンスのデュレーションであり、それは、スロット及びコマーシャル再生時間又はプレゼンテーションタイム（およそ３０秒のスポット）を表すことが分かる。［ｖｂｖ＿ｄｅｌａｙ（ｊ）−ｖｂｖ＿ｄｅｌａｙ（ｋ）］の項は、スロットのデュレーションの可変性又は時間許容値を表す。
【００２６】
数値実施例として、典型的な３０Ｈｚのシステムにおいて、ＤＴＳ値が、あるアクセスユニットから次のものまでに３０００だけインクレメント場合を考える。これは、ＤＴＳ復号時間がプレゼンテーションピクチャレートを単位としているからである。従って、３０秒の典型的なコマーシャルスロットにおいて、ＤＴＳの２つの値の差、即ち、［ＤＴＳ（ｋ）−ＤＴＳ（ｊ）］は、２，７００，０００となり、９０，０００で割ると３０秒となる。トランスポートスロットにマルチプレックスされる場合に、アクセスユニットがストリーム中で提供されるときの可変性は、ｖｂｖ＿ｄｅｌａｙの２つの値の差、即ち、［ｖｂｖ＿ｄｅｌａｙ（ｊ）−ｖｂｖ＿ｄｅｌａｙ（ｋ）］によって導かれる。ｖｂｖ＿ｄｅｌａｙ値が同一であれば、アクセスユニットは時間的にそれぞれのＤＴＳ値の間の正確な差だけ離れている。最悪のケース（最大）の可変性を決定するのは次のステップである。
【００２７】
可変性に関する境界制限
非制限のストリームは、ｖｂｖ＿ｄｅｌａｙに対して、ゼロと４５，０００との間のいかなる値も許容する。このため、固定プレゼンテーション長コマーシャル挿入に対するタイムスロットは、９０ＫＨｚのクロックの±４５，０００デュレーションだけ変化可能である。時間を単位とすると、これは、トランスポートストリームの実時間で観測された場合には±０．５秒を表す。例えば、ビューアに復号化されたコマーシャルを正確に３０秒間提供する３０秒コマーシャルスロットが、所望の基準３０秒からオフセットされた期間の間、トランスポートストリームに現われる。そのオフセットは、最後のピクチャ後のｖｂｖ＿ｄｅｌａｙと最初のピクチャのｖｂｖ＿ｄｅｌａｙとの間の差によって決定され、それは、すでに導かれたように、±０．５である。
【００２８】
あるシーケンスの最初のアクセスユニット（ピクチャ）におけるｖｂｖ＿ｄｅｌａｙがそのシーケンスの最後のアクセスユニット（ピクチャ）後のｖｂｖ＿ｄｅｌａｙに等しい場合には、トランスポートストリーム内のタイムスロットは終了ＤＴＳ値と開始ＤＴＳ値の差に等しい。これは、ストリームが復号化される場合に最後に提供される時間量を同一とする。例えば、コマーシャルの最後のピクチャ後のｖｂｖ＿ｄｅｌａｙがコマーシャルの最初のピクチャのｖｂｖ＿ｄｅｌａｙと正確に一致する場合、復号化されたコマーシャルをビューアに正確に３０秒間提供する３０秒コマーシャルスロットは、正確に３０秒間、トランスポートストリームに現われる。２つの値が同一である場合には、ｖｂｖ＿ｄｅｌａｙに特別な値は要求されない。
【００２９】
上述のように、コマーシャルの開始時間と最終プレゼンテーションデュレーションを知ったとしても、圧縮されたストリームを更に制約しなければ、圧縮されたローカルコマーシャルをネットワークが提供するタイムスロットのストリームに挿入する方法を決定するには不十分である。ストリームのタイムスロットは変数であり、０．５秒までプラスマイナスされたスロットのプレゼンテーション長に等しい。同様に、局所的に格納された圧縮されたコマーシャルは、０．５秒までプラスマイナスされたプレゼンテーション時間と等しい可変ストリーム長となる。
【００３０】
解決手段
ネットワークエレメンタリストリームスロットデュレーションをコマーシャルスロットデュレーションに一致させるため、又はその逆を行うために幾つかの方法を採ることができる。最初の方法は、事後に問題を修正することに関係する。これは、ローカルコマーシャルがネットワークスロットに対して最長ストリームデュレーションを有するように配置される場合に有効である。即ち、ネットワークスロットが表面上Ｔ秒であるならば、ｖｂｖ＿ｄｅｌａｙのコントロールによって、コマーシャルストリーム時間がＴ＋０．５秒のデュレーションを有するように配置される。例えば、ローカルの圧縮されたコマーシャルは、プレゼンテーションデュレーションが表面上３０秒である場合に、３０．５秒の圧縮されたストリーム時間を要求するように調節されるｖｂｖ＿ｄｅｌａｙを有する。基準ネットワークスロットデュレーション及び／又は基準コマーシャルスロットデュレーションは制限なくに変更可能であることは分かっている（例えば、１５秒、３０秒、１分、１０分、３０分、１時間、数時間等）。図３においては、基準３０秒コマーシャルは、コマーシャルデュレーションが可能な最大値、即ち、３０．５秒をとれるように調節されるｖｂｖ＿ｄｅｌａｙを有する。理想的なケースは、コマーシャルが正確に適合するように、ネットワークスポットにおける±０．５秒の時間変化がスポットも３０．５秒にする場合である。この方法は、他の全てのより短いネットワークスロットデュレーションに対しては、ローカルコマーシャルがネットワークストリームに十分に多重化される時間より前に、ネットワークフィードがプログラム材料の再生を開始するという要求を請け負う。ネットワークスロットはローカルコマーシャルが終了する前に終了するかもしれないので、ネットワークプログラムは、２つの実時間ストリームに対する通常のスプライサ動作の場合のようにスプライサに格納する必要がある。一旦ネットワークスロットが終了すると、ローカルコマーシャルから残りのピクチャをより高いレートで出力トランスポートストリームに多重化できる。これは、ネットワークスロットの終了とローカルコマーシャルの終了との間のギャップをなくす。コマーシャルの終了時に、スプライスはスプライサによって格納されたネットワークプログラムにストリームを戻す。ｖｂｖ＿ｄｅｌａｙは、出力ストリームのｖｂｖ＿ｄｅｌａｙが入力ネットワークフィード値に一致するまで、再開されたネットワークストリームの複数のピクチャに亘って調節される。
【００３１】
第２の方法は、事前に問題を修正することである。これは、ローカルコマーシャルがネットワークスロットに対して最短ストリームデュレーションを有するように配置される場合に有効である。即ち、ネットワークスロットが表面上Ｔ秒であるならば、ｖｂｖ＿ｄｅｌａｙのコントロールによって、コマーシャルストリーム時間がＴ−０．５秒のデュレーションを有するように配置される。例えば、ローカルの圧縮されたコマーシャルは、プレゼンテーションデュレーションが表面上３０秒である場合に、２９．５秒の圧縮されたストリーム時間を要求するように調節されるｖｂｖ＿ｄｅｌａｙを有する。図４においては、基準３０秒コマーシャルは、コマーシャルデュレーションが可能な最短値、即ち、２９．５秒とれるように調節されるｖｂｖ＿ｄｅｌａｙを有する。理想的なケースは、コマーシャルが正確に適合するように、ネットワークスポットにおける±０．５秒の時間変化がスポットも２９．５秒にする場合である。他の全てのより長いネットワークスロットデュレーションに対しては、ネットワークスロットがスロットの残りのピクチャ数について監視する。２９秒のコマーシャルが出力されたとき、１５のピクチャのコマーシャルが未だ出力されていないが、表面的には３０のピクチャのネットワークスロットが残っている。残りのネットワークスロットピクチャの実際の数は、コマーシャルの開始からネットワークストリームで通過したスロットデュレーションとピクチャ数との差から求められる。ネットワークスロットの予期される終了時間に合わせるように、コマーシャルピクチャの出力レート（Ｒｎ）が調節（低下）される。ネットワークスロットの予期される終了時間は、ピクチャレートによって乗算された残りのネットワークスロットピクチャ数に等しい。出力レートは、コマーシャルピクチャが出力されると、ピクチャごとに調節される。ｖｂｖ＿ｄｅｌａｙは、出力挿入ストリームのｖｂｖ＿ｄｅｌａｙが入力ネットワークフィード値に一致するまで、挿入されたコマーシャルデータストリームの多数のピクチャに亘って調節される。
【００３２】
この方法は好ましい実施形態である。
【００３３】
第３の方法は、最初の２つの方法の組み合わせである。遠隔ソースからのストリームは、ある固定量だけ遅延させることが可能である。この遅延は、入力ストリームで先取り解読を可能にする。この先取り解読は、それが内部スプライシングブロックに到達する前にストリームタイムスロットのデュレーションを求める機会を与える。ローカルコマーシャルのｖｂｖ＿ｄｅｌａｙは、プレゼンテーションタイムと同一のトランスポートストリームの時間量を占めるように調節される。基準３０秒のコマーシャルは、スロット又はコマーシャルのどちらかの（±０．５秒）の変更に拘らず、ネットワークスロットと同一時間を占める。コマーシャルのスプライシングの後で、ネットワークスロットの開始と終了を判断するために、遅延バッファが監視される。ローカルコマーシャルｖｂｖ＿ｄｅｌａｙは、その後、その時間変化に拘らず、ネットワークスロットが終了した直後に、ローカルコマーシャルを終了させるように修正可能である。これはネットワークスロットに続くネットワークプログラムに戻る円滑なスプライスを許容する。
【００３４】
好ましい実施形態に関して本発明は強調して説明してきたが、好ましい装置及び方法において変形がなされ得ることは当業者には自明であり、本発明はここで特に記載されている他の点でも実施可能であることを意図している。従って、本発明は、特許請求の範囲に定義されているように、本発明の要旨及び範囲内に包含される全ての変更を含む。
【図１】
2012199914.tif 000002
【図２】
2012199914.tif 000003
【図３】
2012199914.tif 000004
【図４】
2012199914.tif 000005
【手続補正書】
【提出日】平成24年4月4日(2012.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コマーシャルストリーム中のコマーシャルタイムスロットとネットワークストリームのネットワークタイムスロットの各々がデュレーションを有し、前記コマーシャルタイムスロットを前記ネットワークタイムスロットにスプライスする実行装置において実行される方法であって、
前記コマーシャルタイムスロットの開始が前記ネットワークタイムスロットの開始に配置されるように、前記コマーシャルストリームを前記ネットワークストリームに多重化し、
前記コマーシャルタイムスロットのデュレーションが前記ネットワークタイムスロットのデュレーションよりも長い最大デュレーションを有するように、前記コマーシャルストリームのｖｂｖ＿ｄｅｌａｙを調整し、
前記ネットワークタイムスロットの終了において、高いストリームレートで前記コマーシャルストリームの残余部分を多重化して、別のネットワークストリームを格納し、
前記コマーシャルタイムスロットの終了において、格納された別のネットワークストリームのｖｂｖ＿ｄｅｌａｙが前記ネットワークストリームのｖｂｖ＿ｄｅｌａｙに一致するまで、前記格納された別のネットワークストリームのｖｂｖ＿ｄｅｌａｙを調整しながら、前記格納された別のネットワークストリームを前記ネットワークストリームに多重化する方法。
【請求項２】
前記コマーシャルタイムスロットのディレーションは３０．５秒である請求項１に記載の方法。
【請求項３】
前記ネットワークタイムスロットのデュレーションはデコードタイムスタンプとネットワークタイムスロットのデュレーションの時間許容範囲に基づくものであり、
格納された別のネットワークストリームは、少なくとも３０．５秒と前記ネットワークタイムスロットのデュレーションとの差分と同じ長さである請求項２に記載の方法。
【請求項４】
コマーシャルストリーム中のコマーシャルタイムスロットとネットワークストリームのネットワークタイムスロットの各々がデュレーションを有し、前記コマーシャルタイムスロットのストリームを前記ネットワークタイムスロットにスプライスする実行装置において実行される方法であって、
前記コマーシャルタイムスロットの開始が前記ネットワークタイムスロットの開始に配置されるように、前記コマーシャルストリームを前記ネットワークストリームに多重化し、
前記コマーシャルストリームを前記ネットワークストリームに多重化しながら、前記ネットワークストリームをモニタリングすることで前記ネットワークタイムスロットの予期される終了時間を算出して、前記コマーシャルタイムスロットのデュレーションが前記ネットワークタイムスロットのデュレーションよりも短い最小デュレーションを有することができるように前記コマーシャルストリームのｖｂｖ＿ｄｅｌａｙを調整し、
前記コマーシャルタイムスロットの終了より前の所定のポイントと前記コマーシャルタイムスロットの前記終了との間において、前記予期される終了時間に合わせて前記ｖｂｖ＿ｄｅｌａｙを調整することによって、低いストリームレートで前記コマーシャルストリームの残余部分を多重化し、
前記ネットワークタイムスロットの終了で、前記ネットワークストリームを前記ネットワークストリームに多重化する方法。
【請求項５】
前記最小デュレーションは２９．５秒である請求項４に記載の方法。
【請求項６】
前記ネットワークタイムスロットのデュレーションはデコードタイムスタンプと前記ネットワークタイムスロットのデュレーションの時間許容範囲に基づくものであり、前記所定のポイントは２９秒であり、前記コマーシャルストリームの前記残余部分は１５枚の画像を含み、
前記コマーシャルストリームの前記残余部分における前記低いストリームレートは、前記ネットワークタイムスロットのデュレーションと２９．５秒の差分に基づくものである請求項５に記載の方法。
【請求項７】
前記予期される終了時間を算出することは、前記ネットワークタイムスロットにおける画像の枚数と、前記ネットワークストリームにおいて前記コマーシャルタイムスロットの前記開始から通過した画像の枚数との差を算出することと、ピクチャレートで前記差を乗じることからなる請求項４から６に記載の方法。
【請求項８】
コマーシャルストリーム中のコマーシャルタイムスロットとネットワークストリームのネットワークタイムスロットの各々がデュレーションを有し、前記コマーシャルタイムスロットを前記ネットワークタイムスロットにスプライスする実行装置において実行される方法であって、
前記ネットワークストリームを所定の時間ごとに格納し、
前記格納されたネットワークストリームから前記ネットワークタイムスロットの予期されるデュレーションを算出し、
前記コマーシャルタイムスロットの開始が前記ネットワークタイムスロットの開始に配置されるように前記コマーシャルストリームを前記ネットワークストリームに多重化し、
前記コマーシャルストリームを前記ネットワークストリームに多重化しながら、前記コマーシャルタイムスロットのデュレーションが前記ネットワークタイムスロットの前記予期されたデュレーションと同じになるように、前記コマーシャルストリームのｖｂｖ＿ｄｅｌａｙを調節し、
前記格納されたネットワークストリームから前記ネットワークタイムスロットの終了を決定し、
前記コマーシャルストリームの残余部分を決定し、
前記コマーシャルタイムスロットの終了が前記ネットワークタイムスロットの終了と同時となるように前記コマーシャルストリームの残余部分のｖｂｖ＿ｄｅｌａｙを調節し、
入力ネットワークストリームを前記ネットワークストリームに多重化する方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
現実の切り替え点は一般に一つのピクチャに配置できる設計になっているので、適切な出入口点を検出することによって、ある圧縮ストリームから第２の圧縮ストリームへの切り替えの困難性が緩和される。しかし、セグメント置換は正確でなければならないので、ネットワークコマーシャルのみで構成される場合もある厳格に規定されたネットワークタイムスロットが、同じように厳格に規定されたローカル挿入によって置換される場合、そのスロットを正しく満たすことに注意を払わなければならない。
【外国語明細書】
SPLICING COMPRESSED, LOCAL VIDEO SEGMENTS INTO FIXED TIME SLOTS IN A
NETWORK FEED
This application claims the benefit of Provisional Patent Application Serial No.60/220,671, filed July 25,2000.
The present invention relates to the generation of digital video signals. In particular, the invention is directed to improvements to video splicing in order to simplify the design requirements of a downstream receiver, especially by lowering the required processing speed.
The goal of splicing compressed bit streams is to change from one compressed source to a second compressed source with no disruption in the decoded program, while maintaining bitstream compliance through the transition. In general, input streams are de-multiplexed to the packetized elementary stream (PES) level before being processed by individual elementary stream type processors. Program video is spliced at access unit (picture) boundaries, and a continuous flow of time stamped video (and audio frames), without timing discontinuities, is maintained in the output stream.
Video splicing techniques can include the examination of incoming streams to extract stream parameters that are used to determine stream entry and exit points and calculates values required by the outgoing stream. Exit points are found in the current output stream while entry points are found in the next output stream.
Seamless entry/exit point indicators can be found by analysis of the types of the neighboring pictures. Specifically a seamless exit from a stream can be made at the end of a picture preceding an anchor picture. This identifies a naturally occurring exit point in the original stream. Seamless entry points can be identified by (1) the start of a closed
GOP or (2) an Intra coded (I) picture followed by an anchor picture or (3) an I picture followed by a predictive picture using only backward prediction or intra coding.
The difficulty of switching from one compressed stream to a second compressed stream, by finding suitable exit and entry point, is eased by the fact that the actual switch point can generally be within a picture or two of the switching command (in order to maintain the seamless aspect) without noticeable visual effect. However, when a rigorously defined network time slot, possibly occupied by a network commercial, is replaced by an equally rigorously defined local insertion, care must be taken to correctly fill the slot, because segment replacement must be exact.
Summary of the Invention
The invention is directed to a method for seamlessly splicing a local commercial segment into an existing network time slot, without decoder buffer overflow or underflow. In particular, the invention encompasses a method of splicing an incoming network feed having a network time slot duration and an associated vbv_delay with a commercial slot duration having an associated vbv_delay. The vbv_delay of the commercial slot vbv_delay is manipulated between one of a minimum delay and a maximum delay. The pictures from the compressed commercial slot are output for at least a portion of the network time slot duration. The number of pictures remaining is then determined (i. e., the remaining pictures from either a stored portion of the incoming network feed or the commercial slot). The output rate (of the remaining pictures from either the stored portion of the incoming network feed or the commercial slot) is adjusted as required to output the commercial slot. The vbv_delay of either the stored network feed or the vbv_delay of the local commercial slot is then adjusted to match the vbv_delay of the incoming network feed.
In a preferred embodiment, the commercial slot vbv_delay is manipulated for a maximum delay. Pictures from the compressed commercial slot are output for the network time slot duration. Any remaining pictures from the commercial slot are output by, storing at least a portion of the incoming network feed, outputting the remaining pictures at an increased output rate and then outputting the stored portion of the network feed. The network time slot vbv_delay is also adjusted until the vbv_delay of stored network feed matches the vbv_delay of the incoming network feed.
In yet another preferred embodiment, the commercial slot vbv_delay is manipulated for a minimum delay. Pictures from the compressed commercial slot are output for at least a portion of the network time slot duration. The number of pictures remaining from the commercial slot are determined and the output rate is adjusted as required to complete the network time slot duration. The local commercial slot vbv_delay is also adjusted to match the vbv_delay of the incoming network feed.
In yet another preferred embodiment at least a portion of the incoming network feed is stored and delayed. The network time slot duration is determined based on a Decode Time Stamp and a network time slot duration time tolerance. The commercial slot vbv_delay is manipulated so that the commercial slot duration substantially matches the network time slot duration. The incoming network feed is output after completion of the network time slot duration.
Brief Description of the Drawings
Figure 1 shows network and local time slot arrangement in accordance the invention.
Figure 2 shows the lapsed time from DTS and vbv_delay parameters in accordance with the invention.
Figure 3 shows the relative duration of the network slot and a commercial insert with the vbv_delay of the commercial insert manipulated to a maximum value in accordance with the invention.
Figure 4 shows the relative duration of the network slot and a commercial insert with the vbv_delay of the commercial insert manipulated to a minimum value in accordance with the invention.
Detailed Description of the Invention
Consider a network Elementary Steam, N, shown in Figure 1, where a sequence of S Network Access Units (pictures), numbered 1 through S, are embedded in the stream. This sequence represents a network time slot, possibly a network advertisement, that is to be replaced with a sequence of C Local Access Units, numbered 1 through C, representing a local time slot, possibly a locally inserted commercial.
The Out Point from the network is at the start of Network Access Unit 1, which coincides with the start of Local Access Unit 1. Similarly, the In Point of the return to the network occurs after Network Access Unit S. The Out Point from the local commercial occurs after Local Access Unit C.
Knowing the start time and the final presentation duration of a commercial is insufficient to determine how to insert a compressed local commercial into the stream in the time slot provided by the network when the compressed streams are not further constrained. The time slot in the stream, TS, is a variable equal to the presentation time, PS of the slot plus or minus some tolerance, ΔS. Similarly, the compressed commercial, stored locally, has a variable time slot, Tc, equal to its presentation time, Pc plus or minus some tolerance, ΔC. That is,
TS= PS +/-ΔS and TC = PC +/-ΔC
Normally, the number of network Access Units equals the number of local commercial Access Units if both the network slot and the commercial slot have the same frame rate, i.e., S=C. However, when S≠C, as in the case of inserting a 24 frame/second segment into a 30 frame/second slot, the number of Access Units in each segment must be proportionally arranged so that TS ≡ TC.
Determining the delta tolerances involved with the time slot duration is critical to understanding the invention of splicing a local segment into an existing network time slot.
Determining the Variability
In an elementary stream, n of MPEG2 compressed video data, shown in Figure 2, an Access Unit, j, is stamped with two critical pieces of information, namely Video Buffering Verifier Delay (vbv_delay) and Decode Time Stamp (DTS).
The MPEG2 definition of vbv_delay is “the number of periods of a 90KHz clock derived from the 27MHz system clock that the Video Buffering Verifier (VBV) shall wait after receiving the final byte of the picture start code before decoding the picture.” In MPEG2 terminology, with parenthetical remarks inserted for clarity, VBV is “a hypothetical (video) decoder (including a video buffer) that is conceptually connected to the output of the (video) encoder. It’s purpose is to provide a constraint on the variability of the data rate that an encoder or editing process may produce (to avoid the video decoder's buffer from overflowing or underflowing).” The value of vbv_delay is placed in the Picture Header.
In MPEG2 the DTS, placed in the Packetized Elementary Stream (PES) header of the jth Access Unit, “indicates the decoding time, tdn(j), in the system target decoder of an Access Unit j of elementary stream n”. Specifically, for an Access Unit j, This DTS can be denoted as DTS(j). The value of DTS is also specified in units of the number of periods of a 90KHz clock derived from the 27MHz system clock.
The time of day at any instant is obtained from the Program Clock Reference (PCR), which is derived from the 27MHz system clock. The 90KHz component of the PCR is the Program Clock Reference Base (PCRB). In particular, the time of day at the instant that the vbv_delay occurs in Access Unit j is denoted as PCRB(j). Figure 2 shows the relationships of DTS (part of the PES header), and vbv_delay, (part of the Picture Header), in Access Unit j, followed by the next Access Units up to Access Unit k, in an Elementary Stream, n.
The value of the vbv_delay in any Access Unit is related to the DTS in that Access Unit, and the time of day (the wall clock so to speak) at the time that vbv_delay is present in the Elementary Stream by the formula:
vbv_delay=DTS-PCRB
Dividing all terms by 90,000 yields values in seconds.
Solving for time yields :
T=PCRB=DTS-vbv_delay
In particular, for Access Unit j, the time of occurrence is:
t(j)=PCRB(j)=DTS(j)-vbv_delay(j)
Likewise, for Access Unit (k), the time of occurrence is:
t(k)=PCRB(k)=DTS(k)-vbv_delay(k)
Lapsed time between two Access Units within a transport stream can be found by:
Lapsed time=t(k)-t(j)
Where t(j) occurs before t(k), That is t(j)<t(k).
Lapsed time, TL, therefore equals:
TL=t(k)-t(j)=[DTS(k)-vbv_delay(k)]-[DTS(j)-vbv_delay(j)]
Regrouping yields:
TL=[DTS(k)-DTS(j)]+[vbv_delay(j)-vbv_delay(k)]
This final equation is the key element in understanding how to splice a local segment into a slot in the network stream.
Observe that [DTS(k)-DTS(j)] is the duration of the sequence of Access Units shown in Figure 2, which represents the slot and the commercial playtime, or presentation time (perhaps a 30-second spot). The term [vbv_delay(j)-vbv_delay(k)] represents the variability or time tolerance of the slot duration.
As a numerical example, consider that the DTS value increments by 3000 from one Access Unit to the next one in a typical 30Hz system. This is so because the DTS decode times are in units of the presentation picture rate. Therefore, in a typical commercial slot of 30 seconds, the difference between the two values of DTS {i.e., [DTS(k)-DTS(j)]} would be 2,700,000 which when divided by 90,000 equals 30 seconds. When multiplexed into transport stream, variability as to when an Access Unit is present in the stream is introduced by the difference between the two values of vbv_delay {i.e., [vbv_delay(j)-vbv_delay(k)]}. If the vbv_delay values were identical then the Access Units would be spaced in time by the exact difference between the respective DTS values. Determining the absolute worst case (maximum) variability is the next step
Boundary Limits on Variability
Unconstrained streams allow any value between zero and 45,000 for the vbv_delay. A time slot for a fixed presentation length commercial insert can thus vary by +/-45,000 periods of the 90KHz clock. In terms of time, this represents +/-0.5 seconds when observed in real time in the transport stream. For example, a 30 second commercial slot that presents the decoded commercial to a viewer in exactly 30 seconds, will appear in the transport stream for a period of time offset from the nominal 30 seconds intended. The offset is determined by the difference between the vbv_delay after the last picture and the vbv_delay of the first picture, which, as derived, is +/-0.5 seconds.
When the vbv_delay at the first Access Unit (picture) of a sequence is equal to the vbv_delay after the last Access Unit (picture) in the sequence, the time slot within the transport stream will be equal to the differences between the ending and starting DTS values. This is the same amount of time that is finally presented when the stream is decoded. For example, a 30 second commercial slot that presents the decoded commercial to a viewer in exactly 30 seconds, would appear in the transport stream for exactly 30 seconds, when the vbv_delay after the last picture of the commercial is exactly equal to the vbv_delay of the first picture of the commercial. No specific values for vbv_delays are required, only that the two values are the same.
As mentioned earlier, knowing the start time and the final presentation duration of a commercial is insufficient to determine how to insert a compressed local commercial into the stream in the time slot provided by the network, when the compressed streams are not further constrained. The time slot in the stream is a variable equal to the presentation length of the slot plus or minus up to 0.5 seconds. Similarly the compressed commercial stored locally is of variable stream length equal to the presentation time plus or minus up to 0.5 seconds.
The Solutions
Several strategies can be undertaken to match the network Elementary Stream slot duration with the commercial slot duration or vice versa. The first strategy involves fixing the problem after the fact. This works when the local commercial is arranged to have the longest stream duration relative to the network slot. That is, if the network slot is nominally T seconds, then the commercial stream time is arranged, by vbv_delay manipulation, to have T+0.5 seconds duration. For example, a local compressed commercial would have the vbv_delays adjusted such that 30.5 seconds of compressed stream time are required when the presentation duration is nominally 30 seconds. It is understood that the nominal network slot duration an/or nominal commercial slot duration can vary without limitation (e. g., 15 sec., 30 sec., 1 min, 10 min, 30 min, 1 hr, multiple hours, etc. etc.). Referring to Figure 3, a nominal 30-second commercial has the vbv_delay adjusted so that the commercial duration is the longest possible, namely 30.5 seconds. The ideal case is that the +/-0.5-second variation of time in the network spot causes the spot to also be 30.5 seconds, so that the commercial fits in exactly. For all other shorter network slot duration, this strategy guarantees that the network feed will want to start playing program material before the time the local commercial has been fully multiplexed into the network stream. Since the network slot can end before the local commercial is finished, the network program must be stored in the splicer as is the case of normal splicer operation for two real-time streams. Once the network slot has ended, the remaining pictures from the local commercial can be multiplexed into the output transport stream at a higher rate. This closes the gap between the end of the network slot and the end of the local commercial. At the end of the commercial a splice returns the stream to the splicer stored network program. The vbv_delay is adjusted over multiple pictures of the resumed network stream until the vbv_delay in the outgoing stream matches the incoming network feed values.
A second strategy is to fix the problem before the fact. This works when the local commercial is arranged to have the shortest stream duration relative to the network slot. That is, if the network slot is nominally T seconds, then the commercial stream time is arranged, by vbv_delay manipulation, to have T-0.5 seconds duration. For example, a local compressed commercial would have the vbv_delays adjusted such that 29.5 seconds of compressed stream time are required when the presentation duration is nominally 30 seconds. Referring to Figure 4, a nominal 30-second commercial has the vbv_delay adjusted so that the commercial duration is the shortest possible, namely 29.5 seconds. The ideal case is that the +/-0.5-second variation of time in the network spot causes the spot to also be 29.5 seconds, so that the commercial fits in exactly. For all other longer network slot durations, the network slot is monitored for the number of pictures remaining in the slot. When 29 seconds of the commercial have been output, fifteen pictures of commercial remain to be output and nominally 30 pictures of network slot remain. The actual number of network slot pictures remaining is determined from the difference between the slot duration and the number of pictures that have passed in the network stream since the start of the commercial. The output rate of the commercial pictures (Rn) is adjusted (lowered) to meet the expected completion time of the network slot. The expected completion time of the network slot equals the number of network slot pictures remaining multiplied by the picture rate. The output rate is adjusted on a picture by picture basis as the commercial pictures are output. The vbv_delay is adjusted over multiple pictures of the inserted commercial data stream until the vbv_delay in the outgoing inserted stream matches the incoming network feed values.
This strategy is the preferred embodiment.
A third strategy is a combination of the first two strategies. The stream from a remote source can be delayed by a fixed amount. This delay can provide a look ahead at the incoming stream. This look ahead provides opportunity to determine the duration of a stream time slot prior to its arrival into the internal splicing block. The vbv_delay of local commercials are adjusted to occupy the same amount of time in the transport stream as the presentation time. A nominal 30-second commercial would occupy the same time as the network slot despite the variations (+/-0.5 seconds) of either the slot or the commercial. After splicing of the commercial, the delay buffer is monitored to determine the arrival of the end of the network slot. The local commercial vbv_delays can then be modified to cause the local commercial to end just after the network slot has ended, regardless of its time variation. This permits a smooth splice back to the network program that follows the network slot.
While this invention has been described with an emphasis upon preferred embodiments, it will be obvious to those of ordinary skill in the art that variations in the preferred devices and methods may be used and that it is intended that the invention may be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications encompassed within the spirit and scope of the invention as defined by the claims that follow.
What is claimed is:
1. A method of splicing an incoming network feed having a network time slot duration and an associated vbv_delay with a commercial slot duration having an associated vbv_delay comprising:
(a) manipulating the commercial slot vbv_delay between one of a minimum delay and a maximum delay,
(b) outputting pictures from the compressed commercial slot for at least a portion of the network time slot duration,
(c) determining the number of pictures remaining from one of a stored portion of the incoming network feed and the commercial slot and adjusting the output rate as required to output the commercial slot, and
(d) adjusting one of the vbv_delay of stored network feed and the vbv_delay of the local commercial slot to match the vbv_delay of the incoming network feed.
2. The method of claim 1 comprising manipulating the commercial slot vbv_delay for a maximum delay.
3. The method of claim 2 comprising outputting pictures from the compressed commercial slot for the network time slot duration.
4. The method of claim 3 comprising outputting any remaining pictures from the commercial slot by, storing at least a portion of the incoming network feed, outputting the remaining pictures at an increased output rate and then outputting the stored portion of the network feed and adjusting network time slot vbv_delay until the vbv_delay of stored network feed matches the vbv_delay of the incoming network feed.
5. The method of claim of claim 2 wherein the compressed commercial slot duration is manipulated to have a 30.5 second duration.
6. The method of claim 5 wherein the network time slot duration is based on a Decode Time Stamp and a network time slot duration time tolerance and wherein the stored portion of the network feed is at least as large as the difference between the 30.5 seconds and the network time slot duration.
7. The method of claim 1 comprising manipulating the commercial slot vbv_delay for a minimum delay.
8. The method of claim 7 comprising outputting pictures from the compressed commercial slot for at least a portion of the network time slot duration.
9. The method of claim 8 comprising determining the number of pictures remaining from the commercial slot and adjusting the output rate as required to complete the network time slot duration, and adjusting the local commercial slot vbv_delay to match the vbv_delay of the incoming network feed.
10. The method of claim of claim 7 wherein the compressed commercial slot duration is manipulated to have a 29.5 second duration.
11. The method of claim 10 wherein the network time slot duration is based on a Decode Time Stamp and a network time slot duration time tolerance and the compressed commercial slot is output for 29 seconds such that 15 pictures remain from the commercial slot, wherein the output rate of the 15 remaining pictures is determined based on the difference between the network time slot duration and 29.5 seconds.
12. A method of splicing an incoming network feed having a network time slot duration and an associated vbv_delay with a commercial slot duration having an associated vbv_delay comprising:
(a) manipulating the commercial slot vbv_delay for a maximum delay,
(b) outputting pictures from the compressed commercial slot for the network time slot duration, and
(c) outputting any remaining pictures from the commercial slot by, storing at least a portion of the incoming network feed, outputting the remaining pictures at an increased output rate and then outputting the stored network feed and adjusting network time slot vbv_delay until the vbv_delay of stored network feed matches the vbv_delay of the incoming network feed.
13. The method of claim of claim 12 wherein the compressed commercial slot duration is manipulated to have a 30.5 second duration.
14. The method of claim 13 wherein the network time slot duration is based on a Decode Time Stamp and a network time slot duration time tolerance and wherein the stored portion of the network feed is at least as large as the difference between the 30.5 seconds and the network time slot duration.
15. A method of splicing an incoming network feed having a network time slot duration and an associated vbv_delay with a commercial slot duration having an associated vbv_delay comprising:
(a) manipulating the commercial slot vbv_delay for a minimum delay,
(b) outputting pictures from the compressed commercial slot for at least a portion of the network time slot duration, and
(c) determining the number of pictures remaining from the commercial slot and adjusting the output rate as required to complete the network time slot duration, and adjusting the local commercial slot vbv_delay to match the vbv_delay of the incoming network feed.
16. The method of claim of claim 15 wherein the compressed commercial slot duration is manipulated to have a 29.5 second duration.
17. The method of claim 16 wherein the network time slot duration is based on a Decode Time Stamp and a network time slot duration time tolerance and the compressed commercial slot is output for 29 seconds such that 15 pictures remain from the commercial slot, wherein the output rate of the 15 remaining pictures is determined based on the difference between the network time slot duration and 29.5 seconds.
18. A method of splicing an incoming network feed having a network time slot duration and an associated vbv_delay with a commercial slot duration having an associated vbv_delay comprising:
(a) storing and delaying at least a portion of the incoming network feed, (b) determining the network time slot duration based on a Decode Time Stamp and a network time slot duration time tolerance,
(c) manipulating the commercial slot vbv_delay so that the commercial slot duration substantially matches the network time slot duration, and (d) outputting the incoming network feed after completion of the network time slot duration.
Abstract A method for seamlessly splicing a local commercial segment into an existing network time slot, without decoder buffer overflow or underflow. The vbv_delay of the commercial segment is manipulated (e.g., for a minimum delay or a maximum delay). The pictures from the commercial segment are output for at least a portion of the associated network time slot duration. A determination is made regarding the number of pictures remaining in a stored portion of the incoming network feed or the commercial segment and the output rate is adjusted as required. The vbv_delay of the stored network feed or the vbv_delay of the local commercial segment is adjusted to match the vbv_delay of the incoming network feed.
2012199914.tif 000006
2012199914.tif 000007