JP2009213167A - 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置 - Google Patents

連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置 Download PDF

Info

Publication number
JP2009213167A
JP2009213167A JP2009143624A JP2009143624A JP2009213167A JP 2009213167 A JP2009213167 A JP 2009213167A JP 2009143624 A JP2009143624 A JP 2009143624A JP 2009143624 A JP2009143624 A JP 2009143624A JP 2009213167 A JP2009213167 A JP 2009213167A
Authority
JP
Japan
Prior art keywords
file
tag
content
data
video
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
JP2009143624A
Other languages
English (en)
Other versions
JP4659105B2 (ja
Inventor
Daniel Weaver
ウィーバー,ダニエル
David J Pawson
ポーソン,デイビッド・ジェイ
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.)
Thirdspace Living Ltd
NCube Corp
Original Assignee
Thirdspace Living Ltd
NCube 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=25497997&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2009213167(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Thirdspace Living Ltd, NCube Corp filed Critical Thirdspace Living Ltd
Publication of JP2009213167A publication Critical patent/JP2009213167A/ja
Application granted granted Critical
Publication of JP4659105B2 publication Critical patent/JP4659105B2/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • 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
    • 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/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • H04N21/2318Data placement on disk arrays using striping
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/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/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/2625Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for delaying content or additional data distribution, e.g. because of an extended sport event
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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
    • 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/8549Creating video summaries, e.g. movie trailer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • 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
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

【課題】ビデオの連続的フィードを記憶させるための方法およびシステムを提供する。
【解決手段】内容データがより小さいファイル402−414のグループに記憶されている。より小さいファイルの各々がバッファ処理された内容データのサブセットを記憶している。図示する実施例では、ファイル402−412の各々が2時間に値する内容を記憶している。ファイル414は現在1時間の内容を記憶している。現在の挿入点はファイル414の最後である。ファイル414が2時間の内容に達すると、ファイル414は閉じられ、新しい内容ファイルが作られる。内容ファイルが古くなると、より古い内容ファイルが削除されて新しいファイルのためのディスク空間を空ける。再生中、ファイルは内容データがクライアントに送られるときにビデオポンプによって継ぎ目なく結合される。
【選択図】図4

Description

[関連出願]
この出願は、引用によりここに援用される、1997年10月22日付でDaniel Weaver、Mark A. PorterおよびDavid J. Pawsonにより出願された米国特許出願第08/956,261号(代理人書類番号第3018−100号)「媒体の同時のエンコードおよびタグ付けを行なうための方法および装置(“METHOD ANDAPPARATUS FOR CONCURRENTLY ENCODING AND TAGGING MEDIA”)」に関連する。
この出願はまた、引用によりここに援用される、1997年10月22日付でDaniel Weaver、Mark A. PorterおよびDavid J. Pawsonにより出願された米国特許出願第08/956,263号(代理人書類番号第3018−128号)「インプログレスビデオフィードへの非順次アクセスのための方法および装置(“METHOD AND APPARATUS FOR NON-SEQUENTIAL ACCESS TO AN IN-PROGRESS VIDEO FEED”)」に関連する。
[発明の分野]
この発明はオーディオビジュアル情報を処理するための方法および装置に関し、特に、ライブコンテンツの流れにおいて表わされるオーディオビジュアル情報への非順次アクセスを与えるための方法および装置に関する。
近年、メディア産業は伝統的なアナログ技術を超えてその範囲を拡大してきた。オーディオ、写真、そして映画さえもが現在ではデジタル形式に記録または変換されている。製作物間の適合性を促進するために、標準形式が多くのメディア部門で開発されている。
おそらく期待されるように、デジタルビデオを見る人は、ビデオカセットレコーダ上のアナログビデオテープを見る際に楽しむような同じ機能をデジタルビデオの提供者から得ることを望む。たとえば、それを見る人々はビデオの前方への飛越し、後方への飛越し、早送り、早巻戻し、遅送り、遅巻戻しおよびフレームの停止を行なうことができるように望む。
デジタルビデオデータの非順次再生を与えるためにさまざまなアプローチが展開されてきた。デジタルビデオデータでは、非順次再生とは、エンコードされたフレームのすべてをそれらがエンコードされた正確な順序ではプレーしない再生動作を指す。たとえば、前方飛越し動作および早送り動作はいくつかのフレームがスキップされる点で非順次である。任意の速度での巻戻し動作は、巻戻し動作の間にフレームがエンコードされたシーケンスでプレーされない点で非順次である。
ここではタグベースのアプローチと呼ぶ、デジタルビデオデータの非順次再生を与えるあるアプローチが、引用によりここに援用する、1997年8月19日付でPorter他に発行された米国特許第5,659,539号「デジタルオーディオビジュアル情報のフレームの正確なアクセスのための方法および装置(“Method and Apparatus for Frame Accurate Access of Digital Audio-visual Information”)」に説明されている。タグベースのアプローチによると、記憶されているデジタルビデオファイルが解析されて、ファイル内の個々のフレームに関する「タグ情報」を発生する。
具体的に、タグファイルは、デジタル表現をデコードするために用いられる1つ以上の
ステートマシンの状態に関する情報を含む。状態情報はオーディオビジュアル作品をエンコードするために用いられる特定の技術によって異なる。たとえばMPEG−2ファイルでは、タグファイルはプログラムエレメンタリストリームステートマシン、ビデオステートマシンおよびトランスポート層ステートマシンの状態に関する情報を含む。
オーディオビジュアル作品の上演の間、デジタル表現からのデータがビデオポンプからデコーダへと送られる。タグファイル内の情報はオーディオビジュアル作品の上演の間に、シーク、早送り、早巻戻し、遅送りおよび遅巻戻し動作を行なうために用いられる。シーク動作が行なわれるのは、ビデオポンプに、デジタル表現の現在の位置からのデータ送信を停止させ、かつデジタル表現の新たな位置からデータ送信を開始させることによる。タグファイル内の情報はデータ送信を始めるべき新しい位置を決定するために検査される。ビデオポンプによって送信されるデータの流れが適用可能なビデオ形式との適合性を維持することを確実とするため、適切なヘッダ情報を含む接頭語データが新しい位置からのデータ送信の前にビデオポンプによって送信される。
早送り、早巻戻し、遅送りおよび遅巻戻し動作は、タグファイル内に含まれる情報と望ましい提示速度とに基づいてビデオフレームを選択し、かつ選択されたビデオフレームを表わすデータを含むデータストリームを発生することによって行なわれる。選択プロセスは、データが送られるべきチャネルのデータ転送速度と、フレームのフレームタイプと、最小埋込率と、デコーダ上でのバッファオーバフローの可能性とを含むさまざまな要因を考慮に入れる。接頭語データおよび接尾語データは、デコーダによって予期されるデータストリーム形式との適合性を維持するために、フレームごとにデータの前および後で送信されるデータストリームへと挿入される。
元のデジタルビデオストリームがタグ情報を発生するために解析させられるのに十分な時間が、元のデジタルビデオストリームが作り出されてからデジタルビデオストリームが見られるまでにある場合は、タグベースのアプローチはうまく作用する。しかしながら、デジタルビデオストリームが発生されている途中で見られる場合は、デジタルビデオストリームの解析は非実用的となる。デジタルビデオストリームをそれが到着したときに解析するのに必要な演算力は非常に高価であろう。他方、多くのタイプのビデオフィード(たとえば、スポーツイベント)が発生してから、このようなフィードが視聴者のために利用可能となるまでの待ち時間を延ばすことは容認可能とは考えられない。
ビデオストリームがその発生の完了前に見られ得る場合、このビデオストリームは「ライブフィード」と呼ばれる。実務レベルでは、非線形デジタルエディタが1人のユーザのためのライブフィードの場面を高速で見直すために用いられ得る。しかしながら、これらのシステムは多くのユーザを対象とはしておらず、それに容易には適合可能ではない。たとえば、100名のユーザが同じライブフィードを見ているが異なる時にフィードを巻戻し、停止し、早送りすることを望めば、各ユーザが別個の非線形デジタルエディタを必要とするであろう。
ライブデジタルビデオストリームへの非線形アクセスを与えるのに関連した他の問題は、ユーザがまだ存在していないビデオストリームの部分へと早送りしようと試みるかもしれないことである。たとえば、実際にはまだ終わっていないゲームの最終スコアを見るために、視聴者はライブフィードを早送りしようとするかもしれない。デコーダがフリーズしたりビデオストリームが壊れたりしないことを確実とするように、このような状況を扱うための技術を提供することが望ましい。
以上に基づき、ライブデジタルビデオの不連続フレームを順次表示するための方法および装置を提供することが明らかに望ましい。さらに、各視聴者が非常に高価なハードウェ
アを動作させる必要のないようにライブデジタルビデオへのこのような非順次アクセスを与えることが望ましい。また、まだ存在していないライブデジタルビデオストリームの部分にアクセスしようとする試みに対する保護を与えることが望ましい。
ビデオの連続的フィードを記憶させるための方法およびシステムが提供される。この発明の一局面に従うと、連続的フィードはデジタルビデオ形式にエンコードされてデジタルデータストリームを生み出す。一連の内容ファイルが、(1)デジタルデータストリームを現在のファイルに記憶させるステップと、(2)現在のファイルが予め定められた条件を満たすと、現在のファイルとして新しいファイルを確立するステップとを繰返し行なうことによって生み出される。その一連の内容ファイルが予め定められた量よりも多い連続的フィードを含めば、一連の内容ファイルのうち最も古い内容ファイルが削除される。
この発明の他の局面に従うと、最も古い内容ファイルの削除はそれが現在アクセスされていれば遅延され得る。削除が遅延され得るのは、最も古い内容ファイルがもはやアクセスされなくなるか、またはそれがアクセスされていたという事実がなければ削除されていたであろうときからある量の時間が経過するまでである。
この発明の他の局面に従うと、デジタルデータストリームに含まれるフレームに関する情報を示すタグ情報が発生される。タグ情報はデジタルデータストリームの初めに対するフレームのタイミングを示すタイムスタンプを含む。初期時間値は、デジタルデータストリームの初めに対応する絶対時間を示す。
特定の絶対時間から再生を求めるクライアントからの要求が受取られると、初期時間値が相対時間を定めるために特定の絶対時間から減算される。タグ情報は相対時間に対応するデジタルデータストリームの場所を識別するために用いられる。デジタルデータストリームは次に、相対時間に対応するデジタルデータストリームの場所からクライアントに送信される。
この発明の実施例に従うビデオ配信システムを示すブロック図である。 MPEGファイルの形式を示すブロック図である。 この発明の実施例に従う例示的タグファイルのブロック図である。 この発明の実施例に従うMPEG−1ファイル内のフレームごとに発生されるタグ情報を示すブロック図である。 この発明の実施例に従うRAID誤り訂正技術を用いる記憶システムを示すブロック図である。 この発明の実施例に従うRAID誤り訂正技術とディスクストライピングとを組合せる記憶システムを示すブロック図である。 この発明に従う連続的フィードの内容を記憶させるために用いられる一連の内容ファイルを示すブロック図である。 古いタグファイル内のタグデータの期限切れに応答する、古いタグファイルから新しいタグファイルへのタグ情報の移行を示すブロック図である。
この発明は、同じ参照番号が同様の要素を示す添付の図面を参照して、限定的ではなく例示的に説明される。
ライブデジタルビデオストリームへの非順次アクセスを与えるための方法および装置を
説明する。以下の説明において、説明の目的のために、数多くの具体的な細部がこの発明の完全な理解を与えるために記載される。しかしながら、この発明がこれらの特定の細部なしで実現され得ることは当業者には明らかであろう。他の例では、この発明を不必要に不明確にすることを避けるために周知の構造および装置がブロック図の形式で示される。
機能概観
この発明の一局面に従うと、タグベースのアプローチをライブデジタルビデオフィードに適用することにかかわる困難が、入来するデジタルビデオストリームをリアルタイムで解析する必要をなくすことによって対処される。デジタルビデオストリームを解析することによってタグデータを発生する代わりに、ライブフィードをエンコードするためのユニットが、いかにデータがエンコードされたかについての情報を保持し、その情報をエンコードされたデータとともにビデオサーバに送信する。タグ情報は対応の内容とともにビデオサーバに到着するので、内容自体は解析される必要がない。
この発明の他の局面に従うと、ビデオサーバは、クライアントが受信された内容の終わりを越えてシークまたはスキャンできないことを確実とするよう構成される。内容の到着時間と内容のタグの到着時間との間には、いくらかの量のスキューがあるという事実のため、サーバは、タグが時期尚早に、すなわち、それらがサーバに利用可能な内容の終わりを越えさせるように、用いられないことを確実とするよう構成される。
例示的システム
図1は、ライブデジタルビデオフィードを配信し、それへの非順次アクセスを与えるための例示的オーディオビジュアル情報配信システム100を示すブロック図である。オーディオビジュアル情報配信システム100は一般にエンコーダ101、ビデオサーバ106、メディアデータ記憶装置(MDS)112、データベース116、ストリームサーバ118、ビデオポンプ120およびクライアント122を含む。
エンコーダ
エンコーダ101はオーディオビジュアル入力を受取り、特定の形式に従ってオーディオビジュアル入力をエンコードするデータのデジタルストリームを発生する。数多くのビデオエンコード形式が開発されており、業界に周知である。たとえば、MPEG形式はISO/IEC 13818−1,2,3(MPEG−2)およびISO/IEC 11172−1,2,3(MPEG−1)という国際規格において詳細に説明されている。これらの規格(以下では「MPEG仕様」と呼ぶ)を説明する文書はISO/IEC Copyright Office Case Postale 56, CH 1211, Geneve 20, Switzerland)から入手可能である。特定の形式が説明の目的のためにここで引用され得るが、この発明は何らかの特定のデジタルストリーム形式に制限されない。
エンコーダ101はコーダ/デコーダ(CODEC)102およびマルチプレクサ(MUX)104を含む。CODEC102は入力源からのビジュアルまたはオーディオビジュアル情報を圧縮されたデジタルデータに変換する。たとえば、CODEC102はフラクタル圧縮器またはMPEG圧縮器であってもよい。説明の目的のために、CODEC102が捕捉するビデオソースはライブソースであり、その結果としてCODEC102がリアルタイムに対して1Xでビデオをエンコードすると想定する。しかしながら、ビデオソースは代替的に、CODEC102がリアルタイムに対して任意の速度でエンコードする記憶されたビデオソースであってもよい。
MUX104はCODEC102によって発生された圧縮されたオーディオおよびビジュアル情報を多重化して、圧縮されたビデオストリームを発生する。圧縮されたビデオストリームでは、ビデオフレームを表わすデータとオーディオとがマージされ、エンコーダ
101によって支持される特定のデジタル形式に従って形式化される。マージプロセスの間に行なわれる具体的な動作は、用いられるエンコードのタイプに基づいて変化する。たとえば、マージプロセスは、ストリーム中でのデジタル化オーディオおよびビデオの部分の順序および配置を定め、ストリーム内のさまざまな点にメタデータを挿入することを含んでもよい。たとえば、メタデータはストリーム内での「パケット」の開始点および内容を識別するヘッダ情報の形を取ってもよい。MUX104によって構成される圧縮されたオーディオビジュアル情報の流れは、通信チャネル128によってエンコーダ101からビデオサーバ106へと送信される。
制御情報
この発明の一局面に従うと、エンコーダ101はビデオストリームと並行して、通信チャネル130によってビデオサーバ106へと制御情報を送る。チャネル130によって送られる制御情報は、如何にエンコーダ101がビデオストリームを構成したかに関する具体的な情報を含む。制御情報はビデオストリームへの非順次アクセスを与えるためにストリームサーバ118によって用いられるタグデータを含む。具体的に、制御情報は、ビデオストリームにおいてエンコードされたさまざまなフレームのタイプ、長さおよび境界に関する情報と、圧縮比、ビット速度、ビデオサーバ106がビデオストリーム処理法を決定するために必要な他のタイプの情報を特定するヘッダ情報とを含んでもよい。
重要なことに、制御情報の発生に必要な付加的演算力は最小である。これは、MUX104が内容ストリームの構成の間に既に情報のほとんどを発生しているためである。具体的に、MUX104はCODEC102からデジタルビデオおよびオーディオデータを配置し、カプセル生成を行なう(encapsulates)。MUX104が内容をパッケージングするので、MUX104はパッケージの内容とパッケージ間の境界とを知っている。
エンコーダとビデオサーバとの間の通信
CODEC102は一般にハードワイヤード回路において実現されるが、MUX104は好ましくはプログラム制御回路、たとえば、メモリに記憶されている命令の特定のシーケンスを実行するようプログラムされた処理装置によって実現される。その結果、MUX104は、ビデオサーバ106との通信を制御するソフトウェアライブラリに連結されており、かつそれを呼出す従来の多重化プログラムを実行する処理装置を含んでもよい。
エンコーダ101とビデオサーバ106との間で送信される全データが好ましくは信頼できる通信機構を用いて送られる。一実施例に従うと、通信チャネル128上のビデオ内容は簡単なバイトの流れとして扱われ、軽い信頼できるプロトコルにより送信される。たとえば、TCPが負荷の軽いネットワークでは十分である。通信チャネル130上の制御情報およびメタデータはより多くの複雑なデータタイプを含み、オブジェクト指向プロトコル、たとえば共通オブジェクト・リソース・ブローカー・アーキテクチャ・インターフェイス定義語(Common Object Resource Broker Architecture Interface Definition Language、“CORBA IDL”)によって送られる。
エンコーダ101とビデオサーバ106との間の通信はセッションで起こる。一実施例に従うと、セッションはOPEN、SENDおよびCLOSEの3段階で行なわれる。各段階の間に行なわれる動作は以下のとおりである。
OPEN−ビデオサーバ106がネットワークまたはディスク帯域幅またはディスク空間のために行なう必要がある準備が生じる。ビデオストリームデータ(「内容」)のためのパイプが作られる。
SEND TAGSおよびSEND DATA−これらの読出は内容がエンコードされ
るときに複数回行なわれる。ビデオサーバ106は全内容を直ちにディスクに記憶させ、ファイル終了位置を更新する。タグは、付随する内容データが記憶されるまでメモリに保持される。タグはさらなる期間にわたって保持されて、そのタグへのシークが成功する、すなわち、ビデオポンプ120がデータを切らさないことを保証する。
CLOSE−内容パイプが分解される。サーバ資源は解放され、内容サービスおよびクライアントはフィードが内容の通常の静的なものになったことを通知される。
エンコーダ101は並行して内容データおよび制御データを発生する。しかしながら、内容の特定の場所に関連した制御データが内容の特定の部分と同時にエンコーダ101によって発生されるとは限らない。たとえば、エンコーダ101は実際には、エンコーダ101が実際にフレームを並べる前に内容を並べる方法を決定する。これらの状況下では、フレームが並べられる方法を示す制御データが、そのフレームを含む内容データの前にエンコーダ101によって送信されるかもしれない。
ビデオサーバ
ビデオサーバ106はエンコーダ101からビデオストリームおよび制御データを受信し、データをMDS112に記憶させる。図示されるシステムでは、ビデオサーバ106はMPEGビデオストリームをMDSサーバ110に送り、MDSサーバ110がMPEGビデオストリームをMPEGファイル134内に記憶させる。並行して、ビデオサーバ106はライン130によって受信された制御データから抽出されたタグ情報をMDSサーバ110に送る。タグデータはディスク114上のタグファイル132に記憶される。ビデオサーバ106はまたタグデータを含む内容に関する情報をデータベース116に記憶させるために送る。
一旦タグデータがビデオサーバ106によって送信されると、ビデオポンプ120を含むシステム内の他のエンティティが、そのタグデータを用いてタグデータと関連した内容にアクセスしようと試みるかもしれない。したがって、MDSサーバ110へのタグデータの即座の送信が、たとえばタグデータが対応の内容データより前にビデオサーバ106に到着する場合のエラーを引起こすかもしれない。したがって、タグデータをMDS110に送る前に、ビデオサーバ106は、ビデオポンプ120のようなエンティティがタグデータ項目と関連した内容にアクセスすることが安全となるまで、タグバッファ108内の各タグデータ項目をバッファ処理する。内容データの早すぎる読出を避けるためのタグバッファ108の使用については以下により詳細に説明する。
例示的MPEGファイル
デジタルオーディオビジュアル記憶形式は、圧縮されていようといまいと、さまざまな構造のステートマシンおよびパケットを用いる。ここに説明する技術はこのような記憶形式のすべてに当てはまる。この発明は特定のデジタルオーディオビジュアル形式に限定されないが、MPEG−2トランスポートファイル構造を例示の目的のために説明する。
図2aを参照すると、MPEG−2トランスポートファイル134の構造がより詳細に示される。MPEGファイル134内のデータはプログラムエレメンタリストリーム(「PES」)層、トランスポート層およびビデオ層の3層にパッケージングされる。これらの層についてはMPEG−2仕様において詳しく説明する。PES層では、MPEGファイル134はPESパケットのシーケンスからなる。トランスポート層では、MPEGファイル134はトランスポートパケットのシーケンスからなる。ビデオ層では、MPEGファイル134はピクチャパケットのシーケンスからなる。各ピクチャパケットはビデオの1フレームに対するデータを含む。
各PESパケットはPESパケットの長さおよび内容を識別するヘッダを有する。図示する例では、PESパケット250はヘッダ248と後続のトランスポートパケット251−262のシーケンスとを含む。PESパケットの境界は有効トランスポートパケットの境界と一致する。各トランスポートパケットは1つのタイプのみのデータを含む。図示する例では、トランスポートパケット251、256、258、259、260および262がビデオデータを含む。トランスポートパケット252、257および261がオーディオデータを含む。トランスポートパケット253が制御データを含む。トランスポートパケット254がタイミングデータを含む。トランスポートパケット255が埋込(パディング)パケットである。
各トランスポートパケットがヘッダを有する。ヘッダはそのパケットのためのプログラムID(「PID」)を含む。PID 0を割当てられたパケットが制御パケットである。たとえば、パケット253はPID 0を割当てられ得る。他の制御パケットを含む他のパケットはPID 0パケット内を参照させられる。具体的に、PID 0制御パケットはPID 0制御パケットの直後にあるパケットのパケットタイプを識別するテーブルを含む。PID 0制御パケットではないすべてのパケットに対して、ヘッダは、そのパケットの直前にあるPID 0制御パケットに含まれるテーブルを指すポインタとなるPIDを含む。たとえば、PID 100のパケットに含まれるデータタイプは、そのパケットの直前のPID 0制御パケットのテーブルにあるPID 100と関連したエントリを調べることによって判断されるであろう。
ビデオ層では、MPECファイル134はフレームデータの境界に従って分割される。上述のように、ビデオフレームを表わすデータの境界とトランスポートパケットの境界との間には相関関係はない。図示する例では、あるビデオフレーム「F」のためのフレームデータが括弧270によって示されるように配置される。具体的に、フレーム「F」のためのフレームデータは、ビデオパケット251内の点280からビデオパケット251の終わりまでと、ビデオパケット256内と、ビデオパケット258の初めからビデオパケット258内の点282までとに配置される。したがって、点280および282はフレーム「F」のためのピクチャパケットの境界を表わす。第2のビデオフレーム「G」のためのフレームデータは括弧272によって示されるように配置される。フレーム「G」のためのピクチャパケットの境界は括弧276によって示される。
MPEG−2トランスポートストリームに対して上述したものと類似の構造もMPEG−1形式、Quicktime形式、AVI形式、Proshare形式およびH.261形式を含む他のデジタルオーディオビジュアル記憶形式において存在する。好ましい実施例では、ビデオアクセス点、タイムスタンプ、ファイル位置等の標識は、多数のデジタルオーディオビジュアル記憶形式が同じサーバによってアクセスされて広範囲の記憶形式からの異なるクライアントに対処できるように記憶される。好ましくは、形式に特定的な情報および技術のすべてがタグ発生器およびストリームサーバに組込まれる。サーバの他の要素のすべてが形式に依存する。
例示的タグファイル
例示的タグファイル132の内容をここで図2bを参照して説明する。図2bでは、タグファイル132はファイルタイプ識別子202、長さ指示子204、ビット速度指示子206、プレー持続指示子208、フレーム数指示子210、ストリームアクセス情報212および初期MPEGタイムオフセット213を含む。ファイルタイプ識別子202はMPEGファイル134上の物理的ラッピングを示す。たとえば、ファイルタイプ識別子202はMPEGファイル134がMPEG−2ファイルであるか、MPEG−1ファイルであるかを示すであろう。
長さ指示子204はMPEGファイル134の長さを示す。ビット速度指示子206はMPEGファイル134の内容が再生中にクライアントに送られるべきビット速度を示す。プレー持続指示子208は、通常の再生動作の間に、MPEGファイル134の内容全体を再生するために必要な時間の量をミリ秒単位で特定する。フレーム数指示子210はMPEGファイル134内で表わされるフレームの総数を示す。
ストリームアクセス情報212はMPEGファイル134内に記憶されているビデオおよびオーディオストリームにアクセスするのに必要な情報である。ストリームアクセス情報212はビデオエレメンタリストリームIDおよびオーディオエレメンタリストリームIDを含む。MPEG−2ファイルでは、ストリームアクセス情報212はビデオPIDおよびオーディオPIDも含む。タグファイルヘッダはまた他の特徴を実行するために用いられ得る他の情報を含んでもよい。
上述の一般的な情報に加え、タグファイル132はMPEGファイル134内の各フレームのためのエントリを含む。ビデオフレームのためのエントリはフレームを表わすデータの位置に対するさまざまなMPEG層の状態に関する情報を含む。MPEG−2ファイルでは、各エントリがMPEG−2トランスポートステートマシンの状態と、プログラムエレメンタリストリームステートマシンの状態と、ビデオステートマシンの状態とを含む。MPEG−1ファイルでは、各エントリがパックシステムMPEGストリームの現在の状態とをビデオステートマシンの状態とを含む。
タグファイルエントリ214は個々のMPEG−2ビデオフレーム「F」のために記憶されるタグ情報をより詳細に示す。プログラムエレメンタリストリームステートマシンの状態に関し、タグエントリ214は表1に示す情報を含む。
Figure 2009213167
ビデオステートマシンの状態に関し、タグエントリ214は表2に示す情報を含む。
Figure 2009213167
トランスポート層ステートマシンの状態に関し、タグエントリ214は表3に示す情報を含む。
Figure 2009213167
たとえばエントリ214が図2bのフレーム「F」のためのものであると想定する。フレーム「F」と関連したサイズ220は括弧274によって囲まれるビットであろう。非ビデオパケットの数222は5(パケット252、253、254、255および257)であろう。埋込パケットの数224は1(パケット255)であろう。開始位置226はMPEGファイル134の初めと点280との間の距離であろう。開始オフセット23
4はパケット241の初めと点280との間の距離であろう。終了オフセット236は点282とパケット258の終わりとの間の距離であろう。
MPEG−1ファイルのフレームごとに発生されるタグ情報を図2cに示す。図2cを参照して、エントリ214は、システムステートマシン、パックステートマシンおよびビデオステートマシンの3つのステートマシンの状態を示すデータを含む。具体的に、タグエントリ214は表4に示す情報を含む。
Figure 2009213167
タグ情報はビデオフレームの初めにおける関連したステートマシンの状態を示すデータ
を含む。しかしながら、他のデジタルオーディオビジュアル形式によって採用されるステートマシンは、MPEG−1形式において採用されるステートマシンがMPEG−2において採用されるものとは異なるように、上述のものとは異なる。したがって、ビデオのフレームごとに記憶される特定のタグ情報は、対応するファイルのデジタルオーディオビジュアル形式に基づいて変化する。
MDS
MDS112はMDSサーバ110とディスク114のような1つ以上の不揮発性記憶装置とを含む。図示する実施例では、MPEGファイル134が数多くのディスク114にまたがって記憶されてシステムの障害許容力を高める。たとえば図3に示すマルチディスクシステム300を考える。システム300はN+1個のディスクドライブを含む。MPEGファイルがN+1個のディスクのうちN個に記憶される。MPEGファイルはセクション350、352、354および356に分割される。各セクションはN個のブロックに分割され、NはMPEGファイルを記憶するために用いられるディスクの数である。各ディスクは種々のセクションからの1ブロックを記憶する。
図示する例では、MPEGファイルの第1のセクション350がディスク302、304および306にそれぞれ記憶されたブロック310、312および314を含む。第2のセクション352がディスク302、304および306にそれぞれ記憶されたブロック316、318および320を含む。第3のセクション354がディスク302、304および306にそれぞれ記憶されたブロック322、324および326を含む。第4のセクション356がディスク302、304および306にそれぞれ記憶されたブロック328、330および332を含む。
MPEGファイルを記憶するために用いられないディスク308は、検査ビットを記憶するために用いられる。検査ビットの各組がMPEGファイルのセクションに対応し、対応のセクションに属するさまざまなブロックに基づいて構成される。たとえば、検査ビット334はセクション350に対応し、第1のセクション350内の全ブロックに対して排他的OR演算を行なうことによって発生される。同様に、検査ビット336、338および340はセクション352、354および356内の全ブロックに対してそれぞれ行なわれる排他的ORの積である。
システム300は、システム内の任意のディスクが正しく動作しなくなると悪いディスクの内容が残りのディスクの内容に基づいて復元され得るので、単一のディスクシステムよりも高い障害許容力を有する。たとえば、ディスク304が機能しなくなると、ブロック312の内容がセクション350内の残りのブロックとセクション350に関連した検査ビット334とに基づいて復元され得る。同様に、ブロック318はセクション352内の残りのブロックとセクション352に関連した検査ビット336とに基づいて構成され得る。この誤り検出および訂正技術は「安価なディスクの冗長アレイ」またはRAIDとして一般に知られている。
RAIDを用いるリアルタイムの再生の間、ビデオポンプ120は、全情報がディスクから読出された誤りのあるデータを復元するために利用可能であるように、セクションごとにMPEGファイルを読出し、処理する。リアルタイムでRAIDを行なうための技術は、引用によりここに援用される米国特許第5,623,595号「冗長アレイデータ記憶システムにおける破壊データの透過的リアルタイム復元のための方法および装置(“METHOD AND APPARATUS FOR TRANSPARENT, REAL TIME RECONSTRUCTION OF CORRUPTED DATA IN A REDUNDANT ARRAY DATASTORAGE SYSTEM”)」に説明されている。
通常の再生動作の間、前のセクションからのデータがMPEGデータストリーム内で送
信されている間に、セクション全体を読出すために必要なディスクアクセスを行なうための十分な時間がある。しかしながら、早送りおよび早巻戻し動作の間では、MPEGデータストリーム内で送られるセクション内のデータはすべてではない。送られるデータがより少ないので、データ送信にかかる時間はより短い。したがって、後のセクションを読出、処理するために利用可能な時間はより少ない。
たとえば、セクション350からの1つのフレームXだけが早送り動作の間に表示するよう選択されたと想定する。フレームXのためにセグメントを送信するのにかかる時間の間、次に選択されたフレームYのためのデータが読出され、処理される。次のフレームYがセクション352内にあると想定する。MPEGファイルが(RAIDに対して必要とされるように)セクションごとに読出され、処理されるならば、セクション352内の全ブロックが単一のフレームXの送信の間に読出され、処理される。割当てられた時間内でセクション352の全ブロックを読出し、処理することが可能であっても、必要なディスクアクセスを行なう際に消費されるであろう資源のためにそれを行なうことはなお望ましくないかもしれない。
以上を鑑み、ビデオポンプ120は早送り動作および早巻戻し動作の間にRAIDを用いない。むしろ、ビデオポンプ120はストリームサーバ118から受取るコマンドにおいて示されるデータのみを読出し、処理し、送信する。したがって、上の例では、フレームFのためのフレームデータのみがフレームXのためのセグメントの送信の間に読出され、処理されるであろう。早送り動作および早巻戻し動作の間にRAIDをバイパスすることによって、ディスク帯域幅は通常の再生動作の間に用いられるのと同じレベルからそれよりも下のレベルであり続ける。
RAIDがリアルタイムの早送り動作および早巻戻し動作の間に用いられないので、誤りのあるデータはこれらの動作の間に復元可能ではない。したがって、ビデオポンプ120が選択されたフレームのためのデータが破損しているか利用不可能であることを検出すると、ビデオポンプ120は問題のフレームに関連したセグメント全体を破棄する。このように、フレームに関連したデータを送ることができなければ、そのフレームのための接頭語データおよび接尾語データも送られない。しかしながら、接頭語データまたは接尾語データとともに送られるべきであった埋込パケットはなお送られる。
「セグメント」全体のデータを送ることによって、デジタルオーディオビジュアル形式との適合性が維持される。一実施例では、ビデオポンプ120がラインを満たすために埋込パケットを送って、正しい表示速度を維持する。好ましい実施例では、この動作はクライアントによって選択可能である。
データストライピング
上述のRAID技術は(アレイにおける全ディスクからの全データが並行して読出されるために)処理量と(誤り訂正による)信頼性との両方を改善する。処理量をさらに高めるため、RAIDがデータストライピングに関連して用いられてもよい。データストライピングを用いて、論理的に連続したデータのセグメントが総当たり式に複数の物理装置(または物理装置の組)に書込まれる。総当たりシーケンスにおける各記憶素子に記憶されるデータの量は「ストライプ」と呼ばれる。総当たりシーケンスにおける各記憶素子がRAIDディスクのアレイである場合、データの各セグメントはRAIDストライプと呼ばれる。
図3Bは、データストライピングがRAIDと関連して用いられるシステムを示す。図3Bのシステムは、図3Aの各ディスクが一連のM個のディスクに置き換えられたことを除き、図3Aのそれと類似している。したがって、ディスク302はディスク302−1
から302−Mに置き換えられている。ディスク302上に記憶されるセグメント部分は順次、総当たり式にディスク302−1から302−M上に記憶されている。たとえば、MPEGファイルが50個のセグメントに分割され、ディスク302が25個のディスクに置き換えられていると想定する。これらの状況下では、ディスク302−1がセグメント1および26の第1の部分を記憶するであろう。ディスク302−2がセグメント2および27の第1の部分を記憶するであろう。以下同様である。
データストライピングは、異なる処理が異なるディスクアレイからの読出を並行して行なうことができるので処理量を高める。たとえば、あるデータポンプがディスク_1,1からディスク_1,N+1を含むRAIDアレイからのMPEGファイルの第1のセグメントを読出している間に、別のデータポンプがディスク_2,1からディスク_2,N+1を含むRAIDアレイからの同じMPEGファイルの第2のセグメントを同時に読出すことができる。
処理性能の理由のため、読出および書込は別個のチャンク、一般にはディスクRAIDストライプにおいて起こる。代表的なデジタルビデオ配信システムでは、各アクセスユニットが256kBまたは2メガビットであり、内容は2Mb/secMPEGである。したがって、各RAIDストライプがビデオの約1秒にほぼ対応するが、これは内容ビット速度およびサーバ構成に依存して1ストライプ当たり約0.2秒から約10秒の範囲で容易に変動可能である。
クライアント
オーディオビジュアル情報配信システム100は、1つ以上のクライアント、たとえばクライアント122を含む。クライアント122はデジタルオーディオビジュアルデータのストリームに含まれるオーディオビジュアル情報をデコードするように構成された装置を一般に表わす。たとえば、クライアント122はテレビのような出力装置に結合された1組のトップコンバータボックス(a set top converter boxes)であってもよい。クライアント122は、デジタルデータストリームをデコードするためのデコーダ126と、情報をストリームサーバ118に通信するための制御ユニット124とを含む。
ストリームサーバ118は制御ネットワーク140によってクライアント122からの情報を受信できる。制御ネットワーク140は2つ以上の装置の間の通信を与えるいかなるネットワークであってもよい。たとえば、制御ネットワーク140は高帯域幅ネットワーク、X.25回路または電子機械工業会(EIA)232(RS−232)シリアルラインであってもよい。
クライアント122は制御ネットワーク140によってストリームサーバ118およびデータベース116と通信する。たとえば、クライアント122は問合わせをデータベース116に送って、何を現在見ることができるのかに関する情報を要求する。データベース116は要求された情報をクライアント122に戻すことによって応答する。クライアント122のユーザは次に、特定の位置および特定の速度で始まる特定のオーディオビジュアル作品を見ることを選択できる。クライアント122はオーディオビジュアルデータストリームおよび制御情報の送信の開始を要求して、ネットワーク140からストリームサーバ118への進行中のデジタルオーディオビジュアル送信の再生に影響を及ぼす。
ビデオポンプおよびストリームサーバ
ビデオポンプ120はストリームサーバ118に結合され、ストリームサーバ118からコマンドを受取る。ビデオポンプ120は、ビデオポンプ120がディスク114からデータを記憶し、引出すようにディスク114に結合される。
ストリームサーバ118との通信に加え、クライアント122が高帯域幅ネットワーク150によってビデオポンプ120から情報を受信する。高帯域幅ネットワーク150は大量のデータを送信可能な回路型ネットワークリンクの如何なるタイプであってもよい。回路型ネットワークリンクは、データの宛先が送信プロトコルではなく基礎をなすネットワークによって保証されるように構成される。たとえば、高帯域幅ネットワーク150は非同期伝送モード(ATM)回路または物理タイプのライン、たとえばT1またはE1ラインであってもよい。さらに、高帯域幅ネットワーク150は光ファイバケーブル、ツイストペア導体、同軸ケーブル、または無線通信システム、たとえばマイクロ波通信システムを利用してもよい。
ネットワーク150は代替的に、比較的低い帯域幅のネットワークか、または高帯域幅通信媒体と低帯域幅通新媒体との組合せであってもよい。たとえば、ネットワーク150の一部が比較的高い帯域幅のATM回路を含んでもよいが、28.8Kモデムのような比較的低い帯域幅の装置がビデオ情報をネットワークからクライアント122へと伝えるために下流で用いられる。
オーディオビジュアル情報配信システム100は、ビデオポンプ120のようなサーバに大量のデータをディスク114から、高帯域幅ネットワークによってクライアント122へと最小のオーバーヘッドで送信させる。加えて、オーディオビジュアル情報配信システム100は、クライアント122に制御ネットワーク140による標準的ネットワークプロトコルを用いて要求をストリームサーバ118に送信させる。好ましい実施例では、高帯域幅ネットワーク150と制御ネットワーク140とのための基礎をなすプロトコルは同じである。ストリームサーバ118は単一のコンピュータシステムからなってもよく、サーバとして構成された複数の演算装置からなってもよい。同様に、ビデオポンプ120は単一のサーバ装置からなってもよく、複数のこのようなサーバからなってもよい。
特定のデジタルオーディオビジュアルファイルからデジタルオーディオビジュアルデータストリームを受信するために、クライアント122は要求をストリームサーバ118に送信する。この要求に応答して、ストリームサーバ118はコマンドをビデオポンプ120に送信して、ビデオポンプ120に、要求されたデジタルオーディオビジュアルデータストリームを、そのデジタルオーディオビジュアルデータストリームを要求したクライアントまで送信させる。ライブフィードでは、ビデオサーバ106が、ビデオポンプ120がファイル134からのビデオストリームをクライアント122へと送るのと同時に、ビデオストリームをビデオファイル134へと記憶させる。
ストリームサーバ118からビデオポンプ120へと送られるコマンドは、クライアントの要求に特定的な制御情報を含む。たとえば、制御情報は、所望のデジタルオーディオビジュアルファイル、デジタルオーディオビジュアルファイル内の所望のデータの初めのオフセットと、クライアントのアドレスとを識別する。特定のオフセットで有効なデジタルオーディオビジュアルストリームを生み出すために、ストリームサーバ118はまた「接頭語データ」をビデオポンプ120に送り、ビデオポンプ120に対して接頭語データをクライアントに送るよう要求する。以下により詳細に説明するように、接頭語データは、クライアントがデジタルオーディオビジュアルファイル内の特定の位置からのデジタルオーディオビジュアルデータを受取る準備をさせるデータである。
ストリームサーバ118からコマンドおよび制御情報を受信した後、ビデオポンプ120はディスク114上の特定のデジタルオーディオビジュアルファイル内の特定の位置からデジタルオーディオビジュアルデータを引出し始める。説明の目的のため、オーディオビジュアル情報配信システム100は1つ以上のMPEG形式に従ってオーディオビジュアル情報を配信すると想定する。したがって、ビデオポンプ120はディスク114上の
MPEGファイル134からオーディオビジュアルデータを引出す。
ビデオポンプ120は接頭語データをクライアントに送信し、次に特定の位置から始まるディスク114から引出されたMPEGデータをクライアントへと継ぎ目なく送信する。接頭語データは、特定の位置にあるMPEGデータが続く場合、MPEG適合性遷移パケットを生み出すパケットヘッダを含む。第1のパケットに続くデータがMPEGファイル134から順次引出され、したがって一連のMPEG適合性パケットを構成する。ビデオポンプ120はこれらのパケットを高帯域幅ネットワーク150によって要求するクライアントへと送信する。
要求するクライアントは接頭語データから始まるMPEGデータストリームを受信する。クライアントはMPEGデータストリームをデコードして、MPEGデータストリームにおいて表わされるオーディオビジュアルシーケンスを複製する。
時期尚早の読出の回避
MPEGストリームがエンコーダ101によって発生されているのと同時にクライアント122がMPEGストリームをプレーしているとき、クライアント122が機能停止する(有効な内容データの終わりに達したため)、または悪いデータをプレーする(現在利用可能な内容データの終わりを超えて読出したため)ことが確実にないようにするため保護策が取られなければならない。ビデオポンプ120が行なうディスク114のストライプの読出が早すぎれば、ビデオポンプ120は無効データをクライアント122に送り、意図しない内容または不要部分(不適切な内容)を表示させてしまう。このような早すぎる読出は、たとえばディスク114上にまだ記憶されていないビデオストリームの部分を表示するようユーザが要求した場合に起こる。これを防ぐため、MPEGファイル134のためのファイル終わり情報が維持されて現在のファイルの終わり134を示す。より多くの内容データがファイル134に加えられると、新しいデータがアクセス可能となるようにファイル終わり情報が更新される。
早すぎる読出を避けるアプローチの1つは、ディスク114上の内容のテーブルを新しいファイル終わり値で繰返し更新し、ビデオポンプ120にディスク114からストライプを読出す前にこの値を検査させることである。MDSサーバ110はファイルの終わりを更新して、新しい内容がディスク114へとうまく記憶されたことが証明された後にのみ、内容ファイル134が新しい内容を含むことを示す。残念ながら、このファイル終わり情報がダイナミックメモリに保持されることが保証されなければ、この技術は更新の待ち時間の期間における予測困難なジッタに繋がる。
早すぎる読出を避ける他のアプローチは、内容を読出している全処理に対してMDSサーバ110が新しいファイル終わり情報を能動的に送ることである。したがって、MDSサーバ100は内容データをディスク114上のファイル134へと記憶させ、内容が記憶されたことが確認されるのを待ち、次に、新しく記憶された内容の存在を示すメッセージを内容データを読出す全処理(たとえば、ビデオポンプ120)に対して送信する。MDSサーバ110は、周期的に(たとえば、5秒ごとに)または予め定められた量の新しい内容データがうまく記憶された後に(たとえば、1メガバイトごとに)このようなファイル終わり通知メッセージを作ってもよい。残念ながら、通知時間もまた内容の到着時間のばらつきのためにジッタを起こし、これはエンコーダ101と、それとビデオサーバ106との間のネットワークと次第である。
一実施例に従うと、タグ情報は現在のファイルの終わりを示すように用いられる。具体的に、ビデオサーバ106はタグバッファ108からのタグ情報をMDS112による記憶のために送ることによって、ファイル134のファイルの終わりを効果的に更新する。
内容の特定的な部分に対応するタグ情報がビデオサーバ106によって送信されるとすぐに、ビデオポンプ120がビデオの特定的な部分を自由にシークすることができるようになる。ビデオの特定的な部分に対応するタグ情報が解放されるまで、ビデオポンプ120はビデオの対応の部分のシークを行なわないかもしれない。最新のタグ情報が現在のファイルの終わりを示すので、新しく接続されたユーザは最新のタグ情報に関連した内容をシークし、リアルタイムの速度でフィードをプレーし始めればよい。
最小タグ遅延期間
クライアント122が機能停止したり、悪いデータをプレーしたりすることがないようにするために、タグバッファ108からMDS112へのタグデータの送信が遅延される。好ましくは、遅延の持続期間は関連の内容データのアクセスが早すぎないことを確実とするのに十分な長さである。他方、必要以上に長いタグデータ遅延は内容がエンコードされてからユーザが内容をシークまたはスキャンできるようになるまでの待ち時間を増大させる。したがって、最小のタグ遅延期間を決定し、最小のタグ遅延期間のためにタグバッファ108内のタグデータをバッファ処理することが望ましい。タグデータ項目に対する最小のタグ遅延期間はエンコーダ101からビデオポンプ120への対応の内容データの配信にかかわる最大の待ち時間によって決定される。
ビデオサーバ106はネットワークバッファ152および書込バッファ154を含む。一般に、ビデオサーバ106は、書込バッファ154からの内容データをディスク114へと書込むのと同時にチャネル128からの内容データをネットワークバッファ152へと読出す。RAID記憶技術を用いる実施例では、内容データは1つのRAIDストライプに対応する単位でビデオサーバ106内において受信され、バッファ処理される。
ビデオポンプ120はプリフェッチユニット146およびバッファ144を含む。ビデオポンプ120はディスク114からの内容データを非同期に読出す。内容データを読出すため、プリフェッチユニット146は内容データの特定の部分の送信を要求し、ディスク114は要求された内容データを送るかまたは要求されたデータを送ることができないと示すことによって応答する。待ち時間の中には、プリフェッチユニット146がデータを要求したときからデータがビデオポンプ120によって受信されるときの間に起こるものもある。
ファイル134からの内容データがビデオポンプに到着すると、ビデオポンプ120はファイル134からの内容データをバッファ144へと記憶させる。帯域幅がネットワーク150上で利用可能となると、ビデオポンプ120は内容データをバッファ144からネットワーク150によってクライアント122へと送信する。ビデオサーバ106におけるのと同様に、内容データは、RAID記憶技術が用いられる場合は1つのRAIDストライプに対応する単位ごとにビデオポンプ120内でプリフェッチされ、バッファ処理される。
上述のように、ビデオポンプ120は一般に、あるRAIDストライプからのデータをネットワークバッファへとコピーし、次のストライプをプリフェッチする。同様に、ビデオサーバ106は一般に内容のあるRAIDストライプをデータ記憶装置へと書込み、ネットワークから第2のメモリバッファへのデータを受取る。したがって、一般に「通過状態」のRAIDストライプが4つあるので、任意の内容データが発生されてからそれがプレー可能とされるようになるまでの待ち時間は、ほぼ4つのRAIDストライプに相当するデータを配信するのにかかる時間である。
RAIDストライプは通常1ディスク当たり128Kビットまたは256Kビットである。RAIDストライプにおける全ディスクの合計はしたがって1から2メガビットであ
る。代表的なMPEGファイルでは、各RAIDストライプがビデオの1秒にほぼ対応する。したがって、4つのRAIDストライプを通過状態にさせると約4秒の最小待ち時間となる。
タグデータに対する意味は、対応の内容がプレーできる(すなわち、2秒間ディスク上に継続して記憶された)ときに、他のエンティティによる使用のために所与のタグがビデオサーバ106によって解放されるにすぎないことを示す。したがって、内容配信が4秒の待ち時間であるビデオ配信システムにおいて、タグバッファ108に保たれるタグデータが送信されるのは対応の内容が発生してからわずか4秒後である。
一実施例に従うと、ジッタおよび機能停止の両方がタグバッファ108からのタグデータのバッチを12秒ごとにMDS112に送信することによって回避される。12秒ごとに送信されるタグデータバッチは少なくとも12秒経ているタグバッファ108内の全タグ情報を含む。発生してから12秒未満のタグデータはタグバッファ108に保たれ、次の12秒の終わりで一括してMDS112に送信される。MDSサーバ110はビデオファイル134を読出しているさまざまなエンティティ(たとえば、ビデオポンプ120)へとタグデータを送り、次にタグ情報をディスク114上に記憶させる。
デジタルチャネル
スポーツイベントのような特定のオーディオビジュアル作品に対して発生されたビデオファイルはその長さが有限である。したがって、それらの対応の内容ファイルが消費する記憶媒体の量も有限であり、後の観察のために内容ファイル全体を永続的に記憶することが実用的となる。しかしながら、伝統的なテレビ「チャネル」はオーディオビジュアル作品の決して終わりのないシーケンスからなる。デジタルチャネルの全内容を永続的に保持すると、記憶媒体が容認不可能に高い速度で連続して消費されるであろう。他方、元々放送された時間にユーザが見ることができなかったかもしれないプログラムをユーザが見ることができるのが望ましい。たとえば、デジタルチャネルによって放送されたプログラムの最後の24時間に視聴者がアクセスできることが望ましいであろう。この発明の一実施例に従うと、より古いデータが「期限切れ」して新しいデータで上書きされる、無限フィードに対する履歴ビューイング(historical viewing)が連続的有限バッファの使用によって設けられる。
内容の期限切れ
データ、たとえば生涯、女性のためのテレビ(Lifetime, Television for Women)の最後の24時間の連続的バッファ処理を与えるために、より古い内容は対応のタグとともに削除される必要がある。このような連続的バッファを実現するためにさまざまなアプローチが取られ得る。
内容データに関し、連続的バッファを実現するための最も簡単なアプローチは24時間のフィート数を保持するのに十分な大きさの単一のファイルを作ることである。ファイルは次に循環バッファとして扱われる。具体的に、初めの24時間のファイルが作られた後、MDSサーバ100が現在の「挿入点」としてファイルの初めを確立するであろう。MDSサーバ110は次に挿入点において古いデータ上に新しい内容データを記憶させ、挿入点を新しいデータの最後に移動させるであろう。挿入点がファイルの最後に当たれば、それは再びファイルの初めに循環する。
残念ながら、この単一ファイル循環バッファアプローチはファイルの時間の延長または短縮を困難にする。たとえば、挿入点がファイルの真ん中にあり、48時間にわたるようファイルを拡大する決定が行なわれると想定する。これらの状況下では、MDSサーバ110は、挿入点がファイルの最後に達したときにさらなる12時間にわたって時間を延長
し始めることができないであろう。単一循環バッファのアプローチを用いると、クライアントが再生を停止し、「水平方向に」それを移動させたか、したがって、クライエントが再開したときにそれが見ていた内容が上書きされているかどうかの検出が困難である。
図4は予め定められた量の無限ビデオフィードのバッファ処理に対する代替的でより融通性のあるアプローチを示す。図4を参照すると、内容データがより小さいファイル402−414のグループに記憶されている。より小さいファイルの各々がバッファ処理された内容データのサブセットを記憶している。図示する実施例では、ファイル402−412の各々が2時間に値する内容を記憶している。ファイル414は現在1時間の内容を記憶している。現在の挿入点はファイル414の最後である。ファイル414が2時間の内容に達すると、ファイル414は閉じられ、新しい内容ファイルが作られる。内容ファイルが古くなると、より古い内容ファイルが削除されて新しいファイルのためのディスク空間を空ける。再生中、ファイルは内容データがクライアントに送られるときにビデオポンプによって継ぎ目なく結合される。
図4に示すバッファ処理技術が用いられると、緩やかな期限切れ方針が設定可能である。具体的には、全クライアントが(ファイルと、そのファイルに先行する任意のファイルとに対して)終了するまでファイルが削除されないという方針が確立され得る。たとえば、ユーザはフィードの最後の12時間にアクセスを許されると想定する。ファイル414が完了すると、ファイル404−414が最近の12時間を含むので、ファイル402はもはや必要とされない。しかしながら、クライアントは現在ファイル402の内容を見ているかもしれない。したがって、ファイル402は直ちには削除されない。新しいクライアントがファイル402へのアクセスを防がれるが、現在ファイル402にアクセスしているクライアントはファイル402のプレーを完了させることを許される。最後のクライアントがファイル402のプレーを終えると、ファイル402は削除される。
既存のファイルの数の上限を定めるために、クライアントが古いファイルのプレーを終えるための時間の制限が確立され得る。たとえば、ファイル414が完了すると、新しいクライアントがファイル402へのアクセスを妨げられるだけでなく、ファイル402に現在アクセスしているクライアントがファイル402のプレーを終えるために2時間を与えられる。2時間後任意のクライアントがなおファイル402を読出しているかどうかにかかわらずファイル402は削除されてディスク空間を空ける。
タグ期限切れ
内容ファイル(たとえば、ファイル402)が削除されると、削除された内容ファイルに対応するタグが「期限切れした」と見なされ、したがってこれもまた削除可能である。理想的には、古いタグの容易な削除と新しいものの追加とを可能にするデータベーステーブルのような形式にタグが記憶される。残念ながら、データベーステーブルからのタグの記憶および引出に関連したオーバーヘッドは非常にコストがかかるので、ライブフィードの条件下では実用的ではない。アクセスの容易さおよび速度のために、タグはしたがって典型的に平坦なファイルに記憶される。
図5を参照すると、平坦なタグファイル500が示される。平坦なタグファイル500はヘッダ502とそれに続く1組のタグ504とを含む。ヘッダ502は、タグファイル500内のタグが対応する内容ファイルの組を含んだタグファイル500の内容に関する情報を含む。
新しいタグが到着すると、そのタグはタグファイル500に付加される。タグファイル500が連続的フィードと関連付けられるので、タグファイル500は期限切れタグを削除するための機構が設けられなければ無限に成長する。しかしながら、タグファイル50
0自身はタグファイル500内のいくつかのタグ(たとえば、タグ510)の期限切れ後でさえも有効であり続けるべきであり、これは、クライアントがまだ期限切れしていないタグファイル500内のタグ512のアクセスおよび使用を続けるかもしれないためである。したがって、期限切れ機構はタグファイル500からの期限切れタグ510を単に削除することはできない。
タグファイル500から期限切れしたタグを直接的に削除するのではなく、一時タグファイル514が、新しいヘッダ506を構成し、かつ新しいヘッダ506に古いタグファイル500からの期限切れしていないタグ512のコピーを付加することによって作られる。新しいヘッダ506は、削除された内容ファイルのためのタグを含むことをタグファイル500が示すが、ヘッダ506内のデータは示さないことを除き、古いヘッダ502と同じ情報を含む。
新しいタグファイル514が作られている間、新しいタグデータは新しいタグファイル514と古いタグファイル500との両方に付加される。新しいタグファイル514が作られた後、新しいタグデータは古いタグファイル500ではなく新しいタグファイル514に付加される。新しいタグデータがタグデータ512の後に付加されることを確実とするため、コピーされるタグ512のための記憶場所が新しいタグファイル514内で予め割当てられ、新しいタグは、既存のタグ512が予め割当てられた記憶場所へとコピーされている間にはその予め割当てられた記憶場所の後に付加される。
期限切れしていないタグ512のすべてが新しいタグファイル514にコピーされると、古いタグファイル500は閉じられ、新しいタグファイルが古いタグファイル500の上で別名を付けられる。新しいタグファイル514が別名を付けられた後、古いタグファイル500を用いていたタグファイルリーダ(たとえば、ストリームサーバ118)が、新しいタグファイル514のヘッダに含まれる情報に基づいてリセットされる。一実施例(「プッシュモデル」)に従うと、メッセージがタグファイルリーダに送られて、それらに、タグファイルが変更されたこと、それらが新しいタグファイル514内のヘッダ情報に基づいて自ら更新すべきことを明らかに伝える。
代替的な「プルモデル」実施例に従うと、タグファイルリーダは明らかには伝えられない。それらは、タグを読出そうとする試みが失敗すれば新しいタグファイルのヘッダ情報に基づいて読出、自らを更新するよう構成される。プルモデルアプローチは、多くの状況では不必要なメッセージの送信が回避されるという利点を有する。
特定の内容セグメントと関連したタグが削除されるとき、クライアントは内容セグメントを見続けることができる。しかしながら、クライアントは早送りおよび巻戻しのような、削除されたタグ情報を必要とする非順次アクセスを行なうことができない。
タイムスタンピング
タグ情報は対応の内容データにおける各フレームのためのタイムスタンプ情報を含む。デコードの目的のため、タイムスタンプ情報は一般にフィードの初めに対する時間(すなわち、「提示時間」)を表わし、その提示時間に対応するフレームの内容ファイル内のバイトオフセットにマッピングされる。しかしながら、連続的フィードでは、このような相対時間値は無意味である。たとえば、局が放送を始めた時間から5,345,789.76秒後に始めるのではなく、1997年1月21日16時30分23秒に再生を始めることをユーザが要求するかもしれない。
この発明の一実施例に従うと、絶対時間値は「0」の相対時間値に対応する絶対時間値を記憶させることによって支持される。したがって、クライアントが絶対時間からの再生
を特定すると、「0」に関連した絶対時間値が特定の絶対時間値から減算されて相対時間値を生む。相対時間値は次にストリームサーバ118によって用いられて適切なタグ情報を識別し、タグ情報はストリームサーバ118によって用いられて、ビデオポンプ120に内容ファイル134内の適切な場所からの内容の送出しを始めさせる。
一般に、デジタルビデオのトランスポート形式はタイムスタンプを表わすために固定数のビット(たとえば、33ビット)を与える。連続的フィードの環境では、相対タイムスタンプ値がトランスポート形式において利用可能なビット数によって表わされ得ない数に必然的に達する。これが起こると、タイムスタンプ値は「ラッピング(循環)」を行ない、再び0で始まる。
ラッピングの問題に対処するため、より正確なラップ値(たとえば、64ビット)が維持される。シークまたは他の非順次アクセスを行なう際、ストリームサーバ118はより正確なタイムスタンプ値を用いる。内容をクライアントに送信する際、ビデオポンプ120はより精度の低いタイムスタンプを送る。
ここに説明したビデオエンコードおよび配信技術によって、これまではプログ提供者の領域であった機能をユーザが制御可能となる。たとえば、プログラム提供者は現在、スーパーボールのどのプレーを視聴者に対してリプレーするか、それらがリプレーされる速度、それらがリプレーされる回数を決定している。
しかしながら、視聴者はどのプレーが複数回見るに値するかについて非常に異なる意見を持っているかもしれない。たとえば、2人の視聴者が特定の呼出の精度について議論するかもしれない。しかしながら、プログラム提供者はその呼出を起こしたプレーがリプレーするのに十分であるほど重要とは考えないかもしれない。ここに与えられた技術を用いると、どのプレーが直ちにリプレーされるべきか、それらがリプレーされる速度、それらがリプレーされる回数を視聴者が自身で決定することができる。
以上の明細書において、この発明はその具体的な実施例を参照して説明された。しかしながら、この発明のより広い趣旨および範囲から逸脱せずにさまざまな変更および変化が与えられ得ることが明らかである。したがって、明細書および図面は限定的ではなく例示的なものと見なされるべきである。

