JP2004509580A - ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法 - Google Patents

ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法 Download PDF

Info

Publication number
JP2004509580A
JP2004509580A JP2002529029A JP2002529029A JP2004509580A JP 2004509580 A JP2004509580 A JP 2004509580A JP 2002529029 A JP2002529029 A JP 2002529029A JP 2002529029 A JP2002529029 A JP 2002529029A JP 2004509580 A JP2004509580 A JP 2004509580A
Authority
JP
Japan
Prior art keywords
gop
mpeg
offset
header
offset table
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.)
Granted
Application number
JP2002529029A
Other languages
English (en)
Other versions
JP3771902B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2004509580A publication Critical patent/JP2004509580A/ja
Application granted granted Critical
Publication of JP3771902B2 publication Critical patent/JP3771902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • 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/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/032Electronic editing of digitised analogue information signals, e.g. audio or video signals on tapes
    • 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/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • 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/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • H04N21/23892Multiplex stream processing, e.g. multiplex stream encrypting involving embedding information at multiplex stream level, e.g. embedding a watermark at packet level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】プレイ・フロム・オフセット・モードでそれぞれの個別ビデオ・フレームに正確なフレームでランダム・アクセスするための、前に符号化済みのMPEGビデオ・ファイルの中に圧縮されたGOPオフセット・テーブルを自動的に挿入するのを可能にする方法および装置を提供する。
【解決手段】MPEGビデオ・ファイルのすべてのビデオ・パケットの各GOPヘッダに関するエントリを有する圧縮されたGOPオフセット・テーブルを作成し、前に少なくとも1つのパディング・パケットとして圧縮されたGOPオフセット・テーブルを挿入することによってMPEGビデオ・ファイルを変更し、MPEG準拠および圧縮されたオーディオ/ビデオ・データを保つ。GOPオフセット・テーブルのために必要とされるパディング・パケットの数を推定し、MPEGビデオ・ファイル読取りを1回の読取りに制限するためのステップをさらに有する。
【選択図】図2

Description

