,對二維碼區(qū)域重新進行掃描和解碼,提高了二維碼解碼的成功率。
[0062]進一步地,為了盡量縮短第一次掃描的時間,二維碼快速解碼裝置,在確定二維碼各尋像圖形的坐標時,可以采用圖9所示的方式進行。
[0063]圖9為本發(fā)明實施例四提供的又一種二維碼快速解碼方法流程示意圖。如圖9所示,上述S15,包括:
[0064]S15a,以第一預設的掃描密度對視頻圖像自下而上進行掃描,確定第一尋像圖形的坐標。
[0065]S15b,根據(jù)所述第一尋像圖形的縱坐標值,對所述視頻圖像上對應的列進行掃描,確定第二尋像圖形的橫坐標。
[0066]S15c,根據(jù)所述第二尋像圖形的橫坐標值,對所述視頻圖像上對應的行進行掃描,確定第三尋像圖形的縱坐標。
[0067]具體的,以圖2為例,第一尋像圖形為圖中的C、第二尋像圖形為圖中的A、第三尋像圖形為圖中的B。
[0068]假如二維碼快速解碼裝置采用自下而上、且自右而左的方式進行掃描,則對圖7所示的視頻圖像進行掃描時,首先可以確定的即為尋像圖形C的坐標,可以理解的是,二維碼快速解碼裝置,可以根據(jù)第一次掃描到尋像圖形C時,尋像圖形C上的點的坐標確定尋像圖形C的坐標,舉例來說,將尋像圖形C的右下點的坐標確定為尋像圖形C的坐標,或者,還可以在將尋像圖形C掃描完畢后,將最后掃描到的尋像圖形C上的點的坐標,如圖7中的尋像圖形C的右上角頂點的坐標,確定為尋像圖形C的坐標。本實施例對此不做限定。
[0069]在確定了第一尋像圖形C的坐標后,由于第二尋像圖形A與第一尋像圖形C在相同的列,則可以根據(jù)尋像圖形C的縱坐標值,對視頻圖像上對應的列進行掃描,從而確定第二尋像圖形A的坐標,同樣的,由于第三尋像圖形B與第二尋像圖形A在相同的行,因此,在確定了第二尋像圖形A的坐標后,即可根據(jù)尋像圖形A的橫坐標,對視頻圖像上對應的行進行掃描,從而確定尋像圖形B的坐標,從而根據(jù)A、B和C的坐標,即可確定二維碼的區(qū)域。
[0070]可以理解的是,為使確定的二維碼區(qū)域涵蓋所有的編碼區(qū)域,上述第一尋像圖形、第二尋像圖形和第三尋像圖形的坐標可以根據(jù)各尋像圖形遠離編碼區(qū)域的邊界點確定,比如,第一尋像圖形C的坐標根據(jù)其右下角頂點確定,第二尋像圖形A的坐標根據(jù)其左上角頂點確定,第三尋像圖形B的坐標根據(jù)其右上角頂點確定。
[0071]本實施例提供的二維碼快速解碼方法,在確定第一尋像圖形坐標后,僅對第一尋像圖形的縱坐標對應的列所在的視頻圖像進行掃描,從而確定第二尋像圖形的坐標,之后對第二尋像圖形的橫坐標對應的行所在的視頻圖像進行掃描,從而確定第三尋像圖形的坐標,進一步地縮短了二維碼解碼過程中第一次掃描的時間,為第二次掃描和第三次掃描提供了條件,提高了二維碼解碼的速度和效率。
[0072]圖10為本發(fā)明實施例五提供的一種二維碼快速解碼裝置結構示意圖。如圖10所示,該裝置包括:第一掃描模塊101和第二掃描模塊102。
[0073]其中,第一掃描模塊101,用于以第一預設的掃描密度對視頻圖像進行掃描,確定所述視頻圖像中二維碼的區(qū)域;第二掃描模塊102,用于以第二預設的掃描密度對所述二維碼的區(qū)域內(nèi)的視頻圖像進行掃描和解碼,確定二維碼的內(nèi)容,其中第一預設的掃描密度比第二預設的掃描密度高。
[0074]具體的,本實施例提供的二維碼快速解碼裝置,用于執(zhí)行本發(fā)明實施例一提供的二維碼快速定解碼方法,該裝置可以集成在終端中,用于分析終端內(nèi)的視頻圖像中是否包括二維碼以及解析該二維碼所對應的內(nèi)容。
[0075]其中,本發(fā)明各實施例中二維碼快速定位解碼裝置對視頻圖像進行掃描的過程,不同于傳統(tǒng)意義的用拍照裝置對二維碼進行掃描,而是指顯示視頻圖像的終端,比如智能電視對自己顯示的視頻圖像進行分析和解碼,以獲取視頻圖像中的二維碼內(nèi)容的過程。舉例來說,二維碼快速解碼裝置可以獲取智能電視的每一幀視頻圖像,之后對獲取的每一幀視頻圖像進行掃描和解析,從而獲取該視頻圖像中二維碼的內(nèi)容,進而根據(jù)該二維碼的內(nèi)容生成顯示面積更大的二維碼,并顯示在智能電視顯示屏幕的相應位置。
[0076]具體的,二維碼快速解碼裝置可以是根據(jù)二維碼的構成特點,確定二維碼的區(qū)域,比如,根據(jù)二維碼的編碼區(qū)域或?qū)は駡D像的特點,確定視頻圖像中二維碼的編碼區(qū)域。若二維碼快速解碼裝置根據(jù)尋像圖像的特點,確定二維碼的區(qū)域,則上述第一掃描模塊101,具體用于:
[0077]以第一預設的掃描密度對所述視頻圖像進行掃描,確定所述視頻圖像中二維碼的各尋像圖形的坐標;
[0078]根據(jù)所述二維碼各尋像圖形的坐標,確定所述二維碼的區(qū)域。
[0079]實際使用時,二維碼快速解碼裝置,即可根據(jù)上述尋像圖形的特點,對視頻圖像進行掃描,當確定連續(xù)的五個數(shù)據(jù)單元的顏色依次為深色-淺色-深色-淺色-深色時,且該五個數(shù)據(jù)單元的寬度比例為1: 1:3:1:1時,即可確定該連續(xù)的5個數(shù)據(jù)單元為尋像圖形的一部分。
[0080]舉例來說,如圖2所示,若二維碼快速解碼裝置,是以由上到下、由左向右的順序?qū)σ曨l圖像進行掃描,則首先被掃到的尋像圖形為A,此時,可以根據(jù)連續(xù)的五個數(shù)據(jù)單元的橫坐標,確定該尋像圖形的橫坐標,根據(jù)連續(xù)的五個數(shù)據(jù)單元中最左側的數(shù)據(jù)單元的縱坐標,確定尋像圖形A的縱坐標。
[0081]當二維碼中三個尋像圖形的坐標確定后,整個二維碼的區(qū)域即可確定,一旦二維碼的區(qū)域確定,二維碼快速解碼裝置,即可去掉視頻圖像中二維碼區(qū)域之外的所有部分,只對二維碼的區(qū)域以第二預設的掃描密度,進行掃描解碼處理。
[0082]通常情況下,在畫面質(zhì)量良好二維碼中的數(shù)據(jù)塊沒有被破壞的情況下,并不需要掃描所有的行。圖5為對視頻圖像中的二維碼進行隔行掃描的示意圖。如圖5所示,每個最小的數(shù)據(jù)塊占用9個像素單位,則隔行掃描的方式肯定能掃到所有的數(shù)據(jù)塊的值。以黑色數(shù)據(jù)塊為例,行掃描Xn,Xn+l和Xn+2,列掃描Yn,Yn+1和Yn+2,則黑色數(shù)據(jù)塊被掃描到兩次,分別是[Xn,Yn+1 ]和[Xn+1,Yn+1 ]。圖中給出的是隔行掃描的情況,實際情況中往往可以跨多行掃描即可對絕大多數(shù)二維碼成功解碼,從而可以進一步提高對二維碼的解碼速度。
[0083]通常,為了實現(xiàn)對二維碼尋像圖形的準確定位,第一預設的掃描密度可以設置的比第二預設的掃描密度高,比如對每行像素單元行都進行掃描,即第一預設的掃描密度為每行掃描。而由于二維碼數(shù)據(jù)區(qū)域中,各個最小數(shù)據(jù)塊往往會占用幾個像素單元,因此可以設置較低的掃描密度,對二維碼區(qū)域進行掃描和解碼,比如采用各行掃描、隔兩行掃描等,即第一預設的掃描密度比第二預設的掃描密度高。
[0084]需要說明的是,第一預設的掃描密度和第二預設的掃描密度可以根據(jù)終端顯示屏的大小、終端顯示屏的像素大小及二維碼快速解碼裝置的處理速度確定。舉例來說,若終端為手機,由于手機的顯示屏相對較小,則手機顯示的視頻圖像相對較小,二維碼占整幀顯示圖像的比例較大,因此第一預設的掃描密度可以選擇相對較低的值,而若終端為電視,由于電視的顯示屏相對較大,則電視顯示的視頻圖像相對較大,二維碼占整幀視頻圖像的比例較小,因此第一預設的掃描密度可以選擇相對較高的值。
[0085]可以理解的是,當二維碼快速解碼裝置,在解析出二維碼的信息后,可以根據(jù)二維碼信息中包含的內(nèi)容,重新生成大的二維碼,并顯示在終端的顯示屏上,以方便用戶進行掃描獲取二維碼信息,或者還可以將二維碼的信息保存,在該視頻圖像播放結束后,重新生成大的二維碼,并顯示在終端的顯示屏上,以方便用戶進行掃描獲取二維碼信息,或者,若終端為智能電視或者電腦,則二維碼快速解碼裝置還可以將解碼出的二維碼信息發(fā)送給與該智能電視或電腦關聯(lián)的移動終端,比如手機或者平板電腦等,供用戶使用。
[0086]本實施例提供的二維碼快速解碼裝置,首先以第一預設的掃描密度對視頻圖像進行掃描,確定二維碼的區(qū)域,再以第二預設的掃描密度對二維碼的區(qū)域內(nèi)的視頻圖像進行掃描和解碼,由于第一次掃描僅確定尋像圖形的坐標,掃描速度快,時間短,第二次僅對二維碼區(qū)域進行掃描和解碼,掃描和解碼區(qū)域小,減輕了終端的處理負擔,縮短了二維碼的定位和解碼時間。
[0087]通過上述分析可知,二維碼快速解碼裝置,可以以較低的掃描密度對確定的二維碼區(qū)域進行掃描和解碼。但是由于不同的片源或者頻道,視頻圖像的質(zhì)量和二維碼的質(zhì)量往往差別很大,且二維碼的大小不同,對應的最小數(shù)據(jù)塊大小和所占的像素數(shù)必然不同,另夕卜,畫面的噪點可能造成一部分二維碼數(shù)據(jù)塊的損失,使得對相同大小的二維碼,以相同的第二預設的掃描密度進行掃描時,可能也會存在掃描解碼失敗的問題。下面結合圖11,對第二預設的掃描密度對二維碼的區(qū)域掃描解碼失敗的情況,進行進一步說明。
[0088]圖11為本發(fā)明實施例七提供的另一種二維碼快速解碼裝置結構示意圖。如圖11所示,在上述圖10的基礎上,該裝置,還包括:
[0089]第三掃描模塊103,用于若解碼失敗,則以第三預設的掃