0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

JSON壓縮算法解讀

共熵服務(wù)中心 ? 來(lái)源:未知 ? 2022-11-23 19:10 ? 次閱讀

646e29d6-6b1e-11ed-8abf-dac502259ad0.png

文章轉(zhuǎn)發(fā)自51CTO 開源基礎(chǔ)軟件社區(qū) OpenHarmony成長(zhǎng)計(jì)劃啃論文俱樂(lè)部【FFH】啃論文俱樂(lè)部---JSON壓縮算法解讀

1.關(guān)于作者

大家好!我是來(lái)自深圳技術(shù)大學(xué)FSR Lab(編者注:Falcon Swarm Robotics Lab獵鷹集群機(jī)器人控制實(shí)驗(yàn)室的縮寫)的同學(xué),標(biāo)題FFH就是FSRlab For Harmony!并且我也正在參加OpenHarmony成長(zhǎng)計(jì)劃從論文到開源提交研究,以后我們也會(huì)陸續(xù)在這個(gè)社區(qū)記錄學(xué)習(xí)心得和體會(huì)。

在OpenHarmony成長(zhǎng)計(jì)劃啃論文俱樂(lè)部里,F(xiàn)FH小組同學(xué)們與華為、軟通動(dòng)力、潤(rùn)和軟件、拓維信息、深開鴻等公司一起,學(xué)習(xí)和研究序列化相關(guān)技術(shù)…

2. 為什么需要壓縮JSON?

盡管JSON數(shù)據(jù)格式比XML效率要高,但是它仍然是web服務(wù)器和瀏覽器傳輸過(guò)程中比較低效的數(shù)據(jù)格式。為什么呢?

  • 首先,它將所有的內(nèi)容都轉(zhuǎn)換為了文本。

  • 第二是轉(zhuǎn)換之后的文本過(guò)度使用引號(hào),這樣會(huì)給每個(gè)字符串添加多兩個(gè)字節(jié)。

  • 第三,它本身沒(méi)有schema的標(biāo)準(zhǔn)格式,比如在一個(gè)消息中序列化多個(gè)對(duì)象的時(shí)候,即使每個(gè)對(duì)象的屬性的鍵名是重復(fù)且相同的,但是轉(zhuǎn)換后的文本數(shù)據(jù)還是會(huì)重復(fù)每一個(gè)鍵名。

JSON以前的時(shí)候有一個(gè)優(yōu)勢(shì),就是可以被Javascript引擎直接解析,但因?yàn)楝F(xiàn)在越來(lái)越重視安全性,JSON的這個(gè)優(yōu)勢(shì)也逐漸消失了,但是因?yàn)樗萖ML效率以及性能都更高,所以許多傳統(tǒng)的C/S模式都是選擇JSON,比如web服務(wù)。當(dāng)有龐大的數(shù)據(jù)量以及復(fù)雜數(shù)據(jù)結(jié)構(gòu)需要從web瀏覽器中傳輸?shù)椒?wù)器的時(shí)候,JSON壓縮就起到了非常大的作用,然而中間就會(huì)存在我們剛剛說(shuō)的三點(diǎn)問(wèn)題,我們也不能使用傳統(tǒng)的gzip壓縮算法,因?yàn)闉g覽器不知道服務(wù)器是否支持gzip解壓。

下面我們就來(lái)看看兩種常見(jiàn)的JSON壓縮算法,cJSON與HPack。

3. cJSON壓縮算法

cJSON壓縮算法(cJSON Compression Algorithm)的特點(diǎn)就是可以使用自動(dòng)類型提取壓縮JSON數(shù)據(jù)格式的內(nèi)容。它成功解決了一個(gè)非常重要的問(wèn)題,就是我們上一小節(jié)提到的第三點(diǎn),將不斷重復(fù)的鍵名舍去了,我們我們來(lái)看一個(gè)例子:

使用cJSON前的數(shù)據(jù)格式:

[
    {   //表示一個(gè)坐標(biāo)點(diǎn)
        "x":100,
        "y":100
    },
    {   //表示一個(gè)長(zhǎng)方形
        "x":100,
        "y":100,
        "width":200,
        "height":150
    },
    {},//表示一個(gè)空對(duì)象
    ... //以下省略數(shù)以萬(wàn)計(jì)的對(duì)象
]

