專利名稱:用于幾何運動分割的定點實施方案的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻譯碼。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)碼相機、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似者。數(shù)字視頻裝置實施視頻壓縮技術(shù)(例如,在MPEG-2、MPEG-4、ITU-TH. 263或ITU-T H. 264/MPEG-4第10部分“高級視頻譯碼(AVC) ”所定義的標準及這些標準的擴展中所描述的技術(shù)),以更有效率地發(fā)射及接收數(shù)字視頻信息。視頻壓縮技術(shù)執(zhí)行空間預(yù)測及/或時間預(yù)測以減少或移除視頻序列中所固有的冗余。對于基于塊的視頻譯碼,可將視頻幀或片段分割為多個宏塊??蛇M一步分割每一宏±夾。使用關(guān)于相鄰宏塊的空間預(yù)測來編碼經(jīng)幀內(nèi)譯碼⑴幀或片段中的宏塊。經(jīng)幀間譯碼(P或B)幀或片段中的宏塊可使用關(guān)于同一幀或片段中的相鄰宏塊的空間預(yù)測或關(guān)于其它參考幀的時間預(yù)測。
發(fā)明內(nèi)容
一般來說,本發(fā)明描述用于支持視頻塊的幾何運動分割的技術(shù)。也就是說,本發(fā)明的技術(shù)提供使用任意分區(qū)邊界來分割矩形塊(被稱為幾何運動分割),而非將所述塊分割為兩個或兩個以上嚴格矩形分區(qū)。為了支持幾何運動分割,本發(fā)明提供用于在分區(qū)邊界處針對分區(qū)的重疊部分執(zhí)行運動補償?shù)募夹g(shù)。本發(fā)明還提供用于自適應(yīng)性地選擇經(jīng)分割塊的子塊的變換尺寸的技術(shù)。此外,本發(fā)明提供用于個別地編碼分區(qū)的運動向量的技術(shù)。此外,可使用定點或浮點實施方案來執(zhí)行本發(fā)明的技術(shù)。在一個實例中,一種方法包括使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);使用濾波器來計算所述塊的在過渡區(qū)域中的像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述過渡區(qū)域中的所述像素的所述預(yù)測值來計算所述塊的在所述過渡區(qū)域中的所述像素的殘余值;以及輸出所述像素的所述殘余值。在另一實例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);使用濾波器來計算所述塊的在過渡區(qū)域中的像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述過渡區(qū)域中的所述像素的所述預(yù)測值來 計算所述塊的在所述過渡區(qū)域中的所述像素的殘余值;以及輸出所述像素的所述殘余值。在另一實例中,一種設(shè)備包括用于使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū)的裝置;用于使用濾波器來計算所述塊的在過渡區(qū)域中的像素的預(yù)測值的裝置,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;用于基于所述過渡區(qū)域中的所述像素的所述預(yù)測值來計算所述塊的在所述過渡區(qū)域中的所述像素的殘余值的裝置;以及用于輸出所述像素的所述殘余值的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);使用濾波器來計算所述塊的在過渡區(qū)域中的像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述過渡區(qū)域中的所述像素的所述預(yù)測值來計算所述塊的在所述過渡區(qū)域中的所述像素的殘余值;以及輸出所述像素的所述殘余值。在另一實例中,一種方法包括接收經(jīng)編碼視頻數(shù)據(jù)塊、將所述經(jīng)編碼塊分割為第一分區(qū)及第二分區(qū)的幾何運動分割線的定義及所述塊的在過渡區(qū)域中的像素的殘余值;使用濾波器來計算所述塊的在所述過渡區(qū)域中的所述像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述預(yù)測值及所述殘余值來計算所述塊的在所述過渡區(qū)域中的所述像素的經(jīng)重構(gòu)值;以及輸出所述像素的所述經(jīng)重構(gòu)值。在另一實例中,一種設(shè)備包括視頻解碼器,所述視頻解碼器經(jīng)配置以接收經(jīng)編碼視頻數(shù)據(jù)塊、將所述經(jīng)編碼塊分割為第一分區(qū)及第二分區(qū)的幾何運動分割線的定義及所述塊的在過渡區(qū)域中的像素的殘余值;使用濾波器來計算所述塊的在所述過渡區(qū)域中的所述像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述預(yù)測值及所述殘余值來計算所述塊的在所述過渡區(qū)域中的所述像素的經(jīng)重構(gòu)值;以及輸出所述像素的所述經(jīng)重構(gòu)值。在另一實例中,一種設(shè)備包括用于接收經(jīng)編碼視頻數(shù)據(jù)塊、將所述經(jīng)編碼塊分割為第一分區(qū)及第二分區(qū)的幾何運動分割線的定義及所述塊的在過渡區(qū)域中的像素的殘余值的裝置;用于使用濾波器來計算所述塊的在所述過渡區(qū)域中的所述像素的預(yù)測值的裝置,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;用于基于所述預(yù)測值及所述殘余值來計算所述塊的在所述過渡區(qū)域中的所述像素的經(jīng)重構(gòu)值的裝置;以及用于輸出所述像素的所述經(jīng)重構(gòu)值的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器接收經(jīng)編碼視頻數(shù)據(jù)塊、將所述經(jīng)編碼塊分割為第一分區(qū)及第二分區(qū)的幾何運動分割線的定義及所述塊的在過渡區(qū)域中的像素的殘余值;使用濾波器來計算所述塊的在所述過渡區(qū)域中的所述像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述預(yù)測值及所述殘余值來計算所述塊的在所述過渡區(qū)域中的所述像素的經(jīng)重構(gòu)值;以及輸出所述像素的所述經(jīng)重構(gòu)值。在另一實例中,一種方法包括使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一幾何分區(qū)及第二幾何分區(qū),其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等 尺寸的非重疊(N/2) X (N/2)子塊;以及使用小于(N/2) X (N/2)的變換尺寸來編碼所述幾何運動分割線所穿過的所述子塊中的至少一者。在另一實例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一幾何分區(qū)及第二幾何分區(qū),其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (N/2)子塊;以及使用小于(N/2) X (N/2)的變換尺寸來編碼所述幾何運動分割線所穿過的所述子塊中的至少一者。在另一實例中,一種設(shè)備包括用于使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一幾何分區(qū)及第二幾何分區(qū)的裝置,其中所述塊包含NXN個像素;用于將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2)X(N/2)子塊的裝置;以及用于使用小于(N/2) X (N/2)的變換尺寸來編碼所述幾何運動分割線所穿過的所述子塊中的至少一者的
>j-U ρ α裝直。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一幾何分區(qū)及第二幾何分區(qū),其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (Ν/2)子塊;以及使用小于(N/2) X (Ν/2)的變換尺寸來編碼所述幾何運動分割線所穿過的所述子塊中的至少一者。在另一實例中,一種方法包括接收通過幾何運動分割線分割為第一幾何分區(qū)及第二幾何分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊,其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(Ν/2) X (Ν/2)子塊;以及使用小于(Ν/2) X (Ν/2)的變換尺寸來逆變換所述幾何運動分割線所穿過的所述子塊中的至少一者。在另一實例中,一種設(shè)備包括視頻解碼器,所述視頻解碼器經(jīng)配置以接收通過幾何運動分割線分割為第一幾何分區(qū)及第二幾何分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊,其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(Ν/2) X (Ν/2)子塊;以及使用小于(Ν/2)Χ(Ν/2)的變換尺寸來逆變換所述幾何運動分割線所穿過的所述子塊中的至
少一者。在另一實例中,一種設(shè)備包括用于接收通過幾何運動分割線分割為第一幾何分區(qū)及第二幾何分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊的裝置,其中所述塊包含NXN個像素;用于將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (N/2)子塊的裝置;以及用于使用小于(N/2) X (N/2)的變換尺寸來逆變換所述幾何運動分割線所穿過的所述子塊中的至少一者的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器接收通過幾何運動分割線分割為第一幾何分區(qū)及第二幾何分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊,其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (N/2)子塊;以及使用小于(N/2) X (N/2)的變換尺寸來逆變換所述幾何運動分割線所穿過的所述子塊中的至少一者。在另一實例中,一種方法包括使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);確定所述第一分區(qū)的第一運動向量及所述第二分區(qū)的第二運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來編碼所述第一運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來編碼所述第二運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定 的;以及輸出所述經(jīng)編碼的第一及第二運動向量。在另一實例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);確定所述第一分區(qū)的第一運動向量及所述第二分區(qū)的第二運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來編碼所述第一運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來編碼所述第二運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及輸出所述經(jīng)編碼的第一及第二運動向量。在另一實例中,一種設(shè)備包括用于使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū)的裝置;用于確定所述第一分區(qū)的第一運動向量及所述第二分區(qū)的第二運動向量的裝置;用于基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來編碼所述第一運動向量的裝置;用于基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來編碼所述第二運動向量的裝置,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及用于輸出所述經(jīng)編碼的第一及第二運動向量的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器確定相鄰于經(jīng)分割塊的塊集合;確定所述塊集合的包含相鄰于第一分區(qū)的塊的第一子集;以及獨立于確定所述第一子集而確定所述塊集合的包含相鄰于所述第二分區(qū)的塊的第二子集。在另一實例中,一種方法包括接收通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的視頻數(shù)據(jù)塊、所述第一分區(qū)的第一經(jīng)編碼運動向量及所述第二分區(qū)的第二經(jīng)編碼運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來解碼所述第一經(jīng)編碼運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來解碼所述第二經(jīng)編碼運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及使用所述經(jīng)解碼的第一及第二運動向量來解碼所述塊。在另一實例中,一種設(shè)備包括視頻解碼器,所述視頻解碼器經(jīng)配置以接收通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的視頻數(shù)據(jù)塊、所述第一分區(qū)的第一經(jīng)編碼運動向量及所述第二分區(qū)的第二經(jīng)編碼運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來解碼所述第一經(jīng)編碼運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來解碼所述第二經(jīng)編碼運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及使用所述經(jīng)解碼的第一及第二運動向量來解碼所述塊。在另一實例中,一種設(shè)備包括用于接收通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的視頻數(shù)據(jù)塊、所述第一分區(qū)的第一經(jīng)編碼運動向量及所述第二分區(qū)的第二經(jīng)編碼運動向量的裝置;用于基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來解碼所述第一經(jīng)編碼運動向量的裝置;用于基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來解碼所述第二經(jīng)編碼運動向量的裝置,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及用于使用所述經(jīng)解碼的第一及第二運動向量來解碼所述塊的裝置。
在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器接收通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的視頻數(shù)據(jù)塊、所述第一分區(qū)的第一經(jīng)編碼運動向量及所述第二分區(qū)的第二經(jīng)編碼運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來解碼所述第一經(jīng)編碼運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來解碼所述第二經(jīng)編碼運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及使用所述經(jīng)解碼的第一及第二運動向量來解碼所述塊。在另一實例中,一種方法包括使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述y截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值。在另一實例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述y截距值。在另一實例中,一種設(shè)備包括用于使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū)的裝置;用于計算所述幾何運動分割線的斜率值及y截距值的裝置,其中所述斜率值及所述y截距值包含整數(shù)值;用于計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼的裝置;用于基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū)的裝置;以及用于輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述y截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值。在另一實例中,一種方法包括接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊;接收定義所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述y截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。在另一實例中,一種設(shè)備包括視頻解碼器,所述視頻解碼器經(jīng)配置以接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊;接收定義所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述y截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來 解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。在另一實例中,一種設(shè)備包括用于接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊的裝置;用于接收定義所述幾何運動分割線的斜率值及y截距值的裝置,其中所述斜率值及所述y截距值包含整數(shù)值;用于計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼的裝置;用于基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū)的裝置;以及用于輸出所述經(jīng)解碼塊的裝置。在另一實例中,一種計算機程序產(chǎn)品包含計算機可讀媒體,所述計算機可讀媒體在其上存儲有指令,所述指令在被執(zhí)行時致使處理器接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊;接收定義所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。在附圖及以下描述中闡述一個或一個以上實例的細節(jié)。其它特征、目標及優(yōu)點將從所述描述及圖式中以及從權(quán)利要求書中顯而易見。
圖I為說明可利用用于幾何運動分割的技術(shù)的實例視頻編碼及解碼系統(tǒng)的框圖。圖2為說明可實施用于幾何運動分割的技術(shù)的視頻編碼器的實例的框圖。圖3為說明可解碼包括經(jīng)幾何運動分割塊的經(jīng)編碼視頻序列的視頻解碼器的實例的框圖。圖4為說明已使用幾何運動分割線及用以定義幾何運動分割線的參數(shù)分割的塊的概念圖。圖5為說明已使用幾何運動分割線及在幾何運動分割線附近的過渡區(qū)域中的像素分割的塊的概念圖。
圖6為說明3 X 3像素陣列的概念圖。圖7為說明用于在計算用幾何運動分割線分割的塊的殘余值時執(zhí)行平滑的實例方法的流程圖。圖8為說明待使用自適應(yīng)性變換尺寸選擇變換的實例塊的概念圖。圖9為待使用自適應(yīng)性變換尺寸選擇變換的另一實例塊的概念圖。圖10為說明用于確定NXN塊的子塊的變換尺寸的實例方法的流程圖。圖11為說明經(jīng)幾何分割塊及相鄰子塊的框圖。圖12為說明用于編碼視頻數(shù)據(jù)塊的幾何運動分區(qū)的運動向量的實例方法的流程圖。
圖13為說明用于使用定點實施方案來編碼視頻數(shù)據(jù)塊的實例方法的流程圖。
具體實施例方式一般來說,本發(fā)明描述用于支持視頻塊的幾何運動分割的技術(shù)。也就是說,本發(fā)明的技術(shù)提供使用任意分區(qū)邊界來分割矩形塊(被稱為幾何運動分割),而非將所述塊分割為兩個或兩個以上嚴格矩形分區(qū)??墒褂脙蓚€參數(shù)來定義分割線垂直于分割線且發(fā)源于經(jīng)分割塊的中心點處的線段的長度P (rho);以及垂直線相對于穿過經(jīng)分割塊的中心點的水平線的角度Θ (theta)。在一些實例中,可通過定界每一分區(qū)的像素的階式線來實現(xiàn)分割線,使得分割線不穿過所述塊的任何像素。出于實例及解釋的目的,本發(fā)明描述用于宏塊的幾何運動分割的技術(shù)。然而,應(yīng)理解,這些技術(shù)通??蓱?yīng)用于分割任何視頻數(shù)據(jù)塊。術(shù)語“宏塊”指代用于使用二維像素陣列(通常具有16X16個像素的尺寸)來譯碼數(shù)字圖片及視頻數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。宏塊可包括色度數(shù)據(jù)及亮度數(shù)據(jù)。通常,水平地及垂直地將色度數(shù)據(jù)相對于亮度數(shù)據(jù)縮小取樣為二分之一。因此,宏塊可包括四個亮度塊及兩個色度塊。所述四個亮度塊中的每一者可包含8X8個像素,且所述宏塊的每一轉(zhuǎn)角可被所述亮度塊中的恰好一者的轉(zhuǎn)角觸碰。所述兩個色度塊可為8X8像素塊,使得所述色度塊中的每一者的轉(zhuǎn)角觸碰所述宏塊的相應(yīng)轉(zhuǎn)角。因此,色度塊可彼此重疊且與亮度塊重疊。視頻譯碼標準通常提供用于編碼視頻數(shù)據(jù)塊的各種預(yù)測模式。幀內(nèi)預(yù)測涉及相對于片段或幀的其它塊來編碼所述同一片段或幀的一個塊。幀間預(yù)測允許使用運動估計及運動補償技術(shù)而相對于一個或一個以上其它片段或幀來編碼一個片段或幀的塊。本發(fā)明的技術(shù)(其大體上是針對幾何運動分割)可允許任意分區(qū)尺寸及形狀。也就是說,使用上文所描述的P及Θ值所定義的分割線可允許使用非矩形分區(qū)來編碼宏塊。明確地說,本發(fā)明的技術(shù)描述用于產(chǎn)生幾何運動分區(qū)的運動向量且用于基于幾何運動分區(qū)來執(zhí)行運動補償?shù)募夹g(shù)。幾何運動分割線不限于將塊分割為矩形分區(qū)。盡管在一些實例中幾何運動分割線可將NXN塊分割為NXM塊,但幾何運動分割還提供將塊分割為非矩形分區(qū)(例如,三角形分區(qū))的能力。以此方式,幾何運動分割線可與塊的一個水平邊界及所述塊的一個垂直邊界相交。在一些實例中,支持幾何運動分割包括使用修改型運動補償技術(shù)。明確地說,修改型運動補償技術(shù)可提供用于在幾何運動分割線附近的過渡區(qū)域中的像素的平滑濾波器。本發(fā)明的運動補償技術(shù)可包括確定這些重疊像素的殘余值。在一個實例中,本發(fā)明的技術(shù)定義低通濾波器(例如,平滑濾波器)以在此邊界區(qū)域中執(zhí)行運動補償。也就是說,可定義使在幾何分割線處的分區(qū)之間的過渡平滑的各種濾波器。如果像素屬于過渡區(qū)域內(nèi),則可通過應(yīng)用這些濾波器中的一者以確定所述像素的預(yù)測值(其中所述濾波器應(yīng)用來自由分區(qū)的運動向量識別的預(yù)測塊的值)且接著確定預(yù)測值與待編碼像素的值之間的差來執(zhí)行針對所述像素的運動補償。此差可表示像素的殘余值。在另一實例中,為了在經(jīng)幾何分割塊的邊界區(qū)域處執(zhí)行運動補償,可使用加權(quán)平均值。也就是說,為了確定像素的運動補償值,可計算來自兩個分區(qū)的像素的值的加權(quán)平均值。與像素相對地較接近的分區(qū)的值可與另一分區(qū)的值相比被加權(quán)得較重??梢源朔绞接嬎阆袼氐念A(yù)測值,接著使用所述預(yù)測值以計算殘余值,或通過將經(jīng)接收殘余值應(yīng)用于預(yù)測值來重構(gòu)經(jīng)編碼塊。本發(fā)明還包括用于編碼使用幾何運動分區(qū)所分割的塊的殘余部分的技術(shù)。為了編碼具有幾何分區(qū)的塊的殘余部分,可基于分割線的位置來使用自適應(yīng)性變換尺寸。一般來說,對于NXN個像素的每一子塊的塊,如果分區(qū)不越過所述塊,則可使用NXN變換尺寸來 編碼子塊的殘余部分;否則,可將NXN子塊再劃分為N/2XN/2子塊,所述N/2XN/2子塊中的每一者可關(guān)于分割線是否越過所述子塊來被再分析。舉例來說,假設(shè)塊尺寸為16X16。對于在內(nèi)部的每一 8X8子塊,如果在8X8塊內(nèi)部的所有像素均屬于同一分區(qū),則可使用8X8變換,否則,可使用四個4X4變換。作為另一實例,當塊尺寸為32 X 32或64 X 64時,對于每一 32 X 32或16 X 16內(nèi)部子塊,如果在16 X 16塊內(nèi)部的所有像素均屬于同一分區(qū),則可使用16X16變換,否則,可針對每一 16X16子塊重復(fù)所述邏輯。本發(fā)明進一步提供用于編碼使用幾何運動分割線所分割的塊的分區(qū)的運動向量的技術(shù)。這些技術(shù)可包括選擇運動向量的運動預(yù)測因子,且運動預(yù)測因子的候選者可針對同一塊的兩個分區(qū)的運動向量有所不同。運動預(yù)測因子的候選者還可包括比針對常規(guī)編碼標準的運動預(yù)測因子多的潛在運動預(yù)測因子。本發(fā)明的技術(shù)還可應(yīng)用于定點實施方案中。明確地說,可使用表示幾何運動分割線的斜率(m)及y截距(C)的定點(例如,整數(shù))值來定義所述線。編碼器及解碼器可各自經(jīng)配置以使用定點算術(shù)來評估幾何運動分區(qū),使得編碼器及解碼器根據(jù)定點值創(chuàng)建相同掩碼。編碼器及解碼器可經(jīng)配置以如下計算掩碼對于掩碼的每一點(1,7),如果7-111朽〈(3,則掩碼中的(x,y)處的點的值為1,且如果y_m*x>=c,則掩碼中的(x,y)處的點的值為O。以此方式,編碼器及解碼器可經(jīng)配置以計算掩碼(包含由相應(yīng)X值及I值定義的點集合),使得對于掩碼中的每一點,將掩碼中的點的值設(shè)定為指示以下兩者之間的差是否大于線的I截距值的值點的I值;以及線的斜率值與點的X值的乘積。掩碼中的每一點的值可包含I位值。掩碼中的具有值O的點對應(yīng)于區(qū)域0,而掩碼中的具有值I的點對應(yīng)于區(qū)域I。區(qū)域O可為一個分區(qū),且區(qū)域I可為另一分區(qū),如由幾何運動分區(qū)所定義。因此,編碼器及解碼器可經(jīng)配置以基于角度Θ (theta)及中心點值而使用斜率111及7截距c的定點整數(shù)值來計算掩碼,而非使用浮點算術(shù)從所述角度及到幾何運動分區(qū)的中心點的距離P (rho)計算掩碼。本發(fā)明的技術(shù)還可包括用信號通知幾何運動分割是否用于特定塊或塊集合,且如果幾何運動分割用于特定塊或塊集合,則用信號通知是定點運算還是浮點運算待用于所述塊或塊集合。圖I為說明可利用用于幾何運動分割的技術(shù)的實例視頻編碼及解碼系統(tǒng)10的框圖。如圖I所示,系統(tǒng)10包括源裝置12,源裝置12經(jīng)由通信信道16將經(jīng)編碼視頻發(fā)射到目的地裝置14。源裝置12及目的地裝置14可包含廣泛范圍的裝置中的任一者。在一些情況下,源裝置12及目的地裝置14可包含無線通信裝置,例如無線手持機、所謂的蜂窩式或衛(wèi)星無線電電話,或可經(jīng)由通信信道16傳送視頻信息的任何無線裝置,在此情況下,通信信道16為無線的。然而,關(guān)于幾何運動分割的本發(fā)明的技術(shù)未必限于無線應(yīng)用或設(shè)定。舉例來說,這些技術(shù)可應(yīng)用于空中電視廣播、有線電視發(fā)射、衛(wèi)星電視發(fā)射、因特網(wǎng)視頻發(fā)射、經(jīng)編碼到存儲媒體上的經(jīng)編碼數(shù)字視頻或其它情形。因此,通信信道16可包含適于發(fā)射經(jīng)編碼視頻數(shù)據(jù)的無線或有線媒體的任何組合。在圖I的實例中,源裝置12包括視頻源18、視頻編碼器20、調(diào)制器/解調(diào)器(調(diào)制解調(diào)器)22及發(fā)射器24。目的地裝置14包括接收器26、調(diào)制解調(diào)器28、視頻解碼器30及顯示裝置32。根據(jù)本發(fā)明,源裝置12的視頻編碼器20可經(jīng)配置以應(yīng)用用于幾何運動分割的技術(shù)。在其它實例中,源裝置及目的地裝置可包括其它組件或布置。舉例來說,源裝置12可從外部視頻源18(例如,外部相機)接收視頻數(shù)據(jù)。同樣地,目的地裝置14可與外部 顯示裝置介接,而非包括集成式顯示裝置。圖I的所說明系統(tǒng)10僅僅為一個實例??捎扇魏螖?shù)字視頻編碼及/或解碼裝置執(zhí)行用于幾何運動分割的技術(shù)。盡管通常由視頻編碼裝置執(zhí)行本發(fā)明的技術(shù),但還可由視頻編碼器/解碼器(通常被稱為“編解碼器”)執(zhí)行所述技術(shù)。此外,還可由視頻預(yù)處理器執(zhí)行本發(fā)明的技術(shù)的特定方面。源裝置12及目的地裝置14僅僅為此些譯碼裝置的實例,其中源裝置12產(chǎn)生用于發(fā)射到目的地裝置14的經(jīng)譯碼視頻數(shù)據(jù)。在一些實例中,裝置12、14可以大致上對稱方式進行操作,使得裝置12、14中的每一者包括視頻編碼及解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單程或雙程視頻發(fā)射,例如,用于視頻串流、視頻重放、視頻廣播或視頻電話。源裝置12的視頻源18可包括例如攝像機等視頻俘獲裝置、含有經(jīng)先前俘獲視頻的視頻檔案及/或來自視頻內(nèi)容提供者的視頻饋入。作為另外替代方案,視頻源18可產(chǎn)生基于計算機圖形的數(shù)據(jù)作為源視頻,或?qū)崨r視頻、經(jīng)存檔視頻與計算機產(chǎn)生的視頻的組合。在一些情況下,如果視頻源18為攝像機,則源裝置12及目的地裝置14可形成所謂的相機電話或視頻電話。然而,如上文所提及,本發(fā)明中所描述的技術(shù)一般可適用于視頻譯碼,且可應(yīng)用于無線及/或有線應(yīng)用。在每一情況下,可由視頻編碼器20編碼經(jīng)俘獲視頻、經(jīng)預(yù)俘獲視頻或計算機產(chǎn)生的視頻。可接著由調(diào)制解調(diào)器22根據(jù)通信標準來調(diào)制經(jīng)編碼視頻信息,且經(jīng)由發(fā)射器24將經(jīng)編碼視頻信息發(fā)射到目的地裝置14。調(diào)制解調(diào)器22可包括各種混頻器、濾波器、放大器或經(jīng)設(shè)計以用于信號調(diào)制的其它組件。發(fā)射器24可包括經(jīng)設(shè)計以用于發(fā)射數(shù)據(jù)的電路,包括放大器、濾波器及一個或一個以上天線。目的地裝置14的接收器26經(jīng)由信道16接收信息,且調(diào)制解調(diào)器28解調(diào)所述信息。此外,視頻編碼過程可將本文所描述的技術(shù)中的一者或一者以上實施到幾何運動分割。經(jīng)由信道16所傳送的信息可包括由視頻編碼器20定義的語法信息(其還由視頻解碼器30使用),所述語法信息包括描述宏塊及其它經(jīng)譯碼單元(例如,圖片群組(GOP))的特性及/或處理的語法元素。顯示裝置32向用戶顯示經(jīng)解碼視頻數(shù)據(jù),且可包含多種顯示裝置中的任一者,例如陰極射線管(CRT)、液晶顯示器(IXD)、等離子顯示器、有機發(fā)光二極管(OLED)顯示器或另一類型的顯示裝置。在圖I的實例中,通信信道16可包含任何無線或有線通信媒體,例如射頻(RF)頻譜或一個或一個以上物理傳輸線,或無線媒體與有線媒體的任何組合。通信信道16可形成例如局域網(wǎng)、廣域網(wǎng)或全域網(wǎng)(例如,因特網(wǎng))等基于包的網(wǎng)絡(luò)的部分。通信信道16大體上表示用于將視頻數(shù)據(jù)從源裝置12發(fā)射到目的地裝置14的任何合適通信媒體或不同通信媒體的集合,包括有線或無線媒體的任何合適組合。通信信道16可包括路由器、交換器、基站,或可用于促進從源裝置12到目的地裝置14的通信的任何其它設(shè)備。視頻編碼器20及視頻解碼器30可根據(jù)視頻壓縮標準(例如,ITU-T H. 264標準,或者被稱為MPEG-4第10部分“高級視頻譯碼(AVC)”)進行操作。然而,本發(fā)明的技術(shù)不限于任何特定譯碼標準。其它實例包括MPEG-2及ITU-T H. 263。盡管圖I中未圖示,但在 一些方面中,視頻編碼器20及視頻解碼器30可各自與音頻編碼器及解碼器集成,且可包括適當?shù)亩嗦窂?fù)用器-多路分用器(MUX-DEMUX)單元或其它硬件及軟件,以處置共同數(shù)據(jù)流或單獨數(shù)據(jù)流中的音頻及視頻兩者的編碼。在適用時,多路復(fù)用器-多路分用器單元可符合ITU H. 223多路復(fù)用器協(xié)議或例如用戶數(shù)據(jù)報協(xié)議(UDP)等其它協(xié)議。ITU-T H. 264/MPEG-4 (AVC)標準已由 ITU-T 視頻譯碼專家組(VCEG)連同 IS0/IEC動畫專家組(MPEG)制訂為被稱為聯(lián)合視頻小組(JVT)的集體合作伙伴的產(chǎn)品。在一些方面中,本發(fā)明中所描述的技術(shù)可應(yīng)用于通常符合H. 264標準的裝置。H. 264標準由ITU-T研究組描述于ITU-T推薦標準H. 264 “用于通用視聽服務(wù)的高級視頻譯碼”中且日期為2005年3月,其在本文中可被稱為H. 264標準或H. 264規(guī)范或H. 264/AVC標準或規(guī)范。聯(lián)合視頻小組(JVT)繼續(xù)致力于對H. 264/MPEG-4AVC的擴展。視頻編碼器20及視頻解碼器30可各自實施為多種合適編碼器電路中的任一者,例如一個或一個以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。視頻編碼器20及視頻解碼器30中的每一者可包括于一個或一個以上編碼器或解碼器中,所述一個或一個以上編碼器或解碼器中的任一者可在相應(yīng)相機、計算機、移動裝置、訂戶裝置、廣播裝置、機頂盒、服務(wù)器或其類似者中集成為組合式編碼器/解碼器(編解碼器)的部分。視頻序列通常包括一系列視頻幀,還被稱為視頻圖片。圖片群組(GOP)通常包含一系列一個或一個以上視頻幀。GOP可在GOP的標頭、GOP的一個或一個以上幀的標頭中或在別處包括語法數(shù)據(jù),所述語法數(shù)據(jù)描述包括于GOP中的幀的數(shù)目。每一幀可包括描述相應(yīng)幀的編碼模式的幀語法數(shù)據(jù)。視頻編碼器20通常對個別視頻幀內(nèi)的視頻塊進行操作,以便編碼視頻數(shù)據(jù)。視頻塊可對應(yīng)于宏塊、宏塊的分區(qū),或大于宏塊的塊。視頻塊可具有固定或變化尺寸,且視頻塊的尺寸可根據(jù)指定的譯碼標準而有所不同。每一視頻幀可包括一個或一個以上片段。每一片段可包括多個宏塊,所述多個宏塊可被布置為分區(qū),還被稱為子塊。作為實例,ITU-T H. 264標準支持以下各者在各種塊尺寸中的幀內(nèi)預(yù)測,例如針對亮度分量的16乘16、8乘8或4乘4及針對色度分量的8X8 ;以及在各種塊尺寸中的幀間預(yù)測,例如針對亮度分量的16X16、16X8、8X16、8X8、8X4、4X8及4X4及針對色度分量的對應(yīng)經(jīng)按比例縮放尺寸。在本發(fā)明中,“NXN”及“N乘N”可互換地用以依據(jù)垂直及水平尺度來指代塊的像素尺度,例如,16X16個像素或16乘16個像素。一般來說,16X16塊在垂直方向上將具有16個像素(y=16)且在水平方向上將具有16個像素(x=16)。同樣地,NXN塊通常在垂直方向上具有N個像素且在水平方向上具有N個像素,其中N表示非負整數(shù)值。可按列及行來布置塊中的像素。此外,塊未必需要在水平方向上與在垂直方向上具有相同數(shù)目個像素。舉例來說,塊可包含NXM個像素,其中M未必等于N。小于16乘16的塊尺寸可被稱為16乘16宏塊的分區(qū)。視頻塊可包含在像素域中的像素數(shù)據(jù)塊,或在變換域中的變換系數(shù)塊,例如,在將變換(例如,離散余弦變換(DCT)、整數(shù)變換、小波變換,或概念上類似的變換)應(yīng)用于表示經(jīng)譯碼視頻塊與預(yù)測性視頻塊之間的像素差的殘余視頻塊數(shù)據(jù)之后。在一些情況下,視頻塊可包含在變換域中的經(jīng)量化變換系數(shù)塊。較小視頻塊可提供較好分辨率,且可用于視頻幀的包括高細節(jié)等級的位置。一般來說,可將宏塊及各種分區(qū)(有時被稱為子塊)視為視頻塊。另外,可將片段視為多個視頻塊,例如宏塊及/或子塊。每一片段可為視頻幀的可獨立解碼單元。或者,幀自身可為可解碼單元,或幀的其它部分可被定義為可解碼單元。術(shù)語“經(jīng)譯碼單元”或“譯碼單元”可指代視頻幀的任何可獨立解碼單元,例如整個幀、幀的片段、還被稱為序列的圖片群組(GOP), 或根據(jù)適用譯碼技術(shù)所定義的另一可獨立解碼單元。根據(jù)本發(fā)明的技術(shù),視頻編碼器20可經(jīng)配置以在塊(例如,宏塊)的幀間模式編碼期間使用幾何運動分割。也就是說,視頻編碼器20可確定可使用幾何運動分割線(還被稱為幾何分區(qū))來最好地編碼塊。假定原點處于塊的中心。接著,由垂直于定義分區(qū)邊界的線的穿過原點的線定義每一幾何運動分割線。也就是說,視頻編碼器20可使用兩個參數(shù)來定義幾何運動分割線垂直于分割線且發(fā)源于經(jīng)分割塊的中心點處的線段的長度P (rho);以及垂直線相對于穿過經(jīng)分割塊的中心點的水平線的角度Θ (theta)。換句話說,由垂直線與X軸所對向的角度以及分割線與原點相隔的距離定義幾何運動分割線。視頻編碼器20可經(jīng)配置以確定應(yīng)將塊分割為兩個分區(qū)且計算最好地擬合所述兩個分區(qū)之間的劃分的根據(jù)(P,Θ)所定義的分割線。以下方程式(I)定義幾何運動分割線
—IPy = ———x + —-— = mx + c0(I)
Xan(O) sm(0)在各種實例中,視頻編碼器20可經(jīng)配置以使用固定或可變尺寸的塊,例如,16 X 16、32 X 32及/或64X 64塊。一般來說,對于NXN塊,視頻編碼器20可選擇在[O, (N/2)-l](包括在內(nèi))的范圍內(nèi)的P的值。因此,對于16X 16塊,視頻編碼器20可經(jīng)配置以選擇在
(包括在內(nèi))的范圍內(nèi)的P的值。作為另一實例,對于32X32塊,視頻編碼器20可經(jīng)配置以選擇在
(包括在內(nèi))的范圍內(nèi)的P的值。作為又一實例,對于64X64塊,視頻編碼器20可經(jīng)配置以選擇在
(包括在內(nèi))的范圍內(nèi)的P的值。在一些實例中,視頻編碼器20可經(jīng)配置以選擇在
(包括在內(nèi))的范圍內(nèi)的Θ的值。因此,Θ的值的范圍可具有11. 25度的步長。在這些實例中,可存在針對16X16的塊尺寸的256個可能幾何分區(qū)、針對32X32的塊尺寸的512個可能幾何分區(qū)及針對64X64的塊尺寸的1024個可能幾何分區(qū)。然而,塊尺寸以及P與Θ的步長的選擇未必限于上文所提及的值。視頻編碼器20及視頻解碼器30可經(jīng)配置以確定特定像素對應(yīng)于哪一幾何運動分區(qū),且應(yīng)經(jīng)配置成使得所述編碼器及解碼器兩者針對給定像素選擇同一分區(qū)。在一些實例中,當使用幾何運動分區(qū)來分割塊時,視頻編碼器20及視頻解碼器30可使用定點計算。像素是對應(yīng)于區(qū)域O還是對應(yīng)于區(qū)域I的指示可被有效率地存儲為二進制掩碼,其中O指示像素屬于區(qū)域O且I指示像素屬于區(qū)域I。歸因于可能幾何分區(qū)及塊尺寸的數(shù)目,可能禁止將所有掩碼存儲于視頻編碼器20及視頻解碼器30處。因此,本發(fā)明包括用于在運作中計算掩碼且在一些實例中使用定點算術(shù)的技術(shù)。公式(I)中的斜率m及y截距c含有三角函數(shù),且因此,嚴格地基于此公式在運作中計算掩碼將需要浮點實施方案。在一些情況下,難以或甚至不可能使兩個裝置具有匹配的浮點實施方案。因此,可使用定點算術(shù)來計算掩碼。因此,計算過渡區(qū)域中的像素的預(yù)測值可包括計算指示所述塊的在第一分區(qū)中的像素及所述塊的在第二分區(qū)中的像素的掩碼,以及使用定點算術(shù)而基于掩碼來定位第一分區(qū)中的相鄰于過渡區(qū)域中的像素的至少一個相鄰像素及第二分區(qū)中的至少一個相鄰像素。
在使用定點算術(shù)的實例中,可排除θ=0及θ=π的情況,因為幾何運動分區(qū)將為具有無限斜率及無限y截距的垂直線。對于剩余情況,可使用定點值來表示Ι/tan Θ及I/sin Θ??赡芤褜⒘硪粎?shù)P表達為整數(shù)。對于Ι/tan Θ,針對Θ的剩余值的最大絕對值為5. 0273,且Ι/tan Θ的兩個相繼值之間的最大絕對差可為O. 1989。類似地,對于Ι/sin Θ,最大絕對值可為5. 1258,且1/sin Θ的兩個相繼值之間的最大絕對差可為O. 0196。為了將掩碼計算轉(zhuǎn)換為定點運算,視頻編碼器20可將Ι/tan Θ及l(fā)/sin Θ乘以2的合適冪,且將結(jié)果舍位到最近的整數(shù)。在一個實例中,對于定點實施方案,視頻編碼器20可將Ι/tan Θ及l(fā)/sin Θ乘以220或1048576,且將Ι/tan Θ及l(fā)/sin Θ乘以22°或1048576舍位到最近的整數(shù)。由于P的最大值在高達64X64的塊尺寸且步長為I的實例中為32,因此25位的帶正負號的實施方案足以表示I截距值。因為在表達式“mx”中的X可取從-32到31的值,所以mx也可表示為25位的帶正負號的整數(shù)。在一些實例中,對于Θ的32個值中的每一者,視頻編碼器20及視頻解碼器30可使用32位的帶正負號的整數(shù)來存儲Ι/tan Θ及l(fā)/sin Θ的值。歸因于sin及tan函數(shù)的對稱性質(zhì),視頻編碼器20及視頻解碼器30可經(jīng)配置以僅存儲斜率及截距的8個值作為32位的帶正負號的整數(shù)。如早先所指示,當θ=0及θ=π時,無需使用這些經(jīng)存儲值。視頻編碼器20及視頻解碼器30可經(jīng)配置以使用定點運算來導(dǎo)出相同掩碼。此情形可避免在視頻編碼器20與視頻解碼器30之間引起漂移誤差,其原本可由幾何運動分割引起。使區(qū)域O被定義成使得對于區(qū)域O中的任何點(Xci, Ytl),。類似地,使區(qū)域I被定義成使得對于區(qū)域I中的任何點(X1, Y1),。對于任何幾何運動分區(qū)及任何點U,y),視頻編碼器20可以定點方式計算y-m*x,且將結(jié)果與y截距進行比較以確定所述點是屬于區(qū)域O還是屬于區(qū)域I。當θ=0或θ=π時,幾何運動分區(qū)為由χ=ρ定義的垂直線。在所述情況下,在x〈P的情況下來自塊的所有點均可被定義為屬于分區(qū)0,且剩余點(x>=p)可被定義為屬于分區(qū)I。視頻編碼器20及視頻解碼器30可經(jīng)配置以迭代通過塊中的每一點,以計算指示哪些點對應(yīng)于區(qū)域O及哪些點對應(yīng)于區(qū)域I的所述塊的掩碼。在使用定點運算來計算塊的掩碼之后,針對基于幾何的運動分區(qū)的剩余計算可基于所述掩碼。以此方式,視頻編碼器20可對應(yīng)于如下視頻編碼器的實例,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值。使用幾何運動分區(qū)來分割塊可產(chǎn)生所述塊的兩個非矩形分區(qū),所述兩個非矩形分區(qū)各自具有相應(yīng)運動向量。所述分區(qū)可對應(yīng)于正被編碼的塊的預(yù)測值。視頻編碼器20還可編碼幾何運動分區(qū)的運動向量。視頻編碼器20可相對于運動預(yù)測因子來編碼運動向量。視頻編碼器20可將運動預(yù)測因子選擇為已經(jīng)被編碼的相鄰塊(例如,在當前塊上方、左側(cè)及右上方的塊)的運動向量的中值(當編碼所述塊時假定光柵掃描定序)。本發(fā)明的技術(shù)包括從比常規(guī)譯碼標準中所使用的候選運動向量集合廣的候選運動向量集合選擇中值,以及針對塊的每一運動向量使用潛在不同的候選運動向量。也就是說,視頻編碼器20可確定針對單一塊的幾何運動分區(qū)的運動向量使用不同運動預(yù)測因子。另外,視頻編碼器20計算塊的殘余值。一般來說,塊的像素的殘余值對應(yīng)于塊的 像素的實際值與塊的并置像素的預(yù)測值之間的差。在一個實例中,本發(fā)明的技術(shù)包括使橫越幾何運動分割線的過渡平滑。為此,視頻編碼器20可經(jīng)配置有圍繞分割線的特定過渡區(qū)域。作為實例,視頻編碼器20可經(jīng)配置以使用以當前像素為中心的3X3像素窗。作為實例,如果緊接的上部、下部、左側(cè)及右側(cè)像素中的至少兩者屬于不同分區(qū),則視頻編碼器20可經(jīng)配置以確定當前像素處于過渡區(qū)域中。作為另一實例,如果緊接的八個相鄰像素中的至少兩者屬于不同分區(qū),則視頻編碼器20可經(jīng)配置以確定當前像素處于過渡區(qū)域中。在其它實例中,這些方案可擴展到以當前像素為中心的窗的不同尺寸,在確定當前像素是否屬于過渡區(qū)域中時考慮所述窗中的像素。為了使過渡平滑,視頻編碼器20可經(jīng)配置以橫越分割線應(yīng)用低通濾波器。濾波器可對應(yīng)于以待濾波像素為中心的系數(shù)矩陣,例如,3X3矩陣。因此,濾波器可以過渡區(qū)域中的像素為中心。低通濾波器可具有各種系數(shù)。低通濾波器的一個實例可為I2 I23 2I2 1,其中“3”系數(shù)對應(yīng)于當前像素,且其它系數(shù)對應(yīng)于相鄰于當前像素的其它緊接相鄰像素。低通濾波器的另一實例可為OI OI4 IOI O,其中“4”系數(shù)對應(yīng)于當前像素,且其它系數(shù)對應(yīng)于相鄰于當前像素的其它緊接相鄰像素。為了計算過渡區(qū)域中的像素的預(yù)測值,視頻編碼器20可計算濾波器的系數(shù)與同所述系數(shù)并置的像素的值的乘積(當濾波器是以過渡區(qū)域中的像素為中心時),計算所述乘積的總和,且將所述乘積的總和除以所述系數(shù)的總和。以此方式,視頻編碼器20對應(yīng)于如下視頻編碼器的實例,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);使用濾波器來計算所述塊的在過渡區(qū)域中的像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述過渡區(qū)域中的所述像素的所述預(yù)測值來計算所述塊的在所述過渡區(qū)域中的所述像素的殘余值;以及輸出所述像素的所述殘余值。在一些實例中,對于過渡區(qū)域中的平滑,視頻編碼器20基于以當前像素為中心的各種條件來選擇性地執(zhí)行濾波。所述條件可包括沿著垂直于分割線的方向的像素值的差(或特定形式的梯度)、塊的兩個分區(qū)之間的運動向量差、分割線方向、參考幀索引、量化參數(shù)及兩個分區(qū)的像素的數(shù)目。還可分析其它條件以確定是否及如何對過渡區(qū)域中的像素進行濾波。用于改進視覺質(zhì)量的另一方法包括使在過渡區(qū)域內(nèi)部的像素的兩個預(yù)測重疊。視頻編碼器20可使用塊的分區(qū)的每一運動向量來產(chǎn)生屬于過渡區(qū)域的像素的兩個預(yù)測。視頻編碼器20可接著使用加權(quán)和來組合所述兩個預(yù)測。舉例來說,如果像素屬于分區(qū)I且還處于過渡區(qū)域中,則視頻編碼器20可使用2/3的權(quán)重來加權(quán)來自第一分區(qū)值的預(yù)測值,且使用1/3的權(quán)重來加權(quán)來自另一分區(qū)的預(yù)測值。在其它實例中,可應(yīng)用例如(3/4,1/4)或 (1/2,1/2)等其它權(quán)重值。在一些實例中,可自適應(yīng)性地確定權(quán)重值。在一些實例中,基于以當前像素為中心的各種條件來確定用于加權(quán)和運算的加權(quán)系數(shù)。所述條件可包括沿著垂直于分割線的方向的像素值的差(或特定形式的梯度)、塊的兩個分區(qū)之間的運動向量差、分割線方向、參考幀索引、量化參數(shù)及兩個分區(qū)的像素的數(shù)目。還可分析其它條件以確定是否及如何對過渡區(qū)域中的像素進行濾波。視頻編碼器20可將變換(例如,離散余弦變換、4X4整數(shù)變換、8X8變換、16X16變換或其它變換)應(yīng)用于殘余值。在一個實例中,視頻編碼器20可基于幾何運動分割線是否穿過塊的分區(qū)而自適應(yīng)性地選擇所述分區(qū)的殘余部分的變換尺寸。在此例子中,術(shù)語“分區(qū)”指代NXN塊的(N/2)X(N/2)或更小分區(qū),這與幾何運動分區(qū)相對。作為實例,假設(shè)使用幾何運動分割線來分割NXNi夾。視頻編碼器20可將NXN塊劃分為四個非重疊(N/2) X (N/2)塊。接著,對于每一(N/2) X (N/2)塊,視頻編碼器20可確定幾何運動分區(qū)是否穿過(N/2) X (N/2)。如果幾何運動分割線不穿過(N/2) X (N/2)塊,則視頻編碼器20可針對所述塊使用(N/2)X(N/2)的變換尺寸。另一方面,如果幾何運動分割線穿過(N/2) X (N/2),則視頻編碼器20可遞歸地執(zhí)行方法將(N/2) X (N/2)劃分為四個非重疊(N/4) X (N/4)塊,以及確定幾何運動分割線是否穿過(N/4) X (N/4)塊中的任一者。視頻編碼器20可經(jīng)配置有最小變換尺寸(例如,4X4),此時,視頻編碼器20可針對子塊選擇最小變換尺寸,而不管幾何運動分割線是否穿過所述子塊。以此方式,視頻編碼器20可對應(yīng)于如下視頻編碼器的實例,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一幾何分區(qū)及第二幾何分區(qū),其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (N/2)子塊;以及使用小于(N/2)X(N/2)的變換尺寸來編碼所述幾何運動分割線所穿過的所述子塊中的至少一者。在用以產(chǎn)生預(yù)測性數(shù)據(jù)及殘余數(shù)據(jù)的幀內(nèi)預(yù)測性或幀間預(yù)測性譯碼之后,且在用以產(chǎn)生變換系數(shù)的任何變換(例如,在H. 264/AVC中所使用的4X4或8X8整數(shù)變換,或離散余弦變換DCT)之后,可執(zhí)行變換系數(shù)的量化。量化大體上指代其中量化變換系數(shù)以可能地減少用以表示所述系數(shù)的數(shù)據(jù)的量的過程。所述量化過程可減小與所述系數(shù)中的一些或全部相關(guān)聯(lián)的位深度。舉例來說,可在量化期間將η位值下舍入到m位值,其中η大于m。在量化之后,可(例如)根據(jù)內(nèi)容自適應(yīng)性可變長度譯碼(CAVLC)、上下文自適應(yīng)性二進制算術(shù)譯碼(CABAC)或另一熵譯碼方法來執(zhí)行經(jīng)量化數(shù)據(jù)的熵譯碼。經(jīng)配置以用于熵譯碼的處理單元或另一處理單元可執(zhí)行其它處理功能,例如經(jīng)量化系數(shù)的零游程長度譯碼及/或語法信息(例如,經(jīng)譯碼塊型樣(CBP)值、宏塊類型、譯碼模式、經(jīng)譯碼單元(例如,幀、片段、宏塊或序列)的最大宏塊尺寸,或其類似者)的產(chǎn)生。視頻編碼器20可(例如)在幀標頭、塊標頭、片段標頭或GOP標頭中進一步將語法數(shù)據(jù)(例如,基于塊的語法數(shù)據(jù)、基于幀的語法數(shù)據(jù)及基于GOP的語法數(shù)據(jù))發(fā)送到視頻解碼器30。舉例來說,在視頻編碼器20提供定義幾何運動分區(qū)的角度及長度值的整數(shù)的情況下,為了允許定點算術(shù),視頻編碼器20可用信號通知整數(shù)的使用。視頻編碼器20可在序列參數(shù)集合或圖片參數(shù)集合中用信號通知此使用?;蛘?,視頻編碼器20可使用重定義的分布曲線及/或水平集合,且因此可選擇指示整數(shù)值的使用的分布曲線指示符(profile_ idc)或水平指示符(levelidc)值以允許關(guān)于幾何運動分區(qū)的定點算術(shù)。視頻編碼器20還可用信號通知是否針對圖片序列及/或個別圖片啟用幾何運動分區(qū)。此外,視頻編碼器20可用信號通知是否已針對塊啟用平滑,且如果已針對塊啟用平滑,則用信號通知如何實現(xiàn)平滑(例如,平滑濾波器的指示)。舉例來說,視頻編碼器20可用信號通知平滑濾波器的系數(shù)。視頻編碼器20還可用信號通知是否啟用自適應(yīng)性變換尺寸選擇。視頻編碼器20還可用信號通知是否針對圖片準許擴展型候選運動向量集合,以相對于運動預(yù)測因子來編碼運動向量。視頻解碼器30可經(jīng)配置以在解碼經(jīng)接收視頻數(shù)據(jù)時使用本發(fā)明的技術(shù)。視頻解碼器30所應(yīng)用的技術(shù)可基本上與視頻編碼器20所應(yīng)用的技術(shù)對稱。舉例來說,視頻解碼器30可接收定義經(jīng)編碼塊的幾何運動分區(qū)的斜率及截距的定點值,以便實現(xiàn)這些技術(shù)的定點實施方案。因此,視頻解碼器30可基于幾何運動分區(qū)的斜率及截距而在運作中計算所述塊的掩碼,其迭代通過所述塊的每一像素位置以確定所述像素是屬于區(qū)域O中還是屬于區(qū)域I中。以此方式,視頻解碼器30可對應(yīng)于如下視頻解碼器的實例,所述視頻解碼器經(jīng)配置以接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊;接收定義所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。作為另一實例,視頻解碼器30可實施平滑技術(shù)以使在塊的幾何運動分割線處的所述塊的過渡區(qū)域平滑。視頻解碼器30可接收塊的每一幾何運動分區(qū)的運動向量,以確定塊的像素的預(yù)測值。視頻解碼器30可將平滑濾波器應(yīng)用于幾何運動分區(qū)過渡區(qū)域中的像素,如上文所描述。因此,視頻解碼器30可對應(yīng)于如下視頻解碼器的實例,所述視頻解碼器經(jīng)配置以接收經(jīng)編碼視頻數(shù)據(jù)塊、將所述經(jīng)編碼塊分割為第一分區(qū)及第二分區(qū)的幾何運動分割線的定義及所述塊的在過渡區(qū)域中的像素的殘余值;使用濾波器來計算所述塊的在所述過渡區(qū)域中的所述像素的預(yù)測值,所述濾波器應(yīng)用來自所述第一分區(qū)的至少一個相鄰像素的值及來自所述第二分區(qū)的至少一個相鄰像素的值;基于所述預(yù)測值及所述殘余值來計算所述塊的在所述過渡區(qū)域中的所述像素的經(jīng)重構(gòu)值;以及輸出所述像素的所述經(jīng)重構(gòu)值。作為又一實例,視頻解碼器30可基于自適應(yīng)性變換尺寸選擇而接收各種尺寸的殘余值的關(guān)鍵詞。這些關(guān)鍵詞(其可對應(yīng)于可變長度碼)可基于塊的變換尺寸而對應(yīng)于不同字典。因此,視頻解碼器30可基于幾何運動分割線是否穿過特定塊而確定所述塊的變換尺寸。以此方式,視頻解碼器30可對應(yīng)于如下視頻解碼器的實例,所述視頻解碼器經(jīng)配置以接收通過幾何運動分割線分割為第一幾何分區(qū)及第二幾何分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊,其中所述塊包含NXN個像素;將所述視頻數(shù)據(jù)塊劃分為四個相等尺寸的非重疊(N/2) X (N/2)子塊;以及使用小于(N/2) X (N/2)的變換尺寸來逆變換所述幾何運動分割線所穿過的所述子塊中的至少一者。作為再一實例,視頻解碼器30可相對于運動預(yù)測因子來解碼幾何運動分區(qū)的運動向量。根據(jù)本發(fā)明的技術(shù),視頻解碼器30可從較大候選運動向量集合確定運動預(yù)測因 子,且可個別地確定每一幾何分區(qū)的運動預(yù)測因子。以此方式,視頻解碼器30可對應(yīng)于如下視頻解碼器的實例,所述視頻解碼器經(jīng)配置以接收通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的視頻數(shù)據(jù)塊、所述第一分區(qū)的第一經(jīng)編碼運動向量及所述第二分區(qū)的第二經(jīng)編碼運動向量;基于選自相鄰于所述第一分區(qū)的塊的運動向量的第一運動預(yù)測因子來解碼所述第一經(jīng)編碼運動向量;基于選自相鄰于所述第二分區(qū)的塊的運動向量的第二運動預(yù)測因子來解碼所述第二經(jīng)編碼運動向量,其中相鄰于所述第二分區(qū)的所述塊是獨立于相鄰于所述第一分區(qū)的所述塊來確定的;以及使用所述經(jīng)解碼的第一及第二運動向量來解碼所述塊。在適用時,視頻編碼器20及視頻解碼器30可各自實施為多種合適編碼器或解碼器電路中的任一者,例如一個或一個以上微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件或其任何組合。視頻編碼器20及視頻解碼器30中的每一者可包括于一個或一個以上編碼器或解碼器中,所述一個或一個以上編碼器或解碼器中的任一者可集成為組合式視頻編碼器/解碼器(編解碼器)的部分。包括視頻編碼器20及/或視頻解碼器30的設(shè)備可包含集成電路、微處理器及/或無線通信裝置(例如,蜂窩式電話)。視頻編碼器20及視頻解碼器30可經(jīng)配置以執(zhí)行本發(fā)明的技術(shù)的任何組合。也就是說,視頻編碼器20及視頻解碼器30可經(jīng)配置以按任何組合執(zhí)行以下各者中的任何一者或一者以上用于幾何運動分割的定點實施方案、由幾何運動分區(qū)邊界定義的過渡區(qū)域的平滑、編碼每一幾何運動分區(qū)的運動向量及/或基于幾何運動分割線是否穿過子塊的針對子塊的自適應(yīng)性變換尺寸選擇。在一些實例中,盡管視頻編碼器20及視頻解碼器30可實施本發(fā)明中所描述的特定技術(shù),但可停用所述技術(shù),或視頻編碼器20及視頻解碼器30中的一者可能不支持同一技術(shù)集合。因此,視頻編碼器20可用信號通知哪些技術(shù)用于特定視頻流,且視頻解碼器30可基于視頻解碼器30是否支持用以編碼所述視頻流的技術(shù)而選擇是否檢索或使用所述視頻流。舉例來說,視頻編碼器20可使用分布曲線指示符(profile_idc值)、水平指示符(level_idc值)、標頭數(shù)據(jù)或其它描述性數(shù)據(jù)來用信號通知哪些技術(shù)用于序列參數(shù)集合、圖片參數(shù)集合中。圖2為說明可實施用于幾何運動分割的技術(shù)的視頻編碼器20的實例的框圖。視頻編碼器20可執(zhí)行視頻幀內(nèi)的塊(包括宏塊,或宏塊的分區(qū)或子分區(qū))的幀內(nèi)及幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測以減少或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時間預(yù)測以減少或移除視頻序列的鄰近幀內(nèi)的視頻中的時間冗余。幀內(nèi)模式(I模式)可指代若干基于空間的壓縮模式中的任一者,且例如單向預(yù)測(P模式)或雙向預(yù)測(B模式)等幀間模式可指代若干基于時間的壓縮模式中的任一者。盡管圖2中描繪用于幀間模式編碼的組件,但應(yīng)理解,視頻編碼器20可進一步包括用于幀內(nèi)模式編碼的組件。然而,為了簡潔及清楚起見,未說明此些組件。如圖2所示,視頻編碼器20接收待編碼視頻幀內(nèi)的當前視頻塊。在圖2的實例中,視頻編碼器20包括模式選擇單元40、運動估計單元42、運動補償單元44、幀內(nèi)預(yù)測單元46、參考幀存儲裝置64、求和器50、變換單元52、量化單元54及熵譯碼單元56。對于視頻塊重構(gòu),視頻編碼器20還包括逆量化單元58、逆變換單元60及求和器62。還可包括去塊濾波器(圖2中未圖示)以對塊邊界進行濾波,以便從經(jīng)重構(gòu)視頻移除成塊效應(yīng)假影。在 需要時,去塊濾波器將通常對求和器62的輸出進行濾波。在編碼過程期間,視頻編碼器20接收待譯碼的視頻幀或片段??蓪⑺鰩蚱蝿澐譃槎鄠€視頻塊。運動估計單元42及運動補償單元44相對于一個或一個以上參考幀中的一個或一個以上塊來執(zhí)行經(jīng)接收視頻塊的幀間預(yù)測性譯碼,以提供時間壓縮。幀內(nèi)預(yù)測單元還可相對于與待譯碼塊相同的幀或片段中的一個或一個以上相鄰塊來執(zhí)行經(jīng)接收視頻塊的幀內(nèi)預(yù)測性譯碼,以提供空間壓縮。模式選擇單元40可(例如)基于誤差結(jié)果而選擇譯碼模式(幀內(nèi)或幀間)中的一者,且將所得經(jīng)幀內(nèi)譯碼塊或經(jīng)幀間譯碼塊提供到求和器50以產(chǎn)生殘余塊數(shù)據(jù)及提供到求和器62以重構(gòu)經(jīng)編碼塊以用作參考幀。運動估計單元42及運動補償單元44可為高度集成的,但出于概念性目的而單獨地說明。運動估計為產(chǎn)生運動向量的過程,所述運動向量估計視頻塊的運動。舉例來說,運動向量可指示預(yù)測性參考幀(或其它經(jīng)譯碼單元)內(nèi)的預(yù)測性塊相對于當前幀(或其它經(jīng)譯碼單元)內(nèi)正被譯碼的當前塊的位移。預(yù)測性塊為依據(jù)像素差被發(fā)現(xiàn)緊密地匹配于待譯碼塊的塊,所述像素差可通過絕對差和(SAD)、平方差和(SSD)或其它差量度來確定。運動向量還可指示宏塊的分區(qū)的位移。運動補償可涉及基于通過運動估計確定的運動向量來提取或產(chǎn)生預(yù)測性塊。此外,在一些實例中,運動估計單元42及運動補償單元44可為功能上集成的。在一些實例中,運動估計單元42可確定應(yīng)使用幾何運動分割線來分割塊。運動估計單元42可計算幾何運動分割線的參數(shù),例如,從經(jīng)分割塊的原點到幾何運動分割線的中點的線的角度Θ及距離P。在一些實例中,運動估計單元42可確定作為幾何運動分割線的斜率111及y截距c的參數(shù),以便允許這些技術(shù)的定點實施方案。另外,視頻編碼器20及視頻解碼器30(圖I及3)可存儲針對Θ的不同值的Ι/tan( Θ )及l(fā)/sin( Θ )的查找表的相同復(fù)本。對于幾何模式,視頻編碼器20可在輸出位流中用信號通知Θ及P的值。視頻解碼器30可經(jīng)配置以使用經(jīng)用信號通知的值來執(zhí)行定點計算,以便計算與由視頻編碼器20計算的掩碼相同的掩碼。
運動估計單元42通過將經(jīng)幀間譯碼幀的視頻塊與參考幀存儲裝置64中的參考幀的視頻塊(或分區(qū))進行比較來計算經(jīng)幀間譯碼幀的視頻塊或其幾何運動分區(qū)的運動向量。運動補償單元44還可內(nèi)插參考幀(例如,I幀或P幀)的次整數(shù)像素。ITU H. 264標準將參考幀稱為“列表”。因此,存儲于參考幀存儲裝置64中的數(shù)據(jù)可存儲于列表中。運動估計單元42將來自參考幀存儲裝置64的一個或一個以上參考幀的塊與當前幀(例如,P幀或B幀)的待編碼塊進行比較。當參考幀存儲裝置64中的參考幀包括次整數(shù)像素的值時,由運動估計單元42計算的運動向量可指代參考幀的次整數(shù)像素位置。在一些實例中,運動估計單元42可計算運動向量與運動預(yù)測因子之間的差,以便編碼運動向量。運動估計單元42可將運動預(yù)測因子選擇為在正被編碼的當前塊上方、左偵U、上方及左側(cè)以及上方及右側(cè)的塊的運動向量的中值。運動估計單元42還可確定是否已分割在當前塊的上方及左側(cè)的塊,且如果已分割在當前塊的上方及左側(cè)的塊,則確定這些分區(qū)是否具有相異運動向量。如果這些分區(qū)具有相異運動向量,則運動估計單元42可從所有這些候選運動向量的中值選擇運動預(yù)測因子。在確定運動預(yù)測因子之后,運動估計單元42可計算運動向量與運動預(yù)測因子之間的差。運動估計單元42將所計算的差發(fā)送到熵譯碼單元56,且將所計算的運動向量發(fā)送到運動補償單元44。 運動補償單元44可基于預(yù)測性塊而計算預(yù)測數(shù)據(jù)。視頻編碼器20通過從正被譯碼的原始視頻塊減去來自運動補償單元44的預(yù)測數(shù)據(jù)來形成殘余視頻塊。求和器50表示執(zhí)行此減法運算的組件。在一些實例中,根據(jù)本發(fā)明的技術(shù),運動補償單元44可在由塊的幾何運動分割線定義的過渡區(qū)域處對所述塊中的像素進行濾波。舉例來說,運動補償單元44可使用3X3像素濾波器來計算過渡區(qū)域中的像素的預(yù)測值,所述濾波器考慮來自區(qū)域O及區(qū)域I兩者的值,其中區(qū)域O及區(qū)域I對應(yīng)于幾何運動分區(qū)。作為另一實例,運動補償單元44可通過計算區(qū)域O中的像素的值與區(qū)域I中的像素的值的加權(quán)和來計算過渡區(qū)域中的像素的預(yù)測值。在計算過渡區(qū)域中的像素的預(yù)測值之后,求和器50可將像素的殘余值計算為像素的預(yù)測值與實際值之間的差。以此方式,由求和器50計算的殘余值可基于由運動補償單元44計算的平滑預(yù)測值。變換單元52將變換(例如,離散余弦變換(DCT)或概念上類似的變換)應(yīng)用于殘余塊,從而產(chǎn)生包含殘余變換系數(shù)值的視頻塊。變換單元52可執(zhí)行其它變換,例如H. 264標準所定義的變換,所述變換在概念上類似于DCT。還可使用小波變換、整數(shù)變換、次頻帶變換或其它類型的變換。在任何情況下,變換單元52將變換應(yīng)用于殘余塊,從而產(chǎn)生殘余變換系數(shù)塊。所述變換可將殘余信息從像素值域轉(zhuǎn)換到變換域,例如頻域。在一些實例中,變換單元52可從運動補償單元44接收各種尺寸的塊。運動補償單元44可經(jīng)配置以基于塊是否觸碰幾何運動分割線來選擇塊尺寸。舉例來說,假設(shè)原始塊為16X16塊。運動補償單元44可將原始塊劃分為四個8X8塊。接著,運動補償單元44可將觸碰幾何運動分割線的四個8X8塊中的任一者劃分為4X4塊。變換單元52可經(jīng)配置有針對每一潛在塊尺寸的變換。以此方式,當計算經(jīng)幾何運動分割塊的殘余值時,視頻編碼器20可執(zhí)行針對所述塊的自適應(yīng)性變換尺寸選擇。盡管描述16X 16塊的實例,但類似技術(shù)可應(yīng)用于其它尺寸的塊(例如,32X32、64X64,等等)。此外,運動補償單元44可經(jīng)配置有最小塊尺寸(例如,4X4)。
量化單元54量化殘余變換系數(shù)以進一步減小位速率。量化過程可減小與所述系數(shù)中的一些或全部相關(guān)聯(lián)的位深度??赏ㄟ^調(diào)整量化參數(shù)來修改量化程度。在量化之后,熵譯碼單元56對經(jīng)量化變換系數(shù)進行熵譯碼。舉例來說,熵譯碼單元56可執(zhí)行內(nèi)容自適應(yīng)性可變長度譯碼(CAVLC)、上下文自適應(yīng)性二進制算術(shù)譯碼(CABAC)或另一熵譯碼技術(shù)。在由熵譯碼單元56進行熵譯碼之后,可將經(jīng)編碼視頻發(fā)射到另一裝置或?qū)⒔?jīng)編碼視頻存檔以供稍后發(fā)射或檢索。在上下文自適應(yīng)性二進制算術(shù)譯碼的情況下,上下文可基于相鄰宏塊。在一些情況下,除了執(zhí)行熵譯碼以外,熵譯碼單元56或視頻編碼器20的另一單元可經(jīng)配置以還執(zhí)行其它譯碼功能。舉例來說,熵譯碼單元56可經(jīng)配置以確定宏塊及分區(qū)的CBP值。而且,在一些情況下,熵譯碼單元56可執(zhí)行宏塊或其分區(qū)中的系數(shù)的游程長度譯碼。明確地說,熵譯碼單元56可應(yīng)用曲折掃描或其它掃描型樣來掃描宏塊或分區(qū)中的變換系數(shù),且編碼零游程以供進一步壓縮。熵譯碼單元56還可用適當語法元素來構(gòu)造標頭信息,以用于在經(jīng)編碼視頻位流中發(fā)射。
逆量化單元58及逆變換單元60分別應(yīng)用逆量化及逆變換,以在像素域中重構(gòu)殘余塊,例如,以供稍后用作參考塊。運動補償單元44可通過將殘余塊加到參考幀存儲裝置64的幀中的一者的預(yù)測性塊來計算參考塊。運動補償單元44還可將一個或一個以上內(nèi)插濾波器應(yīng)用于經(jīng)重構(gòu)殘余塊,以計算次整數(shù)像素值以用于運動估計中。求和器62將經(jīng)重構(gòu)殘余塊加到由運動補償單元44產(chǎn)生的經(jīng)運動補償預(yù)測塊,以產(chǎn)生經(jīng)重構(gòu)視頻塊以用于存儲于參考幀存儲裝置64中。運動估計單元42及運動補償單元44可將經(jīng)重構(gòu)視頻塊用作參考塊,以幀間譯碼后續(xù)視頻幀中的塊。圖3為說明解碼經(jīng)編碼視頻序列的視頻解碼器30的實例的框圖。在圖3的實例中,視頻解碼器30包括熵解碼單元70、運動補償單元72、幀內(nèi)預(yù)測單元74、逆量化單元76、逆變換單元78、參考幀存儲裝置82及求和器80。在一些實例中,視頻解碼器30可執(zhí)行與關(guān)于視頻編碼器20(圖2)所描述的編碼遍次大體上互逆的解碼遍次。幀內(nèi)預(yù)測單元74可使用在位流中所接收的幀內(nèi)預(yù)測模式從空間鄰近塊中形成預(yù)測塊。運動補償單元72可基于從熵解碼單元70所接收的運動向量而產(chǎn)生預(yù)測數(shù)據(jù)。當使用幾何運動分割線來分割經(jīng)編碼塊時,運動補償單元72可接收所述塊的幾何運動分割線的定義,以便確定所述塊的哪些像素對應(yīng)于哪一分區(qū)。在一些實例中,所述線的定義可根據(jù)從塊的原點到幾何運動分割線的中心的線的角度Θ及長度P。在一些實例中,所述線的定義可根據(jù)幾何運動分割線的斜率m及y截距C,使得運動補償單元72可使用定點算術(shù)來計算指示塊的像素對應(yīng)于哪一幾何分區(qū)的掩碼。運動補償單元72可使用在位流中所接收的運動向量來識別參考幀存儲裝置82中的參考幀中的預(yù)測塊。在一些實例中,可相對于選自經(jīng)先前編碼塊或其分區(qū)的運動預(yù)測因子來編碼運動向量。因此,運動補償單元72可通過確定塊或分區(qū)的運動預(yù)測因子,接著將所接收的差值加到運動預(yù)測因子來解碼運動向量。運動補償單元72還可經(jīng)配置以使用平滑濾波器來計算幾何運動分區(qū)之間的過渡區(qū)域中的像素的預(yù)測值。舉例來說,運動補償單元72可將3X3像素濾波器應(yīng)用于這些像素,以便確定預(yù)測值。作為另一實例,運動補償單元72可使用來自第一分區(qū)的值與來自第二分區(qū)的值的加權(quán)和來計算過渡區(qū)域中的像素的預(yù)測值。
逆量化單元76逆量化(即,去量化)在位流中所提供且由熵解碼單元70解碼的經(jīng)量化塊系數(shù)。逆量化過程可包括常規(guī)過程,例如,如H. 264解碼標準所定義。逆量化過程還可包括使用由編碼器50針對每一宏塊計算以確定量化程度且同樣地確定應(yīng)被應(yīng)用的逆量化程度的量化參數(shù)QPY。逆變換單元58將逆變換(例如,逆DCT、逆整數(shù)變換或概念上類似的逆變換過程)應(yīng)用于變換系數(shù),以便在像素域中產(chǎn)生殘余塊。運動補償單元72產(chǎn)生經(jīng)運動補償塊,從而可能地基于內(nèi)插濾波器來執(zhí)行內(nèi)插。待以次像素精度用于運動估計的內(nèi)插濾波器的識別符可包括于語法元素中。運動補償單元72可在視頻塊的編碼期間使用如由視頻編碼器20使用的內(nèi)插濾波器,以計算參考塊的次整數(shù)像素的內(nèi)插值。運動補償單元72可根據(jù)經(jīng)接收語法信息來確定由視頻編碼器20使用的內(nèi)插濾波器,且使用所述內(nèi)插濾波器來產(chǎn)生預(yù)測性塊。在一些實例中,逆變換單元78可從運動補償單元72接收經(jīng)編碼塊的變換尺寸的指示。運動補償單元72可確定塊是否觸碰幾何運動分區(qū),且如果塊觸碰幾何運動分區(qū),則將變換尺寸減小一半,降到最小變換尺寸(例如,4X4個像素)。在一些實例中,經(jīng)變換塊 可包括描述待應(yīng)用變換的尺寸的語法信息。運動補償單元72可使用用以確定用以編碼經(jīng)編碼視頻序列的幀的宏塊的尺寸的語法信息、描述如何分割經(jīng)編碼視頻序列的幀的每一宏塊的分割信息、指示如何編碼每一分區(qū)的模式、每一經(jīng)幀間編碼宏塊或分區(qū)的一個或一個以上參考幀及用以解碼經(jīng)編碼視頻序列的其它信息。求和器80對殘余塊與由運動補償單元72或幀內(nèi)預(yù)測單元產(chǎn)生的對應(yīng)預(yù)測塊進行求和,以形成經(jīng)解碼塊。在需要時,還可應(yīng)用去塊濾波器來對經(jīng)解碼塊進行濾波,以便移除成塊效應(yīng)假影。接著將經(jīng)解碼視頻塊存儲于參考幀存儲裝置82中,參考幀存儲裝置82提供參考塊以用于后續(xù)運動補償,且還產(chǎn)生經(jīng)解碼視頻以用于呈現(xiàn)于顯示裝置(例如,圖I的顯示裝置32)上。圖4為說明已使用幾何運動分割線116分割的塊110的概念圖。幾何運動分割線116將塊110分割為兩個分區(qū)區(qū)域112及區(qū)域114。在一些實例中,可根據(jù)垂直線120的特性來定義幾何運動分割線116。明確地說,將X軸113與y軸111的相交點定義為塊110的原點。垂直線120垂直于幾何運動分割線116,且在點124處與幾何運動分割線116相交。角度118對應(yīng)于垂直線120相對于x軸113的角度。距離122對應(yīng)于在塊110的原點與幾何運動分割線116的點124之間的距離,所述距離也為幾何運動分割線116與塊110的原點相隔的垂直距離。角度118還可被稱為Θ (theta),而距離122還可被稱為P (rho), Θ及p如上文所定義。以此方式,可使用角度118與距離122的組合來針對塊110定義幾何運動分割線116?;蛘?,可根據(jù)斜率126及y截距128來定義幾何運動分割線116。傾斜角126對應(yīng)于幾何運動分割線116的斜率。y截距128對應(yīng)于幾何運動分割線116與y軸111相交的點。還可使用m來表達斜率126,而可使用c來表達y截距128,如上文所定義。斜率126及y截距128可表達為整數(shù)值,以準許使用定點算術(shù)來計算塊110的掩碼,所述掩碼指示像素是處于區(qū)域112中還是處于區(qū)域114中。斜率126及y截距128通過上文的方程式(I)而在數(shù)學(xué)上與角度118及距離120相關(guān),為了方便起見,下文再現(xiàn)方程式(I)
權(quán)利要求
1.一種編碼視頻數(shù)據(jù)的方法,所述方法包含 使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū); 計算所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值; 計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼; 基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及 輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述y截距值。
2.根據(jù)權(quán)利要求I所述的方法,其中計算所述掩碼包含僅使用定點算術(shù)來計算所述掩 碼。
3.根據(jù)權(quán)利要求I所述的方法,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中計算所述掩碼包含針對所述掩碼中的每一點,將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值。
4.根據(jù)權(quán)利要求I所述的方法,其中基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū)包含 使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū); 從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及 從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
5.根據(jù)權(quán)利要求4所述的方法,其進一步包含 確定所述塊的在過渡區(qū)域中的像素集合;以及 基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
6.根據(jù)權(quán)利要求I所述的方法,其中計算所述幾何運動分割線的所述斜率值及所述I截距值包含 基于角度值及長度值來計算初始斜率值及初始y截距值,所述角度值包含垂直于所述幾何運動分割線且穿過原點的線相對于X軸的角度,且所述長度值包含從所述原點到所述垂直線與所述幾何運動分割線交會的點的距離; 計算所述初始斜率值及所述初始y截距值與包含2的冪的一個或一個以上值的乘積;以及 將所述乘積舍位到最近的整數(shù)值以形成所述斜率值及所述y截距值。
7.一種用于編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述視頻編碼器經(jīng)配置以僅使用定點算術(shù)來計算所述掩碼。
9.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中為了計算所述掩碼,所述視頻編碼器經(jīng)配置以針對所述掩碼中的每一點,將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值。
10.根據(jù)權(quán)利要求7所述的設(shè)備,其中為了基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū),所述視頻編碼器經(jīng)配置以使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū);從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中所述視頻編碼器經(jīng)配置以確定所述塊的在過渡區(qū)域中的像素集合;以及基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
12.根據(jù)權(quán)利要求7所述的設(shè)備,其中為了計算所述幾何運動分割線的所述斜率值及所述I截距值,所述視頻編碼器經(jīng)配置以基于角度值及長度值來計算初始斜率值及初始y截距值,所述角度值包含垂直于所述幾何運動分割線且穿過原點的線相對于X軸的角度,且所述長度值包含從所述原點到所述垂直線與所述幾何運動分割線交會的點的距離;計算所述初始斜率值及所述初始I截距值與包含2的冪的一個或一個以上值的乘積;以及將所述乘積舍位到最近的整數(shù)值以形成所述斜率值及所述y截距值。
13.一種用于編碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含 用于使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū)的裝置; 用于計算所述幾何運動分割線的斜率值及I截距值的裝置,其中所述斜率值及所述I截距值包含整數(shù)值; 用于計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼的裝置; 用于基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū)的裝置;以及 用于輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述I截距值的裝置。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述用于計算所述掩碼的裝置包含用于僅使用定點算術(shù)來計算所述掩碼的裝置。
15.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中所述用于計算所述掩碼的裝置包含用于針對所述掩碼中的每一點將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值的裝置。
16.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述用于基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū)的裝置包含 用于使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū)的裝置; 用于從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值的裝置;以及 用于從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值的裝置。
17.根據(jù)權(quán)利要求16所述的設(shè)備,其進一步包含 用于確定所述塊的在過渡區(qū)域中的像素集合的裝置;以及 用于基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值的裝置。
18.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述用于計算所述幾何運動分割線的所述斜率值及所述I截距值的裝置包含 用于基于角度值及長度值來計算初始斜率值及初始y截距值的裝置,所述角度值包含垂直于所述幾何運動分割線且穿過原點的線相對于X軸的角度,且所述長度值包含從所述原點到所述垂直線與所述幾何運動分割線交會的點的距離; 用于計算所述初始斜率值及所述初始y截距值與包含2的冪的一個或一個以上值的乘積的裝置;以及 用于將所述乘積舍位到最近的整數(shù)值以形成所述斜率值及所述y截距值的裝置。
19.一種計算機程序產(chǎn)品,其包含在其上存儲有指令的計算機可讀存儲媒體,所述指令在被執(zhí)行時致使處理器 使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū); 計算所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值; 計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼; 基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及 輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述y截距值。
20.根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,其中所述致使所述處理器計算所述掩碼的指令包含致使所述處理器僅使用定點算術(shù)來計算所述掩碼的指令。
21.根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中所述致使所述處理器計算所述掩碼的指令包含致使所述處理器針對所述掩碼中的每一點將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值的指令。
22.根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,其中所述致使所述處理器基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū)的指令包含致使所述處理器進行以下操作的指令 使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū); 從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及 從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
23.根據(jù)權(quán)利要求22所述的計算機程序產(chǎn)品,其進一步包含致使所述處理器進行以下操作的指令 確定所述塊的在過渡區(qū)域中的像素集合;以及 基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
24.根據(jù)權(quán)利要求19所述的計算機程序產(chǎn)品,其中所述致使所述處理器計算所述幾何運動分割線的所述斜率值及所述y截距值的指令包含致使所述處理器進行以下操作的指令 基于角度值及長度值來計算初始斜率值及初始y截距值,所述角度值包含垂直于所述幾何運動分割線且穿過原點的線相對于X軸的角度,且所述長度值包含從所述原點到所述垂直線與所述幾何運動分割線交會的點的距離; 計算所述初始斜率值及所述初始y截距值與包含2的冪的一個或一個以上值的乘積;以及 將所述乘積舍位到最近的整數(shù)值以形成所述斜率值及所述y截距值。
25.一種解碼視頻數(shù)據(jù)的方法,所述方法包含 接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊; 接收定義所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值; 計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼; 基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。
26.根據(jù)權(quán)利要求25所述的方法,其中計算所述掩碼包含僅使用定點算術(shù)來計算所述掩碼。
27.根據(jù)權(quán)利要求25所述的方法,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中計算所述掩碼包含針對所述掩碼中的每一點,將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值。
28.根據(jù)權(quán)利要求25所述的方法,其中基于所述掩碼來解碼所述第一分區(qū)及所述第二分區(qū)包含 使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū); 從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及 從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
29.根據(jù)權(quán)利要求28所述的方法,其進一步包含 確定所述塊的在過渡區(qū)域中的像素集合;以及 基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
30.一種用于解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含視頻解碼器,所述視頻解碼器經(jīng)配置以接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊;接收定義所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)解碼塊。
31.根據(jù)權(quán)利要求30所述的設(shè)備,其中所述視頻解碼器經(jīng)配置以僅使用定點算術(shù)來計算所述掩碼。
32.根據(jù)權(quán)利要求30所述的設(shè)備,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中為了計算所述掩碼,所述視頻解碼器經(jīng)配置以針對所述掩碼中的每一點,將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值。
33.根據(jù)權(quán)利要求30所述的設(shè)備,其中為了基于所述掩碼來解碼所述第一分區(qū)及所述第二分區(qū),所述視頻解碼器經(jīng)配置以使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū);從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
34.根據(jù)權(quán)利要求33所述的設(shè)備,其中所述視頻解碼器經(jīng)配置以確定所述塊的在過渡區(qū)域中的像素集合;以及基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
35.一種用于解碼視頻數(shù)據(jù)的設(shè)備,所述設(shè)備包含 用于接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊的裝置; 用于接收定義所述幾何運動分割線的斜率值及y截距值的裝置,其中所述斜率值及所述I截距值包含整數(shù)值; 用于計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼的裝置; 用于基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū)的裝置;以及用于輸出所述經(jīng)解碼塊的裝置。
36.根據(jù)權(quán)利要求35所述的設(shè)備,其中所述用于計算所述掩碼的裝置包含用于僅使用定點算術(shù)來計算所述掩碼的裝置。
37.根據(jù)權(quán)利要求35所述的設(shè)備,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中所述用于計算所述掩碼的裝置包含用于針對所述掩碼中的每一點將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值的裝置。
38.根據(jù)權(quán)利要求35所述的設(shè)備,其中所述用于基于所述掩碼來解碼所述第一分區(qū)及所述第二分區(qū)的裝置包含 用于使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū)的裝置;用于從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值的裝置;以及 用于從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值的裝置。
39.根據(jù)權(quán)利要求38所述的設(shè)備,其進一步包含 用于確定所述塊的在過渡區(qū)域中的像素集合的裝置;以及 用于基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值的裝置。
40.一種計算機程序產(chǎn)品,其包含在其上存儲有指令的計算機可讀媒體,所述指令在被 執(zhí)行時致使處理器 接收已通過幾何運動分割線分割為第一分區(qū)及第二分區(qū)的經(jīng)編碼視頻數(shù)據(jù)塊; 接收定義所述幾何運動分割線的斜率值及I截距值,其中所述斜率值及所述I截距值包含整數(shù)值; 計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼; 基于所述掩碼來解碼所述塊的所述第一分區(qū)及所述第二分區(qū);以及 輸出所述經(jīng)解碼塊。
41.根據(jù)權(quán)利要求40所述的計算機程序產(chǎn)品,其中所述致使所述處理器計算所述掩碼的指令包含致使所述處理器僅使用定點算術(shù)來計算所述掩碼的指令。
42.根據(jù)權(quán)利要求40所述的計算機程序產(chǎn)品,其中所述掩碼包含點集合,所述點集合包含相應(yīng)的X值及y值,且其中所述致使所述處理器計算所述掩碼的指令包含致使所述處理器針對所述掩碼中的每一點將所述掩碼中的所述點的值設(shè)定為指示所述點的所述y值與所述斜率值和所述點的所述X值的乘積之間的差是否大于所述y截距值的值的指令。
43.根據(jù)權(quán)利要求40所述的計算機程序產(chǎn)品,其中所述致使所述處理器基于所述掩碼來解碼所述第一分區(qū)及所述第二分區(qū)的指令包含致使所述處理器進行以下操作的指令 使用所述掩碼來確定所述塊中的像素是對應(yīng)于所述第一分區(qū)還是對應(yīng)于所述第二分區(qū); 從由所述第一分區(qū)的運動向量指示的參考塊檢索所述第一分區(qū)中的像素的預(yù)測值;以及 從由所述第二分區(qū)的運動向量指示的參考塊檢索所述第二分區(qū)中的像素的預(yù)測值。
44.根據(jù)權(quán)利要求43所述的計算機程序產(chǎn)品,其進一步包含致使所述處理器進行以下操作的指令 確定所述塊的在過渡區(qū)域中的像素集合;以及 基于由所述第一分區(qū)的所述運動向量指示的所述參考塊及由所述第二分區(qū)的所述運動向量指示的所述參考塊來計算所述過渡區(qū)域中的所述像素集合的預(yù)測值。
全文摘要
在一個實例中,一種設(shè)備包括視頻編碼器,所述視頻編碼器經(jīng)配置以使用幾何運動分割線將視頻數(shù)據(jù)塊分割為第一分區(qū)及第二分區(qū);計算所述幾何運動分割線的斜率值及y截距值,其中所述斜率值及所述y截距值包含整數(shù)值;計算指示所述塊的在所述第一分區(qū)中的像素及所述塊的在所述第二分區(qū)中的像素的掩碼;基于所述掩碼來編碼所述第一分區(qū)及所述第二分區(qū);以及輸出所述經(jīng)編碼的第一分區(qū)、所述經(jīng)編碼的第二分區(qū)、所述斜率值及所述y截距值。這可允許定點實施方案。視頻解碼器可接收所述斜率值及y截距值以計算所述掩碼且基于所述掩碼來解碼所述塊。
文檔編號H04N7/26GK102845062SQ201180018707
公開日2012年12月26日 申請日期2011年4月11日 優(yōu)先權(quán)日2010年4月12日
發(fā)明者拉詹·L·喬希, 陳培松, 馬爾塔·卡切維奇 申請人:高通股份有限公司