本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種視頻編解碼方法、編碼器和解碼器。
背景技術(shù):
運動矢量場用來精確描述一幀圖像相對于另一幀圖像的運動矢量信息。在給定一幀待編碼圖像和一幀參考圖像的情況下,該待編碼圖像相對于該參考圖像的運動矢量場由待編碼圖像中每一個單元在參考圖像中的運動矢量構(gòu)成,其中,單元是指1x1的像素單元,或者是指2x1、1x3、3x4等大小的像素單元。
基于運動矢量場的視頻幀間編碼技術(shù),通常包括下述步驟:編碼端先做運動估計產(chǎn)生運動矢量場,再基于該運動矢量場和參考圖像進行運動補償預(yù)測操作獲得待編碼圖像的預(yù)測信號,接著根據(jù)待編碼圖像的圖像信號與待編碼圖像的預(yù)測信號,計算獲取待編碼圖像的殘差信號,并對待編碼圖像的殘差信號進行變換、量化和熵編碼操作。
目前已有的基于運動矢量場的運動補償預(yù)測編碼方案中,僅支持使用一幀參考圖像的情況,在待編碼圖像相對于該參考圖像的殘差較大時,使用現(xiàn)有技術(shù)提供的視頻編碼技術(shù)會導(dǎo)致編碼效率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種圖像編解碼方法、編碼器和解碼器,用于在一定程度上提高待處理圖像的編碼效率。
第一方面,本發(fā)明實施例提供過一種視頻編碼方法,該方法包括:
獲取第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,多個所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差;
對所述目標子圖像塊的預(yù)測參差進行編碼處理,得到所述目標子圖像塊的預(yù)測參差的編碼信號,并將所述目標子圖像塊的預(yù)測殘差的編碼信號發(fā)送給對端的解碼器。
結(jié)合第一方面,在第一方面的第一種可能實施方式下,
所述根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差,具體包括:
利用所述目標子圖像塊的圖像信號中包含的每一個像素點的像素值減去所述目標子圖像塊的運動補償預(yù)測信號中對應(yīng)像素點的像素值,得到所述目標子圖像塊的預(yù)測殘差,所述目標子圖像塊的圖像信號包括多個像素點,所述目標子圖像塊的運動補償預(yù)測信號也包括多個像素點,對于所述目標子圖像塊的圖像信號中包含的每一個像素點,所述目標子圖像塊的運動補償預(yù)測信號中均存在對應(yīng)的像素點。
結(jié)合第一方面或第一方面的第一種可能實施方式,在第一方面的第二種可能實施方式下,
在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M。
結(jié)合第一方面、第一方面的第一種可能實施方式或第一方面的第二種可能實施方式,在第一方面的第三種可能實施方式下,
所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場之后,所述方法還包括:
確定出位于所述第一運動矢量場集中的參與運算的第一運動矢量場,所述參與運算的第一運動矢量場是指為得到所述第二運動矢量場而參與所述預(yù)設(shè)的矢量運算方法的第一運動矢量場;
對位于所述第一運動矢量場集中的所述參與運算的第一運動矢量場進行標記,得到用于標記所述參與運算的第一運動矢量場的標識信息;
對所述標識信息進行編碼處理,得到所述標識信息的編碼信息;
將所述標識信息的編碼信息發(fā)送給所述解碼器。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第三種可能實施方式中任一種可能實施方式,在第一方面的第四種可能實施方式下,該方法還包括:
對所述預(yù)設(shè)的矢量運算方法進行編碼處理,得到所述預(yù)設(shè)的矢量運算方法的編碼信息;
將所述預(yù)設(shè)的矢量運算方法的編碼信息發(fā)送給所述解碼器。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第四種可能實施方式中任一種可能實施方式,在第一方面的第五種可能實施方式下,
所述獲取第一運動矢量場集之后,所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場之前,所述方法還包括:
對所述第一運動矢量場集進行有損壓縮編碼處理,得到所述第一運動矢量場集的有損壓縮編碼信息。
結(jié)合第一方面的第五種可能實施方式,在第一方面的第六種可能實施方式下,所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,具體包括:
對所述第一運動矢量場集的有損壓縮編碼信息進行解碼處理,得到第三運動矢量場集;
根據(jù)所述第三運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
結(jié)合第一方面的第五種可能實施方式或第一方面的第六種可能實施方式, 在第一方面的第七種可能實施方式下,
將所述第一運動矢量場集的有損壓縮編碼信息傳輸給所述解碼器。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第四種可能實施方式中任一種可能實施方式,在第一方面的第八種可能實施方式下,
所述獲取第一運動矢量場集之后,所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場之前,所述方法還包括:
對所述第一運動矢量場集進行無損壓縮編碼處理,得到所述第一運動矢量場集的無損壓縮編碼信息。
結(jié)合第一方面的第八種可能實施方式,在第一方面的第九種可能實施方式下,所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,具體包括:
對所述第一運動矢量場集的無損壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集;
根據(jù)所述第一運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
結(jié)合第一方面的第八種可能實施方式或第一方面的第九種可能實施方式,在第一方面的第十種可能實施方式下,
將所述第一運動矢量場集的無損壓縮編碼信息傳輸給所述解碼器。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第十種可能實施方式中任一種可能實施方式,在第一方面的第十一種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,P為大于或者等于N的整數(shù),
所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,具體包括:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
結(jié)合第一方面的第十一種可能實施方式,在第一方面的第十二種可能實施方式下,
根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:
根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號;
相應(yīng)的,所述根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差,具體包括:
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號,獲得所述目標子圖像塊的P×M個殘差信號;從所述P×M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第十種可能實施方式中任一種可能實施方式,在第一方面的第十三種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第 二運動矢量場,具體包括:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
結(jié)合第一方面的第十三種可能實施方式,在第一方面的第十四種可能實施方式下,
根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:
根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號;
相應(yīng)的,所述根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差,具體包括:
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的M個運動補償預(yù)測信號,確定出所述目標子圖像塊的M個殘差信號;從所述M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
結(jié)合第一方面或第一方面的第一種可能實施方式至第一方面的第十種可能實施方式中任一種可能實施方式,在第一方面的第十五種可能實施方式下,
在所述第一運動矢量場集中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,具體包括:
根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
第二方面,本發(fā)明實施例還提供一種視頻解碼方法,該方法包括:
接收第一運動矢量場集的壓縮編碼信息,對所述第一運動矢量場集的壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
接收標識信息的編碼信息,對所述標識信息的編碼信息進行解碼處理,得到所述標識信息,所述標識信息用于標記所述第一運動矢量場集中參與矢量運算的第一運動矢量場,所述參與運算的第一運動矢量場是指根據(jù)所述預(yù)設(shè)的矢量運算方法,參與矢量預(yù)算從而得到第二運動矢量場的第一運動矢量場,所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
根據(jù)所述第一運動矢量場集和所述標記信息,確定出所述參與矢量運算的第一運動矢量場;
接收預(yù)設(shè)的矢量運算方法的編碼信息,對所述預(yù)設(shè)的矢量運算方法的編碼信息進行解碼處理,得到所述預(yù)設(shè)的矢量運算方法;
根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場;
根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
所述方法還包括:
接收所述目標子圖像塊的預(yù)測參差的編碼信號,并對所述目標子圖像塊的預(yù)測參差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測參差;
根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號。
結(jié)合第二方面,在第二方面的第一種可能實施方式下,
所述根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號,具體包括:
利用所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點的像素值加上所述目標子圖像塊的預(yù)測參差中對應(yīng)像素點的像素值,得到所述目標子圖像塊的圖像信號,所述目標子圖像塊的運動補償預(yù)測信號包括多個像素點,所述目標子圖像塊的預(yù)測參差也包括多個像素點,對于所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點,所述目標子圖像塊的預(yù)測參差中均存在對應(yīng)的像素點。
結(jié)合第二方面或第二方面的第一種可能實施方式,在第二方面的第二種可能實施方式下,
在所述參與矢量運算的第一運動矢量場包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,N為大于或者等于1的整數(shù),P為大于或者等于N的整數(shù),
所述根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場,具體包括:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處 理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
結(jié)合第二方面的第二種可能實施方式,在第二方面的第三種可能實施方式下,
所述多個根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:
根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號。
結(jié)合第二方面的第三種可能實施方式,在第二方面的第四種可能實施方式下,
所述根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號,具體包括:
根據(jù)所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號和所述目標子圖像塊的殘差信號,得到所述目標子圖像塊的P×M個預(yù)測圖像信號;
從所述P×M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
結(jié)合第二方面或第二方面的第一種可能實施方式,在第二方面的第五種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考 圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
所述根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場,具體包括:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
結(jié)合第二方面的第五種可能實施方式,在第二方面的第六種可能實施方式下,
所述根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:
根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號。
結(jié)合第二方面的第六種可能實施方式,在第二方面的第七種可能實施方式下,
所述根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù) 測參差,得到所述目標子圖像塊的圖像信號,具體包括:
根據(jù)所述目標子圖像塊的M個運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測殘差,獲得所述目標子圖像塊的M個預(yù)測圖像信號,從所述M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
結(jié)合第二方面或第二方面的第一種可能實施方式,在第二方面的第八種可能實施方式下,
在所述參與矢量運算的第一運動矢量場中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
所述根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場,具體包括:
根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
第三方面,本發(fā)明實施例提供一種編碼器,包括:
獲取單元,用于獲取第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
運算單元,用于根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,多個所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大 于或者等于2的整數(shù);
運動補償預(yù)測單元,用于根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
處理單元,用于根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差;
編碼單元,用于對所述目標子圖像塊的預(yù)測參差進行編碼處理,得到所述目標子圖像塊的預(yù)測參差的編碼信號,并將所述目標子圖像塊的預(yù)測殘差的編碼信號發(fā)送給對端的解碼器。
結(jié)合第三方面,在第三方面的第一種可能實施方式下,
所述處理單元具體用于利用所述目標子圖像塊的圖像信號中包含的每一個像素點的像素值減去所述目標子圖像塊的運動補償預(yù)測信號中對應(yīng)像素點的像素值,得到所述目標子圖像塊的預(yù)測殘差,所述目標子圖像塊的圖像信號包括多個像素點,所述目標子圖像塊的運動補償預(yù)測信號也包括多個像素點,對于所述目標子圖像塊的圖像信號中包含的每一個像素點,所述目標子圖像塊的運動補償預(yù)測信號中均存在對應(yīng)的像素點。
結(jié)合第三方面或第三方面的第一種可能實施方式,在第三方面的第二種可能實施方式下,
在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M。
結(jié)合第三方面、第三方面的第一種可能實施方式或第三方面的第二種可能實施方式,在第三方面的第三種可能實施方式下,所述編碼器還包括確定單元和標記單元:
在根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場之后,
所述確定單元,用于確定出位于所述第一運動矢量場集中的參與運算的第一運動矢量場,所述參與運算的第一運動矢量場是指為得到所述第二運動矢量場而參與所述預(yù)設(shè)的矢量運算方法的第一運動矢量場;
所述標記單元,用于對位于所述第一運動矢量場集中的所述參與運算的第一運動矢量場進行標記,得到用于標記所述參與運算的第一運動矢量場的標識信息;
所述編碼單元還用于對所述標識信息進行編碼處理,得到所述標識信息的編碼信息;并將所述標識信息的編碼信息發(fā)送給所述解碼器。
結(jié)合第三方面或第三方面的第一種可能實施方式至第三方面的第三種可能實施方式中任一種可能實施方式,在第三方面的第四種可能實施方式下,
所述編碼單元還用于對所述預(yù)設(shè)的矢量運算方法進行編碼處理,得到所述預(yù)設(shè)的矢量運算方法的編碼信息;并將所述預(yù)設(shè)的矢量運算方法的編碼信息發(fā)送給所述解碼器。
結(jié)合第三方面或第三方面的第一種可能實施方式至第三方面的第四種可能實施方式中任一種可能實施方式,在第三方面的第五種可能實施方式下,
在所述獲取單元獲取所述第一運動矢量場集之后,且在所述運算單元通過運算得到多個所述第二運動矢量場之前,
所述編碼單元還用于對所述第一運動矢量場集進行有損壓縮編碼處理,得到所述第一運動矢量場集的有損壓縮編碼信息。
結(jié)合第三方面的第五種可能實施方式,在第三方面的第六種可能實施方式下,
所述運算單元具體用于對所述第一運動矢量場集的有損壓縮編碼信息進行解碼處理,得到第三運動矢量場集;根據(jù)所述第三運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
結(jié)合第三方面的第五種可能實施方式或第三方面的第六種可能實施方式,在第三方面的第七種可能實施方式下,
所述編碼單元還用于將所述第一運動矢量場集的有損壓縮編碼信息傳輸給所述解碼器。
結(jié)合第三方面或第三方面的第一種可能實施方式或第三方面的第四種可能實施方式,在第三方面的第八種可能實施方式下,
在所述獲取單元獲取所述第一運動矢量場集之后,且在所述運算單元通過運算得到多個所述第二運動矢量場之前,
所述編碼單元還用于對所述第一運動矢量場集進行無損壓縮編碼處理,得到所述第一運動矢量場集的無損壓縮編碼信息。
結(jié)合第三方面的第八種可能實施方式,在第三方面的第九種可能實施方式 下,
所述運算單元具體用于對所述第一運動矢量場集的無損壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集;根據(jù)所述第一運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
結(jié)合第三方面的第八種可能實施方式或第三方面的第九種可能實施方式,在第三方面的第十種可能實施方式下,
所述編碼單元還用于將所述第一運動矢量場集的無損壓縮編碼信息傳輸給所述解碼器。
結(jié)合第三方面或第三方面的第一種可能實施方式或第三方面的第十種可能實施方式,在第三方面的第十一種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,P為大于或者等于N的整數(shù),
所述運算單元具體用于:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
結(jié)合第三方面的第十一種可能實施方式,在第三方面的第十二種可能實施 方式下,
所述運動補償預(yù)測單元具體用于:
根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號;
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號,獲得所述目標子圖像塊的P×M個殘差信號;從所述P×M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
結(jié)合第三方面或第三方面的第一種可能實施方式或第三方面的第十種可能實施方式,在第三方面的第十三種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
所述運算單元具體用于:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動 矢量場。
結(jié)合第三方面的第十三種可能實施方式,在第三方面的第十四種可能實施方式下,
所述運動補償預(yù)測單元具體用于:
根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號;
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的M個所述運動補償預(yù)測信號,確定出所述目標子圖像塊的M個殘差信號;從所述M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
結(jié)合第三方面或第三方面的第一種可能實施方式或第三方面的第十種可能實施方式,在第三方面的第十五種可能實施方式下,
在所述第一運動矢量場集中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
所述運算單元具體用于根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
第四方面,本發(fā)明實施例提供一種解碼器,包括:
接收單元,用于接收第一運動矢量場集的壓縮編碼信息,對所述第一運動矢量場集的壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
所述接收單元還用于接收標識信息的編碼信息,對所述標識信息的編碼信息進行解碼處理,得到所述標識信息,所述標識信息用于標記所述第一運動矢量 場集中參與矢量運算的第一運動矢量場,所述參與運算的第一運動矢量場是指根據(jù)所述預(yù)設(shè)的矢量運算方法,參與矢量預(yù)算從而得到第二運動矢量場的第一運動矢量場,所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
確定單元,用于根據(jù)所述第一運動矢量場集和所述標記信息,確定出所述參與矢量運算的第一運動矢量場;
所述接收單元還用于接收預(yù)設(shè)的矢量運算方法的編碼信息,對所述預(yù)設(shè)的矢量運算方法的編碼信息進行解碼處理,得到所述預(yù)設(shè)的矢量運算方法;
運算單元,用于根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場;
運動補償預(yù)測單元,用于根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
所述接收單元還用于接收所述目標子圖像塊的預(yù)測參差的編碼信號,并對所述目標子圖像塊的預(yù)測參差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測參差;
處理單元,用于根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號。
結(jié)合第四方面,在第四方面的第一種可能實施方式下,
所述處理單元具體用于利用所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點的像素值加上所述目標子圖像塊的預(yù)測參差中對應(yīng)像素點的像素值,得到所述目標子圖像塊的圖像信號,所述目標子圖像塊的運動補償預(yù)測信號包括多個像素點,所述目標子圖像塊的預(yù)測參差也包括多個像素點,對于所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點,所述目標子圖像塊的預(yù)測參差中均存在對應(yīng)的像素點。
結(jié)合第四方面或第四方面的第一種可能實施方式,在第四方面的第二種可 能實施方式下,
在所述參與矢量運算的第一運動矢量場包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,N為大于或者等于1的整數(shù),P為大于或者等于N的整數(shù),
所述運算單元具體用于:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
結(jié)合第四方面的第二種可能實施方式,在第四方面的第三種可能實施方式下,
所述運動補償預(yù)測單元具體用于根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號。
結(jié)合第四方面的第三種可能實施方式,在第四方面的第四種可能實施方式下,所述處理單元具體用于:
根據(jù)所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號和所述目標子圖像塊的殘差信號,得到所述目標子圖像塊的P×M個預(yù)測圖像信號;
從所述P×M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目 標子圖像塊的圖像信號。
結(jié)合第四方面或第四方面的第一種可能實施方式,在第四方面的第五種可能實施方式下,
在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
所述運算單元具體用于:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
結(jié)合第四方面的第五種可能實施方式,在第四方面的第六種可能實施方式下,
所述運動補償預(yù)測單元具體用于根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號。
結(jié)合第四方面的第六種可能實施方式,在第四方面的第七種可能實施方式下,
所述處理單元具體用于根據(jù)所述目標子圖像塊的M個運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測殘差,獲得所述目標子圖像塊的M個預(yù)測圖像信號,從所述M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
結(jié)合第四方面或第四方面的第一種可能實施方式,在第四方面的第八種可能實施方式下,
在所述參與矢量運算的第一運動矢量場中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
所述運算單元具體用于根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
第五方面,本發(fā)明實施例還提供一種編解碼系統(tǒng),該系統(tǒng)包括如第三方面任一種可能實施方式所述的編碼器和如第四方面任一種可能實施方式所述的解碼器,
所述編碼器用于對圖像信號進行編碼處理,得到圖像信號的編碼結(jié)果,并將所述圖像信號的編碼結(jié)果發(fā)送給所述解碼器;
所述解碼器用于接收所述圖像信號的編碼結(jié)果,并對所述圖像信號的編碼結(jié)果進行解碼處理,得到所述圖像信號。
由上可知,在本發(fā)明實施例提供的技術(shù)方案中,先獲取第一運動矢量場集,該第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場;然后根據(jù)該第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,其中,該第二運動矢量場為待處理圖像的目標子圖像塊相對于該待處理圖像的M個MCP參考圖像的運動矢量場;接著,根據(jù)該第二運動矢量場,基于運動補償預(yù)測算法,從M個MCP參考圖像中確定出目標子圖像塊的運動補償預(yù)測信號;根據(jù)目標子圖像塊的的圖像信號和目標子圖像塊的運動補償預(yù)測信號,得到目標子圖像塊的預(yù)測殘差,然后對目標子圖像塊的的預(yù)測殘差進行編碼 處理,即得到該目標子圖像塊的預(yù)測殘差的編碼信號。在本方案中,MCP參考圖像的幀數(shù)為M,且M為大于或者等于2的整數(shù),也即相對于現(xiàn)有技術(shù)來說,本發(fā)明實施例提供的技術(shù)方案支持多參考幀的運動補償預(yù)測,相對于現(xiàn)有技術(shù)中單參考幀的運動補償預(yù)測來說,在多數(shù)情況下,采用本方案最終確定的目標子圖像塊的預(yù)測殘差要小于現(xiàn)有技術(shù)中單參考幀時目標子圖像塊的預(yù)測殘差,從而在多數(shù)情況下,提高了目標子圖像塊的編碼效率。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1a為本發(fā)明實施例提供的視頻編碼方法的流程示意圖;
圖1b為在圖1a的基礎(chǔ)上,進一步限定的視頻編碼方法的流程示意圖;
圖1c為本發(fā)明實施例提供的視頻編碼方法的場景示意圖;
圖2為本發(fā)明實施例提供的視頻解碼方法的流程示意圖;
圖3a為本發(fā)明實施例提供的一種編碼器的結(jié)構(gòu)示意圖;
圖3b為本發(fā)明實施例提供的另一種編碼器的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的一種解碼器的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的一種編解碼系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在對本發(fā)明實施例提供的技術(shù)方案進行描述前,先對下述詞語進行解釋,以便于理解本申請文件的意思。
1、運動矢量場MVF參考圖像,是指Motion Vector Field參考圖像,是指用 于產(chǎn)生運動矢量場的參考圖像;
2、運動補償預(yù)測MCP參考圖像,是指Motion Compensation Prediction參考圖像,是指用于進行運動補償預(yù)測的參考圖像。
實施例一
參見附圖1a,為本發(fā)明實施例提供的一種視頻編碼方法的流程示意圖,該視頻編碼方法應(yīng)用于編碼端。本發(fā)明實施例提供的視頻編碼方法具體包括下述步驟:
S101、獲取第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
S103、根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,多個所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
需要說明的是,運動矢量場可以具有不同的粒度。例如,若將每一個像素作為一個運動矢量表示的基本單元,則該運動矢量場的粒度記做1×1;若經(jīng)每一個2×2的像素集合作為一個運動矢量表示的基本單元,則該運動矢量場的粒度記做2×2。在本發(fā)明實施例提供的技術(shù)方案,是以1×1粒度的情況為例進行說明的。
值得注意的是,所述待處理圖像可以位于所述一個以上圖像中,也可以不位于所述一個以上圖像中。針對不同的情況,所述預(yù)設(shè)的矢量運算方法也是不同的。在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M,也即所述待處理圖像的MVF參考圖像的幀數(shù)小于所述待處理圖像的MCP參考圖像的幀數(shù)。
需要說明的是,本發(fā)明實施例提供的技術(shù)方案還包括:對所述預(yù)設(shè)的矢量運算方法進行編碼處理,得到所述預(yù)設(shè)的矢量運算方法的編碼信息;將所述預(yù)設(shè)的矢量運算方法的編碼信息發(fā)送給所述解碼器。
S105、根據(jù)多個所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
S106、根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差;
具體的,所述根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差,包括:利用所述目標子圖像塊的圖像信號中包含的每一個像素點的像素值減去所述目標子圖像塊的運動補償預(yù)測信號中對應(yīng)像素點的像素值,得到所述目標子圖像塊的預(yù)測殘差,所述目標子圖像塊的圖像信號包括多個像素點,所述目標子圖像塊的運動補償預(yù)測信號也包括多個像素點,對于所述目標子圖像塊的圖像信號中包含的每一個像素點,所述目標子圖像塊的運動補償預(yù)測信號中均存在對應(yīng)的像素點。
S107、對所述目標子圖像塊的預(yù)測參差進行編碼處理,得到所述目標子圖像塊的預(yù)測殘差的編碼信號,并將所述目標子圖像塊的預(yù)測殘差的編碼信號發(fā)送給對端的解碼器。
值得注意的是,參見附圖1b,在步驟S103“根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場”之后,本發(fā)明實施例提供的技術(shù)方案還包括:
S1041、確定出位于所述第一運動矢量場集中的參與運算的第一運動矢量場,所述參與運算的第一運動矢量場是指為得到所述第二運動矢量場而參與所述預(yù)設(shè)的矢量運算方法的第一運動矢量場;
通常,所述參與運算的第一運動矢量場是所述第一運動矢量場集的真子集。
S1042、對位于所述第一運動矢量場集中的所述參與運算的第一運動矢量場進行標記,得到用于標記所述參與運算的第一運動矢量場的標識信息;
需要說明的是,在所述參與運算的第一運動矢量場包括所述待處理圖像的第一運動矢量場、且所述待處理圖像的MVF參考圖像和所述待處理圖像的MCP參考圖像的選取滿足特定關(guān)系的情況下,此處對所述待處理圖像的第一運動矢量場進 行編碼處理,可以通過下述方式實現(xiàn):將所述待處理圖像的MVF參考圖像的指示信息和所述待處理圖像的MCP參考圖像的指示信息進行聯(lián)合編碼,例如,待處理圖像的MVF參考圖像是待處理圖像的MCP參考圖像中距離待處理圖像最近的圖像,則只需編碼一個索引值,指示待處理圖像的MVF參考圖像在待處理圖像的MCP參考圖像中的位置即可。若待處理圖像的MVF參考圖像的選取滿足一定的規(guī)則,例如都是待處理圖像的前一幀、或者前兩幀,則可以在編碼視頻序列前對該模式進行編碼。最靈活的方式就是在待處理圖像上標記該待處理圖像的MVF參考圖像的位置,一般用MVF參考圖像與待處理圖像之間的距離表示,例如在HEVC標準中,用ΔPOC表示。
S1043、對所述標識信息進行編碼處理,得到所述標識信息的編碼信息;
S1044、將所述標識信息的編碼信息發(fā)送給所述解碼器。
進一步的,在步驟S101之后、步驟S103之前,本發(fā)明實施例提供的技術(shù)方案還包括:對所述第一運動矢量場集進行有損壓縮編碼處理,得到所述第一運動矢量場集的有損壓縮編碼信息。相應(yīng)的,步驟103所述的根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,具體被細化為:
對所述第一運動矢量場集的有損壓縮編碼信息進行解碼處理,得到第三運動矢量場集;
根據(jù)所述第三運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到所述第二運動矢量場。
需要說明的是,在得到所述第一運動矢量場集的有損壓縮編碼信息之后,本發(fā)明實施例提供的視頻編碼方法還包括:將所述第一運動矢量場集的有損壓縮編碼信息傳輸給所述解碼器。
作為本發(fā)明的另一個實施例,在步驟S101之后、步驟S103之前,本發(fā)明實施例提供的技術(shù)方案還包括:對所述第一運動矢量場集進行無損壓縮編碼處理,得到所述第一運動矢量場集的無損壓縮編碼信息。相應(yīng)的,步驟103所述的根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,具體被細化為:
對所述第一運動矢量場集的無損壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集;
根據(jù)所述第一運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到所述第二運動矢量場。
需要說明的是,在得到所述第一運動矢量場集的無損壓縮編碼信息之后,本發(fā)明實施例提供的視頻編碼方法還包括:將所述第一運動矢量場集的無損壓縮編碼信息傳輸給所述解碼器。
作為本發(fā)明的一個實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的用于產(chǎn)生MVF的參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的用于產(chǎn)生MVF的參考圖像的幀數(shù)之和為P,P為大于或者等于N的整數(shù),則所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,具體包括:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
需要說明的是,本發(fā)明實施例是通過對第一運動矢量場進行縮放處理,從而獲得第二運動矢量場的,例如要獲得第二運動矢量場mvf(t',t),可以通過對已知的運動矢量場mvf(t1',t1)進行縮放處理獲得,具體為其中t表示待處理圖像所在的時刻,t'表示待處理圖像的MCP參考圖像所在的時刻,t1表示位于視頻幀序列的某一幀圖像所在的時刻,t1'表示該位于視頻幀序列 的某一幀圖像的MVF參考圖像所在的時刻,在t1=t時,mvf(t1',t1)表示待處理圖像的第一運動矢量場。
參見附圖1c,假設(shè)待處理圖像為POC=3的圖像,待處理圖像的MCP參考圖像為POC=0的圖像,待處理圖像的MVF參考圖像為POC=2的圖像,其中,待處理圖像的第一運動矢量場mvf(2,3)是已知的,待處理圖像的第二運動矢量場mvf(0,3)是未知的,則可以通過對待處理圖像的第一運動矢量場mvf(2,3)進行縮放處理,獲得該待處理圖像的第二運動矢量場mvf(0,3),其中應(yīng)當理解的是,也可以通過其他已知的第一運動矢量場,例如通過mvf(1,2)來獲得mvf(0,3),
相應(yīng)的,所述根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從所述MCP參考圖像中確定出所述目標子圖像塊的預(yù)測殘差,具體包括:
根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號;
根據(jù)所述P×M個運動補償預(yù)測信號和所述目標子圖像塊的圖像信號,獲得所述目標子圖像塊的P×M個殘差信號;
從所述P×M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
作為本發(fā)明的另一個實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);則所述根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,具體包括:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其 中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
相應(yīng)的,所述根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從所述MCP參考圖像中確定出所述目標子圖像塊的預(yù)測殘差,具體包括:
根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,獲得所述目標子圖像塊的M個運動補償預(yù)測信號;
根據(jù)M個所述運動補償預(yù)測信號和所述目標子圖像塊的圖像信號,獲得所述目標子圖像塊的M個殘差信號,從所述M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
需要說明的是,本發(fā)明實施例也是通過對第一運動矢量場進行縮放處理獲得第二運動矢量場的。
作為本發(fā)明的再一個實施例,在所述第一運動矢量場集中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);則根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,具體包括:
根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
需要說明的是,本發(fā)明實施例是通過級聯(lián)多個第一運動矢量場獲取第二運 動矢量場的,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像3(圖像2的MVF參考圖像)的第一運動矢量場為mvf(3,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),可以通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)??芍?,級聯(lián)運算時,前一運動矢量場(例如mvf(2,1))的MVF參考圖像為后一運動矢量場(例如mvf(3,2))包括的位于所述視頻幀序列的圖像。進一步的,在上述例子中,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像4(圖像2的MVF參考圖像)的第一運動矢量場為mvf(4,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),需要首先對mvf(4,2)進行縮放處理,獲得mvf(3,2),其中,然后通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。
可知,在本發(fā)明實施例提供的技術(shù)方案中,先獲取第一運動矢量場集,該第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場;然后根據(jù)該第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到第二運動矢量場,其中,該第二運動矢量場為待處理圖像的目標子圖像塊相對于該待處理圖像的M個MCP參考圖像的運動矢量場;接著,根據(jù)該第二運動矢量場,基于運動補償預(yù)測算法,從M個MCP參考圖像中確定出目標子圖像塊的運動補償預(yù)測信號;根據(jù)目標子圖像塊的的圖像信號和目標子圖像塊的運動補償預(yù)測信號,得到目標子圖像塊的預(yù)測殘差,然后對目標子圖像塊的的預(yù)測殘差進行編碼處理,即得到該目標子圖像塊的預(yù)測殘差的編碼信號。在本方案中,MCP參考圖像的幀數(shù)為M,且M為大于或者等于2的整數(shù),也即相對于現(xiàn)有技術(shù)來說,本發(fā)明實施例提供的技術(shù)方案支持多參考幀的運動補償預(yù)測,相對于現(xiàn)有技術(shù)中單參考幀的運動補償預(yù)測來說,在多數(shù)情況下,采用本方案最終確定的目標子圖像 塊的預(yù)測殘差要小于現(xiàn)有技術(shù)中單參考幀時目標子圖像塊的預(yù)測殘差,從而在多數(shù)情況下,提高了目標子圖像塊的編碼效率。
實施例二
參見附圖2,為本發(fā)明實施例提供的一種視頻解碼方法的流程示意圖,該視頻編碼方法應(yīng)用于解碼端。本發(fā)明實施例提供的視頻解碼方法和實施例一提供的視頻編碼方法是相對應(yīng)的,具體的,本發(fā)明實施例提供的視頻解碼方法包括下述步驟:
S201、接收第一運動矢量場集的壓縮編碼信息,對所述第一運動矢量場集的壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
S202、接收標識信息的編碼信息,對所述標識信息的編碼信息進行解碼處理,得到所述標識信息,所述標識信息用于標記所述第一運動矢量場集中參與矢量運算的第一運動矢量場,所述參與運算的第一運動矢量場是指根據(jù)所述預(yù)設(shè)的矢量運算方法,參與矢量預(yù)算從而得到第二運動矢量場的第一運動矢量場,所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
通常,所述參與運算的第一運動矢量場是所述第一運動矢量場集的真子集。
S203、根據(jù)所述第一運動矢量場集和所述標記信息,確定出所述參與矢量運算的第一運動矢量場;
S204、接收預(yù)設(shè)的矢量運算方法的編碼信息,對所述預(yù)設(shè)的矢量運算方法的編碼信息進行解碼處理,得到所述預(yù)設(shè)的矢量運算方法;
值得注意的是,所述待處理圖像可以位于所述一個以上圖像中,也可以不位于所述一個以上圖像中。針對不同的情況,所述預(yù)設(shè)的矢量運算方法也是不同 的。在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M,也即所述待處理圖像的MVF參考圖像的幀數(shù)小于所述待處理圖像的MCP參考圖像的幀數(shù)。
S205、根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場;
S206、根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
S207、接收所述目標子圖像塊的預(yù)測參差的編碼信號,并對所述目標子圖像塊的預(yù)測參差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測參差;
S208、根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號。
需要說明的是,針對步驟206所述的從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,作為本領(lǐng)域技術(shù)人員應(yīng)該理解的是,從M個所述MCP參考圖像中能夠確定出M個運動補償預(yù)測信號,其中,所述目標子圖像塊的運動補償預(yù)測信號是該M個運動補償預(yù)測信號中的一個,且所述目標子圖像塊的運動補償預(yù)測信號相對于該M個運動補償預(yù)測信號中除所述目標子圖像塊的運動補償預(yù)測信號之外的其他信號來說,產(chǎn)生的預(yù)測殘差最小。
需要說明的是,步驟S208所述的根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號,具體包括下述內(nèi)容:
利用所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點的像素值加上所述目標子圖像塊的預(yù)測參差中對應(yīng)像素點的像素值,得到所述目標子圖像塊的圖像信號,所述目標子圖像塊的運動補償預(yù)測信號包括多個像素點,所述目標子圖像塊的預(yù)測參差也包括多個像素點,對于所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點,所述目標子圖像塊的預(yù)測參差中均存在對應(yīng)的像素點。
作為本發(fā)明的一個實施例,在所述參與矢量運算的第一運動矢量場包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,N為大于或者等于1的整數(shù),P為大于或者等于N的整數(shù),
步驟205所述的根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到所述第二運動矢量場,具體包括:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
需要說明的是,本發(fā)明實施例是通過對第一運動矢量場進行縮放處理,從而獲得第二運動矢量場的,例如要獲得第二運動矢量場mvf(t',t),可以通過對已知的運動矢量場mvf(t1',t1)進行縮放處理獲得,具體為其中t表示待處理圖像所在的時刻,t'表示待處理圖像的MCP參考圖像所在的時刻,t1表示位于視頻幀序列的某一幀圖像所在的時刻,t1'表示該位于視頻幀序列的某一幀圖像的MVF參考圖像所在的時刻,在t1=t時,mvf(t1',t1)表示待處理圖像的第一運動矢量場。
相應(yīng)的,步驟S206所述的根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號。
以及,步驟S208所述的根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號,具體包括:
根據(jù)所述P×M個運動補償預(yù)測信號和所述目標子圖像塊的殘差信號,獲得所述目標子圖像塊的P×M個預(yù)測圖像信號;
從所述P×M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
作為本發(fā)明的另一個實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
步驟205所述的根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到所述第二運動矢量場,具體包括:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
相應(yīng)的,步驟S206所述的根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,具體包括:根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參 考圖像,獲得所述目標子圖像塊的M個運動補償預(yù)測信號。
以及,步驟S208所述的根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號,具體包括:根據(jù)所述目標子圖像塊的M個運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測殘差,獲得所述目標子圖像塊的M個預(yù)測圖像信號,從所述M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
需要說明的是,本發(fā)明實施例也是通過對第一運動矢量場進行縮放處理獲得第二運動矢量場的。
作為本發(fā)明的再一個實施例,在所述參與矢量運算的第一運動矢量場中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
步驟S205所述的根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到所述第二運動矢量場,具體包括:
根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
需要說明的是,本發(fā)明實施例是通過級聯(lián)多個第一運動矢量場獲取第二運動矢量場的,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像3(圖像2的MVF參考圖像)的第一運動矢量場為mvf(3,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),可以通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。可知,級聯(lián)運算時,前一運動矢量場(例如mvf(2,1))的MVF參考圖像為后一運動矢量場(例如mvf(3,2))包括的位于所述視頻幀序列的圖像。進一步的,在上述例子中,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視 頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像4(圖像2的MVF參考圖像)的第一運動矢量場為mvf(4,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),需要首先對mvf(4,2)進行縮放處理,獲得mvf(3,2),其中,然后通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。
可知,本發(fā)明實施例提供的技術(shù)方案包括:根據(jù)該第二運動矢量場,基于運動補償預(yù)測算法,從M個MCP參考圖像中確定出目標子圖像塊的運動補償預(yù)測信號;接收所述目標子圖像塊的預(yù)測殘差的編碼信號,并對所述目標子圖像塊的預(yù)測殘差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測殘差;根據(jù)目標子圖像塊的的和目標子圖像塊的,得到目標子圖像塊的。在本方案中,MCP參考圖像的幀數(shù)為M,且M為大于或者等于2的整數(shù),也即相對于現(xiàn)有技術(shù)來說,本發(fā)明實施例提供的技術(shù)方案支持多參考幀的運動補償預(yù)測,相對于現(xiàn)有技術(shù)中單參考幀的運動補償預(yù)測來說,在多數(shù)情況下,采用本方案最終確定的目標子圖像塊的預(yù)測殘差要小于現(xiàn)有技術(shù)中單參考幀時目標子圖像塊的預(yù)測殘差,從而在多數(shù)情況下,提高了目標子圖像塊的編碼效率。
實施例三
參見附圖3a,本發(fā)明實施例還提供了一種編碼器300,該編碼器300為實施例一所述的視頻編碼方法的執(zhí)行主體,具體的,該編碼器300包括:
獲取單元301,用于獲取第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
運算單元303,用于根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二運動矢量場,多個所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分 為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
需要說明的是,運動矢量場可以具有不同的粒度。例如,若將每一個像素作為一個運動矢量表示的基本單元,則該運動矢量場的粒度記做1×1;若經(jīng)每一個2×2的像素集合作為一個運動矢量表示的基本單元,則該運動矢量場的粒度記做2×2。在本發(fā)明實施例提供的技術(shù)方案,是以1×1粒度的情況為例進行說明的。
值得注意的是,所述待處理圖像可以位于所述一個以上圖像中,也可以不位于所述一個以上圖像中。針對不同的情況,所述預(yù)設(shè)的矢量運算方法也是不同的。在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M,也即所述待處理圖像的MVF參考圖像的幀數(shù)小于所述待處理圖像的MCP參考圖像的幀數(shù)。
運動補償預(yù)測單元305,用于根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
處理單元307,用于根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的運動補償預(yù)測信號,得到所述目標子圖像塊的預(yù)測殘差;
具體的,處理單元307具體用于利用所述目標子圖像塊的圖像信號中包含的每一個像素點的像素值減去所述目標子圖像塊的運動補償預(yù)測信號中對應(yīng)像素點的像素值,得到所述目標子圖像塊的預(yù)測殘差,所述目標子圖像塊的圖像信號包括多個像素點,所述目標子圖像塊的運動補償預(yù)測信號也包括多個像素點,對于所述目標子圖像塊的圖像信號中包含的每一個像素點,所述目標子圖像塊的運動補償預(yù)測信號中均存在對應(yīng)的像素點。
編碼單元309,用于對所述目標子圖像塊的預(yù)測參差進行編碼處理,得到所述目標子圖像塊的預(yù)測參差的編碼信號,并將所述目標子圖像塊的預(yù)測殘差的編碼信號發(fā)送給對端的解碼器。
進一步的,參見附圖3b,所述編碼器還包括確定單元314和標記單元316:
在根據(jù)所述第一運動矢量場集,基于預(yù)設(shè)的矢量運算方法,得到多個第二 運動矢量場之后,
所述確定單元314,用于確定出位于所述第一運動矢量場集中的參與運算的第一運動矢量場,所述參與運算的第一運動矢量場是指為得到所述第二運動矢量場而參與所述預(yù)設(shè)的矢量運算方法的第一運動矢量場;
通常,所述參與運算的第一運動矢量場是所述第一運動矢量場集的真子集。
所述標記單元316,用于對位于所述第一運動矢量場集中的所述參與運算的第一運動矢量場進行標記,得到用于標記所述參與運算的第一運動矢量場的標識信息;
需要說明的是,在所述參與運算的第一運動矢量場包括所述待處理圖像的第一運動矢量場、且所述待處理圖像的MVF參考圖像和所述待處理圖像的MCP參考圖像的選取滿足特定關(guān)系的情況下,此處對所述待處理圖像的第一運動矢量場進行編碼處理,可以通過下述方式實現(xiàn):將所述待處理圖像的MVF參考圖像的指示信息和所述待處理圖像的MCP參考圖像的指示信息進行聯(lián)合編碼,例如,待處理圖像的MVF參考圖像是待處理圖像的MCP參考圖像中距離待處理圖像最近的圖像,則只需編碼一個索引值,指示待處理圖像的MVF參考圖像在待處理圖像的MCP參考圖像中的位置即可。若待處理圖像的MVF參考圖像的選取滿足一定的規(guī)則,例如都是待處理圖像的前一幀、或者前兩幀,則可以在編碼視頻序列前對該模式進行編碼。最靈活的方式就是在待處理圖像上標記該待處理圖像的MVF參考圖像的位置,一般用MVF參考圖像與待處理圖像之間的距離表示,例如在HEVC標準中,用ΔPOC表示。
附圖3b中,編碼單元319還用于對所述標識信息進行編碼處理,得到所述標識信息的編碼信息;并將所述標識信息的編碼信息發(fā)送給所述解碼器。
進一步在參見附圖3a,需要說明的是,編碼單元309還用于對所述預(yù)設(shè)的矢量運算方法進行編碼處理,得到所述預(yù)設(shè)的矢量運算方法的編碼信息;并將所述預(yù)設(shè)的矢量運算方法的編碼信息發(fā)送給所述解碼器。
作為本發(fā)明的一個實施例,在獲取單元301獲取所述第一運動矢量場集之后,且在運算單元303通過運算得到多個所述第二運動矢量場之前,
編碼單元301還用于對所述第一運動矢量場集進行有損壓縮編碼處理,得到所述第一運動矢量場集的有損壓縮編碼信息。
運算單元303具體用于對所述第一運動矢量場集的有損壓縮編碼信息進行 解碼處理,得到第三運動矢量場集;根據(jù)所述第三運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
進一步的,編碼單元301還用于將所述第一運動矢量場集的有損壓縮編碼信息傳輸給所述解碼器。
作為本發(fā)明的另一個實施例,在獲取單元301獲取所述第一運動矢量場集之后,且在運算單元303通過運算得到多個所述第二運動矢量場之前,
編碼單元309還用于對所述第一運動矢量場集進行無損壓縮編碼處理,得到所述第一運動矢量場集的無損壓縮編碼信息。
相應(yīng)的,運算單元303具體用于對所述第一運動矢量場集的無損壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集;根據(jù)所述第一運動矢量場集、所述一個以上圖像中每一圖像的圖像序列號和各自的MVF參考圖像的圖像序列號,基于預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場。
進一步的,編碼單元309還用于將所述第一運動矢量場集的無損壓縮編碼信息傳輸給所述解碼器。
作為本發(fā)明的再一個實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,P為大于或者等于N的整數(shù),
運算單元303具體用于:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于 所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
需要說明的是,本發(fā)明實施例是通過對第一運動矢量場進行縮放處理,從而獲得第二運動矢量場的,例如要獲得第二運動矢量場mvf(t',t),可以通過對已知的運動矢量場mvf(t1',t1)進行縮放處理獲得,具體為其中t表示待處理圖像所在的時刻,t'表示待處理圖像的MCP參考圖像所在的時刻,t1表示位于視頻幀序列的某一幀圖像所在的時刻,t1'表示該位于視頻幀序列的某一幀圖像的MVF參考圖像所在的時刻,在t1=t時,mvf(t1',t1)表示待處理圖像的第一運動矢量場。
參見附圖1c,假設(shè)待處理圖像為POC=3的圖像,待處理圖像的MCP參考圖像為POC=0的圖像,待處理圖像的MVF參考圖像為POC=2的圖像,其中,待處理圖像的第一運動矢量場mvf(2,3)是已知的,待處理圖像的第二運動矢量場mvf(0,3)是未知的,則可以通過對待處理圖像的第一運動矢量場mvf(2,3)進行縮放處理,獲得該待處理圖像的第二運動矢量場mvf(0,3),其中應(yīng)當理解的是,也可以通過其他已知的第一運動矢量場,例如通過mvf(1,2)來獲得mvf(0,3),
相應(yīng)的,運動補償預(yù)測單元305具體用于:
根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號;
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號,獲得所述目標子圖像塊的P×M個殘差信號;從所述P×M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
作為本發(fā)明的再一個實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
運算單元303具體用于:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
相應(yīng)的,運動補償預(yù)測單元305具體用于:
根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號;
根據(jù)所述目標子圖像塊的圖像信號和所述目標子圖像塊的M個所述運動補償預(yù)測信號,確定出所述目標子圖像塊的M個殘差信號;從所述M個殘差信號中選擇能量最小的殘差信號作為所述目標子圖像塊的預(yù)測殘差。
需要說明的是,本發(fā)明實施例也是通過對第一運動矢量場進行縮放處理獲得第二運動矢量場的。
作為本發(fā)明的再一個實施例,在所述第一運動矢量場集中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
運算單元309具體用于根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
需要說明的是,本發(fā)明實施例是通過級聯(lián)多個第一運動矢量場獲取第二運動矢量場的,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像3(圖像2的MVF參考圖像)的第一運動矢量場為mvf(3,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),可以通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)??芍?,級聯(lián)運算時,前一運動矢量場(例如mvf(2,1))的MVF參考圖像為后一運動矢量場(例如mvf(3,2))包括的位于所述視頻幀序列的圖像。進一步的,在上述例子中,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像4(圖像2的MVF參考圖像)的第一運動矢量場為mvf(4,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),需要首先對mvf(4,2)進行縮放處理,獲得mvf(3,2),其中,然后通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。
可知,在本發(fā)明實施例提供的技術(shù)方案中,獲取單元用于獲取第一運動矢量場集,該第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場;運算單元用于根據(jù)該第一運動矢量場集,基于預(yù)設(shè)的矢量運 算方法,得到第二運動矢量場,其中,該第二運動矢量場為待處理圖像的目標子圖像塊相對于該待處理圖像的M個MCP參考圖像的運動矢量場;運動補償預(yù)測單元用于根據(jù)該第二運動矢量場,基于運動補償預(yù)測算法,從M個MCP參考圖像中確定出目標子圖像塊的運動補償預(yù)測信號;處理單元用于根據(jù)目標子圖像塊的的圖像信號和目標子圖像塊的運動補償預(yù)測信號,得到目標子圖像塊的預(yù)測殘差,編碼單元用于對目標子圖像塊的的預(yù)測殘差進行編碼處理,即得到該目標子圖像塊的預(yù)測殘差的編碼信號。在本方案中,MCP參考圖像的幀數(shù)為M,且M為大于或者等于2的整數(shù),也即相對于現(xiàn)有技術(shù)來說,本發(fā)明實施例提供的技術(shù)方案支持多參考幀的運動補償預(yù)測,相對于現(xiàn)有技術(shù)中單參考幀的運動補償預(yù)測來說,在多數(shù)情況下,采用本方案最終確定的目標子圖像塊的預(yù)測殘差要小于現(xiàn)有技術(shù)中單參考幀時目標子圖像塊的預(yù)測殘差,從而在多數(shù)情況下,提高了目標子圖像塊的編碼效率。
實施例四
參見附圖4,本發(fā)明實施例還提供了一種解碼器400,該解碼器400為實施例二所述的視頻解碼方法的執(zhí)行主體,具體的,該解碼器400包括:
接收單元401,用于接收第一運動矢量場集的壓縮編碼信息,對所述第一運動矢量場集的壓縮編碼信息進行解碼處理,得到所述第一運動矢量場集,所述第一運動矢量場集包括一個以上圖像中每一圖像相對于各自的一個或者多個運動矢量場MVF參考圖像的運動矢量場,所述一個以上圖像位于同一視頻幀序列,所述一個以上圖像中每一圖像的MVF參考圖像也位于所述視頻幀序列,所述一個以上圖像中的每一圖像和各自的MVF參考圖像不相同;
接收單元401還用于接收標識信息的編碼信息,對所述標識信息的編碼信息進行解碼處理,得到所述標識信息,所述標識信息用于標記所述第一運動矢量場集中參與矢量運算的第一運動矢量場,所述參與運算的第一運動矢量場是指根據(jù)所述預(yù)設(shè)的矢量運算方法,參與矢量預(yù)算從而得到第二運動矢量場的第一運動矢量場,所述第二運動矢量場為待處理圖像的目標子圖像塊相對于所述待處理圖像的M個運動補償預(yù)測MCP參考圖像中每一MCP參考圖像的運動矢量場,所述待處理圖像位于所述視頻幀序列,且所述待處理圖像被劃分為互不重疊的多個子圖像塊,所述目標子圖像塊位于互不重疊的所述多個子圖像塊中,所述MCP參考圖像為所述視頻幀序列中的已編碼圖像,或者,所述MCP參考圖像為通過對所述視頻 幀序列中的已編碼圖像進行處理得到的中間圖像,M為大于或者等于2的整數(shù);
通常,所述參與運算的第一運動矢量場是所述第一運動矢量場集的真子集。
確定單元403,用于根據(jù)所述第一運動矢量場集和所述標記信息,確定出所述參與矢量運算的第一運動矢量場;
接收單元401還用于接收預(yù)設(shè)的矢量運算方法的編碼信息,對所述預(yù)設(shè)的矢量運算方法的編碼信息進行解碼處理,得到所述預(yù)設(shè)的矢量運算方法;
值得注意的是,所述待處理圖像可以位于所述一個以上圖像中,也可以不位于所述一個以上圖像中。針對不同的情況,所述預(yù)設(shè)的矢量運算方法也是不同的。在所述一個以上圖像中包括所述待處理圖像的情況下,所述待處理圖像的MVF參考圖像的幀數(shù)小于或者等于M,也即所述待處理圖像的MVF參考圖像的幀數(shù)小于所述待處理圖像的MCP參考圖像的幀數(shù)。
運算單元405,用于根據(jù)所述參與矢量運算的第一運動矢量場和所述預(yù)設(shè)的矢量運算方法,得到多個所述第二運動矢量場;
運動補償預(yù)測單元407,用于根據(jù)所述第二運動矢量場,基于運動補償預(yù)測算法,從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號;
需要說明的是,針對從M個所述MCP參考圖像中確定出所述目標子圖像塊的運動補償預(yù)測信號,作為本領(lǐng)域技術(shù)人員應(yīng)該理解的是,從M個所述MCP參考圖像中能夠確定出M個運動補償預(yù)測信號,其中,所述目標子圖像塊的運動補償預(yù)測信號是該M個運動補償預(yù)測信號中的一個,且所述目標子圖像塊的運動補償預(yù)測信號相對于該M個運動補償預(yù)測信號中除所述目標子圖像塊的運動補償預(yù)測信號之外的其他信號來說,產(chǎn)生的預(yù)測殘差最小。
接收單元401還用于接收所述目標子圖像塊的預(yù)測參差的編碼信號,并對所述目標子圖像塊的預(yù)測參差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測參差;
處理單元409,用于根據(jù)所述目標子圖像塊的運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測參差,得到所述目標子圖像塊的圖像信號。
需要說明的是,所述處理單元409具體用于利用所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點的像素值加上所述目標子圖像塊的預(yù)測參差中對應(yīng)像素點的像素值,得到所述目標子圖像塊的圖像信號,所述目標子圖像塊 的運動補償預(yù)測信號包括多個像素點,所述目標子圖像塊的預(yù)測參差也包括多個像素點,對于所述目標子圖像塊的運動補償預(yù)測信號中包含的每一個像素點,所述目標子圖像塊的預(yù)測參差中均存在對應(yīng)的像素點。
作為本發(fā)明的一個實施例,在所述參與矢量運算的第一運動矢量場包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,N為大于或者等于1的整數(shù),P為大于或者等于N的整數(shù),
運算單元405具體用于:
確定P個第一相對圖像序列號,P個所述第一相對圖像序列號為所述N個圖像中每一圖像相對于各自的MVF參考圖像中的每一MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
得到P×M個縮放比值,所述P×M個縮放比值是指P個所述第一相對圖像序列號中每一第一相對圖像序列號與M個所述第二相對圖像序列號中每一第二相對圖像序列號的比值;
對于所述P×M個縮放比值中的每一縮放比值,均按照下面針對第Q個縮放比值的操作方法進行處理,從而得到P×M個所述第二運動矢量場,其中,在所述第Q個縮放比值對應(yīng)的第一相對圖像序列號為所述N個圖像中第U個圖像相對于所述第U個圖像的第V個MVF參考圖像的圖像序列號的情況下:
根據(jù)所述第Q個縮放比值,對所述第U個圖像相對于所述第U個圖像的MVF參考圖像中的第V個MVF參考圖像的運動矢量場進行縮放處理,得到第Q個所述第二運動矢量場。
需要說明的是,本發(fā)明實施例是通過對第一運動矢量場進行縮放處理,從而獲得第二運動矢量場的,例如要獲得第二運動矢量場mvf(t',t),可以通過對已知的運動矢量場mvf(t1',t1)進行縮放處理獲得,具體為其中t表示待處理圖像所在的時刻,t'表示待處理圖像的MCP參考圖像所在的時刻,t1表示位于視頻幀序列的某一幀圖像所在的時刻,t1'表示該位于視頻幀序列的某 一幀圖像的MVF參考圖像所在的時刻,在t1=t時,mvf(t1',t1)表示待處理圖像的第一運動矢量場。
相應(yīng)的,運動補償預(yù)測單元407具體用于根據(jù)P×M個所述第二運動矢量場中每一第二運動矢量場,基于運動補償預(yù)測算法,從相應(yīng)的MCP參考圖像中確定出所述目標子圖像塊的P×M個運動補償預(yù)測信號。
以及,處理單元409具體用于:
根據(jù)所述目標子圖像塊的P×M個運動補償預(yù)測信號中每一運動補償預(yù)測信號和所述目標子圖像塊的殘差信號,得到所述目標子圖像塊的P×M個預(yù)測圖像信號;
從所述P×M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
作為本發(fā)明的另一實施例,在所述第一運動矢量場集包括N個圖像中每一圖像相對于各自的MVF參考圖像的運動矢量場的情況下,其中,N為大于或者等于1的整數(shù),所述N個圖像對應(yīng)的MVF參考圖像的幀數(shù)之和為P,則所述第一運動矢量場集包括P個第一運動矢量場,P為大于或者等于N的整數(shù);
運算單元405具體用于:
從P個所述第一運動矢量場中確定出一個最優(yōu)運動矢量場,所述最優(yōu)運動矢量場是指P個所述第一運動矢量場中能夠使得所述目標子圖像塊的預(yù)測殘差能量最小的第一運動矢量場;
在所述最優(yōu)運動矢量場是指所述N個圖像中的第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的運動矢量場的情況下,其中,E為大于或者等于1且小于或者等于N的整數(shù),F(xiàn)為大于或者等于1的整數(shù),G為大于或者等于1且小于或者等于F的整數(shù);
確定第三相對圖像序列號,所述第三相對圖像序列號為所述第E個圖像相對于所述第E個圖像的F個MVF參考圖像中的第G個MVF參考圖像的圖像序列號;
確定M個第二相對圖像序列號,M個所述第二相對圖像序列號為所述待處理圖像相對于M個所述MCP參考圖像中每一MCP參考圖像的圖像序列號;
根據(jù)所述第三相對圖像序列號與M個所述第二相對圖像序列號中每一第二圖像序列號的比值,對所述第E個圖像相對于所述第E個圖像的F個MVF參考圖 像中的第G個MVF參考圖像的運動矢量場進行縮放處理,得到M個所述第二運動矢量場。
相應(yīng)的,運動補償預(yù)測單元407具體用于根據(jù)M個所述第二運動矢量場中每一第二運動矢量場和對應(yīng)的MCP參考圖像,基于運動補償預(yù)測算法,確定出所述目標子圖像塊的M個運動補償預(yù)測信號。
以及,處理單元409具體用于根據(jù)所述目標子圖像塊的M個運動補償預(yù)測信號和所述目標子圖像塊的預(yù)測殘差,獲得所述目標子圖像塊的M個預(yù)測圖像信號,從所述M個預(yù)測圖像信號中選擇能量最小的預(yù)測圖像信號作為所述目標子圖像塊的圖像信號。
需要說明的是,本發(fā)明實施例也是通過對第一運動矢量場進行縮放處理獲得第二運動矢量場的。
作為本發(fā)明的再一個實施例,在所述參與矢量運算的第一運動矢量場中包括所述待處理圖像相對于第一圖像的第一運動矢量場mvf(t1,t),所述第一圖像相對于所述第二圖像的第一運動矢量場mvf(t2,t1),所述第二圖像相對于第三圖像的第一運動矢量場mvf(t3,t2),……,第K圖像相對于所述待處理圖像的MCP參考圖像的第一運動矢量場mvf(t',tk),K為大于或者等于3的整數(shù);
運算單元405具體用于根據(jù)公式mvf(t',t)=mvf(t',tk)+…+mvf(t3,t2)+mvf(t2,t1)+mvf(t1,t),得到所述第二運動矢量場mvf(t',t)。
需要說明的是,本發(fā)明實施例是通過級聯(lián)多個第一運動矢量場獲取第二運動矢量場的,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像3(圖像2的MVF參考圖像)的第一運動矢量場為mvf(3,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),可以通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。可知,級聯(lián)運算時,前一運動矢量場(例如mvf(2,1))的MVF參考圖像為后一運動矢量場(例如mvf(3,2))包括的位于所述視頻幀序列的圖像。進一步的,在上 述例子中,假設(shè)待處理圖像為圖像1,圖像1的MCP參考圖像為圖像3,位于視頻幀序列內(nèi)的圖像1相對于圖像2(圖像1的MVF參考圖像)的第一運動矢量場為mvf(2,1),圖像2相對于圖像4(圖像2的MVF參考圖像)的第一運動矢量場為mvf(4,2),為了獲取圖像1相對于圖像3的第二運動矢量場mvf(3,1),需要首先對mvf(4,2)進行縮放處理,獲得mvf(3,2),其中,然后通過對mvf(2,1)和mvf(3,2)進行級聯(lián)處理獲取,具體的mvf(3,1)=mvf(3,2)+mvf(2,1)。
可知,本發(fā)明實施例提供的技術(shù)方案包括:運動預(yù)測單元用于根據(jù)該第二運動矢量場,基于運動補償預(yù)測算法,從M個MCP參考圖像中確定出目標子圖像塊的運動補償預(yù)測信號;接收單元用于接收所述目標子圖像塊的預(yù)測殘差的編碼信號,并對所述目標子圖像塊的預(yù)測殘差的編碼信號進行解碼處理,得到所述目標子圖像塊的預(yù)測殘差;處理單元用于根據(jù)目標子圖像塊的的和目標子圖像塊的,得到目標子圖像塊的。在本方案中,MCP參考圖像的幀數(shù)為M,且M為大于或者等于2的整數(shù),也即相對于現(xiàn)有技術(shù)來說,本發(fā)明實施例提供的技術(shù)方案支持多參考幀的運動補償預(yù)測,相對于現(xiàn)有技術(shù)中單參考幀的運動補償預(yù)測來說,在多數(shù)情況下,采用本方案最終確定的目標子圖像塊的預(yù)測殘差要小于現(xiàn)有技術(shù)中單參考幀時目標子圖像塊的預(yù)測殘差,從而在多數(shù)情況下,提高了目標子圖像塊的編碼效率。
實施例五
參見附圖5,本發(fā)明實施例還提供了一種編解碼系統(tǒng),該編解碼系統(tǒng)包括如實施例三所述的編碼器501,且該編解碼系統(tǒng)還包括如實施例四所述的解碼器502。
所述編碼器501用于對圖像信號進行編碼處理,得到圖像信號的編碼結(jié)果,并將所述圖像信號的編碼結(jié)果發(fā)送給所述解碼器502;
所述解碼器501用于接收所述圖像信號的編碼結(jié)果,并對所述圖像信號的編碼結(jié)果進行解碼處理,得到所述圖像信號。
可知,由于本發(fā)明實施例提供的編解碼系統(tǒng)中,編碼器具有實施例三所述的在多數(shù)情況下能夠提高目標子圖像塊的編碼效率的優(yōu)勢,解碼器也具有實施例四 所述的在多數(shù)情況下能夠提高目標子圖像塊的編碼效率的優(yōu)勢,所以,采用本發(fā)明實施例提供的編解碼系統(tǒng),同樣能夠在多數(shù)情況下,提高目標子圖像塊的編碼效率。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于虛擬機的數(shù)據(jù)交換裝置、物理主機以及通信系統(tǒng)的實施例而言,由于其基本相似于虛擬機的數(shù)據(jù)交換方法的實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是也可以或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,本發(fā)明提供的裝置實施例附圖中,單元之間的連接關(guān)系表示它們之間具有通信連接,具體可以實現(xiàn)為一條或者多條通信總線或者信號線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,既可以理解并實施。
本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。
以上對本發(fā)明實施例所提供的一種視頻編解碼方法、編解碼器及編解碼系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。