Claims (16)

  1. ビデオの連続的フィードを記憶させるための方法であって、
    デジタルビデオ形式で前記連続的フィードをエンコードすることによって作られるデジタルデータストリームを受信するステップと、
    現在のファイル内に前記デジタルデータストリームを記憶させるステップと、
    前記現在のファイルが予め定められた条件を満たすと前記現在のファイルとして新しいファイルを確立するステップとを繰返して行なうことによって一連の内容ファイルを生じるステップと、
    前記一連の内容ファイルが予め定められた量の前記連続的フィードよりも多い量を含む場合、前記一連の内容ファイルにおける最も古い内容ファイルを削除するステップとを含む、方法。
  2. 任意のリーダが前記特定の内容ファイルからの情報を現在プレーしているかどうかを判断するステップと、
    リーダが情報を現在プレーしていれば、前記最も古い内容ファイルから削除するステップを遅延させるステップとをさらに含む、請求項1に記載の方法。
  3. 前記遅延させるステップは、
    予め定められた期間が経過するか、または、
    前記最も古い内容ファイルからの情報を現在プレーしているリーダがなくなるまで、削除するステップを遅延させることによって行なわれる、請求項2に記載の方法。
  4. 前記一連の内容ファイルが予め定められた量の前記連続的フィードよりも多い量を含む場合、前記一連の内容ファイルにおける前記最も古い内容ファイルからのデータに新しいリーダがアクセスし始めないようにする、請求項1に記載の方法。
  5. 前記現在のファイルが予め定められた条件を満たすと前記現在のファイルとして新しいファイルを確立するステップは、前記現在のファイルが第2の予め定められた量の前記連続的フィードを含むと前記現在のファイルとして新しいファイルを確立するステップを含む、請求項1に記載の方法。
  6. 前記デジタルデータストリームに含まれるフレームに関する情報を示すタグ情報を発生し、記憶させるステップをさらに含む、請求項1に記載の方法。
  7. 前記タグ情報を発生し、記憶させるステップは、
    第1のタグファイルのための第1のヘッダを発生するステップと、
    前記第1のタグファイル内にタグ情報を連続して記憶させるステップと、
    前記第1のタグファイル内の1組のタグが無効になると、
    第2のタグファイルのための第2のヘッダを発生するステップと、
    前記1組のタグ以外の前記第1のタグファイル内のすべてのタグを前記第1のタグファイルから前記第2のタグファイルへとコピーするステップと、
    前記第2のタグファイル内に新しいタグ情報を連続して記憶させるステップと、
    前記第1のタグファイルを削除するステップとを含む、請求項6に記載の方法。
  8. 前記第1のタグファイルを削除するステップは、前記第1のタグファイルの上で前記第2のタグファイルに別名を付けるステップを含む、請求項7に記載の方法。
  9. ビデオの連続的フィードを記憶させるための命令のシーケンスを記憶したコンピュータ読出可能媒体であって、命令のシーケンスは、
    デジタルビデオ形式で前記連続的フィードをエンコードすることによって作られるデジタルデータストリームを受信するステップと、
    現在のファイル内に前記デジタルデータストリームを記憶させるステップと、
    前記現在のファイルが予め定められた条件を満たすと前記現在のファイルとして新しいファイルを確立するステップとを繰返し行なうことによって一連の内容ファイルを生じるステップとを行なうための命令を含み、
    前記一連の内容ファイルが予め定められた量の前記連続的フィードよりも多い量を含む場合、前記一連の内容ファイルにおける最も古い内容ファイルを削除するステップを含む、コンピュータ読出可能媒体。
  10. 任意のリーダが前記最も古い内容ファイルからの情報を現在プレーしているかどうかを判断するステップと、
    リーダが前記最も古い内容ファイルからの情報を現在プレーしていれば、削除するステップを遅延させるステップとを行なうための命令のシーケンスをさらに含む、請求項9に記載のコンピュータ読出可能媒体。
  11. 前記遅延させるステップは、
    予め定められた期間が経過するか、または、
    前記最も古い内容ファイルからの情報を現在プレーしているリーダがなくなるまで、削除するステップを遅延させることによって行なわれる、請求項10に記載のコンピュータ読出可能媒体。
  12. 前記一連の内容ファイルが前記連続的フィードの予め定められた量よりも多い量を含む場合、前記一連の内容ファイルにおける前記最も古い内容ファイルからのデータに新しいリーダがアクセスし始めないようにするステップを含む、請求項9に記載のコンピュータ読出可能媒体。
  13. 前記現在のファイルが予め定められた条件を満たすと前記現在のファイルとして新しいファイルを確立するステップは、前記現在のファイルが第2の予め定められた量の前記連続的フィードを含むと前記現在のファイルとして新しいファイルを確立するステップを含む、請求項9に記載のコンピュータ読出可能媒体。
  14. 前記デジタルデータストリームに含まれるフレームに関する情報を示すタグ情報を発生し、記憶させるステップを行なうための命令のシーケンスをさらに含む、請求項9に記載のコンピュータ読出可能媒体。
  15. 前記タグ情報を発生し、記憶させるステップは、
    第1のタグファイルのための第1のヘッダを発生するステップと、
    前記第1のタグファイル内にタグ情報を連続して記憶させるステップと、
    前記第1のタグファイル内の1組のタグが無効になると、
    第2のタグファイルのための第2のヘッダを発生するステップと、前記1組のタグ以外の前記第1のタグファイル内のすべてのタグを前記第1のタグファイルから前記第2のタグファイルへとコピーするステップと、前記第2のタグファイル内に新しいタグ情報を連続して記憶させるステップと、前記第1のタグファイルを削除するステップとを行なうステップとを含む、請求項14に記載のコンピュータ読出可能媒体。
  16. 前記第1のタグファイルを削除するステップは、前記第1のタグファイルの上で前記第2のタグファイルに別名を付けるステップを含む、請求項15に記載のコンピュータ読出可能媒体。
