JP4818562B2 - 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク - Google Patents

漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク Download PDF

Info

Publication number
JP4818562B2
JP4818562B2 JP2002040625A JP2002040625A JP4818562B2 JP 4818562 B2 JP4818562 B2 JP 4818562B2 JP 2002040625 A JP2002040625 A JP 2002040625A JP 2002040625 A JP2002040625 A JP 2002040625A JP 4818562 B2 JP4818562 B2 JP 4818562B2
Authority
JP
Japan
Prior art keywords
program
layer
quality version
network
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002040625A
Other languages
English (en)
Other versions
JP2002314975A5 (ja
JP2002314975A (ja
Inventor
ジェイ.ゲメル デービッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002314975A publication Critical patent/JP2002314975A/ja
Publication of JP2002314975A5 publication Critical patent/JP2002314975A5/ja
Application granted granted Critical
Publication of JP4818562B2 publication Critical patent/JP4818562B2/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/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はストリーミングメディアレンダリングに関し、より詳細には、クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためのシステムおよび方法に関する。
【0002】
【従来の技術】
オーディオビデオ情報は、ネットワーク接続、特にインターネットを介してサーバからクライアントに送信されるのが一般的である。例えば、インターネット上の多くのニュースおよびスポーツのウェブサイトは、ユーザがアクセスできる短いビデオクリップを含む。これを行う典型的な方法の1つは、ユーザが所望のクリップに関連するデータをダウンロードすることである。これは、ユーザに関連するクライアントコンピュータが、データのあるサーバにデータを要求することによって達成される。次いでサーバは、要求されたデータを、ネットワークを介してクライアントに転送する。一旦すべてのデータがクライアントによって受信されると、クライアントコンピュータは、通常の方式でそれをレンダリングし、ユーザに提示する。しかし、ネットワーク、特にインターネットを介してデータが転送されるとき、サーバとクライアントとの間のチャネルの容量はしばしば2桁または3桁の大きさで大きく変わる可能性がある。これらの容量差が存在するのは、特定のクライアントとの接続に関連するデータ伝送速度が変わる可能性があるからである(例えば電話回線容量、LANおよび/またはモデム速度)。この容量の不均一性は、高品質のオーディオおよびビデオが望まれる場合特に問題を引き起こす可能性がある。例えば、高品質の、したがって広帯域幅のバージョンのビデオクリップをインターネット上のウェブサイトからダウンロードすることは、クリップ自体の時間よりもずっと長く待つことを意味する可能性がある。したがって、ユーザはビデオクリップを見るために待たなければならず、しばしばユーザを失望させることになる。さらに、ユーザは、ビデオクリップを閲覧しなければそれが興味あるものか否かわからない場合もあり、したがって、興味もないかもしれないものをダウンロードするために待つのは、二重に興醒めである。
【0003】
ダウンロードの問題は、リアルタイムユニキャストマルチメディアプレゼンテーションと呼ばれる形のオーディオビデオデータ転送を用いることによって回避することができる。本質的にこの手法は、要求されたビデオプログラムに関連するデータを、ネットワークを介してサーバからクライアントにストリーミングすることを含む。データがクライアントによって受信されるのに伴って、データは、ほぼリアルタイムベースでレンダリングされてユーザに提示される。しかし、このタイプの転送の場合でもまた、ネットワーク、特にインターネットに典型的な前述の帯域幅制限が問題を生む。例えば、インターネットのようなネットワーク上で利用可能な通常の帯域幅では、高品質のカラービデオのストリーミングができない。したがって、サーバが提供することのできる最高品質の送信を受信するのに利用可能な帯域幅を、特定のクライアントが有しない場合がある。
【0004】
この帯域幅の問題を克服するために、オーディオビデオ情報を階層化手法によって送信することができる。階層化手法では、オーディオビデオ情報が重要な層としてエンコードされる。これらの各層は別々のデータストリームで送信され、データストリームは本質的に一連のパケットである。ベース層は、許容できる最低限の品質のために最小限の情報を含む情報ストリームである。後続の各層は、前の層をエンハンスするものだが、より低い層に含まれるデータを繰り返すことはない。より高い品質を得るためには、クライアントは、所望の品質が得られるより高い層に加えて、より低い層も受信しなければならない。したがって、少なくとも1つのベース層と、追加で1つまたは複数のより上位のエンハンス層(enhancement layer)とがある点で、これらの層は階層型である。実際は、ベース層から上にいくつかの階層が積み重なっているものとすることができ、後続の各層は、1つまたは複数のより下位の層のデータに依存し、これらのより下位の層をエンハンスしている。階層化ビデオプログラムの例示的な(ただしおそらく特に現実的というわけではない)一例は、奇数数字ごとのビデオフレームの白黒ビデオからなるベース層、偶数数字ごとのビデオフレームの白黒ビデオからなる第2の層、およびすべてのフレームに関するカラー情報からなる第3の層を含む。第1の層だけを再生すると、2分の1のフレームレート(すなわち多少ぎくしゃくする)の白黒ビデオが得られることになる。第1の層と第2の層を一緒に再生すると、完全なフレームレート(滑らかな動き)の白黒ビデオが得られることになる。この3層をすべて再生すると、完全なフレームレートのカラービデオが得られることになる。
【0005】
階層化手法では、クライアントは、各層の帯域幅の総計がネットワーク上で利用可能な帯域幅よりも大きくならない限り、望むだけの層を要求することができる。例えば、クライアントが28.8Kbpsモデムでインターネットに接続されている場合は、8Kbpsビデオ層1つ、2つ、または3つに申し込むことが可能である。4つ以上のこのような層に申し込む場合は、確実に輻輳が生じて多くのパケットがランダムにドロップされることになり、ビデオ品質が低下する。パケットドロップを観察することにより、サポートできる最大数の層を決定することができる。
【0006】
【発明が解決しようとする課題】
本発明は、階層化ユニキャスト手法を採用したシステムおよびプロセスを対象とする。これらは両方とも、ユーザが後で興味ないと判断することになるオーディオビデオ(AV)プログラムをダウンロードすることに伴う遅延および時間浪費をユーザが回避できるようにし、同時に、プログラムがユーザにとって興味あるものである場合には、より高品質のバージョンのプログラムをユーザが得られるようにする。現在、非常に多くの様々な階層化技法が用いられており、これらのどれを本発明と共に用いてもよいことに留意されたい。
【0007】
【課題を解決するための手段】
本発明による階層化ユニキャスト手法は、一般に次のように達成される。特定のAVプログラムを閲覧するためのユーザコマンドに応答して、クライアントは、関連する階層化AVデータのあるサーバに、ネットワークを介してそのデータをクライアントに送信するよう要求する。こうする際に、クライアントはまた、ベース層から連続する層がいくつ送信されるべきかについても指定する。この決定は、クライアントとサーバの間のネットワークリンク上で現在利用可能な帯域幅に基づく。サーバは、クライアントの要求を受信すると、ネットワークを介して要求のデータをクライアントに送信する。クライアントは、サーバからデータを受信し、受信したときレンダリングし、従来の方法によって閲覧者に提示する。クライアントはまた、受信したデータを将来使用するためにキャッシュもする。
【0008】
レンダリングされてユーザに提示されるデータは通常、非常に基本的なものとなる。これは、インターネットなどに関連する通常の帯域幅制限のため、通常はベース層およびおそらくわずかな下位のエンハンス層だけしか要求することができないからである。プロセス中のこの時点で、ユーザは3つの選択肢を有する。AVプログラムがユーザにとって興味ないものである場合は、ユーザは何もしなくてよく、追加のエンハンス層データは送信されない。あるいは、ユーザは着信データストリームの受信を終了するように指示することができる。あるいは最後に、ユーザは、AVプログラムを検討し、より高品質のバージョンのプログラムを受信したいと思うほど十分に興味を持つことができる。このためにユーザは、エンハンスバージョンのプログラムを提供するようにクライアントに命令することになる。
【0009】
ユーザがエンハンスバージョンのAVプログラムを要求した場合、クライアントは、再度サーバに所望のプログラムに関連するAVデータがネットワークを介してクライアントに送信されるように、提供することを要求することになる。しかし今回は、クライアントは、前回の反復で要求されなかった層の最下位の層から連続するエンハンス層を、利用可能な帯域幅で可能な限り多く要求する。これに応答して、サーバは、要求されたデータを前述の方式と同じようにして送信する。クライアントは、要求したデータを受信すると、使用されている階層化手法のタイプに適用可能な標準的方法を用いて、そのデータを先にストア済みのより下位の層データと結合させる。次いで、結合させたデータを使用してプログラムをレンダリングし、ユーザに提示する。レンダリングされたプログラムは、先に閲覧されたプログラムの、より高品質のバージョンを提示することになる。クライアントはまた、この新しいデータを、同じプログラムに関連する以前ストアしたデータと共に、将来使用するためにストアする。
【0010】
この時点で、ユーザは先に論じたのと同じ3つのオプションを有し、ユーザがどのオプションを選択するかに応じて、プロセスは適切に繰り返される。例えば、ユーザがより一層高品質のAVプログラムを提供してほしいと思う場合は、より多くのエンハンスデータ層(サーバから入手可能なものがあるとして)がクライアントから要求され、受信時には前述のように処理される。
【0011】
前述の階層化ユニキャストシステムおよびプロセスは、層データストリーム全体に適用することができ、したがって、単一のクライアント要求により、要求された層のデータストリーム全体がサーバから送信されるようにすることができることに留意されたい。しかし、必ずしもそうである必要はない。利用可能な帯域幅は、要求された層を送信するのにかかる時間にわたって大きく変化する場合がある。このことに鑑みて、前述のシステムおよびプロセスを、層データストリーム全体でなく、AVプログラムのセグメントを表す何らかのストリーム部分に適用することもできる。言い換えれば、クライアントは、一組の層を全体として要求するのではなく、現在利用可能な帯域幅に基づいて、関係する各層の同サイズであり対応する部分だけを要求する。層部分は、AVプログラムの同じ時間セグメントに関係する点で対応する。残りの前述の動作は、代わりに層部分のデータに対して行われることを除いては同じである。この結果、各層ストリームの一部に関係するデータが受信され、レンダリングされ、キャッシュされる。次いでクライアントは、次に続くAVプログラム層部分を要求し、プログラム全体をユーザに対して再生するまで受信、レンダリング、およびキャッシュのプロセスを繰り返す。層部分の各組が要求されるのに伴い、関係する層の数が、そのときに利用可能なネットワーク帯域幅に基づいて再評価されることに留意されたい。したがって、各要求により、同数の、またはより少ない、またはより多くの層の各部分が要求されることになる場合がある。ユーザがより高品質のバージョンのAVプログラムを再生するように指示した場合、クライアントは、考慮中のプログラムのセグメントに関連する、先に受信した層部分からみて次に高いレベルを表す層から、ネットワーク上の現在の帯域幅条件で可能な最大数のエンハンス層に関連する層部分をプログラムのセグメントごとに要求することを除いては、前述のプロセスを繰り返す。
【0012】
前述の階層化ユニキャストプレゼンテーションシステムおよびプロセスは、事前フェッチオプション(pre−fetching option)をさらに含むことができる。このオプションは、より低品質の前バージョンのプログラムに関連する層がすべて要求された後で、より高品質のバージョンのプログラムを提供するのに必要な追加のエンハンス層がクライアントによって自動的に要求、受信、およびキャッシュされるようにするか否かを、ユーザが選択することを可能にする。これは、ユーザがより高品質のバージョンを要求する前に行われることに留意されたい。事前フェッチオプションにより、より高品質のバージョンのAVプログラムをレンダリングするのに必要な層データがクライアントのメモリ中に手近にあることになり、それにより、クライアントはより迅速にユーザにプログラムを提供することができる。
【0013】
この階層化ユニキャスト方式をAVプログラムとの関連で述べたが、本発明はオーディオのみまたはビデオのみのプログラムにも等しく適用可能であることに留意されたい。
【0014】
さらに、本発明による階層化ユニキャストシステムおよびプロセスは有利にも、インターネットのウェブサイトが、ウェブサイトを訪れた申込み者に高品質バージョンのAVプログラムを販売するために採用することができることにも留意されたい。「ベース品質」バージョンのプログラムは、サイト訪問者に無料またはわずかな料金で提供することができる。訪問者は、ベースバージョンのAVプログラムが十分に興味あるものであれば、品質の改善したバージョンのプログラムの閲覧を有料で申し込むことができる。これは、前述のように、訪問者に関連するクライアントコンピュータにエンハンス層を送信することで達成される。次いでクライアントコンピュータは、エンハンス層データを、先にキャッシュした層データと結合させて、訪問者が閲覧するためのより高品質のバージョンのプログラムを製造する。次いで訪問者は、ウェブサイトに関連するサーバがより上位の利用可能なエンハンス層を有する限り、より一層高品質のバージョンのプログラムを閲覧する要求を繰り返すこともできる。
【0015】
以上に述べた利点に加え、本発明のその他の利点も、後続の詳細な説明を添付の図面と共に読めば明らかになるであろう。
【0016】
本発明の具体的な特徴、態様、および利点は、後続の説明、頭記の特許請求の範囲、および添付の図面に関してよりよく理解されるであろう。
【0017】
【発明の実施の形態】
本発明の好ましい実施形態に関する以下の記述では、その一部をなす添付の図面を参照するが、これらの図面には、本発明を実施できる具体的な実施形態が例として示されている。本発明の範囲を逸脱することなく、他の実施形態を利用することもでき、かつ構造的な変更を加えることもできることを理解されたい。
【0018】
本発明の好ましい実施形態に関する記述を提供する前に、本発明を実施できる適したコンピューティング環境について簡単かつ一般的に記述する。図1に、本発明を実施できる適したコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適したコンピューティング環境の一例でしかなく、本発明の使用または機能の範囲に関していかなる限定も示すものではない。コンピューティング環境100はまた、例示的な動作環境100中に示すコンポーネントのいずれか1つまたはそれらの組合せに関してどのような依存も要件も有しないと解釈すべきである。
【0019】
本発明は、その他の多くの汎用または専用コンピューティングシステム環境または構成でも動作する。本発明と共に使用するのに適した、周知のコンピューティングシステム、環境、および/または構成の例としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な消費者用の電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが挙げられるが、これらに限定されない。
【0020】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで述べることができる。一般にプログラムモジュールは、特定のタスクを実施するか特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本発明はまた、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含めたローカルとリモートの両方のコンピュータ記憶媒体中に位置することができる。
【0021】
図1を参照すると、本発明を実施するための例示的なシステムが、コンピュータ110の形をとる汎用コンピューティングデバイスを含んでいる。コンピュータ110のコンポーネントとしては、プロセッシングユニット120と、システムメモリ130と、システムメモリを含めた様々なシステムコンポーネントをプロセッシングユニット120に結合するシステムバス121とを挙げることができるが、これらに限定しない。システムバス121は、様々なバスアーキテクチャのいずれかを用いたメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含めた、いくつかのタイプのバス構造のいずれでもよい。限定ではなく例として、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(EnhancedISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも呼ばれるPCI(Peripheral Component Interconnect)バスが含まれる。
【0022】
コンピュータ110は通常、様々なコンピュータ可読媒体を備える。コンピュータ可読媒体は、コンピュータ110がアクセスできる任意の利用可能な媒体とすることができ、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不可能媒体の両方が含まれる。限定ではなく例として、コンピュータ可読媒体には、コンピュータ記憶媒体および通信媒体を備えることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを含めた情報をストアするための任意の方法または技術で実装された、揮発性媒体と不揮発性媒体、取外し可能媒体と取外し不可能媒体の両方が含まれる。コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)またはその他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは所望の情報をストアするのに使用できコンピュータ110がアクセスできるその他の媒体が含まれるが、これらに限定しない。通信媒体は通常、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波またはその他のトランスポートメカニズムなどの変調されたデータ信号中に組み入れており、任意の情報送達媒体が含まれる。「変調されたデータ信号」という言葉は、情報が信号にエンコードされるようにその1つまたは複数の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体には、ワイヤードネットワークまたは直接ワイヤード接続などのワイヤード媒体と、音響、FR、赤外線などのワイヤレス媒体およびその他のワイヤレス媒体が含まれる。以上のいずれかの組合せもまた、コンピュータ可読媒体の範囲内に含めるべきである。
【0023】
システムメモリ130は、読出し専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性および/または不揮発性メモリの形をとるコンピュータ記憶媒体を含む。ROM131には通常、起動時などにコンピュータ110内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basic input/output system)133がストアされている。RAM132は通常、プロセッシングユニット120からすぐにアクセス可能な、かつ/またはプロセッシングユニット120が現在作用している、データおよび/またはプログラムモジュールを含む。限定ではなく例として、図1には、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137が示されている。
【0024】
コンピュータ110はまた、その他の取外し可能/取外し不可能、かつ揮発性/不揮発性のコンピュータ記憶媒体を備えることもできる。例示にすぎないが、図1には、取外し不可能かつ不揮発性の磁気媒体に対して読取りまたは書込みを行うハードディスクドライブ141と、取外し可能かつ不揮発性の磁気ディスク152に対して読取りまたは書込みを行う磁気ディスクドライブ151と、CD−ROMやその他の光学媒体など取外し可能かつ不揮発性の光学ディスク156に対して読取りまたは書込みを行う光学ディスクドライブ155が示されている。この例示的な動作環境で使用できるその他の取外し可能/取外し不可能、かつ揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、ディジタル汎用ディスク、ディジタルビデオテープ、固体RAM、固体ROMなどが含まれるが、これらに限定しない。ハードディスクドライブ141は通常、インタフェース140などの取外し不可能メモリインタフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光学ディスクドライブ155は通常、インタフェース150などの取外し可能メモリインタフェースによってシステムバス121に接続される。
【0025】
以上に論じ、図1に示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの記憶域をコンピュータ110に提供する。例えば図1では、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147をストアしているものとして示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、その他のプログラムモジュール136、およびプログラムデータ137と同じものとすることも異なるものとすることもできることに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、その他のプログラムモジュール146、およびプログラムデータ147は、これらが少なくとも異なるコピーであることを示すために、ここでは異なる番号を付けてある。ユーザは、キーボード162や、マウス、トラックボール、タッチパッドと一般に呼ばれるポインティングデバイス161など、入力デバイスを介してコンピュータ110にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよびその他の入力デバイスは、システムバス121に結合されたユーザ入力インタフェース160を介してプロセッシングユニット120に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など他のインタフェースおよびバス構造によって接続することもできる。モニタ191または他のタイプの表示デバイスもまた、ビデオインタフェース190などのインタフェースを介してシステムバス121に接続される。モニタに加えて、コンピュータはまた、スピーカ197やプリンタ196など他の周辺出力デバイスを備えることもでき、これらは出力周辺インタフェース195を介して接続することができる。本発明で特に重要なのが、パーソナルコンピュータ110に対する入力デバイスとして、一連の画像193を取り込むことのできるカメラ192(ディジタル/電子スチルカメラまたはビデオカメラや、フィルム/写真スキャナなど)も含めることができることである。さらに、1台のカメラしか示されていないが、パーソナルコンピュータ110に対する入力デバイスとして複数のカメラを含めることもできる。1つまたは複数のカメラからの画像193は、適切なカメラインタフェース194を介してコンピュータ110に入力される。このインタフェース194は、システムバス121に接続されており、したがって、RAM132に、またはコンピュータ110に関連する他のデータ記憶デバイスの1つに、画像がルーティングされてストアされるようにする。しかし画像データは、カメラ192を使用する必要なしに、前述のいずれかのコンピュータ可読媒体からコンピュータ110に入力することもできることに留意されたい。
【0026】
コンピュータ110は、リモートコンピュータ180など1つまたは複数のリモートコンピュータへの論理接続を用いてネットワーク化された環境で動作することもできる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、図1にはメモリ記憶デバイス181だけしか示されていないものの、通常は、コンピュータ110に関して上述した要素の多くまたはすべてを備える。図1に示す論理接続はローカルエリアネットワーク(LAN)171およびワイドエリアネットワーク(WAN)173を含むが、他のネットワークを含むこともできる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットでよくみられるものである。
【0027】
LANネットワーキング環境で使用されるときは、コンピュータ110は、ネットワークインタフェースまたはアダプタ170を介してLAN171に接続される。WANネットワーキング環境で使用されるときは、コンピュータ110は通常、インターネットなどのWAN173を介して通信を確立するためのモデム172またはその他の手段を備える。モデム172は、内蔵でも外付けでもよく、ユーザ入力インタフェース160または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク化された環境では、コンピュータ110に関して示すプログラムモジュールまたはその一部をリモートメモリ記憶デバイスにストアすることもできる。限定ではなく例として、図1には、リモートアプリケーションプログラム185がリモート装置181上にあるものとして示してある。図示のネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を用いることもできることを理解されたい。
【0028】
例示的な動作環境について論じたところで、この説明セクションの残りの部分を、本発明を実施するプログラムモジュールについての記述に充てる。一般に、本発明によるシステムおよびプロセスは、クライアントがクライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得ることに関係する。これは、階層化ユニキャスト方式と呼ぶ方式を用いて達成される。具体的には、図2および図3の流れ図を参照すると、ユーザは最初に、特定のAVプログラムを得るようにクライアントに指示する(プロセス動作200)。これは、任意の従来型クライアントユーザインタフェースを介して達成される。ネットワークがインターネットである場合は、ユーザは通常、このようなプログラムを提供するウェブサイトから特定のプログラムを選択することになる。次いでクライアントは、所望のプログラムに関連する階層化AVデータのあるサーバに、ネットワークを介してそのデータをクライアントに送信するよう要求する(プロセス動作202)。こうする際に、クライアントはまた、ベース層から連続する層がいくつ送信されるべきかについても指定する。この決定は、クライアントとサーバの間のネットワークリンク上で現在利用可能な帯域幅に基づく。当然、適切な数の連続する層を指定するために、クライアントは、AVデータのセグメント化に採用されている階層化方式の詳細について、および所望の層をサーバに要求するときにそれらをどのように識別するかについて知らなければならない。標準化された階層化および識別の方式が採用されたネットワークの場合は、クライアントはこの情報をすでに知っていることもある。しかし、多くの様々な階層化および識別方式が採用される可能性のある今日のインターネットなどのネットワークでは、クライアントが選択されたプログラムに関連するAVデータを要求するプロセス動作は、最初に、プログラムと共に採用された階層化および識別の方式に関する詳細をサーバから得ることを含むことが想定される。
【0029】
サーバは、クライアントの要求を受信すると、ネットワークを介して要求のデータをクライアントに送信する(プロセス動作204)。伝送レートは、データをクライアントからユーザにリアルタイムで提示するためにレンダリングする際に遅延がないように、再生レートと少なくとも同じであるべきである。クライアントは、サーバからデータを受信し、好ましくはそれを「再生バッファ(playout buffer)」を通して供給し、従来の方法で閲覧者に対してレンダリングする(プロセス動作206)。再生バッファは、追加のデータを蓄積するために、再生の始まりをいくらかのわずかな時間だけ遅延させる。このバッファリングにより、クライアントは、再生レートが確実に一定であるようにすることができる。このようなバッファリングがなければ、レンダリングされたプログラムは、データがネットワークを介して受信される際のレートの微変動のせいで「ジッタのある」ものになる可能性がある。クライアントはまた、後で短く説明するように、受信したデータを将来使用するためにキャッシュする(プロセス動作208)。
【0030】
プロセスのこの時点で、ユーザは3つの選択肢を有する。AVプログラムがユーザにとって興味ないものである場合は、ユーザは何もしなくてよく、追加のエンハンス層データは送信されない。このために、プロセス動作210で、先に選択したAVプログラムに関係するコマンドをユーザがさらに入力するか否かが判定される。ユーザからの入力が受信された場合は、選択したAVプログラムに関連する着信データストリームの受信を終了するようにユーザが指示したか否かが確認される(プロセス動作212)。言い換えれば、ユーザがAVプログラムを途中で中止したか否かである。ユーザがそうした場合、クライアントは、着信データストリームを終了する(プロセス動作214)。ユーザがプログラムを途中で中止する動作は、ユーザがエンハンスバージョンのプログラムの閲覧に興味がないことを意味するとは限らないので、この動作によってプロセスが終了することにはならない場合があることに留意されたい。例えばユーザは、低品質ベースバージョンのプログラムを閲覧するのはもう十分であり、低品質バージョンの閲覧を継続するのではなく今すぐにエンハンスバージョンを見たいと思う場合もある。したがって次に、選択したAVプログラムのエンハンスバージョンをユーザが要求するか否かが判定される(プロセス動作216)。
【0031】
先に触れたシナリオの第3番目は、ユーザがAVプログラム全体を検討し、より高品質のバージョンのプログラムを受信したいと思うほど十分に興味を持つ場合である。この場合、プロセス動作212で、ユーザは着信データストリームの受信を終了するように指示したのではなく、エンハンスバージョンのプログラムを要求したと判定される(プロセス動作218)。
【0032】
ユーザがエンハンスバージョンのAVプログラムを要求しない場合は、動作は何も行われず、クライアントは、クライアントによって採用されるネットワークソフトウェアのキャッシング規則によって指示される時間量にわたってキャッシュ済みデータを保持することになる。しかし、ユーザがエンハンスバージョンのAVプログラムを提供するように指示した場合は(先にプログラムが完全に閲覧されたか、ストリーム中にカットオフされたかにかかわらず)、クライアントは、ネットワークを介して所望のプログラムに関連するエンハンスAVデータを提供するように要求することになる。ただしこれは、入手可能な追加のエンハンス層をサーバが有することが前提である。したがって、エンハンスデータを要求する前に、まずプロセス動作220で、選択されたAVプログラムに関連するエンハンス層であって先に要求していないエンハンス層で、サーバから入手可能なものがあるか否かが判定される。クライアントは、選択されたAVプログラムと共に採用されている階層化および識別の方式に関して先に受信した情報に基づいて、このことをすでに知っていることが好ましい。追加の層が入手可能でない場合は、そのことがクライアントからユーザに通知され(プロセス動作222)、プロセスは終了する。追加の層が入手可能な場合は、クライアントは、所望のプログラムに関連するエンハンスAVデータを提供するようにサーバに要求する(プロセス動作224)。具体的には、クライアントは、前の反復で要求されなかった層の最下位の層から連続するエンハンス層を、利用可能な帯域幅で可能な限り多く要求する。これに応答して、サーバは、要求されたデータを前述の方式と同じようにして送信する(プロセス動作226)。
【0033】
要求したデータを受信したとき、クライアントは、新しいデータをストアし(プロセス動作228)、使用されている層データのタイプに適用可能な標準的方法を用いて、このデータを先にストア済みのより下位の層データと結合させる(プロセス動作230)。次いで、結合させたデータを使用してプログラムをレンダリングし、ユーザに提示する(プロセス動作232)。レンダリングされたプログラムは、先に閲覧されたプログラムの、より高品質のバージョンを提示することになる。
【0034】
この時点で、AVプログラムがもはや興味ないとユーザが判断した場合、ユーザはこの場合も何もしなくてよく、追加のエンハンス層データは送信されない。あるいはユーザは、選択したプログラムのより一層エンハンスされたバージョンを要求することもできる。あるいはユーザは、プログラムを完全に閲覧し終える前に着信データストリームを終了することもできる。したがって、ユーザは前と同じ3つのオプションを有する。このために、プロセス動作234で、先に選択したAVプログラムに関係するコマンドをユーザがさらに入力するか否かが判定される。ユーザコマンドが入力された場合は、前述のプロセス(動作212から234)が繰り返される。このようにして、ユーザがエンハンスバージョンを要求できなくなるまで、またはサーバから入手可能な残りのエンハンス層がなくなるまで、選択されたAVプログラムのさらに高品質なバージョンを得るプロセスを継続することができる。
【0035】
前述のプロセスの単純な例として、帯域幅が限られているために一度に1つの層しかストリーミングすることのできない例は、次のようなものである。最初の再生中に、ベース層がストリーミングされ、再生され、ストアされる。ユーザによって指示された第2の再生中に、層2がストリーミングされ、ストアされ、ベース層と共に再生される。ユーザによって指示された第3の再生中に、層3がストリーミングされ、ストアされ、ベース層および層2と共に再生される。これは、サーバから入手可能なエンハンス層が残っており、かつユーザがより高品質のバージョンのAVプログラムを閲覧することに関心がある限り、継続することができる。このプロセスは、一度に複数の層をストリーミングできる場合でも同様である。例えば、帯域幅の限度内で一度に2つの層をストリーミングできる場合、プロセスは次のようになる。最初の再生中に、層1(すなわちベース層)および層2がストリーミングされ、再生され、ストアされる。ユーザによって指示された第2の再生中に、層3および4がストリーミングされ、ストアされ、層1および2と共に再生される。ユーザによって指示された第3の再生中に、層5および6がストリーミングされ、ストアされ、層1、2、3および4と共に再生される。このプロセスもやはり、サーバから入手可能なエンハンス層が残っており、かつユーザがエンハンスバージョンのプログラムを閲覧することに関心がある限り、継続することができる。
【0036】
この階層化ユニキャストシステムおよびプロセスをAVプログラムとの関連で以上に述べたが、本発明はオーディオのみまたはビデオのみのプログラムにも等しく適用可能であることに留意されたい。
【0037】
前述の階層化ユニキャストシステムおよびプロセスは、層データストリーム全体に適用することができ、したがって、単一のクライアント要求により、要求された層のデータストリーム全体がサーバから送信されるようにすることができる。しかし、必ずしもそうである必要はない。利用可能な帯域幅は、要求された層を送信するのにかかる時間にわたって大きく変化する場合がある。このことに鑑みて、この階層化ユニキャストシステムおよびプロセスを、層データストリーム全体でなく、AVプログラムの時間セグメントを表す何らかのストリーム部分に適用することもできる。言い換えれば、クライアントは、一組の層を全体として要求するのではなく、現在利用可能な帯域幅に基づいて、関係する各層の同サイズであり対応する部分だけを要求する。層部分は、AVプログラムの同じ時間セグメントに関係する点で対応する。この区分的な実施形態にも、図2および図3に関して先に述べたプロセスが適用され、プロセス動作202は、選択されたプログラムに関連する階層化AVデータをクライアントが区分的に要求することを含む。具体的には、現在利用可能なネットワーク帯域幅からみて受信できるとクライアントによって決定された、プログラムの連続するいくつかの層の、対応部分の第1の組が要求される。次いでクライアントは、AVプログラム層の、次に続く部分を要求する。以後同様に、ユーザがプログラム全体を再生したと決定されるまで、またはユーザがプログラムを途中で中止するまで行われる。層部分の各組が要求されるのに伴い、関係する層の数が、そのときに利用可能なネットワーク帯域幅に基づいて再評価されることに留意されたい。したがって、各要求により、同数の、またはより少ない、またはより多くの層の各部分が要求されることになる場合がある。このシステムおよびプロセスの区分的実施形態には、いくつかの利点がある。例えば、AVプログラムの送信中にネットワーク上で利用可能な帯域幅は変化する場合があり、この変化は、より上位のエンハンス層に関連する追加データを加えることによりユーザへの提示の品質を向上させることができるか、あるいは反対に、ある層に関連するデータをドロップして送信データの過剰な損失を防止しなければならないくらい帯域幅が減少する可能性があるか、というほどである。正味の効果は、レンダリングされてクライアントからユーザに提供されたAVプログラムが、送信されたデータ部分に関連する時間にわたって入手可能な最良のものであることである。当然、この区分的実施形態は、よりクライアントプロセッサ集中的である。というのは、クライアントは、層データの一部に対する各要求に含まれる層の数を常に把握し、それにより、より高品質のバージョンのプログラムがユーザから要求された場合にAVプログラムの特定部分に対するエンハンスデータを要求するときに、より上位の層のどれから開始するか知っているようにしなければならないからである。加えて、クライアントは、層データをプログラムごとに1度要求するのではなく、繰り返し要求しなければならない。
【0038】
区分的実施形態では、ユーザがより高品質のバージョンのAVプログラムを再生するように指示した場合、図3のプロセス動作220は、クライアントが、ネットワーク上の現在の帯域幅条件で可能な最大数のエンハンス層に関連する層部分を、プログラムの同じ時間セグメントに関連する、先に受信した層部分からみて次に高いレベルを表す層からプログラムのセグメントごとに要求することを含む。
【0039】
区分的実施形態に関連する繰返し要求に関係する各層中のデータ部分のサイズは、所望のどのようなサイズでもよいことに留意されたい。ただしこのサイズは、この部分の持続時間が、ネットワーク帯域幅が一定のままであることが予想される時間量とほぼ同じになるように選択するのが好ましい。このサイジングは、各部分が、要求に関係する各層のデータストリームの単一パケットだけになるように、必要なら極端に行うこともできる。
【0040】
前述の階層化ユニキャストプレゼンテーションシステムおよびプロセスはさらに、事前フェッチオプションも含むことができる。このオプションは、先のより低品質バージョンのプログラムに関連する層が完全に受信された後で、より高品質のバージョンのプログラムを提供するのに必要な追加のエンハンス層がクライアントによって自動的に要求、受信、およびキャッシュされるようにするか否かを、ユーザが選択することを可能にする。これは、ユーザがより高品質のバージョンを要求する前に行われることに留意されたい。選択されたプログラムのより高品質のバージョンを製造するのに必要なAVデータをクライアントが自動的に得るようにユーザが要求する場合、このプロセスは、選択されたプログラムの第1の層が受信され、レンダリングされ、キャッシュされる時点まで(すなわちプロセス動作208まで)は、図2に概説したのと本質的に同じである。その後、プロセスは図4および図5に概説するように変化する。具体的には、要求したAVデータをクライアントが受信、レンダリング、およびキャッシュしている間に、着信データストリームの受信を終了するようにユーザが指示したか否かが判定される(プロセス動作300)。指示しなかった場合、クライアントは、ユーザによって閲覧されているより低品質なバージョンを製造するためのデータをすべて要求した後で、選択されたプログラムのエンハンスバージョンを製造するのに必要なAVデータを要求する(プロセス動作302)。こうするためにユーザからの指示は必要ない。エンハンスデータは前述のように要求されることになり、利用可能なネットワーク帯域幅で可能な限り多くの層が、先に要求されたデータの最上位の層よりも1つ上のレベルから要求される。クライアントは、プログラム全体に関連するエンハンス層が最新の反復に対してすべて要求された後で停止することもできる。しかしクライアントは、より一層高いレベルのエンハンス層の組を要求し、利用可能なすべての層データを要求し終えるまで以後同様にすることが好ましい。しかし、ユーザがプログラムを途中で中止した場合は、クライアントは着信データストリームを終了する(プロセス動作304)。先に示したように、この時点では、ユーザがプログラムを途中で中止する行為が、エンハンスバージョンのプログラムの閲覧に興味がないことを意味するものであったのか、あるいは低品質バージョンの閲覧を継続するのではなくエンハンスバージョンをすぐに見たいと思っていることを意味するものであったのかわからない。したがって、ユーザが着信プログラムを途中で中止した場合、クライアントは、前述のように、選択されたプログラムのエンハンスバージョンを製造するのに必要なAVデータの要求を開始する(プロセス動作306)。当然、前のバージョンのプログラムが途中で中止されたので、要求手順の最初の反復では、プログラムの以前受信した部分に関連するエンハンスデータしか得られない。プログラムの残りの部分のために、より基礎的な層が要求される。前と同様、サーバは要求されたデータを送信し(プロセス動作308)、クライアントは着信データを受信してキャッシュする(プロセス動作310)。次いで、選択されたプログラムのより高品質のバージョンを提供するようにユーザが要求したか否かが判定される(プロセス動作312)。このような要求が出された場合、クライアントは、キャッシュしたAVデータのすべての層を結合させて、選択されたプログラムのエンハンスバージョンを製造する(プロセス動作314)。層が区分的に要求される場合は、この最後の動作は、AVプログラムの連続するセグメントそれぞれの、対応する層部分すべてを結合することを含む。結合したデータを使用して、プログラムがレンダリングされ、ユーザに提示される(プロセス動作316)。事前フェッチオプションの場合のエンハンスプログラムは、図2および図3で概説したプロセスの場合に生み出されるものよりも高品質になる場合があることに留意されたい。これは、ユーザがエンハンスバージョンのプログラムを要求する前に、エンハンス層の要求が複数回にわたって反復され、データが受信されおよびキャッシュされた可能性があるからである。
【0041】
ユーザが、選択したAVプログラムのエンハンスバージョンの閲覧を選択したとき、クライアントは、そのプログラムに対して入手可能な層をすべて要求するタスクを完了していない場合もある。したがって次に、プロセス動作318で、サーバから入手可能な層が残っているか否かが判定される。残っている場合は、プロセス動作300から318が繰り返される。しかし、入手可能なデータがすべて要求された場合は、プロセスは終了する。
【0042】
事前フェッチオプションは、興味を引くいくつかの利点を有する。第1に、事前フェッチにより、より高品質のバージョンのAVプログラムをレンダリングするのに必要な層データがクライアントのメモリ中に手近にあることになり、したがって、クライアントはより迅速にユーザにプログラムを提供することができる。加えて、先に示したように、クライアントは、選択されたプログラムに関連する層データを本質的に継続的に要求およびキャッシュすることができる。したがって、選択されたプログラムのエンハンスバージョンをユーザが要求したときにレンダリングするためにエンハンス層データを準備するのを複数回にわたり反復することが可能である。この結果、一度に1組のエンハンス層でプログラムを要求およびレンダリングすることによって提供できるよりも高品質のバージョンのプログラムを提供することができる。
【0043】
事前フェッチオプションの変形もまた有利であり、これは、関連するプログラムの提示を終了するようにユーザが命令したときであっても、着信AVデータストリームを終了するのではなく、AV層データの要求(必要なら)、受信、およびキャッシュを継続することを含む。このようにすれば、ユーザが後でより高品質のバージョンのAVプログラムを提供するように指示した場合に、終了済みバージョンのプログラムに関連する層データ部分しかないという前述の問題が回避される。このことは、ユーザに提示されるより高品質のバージョンのプログラムが全体にわたり概して一貫した品質を有することになるので、有利である。前述の手順を用いなければ、クライアントは、追加のエンハンス層ではなく、終了されたバージョンのプログラムに関連するより低いレベルの層を要求しなければならないので、より高品質のプログラムの後半部分が品質レベルにおいて顕著な低下を示すことになる。
【0044】
前述のようなニュースやスポーツのウェブサイトなど、インターネット上の多くのウェブサイトが、クライアントコンピュータにストリーミングできるAVプログラムを提供している。本発明による階層化ユニキャストシステムおよびプロセスは有利にも、このようなサイトが、ウェブサイトを訪れた申込み者に高品質バージョンのAVプログラムを販売するために採用することができる。具体的には、「ベース品質」バージョンのプログラムは、サイト訪問者に無料またはわずかな料金で提供することができる。このベース品質バージョンのプログラムは、サイト訪問者に関連するクライアントコンピュータによって最初に要求されレンダリングされるバージョンとすることができ、これは、プログラムに関連するベース層と、利用可能な帯域幅が許容する限り多くのエンハンス層を含むものとすることができる。しかし、ベース品質バージョンのAVプログラムは、クライアントが最初により多くの層を要求したとしても、ベース層と、ウェブサイトに関連するサーバによって指定されるおそらく少数のエンハンス層とに限定することもできる。サイト訪問者に最初に提供される層の数を制限する目的は、好奇心を刺激するのにただ十分なだけのバージョンのAVプログラムを訪問者が閲覧できるようにして、改善したバージョンを購入するように訪問者を誘発するためである。ベースバージョンのAVプログラムが十分興味あるものであれば、訪問者は、品質の改善したバージョンのプログラムの閲覧を有料で申し込むことができる。これは、前述のように、訪問者に関連するクライアントコンピュータにエンハンス層を送信することで達成される。次いでクライアントコンピュータは、エンハンス層データを先にキャッシュした層データと結合させて、訪問者が閲覧するためのより高品質のバージョンのプログラムを製造する。次いで訪問者は、ウェブサイトに関連するサーバがより上位の利用可能なエンハンス層を有する限り、より一層高品質のバージョンのプログラムを閲覧する要求を繰り返すこともできる。
【0045】
前述のプロセスの例として、インターネット上の、ホッケーのビデオハイライトを提供するスポーツウェブサイトをユーザが訪れると仮定する。訪問者は、サイト上にリストされたハイライトの1つを「クリック」し、それを無料で「ベース」品質レベルで見ることができる。この品質レベルでは、訪問者は何が起きているかを大体見ることはできるかもしれないが、パックさえ見分けられるほど十分詳しく見ることはできない。このハイライトが訪問者にとって興味ないものであれば、それ以上の要求は出されず、あるいは訪問者は再生の完了前に停止するかもしれない。しかし、このハイライトが興味あるものであれば、訪問者は有料でより高品質なバージョンに申し込むように勧められる。支払い規定は、現在商業インターネットウェブサイト上で用いられているような任意の従来方式によって扱うことができる。訪問者は、今度はパックを含めてより改善した詳細を見ることができる。3回再生すれば、より多くのビデオフレームが導入され、再生はよりスムーズになるであろう。
【0046】
別の例として、多くのウェブサイトが、オーディオサンプルまたは歌を含んでいる。これらのサイトは、品質が低めのバージョンのオーディオプログラムへのアクセスを無料で提供することができる。この場合、訪問者がより高品質のバージョンのプログラムに興味があれば、追加の品質エンハンスオーディオデータ層が転送されることにより、料金の支払いが必要となる。
【0047】
より高品質なバージョンのプログラムに対する支払いに関しては、訪問者が「向上」要求を出す回数に対して単一料金を課すこともでき、あるいは要求ごとに課金することもできる。
【0048】
【発明の効果】
以上説明したように、本発明によれば、漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得ることができる。
【図面の簡単な説明】
【図1】本発明を実施するための例示的なシステムを構成する汎用コンピューティングデバイスを示す図である。
【図2】本発明による、クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためのプロセス全体を図示するフローチャートである。
【図3】本発明による、クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためのプロセス全体を図示するフローチャートである。
【図4】本発明による、事前フェッチオプションを実施するように修正された図2のプロセス全体の一部を図示するフローチャートである。
【図5】本発明による、事前フェッチオプションを実施するように修正された図2のプロセス全体の一部を図示するフローチャートである。
【符号の説明】
100 適したコンピューティングシステム環境
110 コンピュータ
120 プロセッシングユニット
121 システムバス
130 システムメモリ
131 ROM
132 RAM
133 BIOS
134 オペレーティングシステム
135 アプリケーションプログラム
136 その他のプログラムモジュール
137 プログラムデータ
140 取外し不可能不揮発性メモリインタフェース
141 ハードディスクドライブ
144 オペレーティングシステム
145 アプリケーションプログラム
146 その他のプログラムモジュール
147 プログラムデータ
150 取外し可能不揮発性メモリインタフェース
151 磁気ディスクドライブ
152 磁気ディスク
155 光学ディスクドライブ
156 光学ディスク
160 ユーザ入力インタフェース
161 マウス
162 キーボード
170 ネットワークインタフェース
171 ローカルエリアネットワーク
172 モデム
173 ワイドエリアネットワーク
180 リモートコンピュータ
181 メモリ記憶デバイス
185 リモートアプリケーションプログラム
190 ビデオインタフェース
191 モニタ
192 カメラ
193 画像
194 カメラインタフェース
195 出力周辺インタフェース
196 プリンタ
197 スピーカ

Claims (32)

  1. クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためにコンピュータで実施される方法であって、クライアントコンピュータが、
    ベース品質バージョンのプログラムを、前記ネットワークを介してサーバに要求するプロセス動作であって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含み、前記ネットワークを介したベース品質バージョンのプログラムのサーバへの要求は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むプロセス動作と、
    前記要求した、ベース品質バージョンのプログラムに関連する層データを受信しおよびキャッシュするプロセス動作と、
    前記要求したデータを受信したとき前記ベース品質バージョンのプログラムをレンダリングし、ユーザに提示するプロセス動作と、
    前記ネットワークを介して階層化ユニキャストのエンハンス層の少なくとも1つをサーバに要求するプロセス動作と、
    前記要求したエンハンス層データを受信しおよびキャッシュするプロセス動作と、
    前記要求したエンハンス層データを受信したとき、エンハンス層データを、先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、より高品質のバージョンのプログラムを製造するプロセス動作とを行うことを備え、
    少なくとも1つのエンハンス層を要求する前記プロセス動作と、前記要求したエンハンス層データを受信しおよびキャッシュする前記プロセス動作と、前記要求したエンハンス層データを受信したとき、該エンハンス層データを、前記先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、前記より高品質のバージョンのプログラムを製造する前記プロセス動作とが、前記ベース品質バージョンと比較してより高品質のバージョンのプログラムを提供するようにユーザが前記クライアントに指示したときだけ行われることを特徴とする方法。
  2. クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためにコンピュータで実施される方法であって、クライアントコンピュータが、
    ベース品質バージョンのプログラムを、前記ネットワークを介してサーバに要求するプロセス動作であって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含み、前記ネットワークを介したベース品質バージョンのプログラムのサーバへの要求は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むプロセス動作と、
    前記要求した、ベース品質バージョンのプログラムに関連する層データを受信しおよびキャッシュするプロセス動作と、
    前記要求したデータを受信したとき前記ベース品質バージョンのプログラムをレンダリングし、ユーザに提示するプロセス動作と、
    前記ネットワークを介して階層化ユニキャストのエンハンス層の少なくとも1つをサーバに要求するプロセス動作と、
    前記要求したエンハンス層データを受信しおよびキャッシュするプロセス動作と、
    前記要求したエンハンス層データを受信したとき、エンハンス層データを、先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、より高品質のバージョンのプログラムを製造するプロセス動作とを行うことを備え、
    前記要求したエンハンス層データを受信したとき、該エンハンス層データを、前記先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、前記より高品質のバージョンのプログラムを製造する前記プロセス動作が、前記ベース品質バージョンと比較してより高品質のバージョンのプログラムを提供するようにユーザが前記クライアントに指示したときだけ行われることを特徴とする方法。
  3. 前記ベース品質バージョンのプログラムを提示することを終了するようにユーザが指示するか否かを判定するプロセス動作と、
    前記ベース品質バージョンのプログラムを前記ユーザに提示することを終了するプロセス動作とをさらに備えることを特徴とする請求項1または2に記載の方法。
  4. 前記提示を終了するプロセス動作は、前記要求したベース品質バージョンのプログラムに関連する着信データストリームを終了する動作を備えることを特徴とする請求項3に記載の方法。
  5. 前記提示を終了するプロセス動作は、前記要求したベース品質バージョンのプログラムに関連する着信データストリームの前記受信およびキャッシュを継続しながら、前記ベース品質バージョンのプログラムのレンダリングを停止する動作を備えることを特徴とする請求項3に記載の方法。
  6. 前記結合させた層データから前記より高品質のバージョンのプログラムをレンダリングしてユーザに提示するプロセス動作をさらに備えることを特徴とする請求項1または2に記載の方法。
  7. 前記より高品質のバージョンのプログラムを提示することを終了するようにユーザが指示するか否かを判定するプロセス動作と、
    前記より高品質のバージョンのプログラムをユーザに提示することを終了するプロセス動作とをさらに備えることを特徴とする請求項6に記載の方法。
  8. 前記提示を終了するプロセス動作が、前記要求したより高品質のバージョンのプログラムに関連する着信データストリームを終了する動作を備えることを特徴とする請求項7に記載の方法。
  9. 前記提示を終了するプロセス動作は、要求したより高品質のバージョンのプログラムに関連する着信データストリームの受信およびキャッシュを継続しながら、より高品質のバージョンのプログラムのレンダリングを停止する動作を含むことを特徴とする請求項7に記載の方法。
  10. 少なくとも1つのエンハンス層を受信する前記プロセス動作と、前記要求したエンハンス層データを受信しおよびキャッシュする前記プロセス動作と、前記要求したエンハンス層データを受信したとき、該エンハンス層データを、前記先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、前記より高品質のバージョンのプログラムを製造するプロセス動作とが、前記ベース品質バージョンのプログラムに関連する前記要求した層データがすべて受信されおよびキャッシュされた後で自動的に行われることを特徴とする請求項1または2に記載の方法。
  11. 階層化ユニキャストの、少なくとも1つの追加のエンハンス層を、前記ネットワークを介して前記サーバに要求するプロセス動作と、
    前記要求した追加のエンハンス層データを受信しおよびキャッシュするプロセス動作と、
    前記要求した追加のエンハンス層データを受信したとき、該追加のエンハンス層データを、先にキャッシュしたベース品質およびより高品質のバージョンのプログラムに関連する層データと結合させて、エンハンスされたより高品質のバージョンのプログラムを製造するプロセス動作とをさらに備えることを特徴とする請求項1または2に記載の方法。
  12. 前記サーバが前記プログラムに関連する残りの入手可能なエンハンス層を有するか否かを確認するプロセス動作と、
    前記サーバが前記プログラムに関連する残りのエンハンス層を少なくとも1つ有するときは、
    前記階層化ユニキャストの、少なくとも1つの追加のエンハンス層を、前記ネットワークを介して前記サーバに要求するプロセス動作と、
    前記要求した追加のエンハンス層データを受信しおよびキャッシュするプロセス動作と、
    前記要求した追加のエンハンス層データを受信したとき、該追加のエンハンス層データを、前記先にキャッシュしたベース品質およびより高品質のバージョンのプログラムに関連する層データと結合させて、エンハンスされたより高品質のバージョンのプログラムを製造するプロセス動作とをさらに備えることを特徴とする請求項1または2に記載の方法。
  13. 少なくとも1つの追加のエンハンス層を要求する前記プロセス動作と、前記要求した追加のエンハンス層データを受信しおよびキャッシュする前記プロセス動作と、前記要求した追加のエンハンス層データを、前記先にキャッシュしたベース品質およびより高品質のバージョンのプログラムに関連する層データと結合させて、前記エンハンスされたより高品質のバージョンのプログラムを製造する前記プロセス動作とが、前記エンハンスされたより高品質のバージョンのプログラムを提供するようにユーザが前記クライアントに指示したときだけ行われることを特徴とする請求項12に記載の方法。
  14. 少なくとも1つの追加のエンハンス層を要求する前記プロセス動作と、前記要求した追加のエンハンス層データを受信しおよびキャッシュするプロセス動作と、前記要求した追加のエンハンス層データを、前記先にキャッシュしたベース品質およびより高品質のバージョンのプログラムに関連する層データと結合させて、前記エンハンスされたより高品質のバージョンのプログラムを製造するプロセス動作とが、前記要求したより高品質のバージョンのプログラムに関連する層データがすべて受信されおよびキャッシュされた後で自動的に行われることを特徴とする請求項12に記載の方法。
  15. 前記サーバが前記プログラムに関連する残りの入手可能なエンハンス層を有しないと確認されたときは、エンハンスされたより高品質のバージョンのプログラムを提供できないことをユーザに通知するプロセス動作をさらに備えることを特徴とする請求項12に記載の方法。
  16. 少なくとも1つのエンハンス層を要求する前記プロセス動作は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くのエンハンス層を、前記ベース品質バージョンのプログラムに関連して要求された最も上位の層の次に階層中で高い層から、該階層中の位置の順に要求する動作を備えることを特徴とする請求項1または2に記載の方法。
  17. ベース品質バージョンのプログラムを要求する前記プロセス動作、および少なくとも1つのエンハンス層を要求する前記プロセス動作は、各層を構成する前記データを全体として提供するように要求する動作を含むことを特徴とする請求項1または2に記載の方法。
  18. ベース品質バージョンのプログラムを要求する前記プロセス動作は、連続的な同サイズの時間的に対応する部分で前記ベース品質バージョンの各層を構成する前記データを要求する動作を備え、これにより、前記プログラムの始めの時間セグメントに関連する層部分が最初に要求され、次いでプログラムの次に続く時間セグメントに関連する層部分が要求され、以後同様となることを特徴とする請求項1または2に記載の方法。
  19. 連続的な同サイズの時間的に対応する部分で前記ベース品質バージョンの各層を構成する前記データを要求する前記プロセス動作は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層からの前記層部分を、前記ベース層から前記階層中の位置の順に要求する動作を備えることを特徴とする請求項18に記載の方法。
  20. 前記プログラムの少なくとも1つのエンハンス層を要求する前記プロセス動作は、連続的な同サイズの時間的に対応する部分で各エンハンス層を構成する前記データを要求する動作を備え、これにより、前記プログラムの始めの時間セグメントに関連する層部分が最初に要求され、次いで前記プログラムの次に続く時間セグメントに関連する層部分が要求され、以後同様となることを特徴とする請求項18に記載の方法。
  21. 連続的な同サイズの時間的に対応する部分で各エンハンス層を構成する前記データを要求する前記プロセス動作は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くのエンハンス層からの前記エンハンス層部分を、前記ベース品質バージョンのプログラムに関連して要求された最も上位の層の次に前記階層中で高い層から、該階層中の位置の順に要求する動作を含むことを特徴とする請求項20に記載の方法。
  22. 前記プログラムの各時間セグメントの長さが、前記ネットワーク上で利用可能な帯域幅が変動するレートに合わせられ、これにより各時間セグメントは、ネットワーク帯域幅がその期間にわたって大きく変動しないように十分に短いことを特徴とする請求項20に記載の方法。
  23. 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための、クライアントサーバベースのコンピュータネットワークであって、
    少なくとも1つの汎用コンピューティングデバイスを備えたクライアントと、
    該クライアントによって実行可能なプログラムモジュールを備えたコンピュータプログラムとを備え、
    前記クライアントは、
    閲覧のために前記プログラムを提供するよう命じる命令をユーザから受信すること、
    最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含むベース品質バージョンのプログラムを、前記ネットワークを介してサーバに要求することであって、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むこと、
    前記要求した、ベース品質バージョンのプログラムに関連する層データを受信しおよびキャッシュすること、
    前記要求したデータを受信したとき前記ベース品質バージョンのプログラムをレンダリングし、前記ユーザに提示すること、
    閲覧のためにより高品質のバージョンのプログラムを提供するようにユーザが指示するか否かを判定すること、
    より高品質のバージョンのプログラムを提供するように前記ユーザが指示したと判定されたときは、
    前記ネットワークを介して階層化ユニキャストのエンハンス層の少なくとも1つを前記サーバに要求すること、
    前記要求したエンハンス層データを受信しおよびキャッシュすること、
    前記要求したエンハンス層データを受信したとき、該エンハンス層データを、先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、より高品質のバージョンのプログラムを製造すること、および
    前記結合させた層データから前記より高品質のバージョンのプログラムをレンダリングして前記ユーザに提示することを行うようにプログラムモジュールに指示されることを特徴とするネットワーク。
  24. 前記ベース品質バージョンのプログラムの提示を終了するように前記ユーザが指示するか否かを判定し、
    前記ベース品質バージョンのプログラムの提示を終了するように前記ユーザが指示したと判定されたときは前記提示を終了するためのプログラムモジュールをさらに備えたことを特徴とする請求項23に記載のネットワーク。
  25. ネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るためのコンピュータ実行可能命令を備えたコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、
    最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含むベース品質バージョンのプログラムを要求することであって、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むこと、
    前記要求した、ベース品質バージョンのプログラムに関連する層データを受信しおよびキャッシュすること、
    前記要求したデータを受信したとき前記ベース品質バージョンのプログラムをレンダリングし、前記ユーザに提示すること、
    より高品質のバージョンのプログラムを提供するようにユーザが指示したときに、前記ネットワークを介して前記階層化ユニキャストのエンハンス層の少なくとも1つをサーバに要求すること、
    前記要求したエンハンス層データを受信しおよびキャッシュすること、
    前記要求したエンハンス層データを受信したとき、該エンハンス層データを、前記先にキャッシュしたベース品質バージョンのプログラムに関連する層データと結合させて、より高品質のバージョンのプログラムを製造すること、および
    前記結合させた層データからより高品質のバージョンのプログラムをレンダリングして前記ユーザに提示することを備えることを特徴とするコンピュータ可読記憶媒体。
  26. コンピューティングデバイスを使用して、クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを提供する方法であって、サーバコンピュータが、
    前記プログラムを提供するようにクライアントコンピュータから前記ネットワークを介して最初に要求があったときに、少なくとも階層化ユニキャストのベース層を備えるベース品質バージョンのプログラムを、前記ネットワークを介してクライアントに提供するプロセス動作であって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含み、前記ネットワークを介したベース品質バージョンのプログラムのサーバへの要求は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むプロセス動作と、
    より高品質のプログラムを提供するようにクライアントコンピュータから前記ネットワークを介して次に要求があったときに、
    規定料金の支払いを要求するプロセス動作と、
    前記規定料金の支払いがあったときに前記ネットワークを介して前記クライアントに階層化ユニキャストのエンハンス層の少なくとも1つを提供するプロセス動作とを行うことを備えることを特徴とする方法。
  27. 前記規定料金の支払いを要求する前記プロセス動作は、より高品質のバージョンのプログラムを提供するようにクライアントコンピュータから前記ネットワークを介して最初に要求があったときだけ行われ、その後は繰り返されないことを特徴とする請求項26に記載の方法。
  28. クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを提供するためにコンピュータで実施される方法であって、サーバコンピュータが、
    前記プログラムを提供するようにクライアントコンピュータから前記ネットワークを介して最初に要求があったときに、ベース品質バージョンの前記プログラムを、前記ネットワークを介して前記クライアントコンピュータに提供するプロセス動作であって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの層データを含み、前記ネットワークを介したベース品質バージョンのプログラムのサーバへの要求は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントコンピュータに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に要求することを含むプロセス動作と、
    より高品質のプログラムを提供するように前記クライアントコンピュータから前記ネットワークを介して次に要求があったときに、前記階層化ユニキャストのエンハンス層の少なくとも1つを、前記ベース品質バージョンのプログラムのどの層もさらに提供することなく、前記ネットワークを介して前記クライアントコンピュータに提供するプロセス動作とを行うことを含むことを特徴とする方法。
  29. ベース品質バージョンのプログラムを提供する前記プロセス動作は、連続的な同サイズの時間的に対応する部分で前記ベース品質バージョンの各層を構成する前記データを提供する動作を備え、これにより、前記プログラムの始めの時間セグメントに関連する層部分が最初に提供され、次いで前記プログラムの次に続く時間セグメントに関連する層部分が提供され、以後同様となることを特徴とする請求項28に記載の方法。
  30. 前記プログラムのエンハンス層の少なくとも1つを提供する前記プロセス動作は、連続的な同サイズの時間的に対応する部分で各エンハンス層を構成する前記データを提供する動作を備え、これにより、前記プログラムの始めの時間セグメントに関連する層部分が最初に提供され、次いで前記プログラムの次に続く時間セグメントに関連する層部分が提供され、以後同様となることを特徴とする請求項28に記載の方法。
  31. 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを提供するための、クライアントサーバベースのコンピュータネットワークであって、
    少なくとも1つの汎用コンピューティングデバイスを備えたサーバと、
    該サーバによって実行可能なプログラムモジュールを備えたコンピュータプログラムとを備え、
    前記サーバは、
    前記プログラムを提供するようにクライアントコンピュータから前記ネットワークを介して最初に要求があったときに、ベース品質バージョンのプログラムを、前記ネットワークを介してクライアントコンピュータに提供することであって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの階層データを含み、前記ネットワークを介したベース品質バージョンのプログラムの前記クライアントコンピュータへの提供は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に提供することを含むこと、および
    より高品質のバージョンの前記プログラムを提供するようにクライアントコンピュータから前記ネットワークを介して次に要求があったときに、前記階層化ユニキャストのエンハンス層の少なくとも1つを、前記ベース品質バージョンのプログラムのどの層もさらに提供することなく、前記ネットワークを介して前記クライアントに提供することを行うようにプログラムモジュールによって指示されることを特徴とするコンピュータネットワーク。
  32. クライアントサーバベースのネットワークを介して漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを提供するためのコンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、
    前記プログラムを提供するようにクライアントコンピュータから前記ネットワークを介して最初に要求があったときに、ベース品質バージョンのプログラムを、前記ネットワークを介して前記クライアントコンピュータに提供することであって、前記ベース品質バージョンのプログラムは、最下位レベルの層がベース層で、次に高いレベルの各層が、階層中の先行する層からレンダリングできる前記プログラムの品質をエンハンスするためのエンハンス情報を追加している点で、階層的に関係した層を有する階層化されたユニキャストの階層データを含み、前記ネットワークを介したベース品質バージョンのプログラムの前記クライアントコンピュータへの提供は、前記ネットワークの利用可能な帯域幅を超過せずに前記サーバから前記クライアントコンピュータに送信できる限り、多くの層を、前記ベース層から前記階層中の位置の順に提供することを含むこと、および、
    より高品質のプログラムを提供するように前記クライアントコンピュータから前記ネットワークを介して次に要求があったときに、先に提供されたベース品質バージョンの前記プログラムの層と結合させて、前記より高品質のバージョンのプログラムを製造することのできる層である前記階層化ユニキャストのエンハンス層の少なくとも1つを、前記ベース品質バージョンのプログラムのどの層もさらに提供することなく、ネットワークを介して前記クライアントコンピュータに提供することを含むことを特徴とするコンピュータ可読記憶媒体。
JP2002040625A 2001-02-16 2002-02-18 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク Expired - Fee Related JP4818562B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/681,195 US7237032B2 (en) 2001-02-16 2001-02-16 Progressive streaming media rendering
US09/681,195 2001-02-16

Publications (3)

Publication Number Publication Date
JP2002314975A JP2002314975A (ja) 2002-10-25
JP2002314975A5 JP2002314975A5 (ja) 2005-08-25
JP4818562B2 true JP4818562B2 (ja) 2011-11-16

Family

ID=24734219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002040625A Expired - Fee Related JP4818562B2 (ja) 2001-02-16 2002-02-18 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク

Country Status (5)

Country Link
US (3) US7237032B2 (ja)
EP (1) EP1233591B1 (ja)
JP (1) JP4818562B2 (ja)
AT (1) ATE334544T1 (ja)
DE (1) DE60213297T2 (ja)

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7150005B2 (en) * 1999-07-02 2006-12-12 Beryl Technical Assays, Llc Method and system for global constant management for memory
US7237032B2 (en) * 2001-02-16 2007-06-26 Microsoft Corporation Progressive streaming media rendering
US20030115598A1 (en) * 2001-03-23 2003-06-19 Pantoja William E. System and method for interactively producing a web-based multimedia presentation
US8776153B2 (en) * 2001-04-25 2014-07-08 At&T Intellectual Property I, Lp Method and system for transferring content to a networked unit
FR2825871B1 (fr) * 2001-06-06 2003-10-31 France Telecom Protocole et systeme de diffusion de programmes audiovisuels a partir d'un serveur
US6813690B1 (en) * 2001-06-12 2004-11-02 Network Appliance, Inc. Caching media data using content-sensitive identifiers
US7155531B1 (en) 2001-06-12 2006-12-26 Network Appliance Inc. Storage methods and apparatus for streaming media data
US7054911B1 (en) 2001-06-12 2006-05-30 Network Appliance, Inc. Streaming media bitrate switching methods and apparatus
US7478164B1 (en) 2001-06-12 2009-01-13 Netapp, Inc. Methods and apparatus for pacing delivery of streaming media data
US7076560B1 (en) 2001-06-12 2006-07-11 Network Appliance, Inc. Methods and apparatus for storing and serving streaming media data
US6742082B1 (en) * 2001-06-12 2004-05-25 Network Appliance Pre-computing streaming media payload method and apparatus
US20030046704A1 (en) * 2001-09-05 2003-03-06 Indra Laksono Method and apparatus for pay-per-quality of service for bandwidth consumption in a video system
AU2002366689A1 (en) * 2001-12-12 2003-06-23 Koninklijke Philips Electronics N.V. Processing a media signal on a media system
US7386627B1 (en) 2002-01-29 2008-06-10 Network Appliance, Inc. Methods and apparatus for precomputing checksums for streaming media
US7412531B1 (en) 2002-01-29 2008-08-12 Blue Coat Systems, Inc. Live stream archiving method and apparatus
JP4150951B2 (ja) * 2002-02-19 2008-09-17 ソニー株式会社 動画配信システム、動画配信装置および方法、並びにプログラム
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems
US20050226320A1 (en) * 2002-04-22 2005-10-13 Koninklijke Philips Electronics N.V. Circuit, apparatus and method for storing audiovisual data
US20030204630A1 (en) * 2002-04-29 2003-10-30 The Boeing Company Bandwidth-efficient and secure method to combine multiple live events to multiple exhibitors
US7657644B1 (en) 2002-05-10 2010-02-02 Netapp, Inc. Methods and apparatus for streaming media multicast
CN101646063B (zh) * 2002-06-21 2011-12-28 汤姆森许可贸易公司 在移动无线交互工作环境中用于存储的视频流的提高质量
US7120751B1 (en) 2002-08-09 2006-10-10 Networks Appliance, Inc. Dynamic streaming buffer cache algorithm selection
US7389330B2 (en) * 2002-09-11 2008-06-17 Hughes Network Systems, Llc System and method for pre-fetching content in a proxy architecture
KR20050055007A (ko) * 2002-10-18 2005-06-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 저장 장치
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
KR100690710B1 (ko) 2003-03-04 2007-03-09 엘지전자 주식회사 동영상 전송방법
FR2855702A1 (fr) * 2003-05-30 2004-12-03 France Telecom Procede de traitement d'ensembles de donnees de description de contenus multimedia, utilisation de ce procede et dispositif correspondant
US8416952B1 (en) * 2003-07-11 2013-04-09 Tvworks, Llc Channel family surf control
KR101145261B1 (ko) * 2004-02-27 2012-05-24 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20060023748A1 (en) * 2004-07-09 2006-02-02 Chandhok Ravinder P System for layering content for scheduled delivery in a data network
US8904458B2 (en) * 2004-07-29 2014-12-02 At&T Intellectual Property I, L.P. System and method for pre-caching a first portion of a video file on a set-top box
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US20060120697A1 (en) * 2004-12-06 2006-06-08 Gabriel Beged-Dov Simultaneous audio and visual content download and playback
US7685609B1 (en) * 2005-02-22 2010-03-23 Adobe Systems, Incorporated Using a distributed form object model to facilitate form event processing
GB2426664B (en) * 2005-05-10 2008-08-20 Toshiba Res Europ Ltd Data transmission system and method
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
JP4544029B2 (ja) * 2005-05-16 2010-09-15 日本電気株式会社 携帯端末、ストリーミング通信システム、ストリーミング通信方法及びストリーミング通信プログラム
MX2007014744A (es) * 2005-05-24 2008-02-14 Nokia Corp Metodo y aparatos para transmision/recepcion jerarquica en transmision digital.
US8001471B2 (en) * 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
US20070204011A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Systems and methods for offline access to video content of a web-site
JP2010505324A (ja) 2006-09-26 2010-02-18 ライブユー リミテッド 遠隔送信システム
JP5038427B2 (ja) * 2006-10-03 2012-10-03 クゥアルコム・インコーポレイテッド 無線通信のための一次同期信号および二次同期信号を処理するための方法および装置
US9154844B2 (en) 2006-10-30 2015-10-06 Alcatel Lucent Method and apparatus for reducing delays due to channel changes
US8201202B2 (en) * 2006-12-21 2012-06-12 Sony Corporation High quality video delivery via the internet
JP5070846B2 (ja) * 2007-01-16 2012-11-14 ソニー株式会社 番組配信システムおよび録画再生装置
CN101321275B (zh) * 2007-06-06 2012-08-08 华为技术有限公司 视频流的处理系统和处理方法
KR100954290B1 (ko) * 2007-12-10 2010-04-26 한국전자통신연구원 Dmb 방송 시스템에서 고품질 미디어 데이터 처리 방법및 장치
EP2245770A1 (en) 2008-01-23 2010-11-03 LiveU Ltd. Live uplink transmissions and broadcasting management system and method
FR2928807B1 (fr) * 2008-03-11 2017-04-07 Canon Kk Procede de transmission sur un reseau de communication d'un signal video pre-encode
US8331659B2 (en) * 2008-05-23 2012-12-11 Broadcom Corporation Method and apparatus for reduced complexity video processing via special chroma handling
US20100050221A1 (en) * 2008-06-20 2010-02-25 Mccutchen David J Image Delivery System with Image Quality Varying with Frame Rate
US8539092B2 (en) * 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US9532001B2 (en) * 2008-07-10 2016-12-27 Avaya Inc. Systems, methods, and media for providing selectable video using scalable video coding
US8185650B2 (en) * 2009-01-13 2012-05-22 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems, methods, and computer program products for transmitting and/or receiving media streams
US20100250764A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Signaling Layer Information of Scalable Media Data
US20100250763A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Transmitting Information on Operation Points
US20120096353A1 (en) 2009-06-19 2012-04-19 Dolby Laboratories Licensing Corporation User-specific features for an upgradeable media kernel and engine
US9002881B2 (en) * 2009-10-29 2015-04-07 Microsoft Technology Licensing, Llc Assembling streamed content for on-demand presentation
US8611370B2 (en) * 2009-11-13 2013-12-17 At&T Intellectual Property I, L.P. System and method to provide bundled services through a communication device
US8625667B2 (en) * 2009-11-30 2014-01-07 Alcatel Lucent Method of opportunity-based transmission of wireless video
US8462797B2 (en) * 2009-11-30 2013-06-11 Alcatel Lucent Method of priority based transmission of wireless video
US8010603B2 (en) 2009-12-07 2011-08-30 International Business Machines Corporation Automated web conference system for generating higher quality of presentation slide by client and submitting to server
US9071875B2 (en) * 2009-12-17 2015-06-30 At&T Intellectual Property I, L.P. Processing and distribution of video-on-demand content items
US20120094600A1 (en) 2010-10-19 2012-04-19 Welch Allyn, Inc. Platform for patient monitoring
US20120144438A1 (en) * 2010-12-02 2012-06-07 Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) Method and apparatus for distributing content via a network to user terminals
GB2489020A (en) * 2011-03-16 2012-09-19 David White A method of communicating a traffic stream over a communications network comprising a variable traffic bandwidth
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US10491966B2 (en) * 2011-08-04 2019-11-26 Saturn Licensing Llc Reception apparatus, method, computer program, and information providing apparatus for providing an alert service
EP2560344B8 (en) * 2011-08-18 2018-06-27 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
GB2493840A (en) * 2011-08-18 2013-02-20 Apple Inc Cloud downloads whose quality level depends upon network performance, used for playback and/or upgrading client cached assets
WO2013108954A1 (ko) * 2012-01-20 2013-07-25 전자부품연구원 하이브리드 전송환경에서 스케일러블 초고해상도 비디오 서비스를 위한 프로그램 구성 정보 송수신 방법, 효율적인 스케일러 계층 정보 전송을 위한 방법 및 스케일러 계층 정보 전송을 위한 장치
EP2624577B1 (en) * 2012-02-01 2016-11-02 EchoStar UK Holdings Limited Remote viewing of media content using layered video encoding
US8787966B2 (en) 2012-05-17 2014-07-22 Liveu Ltd. Multi-modem communication using virtual identity modules
WO2013171648A1 (en) 2012-05-17 2013-11-21 Liveu Ltd. Multi-modem communication using virtual identity modules
WO2014049196A1 (en) * 2012-09-27 2014-04-03 Nokia Corporation Method and techniqal equipment for scalable video coding
US8719888B1 (en) * 2012-10-16 2014-05-06 Google Inc. Video encoding and serving architecture
CN103812833A (zh) * 2012-11-08 2014-05-21 上海心动企业发展有限公司 一种根据带宽更新多媒体数据的控制方法及其控制装置
KR20140103569A (ko) * 2013-02-18 2014-08-27 한국전자통신연구원 적응적 계층 선택을 위한 장치 및 방법, 이를 구비한 서버
US9369921B2 (en) 2013-05-31 2016-06-14 Liveu Ltd. Network assisted bonding
US9338650B2 (en) 2013-03-14 2016-05-10 Liveu Ltd. Apparatus for cooperating with a mobile device
US9980171B2 (en) 2013-03-14 2018-05-22 Liveu Ltd. Apparatus for cooperating with a mobile device
TW201441935A (zh) * 2013-04-26 2014-11-01 Hon Hai Prec Ind Co Ltd 視訊截圖系統及方法
US10986029B2 (en) 2014-09-08 2021-04-20 Liveu Ltd. Device, system, and method of data transport with selective utilization of a single link or multiple links
JP6178370B2 (ja) * 2015-09-09 2017-08-09 株式会社メディアリンクス 映像伝送システム及び映像受信装置
GB2547934B (en) 2016-03-03 2021-07-07 V Nova Int Ltd Adaptive video quality
US11088947B2 (en) 2017-05-04 2021-08-10 Liveu Ltd Device, system, and method of pre-processing and data delivery for multi-link communications and for media content
US11873005B2 (en) 2017-05-18 2024-01-16 Driveu Tech Ltd. Device, system, and method of wireless multiple-link vehicular communication
US11050843B2 (en) * 2018-03-30 2021-06-29 Facebook, Inc. Systems and methods for prefetching content

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621660A (en) * 1995-04-18 1997-04-15 Sun Microsystems, Inc. Software-based encoder for a software-implemented end-to-end scalable video delivery system
US5742892A (en) * 1995-04-18 1998-04-21 Sun Microsystems, Inc. Decoder for a software-implemented end-to-end scalable video delivery system
US5828788A (en) * 1995-06-29 1998-10-27 Thomson Multimedia, S.A. System for processing data in variable segments and with variable data resolution
IL117133A (en) * 1996-02-14 1999-07-14 Olivr Corp Ltd Method and system for providing on-line virtual reality movies
US6233017B1 (en) * 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US6564262B1 (en) * 1996-09-16 2003-05-13 Microsoft Corporation Multiple multicasting of multimedia streams
US6141053A (en) * 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6728775B1 (en) * 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
KR100261254B1 (ko) * 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치
US6745226B1 (en) * 1997-05-02 2004-06-01 Roxio, Inc. Method and system for progressive encoding in an active desktop environment
US6510553B1 (en) * 1998-10-26 2003-01-21 Intel Corporation Method of streaming video from multiple sources over a network
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) * 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US7536705B1 (en) 1999-02-22 2009-05-19 Tvworks, Llc System and method for interactive distribution of selectable presentations
US6470469B1 (en) * 1999-03-26 2002-10-22 Microsoft Corp. Reconstruction of missing coefficients of overcomplete linear transforms using projections onto convex sets
US6460153B1 (en) * 1999-03-26 2002-10-01 Microsoft Corp. Apparatus and method for unequal error protection in multiple-description coding using overcomplete expansions
US6532562B1 (en) * 1999-05-21 2003-03-11 Microsoft Corp Receiver-driven layered error correction multicast over heterogeneous packet networks
US6996097B1 (en) * 1999-05-21 2006-02-07 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
US6594798B1 (en) * 1999-05-21 2003-07-15 Microsoft Corporation Receiver-driven layered error correction multicast over heterogeneous packet networks
WO2001089221A1 (en) * 2000-05-18 2001-11-22 Imove Inc. Multiple camera video system which displays selected images
US20020049979A1 (en) * 2000-05-18 2002-04-25 Patrick White Multiple camera video system which displays selected images
US6816194B2 (en) * 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
US6823394B2 (en) * 2000-12-12 2004-11-23 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
US6987728B2 (en) * 2001-01-23 2006-01-17 Sharp Laboratories Of America, Inc. Bandwidth allocation system
US7237032B2 (en) * 2001-02-16 2007-06-26 Microsoft Corporation Progressive streaming media rendering
US7483487B2 (en) * 2002-04-11 2009-01-27 Microsoft Corporation Streaming methods and systems