【0001】
【発明の属する技術分野】
本発明は、本出願と同じ発明者によって2000年9月15日に出願された「Apparatiand Method For Processing MPEG Streams」という名称の米国仮出願第60/232893号の利点を主張する。
【0002】
本発明は、2001年5月7日出願の「System and Method ofProcessing MPEG Streams For Timecode Packet Insertion」という名称の同時係属米国出願第09/850201号、2001年5月7日出願の「Systemand Method of Timecode Repair and Synchronization in MPEG Streams」という名称の同時係属米国出願第09/850253号、および2001年5月7日出願の「Systemand Method of Processing MPEG Streams For Storyboard and Rights MetadataInsertion」という名称の同時係属米国出願第09/850522号に関連する。
【0003】
本発明は、一般に、フルモーション・ビデオの圧縮、カタログ作成、および観覧に関し、より詳細には、圧縮されたビデオ・データの処理に関する。
【0004】
【従来の技術】
デジタル分野においてビデオ・アーカイブを作成し、操作するのに必要とされるインフラストラクチャおよび処理は、放送ビデオ業界において周知である。アーカイブ化プロセスは、一般に、MPEG−1圧縮またはMPEG−2圧縮を使用してアナログ・ビデオをデジタル化して圧縮することで始まり、次に、圧縮されたビデオ・ファイルを長期記憶に移動する。ビデオの貢献品質を保つため、放送事業者は、一般に、高い圧縮ビットレート(すなわち、15〜40Mbps)を選択し、これにより、MPEG圧縮方式の損失率の高さにも関わらず、比較的高い忠実度で、元のビデオを回復することが可能になる。
【0005】
ただし、圧縮されたビデオの高いビットレートは、ビデオを観覧および製作後の作業のために配信しなければならないとき、放送事業者のローカル・エリア・ネットワークおよびコンピュータ・ワークステーション・インフラストラクチャに相当な問題をもたらす。製作所全体にわたって資産を転送するのに必要とされる高いネットワーク帯域幅および時間量により、同時の転送の数に上限が課され、生産性がひどく制限される。この帯域幅の問題を受けて、放送事業者は、はるかに低い圧縮ビットレート(すなわち、1.5〜4Mbps)でビデオの追加のコピーを作成する。「プロキシ」ファイルまたは「ブラウズ」ファイルと呼ばれるこの低いビットレートのファイルにより、ユーザは、ビデオを迅速にダウンロードする、またはストリーミング・ビデオ・サーバを利用することによってビデオをコンピュータ・モニタ上で直接に観覧することが可能になる。ローカル・エリア・ネットワークの外部におけるビデオ資産の閲覧を容易にするため、第2のプロキシ・ファイルが、しばしば、低速の地上回線を介してストリーミングするため、非常に低いビットレート(56〜1000Kbps)で符号化される。
【0006】
ビデオの取込みの後、アーカイビング・プロセスにおける次のステップは、ビデオ・ライブラリ・カタログの中でそのビデオに関するエントリを作成することである。このエントリは、そのビデオに関係のある情報であるメタデータを含む。通常、放送事業者に固有であるビデオ・カタログ・レコードの内容および形式により、放送事業者のビデオ・ライブラリの中でビデオ・クリップを探索し、取り出すことが容易になる。現在、音声認識技術を介して獲得される、クローズドキャプション・テキストおよび実際のオーディオ・プログラムのテキストなどのメタデータを、MPEG−1ビデオ・ファイルまたはMPEG−2ビデオ・ファイルから自動的に抽出する市販のビデオ・カタログ・アプリケーション(カタロガ)が存在する。さらに、カタロガは、シーン変化分析を行い、各カット後または主要なシーン遷移後の第1のフレームのビットマップを作成することにより、ビデオからメタデータを抽出する。個々に「サムネール」、または集合で「ストーリーボード」と呼ばれるこのビットマップは、エンド・ユーザが、ビデオ内容を非常に迅速に判別することができるようにするので、必要不可欠なメタデータと考えられている。ストーリーボードがないと、エンド・ユーザは、ビデオを見て、または最低でも、ビデオを早送りして所望のビデオ・セグメントを探し出すことを余儀なくされる。
【0007】
ビデオ・カタログ・アプリケーションの一般的な機能として、エンド・ユーザは、カタログ・レコードまたはメタデータを見る際、任意のサムネール上でダブル・クリックすることによってプロキシ・ファイルを再生することができる。アプリケーションのウインドウ内にネスト化されたMPEGプレーヤが、サムネールに関連するタイムコードからビデオの再生を開始する。プレーヤは、ストリーミング・ビデオ・サーバにプレイ・フロム・オフセット(play−from−offset)要求を送ることによってこの機能を行う。MPEG構文の限界のため、グループ・オブ・ピクチャーズ(GOP)ヘッダ・レベルにおいてだけ、ビデオにランダムにアクセスすることができる。より具体的には、ランダムに再生を開始するため、MPEGファイルの中で、プレーヤは、パック・ヘッダを復号化してシステム・タイミングを獲得し、システム・ヘッダを復号化してオーディオ・ストリームおよびビデオ・ストリームを特定し、シーケンス・ヘッダを復号化してビデオ形式を構文解析し、シーケンス拡張子を復号化してさらなるビデオ形式情報を求め、またGOPヘッダを復号化して「I」フレームで復号化を開始しなければならない。
【0008】
他のブロック・ベースの圧縮アルゴリズムとは異なり、MPEGにおけるフレーム・サイズは、可変であり、したがって、フレームは、ファイルを順次に読み取ることによって探し出さなければならない。プレイ・フロム・オフセット機能を実施するため、MPEGプレーヤは、一般に、多重ビットレートに基づくおおよその計算を行わなければならない。例えば、8Mbpsビデオのオフセット00:00:10:15(15フレーム、10秒)で再生を開始するため、プレーヤは、以下の公式を使用する。
【数1】
Figure 2004509580
Figure 2004509580
【0009】
上記の公式は、単に近似であり、またプレーヤは、GOP境界がどこにあるのかについて知識を有していないので、プレーヤは、再生が、目標フレームの前で開始されるのを確実にするため、上記の結果から数バイトを恣意的に引く。この粗雑な方法は、符号器が、完全な誤りのないビデオ・フレームを構成することができるまでに、最高で15フレームの壊れたビデオが再生される可能性があるので、見た目がよくない。さらに、この公式は、ビデオが、一定のビットレートで圧縮されたものと想定している。可変ビットレート圧縮方式が使用された場合、ビットレート、ファイル・サイズ、およびビデオ持続時間の間に相関が存在しない。
【0010】
プレイ・フロム・オフセットを実施する別の従来の技術は、ビデオ・サーバが、ビデオの中の各GOPのオフセットを含む索引ファイルを構築することである。次に、プレーヤが、ストリーミング・サーバに時間オフセットを渡し、サーバは、テーブル・ルックアップを行ってファイル・バイト・オフセットを決定する。この方法の欠点は、サーバが、各ビデオに関して追加のファイルを構築し、管理しなければならないことである。ビデオMPEGファイルが、ニア・ライン・テープ記憶装置に移動された場合、両方のファイルをテープに書き込み、またテープから復元しなければならない。これは、負荷バランシングを保つため、またはビデオ・ファイルを他のコンテンツ・プロバイダからインポートするために一般に行われるビデオのサーバ間転送も複雑にする。
【0011】
プレイ・フロム・オフセットのサーバ・ベースの実施が抱えるさらに別の問題は、ユーザによって要求されたフレームが、GOP境界と一致しない可能性が極めて高いことに起因して生じる。プレーヤは、タイムコードの開始フレームについて知識を有しておらず、したがって、GOPの第1のフレームのところでキューを出し、エンド・ユーザは、意図するフレームまでシングル・ステップを行うことを余儀なくされる。この挙動は、放送ビデオ業界にとって許容することができない。非線形ビデオ・デバイスが、最小の遅延で目標フレームのところでキューを出すものと予期される。
【0012】
【発明が解決しようとする課題】
したがって、既存のMPEGビデオ・ファイルの中にファイル索引情報を自動的に挿入して、MPEGプレーヤが、正確なプレイ・フロム・オフセット機能のためにGOP SMPTEタイムコードおよびファイル・オフセットの先験的な知識を有するようにするためのシステムおよび方法の必要性が存在する。このシステムおよび方法は、別個の索引ファイルを使用することなく、MPEGビデオ・ファイルが、任意の規格対応のMPEG復号化エンジンによって誤りなく復号化可能であることに変わりないのを確実にするように機能しなければならない。
【0013】
【課題を解決するための手段】
本発明の以上の目的およびその他の目的、特徴、ならびに利点は、いくつかの図面を参照する好ましい実施形態の以下の詳細な説明から明白となる。
【0014】
本発明の1つの好ましい実施形態は、プレイ・フロム・オフセット・モードでそれぞれの個別ビデオ・フレームに正確なフレームでランダム・アクセスするため、前に符号化済みのMPEGビデオ・ファイルの中に圧縮されたGOPオフセット・テーブルを自動的に挿入するための方法である。この方法は、MPEGビデオ・ファイルのすべてのビデオ・パケットの各GOPヘッダに関するエントリを有する圧縮されたGOPオフセット・テーブルを作成し、少なくとも1つのパディング・パケットとしてMPEGビデオ・ファイルの前にその圧縮されたGOPオフセット・テーブルを挿入することによってMPEGビデオ・ファイルを変更し、これにより、MPEGビデオ・ファイルのMPEG準拠および圧縮されたオーディオ/ビデオ・データを保つ。この方法は、GOPオフセット・テーブルに必要とされるパディング・パケットの数を推定し、これにより、1回の読取りにMPEGビデオ・ファイルの読取りを制限するステップをさらに有する。一部の圧縮されたGOPオフセット・テーブル・パディング・パケットには、システム・クロック基準(SCR)を有するパケット・ヘッダが先行する。パディング・パケットは、標準のPESヘッダ、オフセット・テーブル署名、開始タイムコード・フィールド、および開始GOPアドレス・フィールドをさらに有する。
【0015】
各GOPヘッダ・エントリは、前のGOPの中のフレーム数に関するフィールド、およびそのGOPヘッダに対応するパケット・ヘッダのオフセット・アドレスを有するGOPアドレス・オフセットに関するフィールドをさらに有する。以上のフィールドは、GOPオフセット・テーブルを復号化するのに先立ってMPEG復号器クロックを同期しなおすため、また各GOPヘッダ・エントリのフレーム数およびアドレス・オフセットをそれぞれ、開始タイムコードおよび開始GOPアドレスに加えることにより、圧縮解除中および復号化中に各GOPヘッダのタイムコードおよびアドレス・オフセットを再構成し、これにより、プレイ・フロム・オフセット・モードでそれぞれ個別ビデオ・フレームのランダム・アクセスを可能にするために使用する。この方法は、適切なシステム・タイミングを維持するため、GOPオフセット・テーブル挿入後、SCRの時間を戻すように調整するステップをさらに有する。
【0016】
本発明の別の好ましい実施形態は、本発明の前述した方法の実施形態を実施する装置である。
【0017】
本発明のさらに別の好ましい実施形態は、本発明の前述した方法の実施形態の方法ステップを行うようにコンピュータによって実行可能な命令のプログラムを実体として実現するコンピュータによって読取り可能なプログラム記憶デバイスである。
【0018】
【発明の実施の形態】
好ましい実施形態の以下の説明では、この説明の一部を成す添付の図面を参照する。図面では、本発明を実施することができる特定の実施形態を例として示している。本発明の範囲を逸脱することなく、他の実施形態を利用することができ、また構造上および機能上の変更を加えることができることを理解されたい。
【0019】
本発明は、MPEG−1ビデオ・ファイルまたはMPEG−2ビデオ・ファイルを処理して、完全なMPEG準拠を保ちながら、元の圧縮済みビデオ/オーディオ・データを変更または改変することなく、正確なプレイ・フロム・オフセット機能のために、GOP SMPTEタイムコードおよびGOPバイト・オフセットを含むGOPオフセット・テーブルの形態でファイル索引情報を既存のMPEGファイルに自動的に挿入し、放送事業者の通常の取込み手続きおよびカタログ作成手続きが、変わらないままであるようにするための方法、プログラム記憶デバイス、およびシステムを対象とする。本発明は、MPEG符号器/復号器の製造業者に関係なく、あらゆる既存の規格対応のMPEG−1システム・ストリーム、MPEG−2プログラム・ストリームまたはMPEG−2トランスポート・ストリームにGOPオフセット・テーブルを挿入することができる。
【0020】
さらに、本発明の好ましい実施形態は、GOPオフセット・テーブルの存在を、GOPオフセット・テーブルを抽出することができるようにされていないMPEG復号器にとってトランスペアレントであるようにし、変更されたMPEGファイルの長さおよび再生遅延の増加を最小限に抑えることができる。好ましい実施形態は、遠隔通信網を介してMPEGビデオをストリーミングしている間に導入されたビット誤りを検出し、この誤りから回復することができ、またMPEGビデオ・ファイルを効率的に処理することができ、ファイルの1回の読取りだけしか必要としない。さらに、好ましい実施形態は、別個の索引ファイルを使用することなく、MPEGビデオ・ファイルが、任意の規格準拠のMPEG復号器エンジンによって誤りなく復号化可能であることに変わりがないのを確実にするように機能する。
【0021】
図1は、従来技術による従来のビデオ取込み/カタログ作成システムを示す図である。図1では、ビデオ・テープレコーダ100が、符号化のためのソース・ビデオを提供する。取込み/カタログ・アプリケーション125が、高解像度ビデオ・ファイルおよび2つのプロキシを生成する3つのMPEG符号器105、115、120を並列で制御する。高解像度MPEG符号器105は、放送ビデオ・サーバ110と統合されている。取込み/カタログ・アプリケーション125が、MPEGファイル128および関連するメタデータ135を作成すると、ビデオ・ライブラリ・アプリケーション140を使用してビデオ・ライブラリ・カタログ130の中でカタログ・レコードが作成されるか、または更新される。ビデオ・ファイルのカタログ作成および索引付けにより、後の探索および取出しが可能になる。
【0022】
符号化が完了すると、圧縮済みファイルが、MPEG復号器/プレーヤ160へのファイルFTPストリーミングまたは等時性ストリーミングを行うことができるストリーミング・ビデオ・サーバ145上に移動される。すべてのビデオ内容が、長期記憶のためにテープ・ライブラリ/アーカイブ150にコピーされ、必要に応じて取り出される。エンド・ユーザは、カタログ探索エンジン155を介してビデオ・ライブラリ・カタログ130の中の内容を探し出す。探索クエリで戻された候補のカタログ・レコードが、カタロガ/メタデータ・ビューア165を使用して個々に検査される。完全なビデオ、またはビデオの任意の部分をMPEGプレーヤ160を介して見ることができる。
【0023】
図2は、本発明の好ましい実施形態によるビデオ取込み/カタログ作成システムを示す図である。本発明の方法およびシステムは、既存のMPEG−1ビデオ・ファイルまたはMPEG−2ビデオ・ファイルを処理し、GOPオフセット・テーブルをそのストリームの開始パケットとして挿入する。GOPオフセット・テーブルは、MPEGパディング・パケット(例えば、開始コード0xBEを有する)として挿入される。パディング・パケットは、通常、符号器によって作成されて、無関係の空のデータをストリームに埋め込んで一定のビットレートを維持する。パディング・パケットは、通常、MPEG復号器によって廃棄される。本発明は、この挿入されるGOPオフセット・テーブル・パディング・パケットに、そのGOPオフセット・テーブルを抽出することができるようにされたあらゆるMPEG復号器によって認識される署名で一意的にマークを付ける。
【0024】
GOPオフセット・テーブル・パディング・パケットは、MPEGストリームを再び多重化することなく、またプレゼンテーション・タイムスタンプ(PTS)、復号化タイムスタンプ(DTS)、システム・クロック基準(SCR)、または元のビデオ・ファイルの他のどのMPEGデータ構造も変更することなく挿入される。もたらされるビデオ・ファイルは、完全にMPEG準拠のままであり、挿入されたGOPオフセット・テーブルは、他のMPEGハードウェア復号器またはMPEGソフトウェア復号器の動作に全く悪影響を与えない。このGOPオフセット・テーブル挿入技術は、符号器ベンダに依存することなく、あらゆるMPEG準拠のプログラム・ストリーム・ファイルまたはMPEG準拠のトランスポート・ストリーム・ファイルに対して機能する。
【0025】
ファイルが、関連するMPEGプレーヤによって復号化されたとき、GOPオフセット・テーブルが、抽出され、そのファイルが、アクティブなビデオでありつづける期間中、メモリの中に記憶される。ビデオ・ロケーションのランダムなジャンプがユーザによって命令されたとき、プレーヤは、GOPオフセット・テーブルの中に記憶されたタイムコードを参照する効率的な2進探索を使用して、最も近接した先行するGOPヘッダを探し出す。ビデオの等時性ストリーミングが、ビデオ・サーバによって行われている場合、プレーヤは、目標GOPヘッダのアドレスをサーバに送り、サーバは、現行ファイル読取りポインタを更新して、ビデオ・ストリームをリスタートする。プレーヤは、ローカルで記憶されたMPEGファイルを復号化している場合、対応するファイル読取りポインタが、自ら更新されるようにする。
【0026】
本発明は、GOP索引付けデータを含む別個のファイルを作成し、管理する必要性を除外することで、従来技術に優る利点を提供する。埋め込まれたGOPオフセット・テーブルは、ビデオ・アーカイブの中に常駐するプロキシ・ビデオ・ファイルの永久的部分となる。さらなる利点が、MPEGサーバ・ソフトウェアを変更する必要性が回避されることから得られる。
【0027】
次に、図2を参照すると、2つの低解像度符号器205、210によって生成されたプロキシ・ファイルが、別個のマシン265のハード・ドライブ260上に記憶されて、本発明の好ましい実施形態によるGOPオフセット挿入アプリケーション(GOTIA)265によって処理される。GOTIA265の起動は、符号化作業が完了したという取込み/カタログ作成アプリケーション230からの通知が受け取られたとき、ワークフロー・マネージャ235によって自動的にトリガされる。取込み/カタログ作成アプリケーション230が、ジョブ完了をワークフロー・マネージャ235に通知すると、ワークフロー・マネージャは、GOTIA265を起動し、GOTIA265は、GOPオフセット・テーブル・パケットをMPEGビデオ・ファイルに付加し、次に、変更されたMPEGファイル258をストリーミング・ビデオ・サーバ250にコピーする。
【0028】
また、図2は、符号化のためにソース・ビデオを提供するビデオ・テープレコーダ200も示している。取込み/カタログ作成アプリケーション230は、高解像度のビデオ・ファイルおよび2つのプロキシを生成する3つのMPEG符号器205、215、210を並列に制御する。高解像度MPEG符号器215は、放送で再生を行うために放送ビデオ・サーバ220に統合される。取込み/カタログ作成アプリケーション230がメタデータ・ファイル245を作成すると、ビデオ・ライブラリ・カタログ240の中でカタログ・レコードが、ビデオ・ライブラリ・アプリケーション255を使用して作成されるか、または更新される。ビデオ・ファイルのカタログ作成および索引付けにより、後の探索および取出しが可能になる。
【0029】
符号器205からの完全なプロキシ・ビデオ・ファイル、またはこのファイルの任意の部分、ならびに取り出されたカタログ・レコードおよび探索クエリで戻されたメタデータをMPEGプレーヤ−メタデータ・ビューア275を介して見ることができ、MPEGプレーヤ−メタデータ・ビューア275は、プレイ・アット・オフセット(play−at−offset)要求をストリーミング・ビデオ・サーバ250に送ることができる。また、図2のシステムは、Webブラウザ1MPEGプレーヤ・プラグイン270も組み込むことができ、プラグイン270は、プレイ・アット・オフセット要求をストリーミング・ビデオ・サーバ250に送り、サーバ250から、もともとプロキシ符号器210によって符号化されたストリーミング・ビデオを受け取ることができる。
【0030】
図3は、本発明に従って再フォーマットされ、本発明の好ましい実施形態に従って挿入されたGOPオフセット・テーブル340を有するオーディオ・パケット305、ビデオ・パケット310、およびパディング・パケット315、およびMPEGビデオ・ファイル308を伴う、元に符号化されたとおりのMPEGファイル300のフォーマットを示している。したがって、図3は、GOPオフセット・テーブル340挿入の前と後のMPEGファイル形式を高レベルでスケーリングなしに示している。GOPオフセット・テーブル340は、一続きのGOPオフセット・テーブル・パディング・パケット345、350としてMPEGファイル308の先頭に付加され、MPEGプレーヤが、メモリ(図示せず)の中で、ビデオ再生の開始前にGOPオフセット・テーブル340全体を構築することができるようになる。GOPオフセット・テーブル340は、復号器によって通常、廃棄されることになるパディング・パケット345、350の中に組み込まれる。ただし、GOPオフセット・テーブル・パディング・パケット345、350は、パケット345、350を他のパディング・パケット365と区別して一義化する識別オフセット・テーブル署名、ならびにGOPオフセット・テーブル340を有するパディング・パケットのシーケンス全体が生成されたとき、GOPオフセット・テーブル・パディング・パケット345、350の最後のパケットを知らせるようにリセットされるパディング・パケット順序番号を含む。
【0031】
また、パディング・パケット345、350は、ビット誤り検出のための32ビット・チェックサムも含む。誤りが検出された場合、MPEGプレーヤは、サーバに再生を再要求して、GOPオフセット・テーブル340を有するMPEGビデオ・ファイル308を最小の遅延で再伝送させるオプションを有する。GOPオフセット・テーブルは、MPEGプレーヤのメモリの中で構築されると、ビデオが、始まりからリスタートされた場合でも、MPEGプレーヤの中で再構築されない。別のMPEGビデオ・ファイルのロードだけによって、GOPオフセット・テーブルが、廃棄され、再構築されることが生じる。
【0032】
図3で見られるとおり、GOPオフセット・テーブル340は、元のMPEGファイルの先頭に配置される一続きのMPEGパディング・パケット345、350として符号化される。MPEG準拠を維持し、適切な復号化を容易にするため、ファイル308は、パケット・ヘッダ320およびシステム・ヘッダ325で開始する。パディング・パケット・ヘッダ330、348が、一部の、またはすべてのGOPオフセット・テーブル・パディング・パケット345、350の直前に配置される。プログラム基本ストリーム(PES)ヘッダ335、349が、各GOPオフセット・テーブル・パディング・パケット345、350の先頭に配置される。それぞれの新たに作成されたファイル・パケット・ヘッダ(320、330、348)に含まれるシステム・クロック基準(SCR)が、時間を戻すように調整されて、適切なシステム・タイミングが維持される。処理されたMPEGビデオ・ファイル308の残りの部分は、元のMPEGビデオ・ファイル300と同じオーディオ・パケット355およびビデオ・パケット360を有する。
【0033】
好ましい実施形態では、各GOPオフセット・テーブル・パディング・パケット345、350が、2480バイトのサイズに設定されて、最高で800の圧縮されたオフセット・テーブルの3バイト・エントリがバッファに入れられるが、各パケット345、350は、異なる値を有することも可能である。これは、15ピクチャのGOP長の場合、6分40秒のビデオ時間になる。3Mbpsのストリーミング・ビットレートを想定すると、単一のオフセット・テーブル・パディング・パケット345、350により、ビデオ・ダウンロード時間は、6.6ミリ秒だけ長くなる。したがって、20分間のビデオの開始が、20ミリ秒より短い時間だけ遅延される。
【0034】
図4は、本発明の好ましい実施形態によるGOPオフセット・テーブル情報を符号化し、伝送するのに使用される圧縮されたGOPオフセット・テーブル・パディング・パケット345、350のデータ構造を示している。第1に、このデータ構造は、パディング開始コード400、パケットPES長405、およびヘッダ終了マーカ410から成る従来のプログラム基本ストリーム(PES)ヘッダ335、349を有する。標準のPESヘッダの後に続いて、本発明の図4の圧縮されたGOPオフセット・テーブル・パディング・パケットは、以下のものをさらに含む。すなわち、パディング・パケット順序番号415、オフセット・テーブル署名420、このパディング・パケットの中のGOPオフセット・テーブル・エントリの数を含むフィールド425、フラグ・フィールド430、高解像度デルタ・フィールド435、開始タイムコード・フィールド440、および開始GOPアドレス・フィールド445である。圧縮されたGOPオフセット・テーブル・パディング・パケットは、図4で示すとおり、圧縮されたGOPオフセット・テーブル450、およびチェックサム・フィールド455をさらに有する。
【0035】
オフセット・テーブル署名420は、GOPオフセット・テーブル・パディング・パケット345、350を、復号器によって通常、廃棄される普通のパディング・パケット365から区別して一義化する4バイトの固有署名である。パディング・パケット順序番号415が提供されて、復号器が、欠落しているGOPオフセット・テーブル・パディング・パケット345、350を検出できるようにし、またゼロの順序番号が与えられている最後のGOPオフセット・テーブル・パディング・パケットを知らせる。同様に、32ビットのチェックサム・フィールド455により、復号器が、パディング・パケット・ビット誤りを検出することができるようになる。誤りがあった場合、本発明では、復号器が、MPEGファイルを読み取る新しい要求をサーバに発行して、誤りのあったGOPオフセット・テーブル・パディング・パケットを最小の遅延で再伝送させる。また、本発明により、誤ったパケットを、GOPオフセット・テーブル340の残りの部分に影響を与えることなく廃棄することが可能になる。ただし、廃棄されたパケットは、GOPオフセット・テーブル340の中に「穴」を生じさせ、これにより、欠落しているタイムコードのどれかにクエリが行われた場合、誤ったGOPオフセットがもたらされる。
【0036】
また、図4は、GOPオフセット・テーブル・パディング・パケット345、350の長さを最小化するように3バイトに圧縮された圧縮済みGOPオフセット・テーブル・エントリ450も有する。それぞれのそのようなエントリ450が、ビデオ・パケットの中の1つのGOPヘッダを表し、図4で示すとおり、次の2つのフィールドを有する。すなわち、前のGOP460の中のフレーム数を示すフィールド、および最後のパケット・ヘッダ・アドレスから、前のGOPに関してテーブル・エントリ450の中で見出された前のパケット・ヘッダ・アドレスを引くことによって計算されたアドレス・オフセットを有するGOPアドレス・オフセットの20ビットのフィールドである。各パディング・パケットが、MPEG復号器によって圧縮解除されると、復号器は、各GOPエントリのフレーム数460およびアドレス・オフセット465をそれぞれ、開始タイムコード440および開始GOPアドレス445に足すことにより、各GOPのタイムコードおよびアドレス・オフセットを再構成することができる。各GOPタイムコードおよびGOPアドレス・オフセットに関するこれらの合計が、メモリの中に一時的な変数として保存される。
【0037】
(MPEGファイルの分析および処理)
図5は、本発明の好ましい実施形態によるGOPオフセット・テーブル挿入アプリケーションのメイン・ソフトウェア・ルーチンの論理を示す流れ図である。ステップ500で、MPEGビデオ・ファイルを開いた後、ステップ505で、アプリケーションは、図6のMPEGファイル分析ルーチンを呼び出して、フレームおよびGOPヘッダの数を推定するため、また元のMPEGビデオ・ファイルの第1のパケット・ヘッダおよびシステム・ヘッダのコピーを保存するため、元のビデオ・ファイルの最初の10秒間を分析する。図6で、最初に見出されたパケット・ヘッダが、ステップ600で復号化され、ステップ605で、ストリーム多重ビットレートが抽出される。ステップ610で、パケット・ヘッダが、またステップ615で、システム・ヘッダがともに、コピーされ、後の使用のためにメモリの中に記憶される。ステップ605で獲得された多重ビットレートを使用して、ビデオ・ファイルの中のビデオ・フレームの数(フレーム・カウント)が、ファイル・サイズをビットレートで割ることによってステップ620で推定される。ステップ625で、ビデオの最初の20秒が分析されて最大GOP長が判定され、またGOP長が、可変であるか、または固定であるかが判定される。ステップ630で、GOP長が可変であることが判明した場合、最大GOP長は、ステップ660で、2フレームだけ短縮されてから、ステップ635で、ファイルの中のGOPの数が推定される。この数は、ビデオ・フレームの数(フレーム・カウント)をGOP長で割ることによって計算される。GOPの数は、推定された後、ステップ640で、800で割られて、GOPオフセット・テーブル・エントリをバッファに入れるのに必要とされるパディング・パケットの数が計算される。剰余が、600以上である場合、ステップ665でカウントが、1だけ増分されて安全マージンが提供される。ルーチンは、ステップ650で、GOPオフセット・テーブルの推定の合計サイズを計算することで終了し、ステップ655で、メイン・アプリケーション・ルーチンに戻る。GOPオフセット・テーブルの推定の合計サイズは、各GOPオフセット・テーブル・パディング・パケット・サイズ(2480)をパケット・ヘッダ・サイズに加え、この合計にパディング・パケット・カウンタを掛けたものをパケット・ヘッダ・サイズおよびシステム・ヘッダ・サイズに足すことによって計算される。パケット・ヘッダ320およびシステム・ヘッダ325は、MPEGファイルの先頭に挿入され、これにより、MPEG復号器が、ファイルをMPEGプログラム・ストリームとして適切に識別することができるようになる。次に、パケット・ヘッダ330、348が、各GOPオフセット・テーブル・パディング・パケット345、350の先頭の前に挿入される。各PESヘッダ335、349は、それぞれのパディング・パケットの一部分と見なされる。
【0038】
アプリケーション・パフォーマンスを最大限に高めるため、本発明は、MPEGビデオ・ファイルを一回限り読み取る。ファイル読取りを1回の読取りに制限するため、再処理されたMPEGファイルの中で十分なストレージをGOPオフセット・テーブル・パディング・パケットに割り振るようにGOPの数を推定しなければならない。最大GOP長がフレーム数に分割される前に引かれる2フレームは、割り振られたGOPオフセット・テーブル・ストレージを超過することに対する妥当な安全マージンを提供する。実験で引き出された値であるGOPの実際の数が、推定された値を大幅に超えた場合、GOTIAは、MPEGビデオ・ファイルの現在の処理を打ち切り、より大きいGOPカウント推定値でリスタートする。
【0039】
次に、図5を参照すると、MPEGファイルを分析した後、図7および8のMPEGファイル処理ルーチンが、ステップ510で呼び出されて、各GOPのアドレス・オフセットおよびサイズが抽出され、GOPアドレス・オフセット・エントリのアレイがコンパイルされる。図9は、GOPオフセット・テーブルの未圧縮のバージョンを示している。GOTIAが、MPEGファイルを構文解析しながらこのテーブルを構築して、一時的なデータ構造としてメモリの中に記憶する。MPEGファイルが完全に構文解析された後、このテーブルが、パディング・パケットの中に記憶される図4の圧縮されたGOPオフセット・テーブルを構築するのに使用される。MPEG復号器は、MPEGストリームからパディング・パケットを抽出したとき、GOPオフセット・テーブルを圧縮解除し、これにより、GOPオフセット・テーブルの元のバージョンを再現して、メモリの中に記憶する。図9の構造は、GOPオフセット・テーブルを適切に再構成するため図4の圧縮されたGOPオフセット・テーブル・パディング・パケットのフィールド430を介してMPEGプレーヤに渡される1組のフラグ800を保持する。
【0040】
図7および8を参照すると、ルーチンが、ステップ700で、処理され、変更されたMPEGファイルを記憶するためのファイルを作成し、GOPオフセット・テーブル・パケットに割り振られた区域を越えたところに書込みポインタを設定することで開始する。次に、論理は、ステップ702でループに入ってMPEGファイルの各パケットを処理する。オーディオ・パケットおよびビデオ・パケットに加えて、さらなる処理なしにステップ706で検出され、ファイルに書き込まれる種々のシステム・パケットおよびパディング・パケットが存在する。ステップ704で、ファイルが、順次に復号化されて、各MPEGビデオ・パケット開始コードが探し出され、処理される。ステップ708で、開始コードが、ビデオ・シーケンス・ヘッダ370であることが判明した場合、ビデオ・フレーム速度が、ステップ712で抽出され、ステップ716で記憶されて、図9の未圧縮のGOPオフセット・テーブルの中で秒フラグ当り30フレーム825、または秒フラグ当り25フレーム835に設定される。さらに、ビデオ・シーケンス・パケットが、ドロップ・モード・フレーム・カウントを示す場合、それに応じてドロップ・フレーム・フラグ820が設定される。
【0041】
ステップ716でフレーム速度が記憶された後、ステップ706で、パケット・データが、処理されたMPEGファイルに書き出され、ループが反復される。ステップ720で、ピクチャ開始ヘッダが見出されたとき、ステップ724で、ピクチャ・カウントが増分され、ステップ728で、SMPTEタイムコード・フレーム・カウントが増分される。両方の値が、一時的な変数としてメモリの中に記憶される。次に、ステップ706で、MPEGパケット・データが、処理されたMPEGファイルに書き込まれ、ループが継続する。パケット・ヘッダが、ステップ732で見出されたとき、図6のステップ650で獲得された推定のオフセット・テーブル・サイズが、ステップ736でパケット・ヘッダ・アドレスに加算され、ステップ740で、結果が、最後のパケット・ヘッダ・アドレスとしてメモリの中の一時的な変数に保存される。次のGOPヘッダが最終的に見出されたとき、ステップ780で、最終のパケット・ヘッダ・アドレスは、一時的な未圧縮のGOPオフセット・テーブルの関連するGOPアドレス・オフセット・フィールド865の中に記憶される。実際のGOPヘッダ・アドレスの代わりに最終のパケット・ヘッダ・アドレスが記録されるのは、MPEG復号器が、GOPオフセット・テーブルを復号化するのに先立って自らのクロックを同期しなおすことができるようにするためである。次に、ステップ706で、パケット・データが、処理されたMPEGファイルに書き込まれ、ループが継続する。
【0042】
ステップ744で見出された現在の開始コードが、GOPヘッダではない場合、ステップ706で、パケット・データが、処理されたMPEGファイルに書き込まれ、ループが継続する。GOPヘッダである場合、そのGOPヘッダに含まれるタイムコードに対して一連の試験が行われる。ステップ748で、タイムコードが全く見出されない場合、図9の「No TC」フラグ845が、ステップ752で設定される。タイムコードは、存在する場合、ステップ756で連続性に関して試験され、ステップ764で増分に関して試験される。どちらかの試験に不合格であった場合、それぞれステップ760、768で、図9の「非連続TC」840フラグおよび/または「非増分TC」850フラグが設定される。すべてのケースで、論理は、ステップ772に進み、GOPヘッダから抽出されたタイムコードが、フィールド855の中に記憶され、またステップ776で、前のGOPに含まれるフレームのカウントが、ステップ724で、メモリの中に保存された変数から、図9の一時的な未圧縮のGOPオフセット・テーブルのフィールド860の中に復元される。GOPオフセット・テーブル・フィールド・エントリは、一時的な変数として保持される最後のパケット・ヘッダ・アドレスを図9のフィールド865の中に記憶することによってステップ780で完了する。次に、ステップ784で、ピクチャ・カウント変数がゼロにされ、ステップ788で、GOPオフセット・エントリ810の数が増分され、ステップ706で、パケット・データが、処理されたMPEGファイルに書き込まれる。ループは、MPEGファイルの中の各パケットを処理し、ステップ702で元のMPEGファイルの終端に達したときにエグジットして、その時点で、サブルーチンが、ステップ792で、図5のメイン・アプリケーション・ルーチンに制御を戻す。
【0043】
(GOPオフセット・テーブル・パケット作成)
図9の未圧縮GOPオフセット・テーブルが、構築された後、図5のメイン・ルーチンが、ステップ515で、図10および11のサブルーチンを呼び出して圧縮されたGOPオフセット・テーブル・パディング・パケットをフォーマットする。図10および11で示すとおり、サブルーチンは、ステップ900でループに入って、図4で描いた圧縮されたオフセット・テーブル・パケット形式に従って図9のすべての記録されたGOPオフセット・テーブル・エントリを圧縮し、パケット化する。ステップ904で、残りのGOPオフセット・テーブル・エントリの数が、800を超えることが判明した場合、ステップ908で、GOPオフセット・テーブル・エントリの数425が、800に設定され、ステップ912で、残りのエントリの数が、800だけ減らされる。800を超えていない場合、エントリの数425は、ステップ916で残りのGOPオフセット・テーブル・エントリの数に設定され、ステップ918で、残りのGOTエントリの数がクリアされる。論理は、ステップ920で、PESヘッダ400、405、410を構築し、ステップ924で、署名420を挿入し、またステップ928で、パケット順序番号415を増分することに進む。次に、ステップ932で、2次ループに入り、圧縮されたGOPオフセット・エントリでパディング・パケットが埋められる。ステップ944で、第1のエントリが処理される際、ステップ936で、GOPタイムコード855が、図4のパディング・パケットの中に、フィールド440の中で開始タイムコードとして記憶される。このパディング・パケットの中のすべてのGOPオフセット・テーブル・エントリは、タイムコードが、開始タイムコード440からのオフセットとして、フレーム数460で符号化されている。ステップ940で、第1のGOPアドレス・オフセット865が、開始アドレス・オフセットとしてフィールド445の中に記憶される。このパディング・パケットの中の他のすべての圧縮されたオフセット・テーブル・エントリ450は、GOPアドレス・オフセット465が、前のGOPに関するテーブル・エントリ865の中で見出された前のGOPアドレス・オフセット865からこのGOPアドレス・オフセット865を引くことによってオフセットとして計算される。
【0044】
次に、GOPオフセット・テーブル・エントリ450のそれぞれが、ステップ948で行われる圧縮によって3バイトのGOPオフセット・テーブル・エントリとして構築される。すべてのエントリが処理されたとき、ループは、ステップ932で「いいえ」の条件でエグジットし、図7および8の処理したMPEGファイル・ルーチンで設定されたヘッダ・フラグ800が、ステップ952で、図4のフラグ・フィールド430の中に記憶される。ステップ956で、最後のパケットがフォーマットされている場合、ステップ960で、パディング・パケット順序番号415がクリアされる。パケットの構築は、ステップ964でパケット・チェックサム455を計算し、記憶し、ステップ968で、メモリの中に一時的な変数として保存されるパディング・パケット・カウントを増分することによって完了する。
【0045】
900で開始する1次ループは、GOPオフセット・テーブル・エントリのすべてがパケット化されたとき、「いいえ」の条件でエグジットする。パディング・パケットを処理されたMPEGファイルに書き込む前に、ステップ972で、GOPオフセット・テーブル・パディング・パケットの実際の数が、このパケットのために確保されているストレージの量を超えているかどうかを判定する検査が行われる。「はい」である場合、ステップ984で、GOTIAが、GOPヘッダの実際の数でリスタートされる。GOPパケットの数が、推定よりも少ない場合、論理は、ステップ976で、ループに入り、このループは、ステップ980で、ダミー・パディング・パケットを追加してGOPオフセット・テーブルを埋める。ステップ976の「いいえ」の条件である、パケットの数が、推定された数に等しい場合、ステップ988で、サブルーチンは、図5のメイン・ルーチンに戻る。
【0046】
(GOPオフセット・テーブル挿入)
再び図5に戻ると、ステップ520で、図12のGOPオフセット・テーブル・パディング・パケット挿入サブルーチンが呼び出されて、GOPオフセット・テーブルを有するパディング・パケットが、処理されたMPEGファイルに書き出される。次に、図12を参照すると、処理されたMPEGファイルの書込みポインタが、ステップ1000でゼロにリセットされ、図6のステップ610および615で保存されたパケット・ヘッダおよびシステム・ヘッダが、ステップ1005でファイルに書き込まれる。ステップ1010で、パケット・ヘッダ、システム・ヘッダ、およびGOPオフセット・テーブルの遅延が、パケット・ヘッダとシステム・ヘッダとすべてのパディング・パケットのサイズを合計し、結果をストリーム多重速度で割ることによって計算される。この結果が、90kHzクロック・サイクルの等価の数に変換され、ステップ1015で、パケット・ヘッダに含まれるSCRから引かれる。各パディング・パケットを通るループは、ステップ1020で開始する。現在のパディング・パケットおよび後続のパディング・パケットに関して被る遅延が、ステップ1025で計算され、ステップ1030で、前のパケット・ヘッダのSCRから引かれる。ステップ1025で、パディング・パケット・サイズは、PESヘッダを含む。低い開始SCR値を有するMPEGストリームの場合、この減算により、33ビットのSCRレジスタのアンダーフローがもたらされ、モジュロ加算のさらなる演算が必要とされる。次にステップ1035で、パケット・ヘッダとパディング・パケットがともに、ファイルに書き込まれ、ステップ1040で、パケット・カウントが減分される。パディング・パケットが全く残っていないとき、ループは、ステップ1020で、「いいえ」の条件でエグジットし、ステップ1045で、処理されたMPEGファイルが閉じられ、またステップ1050で、サブルーチンが、図5の呼出し元に戻る。次に、ステップ525で、図5のメイン・ルーチンが終了し、アプリケーションが停止される。
【0047】
図13および14は、本発明の好ましい実施形態による着信するMPEGストリームからGOPオフセット・テーブルを抽出するためにMPEGプレーヤによって使用されるソフトウェア・ルーチンの論理フローを示している。ファイルが受け取られるにつれ、GOPオフセット・テーブルが、MPEG復号器/プレーヤによって抽出され、次に、圧縮解除されて、API起動を介してあらゆるアプリケーションが参照することのできるグローバルGOPオフセット・テーブルの中に記憶される。例えば、グローバルGOPオフセット・テーブルは、ビデオ・ライブラリ・アプリケーションに含まれるEDLビルダ・アプリケーションおよびカタロガ・アプリケーションによって参照されることが可能である。圧縮解除されたGOPオフセット・テーブル・データ構造は、図9で示したテーブルと同一である。
【0048】
図13および14によれば、ルーチンは、ステップ1100で即時にループに入り、ファイルが受け取られるにつれて各パケットを処理する。ステップ1105で、各開始コードが復号化され、ステップ1110で検査されて、パケットが、ビデオ・パケットまたはオーディオ・パケットであるかが調べられる。「はい」である場合、ステップ1190で、サブルーチンは戻る。というのは、オーディオ・パケットまたはビデオ・パケットの存在により、回復すべきGOPオフセット・テーブル・パディング・パケットがそれ以上存在しないことが示されるからである。パケットが、パディング・パケットではない場合、ステップ1115に従って、ループは、「いいえ」の条件を介して反復してステップ1100に戻る。そうではない場合、パケットは、パディング・パケットであり、パケットは、ステップ1120で署名に関して試験され、またステップ1125で、チェックサムに関して試験される。どちらかの試験に不合格であった場合、ループは、反復してステップ1100に戻り、次のパケットを処理する。パディング・パケットが、両方の条件を満たす場合、ステップ1130で、フラグが抽出されて記憶され、論理は、ステップ1135で開始する2次ループに入り、各オフセット・テーブル・エントリを処理する。ステップ1140の第1の反復で、パディング・パケット・ヘッダから、ステップ1145で、開始タイムコードがロードされ、またステップ1150で、現在のパディング・パケットの中に符号化されているすべてのGOPヘッダに関する開始アドレス・オフセットがロードされる。両方が、それぞれの圧縮されたテーブル・エントリのタイムコードおよびアドレスを解決するのに使用される。ステップ1155および1160で、20ビットのアドレス・オフセットが、パケットから読み取られ、開始アドレスに加えられ、テーブルの中で64ビットのGOPアドレス・オフセットがもたらされる。ステップ1165および1170で、タイムコードも同様に処理されて、ステップ1145でロードされた開始タイムコードにフレーム数が加算される。タイムコードは、各GOPヘッダ・エントリに関してパディング・パケットの中に累積する。最後のエントリが圧縮解除されたとき、ステップ1135で「いいえ」の条件で、2次ループがエグジットし、ステップ1180で、オフセット・パディング・パケットが最終のものであるかどうかを判定する試験が行われる。「はい」である場合、完了フラグが、ステップ1185で設定され、ルーチンは、ステップ1190で戻る。そうではない場合、1次ループが、再び反復されてステップ1100に戻り、残りのオフセット・テーブル・パディング・パケットを扱う。
【0049】
(ビデオ製作者のMPEGプレーヤ/メタデータ・ビューア)
図15は、本発明の好ましい実施形態によるビデオ・カタログ作成のためにストリーム・ビデオおよびメタデータを表示するのにビデオ製作専門家によって使用されるMPEGプレーヤ−メタデータ・ビューア1200のグラフィカル・ユーザ・インターフェース(GUI)を示す図である。図15のビデオ製作者のMPEGプレーヤ−メタデータ・ビューアのレイアウトでは、VCRコントロール1202が提供され、ビデオ表示領域1210が、00:02:26:07という現在の位置で一時停止されたビデオを反映している。ウインドウの下部は、ビデオ・ライブラリ・アプリケーションから要求されたカタログ・レコードに関するカタログ・レコードのための表示領域1250を提供する。
【0050】
現在のフレームの相対タイムコード1215、絶対タイムコード1220、および持続時間1225が、表示される。また、ジャンプする先の所望のビデオ・クリップに関するインディケータ1235上に示されるタイムコードを選択するジャンプ先ボタン1230も存在する。ストーリーボード・サムネール表示ウインドウ1240の中に、12のサムネールが存在する。ダブル・クリックでハイライトされた第3の行1280の第3のサムネールが、09:17:45:17の絶対タイムコード1220から00:02:26:07のオフセットにある相対タイムコード1215からの再生をコマンドしている。
【0051】
エンド・ユーザが、MPEGファイルを見る要求を発行したとき、MPEGプレーヤは、ファイルを開き、オフセット0からストリーミングを開始する要求をビデオ・サーバに送る。これにより、ビデオ・サーバが、GOPオフセット・テーブルを含むパディング・パケットをストリーミングすることがもたらされ、MPEG復号器が、GOPオフセット・テーブルを構築することができるようになる。最後のGOPオフセット・テーブル・パディング・パケットが受け取られ、図9で定義したGOPオフセット・テーブルが完全に構築されると、プレーヤは、そのMPEGビデオ・ファイルの中の任意のフレームにランダムにアクセスすることができるようになる。
【0052】
エンド・ユーザが、インディケータ1235上に示されたオフセットを選択するジャンプ先ボタン1230を介してプレイ・フロム・オフセット要求を発行したとき、プレーヤは、ユーザによって要求されたタイムコードに先立つ第1のGOPヘッダからストリーミングを開始するプレイ・フロム・オフセット要求をビデオ・サーバに即時に送る。第1に、プレーヤは、GOPオフセット・テーブル・エントリ815のアレイを探索する2進探索を使用して、要求されたタイムコードをGOPオフセット・アドレスに変換しなければならない。要求されたタイムコードに関連するGOPオフセット・テーブル・エントリは、要求されたタイムコードをテーブルからの各GOPタイムコード855と比較することによって探し出される。関連するGOPオフセット・テーブル・エントリが見出されたとき、そのGOPアドレス・オフセット865が読み取られ、ビデオ・サーバに渡される。そのGOPタイムコード855が、要求されたタイムコードではない場合、プレーヤは、そのGOPタイムコード855を要求されたタイムコードから引いて、要求されたフレームでキューを出すためにスキップすべきビデオ・フレームの数を計算する。プレーヤは、フレームをスキップしている間、要求されたフレームに達するまでビデオ表示を抑止する。プレーヤは、ローカルで記憶されているMPEGファイルを復号化している場合、対応するファイル読取りポインタが、自ら更新されるようにする。
【0053】
ビデオが、ストリーミングを開始する前に、エンド・ユーザが、インディケータ1235上で示されるオフセットを選択するジャンプ先ボタン1230を介してプレイ・フロム・オフセットを発行した場合、プレーヤは、まず、プレイ・フロム・オフセット0要求をビデオ・サーバに発行する。これにより、ビデオ・サーバが、MPEG復号器がGOPオフセット・テーブルを構築することができるようにするGOPオフセット・テーブルを含むパディング・パケットをストリーミングすることがもたらされる。テーブルが構築されると、プレーヤは、要求されたタイムコードに先立つ第1のGOPヘッダからストリーミングを開始するプレイ・フロム・オフセット・コマンドをビデオ・サーバに即時に再発行する。
【0054】
本発明の好ましい実施形態の以上の説明は、例示および説明を目的として提供してきた。以上の説明は、すべてを網羅するもの、または本発明を開示した形態そのものに限定するものではない。以上の教示に鑑みて、多くの変更形態および変形形態が可能である。本発明の範囲は、以上の詳細な説明によってではなく、頭記の特許請求の範囲によって限定されるものとする。
【図面の簡単な説明】
【図1】
従来技術による従来のビデオ取込み/カタログ作成システムを示す図である。
【図2】
本発明の好ましい実施形態による既存のビデオ・カタログ作成システム内部におけるGOPオフセット・テーブル挿入アプリケーションの配置を示す図である。
【図3】
本発明の好ましい実施形態による元に符号化されたとおりの、GOPオフセット・テーブルが挿入されたMPEGファイルのフォーマットを示す図である。
【図4】
本発明の好ましい実施形態によるGOPオフセット・テーブル情報を符号化し、伝送するのに使用される圧縮されたGOPオフセット・テーブル・パディング・パケットのデータ構造を示す図である。
【図5】
本発明の好ましい実施形態によるGOPオフセット・テーブル挿入アプリケーションのメイン・ソフトウェア・ルーチンの論理を示す流れ図である。
【図6】
本発明の好ましい実施形態によるMPEGビデオ・ファイルを分析してフレーム・カウントおよびGOPカウントを推定するためのソフトウェア・ルーチンの論理を示す流れ図である。
【図7】
本発明の好ましい実施形態によるMPEGファイルを処理して各GOPのアドレス・オフセットおよびサイズを抽出するためのソフトウェア・ルーチンの論理を示す流れ図である。
【図8】
本発明の好ましい実施形態によるMPEGファイルを処理して各GOPのアドレス・オフセットおよびサイズを抽出するためのソフトウェア・ルーチンの論理を示す流れ図である。
【図9】
本発明の好ましい実施形態によるGOPオフセット・テーブル・データ構造を示す図である。
【図10】
本発明の好ましい実施形態によるGOPオフセット・テーブル情報を含む圧縮されたMPEGパケットをフォーマットするためのソフトウェア・ルーチンの論理を示す流れ図である。
【図11】
本発明の好ましい実施形態によるGOPオフセット・テーブル情報を含むMPEGパケットを圧縮するフォーマットするためのソフトウェア・ルーチンの論理を示す流れ図である。
【図12】
本発明の好ましい実施形態による既存の圧縮されたMPEGデータを乱すことなく、GOPオフセット・パケットをMPEGファイルに挿入するためのソフトウェア・ルーチンの論理を示す流れ図である。
【図13】
本発明の好ましい実施形態による着信するMPEGストリームからGOPオフセット・テーブルを抽出するためにMPEGプレーヤによって使用されるソフトウェア・ルーチンの論理を示す流れ図である。
【図14】
本発明の好ましい実施形態による着信するMPEGストリームからGOPオフセット・テーブルを抽出するためにMPEGプレーヤによって使用されるソフトウェア・ルーチンの論理を示す流れ図である。
【図15】
本発明の好ましい実施形態によるビデオ・カタログ作成のために使用されてストリーミング・ビデオおよびメタデータを表示するMPEGプレーヤ−カタロガのグラフィカル・ユーザ・インターフェース(GUI)を示す図である。

