TWI804181B - 影像編碼方法及其影像編碼器 - Google Patents

影像編碼方法及其影像編碼器 Download PDF

Info

Publication number
TWI804181B
TWI804181B TW111103569A TW111103569A TWI804181B TW I804181 B TWI804181 B TW I804181B TW 111103569 A TW111103569 A TW 111103569A TW 111103569 A TW111103569 A TW 111103569A TW I804181 B TWI804181 B TW I804181B
Authority
TW
Taiwan
Prior art keywords
frame
input
prediction
intra
circuit
Prior art date
Application number
TW111103569A
Other languages
English (en)
Other versions
TW202232948A (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 TW202232948A publication Critical patent/TW202232948A/zh
Application granted granted Critical
Publication of TWI804181B publication Critical patent/TWI804181B/zh

Links

Images

Classifications

    • 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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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/172Methods 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 picture, frame or field
    • 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/177Methods 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 a group of pictures [GOP]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)

Abstract

一種用於一影像編碼器之方法,包含有下列步驟:接收一系列輸入幀;對該系列輸入幀執行一幀內預測及一幀間預測當中至少一者,以產生一幀內編碼幀(以下簡稱為I幀)、一預測編碼幀(以下簡稱為P幀)及一關鍵預測編碼幀(以下簡稱為關鍵P幀)當中至少一者;針對該系列輸入幀中被決定為該I幀之一第一輸入幀產生一編碼碼流;以及根據由關於該第一輸入幀的該編碼碼流取得的一第一參考幀,對該系列輸入幀中被決定為一關鍵P幀之一第二輸入幀執行該幀間預測。

Description

