專利名稱:移動向量計算方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種移動向量計算方法,特別涉及一種節(jié)省內(nèi)存使用空間的移動向量計算方法。
背景技術(shù):
壓縮圖像如MPEG規(guī)格圖像以移動向量儲存前后圖像幀中區(qū)塊的差異值,從而減少儲存或傳送時的大小。在較新圖像規(guī)格中,區(qū)塊還可儲存移動向量的差值以更進一步壓縮圖像數(shù)據(jù)量。
如圖1所示,一個大小為8乘8的圖像幀(圖中非斜線部分)包含區(qū)塊11~14,在進行圖像數(shù)據(jù)譯碼的過程中,假設(shè)目前的數(shù)據(jù)為區(qū)塊11的移動向量差值及區(qū)塊12~14的移動向量,此時若要求得區(qū)塊11對應(yīng)的移動向量則必須參考區(qū)塊12、區(qū)塊13與區(qū)塊14的移動向量,并將區(qū)塊11的移動向量差值與區(qū)塊12、區(qū)塊13與區(qū)塊14三者移動向量的中間值相加以產(chǎn)生區(qū)塊11對應(yīng)的移動向量。
然而,現(xiàn)有技術(shù)在處理圖像幀的邊界時會因參考區(qū)塊落于圖像幀之外而產(chǎn)生問題,所以現(xiàn)有技術(shù)會預(yù)先在圖像幀之外增加額外有可能被參考到的區(qū)塊15(圖標中斜線部分所示),以讓譯碼器或譯碼程序能夠正確地取得參考區(qū)塊從而正確地工作。
然而這種增加額外區(qū)塊的方式較耗費內(nèi)存儲存的空間,尤其對于內(nèi)存容量有限的硬件譯碼裝置來說,若能減少額外儲存的數(shù)據(jù)量將可更有效率地使用內(nèi)存。
因此,提供一種移動向量計算方法,以期能夠節(jié)省內(nèi)存的使用空間,正是當(dāng)前的重要課題之一。
發(fā)明內(nèi)容
有鑒于上述課題,本發(fā)明的目的為提供一種能夠節(jié)省內(nèi)存的使用空間的移動向量計算方法。
由此,為達上述目的,依本發(fā)明的移動向量計算方法系應(yīng)用于一圖像幀,圖像幀包含至少一圖像幀片段,圖像幀片段包含多個區(qū)塊,此方法包含自區(qū)塊中選取一目標區(qū)塊,接著依據(jù)目標區(qū)塊位于圖像幀片段中的位置,判斷目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊是否超出圖像幀片段的邊界以產(chǎn)生一判斷結(jié)果,其中判斷結(jié)果為第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者之中未超出圖像幀片段邊界的,以及依據(jù)判斷結(jié)果產(chǎn)生用以計算目標區(qū)塊的移動向量的一預(yù)測值。
另外,本發(fā)明也提供一種移動向量計算方法,此方法系應(yīng)用于一圖像幀,圖像幀包含至少一圖像幀片段,圖像幀片段包含多個區(qū)塊,此方法包含自區(qū)塊中選取一目標區(qū)塊,接著依據(jù)目標區(qū)塊位于圖像幀片段中的位置,判斷目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊是否超出圖像幀片段的邊界,當(dāng)?shù)谝粎⒖紖^(qū)塊未超出圖像幀片段的邊界,且第二參考區(qū)塊與第三參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊的移動向量產(chǎn)生一預(yù)測值,當(dāng)?shù)谝粎⒖紖^(qū)塊與第二參考區(qū)塊未超出圖像幀片段的邊界,且第三參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊與第二參考區(qū)塊的移動向量產(chǎn)生預(yù)測值,當(dāng)?shù)谝粎⒖紖^(qū)塊與第三參考區(qū)塊未超出圖像幀片段的邊界,且第二參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值,當(dāng)?shù)谌齾⒖紖^(qū)塊未超出圖像幀片段的邊界,且第一參考區(qū)塊及第二參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值,當(dāng)?shù)诙⒖紖^(qū)塊與第三參考區(qū)塊未超出圖像幀片段的邊界,且第一參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第二參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值,當(dāng)?shù)谝粎⒖紖^(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊均未超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。
綜上所述,與現(xiàn)有技術(shù)相比,本發(fā)明的移動向量計算方法無需預(yù)先在圖像幀之外額外增加有可能被參考到的區(qū)塊,故能節(jié)省儲存區(qū)塊的內(nèi)存空間,進而提升內(nèi)存的使用效率。
圖1為一示意圖,顯示現(xiàn)有技術(shù)的移動向量計算方法;圖2為一流程圖,顯示依本發(fā)明較佳實施例的移動向量計算方法;圖3A至圖3E為一組示意圖,顯示依本發(fā)明較佳實施例的移動向量計算方法;以及圖4A至圖4F為一組示意圖,顯示依本發(fā)明較佳實施例的移動向量計算方法中目標區(qū)塊的可能位置;以及圖5為一流程圖,顯示依本發(fā)明較佳實施例的移動向量計算方法中依據(jù)判斷結(jié)果產(chǎn)生用以計算目標區(qū)塊移動向量的一預(yù)測值的流程。
組件編號一覽表
具體實施方式
以下將參照相關(guān)圖式,說明依本發(fā)明較佳實施例的移動向量計算方法。
如圖2所示,依本發(fā)明較佳實施例的移動向量計算方法應(yīng)用于一圖像幀,圖像幀包含至少一圖像幀片段,圖像幀片段包含多個區(qū)塊,此方法包含步驟S1至步驟S3。
步驟S1系自區(qū)塊中選取一目標區(qū)塊。
步驟S2系依據(jù)目標區(qū)塊位于圖像幀片段中的位置,判斷目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊是否超出圖像幀片段的邊界以產(chǎn)生一判斷結(jié)果,其中判斷結(jié)果系為第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者之中未超出圖像幀片段邊界者。
步驟S3依據(jù)判斷結(jié)果產(chǎn)生用以計算目標區(qū)塊的移動向量的一預(yù)測值。
在本實施例中,此方法還包含步驟S4,且目標區(qū)塊具有一移動向量差值。
步驟S4依據(jù)目標區(qū)塊的移動向量差值與預(yù)測值產(chǎn)生目標區(qū)塊的一移動向量。當(dāng)計算出目標區(qū)塊的移動向量之后,目標區(qū)塊可用以作為后續(xù)的另一目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊三者其中之一。在本實施例中,當(dāng)目標區(qū)塊的移動向量計算出之后,計算后的移動向量可以儲存于目標區(qū)塊取代先前目標區(qū)塊所儲存的移動向量差值,以作為另一目標區(qū)塊所需的第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者其中之一。
如圖3A所示,在本實施例中,圖像幀2可包含一圖像幀片段21與一圖像幀片段22,圖像幀片段21與圖像幀片段22包含多個宏區(qū)塊。在另一實施例中,圖像幀僅包含一圖像幀片段,圖像幀片段包含多個宏區(qū)塊。
如圖3A至圖3E所示,圖像幀片段21包含目標區(qū)塊211、第一參考區(qū)塊212、第二參考區(qū)塊213與第三參考區(qū)塊214。目標區(qū)塊211、第一參考區(qū)塊212、第二參考區(qū)塊213與第三參考區(qū)塊214的間的位置關(guān)系分為第一情況Case1、第二情況Case2與第三情況Case3討論(如圖3A中斜線部分)。
如圖3A與3B所示,在第一情況Case1下,第一參考區(qū)塊212位于目標區(qū)塊211的上一欄同行,第二參考區(qū)塊213位于目標區(qū)塊211的同欄上一行,第三參考區(qū)塊214位于目標區(qū)塊211的上一行。其中目標區(qū)塊211、第一參考區(qū)塊212、第二參考區(qū)塊213與第三參考區(qū)塊214系為不同的宏區(qū)塊。
另一方面,目標區(qū)塊211、第一參考區(qū)塊212、第二參考區(qū)塊213與第三參考區(qū)塊214除了可以是宏區(qū)塊之外,也可以是一宏區(qū)塊中的一子區(qū)塊。
如圖3A與圖3C所示,在第一情況Case1下,第一參考區(qū)塊212位于目標區(qū)塊211的上一欄同行,第二參考區(qū)塊213位于目標區(qū)塊211的同欄上一行,第三參考區(qū)塊214位于目標區(qū)塊211的上一行,且第三參考區(qū)塊214所在的宏區(qū)塊位于目標區(qū)塊211所在的宏區(qū)塊下一欄。其中目標區(qū)塊211、第一參考區(qū)塊212、第二參考區(qū)塊213與第三參考區(qū)塊214系分別位于不同的宏區(qū)塊。
如圖3A與圖3D所示,在第二情況Case2下,第一參考區(qū)塊212位于目標區(qū)塊211的上一欄同行,第二參考區(qū)塊213位于目標區(qū)塊211的同欄上一行,第三參考區(qū)塊214位于目標區(qū)塊211的下一欄上一行,其中目標區(qū)塊211與第一參考區(qū)塊212位于相同的宏區(qū)塊,目標區(qū)塊211、第二參考區(qū)塊213與第三參考區(qū)塊214系分別位于不同的宏區(qū)塊。
如圖3A與圖3E所示,在第三情況Case3下,第一參考區(qū)塊212位于目標區(qū)塊211的上一欄同行,第二參考區(qū)塊213位于目標區(qū)塊211的同欄上一行,第三參考區(qū)塊214位于目標區(qū)塊211的下一欄上一行。其中目標區(qū)塊211、第二參考區(qū)塊213與第三參考區(qū)塊214位于相同的宏區(qū)塊,目標區(qū)塊211與第一參考區(qū)塊212分別位于不同的宏區(qū)塊。
另外,譯碼的時候可以先將數(shù)據(jù)先行依序連續(xù)地儲存于內(nèi)存當(dāng)中,不需要在圖像幀之外增加額外有可能被參考到的區(qū)塊,所以,讀取目標區(qū)塊或參考區(qū)塊不需要讀取圖像幀之外的額外數(shù)據(jù),對于硬件裝置來說,區(qū)塊儲存方式也較節(jié)省內(nèi)存空間。
另外,如圖4A所示,當(dāng)目標區(qū)塊在圖像幀片段的最頂行時(如圖中上方斜線部分),僅需參考上一欄的參考區(qū)塊。當(dāng)目標區(qū)塊的移動向量差值與預(yù)測值由處理器計算之后產(chǎn)生目標區(qū)塊的移動向量,此計算后的目標區(qū)塊的移動向量系儲存至內(nèi)存,也可暫時存放于處理器的緩存器當(dāng)中,以作為下一目標區(qū)塊的參考區(qū)塊,當(dāng)計算下一目標區(qū)塊的移動向量時便可直接于緩存器讀取參考區(qū)塊,無須再次讀取內(nèi)存,故可減少存取內(nèi)存時間而提升效能。
以一張標準DVD格式的圖像來說,一秒播放25個圖像幀,一個圖像幀在垂直方向最大可以有36個宏區(qū)塊,每個宏區(qū)塊有四個區(qū)塊,每個區(qū)塊系以4位儲存,其中最上一行的宏區(qū)塊的移動向量計算時并不需要再次讀寫內(nèi)存,且與現(xiàn)有技術(shù)相較之下,在第一欄與最后一欄之外并不需要額外的內(nèi)存儲存移動向量的數(shù)據(jù)(如圖1中斜線部分),因此,以本實施例的方法計算移動向量每秒鐘節(jié)省的內(nèi)存存取量如式1所示25×(36-1)×4×4×2×2=56000(位/秒)(式1)如圖5所示,在本實施例中,步驟S3,亦即依據(jù)判斷結(jié)果產(chǎn)生用以計算目標區(qū)塊的移動向量的一預(yù)測值的步驟還包含步驟S31至步驟S36。
在步驟S31之中,當(dāng)?shù)谝粎⒖紖^(qū)塊未超出圖像幀片段的邊界,且第二參考區(qū)塊與第三參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊的移動向量產(chǎn)生一預(yù)測值。如圖4A所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S31的情況。
在步驟S32之中,當(dāng)?shù)谝粎⒖紖^(qū)塊與第二參考區(qū)塊未超出圖像幀片段的邊界,且第三參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊與第二參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。如圖4B所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S32的情況。
在步驟S33之中,當(dāng)?shù)谝粎⒖紖^(qū)塊與第三參考區(qū)塊未超出圖像幀片段的邊界,且第二參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。如圖4C所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S33的情況。
在步驟S34之中,當(dāng)?shù)诙⒖紖^(qū)塊與第三參考區(qū)塊未超出圖像幀片段的邊界,且第一參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第二參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。如圖4D所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S34的情況。
在步驟S35之中,當(dāng)?shù)谝粎⒖紖^(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊均未超出圖像幀片段的邊界時,依據(jù)第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。在本實施例中,預(yù)測值可依據(jù)第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊的移動向量的中間值所產(chǎn)生。如圖4E所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S35的情況。
在步驟S36之中,當(dāng)?shù)谌齾⒖紖^(qū)塊未超出圖像幀片段的邊界,且第一參考區(qū)塊及第二參考區(qū)塊超出圖像幀片段的邊界時,依據(jù)第三參考區(qū)塊的移動向量產(chǎn)生預(yù)測值。如圖4F所示,當(dāng)目標區(qū)塊位于圖標中斜線部分時會產(chǎn)生步驟S36的情況。
綜上所述,與現(xiàn)有技術(shù)相較之下,本發(fā)明的移動向量計算方法無需預(yù)先在圖像幀之外增加額外有可能被參考到的區(qū)塊,故能夠節(jié)省儲存區(qū)塊的內(nèi)存空間,進而提升內(nèi)存的使用效率。
以上所述僅為示例性,而不是限制性的。任何未脫離本發(fā)明的精神與范疇,而對其進行的等效修改或變更,均應(yīng)包含于所附權(quán)利要求范圍中。
權(quán)利要求
1.一種移動向量計算方法,其用于一圖像幀,該圖像幀包含至少一圖像幀片段,該圖像幀片段包含多個區(qū)塊,該方法包含自該多個區(qū)塊中選取一目標區(qū)塊;依據(jù)該目標區(qū)塊位于該圖像幀片段中的位置,判斷該目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊是否超出該圖像幀片段的邊界以產(chǎn)生一判斷結(jié)果,其中該判斷結(jié)果表示第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者之中未超出圖像幀片段邊界的;以及依據(jù)該判斷結(jié)果產(chǎn)生用以計算該目標區(qū)塊的移動向量的一預(yù)測值。
2.如權(quán)利要求1所述的移動向量計算方法,其中該目標區(qū)塊具有一移動向量差值,該方法還包含依據(jù)該目標區(qū)塊的移動向量差值與該預(yù)測值產(chǎn)生該目標區(qū)塊的一移動向量。
3.如權(quán)利要求2所述的移動向量計算方法,其中該目標區(qū)塊是用以作為后續(xù)的另一目標區(qū)塊所對應(yīng)的第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者其中之一。
4.如權(quán)利要求1所述的移動向量計算方法,其中依據(jù)該判斷結(jié)果產(chǎn)生用以計算該目標區(qū)塊的移動向量的該預(yù)測值的步驟包含當(dāng)該第一參考區(qū)塊未超出該圖像幀片段的邊界,且該第二參考區(qū)塊與該第三參考區(qū)塊超出該圖像幀片段的邊界時,依據(jù)該第一參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值;當(dāng)該第一參考區(qū)塊與該第二參考區(qū)塊未超出該圖像幀片段的邊界,且該第三參考區(qū)塊超出該圖像幀片段的邊界時,依據(jù)該第一參考區(qū)塊與該第二參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值;當(dāng)該第一參考區(qū)塊與該第三參考區(qū)塊未超出該圖像幀片段的邊界,且該第二參考區(qū)塊超出該圖像幀片段的邊界時,依據(jù)該第一參考區(qū)塊與該第三參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值;當(dāng)該第三參考區(qū)塊未超出該圖像幀片段的邊界,且該第一參考區(qū)塊及該第二參考區(qū)塊超出該圖像幀片段的邊界時,依據(jù)該第三參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值;當(dāng)該第二參考區(qū)塊與該第三參考區(qū)塊未超出該圖像幀片段的邊界,且該第一參考區(qū)塊超出該圖像幀片段的邊界時,依據(jù)該第二參考區(qū)塊與該第三參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值;以及當(dāng)該第一參考區(qū)塊、該第二參考區(qū)塊與該第三參考區(qū)塊均未超出該圖像幀片段的邊界時,依據(jù)該第一參考區(qū)塊、該第二參考區(qū)塊與該第三參考區(qū)塊的移動向量產(chǎn)生該預(yù)測值。
5.如權(quán)利要求4所述的移動向量計算方法,其中當(dāng)該第一參考區(qū)塊、該第二參考區(qū)塊與該第三參考區(qū)塊均未超出該圖像幀片段的邊界時,該預(yù)測值是依據(jù)該第一參考區(qū)塊、該第二參考區(qū)塊與該第三參考區(qū)塊的移動向量的中間值而產(chǎn)生的。
6.如權(quán)利要求1所述的移動向量計算方法,其中該目標區(qū)塊為一宏區(qū)塊。
7.如權(quán)利要求1所述的移動向量計算方法,其中該目標區(qū)塊為一宏區(qū)塊中的一子區(qū)塊。
8.如權(quán)利要求1所述的移動向量計算方法,其中該第一參考區(qū)塊位于該目標區(qū)塊的上一欄同行,該第二參考區(qū)塊位于該目標區(qū)塊的同欄上一行,該第三參考區(qū)塊位于該目標區(qū)塊的下一欄上一行。
全文摘要
一種移動向量計算方法,其應(yīng)用于一圖像幀,圖像幀包含至少一圖像幀片段,圖像幀片段包含多個區(qū)塊,此方法包含自區(qū)塊中選取一目標區(qū)塊,接著依據(jù)目標區(qū)塊位于圖像幀片段中的位置,判斷目標區(qū)塊所對應(yīng)的一第一參考區(qū)塊、一第二參考區(qū)塊與一第三參考區(qū)塊是否超出圖像幀片段的邊界以產(chǎn)生一判斷結(jié)果,其中判斷結(jié)果為第一參考區(qū)塊、第二參考區(qū)塊與第三參考區(qū)塊三者之中未超出圖像幀片段邊界的,并依據(jù)判斷結(jié)果產(chǎn)生用以計算目標區(qū)塊的移動向量的預(yù)測值。
文檔編號H04N7/32GK1750660SQ200510105888
公開日2006年3月22日 申請日期2005年9月29日 優(yōu)先權(quán)日2005年9月29日
發(fā)明者謝秉峰 申請人:威盛電子股份有限公司