Claims (15)

  1. プレイ・フロム・オフセット(play−from−offset)モードでMPEGプレーヤ/復号器によってそれぞれの個別ビデオ・フレームに正確なフレームでランダム・アクセスするため、前に符号化済みのMPEGビデオ・ファイルの中に圧縮されたGOPオフセット・テーブルを自動的に挿入するための方法であって、
    (a)正確なGOPヘッダSMPTEタイムコードおよびGOPアドレス・オフセットを獲得するため、前記MPEGビデオ・ファイルのすべてのビデオ・パケットの各GOPヘッダに関するエントリを有する圧縮されたGOPオフセット・テーブルを作成するステップと、
    (b)前記MPEGビデオ・ファイルの前に少なくとも1つのパディング・パケットとして前記圧縮されたGOPオフセット・テーブルを挿入しながらも、前記MPEGビデオ・ファイルの元のフレーム・プレゼンテーションを維持し、これにより、前記MPEGビデオ・ファイルのMPEG準拠および圧縮されたオーディオ/ビデオ・データを保つことにより、前記MPEGビデオ・ファイルを変更するステップとを含む方法。
  2. 前記GOPオフセット・テーブルのために必要とされるパディング・パケットの数を推定し、これにより、前記MPEGビデオ・ファイルの読取りを1回の読取りに制限するステップをさらに含む請求項1に記載の方法。
  3. 少なくとも1つの圧縮されたGOPオフセット・テーブル・パディング・パケットにシステム・クロック基準(SCR)を有するパケット・ヘッダが先行する方法であって、
    前記パケットが、
    標準のPESヘッダと、
    オフセット・テーブル署名と、
    開始タイムコード・フィールドと、
    開始GOPアドレス・フィールドとをさらに含む請求項1に記載の方法。
  4. 前記GOPオフセット・テーブルの復号化に先立ってMPEGプレーヤ/復号器のクロックを同期しなおすため、また各GOPヘッダ・エントリのフレーム数およびアドレス・オフセットをそれぞれ、前記開始タイムコードおよび前記開始GOPアドレスに加算することによって前記MPEGプレーヤ/復号器による圧縮解除中および復号化中に各GOPヘッダのタイムコードおよびアドレス・オフセットを再構成するため、またプレイ・フロム・オフセット・モードでそれぞれの個別ビデオ・フレームにランダム・アクセスを可能にするため、各前記GOPヘッダ・エントリが、
    前のGOPの中のフレーム数に関するフィールドと、
    前記GOPヘッダに対応する前記パケット・ヘッダのオフセット・アドレスを有するGOPアドレス・オフセットに関するフィールドとをさらに含む請求項3に記載の方法。
  5. 前記GOPオフセット・テーブル挿入の後、適切なシステム・タイミングを維持するために前記SCRの時間を戻すように調整するステップをさらに含む請求項3に記載の方法。
  6. プレイ・フロム・オフセット・モードでMPEGプレーヤ/復号器によってそれぞれの個別ビデオ・フレームに正確なフレームでランダム・アクセスするため、前に符号化済みのMPEGビデオ・ファイルの中に圧縮されたGOPオフセット・テーブルを自動的に挿入するためのシステムであって、
    前記MPEGビデオ・ファイルを記憶するための電子記憶デバイスに結合されたコンピュータと、
    正確なGOPヘッダSMPTEタイムコードおよびGOPアドレス・オフセットを獲得するため、前記MPEGビデオ・ファイルのすべてのビデオ・パケットの各GOPヘッダに関するエントリを有する圧縮されたGOPオフセット・テーブルを作成するための、前記コンピュータによって実行されるプログラミング手段と、
    前記MPEGビデオ・ファイルの前に少なくとも1つのパディング・パケットとして前記圧縮されたGOPオフセット・テーブルを挿入しながらも、前記MPEGビデオ・ファイルの元のフレーム・プレゼンテーションを維持し、これにより、前記MPEGビデオ・ファイルのMPEG準拠および圧縮されたオーディオ/ビデオ・データを保つことにより、前記MPEGビデオ・ファイルを変更するための、前記コンピュータによって実行されるプログラミング手段とを含むシステム。
  7. 前記GOPオフセット・テーブルのために必要とされるパディング・パケットの数を推定し、これにより、前記MPEGビデオ・ファイルの読取りを1回の読取りに制限する手段をさらに含む請求項6に記載のシステム。
  8. 少なくとも1つの圧縮されたGOPオフセット・テーブル・パディング・パケットにシステム・クロック基準(SCR)を有するパケット・ヘッダが先行するシステムであって、
    前記パケットが、
    標準のPESヘッダと、
    オフセット・テーブル署名と、
    開始タイムコード・フィールドと、
    開始GOPアドレス・フィールドとをさらに含む請求項6に記載のシステム。
  9. 前記GOPオフセット・テーブルの復号化に先立ってMPEGプレーヤ/復号器のクロックを同期しなおすため、また各GOPヘッダ・エントリのフレーム数およびアドレス・オフセットをそれぞれ、前記開始タイムコードおよび前記開始GOPアドレスに加算することによって前記MPEGプレーヤ/復号器による圧縮解除中および復号化中に各GOPヘッダのタイムコードおよびアドレス・オフセットを再構成するため、またプレイ・フロム・オフセット・モードでそれぞれの個別ビデオ・フレームにランダム・アクセスを可能にするため、各前記GOPヘッダ・エントリが、
    前のGOPの中のフレーム数に関するフィールドと、
    前記GOPヘッダに対応する前記パケット・ヘッダのオフセット・アドレスを有するGOPアドレス・オフセットに関するフィールドとをさらに含む請求項8に記載のシステム。
  10. 前記GOPオフセット・テーブル挿入の後、適切なシステム・タイミングを維持するために前記SCRの時間を戻すように調整する手段をさらに含む請求項8に記載のシステム。
  11. コンピュータが、プレイ・フロム・オフセット・モードでMPEGプレーヤ/復号器によってそれぞれの個別ビデオ・フレームに正確なフレームでランダム・アクセスするため、前記コンピュータに結合された電子記憶デバイスの中に記憶された前に符号化済みのMPEGビデオ・ファイルの中に圧縮されたGOPオフセット・テーブルを自動的に挿入するための方法ステップを行うようにさせるコンピュータ可読プログラム手段を含むコンピュータ使用可能媒体上に記憶されたコンピュータ・プログラム製品であって、
    前記方法が、
    (a)正確なGOPヘッダSMPTEタイムコードおよびGOPアドレス・オフセットを獲得するため、前記MPEGビデオ・ファイルのすべてのビデオ・パケットの各GOPヘッダに関するエントリを有する圧縮されたGOPオフセット・テーブルを作成するステップと、
    (b)前記MPEGビデオ・ファイルの前に少なくとも1つのパディング・パケットとして前記圧縮されたGOPオフセット・テーブルを挿入しながらも、前記MPEGビデオ・ファイルの元のフレーム・プレゼンテーションを維持し、これにより、前記MPEGビデオ・ファイルのMPEG準拠および圧縮されたオーディオ/ビデオ・データを保つことにより、前記MPEGビデオ・ファイルを変更するステップとを含む製品。
  12. 前記GOPオフセット・テーブルのために必要とされるパディング・パケットの数を推定し、これにより、前記MPEGビデオ・ファイルの読取りを1回の読取りに制限するためのステップをさらに含む請求項11に記載のコンピュータ・プログラム製品。
  13. 少なくとも1つの圧縮されたGOPオフセット・テーブル・パディング・パケットにシステム・クロック基準(SCR)を有するパケット・ヘッダが先行するコンピュータ・プログラム製品であって、
    前記パケットが、
    標準のPESヘッダと、
    オフセット・テーブル署名と、
    開始タイムコード・フィールドと、
    開始GOPアドレス・フィールドとをさらに含む請求項11に記載の製品。
  14. 前記GOPオフセット・テーブルの復号化に先立ってMPEGプレーヤ/復号器のクロックを同期しなおすため、また各GOPヘッダ・エントリのフレーム数およびアドレス・オフセットをそれぞれ、前記開始タイムコードおよび前記開始GOPアドレスに加算することによって前記MPEGプレーヤ/復号器による圧縮解除中および復号化中に各GOPヘッダのタイムコードおよびアドレス・オフセットを再構成するため、またプレイ・フロム・オフセット・モードでそれぞれの個別ビデオ・フレームにランダム・アクセスを可能にするため、各前記GOPヘッダ・エントリが、
    前のGOPの中のフレーム数に関するフィールドと、
    前記GOPヘッダに対応する前記パケット・ヘッダのオフセット・アドレスを有するGOPアドレス・オフセットに関するフィールドとをさらに含む請求項13に記載のコンピュータ・プログラム製品。
  15. 前記GOPオフセット・テーブル挿入の後、適切なシステム・タイミングを維持するために前記SCRの時間を戻すように調整するためのステップをさらに含む請求項13に記載のコンピュータ・プログラム製品。
