[go: up one dir, main page]

TW202121902A - 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置 - Google Patents

以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置 Download PDF

Info

Publication number
TW202121902A
TW202121902A TW109134358A TW109134358A TW202121902A TW 202121902 A TW202121902 A TW 202121902A TW 109134358 A TW109134358 A TW 109134358A TW 109134358 A TW109134358 A TW 109134358A TW 202121902 A TW202121902 A TW 202121902A
Authority
TW
Taiwan
Prior art keywords
block
motion vector
current frame
projection
frame
Prior art date
Application number
TW109134358A
Other languages
English (en)
Other versions
TWI751727B (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 TW202121902A publication Critical patent/TW202121902A/zh
Application granted granted Critical
Publication of TWI751727B publication Critical patent/TWI751727B/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Landscapes

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

Abstract

運動向量(motion vector,簡稱MV)投影方法包括藉由將MV投影應用於多個參考幀中的每個的一部分的MV來生成當前幀的第一部分的運動場運動向量(motion filed motion vector,簡稱MFMV),並將當前幀的第一部分的MFMV存儲至MFMV緩衝器,以及藉由將MV投影應用於多個參考幀中的每個的一部分的MV生成當前幀的第二部分的MFMV,並將當前幀的第二部分的MFMV存儲至MFMV緩衝器。第二部分與第一部分不重疊。在當前幀的第二部分的MFMV被生成之前,第一部分的MFMV中至少一個從MFMV緩衝器被讀取,並且參與第一部分中包括的至少一個編解碼塊的運動向量的確定。

Description

以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置
本發明的申請專利範圍要求在2019年11月26日遞交的申請號為16/697,119的美國非臨時申請案的優先權,以上申請的全部內容以引用方式併入本發明。
本發明涉及視訊編解碼,更具體的是,本發明涉及以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置。
常規的視訊編解碼標準通常採用基於塊的編解碼技術來利用空間和時間冗餘。例如,基本方法是將源幀劃分為多個塊,對每個塊執行預測,對每個塊的殘差進行變換,並且執行量化,掃描和熵編碼。此外,重構幀在視訊編碼器的內部解碼環路中生成,以提供用於對後續塊進行編解碼的參考像素資料。例如,逆掃描、逆量化和逆變換可被包括在視訊編碼器的內部解碼環路中,以恢復每個塊的殘差,這些殘差將被添加到每個塊的預測樣本以生成重構幀。視訊編碼器的內部解碼環路的功能也實現在視訊解碼器中,用於恢復每個塊的殘差並生成重構幀。
運動估計是現代視訊編解碼標準中的幀間預測的核心部分,其極大地提高了壓縮效率。另一方面,運動資訊佔據相當一部分壓縮的位元流,尤其是在低位元速率的情況下。為了最小化表示運動向量(motion vector,簡稱MV)資訊所需的位元數,運動向量預測子(motion vector predictor,簡稱MVP)通常被使用,然後運動向量差(motion vector difference,簡稱MVD),即MV和MVP之間的差,被編碼為位元流。此外,MVP還被用作運動估計的起點。基於MV(MV= MVP+MVD),運動補償獲得可被用來重構塊的預測塊。在視訊序列中,塊的運動在空間和時間域中都具有高度相關性。因此,包括幾個空間和時間預測子的MVP候選集合可被建立,使得塊的最終MVP可基於MVP候選集合來確定。如果MVP精度可被提高,則MVD可被降低,並且編解碼效率可被提高。例如,為了增加MVP精度,藉由從MV投影導出的運動場運動向量(motion field motion vector,簡稱MFMV),MVP候選集合中包括的每個時間預測子可被設置。一種常規設計採用離線方法檢查(traverse)參考幀的所有64x64塊,並在當前幀的任一塊的運動向量確定被啓動之前,準備MFMV緩衝器中的當前幀(即待編碼/解碼的幀)的所有塊的MFMV。換句話說,關於當前幀的編碼/解碼,後處理階段(例如,運動向量確定)必須等待預處理階段的結束(例如,運動向量投影),從而導致編碼/解碼性能的下降。
所要求保護的發明的目的之一是提供一種以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置。
根據本發明的第一方面,公開了一種示例MV投影方法。該示例MV投影方法包括:藉由將MV投影應用於多個參考幀中的每個的一部分的MV來生成當前幀的第一部分的運動場運動向量(motion field motion vector,簡稱MFMV),以及將當前幀的第一部分的MFMV存儲至MFMV緩衝器;藉由將MV投影應用於多個參考幀中的每個的一部分的MV來生成當前幀的第二部分的MFMV,並將當前幀的第二部分的MFMV存儲至MFMV緩衝器。當前幀的第二部分與當前幀的第一部分不重疊。在生成當前幀的第二部分的MFMV被完成之前,當前幀的第一部分的MFMV中的至少一個從MFMV緩衝器中被讀取,並參與包括在當前幀的第一部分的至少一個編解碼塊的運動向量確定。
根據本發明的第二方面,公開了一種示例性MV投影裝置。該示例性MV投影裝置包括MFMV緩衝器和處理電路。所述處理電路被佈置為藉由將MV投影應用於多個參考幀中的每個的一部分的MV來生成當前幀的第一部分的MFMV,並將當前幀的第一部分的MFMV存儲至MFMV緩衝器;以及藉由將MV投影應用於多個參考幀中的每個的一部分的MV來生成當前幀的第二部分的MFMV,並將當前幀的第二部分的MFMV存儲至MFMV緩衝器。當前幀的第二部分與當前幀的第一部分不重疊。在當前幀的第二部分的MFMV由處理電路產生之前,當前幀的第一部分的MFMV中至少一個從MFMV緩衝器中被讀取,並參與包括在當前幀的第一部分的至少一個編碼塊的運動向量確定。
在閱讀了在各個附圖和附圖中示出的優選實施例的以下詳細描述之後,本發明的該些和其他目的無疑對於本領域之通常技術者將變得顯而易見。
貫穿以下描述和申請專利範圍特定術語,其涉及特定組件被使用。如本領域之通常技術者將理解的,電子裝置製造商可藉由不同的名稱來指涉同一組件。本文檔無意區別名稱不同但功能相同的組件。在以下描述和申請專利範圍中,術語“包括”和“包含”以開放式的方式使用,因此應該被解釋為表示“包括但不限於......”。而且,術語“耦合”旨在表示間接或直接電子連接。因此,如果一個裝置耦合到另一個裝置,則該連接可以藉由直接電子連接,或藉由其他裝置和連結的間接電子連接。
第1圖示出根據本發明的實施例的視訊解碼器的圖。視訊解碼器100可以是AV1視訊解碼器。然而,這僅出於說明的目的,並不意味著對本發明的限制。使用所提出的即時方法來生成解碼的當前幀的塊的運動場運動向量的任一視訊解碼器都屬於本發明的範圍。如第1圖所示,視訊解碼器100包括熵解碼電路(例如,可變長度解碼器(variable length decoder,簡稱VLD)102),逆掃描電路(以“IS”表示)104,逆量化電路(以“IQ”表示)106,逆變換電路(以“IT”表示)106,重構電路110,運動向量計算電路(以“MV計算”表示)112,運動補償電路(以“MC”表示)114,幀內預測電路(以“IP”表示)116,幀間/幀內模式選擇電路(以“幀間/幀內選擇”表示)118,環路濾波器(例如,解塊濾波器(deblocking,簡稱DBF)120)和參考幀緩衝器122。當塊以幀內預測模式進行編碼時,幀內預測電路116被用來確定幀內預測塊,並且重構電路110根據來自幀間/幀內模式選擇電路118的幀內預測塊輸出以及來自逆變換電路108的殘差輸出來生成重構塊。當塊以幀間預測模式進行編碼,運動向量計算電路112和運動補償電路110被用來確定幀間預測塊,並且重構電路110根據來自幀間/幀內模式選擇電路118的幀間預測塊輸出以及來自逆變換電路108的殘差輸出來生成重構塊。此外,由重構電路110生成的重構幀,在被存儲至參考幀緩衝器122中用作參考幀之前,該重構幀經歷環路濾波。由於相關領域的技術人員可以容易地理解VLD102,逆掃描電路104,逆量化電路106,逆變換電路108,重構電路110,幀內預測電路116,運動補償電路114,幀間/幀內模式選擇電路118,DBF 120和參考幀緩衝器122的細節,為簡潔起見,在此進一步的描述被省略。
當前編解碼塊的運動向量差(motion vector difference,簡稱MVD)從VLD102解碼,當前編解碼塊的運動向量預測子(motion vector predictor,簡稱MVP)在運動向量計算電路112中確定。因此,運動向量計算電路112根據解碼的MVD和計算出的MVP來計算當前編解碼塊的運動向量(motion vector,簡稱MV),其中MV=MVP+MVD。在該實施例中,運動向量計算電路112建立包括幾個空間和時間預測子的MVP候選集合,並根據該MVP候選集合確定當前編解碼塊的最終MVP,其中MVP候選集合中包括的每個時間預測子可由從MV投影導出的運動場運動向量(motion field motion vector,簡稱MFMV)設置。在該實施例中,運動向量計算電路112包括MV投影裝置124,其被佈置為以即時的方式生成當前幀的塊的MFMV。根據所提出的即時運動向量投影方案,後處理階段(例如,運動向量確定)不需要等待預處理階段的結束(例如,運動向量投影),因此減少了解碼的處理時間,提高了硬體效率。
第2圖示出使用當前幀200的運動軌跡來預測當前幀200中包括的當前塊202的運動的示例的示圖。該運動軌跡示出了當前幀200和三個參考幀(由“參考幀1”,“參考幀0”和“參考幀2”表示的)204、206和208之間的運動。基於參考運動向量210,運動軌跡被確定,該參考運動向量210表示參考幀206與參考幀之間的運動。例如,參考幀206可以是用於預測參考幀204的一個或多個塊的運動的參考幀。在參考運動向量210被確定之後,運動軌跡被確定為與該參考運動向量210的方向相對應的軌跡。
運動軌跡將當前塊202識別為當前幀200與運動軌跡相交的位置。然後,第一時間運動向量候選212被確定為指示參考幀204和當前幀200之間的運動。第二時間運動向量候選214被確定為指示參考幀208和當前幀200之間的運動。參考運動向量210,第一時間運動向量候選212和第二時間運動向量候選214中的一個或多個可被包括在MVP候選集合中,最終的MVP從該MVP候選集合被選擇以實際預測當前塊202的運動。
根據顯示順序,參考幀206和208被示為相對於當前幀200的過去幀(可以是先前解碼的幀),參考幀204被示為相對於當前幀200的將來幀(可以是先前解碼的幀)。然而,其他數量的過去或將來參考幀可被使用。例如,存在一個過去參考幀和一個將來參考幀的運動軌跡可被確定。在另一示例中,存在一個過去幀和兩個將來參考幀的運動軌跡可被確定。在另一示例中,存在兩個或更多過去參考幀以及兩個或更多將來參考幀的運動軌跡可被確定。
第3圖示出使用運動向量投影來生成當前幀中包括的塊的MFMV的示例的圖。參考幀中包括的所有64×64塊的MV被存儲在參考幀MV緩衝器302中,其中每個64×64塊被劃分為多個8×8塊,並且每個8×8塊的MV被記錄在參考幀MV緩衝器302中。MFMV緩衝器304被用來存儲藉由將MV投影應用於參考幀中包括的64×64塊的MV而獲得的MV投影結果。例如,在MFMV緩衝器304中分配的存儲區域308被用來存儲當前幀中的第一64x64塊的MFMV(例如,當前幀的當前64x64塊中包括的8x8塊位置處的投影MV),其中所存儲的MFMV可被用作參與MVP確定和隨後的MV確定的時間預測子;在MFMV緩衝器304中分配的存儲區域310被用作存儲當前幀中的第二64x64塊的MFMV(例如,當前幀的當前64x64塊的左相鄰塊中包括的8x8塊位置處的投影MV),其中所存儲的MFMV可被用作MVP確定以及隨後的MV確定中涉及的時間預測子;MFMV緩衝器304中分配的存儲區域312被用來存儲當前幀中的第三64x64塊的MFMV(例如,當前幀的當前64x64塊的右相鄰塊中包括的8x8塊位置處的投影MV),其中存儲的MFMV可被用作MVP確定以及隨後的MV確定中涉及的時間預測子。
如第3圖所示,存儲區域306在參考幀MV緩衝器302中被分配,用於在參考幀中存儲64×64參考塊的MV(特別是64×64參考塊中包括的所有8×8塊的MV),其中,參考幀中的64×64參考塊和當前幀中的第一64x64塊是同位塊。為了提高MVP確定的準確性,藉由MV投影對64x64參考塊的原始MV進行預處理,以生成當前幀中64x64塊的MFMV(投影MV),其中MFMV可用作以後由MVP確定所使用的時間預測子。在該示例中,包括在第一64x64參考塊中的8x8參考塊的塊位置BP11處的原始運動向量MV1被投影到當前幀,從而在當前幀的第二64x64塊中的8x8塊投影塊的位置BP2處產生投影運動向量MV1'。因此,根據投影塊位置BP2,投影運動向量MV1'被存儲在存儲區域310中的對應位址中。
包括在64x64參考塊中的8x8參考塊的塊位置BP12處的原始運動向量MV2被投影到當前幀,從而在包含在當前幀的第三64x64塊中的8x8塊的投影塊位置BP31處產生投影運動向量MV2'。因此,根據投影塊位置BP31,投影運動向量MV2'被存儲在存儲區域308中的對應位址中。
包括在64x64參考塊中的8x8參考塊的塊位置BP13處的原始運動向量MV3被投影到當前幀,從而在當前幀的第三64x64塊中的8x8塊的投影塊位置BP32處產生投影運動向量MV3'。因此,根據投影塊位置BP32,投影運動向量MV3'被存儲在存儲區域312的對應位址中。
在64x64參考塊中的8x8參考塊的塊位置BP14處的原始運動向量MV4被投影到當前幀,從而在當前幀的第一64x64塊中的8x8塊的投影塊位置BP16處產生投影運動向量MV4'。因此,根據投影塊位置BP16,投影運動向量MV4'被存儲在存儲區域308中的對應位址中。
投影的8x8塊位置應在有效範圍內。如上所述,當前幀中的第一64x64塊和參考幀中的64x64參考塊是同位塊,當前幀中的第二64x64塊是當前幀中的第一64x64塊的左相鄰塊,並且當前幀中的第三64x64塊是當前幀中第一64x64塊的右相鄰塊。當MV投影被應用於參考幀中64×64參考塊的8×8參考塊所擁有的MV時,有效範圍由第一64×64塊、第二64×64塊和第三64×64塊定義。因此,當投影位置在第一64x64塊,第二64x64塊和第三64x64塊中的任一時,投影位置有效,而當投影位置在不是第一64x64塊,第二64x64塊和第三64x64塊中之一的一個的64x64塊內時,投影位置無效。如第3圖所示,在64×64參考塊中的8×8參考塊的塊位置BP15處的原始運動向量MV5被投影到當前幀,從而導致在有效範圍之外的無效投影塊位置處的投影運動向量。因此,具有無效的投影塊位置的投影運動向量被阻止存儲至MFMV緩衝器304中。
當MV投影被應用於參考幀中64x64參考塊的8x8參考塊所擁有的MV時,在第二64x64塊(例如,第一64x64塊的左相鄰塊)在當前幀中不可用的情形下,有效範圍由第一64x64塊和第三64x64塊(例如,第一64x64塊的右相鄰塊)定義。因此,當投影位置在第一64x64塊和第三64x64塊中的任一內時,投影位置是有效的;而當投影位置在不是第一64x64塊和第三64x64塊中之一的一個64x64塊內時,投影位置是無效的。
在另一情形中,當MV投影被應用於參考幀中64x64參考塊的8x8參考塊所擁有的MV時,第三64x64塊(例如,第一64x64塊的右相鄰塊)在當前幀中不可用,有效範圍由第一64x64塊和第二64x64塊(例如,第一64x64塊的左相鄰塊)定義。因此,當投影位置在第一64x64塊和第二64x64塊中的任一內時,投影位置是有效的;而當投影位置在不是第一64x64塊和第二64x64塊中之一的一個64x64塊內時,投影位置是無效的。
MV投影裝置124被佈置為以即時的方式生成當前幀的塊的投影MV(又名MFMV),其中,投影MV可稍後從MFMV緩衝器304中讀取,並且在整個參考幀的MV投影完成之前,投影MV被用作用於當前幀的塊的MVP確定的時間預測子。
第4圖示出根據本發明實施例的MV投影裝置的圖。第1圖所示的MV投影裝置124可使用第4圖中所示的MV投影裝置400來實現。MV投影裝置400包括處理電路402和MFMV緩衝器404。例如,處理電路402可由處理器實現,而MFMV緩衝器404可由在其中分配有一個或多個存儲空間的靜態隨機存取記憶體(static random access memory,簡稱SRAM)實現。在本發明的一些實施例中,第4圖中所示的MFMV緩衝器404可充當第3圖所示的MFMV緩衝器304。
處理電路402被佈置為藉由將MV投影應用於每個參考幀的一部分的MV而生成當前幀的第一部分的MFMV,並且將當前幀的第一部分的MFMV存儲至MFMV緩衝器404;並且還被安排為藉由將MV投影應用於每個參考幀的一部分的MV而生成當前幀的第二部分的MFMV,並且將當前幀的第二部分的MFMV存儲至MFMV緩衝器404中。當前幀的第二部分與當前幀的第一部分不重疊。在當前幀的第二部分的MFMV由處理電路402生成之前,當前幀的第一部分的MFMV中的至少一個從MFMV緩衝器404中被讀取,並參與當前幀的第一部分中包括的至少一個編碼解塊的運動向量的確定。例如,藉由MV投影,三個參考幀的MV被處理以生成當前幀的MFMV。因此,包括在第一參考幀Ref1(例如,第2圖所示的參考幀206)中的64x64塊的MV被存儲在參考幀MV緩衝器406中,包括在第二參考幀Ref2(例如,第2圖所示的參考幀204)的64x64塊的MV被存儲在參考幀MV緩衝器408中,包括在第三參考幀Ref3(例如,第3圖所示的參考幀208)的64×64塊的MV被存儲在參考幀MV緩衝器410中。
參考幀中的所有64x64塊將被訪問以進行MV投影。假設超級塊(super block,簡稱SB)的大小為64x64。第5圖示出根據本發明的實施例的藉由先前的MV投影操作和隨後的MVP確定來訪問的相同的MFMV緩衝器404的圖。如第5圖所示,第一參考幀Ref1被劃分為例如由參考標號“1”,“2”,…,“24”索引的多個64×64塊;第二參考幀Ref2被劃分為多個例如由參考標號“1”,“2”,…,“24”索引的64×64塊;第三參考幀Ref3被劃分為多個例如由參考標號“1”,“2”,…,“24”索引的64×64塊;當前幀Fc被劃分為多個例如由參考標號“1”,“2”,…,“24”索引的64×64塊。由相同參考標號索引的64×64塊是同位塊。關於應用於第一參考幀Ref1的MV投影,多個64×64塊以光柵掃描順序檢查,如參考標號所示1→2→3→4→…→23→24的上升順序。關於應用於第二參考幀Ref2的MV投影,多個64×64塊以光柵掃描順序檢查,如參考標號所示1→2→3→4→…→23→24的上升順序。關於應用於第三參考幀Ref3的MV投影,多個64×64塊以光柵掃描順序檢查,如參考標號所示1→2→3→4→…→23→24的上升順序。傳統的離線方法將幀級MV投影應用於參考幀,使得在完成整個第一參考幀Ref1的MV投影之後,開始第二參考幀Ref2的MV投影,以及在完成整個第二參考幀Ref2的MV投影之後,開始第三參考幀Ref3的MV投影。另外,在完成所有參考幀的MV投影之後,當前幀的MFMV緩衝器中的MFMV可用於後處理階段(例如,MVP確定)。與在幀級別執行MV投影的常規離線方法相反,所提出的即時方法在塊級別(更具體地為64x64塊級別)執行MV投影。因此,在完成所有參考幀的MV投影之前,MFMV緩衝器404中可用於當前幀Fc的MFMV可被後處理階段(例如,MVP確定)使用。例如,在由“24”索引的64x64塊(即,位於當前幀Fc的最右塊列(column)和最底部的塊行(row)的最後一個64x64塊)的MFMV被生成之前,藉由應用於由“23”和“24”索引的64x64參考塊所擁有的MV的MV投影,當前幀中可用於當第一64x64塊的MFMV中的至少一個從MFMV緩衝器404中被讀取,並參與包括在當前幀Fc的先前64×64塊中的至少一個編解碼塊的運動向量的確定(即(MV=MVP+MVD)。所提出的即時方法的更多細節參照附圖被描述。
第6圖示出根據本發明的實施例的由處理電路402以即時的方式執行的第一運動向量投影操作的圖。在處理週期P1期間,處理電路402將MV投影應用於第一參考幀Ref1(由“MV_P(BK1_Ref1)”表示)中的第一64x64參考塊所擁有的MV以生成MV投影結果,並使用MV投影結果(用“MV_PR(BK1_Ref1)”表示)來更新MFMV緩衝器404。在處理週期P2期間,處理電路402將MV投影應用於第二參考幀Ref2中的第一64x64參考塊所擁有的MV(由“MV_P(BK1_Ref2)”表示)以產生MV投影結果,並使用組​​合的MV投影結果(表示為“ MV_PR(BK1_Ref1+BK1_Ref2)”)來更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。在處理週期P3期間,處理電路402將MV投影應用於第三參考幀Ref3中的第一64x64參考塊所擁有的MV(由“MV_P(BK1_Ref3)”表示)以生成MV投影結果,並使用組​​合的MV投影結果(表示為“MV_PR(BK1_Ref1+BK1_Ref2+BK1_Ref3)”)來更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。第一參考幀Ref1中的第一64x64參考塊,第二參考幀Ref2中的第一64x64參考塊和第三參考幀Ref3中的第一64x64參考塊是同位塊。在完成參考幀Ref1,Ref2,Ref3中所有同位的第一64x64參考塊的MV投影之後,MFMV緩衝器404包括MFMV,該些MFMV可被用作當前幀Fc中一個64x64塊中包含的編解碼塊的MVP確定的時間預測子。因此,至少一個MFMV可從MFMV緩衝器404中被讀取,並參與當前幀Fc的第一64x64塊中包括的至少一個編解碼塊的運動向量確定,而MV投影仍在繼續以確定當前幀Fc中其餘的64×64個塊的MFMV。
在完成參考幀Ref1,Ref2,Ref3中所有同位的第一64x64參考塊的MV投影之後,處理電路402開始另一投影週期以處理在參考幀Ref1,Ref2,Ref3中同位的下個64x64參考塊的MV投影。同一參考幀中的第一64x64參考塊和第二64x64參考塊是按照光柵掃描順序的連續塊。例如,第一64x64參考塊和第二64x64參考塊可位於同一塊行,並且第二64x64參考塊是第一64x64參考塊的右相鄰塊。在處理週期P4期間,處理電路402將MV投影應用於第一參考幀Ref1中的第二64x64參考塊所擁有的MV(由“ MV_P(BK2_Ref1)”表示)以生成MV投影結果,並使用組​​合的MV投影結果(用“MV_PR(BK2_Ref1+ BK1_Ref1+BK1_Ref2+BK1_Ref3)”表示)來更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。在處理週期P5期間,處理電路402將MV投影應用於第二參考幀Ref2中的第二64x64參考塊所擁有的MV(由“MV_P(BK2_Ref2)”表示)以產生MV投影結果,並使用組​​合的MV投影結果(用“MV_PR(BK2_Ref1+BK2_Ref2+BK1_Ref1+BK1_Ref2+BK1_Ref3)”表示)更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。在處理週期P6期間,處理電路402將MV投影應用於第三參考幀Ref3中的第二64x64參考塊所擁有的MV(由“MV_P(BK2_Ref3)”表示)以產生MV投影結果,並使用組​​合的MV投影結果(表示為“MV_PR(BK2_Ref1+BK2_Ref2+BK2_Ref3+BK1_Ref1+BK1_Ref2+BK1_Ref3)”)來更新MFMV緩衝器404,其中,當最新投影的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新的投影結果將重疊/覆蓋先前結果。第一參考幀Ref1中的第二64x64參考塊,第二參考幀Ref2中的第二64x64參考塊和第三參考幀Ref3中的第二64x64參考塊是同位塊。在完成參考幀Ref1,Ref2,Ref3中所有同位的第二64x64參考塊的MV投影之後,組​​合的MV投影結果(用“MV_PR(BK2_Ref1+BK2_Ref2+BK2_Ref3+BK1_Ref1+BK1_Ref2+BK1_Ref3)”表示)在MFMV緩衝器404中可用,並包括MFMV,該些MFMV可被用作用於當前幀Fc的一個64×64塊中包括的編解碼塊的MVP確定的時間預測子。因此,至少一個MFMV可從MFMV緩衝器404中被讀取,並參與當前幀Fc的一個64x64塊中包括的至少一個編碼塊的運動向量確定,而MV投影仍在繼續以確定當前幀Fc中其餘64×64塊的MFMV。
在第6圖所示的實施例中,每當完成一個參考幀中的單個64×64塊的MV投影時,處理電路402就將MV投影應用於另一參考幀中的單個64×64塊。然而,這僅出於說明的目的,並不意味著對本發明的限制。可替代地,每次完成一個參考幀中的多個連續的64x64塊的MV投影時,處理電路402可將MV投影應用於另一參考幀中的多個連續的64x64塊,其中多個連續的64x64塊的數量是不小於2的正整數。
第7圖示出根據本發明實施例的由處理電路402以即時的方式執行的第二運動向量投影操作的圖。在處理週期P1期間,處理電路402將MV投影應用於第一參考幀Ref1中的第一64x64參考塊所擁有的MV(由“MV_P(BK1_Ref1)”表示)以生成MV投影結果,並使用MV投影結果(用“MV_PR(BK1_Ref1)”表示)來更新MFMV緩衝器404。在處理週期P2期間,處理電路402將MV投影應用於第一參考幀Ref1中的第二64x64參考塊所擁有的MV(由“MV_P(BK2_Ref1)”表示)以生成MV投影結果,並使用組​​合的MV投影結果(由“MV_PR(BK1_Ref1+BK2_Ref1)”表示)來更新MFMV緩衝器404。第一參考幀Ref1中的第一64x64參考塊和第二64x64參考塊是按照光柵掃描順序的連續塊。例如,第一64x64參考塊和第二64x64參考塊可位於第一參考幀Ref1的相同塊行,並且第二64x64參考塊是第一64x64參考塊的右相鄰塊。
在處理週期P3期間,處理電路402將MV投影應用於第二參考幀Ref2中的第一64x64參考塊所擁有的MV(由“MV_P(BK1_Ref2)”表示)以生成MV投影結果,並使用組​​合的MV投影結果(由“MV_PR(BK1_Ref1+BK1_Ref2 + BK2_REF1)”表示)來更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。在處理週期P4期間,處理電路402將MV投影應用於第二參考幀Ref2中的第二64x64參考塊所擁有的MV(由“MV_P(BK2_Ref2)”表示)以產生MV投影結果,並使用組​​合的MV投影結果(由“ MV_PR(BK1_Ref1+BK1_Ref2+BK2_Ref1+BK2_Ref2)”表示)來更新MFMV緩衝器404,其中,當最新投影結果的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新投影結果將重疊/覆蓋先前結果。第二參考幀Ref2中的第一64x64參考塊和第二64x64參考塊是按照光柵掃描順序的連續塊。例如,第一64x64參考塊和第二64x64參考塊可以位於第二參考幀Ref2的相同塊行,並且第二64x64參考塊是第一64x64參考塊的右相鄰塊。
在處理週期P5期間,處理電路402將MV投影應用於第三參考幀Ref3中的第一64x64參考塊所擁有的MV(由“MV_P(BK1_Ref3)表示”)以生成MV投影結果,並使用組合的MV投影結果(由“MV_PR(BK1_Ref1+BK1_Ref2+BK1_Ref3 +BK2_Ref1+BK2_Ref2)”)表示)來更新MFMV緩衝器404,其中,當最新投影結果的8x8塊的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新的投影結果將重疊/覆蓋先前結果。
在處理週期P6中,處理電路402將MV投影應用於第三參考幀Ref3中的第二64x64參考塊所擁有的MV(由“MV_P(BK2_Ref3)”表示)以生成MV投影結果,並使用組​​合的MV投影結果(由“ MV_PR(BK1_Ref1+BK1_Ref2+BK1_Ref3+BK2_Ref1+BK2_Ref2+BK2_Ref3)”表示)來更新MFMV緩衝器404,其中,當最新投影結果的8x8塊的投影8x8塊位置與先前結果的投影8x8塊位置相同時,最新的投影結果將重疊/覆蓋先前結果。第三參考幀Ref3中的第一64x64參考塊和第二64x64參考塊是按照光柵掃描順序的連續塊。例如,第一64x64參考塊和第二64x64參考塊可位於第三參考幀Ref3的相同塊行,並且第二64x64參考塊是第一64x64參考塊的右相鄰塊。
參考幀Ref1,Ref2,Ref3中的第一64x64個參考塊是同位塊。參考幀Ref1,Ref2,Ref3中的第二64x64參考塊是同位塊。在完成參考幀Ref1,Ref2,Ref3中所有同位的第一64x64參考塊的MV投影之後,MFMV緩衝器404包括MFMV,該些MFMV可被用作用於包含在當前幀Fc的一個64x64塊中的編解碼塊的MVP確定的時間預測子。類似地,在完成參考幀Ref1,Ref2,Ref3中所有同位的第二64x64參考塊的MV投影之後,MFMV緩衝器404包括MFMV,該些MFMV可被用作用於包含在當前幀Fc的一個64x64塊中的編解碼塊的MVP確定的時間預測子。因此,至少一個MFMV可從MFMV緩衝器404中讀取,並參與當前幀Fc的一個64x64塊中包括的至少一個編碼塊的運動向量確定,而MV投影仍在繼續以確定當前幀Fc中的其餘64×64塊的MFMV。
第8圖示出根據本發明實施例的由處理電路以即時的方式執行的第三運動向量投影操作的圖。如上所述,當MV投影被應用於參考幀中的64x64參考塊的MV時,有效範圍由當前幀中的同位64x64塊、當前幀中該同位64x64塊的左相鄰塊和當前幀中該同位64x64塊的右相鄰塊定義。在該實施例中,藉由組合從參考幀中的可能的投影塊導出的MV投影結果,當前幀中的一個64×64塊的MFMV可以以即時的方式獲得。參照第8圖,當前幀中的64x64塊802,第一參考幀中的64x64參考塊804_2,第二參考幀中的64x64參考塊806_2以及第三參考幀中的64x64參考塊808_2是同位塊。根據有效範圍限制,用於在目標塊(例如64x64塊802)的塊位置提供MFMV(投影MV)的可能的投影塊包括第一參考幀中的64x64參考塊804_1、804_2、804_3,第二參考幀中的64x64參考塊806_1、806_2、806_3和第三參考幀中的64x64參考塊808_1、808_2、808_3,其中不同參考幀中的64x64參考塊804_1、806_1、808_1和當前幀中的64x64塊802的左相鄰塊是同位塊,以及不同參考幀中的64x64參考塊804_3、806_3、808_3和當前幀中的64x64塊802的右相鄰塊是同位塊。處理電路402參考64x64參考塊804_1-804_3、806_1-806_3、808_1-808_3的MV,以在64x64塊802的塊位置處生成MV投影結果,並根據從當前幀中64x64塊802的塊位置處的MV投影結果導出的組合結果,生成當前幀的64x64塊802的MFMV,其中第一參考幀中的64x64參考塊804_1-804_3的MV從一個參考幀MV緩衝器(例如,參考幀MV緩衝器406)讀取,第二參考幀中的64x64參考塊806_1-806_3的MV是從另一個參考幀MV緩衝器(例如,參考幀MV緩衝器408)讀取,以及第三參考幀中的64x64參考塊808_1-808_3的MV從又一個參考幀MV緩衝器(例如,參考幀MV緩衝器410)讀取。應當注意,當投影8x8塊位置相同時,第二參考幀的64×64參考塊806_1-806_3中的8×8塊的投影結果將重疊/覆蓋第一參考幀的64×64參考塊804_1-804_3中的8×8塊的投影結果。當投影的8x8塊位置相同時,第三參考幀的64x64參考塊808_1-808_3中的8x8塊的投影結果將重疊/覆蓋64x64第一參考幀的64×64參考塊804_1-804_3中的8x8塊的投影結果。當投影的8x8塊位置相同時,第三參考幀的64x64參考塊808_1-808_3中的8x8塊的投影結果將重疊/覆蓋第二參考幀的64×64參考塊806_1-806_3中的8x8塊的投影結果。
為了獲得當前幀中的64x64塊802的右相鄰塊的MFMV,基於以下事實:用於在64x64塊802的右相鄰塊的塊位置提供MFMV(投影MV)的可能的投影塊包括第一參考幀中的64x64參考塊804_2和804_3,第二參考幀中的64x64參考塊806_2和806_3以及第三參考幀中的64×64參考塊808_2和808_3,採用第8圖中所示的即時方法的處理電路402,再次從一個參考幀MV緩衝器(例如,參考幀MV緩衝器406)讀取第一參考幀的64x64參考塊804_2和804_3的MV,再次從另一參考幀MV緩衝器(例如,參考幀MV緩衝器408)讀取第二參考幀的64x64參考塊806_2和806_3的MV,以及再次從另一參考幀MV緩衝器(例如,參考幀MV緩衝器410)讀取第二參考幀的64x64參考塊808_2和808_3的MV。
當根據常規的離線方法在幀級別上執行MV投影操作時,幀級別的MV投影一個接一個地被應用於第一參考幀,第二參考幀和第三參考幀。因此,當投影的8x8塊位置相同時,第二參考幀的一個64x64參考塊中的8x8塊的投影結果將重疊/覆蓋第一參考幀的一個64x64參考塊中的8x8塊的投影結果,當投影的8x8塊位置相同時,第三參考幀的一個64x64參考塊中的8x8塊的投影結果將重疊/覆蓋第一參考幀的一個64x64參考塊中的8x8塊的投影結果。當投影的8x8塊位置相同時,第三參考幀的一個64x64參考塊中的8x8塊的投影結果將重疊/覆蓋第二參考幀的一個64x64參考塊中的8x8塊的投影結果。關於第6圖和第7圖所示的實施例,MV投影操作以塊級別而不是幀級別執行。因此,不同參考幀中的64×64參考塊可以交織的方式經歷MV投影。因此,有可能由於錯誤的投影結果替代了正確的結果而發生了錯誤的重疊/覆蓋。
第9圖示出第6圖所示的實施例遇到的可能的重疊/覆蓋場景的圖。如上所述,當MV投影被應用於參考幀中64x64參考塊的MV時,有效範圍由當前幀中同位的64x64塊,當前幀的該同位的64x64塊的左相鄰塊以及當前幀的同位的64x64塊的右相鄰塊定義。因此,當塊級MV投影被應用於不同參考幀中同位的當前64×64參考塊時,MFMV緩衝器404具有存儲區域902,存儲區域904和另一存儲區域902。該存儲區域902被用來存儲當前幀的當前64x64塊的左相鄰塊中的8x8塊位置處投影MV,該存儲區域904被用來存儲當前幀的當前64x64塊中的8x8塊位置處投影MV,以及該另一存儲區域902被分配用於存儲當前幀的當前64x64塊的右相鄰塊中的8x8塊位置處投影MV。在完成應用於不同參考幀中同位的先前64x64參考塊的塊級MV投影之後,塊級MV投影被應用於不同參考幀中同位的當前64x64參考塊。參照第9圖,應用於第三參考幀Ref3中的先前參考塊的MV投影的投影結果具有在左相鄰塊中的8x8塊位置處投影的第一MFMV,以及應用於第一參考幀Ref1中的當前參考塊的MV投影的投影結果具有在該左相鄰塊中的相同的8x8塊位置處投影的第二MFMV。因此,根據第6圖的實施例,存儲在存儲區域902中的第一MFMV被第二MFMV重疊/覆蓋,從而導致錯誤的重疊/覆蓋。為了解決這個問題,本發明還提出使用優先順序表或藉由K個64×64參考塊(K≥2)來確保一個參考幀的MV投影進度領先於另一參考幀的MV投影進度。
第10圖示出根據本發明的實施例的利用優先順序表的塊級運動向量投影操作的圖。第6圖的示例可被修改為包括優先順序表1002。處理電路402還被佈置為在其內部記憶體中構建優先順序表1002,其中優先順序表1002記錄64x64塊中不同8x8塊位置的表值。例如,優先順序表1002可僅以光柵掃描順序記錄當前幀的三個連續的64x64塊中不同的8x8塊位置的表值。在該實施例中,當塊級MV投影被應用於不同參考幀中的同位當前64×64參考塊時,由處理電路402建立和維護的優先順序表1002具有子表1004,子表1006和子表1008。該子表1004記錄MFMV的表值,該MFMV被投影在當前幀中當前64x64塊的左相鄰塊中的8x8塊位置處並被存儲至MFMV緩衝器404的存儲區域902中;該子表記錄MFMV的表值,該MFMV被投影在當前幀中當前64x64塊的8x8塊位置處並被存儲至存儲區域904中;該子表1008記錄MFMV的表值,該MFMV被投影在當前幀中當前64x64塊的右相鄰塊中的8x8塊位置處並被存儲至存儲區域906中。具體地說,當一個8x8塊的MFMV從參考幀的MV投影導出並被存儲至MFMV緩衝器404中時,藉由參考幀的幀索引,8x8塊位置的相關聯表值被設置。在優先順序表1002中保持的每個表值被參考以判斷是否允許重疊/覆蓋存儲在MFMV緩衝器404中的MFMV。例如,處理電路402將MV投影應用於第一參考幀中的第一64x64參考塊所擁有的MV,以生成第一MV投影結果,其中,第一參考幀中的第一64x64參考塊和當前幀中的第一64x64塊是同位塊,並且第一MV投影結果包括當前幀中投影的8x8塊位置處的第一MFMV。接下來,處理電路402將第一MFMV存儲至MFMV緩衝器404中,並藉由第一參考幀的幀索引來設置優先順序表1002的表值。在第一MV投影結果被生成之後,處理電路402將MV投影應用於第二參考幀中的第二64x64參考塊所擁有的MV,以產生第二MV投影結果,其中第二參考幀中的第二64x64參考塊和當前幀中的第二64x64塊是同位塊,第一64x64塊和第二64x64塊位於相同的塊行,第二MV投影結果包括第二MFMV,該第二MFMV位於當前幀中相同的投影8x8塊位置。接下來,處理電路402將優先順序表1002的記錄的表值與第二參考幀的幀索引進行比較,以確定是否將第二MFMV存儲至MFMV緩衝器404中以覆蓋存儲在MFMV緩衝器404中的第一MFMV。
參照第10圖,應用於第三參考幀Ref3中的先前參考塊的MV投影的投影結果具有左相鄰塊中的投影8×8塊位置處的第一MFMV。假設第一MFMV被允許存儲至MFMV緩衝器404中。子表1004中的關聯表值由第三參考幀Ref3的幀索引“3”設置。應用於第一參考幀Ref1中的當前參考塊的MV投影的投影結果具有左相鄰塊中相同的投影8x8塊位置處的第二MFMV。由於相關聯的表值由大於第一參考幀Ref1的幀索引“1”的幀索引“3”設置,因此在MFMV緩衝器404的存儲區域902中緩衝的第一MFMV被阻止由第二MFMV重疊/覆蓋。這樣,藉由使用優先順序表1002,錯誤的重疊/覆蓋被避免。
如第10圖進一步所示,應用於第二參考幀Ref2中的先前參考塊的MV投影的投影結果具有在當前幀的當前64x64塊中的投影8x8塊位置處的第三MFMV。假設第三MFMV被允許存儲至MFMV緩衝器404中。子表1006中的相關聯表值由第二參考幀Ref2的幀索引“2”設置。應用於第三參考幀Ref2中的當前參考塊的MV投影的投影結果具有在當前幀的當前64x64塊中的相同的投影8x8塊位置處的第四MFMV。由於相關聯的表值由小於第三參考幀Ref3的幀索引“3”的幀索引“2”設置,在MFMV緩衝器404的存儲區域904中緩衝的第三MFMV被改變為第四MFMV。
第11圖示出根據本發明的實施例的塊級運動向量投影操作的圖,該塊級運動向量投影操作藉由K個64×64參考塊(K≥2)確保一個參考幀的MV投影進度領先於另一參考幀的MV投影進度。第6圖的示例可被修改以採用前導塊(leading block)的概念,以避免錯誤的重疊/覆蓋。在三個參考幀Ref1,Ref2和Ref3中64x64參考塊的MV投影順序由參考標號所示的1→2→3→…→16→17上升順序表示。因此,直到應用於第一參考幀Ref1中的64x64參考塊BK1-BK3的MV的MV投影完成後,應用於第二參考幀Ref2中的第一64x64參考塊BK1的MV的MV投影才開始;並且直到應用於第一參考幀Ref1中的64x64參考塊BK1-BK5的MV的MV投影和應用於第二參考幀Ref2中的64x64參考塊BK1-BK3的MV的MV投影完成後,應用於第三參考幀Ref3中的第一64x64參考塊BK1的MV的MV投影才開始。具體地,處理電路402將MV投影應用於第一選擇參考幀(例如,Ref1和Ref2之一)中的第M參考塊所擁有的MV,其中,第一選擇參考幀中的第M參考塊和當前幀中的塊行(row)的第M參考塊是同位塊。在第一選擇參考幀中的第M參考塊的MV投影完成後,處理電路402將MV投影應用於不用於第一選擇參考幀的第二選擇參考幀(例如,Ref2和Ref3之一)中的第N參考塊所擁有的MV,其中第二選擇參考幀中的第N參考塊與當前幀中的塊行的第N塊為同位塊。根據前導塊的概念,M和N是正整數,M大於N,並且除了該塊行中最左邊的(M-N)個塊,該塊行中的任一塊都是第M塊。例如,(M-N)的值等於或大於2,具體取決於實際的設計考慮。
如上所述,當MV投影被應用於參考幀中的64x64參考塊的MV時,有效範圍由當前幀中的同位64x64塊,當前幀的同位64x64的左相鄰塊,以及當前塊中的同位64x64的右相鄰塊定義。當將MV投影被應用於不同參考幀Ref1-Ref3中的同位的64×64參考塊BK1時,存儲區域A0和A1被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中同位的64×64參考塊BK2時,存儲區域A0,A1和A2被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中同位的64×64參考塊BK3時,存儲區域A1,A2和A3被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中同位的64×64參考塊BK4時,存儲區域A2,A3和A4被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中同位的64×64參考塊BK5時,存儲區域A3,A4和A5被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中同位的64×64參考塊BK6時,存儲區域A4,A5和A6被訪問以進行MFMV存儲。當MV投影被應用於不同參考幀Ref1-Ref3中的64×64參考塊BK7時,存儲區域A5,A6和A7被訪問以進行MFMV存儲。
參照第11圖,當MV投影當前被應用於第三參考幀Ref3中的64x64參考塊BK3所擁有的MV時,存儲區域A1,A2和A3可被訪問以緩衝從第三參考幀Ref3中的64x64參考塊BK3產生的投影結果。由於第一參考幀Ref1中的64x64參考塊BK1-BK5所擁有的MV的MV投影已經完成,並且第二參考幀Ref2的64x64參考塊BK1-BK5所擁有的MV的MV投影已經完成,從第三參考幀Ref3中的64x64參考塊BK3的MV投影生成並存儲在MFMV緩衝區404中的任一投影MV不會被從包括在第一參考幀Ref1和第二參考幀Ref2中的任一的64x64參考塊BK1-BK5的MV投影導出的投影MV覆蓋。這樣,藉由確保一個參考幀的MV投影進度比另一參考幀的MV投影進度領先兩個或更多64x64參考塊,錯誤的重疊/覆蓋可被避免。
參照第11圖,當MV投影當前被應用於第二參考幀Ref2中的64x64參考塊BK6所擁有的MV時,存儲區域A4,A5和A6可被訪問以緩衝從第二參考幀Ref2中的64x64參考塊BK6產生的投影結果。由於第一參考幀Ref1中64x64參考塊BK4-BK8擁有的MV的MV投影已經完成,從第二參考幀Ref2中64x64參考塊BK6的MV投影生成並存儲在MFMV緩衝器404中的任一投影MV不被從包括在第一參考幀Ref1中的64×64參考塊BK4-BK8的MV投影產生的投影MV所覆蓋。這樣,藉由確保一個參考幀的MV投影進度比另一參考幀的MV投影進度領先兩個或更多64x64參考塊,錯誤的重疊/覆蓋可被避免。
一幀可被劃分為多個超級塊(super block,簡稱SB)。例如,每個SB可以是AV1/VP9的一個塊或多個塊。對於另一示例,每個SB可以是最大編碼單元(largest coding unit,簡稱LCU)或用於高效視頻編碼(High Efficiency Video Coding,簡稱HEVC)的多個LCU。MV投影順序由64x64塊的掃描順序設置。但是,SB大小的掃描順序可能與不同SB大小的掃描順序不同。這也表明將MFMV存儲至MFMV緩衝器的過程不相同。第12圖示出根據本發明的實施例的64×64SB大小的掃描順序的圖。由於SB是64x64塊,因此同一幀中的64x64塊以光柵掃描順序(也是MV投影順序)訪問。MV投影順序由第12圖中所示的箭頭符號指示。第13圖示出根據本發明的實施例的SB大小為128×128的掃描順序的圖。由於一個SB可包括四個64x64塊,因此同一幀中的SB以光柵掃描順序訪問,並且同一SB中的64x64塊以光柵掃描順序訪問。MV投影順序由第13圖中所示的箭頭符號指示。
由於將MVMV存儲至SB大小為128x128的MFMV緩衝器中的過程不同於將MFMV存儲至SB大小為64x64的MFMV緩衝器中的過程,因此使用具有單個存儲空間的MFMV緩衝器來處理SB大小為128x128的存儲過程可能需要複雜的硬體設計。
第14圖示出根據本發明的實施例的MFMV緩衝器設計的圖,該MFMV緩衝器設計使用單個存儲空間來處理SB大小為64×64的存儲過程。MFMV緩衝器可由具有由連續記憶體位址定義的單個存儲空間的SRAM來實現。第12圖所示的MV投影順序可被採用。
當MV投影被應用於塊索引為“1”的64x64參考塊時,存儲索引為“1”的存儲區域在MFMV緩衝器440中被分配,以存儲當前64x64塊中的8x8塊位置處投影MV,並且存儲索引為“2”的存儲區域在MFMV緩衝器440中被分配,以存儲在右相鄰塊中的8×8塊位置處投影MV。
當MV投影被應用於塊索引為“2”的64x64參考塊時,存儲索引為“1”的存儲區域被用來存儲在左相鄰塊中的8x8塊位置處的投影MV,存儲索引為“2”的存儲區域被用於存儲在當前64x64塊中的8x8塊位置處的投影MV,並且存儲索引為“3”的存儲區域在MFMV緩衝器440中被分配,以存儲在右相鄰塊中的8x8塊位置處的投影MV。
當MV投影被應用於塊索引為“3”的64x64參考塊時,存儲索引為“2”的存儲區域被用來存儲在左相鄰塊中的8x8塊位置處的投影MV,存儲索引為“3”的存儲區域被用來存儲在當前64x64塊中的8x8塊位置處的投影MV,並且存儲索引“4”的存儲區域在MFMV緩衝器440中被分配,以存儲在右相鄰塊中的8x8塊位置處的投影MV。另外,存儲在存儲索引為“1”的存儲區域中的MFMV可被訪問,以用於隨後的MV處理(例如,MVP確定和MV確定)。
當MV投影被應用於塊索引為“4”的64x64參考塊時,存儲索引為“3”的存儲區域被用來存儲在左相鄰塊中的8x8塊位置處的投影MV,存儲索引為“4”的存儲區域被用來存儲在當前64x64塊中的8x8塊位置的投影MV,存儲索引為“5”的存儲區域是藉由釋放和重用存儲索引為“1”的原始存儲區域而得出的,並且被用來存儲右相鄰塊中的8x8塊位置投影的MV。存儲索引為“2”的存儲區域中的MFMV可被讀取以用於隨後的MV處理(例如,MVP確定和MV確定)。
第15圖示出根據本發明實施例的MFMV緩衝器設計的圖,該MFMV緩衝器設計使用單個存儲空間來處理SB大小為128x128的存儲過程。MFMV緩衝器可由具有由連續記憶體位址定義的單個存儲空間的SRAM來實現。第13圖所示的MV投影順序可被採用。
當MV投影被應用於塊索引為“1”的64x64參考塊時,存儲索引為“1”的存儲區域在MFMV緩衝器440中被分配,以存儲在當前64x64的8x8塊位置處的投影MV,並且存儲索引為“2”的存儲區域在MFMV緩衝器440中被分配,以存儲右相鄰塊中的8×8塊位置的投影MV。
當MV投影被應用於塊索引為“2”的64x64參考塊時,存儲索引為“1”的存儲區域被用來存儲左相鄰塊中8x8塊位置處的投影MV,存儲索引為“2”的存儲區域被用來當前64x64塊中8x8塊位置處的投影MV,並且存儲索引“5”的存儲區域在MFMV緩衝器440中被分配,以存儲右相鄰塊中8x8塊位置處的投影MV。
當MV投影被應用於塊索引為“3”的64x64參考塊時,存儲索引為“3”的存儲區域在MFMV緩衝器440中被分配,以存儲當前64x64塊中8x8塊位置處塊的投影MV,並且存儲索引為“4”的存儲區域在MFMV緩衝器440中被分配,以存儲右相鄰塊中8×8塊位置處投影MV。
當MV投影被應用於塊索引為“4”的64x64參考塊時,存儲索引為“3”的存儲區域被用來存儲在左相鄰塊中8x8塊位置處的投影MV,存儲索引為“4” 的存儲區域被用來存儲當前64x64塊中8x8塊位置處的投影MV,並且存儲索引為“7”的存儲區域在MFMV緩衝器440中被分配,以存儲右相鄰塊中8×8塊位置處投影MV。
當MV投影被應用於塊索引為“5”的64x64參考塊時,由於存儲區域在單個存儲單元的連續記憶體位址中被分配和存儲索引為“4”的存儲區域的結束位址後面沒有跟隨存儲索引為“5”的存儲區域的起始位址這一事實,需要位址回跳(address jump back)控制來執行存儲過程。但是,位址回跳控制對於硬體設計而言很複雜。為了解決這個問題,本發明提出實現具有兩個存儲空間的MFMV緩衝器。
第16圖示出根據本發明的實施例的MFMV緩衝器的圖。當SB大小被設置為128×128時,第1圖中所示的MFMV緩衝器404可由第16圖所示的MFMV緩衝器1600實現。MFMV緩衝器1600包括兩個存儲空間1602和1604。當前幀被分為奇數編號的塊行和偶數編號的塊行,每個奇數編號的塊行由64×64的塊組成,每個偶數編號的塊行由64×64的塊組成。SB大小為128x128的MFMV存儲過程被分為兩個存儲過程,一個存儲過程被用於奇數編號的塊行,另一個存儲過程被用於偶數編號的塊行。SB大小為128x128的MFMV存儲過程可被視為兩個SB大小為64x64的存儲過程。在SB大小被設置為128×128的條件下,處理電路402僅將對位於當前幀的奇數編號的塊行的每個64×64塊生成的MFMV存儲至存儲空間1602中,並僅將對位於當前幀的偶數編號的塊行的每個64×64塊生成的MFMV存儲至存儲空間1604中。
請結合第17圖來參考第15圖。第17圖示出根據本發明實施例的MFMV緩衝器設計的圖,該MFMV緩衝器設計使用兩個存儲空間來處理SB大小為128x128的存儲過程。MFMV緩衝器1600可由具有兩個存儲空間1602和1604的SRAM來實現,每個存儲空間1602和1604由連續的記憶體位址來定義。第15圖所示的MV投影順序可被採用。
當MV投影被應用於塊索引為“1”的64x64參考塊時,存儲索引為“1”的存儲區域在存儲空間1602中被分配,以存儲當前64x64塊中8x8塊位置處的投影MV,存儲索引為“2”的存儲區域在存儲空間1604中被分配,以存儲右相鄰塊中8×8塊位置處的投影MV。
當MV投影被應用於塊索引為“2”的64x64參考塊時,存儲索引為“1”的存儲區域被用來存儲左相鄰塊中8x8塊位置處的投影MV,存儲索引為“2”的存儲區域被用來存儲當前64x64塊中8x8塊位置處的投影MV,存儲索引為“5”的存儲區域在存儲空間1602中被分配,以存儲右相鄰塊中8×8塊位置處的投影MV。
當MV投影被應用於塊索引為“3”的64x64參考塊時,存儲索引為“3”的存儲區域在存儲空間1604中被分配,以存儲當前64x64塊中8x8塊位置處的投影MV,並且存儲索引為“4”的存儲區域在存儲空間1604中被分配,以存儲右相鄰塊中8×8塊位置處的投影MV。
當MV投影被應用於塊索引為“4”的64x64參考塊時,存儲索引為“3”的存儲區域被用來存儲左相鄰塊中的8x8塊位置處的投影MV,存儲索引為“4”的存儲區域被用來存儲當前64x64塊中的8x8塊位置處的投影MV,並且存儲索引為“7”的存儲區域在存儲空間1604中被分配,以存儲右相鄰塊中8×8塊位置處的投影MV。
當MV投影被應用於塊索引為“5”的64x64參考塊時,存儲索引為“2”的存儲區域被用來存儲左相鄰塊中8x8塊位置處的投影MV,存儲索引為“5”的存儲區域被用來存儲當前64x64塊中8x8塊位置處的投影MV,並且存儲索引“6”的存儲區域在存儲空間1602中被分配,以存儲右相鄰塊中8×8塊位置處的投影MV。由於存儲索引為“4”的存儲區域和存儲索引為“5”的存儲區域被分配在單獨的存儲空間中,因此不需要對其中在連續記憶體位址中分配了存儲區域的一個存儲空間進行位址回跳控制。另外,存儲索引為“1”的存儲區域中存儲的MFMV可從存儲空間1602中讀取,以用於隨後的MV處理(例如,MVP確定和MV確定)。
當MV投影被應用於塊索引為“6”的64x64參考塊時,存儲索引為“5”的存儲區域被用來存儲左相鄰塊中8x8塊位置處的投影MV,存儲索引為“6”存儲區域被用來存儲當前64x64塊中8x8塊位置處的投影MV,而存儲索引為“9”的存儲區域是藉由釋放和重用存儲索引為“1”的原始存儲區域而得出的 並且被用來存儲在右相鄰塊中8x8塊位置處的投影MV。另外,存儲索引為“2”的存儲區域中的MFMV可被讀取,以用於隨後的MV處理(例如,MVP確定和MV確定)。
參照第17圖,無需位址回跳控制就可訪問存儲空間1602/1604的連續記憶體位址中分配的存儲區域。這樣,處理電路402的硬體設計可被簡化。
在以上實施例中,所提出的即時MV投影方案和相關的改進技術(例如,優先順序表和前導塊)可由視訊解碼器採用。然而,這僅出於說明的目的,並不意味著對本發明的限制。實際上,所提出的動態MV投影方案和相關的改進技術(例如,優先順序表和前導塊)也由視訊編碼器採用。
本領域之習知技藝者易知,可在保持本發明之教示内容之同時對裝置及方法作出諸多修改及變動。因此,以上公開内容應被視為僅受隨附申請專利範圍之限制。
102:可變長度解碼器 104:逆掃描電路 106:逆量化電路 108:逆變換電路 110:重構電路 112:MV計算電路 114:運動補償電路 116:幀內預測電路 118:幀間/幀內選擇 120:解塊濾波器 122:參考幀緩衝器 124:MV投影裝置 200:當前幀 202:當前塊 204:參考幀 206:參考幀 208:參考幀 210:參考運動向量 212:第一時間運動向量候選 214:第二時間運動向量候選 302:參考幀MV緩衝器 304:MFMV緩衝器 306:存儲區域 308:存儲區域 310:存儲區域 312:存儲區域 400:MV投影裝置 402:處理電路 404:MFMV緩衝器 406:參考幀MV緩衝器 408:參考幀MV緩衝器 410:參考幀MV緩衝器 802:塊 804_1,804_2,804_3:參考塊 806_1,806_2,806_1:參考塊 808_1,808_2,808_1:參考塊 902:存儲區域 904:存儲區域 906:存儲區域 1002:優先順序表 1004:子表 1006:子表 1008:子表 1600:MFMV緩衝器 1602:存儲空間 1604:存儲空間
第1圖示出根據本發明實施例的視訊解碼器的圖。 第2圖示出使用當前幀的運動軌跡來預測當前幀中包括的當前塊的運動的示例的圖。 第3圖示出使用運動向量投影來生成當前幀中包括的塊的運動場運動向量的示例的圖。 第4圖示出根據本發明的實施例的運動向量投影裝置的圖。 第5圖示出根據本發明的實施例的藉由先前的運動向量投影操作和隨後的運動向量預測子確定來訪問的相同運動場運動向量緩衝器的圖。 第6圖示出根據本發明實施例的由處理電路以即時的方式執行的第一運動向量投影操作的圖。 第7圖示出根據本發明的實施例的由處理電路以即時的方式執行的第二運動向量投影操作的圖。 第8圖示出根據本發明的實施例的由處理電路以即時的方式執行的第三運動向量投影操作的圖。 第9圖示出第6圖所示的實施例遇到的可能的重疊/覆蓋場景的圖。 第10圖示出根據本發明的實施例的利用優先順序表的塊級運動向量投影操作的圖。 第11圖示出根據本發明的實施例的塊級運動向量投影操作的圖,該塊級運動向量投影操作藉由K個64×64個參考塊(K≥2)確保一個參考幀的運動向量投影進度領先於另一參考幀的運動向量投影進度。 第12圖示出根據本發明的實施例的大小為64×64的超級塊的掃描順序的圖。 第13圖示出根據本發明的實施例的大小為128×128的超級塊的掃描順序的圖。 第14圖示出根據本發明的實施例的運動場運動向量緩衝器設計的圖,該設計使用單個存儲空間來處理大小為64×64的超級塊的存儲過程。 第15圖示出根據本發明的實施例的運動場運動向量緩衝器設計的圖,該設計使用單個存儲空間來處理大小為128×128的超級塊的存儲過程。 第16圖示出根據本發明的實施例的運動場運動向量緩衝器的圖。 第17圖示出根據本發明的實施例的運動場運動向量緩衝器設計的圖,該運動場運動向量緩衝器設計使用兩個存儲空間來處理大小為128×128的超級塊的存儲過程。
400:MV投影裝置
402:處理電路
404:MFMV緩衝器
406:參考幀MV緩衝器
408:參考幀MV緩衝器
410:參考幀MV緩衝器

Claims (18)

  1. 一種運動向量投影方法,包括: 藉由將運動向量投影應用於多個參考幀中的每個的一部分的運動向量生成一當前幀的一第一部分的多個運動場運動向量,以及將該當前幀的該第一部分的該多個運動場運動向量存儲至一運動場運動向量緩衝器;以及 藉由將運動向量投影應用於該多個參考幀中的每個的一部分的運動向量生成該當前幀的一第二部分的多個運動場運動向量,以及將該當前幀的該第二部分的該多個運動場運動向量存儲至該運動場運動向量緩衝器; 其中,該當前幀的該第二部分與該當前幀的該第一部分不重疊;以及在生成該當前幀的該第二部分的該多個運動場運動向量的步驟完成之前,該當前幀的該第一部分的該多個運動場運動向量中的至少一個從該運動場運動向量緩衝器中被讀取並參與包括在該當前幀的該第一部分的至少一編解碼塊的運動向量確定。
  2. 如請求項1所述之運動向量投影方法,其中,該當前幀的該第二部分包括位於該當前幀的最右塊列以及最底塊行的一塊。
  3. 如請求項1所述之運動向量投影方法,其中,該當前幀的該第一部分包括一第一塊和一第二塊,以及生成該當前幀的該第一部分的該多個運動場運動向量包括: 將運動向量投影應用於該多個參考幀中的每個中的一第一參考塊所擁有的多個運動向量以生成該當前幀的一個運動向量投影結果,以及根據從該多個參考幀中的多個第一參考塊生成的多個運動向量投影結果分別更新該運動場運動向量緩衝器,其中該多個參考幀中的該多個第一參考塊和該當前幀中的該第一塊是同位塊;以及 在該多個參考幀中的該多個第一參考塊的該多個運動向量投影結果生成後,將運動向量投影應用於該多個參考幀中的每個中的一第二參考塊所擁有的多個運動向量以生成該當前幀的一個運動向量投影結果,以及根據從該多個參考幀中的多個第二參考塊生成的多個運動向量投影結果分別更新該運動場運動向量緩衝器,其中該多個參考幀中的該多個第二參考塊和該當前幀中的該第二塊是同位塊。
  4. 如請求項1所述之運動向量投影方法,其中,該多個參考幀包括一第二參考幀和一第二參考幀,該當前幀的該第一部分包括多個塊,以及生成該當前幀的該第一部分的該多個運動場運動向量包括: 將運動向量投影應用於該第一參考幀中的多個第一參考塊所擁有的多個運動向量以生成該當前幀的多個第一運動向量投影結果,以及根據從該多個第一參考塊生成的該多個第一運動向量投影結果分別更新該運動場運動向量緩衝器,其中該第一參考幀中的該多個第一參考塊和該當前幀中的該多個塊分別是同位塊; 在該多個第一運動向量投影結果生成之後,將運動向量投影應用於該第二參考幀中的多個第二參考塊所擁有的多個運動向量以生成該當前幀的多個第二運動向量投影結果,以及根據從該多個第二參考塊生成的該多個第二運動向量投影結果分別更新該運動場運動向量緩衝器,其中該第二參考幀中的該多個第二參考塊和該當前幀中的該多個塊分別是同位塊。
  5. 如請求項1所述之運動向量投影方法,其中,該當前幀中的該第一部分包括位於一相同塊行的一目標塊和至少一相鄰塊,以及生成該當前幀的該第一部分的該多個運動場運動向量包括: 參照多個第一參考塊和多個第二參考塊的多個運動向量,以在該目標塊的一塊位置處生成多個運動向量投影結果,其中該多個第一參考塊分別包括在該多個參考幀中,該多個第二參考塊分別包括在該多個參考幀中,該多個第一參考塊和該目標塊是同位塊,以及該多個第二參考塊和該至少一相鄰塊是同位塊;以及 根據該多個運動向量投影結果生成該當前幀的該目標塊的多個運動場運動向量。
  6. 如請求項1所述之運動向量投影方法,其中,該當前幀的該第一部分包括位於一同一塊行的一第一塊和一第二塊,該多個參考幀包括一第一參考幀和一第二參考幀,以及生成該當前幀的該第一部分的該多個運動場運動向量包括: 將運動向量投影應用於該第一參考幀中的一第一參考塊所擁有的多個運動向量以生成一第一運動向量投影結果,其中該第一參考幀中的該第一參考塊和該當前幀中的該第一塊是同位塊,以及該第一運動投影結果包括該當前幀中一投影塊位置處的一第一運動場運動向量; 將該第一運動場運動向量存儲至該運動場運動向量緩衝器,以及藉由該第一參考幀的一幀索引來設置一優先順序表的一表值; 在該第一運動向量投影結果生成之後,將運動向量投影應用於該第二參考幀中的一第二參考塊所擁有的多個運動向量以生成一第二運動向量投影結果,其中該第二參考幀中的該第二參考塊和該當前幀中的該第二塊是同位塊,以及該第二運動投影結果包括該當前幀中該投影塊位置處的一第二運動場運動向量;以及 將該優先順序表的該表值與該第二參考幀的一幀索引相比較來確定是否將該第二運動場運動向量存儲至該運動場運動向量緩衝器,以覆蓋存儲於該運動場運動向量緩衝器的該第一運動場運動向量。
  7. 如請求項1所述之運動向量投影方法,其中,該當前幀的該第一部分包括位於一塊行的多個塊,該多個參考幀包括一第一參考幀和一第二參考幀,以及生成該當前幀的該第一部分的該多個運動場運動向量包括: 將運動向量投影應用於該第一參考幀的一第M參考塊所擁有的運動向量,其中該第一參考幀的該第M參考塊以及該當前幀的該塊行的一第M塊是同位塊; 在將運動向量投影應用於該第一參考幀的該第M參考塊完成後,將運動向量投影應用於該第二參考幀中一第N參考塊所擁有的運動向量,其中該第二參考幀中的該第N參考塊和該當前幀中的塊行的一第N塊是同位塊, 其中,M和N是正整數,M比N大,以及除了該塊行最左邊的(M-N)個塊之外,該塊行的任一塊是該第M塊。
  8. 如請求項7所述之運動向量投影方法,其中,(M-N)的值不小於2。
  9. 如請求項1所述之運動向量投影方法,其中,該當前幀包括多個奇數編號的塊行和多個偶數編號的塊行,該運動場運動向量緩衝器包括一第一存儲空間和一第二存儲空間,以及該運動向量投影方法更包括: 僅將位於該當前幀的該多個奇數編號的塊行的每個塊的多個運動場運動向量存儲至該第一存儲空間;以及 僅將位於該當前幀的該多個偶數編號的塊行的每個塊的多個運動場運動向量存儲至該第二存儲空間; 其中,該當前幀被分為多個超級塊,該多個超級塊中的每個具有一超級塊大小,以及該超級塊大小大於位於該多個奇數編號的塊行的每個塊的大小和大於位於該多個偶數編號的塊行的每個塊的大小。
  10. 一種運動向量投影裝置,包括: 一運動場運動向量緩衝器;以及 一處理電路,設置為: 藉由將運動向量投影應用於多個參考幀中的每個的一運動向量以生成一當前幀的一第一部分的多個運動場運動向量;以及將該當前幀的該第一部分的該多個運動場運動向量存儲至該運動場運動向量緩衝器;以及 藉由將運動向量投影應用於該多個參考幀中的每個的一運動向量以生成該當前幀的一第二部分的多個運動場運動向量;以及將該當前幀的該第二部分的該多個運動場運動向量存儲至該運動場運動向量緩衝器; 其中,該當前幀的該第二部分與該當前幀的該第一部分不重疊;以及在該當前幀的該第二部分的該多個運動場運動向量由該處理電路生成之前,該當前幀的該第一部分的該多個運動場運動向量中至少一個從該運動場運動向量緩衝器中被讀取並參與該當前幀的該第一部分中的至少一個編解碼塊的運動向量確定。
  11. 如請求項10所述之運動向量投影裝置,其中,該當前幀的該第二部分包括該當前幀的該第二部分包括位於該當前幀的最右塊列以及最底塊行的一塊。
  12. 如請求項10所述之運動向量投影裝置,其中,該當前幀的該第一部分包括一第一塊和一第二塊,以及該處理電路生成該當前幀的該第一部分的該多個運動場運動向量是: 將運動向量投影應用於該多個參考幀中的每個中的一第一參考塊所擁有的多個運動向量以生成該當前幀的一運動向量投影結果,以及根據從該多個參考幀中的多個第一參考塊生成的多個運動向量投影結果分別更新該運動場運動向量緩衝器,其中該多個參考幀中的該多個第一參考塊和該當前幀中的該第一塊是同位塊;以及 在該多個參考幀中的該多個第一參考塊的該多個運動向量投影結果生成後,將將運動向量投影應用於該多個參考幀中的每個中的一第二參考塊所擁有的多個運動向量以生成該當前幀的一運動向量投影結果,以及根據從該多個參考幀中的多個第二參考塊生成的多個運動向量投影結果分別更新該運動場運動向量緩衝器,其中該多個參考幀中的該多個第二參考塊和該當前幀中的該第二塊是同位塊。
  13. 如請求項10所述之運動向量投影裝置,其中,其中,該多個參考幀包括一第二參考幀和一第二參考幀,該當前幀的該第一部分包括多個塊,以及該處理電路生成該當前幀的該第一部分的該多個運動場運動向量是藉由: 將運動向量投影應用於該第一參考幀中的多個第一參考塊所擁有的多個運動向量以生成該當前幀的多個第一運動向量投影結果,以及根據從該多個第一參考塊生成的該多個第一運動向量投影結果分別更新該運動場運動向量緩衝器,其中該第一參考幀中的該多個第一參考塊和該當前幀中的該多個塊分別是同位塊; 在該多個第一運動向量投影結果生成之後,將運動向量投影應用於該第二參考幀中的多個第二參考塊所擁有的多個運動向量以生成該當前幀的多個第二運動向量投影結果,以及根據從該多個第二參考塊生成的該多個第二運動向量投影結果分別更新該運動場運動向量緩衝器,其中該第二參考幀中的該多個第二參考塊和該當前幀中的該多個塊分別是同位塊。
  14. 如請求項10所述之運動向量投影裝置,其中,該當前幀中的該第一部分包括位於一相同塊行的一目標塊和至少一相鄰塊,以及該處理電路生成該當前幀的該第一部分的該多個運動場運動向量是藉由: 參照多個第一參考塊和多個第二參考塊的多個運動向量,以在該目標塊的一塊位置處生成多個運動向量投影結果,其中該多個第一參考塊分別包括在該多個參考幀中,該多個第二參考塊分別包括在該多個參考幀中,該多個第一參考塊和該目標塊是同位塊,以及該多個第二參考塊和該至少一相鄰塊是同位塊;以及 根據該多個運動向量投影結果生成該當前幀的該目標塊的多個運動場運動向量。
  15. 如請求項10所述之運動向量投影裝置,其中,該當前幀的該第一部分包括位於一同一塊行的一第一塊和一第二塊,該多個參考幀包括一第一參考幀和一第二參考幀,以及該處理電路生成該當前幀的該第一部分的該多個運動場運動向量是: 將運動向量投影應用於該第一參考幀中的一第一參考塊所擁有的多個運動向量以生成一第一運動向量投影結果,其中該第一參考幀中的該第一參考塊和該當前幀中的該第一塊是同位塊,以及該第一運動投影結果包括該當前幀中一投影塊位置處的一第一運動場運動向量; 將該第一運動場運動向量存儲至該運動場運動向量緩衝器,以及藉由該第一參考幀的一幀索引來設置一優先順序表的一表值; 在該第一運動向量投影結果生成之後,將運動向量投影應用於該第二參考幀中的一第二參考塊所擁有的多個運動向量以生成一第二運動向量投影結果,其中該第二參考幀中的該第二參考塊和該當前幀中的該第二塊是同位塊,以及該第二運動投影結果包括該當前幀中該投影塊位置處的一第二運動場運動向量;以及 將該優先順序表的該表值與該第二參考幀的一幀索引相比較來確定是否將該第二運動場運動向量存儲至該運動場運動向量緩衝器,以覆蓋存儲於該運動場運動向量緩衝器的該第一運動場運動向量。
  16. 如請求項10所述之運動向量投影裝置,其中,該當前幀的該第一部分包括位於一塊行的多個塊,該多個參考幀包括一第一參考幀和一第二參考幀,以及該處理電路生成該當前幀的該第一部分的該多個運動場運動向量是藉由: 將運動向量投影應用於該第一參考幀的一第M參考塊所擁有的運動向量,其中該第一參考幀的該第M參考塊以及該當前幀的該塊行的一第M塊是同位塊; 在將運動向量投影應用於該第一參考幀的該第M參考塊完成後,將運動向量投影應用於該第二參考幀中一第N參考塊所擁有的運動向量,其中該第二參考幀中的該第N參考塊和該當前幀中的塊行的一第N塊是同位塊, 其中,M和N是正整數,M比N大,以及除了該塊行最左邊的(M-N)個塊之外,該塊行的任一塊是該第M塊。
  17. 如請求項16所述之運動向量投影裝置,其中,(M-N)的值不小於2。
  18. 如請求項10所述之運動向量投影裝置,其中,該當前幀包括多個奇數編號的塊行和多個偶數編號的塊行,該運動場運動向量緩衝器包括一第一存儲空間和一第二存儲空間,以及該處理電路進一步被設置為:僅將位於該當前幀的該多個奇數編號的塊行的每個塊的多個運動場運動向量存儲至該第一存儲空間;以及僅將位於該當前幀的該多個偶數編號的塊行的每個塊的多個運動場運動向量存儲至該第二存儲空間;以及該當前幀被分為多個超級塊,該多個超級塊中的每個具有一超級塊大小,以及該超級塊大小大於位於該多個奇數編號的塊行的每個塊的大小和大於位於該多個偶數編號的塊行的每個塊的大小。
TW109134358A 2018-11-29 2020-10-05 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置 TWI751727B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862772701P 2018-11-29 2018-11-29
US16/697,119 US11025947B2 (en) 2018-11-29 2019-11-26 Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner
US16/697,119 2019-11-26

Publications (2)

Publication Number Publication Date
TW202121902A true TW202121902A (zh) 2021-06-01
TWI751727B TWI751727B (zh) 2022-01-01

Family

ID=70850774

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109134358A TWI751727B (zh) 2018-11-29 2020-10-05 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置

Country Status (3)

Country Link
US (1) US11025947B2 (zh)
CN (1) CN112954363B (zh)
TW (1) TWI751727B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI851975B (zh) * 2021-08-17 2024-08-11 聯發科技股份有限公司 視訊處理裝置
TWI865181B (zh) * 2023-11-16 2024-12-01 瑞昱半導體股份有限公司 影像處理裝置及方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220201295A1 (en) * 2020-12-21 2022-06-23 Electronics And Telecommunications Research Institute Method, apparatus and storage medium for image encoding/decoding using prediction
CN118435600A (zh) * 2022-01-05 2024-08-02 Oppo广东移动通信有限公司 时域运动信息预测和构建候选列表的方法、装置和系统
US12132928B2 (en) * 2022-09-02 2024-10-29 Qualcomm Incorporated Block-level collocated motion field projection for video coding
CN116527908B (zh) * 2023-04-11 2024-05-03 格兰菲智能科技有限公司 运动场估计方法、装置、计算机设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100930043B1 (ko) * 2002-11-23 2009-12-08 삼성전자주식회사 스크롤링 텍스트나 그래픽 데이터를 검출할 수 있는움직임 추정장치 및 방법
US8254439B2 (en) * 2009-05-08 2012-08-28 Mediatek Inc. Apparatus and methods for motion vector correction
JP2011061273A (ja) * 2009-09-07 2011-03-24 Sony Corp 動きベクトル算出装置、動きベクトル算出方法およびプログラム
JP5248632B2 (ja) * 2010-01-14 2013-07-31 インテル コーポレイション 動き推定のための技術
EP2553927B1 (fr) * 2010-03-31 2018-11-28 Orange Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en oeuvre une prediction par compensation de mouvement avant, et programme d'ordinateur correspondant
CN102340663B (zh) * 2010-07-22 2013-02-27 华为技术有限公司 图像运动估计方法和装置
US8736767B2 (en) * 2010-09-29 2014-05-27 Sharp Laboratories Of America, Inc. Efficient motion vector field estimation
KR20150058324A (ko) * 2013-01-30 2015-05-28 인텔 코포레이션 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
CN110249628B (zh) * 2017-02-06 2021-08-20 华为技术有限公司 用于预测分区的视频编码器和解码器
US10284869B2 (en) * 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
CN114554197B (zh) * 2018-04-16 2025-05-02 联发科技股份有限公司 视频编解码系统中具有重叠块运动补偿的视频处理的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI851975B (zh) * 2021-08-17 2024-08-11 聯發科技股份有限公司 視訊處理裝置
TWI865181B (zh) * 2023-11-16 2024-12-01 瑞昱半導體股份有限公司 影像處理裝置及方法

Also Published As

Publication number Publication date
US20200177909A1 (en) 2020-06-04
US11025947B2 (en) 2021-06-01
CN112954363A (zh) 2021-06-11
TWI751727B (zh) 2022-01-01
CN112954363B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
TWI751727B (zh) 以即時的方式生成當前幀的塊的運動場運動向量的方法和裝置
KR101239567B1 (ko) 움직임 추정에 대한 검색 범위 선택 방법과 그의 시스템 및 컴퓨터 판독가능 저장 매체
JP2019115060A (ja) 符号化装置、符号化方法、復号装置、復号方法、及びプログラム
CN113709471B (zh) 一种编解码方法、装置及其设备
CN112840645B (zh) 视频编码系统中组合多个预测子用于块预测的方法及装置
CN110832862B (zh) 解码端运动矢量导出的容错与并行处理
JP2013543318A (ja) 低複雑度の動きベクトルを導出するシステム及び方法
JP2013517682A (ja) ビデオ・エンコードおよびデコードのための低複雑性テンプレート照合予測のための方法および装置
TWI702826B (zh) 由視訊編碼器和視訊解碼器執行的視訊編解碼方法及裝置
CN111386706B (zh) 解耦模式推断和预测
US10237554B2 (en) Method and apparatus of video encoding with partitioned bitstream
JP2020522913A (ja) 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置
CN108696754B (zh) 运动向量预测的方法和装置
CN107079165A (zh) 使用预测残差的视频编码方法及装置
TWI831358B (zh) 用於仿射預測或運動補償的共享預加載區域的方法和裝置
CN112118451B (zh) 一种编解码方法、装置及其设备
WO2022116574A1 (zh) 基于二次多项式的运动矢量预测方法、系统及计算机介质
TWI853412B (zh) 用於視頻編解碼的仿射編碼塊導出合併候選的方法和裝置
JP2025530944A (ja) 動きベクトル予測子精度を暗黙的に指示するための方法および装置
JP2025532440A (ja) サブブロック動きベクトルに基づく動きベクトル予測のための方法および装置
CN113542748B (zh) 视频编解码方法、设备和非暂时性计算机可读存储介质
CN112073734B (zh) 一种编解码方法、装置及其设备
CN114710665B (zh) 一种解码、编码方法、装置及其设备
TWI517671B (zh) 用於增強型解碼器側移動向量導出(dmvd)處理之系統及方法