基于色相的容量可變彩色二維碼流數據通信方法及系統的制作方法
【專利摘要】本發明提供了一種基于色相的容量可變彩色二維碼流數據通信方法及系統,獲得照片拍攝設備的顏色識別率,并找出該設備中能夠最大化二維碼容量的顏色數量;根據所選的最優顏色數量對原始數據分段并添加校驗位與掩碼,隨后利用通過顏色生成算法找出的顏色集合與數據進行顏色映射,生成彩色二維碼;在每一張照片中尋找二維碼的定位圖案對每個色塊進行定位,隨后根據碼中的色板進行顏色識別,最后將識別的顏色與其對應的數據進行映射,經過校驗和去掩碼之后獲得傳輸的數據。本發明提出了顏色生成算法,提高了色彩識別率,提高了傳統二維碼的容量,并將二維碼流作為一種通信方式在設備之間傳輸數據,傳輸效率高。
【專利說明】
基于色相的容量可變彩色二維碼流數據通信方法及系統
技術領域
[0001 ]本發明涉及二維碼及相關通信技術,具體地,涉及一種基于色相的容量可變彩色 二維碼流數據通信方法及系統。
【背景技術】
[0002] 屏幕與攝像頭間通信(Screen to camera communication,SCC)是一種近年來很 流行的近距離點對點通信方式。在SCC中,傳輸的文件被編碼成二維碼流,并顯示在發送端 的屏幕上,接收設備通過不斷拍攝發送端的屏幕并解碼,以接收發送的文件。這種通信方式 不依賴于手機上特殊的硬件設備,并且由于必須拍攝發送端屏幕,SCC也有著很好的安全和 隱私特性。
[0003] 現如今,二維碼在日常生活中被廣泛應用,某款安卓平臺上掃碼軟件在2014年有 近一億的下載量。然而,傳統二維碼有限的容量限制了其進一步發展。廣泛使用的QR碼僅能 通過增加碼內色塊數量,存儲最多2953字節,但碼塊大小會急劇減小,解碼成功率也會下 降。此外,傳統黑白二維碼中每一個色塊僅能存儲Ibit信息。現有的研究中,主要通過兩種 方式來提高二維碼流的傳輸速率:彩色二維碼和二維碼流。使用二維碼流的形式,可以通過 更快的幀速率(變換二維碼幀的速率)來提高傳輸速率。然而,作為非同步的單項傳輸方式, 在SCC中使用過高的幀速率會引起嚴重的幀混疊問題,使得接收端收到的照片中是多張二 維碼的混疊,無法解碼。
[0004] 其他的研究工作通過在傳統黑白二維碼中引入顏色來提升每個色塊的容量。假設 在二維碼中使用N種顏色,每個色塊則可以存儲Iog 2N bit的信息。盡管現有的研究中有的 二維碼使用了 4種,甚至8種顏色進行數據傳輸,但這些研究均沒有說明他們選擇顏色的原 因,還有選擇不同顏色對傳輸所造成的影響。有哪些潛在的因素會影響到拍攝照片中的顏 色識別也沒有在現有研究中被考慮過。雖然有文章中提到了顏色選擇在二維碼中的重要 性,但并沒有對此進行深入研究,更沒有提出顏色選擇和識別的算法。此外,顏色識別的極 限并沒有被研究過,是否可以在二維碼中使用更多的顏色仍是一個未知的問題。
【發明內容】
[0005] 針對現有技術中的缺陷,本發明的目的是提供一種基于色相的容量可變彩色二維 碼流數據通信方法及系統。
[0006] 根據本發明提供的基于色相的容量可變彩色二維碼流數據通信方法,包括如下步 驟:
[0007] 色彩數量優化步驟:通過拍攝測試二維碼圖對設備拍攝的照片質量進行測定,測 得該設備的顏色識別率,并找出設備中能夠最大化二維碼容量時的顏色數量;
[0008] 彩色二維碼生成步驟:發送端根據所選的最優顏色數量對原始數據進行分段,并 添加校驗位與掩碼,得到處理后的待傳輸數據,找出顏色集合與待傳輸數據之間的顏色映 射關系,生成包含待傳輸數據信息的彩色二維碼;
[0009] 彩色二維碼識別譯碼步驟:接收端在接收到的每一張照片中尋找彩色二維碼的定 位圖案對彩色二維碼中每個色塊進行定位,并根據彩色二維碼中的色板進行顏色識別,將 識別的顏色轉化為對應的數據,經過校驗和去掩碼之后獲得傳輸的原始數據。
[0010] 優選地,所述色彩數量優化步驟包括:通過設備拍攝包含不同顏色數量的測試二 維碼圖時所生成的彩色二維碼,得到該設備下的顏色識別正確率,獲得該設備的最優顏色 數量,記為N;所述測試二維碼圖中包含的顏色數量為2 n,其中η為大于等于1的自然數,η = 1,2,…。
[0011] 優選地,所述彩色二維碼生成步驟包括:
[0012] 步驟Al:發送端根據每幀二維碼的容量對需要傳輸的數據進行分段,并添加校驗 位、幀信息和掩碼;
[0013] 步驟A2:得到顏色數量一致的色彩集合;
[0014]步驟A3:將處理好的每幀數據進行顏色映射,生成彩色二維碼。
[0015] 優選地,所述彩色二維碼識別譯碼步驟包括:
[0016] 步驟BI:接收端利用攝像頭不間斷拍攝發送端的屏幕,在拍攝到的每一張照片中 尋找彩色二維碼的定位圖案,并根據該定位圖案進行混疊檢測,若混疊則丟棄;否則執行步 驟B2;
[0017] 步驟B2:根據定位圖案的位置尋找校準行,根據校準行對彩色二維碼每一個色塊 進行定位;
[0018] 步驟B3:識別每幀彩色二維碼中每一個色塊的顏色,根據每個顏色的映射關系獲 得完整的數據;
[0019] 步驟B4:對獲取到的數據進行校驗修正,并去除掩碼,得到傳輸的原始數據;將解 碼收到的每段數據按照幀信息進行整合,得到傳輸的文件。
[0020] 優選地,所述色彩數量優化步驟中采用色相均分的方法,生成不同數量的顏色集 合,使用設備拍照進行顏色識別,獲得不同顏色數量下該設備的色彩識別率;
[0021] 假設Pn為使用η種顏色時該設備的平均識別準確率,一幀中共含m個色塊,其中校 驗位所占比例為α,其中0<α<1每個RS校驗符號包含b比特,成功解碼一幀信息必須滿足誤 符號率R e3低于一幀中校驗碼的糾錯能力R。,其中
[0022]
[0023] -個包含b比特的符號占用
卜色塊,接收到的誤符號數量的期望為:
[0024]
[0025] 成功傳輸一幀數據需要滿足Rc彡E(Re),因It丨,則整個設備的容量C 為:
[0026]
[0027]優選地,所述步驟Al包括:采用ReedSolomon碼進行校驗,在校驗后的每個色塊的 對應數據上加上了一個隨機生成的數,即掩碼,所述掩碼在發送端和接收端都已知,且在每 一幀中添加幀信息,所述幀信息包括:傳輸文件的總幀數、本幀幀號以及本幀中存儲的數據 長度。
[0028] 優選地,通過顏色生成算法得到顏色數量一致的色彩集合,找出顏色集合與待傳 輸數據之間的顏色映射關系;所述顏色生成算法是指:假設需要生成N種顏色的集合,通過 對差異函數進行積分,使得相鄰色相顏色間的差異函數的積分均相同;其中:所述差異函數 P(h)的計算公式如下:
[0029]
[0030] 式中:AE(h)表示照片某色相h的顏色與該色相相鄰顏色的差異,δ(1〇表示所有拍 攝照片中色相h的標準差。
[0031] 優選地,所述步驟Bl包括:
[0032] 步驟BI. 1:對接收端攝像頭獲取到的每一幀圖像數據進行黑極化,即采用閾值的 方式,對RGB三個通道均低于閾值的像素點,全部極化為黑色;
[0033] 步驟BI. 2:在極化黑色后的圖像數據中,通過識別定位圖案的樣式找出二維碼的 位置;
[0034]步驟BI.3:在定位圖案的非黑色部分添加紅綠兩種顏色,在拍攝的照片中,通過識 別非黑色部分顏色中紅綠兩個通道的值來判斷是否混疊,若紅綠兩個通道的值均較高,則 說明兩幀混疊,丟棄該照片;否則,執行步驟B2;
[0035] 所述步驟B2包括:
[0036]步驟B2.1:在相鄰的定位圖案之間有四條色塊定位參考線,所述四條色塊定位參 考線為黑白相間的色塊且位置與彩色二維碼中間部分的色塊平行,通過定位圖案識別出色 塊定位參考線上每一個黑白色塊的位置;
[0037]步驟B2.2:通過連接同排和同列的黑白色塊獲得水平和垂直于彩色二維碼的直 線,每個橫豎線的交叉點即一個色塊的中心位置;
[0038] 所述步驟B3包括:
[0039]步驟B3.1:每個色板的位置定位與色塊定位參考線上的黑白色塊類似,通過找到 的定位圖案進行連線,并在線上根據相對位置找出每個色塊;
[0040] 步驟B3.2:通過對比色塊中的色相值落在哪兩個色板色的區間范圍,識別出在照 片中所代表的相應數據。
[0041] 根據本發明提供的基于色相的容量可變彩色二維碼流數據通信系統,包括:
[0042] 測試模塊:用于測試發送模塊中設備的顏色識別率,通過拍攝測試二維碼圖對設 備拍攝的照片質量進行測定,測得該設備的顏色識別率,并找出設備中能夠最大化二維碼 容量時的顏色數量;
[0043] 彩色二維碼生成模塊:根據所選的最優顏色數量對原始數據進行分段,并添加校 驗位與掩碼,得到處理后的待傳輸數據,通過顏色生成算法找出的顏色集合與待傳輸數據 之間的顏色映射關系,生成包含待傳輸數據信息的彩色二維碼;
[0044] 彩色二維碼識別譯碼模塊:在接收到的每一張照片中尋找彩色二維碼的定位圖案 對彩色二維碼中每個色塊進行定位,并根據彩色二維碼中的色板進行顏色識別,將識別的 顏色轉化為對應的數據,經過校驗和去掩碼之后獲得傳輸的原始數據。
[0045] 與現有技術相比,本發明具有如下的有益效果:
[0046] 1、本發明提供的基于色相的容量可變彩色二維碼流數據通信方法,通過對各種顏 色表現的研究,提出了顏色生成算法,提高了色彩識別率,提高了傳統二維碼的容量。
[0047] 2、本發明提供的基于色相的容量可變彩色二維碼流數據通信方法,將二維碼流作 為一種通信方式在設備之間傳輸數據,傳輸效率高。
【附圖說明】
[0048]通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發明的其它特征、 目的和優點將會變得更明顯:
[0049] 圖1為本發明提供的基于色相的容量可變彩色二維碼流數據通信方法的流程示意 圖;
[0050] 圖2為本發明中二維碼數據示意圖;
[0051]圖3為二維碼定位圖案識別的原理圖;
[0052]圖4為本發明提供的基于色相的容量可變彩色二維碼流數據通信系統的原理圖。
[0053]圖中:
[0054] 1-定位圖案;
[0055] 2-色板;
[0056] 3-定位參考線;
[0057] 4-數據部分;
[0058] 5-特殊定位圖案。
【具體實施方式】
[0059] 下面結合具體實施例對本發明進行詳細說明。以下實施例將有助于本領域的技術 人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術 人員來說,在不脫離本發明構思的前提下,還可以做出若干變化和改進。這些都屬于本發明 的保護范圍。
[0060] 在本發明中,通過以下技術來提高二維碼流的傳輸速率:1)提出了顏色生成與識 別算法,通過對量化顏色識別的難度,得知不同色相顏色的特性,并通過該算法使每種使用 的顏色的識別難度相同,以提高顏色識別的準確率;2)對二維碼結構進行了特殊設計,使顏 色生成與識別算法運用到SCC系統中。其中包括:最優顏色數量測定、彩色掩碼、幀信息存 儲、圖像黑色極化、定位圖案設計、混疊檢測、色板等。
[0061] 如圖1所示,本實施例是通過以下技術方案實現的,本實施例的數據發送端包括如 下步驟:
[0062] 步驟Al:測量拍攝在使用不同顏色數量(2η,η = 1,2,··_)時,所生成的二維碼在該 設備下的顏色識別正確率,計算該設備的最優顏色數量Ν。對于不同的設備,其能夠拍攝的 照片質量不盡相同。因此,對于某一設備,需要提前測試其最優的顏色數量。在本系統中,通 過使用色相均分的方法,生成不同數量的顏色集合,使用設備拍照進行顏色識別,獲得不同 顏色數量下,該設備的色彩識別率。由于在此時無法得知設備識別信息,識別準確率也簡單 使用色相最接近的顏色作為識別顏色。通過這樣的方式,可以獲得一條隨顏色數量變化的 設備率曲線,其總體呈現下降趨勢。使用更多的顏色可以提高色塊容量,但會降低識別率, 需要使用更多的校驗位,降低每幀中數據色塊的數量,因此需要平衡兩者的關系,找出達到 最大容量的顏色數量。注意顏色數量必須為2 n,這樣每個色塊才能存儲整數bit信息。
[0063] 假設Pn為使用N種顏色時該設備的平均識別準確率,一幀中共含m個色塊,其中校 驗位所占比例為α(0<α<1),每個RS校驗符號包含b比特。成功解碼一幀信息必須滿足誤符 號率Re3低于一幀中校驗碼的糾錯能力R。,其中
注意,一個包含b比特的符號 占用_
卜色塊。接收到的誤符號數量的期望為:
[0064]
[0065] 成功傳輸一幀數據需要滿足Rc彡E(Re),因此
整個系統的容量C為:
[0066]
[0067]因此在此步驟中,我們需要選擇合理的顏色數量,根據其相應的顏色識別率,最大 化整個系統的容量。由于已經測得Pn曲線。因此可以根據Pn的大小選擇最優的顏色數量N。
[0068]步驟A2:根據使用的顏色數量、每幀二維碼的塊數、校驗位設置等,可以計算每一 幀中所能傳遞的數據多少,并可以以此對源數據進行分段。假設每幀二維碼中,存儲源數據 的塊數為M,二維碼中顏色數量為N,則每一段源數據分段的大小為Mlog 2 N bit。此外,需要 對每一段數據添加校驗位,本發明使用的校驗碼是ReedSolomon碼。由于源數據幀長度不 定,因此將每幀源數據按照固定長度再次分段,并添加校驗位。為了防止某一種顏色的色塊 過多,造成因單色識別錯誤造成一幀識別失敗,在校驗后的每個色塊的對應數據上加上了 一個隨機生成的數,即掩碼。注意掩碼為收發兩端均提前已知,以能在收端正確去除。同時, 在每一幀中也會添加幀信息,包括該文件的總幀數,本幀幀號,和本幀中存儲的數據長度。 幀信息被添加到了二維碼中的一側,并且考慮到幀信息的重要性,其本身及其校驗位僅用4 種顏色表示,不隨采用的顏色數量而變化。
[0069]步驟A3:經過測試,在日常的室內與夜間情況下,在HSV、YUV、RGB等不同的色彩空 間中,僅僅有HSV中的H(hue)維度不會受到拍攝照片中不同的光照條件和白平衡的影響。因 此,本發明通過改變HSV(Hue, Saturat ion ,Value)色彩空間中的色相(Hue),來生成所需的 顏色集合。本發明根據對不同色相顏色的性能加以分析,提出了顏色生成與識別算法,使得 二維碼中的顏色的識別難度平均化,提高顏色識別的準確性。
[0070] 步驟A3.1:通過使用不同的手機對不同色相(0-359)的顏色進行拍照,調查每一種 色相的顏色表現,可以獲取某色相顏色在照片中的均值E(h)和標準差δ(1〇關于色相h的變 化曲線。
[0071] 步驟A3. 2:為了量化某種顏色被正確識別的難度,本發明提出了差異函數 (Performance Index)的概念。差異函數P(h)是照片某色相h的顏色與其相鄰顏色的差異Δ E(h),與所有拍攝照片中該顏色的標準差S(h)的商,即
[0072]
[0073] 步驟A3.2:為了使得生成的顏色之間的識別難度相同并同時最大化相鄰顏色間的 差別,本發明提出了一種顏色生成算法。假設需要生成N種顏色的集合,通過對差異函數進 行積分,使得相鄰色相顏色間的差異函數的積分均相同。通過這種方式生成的顏色集合,可 以均分顏色識別的難度,避免某種顏色識別率過低的情況。假設需要選擇N種顏色,其色相 分別為H i,i = 0,1,2,…,n-1。對每一對相鄰色相Hi和Hi+1,需要在[Hi,H i+1 ]區間內P(h)的積 分相同,也就是對于任意的i和j(i,j = 0,1,2,…,n-1),
[0074]
[0075] 步驟A3.3:顏色識別算法。本系統使用了色板色的方法來輔助識別顏色,這些色板 色被添加在二維碼周圍,輔助顏色的識別。與顏色生成算法類似,對生成的N種顏色集合,在 相鄰的色相中尋找一個色相值,使得被分出的兩段數據積分相同。該方法同樣會獲取N種顏 色,即色板色,它定義了識別顏色時某一顏色的識別區間。
[0076] 對每一對相鄰色相Hi和Hi+1,i = 0,1,2,…,η,它們中間的判定色相為Ri,當識別出 的色相h<Ri時,顏色被判定為H i,反之被判定為Hi+1。而Ri需要滿足:
[0077]
[0078] 對于識別出的顏色Ri-i <h<Ri,則認為h的原色為Hi。
[0079] 步驟A4:根據已完成分段并添加校驗位、幀信息和掩碼的數據,可以得知每個色塊 中需要表示的相應數據。其表示數據的容量與顏色的數量N有關,即每塊色塊可以表示Iog 2 N比特的信息。同時,每一段數據都可以被映射成相應的顏色,并顯示在彩色二維碼中進行 傳輸,如圖2所示。
[0080] 本實施例的數據接收端包括如下步驟:
[0081] 步驟Bl:黑色極化,并定位圖案識別;
[0082]步驟BI. 1:黑色極化,即對接收端攝像頭獲取到的每一幀圖像數據,需要首先對其 中的黑色進行極化。接收端可以不斷獲取拍攝到的照片,每一個像素點都通過RGB通道的值 進行存儲。本系統采用閾值的方式,對RGB三個通道均低于閾值的像素點,全部極化為黑色。 其他的點統一稱為非黑色點,保留其原來的顏色。
[0083]步驟BI.2:定位圖案識別,即在極化黑色后的圖像數據中,通過識別定位圖案的樣 式,來找出二維碼的位置。如圖3所示,本發明中采用了四個定位圖案,放置在二維碼的四個 角,其中一個較小,與其他的三個定位圖案不同。通過識別該特殊定位圖案,系統可以自動 識別出該二維碼的方向。假設如圖3所示,圖片中某點V黑色,則沿著其上下左右四個方向尋 找黑色與非黑色的邊緣,找出A,B,C三個寬度,并根據其長度比例關系(具體比例關系如圖 所示)判斷該定位圖案是普通型還是特殊型。
[0084]步驟BI. 3:混疊檢測,在本發明的定位圖案中,設計了識別混疊檢測的部分。本系 統在定位圖案的非黑色部分添加紅綠兩種顏色,并在相鄰兩幀二維碼中變換該顏色。在拍 攝的照片中,通過識別該部分顏色中紅綠兩個通道的值,若兩者的值均較高,則說明兩幀混 疊,并可以將該混疊幀拋棄,省去進一步的識別。
[0085] 步驟B2:定位色塊定位參考線;
[0086] 步驟B2.1:在相鄰的定位圖案之間,有四條色塊定位參考線。其樣式為黑白相間的 色塊,位置與二維碼中間部分的色塊平行。通過定位圖案,系統可以識別出色塊定位參考線 上每一個黑白色塊的位置。
[0087]步驟B2.2:交叉定位色塊。通過連接同排和同列的黑白色塊,可以獲得水平和垂直 于二維碼的直線。每個橫豎線的交叉點都是一個色塊的中心位置。通過這種方式,可以定位 出二維碼中間部分每一個色塊,并等待做進一步的處理。
[0088]步驟B3:獲取色板顏色;
[0089]步驟B3.1:在縱向的色塊定位參考線的外側,排列著一排彩色的色塊,這些色塊即 是按照其映射順序排列的色板色。每個色板的位置定位與色塊定位參考線上的黑白色塊類 似,通過找到的定位圖案,可以進行連線并在線上根據其相對位置找出每個色塊。
[0090] 步驟B3.2:根據色板顏色識別色塊顏色。如步驟A3.3顏色識別算法所述,色板色表 示了識別顏色時,每個顏色的左右邊界。通過對比色塊中的色相值落在哪兩個色板色的區 間范圍,可以識別出其在原始照片中所代表的相應數據。通過使用色板色,可以避免拍攝照 片中的顏色與原本顏色的偏差,提高顏色識別準確率。
[0091 ]步驟B4:數據RS糾錯,去除掩碼,分段數據整合;
[0092]步驟B4.1:,采用的ReedSolomon碼進行校驗,在接收端將色塊識別為相應的數據 后,經過ReedSolomon碼糾錯,可以糾正部分錯誤識別的顏色錯誤,以提高傳輸的可靠性。 [0093]步驟M.2:接收端已知發送端預先添加的掩碼數組,可直接相減去除。
[0094] 步驟B4.3:每一幀彩色二維碼均可解碼出一段文件數據。通過幀信息中的幀序號 和數據長度,可以將每段文件數據整合起來,拼湊成完整的傳輸文件。
[0095] 以上對本發明的具體實施例進行了描述。需要理解的是,本發明并不局限于上述 特定實施方式,本領域技術人員可以在權利要求的范圍內做出各種變化或修改,這并不影 響本發明的實質內容。在不沖突的情況下,本申請的實施例和實施例中的特征可以任意相 互組合。
【主權項】
1. 一種基于色相的容量可變彩色二維碼流數據通信方法,其特征在于,包括如下步驟: 色彩數量優化步驟:通過拍攝測試二維碼圖對設備拍攝的照片質量進行測定,測得該 設備的顏色識別率,并找出設備中能夠最大化二維碼容量時的顏色數量; 彩色二維碼生成步驟:發送端根據所選的最優顏色數量對原始數據進行分段,并添加 校驗位與掩碼,得到處理后的待傳輸數據,找出顏色集合與待傳輸數據之間的顏色映射關 系,生成包含待傳輸數據信息的彩色二維碼; 彩色二維碼識別譯碼步驟:接收端在接收到的每一張照片中尋找彩色二維碼的定位圖 案對彩色二維碼中每個色塊進行定位,并根據彩色二維碼中的色板進行顏色識別,將識別 的顏色轉化為對應的數據,經過校驗和去掩碼之后獲得傳輸的原始數據。2. 根據權利要求1所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,所述色彩數量優化步驟包括:通過設備拍攝包含不同顏色數量的測試二維碼圖時所生 成的彩色二維碼,得到該設備下的顏色識別正確率,獲得該設備的最優顏色數量,記為N;所 述測試二維碼圖中包含的顏色數量為2 n,其中η為大于等于1的自然數,n= 1,2,…。3. 根據權利要求1所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,所述彩色二維碼生成步驟包括: 步驟A1:發送端根據每幀二維碼的容量對需要傳輸的數據進行分段,并添加校驗位、幀 信息和掩碼; 步驟A2:得到顏色數量一致的色彩集合; 步驟A3:將處理好的每幀數據進行顏色映射,生成彩色二維碼。4. 根據權利要求1所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,所述彩色二維碼識別譯碼步驟包括: 步驟B1:接收端利用攝像頭不間斷拍攝發送端的屏幕,在拍攝到的每一張照片中尋找 彩色二維碼的定位圖案,并根據該定位圖案進行混疊檢測,若混疊則丟棄;否則執行步驟 B2; 步驟B2:根據定位圖案的位置尋找校準行,根據校準行對彩色二維碼每一個色塊進行 定位; 步驟B3:識別每幀彩色二維碼中每一個色塊的顏色,根據每個顏色的映射關系獲得完 整的數據; 步驟Μ:對獲取到的數據進行校驗修正,并去除掩碼,得到傳輸的原始數據;將解碼收 到的每段數據按照幀信息進行整合,得到傳輸的文件。5. 根據權利要求1或2所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征 在于,所述色彩數量優化步驟中采用色相均分的方法,生成不同數量的顏色集合,使用設備 拍照進行顏色識別,獲得不同顏色數量下該設備的色彩識別率; 假設ρη為使用η種顏色時該設備的平均識別準確率,一幀中共含m個色塊,其中校驗位所 占比例為α,其中0<α<1每個RS校驗符號包含b比特,成功解碼一幀信息必須滿足誤符號率 K低于一幀中校驗碼的糾錯能力R。,其中一個包含b比特的符號占用了個色塊,接收到的誤符號數量的期望為:成功傳輸一幀數據需要滿足R。多E(Re),則整個設備的容量C為:6. 根據權利要求3所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,所述步驟A1包括:采用ReedSolomon碼進行校驗,在校驗后的每個色塊的對應數據上加 上了一個隨機生成的數,即掩碼,所述掩碼在發送端和接收端都已知,且在每一幀中添加幀 信息,所述幀信息包括:傳輸文件的總幀數、本幀幀號以及本幀中存儲的數據長度。7. 根據權利要求1所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,通過顏色生成算法得到顏色數量一致的色彩集合,找出顏色集合與待傳輸數據之間的 顏色映射關系;所述顏色生成算法是指:假設需要生成N種顏色的集合,通過對差異函數進 行積分,使得相鄰色相顏色間的差異函數的積分均相同;其中:所述差異函數P(h)的計算公 式如下:式中:AE(h)表示照片某色相h的顏色與該色相相鄰顏色的差異,δ(1〇表示所有拍攝照 片中色相h的標準差。8. 根據權利要求4所述的基于色相的容量可變彩色二維碼流數據通信方法,其特征在 于,所述步驟B1包括: 步驟B1.1:對接收端攝像頭獲取到的每一幀圖像數據進行黑極化,即采用閾值的方式, 對RGB三個通道均低于閾值的像素點,全部極化為黑色; 步驟B1.2:在極化黑色后的圖像數據中,通過識別定位圖案的樣式找出二維碼的位置; 步驟B1.3:在定位圖案的非黑色部分添加紅綠兩種顏色,在拍攝的照片中,通過識別非 黑色部分顏色中紅綠兩個通道的值來判斷是否混疊,若紅綠兩個通道的值均較高,則說明 兩幀混疊,丟棄該照片;否則,執行步驟B2; 所述步驟B2包括: 步驟B2.1:在相鄰的定位圖案之間有四條色塊定位參考線,所述四條色塊定位參考線 為黑白相間的色塊且位置與彩色二維碼中間部分的色塊平行,通過定位圖案識別出色塊定 位參考線上每一個黑白色塊的位置; 步驟B2.2:通過連接同排和同列的黑白色塊獲得水平和垂直于彩色二維碼的直線,每 個橫豎線的交叉點即一個色塊的中心位置; 所述步驟B3包括: 步驟B3.1:每個色板的位置定位與色塊定位參考線上的黑白色塊類似,通過找到的定 位圖案進行連線,并在線上根據相對位置找出每個色塊; 步驟B3.2:通過對比色塊中的色相值落在哪兩個色板色的區間范圍,識別出在照片中 所代表的相應數據。9. 一種基于色相的容量可變彩色二維碼流數據通信系統,其特征在于,包括: 測試模塊:用于測試發送模塊中設備的顏色識別率,通過拍攝測試二維碼圖對設備拍 攝的照片質量進行測定,測得該設備的顏色識別率,并找出設備中能夠最大化二維碼容量 時的顏色數量; 彩色二維碼生成模塊:根據所選的最優顏色數量對原始數據進行分段,并添加校驗位 與掩碼,得到處理后的待傳輸數據,通過顏色生成算法找出的顏色集合與待傳輸數據之間 的顏色映射關系,生成包含待傳輸數據信息的彩色二維碼; 彩色二維碼識別譯碼模塊:在接收到的每一張照片中尋找彩色二維碼的定位圖案對彩 色二維碼中每個色塊進行定位,并根據彩色二維碼中的色板進行顏色識別,將識別的顏色 轉化為對應的數據,經過校驗和去掩碼之后獲得傳輸的原始數據。
【文檔編號】G06K7/14GK106056021SQ201610410669
【公開日】2016年10月26日
【申請日】2016年6月13日
【發明人】朱思宇, 張曄, 趙性雅, 王新兵, 甘小鶯
【申請人】上海交通大學