JP2002529029A 2000-09-15 2001-09-13 ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法 Expired - Fee Related JP3771902B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US23289300P 2000-09-15 2000-09-15
US09/860,700 US7212726B2 (en) 2000-09-15 2001-05-18 System and method of processing MPEG streams for file index insertion
PCT/EP2001/010553 WO2002025949A2 (en) 2000-09-15 2001-09-13 System and method of processing mpeg streams for file index insertion

Publications (2)

Publication Number Publication Date
JP2004509580A true JP2004509580A (ja) 2004-03-25
JP3771902B2 JP3771902B2 (ja) 2006-05-10

Family

ID=26926428

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002529029A Expired - Fee Related JP3771902B2 (ja) 2000-09-15 2001-09-13 ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法

Country Status (10)

Country Link
US (1) US7212726B2 (ja)
EP (1) EP1329108B1 (ja)
JP (1) JP3771902B2 (ja)
KR (1) KR100592750B1 (ja)
CN (1) CN100391260C (ja)
AT (1) ATE264594T1 (ja)
AU (1) AU2002213908A1 (ja)
CA (1) CA2420019C (ja)
DE (1) DE60102831T2 (ja)
WO (1) WO2002025949A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011518521A (ja) * 2008-04-17 2011-06-23 ソニー株式会社 マルチメディアコンテンツのデュアルタイプ再生
WO2013146407A1 (ja) * 2012-03-26 2013-10-03 三菱電機株式会社 映像送受信システム、映像送信方法、および、送信装置
JP2017200238A (ja) * 2011-11-29 2017-11-02 スポティファイ アーベー マルチ装置セキュアアプリケーション統合を用いるコンテンツプロバイダ

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6721780B1 (en) * 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
US7213075B2 (en) * 2000-12-15 2007-05-01 International Business Machines Corporation Application server and streaming server streaming multimedia file in a client specific format
US7269784B1 (en) 2001-01-22 2007-09-11 Kasriel Stephane Server-originated differential caching
US7185063B1 (en) 2001-06-22 2007-02-27 Digital River, Inc. Content delivery network using differential caching
US7092997B1 (en) * 2001-08-06 2006-08-15 Digital River, Inc. Template identification with differential caching
US7188214B1 (en) 2001-08-07 2007-03-06 Digital River, Inc. Efficient compression using differential caching
EP1286351B1 (en) * 2001-08-21 2012-08-08 Thomson Licensing File and content management
US7149750B2 (en) * 2001-12-19 2006-12-12 International Business Machines Corporation Method, system and program product for extracting essence from a multimedia file received in a first format, creating a metadata file in a second file format and using a unique identifier assigned to the essence to access the essence and metadata file
US7296051B1 (en) 2002-02-19 2007-11-13 Digital River, Inc. Predictive predownload of templates with delta encoding
US7487261B1 (en) 2002-02-22 2009-02-03 Digital River, Inc. Delta caching service
EP1508245A1 (en) * 2002-05-28 2005-02-23 Matsushita Electric Industrial Co., Ltd. Moving picture data reproducing device with improved random access
WO2004019612A1 (ja) * 2002-07-12 2004-03-04 Matsushita Electric Industrial Co., Ltd. 再生装置
US20040047424A1 (en) * 2002-10-15 2004-03-11 Kumar Ramaswamy System and method for transmitting digital video files with error recovery
US20040177383A1 (en) * 2003-01-24 2004-09-09 Chyron Corporation Embedded graphics metadata
US7835437B1 (en) * 2003-03-10 2010-11-16 Ji Zhang Statistical remultiplexing of compressed video segments
US20040181545A1 (en) * 2003-03-10 2004-09-16 Yining Deng Generating and rendering annotated video files
US7606472B2 (en) * 2003-05-30 2009-10-20 Canon Kabushiki Kaisha Video stream data recording apparatus
US7349395B2 (en) * 2003-06-23 2008-03-25 Microsoft Corporation System, method, and computer program product for parsing packetized, multi-program transport stream
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US8582659B2 (en) * 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
CN1209703C (zh) * 2003-10-16 2005-07-06 上海广电(集团)有限公司中央研究院 一种可随机访问数据流的组织方法及其对应的解码方法
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
EP1583005A3 (en) * 2004-04-02 2007-01-10 Samsung Electronics Co., Ltd. File management and apparatus for controlling digital contents in multimedia appliances and information recording medium therefor
US20080320008A1 (en) * 2004-06-15 2008-12-25 Lee Cheng Yu Video Recording Device
WO2006003814A1 (ja) 2004-07-01 2006-01-12 Mitsubishi Denki Kabushiki Kaisha ランダムアクセス可能な映像情報記録媒体、及び記録方法、及び再生装置及び再生方法
EP1817904A4 (en) * 2004-12-02 2009-12-30 Nokia Corp ENHANCED ELECTRONIC SERVICE GUIDE CONTAINER
US8340130B2 (en) * 2005-01-14 2012-12-25 Citrix Systems, Inc. Methods and systems for generating playback instructions for rendering of a recorded computer session
US20060161671A1 (en) * 2005-01-14 2006-07-20 Citrix Systems, Inc. Method and systems for capture and replay of remote presentation protocol data
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US8145777B2 (en) * 2005-01-14 2012-03-27 Citrix Systems, Inc. Method and system for real-time seeking during playback of remote presentation protocols
US8200828B2 (en) 2005-01-14 2012-06-12 Citrix Systems, Inc. Systems and methods for single stack shadowing
DE602006021390D1 (de) 2005-01-14 2011-06-01 Citrix Systems Inc Verfahren und System zur adaptiven Erzeugung von Schnappschüsse des Zustandes eines Fernpräsentationsprotokolls
KR100652956B1 (ko) * 2005-01-14 2006-12-01 삼성전자주식회사 비디오 수신지연 알림방법 및 이를 적용한 방송수신장치
US7831728B2 (en) * 2005-01-14 2010-11-09 Citrix Systems, Inc. Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream
US8230096B2 (en) * 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US7996549B2 (en) * 2005-01-14 2011-08-09 Citrix Systems, Inc. Methods and systems for recording and real-time playback of presentation layer protocol data
US8296441B2 (en) 2005-01-14 2012-10-23 Citrix Systems, Inc. Methods and systems for joining a real-time session of presentation layer protocol data
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8812433B2 (en) * 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US7778976B2 (en) * 2005-02-07 2010-08-17 Mimosa, Inc. Multi-dimensional surrogates for data management
US8275749B2 (en) * 2005-02-07 2012-09-25 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8799206B2 (en) * 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US7657780B2 (en) * 2005-02-07 2010-02-02 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8161318B2 (en) * 2005-02-07 2012-04-17 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8543542B2 (en) * 2005-02-07 2013-09-24 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US7870416B2 (en) * 2005-02-07 2011-01-11 Mimosa Systems, Inc. Enterprise service availability through identity preservation
US8918366B2 (en) * 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US7917475B2 (en) * 2005-02-07 2011-03-29 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8271436B2 (en) * 2005-02-07 2012-09-18 Mimosa Systems, Inc. Retro-fitting synthetic full copies of data
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
CN102685562B (zh) * 2005-03-14 2016-06-08 尼尔逊媒介研究股份有限公司 用于媒体信号的压缩域编码设备和方法
US8423673B2 (en) 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US20070005333A1 (en) * 2005-06-30 2007-01-04 Benard Setiohardjo Analog tape emulation
WO2007073420A1 (en) * 2005-08-24 2007-06-28 Peter Renzi Streaming video network system
US8191008B2 (en) 2005-10-03 2012-05-29 Citrix Systems, Inc. Simulating multi-monitor functionality in a single monitor environment
US8949235B2 (en) 2005-11-15 2015-02-03 Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. Methods and systems for producing a video synopsis using clustering
EP1955205B1 (en) * 2005-11-15 2012-08-29 Yissum Research Development Company Of The Hebrew University Of Jerusalem Method and system for producing a video synopsis
US7683943B2 (en) * 2005-12-22 2010-03-23 Canon Kabushiki Kaisha Image recording apparatus, image reproducing apparatus, method of controlling image recording apparatus, method of controlling image reproducing apparatus, computer program, and recording medium
JP2007213772A (ja) * 2006-01-11 2007-08-23 Sony Corp 記録転送プログラム、記録転送装置及び記録転送方法
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
US9083994B2 (en) * 2006-09-26 2015-07-14 Qualcomm Incorporated Method and system for error robust audio playback time stamp reporting
EP4184341A1 (en) 2007-01-05 2023-05-24 DivX, LLC Video distribution system including progressive playback
CN101321265B (zh) * 2007-06-07 2011-03-16 中兴通讯股份有限公司 对等网络媒体点播跨帧播放方式的实现方法及系统
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
US8107754B2 (en) * 2007-12-07 2012-01-31 Mediatek Inc. Systems and methods for randomly accessing compressed images
JP2009246801A (ja) * 2008-03-31 2009-10-22 Fujitsu Microelectronics Ltd 分割されたパケットの暗号化方法、分割暗号化パケットの復号方法、暗号化装置及びプログラム
US20110246603A1 (en) * 2008-09-05 2011-10-06 The Chinese University Of Hong Kong Methods and devices for live streaming using pre-indexed file formats
US9060187B2 (en) 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
ES2361104B1 (es) * 2009-03-31 2012-04-19 Telefónica, S.A. Terminal óptico de red. terminador óptico de l�?nea y método de transmisión/recepción de canales de televisión digital en una red óptica pasiva.
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
EP2649798A4 (en) * 2010-12-06 2017-06-07 Oracle International Corporation Media platform integration system
US8738163B2 (en) * 2010-12-28 2014-05-27 Channel D Corporation Proxy file pointer method for redirecting access for incompatible file formats
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
CN108989847B (zh) 2011-08-30 2021-03-09 帝威视有限公司 用于编码和流处理视频的系统和方法
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
DE102012201534B4 (de) * 2011-12-09 2018-08-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zur Zwischenspeicherung einer skalierbaren Original-Datei
DE102012201530A1 (de) * 2011-12-22 2013-06-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Cachevorrichtung zum zwischenspeichern
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9473732B2 (en) * 2013-05-31 2016-10-18 Arris Enterprises, Inc. Self correcting record pipeline
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
SG11201609457UA (en) 2014-08-07 2016-12-29 Sonic Ip Inc Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
WO2016112112A1 (en) 2015-01-06 2016-07-14 Sonic Ip, Inc. Systems and methods for encoding and sharing content between devices
GB2535737B (en) * 2015-02-25 2021-08-04 Advanced Risc Mach Ltd Tracing the data processing activities of a data processing apparatus
WO2016138493A1 (en) 2015-02-27 2016-09-01 Sonic Ip, Inc. Systems and methods for frame duplication and frame extension in live video encoding and streaming
CN106162299B (zh) * 2015-03-31 2020-04-17 青岛海信电器股份有限公司 一种osd动画素材数据的播放方法和装置
FR3041850B1 (fr) 2015-09-30 2018-05-25 Vogo Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN106657857B (zh) * 2017-01-16 2019-05-24 浙江大华技术股份有限公司 一种摄像机的录像回放方法、录像方法及其装置
US11482256B2 (en) 2017-01-16 2022-10-25 Zhejiang Dahua Technology Co., Ltd. Systems and methods for video replaying
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10715498B2 (en) 2017-07-18 2020-07-14 Google Llc Methods, systems, and media for protecting and verifying video files
US10735826B2 (en) * 2017-12-20 2020-08-04 Intel Corporation Free dimension format and codec
EP4398582A3 (en) 2019-03-21 2024-08-07 DivX, LLC Systems and methods for multimedia swarms
US11315606B1 (en) 2019-09-25 2022-04-26 Amazon Technologies, Inc. Timecode generation and assignment
CN112437240B (zh) * 2021-01-27 2021-04-09 南京美乐威电子科技有限公司 视频帧和时间码绑定方法、视频文件录制方法和编码器
CN115119009B (zh) * 2022-06-29 2023-09-01 北京奇艺世纪科技有限公司 视频对齐方法、视频编码方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2785220B2 (ja) * 1992-09-22 1998-08-13 ソニー株式会社 データ符号化装置および方法、並びにデータ復号化装置および方法
JP3264290B2 (ja) 1992-09-22 2002-03-11 ソニー株式会社 復号方法および復号装置
US5991502A (en) * 1993-10-04 1999-11-23 Matsushita Electric Industrial Co., Ltd. Optical recording device which calculates distances between I-frames and records I-frame addresses in a sector
JPH08106735A (ja) 1994-10-04 1996-04-23 Sony Corp 再生装置
GB2294173B (en) * 1994-10-11 1998-12-09 Mitsubishi Electric Corp Disk media, and method of and device for recording and playing back information on or from a disk media
US6009237A (en) * 1995-02-24 1999-12-28 Hitachi Ltd. Optical disk and optical disk reproduction apparatus
DE69603587T2 (de) 1995-03-20 2000-03-30 Matsushita Electric Industrial Co., Ltd. Vorrichtung und verfahren zur aufnahme bildbetreffender informationen
US5812791A (en) 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
KR100421522B1 (ko) * 1995-08-21 2004-05-31 마츠시타 덴끼 산교 가부시키가이샤 특수재생을도입한시청형태를제작자가자유롭게코디네이트할수있는멀티미디어광디스크및그재생장치와재생방법
US6041345A (en) 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
JPH09288677A (ja) 1996-04-19 1997-11-04 Sony Corp 情報統合表示方法及び装置、情報統合表示システム
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011518521A (ja) * 2008-04-17 2011-06-23 ソニー株式会社 マルチメディアコンテンツのデュアルタイプ再生
JP2014212558A (ja) * 2008-04-17 2014-11-13 ソニー株式会社 マルチメディアコンテンツのデュアルタイプ再生
US9106802B2 (en) 2008-04-17 2015-08-11 Sony Corporation Dual-type of playback for multimedia content
JP2017200238A (ja) * 2011-11-29 2017-11-02 スポティファイ アーベー マルチ装置セキュアアプリケーション統合を用いるコンテンツプロバイダ
WO2013146407A1 (ja) * 2012-03-26 2013-10-03 三菱電機株式会社 映像送受信システム、映像送信方法、および、送信装置
JPWO2013146407A1 (ja) * 2012-03-26 2015-12-10 三菱電機株式会社 映像送受信システム、映像送信方法、および、送信装置

