使用差分圖像的光學通信的制作方法
【專利說明】使用差分圖像的光學通信
【背景技術】
[0001] 在一些示例中,光學通信可以包括提供條形碼,諸如線性(例如,一維(ID))條形碼 或者矩陣(例如二維(2D))條形碼,其可以利用信息進行編碼并且使用讀取器或圖像捕捉裝 置等進行讀取。在一些實例中,產生、捕捉和/或解碼條形碼由于過度曝光/曝光不足、周圍 環境光、陰影、或反射等所引起的噪聲而可能是不穩定的。這樣的不穩定性對于2D條形碼 和/或對于經由諸如例如液晶顯示(LCD)顯示器的顯示屏幕呈現的條形碼可能是特別成問 題的。例如,在條形碼經由顯示屏幕呈現時,反射可能比在條形碼經由紙張等呈現時更強, 特別是在室外環境、明亮區域或黑暗區域等中。這樣的顯示屏幕可以包括用于移動裝置或 用于數字標牌等的顯示屏幕。
[0002] 此外,可以提供比黑和白條形碼更大的數據容量的諸如彩色2D條形碼的彩色條 形碼可能具有由于上述原因而導致的不穩定性以及由于在例如2D彩色圖像的產生和捕捉 期間的顏色偏移而導致的附加的不穩定性。
[0003] 用來應付這樣的問題的當前技術包括使用局部適應性閾值來幫助減小噪聲。這樣 的技術在少量噪聲的情況下可以有幫助,但是在例如中等或高水平噪聲情況下并無幫助。 此外,當前技術可以通過將所有可能的顏色呈現在條形碼的保留區域來應付顏色偏移,這 可能減小條形碼的容量。
[0004] 由于令人期望的是讓條形碼包含更多數據并且由于經由顯示屏幕進行通信變得 更加普遍,精確和可預測地產生、捕捉和解碼條形碼可以是有利的。
【附圖說明】
[0005] 本文中描述的材料作為示例并且不作為限制在所附圖中圖示。為了圖示的簡單和 清楚,圖中圖示的元件不必按比例繪出。例如,為了清楚,一些元件的尺寸相對于其他元件 放大。此外,在考慮合適的情況下,附圖標記已經在圖當中重復以指示對應或類似元件。在 圖中: 圖1是不例條形碼圖像和不例替換圖像的直觀圖; 圖2是均具有示例反射的示例條形碼圖像和示例替換圖像的直觀圖; 圖3是用于對捕捉的條形碼圖像數據和相關聯的捕捉的替換圖像數據執行操作以生 成比較的條形碼圖像數據的示例方法; 圖4是用于編碼和顯示條形碼圖像和替換條形碼圖像以及用于捕捉和解碼條形碼圖 像和替換條形碼圖像的示例系統的直觀圖; 圖5是圖示示例過程的流程圖; 圖6是圖示示例過程的流程圖; 圖7是圖示示例過程的流程圖; 圖8是圖示示例過程的流程圖; 圖9是用于使用差分圖像來提供光學通信的示例系統和過程的直觀圖; 圖10是用于使用差分圖像的光學通信的示例系統的直觀圖; 圖11是不例系統的直觀圖;以及 圖12圖示了全部根據本公開的至少一些實現而布置的示例裝置。
【具體實施方式】
[0006] 現參照附圖描述一個或多個實施例或實現。雖然論述了具體配置和布置,但應理 解,這僅為說明目的而完成。相關領域技術人員將認識到,在不脫離描述的精神和范圍的情 況下,可以采用其他配置和布置。對于相關領域技術人員來說明顯的是,本文中描述的技術 和/或布置也可以用在除了本文中描述的以外的各種其他系統和應用中。
[0007] 雖然以下描述闡明了可以以諸如片上系統(SoC)體系結構的體系結構表現的各 種實現,但是本文中描述的技術和/或布置的實現不限于特定體系結構和/或計算系統并 且可以由用于類似目的的任何體系結構和/或計算系統來實現。例如,采用例如多個集成 電路(1C)芯片和/或封裝、和/或各種計算裝置和/或諸如機頂盒、智能電話等的消費電 子(CE)裝置的各種體系結構可以實現本文中描述的技術和/或布置。此外,雖然以下描述 可以闡明大量具體細節,諸如邏輯實現、系統部件的類型和相互關系、邏輯分區/集成選擇 等,但在沒有這樣的具體細節的情況下可以實踐所要求保護的主題。在其他實例中,一些材 料(諸如例如控制結構和全軟件指令序列)可以不詳細示出以免使本文中公開的材料晦澀 難懂。
[0008] 本文中公開的材料可以以硬件、固件、軟件或任何其組合來實現。本文中公開的材 料也可以作為存儲在機器可讀介質上的指令來實現,指令可以由一個或多個處理器來讀取 和執行。機器可讀介質可以包括用于存儲或傳輸以由機器(例如計算裝置)可讀形式的信息 的任何介質和/或機構。例如,機器可讀介質可以包括只讀存儲器(ROM);隨機存取存儲器 (RAM);磁盤存儲介質;光學存儲介質;閃存裝置;電、光、聲或其他形式的傳播信號(例如, 載波、紅外信號、數字信號等)等。
[0009] 在說明書中所提及的"一個實現"、"實現"、"示例實現"等指示所描述的實現可以 包括特定特征、結構或特性,但每個實施例可以不必包括該特定特征、結構或特性。此外,這 樣的短語不必指代相同實現。此外,在結合實施例描述特定特征、結構或特性時,應認為的 是,在本領域的技術人員的知識內,結合其他實現來實現這樣的特征、結構或特性,無論是 否在本文中明確描述所述其它實現。
[0010] 以下相對于光學通信描述系統、設備、物品和方法,光學通信包括用于使用差分圖 像而傳送條形碼的技術。
[0011] 如上所述,可以期望精確和可預測地產生、捕捉和解碼條形碼。如以下將更詳細描 述的,在一些示例中,輸入數據可以進行編碼以生成條形碼圖像數據。替換、互補或者差分 條形碼圖像數據可以被生成并且與條形碼圖像數據相關聯。在各種示例中,替換條形碼圖 像數據可以表示條形碼圖像數據的負片(negative)、純黑圖像、條形碼圖像數據的轉置等。 條形碼圖像數據可以呈現為條形碼圖像而替換圖像數據可以經由顯示裝置呈現為替換圖 像。在一些示例中,條形碼圖像和替換圖像可以通過隨著時間的過去而在圖像之間切換或 者隨著時間的過去而使圖像交替等來呈現在顯示裝置的相同區域中。
[0012] 條形碼圖像和替換圖像可以在諸如照相機等的捕捉裝置處捕捉以生成捕捉的條 形碼圖像數據和捕捉的替換圖像數據。可以對捕捉的條形碼圖像數據和捕捉的替換圖像數 據執行操作以生成比較條形碼圖像數據。在各種示例中,操作可以包括絕對值差、相減、相 加、相乘等。在一些示例中,條形碼輸出數據可以基于比較條形碼圖像數據來生成。
[0013] 如所論述的,在一些示例中,由于顯示器的環境(例如,室外、在眩光中、在陰影中 等)或顯示器本身等,捕捉的圖像可以包括亮點、暗點、顏色偏移或其他類型的噪聲等,這可 以使條形碼圖像數據被不正確地解碼。在這樣的示例中,比較的條形碼圖像數據可以減少 或去除這樣的噪聲以允許正確解碼。這樣的比較或差分技術可以改進隨這樣的噪聲呈現的 條形碼被正確解碼的速率。
[0014] 圖1是根據本公開的至少一些實現布置的示例條形碼圖像110和示例替換條形碼 圖像120的直觀圖。如所示,條形碼圖像110可以包括多個條形碼元素112和可選的邊界 114、此外,如所示,在一些示例中,條形碼圖像110可以包括黑和白矩陣(例如二維(2D))條 形碼圖像。在一些示例中,條形碼圖像120可以包括線性(例如,一維(1D))條形碼圖像。在 一些示例中,條形碼圖像120可以包括彩色條形碼圖像。此外,在一些示例中,條形碼圖像 120可以包括測試區域、對準區域等,其為了清楚呈現起見而未示出。
[0015] 在各種示例中,輸入數據可以使用已知技術而編碼為條形碼圖像120。在一些示 例中,各個條形碼元素112可以被編碼以使得它們可以提供二進制編碼(例如,黑色為一而 白色為零,或反之亦然)。在一些示例中,各個條形碼元素112可以至少部分基于它們的大 小進行編碼。如所論述的,在一些示例中,條形碼元素112可以是彩色的并且可以基于它們 的顏色和/或大小進行編碼。在一些示例中,顏色編碼可以提供與三個顏色通道相關聯的 3位。例如,在紅綠藍(RGB)顏色空間中,每個通道可以以0或255 (對于每個通道最大和 最小)來編碼,以對三位數據編碼。例如,111位模式可以編碼為(255,255,255)=白色, 100位模式可以編碼為(255,0,0)=紅色,010位模式可以編碼為(0,255,0)=綠色,諸 如此類。在其他示例中,其他顏色或其他顏色空間可以用于編碼。雖然在本文中相對于黑 色和白色編碼和/或RGB編碼進行論述,但是本文中論述的技術不限于此并且可以以其他 編碼技術和/或顏色空間來實現。
[0016] 如圖1所示,替換條形碼圖像120可以包括對于條形碼圖像110的互補圖像。例 如,圖像120可以基于用于精確和可預測地傳送條形碼圖像110的技術來選擇或生成。如 所示,在一些示例中,替換條形碼圖像120可以包括條形碼元素122和邊界124。在一些示 例中,如所示,替換條形碼圖像120可以為條形碼圖像110的負片。在所示黑和白圖像中, 例如,條形碼圖像110的負片可以包括代替黑色元素112的白色元素122以及代替(一個或 多個)白色元素112的(一個或多個)黑色元素122。在彩色條形碼圖像的示例中,條形碼圖 像110的負片可以提供來自條形碼圖像110的顏色,其在替換條形碼圖像120中顛倒為它 們各自的補色。在一些示例中,替換條形碼圖像120可以為單色或純色,諸如例如純黑。例 如,使用本文中論述的解碼技術,純黑替換圖像可以提供加亮并且減小眩光效果。在其他示 例中,替換條形碼圖像120可以為純色,諸如白色、紅色、綠色或藍色等。
[0017] 如本文中進一步論述的,條形碼圖像110和替換條形碼圖像120可以由顯示裝置 呈現并且經由圖像捕捉裝置捕捉并且進行解碼。如論述的,在一些示例中,條形碼圖像110 的呈現和捕捉中的噪聲可以引起解碼條形碼圖像110的困難。
[0018] 圖2是根據本公開的至少一些實現布置的均具有示例反射210的示例條形碼圖像 110和示例替換條形碼圖像220的直觀圖。如所示,在圖2中圖示的示例中,替換條形碼圖 像220可以為純黑替換圖像。在一些示例中,如圖示的,純黑替換條形碼圖像220可以包括 黑色條形碼元素222和黑色邊界224。如所示的,反射210可以使條形碼元素112和邊界 114的一部分發亮,使得例如意圖為黑色的條形碼元素112 (包括條形碼元素112a)和邊界 114的該部分可以呈現和捕捉為灰色或淺灰色等。如所示的,在這樣的示例中,意圖為白色 的條形碼元素112 (包括條形碼元素112b)的該部分可以基本上保持白色。類似地,反射 210可以使替換條形碼圖像220的意圖為黑色的部分呈現和捕捉為灰色。
[0019] 雖然相對于黑和白條形碼上的反射進行圖示,但這樣的缺陷或噪聲可以包括寬范 圍的噪聲,諸如例如陰影、眩光、顏色偏移、過度曝光/曝光不足、變色的周圍環境光等等。
[0020] 圖3是根據本公開的至少一些實現布置的用于對捕捉的條形碼圖像數據和相關 聯的捕捉的替換條形碼圖像數據320執行操作330以生成比較的條形碼圖像數據的示例方 法。如本文中進一步論述的,條形碼圖像(例如條形碼圖像110)和替換圖像(例如,替換條 形碼圖像120或220)可以由顯示裝置呈現并且由圖像捕捉裝置捕捉。圖像捕捉裝置可以 生成與條形碼圖像相關聯的捕捉的條形碼圖像數據310以及與替換圖像相關聯的捕捉的 替換條形碼圖像數據320。同樣如論述的,捕捉的圖像和捕捉的圖像數據可以具有由于圖像 的呈現和捕捉中的多種因素而導致的噪聲。基于對捕捉的條形碼圖像數據310和捕捉的替 換條形碼圖像數據320執行的操作330,在所生成的比較的條形碼圖像數據340中可以減小 或去除這樣的缺陷和噪聲,使得捕捉的條形碼圖像數據340可以正確地解碼。
[0021] 在各種示例中,操作330可以包括將捕捉的條形碼圖像數據310與捕捉的替換條 形碼圖像數據320相加、將捕捉的條形碼圖像數據310與捕捉的替換條形碼圖像數據320 相乘、求取捕捉的條形碼圖像數據310與捕捉的替換條形碼圖像數據320之間的絕對值差、 將捕捉的條形碼圖像數據310與捕捉的替換條形碼圖像數據320相減、確定來自從捕捉的 替換條形碼圖像數據320減去捕捉的條形碼圖像數據310的正數,或者確定來自從捕捉的 條形碼圖像數據310減去捕捉的替換條形碼圖像數據320的正數等。操作330可以使用捕 捉的替換條形碼圖像數據320作為基線或作為比較數據集等而從捕捉的條形碼圖像數據 310去除噪聲。
[0022] 使用圖2中圖示的示例,表示0的條形碼元素112a可以在與條形碼圖像110相關 聯的條形碼圖像數據中在RGB顏色空間中編碼為(0,0,0)=黑色。然而,如所論述的,在 呈現、捕捉和解碼之后,條形碼元素在捕捉的條形碼圖像數據310中可以解碼為例如(110, 120, 90)=灰色。例如,僅基于條形碼圖像數據310使用先前的技術,這樣的解碼可以錯誤 地解碼為白色(例如,表示1;白色=(255,255,255))。如所論述的,這樣的噪聲可以由例 如反射210引起。在一些示例中,使用純黑替換條形碼圖像220,相關聯的條形碼元素222a 在純黑替換條形碼圖像220中可以表示為(0,0,0)=黑色,并且在呈現、捕捉和解碼之 后,純黑條形碼元素可以例如在捕捉的替換條形碼圖像數據320中解碼為例如(105,125, 90)〇
[0023]在這樣的示例中,操作330可以包括捕捉的條形碼圖像數據310與捕捉的替換條 形碼圖像數據320之間的絕對值差。例如,對于條形碼元素112a和相關聯的條形碼元素 222a,絕對值差可以為f11魏1)灣:5:_|:.--< 條形碼元素112a被編碼為黑色。例如,所捕捉和解碼的由反射210引起的條形碼元素112a的灰度與也受反射210影響的相關聯條形碼元素222a的灰度之間的絕對值差可以基本上 抵消(例如,基本上接近于零),以針對受影響的元素正確解碼黑色。
[0024] 相比之下,對于可以編碼為白色=(255,255,255)的條形碼元素112b,所捕捉 和解碼的值在捕捉的條形碼圖像數據310中可以是(255,255,255)。對于替換條形碼圖 像220的相關聯的條形碼元素222b,所捕捉和解碼的值在捕捉的替換條形碼圖像數據320 中可以是(105,125, 90)(例如,如上面的)。如果條形碼圖像數據與替換純黑圖像數據之 間的絕對值差的操作330針對條形碼元素112b和相關聯的條形碼元素222b而執行,則絕 對值差可以是 1(255,255,255) -(105,125,90)| = (140,130,165),其可以解碼為白 色。在一些示例中,可以應用閾值,使得閾值以上的值可以解碼為白色而閾值以下的值可以 解碼為黑色。在一些示例中,對于RGB顏色空間的每個通道,閾值可以是大約15或25或35 等。
[0025] 在另一示例中(未圖示),在黑色和白色條形碼中,表示1的條形碼元素可以在條形 碼圖像數據中在RGB顏色空間中編碼為(255,255,255)=白色。然而,在呈現、捕捉和解 碼之后,條形碼元素在捕捉的條形碼圖像數據310中可以解碼為例如(80,90,60)=灰色, 其可能會被錯誤地解碼為黑色(例如表示〇;黑色=(〇,〇,0))。這樣的噪聲可能會例如由 在呈現條形碼圖像時曝光不足以及圖像捕捉裝置的有限動態范圍所導致。在一些示例中, 使用負片替換圖像,負片條形碼元素可以在負片替換圖像中表示為(〇, 〇, 〇)=黑色。在呈 現、捕捉和解碼之后,負片條形碼元素可能再次會由于在呈現和捕捉硬件等中的限制而在 捕捉的替換條形碼圖像數據320中解碼為例如(50,55,40)。
[0026]例如,操作330可以是條形碼圖像與替換圖像之間的差,可以在這樣的示例中執 行,使得所論述的條形碼圖像元素與相關聯的圖像元素的差可以是(80,90,60)-(50, 55,40)= (30,35,20),其可以指示條形碼元素是白色的。例如,(30,35,20)的差可以 指示所呈現和捕捉的條形碼圖像元素(白色)與所呈現和捕捉的負片替換條形碼圖像元素 (黑色)之間的相對強的差。在各種示例中,RGB顏色空間的每個通道的差閾值(諸如例如大 約15或25或35的閾值)可以用于確定解碼值。
[0027] 此外,這樣的技術可以減小由于顏色偏移導致的噪聲。例如,在彩色條形碼示例 (未圖示)中,以001的位