JP2009143624A 1997-10-22 2009-06-16 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置 Expired - Lifetime JP4659105B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/956,262 US6138147A (en) 1995-07-14 1997-10-22 Method and apparatus for implementing seamless playback of continuous media feeds

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000517550A Division JP4360513B2 (ja) 1997-10-22 1998-10-19 ビデオの連続的フィードを配信するためのシステム

Publications (2)

Publication Number Publication Date
JP2009213167A true JP2009213167A (ja) 2009-09-17
JP4659105B2 JP4659105B2 (ja) 2011-03-30

Family

ID=25497997

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2000517550A Expired - Lifetime JP4360513B2 (ja) 1997-10-22 1998-10-19 ビデオの連続的フィードを配信するためのシステム
JP2009143624A Expired - Lifetime JP4659105B2 (ja) 1997-10-22 2009-06-16 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置
JP2009143622A Expired - Lifetime JP4886009B2 (ja) 1997-10-22 2009-06-16 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000517550A Expired - Lifetime JP4360513B2 (ja) 1997-10-22 1998-10-19 ビデオの連続的フィードを配信するためのシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009143622A Expired - Lifetime JP4886009B2 (ja) 1997-10-22 2009-06-16 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置

Country Status (8)

Country Link
US (2) US6138147A (ja)
EP (2) EP1162828B1 (ja)
JP (3) JP4360513B2 (ja)
AU (1) AU755452B2 (ja)
CA (2) CA2606926C (ja)
DE (2) DE69837726T2 (ja)
HK (2) HK1041586A1 (ja)
WO (1) WO1999021362A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012211478A (ja) * 2011-03-31 2012-11-01 Kubota Corp 作業機