上面未經(jīng)壓縮的數(shù)據(jù)中,我們可以看到有非常多的空間被重復(fù)的鍵名所占據(jù),比如“x”,“y”等等,當(dāng)數(shù)據(jù)非常多的時(shí)候,這些看起來(lái)不起眼的重復(fù)鍵名會(huì)給傳輸效率帶來(lái)非常大的影響,其實(shí)解決思路也非常簡(jiǎn)單,因?yàn)樗麄兪侵貜?fù)的,那我們只存儲(chǔ)一次不就好了?下面我們來(lái)按照我們的思路看看cJSON處理過(guò)后的數(shù)據(jù)吧。

{
    "templates":[
        ["x","y"],  //type1
        ["x","y","width","height"] //type2
    ],
    "value":[
        {    //第一個(gè)對(duì)象:坐標(biāo)點(diǎn)
            "type":1,
            "values":[
                100,
                100
            ] 
        },
        {    //第二個(gè)對(duì)象:矩形
            "type":2,
            "values":[
                100,
                100,
                200,
                150
            ]   
        },
        {
            //第三個(gè)空對(duì)象
        },
        //以下省略數(shù)以萬(wàn)計(jì)的對(duì)象......
    ]
}

從上面的數(shù)據(jù)中我們可以看到,我們格式化了數(shù)據(jù),把鍵名存儲(chǔ)了起來(lái),重復(fù)的就不存儲(chǔ),然后值通過(guò)“type”索引來(lái)對(duì)應(yīng)鍵名,這樣在數(shù)據(jù)量龐大的時(shí)候確實(shí)減少了不少空間,但是我們仔細(xì)看“templates”內(nèi)的鍵名依舊有重復(fù)的字段存在。說(shuō)明了我們還存在優(yōu)化空間,優(yōu)化完壓縮后效果如下:

{  "function": "cjson",
   "templates": [ 
           [0, "x", "y"],
           [1, "width",  "height"] 
       ],  
   "values": [ 
           [1, 100, 100 ],           //第一個(gè)對(duì)象:坐標(biāo)點(diǎn)
           [2, 100, 100, 200, 150 ], //第二個(gè)對(duì)象:矩形
           []                        //第三個(gè)空對(duì)象
       ] 
}

直接看壓縮后的代碼結(jié)構(gòu)你可能不太能理解,那我們就來(lái)看看他的具體原理,為了解決“template”內(nèi)鍵名重復(fù)的字段,這個(gè)算法采用了樹這個(gè)數(shù)據(jù)結(jié)構(gòu),每遇到一個(gè)要傳輸?shù)膶?duì)象,就按順序把鍵值存入樹的節(jié)點(diǎn)中(灰色的節(jié)點(diǎn)是被標(biāo)記的結(jié)尾節(jié)點(diǎn)指針,表示該節(jié)點(diǎn)存儲(chǔ)的是某個(gè)對(duì)象最后一個(gè)屬性的鍵值),重復(fù)的就不存儲(chǔ),這樣就解決了我們的問(wèn)題,這個(gè)鍵值樹的變化過(guò)程如下:

65312ac6-6b1e-11ed-8abf-dac502259ad0.png

最后數(shù)據(jù)在匹配鍵值的時(shí)候就根據(jù) “values” 中所標(biāo)記的結(jié)尾節(jié)點(diǎn)指針找到對(duì)應(yīng)鍵值數(shù)組,這樣就構(gòu)成了cJSON的壓縮算法。

仔細(xì)的同學(xué)就會(huì)發(fā)現(xiàn),如果一個(gè)對(duì)象中沒(méi)有"X"和"Y",只有“width”和“height”,或者鍵值節(jié)點(diǎn)順序是錯(cuò)的,是不是會(huì)出問(wèn)題?答案是對(duì)的,會(huì)出現(xiàn)無(wú)法匹配的鍵值的情況,所以這種方法只能在特定的場(chǎng)景下應(yīng)用,存在一定局限性。

總體來(lái)說(shuō),cJSON在處理非常龐大的數(shù)據(jù)量的時(shí)候效果還是非??陀^的。

4.JSON.HPack壓縮算法

JSON.HPack壓縮算法(HPack Compression Algorithm)是一種無(wú)損、跨語(yǔ)言、注重性能的JSON數(shù)據(jù)壓縮算法,可以讓我們?cè)谑褂胮ost請(qǐng)求在客戶端發(fā)送數(shù)據(jù)到服務(wù)器的過(guò)程中相對(duì)普通JSON格式節(jié)省約70%的字符。

其原理本質(zhì)上也是跟cJSON一樣將鍵值抽離開,舉個(gè)例子:

使用HPack算法前:

