TWI645698B - 資料發送裝置、資料接收裝置及其方法 - Google Patents
資料發送裝置、資料接收裝置及其方法 Download PDFInfo
- Publication number
- TWI645698B TWI645698B TW106123792A TW106123792A TWI645698B TW I645698 B TWI645698 B TW I645698B TW 106123792 A TW106123792 A TW 106123792A TW 106123792 A TW106123792 A TW 106123792A TW I645698 B TWI645698 B TW I645698B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- unit
- coding
- information
- encoding
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一種資料發送裝置、資料接收裝置及其方法。資料發送裝置包含編碼模組、編碼表、第一編碼參數、第二編碼參數與發送模組。編碼模組讀入並編碼包含至少一資料單元的資料內容。編碼表收錄多個資料單元的多種資訊,多種資訊包含資料單元的單元內容、被編碼次數及收錄位置。第一編碼參數提供資料單元的第一資訊,第一資訊關聯於資料單元的單元內容於編碼表中的存在狀態。第二編碼參數提供第二資訊,第二資訊關聯於編碼表當前已收錄的資料單元的數量。發送模組發送經編碼後的編碼資料,編碼資料包含對應資料單元的編碼單元,且編碼單元包含識別碼及內容碼。編碼模組依據第一資訊及第二資訊設定識別碼或內容碼,並更新編碼表的單元內容、被編碼次數或收錄位置。
Description
本揭露是關於一種資料發送裝置、資料接收裝置及其方法,特別是指一種具有編碼/解碼功能之資料發送裝置、資料接收裝置及其方法。
因工業4.0的概念興起,使得智慧製造將以全新生產流程運作,並導入智慧整合感控系統及連結物聯網與服務聯網,藉以形成「智慧製造+服務」的全新商業模式。同時,面對日與俱增的連網設備,在有限的傳輸網路頻寬之下,亦需進一步提升工業網路傳輸效率,以降低網路傳輸的封包數量與負載,並相對地減輕連網設備的負擔(overhead)。
然而,在目前的網路傳輸協定中,存在著過多的負擔,在實際應用上多以批次讀出(batch reader)方式降低此情況,或是訂立更精簡的格式,例如,OPC UA(開放式平台溝通-基於統一架構;Open Platform Communication-Unified Architecture)便定義UA二進位(Binary)方式以降低資料內容與網路封包的數量,但為了符
合格式長度常會以大量重複的資訊來填補,從而造成不必要的浪費時間及重複資訊。
因此,如何解決上述習知技術之問題,實已成為本領域技術人員之一大課題。
本揭露提供一種資料發送裝置與資料接收裝置及其方法,其能提升資料內容之壓縮率或減少資料內容之封包數量。
本揭露之資料發送裝置包含:一編碼模組,用以讀入包含至少一資料單元的一資料內容並對至少一資料單元進行編碼;一編碼表,用以收錄多個資料單元的多種資訊,其中,多種資訊包含各資料單元的一單元內容、一被編碼次數及一收錄位置;一第一編碼參數,用以提供編碼模組所讀入的資料單元的一第一資訊,其中,第一資訊關聯於編碼模組所讀入的資料單元的單元內容於編碼表中的存在狀態;一第二編碼參數,用以提供一第二資訊,其中,第二資訊關聯於編碼表當前已收錄的資料單元的數量;以及一發送模組,用以發送經編碼模組編碼後的一編碼資料,編碼資料包含對應資料單元的編碼單元,且編碼單元包含一識別碼及一內容碼,其中,編碼模組用以依據第一編碼參數的第一資訊及第二編碼參數的第二資訊設定編碼單元的識別碼或內容碼,且編碼模組用以更新編碼表所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
本揭露之資料發送方法包含:讀入包含至少
一資料單元的一資料內容並對至少一資料單元進行編碼;由一編碼表收錄多個資料單元的多種資訊,其中,多種資訊包含各資料單元的一單元內容、一被編碼次數及一收錄位置;由一第一編碼參數提供被讀入的資料單元的一第一資訊,其中,第一資訊關聯於被讀入的資料單元的單元內容於編碼表中的存在狀態;由一第二編碼參數提供一第二資訊,其中,第二資訊關聯於編碼表當前已收錄的資料單元的數量;以及發送經編碼後的一編碼資料,其中,編碼資料包含對應資料單元的編碼單元,且編碼單元包含一識別碼及一內容碼;其中,依據第一編碼參數的第一資訊及第二編碼參數的第二資訊設定編碼單元的識別碼或內容碼,且更新編碼表所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
本揭露之資料接收裝置包含:一接收模組,用以接收經編碼後的一編碼資料,其中,編碼資料包含至少一編碼單元,且編碼單元包含一識別碼及一內容碼;一解碼模組,用以讀入接收模組所接收的編碼單元的資料內容並對編碼單元進行解碼得出對應編碼單元的資料單元;一編碼表,用以收錄多個資料單元的多種資訊,其中,多種資訊包含各資料單元的一單元內容、一被編碼次數及一收錄位置;一第一編碼參數,用以提供解碼模組所讀入的編碼單元的一第一資訊,其中,第一資訊關聯於解碼模組所讀入的編碼單元的單元內容於編碼表中的存在狀態;以及一第二編碼參數,用以提供一第二資訊,且第二資訊關聯
於編碼表當前已收錄的資料單元的數量;其中,解碼模組用以依據第一編碼參數的第一資訊、第二編碼參數的第二資訊、編碼單元的識別碼及內容碼得出對應編碼單元的資料單元,且解碼模組用以更新編碼表所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
本揭露之資料接收方法包含:接收經編碼後的一編碼資料,其中,編碼資料包含至少一編碼單元,且編碼單元包含一識別碼及一內容碼;讀入編碼單元的資料內容並對編碼單元進行解碼得出對應編碼單元的資料單元;由一編碼表收錄多個資料單元的多種資訊,其中,多種資訊包含各資料單元的一單元內容、一被編碼次數及一收錄位置;由一第一編碼參數提供被讀入的編碼單元的一第一資訊,其中,第一資訊關聯於被讀入的編碼單元的單元內容於編碼表中的存在狀態;以及由一第二編碼參數提供一第二資訊,其中,第二資訊關聯於編碼表當前已收錄的資料單元的數量;其中,依據第一編碼參數的第一資訊、第二編碼參數的第二資訊、編碼單元的識別碼及內容碼得出對應編碼單元的資料單元,且更新編碼表所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
為讓本揭露之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明。在以下描述內容中將部分闡述本揭露之額外特徵及優點,且此等特徵及優點將部分自所述描述內容顯而易見,或可藉由對本揭露之實踐習得。本揭露之特徵及優點借助於在申請
專利範圍中特別指出的元件及組合來認識到並達到。應理解,前文一般描述與以下詳細描述兩者均僅為例示性及解釋性的,且不欲約束本揭露所主張之範圍。
1‧‧‧資料發送裝置
11‧‧‧編碼模組
12‧‧‧發送模組
2‧‧‧資料接收裝置
21‧‧‧解碼模組
22‧‧‧接收模組
ES1、ES2‧‧‧第二編碼參數
FIT1、FIT2‧‧‧第一編碼參數
T1、T2‧‧‧編碼表
S11至S15、S21至S25‧‧‧步驟
第1圖為本揭露一實施例之資料發送裝置與資料接收裝置之方塊示意圖;第2圖為本揭露一實施例之資料發送方法之流程圖;第3A圖至第3G圖為本揭露一實施例之資料編碼及發送方法之示意圖;第4圖為本揭露一實施例之資料接收及解碼方法之流程圖;第5A圖至第5G圖為本揭露一實施例之資料接收及解碼方法之示意圖;第6A圖為本揭露之資料發送裝置或資料發送方法在編碼速度方面的一實驗例圖;第6B圖為本揭露之資料發送裝置或資料發送方法在壓縮率方面的一實驗例圖;以及第6C圖為本揭露之資料發送裝置或資料發送方法在封包數量方面的一實驗例圖。
以下藉由特定的具體實施形態說明本揭露之實施方式,熟悉此技術之人士可由本說明書所揭示的內容輕易地了解本揭露之其他優點與功效,亦可藉由其他不同
的具體實施形態加以施行或應用。
第1圖為本揭露一實施例之資料發送裝置1與資料接收裝置2之方塊示意圖。如第1圖所示,資料發送裝置1包含編碼模組11、編碼表T1、第一編碼參數FIT1(Find_in_Table)、第二編碼參數ES1(Encode_Size)與發送模組12。
在本實施例,資料發送裝置1可包含記憶體與中央處理單元(CPU),但本揭露不以此為限。資料發送裝置1可為包含伺服器或電腦(如工業電腦)等的系統或裝置,並可使用OPC或OPC UA(開放式平台溝通-基於統一架構)等標準通訊協定,但本揭露不以此為限。
編碼模組11用以讀入包含至少一資料單元的資料內容並對所述資料內容進行編碼。編碼模組11可例如由編碼器、處理器、算數邏輯單元(ALU)、積體電路(IC)或處理程式等實現,並可以硬體、韌體、軟體等形式或以上各形式的組合實現。
編碼表T1用以收錄多個資料單元的多種資訊,且多種資訊包含編碼表T1所收錄的各資料單元的單元內容、被編碼次數及收錄位置。
第一編碼參數FIT1用以提供編碼模組11所讀入的資料單元的第一資訊,且第一資訊關聯於編碼模組11所讀入的資料單元的單元內容於編碼表T1中的存在狀態。
第二編碼參數ES1用以提供第二資訊,且第
二資訊關聯於編碼表T1當前已收錄的資料單元的數量。
在本實施例中,編碼表T1、第一編碼參數FIT1及第二編碼參數ES1可實作於記憶體,但本揭露不以此為限。在一實施例,實作編碼表T1、第一編碼參數FIT1以及第二編碼參數ES1的記憶體可為同一或不同的記憶體。
發送模組12用以發送經編碼模組11編碼後的一編碼資料,編碼資料包含對應至少一資料單元的至少一編碼單元,且編碼單元包含一識別碼及一內容碼。發送模組12可為發送器、輸入/輸出介面、通訊介面、天線或網路卡等,但不以此為限。
編碼模組11可依據第一編碼參數的第一資訊及第二編碼參數的第二資訊設定至少一編碼單元的識別碼或內容碼。編碼模組11亦可依據第一編碼參數的第一資訊更新編碼表T1所收錄的各資料單元的單元內容、被編碼次數或收錄位置,且編碼表T1所收錄的各資料單元的收錄位置關聯於被編碼次數。
又如第1圖之實施例所示,資料接收裝置2包含接收模組22、解碼模組21、編碼表T2、第一編碼參數FIT2與第二編碼參數ES2,資料接收裝置2亦可包含記憶體與中央處理單元(CPU),但本揭露不以此為限。資料接收裝置2可為包含伺服器或電腦(如工業電腦)等的系統或裝置,並可使用OPC或OPC UA等標準通訊協定,但本揭露不以此為限。
接收模組22可用以接收經資料發送裝置1之編碼模組11編碼後的編碼資料,編碼資料包含至少一編碼單元,且編碼單元包含識別碼及內容碼。接收模組22可為接收器、輸入/輸出介面、有線或無線通訊介面、天線或網路卡等。
解碼模組21可用以讀入接收模組22所接收的至少一編碼單元的資料內容並對至少一編碼單元進行解碼。解碼模組21可由解碼器、處理器、算數邏輯單元(ALU)、積體電路或處理程式等實現,並可以硬體、韌體、軟體等形式或以上各形式的組合實現。
編碼表T2可用以收錄多個資料單元的多種資訊,且多種資訊包含編碼表T2所收錄的各資料單元的單元內容、被編碼次數及收錄位置。
第一編碼參數FIT2可用以提供解碼模組21所讀入的編碼單元的第一資訊,且第一資訊關聯於解碼模組21所讀入的編碼單元的單元內容於編碼表T2中的存在狀態。
第二編碼參數ES2可用以提供第二資訊,且第二資訊關聯於編碼表T2當前已收錄的資料單元的數量。
在本實施例中,編碼表T2、第一編碼參數FIT2及第二編碼參數ES2可實作於記憶體,但本揭露不以此為限。在一實施例,實作編碼表T2、第一編碼參數FIT2以及第二編碼參數ES2的記憶體可為同一或不同的記憶體。
解碼模組21可依據第一編碼參數的第一資訊、第二編碼參數的第二資訊、至少一編碼單元的識別碼及內容碼得出對應至少一編碼單元的至少一資料單元。解碼模組21亦可依據第一編碼參數FIT2的第一資訊更新編碼表T2所收錄的各資料單元的單元內容、被編碼次數或收錄位置,且編碼表T2所收錄的各資料單元的收錄位置關聯於被編碼次數。
第2圖為本揭露一實施例之資料發送方法之流程圖,請一併參閱上述第1圖與下述第3A圖至第3G圖之各實施例。在第2圖之實施例中,資料發送方法可包括但不限於步驟S11至S15及其先後次序。
在第2圖的步驟S11中,由編碼模組11讀入包含至少一資料單元(例如,第3B圖的第1個資料單元“A”)的資料內容,並對所述資料內容中的該至少一資料單元進行編碼。
在第2圖的步驟S12中,由一編碼表T1收錄多個不同的資料單元的多種資訊,且多種資訊包含編碼表T1所收錄的各資料單元的一單元內容、一被編碼次數及一收錄位置。
在第2圖的步驟S13中,由一第一編碼參數FIT1提供被讀入的資料單元的一第一資訊,且第一資訊關聯於被讀入的資料單元的單元內容於編碼表T1中的存在狀態。
在第2圖的步驟S14中,由一第二編碼參數
ES1提供一第二資訊,且第二資訊關聯於編碼表T1當前已收錄的資料單元的數量。
在第2圖的步驟S15中,由發送模組12發送經編碼後的編碼資料,編碼資料包含對應至少一資料單元的至少一編碼單元(例如,第3B圖的第1個編碼單元),且編碼單元包含識別碼及內容碼。再者,依據第一編碼參數FIT1的第一資訊及第二編碼參數ES1的第二資訊設定編碼單元的識別碼或內容碼,且更新編碼表T1所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
在上述第1圖之資料發送裝置1與第2圖之資料發送方法中,編碼表T1中所收錄的多個資料單元係依據該多個資料單元的各被編碼次數被排序在各收錄位置。
當第一編碼參數FIT1的第一資訊所關聯的存在狀態為“否(false)”時,編碼模組11可依據一編碼規則直接將資料單元的單元內容編譯為編碼單元的內容碼,其中,編碼規則可為二進位編碼(Binary coding),如ASCII或UTF等。
又,當第一編碼參數FIT1的第一資訊所關聯的存在狀態為“是(true)”時,表示編碼模組11所讀入的資料單元的單元內容存在編碼表T1所收錄的多個資料單元的其中一者,且第二編碼參數ES1的第二資訊關聯於編碼表T1所收錄的多個資料單元的單元數量,因此編碼模組11可依據第二編碼參數ES1的第二資訊設定編碼單元
中的識別碼或內容碼。
編碼表T1可實作於記憶體(memory)中,記憶體可包含多個記憶區塊(segment),多個記憶區塊分別儲存多個資料單元的多種資訊,且各收錄位置關聯於多個記憶區塊的位址(address)。
第3A圖至第3G圖為本揭露一實施例之資料編碼及發送方法之示意圖,請一併參閱上述第1圖之實施例。
如第3A圖所示,以欲傳送之資料內容為“ABAAAAAAACC”共11個字元為例,可以二進位ASCII碼直接編譯為“0100 0001 0100 0010 0100 0001 0100 0001 0100 0001 0100 0001 0100 0001 0100 0001 0100 0001 0100 0011 0100 0011”,總共有88個位元(bit)的編碼內容。
在編碼表T1初始建立時,第一編碼參數FIT1的第一資訊可設為“否”,第二編碼參數ES1的第二資訊設為“1”。在本實施例中,編碼表T1的收錄位置“0”可設置為保留位置,但本揭露不以此為限。
如第3B圖所示,編碼模組11讀入欲傳送之資料內容的第1個資料單元“A”(即二進位“0100 0001”),並查詢第3A圖所示之當前的編碼表T1,發現第1個資料單元“A”未存在於當前的編碼表T1中,編碼模組11據此編入第1個資料單元“A”的識別碼為“0”,並可以二進位ASCII碼的編碼原則直接編碼第1個資料單元“A”的內容碼為“0100 0001”,再依據識別碼與內容
碼將“0 0100 0001”作為編碼資料的第1個編碼單元,並將資料單元“A”收錄於編碼表T1的收錄位置“1”的單元內容中,且將資料單元“A”的被編碼次數記錄為“1”。
如第3C圖所示,編碼模組11讀入欲傳送之資料內容的第2個資料單元“B”(即二進位“0100 0010”),並查詢第3B圖所示之當前的編碼表T1,發現第2個資料單元“B”未存在於當前的編碼表T1中,編碼模組11可據此編入第2個資料單元“B”的識別碼為“0”,並可以二進位ASCII碼的編碼原則直接編碼第2個資料單元“B”為內容碼“0100 0010”,再依據識別碼與內容碼將“0 0100 0010”作為編碼資料的第2個編碼單元,並將資料單元“B”收錄於編碼表T1的收錄位置“2”的單元內容中,且將資料單元“B”的被編碼次數記錄為“1”。
如第3D圖所示,編碼模組11讀入欲傳送之資料內容的第3個資料單元“A”(即二進位“0100 0001”),並查詢第3C圖所示之當前的編碼表T1,發現第3個資料單元“A”已存在於當前的編碼表T1中,且當前(第3C圖)的第一編碼參數FIT1的第一資訊為“否”,表示前一個被編碼的資料單元(即第2個資料單元“B”)不是使用編碼表T1中所記錄的內容資訊來進行編碼,故編碼模組11可據此編入第3個資料單元“A”的識別碼為“1”,以用來表示目前第3資料單元“A”的編碼狀態是
從前一個第2個資料單元“B”的直接編碼狀態轉換為依據編碼表T1中所記錄的內容資訊來進行編碼的編碼狀態(即,查表編碼),並將第一編碼參數FIT1的第一資訊更新為“是”。
在本實施例中,第二編碼參數ES1的第二資訊的數值與編碼表T1中紀錄的編碼單元的數量相關連,其中,隨著編碼表T1中記錄的編碼單元的數量增多,會改變編碼表T1的長度以及分頁的長度,在ES1的第二資訊的數值為n時,n為大於0的整數,其表示編碼表T1共具有n頁,每一頁可容納2n個單元,全部共可容納2n*n個單元,所以當編碼表T1的內容大小m>2n*n時,ES1的第二資訊的數值必須增加才足以提供充分的資訊以完善編碼。
如第3D圖所示,因目前編碼表T1已有收錄位置為0、1及2之共3個編碼單元,且當前第二編碼參數ES1的第二資訊的數值為1,因此編碼表T1的內容大小為m=3,而3>(21*1=2),故編碼模組11會更新第二編碼參數ES1的第二資訊的數值,將當前(如第3C圖所示)的第二編碼參數ES1的第二資訊“1”加上1成為“2”,使得3<(22*2)。
編碼模組11計算單元內容為“A”在編碼表T1中的頁數碼P的數值,即 P= (1+1)/2 2 =1,表示第3個資料單元“A”已記錄在編碼表的第1頁,頁數碼P為1,如果在第二頁則頁數碼P為01,在第三頁則頁數碼P為
001,依此類推。前述 P= (1+1)/2 2 =1係依據運算式 P= (x+1)/2 ES ,其中,頁數碼P的數值與x分別表示當前欲傳送之資料單元內容在編碼表T1中的頁數位置及排序(收錄位置值),ES為第二編碼參數ES1的第二資訊的數值,為無條件進位。
編碼模組11計算第3個資料單元“A”的位置碼S的數值,即S=(1)%2 2 =1,此時第二編碼參數ES1的第二資訊為“2”,以2個位元位置碼S的值為“1”並以二進位表示為“01”。前述S=(1)%2 2 =1係依據運算式S=(x+1)%2 ES ,其中%為取餘數。因此,編碼模組11依據識別碼為“1”、頁數碼P為“1”與位置碼S為“01”可以得出第3個編碼單元為“1101”。
編碼模組11將第3C圖的資料單元內容為“A”的被編碼次數“1”加上1成為“2”。另依據編碼表T1中所收錄的各資料單元的被編碼次數排序各資料單元的收錄位置,如第3D圖的單元內容為“A”的被編碼次數為2,單元內容為“B”的被編碼次數為1,故單元內容為“A”的資料單元的收錄位置“1”排序在單元內容為“B”的資料單元的收錄位置“2”之前,如第3D圖所示的編碼表T1,但本揭露之收錄位置排序規則並不以此為限。
如第3E圖所示,編碼模組11讀入欲傳送之資料內容的第4個資料單元“A”(即二進位“0100 0001”),並查詢第3D圖所示之當前的編碼表T1,發現第
4個資料單元“A”已存在於編碼表T1中。因當前(即第3D圖)的第一編碼參數FIT1的第一資訊為“是”,表示前一個被編碼的資料單元(即第3個資料單元)是使用編碼表T1中所記錄的內容資訊來進行編碼,且發現第4個資料單元內容“A”與前一個被編碼的資料單元(即第3個資料單元)的資料單元內容“A”相同。
此時,編碼模組11再檢查後續接續的欲傳送之資料單元內容是否亦與目前欲傳送之資料單元內容相同,如第3E圖所示,後續接續之第5至第9個的資料單元內容皆同為“A”,據此得出重複相同的數量為6(即第4至第9個資料單元“AAAAAA”),故編碼模組11對欲傳送之第4至第9個資料單元進行簡約連續編碼。
此時,因當前的第一編碼參數FIT1的第一資訊為“是”,且第二編碼參數ES1的第二資訊為“2”,故編碼模組11先在第3E圖中編入第4至第9個資料單元“A”的識別碼為“00”,以表示從第3個資料單元的查表編碼狀態轉換為非查表編碼狀態,在本實施例中,代表由查表編碼狀態轉換為簡約連續編碼狀態。接著,編碼模組11加入6個“1”代表第4至第9個資料單元的內容碼的重覆次數為“111111”,再補上“0”作為內容碼的結尾,藉此依據識別碼、內容碼的重覆次數與結尾得出第4個編碼單元為“00 111111 0”,共9個位元。
編碼模組11將第3D圖的資料單元內容為“A”的被編碼次數“2”加上6成為“8”,並依據資料
單元內容為“A”、“B”的被編碼次數排序編碼表T1中的資料單元“A”、“B”以分別位於收錄位置“1”、“2”,如第3E圖所示的編碼表T1。
在一實施例中,編碼模組11可另對上述的第4至第9個資料單元“AAAAAA”進行查表編碼得出代表第4至第9個資料單元的內容碼為“101101101101101101”,共12個位元(bit)的碼,並比較以簡約連續編碼所得之編碼單元與以查表編碼所得之編碼單元的單元長度。在本實施例中,經比較後,由於以簡約連續編碼之編碼單元長度較短(如第3D圖所示的9個位元),故以編碼單元長度較短者為之,如此可進一步再縮減欲被傳送之資料量。
如第3F圖所示,編碼模組11讀入欲傳送之資料內容的第10個資料單元“C”(即二進位“0100 0011”),並查詢第3E圖所示之當前的編碼表T1,發現第10個資料單元“C”未存在於編碼表T1中,故編碼模組11可以二進位ASCII碼的編碼原則直接編碼第10個資料單元“C”的內容碼為“0100 0011”。
因第3E圖所示之當前的第一編碼參數FIT1的第一資訊為“是”,表示之前被編碼的資料單元是使用編碼表T1中所記錄的內容資訊來進行編碼第3E圖所示之當前的第二編碼參數ES1的第二資訊為“2”,故編碼模組11先在第3F圖中編入第10個資料單元“C”的識別碼“00”,以表示從查表編碼狀態轉換為非查表編碼狀態,
在此實施例中,代表由查表編碼狀態轉換為直接編碼狀態,並將第一編碼參數FIT1的第一資訊改為“否”,再依據識別碼及內容碼得出編碼資料的第5個編碼單元為“00 0100 0011”。另外,由於資料單元內容為“C”的資料單元未存在於當前的編碼表T1中,編碼模組11將資料單元“C”收錄於編碼表T1的收錄位置“3”的單元內容中,並將資料單元“C”的被編碼次數記錄為“1”,再依據編碼表T1中資料單元“A”、“B”、“C”的被編碼次數排序資料單元“A”、“B”、“C”以分別位於收錄位置“1”、“2”、“3”。
如第3G圖所示,編碼模組11讀入欲傳送之資料內容的第11個資料單元“C”(即二進位“0100 0011”),並查詢第3F圖所示之當前的編碼表T1,此時發現第11個資料單元“C”已存在於編碼表T1中。因第3F圖的第一編碼參數FIT1的第一資訊為“否”,表示第10個資料單元“C”不是使用編碼表T1中所記錄的內容資訊來進行編碼,故編碼模組11編入第11個資料單元“C”的識別碼為“1”,以用來表示目前第11資料單元“A”的編碼狀態是從前一個資料單元的直接編碼狀態轉換為依據編碼表T1中所記錄的內容資訊來進行編碼的編碼狀態(即,查表編碼),並將第一編碼參數FIT1的第一資訊改為“是”。
編碼模組11檢查目前編碼表T1的內容大小及第二編碼參數ES1的第二資訊的數值,因目前編碼表T1
的內容大小為4,即包含收錄位置“0”、“1”、“2”、“3”這4個資料單元,故編碼表T1的內容大小為m=4,ES1=2,且4<(22*2=8),因而目前第二編碼參數ES1的第二資訊不需要更新。
編碼模組11計算第11個資料單元“C”在編碼表T1中的頁數碼P的數值,即 P= (3+1)/2 2 =1,表示第11個資料單元“C”在第1頁,如果在第二頁則P為01,在第三頁則P為001,依此類推。編碼模組11計算第11個資料單元“C”位置碼S的數值,即S=(3)%2 2 =3,第二編碼參數ES1的第二資訊為“2”,以2個位元編碼位置碼S的“3”可得二進位碼為“11”。因此,依據識別碼為“1”、頁數碼P為“1”與位置碼S為“11”可以得出第6個編碼單元為“1111”,共4個位元。
編碼模組11將第3F圖所示之當前編碼表T1中資料單元內容為“C”的被編碼次數“1”加上1成為“2”,並依據編碼表T1中的資料單元“A”、“B”、“C”的被編碼次數重新排序成資料單元“A”、“C”、“B”以分別位於收錄位置“1”、“2”、“3”,如第3G圖所示的編碼表T1。
在本實施例中,編碼表T1中所收錄的各資料單元的單元內容並不重複,即本實施例的編碼表T1收錄多個非重複資料單元的多種資訊。
綜上,透過第3A圖至第3G圖所示實施例之資料編碼與發送方法,編碼模組11可以將欲傳送之
“ABAAAAAAACC”共11個字元的資料內容編譯,從而得到第3G圖的編碼資料為“0 0100 0001 0 0100 0010 1 101 00 111111 0 00 0100 0011 1 111”共45個位元(bit)的編碼資料,相較於以二進位ASCII碼直接編譯而得之88個位元的編碼資料,本揭露可有效縮減編碼43個位元大小。
第4圖為本揭露一實施例之資料接收方法之流程圖,請一併參閱上述第1圖所示之資料接收裝置2與下述第5A圖至第5G圖之實施例。在第4圖之實施例中,資料發送方法可包括但不限於步驟S21至S25及其先後次序。
在第4圖的步驟S21中,由接收模組22接收由發送模組12傳來的編碼資料,其中,編碼資料是經編碼模組11編碼產生,且編碼資料包含至少一編碼單元的多個位數碼(例如,第5A圖的編碼資料“0 0100 0001 0 0100 0010 1 101 00 111111 0 00 0100 0011 1 111”共45個位數碼),且編碼單元包含識別碼及內容碼。
在第4圖的步驟S22中,由解碼模組21讀入接收模組22所接收的至少一編碼單元的一資料內容,並對至少一編碼單元進行解碼得出對應編碼單元的資料單元。
在第4圖的步驟S23中,由編碼表T2收錄多個資料單元(例如,第5B圖至第5F圖的編碼表T2的資料單元“A”、“B”、“C”)的多種資訊,且多種資訊包含編碼表T2所收錄的各資料單元的單元內容、被編碼次數及收錄位置。
在第4圖的步驟S24中,由第一編碼參數FIT2提供解碼模組21所讀入的編碼單元的一第一資訊(例如,第5B圖之第一編碼參數FIT2的第一資訊“否”),其中,第一資訊關聯於解碼模組21所讀入的編碼單元的單元內容於編碼表T2中的存在狀態。
在第4圖的步驟S25中,由第二編碼參數ES2提供一第二資訊(例如,第5B圖的第二編碼參數ES2的第二資訊“1”),其中,第二資訊關聯於編碼表T2當前已收錄的資料單元的數量。再者,依據第一編碼參數FIT2的第一資訊、第二編碼參數ES2的第二資訊、編碼單元的識別碼及內容碼得出對應編碼單元的資料單元,且更新編碼表T2所收錄的各資料單元的單元內容、被編碼次數或收錄位置。
編碼表T2可實作於記憶體(memory)中,記憶體可包含多個記憶區塊(segment),多個記憶區塊分別儲存多個資料單元的多種資訊,且各收錄位置關聯於多個記憶區塊的位址(address)。
第5A圖至第5G圖為本揭露一實施例之資料接收及解碼方法之示意圖,請一併參閱上述第1圖。
如第5A圖所示,資料接收裝置2的接收模組22可接收經資料發送裝置1編碼後的編碼資料,例如第3G圖的編碼資料為“0 0100 0001 0 0100 0010 1 101 00 111111 0 00 0100 0011 1 111”。
在編碼表T2初始建立時,第一編碼參數FIT2
的第一資訊可設為“否”,第二編碼參數ES2的第二資訊可設為“1”,而編碼表T2的收錄位置“0”可設置為保留位置以作為識別用途,但本揭露不限於此。
如第5B圖所示,因第5A圖所示之當前的第一編碼參數FIT2的第一資訊為“否”,表示目前為直接編碼模式。解碼模組21讀入所接收的編碼資料的第1個位元為“0”,表示目前所要解碼的第1個編碼單元的識別碼為“0”,也就是表示要解碼的第1個編碼單元的內容碼為例如以二進位ASCII碼直接編碼並傳送的編碼單元,故解碼模組21自第1個編碼單元的識別碼“0”後方讀取8個位元“0100 0001”並得到解碼後的資料內容為“A”的第1個資料單元。而且,將第1個資料單元“A”加入編碼表T2的收錄位置“1”的單元內容中,並記錄資料單元“A”的被編碼次數為“1”。
如第5C圖所示,因第5B圖所示之當前的第一編碼參數FIT2的第一資訊為“否”,表示目前為直接編碼模式。解碼模組21讀入所接收的編碼資料的第10個位元為“0”,表示目前所要解碼的第2個編碼單元的識別碼為“0”,也就是表示要解碼的第2個編碼單元的內容碼是例如以二進位ASCII碼直接編碼並傳送的編碼單元,故解碼模組21自第2個編碼單元的識別碼“0”後方讀取8個位元“0100 0010”並解碼以得到資料內容為“B”的第2個資料單元。而且,將第2個資料單元“B”加入編碼表T2的收錄位置“2”的單元內容中,並記錄資料單元“B”
的被編碼次數為“1”。
如第5D圖所示,因第5C圖所示之當前的第一編碼參數FIT2的第一資訊為“否”,表示目前為直接編碼模式。解碼模組21讀入所接收的編碼資料的第19個位元為“1”,表示目前要解碼的第3個編碼單元的識別碼為“1”,也就是表示目前要解碼的第3個編碼單元的內容碼是以前述的查表編碼所編組而成,故解碼模組21將第一編碼參數FIT2的第一資訊改為“是”。
解碼模組21計算第二編碼參數ES2的第二資訊的數值,因目前編碼表T2的內容大小為3,且3>(21*1=2),故第5C圖所示的目前的第二編碼參數ES2的數值須要增加,例如再加上1(即第二編碼參數ES2的第二資訊為“2”),使得3<(22*2)。
編碼模組11自所接收的編碼資料的第19個位元(即,第3個編碼單元的識別碼)的後一位開始往後搜尋下一個為“1”的位元以計算出與識別碼間的距離D,則可由計算式P=D+1得出第3個編碼單元在編碼表T2的頁數碼P的值,以第5D圖為例,編碼模組11自第3個編碼單元的識別碼“1”的下一位元(即所接收的編碼資料的第20個位元)開始往後搜尋得出與下一個位元為“1”間的距離(D),其中距離D的數值單位為位元數,因編碼模組11在所接收的編碼資料的第20個位元找到“1”,故距離D=0且頁數碼P的值為“1”,另得出(D=0)≦(ES=2)的關係,因而確認目前要解碼的第3個編碼單元可由查詢編碼
表T2而解碼所得,其中ES為第二編碼參數ES2的第二資訊的數值。
解碼模組21計算目前要解碼的第3個編碼單元的單元內容在編碼表T2中的位置碼S,由於此時的ES2=2,故解碼模組21讀入頁數碼P(即“1”)之後的2個位元(即所接收的編碼資料的第21-21個位元)得到二進位位置碼S為“01”,表示位置碼S的值等於1,因此解碼模組21可由頁數碼P及位置碼S的值得出目前要解碼的第3個編碼單元的資料單元內容在編碼表T2的收錄位置為“1”(計算式為2ES*D+S,即22*0+1=1),並對應出編碼表T2的收錄位置“1”處的資料單元內容為“A”,以解碼出第3個編碼單元的資料單元為“A”。而且,解碼模組21將目前編碼表T2(即第5C圖所示之編碼表T2)中資料單元“A”的被編碼次數“1”加上1成為“2”,並依據各資料單元“A”、“B”的被編碼次數排序資料單元“A”、“B”的收錄位置以分別更新至收錄位置“1”、“2”,如第5D圖所示之更新後的編碼表T2。
如第5E圖所示,解碼模組21接著讀入所接收的編碼資料的第23個位元以後的位元資訊以解碼第4個編碼單元。因第5D圖所示之當前的第一編碼參數FIT的第一資訊為“是”,表示目前為查表編碼模式,因此解碼模組21自所接收的編碼資料的第23個位元起往後搜尋下一個為“1”的位元(即接收的編碼資料的第23個位元)以得出距離D=2,由於距離(D=2)=(ES=ES2=2),因而確認
目前要解碼的第4個編碼單元開始的編碼單元是由簡約連續編碼而成。
解碼模組21自所接收的編碼資料的第25個位元開始依序讀入之後的每一個位元至當前該讀入之位元“0”(即所接收的編碼資料的第31個位元)為止,當前該位元“0”表示連續簡約編碼之編碼單元內容碼中的結尾“0”,並且由所接收的編碼資料的第25至第30個位元得“111111”,表示重複上一次的資料單元有6次,據此得到目前要解碼第4個編碼單元的編碼內容為解碼後之第4至第9個資料單元為“AAAAAA”。而且,將目前編碼表T2(即第5C圖所示之編碼表T2)中單元內容“A”的被編碼次數“2”加上6等於“8”,並依據各資料單元“A”、“B”的被編碼次數排序資料單元“A”、“B”的收錄位置以更新至收錄位置“1”、“2”,如第5D圖所示之更新後的編碼表T2。
如第5F圖所示,解碼模組21接著讀入所接收的編碼資料的第32個位元以後的位元資訊以解碼第5個編碼單元。因第5E圖的第一編碼參數FIT2的第一資訊為“是”,表示目前為查表編碼模式,因此解碼模組21自所接收的編碼資料的第32個位元起往後搜尋下一個為“1”的位元(即接收的編碼資料的第35個位元)以得出距離D=3且(D=3)>(ES=ES2=2),表示第5個編碼單元的內容碼是例如以二進位ASCII直接編碼而非查詢編碼表而編碼所成。解碼模組21將第一編碼參數FIT2的第一資訊改為
“否”,並往第5個編碼單元的識別碼“00”後方讀取8個位元“0100 0011”以得到資料內容為“C”的第10個資料單元。而且,將資料單元“C”加入編碼表T2的收錄位置“3”的單元內容中,並記錄資料單元“C”的被編碼次數為“1”,並依據編碼表T2中的資料單元“A”、“B”、“C”的被編碼次數排序資料單元“A”、“B”、“C”以分別位於收錄位置“1”、“2”、“3”。
如第5G圖所示,解碼模組21接著從所接收的編碼資料的第42個位元開始讀入第6個編碼單元的編碼資料。因第5F圖所示之當前的第一編碼參數FIT2的第一資訊為“否”,表示目前為直接編碼模式。解碼模組21所接收的編碼資料的第42個位元為“1”,表示目前要解碼的第6個編碼單元的識別碼為“1”,也就是表示目前要解碼的第6個編碼單元的內容碼是以前述的查表編碼所編組而成,故解碼模組21將第一編碼參數FIT2的第一資訊改為“是”。
解碼模組21計算第二編碼參數ES2的第二資訊的數值,因目前編碼表T2的內容大小為4,且4<(22*2=8),故第二編碼參數ES2的第二資訊不需調整。
解碼模組21計算第6個編碼單元在編碼表T2中的頁數碼P的值(即P=D+1),亦即解碼模組21往第6個編碼單元的識別碼“1”後方的位元開始搜尋出下一個位元為“1”的距離(D)。因編碼模組11在第6個編碼單元的內容碼的第一位找到“1”,故D=0,且(D=0)≦(ES=2),
因而確認第6個編碼單元的資料單元內容可由查詢編碼表T2所得,且頁數P等於“1”。
因此,解碼模組21計算第6個編碼單元的單元內容在編碼表T2中的位置碼S,由於此時的ES2=2,故亦即解碼模組21讀入頁數碼P(即“1”)之後的2個位元得到二進位位置碼S為“11”,表示位置碼S的值等於3,因此解碼模組21可由頁數碼P及位置碼S的值得出目前要解碼的第6個編碼單元的資料單元內容在編碼表T2的收錄位置為“3”(計算式為2ES*D+S,即22*0+3=3),並對應出編碼表T2的收錄位置“3”處的資料單元的單元內容為“C”,以解碼出第6個編碼單元的資料單元為“C”。而且,解碼模組21將目前編碼表T2(即第5F圖所示之編碼表T2)中資料單元“C”的被編碼次數“1”加上1成為“2”,並依據各資料單元“A”、“B”、“C”的被編碼次數排序資料單元“A”、“C”、“B”於收錄位置“1”、“2”、“3”。
第6A圖為本揭露之資料發送裝置或資料發送方法在編碼速度方面的一實驗例圖,第6B圖為本揭露之資料發送裝置或資料發送方法在壓縮率方面的一實驗例圖,第6C圖為本揭露之資料發送裝置或資料發送方法在封包數量方面的一實驗例圖。
在第6A圖至第6C圖之模擬環境與參數中,係以一台OPC UA伺服器(Server)連接一台OPC UA客戶接收器(Client),並以OPC UA二進位編碼方式作為比較對
象,且以實際OPC UA傳輸封包(Browse)內容(即資料內容)作為壓縮標的,再依傳遞資訊之瀏覽器的封包內容大小,由小封包至大封包進行測試。
如第6A圖所示,在編碼速度方面,以資料內容為4039位元組(bytes)為例,習知技術(見長條形A1)之編碼時間為大約21毫秒(ms),本揭露(見長條形A2)之編碼時間為大約22毫秒(ms)。因此,本揭露之資料發送裝置或資料發送方法相較於習知技術在編碼速度之差距甚少。
如第6B圖所示,在壓縮率方面,以資料內容為2060位元組(bytes)為例,本揭露(見長條形B1)之壓縮率為大約31.3%。或者,以資料內容為3100位元組(bytes)為例,本揭露(見長條形B2)之壓縮率為大約29.5%。因此,本揭露之資料發送裝置或資料發送方法的壓縮率可減少達30%左右。
如第6C圖所示,在封包數量方面,以資料內容為16000位元組(bytes)為例,習知技術(見長條形C1)之封包數量為11個,但本揭露(見長條形C2)之封包數量為9個,故本揭露可減少大約22%的封包數量。或者,以資料內容為20800位元組(bytes)為例,習知技術(見長條圖C3)之封包數量為14個,但本揭露(見長條形C4)之封包數量為11個,故本揭露可減少大約27%的封包數量。因此,在相同大小的資料內容(資料量)下,本揭露之資料發送裝置或資料發送方法所傳送的封包數量可減少大約20%至30%。
由上可知,本揭露之資料發送裝置、資料接
收裝置及其方法中,主要是透過編碼/解碼模組對資料進行編碼及解碼,並以動態方式建立或查詢編碼表,且能精簡連續或重複的編碼資料,以利減少編碼資料及降低封包的傳輸量。
而且,本揭露可依照資料單元的被編碼次數動態地排序編碼表中的資料單元,亦即出現頻率越高的資料單元會出現在編碼表越前面的收錄位置,且可以較短的編碼資料進行傳送以減少封包的傳送數量。
同時,本揭露以適應性的編碼表或分頁方式,將編碼參數的資訊隱藏於編碼資料中,故不需要額外傳送編碼表,從而減少網路資料傳輸量。
另外,本揭露之編碼方式可不須對所有資料內容(或整份文件)先進行分析與機率統計,且可在不增加硬體資源的情況下,保持資料發送裝置或資料接收裝置原有的反應時間與效能,藉此可保障執行製造運算上的系統穩定性,並達到資料發送裝置、資料接收裝置與標準通訊介面三方面在資料編解碼與資料傳輸上的優勢。
上述實施形態僅例示性說明本揭露之原理、特點及其功效,並非用以限制本揭露之可實施範疇,任何熟習此項技藝之人士均可在不違背本揭露之精神及範疇下,對上述實施形態進行修飾與改變。任何運用本揭露所揭示內容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本揭露之權利保護範圍,應如申請專利範圍所列。
Claims (22)
- 一種資料發送裝置,具有記憶體與中央處理單元並包含:一編碼模組,用以讀入包含至少一資料單元的一資料內容並對該資料單元進行編碼;一編碼表,用以收錄多個資料單元的多種資訊,該多種資訊包含各該資料單元的一單元內容、一被編碼次數及一收錄位置;一第一編碼參數,用以提供該編碼模組所讀入的該資料單元的一第一資訊,其中,該第一資訊關聯於該編碼模組所讀入的該資料單元的單元內容於該編碼表中的存在狀態;一第二編碼參數,用以提供一第二資訊,其中,該第二資訊關聯於該編碼表當前已收錄的資料單元的數量;以及一發送模組,用以發送經該編碼模組編碼後的一編碼資料,其中,該編碼資料包含對應該資料單元的編碼單元,且該編碼單元包含一識別碼及一內容碼;其中,該編碼模組用以依據該第一編碼參數的該第一資訊及該第二編碼參數的該第二資訊設定該編碼單元的該識別碼或該內容碼,且該編碼模組用以更新該編碼表所收錄的各該資料單元之該單元內容、該被編碼次數或該收錄位置。
- 如申請專利範圍第1項所述的資料發送裝置,其中,該 編碼模組為編碼器、處理器、算數邏輯單元(ALU)、晶片或處理程式並以硬體、韌體或軟體形式呈現,該發送模組為發送器、輸入/輸出介面、通訊介面、天線或網路卡。
- 如申請專利範圍第1項所述的資料發送裝置,其中,該編碼表中的各該資料單元係依據該多個資料單元的各該被編碼次數之值依序被排序在各該收錄位置。
- 如申請專利範圍第1項所述的資料發送裝置,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為否時,該編碼模組用以直接將該資料單元的該單元內容編譯為該編碼單元的該內容碼。
- 如申請專利範圍第1項所述的資料發送裝置,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為是時,且該編碼模組所讀入的該資料單元的該單元內容存在該編碼表所收錄的該多個資料單元的其中一者,該編碼模組用以依據該第二編碼參數的該第二資訊設定該編碼單元中的該識別碼或該內容碼。
- 如申請專利範圍第1項所述的資料發送裝置,其中,該編碼表用以實作於一記憶體中,該記憶體包含多個記憶區塊,該多個記憶區塊分別儲存該多個資料單元的該多種資訊,且各該收錄位置關聯於該多個記憶區塊的位址。
- 一種資料發送方法,包含:讀入包含至少一資料單元的一資料內容並對該資 料單元進行編碼;由一編碼表收錄多個資料單元的多種資訊,其中,該多種資訊包含各該資料單元的一單元內容、一被編碼次數及一收錄位置;由一第一編碼參數提供被讀入的該資料單元的一第一資訊,其中,該第一資訊關聯於被讀入的該資料單元的單元內容於該編碼表中的存在狀態;由一第二編碼參數提供一第二資訊,其中,該第二資訊關聯於該編碼表當前已收錄的資料單元的數量;以及發送經編碼後的一編碼資料,其中,該編碼資料包含對應該資料單元的編碼單元,且該編碼單元包含一識別碼及一內容碼;其中,依據該第一編碼參數的該第一資訊及該第二編碼參數的該第二資訊設定該編碼單元的該識別碼或該內容碼,且更新該編碼表所收錄的各該資料單元的該單元內容、該被編碼次數或該收錄位置。
- 如申請專利範圍第7項所述的資料發送方法,更包含依據該多個資料單元的各該被編碼次數之多寡依序將該編碼表中的各該資料單元排序在各該收錄位置。
- 如申請專利範圍第7項所述的資料發送方法,更包含當該第一編碼參數的該第一資訊所關聯的該存在狀態為否時,直接將該資料單元的該單元內容編譯為該編碼單元的該內容碼。
- 如申請專利範圍第7項所述的資料發送方法,更包含當該第一編碼參數的該第一資訊所關聯的該存在狀態為是時,且被讀入的該資料單元的單元內容存在該編碼表所收錄的該多個資料單元的其中一者,依據該第二編碼參數的該第二資訊設定該編碼單元中的該識別碼或該內容碼。
- 如申請專利範圍第7項所述的資料發送方法,其中,該編碼表實作於一記憶體中,該記憶體包含多個記憶區塊,該多個記憶區塊分別儲存該多個資料單元的該多種資訊,且各該收錄位置關聯於該多個記憶區塊的位址。
- 一種資料接收裝置,具有記憶體與中央處理單元並包含:一接收模組,用以接收經編碼後的一編碼資料,其中,該編碼資料包含至少一編碼單元,且該編碼單元包含一識別碼及一內容碼;一解碼模組,用以讀入該接收模組所接收的該編碼單元的資料內容並對該編碼單元進行解碼得出對應該編碼單元的資料單元;一編碼表,用以收錄多個資料單元的多種資訊,其中,該多種資訊包含各該資料單元的一單元內容、一被編碼次數及一收錄位置;一第一編碼參數,用以提供該解碼模組所讀入的該編碼單元的一第一資訊,其中,該第一資訊關聯於該解碼模組所讀入的該編碼單元的單元內容於該編碼 表中的存在狀態;以及一第二編碼參數,用以提供一第二資訊,其中,該第二資訊關聯於該編碼表當前已收錄的資料單元的數量;其中,該解碼模組用以依據該第一編碼參數的該第一資訊、該第二編碼參數的該第二資訊、該編碼單元的該識別碼及該內容碼得出對應該編碼單元的資料單元,且該解碼模組用以更新該編碼表所收錄的各該資料單元的該單元內容、該被編碼次數或該收錄位置。
- 如申請專利範圍第12項所述的資料接收裝置,其中,該接收模組為接收器、輸入/輸出介面、通訊介面、天線或網路卡,該解碼模組為解碼器、處理器、算數邏輯單元(ALU)、晶片或處理程式並以硬體、韌體或軟體形式呈現。
- 如申請專利範圍第12項所述的資料接收裝置,其中,該編碼表中的各該資料單元係依據該多個資料單元的各該被編碼次數之值依序被排序在各該收錄位置。
- 如申請專利範圍第12項所述的資料接收裝置,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為否時,該解碼模組直接將該編碼單元的該內容碼編譯為該資料單元的該單元內容。
- 如申請專利範圍第12項所述的資料接收裝置,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為是時,且該解碼模組所讀入的該編碼單元的單元內容 存在該編碼表所收錄的該多個資料單元的其中一者,該解碼模組用以依據該第二編碼參數的該第二資訊得出對應該編碼單元的資料單元。
- 如申請專利範圍第12項所述的資料接收裝置,其中,該編碼表用以實作於一記憶體中,該記憶體包含多個記憶區塊,該多個記憶區塊分別儲存該多個資料單元的該多種資訊,且各該收錄位置關聯於該多個記憶區塊的位址。
- 一種資料接收方法,包含:接收經編碼後的一編碼資料,其中,該編碼資料包含至少一編碼單元,且該編碼單元包含一識別碼及一內容碼;讀入該編碼單元的資料內容並對該編碼單元進行解碼得出對應該編碼單元的資料單元;由一編碼表收錄多個資料單元的多種資訊,其中,多種資訊包含各該資料單元的一單元內容、一被編碼次數及一收錄位置;由一第一編碼參數提供被讀入的該編碼單元的一第一資訊,其中,該第一資訊關聯於被讀入的該編碼單元的單元內容於該編碼表中的存在狀態;以及由一第二編碼參數提供一第二資訊,其中,該第二資訊關聯於該編碼表當前已收錄的資料單元的數其中,依據該第一編碼參數的該第一資訊、該第 二編碼參數的該第二資訊、該編碼單元的該識別碼及該內容碼得出對應該編碼單元的資料單元,且更新該編碼表所收錄的各該資料單元的該單元內容、該被編碼次數或該收錄位置。
- 如申請專利範圍第18項所述的資料接收方法,其中,該編碼表中的各該資料單元係依據該多個資料單元的各該被編碼次數之多寡依序被排序在各該收錄位置。
- 如申請專利範圍第18項所述的資料接收方法,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為否時,該解碼模組用以直接將該編碼單元的該內容碼編譯為該資料單元的該單元內容。
- 如申請專利範圍第18項所述的資料接收方法,其中,當該第一編碼參數的該第一資訊所關聯的該存在狀態為是時,且該解碼模組所讀入的該編碼單元的單元內容存在該編碼表所收錄的該多個資料單元的其中一者,該解碼模組用以依據該第二編碼參數的該第二資訊得出對應該編碼單元的資料單元。
- 如申請專利範圍第18項所述的資料接收方法,其中,該編碼表用以實作於一記憶體中,該記憶體包含多個記憶區塊,該多個記憶區塊分別儲存該多個資料單元的該多種資訊,且各該收錄位置關聯於該多個記憶區塊的位址。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123792A TWI645698B (zh) | 2017-07-17 | 2017-07-17 | 資料發送裝置、資料接收裝置及其方法 |
US15/859,870 US10742783B2 (en) | 2017-07-17 | 2018-01-02 | Data transmitting apparatus, data receiving apparatus and method thereof having encoding or decoding functionalities |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106123792A TWI645698B (zh) | 2017-07-17 | 2017-07-17 | 資料發送裝置、資料接收裝置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI645698B true TWI645698B (zh) | 2018-12-21 |
TW201909610A TW201909610A (zh) | 2019-03-01 |
Family
ID=64999780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106123792A TWI645698B (zh) | 2017-07-17 | 2017-07-17 | 資料發送裝置、資料接收裝置及其方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10742783B2 (zh) |
TW (1) | TWI645698B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033252B (zh) * | 2023-10-09 | 2024-04-12 | 中核武汉核电运行技术股份有限公司 | 一种基于opcua的联合仿真通信系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201303881A (zh) * | 2011-07-11 | 2013-01-16 | Phison Electronics Corp | 資料處理方法、記憶體控制器及記憶體儲存裝置 |
TW201403337A (zh) * | 2012-06-15 | 2014-01-16 | Qualcomm Inc | 三相極性安全反向鏈路關斷 |
TW201546815A (zh) * | 2014-06-10 | 2015-12-16 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4099257A (en) * | 1976-09-02 | 1978-07-04 | International Business Machines Corporation | Markov processor for context encoding from given characters and for character decoding from given contexts |
US5867114A (en) * | 1996-02-29 | 1999-02-02 | Mitel Corporation | Method and apparatus for performing data compression |
US6100824A (en) * | 1998-04-06 | 2000-08-08 | National Dispatch Center, Inc. | System and method for data compression |
TW429726B (en) | 1999-07-28 | 2001-04-11 | Nat Science Council | Progressive FAX image compression system and method |
US6668092B1 (en) | 1999-07-30 | 2003-12-23 | Sun Microsystems, Inc. | Memory efficient variable-length encoding/decoding system |
US6856651B2 (en) * | 2000-07-25 | 2005-02-15 | Peribit Networks, Inc. | System and method for incremental and continuous data compression |
US6883035B2 (en) * | 2000-11-16 | 2005-04-19 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for communicating with temporary compression tables |
US6985965B2 (en) * | 2000-11-16 | 2006-01-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Static information knowledge used with binary compression methods |
US6707400B2 (en) * | 2001-08-02 | 2004-03-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for fast longest match search |
US6563440B1 (en) * | 2001-10-19 | 2003-05-13 | Nokia Corporation | Apparatus and method for decoding Huffman codes using leading one/zero string length detection |
US7348904B2 (en) | 2004-02-19 | 2008-03-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Selective updating of compression dictionary |
US7966424B2 (en) * | 2004-03-15 | 2011-06-21 | Microsoft Corporation | Data compression |
US8572218B2 (en) | 2009-12-10 | 2013-10-29 | International Business Machines Corporation | Transport data compression based on an encoding dictionary patch |
US8458354B2 (en) * | 2010-01-27 | 2013-06-04 | Interdisciplinary Center Herzliya | Multi-pattern matching in compressed communication traffic |
US8537038B1 (en) | 2010-10-22 | 2013-09-17 | Smith Micro Software, Inc. | Efficient compression method for sorted data representations |
US9195675B2 (en) | 2011-02-24 | 2015-11-24 | A9.Com, Inc. | Decoding of variable-length data with group formats |
US9087070B2 (en) * | 2013-01-31 | 2015-07-21 | Yahoo! Inc. | System and method for applying an efficient data compression scheme to URL parameters |
CN104636377B (zh) | 2013-11-12 | 2018-09-07 | 华为技术服务有限公司 | 数据压缩方法及设备 |
GB2523347B (en) * | 2014-02-20 | 2016-01-13 | Gurulogic Microsystems Oy | Encoder, decoder and method |
CN104331269B (zh) | 2014-10-28 | 2017-08-15 | 中国科学院自动化研究所 | 一种嵌入式系统可执行代码压缩方法及代码解压缩系统 |
-
2017
- 2017-07-17 TW TW106123792A patent/TWI645698B/zh active
-
2018
- 2018-01-02 US US15/859,870 patent/US10742783B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201303881A (zh) * | 2011-07-11 | 2013-01-16 | Phison Electronics Corp | 資料處理方法、記憶體控制器及記憶體儲存裝置 |
TW201403337A (zh) * | 2012-06-15 | 2014-01-16 | Qualcomm Inc | 三相極性安全反向鏈路關斷 |
TW201546815A (zh) * | 2014-06-10 | 2015-12-16 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Also Published As
Publication number | Publication date |
---|---|
US20190020743A1 (en) | 2019-01-17 |
US10742783B2 (en) | 2020-08-11 |
TW201909610A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831409B (zh) | 数据传输方法、装置、计算机可读存储介质及电子设备 | |
WO2016029801A1 (zh) | 编码、解码方法以及编码装置和解码装置 | |
CN101796779B (zh) | 聚合数据帧的生成 | |
WO2017193716A1 (zh) | 一种极化码的编码和速率匹配方法、装置及设备 | |
CN111262876B (zh) | 基于区块链的数据处理方法、装置、设备以及存储介质 | |
US10817460B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN102571966A (zh) | 一种大型xml文件的网络传输方法 | |
CN105740215A (zh) | 一种数据通信编码和解码方法 | |
WO2019206136A1 (zh) | 极化码的速率匹配、解速率匹配方法及设备 | |
CN112399479B (zh) | 用于数据传输的方法、电子设备和存储介质 | |
CN112995199B (zh) | 数据编解码方法、装置、传输系统、终端设备及存储介质 | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
JP7282895B2 (ja) | データの再送復号方法、装置、システム及び通信装置 | |
TWI645698B (zh) | 資料發送裝置、資料接收裝置及其方法 | |
CN104272774A (zh) | 用于处理编码数据流的系统和方法 | |
WO2017157023A1 (zh) | 一种soap报文传输方法及系统 | |
CN104767710B (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
CN108563795A (zh) | 一种加速压缩流量正则表达式匹配的Pairs方法 | |
CN106027521B (zh) | 压缩方法、解压方法、压缩装置和解压装置 | |
CN110704361A (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
WO2013182079A1 (zh) | 一种对短消息进行编码转换的方法及装置 | |
WO2022116009A1 (zh) | 一种数据传输方法及装置、通信设备 | |
US6313763B1 (en) | Variable length data packet with adjustable length indicator | |
WO2020259704A1 (zh) | 一种用于电子设备的数据压缩、数据解压方法及电子设备 | |
WO2016183749A1 (zh) | 处理子信令段的方法、处理装置、接入点和站点 |