影像編碼方法及其影像編碼器
本發明係指一種影像編碼方法及其影像編碼器,尤指一種可減少記憶體使用的影像編碼方法及其相關的影像編碼器。
習知的影像編碼方法係參考前一幀來對當前幀進行編碼。現有的編碼技術提出了圖像群組(Group of Picture,GOP)之編碼結構,除了參考前一幀以外,此編碼方案亦同時參考特別保留的較長時間之前的幀內編碼幀(Intra Frame(I-frame),以下簡稱為I幀)作為長期參考幀。在圖像群組之結構中,由一I幀開始加上後續的一系列預測編碼幀(Predictive Frame(P-frame),以下簡稱為P幀)可視為一群組。
在影像處理的運作中,I幀通常具有較多的碼流(Bitstream),因此,為了降低整體位元率(Bit Rate),可提高I幀之間的距離(即群組長度)以減少I幀的總數。舉例來說,可在每間隔4到5秒的時間設定一I幀,而I幀之間的時間間隔依不同應用而有所改變。然而,延長I幀的時間間隔存在下列缺點:由於每一張欲顯示的P幀皆需要直接或間接參考I幀來進行重製,當影片回放或跳播時,往往無法快速找到適合的I幀來產生影像。為解決此問題,可在群組中每隔數個P幀設定一關鍵P幀(Key P-frame),如第1圖所示。關鍵P幀的解碼不參考前一幀, 而是直接參考該群組的I幀。因此,在進行回放搜尋的操作時,只要找到關鍵P幀即可快速取得影像幀的內容。
然而,為了實現上述降低位元率的目的,除了使用一幀緩衝器來儲存前一幀之外,系統(例如影像編碼器(Video Encoder)、影像解碼器(Video Decoder)、或影像編解碼器(Video Codec))還需配置額外的幀緩衝器或更多的儲存空間來儲存I幀,以用於後續關鍵P幀的編解碼。換句話說,前一幀可作為參考幀以用於一般P幀的解碼,而I幀可作為參考幀以用於關鍵P幀的解碼,在此情況下,系統共需要二個幀緩衝器來儲存參考幀,抑或所設置的幀緩衝器應具有足以容納至少二幀的更大尺寸,額外的緩衝器佔據了大量的記憶體空間。有鑑於此,習知技術實有改進之必要。
因此,本發明之主要目的即在於提供一種影像編碼方法及其相關的影像編碼器,用來減少記憶體空間的使用,以解決上述問題。
本發明之一實施例揭露一種用於一影像編碼器之方法,該方法包含有下列步驟:接收一系列輸入幀;對該系列輸入幀執行一幀內預測(Intra-Prediction)及一幀間預測(Inter-Prediction)當中至少一者,以產生一幀內編碼幀(Intra Frame(I-frame),以下簡稱為I幀)、一預測編碼幀(Predictive Frame(P-frame),以下簡稱為P幀)及一關鍵預測編碼幀(Key Predictive Frame(Key P-frame),以下簡稱為關鍵P幀)當中至少一者;針對該系列輸入幀中被決定為該I幀之一第一輸入幀產生一編碼碼流(Encoded Bitstream);以及根據由關於該第一輸入幀的該編碼碼流取得的一第一參考幀,對該系列輸入幀中被決定為一 關鍵P幀之一第二輸入幀執行該幀間預測。
本發明之另一實施例揭露一種影像編碼器,其包含有一接收電路、一幀內預測電路、一幀間預測電路及一熵編碼電路(Entropy Encoding Circuit)。該接收電路用來接收一系列輸入幀。該幀內預測電路用來對該系列輸入幀中被決定為一I幀之一第一輸入幀執行一幀內預測。該幀間預測電路用來根據由關於該第一輸入幀的一編碼碼流取得的一第一參考幀,對該系列輸入幀中被決定為一關鍵P幀之一第二輸入幀執行一幀間預測。該熵編碼電路用來產生關於該第一輸入幀的該編碼碼流。
20,50:影像編碼器
202:幀間預測電路
204,606:幀內預測電路
206:模式決定電路
208:殘差計算電路
210:壓縮電路
212:熵編碼電路
214:解壓縮電路
216:結合電路
218,608:去區塊濾波電路
220,520:幀緩衝器
500:解碼電路
510:碼流緩衝器
602:熵解碼電路
604:反量化及反轉換電路
70:編碼流程
700~710:步驟
第1圖為一圖像群組的編碼結構之示意圖。
第2圖為一般影像編碼器之示意圖。
第3圖繪示一系列輸入幀透過一影像編碼器產生重建幀及編碼碼流以及關於重建幀的影像編碼方法。
第4圖繪示本發明實施例一系列輸入幀透過一影像編碼器產生重建幀及編碼碼流以及其相關的影像編碼方法。
第5圖為本發明實施例影像編碼器之示意圖。
第6圖繪示本發明實施例解碼電路之一種示例性實施方式。
第7圖為本發明實施例一編碼流程之流程圖。
請參考第2圖,第2圖為一般影像編碼器20之示意圖。對於接收到的 每一輸入幀而言,影像編碼器20可選擇透過一幀內預測(Intra-Prediction)模式或一幀間預測(Inter-Prediction)模式來處理輸入幀以取得一預測幀。影像編碼器20可計算輸入幀與預測幀之間的差異以產生一殘差幀(Residual Frame),對殘差幀進行壓縮之後,再執行熵編碼(Entropy Coding)以產生編碼碼流(Encoded Bitstream)。如第2圖所示,影像編碼器20包含有一幀間預測電路202、一幀內預測電路204、一模式決定電路206、一殘差計算電路208、一壓縮電路210、一熵編碼電路212、一解壓縮電路214、一結合電路216、一去區塊濾波電路(Deblocking Filter Circuit)218及一幀緩衝器220。這些位於影像編碼器20中的電路運作皆是以區塊為基礎,意即影像資料分為多個巨區塊(Macroblock)來進行處理,區塊大小可以是例如8*8個畫素或16*16個畫素。影像編碼器20亦可包含一接收器或接收電路(未繪示),用來接收來自於影像源的一系列輸入幀。
幀間預測電路202可用來從幀緩衝器220接收一參考幀,並據以對輸入幀執行幀間預測。舉例來說,幀間預測電路202可包含一運動估計(Motion Estimation)單元及一運動補償(Motion Compensation)單元。運動估計單元可根據參考幀來對輸入幀執行運動估計,並將運動估計資訊提供予運動補償單元,運動補償單元再根據接收到的運動估計資訊來執行運動補償,以產生一幀間預測幀。
幀內預測電路204可用來對輸入幀執行幀內預測,以產生一幀內預測幀。幀內預測操作中的運動估計係根據輸入幀內巨區塊之間的影像內容來執行,而不參考其它參考幀。
模式決定電路206可接收用於當前輸入幀的相關預測模式資訊,並根 據預測模式資訊,選擇輸出由幀間預測電路202或幀內預測電路204產生的預測幀。更明確來說,若模式決定電路206決定預測模式為幀內預測模式時,可輸出幀內預測電路204所產生的幀內預測幀作為預測幀;若模式決定電路206決定預測模式為幀間預測模式時,可輸出幀間預測電路202所產生的幀間預測幀作為預測幀。
當殘差計算電路208接收到預測幀時,可根據預測幀(其可以是幀內預測幀或幀間預測幀)及輸入幀來產生一殘差幀。舉例來說,殘差計算電路208可計算輸入幀與預測幀之間的差異,以產生殘差幀。
壓縮電路210可用來對殘差幀進行壓縮操作,此壓縮操作包含有轉換及量化。轉換操作可將殘差幀轉換為轉換係數,量化操作可根據量化參數(Quantization Parameter,QP)來量化轉換係數,並輸出量化後的轉換係數至熵編碼電路212。
接著,熵編碼電路212可根據對應於殘差幀的量化轉換係數以及相關的圖像預測模式資訊來執行熵編碼,進而產生一編碼碼流。舉例來說,在幀內預測模式中,熵編碼電路212可根據相關的幀內預測模式資訊來執行熵編碼以產生編碼碼流,熵編碼的範例包含有基於上下文的自適應二進位算術編碼(Context-Based Adaptive Binary Arithmetic Coding,CABAC)及可變長度編碼(Variable-Length Coding,VLC)等,但不限於此。由於編碼碼流是基於由輸入幀與預測幀的差異取出的殘差資訊且該殘差資訊經過進一步壓縮而產生,因此對應於一輸入幀之編碼碼流的資料量通常遠少於該輸入幀本身的資料量。
量化轉換係數另可輸出至解壓縮電路214,解壓縮電路214可用來對量化轉換係數進行解壓縮,其解壓縮操作包含有反量化及反轉換。反量化操作可將量化轉換係數轉換為轉換係數之一重建版本,反轉換操作可對反量化後的量化轉換係數進行,以重建殘差幀的殘差資訊。
當結合電路216從解壓縮電路214接收到殘差資訊時,可將殘差資訊與預測幀結合以產生一重建幀(Reconstructed Frame)。舉例來說,結合電路216可將預測幀加上殘差資訊以產生重建幀。
重建幀可提供予幀內預測電路作為參考,以進行幀內預測操作。重建幀亦可由去區塊濾波電路218進行處理,去區塊濾波電路218可將去區塊後的重建幀儲存於幀緩衝器220,以作為後續輸入幀進行編碼所需的參考幀。
請參考第3圖,第3圖繪示一系列輸入幀透過一影像編碼器(如第2圖中的影像編碼器20)產生重建幀及編碼碼流以及關於重建幀的影像編碼方法。在此例中,該系列輸入幀可視為圖像群組(Group of Picture,GOP)之結構。群組中第一個(最早的)輸入幀被決定為一幀內編碼幀(Intra Frame(I-frame),以下簡稱為I幀),接下來的複數個輸入幀被決定為預測編碼幀(Predictive Frame(P-frame),以下簡稱為P幀)。在這些P幀當中,每隔一段預定時間間隔的部分輸入幀被決定為關鍵預測編碼幀(Key Predictive Frame(Key P-frame),以下簡稱為關鍵P幀),此預定時間間隔可定義為從一關鍵P幀到下一關鍵P幀之間的輸入幀數量。每一輸入幀皆可透過影像編碼器進行處理,以根據上述影像編碼程序來產生一重建幀。
若當前接收到的輸入幀被決定為I幀,則預測模式資訊指示需執行幀內預測,模式決定電路206可根據預測模式資訊,選擇輸出由幀內預測電路204所產生的幀內預測幀作為預測幀。此時,編碼操作未參考任何其它的參考幀。
若當前接收到的輸入幀被決定為P幀(或關鍵P幀),則預測模式資訊指示需參考一參考幀來執行幀間預測,模式決定電路206可根據預測模式資訊,選擇輸出由幀間預測電路202所產生的幀間預測幀作為預測幀。需注意的是,影像編碼是以區塊為基礎的資料處理,而上述殘差幀、幀內預測幀、幀間預測幀及重建幀皆是一個一個區塊各別產生。
如第3圖所示,於I幀進行編碼之後所產生的重建幀可儲存於一幀緩衝器L。幀緩衝器L可視為一長期參考幀緩衝器,其可以是影像編碼器20中的幀緩衝器220之一部分。下一幀為P幀,影像編碼器20針對P幀可從幀緩衝器L取得先前的重建幀作為參考幀以執行幀間預測,並產生新的重建幀,再將此新的重建幀儲存於一幀緩衝器R(或稱為參考幀緩衝器),幀緩衝器R可以是影像編碼器20中的幀緩衝器220之另一部分。影像編碼器20可利用幀緩衝器R中的先前的重建幀作為參考幀來執行幀間預測,以產生後續的每一P幀,並產生新的重建幀再將其儲存於幀緩衝器R以取代前一重建幀。若一輸入幀被決定為關鍵P幀時,即可利用由I幀產生且儲存於幀緩衝器L的重建幀作為參考幀來執行幀間預測,並產生新的重建幀再將其儲存於幀緩衝器R以取代前一重建幀。
換句話說,在同一個圖像群組中,幀緩衝器R的內容係持續更新,而幀緩衝器L僅儲存對應於I幀的重建資料,幀緩衝器L的內容維持不變,直到下一個I幀(即下一個圖像群組中的I幀)到達並產生相對應的重建幀為止。
如第3圖所示,除了重建幀之外,關於每一輸入幀的殘差幀亦可進行壓縮以產生一編碼碼流。如上所述,編碼碼流的資料量通常遠少於輸入幀的資料量,且重建幀的資料量相等於輸入幀的資料量,因此,編碼碼流的資料量亦遠少於重建幀的資料量。一般來說,編碼碼流係透過大於10:1的壓縮率產生,使得其資料量低於輸入幀及重建幀的資料量的1/10。
在如第3圖所示的記憶體配置方案中,影像編碼器需設置二個幀緩衝器(或一個可容納二幀大小的幀緩衝器)以儲存參考幀,其需要大量的記憶體空間。為了節省記憶體的使用,本發明之實施例提供了一種影像編碼方案,可用於上述圖像群組的影像編碼處理。
請參考第4圖,第4圖繪示本發明實施例一系列輸入幀透過一影像編碼器(如第5圖中的影像編碼器50)產生重建幀及編碼碼流以及其相關的影像編碼方法。同樣地,該系列輸入幀可視為一組圖像群組之結構,其係由一個I幀、數個關鍵P幀、以及多個P幀所組成。在此例中,影像編碼器配置的記憶體空間包含有一幀緩衝器R(第二記憶體單元)及一碼流緩衝器E(第一記憶體單元)。幀緩衝器R類似於第3圖之範例中的幀緩衝器R,其係用來儲存重建幀的影像內容作為參考幀。碼流緩衝器E則用來儲存熵編碼電路所產生的編碼碼流。
更明確來說,當輸入至影像編碼器的輸入幀被視為I幀時,關於I幀的重建幀可儲存於幀緩衝器R而編碼碼流可儲存於碼流緩衝器E。更明確來說,影像編碼器可透過幀內預測電路來對I幀執行幀內預測以產生一幀內預測幀(作為預測幀而輸出至殘差計算電路)。關於被視為I幀的輸入幀之殘差幀係根據預測幀 及輸入幀而產生,殘差幀可再進一步進行量化/反量化以及轉換/反轉換以產生重建幀,同時亦進行熵編碼以產生編碼碼流。
當一輸入幀被視為P幀並且非關鍵P幀時,影像編碼器可從幀緩衝器R取得前一個重建幀作為參考幀來進行幀間預測,以產生關於P幀的新的重建幀,再將新的重建幀儲存於幀緩衝器R。
在同一個圖像群組中,關鍵P幀需參考I幀作為參考幀來執行幀間預測。需注意的是,I幀的資訊係由儲存於碼流緩衝器E中的編碼碼流攜帶。因此,當決定為關鍵P幀之一輸入幀被接收時,可先解碼儲存於碼流緩衝器E中的編碼碼流以進行還原,而解碼器可用來實現此目的。在一實施例中,當影像編碼器處理一關鍵P幀的前一個P幀時,可透過解碼器對儲存於碼流緩衝器E的編碼碼流進行解碼,解碼後的編碼碼流再儲存至幀緩衝器R,如第4圖所示。此時,幀緩衝器R不需用來儲存前一個重建幀的內容,因此可將由編碼碼流解碼之後產生的關於I幀的重建幀寫入幀緩衝器R。針對此關鍵P幀,影像編碼器可從幀緩衝器R取得關於I幀的重建幀作為參考幀來進行幀間預測,並產生關於此關鍵P幀的新的重建幀,再將其儲存於幀緩衝器R以用於下一個P幀。
如此一來,針對一般P幀的處理,影像編碼器可直接利用儲存於幀緩衝器R的幀資料作為參考幀;而針對關鍵P幀的處理,影像編碼器可利用解碼器對儲存於碼流緩衝器E中的編碼碼流進行解碼以取回關於I幀的重建幀,再將其寫入幀緩衝器R作為參考幀,進而完成影像處理操作。
基於上述用於圖像群組之編碼結構的操作,無須配置如第3圖所示的 二個幀緩衝器(包括幀緩衝器L和幀緩衝器R);根據如第4圖所示的影像編碼方法,原先用來儲存關於I幀的重建幀之幀緩衝器L可由空間較小的碼流緩衝器E取代,用以實現提供長期參考幀的功能。更明確來說,第3圖所示的幀緩衝器L係用來儲存重建幀中未壓縮的影像資料,但第4圖所示的碼流緩衝器E僅需用來儲存具有壓縮資料的編碼碼流,而編碼碼流的資料量遠小於重建幀。以具有4百萬畫素的影像幀為例,其產生的重建幀的資料量約為6百萬位元組(Megabyte,MB),而對應的壓縮/編碼碼流的資料量約為500~800千位元組(Kilobyte,KB)或更少,視壓縮率而定。如此一來,相較於原來的記憶體空間而言,影像編碼器僅需要使用大約1/10的記憶體空間來儲存I幀的影像內容資訊(以碼流格式),並搭配設置一解碼器。當關鍵P幀欲使用I幀作為參考幀時,解碼器可用來對儲存於碼流緩衝器E中的編碼碼流進行解碼,以取回關於I幀的重建幀。此解碼器可使用系統中現存的解碼器來實現(例如當系統為具有解碼功能的影像編解碼器(Video Codec)時),或額外設置一解碼器。
請參考第5圖,第5圖為本發明實施例影像編碼器50之示意圖。如第5圖所示,影像編碼器50之結構類似於第2圖中的影像編碼器20之結構,故功能相似的訊號或元件皆以相同符號表示。影像編碼器50與影像編碼器20的差異之處在於,影像編碼器50另包含有一解碼電路500,且一額外的碼流緩衝器510可內建於影像編碼器50或搭配影像編碼器50進行設置。除此之外,在影像編碼器50中,原先影像編碼器20中的幀緩衝器220可由較小的幀緩衝器520來取代。更明確來說,位於影像編碼器50中的幀緩衝器520被要求能夠容納前一個P幀;而位於影像編碼器20中的幀緩衝器220被要求能夠容納前一個P幀以及一長期參考幀(即I幀)的重建幀。因此,幀緩衝器220的尺寸為幀緩衝器520的兩倍。
在影像編碼器50中,由熵編碼電路212所產生的關於I幀的編碼碼流可儲存於碼流緩衝器510。當影像編碼器50接收到被決定為關鍵P幀之一輸入幀時,解碼電路500(或稱為解碼器)可從碼流緩衝器510接收編碼碼流,並且對編碼碼流進行解碼以產生一參考幀,此參考幀可儲存於幀緩衝器520,以用來對關鍵P幀執行幀間預測。關於影像編碼器50中其它電路模組/區塊的詳細運作方式類似於第2圖中的影像編碼器20,在此不贅述。
請參考第6圖,第6圖繪示本發明實施例解碼電路500之一種示例性實施方式。如第6圖所示,解碼電路500包含有一熵解碼電路(Entropy Decoding Circuit)602、一反量化及反轉換電路604、一幀內預測電路606及一去區塊濾波電路608。從碼流緩衝器取得的編碼碼流可由熵解碼電路602接收,熵解碼電路602可對該編碼碼流進行解碼以產生量化轉換係數。熵解碼電路602的範例包含有基於上下文的自適應二進位算術編解碼器(CABAC Decoder)以及可變長度解碼器(Variable-Length Decoder,VLD)等,但不限於此。量化轉換係數可進一步透過反量化及反轉換電路604進行反量化及反轉換,以還原量化轉換係數並取回殘差幀。接著,幀內預測電路606可根據殘差幀來執行幀內預測,以產生重建幀。重建幀可進一步透過去區塊濾波電路608轉換為一去區塊重建幀,此(去區塊)重建幀即可作為圖像群組中的關鍵P幀所使用的長期參考幀。
值得注意的是,第6圖所示之結構僅為解碼電路500的眾多實施方式之其中一種。在一實施例中,影像編碼器可以是一影像編碼積體電路(Integrated Circuit,IC),而解碼電路可以是內建於影像編碼積體電路的額外解碼器。在另一實施例中,影像編碼器可包含在一影像編解碼積體電路中,而解碼電路可以是影像編解碼積體電路中關於影像解碼器的部分元件。實際上,只要解碼電路 可用來處理編碼碼流並將編碼碼流還原為攜帶有原始影像幀資訊的重建幀,該解碼電路皆可用於影像編碼器。
另外需注意的是,本發明之主要目的之一在於提供一種影像編碼方法及其相關的影像編碼器,用來減少記憶體空間的使用。本領域具通常知識者當可據以進行修飾或變化,而不限於此。舉例來說,影像編碼器可以是搭配一解碼電路設置的H.264編碼器,如第5圖所示之結構。在另一實施例中,影像編碼器亦可以是搭配一解碼電路設置的H.265編碼器或其它編碼電路,其中,解碼電路可用來對對應於I幀的編碼碼流進行解碼以產生一參考幀。
本發明所提出的影像編碼器及解碼電路之電路模組可利用各種適當的方式來實現,如軟體、韌體、硬體或其組合,其實施方式可包含例如數位訊號處理器(Digital Signal Processor,DSP)、微處理器、離散邏輯電路、及特殊應用積體電路(Application Specific Integrated Circuit,ASIC)當中的一或多者。
上述關於影像編碼器之運作方式可歸納為一編碼流程70,如第7圖所示。編碼流程70可實現於一影像編碼器,如第5圖中的影像編碼器50,其包含下列步驟:
步驟700:開始。
步驟702:接收一系列輸入幀。
步驟704:對該系列輸入幀執行一幀內預測及一幀間預測當中至少一者,以產生一I幀、一P幀及一關鍵P幀當中至少一者。
步驟706:針對該系列輸入幀中被決定為I幀之一第一輸入幀產生一編碼碼流。
步驟708:根據由關於第一輸入幀的編碼碼流取得的一第一參考幀,對該系列輸入幀中被決定為一關鍵P幀之一第二輸入幀執行幀間預測。
步驟710:結束。
根據編碼流程70,關於第一輸入幀(即I幀)的編碼碼流可儲存於一碼流緩衝器,此編碼碼流可進行解碼以產生第一參考幀,第一參考幀可儲存於一幀緩衝器,如此可省略用來儲存長期參考幀的記憶體空間,以減少幀緩衝器的使用。也就是說,長期參考幀是以編碼碼流的格式儲存,編碼碼流係在壓縮及編碼之後產生,因此編碼碼流的資料量遠少於輸入幀或重建幀的資料量。其它關於編碼流程70的詳細實施及運作方式可參考上述段落的說明,在此不贅述。
綜上所述,本發明提出了一種影像編碼方法及其相關的影像編碼器。所述影像編碼方法可用於圖像群組之編碼結構,其中,一群組包含有一I幀、數個關鍵P幀、以及多個P幀。在圖像群組之編碼方案中,P幀可參考先前幀的資訊並透過幀間預測來進行處理,而同一組中的關鍵P幀可參考I幀的資訊並透過幀間預測來進行處理。先前幀的資訊可儲存於幀緩衝器,I幀的資訊則透過編碼碼流攜帶並儲存於碼流緩衝器,而無須使用幀緩衝器中的額外記憶體空間。在此情況下,影像編碼器所需要的記憶體空間共包含用來儲存一幀的幀緩衝器以及用來儲存編碼碼流的碼流緩衝器。由於編碼碼流係在壓縮及編碼之後產生,因此編碼碼流的資料量遠少於原始輸入幀的資料量。如此一來,相較於習知將重建後的I幀儲存於長期參考幀緩衝器的方式,本發明之影像編碼方法可大幅減少記憶體空間的使用。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化 與修飾,皆應屬本發明之涵蓋範圍。
70:編碼流程
700~710:步驟

