TW202019179A - 視訊編解碼系統的運動向量湊整統一的方法以及裝置 - Google Patents

視訊編解碼系統的運動向量湊整統一的方法以及裝置 Download PDF

Info

Publication number
TW202019179A
TW202019179A TW108131826A TW108131826A TW202019179A TW 202019179 A TW202019179 A TW 202019179A TW 108131826 A TW108131826 A TW 108131826A TW 108131826 A TW108131826 A TW 108131826A TW 202019179 A TW202019179 A TW 202019179A
Authority
TW
Taiwan
Prior art keywords
video
mvs
current block
codec
item
Prior art date
Application number
TW108131826A
Other languages
English (en)
Other versions
TWI729483B (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 TW202019179A publication Critical patent/TW202019179A/zh
Application granted granted Critical
Publication of TWI729483B publication Critical patent/TWI729483B/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/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
    • 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/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)

Abstract

公開了一種使用幀間編解碼工具的編解碼系統的方法以及裝置。根據一個方法,當目標幀間編解碼工具屬於一至少含有兩個工具的組時,在該視訊編碼器側或在該視訊解碼器側,一相同的轉換進程被應用於與一當前塊相關的MV來生成已轉換的MV,其中該組包括至少一個繼承的仿射合併候選導出以及仿射子塊MV導出。根據另一個方法,一簡化的轉換進程被應用於MV來生成湊整的MV,MV_rounded根據MV_rounded = (MV + offset - (MV >= 0)) >> shift。

Description