Families Citing this family (205)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
BR9307621A (pt) 1992-12-09 1999-06-15 Discovery Communicat Inc Central de operações processos para alocar uma dada quantidade de largura de banda para pluralidade de programas para transmitir uma pluralidade de programas para gerar um sinal de informação de controle de programa para auxiliar um empacotador de prgrama e para criar serviços de programa e vídeo próximo sobre o serviço demandado
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
TW303570B (ja) * 1995-09-29 1997-04-21 Matsushita Electric Ind Co Ltd
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6134243A (en) 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
US8046338B2 (en) * 1998-01-26 2011-10-25 At&T Intellectual Property Ii, L.P. System and method of organizing data to facilitate access and streaming
US7428547B2 (en) * 1998-01-26 2008-09-23 At&T Corp. System and method of organizing data to facilitate access and streaming
US7810123B1 (en) * 1998-02-18 2010-10-05 Verizon Corporate Services Group Inc. Method and system for interactive multimedia
US6731809B1 (en) * 1998-04-28 2004-05-04 Brother Kogyo Kabushiki Kaisha Moving picture data compression device
US7272298B1 (en) 1998-05-06 2007-09-18 Burst.Com, Inc. System and method for time-shifted program viewing
CN1867068A (zh) 1998-07-14 2006-11-22 联合视频制品公司 交互式电视节目导视系统及其方法
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US6553086B1 (en) * 1998-10-02 2003-04-22 Lg Electronics, Inc. Method and apparatus for recording time information for digital data streams
US6859799B1 (en) 1998-11-30 2005-02-22 Gemstar Development Corporation Search engine for video and graphics
US20060262813A1 (en) * 1998-12-18 2006-11-23 Digital Networks North America, Inc. Multi-channel video pump
US6473441B1 (en) * 1998-12-18 2002-10-29 Escient Convergence Corp Multi-channel video pump
US6748421B1 (en) * 1998-12-23 2004-06-08 Canon Kabushiki Kaisha Method and system for conveying video messages
KR100326144B1 (ko) * 1999-02-09 2002-03-13 구자홍 기록 디지털 데이터 스트림의 탐색정보 생성방법 및 이를이용한 탐색방법과, 그 장치
US6502194B1 (en) * 1999-04-16 2002-12-31 Synetix Technologies System for playback of network audio material on demand
AU6639800A (en) * 1999-08-13 2001-03-13 Vingage Corporation System and method for delivering video images
US7996878B1 (en) 1999-08-31 2011-08-09 At&T Intellectual Property Ii, L.P. System and method for generating coded video sequences from still media
AU7706500A (en) 1999-09-20 2001-04-24 Tivo, Inc. Closed caption tagging system
EP1102271B8 (en) 1999-11-05 2016-12-07 Sony Europe Limited Method of generating audio and/or video signals and apparatus therefore
US6704491B1 (en) 2000-01-27 2004-03-09 Micron Technology, Inc. Video review apparatus and method
US6973461B1 (en) * 2000-03-16 2005-12-06 Micron Technology, Inc. Method and apparatus for controlling reproduction of an audiovisual work
WO2001097084A2 (en) * 2000-06-12 2001-12-20 Cachestream Corporation Personalized content management
US6745011B1 (en) 2000-09-01 2004-06-01 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US6754470B2 (en) 2000-09-01 2004-06-22 Telephia, Inc. System and method for measuring wireless device and network usage and performance metrics
US7688803B1 (en) 2000-09-01 2010-03-30 Young Steven J System and method for coordinating between multiple telephony channels
US6766376B2 (en) 2000-09-12 2004-07-20 Sn Acquisition, L.L.C Streaming media buffering system
US7103906B1 (en) 2000-09-29 2006-09-05 International Business Machines Corporation User controlled multi-device media-on-demand system
US7650621B2 (en) 2000-10-11 2010-01-19 United Video Properties, Inc. Systems and methods for providing storage of data on servers in an on-demand media delivery system
US20020089602A1 (en) * 2000-10-18 2002-07-11 Sullivan Gary J. Compressed timing indicators for media samples
US8127326B2 (en) 2000-11-14 2012-02-28 Claussen Paul J Proximity detection using wireless connectivity in a communications system
CA2428946C (en) 2000-11-14 2010-06-22 Scientific-Atlanta, Inc. Networked subscriber television distribution
US20020083468A1 (en) * 2000-11-16 2002-06-27 Dudkiewicz Gil Gavriel System and method for generating metadata for segments of a video program
US20020100046A1 (en) * 2000-11-16 2002-07-25 Dudkiewicz Gil Gavriel System and method for determining the desirability of video programming events
US7444660B2 (en) * 2000-11-16 2008-10-28 Meevee, Inc. System and method for generating metadata for video programming events
US20020152463A1 (en) * 2000-11-16 2002-10-17 Dudkiewicz Gil Gavriel System and method for personalized presentation of video programming events
JP2004534978A (ja) * 2000-11-16 2004-11-18 マイ ディーティービー ビデオ・プログラミング・イベントの望ましさを決定するシステムおよび方法
US7200859B1 (en) 2000-11-22 2007-04-03 Digeo, Inc. Apparatus and method for intelligent multimedia compression and distribution
US20020114360A1 (en) * 2001-02-20 2002-08-22 Perlman Stephen G. System and method for processing multiple broadcast multimedia streams
US20020116705A1 (en) * 2001-02-20 2002-08-22 Perlman Stephen G. System and method for processing conditional access data
US7046805B2 (en) * 2001-03-20 2006-05-16 Digeo, Inc. System and method for efficiently storing and processing multimedia content
GB0108354D0 (en) * 2001-04-03 2001-05-23 Thirdspace Living Ltd System and method for providing a user with access to a plurality of sevices and content from a broadband television service
US20020159464A1 (en) * 2001-04-25 2002-10-31 Lewis Woodrow T. Method of and system for providing parallel media gateway
US7093277B2 (en) 2001-05-30 2006-08-15 Digeo, Inc. System and method for improved multi-stream multimedia transmission and processing
US7386129B2 (en) * 2001-05-30 2008-06-10 Digeo, Inc. System and method for multimedia content simulcast
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7463737B2 (en) * 2001-08-15 2008-12-09 Digeo, Inc. System and method for conditional access key encryption
JP4352653B2 (ja) * 2002-04-12 2009-10-28 三菱電機株式会社 映像コンテンツ管理運用システム
US20040006635A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Hybrid streaming platform
US20040006636A1 (en) * 2002-04-19 2004-01-08 Oesterreicher Richard T. Optimized digital media delivery engine
US7899924B2 (en) * 2002-04-19 2011-03-01 Oesterreicher Richard T Flexible streaming hardware
US8117328B2 (en) * 2002-06-25 2012-02-14 Microsoft Corporation System and method for automatically recovering from failed network connections in streaming media scenarios
WO2004008673A2 (en) * 2002-07-16 2004-01-22 Nokia Corporation Method for enabling packet transfer delay compensation in multimedia streaming
FR2842690B1 (fr) * 2002-07-17 2004-10-08 Thomson Licensing Sa Procede et dispositif de transmission de donnees video pour la mise en oeuvre de modes speciaux
US7516470B2 (en) 2002-08-02 2009-04-07 Cisco Technology, Inc. Locally-updated interactive program guide
US8397269B2 (en) 2002-08-13 2013-03-12 Microsoft Corporation Fast digital channel changing
US7523482B2 (en) * 2002-08-13 2009-04-21 Microsoft Corporation Seamless digital channel changing
US7908625B2 (en) 2002-10-02 2011-03-15 Robertson Neil C Networked multimedia system
US7360235B2 (en) 2002-10-04 2008-04-15 Scientific-Atlanta, Inc. Systems and methods for operating a peripheral record/playback device in a networked multimedia system
US8046806B2 (en) 2002-10-04 2011-10-25 Wall William E Multiroom point of deployment module
US7577204B2 (en) * 2002-11-15 2009-08-18 Broadcom Corporation Hits stream rewind
KR100494432B1 (ko) * 2002-12-26 2005-06-10 (주)씨앤에스 테크놀로지 비디오서버와 클라이언트간 패킷데이터 처리방법
US8094640B2 (en) 2003-01-15 2012-01-10 Robertson Neil C Full duplex wideband communications system for a local coaxial network
US7487532B2 (en) 2003-01-15 2009-02-03 Cisco Technology, Inc. Optimization of a full duplex wideband communications system
EP1439700A1 (en) * 2003-01-16 2004-07-21 Deutsche Thomson-Brandt Gmbh Method of assigning an absolute time value to an entry point of a data stream sequence
EP1447986A1 (en) * 2003-01-16 2004-08-18 Thomson Licensing S.A. Method of assigning an absolute time value to an entry point of a data stream sequence
US7493646B2 (en) 2003-01-30 2009-02-17 United Video Properties, Inc. Interactive television systems with digital video recording and adjustable reminders
GB0303176D0 (en) * 2003-02-12 2003-03-19 Video Networks Ltd A system for capture and selective playback of broadcast programmes
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
US20060165374A1 (en) * 2003-07-14 2006-07-27 Newton Philip S Method and apparatus for recording a signal
US7562375B2 (en) * 2003-10-10 2009-07-14 Microsoft Corporation Fast channel change
US7444419B2 (en) * 2003-10-10 2008-10-28 Microsoft Corporation Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints
ES2279084T3 (es) * 2003-10-21 2007-08-16 France Telecom Procedimiento y dispositivo de transmision de datos asociados a informaciones transmitidas.
US7346617B2 (en) * 2004-01-23 2008-03-18 Oracle International Corporation Multi-table access control
US7860005B2 (en) * 2004-01-30 2010-12-28 Hewlett-Packard Development Company, L.P. Methods and systems that use information about a frame of video data to make a decision about sending the frame
US8737219B2 (en) * 2004-01-30 2014-05-27 Hewlett-Packard Development Company, L.P. Methods and systems that use information about data packets to determine an order for sending the data packets
US8825702B2 (en) * 2004-02-24 2014-09-02 Oracle International Corporation Sending control information with database statement
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
EP1738548B1 (en) * 2004-03-05 2010-06-23 Telefonaktiebolaget LM Ericsson (publ) Data transmission record keeping method
US9191709B2 (en) 2004-03-09 2015-11-17 Arris Enterprises, Inc. Digital ad insertion for video-on-demand
JP2005341380A (ja) * 2004-05-28 2005-12-08 Toshiba Corp 記録再生装置及び記録再生方法
JP4619046B2 (ja) * 2004-06-07 2011-01-26 株式会社エヌ・ティ・ティ・ドコモ オリジナルコンテンツ生成装置及び派生コンテンツ生成装置
EP1782287A2 (en) * 2004-07-21 2007-05-09 Beach Unlimited LLC Distributed storage architecture based on block map caching and vfs stackable file system modules
CN101010959B (zh) * 2004-07-23 2012-01-25 海滩无极限有限公司 传送数据流的方法和系统
US7640352B2 (en) * 2004-09-24 2009-12-29 Microsoft Corporation Methods and systems for presentation of media obtained from a media stream
EP1797561B1 (en) * 2004-09-28 2012-06-06 Koninklijke Philips Electronics N.V. Host device, medium access device, and data storage system
GB2418793A (en) * 2004-10-04 2006-04-05 Democracy Systems Inc Validating electronic voting by analysing sampled frames of a user interface
US7934170B2 (en) 2004-11-19 2011-04-26 Tivo Inc. Method and apparatus for displaying branded video tags
US20060174290A1 (en) * 2004-11-23 2006-08-03 Garwin Richard L Enhanced program viewing method
US7477653B2 (en) * 2004-12-10 2009-01-13 Microsoft Corporation Accelerated channel change in rate-limited environments
EP1675399A3 (en) * 2004-12-23 2009-04-29 Bitband Technologies Ltd. Fast channel switching for digital TV
US20090064242A1 (en) * 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
US8438297B1 (en) 2005-01-31 2013-05-07 At&T Intellectual Property Ii, L.P. Method and system for supplying media over communication networks
US20060235883A1 (en) 2005-04-18 2006-10-19 Krebs Mark S Multimedia system for mobile client platforms
US20070022215A1 (en) * 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
US8055116B2 (en) * 2005-07-27 2011-11-08 Streaming Networks (Pvt.) Ltd. Method and system for providing audio-only recording of an audio/video signal
US7738864B2 (en) 2005-08-15 2010-06-15 At&T Mobility Ii Llc Embedded wireless benchmarking systems and methods
US7529236B2 (en) * 2005-08-15 2009-05-05 Technocom Corporation Embedded wireless location validation benchmarking systems and methods
EP1921626A4 (en) * 2005-08-29 2008-10-01 Sony Corp RECORDING DEVICE, RECORDING METHOD, PLAYING DEVICE, PLAY PROCESS, PROGRAM AND RECORDING MEDIUM
US7876998B2 (en) 2005-10-05 2011-01-25 Wall William E DVD playback over multi-room by copying to HDD
US8949154B2 (en) * 2005-10-07 2015-02-03 Google Inc. Content feed user interface with gallery display of same-type items
US8190997B2 (en) * 2005-10-07 2012-05-29 Google Inc. Personalized content feed suggestions page
CN101322344B (zh) 2005-10-21 2013-01-02 尼尔逊媒介研究股份有限公司 用于计量便携式媒体播放器的方法和装置
US8135040B2 (en) 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
US7596300B2 (en) * 2005-12-07 2009-09-29 Sony Corporation System and method for smooth fast playback of video
US9681105B2 (en) * 2005-12-29 2017-06-13 Rovi Guides, Inc. Interactive media guidance system having multiple devices
EP3010167B1 (en) * 2006-03-27 2017-07-05 Nielsen Media Research, Inc. Methods and systems to meter media content presented on a wireless communication device
US7996495B2 (en) * 2006-04-06 2011-08-09 General Electric Company Adaptive selection of image streaming mode
JP4885270B2 (ja) 2006-05-11 2012-02-29 シーエフピーエイチ, エル.エル.シー. 電子ファイルの使用と管理とのための方法および装置
US7593034B2 (en) 2006-08-31 2009-09-22 Dekeyser Paul Loop recording with book marking
GB2441576A (en) * 2006-09-08 2008-03-12 Edgeware Ab Video server using FPGA streamers with control GPU and memory wherein video data segments are chained with play, FF and rewind pointers
US8826345B2 (en) 2006-09-08 2014-09-02 Edgeware Ab Method and an apparatus for data streaming
US8645497B2 (en) * 2006-09-28 2014-02-04 Google Inc. Bookmark-based access to content feeds
US8230361B2 (en) * 2006-09-28 2012-07-24 Google Inc. Content feed user interface
US8694607B2 (en) * 2006-10-06 2014-04-08 Google Inc. Recursive subscriptions to content feeds
US8046803B1 (en) 2006-12-28 2011-10-25 Sprint Communications Company L.P. Contextual multimedia metatagging
US7924456B1 (en) * 2007-01-12 2011-04-12 Broadbus Technologies, Inc. Data distribution and buffering
US7797499B2 (en) * 2007-01-30 2010-09-14 International Business Machines Corporation Apparatus, system, and method for uninterrupted storage configuration
US7962640B2 (en) * 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US20090019492A1 (en) * 2007-07-11 2009-01-15 United Video Properties, Inc. Systems and methods for mirroring and transcoding media content
JP4543264B2 (ja) * 2007-07-23 2010-09-15 船井電機株式会社 データ録画再生装置、録画方法、録画プログラム及び記録媒体
US8060407B1 (en) 2007-09-04 2011-11-15 Sprint Communications Company L.P. Method for providing personalized, targeted advertisements during playback of media
US8386630B1 (en) * 2007-09-09 2013-02-26 Arris Solutions, Inc. Video-aware P2P streaming and download with support for real-time content alteration
US8270291B2 (en) 2007-09-24 2012-09-18 Ceragon Networks Ltd. Protected variable data rate communication systems
US8416693B2 (en) 2007-09-24 2013-04-09 Ceragon Networks Ltd. Errorless and hitless variable data rate communications
WO2009040799A1 (en) * 2007-09-24 2009-04-02 Ceragon Networks Ltd. Maintaining a constant delay in point-to-point transmission
US20090083811A1 (en) * 2007-09-26 2009-03-26 Verivue, Inc. Unicast Delivery of Multimedia Content
US8060634B1 (en) * 2007-09-26 2011-11-15 Google Inc. Determining and displaying a count of unread items in content feeds
US10025871B2 (en) 2007-09-27 2018-07-17 Google Llc Setting and displaying a read status for items in content feeds
US8365214B2 (en) 2007-11-15 2013-01-29 At&T Intellectual Property I, Lp Systems and method for determining visual media information
US8165450B2 (en) 2007-11-19 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for filtering content in a video stream using text data
US8165451B2 (en) 2007-11-20 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for displaying information regarding interstitials of a video stream
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
CA2613821C (en) 2007-12-07 2012-07-17 Clemente Naftali-Menajed Method and system to display a video in an email
US8799535B2 (en) * 2008-01-11 2014-08-05 Akamai Technologies, Inc. Storage of data utilizing scheduling queue locations associated with different data rates
US8364892B2 (en) * 2008-01-11 2013-01-29 Verivue, Inc. Asynchronous and distributed storage of data
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
US8606085B2 (en) 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
US8503991B2 (en) 2008-04-03 2013-08-06 The Nielsen Company (Us), Llc Methods and apparatus to monitor mobile devices
US8806530B1 (en) 2008-04-22 2014-08-12 Sprint Communications Company L.P. Dual channel presence detection and content delivery system and method
US8156520B2 (en) 2008-05-30 2012-04-10 EchoStar Technologies, L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
US8884983B2 (en) * 2008-06-30 2014-11-11 Microsoft Corporation Time-synchronized graphics composition in a 2.5-dimensional user interface environment
WO2010049440A1 (en) * 2008-10-29 2010-05-06 Edgeware Ab A method and an apparatus for data recording and streaming
US10063934B2 (en) 2008-11-25 2018-08-28 Rovi Technologies Corporation Reducing unicast session duration with restart TV
US8926435B2 (en) * 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US8510771B2 (en) 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8588579B2 (en) 2008-12-24 2013-11-19 Echostar Technologies L.L.C. Methods and apparatus for filtering and inserting content into a presentation stream using signature data
US8407735B2 (en) 2008-12-24 2013-03-26 Echostar Technologies L.L.C. Methods and apparatus for identifying segments of content in a presentation stream using signature data
US8099476B2 (en) 2008-12-31 2012-01-17 Apple Inc. Updatable real-time or near real-time streaming
US8743906B2 (en) * 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
US20100211612A1 (en) * 2009-02-18 2010-08-19 Mohammad Afaneh Utilization of radio station metadata to control playback of content and display of corresponding content information
US9565397B2 (en) * 2009-02-26 2017-02-07 Akamai Technologies, Inc. Deterministically skewing transmission of content streams
US9906757B2 (en) * 2009-02-26 2018-02-27 Akamai Technologies, Inc. Deterministically skewing synchronized events for content streams
US9075883B2 (en) 2009-05-08 2015-07-07 The Nielsen Company (Us), Llc System and method for behavioural and contextual data analytics
US8437617B2 (en) 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
JP5526642B2 (ja) 2009-08-03 2014-06-18 ソニー株式会社 情報処理装置及び方法、情報処理システム、並びにプログラム
US8990104B1 (en) 2009-10-27 2015-03-24 Sprint Communications Company L.P. Multimedia product placement marketplace
US8108541B2 (en) * 2009-11-19 2012-01-31 Alcatel Lucent Method and apparatus for providing collaborative interactive video streaming
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US9357244B2 (en) * 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
WO2011127312A1 (en) 2010-04-07 2011-10-13 Apple Inc. Real-time or near real-time streaming
CA3020551C (en) 2010-06-24 2022-06-07 Arbitron Mobile Oy Network server arrangement for processing non-parametric, multi-dimensional, spatial and temporal human behavior or technical observations measured pervasively, and related method for the same
US8340685B2 (en) 2010-08-25 2012-12-25 The Nielsen Company (Us), Llc Methods, systems and apparatus to generate market segmentation data with anonymous location data
WO2012037170A1 (en) * 2010-09-13 2012-03-22 Gaikai, Inc. Dual mode program execution and loading
US8437619B2 (en) 2010-12-20 2013-05-07 General Instrument Corporation Method of processing a sequence of coded video frames
US8775535B2 (en) * 2011-01-18 2014-07-08 Voxilate, Inc. System and method for the transmission and management of short voice messages
US20120191724A1 (en) * 2011-01-26 2012-07-26 Tucek Joseph A Storage of data objects based on a time of creation
US9496982B2 (en) 2011-03-04 2016-11-15 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US9030953B2 (en) 2011-03-04 2015-05-12 Alcatel Lucent System and method providing resilient data transmission via spectral fragments
US9686062B2 (en) 2011-03-04 2017-06-20 Alcatel Lucent Virtual aggregation of fragmented wireless spectrum
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
US8856283B2 (en) 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8438595B1 (en) 2011-11-04 2013-05-07 General Instrument Corporation Method and apparatus for temporal correlation of content-specific metadata with content obtained from disparate sources
US9565476B2 (en) * 2011-12-02 2017-02-07 Netzyn, Inc. Video providing textual content system and method
US9537889B2 (en) * 2011-12-05 2017-01-03 Microsoft Technology Licensing, Llc Trusting crowdsourced data with issued tags
US8805418B2 (en) 2011-12-23 2014-08-12 United Video Properties, Inc. Methods and systems for performing actions based on location-based rules
US9021330B2 (en) * 2012-05-15 2015-04-28 Alcatel Lucent System and method for multi-channel FEC encoding and transmission of data
CN103517154A (zh) * 2012-06-26 2014-01-15 深圳中兴网信科技有限公司 一种视频文件预加载方法及系统
US9037682B2 (en) 2012-12-13 2015-05-19 Google Technology Holdings LLC System and methods for preventing interruptions due to battery drain during streaming media sessions between devices
US9185742B2 (en) 2012-12-13 2015-11-10 Google Technology Holdings LLC System and methods for a cloud based wireless personal area network service enabling context activity handoffs between devices
US9098177B2 (en) 2012-12-13 2015-08-04 Google Technology Holdings LLC Apparatus and methods for facilitating context handoff between devices in a cloud based wireless personal area network
FR3001353A1 (fr) * 2013-01-24 2014-07-25 Tdf Procede et dispositif de fourniture d’un contenu multimedia, equipement source de diffusion, programme d’ordinateur et medium de stockage correspondants.
US9325381B2 (en) 2013-03-15 2016-04-26 The Nielsen Company (Us), Llc Methods, apparatus and articles of manufacture to monitor mobile devices
FR3005386B1 (fr) * 2013-05-02 2016-10-14 Tdf Procede et dispositif de fourniture d’une partie deja diffusee d’un flux multimedia, terminal utilisateur, programme d’ordinateur et medium de stockage correspondants
US8718445B1 (en) 2013-09-03 2014-05-06 Penthera Partners, Inc. Commercials on mobile devices
US9244916B2 (en) * 2013-10-01 2016-01-26 Penthera Partners, Inc. Downloading media objects
US9363673B2 (en) 2014-08-04 2016-06-07 Google Technology Holdings LLC Subscriber identity module control in a portable communication device
WO2016133504A1 (en) * 2015-02-18 2016-08-25 Hewlett Packard Enterprise Development Lp Continuous viewing media
US9942582B2 (en) 2015-12-01 2018-04-10 Hulu, LLC Dynamic seeking in video delivery systems
CN109565565B (zh) * 2017-05-30 2022-06-07 索尼株式会社 信息处理装置、信息处理方法和非暂态计算机可读介质
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system
CN113438521B (zh) * 2021-05-28 2023-04-18 曙光网络科技有限公司 视频文件生成方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550982A (en) * 1993-06-24 1996-08-27 Starlight Networks Video application server
JPH099239A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> マルチメディア番組表現を制御するためのマルチメディア制御システム及び方法
WO1997004596A2 (en) * 1995-07-14 1997-02-06 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426513A (en) 1989-06-16 1995-06-20 Harris Corporation Prioritized image transmission system and method
US5267351A (en) 1989-12-22 1993-11-30 Avid Technology, Inc. Media storage and retrieval system
FR2659779B1 (fr) * 1990-03-16 1997-01-24 Thomson Consumer Electronics Recepteur-enregistreur d'emissions de television.
JP3449734B2 (ja) 1991-08-20 2003-09-22 ソニー株式会社 情報再生装置および情報再生方法
DE69232164T2 (de) 1991-08-22 2002-07-18 Sun Microsystems Inc Netzwerkvideoanbietergerät und-verfahren
GB9124337D0 (en) 1991-11-15 1992-01-08 Philips Electronic Associated Method of storing user information items and apparatus for reproducing stored items
AU4543593A (en) * 1992-07-08 1994-01-31 Bell Atlantic Network Services, Inc. Media server for supplying video and multi-media data over the public telephone switched network
EP0794667B1 (en) 1992-09-22 2001-06-13 Sony Corporation Digital video signal processing apparatus and method
US5442389A (en) 1992-12-28 1995-08-15 At&T Corp. Program server for interactive television system
ES2118216T3 (es) 1993-05-19 1998-09-16 Alsthom Cge Alcatel Dispositivo de servicio de video.
US5610841A (en) 1993-09-30 1997-03-11 Matsushita Electric Industrial Co., Ltd. Video server
EP0654765B1 (en) 1993-11-23 2002-10-09 Hewlett-Packard Company, A Delaware Corporation Ink rendering
US5465120A (en) * 1994-02-07 1995-11-07 The Grass Valley Group, Inc. Spiral buffer for non-linear editing
US5629732A (en) * 1994-03-29 1997-05-13 The Trustees Of Columbia University In The City Of New York Viewer controllable on-demand multimedia service
US5566174A (en) 1994-04-08 1996-10-15 Philips Electronics North America Corporation MPEG information signal conversion system
JP2742383B2 (ja) * 1994-04-11 1998-04-22 松下電器産業株式会社 要求番組提供装置及びその方法
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5559562A (en) 1994-11-01 1996-09-24 Ferster; William MPEG editor method and apparatus
US5510844A (en) 1994-11-18 1996-04-23 At&T Corp. Video bitstream regeneration using previously agreed to high priority segments
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
JPH09139937A (ja) 1995-11-14 1997-05-27 Fujitsu Ltd 動画ストリーム変換装置
US6065050A (en) * 1996-06-05 2000-05-16 Sun Microsystems, Inc. System and method for indexing between trick play and normal play video streams in a video delivery system
US5828370A (en) * 1996-07-01 1998-10-27 Thompson Consumer Electronics Inc. Video delivery system and method for displaying indexing slider bar on the subscriber video screen
JP3409652B2 (ja) * 1996-09-02 2003-05-26 松下電器産業株式会社 マルチメディア情報提供装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5550982A (en) * 1993-06-24 1996-08-27 Starlight Networks Video application server
JPH099239A (ja) * 1995-06-07 1997-01-10 Internatl Business Mach Corp <Ibm> マルチメディア番組表現を制御するためのマルチメディア制御システム及び方法
WO1997004596A2 (en) * 1995-07-14 1997-02-06 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012211478A (ja) * 2011-03-31 2012-11-01 Kubota Corp 作業機

