国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于圖像和幾何場景合成的統(tǒng)一表面模型的制作方法

      文檔序號:6436860閱讀:262來源:國知局
      專利名稱:基于圖像和幾何場景合成的統(tǒng)一表面模型的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及用于3D圖形的建模語言,并且更具體地說,涉及將圖像嵌入場景中。
      背景技術(shù)
      在計算機圖形學(xué)中,傳統(tǒng)的實時3D場景渲染是基于場景的3D幾何學(xué)描述的評估,使得在計算機顯示器上產(chǎn)生圖像呈現(xiàn)(presentation)。虛擬現(xiàn)實建模語言(下文稱為VRML)是常規(guī)建模語言,其定義了在常規(guī)3D應(yīng)用(諸如分層轉(zhuǎn)換、光源、視圖原點、幾何、動畫、霧化、材料特性和紋理映射)中所發(fā)現(xiàn)的大部分常用的語義學(xué)。紋理映射過程通常用于將外部提供的圖像數(shù)據(jù)應(yīng)用到場景內(nèi)的給定幾何圖形。例如,VRML允許將外部提供的圖像數(shù)據(jù)、外部提供的視頻數(shù)據(jù)或外部提供的像素數(shù)據(jù)應(yīng)用到表面。然而,VRML不允許將渲染的場景用作要說明性地紋理映射到另一場景中的圖像。在說明性標(biāo)記語言中,獲得期望結(jié)果所需的語義學(xué)是隱含的,并且因此結(jié)果的描述足夠得到期望的結(jié)果。這樣,不必提供得到期望結(jié)果的過程(即寫腳本)。因此,希望能夠使用說明來合成場景。說明性語言的一個示例是超文本標(biāo)記語言(HTML)。
      此外,希望說明性地組合任意兩個表面,在其上應(yīng)用圖像數(shù)據(jù)以產(chǎn)生第三表面。還希望說明性地重新渲染應(yīng)用到表面的圖像數(shù)據(jù)以反映該圖像的當(dāng)前狀態(tài)。
      傳統(tǒng)上,整體地渲染3D場景,給由場景復(fù)雜性或紋理交換確定的最壞情況性能所控制的觀察器產(chǎn)生最終幀速率。然而,如果在同一屏幕上對于不同單元使用不同的渲染速率,則質(zhì)量會提高,并且觀看體驗會更像電視而不像網(wǎng)頁的觀看體驗。

      發(fā)明內(nèi)容
      一種用于借助有效的說明性標(biāo)記語言的復(fù)雜、動態(tài)和交互體驗的實時合成與呈現(xiàn)的系統(tǒng)和方法。使用表面構(gòu)造,開發(fā)者可以將圖像或全運動視頻數(shù)據(jù)嵌入到在其3D場景內(nèi)他們要使用傳統(tǒng)紋理映射的任何地方。開發(fā)者還可以將渲染一個場景描述的結(jié)果用作要被紋理映射到另一個場景中的圖像。具體地說,表面允許將任何渲染應(yīng)用的結(jié)果用作開發(fā)者的場景內(nèi)的紋理。這允許用去耦(decoupled)渲染速率說明性地渲染嵌套場景以及渲染具有分量表面的場景。


      圖1A示出了Blendo的基本結(jié)構(gòu)。
      圖1B是說明通過Blendo引擎的內(nèi)容流的流程圖。
      圖2A說明如何以不同的渲染速率渲染場景中的兩個表面。
      圖2B是說明在以不同的渲染速率渲染圖2A所示的兩個表面中所涉及的操作的流程圖。
      圖3A說明嵌套場景。
      圖3B是顯示渲染圖3A的嵌套場景所執(zhí)行的操作的流程圖。
      具體實施例方式
      Blendo是本發(fā)明的示范性實施例,它允許媒體資產(chǎn)的暫時操作,包括動畫和可視影像的控制以及到正在播放的媒體資產(chǎn)的音頻媒體、視頻媒體、動畫和事件數(shù)據(jù)的插入字幕。圖1示出了基本Blendo結(jié)構(gòu)。Blendo結(jié)構(gòu)的核心處是核心運行時間模塊10(下文稱核心),它給出了各種應(yīng)用編程接口(下文稱API)單元和到在系統(tǒng)11中給出的對象集的對象模型。在正常操作期間,解析器14將文件解析為原始場景圖16,并傳遞到核心10,在此用具體例子說明它的對象,并構(gòu)建運行時間場景圖。對象可以是內(nèi)置對象18、開發(fā)者定義的對象20、本機對象24等。對象使用可用的管理器26的集合以獲得平臺服務(wù)32。這些平臺服務(wù)32包括事件處理、資產(chǎn)加載、媒體播放等。對象使用渲染層28來合成中間或最終圖像用于顯示。頁面集成部分30用于將Blendo對接到外部環(huán)境,諸如HTML或XML頁面。
      Blendo包含關(guān)于管理器26集合的系統(tǒng)對象。每個管理器26提供API集合以控制系統(tǒng)11的某方面。事件管理器26D提供訪問由用戶輸入或環(huán)境事件所引起的輸入系統(tǒng)事件。加載管理器26C便于Blendo文件和本機節(jié)點實現(xiàn)的加載。媒體管理器26E提供加載、控制和播放音頻、圖像和視頻媒體資產(chǎn)的能力。渲染管理器26G允許渲染場景所用的對象的創(chuàng)建和管理。場景管理器26A控制場景圖。表面管理器26F允許在其上可合成場景單元和其它資產(chǎn)的表面的創(chuàng)建和管理。線程管理器26B給開發(fā)者產(chǎn)生并控制線程以及在它們之間通信的能力。
      圖1B說明通過Blendo引擎的內(nèi)容流的概念性描述的流程圖。在塊50中,呈現(xiàn)開始于包括被帶入解析器14(圖1A)的內(nèi)容的文件或流34(圖1A)的源。該源可以本機的類似VRML的文本格式、本機二進(jìn)制格式、基于XML的格式等。不管源的格式,在塊55中,將源轉(zhuǎn)換為原始場景圖16(圖1A)。原始場景圖16可以表示內(nèi)容中的節(jié)點、字段和其它對象,以及字段初始化值。它還可包含對象原型的描述、流34中的外部原型引用和路由語句。
      原始場景圖16的頂層包括節(jié)點、頂層字段和函數(shù)、包含在文件中的原型和路由。除傳統(tǒng)單元外,Blendo還允許字段和函數(shù)在頂層。這些用于給外部環(huán)境(諸如HTML頁面)提供接口。當(dāng)流34用作外部原型的內(nèi)容時,它們還提供對象接口。
      每個原始節(jié)點包括在其范圍內(nèi)初始化的字段列表。每個原始字段項包括那個字段的名稱、類型(如果給出)和數(shù)據(jù)值。每個數(shù)據(jù)值包括可表示明確輸入的字段值的數(shù)字、字符串、原始節(jié)點和/或原始字段。
      在塊60中,從原始場景圖16(圖1A)的頂層提取原型,并將其用于填充可由這個場景訪問的對象原型的數(shù)據(jù)庫。
      然后通過構(gòu)建遍歷發(fā)送原始場景圖16。在這個遍歷過程中,使用對象原型的數(shù)據(jù)庫構(gòu)建每個對象(塊65)。
      在塊70中,建立流34中的路由。隨后,在塊75中,初始化場景中的每個字段。這是通過將初始事件發(fā)送到對象的非缺省字段來實現(xiàn)的。由于通過使用節(jié)點字段獲得場景圖結(jié)構(gòu),所以塊75也構(gòu)造場景層次。使用整齊遍歷激發(fā)事件。遇到的第一節(jié)點列舉節(jié)點中的字段。如果字段是節(jié)點,則首先遍歷那個節(jié)點。
      因此,初始化樹的那個特定分支中的節(jié)點。然后,將事件發(fā)送到具有節(jié)點字段初始值的那個節(jié)點字段。
      在給定節(jié)點已經(jīng)將其字段初始化之后,允許開發(fā)者將初始化邏輯(塊80)加到原型對象,以確保在調(diào)用時間完全初始化該節(jié)點。上述塊產(chǎn)生根場景。在塊85中,場景被傳遞到為場景創(chuàng)建的場景管理器26A(圖1A)。在塊90中,場景管理器26A用于隱含地或在開發(fā)者控制下渲染并執(zhí)行特性處理。
      使用來自Blendo對象層次中的對象可構(gòu)造由場景管理者26A渲染的場景。對象可從其父對象中導(dǎo)出一些它們的功能性,并隨后擴(kuò)展或修改其功能性。層次的底部是對象。從對象導(dǎo)出的對象的兩個主要類是節(jié)點和字段。其中,節(jié)點包含作為一部分渲染遍歷調(diào)用的渲染方法。節(jié)點的數(shù)據(jù)屬性稱為字段。在Blendo之中,對象層次是稱為“定時對象”的對象的類,下面詳細(xì)描述。下面的代碼部分用于示范目的。應(yīng)該注意到,每個代碼部分中的行號只表示那個特定代碼部分的行號,而不表示原始源代碼中的行號。
      表面對象表面對象是類型“表面節(jié)點”的節(jié)點?!氨砻婀?jié)點”類是將2D圖像描述為色彩、深度和不透明度值(α)值的陣列的所有對象的基本類?!氨砻婀?jié)點”主要用于提供要用作紋理映射的圖像。從“表面節(jié)點”類導(dǎo)出的是“電影表面”、“圖像表面”、“遮片(matte)表面”、“像素表面”和“場景表面”。應(yīng)該注意到,各代碼部分的行號只表示那個代碼部分的行號,而不表示原始源代碼中的行號。
      電影表面以下代碼部分說明“電影表面”節(jié)點。之后為節(jié)點中各字段的描述。
      1)MovieSurfaceSurfaceNode TimedNode AudioSourceNode{2) field MF String url []3) field TimeBaseNode timeBase NULL4) field Time duration05) field Time loadTime 06) field StringloadStatus “NONE”}通過提供訪問定義電影的圖像序列,“電影表面”節(jié)點將電影渲染在表面上?!半娪氨砻妗钡摹岸〞r節(jié)點”父類確定在任一時刻哪個幀被渲染到該表面上。電影還可用作音頻源。
      在代碼部分的第2行中,(“多值字段”)URL字段提供用于表面的電影數(shù)據(jù)的潛在位置列表。將該列表排序,以使單元0描述數(shù)據(jù)的優(yōu)選源。如果因為任何原因單元0不可用,或者以不支持的格式,則可使用下一單元。
      在第3行中,“時基”字段(如果指定了)指定要為電影提供定時信息的節(jié)點。具體地說,“時基”會給電影提供確定在任一給定時刻電影的哪個幀在表面上顯示所需的信息。如果沒有指定“時基”,則該表面將顯示電影的第一幀。
      在第4行中,一旦已經(jīng)取出電影數(shù)據(jù),“電影表面”節(jié)點就將持續(xù)時間字段設(shè)置為電影的長度(以秒為單位)。
      在第5和第6行,“加載時間”和“加載狀態(tài)”字段提供來自“電影表面”節(jié)點有關(guān)電影數(shù)據(jù)可用性的信息?!凹虞d狀態(tài)”具有5個可能的值“無”、“請求”、“失敗”、“中止”和“加載”。
      “無”是初始狀態(tài)。如果通過將值的數(shù)量設(shè)置為0或?qū)⒌谝籙RL字符串設(shè)置為空字符串而將節(jié)點的url清零,則也發(fā)送“無”事件。當(dāng)這發(fā)生時,表面的像素被設(shè)為黑色且不透明(即,色彩為0,0,0并且透明度為0)。
      每當(dāng)設(shè)置非空url值時,就發(fā)送“請求”事件。在“請求”事件之后,表面的像素保持不變。
      如果電影加載沒有成功,則在“請求”事件之后發(fā)送“失敗”。例如在URL引用不存在的文件或在該文件不包含有效數(shù)據(jù)的情況下,這可能發(fā)生。在“失敗”事件之后,表面的像素保持不變。
      如果當(dāng)前狀態(tài)是“請求”,則發(fā)送“中止”事件,并且然后URL再改變。如果URL變?yōu)榉强罩担瑒t“中止”之后為“請求”事件。如果URL變?yōu)榭罩担瑒t“中止”之后為“無”值。在“中止”事件之后,表面的像素保持不變。
      當(dāng)準(zhǔn)備顯示電影時,發(fā)送“加載”事件。該事件之后為“加載時間”事件,其值與當(dāng)前時間相匹配。由“時基”字段指示的電影的幀被渲染到表面上。如果“時基”是空,則將電影的第一幀渲染到表面上。
      圖像表面以下代碼部分說明“圖像表面”節(jié)點。之后為節(jié)點中各字段的描述。
      1)ImageSurfaceSurfaceNode{2) field MF Stringurl []3) field Time loadTime04) field String loadStatus “NONE”}“圖像表面”節(jié)點將圖像文件渲染到表面上。在代碼部分的第2行中,URL字段提供用于該表面的圖像數(shù)據(jù)的潛在位置列表。該列表被排序以使單元0描述數(shù)據(jù)的最優(yōu)選源。如果因為任何原因單元0不可用,或以不支持的格式,則可使用下一單元。
      在第3行和第4行中,“加載時間”和“加載狀態(tài)”字段提供來自“圖像表面”節(jié)點有關(guān)圖像數(shù)據(jù)可用性的信息?!凹虞d狀態(tài)”具有五個可能的值“無”、“請求”、“失敗”、“中止”以及“加載”。
      “無”是初始狀態(tài)。如果通過將值的數(shù)量設(shè)置為0或?qū)⒌谝籙RL字符串設(shè)置為空字符串而將節(jié)點的URL清零,則也發(fā)送“無”事件。當(dāng)這發(fā)生時,表面的像素被設(shè)置為黑色且不透明(即,色彩為0,0,0并且透明度為0)。
      每當(dāng)設(shè)置非空URL值時,就發(fā)送“請求”事件。在“請求”事件之后,表面的像素保持不變。
      如果圖像加載沒有成功,則在“請求”事件之后發(fā)送“失敗”。例如在URL引用不存在的文件或在該文件不包含有效數(shù)據(jù)的情況下,這可能發(fā)生。在“失敗”事件之后,表面的像素保持不變。
      如果當(dāng)前狀態(tài)是“請求”,則發(fā)送“中止”事件,并且然后URL再改變。如果URL變?yōu)榉强罩担瑒t“中止”之后將是“請求”事件。如果URL變?yōu)榭罩担瑒t“中止”之后將是“無”值。在“中止”事件之后,表面的像素保持不變。
      當(dāng)圖像已經(jīng)被渲染到表面上時,發(fā)送“加載”事件。該事件之后為“加載時間”事件,其值與當(dāng)前時間相匹配。
      遮片表面以下代碼部分說明“遮片表面”節(jié)點。之后為節(jié)點中各字段的描述1)MatteSurfaceSurfaceNode{2) field SurfaceNode surface1 NULL3) field SurfaceNode surface2 NULL4) field String operation ““5) field MF Float parameter06) field Bool overwriteSurface2 FALSE}“遮片表面”節(jié)點使用圖像合成操作來將來自表面1和表面2的圖像數(shù)據(jù)組合到第三表面上。以表面2的分辨率計算合成操作的結(jié)果。如果表面1的尺寸與表面2的不同,則在執(zhí)行該操作前將表面1上的圖像數(shù)據(jù)放大或縮小以使表面1的尺寸等于表面2的尺寸。
      在代碼部分的第2行和第3行中,表面1和表面2字段指定為合成操作提供輸入圖像數(shù)據(jù)的兩個表面。在第4行中,操作字段指定合成功能在兩個輸入表面上執(zhí)行。下面描述可能的操作。
      “REPLACE_ALPHA”用來自表面1的數(shù)據(jù)覆寫表面2的α通道A。如果表面1有1個分量(只是灰度級強度),則那個分量用作α(不透明度)值。如果表面1有2或4個分量(灰度級強度+α或RGBA),則α通道A用于提供α值。如果表面1有3個分量(RGB),則操作是未定義的。這個操作可用于為靜態(tài)或動態(tài)圖像提供靜態(tài)或動態(tài)α遮罩(mask)。例如,“場景表面”可相對于透明背景渲染動畫的詹姆斯.邦德人物。然后這個圖像的α分量可用作視頻剪輯的遮罩形狀。
      “MULTIPLY_ALPHA”類似于REPLACE_ALPHA,只是來自表面1的α值與來自表面2的α值相乘。
      “CROSS_FADE”使用參數(shù)值在兩個表面之間消退(fade)以控制可見的各表面的百分比。這個操作可動態(tài)地在兩個靜態(tài)或動態(tài)圖像之間消退。通過將參數(shù)值(第5行)從0激勵為1,表面1上的圖像消退到表面2的圖像中。
      “混合”使用來自表面2的α通道組合來自表面1和表面2的圖像數(shù)據(jù)以控制混合百分比。這個操作允許表面2的α通道控制兩個圖像的混合。通過渲染“場景表面”或播放“電影表面”來激勵表面2的α通道,你可以產(chǎn)生復(fù)雜的移動遮片效果。如果R1、G1、B1和A1表示表面1像素的紅、綠、藍(lán)和α值,并且R2、G2、B2和A2表示表面2對應(yīng)像素的紅、綠、藍(lán)和α值,則那個像素的紅、綠、藍(lán)和α分量的結(jié)果值為紅=R1*(1-A2)+R2*A2 (1)綠=G1*(1-A2)+G2*A2 (2)藍(lán)=B1*(1-A2)+B2*A2 (3)α=1 (4)
      “加”和“減”增加或減少表面1和表面2的色彩通道。結(jié)果的α等于表面2的α。
      在第5行中,參數(shù)字段提供一個或多個浮點參數(shù),這些參數(shù)可改變合成功能的效果。參數(shù)值的具體解釋取決于哪個操作被指定。
      在第6行中,“覆寫表面2”字段指示“遮片表面”節(jié)點是否應(yīng)該分配新的表面用于存儲合成操作的結(jié)果(“覆寫表面2”=假),或者存儲在表面2上的數(shù)據(jù)是否應(yīng)該被合成操作覆寫(“覆寫表面2”=真)。
      像素表面以下代碼部分說明“場景表面”節(jié)點。之后為節(jié)點中各字段的描述。
      1)PixelSurfaceSurfaceNode{2)field Image image 000}“像素表面”節(jié)點將用戶指定像素的陣列渲染到表面上。在第2行中,圖像字段描述渲染到該表面上的像素數(shù)據(jù)。
      場景表面以下代碼部分說明“場景表面”節(jié)點的使用。之后為節(jié)點中各字段的描述。
      1)SceneSurfaceSurfaceNode{2) field MF ChildNode children []3) field UInt32 width 14) field UInt32 height1}“場景表面”節(jié)點將指定的子代(children)渲染在指定尺寸的表面上?!皥鼍氨砻妗弊詣拥刂匦落秩舅约阂苑从称渥哟漠?dāng)前狀態(tài)。
      在代碼部分的第2行中,子代字段描述要渲染的“子節(jié)點”。概念上,子代字段描述獨立于包含“場景表面”節(jié)點的場景圖渲染的整個場景圖。
      在第3行和第4行中,寬度和高度字段以像素為單位指定表面的尺寸。例如,如果寬度為256且高度為512,則表面包含256×512像素值陣列。
      在渲染場景中利用“電影表面”、“圖像表面”、“遮片表面”、“像素表面”&amp;“場景表面”節(jié)點。
      在場景描述的頂層,輸出被映射到顯示器“頂層表面”上。3D渲染場景可使用上述“表面節(jié)點”中的一個在表面上產(chǎn)生其輸出,而不是將其結(jié)果渲染到顯示器,其中輸出可用于結(jié)合到如開發(fā)者期望的更豐富的場景合成中。通過渲染表面的嵌入場景描述而產(chǎn)生的表面內(nèi)容可包括作為表面的結(jié)構(gòu)化圖像組織一部分的色彩信息、透明度(α通道)和深度。在本文中將圖像定義為包括視頻圖像、靜止圖像、動畫或場景。
      在通用圖像管理接口之后,還將表面內(nèi)部定義為支持各種紋理映射系統(tǒng)的專用需求。因此,系統(tǒng)中的任何表面發(fā)生器都可由3D渲染過程用作紋理。這種表面發(fā)生器的例子包括“圖像表面”、“電影表面”、“遮片表面”、“場景表面”以及“應(yīng)用表面”。
      “應(yīng)用表面”保持如由其嵌入應(yīng)用進(jìn)程渲染的圖像數(shù)據(jù),諸如電子表格或文字處理器,類似于傳統(tǒng)視窗系統(tǒng)中應(yīng)用窗口的方式。
      具有渲染產(chǎn)物和紋理消耗的表面模型集成允許去耦渲染速率的說明性設(shè)計。傳統(tǒng)上,已經(jīng)整體地渲染3D場景,給由場景復(fù)雜性和紋理交換引起的最壞情況性能所控制的觀察器產(chǎn)生了最終幀速率。在實時、連續(xù)的合成構(gòu)架中,表面提取提供了用于對同一屏幕上不同單元去耦渲染速率的機制。例如,可以接受描繪緩慢渲染(大概每秒一幀)的網(wǎng)頁瀏覽器,但只在由另一個應(yīng)用產(chǎn)生并在瀏覽器的輸出側(cè)顯示的視頻幀速率能被維持在每秒整30幀的時候。如果網(wǎng)頁瀏覽應(yīng)用繪制到它自己的表面,則屏幕合成器可以全運動視頻幀速率無障礙地渲染,將來自網(wǎng)頁瀏覽器的表面的最終完整繪制的圖像用作其快速屏幕更新的一部分。
      圖2A說明用于以全運動視頻幀速率渲染屏幕顯示200的復(fù)雜部分202的方案。圖2B是說明在以全運動視頻率渲染包含復(fù)雜部分202的屏幕顯示200中所包含的各種操作的流程圖??赡芟M悦棵?0幀顯示屏幕顯示200,但是屏幕顯示200的部分202可能太復(fù)雜以至于不能以每秒30幀顯示。在此情況下,部分202被渲染在第一表面上,并存儲在緩沖器204中,如塊210(圖2B)所示。在塊215中,通過使用存儲在緩沖器204中的第一表面,以每秒30幀顯示包括部分202的屏幕顯示200。當(dāng)顯示包括部分200的屏幕顯示200時,部分202的下一幀渲染在第二表面上,并存儲在緩沖器206中,如塊220所示。一旦部分202的這個下一幀可用,屏幕顯示200的下一更新就使用第二表面(塊225)并繼續(xù)這樣做,直到在緩沖器204中部分202的另一更新版本可用為止。當(dāng)正在使用第二表面顯示屏幕顯示200時,部分202的下一幀被渲染在第一表面上,如塊230所示。當(dāng)?shù)谝槐砻嫔舷乱粠匿秩就瓿蓵r,更新的第一表面將用于以每秒30幀顯示包括復(fù)雜部分202的屏幕顯示200。
      具有渲染產(chǎn)物和紋理消耗的表面模型集成允許嵌套場景被說明性地渲染。作為圖像渲染的子場景的重新合成使能夠可擴(kuò)充設(shè)計。具體地說,然后被圖像混合到更大視頻環(huán)境中的動畫子場景的使用使娛樂計算機圖形能夠具有更恰當(dāng)?shù)拿栏?。例如,圖像混合方法給視覺藝術(shù)家提供了上一代視窗系統(tǒng)的粗略硬邊剪裁的備選。
      圖3A描繪了包含動畫子場景的嵌套場景。圖3B是顯示渲染圖3A的嵌套場景所執(zhí)行操作的流程圖。塊310渲染在屏幕顯示200上顯示的背景圖像,并且塊315將立方體302置于在屏幕顯示200上顯示的背景圖像內(nèi)。立方體302的外部區(qū)域是在顯示200上形成立方體302的背景的一部分表面。立方體302的面304被定義為第三表面。塊320使用“電影表面”節(jié)點將電影渲染在第三表面上。這樣,立方體的面304顯示在第三表面上渲染的電影。立方體302的面306被定義為第四表面。塊325使用“圖像表面”節(jié)點將圖像渲染在第四表面上。這樣,立方體的面306顯示在第四表面上渲染的圖像。在塊330中,整個立方體302被定義為第五表面,并在塊335中平移和/或旋轉(zhuǎn)這個第五表面,由此創(chuàng)建在面304上播放電影并在面306上顯示靜態(tài)圖像的移動立方體52。通過遵循上述過程,可以在立方體302的每個面上顯示不同的渲染。應(yīng)該注意到,可以包含同時使所有塊310到335開始的任何順序來實現(xiàn)塊310到335。
      要理解到,本發(fā)明與Blendo無關(guān),并且它可以是從Blendo中分離出的實施例的一部分。還要理解到,雖然本發(fā)明的描述描述了3D場景渲染,但本發(fā)明同樣適用于2D場景渲染。表面模型使開發(fā)者能夠自由地混合圖像和視頻效果與2D和3D幾何映射和動畫。
      雖然已經(jīng)示出并描述了本發(fā)明的具體實施例,但對于本領(lǐng)域的技術(shù)人員顯而易見的是,在不脫離本發(fā)明的情況下在其更寬方面可以做出改變和修改,并且因此,附屬權(quán)利要求要將所有落入本發(fā)明真實精神和范圍內(nèi)的這種改變和修改包含在其范圍內(nèi)。
      權(quán)利要求
      1.一種計算機系統(tǒng),包括計算機和由所述計算機執(zhí)行的計算機程序,其中所述計算機程序包括計算機指令,用于使用第一表面和第二表面合成動態(tài)圖像,第一表面具有在其上渲染的第一圖像,第二表面具有在其上渲染的第二圖像;其中,將來自第一表面的第一圖像與來自第二表面的第二圖像組合,以合成所述動態(tài)圖像。
      2.如權(quán)利要求1所述的計算機系統(tǒng),其中第一圖像和第二圖像選自包括視頻圖像、靜止圖像、動畫和場景的組。
      3.如權(quán)利要求2所述的計算機系統(tǒng),其中將第一圖像渲染在第一二維像素陣列上,并將第二圖像渲染在第二二維像素陣列上。
      4.如權(quán)利要求2所述的計算機系統(tǒng),其中根據(jù)說明性指令合成所述動態(tài)圖像。
      5.如權(quán)利要求4所述的計算機系統(tǒng),其中實時地合成所述動態(tài)圖像。
      6.如權(quán)利要求2所述的計算機系統(tǒng),其中實時地合成所述動態(tài)圖像。
      7.如權(quán)利要求2所述的計算機系統(tǒng),其中第一圖像具有第一不透明度值,第二圖像具有第二不透明度值,并且所述動態(tài)圖像具有第三不透明度值。
      8.如權(quán)利要求7所述的計算機系統(tǒng),還包括計算機指令,用于當(dāng)將第一圖像和第二圖像組合以產(chǎn)生所述動態(tài)圖像時,用第一不透明度值覆寫第二不透明度值。
      9.如權(quán)利要求7所述的計算機系統(tǒng),還包括計算機指令,用于將第一不透明度值與第二不透明度值相乘以獲得第三不透明度值。
      10.如權(quán)利要求7所述的計算機系統(tǒng),還包括計算機指令,用于當(dāng)組合第一圖像與第二圖像時,激勵第二圖像的所述不透明度值,由此產(chǎn)生移動遮片效果。
      11.一種計算機系統(tǒng),包括計算機和由所述計算機執(zhí)行的計算機程序,其中所述計算機程序包括計算機指令,用于將第一圖像渲染在第一表面上;將第二圖像渲染在第二表面上;將第三場景渲染在第三表面上;其中第一圖像用作第三場景的紋理,并將第二圖像與所述紋理混合以形成第三場景。
      12.如權(quán)利要求11所述的計算機系統(tǒng),其中用戶提供說明性指令以渲染第一圖像、第二圖像和第三場景。
      13.如權(quán)利要求11所述的計算機系統(tǒng),其中第二圖像隨時間改變。
      14.如權(quán)利要求11所述的計算機系統(tǒng),還包括計算機指令,用于將第四場景說明性地渲染在第四表面上,其中在第四場景內(nèi)混合第三場景以形成第四場景內(nèi)的子場景。
      15.如權(quán)利要求14所述的計算機系統(tǒng),其中所述子場景內(nèi)的第二圖像改變以反映第二表面上的第二圖像中的改變。
      16.如權(quán)利要求11所述的計算機系統(tǒng),其中第一圖像和第二圖像可選自包括視頻圖像、靜止圖像、動畫和場景的組。
      17.一種計算機系統(tǒng),包括計算機和由所述計算機執(zhí)行的計算機程序,其中所述計算機程序包括計算機指令,用于以第一渲染速率渲染第一場景;以及以第二渲染速率渲染第二場景,其中第二場景形成第一場景內(nèi)的子場景。
      18.如權(quán)利要求17所述的計算機系統(tǒng),其中基于說明性指令渲染第一場景和第二場景。
      19.如權(quán)利要求17所述的計算機系統(tǒng),其中第二場景的第一渲染存儲在第一緩沖器中,并且第二場景的第二渲染存儲在第二緩沖器中,并且不斷地更新第一渲染和第二渲染,每次更新一個渲染。
      20.如權(quán)利要求19所述的計算機系統(tǒng),其中使用選自包括第一渲染和第二渲染的組的最近的渲染來刷新所述子場景。
      21.如權(quán)利要求20所述的計算機系統(tǒng),其中第一渲染速率等于第二渲染速率。
      22.一種使用計算機合成動態(tài)圖像的方法,所述方法包括將第一圖像渲染在第一表面上;將第二圖像渲染在第二表面上;以及組合第一圖像與第二圖像以合成所述動態(tài)圖像。
      23.如權(quán)利要求22所述的方法,其中第一圖像和第二圖像選自包括視頻圖像、靜止圖像、動畫和場景的組。
      24.如權(quán)利要求23所述的方法,其中所述場景包含來自包括視頻圖像、靜止圖像、動畫和場景的組的至少一個圖像。
      25.如權(quán)利要求22所述的方法,還包括在第一二維像素陣列上渲染第一圖像,以及在第二二維像素陣列上渲染第二圖像。
      26.如權(quán)利要求22所述的方法,還包括提供說明性指令以合成所述動態(tài)圖像。
      27.如權(quán)利要求22所述的方法,其中實時地合成所述動態(tài)圖像。
      28.如權(quán)利要求22所述的方法,還包括為第一圖像提供第一不透明度值;為第二圖像提供第二不透明度值;為所述動態(tài)圖像提供第三不透明度值。
      29.如權(quán)利要求28所述的方法,還包括用第一不透明度值覆寫第二不透明度值。
      30.如權(quán)利要求28所述的方法,還包括將第一不透明度值與第二不透明度值相乘以獲得第三不透明度值。
      31.如權(quán)利要求28所述的方法,還包括當(dāng)組合第一圖像與第二圖像時,激勵第二圖像的所述不透明度值,由此產(chǎn)生遮片效果。
      32.一種使用計算機合成場景的方法,所述方法包括將第一圖像渲染在第一表面上;將第二圖像渲染在第二表面上;將第一場景渲染在第三表面上,其中將第一圖像用作所述場景的紋理并將第二圖像與所述紋理混合以形成第一場景。
      33.如權(quán)利要求32所述的方法,還包括提供說明性指令以渲染第一圖像、第二圖像和第一場景。
      34.如權(quán)利要求32所述的方法,其中第二圖像隨時間改變。
      35.如權(quán)利要求32所述的方法,其中第一圖像和第二圖像選自包括視頻圖像、靜止圖像、動畫和場景的組。
      36.一種使用計算機顯示場景的方法,所述方法包括以第一渲染速率渲染第一場景;以及以第二渲染速率渲染第二場景,其中第二場景形成第一場景內(nèi)的子場景。
      37.如權(quán)利要求36所述的方法,還包括提供說明性指令以渲染第一場景和第二場景。
      38.如權(quán)利要求36所述的方法,還包括將第二場景的第一渲染存儲在第一緩沖器中,并將第二場景的第二渲染存儲在第二緩沖器中;以及不斷地更新第一渲染和第二渲染,每次更新一個渲染。
      39.如權(quán)利要求36所述的方法,還包括使用選自包括第一渲染和第二渲染的組的最近的渲染來渲染所述子場景。
      40.如權(quán)利要求36所述的方法,其中第一渲染速率不同于第二渲染速率。
      全文摘要
      一種用于借助有效的說明性標(biāo)記語言(圖1A,項12)的復(fù)雜、動態(tài)和交互體驗的實時合成與呈現(xiàn)的系統(tǒng)和方法(圖1A,項11)。使用表面構(gòu)造,開發(fā)者可以將圖像或全運動視頻數(shù)據(jù)(圖1A,項20)嵌入到其3D場景內(nèi)他們要使用傳統(tǒng)紋理映射的任何地方。開發(fā)者還可以將渲染一個場景描述的結(jié)果用作要紋理映射到另一個場景中的圖像(圖1A,項28)。具體地說,表面允許任何渲染應(yīng)用的結(jié)果被用作開發(fā)者的場景內(nèi)的紋理(圖1A,項28)。這允許用去耦渲染速率說明性地渲染嵌套場景和渲染具有分量表面的場景(圖1A,項26F)。
      文檔編號G06T15/04GK1695169SQ02829813
      公開日2005年11月9日 申請日期2002年11月1日 優(yōu)先權(quán)日2002年11月1日
      發(fā)明者C·F·馬琳, R·K·梅亞斯, J·R·肯特, P·G·布勞維爾 申請人:索尼電子有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1