TW202343379A - 用於遊戲迴圈的影像處理裝置及影像處理方法 - Google Patents
用於遊戲迴圈的影像處理裝置及影像處理方法 Download PDFInfo
- Publication number
- TW202343379A TW202343379A TW112115244A TW112115244A TW202343379A TW 202343379 A TW202343379 A TW 202343379A TW 112115244 A TW112115244 A TW 112115244A TW 112115244 A TW112115244 A TW 112115244A TW 202343379 A TW202343379 A TW 202343379A
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- game
- module
- image processing
- motion compensation
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 97
- 238000003672 processing method Methods 0.000 title claims abstract description 36
- 238000009877 rendering Methods 0.000 claims abstract description 38
- 238000002156 mixing Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 15
- VJTAZCKMHINUKO-UHFFFAOYSA-M chloro(2-methoxyethyl)mercury Chemical compound [Cl-].COCC[Hg+] VJTAZCKMHINUKO-UHFFFAOYSA-M 0.000 claims 2
- 238000000034 method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 13
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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/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/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/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Optics & Photonics (AREA)
- Processing Or Creating Images (AREA)
Abstract
一種影像處理方法,用於一遊戲的一遊戲迴圈。該遊戲迴圈包含一遊戲繪製模組以及一動態補償模組,由多於一個處理單元執行以生成一輸出影像。該影像處理方法包含由該遊戲繪製模組繪製該遊戲之一場景,以取得一第一影像;由該遊戲繪製模組繪製一使用者介面,以取得一第二影像;由該動態補償模組對該第一影像進行動態補償,以生成一內插的第一影像;以及由該動態補償模組合成該第二影像以及該內插的第一影像為用於顯示的該輸出影像。
Description
本發明係指一種用於遊戲迴圈(game loop)的影像處理裝置及影像處理方法,尤指一種透過拆解遊戲迴圈以達到理想之動態補償(Motion Estimation and Motion Compensation,MEMC)效果的影像處理裝置及影像處理方法。
遊戲迴圈是在整個遊戲過程中連續運行的一系列程序。傳統上,遊戲迴圈可分為三個不同的階段,分別是處理輸入、更新遊戲狀態以及繪製遊戲內容的階段。需繪製的遊戲內容通常是2D或3D的主場景以及2D的使用者介面(UI)的組合。在繪製遊戲內容的階段,一般會先繪製主場景,再疊加上2D的使用者介面,以生成用於顯示的最終影像。
動態補償(Motion Estimation and Motion Compensation,MEMC)為視訊處理中的一種技術,其計算兩個連續訊框(frame)之間對應位置的運動向量(motion vector),並生成一個額外的估計的訊框以提高畫面更新率。MEMC演算法現在已被廣泛應用於視訊顯示、遊戲動畫等諸多領域,用以創造更流暢的視覺體驗。然而,目前MEMC演算法在遊戲動畫中的應用未如預期般理想,尤其是在主場景以及使用者介面的結合上。這是因為使用者介面與遊戲的主場景的特性不同,相較於主場景,使用者介面通常是沒有運動(motion)的靜態畫面,因此不需要進行內插(interpolation)或外推(extrapolation)。
如前所述,要將MEMC演算法同時應用到動態的背景(主場景)以及固定的使用者介面上是有難度的。若要在此情況下應用MEMC演算法,需將使用者介面與背景先行分離,而此方法可能涉及遊戲循環或遊戲引擎的修改。對於開發能力有限的遊戲工作室來說,修改遊戲引擎將是一項無比艱鉅的任務,因此,需要一個可行的解決方案來解決此問題。
有鑒於此,本發明的目的即在於提供一種修改遊戲迴圈以分離主場景以及使用者介面的方法,藉此使MEMC演算法的應用能夠在遊戲畫面上達到理想的效果。
本發明實施例揭露一種影像處理方法,用於一遊戲的一遊戲迴圈。該遊戲迴圈包含一遊戲繪製模組以及一動態補償模組,由多於一個處理單元執行以生成一輸出影像。該影像處理方法包含由該遊戲繪製模組繪製該遊戲之一場景,以取得一第一影像;由該遊戲繪製模組繪製一使用者介面,以取得一第二影像;由該動態補償模組對該第一影像進行動態補償,以生成一內插的第一影像;以及由該動態補償模組合成該第二影像以及該內插的第一影像為用於顯示的該輸出影像。
本發明實施例另揭露一種影像處理裝置,包含多於一個處理單元以及一儲存單元。該多於一個處理單元,用於執行一遊戲的一遊戲迴圈以及生成一用於顯示之一輸出影像。該儲存單元,耦接於該多於一個處理單元,用於儲存該遊戲迴圈之一程式碼,其中該遊戲迴圈包含一遊戲繪製模組以及一動態補償模組,用於指示該多於一個處理單元執行一影像處理方法。該影像處理方法包含由該遊戲繪製模組繪製該遊戲之一場景,以取得一第一影像;由該遊戲繪製模組繪製一使用者介面,以取得一第二影像;由該動態補償模組對該第一影像進行動態補償,以生成一內插的第一影像;以及由該動態補償模組合成該第二影像以及該內插的第一影像為用於顯示的該輸出影像。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來做為區分元件的方式,而是以元件在功能上的差異來做為區分的準則。在通篇說明書及後續的申請專利範圍當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。以外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
請參考第1圖,第1圖為用於處理遊戲之一系統1之示意圖。系統1透過傳統的方法於遊戲中應用MEMC演算法,其包含一處理單元10、一圖形處理器(Graphics Processing Unit,GPU)12、一MEMC晶片14以及一顯示單元16。處理單元10執行一遊戲迴圈並指示圖形處理器12繪製(render)遊戲迴圈所需之影像。具體來說,處理單元10指示圖形處理器12繪製遊戲場景之一影像以及使用者介面的一影像;圖形處理器12則依照指示繪製兩個影像,並合成(blend)使用者介面之影像以及場景之影像,以生成一混合圖像。請參考第2圖,其為由系統1所處理之遊戲之一主場景影像20、一使用者介面影像22以及一混合影像24的示意圖。在第2圖中,主場景影像20透過2D或3D繪製取得,其為構成遊戲的動態場景的多個連續訊框之一,隨著遊戲的進行,主場景影像20的內容會持續地更新。使用者介面影像22為具有不透明度(opacity)之影像,其提供用於調整遊戲配置的使用者界面,相較於主場景影像20,使用者介面影像22通常具有靜態的內容。混合影像24為透過透明度混和(alpha blending)合成之主場景影像20以及使用者介面影像22,且為呈現給使用者之一最終影像。換句話說,圖形處理器12依照處理單元10之指示繪製主場景影像20以及使用者介面影像22,並根據主場景影像20以及使用者介面影像22生成混合影像24。接著,MEMC晶片14直接對混合影像24執行MEMC演算法以生成輸出至顯示單元16之一內插訊框。
在系統1中,遊戲迴圈通常透過處理單元10由一遊戲應用程式運行。利用遊戲引擎提供的現有開發工具,遊戲工作室無需考慮如電腦繪圖以及視覺優化等畫面顯示演算法的細節,即可有效率地進行遊戲應用程式的開發。在此情況下,MEMC晶片14只能取得混合影像24而不能分別取得主場景影像20以及使用者介面影像22,造成只能對從圖形處理器12取得的疊加影像(即混合影像24)執行MEMC演算法的情況,從而導致使用者介面影像22中的使用者介面組件失真變形(distortion)。
有鑑於此,本發明提出於遊戲的遊戲迴圈中執行MEMC演算法的一影像處理系統以及一影像處理方法。該影像處理方法透過對遊戲迴圈進行小幅度的修改以解決上述問題,藉此,具有動態內容的主場景影像20和具有靜態內容的使用者介面影像22可以在被合成為混合影像24之前分別進行處理。本發明之影像處理方法不只防止使用者介面組件於使用MEMC演算法後失真變形,還可避免透過機器學習等人工智慧演算法猜測被使用者介面覆蓋之影像內容。在此同時,對於開發能力有限的遊戲工作室而言,MEMC演算法之效果也可以透過如此對遊戲迴圈的小幅修改而大幅地提升。本發明的圖像處理方法可以應用於各種類型的遊戲引擎,例如OpenGL、Vulkan等,本發明之實施例以OpenGL為例做說明,但不限於此。
請參考第3圖,第3圖為本發明實施例之一影像處理系統3之示意圖。影像處理系統3包含一第一處理單元32、一第二處理單元30、一儲存單元34以及一顯示單元36。第一處理單元32耦接於第二處理單元30以及顯示單元36,第二處理單元耦接於第一處理單元32以及儲存單元34。第一處理單元32以及第二處理單元30之任一者可以是且不限於一通用處理器、一微處理器(microprocessor)或一特殊應用積體電路(application-specific integrated circuit,ASIC)。具體而言,第一處理單元32可以是用於進行電腦繪圖以及影像處理的一圖形處理器(GPU)。儲存單元34可以為任意形式之儲存裝置,用於儲存一程式碼340,由第二處理單元30讀取以及執行。舉例來說,儲存單元34可以是一唯讀記憶體(ROM)、一快閃記憶體(flash)、隨機存取記憶體(RAM)、一硬碟(HDD)、一光學資料儲存裝置或一非易失性(non-volatile)存儲單元,且不限於此。顯示單元36可為設置在電視、個人電腦(PC)、筆記型電腦(notebook、laptop)或行動裝置、手機中的液晶顯示器(LCD)、發光二極體顯示器(LED)或有機發光二極體顯示器(OLED)等,且不限於此。影像處理系統3僅繪示用於實現本發明之實施例的必要元件,本領域具通常知識者當可根據需求進行各種修改以及調整。舉例來說,第一處理單元32、第二處理單元30以及儲存單元34可以組合定義為影像處理裝置,以與一個或多個顯示單元協同運作。
影像處理系統3所執行的影像處理方法為用於遊戲迴圈的MEMC演算法的處理方法,可被編譯成程式碼340並儲存於儲存單元34中,由第二處理單元30執行。在本實施例中,遊戲迴圈中繪製遊戲內容的階段可以分為兩部分:一遊戲繪製模組以及一動態補償模組。遊戲繪製模組主要包含由遊戲引擎提供之指令,負責根據遊戲進度將需顯示之畫面內容具體化呈現;動態補償模組則包括用於透過第一處理單元32實現MEMC演算法之相關指令。
遊戲繪製模組透過遊戲引擎提供的指令指示第一處理單元32進行遊戲畫面的繪製,例如繪製主場景影像20以及使用者介面影像22。動態補償模組被配置為用於將MEMC演算法應用於由第一處理單元32所繪製的圖像。動態補償模組實現MEMC演算法的軟體操作邏輯,並利用第一處理單元32的內部格式以及內部資訊來加速MEMC演算法的處理過程,例如透過第一處理單元32進行運動估計(motion estimation)和運動補償(motion compensation)的計算,從而生成主場景影像20的一內插的圖像。動態補償模組還可以指示第一處理單元32將使用者介面影像22與主場景影像20的內插的圖像進行合成。該影像處理方法可以歸納為一流程4,如第4圖所示。流程4包含以下步驟:
步驟401:遊戲繪製模組指示第一處理單元32繪製遊戲的一主場景,以取得主場景影像20。
步驟402:遊戲繪製模組指示第一處理單元32繪製一使用者介面,以取得使用者介面影像22。
步驟403:動態補償模組將主場景影像20和使用者介面影像22傳送給動態補償模組。
步驟404:動態補償模組指示第一處理單元32對主場景影像20執行MEMC演算法,以生成一內插的主場景影像20’。
步驟405:動態補償模組指示第一處理單元32合成使用者介面影像22以及內插的主場景影像20’為一輸出影像。
步驟406:由顯示單元36顯示該輸出影像。
請參考第5圖,第5圖為本發明實施例之影像處理系統3之一邏輯架構5之示意圖。在邏輯架構5中,一遊戲繪製模組50以及一動態補償模組52由第二處理單元30在遊戲迴圈中執行,並指示一圖形處理器54(即第3圖中的第一處理單元32)執行遊戲繪圖以及MEMC演算法以生成用於顯示在一顯示單元 56 上的一內插影像。根據流程4,遊戲繪製模組50首先指示圖形處理器54繪製一遊戲場景以及一使用者介面,以取得主場景影像20以及使用者介面影像22(步驟401、402)。接著,遊戲繪製模組50將取得的主場景影像20以及使用者介面影像22傳送給動態補償模組52以進行後續處理(步驟403)。動態補償模組52指示圖形處理器54對主場景影像20執行運動估計以及運動補償的演算法,以生成內插的主場景影像20’(步驟404),最後指示圖形處理器54合成使用者介面影像22以及內插的主場景影像20’為輸出影像(步驟405)並顯示於顯示單元56(步驟406)。據此,可以防止使用者介面影像22中的靜態內容因執行MEMC演算法而失真變形。
一般而言,MEMC演算法可以分為兩階段:第一階段根據時間上連續的兩張影像進行運動估計以取得運動資料,例如運動向量(motion vector)或運動圖(motion map);另一階段則根據運動資料進行運動補償,以於連續兩張影像之間生成一內插的影像,此內插的影像可以提高顯示的畫面更新率以獲取更流暢的視覺體驗。不同於使用圖形處理器54計算運動資料的方法,本發明的一實施例提供了一種利用由遊戲繪製模組50所提供的運動資料的方法。本實施例的影像處理方法可被編譯成程式碼340並歸納為一流程6,如第6圖所示。流程6包含以下步驟:
步驟601:遊戲繪製模組生成一運動資料,並指示第一處理單元32根據該運動資料生成一運動向量圖。
步驟602:遊戲繪製模組指示第一處理單元32繪製遊戲的一主場景,以取得主場景影像20。
步驟603:遊戲繪製模組指示第一處理單元32繪製一使用者介面,以取得使用者介面影像22。
步驟604:動態補償模組將主場景影像20、使用者介面影像22以及該運動向量圖傳送給動態補償模組。
步驟605:動態補償模組指示第一處理單元32根據該運動向量圖對主場景影像20執行運動補償演算法,以生成一內插的主場景影像20’。
步驟606:動態補償模組指示第一處理單元32合成(blending)使用者介面影像22以及內插的主場景影像20’為一輸出影像。
步驟607:由顯示單元36顯示該輸出影像。
請參考第7圖,第7圖為本發明實施例之影像處理系統3之一邏輯架構7之示意圖。在邏輯架構7中,遊戲繪製模組50以及動態補償模組52由第二處理單元30在遊戲迴圈中執行,並指示圖形處理器54(即第3圖中的第一處理單元32)執行遊戲繪圖以及MEMC演算法以生成用於顯示在顯示單元 56 上的一內插影像。根據流程6,遊戲繪製模組50除了指示圖形處理器54繪製一遊戲場景以及一使用者介面以取得主場景影像20以及使用者介面影像22(步驟602、603)之外,還提供可由遊戲引擎生成之運動資料(步驟601)。遊戲繪製模組50可指示圖形處理器54根據其所用格式將運動資料生成為一運動向量圖。接著,遊戲繪製模組50可將取得的主場景影像20、使用者介面影像22以及該運動向量圖傳送給動態補償模組52以進行後續處理(步驟604)。動態補償模組52指示圖形處理器54根據運動向量圖對主場景影像20執行運動補償演算法,以生成內插的主場景影像20’(步驟605),最後指示圖形處理器54透過透明度混和(alpha blending)合成使用者介面影像22以及內插的主場景影像20’為輸出影像(步驟606)並顯示於顯示單元56(步驟607)。相較於由圖形處理器54執行運動估計以取得的運動資料,由遊戲繪製模組50所提供的運動資料更為精確,因而可以獲取更好的 MEMC效果。
因此,本發明透過對遊戲迴圈進行小幅修改,解決了因執行MEMC演算法而導致的使用者介面組件失真變形的問題。需注意的是,第3圖至第7圖用於說明本發明的實施例,其繪示了兩個處理單元協同運作以完成將MEMC演算法應用於遊戲迴圈的基本方法。然而,兩個處理單元之間的繪圖以及運算等工作分工之細節不限於此,本領域具通常知識者可以根據不同的需求、軟體實現方式、硬體架構或圖形加速的支援程度進行適當的變化或修改。舉例來說,如前述,本發明的影像處理方法可以應用於OpenGL遊戲引擎。具體來說,第8圖繪示了OpenGL虛擬碼(pseudo code)的一範例8,其說明系統1根據傳統的方法將MEMC演算法應用於遊戲迴圈的流程。
在第8圖的遊戲迴圈中,遊戲應用程式重複地指示圖形處理器12繪製以及合成主場景影像20和使用者介面影像22(步驟804)。於此步驟中,主場景的畫面內容可以先繪製於一個FrameBuffer(OpenGL所定義物件)中,使用者介面之畫面內容再直接繪製於同一個FrameBuffer上。混和影像24接著由圖形處理器12傳送至MEMC晶片14以自動執行MEMC演算法(步驟806),最後顯示於顯示單元16。在這種傳統方法中,輸出的畫面面臨使用者介面影像22中的使用者介面組件失真變形的情況。
不同於使用傳統方法的系統1,本發明的影像處理系統3提供應用MEMC演算法的不同的架構(如第5圖、第7圖所示)與方法。具體來說,第9圖為OpenGL虛擬碼的一範例9,其繪示基於流程4之影像處理方法的一遊戲迴圈。在第9圖的遊戲迴圈中,MEMC演算法僅被使用於主場景影像20上,其運動資料由第一處理單元32計算所得。
在第9圖的遊戲迴圈中,遊戲繪製模組50重複地指示圖形處理器54繪製一遊戲場景以及一使用者介面以取得主場景影像20以及使用者介面影像22(步驟906),接著將其傳送給動態補償模組52(步驟908)(即呼叫MEMC函式庫)。需注意的是,在本實施例中,僅對主場景影像20執行MEMC演算法。因此,需要分別配置不同的FrameBuffer(fboMainScene、fboUI)給主場景影像20以及使用者介面影像22(步驟902)。動態補償模組52負責指示圖形處理器54對主場景影像20進行運動估計和運動補償以取得內插的主場景影像20',以及指示圖形處理器54對使用者介面影像22和內插的主場景影像20'進行合成(步驟910、912)。
第10圖為OpenGL虛擬碼的另一範例10,其繪示基於流程6之影像處理方法的一遊戲迴圈。在第10圖的遊戲迴圈中,MEMC演算法僅被使用於主場景影像20上,且其運動資料由第二處理單元30所提供(即由遊戲繪製模組50所提供)。
在第10圖的遊戲迴圈中,遊戲繪製模組50重複地指示圖形處理器54繪製一遊戲場景以及一使用者介面以取得主場景影像20以及使用者介面影像22(步驟1008),並進一步提供主場景影像20的運動資料給圖形處理器54以生成一運動向量圖(步驟1006)。接著,將主場景影像20、使用者介面影像22以及運動向量圖傳送給動態補償模組52(步驟1010)(即呼叫MEMC函式庫)。與上一實施例相同,在本實施例中,僅對主場景影像20執行MEMC演算法。因此,需要分別配置不同的FrameBuffer(fboMainScene、fboUI)給主場景影像20以及使用者介面影像22(步驟1002)。需注意的是,由於遊戲繪製模組50可指示圖形處理器54生成運動向量圖,因此需配置另一FrameBuffer(fboMotion)以儲存用於後續處理所需的運動資料。動態補償模組52負責指示圖形處理器54根據運動向量圖對主場景影像20進行運動補償以取得內插的主場景影像20',以及指示圖形處理器54對使用者介面影像22和內插的主場景影像20'進行合成(步驟1012、1014)。
範例8-10中的遊戲迴圈說明如何拆解遊戲迴圈中繪製遊戲內容的階段,以及透過修改遊戲迴圈以易於應用MEMC演算法之方法。透過本發明之影像處理方法,遊戲工作室只需將與主場景以及使用者介面相關的資訊繪製於不同的Texture(OpenGL所定義物件,依附於前述FrameBuffer)並分別傳送給動態補償模組54即可,而不需考慮應用MEMC演算法的邏輯。修改遊戲迴圈的方法不限於應用在OpenGL,此概念還可應用到任何現有的遊戲引擎上。
綜上所述,本發明提供透過對遊戲迴圈進行些許修正以解決使用者介面受MEMC演算法影響而失真變形之問題的影像處理方法以及影像處理裝置。藉由將使用者介面從輸出影像中分離,可以無需猜測被使用者介面所遮蔽的主場景的隱藏資訊,因此達到更理想的MEMC應用效果。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
1:系統
10:處理單元
12:圖形處理器
14:MEMC晶片
16:顯示單元
20:主場景影像
22:使用者介面影像
24:混合影像
3:影像處理系統
30:第二處理單元
32:第一處理單元
34:儲存單元
340:程式碼
36:顯示單元
4:流程
401-406:步驟
5:影像處理系統之邏輯架構
50:遊戲繪製模組
52:動態補償模組
54:圖形處理器
56:顯示單元
20’:內插的主場景影像
6:流程
601-607:步驟
7:影像處理系統之邏輯架構
8, 9, 10:範例流程
800-808, 900-914, 1000-1016:步驟
第1圖為傳統方法中於遊戲迴圈中應用MEMC演算法的一系統之示意圖。
第2圖為主場景影像、使用者介面影像以及混合影像之示意圖。
第3圖為本發明實施例之一影像處理系統之示意圖。
第4圖為本發明實施例之一影像處理方法之流程示意圖。
第5圖為本發明實施例之一影像處理系統之邏輯架構示意圖。
第6圖為本發明實施例之一影像處理方法之流程示意圖。
第7圖為本發明實施例之一影像處理系統之邏輯架構示意圖。
第8圖為傳統方法之一OpenGL範例之虛擬碼示意圖。
第9圖為本發明實施例之一OpenGL範例之虛擬碼示意圖。
第10圖為本發明實施例之一OpenGL範例之虛擬碼示意圖。
4:流程
401~406:步驟
Claims (18)
- 一種影像處理方法,用於一遊戲的一遊戲迴圈(game loop),該遊戲迴圈包含一遊戲繪製模組以及一動態補償(Motion Estimation and Motion Compensation,MEMC)模組,由多於一個處理單元執行以生成一輸出影像,該影像處理方法包含: 由該遊戲繪製模組繪製(render)該遊戲之一場景,以取得一第一影像; 由該遊戲繪製模組繪製一使用者介面(UI),以取得一第二影像; 由該動態補償模組對該第一影像進行動態補償,以生成一內插的第一影像;以及 由該動態補償模組合成(blending)該第二影像以及該內插的第一影像為用於顯示的該輸出影像。
- 如請求項1所述之影像處理方法,其中該多於一個處理單元中的一處理單元為一圖形處理器(Graphics Processing Unit,GPU)。
- 如請求項1所述之影像處理方法,其中該第一影像係對該遊戲之該場景以2D或3D繪製取得。
- 如請求項1所述之影像處理方法,其中該第二影像為具有不透明度的影像。
- 如請求項1所述之影像處理方法,其中由該動態補償模組對該第一影像進行動態補償以生成該內插的第一影像之步驟包含: 由該動態補償模組根據一運動資料以及該第一影像執行運動補償(motion compensation)以生成該內插的第一影像。
- 如請求項5所述之影像處理方法,其中該運動資料係透過執行運動估計(motion estimation)取得。
- 如請求項5所述之影像處理方法,其中該運動資料由該遊戲繪製模組或該動態補償模組提供。
- 如請求項5所述之影像處理方法,其中該運動資料包含該第一影像的複數個運動向量。
- 如請求項1所述之影像處理方法,其中由該動態補償模組合成該第二影像以及該內插的第一影像為用於顯示的該輸出影像之步驟另包含透過執行透明度混和(alpha blending)以合成該第二影像以及該內插的第一影像。
- 一種影像處理裝置,包含: 多於一個處理單元,用於執行一遊戲的一遊戲迴圈(game loop)以及生成一用於顯示之一輸出影像;以及 一儲存單元,耦接於該多於一個處理單元,用於儲存該遊戲迴圈之一程式碼,其中該遊戲迴圈包含一遊戲繪製模組以及一動態補償(Motion Estimation and Motion Compensation,MEMC)模組,用於指示該多於一個處理單元執行一影像處理方法,該影像處理方法包含: 由該遊戲繪製模組繪製(render)該遊戲之一場景,以取得一第一影像; 由該遊戲繪製模組繪製一使用者介面(UI),以取得一第二影像; 由該動態補償模組對該第一影像進行動態補償,以生成一內插的第一影像;以及 由該動態補償模組合成(blending)該第二影像以及該內插的第一影像為用於顯示的該輸出影像。
- 如請求項10所述之影像處理裝置,其中該多於一個處理單元中的一處理單元為一圖形處理器(Graphics Processing Unit,GPU)。
- 如請求項10所述之影像處理裝置,其中該第一影像係對該遊戲之該場景以2D或3D繪製取得。
- 如請求項10所述之影像處理裝置,其中該第二影像為具有不透明度的影像。
- 如請求項10所述之影像處理裝置,其中由該動態補償模組對該第一影像進行動態補償以生成該內插的第一影像之步驟包含: 由該動態補償模組根據一運動資料以及該第一影像執行運動補償(motion compensation)以生成該內插的第一影像。
- 如請求項14所述之影像處理裝置,其中該運動資料係透過執行運動估計(motion estimation)取得。
- 如請求項14所述之影像處理裝置,其中該運動資料由該遊戲繪製模組或該動態補償模組提供。
- 如請求項14所述之影像處理裝置,其中該運動資料包含該第一影像的複數個運動向量。
- 如請求項10所述之影像處理裝置,其中由該動態補償模組合成該第二影像以及該內插的第一影像為用於顯示的該輸出影像之步驟另包含透過執行透明度混和(alpha blending)以合成該第二影像以及該內插的第一影像。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263334312P | 2022-04-25 | 2022-04-25 | |
US63/334,312 | 2022-04-25 | ||
US18/135,751 | 2023-04-18 | ||
US18/135,751 US20230338843A1 (en) | 2022-04-25 | 2023-04-18 | Image Processing Device and Image Processing Method for Game Loop |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202343379A true TW202343379A (zh) | 2023-11-01 |
Family
ID=86095781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112115244A TW202343379A (zh) | 2022-04-25 | 2023-04-25 | 用於遊戲迴圈的影像處理裝置及影像處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230338843A1 (zh) |
EP (1) | EP4268914A1 (zh) |
TW (1) | TW202343379A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102218908B1 (ko) * | 2014-05-07 | 2021-02-23 | 엘지전자 주식회사 | 디지털 디바이스 및 상기 디지털 디바이스에서 서비스 처리 방법 |
US20220067879A1 (en) * | 2020-09-03 | 2022-03-03 | Nvidia Corporation | Image enhancement using one or more neural networks |
CN113515249B (zh) * | 2021-06-04 | 2023-10-24 | 青岛信芯微电子科技股份有限公司 | 一种用于智能显示设备的支持可变刷新率信号的装置 |
CN114302092A (zh) * | 2021-12-28 | 2022-04-08 | 维沃移动通信有限公司 | 独显插帧电路、方法、装置、芯片、电子设备及介质 |
-
2023
- 2023-04-18 US US18/135,751 patent/US20230338843A1/en active Pending
- 2023-04-20 EP EP23168985.2A patent/EP4268914A1/en active Pending
- 2023-04-25 TW TW112115244A patent/TW202343379A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
EP4268914A1 (en) | 2023-11-01 |
US20230338843A1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9578299B2 (en) | Stereoscopic conversion for shader based graphics content | |
EP2245598B1 (en) | Multi-buffer support for off-screen surfaces in a graphics processing system | |
EP4147192A1 (en) | Multi-layer reprojection techniques for augmented reality | |
KR20100004119A (ko) | 포스트-렌더링 그래픽스 오버레이 | |
TWI749756B (zh) | 借助於合成器生成一系列訊框方法和裝置 | |
US20040085310A1 (en) | System and method of extracting 3-D data generated for 2-D display applications for use in 3-D volumetric displays | |
US20200020067A1 (en) | Concurrent binning and rendering | |
US10186008B2 (en) | Stereoscopic view processing | |
CN112740278B (zh) | 用于图形处理的方法及设备 | |
US20180096523A1 (en) | Display control methods and apparatuses | |
US11468629B2 (en) | Methods and apparatus for handling occlusions in split rendering | |
JP2002260007A (ja) | 描画方法及び描画装置、コンピュータに実行させるための描画処理プログラムを記録したコンピュータ読み取り可能な記録媒体、描画処理プログラムを実行するプログラム実行装置、コンピュータに実行させるための描画処理プログラム | |
US9299189B1 (en) | Techniques for updating design file lighting values | |
US10872473B2 (en) | Edge welding of geometries having differing resolutions | |
TW202343379A (zh) | 用於遊戲迴圈的影像處理裝置及影像處理方法 | |
US20220130315A1 (en) | Selection of color calibration profile data from display memory | |
KR20100103703A (ko) | 그래픽스 프로세싱 시스템에서 표면 생성을 위한 멀티-포맷 지원 | |
US10719286B2 (en) | Mechanism to present in an atomic manner a single buffer that covers multiple displays | |
GB2574721A (en) | Image rendering | |
CN116954785A (zh) | 用于游戏循环的图像处理装置及图像处理方法 | |
WO2024207185A1 (en) | System and method of providing multiple partial display updates of region of interest of frame | |
US20230317023A1 (en) | Local dimming for artificial reality systems | |
TW202422533A (zh) | 影像處理裝置、其操作方法以及顯示系統 | |
US20130254704A1 (en) | Multiple Simultaneous Displays on the Same Screen | |
WO2024091613A1 (en) | Method and system for ray tracing |