TW202046741A - A method for performing client side latency enhancement, a host processor and a processing circuit thereof - Google Patents
A method for performing client side latency enhancement, a host processor and a processing circuit thereof Download PDFInfo
- Publication number
- TW202046741A TW202046741A TW109117630A TW109117630A TW202046741A TW 202046741 A TW202046741 A TW 202046741A TW 109117630 A TW109117630 A TW 109117630A TW 109117630 A TW109117630 A TW 109117630A TW 202046741 A TW202046741 A TW 202046741A
- Authority
- TW
- Taiwan
- Prior art keywords
- client device
- cloud game
- video content
- game server
- client
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006872 improvement Effects 0.000 claims description 15
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 description 13
- 238000009877 rendering Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/355—Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/90—Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
- A63F13/92—Video game devices specially adapted to be hand-held while playing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/20—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
- A63F2300/204—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/534—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/535—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
本發明總體上有關於圖像顯示,以及更具體地,有關於一種借助雲遊戲伺服器側圖像定像控制(image orientation control)執行客戶側延遲增強的方法與裝置,其中,該裝置可包含電子裝置的至少一部分(例如,部分或全部),例如,電子裝置中的主處理器、處理電路等。The present invention generally relates to image display, and more specifically, to a method and device for performing client-side delay enhancement by means of cloud game server-side image orientation control, wherein the device may include At least a part (for example, part or all) of the electronic device, for example, the main processor, processing circuit, etc. in the electronic device.
現代遊戲通常需要影像處理單元(GPU)的龐大GPU計算能力,以獲取出色並完整的場景渲染。更特別地,由於GPU上的特定類型渲染任務,會引入GPU的較重負載。當將遊戲設計為雲遊戲時,雲遊戲伺服器可準備雲遊戲的視訊內容並且透過視訊流將該視訊內容發送給客戶裝置(例如,多功能手機),從而由客戶裝置進行播放。然而,這樣會導致幾個問題。例如,對於橫屏模式的遊戲播放,客戶裝置可需要旋轉已緩存視訊資料,從而匹配顯示方向,並且因此可增加更多延遲與頻寬(BW)消耗。因此,需要一種新穎方法與相關聯架構,以提高運行雲遊戲的電子裝置的整體性能。Modern games usually require the huge GPU computing power of an image processing unit (GPU) to obtain excellent and complete scene rendering. More specifically, due to specific types of rendering tasks on the GPU, a heavier load on the GPU will be introduced. When the game is designed as a cloud game, the cloud game server may prepare the video content of the cloud game and send the video content to the client device (for example, a multi-function mobile phone) through the video stream, so as to be played by the client device. However, this can cause several problems. For example, for game playing in landscape mode, the client device may need to rotate the cached video data to match the display direction, and thus may increase more delay and bandwidth (BW) consumption. Therefore, a novel method and associated architecture is needed to improve the overall performance of electronic devices running cloud games.
為了解決上述問題,本發明的目標是提供一種借助雲遊戲伺服器側圖像方向控制執行客戶側延遲改善的方法,以及提供例如電子裝置或電子裝置中主處理器、處理電路等的相關聯裝置,以及雲遊戲伺服器。In order to solve the above-mentioned problems, the objective of the present invention is to provide a method for improving client-side delay through image direction control on a cloud game server, and to provide related devices such as electronic devices or main processors and processing circuits in electronic devices. , And cloud game server.
本發明的另一目標是提供一種借助雲遊戲伺服器側圖像方向控制執行客戶側延遲改善的方法,以及提供例如電子裝置或電子裝置中主處理器、處理電路等的相關聯裝置,以及雲遊戲伺服器,以改善電子裝置的整體性能。Another object of the present invention is to provide a method for performing client-side delay improvement by means of cloud game server-side image direction control, and to provide related devices such as electronic devices or main processors and processing circuits in electronic devices, and cloud Game server to improve the overall performance of electronic devices.
本發明的至少一個實施例提供一種客戶側延遲改善方法,借助雲遊戲伺服器側圖像方向控制。該方法包含:利用客戶裝置的至少一個方向相關感測器,檢測該客戶裝置的客戶裝置方向;利用該客戶裝置中的網路介面電路,向雲遊戲伺服器通知該客戶裝置方向;利用該雲遊戲伺服器依據該客戶裝置方向,提前為該客戶裝置生成雲遊戲的預旋轉視訊內容,用於透過視訊流輸出給該客戶裝置,其中,該預旋轉視訊內容對應該客戶裝置方向;以及利用該網路介面電路透過該視訊流接收該預旋轉視訊內容,並且將該預旋轉視訊內容緩存在視訊暫存器中,用於輸出至顯示面板並且在該顯示面板上顯示。At least one embodiment of the present invention provides a method for improving client-side delay, using cloud game server-side image direction control. The method includes: using at least one direction-related sensor of the client device to detect the direction of the client device of the client device; using the network interface circuit in the client device to notify the cloud game server of the direction of the client device; using the cloud According to the direction of the client device, the game server generates pre-rotation video content of the cloud game for the client device in advance for output to the client device through a video stream, wherein the pre-rotation video content corresponds to the direction of the client device; and The network interface circuit receives the pre-rotated video content through the video stream, and caches the pre-rotated video content in the video register for output to and display on the display panel.
本發明的至少一個實施例提供一種主處理器,位於電子裝置中並且借助雲遊戲伺服器側圖像方向控制執行客戶側延遲改善。該主處理器包含:核心電路、耦接核心電路的顯示介面電路以及匯流排界面電路。核心電路用於控制該主處理器,用於控制該電子裝置的操作,其中,將該電子裝置作為客戶裝置,並且在該核心電路的控制下,該主處理器執行該客戶裝置的交互控制,以借助雲遊戲伺服器側圖像方向控制執行客戶側延遲改善。此外,顯示介面電路用於將顯示面板耦接至該主處理器;以及匯流排界面電路用於透過匯流排將至少一個元件耦接至該主處理器,其中,該至少一個元件包含該客戶裝置中至少一個方向相關感測器。例如,該主處理器利用該至少一個方向相關感測器,檢測該客戶裝置的客戶裝置方向;該主處理器利用該客戶裝置中的網路介面電路,向雲遊戲伺服器通知該客戶裝置方向;該主處理器利用該雲遊戲伺服器依據該客戶裝置方向,提前為該客戶裝置生成雲遊戲的預旋轉視訊內容,用於透過視訊流輸出給該客戶裝置,其中,該預旋轉視訊內容對應該客戶裝置方向;以及該主處理器利用該網路介面電路透過該視訊流接收該預旋轉視訊內容,並且將該預旋轉視訊內容緩存在視訊暫存器中,用於輸出至該顯示面板並且在該顯示面板上顯示。At least one embodiment of the present invention provides a main processor that is located in an electronic device and performs client-side delay improvement by means of cloud game server-side image direction control. The main processor includes a core circuit, a display interface circuit coupled to the core circuit, and a bus interface circuit. The core circuit is used to control the main processor for controlling the operation of the electronic device, wherein the electronic device is used as a client device, and under the control of the core circuit, the main processor performs interactive control of the client device, With the help of cloud game server-side image direction control to implement client-side delay improvement. In addition, the display interface circuit is used to couple the display panel to the main processor; and the bus interface circuit is used to couple at least one element to the main processor through the bus, wherein the at least one element includes the client device In at least one direction related sensor. For example, the main processor uses the at least one direction-related sensor to detect the direction of the client device of the client device; the main processor uses the network interface circuit in the client device to notify the cloud game server of the direction of the client device ; The main processor uses the cloud game server to generate pre-rotation video content of the cloud game for the client device in advance according to the direction of the client device for output to the client device through a video stream, wherein the pre-rotation video content pair The direction of the client device; and the host processor uses the network interface circuit to receive the pre-rotated video content through the video stream, and caches the pre-rotated video content in the video register for output to the display panel and Display on this display panel.
依據許多實施例,本發明進一步提供包含上述主處理器的處理電路,其中,該處理電路進一步包含:該至少一個方向相關感測器;以及該網路介面電路。例如,該處理電路可包含該視訊暫存器,並且該視訊暫存器用於緩存訊框資訊,其中,該訊框資訊包含該預旋轉視訊內容。此外,該視訊暫存器實施為該主處理器的內部暫存器或外部暫存器。According to many embodiments, the present invention further provides a processing circuit including the above-mentioned main processor, wherein the processing circuit further includes: the at least one direction-related sensor; and the network interface circuit. For example, the processing circuit may include the video register, and the video register is used for buffering frame information, wherein the frame information includes the pre-rotated video content. In addition, the video register is implemented as an internal register or an external register of the main processor.
依據許多實施例,本發明進一步提供包含上述主處理器的電子裝置,其中,該電子裝置可包含處理電路與顯示面板。該處理電路可包含該主處理器、該至少一個方向相關感測器以及該網路介面電路。該顯示面板耦接該主處理器,用於顯示資訊。例如,該處理電路可包含該視訊暫存器,並且該視訊暫存器用於緩存訊框資訊,其中,該訊框資訊包含該預旋轉視訊內容。此外,該視訊暫存器實施為該主處理器的內部暫存器或外部暫存器。According to many embodiments, the present invention further provides an electronic device including the above-mentioned main processor, wherein the electronic device may include a processing circuit and a display panel. The processing circuit may include the main processor, the at least one direction-related sensor, and the network interface circuit. The display panel is coupled to the main processor for displaying information. For example, the processing circuit may include the video register, and the video register is used for buffering frame information, wherein the frame information includes the pre-rotated video content. In addition, the video register is implemented as an internal register or an external register of the main processor.
本發明的至少一個實施例提供一種雲遊戲伺服器,用於借助雲遊戲伺服器側圖像方向控制執行客戶側延遲改善。該雲遊戲伺服器可包含至少一個處理器(例如,一個或複數個處理器)與耦接上述至少一個處理器的網路介面電路。可安排至少一個處理器控制該雲遊戲伺服器的操作,其中,在該至少一個處理器的控制下,該雲遊戲伺服器執行遊戲控制並且選擇性執行客戶裝置的圖像旋轉,以借助該雲遊戲伺服器側圖像方向控制執行客戶側延遲改善。此外,可安排該網路介面電路透過至少一個網路將雲遊戲伺服器耦接至該客戶裝置。例如,該客戶裝置中的至少一個方向相關感測器配置為檢測該客戶裝置的客戶裝置方向;該客戶裝置配置為向該雲遊戲伺服器通知該客戶裝置方向;該雲遊戲伺服器配置為依據該客戶裝置方向,提前為該客戶裝置生成雲遊戲的預旋轉視訊內容,用於透過視訊流輸出給該客戶裝置,其中,該預旋轉視訊內容對應該客戶裝置方向;以及該客戶裝置配置為透過該視訊流接收該預旋轉視訊內容,並且將該預旋轉視訊內容緩存在視訊暫存器中,用於輸出至顯示面板並且在該顯示面板上顯示。At least one embodiment of the present invention provides a cloud game server for performing client-side delay improvement by means of image direction control on the cloud game server side. The cloud game server may include at least one processor (for example, one or more processors) and a network interface circuit coupled to the at least one processor. At least one processor may be arranged to control the operation of the cloud game server, wherein, under the control of the at least one processor, the cloud game server performs game control and selectively executes image rotation of the client device to use the cloud The game server side image direction control implements the client side delay improvement. In addition, the network interface circuit can be arranged to couple the cloud game server to the client device through at least one network. For example, at least one direction-related sensor in the client device is configured to detect the direction of the client device of the client device; the client device is configured to notify the cloud game server of the direction of the client device; the cloud game server is configured according to The direction of the client device generates pre-rotation video content of the cloud game for the client device in advance for output to the client device through a video stream, wherein the pre-rotation video content corresponds to the direction of the client device; and the client device is configured to pass through The video stream receives the pre-rotated video content, and caches the pre-rotated video content in a video register for output to and display on the display panel.
本發明方法與相關裝置(例如,電子裝置中的主處理器、處理電路等)可適當控制電子裝置的操作,並且更特別地,可請求雲遊戲伺服器提前為客戶裝置執行雲遊戲的視訊內容圖像旋轉,並且將圖像旋轉任務從客戶裝置卸載給雲遊戲伺服器,從而改善電子裝置的整體性能。例如,對於處於橫向模式播放的遊戲,客戶裝置無需旋轉已緩存視訊資料從而匹配顯示方向,並且因此可降低延遲與頻寬(BW)消耗。此外,在解決先前技術的問題時,實施本發明實施例不會大大增加額外成本。與傳統結構相比,在不引入任何副作用或不太可能引入副作用的情況下,本發明可取得電子裝置的最佳性能。The method and related devices of the present invention (for example, the main processor, processing circuit, etc. in the electronic device) can appropriately control the operation of the electronic device, and more particularly, can request the cloud game server to execute the video content of the cloud game for the client device in advance Image rotation, and offload the image rotation task from the client device to the cloud game server, thereby improving the overall performance of the electronic device. For example, for a game played in landscape mode, the client device does not need to rotate the cached video data to match the display direction, and thus can reduce latency and bandwidth (BW) consumption. In addition, when solving the problems of the prior art, the implementation of the embodiments of the present invention will not greatly increase additional costs. Compared with the traditional structure, the present invention can achieve the best performance of the electronic device without introducing any side effects or being unlikely to introduce side effects.
其它實施方式和優點在下面的詳細描述中描述。該發明內容並不打算限定本發明。本發明由申請專利範圍限定。Other embodiments and advantages are described in the detailed description below. This summary is not intended to limit the invention. The present invention is limited by the scope of patent application.
在說明書及申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬技術領域的技術人員應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及申請專利範圍並不以名稱的差異作為區分元件的方式,而是以元件在功能上的差異作為區分的準則。在通篇說明書及申請專利範圍項中所提及的「包含」為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述一個裝置耦接於另一裝置,則代表該裝置可直接電氣連接於該另一裝置,或透過其它裝置或連接手段間接地電氣連接至該另一裝置。Certain words are used in the specification and the scope of the patent application to refer to specific elements. Those skilled in the art should understand that hardware manufacturers may use different terms to refer to the same component. This specification and the scope of the patent application do not use differences in names as a way to distinguish elements, but use differences in functions of elements as a criterion. The "include" mentioned in the entire specification and the scope of patent application is an open term, so it should be interpreted as "include but not limited to". In addition, the term "coupling" here includes any direct and indirect electrical connection means. Therefore, if a device is described in the text as being coupled to another device, it means that the device can be directly electrically connected to the other device, or indirectly electrically connected to the other device through other devices or connecting means.
第1圖是依據本發明第一實施例的電子裝置100的示意圖,其中,為了更好理解也描述了雲遊戲伺服器10。電子裝置100的示例可包含,但不限於,多功能行動電話、平板電腦、可穿戴裝置、一體機與筆記型電腦。可使用電子裝置100作為伺服器(例如,雲遊戲伺服器10)的客戶裝置,以向使用者提供一個或複數個服務,並且特別地,可使用電子裝置100作為雲遊戲伺服器10的遊戲客戶裝置,以允許使用者玩一個或複數個雲遊戲。如第1圖的右上角所示,雲遊戲伺服器10可包含匯流排10B以及可統稱為處理器11的至少一個處理器(例如,一個或複數個處理器),並且該雲遊戲伺服器10可包含影像處理單元(GPU)12、隨機存取記憶體(RAM)(例如,動態RAM(DRAM)13)、網路介面電路14(為了簡化在第1圖中標為「網路IF CKT」),以及視訊轉碼器15(為了簡化在第1圖中標為「VENC」),其中,處理器11、GPU 12、DRAM 13、網路介面電路140與視訊轉碼器15可透過匯流排10B彼此耦接。例如,可安排雲遊戲伺服器10的至少一個存儲裝置(第1圖中未示出)存儲某些程式碼11P。程式碼11P的示例可包含,但不限於,作業系統(OS)、一個或複數個驅動器以及一個或複數個應用。處理器11可從存儲裝置載入程式碼11P,並且運行程式碼11P以控制雲遊戲伺服器10的操作。在運行程式碼11P的處理器11的控制下,雲遊戲伺服器10可執行遊戲控制,更特別地,可為客戶裝置(例如,電子裝置100)執行圖像定像控制,以借助雲遊戲伺服器側圖像定像控制來執行客戶側延遲優化(或延遲降低)。Fig. 1 is a schematic diagram of an electronic device 100 according to a first embodiment of the present invention, in which a
如第1圖所示,電子裝置100可包含處理電路105以及耦接處理電路105的顯示面板150,並且處理電路105可包含匯流排105B、主處理器110(例如,中央處理單元(CPU))以及可統稱為方向相關感測器120的至少一個方向相關感測器(例如,一個或複數個方向相關感測器),以及可包含RAM(例如,DRAM 130)與網路介面電路140(為了簡化在第1圖中標為「網路IF CKT」),特別地,主處理器110可包含核心電路112、顯示介面電路114(為了簡化在第1圖中標為「顯示IF CKT」)以及匯流排界面電路116,並且顯示面板150可包含顯示介面電路152(為了簡化在第1圖中標為「網路IF CKT」)、顯示控制器154與顯示模組(例如,液晶顯示(LCD)模組156),其中,主處理器110、方向相關感測器120、DRAM 130以及網路介面電路140可透過匯流排105B彼此耦接,並且顯示介面電路114與匯流排界面電路116可按照第1圖所示的方式耦接核心電路112,但本發明並不局限於此。依據某些實施例,第1圖所示的電子裝置100的結構可多種多樣。例如,可將顯示模組(例如,LCD模組156)與觸摸感應模組(未示出)集成在相同模組,以形成觸摸感應顯示裝置(例如,觸控式螢幕),並且觸摸感應顯示裝置可包含觸摸控制器,用於執行觸摸控制從而經由觸摸感應模組檢測使用者輸入。另外,可安排雲遊戲伺服器10的網路介面電路14與電子裝置100的網路介面電路140透過至少一個網路將雲遊戲伺服器10與電子裝置100彼此耦接。例如,網路介面電路140可包含遵循幾個通訊標準的複數個無線通訊電路(例如,Wi-Fi電路、行動網路電路等),用於執行電子裝置100的無線通訊。As shown in Figure 1, the electronic device 100 may include a processing circuit 105 and a
處理電路105(例如,主處理器110)與顯示面板150可透過顯示介面電路114與152彼此耦接,並且顯示介面電路114與152可實施為遵照特定標準的介面電路。例如,特定標準可為行動行業處理器介面(MIPI)聯盟的MIPI顯示序列介面(DSI)標準,並且顯示介面電路114與152可實施為DSI電路。因此,主處理器110(例如,核心電路112)可與顯示面板150進行通訊,用於執行電子裝置100的相關聯控制。此外,電子裝置100可進一步包含附加電路,例如,功率管理電路、存儲介面電路等(未示出),以將執行相關聯操作(例如,功率管理、存儲交互等)的能力提供給電子裝置100。此外,主處理器110(例如,核心電路112)可控制電子裝置100的各種操作。例如,主處理器110(例如,核心電路112)上運行的許多程式碼112P可控制電子裝置100,以使得電子裝置100配備各種功能。程式碼112P的示例可包含,但不限於OS、一個或複數個驅動器以及一個或複數個應用。The processing circuit 105 (for example, the main processor 110) and the
依據本實施例,可安排主處理器110執行關於雲遊戲的交互控制。特別地,可安排核心電路112控制主處理器110,用於控制電子裝置100的操作。在核心電路112的控制下,主處理器110可執行電子裝置100的顯示控制。例如,主處理器110(例如,核心電路112)可提前將顯示介面電路114的刷新率設定為目標刷新率,用於控制主處理器110依據預設目標刷新率向顯示面板150輸出圖像,並且當存在需求時可動態執行刷新率調整,其中,可安排顯示介面電路114控制從訊框暫存器(例如,DRAM 130中的視訊暫存器132)向顯示面板150輸出圖像的圖像資料的時序,但本發明並不局限於此。此外,可安排顯示介面電路114與152將顯示面板150與主處理器110耦接,並且從主處理器110向顯示面板150發送一個或複數個命令以及圖像資料。因此,顯示面板150可顯示電子裝置100的資訊(例如,圖像資料)。According to this embodiment, the main processor 110 can be arranged to perform interactive control on cloud games. In particular, the
程式碼112P的一個或複數個應用可包含雲遊戲的客戶應用(APP)。主處理器110(例如,核心電路112)可運行雲遊戲的客戶APP,以執行對於雲遊戲的交互控制。例如,雲遊戲伺服器10可向客戶裝置(例如,電子裝置100)發送雲遊戲的至少一個視訊流。在運行客戶APP的主處理器110(例如,核心電路112)的控制下,電子裝置100可為使用者接收並播放雲遊戲的視訊流,其中,視訊流可承載雲遊戲的圖像資料(例如,圖像訊框)以及相關聯音訊資料。運行客戶APP的主處理器110(例如,核心電路112)可利用電子裝置100的觸摸感應模組或觸控式螢幕檢測使用者控制,例如用戶觸摸行為(例如,用戶使用其手指在觸摸感應模組或觸控式螢幕上點擊、拖拉等),並且利用網路介面電路140透過網路向雲遊戲伺服器10發送使用者控制的使用者控制資訊。因此,回應於用戶控制,雲遊戲伺服器10可改變雲遊戲的圖像資料(例如,圖像訊框)與相關聯音訊資料。此外,運行客戶APP的主處理器110(例如,核心電路112)可利用方向相關感測器120執行電子裝置100的方向相關感應,從而分別在複數個時間點生成複數個方向檢測結果,並且利用網路介面電路140向雲遊戲伺服器10發送複數個時間點的各個方向檢測結果,作為遊戲客戶方向的即時回饋,其中,複數個方向檢測結果可分別在這些時間點指示客戶裝置(例如,電子裝置100)的客戶裝置方向。One or more applications of the
如第1圖所示,可安排顯示介面電路114將顯示面板150耦接主處理器110,並且可安排匯流排界面電路116透過匯流排105B將至少一個元件耦接主處理器110,其中,上述至少一個元件可包含方向相關感測器120、DRAM 130以及網路介面電路140,其中,DRAM 130可包含視訊暫存器132,並且因此可被認為是主處理器110的外部暫存器,但本發明並不局限於此。依據許多實施例,可將視訊暫存器132集成入主處理器110,並且特別地,可實施為主處理器110的內部暫存器。此外,匯流排界面電路116可符合特定通訊標準,以允許主處理器110與上述至少一個元件(例如,第1圖所示的方向相關感測器120與DRAM 130,以及視訊暫存器132,用於視訊暫存器132作為主處理器110的外部暫存器的情況)進行通訊。例如,方向相關感測器120、DRAM 130與網路介面電路140可分別在主處理器110的控制下進行工作。此外,視訊暫存器132可為RAM(例如,DRAM 130)中複數個緩存區域的一個。例如,可安排視訊暫存器132緩存訊框資訊。As shown in Figure 1, a
依據許多實施例,當存在需求時,第1圖所示的主處理器110中的電路可多種多樣。例如,顯示介面電路114與匯流排界面電路116可透過直接連接而彼此耦接。另一示例中,在主處理器110中,可將一個或複數個其他元件(例如,用於臨時存儲待輸出給顯示面板150的圖像資料的訊框暫存器)插入顯示介面電路114與匯流排界面電路116之間,並且顯示介面電路114與匯流排界面電路116可透過一個或複數個其他元件彼此耦接。According to many embodiments, when there is a demand, the circuits in the main processor 110 shown in FIG. 1 can be varied. For example, the
依據許多實施例,方向相關感測器120可包含陀螺儀、磁力儀與攝像頭的一個或組合。例如,依據方向相關感測器120的一個或複數個感應結果(例如,最新感應結果與歷史感應結果),運行客戶APP的主處理器110(例如,核心電路112)可執行感測器融合,以生成複數個方向檢測結果,但本發明並不局限於此。對於另一示例,運行客戶APP的主處理器110(例如,核心電路112)可借助攝像頭執行圖像檢測,特別地,可從攝像頭取得使用者的臉圖像,並且依據該臉圖像執行使用者的臉檢測,以生成複數個方向檢測結果。According to many embodiments, the direction-related
第2圖是依據本發明實施例的借助雲遊戲伺服器側圖像方向控制來執行客戶側延遲優化的方法流程圖。可將該方法應用於第1圖所示的電子裝置100與雲遊戲伺服器10,並且特別地,可將其應用於電子裝置100架構中的主處理器110(例如,運行程式碼112P的核心電路112)以及相關聯元件(例如,方向相關感測器120、DRAM 130與網路介面電路140),也應用於雲遊戲伺服器10架構中的運行程式碼11P的處理器11與相關聯元件(例如,GPU 12、DRAM 13、網路介面電路14以及視訊轉碼器15)。Figure 2 is a flowchart of a method for performing client-side delay optimization by means of cloud game server-side image direction control according to an embodiment of the present invention. This method can be applied to the electronic device 100 and the
在步驟S10,主處理器110可利用方向相關感測器120,檢測客戶裝置(例如,電子裝置100)的客戶裝置方向。依據該實施例,主處理器110可從方向相關感測器120獲取感應資訊,並且特別地,可從該方向相關感測器120(例如,運動、位置、地點與環境感測器)收集各種傳感資訊片段,並且可至少依據傳感資訊執行計算(例如,感測器融合),以確定該客戶裝置方向,其中,該傳感資訊可包含運動感應資訊、位置感應資訊、定位感應資訊與環境感應資訊的一個或組合。例如,使用者可按照複數個預定客戶裝置方向的一個方向(例如,複數個橫向的一個或者複數個縱向的一個)持有該客戶裝置(例如,電子裝置100),並且主處理器110可檢測電子裝置100的最新方向。In step S10, the main processor 110 may use the direction-related
在步驟S12,主處理器110可利用客戶裝置(例如,電子裝置100)中的網路介面電路140,向雲遊戲伺服器10通知該客戶裝置方向。依據該實施例,主處理器110可利用網路介面電路140向雲遊戲伺服器10發送方向索引,以向雲遊戲伺服器10通知該客戶裝置方向,其中,該方向索引可指示該客戶裝置方向。In step S12, the main processor 110 may use the network interface circuit 140 in the client device (for example, the electronic device 100) to notify the
在步驟S13,依據該客戶裝置方向(例如,從電子裝置100接收的方向索引),雲遊戲伺服器10(例如,運行程式碼11P的處理器11)可決定是否旋轉雲遊戲的一個或複數個圖像訊框。如果答案為是,進入步驟S14;如果答案為否,進入步驟S24。In step S13, according to the direction of the client device (for example, the direction index received from the electronic device 100), the cloud game server 10 (for example, the processor 11 running the
在步驟S14,主處理器110可利用雲遊戲伺服器10依據該客戶裝置方向提前為客戶裝置(例如,電子裝置100)旋轉雲遊戲的視訊內容(例如,一個或複數個圖像訊框),從而生成雲遊戲的預旋轉視訊內容,例如,對應客戶裝置方向的預旋轉視訊內容,以透過視訊流輸出給客戶裝置。例如,在視訊流期間,雲遊戲伺服器10可透過使用視訊轉碼器15編碼該預旋轉視訊內容,以生成預旋轉視訊內容的已編碼結果。In step S14, the main processor 110 may use the
在步驟S16,主處理器110可利用網路介面電路140透過視訊流接收該預旋轉視訊內容,並且將該預旋轉視訊內容緩存在該視訊暫存器132中,無需旋轉視訊暫存器132中緩存的預旋轉視訊內容,用於輸出至顯示面板150並且在顯示面板150上顯示。例如,在視訊流期間,客戶裝置(例如,電子裝置100)可解碼該已編碼結果(例如,透過使用主處理器110),以取得預旋轉視訊內容。In step S16, the main processor 110 may use the network interface circuit 140 to receive the pre-rotated video content through the video stream, and cache the pre-rotated video content in the
在步驟S24,在無需提前為客戶裝置(例如,電子裝置100)旋轉雲遊戲的視訊內容情況下,主處理器110可利用雲遊戲伺服器10依據客戶裝置方向準備(例如,生成)雲遊戲的視訊內容,用於透過視訊流輸出至客戶裝置。例如,在視訊流期間,雲遊戲伺服器10可透過使用視訊轉碼器15編碼該視訊內容,以生成視訊內容的已編碼結果。In step S24, without rotating the video content of the cloud game for the client device (for example, the electronic device 100) in advance, the main processor 110 can use the
在步驟S26,主處理器110可利用網路介面電路140透過視訊流接收視訊內容,並且將該視訊內容緩存在視訊暫存器132中,用於輸出至顯示面板150並且在顯示面板150上顯示。例如,在視訊流期間,客戶裝置(例如,電子裝置100)可解碼該已編碼結果(例如,透過使用主處理器110),以取得視訊內容。In step S26, the main processor 110 may use the network interface circuit 140 to receive the video content through the video stream, and buffer the video content in the
依據本實施例,可重複第2圖所示的流程中的某些操作,其中,步驟S13的最新決定結果可引導對應最新決定結果的相關聯操作的執行。隨著時間流逝,使用者可改變持有電子裝置100的方式,並且主處理器110可生成指示電子裝置100最新方向的最新方向檢測結果(例如,最新方向索引),以回應於最新方向檢測結果(例如,最新方向索引)使得電子裝置100進入該流程的子流程,例如,步驟S13、S14、S16的子流程或者步驟S13、S24、S26的子流程。According to this embodiment, some operations in the process shown in Fig. 2 can be repeated, wherein the latest decision result of step S13 can guide the execution of the associated operation corresponding to the latest decision result. As time passes, the user can change the way of holding the electronic device 100, and the main processor 110 can generate the latest direction detection result (for example, the latest direction index) indicating the latest direction of the electronic device 100 in response to the latest direction detection result (For example, the latest direction index) makes the electronic device 100 enter a sub-process of the process, for example, the sub-process of steps S13, S14, and S16 or the sub-process of steps S13, S24, and S26.
為了更好理解,可將該方法描述為第2圖所示的流程,但本發明並不局限於此。依據某些實施例,可在第2圖所示的流程中增加、刪除或改變一個或複數個步驟。For better understanding, this method can be described as the process shown in Figure 2, but the present invention is not limited to this. According to some embodiments, one or more steps can be added, deleted, or changed in the process shown in Figure 2.
依據某些實施例,不管是否首先生成步驟S14中提到的視訊內容(例如,一個或複數個視訊訊框),雲遊戲伺服器10可依據客戶裝置方向提前為客戶裝置(例如,電子裝置100)生成雲遊戲的預旋轉視訊內容,並且可在伺服器側完成旋轉動作,以生成對應客戶裝置方向的預旋轉視訊內容。上述內容可透過下列方式實現:1)利用雲遊戲伺服器10的GPU 12直接畫出對應客戶裝置方向的預旋轉視訊內容,或者2)首先生成雲遊戲的視訊內容(例如,一個或複數個圖像訊框)並且然後旋轉這些視訊內容,其中,雲遊戲伺服器10中的旋轉器(ROT)(例如,雲遊戲伺服器10的特定處理器(例如,主處理器110或GPU 12)上運行的程式模組(例如,ROT模組)或者雲遊戲伺服器10的專用硬體電路(例如,ROT電路))可執行旋轉這些視訊內容的操作,但本發明並不局限於此。此外,關於第2圖所示的流程,步驟S14的操作可多種多樣。例如,在利用雲遊戲伺服器10依據客戶裝置方向提前為客戶裝置(例如,電子裝置100)生成雲遊戲的預旋轉視訊內容期間,主處理器110可利用雲遊戲伺服器10(例如,GPU 12)直接生成對應客戶裝置方向的預旋轉視訊內容,無需首先生成雲遊戲的視訊內容(例如,一個或複數個圖像訊框),並且接著旋轉視訊內容。According to some embodiments, regardless of whether the video content (for example, one or more video frames) mentioned in step S14 is first generated, the
第3圖描述了依據本發明實施例的第2圖所示方法的控制方案,其中為了更好理解,也描述了具有額外旋轉從而增加更多延遲與頻寬(BW)消耗的情況。如第3圖左半部所示,在雲遊戲伺服器側準備的圖像訊框與在客戶側顯示的圖像訊框的各個座標平面的各個源點(簡化標為「O」)彼此不同,其中,眼睛符號可指示使用者觀看遊戲客戶裝置螢幕的方向。對於橫向模式播放的遊戲,該遊戲客戶裝置通常需要旋轉暫存器(尤其是,暫存器的已緩存視訊內容,例如該暫存器緩存的所有圖像訊框),以匹配顯示方向,並且因此增加了更多延遲與頻寬消耗(簡化標為「額外旋轉增加更多延遲與BW」)。例如,當旋轉暫存器(尤其是,暫存器的已緩存視訊內容)時,遊戲客戶裝置必須執行更多操作,例如,更多暫存器的存取(例如,讀與寫)操作,從而引起遊戲控制的更多延遲以及遊戲客戶裝置的一個或複數個內部資料路徑(例如,暫存器的一個或複數個輸入/輸出(I/O)路徑)的更多頻寬消耗。因此,可能會存在許多遊戲問題,例如,視訊落後於音訊、使用者控制的延遲圖像顯示等。Fig. 3 describes the control scheme of the method shown in Fig. 2 according to an embodiment of the present invention. For better understanding, it also describes a situation with extra rotation to increase more delay and bandwidth (BW) consumption. As shown in the left half of Figure 3, the source points (simplified as "O") of the coordinate planes of the image frame prepared on the cloud game server side and the image frame displayed on the client side are different from each other , Where the eye symbol can indicate the direction the user looks at the screen of the game client device. For games played in landscape mode, the game client device usually needs to rotate the register (especially, the cached video content of the register, such as all the image frames cached in the register) to match the display direction, and As a result, more delay and bandwidth consumption are added (simplified labeled "additional rotation adds more delay and BW"). For example, when rotating the register (especially the cached video content of the register), the game client device must perform more operations, for example, more register access (for example, read and write) operations, This causes more delays in game control and more bandwidth consumption of one or more internal data paths of the game client device (for example, one or more input/output (I/O) paths of the register). Therefore, there may be many game problems, such as video lagging behind audio, user-controlled delayed image display, etc.
如第3圖右半部所示,基於該實施例的控制方案,在雲遊戲伺服器側準備的圖像訊框與在客戶側顯示的圖像訊框的各個座標平面的各個源點(簡化標為「O」)相同,其中,眼睛符號可指示使用者觀看遊戲客戶裝置(依據該方法工作(例如,電子裝置100))的螢幕操作的方向。對於橫向模式播放的遊戲,該遊戲客戶裝置不需要旋轉暫存器(例如,視訊暫存器132)(尤其是,暫存器的已緩存視訊內容,例如該暫存器緩存的任意圖像訊框),並且因此降低了延遲與頻寬消耗(簡化標為「降低延遲與BW」)。例如,在步驟S31,遊戲客戶裝置可向雲遊戲伺服器10發送關於遊戲客戶方向(例如,最新方向檢測結果(例如,最新方向索引))的即時回饋(為了簡化標為「方向回饋」)。在遊戲渲染與編碼期間,雲遊戲伺服器10可利用GPU 12執行渲染,以在專用於雲遊戲的遊戲渲染的遊戲渲染暫存器(例如,DRAM 13中的緩存區域)中生成雲遊戲的視訊內容,並且更特別地,在步驟S32中,例如,可透過使用處理器11或GPU 12,依據遊戲客戶裝置的回饋,預旋轉遊戲渲染暫存器中的視訊內容(例如,上述至少一個視訊流的視訊流內容)(為了簡化標為「預旋轉」),並且可進一步利用視訊轉碼器15編碼視訊內容,以生成視訊內容的已編碼結果。既然視訊內容應已經匹配遊戲客戶裝置的方向,所以在步驟S33,遊戲客戶裝置可直接播放視訊內容,無需額外旋轉(為了簡化標為「無需額外旋轉情況下播放」)。因此,可降低延遲與頻寬消耗。As shown in the right half of Figure 3, based on the control scheme of this embodiment, the source points of the image frames prepared on the cloud game server side and the image frames displayed on the client side (simplified Marked as "O") is the same, where the eye symbol can indicate the direction in which the user views the screen operation of the game client device (working according to this method (for example, the electronic device 100)). For games played in landscape mode, the game client device does not need to rotate the register (for example, the video register 132) (especially, the buffered video content of the register, such as any image information buffered by the register) Box), and therefore reduces latency and bandwidth consumption (simplified labelled as "reduced latency and BW"). For example, in step S31, the game client device may send real-time feedback about the game client's direction (for example, the latest direction detection result (for example, the latest direction index)) to the cloud game server 10 (labeled as “direction feedback” for simplicity). During game rendering and encoding, the
依據某些實施例,在雲遊戲的遊戲渲染期間,雲遊戲伺服器10可利用GPU 12在遊戲渲染暫存器中直接生成雲遊戲的預旋轉視訊內容,以回應于遊戲客戶方向(例如,最新方向檢測結果(例如,最新方向索引))的即時回饋,其中,預旋轉視訊內容對應最新客戶裝置方向,但本發明並不局限於此。According to some embodiments, during the game rendering of the cloud game, the
第4圖描述了依據本發明實施例的第3圖所示控制方案的許多實施細節,其中,可將90度方向作為複數個橫向的示例。拿安卓OS作為程式碼112P的OS的示例,在程式碼112P中的多層軟體模組中的低層軟體模組可提供獲取當前螢幕方向的功能,如下所示:Fig. 4 describes many implementation details of the control scheme shown in Fig. 3 according to an embodiment of the present invention, where the 90-degree direction can be taken as a plurality of lateral examples. Taking the Android OS as an example of the OS with the
//Get current screen orientation Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); int orientation = display.getOrientation();//Get current screen orientation Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay(); int orientation = display.getOrientation();
本發明並不局限於此。例如,對於其他類型OS,功能可多種多樣。The present invention is not limited to this. For example, for other types of OS, the functions can be diverse.
在步驟S40,客戶APP可從軟體模組的較低層(為了簡化在第4圖中標為「安卓」)獲取當前螢幕方向。在運行客戶APP的主處理器110(例如,核心電路112)的控制下,在步驟S41,遊戲客戶裝置(例如,類似電子裝置100的客戶裝置)可生成方向暗示,以指示當前螢幕方向是遊戲客戶方向的即時回饋(例如,類似最新方向索引的最新方向檢測結果),並且在步驟S42向雲遊戲伺服器10發送方向暗示。此外,在步驟S43,雲遊戲伺服器10可依據方向暗示生成例如預旋轉視訊內容的已旋轉遊戲內容(例如,透過使用GPU 12生成視訊內容並且接著將其進行旋轉以生成已旋轉遊戲內容),以生成預旋轉視訊內容(為了更好理解標為「ROT」),用於視訊轉碼器15進行編碼(為了簡化標為「VENC」),並且可在步驟S44向遊戲客戶裝置發送上述至少一個視訊流(例如,在本實施例中承載已旋轉遊戲內容的視訊流),用於在客戶側直接播放。In step S40, the client APP can obtain the current screen orientation from the lower layer of the software module (marked as "Android" in Figure 4 for simplicity). Under the control of the main processor 110 (for example, the core circuit 112) running the client APP, in step S41, the game client device (for example, a client device similar to the electronic device 100) may generate a direction hint to indicate that the current screen direction is a game Real-time feedback of the client's direction (for example, the latest direction detection result similar to the latest direction index), and a direction hint is sent to the
依據許多實施例,步驟S43的操作可多種多樣。例如,在依據方向暗示生成預旋轉視訊內容期間,雲遊戲伺服器10可利用GPU 12直接生成對應當前螢幕方向的預旋轉視訊內容。According to many embodiments, the operation of step S43 can be varied. For example, during the generation of the pre-rotated video content based on the direction hint, the
第5圖描述了依據本發明另一實施例的第3圖所示控制方案的幾個實施細節,其中,可將270度方向作為複數個橫向的另一示例。除了使用270度方向替換90度方向,步驟S40-S44的操作幾乎與第4圖所示實施例的操作相同。為了簡化,不重複本實施例的相似描述細節。Fig. 5 describes several implementation details of the control scheme shown in Fig. 3 according to another embodiment of the present invention, in which the 270 degree direction can be taken as another example of plural lateral directions. Except that the 270-degree direction is used instead of the 90-degree direction, the operations of steps S40-S44 are almost the same as those of the embodiment shown in FIG. 4. For simplicity, similar description details of this embodiment are not repeated.
依據許多實施例,在第一時刻,步驟S10中提到的客戶裝置方向可代表客戶裝置的第一客戶裝置方向(例如,90度方向),因此回應於最新方向檢測結果(例如,最新方向索引),可執行步驟S14與S16的操作。在第二時刻,在步驟S10,主處理器110可利用方向相關感測器120檢測客戶裝置的第二客戶裝置方向(例如,270度方向),其中,例如電子裝置100的客戶裝置可已經從第一客戶裝置方向旋轉為第二客戶裝置方向。接著,在步驟S12,主處理器110可利用網路介面電路140向雲遊戲伺服器10通知第二客戶裝置方向。因此,進入步驟S13、S14與S16的子流程。更特別地,主處理器110可利用雲遊戲伺服器10依據第二客戶裝置方向提前為客戶裝置(例如,電子裝置100)旋轉雲遊戲的其他視訊內容(例如,對應第二時刻或從第二時刻開始的第二時間段的第二視訊內容,而不是對應第一時刻或第一時刻與第二時刻之間第一時間段的第一視訊內容),以生成雲遊戲的其他預旋轉視訊內容(例如,對應第二時刻或第二時間段的第二預旋轉視訊內容,而不是對應第一時刻或第一時間段的第一預旋轉視訊內容),用於透過視訊流輸出至客戶裝置,其中,其他預旋轉視訊內容對應第二客戶裝置方向。此外,主處理器110可利用網路介面電路140透過視訊流接收其他預旋轉視訊內容,並且將該其他預旋轉視訊內容緩存在視訊緩衝器132中,用於輸出至顯示面板150並且在顯示面板150中進行顯示。以第4圖與第5圖所示實施例作為示例,這些實施例的第一客戶裝置方向與第二客戶裝置方向可屬於客戶裝置的複數個橫向方向,並且可分別在不同時刻(例如,第一時刻與第二時刻)檢測到。According to many embodiments, at the first moment, the client device direction mentioned in step S10 may represent the client device's first client device direction (for example, a 90-degree direction), and therefore respond to the latest direction detection result (for example, the latest direction index). ), the operations of steps S14 and S16 can be performed. At the second moment, in step S10, the main processor 110 may use the direction-related
依據許多實施例,利用雲遊戲伺服器10依據第二客戶裝置方向提前為客戶裝置(例如,電子裝置100)旋轉雲遊戲的其他視訊內容以生成雲遊戲的其他預旋轉視訊內容的上述操作可多種多樣。例如,在利用雲遊戲伺服器10依據第二客戶裝置方向提前為客戶裝置(例如,電子裝置100)生成雲遊戲的其他預旋轉視訊內容(例如,對應第二時刻或第二時間段的第二預旋轉視訊內容)期間,主處理器110可利用雲遊戲伺服器10(例如,GPU 12)直接生成對應第二客戶裝置方向的其他預旋轉視訊內容,無需首先生成雲遊戲的其他視訊內容(例如,對應第二時刻或開始於第二時刻的時間段的第二視訊內容)以及將其進行旋轉。According to many embodiments, the above operations of using the
第6圖描述了依據本發明另一實施例的第3圖所示控制方案的許多實施細節,其中,0度方向可作為複數個縱向的示例。除了使用0度方向替換90度方向以及可改變雲遊戲在縱向模式中運行,步驟S40-S42以及S44的操作幾乎與第4圖所示實施例的操作相同。由於在雲遊戲伺服器側準備的圖像訊框與在客戶側顯示的圖像訊框的各個座標平面的各個源點(簡化標為「O」)彼此相同,所以無需選裝在雲遊戲側準備的圖像訊框,並且因此使用步驟S43’替代步驟S43以對應這種情況。例如,步驟S24所示,雲遊戲伺服器10可依據步驟S43中的方向暗示,利用GPU 12生成例如視訊內容的未旋轉遊戲內容,用於視訊轉碼器15進行編碼(簡化標為「VENC」),並且可在步驟S44向遊戲客戶裝置發送上述至少一個視訊流(例如,在該實施例中承載不旋轉遊戲內容的視訊流),用於客戶側直接播放。為了簡化,不重複該實施例的相似描述細節。Fig. 6 describes many implementation details of the control scheme shown in Fig. 3 according to another embodiment of the present invention, in which the 0 degree direction can be taken as an example of a plurality of longitudinal directions. Except that the 0-degree direction is used instead of the 90-degree direction and the cloud game can be changed to run in the portrait mode, the operations of steps S40-S42 and S44 are almost the same as those of the embodiment shown in FIG. 4. Since the source points of the coordinate planes of the image frame prepared on the cloud game server side and the image frame displayed on the client side (simplified as "O") are the same as each other, there is no need to install it on the cloud game side. Prepare the image frame, and therefore use step S43' instead of step S43 to correspond to this situation. For example, as shown in step S24, the
第7圖描述了依據本發明另一實施例的第3圖所示控制方案的許多實施細節,其中,可將180度方向作為複數個縱向的另一示例。除了使用180度方向替換90度方向以及可改變雲遊戲在縱向模式中運行,步驟S40-S44的操作幾乎與第4圖所示實施例的操作相同。為了簡化,不重複本實施例的相似描述細節。Fig. 7 describes many implementation details of the control scheme shown in Fig. 3 according to another embodiment of the present invention, in which the 180-degree direction can be taken as another example of plural longitudinal directions. Except that the 180-degree direction is used instead of the 90-degree direction and the cloud game can be changed to run in the portrait mode, the operations of steps S40-S44 are almost the same as those of the embodiment shown in FIG. 4. For simplicity, similar description details of this embodiment are not repeated.
依據許多實施例,在第一時刻,步驟S10中提到的客戶裝置方向可代表客戶裝置的第一客戶裝置方向(例如,180度方向),因此回應於最新方向檢測結果(例如,最新方向索引),可執行步驟S14與S16的操作。在第二時刻,在步驟S10,主處理器110可利用方向相關感測器120檢測客戶裝置的第二客戶裝置方向(例如, 0度方向),其中,例如電子裝置100的客戶裝置可已經從第一客戶裝置方向旋轉為第二客戶裝置方向。接著,在步驟S12,主處理器110可利用網路介面電路140向雲遊戲伺服器10通知第二客戶裝置方向。因此,進入步驟S13、S24與S26的子流程。更特別地,主處理器110可利用雲遊戲伺服器10依據第二客戶裝置方向準備(例如,生成)雲遊戲的其他視訊內容(例如,對應第二時刻或從第二時刻開始的第二時間段的第二視訊內容,而不是對應第一時刻或第一時刻與第二時刻之間第一時間段的第一視訊內容),無需提前為客戶裝置(例如,電子裝置100)旋轉雲遊戲的其他視訊內容,用於透過視訊流輸出至客戶裝置。此外,主處理器110可利用網路介面電路140透過視訊流接收其他視訊內容,並且將該其他視訊內容緩存在視訊緩衝器132中,用於輸出至顯示面板150並且在顯示面板150中進行顯示。以第6圖與第7圖所示實施例作為示例,這些實施例的第一客戶裝置方向與第二客戶裝置方向可屬於客戶裝置的複數個縱向方向,並且可分別在不同時刻(例如,第一時刻與第二時刻)檢測到。According to many embodiments, at the first moment, the direction of the client device mentioned in step S10 may represent the first client device direction of the client device (for example, a 180 degree direction), and therefore respond to the latest direction detection result (for example, the latest direction index) ), the operations of steps S14 and S16 can be performed. At the second moment, in step S10, the main processor 110 may use the direction-related
第8圖是依據本發明另一實施例的電子裝置示意圖。與第1圖所示結構相比,將內部記憶體118插入顯示介面電路114與匯流排界面電路116之間,從而替換上述訊框緩衝器臨時存儲待輸出至顯示面板150的圖像資料。回應於結構改變,相應改變許多標號。例如,可分別使用主處理器210、處理電路205以及電子裝置200代替上述主處理器110、處理電路105以及電子裝置100。為了簡化,不重複本實施例的相似描述細節。FIG. 8 is a schematic diagram of an electronic device according to another embodiment of the invention. Compared with the structure shown in FIG. 1, the
雖然已經透過示例並且按照優選實施方式描述了本發明,但是要理解的是,本發明不限於此。熟悉該技術的人仍然能夠在不脫離本發明的範圍與精神的情況下進行各種變更與修改。因此,本發明的範圍應當由所附的申請專利範圍及其等同物限定與保護。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。Although the present invention has been described through examples and according to preferred embodiments, it is to be understood that the present invention is not limited thereto. Those familiar with the technology can still make various changes and modifications without departing from the scope and spirit of the present invention. Therefore, the scope of the present invention should be limited and protected by the scope of the attached patent application and its equivalents. The foregoing descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made in accordance with the scope of the patent application of the present invention shall fall within the scope of the present invention.
100,200:電子裝置
105,205:處理電路
105B:匯流排
110,210:主處理器
112:核心電路
112P:程式碼
114:顯示介面電路
116:匯流排界面電路
120:方向相關感測器
130:DRAM
132:視訊緩衝器
140:網路介面電路
150:顯示面板
152:顯示介面電路
154:顯示控制器
156:LCD模組
10:雲遊戲伺服器
11:處理器
12:GPU
13:DRAM
14:網路介面電路
15:視訊轉碼器
10B:匯流排
11P:程式碼
118:內部記憶體
S31,S32,S33,S40,S41,S42,S43,S44,S43’,S10,S12,S13,S14,S16,S24,S26:步驟100,200: electronic device
105,205: processing
附圖說明透過示例而非限制的方式描述本發明,其中,相同的附圖標記標識相似元件。應當注意的是,本發明中對一個實施例的不同參考並不一定是相同實施例,並且這種參考意味著至少一個。此外,當結合實施例描述特定特徵、結構或特性時,無論是否明確描述,主張本領域技術人員獲知結合其他實施例的該特徵、結構或特性。 第1圖是依據本發明第一實施例的電子裝置示意圖,其中,為了更好理解也描述了雲遊戲伺服器。 第2圖是依據本發明實施例的借助雲遊戲伺服器側圖像方向控制來執行客戶側延遲優化的方法流程圖。 第3圖描述了依據本發明實施例的第2圖所示方法的控制方案。 第4圖描述了依據本發明實施例的第3圖所示控制方案的許多實施細節。 第5圖描述了依據本發明另一實施例的第3圖所示控制方案的幾個實施細節。 第6圖描述了依據本發明另一實施例的第3圖所示控制方案的許多實施細節。 第7圖描述了依據本發明另一實施例的第3圖所示控制方案的許多實施細節。 第8圖是依據本發明另一實施例的電子裝置示意圖。BRIEF DESCRIPTION OF THE DRAWINGS The present invention is described by way of example rather than limitation, wherein the same reference numerals identify similar elements. It should be noted that different references to one embodiment in the present invention are not necessarily the same embodiment, and such references mean at least one. In addition, when describing a particular feature, structure, or characteristic in combination with an embodiment, whether or not it is explicitly described, it is recommended that those skilled in the art know the feature, structure, or characteristic in combination with other embodiments. Figure 1 is a schematic diagram of an electronic device according to a first embodiment of the present invention, in which a cloud game server is also described for better understanding. Figure 2 is a flowchart of a method for performing client-side delay optimization by means of cloud game server-side image direction control according to an embodiment of the present invention. Figure 3 illustrates the control scheme of the method shown in Figure 2 according to an embodiment of the present invention. Figure 4 describes many implementation details of the control scheme shown in Figure 3 according to an embodiment of the present invention. Figure 5 describes several implementation details of the control scheme shown in Figure 3 according to another embodiment of the present invention. Figure 6 illustrates many implementation details of the control scheme shown in Figure 3 according to another embodiment of the present invention. Figure 7 depicts many implementation details of the control scheme shown in Figure 3 according to another embodiment of the present invention. FIG. 8 is a schematic diagram of an electronic device according to another embodiment of the invention.
S10,S12,S13,S14,S16,S24,S26:步驟 S10, S12, S13, S14, S16, S24, S26: steps
Claims (10)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962854379P | 2019-05-30 | 2019-05-30 | |
US62/854,379 | 2019-05-30 | ||
US16/882,764 US20200376375A1 (en) | 2019-05-30 | 2020-05-26 | Method and apparatus for performing client side latency enhancement with aid of cloud game server side image orientation control |
US16/882,764 | 2020-05-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202046741A true TW202046741A (en) | 2020-12-16 |
TWI755742B TWI755742B (en) | 2022-02-21 |
Family
ID=73507194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109117630A TWI755742B (en) | 2019-05-30 | 2020-05-27 | A method for performing client side latency enhancement, a host processor and a processing circuit thereof |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112007357A (en) |
TW (1) | TWI755742B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112843676B (en) * | 2021-01-12 | 2023-04-18 | 腾讯科技(深圳)有限公司 | Data processing method, device, terminal, server and storage medium |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8793393B2 (en) * | 2011-11-23 | 2014-07-29 | Bluespace Corporation | Video processing device, video server, client device, and video client-server system with low latency thereof |
US9357272B2 (en) * | 2012-08-03 | 2016-05-31 | Intel Corporation | Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation |
CN103023872B (en) * | 2012-11-16 | 2016-01-06 | 杭州顺网科技股份有限公司 | A kind of cloud game service platform |
US10242462B2 (en) * | 2013-04-02 | 2019-03-26 | Nvidia Corporation | Rate control bit allocation for video streaming based on an attention area of a gamer |
US20160365114A1 (en) * | 2015-06-11 | 2016-12-15 | Yaron Galant | Video editing system and method using machine learning |
US10238965B2 (en) * | 2016-04-28 | 2019-03-26 | Sony Interactive Entertainment America Llc | Cloud gaming device handover |
US20180014049A1 (en) * | 2016-07-08 | 2018-01-11 | Tastemade, Inc. | Orientation Based, Aspect Ratio Switching Video Playback System |
CN106390449A (en) * | 2016-09-19 | 2017-02-15 | 南京工业大学 | A cloud game framework based on the graphical virtualization technology |
US10445925B2 (en) * | 2016-09-30 | 2019-10-15 | Sony Interactive Entertainment Inc. | Using a portable device and a head-mounted display to view a shared virtual reality space |
-
2020
- 2020-05-27 TW TW109117630A patent/TWI755742B/en active
- 2020-05-28 CN CN202010465874.XA patent/CN112007357A/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
TWI755742B (en) | 2022-02-21 |
CN112007357A (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200376375A1 (en) | Method and apparatus for performing client side latency enhancement with aid of cloud game server side image orientation control | |
KR101713177B1 (en) | System and method for virtual displays | |
JP5060489B2 (en) | Multi-user terminal service promotion device | |
JP5129151B2 (en) | Multi-user display proxy server | |
EP3046331B1 (en) | Media control method and system based on cloud desktop | |
JP5451397B2 (en) | An architecture for delivering video content in response to remote interaction | |
JP5636111B2 (en) | Technology to send instructions to the target device | |
WO2021057448A1 (en) | Information display method and apparatus | |
US20170109861A1 (en) | Server-Based Fast Remote Display on Client Devices | |
KR20090106454A (en) | Stateful browsing | |
JP2009245376A (en) | Information processing apparatus | |
US20140108940A1 (en) | Method and system of remote communication over a network | |
WO2021164004A1 (en) | Reduced display processing unit transfer time to compensate for delayed graphics processing unit render time | |
US9521190B2 (en) | Dynamic session transformation | |
WO2020042769A1 (en) | Image information transmission method and apparatus, and storage medium and electronic device | |
US10089019B2 (en) | Minimizing latency from peripheral devices to compute engines | |
CN109302563B (en) | Anti-shake processing method and device, storage medium and mobile terminal | |
TWI755742B (en) | A method for performing client side latency enhancement, a host processor and a processing circuit thereof | |
US8984540B2 (en) | Multi-user computer system | |
US11140216B2 (en) | Dynamically providing host input control for streaming applications | |
KR101749891B1 (en) | METHOD OF CONTROLLING FRAME RATE BASED ON Resource Status AND APPARATUS FOR CLOUD STREAMING SERVICE | |
US8984167B1 (en) | Real-time frame streaming from remote graphics processing unit | |
US20180061103A1 (en) | Systems and Methods for Generating Display Views Tracking User Head Movement for Head-Mounted Display Devices | |
KR20150044697A (en) | Method for rotating documet and an electronic device | |
US20210339139A1 (en) | Rendering video game on display device using gpu in display device and video game data from second device |