TWI805784B - 提高影像品質的方法 - Google Patents
提高影像品質的方法 Download PDFInfo
- Publication number
- TWI805784B TWI805784B TW108121107A TW108121107A TWI805784B TW I805784 B TWI805784 B TW I805784B TW 108121107 A TW108121107 A TW 108121107A TW 108121107 A TW108121107 A TW 108121107A TW I805784 B TWI805784 B TW I805784B
- Authority
- TW
- Taiwan
- Prior art keywords
- training
- image
- images
- decoded
- client device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 150
- 230000002708 enhancing effect Effects 0.000 title abstract 3
- 238000013528 artificial neural network Methods 0.000 claims abstract description 164
- 238000012549 training Methods 0.000 claims description 600
- 230000008569 process Effects 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 43
- 238000005070 sampling Methods 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 13
- 238000013527 convolutional neural network Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 12
- 230000015556 catabolic process Effects 0.000 claims description 11
- 238000006731 degradation reaction Methods 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000003321 amplification Effects 0.000 claims description 2
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 2
- 230000001537 neural effect Effects 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 description 62
- 238000010586 diagram Methods 0.000 description 38
- 239000011159 matrix material Substances 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 13
- 238000003062 neural network model Methods 0.000 description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 239000003086 colorant Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- 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/40—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 platform network
- A63F2300/407—Data transfer via internet
-
- 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/538—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 performing operations on behalf of the game client, e.g. rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Paper (AREA)
- Disintegrating Or Milling (AREA)
- Laminated Bodies (AREA)
Abstract
一種提高影像媒體品質的方法,其使用內建於客戶端裝置且經預先訓練之人工智慧(AI)增強模組來提高影像串流的品質。該AI增強模組是在伺服器中以神經網路進行預先訓練來分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間的差異。其中,AI增強模組使用經由分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間差異所得到的數學算式來提高壓縮影像的品質。藉此,被提高後的影像在視覺上會比該壓縮影像更接近該原圖影像。
Description
本發明是關於一種提高影像媒體品質的方法,尤指一種藉由內建於客戶端裝置且經預先訓練之人工智慧(Artificial Intelligent;簡稱AI)增強模組來提高影像媒體品質的方法。
近幾年來,網路線上遊戲在全世界越來越受歡迎。在雲端(Cloud-Based)運算相關系統與技術的發展下,一種由伺服器將遊戲內容串流以提供服務的技術也被開發出。
傳統上提供此類雲端線上遊戲(On-Line Game)服務的方式是讓伺服器進行幾乎全部的運算。換言之,當提供線上遊戲服務時,一特定應用程式會在伺服器中執行以產生一包含許多3D(Three Dimensional)物件的虛擬3D環境,其中包含了可被玩家控制或移動的3D物件。然後,依據玩家的控制結果,該伺服器把這些3D物件與虛擬3D環境渲染(Render)至一2D(Two Dimensional)遊戲畫面中,以供顯示在玩家的裝置上。接著,伺服器將渲染後的影像編碼(Encode)壓縮成2D影像串流並傳送給玩家的裝置。該玩家裝置只需將接收到的2D影像串流解碼後加以「播放」,無須進行3D渲染的運算。然而,此種雲端線上遊戲服務仍有數項問題需注意,例如,當為大量玩家同時提供3D渲染程序時伺服器的高負載、因編碼壓縮及串流程序所造成之影像畫面品質的降低、以及經由網路傳送2D影像串流所消耗的大量通訊頻寬。
解決畫面品質降低的一種習知方式是在伺服器端提高由遊戲 應用程式產生的原圖影像的解析度,並提高傳輸影像時的位元速率(Bitrate),亦即,降低伺服器把原圖影像編碼成2D影像串流時的壓縮率(Compression Ratio)。然而,很顯然地,這樣做將導致伺服器的負載及頻寬消耗量都將因影像的高解析度與高傳輸位元速率而顯著增加。例如,假設圖框率(Frame Rate)與編碼壓縮率都是定值時,當在伺服器端之遊戲應用程式產生的原圖影像的解析度由720p提高到1080p時,則伺服器的運算負載及所需的網路傳輸位元速率都將提高成2.25倍。相對地,倘若嘗試降低伺服器負載或網路頻寬消耗量時,則遊戲影像的畫面品質就會被犧牲。因此,想要同時獲得完美影像品質與經濟的頻寬消耗就成為無法兼得的兩難。
解決此問題的另一種方式是降低由伺服器端之遊戲應用程式產生之原圖影像的解析度、或是以一較高壓縮率來把原圖影像編碼成2D影像串流、或兩者併行。藉此,藉由網路傳送2D影像串流的頻寬消耗得以降低,雖然遊戲影像的畫面品質也會被犧牲。同時,在客戶端裝置使用一影像增強技術。一旦收到2D影像串流,客戶端裝置會解碼影像串流並藉由該影像增強技術來來改善影像的視覺效果。直方圖均化(Histogram equalization;簡稱HE)因具有簡單性與效率性,所以是用於提高影像對比的最常用方法之一。然而,HE可能導致過度的對比度增強和特徵丟失問題,導致不自然的外觀和所處理之影像細節的損失。此外,不僅HE而且本領域已知的所有其他影像增強技術都遇到相同的困境,亦即,它們都試圖使用同一套演算法來處理具有完全不同畫面內容的各種影像,而這種想法是不可行的。拿雲端線上遊戲服務為例,由伺服器產生的原圖影像的畫面內容會因為遊戲場景的變化而顯著改變。舉例來說,一城市遊戲場景可能讓遊戲的原圖影像包含許多具有簡單且清晰的外觀輪廓以及雖不同但卻大致同色系的色彩。一個黑暗洞穴的遊戲場景則會使遊戲的原圖影像充滿單調且低色調及低色度值的色彩,但卻具有不規則但不起眼的景觀輪廓。而一茂盛花園的場景則會讓遊戲的原圖影像包含許多生氣勃勃且色彩鮮豔的物件並具有詳細且複雜的輪廓。毫無疑問地,沒有任何一種習知增強技術可以對具有完全不同畫面內容的各種不同場景都同樣提供良好的影像增強效果。
此外,這些習知影像增強技術的另一缺點是,雖然這些習知影像增強技術的數學運算式可以改善影像的畫面效果例如對比度、銳利度、飽和度等等,但這些運算式及其參數都完全與伺服器產生的原圖影像無關。所以,這些習知影像增強技術的增強過程絕不會讓被增強後的影像在視覺上更接近於其對應之原圖影像,也因此客戶端的遊戲玩家並無法完全享受到由伺服器端之遊戲應用程式所產生的原圖影像的畫面效果。
緣此,本發明的主要目的在提供一種提高影像媒體品質的方法。此方法利用內建於客戶端裝置且經預先訓練之人工智慧(AI)增強模組來提高影像串流的品質。該AI增強模組是在伺服器中以神經網路進行預先訓練來分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間的差異。其中,AI增強模組使用經由分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間差異所得到的數學算式來提高壓縮影像的品質。藉此,被提高後的影像在視覺上會比該壓縮影像更接近該原圖影像。
本發明的另一目的是提供一種提高影像媒體品質的方法,其可降低伺服器的運算負載、改善在客戶端裝置播放之影像的品質、以及節省伺服器與客戶端裝置之間傳輸頻寬的消耗。
本發明的再一目的是提供一種提高影像媒體品質的方法,其中,由伺服器產生的原圖影像是屬於數個不同的場景(scene-mode),且不同場景的原圖影像具有不同的畫面內容。對應於不同場景之原圖影像的解壓縮影像是由同一AI增強模組使用與該場景相對應之不同組的加權參數(weighted parameters)來進行影像增強處理。因此,本發明的方法能針對具有完全不同畫面內容的各種原圖影像都提供良好且穩定的影像增強效果。
為達上述目的,本發明提高影像媒體品質的方法的一實施例包括:步驟(A):在一伺服器中執行一第一應用程式;該第一應用程式依據至少一指令來產生複數原圖影像;該複數原圖影像被該伺服器內 的一編碼器進行編碼與壓縮以產生複數編碼後的影像;步驟(B):在遠離該伺服器的一客戶端裝置內執行有一第二應用程式;該第二應用程式是關連於且合作於該第一應用程式;藉此,該客戶端裝置可供一使用者操作並產生與發送該指令給該伺服器;步驟(C):該客戶端裝置將該指令經由一網路傳送給該伺服器,然後經由該網路接收由該伺服器產生且相對應於該指令的該些編碼後的影像;步驟(D):該客戶端裝置將該些編碼後的影像解碼成複數解碼後的影像,並使用一AI增強模組來增強該些解碼後的影像的品質,以產生複數增強後的影像;其中,該AI增強模組藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所預先得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的該些增強後的影像在視覺上將會比該些解碼後的影像更接近於該些原圖影像;以及步驟(E):該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出影像。
於一實施例中,該AI增強模組的該至少一數學運算式是藉由該伺服器內的一人工神經網路模組所執行的一訓練程序來定義;該訓練程序包括:步驟(a):在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像;步驟(b):將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟(c):藉由該伺服器中的一訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟(d):該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像;該至少一訓練數學運算式包含複數個訓練加權參數;步驟(e):以一比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出 影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟(d)中處理下一個該訓練解碼影像;其中,在進行過預定數量的該訓練輸出影像與相對應之該訓練原圖影像的比較、以及預定次數的該訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的該AI增強模組內來作為其數學運算式的加權參數。
於一實施例中,當該訓練解碼影像和該訓練輸出影像具有相同顏色格式時,該人工神經網路模組是一殘差網路模組;並且在步驟(d)中,每一個該訓練輸出影像都是相對應之該訓練解碼影像與該殘差網路模組處理該訓練解碼影像的輸出的加總。
於一實施例中,在步驟(e)中,該比較與訓練模組使用一鑑別器(Discriminator)來比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以收斂生成對抗網路損失(generative adversarial networks loss;簡稱GAN loss)及調整該訓練加權參數。
於一實施例中,該訓練及比較模組的該鑑別器是以下列方式訓練:該訓練原圖影像包括n通道,其中n為大於2的正整數;該訓練解碼影像包括m通道,其中m為大於2的正整數;於步驟(d)中,該人工神經網路模組處理該m通道的訓練解碼影像並產生n通道的訓練輸出影像;該n通道的訓練輸出影像及與其相對應之該m通道的訓練解碼影像被結合以產生複數個具有m+n通道的模擬假樣本(false samples);並且,該n通道之訓練原圖影像和其相對應之該m通道的訓練解碼影像兩者結合以產生複數個具有m+n通道的模擬真樣本;於步驟(e)中,該m+n通道的模擬假樣本和該m+n通道的模擬真樣本被回饋至該比較與訓練模組的鑑別器以供訓練該鑑別器去偵測及分辨該模擬假樣本和該模擬真樣本的能力。
於一實施例中,該訓練原圖影像是的顏色格式是YUV420,且該訓練解碼影像的顏色格式是RGB或YUV420;於步驟(d)中,該人工神經網路模組包括一第一神經網路以 及一第二神經網路;該第二神經網路是一卷積神經網路(Convolutional Neural Network;簡稱CNN);該第一神經網路接受並處理該些訓練解碼影像以供產生複數個第一輸出影像X2其具有和該訓練原圖影像相同的編碼格式;該第二神經網路接受並處理該些第一輸出影像X2以供產生複數個第二輸出影像;該第一輸出影像X2和該第二輸出影像兩者被相加以產生該訓練輸出影像;於步驟(e)中,該比較與訓練模組包含一第一比較器及一第二比較器;該第一比較器比較該第一輸出影像X2與其相對應之該訓練原圖影像之間的差異以供訓練該第一神經網路;該第二比較器比較該訓練輸出影像與其相對應之該訓練原圖影像之間的差異以供訓練該第二神經網路。
於一實施例中,該第一神經網路接受並處理具YUV420顏色格式之該訓練解碼影像的步驟包括:提取該訓練解碼影像中的Y-part資料,由具標準大小的該第一神經網路來處理該訓練解碼影像的Y-part資料以產生Y-part輸出資料;提取該訓練解碼影像中的UV-part資料,由具兩倍放大的該第一神經網路來處理該訓練解碼影像的UV-part資料以產生具N通道的UV-part輸出資料;將該Y-part輸出資料與該UV-part輸出資料相加以產生該訓練輸出影像。
於一實施例中,該第一神經網路接受並處理具YUV420顏色格式之該訓練解碼影像的步驟包括:該訓練解碼影像包括N通道,且N是大於2的正整數;提取該訓練解碼影像中的Y-part資料;提取該訓練解碼影像中的UV-part資料,並使用具兩倍放大的該第一神經網路來處理該訓練解碼影像的UV-part資料以產生具N-1通道的UV-part輸出資料;以合併函數Concat(concatenates)處理該Y-part資料及該UV-part資料以產生該訓練輸出影像。
於一實施例中,該客戶端裝置的該AI增強模組的該至少一數學運算式包括複數加權參數;該加權參數是和該解碼後的影像及相對應之 該原圖影像之間的差異相關連,且是藉由該伺服器內的一人工神經網路模組所執行的一訓練程序來定義;其中,該加權參數是以下其中之一:預先儲存於該客戶端裝置中、當該客戶端裝置執行該第二應用程式時才從該伺服器下載至該客戶端裝置。
於一實施例中,由該第一應用程式所產生的該些原圖影像可以被區分為複數組場景,每一場景各包含複數該原圖影像;客戶端裝置中的該AI增強模組所使用的該些加權參數也被區分為複數組,每一組分別包含複數個該加權參數而且是對應於其中之一該場景;對應於不同該場景之該原圖影像的該些解碼後的影像會被同一個該AI增強模組使用該些不同組之該加權參數中與該場景相對應的該組加權參數來進行影像增強處理;其中,當該些不同組的加權參數是全部預先儲存於該客戶端裝置內時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會被運用於該AI增強模組中以供產生該增強後的影像;其中,當該些不同組的加權參數是全部儲存於該伺服器端時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會由伺服器被下載至該客戶端裝置,然後被運用於該AI增強模組中以供產生該增強後的影像。
於一實施例中,在該訓練模式中,該複數訓練原圖影像是高品質的影像;該些高品質的訓練原圖影像是符合以下一或多個性質的影像:具有較高解析度(Resolution)例如4K解析度或更高,具有較大視野(field of view;簡稱FOV)例如150度或更高,具有較高影格速率(FPS)例如60FPS或更高,擁有雙眼立體資訊(stereo vision),擁有視覺深度資訊,擁有額外顏色資訊例如紅外線或紫外線,擁有較佳音訊例如多聲道、高採樣頻率(44khz或更高)或高解析度(audio bit depth 24bit或更高);於步驟(a)與步驟(b)之間更增加以下步驟:影像劣化處理;以一劣化模組將該些訓練原圖影像加以劣化以降低其影像品質,以獲得以獲得符合以下所述一或多個性質的劣化後的訓練原圖影像:以取樣(Sampling)方式來降低解析度(降低至720p,1080i或更低),以剪裁(crop) 方式來縮小視野(縮小至120度視野或更低、或是將原長寬比為16:9的影像剪裁成4:3),以拋棄影格的方式來降低影格速率(降低至30FPS或更低),以擷取方式將雙眼立體資訊取出單一畫面,捨棄視覺深度資訊,捨棄視覺深度資訊,將音訊轉換成立體雙聲道、降低採樣頻率(22.1khz或更低)、降低解析度(16bit或更低),加入雜訊(如高斯(Gaussian)、拉普拉斯(Laplacian)雜訊),模糊化(如高斯模糊化);於步驟(b)中,將該些劣化後的訓練原圖影像藉由該編碼器加以編碼壓縮成為複數個該訓練編碼影像。
於一實施例中,於步驟(d)中,在該訓練模式中,該人工神經網路模組是接受該訓練解碼影像的數個影格並據以產生並輸出該訓練輸出影像的至少一個影格;並且,於步驟(D)中,在客戶端裝置中,該AI增強模組是接受該解碼後的影像的數個影格並據以產生並輸出該增強後的影像的至少一個影格。
於一實施例中,該人工神經網路模組接受及處理該訓練解碼影像以及一音訊;並且,該AI增強模組接受及處理該解碼後的影像以及另一音訊。
為達上述目的,本發明提供一種提高影像媒體品質的方法的另一實施例包括:提供一包括一AI增強模組的一客戶端裝置,該AI增強模組包括預先定義的至少一數學運算式,且該至少一數學運算式中包含有至少一加權參數;該至少一數學運算式的該至少一加權參數是藉由一伺服器內的一人工神經網路模組所執行的一訓練程序來事先定義;由該客戶端裝置接受複數個編碼後的影像;該客戶端裝置將該些編碼後的影像解碼成複數解碼後的影像,並使用該AI增強模組的該至少一數學運算式及該至少一加權參數來處理該些解碼後的影像,以產生複數增強後的影像;以及該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出影像。
為達上述目的,本發明提供一種提高影像媒體品質的方法的又一實施例包括: 利用一客戶端裝置來針對複數編碼後的影像進行解碼,該複數編碼後的影像是藉由將複數原圖影像進行編碼所產生;該客戶端裝置將該複數編碼後的影像解碼成為複數解碼後的影像,並使用一AI增強模組來增強該些解碼後的影像的品質,以產生複數增強後的影像;其中,該AI增強模組藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所預先得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的該些增強後的影像在視覺上將會比該些解碼後的影像更接近於該些原圖影像;以及該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出影像;其中,該客戶端裝置的該AI增強模組的該至少一數學運算式包括複數加權參數;該加權參數是和該解碼後的影像及相對應之該原圖影像之間的差異相關連;該些原圖影像可以被區分為複數組場景,每一場景各包含複數該原圖影像;客戶端裝置中的該AI增強模組所使用的該些加權參數也被區分為複數組,每一組分別包含複數個該加權參數而且是對應於其中之一該場景;在該客戶端裝置使用該AI增強模組來增強該些解碼後的影像的品質以產生複數增強後的影像的步驟中,對應於不同該場景之該原圖影像的該些解碼後的影像會被同一個該AI增強模組使用該些不同組之該加權參數中與該場景相對應的該組加權參數來進行影像增強處理。
1、501‧‧‧伺服器
2、21、22、23、502‧‧‧客戶端裝置
3‧‧‧基地台
30‧‧‧路由器
4‧‧‧網路
100、200‧‧‧應用程式(App)
101、201‧‧‧記憶體
102‧‧‧編碼
103‧‧‧串流
104‧‧‧網路設備
105‧‧‧人工神經網路模組
106‧‧‧神經網路
107‧‧‧解碼模組
108‧‧‧比較與訓練模組
202‧‧‧網路模組
203‧‧‧解碼模組
204‧‧‧AI增強模組
205‧‧‧輸出模組
301-308、400-466、511-596、601-607‧‧‧步驟
本發明的較佳實施例將配合以下圖式說明,其中:圖一示意地介紹了本發明之提高經網路傳送之影像串流的品質的系統;圖二是本發明之提高經網路傳送之影像串流的品質的系統架構的一實施例示意圖; 圖三是本發明提高經網路傳送之影像串流的品質的方法的一實施例的示意圖;圖四是本發明所述的人工神經網路模組105的訓練程序的第一實施例的示意圖;圖五是本發明所述的人工神經網路模組105的訓練程序的第二實施例的示意圖;圖六是本發明所述的人工神經網路模組105的訓練程序的第三實施例的示意圖;圖七是如圖六所示之鑑別器的訓練程序的一實施例示意圖;圖八,其揭露了本發明之神經網路的訓練過程的一實施例,其中,原圖影像是YUV420、且輸出影像是RGB或YUV420;圖九是本發明處理具YUV420格式之解碼後的影像的程序的一實施例示意圖;圖十是本發明處理具YUV420格式之解碼後的影像的程序的另一實施例示意圖;圖十一為本發明所述之人工神經網路模組的訓練程序的另一實施例(第四實施例)的示意圖;圖十二為本發明所述之人工神經網路模組的訓練程序的又一實施例(第五實施例)的示意圖;圖十三是本發明提高影像串流的品質的方法的又一實施例的示意圖;圖十四為本發明所述之人工神經網路模組的訓練程序的再一實施例(第六實施例)的示意圖;圖十五是本發明提高影像串流的品質的方法的再一實施例的示意圖;圖十六為本發明所述之人工神經網路模組的訓練程序的更一實施例(第七實施例)的示意圖;圖十七是本發明提高影像串流的品質的方法的更一實施例的示意圖;圖十八為本發明所述之人工神經網路模組的訓練程序的又更 一實施例(第八實施例)的示意圖;圖十九是本發明提高影像串流的品質的方法的又更一實施例的示意圖;圖二十是本發明處理具YUV420格式之解碼後的影像的程序的又另一實施例示意圖。
本發明是關於一種利用內建於客戶端裝置且經預先訓練之人工智慧(AI)增強模組來提高影像串流的品質的方法。該AI增強模組是在伺服器中以神經網路進行預先訓練來分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間的差異。其中,AI增強模組使用經由分析由伺服器產生之原圖影像與經壓縮之壓縮影像之間差異所得到的數學算式來提高壓縮影像的品質。藉此,被提高後的影像在視覺上會比該壓縮影像更接近該原圖影像。
本發明的其中一項應用是雲端線上遊戲(cloud-based online games),其中,玩家使用客戶端裝置透過網路連線於一伺服器以遊玩由伺服器提供的遊戲。伺服器可回應由玩家輸入的指令並產生對應的影像視頻。因此,舉例來說,玩家可在客戶端裝置執行一移動的指令。此移動指令透過網路被傳送給伺服器,然後伺服器依據該移動指令計算出一影像,並將該影像傳回並播放於客戶端裝置上。在許多遊戲中,伺服器是產生包含了若干位在可視範圍中的3D渲染物件的2D影像。
請參閱圖一,其示意地介紹了本發明之提高經網路傳送之影像串流的品質的系統。一伺服器1被應用於提供由一執行於該伺服器1上的一應用程式的服務;該服務可以是、但不侷限於是一雲端線上遊戲服務。複數個客戶端裝置21、22、23可經一網路4連接(登入)該伺服器1來使用由執行於該伺服器1上之該應用程式所提供的服務。於本實施例中,該網路4是網際網路(Internet),且該客戶端裝置21、22、23可以是任何型式的可連網的電子裝置,例如(但不侷限於)智慧手機21、數位平板、筆記型電腦22、桌上型電腦23、電子遊戲機、或甚至是智慧電視。部分客戶 端裝置21、22是透過一無線通訊基地台3或一無線路由器30以無線方式連接於該網路4,而其他則是以有線方式透過網路路由器或網路分享器連接於網路4。執行於伺服器1的應用程式產生一虛擬3D環境其包含了複數3D物件;其中一部份的3D物件可依據使用者的操作而被移動或被破壞、另一些則不能。於一較佳實施例中,對於每一客戶端裝置來說,該應用程式會有一獨立運行事例;也就是說,每一個應用程式只提供該服務給一位客戶端裝置,但是在該伺服器1中可同時執行複數應用程式來提供服務給複數客戶端裝置。該客戶端裝置21、22、23經由網路4連結於該伺服器1來接收由該應用程式產生且包含至少一部份3D物件的畫面。本發明之系統的架構及功能將透過圖二及其相關說明詳述之。
圖二是本發明之系統架構的一實施例示意圖。應用程式(App)100儲存於記憶體101內並於伺服器1上執行的應用程式(通常是3D遊戲程式),其可產生由一系列之原圖影像所構成的3D畫面渲染結果。編碼102及串流103分別是編碼模組及串流模組,其可接受由該應用程式100產生的該些原圖影像,並將其編碼及串流程一2D影像串流。該2D影像串流接著經由伺服器的網路設備104透過網路4被傳送給位於遠端的客戶端裝置2。每一個客戶端裝置2都分別預先安裝了一應用程式200,該應用程式200是儲存在客戶端裝置2的記憶體201內且可以和與伺服器1上的應用程式100相關連與合作。客戶端裝置2的應用程式200可和伺服器1的應用程式100建立連結,並藉由該網路模組202來從該伺服器1接收該編碼後的2D影像串流。該編碼後的2D影像串流接著會被解碼模組203解碼以產生解碼後的影像。由於這些編碼、串流及解碼的程序,解碼後的影像的品質很顯然會比原圖影像差很多。內建於客戶端裝置2中的AI增強模組204可以增強那些解碼後的影像的品質,以產生相對應之增強後的影像。其中,該AI增強模組204藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的增強後的影像在視覺上將會比解碼後的影像更接近於原圖影像。之後,該增強後的影像經由輸出模組205被輸出(播放)於客戶端裝置2的螢幕(顯示面板)上。於本發明中,該客戶端裝置2的AI增強模組204所使用的數學運算式是藉由位於該伺服器1上之的人工神經網路(Artificial Neural Network)模組105所執行的一訓練程序來定義。該人工神經網路模組105設於該伺服器1內且包括有:一人工神經網路106、一解碼模組107及一比較與訓練模組108。本發明所述之人工神經網路模組105的該訓練程序的實施例將於稍後詳述之。
圖三是本發明提高經網路傳送之影像串流的品質的方法的一實施例的示意圖。藉由利用如圖二及圖三所示之本發明的系統與架構,該方法大體上包括以下步驟:步驟301:在一伺服器中執行一第一應用程式。該第一應用程式依據至少一指令來產生複數原圖影像(步驟302)。之後,該原圖影像被伺服器內的一編碼器(步驟303)進行編碼與壓縮以產生複數編碼後的影像。該些編碼後的影像接著被以一2D影像串流(步驟304)的型式經由網路傳送給客戶端裝置。
在遠離該伺服器的一客戶端裝置內執行有一第二應用程式(步驟305)。該第二應用程式是關連於且合作於該第一應用程式,藉此,該客戶端裝置可供一使用者操作並產生與發送指令給伺服器以享受由伺服器之第一應用程式所提供的服務。該客戶端裝置將該指令經由網路傳送給伺服器,然後經由網路接收由該伺服器產生且相對應於該指令的該編碼後的影像。然後,客戶端裝置將該些編碼後的影像解碼(步驟306)成複數解碼後的影像,並使用一AI增強模組(步驟307)來增強該些解碼後的影像的品質,以產生複數增強後的影像。其中,該AI增強模組藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所預先得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的增強後的影像在視覺上將會比解碼後的影像更接近於原圖影像。之後,該客戶端裝置將該增強後的影像輸出(步驟308)至螢幕(顯示面板)以作為被播放的輸出影像。
於本發明中,客戶端裝置內的AI增強模組所使用的該至少一數學運算式是包括了複數個加權參數(Weighted Parameters)。該些加權參數是和該解碼後的影像與相對應之該原圖影像之間的差異相關連、且是藉由伺服器內的一人工神經網路模組所執行的一訓練程序來定義。於本發明的一實施例中,該加權參數是預先儲存在客戶端裝置中。於另一實施例中,該加權參數是在客戶端裝置執行了該第二應用程式時,才從該伺服器下載 至該客戶端內。
於本發明之一實施例中,由伺服器所產生的原圖影像所包含的畫面內容會因為遊戲場景的不同而有劇烈變化。舉例來說,一城市遊戲場景可能讓遊戲的原圖影像包含許多具有簡單且清晰的外觀輪廓以及雖不同但卻大致同色系的色彩。另一個黑暗洞穴的遊戲場景則會使遊戲的原圖影像充滿單調且低色調及低色度值的色彩,但卻具有不規則但不起眼的景觀輪廓。而又另一茂盛花園的場景則會讓遊戲的原圖影像包含許多生氣勃勃且色彩鮮豔的物件並具有詳細且複雜的輪廓。本發明的方法運用了數組不同的加權參數來分別適應這些不同的遊戲場景,藉此,經由同一個AU增強模組所增強後的輸出影像的品質可以被維持在一高品質且穩定的水準,即使原圖影像的畫面內容很劇烈地改變。
較佳者,由該第一應用程式所產生的該些原圖影像可以被區分為複數組場景(scene-modes),每一場景各包含複數該原圖影像。該些加權參數也被區分為複數組,每一組分別包含複數個加權參數而且是對應於其中之一該場景。對應於不同場景之原圖影像的該些解碼後的影像會被同一個AI增強模組使用該些不同組之加權參數中與該場景相對應的該組加權參數來進行影像增強處理。於本發明的一實施例中,該些不同組的加權參數是全部預先儲存於該客戶端裝置內,每當該場景改變,相對應於改變後之新場景的該組加權參數就會被運用於該AI增強模組中以供產生該增強後的影像。於另一實施例中,該些不同組的加權參數是全部儲存於該伺服器端,每當該場景改變,相對應於改變後之新場景的該組加權參數就會由伺服器傳送給客戶端裝置,然後被運用於該AI增強模組中以供產生該增強後的影像。
圖四是本發明所述的人工神經網路模組105的訓練程序的第一實施例的示意圖。於本發明中,該客戶端裝置2之AI增強模組204所使用的數學運算式是藉由在伺服器1中的該人工神經網路模組105所執行的一訓練程序來加以訓練及定義。該訓練程序包括以下步驟:步驟400:在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像(步驟401);步驟402:將該些訓練原圖影像藉由該編碼器編碼成為複數個 訓練編碼影像;步驟403:藉由伺服器中的一訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟404:該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像(步驟405);該至少一訓練數學運算式包含複數個訓練加權參數;以及步驟406:以該比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟404中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後完成訓練後所得到的該些訓練加權參數(步驟407)會被取出並應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。
於本發明的第一實施例中,該訓練解碼影像被輸入至該人工神經網路模組以產生相對應的該訓練輸出影像。接著,該訓練輸出影像及相對應的該訓練原圖影像會被進行比較以便計算差異值。然後,使用例如:Adam演算法、隨機梯度下降法(Stochastic gradient descent;簡稱SGD)、或前向均方根梯度下降演算法(Root Mean Square Propagation;簡稱RMSProp)等等之數學優化算法來學習所述人工神經網路的加權參數(通常稱為加權weight w、偏異bias b),令該差異值越小越好,藉此該訓練輸出影像可以更接近於其相對應的訓練原圖影像。不同的方法可以被用於計算該差異值(或近似值)以適應不同需求;例如:均方誤差(mean square error;簡稱MSE)、L1正規化(L1 regularization)(使用絕對值誤差absolute value error)、峰值信噪比(peak signal-to-noise ratio;簡稱PSNR),結構相似性(structure similarity;簡稱SSIM)、生成對抗網路損失(generative adversarial networks loss;簡稱GAN loss)及/或其他方法等等。於第一實施例中,以下 方法被利用來計算差異值:(1)MSE、L1、及GAN loss的加權平均;(2)MSE;(3)GAN loss並同時訓練鑑別器(Discriminator);(4)MSE的加權平均與MSE的邊際(Edge of MSE)。該訓練程序的更多細節將敘述於後。
圖五是本發明所述的人工神經網路模組105的訓練程序的第二實施例的示意圖。於本發明中,該第二實施例的訓練程序包括以下步驟:步驟410:在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像(步驟411),其中,該些訓練原圖影像的顏色格式是色光三原色(RGB);步驟412:將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟413:藉由伺服器中的訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟414:於該第二實施例中,當該訓練解碼影像和該訓練輸出影像的顏色格式相同時(於本第二實施例中兩者都是RGB),殘差網路模組(residual network module)亦可稱為卷積神經網路(Convolutional Neural Network;簡稱CNN)可被使用於該人工神經網路模組中;用於處理相對應訓練解碼影像的該殘差網路模組的輸出會被和該相對應之訓練解碼影像進行加總(summed up)(步驟415);然後,該殘差網路模組的輸出和該相對應之訓練解碼影像兩者加總的結果會被輸出作為該訓練輸出影像(步驟416);以及步驟417:以該比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異(計算差異值),並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該人工神經網路以供在步驟414中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後完成訓練後所得到的該些訓練加權參數(步驟418)會被取出並應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。
圖六是本發明所述的人工神經網路模組105的訓練程序的第三實施例的示意圖。於第三實施例中,該比較與訓練模組使用一鑑別器(Discriminator)來比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異並據以調整該訓練加權參數。該第三實施例之訓練程序包括以下步驟:步驟420:在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像(步驟421),其中,該些訓練原圖影像包括n個通道,其中n是大於2的正整數;步驟422:將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟423:藉由伺服器中的訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;其中該訓練解碼影像包括m個通道,其中m是大於2的正整數;以及步驟424:該人工神經網路模組接受該些訓練解碼影像(m個通道)並使用至少一訓練數學運算式來逐一處理該訓練解碼影像以供產生複數個訓練輸出影像(n個通道)(步驟425);該至少一訓練數學運算式包含複數個訓練加權參數;該訓練輸出影像(n通道)及與其相對應之該訓練解碼影像(m通道)結合(步驟426)以產生複數個訓練結合影像(具有m+n通道);接著,此些訓練結合影像被回饋至一鑑別器(步驟427)以供分析該訓練輸出影像的品質,藉此訓練該人工神經網路。
圖七是如圖六所示之鑑別器的訓練程序的一實施例示意圖。該鑑別器的訓練程序包括以下步驟:步驟430:在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像(步驟431),其中,該些訓練原圖影像包括n個通道,其中n是大於2的正整數;步驟432:將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟433:藉由伺服器中的訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;其中該訓練解碼影像包括m個通道,其中m是大於2的正整數;以及步驟434:該人工神經網路模組接受該些訓練解碼影像並使用 至少一訓練數學運算式來逐一處理該訓練解碼影像(m通道)以供產生複數個訓練輸出影像(步驟435);該至少一訓練數學運算式包含複數個訓練加權參數;該訓練輸出影像包括n通道;步驟436:該n通道之訓練輸出影像和其相對應之該m通道的訓練解碼影像兩者結合以產生複數個具有m+n通道的假樣本(false samples);並且,該n通道之訓練原圖影像和其相對應之該m通道的訓練解碼影像兩者結合以產生複數個具有m+n通道的真樣本(true samples)(步驟437);以及步驟438:該m+n通道的模擬假樣本和該m+n通道的模擬真樣本被回饋至該比較與訓練模組的鑑別器以供訓練該鑑別器去偵測及分辨該模擬假樣本和該模擬真樣本的能力。
在該人工神經網路105(如圖二所示)在伺服器1端被妥善訓練後,所得到的該加權參數(加權weight w、偏異bias b)會被應用在客戶端裝置內的該AI增強模組204。該AI增強模組204及其相關連的加權參數(加權weight w、偏異bias b)是儲存於該客戶端裝置2。之後,每當該客戶端裝置接收並解碼來自伺服器的2D影像串流中所包含的該編碼後的影像時,每一個該編碼後的影像會被該AI增強模組所處理以產生增強後的影像。然後,該客戶端裝置將該些增強後的影像作為輸出影像播放於其螢幕上。該神經網路可以學習並增強影像的色彩、亮度和細節。由於原圖影像的部分細節會在編碼與串流的過程中受損或失去,一妥善訓練過的神經網路可以修補這些受損或失去的細節。於本發明的實施例中,AI增強模組的神經網路需要以下資訊來操作:相關的函數及參數:X:輸入影像;Conv2d(X,a,b,c,d,w,b):執行於X;輸出通道的數量為a(amount of output channel=a);核心大小為b(kernel_size=b);步伐值為c(stride=c);填充尺寸為2d卷積其偏異為d(padding size=2d convolution with bias of d);該訓練的加權參數是核心w(kernel w)及偏異b(bias b);Conv2dTranspose(X,a,b,c,w,b)):執行於X;輸出通道的數量為a(amount of output channel=a);核心大小為b(kernel_size=b);步伐 值為c(stride=c);裁切尺寸為2d轉置卷積其偏異為d(cropping size=2d transpose convolution with bias of d);該訓練的加權參數是核心w(kernel w)及偏異b(bias b);σ(X):在X上工作的非線性激活函數;uint8(x):用於控制和限制浮點x的值在0到255之間(包括255),u使用無條件捨去方法,轉換為unsigned int8;R(X,w):在X上工作的殘差塊(residual blocks),包括很多conv2d及batchnorm,其各自包含自己的加權參數進行訓練(更多資料可以通過以下網站作為參考:https://stats.stackexchange.com/questions/246928/what-exactly-is-a-residual-learning-block-in-the-context-of-deep-residual-networ)。
由於輸入及輸出的影像可能具有不同的顏色格式,例如RGB、YUV420、YUV444等等,所以,以下將討論更多關於具不同顏色格式的輸入及輸出影像的情況。
第一種情況:原圖影像是RGB、輸出影像也是RGB。
此情況是最單純的,因為輸入與輸出影像都是RGB影像。為了提高處理速度,故使用相對較大的核心大小(例如8x8、步伐值stride=4於卷積及轉置卷積結構中)來盡快加速計算,以應付全高清(Full HD)影像的高解析度。在這種情況下使用殘差網絡(Residual network)以使收斂更容易和更穩定。
相關的函數及參數:X:輸入影像,其是RGB格式,且各顏色都是unsigned int8格式;
Y=uint8((Conv2dTranspose(σ(Conv2d(X2,a,b,c,d,w_1,b_1)),w_2,b_2)+X2)*128+128);w_1是一矩陣其大小是b*b*3*a;b_1是一向量其大小為a;w_2是一矩陣其大小是b*b*3*a;b_2是一向量其大小為3; 所使用的參數包括:X的解析度是1280x720;a=128,b=10,c=5,d=0,σ=leaky relu with alpha=0.2;a=128,b=9,c=5,d=4,σ=leaky relu with alpha=0.2;a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2;倘若該客戶端裝置具有較快的處理速度,則以下數學式可以被使用:Y=uint8((Conv2dTranspose(R(σ(Conv2d(X2,a,b,c,d,w_1,b_1)),w_R),w_2,b_2)+X2)*128+128);w_1是一矩陣其大小是b*b*3*a;b_1是一向量其大小為a;w_2是一矩陣其大小是b*b*3*a;b_2是一向量其大小為3;其中R是殘差塊(residual blocks)其具有n層;其中,包含了很多神經網路層,每一層都各有其被訓練的加權參數其統稱為w_R;所使用的參數包括:a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2;n=2;a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2;n=6。
第二種情況:原圖影像是YUV420、輸出影像是RGB或是YUV444;如果輸入的原圖影像是YUV420、而輸出影像是RGB或是YUV444時,由於輸入與輸出影像的解析度及格式不同,殘差網路(Residual network)無法直接應用於此情況。本發明的方法會先解碼YUV420的輸入影像,然後使用另一神經網路(稱為A網路,其中N=3)來處理其解碼後的影像並獲得RGB或是YUV444格式的影像(稱為X2)。接著,此X2影像被送入第一種情況所述的神經網路(殘差網路)來進行訓練。並且,相同的訓練方法也應用在A網路上來比較X2和原圖影像之間的差異,藉此訓練A網路。
X_y是具YUV420格式之輸入影像的Y,其格式為unsigned int8;X_uv是具YUV420格式之輸入影像的uv,其格式為unsigned int8;
X2=Conv2d(X2_y,3,e,1,w_y,b_y)+Conv2dTranspose(X2_uv,3,f,2,w_uv,b_uv);w_y是一矩陣其大小是e*e*1*3;b_y是一向量其大小為3;w_uv是一矩陣其大小是f*f*3*2;b_uv是一向量其大小為3;以上所述是A網路(神經網路編號A)的第一實施例;最後,用於輸出該輸出影像的數學式和前述第一種情況當輸入與輸出影像都是RGB格式時所使用的數學式相同:Y=uint8((Conv2dTranspose(σ(Conv2d(X2,a,b,c,d,w_1,b_1)),w_2,b_2)+X2)*128+128);w_1是一矩陣其大小是b*b*3*a;b_1是一向量其大小為a;w_2是一矩陣其大小是b*b*3*a;b_2是一向量其大小為3;所使用的參數也同樣和前述當輸入與輸出影像都是RGB格式時所使用的參數相同:X的解析度是1280x720;a=128,b=8,c=4,d=0,e=1,f=2,σ=leaky relu with alpha=0.2;a=128,b=8,c=4,d=0,e=1,f=2,σ=leaky relu with alpha=0.2。
請參閱圖八,其揭露了本發明之神經網路的訓練過程的一實施例,其中,原圖影像是YUV420、且輸出影像是RGB或YUV420。該神經網路的訓練過程包括以下步驟:步驟440:在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像,其中,該些訓練原圖影像是RGB或YUV444格式;步驟441:將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟442:藉由伺服器中的訓練解碼器將該些訓練編碼影像解 碼成為複數個訓練解碼影像;其中該訓練解碼影像是YUV420格式;步驟443:該人工神經網路模組包括一第一神經網路以及一第二神經網路;該第一神經網路(也稱為A網路)接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像(YUV420)以供產生複數個第一輸出影像X2(也稱為X2;如步驟444)其具有和該訓練原圖影像相同的編碼格式;該至少一訓練數學運算式包含複數個訓練加權參數;步驟445:該第二神經網路是一卷積神經網路(Convolutional Neural Network;簡稱CNN);該第二神經網路(也稱為CNN網路)接受該第一輸出影像X2並使用至少一訓練數學運算式來逐一處理該第一輸出影像X2以供產生複數個第二輸出影像;該至少一訓練數學運算式包含複數個訓練加權參數;接著,該第一輸出影像X2和該第二輸出影像兩者被相加(步驟446)以產生該訓練輸出影像(步驟447);該比較與訓練模組包含一第一比較器及一第二比較器;於步驟448中,該第一比較器比較該第一輸出影像X2與其相對應之訓練原圖影像之間的差異以供訓練該第一神經網路;於步驟449中,該第二比較器比較該訓練輸出影像與其相對應之訓練原圖影像之間的差異以供訓練該第二神經網路。
圖九是本發明處理具YUV420格式之解碼後的影像的程序的一實施例示意圖。本發明處理具YUV420格式之解碼後的影像的程序包括:步驟451:該第一神經網路接受並處理具YUV420顏色格式之訓練解碼影像的步驟包括:步驟452:提取該訓練解碼影像中的Y-part資料,由具標準大小(原大小)的該神經網路來處理該訓練解碼影像的Y-part資料以產生具N通道的Y-part輸出資料(例如:步伐值Stride=1於卷積中;如步驟454);步驟453:提取該訓練解碼影像中的UV-part資料,由具兩倍放大的神經網路來處理該訓練解碼影像的UV-part資料以產生具N通道的UV-part輸出資料(例如:步伐值Stride=2於轉置卷積中;如步驟455);步驟456:將該Y-part輸出資料與該UV-part輸出資料相加以產生該訓練輸出影像(步驟457)。
第三種情況:原圖影像是YUV420、且輸出影像是YUV444, 以另一種更快的方式處理。
如果輸入影像是YUV420、且輸出影像是YUV444,則除了前述的方法以外,還有另一種實施該第一神經網路(A網路)的方式,其是具有更快速度的特例。具YUV420格式的解碼後的影像首先利用第一神經網路(A網路)將其轉換為YUV444格式的影像(亦稱為X2);之後,X2被送入前述的神經網路(殘差網路)進行訓練。並且,相同的訓練方式也實施在A網路來比較X2與原圖影像之間的差異,藉以訓練A網路。
X_y是具YUV420格式之輸入影像的Y,其格式為unsigned int8;X_uv是具YUV420格式之輸入影像的uv,其格式為unsigned int8;
X3_uv=Conv2dTranspose(X2_uv,2,2,2,w_uv,b_uv);w_uv是一矩陣其大小是2*2*2*2;b_uv是一向量其大小為2;X2=concat(X2_y,X3_uv);以上所述是A網路(神經網路編號A)的另一實施例,其中的“concat”函數是依循通道的方向連接該輸入;最後,用於輸出該輸出影像的數學式和前述第一種情況當輸入與輸出影像都是RGB格式時所使用的數學式相同:Y=uint8((Conv2dTranspose(σ(Conv2d(X2,a,b,c,d,w_1,b_1)),w_2,b_2)+X2)*128+128);w_1是一矩陣其大小是b*b*3*a;b_1是一向量其大小為a;w_2是一矩陣其大小是b*b*3*a;b_2是一向量其大小為3;所使用的參數也同樣和前述當輸入與輸出影像都是RGB格式時所使用的參數相同:X的解析度是1280x720; a=128,b=10,c=5,d=0,σ=leaky relu with alpha=0.2;a=128,b=9,c=5,d=4,σ=leaky relu with alpha=0.2;a=128,b=8,c=4,d=0,σ=leaky relu with alpha=0.2。
圖十是本發明處理具YUV420格式之解碼後的影像的程序的另一實施例示意圖。如圖十所示本發明處理具YUV420格式之解碼後的影像的程序包括:步驟461:該第一神經網路藉由以下步驟來接受並處理具YUV420顏色格式之訓練解碼影像,其中,該訓練解碼影像包括N通道,且N是大於2的正整數;步驟462:提取該訓練解碼影像中的Y-part資料以產生Y-part輸出資料;步驟463:提取該訓練解碼影像中的UV-part資料,並使用具兩倍放大的第一神經網路來處理該訓練解碼影像的UV-part資料以產生具N-1通道的UV-part輸出資料(例如:步伐值Stride=2於轉置卷積中;如步驟464);步驟465:以合併函數Concat(concatenates)處理該Y-part資料及該UV-part資料以產生該訓練輸出影像(步驟466)。
第四種情況:原圖影像是YUV420、且輸出影像也是YUV420。
如果輸入影像是YUV420、且輸出影像也是YUV420,則處理方式將類似前述RGB-to-RGB的方式。然而,由於輸入格式和輸出格式不同,所以不同的卷積方法會應用在不同通道上。例如,當神經網路的核心大小為8x8、步伐值stride為4來處理影像的Y-part時,則該神經網路可改成核心大小為4x4、步伐值stride為2來處理影像的UV-part。
X_y是具YUV420格式之輸入影像的Y,其格式為unsigned int8;X_uv是具YUV420格式之輸入影像的uv,其格式為unsigned int8;
X3=σ(Conv2d(X2_y,a,b,c,w_y,b_y)+Conv2d(X2_uv,a,b/2,c/2,w_uv,b_uv));w_y是一矩陣其大小是b*b*1*a;b_y是一向量其大小為a;w_uv是一矩陣其大小是(b/2)*(b/2)*2*a;b_uv是一向量其大小為a;X4_y=Conv2dTranspose(X3,1,b,c,w_1,b_1)+X2_y;X4_uv=Conv2dTranspose(X3,2,b/2,c/2,w_2,b_2)+X2_uv;w_1是一矩陣其大小是b*b*1*a;b_1是一向量其大小為1;w_2是一矩陣其大小是(b/2)*(b/2)*2*a;b_2是一向量其大小為2;以上所述是A網路(神經網路編號A)的另一實施例,其中的“concat”函數是依循通道的方向連接該輸入;最後輸出:Y_y=uint8(X4_y*128+128);Y_uv=uint8(X4_uv*128+128);使用的參數:a=128,b=8,c=4,d=0,e=2,f=2,σ=leaky relu with alpha=0.2。
本發明所使用的參數的詳細說明如下:訓練參數:該加權參數的初始值是根據高斯分布(Gaussian distribution),mean=0、stddev=0.02;在訓練過程中使用Adam演算法,學習率learning rate=1e-4,beta1=0.9;微批次大小mini batch size=1;主要差異函數(primary error function)是:100*(L2+L2e)+λ*L1+γ* D+α*Lg;所使用的參數其標準值為: λ=0,γ=0,α=0;λ=0,γ=0,α=100;λ=0,γ=1,α=0;λ=10,γ=0,α=0;λ=10,γ=0,α-100;λ=10,γ=1,α=0;其中:L2= mean((T-Y) 2 );其中mean是指平均值,T是訓練標的;L1= mean{|T-Y|);其中mean是指平均值,T是訓練標的;D是生成對抗網路損失(GAN loss),使用一般GAN訓練方法來訓練鑑別器(Discriminator)以分辨(X,Y)與(X,T);Lg的數學式是:對於WxH的影像而言,Y_dx(i,j)=Y(i+1,j)-Y(i,j)0<=i<W-1,0<=j<H T_dx(i,j)=T(i+1,j)-T(i,j)0<=i<W-1,0<=j<H Y_dy(i,j)=Y(i,j+1)-Y(i,j)0<=i<W,0<=j<H-1 T_dy(i,j)=T(i,j+1)-T(i,j)0<=i<W,0<=j<H-1 L g =mean((T dx -Y dx ) 2 )+mean((T dy -Y dy ) 2 )
在RGB模式下,所述的訓練標的T就是RGB遊戲影像的原始原圖影像;在YUV444模式下,訓練標的T就是RGB遊戲影像的原始原圖影像;在RGB->RGB、以及YUV420->YUV420模式下,L2e=0;在YUV420->RGB及YUV420->YUV444模式下, L 2e =mean((T-X 2 ) 2 )。
由上述說明可知,本發明提高經網路傳送之影像媒體品質的 方法具有以下優點:能根據具有不同內容的各種影像隨時保持對神經網絡的訓練,以便對不同的影像內容執行不同的增強效果;例如,對於具有卡通風格、現實風格或不同場景等的影像,不同的加權參數w、b可以預先存儲在客戶端裝置中、或者動態下載到客戶端裝置中;關於判斷原圖影像應屬於哪種模式的方式,伺服器端的神經網絡可以自動判定原圖影像的模式,並將此類訊息傳輸到客戶端裝置;因為原圖影像的內容具有一致性,所以這種判定過程可以由伺服器週期性地執行,例如每秒一次;可是,在另一實施例中,判定影像模式的過程也可以由客戶端裝置週期性地執行,例如每數秒執行一次,視客戶端裝置的運算能力而定;訓練是根據真實視頻影像進行,可以實際測量增強的提高程度;例如,當使用本發明的方法來增強解析度為1280x720和比特率(bitrate)為3000的視頻影像時,類似場景的PSNR值可以增加1.5~2.2db左右,此可證明本發明的方法確實能真實地提高輸出影像的品質,並使輸出影像在視覺上更接近原圖影像的品質;並且,本發明不同於那些眾所周知的影像增強技術,它們只能增加輸出影像的對比度、平滑和濾色,而無法像本發明般使輸出影像在視覺上更接近於原圖影像;藉由神經網絡演算法的簡化模型,並利用大核心、大步伐值,使神經網絡的分辨率迅速降低,且模型的處理速度可以大大提高;即使是計算能力有限的客戶端裝置也可以達到60fps和HD解析度的輸出影像的目標;以及藉由將顏色格式(YUV420和RGB)的轉換工作帶入神經網絡、並利用UV通道的分辨率低於Y通道的優勢,將UV通道的步伐值設置為Y通道的一半,可提高神經網絡的計算速度。
本發明之提高經網路傳送之影像媒體品質的方法除了上述實施例外,還有多種不同的延伸應用;例如:增加顯示解析度(Resolution)、擴大畫面尺寸、增加時間解析度(亦即提高影格速率Frames Per Second簡稱FPS)、多影格輸入、預測畫面、離線應用等等,具體說明如後。
請參閱圖十一,為本發明所述之人工神經網路模組的訓練程 序的另一實施例(第四實施例)的示意圖。於本發明中,該客戶端裝置2之AI增強模組204所使用的數學運算式是藉由在伺服器1中的該人工神經網路模組105所執行的一訓練程序來加以訓練及定義。如圖十一所示之訓練程序的另一實施例包括以下步驟:步驟511:在一訓練模式中提供由包括複數個高品質的訓練原圖影像所構成的訓練視頻;該些高品質的訓練原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻(例如但不侷限於:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB等視頻格式)。於本實施例中,該些高品質的訓練原圖影像具有相對較佳或極佳的影像品質,例如符合以下一或多個性質的影像:(a)具有較高解析度(Resolution)例如4K或8K解析度,(b)較大視野(field of view;簡稱FOV)例如150度、180度或甚至360度視野,(c)較高影格速率(Frame per Second;簡稱FPS)例如60FPS或120FPS,(d)擁有雙眼立體資訊(stereo vision),(e)擁有視覺深度資訊,(f)擁有額外顏色資訊例如紅外線、紫外線或其他(參考網址:https://photo.stackexchange.com/questions/83923/why-dont-cameras-offer-more-than-3-colour-channels-or-do-they),或/及(g)擁有較佳音訊例如多聲道、高採樣頻率(44khz或更高)或高解析度(audio bit depth 24bit or above)等等。
步驟512:影像劣化處理;以一劣化模組將該些訓練原圖影像加以劣化以降低其影像品質,以獲得以獲得符合以下所述一或多個性質的劣化後的訓練原圖影像,例如但不侷限於:(a)以取樣(Sampling)方式來降低解析度(降低至720p,1080i或更低)、(b)以剪裁(crop)方式來縮小視野(縮小至120度視野或更低,或是將原長寬比為16:9的影像剪裁成4:3)、(c)以拋棄影格的方式來降低影格速率(降低至30FPS或更低)、(d)以擷取方式將stereo vision取出單一畫面、(e)捨棄視覺深度資訊、(f)捨棄視覺深度資訊、(g)將音訊轉換成立體雙聲道、降低採樣頻率(22.1khz或更低)、降低解析度(16bit或更低)、(h)加入雜訊(如高斯(Gaussian)、拉普拉斯(Laplacian)雜訊)、或/及(i)模糊化(如高斯模糊化)等等。
步驟513:將該些劣化後的訓練原圖影像藉由編碼器加以編碼壓縮成為複數個訓練編碼影像。
步驟514:藉由伺服器中的一訓練解碼器將該些訓練編碼影像解碼與解壓縮成為複數個訓練解碼影像。
步驟515:伺服器中的該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像(步驟516)。該至少一訓練數學運算式包含複數個訓練加權參數。
步驟517:以該比較與訓練模組來逐一比較該訓練輸出影像與於步驟511中所提供之相對應的該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數。該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化。每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟515中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後完成訓練後所得到的該些訓練加權參數會被取出並應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。
於圖十一所示本發明的另一實施例中,該訓練解碼影像被輸入至該人工神經網路模組以產生相對應的該訓練輸出影像。接著,該訓練輸出影像及相對應的該訓練原圖影像會被進行比較以便計算差異值。然後,使用例如:Adam演算法、隨機梯度下降法(Stochastic gradient descent;簡稱SGD)、或前向均方根梯度下降演算法(Root Mean Square Propagation;簡稱RMSProp)等等之數學優化算法來學習所述人工神經網路的加權參數(通常稱為加權weight w、偏異bias b),令該差異值越小越好,藉此該訓練輸出影像可以更接近於其相對應的高品質的訓練原圖影像。不同的方法可以被用於計算該差異值(或近似值)以適應不同需求;例如:均方誤差(mean square error;簡稱MSE)、L1正規化(L1 regularization)(使用絕對值誤差absolute value error)、峰值信噪比(peak signal-to-noise ratio;簡稱PSNR),結構相似性(structure similarity;簡稱SSIM)、生成對抗網路損失(generative adversarial networks loss;簡稱GAN loss)及/或其他方法等等。於本實施例中,以下方法被利用來計算差異值:(1)MSE、L1、及GAN loss 的加權平均;(2)MSE;(3)GAN loss並同時訓練鑑別器(Discriminator);(4)MSE的加權平均與MSE的邊際(Edge of MSE)。
請參閱圖十二,為本發明所述之人工神經網路模組的訓練程序的又一實施例(第五實施例)的示意圖。於本實施例的訓練程序中,神經網路的輸入可能不只是一個畫面,而可以是數個畫面。利用前面幾個畫面的資訊來幫忙增強當前影像,可得到更優化且更接近於原圖影像的增強效果。如圖十二所示實施例的訓練程序包括以下步驟:步驟521:在一訓練模式中提供由包括複數個訓練原圖影像所構成的訓練視頻;該些訓練原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。於本實施例中,該複數個訓練原圖影像的影格可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數。
步驟522:將該些訓練原圖影像藉由編碼器加以編碼壓縮成為由複數個訓練編碼影像構成的影像串流,其影格分別以Encoded_Frame(1)、Encoded_Frame(2)、...、Encoded_Frame(N-1)、Encoded_Frame(N)來代表,其中N為正整數。
步驟523:藉由伺服器中的一訓練解碼器依序將該些訓練編碼影像逐一解碼與解壓縮成為複數個訓練解碼影像,其影格分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(N-1)、Decoded_Frame(N)來代表,其中N為正整數;並擷取其中與第N個訓練原圖影像Frame(N)相對應的第N個訓練解碼影像的影格及之前的一或數個影格例如Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)來進行下一步驟524。其中,當N-2或N-1的值小於1時,以Decoded_Frame(1)影格來取代Decoded_Frame(N-2)與Decoded_Frame(N-1)。
步驟524:伺服器中的該人工神經網路模組接受該些訓練解碼影像並依序針對各個訓練原圖影像(Frame(N),其中N=3,4,5,...)使用至少一訓練數學運算式來逐一處理相對應的第N個訓練解碼影像及之前的一或數個訓練解碼影像的影格,亦即Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N),以產生一相對應的訓練輸出影像的影格(亦稱為Predict_Frame(N),如步驟525)。該至少一訓練數學運算式 包含複數個訓練加權參數。換句話說,該人工神經網路模組每次會接受輸入數個(例如三個)訓練解碼影像的影格Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)並輸出一個訓練輸出影像的影格Predict_Frame(N),如步驟525。
步驟526:以該比較與訓練模組來逐一比較該訓練輸出影像的影格Predict_Frame(N)與於步驟521中所提供之相對應的該訓練原圖影像的影格Frame(N)之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數。該些訓練加權參數會被調整成可讓該訓練輸出影像的影格Predict_Frame(N)與相對應之該訓練原圖影像的影格Frame(N)之間的差異最小化。然後藉由數學最佳化演算法(如ADAM/SGD/RMSProp)學習神經網路的權重,讓誤差盡量降低。每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟524中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。因需求不同,可使用不同方式來計算誤差(或相似性),例如,MSE(最小平方誤差),L1(絕對值誤差),PSNR(peak signal-to-noise ratio),SSIM(Structure similarity),GAN loss(generative adversarial networks loss)等等。本發明實際上使用的有以下幾種:(i)MSE,L1和GAN loss的加權平均;(i)MSE;(iii)GAN loss(同時訓練Discriminator);(iv)MSE和Edge的MSE的加權平均。
依據圖十二所示之藉由輸入數個畫面來產生一輸出畫面的神經網路訓練程序,所對應的本發明提高影像媒體品質的方法的實施例可如圖十三所示。圖十三是本發明提高影像串流的品質的方法的又一實施例的示意圖,其包括以下步驟:步驟531:在一伺服器501端提供複數原圖影像(該複數個原圖影像的影格可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數,如步驟531),該些原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。之後,該原圖影像被伺服器501內的一編碼器(步驟532)進行 編碼與壓縮以產生複數編碼後的影像,其影格分別以Encoded_Frame(1)、Encoded_Frame(2)、...、Encoded_Frame(N-1)、Encoded_Frame(N)來代表,其中N為正整數。該些編碼後的影像接著被以一2D影像串流(步驟533)的型式經由網路傳送給客戶端裝置。
值得一提的是,於步驟531至步驟533所述的實施例,是當該編碼後的影像是透過網路傳送時的實施例。然而,於本發明的又一實施例中,該編碼後的影像及其2D影像串流也可以是預先錄製好或預先儲存於可攜式記憶媒介(例如隨身碟、光碟、硬碟等等)內的視頻檔案,並由客戶端裝置直接讀取該視頻檔案來獲得該些編碼後的影像或其2D影像串流,無須透過網路來接收之。換言之,本發明也可在離線狀態下於客戶端裝置使用AI增強模組來增強影像品質;只需從可攜式記憶媒介讀取視頻檔案後,便能藉由AI增強模組將其影像品質提升後再輸出播放。因此,本發明相同的神經網路訓練方式,可以用在其他來源的視訊;如攝影機錄下的影像,錄製成檔案的視訊等等。利用相同的神經網路及機器學習方式,也能提高前述影像或視訊於播放時的視訊品質。例如,在4K電視播放DVD解析度影像、將手機錄製的影片在寬螢幕電視播放、或是增加影格以供慢動作播放等應用。
步驟534:由客戶端裝置502接受並將該些編碼後的影像解碼(步驟534)成複數解碼後的影像,其影格分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(N-1)、Decoded(N)來代表,其中N為正整數;並擷取其中與第N個原圖影像Frame(N)相對應的第N個解碼後影像及之前的一或數個訓練解碼影像的影格例如Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)來進行下一步驟524。其中,當N-2或N-1的值小於1時,以Decoded_Frame(1)影格來取代Decoded_Frame(N-2)與Decoded_Frame(N-1)。並且,使用一AI增強模組(又稱為增強神經網路模型,如步驟535)來輸入第N個解碼後的影像及之前的一或數個影格,亦即輸入Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N),以產生一相對應的增強後的影像的影格來作為輸出影像(亦稱為Enhanced_Frame(N),如步驟536)。換句話說,該AI增強模組每次會接受輸入數個(例如三個)解碼後的影像的影格 Decoded_Frame(N-2)、Decoded_Frame(N-1)、Decoded_Frame(N)並輸出一個增強後的影像的影格Enhanced_Frame(N),如步驟536。其中,該AI增強模組內的增強神經網路模型所使用的至少一數學運算式及其加權參數,就是藉由圖十二所示實施例之訓練程序所述的相同數學運算式及其加權參數。
於本實施例中,若將神經網路寫成數學運算式,會是以下的形式:X=Decode(Video stream);Y(N)=Network(X(N-2),X(N-1),X(n),W);其中X=(X(1),X(2),X(3),...);其中X(N)為解壓縮的視訊中第N個影格,亦即Decoded_Frame(N);所述Network為神經網路或機器學習演算法;W是訓練好的加權參數;Y(N)為增強後的第N個影格,亦即Enhanced_Frame(N)。
於圖十二及圖十三所示的實施例中,是以包含第N個解碼後影格的前幾個影格來作為神經網路的輸入值,並據以產生增強後(或訓練後)的第N個影格。然而,在本發明的另一實施例中,也可以改為使用第N個解碼後影像的影格本身及其前一個與後一個影格(亦即,Decoded_Frame(N-1)、Decoded_Frame(N)、Decoded_Frame(N+1))來作為神經網路的輸入值,並據以產生增強後(或訓練後)的第N個影格,又或者,所輸入的影格數量也不一定是3個,而可以是不同數量。由於此實施例所應用的神經網路的訓練程序及其使用於提高影像串流的品質的方法的實施方式大體上都類似於前述圖十二及圖十三所示的實施例,所以不再贅述。
請參閱圖十四,為本發明所述之人工神經網路模組的訓練程序的再一實施例(第六實施例)的示意圖。於本實施例的訓練程序中,神經網路的輸入可能不只個單純畫面,而是包含了音訊資料。如圖十四所示實施例的訓練程序包括以下步驟:步驟541:在一訓練模式中提供由包括複數個訓練原圖影像及音訊所構成的訓練視頻,該些訓練原圖影像及音訊分別以Frame(1)、 Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數。該些訓練原圖影像及音訊可以是由例如遊戲軟體或其他應用程式所產生的即時視頻及音訊、也可以是預先錄製好或預先儲存於記憶體內的視頻及音訊。
步驟542:將該些訓練原圖影像及音訊藉由編碼器加以編碼壓縮成為由複數個訓練編碼影像及音訊構成的影像串流,分別以Encoded_Frame(1)、Encoded_Frame(2)、...、Encoded_Frame(N-1)、Encoded_Frame(N)來代表,其中N為正整數。
步驟543:藉由一訓練解碼器依序將該些訓練編碼影像逐一解碼與解壓縮成為複數個訓練解碼影像,其分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(N-1)、Decoded_Frame(N)來代表,其中N為正整數。並且,依據該訓練編碼影像串流的影格率(FPS)來將解碼後的音訊區分為複數預定時間長度的音訊段,其分別以Audio(1)、Audio(2)、...、Audio(N-1)、Audio(N),並使每一音訊段Audio(N)分別對應於一訓練編碼影像Decoded_Frame(N)。舉例來說,倘若該訓練編碼影像串流的影格率為25FPS,則表示每一影格需搭配1/25秒也就是0.04秒的音訊段,所以,於步驟543中就會把所接收並解碼、解壓縮後的音訊以0.04秒為單位區分成複數音訊段。
步驟544:該人工神經網路模組接受該些訓練解碼影像及音訊段並使用至少一訓練數學運算式來逐一處理,以產生一相對應的訓練輸出影像及音訊段(如步驟545)。該至少一訓練數學運算式包含複數個訓練加權參數。
步驟546:以該比較與訓練模組來逐一比較該訓練輸出影像及音訊段與於步驟541中所提供之相對應的該訓練原圖影像Frame(N)及原始音訊段之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數。該些訓練加權參數會被調整成可讓該訓練輸出影像及音訊段與相對應之該訓練原圖影像及音訊段之間的差異最小化。由於本實施例所述加權參數的調整方式和前述相同所以不再贅述。
依據圖十四所示之輸入包含音訊段的解碼後影像來產生一輸出影像及音訊段的神經網路訓練程序,所對應的本發明提高影像媒體品質的方法的實施例可如圖十五所示。圖十五是本發明提高含音訊之影像串流 的品質的方法的另一實施例的示意圖,其包括以下步驟:步驟551:在一伺服器501端提供複數原圖影像及音訊(該複數個原圖影像可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數)。之後,該原圖影像及音訊被伺服器內的編碼器(步驟552)進行編碼與壓縮以產生複數編碼後的影像及音訊。該些編碼後的影像及音訊接著被以一含音訊之2D影像串流(步驟553)的型式經由網路傳送給客戶端裝置。同前所述,於另一實施例中,該編碼後含音訊之2D影像串流也可以是預先錄製好或預先儲存於可攜式記憶媒介(例如隨身碟、光碟、硬碟等等)內的視頻檔案,並由客戶端裝置直接讀取該視頻檔案來獲得該含音訊之2D影像串流。
步驟554:由客戶端裝置502接受並將該些編碼後的影像及音訊解碼成複數解碼後的影像及音訊段。並且,使用一AI增強模組(又稱為增強神經網路模型,如步驟555)來輸入第N個訓練解碼影像及相對應之音訊段,以產生一相對應的增強後的影像及音訊段(亦稱為Enhanced_Frame(N)及Enhanced_Audio(N),N為正整數,如步驟556)來作為輸出影像及音訊。其中,該AI增強模組內的增強神經網路模型所使用的至少一數學運算式及其加權參數,就是藉由圖十四所示實施例之訓練程序所述的相同數學運算式及其加權參數。
於本實施例中,若將神經網路寫成數學運算式,會是以下的形式:X=Decode(Video/Audio stream);Y(N)=Network(X(N-2),X(N-1),X(n),W);其中X=(X(1),X(2),X(3),...);其中X(N)為解壓縮的視訊中第N個影格及相對應的音訊段;所述Network為神經網路或機器學習演算法;W是訓練好的加權參數;Y(N)為增強後的第N個影格及相對應的音訊段,亦即Enhanced_Frame(N)及Enhanced_Audio(N)。
請參閱圖十六,為本發明所述之人工神經網路模組的訓練程序的更一實施例的示意圖。於本實施例的訓練程序中,神經網路的輸入可 以是具有較低影格速率的畫面,並由神經網路來產生具有較高影格速率的畫面,可以提高視頻的影格速率。如圖十六所示實施例的訓練程序包括以下步驟:步驟561:在一訓練模式中提供由包括複數個訓練原圖影像所構成的訓練視頻;該些訓練原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。於本實施例中,該複數個訓練原圖影像(訓練視頻)具有相對較高影格速率(例如60FPS或更高)且其每秒包含的影格可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數。
步驟562:將該些訓練原圖影像(訓練視頻)藉由間隔性地丟棄影格的方式來降低其影格速率,例如,將單數或偶數影格丟棄使得降速後的影像其每秒包含的影格數量減半(也就是影格速率減半,例如降低至30FPS),降速後影像可以L_Frame(1)、L_Frame(2)、...、L_Frame(M-1)、L_Frame(M)來代表,其中N=2M且M為正整數。換言之,L_Frame(M)的內容是相同於Frame(2M),且原圖影像中的第2M-1個影格Frame(2M-1)會被丟棄。接著,將降速後的影像加以編碼壓縮後再加以解碼解壓縮,並取得解碼後的訓練解碼影像其每秒包含的影格可以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(M-1)、Decoded_Frame(M)來代表,如步驟563。於本實施例中,由於原圖影像有一半的影格被丟棄,使影格速率由60FPS降為30FPS,所以,訓練解碼影像的第M個影格Decoded_Frame(M)是對應於原圖影像的第2M個影格Frame(2M)的編碼又解碼後的結果。
步驟564:伺服器中的該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理相對應的第M個訓練解碼影像及之前或之後的一或數個訓練解碼影像,亦即Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m),以產生兩個相對應的訓練輸出影像(亦稱為Predict_Frame(N-1)、Predict_Frame(N),其中N=2M,如步驟565)。其中n及m為大於或等於0的整數,且當M-n小於1時則以Decoded_Frame(1)來代替Decoded_Frame(M-n),若M+m大於2M時則以Decoded_Frame(2M) 來代替Decoded_Frame(M+m)來輸入該人工神經網路模組進行處理。該至少一訓練數學運算式包含複數個訓練加權參數。換句話說,該人工神經網路模組每次會接受輸入數個(例如三個、四個或更多個)訓練解碼影像Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)並輸出兩個訓練輸出影像Predict_Frame(N-1)、Predict_Frame(N),如步驟565。
步驟566:以該比較與訓練模組來分別比較該訓練輸出影像Predict_Frame(N-1)、Predict_Frame(N)與於步驟561中所提供之相對應的該訓練原圖影像Frame(N-1)、Frame(N)之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數。該些訓練加權參數會被調整成可讓該訓練輸出影像Predict_Frame(N-1)、Predict_Frame(N)與相對應之該訓練原圖影像Frame(N-1)、Frame(N)之間的差異最小化。然後藉由數學最佳化演算法(如ADAM/SGD/RMSProp)學習神經網路的權重,讓誤差盡量降低。每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟564中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。
依據圖十六所示之藉由輸入數個畫面來產生一輸出畫面的神經網路訓練程序,所對應的本發明提高影像媒體品質的方法的實施例可如圖十七所示。圖十七是本發明提高影像串流的品質的方法的更一實施例的示意圖,其包括以下步驟:步驟571:在一伺服器501端提供具相對較低影格速率(例如30FPS)的複數原圖影像(該複數個原圖影像可以Frame(1)、Frame(2)、...、Frame(M-1)、Frame(M)來代表,其中M為正整數,如步驟571),該些原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。之後,該原圖影像被伺服器501內的一編碼器(步驟532)進行編碼與壓縮以產生複數編碼後的影像,其分別以Encoded_Frame(1)、Encoded_Frame(2)、...、Encoded_Frame(M-1)、 Encoded_Frame(M)來代表。該些編碼後的影像接著被以一2D影像串流(步驟573)的型式經由網路傳送給客戶端裝置。
步驟574:由客戶端裝置502接受並將該些編碼後的影像解碼成複數解碼後的影像,其影格分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(M-1)、Decoded(M)來代表;並擷取其中與第M個解碼後影像及其之前或之後的一或數個訓練解碼影像例如Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)來進行下一步驟575。其中n及m為大於或等於0的整數,且當M-n小於1時則以Decoded_Frame(1)來代替Decoded_Frame(M-n),若M+m大於2M時則以Decoded_Frame(2M)來代替Decoded_Frame(M+m)來輸入該人工神經網路模組進行處理。之後,使用一AI增強模組(又稱為增強神經網路模型,如步驟575)來輸入第M個訓練解碼影像及之前或之後的一或數個訓練解碼影像,亦即輸入Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m),以產生兩個相對應的增強後的影像來作為輸出影像(亦稱為Enhanced_Frame(N-1)及Enhanced_Frame(N),如步驟576)。換句話說,該AI增強模組每次會接受輸入數個(例如三個、四個或更多)解碼後的影像的影格Decoded_Frame(M-n)、...、Decoded_Frame(M)、...、Decoded_Frame(M+m)並輸出兩個增強後的影像的影格Enhanced_Frame(N-1)及Enhanced_Frame(N),並以60FPS的速度來播放這些增強後的影像,如步驟576。其中,該AI增強模組內的增強神經網路模型所使用的至少一數學運算式及其加權參數,就是藉由圖十六所示實施例之訓練程序所述的相同數學運算式及其加權參數。
於本實施例中,若將神經網路寫成數學運算式,會是以下的形式:X=Decode(30FPS Video stream);Y(2M-1),Y(2M)=Network(X(M-n),...,X(M),...,X(M+n),W);其中X=(X(1),X(2),X(3),...);其中X(M)為解壓縮的視訊中第M個影格;所述Network為神經網路或機器學習演算法;W是訓練好的加權參數; Y(N)為增強後的第N個影格,亦即Enhanced_Frame(N),其中N=2M。
請參閱圖十八,為本發明所述之人工神經網路模組的訓練程序的又更一實施例的示意圖。有時網路會掉格,藉由此訓練程序,可讓人工神經網路模組具備自動事先補上預測的影格(Frame)、或者補齊丟失的Frame的功能。於本實施例的訓練程序中,神經網路的輸入可能不只是一個畫面,而可以是數個畫面。利用前面幾個畫面的資訊來幫忙補齊或預測丟失的影格。如圖十八所示實施例的訓練程序包括以下步驟:步驟581:在一訓練模式中提供由包括複數個訓練原圖影像所構成的訓練視頻;該些訓練原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。於本實施例中,該複數個訓練原圖影像的影格可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數。
步驟582:將該些訓練原圖影像藉由編碼器加以編碼壓縮成為由複數個訓練編碼影像構成的影像串流,然後再藉由訓練解碼器依序將該些訓練編碼影像逐一解碼與解壓縮成為複數個訓練解碼影像,其影格分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(N-1)、Decoded_Frame(N)來代表,其中N為正整數。
步驟583:假設訓練解碼影像的第N個影格Decoded_Frame(N)是丟失或需要被預測的影格,此時,擷取該第N個訓練解碼影像影格之前的一或數個影格Decoded_Frame(N-n),...,Decoded_Frame(N-1)來進行下一步驟524。其中,n為正整數且n小於N。
步驟584:伺服器中的該人工神經網路模組接受該些訓練解碼影像的影格並使用至少一訓練數學運算式來逐一處理相對應的第N個影格之前的一或數個訓練解碼影像的影格,亦即Decoded_Frame(N-n),...,Decoded_Frame(N-1),以產生一相對應的訓練輸出影像(亦稱為Predict_Frame(N),如步驟585)。倘若有連續數個影格丟失或需被預測時,則於此步驟584所產生的訓練輸出影像的影格Predict_Frame(N)可以當作訓練解碼影像的第N個影格Decoded_Frame(N)並送回的該人工神經網路模組以供計算出訓練輸出影像的下一個影格Predict_Frame(N+1)。以 此類推,該人工神經網路模組可以藉由繼續將其產生的訓練輸出影像的影格Predict_Frame(N)、Predict_Frame(N+1)送回人工神經網路模組,來連續性地計算(預測)出訓練輸出影像的後續數個影格;換言之,於本實施例中,可以藉由將位於第N個影格之前的數個訓練解碼影像的影格(Decoded_Frame(N-n),...,Decoded_Frame(N-1))輸入人工神經網路模組,並藉以產生包含第N格影格之後的後續數個影格(Predict_Frame(N),Predict_Frame(N+1),...,Predict_Frame(N+m)),其中m為正整數,如步驟585。
步驟586:以該比較與訓練模組來逐一比較該些訓練輸出影像的影格Predict_Frame(N),Predict_Frame(N+1),...,Predict_Frame(N+m)與於步驟581中所提供之相對應的該訓練原圖影像的影格Frame(N),Frame(N+1),...,Frame(N+m)之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數。該些訓練加權參數會被調整成可讓該訓練輸出影像Predict_Frame(N)與相對應之該訓練原圖影像Frame(N)之間的差異最小化。然後藉由數學最佳化演算法(如ADAM/SGD/RMSProp)學習神經網路的權重,讓誤差盡量降低。每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟584中處理下一個訓練解碼影像。在進行過預定數量的訓練輸出影像與相對應之訓練原圖影像的比較、以及預定次數的訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的AI增強模組內來作為其數學運算式的加權參數。
依據圖十八所示之藉由輸入在第N個影格之前的數個影格來產生第N個影格及其後數個影格輸出影像的神經網路訓練程序,所對應的本發明提高影像媒體品質的方法的實施例可如圖十九所示。圖十九是本發明提高影像串流的品質的方法的又更一實施例的示意圖,其包括以下步驟:步驟591:在一伺服器501端提供複數原圖影像(該複數個原圖影像的影格可以Frame(1)、Frame(2)、...、Frame(N-1)、Frame(N)來代表,其中N為正整數,如步驟591),該些原圖影像可以是由例如遊戲軟體或其他應用程式所產生的即時視頻、也可以是預先錄製好或預先儲存於記憶體內的視頻。之後,該原圖影像被伺服器501內的一編碼器(步驟592)進行 編碼與壓縮以產生複數編碼後的影像,其影格分別以Encoded_Frame(1)、Encoded_Frame(2)、...、Encoded_Frame(N-1)、Encoded_Frame(N)來代表。該些編碼後的影像接著被以一2D影像串流(步驟593)的型式經由網路傳送給客戶端裝置。
步驟594:由客戶端裝置502接受並將該些編碼後的影像解碼(步驟594)成複數解碼後的影像,其影格分別以Decoded_Frame(1)、Decoded_Frame(2)、...、Decoded_Frame(N-1)、Decoded(N)來代表。接著,假設在網路傳送過程中,因為網路不穩而導致第N個影格、或是從第N個起算數個(m個)影格被丟失時,則如步驟594所示,本發明會擷取其中在第N個影格之前的一或數個訓練解碼影像的影格,亦即Decoded_Frame(N-n),...,Decoded_Frame(N-1)來進行下一步驟595。
步驟595:使用AI增強模組(又稱為增強神經網路模型)來輸入第N個影格之前的一或數個訓練解碼影像的影格,亦即Decoded_Frame(N-n),...,Decoded_Frame(N-1),以產生一或數個(m+1個)相對應的增強後的影像來作為輸出影像,其影格為Enhanced_Frame(N),...,Enhanced_Frame(N+m),如步驟596)。換句話說,該AI增強模組每次會接受輸入數個解碼後的影像影格Decoded_Frame(N-n),...,Decoded_Frame(N-1)並據以輸出一或數個增強後的影像Enhanced_Frame(N),...,Enhanced_Frame(N+m),如步驟596。其中,該AI增強模組內的增強神經網路模型所使用的至少一數學運算式及其加權參數,就是藉由圖十八所示實施例之訓練程序所述的相同數學運算式及其加權參數。
於本實施例中,若將神經網路寫成數學運算式,會是以下的形式:X=Decode(Video stream);Y(N),...,Y(N+m)=Network(X(N-n),...,X(n),W);其中X=(X(1),X(2),X(3),...);其中X(N)為解壓縮的視訊中第N個影格,亦即Decoded_Frame(N);所述Network為神經網路或機器學習演算法;W是訓練好的加權參數;Y(N)為增強後的第N個影格,亦即Enhanced_Frame(N)。
圖二十是本發明處理具YUV420格式之解碼後的影像的程序的又另一實施例示意圖。實作上面,假設每個影格Frame有m個通道channel(如RGB視訊,m=3),會將X(N-k+1),...,X(N-1),X(N)依照通道合併相疊(Concat),看成是一個mk個通道的輸入。如原始視訊每個影格有m個通道,輸入k個影格,可以將輸入視為mk個通道。依此原理,如圖二十所示本發明處理具YUV420格式之解碼後的影像的程序包括:步驟601:接受並處理具YUV420顏色格式之訓練解碼影像,其中,該訓練解碼影像包括3通道,且n個影格Concat合併(疊)成3n通道,其中n為正整數。
步驟602:提取該訓練解碼影像中的Y-part資料以產生Y-part輸出資料,其具有1n通道;步驟603:提取該訓練解碼影像中的UV-part資料,其具有2n通道;步驟604:使用具兩倍放大的神經網路來處理該訓練解碼影像的UV-part資料以產生具2n通道的UV-part輸出資料(例如:步伐值Stride=2於轉置卷積中;如步驟604);步驟605:以合併函數Concat(concatenates)來把該Y-part輸出資料及該UV-part輸出資料相疊(合併);步驟606:以一多層神經網路接收步驟605所相疊後的資料並據以產生3k通道(其中k為大於1的常數且為正整數);步驟607:將步驟606產生的資料輸出為具有k影格且為3通道RGB的該訓練輸出影像。
以上所述僅為本發明的較佳實施例,並非用來侷限本發明的可實施範圍。本發明的保護範圍應以申請專利範圍內容所載為準。任何熟習本項技術之人對於本發明的各種修改與改變,都可能未偏離本發明的發明精神與可實施範圍,而仍受到本發明的申請專利範圍內容所涵蓋。
301-308‧‧‧流程步驟
Claims (24)
- 一種提高影像媒體品質的方法,包括:步驟(A):在一伺服器中執行一第一應用程式;該第一應用程式依據至少一指令來產生複數原圖影像;該複數原圖影像被該伺服器內的一編碼器進行編碼與壓縮以產生複數編碼後的影像;步驟(B):在遠離該伺服器的一客戶端裝置內執行有一第二應用程式;該第二應用程式是關連於且合作於該第一應用程式;藉此,該客戶端裝置可供一使用者操作並產生與發送該指令給該伺服器;步驟(C):該客戶端裝置將該指令經由一網路傳送給該伺服器,然後經由該網路接收由該伺服器產生且相對應於該指令的該些編碼後的影像;步驟(D):該客戶端裝置將該些編碼後的影像解碼成複數解碼後的影像,並使用一AI增強模組來增強該些解碼後的影像的品質,以產生複數增強後的影像;其中,該AI增強模組藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所預先得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的該些增強後的影像在視覺上將會比該些解碼後的影像更接近於該些原圖影像;以及步驟(E):該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出影像;其中該AI增強模組的該至少一數學運算式是藉由該伺服器內的一人工神經網路模組所執行的一訓練程序來定義;該訓練程序包括:步驟(a):在一訓練模式中執行該第一應用程式以產生複數個訓練原圖影像;步驟(b):將該些訓練原圖影像藉由該編碼器編碼成為複數個訓練編碼影像;步驟(c):藉由該伺服器中的一訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟(d):該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像;該至少一訓練數學運算式包含複數個訓練加權參數; 步驟(e):以一比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟(d)中處理下一個該訓練解碼影像;其中,在進行過預定數量的該訓練輸出影像與相對應之該訓練原圖影像的比較、以及預定次數的該訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的該AI增強模組內來作為其數學運算式的加權參數。
- 如申請專利範圍第1項所述的方法,其中,當該訓練解碼影像和該訓練輸出影像具有相同顏色格式時,該人工神經網路模組是一殘差網路模組;並且在步驟(d)中,每一個該訓練輸出影像都是相對應之該訓練解碼影像與該殘差網路模組處理該訓練解碼影像的輸出的加總。
- 如申請專利範圍第1項所述的方法,其中,在步驟(e)中,該比較與訓練模組使用一鑑別器(Discriminator)來比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以收斂生成對抗網路損失(generative adversarial networks loss;簡稱GAN loss)及調整該訓練加權參數。
- 如申請專利範圍第3項所述的方法,其中,該訓練及比較模組的該鑑別器是以下列方式訓練:該訓練原圖影像包括n通道,其中n為大於2的正整數;該訓練解碼影像包括m通道,其中m為大於2的正整數;於步驟(d)中,該人工神經網路模組處理該m通道的訓練解碼影像並產生n通道的訓練輸出影像;該n通道的訓練輸出影像及與其相對應之該m通道的訓練解碼影像被結合以產生複數個具有m+n通道的模擬假樣本(false samples);並且,該n通道之訓練原圖影像和其相對應之該m通道的訓練解碼影像兩者結合以產生複數個具有m+n通道的模擬真樣本;於步驟(e)中,該m+n通道的模擬假樣本和該m+n通道的模擬真樣本被回饋至該比較與訓練模組的鑑別器以供訓練該鑑別器去偵測及分 辨該模擬假樣本和該模擬真樣本的能力。
- 如申請專利範圍第1項所述的方法,其中:該訓練原圖影像是的顏色格式是YUV420,且該訓練解碼影像的顏色格式是RGB或YUV420;於步驟(d)中,該人工神經網路模組包括一第一神經網路以及一第二神經網路;該第二神經網路是一卷積神經網路(Convolutional Neural Network;簡稱CNN);該第一神經網路接受並處理該些訓練解碼影像以供產生複數個第一輸出影像X2其具有和該訓練原圖影像相同的編碼格式;該第二神經網路接受並處理該些第一輸出影像X2以供產生複數個第二輸出影像;該第一輸出影像X2和該第二輸出影像兩者被相加以產生該訓練輸出影像;於步驟(e)中,該比較與訓練模組包含一第一比較器及一第二比較器;該第一比較器比較該第一輸出影像X2與其相對應之該訓練原圖影像之間的差異以供訓練該第一神經網路;該第二比較器比較該訓練輸出影像與其相對應之該訓練原圖影像之間的差異以供訓練該第二神經網路。
- 如申請專利範圍第5項所述的方法,其中,於步驟(d)中,該第一神經網路接受並處理具YUV420顏色格式之該訓練解碼影像的步驟包括:提取該訓練解碼影像中的Y-part資料,由具標準大小的該第一神經網路來處理該訓練解碼影像的Y-part資料以產生Y-part輸出資料;提取該訓練解碼影像中的UV-part資料,由具兩倍放大的該第一神經網路來處理該訓練解碼影像的UV-part資料以產生具N通道的UV-part輸出資料;將該Y-part輸出資料與該UV-part輸出資料相加以產生該訓練輸出影像。
- 如申請專利範圍第5項所述的方法,其中,於步驟(d)中,該第一神經網路接受並處理具YUV420顏色格式之該訓練解碼影像的步驟包括:該訓練解碼影像包括N通道,且N是大於2的正整數;提取該訓練解碼影像中的Y-part資料;提取該訓練解碼影像中的UV-part資料,並使用具兩倍放大的該第一神經網路來處理該訓練解碼影像的UV-part資料以產生具N-1通道的 UV-part輸出資料;以合併函數Concat(concatenates)處理該Y-part資料及該UV-part資料以產生該訓練輸出影像。
- 如申請專利範圍第1項所述的方法,其中,該客戶端裝置的該AI增強模組的該至少一數學運算式包括複數加權參數;該加權參數是和該解碼後的影像及相對應之該原圖影像之間的差異相關連,且是藉由該伺服器內的一人工神經網路模組所執行的一訓練程序來定義;其中,該加權參數是以下其中之一:預先儲存於該客戶端裝置中、當該客戶端裝置執行該第二應用程式時才從該伺服器下載至該客戶端裝置。
- 如申請專利範圍第8項所述的方法,其中:由該第一應用程式所產生的該些原圖影像可以被區分為複數組場景,每一場景各包含複數該原圖影像;客戶端裝置中的該AI增強模組所使用的該些加權參數也被區分為複數組,每一組分別包含複數個該加權參數而且是對應於其中之一該場景;對應於不同該場景之該原圖影像的該些解碼後的影像會被同一個該AI增強模組使用該些不同組之該加權參數中與該場景相對應的該組加權參數來進行影像增強處理;其中,當該些不同組的加權參數是全部預先儲存於該客戶端裝置內時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會被運用於該AI增強模組中以供產生該增強後的影像;其中,當該些不同組的加權參數是全部儲存於該伺服器端時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會由伺服器被下載至該客戶端裝置,然後被運用於該AI增強模組中以供產生該增強後的影像。
- 如申請專利範圍第1項所述的方法,其中,在該訓練模式中,該複數訓練原圖影像是高品質的影像;該些高品質的訓練原圖影像是符合以下一或多個性質的影像:具有較高解析度(Resolution)例如4K解析度或更高,具有較大視野(field of view;簡稱FOV)例如150度或更高,具有較高影格速率(FPS)例如60FPS或更高,擁有雙眼立體資訊(stereo vision),擁有視覺深度資訊,擁有額外顏色資訊例如紅外線或紫外線,擁有較佳音訊例如多聲道、高採樣頻率(44khz或更高)或高解析度(audio bit depth 24bit或更高);於步驟(a)與步驟(b)之間更增加以下步驟:影像劣化處理;以一劣化模組將該些訓練原圖影像加以劣化以降低其影像品質,以獲得以獲得符合以下所述一或多個性質的劣化後的訓練原圖影像:以取樣(Sampling)方式來降低解析度(降低至720p,1080i或更低),以剪裁(crop)方式來縮小視野(縮小至120度視野或更低、或是將原長寬比為16:9的影像剪裁成4:3),以拋棄影格的方式來降低影格速率(降低至30FPS或更低),以擷取方式將雙眼立體資訊取出單一畫面,捨棄視覺深度資訊,捨棄視覺深度資訊,將音訊轉換成立體雙聲道、降低採樣頻率(22.1khz或更低)、降低解析度(16bit或更低),加入雜訊(如高斯(Gaussian)、拉普拉斯(Laplacian)雜訊),模糊化(如高斯模糊化);於步驟(b)中,將該些劣化後的訓練原圖影像藉由該編碼器加以編碼壓縮成為複數個該訓練編碼影像。
- 如申請專利範圍第1項所述的方法,其中,於步驟(d)中,在該訓練模式中,該人工神經網路模組是接受該訓練解碼影像的數個影格並據以產生並輸出該訓練輸出影像的至少一個影格;並且,於步驟(D)中,在客戶端裝置中,該AI增強模組是接受該解碼後的影像的數個影格並據以產生並輸出該增強後的影像的至少一個影格。
- 如申請專利範圍第1項所述的方法,其中,該人工神經網路模組接受及處理該訓練解碼影像以及一音訊;並且,該AI增強模組接受及處理該解碼後的影像以及另一音訊。
- 一種提高影像媒體品質的方法,包括:提供一包括一AI增強模組的一客戶端裝置,該AI增強模組包括預先定義的至少一數學運算式,且該至少一數學運算式中包含有至少一加權參數;該至少一數學運算式的該至少一加權參數是藉由一伺服器內的一人工神經網路模組所執行的一訓練程序來事先定義;由該客戶端裝置接受複數個編碼後的影像;該客戶端裝置將該些編碼後的影像解碼成複數解碼後的影像,並使 用該AI增強模組的該至少一數學運算式及該至少一加權參數來處理該些解碼後的影像,以產生複數增強後的影像;以及該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出影像;其中,該訓練程序是於該伺服器中進行且包括:步驟(a):在一訓練模式中提供複數個訓練原圖影像;步驟(b):將該些訓練原圖影像藉由一編碼器編碼成為複數個訓練編碼影像;步驟(c):藉由一訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟(d):該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像;該至少一訓練數學運算式包含複數個訓練加權參數;步驟(e):以一比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟(d)中處理下一個該訓練解碼影像;其中,在進行過預定數量的該訓練輸出影像與相對應之該訓練原圖影像的比較、以及預定次數的該訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的該AI增強模組內來作為其數學運算式的加權參數。
- 如申請專利範圍第13項所述的方法,其中,由該客戶端裝置接受的該複數個編碼後的影像是由下列步驟獲得:在該伺服器中執行一第一應用程式;該第一應用程式依據至少一指令來產生複數原圖影像;該複數原圖影像被該伺服器內的一編碼器進行編碼與壓縮以產生該複數編碼後的影像;在該客戶端裝置內執行一第二應用程式;該第二應用程式是關連於且合作於該第一應用程式;藉此,該客戶端裝置可供一使用者操作並產 生與發送該指令給該伺服器;該客戶端裝置將該指令經由一網路傳送給該伺服器,然後經由該網路接收由該伺服器產生且相對應於該指令的該些編碼後的影像。
- 如申請專利範圍第13項所述的方法,其中,由該客戶端裝置接受的該複數個編碼後的影像是預先儲存於一可攜式記憶媒介內的一視頻檔案,並由該客戶端裝置直接讀取該視頻檔案來獲得該些編碼後的影像。
- 如申請專利範圍第14項所述的方法,其中:由該第一應用程式所產生的該些原圖影像可以被區分為複數組場景,每一場景各包含複數該原圖影像;客戶端裝置中的該AI增強模組所使用的該些加權參數也被區分為複數組,每一組分別包含複數個該加權參數而且是對應於其中之一該場景;對應於不同該場景之該原圖影像的該些解碼後的影像會被同一個該AI增強模組使用該些不同組之該加權參數中與該場景相對應的該組加權參數來進行影像增強處理;其中,當該些不同組的加權參數是全部預先儲存於該客戶端裝置內時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會被運用於該AI增強模組中以供產生該增強後的影像;其中,當該些不同組的加權參數是全部儲存於該伺服器端時,每當該場景改變,相對應於改變後之新場景的該組加權參數就會由伺服器被下載至該客戶端裝置,然後被運用於該AI增強模組中以供產生該增強後的影像。
- 如申請專利範圍第13項所述的方法,其中,在該訓練模式中,該複數訓練原圖影像是高品質的影像;該些高品質的訓練原圖影像是符合以下一或多個性質的影像:具有較高解析度(Resolution)例如4K解析度或更高,具有較大視野(field of view;簡稱FOV)例如150度或更高,具有較高影格速率(FPS)例如60FPS或更高,擁有雙眼立體資訊(stereo vision),擁有視覺深度資訊,擁有額外顏色資訊例如紅外線或紫外線,擁有較佳音訊例如多聲道、高採樣頻率(44khz或更高)或高解析度(audio bit depth 24bit或更高); 於步驟(a)與步驟(b)之間更增加以下步驟:影像劣化處理;以一劣化模組將該些訓練原圖影像加以劣化以降低其影像品質,以獲得以獲得符合以下所述一或多個性質的劣化後的訓練原圖影像:以取樣(Sampling)方式來降低解析度(降低至720p,1080i或更低),以剪裁(crop)方式來縮小視野(縮小至120度視野或更低、或是將原長寬比為16:9的影像剪裁成4:3),以拋棄影格的方式來降低影格速率(降低至30FPS或更低),以擷取方式將雙眼立體資訊取出單一畫面,捨棄視覺深度資訊,捨棄視覺深度資訊,將音訊轉換成立體雙聲道、降低採樣頻率(22.1khz或更低)、降低解析度(16bit或更低),加入雜訊(如高斯(Gaussian)、拉普拉斯(Laplacian)雜訊),模糊化(如高斯模糊化);於步驟(b)中,將該些劣化後的訓練原圖影像藉由該編碼器加以編碼壓縮成為複數個該訓練編碼影像。
- 如申請專利範圍第13項所述的方法,其中,於步驟(d)中,在該訓練模式中,該人工神經網路模組是接受該訓練解碼影像的數個影格並據以產生並輸出該訓練輸出影像的至少一個影格;並且,在客戶端裝置中,該AI增強模組是接受該解碼後的影像的數個影格並據以產生並輸出該增強後的影像的至少一個影格。
- 如申請專利範圍第13項所述的方法,其中,該人工神經網路模組接受及處理該訓練解碼影像以及一音訊;並且,該AI增強模組接受及處理該解碼後的影像以及另一音訊。
- 一種提高影像媒體品質的方法,包括:利用一客戶端裝置來針對複數編碼後的影像進行解碼,該複數編碼後的影像是藉由將複數原圖影像進行編碼所產生;該客戶端裝置將該複數編碼後的影像解碼成為複數解碼後的影像,並使用一AI增強模組來增強該些解碼後的影像的品質,以產生複數增強後的影像;其中,該AI增強模組藉由分析該些解碼後的影像與相對應之該些原圖影像之間的差異所預先得到的至少一數學運算式來處理該些解碼後的影像;藉此,所得到的該些增強後的影像在視覺上將會比該些解碼後的影像更接近於該些原圖影像;以及該客戶端裝置將該增強後的影像輸出至一螢幕以作為被播放的輸出 影像;其中,該客戶端裝置的該AI增強模組的該至少一數學運算式包括複數加權參數;該加權參數是和該解碼後的影像及相對應之該原圖影像之間的差異相關連;該些原圖影像可以被區分為複數組場景,每一場景各包含複數該原圖影像;客戶端裝置中的該AI增強模組所使用的該些加權參數也被區分為複數組,每一組分別包含複數個該加權參數而且是對應於其中之一該場景;在該客戶端裝置使用該AI增強模組來增強該些解碼後的影像的品質以產生複數增強後的影像的步驟中,對應於不同該場景之該原圖影像的該些解碼後的影像會被同一個該AI增強模組使用該些不同組之該加權參數中與該場景相對應的該組加權參數來進行影像增強處理。
- 如申請專利範圍第20項所述的方法,其中,該至少一數學運算式包括複數加權參數,其是藉由該伺服器內的一人工神經網路模組所執行的一訓練程序來事先定義;該訓練程序是於該伺服器中進行且包括:步驟(a):在一訓練模式中提供複數個訓練原圖影像;步驟(b):將該些訓練原圖影像藉由一編碼器編碼成為複數個訓練編碼影像;步驟(c):藉由一訓練解碼器將該些訓練編碼影像解碼成為複數個訓練解碼影像;步驟(d):該人工神經網路模組接受該些訓練解碼影像並使用至少一訓練數學運算式來逐一處理該訓練解碼影像,以產生複數個訓練輸出影像;該至少一訓練數學運算式包含複數個訓練加權參數;步驟(e):以一比較與訓練模組來逐一比較該訓練輸出影像與相對應之該訓練原圖影像之間的差異,並據以調整該至少一訓練數學運算式的該些訓練加權參數;該些訓練加權參數會被調整成可讓該訓練輸出影像與相對應之該訓練原圖影像之間的差異最小化;每一次當該些訓練加權參數被調整後,該些調整後的訓練加權參數就會被回饋給該至少一訓練數學運算式以供在步驟(d)中處理下一個該訓練解碼影像; 其中,在進行過預定數量的該訓練輸出影像與相對應之該訓練原圖影像的比較、以及預定次數的該訓練加權參數的調整程序後,最後所得到的該些訓練加權參數會被應用在該客戶端裝置的該AI增強模組內來作為其數學運算式的加權參數。
- 如申請專利範圍第21項所述的方法,其中,在該訓練模式中,該複數訓練原圖影像是高品質的影像;該些高品質的訓練原圖影像是符合以下一或多個性質的影像:具有較高解析度(Resolution)例如4K解析度或更高,具有較大視野(field of view;簡稱FOV)例如150度或更高,具有較高影格速率(FPS)例如60FPS或更高,擁有雙眼立體資訊(stereo vision),擁有視覺深度資訊,擁有額外顏色資訊例如紅外線或紫外線,擁有較佳音訊例如多聲道、高採樣頻率(44khz或更高)或高解析度(audio bit depth 24bit或更高);於步驟(a)與步驟(b)之間更增加以下步驟:影像劣化處理;以一劣化模組將該些訓練原圖影像加以劣化以降低其影像品質,以獲得以獲得符合以下所述一或多個性質的劣化後的訓練原圖影像:以取樣(Sampling)方式來降低解析度(降低至720p,1080i或更低),以剪裁(crop)方式來縮小視野(縮小至120度視野或更低、或是將原長寬比為16:9的影像剪裁成4:3),以拋棄影格的方式來降低影格速率(降低至30FPS或更低),以擷取方式將雙眼立體資訊取出單一畫面,捨棄視覺深度資訊,捨棄視覺深度資訊,將音訊轉換成立體雙聲道、降低採樣頻率(22.1khz或更低)、降低解析度(16bit或更低),加入雜訊(如高斯(Gaussian)、拉普拉斯(Laplacian)雜訊),模糊化(如高斯模糊化);於步驟(b)中,將該些劣化後的訓練原圖影像藉由該編碼器加以編碼壓縮成為複數個該訓練編碼影像。
- 如申請專利範圍第21項所述的方法,其中,於步驟(d)中,在該訓練模式中,該人工神經網路模組是接受該訓練解碼影像的數個影格並據以產生並輸出該訓練輸出影像的至少一個影格;並且,在客戶端裝置中,該AI增強模組是接受該解碼後的影像的數個影格並據以產生並輸出該增強後的影像的至少一個影格。
- 如申請專利範圍第21項所述的方法,其中,該人工神經網路模組接受及 處理該訓練解碼影像以及一音訊;並且,該AI增強模組接受及處理該解碼後的影像以及另一音訊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/027,022 | 2018-07-03 | ||
US16/027,022 US10284432B1 (en) | 2018-07-03 | 2018-07-03 | Method for enhancing quality of media transmitted via network |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202006662A TW202006662A (zh) | 2020-02-01 |
TWI805784B true TWI805784B (zh) | 2023-06-21 |
Family
ID=66334032
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108121107A TWI805784B (zh) | 2018-07-03 | 2019-06-18 | 提高影像品質的方法 |
TW112118376A TWI826321B (zh) | 2018-07-03 | 2019-06-18 | 提高影像品質的方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112118376A TWI826321B (zh) | 2018-07-03 | 2019-06-18 | 提高影像品質的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10284432B1 (zh) |
JP (1) | JP7448178B2 (zh) |
CN (1) | CN110689589A (zh) |
TW (2) | TWI805784B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11743402B2 (en) | 2015-02-13 | 2023-08-29 | Awes.Me, Inc. | System and method for photo subject display optimization |
US10802489B1 (en) | 2017-12-29 | 2020-10-13 | Apex Artificial Intelligence Industries, Inc. | Apparatus and method for monitoring and controlling of a neural network using another neural network implemented on one or more solid-state chips |
US11265446B2 (en) * | 2018-10-18 | 2022-03-01 | Sony Corporation | Frame handling for ML-based upscaling |
CN110120024B (zh) * | 2019-05-20 | 2021-08-17 | 百度在线网络技术(北京)有限公司 | 图像处理的方法、装置、设备和存储介质 |
US11367290B2 (en) | 2019-11-26 | 2022-06-21 | Apex Artificial Intelligence Industries, Inc. | Group of neural networks ensuring integrity |
US12081646B2 (en) | 2019-11-26 | 2024-09-03 | Apex Ai Industries, Llc | Adaptively controlling groups of automated machines |
JP7407604B2 (ja) * | 2020-01-21 | 2024-01-04 | キヤノン株式会社 | 推論装置、学習装置、推論方法、学習方法、及びプログラム |
KR20210128091A (ko) | 2020-04-16 | 2021-10-26 | 삼성전자주식회사 | 스트리밍 시스템 및 인터렉티브 스트리밍 서비스 제공 방법 |
CN111488865B (zh) * | 2020-06-28 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 图像优化方法、装置、计算机存储介质以及电子设备 |
US20220046237A1 (en) * | 2020-08-07 | 2022-02-10 | Tencent America LLC | Methods of parameter set selection in cloud gaming system |
US11677897B2 (en) * | 2020-10-19 | 2023-06-13 | Adobe Inc. | Generating stylized images in real time on mobile devices |
US11785068B2 (en) | 2020-12-31 | 2023-10-10 | Synaptics Incorporated | Artificial intelligence image frame processing systems and methods |
US11979565B2 (en) | 2021-05-27 | 2024-05-07 | Tencent America LLC | Content-adaptive online training method and apparatus for post-filtering |
CN114296841A (zh) * | 2021-06-08 | 2022-04-08 | 海信视像科技股份有限公司 | 一种显示设备及ai增强显示方法 |
US20240340389A1 (en) * | 2021-07-15 | 2024-10-10 | Lg Electronics Inc. | A/v reception apparatus and wireless display system |
CN113362403A (zh) * | 2021-07-20 | 2021-09-07 | 支付宝(杭州)信息技术有限公司 | 图像处理模型的训练方法及装置 |
KR20230025279A (ko) * | 2021-08-13 | 2023-02-21 | 삼성전자주식회사 | Ai 기반의 영상 제공 장치 및 이에 의한 방법, 및 ai 기반의 디스플레이 장치 및 이에 의한 방법 |
TWI837574B (zh) * | 2022-01-24 | 2024-04-01 | 宏碁股份有限公司 | 遠端圖形處理器的動態畫質調整方法、畫質預測模型之訓練方法與應用其之遠端伺服器 |
TWI799265B (zh) * | 2022-05-12 | 2023-04-11 | 瑞昱半導體股份有限公司 | 超解析度裝置及方法 |
KR20240005485A (ko) * | 2022-07-05 | 2024-01-12 | 삼성전자주식회사 | Ai 부호화/복호화를 이용하여 영상을 처리하는 전자 장치 및 그 제어 방법 |
WO2024047994A1 (ja) * | 2022-08-31 | 2024-03-07 | LeapMind株式会社 | 入力情報生成装置、画像処理装置、入力情報生成方法、学習装置、プログラム及びノイズ低減装置の学習方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558828A (zh) * | 2001-08-06 | 2004-12-29 | ��������³���о�����˾ | 具有微控制器的图像打印装置 |
US7813822B1 (en) * | 2000-10-05 | 2010-10-12 | Hoffberg Steven M | Intelligent electronic appliance system and method |
CN102893327A (zh) * | 2010-03-19 | 2013-01-23 | 数字标记公司 | 直觉计算方法和系统 |
TWI532370B (zh) * | 2011-11-08 | 2016-05-01 | 三星電子股份有限公司 | 解碼影像的方法 |
TW201635789A (zh) * | 2012-01-06 | 2016-10-01 | Sony Corp | 圖像處理裝置及方法 |
US20170255845A1 (en) * | 2015-08-03 | 2017-09-07 | Yahoo! Inc. | Computerized method and system for automated determination of high quality digital content |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7663502B2 (en) * | 1992-05-05 | 2010-02-16 | Intelligent Technologies International, Inc. | Asset system control arrangement and method |
JP2000042247A (ja) | 1998-07-30 | 2000-02-15 | Namco Ltd | ゲームシステム、ゲームデータ配信装置、ゲーム装置、リアルタイム画像表示システムおよび情報記録媒体 |
US9186579B2 (en) | 2008-06-27 | 2015-11-17 | John Nicholas and Kristin Gross Trust | Internet based pictorial game system and method |
JP2010033301A (ja) | 2008-07-28 | 2010-02-12 | Namco Bandai Games Inc | 画像生成システム、プログラム及び情報記憶媒体 |
JP5335713B2 (ja) * | 2010-02-16 | 2013-11-06 | 富士フイルム株式会社 | 画像処理方法及び装置並びにプログラム |
GB201003962D0 (en) * | 2010-03-10 | 2010-04-21 | Tangentix Ltd | Multimedia content delivery system |
KR101641612B1 (ko) | 2010-11-30 | 2016-07-21 | 삼성전자주식회사 | 영상처리장치 및 그 영상처리방법 |
CN102523453B (zh) * | 2011-12-29 | 2014-11-19 | 西安空间无线电技术研究所 | 一种图像超大压缩传输方法及传输系统 |
JP6115183B2 (ja) * | 2013-02-27 | 2017-04-19 | 株式会社ニコン | 画像処理装置、撮像装置、画像処理プログラム |
WO2015104846A1 (en) | 2014-01-09 | 2015-07-16 | Square Enix Holdings Co., Ltd. | Method and system of creating and encoding video game screen images for transmission over a network |
US9780997B2 (en) * | 2015-01-30 | 2017-10-03 | Alcatel Lucent | Method and system for controlling an operation of an application by classifying an application type using data bearer characteristics |
US10959702B2 (en) * | 2016-06-20 | 2021-03-30 | Butterfly Network, Inc. | Automated image acquisition for assisting a user to operate an ultrasound device |
TWI624804B (zh) * | 2016-11-07 | 2018-05-21 | 盾心科技股份有限公司 | 利用超解析重建法生成高解析度影像的方法與系統 |
CN107767928A (zh) * | 2017-09-15 | 2018-03-06 | 深圳市前海安测信息技术有限公司 | 基于人工智能的医学影像报告生成系统及方法 |
-
2018
- 2018-07-03 US US16/027,022 patent/US10284432B1/en active Active
-
2019
- 2019-04-05 US US16/376,877 patent/US10574537B2/en active Active
- 2019-06-18 TW TW108121107A patent/TWI805784B/zh active
- 2019-06-18 TW TW112118376A patent/TWI826321B/zh active
- 2019-06-19 CN CN201910532952.0A patent/CN110689589A/zh active Pending
- 2019-06-28 JP JP2019122222A patent/JP7448178B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7813822B1 (en) * | 2000-10-05 | 2010-10-12 | Hoffberg Steven M | Intelligent electronic appliance system and method |
CN1558828A (zh) * | 2001-08-06 | 2004-12-29 | ��������³���о�����˾ | 具有微控制器的图像打印装置 |
CN102893327A (zh) * | 2010-03-19 | 2013-01-23 | 数字标记公司 | 直觉计算方法和系统 |
TWI532370B (zh) * | 2011-11-08 | 2016-05-01 | 三星電子股份有限公司 | 解碼影像的方法 |
TW201635789A (zh) * | 2012-01-06 | 2016-10-01 | Sony Corp | 圖像處理裝置及方法 |
US20170255845A1 (en) * | 2015-08-03 | 2017-09-07 | Yahoo! Inc. | Computerized method and system for automated determination of high quality digital content |
Also Published As
Publication number | Publication date |
---|---|
US20200014603A1 (en) | 2020-01-09 |
US10574537B2 (en) | 2020-02-25 |
TWI826321B (zh) | 2023-12-11 |
TW202336695A (zh) | 2023-09-16 |
US10284432B1 (en) | 2019-05-07 |
CN110689589A (zh) | 2020-01-14 |
TW202006662A (zh) | 2020-02-01 |
JP2020010331A (ja) | 2020-01-16 |
JP7448178B2 (ja) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI805784B (zh) | 提高影像品質的方法 | |
US11290345B2 (en) | Method for enhancing quality of media | |
US12003386B2 (en) | Method for enhancing quality of media | |
US11430095B2 (en) | Automatic display management metadata generation for gaming and/or SDR+ contents | |
CN104096362B (zh) | 基于游戏者关注区域改进视频流的码率控制比特分配 | |
US20210398257A1 (en) | Method and device for mapping ldr video into hdr video | |
JP5492087B2 (ja) | コンテンツベースの画像調整 | |
US20180075878A1 (en) | Systems and Methods for Motion-Vector-Aided Video Interpolation Using Real-Time Smooth Video Playback Speed Variation | |
US10785513B2 (en) | Methods and systems for using 2D captured imagery of a scene to provide media content | |
US20210150769A1 (en) | High efficiency image and video compression and decompression | |
CN110996131B (zh) | 视频编码方法、装置、计算机设备及存储介质 | |
CN110944200B (zh) | 一种评估沉浸式视频转码方案的方法 | |
US20210390659A1 (en) | Apparatus and method for performing artificial intelligence encoding and decoding on image by using low-complexity neural network | |
US20220335560A1 (en) | Watermark-Based Image Reconstruction | |
Huang et al. | A cloud computing based deep compression framework for UHD video delivery | |
KR20160015136A (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
CN115665477A (zh) | 视频增强系统、方法及装置 | |
WO2021057676A1 (zh) | 视频编解码方法、装置、电子设备及可读存储介质 | |
CN110798715A (zh) | 基于图像串的视频播放方法及系统 | |
TW202326526A (zh) | 利用人工智慧處理模組來降低影像串流所需網路頻寬的方法 | |
KR102421719B1 (ko) | 저복잡도 신경망을 이용한 영상의 ai 부호화 장치 및 방법, ai 복호화 장치 및 방법 | |
JP2023104295A (ja) | 人工知能モジュールを用いてビデオストリーミングに必要なネットワーク帯域幅を低減する方法 | |
US20240244229A1 (en) | Systems and methods for predictive coding | |
Challa et al. | Deep learning based on multimedia encoding to enhance video quality | |
Shang | Subjective and objective quality assessment for advanced videos |