Also Published As

Publication number Publication date
WO1999021362B1 (en) 1999-09-02
WO1999021362A2 (en) 1999-04-29
EP1025699B1 (en) 2003-02-12
EP1025699A2 (en) 2000-08-09
EP1162828B1 (en) 2007-05-02
DE69811385D1 (de) 2003-03-20
JP4659105B2 (ja) 2011-03-30
DE69811385T2 (de) 2003-08-28
US6138147A (en) 2000-10-24
JP2009207199A (ja) 2009-09-10
CA2606926C (en) 2011-12-13
JP4886009B2 (ja) 2012-02-29
HK1041586A1 (zh) 2002-07-12
CA2606926A1 (en) 1999-04-29
WO1999021362A3 (en) 1999-07-01
CA2306932A1 (en) 1999-04-29
JP4360513B2 (ja) 2009-11-11
EP1162828A2 (en) 2001-12-12
AU9807698A (en) 1999-05-10
US6578070B1 (en) 2003-06-10
JP2001521340A (ja) 2001-11-06
DE69837726D1 (de) 2007-06-14
DE69837726T2 (de) 2008-01-10
EP1162828A3 (en) 2004-04-28
CA2306932C (en) 2010-02-16
AU755452B2 (en) 2002-12-12
HK1028860A1 (en) 2001-03-02

Similar Documents

Publication Publication Date Title
JP4659105B2 (ja) 連続的媒体フィードの継ぎ目のない再生を実現するための方法および装置
JP4936592B2 (ja) インプログレスビデオフィードへの非順次アクセスのための方法および装置
JP4942246B2 (ja) 媒体の同時のエンコードおよびタグ付けを行なうための方法および装置
JP3771902B2 (ja) ファイル索引挿入のためにmpegストリームを処理するシステムおよび方法
CA2197323C (en) Method and apparatus for frame accurate access of digital audio-visual information
US7058721B1 (en) Dynamic quality adjustment based on changing streaming constraints
US8116609B2 (en) Method and apparatus for traversing a multiplexed data packet stream
CA2328230C (en) Method for creating a digital data stream

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100219

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100317

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100323

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100416

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100514

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

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

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

Free format text: PAYMENT UNTIL: 20140107

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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