JP4690635B2 - メディアサンプルをタイムコーディングする方法、システム、およびデータ構造 - Google Patents

メディアサンプルをタイムコーディングする方法、システム、およびデータ構造 Download PDF

Info

Publication number
JP4690635B2
JP4690635B2 JP2002520563A JP2002520563A JP4690635B2 JP 4690635 B2 JP4690635 B2 JP 4690635B2 JP 2002520563 A JP2002520563 A JP 2002520563A JP 2002520563 A JP2002520563 A JP 2002520563A JP 4690635 B2 JP4690635 B2 JP 4690635B2
Authority
JP
Japan
Prior art keywords
time
frame
time code
parameter
drift
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2002520563A
Other languages
English (en)
Other versions
JP2004507176A5 (ja
JP2004507176A (ja
Inventor
ジェイ.サリバン ゲリル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004507176A publication Critical patent/JP2004507176A/ja
Publication of JP2004507176A5 publication Critical patent/JP2004507176A5/ja
Application granted granted Critical
Publication of JP4690635B2 publication Critical patent/JP4690635B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • G11B27/3036Time code signal

Description

【0001】
(関連出願)
本出願は、2000年8月15日出願の米国仮出願第60/225498号に由来し、その優先権を主張するものであり、その開示は、参照により本明細書に組み込まれる。
【0002】
(技術分野)
本発明は、メディアサンプルをタイムコーディングする方法、システム、およびデータ構造に関する。
【0003】
(発明の背景)
タイミング情報を記録および使用する概念は、マルチメディアアプリケーションのニーズにとって基本的なものである。ピクチャ、ビデオ、テキスト、グラフィックス、およびサウンドは、メディアストリームの各サンプルに関連する時間の何らかの理解と共に記録する必要がある。このことは、ユーザに対してメディアストリームを再生するときにメディアの元のタイミングを保持するための情報を搬送し、メディアストリーム内の特定の位置を識別し、さらには科学的記録または履歴を作成するためにメディアサンプルに関連する時間を記録する目的で、様々なマルチメディアストリームを互いに同期するのに有用である。例えば、オーディオやビデオが一緒に記録されるが、別々のメディアデータのストリームとして処理される場合、2つ(または3つ以上)のストリームの同期を調整するためにタイミング情報が必要である。
【0004】
通常、メディアストリーム(記録したオーディオトラック、あるいは記録したビデオまたはフィルムショット)は、タイミング情報にそれぞれ(暗示的または明示的に)関連付けられるメディアサンプルのシーケンスとして表される。このことの良い例はビデオや映画である。ビデオや映画は、通常は画像すなわちフレームのシーケンスとして作成される。フレームはそれぞれ、特定の短い時間間隔(例えば、通常は映画フィルムの各フレームについて1/24秒)についてのカメラビューを表す。毎秒当たり、記録の過程で使用したのと同じフレーム数(フレームレートと呼ばれる)でこのピクチャのシーケンスが再生されるとき、閲覧者に対して、シーンに描写される物体が自然に移動しているかのような錯覚を生み出すことができる。
【0005】
同様に、サウンドはしばしば、オーディオ波形を定期的にサンプリングし、デジタルサンプルのシーケンスを(例えば毎秒当たり48000サンプルを使用して)作成し、デジタル圧縮符号化またはパケットネットワーク伝送(インターネット伝送など)などの次の処理のためにこれらのサンプルの組をフレームと呼ばれる処理単位(例えば1フレーム当たり64サンプル)にグループ化することによって記録される。次いでオーディオデータの受信機は、受信したオーディオのフレームを再度組み上げ、それを復号化し、得られるデジタルサンプルのシーケンスを、電気音響技術を使用してサウンドに戻す。
【0006】
ビデオと、関連するオーディオコンテンツとを同期するなど、複数のメディアサンプルのストリームを整合させるために、タイミング情報を適切に記録および制御することが必要である。サンプルの推移が経時的に自然に表示されないメディアの使用でさえ、しばしばマルチメディアシステムでタイミング情報を使用することが必要となる。例えば、静止画像(写真、絵画、または文書など)を、あるオーディオ(画像の内容または歴史の説明など)と共に表示すべき場合、静止画像(時間的に1つのフレームまたはサンプルだけからなる実体)の表示タイミングを、関連するオーディオトラックのタイミングと整合させる必要のあることがある。
【0007】
このようなタイミング情報の有用性の他の例には、写真を撮影した日付または時刻を記録できること、またはメディアストリーム内の編集点または閲覧点(例えばカメラがローリングを開始してから5分後)を指定できることが含まれる。
【0008】
上記の各ケースでは、メディアストリームのサンプルまたは時間的なサンプルのグループは、フレーム、すなわち基本的処理単位として識別することができる。フレームが時間的に複数のサンプルからなる場合、フレームに関して表されるタイミング情報が、最初のサンプル、最後のサンプル、または中間のサンプルの時間など、フレーム内のある基準点の時間に対応するという規約を確立することができる。
【0009】
ある場合には、フィールドと呼ばれるさらに小さい処理単位にフレームをさらに細分することができる。この一例は、インタレース化スキャンビデオを使用する場合である。この場合、ピクチャ中の交互の線のサンプリングが分離され、それによって各ピクチャの線の半分がある瞬間に第1フィールドとしてサンプリングされ、次いで短時間の後に、ピクチャの線の他の半分が第2フィールドとしてサンプリングされる。例えば、線1、3、5などをピクチャの第1フィールドとしてサンプリングすることができ、次いでピクチャの線0、2、4などを短時間の後に(例えば1/50秒後)第2フィールドとしてサンプリングすることができる。このようなインタレース化スキャンビデオでは、各フレームは、一般に2つのフィールドに分離することができる。
【0010】
同様に、データ圧縮またはパケットネットワーク伝送のための、オーディオ波形の64サンプルのグループ化をフレームと見て、かつそのフレーム内の8つのサンプルの各グループをフィールドと見ることができる。この例では、各フレーム内に8つのフィールドがあり、フィールドはそれぞれ8つのサンプルを含むことになる。
【0011】
当技術分野で周知のサンプル化メディアストリームを使用するいくつかの方法では、フレームまたはフィールドが、重複する数組のサンプル、または重複する数組のサンプルの変換からなることがある。この挙動の2つの例は、重複直交変換[1)Henrique Sarmento Malvar,Signal Processing with Lapped Transforms、Boston、MA、Artech House、1992;2)H.S.Malvar and D.H.Staelin、「The LOT:transform coding without blocking effects」、IEEE Transactions on Acoustics,Speech,and Signal Processing、vol.37、pp.553-559、Apr.1989;3)H.S.Malvar、Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts、U.S.Patent No.4,754,492、June 1988]や、オーディオ冗長度コーディング[1)J.C.Bolot、H.Crepin、A.Vega-Garcia:「Analysis of Audio Packet Loss in the Internet」、Proceedings of the 5th International Workshop on Network and Operating System Support for Digital Audio and Video、pp.163-174、Durham、April 1995;2)C.Perkins、I.Kouvelas、O.Hodson、V.Hardman、M.Handley、J.C.Bolot、A.Vega-Garcia、S.Fosse-Parisis:「RTP Payload for Redundant Audio Data」、Internet Engineering Task Force Request for Comments RFC2198,1997]を使用することである。このような場合であってもやはり、時間をサンプルのフレームまたはフィールドと関連付ける規約を確立することは可能である。
【0012】
ある場合には、正確なクロック信号で制御される固定ステップの時間ですべてのサンプルが作成される典型的なオーディオ処理などのように、サンプリングパターンが時間的に非常に規則的となる。しかし別の場合には、シーケンス中の隣接するサンプル間の時間が、シーケンス中の位置ごとに異なる可能性がある。
【0013】
このような挙動の一例は、パケット損失を伴うパケットネットワークを介してオーディオを送信するときである。これにより、一部のフレームがデコーダで受信されないのに、他のフレームは、パケットの元の相対的タイミングで使用するように再生すべきことになる可能性がある。このような挙動の別の例は低ビットレートビデオカンファレンシングである。低ビットレートビデオカンファレンシングでは、毎秒当たり送信されるフレーム数が、シーン中の動きの量に応じてしばしば変化する(変化が小さいと、変化が大きい場合よりも送信するデータが少なくなり、ビット/秒単位の全チャネルデータレートは通常固定されているからである)。
【0014】
基礎となるサンプリング構造が、基本フレームまたはフィールド処理単位サンプリングレートである(しかし、ある処理単位はスキップされる可能性がある)と理解される場合、時間表現での別のカウント単位として処理単位を識別できることは有用である。これを設計に組み込む場合、処理単位のスキップが生じたことは、カウント単位の値が欠けていることによって確認することができる(例えば、処理単位のカウントが1、2、3、4、6、7、8、9、...続く場合、カウント番号5が欠けていることは明らかである)。
【0015】
基礎となるサンプリング構造が、サンプリングが非常に不規則であるので基本処理単位サンプリングレートが存在しないようなものである場合、必要なのは、単に各処理単位についての真の時間の良好な表現だけである。しかし通常は、このような場合、処理単位の位置の基準とすることができる共通時間クロックが少なくとも存在すべきである。
【0016】
(規則的なサンプリング時間、または不規則なサンプリング時間の)いずれの場合にも、マルチメディアシステムが、メディアコンテンツの各処理単位のサンプルまたはフレームまたはフィールドについてのタイミング情報を記録および使用することは有用である。
【0017】
異なるタイプのメディアでは、異なるサンプリングレートが必要となる可能性がある。しかしタイミング情報が同じ精度で常に格納されている場合、ある量の丸め誤差が、時間を表すために使用する方法によって導入される可能性がある。各サンプルに関連する記録時間を、丸め誤差をほとんどまたは全く伴わずにシステムで正確に表すことが望ましい。例えば、メディアストリームが毎秒当たり30000/1001フレームで運用され(北米規格NTSC放送ビデオの典型的なフレームレート-毎秒約29.97フレーム)、システムで使用する時間値の精度を部分的に10-6秒以内にすべき場合、人間の観点からはこの時間値は非常に正確であるかもしれないが、システム内の処理要素にとっては、厳密に規則的なサンプルタイミング(例えば1サンプル当たり1001/30000秒)が厳密に規則的ではないように見える可能性がある(例えば、サンプル間の33366クロック増分カウントの後に、33367の増分が続き、次いで33367の増分、次いで再び33366の増分が続く場合)。これにより、システムでメディアサンプルを適切に処理する方法を決定するのが困難となる。
【0018】
時間を表す方法を見つける際の別の問題は、完全に理想的な「ウォールクロック(wall clock)」で測定されることになる真の時間に対して、表示が「ドリフト」する可能性があることである。例えば、厳密に規則的な、1サンプル当たり1001/30000秒のサンプルタイミングをシステムで用い、かつサンプル間で33367の増分である増分時間間隔ですべてのサンプルが表される場合、このようなサンプルのロングシーケンスに対して使用される全時間は、真の時間間隔よりも幾分長くなり、1日当たり合計約1フレーム時間となり、1年の期間の後、5分を超える誤りが蓄積されることになる。
【0019】
したがって、ドリフトを、サンプリング時間のタイムコード表現中の何らかの誤りと定義する。ドリフトは、(補正しない場合)サンプルのシーケンスが推移するにつれて大きさが増大する傾向がある。
【0020】
タイミング情報を表す方法の一例は、SMPTE 12M設計[Society of Motion Picture and Television Engineers、Recommended Practice 12M:1999]から得られる(以後「SMPTEタイムコード」と呼ぶ)。SMPTEタイムコードは通常、米国のNational Television Standards Committee(NTSC)テレビジョン伝送フォーマット、または欧州のPhase Alternating Line(PAL)テレビジョン伝送フォーマットで規定されるタイミングを有するテレビジョンビデオデータ用に使用される。
【0021】
SMPTE タイムコードに関する背景
SMPTEタイムコードは、当初はテレビジョン業界や映画業界でビデオテープ技術を扱う際に使用するために開発された同期信号方法である。ビデオテープで当初直面した問題は、ビデオまたはサウンドトラックの編集用の装置を同期するための「フレームアキュレット(frame accurate)な」方式が存在しなかったことである。初期にはいくつかの方法が利用されたが、すべったり延びたりする、テープ固有の特性のために、フレームの正確な同期の達成は限られたものであった。SMPTEタイムコードの導入により、このフレーム精度が実現され、追加の機能が組み込まれた。SMPTEに関する追加の情報源には、Cipher Digital Inc.による「The Time Code Handbook」が含まれる。ここには、この問題の完全な扱い方や、ANSI規格SMPTE 12M-1986を含む付録が与えられている。加えて、Gary Davis and Ralph Jones for Yamahaによる「The Sound Reinforcement Handbook」と題するテキストには、タイムコード理論と応用例に関するセクションが含まれている。
【0022】
SMPTEタイムコードの主な目的は、様々な装置を同期することである。タイムコード信号は、他のすべてが基準とするシステムワイドクロックを提供するようにフォーマットされる。信号は通常、ビデオ信号で直接符号化され、または標準オーディオ装置を介して配布される。SMPTEタイムコードではビデオの術語を数多く参照するが、オーディオ専用応用例のために使用されることもある。
【0023】
多くの応用例では、タイムコード源が信号を供給し、一方システム内の残りの装置は、それに同期し、追従する。タイムコード源は専用タイムコードジェネレータでよく、または(しばしばそうであるが)主機能に加えてタイムコードを供給する1つの生成装置でよい。この一例は、あるトラックに対するタイムコードと、別のトラックに対して生成するためのサウンドを供給しているマルチトラックオーディオテープデッキである。ビデオテープは、タイムコードを記録および再生するために、しばしばキュートラック、またはそのオーディオサウンドトラックのうちの1つを同様に利用する。
【0024】
他の応用例、すなわちビデオでは、この装置は、複数のタイムコード源を1つに同期するために、タイムコードを内部で使用する。一例は、いくつかの事前記録したシーンからのタイムコードと同期するビデオエディタである。各シーンが互いに組み合わされて最終的な製品が作成されるとき、それぞれのタイムコードは、最終的な製品に記録される新しいタイムコードと同期される。
【0025】
SMPTE タイムアドレス
SMPTEタイムコードは、ビデオ信号の各フレームに対する固有のアドレスを供給する。このアドレスは、24時間クロックおよびビデオフレームレートに基づく、時、分、秒、およびフレームを以下のフォーマットで表す8桁の数である。HH:MM:SS:FF
【0026】
これらのフィールドの値は、HHに関しては00から23の範囲で変化し、MMに関しては00から59、SSに関しては00から59、FFに関しては00から24または29の範囲で変化する(ただし24は、PAL 25フレーム/秒ビデオに対する最大値であり、29は、NTSC 30000/1001フレーム/秒ビデオに対する最大値である)。慣例により、一日の最初のフレームは00:00:00:01とマークされるとみなし、最後のフレームは00:00:00:00とマークされるとみなす(このフレームの1つ前のフレームは、PALの場合23:59:59:24とマークされ、NTSCの場合23:59:59:29とマークされる)。このフォーマットは、公称クロック時間や、シーンまたはプログラム素材の公称期間を表し、このフォーマットにより、近似時間計算が容易になり、直接的になる。
【0027】
SMPTE フレームレート
フレームはSMPTEタイムコード内の測度の最小の単位であり、フィルムまたはビデオの個々の「ピクチャ」に対する直接的な基準である。レートは、動きのレンディションが得られるようにピクチャが表示される、毎秒当たりの時間数である。SMPTEタイムコードで一般に使用する標準的フレームレート(フレーム/秒)には2つある。それは、毎秒当たり25フレームのフレームレートと、毎秒当たり30000/1001フレーム(毎秒当たり約29.97フレーム)のフレームレートである。毎秒当たり25フレームのレートは、SMPTE EBU(PAL/SECAMカラーおよび白黒)とも呼ばれる欧州のビデオに基づいている。毎秒当たり30000/1001フレーム(大雑把に毎秒30フレームと呼ばれることもある)は、米国のNTSCカラービデオ放送に基づいている。毎秒当たり29.97フレームを使用する場合、SMPTEタイムコードを使用する方法には2つある。それは「非ドロップ」と「ドロップフレーム」である。
【0028】
フレーム値は、フィルムまたはビデオのフレームごとに1カウント増加し、それによってユーザが、イベントの時間間隔を1秒の1/25または1001/30000にすることが可能となる。
【0029】
SMPTEタイムコードもまた、厳密な毎秒当たり30フレーム/秒のフレームレートのために使用されることがある。しかしユーザは、これを使用することと、わずかに低速な、米国のNTSCカラー放送ビデオの毎秒当たり30000/1001フレームのレートとを区別するように注意しなければならない(調節因子1000/1001は、現代のカラービデオと、モノクロームビデオを毎秒当たり30フレームで放送するための以前の設計との間の互換性を実現するようにテレビジョン信号が調節される方法に由来する)。
【0030】
したがって、SMPTEタイムコードは、ビデオピクチャに関するパラメータHours、Minutes、Seconds、およびFramesのそれぞれの整数の数を記録することからなる。フレーム番号の各増分は、NTSCシステムでの時間の増分1001/30000秒と、PALシステムでの時間の増分1/25秒を表すと理解される。
【0031】
しかし、NTSCシステムでの毎秒当たりのフレーム数(30000/1001)は整数でないので、SMPTE 12Mタイムコードの時間表現と真の「ウォールクロック」時間との間のドリフトの問題がある。このドリフトは、SMPTE「ドロップフレーム」カウントと呼ばれる特別なフレームカウント方法によって著しく低減することができる。SMPTEドロップフレームカウントを使用しないと、SMPTEタイムコードの値Hours、Minutes、およびSecondsと、真の「ウォールクロック」で測定される値との間のドリフトにより、1日当たり86秒を超えるエラーが累積することになる。SMPTEドロップフレームカウントを使用するとき、ドリフトの蓄積量は、約1000分の1に低減することができる(しかし、ドリフトはまだ完全には解消されず、残りのドリフトはまだ2フレームサンプリング期間を超える)。
【0032】
SMPTEタイムコードは、ビデオ製作業界で非常に広く用いられている(例えば、SMPTEタイムコードは、多くのビデオテープレコーダの設計に組み込まれている)。したがって、一般的などんなメディアタイムコード設計でもこのSMPTEタイムコードと最大限に互換であるなら、非常に有用である。このような互換性を達成することができる場合、これにより、メディアタイムコード用に設計された装置が、具体的にはSMPTEタイムコードを使用するように設計された他の装置と共に良好に動作することが可能となる。
【0033】
この文書中では、以下の術語を使用する。タイムコードは、メディアサンプル、フレーム、またはフィールドに関連する時間を表すのに使用されるデータを含む。タイムコードのデータを、タイムベースとタイムスタンプの2つの別々のタイプに分離することは有用である。タイムスタンプは、特定の処理単位(サンプル、フレーム、またはフィールド)についてのタイミングを表すのに使用される情報を含む。タイムベースは、タイムスタンプで使用される測度単位の基礎を確立する情報を含む。言い換えれば、タイムベースは、タイムスタンプを適切に解釈するのに必要な情報である。メディアストリームについてのタイムベースは通常、サンプルの全シーケンス、または少なくとも非常に大きな1組のサンプルついてのタイムベースと同じままである。
【0034】
例えば、SMPTEタイムコードを、以下のものからなるタイムベースを有するものとして解釈することができる。
・システムがNTSCであるか、それともPALであるかについての知識(または表示)、および
・システムがドリフトを部分的に補償するためにSMPTE「ドロップフレーム」カウントを使用するかどうかについての知識(または表示)
【0035】
上記が与えられると、タイムスタンプは、特定のビデオフレームごとのパラメータHours、Minutes、Seconds、およびFramesの表現からなる。
【0036】
本発明は、様々なメディアに関連する改良型のタイミングシステム、方法、および構造を提供することに関連する問題から生まれたものである。本発明はまた、現在使用されているタイムコード、具体的にはSMPTEタイムコードと互換の、改良型のタイミングシステム、方法、および構造を提供することに関連する問題から生まれたものでもある。
【0037】
(発明の概要)
いくつかの実施形態において、非整数フレームレートを有することから生じる可能性のある、ある量のドリフトをタイムコードが含むメディアサンプルから、真の時間を確認することが可能なタイムコーディングシステム、方法、およびデータ構造を説明する。本発明の方法は、メディアサンプルに関連する、タイムコードと真の時間との時間差を記述するオフセットパラメータの使用を組み込む。本発明の手法は、SMPTEなどの現行のタイムコーディングパラダイムと共に組み込むことができ、かつそれと互換に使用することができる。別の実施形態では、フレームのフィールドレベルでタイムコーディングを行うことが可能となる。これにより、真の時間の計算を行って、フレームの個々のフィールドに関連する真の時間を確認することが可能となる。
【0038】
加えて、他の実施形態では、非整数フレームレートでサンプリングされるメディアサンプルに関連する可能性があるドリフトを低減することを対象とする新規なカウント補償方法が提供される。
【0039】
(好ましい実施形態の詳細な説明)
概要
様々なメディアで使用するためのタイミングシステム、方法、および構造を説明する。様々な実施形態により、メディアサンプルに関連するタイムコードで「真の時間」に対する正確な基準を提供することができる手段が提供される。以下で説明する様々な実施形態は、特定のサンプル、フレーム、またはフィールドに関連する真の時間を確認するために既存のタイムコードと共に使用することができるオフセットパラメータを組み込む。
【0040】
以下の説明では、まず一実施形態による例示的タイムベースの説明から始め、次いで本発明の一実施形態に関連する例示的タイムスタンプパラメータを説明する。
【0041】
タイムコード設計のためのタイムベースパラメータ
以下の表1に、一実施形態によるタイムコードで用いるためのタイムベースを指定する一設計で使用される、例示的な完全な1組のパラメータを示す。
【0042】
これらのパラメータの一部は、ヘッダでのみ指定することができ、または特定のシステム設計に関して特定の値に固定することができる。あるいは、これらのパラメータの一部または全部は、タイムスタンプごとに送信することができる。(フィールドベースのタイムコードがシステムで不要な場合、BaseFPFパラメータを取り除くことができ、BaseFPFパラメータは暗示値1を有することができる。)
【0043】
【表1】
Figure 0004690635
【0044】
これらのパラメータを使用して、重要な派生パラメータを以下のように定義する。
MaxFPS=ceil(BaseUPS/(BaseFPF・BaseUPF))
【0045】
上式で、ceil(x)は、引数xの数学関数として定義され、非負値のxについて、xが整数である場合はxに等しく、そうでない場合はxより大きい最小の整数に等しい。
【0046】
表1に示すパラメータとMaxFPSパラメータは、意味的には以下のように定義される。
・MaxDays:タイムコード期間が定義される最大日数
【0047】
・BaseUPS:毎秒当たりのタイムベース中の基本時間単位数(クロックチックと呼ぶ)(例えば、毎秒当たり120000チックまたは毎秒当たり50チック)。このパラメータは一般の整数値を有することができる。このパラメータはまた、特定の固定整数定数を一般の整数値で割ったものとして定義することもできる。整数定数は、30000の整数倍にすることができる。このパラメータはまた、少なくとも1つが30000の整数倍である1つまたは複数の値を有することもできる。
【0048】
・BaseUPF:フィールドカウント増分ごとに加えられる基本時間単位数(クロックチックと呼ぶ)(例えば、1フィールド当たり2002チックまたは1フィールド当たり1チック)。このパラメータは一般的な整数値を有することができる。このパラメータはまた、少なくとも1つが1001の整数倍である複数の値のうちの1つを有することもできる。
【0049】
・BaseFPF:フレームごとに定義されるフィールド数(例えば、インタレース化ビデオ中の1フレーム当たり2フィールド、または1つの順次走査ビデオの1フレーム当たり1フィールド)。メディアサンプルがそれぞれ等しい数のフィールドに分割されない場合、BaseFPFパラメータは1である。このパラメータは一般的な整数値を有することができる。
【0050】
・CountComp:フレームカウント増分を補償して、真の「ウォールクロック」時間とタイムコードタイムスタンプとの間の経時的なドリフトを低減または解消するために適用する方法を示す。これは、以下のように定義される。
【0051】
・「00」:カウント補償なし。ドリフトがもしあれば、それはタイムコードのOffsetパラメータ中に蓄積する。フレームパラメータは、単に0からMaxFPS-1までカウントし、次いで0から再び開始する。
【0052】
・「01」:SMPTE「ドロップフレーム」カウント補償。連続するフレーム増分についてのタイムスタンプが1分のマークを通過するごとに、値が00、10、20、30、40、および50である場合を除き、フレームパラメータカウントを、0ではなく2から開始する。フレームパラメータは常にMaxFPS-1までカウントする。この補償を実施した後に残るドリフトは、Offsetパラメータ中に蓄積する。
【0053】
・「10」:「トップドロップ」カウント補償。経時的なドリフトを解消するため、フレームパラメータをある時には0からMaxFPS-1までカウントし、ある時には0からMaxFPS-2までしかカウントしない(トップカウントを抜かす)。トップドロップカウント補償は恐らく最も直感的な方法である。例えば、基本フレームレートが毎秒当たり7.3フレームである場合、ある時には1秒に7フレームカウントし、ある時には8フレームカウントすることになる(したがってフレームカウントは、ある時には0から6までカウントし、ある時には7までカウントすることになる)。
【0054】
・「11」:「ボトムドロップ」カウント補償。経時的なドリフトを解消するため、フレームパラメータを、ある時には0からMaxFPS-1までカウントし、ある時には1からMaxFPS-1までしかカウントしない(ボトムカウントを抜かす)。このカウント方法は、トップドロッピングと同様であるが、この場合は、スキップするのはフレームパラメータの最高値ではなく、フレームパラメータ値0である。
【0055】
BaseUPS/(BaseFPF・BaseUPF)が整数である場合、CountCompは「00」に等しい(この場合、ドリフトが累積しないからである)。BaseUPS/(BaseFPF・BaseUPF)が1未満である場合、CountCompは「01」や「11」とは等しくない(この場合、フレームパラメータが0を超えることができないからである)。CountCompの使用法に関するより詳しい情報を以下に与える。
【0056】
タイムコード設計のためのタイムスタンプパラメータ
表2に、上記の表1で定義されるタイムベースを使用する特定のタイムスタンプの、例示的な完全な1組のパラメータを示す。これらのパラメータの一部は、ヘッダでのみ指定することができ、または特定のシステム設計に関して特定の値に固定することができる。あるシステム設計では、未送信パラメータの一部についての値を格納または推測する受信機に応じて、あるパラメータを他のパラメータよりも頻繁に送信することも望ましい。(システムでフィールドベースのタイムコードが不要である場合、フィールドパラメータを除去することができ、フィールドパラメータは暗示値0を有することができる。)
【0057】
【表2】
Figure 0004690635
【0058】
上記の表中の情報を使用した、秒単位の真の(実数値の)「ウォールクロック」時間への変換は、以下のように定義することができる。
t=60・(60・Hours+Minutes)+Seconds+(BaseUPF・(BaseFPF・Frames+Fields)+Offset)/BaseUPS
【0059】
タイムコード定義の最大範囲を指定するのにHoursとMaxDaysだけを使用するのではなく、タイムスタンプ定義がDayパラメータも指定し、かつHoursが0から23の範囲に制限されるようにこのタイムコード定義を直接的に拡張することができる。あるいは、タイムコードは、DayOfMonth、Month、およびYearも含むことができ、タイムベースは、Yearパラメータの範囲を(暗示的または明示的に)指定することができる。しかし、この最後のタイプの定義は、うるう日、うるう秒などをどのように補償するかが問題となるので、より複雑になる。
【0060】
不連続は、各サンプルについて表される時間値の差が、そのサンプル間の真の時間間隔の正確な表現として解釈することができない2つの連続するサンプル間の接合である。(これは、タイムコード値を変更せずにストリームを接合するときを示すのに有用である。)
【0061】
表2に示すパラメータは、意味的には以下のように定義される。
・Discont:特定のサンプルと、隣接するサンプルとの間の境界に不連続が存在するかどうかを指定する。このパラメータにより、それぞれがそれ自体のタイムスタンプを有する2つのメディアサンプルのストリームを接合することが可能となるので、編集目的でこのパラメータを含めることは有用である。このパラメータは以下のように定義される。
○「00」:不連続は示されない(隣接するサンプルタイムコードに関して示されるのでない限り)
○「01」:このサンプルと次のサンプルの間が不連続
○「10」:前のサンプルとこのサンプルの間が不連続
○「11」:前のサンプル、現サンプル、および次のサンプルの間が不連続
あるいは、Discontパラメータは、値「1」が前のサンプルと現サンプルとの間の不連続を示すという規約(または値「1」が前のサンプルと次のサンプルとの間の不連続を示すという規約)を共に用いて、単一のビットにすることもできる。
【0062】
・Hours:3600を掛けたときに、タイムスタンプの成分として加えるべき(秒単位の)時間量を指定する整数パラメータ。
【0063】
・Minutes:60を掛けたときに、タイムスタンプの成分として加えるべき(秒単位の)時間量を指定する整数パラメータ。
【0064】
・Seconds:タイムスタンプの成分として加えるべき時間の秒数を指定する整数パラメータ。
【0065】
・Frames:BaseUPFとBaseFPFを掛け、BaseUPSで割ったときに、タイムスタンプの成分として加えるべき(秒単位の)時間量を指定する整数パラメータ。Framesパラメータは、メディアサンプルフレームごとに増分され、増分値がMaxFPS-1を超えた場合に0に設定され、CountCompパラメータで示されるようにドリフトに対して調節される。FramesパラメータはMaxFPS-1を超えることはない。
【0066】
・Fields:BaseUPFを掛け、BaseUPSで割ったときに、タイムスタンプの成分として加えるべき(秒単位の)時間量を指定する整数パラメータ。Fieldsパラメータは、メディアサンプルフィールドごとに増分され、増分値がMaxFPS-1を超過した場合に0に設定される。
【0067】
・Offset:BaseUPSで割ったときに、タイムスタンプの成分として加えるべき(秒単位の)時間量を指定する整数パラメータ。Offsetパラメータは、他のパラメータで表される時間と、メディアフィールドサンプルの真の「ウォールクロック」時間との正確な差を指定するのに使用される。
【0068】
フレームレートカウント補償
フレーム/秒単位のメディアサンプルレートが整数でないときはいつでも(すなわち、BaseUPS/(BaseFPF・BaseUPF)が整数でないときはいつでも)、サンプリングシーケンスが進行するにつれて、Hours、Minutes、およびSecondsパラメータと、Framesカウントとの間のドリフトに対して調節することが必要となる可能性がある。Offsetパラメータを使用して、ある量のドリフトを補償することができるが、この目的でOffsetパラメータを使用することに伴う2つの問題がある。
・過大なドリフトが累積することが可能な場合、Offsetパラメータで表すことができる値の範囲を超過する可能性があり、
・過大なドリフトが累積することが可能な場合、通常の「ウォールクロック」時間でのサンプルの適切な近似的な配置としてのHours、Minutes、およびSecondsパラメータの通常の解釈が失われ始める
ことである。
【0069】
CountCompパラメータは、ドリフトに関してカウントプロセスを補償する方法を示す。
【0070】
蓄積したドリフトを表すのに必要なOffsetの値を含むDriftと呼ばれる変数を定義する場合、カウントプロセスがCountComp変数と関係するので、カウントプロセスを指定することができる。Offsetの値は、この基本サンプリングタイミングの変更を示すべきでない場合に、Driftと等しく設定することができる。(しかし望むなら、サンプルの異なるタイミングを示すために、OffsetをDrift以外のある値に設定することができる。そのうちの2つの例を以下に与える)。
【0071】
次いで、Fieldsパラメータの増分ごとのカウントプロセスおよびドリフト補償は、以下のC++プロセス定義で定義することができる。あるフィールドサンプルをスキップした(送信しなかった)場合、紛失したサンプルからの時間ギャップを示すために、後続のサンプルのFieldsパラメータが1つの追加の時間だけ増分される。以下のC++コードの断片では、すべてのパラメータが任意長の整数変数を使用して処理されると仮定する(すなわち、パラメータは、表中に指定した範囲を超える値を一時的に取ることができる)
【0072】
Figure 0004690635
Figure 0004690635
Figure 0004690635
Figure 0004690635
【0073】
カウント補償の他の同様の方法は、Hours、Minutes、Seconds、およびFrameパラメータで表される時間と、フレームの真の「ウォールクロック」時間との間の蓄積したドリフトの計算に基づく方法であって、蓄積したドリフトの値が少なくともBaseFPF・BaseUPFの値のあるしきい値を超過したとき、いくつかのフレームカウントをスキップする方法として定義することができる。
【0074】
例1
SMPTE非ドロップカウントを用いたNTSC(毎秒当たり約29.97フレーム)の状況で以下の例を与える。
【0075】
SMPTENTSC非ドロップタイムコードは、実質的な変更を行うことなく、タイムコードデータ構造フィールドCountComp、Hours、Minutes、Seconds、およびFramesで表すことができる。タイムコードの他のパラメータは以下のように指定すべきである。
MaxDays = 1;
CountComp = '00'; (カウント補償なし)
BaseUPF = 1001;
BaseUPS = 30000 (フレームベースのタイムスタンプの場合), or 60000 (フィールドベースの場合);
BaseFPF = 1 (フレームベースのタイムスタンプの場合), or 2 (フィールドベースの場合);
Fields = 0 (フレームベースのタイムスタンプの場合), or 0 or 1 (フィールドベースの場合);
【0076】
Offsetパラメータは、「フレームレートカウント補償」と題するセクションで計算されるドリフトの値に設定すべきである。(当初0に設定され、次いでSecondsの値が増分するごとに、30(フレームベース)または60(フィールドベース)だけ増分される。)
次いで、SMPTEタイムコードは、そのパラメータ値が変更されずに保持されているので、CountComp、Hours、Minutes、Seconds、およびFramesパラメータから直接抽出できることに留意されたい。
【0077】
一例として、以下について考慮する。
【0078】
米国のビデオ用システムは、当初は30フレーム/秒となるように設計されていた。しかし、ビデオ技術の進歩(すなわちカラーテレビジョンの発明)により、これがわずかに変更された。このフレームレートは1000/1001倍に変更された。したがって現在では、米国規格のビデオの1秒当たりのフレーム数は、30000/1001すなわち〜29.97である(したがって、上記で毎秒あたり29.97フレームという数字を用いた)。
【0079】
このことは、カウント中のタイムコード、または時、分、秒、およびフレームの標識が付けられたタイムコードがある場合で、ある時間量が経過した後に単に0-29を反復的にカウントする場合、タイムコードが表すと思われる時間と、真の時間との間のドリフト、あるいはあるフレームと、ずっと後に到着する別のあるサンプルとの間の時間差が存在することになることを意味する。30f/s(フレーム/秒)が存在するとき、正確なクロックで測定する真の時間と、タイムコードが時、分、および秒、ならびにフレームによって表している時間との間で累積する著しいドリフトが存在する。
【0080】
例示的タイムコードカウンタ100を「秒」列および「フレーム」列で示す図1を考慮する。「秒」列は、秒単位の時間の測度を表す。「フレーム」列は、カウントしたフレームの測度を表す(この例では、話を簡単にするために「時」および「分」を省略した)。フレームカウントで表される真の時間差は、1001/30000秒/フレームである。タイムコードは0で開始する(時、分、および秒が0)。フレームカウントは1である。個々のフレームが(例えばタイムコードエンコーダ中を)通過するとき、個々のフレームはカウントされ、それらにタイムスタンプを割り当てることができる。この例での最初のフレームには、(秒,フレーム)に関してタイムスタンプ(s=0,f=1)が割り当てられる。次の増分では、秒は依然として0であるが、このときフレームカウントは2である。すなわち(s=0,f=2)である。1秒当たりに非整数の数のフレームが存在するので、ドリフトがタイムスタンプ中に累積し始める。
【0081】
フレームがカウントアップされるとき、フレームカウンタは29までカウントアップし、次いでs=1およびf=0となるようにロールオーバする。s=0およびf=0とs=1およびf=0の間の公称時間差が理想的には1秒となるべきであるとみなす。しかしこれは事実ではない。実際には30個の1001/30000秒の増分、すなわち30001/30000秒であり、これは1秒よりわずかに長い。したがって、経過した実際の時間間隔は、タイムスタンプパラメータからわかる時間間隔よりもわずかに長い。したがって、s=1、f=0の点は、実際には30030/30000秒の時間が経過した後に生じる。差30/30000秒が、オフセットの使用により補償することができるドリフトである。
【0082】
今説明している実施形態では、フレームカウンタの増分によって示される時間差を理解していることが非常に望ましい。カウントクロック中に存在する毎秒当たりの単位数が理解されいる。今の場合には、1/30000秒の単位でカウントを行っている。この値は、上記のUPS(単位/秒)パラメータで表される。したがって、UPSパラメータは30000に設定される。次に、フレームカウンタの増分による、この単位で示される時間差を決定することができる。この値はUPFパラメータで表現される。この例では、UPFパラメータは1001である。すなわち、フレームカウンタの増分ごとに、1001単位の1/30000秒が経過する。したがって、フレームカウンタの増分は、1001/30000秒と関連する。
【0083】
これらの2つのパラメータが与えられると、フレームカウントにUPF/UPSを掛けることによって真の時間差を確認することができる。すなわち、
(フレームカウント)×(UPF/UPS)=フレームカウントで示される真の時間差
【0084】
最初の期間(s=0)では、秒パラメータを取り、次いでそれに(フレームカウント)×(UPF/UPS)を加えることによって真の時間を計算することができる。すなわち、
真の時間=s+(フレームカウント)×(UPF/UPS)、ただしs=0
【0085】
システムが次の秒(すなわちs=1)にロールオーバするとき、この計算はもはや有効ではない。というのは、非整数フレームレートを整数カウンタと関連付けるために、経過した時間差を補償しなければならないからである。この例では、ここでオフセットパラメータが使用される。
【0086】
図2に、例示的タイムコードカウンタ200を「秒」列、「フレーム」列、およびオフセット列で示す。以下の例では、オフセットパラメータのために使用する特定の値が、特定の非整数フレームレートと関連する。フレームレートが変化するとき、オフセットパラメータのこの値も変化する可能性がある。したがって、記載の例が特定の環境に対する特定の解決策を構成することを理解されたい。したがって、条件が指定される場合を除き、特許請求の範囲に記載された対象がその特定の例だけを包含すると解釈すべできではない。
【0087】
オフセットパラメータはやはり同じ単位(単位/秒)であり、その結果同じクロックを参照する。オフセットパラメータは当初0に設定される。秒カウンタがその次の値(すなわち1)にロールオーバするとき、オフセットパラメータは30だけ増分される。このとき、真の時間を計算するための式は以下のように与えられる。
真の時間=s+(フレームカウント×UPF+オフセット)/UPS
【0088】
したがって、s=1、f(フレームカウント)=0、およびオフセット=30のときに真の時間を計算すると、1+(0+30/30000)=30030/30000秒が得られる。次に、オフセットパラメータを加えることにより、従来のカウント方法(SMPTEタイムコード)を使用できるが、サンプルに関連する正確な時間も計算することができる。
【0089】
オフセットは、真のフレームレートの関数として選択される。真のフレームレートは、一般に毎秒当たり、ある分数の数であることを想起されたい。この逆が、秒/フレームの数である。
【0090】
上記の例が数秒続くとき、s=2、f=0の点に到達する。ここで、オフセットをさらに30だけ増分し、その結果オフセットは60になる。事実上は、オフセットは時間がさらに経過するにつれて増加する。しかし各ケースでは、オフセットは、従来のSMPTEタイムコードで有するパラメータからサンプルに関連する真の時間を得る方法を知らせることを行っている。
【0091】
しかし、本発明の技法の応用例は、フレームレートが分数である場合だけに限定すべきではない。具体的には、1秒当たりに整数の数のフレームが存在する場合(例えば25フレーム/秒である欧州のシステムでは)、ドリフトは存在しないので、オフセットを常に0にすることができる。しかし、オフセットを使用して、SMPTEタイムコードで提示される公称時間とは異なる可能性がある時間を示す能力はまた、例えば元のサンプルのサンプリングがSMPTEタイムコードで表される公称時間で示されるタイミングと異なることを示す能力を提供することなど、他の用途も有する。
【0092】
SMPTEなどの古いスタイルのタイムコードに関連する問題の大部分は、タイムコードに関連するクロックに対する真の時間の位置の明確な理解がないことである。上述の原理を使用して、オフセットパラメータを提供し、個々のフレーム、またはフレームの一部(下記参照)に関連する真の時間を確認するのに使用することができる。
【0093】
図3は、記載の一実施形態による方法でのステップを記述する流れ図である。この方法は、適切などんなハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せでも実装することができる。図示する例では、この方法はソフトウェアで実装される。
【0094】
ステップ300では、1つまたは複数のメディアサンプルを提供する。メディアサンプルは適切などんなメディアサンプルでもよい。加えて、メディアサンプルは適切などんなフォーマットでも提供することができる。例えば、ほんの2つの例を挙げれば、メディアサンプルはフレームまたはフィールドを含むことができる。ステップ302では、タイムコードにオフセットパラメータを提供するように構成されるタイムコードエンコーダを提供する。前述のように、オフセットパラメータを使用することは、真の時間の厳密な理解を有さない古いタイムコードを使用することが可能となり、ある意味では、古いタイムコードデータからサンプルに関連する真の時間を確認するのに使用することができるパラメータを追加することが可能となるという点で有利である。
【0095】
ステップ304では、タイムコードエンコーダを使用してメディアサンプルを処理する。このステップは、サンプルのうちの1つまたは複数に、オフセットパラメータを有するタイムコードを提供することによって実施することができる。サンプルを処理した後、ステップ306では、受信機にメディアサンプルを供給する。このステップは、適切などんな方式でも実施することができ、必ずしもタイムコードがメディアサンプルに供給されると同時に実施する必要はない。例えば、特定のムービーが最初に生成されるときにタイムコードを供給することができる。ステップ306は、ムービーを受信することに関連するであろう様々な実体、すなわちエディタ、ベンダなどにムービーが配布されるときに実施される可能性がある。
【0096】
ステップ308では、オフセットパラメータを伴うタイムコードを有するメディアサンプルを受信する。このステップは、適切などんな方式でも実施することができる。例えば、このステップは、サンプルを編集することに関連するエディタにメディアサンプルを供給することによって実施することができる。ステップ310では、オフセットパラメータを使用して、1つまたは複数のサンプルに関連する時間を計算する。計算される時間は、ドリフトのない時間であることが望ましい。
【0097】
図4は、タイムコード中にオフセットパラメータを供給する一方法を記述する流れ図である。以下に述べる方法は、ある点ではステップ304に装飾を施したものである。ステップ400では、複数のメディアサンプルを提供する。ステップ402では、オフセットパラメータを有するタイムコードを提供する。ステップ404では、第1メディアサンプルを取得する。次いでステップ406は、オフセットパラメータを有するタイムコードをメディアサンプルに組み込む。ステップ408では、所定の条件が生じたかどうかを判定する。適切などんな条件も使用することができる。上記の例では、タイムコード中の秒カウンタが循環したかどうかに条件が関連付けられた。以下のある例では、定められた数のフレームが抜かされた場合に、所定の条件が生じる。
【0098】
ステップ408で条件が生じなかったと判定した場合、ステップ410では、次のタイムコード(オフセットパラメータを含むことも含まないこともある)を取得し、ステップ404に戻る。一方ステップ408で条件が生じたと判定した場合、ステップ412でオフセットパラメータを調節し、ステップ410に戻って次のタイムコードを取得する。処理される特定のタイプのメディアが与えられるならば、オフセットパラメータの調節は適切などんな方式でも行うことができる。上記の例では、所定の量だけオフセットパラメータを増分することによってオフセットパラメータは調節される。ある状況では、オフセットパラメータを減分することが可能である。この例を以下で与える。
【0099】
オフセットパラメータを調節した後、ステップ410では、次のタイムコード(調節したオフセットパラメータを含むことが好ましい)を取得し、ステップ404に戻る。
【0100】
このようにして、複数のメディアサンプルに、そのサンプルに関連する時間測度を確認するのに使用することができるオフセットパラメータを提供することができる。この時間測度は、非整数フレームレートとの関連のために必然的にあるドリフトを含むタイムコードに関連する時間測度よりも正確な時間測度とすることができることが望ましい。
【0101】
例2
SMPTEドロップカウントを用いたNTSC(毎秒当たり約29.97フレーム)の状況で以下の例を与える。
【0102】
米国のNTSCカラービデオは、29.97フレーム/秒で動作する。30フレーム/秒のプログラム素材と同期させる場合、毎秒当たり余分な0.03フレームが存在し、毎時間当たり合計3.6秒、すなわち余分なフレームが108個となる。同期の問題を引き起こす可能性のあるこのドリフトを低減するために、ドロップフレームタイムコードが開発された。ドロップフレームタイムコードは、タイムコードのシーケンス中のある特定のタイムコードを「抜かす」ことによってこのことを行う。SMPTEドロップフレームタイムコードで使用される調節方法は、10分毎(00、10、20、30、40、50分)を除く各分で2つのタイムコード値を抜かさなければならなかった。一例は、01:22:59:29から、まず01:23:00:00に、次いで01:23:00:01、01:23:00:02と増加するではなく、直接01:23:00:02まで増加することである。コード01:23:00:00と01:23:00:01は抜かされる。これにより、かなりの期間にわたってタイムコードが真の時間と非常に近い状態で動作することが可能となる。
【0103】
SMPTE NTSCドロップフレームタイムコードは、本質的な変更を行わずに、タイムコードデータ構造フィールドCountComp、Hours、Minutes、Seconds、およびFramesで表すことができる。タイムコードの他のパラメータは、以下のように指定すべきである。
MaxDays = 1;
CountComp = '01' (SMPTEドロップフレームカウント);
BaseUPF = 1001;
BaseUPS = 30000 (フレームベースのタイムスタンプの場合), or 60000 (フィールドベースの場合);
BaseFPF = 1 (フレームベースのタイムスタンプの場合), or 2 (フィールドベースの場合);
Fields = 0 (フレームベースのタイムスタンプの場合), or 0 or 1 (フィールドベースの場合);
【0104】
次いでOffsetsパラメータは、上記のC++コードで計算されるドリフトの値に設定すべきである(すなわち、最初は0に設定し、次いで、上記の擬似Cコード中に示される時間的位置での2つのフレームカウントドロップと共にSecondsの値の増分が行われるのでない限り、Secondsの値の増分ごとに30(フレームベース)または60(フィールドベース)だけ増分する。上記の場合は、その代わりに1972(フレームベース)または3944(フィールドベース)だけ減分すべきである)。
【0105】
SMPTEタイムコードのパラメータ値は変更されずに保持されているので、SMPTEタイムコードを後でCountComp、Hours、Minutes、Seconds、およびFrameパラメータから直接抽出することができる。
【0106】
次いで、ドロップフレームカウントでのオフセットパラメータを決定することは、抜かした値を補償するためにオフセットパラメータを調節することを除き、本質的には上記の例とほぼ同様に行われる。具体的には、秒カウンタが初期カウント(すなわち29から0に)にロールオーバするごとに、オフセットは30だけ増分される。しかし、値のドロップが行われたときにオフセットパラメータを調節するための特定の規則が存在する。具体的には、フレームカウントがスキップされるとき、オフセットが30だけ増分される代わりに、所定の値、この場合は1972だけ減分される。
【0107】
オフセットパラメータを減分するのに使用される値は、以下のように決定される。秒カウンタがロールオーバしたとき、通常は30を加える。しかし2つのフレームカウントが抜かされたことを補償しなければならない。これにより、負のオフセットは2002/30000となる。したがって、所定の値は2002-30=1972である。
【0108】
例3
SMPTEタイムコードを用いたPAL(毎秒当たり50フィールド)の状況で以下の例を与える。SMPTE PALタイムコードは、本質的な変更を行わずに、タイムコードデータ構造フィールドCountComp、Hours、Minutes、Seconds、およびFramesで表現することができる。タイムコードの他のパラメータは、以下のように指定すべきである。
MaxDays = 1;
CountComp = '00'; (カウント補償なし)
BaseUPF = 1;
BaseUPS = 25 (フレームベースのタイムスタンプの場合), or 50 (フィールドベースの場合);
BaseFPF = 1 (フレームベースのタイムスタンプの場合), or 2 (フィールドベースの場合);
Fields = 0 (フレームベースのタイムスタンプの場合), or 0 or 1 (フィールドベースの場合);
【0109】
次いでオフセットパラメータは、上記のC++コードで記述されるプロセスで計算されるドリフトの値に設定すべきである(この場合常に0)。
【0110】
次いで、SMPTEタイムコードのパラメータ値は変更されずに保持されているので、SMPTEタイムコードを後にCountComp、Hours、Minutes、Seconds、およびFramesパラメータから直接抽出できることに留意されたい。
【0111】
例4
米国でフィルムが放送されるとき、フィルム素材自体は、一般には毎秒当たり24フレームで撮影される。しかし放送は、一般には毎秒当たり30000/1001フレームで行われる。したがって、ビデオの個々のフィールドを周期的に反復することによってコンテンツを調節する「2:3プルダウン」と呼ばれる(「3:2プルダウン」とも呼ばれる)周知の慣行がある。この実施形態の一目標は、毎秒当たり24フレームで撮影されたビデオが毎秒当たり30000/1001フレーム/秒で放送されるとき、適切に構成された受信機がビデオの各フレームを含む個々のフィールドと、その元のフィルムフレームとの元の関連を確認することができ、かつその個々のフィールドの近似的相対タイミングを確認することができるようにそのビデオをタイムスタンプする方式を提供することである。
【0112】
例えば図5と、以下の説明について考慮する。ビデオフレームは例えば、一方をF1と呼び、他方をF2と呼ぶ2つのフィールドを有することができる。ビデオフレームが毎秒当たり24フレームで撮影されるとき、これらのフィールドはそれぞれ、同時に撮影される(この2つのフィールドを含むフレームは同時に撮影されたからである)。すなわち、元のビデオ中にF1およびF2に関連するタイムコードがショットとして存在する場合、同じタイムコード値を有するべきである。
【0113】
しかし2:3プルダウンプロセスは、これらのフィールドが同報通信されるときにこれらのフィールドを所定の方式で反復し、異なる時刻にフィールドを同報通信する。例えば、フィールドF1が一般に時刻1で同報通信され、その後に異なる時刻2でフィールドF2が同報通信され、その後にさらに異なる時刻3でフィールドF1が同報通信される。共通のフレームの個々のフィールドが反復されるとき、これらは、実際には同時にサンプリングされるが、異なる時刻に同報通信されることを銘記されたい。
【0114】
1001/1000倍に伸び、NTSCビデオで使用するために「2:3プルダウン」を使用して変換された24ピクチャ/秒フィルムの各フィールドについてのタイムコードは、オフセットパラメータを介して、NTSCフィールド指向同報通信に関する変換後インタレース化タイミングの基礎となるピクチャの、伸びたタイミングと順次サンプリングの性質を示すように生成することができる。
【0115】
毎秒当たり24ピクチャのフィルム素材は通常、各ピクチャを走査して、交互の線の2つのフィールドを生成し、4つのピクチャのシーケンスごとに、第2ピクチャおよび第4のピクチャの第1フィールドおよび第2フィールドを送信した後に第1フィールドの送信を反復し、それによって4つのフィルムフレーム24フレーム/秒ピクチャごとに、30000/1001フレーム/秒ビデオの10個のフィールドに変換される。これにより、全体のタイミングが1000/1001倍に遅れ、フィルムをインタレース化ビデオのフィールドとして表示することが可能となる。しかし、どのフィールドがそのサンプリングしたタイミング中で実際に一緒に属しているかを識別することによって、基礎となる非インタレース化ピクチャを回復できることは有用である。
【0116】
理想的には、特定のフィールドがその他の関連するフィールドと全く同時にサンプリングされたという表示を行うべきである。記載のこの実施形態によれば、ビデオの各フィールドについて、フィルムを同報通信する際にフィールド反復が行われた実際の時間を示す方法がある。このことは、前述のフィールドカウンタおよびオフセットパラメータを使用して行われる。しかし、これを行う方法についての特定の議論を行う前に、以下のことについて考慮する。
【0117】
人間の目は、ディスプレイが約60回/秒未満のレートでリフレッシュされる場合、ディスプレイの輝度に応じてフリッカを知覚することができる。表示されるフリッカレートが非常に高速である場合、目にはそれが知覚されない。
【0118】
動きを表そうとすることと、フリッカを除去しようとすることの間には興味深い兼ね合いがある。テレビジョンの初期の時代には、動きを表示するためにディスプレイを何回か再ペイントしなければならないと定められた。動きを表示するのにディスプレイ全体を再ペイントしなければならないことを回避するために、インターリーブドディスプレイの概念が開発された。この概念は、ある時にビデオの線の半分を表示し、次いで1/60秒後に他の半分の線を表示するものである。このようにすることにより、閲覧者は動きを正常に知覚し、かつフリッカをなくすることができる。
【0119】
しかしこの手法を使用すると、1秒当たりに取得する実際の全ピクチャは30個だけである。より正確には、1秒当たりに60個の半ピクチャを得ることになる。したがって、ディスプレイ上に垂直方向に表示されるものを見る場合、上端の線を0とカウントし、次の線を1とカウントし、以下同様にカウントする場合、時刻1には線0、2、4、6、8などを見ることになり、次いで1/60秒後に1、3、5、7、9などを見ることになる。
【0120】
ビデオのフレームは、ディスプレイ上の線の組全体を含む。ビデオのフィールドは、上記で指摘したように、ディスプレイ上の偶数の線の組、または奇数の線の組のどちらかを含む。一実施形態によれば、単にフレームに関する時間タグではなく、特定の各フィールドに関する時間タグを有する能力を与えるタイムコード表現が提供される。次いで、個々のフィールドの他の共通にサンプリングされるフィールドとは異なる時間で、その個々のフィールドが同報通信されるにもかかわらず、この時間タグを処理して、その個々のフィールドがサンプリングされた実際の時間を提供することができる。このことは、フレームに関するタイムコード表現だけしか提供することができないSMPTE技法に勝る改良である。
【0121】
個々のフィールドをタイムスタンプする方法の例として、図6について考慮する。図6は、例示的タイムコードカウンタ600を示す。この特定のタイムコードカウンタでは、図示した構成要素には、フレームカウンタ602、秒カウンタ604、オフセットカウンタ606、およびフィールドカウンタ608が含まれる。SMPTEタイムコードカウンタ中に見られる他の標準の構成要素(すなわち時、分)は、この解説では省略した。
【0122】
この例では、ビデオの1フレーム当たりに2つのフィールドがある。各フィールドは、ビデオ中の偶数の線、または奇数の線のどちらかに関連する。したがって、フィールドカウンタ608は、0と1の間をカウントすることによって各フィールドをカウントする。これは、ある点ではフレームカウンタがフレームをカウントする方式と同様である。具体的には、フィールドカウンタ608は、フレームのサブユニットとしてフィールドカウントを処理するように構成される。
【0123】
したがってフィールドベースのタイムコードを構築したい場合、この例では、フレームごとに2つのフィールドが存在する。これは、毎秒当たりの単位数が2倍になることを意味する。各フレームが1001/30000秒ではなく、各フィールドがその時間量の半分、すなわち1001/60000秒であることを述べる必要があるからである。したがって、フレーム中に、フレームの第1フィールドの後に第2フィールドが1001/60000秒生じる、2つのフィールドが存在する。
【0124】
このことは事実である。再び図6について考慮する。フレームカウンタ602が増分するごとに、フィールドカウンタ608は2回増分される。すなわち、「0:0:0:0」(すなわち第1行)の後、フィールドカウンタは増分され、その結果タイムコード値は「1:0:0:0」となる。したがって、フィールドに関連する真の時間を計算するために、上記のようにフレームカウンタだけを使用してその時間を計算する代わりに、真の時間は以下の式によって与えられる。
t=s+((field_counter+FPF*frame_counter)UPField+offset)/UPS
【0125】
この式は、例えば毎秒当たり30000/1001フレームでビデオを受信する受信機を、望ましくは24フレーム/秒フィルムに関連する元のタイミング情報を抽出するようにプログラムするのに使用することができる。このことは、期間を1001/1000倍にわずかに伸ばすことが必要な可能性があるが、オフセット因子のないオペレーションと同様に、送信されるフィールドの規則的な間隔の特性をひずませることはない。
【0126】
この手法では、フレーム中に整数個のフィールドがあることを認識し、かつフレームカウンタだけではなく、フィールドに関連する真の時間を計算するのに使用することができる情報を提供する各フィールド自体のタイムスタンプを各フィールドが搬送することを可能にする、提供される追加のフィールドカウンタが存在する。
【0127】
SMPTE 非ドロップカウントを用いる NTSC での毎秒当たり23 . 976フレーム
毎秒当たり24000/1001(約23.976)フレームに伸びたときの、基礎となるピクチャサンプリングタイミングは、基礎となるSMPTE非ドロップタイムコードとして、以下のように示すことができる。
MaxDays = 1;
CountComp ='00'; (カウント補償なし)
BaseUPF = 2002;
BaseUPS = 120000;
BaseFPF = 2;
Fields = 0 or 1 (フィールドベース);
【0128】
まず、5成分配列をZ[5]={0,-2002,1001,-1001,-3003}と定義する。次に、Offsetを、最初に送信するフィールドに関してDrift+Z[0]に設定し、2番目のフィールドに関してDrift+Z[1]、3番目に関してDrift+Z[2](これは2番目に送信するピクチャの第1フィールドである)、4番目に関してDrift+Z[3]、5番目に関してDrift+Z[4]、6番目に関してDrift+Z[5]、次いで7番目に関してDrift+Z[0]に、8番目に関してDrift+Z[1]などとなる。ただし、Driftは、フィールドごとに、上記のC++コードで説明したように計算される(最初は0であり、次いでSecondsパラメータが増分されるごとに120だけ増分される)。
【0129】
基礎となるピクチャサンプリングタイミングを表すための上記の手法の一例として、図7について考慮する。図7は、毎秒当たり24フレームで撮影されたが、2:3プルダウンを使用して毎秒当たり30000/1001フレームで同報通信されたビデオのグラフィック表現を示す。y軸は、個々のフレームの垂直軸を表し、第1フィールドを表す「トップフィールド」と、第2フィールドを表す「ボトムフィールド」に分割される。x軸は時間軸であり、各フレームからの個々のフィールドが、その30000/1001フレーム/秒プルダウン構成で受信されるときの時間を表す。
【0130】
この例では、フレームA、B、C、およびDと呼ぶ、ビデオの4つのフレームがある。描画されるグラフィック表現を得るために、フィルムの1つのフレームを取り(例えばフレームA)、「トップフィールド」内の線を送信する。このフィールドを700で示す。次いで送信されていない線(すなわち「ボトムフィールド」702)を送信する。次いで次のフレーム(フレームB)を処理し、トップフィールド704、次いでボトムフィールド706を送信し、次いでトップフィールド704を反復することによって3つのフィールドを送信する。次に、フレームCについてのボトムフィールド708を送信し、その後にフレームCについてのトップフィールド710を送信する。最後に、ボトムフィールド712、次いでトップフィールド714を送信し、次いでボトムフィールド712を反復することによって、フレームDについての3つのフィールドを送信する。
【0131】
次いでフレームの2つのフィールドと別のフレームの3つのフィールドを交互の、このプロセスを反復する。単一フレームを含むフィールド中の線すべては、同時にサンプリングされる。しかし、これらの線またはフィールドは、別々の時間に送信される。この結果は、例えばムービーをショットとして視聴している場合に通常持続するよりも、24フレーム/秒フレームが1つおきに長く持続し、残りのフレームが、元のタイミングが示すよりも幾分短い時間表示され、平均してプログラムの全期間がほぼ正しく生成されるということである。
【0132】
具体的には、このプロセスは、24フレーム/秒で4フレーム時間(間隔1/24秒が4つ=0.166666)を提供する。このとき、10個のビデオのフィールド10*(1001/60000)=10010/60000=0.16683333を有する。この2つの値はほぼ等しく、1001/1000倍しか違わない。
【0133】
しかし問題がある。具体的には、2:3プルダウン形式のビデオを受信し、それがサンプリングされた元の時間に戻したい場合、上述の実施形態の以前にはそれを行うことができなかった。すなわち、サンプルの実際の同報通信時間(各フィールドが異なるタイムスタンプを有する)を認識しようとするのではなく、サンプルの元のタイミング(例えば、同じフレームの個々のフィールドが同じタイムスタンプを有する)を認識したいのである。
【0134】
したがって、理想的には、必要なもの、実際には前述の実施形態が供給するものは、各フィールドが異なる時間に送信された場合であっても、フィールドの真のサンプル時間を有し、またはフィールドの真のサンプル時間を確認するのに使用することができる、そのフィールドのそれぞれに関するタイムスタンプである。
【0135】
この実施形態は、基本的に不正確な1組の時間間隔(すなわち、ビデオの個々のフィールドの同報通信時間と一致する1組の時間間隔)を示すのではなく、1001/1000倍だけわずかに伸びた元のフィルムフレームに関連する時間を各フィールドが表すような、フィールドにタイムコードを付加する方法を提供する。したがって、ビデオ受信機は、物事が互いに相対的に正しい時間でサンプリングされるとき、データをその元の形式に戻す方法を認識することができる。
【0136】
このことを行う方法の例として、以下の式と、図6と、以下の例について考慮する。
【0137】
t=s+((field_counter+FPF*frame_counter)UPField+offset)/UPS
この場合、UPField=2002(普通なら計算することになる、各時間の間の中間の時間を表示できる必要があるからである)、UPS=120000(24フレーム/秒と30フレーム/秒との間の相互作用のため)、およびFPF=2である。
【0138】
第1フィールドでは、s=0、field_counter=0、frame_counter=0、およびoffset=Z[0]すなわち0である。したがって、予想されるのは時間t=0である。第2フィールド(第1フィルムフレームの第2フィールド)でも、フィールドが第1フィールドと同時にキャプチャされたので、時間t=0が予想される。この場合、s=0、field_counter=1、frame_counter=0、およびoffset=Z[1]すなわち-2002である。この値を上記の式で用いると、予想されるように、t=0+((1+2*0*2002-2002)/120000=0となる。第3フィールド(第2フィルムフレームの第1フィールド)では、時間t=1001/24000が予想され、次のフィルムフレーム内にあることが示される。この場合、s=0、field_counter=0、frame_counter=1、およびoffset=Z[2]すなわち1001である。この値を上記の等式で用いると、予想されるように、t=0+((0+2*1)*2002+1001)/120000=3003/120000=1001/24000となる。
【0139】
SMPTE 非ドロップカウントを用いる NTSC での毎秒当たり23 . 976フレーム
毎秒24000/1001(約23.976)フレームに伸びたときの、基礎となるピクチャサンプリングタイミングは、基礎となるSMPTE非ドロップタイムコードとして、以下のように示すことができる。
MaxDays = 1;
CountComp = '01'; (SMPTEドロップフレームカウント補償)
BaseUPF = 2002;
BaseUPS = 120000;
BaseFPF = 2;
Fields = 0 or 1 (フィールドベース);
【0140】
5成分配列Z[5]={0,-2002,1001,-1001,-3003}を定義する。Offsetを、最初に送信するフィールドに関してDrift+Z[0]に設定し、2番目のフィールドに関してDrift+Z[1]、3番目に関してDrift+Z[2]に(これは2番目に送信するピクチャの第1フィールドである)、4番目に関してDrift+Z[3]に、5番目に関してDrift+Z[4]に、6番目に関してDrift+Z[5]に、次いで7番目に関してDrift+Z[0]に、8番目に関してDrift+Z[1]などとなる。ただし、Driftは、上記のC++コードで示したように計算される(すなわち、最初は0であり、次いで、Secondsパラメータの増分が時間的位置での2つのフレームカウントドロップと共に行われるのでなければ、Secondsパラメータが増分するごとに120だけ増分される。共に行われる場合、その代わりにDriftが7888だけ減分される)。
【0141】
効果的には、上述の各実施形態は共に、異なるフォーマット(この場合、毎秒当たり30000/1001フレーム)に伸ばされたフレームのタイムスタンプを処理して、これらのフィールドの元の互いの関連を、適切な相対サンプリング時間で、元のタイミングを1001/1000倍にわずかに調節して提供することができるような、個々のフィールドをタイムスタンプするための方法を提供する。これらの実施形態によれば、共通フレームを含むフィールドは、その実際の同報通信時間に関連する時間値ではなく、同じサンプリングした時間値に評価される。
【0142】
他のタイムコードに対する設計の改良
上述の実施形態は、他のタイムコードを明らかに改善することができる特徴を有する。この特定の例を以下に与える。
【0143】
SMPTE タイムコードに対する改良
ビデオ製作業界で広く使用されているタイムコードは、SMPTEタイムコードとして知られており、通常は表3に示すのと同等の方式で表される。SMPTEタイムコードは非常に一般的に使用されているので、SMPTEタイムコードを用いたインターワーキング(interworking)は、ビデオ製作環境で不可欠である。
【0144】
【表3】
Figure 0004690635
【0145】
NTSCvsPALが0である場合、BaseUPF=1001、BaseUPS=30000であり、そうでない場合、BaseUPF=1、BaseUPS=25である。BaseFPFは暗示的に1であるが、SMPTEタイムコードは、実際には典型的にインタレース化スキャンビデオ(1フレーム当たり2つのインタレース化フィールドを有する)と共に使用される。
【0146】
SMPTEタイムコードは、真の時間と1:1の対応はなく、したがってSMPTEタイムコードと真の時間との間の変換は、正確に表現することができない。DropFlagフラグは、カウント補償なしと、前述のSMPTEドロップフレームカウント補償との間の選択を示す。
【0147】
このタイムコードの欠点は、以下のように列挙される。
・このタイムコードは、真の「ウォールクロック」時間と正確に関係付けられず、正確には知られていない時間(時間的解像度が増加したフレームだけにしか知られていない)にスタートし、このタイムコードが増加するにつれて「ウォールクロック」時間に対する「ドリフト」(「ドロップフレーム」カウントを使用することによって低減されるが、解消はされないドリフト)が累積する。
【0148】
・インタレース化ビデオ環境ではインタレース化ビデオに対する単一フィールド時間増分が主に使用されるにもかかわらず、このタイムコードではそれが指定されない。
【0149】
・Hours、Minutes、Seconds、Frames、およびDropFlagパラメータのすべてを有するわけではないSMPTEタイムコードが「ウォールクロック」時間に直接変換される場合、容易に、かつあいまいさなしに時間測度をSMPTEタイムコードに戻すことができない。
【0150】
・このタイムコードと同等なBaseUPFおよびBaseUPSが可能なのは1対の固定値だけであるので、このタイムコードは、あるフレームレートを正確に表すことができない。
【0151】
・このタイムコードは、主に1フレーム当たり2つのインタレース化フィールドを有するビデオに適用されるにもかかわらず、フィールドカウントパラメータの表現を含まない(かつ、このタイムコードのBaseUPSは、各フレームの2つのインタレース化フィールドのタイミングを正確に表すのに十分な時間的正確さを有さない)。
【0152】
一方、上述の設計は、SMPTEタイムコードを変更せずにSMPTEタイムコード搬送をすることができると共に、サンプルの時間と真の「ウォールクロック」時間との間の厳密な関係を表すこともできる。上述の設計がSMPTE時間と互換であることにより、上述の設計はビデオ製作業界で広く使用することができ、SMPTEタイムコードを使用することにより生じる時間的なあいまいさも補正される。
【0153】
MPEG- : 2000 N 3438 Draft Amend. 1に対する改良
MPEG-2:2000 N3438 Draft Amendment 1[[International Standardization Organization and International Electrotechnical Commission Joint Technical Committee Number 1 Working Group Number 11 Moving Picture Experts Group document N3438 Video Elementary Stream Supplemental Information:June 2000]は、表4に示すのと同等なタイムコードフォーマットを含んでいる。
【0154】
【表4】
Figure 0004690635
【0155】
同等なタイムスタンプは以下のように計算される。
t=(60・(60・Hours+Minutes)+Seconds+Offset/27000000
【0156】
このタイムコードに関連する欠点は以下の通りである。
・このタイムコードにはフレームカウンタまたはフィールドカウンタの概念がなく、絶対時間の概念しかない。
【0157】
・このタイムコードにはフレーム間隔またはフィールド間隔に関連する時間増分の概念がない。
【0158】
・このタイムコードにはフレームカウンタがないので、フレームのドロップフレームカウントを表すことができない。
【0159】
・このタイムコードはSMPTEタイムコードを直接搬送することができない。
【0160】
・SMPTEタイムコードがこのフォーマットのタイムスタンプに変換される場合、それをSMPTEタイムコードに容易に戻すことができない。
【0161】
・このタイムコードと同等なBaseUPS(定数27000000)は固定値を有するので、このタイムコードは、あるフレームレートを正確に表すことができない。
【0162】
当業者には明らかであろうが、上述の実施形態により、これらの欠点を改善することができる。
【0163】
ITU-T H. 263 + フレームタイムに対する改良
H.263+[International Telecommunications Union-Telecommunications Standardization Sector、ITU-T Recommendation H.263 version 2:1998)では、表5に示すのと同等の方式で時間が表される。
【0164】
【表5】
Figure 0004690635
【0165】
同等なタイムスタンプは以下のように計算される。
t=Frames・(ClockDvisor・(1000+ClockBaseAdd1))/1800000
【0166】
このタイムコードに関連する欠点は以下の通りである。
・このタイムコードはSMPTEタイムコードを直接搬送しない。
【0167】
・SMPTEタイムコードがこのフォーマットのタイムスタンプに変換される場合、それをSMPTEタイムコードに容易に戻すことができない。
【0168】
・このタイムコードと同等なBaseUPS(定数1800000)は固定値を有するので、このタイムコードは、あるフレームレートを正確に表すことができない。
【0169】
・このタイムコードにはフィールドカウンタがなく、したがってフレームをフィールドに分割するためのタイムスタンプを示すことができない。
【0170】
当業者は理解するであろうが、上述の本発明の手法により、これらの欠点のうち1つまたは複数を改善することができる。
【0171】
MPEG- 4ビジュアル VOP 時間に対する改良
MPEG-4ビジュアル規格[International Standards Organization and International Electrotechnical Commission、International Standard 14496-2:1999]では、表6に示すのと同等の方式でタイムコードを表す。
【0172】
【表6】
Figure 0004690635
【0173】
同等なタイムスタンプは以下のように計算される。
t=60・(60・Hours+Minutes)+Seconds+AddSec+Offset)/BaseUPS

【0174】
FixedRateFlagが1であるとき、サンプルの隣接するあらゆる組のタイムスタンプ間の時間差は、FixedIncrementに等しくなければならない。
【0175】
このタイムコードに関連する欠点は以下の通りである。
・FixedRateFlagが0であるとき、このタイムコードにはフレームカウンタの概念がなく、絶対時間の概念しかない。
【0176】
・FixedRateFlagが1であるとき、このタイムコードは、スキップされたサンプルを示すことができず、サンプルの各対の間に示される時間量に関して柔軟性がない。
【0177】
・このタイムコードではフレームカウントを掛けるためにBaseUPFを使用しないので、1秒の間隔中のサンプルタイムスタンプの位置を表すのに必要なビット数が、(例えばH.263+設計とは対照的に)BaseUPFを使用した場合に必要なビット数よりも大きくなる。BaseUPFを代わりに使用した場合、フレーム時間増分を表すのに必要なのは、各サンプルと共に1だけ増分する少数のビットを使用するフレームカウンタまたはフィールドカウンタを有することだけであり、2つの単純な増分により、スキップされたフレームサンプルを示すことができる。
【0178】
・このタイムコードには、フレーム間隔に関連する時間増分という概念がない。
【0179】
・このタイムコードはフレームカウンタがないので、フレームのドロップフレームカウントを表すことができない。
【0180】
・このタイムコードはSMPTEタイムコードを直接搬送することができない。
【0181】
・SMPTEタイムコードがこのフォーマットのタイムスタンプに変換される場合、それをSMPTEタイムコードに容易に戻すことができない。
【0182】
当業者は理解するであろうが、上述の本発明の手法により、これらの欠点のうち1つまたは複数を改善することができる。
【0183】
タイムコードオブジェクト (TCO) ドラフトに対する改良
テレビジョン、オーディオ、およびフィルム製品で使用するためのタイムコードのドラフト仕様に関する「タイムコードオブジェクト」の予備設計が、ビデオ製作業界で配布された[Brooks Harris、Proposed SMPTE Standard S22.TCOx1-1999 November 18、1999]。配布された設計はドラフト形式であり、いくつかの誤りが含まれているように思われるが、本質的には表7に示すものと同等であると思われる。
【0184】
【表7】
Figure 0004690635
【0185】
これは、フレームカウンタ、フィールド表示、およびウォールクロック時間の表現を含む。これは、いくつかの特定のサンプリングレートのうちから選択することによるサンプリングレートの指定を用いる。これは、SMPTE「ドロップフレーム」カウントを使用するか、それとも「1000日補償カウント」と呼ばれる、1000日の期間に特定のカウントパターンを使用することによってドリフトエラーを低減する特定のカウント方法を使用するかについての標識を含む。この「1000日補償カウント」は、ドリフト蓄積の計算を使用しない(その代わり、SMPTE 12Mタイムコードの「ドロップフレーム」方法と同様であるが、より複雑な固定カウントパターンを使用する)特定のカウント方法である。これは、うるう日、うるう秒、および時間帯を処理するためのある特定の用意を含む。これは、単位/秒単位の一般のタイムベースに基づいて、フレームベースのタイムコードを真のウォールクロック時間と関係付けるためにフレームベースのタイムコードをオフセットする方法を含まない。これは、「ウォールクロック」日付パラメータおよび時間パラメータを含むが、(サンプリングレートとカスタマイズ可能な関係を有する単位/秒単位ではなく)ネットワークタイムプロトコル(NTP)[Internet Engineering Task Force Request For Comments number 1305]単位で表される。NTP単位時間では、約2-32秒の固定測度単位を使用し(すなわちそれに等価なBaseUPSは、固定値232を有する。この数は、30000や25などの従来のタイムベースサンプリング単位の整数倍ではない)、したがってこれらの表現では、共通サンプリングレートとは非互換の固定精度を使用し、丸め誤差を含み、サンプリングタイミングには基づかない。これは、時間のSMPTE 12M表現と、タイムコードのNTP時間パラメータで表された時間との間のドリフトのために、常にSMPTE 12Mタイムコードを変更なしで搬送できるわけではない。このタイムコードオブジェクト設計の欠点には、以下のことが含まれる。
【0186】
・このタイムコード設計では、選択された特定のサンプリングレートの列挙を使用してサンプリングレートを指定するだけであり、毎秒当たりのBaseUPS単位数および1フレーム当たりのBaseUPF数を使用して、時間の一般的な表現を指定しない。
【0187】
・毎秒当たりのカスタム化BaseUPS単位数を使用して、丸め誤差なしにサンプルの真の時間を表すことができない(真の時間は、毎秒当たり固定の増分数を有するNTP単位でのみ表される)。
【0188】
・(NTPを使用した)時間の表現と、従来のSMPTE 12Mタイムコードとの間の変換は、明確ではない。SMPTE 12Mタイムコードで見出されるHours、Minutes、およびSecondsパラメータと同じ値に直接対応する表現を含まないからである(そのNTP時間は、従来のSMPTE 12M時間とNTP時間との間のドリフトのために、従来のSMPTE 12Mタイムコードで見出されるHours、Minutes、およびSecondsパラメータの値に直接基づかないからである)。
【0189】
・このタイムコード設計は、蓄積したドリフトの直接的計算に基づいて補償をカウントする方法を含まない。その代わりに、特定の「1000日カウント」を使用してドリフトを低減するための、新しく、複雑で、特別なカウント方法を定義する。
【0190】
当業者は理解するであろうが、上述の本発明の手法により、これらの欠点のうち1つまたは複数を改善する。
【0191】
カウント補償
別の実施形態によれば、経時的なドリフトをなくするための様々な方法が提供される。第1実施形態を「トップドロップ」カウントと呼び、第2実施形態を「ボトムドロップ」カウントと呼ぶ。
【0192】
トップドロップカウント
記載の一実施形態によれば、時、分、秒、およびフレームカウントによって表される時間と、サンプルの真の「ウォールクロック」時間との間のドリフトを計算し、過剰なドリフトを防止するために時々最大フレーム番号をスキップすることによって、メディアサンプルフレームカウント時間表現と、真の「ウォールクロック」時間との間のドリフトを補償する方法が提供される。例えば、蓄積したドリフトがフレームカウント増分で表される時間を超過したときはいつでも、最大フレーム番号をスキップすることができる。
【0193】
図8は、1つのトップドロップカウント方法による方法でのステップを記述する流れ図である。この方法は、適切などんなハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せでも実装することができる。図示する例では、この方法はソフトウェアで実装される。
【0194】
ステップ800では、フレームカウント増分に関連する時間値を決定する。メディアサンプルがタイムコード化されるとき、メディアサンプルの各フレームがそれに関連する時間の増分を有する、上記の例を想起されたい。例えば、各フレームカウント増分には、1/24秒の増分を構成することができる。このステップでは、フレームカウント増分に関連する時間値を決定する。ステップ802では、メディアサンプルに関連するタイムコードと、メディアサンプルに関連する真の「ウォールクロック」時間または真のサンプル時間との間の蓄積したドリフトを計算する。ステップ804では、蓄積したドリフトがフレームカウント増分で表される時間を超過したとき、最大フレーム番号をスキップする。
【0195】
例えば、以下について考慮する。経時的なドリフトをなくするために、(前述の)Framesパラメータは、ある時には0からMaxFPS-1までカウントされ、ある時には0からMaxFPS-2までしかカウントされない(トップカウントを抜かす)。(MaxFPSは上記で定義される)。基本フレームレートが毎秒当たり7.3フレームである場合、ある時には1秒に7フレームカウントされ、ある時には8フレームカウントされる(したがってフレームカウントは、ある時には0から6までカウントされ、ある時には0から7までカウントされることになる)。
【0196】
ボトムドロップカウント
記載の一実施形態によれば、時、分、秒、およびフレームカウントによって表される時間と、サンプルの真の「ウォールクロック」時間との間のドリフトを計算し、過剰なドリフトを防止するために時々最大フレーム番号をスキップすることによって、メディアサンプルフレームカウント時間表現と、真の「ウォールクロック」時間との間のドリフトを補償する方法が提供される。例えば、蓄積したドリフトがフレームカウント増分で表される時間を超過したときはいつでも、最小フレーム番号をスキップすることができる。
【0197】
図9は、1つのボトムドロップカウント方法による方法でのステップを記述する流れ図である。この方法は、適切などんなハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せでも実施することができる。図示する例では、この方法はソフトウェアで実装される。
【0198】
ステップ900では、フレームカウント増分に関連する時間値を決定する。このステップは、上記のステップ800と本質的に同じである。ステップ902では、メディアサンプルに関連するタイムコードと、メディアサンプルに関連する真の「ウォールクロック」時間または真のサンプル時間との間の蓄積したドリフトを計算する。このステップは、上記のステップ802と本質的に同じである。ステップ904では、蓄積したドリフトがフレームカウント増分で表される時間を超過したとき、最小フレーム番号をスキップする。
【0199】
例えば、以下について考慮する。経時的なドリフトをなくするために、(前述の)Framesパラメータは、ある時には0からMaxFPS-1までカウントされ、ある時には1からMaxFPS-1までしかカウントされない(ボトムカウントを抜かす)。このカウント方法は、上記のトップドロッピング方法と同様であるが、この場合、Framesパラメータの最高値ではなく、Framesパラメータ値0がスキップされる。
【0200】
結論
上述の様々な実施形態により、メディアサンプルに関連するタイムコードで、「真の時間」に対する正確な基準を提供することができる手段が提供される。これらの実施形態は、既存のタイムコード設計のフィールドを変更を行わずに含め、しかし場合によっては設計の機能を向上させるために1つまたは複数の追加のパラメータを追加することにより、その既存のタイムコードパラダイムと互換性を有することができる。加えて、新しいカウント補償方法の形態で改良を達成することができる。
【0201】
本発明を構造的特徴および/または手順に特有の術語で説明したが、頭記の特許請求の範囲で定義される本発明は、説明した特定の特徴またはステップに必ずしも限定されないことを理解されたい。むしろ、この特定の機能およびステップを、特許請求の範囲に記載された本発明を実施する好ましい形態として開示する。
【図面の簡単な説明】
【図1】 秒パラメータおよびフレームパラメータを有する例示的タイムコードカウンタを示す図である。
【図2】 オフセットパラメータ、秒パラメータ、およびフレームパラメータを有する例示的タイムコードカウンタを示す図である。
【図3】 一実施形態による方法でのステップを記述する流れ図である。
【図4】 一実施形態による方法でのステップを記述する流れ図である。
【図5】 フィールドの概念を、メディアサンプルフレームに関するフィールドとして示す図である。
【図6】 フィールドカウンタパラメータ、オフセットパラメータ、秒パラメータ、およびフレームパラメータを有する例示的タイムコードカウンタを示す図である。
【図7】 フィールドの概念を、メディアサンプルフレームに関するフィールドとして2:3プルダウンに関連して示す図である。
【図8】 一実施形態による方法でのステップを記述する流れ図である。
【図9】 一実施形態による方法でのステップを記述する流れ図である。

Claims (25)

  1. メディアサンプルを提供するステップと、
    前記メディアサンプルと関連付けられた複数のタイムコードパラメータを決定するステップであって、前記複数のタイムコードパラメータは、前記メディアサンプルと関連付けられたタイムスタンプを少なくとも部分的に指定する1又は複数の時間測度パラメータと、フレーム番号を示すフレーム番号パラメータと、オフセットを指定するオフセットパラメータとを含んでおり、前記オフセットパラメータ1秒当たりのタイムベース中の基本時間単位数で除算されると、その商が前記タイムスタンプと前記メディアサンプルのための真の時間測度との間のドリフトを低減するのに用いることができる時間量を指定し、前記1秒当たりのタイムベース中の基本時間単位数は1又は複数の値を有することがあり、前記1又は複数の値の中の少なくとも1つは30000の倍数である、ステップと、
    前記複数のタイムコードパラメータを告知するステップとを含む、
    方法。
  2. 請求項1記載の方法であって、前記オフセットパラメータは、複数の異なるサンプリングレートを用いてメディアサンプルに対するドリフトを低減するのに用いることができる、方法。
  3. 請求項2記載の方法であって、前記サンプリングレートは、毎秒24000/1001フレーム、毎秒24フレーム、毎秒30000/1001フレーム、毎秒30フレーム、毎秒60000/1001フレーム、毎秒60フレーム、及び毎秒25フレームから構成されるグループから選択されたレートを含む、方法。
  4. 請求項1記載の方法であって、前記タイムコード・パラメータは、一般的な整数値を有しうる1フレーム当たりのタイムベース中の基本時間単位数を更に含む、方法。
  5. 請求項1記載の方法であって、前記タイムコード・パラメータは少なくとも1つは1001の整数倍である1又は複数の値を有しうる1フレーム当たりのタイムベース中の基本時間単位数を更に含む、方法。
  6. 請求項1記載の方法であって、前記タイムコード・パラメータは、フィールド番号を示すフィールド番号パラメータと、1フレーム当たりのフィールド数を指定するフィールド/フレームパラメータとを更に含む、方法。
  7. 請求項6記載の方法であって、1フレーム当たりのフィールド数は、一般的な整数値を有しうる、方法。
  8. 請求項6記載の方法であって、1フレーム当たりのフィールド数は、少なくとも1つが2である1又は複数の値を有しうる、方法。
  9. メディアサンプルを受け取るステップと、
    前記メディアサンプルと関連付けられた複数のタイムコードパラメータを決定するステップであって、前記複数のタイムコードパラメータは、前記メディアサンプルと関連付けられたタイムスタンプを少なくとも部分的に指定する1又は複数の時間測度パラメータと、フレーム番号を示すフレーム番号パラメータと、オフセットを指定するオフセットパラメータとを含んでおり、前記オフセットパラメータ1秒当たりのタイムベース中の基本時間単位数で除算されると、その商が前記タイムスタンプと前記メディアサンプルのための真の時間測度との間のドリフトを低減するのに用いることができる時間量を指定し、前記1秒当たりのタイムベース中の基本時間単位数は1又は複数の値を有することがあり、前記1又は複数の値の中の少なくとも1つは30000の倍数である、ステップと、
    前記タイムスタンプと前記真の時間測度との間のドリフトを低減するように調節される時間値を計算するステップとを含む、
    方法。
  10. 請求項9記載の方法であって、前記計算された時間値に従ってメディアサンプルを提供するステップを更に含む、方法。
  11. 請求項9記載の方法であって、前記複数のタイムコードパラメータは一般的な整数値を有しうる1フレーム当たりのタイムベース中の基本時間単位数を更に含む、方法。
  12. メディアサンプルをタイムコーディングする方法であって、
    非整数フレームレートを有する1又は複数のメディアサンプルを提供するステップと、
    前記非整数フレームレートを有する前記メディアサンプルによるドリフト量を含むタイムコードで、前記メディアサンプルをタイムコーディングするステップと、
    前記タイムコードから直接得られる時間測度よりも正確である低減ドリフト時間測度を計算するのに用いることができる調節可能なオフセットパラメータを、前記タイムコードに組み込むステップとを含む、
    方法。
  13. 請求項12記載の方法であって、前記タイムコーディングするステップは、メディアサンプルフレームを含む1又は複数のフィールドと関連付けられたフィールドパラメータを含めるステップを含む、方法。
  14. 請求項12記載の方法であって、前記オフセットパラメータはドリフト解消時間測度を計算するのに用いることができる、方法。
  15. 請求項12記載の方法であって、前記メディアサンプルのうちの少なくとも一部に関する前記オフセットパラメータを調節するステップを更に含む、方法。
  16. 請求項15記載の方法であって、前記調節するステップは、所定の条件が生じたかどうかを判定し当該判定に応答して前記オフセットパラメータを調節するステップを含む、方法。
  17. 請求項16記載の方法であって、前記所定の条件は秒カウンタのロールオーバと関連付けられている、方法。
  18. 請求項16記載の方法であって、前記所定の条件は、いずれかのフレームが抜かされているかどうかと関連付けられている、方法。
  19. 請求項16記載の方法であって、前記調節するステップは、定義された量だけ前記オフセットパラメータを増分するステップを含む、方法。
  20. 請求項16記載の方法であって、前記調節するステップは、定義された量だけ前記オフセットパラメータを減分するステップを含む、方法。
  21. 請求項16記載の方法であって、前記調節するステップは、定義された量だけ前記オフセットパラメータを増分し、別の時刻に、別の定義された量だけ前記オフセットパラメータを減分するステップを含む、方法。
  22. 請求項12記載の方法であって、前記タイムコードはSMPTE非ドロップカウントタイムコードを含む、方法。
  23. 請求項12記載の方法であって、前記タイムコードはSMPTEドロップカウントタイムコードを含む、方法。
  24. メディアサンプルを処理する方法であって、
    非整数フレームレートを有する前記メディアサンプルによるドリフト量を含むタイムコードでタイムコード化された複数のメディアサンプルを受け取るステップであって、前記タイムコードは、前記タイムコードから直接得られる時間測度よりも正確な低減ドリフト時間測度を計算するのに用いることができる調節可能なオフセットパラメータを更に含む、ステップと、
    前記オフセットパラメータを用いて、前記タイムコードから直接得られる時間測度よりも正確な時間測度を計算するステップと、
    前記時間測度を1又は複数のメディアサンプルに適用するステップとを含む、
    方法。
  25. 請求項24記載の方法であって、前記タイムコードはSMPTEタイムコードパラメータを含む、方法。
JP2002520563A 2000-08-15 2001-08-15 メディアサンプルをタイムコーディングする方法、システム、およびデータ構造 Expired - Lifetime JP4690635B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22549800P 2000-08-15 2000-08-15
US60/225,498 2000-08-15
PCT/US2001/025946 WO2002015583A1 (en) 2000-08-15 2001-08-15 Methods, systems and data structures for timecoding media samples

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010254439A Division JP4700762B2 (ja) 2000-08-15 2010-11-15 メディアサンプルを処理する方法

Publications (3)

Publication Number Publication Date
JP2004507176A JP2004507176A (ja) 2004-03-04
JP2004507176A5 JP2004507176A5 (ja) 2010-06-03
JP4690635B2 true JP4690635B2 (ja) 2011-06-01

Family

ID=22845121

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002520563A Expired - Lifetime JP4690635B2 (ja) 2000-08-15 2001-08-15 メディアサンプルをタイムコーディングする方法、システム、およびデータ構造
JP2010254439A Expired - Lifetime JP4700762B2 (ja) 2000-08-15 2010-11-15 メディアサンプルを処理する方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2010254439A Expired - Lifetime JP4700762B2 (ja) 2000-08-15 2010-11-15 メディアサンプルを処理する方法

Country Status (6)

Country Link
US (7) US7024097B2 (ja)
EP (2) EP2364025B1 (ja)
JP (2) JP4690635B2 (ja)
KR (1) KR100884134B1 (ja)
AU (1) AU2001286554A1 (ja)
WO (1) WO2002015583A1 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2814027B1 (fr) * 2000-09-14 2003-01-31 Cit Alcatel Procede de synchronisation d'un fichier multimedia
US20020145622A1 (en) * 2001-04-09 2002-10-10 International Business Machines Corporation Proxy content editing system
JP2003087733A (ja) * 2001-09-13 2003-03-20 Matsushita Electric Ind Co Ltd タイムコード演算方法、およびタイムコード演算装置
US7505485B2 (en) * 2002-01-22 2009-03-17 Microsoft Corporation Methods and systems for start code emulation prevention and data stuffing
US8671213B2 (en) * 2002-03-14 2014-03-11 Citrix Systems, Inc. Methods and apparatus for generating graphical and media displays at a client
US7142250B1 (en) * 2003-04-05 2006-11-28 Apple Computer, Inc. Method and apparatus for synchronizing audio and video streams
DE10322722B4 (de) 2003-05-20 2005-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Synchronisieren eines Audiossignals mit einem Film
US8064752B1 (en) * 2003-12-09 2011-11-22 Apple Inc. Video encoding
US8135261B1 (en) 2003-12-09 2012-03-13 Apple Inc. Insertion and usage of metadata in digital video
US7448061B2 (en) 2004-06-21 2008-11-04 Dolby Laboratories Licensing Corporation Frame synchronization in an ethernet NTP time-keeping digital cinema playback system
US8228956B2 (en) * 2005-04-19 2012-07-24 Alcatel Lucent Time stamp offset in data packet bundling
US7827479B2 (en) * 2007-01-03 2010-11-02 Kali Damon K I System and methods for synchronized media playback between electronic devices
WO2008103170A1 (en) * 2007-02-20 2008-08-28 Symmetricom, Inc. Assisted wall-clock
CN101415249B (zh) * 2007-10-16 2011-02-16 华为技术有限公司 会话初始化协议数据业务信令协商的方法、系统及装置
US9233322B1 (en) 2008-08-08 2016-01-12 Kx Technologies Llc Push filter with floating key lock
US11426685B2 (en) 2008-08-08 2022-08-30 Kx Technologies Llc Push filter with floating key lock
US9901852B2 (en) 2008-08-08 2018-02-27 Kx Technologies Llc Push filter with floating key lock
USD795390S1 (en) 2008-08-08 2017-08-22 Kx Technologies Llc. Reverse osmosis push filter
US8137551B1 (en) 2008-08-08 2012-03-20 Kx Technologies, Llc Push filter with floating key lock
US9060201B2 (en) * 2008-10-28 2015-06-16 Cisco Technology, Inc. Stream synchronization for live video encoding
US8265450B2 (en) * 2009-01-16 2012-09-11 Apple Inc. Capturing and inserting closed captioning data in digital video
US20100195978A1 (en) * 2009-02-03 2010-08-05 Ekchian Gregory J System to facilitate replay of multiple recordings of a live event
US8615673B2 (en) * 2009-11-18 2013-12-24 National Instruments Corporation Device synchronization using independent clocks
US8428959B2 (en) * 2010-01-29 2013-04-23 Polycom, Inc. Audio packet loss concealment by transform interpolation
US8588575B2 (en) * 2010-04-26 2013-11-19 Eldon Technology Limited Apparatus and methods for high-speed video presentation
US8621355B2 (en) 2011-02-02 2013-12-31 Apple Inc. Automatic synchronization of media clips
CA2773924C (en) * 2011-04-11 2020-10-27 Evertz Microsystems Ltd. Methods and systems for network based video clip generation and management
JP5748553B2 (ja) * 2011-05-13 2015-07-15 キヤノン株式会社 撮像装置
US9871842B2 (en) 2012-12-08 2018-01-16 Evertz Microsystems Ltd. Methods and systems for network based video clip processing and management
CN104159168A (zh) * 2014-09-02 2014-11-19 尚斌 一种适用于音视频时间格式转换的计算方法
US9979991B2 (en) 2014-11-17 2018-05-22 Skotel Corporation Method and apparatus for deterministic date and time alignment of media signals and generation of time-related labels
WO2016119794A1 (en) 2015-01-28 2016-08-04 Dynastrom Aps Audio time synchronization using prioritized schedule
JP6219330B2 (ja) * 2015-03-11 2017-10-25 株式会社東芝 送信システム、多重化装置及びうるう秒補正対応方法
US10255947B2 (en) * 2015-08-31 2019-04-09 Netflix, Inc. Mitigating drift in audiovisual assets
US10271069B2 (en) 2016-08-31 2019-04-23 Microsoft Technology Licensing, Llc Selective use of start code emulation prevention
US11146608B2 (en) * 2017-07-20 2021-10-12 Disney Enterprises, Inc. Frame-accurate video seeking via web browsers
US11273397B2 (en) 2018-09-13 2022-03-15 Electrolux Home Products, Inc. Filter base for electronic connection to mating filter housing assembly
US11315606B1 (en) * 2019-09-25 2022-04-26 Amazon Technologies, Inc. Timecode generation and assignment
USD948660S1 (en) 2019-11-18 2022-04-12 Electrolux Home Products, Inc. Filter cartridge
USD969270S1 (en) 2019-11-18 2022-11-08 Electrolux Home Products, Inc. Filter cartridge
USD946700S1 (en) 2019-11-18 2022-03-22 Electrolux Home Products, Inc. Filter cartridge
USD946703S1 (en) 2019-11-18 2022-03-22 Electrolux Home Products, Inc. Filter cartridge
USD946699S1 (en) 2019-11-18 2022-03-22 Electrolux Home Products, Inc. Filter cartridge
USD946702S1 (en) 2019-11-18 2022-03-22 Electrolux Home Products, Inc. Filter cartridge
US11413560B2 (en) 2019-11-18 2022-08-16 Electrolux Home Products, Inc. Push filter with floating key lock
USD948659S1 (en) 2019-11-18 2022-04-12 Electrolux Home Products, Inc. Filter cartridge
USD946701S1 (en) 2019-11-18 2022-03-22 Electrolux Home Products, Inc. Filter cartridge
US11138970B1 (en) * 2019-12-06 2021-10-05 Asapp, Inc. System, method, and computer program for creating a complete transcription of an audio recording from separately transcribed redacted and unredacted words
EP4002853B1 (en) * 2020-11-11 2023-07-19 Milestone Systems A/S Video surveillance system
US11521639B1 (en) 2021-04-02 2022-12-06 Asapp, Inc. Speech sentiment analysis using a speech sentiment classifier pretrained with pseudo sentiment labels
US20220394645A1 (en) * 2021-06-02 2022-12-08 Corning Research & Development Corporation Synchronization of frames in multiple streams in a wireless communications system (wcs)
US11763803B1 (en) 2021-07-28 2023-09-19 Asapp, Inc. System, method, and computer program for extracting utterances corresponding to a user problem statement in a conversation between a human agent and a user

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201885A (ja) * 1988-02-04 1989-08-14 Matsushita Electric Ind Co Ltd 時間情報記録再生装置
JPH08172573A (ja) * 1994-08-23 1996-07-02 Discovision Assoc データレート変換方法及び装置
JPH08205170A (ja) * 1995-01-23 1996-08-09 Matsushita Electric Ind Co Ltd 動画像復号化装置及び動画像符号化装置
JP2000152232A (ja) * 1998-11-10 2000-05-30 Sony Corp 伝送方法及び装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4547877A (en) * 1983-06-09 1985-10-15 At&T Bell Laboratories System for switching multirate digitized voice and data
US4754492A (en) 1985-06-03 1988-06-28 Picturetel Corporation Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts
JPS627276A (ja) * 1985-07-04 1987-01-14 Pioneer Video Kk ビデオデイスク並びにその記録装置
US4847877A (en) 1986-11-28 1989-07-11 International Business Machines Corporation Method and apparatus for detecting a predetermined bit pattern within a serial bit stream
US5091899A (en) * 1988-02-04 1992-02-25 Matsushita Electric Industrial Co., Ltd. Time code recording or reproducing apparatus and time code converter
JP2719836B2 (ja) * 1988-12-12 1998-02-25 三菱電機株式会社 磁気記録装置、磁気再生装置および磁気記録再生装置
US5097364A (en) * 1988-12-12 1992-03-17 Mitsubishi Denki Kabushiki Kaisha Magnetic recording and reproducing apparatus and method of recording and reproducing
EP1755257A3 (en) 1996-03-18 2008-04-02 Kabushiki Kaisha Toshiba Coding and decoding system
US5870444A (en) 1996-04-23 1999-02-09 Scientific-Atlanta, Inc. Method and apparatus for performing very fast message synchronization
US5661665A (en) * 1996-06-26 1997-08-26 Microsoft Corporation Multi-media synchronization
DE69738035T2 (de) * 1996-07-05 2008-04-30 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zum Anzeigezeitstempeln und zur Synchronisation mehrerer Viedeoobjektebenen
JPH1066036A (ja) * 1996-08-15 1998-03-06 Oki Electric Ind Co Ltd Tv方式変換装置
US5898897A (en) 1996-10-18 1999-04-27 Samsung Electronics Company, Ltd. Bit stream signal feature detection in a signal processing system
KR100436649B1 (ko) 1996-12-20 2004-09-08 소니 일렉트로닉스 인코포레이티드 초당24프레임필름으로부터취해진비디오프로그램재료의상태를변화시키기위한방법및장치
JP4013286B2 (ja) * 1997-01-22 2007-11-28 松下電器産業株式会社 画像符号化装置と画像復号化装置
US5955977A (en) 1997-03-31 1999-09-21 Sharp Laboratories Of America, Inc. System for avoiding start code emulation and long carry-over propagation
JPH11110915A (ja) * 1997-09-30 1999-04-23 Sony Corp 信号記録再生装置及び方法
US5946043A (en) * 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
GB9807208D0 (en) 1998-04-03 1998-06-03 Nds Ltd Method and apparatus for detecting a sequence in a bitstream
WO1999056472A1 (en) 1998-04-24 1999-11-04 Rockwell Science Center, Llc N-bit video coder and method of extending an 8-bit mpeg video coder
EP1018840A3 (en) 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
EP1069777A4 (en) 1999-02-05 2009-03-04 Sony Corp SYSTEMS AND METHODS FOR ENCODING AND DECODING, MULTIPLEXING SYSTEM AND METHOD, AND DISPLAY SYSTEM AND METHOD
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
GB2363279B (en) 1999-04-01 2003-10-22 Ravisent Technologies Inc Method for preventing dual-step half-pixel motion compensation accumulation errors in prediction-rich MPEG-2 sequences
GB2353653B (en) 1999-08-26 2003-12-31 Sony Uk Ltd Signal processor
JP3694888B2 (ja) 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01201885A (ja) * 1988-02-04 1989-08-14 Matsushita Electric Ind Co Ltd 時間情報記録再生装置
JPH08172573A (ja) * 1994-08-23 1996-07-02 Discovision Assoc データレート変換方法及び装置
JPH08205170A (ja) * 1995-01-23 1996-08-09 Matsushita Electric Ind Co Ltd 動画像復号化装置及び動画像符号化装置
JP2000152232A (ja) * 1998-11-10 2000-05-30 Sony Corp 伝送方法及び装置

Also Published As

Publication number Publication date
US20050117879A1 (en) 2005-06-02
KR100884134B1 (ko) 2009-02-17
EP2364025A3 (en) 2013-04-17
WO2002015583A1 (en) 2002-02-21
EP2364025A2 (en) 2011-09-07
JP2011083008A (ja) 2011-04-21
US20050111828A1 (en) 2005-05-26
US7142775B2 (en) 2006-11-28
US20050111827A1 (en) 2005-05-26
US7171107B2 (en) 2007-01-30
AU2001286554A1 (en) 2002-02-25
US20060078291A1 (en) 2006-04-13
US7187845B2 (en) 2007-03-06
EP2364025B1 (en) 2015-09-16
US7248779B2 (en) 2007-07-24
US20050111826A1 (en) 2005-05-26
US20050111839A1 (en) 2005-05-26
US7024097B2 (en) 2006-04-04
US20020116361A1 (en) 2002-08-22
US7181124B2 (en) 2007-02-20
KR20030062316A (ko) 2003-07-23
EP1310097B1 (en) 2019-07-31
US7167633B2 (en) 2007-01-23
EP1310097A1 (en) 2003-05-14
JP2004507176A (ja) 2004-03-04
JP4700762B2 (ja) 2011-06-15

Similar Documents

Publication Publication Date Title
JP4690635B2 (ja) メディアサンプルをタイムコーディングする方法、システム、およびデータ構造
US7633551B2 (en) Compressed timing indicators for media samples
USRE38875E1 (en) Method for display time stamping and synchronization of multiple video objects planes
US6871003B1 (en) Edit decision list for identifying the pull down phase of a video signal
CN101419827B (zh) 在音频视频交叉文件中进行音频与视频数据同步的方法
US6191821B1 (en) Method and apparatus for synchronization of periodic signals
US6754273B1 (en) Method for compressing an audio-visual signal
JP3133630B2 (ja) Mpegシステムデコーダ
JP3401505B2 (ja) Vopの時刻符号化方法
JP3421024B2 (ja) Vopの時刻復号化方法
JP3769457B2 (ja) ローカル時刻符号化方法
JP3174042B6 (ja) B−vopの時刻復号化方法
Strachan The 1080p/24 format: A review

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080814

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080814

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090901

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20091007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100416

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20100416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100825

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100901

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100927

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101004

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101025

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101101

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110121

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110218

R150 Certificate of patent or registration of utility model

Ref document number: 4690635

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140225

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term