Claims (13)

  1. 一種用於一影像編碼器之方法,包含有:接收一系列輸入幀;對該系列輸入幀執行一幀內預測(Intra-Prediction)及一幀間預測(Inter-Prediction)當中至少一者,以產生一幀內編碼幀(Intra Frame(I-frame),以下簡稱為I幀)、一預測編碼幀(Predictive Frame(P-frame),以下簡稱為P幀)及一關鍵預測編碼幀(Key Predictive Frame(Key P-frame),以下簡稱為關鍵P幀)當中至少一者;針對該系列輸入幀中被決定為該I幀之一第一輸入幀產生一編碼碼流(Encoded Bitstream),並且將該編碼碼流儲存於該影像編碼器中的一碼流緩衝器;從該碼流緩衝器取得該編碼碼流以解碼產生一第一參考幀,並且將該第一參考幀儲存於該影像編碼器中的一幀緩衝器;以及根據從該幀緩衝器取得的該第一參考幀,對該系列輸入幀中被決定為一關鍵P幀之一第二輸入幀執行該幀間預測。
  2. 如請求項1所述之方法,另包含有:將對應於被決定為該I幀之該第一輸入幀的一重建幀(Reconstructed Frame)儲存於該幀緩衝器。
  3. 如請求項1所述之方法,另包含有:根據從該幀緩衝器取得的一第二參考幀,對該系列輸入幀中被決定為該P幀之一第三輸入幀執行該幀間預測,其中,該第二參考幀是由該影像編碼器對該第三輸入幀之前的一先前輸入幀進行編碼而產生的一重建幀。
  4. 如請求項1所述之方法,其中針對該系列輸入幀中被決定為該I幀之該第一輸入幀產生該編碼碼流之步驟包含有:對該系列輸入幀中被決定為該I幀之該第一輸入幀執行該幀內預測,以產生一幀內預測幀(Intra-Predicted Frame);根據該幀內預測幀及該第一輸入幀,產生一殘差幀(Residual Frame);以及根據對應於該殘差幀的量化轉換係數以及相關的幀內預測模式資訊來執行熵編碼(Entropy Coding),以產生關於該第一輸入幀的該編碼碼流。
  5. 如請求項1所述之方法,其中該第一輸入幀及該第二輸入幀屬於一圖像群組(Group of Picture,GOP)。
  6. 如請求項1所述之方法,其中從該碼流緩衝器取得該編碼碼流以解碼產生該第一參考幀之步驟是由內建於該影像編碼器的一解碼電路來執行。
  7. 如請求項1所述之方法,其中從該碼流緩衝器取得該編碼碼流以解碼產生該第一參考幀之步驟包含有:對該編碼碼流執行熵解碼(Entropy Decoding)、反量化及反轉換,以產生一還原殘差資料;以及根據該還原殘差資料來執行該幀內預測,以重建該第一參考幀。
  8. 一種影像編碼器,包含有:一接收電路,用來接收一系列輸入幀; 一幀內預測電路,用來對該系列輸入幀中被決定為一幀內編碼幀(Intra Frame(I-frame),以下簡稱為I幀)之一第一輸入幀執行一幀內預測(Intra-Prediction);一幀間預測電路,用來根據由關於該第一輸入幀的一編碼碼流(Encoded Bitstream)取得的一第一參考幀,對該系列輸入幀中被決定為一關鍵預測編碼幀(Key Predictive Frame(Key P-frame),以下簡稱為關鍵P幀)之一第二輸入幀執行一幀間預測(Inter-Prediction);一熵編碼電路(Entropy Encoding Circuit),用來產生關於該第一輸入幀的該編碼碼流;一碼流緩衝器,用來儲存該編碼碼流;一解碼電路,用來從該碼流緩衝器取得該編碼碼流以解碼產生一第一參考幀;以及一幀緩衝器,用來儲存該第一參考幀。
  9. 如請求項8所述之影像編碼器,另包含有一去區塊濾波電路(Deblocking Filter Circuit),其中,該去區塊濾波電路用來產生對應於被決定為該I幀之該第一輸入幀的一重建幀,並將該重建幀儲存於該幀緩衝器。
  10. 如請求項8所述之影像編碼器,其中該幀間預測電路另用來根據從該幀緩衝器取得的一第二參考幀,對該系列輸入幀中被決定為一預測編碼幀(Predictive Frame(P-frame),以下簡稱為P幀)之一第三輸入幀執行該幀間預測,其中,該第二參考幀是由該影像編碼器對該第三輸入幀之前的一先前輸入幀進行編碼而產生的一重建幀。
  11. 如請求項8所述之影像編碼器,另包含有一殘差計算電路,用來根據一幀內預測幀及該第一輸入幀來產生一殘差幀(Residual Frame),其中,該幀內預測電路對該系列輸入幀中被決定為該I幀之該第一輸入幀執行該幀內預測,以產生該幀內預測幀,且該熵編碼電路根據對應於該殘差幀的量化轉換係數以及相關的幀內預測模式資訊來執行熵編碼,以產生關於該第一輸入幀的該編碼碼流。
  12. 如請求項8所述之影像編碼器,其中該第一輸入幀及該第二輸入幀屬於一圖像群組(Group of Picture,GOP)。
  13. 如請求項8所述之影像編碼器,其中該解碼電路另用來執行下列步驟:對該編碼碼流執行熵解碼(Entropy Decoding)、反量化及反轉換,以產生一還原殘差資料;以及根據該還原殘差資料來執行該幀內預測,以重建該第一參考幀。