{   
    "id" : 1,  
    "sex" : "Female",  
    "age" : 38,  
    "classOfWorker" : "Private",  
    "maritalStatus" : "Married-civilian  spouse present",  
    "education" : "1st 2nd 3rd or 4th  grade",  
    "race" : "White" 
}

使用HPack算法后:

["id","sex","age","classOfWorker","mari talStatus","education","race"],
[1,"Female",38,"Private","Married-civilianspousepresent","1st2nd3rdor4thgrade","White"]

可以看到相對(duì)于普通JSON以及cJSON少了很多字符,比如引號(hào),各種括號(hào)等等,這種壓縮算法在數(shù)據(jù)量龐大的情況下效果也非常可觀。

HPack算法提供了幾個(gè)級(jí)別的壓縮(從0到4)。等級(jí)越高壓縮效率越高,每提升一個(gè)等級(jí)都有引入附加功能。0級(jí)壓縮通過(guò)從結(jié)構(gòu)中分離鍵值來(lái)執(zhí)行最基本的壓縮,并在索引0的元素上創(chuàng)建鍵名數(shù)組,下一個(gè)等級(jí)就可以通過(guò)假設(shè)存在重復(fù)條目來(lái)進(jìn)一步減小JSON數(shù)據(jù)的大小。

5.性能分析

接下來(lái)我們直接用數(shù)據(jù)來(lái)看看這幾個(gè)壓縮算法的壓縮效率,我們分別用5組大小不同的JSON文件(50KB~1MB),每個(gè)JSON文件將使用servlet容器(tomcat)提供給瀏覽器,并分別用以下算法進(jìn)行壓縮:

  • Original JSON size - 未作修改的JSON數(shù)據(jù)

  • Minimized - 刪除空白和新行(最基本的js優(yōu)化)

  • Compresse cJSON - 使用CJSON壓縮算法進(jìn)行JSON壓縮

  • Compresse HPack - 使用JSON.HPack壓縮算法進(jìn)行JSON壓縮

  • Gzipped - 使用gzip和進(jìn)行JSON壓縮

  • Gzipped + Minimized - 使用gzip和刪除空白和新行(最基本的js優(yōu)化)進(jìn)行JSON壓縮

  • Gzipped + Compresse cJSON - 使用gzip和CJSON壓縮算法進(jìn)行JSON壓縮

  • Gzipped + Compresse HPack - 使用gzip和JSON.HPack壓縮算法進(jìn)行JSON壓縮

下表(TABLE I.RESULTES)是用以上各種方式處理完后的JSON數(shù)據(jù)大小(bytes),不同列表示不同的JSON數(shù)據(jù)集,不同行表示使用不同的壓縮方式。

65581424-6b1e-11ed-8abf-dac502259ad0.png

下面第一個(gè)圖表Y軸表示JSON數(shù)據(jù)大小(bytes):

6582fcd4-6b1e-11ed-8abf-dac502259ad0.png

第二張圖Y軸是JSON數(shù)據(jù)大小的百分比(%),原始數(shù)據(jù)為100%:

65bb7320-6b1e-11ed-8abf-dac502259ad0.png

從上面的幾個(gè)圖表中我們可以直觀地看到,單獨(dú)使用cJSON可以把原始數(shù)據(jù)大小壓縮到45%左右,單獨(dú)使用HPack可以把原始數(shù)據(jù)大小壓縮到8%左右,可見(jiàn)整體上HPack是優(yōu)于cJSON的。

然而我們可以看到當(dāng)使用gzip和上面提到的兩個(gè)壓縮算法相結(jié)合進(jìn)行JSON壓縮,效果才是最優(yōu)的,基本可以達(dá)到1%~2%的壓縮率。

總的來(lái)說(shuō),HPack比cJSON效率更高,速度也更快,但是在使用壓縮算法進(jìn)行傳輸?shù)倪^(guò)程中,接收的一端需要進(jìn)行相應(yīng)的解壓縮操作,否則無(wú)法使用被壓縮過(guò)后的JSON數(shù)據(jù),這一步也會(huì)存在一定的性能開銷,在我們選擇使用JSON壓縮的時(shí)候,也需要考慮到這一點(diǎn)。當(dāng)可以使用gzip進(jìn)行壓縮的時(shí)候,這種方法比其他壓縮算法的效率都高,當(dāng)兩者同時(shí)結(jié)合起來(lái),效果顯而易見(jiàn)。