視訊編解碼系統的運動向量湊整統一的方法以及裝置
本發明涉及使用各種幀間編解碼工具的視訊編解碼。具體地,本發明涉及用於各種幀間編解碼工具的運動向量(MV)湊整(rounding)。
在過去的二十年,已經開發了各種視訊編解碼標準。在更新的編解碼標準中,更有效的編解碼工具被用於改善編解碼效率。高效視訊編解碼(HEVC)是在最近幾年開發的新的編解碼標準。在高效視訊編解碼(High Efficiency Video Coding,HEVC)系統中,H.264/AVC的固定尺寸的宏塊(macroblock)由靈活塊所替代,稱為編碼單元(coding unit,CU)。CU中的像素共用相同的編解碼參數以改善編解碼效率。CU可以開始於最大的CU(LCU),其在HEVC中也被稱為編碼樹單元(coding tree unit,CTU)。除了編碼單元的概念,HEVC中還引入了預測單元(prediction unit,PU)的概念。一旦完成CU分層樹的拆分,每一葉CU根據預測類型以及PU分割被進一步拆分成一或複數個預測單元(PU)。
在大多數編解碼工具中,在塊基礎上使用適應性幀間/幀內預測(inter/intra prediction)。在幀間預測模式中,一個或兩個運動向量被決定用於每一塊來選擇一個參考塊(即,單向預測)或者兩個參考塊(即,雙向預測)。一或複數個運動向量被決定以及被編解碼用於每一單獨塊。在HEVC中,以兩種不同的方式支援幀間運動補償(motion compensation):顯式發信或者隱式發信。在顯式發信中,塊(即,PU)的運動向量使用預測編解碼方法被發信。多個運動向量預測子(predictior)對應於與當前塊的空間以及時間相鄰相關的多個運動向量。在MV預測子被決定後,運動向量差異(motion vector difference,MVD)被編解碼以及傳輸。這一方法也稱為AMVP(advanced motion vector prediction,高級運動向量預測)模式。在隱式發信中,來自候選預測子結合的一個預測子被選擇為當前塊(即,PU)的運動向量。因為編碼與解碼器都將導出候選集合(candidate set)以及以相同的方式選擇最終運動向量,在隱式模式中不需要發信MV或MVD。這一模式也稱為合併模式(Merge mode)。合併模式中預測子集合的形成也稱為合併候選列表構造。稱作合併索引的索引被發信來指示被選擇為當前塊MV的預測子。 仿射模型
沿著時間軸穿過圖像發生的運動可以由若干不同的模型來描述。假定A(x,y)是所考慮位置(x,y)處的原始像素,A’(x’,y’)是用於當前像素A(x,y)的在參考圖像中位置(x’,y’)處的對應像素,仿射運動模型可以被描述如下。
仿射模型能夠描述二維塊旋轉(rotation)以及二維變形(deforamtion)來將正方形(或矩形)轉換成平行四邊形。這一模型可以被描述如下: x’ = a0 + a1 *x + a2 *y, 以及 y’ = b0 + b1 *x + b2 *y.    (1)
在遞交到ITU-VCEG的投稿ITU-T13-SG16-C1016(2015年9月,瑞士加內瓦舉行的,ITU-U,研究小組16,問題Q6/16,投稿C1016,Lin等人,“Affine transform prediction for next generation video coding”)中,公開了一個四參數仿射預測,其包括仿射合併模式。當仿射運動塊運動時,塊的運動向量場(motion vector field)可以由兩個控制點運動向量或者四個參考描述如下,其中(vx,vy)表示運動向量:
Figure 02_image001
(2)
在第1A圖中示出了四參數仿射模型的示例,其中塊110對應於當前塊。轉換塊是矩形塊。四參數仿射模型能夠處理如第1B圖所示的物體旋轉,其中矩形110被旋轉成矩形120。所選擇矩形120的位置可以由在兩個控制點處的運動向量(即,
Figure 02_image003
以及
Figure 02_image005
)來指定。四參數仿射模型還可以處理具有尺寸縮放的目標旋轉。
這一運動塊中每一點的運動向量場可以由以下等式進行描述:
Figure 02_image007
(3)
在上述等式中,(v0x ,v0y )是在塊左上角處的控制點運動向量(即,v0 ),以及(v1x ,v1y )是在塊右上角處的另一個控制點運動向量(即,v1 )。
在JVET-K0337(在2018年7月10-18日,斯洛維尼亞的盧布亞納舉行的,ITU-T SG 16 WP 3以及ISO/IEC JTC 1/SC 29/WG 11的聯合視訊勘探小組,第11次會議,Han等人“CE4.1.3: Affine motion compensation prediction”,文獻:JVET-K0337)中已經公開了六參數仿射模型用於仿射合併模式以及仿射幀間模式。該六參數仿射模型使用如第2圖所示的3個控制點(
Figure 02_image009
Figure 02_image011
以及
Figure 02_image013
),其中塊210對應於當前PU。六參數仿射運動模型能夠將矩形轉換成平行四邊形220。當仿射運動塊運動時,塊的運動向量場可以由三個控制點運動向量或者四個參數來描述如下,其中(vx,vy)表示運動向量:
Figure 02_image015
.                                                                                        (4)
其中兩個控制點的MV(v0 以及v1 )被解碼,塊的每一4x4塊的MV可以根據上述等式決定。換言之,塊的仿射運動模型可以由在兩個控制點處的兩個運動向量指定。此外,當塊的左上角以及右上角被用作兩個控制點時,其他兩個控制點也可以被使用。根據等式(3),基於如第3圖所示的兩個控制點的MV,當前塊運動向量的示例可以被決定用於每一4x4子塊。
當三個控制點的MV(v0 、v1 以及v2 )被解碼時,每一4x4塊的MV可以根據以下等式進行導出:
Figure 02_image017
(5)
根據等式(5),基於如第3圖所示的三個控制點的MV,當前塊的運動向量的示例可以被決定用於每一4x4子塊。中心像素(即,在4x4塊的(2,2)位置)的MV表示4x4塊的MV。MV精度被剪除成1/16精度。
在ITU-T13-SG16-C-1016中,對於幀間模式編解碼的CU,當CU尺寸等於或大於16x16時,affine_flag被發信來指示仿射幀間模式是否被應用。如果當前CU是在仿射幀間模式中,使用相鄰有效重構塊來構建候選MVP集合列表。對於角落導出的候選(構造的候選),如第4圖所示,從不同的相鄰塊導出控制點MV,其中塊410對應於當前塊。該進程搜索{a0,a1,a2}(稱為組A)中的第一可用MV,{b0,b1}(稱為組B)中的第一可用MV以及{c0,c1}(稱為組C)中的第一可用MV。對於4參數仿射模式,運動向量{MVA ,MVB }被使用。對於6參數仿射模式,運動向量{MVA ,MVB ,MVC }被使用。候選MVP集合的索引在位元流中被發信。兩個控制點的MV差異(MVD)也在位元流中被編解碼。
在ITU-T13-SG16-C-1016中,也提出了仿射合併模式。如果當前PU是合併PU,相鄰五個塊(第4圖中的c0,b0,b1,c1以及a0)被檢查它們之一是否是仿射幀間模式或者仿射合併模式。如果是,affine_flag被發信來指示當前PU是否是仿射模式。當當前PU被應用於仿射合併模式時,其從有效相鄰重構塊中獲得用仿射模式編解碼的第一塊。候選塊的選擇次序是如第4圖所示的從左、上、右上、左下到左上(c0àb0àb1àc1àa0)。第一仿射編碼塊的仿射參數被用於導出當前PU的v0 以及v1
在HEVC中,每一PU的解碼MV被用16:1的比率下採樣並且被儲存在時間MV緩衝器中用於後續幀的MVP導出。對於16x16塊,僅左上4x4 MV被儲存在時間MV緩衝器中以及所儲存的MV表示整個16x16塊的MV。 高級運動向量解析度(AMVR)
為了改善編解碼增益,最近已經引入了高級運動向量解析度(Advanced Motion Vector Resolution,AMVR)。AMVR可以適應性切換運動向量差異(MVD)的解析度。當前MV與PU的MV預測子之間的運動向量差異(MVD)可以用四分之一像素解析度或者整數像素解析度進行編解碼。在編碼單元(CU)級控制切換以及整數MVD解析度旗標(flag)(有條件地)被發信。
關於AMVR的更多細節可以在JVET-C1001(2016年5月26日-6月1日,在瑞士加內瓦舉行的,ITU-T SG 16 WP 3以及ISO/IEC JTC 1/SC 29/WG 11的聯合視訊勘探小組(JVET)第3次會議,Xu Chen等人,“Algorithm Description of Joint Exploration Test Model 3”,文獻:JVET-C1001)中找到。
在JEVT-E0076(2017年1月,加內瓦舉行的,ITU-T SG 16 WP 3以及ISO/IEC JTC 1/SC 29/WG 11的聯合視訊勘探小組(JVET)第5次JEVT會議,Chen等人,“EE5EE4: Enhanced Motion Vector Difference Coding”,文獻:JVET-E0076)中,修正的MVD編解碼方法已經被採用。該修正的MVD編解碼方法包括兩個元素:a)用於MVD信令的4像素精度(除了1/4像素以及整數像素MVD精度),以及b)可切換二值化以及上下文模型選擇。根據JVET-E0076,第一旗標被發信來指示是否在CU中使用用於亮度信號的1/4像素MV精度。當第一旗標指示用於亮度信號的1/4像素MV精度未被使用時,另一個旗標被發信來指示整數亮度樣本或者四個亮度樣本MV精度是否被使用。
以上所述,如仿射合併候選導出、仿射子塊MV導出以及AMVR的一些幀間編解碼涉及MV精度湊整。此外,不同的MV湊整方法由不同的幀間編解碼工具所使用。
公開了由利用一幀間編解碼工具的視訊編碼器或視訊解碼器執行的視訊編解碼的方法以及裝置。根據一個方法,在一視訊編碼器側接收與一當前圖像中一當前塊相關的輸入資料或者在一視訊解碼器側接收對應於包括當前塊的壓縮資料的一視訊位元流。在視訊編碼器側接收與當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量)或者在該視訊解碼器側接收該一或複數個MV的一或複數個已編碼MV。當該目標幀間編解碼工具屬於一至少含有兩個工具的組時,在該視訊編碼器側或在該視訊解碼器側應用一相同的轉換進程到該一或複數個MV來生成一或複數個已轉換MV,其中該組包括至少一個繼承的仿射合併候選導出以及仿射子塊MV導出。在該視訊編碼器側使用該一或複數個已轉換MV編碼該當前塊或該當前塊的運動資訊或者在該視訊解碼器側使用該一或複數個已轉換MV解碼該當前塊或該當前塊的該的運動資訊。
在一些實施例中,該組進一步包括成對合併候選導出或者適應性MV解析度(AMVR)。
該相同的轉換進程可以包括MV湊整、MV縮放、右移位或其組合。在一個實施例中,該相同的轉換進程包括向0湊整進程。在一個實施例中,該向0湊整進程被實施為MV_rounded = (MV + offset - (MV >= 0)) >> shift,以及以及其中MV表示被應用該相同轉換進程的一目標MV,MV_rounded表示一已轉換目標MV,shift表示對應於一右移位操作的若干位元的一整數,offset等於(1 >> (shift-1)),以及“>>”表示一左移位操作。
在一個實施例中,其中該相同的轉換進程包括遠離0湊整進程。
當該目標幀間編解碼工具對應於該繼承的仿射合併候選導出時,該一或複數個MV對應於一或複數個仿射控制點MV。該方法進一步包括將該一或複數個仿射控制點MV剪切在一某一範圍內以在沒有資料溢出(data overflow)的情況下儲存在MV緩衝器中。該剪切的MV範圍是-2^(k - 1)到2^(k - 1) – 1,以及其中k是16或18。
當該目標幀間編解碼工具對應於該仿射子塊MV導出時,該一或複數個MV對應於一或複數個導出的仿射子塊MV。該方法進一步包括將該導出仿射子塊MV剪切在一某一範圍內以在沒有資料溢出的情況下儲存在MV緩衝器中。該剪切的MV範圍是-2^(k - 1)到2^(k - 1) – 1,以及其中k是16或18。
根據另一方法,在該視訊編碼器側或在該視訊解碼汽車,一向0湊整進程被應用於該一或複數個MV來生成一或複數個已轉換MV,其中該向0湊整進程被實施為MV_rounded = (MV + offset - (MV >= 0)) >> shift,以及其中MV表示被應用該向0湊整進程的一目標MV,MV_rounded表示一已轉換目標MV,shift表示對應於一右移位操作的若干位元的一整數,offset等於(1 >> (shift - 1)),以及“>>”表示一左移位操作。
後續描述是實施本發明的最佳實施方式。所做之描述是為了說明本法的基本原理並且不應做限制性理解。本發明的範圍由參考所附申請專利範圍最佳決定。
在一個實施例中,如果使用了用於6參數仿射模型的仿射繼承候選導出,三個控制點的MVP集合(即,第2圖中的
Figure 02_image009
,
Figure 02_image011
以及
Figure 02_image013
)可以由如下等式導出: V0_x = VB0_x + (VB2_x - VB0_x ) * ( posCurPU_Y - posRefPU_Y ) / RefPU_height + (VB1_x - VB0_x ) * (posCurPU_X - posRefPU_X) / RefPU_width, V0_y = VB0_y + (VB2_y - VB0_y ) * (posCurPU_Y - posRefPU_Y) / RefPU_height  + (VB1_y - VB0_y ) * (posCurPU_X - posRefPU_X) / RefPU_width.
在上述等式中,VB0 、VB1 以及VB20 可以由任何參考/相鄰PU的左上MV、右上MV以及左下MV所替代,(posCurPU_X, posCurPU_Y)是相對於圖像的左上樣本的當前PU的左上樣本的像素位置,(posRefPU_X, posRefPU_Y)是相對於圖像的左上樣本的參考/相鄰PU的左上樣本的像素位置。剩下的兩個控制點可以根據如下導出: V1_x = VB0_x + (VB1_x - VB0_x ) * PU_width / RefPU_width, V1_y = VB0_y + (VB1_y - VB0_y ) * PU_width / RefPU_width, V2_x = VB0_x + (VB2_x - VB0_x ) * PU_height / RefPU_height, V2_y = VB0_y + (VB2_y - VB0_y ) * PU_height / RefPU_height.
為了消除除法操作,所有的MV可以乘以預定的或導出的數位(如,寬度與/或高度的倍數、寬度與/或高度的公倍數、CTU寬度/高度或者CTU寬度/高度除以寬度/高度),或者由預定的或導出的數位左移位(如,寬度與/或高度倍數的log2、寬度與/或高度的公倍數、CU寬度/高度或者CTU寬度/高度除以寬度/高度)。然後除法器可以由簡單的右移位所替代。在另一個示例中,MVx以及MVy可以乘以或者左移位不同的值。在另一個示例中,術語“(VB1_K -VB0_K )”以及“(VB2_K - VB0_K )”可以乘以或者左移位不同的值,其中K可以是x或y。例如,“(VB1_K - VB0_K )”可以乘以CTU_width/RefPU_width或者左移位log2(CTU_width/RefPU_width),“(VB2_K - VB0_K )”可以乘以CTU_width/RefPU_height或者左移位log2(CTU_width/RefPU_height)。
例如,用於仿射繼承候選導出的上述等式可以被修正用於無除法操作: V0_x = VB0_x * CTU_width + (VB2_x - VB0_x ) * CTU_width/RefPU_height *( posCurPU_Y -posRefPU _Y ) + (VB1_x - VB0_x ) * CTU_width/RefPU_width * (posCurPU_X - posRefPU_X), V0_y = VB0_y * CTU_width + (VB2 _y - VB0_y ) * CTU_width/RefPU_height * (posCurPU_Y - posRefPU_Y)  + (VB1_y - VB0_y ) * CTU_width/RefPU_width * (posCurPU_X - posRefPU_X), V1_x = V0_x + (VB1_x - VB0_x ) * CTU_width/RefPU_width * PU_width, V1_y = V0_y + (VB1_y - VB0_y ) * CTU_width/RefPU_width * PU_width, V2_x = V0_x + (VB2_x - VB0_x ) * CTU_width/RefPU_height * PU_height, V2_y = V0_y + (VB2_y - VB0_y ) * CTU_width/RefPU_height * PU_height.
在另一個示例中,移位操作可以用於避免除法的需要。 V0_x = VB0_x >> log2_CTU_width + (VB2_x - VB0_x ) *( posCurPU_Y - posRefPU_Y ) >> (log2_CTU_width – log2_RefPU_height) + (VB1_x - VB0_x )*(posCurPU_X - posRefPU_X) >> (log2_CTU_width – log2_RefPU_width), V0_y = VB0_y >> log2_CTU_width + (VB2_y - VB0_y ) *(posCurPU_Y - posRefPU_Y) >> (log2_CTU_width – log2_RefPU_height) + (VB1_y - VB0_y )*(posCurPU_X - posRefPU_X) >> (log2_CTU_width – log2_RefPU_width), V1_x = V0_x + (VB1_x - VB0_x ) * PU_width >> (log2_CTU_width – log2_RefPU_width), V1_y = V0_y + (VB1_y - VB0_y ) * PU_width >> (log2_CTU_width – log2_RefPU_width), V2_x = V0_x + (VB2_x - VB0_x ) * PU_height >> (log2_CTU_width – log2_RefPU_height), V2_y = V0_y + (VB2_y - VB0_y ) * PU_height >> (log2_CTU_width – log2_RefPU_height).
在又一個示例中,移位操作可以用於避免除法的需要。 VB0_x = VB0_x >> log2_CTU_width, VB0_y = VB0_y >> log2_CTU_width, VB1_x = VB1_x >> log2_CTU_width, VB1_y = VB1_y >> log2_CTU_width, VB2_x = VB2_x >> log2_CTU_width, VB2_y = VB2_y >> log2_CTU_width. V0_x = VB0_x + (VB2_x - VB0_x ) *( posCurPU_Y - posRefPU_Y ) >> log2_RefPU_height) + (VB1_x - VB0_x ) * (posCurPU_X - posRefPU_X) >>log2_CTU_width, V0_y = VB0_y + (VB2_y - VB0_y ) * (posCurPU_Y - posRefPU_Y)>> log2_RefPU_height + (VB1_y - VB0_y ) * (posCurPU_X - posRefPU_X) >> log2_RefPU_width, V1_x = V0_x + (VB1_x - VB0_x ) * PU_width >> log2_RefPU_width, V1_y = V0_y + (VB1_y - VB0_y ) * PU_width >>log2_RefPU_width, V2_x = V0_x + (VB2_x - VB0_x ) * PU_height >>log2_RefPU_height, V2_y = V0_y + (VB2_y - VB0_y ) * PU_height >>log2_RefPU_height.
V0_x ,V0_y ,V1_x ,V1_y ,V2_x ,V2_y 然後除以CTU_width或者右移位log2(CTU_width)。
在一個實施例中,對於右移位操作,如果MV是負值,其需要被轉換成正值並且右移位,以及然後轉換回負值。例如,MV = MV >= 0 ? (MV >> M) : -((-MV) >> M)。M可以是log2_CTU_width。
在另一個實施例中,湊整偏移(rounding offset)可以被添加。偏移可以等於0.5(即,朝無限大湊整或者遠離0湊整)或者小於0.5(即,朝0湊整)。例如,MV = MV>= 0 ? ((MV + offset) >> M) - (((-MV) + offset) >> M)。偏移可以是(1>> (M - 1)) - 1(即,朝0湊整)或者1 >> (M - 1)(朝無限大湊整)。在一個示例中,M可以是log2_CTU_width。
在仿射MVP導出中,控制點MVP可以用除法、右移位或者湊整從仿射模型等式中來導出。在另一個示例中,在合併模式或者幀間模式MVP導出中,當適應性MV解析度(AMVR)被應用時,MVP或者相鄰MV可能需要被縮放或者需要被湊整成某一解析度(例如,1/4像素、一半像素、整數像素、兩個像素、四個像素、8個像素或者16個像素)。例如,如果當前塊的MV解析度是整數像素或者四個像素,以及MVP或者相鄰MV以1/16像素或者四分之一像素精度來儲存,MVP或者相鄰MV需要被右移位到當前塊MV精度(即,目標MV精度)或者湊整成當前塊MV精度(例如,藉由右移位緊接著左移位)。對這些縮放/湊整/右移位,提出了統一的處理。相同的進程被應用於這些縮放/湊整/右移位。縮放/湊整/右移位進程在本公開中也被稱為MV轉換進程。其提出來整合MV湊整進程。其提出來將MV湊整進程對齊到一個通用功能。MV湊整可以包括具有MVD MV縮放進程的時間/空間/合併中的湊整、仿射控制點導出中的MV湊整、仿射子塊MV導出中的MV湊整、適應性MV解析度中的MV湊整、成對(pair-wise)的合併候選導出的MV湊整、MV平均或者MV加權平均的MV湊整、AMVR中MV精度變化、當將較高精度MV轉換成較低精度MV時的MV湊整、具有光流的仿射運動補償樣本細化中的MV導出,與/或時間參考MV緩衝器壓縮中固定點MV到浮動點MV或者浮動點MV到固定點MV轉換中的MV湊整。相同的等式應當僅與不同的“移位”一起使用。
在一個實施例中,後續等式被使用。其湊整MV到無限: mvx_rounded = (mvx + offset - (mvx > 0)) >> shift, mvy_rounded = (mvy + offset - (mvy > 0)) >> shift; mvx_rounded = (mvx + offset - (mvx >= 0)) >> shift, mvy_rounded = (mvy + offset - (mvy >= 0)) >> shift; mvx_rounded = (mvx + offset + (mvx > 0)) >> shift, mvy_rounded = (mvy + offset + (mvy > 0)) >> shift; 或者 mvx_rounded = (mvx + offset + (mvx >= 0)) >> shift, mvy_rounded = (mvy + offset + (mvy >= 0)) >> shift; 其中偏移等於(1>>(shift-1)) - 1。
在一個實施例中,後續等式被使用,其朝0湊整MV: mvx_rounded = (mvx + offset - (mvx > 0)) >> shift, mvy_rounded = (mvy + offset - (mvy > 0)) >> shift; 或者 mvx_rounded = (mvx + offset - (mvx >= 0)) >> shift, mvy_rounded = (mvy + offset - (mvy >= 0)) >> shift; 其中偏移等於(1>>(shift-1)) - 1。
在一個實施例中,下列等式被使用。 mvx_rounded = (mvx + offset + (mvx > 0)) >> shift, mvy_rounded = (mvy + offset + (mvy > 0)) >> shift; 或者 mvx_rounded = (mvx + offset + (mvx >= 0)) >> shift, mvy_rounded = (mvy + offset + (mvy >= 0)) >> shift; 其中偏移等於(1>>(shift-1)) - 1。
注意到“(X > 0)”可以被實施為X>>(bit-depth - 1)或者拿走其MSB。(mvx > 0)或者(mvx >= 0)可以被實施為XOR(X >> (bit-depth - 1))或者使用異或1’bit1與X的MSB或者反轉X的MSB。
在另一個實施例中,對於所有控制點MV與/或所有導出的仿射子塊MV,MV應當在沒有資料溢出的情況下,在某一範圍被剪切(clip)來儲存在MV緩衝器中。例如,所有的控制點MV與/或所有導出的仿射子塊MV應當在[-2^(K-1), 2^(K-1) -1]或者[-2^(K-1) + 1, 2^(K-1) -1]的範圍內被剪切,其中K可以是8、16、18、24或32。這樣,仿射導出的MV以及控制點MV可以被儲存在K位元緩衝器中。在上述等式中,2^x意思是x的2次方。
例如,如果K是16,mvx以及mvy被剪切如下: Clip_mvx = Clip3( -32768, 32767, mvx ), Clip_mvy = Clip3( -32768, 32767, mvy ). 或者 Clip_mvx = Clip3( -32767, 32767, mvx ), Clip_mvy = Clip3( -32767, 32767, mvy ).
如果K是18,mvx以及mvy被剪切如下: Clip_mvx = Clip3( -131072, 131071, mvx ), Clip_mvy = Clip3( -131072, 131071, mvy ). 或者 Clip_mvx = Clip3( -131071, 131071, mvx ), Clip_mvy = Clip3( -131071, 131071, mvy ).
注意到上述提出的方法可以被應用於仿射合併候選列表構造、仿射AMVP MVP候選列表構造或者統一的合併候選列表構造。
第5圖示出了合併本發明一個實施例的視訊編解碼系統的示例性流程圖,其中所有的幀間編解碼工具使用相同的運動向量轉換進程。流程圖中示出的步驟可以被實施為在編碼器側的一或複數個處理器(如,一或複數個CPU)上可執行的程式碼。流程圖中示出的步驟也可以基於用於執行流程圖中步驟的一或複數個電路裝置或處理器的硬體來實施。根據這一方法,在步驟510中,在視訊編碼器側,與當前塊相關的輸入資料被接收或者在視訊解碼器側,對應於包括當前塊的壓縮資料的視訊位元流被接收。在步驟520中,在該視訊編碼器側或者在該視訊解碼器側,與該當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量)被決定。在步驟530中,當該目標幀間編解碼工具屬於一至少含有兩個工具的組時,在該視訊編碼器側或者在該視訊解碼器側應用一相同的轉換進程到該一或複數個MV來生成一或複數個已轉換MV,其中該組包括至少一個繼承的仿射合併候選導出以及仿射子塊MV導出。在步驟540中,在該視訊編碼器側,該當前塊或者該當前塊的運動資訊使用該一或複數個已轉換MV來編碼或者在該視訊解碼器側,該當前塊的該運動資訊使用該一或複數個已轉換MV來解碼。 成對的合併候選
在JVET-L0090(2018年10月3-12日,在中國澳門舉行的ITU-T SG 16 WP 3以及ISO/IEC JTC 1/SC 29/WG 11的聯合視訊勘探小組(JVET)第11次會議中,Hsiao等人,“CE4.4.12: Pairwise average candidates”,文獻:JVET-L0090)中,藉由對當前合併候選列表中預定候選對求平均生成成對的平均候選,以及該預定對被定義為{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)},其中數字表示合併候選列表的合併索引。平均運動向量被分別計算用於每一參考列表。如果在一個列表中兩個運動向量都是可用的,即使當它們指向不同的參考圖像,這兩個運動向量被求平均;如果僅一個運動向量是可用的,直接使用該一個運動向量;以及如果每一運動向量是可用的,保持這一列表無效。該成對的平均候選替換HEVC標準中組合的候選。
第6圖示出了合併本發明實施例的視訊編解碼系統的另一個示例性流程圖,其中該運動向量轉換進程根據本發明的實施例被簡化。根據這一方法,在步驟610,在一視訊編碼器側,與一當前塊相關的輸入資料被接收或者在一視訊解碼器側,對應於包括該當前塊的壓縮資料的一視訊位元流被接收。在步驟620,在該視訊編碼器側或者在該視訊解碼器側,與該當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量)被決定。在步驟630,在該視訊編碼器側或在該視訊解碼器側,一向0湊整進程被應用於該一或複數個MV來生成一或複數個已轉換MV,其中該向0湊整進程被實施為MV_rounded = (MV + offset - (MV >= 0)) >> shift,其中MV表示被應用於該向0湊整進程的一目標MV,MV_rounded表示一已轉換目標MV,shift表示對應於一右移位操作的若干位元的一整數,offset等於(1>> (shift-1)),以及“>>”表示左移位操作。在步驟640中,在該視訊編碼器側,該當前塊或者該當前塊的運動資訊使用該一或複數個已轉換MV進行編碼,或者在該視訊解碼器側,該當前塊的該運動資訊使用該一或複數個已轉換MV進行解碼。
任何前述提出的方法可以在編碼器與/或解碼器中實施。例如,任何提出的方法可以在編碼器的MV導出模組與/或解碼器的MV導出模組中實施。或者,任何提出的方法可以被實施為與該編碼器的該MV導出模組與/或該解碼器的該MV導出模組耦合的電路,以提供該MV導出模組所需要的資訊。
流程圖旨在說明根據本發明的視訊的示例。本領域習知技術者可以在不背離本發明精神的情況下,修正每一步驟、重新排列步驟、拆分步驟或者組合步驟來實施本發明。在本發明中,特定的語法以及語義已經被用於說明示例來實施本發明的實施例。習知技術者可以在不背離本發明精神的情況下,藉由用等同的語法以及語義來替換該語法以及語法來實施本發明。
以上描述被呈現來使能本領域習知技術者以特定應用的上下文及其需求來實施本發明。所描述實施例的各種修正對本領域這些習知技術者將是顯而易見的,本文定義的基本原理可以被應用於其他實施例。因此,本發明不旨在被限制於所示以及所描述的特定實施例,而是與本位公開的原理以及新穎特徵的最寬範圍一致。在上述細節描述中,各種具體細節被示出以提供本發明的透徹理解。然而,本領域習知技術者將能理解,可以實施本發明。
以上所描述的本發明的實施例可以以各種硬體、軟體代碼或兩者的組合來實施。例如,本發明的實施例可以是整合到視訊壓縮晶片的電路或者整合到視訊壓縮軟體的程式碼來執行本文所描述的處理。本發明的實施例還可以是將在數位訊號處理器(DSP)上執行的程式碼來執行本文所描述的處理。本發明還可以涉及由電腦處理器、數位訊號處理器、微處理器或者現場可程式閘陣列(FPGA)執行的若干功能。這些處理器可以用於執行根據本發明的特定任務,藉由執行定義由本發明呈現的具體方法的機器可讀軟體代碼或韌體代碼。該軟體代碼或韌體代碼可以以不同的程式設計語言以及不同的格式或風格來開發。軟體代碼還可以被編譯用於不同的目標平臺。然而,軟體代碼不同的代碼格式、風格以及語言以及配置代碼來執行根據本發明任務的其他方式將不背離本發明的精神以及範圍。
本發明可以在不背離其精神或基本特徵的情況下以其他具體的形式實施。所描述的示例在所有方面僅被認為是說明性的而非限制性的。因此,本發明的範圍由所附申請專利範圍而不是前述描述來指示。在申請專利範圍的含義以及等同範圍內的所有變化都包括在其範圍內。
110、120、210、220、410:塊 510~540、610~640:步驟
第1A圖示出了四參數仿射模型的示例,其中塊的運動由在塊兩個角落的兩個運動向量來建模。 第1B圖示出了根據四參數仿射模型的轉換塊的示例,其中仿射模型可以處理塊旋轉。 第2圖示出了根據六參數仿射模型的示例,其中塊的運動由在塊三個角落的三個運動向量建模。 第3圖示出了當前塊的4x4子塊的運動向量的示例,其中運動向量基於兩個控制點的MV來導出。 第4圖示出了角落導出候選(構造候選)的示例,其中控制點MV從不同的相鄰塊來導出。 第5圖示出了結合本發明實施例的視訊編解碼系統的示例性流程圖,其中所有幀間編解碼工具使用相同的運動向量轉換進程。 第6圖示出了結合本發明實施例的視訊編解碼系統的另一個示例性流程圖,其中運動向量簡化進程根據本發明的實施例來簡化。
510~540:步驟

