一種實現三維視頻全景空間熱點的方法和系統的製作方法
2023-05-20 06:37:06 1
專利名稱:一種實現三維視頻全景空間熱點的方法和系統的製作方法
技術領域:
本發明涉及計算機技術領域,具體涉及一種實現三維視頻全景空間熱點的方法和 系統。
背景技術:
隨著計算機多媒體技術的不斷發展,三維視頻和三維視頻全景空間熱點將成為未 來多媒體技術關注的技術方向,與普通的二維視頻相比,三維視頻增加了場景的深度信息, 增強了視覺的現實感和逼真感,可以給用戶提供全方位沉浸式的感受。尤其是在傳統的平 面視頻基礎上增加深度信息,可以增強視覺的現實感和逼真感。使用戶可以獲得具有深度 感的立體圖像。三維視頻技術可以廣泛應用於數位電視、遠程教育、遠程工業控制、三維視 頻會議系統、虛擬實境系統等諸多方面。目前在三維視頻技術實現上,一個3D場景中,我們看到的物體,都是由一個一個 的面片組成。而裝載面片位置信息就是其各個頂點的三維坐標。這是在模型中存儲的, 而要把物體在屏幕上顯示,還需要將它轉換成顯示器上的二維坐標。這需要實施一套三 維到二維的轉換公式,在現有計算機Direct3D技術中,大多採用「幾何流水線」方法實 現(Geometry Pipeline)」。對於每個被引進程序的物體(mesh),它們的坐標系,坐標原 點理論上都應該是不同的,其頂點也都用局部坐標表示的。那麼要做統一的變換,首先 應將它們引入到同一坐標系下,也就是「世界坐標系」。這個變換也因此被稱為世界變換 (worldtransform)。經過了以上一些操作後,每個頂點在整個場景中的位置也就確定下來 了。但是要把它們映射到屏幕上,還要確定觀察者的位置和視角。把所有點變換到新建立 的以觀察者為基準的坐標系下,這樣才能被觀察者所觀察到,現有技術的這個實現步驟叫 做視圖變換(view transform)。經過上述兩次坐標轉換後,屏幕可以平行於其中一個坐標 軸平面,也就是說,經過一系列的比例範圍調整,理論上能看到期盼已久的點,但是此時繪 出的物體是沒有立體感的,所以對每個點,進行最後一步變換就是根據其遠近程度進行一 下放縮。最後現有Direct3D技術把剪切也納入此流水線實現方法,儘管它沒有對頂點做任 何變換。但在三維視頻在全景空間中播放的過程中,往往會出現標誌性的建築,或者道路 指示等,然而在錄製視頻的過程中我們沒有對這些建築等做特殊的處理,所以在視頻播放 的過程中,就需要使用以一種圖文的格式來表示這種特殊標誌,這個圖文標誌就是熱點。通 過在播放系統中添加熱點,可以很輕易的對地區及建築進行區分,更方便的進行導航。目前國外現有全景視頻技術大多傾向做全景視頻的採集,而國內則傾向於做靜態 的全景圖片的顯示以及全景圖片的合成。
發明內容
本發明提供一種三維視頻全景播放過程中空間熱點的生成方法及系統,用於解決 現有的全景視頻中無法添加熱點的問題。
本發明提供的一種三維視頻全景播放過程中空間熱點的生成方法,包括通過三維視頻的播放過程中獲取每一幀圖像作為紋理信息,同時通過XML文件的 解析獲取該時間片內熱點所在的紋理坐標。通過三維轉換將紋理映射到虛擬環境中的三維球體上,同時獲得熱點在三維世界 中的坐標,最後通過投影變換將熱點從三維世界映射到屏幕上,最終繪製出熱點信息。所述方法將熱點從三維世界映射到屏幕坐標的主要步驟包括找出三維虛擬環境的世界變換矩陣;視圖變換矩陣;投影變換矩陣;將三個矩陣做乘;作為變換矩陣。所述方法還包括,一個裁剪過程,通過裁剪判斷熱點是否在屏幕上顯示。本發明還提供的一種三維視頻全景播放過程中空間熱點的生成系統,包括熱點 管理系統,伺服器端和客戶端。所述熱點管理系統功能有熱點編輯、XML文件生成所述伺服器端功能有XML文件解析、紋理坐標轉換為三維坐標、獲取變換矩陣、三 維坐標轉換為平面坐標。所述客戶端包含兩個模塊渲染模塊和交互模塊,交互模塊負責用戶與三維虛擬環 境的交換,渲染模塊主要負責紋理獲取、熱點屏幕坐標獲取。熱點繪製。所述系統架構設計採用MVC架構,其中MVC應用程式被分成三個核心部件模型、 視圖、控制器。其中所述模型,包括熱點數據、視頻信息、紋理數據、三維球面數據和狀態通知;所述視圖部件,包括模型繪製、熱點繪製、更新視圖和發送用戶操作;所述控制器,包括三維交互、信息顯示。
圖1是本發明方法的流程示意圖;圖2是本發明實施例的應用流程圖;圖3是本發明實施例的實現流程圖1 ;圖4是本發明實施例的實現流程圖2 ;圖5是本發明的軟體架構圖;圖6是本發明的系統架構圖。
具體實施例方式為了使本技術領域的人員更好地理解本發明實施例的方案,下面結合附圖和實施 方式對本發明實施例作進一步的詳細說明。首先參照圖1,是本發明一種實現三維視頻全景空間熱點的方法和系統的流程示 意圖,主要步驟包括步驟101、讀取全景視頻,獲取每一幀圖像。本發明實施中通過
4MicrosoftDirectShow 來實現對視頻的播放。DirectShow 是從 DirectX6. O 中的 DirectXMedia發展而來的,它集成了 DirectX家族中其他成員(DirectDraw、DirectSound 等)的技術。Microsoft DirectShow是一個基於Microsoft Windows平臺的媒體流結構。 它支持各種格式,包括高級流模式(ASF)、運動圖像專家組(MPEG)、音頻視頻交錯(AVI)、音 頻動態壓縮第三層(MP3)和WAV聲音文件。它支持Windows驅動模式(WDM)設備的捕捉, 以及早期Windows設備的視頻。DirectShow結合了其它的DirectX技術。當視頻和音頻 的硬體加速可用時,它能夠自動檢測並進行使用,同時也支持沒有硬體加速的系統。因此, Microsoft DirectShow在流媒體領域有著廣泛的應用。
步驟102,通過解析XML文件找出熱點的紋理坐標以及其對應的時間信息。通過熱 點管理子系統來定義熱點的位置信息以及與其對應的時間信息,同時以XML文件的方式保 存。在視頻播放的過程中,通過解析XML文件找出熱點紋理坐標以及時間信息,同時通過與 視頻播放同步判斷當前時間片是否有熱點信息。步驟103,通過矩陣變換將熱點的二維紋理坐標轉換為三維世界中的坐標,然後通 過世界變換、視圖變換、映射變換將其轉換為屏幕坐標。參照圖2,是本發明一種實現三維視頻全景空間熱點的方法和系統的實施例應用 流程圖,主要步驟包括步驟201,從視頻中獲取每一幀圖像,通過DirectShow對視頻進行播放,從而獲取 每幀圖像信息。步驟202,從二維圖像中熱點坐標獲取,在視頻逐幀播放的過程中,選取熱點在圖 像上的坐標(χ,y),分別除以圖像的寬度和高度作為熱點紋理坐標(u,ν)。步驟203、保存XML文件,取得熱點的紋理坐標後,我們以特定的格式保存為XML文 件,XML文件它同HTML類似,都是標記性語言,標記性語言特點就是簡單易學,XML非常適合 數據交換,它在全球具有統一標準,現在所有作業系統、智能設備都支持XML格式文件,現 實工作中經常也會經常用到,是非常重要的一門標記語言。參照圖3,是本發明一種實現三維視頻全景空間熱點的方法和系統實施例的實現 流程圖,主要步驟包括步驟301,從視頻中獲取每一幀圖像,通過DirectShow對視頻進行播放,從而獲取 每幀圖像信息。步驟302,解析XML文件找出熱點的紋理坐標以及其對應的時間信息。通過熱點管 理子系統來定義熱點的位置信息以及與其對應的時間信息。在視頻播放的過程中,通過解 析XML文件找出熱點紋理坐標以及時間信息,同時通過與視頻播放同步判斷當前時間片是 否有熱點信息。步驟303,判斷該時間片是否有熱點信息,在視頻播放的過程中,根據視頻播放的 時間來查找熱點鍊表中在該時間片是否有與其對應的熱點信息。如果沒有則繼續播放視 頻,如果存在熱點信息,則進入下一個步驟中。步驟304,將紋理映射到三維球上,由於本發明技術實現上採用的是全景視頻,長 寬比例嚴格按照2 1的,所以我們取得的每幀視頻可以按照下面公式ν = ar cos (z/r) /piu= (ar cos (χ/ (r^sin (v^pi)))) /2^pi
x2+y2+z2 = r2找出三維球上每個頂點所對應的紋理坐標步驟305,計算熱點在三維空間中的坐標,通過第二步XML解析得到的紋理坐標是 二維圖像的紋理坐標,在此需要轉換成三維虛擬場景中的坐標,通過如下公式可以得到二 維紋理坐標V (u0, v0)所對應的三維坐標P (x0, y0, z0)。 步驟306,獲取系統的世界變換矩陣,視圖變換矩陣和投影變換矩陣。對於每個被 引進程序的物體(mesh),它們的坐標系,坐標原點理論上都應該是不同的,其頂點也都用局 部坐標表示的。那麼要做統一的變換,首先應將它們引入到同一坐標系下,也就是「世界坐 標系」。這個變換也因此被稱為世界變換(world transform)。經過了以上一些操作後,每 個頂點在整個場景中的位置也就確定下來了。但是要把它們映射到屏幕上,還要確定觀察 者的位置和視角。我們要把所有點變換到新建立的以觀察者為基準的坐標系下,這樣才能 被觀察者所觀察到,這個步驟叫做視圖變換(view transform)。經過上述兩次坐標轉換後, 我們已經讓屏幕平行於其中一個坐標軸平面了,也就是說,經過一系列的比例範圍調整,理 論上我們能看到期盼已久的點,但是此時繪出的物體是沒有立體感的,所以對每個點,我們 進行最後一步變換就是根據其遠近程度進行一下放縮。步驟307,將熱點的三維坐標轉換成屏幕坐標。通過上一步驟可以獲取三個變換矩 陣,並將其做乘,作為變換矩陣,如下 同時通過公式 標。
即可獲取熱點的三維坐標對應的屏幕坐標,其中z用於裁剪判斷,x,y作為屏幕坐維視頻全景空間熱點的方法和系統實施例的實現
步驟308,繪製熱點。 參照圖4,是本發明一種實現J 流程圖2,主要步驟包括步驟401,通過原始頂點,三維世界坐標向屏幕坐標映射的過程。步驟402,世界變換,對於每個對立被引進程序的物體(mesh),它們的坐標系,坐 標原點理論上都應該是不同的,其頂點也都用局部坐標表示的。那麼要做統一的變換,首 先應將它們引入到同一坐標系下,也就是「世界坐標系」。這個變換也因此被稱為世界變換(world transform)0步驟403,視圖變換,經過了以上一些操作後,每個頂點在整個場景中的位置也就 確定下來了。但是要把它們映射到屏幕上,還要確定觀察者的位置和視角。我們要把所有 點變換到新建立的以觀察者為基準的坐標系下,這樣才能被觀察者所觀察到,這個步驟叫 做視圖變換(view transform)步驟404,投影變換,經過上述兩次坐標轉換後,我們已經讓屏幕平行於其中一個 坐標軸平面了,也就是說,經過一系列的比例範圍調整,理論上我們能看到期盼已久的點, 但是此時繪出的物體是沒有立體感的,所以對每個點,我們進行最後一步變換就是根據其 遠近程度進行一下放縮。步驟405,三維裁剪,經過以上幾個變換後,視點前後的圖像我們都可以再屏幕上 看到,這樣是不正確的,所以應該將不應該在屏幕上顯示的圖像剔除,這樣才可以正確顯 示;
步驟406,輸出頂點。參照圖5,是本發明一種實現三維視頻全景空間熱點的方法和系統系統軟體架構 圖,設計採用MVC架構,用MVC應用程式被分成三個核心部件模型、視圖、控制器,其中模型包括熱點數據、視頻信息、紋理數據、三維球面數據、狀態通知視圖部件包括 模型繪製、熱點繪製、更新視圖、發送用戶操作控制器包括三維交互、信息顯示。參照圖6,本發明一種實現三維視頻全景空間熱點的方法和系統的系統架構圖,包 括熱點管理系統,伺服器端和客戶端。其中熱點管理系統主要實現的功能有熱點編輯、XML文件生成伺服器端主要實現功能有XML文件解析、紋理坐標轉換為三維坐標、獲取變換矩 陣、三維坐標轉換為平面坐標。客戶端包含兩個模塊渲染模塊和交互模塊,交互模塊負責用戶與三維虛擬環境的 交換,渲染模塊主要負責紋理獲取、熱點屏幕坐標獲取。熱點繪製。以上對本發明實施例進行了詳細介紹,本文中應用了具體實施方式
對本發明進行 了闡述,以上實施例的說明只是用於幫助理解本發明的系統及方法;同時,對於本領域的 一般技術人員,依據本發明的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所 述,本說明書內容不應理解為對本發明的限制。
權利要求
一種實現三維視頻全景空間熱點的方法,其特徵在於,包括通過三維視頻的播放過程中獲取每一幀圖像作為紋理信息,同時通過XML文件的解析獲取該時間片內熱點在的紋理坐標;通過三維轉換將紋理映射到虛擬環境中的三維球體上,同時獲得熱點在三維世界中的坐標,最後通過投影變換將熱點從三維世界映射到屏幕上,最終繪製出熱點信息。
2.根據權利要求1所述的方法,其特徵在於,所述方法包括將熱點從三維世界映射到 屏幕坐標,主要步驟找出三維虛擬環境的世界變換矩陣; 視圖變換矩陣; 影射變換矩陣; 將三個矩陣做乘; 作為投影矩陣。
3.根據權利要求1所述的方法,其特徵在於,所述方法包括,一個裁剪過程,通過裁剪 判斷熱點是否在屏幕上顯示。
4.一種實現三維視頻全景空間熱點的系統,其特徵在於,所述系統包括熱點管理系統、 伺服器端和客戶端;所述熱點管理系統功能有熱點編輯、XML文件生成;所述伺服器端功能有XML文件解析、紋理坐標轉換為三維坐標、獲取變換矩陣、三維坐 標轉換為平面坐標;所述客戶端包含兩個模塊渲染模塊和交互模塊。
5.根據權利要求4所述的系統,其特徵在於,所述客戶端兩個模塊渲染模塊和交互模 塊。其中所述交互模塊負責用戶與三維虛擬環境的交換;所述渲染模塊主要負責紋理獲取、熱點屏幕坐標獲取和熱點繪製。
6.根據權利要求4所述的系統,其特徵在於,所述系統架構設計採用MVC架構,MVC應 用程序被分成三個核心部件模型、視圖和控制器。其中所述模型包括熱點數據、視頻信息、紋理數據、三維球面數據和狀態通知; 所述視圖部件包括模型繪製、熱點繪製、更新視圖、發送用戶操作; 所述控制器包括三維交互、信息顯示。
全文摘要
本發明提供一種三維視頻全景播放過程中空間熱點的生成方法及系統,用於解決現有的全景視頻中無法添加熱點的問題。本發明提供的方法,包括通過三維視頻的播放過程中獲取每一幀圖像作為紋理信息;通過XML文件的解析獲取該時間片內熱點在的紋理坐標;通過三維轉換將紋理映射到虛擬環境中的三維球體上,獲得熱點在三維世界中的坐標,最後通過投影變換將熱點從三維世界映射到屏幕上,最終繪製出熱點信息。本發明還提供一種三維視頻全景播放過程中空間熱點的生成系統,包括熱點管理系統,伺服器端和客戶端。
文檔編號G06T15/10GK101877139SQ200910083090
公開日2010年11月3日 申請日期2009年4月30日 優先權日2009年4月30日
發明者宋漢營, 王西傑 申請人:愛國者全景(北京)網絡科技發展有限公司