好了,我們這一次完整地了解了JSON序列化的發(fā)展,規(guī)范,應(yīng)用以及相關(guān)的壓縮算法,相信大家不僅對(duì)JSON壓縮算法有了更深的了解,也對(duì)JSON序列化這個(gè)技術(shù)領(lǐng)域有了深刻的認(rèn)識(shí)。

6.參考文獻(xiàn)

JSON Compression Algorithmshttp://repository.utm.md/bitstream/handle/5014/6418/ICMCS_2011_1_pg_244_247.pdf?sequence=1

<本文完>

寫在最后

OpenHarmony 成長(zhǎng)計(jì)劃—“啃論文俱樂(lè)部”(以下簡(jiǎn)稱“啃論文俱樂(lè)部”)是在 2022年 1 月 11 日的一次日?;顒?dòng)中誕生的。截至 3 月 31 日,啃論文俱樂(lè)部已有 87 名師生和企業(yè)導(dǎo)師參與,目前共有十二個(gè)技術(shù)方向并行探索,每個(gè)方向都有專業(yè)的技術(shù)老師帶領(lǐng)同學(xué)們通過(guò)啃綜述論文制定技術(shù)地圖,按“降龍十八掌”的學(xué)習(xí)方法編排技術(shù)開發(fā)內(nèi)容,并通過(guò)專業(yè)推廣培養(yǎng)高校開發(fā)者成為軟件技術(shù)學(xué)術(shù)級(jí)人才。

啃論文俱樂(lè)部的宗旨是希望同學(xué)們?cè)陂_源活動(dòng)中得到軟件技術(shù)能力提升、得到技術(shù)寫作能力提升、得到講解技術(shù)能力提升。大學(xué)一年級(jí)新生〇門檻參與,已有俱樂(lè)部來(lái)自多所高校的大一同學(xué)寫出高居榜首的技術(shù)文章。

如今,搜索“啃論文”,人們不禁想到、而且看到的都是我們——OpenHarmony 成長(zhǎng)計(jì)劃—“啃論文俱樂(lè)部”的產(chǎn)出。

65d7c52a-6b1e-11ed-8abf-dac502259ad0.jpg

66146b92-6b1e-11ed-8abf-dac502259ad0.jpg

662b13ec-6b1e-11ed-8abf-dac502259ad0.jpg

OpenHarmony開源與開發(fā)者成長(zhǎng)計(jì)劃—“啃論文俱樂(lè)部”學(xué)習(xí)資料合集

1)入門資料:啃論文可以有怎樣的體驗(yàn)

https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d

2)操作辦法:怎么從啃論文到開源提交以及深度技術(shù)文章輸出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU

3)企業(yè)/學(xué)校/老師/學(xué)生為什么要參與 & 啃論文俱樂(lè)部的運(yùn)營(yíng)辦法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq

4)往期啃論文俱樂(lè)部同學(xué)分享會(huì)精彩回顧:

同學(xué)分享會(huì)No1.成長(zhǎng)計(jì)劃啃論文分享會(huì)紀(jì)要(2022/02/18)https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY

同學(xué)分享會(huì)No.2 成長(zhǎng)計(jì)劃啃論文分享會(huì)紀(jì)要(2022/03/11)https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF

同學(xué)們分享會(huì)No.3 成長(zhǎng)計(jì)劃啃論文分享會(huì)紀(jì)要(2022/03/25)

https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d

現(xiàn)在,你是不是也熱血沸騰,摩拳擦掌地準(zhǔn)備加入這個(gè)俱樂(lè)部呢?當(dāng)然歡迎啦!啃論文俱樂(lè)部向任何對(duì)開源技術(shù)感興趣的大學(xué)生開發(fā)者敞開大門。

66710b54-6b1e-11ed-8abf-dac502259ad0.png

掃碼添加 OpenHarmony 高校小助手,加入“啃論文俱樂(lè)部”微信群

后續(xù),我們會(huì)在服務(wù)中心公眾號(hào)陸續(xù)分享一些 OpenHarmony 開源與開發(fā)者成長(zhǎng)計(jì)劃—“啃論文俱樂(lè)部”學(xué)習(xí)心得體會(huì)和總結(jié)資料。記得呼朋引伴來(lái)看哦。

6688276c-6b1e-11ed-8abf-dac502259ad0.gif

669befa4-6b1e-11ed-8abf-dac502259ad0.png

66d12a0c-6b1e-11ed-8abf-dac502259ad0.png

6700d540-6b1e-11ed-8abf-dac502259ad0.png

6786f7c4-6b1e-11ed-8abf-dac502259ad0.png

