本技術涉及顯示,特別涉及一種虛擬現實顯示裝置及其控制方法以及計算機存儲介質。
背景技術:
1、虛擬現實顯示裝置是一種能夠實現顯示功能的裝置。
2、目前的一種虛擬現實顯示裝置為虛擬現實顯示裝置,該裝置可以包括左眼屏幕、右眼屏幕以及處理器,處理器可以渲染得到兩個屏幕的圖像數據,并基于這些圖像數據來控制兩個屏幕顯示。
3、但是,上述虛擬現實顯示裝置在顯示時的靈活性較差。
技術實現思路
1、本技術實施例提供了一種虛擬現實顯示裝置、虛擬現實顯示裝置的控制方法以及計算機存儲介質。所述技術方案如下:
2、根據本技術的第一方面,提供了一種虛擬現實顯示裝置,所述虛擬現實顯示裝置包括控制組件以及顯示單元,所述控制組件用于:
3、獲取渲染所述顯示單元的一幀畫面的渲染耗時;
4、響應于所述渲染耗時位于第一時長范圍中,通過至少兩個線程基于第一模式依次執行所述顯示單元的多個數據處理任務,所述多個數據處理任務包括所述屏幕的圖像數據的渲染任務以及對所述圖像數據的校正任務,所述第一模式為所述第一時長范圍對應的模式;
5、響應于所述渲染耗時位于第二時長范圍中,通過至少兩個線程基于第二模式依次執行所述顯示單元的數據處理任務,所述第二模式為所述第二時長范圍對應的模式,所述第二時長范圍的最小值大于所述第一時長范圍的最大值,且所述第二模式中所述顯示單元的多個數據處理任務的執行次序,與所述第一模式中所述顯示單元的多個數據處理任務的執行次序不同。
6、可選地,所述至少兩個線程包括第一線程以及第二線程,所述顯示單元包括第一屏幕以及第二屏幕;
7、所述第一時長范圍為0至0.5/f,所述第一屏幕的一幀畫面的渲染耗時以及所述第二屏幕的一幀畫面的渲染耗時均小于或者等于0.25/f,所述f為所述顯示單元的刷新率。
8、可選地,所述控制組件用于:
9、在第n幀的起始時刻后且間隔0.5/f的時刻,通過所述第一線程渲染所述第一屏幕的第n幀的圖像數據,在第n幀的起始時刻后且間隔0.75/f的時刻,通過所述第一線程渲染所述第二屏幕的第n幀的圖像數據,在n+1幀的起始時刻,通過所述第一線程對所述第二屏幕的第n幀的圖像數據進行校正,得到所述第二屏幕的第n幀的校正圖像數據;
10、在第n幀的起始時刻后且間隔0.75/f的時刻,通過所述第二線程對所述第一屏幕的第n幀的圖像數據進行校正,得到所述第一屏幕的第n幀的校正圖像數據,在第n+1幀的起始時刻,通過所述第二線程對所述第一屏幕的第n幀的校正圖像數據進行背光調節處理,得到所述第一屏幕的第n幀的背光數據,在第n+1幀的起始時刻后且間隔0.25/f的時刻后,通過所述第二線程對所述第二屏幕的第n幀的校正圖像數據進行背光調節處理,得到所述第二屏幕的第n幀的背光數據。
11、可選地,所述控制組件用于:
12、在第n幀的起始時刻后且間隔0.5/f的時刻,獲取預測的第一時刻的第一用戶姿態數據,并通過所述第一線程基于所述第一用戶姿態數據渲染所述第一屏幕的第n幀的圖像數據,所述第一時刻為所述第n+1幀的起始時刻后的時刻;
13、在第n幀的起始時刻后且間隔0.75/f的時刻,獲取預測的所述第一時刻的第二用戶姿態數據,并通過所述第二線程基于所述第二用戶姿態數據對所述第一屏幕的第n幀的圖像數據進行校正,得到所述第一屏幕的第n幀的校正圖像數據。
14、可選地,所述控制組件用于:
15、在第n幀的起始時刻后且間隔0.75/f的時刻,獲取預測的第二時刻的第三用戶姿態數據,并通過所述第一線程基于所述第三用戶姿態數據渲染所述第二屏幕的第n幀的圖像數據,所述第二時刻為所述第一時刻后的時刻;
16、在n+1幀的起始時刻,獲取預測的第二時刻的第四用戶姿態數據,通過所述第一線程基于所述第四用戶姿態數據對所述第二屏幕的第n幀的圖像數據進行校正,得到所述第二屏幕的第n幀的校正圖像數據。
17、可選地,所述至少兩個線程包括第一線程以及第二線程,所述顯示單元包括第一屏幕以及第二屏幕;
18、所述第二時長范圍為0.5/f至1/f,所述第一屏幕的一幀畫面的渲染耗時以及所述第二屏幕的一幀畫面的渲染耗時均小于或者等于0.5/f,所述f為所述顯示單元的刷新率。
19、可選地,所述控制組件用于:
20、響應于第n幀為奇數幀,在第n幀的起始時刻,通過所述第一線程渲染所述第二屏幕的第n幀的圖像數據,并對所述第二屏幕的第n幀的圖像數據進行校正,得到所述第二屏幕的第n幀的校正圖像數據,再對所述第二屏幕的第n幀的校正圖像數據進行背光調節處理,得到所述第二屏幕的第n幀的背光數據;
21、在第n幀的起始時刻,通過所述第二線程對第n-1幀獲取的所述第一屏幕的第n幀的圖像數據進行校正,得到所述第一屏幕的第n幀的校正圖像數據,并對所述第一屏幕的第n幀的校正圖像數據進行背光調整處理,得到所述第一屏幕的第n幀的背光數據,再渲染所述第一屏幕的第n+1幀的圖像數據;
22、在第n+1幀的起始時刻,通過所述第一線程對所述第一屏幕的第n幀的圖像數據進行校正,得到所述第一屏幕的第n幀的校正圖像數據,并通過所述第一線程對所述第一屏幕的第n幀的校正圖像數據進行背光調整處理,得到所述第一屏幕的第n幀的背光數據,再渲染所述第一屏幕的第n+2幀的圖像數據;
23、在第n+1幀的起始時刻,通過所述第二線程渲染所述第二屏幕的第n+1幀的圖像數據,并對所述第二屏幕的第n+1幀的圖像數據進行校正,得到所述第二屏幕的第n+1幀的校正圖像數據,再對所述第二屏幕的第n+1幀的校正圖像數據進行背光調整處理,得到所述第二屏幕的第n+1幀的背光數據。
24、可選地,所述控制組件用于:
25、在第n幀的起始時刻,獲取預測的第三時刻的第五用戶姿態數據,并通過所述第二線程基于所述第五用戶姿態數據對所述第一屏幕的第n幀的圖像數據進行校正,得到所述第一屏幕的第n幀的校正圖像數據,所述第三時刻為所述第n幀的起始時刻后的時刻;
26、在第n幀的起始時刻后且間隔0.5/f的時刻,獲取預測的第四時刻的第六用戶姿態數據,并通過所述第二線程基于所述第五用戶姿態數據渲染所述第一屏幕的第n+1幀的圖像數據,所述第四時刻為所述第n+1幀的起始時刻后的時刻;
27、在第n幀的起始時刻,獲取預測的第五時刻的第七用戶姿態數據,并通過所述第一線程基于所述第七用戶姿態數據渲染所述第二屏幕的第n幀的圖像數據,再獲取預測的所述第五時刻的第八用戶姿態數據,并通過所述第一線程基于所述第八用戶姿態數據對所述第二屏幕的第n幀的圖像數據進行校正,得到所述第二屏幕的第n幀的校正圖像數據,所述第五時刻是所述第n幀的起始時刻后的時刻。
28、可選地,所述控制組件用于:
29、在第n+1幀的起始時刻,獲取預測的所述第四時刻的第九用戶姿態數據,并通過所述第一線程基于所述第九用戶姿態數據對所述第一屏幕的第n+1幀的圖像數據進行校正,得到所述第一屏幕的第n+1幀的校正圖像數據,并在第n+1幀的起始時刻后且間隔0.5/f的時刻,獲取預測的第六時刻的第十用戶姿態數據,再通過所述第一線程基于所述第十用戶姿態數據渲染所述第一屏幕的第n+1幀的圖像數據,所述第六時刻為所述第n+2幀的起始時刻后且間隔0.5/f的時刻后的時刻;
30、在第n+1幀的起始時刻,獲取預測的第七時刻的第十一用戶姿態數據,并通過所述第二線程基于所述第十一用戶姿態數據渲染所述第二屏幕的第n+1幀的圖像數據,再獲取預測的第七時刻的第十二用戶姿態數據,并通過所述第二線程基于所述第十二用戶姿態數據對所述第二屏幕的第n+1幀的圖像數據進行校正,得到所述第二屏幕的第n+1幀的校正圖像數據,所述第七時刻是所述第n+2幀的起始時刻后的時刻。
31、可選地,所述至少兩個線程包括第一線程以及第二線程,所述顯示單元包括第一屏幕以及第二屏幕;
32、所述控制組件還用于:
33、響應于所述渲染耗時位于第三時長范圍中,通過所述至少兩個線程基于第三模式依次執行所述顯示單元的數據處理任務,所述第三模式為所述第三時長范圍對應的模式,且所述第三模式中所述顯示單元的多個數據處理任務的執行次序,與所述第一模式以及所述第二模式中所述顯示單元的多個數據處理任務的執行次序不同;
34、所述第三時長范圍為1幀至2幀,所述第一屏幕的一幀畫面的渲染耗時以及所述第二屏幕的一幀畫面的渲染耗時均小于或者等于1幀。
35、可選地,所述控制組件用于:
36、在第n-1幀的起始時刻后且間隔0.5/f的時刻,通過所述第一線程渲染所述第一屏幕的第n幀的圖像數據,通過所述第一線程對所述第一屏幕的第n幀的圖像進行校正,得到所述第一屏幕的第n幀的校正圖像數據,再通過所述第一線程對所述第一屏幕的第n幀的校正圖像數據進行背光調整處理,得到所述第一屏幕的第n幀的背光數據;
37、在第n幀的起始時刻,通過所述第二線程渲染所述第二屏幕的第n幀的圖像數據,通過所述第二線程對所述第二屏幕的第n幀的圖像進行校正,得到所述第二屏幕的第n幀的校正圖像數據,再通過所述第二線程對所述第二屏幕的第n幀的校正圖像數據進行背光調整處理,得到所述第二屏幕的第n幀的背光數據。
38、可選地,所述控制組件用于:
39、在第n-1幀的起始時刻后且間隔0.5/f的時刻,獲取預測的第八時刻的第十三用戶姿態數據,并通過所述第一線程基于所述第十三用戶姿態數據渲染所述第一屏幕的第n幀的圖像數據,所述第八時刻為所述第n幀的起始時刻后的時刻;
40、在獲取所述第一屏幕的第n幀的圖像數據后,獲取預測的所述第八時刻的第十四用戶姿態數據,并通過所述第一線程基于所述第十用戶姿態數據對所述第一屏幕的第n幀的圖像進行校正,得到所述第一屏幕的第n幀的校正圖像數據。
41、可選地,所述控制組件用于:
42、在第n幀的起始時刻,獲取預測的第九時刻的第十五用戶姿態數據,并通過所述第一線程基于所述第十五用戶姿態數據渲染所述第二屏幕的第n幀的圖像數據,所述第九時刻為所述第八時刻之后的時刻;
43、在獲取所述第二屏幕的第n幀的圖像數據后,獲取預測的所述第九時刻的第十六用戶姿態數據,并基于所述第十六用戶姿態數據對所述第二屏幕的第n幀的圖像數據進行校正,得到所述第二屏幕的第n幀的校正圖像數據。
44、根據本技術實施例的另一方面,提供一種虛擬現實顯示裝置的控制方法,所述方法包括:
45、獲取渲染所述顯示單元的一幀畫面的渲染耗時;
46、響應于所述渲染耗時位于第一時長范圍中,通過至少兩個線程基于第一模式依次執行所述顯示單元的多個數據處理任務,所述多個數據處理任務包括所述屏幕的圖像數據的渲染任務以及對所述圖像數據的校正任務,所述第一模式為所述第一時長范圍對應的模式;
47、響應于所述渲染耗時位于第二時長范圍中,通過至少兩個線程基于第二模式依次執行所述顯示單元的數據處理任務,所述第二模式為所述第二時長范圍對應的模式,所述第二時長范圍的最小值大于所述第一時長范圍的最大值,且所述第二模式中所述顯示單元的多個數據處理任務的執行次序,與所述第一模式中所述顯示單元的多個數據處理任務的執行次序不同。
48、根據本技術實施例的另一方面,提供一種計算機存儲介質,所述計算機存儲介質中存儲有至少一條指令、至少一段程序、代碼集或指令集,所述至少一條指令、所述至少一段程序、所述代碼集或指令集由處理器加載并執行以實現上述的虛擬現實顯示裝置的控制方法。
49、本技術實施例提供的技術方案帶來的有益效果至少包括:
50、提供了一種包括控制組件以及顯示單元的虛擬現實顯示裝置,該控制組件可以獲取渲染顯示單元的一幀畫面的渲染耗時,并基于該渲染耗時的不同,通過至少兩個線程以不同的模式執行該顯示單元的多個數據處理任務,其中不同的模式中,至少兩個線程執行該顯示單元的多個數據處理任務的次序不同,提升了顯示時的靈活性,可以解決相關技術中虛擬現實顯示裝置在顯示時的靈活性較差的問題,實現了提升虛擬現實顯示裝置在顯示時的靈活性的效果。
51、另外,本技術實施例提供的虛擬現實顯示裝置中,由于控制組件可以基于渲染耗時的不同,來選擇不同的模式來實現顯示單元的多個數據處理任務,如此可以便于控制組件更為合理的安排各個數據處理任務,以實現降低屏幕延遲的效果。