JP4908460B2 - インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法 - Google Patents

インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法 Download PDF

Info

Publication number
JP4908460B2
JP4908460B2 JP2008170132A JP2008170132A JP4908460B2 JP 4908460 B2 JP4908460 B2 JP 4908460B2 JP 2008170132 A JP2008170132 A JP 2008170132A JP 2008170132 A JP2008170132 A JP 2008170132A JP 4908460 B2 JP4908460 B2 JP 4908460B2
Authority
JP
Japan
Prior art keywords
frame
video stream
frames
switching
playback
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
JP2008170132A
Other languages
English (en)
Other versions
JP2008263648A (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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JP2008263648A publication Critical patent/JP2008263648A/ja
Application granted granted Critical
Publication of JP4908460B2 publication Critical patent/JP4908460B2/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/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
    • 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
    • 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/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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)

Description

本発明は、たとえば、インターネット・コマースのための対象を視覚的に提示するために使用することができる、ビデオ信号ストリームの作成およびそれとの対話のためのシステムおよび方法に関する。
インターネット・コマース(Eコマース)は、顧客が店と対話するための刺激的な新しい可能性を開いた。顧客は現在、自分の都合のよいときに自宅で楽に買物をすることができる。さらに、彼らは地元の店をオンラインで訪れることに制限されず、実質的に世界中のどこでも買物をすることができる。同様に店側は、以前には夢みることしかできなかった巨大な顧客ベースへの新しい領域を探る絶好の機会を得ている。いくつかのよく知られている成功したEコマースの店には、オンライン書店(たとえば、Amazon.Com)、旅行代理店(たとえば、Microsoft(登録商標)CorporationのExpedia)およびソフトウェア・ベンダが含まれる。しかし、衣類、宝石、家具および不動産の店など、他の潜在的な大型の店が遅れをとっているようである。この理由は、これらの製品をオンラインで現在の技術を使用して提示することの困難さにある。たとえば、本またはコンピュータ・ソフトウェアはテキスト(および、場合によっては表紙の静止画像)によって十分に説明することができるが、静止画像およびテキストでは、宝石または衣服または家の詳細を潜在的な買い手向けに十分に提供することがほとんどできない。最新のオンライン・ファッション・モールでは、各アイテムを閲覧するために単一の画像しか提供していない。現在の物体/場面のプレゼンテーションは、テキスト、静止画像、またはイメージ・パノラマなどのイメージベース・レンダリング(IBR)技術に依拠している。これらの技術は、視覚的なリアリズムの欠如、双方向性の欠如を欠点として有しており、限られた視覚的情報を提供し、かつ/または小さい部類の物体(たとえば、凸状の物体)のみに制限される。
製品のグラフィックス・モデルを構築することは可能である。利点は、グラフィックス・モデルが完全なユーザ双方向性を提供できることである。しかし、現在のグラフィックス・レンダリングおよびモデリング・アルゴリズムはなお実体の複製からやや隔たりがある。さらに、これらのモデルを作成するコストは相対的に高く、幾何形状の複雑さ、材料および動的特性ならびに照明条件に劇的に比例する。実のところ、クリスタル製の花瓶をインタラクティブに閲覧するための3Dモデルの作成は困難な作業である。これは花瓶との光の複雑な相互作用のためである。
商品のよりよい表現をインターネット上で提供するため、いくつかのオンライン不動産店(http://www.apartment.comなど)が単純なIBR技術を使用しており、これは一般にQuickTime VRとしても知られている。IBR技術は、デジタル画像を単純な3Dグラフィックス・モデルに埋め込み、リアリズムおよび双方向性を狙うものである。基本的な考えは、多数の画像(カメラを360度で回転中に撮影したもの)を合わせてステッチしてパノラマを形成することである。次いで、このパノラマがユーザの操作用に不可視の円柱上に「ペースト」される。ユーザは周囲の場面を(円柱の中心に立っているかのように)、グラフィックス・ウィンドウにおいて円柱をマウスにより「回転」させることによってインタラクティブに閲覧することができる。360度の周囲のインタラクティブな閲覧は、静止画像の受動的な閲覧よりも情報提供的であり、興味深いものである。加えて、パノラマは少数の画像のみで容易に構築される。これを行うための商用ソフトウェアはすでに、あるデジタル・カメラにバンドルされている。しかし、いくつかの欠点がある。
(1)歪み:IBRパノラマは、平面画像を合わせて「ステッチ」し、次いでこれらをインタラクティブな検査のために円柱または球(あまり一般的ではない)上に「ペースト」することによって生成される。元の画像が撮影された範囲が狭いほど(円柱または球のより大きい曲率に対応する)、閲覧の歪みはより激しくなる。さらに、「ステッチング」アルゴリズムは、隣接した画像における「フィーチャ・セット」(しばしば正規のパターン)の発見および突き合わせに依拠する。これは、不規則性の高い場面ではアルゴリズムが失敗するか、あるいは少なくとも不十分に実行する可能性があることを意味する。
(2)制限されたティルト(上下)閲覧範囲:現在のパノラマは、激しい歪みが起こる前にむしろ制限されたティルト閲覧範囲を提供する。これにより、ユーザが入手可能な視覚的情報の量が制限される。
(3)ルック・アウト(looking out)対ルック・イン(アット)(looking in(at)):商用IBRパノラマは、外および周囲を見る(looking out and around)ユーザ(部屋の中央に立っており、辺りを見渡すなど)に対応するビューしか提供しない。物体の中を見て調べる(looking in and at)ユーザに対応するパノラマのビューを構築することは、はるかに難しい。このような目的で調査者は、ライト・フィールド(light field)など、より高性能のIBRアルゴリズムを調査してきている。これらのアルゴリズムは、物体の粗い、あるいは部分的な3Dモデルを、相互作用のための中間的なビューを作成するために、異なる閲覧角度で撮影された画像から構築しようと試みる。しかし、現在の技術には、物体の凸面が必要であることなど多数の制限があり、複雑または不規則な3D形状の物体では不十分にしか実行できない(穴や激しい歪みが、画像データの欠如または不適合により、あるビューにおいて現れる)。反射ガラスは複雑な物体の一例である。画像データの欠如は、物体の周囲で綿密に撮影されたより多数の画像を使用することによって回避できるが、これは較正アルゴリズムにおける複雑さが増大することになり(コンテンツ作成に負担がかかる)、なお歪みの問題を解決しない。
(4)移動する物体向きではない:IBRベースの技術は、動的な(移動する)物体を処理するときに有効ではない。これにより、衣類(理想的には、衣服をテーブルの上に平らに置くのではなく、通路を歩くモデルが身に付けるとどのように見えるかを見たいものである)、または生きているような玩具、ペット、機械部品など、多数のカテゴリの製品からのそれらの用途が制限される。
いくつかの実施態様では、本発明は、ビデオ・ストリームのフレームを格納かつ提供する方法を含む。この方法は、異なるビューポイントからの対象のビデオ・ストリームを格納することを含み、ビデオ・ストリームのうち異なるものがビューポイントのうち異なるものを含む異なる状態にある。この方法は、順方向、逆方向および状態変更方向におけるビデオ・ストリームのフレームのための要求に、使用可能な場合はフレームを提供することによって応答することも含む。
フレームをリモート・コンピュータへ、インターネットを介して提供することができる。
他の実施態様では、本発明は、ビデオ・ストリームを制御する方法を含む。この方法は、ビデオ・ストリームのフレームを表示することを含み、ビデオ・ストリームは異なるビューポイントからの対象のものであり、ビデオ・ストリームのうち異なるものが、ビューポイントのうち異なるものを含む異なる状態にある。ユーザ入力デバイスの活動化に応答して、使用可能な場合は少なくとも1つの追加のフレームを、活動化に応じて、フレームのうち現在表示されたものに関して、順方向、逆方向、または状態変更方向において表示する。
他の実施態様を記載し、主張する。
本発明は、以下に挙げる詳細な説明から、かつ本発明の実施形態の添付の図面から、より十分に理解されるであろう。しかし、これらが本発明を、記載された特定の実施形態に限定するものと解釈されるべきではなく、これらは説明および理解のためのものでしかない。
A.概観
本発明は、対象とカメラの間に相対的な動きがある場合の、対象の少なくとも1つのデジタル・ビデオ・ストリームの作成を含む。対象の例には、物体、場所(家またはアパートなど)、および場面(自然設定など)が含まれる。デジタル・ビデオ・ストリームは、インタラクティブな閲覧のために使用可能である。ビデオ・カメラは容易に、IBRパノラマと同じであるパノラマのビューを生成することができるが、大幅に歪みが少ない。さらに必然的に、提供することができるビューの種類(ルック・アウトまたはルック・アット、ティルト、パンなど)、または目標とされた場面および物体の複雑さにおける制限がない。対照してみると、IBRベースの技術は、限定された環境(たとえば、凸状の物体を有する)でしか十分に機能しない。
いくつかの実施形態では、多数のビデオ・ストリームが異なる基準(たとえば、異なるビューポイント)から作成される。有限状態機械に基づいたデータ構造が使用されて、異なるビデオ・ストリームの間の関係が取り込まれる。異なる基準からのビデオ・ストリームは、状態機械内で異なる状態として処理される。ユーザはビデオ・ストリームと、マウスなどのユーザ入力を介して対話して、対象をある状態内で時計回りまたは反時計回りに回転させる(あるいは、対象に関してカメラを回転させる)体験を得ることができ、対象の部分へズーム・インすること、または異なるビデオ・ストリーム(たとえば、異なる高度の基準から作成できるもの)に切り替えることができる。
本発明は、インターネット・コマース・ベースのマーチャンダイジングに適している。本発明を使用して、物体を、高品質および大幅なリアリズムを有して提示することができる。加えて、柔軟性のある双方向性が提供される。様々な実施形態において、本発明は以下の利点を提供する。閲覧されたビデオ信号のリモート表現が視覚的に真正(現実的)である。ビデオ信号と対話することが容易である(たとえば、マウスの動きが直観的であり、好都合である)。リモート表現を情報提供的にして、対象の十分な詳細を提供することができる。視覚信号を作成し、インターネット上でアクセスすることは相対的に安価である。
一例として、図1を参照すると、コンテンツ提供システム12(たとえば、パーソナル・コンピュータ)が、メモリ14におけるビデオ・ストリーム、ビデオ処理回路18およびソフトウェア20を含む。ビデオ処理回路18は、専用ハードウェア(たとえば、グラフィックス・カード)およびプロセッサを含むことができる。リモート受信コンピュータ30または32によって要求されたとき、コンテンツ提供システム12がビデオ信号を、1つまたは複数のビデオ・ストリームからコンピュータ30または32に供給する。コンピュータ30はコンピュータ32とは異なる信号を要求することができ、コンテンツ提供システム12はこれらに異なるビデオ信号を、ストリーミング・ビデオ様式において、リンク22を介して供給することができる。リンクはインターネットであろう。ビデオ・ストリームのサイズのため、大抵の状況では、リモート受信コンピュータに一度にビデオ・ストリームの小さい部分のみを供給することが好ましい。
上述のように、リンク22はインターネットで代表される。このような場合、コンテンツ提供システム12はインターネットへのホスティング・サーバを含むことができ、あるいはリンク22が、コンテンツ提供システム12によって使用されるホスティング・サーバを含むことができる。別法として、リンク22を、電話回線またはある他の接続を介した直接接続にすることができる。なお別法として、ビデオ信号全体をディスクを介して移動させることができる。
いくつかの実施形態では、リモート受信コンピュータ30が、メモリ34、ビデオ処理回路36、ソフトウェア40、ユーザ・インターフェイス42、およびビデオ信号のフレームを表示するディスプレイ44を含む。ビデオ処理回路36は、専用ハードウェア(たとえば、グラフィックス・カード)およびプロセッサを含むことができる。メモリ34は、汎用メモリ、ならびに符号化されたMPEGビデオおよび復号化されたビデオ・フレーム用のメモリを含む。メモリ34は様々なメモリを表し、これにはたとえば、ハード・ドライブ、メイン・メモリ、ビデオ・メモリ(たとえば、ビデオ静的ランダム・アクセス・メモリ(VSRAM))、およびコンパクト・ディスク(CD)が使用された場合に含まれる(これらは、コンピュータ可読媒体を含む物品の例である)。ユーザ・インターフェイス42は、キーボードおよび1つまたは複数の他のユーザ入力デバイスを含むことができ、これにはたとえば、マウス、ジョイスティック、トラックボール、キーボード、ライト・ペン、タッチ・パッド、タッチ・スクリーン、ジェスチャー認識機構などが含まれる。リモート受信コンピュータ30は同様に、メモリ48、ビデオ処理回路50、ソフトウェア52、ユーザ・インターフェイス54およびディスプレイ56を含む。
コンテンツ提供システム12、および、リモート受信コンピュータ30および32は、様々なコンピュータのいかなるものも含むことができ、これにはたとえば、メイン・フレーム、デスクトップ、ポータブル、およびセットトップ・ボックス・ベースのコンピュータが含まれる。
本発明は、いかなる特定のデジタル・フォーマットにも制限されない。しかし、本発明のいくつかの実施形態は、MPEG(Moving Picture Experts Group)フォーマットに関連して記載される。現在の、かつ提案されているMPEGフォーマットには、MPEG−1(「Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 MBits/s」、ISO/IEC JTC 1 CD IS−11172(1992))、MPEG−2(「Generic Coding of Moving Pictures and Associated Audio」、ISO/IEC JTC 1 CD 13818(1994))、およびMPEG−4(「Very Low Bitrate Audio−Visual Coding」Status:ISO/IEC JTC 1/SC 29/WG 11、1999年3月)が含まれる。異なるバージョンのMPEG−1およびMPEG−2がある。MPEG以外の様々なフォーマットを使用することができる。ビデオ信号はインタリーブまたは非インタリーブ・フレームを有することができる。ビデオ信号を作成するための符号化に加えて、ビデオ信号の符号化および復号化がある可能性がある(たとえば、MPEGにおける離散コサイン変換)。たとえば、MPEGビデオ信号を、リンク22を介した伝送のために符号化することができる。
B.ビデオ・ストリーム作成
様々な方法で、対象のビデオ信号を作成することができる。対象は、カメラが静止している間に移動することができる。これは特に、回転台上で回転させることができる物体には有用である。別法として、対象は、カメラが移動する間に静止したままでいることができる。単一のカメラを使用し、異なる位置に移動させて、異なるビデオ・ストリームを作成することができる。多数のカメラを同時に異なる位置から使用して、異なるビデオ・ストリームを作成することができる。
「ビューポイント」という用語は、カメラの位置と角度を指す。ズームなど、他のパラメータも、得られたビデオ信号に影響を及ぼすことができる。カメラが、ビデオ・ストリーム用のビデオ信号の作成中に静止しているとき、ビューポイントはビデオ・ストリーム中で一定である(しかし、ズームまたは他のパラメータは、ビデオ信号が作成されるときに変化する可能性がある)。カメラが移動したとき、ビューポイントがビデオ・ストリームにおいて変化する。少なくともいくつかのビューポイントが、異なるビデオ・ストリームにおいて異なるようになる。通常は、効果的なプレゼンテーションのためにビューポイントにおける違いが十分に選択され、制御される。ビデオ・ストリームが時間において連続して作成されている必要はないことに留意されたい。
対象が移動するシステムの一実施形態を図2に示す。図2を参照すると、システム60が物体が載る回転台64を含む。ビデオ・カメラ70がカメラトラック・スタンド72上のビューポイントAで固定される。回転台66が回転するとき、カメラ70が対象66のビデオ・ストリームのためのビデオ信号を作成する。いくつかの実施形態では、ビデオ信号を、物体66が回転するときにその異なるビューポイントから作成するものは、1台のカメラ70のみである。たとえば、1台のカメラしかなかった場合、これは最初にビデオ・ストリームをビューポイントAから作成し、次いでビデオ・ストリームをビューポイントBから作成し、次いでビデオ・ストリームをビューポイントCから作成することができる(図2は、ビューポイントA...Eを例示するが、実際にはより少ないビューポイントを使用することができる)。他の実施形態では、各ビューポイントについて1台のカメラがあり、各カメラが同時にビデオ・ストリームを、物体66が回転するときにその異なるビューポイントから作成する。多数のカメラを使用する利点は、異なるビューポイントからのビデオ信号のフレームを揃えることができることである。また、ビデオ信号作成を完了するために要する時間を短くすることもできる。ビューポイント間の動きは、カメラ・トラック・モータ76を介するか、あるいは手動によるか、あるいは他の手段を介することができる。カメラの方向を制御するための機構が含まれる。
回転台64を電動化することができる。電動化された回転台は、対象とカメラの間の一定の相対的な動きを保つことにおいて有用である。一定の相対的な動きの利点は、リモートで閲覧するユーザが、どの程度速くビデオ信号のフレームを進めるか、あるいはバックアップするかを測ることがより容易である点である。さらに、カメラが1台しかない場合、電動化された回転台を使用することは、異なるビューポイントからのフレームを揃えるための助けとなり、異なるビデオ・ストリームに切り替えたとき(状態遷移)、より正確なインデックス付けを対応するフレームに作成するための助けとなる。十分な結果を、典型的な三脚および/または手動で制御された回転台の使用を通じて得ることができる。
ビデオが、パーソナル・コンピュータ80などのディスプレイ84、キーボード86およびマウス88、または他のデバイスを含むコンピュータに送られる。カメラはデジタル・フォーマットであるいはアナログ・フォーマットで記録することができ、これが後にデジタル・ビデオ・フォーマットに変換される。ビデオ信号をコンピュータ80へ、たとえば、S−Video Out(シリアル)接続を介して供給することができる。特定の規格またはフォーマットは必要ではない。しかし、ビデオ信号を、Microsoft(登録商標)Corporationが販売するInternet Explorer(商標)ブラウザのうちの1つ、またはよく知られているNetscape(登録商標)ブラウザのうちの1つなど、普及しているインターネット・ブラウザによって理解されるフォーマットにすることが有用であろう。ビデオ信号をビデオ・カメラにおいて、コンピュータ80にダウンロードする前にビデオ信号の作成の完了まで保持することができ、あるいはビデオを完了前にダウンロードすることができる。
図3はスタンド100を例示す。スタンドはカメラ104を支持するためのプラットフォーム106を含む。プラットフォーム106はシャフト108で回転する。その高さは調節できる。オプションのモータ114が制御可能にプラットフォーム106を回転させることができる。機構116がプラットフォーム106の角度を制御することができる。
図4はスタンド120を例示し、これはシステム100と類似しているが、追加のカメラ122を、機構128を介して傾くプラットフォーム124上で支持していることが異なる。機構128によって行われた傾きを、機構116に寄る傾斜と異なるようにすることができる。
図2ないし図4におけるスタンドの代替物として、手持ちのビデオ・カメラを使用することができ、あるいはカメラおよび単純な三脚を使用することもできる。
図5は、3つの異なるビデオ・ストリームVS1、VS2およびVS3のフレームF1、F2、...を例示する。
望むだけのビデオ・コンテンツをデジタル・ビデオ・カメラにより生成することができるが、選択的にするための理由がある。処理時間がビデオ・コンテンツの量に比例するので、理想的には手近に置くために必要であるだけのコンテンツのみを使用することができる。これは以下の問題に通じる。すなわち、どの種類の閲覧シーケンスがもっとも多くの視覚的情報をもっとも効果的に伝達するか、である。パノラマのビューは自然の選択であるように思われる。これは特に、我々が大抵は3Dの物体を処理しているからである。我々の脳が、完全な3Dの視覚的情報がなくても物体の十分なメンタル・モデルを構築できることにも留意されたい。異なる高度で撮影された多数のパノラマのシーケンスは、大抵の人々向けに十分な視覚的な手がかりを含んでいるように思われる(単一のパノラマのビデオ・シーケンスは通常、限定されたカメラ角度により十分ではない)。多数のティルト・シーケンスを追加の視覚的な手がかりとして含めることができる。
C.ユーザの対話
図1を参照すると、リモート受信コンピュータ30のユーザ・インターフェイス42を使用して、ビデオ信号のどの部分を閲覧するかを指示することができる。ユーザが、基準のビデオ信号の少なくとも最初のフレームの表示を活動化することができる。いくつかの実施形態ではユーザが開始基準を選択することができ、他の実施形態ではデフォルト基準がある。フレームがディスプレイ44に表示された後、ユーザが再生の方向を変更することができ(たとえば、順方向から逆方向へ)、ユーザ・インターフェイス42のユーザ入力デバイス(たとえば、マウス)を介してビデオ・ストリームを切り替えることができる。
いくつかの実施形態では以下の約束事が使用される。フレームは、マウスの主として右方向の動き(活動化)に応答して順方向に表示され、マウスの主として左方向の動きに応答して逆方向に表示される。フレームの変化の割合をマウスの動きの速度に関係付けることができ、フレームがマウスの動きに応答して変更される間の持続時間を、動きの距離に関係付けることができる。フレームが逆方向へ開始まで、あるいは順方向へビデオ・ストリームの終了まで移動したとき、これらはそれぞれ停止するか、あるいはビデオ・ストリームの終了または開始までラップ・アラウンドすることができる。たとえば、マウスが主としてユーザから離れるように(あるいは、表示ウィンドウにおいて上方に)移動された場合、ビデオ・ストリームが(ある場合は)上方向に変化し、マウスがユーザに向けて移動された場合、ビデオ・ストリームが(ある場合は)下方向に変化する。上方向によって、高い高度のビューポイントを意味し、下方向によって、より低い高度を意味する。他の慣例を使用することができる。
より詳細には、いくつかの実施形態では6種類のマウスの動きが使用される。すなわち、左、右、上、下、ズーム・イン、ズーム・アウトである。マウスが表示ウィンドウ内にある間に左マウス・ボタンが押されたとき、マウス・イベントが検出される。マウス・イベントのコールバック関数が、マウス位置のXおよびYウィンドウ座標を(Xold、Yold)として記録する。次のレンダリング・サイクルにおいて検出された新しいマウス位置を、(Xnew、Ynew)と呼ぶ。6つのマウスの動きは以下のように分類される(Y軸が上であると仮定する)。
τはしきい値である。
左:(|Xnew−Xold|−|Ynew−Yold|)>τかつ(Xnew<Xold)の場合。
右:(|Xnew−Xold|−|Ynew−Yold|)>τかつ(Xnew>Xold)の場合。
上:(|Ynew−Yold|−|Xnew−Xold|)>τかつ(Ynew>Yold)の場合。
下:(|Ynew−Yold|−|Xnew−Xold|)>τかつ(Ynew<Yold)の場合。
ズーム・イン:シフト・キーが押され、マウスの「上」の動きが検出された場合。
ズーム・アウト:シフト・キーが押され、マウスの「下」の動きが検出された場合。
本発明はこれらの詳細に限定されない。
図6は、3つの異なるビデオ・ストリームからの典型的なフレームを例示する。フレーム150A、150Bおよび150Cは、ビューポイント1(Vpnt1)からのビデオ・ストリームVS1のフレームであり、フレーム154A、154Bおよび154Cは、ビューポイント2(Vpnt2)からのビデオ・ストリームVS2のフレームであり、フレーム158A、158Bおよび158Cは、ビューポイント3(Vpnt3)からのビデオ・ストリームVS3のフレームである。ビデオ・ストリームにおいて、例示されたフレームの間に例示されていないフレームがあることに留意されたい。例としてのみ、ビューポイント1、2および3を、図2におけるビューポイントA、BおよびCにすることができる。図6のフレームは、異なる回転、高度および角度から、反射光をあてた3つのガラスの物体を示す。図6におけるビデオ・セグメントのための作成の時間は、約5分であった。これは、IBRでは効果的に行うことができなかった。さらに、適度に現実的なグラフィックス・モデルがガラスの装飾品から作成された場合、必要とされる時間および労力は、特に装飾品における複雑な照明効果を考慮するとはるかに大きくなっていたであろう。
各ビデオ・ストリームを有限状態機械における個別の状態としてモデリングすることができ、そこでは、ビデオ・ストリーム内のフレームが同じ状態にある。たとえば、図6を参照すると、ビデオ・ストリームVS1のフレームが第1の状態であり、ビデオ・ストリームVS2のフレームが第2の状態であり、ビデオ・ストリームVS3のフレームが第3の状態である。各状態内で、ユーザは、順方向または逆方向に所望の速度で、ユーザ入力デバイスによって移動することができる。いくつかの実施形態では、以下に記載するように、フレーム毎に順方向または逆方向にランダムにアクセスされることがある。ユーザは、上述のように状態に切り替えることもできる。いくつかの実施形態では、ビューポイントVS1とVS2の間、およびビューポイントVS2とVS3の間で切り替えることができるが、VS1とVS3の間をジャンプすることは、VS2における対応するフレームを表示して大きな閲覧変化を回避せずにはできない。図6は、従来技術に勝る本発明の著しい利点を例示する。すなわち、高速なコンテンツ作成、リアリズム、および単純ながら効果的なユーザの対話である。これらの利点は、人々が高性能のコンテンツを、他者による閲覧および対話のために高速かつ容易にインターネット上で取り込み、公開することを容易にし、助長するであろう。いくつかの実施形態では1つのフレームのみが一度に表示され、他の実施形態では多数のフレームを表示することができ、ユーザがそれらの間でインタラクティブにジャンプできるようにすることができる。
図7は、図6の実施形態の有限状態機械の特性を例示する。各円が異なる状態を表す。たとえば、図6および図7を参照すると、いくつかの実施形態では、ユーザが状態をビデオ・ストリームVS1からVS2へ、かつVS2からVS1へ、またVS2からVS3へ、かつVS3からVS2へ切り替えることができる。他の実施形態では、状態を直接VS1からVS3へ、かつVS3からVS1へ、VS2におけるフレームを表示することなく切り替えることが可能である。他の実施形態のための状態機械表現を、図7のものより複雑にすることができる。
図6のフレームは、ナビゲーション支援160および162をフレームの左下隅に含む。乱雑になるのを避けるため、フレーム150Aのナビゲーション支援のみにラベルが付けられている。支援の目的は、閲覧するための追加のフレームがある方向をユーザに示すことである。各フレームにおいて、ユーザは順方向または逆方向に移動することができ、そのため、水平支援162が右および左をポイントする(他の実施形態では、ユーザが状態の最初または最後のフレームに達していると、矢印が、ラップ・アラウンド機能があったかどうかに応じて右または左のみをポイントすることもある)。3つの状態しかない(図7を参照)ので、ユーザが最上の状態におけるフレーム(フレーム158A、158Bおよび158C)を閲覧中であるとき、変更するための唯一の状態は下方向であり、垂直支援160が下方向をポイントする。ユーザが底部の状態におけるフレーム(フレーム150A、150Bおよび150C)を閲覧中であるとき、変更するための唯一の状態は上方向であり、垂直支援160が上をポイントする。中央の状態(フレーム154A、154Bおよび154C)では状態が上または下に変化でき、そのため垂直支援160が上および下をポイントする。
単純な場合の状態機械では、唯一のビデオ・ストリームがパノラマのビューであり、たとえば図8において、Vp0、Vp1、...Vpiが異なるパノラマのビデオ・ストリームを指す。現在の状態がVpiであった場合、マウスの「上」の動きがVpi+jへの遷移にマップされ、マウスの「下」の動きがVpi−jへの遷移にマップされ、jはマウスがドラッグされる速度に比例する。マウスの「左」および「右」の動きは、現在のビデオを順方向または逆方向に再生することに対応する。各マウスの対話により再生されるフレームの量は、マウスの動きの速度に比例する可能性がある。図8によって特徴付けられたビデオ・ストリームに関する対話モードは、「ライン」モードと呼ばれる。わずかにより複雑な遷移モードは、図9に例示されたように、パノラマのビューVpiおよびティルト・ビューVtiを含む。現在の状態がVpiであった場合、マウスの「上」または「下」の動きが「もっとも接近した」ティルト・ビデオ・ストリームへの遷移に対応する。たとえば、図10ではパノラマのビデオ・ストリームが分割され、異なるフレームがパノラマのビデオ・ストリームの異なるセクションにあるようにされる。たとえば、パノラマのビデオ・ストリームVp2のフレームが、セクションVp2−0(ティルト・ビデオ・ストリームVt0に近接)、Vp2−1(ティルト・ビデオ・ストリームVt1に近接)、Vp2−2(ティルト・ビデオ・ストリームVt2に近接)、およびVp2−i(ティルト・ビデオ・ストリームVtiに近接)に分割される。ティルト・ビデオ・ストリームもセクションに分割される。たとえば、ティルト・ビデオ・ストリームVt1が、セクションVt1−0(パノラマのビデオ・ストリームVp0に近接)、Vt1−1(パノラマのビデオ・ストリームVp1に近接)、Vt1−2(パノラマのビデオ・ストリームVp2に近接)などに分割される。
現在の状態がVp2であり、現在表示されたフレームがVp2−1内に入った場合、マウスの「下」の動きが現在の状態をVt1に設定する(ユーザにより継続されたマウスの「上」または「下」の動きが、Vt1の円滑な再生に対応する)。同様に、現在の状態がVtiであった場合、マウスの「右」または「左」の動きが「もっとも接近した」パノラマのビデオ・ストリームへの遷移に対応する。図9の対話モードは「メッシュ」モードと呼ばれる。このモードは、各パノラマ(ティルト)のストリームがN(またはM)個のセクションにおいて表現されることを含む。N(M)はティルト(パノラマ)のビデオ・ストリームの数である。パノラマおよびティルトのビデオが生成されたとき、カメラがおおよそ同じ一定の速度で回転中であると仮定すると、遷移後に新しいビデオ・ストリームにおいてどのフレームにジャンプするかを計算することが簡単である。「ライン」モードの実施形態では、フレームの数が遷移前にVpiの「n」であった場合、Vpjへの遷移後、現在のフレームが「m」に設定され、ただし以下のようになる。
m=n*(totalFrameNumberOf Vpj/totalFrameNumberOf Vpi)
メッシュ・モードの場合、遷移をもっとも近い交差のビューへ行うことができる。たとえば、現在の状態がティルト状態であった場合、遷移をもっとも近い交差のパノラマの状態へ行うことができ、現在の状態がパノラマの状態であった場合、遷移をもっとも近い交差のティルト状態へ行うことができる。
いくつかの実施形態では、ズーミングを、画像操作を介して、表示されたフレームを単にスケーリングすることによって行うことができる。他の実施形態では、より高い解像度のビデオ(たとえば、640×480)を取り込むことができ、縮小バージョン(たとえば、320×240)を標準の表示および対話に使用することができるが、元のより高い解像度のビデオを、ズーミングが必要とされたときにのみ対応するフレームで復号化することができる。
もう1つのズーミング効果が、仮想拡大鏡を作成することによって達成される。仮想拡大鏡は実質的に、ある事前定義されたサイズの特殊な正方形の表示領域である。ユーザはこの拡大鏡を、表示ウィンドウにおけるいかなるところにも(マウスにより)配置することができる。拡大は、拡大鏡の下に表示された画像のセクションを、同じ画像のより高い解像度のバージョンの適切な部分によって置き換えることによって達成される。仮想拡大鏡を使用して、ユーザは、選択された閲覧領域から関心のある物体を詳細に検討することができる。図11は、フレーム170、172および174を例示し、仮想拡大鏡176がフレーム172において使用され、仮想拡大鏡178がフレーム174において使用される。高解像度のビデオ・シーケンスからの単一のフレームのみを、拡大鏡が最初に呼び出されるたびに復号化する必要があるので、この方法は最低量の計算およびデータ転送を必要とする。多数の高解像度のビデオ・シーケンスが入手可能であった場合、対応する拡大の程度を有する多数の拡大鏡を作成して、ユーザがそこから選択するようにすることができる。
デジタル・ビデオ使用による一般のパラダイムは「クリック・アンド・プレイ」手法であり、順方向の再生のみが可能であり、通常は最初のフレームからのみである。本発明のいくつかの実施形態は、MPEG処理ライブラリ技術を、高速ランダム・アクセスおよびフレーム毎の逆方向再生のために、インデックス・テーブルの使用を介して使用することによって、この制限を克服する。このインデックス・テーブルは、MPEG符号化情報およびフレーム従属性に基づいて作成される。例としてのみ、いくつかの実施形態では、400MHzのPentium(登録商標)IIIプロセッサを有するパーソナル・コンピュータ(PC)により、352×240解像度のMPEG−1ビデオの逆方向復号化速度が約60フレーム/秒であり、これは、通常30フレーム/秒で取り込まれたビデオを表示するには非常に十分である。グラフィックス・エンジンでは、Silicon Graphicsによって開発されたOpen Graphic Library(OpenGL)を使用して、ユーザにより制御されたマウスの動きを、適切なビデオ・ストリームの適切な再生モードに結合することができる。OpenGLの利点には、(1)OpenGL用のハードウェア加速が幅広く使用可能であること、(2)OpenGLにより、画像操作のために貴重なフレーム・バッファの低レベルのオペレーションを可能にすること、(3)OpenGLユーティリティ・ライブラリ(GLUT)が、表示ウィンドウにおけるマウス・イベントを検出するための関数を提供すること、および、3Dグラフィックス・モデルをリアリズムおよび双方向性の拡張のためにビデオ・シーケンスに組み込むことが容易であることが含まれる。Microsoft CorporationのD3Dソフトウェアを、OpenGLの代替物として使用することができる。
図12は、プロトタイプ・システムをブロック図、流れ図の形式において例示する。図12を参照すると、符号化されたMPEGビデオ・シーケンスがバッファ180に格納される。コンテンツ提供システム12は、要求されたフレームを提供することができるだけでなく、積極的に、要求されたフレームに密接に近接したフレームを要求側のリモート受信コンピュータ30または32(図1を参照)に提供する。いくつかの実施形態では、同じビデオ・ストリームにおけるフレームのみが積極的に提供される。他の実施形態では、隣接したビデオ・ストリームにおけるフレームも提供される。マウスの移動に応答して(判断ボックス184)、バッファ180のコンテンツが更新され、適切なフレームが復号化ボックス186において復号化される。復号化処理については以下でより詳細に記載する。復号化されたフレームがOpenGLフレームバッファ・ブロック190に提供され、そこでフレームをズームについて操作することができる。フレームをモーフィングまたは他の技術によって操作することもできる。復号化されたフレームが、OpenGL表示ウィンドウ194(たとえば、図1のディスプレイ42)に提供される。
OpenGL以外の様々な知られているソフトウェア・ツールを使用することができる。たとえば、Microsoft CorporationのD3Dソフトウェアを、OpenGLの代替物として使用することができる。
D.フレームの高速ランダム・アクセスおよび逆方向のフレーム毎の再生
MPEG−1およびMPEG−2ビデオは、3つの基本フレーム・タイプ、すなわちIフレーム、PフレームおよびBフレームからなる。Iフレームは、他のフレームとは無関係に符号化される。Pフレームは、先のIまたはPフレームに基づいて符号化される。Bフレームは、双方向フレームとしても知られており、先および/または次のIまたはPフレームに基づいて符号化される。フィールド符号化を使用して符号化されたMPEG−2ビデオでは、Bフレームが、Bフレームとして符号化された異なるフィールドに従属する可能性もある。圧縮解除のコストは、異なるフレーム・タイプに渡って変わる。Iフレームが復号化するにはもっとも安価であり、その後にPフレーム、次いでBフレームが続く。PおよびBフレームを復号化するには動き補償が必要とされる。Bフレームは通常Pフレームを復号化するよりも費用が高く、これは、これが2つのフレームに従属する可能性があるのに対して、Pフレームは1つのフレームにのみ従属するからである。
便宜上、以下の実施形態を、9フレームのピクチャ・グループ(GOP)により記載する(これは、次のGOPのIフレームが含まれた場合、10フレームを有する)。しかし、本発明は、GOPにおいて特定の数のフレームに限定されない。たとえば、GOPは通常15または30フレーム、またはある他の数のフレームを有することができる。
本発明は、いかなる特定の解像度またはバイト数を有するフレームによる使用にも制限されない。たとえば、MPEG1ビデオ(352×240解像度)では1つの圧縮解除されたフレームのサイズを、RGBモードでは1/4メガバイト(Mbyte)、YUVモードでは1/8MByteにすることができる。より大きい解像度により、サイズをはるかに大きくすることができる。
以下のGOPのパターンが、フレームを表示する順序であると考察する。すなわち、I1(F1)、B1(F2)、B2(F3)、P1(F4)、B3(F5)、B4(F6)、P2(F7)、B5(F8)、B6(F9)、I2(F10)である。フレーム番号は括弧内であり、フレーム・タイプの後の数字を使用して、同じ符号化タイプを有する異なるフレームの間で区別する。表示順序と対照的に、符号化および復号化の順序は、I1 P1 B1 B2 P2 B3 B4 I2 B1 B2である。
1.ランダム・アクセス
MPEGビデオの任意のフレームへのランダム・アクセスは簡単ではなく、これはフレーム従属性のためである。たとえば、P1にアクセスするにはI1を最初に復号化する必要があり、B4にアクセスするには、これはP1およびP2に従属しており、最初にI1、P1およびP2を復号化する必要がある。
1つの手法は、GOPにおけるあらゆるフレームを復号化して、必要とされた復号化されたフレームが使用可能になるようにすることである。しかし、この強引な手法は無駄である。ランダム・アクセスのためのよりよい手法は、各フレーム用の直接フレーム従属性のリストを維持することである。直接フレーム従属性は、現在のフレームの復号化オペレーションのために直接必要とされたフレームのセットを指定する。上の実施形態では、以下が直接フレーム従属性である。
I1:なし
B1:I1、P1
B2:I1、P1
P1:I1
B3:P1、P2
B4:P1、P2
P2:P1
B5:P2、I2
B6:P2、I2
I2:なし
(フレーム従属性を、ルックアップ・テーブルによって設けることができ、これにはインデックスまたはフレーム番号によってアクセスすることができる。)
したがって、B5の復号化は、復号化されたP2を使用することを含み、I2が動き補償のために必要とされる。加えて、P2の復号化は、復号化されたP1を使用することを含み、これは復号化されたI1を必要とする。B5の復号化は、復号化されたI1、I2、P1およびP2を使用することを含む。B2の復号化は、復号化されたI1、および、動き補償のためにP1を使用することを含み、P1の復号化は、復号化されたI1を必要とする。したがって、B2が、復号化されたI1およびP1を必要とする。したがって、必要とされた復号化されたフレームが最初に復号化され、メモリに格納される。いくつかの場合では、復号化されたフレームが、それら自体が表示されない場合でも格納され、それらが他のフレームの復号化において使用可能となることに留意されたい。
2.フレーム毎の逆方向再生
MPEGビデオの逆方向(リバース)再生をランダム・アクセス技術を使用して簡単に実施することができる。したがって、逆方向の10を超えるフレームにアクセスするには、上のランダム・アクセス方法を使用してフレーム10を復号化することができ、次いで、ランダムアクセス方法を使用してフレーム9を、これがすでにフレーム10を復号化するために使用された事実を利用することなく復号化することなどができる。しかし、この手法は逆方向復号化の時間的コヒーレンスを活用しない。以下はコヒーレンスを活用するための新しい技術である。
復号化されたフレームが、復号済みフレーム・キャッシュに格納される。様々なタイプのメモリを復号済みフレーム・キャッシュとして使用することができる。メイン・メモリ・ダイナミック・ランダム・アクセス・メモリ(DRAM)が一例である。ビデオ・ランダム・アクセス・メモリ(VRAM)を使用することもできる。分離したメモリまたはメモリのセクションを、復号化されたフレームを保持することのみに専用にすることができる。復号済みフレーム・キャッシュは、すべてが連続した場所にある必要はない。
復号済みフレーム・キャッシュを固定または可変サイズにすることができる。これが固定サイズであった場合、出会う可能性のあるGOPを考慮して、必要とされる最低数の復号化されたフレームを保持するために十分大きくするべきである。サイズは、GOPにおけるフレームの数が変化した場合、動的に変化することができる。1つのアプローチでは、復号済みフレーム・キャッシュが固定サイズであり、キャッシュが一杯であるとき最低使用頻度(LRU)置換ポリシーが使用されて、アクセス頻度がもっとも低かったフレームが置換される。キャッシュが固定サイズでなかった場合、これは固定数のフレームを保持することができ、LRU置換ポリシーを使用することができる。
フレーム10から1への逆方向復号化のための以前の実施形態を使用すると、以下のことが、新しいアルゴリズムをフレーム10から7において使用して起こる。
フレーム10はI2フレームである。I2が復号化され、復号済みフレーム・キャッシュに格納される。キャッシュ=[I2]である。
フレーム9はB6フレームである。B6はI2、P2、P1、I1を必要とする。P2、P1およびI1が復号化される。B6も復号化される。I2はすでにキャッシュにあり、そのためこれを再復号化する必要はない。復号化されたP2、P1、I1およびB6がキャッシュに格納される。キャッシュ=[I2,I1,P1,P2,B6]である。
フレーム8はB5フレームである。B5はI2およびP2を必要とし、これらはすでにキャッシュにある。B5を復号化し、これをキャッシュに入れる。キャッシュ=[I2,I1,P1,P2,B6,B5]である。
フレーム7はP2フレームである。P2はP1を必要とし、これはすでに復号化されている。P2を復号化し、キャッシュに入れる。キャッシュ=[I2,I1,P1,P2,B6,B5]である。
ランダム・アクセスを、逆方向再生において使用された上述のフレーム・キャッシング技術を使用して、より効果的に実行することもできる。重要な点は、同じキャッシング機構を、最近復号化されたフレームを格納するために使用すること、および、これらのフレームが近い将来に要求された場合、これらを再使用することである。たとえば、以下のフレームのセットを復号化するように要求される可能性がある。すなわち、I1、B3、B5である。B3を復号化するには、P1およびP2が必要とされる。結果として、P1、P2およびI1が復号化され、復号済みフレーム・キャッシュに配置され、これらがすでにそこにあった場合、復号済みフレーム・キャッシュから使用される。次のB5を復号化するための要求では、これがP2およびI2に従属し、I2のみを復号化する必要があり、これはP2がすでにキャッシュにあるからである。
キャッシング技術を、ハードウェアまたはソフトウェア制御を介して実行することができる。この技術をソフトウェア擬似コードに関して記載するが、ハードウェアにおいて、あるいは異なる擬似コードに従ったソフトウェアを介して実施することができる。すなわち、キャッシュ技術を実施するための様々な方法がある。
上述のI1(F1)、B1(F2)、B2(F3)、P1(F4)、B3(F5)、B4(F6)、P2(F7)、B5(F8)、B6(F9)、I2(F10)の実施形態を考察する。
以下の2つの関数があると仮定する。すなわち、(1)DecodeCurrentFrame(N,ReferenceSet)および(2)GetDependencyFrameIndex(N)である。
DecodeCurrentFrame(N,ReferenceSet)では、フレームNが、MPEGアルゴリズムに従って、フレームNおよびReferenceSetを使用して復号化される。ReferenceSetは、フレームNを復号化するために必要とされた参照されたフレームのセットである。たとえば、P1のためのReferenceSetは{フレーム1}であり、B4のためのReferenceSetは{フレーム4,フレーム7}である。復号化されたフレームNが関数によって返される。復号化されたフレームを、RGB、YUV、または別のフォーマットにすることができる。RGBがこの実施形態で使用される。
GetDependencyFrameIndex(N)では、現在のフレームNを復号化するために必要とされる参照フレームのリストが得られる。フレーム・インデックスのリストが返される。たとえば、GetDependencyFrameIndex(5)={7,10}である。
以下の擬似コードでは、インデックスと実際のフレームの間の区別がある。たとえば、10はインデックスであり、フレーム10は実際のフレームである。MPEGFrameCacheと呼ばれるデータ構造のアレイがあり、これが復号済みフレーム・キャッシュである。MPEGFrameCacheは2つの属性を有する。すなわち、LastTimeUsed(LRU技術における使用向け)およびFrameRGBである。
以下は、GetFrame()を、いくつかの実施形態によるキャッシング技術を使用して実施するための擬似コード(行1〜22)である。
1 フレームGetFrame(N)
2 SetofDependencyIndex=GetDependencyFrameIndex(N)
3 SetofDependencyFrame={}
4 /*必要な場合、従属性リストにおけるフレームを復号化する*
5 /*また復号化により、強制的にフレームを、復号済みフレーム・キャッシュへ行かせる*
6 SetofDependencyIndexにおける各FrameIndexについて以下を実行する
7 フレームFrameIndexがMPEGFrameChache内にない場合
8 /*この呼び出しは再帰的である*
9 GetFrame(フレーム)をSetofDependencyFrameへ挿入する
10 else
11 FrameIndexによって指示されたフレームをMPEGFrameCacheから検索する
12 FrameIndexによって指示されたフレームをSetofDependencyFrameへ挿入する
13 MPEGFrameCacheにおいてFrameIndexによって指示されたフレームのLastTimeUsedを更新する
14 end if
15 end for
16 currentFrame=DecodeCurrentFrame(N,SetofDependencyFrame)
17 MPEGFrameCacheが一杯である場合
18 MPEGFrameCacheから、もっとも古いLastTimeUsedを有する要素を除去する
19 endif
20 currentFrameをMPEGFrameCacheへ挿入する
21 currentFrameを返す
22 end
上に挙げた実施形態に関して、以下のイベントのシーケンスが生じて、フレーム10から逆方向に復号化する。MPEGFrameCacheが最初に空であると仮定する。
+GetFrame(10)
GetDependencyFrameIndex(10)={}
DecodeCurrentFrame(10,{})
MPEGFrameCache={フレーム10}

+GetFrame(9)
GetDependencyFrameIndex(9)={7,10}
フレーム7はMPEGFrameCache内にないので、GetFrame(7)を呼び出す
+GetFrame(7)
GetDependencyFrameIndex(7)={4}
フレーム4はMPEGFrameCache内にないので、GetFrame(4)を呼び出す
+GetFrame(4)
GetDependencyFrameIndex(4)={1}
フレーム1はMPEGFrameCache内にないので、GetFrame(1)を呼び出す
+GetFrame(1)
GetDependencyFrameIndex(1)={}
DecodeCurrentFrame(1,{})
MPEGFrameCache={フレーム1,フレーム10}
DecodeCurrentFrame(4,{1})
MPEGFrameCache={フレーム1,フレーム10,フレーム4}
DecodeCurrentFrame(7,{4})
MPEGFrameCache={フレーム1,フレーム10,フレーム4,フレーム7}

フレーム10はすでにMPEGFrameCache内にある
DecodeCurrentFrame(9,{7,10})
MPEGFrameCache={フレーム1,フレーム10,フレーム4,フレーム7,フレーム9}

+GetFrame(8)
GetDependencyFrameIndex(8)={7,10}
フレーム7および10はMPEGFrameCache内にある
DecodeCurrentFrame(8,{7,10})
MPEGFrameCache={フレーム1,フレーム10,フレーム4,フレーム7,フレーム9,フレーム8}
....
上のトレースでは、MPEGFrameCacheのLastTimeUsed属性が指示されていない。しかし、LRU技術を使用することができる。本発明がLRU技術に限定されないことに留意されたい。
MPEGFrameCacheにおけるフレームは必ずしも整列されていない。再帰呼び出しを使用するよりもむしろ、上に挙げた擬似コード(行1〜20)を修正してループを含むようにすることができ、終了条件は、フレームNが従属するすべてのフレームが復号化されており、フレームNの復号化において使用するために使用可能であることである。
E.追加の情報および実施形態
取り込まれたビデオを、効率的な伝送および格納のためにコンパクトに表現することが重要である。さらに通常は、大部分のデータが、復号化を行っているコンピュータのメモリに格納されている場合、プレゼンテーション時間中にはるかにより効率的にすることができる。これにより、過度のファイル読み取りが最小限になる。いくつかの実施形態では、本発明はMPEG圧縮技術を、取り込まれたデジタル・ビデオを圧縮するために使用する。MPEG圧縮は、所与の視覚的品質のためのすぐれた圧縮率を提供する。これは2つの基本モードの圧縮に基づく。すなわち、ブロックベースのDCTを使用するフレーム間符号化、および、時間において共に接近したフレームに渡るコンテンツの類似性を活用するフレーム間符号化である。MPEGにおけるフレーム間符号化の使用は著しくビット・レートを低下させるが、このような従属性がランダム・アクセスを困難にする。
本明細書における「いくつかの実施形態」または「他の実施形態」への参照は、実施形態に関連して記載された特定の特徴、構造または特性が少なくともいくつかの実施形態に含まれるが、必ずしも本発明のすべての実施形態に含まれるのではないことを意味する。本明細書における「いくつかの実施形態」という用語の様々な出現は、必ずしもすべてが同じ実施形態を指しているのではない。
用語「反応する(responsive)」および関係付けられた用語は、1つの信号またはイベントがある程度まで別の信号またはイベントによって影響を受けるが、必ずしも完全あるいは直接的ではないことを意味する。本明細書で、構成要素、イベントまたは特性が含まれる「可能性がある(may)」、「可能性がある(might)」あるいは「ことができる(could)」と述べた場合、この特定の構成要素、イベントまたは特性が含まれる必要はない。
本開示の利点を有する当業者には、多数の他の変形形態を、前述の説明および図面から、本発明の範囲内で行うことができることを理解されたい。したがって、それへのいかなる補正をも含む以下の特許請求の範囲が、本発明の範囲を定義するものである。
本発明のいくつかの実施形態による、コンテンツ提供システム、リンク、および2つのリモート受信コンピュータの概略的なブロック図である。 本発明のいくつかの実施形態による、異なる基準から回転される対象のビデオ・ストリームを作成するためのシステムの概略図である。 本発明のいくつかの実施形態による、カメラを回転させることができる、異なる基準からの対象のビデオ・ストリームを作成するためのシステムの概略図である。 本発明のいくつかの実施形態による、カメラを回転させることができる、異なる基準からの対象のビデオ・ストリームを作成するためのシステムの概略図である。 異なる基準から作成された3つのビデオ・ストリームにおけるフレームの図である。 本発明のいくつかの実施形態による、3つの異なるビデオ・ストリームからの異なるフレームを例示し、フレームをビデオ・ストリーム内で、かつ別のビデオ・ストリームへ変更することを例示する図である。 異なるビデオ・ストリームおよびそれらの間の遷移に対応する状態図である。 異なるパノラマのビデオ・ストリームを例示する図である。 異なるパノラマのビデオ・ストリームおよびティルト・ビデオ・ストリームを例示する図である。 本発明のいくつかの実施形態による、異なるパノラマのビデオ・ストリームおよびティルト・ビデオ・ストリーム、およびフレームをそれらの間で変更することを例示する図である。 本発明のいくつかの実施形態による、ビデオ・ストリームにおける3つのフレーム、およびそれらのいくつかの部分の拡大を例示する図である。 インタラクティブにビデオ・ストリームを再生するためのプロトタイプ・システムのブロック図および流れ図である。
符号の説明
12…コンテンツ提供システム、14…ビデオ信号、18…ビデオ処理回路、20…ソフトウエア、22…リンク、30、32…リモート受信コンピュータ

Claims (7)

  1. コンピュータ・ベース・システムによってビデオ・ストリームのフレームを格納かつ提供する方法であって、
    それぞれが異なるビューポイントからのビデオ・ストリームを格納することと、
    ビデオ・ストリームの順方向への再生、逆方向への再生、またはあるビデオ・ストリームから別のビデオ・ストリームへの切り替えを含む垂直方向再生に使用される、前記ビデオ・ストリームのフレーム要求であって、ポインティング・デバイスによる再生速度、再生方向の指示を含むフレーム要求に応答して、該要求されたフレームを提供することと
    を含み、
    前記少なくとも一つのビデオ・ストリームはMPEG(Moving Picture Experts Group)フォーマットであり、前記コンピュータ・ベース・システムはこのMPEGフォーマットのビデオ・ストリームのランダム・アクセスを可能にするための当該MPEGフォーマットのビデオ・ストリームに対するフレーム従属性リストであって所定のフレームの復号化オペレーションに必要とされるフレームのセットを当該所定のフレームのフレーム番号からアクセス可能に指定するフレーム従属性リストを維持しており、
    前記あるビデオ・ストリームから別のビデオ・ストリームへの切り替えにおける切り替え先のビデオ・ストリームがMPEGフォーマットのビデオ・ストリームである場合に
    切り替え前のビデオ・ストリーム内の切り替えポイントにあるフレームに対応する切り替え先のビデオ・ストリームのフレームのフレーム番号を決定し、
    前記フレーム従属性リストを使用することによってその決定されたフレーム番号から切り替え先のビデオ・ストリームの切り替えポイントにあるフレームを復号化するのに必要なフレームのセットを決定し、
    該決定された復号化に必要なフレームのセットを使用して復号化されたフレームを提供する方法。
  2. 請求項1記載の方法において、
    前記少なくとも一つのフレーム要求は拡大鏡の表示要求を含んでおり、この拡大鏡は所定サイズの表示領域を含み、この拡大鏡によるビューポイントの拡大が、その表示部分の画像を、高解像度バージョンの画像の所定の部分で置き換えることにより達成される、方法。
  3. 請求項1記載の方法において、
    前記垂直方向再生において、あるビデオ・ストリームから異なるビデオ・ストリームへジャンプする場合その間のビデオ・ストリームの対応するフレームを表示することを、さらに含む方法。
  4. 請求項1記載の方法において、
    MPEGフォーマットのビデオ・ストリームの逆方向への再生において、該ビデオ・ストリームが順方向再生された際にメモリにキャッシュされたフレームから復号化されたフレームが提供される方法。
  5. 請求項1記載の方法において、
    提供されるフレームに関して順方向又は逆方向にさらに提供すべきフレームがあるか否かを示すナビゲーション支援を提供する方法。
  6. 請求項1記載の方法において、
    提供されるフレームに関して垂直方向にさらに提供すべきフレームがあるか否かを示すナビゲーション支援を提供する方法。
  7. 実行されたとき、コンピュータに、
    異なるビューポイントからの対象のビデオ・ストリームを格納させ、
    ビデオ・ストリームの順方向への再生、逆方向への再生、またはあるビデオ・ストリームから別のビデオ・ストリームへの切り替えを含む垂直方向再生に使用される、前記ビデオ・ストリームのフレーム要求であって、ポインティング・デバイスによる再生速度、再生方向の指示を含むフレーム要求に応答して、該要求されたフレームを提供させる
    ことを行わせる命令を含むコンピュータ可読媒体であって、
    前記少なくとも一つのビデオ・ストリームがMPEGフォーマットであり、
    前記コンピュータはこのMPEGフォーマットのビデオ・ストリームのランダム・アクセスを可能にするための当該MPEGフォーマットのビデオ・ストリームのフレーム従属性リストであって所定のフレームの復号化オペレーションに必要とされるフレームのセットを当該所定のフレームのフレーム番号からアクセス可能に指定するフレーム従属性リストを維持しており、
    前記コンピュータ可読媒体は、さらに、あるビデオ・ストリームから別のビデオ・ストリームへの切り替えにおける切り替え先のビデオ・ストリームがMPEGフォーマットのビデオ・ストリームである場合に
    切り替え前のビデオ・ストリーム内の切り替えポイントにあるフレームに対応する切り替え先のビデオ・ストリームのフレームのフレーム番号を決定し、
    前記フレーム従属性リストを使用することによってその決定されたフレーム番号から切り替え先のビデオ・ストリームの切り替えポイントにあるフレームを復号化するのに必要なフレームのセットを決定し、
    該決定された復号化に必要なフレームのセットを使用して復号化されたフレームを提供する
    ことを行わせる命令を含むコンピュータ可読媒体。
JP2008170132A 1999-06-18 2008-06-30 インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法 Expired - Fee Related JP4908460B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33633899A 1999-06-18 1999-06-18
US09/336,338 1999-06-18

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001504686A Division JP2003502956A (ja) 1999-06-18 2000-06-12 インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2008263648A JP2008263648A (ja) 2008-10-30
JP4908460B2 true JP4908460B2 (ja) 2012-04-04

Family

ID=23315638

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001504686A Pending JP2003502956A (ja) 1999-06-18 2000-06-12 インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法
JP2008170132A Expired - Fee Related JP4908460B2 (ja) 1999-06-18 2008-06-30 インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001504686A Pending JP2003502956A (ja) 1999-06-18 2000-06-12 インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法

Country Status (9)

Country Link
EP (1) EP1190575B1 (ja)
JP (2) JP2003502956A (ja)
KR (1) KR20020022706A (ja)
CN (1) CN1290330C (ja)
AU (1) AU5484200A (ja)
BR (1) BR0011757A (ja)
DE (1) DE60042742D1 (ja)
HK (1) HK1043010B (ja)
WO (1) WO2000079797A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3973907B2 (ja) * 2000-05-02 2007-09-12 川崎重工業株式会社 画像データ作成装置および画像表示システム
FR2817441B1 (fr) * 2000-11-29 2004-01-16 Thomson Multimedia Sa Methode de visualisation d'une sequence video dans une fenetre d'un panorama
US7634793B2 (en) 2004-06-03 2009-12-15 Hillcrest Laboratories, Inc. Client-server architectures and methods for zoomable user interfaces
US7616821B2 (en) 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US7506071B2 (en) 2005-07-19 2009-03-17 International Business Machines Corporation Methods for managing an interactive streaming image system
US20070028286A1 (en) 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system
US9100716B2 (en) 2008-01-07 2015-08-04 Hillcrest Laboratories, Inc. Augmenting client-server architectures and methods with personal computers to support media applications
US9892761B2 (en) * 2013-02-22 2018-02-13 Fuji Xerox Co., Ltd. Systems and methods for creating and using navigable spatial overviews for video
CN103607578B (zh) * 2013-12-03 2016-08-17 西安电子科技大学 基于视频编码的全视角图片浏览系统
KR102561860B1 (ko) 2016-10-25 2023-08-02 삼성전자주식회사 전자장치 및 그 제어방법
US11012676B2 (en) * 2017-12-13 2021-05-18 Google Llc Methods, systems, and media for generating and rendering immersive video content

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613032A (en) * 1994-09-02 1997-03-18 Bell Communications Research, Inc. System and method for recording, playing back and searching multimedia events wherein video, audio and text can be searched and retrieved
JPH08186844A (ja) * 1994-12-28 1996-07-16 Sanyo Electric Co Ltd 立体映像発生装置および立体映像発生方法
JPH09265429A (ja) * 1996-01-23 1997-10-07 Fujitsu Ltd データ配信装置、記憶装置とその制御方法およびデータ転送システム
WO1997030551A1 (en) * 1996-02-14 1997-08-21 Olivr Corporation Ltd. Method and systems for progressive asynchronous transmission of multimedia data
AU758650B2 (en) * 1997-03-11 2003-03-27 Opentv, Inc. A digital interactive system for providing full interactivity with live programming events
JPH10322680A (ja) * 1997-05-16 1998-12-04 Nippon Telegr & Teleph Corp <Ntt> 連鎖型多視点映像再生方法

Also Published As

Publication number Publication date
HK1043010B (zh) 2010-04-01
JP2008263648A (ja) 2008-10-30
JP2003502956A (ja) 2003-01-21
CN1357198A (zh) 2002-07-03
CN1290330C (zh) 2006-12-13
WO2000079797A8 (en) 2001-11-29
EP1190575B1 (en) 2009-08-12
BR0011757A (pt) 2002-04-23
WO2000079797A9 (en) 2002-07-11
KR20020022706A (ko) 2002-03-27
HK1043010A1 (en) 2002-08-30
AU5484200A (en) 2001-01-09
DE60042742D1 (de) 2009-09-24
EP1190575A2 (en) 2002-03-27
WO2000079797A1 (en) 2000-12-28

Similar Documents

Publication Publication Date Title
JP4908460B2 (ja) インタラクティブ・ビデオ・ストリームを使用した拡張ビジュアル・プレゼンテーションのためのシステムおよび方法
US6243865B1 (en) Method of relaying digital video &amp; audio data via a communication media
US8436891B2 (en) Hyperlinked 3D video inserts for interactive television
US6278466B1 (en) Creating animation from a video
US6268864B1 (en) Linking a video and an animation
US5872575A (en) Method and system for the creation of and navigation through a multidimensional space using encoded digital video
US8963951B2 (en) Image processing apparatus, moving-image playing apparatus, and processing method and program therefor to allow browsing of a sequence of images
TWI729430B (zh) 浸入式媒體內容覆蓋的方法和裝置
JP2006512859A (ja) デジタルビデオコンテンツの対話的視点オーサリングのための方法および装置
JP2006515476A (ja) デジタルビデオコンテンツの対話的ネットワーク共有のための方法および装置
JP2006514796A (ja) デジタルビデオコンテンツの対話的なマップに基づく分析のための方法および装置
KR20080028433A (ko) 메타데이터를 이용하여 다중 비디오 스트림을 핸들링하는방법 및 장치
CN101960844A (zh) 应用加强轨道
JP2013531830A (ja) 拡大表示ナビゲーション
CN1921610B (zh) 基于客户端的视频流互动处理方法及处理系统
WO1999065224A2 (en) Creating animation from a video
GB2610897A (en) User interface (UI) engine for cloud UI rendering
US6628282B1 (en) Stateless remote environment navigation
TWI820490B (zh) 利用衍生視訊軌道實現場景描述的方法和系統
Podborski et al. 360-degree video streaming with MPEG-DASH
Wilson et al. A video-based rendering acceleration algorithm for interactive walkthroughs
WO2000079799A2 (en) Method and apparatus for composing image sequences
KR20190016828A (ko) 심리스 무브먼트를 이용한 360도 3d 입체영상 시스템
Sanna et al. 3D technologies and products for e‐commerce on the Web
TW202304213A (zh) 媒體資料處理方法及系統

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

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

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

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

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees