用于數(shù)據(jù)解碼的裝置和方法
【專(zhuān)利摘要】本發(fā)明可提供用于數(shù)據(jù)解碼的方法和裝置。一種計(jì)算機(jī)實(shí)施的方法,包括:接收數(shù)據(jù)流,所述數(shù)據(jù)流包括碼字串,所述碼字串根據(jù)第一熵編碼查找表編碼相應(yīng)的像素?cái)?shù)據(jù)串;以及處理所述數(shù)據(jù)流以確定第一碼字和接續(xù)的第二碼字與第二熵編碼查找表中的碼字條目之間是否存在匹配。所述方法還包括:如果存在匹配,則使用所述第二熵編碼查找表解碼所述第一碼字和所述第二碼字。而且,所述方法包括:如果不存在匹配,則使用所述第一熵編碼查找表解碼所述第一碼字。根據(jù)本發(fā)明,可提供用于數(shù)據(jù)解碼的方法和系統(tǒng)。
【專(zhuān)利說(shuō)明】
用于數(shù)據(jù)解碼的裝置和方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明大體涉及用于數(shù)據(jù)解碼的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 近年來(lái),各種類(lèi)型的打印設(shè)備已經(jīng)在商業(yè)和消費(fèi)者使用中流行起來(lái)。除了傳統(tǒng)的 黑白打印機(jī)之外,彩色打印機(jī)、掃描儀、復(fù)印機(jī)、傳真機(jī)和其他部件現(xiàn)在也很普遍。支持這些 功能中兩種或更多功能的復(fù)合機(jī)(MFP)也被廣泛使用。除了其他功能之外,這些設(shè)備用于處 理圖像數(shù)據(jù)。
[0003] 圖像數(shù)據(jù)的處理可包括,例如,壓縮和編碼操作和/或解壓和解碼操作。一種示例 圖像處理技術(shù)由聯(lián)合圖像專(zhuān)家組(JPEG)標(biāo)準(zhǔn)所定義。通常,圖像數(shù)據(jù)的JPEG編碼處理包括 空間頻率轉(zhuǎn)換、量化、數(shù)據(jù)排序和熵編碼;而圖像數(shù)據(jù)的JPEG解碼處理包括JPEG編碼處理的 反演,比如熵解碼、反向數(shù)據(jù)排序、反量化和反向空間頻率轉(zhuǎn)換。
[0004] 期望改善傳統(tǒng)方法和系統(tǒng)的設(shè)置或者至少提供一種或多種有益的替換方式以助 于使得數(shù)據(jù)處理更有效、可靠并且快捷。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明可提供用于數(shù)據(jù)解碼的方法和系統(tǒng)。
[0006] 在示例實(shí)施例中,一種計(jì)算機(jī)實(shí)施的方法包括:由計(jì)算設(shè)備接收數(shù)據(jù)流,所述數(shù)據(jù) 流包括碼字串,所述碼字串根據(jù)第一熵編碼查找表編碼相應(yīng)的像素?cái)?shù)據(jù)串;以及由所述計(jì) 算設(shè)備處理所述數(shù)據(jù)流以確定第一碼字和第二碼字與第二熵編碼查找表中的碼字條目之 間是否存在匹配。在本示例中,所述第一碼字和所述第二碼字是所述數(shù)據(jù)流中的連續(xù)碼字, 并且所述第二熵編碼查找表不同于所述第一熵編碼查找表。本示例方法還包括:如果所述 第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間存在匹配,則由所述 計(jì)算設(shè)備使用所述第二熵編碼查找表解碼所述第一碼字和所述第二碼字。進(jìn)一步地,本示 例方法包括:如果所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之 間不存在匹配,則由所述計(jì)算設(shè)備使用所述第一熵編碼查找表解碼所述第一碼字。
[0007] 在另一示例實(shí)施例中,一種用于解碼數(shù)據(jù)流的系統(tǒng)包括:輸入緩沖器,用于接收所 述數(shù)據(jù)流,所述數(shù)據(jù)流包括根據(jù)熵編碼查找表而編碼為碼字串的數(shù)據(jù);以及處理器,連接至 所述輸入緩沖器。在本示例中,所述處理器被配置為確定所述數(shù)據(jù)流中的連續(xù)碼字是否對(duì) 應(yīng)于其后跟隨著零行程或一行程的零行程;如果所述連續(xù)碼字對(duì)應(yīng)于其后跟隨著零行程或 一行程的零行程,則至少部分地基于使用修改的熵編碼查找表解碼所述連續(xù)碼字來(lái)提供輸 出。進(jìn)一步地,在本示例中,所述處理器被配置為:如果所述連續(xù)碼字不對(duì)應(yīng)于其后跟隨著 零行程或一行程的零行程,則至少部分地基于使用熵編碼查找表解碼所述連續(xù)碼字中的第 一碼字來(lái)提供輸出。
[0008] 根據(jù)本發(fā)明,可提供用于數(shù)據(jù)解碼的方法和系統(tǒng)。
【附圖說(shuō)明】
[0009] 圖1描繪了傳統(tǒng)的級(jí)聯(lián)霍夫曼解碼器的圖解框圖和流程圖。
[0010] 圖2描繪了根據(jù)示例實(shí)施例的計(jì)算設(shè)備。
[0011] 圖3是例示了根據(jù)示例實(shí)施例的計(jì)算設(shè)備的數(shù)據(jù)處理組件的框圖。
[0012] 圖4是例示了根據(jù)示例實(shí)施例的用于圖像處理的存儲(chǔ)組件和數(shù)據(jù)的框圖。
[0013] 圖5是用于8x8數(shù)據(jù)塊的預(yù)定數(shù)據(jù)序列的示例。
[0014] 圖6是例示了根據(jù)示例實(shí)施例的計(jì)算設(shè)備的數(shù)據(jù)處理組件的框圖。
[0015] 圖7是例示了根據(jù)示例實(shí)施例的用于圖像處理的存儲(chǔ)組件和數(shù)據(jù)的框圖。
[0016] 圖8描繪了根據(jù)示例實(shí)施例的數(shù)據(jù)解碼器系統(tǒng)的框圖。
[0017] 圖9描繪了根據(jù)示例實(shí)施例的解碼數(shù)據(jù)的方法。
【具體實(shí)施方式】
[0018] 在此描述了示例方法和系統(tǒng)。在不脫離在此呈現(xiàn)的發(fā)明主題的精神或范圍的前提 下,還可使用其他示例實(shí)施例或特征,并且可做出其他改變。以下詳細(xì)說(shuō)明參照了構(gòu)成其一 部分的附圖。
[0019] 在此描述的示例實(shí)施例并非意在限制。應(yīng)很容易理解的是,在此概括地描述并且 在圖中例示的本發(fā)明的各方面可以以各種各樣不同的配置進(jìn)行設(shè)置、替換、組合、拆分和設(shè) 計(jì),并且本說(shuō)明書(shū)明確地預(yù)計(jì)到了這些設(shè)置、替換、組合、拆分和設(shè)計(jì)。出于例示的目的而參 照打印設(shè)備和圖像數(shù)據(jù)的處理描述了各特征和功能。然而,在本文中公開(kāi)的特征和功能也 可應(yīng)用于其他類(lèi)型的計(jì)算設(shè)備(例如,顯示設(shè)備)、計(jì)算設(shè)備的組件(例如,數(shù)據(jù)解碼器、處理 器、存儲(chǔ)組件等等),并且應(yīng)用于處理其他類(lèi)型的數(shù)據(jù)(例如,音頻數(shù)據(jù)和/或視頻數(shù)據(jù))。
[0020] 1.引言
[0021] 在最近30多年間,打印技術(shù)已經(jīng)從僅僅產(chǎn)生黑白圖像的基于點(diǎn)陣的簡(jiǎn)單輸出設(shè)備 發(fā)展到今天能夠產(chǎn)生高分辨率彩色圖像的基于激光的高級(jí)打印設(shè)備。另外,現(xiàn)代的打印設(shè) 備還可以被用作復(fù)印機(jī)、掃描儀和傳真機(jī)。這么做這些設(shè)備可以能夠存儲(chǔ)大量排隊(duì)等待打 印或傳真的或者已經(jīng)被掃描的電子文檔的圖像數(shù)據(jù)。因而,許多打印設(shè)備是計(jì)算設(shè)備的專(zhuān) 用形式,其可以包括例如一個(gè)或多個(gè)處理器、數(shù)據(jù)儲(chǔ)存器和輸入/輸出接口。
[0022] 不管是在住宅、企業(yè)還是在另一種類(lèi)型的場(chǎng)所使用打印設(shè)備,打印設(shè)備都可以是 能夠被通信連接至其他各種計(jì)算設(shè)備的共享資源。因此,在某些環(huán)境下,打印設(shè)備的存儲(chǔ)和 處理要求可能相當(dāng)高,這是因?yàn)樵S多計(jì)算設(shè)備可以將電子文檔傳送至打印設(shè)備以進(jìn)行打 印。通常,打印設(shè)備在一個(gè)時(shí)刻會(huì)以先到先服務(wù)的方式打印、復(fù)印、傳真和/或掃描一個(gè)電子 文檔。因此,打印設(shè)備可以存儲(chǔ)等待服務(wù)的潛在的大量電子文檔。由于數(shù)據(jù)儲(chǔ)存器(例如,諸 如隨機(jī)存取存儲(chǔ)器(RAM)、固態(tài)存儲(chǔ)器、硬盤(pán)驅(qū)動(dòng)存儲(chǔ)器和/或閃存之類(lèi)的存儲(chǔ)器)的成本可 能昂貴,對(duì)所存儲(chǔ)的電子文檔進(jìn)行壓縮以降低打印設(shè)備的數(shù)據(jù)存儲(chǔ)要求可以是有益的。另 外,由于一些電子文檔可以被傳送至打印設(shè)備和計(jì)算設(shè)備,和/或從打印設(shè)備和計(jì)算設(shè)備中 被傳送出,對(duì)這些電子文檔進(jìn)行壓縮可以使傳送更快且使用更少的網(wǎng)絡(luò)容量。
[0023] 此外,由于打印作業(yè)可能是大規(guī)模的(例如,打印作業(yè)可能包括包含有數(shù)百頁(yè)的一 個(gè)或多個(gè)電子文檔),在每個(gè)作業(yè)被打印之前,對(duì)列表中已排隊(duì)的打印作業(yè)進(jìn)行壓縮會(huì)節(jié)省 短期存儲(chǔ)空間。此外,用戶(hù)可能希望將打印作業(yè)保存在長(zhǎng)期儲(chǔ)存器內(nèi)以便在以后的時(shí)間進(jìn) 行打印。因此,對(duì)打印作業(yè)進(jìn)行壓縮可以允許更多的打印作業(yè)被保存。進(jìn)一步地,在長(zhǎng)期存 儲(chǔ)器中存儲(chǔ)和檢索較大的打印作業(yè)的行為可能緩慢,但是該行為可以通過(guò)壓縮打印作業(yè)以 使它們的尺寸更小而被加速。
[0024] -種用于壓縮并且隨后解壓打印作業(yè)(以及其他類(lèi)型的數(shù)據(jù))的技術(shù)利用了熵編 碼?;舴蚵幋a是熵編碼的一個(gè)示例,其普遍用于壓縮圖像數(shù)據(jù)、視頻數(shù)據(jù)、音頻數(shù)據(jù)等。通 常,霍夫曼編碼法用可變長(zhǎng)度的二進(jìn)制代碼或者用根據(jù)統(tǒng)計(jì)概率分配的碼字對(duì)符號(hào)(例如, 像素?cái)?shù)據(jù)、DCT系數(shù)、音頻數(shù)據(jù)等等)進(jìn)行編碼。例如,更頻繁使用的符號(hào)是長(zhǎng)度可能只有幾 比特的分配代碼,而不怎么頻繁使用的符號(hào)是長(zhǎng)度為漸增比特?cái)?shù)(例如,長(zhǎng)度多達(dá)16位)的 分配代碼?;舴蚵幋a法使用列出了每個(gè)可能的可變長(zhǎng)度代碼的查找表來(lái)編碼和解碼數(shù) 據(jù)。在附錄("JPEG霍夫曼查找表")中隨附于此的表K. 5中的JPEG標(biāo)準(zhǔn)(IS0/IEC 10918)中提 供了一個(gè)示例霍夫曼表。其他示例霍夫曼表也是可能的并且落入本發(fā)明的范圍內(nèi)。
[0025] 因?yàn)榛舴蚵幋a法使用了可變長(zhǎng)度代碼,對(duì)霍夫曼編碼的數(shù)據(jù)流進(jìn)行解碼本質(zhì)上 是有序的,這使得數(shù)據(jù)流中的每個(gè)代碼都是在確定下一個(gè)代碼之前得以確定。傳統(tǒng)的解碼 器每時(shí)鐘頻率或每時(shí)鐘周期操作一個(gè)代碼。通常,每個(gè)霍夫曼代碼包含多個(gè)像素,以使得每 時(shí)鐘頻率的平均像素解壓速率適宜地高。然而,一些應(yīng)用要求有保證的像素吞吐量(例如, 每時(shí)鐘兩個(gè)像素),而且在瞬態(tài)最壞情況下每時(shí)鐘一個(gè)像素的低像素速率可能引起數(shù)據(jù)不 足(data under-run)和圖像偽影。在實(shí)踐中,更有可能在例如圖像的非常嗜雜的區(qū)域中出 現(xiàn)少于每時(shí)鐘兩個(gè)像素的吞吐量。
[0026] 傳統(tǒng)的保證每時(shí)鐘兩個(gè)像素的吞吐量的嘗試存在各種缺陷。在一種方案中,兩個(gè) 級(jí)聯(lián)的霍夫曼解碼器每時(shí)鐘可以解碼至少兩個(gè)像素,但此吞吐量伴隨著的代價(jià)是使得處理 邏輯的關(guān)鍵路徑延遲加倍。例如,參照?qǐng)D1,將第一霍夫曼解碼器與第二霍夫曼解碼器級(jí)聯(lián) 實(shí)質(zhì)上使得關(guān)鍵路徑延遲加倍,這是由于使用了兩個(gè)完整的霍夫曼查找表來(lái)處理數(shù)據(jù)流, 其實(shí)質(zhì)上使最大處理頻率減半。在通常用于JPEG處理中的160個(gè)條目霍夫曼查找表的情況 下,相對(duì)較大的霍夫曼查找表限制了可供級(jí)聯(lián)解碼器運(yùn)行的最大時(shí)鐘頻率。
[0027] 在另一方案中,并聯(lián)的霍夫曼解碼器用于每時(shí)鐘解碼至少兩個(gè)像素。然而,此方案 使用了附加的數(shù)據(jù)緩沖器和動(dòng)態(tài)內(nèi)存分配來(lái)為并聯(lián)的霍夫曼解碼器分別生成數(shù)據(jù)流。取決 于所使用的解碼數(shù)據(jù)流的計(jì)算設(shè)備,此類(lèi)附加的數(shù)據(jù)緩沖器可能不可用。此外,在這種環(huán)境 下使用附加的數(shù)據(jù)緩沖器和動(dòng)態(tài)內(nèi)存分配會(huì)增加內(nèi)存碎片并增加處理延遲。
[0028] 本發(fā)明提供可靠并且有效的方案來(lái)保證平均每時(shí)鐘兩個(gè)像素的解碼吞吐量(例 如,每?jī)蓚€(gè)時(shí)鐘周期四個(gè)像素的吞吐量)。所公開(kāi)的方案利用了修改的霍夫曼查找表來(lái)對(duì)編 碼數(shù)據(jù)流進(jìn)行解碼。參照相對(duì)較大的JPEG霍夫曼查找表,其中僅有10個(gè)條目對(duì)應(yīng)于零行程 (run of zero)。通常,該行程長(zhǎng)度對(duì)應(yīng)于零幅值A(chǔ)C系數(shù)的行程長(zhǎng)度。在這種環(huán)境下,"零行 程"意味著上一個(gè)(解碼的)AC系數(shù)和下一個(gè)非零AC系數(shù)之間不存在零幅值A(chǔ)C系數(shù),"一行 程"(run of one)意味著在一個(gè)零幅值A(chǔ)C系數(shù)之后跟隨著一個(gè)非零幅值A(chǔ)C系數(shù),"二行程" (run of two)意味著在兩個(gè)零幅值A(chǔ)C系數(shù)之后跟隨著一個(gè)非零幅值A(chǔ)C系數(shù),并且"整數(shù)(η) 行程"意味著在η個(gè)零幅值A(chǔ)C系數(shù)之后跟隨著一個(gè)非零幅值A(chǔ)C系數(shù)。
[0029]只有在JPEG查找表(以及其他可變或固定長(zhǎng)度編碼表)中的"零行程"碼字的情況 下才存在對(duì)快于每時(shí)鐘一個(gè)碼字的解碼速度的需要,以保證每時(shí)鐘兩個(gè)像素的吞吐量。這 是因?yàn)橛糜?一行程"的吞吐量相當(dāng)于每時(shí)鐘兩個(gè)像素的解碼速率(零幅值A(chǔ)C系數(shù)像素和一 個(gè)非零幅值A(chǔ)C系數(shù)像素),"二行程"相當(dāng)于每時(shí)鐘三個(gè)像素的解碼速率,"三行程"相當(dāng)于每 時(shí)鐘四個(gè)像素的解碼速率,而"η行程"相當(dāng)于每時(shí)鐘(n+1)個(gè)像素的解碼速率。
[0030] 本發(fā)明使用修改的編碼查找表,其將完整的查找表中對(duì)應(yīng)于"零行程"的條目與完 整的查找表中對(duì)應(yīng)于"零行程"或"一行程"的條目進(jìn)行級(jí)聯(lián)。所生成的修改的編碼查找表使 得解碼器能夠在一個(gè)時(shí)鐘周期中解碼兩個(gè)碼字而無(wú)需像傳統(tǒng)技術(shù)中那樣級(jí)聯(lián)整個(gè)完整的 查找表。簡(jiǎn)單地說(shuō),如果當(dāng)前碼字對(duì)應(yīng)于一個(gè)像素并且下一個(gè)碼字對(duì)應(yīng)于一個(gè)或兩個(gè)像素, 則使用修改的編碼查找表一起解碼這些連續(xù)的碼字。否則,可以每時(shí)鐘周期解碼一個(gè)碼字 ("二行程"或"大于二的行程"對(duì)應(yīng)于三個(gè)或更多個(gè)像素)而不會(huì)使吞吐率降低至每時(shí)鐘兩 個(gè)像素以下。
[0031] 與上文所討論的級(jí)聯(lián)解碼器相比,除了完整的查找表之外并行地使用修改的編碼 查找表的此方案大約需要相同數(shù)量的線(xiàn)路和邏輯(例如,通過(guò)使查找表中具有多于200個(gè)條 目)。然而,由于碼字對(duì)的解碼與常規(guī)的解碼過(guò)程并行發(fā)生,與級(jí)聯(lián)解碼器中的串行解碼相 反,所討論的方案本質(zhì)上更快。
[0032] 2.示例打印設(shè)備
[0033]圖2描繪了示例打印設(shè)備20。打印設(shè)備20可配置為打印部分地存儲(chǔ)和/或完整地存 儲(chǔ)在各種類(lèi)型的物理輸出介質(zhì)上的電子文檔。這些輸出介質(zhì)包括但不限于各種尺寸和類(lèi)型 的紙張、投影片等等。打印設(shè)備20可以互換地稱(chēng)為"打印機(jī)"。
[0034]打印設(shè)備20可作為諸如個(gè)人電腦、顯示監(jiān)視器、服務(wù)器設(shè)備、打印服務(wù)器等等的另 一計(jì)算設(shè)備的本地外設(shè)。在這些情況下,打印設(shè)備20可通過(guò)諸如串行端口電纜、并行端口電 纜、通用串行總線(xiàn)(USB)電纜、火線(xiàn)(IEEE 1394)電纜或高清多媒體接口(HDMI)電纜的電纜 而被附接至計(jì)算設(shè)備。由此,計(jì)算設(shè)備可作為打印設(shè)備20的電子文檔源。
[0035]另一方面,打印設(shè)備20可包括有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)接口,比如以太網(wǎng)或IEEE802.il (WLAN或Wi-Fi)接口。通過(guò)如此設(shè)置,打印設(shè)備20可用作可通過(guò)網(wǎng)絡(luò)與打印設(shè)備20通信的任 意數(shù)量的計(jì)算設(shè)備的打印設(shè)備。在一些實(shí)施例中,打印設(shè)備20可同時(shí)用作本地外設(shè)和聯(lián)網(wǎng) 打印機(jī)。為了使用打印設(shè)備20,計(jì)算設(shè)備可安裝一個(gè)或多個(gè)打印機(jī)驅(qū)動(dòng)器。這些打印機(jī)驅(qū)動(dòng) 器可包括軟件組件,該軟件組件將代表待打印的電子文檔的圖像數(shù)據(jù)從存儲(chǔ)在計(jì)算設(shè)備上 的各種本地表現(xiàn)形式轉(zhuǎn)換為打印設(shè)備20支持的一個(gè)或多個(gè)表現(xiàn)形式。盡管如此,打印設(shè)備 20可被視為是計(jì)算設(shè)備,并且可以既執(zhí)行打印相關(guān)的作業(yè),又執(zhí)行非打印相關(guān)的作業(yè)。 [0036]如上所示,打印設(shè)備20還可包括復(fù)印機(jī)、傳真機(jī)和掃描儀功能。在一些實(shí)施例中, 打印設(shè)備20可使用掃描儀功能以利于復(fù)印機(jī)和/或傳真機(jī)功能。例如,打印設(shè)備20可將物理 文檔掃描為電子格式,然后打印所生成的電子文檔以提供復(fù)印功能和/或經(jīng)由電話(huà)接口傳 送所生成的電子文檔以提供傳真機(jī)功能。
[0037]為了支持其各種功能,打印設(shè)備20可包括文檔進(jìn)紙器/輸出托盤(pán)22、供紙盒24、用 戶(hù)接口 26、掃描元件28和機(jī)殼30。應(yīng)理解的是,打印設(shè)備可采用大量不同的形式。因此,打印 設(shè)備20可包括比圖1所描繪的更多或更少的組件和/或以與圖1所描繪的不同的形式布置的 組件。
[0038]文檔進(jìn)紙器/輸出托盤(pán)22可保持待掃描、復(fù)印或傳真的物理文檔(例如,一疊包括 一張或多張紙的紙)。文檔進(jìn)紙器/輸出托盤(pán)22可允許打印設(shè)備20自動(dòng)進(jìn)給多個(gè)物理文檔以 通過(guò)打印設(shè)備20進(jìn)行打印而無(wú)需人工干預(yù)。文檔進(jìn)紙器/輸出托盤(pán)22還可包括一個(gè)或多個(gè) 分離的輸出托盤(pán)以用于保持已由打印設(shè)備20處理過(guò)的物理文檔。這些物理文檔可包括已由 打印設(shè)備20掃描、復(fù)印或傳真過(guò)的物理文檔以及已由打印設(shè)備20的例如傳真和/或復(fù)印功 能生成的物理文檔。
[0039]供紙盒24可包括用于各種類(lèi)型的物理介質(zhì)的托盤(pán)和/或進(jìn)紙?jiān)@?,供紙?4 可包括用于8V2x 11英寸紙、A4紙、信箋紙、信封等等的分離的托盤(pán)。對(duì)于打印設(shè)備20的任意 涉及生成物理介質(zhì)(例如,打印、復(fù)印和/或接收傳真)的功能,供紙盒24可供應(yīng)該物理介質(zhì)。 [0040]用戶(hù)接口 26可利于打印設(shè)備20與人類(lèi)用戶(hù)或非人類(lèi)用戶(hù)的交互,比如接收來(lái)自用 戶(hù)的輸入以及向用戶(hù)提供輸出。由此,用戶(hù)接口 26可包括輸入組件,比如小鍵盤(pán)、鍵盤(pán)、觸摸 感應(yīng)面板或存在感應(yīng)面板、操縱桿、麥克風(fēng)、靜物照相機(jī)和/或攝像機(jī)。用戶(hù)接口 26還可包括 一個(gè)或多個(gè)輸出組件,比如顯示屏(其例如可與存在感應(yīng)面板組合)、陰極射線(xiàn)管(CRT)、液 晶顯示器(IXD)、基于發(fā)光二極管(LED)的顯示器、使用數(shù)字光處理(DLP?)技術(shù)的顯示器、 燈泡和/或一個(gè)或多個(gè)現(xiàn)在已知或以后開(kāi)發(fā)的其他類(lèi)似設(shè)備。用戶(hù)接口 26還可被配置為能 夠通過(guò)揚(yáng)聲器、揚(yáng)聲器插孔、音頻輸出端口、音頻輸出設(shè)備、耳機(jī)和/或現(xiàn)在已知或未來(lái)將開(kāi) 發(fā)的其他類(lèi)似設(shè)備生成可聽(tīng)輸出。
[0041]掃描元件28可為玻璃面板,可移動(dòng)的光源在其下方操作以?huà)呙璺胖迷诓A姘屙?部的物理介質(zhì)??商鎿Q地,玻璃面板下方的數(shù)字相機(jī)可通過(guò)拍攝物理介質(zhì)的圖片來(lái)"掃描" 放置在玻璃面板頂部的該物理介質(zhì)。已掃描的物理介質(zhì)的圖像可存儲(chǔ)在與打印設(shè)備20相關(guān) 聯(lián)的數(shù)據(jù)儲(chǔ)存器中。
[0042]機(jī)殼30可包括物理外殼,物理外殼包含打印設(shè)備20的各種組件和或與其互連,這 些組件比如為文檔進(jìn)紙/輸出托盤(pán)22、供紙盒24、用戶(hù)接口 26和掃描元件28。此外,機(jī)殼30可 容納圖1未示出的其他組件。例如,機(jī)殼30可包含一個(gè)或多個(gè)調(diào)色劑盒、液體噴墨、帶、輥和/ 或電源。而且,機(jī)殼30可包括通信接口,比如有線(xiàn)和/或無(wú)線(xiàn)網(wǎng)絡(luò)接口、電話(huà)接口(例如,RJ45 插座)、USB接口、藍(lán)牙馨接口、讀卡器端口等。
[0043]此外,由于打印設(shè)備20可基于通用的和/或?qū)iT(mén)設(shè)計(jì)的計(jì)算設(shè)備組件,機(jī)殼30還可 容納這些組件中的一些或全部。例如,打印設(shè)備20可包括處理器和數(shù)據(jù)儲(chǔ)存器(未明確示 出)。通常,處理器可包括一個(gè)或多個(gè)中央處理單元(CPU),比如一個(gè)或多個(gè)通用處理器和/ 或一個(gè)或多個(gè)專(zhuān)用處理器(例如,專(zhuān)用集成電路(ASIC)或數(shù)字信號(hào)處理器(DSP)等)。數(shù)據(jù)儲(chǔ) 存器可包括易失性和/或非易失性數(shù)據(jù)儲(chǔ)存器,并且可整體或部分地與處理器集成。數(shù)據(jù)儲(chǔ) 存器可存儲(chǔ)可由處理器執(zhí)行的程序指令以及由這些指令操縱以執(zhí)行在此描述的各種方法、 過(guò)程或功能的數(shù)據(jù)??商鎿Q地,這些方法、過(guò)程或功能可由硬件、固件、軟件和/或硬件、固件 和軟件的任意組合來(lái)定義。因此,數(shù)據(jù)儲(chǔ)存器可包括有形非暫態(tài)計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ) 程序指令,當(dāng)由一個(gè)或多個(gè)處理器運(yùn)行時(shí)、這些程序指令引起打印設(shè)備20執(zhí)行在本說(shuō)明書(shū) 或隨附附圖中公開(kāi)的任意方法、過(guò)程或功能。
[0044] 而且,打印設(shè)備20的組件還可包括用于壓縮/編碼和/或解壓/解碼圖像數(shù)據(jù)的硬 件和/或軟件組件。
[0045] 3.示例編碼器和解碼器
[0046] 圖3和圖6描繪了可包含在打印設(shè)備20中的計(jì)算設(shè)備組件(例如,計(jì)算設(shè)備的功能 元件)的示例實(shí)施例。首先參照?qǐng)D3,其例示了示例圖像數(shù)據(jù)編碼器40。編碼器40被配置為接 收?qǐng)D像數(shù)據(jù)42。在所例示的示例中,圖像數(shù)據(jù)被劃分為圖像數(shù)據(jù)塊(例如,8x8像素塊),并且 圖像數(shù)據(jù)塊被提供給編碼器40的空間頻率轉(zhuǎn)換器44。空間頻率轉(zhuǎn)換器執(zhí)行空間頻率轉(zhuǎn)換, 比如通過(guò)對(duì)圖像數(shù)據(jù)執(zhí)行離散余弦變換(DCT)。對(duì)圖像數(shù)據(jù)執(zhí)行空間頻率轉(zhuǎn)換,生成代表圖 像數(shù)據(jù)塊的空間頻率轉(zhuǎn)換結(jié)果的一個(gè)或多個(gè)頻率系數(shù)的集合。在8x8像素塊的示例中,空間 頻率轉(zhuǎn)換器44被配置為在單個(gè)時(shí)鐘周期中生成1個(gè)和64個(gè)之間的頻率系數(shù)。參照?qǐng)D4,在一 個(gè)示例中,生成的這些頻率系數(shù)S uv可被存儲(chǔ)在存儲(chǔ)組件60中。在另一示例中,生成的1至64 個(gè)頻率系數(shù)Suv的集合不需要單獨(dú)存儲(chǔ),而是可在單次操作(例如,單個(gè)時(shí)鐘周期)中由量化 器和數(shù)據(jù)序列器操作。
[0047]例如,之后,1至64個(gè)頻率系數(shù)的集合可立即由量化器46操作。量化器46生成量化 數(shù)據(jù),比如一個(gè)或多個(gè)量化的頻率系數(shù)的集合。通常,量化是在已通過(guò)空間頻率轉(zhuǎn)換操作將 圖像數(shù)據(jù)變換到頻域之后、用于減少或消除高頻成分的過(guò)程。量化器46使用包括量化因子 的量化表對(duì)頻率系數(shù)進(jìn)行操作。更具體地,在編碼器40中,量化器將頻率系數(shù)S uv除以對(duì)應(yīng)的 量化因子以生成量化的頻率系數(shù)的集合。在圖4例示的示例中,量化因子Quv可被存儲(chǔ)在存儲(chǔ) 組件62中或者可作為量化器的輸入,其中每時(shí)鐘周期可獲得1或多達(dá)64個(gè)量化因子Q uv。量化 器46還可對(duì)除法操作的結(jié)果進(jìn)行舍入以消除無(wú)關(guān)緊要的高頻成分。
[0048]在本示例中,之后,由量化器46生成的量化的頻率系數(shù)Squv的集合可在單次操作或 單個(gè)時(shí)鐘周期中被立即提供給數(shù)據(jù)序列器48。數(shù)據(jù)序列器48被配置為以預(yù)定順序排列量化 的頻率系數(shù)的集合。一種此類(lèi)順序是Z字形順序,如圖5所示。圖4還例示了塊64,其代表執(zhí)行 Z字形排序操作的硬件和/或軟件組件。
[0049]所生成的以預(yù)定順序排列的量化的頻率系數(shù)Squv的集合可被存儲(chǔ)在存儲(chǔ)組件66 中。在另一示例中,所生成的1至64個(gè)量化的頻率系數(shù)Squv的集合不需要單獨(dú)存儲(chǔ),而是可在 單次操作(例如,單個(gè)時(shí)鐘周期)中通過(guò)數(shù)據(jù)編碼器50操作。數(shù)據(jù)編碼器50對(duì)所提取的量化 的頻率系數(shù)Sq uv執(zhí)行熵或霍夫曼編碼,從而提供編碼數(shù)據(jù)52以進(jìn)行存儲(chǔ)、傳送或其他處理。
[0050] 現(xiàn)在參照?qǐng)D6和圖7,其例示了示例圖像數(shù)據(jù)解碼器70。解碼器70被配置為接收編 碼圖像數(shù)據(jù)52(比如圖3中的編碼數(shù)據(jù))。在例示的示例中,編碼數(shù)據(jù)立即被提供給數(shù)據(jù)解碼 器72。數(shù)據(jù)解碼器72執(zhí)行數(shù)據(jù)編碼器50的反向功能,例如,反向熵或霍夫曼解碼,從而生成 量化的頻率系數(shù)Sq uv。在8x8像素塊的示例中,數(shù)據(jù)解碼器72被配置為在單個(gè)時(shí)鐘周期中生 成1個(gè)和64個(gè)之間的量化的頻率系數(shù)Sq uv。系數(shù)Squv的數(shù)量可部分地取決于所接收的編碼圖 像數(shù)據(jù)。在圖7的一個(gè)示例中,所生成的量化的頻率系數(shù)Sq uv可被存儲(chǔ)在存儲(chǔ)組件90中。在另 一示例中,所生成的1至64個(gè)量化的頻率系數(shù)Squv的集合不需要單獨(dú)存儲(chǔ),而是可在單次操 作(例如,單個(gè)時(shí)鐘周期)中由數(shù)據(jù)反向序列器和反量化器操作,下文中將更詳細(xì)地對(duì)其進(jìn) 行描述。
[0051] 在本示例中,1至64個(gè)量化的頻率系數(shù)Squv的集合可以以通過(guò)圖3的數(shù)據(jù)序列器48 的操作而生成的預(yù)定順序進(jìn)行排列。相應(yīng)地,量化的頻率系數(shù)Sq uv可被提供給數(shù)據(jù)反向序列 器74,其以預(yù)定順序的反向順序排列量化的頻率系數(shù)Squv。參照?qǐng)D7,在一個(gè)示例中,所生成 的重新排列的量化的頻率系數(shù)Sq uv可被存儲(chǔ)在存儲(chǔ)組件92中。
[0052]在另一示例中,所生成的重新排列的量化的頻率系數(shù)Squv不需要單獨(dú)存儲(chǔ),并且在 數(shù)據(jù)反向序列器74之后、量化的頻率系數(shù)Squv被立即提供給反量化器76,反量化器76對(duì)量化 的頻率系數(shù)Sq uv進(jìn)行反量化。在一個(gè)示例中,反量化器76使用與上文中關(guān)于圖3的量化器46 討論過(guò)的相同的量化表和量化因子。然而,反量化器76將量化的頻率系數(shù)Squv與對(duì)應(yīng)的量化 因子Quv相乘,并且執(zhí)行與由量化器46執(zhí)行的舍入操作反向的操作來(lái)提取頻率系數(shù)Suv,頻率 系數(shù)S uv可被存儲(chǔ)在存儲(chǔ)組件94中或者被立即提供給反向空間頻率轉(zhuǎn)換器78。反向空間頻率 轉(zhuǎn)換器78執(zhí)行由圖3中轉(zhuǎn)換器44執(zhí)行的空間頻率轉(zhuǎn)換的反向操作,以提取原始圖像數(shù)據(jù)42 進(jìn)行顯示、打印或其他處理。
[0053] 4.示例解碼器系統(tǒng)
[0054] 現(xiàn)在參照?qǐng)D8,其例示了示例解碼器系統(tǒng)100。在圖8中,系統(tǒng)100包括緩沖器組件 102,緩沖器組件102被配置為接收包括可變長(zhǎng)度碼字串的輸入數(shù)據(jù)流104,該可變長(zhǎng)度碼字 串根據(jù)熵編碼查找表對(duì)相應(yīng)的像素?cái)?shù)據(jù)串(例如,DCT系數(shù))進(jìn)行編碼。在一個(gè)示例中,第一 熵編碼查找表是包括所有160個(gè)條目的JPEG霍夫曼查找表。由緩沖器102提供數(shù)據(jù)流104(或 其連續(xù)部分),以通過(guò)使用第一編碼查找表(例如,與用于對(duì)像素?cái)?shù)據(jù)進(jìn)行編碼的查找表相 同的、"完整的"熵編碼查找表)的塊1〇6(例如,處理器或處理邏輯)和使用第二編碼查找表 的塊1〇8(例如,與塊106相同或不同的處理器或處理邏輯)進(jìn)行處理。
[0055] 在本示例中,第二編碼查找表是第一熵編碼查找表的修改版本并且包括多個(gè)條 目,每個(gè)條目包括第一碼字和第二碼字的碼字對(duì)。例如,每個(gè)碼字對(duì)中的第一碼字選自第一 編碼查找表中對(duì)應(yīng)于"零行程"的一個(gè)或多個(gè)條目,而每個(gè)碼字對(duì)中的第二碼字選自第一編 碼查找表中對(duì)應(yīng)于"零行程"或"一行程"的一個(gè)或多個(gè)條目。參照J(rèn)PEG霍夫曼查找表,有10 個(gè)碼字對(duì)應(yīng)于"零行程",并且有10個(gè)碼字對(duì)應(yīng)于"一行程"。在此示例中,第二編碼查找表包 括其后跟隨著"零行程"碼字或"一行程"碼字的"零行程"碼字的每種組合?;贘PEG霍夫曼 查找表,這種修改的第二編碼查找表將包括200個(gè)條目,通常如下所示:
[0056](其后跟隨著"零行程"碼字的"零行程"碼字)
[0057] 〇/1_〇/1,〇/1_〇/2,…,0/1_0/Α,
[0058] 0/2_0/1,0/2_0/2,…,0/2_0/A,
[0059] 0/3_0/1,0/3_0/2,…,0/3_0/A,
[0060] ···
[0061 ] 0/Α_0/1,0/A_0/2,…,0/Α_0/Α,
[0062] (其后跟隨著"一行程"碼字的"零行程"碼字)
[0063] 〇/1_1/1 ,〇/1_1/2, ··· ,〇/1_1/Α,
[0064] 〇/2_1/1,0/2_1/2,…,0/2_1/Α,
[0065] 〇/3_1/1,0/3_1/2,…,0/3_1/Α,
[0066] ···
[0067] 〇/A_l /1,0/Α_1 /2, ·' ·, 〇/A_l /A,
[0068] 第一和第二編碼查找表塊106、108并行地處理數(shù)據(jù)流104以識(shí)別所接收的數(shù)據(jù)流 中的碼字與相應(yīng)的查找表中的條目之間的匹配關(guān)系。塊106以一次一個(gè)碼字的方式處理數(shù) 據(jù)流104,以尋找第一編碼查找表中的匹配碼字條目并且將匹配碼字作為輸出110提供給選 擇器組件112。選擇器組件112可以是基于優(yōu)先權(quán)的多路器或者其他硬件和/或軟件組件,其 被配置為從多個(gè)輸入選擇性地提供輸出。
[0069]塊108使用第二編碼查找表來(lái)處理數(shù)據(jù)流104,以確定數(shù)據(jù)流是否包括對(duì)應(yīng)于其后 跟隨著"零行程"或"一行程"的"零行程"的連續(xù)碼字。如果塊108確定在數(shù)據(jù)流中的連續(xù)碼 字與第二編碼查找表中的碼字條目之間存在匹配,則塊108將匹配的碼字對(duì)作為輸出114提 供給選擇器組件112。如果塊108確定存在匹配,則塊108提供優(yōu)先權(quán)信號(hào),其指示選擇器組 件112基于輸出114選擇性地提供輸出116。如果塊108確定不存在匹配,則塊108不提供優(yōu)先 權(quán)信號(hào)(或者提供不同的信號(hào)),其指示選擇器組件112基于輸出110選擇性地提供輸出116。
[0070] 在圖8的示例中,封裝邏輯塊118從選擇器組件112接收輸出116,并且被配置為將 來(lái)自塊106的可變長(zhǎng)度碼字輸出110或者來(lái)自塊108的可變長(zhǎng)度碼字對(duì)輸出114封裝在像素 隊(duì)列120中,該像素隊(duì)列120可能是固定長(zhǎng)度隊(duì)列。圖8的系統(tǒng)100還包括一個(gè)或多個(gè)解碼階 段122,其被配置為執(zhí)行比如反向數(shù)據(jù)排序、反量化、反向空間頻率轉(zhuǎn)換等等的功能。進(jìn)一步 地,在圖8的示例中,輸出設(shè)備124連接至解碼階段122。在本示例中,輸出設(shè)備124可為打印 引擎,打印引擎被配置為將解碼階段122處理過(guò)的像素隊(duì)列120的內(nèi)容轉(zhuǎn)換為用于打印圖像 的對(duì)應(yīng)部分的控制信號(hào)。輸出設(shè)備124還可包括一些其他顯示設(shè)備,比如顯示監(jiān)視器,其被 配置為將像素隊(duì)列120的內(nèi)容轉(zhuǎn)換為用于顯示圖像的對(duì)應(yīng)部分的控制信號(hào)。
[0071] 在系統(tǒng)100中,塊106、108還可被配置為提供連接至緩沖器102的反饋輸出126,該 緩沖器102還可起到基于硬件和/或軟件的選擇器塊的功能。更具體地,當(dāng)塊106、108識(shí)別數(shù) 據(jù)流104中的可變長(zhǎng)度碼字時(shí),塊106、108可生成反饋輸出126以將碼字的長(zhǎng)度告知選擇器 塊102。然后,選擇器塊102可移位一移動(dòng)窗口的位,以將數(shù)據(jù)流的下一個(gè)連續(xù)部分提供給塊 106、108進(jìn)行處理。
[0072] 5.示例操作
[0073]除了上述說(shuō)明之外,圖9例示了示例實(shí)施例的流程圖。此流程圖例示的各步驟可通 過(guò)一個(gè)或多個(gè)計(jì)算設(shè)備、系統(tǒng)或其組件執(zhí)行,比如打印設(shè)備20、解碼器72和系統(tǒng)100。進(jìn)一步 地,如果合適的話(huà),每個(gè)單獨(dú)步驟的各個(gè)方面可分布在多個(gè)計(jì)算設(shè)備之間。
[0074] 圖9例示了可使用例如圖6和圖8中組件的示例編碼處理150。在處理150的塊152 處,例如,系統(tǒng)100接收包括碼字的數(shù)據(jù)流,該碼字根據(jù)第一熵編碼查找表對(duì)相應(yīng)的像素?cái)?shù) 據(jù)串進(jìn)行編碼。例如,第一熵編碼查找表可為在此描述過(guò)的JPEG霍夫曼查找表。
[0075] 在塊154處,系統(tǒng)100處理數(shù)據(jù)流以確定第一碼字和第二碼字與第二熵編碼查找表 中的碼字條目之間是否存在匹配。在本示例中,第一碼字和第二碼字是數(shù)據(jù)流中的連續(xù)碼 字,并且第二熵編碼查找表可以是圖8中第二編碼查找表塊108所使用的修改的編碼查找 表。在塊156處,系統(tǒng)100處理數(shù)據(jù)流以識(shí)別第一碼字與第一熵編碼查找表中的碼字條目之 間的匹配。在一個(gè)示例中,塊156處的該處理與步驟154中的處理并行執(zhí)行。
[0076] 在塊158處,如果第一碼字和第二碼字與第二熵編碼查找表中的碼字條目之間存 在匹配,則系統(tǒng)100使用第二熵編碼查找表解碼第一碼字和第二碼字或?qū)⑵渥鳛檩敵鎏峁?在塊160處,如果第一碼字和第二碼字與第二熵編碼查找表中的碼字條目之間不存在匹配, 則系統(tǒng)100使用第一熵編碼查找表解碼第一碼字或?qū)⑵渥鳛檩敵鎏峁?br>[0077]在圖9的示例中,在塊162處,系統(tǒng)100轉(zhuǎn)而處理下一碼字集合。根據(jù)一個(gè)實(shí)施例,如 果系統(tǒng)100在塊154處沒(méi)有識(shí)別到匹配,則該系統(tǒng)100在塊162處轉(zhuǎn)而處理下一個(gè)碼字,并且 控制過(guò)程回到塊154以繼續(xù)處理接收到的數(shù)據(jù)流。相應(yīng)地,在塊154的下一次迭代中,系統(tǒng) 100確定第二碼字和下一個(gè)連續(xù)(第三)碼字與第二熵編碼查找表中的碼字條目之間是否存 在匹配。進(jìn)一步地,在塊156的下一次迭代中,系統(tǒng)100處理數(shù)據(jù)流以識(shí)別第二碼字與第一熵 編碼查找表中碼字條目之間的匹配。此后,在塊158處,如果第二碼字和第三碼字與第二熵 編碼查找表中的碼字條目之間存在匹配,則系統(tǒng)100使用第二熵編碼查找表解碼該第二碼 字和第三碼字或者將其作為輸出提供。在塊160處,如果第二碼字和第三碼字與第二熵編碼 查找表中的碼字條目之間不存在匹配,則系統(tǒng)100使用第一熵編碼查找表解碼第二碼字或 者將其作為輸出提供。
[0078] 再次參照塊162,根據(jù)本實(shí)施例,如果系統(tǒng)100在塊154處沒(méi)有識(shí)別到匹配,則在塊 162處該系統(tǒng)100將其處理移位兩個(gè)碼字,并且將控制返回至塊154以繼續(xù)處理接收到的數(shù) 據(jù)流。相應(yīng)地,在塊154的下一次迭代中,系統(tǒng)100確定在下一個(gè)連續(xù)碼字對(duì)(例如,第三和第 四碼字)與第二熵編碼查找表中的碼字條目之間是否存在匹配。進(jìn)一步地,在塊156的下一 次迭代中,系統(tǒng)100處理數(shù)據(jù)流以識(shí)別第三碼字與第一熵編碼查找表中的碼字條目之間的 匹配。此后,在塊158處,如果第三碼字和第四碼字與第二熵編碼查找表中的碼字條目之間 存在匹配,則系統(tǒng)100使用第二熵編碼查找表解碼第三碼字和第四碼字或者將其作為輸出 提供。在塊160處,如果第三碼字和第四碼字與第二熵編碼查找表中的碼字條目之間不存在 匹配,則系統(tǒng)100使用第一熵編碼查找表解碼第三碼字或者將其作為輸出提供。
[0079]通常,塊162中的處理提供移動(dòng)窗口,隨著碼字被解碼并且提供給輸出,該移動(dòng)窗 口按順序遍歷數(shù)據(jù)流。
[00S0] 6.結(jié)論
[0081] 本發(fā)明并不按照本申請(qǐng)中所述的特定實(shí)施例被限定,這些特定實(shí)施例旨在作為各 方面的例示??梢赃M(jìn)行許多修改和變形而不會(huì)背離本發(fā)明的精神和范圍,這一點(diǎn)對(duì)本領(lǐng)域 技術(shù)人員來(lái)說(shuō)是顯而易見(jiàn)的。除了本文所列舉的之外,本發(fā)明范圍內(nèi)的功能上等效的方法 和裝置根據(jù)前面的描述是顯而易見(jiàn)的。這種修改和變形旨在落到所附權(quán)利要求的范圍內(nèi)。
[0082] 關(guān)于附圖中和這里所討論的梯形圖、場(chǎng)景和流程圖中的全部或任意,每個(gè)塊和/或 通信可表示根據(jù)示例實(shí)施例的信息處理和/或信息發(fā)送??商娲膶?shí)施例可被包括在這種 示例實(shí)施例的范圍內(nèi)。進(jìn)一步地,更多或更少的塊和/或功能可與這里所討論任何的梯形 圖、場(chǎng)景和流程圖一起使用,并且這些梯形圖、場(chǎng)景和流程圖可以部分或整體地相互結(jié)合。
[0083] 表示信息處理的步驟或塊可對(duì)應(yīng)于電路,該電路可被配置為執(zhí)行這里所述的方法 或技術(shù)的特定邏輯功能??商娲鼗蛘吡硗猓硎拘畔⑻幚淼牟襟E或塊可對(duì)應(yīng)于程序代碼 (包括相關(guān)數(shù)據(jù))的模塊、段或部分。程序代碼可包括一個(gè)或多個(gè)指令,該一個(gè)或多個(gè)指令可 由處理器執(zhí)行以實(shí)施上述方法或技術(shù)中的特定邏輯功能或行為。程序代碼和/或相關(guān)數(shù)據(jù) 可被存儲(chǔ)在任何類(lèi)型的計(jì)算機(jī)可讀介質(zhì)上,諸如存儲(chǔ)設(shè)備,包括磁盤(pán)驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器或 其他存儲(chǔ)介質(zhì)。
[0084] 計(jì)算機(jī)可讀介質(zhì)還可包括非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),諸如短期存儲(chǔ)數(shù)據(jù)的計(jì)算機(jī) 可讀介質(zhì),像寄存器存儲(chǔ)器、處理器緩存和/或隨機(jī)存取存儲(chǔ)器(RAM)。計(jì)算機(jī)可讀介質(zhì)還可 包括較長(zhǎng)期存儲(chǔ)程序代碼和/或數(shù)據(jù)的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),諸如二次或持續(xù)長(zhǎng)期儲(chǔ) 存器,例如像只讀存儲(chǔ)器(R0M)、光盤(pán)或磁盤(pán)、和/或只讀光盤(pán)存儲(chǔ)器(CD-ROM)。計(jì)算機(jī)可讀 介質(zhì)還可以是任何其他易失性或非易失性存儲(chǔ)系統(tǒng)。計(jì)算機(jī)可讀介質(zhì)可被認(rèn)為是例如計(jì)算 機(jī)可讀存儲(chǔ)介質(zhì)和/或有形存儲(chǔ)設(shè)備。
[0085] 盡管這里已經(jīng)公開(kāi)多個(gè)方面和多種實(shí)施例,其他方面和其他實(shí)施例對(duì)本領(lǐng)域技術(shù) 人員來(lái)說(shuō)也是顯而易見(jiàn)的。這里所公開(kāi)的多個(gè)方面和多種實(shí)施例的目的是例示性的而
[0086] 并不意欲進(jìn)行限制,真正的范圍和精神由所附的權(quán)利要求指示。
[0087] 附錄
[0088] 表K.5-亮度AC系數(shù)表(4頁(yè)中的第1頁(yè))
[0089]
[0090] 表Κ· 5(4頁(yè)中的第2頁(yè))
[0091]
[0092] 表Κ·5(4頁(yè)中的第3頁(yè))
[0093]
[0094] 表Κ· 5(4頁(yè)中的第4頁(yè))
[0095]
【主權(quán)項(xiàng)】
1. 一種計(jì)算機(jī)實(shí)施的方法,包括: 由計(jì)算設(shè)備接收數(shù)據(jù)流,所述數(shù)據(jù)流包括碼字串,所述碼字串根據(jù)第一熵編碼查找表 編碼相應(yīng)的像素?cái)?shù)據(jù)串; 由所述計(jì)算設(shè)備處理所述數(shù)據(jù)流以確定第一碼字和第二碼字與第二熵編碼查找表中 的碼字條目之間是否存在匹配,其中所述第一碼字和所述第二碼字是所述數(shù)據(jù)流中的連續(xù) 碼字,并且其中所述第二熵編碼查找表不同于所述第一熵編碼查找表; 如果所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間存在 匹配,則由所述計(jì)算設(shè)備使用所述第二熵編碼查找表解碼所述第一碼字和所述第二碼字; 以及 如果所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間不存 在匹配,則由所述計(jì)算設(shè)備使用所述第一熵編碼查找表解碼所述第一碼字。2. 如權(quán)利要求1所述的方法,還包括:由所述計(jì)算設(shè)備處理所述數(shù)據(jù)流以識(shí)別所述第一 碼字與所述第一熵編碼查找表中的碼字條目之間的匹配,其中,所述計(jì)算設(shè)備處理所述數(shù) 據(jù)流以識(shí)別所述第一碼字與所述第一熵編碼查找表中的碼字條目之間的匹配以及處理所 述數(shù)據(jù)流以確定所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之 間是否存在匹配是并行執(zhí)行的。3. 如權(quán)利要求1所述的方法,其中所述第二熵編碼查找表至少包括多個(gè)條目,每個(gè)條目 包括第一碼字和第二碼字的碼字對(duì),其中每個(gè)碼字對(duì)中的所述第一碼字選自所述第一熵編 碼查找表中對(duì)應(yīng)于零行程的一個(gè)或多個(gè)條目,并且每個(gè)碼字對(duì)中的所述第二碼字選自所述 第一熵編碼查找表中對(duì)應(yīng)于零行程或一行程的一個(gè)或多個(gè)條目。4. 如權(quán)利要求3所述的方法,其中所述第二熵編碼查找表包括所述第一碼字和所述第 二碼字的碼字對(duì)的每個(gè)唯一組合。5. 如權(quán)利要求1所述的方法,還包括: 如果所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間存在 匹配,則由所述計(jì)算設(shè)備處理所述數(shù)據(jù)流以確定第三碼字和第四碼字與所述第二熵編碼查 找表中的碼字條目之間是否存在匹配,其中所述第一碼字、所述第二碼字、所述第三碼字和 所述第四碼字是所述數(shù)據(jù)流中的連續(xù)碼字。6. 如權(quán)利要求5所述的方法,還包括: 如果(i)所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間存 在匹配,并且(ii)所述第三碼字和所述第四碼字與所述第二熵編碼查找表中的碼字條目之 間存在匹配,則由所述計(jì)算設(shè)備使用所述第二熵編碼查找表解碼所述第三碼字和所述第四 碼字;以及 如果(i)所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間存 在匹配,并且(ii)所述第三碼字和所述第四碼字與所述第二熵編碼查找表中的碼字條目之 間不存在匹配,則由所述計(jì)算設(shè)備使用所述第一熵編碼查找表解碼所述第三碼字。7. 如權(quán)利要求1所述的方法,還包括: 如果所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間不存 在匹配,則由所述計(jì)算設(shè)備處理所述數(shù)據(jù)流以確定第三碼字和所述第二碼字與所述第二熵 編碼查找表中的碼字條目之間是否存在匹配,其中所述第二碼字和所述第三碼字是所述數(shù) 據(jù)流中的連續(xù)碼字。8. 如權(quán)利要求7所述的方法,還包括: 如果(i)所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間不 存在匹配,并且(ii)所述第二碼字和所述第三碼字與所述第二熵編碼查找表中的碼字條目 之間存在匹配,則由所述計(jì)算設(shè)備使用所述第二熵編碼查找表解碼所述第二碼字和所述第 三碼字;以及 如果(i)所述第一碼字和所述第二碼字與所述第二熵編碼查找表中的碼字條目之間不 存在匹配,并且(ii)所述第二碼字和所述第三碼字與所述第二熵編碼查找表中的碼字條目 之間不存在匹配,則由所述計(jì)算設(shè)備使用所述第一熵編碼查找表解碼所述第二碼字。9. 如權(quán)利要求1所述的方法,其中,使用所述第二熵編碼查找表解碼所述第一碼字和所 述第二碼字確保了平均每時(shí)鐘周期兩個(gè)像素的吞吐量。10. 如權(quán)利要求1所述的方法,其中,所述第一熵編碼查找表是霍夫曼熵編碼查找表。11. 如權(quán)利要求1所述的方法,還包括:基于所述第一碼字的解碼或者基于所述第一碼 字和所述第二碼字的解碼,向打印引擎和顯示監(jiān)視器中的一個(gè)或多個(gè)提供輸出數(shù)據(jù)流。12. 如權(quán)利要求11所述的方法,還包括:在向所述打印引擎和所述顯示監(jiān)視器中的一個(gè) 或多個(gè)提供所述輸出數(shù)據(jù)流之前,對(duì)所述輸出數(shù)據(jù)流進(jìn)行反量化并且對(duì)所述輸出數(shù)據(jù)流執(zhí) 行反向空間頻率轉(zhuǎn)換。13. -種用于解碼數(shù)據(jù)流的系統(tǒng),包括: 輸入緩沖器,用于接收所述數(shù)據(jù)流,其中所述數(shù)據(jù)流包括根據(jù)熵編碼查找表而編碼為 碼字串的數(shù)據(jù);以及 處理器,連接至所述輸入緩沖器并且被配置為: 確定所述數(shù)據(jù)流中的連續(xù)碼字是否對(duì)應(yīng)于其后跟隨著零行程或一行程的零行程; 如果所述連續(xù)碼字對(duì)應(yīng)于其后跟隨著零行程或一行程的零行程,則至少部分地基于使 用修改的熵編碼查找表解碼所述連續(xù)碼字來(lái)提供輸出;并且 如果所述連續(xù)碼字不對(duì)應(yīng)于其后跟隨著零行程或一行程的零行程,則至少部分地基于 使用所述熵編碼查找表解碼所述連續(xù)碼字中的第一碼字來(lái)提供所述輸出。14. 如權(quán)利要求13所述的系統(tǒng),其中,所述修改的熵編碼查找表至少包括多個(gè)條目,每 個(gè)條目包括第一碼字和第二碼字的碼字對(duì),其中每個(gè)碼字對(duì)中的所述第一碼字選自所述熵 編碼查找表中對(duì)應(yīng)于零行程的一個(gè)或多個(gè)條目,并且每個(gè)碼字對(duì)中的所述第二碼字選自所 述熵編碼查找表中對(duì)應(yīng)于零行程或一行程的一個(gè)或多個(gè)條目。15. 如權(quán)利要求13所述的系統(tǒng),其中,所述輸入緩沖器和所述處理器被包含在打印設(shè)備 中。
【文檔編號(hào)】H04N1/40GK105991895SQ201610112402
【公開(kāi)日】2016年10月5日
【申請(qǐng)日】2016年2月29日
【發(fā)明人】蘇東佩, 肯尼斯·A·施密特, 西恩-?!と睢ざ? 李升
【申請(qǐng)人】京瓷辦公信息系統(tǒng)株式會(huì)社