TW201924340A - 使用機器學習的影像編碼器以及影像編碼器的資料處理方法 - Google Patents

使用機器學習的影像編碼器以及影像編碼器的資料處理方法 Download PDF

Info

Publication number
TW201924340A
TW201924340A TW107130991A TW107130991A TW201924340A TW 201924340 A TW201924340 A TW 201924340A TW 107130991 A TW107130991 A TW 107130991A TW 107130991 A TW107130991 A TW 107130991A TW 201924340 A TW201924340 A TW 201924340A
Authority
TW
Taiwan
Prior art keywords
block
prediction
machine learning
prediction block
enhanced
Prior art date
Application number
TW107130991A
Other languages
English (en)
Other versions
TWI748125B (zh
Inventor
楊政燁
Original Assignee
南韓商三星電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 南韓商三星電子股份有限公司 filed Critical 南韓商三星電子股份有限公司
Publication of TW201924340A publication Critical patent/TW201924340A/zh
Application granted granted Critical
Publication of TWI748125B publication Critical patent/TWI748125B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一種藉由對輸入影像進行編碼而輸出位元流的影像編碼器包括預測塊、機器學習式預測增強(MLBE)塊及減法器。預測塊被配置成使用先前輸入區塊的資料產生預測區塊。所述機器學習式預測增強塊被配置成藉由對所述預測區塊應用機器學習技術而將所述預測區塊變換成增強的預測區塊。所述減法器被配置成藉由自當前輸入區塊的畫素資料減去所述增強的預測區塊的畫素資料而產生殘留區塊。

Description

使用機器學習的影像編碼器以及影像編碼器的資料處理方法
本揭露是有關於一種電子裝置。更具體而言,本揭露是有關於一種具有使用機器學習技術的影像編碼器的電子裝置以及所述影像編碼器的編碼方法/用於所述影像編碼器的編碼方法。
對具有高解析度、高訊框率(frame rate)、高位元深度等特徵的高清視訊服務的需求已快速地增長。因此,用於高效地對大量視訊資料進行編碼及解碼的編解碼器的重要性已引起人們的注意。
H.264或進階視訊編碼(advanced video coding,AVC)技術涉及視訊壓縮且相較於先前的視訊壓縮技術在壓縮效率、影像品質、位元率等方面可提供增強的效能。此種視訊壓縮技術已藉由數位電視(television,TV)變得商業化且廣泛地用於各種應用領域,例如,視訊電話、視訊會議、數位多功能碟(digital versatile disc,DVD)、遊戲及立體(three-dimensional,3D)電視。H.264或AVC壓縮技術當前可相較於先前版本在壓縮效率、影像品質、位元率等方面提供優異的效能。然而,運動預測模式在此種技術中可更加複雜,且由此可逐漸達到壓縮效率的極限。
本揭露的實施例提供一種影像編碼器以及所述影像編碼器的編碼方法,所述影像編碼器用於產生預測區塊作為相對於(相較於)源區塊具有小的差異的增強的預測區塊而無需增加控制資料。
根據實施例的一個態樣,一種藉由對輸入影像進行編碼而輸出位元流的影像編碼器包括:預測塊、機器學習式預測增強(machine learning based prediction enhancement,MLBE)塊及減法器。所述預測塊被配置成使用先前輸入區塊的資料產生預測區塊。所述機器學習式預測增強塊被配置成藉由對所述預測區塊應用機器學習技術而將所述預測區塊變換成增強的預測區塊。所述減法器被配置成藉由自當前輸入區塊的畫素資料減去所述增強的預測區塊的畫素資料而產生殘留資料的殘留區塊。
根據實施例的另一個態樣,一種處理影像資料的方法包括:自先前輸入區塊的時域資料產生預測區塊;藉由對所述預測區塊應用多種可用的機器學習技術中的至少一種而將所述預測區塊變換成增強的預測區塊;以及藉由自當前輸入區塊減去所述增強的預測區塊而產生殘留資料的殘留區塊。
根據實施例的另一個態樣,一種處理影像資料的方法包括:自先前輸入區塊的時域資料產生預測區塊;藉由對所述預測區塊應用多種可用的機器學習技術中的至少一種而將所述預測區塊變換成增強的預測區塊;使用與所述預測區塊及所述增強的預測區塊中的每一者對應的率畸變最佳化(rate-distortion optimization,RDO)值來選擇所述預測區塊及所述增強的預測區塊中的一者;以及藉由自當前輸入區塊減去所述所選擇區塊而產生殘留資料的殘留區塊。
在下文中,參照附圖闡述本揭露的實施例以使得本揭露將透徹及完整並將向熟習此項技術者充分傳達本揭露的範圍。在下文中,本說明書中的用語「影像」具有包含移動影像(例如,視訊)以及靜止影像(例如,相片)在內的綜合含義。
圖1是示出根據本揭露實施例的機器學習式(MLB)編碼器的配置的方塊圖。參照圖1,MLB編碼器100可將輸入影像10劃分成多個區塊且可對區塊中的每一者執行MLB預測編碼。
MLB編碼器100可對輸入影像10進行處理以產生輸出資料20。根據本揭露實施例的MLB編碼器100可使用機器學習技術產生預測影像及預測區塊。舉例而言,在使用輸入影像10產生預測區塊時,MLB編碼器100可應用使用機器學習而學習得到的參數。亦即,機器學習演算法可具有使用多個預定的訓練資料集合而學習得到的決策參數。在此種情形中,預測區塊可能接近源區塊而不會在使用機器學習時增大報頭資料(header data)22。當預測區塊與源區塊彼此更接近時,殘留資料24的大小可減小更大的量。
由根據本揭露實施例的應用機器學習技術的MLB編碼器100產生的輸出資料20可大致包括報頭資料22及殘留資料24。根據本揭露實施例的MLB編碼器100可執行MLB預測編碼以對預測區塊的殘留區塊以及源區塊進行編碼。在此種情形中,與殘留區塊對應的資料可為殘留資料24。亦即,殘留區塊的殘留資料可為殘留資料24。另一方面,預測所需的運動資料、影像資料及各種設定值可被輸出為報頭資料22。隨著預測區塊與源區塊之間的差異越來越小,殘留資料24的大小可減小更大的量。
一般而言,為減小殘留區塊及殘留影像的資訊量而使預測產生得越精確,預測所需的報頭資料22的資訊量便越趨向於更多。然而,若使用根據本揭露實施例的機器學習,則可達成精確的預測而不會增大報頭資料22。先前產生的預測區塊可使用機器學習得到增強以接近源區塊。在此種情形中,儘管預測區塊與源區塊之間的差異對報頭資料22的大小不具有大的影響,然而預測區塊與源區塊之間的所述差異可有效地減小。因此,和預測區塊與源之間的差值對應的殘留資料24的大小大幅減小。
圖2是示出圖1所示MLB編碼器的示意性配置的方塊圖。參照圖2,MLB編碼器100包括減法器110、MLBE塊120(MLB預測增強塊)、變換器/量化器130、預測塊140及熵編碼器裝置(entropy coder)150。
本文中的說明可將例如編碼器、塊及編碼器裝置等結構設備/裝置元件稱為編碼器(例如,MLB編碼器或影像編碼器)的代表性元件。任何此種代表性元件在適合的時候皆可由電路元件或者由多個電路元件形成的電路來實施。此外,任何此種代表性元件在適合的時候皆可由執行特定的專用軟體指令集合(例如,軟體模組)的處理器(例如,中央處理單元、微控制器、微處理器、數位訊號處理器等)實施或者可由處理器與軟體指令的組合實施。由此,作為結構設備/裝置元件的編碼器、塊及編碼器裝置可利用電路及電路系統實作,及/或利用一或多個處理器與由所述一或多個處理器執行的軟體指令的組合實作。此種處理器可執行軟體指令以執行由本文所述所關注元件引起的一或多個過程。
本文所述任何處理器(或相似的元件)皆為有形的及非暫時性的。本文所用用語「非暫時性」應不被解釋為狀態的永恆特性,而是應被解釋為將持續一段時間的狀態特性。用語「非暫時性」具體而言否定短暫的特性,例如特定載波或訊號的特性或者在任何時間任何地點中只暫時存在的其他形式。處理器是製品及/或機器組件。處理器被配置成執行軟體指令以如在本文中的各種實施例中所述執行功能。處理器可為通用處理器或者可為應用專用積體電路(application specific integrated circuit,ASIC)的一部分。處理器亦可為微處理器、微電腦、處理器晶片、控制器、微控制器、數位訊號處理器(digital signal processor,DSP)、狀態機(state machine)或可程式化邏輯裝置。處理器亦可為邏輯電路(包括例如現場可程式化閘陣列(field programmable gate array,FPGA)等可程式化閘陣列(programmable gate array,PGA))或包括分立的閘及/或晶體管邏輯的另一種類型的電路。處理器可為中央處理單元(central processing unit,CPU)。另外,本文所述任何處理器皆可包括多處理器、並行處理器或二者。指令集合可自電腦可讀取媒體讀取。另外,指令在由處理器執行時可用於執行本文所述方法及過程中的一或多者。在具體實施例中,指令在執行期間可完全駐留於或至少局部地駐留於主記憶體、靜態記憶體內及/或處理器內。
在替代實施例中,可構建專用硬體實作方式來實作本文所述方法中的一或多者,所述專用硬體實作方式例如為應用專用積體電路(ASIC)、可程式化邏輯陣列及用於本文所述功能塊、匯流排保護器及系統管理器的其他硬體組件。本文所述一或多個實施例可使用具有相關控制訊號及資料訊號的二或更多個專用互連硬體模組或裝置來實作功能,所述相關控制訊號及資料訊號可在各個模組之間傳送以及經由模組傳送。因此,本揭露囊括軟體實作方式、韌體實作方式及硬體實作方式。本申請案中的任何內容皆不應被解釋為僅或僅可使用軟體而不使用硬體(例如,有形的非暫時性處理器及/或記憶體)來實作。
減法器110可藉由輸入區塊與所產生的預測區塊之間的差異產生殘留區塊。變換器/量化器130可對殘留區塊進行變換以輸出變換係數。變換器/量化器130可使用量化參數及量化矩陣中的至少一者來對變換係數進行量化。因此,可產生經量化係數。在此種情形中,所輸出的經量化係數可最終對應於殘留資料Residual_Data。
熵編碼器裝置150可使用所生成的殘留資料Residual_Data或報頭資料Header_Data(例如,在編碼過程中生成的編碼參數)執行熵編碼。熵編碼是用於藉由以相對少的位元來表示頻繁出現的圖案以及以相對多的位元來表示不頻繁出現的圖案來壓縮數位資料的一種類型的無損編碼。以下提供熵編碼的實例。可藉由熵編碼器裝置150的熵編碼計算來輸出位元流Bitstream。若應用熵編碼,則可將小數目的位元分配給出現概率高的符號,且可將大數目的位元分配給出現概率低的符號。因此,將被編碼的符號的位元流的大小可根據此種符號表示方式而減小。
預測塊140可基於所輸入的經量化的殘留資料Residual_Data及各種參數來產生預測區塊P。預測塊140可以訊框內模式或訊框間模式執行編碼以輸出預測區塊P。預測塊140可產生輸入影像10的源區塊S的預測區塊P且可將所產生的預測區塊P提供至MLBE塊120。
MLBE塊120可對預測區塊P進行處理以輸出增強的預測區塊EP作為處理結果。MLBE塊120可包括處理器,所述處理器執行演算法(例如,一或多種可用的機器學習演算法)以對預測區塊P進行處理並將預測區塊P變換成增強的預測區塊。MLBE塊120可使用例如機器學習演算法來將預測區塊P處理成具有接近源區塊S的程度以獲得處理結果。換言之,MLBE塊120可參考各種資訊(例如,預測模式、運動向量的特徵、影像的分區形式、變換單元的大小)來選擇各種機器學習技術中最佳的機器學習技術。可使用例如決策樹、神經網路(neural network,NN)、卷積神經網路(convolution neural network,CNN)、支持向量機(support vector machine,SVM)、K最近鄰(K-nearest neighbor,K-NN)演算法及強化學習等各種技術作為機器學習技術。
根據本揭露的實施例,MLB編碼器100使用機器學習將預測區塊P處理成接近源區塊S。本揭露不需要額外的資料來產生增強的預測區塊EP。在本文中,增強的預測區塊EP可藉由MLBE塊120提供,MLBE塊120藉由學習提供最佳的過濾效果。MLBE塊120可藉由(在線的或離線的)學習來維持或更新效能而無需提供額外的資料。因此,依照根據本揭露實施例的MLB編碼器100,可在不增大圖1的報頭資料22的情況下減小圖1所示殘留資料24。
圖3是示出圖2所示MLB編碼器的詳細配置的方塊圖。參照圖3,MLB編碼器100包括減法器110、MLBE塊120、變換器132、量化器134、預測塊140、熵編碼器裝置150及編碼器裝置控制器160。在本文中,預測塊140包括反量化器(dequantizer)141、逆變換器142、加法器143、環內濾波器(in-loop filter)144、緩衝器145、運動估測塊146、運動補償塊147、訊框內預測塊148及模式決策塊149。上述配置的MLB編碼器100可提供MLB預測增強功能。因此,可在不增大圖1的報頭資料22的情況下減小圖1所示殘留資料24。
減法器110可產生殘留資料的殘留區塊,所述殘留資料是輸入區塊(或源區塊)與預測區塊之間的差異資料。詳細而言,減法器110可計算輸入訊框中所包括的多個空間域區塊中將在當前處理的當前空間域區塊的值與自MLBE塊120輸出的增強的預測區塊EP的值之間的差值。減法器110可產生與所計算的差值對應的空間域殘留區塊的值(在下文中稱為「殘留資料」)。
就資料處理而言,空間域區塊中的每一者可包括m´n個畫素。在本文中,m及n中的每一者可為大於或等於2的自然數,且m可等於n或m不等於n。空間域區塊中所包括的畫素可為但不限於具有亮度與色度(YUV)格式的資料、具有YCbCr格式的資料或具有紅、綠及藍(red, green, and blue,RGB)格式的資料。舉例而言,空間域區塊可包括但不限於4×4個畫素、8×8個畫素、16×16個畫素、32×32個畫素或64×64個畫素。減法器110可針對每一個計算區塊計算差值且可針對每一個空間域區塊輸出所計算的差值。舉例而言,計算區塊的大小可小於空間域區塊。舉例而言,當計算區塊包括4×4個畫素時,空間域區塊可包括16×16個畫素。然而,計算區塊的大小及空間域區塊的大小並非僅限於此。
變換器132可對殘留區塊進行變換以輸出變換係數。變換器132可對空間域殘留區塊中所包括的區塊值執行時域至頻域變換。舉例而言,變換器132可將時域的空間座標變換成頻域的值。舉例而言,變換器132可使用離散餘弦變換(discrete cosine transform,DCT)自空間域殘留區塊的值產生頻域係數。換言之,變換器132可將作為時域資料的殘留資料變換成頻域資料。
量化器134可使用量化參數及量化矩陣中的至少一者來對輸入變換係數進行量化。量化器134可輸出經量化的係數作為量化的結果。亦即,量化器可被配置成藉由對頻域資料進行量化來輸出經量化的係數。
熵編碼器裝置150可基於由量化器134計算得到的值或在編碼過程中計算的編碼參數等來執行熵編碼以輸出位元流。若應用熵編碼,則可將小數目的位元分配給出現概率高的符號,且可將大數目的位元分配給出現概率低的符號。因此,將被編碼的符號的位元串的大小可減小。熵編碼器裝置150可使用例如指數哥倫布編碼(exponential-Golomb coding)、上下文自適應可變長編碼(context-adaptive variable length coding,CAVLC)或上下文自適應二進制算術編碼(context-adaptive binary arithmetic coding,CABAC)等編碼方法來進行熵編碼。
當前被編碼的區塊或影像可能需要被解碼或儲存以用作參考區塊或影像。因此,由量化器134量化的係數可由反量化器141進行反量化且可由逆變換器142進行逆變換。經反量化及逆變換的係數可變成經重構的殘留區塊且可藉由加法器143被加到預測區塊P。因此,可產生重構區塊。
自加法器143計算得到的重構區塊可被傳送至訊框內預測塊148且可用於預測訊框內定向模式(intra directional mode)。自加法器143輸出的重構區塊亦可被傳送至環內濾波器144。
環內濾波器144可對重構區塊或重構影像應用解塊濾波器(deblocking filter)、樣本自適應偏移(sample adaptive offset,SAO)濾波器或自適應環路濾波器(adaptive loop filter,ALF)中的至少一者。解塊濾波器可將在各個區塊之間的邊界中出現的區塊畸變移除。SAO濾波器可將恰當的偏移值加到畫素值以補償編碼誤差。ALF可基於藉由將經重構的區塊與源區塊進行比較而獲得的值執行過濾。由/藉由環內濾波器144處理的重構區塊可儲存於緩衝器145中以儲存參考影像。
緩衝器145可儲存自環內濾波器144輸出的重構區塊且可將重構區塊提供至運動估測塊146及運動補償塊147。緩衝器145可提供自環內濾波器144輸出的重構區塊作為輸入至熵編碼器裝置150的輸出資料Output Data。
在訊框內模式中,訊框內預測塊148可使用當前區塊周圍的先前被編碼的區塊的畫素值來執行空間預測,以產生第一預測區塊P1作為執行空間預測的結果。在訊框間模式中,運動估測塊146可在運動預測過程中找到與儲存於緩衝器145中的參考影像中的輸入區塊最密切匹配的參考區塊以獲得運動向量。運動補償塊147可使用運動向量執行運動補償以產生第二預測區塊P2。在本文中,運動向量可為用於訊框間預測的二維(2D)向量且可表示參考區塊與當前將要被編碼/解碼的區塊之間的偏移。
模式決策塊149可接收當前區塊、自運動補償塊147提供的第一預測區塊P1、以及自訊框內預測塊148提供的第二預測區塊P2。模式決策塊149可將第一預測區塊P1及第二預測區塊P2中的一者確定為預測區塊P且可將預測區塊P提供至MLBE塊120。模式決策塊149可根據當前區塊值、經反量化的係數、第一預測區塊P1的區塊值及第二預測區塊P2的區塊值以及控制訊號CNT3確定並輸出預測區塊P。
在另一實施例中,模式決策塊149可對第一預測區塊P1及第二預測區塊P2中的每一者應用機器學習演算法並執行模式決策。舉例而言,模式決策塊149可對第一預測區塊P1應用機器學習演算法以產生增強的第一預測區塊EP1。模式決策塊149可對第二預測區塊P2應用機器學習演算法以產生增強的第二預測區塊EP2。模式決策塊149可將增強的第一預測區塊EP1及增強的第二預測區塊EP2中的一者確定為預測區塊P且可將預測區塊P提供至MLBE塊120。在此種情形中,在增強的第一預測區塊EP1或增強的第二預測區塊EP2中應包括表示是否已由機器學習演算法進行處理的值。影像壓縮率可藉由模式決策塊149的此種操作得到進一步增強。
MLBE塊120可對自模式決策塊149提供的預測區塊P進行處理以輸出增強的預測區塊EP作為處理結果。執行MLB處理的MLBE塊120可將預測區塊P處理成具有接近源區塊S的程度。MLBE塊120可參照編碼資訊MLS_Info選擇各種可用的機器學習技術中的一種。編碼資訊MLS_Info可包括各種資訊,例如先前由模式決策塊149確定的預測模式、運動向量的特徵、影像的分區形式及變換單元的大小。可使用例如決策樹、CNN、SVM、K最近鄰(K-NN)演算法及強化學習等各種技術作為機器學習技術。將參照附圖詳細給出MLBE塊120的詳細特性的說明。
編碼器裝置控制器160可根據輸入影像或區塊來控制MLB編碼器100中的總體元件。編碼器裝置控制器160可確定輸入影像的分區、編碼區塊的大小等且可根據所確定的準則來控制影像的編碼及解碼。編碼器裝置控制器160可為此種控制操作產生多個控制訊號CNT1至CNT4且可將控制訊號CNT1至CNT4分別提供至運動估測塊146、變換器132、模式決策塊149及反量化器141。編碼器裝置控制器160可將位元流的報頭資料22(參見圖1)中包括的控制資料Control data提供至熵編碼器裝置150。
如上所述,根據本揭露的實施例,MLB編碼器100使用機器學習將預測區塊P處理成接近源區塊S。根據本揭露的實施例,MLB編碼器100包括用於藉由學習來提供最佳的重構效果的MLBE塊120。增強的預測區塊EP可藉由MLBE塊120提供而不會使殘留資料增大。MLBE塊120可藉由(在線的或離線的)學習來維持或更新效能。因此,依照根據本揭露實施例的MLB編碼器100,可在不增大報頭資料22的情況下減小殘留資料24。
圖4是示出圖3所示MLBE塊120的特性的方塊圖。參照圖4,MLBE塊120可使用各種編碼資訊MLS_Info將預測區塊P變換成最佳的增強的預測區塊EP。
MLBE塊120可具有各種機器學習演算法ML1至MLn(其中n是整數)。MLBE塊120可使用編碼資訊MLS_Info選擇具有最佳的增強效能的機器學習演算法。在本文中,應充分理解,各種機器學習演算法ML1至MLn分別被提供至利用硬體實作的機器學習裝置。在本文中,機器學習演算法ML1至MLn可包括各種演算法,例如,決策樹、CNN、SVM及強化學習。
編碼資訊MLS_Info可包括各種參數條件,例如,預測模式、運動向量的特徵、訊框內方向、編碼單元的大小、影像的分區形式及變換單元的大小。眾所周知,機器學習演算法ML1至MLn針對特定影像或特徵具有不同的濾波器特性。因此,增強的預測區塊EP的品質可根據各種條件或條件的組合而變化。根據本揭露實施例的MLBE塊120可選擇藉由學習過程而確定的最佳的機器學習演算法且可產生接近源區塊S的增強的預測模式EP而不會增大圖1的報頭資料22。因此,可在不增大報頭資料22的情況下減小殘留資料24(參見圖1)。
圖5A及圖5B是示出用於根據每一種預測模式而選擇最佳的機器學習演算法的MLBE塊的方塊圖。圖5A示出用於在訊框內模式中選擇多種可用的機器學習演算法中的第二機器學習演算法ML2的MLBE塊120。圖5B示出用於在訊框間模式中選擇多種可用的機器學習演算法中的第三機器學習演算法ML3的MLBE塊120。
參照圖5A,若提供至MLBE塊120的編碼資訊MLS_Info是訊框內模式,則將自圖3所示訊框內預測塊148傳送訊框內預測區塊P_Intra。訊框內模式中的訊框內預測區塊P_Intra可僅使用有限螢幕中的資訊產生。因此,訊框內預測區塊P_Intra在解析度或品質方面可相對粗糙。MLBE塊120可選擇第二機器學習演算法ML2來將此種訊框內預測區塊P_Intra處理為具有與源區塊S接近的程度的增強的預測區塊EP。此種選擇可基於先前執行的各種學習的結果來執行。
參照圖5B,若提供至MLBE塊120的編碼資訊MLS_Info是訊框間模式,則將自圖3所示運動補償塊147傳送訊框間預測區塊P_Inter。訊框間預測區塊P_Inter可參考影像中的先前處理的另一個訊框來產生。因此,訊框間預測區塊P_Inter在解析度方面可較在訊框內模式中產生的訊框內預測區塊P_Intra相對更精細,或者可具有較在訊框內模式中產生的訊框內預測區塊P_Intra更高/更佳的品質。MLBE塊120可選擇第三機器學習演算法ML3來將此種訊框間預測區塊P_Inter處理成具有與源區塊S接近的程度的增強的預測區塊EP。此種選擇可基於先前執行的各種學習的結果來執行。
如上所述,用於根據預測模式選擇機器學習演算法的方法僅被闡述為在各個獨立的替代方案中進行選擇。然而,此可僅為示例性實施例。應充分理解,可根據各種編碼資訊MLS_Info的組合來對一或多種機器學習演算法以各種方式進行組合及應用。
圖6A及圖6B是示出根據本揭露實施例的根據預測區塊的特性而選擇機器學習技術的編碼方法的流程圖。參照圖6A及圖6B,將給出根據本揭露實施例的MLBE塊120(參見圖4)的示例性操作特性的說明。
參照圖6A,MLBE塊120可根據預測區塊的特性而選擇機器學習演算法。
在操作S110中,MLBE塊120可接收圖4所示預測區塊P及編碼資訊(MLS_Info)。編碼資訊MLS_Info可包括各種參數或條件,例如,預測模式、運動向量的量值或方向、訊框內方向、編碼單元CU的大小、影像的分區形式及變換單元的大小。此種編碼資訊MLS_Info可自圖3所示模式決策塊149、編碼器裝置控制器160、運動估測塊146、環內濾波器144等提供。然而,應充分地理解,編碼資訊MLS_Info的類型或範圍並非僅限於此。可使用呈各種資料形式的編碼資訊MLS_Info的組合來產生具有高準確度的增強的預測區塊EP。
在操作S120中,MLBE塊120可檢查並分析所提供的編碼資訊MLS_Info。MLBE塊120可根據預定準則對所提供的資訊(例如,預測模式、運動向量的量值或方向、訊框內方向、編碼單元CU的大小、影像的分區形式及變換單元的大小)進行分類。所述預定準則可包括指示是否首先應用任何資訊以及依據於相應資訊的詳細操作流程的資訊。
在操作S130中,MLBE塊120可檢查預測模式且可分支至操作。為簡化實施例中的說明,可假設MLBE塊120根據預測模式及運動向量來確定機器學習技術。當然,應充分理解,可應用各種編碼資訊MLS_Info的組合來確定機器學習技術。若預測模式是訊框內模式,則流程可移動至操作S180。相反,若預測模式是訊框間模式,則流程可移動至操作S140。
在操作S140中,操作可根據運動向量進行分支。為簡化說明,可假設操作根據運動向量的方向進行分支。若運動向量對應於第一方向Dir1,則流程可移動至操作S150。另一方面,若運動向量對應於第二方向Dir2,則流程可移動至操作S160。若運動向量對應於第三方向Dir2,則流程可移動至操作S170。
在操作S150至操作S180中的每一者中,可根據所選擇機器學習技術對預測區塊P進行處理。作為示例性實例,在操作S150中,可根據決策樹機器學習演算法ML1對預測區塊P進行處理。在操作S160中,可根據CNN機器學習演算法ML2對預測區塊P進行處理。在操作S170中,可根據SVM機器學習演算法ML3對預測區塊P進行處理。在操作S180中,可根據適用於圖案辨識及決策的K最近鄰(K-NN)演算法類型的機器學習演算法ML4來對預測區塊P進行處理。另外,可使用強化學習演算法或各種機器學習演算法來產生根據本揭露實施例的預測區塊P作為增強的預測區塊EP。
在操作S190中,MLBE塊120可輸出藉由所選擇機器學習演算法產生的增強的預測區塊EP。所輸出的增強的預測區塊EP將被傳送至減法器11(參見圖3)。
如上所述,可根據預測區塊的特性來選擇機器學習演算法的類型。然而,本揭露的優點並非僅限於上述實施例。以下將參照圖6B給出另一種特性的說明。
參照圖6B,可根據預測塊的特性在一種機器學習演算法(例如,CNN)中選擇各種參數集合中的一者。在本文中,將CNN闡述為機器學習演算法的實例。然而,應充分理解,本揭露並非僅限於此。
在操作S210中,MLBE塊120可接收圖4所示預測區塊P及編碼資訊(MLS_Info)。編碼資訊MLS_Info可包括各種參數或條件,例如,預測模式、運動向量的量值或方向、訊框內方向、編碼單元CU的大小、影像的分區形式及變換單元的大小。此種編碼資訊MLS_Info可自模式決策塊149、編碼器裝置控制器160、運動估測塊146、環內濾波器144等提供。
在操作S220中,MLBE塊120可檢查並分析所提供的編碼資訊MLS_Info。MLBE塊120可根據預定準則對所提供的資訊(例如,預測模式、運動向量的量值或方向、訊框內方向、編碼單元CU的大小、影像的分區形式及變換單元的大小)進行分類。所述預定準則可包括指示是否首先應用任何資訊以及依據於相應資訊的詳細操作流程的資訊。
在操作S230中,MLBE塊120可檢查預測模式且可分支至操作。為簡化實施例中的說明,可假設MLBE塊120根據預測模式及運動向量來確定機器學習技術。當然,應充分理解,可應用各種編碼資訊MLS_Info的組合來確定機器學習技術。若預測模式是訊框內模式,則流程可移動至操作S280。另一方面,若預測模式是訊框間模式,則流程可移動至操作S240。
在操作S240中,操作可根據運動向量進行分支。為簡化說明,可假設操作根據運動向量的方向進行分支。若運動向量對應於第一方向Dir1,則流程可移動至操作S250。另一方面,若運動向量對應於第二方向Dir2,則流程可移動至操作S260。若運動向量對應於第三方向Dir3,則流程可移動至操作S270。
在操作S250至操作S280中的每一者中,可根據所選擇參數集合來對預測區塊P進行處理。作為示例性實例,在操作S250中,可根據被設定成第一參數集合的CNN演算法對預測區塊P進行處理。在操作S260中,可根據被設定成第二參數集合的CNN演算法對預測區塊P進行處理。在操作S270中,可根據被設定成第三參數集合的CNN演算法對預測區塊P進行處理。在操作S280中,可根據被設定成第四參數集合的CNN演算法對預測區塊P進行處理。儘管將實施例說明為劃分成四個參數集合,然而本揭露的實施例並非僅限於此。
在操作S290中,MLBE塊120可輸出藉由所選擇參數集合的機器學習演算法產生的增強的預測區塊EP。所輸出的增強的預測區塊EP將被傳送至減法器11(參見圖3)。
如上所述,機器學習的類型可由MLBE塊120根據編碼資訊MLS_Info進行選擇,且相同的機器學習演算法中的參數集合可由MLBE塊120根據本揭露的實施例進行選擇。由於選擇了與各種預測區塊P對應的最佳的機器學習演算法或參數集合,因此增強的預測區塊EP與源區塊S之間的差異可被最小化。
圖7是示出根據本揭露實施例的MLBE塊的訓練方法的方塊圖。參照圖7,可使用各種圖案或影像離線地學習或訓練MLBE塊120中所包括的機器學習演算法。
MLBE塊120的機器學習演算法ML1至MLn中的每一者可藉由源區塊S 121及預測區塊P 122的輸入來進行訓練。舉例而言,在NN機器學習演算法的情形中,預測區塊P 122可代表源區塊S 121的多個不同的預測區塊。舉例而言,可對機器學習參數ML參數進行更新以使得由各種預測模式產生的預測區塊P 122與源區塊S 121相映射。
可對機器學習演算法ML1至MLn中的每一者執行使用源區塊S 121及預測區塊P 122進行的訓練。若對先前準備的各種影像或圖案進行了訓練,則機器學習演算法ML1至MLn中的每一者的參數可為固定的。舉例而言,在作為用於訓練CNN的一種資料集合的ImageNet情形中,可使用約14,000,000或多於14,000,000個訓練影像。因此,每一種機器學習演算法可具有使用一或多個預定的訓練資料集合學習得到的決策參數。
若上述學習或訓練過程完成,則MLBE塊120可產生相對於根據編碼資訊MLS_Info輸入的預測區塊P 122而言具有與源區塊S 121最相似的值的增強的預測區塊EP。
圖8是示出根據本揭露另一實施例的MLBE塊的訓練方法的圖式。參照圖8,可使用將根據在線訓練方案進行處理的影像來訓練MLBE塊120中所包括的機器學習演算法。
在此種情形中,可使用由輸入影像構成的訊框來訓練機器學習演算法,而不使用提前訓練的機器學習演算法。若訓練期(training session)結束,則隨後可使用訓練結果來僅執行參數更新。舉例而言,MLBE塊120的訓練可使用輸入訊框中與訓練期(例如,訓練間隔)對應的訊框F0至F4來執行。若訓練期結束,則可僅執行使用隨後輸入的訊框F5至F11進行訓練的參數的更新。因此,若提供輸入影像,則可使用輸入影像的訊框來對每一種機器學習演算法進行訓練,例如在訓練間隔期間。
若使用在線訓練方案,則不需要具有單獨的資料集合來進行訓練。可使用輸入影像對機器學習演算法進行訓練。因此,參數大小可相對小。然而,若未提供用於支持在線訓練的元素及資源,則可能難以容許恰當的效能。
圖9是示出根據本揭露另一個實施例的MLB編碼器的方塊圖。參照圖9,MLB編碼器200包括減法器210、MLBE塊220、變換器232、量化器234、預測塊240、熵編碼器裝置250及編碼器裝置控制器260。在本文中,預測塊240包括反量化器241、逆變換器242、加法器243、環內濾波器244、緩衝器245、運動估測塊246、運動補償塊247、訊框內預測塊248及模式決策塊249。MLB編碼器100可選擇性地提供MLB預測區塊的增強功能。舉例而言,MLB編碼器200可根據指示編碼效率的率畸變最佳化(RDO)值來判斷是否使用MLBE塊220。因此,可選擇具有壓縮效率更佳的RDO值的區塊作為預測區塊與增強的預測區塊之間的所選擇結果。
在本文中,除了MLBE塊220根據RDO值來判斷是否使用MLB預測增強之外,減法器210、變換器232、量化器234、預測塊240、熵編碼器裝置250及編碼器裝置控制器260可實質上相同於圖3所示。因此,將省略對減法器210、變換器232、量化器234、預測塊240、熵編碼器裝置250及編碼器裝置控制器260的詳細功能的說明。
另一方面,MLBE塊220可具有圖3所示MLB預測區塊P的增強功能且可額外地判斷是否產生增強的預測區塊EP或旁通(bypass)所提供的預測區塊P。若根據RDO值確定在機器學習技術中不存在由對預測區塊進行處理引起的效能增益,則MLBE塊220可將自模式決策塊249提供的預測區塊P旁通至減法器210。若根據RDO值確定在機器學習技術中存在由對預測區塊進行處理引起的效能增益,則MLBE塊220可採用機器學習技術對自模式決策塊249提供的預測區塊P進行處理且可將增強的預測區塊(EP)作為處理結果傳送至減法器210。
可防止藉由上述對MLBE塊220的選擇性預測增強操作而產生由預測增強引起的開銷(overhead)。在本文中,RDO值被闡述為用於判斷是否應用MLBE塊220的預測增強操作的資訊的實例。然而,根據本揭露實施例的MLBE塊220可使用各種效能參數以及RDO值來執行選擇性預測增強操作。
圖10是示出圖9所示MLBE塊的功能的方塊圖。參照圖10,MLBE塊220包括MLBE塊222及選擇塊224。MLBE塊222可使用各種編碼資訊MLS_Info將預測區塊P變換成最佳的增強的預測區塊EP。選擇塊224可選擇預測區塊P及增強的預測區塊EP中的一者。
MLBE塊222可具有各種機器學習演算法ML1至MLn。MLBE塊222可使用編碼資訊MLS_Info選擇具有最佳的增強效能的機器學習演算法。MLBE塊222可執行與圖4所示MLBE塊120實質上相同的功能。因此,將省略對MLBE塊222的說明。
選擇塊224可參照RDO值選擇預測區塊P及增強的預測區塊EP中的一者。所選擇的一個區塊可作為向圖9所示減法器210提供的選擇預測區塊SP進行輸出。可藉由根據RDO值選擇預測區塊P或增強的預測區塊EP而減小藉由應用機器學習而產生的開銷。
圖11是示出圖10所示MLBE塊的操作的流程圖。參照圖11,圖9所示MLBE塊220可參照RDO值對自圖9所示模式決策塊249提供至圖9所示減法器210的未被應用增強操作的預測區塊P進行旁通。
在操作S310中,MLBE塊220可接收自模式決策塊249產生的預測區塊P。
在操作S320中,MLBE塊220可計算RDO值。MLBE塊220可根據RDO值來判斷是否執行MLB預測增強操作或者是否在不執行MLB預測增強操作的條件下將自模式決策塊249提供的預測區塊P傳送至減法器210。
在操作S330中,若在根據RDO值使用機器學習來處理預測區塊P時的效能等於小於(差於)在不使用機器學習時的效能(ML£非ML),則流程可移動至操作S340。相反,若使用機器學習來處理預測區塊P時的效能大於(好於)在不使用機器學習時的效能(ML>非ML),則流程可移動至操作S350。
在操作S340中,MLBE塊220可選擇自模式決策塊249提供的預測區塊P且可將所選擇預測區塊P傳送至減法器210。
在操作S350中,MLBE塊220可藉由MLBE塊222對自模式決策塊249提供的預測區塊P進行處理以獲得處理結果。MLBE塊220可選擇增強的預測區塊EP且可將所選擇增強的預測區塊EP傳送至減法器210。
在操作S360中,MLB編碼器200可在視訊流語法中寫入指示是否藉由應用機器學習來對所傳送的位元流進行壓縮的旗標。
如上所述,可使用RDO值來判斷是否應用根據本揭露實施例的MLB預測區塊的啟用(activation)操作。在一些情形中,可能會出現特殊情形,即,當應用MLB啟用時,開銷會增加。在此種情形中,根據本揭露實施例的MLB編碼器200可選擇不應用機器學習的預測區塊P以防止因執行機器學習引起的開銷。
圖12是示出參照圖11所闡述的根據本揭露實施例的視訊流語法的實例的圖式。參照圖12,可證實,根據本揭露實施例的MLB預測增強操作是藉由表示編碼單元的語法來應用的。
當傳送影像或區塊的位元流時,若應用MLB預測增強,則圖1所示MLB編碼器200可在視訊流語法的旗標(ml_based_pred_enhancement_flag)中寫入‘1’。相反,當傳送影像或區塊的位元流時,若不應用MLB預測增強,則MLB編碼器200可在視訊流語法的旗標中寫入‘0’。
參照視訊流語法的旗標(ml_based_pred_enhancement_flag),解碼器可在進行解碼操作時應用或跳過藉由機器學習進行的預測增強操作。
圖13是示出MLB解碼器的方塊圖。參照圖13,根據本揭露實施例的MLB解碼器300包括用於解碼的MLBE塊390。
MLBE塊390可對圖3所示MLBE塊120或圖9所示MLBE塊220執行相同或相似的操作。換言之,MLBE塊390可使用編碼資訊MLS_Info選擇最佳的機器學習演算法且可使用所選擇機器學習演算法來產生預測區塊P作為增強的預測區塊EP。作為另外一種選擇,MLBE塊390可參考視訊流語法中所包括的旗標來選擇預測區塊P或增強的預測區塊EP。MLB解碼器300可使用此種MLB增強的預測區塊EP來將位元流30重構為輸出影像40。
圖14是示出圖13所示MLB解碼器的詳細配置的方塊圖。參照圖14,MLB解碼器300包括熵解碼器310、反量化器320、逆變換器330、加法器340、環內濾波器350、緩衝器360、訊框內預測塊370、運動補償塊372、運動估測塊374、模式決策塊380及MLBE塊390。
MLB解碼器300可接收自圖1所示MLB編碼器100或圖9所示MLB編碼器200輸出的位元流且可以訊框內模式或訊框間模式執行解碼以輸出重構影像。MLB解碼器300可自所接收的位元流獲得經重構的殘留區塊且可產生預測區塊P。若使用MLBE塊390執行預測區塊P的MLB處理,則可產生增強的預測區塊EP。MLB解碼器300可將經重構的殘留區塊加到增強的預測區塊EP以產生經重新配置的重構區塊。
MLB解碼器300的總體元件可實質上相同於上述MLB編碼器100或200的總體元件。因此,以下將省略對MLB解碼器300的元件的詳細說明。
圖15是示出根據本揭露實施例的用於執行MLB預測增強操作的可攜式終端的方塊圖。參照圖15,根據本揭露實施例的可攜式終端1000包括影像處理單元1100、無線收發器、音訊處理單元、電源管理積體電路(power management integrated circuit,PMIC)1400、電池1450、記憶體1500、使用者介面1600及控制器1700。
影像處理單元1100包括鏡頭1110、影像感測器1120、影像處理器1130及顯示單元1140。無線收發器包括天線1210、收發器1220及數據機1230。音訊處理單元包括音訊處理器1310、麥克風1320及揚聲器1330。
具體而言,根據本揭露實施例的影像處理單元1100可藉由應用機器學習技術來對預測區塊進行處理。在此種情形中,影像處理單元1100可減小殘留資料而不增大視訊訊號的報頭資料的大小。
依照根據本揭露實施例的編碼器及編碼方法,可實作在藉由將預測區塊與源區塊之間的差最小化來增強資料壓縮率的同時影像品質劣化程度低的編碼器及解碼器。
儘管已參照示例性實施例闡述了本揭露,然而對熟習此項技術者將顯而易見的是,在不背離本揭露的精神及範圍的條件下,可作出各種改變及潤飾。因此,應理解,上述實施例並非限制性的,而是說明性的。
10‧‧‧輸入影像
20‧‧‧輸出資料
22‧‧‧報頭資料
24‧‧‧殘留資料
30‧‧‧位元流
40‧‧‧輸出影像
100、200‧‧‧MLB編碼器
110、210‧‧‧減法器
120、220、222、390‧‧‧MLBE塊
121‧‧‧源區塊S
122‧‧‧預測區塊P
130‧‧‧變換器/量化器
132、232‧‧‧變換器
134、234‧‧‧量化器
140、240‧‧‧預測塊
141、241、320‧‧‧反量化器
142、242、330‧‧‧逆變換器
143、243、340‧‧‧加法器
144、244、350‧‧‧環內濾波器
145、245、360‧‧‧緩衝器
146、374‧‧‧運動估測塊
147、247、372‧‧‧運動補償塊
148、248、370‧‧‧訊框內預測塊
149、249、380‧‧‧模式決策塊
150、250‧‧‧熵編碼器裝置
160、260‧‧‧編碼器裝置控制器
224‧‧‧選擇塊
246‧‧‧運動估測
300‧‧‧MLB解碼器
310‧‧‧熵解碼器
1000‧‧‧可攜式終端
1100‧‧‧影像處理單元
1110‧‧‧鏡頭
1120‧‧‧影像感測器
1130‧‧‧影像處理器
1140‧‧‧顯示單元
1210‧‧‧天線
1220‧‧‧收發器
1230‧‧‧數據機
1310‧‧‧音訊處理器
1320‧‧‧麥克風
1330‧‧‧揚聲器
1400‧‧‧電源管理積體電路
1450‧‧‧電池
1500‧‧‧記憶體
1600‧‧‧使用者介面
1700‧‧‧控制器
Bitstream‧‧‧位元流
CNT1、CNT2、CNT3、CNT4‧‧‧控制訊號
Dir1‧‧‧第一方向
Dir2‧‧‧第二方向
Dir3‧‧‧第三方向
EP‧‧‧增強的預測區塊/MLB增強的預測區塊
F0、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10、F11‧‧‧訊框
ML1‧‧‧機器學習演算法/決策樹機器學習演算法
ML2‧‧‧第二機器學習演算法/CNN機器學習演算法/機器學習演算法
ML3‧‧‧第三機器學習演算法/SVM機器學習演算法/機器學習演算法
MLn‧‧‧機器學習演算法
MLS_Info‧‧‧編碼資訊
P‧‧‧預測區塊/MLB預測區塊
P_Inter‧‧‧訊框間預測區塊
P_Intra‧‧‧訊框內預測區塊
P1‧‧‧第一預測區塊
P2‧‧‧第二預測區塊
S‧‧‧源區塊
S110、S120、S130、S140、S150、S160、S170、S180、S190、S210、S220、S230、S240、S250、S260、S270、S280、S290、S310、S320、S330、S340、S350、S360‧‧‧操作
SP‧‧‧選擇預測區塊
參照以下各圖閱讀以下說明,以上及其他目標及特徵將變得顯而易見,其中除非另外指明,否則在所有的各圖中相同的參考編號指代相同的部件,且在各圖中: 圖1是示出根據本揭露實施例的MLB編碼器的配置的方塊圖。 圖2是示出圖1所示MLB編碼器的示意性配置的方塊圖。 圖3是示出圖2所示MLB編碼器的詳細配置的方塊圖。 圖4是示出圖3所示機器學習式預測增強(MLBE)塊的特性的方塊圖。 圖5A及圖5B是示出用於根據每一種預測模式而選擇最佳的機器學習演算法的MLBE塊的方塊圖。 圖6A及圖6B是示出根據本揭露實施例的根據預測區塊的特性而選擇機器學習技術的編碼方法的流程圖。 圖7是示出根據本揭露實施例的MLBE塊的訓練方法的方塊圖。 圖8是示出根據本揭露另一個實施例的MLBE塊的訓練方法的圖式。 圖9是示出根據本揭露另一個實施例的MLB編碼器的方塊圖。 圖10是示出圖9所示MLBE塊的功能的方塊圖。 圖11是示出圖10所示MLBE塊的操作的流程圖。 圖12是示出參照圖11所闡述的根據本揭露實施例的視訊流語法(video stream syntax)的實例的圖式。 圖13是示出MLB解碼器的方塊圖。 圖14是示出圖13所示MLB解碼器的詳細配置的方塊圖。 圖15是示出根據本揭露實施例的用於執行MLB預測增強操作的可攜式終端的方塊圖。

Claims (10)

  1. 一種藉由對輸入影像進行編碼而輸出位元流的影像編碼器,所述影像編碼器包括: 預測塊,被配置成使用先前輸入區塊的資料產生預測區塊; 機器學習式預測增強(MLBE)塊,被配置成藉由對所述預測區塊應用機器學習技術而將所述預測區塊變換成增強的預測區塊;以及 減法器,被配置成藉由自當前輸入區塊的畫素資料減去所述增強的預測區塊的畫素資料而產生殘留資料的殘留區塊。
  2. 如申請專利範圍第1項所述的影像編碼器,其中所述機器學習式預測增強塊被配置成: 執行多種機器學習演算法來處理所述預測區塊。
  3. 如申請專利範圍第2項所述的影像編碼器,其中所述機器學習式預測增強塊被配置成: 參照所述輸入影像的編碼資訊,選擇所述多種機器學習演算法中的至少一種作為所選擇機器學習演算法;以及 使用所述所選擇機器學習演算法來處理所述預測區塊。
  4. 如申請專利範圍第3項所述的影像編碼器,其中所述編碼資訊包括以下中的至少一者:與所述預測區塊對應的預測模式,運動向量的量值及方向,訊框內方向,編碼單元的大小,來自影像的分區以及變換單元的大小。
  5. 如申請專利範圍第2項所述的影像編碼器,其中所述多種機器學習演算法包括以下中的至少一種:決策樹,神經網路(NN),卷積神經網路(CNN),支持向量機(SVM),強化學習以及K最近鄰(K-NN)演算法。
  6. 如申請專利範圍第1項所述的影像編碼器,其中所述機器學習式預測增強塊被配置成: 根據所述預測區塊及所述增強的預測區塊中的每一者的率畸變最佳化(RDO)值而定,將所述預測區塊及所述增強的預測區塊中的一者傳送至所述減法器。
  7. 如申請專利範圍第6項所述的影像編碼器,其中所述機器學習式預測增強塊包括: 機器學習式預測增強塊,被配置成選擇多種機器學習演算法中的一種作為所選擇機器學習演算法,使用所述所選擇機器學習演算法來處理所述預測區塊以獲得處理結果,並根據所述處理結果而產生所述增強的預測區塊;以及 選擇塊,被配置成根據所述預測區塊及所述增強的預測區塊中的每一者的率畸變最佳化值而選擇所述預測區塊及所述增強的預測區塊中的一者作為所選擇區塊,並將所述所選擇區塊傳送至所述減法器。
  8. 如申請專利範圍第1項所述的影像編碼器,其中所述機器學習式預測增強塊被配置成: 執行以下機器學習演算法:根據編碼資訊而選擇多個參數集合中的一者作為所選擇參數集合並使用所述所選擇參數集合來處理所述預測區塊。
  9. 一種處理影像資料的方法,所述方法包括: 自先前輸入區塊的時域資料產生預測區塊; 藉由對所述預測區塊應用多種機器學習技術中的至少一種而將所述預測區塊變換成增強的預測區塊;以及 藉由自當前輸入區塊減去所述增強的預測區塊而產生殘留區塊。
  10. 一種處理影像資料的方法,所述方法包括: 自先前輸入區塊的時域資料產生預測區塊; 藉由對所述預測區塊應用多種機器學習技術中的至少一種而將所述預測區塊變換成增強的預測區塊; 使用與所述預測區塊及所述增強的預測區塊中的每一者對應的率畸變最佳化(RDO)值來選擇所述預測區塊及所述增強的預測區塊中的一者作為所選擇區塊;以及 藉由自當前輸入區塊減去所述所選擇區塊而產生殘留區塊。
TW107130991A 2017-10-19 2018-09-04 使用機器學習的影像編碼器以及影像編碼器的資料處理方法 TWI748125B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170136043A KR102535361B1 (ko) 2017-10-19 2017-10-19 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
KR10-2017-0136043 2017-10-19
??10-2017-0136043 2017-10-19

Publications (2)

Publication Number Publication Date
TW201924340A true TW201924340A (zh) 2019-06-16
TWI748125B TWI748125B (zh) 2021-12-01

Family

ID=66170216

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107130991A TWI748125B (zh) 2017-10-19 2018-09-04 使用機器學習的影像編碼器以及影像編碼器的資料處理方法

Country Status (4)

Country Link
US (2) US11115673B2 (zh)
KR (1) KR102535361B1 (zh)
CN (1) CN109688406B (zh)
TW (1) TWI748125B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI733270B (zh) * 2019-12-11 2021-07-11 中華電信股份有限公司 機器學習模型的最佳超參數組態的訓練裝置和訓練方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102535361B1 (ko) * 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
CN108665067B (zh) * 2018-05-29 2020-05-29 北京大学 用于深度神经网络频繁传输的压缩方法及系统
KR102022648B1 (ko) * 2018-08-10 2019-09-19 삼성전자주식회사 전자 장치, 이의 제어 방법 및 서버의 제어 방법
US11240492B2 (en) * 2019-01-22 2022-02-01 Apple Inc. Neural network based residual coding and prediction for predictive coding
US10652581B1 (en) * 2019-02-27 2020-05-12 Google Llc Entropy coding in image and video compression using machine learning
US10771807B1 (en) * 2019-03-28 2020-09-08 Wipro Limited System and method for compressing video using deep learning
US10552121B1 (en) * 2019-05-07 2020-02-04 Capital One Services, Llc System and method for dynamic process flow control based on real-time events
CN110163370B (zh) * 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
WO2020242738A1 (en) * 2019-05-26 2020-12-03 Alibaba Group Holding Limited Ai-assisted programmable hardware video codec
JP7318314B2 (ja) * 2019-05-30 2023-08-01 富士通株式会社 符号化プログラム、復号プログラム、符号化装置、復号装置、符号化方法及び復号方法
CN110557646B (zh) * 2019-08-21 2021-12-07 天津大学 一种智能视点间的编码方法
KR20210042588A (ko) 2019-10-10 2021-04-20 엘지전자 주식회사 영상을 압축 또는 복원하기 위한 방법 및 장치
CN110738313B (zh) * 2019-10-15 2022-05-31 阿波罗智能技术(北京)有限公司 用于评估量化操作的方法、装置、设备和介质
CN110740319B (zh) * 2019-10-30 2024-04-05 腾讯科技(深圳)有限公司 视频编解码方法、装置、电子设备及存储介质
KR102245682B1 (ko) * 2019-11-11 2021-04-27 연세대학교 산학협력단 영상 압축 장치, 이의 학습 장치 및 방법
CN111160487B (zh) * 2019-12-31 2024-02-13 清华大学 人脸图像数据集的扩充方法和装置
WO2021165569A1 (en) * 2020-02-21 2021-08-26 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
WO2021170901A1 (en) * 2020-02-24 2021-09-02 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding
US11356601B2 (en) 2020-06-19 2022-06-07 Micron Technology, Inc. Intelligent digital camera having deep learning accelerator and random access memory
US20210400286A1 (en) * 2020-06-19 2021-12-23 Micron Technology, Inc. Video Compression in Removable Storage Device having Deep Learning Accelerator and Random Access Memory
US11490135B2 (en) 2020-06-19 2022-11-01 Micron Technology, Inc. Surveillance camera upgrade via removable media having deep learning accelerator and random access memory
KR102394951B1 (ko) * 2020-08-27 2022-05-09 한국전자기술연구원 인코딩, 디코딩 장치 및 방법
WO2022186620A1 (ko) * 2021-03-04 2022-09-09 현대자동차주식회사 인트라 예측의 예측 신호를 개선하는 비디오 코딩방법 및 장치
CN113052257B (zh) * 2021-04-13 2024-04-16 中国电子科技集团公司信息科学研究院 一种基于视觉转换器的深度强化学习方法及装置
CN113240605A (zh) * 2021-05-21 2021-08-10 南开大学 基于对称神经网络进行正反双向学习的图像增强方法
WO2023287018A1 (ko) * 2021-07-13 2023-01-19 현대자동차주식회사 딥러닝 기반 인트라 예측 신호를 개선하는 비디오 코딩방법 및 장치
WO2023198057A1 (en) * 2022-04-12 2023-10-19 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing
KR20230153311A (ko) * 2022-04-28 2023-11-06 인텔렉추얼디스커버리 주식회사 신경망 기반 움직임 벡터 필드 압축을 이용한 비디오 압축 방법
WO2024039166A1 (ko) * 2022-08-18 2024-02-22 삼성전자 주식회사 Ai를 이용하는 영상 복호화 장치, 영상 부호화 장치 및 이들에 의한 방법
WO2024058642A1 (ko) * 2022-09-16 2024-03-21 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4735375B2 (ja) 2006-04-04 2011-07-27 株式会社日立製作所 画像処理装置及び動画像符号化方法。
US8428133B2 (en) 2007-06-15 2013-04-23 Qualcomm Incorporated Adaptive coding of video block prediction mode
JP4717860B2 (ja) * 2007-08-22 2011-07-06 眞一郎 湯村 データ圧縮方法及び画像表示方法及び表示画像拡大方法
JP2009111691A (ja) 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
US8929440B2 (en) 2010-04-09 2015-01-06 Sony Corporation QP adaptive coefficients scanning and application
JP2012065081A (ja) 2010-09-15 2012-03-29 Hitachi Ltd 画像符号化方法、画像復号化方法、画像符号化装置及び画像復号化装置
KR20120100448A (ko) 2011-03-04 2012-09-12 (주)스프링웨이브 머신 러닝을 이용한 동영상 압축 기법 및 장치
CN106162167B (zh) 2015-03-26 2019-05-17 中国科学院深圳先进技术研究院 基于学习的高效视频编码方法
EP3310058B1 (en) * 2015-06-12 2023-02-22 Panasonic Intellectual Property Management Co., Ltd. Image coding method, image decoding method, image coding device and image decoding device
US10827186B2 (en) * 2016-08-25 2020-11-03 Intel Corporation Method and system of video coding with context decoding and reconstruction bypass
CN106973293B (zh) * 2017-04-21 2020-10-27 中国科学技术大学 基于视差预测的光场图像编码方法
EP3451293A1 (en) 2017-08-28 2019-03-06 Thomson Licensing Method and apparatus for filtering with multi-branch deep learning
KR102535361B1 (ko) * 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI733270B (zh) * 2019-12-11 2021-07-11 中華電信股份有限公司 機器學習模型的最佳超參數組態的訓練裝置和訓練方法

Also Published As

Publication number Publication date
KR102535361B1 (ko) 2023-05-24
KR20190043930A (ko) 2019-04-29
CN109688406A (zh) 2019-04-26
US11694125B2 (en) 2023-07-04
US11115673B2 (en) 2021-09-07
CN109688406B (zh) 2023-05-30
TWI748125B (zh) 2021-12-01
US20220007045A1 (en) 2022-01-06
US20190124348A1 (en) 2019-04-25

Similar Documents

Publication Publication Date Title
TWI748125B (zh) 使用機器學習的影像編碼器以及影像編碼器的資料處理方法
KR102165340B1 (ko) 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
CA2867807C (en) Binarization of dqp using separate absolute value and sign (savs) in cabac
KR20170059040A (ko) 비디오 부호화기의 최적 모드 결정 장치 및 최적 모드 결정을 이용한 비디오 부호화 방법
KR20210134402A (ko) 인코더, 디코더 및 대응하는 인트라 예측을 위한 방법
WO2020258010A1 (zh) 图像编解码方法、编码器、解码器以及存储介质
JP7319389B2 (ja) 適応ループ・フィルタを用いたエンコーダ、デコーダおよび対応する方法
KR20210064332A (ko) 컴팩트한 mv 스토리지를 사용하는 인코더, 디코더 및 대응하는 방법
TW201919398A (zh) 視頻數據解碼方法及裝置
JP2022172137A (ja) 適応乗算係数を用いた画像フィルタリングのための方法および装置
KR102573294B1 (ko) 서브블록 병합 후보를 위한 개별적인 병합 목록 및 비디오 코딩을 위한 인트라-인터 기술 조화
KR20210113384A (ko) 광학 흐름 정제를 위한 조기 종료
WO2019189904A1 (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
CN114145019B (zh) 用于非线性自适应环路滤波器的限幅电平
WO2016194380A1 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
US11711515B2 (en) Coding method and system with improved transform domain coefficient computation
WO2022178686A1 (zh) 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
WO2020259353A1 (zh) 语法元素的熵编码/解码方法、装置以及编解码器
US10057583B2 (en) Encoding method of image encoding device
KR101620593B1 (ko) 하드웨어 기반 에이치이브이씨 인트라 예측에서 블록 간 의존성 제거 방법
KR20210122800A (ko) 인트라 서브 파티션 코딩 모드 도구로부터 서브 파티션의 크기를 제한하는 인코더, 디코더 및 대응하는 방법
KR20210126940A (ko) 3차원 영상 생성을 위한 2차원 영상의 부호화 및 복호화 장치
CN113785565A (zh) 视频编解码的方法和系统
JP2021093634A (ja) 符号化装置、復号装置、及びプログラム