TWI759583B - 圖形碼的解碼方法及用於圖形碼的解碼的用戶端 - Google Patents
圖形碼的解碼方法及用於圖形碼的解碼的用戶端 Download PDFInfo
- Publication number
- TWI759583B TWI759583B TW108106636A TW108106636A TWI759583B TW I759583 B TWI759583 B TW I759583B TW 108106636 A TW108106636 A TW 108106636A TW 108106636 A TW108106636 A TW 108106636A TW I759583 B TWI759583 B TW I759583B
- Authority
- TW
- Taiwan
- Prior art keywords
- decoding
- current frame
- frame image
- information
- interval
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申請實施方式公開了一種圖形碼的解碼方法及用戶端,其中,所述方法提供有解碼資訊,所述解碼資訊中包括解碼方式以及所述解碼方式關聯的間隔資訊,所述間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;所述方法包括:獲取當前幀圖像,並確定所述當前幀圖像對應的當前幀資訊;根據所述間隔資訊和所述當前幀資訊,在所述解碼資訊的解碼方式中確定所述當前幀圖像適配的目標解碼方式;按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。本申請實施方式提供的技術方案,能夠提高圖形碼的解碼速度。
Description
本申請關於互聯網技術領域,特別關於一種圖形碼的解碼方法及用戶端。
隨著編碼技術的不斷發展,目前已經能夠將豐富的資訊轉換為圖形碼。該圖形碼例如可以包括條碼、一維碼、二維碼等。用戶透過具備掃碼功能的終端設備或者軟體,可以對圖形碼進行解碼,從而識別出圖形碼中包含的資訊。
圖形碼的編碼方式多種多樣。以二維碼為例,可以具備PDF417、QR Code、Code 49、Code 16K、Data Matrix等多種編碼方式。那麼在對圖形碼進行解碼時,也需要使用對應的解碼方式才能成功解析出圖形碼中的資訊。目前,在對圖形碼解碼的過程中,通常會預先確定多個可能會使用到的解碼方式,然後針對同一幀圖像,會依次使用這些解碼方式嘗試解碼,一旦解碼成功,便可以得到解碼資訊。然而,如果當前幀圖像中不存在圖形碼,或者圖形碼不夠清晰,會在當前幀圖像中耗費較多的時間去逐一嘗試各種解碼方式,從而導致掃碼過程比較緩慢。
本申請實施方式的目的是提供一種圖形碼的解碼方式,能夠提高圖形碼的解碼速度。
為實現上述目的,本申請實施方式提供一種圖形碼的解碼方法,提供有解碼資訊,所述解碼資訊中包括解碼方式以及所述解碼方式關聯的間隔資訊,所述間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;所述方法包括:獲取當前幀圖像,並確定所述當前幀圖像對應的當前幀資訊;根據所述間隔資訊和所述當前幀資訊,在所述解碼資訊的解碼方式中確定所述當前幀圖像適配的目標解碼方式;按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。
為實現上述目的,本申請實施方式還提供一種用戶端,所述用戶端包括:儲存單元,用於儲存解碼資訊,所述解碼資訊中包括解碼方式以及所述解碼方式關聯的間隔資訊,所述間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;當前幀資訊確定單元,用於獲取當前幀圖像,並確定所述當前幀圖像的當前幀資訊;目標解碼方式確定單元,用於根據所述間隔資訊和所述當前幀資訊,在所述解碼資訊的解碼方式中確定所述當前幀圖像適配的目標解碼方式;解碼單元,用於按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。
為實現上述目的,本申請實施方式還提供一種用戶端,所述用戶端包括處理器和記憶體,所述記憶體用於儲存電腦程式,所述電腦程式被所述處理器執行時,實現上述的方法。
由上可見,本申請提供的技術方案,可以預先在解碼資訊中為各個解碼方式設置關聯的間隔資訊。該間隔資訊例如可以是間隔幀數或者間隔時間。其中,間隔幀數可以用於限定某個解碼方式僅針對連續的多幀圖像中的一幀圖像嘗試解碼。間隔時間可以用於限定某個解碼方式僅在一段時間內的一個時間節點嘗試解碼。這樣,當獲取到當前幀圖像之後,可以確定該圖像對應的當前幀資訊。該當前幀資訊可以是當前幀圖像的當前幀數,或者是獲取該當前幀圖像時的當前時間節點。這樣,透過比對當前幀資訊表徵的幀數/時間節點和解碼資訊中的間隔資訊表徵的間隔幀數/間隔時間節點,從而確定適配於當前幀圖像的一個或者多個目標解碼方式。然後,可以透過確定的目標解碼方式嘗試對當前幀圖像進行解碼。由上可見,在本申請提供的技術方案中,並不會針對每一幀圖像均嘗試各種解碼方式,而是按照間隔資訊,有選擇地選用一部分解碼方式嘗試解碼,從而可以減少嘗試解碼的時間,進而提高掃碼的速度。
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施方式中的附圖,對本申請實施方式中的技術方案進行清楚、完整地描述,顯然,所描述的實施方式僅僅是本申請一部分實施方式,而不是全部的實施方式。基於本申請中的實施方式,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施方式,都應當屬於本申請保護的範圍。
本申請提供一種圖形碼的解碼方法,所述方法可以應用於具備掃碼功能的終端設備或者軟體中。上述的終端設備例如可以是智慧手機、平板電腦、個人數位助理、智慧可穿戴設備等電子設備。
在本實施方式中,可以針對掃碼過程預先設置解碼資訊,所述解碼資訊中可以包括解碼方式以及所述解碼方式關聯的間隔資訊。其中,所述解碼方式可以與圖形碼的編碼方式相對應。例如,常用的圖形碼的編碼方式為PDF417、QR Code、Code 49、Code 16K以及Data Matrix,那麼上述例舉的各個編碼方式對應的解碼方式便可以是解碼資訊中包含的解碼方式。
由於在實際應用時,不同的解碼方式使用的頻率往往不同。例如,對於二維碼而言,應用比較廣泛的解碼方式可以為QR Code對應的解碼方式,而Data Matrix對應的解碼方式應用的範圍可能較小。鑒於此,在本實施方式中,可以針對解碼方式在實際應用中出現的頻率,來設置各個解碼方式關聯的間隔資訊。與解碼方式關聯的間隔資訊,可以用於限定該解碼方式在解碼過程中被使用的頻率。在實際應用中,該間隔資訊可以是間隔幀數或者間隔時間。其中,間隔幀數可以用於限定解碼方式僅針對連續的多幀圖像中的一幀圖像嘗試解碼。間隔時間可以用於限定解碼方式僅在一段時間內的一個時間節點嘗試解碼。舉例來說,若所述間隔幀數為5,則表示與該間隔幀數關聯的解碼方式會針對每5幀圖像中的一幀圖像嘗試解碼。又例如,若所述間隔時間為25毫秒,則表示與該間隔時間關聯的解碼方式在掃碼過程中每隔25毫秒會嘗試一次解碼。由此可見,若所述間隔資訊表徵的數值越大,則表示關聯的解碼方式被使用的頻率越低;反之,若所述間隔資訊表徵的數值越小,則表示關聯的解碼方式被使用的頻率越高。
在本實施方式中,當設置了解碼方式以及關聯的間隔資訊之後,從而可以生成解碼過程中所需的解碼資訊。該解碼資訊可以儲存於伺服器中。該伺服器可以是提供掃碼服務的軟體對應的業務伺服器。這樣,終端設備可以從伺服器中獲取該解碼資訊,後續可以按照該解碼資訊中設置的解碼方式以及間隔資訊進行解碼。此外,該解碼資訊還可以直接集成於提供掃碼服務的軟體中。例如,該解碼資訊可以作為軟體的一部分,壓縮於軟體的安裝包中。當終端設備安裝該軟體時,便可以從安裝包中解壓出解碼資訊。這樣,終端設備便可以將解碼資訊儲存於安裝包指定的路徑下,後續可以按照該解碼資訊中設置的解碼方式以及間隔資訊進行解碼。
請參閱圖1,所述圖形碼的解碼方法可以包括以下步驟。
S1:獲取當前幀圖像,並確定所述當前幀圖像對應的當前幀資訊。
在本實施方式中,當需要進行掃碼操作時,可以開啟終端設備上的攝像頭,然後透過該攝像頭拍攝包含圖形碼的圖像。在實際應用中,攝像頭在開啟過程中,可以按照固定的時間間隔,持續採集各幀圖像。例如,攝像頭可以每秒鐘採集25幀圖像。
在本實施方式中,針對攝像頭採集的當前幀圖像,可以識別其中包含的圖形碼,並將圖形碼攜帶的資訊解碼出來。具體地,在獲取到當前幀圖像之後,可以確定該當前幀圖像對應的當前幀資訊。
在實際應用中,該當前幀信息的類型可以與解碼資訊中間隔資訊的類型保持一致。例如,解碼資訊中的間隔資訊為間隔幀數。那麼,在確定所述當前幀圖像對應的當前幀資訊時,可以記錄所述當前幀圖像的當前幀數,並將記錄的所述當前幀數作為所述當前幀資訊。其中,所述當前幀數可以是針對本次掃碼過程統計的。在本次掃碼中,攝像頭採集到的第一幀圖像的幀數可以為1,後續圖像的幀數可以逐個遞加。此外,如果解碼資訊中的間隔資訊為間隔時間,那麼在確定所述當前幀圖像對應的當前幀資訊時,可以記錄獲取所述當前幀圖像時的當前時間節點,並將所述當前時間節點作為所述當前幀資訊。其中,所述當前時間節點可以是按照本次掃碼的時間來記錄。具體地,本次掃碼剛開始時,時間可以從0開始統計,隨著掃碼過程的不斷推進,統計的時間也可以逐漸累加。例如,所述當前幀圖像是在本次掃碼過程的第50毫秒獲取的,那麼所述當前時間節點便可以是50毫秒。此外,所述當前時間節點還可以按照終端設備實際的系統時間來記錄。例如,獲取所述當前幀圖像時,終端設備的系統時間為17點25分20秒,那麼所述當前時間節點便可以是17點25分20秒。當然,在實際應用中,系統時間的精度可以精確到毫秒級別,從而可以區分相鄰的多幀圖像的時間節點。
S3:根據所述間隔資訊和所述當前幀資訊,在所述解碼資訊的解碼方式中確定所述當前幀圖像適配的目標解碼方式。
在本實施方式中,在獲取到所述當前幀資訊之後,可以將所述當前幀資訊與所述間隔資訊進行匹配,以確定目前應該採用哪些解碼方式對當前幀圖像嘗試解碼。具體地,若所述間隔資訊為間隔幀數,那麼可以確定所述間隔幀數對應的幀數序列,所述幀數序列中包括至少一個幀數。該幀數序列中包含的幀數,可以是所述間隔幀數的倍數。例如,所述間隔幀數為5,那麼幀數序列中包含的幀數可以是5、10、15等等。當然,在實際應用中,由間隔幀數確定幀數序列可以有多種方式,而且幀數序列中的幀數也可以不是所述間隔幀數的倍數。例如,可以是所述間隔幀數的倍數加上一個固定數值。本申請對基於間隔幀數構建幀數序列的方式並不做限定。
在本實施方式中,當終端設備獲取到與所述幀數序列中包含的幀數相符的圖像時,便可以調用與該間隔幀數關聯的解碼方式對獲取的圖像嘗試解碼。那麼,在基於所述間隔幀數確定出幀數序列之後,可以判斷所述當前幀數是否存在於所述幀數序列中,若存在,則可以將所述間隔幀數關聯的解碼方式確定為所述當前幀圖像適配的目標解碼方式。後續可以利用該目標解碼方式嘗試對當前幀圖像進行解碼。
在實際應用中,針對不同的解碼方式,均可以關聯對應的間隔幀數。請參閱圖2,在一個應用示例中,假設當前有三種解碼方式,這三種解碼方式關聯的間隔幀數分別為1、2以及4。圖2中的矩形框為各幀圖像,填充陰影的矩形框則可以表示需要調用對應的解碼方式嘗試解碼的圖像。如圖2所示,針對第一種解碼方式,每一幀圖像均需要調用該解碼方式嘗試解碼;針對第二種解碼方式,每2幀圖像中,需要有一幀圖像調用該解碼方式嘗試解碼;針對第三種解碼方式,每4幀圖像中,需要有一幀圖像調用該解碼方式嘗試解碼。這樣,在獲取的各幀圖像中,有些圖像可能需要利用多種解碼方式嘗試解碼,而有些圖像則可能只需要採用一種解碼方式嘗試解碼。
在本實施方式中,若所述間隔資訊為間隔時間,那麼也可以確定所述間隔時間對應的時間序列,所述時間序列中包括至少一個時間節點。例如,所述間隔時間為25毫秒,那麼所述時間序列中的時間節點可以是25毫秒、50毫秒、75毫秒等等。其中,若在所述時間序列中的時間節點處獲取了圖像,則可以調用所述間隔時間關聯的解碼方式對獲取的圖像嘗試解碼。這樣,在確定所述間隔時間對應的時間序列後,可以判斷所述當前時間節點是否存在於所述時間序列中,若存在,則可以將所述間隔時間關聯的解碼方式確定為所述當前幀圖像適配的目標解碼方式。
S5:按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。
在本實施方式中,當確定出所述當前幀圖像適配的目標解碼方式後,便可以按照所述目標解碼方式嘗試對當前幀圖像中包含的圖形碼進行解碼。若解碼成功,則可以得到圖形碼中包含的資訊,從而可以結束本次的掃碼過程。若解碼失敗,則可以停止對所述當前幀圖像中包含的圖形碼進行解碼,並獲取下一幀圖像。針對下一幀圖像,同樣可以按照步驟S1和S3中的描述,確定與該下一幀圖像適配的解碼方式,從而利用適配的解碼方式嘗試對下一幀圖像進行解碼。如果針對下一幀圖像依然解碼失敗,則可以繼續獲取後續的圖像,直至解碼成功或者解碼超時為止。
在一個實施方式中,所述當前幀圖像可能會與至少兩個目標解碼方式相適配。例如,在圖2中,第2幀圖像與第一種解碼方式以及第二種解碼方式相適配,第4幀圖像則與三種解碼方式均適配。在這種情況下,在按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼時,可以在所述至少兩個目標解碼方式中確定當前的目標解碼方式。具體地,可以隨機在所述至少兩個目標解碼方式中確定當前的目標解碼方式,也可以將間隔資訊限定的被使用頻率最高的目標解碼方式作為當前的目標解碼方式。然後,可以按照所述當前的目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。若解碼成功,則可以得到圖形碼中包含的資訊,從而可以直接停止本次的解碼過程。如果當前的目標解碼方式解碼失敗,則可以在所述至少兩個目標解碼方式中確定與所述當前的目標解碼方式不同的目標解碼方式,並按照確定的所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。當然,在實際應用中,為了不重複使用同一種解碼方式對當前幀多次嘗試解碼,在當前的目標解碼方式解碼失敗後,在後續選擇新的目標解碼方式時,可以不再選取已經解碼失敗的目標解碼方式。由此可見,當存在多個適配的目標解碼方式時,可以利用這多個目標解碼方式依次嘗試解碼,一旦解碼成功,便可以停止本次的解碼過程;若當前的目標解碼方式解碼失敗,則可以換另一個目標解碼方式嘗試解碼。若適配的多個目標解碼方式均解碼失敗,則可以放棄對當前幀圖像進行解碼的過程,進而獲取下一幀圖像,並針對下一幀圖像利用步驟S1至S5中描述的方式重新解碼。
在一個實施方式中,應用於掃碼過程中的各個解碼方式可以預先設定優先順序。其中,該優先順序可以按照解碼方式的使用率來設定。使用率越高,解碼方式的優先順序便可以越高。具體地,可以統計指定數量的圖形碼中,各個解碼方式出現的次數,然後按照統計的次數來設置各個解碼方式的優先順序。此外,還可以根據設定的間隔資訊來設定解碼方式的優先順序。間隔資訊限定的數值越小,對應的優先順序可以越高。
在本實施方式中,當所述當前幀圖像與至少兩個目標解碼方式相適配時,可以按照預設優先順序對所述至少兩個目標解碼方式排序。在實際應用中,為了儘快完成解碼過程,可以按照優先順序從高到低的順序對多個目標解碼方式進行排序。然後,可以按照排序結果依次對所述當前幀圖像中包含的圖形碼進行解碼。具體地,可以優先採用優先順序較高的目標解碼方式嘗試解碼。若解碼成功,則可以得到圖形碼中包含的資訊,便可以停止本次的解碼過程。若當前選用的目標解碼方式解碼失敗,則可以選用優先順序低一些的目標解碼方式嘗試解碼。若按照排序結果均解碼失敗,則可以停止針對所述當前幀圖像的解碼過程,進而獲取下一幀圖像,並針對下一幀圖像利用步驟S1至S5中描述的方式重新解碼。
由上可見,按照本申請提供的技術方案,並非針對每一幀圖像都需要利用全部的解碼方式嘗試解碼,而是根據解碼方式的使用率,為解碼方式設定間隔資訊。其中,使用率越高的解碼方式,間隔資訊限定的數值可以越小。例如,針對QR Code的解碼方式,可以在每一幀圖像中均嘗試解碼。而針對Data Matrix的解碼方式,可以在每10幀圖像中的一幀圖像上嘗試解碼。這樣處理的目的在於,如果當前幀圖像中不包含圖形碼,或者由於拍攝角度問題,所有的解碼方式都不能成功解碼,那麼由於當前幀圖像適配的目標解碼方式可能只有一種或者少量的幾種,那麼會很快停止針對當前幀圖像的解碼過程,並且可以進入下一幀圖像的解碼過程,從而可以避免在一幀圖像中浪費較多時間,進而提高了整個掃碼過程的速度。
請參閱圖3,本申請還提供一種用戶端,所述用戶端包括:
儲存單元,用於儲存解碼資訊,所述解碼資訊中包括解碼方式以及所述解碼方式關聯的間隔資訊,所述間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;
當前幀資訊確定單元,用於獲取當前幀圖像,並確定所述當前幀圖像的當前幀資訊;
目標解碼方式確定單元,用於根據所述間隔資訊和所述當前幀資訊,在所述解碼資訊的解碼方式中確定所述當前幀圖像適配的目標解碼方式;
解碼單元,用於按照所述目標解碼方式對所述當前幀圖像中包含的圖形碼進行解碼。
在一個實施方式中,所述間隔資訊包含間隔幀數;相應地,所述當前幀資訊確定單元包括:
幀數記錄模組,用於記錄所述當前幀圖像的當前幀數,並將記錄的所述當前幀數作為所述當前幀資訊。
在一個實施方式中,所述目標解碼方式確定單元包括:
幀數序列確定模組,用於確定所述間隔幀數對應的幀數序列,所述幀數序列中包括至少一個幀數;
幀數匹配模組,用於判斷所述當前幀數是否存在於所述幀數序列中,若存在,將所述間隔幀數關聯的解碼方式確定為所述當前幀圖像適配的目標解碼方式。
在一個實施方式中,所述間隔資訊包含間隔時間;相應地,所述當前幀資訊確定單元包括:
時間節點記錄模組,用於記錄獲取所述當前幀圖像時的當前時間節點,並將所述當前時間節點作為所述當前幀資訊。
在一個實施方式中,所述目標解碼方式確定單元包括:
時間序列確定模組,用於確定所述間隔時間對應的時間序列,所述時間序列中包括至少一個時間節點;
時間節點匹配模組,用於判斷所述當前時間節點是否存在於所述時間序列中,若存在,將所述間隔時間關聯的解碼方式確定為所述當前幀圖像適配的目標解碼方式。
在一個實施方式中,所述當前幀圖像與至少兩個目標解碼方式相適配,並且所述目標解碼方式具備預設優先順序;相應地,所述解碼單元包括:
排序模組,用於按照預設優先順序對所述至少兩個目標解碼方式排序,並按照排序結果依次對所述當前幀圖像中包含的圖形碼進行解碼;
解碼判定模組,用於在解碼成功的情況下,停止本次的解碼過程;在按照排序結果均解碼失敗的情況下,停止針對所述當前幀圖像的解碼過程,並獲取下一幀圖像。
請參閱圖4,本申請還提供一種用戶端,所述用戶端包括處理器和記憶體,所述記憶體用於儲存電腦程式,所述電腦程式被所述處理器執行時,可以實現上述的圖形碼的解碼方法。
在本實施方式中,所述記憶體可以包括用於儲存資訊的物理裝置,通常是將資訊數位化後再以利用電、磁或者光學等方法的媒體加以儲存。本實施方式所述的記憶體又可以包括:利用電能方式儲存資訊的裝置,如RAM、ROM等;利用磁能方式儲存資訊的裝置,如硬碟、軟碟、磁帶、磁芯記憶體、磁泡記憶體、USB隨身碟;利用光學方式儲存資訊的裝置,如CD或DVD。當然,還有其他方式的記憶體,例如量子記憶體、石墨烯記憶體等等。
在本實施方式中,所述處理器可以按任何適當的方式實現。例如,所述處理器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或硬體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式設計邏輯控制器和嵌入微控制器的形式等等。
本說明書實施方式提供的用戶端,其記憶體和處理器實現的具體功能,可以與本說明書中的前述實施方式相對照解釋,並能夠達到前述實施方式的技術效果,這裡便不再贅述。
由上可見,本申請提供的技術方案,可以預先在解碼資訊中為各個解碼方式設置關聯的間隔資訊。該間隔資訊例如可以是間隔幀數或者間隔時間。其中,間隔幀數可以用於限定某個解碼方式僅針對連續的多幀圖像中的一幀圖像嘗試解碼。間隔時間可以用於限定某個解碼方式僅在一段時間內的一個時間節點嘗試解碼。這樣,當獲取到當前幀圖像之後,可以確定該圖像對應的當前幀資訊。該當前幀資訊可以是當前幀圖像的當前幀數,或者是獲取該當前幀圖像時的當前時間節點。這樣,透過比對當前幀資訊表徵的幀數/時間節點和解碼資訊中的間隔資訊表徵的間隔幀數/間隔時間節點,從而確定適配於當前幀圖像的一個或者多個目標解碼方式。然後,可以透過確定的目標解碼方式嘗試對當前幀圖像進行解碼。由上可見,在本申請提供的技術方案中,並不會針對每一幀圖像均嘗試各種解碼方式,而是按照間隔資訊,有選擇地選用一部分解碼方式嘗試解碼,從而可以減少嘗試解碼的時間,進而提高掃碼的速度。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式設計到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式設計邏輯器件(Programmable Logic Device, PLD)(例如現場可程式設計閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對元件程式設計來確定。由設計人員自行程式設計來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式設計也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式設計語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL (Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog2。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式設計並程式設計到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
本領域技術人員也知道,除了以純電腦可讀程式碼方式實現用戶端以外,完全可以透過將方法步驟進行邏輯程式設計來使得用戶端以邏輯閘、開關、專用積體電路、可程式設計邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種用戶端可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本申請可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本申請各個實施方式或者實施方式的某些部分所述的方法。
本說明書中的各個實施方式均採用遞進的方式描述,各個實施方式之間相同相似的部分互相參見即可,每個實施方式重點說明的都是與其他實施方式的不同之處。尤其,針對用戶端的實施方式來說,均可以參照前述方法的實施方式的介紹對照解釋。
本申請可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的常式、程式、物件、元件、資料結構等等。也可以在分散式運算環境中實踐本申請,在這些分散式運算環境中,由透過通信網路而被連接的遠端處理設備來執行任務。在分散式運算環境中,程式模組可以位於包括存放裝置在內的本地和遠端電腦儲存媒體中。
雖然透過實施方式描繪了本申請,本領域普通技術人員知道,本申請有許多變形和變化而不脫離本申請的精神,希望所附的申請專利範圍包括這些變形和變化而不脫離本申請的精神。
為了更清楚地說明本申請實施方式或現有技術中的技術方案,下面將對實施方式或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施方式,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本申請實施方式中圖形碼的解碼方法流程圖;
圖2為本申請實施方式中間隔幀數的示意圖;
圖3為本申請實施方式中用戶端的功能模組示意圖;
圖4為本申請實施方式中用戶端的結構示意圖。
Claims (9)
- 一種圖形碼的解碼方法,其特徵在於,提供有解碼資訊,該解碼資訊中包括解碼方式以及該解碼方式關聯的間隔資訊,該間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;該方法包括:獲取當前幀圖像,並確定該當前幀圖像對應的當前幀資訊;根據該間隔資訊和該當前幀資訊,在該解碼資訊的解碼方式中確定該當前幀圖像適配的目標解碼方式;按照該目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼,其中,該間隔資訊包含間隔幀數;相應地,確定該當前幀圖像對應的當前幀資訊包括:記錄該當前幀圖像的當前幀數,並將記錄的該當前幀數作為該當前幀資訊,其中,在該解碼資訊的解碼方式中確定該當前幀圖像適配的目標解碼方式包括:確定該間隔幀數對應的幀數序列,該幀數序列中包括至少一個幀數;判斷該當前幀數是否存在於該幀數序列中,若存在,將該間隔幀數關聯的解碼方式確定為該當前幀圖像適配的目標解碼方式,其中,該當前幀圖像與至少兩個目標解碼方式相適 配,並且該目標解碼方式具備預設優先順序;相應地,按照該目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼包括:按照預設優先順序對所述至少兩個目標解碼方式排序,並按照排序結果依次對該當前幀圖像中包含的圖形碼進行解碼;若解碼成功,停止本次的解碼過程;若按照排序結果均解碼失敗,停止針對該當前幀圖像的解碼過程,並獲取下一幀圖像。
- 根據請求項1所述的方法,其中,該間隔資訊包含間隔時間;相應地,確定該當前幀圖像對應的當前幀資訊包括:記錄獲取該當前幀圖像時的當前時間節點,並將該當前時間節點作為該當前幀資訊。
- 根據請求項2所述的方法,其中,在該解碼資訊的解碼方式中確定該當前幀圖像適配的目標解碼方式包括:確定該間隔時間對應的時間序列,該時間序列中包括至少一個時間節點;判斷該當前時間節點是否存在於該時間序列中,若存在,將該間隔時間關聯的解碼方式確定為該當前幀圖像適配的目標解碼方式。
- 根據請求項1所述的方法,其中,若按照該目標解碼方式解碼失敗,該方法還包括:停止對該當前幀圖像中包含的圖形碼進行解碼,並獲取下一幀圖像。
- 根據請求項1所述的方法,其中,若該當前幀圖像與至少兩個目標解碼方式相適配,按照該目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼包括:在所述至少兩個目標解碼方式中確定當前的目標解碼方式,並按照該當前的目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼;若解碼成功,停止本次的解碼過程;若解碼失敗,在所述至少兩個目標解碼方式中確定與該當前的目標解碼方式不同的目標解碼方式,並按照確定的該目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼。
- 一種用於圖形碼的解碼的用戶端,其特徵在於,該用戶端包括:儲存單元,用於儲存解碼資訊,該解碼資訊中包括解碼方式以及該解碼方式關聯的間隔資訊,該間隔資訊用於限定關聯的解碼方式在解碼過程中使用的頻率;當前幀資訊確定單元,用於獲取當前幀圖像,並確定該當前幀圖像的當前幀資訊; 目標解碼方式確定單元,用於根據該間隔資訊和該當前幀資訊,在該解碼資訊的解碼方式中確定該當前幀圖像適配的目標解碼方式;解碼單元,用於按照該目標解碼方式對該當前幀圖像中包含的圖形碼進行解碼,其中,該間隔資訊包含間隔幀數;相應地,該當前幀資訊確定單元包括:幀數記錄模組,用於記錄該當前幀圖像的當前幀數,並將記錄的該當前幀數作為該當前幀資訊,其中,該目標解碼方式確定單元包括:幀數序列確定模組,用於確定該間隔幀數對應的幀數序列,該幀數序列中包括至少一個幀數;幀數匹配模組,用於判斷該當前幀數是否存在於所述幀數序列中,若存在,將該間隔幀數關聯的解碼方式確定為該當前幀圖像適配的目標解碼方式,其中,該當前幀圖像與至少兩個目標解碼方式相適配,並且該目標解碼方式具備預設優先順序;相應地,該解碼單元包括:排序模組,用於按照預設優先順序對所述至少兩個目標解碼方式排序,並按照排序結果依次對該當前幀圖像中包含的圖形碼進行解碼;解碼判定模組,用於在解碼成功的情況下,停止本次的解碼過程;在按照排序結果均解碼失敗的情況下,停止針對該當前幀圖像的解碼過程,並獲取下一幀圖像。
- 根據請求項6所述的用戶端,其中,該間隔資訊包含間隔時間;相應地,該當前幀資訊確定單元包括:時間節點記錄模組,用於記錄獲取該當前幀圖像時的當前時間節點,並將該當前時間節點作為該當前幀資訊。
- 根據請求項7所述的用戶端,其中,該目標解碼方式確定單元包括:時間序列確定模組,用於確定該間隔時間對應的時間序列,該時間序列中包括至少一個時間節點;時間節點匹配模組,用於判斷該當前時間節點是否存在於該時間序列中,若存在,將該間隔時間關聯的解碼方式確定為該當前幀圖像適配的目標解碼方式。
- 一種用於圖形碼的解碼的用戶端,其特徵在於,該用戶端包括處理器和記憶體,該記憶體用於儲存電腦程式,該電腦程式被該處理器執行時,實現如申請專利範圍第1至7項中任一項所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810580159.3A CN108960384B (zh) | 2018-06-07 | 2018-06-07 | 一种图形码的解码方法及客户端 |
CN201810580159.3 | 2018-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202001667A TW202001667A (zh) | 2020-01-01 |
TWI759583B true TWI759583B (zh) | 2022-04-01 |
Family
ID=64494038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108106636A TWI759583B (zh) | 2018-06-07 | 2019-02-27 | 圖形碼的解碼方法及用於圖形碼的解碼的用戶端 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108960384B (zh) |
TW (1) | TWI759583B (zh) |
WO (1) | WO2019233144A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108960384B (zh) * | 2018-06-07 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种图形码的解码方法及客户端 |
CN113935352A (zh) * | 2020-06-29 | 2022-01-14 | 比亚迪股份有限公司 | 乘车二维码的扫描解码方法、装置、设备及存储介质 |
CN115396572B (zh) * | 2022-08-11 | 2023-12-15 | 无锡盈达聚力科技有限公司 | 光学信息采集器及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811722A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 一种视频数据的编解码方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100479331C (zh) * | 2004-03-30 | 2009-04-15 | 深圳市朗科科技股份有限公司 | 条码的解码方法 |
JP2006238363A (ja) * | 2005-02-28 | 2006-09-07 | Nippon Telegr & Teleph Corp <Ntt> | 無線タグシステム、無線タグ、および質問機 |
CN100568975C (zh) * | 2005-04-15 | 2009-12-09 | 索尼株式会社 | 解码装置、解码方法 |
CN105117759B (zh) * | 2015-09-08 | 2019-02-15 | 北京意锐新创科技有限公司 | 动态二维码生成和读取方法、装置 |
CN111291584B (zh) * | 2016-07-22 | 2023-05-02 | 创新先进技术有限公司 | 识别二维码位置的方法及其系统 |
CN107301366B (zh) * | 2017-05-12 | 2020-07-31 | 赵毅 | 一种嵌码视频中图形码的解码方法及装置 |
CN107908998B (zh) * | 2017-11-28 | 2020-11-03 | 百富计算机技术(深圳)有限公司 | 二维码解码方法、装置、终端设备及计算机可读存储介质 |
CN108960384B (zh) * | 2018-06-07 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种图形码的解码方法及客户端 |
-
2018
- 2018-06-07 CN CN201810580159.3A patent/CN108960384B/zh active Active
-
2019
- 2019-02-27 TW TW108106636A patent/TWI759583B/zh active
- 2019-03-06 WO PCT/CN2019/077134 patent/WO2019233144A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104811722A (zh) * | 2015-04-16 | 2015-07-29 | 华为技术有限公司 | 一种视频数据的编解码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202001667A (zh) | 2020-01-01 |
WO2019233144A1 (zh) | 2019-12-12 |
CN108960384A (zh) | 2018-12-07 |
CN108960384B (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI759583B (zh) | 圖形碼的解碼方法及用於圖形碼的解碼的用戶端 | |
TWI769360B (zh) | 一種掃描碼影像辨識方法、裝置以及設備 | |
EP3540649A1 (en) | Target detection method and device | |
CN107609437B (zh) | 一种目标图形码识别方法和装置 | |
WO2019141108A1 (zh) | 基于扫描doi的信息处理方法、装置及设备 | |
CN107577694A (zh) | 一种基于区块链的数据处理方法及设备 | |
CN108961174A (zh) | 一种图像修复方法、装置以及电子设备 | |
CN110895503B (zh) | 一种应用的性能监控方法及客户端 | |
CN108830266B (zh) | 一种图像识别的方法、装置及设备 | |
CN110032409A (zh) | 一种客户端屏幕适配方法、装置及电子设备 | |
CN113190427B (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN112347512A (zh) | 图像处理方法、装置、设备及存储介质 | |
CN111753328B (zh) | 隐私数据的泄露风险检测方法及系统 | |
CN112328298A (zh) | 移动端的代码库裁剪方法及装置 | |
CN106973003A (zh) | 群组消息通知方法、客户端、电子设备和服务器 | |
US8538160B2 (en) | Electronic device and method for sorting pictures | |
CN116822606A (zh) | 一种异常检测模型的训练方法、装置、设备及存储介质 | |
CN114710318B (zh) | 一种限制爬虫高频访问的方法、装置、设备及介质 | |
CN111242195B (zh) | 模型、保险风控模型训练方法、装置及电子设备 | |
CN108628615A (zh) | 一种废弃代码检测方法、装置以及设备 | |
CN112511838A (zh) | 一种降低视频转码延时的方法、装置、设备和可读介质 | |
CN111061571A (zh) | 一种事件处理方法及装置、电子设备 | |
CN108205466B (zh) | 计算机函数方法的执行方法和装置 | |
CN110018872A (zh) | 一种推送消息处理方法和装置 | |
CN115688130B (zh) | 数据处理方法、装置及设备 |