TW111103569A 2021-02-02 2022-01-27 影像編碼方法及其影像編碼器 TWI804181B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163144933P 2021-02-02 2021-02-02
US63/144,933 2021-02-02

Publications (2)

Publication Number Publication Date
TW202232948A TW202232948A (zh) 2022-08-16
TWI804181B true TWI804181B (zh) 2023-06-01

Family

ID=82562738

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111103569A TWI804181B (zh) 2021-02-02 2022-01-27 影像編碼方法及其影像編碼器

Country Status (3)

Country Link
US (1) US11889057B2 (zh)
CN (1) CN114845107A (zh)
TW (1) TWI804181B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140098861A1 (en) * 2012-10-05 2014-04-10 Futurewei Technologies, Inc. Architecture for Hybrid Video Codec
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
WO2018036352A1 (zh) * 2016-08-25 2018-03-01 腾讯科技(深圳)有限公司 视频数据的编解码方法、装置、***及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703774B1 (ko) * 2005-04-13 2007-04-06 삼성전자주식회사 인트라 코딩을 선택적으로 적용하여 인트라 bl 예측모드의 비디오 신호를 인코딩 및 디코딩하는 방법 및 장치
EP2536143B1 (en) * 2011-06-16 2015-01-14 Axis AB Method and a digital video encoder system for encoding digital video data
US10136165B2 (en) * 2011-09-14 2018-11-20 Mobitv, Inc. Distributed scalable encoder resources for live streams
US9426463B2 (en) * 2012-02-08 2016-08-23 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
JP2014082639A (ja) * 2012-10-16 2014-05-08 Canon Inc 画像符号化装置およびその方法
CN104769947B (zh) * 2013-07-26 2019-02-26 北京大学深圳研究生院 一种基于p帧的多假设运动补偿编码方法
US10404992B2 (en) * 2015-07-27 2019-09-03 Qualcomm Incorporated Methods and systems of restricting bi-prediction in video coding
KR20180053028A (ko) * 2016-11-11 2018-05-21 삼성전자주식회사 계층 구조를 구성하는 프레임들에 대한 인코딩을 수행하는 비디오 처리 장치
WO2018174402A1 (ko) * 2017-03-21 2018-09-27 엘지전자 주식회사 영상 코딩 시스템에서 변환 방법 및 그 장치
CN112995663B (zh) * 2019-12-02 2022-09-23 华为技术有限公司 视频编码的方法、视频解码的方法及相应装置
US11405626B2 (en) * 2020-03-03 2022-08-02 Qualcomm Incorporated Video compression using recurrent-based machine learning systems
US11430138B2 (en) * 2020-03-05 2022-08-30 Huawei Technologies Co., Ltd. Systems and methods for multi-frame video frame interpolation
US11831909B2 (en) * 2021-03-11 2023-11-28 Qualcomm Incorporated Learned B-frame coding using P-frame coding system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140098861A1 (en) * 2012-10-05 2014-04-10 Futurewei Technologies, Inc. Architecture for Hybrid Video Codec
CN105847825A (zh) * 2015-01-16 2016-08-10 杭州海康威视数字技术股份有限公司 视频编码码流的编码、索引存储和访问方法及相应装置
WO2018036352A1 (zh) * 2016-08-25 2018-03-01 腾讯科技(深圳)有限公司 视频数据的编解码方法、装置、***及存储介质

