TWI677238B - 視訊編解碼的解碼器側運動向量恢復 - Google Patents
視訊編解碼的解碼器側運動向量恢復 Download PDFInfo
- Publication number
- TWI677238B TWI677238B TW107100485A TW107100485A TWI677238B TW I677238 B TWI677238 B TW I677238B TW 107100485 A TW107100485 A TW 107100485A TW 107100485 A TW107100485 A TW 107100485A TW I677238 B TWI677238 B TW I677238B
- Authority
- TW
- Taiwan
- Prior art keywords
- motion vector
- candidate
- motion
- video data
- decoder
- Prior art date
Links
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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
與方法、裝置以及電腦可讀媒介有關的本發明所描述的技術被配置于決定運動向量,該技術與編碼器以及解碼器兩者有關。例如,解碼器接收與一組幀有關的壓縮的視訊資料,該解碼器使用一解碼器側預測子細化技術計算來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估算該當前幀的運動。該計算包括檢索與該當前幀有關一第一運動向量,使用該第一運動向量執行解碼進程的一第一部分,檢索與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量,以及使用該第二運動向量執行該解碼進程的一第二部分。
Description
本申請要求在35U.S.C§119(e)下的於2017年1月5日遞交的標題為“METHODS OF MOTION VECTOR RESTORATION FOR DECODER-SIDE PREDICTOR REFINEMENT”,號碼為62/442,472的美國臨時申請案以及與於2017年3月31日遞交的標題為“METHODS OF MOTION VECTOR RESTORATION FOR DECODER-SIDE PREDICTOR REFINEMENT”,號碼為62/479,350的美國臨時申請案的優先權,其整體通過引用納入其中。
此處所描述之技術總體上涉及視訊編解碼,特別地涉及解碼器側運動向量恢復。
視訊編解碼涉及數位視訊信號的壓縮(以及解壓縮),視訊編解碼標準的示例包括H.264視訊壓縮標準,以及其後繼的高效視訊編解碼(High Efficiency Video Coding,HEVC)。運動視訊通過以週期時間間隔(periodic time intervals)拍攝信號的快照(snapshot)所形成,以致播放這系列快照或幀,產生運動的觀感。視訊編碼器包括預測模組,其使用相鄰視訊幀之間的相似性以意圖減少冗餘(redundancy)。從通常被稱為參考幀之一個或複數個過去或未
來幀,來創建預測幀,不用作參考幀的複數個幀通常稱為非參考幀(non-reference frame)。
因為每一個幀可能包括成千上萬個像素,視訊編解碼技術通常不會一下子處理幀的所有像素。因此,編碼幀被拆分成複數個塊,其通常被稱為巨集塊(macroblock)。編碼器試著找到與在參考幀中編碼的塊相似的一塊,而不是直接編碼每一塊的原始像素值。如果編碼器找到一相似塊,該編碼器可以使用運動向量對該塊進行編碼,該運動向量是指向參考幀中匹配塊的一二維(two-dimensional)向量。
一些技術明確地發信運動向量至解碼器,這些模式的示例包括高效視訊編碼(HEVC)中合併模式(merge mode)以及高級運動向量預測(advanced motion vector prediction,AMVP)模式。然而,必須發信運動向量可能會消耗大量的資料,否則該些資料可以由發射器(transimitter)使用以對其他資訊進行編碼。因此,解碼器側運動向量細化工具可以用於細化、預測和/或生成運動資訊,以致可以推導運動資訊而不需要明確地發信。
有鑑於此,根據本發明所公開的主題,提供了用於解碼器側運動向量恢復技術的裝置、系統以及方法,其提高了該解碼器側運動向量恢復技術的執行速度以及效率。
與用於解碼視訊資料的解碼方法有關的一些實施例,該方法包括接收與一組幀有關的壓縮的視訊資料,以及使用一解碼器側預測子細化技術,計算用於來自於該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動。該計算包括檢索與該當前幀有關的一第一運動向量,使用該第一
運動向量執行解碼進程的一第一部分,檢索與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量,以及使用該第二運動向量執行該解碼進程的一第二部分。
在一些示例中,該第一運動向量包括一未細化的運動向量,該第二運動向量包括一細化的運動向量,該細化的MV是使用一解碼器側預測子細化技術進行細化,該解碼進程的該第一部分包括一解析部分、一運動向量推導部分或者兩者,以及該解碼進程的該第二部分包括一重構部分。
在一些示例中,該解碼方法包括檢索與一第二幀有關的一第三運動向量,其中該第三運動向量是一細化的運動向量,使用該第一運動向量以及該第三運動向量執行該解碼進程的該第一部分,以及使用該第二運動向量以及該第三運動向量執行該解碼進程的該第二部分。
在一些示例中,執行該解碼進程的該第一部分包括使用該第一運動向量以及該第三運動向量執行一運動向量推導部分,其中該運動向量推導部分包括運動向量預測推導、合併候選推導或者兩者。
在一些示例中,執行該解碼進程的該第一部分包括參考該第一運動向量作為該當前幀的一解碼的運動向量。
在一些示例中,該解碼方法包括使用該第二運動向量以及該第三運動向量去執行運動補償、重疊塊運動補償、去塊或者它們的任何組合。
在一些示例中,該解碼方法包括決定一編碼樹單元約束沒有被應用於該壓縮的視訊資料,以及檢索與該當前幀有關的該第一運動向量包括檢索該當前幀的一未細化的運動向量,以及與一第二幀
有關的一細化的運動向量。
在一些示例中,檢索與該當前幀有關的該第一運動向量包括檢索一當前編碼樹單元列的一未細化的運動向量,一上方編碼樹單元列、其他方塊或者其他切片的一細化的運動向量,以及與一第二幀有關的一細化的運動向量。
一些實施例與用於解碼視訊資料的一解碼方法有關。該解碼方法包括接收與一組幀有關的壓縮視訊資料,以及使用一解碼器側預測子細化工具計算用於來自於該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動。該計算包括接收表明一起始運動向量候選列表的一起始候選索引的一信號,決定該起始運動向量候選列表中的一第一運動向量候選以及與該第一運動向量候選相比,差異小於一預定的閾值的一第二運動向量,從該起始運動向量候選列表中移除該第二運動向量候選、不添加該第二運動向量候選至該起始運動向量候選列表,或者兩者,以及基於該候選列表以及該起始候選索引計算該新的運動向量。
在一些示例中,該解碼方法包括分析一新的運動向量候選,該新的運動向量候選包括一運動向量對,基於該分析,決定該運動向量對是沿著一相同的運動軌跡,以及添加該運動向量對至該起始運動向量候選列表。
在一些示例中,該解碼方法包括分析一新的運動向量候選,該運動向量候選包括一運動向量對,基於該分析,決定該運動向量對是不沿著一相同的運動軌跡,將該運動向量對拆分成兩個新的候選運動向量對,以及將該兩個新的候選運動向量對添加至該起始運動向量候選列表。
在一些示例中,該拆分包括將該運動向量對的一第一運動向量添加至該兩個新的候選運動向量對的第一個,用該第一運動向量的一鏡像的運動向量填充該兩個新的候選運動向量對的該第一個,將該運動向量對的一第二運動向量添加至該兩個新的候選運動向量對的第二個,以及用該第二運動向量的一鏡像的運動向量填充該兩個新的候選運動向量對的該第二個。
一些實施例與用於編碼視訊資料的一編碼方法有關。該方法包括計算與一組幀有關的壓縮的視訊資料,包括計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括計算與該當前幀有關的一第一運動向量,使用該第一運動向量執行一編碼進程的一第一部分,計算與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量,以及使用該第二運動向量執行該編碼進程的一第二部分。
在一些示例中,計算該第一運動向量包括計算一未細化的運動向量、一未細化的運動向量集或者兩者,以及執行該編碼進程的該第一部分包括執行一語法編碼部分、一運動向量推導部分、一運動向量預測推導部分或者它們的一些組合。
在一些示例中,執行該運動向量預測推導部分包括生成一合併候選列表、生成一高級的運動向量預測候選列表或者兩者。
在一些示例中,該編碼方法包括使用該未細化的運動向量、該未細化的運動向量集或者兩者執行運動向量編碼、運動向量預測生成或兩者,以致不使用一解碼器側運動向量細化工具對該未細化的運動向量、該未細化的運動向量集或者兩者進行細化。
在一些示例中,計算該第二運動向量包括計算一細化的
運動向量,其中使用一編碼器側細化技術計算該細化的運動向量,將該細化的運動向量存儲于一運動向量緩衝器集中,以及執行該編碼進程的該第二部分包括執行一運動補償部分、一重疊塊運動補償部分、一去塊部分或者它們的一些組合。
一些實施例與配置於解碼視訊資料的一裝置有關。該裝置包括與存儲通信的一處理器,該處理器被配置于執行存儲於該記憶體中的指令,其導致該處理器接收與一組幀有關的壓縮的視訊資料,以及使用一解碼器側預測子細化技術,計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動。該計算包括檢索與該當前幀有關的一第一運動向量,使用該第一運動向量執行一解碼進程的一第一部分,檢索與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量,以及使用該第二運動向量執行該解碼進程的一第二部分。
在一些示例中,該第一運動向量包括一未細化的運動向量,該第二運動向量包括一細化的運動向量,其中使用一解碼器側預測子細化技術對該細化的MV進行細化,該解碼進程的該第一部分包括一解析部分、一運動向量推導部分或者兩者,以及該解碼進程的該第二部分包括一重構部分。
在一些示例中,該處理器配置于執行存儲於該記憶體中的指令,該指令導致該處理器去檢索與一第二幀有關的一第三運動向量,其中該第三運動向量是一細化的運動向量,使用該第一運動向量以及該第三運動向量執行該解碼進程的該第一部分,以及使用該第二運動向量以及該第三運動向量執行該解碼進程的該第二部分。
一些實施例與配置於解碼視訊資料的一裝置有關。該裝
置包括與記憶體通信的一處理器,該處理器配置于執行存儲於該記憶體中的指令,其導致該處理器去接收與一組幀有關的壓縮的視訊資料,以及使用一解碼器側預測子細化技術,計算用於來自於該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估算該當前幀的運動。該計算包括接收表明用於一起始運動向量候選列表的一起始候選索引的一信號,決定該起始運動向量候選列表中的一第一運動向量候選以及包括與該第一運動向量候選相比,差異小於一預定的閾值的一第二運動向量,從該起始運動向量候選列表中移除該第二運動向量候選、不添加該第二運動向量候選到該起始運動向量候選列表中或者兩者,以及基於該起始運動向量候選列表以及該起始候選索引計算該新的運動向量。
在一些示例中,該處理器配置於執行存儲在該記憶體中的指令,其導致該處理器去分析一新的運動向量候選,該運動向量候選包括一運動向量對,基於該分析,決定該運動向量對是沿著一相同的運動軌跡,以及將該運動向量對添加到該起始運動向量候選列表中。
在一些示例中,該處理器配置于執行存儲於該記憶體中的指令,其導致該處理器去分析一新的運動向量候選,該運動向量候選包括一運動向量對,基於該分析,決定該運動向量對是不沿著一相同的運動軌跡,將該運動向量對拆分成兩個新的候選運動向量對,以及將該兩個新的候選運動向量對添加到該起始運動向量候選列表中。
一些實施例與配置於編碼視訊資料的一裝置有關。該裝置包括與記憶體通信的一處理器,該處理器被配置于執行存儲於該記憶體中的指令,其導致該處理器去計算與一組幀有關的壓縮的視訊資料,包括計算用於來自該組幀的一當前幀的一新的運動向量,其中該
新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括計算與該當前幀有關的一第一運動向量,使用該第一運動向量執行該編碼進程的一第一部分,計算與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量,以及使用該第二運動向量執行該編碼進程的一第二部分。
在一些示例中,計算該第一運動向量包括計算一未細化的運動向量、一未細化的運動向量集或者兩者,以及執行該編碼進程的該第一部分包括執行一語法編碼部分、一運動向量推導部分、一運動向量預測推導部分或者它們的一些組合。
在一些示例中,計算該第二運動向量包括計算該第二運動向量包括計算一細化的運動向量,其中該細化的運動向量是使用一編碼器側細化技術計算進行細化,將該細化的運動向量存儲于一運動向量緩衝器集中,以及執行該編碼的該第二部分,包括執行一運動補償部分、一重疊的塊運動補償部分、一去塊部分或者它們的一些組合。
因此以及相對廣泛地概述了本發明,所公開的本發明主題的特徵在於更好的理解下面詳細的描述,從而能夠更好的理解對現有技術的貢獻。當然,還存在所公開主題的額外的特徵,其將在下文進行描述,並將構成所附申請專利範圍的主題,應當理解的是,這裡所使用的措辭和術語只是為了描述性的目的,而不應被認為是限制性的。
根據本發明的方法,提高了該解碼器側運動向量恢復技術的執行速度以及效率。
100‧‧‧視訊編解碼配置
102‧‧‧視訊源
104‧‧‧編碼器
106‧‧‧接收裝置
108‧‧‧解碼器
110‧‧‧顯示器
210、212、302、306、312‧‧‧塊
202、204‧‧‧LIST_0 MV
206、208、214、216‧‧‧縮放的MV
201、218‧‧‧參考圖像
205、300‧‧‧當前圖像
304、308‧‧‧參考幀
310、402、404‧‧‧運動軌跡
400‧‧‧縮放運動軌跡
502‧‧‧模板
504‧‧‧當前塊
506‧‧‧Ref 0
508‧‧‧當前圖像
602‧‧‧EC階段
604‧‧‧IQIT/提取階段
606‧‧‧重構階段
608‧‧‧環路濾波階段
610‧‧‧ColMV DMA
612‧‧‧MV調度
614‧‧‧MC高速緩衝記憶體
616‧‧‧記憶體介面仲裁器
618‧‧‧逆轉換
620‧‧‧殘差
622‧‧‧預測
624‧‧‧去塊
626‧‧‧Rec DMA
700‧‧‧解碼器管線執行
702‧‧‧解析階段
704-1‧‧‧IQ/IT階段
704-2‧‧‧參考像素提取階段
706‧‧‧幀內/MC重構階段
708‧‧‧DB/SAO階段
900‧‧‧DMVR進程
902‧‧‧參考圖像0
904‧‧‧參考圖像1
906、910‧‧‧參考塊
908‧‧‧MV0
912‧‧‧MV1
914‧‧‧原始當前塊
1002‧‧‧正方形塊
1006A~1006H‧‧‧1/2像素的正方形搜索
1004A~1004H‧‧‧候選
1202‧‧‧MVA
1204‧‧‧MVA’
1206、1208、1252、1254‧‧‧混合部分
1302‧‧‧當前CTU
1304‧‧‧左邊行
1306‧‧‧上方列
1402、1404、1406、1408‧‧‧MV
1502~1510、1602~1656‧‧‧步驟
在複數個圖式中,各種圖式所示出的每一完全相同或接
近相同的元件由一相同的參考字元所表示。為了簡潔,並不是每一元件都在每個圖式中示出,這些圖式不必然按比例繪製,而是將重點放在說明本文中所描述的技術以及裝置的各個方面。
第1圖示出了一示例性視訊編解碼配置。
第2圖示出了用於推導時間推導的運動向量預測(MVP)的一示例技術。
第3圖示出了使用雙向匹配(bi-lateral matching)合併模式的基於模式的運動向量推導的一示例技術。
第4圖示出了縮放一運動軌跡的示例。
第5圖示出了使用模板匹配(template matching)合併模式的基於模式的運動向量推導的一示例技術。
第6圖示出了一示例性解碼器架構。
第7圖示出了當執行一如第6圖所示的解碼器架構時候的解碼器管線(pipeline)執行的一示例。
第8圖示出了當執行一解碼器側預測子細化工具的解碼器管線執行的一示例。
第9圖示出了使用兩個參考圖像的解碼器側MV細化(DMVR)進程的一示例。
第10圖示出了使用雙向預測塊去搜索新的(例如,更好的)匹配塊的一示例性兩階段搜索進程。
第11圖示出了用於運動補償(MC)塊邊界的在子塊級執行的重疊塊運動補償(overlapped block motion compensation,OBMC)。
第12A圖示出了OBMC方法的一示例性高級概述。
第12B圖示出了當使用一起始MV時OBMC方法的一示例性高級
概述。
第13圖示出了用於當前CTU、左邊行以及上方列的MV集合的高級描述。
第14圖示出了根據一些實施例的,在相同運動軌跡以及不在相同運動軌跡中的複數個候選MV對(MV pair)的示例。
第15圖示出了根據一些實施例的,使用兩個MV解碼視訊資料的示例性解碼方法。
第16A圖示出了根據一些實施例的,用於修剪(pruning)一運動向量候選列表的示例性方法。
第16B圖示出了根據一些實施例的,用於生成一運動向量候選列表的一示例性方法。
發明人已經認識並意識到各種各樣的技術可以用於提升解碼器側預測子細化技術的執行,例如基於模式的運動向量推導(pattern-based motion vector derivation,PMVD)、雙向光流(bi-directional optical flow,BIO)以及解碼器側運動向量細化(decoder-side motion vector refinement,DMVR)。解碼器側預測子細化工具可能因為運動向量是如何計算以及重構而導致處理延遲。與不預測MV的傳統的解碼方法的執行(例如,當運動向量資訊從編碼器被發信)相比,可以使用這些技術來允許類似的執行時間設定。例如,可以調整解碼進程以致MV可以在進程中儘早的重構,從而允許解碼器以隱藏提取資料所需要的等待時間週期的方式去預提取所需要的參考像素。如這一技術的示例,未細化的MV可以恢復至MV緩衝器和/或不改變,以致該未細化的MV可以由解碼器側MV細化工具所
使用或者用於推導用於後續塊的參考MV或MV候選(例如,合併候選列表(merge candidate list)以及高級運動向量預測子列表)。
然而,使用這種技術(例如,恢復未細化的MV)可以會導致塊偽影(blocking artifact)和/或其他編解碼的低效率。例如,除了使用(恢復的)未細化的MV用於解析,解碼器也可以使用未細化的MV用於去塊、重疊塊運動補償(overlapped block motion compensation,OBMC)和/或時間同位的MV推導。此處所描述的技術允許解碼器在解析階段之後執行的處理使用不同的MV(例如,不同於未細化的MV),如去塊、OBMV和/或時間同位的MV推導。例如,用於解析(例如,MV/MVP推導)的第一MV可以是未細化的MV,以及用於其他處理的第二MV可以是細化的MV,其他處理包括去塊、OBMC和/或時間同位的MV推導。
在一些實施例中,解碼器使用兩組運動向量:解碼器使用一組MV用於解碼進程的第一部分(例如,用於解析,包括MV推導以及像素預提取),以及使用第二組MV用於解碼進程的第二部分(例如,用於重構,包括運動補償、OBMC和/或去塊)。在一些實施例中,引入CTU列資料以允許具有細化的MV的額外進程(例如,使用上CTU列的細化的MV)。例如,第一組MV包括當前編碼樹單元列的未細化的運動向量、上編碼樹單元列(upper coding tree unit row)的細化的運動向量以及與第二幀有關的細化的運動向量。第二組MV可以包括當前圖像的細化的MV以及其他圖像的細化的MV。
這些或其他技術可以允許預解析處理以使用細化的MV來避免額外的塊偽影。相比於使用未細化的MV用於在解析階段後執行的處理,這種技術可以提供更高的編解碼增益。本文進一步的描述
了這些或其他技術。
在下文的描述中,為了提供對本發明主旨的全面理解,闡述了關於本發明主旨的系統和方法以及系統和方法可能操作於的環境的許多特定的細節。然而,所公開的主旨可以沒有這些特定的細節來實施,以及在本領域中所周知的某些特徵將不再贅述以避免所公開主旨的複雜化,這些對本領域技術人員將是顯而易見的。此外,所能夠理解的是,下文所提供的示例是示例性的,並且可以設想的是,存在於所公開主旨的範圍內的其他系統以及方法。
第1圖示出了根據一些實施例的一示例性視訊編解碼配置100。視訊源102是一視訊源,例如可以是數位電視、基於互聯網的視訊、視訊通話和/或諸如此類。編碼器104將視訊源編碼成編碼的視訊,編碼器104可以存在于生成視訊源102的相同的裝置(例如用於視訊通話的手機)中,和/或存在於不同的裝置中。接收裝置106從編碼器104接收編碼的視訊,接收裝置104可以通過廣播網路(broadcast network)、移動網路(例如,蜂窩網路(cellular network))和/或互聯網接收視訊作為視訊產品(例如數位視訊光碟或其他電腦可讀媒介)。例如,該接收裝置106可以是電腦、手機或電視。該接收裝置106包括用於解碼編碼的視訊的解碼器108,該接收裝置106也包括用於顯示解碼的視訊的顯示器110。
如上所述,部分解碼進程依賴于運動向量。在編碼器(例如編碼器104)不包括直接在編碼的視訊中的最終MV資訊的示例中,解碼器(例如在接收裝置106中的解碼器108)可以採用接收器側預測工具,通過叫作接收器側預測子細化工具或解碼器側預測子細化工具。接收器側預測子細化工具的示例是基於模式的運動向量推導(PMVD)
模式,其也可以稱為幀率上轉換(Frame Rate Up-Conversion,FRUC)模式。例如,聯合視訊開發團隊(Joint Video Exploration Team,JVET)文獻JVET-F1001中描述的PMVD,標題為“Algorithm Description of Joint Exploration Test Model 6(JEM 6)”,其整體通過引用納入其中。
解碼器側預測子細化工具的其他示例包括雙向光流(BIO)以及解碼器側運動向量細化(DMVR)。例如,BIO是三星在第三次JCTVC會議以及第52次VCEG會議中提出的,並公開於文獻JCTVC-C204以及VECG-AZ05中。例如參見2010年10月7-15日,Elena Alshina和Alexander Alshin,“Bi-Directional Optical Flow)”(JCTVC-C204)(包括兩個附加的微軟Excel試算表),以及2015年6月19-26日,E.Alshina等人,“Known Tools Performance Investigation for Next Generation Video Coding”(VCEG-AZ05)(包括微軟PowerPoint演示),兩者的內容整體通過引用納入本文中。BIO利用光流以及穩定運動的假設去實現取樣級(sample-level)的運動細化。其代表性地僅應用於真正雙向預測塊,該雙向預測塊從兩個參考幀中預測得到,以及其一個是先前幀以及另一個是後續幀。在VECG-AZ05中,BIO利用5×5視窗去推導一個取樣的運動細化,所以對於一個N×N塊,需要一個(N+4)×(N+4)塊的運動補償結果以及對應的梯度(gradient)資訊以推導當前塊的基於取樣的運動細化。使用一個6抽頭梯度濾波器以及一個6抽頭插值濾波器去生成BIO中的梯度資訊。因此,BIO的計算複雜度要遠高於傳統的雙向預測的計算複雜度。對於額外的資訊,參見D.Marpe,H.Schwarz以及T.Wiegand:“Context-Based Adaptive Binary Arithmetic
Coding in the H.264/AVC Video Compression Standard,IEEE Transactions on Circuits and Systems for Video Technology”,Vol.13,No.7 pp.620-636,2003年7月,其整體通過引用納入其中。
PMVD它本身可以使用不同的模式來執行,例如雙向匹配模式或模板匹配模式。典型地,解碼器所使用的模式在編碼的視訊中被發信。因此編碼器發信至解碼器去使用PMVD模式,以及也發信哪一特定的PMVD模式。在一些示例中,當merge_flag或者skip_flag為真的時候,發信FRUC_mrg_flag。如果FRUC_mrg_flag是1,那麼發信FRUC_merge_mode去指示是否選擇雙向匹配合併模式(例如,結合第2-4圖進一步描述)或者模板匹配合併模式(例如,結合第5圖進一步描述)。
總之,兩個PMVD模式使用解碼的像素來推導用於當前塊的運動向量。通過掃描所有參考幀中的所有MV推導一新的時間運動向量預測(MVP),叫做時間推導的MVP。圖像通常指若干幀(例如,一個圖像包括16幀),這些參考幀被放入一個或兩個參考圖像列表中。對於P切片(slice),僅使用一個參考圖像列表,對於B切片,使用兩個參考列表。通常,對於B切片,兩個參考圖像列表用於存儲過去和未來的圖像,其用於過去圖像的通常稱為LST_0以及用於未來圖像的稱為LIST_1。
為了推導LIST_0時間推導的MVP,對於LIST_0參考幀中的每一LIST_0 MV,該MV被縮放以指向當前幀,該當前幀中由縮放的MV所指向的塊是目標當前塊。該MV進一步縮放以指向List_0中的refidx等於0的參考圖像,該參考圖像用於該目標當前塊,進一步縮放的MV存儲於用於該目標當前塊的LIST_0 MV欄位(field)
中。第2圖示出了推導時間推導的MVP的示例200,解碼器掃描refIdx等於1的LIST_0參考圖像中所有LIST_0 MV,對於LIST_0 MV(由箭頭202、204所示),從每一LIST_0 MV推導指向當前圖像的一縮放的MV(由參考圖像201的虛線箭頭206以及208所示)。由每一縮放的MV指向該當前圖像205中的4×4塊210、212,然後,另一縮放的MV 214、216被分配於分別指向當前圖像中的4×4塊210、212,其中縮放的MV 214、216沿著相關聯的縮放的MV 202、204,但起點在當前圖像205中以及終點在LIST_0中refIdx等於0的參考圖像218中。解碼器掃描所有參考圖像中所有4×4塊中的所有MV以生成當前幀的時間推導的LIST_0以及LIST_1 MVP。對於每一MV,該MV被縮放以獲得當前圖像中的交叉塊(crossed block)。解碼器然後計算該縮放的MVP並將其分配給該交叉塊(如由虛線箭頭206、208所指示的塊所示)。
第3圖示出了雙向匹配合併模式的一示例。對於雙向匹配,解碼器找到在LIST_0以及LIST_1中在相同軌跡(trajectory)上的兩個最相似的參考塊。如第3圖所示,對於當前圖像(或“cur pic”)300,解碼器從LIST_0中的參考幀Ref0 304中選擇一個巨集塊(或“塊”)302以及在LIST_1中的參考幀Ref1 308中選擇一第二塊306。該解碼器基本上假定運動是恒定的,並且使用兩個巨集塊的中間點去生成運動軌跡310。該解碼器使用運動軌跡310去找到當前圖像300中的當前預測巨集塊(或“塊”)312。解碼器計算塊302以及塊306之間的差異。如果僅有很小的差異,那麼解碼器知道塊是非常相似的。在一些示例中,解碼器可以計算絕對距離(absolute distance)(或“SAD”)的總和以計算兩個塊之間的差異。該解碼器改變運動軌跡以最小化塊
之間的差異。
解碼器分別構建LIST_0以及LIST_1中的起始運動向量(MV)列表,解碼器使用列表的11個候選,包括合併候選的7個MV以及4個時間推導的MV預測(或MVPs)。該解碼器評估這11個候選以選擇該最佳起始點。特別地,解碼器搜索穿過兩個相鄰幀的一對向量。當考慮每一列表候選的時候,解碼器分析22個運動向量以推導22個運動向量對(motion vector pairs),解碼器通過掃描運動軌跡生成MV對。對於一個列表中的每一MV,一MV對由組合這一MV以及鏡像的MV所生成,該鏡像的MV由縮放該MV至另一個列表所推導。對於每一MV對,使用這一MV對補償兩個參考塊。第4圖示出了縮放運動軌跡的示例400。特別地,從當前圖像到LIST_0中ref1的運動軌跡402被縮放為從當前圖像到LIST_1中ref0的運動軌跡404所示。解碼器計算每一22個運動向量對的成本(例如使用SAD)以及選擇具有最小成本的MV對作為雙向匹配合併模式的起始點。
解碼器接著細化所選擇的MV對,解碼器搜索起始點周圍的不同的塊以決定哪一塊是最佳匹配。在一些示例中,當前PU被拆分成複數個子PU。子PU的深度在序列參數集(sequence parameter set,SPS)中被發信(例如,3)。在一些示例中,最小子PU尺寸是4×4,對於每一子PU,LIST_0以及LIST_1中的複數個起始MV被選擇,其包括PU級推導的MV的複數個MV、0 MV、當前子PU以及右下塊的HEVC同位的TMVP、當前子PU的時間推導的MVP以及左邊以及上方PU/子PU的MV。通過在PU級搜索中使用類似的機制,選擇用於子PU的最佳MV對。在一些示例中,解碼器使用一菱形搜索演算法(Diamond Search algorithm)以搜索不同的塊,然後
使用最終的MV對作為PU級以及子PU級最佳的MV對。
總之,在一些示例中,雙向匹配合併模式首先使用MV列表的,計算候選MV對以獲得起始MV對,以及然後細化該MV對以決定最終的最佳MV對。
對於模板匹配合併模式,假定解碼器去解碼當前塊,該解碼器可以利用使用相鄰塊做為模板以找到最佳匹配。因此解碼器可以使用相鄰塊以找到最佳匹配,然後使用該最佳匹配運動向量。第5圖示出了模板匹配合併的的示例技術。參考第5圖,模板502包括來自當前塊504上方的4列以及來自該當前塊504左邊的4行重構的像素來執行用於當前圖像508的Ref 0 506中的匹配。因此,不像雙向匹配合併模式,模板匹配合併模式不使用兩個參考幀,它僅使用一個參考幀。
類似於雙向匹配合併模式,兩階段匹配也應用於模板匹配。在PU級的匹配中,分別從LIST_0以及LIST_1中選擇11個起始MV。這些MV包來自於合併候選的7個MV以及來自於時間推導的MVP中的4個MV。生成用於兩個列表的兩個不同的起始MV集。對於一個列表中的每一MV,計算具有MV的模板的SAD成本。具有最小成本的MV是最佳MV。然後,執行菱形搜索一細化該MV,細化精度是1/8像素,細化搜索範圍被限制於±8像素內。最終的MV是PU級推導的MV,獨立地生成LIST_0以及LIST_1中的MV。
對於第二階段,子PU級搜索,當前PU被拆分成複數個子PU,子PU的深度在SPS中發信(例如3),最小子PU尺寸是4×4塊。對於在左邊或上方PU邊界的每一子PU,選擇LIST_0以及LIST_1中的複數個起始MV,其包括PU級推導的MV的複數個MV、0 MV、當
前子PU以及右下塊的HEVC同位TMVP、當前子PU的時間推導的MVP以及左邊以及上方PU/子PU的MV。通過使用PU級搜索中類似的機制,選擇該子PU的最佳MV對,執行菱形搜索以細化該MV對,執行用於這一子PU的運動補償去生成用於這一子PU的預測子,對於不在左邊或上方PU邊界的這些PU,不應用第二階段,也就是子PU級搜索,並且對應的MV被設置為等於第一階段中的MV。
當發信雙向預測MV對的時候(例如,對於合併模式,當選擇雙向預測合併候選的時候),為了更好的編解碼效率,可以執行解碼器側MV細化(DMVR)進程以細化複數個LIST_0以及LIST_1 MV。在JVET-D0029,標題為“Decoder-Side Motion Vector Refinement Based on Bilateral Template Matching”中HiSilicon 提出了一種DMVR進程的示例,其整體通過引用納入其中。第9圖示出了根據一些實施例,使用參考圖像0 902以及參考圖像1 904的DMVR進程900。在DMVR進程900中,通過使用來自於MV0 908的參考塊906以及MV1 912的參考塊910的雙向預測生成一雙向預測塊(雙向預測模板)。該雙向預測塊用作為新的當前塊Cur’(在原始當前塊914的位置)來執行運動各級以分別搜索參考圖像0 902以及參考圖像1 904中的較好匹配塊。細化的MV(MV0’以及MV1’,未在第9圖中示出)用於生成用於當前塊的最終的雙向預測的預測塊。
在一些實施例中,DMVR使用兩階段的搜索以細化當前塊的複數個MV來生成MV0’以及MV1’。第10圖示出了根據一些實施例的,使用雙向預測塊搜索新的匹配塊(例如,更好的)的一示例性兩階段搜索進程1000。如第10圖所示,對於參考圖像0中的當前塊,在正方形塊1002(也稱為L0_pred)首先計算當前MV候選的成本。例如,
塊1002的成本可以計算為(Cur’-L0_pred)的絕對差(SAD)的總和來計算初始成本。在搜索的第一階段中,圍繞著塊1002執行一整數像素正方形搜索。如這一示例中所示,評估了8個候選(第10圖中的8個大圓圈1004A-1004H,共同稱為1004)。兩個相鄰圓圈(例如,1004A以及1004B)之間的距離,以及在正方形塊1002與相鄰圓圈例如,1004B)之間的距離是1像素。可以使用一8抽頭濾波器生成用於每一塊1004的8個候選塊,以及可以使用SAD評估每一候選的成本。8個候選1004中具有最佳成本(例如,如果使用SAD,最低成本)的候選被選擇為第一階段中的最佳MV候選,如這一示例中的1004H所示。在第二階段中,圍繞來自於第一階段的該最佳MV候選(這一示例中,1004H)執行1/2像素的正方形搜索,如8個小圓圈1006A-1006H(共同地稱為1/2像素1006)所示。也可以使用一8抽頭濾波器生成用於每一1/2像素1006的候選塊,並且可以使用SAD確定成本。具有最佳成本(例如,最低成本)的MV候選被選為最終的MV,其用於最終的運動補償。對參考塊1904重複該進程以確定用於參考圖像1的最終MV,使用細化的MV重新生成最終雙向預測塊。
第6圖示出了根據一些實施例的一示例性解碼器架構600。熵解碼器包括,例如CABAC或CAVLC熵解碼器,其解析來自於位元流中的語法。ColMV DMA610存儲複數個同位的時間MV,MV調度(diapatch)612重構塊的複數個MV以及通過記憶體介面仲裁器(memory interface arbiter)616將記憶體提取指令發送至MC高速緩衝記憶體(MC cache)614以及DRAM(未示出)中。逆轉換618包括逆量化以及逆轉換(IQIT),其生成重構的殘差620。預測塊622生成幀間運動補償以及幀內預測預測子,去塊624用於減少塊偽影以及Rec
DMA 626存儲重構的像素至外部DRAM。這一架構的示例性元件的進一步細節公開於T.Huang等人,“A 249MPixel/s HEVC video-decoder chip for Quad Full HD applications”,IEEE國際固態電路會議(IEEE International Solid-State Circuits Conference,ISSCC)的技術論文摘要,pp.162-163,2013年2月,其整體通過引用納入其中。值得注意的是,為了管線(pipeline)該架構,該架構被分解為四個階段:EC階段602、IQIT(逆量化以及逆轉換)/提取階段604、重構階段606以及環路濾波階段608。在HEVC以及H.264中,可以在EC階段602(其包括解析)以及重構階段606兩者中推導最終的MV,在一些實施例中,解碼器在解析階段推導最終的MV,以及在解析階段(EC階段602)預提取所需要的參考像素。例如,可以通過完成這個來減少/隱藏DRAM存取時間。
第7圖示出了根據一些實施例的,當執行如第6圖所示解碼器架構的時候,解碼器管線執行700的示例。第7圖包括解析階段702,在該階段期間,運動向量以如上所述的方式進行重構。IQ/IT階段704-1生成用於當前塊的重構的殘差。參考像素提取階段704-2從記憶體中提取參考像素資料,參考幀通常存儲於外部記憶體,例如DRAM。因此,如果解碼器想要在參考幀上做運動補償,解碼器首先需要去外部記憶體檢索參考資料,通常需要大量的等待時間從外部記憶體獲得資料。幀內/MC(運動補償)重構階段706執行預測,去塊(deblocking,DB)/樣本自適應調整偏移(SAO)階段708執行環內濾波進行以提高解碼幀的品質。
通常,解碼器首先解碼CU0,然後是CU1等等。為了給出使用CU0的示例,在t0,解碼器在解析階段702對CU0進行解碼,
包括重構MV。然後,在t1 CU0被移動至IQ/IT階段704-1,為了做幀內/MC重構階段706中的運動補償,解碼器需要在先前階段(參考像素提取階段704-2)做預提取。
如第7圖中所看到的,為了隱藏從記憶體提取資料的等待時間(例如,因此不影響管線執行),因為解碼器需要在幀內/MC重構階段706中重構被執行之前知道運動向量,資料在參考像素提取階段704-2中被預提取並存儲於局部記憶體(local memory)中(例如,SRAM或高速緩衝記憶體)。例如,在MEPG-2/4、H.264/AVC以及HEVC視訊編碼器中,複數個MV可以在該解析階段重構,根據複數個重構的MV,可以從DRAM中提取所需要的參考像素並存儲於局部記憶體中,例如,SRAM或高速緩衝記憶體。在幀內/MC重構階段706,可以從該局部記憶體中載入參考資料而不需要等待週期。
然而,解碼器側預測子細化工具使用相鄰塊去推導運動向量(例如,PMVD,如模板匹配合併模式如何使用相鄰塊去推導運動向量)。然而,在第三階段(幀內/MC重構階段706)以前不生成模板塊(template block)。例如,當應用PMVD的時候,PMVD編碼的塊的最終MV取決於幀內/MC重構階段706中的PMVD搜索進程,其意味著該MV不能在解析階段702中重構,並且因此在參考像素提取階段704-2的資料預提取是不可行的。
第8圖示出了當執行解碼器側預測子細化工具時候,解碼器管線執行的示例。例如,使用PMVD作為示例,在時間t2,因為用於CU0的MV取決於幀內/MC重構階段706中的PMVD搜索進程(其也在t2執行),該MV不能在用於CU1的解析階段(在時間t1)中被重構,因此用於CU1的資料不能在t2的參考像素提取階段704-2被預提取。
這一問題同樣地影響每一CU的處理,從而導致每兩個時隙(time slots)僅有一個CU處理完成。例如,第8圖示出了對於t4以及t5,解碼器僅完成處理CU1,相比於第7圖,其中CU1在t4完成處理以及CU2在t5完成處理。
當解碼器側預測細化技術被用於解碼的時候,可以解決資料預提取的問題。例如,該技術允許仍然以隱藏等待週期的方式對資料進行預提取,如第7圖所示,而不是導致如第8圖所示的延遲。為了便於說明,下面討論的技術引用PMVD作為示例,雖然本領域技術人員可以理解該技術可以適用於其他解碼器側預測細化技術(例如,BIO以及DMVR)。
根據一些實施例,原始候選MV被保存在MV緩衝器中用於下一個解碼進程。在一些實施例中,所選擇的合併候選MV(例如,起始或未細化的MV)被存儲回MV緩衝器,以致解碼器可以參考相鄰塊以及同位塊/圖像。因此,根據一些示例,PMVD塊的MC(例如,在幀內/MC重構階段執行)使用PMVD推導的MV,但是所選擇的合併候選MV被存儲回MV緩衝器用於未來的參考。例如,這可以允許MV在解析階段702中重構,以及參考像素可以在階段704-2被預提取。如果當前塊是PMVD編碼的塊,可以預提取一更大的參考塊(例如,包括細化搜索範圍)。因此,在一些示例中,用於當前塊的MV沒有被細化,但是解碼器使用細化的MV用於補償。
在一些示例中,解碼器可以被配置為不改變MV緩衝器中的MV,例如,解碼器可以存儲起始點(例如,起始MV)到MV緩衝器中,以及做細化以生成細化MV,該細化MV僅用於生成運動補償資料,而不需要改變該MV緩衝器中的MV,用於未來參考(例如,合
併候選列表以及AMVP候選列表生成)的MV緩衝器不改變。
在一些示例中,解碼器可以使用分離的記憶體用於細化。例如,解碼器可以檢索起始MV,運行PMVD以及執行細化而不在原始的MV緩衝器中存儲細化的MV-解碼器將細化的MV存儲於時間緩衝器中。
在一些示例中,解碼器可以發信起始候選用於PMVD。例如,解碼器可發信起始候選索引,其用於從MV候選列表中選擇一起始MV。如此一來,在一範例中,解碼器可以知道11個候選之外的哪一候選將用作為PMVD的起始候選。該解碼器可以首先生成11個起始候選,以及編碼器可以將最佳的候選發信至解碼器。如此一來,在一範例中,由於解碼器知道起始候選,這一信令可以允許該解碼器跳過模板匹配並繼續進行到細化(例如,解碼器可以使用模板匹配以及菱形搜索技術執行細化來細化在起始候選周圍的MV)。雖然MV將由菱形搜索細化,在提出的方法中將僅存儲該起始候選,而不存儲細化的運動向量。
在一些示例中,對於PMVD(例如,包括雙向匹配合併模式以及模板匹配合併模式),合併候選中的LIST_0以及LIST_1 MV被用作為起始MV。在一些示例中,通過搜索所有這些MV可以暗含地推導最佳MV候選,這一方法將需要許多記憶體頻寬(memory bandwidth)。在這一示例中,用於雙向匹配合併模式或模板匹配合併模式的合併索引被發信。所發信的合併索引可以指示,例如,模板匹配合併模式中LIST_0以及LIST_1中的最佳起始MV,以及雙向匹配合併模式中最佳的兩個MV對(一個從LIST_0中推導以及另一個從LIST_1中推導)。通過發信該合併索引,模板匹配步驟可以被限制於,
例如,所發信的合併候選周圍的細化搜索。對於雙向匹配,解碼器可以執行成本估算以從兩個MV對中選擇最佳MV對以及執行細化搜索。對於雙向匹配,如果合併候選是單向的MV,可以通過使用鏡像的(縮放的)MV生成另一個列表中它對應的MV。在一些實施例中,通過使用預定的MV生成方法,LIST_0、LIST_1和/或MV對的最佳起始MV是已知的,LIST_0和/或LIST_1 MV的最佳起始MV,或者最佳MV對被明確地發信以減少頻寬需求。
在一些示例中,當發信一個合併索引的時候,解碼器可以進一步利用所選擇的MV來排除或選擇第一階段(PU級匹配)中的一些候選。例如,解碼器可以排除候選列表中遠離所選擇MV的一些MV,如另一個示例,解碼器可以挑選該候選列表中最接近於所選擇的MV但是在不同參考幀中的N個MV。
如上所述,一些技術通過生成一起始MV候選列表以及發信一候選索引來發信起始MV(例如,去發信起始候選,用於如上所述的PMVD),使用PMVD作為示例,因為PMVD執行MV細化,兩個相似的起始MV候選可能具有相同的細化的最終MV,因此,因為PMVD在起始候選的周圍搜索局部最小值,它們可能具有相同的細化的最終MV,在候選列表中相似的MV可以從候選列表移除,或者修剪該候選列表。
可以使用此處所描述的技術修剪和/或創建運動向量候選列表。第16A圖示出了根據一些實施例的,用於修剪運動向量候選列表的示例性方法1600。第16B圖示出了根據一些實施例的,用於創建運動向量候選列表的示例性方法1650,例如,該列表首先可以是空的,以及無論什麼時候添加新的候選,該技術可以決定該新的候選是
否是冗餘的或者是否與列表中現有的運動向量候選相關聯。如果該候選是冗餘的,那麼將不會添加新的候選。
參見第16A圖,在步驟1602,解碼器存儲一起始運動向量候選列表。例如,傳統的合併候選列表生成進程(例如,上面所描述的)可以用於生成PMVD合併候選列表。參見步驟第16A圖中的1604-1610,對於MV推導,可以將新添加的MV與已經在候選列表中的複數個MV進行比較。如果該複數個MV中的一個(或複數個)與新添加的MV類似,該新添加的MV將從列表中被移除。特別地,在步驟1604中,解碼器將新添加的MV與該候選MV列表中現有的候選進行比較以決定候選的相似性。在步驟1606中,解碼器將該相似性與預定的閾值進行比較,如果該相似性不小於該預定的閾值,解碼器在步驟1608中移除該候選(並前進到步驟1610)。否則,如果該相似性小於該預定的閾值,該方法前進到步驟1610。在步驟1610中,如果候選MV列表中仍有候選需要檢查,該方法重回到步驟1604用於該候選列表中每一剩下的候選。否則,如果該MV候選列表中所有的MV都已與新的候選進行了比較(以及每一比較都大於步驟1606中的閾值),在步驟1612中,解碼器保留該新的MV候選在該MV候選列表中。在步驟1614中,方法1600取走起始運動向量候選列表中首先“N”個候選,N的值可以是以預定的值,N可以用於確保最終的列表尺寸小於預定的最大尺寸。在一些示例中,如果該起始運動向量候選列表小於N個候選,那麼步驟1614不修正該起始運動向量候選列表,方法1600前進到步驟1616並結束。
參考第16B圖,方法1650包括與第16圖A中方法1600相似的一些步驟,包括步驟1602、1604、1606、1610以及1606,進
一步的探討如下。在步驟1602中,解碼器存儲一起始運動向量候選列表。例如,該起始運動向量候選列表可以是空的,在步驟1652,解碼器生成新的運動向量候選,在步驟1604中,該解碼器將新的候選與該起始MV候選列表中現有的候選進行比較以決定該候選的相似性。在一些示例中,如果該起始MV候選列表中還沒有任何候選,雖然未示出,但方法1650可以直接前進到步驟1654並添加候選到該起始MV候選列表中。在步驟1606,解碼器將相似性與預定的閾值進行比較,如果該相似性不小於該預定的閾值,解碼器前進到步驟1654並且不添加新的MV到列表中(以及前進到步驟1610)。如果該相似性小於該預定的閾值,方法1650前進到步驟1654並添加候選至該列表。從步驟1654,該方法1650前進到步驟1656並決定列表尺寸是否等於預定的尺寸,如果不是,該方法前進到步驟1610,否則,該方法前進到步驟1616並結束。在步驟1610中,如果仍有候選需要檢查,該方法1650重回到步驟1604用於每一剩下的候選,否則,方法1650前進到步驟1616並結束。
在一些實施例中,MV的相似性可以基於(a)參考幀索引(或者POC)是否相同,和/或(b)MV差異是否小於閾值來決定。例如,可以使用方程式1來計算MVx與MVy的絕對MV距離的總和:方程式1:abs(MVx0-MVx1)+abs(MVy0-MVy1)<K;其中K是像素距離,例如1/2像素、一個整數像素、兩個整數像素、三個整數像素、3又1/2個整數像素等等。
如另一個示例,MVx的絕對MV距離以及MVy的絕對MV距離可以使用下面的方程式2與K進行比較:
方程式2:abs(MVx0-MVx1)<K && abs(MVy0-MVy1)<K;像方程式1一樣,其中K可以是1/2像素、一個整數像素、兩個整數像素、三個整數像素、3又1/2個整數像素等等。
在一些實施例中,例如,對於雙向匹配模式,可以檢查候選MV對以決定它們是否在相同的運動軌跡中。例如,可以檢查原始合併候選MV以決定LIST_0以及LIST_1中的複數個MV是否在相同的運動軌跡中。第14圖示出了根據一些實施例的,候選MV對是否在相同的運動軌跡中的示例,如1402所示,如果LIST_0以及LIST_1中的複數個MV在相同的運動軌跡中,候選MV被添加到列表;否則,如1404所示,如果LIST_0以及LIST_1中的複數個MV不在相同的運動軌跡中,LIST_0以及LIST_1中的複數個MV被分成兩個候選MV。對於該兩個分開的候選MV的每一個,如1406以及1408所示,用其他列表的鏡像的MV填充缺失列表MV(missing list MV)。如另一示例,每一雙向預測MV候選被拆分成兩個候選,一個候選是LIST_0 MV,以及另一個是LIST_1 MV。然後,通過用有效列表的鏡像MV填充該缺失列表MV,每一候選(例如,每一單向預測候選)用於生成該缺失列表MV。
在PMVD MV搜索中,一MV搜索方法可以是預定的(例如,三個步驟的菱形搜索)。例如,對於一菱形搜索,第一步菱形搜索的步長(step size)是1/2像素,第二步驟交叉搜索的步長是1/4像素,第三步交叉搜索的步長是1/8像素。在一些實施例中,發信(a)起始MV的合併索引以及(b)粗粒性MVD(coarse grain MVD)兩者。該MVD可以是該第一步菱形搜索的細化位置索引,和/或一傳統的
MVD,該MVD單位可以是1/16像素、1/8像素、1/4像素、1/2像素、1像素、2像素以及任何預定的單位。所選擇合併索引的複數個MV加上發信的MVD(或者細化位置的MV)可以用作為PMVD起始MV,其存儲到MV緩衝器用於合併候選以及AMVP候選推導參考。在一些示例中,對於編碼器和/或解碼器,PMVD搜索可以開始於PMVD起始MV,最終PMVD推導的MV僅用於MC。PMVD編碼的塊的複數個起始MV可以在解析階段重構。
在一些示例中,僅一個MVD和/或僅一個MVD細化位置索引被發信。如果合併候選是雙向預測候選,僅在LIST_0或LIST_1上添加該MVD。對於雙向匹配合併模式,如果在LIST_0上添加該MVD,那麼LIST_1起始MV可以是LIST_0起始MV的鏡像MV。
在一些示例中,粗粒性MVD未被編碼但是在解碼器的搜索進程中推導。例如,我們可以將該搜索進程分割成三個階段,第一步菱形搜索、第二步交叉搜索以及第三步交叉搜索。該粗粒性MVD可以是該第一步菱形搜索或該第二步交叉搜索中的搜索進程的結果。
在HEVC中,一圖像被拆分成複數個編碼樹單元(CTU),其是HEVC的基本處理單元,該複數個CTU以光柵掃描次序(raster scan order)進行編碼。在管線的解碼器架構中,因為列已經被處理過了,因此在解析階段中上方的CTU列的大部分資訊是可用的(例如,包括MV資訊)。在一些示例中,可以參考(或使用)來自于上方CTU列的複數個CTU中解碼器側推導的MV,例如,對於合併候選列表以及AMVP列表生成,因為解析階段的資訊是可用的,即使因為當前CTU列中的該解碼器側推導MV不可用而不能被使用,解碼器可以使用這些CTU中推導的MV。
因此,在CTU列約束可以與本發明所描述技術一起使用的一些實施例中,以致可以參考(例如,當不參考PMVD編碼的塊的MV)或可以使用(例如,當存儲合併候選MV、存儲該合併候選MV以及鏡像的MV、發送合併索引到PMVD以及雙向鏡像的MV(以及僅計算一個MV)、發信合併索引以及粗粒性MVD和/或AMVP模式以及PMVD)上方CTU列中的PMVD推導的MV。
例如,考慮到此處討論的關於何時存儲合併候選MV、存儲合併候選MV和鏡像的MV以及發送該合併索引用於PMVD以及雙向鏡像的MV(以及僅評估一個MV)的技術。當參考當前CTU列中PMVD編碼的塊的時候,所選擇的合併候選MV可以用於合併候選推導以及AMVP候選推導。當參考上方CTU列的該PMVD編碼的塊時候,可以使用最終的PMVD推導的複數個MV。
如另一示例,考慮到此處討論的關於不參考PMVD編碼的塊的MV的技術。當參考當前CTU列中PMVD編碼的塊的時候,用於合併候選推導以及AMVP候選推導的MV是不可用的,當參考上方CTU列的PMVD編碼的塊的時候,使用最終PMVD推導的MV。
CTU列約束可以被改變為CTU約束或者任何預定或者推導的區域約束,例如,當不參考PMVD編碼的塊的MV,如果應用CTU約束,雖然不同CTU中的PMVD編碼的塊的MV是可用的,當前CTU中的PMVD編碼的塊的MV是不可用的。
重疊塊運動補償(OBMC)是可以用於減少運動補償中塊偽影的編碼工具。在JVET-F1001,標題為“Algorithm Description of Joint Exploration Test Model 6(JEM 6)”描述了OBMC如何在塊邊界執行的示例,其整體通過引用納入其中。為了便於說明,下面
的描述參考JVET-F1001,但是這一描述並不意味著對本發明的限制。
對於OBMC,在一些示例中,由當前塊的MV對相鄰塊進行補償。如第11圖所示,其是JVET-F1001的第2.3.4小節中第14圖的摘錄,在子塊級執行OBMC用於所有運動補償(MC)塊邊界,其中“子塊”尺寸設置為等於4×4。JVET-F1001解釋了當OBMC應用於當前子塊的時候,除了當前運動向量,如果四個相連的相鄰子塊的運動向量是可用的並且如果與當前運動向量不相同,其也可以用於推導當前子塊的預測塊,這些複數個預測塊基於複數個運動向量,該複數個運動向量被組合去生成當前子塊的最終預測信號。
JVET-F1001進一步解釋了基於相鄰子塊的運動向量的預測塊被表示為PN,N指示相鄰上、下、左以及右子塊的索引以及基於當前子塊的運動向量的預測塊表示為PC。當PN基於相鄰子塊的運動資訊的時候,該相鄰子塊包括與當前子塊相同的運動資訊,OBMC即不會從PN中執行。否則,PN的每一取樣被添加到PC中相同的取樣,也就是PN的四列/行被添加到PC。權重因數{1/4,1/8,1/16,1/32}用於PN以及權重因數{3/4,7/8,15/16,31/32}用於PC。小MC塊是例外,(當編碼的塊高度或寬度等於4或者使用子CU模式對CU進行編碼的時候),其僅PN的兩列/行被添加到PC。在權重因數{1/4,1/8}用於PN以及權重因數{3/4,7/8}用於PC的情況下,對於基於垂直的(水平的)相鄰子塊的運動向量生成的PN,以相同的權重因數將PN的相同列(行)的複數個樣本添加到PC。第12A圖示出了OBMC方法1200的示例性高水平概述,MVA 1202表示原始MV,使用解碼器側預測子技術,MVA 1202被細化為MVA’1204,MVA’1204用於在塊邊界的OBMC,生成基於MVA’1204的混合部分1206以及1208。
如本文所述,提供了一種技術,相比于傳統的解碼方法,其允許類似的執行時間的解碼器側預測子細化技術。例如,包括使用起始MV(不是細化的MV)或者部分細化的MV(起始MV+發信的MV偏移)以參考解析階段以及預提取階段(例如,第6圖中的階段602以及604)的相鄰塊的一些實施例。在一些實施例中,這種技術可以導致使用用於其他處理的起始MV,例如去塊、OBMC以及時間同位的MV推導。使用用於其他這種處理的起始MV可能引入塊偽影。例如,當OBMC和/或去塊使用恢復的MV的時候,可能會找到一些塊偽影,以致不使用細化的MV執行OBMC或去塊。第12B圖示出了使用起始MV1202(例如恢復的MV)應用OBMC的示例性結果1250,不像第12A圖具有基於MVA’1204’的混合部分1206以及1208,第12B圖中的混合部分1252以及1254是基於MVA 1202。如此一來,在一例中,這可能導致塊偽影,因為用於相鄰塊的MV為MVA’1204但用於混合部分的MV為MAV1202。
為了解決這一後解析處理問題,可以使用複數個MV。第15圖示出了根據一些實施例的,用於使用兩個MV解碼視訊資料的一示例性解碼方法1500。在步驟1502,解碼器接收與一組幀有關的壓縮的視訊資料,在步驟1504-1510,解碼器使用解碼器側預測子細化技術計算用於來自於該組幀中的一個幀的新的運動向量。特別地,在步驟1504,解碼器檢索(例如,從第一緩衝器)與當前幀有關的第一運動向量(例如,一未細化的MV)。在步驟1506,解碼器使用該第一運動向量執行解碼進程的第一部分(例如,解析階段、MV/MVP推導和/或MV細化技術)。在步驟1508,解碼器檢索與該當前幀(例如,細化的MV)有關的一第二運動向量(例如,從一第二緩衝器)。在步驟
1510,解碼器使用該第二運動向量執行該解碼進程的第二部分(例如,重構階段、運動補償部分、去塊部分和/或OBMC)。
參見步驟1504-1510,在一些實施例中可以使用兩組MV:(1)一第一組MV用於解析階段(例如,第7圖中的解析階段),包括用於MV/MVP推導和/或像素預提取,以及(2)一第二組MV用於重構(例如,在第7圖的幀內/MC重構階段性中),包括用於運動補償、OBMC和/或去塊。該第一組MV可以存儲原始(未細化)MV,以及該第二組MV可以存儲細化的MV。這種技術可以促進,例如,OBMC和/或去塊去使用修正的MV,使用修正的MV可以避免額外的塊偽影(例如,由使用未細化的MV運行BOMC和/或去塊所導致的偽影)和/或相比於使用未細化的MV可以提供更好的編解碼增益。
例如,為了處理潛在的塊偽影,一單獨的未細化MV集可以用於解析階段(例如,用於合併候選列表生成和/或AMVP候選列表生成)。根據一些實施例,未細化MV集中的複數個MV未被解碼器側MV細化工具細化,以及可以用於MV解析以及MV重構,然後重構的MV用於參考像素提取。由解碼器側MV細化工具細化的MV可存儲於另一個MV緩衝器集中,該細化的MV可用用於運動補償、OBMC、去塊和/或不會根據該MV改變解析進程的其他工具。
因為在其他先前細化的圖像中MV已經被細化了,使用這些其他圖像中中細化的MV將不會引入以上結合第8圖所描述的預提取的問題。在一些實施例中,細化的MV集可以用於解析階段的時間MV推導以及MV重構階段,例如,對於合併候選列表生成以及AMVP候選列表生成,當推導空間相鄰MV的時候,使用未細化的MV集,雖然當推導時間同位MV的時候,使用細化的MV集。
上方CTU行中的複數個MV可能也已經細化了,如上所述。在一些實施例中,如果MV在上方CTU列中,第一MV集(例如,用於解析階段)可以存儲第二MV集(例如,用於重構階段)的複數個MV。例如,如果該MV在上方的CTU列中,那麼解析階段可以存取該上方CTU列的第二MV集。例如,這可以減少未細化MV緩衝器尺寸。例如,通過僅需要保持CTU的一個塊列以及CTU的一個塊行的MV,可以減少緩衝器的尺寸。該MV將不會在解析階段以及MV重構階段(例如,用於合併候選列表生成以及AMVP候選列表生成)中由當前CTU列中的相鄰空間塊所參考,可以被丟棄。因此,在一些實施例中,僅需要存儲細化的MV。在硬體實施中,未細化的MV可以僅被存儲於解析管線階段以及預提取管線階段(例如,第7圖中的階段702以及704-2)。在一些實施例中,該技術可以使用來自於CU的細化的MV,該CU在N個先前CU之前被處理。例如,如果我們認為在最後5個解碼的CU之前的複數個CU可以被使用(例如,不需要引入預提取問題),在該最後5個解碼CU之前的該複數個CU中的MV可用使用細化的MV。在一些實施例中,相同的概念可以用於方塊(tile)/切片邊界。例如,如果該參考MV在不同的方塊或者不同的切片中,那麼解析階段可以存取不同塊或者不同切片中MV的第二MV集。
關於用於解析階段的第一MV集,該第一MV集(未細化的MV)可以用於合併/AMVP候選生成和/或起始MV生成,生成的MV用於參考像素提取。在一些實施例中,如果沒有應用CTU列約束,該MV集包括(a)當前圖像(例如,左邊行、上方列以及當前CTU)的未細化的MV,以及(b)其他圖像(例如,時間同位圖像)的細化的MV。例如,參考第13圖,該MV集包括當前CTU 1302、左邊行1304以及
上方列1306的當前圖像的未細化的MV。在一些實施例中,如果應用了CTU列約束,該MV集包括(a)當前CTU列(左邊列以及當前CTU)的未細化的MV,(b)上方CTU列(上方列)的細化的MV,以及(c)其他圖像的細化的MV。例如,參考第13圖,該MV集包括用於當前CTU 1302以及左邊行1304的當前CTU列的未細化的MV,以及用於上方列1306的上方CTU列的細化的MV。
關於用於重構階段的第二MV集,該第二MV集可以用於運動補償、OBMC和/或去塊。該第二MV集包括(a)當前圖像的細化的MV,以及(b)其他圖像的細化的MV。例如,參考第13圖,該MV集包括當前圖像的細化的MV用於當前CTU 1302、左邊行1304以及上方列1306。
提出的複數個MV/MV集方法也可以應用於編碼器中。例如,單獨未細化的MV集可以用於語法編碼階段、MV推導和/或MVP推導(例如,合併候選列表生成和/或AMVP候選列表生成)。根據一些示例,未細化的MV集中的複數個MV不由解碼器側MV細化工具進行細化,以及可以用於MV編碼以及MVP生成。由解碼器側細化工具進行細化的複數個MV可以存儲於另一個MV緩衝器集中,該細化的MV可以用於運動補償、OBMC、去塊和/或根據該MV不會改變解析進程的其他工具。
同樣,簡單來說,解碼器側MV細化工具(例如,PMVD、DMVR以及BIO)可以改變塊的MV(例如,其可以導致上述的解析問題或參考像素預提取問題)。在一些實施例中,當存儲回細化的MV後,細化的MV以及起始MV之間的差異可以約束到一預定的閾值。例如,如果細化的MV以及起始MV之間的差異大於該預定
的閾值(例如,4、8或16整數像素距離),那么首先剪切該細化的MV(例如,設置為小於或等於該閾值)然後存儲為剪切的MV。例如,可通過起始MV±4、8或16整數像素對該MV進行剪切,如果細化的MV以及起始MV之間的差異小於該閾值,直接存儲該細化的MV。
可以通過移除MV/MVP推導(例如,在合併候選列表重構或AMVP列表重構)中這些細化的MV與其他MV之間的修剪進程來減少解碼器側MV細化工具改變塊的MV的影響。例如,在一些實施例中,用於移除可能的候選之間冗餘的該修剪進程僅應用於這些未在解碼器細化的MV。對於這些可能在解碼器細化的候選,細化的MV可用直接被添加進候選列表而不需要使用修剪進程。在一些實施例中,可以將消除這種修剪與上述其他技術(例如,細化的MV剪切以及複數個MV/MV集)結合來進一步減少影響。
在一些實施例中,OBMC應用於重構階段(例如,第6圖中的階段606)。因此,兩種不同的技術可以用於OBMC(不論單獨或者組合,例如使用不同的技術用於沿著不同邊緣的子塊)。第一技術是去使用起始MV或者部分細化的MV(例如,未細化的MV),其存儲於MV緩衝器中用於OBMC。第二技術是去使用解碼器側細化的MV(例如,細化的MV)用於OBMC。
根據本發明所描述的原則的技術操作可以以任何合適的方式實施,以上流程圖的進程和決策塊表示可以包括在執行這些各種過程的演算法中的步驟和動作。從這些進程中推導的演算法可以實施為集成以及引導其操作的一個或複數個單或多用途處理器的軟體,可以實施為功能等效電路(functionally-equivalent circuits),例如數位訊號處理器電路(DSP)或專用積體電路(Application-Specific
Integrated Circuit),或者可以以其他適當的方式實施。應當理解的是,本發明所包括的流程圖不描述任何特定電路或任何特定編碼語言或編碼語言的類型的語法或操作。相反,該流程圖示出了功能資訊,本領域技術人員可以使用其去製造電路或去實施電腦軟體演算法以執行實施本發明所描述各種技術的特定裝置的進程。也應當理解的是,除非在此另有指明,每一流程圖中所示的步驟和/或動作的序列僅是示例性的演算法,其可以被實施以及在本文中所描述的原理的實施方式以及實施例中變化。
因此,在一些實施例中,本發明所描述的技術可以以實施為軟體的電腦可讀指令的方式實施,包括應用軟體、系統軟體、固件、中介軟體(middleware)、嵌入式代碼(embedded code)或電腦代碼的其他任何適當的類型。這種電腦可讀指令可以使用許多適當的編碼語言和/或編碼或腳本工具(scripting tool)的任何一種進行撰寫,以及也可以被編譯為可執行機器語言代碼或在框架或虛擬機器上執行的中間代碼(intermediate code)。
當本發所描述的技術被實施為電腦可執行指令的時候,這些電腦可執行指令可以以任何適當的方式實施,包括許多功能設施,每一個提供一個或複數個操作以完成根據這些技術的演算法操作的執行。“功能設施”,雖然具體化了是以電腦系統的結構元件,但當與一個或複數個電腦集成以及由一個或複數個電腦以及執行的時候,其會導致該一個或複數個電腦去執行以特定的操作角色,功能設施可以是整個軟體元素的一部分。例如,功能設施可以被實施為進程的功能、或作為離散進程、或作為進程的任何其他適當的單元。如果本發明所描述的技術被實施為複數個功能設施,每一功能設施可以以它自己的
方式實施,而不需要以相同的方式實施。此外,這些功能設施可以視情況以並行和/或串聯的方式執行,並且可以使用電腦上共用記憶體在彼此之間傳遞資訊,在電腦上它們使用消息傳遞協定或以任何其他合適的方式執行。
通常來說,功能設施包括常式、程式、物件、元件、資料結構等等,其執行特定的任務或實施特定的抽象資料類型。典型地,功能設施的功能可以在它們允許的系統中按需求進行組合或者分佈。在一些實施例中,一個或複數個功能設施實施本發明的及時可能同時形成一個完整的套裝軟體,在可選的實施例中,這些功能設施適用於彼此交互、不相關功能設施的和/或進程來實施軟體程式應用。
本發明已經描述了一些示例性功能設施來實施一個或複數個任務,然而,應當理解的是,所描述的功能設施以及任務的劃分僅僅是說明可以實施本發明所描述的示例性技術的功能設施的類型,以及這些實施例並不限於一任何特定的編碼、劃分或功能設施的類型來實施。在一些實施例中,索引功能可以以單個功能設施來實施,應當理解的是,在一些實施例中,本發所描述的一些功能設施可以與其他分離地功能設施(也就是作為單個單元或分立單元)一起實施,或者這些功能設施的一些可以不被實現。
在一些實施例中,電腦可執行指令實施本發明所描述的技術(當以一個或複數個功能設施或以任何其他方式實施的時候)可以在一個或複數個電腦可讀媒介上編碼以提供功能至媒介。電腦可讀媒介包括如硬碟驅動器磁性介質、如光碟(CD)或數位通用光碟(DVD)的光學媒介、永久或非永久固態記憶體(例如,快閃記憶體、磁RAM等)或任何其他適當的存儲媒介。這種電腦可讀媒介可以以任何適當
的方式實施,如此處所使用的,“電腦可讀媒介”(也叫“電腦可讀存儲媒介”)指有形的存儲媒介。有形的存儲媒介是非暫態的以及具有至少一個物理、結構元件。如此處所使用的,在“電腦可讀媒介”中,至少一個物理、結構元件具有至少一個物理屬性,其可以在創建具有嵌入式資訊、在其上記錄資訊的進程或者任何其他編碼具有資訊媒介的進程的媒介的時候以一些方式改變。例如,電腦可讀媒介的磁化結果的一部分的磁化裝置可以在記錄進程中改變。
此外,上面所描述的一些及時包括以某種方式存儲資訊(例如,資料和/或指令)以由這些技術使用的動作。在這些技術的一些實施例中,例如該技術實施為電腦可讀指令的實施例,資訊在電腦可讀存儲介質上編碼。這裡將特定結構描述為用於存儲資訊的有利格式,這些結構可用於在編碼在存儲介質上時賦予資訊的物理組織。這些有益結構可以通過影響與該資訊交互的一個或複數個處理器的操作將功能提供至存儲媒介,例如,通過增加由處理器執行的電腦操作的效率。
在一些但不是所有的實施例中,技術可以實施為電腦可執行指令,這些指令可以在任何適當的電腦系統中操作的一個或複數個適當的計算裝置上執行,或者對一個或複數個計算裝置(或者一個或複數個計算裝置的一個或複數個處理器)進行程式設計以執行該電腦可執行指令。當以可以訪問電腦裝置或處理器的方式存儲指令的時候,例如在資料存儲區(例如,片上緩衝器或指令寄存器、通過匯流排訪問的電腦可讀存儲媒介、通過一個或複數個網路訪問的以及由裝置/處理器訪問的電腦可讀存儲媒介以及),可以對計算裝置或處理器進行程式設計一執行指令。包括這些電腦可執行指令的功能設施可
以與單個多用途可程式設計數位計算裝置集成並指導其操作,兩個或複數個多用途計算裝置共用處理能力的協調系統,並聯合執行本文中所述的技術,用於執行本文所述技術的單個計算裝置或計算裝置的協同系統(共同定位或地理分佈的),用於執行這裡描述的技術的一個或複數個現場可程式設計閘陣列(FPGA),或任何其它合適的系統。
計算裝置可以包括至少一個處理器、網路介面卡以及電腦可讀存儲媒介。例如,計算裝置可以是臺式或者膝上型個人電腦、個人數位助理(PDA)、智慧手機、伺服器或者任何其他適當的計算裝置。網路介面卡可以是任何合適的硬體和/或軟體,以使計算裝置能夠通過任何合適的計算網路與任何其他合適的計算裝置進行有線和/或無線通訊。計算網路可以包括無線接入點,交換機,路由器,閘道,和/或其他網路裝置以及任何合適的有線和/或無線通訊介質用於在兩個或複數個電腦之間交換資料的介質,所述電腦包括網際網路。電腦可讀介質可適用於存儲要被處理的資料和/或由處理器執行的指令。處理器實現對資料的處理和指令的執行。資料和指令可以存儲在電腦可讀存儲介質上。
計算裝置可以另外具有一個或複數個元件和週邊裝置,包括輸入和輸出裝置。這些裝置也可以用來呈現使用者介面。可用於提供使用者介面的輸出裝置的示例包括用於輸出的可視呈現的印表機或顯示器,用於輸出的可聽呈現的揚聲器或其他聲音生成裝置。可用於使用者介面的輸入裝置的示例包括鍵盤以及如滑鼠、觸摸墊,以及數字面板的定位裝置。作為另一個示例,計算裝置可以通過語音辨識或以其他可聽格式接收輸入信息。
已經描述了其中所述技術在電路和/或電腦可執行指令
中實現的實施例。應當理解,一些實施例可以是方法的形式,其中至少提供了一個示例。作為該方法的一部分而執行的動作可以任何合適的方式進行排序。因此,可以構造以不同於所示的次序執行動作的實施例,其可包括同時執行一些動作,儘管示出為在說明性實施例中的順序動作。
上述實施例的各個方面可以單獨使用、組合使用,或者在上述實施例中未具體討論的各種佈置中使用,因此不局限於上述描述中所闡述的或附圖中所示的部件的細節和佈置。例如,在一個實施例中描述的方面可以以任何方式與其他實施例中描述的方面相結合。
使用諸如"第一","第二","第三","第三"等序數詞的使用,申請專利範圍中所述的修改申請專利範圍要素的申請專利範圍本身並不意味著任何優先級,或在另一個或複數個時間次序上執行一個申請專利範圍要素的順序,其中,執行方法的動作,但僅用作標記以將具有特定名稱的一個申請專利範圍元素與具有相同名稱的另一元素進行區分(但用於序數詞的使用)以區分所述申請專利範圍要素。
此外,在此使用的措辭(phraseology)和術語(terminology)是為了描述的目的,而不應被認為是限制性的。此處所使用的“包括including”、“包括comprising”、“具有having”、“包括containing”、“涉及invovlving”以及變型旨在包括此後所列出的項目及其等效物以及附加的項目。
這裡使用的詞語"示例性"表示用作示例、實例或說明。因此,本文所述的任何實施例、實施、過程、特徵等都應被理解為說明性的示例而不應理解為是優選的或有利的示例,除非另有說明。
因此,已經描述了至少一個實施例的幾個方面,應當
理解,各種改變、修改和改進對於本領域技術人員將容易想到。這樣的改變、修改提及改進旨在作為本發明的一部分,並且旨在在本文中所描述的原理的精神和範圍內。因此,前面的描述和附圖僅僅是示例性的。
Claims (22)
- 一種用於解碼視訊資料的解碼方法,該方法包括:接收與一組幀有關的壓縮的視訊資料;以及使用一解碼器側預測子細化技術,計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括:檢索與該當前幀有關的一第一運動向量;使用該第一運動向量執行一解碼進程的一第一部分;檢索與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量;以及使用該第二運動向量執行該解碼進程的一第二部分;其中,該第一運動向量包括一未細化的運動向量;該第二運動向量包括一細化的運動向量,其中使用一解碼器側預測子細化技術對該細化的MV進行細化;該解碼進程的該第一部分包括一解析部分、一運動向量推導部分或兩者;以及該解碼進程的該第二部分包括一重構部分。
- 如申請專利範圍第1項所述之用於解碼視訊資料的解碼方法,進一步包括:檢索與一第二幀有關的一第三運動向量,其中該第三運動向量是一細化的運動向量;使用該第一運動向量以及該第三運動向量執行該解碼進程的該第一部分;以及使用該第二運動向量以及該第三運動向量執行該解碼進程的該第二部分。
- 如申請專利範圍第2項所述之用於解碼視訊資料的解碼方法,其中執行該解碼進程的該第一部分包括使用該第一運動向量以及該第三運動向量執行一運動向量推導部分,其中該運動向量推導部分包括運動向量預測推導、合併候選推導或者兩者。
- 如申請專利範圍第3項所述之用於解碼視訊資料的解碼方法,其中執行該解碼進程的該第一部分包括參考該第一運動向量作為該當前幀的一解碼的運動向量。
- 如申請專利範圍第2項所述之用於解碼視訊資料的解碼方法,進一步包括:使用該第二運動向量以及該第三運動向量去執行運動補償、重疊塊運動補償、去塊或任何上述的組合。
- 如申請專利範圍第1項所述之用於解碼視訊資料的解碼方法,進一步包括:決定一編碼樹單元約束沒有被應用於該壓縮的視訊資料;以及檢索與該當前幀有關的該第一運動向量包括檢索:該當前幀的一未細化的運動向量;以及與一第二幀有關的一細化的運動向量。
- 如申請專利範圍第1項所述之用於解碼視訊資料的解碼方法,其中檢索與該當前幀有關的該第一運動向量包括檢索:一當前編碼樹單元列的一未細化的運動向量;一上方編碼樹單元列、其他方塊或者其他切片的一細化的運動向量;以及與一第二幀有關的一細化的運動向量。
- 一種用於解碼視訊資料的解碼方法,該方法包括:接收與一組幀有關的壓縮的視訊資料;以及使用一解碼器側預測子細化技術,計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括:接收表明一起始運動向量候選列表的一起始候選索引的一信號;決定該起始運動向量候選列表中的一第一運動向量候選以及與該第一運動向量候選相比,差異小於一預定的閾值的一第二運動向量;從該起始運動向量候選列表中移除該第二運動向量候選、不添加該第二運動向量候選至該起始運動向量候選列表,或者兩者;以及基於該候選列表以及該起始候選索引計算該新的運動向量。
- 如申請專利範圍第8項所述之用於解碼視訊資料的解碼方法,進一步包括:分析一新的運動向量候選,該運動向量候選包括一運動向量對;基於該分析,決定該運動向量對是沿著一相同的運動軌跡;以及添加該運動向量對至該起始運動向量候選列表。
- 如申請專利範圍第8項所述之用於解碼視訊資料的解碼方法,其中:分析一新的運動向量候選,該運動向量候選包括一運動向量對;基於該分析,決定該運動向量對是不沿著一相同的運動軌跡;將該運動向量對拆分成兩個新的候選運動向量對;以及將該兩個新的候選運動向量對添加至該起始運動向量候選列表。
- 如申請專利範圍第10項所述之用於解碼視訊資料的解碼方法,其中該拆分包括:將該運動向量對的一第一運動向量添加至該兩個新的候選運動向量對的第一個;用該第一運動向量的一鏡像的運動向量填充該兩個新的候選運動向量對的該第一個;將該運動向量對的一第二運動向量添加至該兩個新的候選運動向量對的第二個;用該第二運動向量的一鏡像的運動向量填充該兩個新的候選運動向量對的該第二個。
- 一種用於編碼視訊資料的編碼方法,該方法包括:計算與一組幀有關的壓縮的視訊資料,包括計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括:計算與該當前幀有關的一第一運動向量;使用該第一運動向量執行一編碼進程的一第一部分;計算與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量;以及使用該第二運動向量執行該編碼進程的一第二部分;其中,計算該第一運動向量包括計算一未細化的運動向量、一未細化的運動向量集或者兩者,計算該第二運動向量包括計算一細化的運動向量,其中使用一編碼器側細化技術計算該細化的運動向量;以及執行該編碼進程的該第一部分包括執行一語法編碼部分、一運動向量推導部分、一運動向量預測推導部分或者它們的一些組合。
- 如申請專利範圍第12項所述之用於編碼視訊資料的編碼方法,其中執行該運動向量預測推導部分包括生成一合併候選列表、生成一高級的運動向量預測候選列表或者兩者。
- 如申請專利範圍第12項所述之用於編碼視訊資料的編碼方法,進一步包括使用該未細化的運動向量、該未細化的運動向量集或者兩者執行運動向量編碼、運動向量預測生成或兩者,以致不使用一解碼器側運動向量細化工具對該未細化的運動向量、該未細化的運動向量集或者兩者進行細化。
- 如申請專利範圍第12項所述之用於編碼視訊資料的編碼方法,其中:將該細化的運動向量存儲于一運動向量緩衝器集中;以及執行該編碼進程的該第二部分包括執行一運動補償部分、一重疊塊運動補償部分、一去塊部分或者它們的一些組合。
- 一種配置於解碼視訊資料的裝置,該裝置包括與記憶體通信的一處理器,該處理器被配置于執行存儲於該記憶體中的指令,其導致該處理器:接收與一組幀有關的壓縮的視訊資料;以及使用一解碼器側預測子細化技術,計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括:檢索與該當前幀有關的一第一運動向量;使用該第一運動向量執行一解碼進程的一第一部分;檢索與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量;以及使用該第二運動向量執行該解碼進程的一第二部分;其中,該第一運動向量包括一未細化的運動向量,該第二運動向量包括一細化的運動向量,其中使用一解碼器側預測子細化技術對該細化的MV進行細化;該解碼進程的該第一部分包括一解析部分、一運動向量推導部分或者兩者;以及該解碼進程的該第二部分包括一重構部分。
- 如申請專利範圍第16項所述之用於解碼視訊資料的裝置,其中該處理器配置于執行存儲於該記憶體中的指令,其導致該處理器:檢索與一第二幀有關的一第三運動向量,其中該第三運動向量是一細化的運動向量;使用該第一運動向量以及該第三運動向量執行該解碼進程的該第一部分;以及使用該第二運動向量以及該第三運動向量執行該解碼進程的該第二部分。
- 一種配置於解碼視訊資料的裝置,該裝置包括與記憶體通信的一處理器,該處理器配置于執行存儲於該記憶體中的指令,其導致該處理器:接收與一組幀有關的壓縮的視訊資料;以及使用一解碼器側預測子細化技術,計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估算該當前幀的運動,包括:接收表明一起始運動向量候選列表的一起始候選索引的一信號;決定該起始運動向量候選列表中的一第一運動向量候選以及與該第一運動向量候選相比,差異小於一預定的閾值的一第二運動向量;從該起始運動向量候選列表中移除該第二運動向量候選、不添加該第二運動向量候選到該起始運動向量候選列表中或者兩者;以及基於該起始運動向量候選列表以及該起始候選索引計算該新的運動向量。
- 如申請專利範圍第18項所述之配置於解碼視訊資料的裝置,其中該處理器配置於執行存儲在該記憶體中的指令,其導致該處理器:分析一新的運動向量候選,該運動向量候選包括一運動向量對;基於該分析,決定該運動向量對是沿著一相同的運動軌跡;以及將該運動向量對添加到該起始運動向量候選列表中。
- 如申請專利範圍第18項所述之配置於解碼視訊資料的裝置,其中該處理器配置于執行存儲於該記憶體中的指令,其導致該處理器:分析一新的運動向量候選,該運動向量候選包括一運動向量對;基於該分析,決定該運動向量對是不沿著一相同的運動軌跡;將該運動向量對拆分成兩個新的候選運動向量對;以及將該兩個新的候選運動向量對添加到該起始運動向量候選列表中。
- 一種配置於編碼視訊資料的裝置,該裝置包括與記憶體通信的一處理器,該處理器被配置于執行存儲於該記憶體中的指令,其導致該處理器:計算由一組幀有關的壓縮的視訊資料,包括計算用於來自該組幀的一當前幀的一新的運動向量,其中該新的運動向量基於一個或複數個參考幀估計該當前幀的運動,包括:計算與該當前幀有關的一第一運動向量;使用該第一運動向量執行該編碼進程的一第一部分;計算與該當前幀有關的一第二運動向量,該第二運動向量不同於該第一運動向量;以及使用該第二運動向量執行該編碼進程的一第二部分;其中,計算該第一運動向量包括計算一未細化的運動向量、一未細化的運動向量集或者兩者,計算該第二運動向量包括計算一細化的運動向量,其中使用一編碼器側細化技術計算該細化的運動向量,以及執行該編碼進程的該第一部分包括執行一語法編碼部分、一運動向量推導部分、一運動向量預測推導部分或者它們的一些組合。
- 如申請專利範圍第21項所述之配置於編碼視訊資料的裝置,其中:將該細化的運動向量存儲于一運動向量緩衝器集中;以及執行該編碼進程的該第二部分包括執行一運動補償部分、一重疊塊運動補償部分、一去塊部分或者它們的一些組合。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762442472P | 2017-01-05 | 2017-01-05 | |
US62/442,472 | 2017-01-05 | ||
US201762479350P | 2017-03-31 | 2017-03-31 | |
US62/479,350 | 2017-03-31 | ||
US15/861,476 | 2018-01-03 | ||
US15/861,476 US20180192071A1 (en) | 2017-01-05 | 2018-01-03 | Decoder-side motion vector restoration for video coding |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201841505A TW201841505A (zh) | 2018-11-16 |
TWI677238B true TWI677238B (zh) | 2019-11-11 |
Family
ID=62712096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107100485A TWI677238B (zh) | 2017-01-05 | 2018-01-05 | 視訊編解碼的解碼器側運動向量恢復 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180192071A1 (zh) |
EP (1) | EP3545682A4 (zh) |
CN (2) | CN110169073B (zh) |
BR (1) | BR112019013832A8 (zh) |
TW (1) | TWI677238B (zh) |
WO (1) | WO2018127119A1 (zh) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11638027B2 (en) | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
US10523964B2 (en) * | 2017-03-13 | 2019-12-31 | Qualcomm Incorporated | Inter prediction refinement based on bi-directional optical flow (BIO) |
US10904565B2 (en) | 2017-06-23 | 2021-01-26 | Qualcomm Incorporated | Memory-bandwidth-efficient design for bi-directional optical flow (BIO) |
KR20240044549A (ko) * | 2017-07-03 | 2024-04-04 | 브이아이디 스케일, 인크. | 양방향 광학 흐름에 기반한 모션 보상 예측 |
US10798402B2 (en) * | 2017-10-24 | 2020-10-06 | Google Llc | Same frame motion estimation and compensation |
CN109996081B (zh) * | 2017-12-31 | 2023-09-12 | 华为技术有限公司 | 图像预测方法、装置以及编解码器 |
WO2019151284A1 (ja) * | 2018-01-30 | 2019-08-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US10812810B2 (en) * | 2018-02-06 | 2020-10-20 | Tencent America LLC | Method and apparatus for video coding in merge mode |
CN112040244B (zh) * | 2018-03-29 | 2021-06-29 | 华为技术有限公司 | 一种双向帧间预测方法及装置 |
KR102643116B1 (ko) * | 2018-03-30 | 2024-03-04 | 한국전자통신연구원 | 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 |
US11575933B2 (en) | 2018-04-06 | 2023-02-07 | Vid Scale, Inc. | Bi-directional optical flow method with simplified gradient derivation |
US10958928B2 (en) * | 2018-04-10 | 2021-03-23 | Qualcomm Incorporated | Decoder-side motion vector derivation for video coding |
CN112136328A (zh) * | 2018-04-13 | 2020-12-25 | Lg 电子株式会社 | 视频处理系统中的帧间预测的方法和装置 |
WO2019229683A1 (en) | 2018-05-31 | 2019-12-05 | Beijing Bytedance Network Technology Co., Ltd. | Concept of interweaved prediction |
US10863190B2 (en) * | 2018-06-14 | 2020-12-08 | Tencent America LLC | Techniques for memory bandwidth optimization in bi-predicted motion vector refinement |
EP4322533A3 (en) | 2018-06-29 | 2024-03-06 | Beijing Bytedance Network Technology Co., Ltd. | Checking order of motion candidates in lut |
JP7100200B2 (ja) | 2018-06-29 | 2022-07-12 | 北京字節跳動網絡技術有限公司 | マージ/amvpにhmvp候補を追加する際の一部/全部プルーニング |
EP3797516A1 (en) * | 2018-06-29 | 2021-03-31 | Beijing Bytedance Network Technology Co. Ltd. | Interaction between lut and amvp |
CN110662059B (zh) | 2018-06-29 | 2021-04-20 | 北京字节跳动网络技术有限公司 | 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置 |
WO2020003283A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for updating luts |
KR102611261B1 (ko) | 2018-06-29 | 2023-12-08 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 업데이트 대상 lut 또는 비업데이트 lut의 구별 |
WO2020003270A1 (en) | 2018-06-29 | 2020-01-02 | Beijing Bytedance Network Technology Co., Ltd. | Number of motion candidates in a look up table to be checked according to mode |
JP7256265B2 (ja) | 2018-06-29 | 2023-04-11 | 北京字節跳動網絡技術有限公司 | ルックアップテーブルの更新:fifo、制限されたfifo |
US10638153B2 (en) | 2018-07-02 | 2020-04-28 | Tencent America LLC | For decoder side MV derivation and refinement |
TWI719526B (zh) | 2018-07-02 | 2021-02-21 | 大陸商北京字節跳動網絡技術有限公司 | 查找表的更新 |
US10701384B2 (en) * | 2018-08-01 | 2020-06-30 | Tencent America LLC | Method and apparatus for improvement on decoder side motion derivation and refinement |
TWI752341B (zh) * | 2018-08-04 | 2022-01-11 | 大陸商北京字節跳動網絡技術有限公司 | 不同解碼器側運動矢量推導模式之間的交互 |
US11184635B2 (en) * | 2018-08-31 | 2021-11-23 | Tencent America LLC | Method and apparatus for video coding with motion vector constraints |
CN111064959B (zh) | 2018-09-12 | 2023-09-01 | 北京字节跳动网络技术有限公司 | 要检查多少个hmvp候选 |
CN117915109A (zh) * | 2018-09-19 | 2024-04-19 | 华为技术有限公司 | 根据基于双线性插值的解码端运动矢量修正的片相似度不执行修正的方法 |
US11943467B2 (en) * | 2018-09-21 | 2024-03-26 | Vid Scale, Inc. | Affine motion estimation for affine model-based video coding |
CN113411575B (zh) * | 2018-09-24 | 2022-07-22 | 华为技术有限公司 | 用于执行质量优化去块的图像处理设备、方法和存储介质 |
CN111010569B (zh) | 2018-10-06 | 2023-02-28 | 北京字节跳动网络技术有限公司 | Bio中的时间梯度计算的改善 |
WO2020073928A1 (en) * | 2018-10-09 | 2020-04-16 | Huawei Technologies Co., Ltd. | Inter prediction method and apparatus |
WO2020084463A1 (en) * | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block based decoder side motion vector derivation |
WO2020098650A1 (en) | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Line buffer reduction for generalized bi-prediction mode |
CN113170097B (zh) * | 2018-11-20 | 2024-04-09 | 北京字节跳动网络技术有限公司 | 视频编解码模式的编解码和解码 |
US11146810B2 (en) * | 2018-11-27 | 2021-10-12 | Qualcomm Incorporated | Decoder-side motion vector refinement |
WO2020141912A1 (ko) * | 2019-01-01 | 2020-07-09 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
WO2020141913A1 (ko) * | 2019-01-01 | 2020-07-09 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
CN113454999A (zh) | 2019-01-02 | 2021-09-28 | 北京字节跳动网络技术有限公司 | 划分模式之间的运动矢量推导 |
CN113302935A (zh) | 2019-01-02 | 2021-08-24 | 瑞典爱立信有限公司 | 视频编码/解码系统中的端运动细化 |
BR112021007949A2 (pt) * | 2019-01-02 | 2021-07-27 | Huawei Technologies Co., Ltd. | sistema e método de fácil utilização com hardware e software para refinamento de vetor de movimento do lado do decodificador com correção por pixel baseada em fluxo óptico bipreditivo no lado do decodificador para compensação de movimento bipreditivo |
EP3888355A4 (en) * | 2019-01-10 | 2022-03-23 | Beijing Bytedance Network Technology Co., Ltd. | LOOKUP TABLE UPDATE INVOCATION |
WO2020143824A1 (en) | 2019-01-13 | 2020-07-16 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between lut and shared merge list |
WO2020147773A1 (en) | 2019-01-16 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Inserting order of motion candidates in lut |
WO2020164577A1 (en) | 2019-02-14 | 2020-08-20 | Beijing Bytedance Network Technology Co., Ltd. | Selective application of decoder side refining tools |
US11190797B2 (en) * | 2019-03-01 | 2021-11-30 | Qualcomm Incorporated | Constraints on decoder-side motion vector refinement based on weights for bi-predicted prediction |
WO2020177682A1 (en) | 2019-03-03 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion vector management for decoder side motion vector refinement |
KR102635518B1 (ko) | 2019-03-06 | 2024-02-07 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 변환된 단예측 후보의 사용 |
CN113475076B (zh) * | 2019-03-11 | 2024-03-12 | 阿里巴巴集团控股有限公司 | 用于对视频数据进行编码的帧间预测方法 |
CN115633169A (zh) * | 2019-03-11 | 2023-01-20 | 北京字节跳动网络技术有限公司 | 视频编解码中的运动矢量细化 |
CN109803175B (zh) * | 2019-03-12 | 2021-03-26 | 京东方科技集团股份有限公司 | 视频处理方法及装置、设备、存储介质 |
MX2021011043A (es) * | 2019-03-12 | 2021-10-13 | Beijing Dajia Internet Information Tech Co Ltd | Aplicaciones restringidas y ajustadas de modo de interprediccion e intraprediccion combinadas. |
WO2020192611A1 (en) | 2019-03-22 | 2020-10-01 | Beijing Bytedance Network Technology Co., Ltd. | Interaction between merge list construction and other tools |
US11172212B2 (en) * | 2019-06-06 | 2021-11-09 | Qualcomm Incorporated | Decoder-side refinement tool on/off control |
CN110460859B (zh) * | 2019-08-21 | 2022-03-25 | 浙江大华技术股份有限公司 | 历史运动矢量列表的使用方法、编解码器及存储装置 |
MX2022002916A (es) | 2019-09-19 | 2022-04-06 | Beijing Bytedance Network Tech Co Ltd | Derivacion de posiciones de muestra de referencia en codificacion de video. |
JP7324940B2 (ja) | 2019-09-19 | 2023-08-10 | 北京字節跳動網絡技術有限公司 | ビデオコーディングにおけるスケーリングウインドウ |
JP7391199B2 (ja) | 2019-10-05 | 2023-12-04 | 北京字節跳動網絡技術有限公司 | 映像コーディングツールのレベルベースシグナリング |
KR20220074870A (ko) * | 2019-10-12 | 2022-06-03 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 비디오 코딩에서의 예측 유형 시그널링 |
KR20220073740A (ko) | 2019-10-13 | 2022-06-03 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 레퍼런스 픽처 리샘플링 및 비디오 코딩 툴 사이의 상호 작용 |
CN112218075B (zh) * | 2020-10-17 | 2022-10-28 | 浙江大华技术股份有限公司 | 候选列表的填充方法、电子设备、计算机可读存储介质 |
WO2023186040A1 (en) * | 2022-03-31 | 2023-10-05 | Mediatek Inc. | Bilateral template with multipass decoder side motion vector refinement |
US20230388535A1 (en) * | 2022-05-26 | 2023-11-30 | Tencent America LLC | Systems and methods for combining subblock motion compensation and overlapped block motion compensation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204254A (zh) * | 2008-09-04 | 2011-09-28 | 汤姆森特许公司 | 使用隐式运动预测进行预测精细化的方法及装置 |
CN102710934A (zh) * | 2011-01-22 | 2012-10-03 | 华为技术有限公司 | 一种运动预测或补偿方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0500174D0 (en) * | 2005-01-06 | 2005-02-16 | Kokaram Anil | Method for estimating motion and occlusion |
US8553758B2 (en) * | 2007-03-02 | 2013-10-08 | Sony Corporation | Motion parameter engine for true motion |
US9060176B2 (en) * | 2009-10-01 | 2015-06-16 | Ntt Docomo, Inc. | Motion vector prediction in video coding |
KR101393824B1 (ko) * | 2010-10-06 | 2014-05-13 | 인텔 코오퍼레이션 | 저 복잡성 움직임 벡터 도출을 위한 시스템 및 방법 |
CN102611886A (zh) * | 2011-01-22 | 2012-07-25 | 华为技术有限公司 | 一种运动预测或补偿方法 |
CN107820079B9 (zh) * | 2011-10-18 | 2021-09-21 | 株式会社Kt | 视频信号解码方法 |
WO2013115606A1 (ko) * | 2012-02-04 | 2013-08-08 | 엘지전자 주식회사 | 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치 |
US10194146B2 (en) * | 2013-03-26 | 2019-01-29 | Qualcomm Incorporated | Device and method for scalable coding of video information |
WO2015006951A1 (en) * | 2013-07-18 | 2015-01-22 | Mediatek Singapore Pte. Ltd. | Methods for fast encoder decision |
US10204658B2 (en) * | 2014-07-14 | 2019-02-12 | Sony Interactive Entertainment Inc. | System and method for use in playing back panorama video content |
US10560718B2 (en) * | 2016-05-13 | 2020-02-11 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
US11638027B2 (en) * | 2016-08-08 | 2023-04-25 | Hfi Innovation, Inc. | Pattern-based motion vector derivation for video coding |
-
2018
- 2018-01-03 US US15/861,476 patent/US20180192071A1/en active Pending
- 2018-01-05 CN CN201880005962.2A patent/CN110169073B/zh active Active
- 2018-01-05 WO PCT/CN2018/071518 patent/WO2018127119A1/en unknown
- 2018-01-05 EP EP18735922.9A patent/EP3545682A4/en active Pending
- 2018-01-05 CN CN202310137534.8A patent/CN116170602A/zh active Pending
- 2018-01-05 BR BR112019013832A patent/BR112019013832A8/pt unknown
- 2018-01-05 TW TW107100485A patent/TWI677238B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102204254A (zh) * | 2008-09-04 | 2011-09-28 | 汤姆森特许公司 | 使用隐式运动预测进行预测精细化的方法及装置 |
CN102710934A (zh) * | 2011-01-22 | 2012-10-03 | 华为技术有限公司 | 一种运动预测或补偿方法 |
Also Published As
Publication number | Publication date |
---|---|
BR112019013832A2 (pt) | 2020-01-28 |
CN110169073B (zh) | 2023-03-10 |
CN116170602A (zh) | 2023-05-26 |
TW201841505A (zh) | 2018-11-16 |
EP3545682A4 (en) | 2020-04-29 |
US20180192071A1 (en) | 2018-07-05 |
EP3545682A1 (en) | 2019-10-02 |
CN110169073A (zh) | 2019-08-23 |
WO2018127119A1 (en) | 2018-07-12 |
BR112019013832A8 (pt) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI677238B (zh) | 視訊編解碼的解碼器側運動向量恢復 | |
US20230188745A1 (en) | Pattern-based motion vector derivation for video coding | |
KR102344430B1 (ko) | 다중 참조 예측을 위한 움직임 벡터 개선 | |
US11477474B2 (en) | Methods and apparatus for multi-hypothesis mode reference and constraints | |
KR102606778B1 (ko) | 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩 | |
TW201842766A (zh) | 於視訊解碼器中導出運動向量資訊 | |
TWI738236B (zh) | 視訊編碼中具有運動精化的雙向預測視訊處理方法和裝置 | |
CN110651477A (zh) | 用于运动向量修正的受限存储器访问窗口 | |
JP2024519848A (ja) | 動きベクトル精緻化を伴う幾何学的分割モード |