本發(fā)明概念的實施例涉及編碼和解碼被嵌入在圖案(諸如迷彩圖案)中的2維(2D)曲線中的信息。
背景技術(shù):
驗證商品的一種方式是將標(biāo)識標(biāo)記附加到商品(諸如商標(biāo)、條形碼或可以標(biāo)識商品的原產(chǎn)地的QR碼)。然而,這些標(biāo)識標(biāo)記可以從商品分離,并且假冒商品可以添加有標(biāo)識碼,該標(biāo)識碼能夠錯誤地將假冒商品與通常由特定標(biāo)志碼來標(biāo)識的特定制造商或原產(chǎn)地相關(guān)聯(lián)。
技術(shù)實現(xiàn)要素:
如本文所描述的發(fā)明概念的示例性實施例通常包括用于編碼和解碼2維(2D)曲線中的信息的系統(tǒng)和方法。可以被編碼為比特串(即,能夠被數(shù)字化)的任何類型的信息也可以被編碼在2D曲線中。通過發(fā)明概念可以被編碼在2D曲線中的商業(yè)重要的兩個示例性非限制性代碼是1維產(chǎn)品條形碼和2D QR碼。數(shù)字化2D曲線可以嵌入2D圖案中以隱藏2D曲線的存在,并且2D圖案可以銘刻在商品項(諸如衣著類商品、DVD或集成電路)上或作為其一部分或可以是產(chǎn)品標(biāo)簽的全部或一部分。
根據(jù)發(fā)明概念的實施例,提供了一種加密信息的方法,包括將表示為比特串的信息序列轉(zhuǎn)換到曲線編碼系統(tǒng)以提供至少一條閉合曲線,并且將至少一條閉合曲線嵌入2維圖案中。
根據(jù)發(fā)明概念的另一實施例,該方法包括將比特串中的相同取值的比特的每個連續(xù)的子串轉(zhuǎn)換為弧,其中每個弧的半徑對應(yīng)于每個子序列中的比特的數(shù)目,并且對應(yīng)于高取值的比特的序列的弧具有與對應(yīng)于低取值的比特的序列的弧的符號相反的符號,并且通過將弧序列的結(jié)束連接到弧序列的開始將弧序列轉(zhuǎn)換為閉合曲線。
根據(jù)發(fā)明概念的另一實施例,該方法包括將比特串轉(zhuǎn)換為多條閉合曲線,并且將多條閉合曲線中的每一個嵌入在2維圖案中。
根據(jù)發(fā)明概念的另一實施例,被嵌入在2維圖案中的多條閉合曲線之一是參考曲線,其包括剩余的閉合曲線的編碼信息,包括針對每個閉合曲線的開始/結(jié)束點中的一者或二者合針對多條閉合曲線的遍歷順序。
根據(jù)發(fā)明概念的另一實施例,2維圖案是具有多個強度水平的迷彩圖案。根據(jù)發(fā)明概念的另一實施例,至少一條閉合曲線是簡單的閉合曲線。根據(jù)發(fā)明概念的另一實施例,比特串表示QR碼。
根據(jù)發(fā)明概念的另一實施例,該方法包括:接收參考點;根據(jù)比特串中的相同取值的比特的子串生成弧,其中相同取值的比特的子串的長度對應(yīng)于從弧上的選定點到參考點的距離;并且相同取值的比特的子串中的比特值對應(yīng)于關(guān)于選定點處的參考點的閉合曲線的特征(signature);保存關(guān)于預(yù)定義方向的從參考點到選定點的矢量角;以及重復(fù)生成弧并且保存角的步驟直到整個比特串被轉(zhuǎn)換為一系列弧。根據(jù)發(fā)明概念的另一實施例,該方法包括如果弧中的一個或多個是斷開的,則在斷開的弧的相鄰對之間生成連接的弧以生成至少一條閉合曲線。
根據(jù)發(fā)明概念的另一實施例,該方法包括:接收閉合邊界曲線和參考點;根據(jù)比特串中的相同取值的比特的子串生成閉合邊界曲線的內(nèi)部中的弧,其中相同取值的比特的子串的長度對應(yīng)于弧與閉合邊界曲線的偏移,并且相同取值的比特的子串中的比特的值對應(yīng)于弧的特征;保存從弧上的選定點到參考點的向量的長度和關(guān)于預(yù)定方向的向量的角度偏移,并且重復(fù)生成弧并且保存長度和角度偏移的步驟直到整個比特串被轉(zhuǎn)換為一系列弧。
根據(jù)發(fā)明概念的另一實施例,如果弧中的、與閉合邊界曲線的相同偏移處的一個或多個弧被斷開,則方法包括在斷開的弧的相鄰對之間生成連接的弧,以生成被封閉在表示輪廓圖的閉合邊界曲線內(nèi)的多條嵌套的閉合曲線。
根據(jù)發(fā)明概念的另一實施例,該方法包括生成多條閉合曲線,其中多條閉合曲線之一是參考曲線,并且通過仿射變換從參考曲線得到其他閉合曲線中的每一個,其中每個仿射變換是選自平移、反射、旋轉(zhuǎn)、尺度變換、相似變換和剪切變換中的至少兩個變換,其中將比特串轉(zhuǎn)換為多條閉合曲線包括:將相同取值的比特的每個子串轉(zhuǎn)換為多條閉合曲線之一,其中相同取值的比特的數(shù)目對應(yīng)于至少兩個變換中的一個,并且相同取值的比特的值對應(yīng)于至少兩個變換中的另一個。
根據(jù)發(fā)明概念的另一實施例,該方法包括:將相同取值的比特的每個子串轉(zhuǎn)換為至少一條閉合曲線的內(nèi)部的子區(qū)域,每個子區(qū)域以一對平行線段和一對曲線段為邊界,一對平行線段具有延伸通過至少一條閉合曲線的內(nèi)部的預(yù)定分離,其中每個子區(qū)域的區(qū)域?qū)?yīng)于相同取值的比特的對應(yīng)的子串的長度,并且相同值的比特的值對應(yīng)于以子區(qū)域為邊界的該一對曲線段中的至少一個的特征;并且沿著相鄰對平行線段附加連續(xù)的子區(qū)域,其中這些對曲線段形成至少一條閉合曲線。
根據(jù)發(fā)明概念的另一實施例,提供了由計算機可讀的非暫態(tài)程序存儲設(shè)備,其有形地實現(xiàn)由計算機執(zhí)行的指令的程序以執(zhí)行用于解密信息的方法步驟,該方法包括從數(shù)字化2維圖案提取至少一條閉合曲線,并且將至少一條閉合曲線轉(zhuǎn)換為表示為比特串的信息序列。
根據(jù)發(fā)明概念的另一實施例,該方法包括將至少一條閉合曲線分解為弧的序列,并且確定每個弧的特征和半徑,并且將弧的序列轉(zhuǎn)換為比特串,其中連續(xù)的相同取值的比特的每個子序列對應(yīng)于弧,其中每個子序列的長度對應(yīng)于每個弧的半徑,并且每個子序列中的比特的值對應(yīng)于每個弧的特征。根據(jù)發(fā)明概念的另一實施例,2維圖案是具有多個灰度級的迷彩圖案。
根據(jù)發(fā)明概念的另一實施例,該方法包括從2維圖案提取多條閉合曲線,并且將從多條閉合曲線中的每一條得到的比特串連結(jié)為表示信息序列的比特串。
根據(jù)發(fā)明概念的另一實施例,從2維圖案提取的多條閉合曲線之一是參考曲線,其包括剩余的閉合曲線的解碼信息,其包括針對每個閉合曲線的開始點/結(jié)束點中的一者或二者和針對多條閉合曲線的遍歷順序。根據(jù)發(fā)明概念的另一實施例,至少一條閉合曲線是簡單的閉合曲線。根據(jù)發(fā)明概念的另一實施例,比特串表示QR碼。
根據(jù)發(fā)明概念的另一實施例,該方法包括延伸從參考點到閉合曲線上的選定點的向量,其中從參考點到選定點的向量的長度對應(yīng)于比特串的子串中的相同取值的比特的數(shù)目,并且相同取值的比特的子串中的比特的值由選定點處的閉合曲線的特征來確定。
根據(jù)發(fā)明概念的另一實施例,該方法包括:接收參考點和關(guān)于預(yù)定義方向的初始角度;延伸從初始角度處的參考點到閉合曲線上的選定點的向量,使向量偏移預(yù)定角度偏移以延伸從參考點到閉合曲線的另一點的另一向量;并且重復(fù)使向量偏移預(yù)定角度偏移以延伸從參考點到閉合曲線上的另一點的另一向量直到閉合曲線已經(jīng)被遍歷,其中向量的長度對應(yīng)于比特的子串中的相同取值的比特的數(shù)目,并且相同取值的比特的子串中的比特的值由該點處的閉合曲線的特征來確定,其中至少一條閉合曲線被轉(zhuǎn)換為表示為比特串的信息序列。
根據(jù)發(fā)明概念的另一實施例,至少一條閉合曲線閉合表示輪廓圖的多個嵌套的閉合曲線,其中將至少一條閉合曲線轉(zhuǎn)換為比特串包括:接收參考點和關(guān)于預(yù)定義方向的初始角度,并且通過從初始角度處的參考點將向量延伸預(yù)定距離到嵌套的閉合曲線之一上的一點并且使向量連續(xù)地偏移預(yù)定角度偏移來將多個嵌套的閉合曲線轉(zhuǎn)換為比特串,其中嵌套的閉合曲線之一與多個嵌套的閉合曲線的外部輪廓的偏移對應(yīng)于比特串中的子串中的相同取值的比特的數(shù)目,并且相同取值的比特的子串中的比特的值由該點處的嵌套的閉合曲線之一的特征來確定。
根據(jù)發(fā)明概念的另一實施例,從數(shù)字化2維圖案提取多條閉合曲線,其中多條閉合曲線之一是參考曲線,并且通過仿射變換從參考曲線得到其他閉合曲線中的每一條,其中每個仿射變換是選自平移、反射、旋轉(zhuǎn)、尺度變換、相似變換和剪切變換的兩個或兩個以上變換的組合,并且其中將多條閉合曲線轉(zhuǎn)換為比特串包括將多條閉合曲線中的每一條轉(zhuǎn)換為相同取值的比特的子串,其中相同取值的比特的數(shù)目對應(yīng)于兩個或兩個以上變換中的一個,并且相同取值的比特的值對應(yīng)于兩個或兩個以上變換中的另一個。
根據(jù)發(fā)明概念的另一實施例,該方法包括將至少一條閉合曲線的內(nèi)部分為子區(qū)域,每個子區(qū)域以一對平行線段和曲線的每側(cè)上的一對曲線段為邊界,其中一對平行線段延伸通過至少一條閉合曲線的內(nèi)部的預(yù)定分離,并且將閉合曲線轉(zhuǎn)換為表示為比特串的信息序列,其中每個子區(qū)域的區(qū)域?qū)?yīng)于比特串的子串中的相同取值的比特的數(shù)目,并且相同取值的比特的值對應(yīng)于以子區(qū)域為邊界的該對曲線段中的至少一個的特征。
根據(jù)發(fā)明概念的另一實施例,提供了一種加密信息的方法,包括:通過比特串中的相同取值的比特的每個連續(xù)的子串轉(zhuǎn)換為弧,來將表示為比特串的信息序列轉(zhuǎn)換為曲線編碼系統(tǒng),其中相同取值的比特的每個子串的長度對應(yīng)于從弧上的選定點到參考點的距離,并且相同取值的比特的子串中的比特的值對應(yīng)于弧在選定點處相對于參考點的的特征,將弧連接到閉合曲線中,并且將閉合曲線嵌入在2維圖案中。
附圖說明
圖1示出了根據(jù)發(fā)明概念的實施例的具有嵌入式標(biāo)識QR碼的迷彩圖案外套的示例。
圖2示出了根據(jù)發(fā)明概念的實施例的從圖1取得的迷彩圖案的放大部分。
圖3示出了根據(jù)發(fā)明概念的實施例的被嵌入在由于二值化圖3中所示的迷彩圖案的黑色背景中的多個白色形狀。
圖4(a)至圖4(c)示出了根據(jù)發(fā)明概念的實施例的相應(yīng)地從圖3中的形狀提取的三個示例性弧。
圖5(a)至圖5(c)示出了根據(jù)發(fā)明概念的實施例的從包括不同的特征和半徑的多個弧的簡單的閉合曲線得到的比特串。
圖6示出了根據(jù)發(fā)明概念的實施例的由圖5中所示的比特串形成的QR碼。
圖7描繪了根據(jù)發(fā)明概念的實施例的具有從其相應(yīng)地投影向量的兩個參考點的閉合曲線。
圖8(a)描繪了根據(jù)發(fā)明概念的實施例的表示輪廓圖的外部邊界的閉合曲線80。
圖8(b)描繪了根據(jù)發(fā)明概念的實施例的包括通過使圖8(a)的閉合曲線偏移形成的多個嵌套曲線的輪廓圖和從其向量被投影到輪廓圖中的點的參考點。
圖9(a)至圖9(c)描繪了根據(jù)發(fā)明概念的實施例的3條閉合曲線,其中圖9(a)的曲線是參考曲線并且通過仿射變換根據(jù)參考曲線創(chuàng)建圖9(b)至圖9(c)的曲線。
圖10描繪了根據(jù)發(fā)明概念的實施例的其內(nèi)部分為子區(qū)域的另一曲線,其中每個子區(qū)域?qū)?yīng)于相同取值的比特的子序列。
圖11(a)至圖11(c)圖示了根據(jù)發(fā)明概念的實施例的將閉合曲線轉(zhuǎn)換為比特串的示例。
圖12是根據(jù)發(fā)明概念的實施例的加密輪廓的序列中的信息的方法的流程圖。
圖13是根據(jù)發(fā)明概念的實施例的解密被編碼在輪廓的序列中的信息的方法的流程圖。
圖14是根據(jù)發(fā)明概念的實施例的用于實現(xiàn)用于編碼和解碼2維(2D)曲線中的信息的方法的示例性計算機系統(tǒng)的框圖。
具體實施方式
如本文所描述的發(fā)明概念的示例性實施例通常包括用于編碼和解碼2維(2D)曲線中的信息的方法。因此,雖然發(fā)明概念易受各種修改和備選形式影響,但是其特定實施例僅以附圖中的示例的方式示出并且將在本文中詳細(xì)描述。然而,應(yīng)當(dāng)理解,不旨在將發(fā)明概念限于所公開的特定形式,而是相反,發(fā)明概念將覆蓋落在發(fā)明概念的精神和范圍內(nèi)的所有修改、等同和替換。
能夠防止假冒商品錯誤地標(biāo)識的確保商品可以適當(dāng)?shù)仳炞C的一種方式是以諸如以如下方式將標(biāo)識標(biāo)記嵌入在商品中:其基本上在正常察看的情況下在商品內(nèi)被擋住不能查看但是可以通過成像技術(shù)被展示。例如,圖1示出了具有嵌入式標(biāo)識QR碼的迷彩圖案外套的示例。圖2示出了從圖1的區(qū)域11取得的迷彩圖案的放大部分。迷彩圖案具有可以由多個強度水平表示的多個類似顏色。比特圖案可以通過例如改變兩個最低階比特的值而被隱藏在這樣的圖案中。該類型的編碼將渲染基本上與迷彩圖案不能區(qū)分的比特圖案。該迷彩圖案可以使用圖3中所示的指定顏色密鑰軟件而被二值化為黑色和白色圖像。圖3示出了被嵌入在黑色背景中的多個白色形狀。注意,黑色背景的選擇是示例性并且非限制性的,并且指定顏色密鑰軟件可以生成白色背景上的黑色形狀??梢酝ㄟ^2維(2D)簡單的閉合曲線表示形狀與背景之間的邊界,各自具有定義清楚的邊界(即,形狀的內(nèi)部)和定義清楚的外部、背景。一旦定義針對每個曲線的開始/結(jié)束,則曲線可以分解為弧的連接的序列??梢允钦蜇?fù)的弧的特征(signature)可以通過弧是否對于簡單的閉合曲線的內(nèi)部向內(nèi)凹或朝向外部向外凹。給定一組2D簡單的閉合曲線,現(xiàn)有的數(shù)學(xué)計算環(huán)境(諸如從Math Works可用的MATLAB)提供可以從曲線提取弧并且確定其半徑和中心的內(nèi)置功能,如在圖4(a)至圖4(c)中所圖示的。圖4(a)至圖4(c)示出了相應(yīng)地從圖3中的31、32和33提取的三個示例性弧。因此,可以通過將特征與比特值相關(guān)聯(lián)并且將半徑與比特長度相關(guān)聯(lián),來將包括具有不同的特征和半徑的多個弧的簡單的閉合曲線轉(zhuǎn)換為圖5(a)至圖5(c)中所圖示的比特串。比特串可以表示產(chǎn)品代碼(諸如條形碼或圖6中所示的QR碼)的全部或一部分。
在發(fā)明概念的其他實施例中,多個弧可以結(jié)合在一起以形成多個2維曲線,并且這樣的曲線的陣列可以被嵌入在迷彩圖案中。另外,在發(fā)明概念的其他實施例中,曲線陣列之一可以是參考曲線,其包括用于剩余的曲線的編碼信息。該編碼信息可以包括曲線的開始點和結(jié)束點之一或二者、曲線陣列的遍歷順序和由曲線編碼的信息的類型(諸如曲線是否表示QR碼)。如果曲線陣列的確表示QR碼,則參考曲線還可以包括關(guān)于QR碼的大小的信息,并且QR碼如何被分解為單獨的閉合曲線。關(guān)于每個曲線的開始點和結(jié)束點的信息可以包括例如每個曲線的內(nèi)部的質(zhì)心點和通過質(zhì)心的偏移角,質(zhì)心與曲線相交是開始點/結(jié)束點。根據(jù)發(fā)明概念的實施例,參考曲線可以是曲線陣列中的左上曲線。然而,該參考曲線位置是示例性和非限制性的,并且參考曲線可以定位在曲線陣列中間的任何地方。
圖7至圖10圖示了根據(jù)發(fā)明概念的其他實施例的編碼輪廓中的信息的其他方法。
圖7描繪了具有從其相應(yīng)地投影向量73、74的兩個參考點71、72的閉合曲線70。參考點72可以是以閉合曲線為邊界的區(qū)域的質(zhì)心,但是不限于此。在任一情況下,從參考點到曲線上的點的向量的長度對應(yīng)于相同取值的比特的長度,并且曲線的特征(即,曲線在曲線點處是凹/凸)對應(yīng)于比特值。通過使向量從參考點前進(jìn)預(yù)指定的角度偏移15找到相同取值的比特的下一子序列。
圖8(a)描繪了表示輪廓圖的外邊界的閉合曲線80,而圖8(b)描繪了包括通過使圖8(a)的閉合曲線偏移形成的多個嵌套曲線的輪廓圖81和從其將向量83投影到輪廓圖81中的點84的參考點82。可以從外邊界向內(nèi)以固定增量定義新曲線直到曲線自身相交。向內(nèi)曲線可以定義超過外邊界的高度??梢酝ㄟ^從參考點82延伸初始向量83預(yù)定距離來找到對應(yīng)于信息序列的開始的初始點。可以在數(shù)據(jù)庫中找到該預(yù)定距離。相同取值的比特的數(shù)目對應(yīng)于初始點處的輪廓高度,并且通過該點處的曲線的凹性/凸性來給定比特值。通過使初始向量83偏移還可以在數(shù)據(jù)庫中找到的預(yù)定角增量來找到下一點,并且將向量延伸預(yù)定距離到多個嵌套曲線之一上的點。
圖9(a)至圖9(c)描繪了3條閉合曲線,其中圖9(a)的曲線可以被認(rèn)為是參考曲線??梢酝ㄟ^仿射變換根據(jù)參考曲線創(chuàng)建其他曲線(諸如圖9(b)-圖9(c)中所圖示的那些),其中每個連續(xù)的曲線與相同取值的比特的后續(xù)子序列相關(guān)聯(lián)。仿射變換可以是以下中的兩個或兩個以上的組合:平移、反射、旋轉(zhuǎn)、尺度變換、相似變換和剪切映射。例如,平移距離、縮放的程度、歸因于剪切的傾斜的幅度等可以對應(yīng)于信息序列中的相同取值的比特的數(shù)目,而反射或旋轉(zhuǎn)的角度偏移對應(yīng)于比特值。例如,示例性非限制性比特值編碼可以是第一n度角度偏移表示1,并且第二n度表示0,第三n度表示1等。注意,將旋轉(zhuǎn)偏移映射到比特值使用的先前方案也可以供平移、縮放或剪切使用??梢愿鶕?jù)數(shù)據(jù)庫確定編碼方案。
圖10描繪了其內(nèi)部被分為子區(qū)域101的另一曲線100,其中每個子區(qū)域?qū)?yīng)于相同取值的比特的子序列。注意,為了清晰起見,在附圖中指示子區(qū)域101中的僅一些子區(qū)域101。每個子區(qū)域的區(qū)域可以對應(yīng)于相同取值的比特的數(shù)目,而比特值可以通過任一結(jié)束處的邊界曲線的凹性/凸性確定。例如,凹上曲線可以是0,任何其他組合可以是1。其他組合定義是可能的。
在發(fā)明概念的其他實施例中,對象可以具有標(biāo)記(例如,星),其包含對于秘密數(shù)據(jù)庫的密鑰,其包含用于讀取輪廓代碼的所有信息(例如,垂直的定義、參考點的位置和對下一曲線點的角度偏移等)。
圖11(a)至圖11(c)圖示了根據(jù)發(fā)明概念的實施例的將閉合曲線轉(zhuǎn)換為比特串的示例。圖11(a)描繪了被嵌入在迷彩圖案中的曲線110,并且圖11(b)描繪了從迷彩圖案提取的曲線110。圖11(b)還描繪了參考點111和從參考點延伸到曲線110的多個向量112、113、114、115、116、117和118??梢詮纳衔乃岬降拿孛軘?shù)據(jù)庫讀取參考點111的位置和向量112到118中的每一個的角度偏移。一組示例性非限制性角度偏移可以是分別針對向量112、113、114、115、116、117和118的0°、40°、53°、54°、48°、44°和62°。注意,在該示例中,角度偏移是連續(xù)的向量之間的角??梢酝ㄟ^其中向量與曲線相交的弧的特征來確定與每個向量相關(guān)聯(lián)的比特子串的值。在該示例中,0的值或黑色與向外凹的弧相關(guān)聯(lián),并且1的值或白色與向內(nèi)凹的弧相關(guān)聯(lián)。另外,相同取值的比特的數(shù)目對應(yīng)于相關(guān)聯(lián)的向量的長度。一組示例性非限制性比特長度可以相應(yīng)地是針對向量112、113、114、115、116、117和118的7黑色、2白色、1黑色、1白色、2黑色、1白色和7黑色比特。注意,如在圖11(b)中所示的向量112到118的明顯的長度不必對應(yīng)于相關(guān)聯(lián)的比特數(shù)。圖11(c)描繪了從曲線110得到的比特串,其中相同取值的比特的每個子串的參考數(shù)目對應(yīng)于圖11(b)中的相關(guān)聯(lián)的向量。
圖12是根據(jù)發(fā)明概念的實施例的將被表示為比特串的信息序列轉(zhuǎn)換為曲線編碼系統(tǒng)以提供至少一條閉合曲線的方法的流程圖。信息序列可以被表示為比特串,其中每個比特具有低值和高值之一(通常相應(yīng)地被表示為0和1)。比特串可以代表例如產(chǎn)品條形碼或QR碼的全部或一部分。比特串將包括連續(xù)的1比特和0比特的子序列?,F(xiàn)在參考附圖,通過將信息序列轉(zhuǎn)換到曲線編碼系統(tǒng)中在步驟121處開始方法。示例性非限制性曲線編碼系統(tǒng)是弧的序列,其中非限制性曲線編碼系統(tǒng)的每個元件是對應(yīng)于連續(xù)的相同取值的比特的子序列的弧。每個弧的半徑對應(yīng)于每個子序列中的比特的數(shù)目,并且對應(yīng)于高取值的比特的序列的弧具有與對應(yīng)于低取值的比特的序列的弧的特征相反的特征。例如,根據(jù)發(fā)明概念的實施例,對于0比特的串的弧的半徑可以指向?qū)τ?比特的串的弧的半徑的相反方向。由于比特串可以包括連續(xù)的1比特的多個子序列和0比特的多個子序列,因而將生成多個弧。
在步驟122處,通過將弧的結(jié)束點結(jié)合到弧序列的開始點來將被表示為弧的序列的曲線編碼系統(tǒng)轉(zhuǎn)換為閉合曲線。根據(jù)發(fā)明概念的實施例,閉合曲線可以是平面簡單閉合曲線。平面曲線被嵌入與曲線平面相反的平面中,并且簡單的閉合曲線自身不相交。簡單的閉合曲線的眾所周知的性質(zhì)在于,其將平面分為兩個不相交的集合(即,曲線的內(nèi)部和曲線的外部)。根據(jù)發(fā)明概念的實施例,結(jié)束點可以連接到開始點,使得表示0比特的子序列的弧向內(nèi)凹到閉合曲線中,并且表示1比特的子序列的弧從閉合曲線向外凹。備選地,根據(jù)發(fā)明概念的另一實施例,結(jié)束點可以連接到開始點,使得表示0比特的序列的弧從閉合曲線向外凹,并且表示1比特的子序列的弧向內(nèi)凹到閉合曲線中。
在步驟123中,以關(guān)于模糊閉合曲線的存在的這樣的方式將閉合曲線嵌入2維圖案中。根據(jù)發(fā)明概念的實施例,圖案可以是具有多個灰度級的數(shù)字化迷彩圖案,并且閉合曲線可以編碼在兩個最低有效比特中。隱藏數(shù)據(jù)的該過程是隱寫術(shù)的示例,其是以這樣的方式要么加密要么解密隱藏消息的過程:除發(fā)送者和預(yù)期接收者之外,沒有人懷疑消息的存在。
圖13是根據(jù)發(fā)明概念的實施例的解密被編碼在輪廓的序列中的信息的方法的流程圖。現(xiàn)在參考附圖,通過從數(shù)字化2維圖案提取至少一條閉合曲線在步驟131處開始方法。根據(jù)發(fā)明概念的實施例,2維圖案可以是具有多個灰度級的迷彩圖案。在發(fā)明概念的其他實施例中,可以從2維圖案提取多條閉合曲線。根據(jù)發(fā)明概念的實施例,每個閉合曲線可以是簡單閉合曲線。在步驟132處,至少一個曲線被分解為曲線編碼系統(tǒng)。示例性非限制性曲線編碼系統(tǒng)是弧的序列,其中每個弧表示曲線編碼系統(tǒng)的元件。然后,在步驟133處,弧的序列中的每個弧被轉(zhuǎn)換為相同取值的比特的子串,其中每個子序列的長度對應(yīng)于每個弧的半徑,并且每個子序列中的比特的值對應(yīng)于每個弧的特征。根據(jù)發(fā)明概念的實施例,比特串可以表示QR碼。而且,如上文所公開的,從2維圖案提取的多條閉合曲線之一可以是參考曲線,其包括針對剩余的閉合曲線的解碼信息。
如上文所描述的,可以編碼為比特串(即能夠被數(shù)字化)的任何類型的信息還可以通過根據(jù)發(fā)明概念的實施例的方法被編碼在2D曲線中。通過發(fā)明概念可以被編碼在2D曲線中的商業(yè)重要性的兩個示例性非限制性代碼是1維產(chǎn)品條形碼和2D QR碼。而且,如上文所描述的,數(shù)字化2D曲線可以嵌入2D圖案中來隱藏2D曲線的存在,并且2D圖案可以印記在商品項上或作為其一部分(諸如衣著類商品、DVD或集成電路)或可以是產(chǎn)品標(biāo)簽的全部或一部分。
將理解到,可以以硬件、軟件、固件、專用處理器或其組合的各種形式實現(xiàn)本發(fā)明概念的實施例。在一個實施例中,本發(fā)明概念可以在軟件中被實現(xiàn)為有形地實現(xiàn)在計算機可讀程序存儲設(shè)備上的應(yīng)用程序。應(yīng)用程序可以被上載到機器并且由其執(zhí)行,該機器包括適合的架構(gòu),諸如計算機(諸如工作站、臺式計算機、膝上型計算機、平板電腦或智能電話)的中央處理單元(CPU)。
圖14是根據(jù)本發(fā)明的實施例的用于實現(xiàn)用于編碼和解碼2維(2D)曲線中的信息的方法的示例性計算機系統(tǒng)的流程圖?,F(xiàn)在參考圖14,用于實現(xiàn)本發(fā)明的計算機系統(tǒng)141可以包中央處理單元(CPU)142、存儲器143和輸入/輸出(I/O)接口144和其他。計算機系統(tǒng)141通常通過I/O接口144耦合到顯示器145和各種輸入設(shè)備146(諸如鼠標(biāo)和鍵盤)。支持電路可以包括諸如高速緩存、電源、時鐘電路和通信總線的電路。存儲器143可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、磁盤驅(qū)動器、磁帶驅(qū)動器等或其組合。本發(fā)明可以被實現(xiàn)為例程147,其被存儲在存儲器143中并且由CPU 142執(zhí)行以處理來自信號源148的信號。如此,計算機系統(tǒng)141是通用計算機系統(tǒng),其在執(zhí)行本發(fā)明的例程147時變?yōu)閷S糜嬎銠C系統(tǒng)。
計算機系統(tǒng)141還包括操作系統(tǒng)和微指令代碼。本文所描述的各種過程和功能可以是經(jīng)由操作系統(tǒng)執(zhí)行的微指令代碼的一部分或者應(yīng)用程序的一部分(或其組合)。另外,各種其他外圍設(shè)備可以連接到計算機平臺(諸如附加的數(shù)據(jù)存儲設(shè)備和打印設(shè)備)。
還將理解到,由于可以以軟件實現(xiàn)在附圖中所描繪的一些組成系統(tǒng)部件和方法步驟,因而系統(tǒng)部件(或過程步驟)之間的實際連接可以取決于安排本發(fā)明的方式而不同。給定本文所提供的本發(fā)明概念的教導(dǎo),相關(guān)領(lǐng)域的普通技術(shù)人員將能夠預(yù)期本發(fā)明概念的這些和類似實施方式和配置。
雖然已經(jīng)參考示例性實施例詳細(xì)描繪了本發(fā)明概念,但是本領(lǐng)域的技術(shù)人員將理解到,在不脫離如權(quán)利要求書中所闡述的本發(fā)明的精神和范圍的情況下,可以對這些示例性實施例做出各種修改和替換。