Also Published As

Publication number Publication date
US20220247998A1 (en) 2022-08-04
CN114845107A (zh) 2022-08-02
US11889057B2 (en) 2024-01-30
TW202232948A (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
KR101091752B1 (ko) 복호 장치 및 복호 방법
JP4927207B2 (ja) 符号化方法、復号化方法及び装置
KR101732767B1 (ko) 비디오 코딩에서의 양자화된 펄스 코드 변조
US7310371B2 (en) Method and/or apparatus for reducing the complexity of H.264 B-frame encoding using selective reconstruction
TWI657692B (zh) 於視訊寫碼程序中用於係數層級寫碼之萊斯(rice)參數初始化
JP5248475B2 (ja) 映像圧縮におけるリファインメント係数符号化のための方法及び装置
KR20120100851A (ko) 패킷 손실 복구를 개선하기 위한 프레임 캐싱의 이용
KR20090005080A (ko) 비디오 압축과 연관된 정보를 코딩 및 디코딩하기 위한 방법 및 시스템
JP2009531992A5 (zh)
US20050265444A1 (en) Moving image encoding/decoding apparatus and method
JP3696490B2 (ja) デコーダのビデオメモリ条件を減少させる方法及びビデオデコーダ
TWI804181B (zh) 影像編碼方法及其影像編碼器
WO2022209032A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法および映像システム
JP2010268094A (ja) 画像復号化装置および画像復号化方法
CN116437098A (zh) 编码视频数据处理方法
JP2002374536A (ja) 符号化装置
Norouzi et al. Implementation of Hybrid MC/DCT video codec
KR20080080819A (ko) 동영상 부호화 및 재생 방법 및 장치