67c90f56-6b1e-11ed-8abf-dac502259ad0.png

67f68972-6b1e-11ed-8abf-dac502259ad0.png

6814e372-6b1e-11ed-8abf-dac502259ad0.png

6853c2f4-6b1e-11ed-8abf-dac502259ad0.png

68f83c8a-6b1e-11ed-8abf-dac502259ad0.png

691b1836-6b1e-11ed-8abf-dac502259ad0.png

6949b696-6b1e-11ed-8abf-dac502259ad0.png

69d3694a-6b1e-11ed-8abf-dac502259ad0.png

6a6bb498-6b1e-11ed-8abf-dac502259ad0.png

6a8efd18-6b1e-11ed-8abf-dac502259ad0.png

6aa52340-6b1e-11ed-8abf-dac502259ad0.png

6acf0e1c-6b1e-11ed-8abf-dac502259ad0.png

6b2ab64a-6b1e-11ed-8abf-dac502259ad0.png

6b47f3cc-6b1e-11ed-8abf-dac502259ad0.png

6b691b4c-6b1e-11ed-8abf-dac502259ad0.png

6b98fb3c-6b1e-11ed-8abf-dac502259ad0.png

6bb21158-6b1e-11ed-8abf-dac502259ad0.png

6bd4d6ca-6b1e-11ed-8abf-dac502259ad0.png

6bf73ef4-6b1e-11ed-8abf-dac502259ad0.png

6c138550-6b1e-11ed-8abf-dac502259ad0.png

6c5d1daa-6b1e-11ed-8abf-dac502259ad0.png

6c76cfb6-6b1e-11ed-8abf-dac502259ad0.png

6d10d5ca-6b1e-11ed-8abf-dac502259ad0.png


原文標(biāo)題:JSON壓縮算法解讀

文章出處:【微信公眾號(hào):開源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開源技術(shù)
    +關(guān)注

    關(guān)注

    0

    文章

    389

    瀏覽量

    7981
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3744

    瀏覽量

    16502

原文標(biāo)題:JSON壓縮算法解讀

