本發明涉及VR在線播放技術領域,尤其涉及一種基于HTML5的VR在線播放方法、系統及播放器。
背景技術:
目前全景視頻(Virtual Reality,VR),又叫虛擬實境視頻,是指能工巧匠利用專業的VR攝影功能將現場環境真實地記錄下來,再通過計算機進行后期處理,所形成的可以實現三維的空間展示功能的視頻。
目前在VR領域,最缺乏的就是內容,而對于視頻行業來說,內容總是會不斷產生的。如果能將視頻內容和VR技術很好地結合,對于影視行業來說,將為其增添可看性;對于VR設備來說,豐富的視頻會為其增添內容,使其贏得大眾的認可;對于用戶來說,他們對VR視頻有極高的期待,VR技術與視頻的結合將給他們帶來好的體驗。移動終端為載體的VR視頻播放的過程中,95%的視頻都要基于App來播放,但是很多VR版本的廣告、直播、宣傳片需要通過微信、QQ等社交軟件進行傳播和擴散,用戶體驗較差,因此,將VR視頻通過HTML5播放,會給用戶帶來更好的觀看體驗。
由于Krpano是html5VR視頻播放器的先驅,也是全球最大,使用最為廣泛的html5VR視頻播放器SDK,但是這款播放器至今都只能播放mp4視頻文件,不支持HLS協議,同時也不支持Android端的播放。不支持HLS,就意味著mp4視頻必須要完全下載完畢才能播放,這樣用戶等待的時間比較長,如果視頻較大,將會導致移動端瀏覽器直接崩潰。不支持Android端意味著將損失移動領域80%以上的受眾群體。
技術實現要素:
本發明提供了一種基于HTML5的VR在線播放方法、系統及播放器,主要解決VR視頻在微信、QQ以及手機瀏覽器中播放的技術問題;達到支持IOS和Android版本,并支持基于HLS協議點播視頻和直播視頻的播放的目的。
為達到上述目的,本發明一方面提供了一種基于HTML5的VR在線播放方法,包括:
創建球體模型;
獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;
接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值。
進一步的,所述創建球體模型,包括:
在服務器內存中建立至少一個球體緩沖區,形成至少一個球體模型。
進一步的,所述獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻,包括:
監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據;
將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻。
進一步的,所述監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格,將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,所述監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建Canvas,將Video的每幀畫面復制于Cavans上;
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格;將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,所述接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值,包括:
接收基于客戶端載體發送的手勢變換數據或通過角度傳感器及重力傳感器獲取的客戶端角度及重力變換數據;
通過創建的重力及觸摸控制組件根據角度及重力反饋的變換數據,實現拖動,調整場景相機的視角;
在渲染過程中更新重力及觸摸組件的數據信息,同時更新場景和相機數據;或在渲染過程中先完成Video畫面的拷貝,更新重力及觸摸組件的數據信息,同時更新場景和相機數據。
本發明另一方面還提供了一種基于HTML5的VR在線播放系統,包括:
創建模塊,用于創建球體模型;
渲染模塊,用于獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;
調整模塊,用于接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值。
進一步的,所述創建模塊,包括:
創建單元,用于在服務器內存中建立至少一個球體緩沖區,形成至少一個球體模型。
進一步的,所述渲染模塊,包括:
監聽單元,用于監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據;
合成單元,用于將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻。
進一步的,監聽單元和合成單元的實現步驟包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格,將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,監聽單元和合成單元的實現步驟還包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建Canvas,將Video的每幀畫面復制于Cavans上;
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格;將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,所述調整模塊,包括:
接收單元,用于接收基于客戶端載體發送的手勢變換數據或通過角度傳感器及重力傳感器獲取的客戶端角度及重力變換數據;
調整單元,用于通過創建的重力及觸摸控制組件根據角度及重力反饋的變換數據,實現拖動,調整場景相機的視角;
更新單元,用于在渲染過程中更新重力及觸摸組件的數據信息,同時更新場景和相機數據;或在渲染過程中先完成Video畫面的拷貝,更新重力及觸摸組件的數據信息,同時更新場景和相機數據。
本發明另一方便還提供了一種基于HTML5的VR在線播放器,包括前述任一項所述的系統。
本發明通過創建球體模型;獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值的技術方案,實現了Android與IOS設備在微信、QQ以及移動瀏覽器中觀看VR全景視頻。可以讓很多VR廣告,VR互動游戲,在移動端廣泛的的傳播,用戶不再需要下載第三方的APP就能觀看VR視頻,降低了內容運營公司獲取用戶的成本。
附圖說明
圖1為根據本發明的一種基于HTML5的VR在線播放方法的實施例一的流程圖;
圖2為根據本發明的一種基于HTML5的VR在線播放方法實例的示意圖;
圖3為根據本發明的一種基于HTML5的VR在線播放系統的實施例二的示意圖;
圖4為根據本發明的創建模塊的實施例二的示意圖;
圖5為根據本發明的渲染模塊的實施例二的示意圖;
圖6為根據本發明的調整模塊的實施例二的示意圖;
圖7為根據本發明的一種基于HTML5的VR在線播放器的實施例三的結構框圖;
圖8為根據本發明的透視相機的原理說明示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分的實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
需要說明的是,本發明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數據在適當情況下可以互換,以便這里描述的本發明的實施例能夠以除了在這里圖示或描述的那些以外的順序實施。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它步驟或單元。
實施例一
參照圖1,圖1示出了一種基于HTML5的VR在線播放方法的流程圖。本實施例一為基于HTML5的video組件、Canvas組件。實現過程中有使用開源框架Three.js,包括:步驟S110至步驟S130。
在步驟S110中,創建球體模型。
包括:
在服務器內存中建立至少一個球體緩沖區,形成至少一個球體模型。
在步驟S120中,獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻。
包括:
監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據;
將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻。
優選的,該步驟具體包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
HTML5自帶Video組件,默認支持MP4,以及基于HLS協議的流媒體播放,Android和IOS下都可以無障礙播放非VR視頻文件或流媒體,在HTML5的Video組件播放傳統視頻的基礎上,先將VR視頻作為傳統視頻進行播放。
在Video的onPlay事件中做三維場景的初始化,在內存中建立球體緩沖區,將每一幀的畫面視為球體的UV展開圖,將每一幀畫面做為材質貼圖,貼在球面紋理上,再將球面紋理附著于球體模型上。初始化動作包括:
創建場景;
如圖8所示,通過透視投影算法為場景添加透視相機;使用透視投影算法獲得的結果是類似人眼在真實世界中看到的有“近大遠小”的效果,在THREE框架中透視投影算法的構造方式為:
THREE.PerspectiveCamera(fov,aspect,near,far),圖中錐體頂點所在位置為人眼所在位置。
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格,將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
優選的,該步驟還包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建Canvas,將Video的每幀畫面復制于Cavans上;
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格;將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
在步驟S130中,接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值。
包括:
接收基于客戶端載體發送的手勢變換數據或通過角度傳感器及重力傳感器獲取的客戶端角度及重力變換數據;
通過創建的重力及觸摸控制組件根據角度及重力反饋的變換數據,實現拖動,調整場景相機的視角;
在渲染過程中更新重力及觸摸組件的數據信息,同時更新場景和相機數據;或在渲染過程中先完成Video畫面的拷貝,更新重力及觸摸組件的數據信息,同時更新場景和相機數據。
一具體應用例子,基于html5和javascript語言實現,其中為簡化代碼開發,使用Three.js框架。
H5版本在線播放MP4:
1.創建Video組件,為Video組件設置playsinline屬性,監聽Video的Play/Puse/Ended事件;
2.在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
(1)創建場景THREE.Scene;
(2)為場景添加透視相機THREE.PerspectiveCamera;
(3)將視頻數據創建為視頻紋理THREE.VideoTexture(video);
(4)創建球體緩沖區THREE.SphereBufferGeometry;
(5)創建材質,將視頻紋理貼在材質上THREE.MeshBasicMaterial({map:videoTexture});
(6)創建網格,將材質附著于球體緩沖區上THREE.Mesh(geometry,material);
(7)創建渲染器THREE.WebGLRenderer,將渲染器渲染后的畫面繪制在Canvas上;
(8)創建重力及觸摸控制組件THREE.VRControls(camera),重力及觸摸控制組件實現拖動和根據重力反饋數據,改變場景相機的視角;
(9)在渲染過程中更新重力及觸摸組件的數據信息,同時更新場景和相機數據;
controls.update();
renderer.render(scene,camera);
(10)動畫循環requestAnimationFrame。
另一具體應用例子,基于html5和javascript語言實現,其中為簡化代碼開發,使用Three.js框架。
H5在線播放HLS點播或直播視頻:
mp4視頻播放只適用用于體積比較小的視頻20M以下,再大對移動瀏覽器是個負擔。因為mp4視頻是先下載后播放,無論是下載還是播放都是要占用內存。
所以最佳策略就是播放基于HLS的流媒體視頻,可以適用ffmpeg指令將mp4大視頻轉化為基于HLS的流媒體。
Video組件加載指定的m3u8地址就行,其他流程與MP4視頻文件播放方式一致。但是在IOS的safari內核中,限制了webgl拷貝hls的視頻畫面到canvas上,因此HLS的視頻在IOS下無法渲染。
為解決以上問題,在IOS下渲染時候,需要將Video中視頻的每一幀畫面拷貝到Canvas上。
另一具體應用例子,基于html5和javascript語言實現,其中為簡化代碼開發,使用Three.js框架。
H5在線播放HLS點播或直播視頻解決IOS黑屏問題:
1.創建Video組件,為Video組件設置playsinline屬性,監聽Video的Play/Puse/Ended事件;
2.在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
(1)創建Canva將Video的每幀畫面復制于Cavans上;
(2)創建場景THREE.Scene;
(3)為場景添加透視相機THREE.PerspectiveCamera;
(4)將視頻創建為視頻紋理THREE.Texture(canvas);
(5)創建球體緩沖區THREE.SphereBufferGeometry;
(6)創建材質,將視頻紋理貼在材質上THREE.MeshBasicMaterial({map:videoCanvaTexture});
(7)創建網格,將材質附著于球體緩沖區上THREE.Mesh(geometry,material);
(8)創建渲染器THREE.WebGLRenderer,將渲染器渲染后的畫面繪制在Canvas上;
(9)創建重力及觸摸控制組件THREE.VRControls(camera),重力及觸摸控制組件實現拖動和根據重力反饋數據,改變場景相機的視角;
(10)在渲染過程中先完成Video畫面的拷貝,更新重力及觸摸組件的數據信息,同時更新場景和相機數據;
canvas.getConetxt(‘2d’).drawImage(video,0,0,window.width,window.height);
controls.update();
renderer.render(scene,camera);
(11)動畫循環requestAnimationFrame。
如圖2所示,區域100相當于手機屏幕,旋轉手機的時候,球體向相反的方向旋轉,這樣就可以看到球體上的畫面了。HTML5的video組件獲取的每一幀畫面將最終作為材質貼在球體的內表面上。
本發明實施例一通過創建球體模型;獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值的技術方案,實現了Android與IOS設備在微信、QQ以及移動瀏覽器中觀看VR全景視頻。可以讓很多VR廣告,VR互動游戲,在移動端廣泛的的傳播,用戶不再需要下載第三方的APP就能觀看VR視頻,降低了內容運營公司獲取用戶的成本。
實施例二
參照圖3,圖3示出了本發明提供的一種基于HTML5的VR在線播放系統200一實施例的結構圖,包括:
創建模塊21,用于創建球體模型。
渲染模塊22,用于獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻。
調整模塊23,用于接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值。
進一步的,如圖4所示,所述創建模塊21,包括:
創建單元211,用于在服務器內存中建立至少一個球體緩沖區,形成至少一個球體模型。
進一步的,如圖5所示,所述渲染模塊22,包括:
監聽單元221,用于監聽并獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據;
合成單元222,用于將所述每一幀數據轉換成支持的格式后,貼在球體模型的球面紋理上,并將球面紋理附著于球體模型上之后,合成多個視頻數據,得到全景視頻。
進一步的,監聽單元和合成單元的實現步驟包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格,將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,監聽單元和合成單元的實現步驟還包括:
創建Video組件,為Video組件設置playsinline屬性,監聽并獲取全景視頻采集裝置采集的多個視頻數據的Video的Play、Puse和Ended事件;
在Video的onPlay事件中做三維場景的初始化,初始化動作包括:
創建Canvas,將Video的每幀畫面復制于Cavans上;
創建場景;
通過透視投影算法為場景添加透視相機;
將視頻數據創建為視頻紋理;
創建材質,將視頻紋理貼在材質上;
創建網格;將材質附著于球體緩沖區上;
創建渲染器,將渲染器渲染后的畫面繪制在Canvas上,通過透視相機使用透視投影算法獲得Canvas上的畫面。
進一步的,如圖6所示,所述調整模塊23,包括:
接收單元231,用于接收基于客戶端載體發送的手勢變換數據或通過角度傳感器及重力傳感器獲取的客戶端角度及重力變換數據;
調整單元232,用于通過創建的重力及觸摸控制組件根據角度及重力反饋的變換數據,實現拖動,調整場景相機的視角;
更新單元233,用于在渲染過程中更新重力及觸摸組件的數據信息,同時更新場景和相機數據;或在渲染過程中先完成Video畫面的拷貝,更新重力及觸摸組件的數據信息,同時更新場景和相機數據。
具體實現的功能和處理方式參見方法實施例一描述的具體步驟。
由于本實施例二的系統所實現的處理及功能基本相應于前述圖1所示的方法的實施例、原理和實例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關說明,在此不做贅述。
本發明實施例二通過創建模塊創建球體模型;渲染模塊獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;調整模塊接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值的技術方案,實現了Android與IOS設備在微信、QQ以及移動瀏覽器中觀看VR全景視頻。可以讓很多VR廣告,VR互動游戲,在移動端廣泛的的傳播,用戶不再需要下載第三方的APP就能觀看VR視頻,降低了內容運營公司獲取用戶的成本。
實施例三
參照圖7,圖7示出了本發明提供的一種基于HTML5的VR在線播放器300,包括實施例二中的任一項所述的系統200。
本發明實施例三通過創建球體模型;獲取全景視頻采集裝置采集的多個視頻數據的每一幀數據,將所述數據轉換成支持的格式后,渲染到球體模型上,得到全景視頻;接收基于客戶端載體發送的角度變換數據,根據角度變換數據調整球體模型視圖矩陣值的技術方案,實現了Android與IOS設備在微信、QQ以及移動瀏覽器中觀看VR全景視頻。可以讓很多VR廣告,VR互動游戲,在移動端廣泛的的傳播,用戶不再需要下載第三方的APP就能觀看VR視頻,降低了內容運營公司獲取用戶的成本。
上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明并不受所描述的動作順序的限制,因為依據本發明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優選實施例,所涉及的動作和模塊并不一定是本發明所必須的。
在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置,可通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
需要指出,根據實施的需要,可將本申請中描述的各個步驟/部件拆分為更多步驟/部件,也可將兩個或多個步驟/部件或者步驟/部件的部分操作組合成新的步驟/部件,以實現本發明的目的。
上述根據本發明的方法可在硬件、固件中實現,或者被實現為可存儲在記錄介質(諸如CD ROM、RAM、軟盤、硬盤或磁光盤)中的軟件或計算機代碼,或者被實現通過網絡下載的原始存儲在遠程記錄介質或非暫時機器可讀介質中并將被存儲在本地記錄介質中的計算機代碼,從而在此描述的方法可被存儲在使用通用計算機、專用處理器或者可編程或專用硬件(諸如ASIC或FPGA)的記錄介質上的這樣的軟件處理。可以理解,計算機、處理器、微處理器控制器或可編程硬件包括可存儲或接收軟件或計算機代碼的存儲組件(例如,RAM、ROM、閃存等),當所述軟件或計算機代碼被計算機、處理器或硬件訪問且執行時,實現在此描述的處理方法。此外,當通用計算機訪問用于實現在此示出的處理的代碼時,代碼的執行將通用計算機轉換為用于執行在此示出的處理的專用計算機。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。