Claims (20)

  1. 一種視訊編解碼方法,由利用一幀間編解碼工具的一視訊編碼器或一視訊解碼器來執行,該方法包括: 在一視訊編碼器側接收與一當前圖像中一當前塊相關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流; 在該視訊編碼器側或該視訊解碼器側決定與該當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量); 當該目標幀間編解碼工具屬於一至少含有兩個工具的組時,在該視訊編碼器側或在該視訊解碼器側應用一相同的轉換進程到該一或複數個MV來生成一或複數個已轉換MV,其中該組包括至少一個繼承的仿射合併候選導出以及仿射子塊MV導出;以及 在該視訊編碼器側使用該一或複數個已轉換MV編碼該當前塊或該當前塊的運動資訊或者在該視訊解碼器側使用該一或複數個已轉換MV解碼該當前塊或該當前塊的該運動資訊。
  2. 如申請專利範圍第1項所述之視訊編解碼方法,其中該相同的轉換進程包括MV湊整、MV縮放、右移位或其組合。
  3. 如申請專利範圍第1項所述之視訊編解碼方法,其中該相同的轉換進程包括向0湊整進程。
  4. 如申請專利範圍第3項所述之視訊編解碼方法,其中該向0湊整進程被實施為MV_rounded = (MV + offset - (MV >= 0)) >> shift,以及其中MV表示被應用該相同轉換進程的一目標MV,MV_rounded表示一已轉換目標MV,shift表示對應於一右移位操作的若干位元的一整數,offset等於(1 >> (shift-1)),以及“>>”表示一左移位操作。
  5. 如申請專利範圍第1項所述之視訊編解碼方法,其中該相同的轉換進程包括遠離0湊整進程。
  6. 如申請專利範圍第1項所述之視訊編解碼方法,其中當該目標幀間編解碼工具對應於該繼承的仿射合併候選導出時,該一或複數個MV對應於一或複數個仿射控制點MV。
  7. 如申請專利範圍第6項所述之視訊編解碼方法,進一步包括在一剪切的MV範圍內剪切該一或複數個仿射控制點MV。
  8. 如申請專利範圍第7項所述之視訊編解碼方法,其中該剪切MV範圍是-2^(k - 1)到2^(k - 1) – 1,以及其中k是16或18。
  9. 如申請專利範圍第1項所述之視訊編解碼方法,其中該目標幀間編解碼工具對應於該仿射子塊MV導出,該一或複數個MV對應於一或複數個已導出仿射子塊。
  10. 如申請專利範圍第9項所述之視訊編解碼方法,進一步包括在一剪切的MV範圍內剪切該導出的仿射子塊MV。
  11. 如申請專利範圍第10項所述之視訊編解碼方法,其中該剪切MV範圍是-2^(k - 1)到2^(k - 1) – 1,以及其中k是16或18。
  12. 如申請專利範圍第1項所述之視訊編解碼方法,其中該組進一步包括成對的合併候選導出或者適應性MV解析度(AMVR)。
  13. 一種由一視訊編碼器或一視訊解碼器利用一幀間編解碼工具執行視訊編解碼的裝置,該裝置包括一或複數個電子電路或處理器用於: 在一視訊編碼器側接收與一當前圖像中一當前塊相關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流; 在該視訊編碼器側或該視訊解碼器側決定與該當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量); 當該目標幀間編解碼工具屬於一至少含有兩個工具的組時,在該視訊編碼器側或在該視訊解碼器側應用一相同的轉換進程到該一或複數個MV來生成一或複數個已轉換MV,其中該組包括至少一個繼承的仿射合併候選導出以及仿射子塊MV導出;以及 在該視訊編碼器側使用該一或複數個已轉換MV編碼該當前塊或該當前塊的運動資訊或者在該視訊解碼器側使用該一或複數個已轉換MV解碼該當前塊或該當前塊的該運動資訊。
  14. 一種視訊編解碼方法,由一視訊編碼器或一視訊解碼器利用一幀間編解碼工具來執行,該方法包括: 在一視訊編碼器側接收與一當前圖像中一當前塊相關的輸入資料或者在一視訊解碼器側接收對應於包括該當前塊的壓縮資料的一視訊位元流; 在該視訊編碼器側或在該視訊解碼器側決定與該當前塊的一目標幀間編解碼工具相關的一或複數個MV(運動向量); 在該視訊編碼器側或在該視訊解碼器側應用一向0湊整進程到該一或複數個MV來生成一或複數個已轉換MV,其中該向0湊整進程被實施為MV_rounded = (MV + offset - (MV >= 0)) >> shift,以及其中MV表示被應用該向0湊整進程的一目標MV,MV_rounded表示一已轉換目標MV,shift表示對應於一右移位操作的若干位元的一整數,offset等於(1 >> (shift - 1)),以及“>>”表示一左移位操作;以及 在該視訊編碼器側使用該一或複數個已轉換MV編碼該當前塊或該當前塊的運動資訊或者在該視訊解碼器側使用該一或複數個已轉換MV解碼該當前塊或該當前塊的該運動資訊。
  15. 如申請專利範圍第14項所述之視訊編解碼方法,其中該目標幀間編解碼工具對應於繼承的仿射合併候選導出,該一或複數個MV對應於一或複數個仿射控制點MV。
  16. 如申請專利範圍第15項所述之視訊編解碼方法,進一步包括在一剪切的MV範圍內剪切該一或複數個仿射控制點MV。
  17. 如申請專利範圍第16項所述之視訊編解碼方法,其中該剪切的MV範圍是-2^(k - 1)到2^(k - 1)-1,以及其中k是16或18。
  18. 如申請專利範圍第14項所述之視訊編解碼方法,其中該目標幀間編解碼工具對應於仿射子塊MV導出,該一或複數個MV對應於一或複數個導出的仿射子塊MV。
  19. 如申請專利範圍第18項所述之視訊編解碼方法,進一步包括在一剪切的MV範圍內剪切該一或複數個導出的仿射子塊MV。
  20. 如申請專利範圍第19項所述之視訊編解碼方法,其中該剪切的MV範圍是-2^(k - 1)到2^(k - 1) – 1。