Also Published As

Publication number Publication date
EP1329108B1 (en) 2004-04-14
AU2002213908A1 (en) 2002-04-02
US7212726B2 (en) 2007-05-01
KR100592750B1 (ko) 2006-06-26
ATE264594T1 (de) 2004-04-15
JP3771902B2 (ja) 2006-05-10
CN1459198A (zh) 2003-11-26
CA2420019C (en) 2007-02-06
KR20030061803A (ko) 2003-07-22
DE60102831T2 (de) 2005-06-23
CN100391260C (zh) 2008-05-28
CA2420019A1 (en) 2002-03-28
EP1329108A2 (en) 2003-07-23
US20020048450A1 (en) 2002-04-25
WO2002025949A2 (en) 2002-03-28
WO2002025949A3 (en) 2002-08-15
DE60102831D1 (de) 2004-05-19

Similar Documents

Publication Publication Date Title
JP3771902B2 (ja) ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法
US6760042B2 (en) System and method of processing MPEG streams for storyboard and rights metadata insertion
US6738427B2 (en) System and method of processing MPEG streams for timecode packet insertion
JP4659105B2 (ja) 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置
JP4936592B2 (ja) インプログレスビデオフィードへの非順次アクセスのための方法および装置
JP4942246B2 (ja) 媒体の同時のエンコードおよびタグ付けを行なうための方法および装置
US20030035648A1 (en) Navigation for MPEG streams
EP1363291A1 (en) Information recording apparatus and method
JP2008178112A (ja) Avデータ記録再生装置及び方法、当該avデータ記録再生装置又は方法で記録されたディスク
TW201018238A (en) Video recording playback apparatus and file managing method
JP2012146391A (ja) データストリーム内の所定位置を記憶又は再配置するための方法及び装置
US7835615B2 (en) Data processing apparatus
US20080235401A1 (en) Method of storing media data delivered through a network
JP4616144B2 (ja) データ処理装置
US20040151473A1 (en) Audio/video data recording/reproduction apparatus, system, and method, recording medium recorded by them, audio/video data reproduction apparatus, and data structure
JP4225512B2 (ja) 動画像検索編集装置
JP4279600B2 (ja) 動画像検索編集装置
US20060093314A1 (en) Editing of data frames
JP2004088267A (ja) データ記録方法、データ記録装置、データ変換方法、データ変換装置、データ記録媒体、データ記録のためのプログラムおよびそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050907

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20051014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051205

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: 20060117

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060210

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees