一種虛擬拍照裝置及方法與流程
2023-07-07 09:46:11 1

本發明一種虛擬拍照裝置及方法屬於虛擬拍照的領域。
背景技術:
隨著全景視頻技術的發展,出現了360度全景視頻,能夠讓用戶全方位的360度自由觀看,可以上下左右前後、甚至遠近距離觀看,通常是通過多個攝像機同時對同一個空間下的物體進行多個角度拍攝來實現,在播放端允許用戶在無需暫停視頻播放的情況下,自由切換觀看角度,全景視頻具有立體感和真實感,能夠很好地提供視覺體驗。
隨著人們需求的不斷提高,人們更希望在觀看全景視頻時不但可以看到全面、直觀的視頻,還能夠實時地獲取高質量圖像以留存或與朋友分享,那麼如何快速有效地構建虛擬實境所需要的圖像信息並將其傳遞到用戶端,提高用戶體驗的真實感和舒適感,將成為一個亟待解決的問題。
技術實現要素:
本發明提供了一種虛擬拍照裝置及方法,實現了一種觀看全景視頻時可以獲取高質量圖像的裝置及方法。
本發明的目的是這樣實現的:
一種虛擬拍照裝置,用於觀看在全景視頻過程中獲得圖片。
所述的虛擬拍照裝置,包括交換模塊、顯示模塊和剪裁模塊;
所述的交互模塊:用於發送虛擬拍照請求並接受返回的圖片,所述虛擬拍照請求攜帶視頻幀識和拍照姿態信息;
顯示模塊:用於實時顯示視頻和圖片;
剪裁模塊:用於裁剪已返回的全景圖片。
所述虛擬拍照裝置上實現的虛擬拍照方法,適用於觀看在全景視頻過程中獲得圖片。
所述的虛擬拍照方法,包括以下步驟:
步驟a、在播放全景視頻時,伺服器預先生成與全景視頻數據對應的原始全景圖片索引文件,並建立索引文件和全景視頻數據的映射關係;
步驟b、當伺服器接收到虛擬拍照指令時,根據當前視頻幀標識及已經建立的映射關係,索引查找當前視頻幀畫面對應的原始全景圖片;
步驟c、伺服器根據不同虛擬拍照指令,做出不同操作,具體如下:
如果請求的是「全景拍照」,返回當前圖片;
如果請求的是「拍照」,根據姿態信息截取對應姿態信息的原始全景圖片,映射到一個球面上,以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上,根據拍照姿態信息確定用戶視野角度範圍;根據用戶視野角度範圍在全景映射球面上查找待裁剪球面圖形並裁剪;將該已裁剪球面圖形映射成目標矩形圖片,該目標矩形圖片的尺寸為預設值,該預設值根據經驗值設定,或者根據拍照指令中攜帶的屏幕尺寸參數來設定,將該目標矩形圖片返回給用戶;
如果請求的是「全景裁剪」,返回的是當前視頻幀畫面對應的原始全景圖片以及該原始全景圖片前後若干張圖片,用戶在若干張原始全景圖片中選擇最高質量的圖片點擊「裁剪」,會出現一個裁剪框,用戶移動裁剪框選擇角度進行裁剪,裁剪框尺寸為預設值,裁剪過程如下:將該原始全景圖片(平面矩形圖片)映射到一個球面上,即以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上;根據裁剪框位置和尺寸在全景映射球面上查找待裁剪球面圖形並裁剪;將該已裁剪球面圖形映射成目標矩形圖片,將該目標矩形圖片返回給用戶。
有益效果:
本發明一種虛擬拍照裝置及方法,該裝置,包括交換模塊、顯示模塊和剪裁模塊;該方法,包括以下步驟:播放全景視頻時,伺服器預先生成與全景視頻數據對應的原始全景圖片索引文件,並建立索引文件和全景視頻數據的映射關係;當伺服器接收到虛擬拍照指令時,根據當前視頻幀標識及已經建立的映射關係,索引查找當前視頻幀畫面對應的原始全景圖片;伺服器根據不同虛擬拍照指令,做出不同操作,如果是「全景拍照」,返回當前圖片;如果是「拍照」,返回固定尺寸非全景照片;如果是「全景裁剪」,返回的是能夠進行裁剪的全景圖片,實現了一種在觀看全景視頻時獲取圖片的方法和裝置,提高用戶體驗的真實感和舒適感。
附圖說明
圖1是一種虛擬拍照終端裝置功能圖。
圖2是一種虛擬拍照的方法的流程圖。
圖中:1顯示模塊、2交互模塊、3剪裁模塊。
具體實施方式
下面結合附圖對本發明具體實施方式作進一步詳細描述。
具體實施例一
本實施例是一種虛擬拍照裝置實施例。
本實施例的虛擬拍照裝置,用於觀看在全景視頻過程中獲得圖片,如圖1所示,包括交換模塊1、顯示模塊2和剪裁模塊3;
所述的交互模塊1:用於發送虛擬拍照請求並接受返回的圖片,所述虛擬拍照請求攜帶視頻幀識和拍照姿態信息;
顯示模塊2:用於實時顯示視頻和圖片;
剪裁模塊3:用於裁剪已返回的全景圖片。
工作過程:用戶在顯示模塊2中觀看全景視頻或者圖片,在交互模塊1中發送虛擬拍照請求並接受返回的圖片,請求中攜帶視頻幀識和拍照姿態信息,並且在顯示模塊2中查看返回的全景圖片或非全景圖片,如果用戶對全景圖片不滿意,能夠在剪裁模塊中裁剪已返回的全景圖片。
具體實施例二
本實施例是一種虛擬拍照方法實施例。
本實施例的虛擬拍照方法,在具體實施例一所述的虛擬拍照裝置上實現。該方法用於觀看在全景視頻過程中獲得圖片,如圖2所示,包括以下步驟:
步驟a、在播放全景視頻時,伺服器預先生成與全景視頻數據對應的原始全景圖片索引文件,並建立索引文件和全景視頻數據的映射關係;
步驟b、當伺服器接收到虛擬拍照指令時,根據當前視頻幀標識及已經建立的映射關係,索引查找當前視頻幀畫面對應的原始全景圖片;
步驟c、伺服器根據不同虛擬拍照指令,做出不同操作,具體如下:
如果請求的是「全景拍照」,返回當前圖片;
如果請求的是「拍照」,根據姿態信息截取對應姿態信息的原始全景圖片,映射到一個球面上,以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上,根據拍照姿態信息確定用戶視野角度範圍;根據用戶視野角度範圍在全景映射球面上查找待裁剪球面圖形並裁剪;將該已裁剪球面圖形映射成目標矩形圖片,該目標矩形圖片的尺寸為預設值,該預設值根據經驗值設定,或者根據拍照指令中攜帶的屏幕尺寸參數來設定,將該目標矩形圖片返回給用戶;
如果請求的是「全景裁剪」,返回的是當前視頻幀畫面對應的原始全景圖片以及該原始全景圖片前後若干張圖片,用戶在若干張原始全景圖片中選擇最高質量的圖片點擊「裁剪」,會出現一個裁剪框,用戶移動裁剪框選擇角度進行裁剪,裁剪框尺寸為預設值,裁剪過程如下:將該原始全景圖片(平面矩形圖片)映射到一個球面上,即以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上;根據裁剪框位置和尺寸在全景映射球面上查找待裁剪球面圖形並裁剪;將該已裁剪球面圖形映射成目標矩形圖片,將該目標矩形圖片返回給用戶。
工作原理:用戶在觀看全景直播或錄播視頻時可以即時獲得圖片,在觀看視頻時的某一刻發送虛擬拍照請求,可以點擊「全景拍照」,「拍照」,「全景裁剪」。
請求「全景拍照」指令,返回的圖片是當前幀畫面對應的原始全景圖片;
請求「拍照」指令,返回的圖片是當前角度、當前幀畫面對應的固定尺寸的原始非全景圖片;
請求「全景裁剪」指令,返回的圖片是當前幀畫面對應的包含當前幀的前後若干幀的若干張原始全景圖片,用戶在若干張全景圖片中選擇最高質量的圖片進行裁剪,按自己的意願裁剪最佳角度的圖片。
發送虛擬拍照請求時,請求指令攜帶視頻幀標識和拍照姿態信息,姿態信息通過觸屏滑動操作,或者通過集成陀螺儀等姿態傳感器來獲取當前拍照姿態信息,伺服器會預先生成與全景視頻數據對應的原始全景圖片索引文件,並建立索引文件和全景視頻數據的映射關係,伺服器在接收到虛擬拍照指令時,首先會根據當前視頻幀標識及已建立的映射關係,索引查找當前視頻幀畫面對應的原始全景圖片,然後會根據請求指令的不同作如下操作:
如果請求的是「全景拍照」,那麼返回的即為當前圖片;
如果請求的是「拍照」,那麼需要根據拍照姿態信息在該原始全景圖片中截取對應該姿態信息的截圖,將該原始全景圖片映射到一個球面上,即以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上,根據拍照姿態信息確定用戶視野角度範圍,根據用戶視野角度範圍在全景映射球面上查找待裁剪球面圖形並裁剪;將該已裁剪球面圖形映射成目標矩形圖片,該目標矩形圖片的尺寸為預設值,該預設值可以根據經驗值設定,或者可以根據拍照指令中攜帶的屏幕尺寸參數來設定,將該目標矩形圖片返回給用戶,該過程在伺服器端實現。
如果請求的是「全景裁剪」,那麼返回的是當前視頻幀畫面對應的原始全景圖片以及該原始全景圖片前後若干張圖片,用戶在若干張原始全景圖片中選擇最高質量的圖片點擊「裁剪」,會出現一個裁剪框,用戶移動裁剪框選擇角度進行裁剪,裁剪框尺寸可以為預設值,裁剪過程如下:將該原始全景圖片映射到一個球面上,即以平面矩形圖片的側邊作為球面半圓弧生成對應的全景映射球面,並將平面矩形圖片貼圖到全景映射球面上,根據裁剪框位置和尺寸在全景映射球面上查找待裁剪球面圖形並裁剪,將該已裁剪球面圖形映射成目標矩形圖片;將該目標矩形圖片返回給用戶,該過程在用戶端實現。