TW108131826A 2018-09-04 2019-09-04 視訊編解碼系統的運動向量湊整統一的方法以及裝置 TWI729483B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201862726911P 2018-09-04 2018-09-04
US62/726,911 2018-09-04
US201962789564P 2019-01-08 2019-01-08
US62/789,564 2019-01-08
US201962815761P 2019-03-08 2019-03-08
US62/815,761 2019-03-08
US16/559,966 2019-09-04
US16/559,966 US11310520B2 (en) 2018-09-04 2019-09-04 Method and apparatus of motion-vector rounding unification for video coding system

Publications (2)

Publication Number Publication Date
TW202019179A true TW202019179A (zh) 2020-05-16
TWI729483B TWI729483B (zh) 2021-06-01

Family

ID=69639130

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108131826A TWI729483B (zh) 2018-09-04 2019-09-04 視訊編解碼系統的運動向量湊整統一的方法以及裝置

Country Status (2)

Country Link
US (2) US11310520B2 (zh)
TW (1) TWI729483B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021529462A (ja) 2018-06-29 2021-10-28 ヴィド スケール インコーポレイテッド アフィン動きモデルを基にしたビデオコーディングのためのアダプティブ制御点の選択
US11418793B2 (en) * 2018-10-04 2022-08-16 Qualcomm Incorporated Adaptive affine motion vector coding
CN111355961B (zh) * 2018-12-24 2023-11-03 华为技术有限公司 一种帧间预测的方法和装置
US10904550B2 (en) * 2019-01-12 2021-01-26 Tencent America LLC Method and apparatus for video coding
CN113508593A (zh) * 2019-02-27 2021-10-15 北京字节跳动网络技术有限公司 基于回退的运动矢量场的基于子块运动矢量推导
US20230128502A1 (en) * 2021-10-21 2023-04-27 Tencent America LLC Schemes for Adjusting Adaptive Resolution for Motion Vector Difference

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7116831B2 (en) * 2002-04-10 2006-10-03 Microsoft Corporation Chrominance motion vector rounding
US9325991B2 (en) * 2012-04-11 2016-04-26 Qualcomm Incorporated Motion vector rounding
CN115209158A (zh) * 2016-02-01 2022-10-18 Oppo广东移动通信有限公司 预测图像生成装置、运动图像解码装置、以及运动图像编码装置
SG11201806865YA (en) * 2016-03-15 2018-09-27 Mediatek Inc Method and apparatus of video coding with affine motion compensation
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
US10560712B2 (en) 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
US10979732B2 (en) * 2016-10-04 2021-04-13 Qualcomm Incorporated Adaptive motion vector precision for video coding
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
CN110771169A (zh) * 2017-06-09 2020-02-07 韩国电子通信研究院 视频编码/解码方法和装置以及存储比特流的记录介质
EP3682635A1 (en) * 2017-10-09 2020-07-22 Huawei Technologies Co., Ltd. Memory access window for sub prediction block motion vector derivation
CN116456080A (zh) * 2018-04-16 2023-07-18 联发科技股份有限公司 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置
CN112042196A (zh) * 2018-04-18 2020-12-04 联发科技股份有限公司 在视频编解码中具有高级控制的候选重组
US10873748B2 (en) * 2018-05-12 2020-12-22 Qualcomm Incorporated Storage of high precision motion vectors in video coding
EP3804324A4 (en) * 2018-06-11 2022-08-03 HFI Innovation Inc. BIDIRECTIONAL OPTICAL FLOW METHOD AND APPARATUS FOR VIDEO CODING
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction

Also Published As

Publication number Publication date
US11310520B2 (en) 2022-04-19
TWI729483B (zh) 2021-06-01
US20220201325A1 (en) 2022-06-23
US20200077111A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
TWI729483B (zh) 視訊編解碼系統的運動向量湊整統一的方法以及裝置
CN110809887B (zh) 用于多参考预测的运动矢量修正的方法和装置
CN108781295B (zh) 视频编码的样式基础的运动向量推导之方法及装置
KR101393824B1 (ko) 저 복잡성 움직임 벡터 도출을 위한 시스템 및 방법
JP6945654B2 (ja) 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置
TWI738292B (zh) 用於視頻編解碼系統的簡化仿射子塊處理的方法及裝置
TWI729477B (zh) 視訊編解碼中的子塊去塊及裝置
CN113383550A (zh) 光流修正的提前终止
WO2019154424A1 (zh) 视频解码方法、视频解码器以及电子设备
TW202005373A (zh) 由視訊編碼器和視訊解碼器執行的視訊編解碼方法及裝置
CN114009041A (zh) 双向预测光流计算和双向预测校正中用于块级边界样本梯度计算的整数网格参考样本位置的计算方法
WO2019242686A1 (en) Method and apparatus of motion vector buffer management for video coding system
WO2019144908A1 (en) Method and apparatus of affine inter prediction for video coding system
CN114727114A (zh) 运动矢量的确定方法和装置
TWI768475B (zh) 視訊資料預測方法和裝置
KR102651484B1 (ko) 비디오 시퀀스의 이미지를 코딩하기 위한 방법 및 장치, 그리고 단말 디바이스
TW202408243A (zh) 用於視頻編解碼的解碼器側運動向量優化和雙向光流的方法和裝置