專利名稱:一種支持圖像并行處理的條碼解碼裝置的制作方法
技術領域:
一種支持圖像并行處理的條碼解碼裝置
技術領域:
本實用新型涉及一種條碼解碼裝置,特別涉及一種支持圖像并行處理的條碼解碼
直O
背景技術:
條碼技術是在計算機技術與信息技術基礎上發展起來的一門容編碼、印刷、識別、 數據采集和處理于一身的新興技術。條碼技術由于其識別快速、準確、可靠以及成本低等優 點,被廣泛應用于商業、圖書管理、倉儲、郵電、交通和工業控制等領域,并且勢必在逐漸興 起的“物聯網”應用中發揮重大的作用。目前被廣泛使用的條碼包括一維條碼及二維條碼。一維條碼又稱線形條碼是由平 行排列的多個"條"和"空"單元組成,條形碼信息靠條和空的不同寬度和位置來表達。 一維條碼只是在一個方向(一般是水平方向)表達信息,而在垂直方向則不表達任何信息, 因此信息容量及空間利用率較低,并且在條碼損壞后即無法識別。二維條碼是由按一定規律在二維方向上分布的黑白相間的特定幾何圖形組成,其 可以在二維方向上表達信息,因此信息容量及空間利用率較低,并具有一定的校驗功能。二 維條碼可以分為堆疊式二維條碼和矩陣式二維條碼。堆疊式二維條碼是由多行短截的一 維條碼堆疊而成,代表性的堆疊式二維條碼包括PDF417、Code 49、Code 16K等。矩陣式 二維條碼是由按預定規則分布于矩陣中的黑、白模塊組成,代表性的矩陣式二維條碼包括 Codeone、Aztec、Date MatriX、QR 碼等。目前,對條碼圖像的解碼過程基本都是采用串行方式進行。現有條碼解碼過程都是等待拍攝系統獲取條碼圖像并將圖像完全傳輸到RAM后 進行解碼。在傳輸過程中,處理單元完全處于等待狀態,造成了時間上的浪費。
實用新型內容為了解決以上問題,本實用新型提供了一種支持圖像并行處理的條碼解碼裝置, 由此提高條碼圖像的識別速度。本實用新型提供了一種支持圖像并行處理的條碼解碼裝置,該條碼解碼裝置包 括數據存儲器,用于接收條碼圖像;處理單元,用于在條碼圖像的傳輸過程中對數據存儲 器已接收的條碼圖像片斷進行識別。根據本實用新型一優選實施例,處理單元包括至少兩個子處理單元,至少兩個子 處理單元分別對應同一條碼識別規則的不同識別步驟,至少兩個子處理單元串接設置,以 實現同一條碼識別規則的完整識別過程。根據本實用新型一優選實施例,處理單元為由硬件邏輯實現的可對條碼圖像片段 進行識別的條碼運算邏輯。根據本實用新型一優選實施例,條碼運算邏輯為至少兩個,至少兩個條碼運算邏 輯分別利用針對不同碼制的識別規則對同一條碼圖像片段進行并行識別。[0012]根據本實用新型一優選實施例,條碼解碼裝置進一步包括主控邏輯模塊以及設置 于數據存儲器與至少兩個條碼運算邏輯之間的選通邏輯門,選通邏輯門在主控邏輯模塊的 控制下選擇性連通數據存儲器與對應的條碼運算邏輯。根據本實用新型一優選實施例,選通邏輯門包括一輸入端口、多個輸出端口以及 至少一控制端口,選通邏輯門的輸入端口連接數據存儲器的輸出端口,選通邏輯門的多個 輸出端口分別連接對應的條碼運算邏輯的輸入端口,選通邏輯門的控制端口連接主控邏輯 模塊,以在主控邏輯模塊的控制下選擇性連通選通邏輯門的輸入端口與選通邏輯門的對應 輸出端口。通過上述方法,實現了條碼圖像傳輸與條碼識別過程的并行,由此提高了條碼圖 像的識別速度。
圖1為本實用新型第一實施例的示意框圖。圖2為本實用新型第二實施例的示意框圖。圖3為本實用新型第三實施例的示意框圖。圖4為本實用新型第四實施例的示意框圖。圖5為本實用新型第五實施例的示意框圖。圖6為實現本實用新型第一至第五實施例的硬件邏輯架構的示意框圖。圖7為圖6所示的硬件邏輯架構中的數據管理系統的示意框圖。圖8為實現本實用新型第一至第五實施例的軟件架構的示意框圖。圖9為圖8所示的軟件架構的第一工作狀態。圖10為圖8所示的軟件架構的第二工作狀態。
以下結合附圖和實施例對本實用新型進行詳細說明。如圖1所示,圖1是本實用新型第一實施例的條碼圖像并行處理架構的示意圖。在 本實用新型的第一實施例中,條碼解碼裝置100中設置至少兩個處理單元101、102。處理單 元101、102是對應于不同碼制的識別單元,即處理單元101、102可分別利用不同碼制的識 別規則進行條碼識別。例如,處理單元101為一維條碼識別單元,而處理單元102為PDF417 條碼識別單元。此外,條碼解碼裝置100還可以進一步設置多個處理單元,以分別對應于其 他碼制的條碼識別過程,例如Code 49條碼、Code 16K條碼、Supercode條碼等。在本實用新型的第一實施例中,當條碼圖像輸入到條碼解碼裝置100后,處理單 元101、102分別利用針對不同碼制的識別規則對該條碼圖像進行并行解碼。例如,由處理 單元101、102分別利用一維條碼識別規則和PDF417條碼識別規則同時對該條碼圖像進行 識別。如果輸入的條碼圖像為PDF417條碼圖像,則由處理單元102輸出正確的識別結果。 在優選實施例中,如果處理單元102已輸出正確的識別結果,而處理單元101仍在執行識別 動作,則停止處理單元101的識別動作。通過上述方法,利用多個處理單元分別以不同的識別規則對同一條碼圖像進行并 行識別,由此提高了條碼圖像的識別速度。
具體實施方式
如圖2所示,圖2是本實用新型第二實施例的條碼圖像并行處理架構的示意圖。在 本實施例中,在攝像頭(未圖示)拍攝到條碼圖像且進行適當預處理后,需要將條碼圖像傳輸到條碼解碼裝置200的數據存儲器201。在現有技術中,需等待條碼圖像全部傳輸到數 據存儲器201后才進行條碼識別。然而,考慮到數據存儲器201中存儲的條碼圖像的圖像 片段達到一定程度后即可進行全部或部分條碼識別過程,因此在本實施例中條碼圖像的傳 輸過程與識別過程并行進行。具體來說,對于一維條碼而言,由于一維條碼只在水平方向表達信息,而在垂直方 向則不表達任何信息,因此實際上只需獲得一定高度的水平條碼圖像片段即可對一維條碼 進行識別。對于二維條碼而言,同樣在獲得足夠大小的條碼片段后即可進行部分條碼識別 過程,例如邊界搜索等。因此,在本實施例中,在條碼圖像向條碼解碼裝置200的數據存儲器201的傳輸過 程中,判斷已傳輸的條碼圖像片段是否滿足識別條件。所謂的識別條件可以是數據存儲器 201已接收的條碼圖像片段是否達到預定的像素行或/和列數量,并且可根據不同碼制設 定不同標準。當處理單元202判斷出數據存儲器201已接收的條碼圖像片段滿足識別條件 時,便開始對已接收的條碼圖像片段進行識別。在處理單元202對已接收的條碼圖像片段 進行識別的過程中,條碼圖像繼續向數據存儲器傳輸并形成新的條碼片段。當處理單元202 完成條碼圖像片段的識別后,處理單元202會進行等待,直到數據存儲器201所接收的新的 條碼圖像片段滿足下一次識別的條件。處理單元202在判斷數據存儲器201接收的條碼圖 像片段已滿足下一次識別的條件后,會繼續對條碼圖像片段進行識別。通過上述方法,實現了條碼圖像傳輸與條碼識別過程的并行,由此提高了條碼圖 像的識別速度。此外,如第一實施例所描述的,本實施例的條碼解碼裝置200中也可以設置多個 處理單元,該多個處理單元分別利用針對不同碼制的識別規則對圖像片段進行并行識別。如圖3所示,圖3是本實用新型第三實施例的條碼圖像并行處理架構的示意圖。 在條碼識別過程中,為了保證對條碼圖像識別的正確性,需要對多幀條碼圖像進行識別。然 而,在現有技術中,在攝像單元將一幀條碼圖像傳輸到條碼解碼裝置300后需等待條碼解 碼裝置300對該幀條碼圖像的識別過程完成后才會傳輸下一幀條碼圖像。在本實施例中,攝像單元(未圖示)將連續拍攝的多幀條碼圖像順序地傳輸到條 碼解碼裝置300的數據存儲器301。并且,在傳輸完一幀條碼圖像后,由處理單元302對該 幀條碼圖像進行識別。在處理單元302對該幀條碼圖像進行識別的同時,攝像單元向數據 存儲器301繼續傳輸下一幀條碼圖像。當處理單元302對當前幀條碼圖像的識別完成后, 若下一幀條碼圖像已完成向數據存儲器301的傳輸,則處理單元302開始對下一幀條碼圖 像進行識別。當處理單元302對當前幀條碼圖像的識別完成后,若下一幀條碼圖像未完成 向數據存儲器301的傳輸,則處理單元302等待下一幀條碼圖像的傳輸,直至下一幀條碼圖 像傳輸完畢,處理單元302開始對下一幀條碼圖像進行識別。通過上述方法,實現了條碼圖像傳輸與條碼識別過程的并行,由此提高了條碼圖 像的識別速度。此外,如第一實施例所描述的,本實施例的條碼解碼裝置300中也可以設置多個 處理單元,該多個處理單元分別利用針對不同碼制的識別規則對條碼圖像進行并行識別。如圖4所示,圖4是本實用新型第四實施例的條碼圖像并行處理架構的示意圖。 在本實用新型的第四實施例中,條碼解碼裝置400中設置一組至少兩個處理單元401、402、403。其中,每個處理單元401、402、403對應同一條碼識別規則的不同識別步驟。這至少兩 個處理單元串接在一起后,可實現一個完整的識別過程。以一維條碼為例,處理單元401、 402,403可分別對應于一維條碼的條碼搜索步驟、碼值提取步驟以及糾錯譯碼步驟。由此, 對于連續輸入到條碼解碼裝置400的兩幀條碼圖像,處理單元401由首先對第一幀條碼圖 像進行條碼搜索,以確定條碼位置及相關參數。在處理單元401對第一幀條碼圖像進行處 理后,將搜索結果輸入到處理單元402進行碼值提取。而處理單元401則進一步對第二幀 條碼圖像進行條碼搜索。在處理單元402對第一幀條碼圖像進行完碼值提取,并將提取結 果輸入到處理單元403進行糾錯譯碼后,由處理單元401將第二幀條碼圖像的搜索結果進 一步輸入到處理單元402進行碼值提取。通過上述方式,可以通過流水線架構設計實現了條碼圖像的各識別步驟的并行, 由此提高了條碼圖像的識別速度。此外,在條碼解碼裝置400中同樣可以設置多組處理單元,每組處理單元中包括 多個針對同一條碼識別規則的不同識別步驟的處理單元,且每組處理單元分別對應于不同 碼制的識別規則,由此可由該多組處理單元分別利用針對不同碼制的識別規則對條碼圖像 進行并行識別。進一步,本實用新型第四實施例可以與第一至第三實施例結合,即利用第四實施 例的處理單元401、402、403的流水線設計實現第一至第三實施例中的處理單元101、102、 202、302。此時,第四實施例的處理單元401、402、403可作為第一至第三實施例中的處理單 元101、102、202、302中的子處理單元。如圖5所示,圖5是本實用新型第五實施例的條碼圖像并行處理架構的示意圖。 在本實用新型的第五實施例中,條碼解碼裝置500的處理單元中設置有對條碼圖像進行掃 描的掃描模塊501以及至少兩個邊界判斷模塊502、503、504、505。邊界判斷模塊502、503、 504,505可分別利用不同的邊界判斷規則來對掃描到的條碼邊界進行并行邊界判斷。每一 邊界判斷模塊502、503、504、505優選為對應一個邊界判斷規則。在一優選實施例中,條碼圖像為PDF417碼的條碼圖像,邊界判斷模塊502對應 81111113邊界判斷規則、邊界判斷模塊503對應31111118邊界判斷規則、邊界判斷模塊 504對應71111113邊界判斷規則、邊界判斷模塊505對應31111117邊界判斷規則。當掃 描模塊501對條碼圖像進行掃描時,若掃描模塊501掃描到一條空邊界,則以此條空邊界為 基準向前繼續掃描8個條空邊界,并將其間的各條或空的模塊數發送給這四個邊界判斷模 塊502、503、504、505,由這四個邊界判斷模塊502、503、504、505并行判斷上述條空是否滿 足對應的邊界判斷規則。例如,若邊界判斷模塊503正確判斷出條碼邊界,則此條碼圖像的 邊界為31111118邊界。若此時其它邊界判斷模塊502、504、505仍在進行邊界判斷,則停 止邊界判斷模塊502、504、505的判斷動作。若這四個邊界判斷模塊502、503、504、505均判 斷出上述條空不滿足對應的邊界判斷規則,則掃描模塊501向前搜索下一條空邊界,并以 該下一條空邊界為基準重復上述判斷過程,直到確定出正確的條碼邊界或掃描完整個條碼 圖像。此外,本實用新型第五實施例可以與第一至第四實施例結合,即將掃描模塊501 以及邊界判斷模塊502、503、504、505作為上述實施例的處理單元的一部分。圖6為實現本實用新型第一至第五實施例的硬件邏輯架構的示意框圖。在本實施例中,上述條碼解碼裝置可全部由硬件邏輯實現,并集成于一個集成芯片內。該集成條碼解 碼芯片包括數據存儲器603、主控邏輯模塊602、寄存器組605、外部接口 606以及至少一條 碼運算邏輯601。寄存器組605將數據存儲器603、主控邏輯模塊602以及條碼運算邏輯 601與外部隔離。其中,條碼運算邏輯601可對應于本實用新型第一至第四實施例中的處理 單元101、102、202、302、401、402、403,或是第五實施例中的掃描模塊501及邊界判斷模塊 502、503、504、505。該集成條碼解碼芯片中進一步圖像傳感陣列604及曝光控制模塊607, 曝光控制模塊607通過1 總線控制圖像傳感陣列604,以控制圖像傳感陣列604的工作狀 態。另外,圖像傳感陣列604的亮度信息可以傳給曝光控制模塊607,曝光控制模塊607根 據所獲取的亮度信息可將相應控制邏輯放置到寄存器組605,主控邏輯模塊602從寄存器 組605獲取該控制邏輯,并根據該控制邏輯控制條碼運算邏輯601的工作,如開啟或關閉其 工作狀態。主控邏輯模塊602對應于所需的控制狀態具有相應的控制邏輯,可以通過觸發與 主控邏輯模塊602電連接的開關來選取所需的控制狀態,如開啟條碼運算邏輯601,從數據 存儲器603獲取條碼圖像,并將其傳輸至條碼運算邏輯601等等。另外,主控邏輯模塊602 也可提供數據傳輸通道,如可將數據存儲器603中存儲的條碼圖像可通過主控邏輯模塊 602傳輸到條碼運算邏輯601,并控制條碼運算邏輯601的工作狀態。該主控邏輯模塊602 不具備運算功能,但可根據一定條件觸發相應事件,具體可利用已知的狀態機實現。針對 條碼圖像的各種運算過程完全由條碼運算邏輯實現,而主控邏輯模塊或狀態機602協調控 制作用。如圖7所示,圖7為圖6所示的硬件邏輯架構中數據管理系統的具體實施例。在本 實施例中,數據存儲器701用于存儲條碼圖像或圖像片段,而條碼運算邏輯705、706及707 則可分別對應于本實用新型第一實施例至第五實施例中的各種處理單元或模塊,條碼運算 邏輯705、706及707用于對數據存儲器701內存儲的條碼圖像或圖像片段進行并行處理。 例如,在本實施例中,數據存儲器701存儲的是一維條碼圖像,而條碼運算邏輯705、706及 707則是對應于不同一維條碼識別規則的識別單元。在本實施例中,選通邏輯門703設置于 數據存儲器701與條碼運算邏輯705、706及707之間,并在狀態機(主控邏輯模塊)702的 控制下,使得條碼運算邏輯705、706及707依次調用數據存儲器701中的條碼圖像或圖像 片段,即選通邏輯門703可在狀態機702的控制下選擇性連通數據存儲器701與對應的條 碼運算邏輯705、706及707。具體來說,選通邏輯門703包括一輸入端口、多個輸出端口及至少一控制端口。選 通邏輯門703的輸入端口與數據存儲器701的輸出端口相連接,而選通邏輯門703的輸出 端口分別與條碼運算邏輯705、706及707的輸入端口相連接。選通邏輯門703的控制端口 與狀態機702相連接,并在狀態機702輸出的不同控制指令的控制下選擇性連通選通邏輯 門703的輸入端口與對應的輸出端口,使得經由選通邏輯門703的輸入端口輸入的條碼圖 像或圖像片段傳遞到對應的選通邏輯門703的輸出端口,進而輸出到對應的條碼運算邏輯 705,706及707。選通邏輯門703可根據實際需要,由現有的各種邏輯門實現。當條碼圖像或滿足識別條件的圖像片段傳輸到數據存儲器701之后,數據存儲器 701會發送此狀態到狀態機702。狀態機702接到此狀態后,會控制條碼運算邏輯705去調 用數據存儲器701中的條碼圖像或圖像片段。此時,狀態機702會控制選通邏輯門703接通數據存儲器701與條碼運算邏輯705,使條碼運算邏輯705調用數據存儲器701中的條 碼圖像或圖像片段。條碼運算邏輯705調用完畢該條碼圖像或圖像片段后,開始對該條碼 圖像或圖像片段進行識別或處理。此時,狀態機702控制選通邏輯門703連通數據存儲器 701與條碼運算邏輯706,并控制條碼運算邏輯706調用數據存儲器701中的條碼圖像或圖 像片段。由于進行識別的時間相比調用條碼圖像或圖像片段的時間要長很多,因此條碼運 算邏輯705與條碼運算邏輯706同時對該條碼圖像或圖像片段進行并行識別或處理。條碼 運算邏輯706調用完條碼圖像或圖像片段后,狀態機702則可控制條碼運算邏輯707繼續 調用該條碼圖像或圖像片段。若條碼運算邏輯705、706及707中的一個正確識別出條碼信息,則由狀態機702 控制其他條碼運算邏輯停止識別動作。在識別的過程中,若繼續向數據存儲器701傳輸后 續條碼圖像或圖像片段,則在條碼運算邏輯705、706及707對前一條碼圖像或圖像片段識 別或處理完畢后,由狀態機702控制條碼運算邏輯705、706及707通過選通邏輯門703進 一步調用數據存儲器701中接收的后續條碼圖像或圖像片段,進行識別或處理。在優選實施例,若條碼運算邏輯705、706及707中的一條碼運算邏輯在上次條碼 圖像的識別中正確識別出條碼信息,則對后續條碼圖像進行識別時,狀態機702會控制該 條碼運算邏輯優先調用條碼圖像。如圖8所示,圖8是實現本實用新型第一至第五實施例的軟件架構的示意圖。在本 實施例中,條碼解碼裝置800包括至少兩個可調用不同運算程序的處理器核心801-804以 及一程序存儲器810。程序存儲器810存儲多個運算程序811-817。每個運算程序811-817 可對應于本實用新型第一至第四實施例中的處理單元101、102、202、302、401、402、403或 是第五實施例中的掃描模塊501及邊界判斷模塊502、503、504、505的具體運算過程。各處 理器核心801-804通過調用上述運算程序811-817可實現實現本實用新型第一至第五實施 例中描述的各種識別單元及模塊的對應功能。以第一實施例為例,運算程序811-817分別對應于不同碼制的識別程序。當條 碼圖像輸入到該條碼解碼裝置800時,處理器核心801-804分別調用不同的運算程序 811-817,以利用不同碼制的識別規則對該條碼圖像進行條碼識別。在優選實施例中,程序 存儲器810所存儲的運算程序811-817的數量大于處理器核心801-804的數量。由此,當 其中一個處理器核心執行完相應的處理過程后,可繼續調用程序存儲器810中未被調用的 運算程序,直至調用完所有運算程序或已獲得相應的處理結果。具體來說,以第一實施例為例,本實施例的條碼解碼裝置中包括四個處理器核心 801-804,而程序存儲器810存儲有七個運算程序811-817。在對條碼圖像進行識別時,處理 器核心801-804分別調用程序存儲器810中的四個不同運算程序811-814對條碼圖像同時 進行識別。如圖9所示,處理器核心801調用運算程序811,處理器核心802調用運算程序 812,處理器核心803調用運算程序813,處理器核心804調用運算程序814。如圖10所示, 當處理器核心801利用運算程序811完成對條碼圖像的識別,卻沒得出正確條碼圖像,但其 他處理器核心802-804仍在對條碼圖像進行識別時,處理器核心801則繼續調用運算程序 815對條碼圖像繼續識別,直至有一個處理器核心801-804識別出正確的條碼信息,或所有 運算程序811-817均被調用過,卻未識別出正確的條碼信息時,條碼解碼裝置800對條碼圖 像的識別結束。若此次對條碼圖像的識別時,處理器核心803調用運算程序816識別出來正確的條碼信息,則下次對后續條碼圖像進行識別時,處理器核心803優先調用運算程序816 來對后續條碼圖像進行識別。通過上述架構,可以根據處理核心的處理進度充分實現資源的調配,進一步加快 條碼圖像并行處理架構的運行速度。在上述實施例中,僅對本實用新型進行了示范性描述,但是本領域技術人員在閱 讀本專利申請后可以在不脫離本實用新型的精神和范圍的情況下對本實用新型進行各種 修改。
權利要求1.一種支持圖像并行處理的條碼解碼裝置,其特征在于所述條碼解碼裝置包括數據存儲器,用于接收條碼圖像;處理單元,用于在所述條碼圖像的傳輸過程中對所述數據存儲器已接收的條碼圖像片 斷進行識別。
2.根據權利要求1所述的條碼解碼裝置,其特征在于所述處理單元包括至少兩個子 處理單元,所述至少兩個子處理單元分別對應同一條碼識別規則的不同識別步驟,所述至 少兩個子處理單元串接設置,以實現所述同一條碼識別規則的完整識別過程。
3.根據權利要求1所述的條碼解碼裝置,其特征在于所述處理單元為由硬件邏輯實 現的可對所述條碼圖像片段進行識別的條碼運算邏輯。
4.根據權利要求3所述的條碼解碼裝置,其特征在于所述條碼運算邏輯為至少兩個, 所述至少兩個條碼運算邏輯分別利用針對不同碼制的識別規則對同一所述條碼圖像片段 進行并行識別。
5.根據權利要求4所述的條碼解碼裝置,其特征在于所述條碼解碼裝置進一步包括 主控邏輯模塊以及設置于所述數據存儲器與所述至少兩個條碼運算邏輯之間的選通邏輯 門,所述選通邏輯門在所述主控邏輯模塊的控制下選擇性連通所述數據存儲器與對應的所 述條碼運算邏輯。
6.根據權利要求5所述的條碼解碼裝置,其特征在于所述選通邏輯門包括一輸入端 口、多個輸出端口以及至少一控制端口,所述選通邏輯門的輸入端口連接所述數據存儲器 的輸出端口,所述選通邏輯門的多個輸出端口分別連接對應的所述條碼運算邏輯的輸入端 口,所述選通邏輯門的控制端口連接所述主控邏輯模塊,以在所述主控邏輯模塊的控制下 選擇性連通所述選通邏輯門的輸入端口與所述選通邏輯門的對應輸出端口。
專利摘要本實用新型提供了一種支持圖像并行處理的條碼解碼裝置,該條碼解碼裝置包括用于接收條碼圖像的數據存儲器;以及用于在條碼圖像的傳輸過程中對數據存儲器已接收的條碼圖像片斷進行識別的處理單元。通過上述方法,實現了條碼圖像傳輸與條碼識別過程的并行,由此提高了條碼圖像的識別速度。
文檔編號G06K7/10GK201859453SQ201020201989
公開日2011年6月8日 申請日期2010年5月25日 優先權日2010年5月25日
發明者吳文彬, 邱有森, 陳文傳 申請人:福建新大陸電腦股份有限公司