TWI801764B - 用於編碼視訊序列之影像之方法及系統 - Google Patents
用於編碼視訊序列之影像之方法及系統 Download PDFInfo
- Publication number
- TWI801764B TWI801764B TW109138160A TW109138160A TWI801764B TW I801764 B TWI801764 B TW I801764B TW 109138160 A TW109138160 A TW 109138160A TW 109138160 A TW109138160 A TW 109138160A TW I801764 B TWI801764 B TW I801764B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- motion vector
- pixel block
- image
- cost
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種用於編碼一視訊序列之一影像之方法及系統。該方法分析該視訊序列中之運動以識別已自該視訊序列中之一先前編碼影像以比一臨限值長之一距離向量移動之該影像中之一同調區域。針對該影像中之各像素區塊,將用於框間編碼該區塊之一成本計算為用於編碼一運動向量之一成本及一殘餘之一組合。針對該同調區域中之至少一像素區塊,相對於該同調區域之該距離向量計算而非相對於該影像中之一相鄰像素區塊之一運動向量計算用於編碼該運動向量之該成本。接著,若用於編碼該運動向量之該組合成本及用於編碼該殘餘之該成本在組合時低於用於框內編碼該像素區塊之一成本,則框間編碼該區塊。
Description
本發明係關於視訊編碼之領域。特定言之,本發明係關於一種用於編碼一視訊序列之一影像之方法及系統。
當編碼視訊圖框之一序列時,常見做法係將各視訊圖框分成若干像素區塊且逐區塊編碼圖框。此等圖框稱為在H.264/MPEG-4 AVC中稱為巨集區塊及在H.265/HEVC中稱為編碼單元。區塊可編碼為框內區塊(有時指稱I區塊)或框間區塊(有時指稱P或B區塊)。
若框內編碼一區塊,則僅參考當前圖框之像素值(諸如藉由自相同圖框中之相鄰區塊之邊緣外推)編碼像素值。此與參考一參考圖框中之一匹配像素區塊編碼之框間編碼區塊形成對比。具體而言,一像素區塊之框間編碼涉及編碼指向參考圖框中之匹配像素區塊之一運動向量及編碼像素區塊與匹配像素區塊之間的一殘餘。為使一像素區塊之運動向量之編碼更高效,其通常相對於鄰近像素區塊之運動向量(諸如相對於相同圖框中之一先前編碼之相鄰區塊之一運動向量)編碼。
在指稱框內圖框之一些圖框中,框內編碼所有像素區塊。在指稱框間圖框之其他圖框中,框內編碼一些像素區塊且框間編碼其他像素區塊。在框間圖框中,逐區塊決定將像素區塊編碼為一框內編碼區塊或一框間編碼區塊。通常基於框內編碼及框間編碼之哪一個將給出最低編碼成本來作出決定。可依據一預界定值來給出用於框內編碼一區塊之成本,而將用於框間編碼一區塊之成本判定為用於編碼運動向量及殘餘之一組合成本。
逐區塊決定框內編碼或框間編碼一像素區塊之方法存在一些缺點。具體而言,在一區塊級上似乎係最佳之決定在一些情形中可能為在一圖框級上次佳且可最終導致用於編碼圖框之一不必要高成本。
此一情形之一實例係跨越多個像素區塊之一物件已自一先前編碼圖框移動一相當大距離。針對物件內之像素區塊,一運動搜尋可能提出具有相當大長度且對應於物件自先前編碼圖框之運動之一候選運動向量。由於編碼一長運動向量較昂貴,因此對任何單一像素區塊使用長運動向量似乎不是一好決定。特定言之,此將為較高壓縮程度之情況,因為殘餘理論上因高壓縮程度而變小,但用於編碼運動向量之成本保持相同,不管壓縮程度如何。相反地,既有逐區塊方法將決定使用較短運動向量將物件內之區塊編碼為框內編碼區塊或框間編碼區塊。然而,一圖框級上之一較佳決定可能已承擔考量相對於彼此編碼運動向量之用於編碼長運動向量之額外成本。因此,存在改良空間。
因此,鑑於上文,本發明之一目的係減少用於編碼描繪已自一視訊序列中之一先前編碼影像移動一相當大距離之一物件之一影像之總位元成本。
根據本發明之一第一態樣,上述目的由一種用於編碼一視訊序列之一影像之方法達成,該方法包括:
分析該視訊序列中之運動以識別已自該視訊序列中之一先前編碼影像以比一臨限值長之一距離向量移動之該影像中之一同調區域;
藉由針對各像素區塊進行以下各者來編碼該影像中之像素區塊:
執行區塊匹配以尋找指向一參考影像中之一匹配像素區塊之一運動向量且計算該像素區塊與該匹配像素區塊之間的一殘餘,
計算用於編碼該運動向量之一成本及用於編碼該殘餘之一成本,
其中針對該同調區域中之至少一像素區塊,將用於編碼該運動向量之該成本計算為用於相對於該同調區域之該距離向量編碼該運動向量之一成本而非計算為用於相對於該影像中之一相鄰像素區塊之一運動向量編碼該運動向量之一成本;及
若用於編碼該運動向量之該成本及用於編碼該殘餘之該成本在組合時低於用於框內編碼該像素區塊之一成本,則將該像素區塊編碼為一框間編碼區塊。
使用此方法,在一區塊級上作出框內或框間編碼一像素區塊之決定。儘管如此,藉由改變針對同調區域中之至少一像素區塊計算用於編碼運動向量之成本之方式,編碼器可能被「欺騙」承擔用於編碼同調區域中之一或多個區塊之一長運動向量之額外成本。依該方式,可減少用於編碼同調區域之總實際位元成本。
更詳細地,通常相對於影像中之一相鄰像素區塊之一運動向量評估用於編碼一運動向量之成本。計算成本之此方式對應於編碼運動向量之實際位元成本。因此,編碼器通常認為編碼類似於影像中之一相鄰像素區塊之一運動向量之一運動向量較便宜。
然而,針對同調區域中之至少一像素區塊,代以相對於同調區域之一距離向量評估用於編碼一運動向量之成本。依此方式,針對同調區域中之至少一像素區塊,使編碼器相信編碼類似於同調區域之距離向量之一運動向量較便宜。因此,編碼器將更可能決定使用等於或接近同調區域之距離向量之一運動向量來框間編碼至少一像素區塊。然而,事實上,用於編碼至少一像素區塊之運動向量之實際位元成本將仍為用於相對於一相鄰像素區塊之一運動向量編碼運動向量之成本。依此方式,編碼器因此被「欺騙」承擔用於編碼同調區域中之至少一像素區塊之一長及昂貴運動向量之額外成本。接著,同調區域中之其他像素區塊之運動向量可以相對於至少一像素區塊之長及昂貴運動向量之一低成本編碼。因此,最終可減少用於編碼同調區域之總實際位元成本。
影像中之一同調區域
意謂影像中之連續像素之一區域。經識別同調區域對應於影像中已移動近似相同量及在相同方向上移動之一區域。同調區域可(例如)對應於視訊中所描繪之一移動物件。同調區域亦可對應於整個影像,例如當影像由一平移及/或傾斜攝影機擷取時。
視訊序列中之一先前編碼影像
意謂編碼順序中在當前影像之前的視訊序列中之一影像。在P型編碼之情況中,此可為視訊序列中之一先前影像,或在B型編碼之情況中,此可為視訊序列中之一未來影像。
同調區域之一距離向量
一般意謂指示自視訊序列中之一先前編碼影像移動影像中之同調區域之量及方向之一向量。距離向量可對應於移動同調區域中之像素之一平均量及方向。距離向量自影像中之同調區域之一位置指向先前編碼影像中之同調區域之一位置。
一參考影像
一般意謂相對於其編碼視訊序列之當前影像之一影像。參考影像可對應於視訊序列中之先前編碼影像。具體而言,其可自視訊序列中之先前編碼影像計算。例如,參考影像可藉由首先編碼先前編碼影像且接著再次將其解碼(視訊編碼中之常見做法)來計算。
相對於另一向量編碼一運行向量
一般意謂編碼運動向量與另一向量之間的一差。因此,用於相對於另一向量編碼一運動向量之成本可計算為用於編碼運動向量與另一向量之間的差之一成本。
相對於距離向量計算用於編碼運動向量之成本之同調區域中之至少一像素區塊可包含同調區域中待編碼之一第一像素區塊。更詳細地,同調區域中之像素區塊可依一預定順序編碼,其中同調區域中之至少一像素區塊可包含根據預定順序首先編碼之同調區域中之一像素區塊。例如,像素區塊可依一光柵掃描順序編碼,且依光柵掃描順序首先出現之同調區域中之像素區塊包含於至少一像素區塊中。依此方式,已針對同調區域中之第一編碼像素區塊承擔用於編碼對應於同調區域之距離向量之長運動向量之額外成本。接著,可以相對於該長運動向量之低成本編碼同調區域中之稍後編碼之像素區塊之運動向量。
在一些情況中,同調區域中之該至少一像素區塊僅包含根據預定順序首先編碼之同調區域中之像素區塊。此係有利的,因為僅一次性承擔用於編碼一長運動向量之額外成本。在其中相對於影像中之其先前編碼之相鄰像素區塊之任一者編碼一框間編碼區塊之運動向量之情況中(如H.265/HEVC標準中之情況),此可能足夠了。
在其他情況中,影像中之一相鄰像素區塊之運動向量對應於影像中之數個(通常奇數個)先前編碼之相鄰像素區塊之運動向量之一中值。此係(例如) H.264/MPEG-4 AVC標準中之情況,其中相對於影像中之三個先前編碼之相鄰像素區塊之運動向量之一中值編碼一框間編碼區塊之一運動向量。在此等其他情況中,同調區域中之至少一像素區塊較佳地包含兩個或更多個像素區塊。
更一般而言,同調區域中之該至少一像素區塊可包含具有小於區域內之先前編碼之相鄰像素區塊之一預定數目之同調區域中之所有像素區塊。此要求使存在用於編碼一長運動向量之一額外成本之區塊之數目保持一最小值,同時其允許同調區域內之所有剩餘區塊之運動向量以相對於一先前編碼之長運動向量之一低成本編碼。
針對上文所提及之H.265/HEVC情況,若區域中不存在先前編碼之相鄰區塊,則僅針對區域中之一區塊承擔額外成本。因此,在該情況中,預定數目等於1。針對H.264/MPEG-4 AVC情況,當計算三個相鄰區塊上之運動向量之一中值時,針對區域中具有小於兩個先前編碼之相鄰區塊之區塊承擔額外成本。因此,在該情況中,預定數目等於2。
較佳地,為最佳化區域之編碼成本,同調區域中之至少一像素區塊僅包含具有小於區域內之先前編碼之相鄰像素區塊之一預定數目之同調區域中之像素區塊。
在一些情況中,同調區域中之至少一像素區塊可包含同調區域中之所有像素區塊。不管採用哪個編碼標準,均可使用此方法。
執行區塊匹配之步驟可包含使用一運動向量搜尋窗來尋找指向參考影像中之一匹配像素區塊之運動向量。搜尋窗可以一相鄰像素區塊之運動向量為中心。即,搜尋窗使其中心位於相鄰區塊之運動向量指向之參考影像中之像素區塊處。搜尋窗之此一定位通常用於影像中之像素區塊。然而,針對同調區域中之至少一像素區塊,搜尋窗可代以以同調區域之距離向量為中心。依該方式,區塊匹配將更可能以尋找對應於同調區域中之至少一像素區塊之距離向量之一運動向量結束。
搜尋窗之上述定位亦可方便地用於實施運動向量編碼成本計算。具體而言,用於編碼一像素區塊之運動向量之成本可計算為用於相對於運動向量搜尋窗圍繞之一向量編碼運動向量之一成本。針對同調區域中之至少一像素區塊,搜尋窗以同調區域之距離向量為中心,因此,將針對該等區塊相對於同調區域之距離向量計算用於編碼運動向量之成本。此與其中搜尋窗以影像中之一相鄰像素區塊之運動向量為中心之影像中之其他像素區塊形成對比,因此,相對於相鄰像素區塊之運動向量計算用於編碼運動向量之成本。
視訊序列可由具有一可移動視域之一攝影機擷取,其中分析視訊序列中之運動之步驟係基於關於視域之一移動之來自攝影機之一輸入。例如,攝影機可為具有平移及傾斜能力之一攝影機。由於整個視域之一運動將一全域運動引入影像中,因此影像中之同調區域在該情況中可識別為整個影像且距離向量對應於自先前編碼影像之影像中之全域移動之量及方向。一旦知道視域之運動,則可導出該全域運動。
分析視訊序列中之運動之步驟可包含使用一物件偵測演算法偵測物件及其在視訊序列中之運動。例如,基於深度學習技術之物件偵測演算法可用於此目的。
影像中之同調區域之大小可大於取決於同調區域之距離向量之長度之一臨限值。依此方式,編碼同調區域中之至少一像素區塊之一長運動向量所承擔之額外成本可平衡藉由獲取同調區域中之剩餘像素區塊之一低編碼成本來賺取之收益。由於額外編碼成本隨距離向量之長度增加,因此可能需要較大同調區域用於較長距離向量以使方法見效。因此,區域大小臨限值可依據距離向量之長度來增大。
方法進一步延伸至影像中存在一個以上同調區域時之情況。具體而言,方法可進一步包括:
分析視訊序列中之運動以識別已自視訊序列中之一先前編碼影像以比一臨限值長之一第二距離向量移動之影像中之一第二同調區域,
其中針對第二同調區域中之至少一像素區塊,將用於編碼運動向量之成本計算為用於相對於第二同調區域之第二距離向量編碼運動向量之一成本而非計算為用於相對於影像中之一相鄰像素區塊之一運動向量編碼運動向量之一成本。
根據一第二態樣,提供一種用於編碼一視訊序列之一影像之系統,其包括:
一分析器,其經組態以分析該視訊序列中之運動以識別已自該視訊序列中之一先前編碼影像以比一臨限值長之一距離向量移動之該影像中之一同調區域;及
一編碼器,其經組態以藉由針對各像素區塊進行以下各者來編碼該影像中之像素區塊:
執行區塊匹配以尋找指向一參考影像中之一匹配像素區塊之一運動向量且計算該像素區塊與該匹配像素區塊之間的一殘餘,
計算用於編碼該運動向量之一成本及用於編碼該殘餘之一成本,
其中針對該同調區域中之至少一像素區塊,將用於編碼該運動向量之該成本計算為用於相對於該同調區域之該距離向量編碼該運動向量之一成本而非計算為用於相對於該影像中之一相鄰像素區塊之一運動向量編碼該運動向量之一成本,及
若用於編碼該運動向量之該成本及用於編碼該殘餘之該成本一起低於用於框內編碼該像素區塊之一成本,則將該像素區塊編碼為一框間編碼區塊。
根據一第三態樣,提供一種非暫時性電腦可讀媒體,其上儲存有電腦碼指令,該等電腦碼指令在由一處理器執行時引起該處理器實施第一態樣之方法。
第二態樣及第三態樣大體上可具有相同於第一態樣之特徵及優點。應進一步注意,除非另有明確說明,否則本發明係關於特徵之所有可能組合。
現將在下文參考其中展示本發明之實施例之附圖來更完全描述本發明。
圖1繪示用於編碼一視訊序列106之一系統100。系統包括一分析器102及一編碼器104。系統100可在擷取視訊序列106之一視訊攝影機中實施。視訊攝影機可為具有一可移動視域之一視訊攝影機,諸如一平移-傾斜-變焦攝影機。
編碼器104經配置以接收視訊序列106且編碼其以輸出一編碼視訊序列110。編碼器104之一通用目的係儘可能高效地(即,使用儘可能少位元且不犧牲視訊之品質)編碼視訊序列106。
為達成此目的,編碼器104進一步自分析器102接收一輸入108。輸入108可針對視訊序列106中之各影像指示影像中之一或多個同調區域及各同調區域之一距離向量。距離向量告知同調區域已自視訊序列106中之一先前編碼影像移動多遠及在哪個方向上移動。可設定一臨限距離,使得僅與比臨限距離長之距離向量相關聯之同調區域包含於轉送至編碼器104之輸入108中。此外,可設定一大小臨限值,使得一同調區域僅在其大於大小臨限值時包含於輸入108中。大小臨限值可取決於根據一預定關係之同調區域之距離向量之長度。通常,大小臨限值隨距離向量之長度增大而增大。
藉由使用額外輸入108,編碼器104可更高效編碼其中存在此等同調區域之影像。此現將參考圖2之流程圖來更詳細闡釋,圖2例示編碼視訊序列106中之一影像時之系統100之操作。
在步驟S102中,分析器102分析視訊序列106中之運動。特定言之,分析器102可偵測視訊序列106之影像中之物件且分析物件如何在圖框之間移動。為此,分析器102可實施任何已知物件偵測演算法或物件追蹤演算法。例如,分析器102可包含實施此一物件偵測及/或物件追蹤演算法之一深度學習網路。為進一步例示此程序,圖3展示視訊序列106之三個連續影像106-1、106-2、106-3,在該等影像之各者中,分析器102已偵測到一物件302。偵測到之物件302分別由三個影像106-1、106-2、106-3中之302-1、302-2、302-3標示。物件302可被視為其中像素已在兩個連續影像之間移動近似相同量及在相同方向上移動之影像中之一同調區域。一旦偵測到一物件302,則分析器102可尋找其在影像106-1、106-2、106-3之間的移動。具體而言,分析器102可尋找物件302已自一先前編碼影像移動多遠及在哪個方向上移動。在此實例中,假定先前編碼影像對應於視訊序列中之一先前影像。此將為P型編碼之情況。針對B型編碼,先前編碼影像代以為視訊序列中之一未來圖框。例如,分析器102可計算先前編碼影像106-1中之物件302-1之位置與當前影像106-2中之物件302-2之位置之間的一差。該差可以一距離向量304-2表示。為了此計算,物件302-1及302-2之中心可用作物件之位置。如圖中所展示,距離向量304-2指回先前編碼影像106-1中之同調區域之位置。為了說明,使用虛線將先前編碼影像106-1中之物件302-1之位置展示於影像106-2中。依一類似方式,可針對序列中之影像106-3計算一距離向量304-3。
另外或替代地,在其中視訊序列106由具有一可移動視域之一視訊攝影機擷取之情況中,分析器102可基於視訊攝影機之移動來分析視訊序列106中之運動。為此,分析器102可自攝影機接收關於攝影機之視域之移動之輸入112。輸入112可(例如)涉及攝影機之平移及傾斜移動。視域之移動將一全域運動引入視訊序列106之影像中。分析器102可自由輸入112表示之攝影機運動計算影像中之全域運動,且以一距離向量表示其。因此,在此情況中,分析器102可將整個影像識別為在相同方向上具有近似相同運動量之一同調區域。
此進一步繪示於展示視訊序列106之三個連續影像106-4、106-5、106-6之圖4中。在此實例中,假定攝影機之視域在向右方向上平移。此將一全域運動向左引入影像106-4、106-5、106-6中。針對影像之各者,整個影像可因此被視為在兩個影像之間依相同方式移動之一同調區域。分析器102可以一距離向量404-1、404-2、404-3表示同調區域之全域運動。類似於圖3實例,距離向量404-1、404-2、404-3可計算為同調區域在先前編碼影像中之位置與其在當前影像中之位置之間的一差。因此,距離向量指回先前編碼影像中之同調區域之位置。
當分析器102已識別一影像中之一或多個同調區域及其相關聯距離向量時,其可將該資訊作為輸入108提供至編碼器104。
接著,編碼器104可繼續編碼影像。一般而言,編碼器104可將影像編碼為一框內編碼影像(有時稱為I圖框)或一框間編碼影像(有時稱為P或B圖框)。框內編碼或框間編碼影像可由一圖像群(GOP)結構指定以指定視訊序列106中之框內編碼及框間編碼影像之順序。在此情況中,假定框間編碼影像。
編碼器104逐區塊編碼影像。特定言之,影像可分為依次被編碼之一特定大小之像素區塊,諸如8×8個像素、16×16個像素、32×32個像素之區塊。此等像素區塊在本技術中亦稱為巨集區塊或編碼單元。編碼器104可依一預定順序編碼此等像素區塊。預定順序通常對應於一光柵掃描方向。
因此,在步驟S104中,編碼器104檢查影像中是否存在待編碼之另一像素區塊。若存在,則編碼器104相對於待處理之下一區塊實施步驟S106、S107、S108a或S108b、S110、S112。否則,方法終止且系統100將繼續分析及編碼視訊序列106中之下一影像。
當框間編碼一影像時,一些區塊可被框內編碼,而其他區塊被框間編碼。具體而言,如將更詳細描述,編碼器104針對各區塊決定其應被框內編碼或框間編碼。作出該決定以最小化用於編碼區塊之成本,例如以編碼區塊所需之位元數目所表示。簡言之,編碼器104在步驟S106、S107、S108a或S108b及S110中計算用於框間編碼像素區塊之一成本,且在步驟S112中其作出關於框間編碼或框內編碼像素區塊之一決定。
在步驟S106中,編碼器104開始旨在參考圖框中尋找一「最佳」匹配像素區塊之一區塊匹配程序。參考圖框通常對應於視訊序列106中之先前編碼影像之一編碼及隨後解碼版本。具體而言,編碼器104可使當前處理影像中之像素區塊與參考影像中之複數個候選像素區塊匹配以尋找給出最佳匹配之參考影像中之一像素區塊。參考圖框中之候選像素區塊可包含於參考圖框中之一搜尋窗中。針對參考圖框中之各候選像素區塊,編碼器104可計算一運動向量及一殘餘,即,區塊之間的逐像素差。
為評估什麼構成兩個區塊之間的一良好匹配,編碼器104通常使用一成本函數。選擇最小化成本函數之參考影像中之候選像素區塊作為最佳匹配。編碼器104可使用係用於編碼運動向量之成本及用於編碼候選像素區塊之殘餘之成本之一組合之一成本函數。根據本發明,計算用於編碼運動向量之成本之兩個不同方法(本文中指稱一經修改成本計算及一常規成本計算)用於影像中之不同像素區塊。
在步驟S107中,編碼器104檢查一經修改或常規成本計算應用於計算用於編碼步驟S106中找到之運動向量之成本。針對影像中之大多數像素區塊,應用常規成本計算。然而,針對各同調區域內之至少一像素區塊,使用經修改成本計算。
為執行此檢查,編碼器104可具有一區塊何時應依循常規成本計算或經修改成本計算之一組規則。此等規則可隨不同群組之實施例變動。規則亦可與如何執行常規成本計算有關。
在一第一群組之實施例中,編碼器104在步驟S107中檢查當前處理區塊是否為待編碼之一同調區域內之第一區塊。此原理例示於示意性繪示待編碼之一影像506之圖5中。影像506包含複數個像素區塊501。此外,影像中存在由陰影區域繪示之一同調區域502。一些區塊501位於同調區域502外部,而其他區塊位於同調區域502內。一般而言,若一像素區塊中之所有像素位於同調區域502內,則可認為該區塊位於同調區域502內。替代地,若一像素區塊中之大多數像素位於同調區域502內,則可認為該區塊位於同調區域502內。影像506之像素區塊501可依由箭頭504指示之一預定順序編碼。在此情況中,區塊501在一光柵掃描方向上編碼。當依此順序編碼區塊時,像素區塊501a將為待編碼之同調區域502內之第一區塊。因此,在此實例中,編碼器104將針對像素區塊501a使用經修改成本計算,同時其將針對所有其他像素區塊使用常規成本計算。在此實例中,僅展示一個同調區域。然而,應瞭解,若影像內存在一個以上同調區域,則編碼器104會將經修改成本計算應用於區域之各者內之第一編碼區塊且將常規成本計算應用於影像中之所有其他像素區塊。
在一第二群組之實施例中,編碼器104在步驟S107中檢查當前處理區塊是否在一同調區域內且在該同調區域內無任何先前編碼之相鄰像素區塊。一般而言,一像素區塊可在影像中具有高達9個相鄰像素區塊。一些此等區塊可在一同調區域內,且一些區塊可位於一同調區域外部。此外,一些相鄰區塊可能已被編碼,而其他相鄰區塊保持待編碼。
返回參考圖5,像素區塊501a具有9個相鄰像素區塊。此等之四者(三個在上方且一個在左邊)在區塊501a之前編碼。然而,此等先前編碼區塊均不在同調區域內。因此,像素區塊501a在區域502內無任何先前編碼之相鄰像素區塊。因此,編碼器104將經修改成本計算應用於像素區塊501a。然而,區塊501b之情形不同。區塊501b亦具有四個先前編碼之相鄰像素區塊(三個在上方且一個在左邊)。此等之一者(即,區塊501a)在同調區域502內。因此,編碼器104不會將經修改成本計算應用於區塊501b。若此作業針對影像506中之各區塊實施,則可發現,在此情況中經修改成本計算亦僅應用於像素區塊501a。
然而,取決於同調區域之形狀,第一群組及第二群組之實施例不會總是給出相同結果。此一實例繪示於展示具有複數個像素區塊601及一同調區域602之一影像606之圖6中。在此情況中,第一群組之實施例會將經修改成本計算僅應用於像素區塊601a,因為此係同調區域602內之第一編碼區塊。然而,第二群組之實施例除將經修改成本計算應用於區塊601a之外,亦會將經修改成本計算應用於像素區塊601b,因為其在同調區域602內不具有先前編碼相鄰區塊。因此,在同調區域之形狀方面,第二群組之實施例更靈活。
在一第三群組之實施例中,編碼器104在步驟S107中檢查當前處理區塊是否在同調區域內且在同調區域內具有小於兩個先前編碼之相鄰像素區塊。針對滿足此規則之區塊,編碼器104將應用經修改成本計算,而常規成本計算將應用於剩餘區塊。若此規則應用於圖5之實例,則可發現,區塊501a、501b、501c全部滿足規則,因為其等在區域內不具有或僅具有一個先前編碼相鄰區塊。在圖6之實例中,區塊601a及601b滿足規則且因此將經受經修改成本計算。
在一第四群組之實施例中,編碼器104在步驟S107中檢查當前處理區塊是否在同調區域502內。針對滿足此規則之區塊,編碼器104將應用經修改成本計算。針對一同調區域外部之區塊,編碼器104將應用常規成本計算。在第四群組之實施例中,編碼器104因此會將經修改成本計算應用於同調區域502內之所有區塊。
如下文將描述,此等不同群組之實施例在不同情形中係有利的。例如,當編碼器104經組態以使用H.265/HEVC編碼來框間編碼像素區塊時,通常應用第二群組之實施例,因為H.265/HEVC編碼通常使一區塊之一運動向量相對於其先前編碼相鄰區塊之任一者之運動向量編碼。因此,區域中之各區塊在區域中具有已被應用經修改成本計算之一個先前編碼相鄰區塊係足夠的。類似地,當編碼器104經組態以使用H.264/MPEG-4 AVC編碼來框間編碼像素區塊時,通常應用第三群組之實施例,因為H.264/MPEG-4 AVC編碼通常使一運動向量相對於其先前編碼相鄰區塊之三者之運動向量之一中值編碼。因此,區域中之各區塊在區域中具有已被應用經修改成本計算之兩個先前編碼相鄰區塊係足夠的。第四群組之實施例係有利的,因為不管由編碼器104使用何種編碼標準,其均可被應用。此係因為被應用經修改成本計算之區塊之選擇與編碼器104如何選擇一先前編碼相鄰區塊之運動向量無關。在決定哪些區塊應使用一經修改成本計算來處理方面,第一群組之實施例可被視為第二群組之實施例之一簡化。
若編碼器104在步驟S107中找到經修改成本計算未應用於當前處理之像素區塊,則其繼續步驟S108a且依一常規方式計算用於編碼參考影像中之各候選像素區塊之運動向量之成本。更詳細地,將用於編碼一運動向量之成本計算為用於相對於影像中之一相鄰像素區塊之運動向量編碼運動向量之一成本。具體而言,相鄰像素區塊可為一先前編碼之相鄰像素區塊。
此程序進一步繪示於圖7中,圖7係圖5實例之繼續。在步驟S107中,編碼器104決定(在三個群組之實施例之各者中)應將常規成本計算應用於像素區塊501d之一候選運動向量708a。為執行成本計算,比較運動向量708a與一先前編碼之相鄰像素區塊之運動向量710,且計算用於編碼此等兩個向量之間的差之成本。例如,可將用於編碼差之成本設定為等於差之長度(或與差之長度成比例),在此實例中,差之長度等於一個區塊之長度。因此,編碼器104可得出結論:用於編碼區塊501d之候選運動向量708a之成本等於1。針對候選運動向量708b或708c,用於編碼運動向量之成本代以分別等於2及3 (假定使用一曼哈頓(Manhattan)型距離計算)。因此,當應用常規成本計算時,編碼器104發現編碼類似於一相鄰區塊之運動向量之運動向量較便宜。
如何選擇影像中之相鄰像素區塊之運動向量在不同群組之實施例中係不同的。
在第二群組之實施例中,可選擇先前編碼之相鄰像素區塊之任一者之運動向量。特定言之,可選擇最類似於當前處理之像素區塊之運動向量之相鄰運動向量。此方法通常在編碼器104經配置以依循H.265/HEVC標準執行框間編碼時使用。
在第三群組之實施例中,相鄰像素區塊之運動向量代以對應於數個先前編碼之相鄰像素區塊之運動向量之一中值。藉由計算運動向量中之各元素之一中值來計算運動向量之中值。為簡化中值之計算,可選擇奇數個先前編碼之相鄰區塊之運動向量之一中值。通常,奇數可等於3。例如,當在一光柵掃描方向上編碼區塊時,可使用上、右上及左相鄰區塊之運動向量之一中值。選擇相鄰像素區塊之運動向量之此方式通常在編碼器104經配置以依循H.264/MPEG-4 AVC標準執行框間編碼時使用。
在第一群組之實施例中,可依第二群組及第三群組之實施例之任一者之方式選擇一先前編碼之相鄰區塊之運動向量。然而,較佳地,其如同第二群組之實施例般選擇。
第四群組之實施例在如何選擇一先前編碼之相鄰區塊之運動向量方面較靈活。例如,可如同第二群組之實施例(如同H.265/HEVC編碼)或如同第三群組之實施例(如同H.264)或如由所使用之編碼標準所指示般選擇一先前編碼之相鄰像素區塊之運動向量。
若編碼器104代以在步驟S107中找到經修改成本計算應用於當前處理之像素區塊,則其繼續步驟S108b且依一修改方式計算用於編碼步驟S106中找到之各候選運動向量之成本。更詳細地,不是相對於一先前編碼之相鄰區塊之一運動向量計算用於編碼區塊之一運動向量之成本,而是相對於同調區域之距離向量評估成本。
此進一步繪示於圖8中,圖8繼續圖5及圖7之實例。在步驟S107中,編碼器104決定(在四個群組之實施例之各者中)針對區塊501a之候選運動向量808使用經修改成本計算。為執行成本計算,編碼器104比較步驟S106中針對區塊501a計算之候選運動向量808與同調區域502之距離向量504,且計算用於編碼此等兩個向量之間的差之成本。類似於針對常規成本計算所描述之內容,可將用於編碼差之成本設定為等於差之長度(或與差之長度成比例),在此實例中,差之長度等於一個區塊之長度。因此,當應用經修改成本計算時,編碼器104發現編碼類似於距離向量504之運動向量較便宜。
進一步以圖8為例,吾人可考量區塊501b之成本計算將發生什麼。在第一群組及第二群組之實施例中,編碼器104將針對區塊501b使用常規成本計算。因此,編碼器104將計算用於相對於一先前編碼之相鄰區塊之運動向量編碼區塊501b之一運動向量之成本。具體而言,其可相對於區塊501a之運動向量計算用於區塊501b之運動向量之成本。由於編碼器104針對區塊501a使用經修改成本計算,因此其可能使用類似於距離向量504之一運動向量來編碼區塊501a。因此,在此情況中,常規成本計算亦會將一低成本指派給類似於距離向量504之運動向量。此同樣將適用於同調區域中之後續區塊。因此,針對區塊501b之經修改及常規成本計算引起區塊501b之基本上相同結果。此闡釋經修改成本計算為什麼無需應用於區塊501b及同調區域內之後續區塊。
此在第三群組之實施例中係不同的。在該情況中,編碼器104亦會將經修改成本計算應用於區塊501b。因此,將相對於區塊501b之距離向量504計算用於運動向量之成本。因此,將針對類似於距離向量504之運動向量計算低成本。在此情況中,常規成本計算將歸因於先前編碼之相鄰區塊之運動向量之不同選擇而給出一不同結果。更具體而言,在第三群組之實施例中,編碼器104通常比較當前區塊之運動向量與三個先前編碼之相鄰區塊之運動向量之一中值。例如,中值可自區塊501b之上、右上及左相鄰區塊之運動向量計算。由於此等區塊僅一者(即,區塊501a)具有類似於距離向量504之一運動向量,因此所得中值運動向量將最可能完全不同於距離向量504。因此,常規成本計算將給出用於編碼類似於距離向量504之運動向量之一高成本。
此外,在第四群組之實施例中,編碼器104會將經修改成本計算應用於同調區域502內之所有區塊。因此,將針對同調區域502內之各像素區塊之類似於距離向量504之運動向量計算低成本。
在步驟S110中,編碼器104計算用於編碼當前處理之像素區塊與參考影像中之各候選像素區塊之間的殘餘之一成本。例如,編碼器104可計算量化殘餘之大小之一量測。例如,一絕對差和、一方差和或任何類似量測可用於量化殘餘。
在步驟S111中,編碼器104接著可藉由尋找當前處理之像素區塊之一匹配區塊來完成區塊匹配程序。更詳細地,匹配像素區塊係最小化用於編碼運動向量及殘餘之組合成本之參考影像中之候選像素區塊。例如,編碼器104可藉由形成用於編碼運動向量之成本及用於編碼殘餘之成本之一加權和來組合成本。可預界定和之權重。藉由使用上述群組之實施例之任何者,同調區域502內之區塊之匹配像素區塊將可能與類似於同調區域之距離向量504之一運動向量相關聯。
在步驟S112中,編碼器104繼續判定框間編碼或框內編碼當前處理之像素區塊。編碼器104基於框間編碼或框內編碼像素區塊較便宜來作出此決定。若框間編碼較便宜,則編碼器104將框間編碼區塊,否則將框內編碼區塊。用於框間編碼區塊之成本係用於編碼步驟S111中判定之匹配像素區塊之運動向量及殘餘之組合成本。編碼器104可進一步計算用於框內編碼區塊之一成本。框內編碼成本可以可對應於用於框內編碼一區塊之一平均成本(如自歷史資料所判定)之一預界定值給出。
若編碼器104達成框間編碼區塊之決定,則其將繼續編碼對應於匹配像素區塊之運動向量及殘餘。當編碼運動向量時,其將相對於影像中之一相鄰像素區塊之運動向量編碼運動向量。明顯地,不管常規成本計算(步驟S108a)或經修改成本計算(S108b)應用於區塊之運動向量,此均適用。參考關於如何針對不同群組之實施例計算影像中之一相鄰像素區塊之運動向量之上文。
返回至圖7及圖8之實例,應注意,當編碼器104自編碼區塊501d進行至區塊501a時,影像中之運動量存在一大改變。若編碼器104已在處理區塊501a時應用常規成本計算,則可能發現用於編碼候選運動向量808之成本非常高,因此,其不會使用候選運動向量808來框間編碼區塊501a。然而,使用上述實施例之任何者,代以在處理區塊501a時使用經修改成本計算。因此,編碼器104代以發現編碼候選運動向量808較便宜,因為其接近距離向量504。因此,編碼器104將變得更傾向使用類似於距離向量之候選運動向量來框間編碼區塊501a。此決定引起編碼器104承擔用於區塊501a之一額外位元成本,因為運動向量808事實上編碼昂貴。然而,此額外位元成本可能值得承擔,因為編碼器104在編碼同調區域502內之至少一些後續區塊時節省位元。此係因為相對於先前區塊之運動向量進行運動向量之編碼。在圖7及圖8之實例中,位元節省已在第二群組之實施例中自下一區塊501b開始,而在第三群組之實施例中,因同調區域502中之第一列上之各區塊而招致一額外位元成本且位元節省在處理同調區域502中之下一列上之區塊時開始。
如上文所描述,在步驟S106中開始之區塊匹配可在搜尋參考影像中之匹配區塊時使用一運動向量搜尋窗。搜尋窗相對於一當前處理之像素區塊之位置之定位可用於實施運動向量編碼成本計算。此實施方案可應用於上述第一群組、第二群組、第三群組及第四群組之實施例之任一者。此現將參考圖9之流程圖進一步闡釋。
為使用圖9之方法,在實施步驟S106處開始之區塊匹配之前執行檢查一經修改成本計算是否應用於一當前處理之像素區塊之步驟S107。具體而言,編碼器104使用步驟S107中之檢查結果來決定相對於當前處理區塊之位置定位運動向量搜尋窗於何處。上文已描述如何對第一群組、第二群組、第三群組及第四群組之實施例執行步驟S107中之檢查。
針對其中應使用一常規成本計算之區塊,編碼器104在步驟S106a中使用以一先前編碼之相鄰像素區塊之一運動向量為中心之參考影像中之一搜尋窗來執行區塊匹配。特定言之,編碼器104可匹配當前處理影像內之像素區塊與參考影像中之搜尋窗內之候選像素區塊。此進一步繪示於展示編碼器104在相對於區塊501d執行區塊匹配時使用之一搜尋窗1000之圖10中。一先前編碼之相鄰區塊之運動向量710使搜尋窗之中心與區塊501d之位置有關。上文已描述如何針對第一群組、第二群組、第三群組及第四群組之實施例選擇一先前編碼之相鄰像素區塊之運動向量。
針對其中應使用一經修改成本計算之區塊,編碼器104使用代以以距離向量為中心之參考影像中之一搜尋窗來執行區塊匹配。此進一步繪示於展示編碼器104在相對於區塊501a執行區塊匹配時使用之一搜尋窗1100之圖11中。距離向量504使搜尋窗之中心與區塊501a之位置有關。使用此一搜尋窗增加編碼器104找到類似於距離向量之一運動向量之機會。
接著,編碼器104繼續在步驟S108中計算用於編碼步驟S106a及S106b之任一者中找到之候選運動向量之運動向量之成本。具體而言,編碼器104計算用於相對於搜尋窗圍繞之一向量編碼各候選運動向量之成本。因此,針對應被應用常規成本計算之區塊,編碼器104相對於一相鄰像素區塊之一運動向量計算成本(參考圖2之步驟S108a)。針對應被應用經修改成本計算之區塊,編碼器104代以相對於距離向量計算成本(參考圖2之步驟S108b)。
因此,應自上文瞭解,分析器102及編碼器104經組態以實施用於編碼一視訊序列之一影像之一方法。分析器102及編碼器104可各在硬體、軟體或其等之一組合中實施。
在一硬體實施方案中,分析器102及編碼器104之各者可對應於專用及經特別設計以提供其功能性之電路系統。電路系統可呈一或多個積體電路之形式,諸如一或多個專用積體電路或一或多個場可程式化閘陣列。舉例而言,編碼器104可因此包括在使用時計算用於編碼一運動向量之一成本之電路系統。
在一軟體實施方案中,電路系統可代以呈一處理器(諸如一微處理器)之形式,其結合儲存於一(非暫時性)電腦可讀媒體(諸如一非揮發性記憶體)上之電腦碼指令來引起分析器102及編碼器104實施本文所揭示之任何方法。非揮發性記憶體之實例包含唯讀記憶體、快閃記憶體、鐵電RAM、磁性電腦儲存裝置、光碟及其類似者。在一軟體情況中,分析器102及編碼器104可因此各對應於儲存於電腦可讀媒體上之電腦碼指令之一部分,其在由處理器執行時引起系統100分別實施分析器102及編碼器104之功能性。
應瞭解,亦可具有一硬體及一軟體實施方案之一組合,其意謂分析器102及編碼器104之一些功能性在硬體中實施且其他功能性在軟體中實施。
應瞭解,熟習技術者可依諸多方式修改上述實施例且仍使用上述實施例中所展示之本發明之優點。例如,儘管上述實施例已主要繪示影像中之一個同調區域,但方法依一自然方式延伸至影像中存在一個以上同調區域時之情況。此外,已描述分別使用H.264及H.265標準來選擇應用於編碼之相鄰像素區塊之運動向量之兩種不同方式。然而,應瞭解,其他現代編解碼標準可使用相對於一像素區塊編碼之運動向量選擇一運動向量候選者之其他方式。此包含藉由指向一特定相鄰像素區塊之運動向量或藉由計算一絕對運動向量來基於相同像素區塊處之參考影像中之運動向量選擇一運動向量候選者。若使用除所例示之標準之外的一現代編解碼標準,則應瞭解,如所使用之編解碼標準所指定般實施用於選擇運動向量候選者之方法。因此,本發明不應受限於所展示之實施例,而是應僅由隨附申請專利範圍界定。另外,熟習技術者應瞭解,可組合所展示之實施例。
100:系統
102:分析器
104:編碼器
106:視訊序列
106-1:影像
106-2:影像
106-3:影像
106-4:影像
106-5:影像
106-6:影像
108:輸入
110:編碼視訊序列
112:輸入
302:物件
302-1:偵測到之物件
302-2:偵測到之物件
302-3:偵測到之物件
304-2:距離向量
304-3:距離向量
404-1:距離向量
404-2:距離向量
404-3:距離向量
501:像素區塊
501a:區塊
501b:區塊
501c:區塊
501d:區塊
502:同調區域
504:距離向量
506:影像
601:像素區塊
601a:像素區塊
601b:像素區塊
602:同調區域
606:影像
708a:候選運動向量
708b:候選運動向量
708c:候選運動向量
710:運動向量
808:候選運動向量
1000:搜尋窗
1100:搜尋窗
S102:步驟
S104:步驟
S106:步驟
S106a:步驟
S106b:步驟
S107:步驟
S108:步驟
S108a:步驟
S108b:步驟
S110:步驟
S111:步驟
S112:步驟
參考附圖,將透過本發明之實施例之以下繪示性而非限制性詳細描述較佳理解本發明之上述及額外目的、特徵及優點,其中相同元件符號將用於類似元件,其中:
圖1示意性繪示根據實施例之用於編碼一視訊序列之一影像之一系統。
圖2係根據實施例之用於編碼一視訊序列之一影像之一方法之一流程圖。
圖3及圖4各示意性繪示由圖1中所展示之系統之分析器識別於視訊序列之影像中之一同調區域及一相關聯距離向量。
圖5示意性繪示一影像中之一第一形狀之一同調區域內及該同調區域外部之像素區塊。
圖6示意性繪示一影像中之一第二形狀之一同調區域內及該同調區域外部之像素區塊。
圖7示意性繪示根據實施例之一影像中之一像素區塊之一運動向量之一常規成本計算。
圖8示意性繪示根據實施例之一影像中之一像素區塊之一運動向量之一修改成本計算。
圖9係根據實施例之用於編碼一視訊序列之一影像之一方法之一流程圖。
圖10及圖11繪示根據實施例之關於執行區塊匹配及運動向量成本計算所使用之運動向量搜尋窗。
S102:步驟
S104:步驟
S106:步驟
S107:步驟
S108a:步驟
S108b:步驟
S110:步驟
S111:步驟
S112:步驟
Claims (14)
- 一種用於編碼一視訊序列(video sequence)之一影像之方法,其包括:分析該視訊序列中之運動以識別該影像中之一同調區域,其中該同調區域對應於該影像中所偵測之一物件,其中該物件已自該視訊序列中之一先前編碼影像以一距離向量移動,其中該距離向量比一臨限值長;藉由針對每一像素區塊(each block of pixels)進行以下各者來編碼該影像中之像素區塊:執行區塊匹配(block matching)以尋找該像素區塊之一運動向量,該像素區塊之該運動向量指向一參考影像中之一匹配像素區塊,及計算該像素區塊與該匹配像素區塊之間的一殘餘(residual),計算用於編碼該像素區塊之該運動向量之一成本及用於編碼該殘餘之一成本,其中,針對該同調區域中之至少一像素區塊,將用於編碼該像素區塊之該運動向量之該成本(cost)計算為用於相對於該同調區域之該距離向量而編碼該運動向量之一成本,而非計算為用於相對於該影像中相鄰於該像素區塊之一相鄰像素區塊之一運動向量編碼而該像素區塊之該運動向量之一成本,及若用於編碼該運動向量之該成本及用於編碼該殘餘之該成本在組合時低於用於框內編碼(intra-coding)該像素區塊之一成本,則將該像素區塊編碼為一框間編碼區塊(inter-coded block)。
- 如請求項1之方法,其中該同調區域中之像素區塊依一預定順序編碼,其中該同調區域中之該至少一像素區塊包含根據該預定順序首先編碼之該同調區域中之一像素區塊。
- 如請求項2之方法,其中該同調區域中之該至少一像素區塊僅包含根據該預定順序首先編碼之該同調區域中之該像素區塊。
- 如請求項1之方法,其中該同調區域中之該至少一像素區塊包含具有小於該區域內之先前編碼之相鄰像素區塊之一預定數目之該同調區域中之所有像素區塊。
- 如請求項4之方法,其中該同調區域中之該至少一像素區塊僅包含具有小於該區域內之先前編碼之相鄰像素區塊之一預定數目之該同調區域中之該等像素區塊。
- 如請求項1之方法,其中該同調區域中之該至少一像素區塊包含該同調區域中之所有像素區塊。
- 如請求項1之方法,其中該影像中之一相鄰像素區塊之該運動向量對應於該影像中之數個先前編碼之相鄰像素區塊之運動向量之一中值。
- 如請求項1之方法,其中執行區塊匹配之步驟包含使用一運動向量搜 尋窗來尋找指向該參考影像中之一匹配像素區塊之該運動向量,其中針對該同調區域中之該至少一像素區塊,該搜尋窗以該同調區域之該距離向量為中心而非以一相鄰像素區塊之該運動向量為中心。
- 如請求項8之方法,其中將用於編碼一像素區塊之該運動向量之該成本計算為用於相對於該運動向量搜尋窗圍繞之一向量編碼該運動向量之一成本。
- 如請求項1之方法,其中該視訊序列由具有一可移動視域之一攝影機擷取,其中分析該視訊序列中之運動之步驟係基於關於該視域之一移動之來自該攝影機之一輸入。
- 如請求項1之方法,其中分析該視訊序列中之運動之步驟包含使用一物件偵測演算法來偵測該視訊序列中之物件及其運動。
- 如請求項1之方法,其中該影像中之該同調區域之大小大於取決於該同調區域之該距離向量之長度之一臨限值。
- 一種用於編碼一視訊序列之一影像之系統,其包括:一分析器,其經組態以分析該視訊序列中之運動以識別該影像中之連續像素之一同調區域,其中該同調區域對應於該影像中所偵測之一物件,其中該物件已自該視訊序列中之一先前編碼影像以一距離向量移動,其中該距離向量比一臨限值長; 一編碼器,其經組態以藉由針對各像素區塊進行以下各者來編碼該影像中之像素區塊:執行區塊匹配以尋找該像素區塊之一運動向量,該像素區塊之該運動向量指向一參考影像中之一匹配像素區塊之一運動向量及計算該像素區塊與該匹配像素區塊之間的一殘餘,計算用於編碼該像素區塊之該運動向量之一成本及用於編碼該殘餘之一成本,其中針對該同調區域中之至少一像素區塊,將用於編碼該像素區塊之該運動向量之該成本計算為用於相對於該同調區域之該距離向量而編碼該運動向量之一成本,而非計算為用於相對於該影像中相鄰於該像素區塊之一相鄰像素區塊之一運動向量而編碼該像素區塊之該運動向量之一成本,及若用於編碼該運動向量之該成本及用於編碼該殘餘之該成本一起低於用於框內編碼該像素區塊之一成本,則將該像素區塊編碼為一框間編碼區塊。
- 一種非暫時性電腦可讀媒體,其上儲存有電腦碼指令,該等電腦碼指令在由一處理器執行時引起該處理器實施如請求項1之方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19213109.2A EP3833028B1 (en) | 2019-12-03 | 2019-12-03 | Method and system for calculating a cost of encoding a motion vector |
EP19213109.2 | 2019-12-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202126047A TW202126047A (zh) | 2021-07-01 |
TWI801764B true TWI801764B (zh) | 2023-05-11 |
Family
ID=68766575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109138160A TWI801764B (zh) | 2019-12-03 | 2020-11-03 | 用於編碼視訊序列之影像之方法及系統 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11303903B2 (zh) |
EP (1) | EP3833028B1 (zh) |
JP (1) | JP7229982B2 (zh) |
KR (1) | KR102446097B1 (zh) |
CN (1) | CN112911293B (zh) |
TW (1) | TWI801764B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117939163B (zh) * | 2024-03-22 | 2024-07-19 | 广东工业大学 | 一种基于双流特征提取的压缩感知视频重构方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040057520A1 (en) * | 2002-03-08 | 2004-03-25 | Shijun Sun | System and method for predictive motion estimation using a global motion predictor |
EP2103140A1 (en) * | 2007-01-03 | 2009-09-23 | Samsung Electronics Co., Ltd. | Method and apparatus for predicting motion vector using global motion vector, encoder, decoder, and decoding method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05304662A (ja) * | 1992-04-24 | 1993-11-16 | Seiko Epson Corp | 画像符号化伝送装置 |
JP2007036889A (ja) * | 2005-07-28 | 2007-02-08 | Sanyo Electric Co Ltd | 符号化方法 |
JP4047879B2 (ja) * | 2005-08-23 | 2008-02-13 | 松下電器産業株式会社 | 動きベクトル検出装置および動きベクトル検出方法 |
US8107748B2 (en) | 2005-09-16 | 2012-01-31 | Sony Corporation | Adaptive motion search range |
JP5171675B2 (ja) * | 2009-02-03 | 2013-03-27 | 三洋電機株式会社 | 画像処理装置、およびそれを搭載した撮像装置 |
EP2403247A1 (en) * | 2010-06-30 | 2012-01-04 | British Telecommunications public limited company | Transmission of visual tag motions in a video signal |
JP6019797B2 (ja) * | 2012-06-22 | 2016-11-02 | 富士通株式会社 | 動画像符号化装置、動画像符号化方法、及びプログラム |
US9621917B2 (en) * | 2014-03-10 | 2017-04-11 | Euclid Discoveries, Llc | Continuous block tracking for temporal prediction in video encoding |
US10123036B2 (en) | 2014-06-27 | 2018-11-06 | Microsoft Technology Licensing, Llc | Motion vector selection for video encoding |
WO2017131908A1 (en) * | 2016-01-29 | 2017-08-03 | Google Inc. | Dynamic reference motion vector coding mode |
EP3220642B1 (en) * | 2016-03-15 | 2018-03-07 | Axis AB | Method, apparatus and system for encoding a video stream by defining areas within a second image frame with image data common to a first image frame |
EP3370419B1 (en) | 2017-03-02 | 2019-02-13 | Axis AB | A video encoder and a method in a video encoder |
EP3396952B1 (en) | 2017-04-25 | 2019-04-17 | Axis AB | Method and image processing unit for forming a video stream |
JP6914722B2 (ja) * | 2017-05-11 | 2021-08-04 | キヤノン株式会社 | 動画像符号化装置、動画像符号化方法及びプログラム |
-
2019
- 2019-12-03 EP EP19213109.2A patent/EP3833028B1/en active Active
-
2020
- 2020-10-28 US US17/082,156 patent/US11303903B2/en active Active
- 2020-11-03 TW TW109138160A patent/TWI801764B/zh active
- 2020-11-18 KR KR1020200154923A patent/KR102446097B1/ko active IP Right Grant
- 2020-11-27 CN CN202011357211.2A patent/CN112911293B/zh active Active
- 2020-11-27 JP JP2020196810A patent/JP7229982B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040057520A1 (en) * | 2002-03-08 | 2004-03-25 | Shijun Sun | System and method for predictive motion estimation using a global motion predictor |
EP2103140A1 (en) * | 2007-01-03 | 2009-09-23 | Samsung Electronics Co., Ltd. | Method and apparatus for predicting motion vector using global motion vector, encoder, decoder, and decoding method |
Non-Patent Citations (2)
Title |
---|
網路文獻 JOEL JUNG ET AL Competition-Based Scheme for Motion Vector Selection and Codding 29. VCEG MEETING; 77. MPEG MEETING; 17-07-2006 - 17-07-2006; KLAGENFURT, AT; (VIDEO CODING EXPERTS GROUP OF ITU—T SG.l6),, no. VCEG-AC06r1 2 August 2006 (2006-08-02) |
網路文獻 SHIJUN SUN ET AL Motion Vector Coding with Global Motion Parameters 14. VCEG MEETING; 24-09-2001 - 27-09-2001; SANTA BARBARA, CALIFORNIA, US; (VIDEO CODING EXPERTS GROUP OF ITU—T SG.l6),, no. VCEG-N16 20 September 2001 (2001-09-20);網路文獻 JOEL JUNG ET AL Competition-Based Scheme for Motion Vector Selection and Codding 29. VCEG MEETING; 77. MPEG MEETING; 17-07-2006 - 17-07-2006; KLAGENFURT, AT; (VIDEO CODING EXPERTS GROUP OF ITU—T SG.l6),, no. VCEG-AC06r1 2 August 2006 (2006-08-02) * |
Also Published As
Publication number | Publication date |
---|---|
US20210168373A1 (en) | 2021-06-03 |
EP3833028A1 (en) | 2021-06-09 |
KR20210069564A (ko) | 2021-06-11 |
JP2021103876A (ja) | 2021-07-15 |
EP3833028B1 (en) | 2022-02-09 |
JP7229982B2 (ja) | 2023-02-28 |
US11303903B2 (en) | 2022-04-12 |
TW202126047A (zh) | 2021-07-01 |
KR102446097B1 (ko) | 2022-09-22 |
CN112911293B (zh) | 2022-08-26 |
CN112911293A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI690194B (zh) | 用於視訊編解碼的子預測單元時間運動向量預測 | |
CN110419217B (zh) | 用于图像处理的方法和图像处理装置 | |
US7463687B2 (en) | Method and apparatus for performing high quality fast predictive motion search | |
US8098731B2 (en) | Intraprediction method and apparatus using video symmetry and video encoding and decoding method and apparatus | |
US7023921B2 (en) | Method and apparatus for determining block match quality | |
JP4246723B2 (ja) | フレーム内予測符号化制御方法、フレーム内予測符号化制御装置、フレーム内予測符号化制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR100924048B1 (ko) | 비디오 부호화에서 화면내 방향성 예측모드 고속 결정방법 | |
US9143790B2 (en) | Encoding and decoding a video image sequence by image areas | |
KR20200005653A (ko) | 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체 | |
Paul et al. | Video coding with dynamic background | |
US10735738B2 (en) | Refinement of a low-pel resolution motion estimation vector | |
TWI801764B (zh) | 用於編碼視訊序列之影像之方法及系統 | |
KR100408294B1 (ko) | 저전송율 동영상 부호화에 적합한 움직임 추정 방법 | |
JP5178616B2 (ja) | シーンチェンジ検出装置および映像記録装置 | |
KR101769575B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR101793623B1 (ko) | 히스토리 기반의 cu 깊이 결정 방법 및 장치 | |
JP4688170B2 (ja) | 動画像符号化装置 | |
KR101677696B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
US9948932B2 (en) | Image processing apparatus and control method of image processing apparatus | |
KR100980780B1 (ko) | 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR101708905B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR101867885B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR101737606B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR102032793B1 (ko) | 움직임 탐색시 효율적인 움직임 벡터 추출 방법 및 그 장치 | |
KR20190030489A (ko) | 영상 부호화 장치의 다방향 계층적 움직임 추정방법 |