使用深色和淺色分別代表二進(jìn)制的I和0,使用二進(jìn)制對(duì)信息進(jìn)行圖形化表示。解碼即將圖形化信息重新還原成原本的文本或數(shù)據(jù)信息。
[0040]對(duì)二維碼進(jìn)行解碼時(shí),需要掃描整個(gè)二維碼區(qū)域解碼出每個(gè)最小數(shù)據(jù)塊,根據(jù)顏色深淺記為I或者O。最小的數(shù)據(jù)塊往往根據(jù)實(shí)際二維碼的大小占用數(shù)目不定的多個(gè)像素。通常情況下,在畫面質(zhì)量良好二維碼中的數(shù)據(jù)塊沒有被破壞的情況下,并不需要掃描所有的行。圖5為對(duì)視頻圖像中的二維碼進(jìn)行隔行掃描的示意圖。假設(shè)如圖5所示,每個(gè)最小的數(shù)據(jù)塊占用9個(gè)像素單位,則隔行掃描的方式肯定能掃到所有的數(shù)據(jù)塊的值。以黑色數(shù)據(jù)塊為例,行掃描Xn,Xn+l和Xn+2,列掃描Yn,Yn+1和Yn+2,則黑色數(shù)據(jù)塊被掃描到兩次,分別是[Χη,Υη+1]和[Χη+1,Υη+1]。圖中給出的是隔行掃描的情況,實(shí)際情況中往往可以跨多行掃描即可對(duì)絕大多數(shù)二維碼成功解碼,從而可以進(jìn)一步提高對(duì)二維碼的解碼速度。
[0041]通常,為了實(shí)現(xiàn)對(duì)二維碼尋像圖形的準(zhǔn)確定位,第一預(yù)設(shè)的掃描密度可以設(shè)置的比第二預(yù)設(shè)的掃描密度高,比如對(duì)每行像素單元行都進(jìn)行掃描,即第一預(yù)設(shè)的掃描密度為逐行掃描。而由于二維碼數(shù)據(jù)區(qū)域中,各個(gè)最小數(shù)據(jù)塊往往會(huì)占用幾個(gè)像素單元,因此可以設(shè)置較低的掃描密度進(jìn)行解碼,對(duì)二維碼區(qū)域進(jìn)行掃描和解碼,比如采用隔行掃描、隔兩行掃描等,即第一預(yù)設(shè)的掃描密度比第二預(yù)設(shè)的掃描密度高。
[0042]需要說明的是,第一預(yù)設(shè)的掃描密度和第二預(yù)設(shè)的掃描密度可以根據(jù)終端顯示屏視頻圖像的大小、終端顯示屏視頻圖像的像素大小及二維碼快速定位解碼裝置的處理速度確定。舉例來說,若終端為手機(jī),由于手機(jī)的顯示屏相對(duì)較小,則手機(jī)顯示的視頻圖像相對(duì)較小,二維碼占整幀顯示圖像的比例較大,因此第一預(yù)設(shè)的掃描密度可以選擇相對(duì)較低的值,而若終端為電視,由于電視的顯示屏相對(duì)較大,則電視顯示的視頻圖像相對(duì)較大,二維碼占整幀視頻圖像的比例較小,因此第一預(yù)設(shè)的掃描密度可以選擇相對(duì)較高的值。
[0043]可以理解的是,當(dāng)二維碼快速解碼裝置,在解碼出二維碼的信息后,可以根據(jù)二維碼信息中包含的內(nèi)容,重新生成顯示面積較大的二維碼,并顯示在終端的顯示屏上,以方便用戶進(jìn)行掃描獲取二維碼信息,或者還可以將二維碼的信息保存,在該視頻圖像播放結(jié)束后,重新生成大的二維碼,并顯示在終端的顯示屏上相應(yīng)的位置,以方便用戶進(jìn)行掃描獲取二維碼信息,或者,若終端為智能電視或者電腦,則二維碼快速解碼裝置還可以將解碼出的二維碼信息發(fā)送給與該智能電視或電腦關(guān)聯(lián)的移動(dòng)終端,比如手機(jī)或者平板電腦等,供用戶使用。
[0044]本實(shí)施例提供的二維碼快速解碼方法,首先以第一預(yù)設(shè)的掃描密度對(duì)視頻圖像進(jìn)行掃描,確定二維碼的區(qū)域,再以第二預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,由于第一次掃描僅確定尋像圖形的坐標(biāo),掃描速度快,時(shí)間短,第二次僅對(duì)二維碼區(qū)域進(jìn)行掃描和解碼,掃描和解碼區(qū)域小,從而減輕了終端的處理負(fù)擔(dān),縮短了二維碼定位和解碼時(shí)間,提高了二維碼的解碼效率。
[0045]通過上述分析可知,二維碼快速解碼裝置,可以以較低的掃描密度對(duì)確定的二維碼區(qū)域進(jìn)行掃描和解碼。但是由于不同的片源或者頻道,視頻圖像的質(zhì)量和二維碼的質(zhì)量往往差別很大,且二維碼的大小不同,對(duì)應(yīng)的最小數(shù)據(jù)塊大小和所占的像素?cái)?shù)必然不同,另夕卜,畫面的噪點(diǎn)可能造成一部分二維碼數(shù)據(jù)塊的損失,使得對(duì)相同大小的二維碼,以相同的第二預(yù)設(shè)的掃描密度進(jìn)行掃描時(shí),可能也會(huì)存在掃描解碼失敗的問題。下面結(jié)合圖6,對(duì)第二預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域掃描解碼失敗的情況,進(jìn)行進(jìn)一步說明。
[0046]圖6為本發(fā)明實(shí)施例三提供的另一種二維碼快速解碼方法流程示意圖。如圖6所示,該方法在上述圖5所示的基礎(chǔ)上,SI 2之后,還包括:
[0047]S13,若解碼失敗,則以第三預(yù)設(shè)的掃描密度對(duì)所述二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,其中,第三預(yù)設(shè)的掃描密度比第二預(yù)設(shè)的掃描密度高。
[0048]具體的,若二維碼快速解碼裝置,以第二預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描后,未能解析到二維碼中包含的信息,或者解碼失敗,則說明確定的二維碼的區(qū)域內(nèi)有二維碼,但是第二預(yù)設(shè)掃描密度太低,導(dǎo)致漏掃數(shù)據(jù)塊,之后即可將掃描密度快速切換至第三預(yù)設(shè)的掃描密度,對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行重新掃描,由于第三預(yù)設(shè)的掃描密度比第二預(yù)設(shè)的掃描密度高,從而可將二維碼區(qū)域內(nèi)的數(shù)據(jù)塊進(jìn)行完整的掃描,從而可以對(duì)二維碼進(jìn)行準(zhǔn)確的解碼。
[0049]需要說明的是,從第二預(yù)設(shè)的掃描密度切換至第三預(yù)設(shè)的掃描密度時(shí),可以根據(jù)當(dāng)前視頻圖像的畫面質(zhì)量,選擇合適的第三預(yù)設(shè)的掃描密度,舉例來說,若第二預(yù)設(shè)的掃描密度為隔兩行,掃描一次,當(dāng)前視頻圖像為超清畫面,則第三預(yù)設(shè)的掃描密度可以選擇隔一行掃描一次,而若當(dāng)前視頻圖像為高清畫面,則第三預(yù)設(shè)的掃描密度可以選擇對(duì)每行依次掃描等。
[0050]進(jìn)一步地,由于終端的顯示屏上出現(xiàn)的視頻圖像,并非一直都會(huì)包含二維碼,若二維碼快速定位解碼裝置一直對(duì)終端的顯示屏上出現(xiàn)的視頻圖像都進(jìn)行二維碼掃描定位和解碼,會(huì)造成不必要的資源浪費(fèi),影響終端的處理速度。因此,本方法,在上述Sll之前,還包括:
[0051 ] S14,接收二維碼解碼指令。
[0052]其中,該二維碼解碼指令可以是用戶觸發(fā)的,也可以是二維碼快速解碼裝置主動(dòng)觸發(fā)的。
[0053]具體實(shí)現(xiàn)時(shí),用戶在利用終端觀看視頻節(jié)目時(shí),若希望獲得當(dāng)前視頻的視頻圖像中顯示的二維碼的信息,則可以通過在該終端的顯示屏上點(diǎn)擊二維碼區(qū)域來觸發(fā)對(duì)視頻圖像中二維碼的定位和解碼;或者還可以通過按壓與終端對(duì)應(yīng)的遙控裝置上的實(shí)體按鍵來觸發(fā)對(duì)視頻圖像中二維碼的定位和解碼;或者,還可以是二維碼快速定位解碼裝置監(jiān)測(cè)終端中視頻圖像的顯示情況,一旦檢測(cè)到包含有二維碼的視頻圖像時(shí),即開始對(duì)當(dāng)前視頻圖像進(jìn)行掃描,以解碼該視頻圖像包含的二維碼中攜帶的信息。
[0054]本實(shí)施例提供的二維碼快速解碼方法,首先以第一預(yù)設(shè)的掃描密度對(duì)視頻圖像進(jìn)行掃描,確定二維碼各尋像圖形的坐標(biāo),然后根據(jù)各尋像圖形的坐標(biāo),確定二維碼的區(qū)域,再以第二預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,若解碼失敗,再以第三預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,由于第一次掃描僅確定尋像圖形的坐標(biāo),掃描速度快,時(shí)間短,第二次僅對(duì)二維碼區(qū)域進(jìn)行掃描和解碼,掃描和解碼區(qū)域小,速度快,使得用戶可以實(shí)時(shí)、快速的獲取視頻圖像中的二維碼信息,并在第二次掃描解碼失敗后,將掃描密度切換到較高的掃描密度,對(duì)二維碼區(qū)域重新進(jìn)行掃描和解碼,提高了二維碼解碼的成功率。
[0055]通常,為了不影響觀賞體驗(yàn),視頻圖像中的二維碼而言一般都出現(xiàn)在視頻圖像的底部,如圖7所示,圖7為二維碼在視頻圖像中的位置示意圖。除了圖7所示的形式外,二維碼通常還會(huì)出現(xiàn)在整個(gè)視頻圖像的左下方。因此,本實(shí)施例為了進(jìn)一步地提高對(duì)二維碼的解碼速度,可以采用圖8所示的方法對(duì)視頻圖像進(jìn)行掃描,圖8為本發(fā)明實(shí)施例四提供的又一種二維碼快速解碼方法流程示意圖。如圖8所示,上述S1 la,包括:
[0056]S15,以第一預(yù)設(shè)的掃描密度對(duì)視頻圖像自下而上進(jìn)行掃描,確定所述視頻圖像中二維碼的各尋像圖形的坐標(biāo)。
[0057]具體的,以圖7中所示的視頻圖像中的二維碼為例,假設(shè),自上而下掃描,需要掃描Sa_Y行數(shù)的像素確定尋像圖形A的位置;而自下而上掃描需要掃描Sb_Y行數(shù)的像素已確定尋像圖形B的位置。圖中為了好的示意效果沒有完全按實(shí)際比例來畫二維碼尋像圖形的大小及位置。實(shí)際情況是大部分場(chǎng)景下滿足如下比例:
[0058]Sa_Y/Sb_Y>5
[0059]即通常情況下,自下而上掃描的時(shí)間大概只占用自上而下掃描時(shí)間的1/5。因此,采用自下而上對(duì)視頻圖像進(jìn)行掃描,可以以極快的速度確定二維碼的位置進(jìn)而縮小目標(biāo)區(qū)域,為后續(xù)對(duì)二維碼區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,及動(dòng)態(tài)切換掃描密度提供了條件。
[0060]另外,二維碼快速解碼裝置,在對(duì)視頻圖像進(jìn)行自下而上的掃描時(shí),可以從視頻圖像的右側(cè)開始,也可以從視頻圖像的左側(cè)開始,即二維碼快速定位解碼裝置,可以對(duì)視頻圖像進(jìn)行自下而上、且自左而右的方式進(jìn)行掃描,也可以采用自下而上、且自右而左的方式進(jìn)行掃描。本實(shí)施例對(duì)此不做限定。
[0061 ]本實(shí)施例提供的二維碼快速解碼方法,首先采用自下而上的方式,以第一預(yù)設(shè)的掃描密度對(duì)視頻圖像進(jìn)行掃描,確定二維碼各尋像圖形的坐標(biāo),然后根據(jù)各尋像圖形的坐標(biāo),確定二維碼的區(qū)域,再以第二預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,若解碼失敗,再以第三預(yù)設(shè)的掃描密度對(duì)二維碼的區(qū)域內(nèi)的視頻圖像進(jìn)行掃描和解碼,由于第一次掃描僅確定尋像圖形的坐標(biāo),掃描速度快,時(shí)間短,第二次僅對(duì)二維碼區(qū)域進(jìn)行掃描和解碼,掃描和解碼區(qū)域小,終端的處理負(fù)擔(dān)小,二維碼的解碼過程短,速度快,使得用戶可以實(shí)時(shí)、快速的獲取視頻圖像中的二維碼信息,并在第二次掃描解碼失敗后,將掃描密度切換到較高的掃描密度