TWI692247B - 視訊圖像編碼和解碼的方法、裝置及設備 - Google Patents

視訊圖像編碼和解碼的方法、裝置及設備 Download PDF

Info

Publication number
TWI692247B
TWI692247B TW107128135A TW107128135A TWI692247B TW I692247 B TWI692247 B TW I692247B TW 107128135 A TW107128135 A TW 107128135A TW 107128135 A TW107128135 A TW 107128135A TW I692247 B TWI692247 B TW I692247B
Authority
TW
Taiwan
Prior art keywords
image block
affine
length
motion compensation
compensation sub
Prior art date
Application number
TW107128135A
Other languages
English (en)
Other versions
TW201919402A (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 TW201919402A publication Critical patent/TW201919402A/zh
Application granted granted Critical
Publication of TWI692247B publication Critical patent/TWI692247B/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/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/527Global motion vector estimation
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/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
    • 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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

本發明提供一種視訊圖像解碼的方法,其根據運動向量差異、運動向量精度、仿射圖像塊中的控制點之間的距離以及仿射圖像塊的尺寸,確定仿射圖像塊內的仿射運動補償子圖像塊的尺寸,所述尺寸包括水準方向的長度以及豎直方向的長度,以使仿射圖像塊的在水準/豎直方向的長度為仿射運動補償子圖像塊的在水準/豎直方向的長度的整數倍,根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行解碼處理。該方法能夠根據仿射圖像塊自身的屬性自我調整性的將其仿射運動補償子圖像塊大小調整到最佳尺寸,即能保證解碼的品質,同時能夠降低解碼的複雜度,有效提升解碼效率。

Description

視訊圖像編碼和解碼的方法、裝置及設備
本發明涉及視訊影像處理領域,尤其涉及視訊圖像編碼和解碼的方法、編碼裝置和解碼裝置、編碼設備和解碼設備。
隨著互聯網科技的迅猛發展以及人們物質精神文化的日益豐富,在互聯網中針對視訊的應用需求尤其是針對高清視訊的應用需求越來越多,而高清視訊的資料量非常大,要想高清視訊能在頻寬有限的互聯網中傳輸,必須首先解決的問題就是高清視訊壓縮編碼問題。目前,國際上有兩個國際組織專門進行視訊編碼標準的制定工作,即國際標準組織(International Organization for Standardization,簡稱為“ISO”)/國際電子電機委員會(International Electrotechnical Commission,簡稱為“IEC”)下的運動圖像專家組(Motion Picture Experts Group,簡稱為“MPEG”)和國際電信聯盟電信標準化組(International Telecommunication Union-Telecommunication standardization sector,簡稱為“ITU-T”)的視訊編碼專家組(Video Coding Experts Group,簡稱為“VCEG”)。成立於1986年的MPEG專門負責制定多媒體領域內的相關標準,主要應用於存儲、廣播電視、網際網路或無線網上的流媒體等。ITU-T則主要制定面向即時視訊通信領域的視訊編碼標準,如視訊電話、視訊會議等應用。
在過去的幾十年裡,國際上已經成功制定了面向各種應用的視訊編碼標準,主要包括:用於影音光碟(Video Compact Disc,簡稱為“VCD”)的MPEG-1標準,用於豎直多功能光碟(Digital Video Disc,簡稱為“DVD”)和數位視訊廣播(Digital Video Broadcasting,簡稱為“DVB”)的MPEG-2標準,用於視訊會議的H.261標準以及H.263標準、H.264標準,允許對任意形狀的物件編碼的MPEG-4標準,以及最新的高性能視訊編碼(High Efficiency Video Coding,簡稱為“HEVC”)標準。
當前廣泛使用的視訊編碼標準H.264以及最新的視訊編碼標準HEVC,均以圖像塊為基本單元進行各種類型的編碼操作,例如基於塊的預測、變換、熵編碼等等。圖像塊指一個二維採樣點陣列,可以是正方形陣列,也可以是矩形陣列,例如一個4x4大小的圖像塊可看做4x4共16個採樣點構成的方形採樣點陣列,如圖1所示,其中圖像塊可以記作
Figure 02_image003
。圖像塊訊號指圖像塊中採樣點的採樣值,可以表示為
Figure 02_image005
,其中
Figure 02_image007
表示圖像塊中每個採樣點的座標。類似的,圖像也可以表示為一個二維採樣點陣列,採用與圖像塊類似的方法標記。此外,採樣點還可以稱為圖元,在本發明檔中將不加區分的使用。
視訊序列是由一幀一幀的圖像排列組成,通常情況下,產生連續圖像的時間間隔很短,圖像之間的變化很小,導致連續圖像之間的差值很少。因此,可以利用連續圖像在時間上的相關性,只編碼當前圖像與參考圖像之間的差值,參考圖像通常為時間上鄰近的已編碼重建圖像。從而減少待編碼的信息量,達到訊號壓縮的效果。在視訊編碼技術中,這類方法稱為幀間預測編碼技術,該技術被當前視訊編碼標準廣泛採用。圖2表示幀間預測編碼架構,輸入待編碼圖像,通常為視訊中每幅/每幀圖像,被劃分成不相互重疊的圖像塊,編碼器通過運動估計獲得圖像塊的運動向量,編碼器利用圖像塊的運動向量通過運動補償獲得該圖像塊的運動補償預測訊號。接著使用圖像塊的原始訊號減去運動補償預測訊號,得到預測殘差訊號。預測殘差訊號經過變換、量化和熵編碼寫入碼流中。在該編碼過程中,獲得的圖像塊的運動補償預測訊號越準確,所得到的預測殘差訊號就會越小,所需要的編碼比特數就越少,圖像塊的壓縮率就越高。
上述運動估計是指使用當前圖像塊
Figure 02_image009
在參考圖像中搜索到一個同樣大小且最匹配的圖像塊
Figure 02_image011
,圖像塊
Figure 02_image009
相對於
Figure 02_image011
在空間上的位置偏移稱為圖像塊
Figure 02_image009
的運動向量。運動補償是指根據圖像塊
Figure 02_image009
的運動向量,從參考圖像中獲得預測訊號的過程。獲得的訊號稱為運動補償預測訊號。
在解碼端,對圖像塊的預測殘差訊號進行反量化、反變換得到重建殘差訊號,再根據圖像塊的運動向量,通過運動補償預測從參考圖像獲取運動補償預測訊號,將圖像塊的運動補償預測訊號與重建的殘差訊號相加即可得到圖像塊的重建訊號。
圖3表示圖像塊的劃分以及圖像塊與運動向量的關係,
Figure 02_image013
時刻的圖像
Figure 02_image015
被劃分成不同大小且不相重疊的圖像塊,每個圖像塊內的箭頭示意性的表示編碼端所確定的運動向量,長度和方向表示當前圖像塊運動的劇烈程度和方向。每個圖像塊的運動向量將應用於該圖像塊中的所有採樣點,即圖像塊中所有採樣點將在指定參考圖像中根據該運動向量表示的位置偏移獲取其預測訊號。
基於塊結構的運動補償預測便於軟硬體實現,複雜度低,在計算資源受限的情況下可以提供較好的壓縮效率,但是同時也存在一些不足。例如,該方法中用一個運動向量表示圖像塊內所有圖元點的運動情況,當所有圖元點的運動方向和大小都相同時,即平動運動,該方法可以很好表示;當圖像塊內圖元點的運動方向或者大小有不同時,例如縮放和旋轉運動,該方法就無法準確表示所有圖元點的運動,從而不能得到準確的預測訊號,降低壓縮性能。
為了改善現有運動補償預測技術的不足,一種基於線性變化的運動向量場的運動補償預測技術被提出來。運動向量場是指圖像塊的運動向量場,圖像塊被劃分成更細緻的子單元,子單元可以小到為一個圖元點,每個子單元有一個運動向量,圖像塊內所有子單元的運動向量組成了圖像塊的運動向量場。圖像塊的運動向量場可以是線性變化的,也可以是非線性變化的。圖像塊的運動向量場是線性變化的是指圖像塊內相鄰子單元的運動向量是均勻變化的。若圖像塊內相鄰單元的運動向量變化不均勻,則圖像塊的運動向量場為非線性變化的。本文主要強調基於線性變換的運動向量場的運動補償預測技術。在由Na Zhang; Xiaopeng Fan; Debin Zhao; Wen Gao,提出的名為 "Motion vector derivation of deformable block," Image Processing (ICIP), 2012 19th IEEE International Conference on , vol., no., pp.1549,1552, Sept. 30 2012-Oct. 3 2012,文獻中,提出使用圖像塊的四個頂點作為控制點,對四個控制點的運動向量使用雙線性插值的方法獲得圖像塊內部每個4x4單元的的運動向量。圖像塊四個頂點的運動向量是根據周圍圖像塊的運動向量獲得的,各個4x4單元的運動向量組成了圖像塊的運動向量場。再根據該運動向量場,從參考圖像中獲得圖像塊的運動補償預測訊號。基於運動向量場的運動補償預測技術減小了具有獨立運動向量的單元的大小,可以更準確地表示非平動運動,例如旋轉和縮放,可以獲得更好的運動補償預測訊號。上述提到的運動向量場是通過對控制點的運動向量進行雙線性插值得到的,運動向量場是滿足雙線性模型的。所述雙線性插值是數學上的插值方法,參照圖4,具體插值方法介紹如下:
假設需要求解函數
Figure 02_image017
Figure 02_image019
的值,已知函數
Figure 02_image017
在點
Figure 02_image021
Figure 02_image023
Figure 02_image025
,及
Figure 02_image027
四個點的值。首先在
Figure 02_image029
方向進行線性插值,得到,
Figure 02_image031
(1) 然後在
Figure 02_image033
方向進行線性插值,得到,
Figure 02_image035
(2)
將公式(1)中的結果代入公式(2)中,即可得到
Figure 02_image037
點的值。根據控制點的運動向量,使用該插值方法,可以得到圖像塊內所有點的運動向量。
該方法中控制點的運動向量是從周圍圖像塊的運動向量中選取的,而選取的運動向量可能不準確,若通過運動估計搜索獲得控制點的運動向量,則需要將控制點的運動向量寫入到碼流中,此時就需要更高效的方法,例如用仿射變換模型來表示圖像塊的運動向量場,從而提出了基於仿射變換的運動補償預測技術。
仿射變換表示的是兩個空間的映射關係,常見的仿射變換有旋轉、縮放和平移。通過仿射變換模型獲得的圖像塊的運動向量場是線性變化的,且該運動向量場滿足仿射變換。常見的6參數的仿射變換模型可以表示上述三種運動。具體如公式(3)所示,其中
Figure 02_image039
為圖元點
Figure 02_image041
在當前圖像中的座標,
Figure 02_image043
為圖元點
Figure 02_image041
在參考圖像中匹配的圖元點
Figure 02_image045
的座標,
Figure 02_image047
為仿射變換的參數。若已知仿射參數,即可求得圖元點
Figure 02_image039
在參考圖像中的位置
Figure 02_image043
,從而可以從參考圖像中獲得圖元點的預測訊號。
Figure 02_image049
(3)
一般仿射參數根據圖像塊中部分圖元點的運動向量計算得到,運動向量可表示為公式(4)
Figure 02_image051
(4) 將公式(3)代入到(4)中可得,
Figure 02_image053
(5)
利用多組已知的運動向量,例如3組已知的運動向量,代入上述公式(5)中即可求得各個仿射變換參數的具體值,從而利用公式(3)及公式(4)便能求得圖像塊內所有點的運動向量。在實踐中,通常是通過運動估計先獲得圖像塊角點(控制點)的運動向量,再根據角點運動向量求得仿射變換參數,從而求得圖像塊內所有圖元點的運動向量。角點的運動向量如圖5所示,(a)表示圖像塊X,圖像塊的寬度是w,高度是h,左上角點的座標為
Figure 02_image055
,運動向量為
Figure 02_image057
,右上角點的座標為
Figure 02_image059
,運動向量為
Figure 02_image061
,左下角點的座標為
Figure 02_image063
,運動向量為
Figure 02_image065
,將上述三個運動向量
Figure 02_image057
Figure 02_image061
、分別代入到公式5中即可得到如下的6參數仿射變換模型:
Figure 02_image067
(6)
圖像塊三個頂點的運動向量可以不同,如圖(b),圖像塊在參考圖像中的映射關係如虛線所示。在求得圖像塊內所有點的運動向量後,根據運動補償預測獲得圖像塊內所有點的運動補償預測訊號。
上述內容以6參數的仿射變換模型為例,但仿射變換不限於6參數模型,可以是4參數的仿射變換模型-參考公式(7)、(8),2參數的縮放模型-參考公式(9),等等。若圖像塊選用4參數的仿射變換模型來做運動補償預測,那麼仿射模型未知的參數有4個,使用兩組運動向量即可獲得該模型的參數。兩組運動向量可以是圖像塊某兩個角點的運動向量,也可以是圖像塊內某兩個點的運動向量。
Figure 02_image069
(7)
Figure 02_image071
(8)
Figure 02_image073
(9) 將公式(3)代入到(7)中可得,
Figure 02_image076
(10)
左上角點的座標為
Figure 02_image055
,運動向量為
Figure 02_image057
,右上角點的座標為
Figure 02_image059
,運動向量為
Figure 02_image061
,代入到公式(10),則可以得到以左上角和右上角為控制點的運動模型公式:
Figure 02_image078
(11)
左上角點的座標為
Figure 02_image055
,運動向量為
Figure 02_image057
,左下角點的座標為
Figure 02_image063
,運動向量為
Figure 02_image065
,代入到公式(10),則可以得到以左上角和左下角為控制點的運動模型公式:
Figure 02_image081
(12)
相比於最新的視訊編碼標準HEVC,對於包含旋轉、縮放運動的視訊幀/圖像序列,基於線性變化的運動向量場的運動補償預測技術可以顯著提高編碼性能,如上所述線性變化的運動向量場包括使用仿射變換產生的運動向量場,以及使用雙線性模型產生的運動向量場等。以基於仿射變換的運動補償預測技術為例,在獲得圖像塊的仿射變換參數後,要計算圖像塊內每個點的運動向量,根據每個點的運動向量做運動補償預測,從而獲取每個點的運動補償預測訊號。由於圖像塊內每個圖元點的運動向量都可能不同,需要根據運動向量為每個圖元點進行不同的操作。基於圖元點的運動補償預測複雜度很高,為了降低編解碼的複雜度,相關技術嘗試在圖像塊內再劃分子圖像塊,求得每個子圖像塊的運動向量,再獲得每個子圖像塊的運動補償預測訊號。
但是,相關技術中的子圖像塊的大小是固定的,子圖像塊的尺寸過小會導致較高的編解碼的複雜度,子圖像塊的尺寸過大會降低編解碼性能,從而導致這種高效的編碼方法在實踐應用中面臨極大的限制。
本發明提供了一種視訊圖像解碼、編碼的方法、解碼裝置、編碼裝置、解碼設備和編碼設備,可以通過選取合適大小的子圖像塊,以使得整使圖像塊被劃分成多個尺寸相同的子圖像塊進行處理,從而降低編解碼的複雜度,提升編解碼性能。
第一方面,提供了一種視訊圖像解碼方法,其包括,確定仿射圖像塊的運動向量差異;確定所述仿射圖像塊的運動向量精度;根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行解碼處理。
本發明第一方面提出的視訊圖像解碼方法中,通過所確定的兩個參數,即運動向量差異、該運動向量精度,結合該仿射圖像塊中的控制點之間的距離以及該仿射圖像的尺寸,自我調整地確定出仿射運動補償子圖像塊尺寸,使得仿射圖像塊能夠被劃分為多個尺寸相同的仿射運動補償子圖像塊,從而能夠大幅度的降低解碼端的複雜度,並提升解碼的效率。
基於本發明的第一方面,確定並調整仿射運動補償子圖像塊尺寸的過程具體可以是,根據該運動向量精度與運動向量差異的第一分量/第二分量的比例對該第一水準/豎直距離進行等比例調整得到該仿射運動補償子圖像塊的水準/豎直方向的長度,確定該仿射圖像塊的水準/豎直方向的長度是否是該仿射運動補償子圖像塊的水準/豎直方向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準/豎直方向的長度以使該仿射圖像塊的水準/豎直方向的長度為該仿射運動補償子圖像塊的調整後的水準/豎直方向的長度的整數倍。該具體實現方式中,通過該運動向量精度與運動向量差異的第一分量/第二分量的比例關係,來調整控制點之間的第一水準/豎直距離從而得到仿射運動補償子圖像塊的水準/豎直方向的長度,從而使得仿射運動補償子圖像塊的尺寸能夠與仿射圖像塊的運動向量的精度匹配,在保證解碼品質的同時,降低了解碼複雜度。
基於本發明的第一方面,調整該仿射運動補償子圖像塊的水準/豎直方向的長度以使該仿射圖像塊的水準/豎直方向的長度為該仿射運動補償子圖像塊的調整後的水準/豎直方向的長度的整數倍具體可以是通過則對該仿射運動補償子圖像塊的水準/豎直的長度做增加/減少一個或者多個單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的水準/豎直方向的長度是該仿射運動補償子圖像塊的水準/豎直方向的調整後的長度的整數倍。 其中,上述單位長度通常是一個單位圖元,即,對該仿射運動補償子圖像塊的水準方向的長度做加一/減一的調整。此外,上述調整也可以是對該仿射運動補償子圖像塊的水準/豎直方向的長度按照固定的步長做增加/減少的調整,所述的步長為調整值,即,每個迴圈內對仿射運動補償子圖像塊的水準/豎直方向的長度進行調整的基本單位。該步長可以為任意值,通常為上述的一個單位圖元,也可以是其他的值2.5個單位圖元等。可選地,上述調整中所採用的步長/調整值也可以根據該仿射運動補償子圖像塊的水準/豎直的初始長度(即未經過調整的長度)的奇偶性變化,例如,當仿射運動補償子圖像塊的水準方向的初始長度為奇數,選擇奇數步長,例如,以奇數個單位長度,如一個單位長度為步長進行調整,當仿射運動補償子圖像塊的水準方向的初始長度為偶數時,則選擇偶數步長,例如,偶數個單位長度的步長。該實施方式能夠保證該仿射運動補償子圖像塊的水準/豎直的長度能夠快速的逼近整除所述仿射圖像的水準/豎直的長度的值,從而進一步的降低複雜度。
為了提高效率,節省運算時間,在本發明第一方面提出的解碼方法中,可以將該仿射運動補償子圖像塊的水準/豎直方向的長度朝向最接近整除該仿射圖像塊的水準/豎直方向的長度的方向調整;若,該仿射運動補償子圖像塊的水準/豎直方向的長度距離與鄰近且可整除該仿射圖像塊的水準/豎直方向的長度的兩個相鄰的值的距離相等,可以根據編解碼端的需求選擇朝某一方向調整,例如,如果是要求低延時,此時可以選擇朝增加的方向調整,如果要求高品質,則選擇朝減小的方向調整。
當確定該仿射圖像塊的水準/豎直方向的長度不是該仿射運動補償子圖像塊的水準/豎直方向的長度的整數倍時,為了更進一步的簡化演算法,可以在編解碼端分別建立相同的表格,以允許的最小整除數,如,2N為起始值,將仿射圖像塊水準/豎直方向的可能的最大長度劃分為多個區間,區間的跨度為2N+i,
Figure 02_image083
, Wmax為仿射圖像塊水準/豎直方向的可能的最大長度。確定該仿射運動補償子圖像塊的水準/豎直方向的長度所在的區間,以該仿射運動補償子圖像塊的水準/豎直方向的長度所在的區間的下限值或者上限值為最終確定的所述仿射運動補償子圖像塊的水準/豎直方向的長度。其上下限值的獲取規則可以參照編解碼兩端約定,可以通過碼流明示,或者可以通過四捨五入的方式選擇臨近的區間上限值或者下限值。通過以上的表格,可以採用根據仿射運動補償子圖像塊的水準/豎直方向的初始長度採用查表的方式來確定該仿射運動補償子圖像塊的水準/豎直方向的最終長度,從而降低系統複雜度並節省及計時間。
可選地,為了進一步降低該方案的計算複雜度,在本發明第一方面提出的解碼方法中,除了確定仿射圖像塊的水準/豎直方向的長度是該仿射運動補償子圖像塊的水準/豎直方向的長度的整數倍,還需要確定該仿射運動補償子圖像塊的水準/豎直方向的長度是否是便於計算的預定長度S的整數倍,即,確定該仿射運動補償子圖像塊的水準/豎直方向的長度是否滿足以下兩個條件:
(1)仿射圖像塊的水準/豎直方向的長度是該仿射運動補償子圖像塊的水準/豎直方向的長度的整數倍,且
(2)該仿射運動補償子圖像塊的水準/豎直方向的長度是預定長度S的整數倍;
若不滿足,則調整該仿射運動補償子圖像塊的水準/豎直方向的長度以使其滿足上述的條件(1)和條件(2),即,該仿射圖像塊的水準/豎直方向的長度為該仿射運動補償子圖像塊的調整後的水準/豎直方向的長度的整數倍,且該仿射運動補償子圖像塊的調整後的水準/豎直方向的長度是該預設長度的整數倍。預設長度S通常取4,也可以取8、16、32等數值,或者, S等於2n, n為零或者正整數,需要說明的是S的取值不應大於仿射圖像塊自身的尺寸。本方案對於任意形狀的仿射圖像塊均適用,若仿射圖像塊是採用四叉樹(Qual Tree)規則劃分模式下的情況下,或者仿射圖像塊的尺寸為2Nx2N,即正方形,由於上述判斷條件(1)(2)中任一個條件的滿足即可以同時滿足另外一個條件,因此,僅需要保留一其中一個判定條件即可。上述條件(1)以及條件(2)是否滿足的判斷順序以及依據判斷結果對仿射運動補償子圖像塊的水準/豎直方向的長度進行調整的順序可以任意交換。
在本發明第一方面提出的解碼方法中,為了避免出現該仿射運動補償子圖像塊尺寸非法,即小於允許的最小尺寸,而大於仿射圖像塊自身的尺寸,可以選擇對上述方式確定的該仿射運動補償子圖像塊的水準/豎直方向的長度需要進行限幅操作,即通過比較的方式使的該仿射運動補償子圖像塊的水準/豎直方向的長度位於下限Tm/Tn以及上限W/H之間,Tm/Tn為預設值,通常為4,W/H為仿射圖像塊的在水準/豎直方向的長度。
進一步的,發明第一方面提出的解碼方法中適用於三控制點的仿射變換模型以及兩控制點的仿射變換模型,在三控制點的仿射變換模型中,其需要獨立獲取該仿射運動補償子圖像塊的豎直以及水準方向的長度,並對其進行獨立的調整,對應的,在兩控制點的仿射變換模型中,其僅需要其需要獨立獲取該仿射運動補償子圖像塊的水準或豎直方向的長度,進而推到另外一個方向上的長度,並需要時對兩個方向上的長度進行獨立的調整。當仿射圖像塊的尺寸為2Nx2N的規則方形時,因為其水準方向和豎直方向的長度相同,則只需要對其水準或者豎直方向長度中的一個進行確定及調整即可。
第二方面,提供了一種視訊圖像編碼方法,其主要包括: 確定仿射圖像塊的運動向量差異;確定所述仿射圖像塊的運動向量精度;根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行編碼處理。
本發明第二方面提供的視訊圖像編碼方法,通過所確定的兩個參數,即,該運動向量差異、該運動向量精度,結合該仿射圖像塊中的控制點之間的距離以及該仿射圖像的尺寸,自我調整地確定出仿射運動補償子圖像塊尺寸,使得仿射圖像塊能夠被劃分為多個尺寸相同的仿射運動補償子圖像塊,從而能夠大幅度的降低編碼端的複雜度,並提升編碼的效率。本發明第二方面的視訊圖像編碼方法與本發明第一方面的視訊圖像解碼方法除了最後一個步驟不同之外,其核心步驟,即確定仿射運動補償子圖像塊尺寸以及調整仿射運動補償子圖像塊尺寸的方法步驟完全相同,因此,本第一方面的視訊圖像解碼方法中的方案可以完全適用于本發明第二方面的視訊圖像編碼方法,具體請參照前述對第一方面的視訊圖像解碼方法的介紹。
第三方面,提供了一種視訊圖像解碼裝置,其主要包括:運動向量差異確定模組,用於確定仿射圖像塊的運動向量差異;運動向量精度確定模組,用於確定所述仿射圖像塊的運動向量精度;子圖像塊尺寸確定模組,用於根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;解碼模組,用於根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行解碼處理。
本發明第三方面提供的一種視訊圖像解碼裝置與本發明第一方面提供的視訊圖像解碼方法對應,具備實現發明第一方面提供的視訊圖像解碼方法中的所有步驟的功能,且能夠具有同樣的技術效果,即大幅度的降低解碼端的複雜度,並提升解碼的效率。
第四方面,提供了一種視訊圖像編碼裝置,其主要包括:運動向量差異確定模組,用於確定仿射圖像塊的運動向量差異;運動向量精度確定模組,用於確定所述仿射圖像塊的運動向量精度;子圖像塊尺寸確定模組,用於根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;編碼模組,用於根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行編碼處理。
本發明第四方面提供的一種視訊圖像編碼裝置與本發明第二方面提供的視訊圖像編碼方法對應,具備實現發明第二方面提供的視訊圖像編碼方法中的所有步驟的功能,且能夠具有同樣的技術效果,即大幅度的降低編碼端的複雜度,並提升編碼的效率。
第五方面,提供了一種視訊圖像解碼設備,其包括處理器以及非易失性記憶體,所述處理器調用存儲在所述記憶體中的程式碼以實現本發明第一方面提供的所述的解碼方法。
第六方面,提供了一種視訊圖像編碼設備,其包括處理器以及非易失性記憶體,所述處理器調用存儲在所述記憶體中的程式碼以實現第二方面提供的所述的編碼方法。
于上述技術方案,本發明實施例的視訊圖像編碼和解碼的方法、編碼裝置和解碼裝置、編碼設備和解碼設備,通過所確定的兩個參數,即,該運動向量差異、該運動向量精度,並結合該仿射圖像塊中的控制點之間的距離以及該仿射圖像的尺寸,自我調整地確定出仿射運動補償子圖像塊尺寸,從而使得仿射圖像塊能夠被劃分為多個尺寸相同的仿射運動補償子圖像塊,降低編解碼的複雜度,提升編解碼性能。
本發明的目的在於能夠保持仿射變換運動補償預測性能的前提下,降低編解碼複雜度,使得該方法可以有效的投入到實際應用中。本文中將獨立具有仿射變換參數的圖像塊稱為仿射圖像塊,即Affine塊。把仿射圖像塊內部劃分出來進行運動補償預測的子圖像塊稱為仿射運動補償子圖像(Affine Motion Compensation,簡稱為“Affine-MC”),記為Affine-MC塊。本發明提出的技術方案是將Affine塊根據編碼/解碼需求自我調整的劃分多個具有相同尺寸Affine-MC塊,具體方法是根據Affine塊的運動向量精度,Affine塊的運動向量、以及Affine塊的控制點之間的距離,自我調整的將Affine塊劃分成滿足要求的Affine-MC塊。
以下以解碼端為例,通過具體的實施例來說明本發明的方案。
解碼端通常以解碼器作為實施解碼方法主體對已編碼視訊碼流進行解碼重建,解碼器的基本邏輯結構如圖6所示,視訊解碼器60包含熵解碼單元650、預測處理單元652、逆量化單元654、逆變換處理單元656、重建單元658、濾波器單元659及解碼圖像緩衝器660。預測處理單元652包含運動補償單元662及幀內預測處理單元664。熵解碼單元650包含規則CABAC編解碼引擎666及旁通編解碼引擎668。在其它實例中,視訊解碼器60可包含更多、更少或不同的功能組件。
視訊解碼器60的基本工作流程為,在接收到已編碼的視訊碼流(下文簡稱碼流)之後,熵解碼單元650解析所述碼流以從所述碼流中提取語法元素,其中,作為解析碼流的一部分,熵解碼單元650可解析碼流中的經熵編碼後的語法元素。預測處理單元652、逆量化單元654、逆變換處理單元656、重建單元658及濾波器單元659可根據從碼流中提取的語法元素來解碼視訊資料,即產生解碼後的視訊資料。語法元素可包含經規則CABAC編解碼二進位碼字及經旁通編解碼二進位碼字。熵解碼單元650可使用規則CABAC編解碼引擎666來解碼經規則CABAC編解碼二進位碼字,且可使用旁通編解碼引擎668來解碼經旁通編解碼二進位碼字。
預測處理單元652包括了運動補償單元662以及幀內預測處理單元664。當待解碼的圖像塊使用幀間預測編碼,運動補償單元662可根據待解碼的圖像塊運動資訊來確定一個或多個參考塊,並根據參考塊來產生待解碼的圖像塊的預測性區塊。當待解碼的圖像塊使用幀內預測編碼,則由幀內預測處理單元664執行幀內預測以產生圖像塊的預測性區塊。幀內預測處理單元664可使用幀內預測模式以基於空間相鄰圖像塊的圖元產生待解碼圖像塊的預測性區塊。
經過預測處理單元652所獲取的預測性區塊與經過逆量化單元654以及逆變換處理單元656處理的待解碼圖像塊的殘差數據在重建單元658處重建,從而得到待解碼的圖像塊的重建圖像塊,將由多個圖像塊構成的一幀圖像在濾波器單元659內進行濾波之後存儲在解碼圖像緩衝器660內從而完成對已編碼視訊碼流的解碼,存儲在解碼圖像緩衝器660內的解碼圖像可以直接輸出至顯示裝置進行顯示,也可以用於作為後續碼流的解碼過程中的參考圖像。
本發明的技術方案是應用於運動補償單元662進行運動補償預測解碼過程中,示例性的解碼流程如圖7所示。需要說明的是本發明中的解碼方法和編碼方法總體一致,解碼方法是編碼方法的逆過程,雖然下述以解碼方法為例,但是該方法除了明確說明以外和編碼方法基本相同。因此,在下述描述的解碼過程中,出現編碼相關的解釋說明並不構成方案的衝突或者不一致。
圖7示出了根據本發明實施例的視訊圖像編碼的方法的示意性流程圖,具體地,如圖7所示,方法700包括: S710,確定仿射圖像塊的運動向量差異; S720,確定該仿射圖像塊的運動向量精度; S730,根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點; S740,根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行解碼處理。
具體而言,解碼/編碼設備根據確定的控制點,確定仿射圖像塊的運動向量差異,並確定該仿射圖像塊的運動向量精度,根據確定的運動向量差異、運動向量精度和控制點之間的距離以及仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該仿射運動補償子圖像塊的尺寸即為該仿射圖像塊的劃分尺寸;基於該劃分尺寸,所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,然後基於該仿射運動補償子圖像塊對所述仿射圖像塊進行解碼。需要說明的是,通常情況下仿射圖像塊為規則的矩形或者正方形,而對應的仿射運動補償子圖像塊也為規則的矩形或者正方形,因此,當確定了仿射運動補償子圖像在水準方向的長度以及豎直方向的長度之後,即能確定該仿射運動補償子圖像的整體尺寸。其中,水準方向以及豎直方向為本領域慣常採用的用於定位視訊圖像中的圖像塊/仿射圖像塊的位置的參考坐標系,其中水準方向通常代表規則的長方形視訊圖像的長邊所在方向,而豎直方向通常代表規則的長方形視訊圖像的短邊所在的方向,其中水準方向與豎直方向相互垂直;為了不失通用性,所述的水準方向可以用第一方向替代,而豎直方向可以用垂直於第一方向的第二方向替代,但是為了說明的簡便起見,本文中採用水準方向以及豎直方向來描述。此外,本文中解碼方法中所提到的“解碼仿射圖像塊”指的是從碼流中解析編碼資料並以仿射圖像塊為基本單元對編碼圖像進行重建及恢復的過程,並不能因為使用“解碼仿射圖像塊”而認為該仿射圖像塊已經重建完成。
運動補償單元662通過運行本發明實施例的視訊圖像解碼的方法,利用確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離以及仿射圖像塊的尺寸,確定仿射運動補償子圖像塊的尺寸,根據該仿射運動補償子圖像塊的尺寸將該仿射圖像塊劃分成多個大小一致的仿射運動補償子圖像之後進行解碼處理,由此,在解碼過程中能夠根據上述參數的變化而自我調整的選取合適大小的仿射運動補償子圖像塊,降低解碼的複雜度並提高了性能。
應理解,在本發明實施例中,該仿射圖像(Affine)塊為圖像塊內所有單元的運動向量符合相同的仿射模型,例如,同一個仿射模型,並可以用相同的參數,又或者是同一組參數來表示的圖像塊。其中單元是指一組圖元,例如,可以是一個圖元點,也可以是1×3,2×4等的塊結構,本發明對此不作限定。此外,在本發明實施例中,可以選擇任意不重合的圖元點作為控制點來確定Affine塊的運動向量差異,本發明對此不作限定。
優選地, S710包括: 根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量;和/或 根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量; 其中,該第一控制點與該第二控制點之間具有第一水準距離,該第三控制點與該第四控制點之間具有第一豎直距離。需要說明的是,上述步驟S710中所包含的方案中的“和/或”具體表示了如下三種不同的技術方案:
方案1:基於三控制點的仿射圖像塊的運動向量差異確定方法;其包括: 根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量,以及,根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量。
方案2:基於水準方向兩控制點的仿射圖像塊的運動向量差異確定方法;其包括:根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量。
方案3:基於豎直方向兩控制點的仿射圖像塊的運動向量差異確定方法:其包括:根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量。
應理解,在本發明實施例中,該運動向量差異的第一分量指該運動向量差異的水準分量,該運動向量差異的第二分量指該運動向量差異的豎直分量,在方案1中,該運動向量差異的第一分量和該運動向量差異的第二分量共同體現仿射圖像塊的運動向量差異,而在方案2及方案3中,該運動向量差異的第一分量及該運動向量差異的第二分量分別獨立的體現仿射圖像塊的運動向量差異。換句話說,即,在方案1種,仿射圖像塊的運動向量差異包括運動向量差異的第一分量和該運動向量差異的第二分量;在方案2中,仿射圖像塊的運動向量差異包括運動向量差異的第一分量;在方案3中,仿射圖像塊的運動向量差異包括運動向量差異的第二分量。還應理解,在本發明實施例中,第一、第二、第三和第四只是為了區分圖元點,而不應該對本發明的保護範圍構成任何限定,例如,第一控制點也可以稱為第二控制點,第二控制點可以成為第一控制點等。
在本發明實施例中,可選地,該第一控制點和該第三控制點為同一個圖元點,也就是說,選取的控制點的個數為3個,並且3個控制點中的一個控制點與其他2個控制點中的一個控制點位於同一水平線上,與其他2個控制點中的另一個控制點位於同一豎直線上。
在本發明實施例中,可選地,該第一控制點、該第二控制點、該第三控制點和該第四控制點為該Affine塊的頂點,假設一個Affine塊的4個頂點分別標記為左上角頂點、左下角頂點、右上角頂點和右下角頂點,則: 在前述方案1中,可以選擇位於兩個正交方向上的任意三個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點、左下角頂點和右上角頂點,可以選擇左上角頂點、右上角頂點和右下角頂點; 在前述方案2中,可以選擇位於同一水平線上的任意兩個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點和右上角頂點,或者選擇左下角頂點和右下角頂點; 在前述方案3中,可以選擇位於同一豎直線上的任意兩個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點和左下角頂點,或者選擇右上角頂點和右下角頂點;本發明對此不作限定。
在本發明實施例中,可選地,可以將第一控制點與第二控制點的運動向量的兩個方向(水準方向、豎直方向,或者成為,x方向,y方向)上的分量中任意一個方向上的分量的差值確定為該Affine塊的運動向量差異的第一分量,可以將第三控制點與第四控制點的運動向量的兩個方向上的分量中任意一個方向上的分量的差值確定為該Affine塊的運動向量差異的第二分量,該運動向量差異的確定方式適用於前述的方案1、2、3;還可以根據實際對編碼複雜度和編碼性能的要求,選擇介於第一控制點與第二控制點的運動向量的兩個方向上的分量的兩個差值之間的數值確定為該第一分量,選擇介於第三控制點與第四控制點的運動向量的兩個方向上的分量的兩個差值之間的數值確定為該第二分量,本發明對此不作限定。
通常,第一控制點至第四控制點中的每一個控制點的運動向量均包含有兩分量,即水準分量及豎直分量,因此,前述步驟中,根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量,以及,根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量,具體可以通過以下的方式來實現: 確定該第一控制點與該第二控制點的運動向量的第一水準分量差值和第一豎直分量差值,將該第一水準分量差值和該第一豎直分量差值中的最大值確定為該運動向量差異的第一分量; 相應的,確定該第三控制點與該第四控制點的運動向量的第二水準分量差值和第二豎直分量差值,將該第二水準分量差值和該第二豎直分量差值中的最大值確定為該運動向量差異的第二分量。
也就是說,如果用
Figure 02_image084
Figure 02_image086
表示位置為
Figure 02_image088
的圖元點的運動向量的水準分量和豎直分量,則可以根據公式(13)和(14)確定Affine塊的運動向量差異:
Figure 02_image091
(13)
Figure 02_image093
(14)
其中,max表示取最大值,
Figure 02_image094
表示Affine塊的運動向量差異的水準分量,
Figure 02_image096
表示Affine塊的運動向量差異的豎直分量,W表示第一控制點與第二控制點的第一水準距離,H表示第三控制點與第四控制點的第一豎直距離。參考圖8,公式(13)表示,運動向量水準差值
Figure 02_image099
為在同一水準方向的兩個控制點的運動向量的各分量的最大變化,即運動向量差值的絕對值最大,例如可以選用頂點0和1或頂點2和3作為控制點來計算
Figure 02_image099
;公式(14)表示,運動向量豎直差值
Figure 02_image101
為在同一豎直方向的兩個控制點的運動向量的各分量的最大變化,即運動向量差值的絕對值最大,例如可以選用頂點0和2或頂點1和3作為控制點來計算
Figure 02_image101
。 可以理解,上述公式(13)和(14)適用前述方案1、2、3中的任意一種方案,具體地: 在前述方案1中,基於三控制點確定仿射圖像塊的運動向量差異,該運動向量差異包括第一分量以及第二分量,因此,其採用公式(13)以及公式(14)的組合來獲取仿射圖像塊的運動向量差異; 在前述方案2中,基於水準方向兩控制點確定仿射圖像塊的運動向量差異,該運動向量差異僅包括第一分量,因此,其採用公式(13)來獲取仿射圖像塊的運動向量差異。以圖8為例,多數情況下,Affine塊的頂點的運動向量已知,在這種情況下,可直接根據Affine塊頂點的運動向量計算運動向量差值。
若圖8中Affine塊頂點的運動向量
Figure 02_image103
Figure 02_image105
已知,則有:
Figure 02_image107
(15)
若圖8中Affine塊頂點的運動向量
Figure 02_image109
Figure 02_image111
已知,則有:
Figure 02_image113
(16) 也可以選擇其他已知運動向量的組合,本發明不做限制。
上述方案中使用的控制點的運動向量可以根據仿射變換模型得到,例如,當採用4參數仿射變換模型,並以仿射圖像塊的左上角位置
Figure 02_image115
和右上角位置
Figure 02_image117
作為控制點,則模型公式為
Figure 02_image119
(17)
其中
Figure 02_image121
Figure 02_image123
分別為左上角和右上角控制點的運動向量。將左下角和右下角控制點座標
Figure 02_image125
Figure 02_image127
代入公式,則可以得到
Figure 02_image129
Figure 02_image131
在前述方案3中,基於豎直方向兩控制點確定仿射圖像塊的運動向量差異,該運動向量差異僅包括第二分量,因此,其採用公式(14)來獲取仿射圖像塊的運動向量差異。以圖8為例,多數情況下,Affine塊的頂點的運動向量已知,在這種情況下,可直接根據Affine塊頂點的運動向量計算運動向量差值。
若已知圖8中Affine塊頂點的運動向量
Figure 02_image103
Figure 02_image132
,則有:
Figure 02_image134
(18)
若已知圖8中Affine塊頂點的運動向量
Figure 02_image105
Figure 02_image135
,則有:
Figure 02_image137
(19) 也可以選擇其他已知運動向量的組合,本發明不做限制。
上述方案中使用的控制點的運動向量可以根據仿射變換模型得到,例如,當採用4參數仿射變換模型,並以左上角位置
Figure 02_image138
和左下角位置
Figure 02_image140
作為控制點,則模型公式為
Figure 02_image142
(20) 其中
Figure 02_image143
Figure 02_image144
分別為左上角和左下角控制點的運動向量。將右上角和右下角控制點座標
Figure 02_image146
Figure 02_image127
代入公式,則可以得到
Figure 02_image147
Figure 02_image148
在本發明實施例中,可選地,根據仿射模型來獲得上述的運動向量差值,即通過確定該仿射圖像塊內的圖元點的仿射變換參數來獲取運動向量的差值,需要說明的是,該仿射圖像塊內的圖元點具有相同的仿射變換參數;
相應地,前述步驟中,確定該第一控制點與該第二控制點的運動向量的第一水準分量差值和第一豎直分量差值,具體為:根據該仿射變換參數和該第一水準距離,確定該第一水準分量差值和該第一豎直分量差值;前述步驟中,確定該第三控制點與該第四控制點的運動向量的第二水準分量差值和第二豎直分量差值,具體為:根據該仿射變換參數和該第一豎直距離,確定該第二水準分量差值和該第二豎直分量差值。
應理解,前述各過程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。
在本發明實施例中,可選地,仿射變換模型可以採用現有技術中的6參數仿射變換模型,也可以採用4參數或2參數仿射變換模型,6參數仿射變換模型主要應用於前述方案1中的3控制點的場景中,4參數仿射變換模型主要應用於前述方案2及3中的兩控制點的場景中。以下分別以6參數仿射變換模型以及4參數仿射變換模型為例來介紹根據仿射變換參數獲取運動向量的差值的過程。
在6參數仿射變換模型中,假設
Figure 02_image039
為圖元點
Figure 02_image041
在當前圖像中的座標,
Figure 02_image043
為圖元點
Figure 02_image041
在參考圖像中匹配的圖元點
Figure 02_image045
的座標,
Figure 02_image047
為仿射變換參數。若已知仿射變換參數,即可求得圖元點
Figure 02_image039
在參考圖像中的位置
Figure 02_image043
,從而可以從參考圖像中獲得圖元點的預測訊號:
Figure 02_image155
(21)
Figure 02_image157
(22)
通常情況下,仿射變換參數可以根據仿射圖像塊中部分圖元點的運動向量計算得到,運動向量的水準分量和豎直分量可分別表示為公式(23)和(24):
Figure 02_image159
(23)
Figure 02_image161
(24)
將公式(21)帶入公式(23)中,將公式(22)帶入公式(24)中,得到座標為(x, y)的圖元點的運動向量的水準分量和豎直分量分別為公式(25)和(26):
Figure 02_image163
(25)
Figure 02_image165
(26)
將公式(25)帶入公式(13)中,將公式(26)帶入公式(14)中,公式(13)和(14)分別轉變為公式(27)和(28):
Figure 02_image168
(27)
Figure 02_image170
(28)
通過確定仿射變換參數
Figure 02_image171
Figure 02_image173
Figure 02_image175
Figure 02_image177
,以及控制點之間的距離就可以確定Affine塊的運動向量差異的第一分量和第二分量。
在4參數仿射變換模型中,假設
Figure 02_image039
為圖元點
Figure 02_image041
在當前圖像中的座標,
Figure 02_image043
為圖元點
Figure 02_image041
在參考圖像中匹配的圖元點
Figure 02_image045
的座標,
Figure 02_image179
為仿射變換參數。若已知仿射變換參數,即可求得圖元點
Figure 02_image039
在參考圖像中的位置
Figure 02_image043
,從而可以從參考圖像中獲得圖元點的預測訊號:
Figure 02_image069
(29)
Figure 02_image071
(30)
其中,公式(29)對應於前述方案2中,基於水準方向兩控制點確定仿射圖像塊的運動向量差異的場景中。公式(30)對應於前述方案3中,基於豎直方向兩控制點確定仿射圖像塊的運動向量差異的場景中。
通常情況下,仿射變換參數可以根據圖像塊中部分圖元點的運動向量計算得到,運動向量的水準分量和豎直分量可參考前述公式(23)和(24)。將公式(29)及(30)分別帶入公式(23)(24)中,得到座標為(x, y)的圖元點的運動向量的水準分量和豎直分量分別為公式(31)和(32):
Figure 02_image183
(31)
Figure 02_image185
(32)
將公式(31)(32)帶入公式(13)(14)中,公式(13)和(14)分別轉變為公式(33)和(34):
Figure 02_image188
(33)
Figure 02_image190
(34)
通過確定仿射變換參數a和b,以及控制點之間的距離即可確定在前述的方2及方案3場景中Affine塊的運動向量差異的第一分量或者第二分量。
應理解,2參數仿射變換模型時,確定運動向量差異的方法和採用6參數及4參數仿射變換模型時的確定方法本質上是相同的,為了簡便,在此不再贅述。
在本發明實施例中,可選地,在解碼過程中,仿射變換參數可以通過對各個參數進行反覆運算計算得到,比如將參數a加1,判斷在該模型下運動補償預測訊號是否是最優。仿射變換參數也可以是根據鄰近Affine塊的仿射變換參數推導得到的。但本發明並不限於此。
在本發明實施例中,可選地,可以通過確定該第一控制點的運動向量、該第二控制點的運動向量、該第三控制點的運動向量和該第四控制點的運動向量,從而來確定仿射圖像塊的運動向量差異;
相應地,在前述方案1的場景中,將該第一控制點的運動向量的水準分量與該第二控制點的運動向量的水準分量的差值確定為該第一水準分量差值;將該第一控制點的運動向量的豎直分量和該第二控制點的運動向量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點的運動向量的水準分量與該第四控制點的運動向量的水準分量的差值確定為該第二水準分量差值;將該第三控制點的運動向量的豎直分量和該第四控制點的運動向量的豎直分量的差值,確定為該第二豎直分量差值。
在前述方案2的場景中,將該第一控制點的運動向量的水準分量與該第二控制點的運動向量的水準分量的差值確定為該第一水準分量差值;將該第一控制點的運動向量的豎直分量和該第二控制點的運動向量的豎直分量的差值,確定為該第一豎直分量差值。
在前述方案3的場景中,將該第三控制點的運動向量的水準分量與該第四控制點的運動向量的水準分量的差值確定為該第二水準分量差值;將該第三控制點的運動向量的豎直分量和該第四控制點的運動向量的豎直分量的差值,確定為該第二豎直分量差值。
具體而言,可以直接確定出控制點的運動向量,通過將運動向量的各分量分別作差,就可以直接得到Affine塊的運動向量差異的第一分量和第二分量。
例如,圖9是根據本發明實施例的仿射圖像塊及控制點的示意圖。其中兩個控制點A和B在同一水平線上,距離為
Figure 02_image191
,兩個控制點C和D在同一豎直線上,距離為
Figure 02_image193
,如果已知控制點A、B、C和D點的運動向量,則可以根據公式(11)和(12)確定Affine塊的運動向量差異的第一分量和第二分量:
Figure 02_image195
(35)
Figure 02_image197
(36)
在本發明實施例中,可選地,控制點A和C可以為同一個圖元點。
在本發明實施例中,可選地,控制點A、B、C和D可以為Affine塊的頂點,此時,控制點A和B的距離為Affine塊的寬度W,控制點C和D的間距為Affine塊的高度H。
在本發明實施例中,可選地,該第一控制點與該第二控制點為相鄰的兩個圖元點,該第三控制點與該第四控制點為相鄰的兩個圖元點,即控制點並不一定選在仿射圖像塊的四個角點,又叫頂點上,而是可以根據編解碼端共同設置的,或者在碼流中以信令的方式明示的,或者根據周邊仿射圖像塊的控制點估計或者是複製得到的位於該仿射圖像塊內任意位置點,在此情況下;確定第一水準、豎直分量差值,以及第二水準、豎直分量差值具體為: 確定第一圖元點的運動向量、第二圖元點的運動向量和第三圖元點的運動向量,該第一圖元點、該第二圖元點和該第三圖元點為互相不重合的圖元點;確定該第一圖元點與該第二圖元點之間的第二水準距離和第二豎直距離;確定該第一圖元點與該第三圖元點之間的第三水準距離和第三豎直距離;根據該第一圖元點的運動向量、該第二圖元點的運動向量、該第三圖元點的運動向量、該第二水準距離、該第二豎直距離、該第三水準距離和該第三豎直距離,確定該第一水準分量差值、該第一豎直分量差值、該第二水準分量差值和該第二豎直分量差值。以上是以前述的方案1的三控制點為例,當採用前述方案2或方案3中的兩控制點與方案1的三控制點的區別在於,僅取方案1中的第一分量差值或者第二分量差值作為二控制點仿射圖像的運動向量差異。
具體而言,假設A、B和C是圖像塊中任意互相不重合的三個圖元點,三個圖元點的位置如圖10所示,三個點的運動向量分別為
Figure 02_image199
Figure 02_image201
Figure 02_image203
。點A與點B在水準方向的距離是
Figure 02_image205
,豎直方向的距離是
Figure 02_image207
,點A與點C在水準方向的距離是
Figure 02_image209
,豎直方向的距離是
Figure 02_image211
,點B與點C的在水準方向的距離為
Figure 02_image213
,豎直方向的距離是
Figure 02_image215
。假設在水準方向上相鄰的兩個圖元點的運動向量在水準方向的各分量的差異分別為
Figure 02_image217
Figure 02_image219
,在豎直方向上相鄰的兩個圖元點的運動向量在豎直方向的各分量的差異分別為
Figure 02_image221
Figure 02_image223
,由於圖像塊內運動向量是線性變化的,則可以通過確定A、B和C點的運動向量確定
Figure 02_image217
Figure 02_image225
Figure 02_image221
Figure 02_image226
,從而可以確定圖像塊的相鄰圖元點的運動向量差異。具體可以根據公式(37)~(40)確定:
Figure 02_image227
(37)
Figure 02_image229
(38)
Figure 02_image231
(39)
Figure 02_image233
(40)
還可以根據公式(37)和(38)以及公式(41)和(42)確定:
Figure 02_image235
(41)
Figure 02_image237
(42)
在本發明實施例中,可選地,解碼設備可以從通過運動估計搜索得到所有控制點的運動向量;可以從周圍圖像塊獲得所有控制點的運動向量;可以根據仿射變換模型計算出所有控制點的運動向量;可以通過運動估計搜索得到部分控制點的運動向量,從鄰近圖像塊獲得其他控制點的運動向量;可以通過仿射運動估計搜索得到部分控制點的運動向量,根據仿射變換模型計算得到其他控制點的運動向量;可以從鄰近圖像塊獲得部分控制點的運動向量,根據仿射變換模型計算出其他控制點的運動向量;但本發明並不限於此。
可選地,在S720中,可以將第一預設值確定為該仿射圖像塊的運動向量精度;或根據該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運動向量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時間上相鄰的圖像塊。
具體而言,Affine塊的運動向量的值可以是整數,此時稱運動向量是整圖元精度,即圖元精度為1;運動向量的值也可以是非整數的,此時稱運動向量是亞圖元精度,包括1/2、1/4、1/8等精度。圖11所示的是一個4×4的圖像塊,其中x表示的是整圖元位置的圖元,採集得到的圖像只有整圖元位置的圖元。O表示的是1/2精度位置的圖元,需要通過整圖元位置的圖元進行插值來得到。其他精度位置的圖元值需要使用整圖元精度圖元或1/2精度圖元進一步插值來獲得。若當前圖元點的運動向量是整數,則指向參考圖像中
Figure 02_image239
所在的位置,若當前圖元點的運動向量是1/2精度,則指向參考圖像中O所在的位置。
Affine塊的運動向量精度指Affine塊內所有圖元點的運動向量的最高精度。Affine塊的運動向量精度可以是預先設定好的,例如整圖元精度、1/2、1/4、1/8、1/16等精度。也可以是根據圖Affine塊鄰近圖像塊的特性來確定,例如若周圍的圖像較為平滑,可以預測當前Affine塊也較為平滑,則可以選用較高的運動向量精度,例如1/8、1/16精度等,反之選用較低的運動向量精度,例如整圖元精度、1/2精度等。獲得的精度用
Figure 02_image241
來表示。
可選地,如圖12所示,S730具體包括: S1201,根據該運動向量精度與該運動向量差異的第一分量的比例對該第一水準距離進行等比例調整得到該仿射運動補償子圖像塊的水準方向的長度,確定該仿射圖像塊的水準方向的長度是否是該仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
具體地,該運動向量精度與運動向量差異的第一分量的比例為該運動向量精度與運動向量差異的第一分量的比值,該比值與該第一水準距離的乘積則為該仿射運動補償子圖像塊的水準方向的長度,也可以稱之為水準方向的初始長度;可以理解,該仿射運動補償子圖像塊的水準方向的初始長度在某些情況下可能為非整數,此時需要對該初始長度取整,為保證精度,通常是向下取整,即,直接丟棄小部分,例如,初始長度值為8.35 (即,8.35個單位圖元的長度),且直接取8作為仿射運動補償子圖像塊的水準方向的長度;當然,也可以採用四捨五入的取整原則,即小數部分小於5則向下取整,小數部分大於5,則向上取整,例如當計算得出的長度為8.86時,取9作為其長度,為了保證效率,初始長度的最小值應該不小於預設的值,例如不能小於2、4、8 或者2N等預設的值,該預設值通常設置為4,也不應大於仿射變換圖像塊的在水準方向的長度。該水準方向的初始長度或者水準方向的取整後的初始長度是否合適,取決於其是否能夠將仿射圖像塊在水準方向的長度整除,若能整數,則說明仿射圖像塊在水準方向是否能夠以該水準方向的初始長度或者水準方向取整後的初始長度為單位被劃分成整數個子塊。通常其調整方式是採用逐步遞增/遞減該水準方向的初始長度或者水準方向取整後的初始長度的方法,即,若確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍,則對該仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的調整後的長度的整數倍。 其中,上述單位長度通常是一個單位圖元,即,對該仿射運動補償子圖像塊的水準方向的長度做加一/減一的調整,為不失通用性,也可以說是,對該仿射運動補償子圖像塊的水準方向的長度按照固定的步長做增加/減少的調整,所述的步長為調整值,即,每個迴圈內對該仿射運動補償子圖像塊的水準方向的長度進行調整的基本單位或者叫幅度;該步長通常為上述的一個單位圖元,也可以是其他的值,如兩個圖元單位等。可選地,上述調整中所採用的步長/調整值也可以根據該仿射運動補償子圖像塊的水準方向的初始長度的奇偶性變化,例如,當仿射運動補償子圖像塊的水準方向的初始長度為奇數,選擇奇數步長,例如,以奇數個單位長度,如一個單位長度為步長進行調整,當仿射運動補償子圖像塊的水準方向的初始長度為偶數時,則選擇偶數步長,例如,偶數個單位長度的步長。
此外,所述調整是增加還是減少可以根據解碼端以及編碼端共同約定來選擇,也可以由編碼端在碼流中明示,解碼端參照選擇,也可以通過周邊相鄰的塊運動向量精度值來推導,或者根據仿射圖像塊與該仿射運動補償子圖像塊的水準方向的長度之間的比值關係來確定,例如比值小於閾值則選擇減少,否則選擇增加。
為了簡化演算法,同時兼顧編解碼效率,確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍時,則對該仿射運動補償子圖像塊的水準方向的長度做增加一個預設單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的調整後的長度的整數倍。
此外,為了提高效率,節省運算時間,也可以將該仿射運動補償子圖像塊的水準方向的長度朝向最接近整除該仿射圖像塊的水準方向的長度的值的方向調整,例如,該仿射運動補償子圖像塊的水準方向的長度為7,而仿射圖像塊的水準方向的長度為16,此時,對仿射運動補償子圖像塊的水準方向的長度加1變成8,從而能整除16;同理,該仿射運動補償子圖像塊的水準方向的長度為5,此時,對仿射運動補償子圖像塊的水準方向的長度減1變成4,從而能整除16。若,該仿射運動補償子圖像塊的水準方向的長度距離與鄰近且可整除該仿射圖像塊的水準方向的長度的兩個相鄰的值的距離相等,例如,該仿射運動補償子圖像塊的水準方向的長度為6,仿射圖像塊的水準方向的長度為16,鄰近長度6且可整除16的兩個相鄰的值分別為4和8,此時,可以根據編解碼端的需求選擇朝某一方向調整,例如,如果是要求低延時,此時可以選擇朝增加的方向調整,如果要求高品質,則選擇朝減小的方向調整,對此,本發明不做限制。
此外,上述步驟S1201中的,當確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍時,為了更進一步的簡化演算法,可以在編解碼端分別建立相同的表格,以允許的最小整除數,如,2N為起始值,將仿射圖像塊水準方向的可能的最大長度劃分為多個區間,區間的跨度為2N+i,
Figure 02_image243
, Wmax為仿射圖像塊水準方向的可能的最大長度。確定該仿射運動補償子圖像塊的水準方向的長度所在的區間,以該仿射運動補償子圖像塊的水準方向的長度所在的區間的下限值或者上限值為最終確定的所述仿射運動補償子圖像塊的水準方向的長度。其上下限值的獲取規則可以參照編解碼兩端約定,可以通過碼流明示,或者可以通過四捨五入的方式選擇臨近的區間上限值或者下限值。通過以上的表格,可以採用根據仿射運動補償子圖像塊的水準方向的初始長度採用查表的方式來確定該仿射運動補償子圖像塊的水準方向的最終長度,從而可以替換前述步驟S1201中調整該仿射運動補償子圖像塊的水準方向的長度的步驟,以降低系統複雜度並減少計算時間。
可選地,為了進一步降低該方案的計算複雜度,在步驟S1201中的,除了確定仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的長度的整數倍,還需要確定該仿射運動補償子圖像塊的水準方向的長度是否是便於計算的預定長度S的整數倍,即,確定該仿射運動補償子圖像塊的水準方向的長度是否滿足條件: (1)仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的長度的整數倍,且(2)該仿射運動補償子圖像塊的水準方向的長度是預定長度S的整數倍; 若不滿足,則調整該仿射運動補償子圖像塊的水準方向的長度以使其滿足上述的條件(1)和條件(2),即,該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,且該仿射運動補償子圖像塊的調整後的水準方向的長度是該預設長度的整數倍。預設長度S通常取4,也可以取8、16、32等數值,或者說S=2n,n為零或者正整數。本方案對於任意形狀的仿射圖像塊均適用,若仿射圖像塊是採用四叉樹(Qual Tree)的規則劃分的情況下,由於上述判斷條件(1)(2)中任一個條件的滿足即可以滿足另外一個條件,因此,僅需要保留一其中一個判定條件即可。上述條件(1)以及條件(2)是否滿足的判斷順序以及依據判斷結果對仿射運動補償子圖像塊的水準方向的長度進行調整的順序可以任意交換,為了區別,可以將第一次調整叫做首次調整,而第二次調整(如果需要)叫做二次調整。
可選地,通過上述方式確定的該仿射運動補償子圖像塊的水準方向的長度需要進行限幅操作,即通過比較的方式使的M位於下限Tm以及上限W之間,Tm為預設值,通常為4,W為仿射圖像塊的在水準方向的長度。
S1203,根據該運動向量精度與該運動向量差異的第二分量的比例對該第一豎直距離進行等比例調整得到該仿射運動補償子圖像塊的豎直方向的長度,確定該仿射圖像塊的豎直方向的長度是否是該仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的豎直方向的長度以使該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
具體地,該運動向量精度與運動向量差異的第二分量的比例為該運動向量精度與運動向量差異的第二分量的比值,該比值與該第一豎直距離乘積則為該仿射運動補償子圖像塊的豎直方向的長度,也可以稱之為豎直方向的初始長度;可以理解,該仿射運動補償子圖像塊的豎直方向的初始長度在某些情況下可能為非整數,此時需要對該初始長度取整,為保證精度,通常是向下取整,即,直接丟棄小部分,例如,初始長度值為8.35 (即,8.35個單位圖元的長度),且直接取8作為仿射運動補償子圖像塊的豎直方向的長度;當然,也可以採用四捨五入的取整原則,即小數部分小於5則向下取整,小數部分大於5,則向上取整,例如當計算得出的長度為8.86時,取9作為其長度,為了保證效率,初始長度的最小值應該不小於預設的值,例如不能小於2、4、8 或者2N等預設的值,該預設值通常設置為4,也不應大於仿射變換圖像塊的在豎直方向的長度。該豎直方向的初始長度或者豎直方向的取整後的初始長度是否合適,取決於其是否能夠將仿射圖像塊在豎直方向的長度整除,若能整數,則說明仿射圖像塊在豎直方向是否能夠以該豎直方向的初始長度或者豎直方向取整後的初始長度為單位被劃分成整數個子塊。通常其調整方式是採用逐步遞增/遞減該豎直方向的初始長度或者豎直方向取整後的初始長度的方法,即,若確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,則對該仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的調整後的長度的整數倍。 其中,上述單位長度通常是一個單位圖元,即,對該仿射運動補償子圖像塊的豎直方向的長度做加一/減一的調整。為了不失通用性,也可以說是對該仿射運動補償子圖像塊的豎直方向的長度按照固定的步長做增加/減少的調整,所述的步長為調整值,即,每個迴圈內對仿射運動補償子圖像塊的豎直方向的長度進行基本單位或者幅度;該步長通常為上述的一個單位圖元,也可以是其他的值,如兩個圖元單位等。可選地,上述調整中所採用的步長/調整值也可以根據該仿射運動補償子圖像塊的豎直方向的初始長度的奇偶性變化,例如,當仿射運動補償子圖像塊的豎直方向的初始長度為奇數,選擇奇數步長,例如,以奇數個單位長度,如一個單位長度為步長進行調整,當仿射運動補償子圖像塊的豎直方向的初始長度為偶數時,則選擇偶數步長,例如,偶數個單位長度的步長。
此外,所述調整是增加還是減少可以根據解碼端以及編碼端共同約定來選擇,也可以由編碼端在碼流明示,解碼端參照選擇,也可以通過周邊相鄰的塊運動向量精度值來推導,或者根據仿射圖像塊與該仿射運動補償子圖像塊的豎直方向的長度之間的比值關係來確定,例如比值小於閾值則選擇減少,否則選擇增加。
為了簡化演算法,同時兼顧編解碼效率,確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,則對該仿射運動補償子圖像塊的豎直方向的長度做增加一個預設單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的調整後的長度的整數倍。
此外,為了提高效率,節省運算時間,也可以將該仿射運動補償子圖像塊的豎直方向的長度朝向最接近整除該仿射圖像塊的豎直方向的長度的方向調整,例如,該仿射運動補償子圖像塊的豎直方向的長度為7,而仿射圖像塊的豎直方向的長度為16,此時,對仿射運動補償子圖像塊的豎直方向的長度加1變成8,從而能整除16;同理,該仿射運動補償子圖像塊的豎直方向的長度為5,此時,對仿射運動補償子圖像塊的豎直方向的長度減1變成4,從而能整除16。若,該仿射運動補償子圖像塊的豎直方向的長度距離與鄰近且可整除該仿射圖像塊的豎直方向的長度的兩個相鄰的值的距離相等,例如,該仿射運動補償子圖像塊的豎直方向的長度為6,仿射圖像塊的豎直方向的長度為16,鄰近長度6且可整除16的兩個相鄰的值分別為4和8,此時,可以根據編解碼端的需求選擇朝某一方向調整,例如,如果是要求低延時,此時可以選擇朝增加的方向調整,如果要求高品質,則選擇朝減小的方向調整,對此,本發明不做限制。
此外,上述步驟S1203中的,當確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍時,為了更進一步的簡化演算法,可以在編解碼端分別建立相同的表格,以允許的最小整除數,如,2N為起始值,將仿射圖像塊豎直方向的可能的最大長度劃分為多個區間,區間的跨度為2N+i,
Figure 02_image243
, Wmax為仿射圖像塊豎直方向的可能的最大長度。確定該仿射運動補償子圖像塊的豎直方向的長度所在的區間,以該仿射運動補償子圖像塊的豎直方向的長度所在的區間的下限值或者上限值為最終確定的所述仿射運動補償子圖像塊的豎直方向的長度。其上下限值的獲取規則可以參照編解碼兩端約定,可以通過碼流明示,或者可以通過四捨五入的方式選擇臨近的區間上限值或者下限值。通過以上的表格,可以採用根據仿射運動補償子圖像塊的豎直方向的初始長度採用查表的方式來確定該仿射運動補償子圖像塊的豎直方向的最終長度,從而可以替換前述步驟S1203中調整該仿射運動補償子圖像塊的豎直方向的長度的步驟降低系統複雜度以及計算時間。
可選地,為了進一步降低該方案的計算複雜度,在步驟S1203中的,除了確定,仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,還需要確定該仿射運動補償子圖像塊的豎直方向的長度是否是便於計算的預定長度S的整數倍,即,確定該仿射運動補償子圖像塊的豎直方向的長度是否滿足條件: (1)仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,且(2)該仿射運動補償子圖像塊的豎直方向的長度是預定長度S的整數倍; 若不滿足,則調整該仿射運動補償子圖像塊的豎直方向的長度以使其滿足上述的條件(1)和條件(2),即,該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,且該仿射運動補償子圖像塊的調整後的豎直方向的長度是該預設長度的整數倍。預設長度S通常取4,也可以取8、16、32等數值,或者說S=2n,n為零或者正整數。本方案對於任意形狀的仿射圖像塊均適用,若仿射圖像塊是採用四叉樹(Qual Tree)的規則劃分的情況下,由於上述判斷條件(1)(2)中任一個條件的滿足即可以滿足另外一個條件,因此,僅需要保留一其中一個判定條件即可。上述條件(1)以及條件(2)是否滿足的判斷順序以及依據判斷結果對仿射運動補償子圖像塊的水準方向的長度進行調整的順序可以任意交換,為了區別,可以將第一次調整叫做首次調整,而第二次調整(如果需要)叫做二次調整。
上述步驟S1201以及S1203適用於前述的方案1中三控制點場景中,在三控制點場景中,對於該仿射運動補償子圖像塊在水準方向以及豎直方向的長度分別計算。而對於前述方案2以及方案3中的兩控制點場景,可僅採用步驟S1201或者S1203來單獨計算該仿射運動補償子圖像塊在水準方向的長度或者該仿射運動補償子圖像塊在豎直方向的長度,之後以該仿射運動補償子圖像塊在水準/豎直方向的長度或者該仿射運動補償子圖像塊在水準/豎直方向的調整後長度作為該仿射運動補償子圖像塊在另一個方向,即豎直/水準方向的初始長度,並分別進行上述判斷,即, 判斷仿射圖像塊的豎直/水準方向的長度是否是該仿射運動補償子圖像塊的豎直方向的長度的整數倍; 或者, 判斷仿射圖像塊的豎直/水準方向的長度是否是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,以及確定該仿射運動補償子圖像塊的豎直/水準方向的長度是否是預定長度S的整數倍。
在前述方案2及方案3的量控制點場景中,可以根據需求僅採用上述方案3中對於該仿射運動補償子圖像塊在水平方的向長度的計算,或者對於該仿射運動補償子圖像塊在豎直方向的長度的計算,並以所得到的仿射運動補償子圖像塊的一個尺寸分量,即水準方向的長度或則豎直方向的長度為基礎,來推導或計算另外一個尺寸分量。可以理解的是當仿射圖像塊的尺寸為2Nx2N的規則方形時,因為其水準方向和豎直方向的長度相同,則只需要對其水準或者豎直方向長度中的一個進行確定即可。
可選地,通過上述方式確定的該仿射運動補償子圖像塊的豎直方向的長度需要進行限幅操作,即通過比較的方式使的M位於下限Tm以及上限W之間,Tm為預設值,通常為4,W為仿射圖像塊的在豎直方向的長度。
具體而言,通常獲得的運動向量差異
Figure 02_image244
Figure 02_image246
較小,表示每個圖元點的運動向量的精度過高,例如1/32,1/64等。過高的運動向量精度對視訊的壓縮性能貢獻不大,且會帶來巨大的計算量。因此,根據之前獲得的期望的運動向量精度
Figure 02_image248
,來對Affine塊進行劃分,劃分成多個Affine-MC塊,保證每個Affine-MC塊的運動向量精度達到
Figure 02_image248
,其中,
Figure 02_image244
Figure 02_image246
的最小值不小於
Figure 02_image248
在本發明實施例中,可選地,假設第一控制點與第二控制點之間的水準距離為W,第三控制點與第四控制點之間的豎直距離為H,假設Affine-MC塊的寬度為
Figure 02_image249
,或記為M,高度為
Figure 02_image251
,或記為N;
在前述的方案1場景中,基於三控制點確定的仿射圖像塊的運動向量差異,並獲取仿射運動補償子圖像塊的尺寸可以通過以下公式(43)來實現,即根據公式(43)確定M和N:
Figure 02_image253
Figure 02_image255
(43) 或
Figure 02_image258
(44) 等同於:
Figure 02_image260
(45)
在前述的方案2場景中,基於水準方向的兩控制點確定的仿射圖像塊的運動向量差異,並獲取仿射運動補償子圖像塊的尺寸可以通過以下公式(46)來實現,即根據公式(46)確定M和N:
Figure 02_image262
(46) 等同於:
Figure 02_image264
(47)
在前述的方案3場景中,基於豎直方向的兩控制點確定的仿射圖像塊的運動向量差異,並獲取仿射運動補償子圖像塊的尺寸可以通過以下公式(48)來實現,即根據公式(48)確定M和N:
Figure 02_image266
(48) 等同於:
Figure 02_image268
(49)
根據公式(45)、(47)以及(49)計算得到M和N後,為了簡化演算法,需要進一步判斷M,N是否便於運算,即,是否能夠將寬度為W,高度為H的仿射圖像塊均勻劃分為整數個仿射運動補償子圖像塊,也即,判斷W是否能被M整除,H是否能被N整除,如果不能整除,則對不能整除的值,即M和/或N進行調整,以使W能被M整除,H能被N整除,並且在限制範圍
Figure 02_image270
W,
Figure 02_image272
H之內。
調整方法可以為: 1)當W不能被M整除時,逐步減小/增減M,直至W能被M整除;當H不能被N整除時,逐步減小/增加N,直至H能被N整除。在M=N的情況下,僅需要調整其中一個即可。
可選地,對
Figure 02_image274
Figure 02_image276
的上下限做一個限制,使得
Figure 02_image277
W,
Figure 02_image278
H,
Figure 02_image280
Figure 02_image282
一般設置為4。
2)通過查表的方式:在已構建好的二維表中,輸入W和M,輸出滿足條件的M;輸入H和N,輸出滿足條件的N。
可選地,根據公式(45)、(47)以及(49)計算得到
Figure 02_image274
Figure 02_image276
後,再進一步調整,使得W能被M整除,H能被N整除,並且M和N為S的倍數,並且在限制範圍
Figure 02_image283
W,
Figure 02_image284
H之內。
調整方法可以為: 1)當W不能被M整除或者M不為S的倍數時,逐步減小M,直至W能被M整除並且為S的倍數;當H不能被N整除或者N不為S的倍數時,逐步減小N,直至H能被N整除並且為S的倍數。S通常設置為4。在M=N的情況下,僅需要調整其中一個即可。
可選地,對
Figure 02_image274
Figure 02_image276
的上下限做一個限制,使得
Figure 02_image277
W,
Figure 02_image278
H,
Figure 02_image280
Figure 02_image282
一般設置為4。
2)通過查表的方式:在已構建好的二維表中,輸入W和M,輸出滿足條件的M,輸入H和N,輸出滿足條件的N。
具體的上述方案可以通過以下表-1中實例性的演算法代碼來實現。 表-1<img wi="365" he="22" file="IMG-2/Draw/02_image286.png" img-format="jpg"><img wi="358" he="22" file="IMG-2/Draw/02_image288.png" img-format="jpg"><img wi="414" he="88" file="IMG-2/Draw/02_image290.png" img-format="jpg"><img wi="414" he="88" file="IMG-2/Draw/02_image290.png" img-format="jpg">
因此,本發明實施例的視訊圖像解碼的方法,解碼設備通過確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離以及仿射圖像塊的尺寸,確定仿射運動補償子圖像塊的尺寸,使得仿射圖像塊可被均勻的劃分為多個尺寸相同仿射運動補償子圖像塊,從而便於該方法的硬體/軟體實現,同時降低複雜度。通過實驗驗證,本發明可以使得編碼端複雜度降低50%,解碼端複雜度降低70%,同時保持了90~95%的性能,這可以使得基於Affine模型的運動補償預測技術可以有效地投入到實際應用中。
可選地,如圖13所示,S740包括: S1301,確定該仿射運動補償子圖像塊中每個仿射運動補償子圖像塊的運動向量; S1303,根據該每個仿射運動補償子圖像塊的運動向量,確定該每個仿射運動補償子圖像塊的運動補償預測訊號; S1305,根據該每個仿射運動補償子圖像塊的運動補償預測訊號對該每個仿射運動補償子圖像塊進行解碼。
應理解,在本發明實施例中,每個Affine-MC塊可能包含多個圖元點,需要從每個Affine-MC中選取一個圖元點的運動向量作為該Affine-MC塊的運動向量。
可選地,在S1301中,可以選取Affine-MC塊的中心位置處的圖元點的運動向量作為該Affine-MC塊的運動向量,可以將Affine-MC塊內所有圖元點的運動向量的平均值作為該Affine-MC塊的運動向量,可以選取位於Affine-MC塊的左上角的圖元點的運動向量作為該Affine-MC塊的運動向量,但本發明並不限於此。
在本發明實施例中,可選地,對該每個仿射運動補償子圖像塊的邊界圖元點的訊號進行濾波,該邊界圖元點為位於每個仿射運動補償子圖像塊的邊界的一行或多行圖元點。
在本發明實施例中,可選地,該邊界圖元點的訊號包括運動補償預測訊號和/或重建訊號,該重建訊號為運動補償預測訊號與重建的殘差訊號之和。
具體而言,如圖11所示,粗實線塊表示Affine塊,細實線塊表示Affine-MC塊,虛線框表示相鄰的Affine-MC塊的邊界的圖元,交叉點表示圖元。其中,圖11中虛線框的區域包含相鄰Affine-MC塊各自在邊界的兩行或者兩列圖元,也可以包含各自邊界的一行或一列,三行或三列等。由於相鄰的Affine-MC塊的運動向量可能不同,那麼從參考圖像中取得的預測訊號在參考圖像中不相鄰,這會導致相鄰Affine-MC塊邊界的預測訊號之間的不連續,從而導致殘差的不連續,影響殘差的圖像編碼/解碼性能,因此考慮對Affine-MC塊邊界處的運動補償預測訊號進行濾波。
重建訊號一般是將運動補償預測訊號與重建的殘差訊號相加而得到。殘差訊號一般使用有損編碼,這會導致重建的殘差訊號與原始的殘差訊號之間存在失真。相鄰Affine-MC塊的邊界處的圖元的失真方向可能不一致,例如第一個Affine-MC塊右邊的圖元由於失真變大,右邊相鄰的Affine-MC塊左邊的圖元由於失真變小,這會導致在Affine-MC塊的重建圖元的邊界處圖元值不連續,影響主觀和客觀的效果。因此需要對重建訊號進行濾波。
在本發明實施例中,可選地,可以通過低通濾波器進行濾波,使得邊界區域的圖元值變化的更平緩,例如使用高斯濾波器進行濾波,但本發明並不限於此。
在本發明實施例中,可選地,可以採用重疊分塊運動補償(Overlapped block motion compensation,簡稱為“OBMC”方法進行濾波。對待濾波的圖元使用其鄰近的Affine-MC塊的運動向量做運動補償預測,將獲得的運動補償預測訊號與使用待濾波圖元自己的運動向量獲得的運動補償預測訊號進行加權平均,得到最終的運動補償預測訊號。
本發明實施例的視訊圖像解碼的方法,解碼設備通過確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離,確定仿射運動補償子圖像塊的尺寸,並根據仿射圖像塊尺寸與仿射運動補償子圖像塊的尺寸關係來進一步調整使得仿射運動補償子圖像塊的尺寸更便於實現,同時降低複雜度。通過實驗驗證,本發明可以使得編碼端複雜度降低50%,解碼端複雜度降低70%,同時保持了90~95%的性能,這可以使得基於Affine模型的運動補償預測技術可以有效地投入到實際應用中。
可選地,本發明中解碼方法也可以是: 解析碼流,以獲取仿射圖像塊的運動向量差異以及該仿射圖像塊的運動向量精度,其中,該仿射圖像塊內的圖元點具有相同的仿射變換參數; 根據該運動向量差異、該運動向量精度和該仿射圖像塊中的控制點之間的距離,確定該仿射圖像塊中的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的在水準方向的長度為該仿射運動補償子圖像塊的在水準方向的長度整數倍,且該仿射圖像塊在豎直方向的長度為該仿射運動補償子圖像塊的在豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點; 根據該仿射運動補償子圖像塊的尺寸,對該仿射圖像塊進行解碼處理。
或者; 解析碼流,獲取仿射圖像塊資訊; 根據該仿射圖像塊資訊確定該仿射圖像塊中的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,且該仿射圖像塊的在水準方向的長度為該仿射運動補償子圖像塊的在水準方向的長度整數倍,且該仿射圖像塊在豎直方向的長度為該仿射運動補償子圖像塊的在豎直方向的長度的整數倍; 根據該仿射運動補償子圖像塊的尺寸,對該仿射圖像塊進行解碼處理。
通過這種方式解碼端可以無需重新計算,而直接用編碼端傳至解碼端的參數來確定仿射運動補償子圖像塊的尺寸,從而進一步降低計算的複雜度。
以上結合圖1至圖13詳細描述了根據本發明實施例的視訊圖像解碼的方法,前面已經說明本方案在解碼端以及編碼端的實現方式基本相同,為了更加清楚的說明這一點,下面將結合圖14至圖16描述根據本發明實施例的視訊圖像編碼的方法。應注意,因為編碼端的有關操作本質上與解碼端的一致,為了避免重複,在此不再贅述各實現細節。
圖14示出了根據本發明實施例的視訊圖像解碼的方法的示意性流程圖。
圖14所示的方法可以由編碼設備執行,例如編碼器類似於解碼器通常包括有預測處理單元、殘餘產生單元、變換處理單元、量化單元、逆量化單元、逆變換處理單元、重建單元、濾波器單元、解碼圖片緩衝器及熵編碼單元。熵編碼單元包含規則CABAC編解碼引擎及旁通編解碼引擎。預測處理單元包含幀間預測處理單元及幀內預測處理單元。幀間預測處理單元包含運動估計單元及運動補償單元。在其它實例中,編碼器可包含更多、更少或不同的功能組件。類似于解碼器,本發明的編碼方法主要應用在幀間預測處理單元進行幀間預測的過程中,編碼器的各個功能單元的詳細結構可以參照現有技術如H.265標準中的規定及描述,本發明再次不展開描述,本發明僅通過以下實施例來說明本發明實施例的方法中如何實現自我調整地確定仿射運動補償子圖像塊的尺寸並進行編碼的基本過程。
具體地,如圖14所示,方法1400包括: S1410,確定仿射圖像塊的運動向量差異; S1430,確定該仿射圖像塊的運動向量精度; S1450,根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的在水準方向的長度為該仿射運動補償子圖像塊的在水準方向的長度整數倍,且該仿射圖像塊在豎直方向的長度為該仿射運動補償子圖像塊的在豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點; S1470,根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行編碼處理。
具體而言,解碼設備根據確定的控制點,確定仿射圖像塊的運動向量差異,並確定該仿射圖像塊的運動向量精度,根據確定的運動向量差異、運動向量精度和控制點之間的距離以及仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該仿射運動補償子圖像塊的尺寸即為該仿射圖像塊的劃分尺寸;基於該劃分尺寸,所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,然後基於該仿射運動補償子圖像塊對所述仿射圖像塊進行編碼。
因此,幀間預測處理單元通過運行本發明實施例的視訊圖像編碼的方法,利用確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離以及仿射圖像塊的尺寸,確定仿射運動補償子圖像塊的尺寸,根據該仿射運動補償子圖像塊的尺寸將該仿射圖像塊劃分成多個大小一致的仿射運動補償子圖像之後進行編碼處理,由此,在編碼過程中能夠根據上述參數的變化自我調整的選取合適大小的仿射運動補償子圖像塊,降低編碼的複雜度並提高編碼性能即壓縮效率。
優選地, S1410包括: 根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量;和/或 根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量; 其中,該第一控制點與該第二控制點之間具有第一水準距離,該第三控制點與該第四控制點之間具有第一豎直距離。需要說明的是,上述步驟S1410中所包含的方案中的“和/或”具體表示了如下三種不同的技術方案:
方案1:基於三控制點的仿射圖像塊的運動向量差異確定方法;其包括: 根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量,以及,根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量。
方案2:基於水準方向兩控制點的仿射圖像塊的運動向量差異確定方法;其包括:根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量。
方案3:基於豎直方向兩控制點的仿射圖像塊的運動向量差異確定方法:其包括:根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量。
應理解,在本發明實施例中,該運動向量差異的第一分量指該運動向量差異的水準分量,該運動向量差異的第二分量指該運動向量差異的豎直分量,在方案1中,該運動向量差異的第一分量和該運動向量差異的第二分量共同體現仿射圖像塊的運動向量差異,而在方案2及方案3中,該運動向量差異的第一分量及該運動向量差異的第二分量分別獨立的體現仿射圖像塊的運動向量差異。換句話說,即,在方案1種,仿射圖像塊的運動向量差異包括運動向量差異的第一分量和該運動向量差異的第二分量;在方案2中,仿射圖像塊的運動向量差異包括運動向量差異的第一分量;在方案3中,仿射圖像塊的運動向量差異包括運動向量差異的第三分量。還應理解,在本發明實施例中,第一、第二、第三和第四只是為了區分圖元點,而不應該對本發明的保護範圍構成任何限定,例如,第一控制點也可以稱為第二控制點,第二控制點可以成為第一控制點等。
在本發明實施例中,可選地,該第一控制點和該第三控制點為同一個圖元點,也就是說,選取的控制點的個數為3個,並且3個控制點中的一個控制點與其他2個控制點中的一個控制點位於同一水平線上,與其他2個控制點中的另一個控制點位於同一豎直線上。
在本發明實施例中,可選地,該第一控制點、該第二控制點、該第三控制點和該第四控制點為該Affine塊的頂點,假設一個Affine塊的4個頂點分別標記為左上角頂點、左下角頂點、右上角頂點和右下角頂點,則: 在前述方案1中,可以選擇位於兩個正交方向上的任意三個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點、左下角頂點和右上角頂點,可以選擇左上角頂點、右上角頂點和右下角頂點; 在前述方案2中,可以選擇位於同一水平線上的任意兩個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點和右上角頂點,或者選擇左下角頂點和右下角頂點; 在前述方案3中,可以選擇位於同一豎直線上的任意兩個頂點來確定該Affine塊的運動向量差異,例如,可以選擇左上角頂點和左下角頂點,或者選擇右上角頂點和右下角頂點;本發明對此不作限定。
在本發明實施例中,可選地,可以將第一控制點與第二控制點的運動向量的兩個方向(水準方向、豎直方向,或者成為,x方向,y方向)上的分量中任意一個方向上的分量的差值確定為該Affine塊的運動向量差異的第一分量,可以將第三控制點與第四控制點的運動向量的兩個方向上的分量中任意一個方向上的分量的差值確定為該Affine塊的運動向量差異的第二分量,該運動向量差異的確定方式適用於前述的方案1、2、3;還可以根據實際對編碼複雜度和編碼性能的要求,選擇介於第一控制點與第二控制點的運動向量的兩個方向上的分量的兩個差值之間的數值確定為該第一分量,選擇介於第三控制點與第四控制點的運動向量的兩個方向上的分量的兩個差值之間的數值確定為該第二分量,本發明對此不作限定。
通常,第一控制點至第四控制點中的每一個控制點的運動向量均包含有兩分量,即水準分量及豎直分量,因此,前述步驟中,根據位於同一水平線上的第一控制點與第二控制點的運動向量的差值,確定該運動向量差異的第一分量,以及,根據位於同一豎直線上的第三控制點與第四控制點的運動向量的差值,確定該運動向量差異的第二分量,具體可以通過以下的方式來實現: 確定該第一控制點與該第二控制點的運動向量的第一水準分量差值和第一豎直分量差值,將該第一水準分量差值和該第一豎直分量差值中的最大值確定為該運動向量差異的第一分量; 相應的,確定該第三控制點與該第四控制點的運動向量的第二水準分量差值和第二豎直分量差值,將該第二水準分量差值和該第二豎直分量差值中的最大值確定為該運動向量差異的第二分量。
在本發明實施例中,可選地,根據仿射模型來獲得上述的運動向量差值,即通過確定該仿射圖像塊內的圖元點的仿射變換參數來獲取運動向量的差值,需要說明的是,該仿射圖像塊內的圖元點具有相同的仿射變換參數; 相應地,前述步驟中,確定該第一控制點與該第二控制點的運動向量的第一水準分量差值和第一豎直分量差值,具體為:根據該仿射變換參數和該第一水準距離,確定該第一水準分量差值和該第一豎直分量差值;前述步驟中,確定該第三控制點與該第四控制點的運動向量的第二水準分量差值和第二豎直分量差值,具體為:根據該仿射變換參數和該第一豎直距離,確定該第二水準分量差值和該第二豎直分量差值。
應理解,前述各過程的序號的大小並不意味著執行順序的先後,各過程的執行順序應以其功能和內在邏輯確定,而不應對本發明實施例的實施過程構成任何限定。
在本發明實施例中,可選地,仿射變換模型可以採用現有技術中的6參數仿射變換模型,也可以採用4參數或2參數仿射變換模型,6參數仿射變換模型主要應用於前述方案1中的3控制點的場景中,4參數仿射變換模型主要應用於前述方案2及3中的兩控制點的場景中,具體內容請參照本文在介紹解碼方法中的描述。
在本發明實施例中,可選地,可以通過確定該第一控制點的運動向量、該第二控制點的運動向量、該第三控制點的運動向量和該第四控制點的運動向量,從而來確定仿射圖像塊的運動向量差異;
相應地,在前述方案1的場景中,將該第一控制點的運動向量的水準分量與該第二控制點的運動向量的水準分量的差值確定為該第一水準分量差值;將該第一控制點的運動向量的豎直分量和該第二控制點的運動向量的豎直分量的差值,確定為該第一豎直分量差值;將該第三控制點的運動向量的水準分量與該第四控制點的運動向量的水準分量的差值確定為該第二水準分量差值;將該第三控制點的運動向量的豎直分量和該第四控制點的運動向量的豎直分量的差值,確定為該第二豎直分量差值。
在前述方案2的場景中,將該第一控制點的運動向量的水準分量與該第二控制點的運動向量的水準分量的差值確定為該第一水準分量差值;將該第一控制點的運動向量的豎直分量和該第二控制點的運動向量的豎直分量的差值,確定為該第一豎直分量差值。
在前述方案3的場景中,將該第三控制點的運動向量的水準分量與該第四控制點的運動向量的水準分量的差值確定為該第二水準分量差值;將該第三控制點的運動向量的豎直分量和該第四控制點的運動向量的豎直分量的差值,確定為該第二豎直分量差值。
具體而言,可以直接確定出控制點的運動向量,通過將運動向量的各分量分別作差,就可以直接得到Affine塊的運動向量差異的第一分量和第二分量。
在本發明實施例中,可選地,該第一控制點與該第二控制點為相鄰的兩個圖元點,該第三控制點與該第四控制點為相鄰的兩個圖元點,即控制點並不一定選在仿射圖像塊的四個角點,又叫頂點上,而是可以根據編解碼端共同設置的,或者在碼流中以信令的方式明示的,或者根據周邊仿射圖像塊的控制點估計或者是複製得到的位於該仿射圖像塊內任意位置點,在此情況下;確定第一水準、豎直分量差值,以及第二水準、豎直分量差值具體為: 確定第一圖元點的運動向量、第二圖元點的運動向量和第三圖元點的運動向量,該第一圖元點、該第二圖元點和該第三圖元點為互相不重合的圖元點;確定該第一圖元點與該第二圖元點之間的第二水準距離和第二豎直距離;確定該第一圖元點與該第三圖元點之間的第三水準距離和第三豎直距離;根據該第一圖元點的運動向量、該第二圖元點的運動向量、該第三圖元點的運動向量、該第二水準距離、該第二豎直距離、該第三水準距離和該第三豎直距離,確定該第一水準分量差值、該第一豎直分量差值、該第二水準分量差值和該第二豎直分量差值。以上是以前述的方案1的三控制點為例,根據前面的示例可以,當採用前述方案2或方案3中的兩控制點與方案1的三控制點的區別在於,僅取方案1中的第一分量差值或者第二分量差值作為二控制點仿射圖像的運動向量差異。
在本發明實施例中,可選地,編碼設備可以從通過運動估計搜索得到所有控制點的運動向量;可以從周圍圖像塊獲得所有控制點的運動向量;可以根據仿射變換模型計算出所有控制點的運動向量;可以通過運動估計搜索得到部分控制點的運動向量,從鄰近圖像塊獲得其他控制點的運動向量;可以通過仿射運動估計搜索得到部分控制點的運動向量,根據仿射變換模型計算得到其他控制點的運動向量;可以從鄰近圖像塊獲得部分控制點的運動向量,根據仿射變換模型計算出其他控制點的運動向量;但本發明並不限於此。
可選地,在S1430中,可以將第一預設值確定為該仿射圖像塊的運動向量精度;或根據該仿射圖像塊的鄰近圖像塊的特性確定該仿射圖像塊的運動向量精度,該鄰近圖像塊為與該仿射圖像塊在空間上和/或時間上相鄰的圖像塊。
可選地,如圖15所示,S1450具體包括: S1501,根據該運動向量精度與該運動向量差異的第一分量的比例對該第一水準距離進行等比例調整得到該仿射運動補償子圖像塊的水準方向的長度,確定該仿射圖像塊的水準方向的長度是否是該仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
具體地,該運動向量精度與運動向量差異的第一分量的比例為該運動向量精度與運動向量差異的第一分量的比值,該比值與該第一水準距離的乘積則為該仿射運動補償子圖像塊的水準方向的長度,也可以稱之為水準方向的初始長度;可以理解,該仿射運動補償子圖像塊的水準方向的初始長度在某些情況下可能為非整數,此時需要對該初始長度取整,為保證精度,通常是向下取整,即,直接丟棄小部分,例如,初始長度值為8.35 (即,8.35個單位圖元的長度),且直接取8作為仿射運動補償子圖像塊的水準方向的長度;當然,也可以採用四捨五入的取整原則,即小數部分小於5則向下取整,小數部分大於5,則向上取整,例如當計算得出的長度為8.86時,取9作為其長度,為了保證效率,初始長度的最小值應該不小於預設的值,例如不能小於2、4、8 或者2N等預設的值,該預設值通常設置為4,也不應大於仿射變換圖像塊的在水準方向的長度。該水準方向的初始長度或者水準方向的取整後的初始長度是否合適,取決於其是否能夠將仿射圖像塊在水準方向的長度整除,若能整數,則說明仿射圖像塊在水準方向是否能夠以該水準方向的初始長度或者水準方向取整後的初始長度為單位被劃分成整數個子塊。通常其調整方式是採用逐步遞增/遞減該水準方向的初始長度或者水準方向取整後的初始長度的方法,即,若確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍,則對該仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的調整後的長度的整數倍。 其中,上述單位長度通常是一個單位圖元,即,對該仿射運動補償子圖像塊的水準方向的長度做加一/減一的調整,為了不失通用性,也可以說是對該仿射運動補償子圖像塊的豎直方向的長度按照固定的步長做增加/減少的調整,所述的步長為調整值,即,每個迴圈內對仿射運動補償子圖像塊的豎直方向的長度進行基本單位或者幅度;該步長通常為上述的一個單位圖元,也可以是其他的值,如兩個圖元單位等。可選地,上述調整中所採用的步長/調整值也可以根據該仿射運動補償子圖像塊的水準方向的初始長度的奇偶性變化,例如,當仿射運動補償子圖像塊的水準方向的初始長度為奇數,選擇奇數步長,例如,以奇數個單位長度,如一個單位長度為步長進行調整,當仿射運動補償子圖像塊的水準方向的初始長度為偶數時,則選擇偶數步長,例如,偶數個單位長度的步長。
此外,所述調整是增加還是減少可以根據解碼端以及編碼端共同約定來選擇,也可以在編碼端在碼流明示,解碼端參照選擇,也可以通過周邊相鄰的塊運動向量精度值來推導,或者根據仿射圖像塊與該仿射運動補償子圖像塊的水準方向的長度之間的比值關係來確定,例如比值小於閾值則選擇減少,否則選擇增加。
為了簡化演算法,同時兼顧編解碼效率,確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍,則對該仿射運動補償子圖像塊的水準方向的長度做增加一個預設單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的調整後的長度的整數倍。
此外,為了提高效率,節省運算時間,也可以將該仿射運動補償子圖像塊的水準方向的長度朝向最接近整除該仿射圖像塊的水準方向的長度的方向調整,例如,該仿射運動補償子圖像塊的水準方向的長度為7,而仿射圖像塊的水準方向的長度為16,此時,對仿射運動補償子圖像塊的水準方向的長度加1變成8,從而能整除16;同理,該仿射運動補償子圖像塊的水準方向的長度為5,此時,對仿射運動補償子圖像塊的水準方向的長度減1變成4,從而能整除16。若,該仿射運動補償子圖像塊的水準方向的長度距離與鄰近且可整除該仿射圖像塊的水準方向的長度的兩個相鄰的值的距離相等,例如,該仿射運動補償子圖像塊的水準方向的長度為6,仿射圖像塊的水準方向的長度為16,鄰近長度6且可整除16的兩個相鄰的值分別為4和8,此時,可以根據編解碼端的需求選擇朝某一方向調整,例如,如果是要求低延時,此時可以選擇朝增加的方向調整,如果要求高品質,則選擇朝減小的方向調整,對此,本發明不做限制。
此外,上述步驟S1201中的,當確定該仿射圖像塊的水準方向的長度不是該仿射運動補償子圖像塊的水準方向的長度的整數倍時,為了更進一步的簡化演算法,可以在編解碼端分別建立相同的表格,以允許的最小整除數,如,2N為起始值,將仿射圖像塊水準方向的可能的最大長度劃分為多個區間,區間的跨度為2N+i,
Figure 02_image243
, Wmax為仿射圖像塊水準方向的可能的最大長度。確定該仿射運動補償子圖像塊的水準方向的長度所在的區間,以該仿射運動補償子圖像塊的水準方向的長度所在的區間的下限值或者上限值為最終確定的所述仿射運動補償子圖像塊的水準方向的長度。其上下限值的獲取規則可以參照編解碼兩端約定,可以通過碼流明示,或者可以通過四捨五入的方式選擇臨近的區間上限值或者下限值。通過以上的表格,可以採用根據仿射運動補償子圖像塊的水準方向的初始長度採用查表的方式來確定該仿射運動補償子圖像塊的水準方向的最終長度,從而可以替換前述步驟S1501中調整該仿射運動補償子圖像塊的水準方向的長度的步驟降低系統複雜度以及計算時間。
可選地,為了進一步降低該方案的計算複雜度,在步驟S1501中的,除了確定仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的長度的整數倍,還需要確定該仿射運動補償子圖像塊的水準方向的長度是否是便於計算的預定長度S的整數倍,即,確定該仿射運動補償子圖像塊的水準方向的長度是否滿足條件: (1)仿射圖像塊的水準方向的長度是該仿射運動補償子圖像塊的水準方向的長度的整數倍,且(2)該仿射運動補償子圖像塊的水準方向的長度是預定長度S的整數倍; 若不滿足,則調整該仿射運動補償子圖像塊的水準方向的長度以使其滿足上述的條件(1)和條件(2),即,該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,且該仿射運動補償子圖像塊的調整後的水準方向的長度是該預設長度的整數倍。預設長度S通常取4,也可以取8、16、32等數值,或者說S=2n,n為零或者正整數。本方案對於任意形狀的仿射圖像塊均適用,若仿射圖像塊是採用四叉樹(Qual Tree)的規則劃分的情況下,由於上述判斷條件(1)(2)中任一個條件的滿足即可以滿足另外一個條件,因此,僅需要保留一其中一個判定條件即可。
可選地,通過上述方式確定的該仿射運動補償子圖像塊的水準方向的長度需要進行限幅操作,即通過比較的方式使的M位於下限Tm以及上限W之間,Tm為預設值,通常為4,W為仿射圖像塊的在水準方向的長度。
S1503,根據該運動向量精度與該運動向量差異的第二分量的比例對該第一豎直距離進行等比例調整得到該仿射運動補償子圖像塊的豎直方向的長度,確定該仿射圖像塊的豎直方向的長度是否是該仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
具體地,該運動向量精度與運動向量差異的第二分量的比例為該運動向量精度與運動向量差異的第二分量的比值,該比值與該第一豎直距離乘積則為該仿射運動補償子圖像塊的豎直方向的長度,也可以稱之為豎直方向的初始長度;可以理解,該仿射運動補償子圖像塊的豎直方向的初始長度在某些情況下可能為非整數,此時需要對該初始長度取整,為保證精度,通常是向下取整,即,直接丟棄小部分,例如,初始長度值為8.35 (即,8.35個單位圖元的長度),且直接取8作為仿射運動補償子圖像塊的豎直方向的長度;當然,也可以採用四捨五入的取整原則,即小數部分小於5則向下取整,小數部分大於5,則向上取整,例如當計算得出的長度為8.86時,取9作為其長度,為了保證效率,初始長度的最小值應該不小於預設的值,例如不能小於2、4、8 或者2N等預設的值,該預設值通常設置為4,也不應大於仿射變換圖像塊的在豎直方向的長度。該豎直方向的初始長度或者豎直方向的取整後的初始長度是否合適,取決於其是否能夠將仿射圖像塊在豎直方向的長度整除,若能整數,則說明仿射圖像塊在豎直方向是否能夠以該豎直方向的初始長度或者豎直方向取整後的初始長度為單位被劃分成整數個子塊。通常其調整方式是採用逐步遞增/遞減該豎直方向的初始長度或者豎直方向取整後的初始長度的方法,即,若確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,則對該仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的調整後的長度的整數倍。 其中,上述單位長度通常是一個單位圖元,即,對該仿射運動補償子圖像塊的豎直方向的長度做加一/減一的調整,為了不失通用性,也可以說是對該仿射運動補償子圖像塊的豎直方向的長度按照固定的步長做增加/減少的調整,所述的步長為調整值,即,每個迴圈內對仿射運動補償子圖像塊的豎直方向的長度進行基本單位或者幅度;該步長通常為上述的一個單位圖元,也可以是其他的值,如兩個圖元單位等。可選地,上述調整中所採用的步長/調整值也可以根據該仿射運動補償子圖像塊的豎直方向的初始長度的奇偶性變化,例如,當仿射運動補償子圖像塊的豎直方向的初始長度為奇數,選擇奇數步長,例如,以奇數個單位長度,如一個單位長度為步長進行調整,當仿射運動補償子圖像塊的豎直方向的初始長度為偶數時,則選擇偶數步長,例如,偶數個單位長度的步長。
此外,所述調整是增加還是減少可以根據解碼端以及編碼端共同約定來選擇,也可以由編碼端在碼流明示,解碼端參照選擇,也可以通過周邊相鄰的塊運動向量精度值來推導,或者根據仿射圖像塊與該仿射運動補償子圖像塊的豎直方向的長度之間的比值關係來確定,例如比值小於閾值則選擇減少,否則選擇增加。
為了簡化演算法,同時兼顧編解碼效率,確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,則對該仿射運動補償子圖像塊的豎直方向的長度做增加一個預設單位長度的調整,接著迴圈執行上述的方案直至該仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的調整後的長度的整數倍。
此外,為了提高效率,節省運算時間,也可以將該仿射運動補償子圖像塊的豎直方向的長度朝向最接近整除該仿射圖像塊的豎直方向的長度的方向調整,例如,該仿射運動補償子圖像塊的豎直方向的長度為7,而仿射圖像塊的豎直方向的長度為16,此時,對仿射運動補償子圖像塊的豎直方向的長度加1變成8,從而能整除16;同理,該仿射運動補償子圖像塊的豎直方向的長度為5,此時,對仿射運動補償子圖像塊的豎直方向的長度減1變成4,從而能整除16。若,該仿射運動補償子圖像塊的豎直方向的長度距離與鄰近且可整除該仿射圖像塊的豎直方向的長度的兩個相鄰的值的距離相等,例如,該仿射運動補償子圖像塊的豎直方向的長度為6,仿射圖像塊的豎直方向的長度為16,鄰近長度6且可整除16的兩個相鄰的值分別為4和8,此時,可以根據編解碼端的需求選擇朝某一方向調整,例如,如果是要求低延時,此時可以選擇朝增加的方向調整,如果要求高品質,則選擇朝減小的方向調整,對此,本發明不做限制。
此外,上述步驟S1503中的,當確定該仿射圖像塊的豎直方向的長度不是該仿射運動補償子圖像塊的豎直方向的長度的整數倍時,為了更進一步的簡化演算法,可以在編解碼端分別建立相同的表格,以允許的最小整除數,如,2N為起始值,將仿射圖像塊豎直方向的可能的最大長度劃分為多個區間,區間的跨度為2N+i,
Figure 02_image291
, Wmax為仿射圖像塊豎直方向的可能的最大長度。確定該仿射運動補償子圖像塊的豎直方向的長度所在的區間,以該仿射運動補償子圖像塊的豎直方向的長度所在的區間的下限值或者上限值為最終確定的所述仿射運動補償子圖像塊的豎直方向的長度。其上下限值的獲取規則可以參照編解碼兩端約定,可以通過碼流明示,或者可以通過四捨五入的方式選擇臨近的區間上限值或者下限值。通過以上的表格,可以採用根據仿射運動補償子圖像塊的豎直方向的初始長度採用查表的方式來確定該仿射運動補償子圖像塊的豎直方向的最終長度,從而可以替換前述步驟S1503中調整該仿射運動補償子圖像塊的豎直方向的長度的步驟降低系統複雜度以及計算時間。
可選地,為了進一步降低該方案的計算複雜度,在步驟S1503中的,除了確定,仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,還需要確定該仿射運動補償子圖像塊的豎直方向的長度是否是便於計算的預定長度S的整數倍,即,確定該仿射運動補償子圖像塊的豎直方向的長度是否滿足條件: (1)仿射圖像塊的豎直方向的長度是該仿射運動補償子圖像塊的豎直方向的長度的整數倍,且(2)該仿射運動補償子圖像塊的豎直方向的長度是預定長度S的整數倍; 若不滿足,則調整該仿射運動補償子圖像塊的豎直方向的長度以使其滿足上述的條件(1)和條件(2),即,該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,且該仿射運動補償子圖像塊的調整後的豎直方向的長度是該預設長度的整數倍。預設長度S通常取4,也可以取8、16、32等數值,或者說S=2n,n為零或者正整數。本方案對於任意形狀的仿射圖像塊均適用,若仿射圖像塊是採用四叉樹(Qual Tree)的規則劃分的情況下,由於上述判斷條件(1)(2)中任一個條件的滿足即可以滿足另外一個條件,因此,僅需要保留一其中一個判定條件即可。
可選地,通過上述方式確定的該仿射運動補償子圖像塊的豎直方向的長度需要進行限幅操作,即通過比較的方式使的M位於下限Tm以及上限W之間,Tm為預設值,通常為4,W為仿射圖像塊的在豎直方向的長度。
上述確定以及調整仿射運動補償子圖像塊的尺寸的具體實現方式請參照本文中對解碼方法中的具體描述。
因此,本發明實施例的視訊圖像編碼的方法,編碼設備通過確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離,確定仿射運動補償子圖像塊的尺寸,並根據仿射圖像塊尺寸與仿射運動補償子圖像塊的尺寸關係來進一步調整使得仿射運動補償子圖像塊的尺寸更便於實現,同時降低複雜度。通過實驗驗證,本發明可以使得編碼端複雜度降低50%,解碼端複雜度降低70%,同時保持了90~95%的性能,這可以使得基於Affine模型的運動補償預測技術可以有效地投入到實際應用中。
可選地,如圖16所示,S1470包括: S1601,確定該仿射運動補償子圖像塊中每個仿射運動補償子圖像塊的運動向量; S1603,根據該每個仿射運動補償子圖像塊的運動向量,確定該每個仿射運動補償子圖像塊的運動補償預測訊號; S1605,根據該每個仿射運動補償子圖像塊的運動補償預測訊號對該每個仿射運動補償子圖像塊進行編碼。
應理解,在本發明實施例中,每個Affine-MC塊可能包含多個圖元點,需要從每個Affine-MC中選取一個圖元點的運動向量作為該Affine-MC塊的運動向量。
可選地,在S1601中,可以選取Affine-MC塊的中心位置處的圖元點的運動向量作為該Affine-MC塊的運動向量,可以將Affine-MC塊內所有圖元點的運動向量的平均值作為該Affine-MC塊的運動向量,可以選取位於Affine-MC塊的左上角的圖元點的運動向量作為該Affine-MC塊的運動向量,但本發明並不限於此。
在本發明實施例中,可選地,對該每個仿射運動補償子圖像塊的邊界圖元點的訊號進行濾波,該邊界圖元點為位於每個仿射運動補償子圖像塊的邊界的一行或多行圖元點。
在本發明實施例中,可選地,該邊界圖元點的訊號包括運動補償預測訊號和/或重建訊號,該重建訊號為運動補償預測訊號與重建的殘差訊號之和。
重建訊號一般是將運動補償預測訊號與重建的殘差訊號相加而得到。殘差訊號一般使用有損編碼,這會導致重建的殘差訊號與原始的殘差訊號之間存在失真。相鄰Affine-MC塊的邊界處的圖元的失真方向可能不一致,例如第一個Affine-MC塊右邊的圖元由於失真變大,右邊相鄰的Affine-MC塊左邊的圖元由於失真變小,這會導致在Affine-MC塊的重建圖元的邊界處圖元值不連續,影響主觀和客觀的效果。因此需要對重建訊號進行濾波。
在本發明實施例中,可選地,可以通過低通濾波器進行濾波,使得邊界區域的圖元值變化的更平緩,例如使用高斯濾波器進行濾波,但本發明並不限於此。
在本發明實施例中,可選地,可以採用重疊分塊運動補償(Overlapped block motion compensation,簡稱為“OBMC”方法進行濾波。對待濾波的圖元使用其鄰近的Affine-MC塊的運動向量做運動補償預測,將獲得的運動補償預測訊號與使用待濾波圖元自己的運動向量獲得的運動補償預測訊號進行加權平均,得到最終的運動補償預測訊號。
本發明實施例的視訊圖像解碼的方法,解碼設備通過確定的仿射圖像塊的運動向量差異、運動向量精度和控制點之間的距離,確定仿射運動補償子圖像塊的尺寸,並根據仿射圖像塊尺寸與仿射運動補償子圖像塊的尺寸關係來進一步調整使得仿射運動補償子圖像塊的尺寸更便於實現,同時降低複雜度。通過實驗驗證,本發明可以使得編碼端複雜度降低50%,解碼端複雜度降低70%,同時保持了90~95%的性能,這可以使得基於Affine模型的運動補償預測技術可以有效地投入到實際應用中。
下面將結合圖17介紹用於實施本發明的解碼裝置1700,該解碼裝置1700包括: 運動向量差異確定模組1710,用於確定仿射圖像塊的運動向量差異; 運動向量精度確定模組1730,用於確定該仿射圖像塊的運動向量精度; 子圖像塊尺寸確定模組1750,用於根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;以及, 解碼模組1770,用於根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行解碼處理。
具體而言,解碼裝置根據確定的控制點,確定仿射圖像塊的運動向量差異,並確定該仿射圖像塊的運動向量精度,根據確定的運動向量差異、運動向量精度、控制點之間的距離以及仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該仿射運動補償子圖像塊的尺寸即為該仿射圖像塊的劃分尺寸;基於該劃分尺寸,所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,然後基於該仿射運動補償子圖像塊對所述仿射圖像塊進行解碼。該解碼裝置中的各個模組為實現本發明解碼方法中所包含的各種執行步驟的功能主體,即具備實現完整實現本發明解碼方法中各個方法步驟,如S710至S740中的各個步驟以及這些步驟的擴展及變形的功能主體,具體請參見本文中對解碼方法的介紹,為簡潔起見,本文將不再贅述。
下面將結合圖18詳細描述本發明實施例的編碼裝置,該編碼裝置1800包括: 運動向量差異確定模組1810,用於確定仿射圖像塊的運動向量差異; 運動向量精度確定模組1830,用於確定該仿射圖像塊的運動向量精度; 子圖像塊尺寸確定模組1850,用於根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的在水準方向的長度為該仿射運動補償子圖像塊的在水準方向的長度整數倍,且該仿射圖像塊在豎直方向的長度為該仿射運動補償子圖像塊的在豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點; 編碼模組1870,用於根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行編碼處理。
具體而言,編碼裝置根據確定的控制點,確定仿射圖像塊的運動向量差異,並確定該仿射圖像塊的運動向量精度,根據確定的運動向量差異、運動向量精度、控制點之間的距離以及仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該仿射運動補償子圖像塊的尺寸即為該仿射圖像塊的劃分尺寸;基於該劃分尺寸,所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,然後基於該仿射運動補償子圖像塊對所述仿射圖像塊進行編碼。該編碼裝置中的各個模組為實現本發明解碼方法中所包含的各種執行步驟的功能主體,即具備實現完整實現本發明解碼方法中各個方法步驟,如S1410至S1470中的各個步驟以及這些步驟的擴展及變形的功能主體,具體請參見本文中對解碼方法的介紹,為簡潔起見,本文將不再贅述。
如圖19所示,本發明實施例還提供了一種解碼設備1900,包括處理器1910、記憶體1930和匯流排系統1950。其中,處理器和記憶體通過匯流排系統相連,該記憶體用於存儲指令,該處理器用於執行該記憶體存儲的指令。編碼設備的記憶體存儲程式碼,且處理器可以調用記憶體中存儲的程式碼執行本發明解碼方法700中的所有步驟以及其擴展,即,從圖7至圖13中所描述的所有方法。
例如,所述處理器可以調用記憶體中存儲的程式碼完整的執行本發明解碼方法中的操作: 確定仿射圖像塊的運動向量差異; 確定該仿射圖像塊的運動向量精度; 根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的水準方向的長度的整數倍,且該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;以及 根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行解碼處理。
在該解碼過程,由於能夠選取合適大小的子圖像塊,並通過對子圖像塊的尺寸進行調整使得所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,從而降低解碼的複雜度,提高解碼性能。
應理解,在本發明實施例中,該處理器1910可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該處理器1910還可以是其他通用處理器、數位訊號處理器(DSP)、專用積體電路(ASIC)、現成可程式設計閘陣列(FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該記憶體1930可以包括唯讀記憶體和隨機存取記憶體,並向處理器1910提供指令和資料。記憶體32的一部分還可以包括非易失性隨機存取記憶體。例如,記憶體1930還可以存放裝置類型的資訊。
該匯流排系統1950除包括資料匯流排之外,還可以包括電源匯流排、控制匯流排和狀態訊號匯流排等。但是為了清楚說明起見,在圖中將各種匯流排都標為匯流排系統1950。
在實現過程中,上述方法的各步驟可以通過處理器1910中的硬體的集成邏輯電路或者軟體形式的指令完成。結合本發明實施例所公開的方法的步驟可以直接體現為硬體處理器執行完成,或者用處理器中的硬體及軟體模組組合執行完成。軟體模組可以位於隨機記憶體,快閃記憶體、唯讀記憶體,可程式設計唯讀記憶體或者電可讀寫可程式設計記憶體、寄存器等本領域成熟的存儲介質中。該存儲介質位於記憶體1930,處理器1910讀取記憶體1930中的資訊,結合其硬體完成上述方法的步驟。
如圖20所示,本發明實施例還提供了一種編碼設備2000,包括處理器2010、記憶體2030和匯流排系統2050。其中,處理器2010和記憶體2030通過匯流排系統2050相連,該記憶體2030用於存儲指令,該處理器2010用於執行該記憶體2030存儲的指令。編碼設備2000的記憶體2030存儲程式碼,且處理器2010可以調用記憶體2030中存儲的程式碼執用於執行本發明解碼方法1400中的所有步驟以及其擴展,即,從圖14至圖16中所反映的所有方法步驟。例如,處理器2010可以調用記憶體2030中存儲的程式碼執用於: 確定仿射圖像塊的運動向量差異; 確定該仿射圖像塊的運動向量精度; 根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸,該尺寸包括水準方向的長度,以及豎直方向的長度,以使該仿射圖像塊的在水準方向的長度為該仿射運動補償子圖像塊的在水準方向的長度整數倍,且該仿射圖像塊在豎直方向的長度為該仿射運動補償子圖像塊的在豎直方向的長度的整數倍,其中,該控制點為用於確定該運動向量差異的圖元點;以及 根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行編碼處理。
在該編碼過程,由於能夠選取合適大小的子圖像塊,並通過對子圖像塊的尺寸進行調整使得所述仿射圖像塊被劃分為多個具有相同尺寸的仿射運動補償子圖像塊,從而降低編碼的複雜度,提高編碼性能。
應理解,在本發明實施例中,該處理器2010可以是中央處理單元(Central Processing Unit,簡稱為“CPU”),該處理器2010還可以是其他通用處理器、數位訊號處理器(DSP)、專用積體電路(ASIC)、現成可程式設計閘陣列(FPGA)或者其他可程式設計邏輯器件、分立門或者電晶體邏輯器件、分立硬體元件等。通用處理器可以是微處理器或者該處理器也可以是任何常規的處理器等。
該記憶體2030可以包括唯讀記憶體和隨機存取記憶體,並向處理器2010提供指令和資料。記憶體2030的一部分還可以包括非易失性隨機存取記憶體。例如,記憶體2030還可以存放裝置類型的資訊。
該匯流排系統2050除包括資料匯流排之外,還可以包括電源匯流排、控制匯流排和狀態訊號匯流排等。但是為了清楚說明起見,在圖中將各種匯流排都標為匯流排系統2050。
在實現過程中,上述方法的各步驟可以通過處理器2010中的硬體的集成邏輯電路或者軟體形式的指令完成。結合本發明實施例所公開的方法的步驟可以直接體現為硬體處理器執行完成,或者用處理器中的硬體及軟體模組組合執行完成。軟體模組可以位於隨機記憶體,快閃記憶體、唯讀記憶體,可程式設計唯讀記憶體或者電可讀寫可程式設計記憶體、寄存器等本領域成熟的存儲介質中。該存儲介質位於記憶體2030,處理器2010讀取記憶體2030中的資訊,結合其硬體完成上述方法的步驟。為避免重複,這裡不再詳細描述。
Figure 02_image003
Figure 02_image011
‧‧‧圖像塊60‧‧‧視訊解碼器650‧‧‧熵解碼單元652‧‧‧預測處理單元654‧‧‧逆量化單元656‧‧‧逆變換處理單元658‧‧‧重建單元659‧‧‧濾波器單元660‧‧‧解碼圖像緩衝器662‧‧‧運動補償單元664‧‧‧幀內預測處理單元666‧‧‧規則CABAC編解碼引擎668‧‧‧旁通編解碼引擎700‧‧‧方法S710‧‧‧確定仿射圖像塊的運動向量差異;S720‧‧‧確定該仿射圖像塊的運動向量精度;S730‧‧‧根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸;S740‧‧‧根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行解碼處理。S1201‧‧‧根據該運動向量精度與該運動向量差異的第一分量的比例對該第一水準距離進行等比例調整得到該仿射運動補償子圖像塊的水準方向的長度,確定該仿射圖像塊的水準方向的長度是否是該仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。S1203‧‧‧根據該運動向量精度與該運動向量差異的第二分量的比例對該第一豎直距離進行等比例調整得到該仿射運動補償子圖像塊的豎直方向的長度,確定該仿射圖像塊的豎直方向的長度是否是該仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的豎直方向的長度以使該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。S1301‧‧‧確定該仿射運動補償子圖像塊中每個仿射運動補償子圖像塊的運動向量;S1303‧‧‧根據該每個仿射運動補償子圖像塊的運動向量,確定該每個仿射運動補償子圖像塊的運動補償預測訊號;S1305‧‧‧根據該每個仿射運動補償子圖像塊的運動補償預測訊號對該每個仿射運動補償子圖像塊進行解碼。1400‧‧‧方法S1410‧‧‧確定仿射圖像塊的運動向量差異;S1430‧‧‧確定該仿射圖像塊的運動向量精度;S1450‧‧‧根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸;S1470‧‧‧根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行編碼處理。S1501‧‧‧根據該運動向量精度與該運動向量差異的第一分量的比例對該第一水準距離進行等比例調整得到該仿射運動補償子圖像塊的水準方向的長度,確定該仿射圖像塊的水準方向的長度是否是該仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的水準方向的長度為該仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。S1503‧‧‧根據該運動向量精度與該運動向量差異的第二分量的比例對該第一豎直距離進行等比例調整得到該仿射運動補償子圖像塊的豎直方向的長度,確定該仿射圖像塊的豎直方向的長度是否是該仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整該仿射運動補償子圖像塊的水準方向的長度以使該仿射圖像塊的豎直方向的長度為該仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。S1601‧‧‧確定該仿射運動補償子圖像塊中每個仿射運動補償子圖像塊的運動向量;S1603‧‧‧根據該每個仿射運動補償子圖像塊的運動向量,確定該每個仿射運動補償子圖像塊的運動補償預測訊號;S1605‧‧‧根據該每個仿射運動補償子圖像塊的運動補償預測訊號對該每個仿射運動補償子圖像塊進行編碼。1700‧‧‧解碼裝置1710‧‧‧運動向量差異確定模組1730‧‧‧運動向量精度確定模組1750‧‧‧子圖像塊尺寸確定模組1770‧‧‧解碼模組1800‧‧‧編碼裝置1810‧‧‧運動向量差異確定模組1830‧‧‧運動向量精度確定模組1850‧‧‧子圖像塊尺寸確定模組1870‧‧‧編碼模組1900‧‧‧解碼設備1910‧‧‧處理器1930‧‧‧記憶體1950‧‧‧匯流排系統2000‧‧‧編碼設備2010‧‧‧處理器2030‧‧‧記憶體2050‧‧‧匯流排系統
為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1是為視訊圖像編碼過程中的圖像塊示意圖; 圖2是為視訊圖像編碼的基本流程示意圖; 圖3是為視訊圖像編碼過程中圖像塊的劃分以及圖像塊與運動向量的關係示意圖; 圖4是採用雙線性插值獲取圖像塊的運動向量場的示意圖; 圖5是採用仿射變換模型獲取圖像塊的運動向量場的示意圖; 圖6是實施本發明實施例提供的解碼方法的視訊解碼器的框架示意圖; 圖7是根據本發明實施例的視訊圖像解碼方法的示意性流程圖; 圖8是根據本發明實施例的仿射圖像塊及控制點的示意圖; 圖9是根據本發明實施例的仿射圖像塊及控制點的另一示意圖; 圖10是根據本發明實施例的仿射圖像塊中三個不重合圖元點的示意圖; 圖11是根據本發明實施例的仿射圖像塊的再一示意圖; 圖12是根據本發明實施例的視訊圖像解碼方法的另一示意性流程圖; 圖13是根據本發明實施例的視訊圖像解碼方法的再一示意性流程圖; 圖14是根據本發明實施例的視訊圖像編碼方法的示意性流程圖; 圖15是根據本發明實施例的視訊圖像編碼方法的另一示意性流程圖; 圖16是根據本發明實施例的視訊圖像編碼的方法的再一示意性流程圖; 圖17是根據本發明實施例的解碼裝置的示意性框圖; 圖18是根據本發明實施例的編碼裝置的示意性框圖; 圖19是根據本發明實施例的解碼設備的示意性框圖; 圖20是根據本發明實施例的編碼設備的示意性框圖。
700‧‧‧方法
S710‧‧‧確定仿射圖像塊的運動向量差異
S720‧‧‧確定該仿射圖像塊的運動向量精度
S730‧‧‧根據該運動向量差異、該運動向量精度、該仿射圖像塊中的控制點之間的距離以及該仿射圖像塊的尺寸,確定該仿射圖像塊內的仿射運動補償子圖像塊的尺寸
S740‧‧‧根據該仿射運動補償子圖像塊的尺寸,對該述仿射圖像塊進行解碼處理

Claims (38)

  1. 一種視訊圖像解碼的方法,其中,包括:確定一仿射圖像塊的一運動向量差異;確定所述仿射圖像塊的一運動向量精度;根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的一仿射運動補償子圖像塊的尺寸,所述仿射運動補償子圖像塊的尺寸包括一水準方向的長度,以及一豎直方向的長度,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,所述控制點為用於確定所述運動向量差異的一圖元點;根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行一解碼處理。
  2. 如申請專利範圍第1項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括: 根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度及豎直方向的長度,其中,所述仿射運動補償子圖像塊的水準方向和豎直方向的長度均為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  3. 如申請專利範圍第1項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍: 根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行一等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度和水準方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向和水準方向的長度均為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
  4. 如申請專利範圍第1項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括: 根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度,其中,所述仿射運動補償子圖像塊的水準方向的長度為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行所述等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向的長度為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  5. 如申請專利範圍第2至4項任意一項所述的方法,其中,所述調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍包括: 對所述仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  6. 如申請專利範圍第2至4項任意一項所述的方法,其中,所述調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍包括:對所述仿射圖像塊的水準方向的長度朝最接近整除所述仿射圖像塊的水準方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整; 確定所述仿射圖像塊的水準方向長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射圖像塊的豎直方向的長度朝最接近整除所述仿射圖像塊的豎直方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  7. 如申請專利範圍第2至4項任意一項所述的方法,其中,所述方法還包括:確定所述仿射運動補償子圖像塊的調整後的水準方向的長度是否為一預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的水準方向的長度做增加/減少一個或者多個單位長度的一二次調整,直至所述仿射運動補償子圖像塊的二次調整後的水準方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數; 確定所述仿射運動補償子圖像塊的調整後的豎直方向的長度是否為所述預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的豎直方向的長度做增加/減少一個或者多個單位長度的二次調整,直至所述仿射運動補償子圖像塊的二次調整後的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  8. 如申請專利範圍第1項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括:根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸在一預設的尺寸表中通過查表確定所述仿射圖像塊內的所述仿射運動補償子圖像塊的尺寸,所述預設的尺寸表存儲有依據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離及所述仿射圖像塊的尺寸預先確定的仿射運動補償子圖像塊的尺寸,所述預先確定的仿射運動補償子圖像塊的尺寸滿足,所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準 方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍。
  9. 如申請專利範圍第8項所述的方法,其中,所述預先確定的仿射運動補償子圖像塊的尺寸還滿足,所述仿射運動補償子圖像塊的水準方向的長度為一預定長度S的整數倍,且所述仿射運動補償子圖像塊的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  10. 一種視訊圖像編碼的方法,其中,包括:確定一仿射圖像塊的一運動向量差異;確定所述仿射圖像塊的一運動向量精度;根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的一仿射運動補償子圖像塊的尺寸,所述仿射運動補償子圖像塊的尺寸包括一水準方向的長度,以及一豎直方向的長度,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,所述控制點為用於確定所述運動向量差異的一圖元點;根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行一編碼處理。
  11. 如申請專利範圍第10項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度及豎直方向的長度,其中,所述仿射運動補償子圖像塊的水準方向及豎直方向的長度均為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  12. 如申請專利範圍第10項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍包括:根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行一等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度和水準方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向和水準方向的長度均為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
  13. 如申請專利範圍第10項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度,其中,所述仿射運動補償子圖像塊的水準方向的長度為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行所述等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向的長度為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿 射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  14. 如申請專利範圍第11至13項任意一項所述的方法,其中,所述調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍包括:對所述仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複 所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  15. 如申請專利範圍第11至13項任意一項所述的方法,其中,所述調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍包括:對所述仿射圖像塊的水準方向的長度朝最接近整除所述仿射圖像塊的水準方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射圖像塊的豎直方向的長度朝最接近整除所述仿射圖像塊的豎直方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複 所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  16. 如申請專利範圍第11至13項任意一項所述的方法,其中,所述方法還包括:確定所述仿射運動補償子圖像塊的調整後的水準方向的長度是否為一預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的水準方向的長度做增加/減少一個或者多個單位長度的一二次調整,直至所述仿射運動補償子圖像塊的二次調整後的水準方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數;確定所述仿射運動補償子圖像塊的調整後的豎直方向的長度是否為所述預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的豎直方向的長度做增加/減少一個或者多個單位長度的二次調整,直至所述仿射運動補償子圖像塊的二次調整後的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  17. 如申請專利範圍第10項所述的方法,其中,所述根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的 整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,包括:根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸在一預設的尺寸表中通過查表確定所述仿射圖像塊內的所述仿射運動補償子圖像塊的尺寸,所述預設的尺寸表存儲有依據運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離及所述仿射圖像塊的尺寸預先確定的仿射運動補償子圖像塊的尺寸,所述預先確定的仿射運動補償子圖像塊的尺寸能夠滿足,所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍。
  18. 如申請專利範圍第17項所述的方法,其中,所述預先確定的仿射運動補償子圖像塊的尺寸還滿足,所述仿射運動補償子圖像塊的水準方向的長度為一預定長度S的整數倍,且所述仿射運動補償子圖像塊的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  19. 一種視訊圖像解碼的裝置,其中,包括:一運動向量差異確定模組,用於確定一仿射圖像塊的一運動向量差異;一運動向量精度確定模組,用於確定所述仿射圖像塊的一運動向量精度; 一子圖像塊尺寸確定模組,用於根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的一仿射運動補償子圖像塊的尺寸,所述仿射運動補償子圖像塊的尺寸包括一水準方向的長度,以一及豎直方向的長度,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,所述控制點為用於確定所述運動向量差異的一圖元點;一解碼模組,用於根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行一解碼處理。
  20. 如申請專利範圍第19項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度及豎直方向的長度,其中,所述仿射運動補償子圖像塊的水準方向和豎直方向的長度均為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍; 確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  21. 如申請專利範圍第19項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行一等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度和水準方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向和水準方向的長度均為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
  22. 如申請專利範圍第19項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度,其中,所述仿射運動補償子圖像塊的水準方向的長度為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行所述等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向的長度為所述整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  23. 如申請專利範圍第20至22項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於: 對所述仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;對所述仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  24. 如申請專利範圍第20至22項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於:對所述仿射圖像塊的水準方向的長度朝最接近整除所述仿射圖像塊的水準方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍; 所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射圖像塊的豎直方向的長度朝最接近整除所述仿射圖像塊的豎直方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  25. 如申請專利範圍第20至22項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於:確定所述仿射運動補償子圖像塊的調整後的水準方向的長度是否為一預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的水準方向的長度做增加/減少一個或者多個單位長度的一二次調整,直至所述仿射運動補償子圖像塊的二次調整後的水準方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數;確定所述仿射運動補償子圖像塊的調整後的豎直方向的長度是否為所述預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的豎直方向的長度做增加/減少一個或者多個單位長度的二次調整,直至所述仿 射運動補償子圖像塊的二次調整後的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  26. 如申請專利範圍第19項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸在一預設的尺寸表中通過查表確定所述仿射圖像塊內的所述仿射運動補償子圖像塊的尺寸,所述預設的尺寸表存儲有依據運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離及所述仿射圖像塊的尺寸預先確定的仿射運動補償子圖像塊的尺寸,所述預先確定的仿射運動補償子圖像塊的尺寸能夠滿足,所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍。
  27. 如申請專利範圍第26項所述的裝置,其中,所述預先確定的仿射運動補償子圖像塊的尺寸還滿足,所述仿射運動補償子圖像塊的水準方向的長度為一預定長度S的整數倍,且所述仿射運動補償子圖像塊的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  28. 一種視訊圖像編碼裝置,其中,包括:一運動向量差異確定模組,用於確定一仿射圖像塊的一運動向量差異; 一運動向量精度確定模組,用於確定所述仿射圖像塊的一運動向量精度;一子圖像塊尺寸確定模組,用於根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸,確定所述仿射圖像塊內的仿射運動補償子圖像塊的尺寸,所述仿射運動補償子圖像塊的尺寸包括一水準方向的長度,以及一豎直方向的長度,以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,其中,所述控制點為用於確定所述運動向量差異的一圖元點;一編碼模組,用於根據所述仿射運動補償子圖像塊的尺寸,對所述仿射圖像塊進行一編碼處理。
  29. 如申請專利範圍第28項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度及豎直方向的長度,其中,所述仿射運動補償子圖像塊的水準方向和豎直方向的長度均為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水 準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  30. 如申請專利範圍第28項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行一等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度和水準方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向和水準方向的長度均為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水 準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍。
  31. 如申請專利範圍第28項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量精度與所述運動向量差異的一第一分量的比例對一第一水準距離進行一等比例調整得到所述仿射運動補償子圖像塊的水準方向的長度,其中,所述仿射運動補償子圖像塊的水準方向的長度為一整數;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的水準方向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的水準方向的長度以使所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;根據所述運動向量精度與所述運動向量差異的一第二分量的比例對一第一豎直距離進行所述等比例調整得到所述仿射運動補償子圖像塊的豎直方向的長度,其中,所述仿射運動補償子圖像塊的豎直方向的長度為一整數;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的豎直向的長度的整數倍,若否,則調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  32. 如申請專利範圍第29至31項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於:對所述仿射運動補償子圖像塊的水準方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向的長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;對所述仿射運動補償子圖像塊的豎直方向的長度做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  33. 如申請專利範圍第29至31項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於:對所述仿射圖像塊的水準方向的長度朝最接近整除所述仿射圖像塊的水準方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的水準方向長度是否是所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍,若否,重複所 述調整及確定步驟直至所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的調整後的水準方向的長度的整數倍;所述調整所述仿射運動補償子圖像塊的豎直方向的長度以使所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍包括:對所述仿射圖像塊的豎直方向的長度朝最接近整除所述仿射圖像塊的豎直方向的長度的數值的方向做增加/減少一個或者多個單位長度的調整;確定所述仿射圖像塊的豎直方向的長度是否是所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍,若否,重複所述調整及確定步驟直至所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的調整後的豎直方向的長度的整數倍。
  34. 如申請專利範圍第29至31項任意一項所述的裝置,其中,所述子圖像尺寸確定模組進一步用於:確定所述仿射運動補償子圖像塊的調整後的水準方向的長度是否為一預定長度S的整數倍;若否,對所述仿射運動補償子圖像塊的調整後的水準方向的長度做增加/減少一個或者多個單位長度的一二次調整,直至所述仿射運動補償子圖像塊的二次調整後的水準方向的長度為所述預定長度S的整數倍;S等於2n,n為零或者正整數;確定所述仿射運動補償子圖像塊的調整後的豎直方向的長度是否為所述預定長度S的整數倍; 若否,對所述仿射運動補償子圖像塊的調整後的豎直方向的長度做增加/減少一個或者多個單位長度的二次調整,直至所述仿射運動補償子圖像塊的二次調整後的豎直方向的長度為所述預定長度S的整數倍。
  35. 如申請專利範圍第28項所述的裝置,其中,所述子圖像尺寸確定模組用於:根據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離以及所述仿射圖像塊的尺寸在一預設的尺寸表中通過查表確定所述仿射圖像塊內的所述仿射運動補償子圖像塊的尺寸,所述預設的尺寸表存儲有依據所述運動向量差異、所述運動向量精度、所述仿射圖像塊中的控制點之間的距離及所述仿射圖像塊的尺寸預先確定的仿射運動補償子圖像塊的尺寸,所述預先確定的仿射運動補償子圖像塊的尺寸能夠滿足,所述仿射圖像塊的水準方向的長度為所述仿射運動補償子圖像塊的水準方向的長度的整數倍,且所述仿射圖像塊的豎直方向的長度為所述仿射運動補償子圖像塊的豎直方向的長度的整數倍。
  36. 如申請專利範圍第35項所述的裝置,其中,所述預先確定的仿射運動補償子圖像塊的尺寸還滿足,所述仿射運動補償子圖像塊的水準方向的長度為一預定長度S的整數倍,且所述仿射運動補償子圖像塊的豎直方向的長度為所述預定長度S的整數倍,S等於2n,n為零或者正整數。
  37. 一種解碼設備,其包括一處理器以及一非易失性記憶體,所述處理器調用存儲在所述記憶體中的一程式碼以實現如申請專利範圍第1至9項任意一項所述的解碼方法。
  38. 一種編碼設備,其包括一處理器以及一非易失性記憶體,所述處理器調用存儲在所述記憶體中的一程式碼以實現如申請專利範圍第10至18項任意一項所述的編碼方法。
TW107128135A 2017-08-11 2018-08-13 視訊圖像編碼和解碼的方法、裝置及設備 TWI692247B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710687117.5A CN109391814B (zh) 2017-08-11 2017-08-11 视频图像编码和解码的方法、装置及设备
CN201710687117.5 2017-08-11
??201710687117.5 2017-08-11

Publications (2)

Publication Number Publication Date
TW201919402A TW201919402A (zh) 2019-05-16
TWI692247B true TWI692247B (zh) 2020-04-21

Family

ID=65270850

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107128135A TWI692247B (zh) 2017-08-11 2018-08-13 視訊圖像編碼和解碼的方法、裝置及設備

Country Status (13)

Country Link
US (2) US11039127B2 (zh)
EP (1) EP3664452A4 (zh)
JP (1) JP2020529811A (zh)
KR (1) KR102357575B1 (zh)
CN (4) CN109391814B (zh)
AU (1) AU2018315106B2 (zh)
BR (1) BR112020002656A2 (zh)
CA (1) CA3072712A1 (zh)
MX (1) MX2020001646A (zh)
PH (1) PH12020500307A1 (zh)
SG (1) SG11202001199QA (zh)
TW (1) TWI692247B (zh)
WO (1) WO2019029590A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354541A (zh) * 2017-10-27 2024-01-05 松下电器(美国)知识产权公司 编码装置、解码装置、生成装置、发送装置和存储介质
CN110620929B (zh) 2018-06-19 2023-04-18 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
US10999596B2 (en) * 2018-06-19 2021-05-04 Qualcomm Incorporated Unification of affine motion field derivation and affine motion compensation
US11582458B2 (en) * 2018-08-29 2023-02-14 Vid Scale, Inc. Adaptive motion vector precision for affine motion model based video coding
EP4325859A3 (en) 2018-09-19 2024-05-15 Beijing Bytedance Network Technology Co., Ltd. Syntax reuse for affine mode with adaptive motion vector resolution
CN113170192B (zh) * 2018-11-15 2023-12-01 北京字节跳动网络技术有限公司 仿射的merge与mvd
US11102476B2 (en) * 2018-12-28 2021-08-24 Qualcomm Incorporated Subblock based affine motion model
CN113412623A (zh) 2019-01-31 2021-09-17 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
WO2020181507A1 (zh) * 2019-03-12 2020-09-17 北京大学 图像处理的方法与装置
WO2020181540A1 (zh) * 2019-03-13 2020-09-17 北京大学 一种视频处理方法、装置、编码设备及解码设备
CN114222136A (zh) * 2019-06-25 2022-03-22 Oppo广东移动通信有限公司 运动补偿的处理方法、编码器、解码器以及存储介质
CN110636301B (zh) * 2019-09-18 2021-08-03 浙江大华技术股份有限公司 仿射预测方法、计算机设备和计算机可读存储介质
WO2021056220A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法与装置
CN112770113A (zh) * 2019-11-05 2021-05-07 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US20240040141A1 (en) * 2022-07-18 2024-02-01 Tencent America LLC Method for affine motion refinement

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141616A1 (en) * 2003-12-30 2005-06-30 Samsung Electronics Co., Ltd. Video encoding and decoding methods and apparatuses using mesh-based motion compensation
CN106303543A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1274252A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JP3681342B2 (ja) 2000-05-24 2005-08-10 三星電子株式会社 映像コーディング方法
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
KR100631777B1 (ko) 2004-03-31 2006-10-12 삼성전자주식회사 다 계층의 모션 벡터를 효율적으로 압축하는 방법 및 장치
DE102009026983A1 (de) * 2009-06-16 2010-12-30 Trident Microsystems (Far East) Ltd. Bildverarbeitungsverfahren mit einer Bewegungsschätzung und Bildverarbeitungsanordnung
RU2573222C2 (ru) 2010-04-09 2016-01-20 Мицубиси Электрик Корпорейшн Устройство кодирования движущихся изображений и устройство декодирования движущихся изображений
CN102611884B (zh) * 2011-01-19 2014-07-09 华为技术有限公司 图像编解码方法及编解码设备
CN112087630B (zh) 2014-09-30 2022-04-08 华为技术有限公司 图像预测方法、装置、解码器及存储介质
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10701390B2 (en) * 2017-03-14 2020-06-30 Qualcomm Incorporated Affine motion information derivation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050141616A1 (en) * 2003-12-30 2005-06-30 Samsung Electronics Co., Ltd. Video encoding and decoding methods and apparatuses using mesh-based motion compensation
CN106303543A (zh) * 2015-05-15 2017-01-04 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备

Also Published As

Publication number Publication date
MX2020001646A (es) 2020-08-03
US11496732B2 (en) 2022-11-08
AU2018315106A1 (en) 2020-03-12
CN116708780A (zh) 2023-09-05
RU2020110025A (ru) 2021-09-14
US11039127B2 (en) 2021-06-15
CN110999302A (zh) 2020-04-10
CN111935482B (zh) 2023-04-11
EP3664452A1 (en) 2020-06-10
JP2020529811A (ja) 2020-10-08
CN109391814A (zh) 2019-02-26
CA3072712A1 (en) 2019-02-14
BR112020002656A2 (pt) 2020-08-18
US20210243432A1 (en) 2021-08-05
PH12020500307A1 (en) 2021-02-08
SG11202001199QA (en) 2020-03-30
EP3664452A4 (en) 2020-06-10
TW201919402A (zh) 2019-05-16
RU2020110025A3 (zh) 2021-11-03
KR20200033331A (ko) 2020-03-27
AU2018315106B2 (en) 2022-10-06
WO2019029590A1 (zh) 2019-02-14
KR102357575B1 (ko) 2022-02-08
CN109391814B (zh) 2023-06-06
US20200177877A1 (en) 2020-06-04
CN111935482A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
TWI692247B (zh) 視訊圖像編碼和解碼的方法、裝置及設備
KR102424189B1 (ko) 적응형 보간 필터
TWI812694B (zh) 以角度模式延伸之位置相關框內預測組合
WO2016184261A1 (zh) 视频图像编码和解码的方法、编码设备和解码设备
WO2019056839A1 (en) RESTRICTION ON SUB-BLOCK SIZE DERIVATION FOR AFFINE INTER-IMAGE PREDICTION
TW202101989A (zh) 用於視訊寫碼之參考圖像重採樣及框間寫碼工具
WO2019062544A1 (zh) 视频图像的帧间预测方法、装置及编解码器
CN113923455B (zh) 一种双向帧间预测方法及装置
US20220217370A9 (en) Spatial Varying Transform for Video Coding
US20230017193A1 (en) Video decoding method, video encoding method, electronic device, and storage medium
TW202127892A (zh) 用於視訊編碼的角度訊框內預測模式的依賴位置的訊框內預測組合
WO2019201232A1 (en) Intra-prediction using cross-component linear model
TW201939952A (zh) 用於360度視訊之框內預測
WO2022166462A1 (zh) 编码、解码方法和相关设备
TW202002654A (zh) 具有群組分流位元子之係數寫碼
WO2023092256A1 (zh) 一种视频编码方法及其相关装置
BR112020016913A2 (pt) Transformação de variação espacial dependente de posição para codificação de vídeo
RU2771955C2 (ru) Устройство, оборудование, способ кодирования и декодирования видеоизображений
RU2808688C2 (ru) Способ и устройство предсказания изображения
CN111971958B (zh) 视频编码中的块分割方法和设备