Also Published As

Publication number Publication date
EP1233591B1 (en) 2006-07-26
ATE334544T1 (de) 2006-08-15
EP1233591A3 (en) 2004-02-25
DE60213297D1 (de) 2006-09-07
DE60213297T2 (de) 2007-08-23
US7359980B2 (en) 2008-04-15
US20020116473A1 (en) 2002-08-22
US7383346B2 (en) 2008-06-03
EP1233591A2 (en) 2002-08-21
US20060015634A1 (en) 2006-01-19
US7237032B2 (en) 2007-06-26
JP2002314975A (ja) 2002-10-25
US20060015633A1 (en) 2006-01-19

Similar Documents

Publication Publication Date Title
JP4818562B2 (ja) 漸進的により高品質のバージョンのオーディオおよび/またはビデオプログラムを得るための方法およびコンピュータネットワーク
US10951680B2 (en) Apparatus, system, and method for multi-bitrate content streaming
JP5894220B2 (ja) プログレッシブ再生を含む映像分配システム
JP5288710B2 (ja) マルチメディアデータを記録した情報保存媒体、その再生方法及び再生装置
KR101364824B1 (ko) 스트리밍 미디어 콘텐츠에 대응하는 광고 콘텐츠를 관리하는 시스템 및 방법
JP3860957B2 (ja) マルチメディアデータの送出装置
KR20020095001A (ko) 다운로드와 스트리밍의 혼합 방식을 이용한 파일 전송 방법
JP2008048091A (ja) 動画タグ付けプログラム、動画タグシステム、及び動画配信方法
JP2004159057A (ja) 再生情報配信システム及び再生情報配信方法
JP2002158657A (ja) ストリーム配信方法及びストリーム配信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050218

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080808

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080918

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090123

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110729

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

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

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4818562

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees