本發(fā)明涉及視頻圖像編碼領(lǐng)域,尤其涉及一種運動向量編碼方法及裝置。
背景技術(shù):
塊基運動向量編碼技術(shù),是塊基混合離散余弦變換視頻編碼標準的核心技術(shù)之一。
現(xiàn)有的塊基運動向量編碼方法,如傳統(tǒng)的H.263、H.264編碼方法中,首先從空域或時域?qū)ふ遗c編碼塊相鄰的多個已經(jīng)編碼的編碼塊運動向量的中值,作為編碼塊運動向量的預測;然后用編碼塊運動向量減去編碼塊運動向量的預測,得到編碼塊運動向量的差分,對編碼塊運動向量的差分進行編碼即可。在上述現(xiàn)有的編碼方法中,只應(yīng)用與編碼塊相鄰的多個已經(jīng)編碼的編碼塊運動向量的中值,作為編碼塊運動向量的預測,對編碼塊運動向量的預測較少,并且對于任意一個編碼塊運動向量,都是采用編碼運動向量差分的方法進行編碼,編碼方法簡單,編碼效率較低。
技術(shù)實現(xiàn)要素:
基于上述現(xiàn)有技術(shù)的缺陷和不足,本發(fā)明提出一種運動向量編碼方法及裝置,在對運動向量進行編碼時應(yīng)用多個預測運動向量,全面考慮不同情況進行相應(yīng)的編碼處理,編碼效率較高。
一種運動向量編碼方法,包括:
從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量;
如果在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的預測運動向量,則編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,作為所述待編碼圖像塊運動向量的編碼;
如果在所述預測運動向量集合中,不存在與所述待編碼圖像塊運動向量相同的預測運動向量,則根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼。
優(yōu)選地,所述從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合,包括:
根據(jù)高效視頻編碼HEVC編碼方法,從待編碼圖像塊的空域相鄰編碼塊的運動向量,以及時域參考圖像中相同位置的編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,對應(yīng)待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
剔除所述預測運動向量集合中,設(shè)定數(shù)量的預測運動向量中的,重復的預測運動向量。
優(yōu)選地,在從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合之后,在將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量之前,該方法還包括:
根據(jù)所述待編碼圖像塊運動向量的參考索引,以及所述預測運動向量集合中的預測運動向量的參考索引,分別對所述預測運動向量集合中的預測運動向量進行縮放處理,使所述預測運動向量集合中的預測運動向量與所述待編碼圖像塊運動向量所表示的偏移量相同。
優(yōu)選地,所述編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,包括:
生成表征在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的參考運動向量的標識信息;
編碼所述標識信息,以及編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引。
優(yōu)選地,所述根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼,包括:
根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分;
根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分;
對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼。
優(yōu)選地,所述根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分,包括:
分別提取得到所述預測運動向量集合中的預測運動向量的X分量;
生成第一序列,所述第一序列中包含所述預測運動向量集合中的第一個預測運動向量的X分量;
遍歷所述預測運動向量集合中的剩余預測運動向量的X分量,每遍歷到一個預測運動向量的X分量時,計算該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離;如果該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離都大于1,則將該預測運動向量的X分量加入所述第一序列;
從所述第一序列中,查找得到與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,記錄與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引;
根據(jù)與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,以及所述待編碼圖像塊運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分。
優(yōu)選地,所述根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分,包括:
分別提取得到所述預測運動向量集合中的預測運動向量的Y分量;
將所述預測運動向量集合中的預測運動向量的Y分量,劃分為第二序列和第三序列;其中,所述第二序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量相同;所述第三序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量不同;
生成第四序列,所述第四序列中包含所述第二序列中的第一個預測運動向量的Y分量;
遍歷所述第二序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第四序列;
生成第五序列,所述第五序列中包含所述第三序列中的第一個預測運動向量的Y分量;
遍歷所述第三序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第五序列;
從所述第四序列及所述第五序列中,查找得到與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,記錄與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列,以及與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引;
根據(jù)與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,以及所述待編碼圖像塊運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分。
優(yōu)選地,所述對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼,包括:
對所述X分量差分及所述Y分量差分的絕對值之和、所述X分量差分的絕對值、所述X分量差分、所述Y分量差分、與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引、表征與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列的信息、與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引分別進行編碼處理。
一種運動向量編碼裝置,包括:
預測處理單元,用于從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
判斷單元,用于將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量;
第一編碼單元,用于所述判斷單元判斷在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的預測運動向量時,編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,作為所述待編碼圖像塊運動向量的編碼;
第二編碼單元,用于所述判斷單元判斷在所述預測運動向量集合中,不存在與所述待編碼圖像塊運動向量相同的預測運動向量時,根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼。
優(yōu)選地,所述預測處理單元從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合時,具體用于:
根據(jù)高效視頻編碼HEVC編碼方法,從待編碼圖像塊的空域相鄰編碼塊的運動向量,以及時域參考圖像中相同位置的編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,對應(yīng)待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;剔除所述預測運動向量集合中,設(shè)定數(shù)量的預測運動向量中的,重復的預測運動向量。
優(yōu)選地,所述裝置還包括:
縮放處理單元,用于根據(jù)所述待編碼圖像塊運動向量的參考索引,以及所述預測運動向量集合中的預測運動向量的參考索引,分別對所述預測運動向量集合中的預測運動向量進行縮放處理,使所述預測運動向量集合中的預測運動向量與所述待編碼圖像塊運動向量所表示的偏移量相同。
優(yōu)選地,所述第一編碼單元編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引時,具體用于:
生成表征在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的參考運動向量的標識信息;編碼所述標識信息,以及編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引。
優(yōu)選地,所述第二編碼單元,包括:
第一分量計算單元,用于根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分;
第二分量計算單元,用于根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分;
差分編碼單元,用于對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼。
優(yōu)選地,所述第一分量計算單元根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分時,具體用于:
分別提取得到所述預測運動向量集合中的預測運動向量的X分量;
生成第一序列,所述第一序列中包含所述預測運動向量集合中的第一個預測運動向量的X分量;
遍歷所述預測運動向量集合中的剩余預測運動向量的X分量,每遍歷到一個預測運動向量的X分量時,計算該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離;如果該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離都大于1,則將該預測運動向量的X分量加入所述第一序列;
從所述第一序列中,查找得到與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,記錄與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引;
根據(jù)與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,以及所述待編碼圖像塊運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分。
優(yōu)選地,所述第二分量計算單元根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分時,具體用于:
分別提取得到所述預測運動向量集合中的預測運動向量的Y分量;
將所述預測運動向量集合中的預測運動向量的Y分量,劃分為第二序列和第三序列;其中,所述第二序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量相同;所述第三序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量不同;
生成第四序列,所述第四序列中包含所述第二序列中的第一個預測運動向量的Y分量;
遍歷所述第二序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第四序列;
生成第五序列,所述第五序列中包含所述第三序列中的第一個預測運動向量的Y分量;
遍歷所述第三序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第五序列;
從所述第四序列及所述第五序列中,查找得到與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,記錄與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列,以及與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引;
根據(jù)與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,以及所述待編碼圖像塊運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分。
優(yōu)選地,所述差分編碼單元對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼時,具體用于:
對所述X分量差分及所述Y分量差分的絕對值之和、所述X分量差分的絕對值、所述X分量差分、所述Y分量差分、與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引、表征與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列的信息、與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引分別進行編碼處理。
本發(fā)明提出的運動向量編碼方法,首先獲取設(shè)定數(shù)量的當前編碼塊運動向量的預測運動向量,并對設(shè)定數(shù)量的預測運動向量進行縮放處理;然后,對比判斷在預測運動向量中是否存在與當前編碼塊運動向量相同的預測運動向量,如果有,則直接編碼該預測運動向量的序號索引;如果沒有,則根據(jù)設(shè)定數(shù)量的預測運動向量,對當前編碼塊運動向量進行差分編碼處理。在上述編碼處理過程中,應(yīng)用到多個預測運動向量,并且對當前編碼塊運動向量進行編碼時,首先考慮到在多個預測運動向量中是否有與當前編碼塊運動向量相同的預測運動向量,如果有,則直接將該預測運動向量的編碼作為當前編碼塊運動向量的編碼,只編碼該預測運動向量的序號索引即可;如果沒有,則利用上述多個預測運動向量,對當前編碼塊運動向量進行編碼。其編碼過程應(yīng)用到的預測運動向量較多,全面考慮不同的情況進行相應(yīng)的編碼處理,編碼效率較高。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種運動向量編碼方法的流程示意圖;
圖2是本發(fā)明實施例提供的一種獲取運動向量的預測運動向量的示意圖;
圖3是本發(fā)明實施例提供的另一種運動向量編碼方法的流程示意圖;
圖4是本發(fā)明實施例提供的另一種運動向量編碼方法的流程示意圖;
圖5是本發(fā)明實施例提供的另一種運動向量編碼方法的流程示意圖;
圖6是本發(fā)明實施例提供的一種運動向量編碼裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明實施例提供的另一種運動向量編碼裝置的結(jié)構(gòu)示意圖;
圖8是本發(fā)明實施例提供的另一種運動向量編碼裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種運動向量編碼方法,參見圖1所示,該方法包括:
S101、從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
具體的,對待編碼圖像塊的運動向量進行編碼時,通常首先找到待編碼圖像塊運行向量的預測運動向量,利用預測運動向量對待編碼圖像塊的運動向量進行編碼。在本發(fā)明實施例中,從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,待編碼圖像塊運動向量的預測運動向量。利用多個預測運動向量參與對待編碼圖像塊的運動向量的編碼,以期提高對待編碼圖像塊運動向量的編碼效率。進一步地,查找得到設(shè)定數(shù)量的預測運動向量后,組成預測運動向量集合。
S102、將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量;
具體的,將待編碼圖像塊的運動向量,以及待編碼圖像塊的運動向量的參考索引,與預測運動向量集合中的各個預測運動向量,以及各個預測運動向量的參考索引進行對比。如果某個預測運動向量與待編碼圖像塊的運動向量相同,并且該預測運動向量的參考索引與待編碼圖像塊運動向量的參考索引也相同,那么認為該預測運動向量與待編碼圖像塊的運動向量相同。
如果在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的預測運動向量,則執(zhí)行步驟S103、編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,作為所述待編碼圖像塊運動向量的編碼;
具體的,如果在預測運動向量集合中,存在與待編碼圖像塊的運動向量相同的預測運動向量,鑒于預測運動向量是已經(jīng)完成編碼的運動向量,其編碼是準確的。因此,在本發(fā)明實施例中,當確定預測運動向量集合中存在與待編碼圖像塊的運動向量相同的預測運動向量時,為了節(jié)省運算量,直接將與待編碼圖像塊運動向量相同的預測運動向量的編碼作為待編碼圖像塊的運動向量的編碼,只編碼該預測運動向量的序號索引即可。在對待編碼圖像塊的運動向量進行解碼時,只解碼對該預測運動向量的序號索引的編碼,進一步地,通過序號索引找到該預測運動向量的編碼,即是找到了待編碼圖像塊運動向量的編碼,解碼該預測運動向量的編碼,也就完成了對待編碼圖像塊運動向量的解碼。
如果在所述預測運動向量集合中,不存在與所述待編碼圖像塊運動向量相同的預測運動向量,則執(zhí)行步驟S104、根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼。
具體的,如果在預測運動向量集合中,不存在與待編碼圖像塊運動向量相同的預測運動向量,那么根據(jù)對待編碼圖像塊運動向量的預測,對待編碼圖像塊運動向量進行差分編碼處理,得到待編碼圖像塊運動向量的編碼。需要說明的是,在本發(fā)明實施例中,利于待編碼圖像塊的運動向量的多個預測運動向量對待編碼圖像塊的運動向量進行差分編碼處理,相對于現(xiàn)有技術(shù)的處理方法,其編碼精度更高。
本發(fā)明提出的運動向量編碼方法,首先獲取設(shè)定數(shù)量的當前編碼塊運動向量的預測運動向量,并對設(shè)定數(shù)量的預測運動向量進行縮放處理;然后,對比判斷在預測運動向量中是否存在與當前編碼塊運動向量相同的預測運動向量,如果有,則直接編碼該預測運動向量的序號索引;如果沒有,則根據(jù)設(shè)定數(shù)量的預測運動向量,對當前編碼塊運動向量進行差分編碼處理。在上述編碼處理過程中,應(yīng)用到多個預測運動向量,并且對當前編碼塊運動向量進行編碼時,首先考慮到在多個預測運動向量中是否有與當前編碼塊運動向量相同的預測運動向量,如果有,則直接將該預測運動向量的編碼作為當前編碼塊運動向量的編碼,只編碼該預測運動向量的序號索引即可;如果沒有,則利用上述多個預測運動向量,對當前編碼塊運動向量進行編碼。其編碼過程應(yīng)用到的預測運動向量較多,全面考慮不同的情況進行相應(yīng)的編碼處理,編碼效率較高。
可選的,在本發(fā)明的另一個實施例中,所述從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合,包括:
根據(jù)高效視頻編碼HEVC編碼方法,從待編碼圖像塊的空域相鄰編碼塊的運動向量,以及時域參考圖像中相同位置的編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,對應(yīng)待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
具體的,待編碼圖像塊的空域相鄰編碼塊,是指在空間上與待編碼圖像塊相鄰的,屬于同一幀圖像的已經(jīng)編碼過的圖像塊;待編碼圖像塊的時域參考圖像中相同位置的編碼塊,是指已經(jīng)編碼過的,與待編碼圖像塊不在同一幀圖像,但是處于相同圖像位置的圖像塊。本發(fā)明實施例采用HEVC編碼方法,從待編碼圖像塊的空域相鄰編碼塊的運動向量,以及時域參考圖像中相同位置的編碼塊的運動向量中,查找得到設(shè)定數(shù)量的預測運動向量。
例如,如圖2所示,假設(shè)X是待編碼圖像塊,Y是時域上X的參考圖像中的同位置圖像塊。采用HEVC的獲得空域和時域預測運動向量的方法,首先從X的左上相鄰圖像塊的運動向量中按順序查找預測運動向量,如按照A0、B0、B2、A1、B1的順序獲得預測運動向量,如果某個位置的運動向量不存在,那么跳過它。然后,從時域參考圖像的相同位置編碼塊中獲得若干預測運動向量,如右圖所示兩個黑點的位置,C0和C1。
剔除所述預測運動向量集合中,設(shè)定數(shù)量的預測運動向量中的,重復的預測運動向量。
具體的,在查找得到設(shè)定數(shù)量的預測運動向量后,對比確認在設(shè)定數(shù)量的預測運動向量中,是否有重復的預測運動向量,即確認是否有運動向量相同,并且參考索引也相同的預測運動向量。如果有,則剔除重復的預測運動向量,使預測運動向量集合中的預測運動向量均不相同。
可選的,在本發(fā)明的另一個實施例中,參見圖3所示,在執(zhí)行步驟S301、從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合之后,在執(zhí)行步驟S303、將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量之前,該方法還包括:
S302、根據(jù)所述待編碼圖像塊運動向量的參考索引,以及所述預測運動向量集合中的預測運動向量的參考索引,分別對所述預測運動向量集合中的預測運動向量進行縮放處理,使所述預測運動向量集合中的預測運動向量與所述待編碼圖像塊運動向量所表示的偏移量相同。
具體的,運動向量的參考索引,代表該運動向量的偏移量。如果兩個運動向量的參考索引不同,不能認為這兩個運動向量相同。因此,為了保證能夠在預測運動向量集合中找到與待編碼圖像運動向量相同的預測運動向量,本發(fā)明實施例對預測運動向量集合中的預測運動向量進行縮放處理,使預測運動向量的偏移量,即參考索引,與待編碼圖像塊運動向量的參考索引相同。相應(yīng)的,在將預測運動向量的參考索引進行縮放的同時,將預測運動向量的坐標縮放相同倍數(shù)。需要說明的是,在對預測運動向量進行縮放處理之前,本發(fā)明實施例首先對預測運動向量集合中的預測運動向量進行排序處理,具體的首先按照索引從小到大的順序,選擇參考索引與待編碼圖像塊運動向量的參考索引相同的預測運動向量,然后再按參考索引從小到大的順序,選擇其他預測運動向量。經(jīng)過上述處理后,在對預測運動向量進行縮放處理時,實際上主要是對參考索引與待編碼圖像塊運動向量的參考索引不同的預測運動向量。
例如,假設(shè)某一預測運動向量的坐標為(4,8),參考索引為2;待編碼圖像塊運動向量的坐標為(X,Y),參考索引為1。那么對該預測運動向量進行縮放時,將其參考索引縮小1倍,可以使其參考索引與待編碼圖像塊運動向量的參考索引相同。相應(yīng)的,在將該預測運動向量的參考索引縮小1倍的同時,將該預測運動向量的坐標也縮小1倍,變?yōu)?2,4)。因此,對該預測運動向量進行縮放處理后,其坐標為(2,4),參考索引為1。
本實施例中的步驟S301、S303~S305分別對應(yīng)圖1所示的方法實施例中的步驟S101、S102~S104,其具體內(nèi)容請參見對應(yīng)圖1所示的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,參見圖4所示,所述編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,包括:
S403、生成表征在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的參考運動向量的標識信息;
具體的,在對待編碼圖像塊運動向量編碼的過程中,當經(jīng)過生成預測運動向量集合,以及將待編碼圖像塊運動向量與預測運動向量集合中的預測運動向量進行對比,發(fā)現(xiàn)在預測運動向量集合中存在與待編碼圖像塊運動向量相同的預測運動向量時,生成一個標志信息,并將該標志信息的取值設(shè)置為0。也就是說,該標志信息的取值為0時,表示在預測運動向量集合中,存在與待編碼圖像塊運動向量相同的預測運動向量。
S404、編碼所述標識信息,以及編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引。
具體的,將步驟S403中生成的標志信息及其取值進行編碼,并且,將與待編碼圖像塊的運動向量相同的預測運動向量在預測運動向量集合中的序號索引進行編碼。
例如,假設(shè)預測運動向量集合中的預測運動向量共有n個,編號為mvp0、mvp1、…mvpn-1。如果待編碼圖像塊的運動向量MV和上面的任何一個預測運動向量相同,設(shè)這個運動向量在預測運動向量集合中的序號索引是j,即mvpj,那么令ismvdabs0=0,否則令ismvdabs0=1。然后編碼ismvdabs0=0,以及編碼j,并結(jié)束對待編碼圖像塊的運動向量MV的編碼過程。
本實施例中的步驟S401、S402、S405,分別對應(yīng)圖1所示的方法實施例中的步驟S101、S102、S104,其具體內(nèi)容請參見對應(yīng)圖1所示的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,參見圖5所示,所述根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼,包括:
S504、根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分;
具體的,從預測運動向量集合中,提取得到所有預測運動向量的X分量,作為待編碼圖像塊運動向量的X分量的預測。然后,根據(jù)待編碼圖像塊運動向量的X分量的預測,從待編碼圖像塊運動向量的X分量的預測中選出與待編碼圖像塊運動向量的X分量的絕對值差最小的待編碼圖像塊運動向量的X分量的預測,仿照H.264中計算運動向量的差分的方法,計算得到待編碼圖像塊運動向量的X分量與該待編碼圖像塊運動向量的X分量的預測的差,作為待編碼圖像塊運動向量的X分量的差分。
S505、根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分;
具體的,從預測運動向量集合中,提取得到所有預測運動向量的Y分量,作為待編碼圖像塊運動向量的Y分量的預測。然后,根據(jù)待編碼圖像塊運動向量的Y分量的預測,從待編碼圖像塊運動向量的Y分量的預測中選出與待編碼圖像塊運動向量的Y分量的絕對值差最小的待編碼圖像塊運動向量的Y分量的預測,仿照H.265中計算運動向量的差分的方法,計算得到待編碼圖像塊運動向量的Y分量與該待編碼圖像塊運動向量的Y分量的預測的差,作為待編碼圖像塊運動向量的Y分量的差分。
S506、對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼。
具體的,在得到待編碼圖像塊運動向量的X分量差分,以及待編碼圖像塊運動向量的Y分量差分后,按照常用的編碼方法,對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到的一系列編碼,作為待編碼圖像塊運動向量的編碼。
本實施例中的步驟S501~S503分別對應(yīng)圖1所示的方法實施例中的步驟S101~S103,其具體內(nèi)容請參見對應(yīng)圖1所示的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分,包括:
分別提取得到所述預測運動向量集合中的預測運動向量的X分量;
例如,在剔除查找得到的重復的預測運動向量后,得到的預測運動向量集合中的預測運動向量為mvp0、mvp1、…mvpn-1,在本步驟處理中,提取得到各個預測運動向量的X分量,即mvpx0、mvpx1、…mvpxn-1。
生成第一序列,所述第一序列中包含所述預測運動向量集合中的第一個預測運動向量的X分量;
例如,生成第一序列,其中包含mvpx0。
遍歷所述預測運動向量集合中的剩余預測運動向量的X分量,每遍歷到一個預測運動向量的X分量時,計算該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離;如果該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離都大于1,則將該預測運動向量的X分量加入所述第一序列;
具體的,參照上述舉例,逐個從小到大遍歷mvpx1到mvpxn-1,如果當前mvpxi與第一序列中已有的mvpx的距離小于等于1,那么剔除這個mvpxi,否則將這個mvpxi加入第一序列。
從所述第一序列中,查找得到與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,記錄與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引;
具體的,參照上述舉例,遍歷完mvpx1到mvpxn-1后,設(shè)第一序列中的元素有m個,即mvpxx0到mvpxxm-1。設(shè)帶編碼的圖像塊的運動向量的x分量為mvx,從第一序列中選擇一個和它絕對值差最小的mvpxx,設(shè)其序號索引為t,即這個mvpxx為mvpxxt。
根據(jù)與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,以及所述待編碼圖像塊運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分。
具體的,參照上述舉例,待編碼圖像塊運動向量的X分量差分mvxdiff=mvx-mvpxxt。
可選的,在本發(fā)明的另一個實施例中,所述根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分,包括:
分別提取得到所述預測運動向量集合中的預測運動向量的Y分量;
例如,在剔除查找得到的重復的預測運動向量后,得到的預測運動向量集合中的預測運動向量為mvp0、mvp1、…mvpn-1,在本步驟處理中,提取得到各個預測運動向量的Y分量,即mvpy0、mvpy1、…mvpyn-1。
將所述預測運動向量集合中的預測運動向量的Y分量,劃分為第二序列和第三序列;其中,所述第二序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量相同;所述第三序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量不同;
具體的,參照上述舉例,根據(jù)與待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量mvpxxt,將mvpy0、mvpy1、…mvpyn-1分成第二序列和第三序列。第二序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量mvpx全部等于mvpxxt,第三序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量mvpx全部不等于mvpxxt。
生成第四序列,所述第四序列中包含所述第二序列中的第一個預測運動向量的Y分量;
遍歷所述第二序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第四序列;
具體的,參照上述舉例,逐個從小到大遍歷第二序列中剩余的預測運動向量的Y分量,如果當前預測運動向量的Y分量與第四序列中已有的預測運動向量的Y分量的距離小于等于1,那么剔除這個預測運動向量的Y分量,否則將這個預測運動向量的Y分量加入第四序列。
生成第五序列,所述第五序列中包含所述第三序列中的第一個預測運動向量的Y分量;
遍歷所述第三序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第五序列;
具體的,參照上述舉例,逐個從小到大遍歷第三序列中剩余的預測運動向量的Y分量,如果當前預測運動向量的Y分量與第五序列中已有的預測運動向量的Y分量的距離小于等于1,那么剔除這個預測運動向量的Y分量,否則將這個預測運動向量的Y分量加入第五序列。
從所述第四序列及所述第五序列中,查找得到與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,記錄與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列,以及與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引;
具體的,參照上述舉例,設(shè)待編碼圖像塊的運動向量的y分量為mvy,找到第四序列和第五序列中與mvy絕對差最小的那個mvpy。如果它在第四序列,那么設(shè)isusemvxeq=1,否則設(shè)isusemvxeq=0。
根據(jù)與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,以及所述待編碼圖像塊運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分。
具體的,參照上述舉例,設(shè)這個mvpy在相應(yīng)的那個序列中的序號索引為i,即這個mvpy為mvpyi,則待編碼圖像塊運動向量的Y分量差分mvydiff=mvy-mvpyi。
可選的,在本發(fā)明的另一個實施例中,所述對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼,包括:
對所述X分量差分及所述Y分量差分的絕對值之和、所述X分量差分的絕對值、所述X分量差分、所述Y分量差分、與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引、表征與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列的信息、與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引分別進行編碼處理。
具體的,參照上述舉例,首先編碼abs(mvxdiff)+abs(mvydiff),然后編碼abs(mvxdiff)。如果mvxdiff不等于零,那么編碼mvxdiff的符號,然后如果mvydiff不等于0,那么編碼mvydiff的符號。然后編碼mvpx的索引t,再接下來編碼isusemvxeq,最后編碼mvpy的索引i。
經(jīng)過上述處理,即完成了對待編碼圖像塊運動向量的編碼處理。相應(yīng)的,在對采用上述編碼方法編碼的圖像塊運動向量進行解碼時,參照上述各實施例中的舉例,其過程概述如下:首先和編碼過程一樣,先構(gòu)造mvp序列,然后解碼ismvdabs0,如果為0,那么解碼mvp的索引j后結(jié)束這個過程。否則依次解碼abs(mvxdiff)+abs(mvydiff)、abs(mvxdiff)、mvxdiff的符號、mvydiff的符號。解碼后獲得mvxdiff和mvydiff。然后像編碼過程一樣構(gòu)造圖像塊運動向量的x分量的預測序列,然后解碼出mvpx的索引t,從序列中獲得mvpxxt。再根據(jù)mvpxxt像編碼過程中一樣構(gòu)造y的兩個預測序列,然后解碼isusemvxeq,選擇相應(yīng)的序列,解碼mvpy的索引i,從y的相應(yīng)的預測序列中獲得mvpyi。最后得到圖像塊運動向量的x分量mvx=mvxdiff+mvpxxt,y分量mvy=mvydiff+mvpyi。
本發(fā)明實施例還公開了一種運動向量編碼裝置,參見圖6所示,該裝置包括:
預測處理單元601,用于從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;
判斷單元602,用于將所述待編碼圖像塊運動向量分別與所述預測運動向量集合中的預測運動向量進行對比,判斷在所述預測運動向量集合中,是否存在與所述待編碼圖像塊運動向量相同的預測運動向量;
第一編碼單元603,用于所述判斷單元602判斷在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的預測運動向量時,編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引,作為所述待編碼圖像塊運動向量的編碼;
第二編碼單元604,用于所述判斷單元602判斷在所述預測運動向量集合中,不存在與所述待編碼圖像塊運動向量相同的預測運動向量時,根據(jù)所述預測運動向量集合中的預測運動向量,對所述待編碼圖像塊運動向量進行差分編碼處理,得到所述待編碼圖像塊運動向量的編碼。
具體的,本實施例中各個單元的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
本發(fā)明提出的運動向量編碼裝置,在對圖像運動向量編碼時,首先由預測處理單元601獲取設(shè)定數(shù)量的當前編碼塊運動向量的預測運動向量,并對設(shè)定數(shù)量的預測運動向量進行縮放處理;然后,判斷單元602對比判斷在預測運動向量中是否存在與當前編碼塊運動向量相同的預測運動向量,如果有,則第一編碼單元603直接編碼該預測運動向量的序號索引;如果沒有,則第二編碼單元604根據(jù)設(shè)定數(shù)量的預測運動向量,對當前編碼塊運動向量進行差分編碼處理。在上述編碼處理過程中,應(yīng)用到多個預測運動向量,并且對當前編碼塊運動向量進行編碼時,首先考慮到在多個預測運動向量中是否有與當前編碼塊運動向量相同的預測運動向量,如果有,則直接將該預測運動向量的編碼作為當前編碼塊運動向量的編碼,只編碼該預測運動向量的序號索引即可;如果沒有,則利用上述多個預測運動向量,對當前編碼塊運動向量進行編碼。其編碼過程應(yīng)用到的預測運動向量較多,全面考慮不同的情況進行相應(yīng)的編碼處理,編碼效率較高。
可選的,在本發(fā)明的另一個實施例中,所述預測處理單元601從待編碼圖像塊的參考預測編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,所述待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合時,具體用于:
根據(jù)高效視頻編碼HEVC編碼方法,從待編碼圖像塊的空域相鄰編碼塊的運動向量,以及時域參考圖像中相同位置的編碼塊的運動向量中,查找得到設(shè)定數(shù)量的,對應(yīng)待編碼圖像塊運動向量的預測運動向量,組成預測運動向量集合;剔除所述預測運動向量集合中,設(shè)定數(shù)量的預測運動向量中的,重復的預測運動向量。
具體的,本實施例中預測處理單元601的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,參見圖7所示,所述裝置還包括:
縮放處理單元605,用于根據(jù)所述待編碼圖像塊運動向量的參考索引,以及所述預測運動向量集合中的預測運動向量的參考索引,分別對所述預測運動向量集合中的預測運動向量進行縮放處理,使所述預測運動向量集合中的預測運動向量與所述待編碼圖像塊運動向量所表示的偏移量相同。
具體的,本實施例中縮放處理單元605的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述第一編碼單元603編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引時,具體用于:
生成表征在所述預測運動向量集合中,存在與所述待編碼圖像塊運動向量相同的參考運動向量的標識信息;編碼所述標識信息,以及編碼與所述待編碼圖像塊運動向量相同的預測運動向量的序號索引。
具體的,本實施例中第一編碼單元603的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,參見圖8所示,第二編碼單元604,包括:
第一分量計算單元6041,用于根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分;
第二分量計算單元6042,用于根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分;
差分編碼單元6043,用于對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼。
具體的,本實施例中各個單元的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述第一分量計算單元6041根據(jù)所述預測運動向量集合中的預測運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分時,具體用于:
分別提取得到所述預測運動向量集合中的預測運動向量的X分量;
生成第一序列,所述第一序列中包含所述預測運動向量集合中的第一個預測運動向量的X分量;
遍歷所述預測運動向量集合中的剩余預測運動向量的X分量,每遍歷到一個預測運動向量的X分量時,計算該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離;如果該預測運動向量的X分量與所述第一序列中的預測運動向量的X分量的距離都大于1,則將該預測運動向量的X分量加入所述第一序列;
從所述第一序列中,查找得到與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,記錄與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引;
根據(jù)與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量,以及所述待編碼圖像塊運動向量的X分量,計算得到所述待編碼圖像塊運動向量的X分量差分。
具體的,本實施例中第一分量計算單元6041的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述第二分量計算單元6042根據(jù)所述預測運動向量集合中的預測運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分時,具體用于:
分別提取得到所述預測運動向量集合中的預測運動向量的Y分量;
將所述預測運動向量集合中的預測運動向量的Y分量,劃分為第二序列和第三序列;其中,所述第二序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量相同;所述第三序列中的預測運動向量的Y分量對應(yīng)的預測運動向量的X分量,與所述第一序列中的,與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量不同;
生成第四序列,所述第四序列中包含所述第二序列中的第一個預測運動向量的Y分量;
遍歷所述第二序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第四序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第四序列;
生成第五序列,所述第五序列中包含所述第三序列中的第一個預測運動向量的Y分量;
遍歷所述第三序列中剩余的預測運動向量的Y分量,每遍歷到一個預測運動向量的Y分量時,計算該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離;如果該預測運動向量的Y分量與所述第五序列中的預測運動向量的Y分量的距離都大于1,則將該預測運動向量的Y分量加入所述第五序列;
從所述第四序列及所述第五序列中,查找得到與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,記錄與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列,以及與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引;
根據(jù)與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量,以及所述待編碼圖像塊運動向量的Y分量,計算得到所述待編碼圖像塊運動向量的Y分量差分。
具體的,本實施例中第二分量計算單元6042的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
可選的,在本發(fā)明的另一個實施例中,所述差分編碼單元6043對所述X分量差分、對應(yīng)所述X分量差分的序號索引、所述Y分量差分及對應(yīng)所述Y分量差分的序號索引,進行編碼處理,得到所述待編碼圖像塊運動向量的編碼時,具體用于:
對所述X分量差分及所述Y分量差分的絕對值之和、所述X分量差分的絕對值、所述X分量差分、所述Y分量差分、與所述待編碼圖像塊運動向量的X分量的絕對值差最小的預測運動向量的X分量在所述第一序列中的序號索引、表征與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量所在的序列的信息、與所述待編碼圖像塊運動向量的Y分量的絕對值差最小的預測運動向量的Y分量在其所在的序列中的序列索引分別進行編碼處理。
具體的,本實施例中差分編碼單元6043的具體工作內(nèi)容,請參見對應(yīng)的方法實施例的內(nèi)容,此處不再贅述。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。