TWI719356B - 視訊編解碼裝置和相應的視訊編解碼方法 - Google Patents
視訊編解碼裝置和相應的視訊編解碼方法 Download PDFInfo
- Publication number
- TWI719356B TWI719356B TW107138889A TW107138889A TWI719356B TW I719356 B TWI719356 B TW I719356B TW 107138889 A TW107138889 A TW 107138889A TW 107138889 A TW107138889 A TW 107138889A TW I719356 B TWI719356 B TW I719356B
- Authority
- TW
- Taiwan
- Prior art keywords
- motion vector
- dmvr
- block
- frame
- refinement
- 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/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
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- 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/53—Multi-resolution motion estimation; Hierarchical motion 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/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- 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/557—Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本發明提供一種視訊編解碼裝置和相應的視訊編解碼方法。視訊編解碼方法包括:確定解碼器側運動矢量精化的處理單元大小;當當前塊的大小小於或等於處理單元大小時,使能當前塊上的解碼器側運動矢量精化的應用; 以及當當前塊的大小大於處理單元大小時,禁止解碼器側運動矢量精化在當前塊上的應用。本發明的視訊編解碼裝置和相應的視訊編解碼方法可以提高編解碼效率。
Description
本發明涉及視訊編碼解碼技術。更具體而言,本發明涉及解碼器側運動矢量精化(decoder-side motion vector refinement,簡寫為DMVR)的禁用(disable)或提前終止。
本文提供的背景描述是爲了總體上呈現本公開的背景。 目前所述發明人的工作,在本背景技術部分中描述的工作的範圍,以及在提交時可能不具有其他資格作爲現有技術的描述的方面,既不明確也不暗示地被接納爲本公開的現有技術。
視訊編碼解碼標準,如高效視訊編解碼(HEVC)標準等,使用視訊壓縮技術來提高編解碼效率並提高視訊品質。 在一個示例中,視訊訊框中的冗餘部分被替換爲簡短描述而不是原始像素,以提高編碼碼效率。 當冗餘部分在單個訊框內時,訊框內(intra-frame)預測技術可用於編碼/解碼。 當冗餘部分在後續訊框中時,訊框間(inter-frame)預測技術可用於編碼/解碼。
根據本發明的示例之實施例,本發明提出一種視訊編解碼裝置和相應的視訊編解碼方法來解决上述問題。
根據本發明之第一方面,公開一種示例性之視訊編解碼方法,包括:確定解碼器側運動矢量精化的處理單元大小;當當前塊的大小小於或等於處理單元大小時,使能當前塊上的解碼器側運動矢量精化的應用; 以及當當前塊的大小大於處理單元大小時,禁止解碼器側運動矢量精化在當前塊上的應用。
根據本發明之第二方面,公開一種示例性之一種視訊編解碼裝置,包括:處理電路,配置為:確定解碼器側運動矢量精化的處理單元尺寸;當當前塊的大小小於或等於該處理單元大小時,允許在該當前塊上應用該解碼器側運動矢量精化; 以及當該當前塊的大小大於該處理單元大小時,禁用該當前塊上的該解碼器側運動矢量精化應用。
根據本發明之第三方面,公開一種示例性之一種視訊編解碼方法,包括:接收第一運動矢量和第二運動矢量,以開始對視訊的當前訊框中的預測塊的第一運動矢量和第二運動矢量的運動矢量精化,該第一運動矢量指示第一參考訊框中的第一參考塊,並且該第二運動矢量指示第二參考訊框中的第二參考塊,該當前訊框在該視訊中的第一參考訊框和第二參考訊框之間;基於該第一參考塊和該第二參考塊的結合計算模板塊;參考該模板塊對該第一運動矢量進行精化,以獲得指示該第一參考訊框中的第一重新定位的參考塊的第一精化運動矢量;基於該第一運動矢量的精化來計算該運動矢量精化的性能度量; 以及基於該性能度量選擇性地終止該第二運動矢量的該運動矢量精化。
在閱讀以下對各圖及圖式中所例示之優選實施例之詳細說明之後,本發明之這些及其它目標無疑將對該領域之習知技藝者而言顯而易見。
本公開的各方面提供了用於提前終止或禁用解碼器側運動矢量精化(DMVR)的技術。 DMVR是在視訊編解碼(編碼/解碼)中使用的技術,以獲得精化運動矢量而不傳輸附加資訊,例如語法元素。 但是,DMVR可以增加計算工作量並增加處理時間。 根據本公開的一個方面,DMVR提前終止(例如,跳過或部分執行),例如當DMVR的視訊品質改善不能證明處理時間的增加時。
在各種實施例中,DMVR用於訊框間預測的合並模式。 通常,視訊以時間序列被捕獲爲多個訊框(視訊訊框),並且訊框間預測利用訊框之間的時間相關性(temporal correlation)。 在一個示例中,編碼/解碼下的特定訊框(被稱爲當前訊框)被劃分爲塊。 當當前訊框中的塊類似於視訊中的參考訊框中的參考塊時,可以通過被稱爲運動矢量的矢量來編解碼當前訊框中的塊。 運動矢量指向參考訊框中的參考塊。
在一些實施例中,可以在訊框間預測中使用雙預測(bi-prediction)技術。 根據雙預測技術,使用兩個參考訊框,諸如視訊中當前訊框之前的第一參考訊框,以及視訊中當前訊框之後的第二參考訊框。可以通過指向第一參考訊框中的第一參考塊的第一運動矢量和指向第二參考訊框中的第二參考塊的第二運動矢量來編解碼當前幀中的塊。 可以通過第一參考塊和第二參考塊的結合來預測塊。
此外,在訊框間預測中使用合並模式技術以提高編解碼效率。 在合並模式中,當前訊框中的塊可以在當前訊框中繼承相鄰塊(例如,與該塊共享邊界,與塊一起布置在更大的分區區域中)的運動矢量。 爲了改善視訊品質,在一些示例中,將DMVR應用於與相鄰塊相關聯的運動矢量以確定用於塊的精化運動矢量。
在一個示例中,在合並模式中,塊繼承與相鄰塊相關聯的第一運動矢量[Δx0
,Δy0
]和第二運動矢量[Δx1
,Δy1
]。 第一運動矢量指向第一參考訊框中的第一參考塊,並且第二運動矢量指向第二參考訊框中的第二參考塊。 對於DMVR,基於第一參考塊和第二參考塊的結合(例如,像素級(level)的平均、像素級的加權平均)來計算模板塊。 此外,基於模板塊,分別精化第一運動矢量和第二運動矢量,例如首先通過±1像素精化然後通過±0.5像素精化。
例如,爲了精化第一運動矢量,將模板塊與第一參考訊框中分別由第一運動矢量指向的塊和八個候選運動矢量(例如,九個運動矢量[Δx0
, Δy0
]、[Δx0
±1, Δy0
±1]、[Δx0
±1, Δy0
],和[Δx0
, Δy0
±1])進行比較用於±1像素精化,以確定第一臨時運動矢量[Δx0-tmp
,Δy0-tmp
], 作爲±1像素精化的結果。 從用於±1像素精化的九個運動矢量中選擇第一臨時運動矢量,並且指向第一參考訊框中的第一臨時參考塊,其具有與模板塊的最小失真(最大相似度)。 在該示例中,通過像素級的絕對差之和(sum of absolute differences,簡寫為SAD)來度量失真或相似性。 在另一示例中,通過平方差之和(sum of squared differences,簡寫為SSD)來度量失真或相似性。
此外,在一個實施例中,將模板塊與第一參考幀中分別由第一臨時運動矢量指向的塊和用於±0.5像素精化的八個候選運動矢量(例如[Δx0-tmp
, Δy0-tmp
], [Δx0-tmp
±0.5, Δy0-tmp
±0.5], [Δx0-tmp
±0.5, Δy0-tmp
], 和 [Δx0-tmp
, Δy0-tmp
±0.5])進行比較,以確定第一精化運動矢量作爲±0.5像素精化的結果。從用於±0.5像素精化的九個運動矢量中選擇第一精化運動矢量,並且指向第一參考幀中的第一重新定位的(relocated)參考塊,其具有與模板塊的最小失真(最大相似性)。 在該示例中,通過SAD或SSD度量失真或相似性。
類似地,基於模板塊,第二運動矢量被精化,例如首先通過±1像素精化,然後通過±0.5像素精化。 然後,可以根據雙預測技術使用第一精化運動矢量和第二精化運動矢量來訊框間預測當前訊框中的塊。
在前述示例中,DMVR利用模板塊對第一運動矢量或第二運動矢量執行運動矢量精化。 然而,在其他示例中,DMVR在沒有模板塊的情况下對第一運動矢量或第二運動矢量執行運動矢量精化。 例如,可以基於由第一精化運動矢量指示的第一重新定位的參考塊與由第二精化運動矢量指示的第二重新定位的參考塊之間的失真來執行運動精化處理。
DMVR包括相對大量的計算,諸如針對SAD或SSD的相對大量的計算。 根據本公開,當DMVR提前終止(例如,跳過或部分執行)時,可以减少計算工作量並且可以减少處理時間。
第1圖示出了根據本公開的實施例的電子系統100的圖。 電子系統100包括多個電子設備,其使用各種編解碼(編碼/解碼)技術,例如訊框間預測編碼解碼技術、訊框內預測編碼解碼技術等,以在多個電子設備之間有效地傳送視訊。 在第1圖的示例中,電子系統100包括第一設備110和第二設備160,並且視訊被編解碼,並且編解碼之視訊以位元流從第一設備110發送到第二設備160。
根據本發明的一方面,爲了提高編解碼效率和改善視訊品質,在合並模式中應用DMVR以用於訊框間雙預測。 此外,例如,當視訊品質改進不能證明計算的增加是合理的時,DMVR被選擇性地提前終止(例如,完全跳過或部分執行)。 因此,减少了過多的計算工作量並且可以减少處理延遲。
電子系統100中的多個電子設備可以是任何合適的設備。 在一個示例中,第一設備110是多媒體捕獲設備,諸如視訊記錄器、相機、智慧電話、平板計算機、膝上型計算機、臺式計算機等,被配置爲生成視訊訊框並編碼視訊訊框成編碼視訊; 第二設備160是多媒體播放設備,例如電視、投影儀、智慧電話、平板計算機、膝上型計算機、臺式計算機等,用於解碼編碼視訊以構建解碼視訊訊框並顯示解碼的視訊訊框。
在另一示例中,第一設備110耦合到生成視訊訊框的多媒體捕獲設備(未示出),並且第一設備110從多媒體捕獲設備接收視訊訊框並對視訊訊框進行編碼。 在另一示例中,第二設備160耦合到多媒體播放設備(未示出),並且第二設備160對編碼視訊進行解碼以構建解碼視訊訊框並將解碼視訊訊框提供給多媒體播放設備用於播放。
在第1圖的示例中,第一設備110根據一個或多個通信標準(例如,電纜、區域網路(local area network,簡寫為LAN)、無綫LAN(WLAN)、蜂巢式網路、光網路、因特網或上述的任何組合)經由任何合適的通信通道將位元流中的編碼視訊發送到第二設備160。 在一個示例中,位元流被携帶在電信號中並通過電纜傳輸。 在另一示例中,位元流以封包(packet)携帶,並且封包通過LAN中的電信號發送。 在另一個例子中,封包可以由射頻信號携帶,例如,在WLAN或蜂巢式網路中。
根據本公開的一個方面,第一設備110包括用於編碼器120的處理電路。編碼器120被配置爲根據視訊編解碼標準(例如高效視訊編解碼(high efficiency video coding,簡寫為HEVC)標準)對視訊進行編碼,並生成編解碼視訊的位元流。 位元流由第一設備110和/或其他設備(未示出)以任何合適的格式發送。 第二設備160包括用於解碼器170的處理電路。解碼器170被配置爲接收編碼視訊的位元流,並且根據視訊編解碼標準(例如HEVC標準)對位元流進行解碼以生成解碼的視訊訊框。
此外,編碼器120在合並模式下使用DMVR用於在編碼期間的訊框間雙預測,且解碼器170在合並模式中使用DMVR用於在解碼期間的訊框間雙預測。 可以提前選擇性地終止DMVR,或者可以對尺寸大於閾值的塊禁用DMVR。 例如,編碼器120包括訊框間編碼器130,訊框間編碼器130被配置爲在合並模式中應用DMVR以用於訊框間雙預測。 訊框間編碼器130包括DMVR提前終止控制器140,其被配置爲在DMVR被完全執行之前選擇性地終止DMVR,或被配置爲針對大小大於閾值的塊禁用DMVR。
類似地,解碼器170包括訊框間解碼器180,訊框間解碼器180被配置爲在合並模式中應用DMVR以用於訊框間雙預測。 訊框間解碼器180包括DMVR提前終止控制器190,其被配置爲在DMVR被完全執行之前選擇性地終止DMVR,或被配置爲針對大小大於閾值的塊禁用DMVR。
注意,編碼器120和解碼器170可以使用任何合適的技術來實現。 在一個實施例中,使用積體電路實現編碼器120和解碼器170。 在另一示例中,使用執行軟體指令的處理器來實現編碼器120和解碼器170。
還應注意,第一設備110和第二設備160可包括其他合適的組件。 例如,第一設備110可以包括解碼器(未示出),第二設備160可以包括編碼器(未示出)。
DMVR提前終止控制器140和DMVR提前終止控制器190可以基於各種條件終止或禁用DMVR。 參考第2圖描述一些實施例。
第2圖示出了根據本公開的實施例的訊框間雙預測的示例200。示例200示出了用於編碼/解碼的當前訊框210(目前的訊框),在視訊中在當前訊框210之前的第一參考訊框220,以及在該視訊中的當前訊框210之後的第二參考訊框230。請注意,第一參考訊框220和當前訊框210之間的訊框數可以與當前訊框210和第二參考訊框230之間的訊框數不同。
當前訊框210包括通過訊框間雙預測在合並模式中編解碼(編碼/解碼)的塊211。 在一個實施例中,以塊爲單位執行預測。 例如,根據HEVC標準,視訊訊框序列中的圖像訊框被劃分爲編解碼樹單元(coding tree unit,簡寫為CTU)以進行壓縮,圖像訊框中的CTU具有相同的大小,例如64×64像素、32×32像素,或者 16x16像素。 通常,CTU包括三個編解碼樹塊(CTB),其是一個亮度CTB和兩個色度CTB。 每個CTU可以遞歸地四叉樹分成一個或多個編解碼單元(CU)。 例如,64x64像素的CTU可以分成一個64x64像素的CU,或者4個32x32像素的CU,或16個16x16像素的CU。在一個示例中,分析每個CU以確定CU的預測類型,諸如訊框間預測類型、訊框內預測類型。 取决於時間和/或空間可預測性,CU被分成一個或多個預測單元(PU)。 通常,每個PU包括亮度預測塊(prediction block,簡寫為PB)和兩個色度PB。 在一個實施例中,以預測塊爲單位執行編解碼(編碼/解碼)中的預測操作。 使用亮度預測塊作爲預測塊的示例,預測塊包括用於像素的值的矩陣(例如,亮度值),諸如8×8像素、16×16像素、8×16像素、16×8像素等。 在一些實施例中,塊211是通過合並模式中的訊框間雙預測來預測的預測塊。
例如,塊211從當前訊框210中的相鄰塊(未示出)繼承第一運動矢量MV0和第二運動矢量MV1。第一運動矢量MV0指向參考訊框220中的第一參考塊221,並且第二運動矢量MV1指向第二參考訊框230中的第二參考塊231。基於第一運動矢量MV0和第二運動矢量MV1,可以執行DMVR以確定第一精化運動矢量MV0'和第二精化運動矢量MV1'。 第一精化運動矢量MV0'指向第一重新定位的參考塊225,並且第二精化運動矢量MV1'指向第二重新定位的參考塊235。
在該示例中,在DMVR期間,計算模板塊。 在一個示例中,基於第一參考塊221和第二參考塊231的結合(例如,像素級的平均、像素級的加權平均)來計算模板塊。此外,基於模板塊, 第一運動矢量MV0和第二運動矢量MV1分別被精化。 在一個示例中,第一運動矢量MV0和第二運動矢量MV1被串行精化(refined in serial)。 例如,精化第一運動矢量MV0,然後精化第二運動矢量MV1。
注意,可以在DMVR期間的各個步驟執行DMVR提前終止。 在一個示例中,跳過DMVR並因此在計算模板塊之前終止DMVR,因此不執行DMVR的操作。 在另一示例中,在計算模板塊之後並且在精化第一運動矢量和第二運動矢量之前終止DMVR,因此不執行第一運動矢量和第二運動矢量的精化。 在另一示例中,在精化第一和第二運動矢量中的一個之後,並且在精化第一和第二運動矢量中的另一個之前,終止DMVR,因此不執行第一和第二運動矢量之一的精化。
當完全執行DMVR時,在一個示例中,根據雙預測技術,基於第一精化運動矢量MV0'和第二精化運動矢量MV1'來預測塊211。 例如,塊211被預測爲第一重新定位的參考塊225和第二重新定位的參考塊235的結合(例如,平均、加權平均)。
在一個實施例中,當跳過DMVR時,基於從相鄰塊繼承的第一運動矢量MV0和第二運動矢量MV1來預測塊211。 例如,塊211被預測爲第一參考塊221和第二參考塊231的結合(例如,平均、加權平均)。
在另一實施例中,部分地執行DMVR,使得第一和第二運動矢量中的一個被精化,並且跳過第一和第二運動矢量中的另一個的精化。 例如,執行部分DMVR以確定第一精化運動矢量MV0'。 在一個示例中,塊211被預測爲第一參考塊221和第二重新定位的參考塊235的結合(例如,平均、加權平均)。在另一示例中,塊211被預測爲第一重新定位的參考塊225和第二參考塊231的結合(例如,平均、加權平均)。
在一個實施例中,在確定第一精化運動矢量MV0'之後並且在精化第二運動矢量MV1之前,DMVR早期終止控制器140(或DMVR早期終止控制器190)比較第一精化運動矢量MV0'和第一運動矢量MV0。 在一個示例中,當第一精化運動矢量MV0'與第一運動矢量MV0完全相同時,DMVR早期終止控制器140(或DMVR早期終止控制器190)終止DMVR。 因此,跳過在第二參考訊框230中搜索最佳匹配塊的運動估計始更新(精化)第二運動矢量MV1。
在另一實例中,當第一精化運動矢量MV0'與第一運動矢量MV0非常相似但不完全相同時,DMVR早期終止控制器140(或DMVR早期終止控制器190)終止DMVR。 因此,跳過在第二參考訊框230中搜索最佳匹配塊的運動估計始更新(精化)第二運動矢量MV1。在一個實例中,在雙預測中使用第一精化運動矢量MV0'和第二運動矢量MV1來預測塊211。在另一實例中,第一運動矢量MV0適當地緩存在記憶體電路中。 然後,當DMVR提前終止時,從記憶體電路擷取(retrieve)緩存的第一運動矢量MV0,並且在雙預測中使用第一運動矢量MV0和第二運動矢量MV1來預測塊211。
在一些示例中,通過顯式信令(signaling)確定第一精化運動矢量MV0'和第一運動矢量MV0的相似性。 在一個示例中,DMVR提前終止控制器140使用某些參數、模式或閾值來確定第一設備110處的相似性。然後,參數、模式或閾值被適當地包括在編解碼視訊中,例如,在切片級、圖像級或序列級,通過第一設備110向第二設備160信令。第二設備160基於編解碼視訊中的信令確定參數、模式或閾值。 然後,DMVR提前終止控制器190使用所確定的參數、模式或閾值來確定第二設備160處的第一精化運動矢量MV0'和第一運動矢量MV0的相似性。
在一些實例中,第一精化運動矢量MV0'與第一運動矢量MV0的相似性由隱式選擇(例如預定義閾值)確定。 例如,預定義第一閾值vth和第二閾值hth。 當第一運動矢量MV0和第一精化運動矢量MV0'的絕對差在垂直方向上的投影小於第一閾值vth時,並且第一運動矢量MV0和第一精化運動矢量MV0'的絕對差值在水平方向的投影也小於第二閾值hth時,則第一運動矢量MV0和第一精化運動矢量MV0'被確定爲相似。在另一示例中,當第一運動矢量MV0和第一精化運動矢量MV0'的絕對差在垂直方向上的投影小於第一閾值vth時,確定第一運動矢量MV0和第一精化運動矢量MV0'相似。 在另一示例中,第一運動矢量MV0和第一精化運動矢量MV0'的絕對差在水平方向上的投影也小於第二閾值hth,第一運動矢量MV0和第一精化運動矢量MV0'被確定爲相似。
在一個實施例中,在確定第一精化運動矢量MV0'之後並且在精化第二運動矢量MV1之前,DMVR早期終止控制器140(或DMVR早期終止控制器190)將第一重新定位的參考塊225與模板塊進行比較。 在一個示例中,當第一重新定位的參考塊225與模板塊相同時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR。 在另一示例中,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算第一重新定位的參考塊225與模板塊之間的失真。例如,失真被計算爲像素級的絕對差之和。 當失真小於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR。 在一個示例中,在雙預測中使用第一精化運動矢量MV0'和第二運動矢量MV1以預測塊。 在另一示例中,在雙預測中使用緩存的第一運動矢量MV0和第二運動矢量MV1以預測塊211。
在一些實施例中,在計算模板塊之前,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算第一參考塊221和第二參考塊231之間的失真。可以通過任何合適的度量來計算失真。例如,失真被計算爲像素的絕對差之和(SAD)。 在另一示例中,失真被計算爲像素的平方差(SSD)之和。 在一個實施例中,當失真大於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR,跳過DMVR的整個過程而不執行DMVR的任何操作。
在一個實施例中,在計算模板塊之前,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算第一參考塊221的第一逆L形區域227與第二參考塊231的第二逆L形區域237之間的失真。 第一逆L形區域227包括從第一參考塊221的頂部邊界延伸的任何合適的列(row)和從第一參考塊221的左邊界延伸的任何合適的行(column)。類似地,第二逆L形區域237包括從第二參考塊231的頂部邊界延伸的任何合適的列和從第二參考塊231的左邊界延伸的任何合適的行。失真可以被計算爲SAD、SSD 或其他合適的措施。 當失真大於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR,跳過DMVR的整個過程而不執行DMVR的任何操作。
在一個實施例中,在計算模板塊之前,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算塊211的當前逆L形區域217與第一逆L形區域227和第二逆L形區域237之一之間的失真。當前逆L形區域217包括從塊211的頂部邊界延伸的任何合適的列和從塊211的左邊界延伸的任何合適的行。 可以將失真計算爲SAD、SSD或其他合適的度量。 當失真大於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR,跳過DMVR的整個過程而不執行DMVR的任何操作。
在一個實施例中,在計算模板塊之前,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算第一參考訊框220和第二參考訊框230之間的圖片順序計數(picture order count,簡寫為POC)的差异。 POC用於指示解碼訊框的輸出順序。 當第一參考訊框220和第二參考訊框230的POC差值大於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR,跳過DMVR的整個過程而不執行DMVR的任何操作。
在一個實施例中,在計算模板塊之前,DMVR提前終止控制器140(或DMVR提前終止控制器190)計算第一參考訊框220和第二參考訊框230之間的量化參數(QP)的差异。QP被分配給訊框以指示訊框的視訊訊框品質。 當第一參考訊框220和第二參考訊框230的QP差值大於閾值時,DMVR提前終止控制器140(或DMVR提前終止控制器190)終止DMVR,跳過DMVR的整個過程而不執行DMVR的任何操作。
根據本公開的一個方面,模板塊被計算爲第一參考塊和第二參考塊的結合。 在一些實施例中,模板塊被計算爲每個像素處的第一參考塊和第二參考塊的加權平均。
在一個實施例中,基於第一參考訊框220的POC(表示爲POC-1)、當前訊框210的POC(表示爲POC-0)和第二參考訊框230的POC(表示爲POC-2)來導出權重。例如,POC-1和POC-0的差异表示爲pocDiff0,POC-0和POC-2的差异表示爲pocDiff1。 根據等式1和等式2計算兩個加權因子以分別對第一參考塊221和第二參考塊231進行加權。等式1等式2
例如,模板塊中的像素P具有第一參考塊221中的對應像素P0和第二參考塊231中的對應像素P1。像素P(MP
)的參數被計算爲第一參考塊221中的對應像素P0(MP0
)的參數和第二參考塊231中的對應像素P1(MP1
)的參數的加權和,例如根據等式3:等式3
在另一實施例中,基於第一參考訊框220的QP(表示爲QP-1)、當前訊框210的QP(表示爲QP-0)和第二參考訊框230的QP(表示爲QP-2)來導出加權。 例如,QP-1和QP-0的差异表示爲qpDiff0,QP-0和QP-2的差异表示爲qpDiff1。 根據等式4和等式5計算兩個加權因子,以分別對第一參考塊221和第二參考塊231進行加權。 可以更新等式3,以計算像素P(MP
)的參數,作為第一參考塊221中的對應像素P0(MP0
)的參數與第二參考塊231中的對應像素P1(MP1
)的參數的加權和。等式 4等式 5
根據本公開的一個方面,DMVR提前終止控制器140(或DMVR提前終止控制器190)被配置爲基於當前塊(即,當前要編碼或解碼的塊)的大小來禁用DMVR。當當前塊的大小相對較大時,DMVR中的操作(例如SAD計算、SSD計算等)在資料位元深度方面引起大的計算複雜度。 在一個示例中,預定義大小限制(size limit)MxN(也稱爲處理單元大小),其中M和N是正整數。 在一個示例中,當當前塊的大小大於大小限制MxN時,DMVR提前終止控制器140(或DMVR提前終止控制器190)禁用當前塊上的DMVR以降低計算複雜度。
在一些實施例中,當當前塊的大小小於大小限制時,可以應用DMVR來精化運動矢量(即,在當前塊上啓用DMVR)。 當當前塊的大小大於大小限制時,將當前塊劃分爲小於大小限制的子塊,然後將DMVR獨立地應用於各個子塊以降低計算複雜度。 在此示例中,當當前塊的大小大於大小限制時,DMVR不應用於當前塊,而是應用於從當前塊劃分的子塊。
請注意,在具有小於或等於大小限制的塊的塊上執行的DMVR可以在有或沒有基於第一參考塊和第二參考塊的結合計算的模板塊的情况下完成。
在一些實施例中,當當前塊的大小大於大小限制時,可以通過使用子樣本技術來减少用於DMVR的計算(例如SAD計算或SSD計算等)的計算複雜性。例如,當當前塊的列號大於M時,選擇列的子集(例如奇數列,或者偶數列等),以計算SAD或SSD;當當前塊的行號大於N時,選擇行的子集(例如奇數行或偶數行)來計算SAD或SSD。在一些示例中,M或N的可能值可以是16、32、64、128等。在一些示例中,M和N的值是預定義的,或在編解碼視訊中的序列級、圖片級或切片級信令的。在另一示例中,M和N的值取决於視訊解度或標準簡檔(standard profile),並且可以基於視訊解析度或標準簡檔來確定。
第3圖示出了根據本公開的實施例的編碼器320的圖。編碼器320被配置為在視訊訊框序列中接收視訊訊框內的像素值的處理塊(例如,預測塊),並將處理塊編碼為編碼視訊的位元流。在一個示例中,編碼器320用於代替第1圖示例中的編碼器120。編碼器320包括訊框間編碼器330,其被配置為在完全執行DMVR之前終止DMVR以减少各種條件下的計算工作量。
在HEVC示例中,編碼器320接收處理塊的像素值矩陣,諸如8×8像素的預測塊等。編碼器320確定處理塊是具有訊框內預測類型還是訊框間預測類型。當處理塊具有訊框內預測類型時,編碼器320使用訊框內預測技術將處理塊編碼為位元流;當處理塊具有訊框間預測類型時,編碼器320使用訊框間預測技術將處理塊編碼為位元流。在一個示例中,編碼器320包括其他組件,諸如預測類型確定模塊(未示出),以確定處理塊的預測類型。
在第3圖的示例中,編碼器320包括訊框間編碼器330、訊框內編碼器322、殘差計算器323、開關326、殘差編碼器324、通用控制模塊321和熵編碼器325耦合在一起,如第3圖所示。
訊框間編碼器330經配置以接收當前塊(例如,處理塊),將塊與參考訊框中的一個或一個以上參考塊(例如,先前訊框和後續訊框中的塊)進行比較,産生訊框間預測資訊 (例如,根據訊框間編碼技術的冗餘資訊描述、運動矢量、合並模式資訊),並且使用任何合適的技術基於訊框間預測資訊計算訊框間預測結果(例如,預測塊)。 在一些實施例中,參考訊框是在記憶體(未示出)中緩存的經解碼的參考訊框。
訊框內編碼器322被配置爲接收當前塊(例如,處理塊),將塊與同一圖片訊框中的塊進行比較,生成訊框內預測資訊(例如,根據訊框內編碼技術的冗餘資訊描述, 例如,使用35個預測模式之一),並基於訊框內預測資訊計算訊框內預測結果(例如,預測塊)。
通用控制模塊321被配置爲基於通用控制資料確定通用控制資料並控制編碼器320的其他組件。 在一個示例中,通用控制模塊321確定塊的預測類型,並基於預測類型向開關326提供控制信號。 例如,當預測類型是訊框內預測類型時,通用控制模塊321控制開關326選擇訊框內預測結果供殘差計算器323使用,並控制熵編碼器325選擇訊框內預測資訊並在位元流中包括該訊框內預測資訊;當預測類型爲訊框間預測類型時,通用控制模塊321控制開關326選擇訊框間預測結果供殘差計算器323使用,控制熵編碼器325選擇訊框間預測資訊並在位元流中包括該訊框間預測資訊。
殘差計算器323被配置爲計算所接收的塊與從訊框內編碼器322或訊框間編碼器330中選擇的預測結果之間的差(殘差資料)。殘差編碼器324被配置爲基於殘差資料來操作,以編碼殘差資料來生成變換係數(transform coefficient)。 在一個示例中,殘差資料在高頻處具有相對較大的級(能量),並且殘差編碼器324被配置爲在頻域中轉換殘差資料,並提取高頻部分以進行編碼以生成變換係數。然後對變換係數進行量化處理以獲得量化的變換係數。 在各種實施例中,編碼器320還包括殘差解碼器328。殘差解碼器328被配置為執行逆變換,並生成殘差資料。 訊框內編碼器322和訊框間編碼器330可以適當地使用殘差資料。例如,訊框間編碼器330可以基於殘差資料生成解碼的參考訊框。 解碼的參考訊框可以緩存在記憶體電路(未示出)中。
熵編碼器325被配置為將位元流格式化為包括編碼塊。 熵編碼器325被配置為根據合適的標準(例如HEVC標準)包括各種資訊。 在一個示例中,熵編碼器325被配置為在位元流中包括通用控制資料、所選擇的預測資訊(例如,訊框內預測資訊或訊框間預測資訊)、殘差資訊和其他合適的資訊。
訊框間編碼器330包括耦合在一起的DMVR模塊332和DMVR提前終止控制器340,如第3圖所示。DMVR模塊332被配置為執行DMVR的操作(諸如參考第2圖所討論的操作或在沒有模板塊的情況下精化運動矢量的操作),以及向DMVR提前終止控制器340提供資訊。DMVR提前終止控制器340被配置為確定是否滿足提前終止條件(例如參考第2圖所述的提前終止條件)或滿足DMVR禁用條件。 當滿足提前終止條件時,DMVR提前終止控制器340向DMVR模塊332提供控制信號,以在DMVR完全執行之前終止DMVR。 或者,當滿足DMVR禁用條件時,DMVR提前終止控制器340向DMVR模塊332提供控制信號以禁用DMVR處理。
第4圖示出了根據本公開的實施例的解碼器470的圖。 解碼器470被配置為接收編碼視訊的位元流,並解碼位元流以生成解碼視訊訊框。 在一個示例中,解碼器470用於代替第1圖示例中的解碼器170。 解碼器470包括訊框間解碼器480,訊框間解碼器480被配置為在完全執行DMVR之前終止DMVR以減少各種條件下的計算工作量。
在第4圖的示例中,解碼器470包括耦合在一起的熵解碼器471、訊框間解碼器480、殘差解碼器473、重建模塊474和訊框內解碼器472,如第4圖所示。
熵解碼器471被配置為確定熵資訊,例如,作為處理塊的冗餘資訊的估計的預測資訊(訊框內預測資訊或訊框間預測資訊)、預測類型(訊框間預測類型或訊框內預測類型)、殘差資訊等。 在一個示例中,當預測類型是訊框間預測類型時,訊框間預測資訊被提供給訊框間解碼器480; 當預測類型是訊框內預測類型時,訊框內預測資訊被提供給訊框內解碼器472。殘差資訊經過逆量化並被提供給殘差解碼器473。
訊框間解碼器480被配置為接收訊框間預測資訊,並基於訊框間預測資訊和參考訊框生成訊框間預測結果。
訊框內解碼器472被配置為接收訊框內預測資訊,並基於訊框內預測資訊生成預測結果。
殘差解碼器473經配置以執行逆量化以提取經解量化的變換係數,且處理經解量化的變換係數以將殘差從頻域轉換到空間域(spatial domain)。
重建模塊474經配置以組合空間域中的殘差與預測結果以形成經解碼的塊、圖片和視訊。 注意,可以執行其他合適的操作,例如去塊操作等,以改善視覺品質。 在一些實施例中,重建模塊474輸出重建的訊框。 重建的訊框可以緩存在記憶體電路(未示出)中,然後可以用作參考訊框。
訊框間解碼器480包括DMVR模塊485和DMVR早期終止控制器490。DMVR模塊485被配置為執行DMVR的操作(諸如參考第2圖所討論的操作或在沒有模板塊的情況下精化運動矢量的操作),並向DMVR提前終止控制器490提供資訊。DMVR提前終止控制器490被配置為確定是否滿足提前終止條件(例如參考第2圖描述的提前終止條件)或DMVR 禁用條件。當滿足提前終止條件時,DMVR提前終止控制器490向DMVR模塊485提供控制信號,以在DMVR完全執行之前終止DMVR。 或者,當滿足DMVR禁用條件時,DMVR提前終止控制器490向DMVR模塊485提供控制信號以禁用DMVR處理。
第5圖示出了概述根據本公開的實施例的示例過程500的流程圖。 在一個示例中,過程500由控制器執行,例如DMVR提前終止控制器140、DMVR提前終止控制器190、DMVR提前終止控制器340、DMVR提前終止控制器490等。 該過程在S501開始並進入S510。
在S510,接收訊框間預測資訊。 在一個示例中,訊框間預測資訊指示合併模式雙預測。 此外,訊框間預測資訊指示相鄰塊、第一參考訊框和第二參考訊框。 控制器可以擷取與相鄰塊相關聯的第一運動矢量和第二運動矢量。 基於第一運動矢量,控制器確定第一參考訊框中的第一參考塊和第二參考訊框中的第二參考塊。 此外,控制器可以獲得例如第一參考訊框和第二參考訊框的POC、第一參考訊框和第二參考訊框的QP。
在S520,控制器確定是否跳過DMVR的整個操作。 在一個示例中,控制器計算第一參考塊和第二參考塊的差值度量(difference measure),並將差值度量與閾值進行比較以確定失真是否太大。 在另一示例中,控制器計算當前塊的逆L形區域和第一參考塊(或第二參考塊)的逆L形區域的差值度量,並將差值度量與閾值進行比較以確定失真是否太大。在另一示例中,控制器計算第一參考塊的逆L形區域和第二參考塊的逆L形區域的差值度量,並將差值度量與閾值進行比較以確定失真是否太大。 在另一示例中,控制器計算第一參考訊框和第二參考訊框之間的POC差(或QP差),並將POC差(或QP差)與閾值進行比較以確定失真是否太大。 當失真太大時,處理進入S570; 否則,處理進入S530。
在另一示例中,控制器計算當前塊的逆L形區域和第一參考塊的逆L形區域的第一差值度量,計算當前塊的逆L形區域和第二考塊的逆L形區域的第二差值度量,並確定這兩個差值是否相似。 當兩個差值不相似時(例如,第一差值和第二差值的差值大於閾值),處理進行到S570; 否則,處理進入S530。
在S530,控制器提供控制信號以使能(enable)DMVR,並且執行DMVR的一部分操作。 在一個示例中,基於第一參考塊和第二參考塊的結合(例如,像素級的平均、像素級的加權平均)來計算模板塊。 此外,基於模板塊,精化第一運動矢量。
在S540,控制器確定是否跳過DMVR的剩餘操作。 在一個示例中,控制器計算第一精化運動矢量和第一運動矢量的差值度量,並將差值度量與閾值進行比較,以確定精化運動矢量是否與原始運動矢量太相似。 在一個示例中,控制器計算由第一精化運動矢量和模板塊指向的第一重新定位的參考塊的差值度量,並將差值度量與閾值進行比較以確定重新定位的參考塊是否過於類似於模板塊。 當相似度太高時,處理進行到S560; 否則,過程進入S550。
在S550,控制器提供控制信號以繼續DMVR並執行DMVR的剩餘操作。 例如,基於模板塊,精化第二運動矢量。
在S560,從緩存設備擷取精化之前的第一運動矢量。
在S570,基於運動矢量執行訊框間雙預測以生成預測結果。 在一個示例中,當第一精化運動矢量和第二精化運動矢量都可用時,基於第一精化運動矢量和第二精化運動矢量執行訊框間雙預測。 在一個示例中,當跳過整個DMVR時,基於第一運動矢量和第二運動矢量執行訊框間雙預測。 在一個示例中,當部分地執行DMVR時,基於第一運動矢量和第二運動矢量來執行訊框間雙預測。 然後,過程進行到S599並終止。
注意,在一些示例中,可以跳過步驟S560。 因此,當部分地執行DMVR時,基於第一精化運動矢量和第二運動矢量執行訊框間雙預測。
第6圖示出了概述根據本公開的實施例的過程600的流程圖。 在一個示例中,過程600由控制器執行,例如DMVR提前終止控制器140,DMVR提前終止控制器190,DMVR提前終止控制器340,DMVR提前終止控制器490等。 該過程在S601開始並進入S610。
在S610,接收訊框間預測資訊。 在一個示例中,訊框間預測資訊指示當前CU的合併模式雙預測。
在S620,控制器確定當前CU的大小是否大於最大DMVR大小。 對於DMVR處理允許的處理單元,最大DMVR大小是最大大小(例如,總樣本的最大數量,最大行數或最大列數)。 當當前CU的大小小於或等於最大DMVR大小時,過程進入S630; 否則,過程進行到S640。
在S630,當前CU被使能DMVR處理。 因此,在當前CU的訊框間預測期間執行DMVR以生成預測結果。 然後,過程進行到S699並終止。
在S640,當前CU禁用DMVR處理。 禁用DMVR處理會降低計算複雜性。 然後,在不執行DMVR的情況下對當前CU執行訊框間預測。 該過程進行到S699並終止。
第7圖示出了概述根據本公開的實施例的過程700的流程圖。 在一個示例中,過程700由控制器執行,例如DMVR提前終止控制器140、DMVR提前終止控制器190、DMVR提前終止控制器340、DMVR提前終止控制器490等。 該過程在S701開始並進行到S710。
在S710,接收訊框間預測資訊。 在一個示例中,訊框間預測資訊指示當前CU的合併模式雙預測。
在S720,控制器確定當前CU的大小是否大於最大DMVR大小。 對於DMVR處理允許的處理單元,最大DMVR大小是最大大小(例如,總樣本的最大數量、最大行數或最大列數)。 當當前CU的大小小於或等於最大DMVR大小時,過程進入S730; 否則,過程進行到S740。
在S730,當前CU被使能DMVR處理。 因此,在當前CU的訊框間預測期間執行DMVR以生成預測結果。 然後,該過程進行到S799並終止。
在S740,將當前CU劃分為多個子單元,其具有等於或小於最大DMVR大小的較小尺寸。
在S750,在訊框間預測期間分別對子單元執行DMVR處理。 在一個示例中,子單元從當前CU繼承運動矢量。 然後,在各個訊框間預測期間將DMVR處理分別應用於子單元。 該過程進行到S799並終止。
第8圖示出了概述根據本公開的實施例的過程800的流程圖。 在一個示例中,過程800由控制器執行,例如DMVR提前終止控制器140、DMVR提前終止控制器190、DMVR提前終止控制器340、DMVR提前終止控制器490等。 該過程在S801開始並進行到S810。
在S810,接收訊框間預測資訊。 在一個示例中,訊框間預測資訊指示當前CU的合併模式雙預測。
在S820,控制器確定當前CU的大小是否大於最大DMVR大小。 對於DMVR處理允許的處理單元,最大DMVR大小是最大大小(例如,總樣本的最大數量,最大行數或最大列數)。 當當前CU的大小小於或等於最大DMVR大小時,過程進行到S830; 否則,過程進行到S840。
在S830,當前CU被使能用於DMVR處理。 因此,在當前CU的訊框間預測期間執行DMVR以生成預測結果。 然後,過程進行到S899並終止。
在S840,使能子採樣特徵以用於失真計算。 失真計算針對最佳運動矢量候選選擇計算例如SAD或平方誤差之和(sum of squared errors,簡寫為SSE)等。 在一個示例中,當使能子採樣特徵時,失真計算基於當前CU中的奇數列或偶數列。
在S850,使用子採樣特徵對當前CU執行DMVR處理。 例如,在DMVR處理期間,基於當前CU的子集(例如,當前CU中的奇數列,當前CU中的偶數列等)來計算失真。 該過程進行到S899並終止。
注意,第3圖和第4圖示例中的各種組件和模塊可以使用任何合適的技術來實現。 在一個示例中,使用積體電路實現模塊。 在另一示例中,模塊被實現為執行軟體指令的處理器。
當以硬體實現時,硬體可以包括分立組件、積體電路、專用積體電路(ASIC)等中的一個或多個。
雖然已經結合作為示例提出的本發明的特定實施例描述了本公開的各方面,但是可以對示例進行替換、修改和變化。 因此,這裡闡述的實施例旨在是說明性的而非限制性的。在不脫離下述申請專利範圍的情況下,可以進行改變。
100‧‧‧電子系統110‧‧‧第一設備160‧‧‧第二設備170、470‧‧‧解碼器120、320‧‧‧編碼器130、330‧‧‧訊框間編碼器140、190、340、490‧‧‧DMVR提前終止控制器180、480‧‧‧訊框間解碼器200‧‧‧示例210、220、230‧‧‧訊框211、221、225、231、235‧‧‧塊227‧‧‧第一逆L形區域237‧‧‧第二逆L形區域321‧‧‧通用控制模塊322‧‧‧訊框內編碼器323‧‧‧殘差計算器324‧‧‧殘差編碼器325‧‧‧熵編碼器326‧‧‧開關328‧‧‧殘差解碼器332、485‧‧‧DMVR模塊470‧‧‧解碼器471‧‧‧熵解碼器473‧‧‧殘差解碼器474‧‧‧重建模塊472‧‧‧訊框內解碼器500、600、700、800‧‧‧過程S501~S599、S601~S699、S701~S799、S801~S899‧‧‧步驟
第1圖示出了根據本公開的實施例的電子系統的圖。 第2圖示出了根據本公開的實施例的訊框間雙預測的示例。 第3圖示出了根據本公開的實施例的編碼器的圖。 第4圖示出了根據本公開的實施例的解碼器的圖。 第5圖示出了概述根據本公開的實施例的示例過程的流程圖。 第6圖示出了概述根據本公開的實施例的過程的流程圖。 第7圖示出了概述根據本公開的實施例的過程的流程圖。 第8圖示出了概述根據本公開的實施例的過程的流程圖。
S601~S699‧‧‧步驟
Claims (12)
- 一種視訊編解碼方法,包括:接收第一運動矢量和第二運動矢量,以開始對視訊的當前訊框中的預測塊的該第一運動矢量和該第二運動矢量的運動矢量精化,該第一運動矢量指示第一參考訊框中的第一參考塊,並且該第二運動矢量指示第二參考訊框中的第二參考塊,該當前訊框在該視訊中的第一參考訊框和第二參考訊框之間;基於該第一參考塊和該第二參考塊的結合計算模板塊;參考該模板塊對該第一運動矢量進行精化,以獲得指示該第一參考訊框中的第一重新定位的參考塊的第一精化運動矢量;基於該第一運動矢量的精化來計算該運動矢量精化的性能度量;以及基於該性能度量選擇性地終止該第二運動矢量的該運動矢量精化。
- 根據申請專利範圍第1項所述之視訊編解碼方法,還包括:接收與相鄰塊相關聯的該第一運動矢量和該第二運動矢量到該預測塊,該預測塊從該相鄰塊繼承該第一運動矢量和該第二運動矢量。
- 根據申請專利範圍第1項所述之視訊編解碼方法,其中,基於該第一運動矢量的精化來計算該運動矢量精化的該性能度量還包括:計算該第一運動矢量和第該一精化運動矢量的相似度。
- 根據申請專利範圍第3項所述之視訊編解碼方法,還包括:當該第一運動矢量和該第一精化運動矢量相同時,終止該第二運動矢量的該運動矢量精化。
- 根據申請專利範圍第3項所述之視訊編解碼方法,還包括:當該相似度滿足相似性要求時,終止該第二運動矢量的該運動矢量精化。
- 根據申請專利範圍第5項所述之視訊編解碼方法,還包括:接收指示用於確定該相似性要求的參數、模式和閾值中的至少一個的信號。
- 根據申請專利範圍第5項所述之視訊編解碼方法,還包括:在切片級、圖片級或序列級之一接收信號,該信號指示該相似性要求。
- 根據申請專利範圍第5項所述之視訊編解碼方法,還包括:該相似性要求是預定義的。
- 根據申請專利範圍第1項所述之視訊編解碼方法,其中,基於該第一運動矢量的精化來計算該運動矢量精化的該性能度量還包括:計算該模板塊和該第一重新定位的參考塊之間的失真。
- 根據申請專利範圍第9項所述之視訊編解碼方法,還包括:當該失真指示該模板塊和該第一重新定位的參考塊之間沒有失真時,終止該運動矢量精化。
- 根據申請專利範圍第9項所述之視訊編解碼方法,還包括:當該失真小於閾值時終止該運動矢量精化。
- 根據申請專利範圍第1項所述之視訊編解碼方法,還包括:在精化該第一運動矢量之前在記憶體電路中緩存該第一運動矢量;當終止該第二運動矢量的該運動矢量精化時,從記憶體電路中擷取該第一運動矢量;以及基於該第一運動矢量和該第二運動矢量計算該預測塊。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762580505P | 2017-11-02 | 2017-11-02 | |
US62/580,505 | 2017-11-02 | ||
US201862621131P | 2018-01-24 | 2018-01-24 | |
US62/621,131 | 2018-01-24 | ||
US16/168,724 US11750832B2 (en) | 2017-11-02 | 2018-10-23 | Method and apparatus for video coding |
US16/168,724 | 2018-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201919401A TW201919401A (zh) | 2019-05-16 |
TWI719356B true TWI719356B (zh) | 2021-02-21 |
Family
ID=66243425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107138889A TWI719356B (zh) | 2017-11-02 | 2018-11-02 | 視訊編解碼裝置和相應的視訊編解碼方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11750832B2 (zh) |
EP (1) | EP3701718B1 (zh) |
KR (1) | KR102391337B1 (zh) |
CN (1) | CN111971962B (zh) |
TW (1) | TWI719356B (zh) |
WO (1) | WO2019085892A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7315480B2 (ja) * | 2018-01-30 | 2023-07-26 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
EP3780600B1 (en) * | 2018-04-04 | 2024-07-03 | Nippon Hoso Kyokai | Prediction image correcting device, image encoding device, image decoding device, and program |
WO2019234674A1 (en) * | 2018-06-07 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Integer motion compensation |
CN117354508A (zh) * | 2018-06-29 | 2024-01-05 | 英迪股份有限公司 | 对图像解码和编码的方法及非暂态计算机可读存储介质 |
TWI719519B (zh) * | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 對於dmvr的塊尺寸限制 |
WO2020057524A1 (en) * | 2018-09-19 | 2020-03-26 | Huawei Technologies Co., Ltd. | Method for skipping refinement based on patch similarity in bilinear interpolation based decoder-side motion vector refinement |
WO2020084462A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on block size |
WO2020084461A1 (en) * | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions on decoder side motion vector derivation based on coding information |
WO2020094000A1 (en) | 2018-11-05 | 2020-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Interpolation for inter prediction with refinement |
US11146810B2 (en) * | 2018-11-27 | 2021-10-12 | Qualcomm Incorporated | Decoder-side motion vector refinement |
CN111294590A (zh) * | 2018-12-06 | 2020-06-16 | 华为技术有限公司 | 用于多假设编码的加权预测方法及装置 |
US11388432B2 (en) * | 2018-12-10 | 2022-07-12 | Qualcomm Incorporated | Motion estimation through input perturbation |
JP7005480B2 (ja) * | 2018-12-27 | 2022-01-21 | Kddi株式会社 | 画像復号装置、画像符号化装置、プログラム及び画像処理システム |
EP4333436A3 (en) * | 2019-02-08 | 2024-05-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and devices for selectively applying bi-directional optical flow and decoder-side motion vector refinement for video coding |
CN113424533A (zh) | 2019-02-14 | 2021-09-21 | 北京字节跳动网络技术有限公司 | 复杂度降低的解码器侧运动推导 |
AU2020226553A1 (en) * | 2019-02-22 | 2021-08-19 | Huawei Technologies Co., Ltd. | Early termination for optical flow refinement |
WO2020177682A1 (en) * | 2019-03-03 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector management for decoder side motion vector refinement |
US11039150B2 (en) * | 2019-04-19 | 2021-06-15 | Tencent America LLC | Method and apparatus for video coding |
CN117692630A (zh) * | 2019-05-11 | 2024-03-12 | 北京字节跳动网络技术有限公司 | 视频处理中编解码工具的选择性使用 |
MX2021013978A (es) * | 2019-05-15 | 2022-04-01 | Huawei Tech Co Ltd | Un codificador, un decodificador y metodos correspondientes. |
WO2020228834A1 (en) * | 2019-05-16 | 2020-11-19 | Beijing Bytedance Network Technology Co., Ltd. | Adaptive bit-depth conversion in video coding |
ES2968830T3 (es) * | 2019-06-04 | 2024-05-14 | Huawei Tech Co Ltd | Intercodificación en codificación de vídeo con soporte de múltiples capas |
CN117221548B (zh) * | 2019-06-17 | 2024-06-25 | 北京达佳互联信息技术有限公司 | 用于视频编解码中的解码器侧运动矢量细化的方法和装置 |
JP6914462B2 (ja) * | 2019-06-20 | 2021-08-04 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
JP6835337B2 (ja) * | 2019-06-20 | 2021-02-24 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
CN117812270A (zh) * | 2019-06-21 | 2024-04-02 | 华为技术有限公司 | 编码器、解码器及对应方法 |
US11190789B2 (en) * | 2019-06-30 | 2021-11-30 | Tencent America LLC | Method and apparatus for video coding using inter-prediction mode signaling to dertermine motion vectors |
WO2021021698A1 (en) * | 2019-07-27 | 2021-02-04 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for decoder-side motion vector refinement in video coding |
US11223840B2 (en) * | 2019-08-19 | 2022-01-11 | Tencent America LLC | Method and apparatus for video coding |
CN113596464A (zh) * | 2019-09-23 | 2021-11-02 | 杭州海康威视数字技术股份有限公司 | 编解码方法方法、装置及设备 |
CN110636302B (zh) * | 2019-09-27 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 视频解码、编码方法和装置、存储介质及解码器、编码器 |
WO2021062283A1 (en) * | 2019-09-27 | 2021-04-01 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for decoder-side motion vector refinement in video coding |
EP4133734A4 (en) * | 2020-04-08 | 2023-08-23 | Beijing Dajia Internet Information Technology Co., Ltd. | METHODS AND DEVICES FOR SIGNALING SYNTAX ELEMENTS IN VIDEO CODING |
CN112312131B (zh) * | 2020-12-31 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种帧间预测方法、装置、设备及计算机可读存储介质 |
JP7076660B2 (ja) * | 2021-01-20 | 2022-05-27 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
JP7026276B2 (ja) * | 2021-01-20 | 2022-02-25 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
WO2023055176A1 (ko) * | 2021-10-01 | 2023-04-06 | 엘지전자 주식회사 | 디코더 사이드 움직임 벡터 리파인먼트 기반 영상 코딩 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW480885B (en) * | 1999-07-06 | 2002-03-21 | Ind Tech Res Inst | Fast motion-compensated video frame interpolator |
CN101325710A (zh) * | 2006-11-21 | 2008-12-17 | Vixs***公司 | 视频编码中具有多种成本计算方法的运动细化引擎及方法 |
US20110176611A1 (en) * | 2010-01-15 | 2011-07-21 | Yu-Wen Huang | Methods for decoder-side motion vector derivation |
WO2017036414A1 (en) * | 2015-09-02 | 2017-03-09 | Mediatek Inc. | Method and apparatus of decoder side motion derivation for video coding |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8913660B2 (en) | 2005-04-14 | 2014-12-16 | Fastvdo, Llc | Device and method for fast block-matching motion estimation in video encoders |
WO2008027192A2 (en) * | 2006-08-25 | 2008-03-06 | Thomson Licensing | Methods and apparatus for reduced resolution partitioning |
US8599921B2 (en) | 2009-03-27 | 2013-12-03 | Vixs Systems, Inc | Adaptive partition subset selection module and method for use therewith |
CN102215386B (zh) * | 2010-04-09 | 2013-03-27 | 华为技术有限公司 | 视频图像块处理方法及装置 |
US20110310976A1 (en) * | 2010-06-17 | 2011-12-22 | Qualcomm Incorporated | Joint Coding of Partition Information in Video Coding |
US20130329800A1 (en) * | 2012-06-07 | 2013-12-12 | Samsung Electronics Co., Ltd. | Method of performing prediction for multiview video processing |
US11425395B2 (en) * | 2013-08-20 | 2022-08-23 | Google Llc | Encoding and decoding using tiling |
US9762927B2 (en) * | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
WO2015166639A1 (ja) * | 2014-04-28 | 2015-11-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化方法、復号方法、符号化装置および復号装置 |
WO2015194669A1 (ja) * | 2014-06-19 | 2015-12-23 | シャープ株式会社 | 画像復号装置、画像符号化装置および予測画像生成装置 |
KR20170020778A (ko) * | 2014-06-20 | 2017-02-24 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
WO2017088093A1 (en) * | 2015-11-23 | 2017-06-01 | Mediatek Singapore Pte. Ltd. | On the smallest allowed block size in video coding |
CN114786009A (zh) * | 2016-03-16 | 2022-07-22 | 寰发股份有限公司 | 视频编码中限制块尺寸的视频数据处理方法与装置 |
CN106604035B (zh) | 2017-01-22 | 2019-10-18 | 北京君泊网络科技有限责任公司 | 一种用于视频编码和压缩的运动估计的方法 |
US10701366B2 (en) * | 2017-02-21 | 2020-06-30 | Qualcomm Incorporated | Deriving motion vector information at a video decoder |
US10602180B2 (en) * | 2017-06-13 | 2020-03-24 | Qualcomm Incorporated | Motion vector prediction |
GB2564133B (en) * | 2017-07-04 | 2021-03-17 | Canon Kk | Method and apparatus for encoding or decoding video data with sub-pixel motion vector refinement |
US11265551B2 (en) * | 2018-01-18 | 2022-03-01 | Qualcomm Incorporated | Decoder-side motion vector derivation |
WO2020017423A1 (en) * | 2018-07-17 | 2020-01-23 | Panasonic Intellectual Property Corporation Of America | Motion vector prediction for video coding |
-
2018
- 2018-10-23 US US16/168,724 patent/US11750832B2/en active Active
- 2018-10-30 KR KR1020207015594A patent/KR102391337B1/ko active IP Right Grant
- 2018-10-30 CN CN201880069443.2A patent/CN111971962B/zh active Active
- 2018-10-30 WO PCT/CN2018/112650 patent/WO2019085892A1/en unknown
- 2018-10-30 EP EP18873888.4A patent/EP3701718B1/en active Active
- 2018-11-02 TW TW107138889A patent/TWI719356B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW480885B (en) * | 1999-07-06 | 2002-03-21 | Ind Tech Res Inst | Fast motion-compensated video frame interpolator |
CN101325710A (zh) * | 2006-11-21 | 2008-12-17 | Vixs***公司 | 视频编码中具有多种成本计算方法的运动细化引擎及方法 |
US20110176611A1 (en) * | 2010-01-15 | 2011-07-21 | Yu-Wen Huang | Methods for decoder-side motion vector derivation |
WO2017036414A1 (en) * | 2015-09-02 | 2017-03-09 | Mediatek Inc. | Method and apparatus of decoder side motion derivation for video coding |
Non-Patent Citations (3)
Title |
---|
Steffen Kamp ; Mathias Wien, "Decoder-Side Motion Vector Derivation for Block-Based Video Coding," ^&rn^IEEE Transactions on Circuits and Systems for Video Technology, Year: 2012 Volume: 22 , Issue: 12 ^&rn^Pages: 1732 - 1745. ^&rn^ |
Steffen Kamp ; Mathias Wien, "Decoder-Side Motion Vector Derivation for Block-Based Video Coding," ^&rn^IEEE Transactions on Circuits and Systems for Video Technology, Year: 2012 Volume: 22 , Issue: * |
Steffen Kamp ; Michael Evertz ; Mathias Wien, "Decoder side motion vector derivation for inter frame video coding," 2008 15th IEEE International Conference on Image Processing ^&rn^Year: 2008, Pages: 1120 - 1123.^&rn^ |
Also Published As
Publication number | Publication date |
---|---|
US11750832B2 (en) | 2023-09-05 |
EP3701718A4 (en) | 2021-05-19 |
US20190132606A1 (en) | 2019-05-02 |
KR102391337B1 (ko) | 2022-04-26 |
EP3701718A1 (en) | 2020-09-02 |
CN111971962A (zh) | 2020-11-20 |
TW201919401A (zh) | 2019-05-16 |
CN111971962B (zh) | 2022-06-17 |
KR20200078609A (ko) | 2020-07-01 |
EP3701718B1 (en) | 2023-12-13 |
WO2019085892A1 (en) | 2019-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI719356B (zh) | 視訊編解碼裝置和相應的視訊編解碼方法 | |
JP6714695B2 (ja) | 動的な解像度切換えを用いたリアルタイムビデオエンコーダレート制御 | |
RU2498523C2 (ru) | Быстрое принятие решения о дельте параметра квантования макроблока | |
EP2733951A1 (en) | Method for decoding moving picture using adaptive scanning | |
MX2007000810A (es) | Metodo y aparato para conversion ascendente de velocidad por cuadro asistido de codificador (ea-fruc) para compresion de video. | |
BRPI0304565B1 (pt) | Método de predição de movimento compensado para uso na codificação da sequência de vídeo digital, codificador e decodificador de vídeo para codificar/decodificar uma sequência de vídeo digital usando predição de movimento compensado, terminal de miltimídia, e, codec de vídeo | |
WO2006110013A1 (en) | Method for scalably encoding and decoding video signal | |
KR20170137090A (ko) | 디스플레이 스트림 압축을 위한 레이트 제약형 폴백 모드 | |
US20200021850A1 (en) | Video data decoding method, decoding apparatus, encoding method, and encoding apparatus | |
KR20080033813A (ko) | 데이터 인코딩/디코딩 방법 및 장치 | |
US20150222933A1 (en) | Video coding | |
EP1603343A2 (en) | Method and apparatus for spatial predictive encoding and/or decoding of video data | |
KR20060043118A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
KR20060043050A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
KR100586103B1 (ko) | 동영상 부호화 방법 | |
US20130170565A1 (en) | Motion Estimation Complexity Reduction | |
JP2005341093A (ja) | コンテンツ適応化装置、コンテンツ適応化システム、コンテンツ適応化方法 | |
KR20060043120A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
KR101766600B1 (ko) | 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법 | |
KR101672085B1 (ko) | 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법 | |
KR100955828B1 (ko) | 참조 프레임 선택을 이용한 고성능 멀티미디어 코덱에 사용되는 움직임 추정 연산 방법 | |
Lee et al. | Distributed video codec with spatiotemporal side information | |
WO2020064729A1 (en) | Transformation selection by transmitting a transformation set indicator for use in video coding | |
Chang et al. | A low complexity error concealment method for H. 264 video coding facilitating hardware realization | |
KR20060043867A (ko) | 영상 신호의 인코딩 및 디코딩 방법 |