文章出處:【微信號(hào):開源技術(shù)服務(wù)中心,微信公眾號(hào):共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法

    電子發(fā)燒友網(wǎng)站提供《EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:56 ?0次下載
    EE-257:面向Blackfin處理器的引導(dǎo)<b class='flag-5'>壓縮</b>/解<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    think-cell——使用JSON數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化(一)

    您可以使用 JSON 中的數(shù)據(jù)來(lái)復(fù)制最初作為模板創(chuàng)建的圖表,并為其提供新的數(shù)據(jù)表。您可以控制使用特定模板構(gòu)建新演示文稿的順序。模板也可以多次使用。 PowerPoint 模板和 JSON 數(shù)據(jù)都可以
    的頭像 發(fā)表于 01-02 13:37 ?100次閱讀
    think-cell——使用<b class='flag-5'>JSON</b>數(shù)據(jù)實(shí)現(xiàn)自動(dòng)化(一)

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+內(nèi)容簡(jiǎn)介

    內(nèi)容簡(jiǎn)介這是一本深入解讀基礎(chǔ)算法及其電路設(shè)計(jì),以打通算法研發(fā)到數(shù)字IC設(shè)計(jì)的實(shí)現(xiàn)屏障,以及指導(dǎo)芯片設(shè)計(jì)工程師從底層掌握復(fù)雜電路設(shè)計(jì)與優(yōu)化方法為目標(biāo)的專業(yè)技術(shù)書。任何芯片(如WiFi芯片、5G芯片
    發(fā)表于 11-21 17:14

    【BearPi-Pico H3863星閃開發(fā)板體驗(yàn)連載】LZO壓縮算法移植

    壓縮算法使用 一、概述 壓縮算法是一類用于減小數(shù)據(jù)大小的計(jì)算方法,它們?cè)跀?shù)據(jù)存儲(chǔ)和傳輸領(lǐng)域扮演著重要角色。壓縮
    發(fā)表于 11-10 21:45

    壓縮算法的類型和應(yīng)用

    壓縮算法是一種通過(guò)減少數(shù)據(jù)量來(lái)節(jié)省存儲(chǔ)空間或傳輸數(shù)據(jù)的技術(shù)。壓縮算法可以分為兩種類型:有損壓縮和無(wú)損壓縮
    的頭像 發(fā)表于 10-21 13:50 ?343次閱讀

    Huffman壓縮算法概述和詳細(xì)流程

    Huffman壓縮算法是一種基于字符出現(xiàn)頻率的編碼算法,通過(guò)構(gòu)建Huffman樹,將出現(xiàn)頻率高的字符用短編碼表示,出現(xiàn)頻率低的字符用長(zhǎng)編碼表示,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)的壓縮。
    的頭像 發(fā)表于 10-21 13:48 ?321次閱讀

    名單公布!【書籍評(píng)測(cè)活動(dòng)NO.46】從算法到電路 | 數(shù)字芯片算法的電路實(shí)現(xiàn)

    :elecfans123)領(lǐng)取書籍進(jìn)行評(píng)測(cè),如在5個(gè)工作日內(nèi)未聯(lián)系,視為放棄本次試用評(píng)測(cè)資格! 《從算法到電路——數(shù)字芯片算法的電路實(shí)現(xiàn)》 是一本深入解讀基礎(chǔ)算法及其電路設(shè)計(jì),以打通
    發(fā)表于 10-09 13:43

    使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),為什么?

    在使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),如下圖:
    發(fā)表于 09-26 07:22

    JSON協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用JSON協(xié)議和服務(wù)器交互

    一 概述 1.1 什么是 JSON JSON是JavaScript Object Notation的簡(jiǎn)稱,中文含義為“JavaScript 對(duì)象表示法”,它是一種數(shù)據(jù)交換的文本格式,而不是一種編程
    的頭像 發(fā)表于 09-25 16:14 ?1032次閱讀
    <b class='flag-5'>JSON</b>協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用<b class='flag-5'>JSON</b>協(xié)議和服務(wù)器交互

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過(guò)讓計(jì)算機(jī)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無(wú)需進(jìn)行明確的編程。本文將深入解讀幾種常見(jiàn)的機(jī)器學(xué)習(xí)算法原理,包括線性回歸、邏輯回歸、支持向量機(jī)(SVM)、決策樹和K近鄰(KNN)算法,探
    的頭像 發(fā)表于 07-02 11:25 ?1303次閱讀

    【RTC程序設(shè)計(jì):實(shí)時(shí)音視頻權(quán)威指南】音視頻的編解碼壓縮技術(shù)

    音視頻所載有的信息在通過(guò)傳輸?shù)臅r(shí)候就需要壓縮編碼。 其中,文本壓縮是指通過(guò)使用各種算法和技術(shù),將文本數(shù)據(jù)表示為更緊湊的形式,以減少存儲(chǔ)空間。 霍夫曼編碼是一種無(wú)損壓縮
    發(fā)表于 04-28 21:04

    FPGA壓縮算法有哪些

    在圖像壓縮算法中可以采用哈夫曼編碼的方式對(duì)編碼冗余的信息進(jìn)行壓縮,可以采用預(yù)測(cè)的方式來(lái)減少像素間冗余,可以采用量化的方式完成心理視覺(jué)冗余信息的去除
    的頭像 發(fā)表于 04-15 11:48 ?699次閱讀
    FPGA<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>有哪些

    Python壓縮和解壓縮實(shí)現(xiàn)代碼分享

    壓縮和解壓縮是日常常用的操作,不管是windows上圖形界面的操作,還是linux上用命令來(lái)進(jìn)行壓縮壓縮,總的而言都還是比較方便的。
    的頭像 發(fā)表于 04-11 11:28 ?1115次閱讀

    基于門控線性網(wǎng)絡(luò)(GLN)的高壓縮比無(wú)損醫(yī)學(xué)圖像壓縮算法

    實(shí)現(xiàn)基于門控線性網(wǎng)絡(luò)(GLN)的高壓縮比無(wú)損醫(yī)學(xué)圖像壓縮算法,以提高醫(yī)學(xué)圖像存儲(chǔ)和分發(fā)系統(tǒng)的效率。與“傳統(tǒng)”的基于上下文的數(shù)據(jù)壓縮算法相比,
    的頭像 發(fā)表于 04-08 10:29 ?727次閱讀
    基于門控線性網(wǎng)絡(luò)(GLN)的高<b class='flag-5'>壓縮</b>比無(wú)損醫(yī)學(xué)圖像<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    壓縮機(jī)的類型和區(qū)別

    壓縮機(jī)的類型和區(qū)別? 壓縮機(jī)是一種用于提高氣體壓縮和輸送能力的機(jī)械設(shè)備。根據(jù)不同的工作原理和應(yīng)用需求,壓縮機(jī)可分為多種類型,包括離心壓縮機(jī)、
    的頭像 發(fā)表于 02-01 14:36 ?3751次閱讀