專利名稱:掃描儀裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明公開一種掃描儀裝置,該裝置利用表示掃描目標對象的原始數(shù)據(jù)產(chǎn)生文檔數(shù)據(jù)。
背景技術(shù):
例如日本專利申請No. 2008-141692公開了一種掃描儀裝置,該裝置利用掃描的紙上信息產(chǎn)生PDF文檔數(shù)據(jù)。這種掃描儀裝置根據(jù)PDF文檔數(shù)據(jù)產(chǎn)生散列值,然后根據(jù)散列值產(chǎn)生時間戳記號。此外,該掃描儀裝置將時間戳記號嵌入文檔數(shù)據(jù),從而產(chǎn)生帶時間戳的文檔數(shù)據(jù)。
發(fā)明內(nèi)容
上述現(xiàn)有技術(shù)根本沒有公開產(chǎn)生散列值的詳細方法。本申請?zhí)峁┤缦乱环N技術(shù), 即使當掃描儀裝置的內(nèi)部存儲裝置的存儲器容量較小時,其也能快速計算摘要值(在上述示例中為散列值)。本申請中公開的一種技術(shù)是利用外部存儲裝置的掃描儀裝置。該掃描儀裝置可包括內(nèi)部存儲裝置;原始數(shù)據(jù)產(chǎn)生單元,其被配置為產(chǎn)生表示已經(jīng)被掃描的掃描目標對象的一個或多個頁面的原始數(shù)據(jù);以及文檔數(shù)據(jù)產(chǎn)生單元,其被配置為利用一個或多個頁面的原始數(shù)據(jù)計算摘要值,從而利用一個或多個頁面的原始數(shù)據(jù)和摘要值在外部存儲裝置中產(chǎn)生文檔數(shù)據(jù)。文檔數(shù)據(jù)產(chǎn)生單元可包括寫入處理執(zhí)行單元、變化單元、和計算處理執(zhí)行單兀。寫入處理執(zhí)行單元可配置為對于包括在所述一個或多個頁面的原始數(shù)據(jù)中的構(gòu)成一個頁面的原始數(shù)據(jù)的多個部分數(shù)據(jù)的每個部分數(shù)據(jù)執(zhí)行寫入處理,用于將部分數(shù)據(jù)至少寫入外部存儲裝置。(Al)如果內(nèi)部存儲裝置的剩余容量在用于寫入第一類型的目標部分數(shù)據(jù)的寫入處理中充足,則寫入處理執(zhí)行單元可以將第一類型的目標部分數(shù)據(jù)寫入內(nèi)部存儲裝置和外部存儲裝置兩者中,其中,第一類型的目標部分數(shù)據(jù)是寫入處理的目標的部分數(shù)據(jù)。m如果內(nèi)部存儲裝置的剩余容量在用于寫入第一類型的目標部分數(shù)據(jù)的寫入處理中不足,則寫入處理執(zhí)行單元可以將第一類型的目標部分數(shù)據(jù)只寫入外部存儲裝置。變化單元可配置為在完成多個部分數(shù)據(jù)的多個寫入處理之后,改變包括在多個部分數(shù)據(jù)中的特定部分數(shù)據(jù)。對于特定部分數(shù)據(jù)的寫入處理可在對于包括在多個部分數(shù)據(jù)中的另一部分數(shù)據(jù)的寫入處理之前執(zhí)行。計算處理執(zhí)行單元可配置為依次執(zhí)行計算處理,計算處理用于通過依次利用包括已經(jīng)改變的特定部分數(shù)據(jù)的多個部分數(shù)據(jù)的每個部分數(shù)據(jù),來計算摘要值。(Bi)如果第二類型的目標部分數(shù)據(jù)被存儲在內(nèi)部存儲裝置和外部存儲裝置兩者中,則計算處理執(zhí)行單元可以通過利用存儲在內(nèi)部存儲裝置中的第二類型的目標部分數(shù)據(jù)來執(zhí)行計算處理,其中,第二類型的目標部分數(shù)據(jù)是計算處理的目標的部分數(shù)據(jù)。(B》如果第二類型的目標部分數(shù)據(jù)只被存儲在外部存儲裝置中,則計算處理執(zhí)行單元可以通過利用存儲在外部存儲裝置中的第二類型的目標部分數(shù)據(jù)來執(zhí)行計算處理。根據(jù)該技術(shù),因為構(gòu)成一個頁面的原始數(shù)據(jù)的多個部分數(shù)據(jù)被寫入外部存儲裝置,所以掃描儀裝置可利用外部存儲裝置中的多個部分數(shù)據(jù)執(zhí)行計算處理。但是一般而言, 利用外部存儲裝置中的數(shù)據(jù)來執(zhí)行處理所需要的時間長于利用內(nèi)部存儲裝置中的數(shù)據(jù)來執(zhí)行相同處理所需要的時間。因此,在該技術(shù)中,掃描儀裝置將部分數(shù)據(jù)不僅寫入外部存儲裝置中,而且寫入內(nèi)部存儲裝置中,因此可利用內(nèi)部存儲裝置中的部分數(shù)據(jù)來執(zhí)行計算處理。但是在本技術(shù)中,在完成多個部分數(shù)據(jù)的多個寫入處理之后,掃描儀裝置在其他部分數(shù)據(jù)之前改變對其要執(zhí)行寫入處理的特定部分數(shù)據(jù)。因此,掃描儀裝置不能利用多個部分數(shù)據(jù)執(zhí)行計算處理,直到特定部分數(shù)據(jù)被改變,或者,換言之,直到完成多個部分數(shù)據(jù)的多個寫入處理。例如,利用具有極大存儲器容量的內(nèi)部存儲裝置允許內(nèi)部存儲裝置先于計算處理的執(zhí)行,同時保存所有多個部分數(shù)據(jù)。但是當內(nèi)部存儲裝置的存儲器容量較小時, 不能將所有多個部分數(shù)據(jù)寫入內(nèi)部存儲裝置。因此在本技術(shù)中,如果內(nèi)部存儲裝置的剩余容量充足,則掃描儀裝置將部分數(shù)據(jù)寫入外部存儲裝置和內(nèi)部存儲裝置兩者中。同時,如果內(nèi)部存儲裝置的剩余容量不足,則掃描儀裝置將部分數(shù)據(jù)只寫入外部存儲裝置中。換言之, 即使內(nèi)部存儲裝置的存儲器容量較小時,根據(jù)內(nèi)部存儲裝置的剩余容量,掃描儀裝置也能將部分數(shù)據(jù)寫入內(nèi)部存儲裝置。因此,掃描儀裝置可利用內(nèi)部存儲裝置中的部分數(shù)據(jù)執(zhí)行計算處理,因此可快速計算摘要值。即使內(nèi)部存儲裝置的存儲器容量較小時,該技術(shù)也能快速計算摘要值。特定部分數(shù)據(jù)可以是包括一個頁面的原始數(shù)據(jù)的報頭部分的部分數(shù)據(jù)。變化單元可以在完成一個頁面的掃描目標對象的掃描之后,通過將一個頁面的掃描目標對象的尺寸信息寫入包括在特定部分數(shù)據(jù)中的報頭部分中,改變特定部分數(shù)據(jù)。尺寸信息可以與沿著一個頁面的掃描目標對象的掃描方向的尺寸有關(guān)。掃描儀裝置可進一步包括特定處理執(zhí)行單元,其被配置為當要在用于構(gòu)成一個頁面的原始數(shù)據(jù)的多個部分數(shù)據(jù)的多個寫入處理的開始與多個寫入處理的完成之間執(zhí)行特定處理時,將特定數(shù)據(jù)寫入內(nèi)部存儲裝置,從而執(zhí)行與寫入處理不同的特定處理。如果要將特定數(shù)據(jù)寫入內(nèi)部存儲裝置中時,內(nèi)部存儲裝置中的剩余容量不足,則特定處理執(zhí)行單元可以將特定數(shù)據(jù)寫入內(nèi)部存儲裝置中的部分區(qū)域,部分區(qū)域是已經(jīng)寫入一個頁面的原始數(shù)據(jù)的一部分的區(qū)域。文檔數(shù)據(jù)產(chǎn)生單元可進一步包括簽名值產(chǎn)生單元,簽名值產(chǎn)生單元被配置為通過將摘要值加密來產(chǎn)生簽名值。文檔數(shù)據(jù)產(chǎn)生單元可在外部存儲裝置中產(chǎn)生包括一個或多個頁面的原始數(shù)據(jù)和簽名值的文檔數(shù)據(jù)。掃描儀裝置可進一步包括安裝外部存儲裝置的單元。注意,用于實現(xiàn)上述掃描儀裝置的控制方法、計算機程序、以及將計算機程序存儲其中的非暫時性計算機可讀介質(zhì)也具有新穎性和實用性。
圖1示出通信系統(tǒng)的示意性構(gòu)造。圖2示出PDF文件的示意性構(gòu)造。圖3示出PDF文件產(chǎn)生處理的流程圖。圖4示出目標頁的掃描處理的流程圖。圖5示出說明如何改變RAM和USB存儲器中的數(shù)據(jù)的示意圖。圖6示出中間散列值計算處理的流程圖,所述中間散列值計算處理被執(zhí)行直到目標頁。圖7示出詳細說明中間散列值計算處理的示意圖。
具體實施例方式(系統(tǒng)構(gòu)造)下面參照附圖描述實施例。如圖1所示,通信系統(tǒng)2包括PC 6和多功能裝置10, 多功能裝置10是PC 6的外設(shè)。PC 6和多功能裝置10可通過網(wǎng)絡(luò)線纜4而相互通信。(多功能裝置10的構(gòu)造)多功能裝置10能執(zhí)行多個功能,包括打印功能和掃描功能。多功能裝置10包括 操作單元12、顯示單元14、USB接口 16、網(wǎng)絡(luò)接口 18、控制單元20、打印執(zhí)行單元60、和掃描執(zhí)行單元70。每個單元12至20、60和70都連接到總線11。操作單元12由多個鍵構(gòu)成。 用戶可通過操作所述操作單元12,將各種信息輸入多功能裝置10。顯示單元14是用于顯示各種信息的顯示器。USB接口 16安裝有USB存儲器8,USB存儲器8是用戶可便攜的外部存儲器。網(wǎng)絡(luò)線纜4連接到網(wǎng)絡(luò)接口 18??刂茊卧?0包括CPU 22、ROM 24和RAM 26。CPU 22根據(jù)存儲在ROM 24中的程序執(zhí)行各種處理。當CPU 22根據(jù)程序執(zhí)行處理時,實現(xiàn)諸如原始數(shù)據(jù)產(chǎn)生單元30、文檔數(shù)據(jù)產(chǎn)生單元40、和特定處理執(zhí)行單元50的功能。注意,文檔數(shù)據(jù)產(chǎn)生單元40包括寫入處理執(zhí)行單元42、變化單元44、計算處理執(zhí)行單元46、和簽名值產(chǎn)生單元48。RAM沈是CPU 22 能直接訪問的主存儲器,用于存儲通過控制單元20獲得或由控制單元20產(chǎn)生的各種數(shù)據(jù)。 注意,RAM 26的存儲器容量比用于存儲具有最大數(shù)據(jù)尺寸的一個頁面的JPEG(聯(lián)合圖像專家組)數(shù)據(jù)的存儲器容量大?!熬哂凶畲髷?shù)據(jù)尺寸的一個頁面的JPEG數(shù)據(jù)”意思是由掃描執(zhí)行單元70以最大的可能掃描分辨率掃描一個頁面的掃描目標對象而產(chǎn)生的JPEG數(shù)據(jù), 掃描目標對象具有最大可掃描高度和寬度。下面詳細描述掃描目標對象的“高度”和“寬度”。在另一實施例中,RAM沈的存儲器容量可以比用于存儲具有最大數(shù)據(jù)尺寸的一個頁面的JPEG數(shù)據(jù)的存儲器容量小。打印執(zhí)行單元60具有噴墨式、激光式或其他類型的打印機構(gòu)。自PC 6傳輸?shù)拇蛴?shù)據(jù)(下面稱為“打印數(shù)據(jù)”)被網(wǎng)絡(luò)接口 18接收,然后打印執(zhí)行單元60根據(jù)接收的打印數(shù)據(jù)執(zhí)行打印處理。掃描執(zhí)行單元70具有透明板、自動文檔饋送器(ADF)和掃描機構(gòu)。掃描機構(gòu)具有沿著第一方向排列的多個圖像傳感器。每個圖像傳感器可以是CCD圖像傳感器(電荷耦合裝置圖像傳感器)或CIS(接觸圖像傳感器)。掃描機構(gòu)可以在第二方向上移動,第二方向與多個圖像傳感器排列的方向(第一方向)垂直。掃描機構(gòu)通過在第二方向上移動多個圖像傳感器,可以掃描放在透明板上的掃描目標對象(例如原始文檔)。此外,掃描機構(gòu)當處于靜止狀態(tài)時可以掃描通過自動文檔饋送器在第二方向上饋送的原始文檔。下面,將對放在透明板上的掃描目標對象進行的掃描稱為“移動掃描”,將對通過自動文檔饋送器饋送的原始文檔進行的掃描稱為“靜止掃描”。此外,掃描目標對象例如可以是紙介質(zhì)。其可以是一張原始文檔,也可以是多張原始文檔。(PDF (便攜文檔格式)文件的構(gòu)造)多功能裝置10的控制單元20產(chǎn)生表示掃描的掃描目標對象的JPEG數(shù)據(jù),然后利用JPEG數(shù)據(jù)產(chǎn)生散列值,并利用JPEG數(shù)據(jù)和散列值在USB存儲器8中產(chǎn)生PDF文件。如圖2所示,PDF文件100包括開始數(shù)據(jù)100a、最后數(shù)據(jù)IOOb和關(guān)于一個或多個頁面中的每個頁面的各自的PDF數(shù)據(jù)110、120。開始數(shù)據(jù)IOOa包括報頭。最后數(shù)據(jù)IOOb包括尾部; 如下所述的,在圖3所示的S28中產(chǎn)生的簽名值;以及預裝在多功能裝置10中的證書。證書包括證書上的證書信息,以及用于將簽名值解碼的公鑰。證書信息包括指示證書發(fā)行者的信息(證書授權(quán)(CA))、指示證書的發(fā)行目的地(例如多功能裝置10)的信息、以及指示證書的發(fā)行日期的信息。第一頁面的PDF數(shù)據(jù)110包括第一頁面的開始數(shù)據(jù)112、第一頁面的JPEG數(shù)據(jù) 114、以及第一頁面的結(jié)尾數(shù)據(jù)116。開始數(shù)據(jù)112包括指示JPEG數(shù)據(jù)114跟隨在開始數(shù)據(jù) 112之后寫入的字符串。結(jié)尾數(shù)據(jù)116包括第一頁面的JPEG數(shù)據(jù)114的高度信息和寬度信息。注意,“JPEG數(shù)據(jù)114的高度信息”和“JPEG數(shù)據(jù)114的寬度信息”分別對應(yīng)于JPEG 數(shù)據(jù)114的原始掃描目標對象的高度和寬度。具體而言,“JPEG數(shù)據(jù)114的高度信息”表示沿著JPEG數(shù)據(jù)114的原始掃描目標對象的高度方向的JPEG數(shù)據(jù)114的像素數(shù)量。另一方面,“JPEG數(shù)據(jù)114的寬度信息”表示沿著JPEG數(shù)據(jù)114的原始掃描目標對象的寬度方向的JPEG數(shù)據(jù)114的像素數(shù)量。換言之,原始掃描目標對象的高度越高(以及高度方向上掃描分辨率越高),JPEG數(shù)據(jù)114的高度信息(高度方向上的像素數(shù)量)越大。原始掃描目標對象的寬度越寬(以及寬度方向上掃描分辨率越高),JPEG數(shù)據(jù)114的寬度信息(寬度方向上的像素數(shù)量)越大。在移動掃描或靜止掃描中,掃描目標對象的寬度方向是構(gòu)成掃描機構(gòu)的多個圖像傳感器排列的方向(第一方向)。對于移動掃描,掃描目標對象的高度方向是掃描機構(gòu)的移動方向(第二方向)。對于靜止掃描,掃描目標對象的高度方向是通過自動文檔饋送器饋送原始文檔的方向(第二方向)。第一頁面的JPEG數(shù)據(jù)114包括第一頁面的JPEG報頭114a、多個部分JPEG數(shù)據(jù) 114b至114d、以及第一頁面的JPEG尾部IHe (即,第一頁面的JPEG最后數(shù)據(jù)114e)。JPEG 報頭IHa包括SOI (圖像的開始)標記和高度信息。這里的高度信息與包括在第一頁面的最后數(shù)據(jù)116中的高度信息(即,第一頁面的JPEG數(shù)據(jù)114的高度信息)相同。JPEG尾部IHe包括EOI (圖像的結(jié)尾)標記。部分JPEG數(shù)據(jù)114b至114d的每個數(shù)據(jù)是通過轉(zhuǎn)換RGB位圖格式的掃描數(shù)據(jù)而獲得的數(shù)據(jù),RGB位圖格式的掃描數(shù)據(jù)通過掃描產(chǎn)生。注意, 通常將SOI標記與EOI標記之間的每個數(shù)據(jù)稱為“片段”。因此,也可以將部分JPEG數(shù)據(jù) 114b至114d的每個數(shù)據(jù)稱為“每個片段”。注意,第二頁面的PDF數(shù)據(jù)120以及后續(xù)頁面的各個PDF數(shù)據(jù)與第一頁面的PDF數(shù)據(jù)110具有相同的構(gòu)造,因此不再重復說明。(通過多功能裝置10執(zhí)行的處理)下面描述在USB存儲器8中產(chǎn)生PDF文件100的處理的內(nèi)容。一旦用戶執(zhí)行預定操作,控制單元20就執(zhí)行圖3所示的PDF文件產(chǎn)生處理。上述預定操作包括將USB存儲器8安裝入USB接口 16 ;將掃描目標對象放在透明板或自動文檔饋送器上;指定期望的掃描分辨率;以及操作包括在操作單元12中的掃描執(zhí)行鍵。如圖3的S 10所示,文檔數(shù)據(jù)產(chǎn)生單元40 (參見圖1)首先在RAIC6中產(chǎn)生開始數(shù)據(jù)IOOa (參見圖幻。此外在SlO中,寫入處理執(zhí)行單元42 (參見圖1)將已經(jīng)在RAM 26 中產(chǎn)生的開始數(shù)據(jù)IOOa寫入USB存儲器8。此外在SlO中,計算處理執(zhí)行單元46 (參見圖 1)利用開始數(shù)據(jù)IOOa計算散列值。注意在本實施例中,計算處理執(zhí)行單元46利用SHA(安全散列算法)_1作為散列函數(shù),但是也可以利用MD4、MD5或其他散列函數(shù)。此外,下面將圖 3的S28中最后計算的散列值稱為“最后散列值”,并將為了產(chǎn)生最后散列值在S28的處理之前的每個處理中計算的每個散列值均稱為“中間散列值”。注意,一旦因此在SlO中計算中間散列值,控制單元20就將從RAM 26刪除開始數(shù)據(jù)100a。接著在S12中,文檔數(shù)據(jù)產(chǎn)生單元40在RAM沈中產(chǎn)生目標頁面的開始數(shù)據(jù)。在第一個S12(即,SlO之后第一次執(zhí)行S12的處理)中,目標頁是第一頁面。因此在第一個 S12中,文檔數(shù)據(jù)產(chǎn)生單元40產(chǎn)生第一頁面的開始數(shù)據(jù)112 (參見圖幻。注意,下面通過目標頁是第一頁面的情況的示例來描述從S12到SM的處理內(nèi)容。在S12中,寫入處理執(zhí)行單元42進一步將已經(jīng)在RAM沈中產(chǎn)生的開始數(shù)據(jù)112寫入USB存儲器8。此外,在S12中, 計算處理執(zhí)行單元46利用SlO計算的中間散列值和第一頁面的開始數(shù)據(jù)112計算新的中間散列值。這導致從開始數(shù)據(jù)IOOa的頂端到第一頁面的開始數(shù)據(jù)112的結(jié)尾計算中間散列值。注意,一旦因此在S12中計算中間散列值,控制單元20就將從RAM沈刪除第一頁面的開始數(shù)據(jù)112。(目標頁的掃描處理)接著在S14中,控制單元20對目標頁(例如本示例中的第一頁面)執(zhí)行掃描處理。 在S14中,控制單元20首先保證RAM沈中存儲區(qū)域(下面稱為“JPEG數(shù)據(jù)產(chǎn)生區(qū)域”)具有預定第一尺寸的存儲器容量。此外在S14中,控制單元20使得掃描執(zhí)行單元70掃描第一頁面的掃描目標對象。注意,掃描執(zhí)行單元70包括緩沖器(未示出),用于臨時存儲通過掃描所述掃描目標對象而獲得的RGB位圖格式的掃描數(shù)據(jù)。緩沖器具有第二尺寸的存儲器容量,其小于第一尺寸的存儲器容量(即,RAM 26中保證的JPEG數(shù)據(jù)產(chǎn)生區(qū)域的存儲器容量)。因為作為緩沖器的存儲器容量的第二尺寸較小,所以不能將一個頁面的全部掃描數(shù)據(jù)都存儲在緩沖器中。因此,將部分掃描數(shù)據(jù)作為一個頁面的部分掃描數(shù)據(jù)存儲。將緩沖器中的部分掃描數(shù)據(jù)寫入RAM沈中的JPEG數(shù)據(jù)產(chǎn)生區(qū)域。結(jié)果,可以將緩沖器釋放,使得能將后續(xù)部分掃描數(shù)據(jù)存儲在緩沖器中。當將部分掃描數(shù)據(jù)存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中時, 執(zhí)行圖4所示的S40的處理。在將目標頁(即第一頁面)的開始部分掃描數(shù)據(jù)存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域的情況下,在S40中,原始數(shù)據(jù)產(chǎn)生單元30首先在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中產(chǎn)生第一頁面的JPEG 報頭114a(參見圖2、。因為在此階段尚未完成第一頁面的掃描目標對象的掃描,所以不確定第一頁面的JPEG數(shù)據(jù)114的高度信息。因此,原始數(shù)據(jù)產(chǎn)生單元30產(chǎn)生包括預定虛擬高度信息的JPEG報頭114a。此外,在S40中,原始數(shù)據(jù)產(chǎn)生單元30將存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中的部分掃描數(shù)據(jù)轉(zhuǎn)換為JPEG格式的數(shù)據(jù)(例如部分JPEG數(shù)據(jù)114b (參見圖2))。 注意,在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中也產(chǎn)生部分JPEG數(shù)據(jù)114b。
接著在S42中,寫入處理執(zhí)行單元42確定RAM沈的剩余容量是否不足。具體而言,寫入處理執(zhí)行單元42確定RAM 26中除了 JPEG數(shù)據(jù)產(chǎn)生區(qū)域之外的區(qū)域中未使用區(qū)域的容量(即剩余容量)是否大于預定尺寸(例如,待寫入的數(shù)據(jù)尺寸(例如JPEG報頭11 的尺寸與JPEG數(shù)據(jù)114b的尺寸的總和))。當RAM 26的剩余容量充足時(S42 否),在S44中,寫入處理執(zhí)行單元42將S40 中已經(jīng)產(chǎn)生的JPEG報頭11 寫入RAM沈中除了 JPEG數(shù)據(jù)產(chǎn)生區(qū)域之外的特定區(qū)域。接著,寫入處理執(zhí)行單元42將部分JPEG數(shù)據(jù)114b寫入上述特定區(qū)域。注意,執(zhí)行S44的寫入處理使得RAM沈中寫入JPEG報頭11 的第一區(qū)域變得與RAM沈中寫入部分JPEG數(shù)據(jù)114b的第二區(qū)域相鄰。通過執(zhí)行寫入處理,使得在RAM沈中存儲數(shù)據(jù)114a、114b的這些區(qū)域變得彼此相鄰,在圖6所示的S62中改善了訪問RAM 26中每個數(shù)據(jù)114a、114b的訪問效率,其將在下文中進行描述。在S44中執(zhí)行的寫入處理對數(shù)據(jù)114a、114b進行寫入,如圖5所示的RAM 26中所示,其顯示RAM 26和USB存儲器8的內(nèi)容的時間相關(guān)變化。一旦完成S44,流程就進入S46。注意,當RAM沈的剩余容量不足時(S42 是),不執(zhí)行將數(shù)據(jù)寫入RAM 26的寫入處理(S44中的處理),流程進入S46。在S46中,寫入處理執(zhí)行單元42將S40中寫入的JPEG報頭IHa和部分JPEG數(shù)據(jù)114b寫入USB存儲器8。如同通過S44的寫入處理,S46的寫入處理對數(shù)據(jù)114a、114b 進行寫入,使得USB存儲器8中用于存儲數(shù)據(jù)114a、114b的區(qū)域變得彼此相鄰。結(jié)果,在圖 6所示的S64中改善了訪問USB存儲器8中數(shù)據(jù)114a、114b的訪問效率,其將在下文中進行描述。關(guān)于如下所述的其他數(shù)據(jù)114c、114d以及l(fā)He,對其進行S44和S46的寫入處理,使得用于存儲這些數(shù)據(jù)的區(qū)域變得彼此相鄰。S46的寫入處理對數(shù)據(jù)114a、114b進行寫入,如圖5中的USB存儲器8所示。雖然未示出,但是一旦完成S46,原始數(shù)據(jù)產(chǎn)生單元30就從 JPEG數(shù)據(jù)產(chǎn)生區(qū)域中刪除部分掃描數(shù)據(jù)、JPEG報頭114a、以及部分JPEG數(shù)據(jù)114b。結(jié)果, 可以將JPEG數(shù)據(jù)產(chǎn)生區(qū)域釋放,使得能將新的部分掃描數(shù)據(jù)存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中。接著在S48中,原始數(shù)據(jù)產(chǎn)生單元30確定是否完成第一頁面的掃描目標對象的掃描。表示第一頁面的掃描目標對象的最后部分掃描數(shù)據(jù)包括指示掃描目標對象到達頁面的結(jié)尾的信息。對于在具有這種信息的部分掃描數(shù)據(jù)上執(zhí)行處理S40至S46的情況下,原始數(shù)據(jù)產(chǎn)生單元30確定S48的結(jié)果為“是”,并結(jié)束在目標頁上執(zhí)行的掃描處理。另一方面,當?shù)谝豁撁娴膾呙枘繕藢ο蟮膾呙铔]有完成時(S48 否),原始數(shù)據(jù)產(chǎn)生單元30再次執(zhí)行S40和后續(xù)步驟的處理。因此,原始數(shù)據(jù)產(chǎn)生單元30依次產(chǎn)生部分JPEG 數(shù)據(jù)1 Hc、114d (參見圖2)。此外,寫入處理執(zhí)行單元42將部分JPEG數(shù)據(jù)114c、114d依次寫入到至少USB存儲器8 (當剩余容量充足時,也可以將數(shù)據(jù)寫入RAM 26) 0在將第一頁面的最后部分掃描數(shù)據(jù)存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中的情況下,原始數(shù)據(jù)產(chǎn)生單元30在S40 不僅產(chǎn)生部分JPEG數(shù)據(jù)114d,而且產(chǎn)生第一頁面的JPEG尾部114。在這種情況下,寫入處理執(zhí)行單元42在S44和S46中不僅寫入部分JPEG數(shù)據(jù)114d,而且寫入第一頁面的JPEG尾部 lHe。在第一頁面的掃描處理之后,將構(gòu)成第一頁面的JPEG數(shù)據(jù)114的所有數(shù)據(jù)11 至IHe寫入USB存儲器8,如圖5所示的USB存儲器8所示。但是,并非將所有數(shù)據(jù)11 至IHe都寫入RAM 26。這是因為數(shù)據(jù)11 等可以不寫入RAM 26,因為在圖4的S42確定 RAM沈的剩余容量不足。下面描述RAM沈的剩余容量變得不足的情況。
(打印處理)如上所述,RAM沈的存儲器容量比用于存儲具有最大數(shù)據(jù)尺寸的一個頁面的 JPEG數(shù)據(jù)的存儲器容量大。因此,在控制單元20只執(zhí)行圖3所示的PDF文件產(chǎn)生處理的情況下,通常將圖4所示的S42的結(jié)果確定為“否”,因為RAM 26的剩余容量充足,因此將構(gòu)成第一頁面的JPEG數(shù)據(jù)114的所有數(shù)據(jù)11 至IHe寫入RAM 26。例如,當執(zhí)行圖3所示的 PDF文件產(chǎn)生處理時,有可能將打印數(shù)據(jù)從PC 6傳輸?shù)蕉喙δ苎b置10。在這種情況下,特定處理執(zhí)行單元50 (參見圖1)與圖3所示的PDF文件產(chǎn)生處理同時地進行打印處理(未示出)(與PDF文件產(chǎn)生處理并行)。在打印處理中,特定處理執(zhí)行單元50將打印數(shù)據(jù)寫入RAM 26。例如,在將范圍從第一頁面的JPEG報頭11 到部分JPEG數(shù)據(jù)IHc的數(shù)據(jù)寫入RAM 26之后開始打印處理的情況下,特定處理執(zhí)行單元50將打印數(shù)據(jù)200寫入RAM 26,如圖5的RAM沈所示。結(jié)果,RAIC6的剩余容量減少,因此在圖4所示的S42的處理中可以確定RAM 26的剩余容量不足。此外,當例如打印數(shù)據(jù)的尺寸比較大時,當特定處理執(zhí)行單元50需要將打印數(shù)據(jù)寫入RAM沈時,RAM 26的剩余容量有可能變得不足。此外,當例如特定處理執(zhí)行單元50執(zhí)行處理,以將接收的打印數(shù)據(jù)轉(zhuǎn)換為適合于打印的特定格式的數(shù)據(jù)(例如CMYK圖像數(shù)據(jù)) 時,RAIC6的剩余容量有可能變得不足。在將與打印有關(guān)的數(shù)據(jù)(打印數(shù)據(jù)、上述特定格式的數(shù)據(jù)等等)寫入RAM沈時,如果RAM沈的剩余容量變得不足,則特定處理執(zhí)行單元50 將圖4所示S44中寫入RAM 26的數(shù)據(jù)(例如JPEG報頭11 等等)從RAM 26刪除,從而釋放RAIC6。注意,當將圖4所示的S44中寫入RAM沈的數(shù)據(jù)從RAM沈刪除時,特定處理執(zhí)行單元50優(yōu)選刪除舊數(shù)據(jù)(之前產(chǎn)生的數(shù)據(jù))。例如,在將范圍從JPEG報頭11 到部分 JPEG數(shù)據(jù)IHc的數(shù)據(jù)已經(jīng)寫入RAM 26的情況下,特定處理執(zhí)行單元50首先刪除JPEG報頭114a。如果剩余容量即使在這種刪除之后仍然保持不足,則特定處理執(zhí)行單元50進一步刪除部分JPEG數(shù)據(jù)114b。如果剩余容量即使在這種刪除之后仍然保持不足,則特定處理執(zhí)行單元50進一步刪除部分JPEG數(shù)據(jù)lHc。如上所述,進行用于將數(shù)據(jù)寫入RAM沈的寫入處理(圖4的S44),使得RAM 26中用于存儲各個數(shù)據(jù)lHa、114b、IHc的區(qū)域變得彼此相鄰。因此,優(yōu)選刪除舊數(shù)據(jù)(例如數(shù)據(jù)114a)允許RAIC6的剩余數(shù)據(jù)(例如數(shù)據(jù)114b、 114c)變得連續(xù)(相鄰)。結(jié)果,在圖6所示的S62中改善了訪問RAM 26中數(shù)據(jù)的訪問效率,其將在下文中進行描述。此外,優(yōu)選刪除JPEG報頭11 實現(xiàn)以下效果。在如下所述圖3的S18中,對于 JPEG報頭11 執(zhí)行高度信息變化處理。但是,對于除了 JPEG報頭11 之外的數(shù)據(jù),例如部分JPEG數(shù)據(jù)114b、114c,不執(zhí)行高度信息變化處理。因為優(yōu)選刪除需要進行圖3的S18 的變化處理的JPEG報頭114a,所以實際上不必執(zhí)行圖3的S18的變化處理;因此可實現(xiàn)處理的加速。特定處理執(zhí)行單元50將待打印的數(shù)據(jù)(打印數(shù)據(jù),上述特定格式的數(shù)據(jù)等等)寫入RAM沈中的被刪除數(shù)據(jù)(例如JPEG報頭114a、部分JPEG數(shù)據(jù)114b)被寫入的區(qū)域。因此,將待打印的數(shù)據(jù)202寫入RAM 26,如圖5的RAM沈所示。即使在這種情況下,在圖4所示的S42的處理中,仍然確定RAM 26的剩余容量不足。
(高度信息變化處理)一旦完成圖3所示S14中對目標頁(例如第一頁面)的掃描處理,流程就進入圖 3所示的S16。如上所述,在圖4的S40中產(chǎn)生的包括在第一頁面的JPEG報頭11 中的高度信息是虛擬高度信息。從圖3中所示的S16至S20,變化單元44(參見圖1)執(zhí)行處理,以改變JPEG報頭11 的虛擬高度信息。在S16,變化單元44確定第一頁面的高度信息是否存在于RAM沈中。當?shù)谝豁撁娴腏PEG報頭11 存在于RAM 26中時,變化單元44確定S16的結(jié)果為“是”,并進入S18。 另一方面,例如當執(zhí)行第一頁面的掃描處理時(參見圖4),有可能上述特定處理執(zhí)行單元 50將第一頁面的JPEG報頭11 從RAM 26刪除(參見圖5所示的RAM 26)。在這種情況下,因為第一頁面的JPEG報頭11 不存在于RAM 26中,所以變化單元44確定S16的結(jié)果為“否”,并跳過S18進入S20。在S18中,變化單元44將RAM沈中包括在第一頁面的JPEG報頭IHa中的虛擬信息改變?yōu)榈谝豁撁娴腏PEG數(shù)據(jù)114的實際高度信息。注意,變化單元44可基于掃描執(zhí)行單元70執(zhí)行的掃描結(jié)果獲得實際高度信息(部分JPEG數(shù)據(jù)114b至114d的每個的高度方向上的像素總數(shù)量)。具體而言,通過掃描執(zhí)行單元70的掃描在掃描方向(即圖像傳感器的移動方向,通過ADF饋送原始文檔的方向)上檢測第一頁面的掃描目標對象的前端位置和后端位置。然后變化單元44基于這些前端位置和后端位置計算實際高度信息。此外, 在S20中,變化單元44將USB存儲器8中包括在第一頁面的JPEG報頭IHa中的虛擬高度信息改變?yōu)榈谝豁撁娴腏PEG數(shù)據(jù)114的實際高度信息。(中間散列值計算處理)一旦完成S20,計算處理執(zhí)行單元46就在S22執(zhí)行關(guān)于目標頁(例如第一頁面) 的中間散列值計算處理。如圖6所示,在S60中,計算處理執(zhí)行單元46確定用于計算中間散列值的目標數(shù)據(jù)(下面稱為“目標部分數(shù)據(jù)”)是否存在于RAM沈中。注意,目標部分數(shù)據(jù)是構(gòu)成第一頁面的JPEG數(shù)據(jù)114的數(shù)據(jù)11 至IHe中最老的數(shù)據(jù)(最先產(chǎn)生的數(shù)據(jù)),最老的數(shù)據(jù)是尚未用于計算中間散列值的數(shù)據(jù)。例如,在用于第一頁面的中間散列值計算處理中執(zhí)行第一組處理S60至S66的情況下,目標部分數(shù)據(jù)對應(yīng)于第一頁面的JPEG報頭114a。在執(zhí)行第二組S60至S66的情況下,目標部分數(shù)據(jù)對應(yīng)于部分JPEG數(shù)據(jù)114b。
在第一個S60中,計算處理執(zhí)行單元46確定第一頁面的JPEG報頭114a是否存在于RAM沈中。當?shù)谝粋€S60的結(jié)果為“是”時,計算處理執(zhí)行單元46在S62獲得(讀取) 存儲在RAM沈中的第一頁面的JPEG報頭1 Ha。另一方面,當?shù)谝粋€S60的結(jié)果為“否”時, 計算處理執(zhí)行單元46在S64獲得(讀取)存儲在USB存儲器8中的第一頁面的JPEG報頭 lHa。具體而言,在S64中,計算處理執(zhí)行單元46暫時將存儲在USB存儲器8中的第一頁面的JPEG報頭114a寫入RAM 26。 接著在第一個S66中,計算處理執(zhí)行單元46利用圖3的S12中計算的中間散列值以及S62或S64中獲得的第一頁面的JPEG報頭11 來計算新的中間散列值。結(jié)果,計算出從開始數(shù)據(jù)100a(參見圖2)的頂端到第一頁面的JPEG報頭11 的結(jié)尾的中間散列值。 一旦完成第一個S66,在S68中,計算處理執(zhí)行單元46就利用寫入RAM 26和USB存儲器8 的目標頁(例如第一頁面)的JPEG數(shù)據(jù)114的尺寸來確定關(guān)于目標頁的處理是否完成。 具體而言,在對第一頁面的JPEG數(shù)據(jù)114執(zhí)行的中間散列值計算處理(圖6)中,當S62或S64中獲得的目標部分數(shù)據(jù)的總尺寸小于第一頁面的JPEG數(shù)據(jù)114的尺寸時,計算處理執(zhí)行單元46確定S68的結(jié)果為“否”。當前一尺寸與后一尺寸匹配時,計算處理執(zhí)行單元46 確定S68的結(jié)果為“是”。注意在另一實施例中,當S62或S64中獲得的目標部分數(shù)據(jù)的數(shù)量(即,執(zhí)行S62或S64的次數(shù))小于構(gòu)成第一頁面的JPEG數(shù)據(jù)114的多個數(shù)據(jù)11 至 114e的數(shù)量(執(zhí)行圖4的S46的次數(shù))時,計算處理執(zhí)行單元46確定S68的結(jié)果為“否”。 當前一尺寸與后一尺寸匹配時,計算處理執(zhí)行單元46確定S68的結(jié)果為“是”。當S68的結(jié)果為“否”時,計算處理執(zhí)行單元46對于下一目標部分數(shù)據(jù)(本示例中為部分JPEG數(shù)據(jù) 114b)第二次執(zhí)行從S60至S66的處理。在第二個S60中,計算處理執(zhí)行單元46確定部分JPEG數(shù)據(jù)114b是否存在于RAM 沈中。當?shù)诙€S60的結(jié)果為“是”時,計算處理執(zhí)行單元46獲得RAM沈的部分JPEG數(shù)據(jù)114b (S62),并且當?shù)诙€S60的結(jié)果為“否”時,計算處理執(zhí)行單元46獲得USB存儲器 8的部分JPEG數(shù)據(jù)114b。接著在第二個S66中,計算處理執(zhí)行單元46利用第一個(即,前一個)S66中計算得到的中間散列值和S62或S64中獲得的部分JPEG數(shù)據(jù)114b,計算新的中間散列值。結(jié)果,計算出從開始數(shù)據(jù)100a(參見圖2)的頂端到部分JPEG數(shù)據(jù)114b的結(jié)尾的中間散列值。如同上述處理,對于要成為后續(xù)目標部分數(shù)據(jù)的第一頁面,對包括在PDF數(shù)據(jù)中的每個未處理部分JPEG數(shù)據(jù)執(zhí)行第三組和后續(xù)組的處理S60至S66。這導致從開始數(shù)據(jù) 100a(參見圖2)的頂端到第一頁面的JPEG尾部IHe的結(jié)尾計算中間散列值。在這種情況下,將S68中的結(jié)果確定為“是”,因此完成對于目標頁(即第一頁面)的中間散列值計算處理。雖然未示出,但是一旦完成中間散列值計算處理,控制單元20就刪除存在于RAM沈中的所有JPEG數(shù)據(jù)。因此,將RAIC6釋放,使得能夠?qū)⑾乱荒繕隧?例如本示例中的第二頁面)的JPEG數(shù)據(jù)寫入RAM 26。注意,當經(jīng)過圖6所示的S62執(zhí)行S66時(當利用RAM 26中的目標部分數(shù)據(jù)時), 相比經(jīng)過圖6所示的S64執(zhí)行S66的情況(當利用USB存儲器8中的目標部分數(shù)據(jù)時),計算處理執(zhí)行單元46可更快地計算中間散列值。這是因為圖6所示的S64要求將USB存儲器8的目標部分數(shù)據(jù)暫時寫入RAM沈的處理,該處理耗時。為了快速計算中間散列值,在圖6所示的中間散列值計算處理中,當目標部分數(shù)據(jù)存儲于RAM 26和USB存儲器8 二者中時(當S60的結(jié)果為“是”時),計算處理執(zhí)行單元46通過優(yōu)選利用RAM 26的目標部分數(shù)據(jù)來計算中間散列值。例如如圖7A所示,在構(gòu)成第一頁面的JPEG數(shù)據(jù)114的所有數(shù)據(jù)11 至IHe存儲于RAM 26和USB存儲器8 二者中的情況下,計算處理執(zhí)行單元46按照圖7A所示數(shù)字順序,通過依次利用RAM 26的數(shù)據(jù)IHa至114e,依次計算中間散列值。此外,例如圖7B所示,在只有構(gòu)成第一頁面的JPEG數(shù)據(jù)114的部分數(shù)據(jù)IHc存儲于RAM 26和USB存儲器8 二者中的情況下,計算處理執(zhí)行單元46按照圖7B所示數(shù)字順序,通過依次利用RAM沈或舊8存儲器8中的數(shù)據(jù)11 至lHe,依次計算中間散列值。換言之,在圖7B所示的示例中,計算處理執(zhí)行單元46首先通過依次利用USB存儲器8的數(shù)據(jù) lHa、114b,依次計算中間散列值,然后利用RAM沈的數(shù)據(jù)IHc計算中間散列值。隨后,計算處理執(zhí)行單元46通過依次利用USB存儲器8的數(shù)據(jù)114d、114e,依次計算中間散列值。一旦完成圖3的S22中對于目標頁(例如第一頁面)的中間散列值計算處理,流程就進入S24。在S24中,文檔數(shù)據(jù)產(chǎn)生單元40在RAIC6中產(chǎn)生第一頁面的結(jié)尾數(shù)據(jù)116 (參見圖幻。此外在S24中,寫入處理執(zhí)行單元42將已經(jīng)在RAM沈中產(chǎn)生的結(jié)尾數(shù)據(jù)116寫入USB存儲器8。此外在S24中,計算處理執(zhí)行單元46利用S22中計算的中間散列值(從開始數(shù)據(jù)100a(參見圖2)的頂端到第一頁面的JPEG尾部IHe的結(jié)尾的中間散列值),以及第一頁面的結(jié)尾數(shù)據(jù)116來計算新的中間散列值。這樣導致從開始數(shù)據(jù)IOOa的頂端到第一頁面的結(jié)尾數(shù)據(jù)116的結(jié)尾計算中間散列值。注意,一旦在SM中計算出中間散列值, 控制單元20就將第一頁面的結(jié)尾數(shù)據(jù)116從RAM 26刪除。隨后在S26中,控制單元20確定對于所有頁面的掃描目標對象的掃描是否完成。 具體而言,當有新的部分掃描數(shù)據(jù)存儲在RAM 26的JPEG數(shù)據(jù)產(chǎn)生區(qū)域中時,控制單元20 確定S26的結(jié)果為“否”,當沒有新的部分掃描數(shù)據(jù)存儲在JPEG數(shù)據(jù)產(chǎn)生區(qū)域中時,控制單元20確定S26的結(jié)果為“是”。當S26的結(jié)果為“否”時,控制單元20再次執(zhí)行第二組處理S12至S24,將目標頁作為后續(xù)頁面(本示例中的第二頁面)。第二組處理S12至SM與第一組處理S12至S24 相同。作為第二組處理S12至SM的結(jié)果,第二頁面的開始數(shù)據(jù)122、第二頁面的JPEG數(shù)據(jù) 124、以及第二頁面的結(jié)尾數(shù)據(jù)1 被寫入USB存儲器8,如圖2所示。此外,計算出從開始數(shù)據(jù)IOOa的頂端到第二頁面的結(jié)尾數(shù)據(jù)126的結(jié)尾的中間散列值。當S26的結(jié)果為“是”時,在S28中,文檔數(shù)據(jù)產(chǎn)生單元40在RAM沈中產(chǎn)生用于 PDF文件100的尾部。此外在S28中,計算處理執(zhí)行單元46利用最后的S24(例如,當掃描目標對象的總頁數(shù)為“2”時的第二個S24)中計算的中間散列值,以及PDF文件100的尾部來計算最后散列值。結(jié)果,計算出從開始數(shù)據(jù)IOOa的頂端到尾部的結(jié)尾的最后散列值。此外在S28中,簽名值產(chǎn)生單元48(參見圖1)通過利用預定密鑰將最后散列值加密,產(chǎn)生簽名值(即,簽名散列值)。此外在S28中,文檔數(shù)據(jù)產(chǎn)生單元40產(chǎn)生包括PDF文件100的尾部、簽名值、以及預定證書的最后數(shù)據(jù)100b (參見圖2)。簽名值和證書并非是用于計算最后散列值的目標(待散列化的目標)。在S28中,寫入處理執(zhí)行單元42將最后數(shù)據(jù)IOOb 寫入USB存儲器8。結(jié)果,在USB存儲器8中完成圖2所示的PDF文件100。(外部裝置的處理)用戶可以攜帶包括PDF文件100的USB存儲器8。用戶可以通過將USB存儲器8 安裝在除了多功能裝置10之外的外部裝置(例如PC 6)的USB接口上,在外部裝置的顯示單元上顯示USB存儲器8的PDF文件100。由此,外部裝置可以計算從開始數(shù)據(jù)IOOa的頂端到最后數(shù)據(jù)IOOb的尾部的結(jié)尾的散列值(下面稱為“第一散列值”)。此外,外部裝置可利用包括在最后數(shù)據(jù)IOOb中的公鑰,通過將包括在最后數(shù)據(jù)IOOb中的簽名值進行解碼來產(chǎn)生散列值(下面稱為“第二散列值”)。外部裝置還可以將第一散列值與第二散列值進行比較,以確定是否有可能PDF文件100已經(jīng)改變。例如,當?shù)谝簧⒘兄蹬c第二散列值不匹配時,外部裝置在顯示單元上顯示消息,說明PDF文件100很可能已經(jīng)改變。用戶可瀏覽消息, 發(fā)現(xiàn)PDF文件100很可能已經(jīng)改變。上面詳細描述了實施例的通信系統(tǒng)2。在圖3所示的S14對目標頁(參見圖4)執(zhí)行的掃描處理中,多功能裝置10將構(gòu)成一個頁面的JPEG數(shù)據(jù)114的多個數(shù)據(jù)11 至IHe 至少寫入USB存儲器8 (圖4中的S46)。因此,多功能裝置10可利用USB存儲器8中的多個數(shù)據(jù)IHa至IHe的每個數(shù)據(jù)來計算中間散列值。但是,上述利用USB存儲器8的數(shù)據(jù)11 等等來計算中間散列值需要較長的時間。因此在本實施例中,多功能裝置10將數(shù)據(jù) 114a等等不僅寫入USB存儲器8,而且寫入RAM 26(圖4中的S44),因此可利用RAM 26的數(shù)據(jù)11 等等計算中間散列值。但是,在圖3所示的S18和S20中,多功能裝置10將包括在第一頁面的JPEG報頭 IHa中的虛擬高度信息改變?yōu)閷嶋H高度信息。如上所述,第一頁面的JPEG數(shù)據(jù)114的實際高度信息不確定,直到完成第一頁面的掃描目標對象的掃描。因此,完成第一頁面的掃描處理(圖3的S14)之后,多功能裝置10改變包括在第一頁面的JPEG報頭11 中的高度信息。此外,在構(gòu)成第一頁面的JPEG數(shù)據(jù)114的數(shù)據(jù)114a至114e中,為了產(chǎn)生中間散列值首先利用的數(shù)據(jù)是JPEG報頭lHa。因此,直到改變包括在第一頁面的JPEG報頭11 的高度信息,或者直到完成第一頁面的掃描處理(圖3的S14),多功能裝置10不能利用構(gòu)成第一頁面的JPEG數(shù)據(jù)114的數(shù)據(jù)11 至IHe來計算中間散列值。但是,由于多功能裝置 10的RAM沈的較小的存儲器容量(小于PC 6等等的存儲器容量),例如當同時執(zhí)行打印處理時,有可能并非所有的數(shù)據(jù)IHa至IHe都被寫入RAM 26 (參見圖5所示的RAM 26)。因此,當RAM 26的剩余容量充足時(圖4所示的S42中為“否”),多功能裝置10 將數(shù)據(jù)IHa等等寫入USB存儲器8和RAM 26 二者。但是當RAM 26的剩余容量不足時(圖 4所示的S42中為“是”),多功能裝置10將數(shù)據(jù)11 等等僅寫入USB存儲器8。換言之, 只要RAM 26的剩余容量沒有變得不足,多功能裝置10就可以選擇將數(shù)據(jù)11 等等寫入 RAM 26以及USB存儲器8。此外,換言之,在RAM沈的剩余容量不足的情況下,多功能裝置 10選擇性地將數(shù)據(jù)11 等等寫入USB存儲器8。結(jié)果,即使當RAM沈的存儲器容量較小時,也可以利用RAM沈的數(shù)據(jù)11 等等計算中間散列值。根據(jù)本實施例的技術(shù),與沒有將數(shù)據(jù)IHa至IHe寫入RAM 26的情況(即,僅在USB存儲器8上執(zhí)行寫入處理的情況)相比,可以更快地計算中間散列值。結(jié)果,還可以快速計算最后散列值和簽名值,并且可以快速產(chǎn)生PDF文件100。多功能裝置10是“掃描儀裝置”的實例。USB存儲器8、RAM 26、以及USB接口 16 分別是“外部存儲裝置”、“內(nèi)部存儲裝置”、“安裝外部存儲裝置的單元”的示例。第一頁面和第二頁面的JPEG數(shù)據(jù)114和124(參見圖2)是“一個或多個頁面的原始數(shù)據(jù)”的示例。 例如,第一頁面的JPEG數(shù)據(jù)114以及構(gòu)成該JPEG數(shù)據(jù)114的多個數(shù)據(jù)114a至114e分別是“一個頁面的原始數(shù)據(jù)”和“多個部分數(shù)據(jù)”的示例。在圖3所示的S28中計算的最后散列值是“摘要值”的示例。要在圖4所示的S44和S46中寫入的數(shù)據(jù)以及在圖6所示的S62 和S64中獲得的目標部分數(shù)據(jù)分別是“第一類型的目標部分數(shù)據(jù)”和“第二類型的目標部分數(shù)據(jù)”的示例。JPEG報頭11 和高度信息分別是“特定部分數(shù)據(jù)”和“尺寸信息”的示例。 此外,打印處理和待打印數(shù)據(jù)分別是“特定處理”和“特定數(shù)據(jù)”的示例。(改型1)在前面的實施例中,計算處理執(zhí)行單元46利用散列方法來產(chǎn)生“摘要值”,但是也可以利用其他摘要方法。一般而言,計算“摘要值”的方法包括用于產(chǎn)生可以從一個或多個頁面的原始數(shù)據(jù)獲得的如下值的各種摘要方法,所述值的數(shù)據(jù)尺寸小于一個或多個頁面的原始數(shù)據(jù)的總數(shù)據(jù)尺寸。(改型2)在前面的實施例中,文檔數(shù)據(jù)產(chǎn)生單元40以PDF來產(chǎn)生“文檔數(shù)據(jù)”,但是也可以替代產(chǎn)生除了 PDF之外的格式(例如XPS)的“文檔數(shù)據(jù)”。此外,在上述實施例中,原始數(shù)據(jù)產(chǎn)生單元30以JPEG來產(chǎn)生“原始數(shù)據(jù)”,但是也可以替代產(chǎn)生除了 JPEG之外的格式(例如TIFF或BMP)的“原始數(shù)據(jù)”。(改型3)在前面的實施例中,將USB存儲器8用作“外部存儲裝置”。但是,“外部存儲裝置” 也可以替代是嵌入在多功能裝置10中的硬盤、可安裝入多功能裝置10的介質(zhì),例如CD、DVD 和軟盤(注冊商標),或者獨立于多功能裝置10組成的外部裝置(例如服務(wù)器)中的存儲
直ο(改型4)在前面的實施例中,當將待打印數(shù)據(jù)寫入如圖5的RAM 26所示的RAM 26時,特定處理執(zhí)行單元50優(yōu)選在數(shù)據(jù)11 至IHe中將JPEG報頭11 刪除。除了利用這種結(jié)構(gòu)之外,特定處理執(zhí)行單元50可以優(yōu)選刪除部分JPEG數(shù)據(jù)114b和IHc而不是JPEG報頭 lHa。(改型5)在前面的實施例中,當RAM 26的剩余容量不足時,特定處理執(zhí)行單元50按照數(shù)據(jù) 11 至IHe的單位執(zhí)行數(shù)據(jù)刪除,如圖5中的RAIC6所示。換言之,特定處理執(zhí)行單元50 按照在圖4的S44中單獨地寫入RAM沈的數(shù)據(jù)的單位來執(zhí)行數(shù)據(jù)刪除?;蛘?,特定處理執(zhí)行單元50可以按照比數(shù)據(jù)114a至114e的單位小或大的單位刪除數(shù)據(jù)。例如,當RAM 26的剩余容量不足時,特定處理執(zhí)行單元50可以只刪除包括在數(shù)據(jù)11 中的部分數(shù)據(jù)。即使在該刪除之后剩余容量仍然保持不足時,特定處理執(zhí)行單元50可以刪除包括在數(shù)據(jù)11 中的其他數(shù)據(jù)。此外,例如當RAM沈的剩余容量不足時,特定處理執(zhí)行單元50可以同時刪除數(shù)據(jù)11 和數(shù)據(jù)114b。即使在該刪除之后剩余容量仍然保持不足時,特定處理執(zhí)行單元 50可以同時刪除數(shù)據(jù)IHc和數(shù)據(jù)114d。一般而言,“一個頁面的一部分原始數(shù)據(jù)”可以是與“部分數(shù)據(jù)”相同的單位或不同的單位。(改型6)在前面的實施例中,圖6的S62或S64中獲得的數(shù)據(jù)的單位與圖4所示的S44中寫入RAM沈的單獨的數(shù)據(jù)的單位相同?;蛘撸嬎闾幚韴?zhí)行單元46可以按照小于或大于數(shù)據(jù)IHa至IHe的單位的單位來執(zhí)行圖6的S62、S64的獲得處理。本改型的結(jié)構(gòu)也包括在“通過依次利用多個部分數(shù)據(jù)的每個數(shù)據(jù)……依次執(zhí)行計算處理”的構(gòu)造中。(改型7)在前面的實施例中,打印處理是“特定處理”的示例,但是“特定處理”可以是其他處理。例如,特定處理執(zhí)行單元50可響應(yīng)于來自外部裝置的訪問,產(chǎn)生表示網(wǎng)頁的數(shù)據(jù),然后執(zhí)行處理,以將數(shù)據(jù)傳輸?shù)酵獠垦b置(“特定處理”的示例)。在本改型中,表示網(wǎng)頁的數(shù)據(jù)是“特定數(shù)據(jù)”的示例。(改型8)在前面的實施例中,在圖3所示的S 18和S20中,變化單元44改變包括在一個頁面的原始數(shù)據(jù)的報頭中的高度信息。或者,變化單元44可以改變其他信息,例如寬度信息、 掃描分辨率、以及總數(shù)據(jù)尺寸。(改型9)
在前面的實施例中,各個單元30至50被作為控制單元20根據(jù)程序執(zhí)行處理的結(jié)果實現(xiàn)。但是,各個單元30至50的至少一個也可以替選地通過諸如邏輯電路的硬件資源來實現(xiàn)。
權(quán)利要求
1.一種利用外部存儲裝置的掃描儀裝置,所述掃描儀裝置包括 內(nèi)部存儲裝置;原始數(shù)據(jù)產(chǎn)生單元,所述原始數(shù)據(jù)產(chǎn)生單元被配置為產(chǎn)生表示已經(jīng)被掃描的掃描目標對象的一個或多個頁面的原始數(shù)據(jù);以及文檔數(shù)據(jù)產(chǎn)生單元,所述文檔數(shù)據(jù)產(chǎn)生單元被配置為利用所述一個或多個頁面的所述原始數(shù)據(jù)來計算摘要值,從而利用所述一個或多個頁面的所述原始數(shù)據(jù)和所述摘要值在所述外部存儲裝置中產(chǎn)生文檔數(shù)據(jù),其中,所述文檔數(shù)據(jù)產(chǎn)生單元包括寫入處理執(zhí)行單元,所述寫入處理執(zhí)行單元被配置為對于包括在所述一個或多個頁面的所述原始數(shù)據(jù)中的構(gòu)成一個頁面的原始數(shù)據(jù)的多個部分數(shù)據(jù)的每一個執(zhí)行寫入處理,用于將所述部分數(shù)據(jù)至少寫入所述外部存儲裝置,(Al)其中,如果所述內(nèi)部存儲裝置的剩余容量在用于寫入第一類型的目標部分數(shù)據(jù)的寫入處理中充足,則所述寫入處理執(zhí)行單元將所述第一類型的目標部分數(shù)據(jù)寫入所述內(nèi)部存儲裝置和所述外部存儲裝置兩者中,所述第一類型的目標部分數(shù)據(jù)是所述寫入處理的目標的部分數(shù)據(jù),以及(A2)其中,如果所述內(nèi)部存儲裝置的剩余容量在用于寫入所述第一類型的目標部分數(shù)據(jù)的寫入處理中不足,則所述寫入處理執(zhí)行單元將所述第一類型的目標部分數(shù)據(jù)只寫入所述外部存儲裝置;變化單元,所述變化單元被配置為在完成所述多個部分數(shù)據(jù)的多個寫入處理之后,改變包括在所述多個部分數(shù)據(jù)中的特定部分數(shù)據(jù),其中,對于所述特定部分數(shù)據(jù)的寫入處理先于對于包括在所述多個部分數(shù)據(jù)中的另一部分數(shù)據(jù)的寫入處理執(zhí)行;以及計算處理執(zhí)行單元,所述計算處理執(zhí)行單元被配置為依次執(zhí)行計算處理,所述計算處理用于通過依次利用包括已經(jīng)改變的所述特定部分數(shù)據(jù)的所述多個部分數(shù)據(jù)的每個部分數(shù)據(jù),計算所述摘要值,(Bi)其中,如果第二類型的目標部分數(shù)據(jù)被存儲在所述內(nèi)部存儲裝置和所述外部存儲裝置兩者中,則所述計算處理執(zhí)行單元通過利用存儲在所述內(nèi)部存儲裝置中的所述第二類型的目標部分數(shù)據(jù)來執(zhí)行所述計算處理,所述第二類型的目標部分數(shù)據(jù)是所述計算處理的目標的部分數(shù)據(jù),以及(B2)其中,如果所述第二類型的目標部分數(shù)據(jù)被只存儲在所述外部存儲裝置中,則所述計算處理執(zhí)行單元通過利用存儲在所述外部存儲裝置中的所述第二類型的目標部分數(shù)據(jù)來執(zhí)行所述計算處理。
2.如權(quán)利要求1所述的掃描儀裝置,其中所述特定部分數(shù)據(jù)是包括所述一個頁面的所述原始數(shù)據(jù)的報頭部分的部分數(shù)據(jù)。
3.如權(quán)利要求2所述的掃描儀裝置,其中所述變化單元在完成所述一個頁面的掃描目標對象的掃描之后,通過將所述一個頁面的掃描目標對象的尺寸信息寫入包括在所述特定部分數(shù)據(jù)中的報頭部分中,來改變所述特定部分數(shù)據(jù),所述尺寸信息與沿著所述一個頁面的掃描目標對象的掃描方向的尺寸有關(guān)。
4.如權(quán)利要求1所述的掃描儀裝置,進一步包括特定處理執(zhí)行單元,所述特定處理執(zhí)行單元被配置為當要在用于構(gòu)成所述一個頁面的所述原始數(shù)據(jù)的多個部分數(shù)據(jù)的多個寫入處理的開始與所述多個寫入處理的完成之間執(zhí)行特定處理時,將特定數(shù)據(jù)寫入所述內(nèi)部存儲裝置,從而執(zhí)行與所述寫入處理不同的所述特定處理。
5.如權(quán)利要求4所述的掃描儀裝置,其中如果在所述特定數(shù)據(jù)要被寫入所述內(nèi)部存儲裝置中時所述內(nèi)部存儲裝置中的剩余容量不足,則所述特定處理執(zhí)行單元將所述特定數(shù)據(jù)寫入所述內(nèi)部存儲裝置中的部分區(qū)域中,所述部分區(qū)域是已經(jīng)寫入所述一個頁面的所述原始數(shù)據(jù)的一部分的區(qū)域。
6.如權(quán)利要求1所述的掃描儀裝置,其中所述文檔數(shù)據(jù)產(chǎn)生單元進一步包括簽名值產(chǎn)生單元,所述簽名值產(chǎn)生單元被配置為通過將所述摘要值加密來產(chǎn)生簽名值,以及所述文檔數(shù)據(jù)產(chǎn)生單元在所述外部存儲裝置中產(chǎn)生包括所述一個或多個頁面的所述原始數(shù)據(jù)和所述簽名值的所述文檔數(shù)據(jù)。
7.如權(quán)利要求1所述的掃描儀裝置,進一步包括安裝所述外部存儲裝置的單元。
全文摘要
一種掃描儀裝置,可產(chǎn)生一個或多個頁面的原始數(shù)據(jù),并利用原始數(shù)據(jù)計算摘要值,從而在外部存儲裝置中產(chǎn)生文檔數(shù)據(jù)。如果內(nèi)部存儲裝置中的剩余容量充足,則掃描儀裝置可將第一類型的目標部分數(shù)據(jù)寫入內(nèi)部存儲裝置和外部存儲裝置兩者中。如果第二類型的目標部分數(shù)據(jù)存儲在內(nèi)部存儲裝置和外部存儲裝置兩者中,則掃描儀裝置可利用存儲在內(nèi)部存儲裝置中的第二類型的目標部分數(shù)據(jù)來執(zhí)行計算處理,其中,第二類型的目標部分數(shù)據(jù)是用于計算摘要值的計算處理的目標的部分數(shù)據(jù)。
文檔編號H04N1/32GK102244704SQ20111008413
公開日2011年11月16日 申請日期2011年3月30日 優(yōu)先權(quán)日2010年5月13日
發(fā)明者次村浩一 申請人:兄弟工業(yè)株式會社