專利名稱:用于通信的通信裝置和集成電路的制作方法
技術領域:
本發(fā)明涉及用于經(jīng)由網(wǎng)絡傳送視頻數(shù)據(jù)、音頻數(shù)據(jù)等的處理技術。
背景技術:
近年來,已經(jīng)能夠相當容易地使用網(wǎng)絡傳輸諸如視頻數(shù)據(jù)和音頻數(shù)據(jù)的多 媒體數(shù)據(jù),例如通過將由攝像機拍得的視頻數(shù)據(jù)傳送給連接到網(wǎng)絡的終端并在 該終端上回放接收的視頻數(shù)據(jù)而進行多媒體數(shù)據(jù)傳輸。
通常,通過由照相機執(zhí)行的控制程序來執(zhí)行用于發(fā)送由照相機拍得的視頻 數(shù)據(jù)的處理,如下所述。
首先,當將已經(jīng)根據(jù)MPEG (活動圖像專家組)等標準在逐幀基礎上壓縮 編碼的由視頻數(shù)據(jù)構成的編碼數(shù)據(jù)存儲在照相機的存儲區(qū)域中時,讀取存儲的 編碼數(shù)據(jù)并將其拷貝到與存儲該編碼數(shù)據(jù)的存儲區(qū)域不同的另一存儲區(qū)域。
為了在對數(shù)據(jù)包平行地執(zhí)行傳輸處理的同時可以存儲后續(xù)將要存儲的編 碼數(shù)據(jù),將該編碼數(shù)據(jù)拷貝到另一存儲區(qū)域,如下所述。
接下來,對于拷貝到另一存儲區(qū)域的編碼數(shù)據(jù)的每個預定尺寸部分,計算 校驗和,產(chǎn)生包括該校驗和的標題信息,產(chǎn)生包括所產(chǎn)生的標題信息和編碼數(shù) 據(jù)中對應于該校驗和的預定尺寸的數(shù)據(jù)包,并且傳輸該數(shù)據(jù)包。
按照這種方式,在視頻數(shù)據(jù)的處理期間,由于將編碼數(shù)據(jù)拷貝在存儲區(qū)域 中,如果由于壓縮比等使該編碼數(shù)據(jù)的尺寸較大,則拷貝該編碼數(shù)據(jù)需要更多 的時間,而且用于每段編碼數(shù)據(jù)的發(fā)送處理時間增加。
同時,在發(fā)送視頻數(shù)據(jù)時,需要按照通過標準等預先確定的幀率而在預定 的時間周期內(nèi)發(fā)送每段編碼數(shù)據(jù),這是由于,如果不能根據(jù)幀率在預定的時間 周期內(nèi)發(fā)送該段編碼數(shù)據(jù),則將發(fā)生所謂的跳動,而且所發(fā)送視頻數(shù)據(jù)的接收 器不能連續(xù)回放該視頻。
如上所述,大尺寸編碼數(shù)據(jù)的發(fā)送處理很耗時,并且為了發(fā)送視頻數(shù)據(jù)而 不發(fā)生跳動,每段編碼數(shù)據(jù)的高速發(fā)送處理是必需的。作為用于高速發(fā)送處理的技術,已知的一種方法是完全由硬件實現(xiàn)上面的 描述中由控制程序(軟件)執(zhí)行的發(fā)送處理(例如,專利申請公開號為
2001-268159的日本專利申請,下面將其稱為"專利文獻1"。)
完全由硬件實現(xiàn)發(fā)送處理能夠抑制當由軟件實現(xiàn)發(fā)送處理時存在的處理 開銷。
然而, 一般而言,當完全由硬件實現(xiàn)發(fā)送處理時,生產(chǎn)的最初成本會增加。
發(fā)明內(nèi)容
考慮到上述問題而研究了本發(fā)明,本發(fā)明的目的是提供一種適于與攝像機 等一起使用并且可以在抑制生產(chǎn)的最初成本的同時實現(xiàn)多媒體數(shù)據(jù)的高速發(fā) 送處理的通信裝置。
通過經(jīng)由網(wǎng)絡順序傳送多段數(shù)據(jù)包的通信裝置實現(xiàn)本發(fā)明的這一目的,其
中每段數(shù)據(jù)包包括數(shù)據(jù)塊段,該通信裝置包括存儲電路,該存儲電路可用于 (i)產(chǎn)生與多段數(shù)據(jù)塊一一對應的多段驗證數(shù)據(jù),每段驗證數(shù)據(jù)反應了作為 具有第一尺寸的數(shù)據(jù)的相應段數(shù)據(jù)塊的內(nèi)容和(ii)在外部存儲器中具有第二 尺寸的多個區(qū)域的不同區(qū)域中存儲每對驗證數(shù)據(jù)段和相應的數(shù)據(jù)塊段;包控制 單元,其包括CPU且能夠用于使該CPU執(zhí)行程序,對于由存儲電路存儲在外 部存儲器中的每段數(shù)據(jù)塊,該程序讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段、產(chǎn)生 包括所讀取的驗證數(shù)據(jù)段的標題信息段、并執(zhí)行控制以傳送包括所產(chǎn)生的標題 信息段和對應于所產(chǎn)生的標題信息段中包括的該段驗證數(shù)據(jù)的數(shù)據(jù)塊段的數(shù) 據(jù)包;和網(wǎng)絡單元,可用于根據(jù)由包控制單元執(zhí)行的控制而相繼傳送每段數(shù)據(jù) 包,其中產(chǎn)生多段驗證數(shù)據(jù)并存儲多段驗證數(shù)據(jù)和相應的多段數(shù)據(jù)塊的存儲電 路與執(zhí)行程序以產(chǎn)生多段標題信息并執(zhí)行控制以相繼傳送每段數(shù)據(jù)包的CPU 并行運行。
而且,通過經(jīng)由網(wǎng)絡相繼傳送多段數(shù)據(jù)包的通信集成電路實現(xiàn)本發(fā)明的這 一目的,其中每段數(shù)據(jù)包包括數(shù)據(jù)塊段,該通信集成電路包括存儲電路,其可 用于(i)產(chǎn)生與多段數(shù)據(jù)塊一一對應的多段驗證數(shù)據(jù),每段驗證數(shù)據(jù)反映作 為具有第一尺寸的數(shù)據(jù)的相應數(shù)據(jù)塊的內(nèi)容和(ii)在外部存儲器中具有第二
尺寸的多個區(qū)域中的不同區(qū)域內(nèi)存儲每對驗證數(shù)據(jù)段和相應的數(shù)據(jù)塊段;包控 制單元,其包括CPU且能夠用于使該CPU執(zhí)行程序,對于由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,該程序讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段、產(chǎn) 生包括所讀取的驗證數(shù)據(jù)段的標題信息段、并執(zhí)行控制以傳送包括所產(chǎn)生的標 題信息段和對應于所產(chǎn)生的標題信息段中包括的該段驗證信息的數(shù)據(jù)塊段的 數(shù)據(jù)包段;和網(wǎng)絡單元,其可用于根據(jù)由包控制單元執(zhí)行的控制而相繼傳送每
段數(shù)據(jù)包,其中產(chǎn)生多段驗證數(shù)據(jù)并存儲多段驗證數(shù)據(jù)和相應的多段數(shù)據(jù)塊的 存儲電路與執(zhí)行程序以產(chǎn)生多段標題信息且執(zhí)行控制以相繼傳送所述數(shù)據(jù)包
的CPU并行運行。
這里,具有第二尺寸的區(qū)域是外部存儲器中具有毗鄰地址值的預定尺寸的 存儲區(qū)域。
而且,并行運行意味著至少同時部分地執(zhí)行兩種處理, 一種是在其中驗證 數(shù)據(jù)由存儲電路產(chǎn)生并與對應于該驗證數(shù)據(jù)段的數(shù)據(jù)塊一起存儲的處理,另一
種是在其中CPU產(chǎn)生標題信息段并執(zhí)行控制以傳送該數(shù)據(jù)包段的處理。
根據(jù)上述結(jié)構,根據(jù)本發(fā)明的通信裝置和用于通信的集成電路包括CPU 和作為單獨硬件的存儲電路。存儲電路傳輸對應于每段數(shù)據(jù)塊而產(chǎn)生驗證數(shù)據(jù) 段,并將產(chǎn)生的驗證數(shù)據(jù)段和相應的數(shù)據(jù)塊段存儲在外部存儲器中。同時,通 過執(zhí)行程序,對于存儲電路已經(jīng)存儲在外部存儲器中的每段數(shù)據(jù)塊,CPU產(chǎn) 生包括對應于驗證數(shù)據(jù)段的標題數(shù)據(jù),并執(zhí)行控制以發(fā)送該數(shù)據(jù)包段。存儲電 路和CPU的并行運行能夠執(zhí)行數(shù)據(jù)包段的高速發(fā)送。
而且,由于由作為硬件的存儲電路部分地執(zhí)行數(shù)據(jù)包的發(fā)送處理,與完全 通過硬件實現(xiàn)發(fā)送處理的情況相比,可以抑制生產(chǎn)該通信裝置的最初成本。
而且,在該通信裝置中,可以以作為第二尺寸與預定值的和的地址值間隔 布置作為在外部存儲器中具有第二尺寸的區(qū)域的第一區(qū)域,而對于存儲在第一 區(qū)域內(nèi)的每段數(shù)據(jù)塊,所述程序可用于讀取對應于每段數(shù)據(jù)塊的驗證數(shù)據(jù)段、 產(chǎn)生標題信息段、將該份標題信息段存儲在作為毗鄰第一區(qū)域且具有與該預定 值相同的尺寸的區(qū)域的第二區(qū)域中、并執(zhí)行控制以相繼傳送包括存儲在第二區(qū) 域中的標題信息段和對應于存儲在第一區(qū)域中的驗證數(shù)據(jù)段的數(shù)據(jù)塊段的數(shù) 據(jù)包段。
根據(jù)該結(jié)構,由于構成該數(shù)據(jù)包段的標題信息段和數(shù)據(jù)塊段存儲在外部存 儲器的毗鄰區(qū)域中,網(wǎng)絡單元可以以較高速度從該外部存儲器讀取該段標題信 息和該段數(shù)據(jù)塊,并且由此,與該段標題信息和該段數(shù)據(jù)塊存儲在外部存儲器中彼此分離的區(qū)域中的情況相比,可以執(zhí)行數(shù)據(jù)包段的較高速度傳送。
而且,該通信裝置可能進一步包括可用于確保多個數(shù)據(jù)包區(qū)域的地址控制 單元,該多個數(shù)據(jù)包區(qū)域中的每一個包括作為在外部存儲器中具有第二尺寸的 區(qū)域中的空閑區(qū)域的第一區(qū)域和毗鄰該第一區(qū)域且作為具有預定地址值的區(qū) 域值的第二區(qū)域、并且指派一一對應地表示數(shù)據(jù)包區(qū)域的多個地址值,其中存 儲電路可以將每對數(shù)據(jù)塊段和相應的驗證數(shù)據(jù)段存儲在由地址控制單元指派 的地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域的不同區(qū)域中,而對于由地址控制單元 指派的地址值表示的每個數(shù)據(jù)包區(qū)域,所述程序可用于讀取對應該段數(shù)據(jù)塊的 驗證數(shù)據(jù)段、產(chǎn)生標題信息段、將該段標題信息存儲在第二區(qū)域中、并且執(zhí)行 控制以相繼傳送包括存儲在該數(shù)據(jù)包區(qū)域中的產(chǎn)生的標題信息段和數(shù)據(jù)塊段 的數(shù)據(jù)包段。
根據(jù)該結(jié)構,由于在外部存儲器中由地址控制單元指派的任意地址值表示 的區(qū)域中布置數(shù)據(jù)包區(qū)域,可以傳輸編碼數(shù)據(jù)段而不需要確保用于在該外部存 儲器中毗鄰布置數(shù)據(jù)包區(qū)域的物理毗鄰區(qū)域。
而且,該通信裝置可以進一歩包括可用于確保多段數(shù)據(jù)包區(qū)域的地址控制 單元,該多段數(shù)據(jù)包區(qū)域中的每一個包括作為在外部存儲器中具有第二尺寸的 區(qū)域中的空閑區(qū)域的第一區(qū)域和毗鄰該第一區(qū)域且作為具有預定地址值的區(qū) 域值的第二區(qū)域,并且指派一一對應地表示該數(shù)據(jù)包區(qū)域的多個地址值;偏移 控制單元,對于由地址控制單元指派的每個地址值,可用于將相繼指派的地址 值存儲在由每個地址值表示的數(shù)據(jù)包區(qū)域的第二區(qū)域中,其中對于數(shù)據(jù)包區(qū)域 的每個第二區(qū)域,存儲電路可以將數(shù)據(jù)塊段和對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段
存儲在由第二區(qū)域中存儲的地址值表示的該數(shù)據(jù)包區(qū)域的第一區(qū)域中,而對于 由存儲在數(shù)據(jù)包區(qū)域的第二區(qū)域中的地址值表示的每個數(shù)據(jù)包區(qū)域,所述程序 可用于讀取存儲在第一區(qū)域中的驗證數(shù)據(jù)段、產(chǎn)生標題信息段、將該段標題信 息存儲在第二區(qū)域中、并且執(zhí)行控制以相繼傳送包括存儲在該數(shù)據(jù)包區(qū)域中的 標題信息段和數(shù)據(jù)塊段的數(shù)據(jù)包段。
根據(jù)該結(jié)構,由于偏移控制單元在每段數(shù)據(jù)包區(qū)域的第二區(qū)域中存儲表示 接下來將要訪問的數(shù)據(jù)包區(qū)域的地址值,所以即使在外部存儲器中由任意地址 值表示的區(qū)域中布置數(shù)據(jù)包區(qū)域,該存儲電路和CPU可以通過參考存儲在第 二區(qū)域中的地址值而訪問數(shù)據(jù)包區(qū)域。而且,該通信裝置可以進一步包括MMU (存儲器管理單元),其可用于 存儲與表示外部存儲器中空閑區(qū)域的物理地址值相對應的邏輯地址值、并且如 果對該外部存儲器的訪問指派了邏輯地址值則將該邏輯地址值轉(zhuǎn)換為相應的 物理地址值,其中當在具有第二尺寸的區(qū)域中存儲數(shù)據(jù)塊段和對應于該段數(shù)據(jù) 塊的驗證數(shù)據(jù)段時所述存儲電路可以指派邏輯地址值,而當從具有第二尺寸的 區(qū)域中讀取驗證數(shù)據(jù)段時所述程序可以進一歩用于指派邏輯地址值。
根據(jù)該結(jié)構,當存儲電路和CPU指派邏輯地址值并訪問具有第二尺寸的 區(qū)域時,該MMU將該邏輯地址值轉(zhuǎn)換為對應于該邏輯地址值的物理地址值, 由此使存儲電路和CPU能夠訪問具有第二尺寸的區(qū)域而不需要知道其物理位 置。
該通信裝置可以進一步包括編碼數(shù)據(jù)存儲單元,其在接收由已經(jīng)在預定的 單元中壓縮編碼的視頻或音頻數(shù)據(jù)構成的編碼數(shù)據(jù)的輸入時,可用于在外部存 儲器中存儲該編碼數(shù)據(jù);和長度監(jiān)控單元,其監(jiān)控由該編碼數(shù)據(jù)存儲單元存儲 在外部存儲器中的編碼數(shù)據(jù)尺寸并且在每次存儲編碼數(shù)據(jù)的第一尺寸值時傳 送指示存儲電路讀取該編碼數(shù)據(jù)的第一尺寸值的讀取指令信號,其中每次存儲 電路從該長度講課單元接收讀取指令信號時每段數(shù)據(jù)塊可以是從外部存儲器 讀取的編碼數(shù)據(jù)的不同的第一尺寸值。
根據(jù)該結(jié)構,每次存儲編碼數(shù)據(jù)的第一尺寸值時,存儲電路可以對作為一 段數(shù)據(jù)塊的編碼數(shù)據(jù)的第一尺寸值執(zhí)行處理而不需要等待編碼單元完全完成 該編碼數(shù)據(jù)的存儲,由此消除了不必要的等待時間并能夠?qū)崿F(xiàn)編碼數(shù)據(jù)的高速 傳送。
而且,該通信裝置可以進一歩包括圖形監(jiān)控單元,其在接收由已經(jīng)在預定 單元中壓縮編碼的視頻或音頻數(shù)據(jù)構成的編碼數(shù)據(jù)的輸入時,可用于(i)在 外部存儲器中存儲該編碼數(shù)據(jù)、(ii)在存儲期間在該編碼數(shù)據(jù)中檢測預定的位 圖形、以及(iii)對于檢測到的每個預定的位圖形,向存儲電路傳送表示已經(jīng) 檢測到該預定的位圖形的檢測信號,其中在從該圖形監(jiān)控單元接收到檢測信號 時,該存儲電路可以讀取存儲在外部存儲器中的該編碼數(shù)據(jù),直到接收下一檢 測信號,并且將讀取的編碼數(shù)據(jù)作為一段數(shù)據(jù)塊進行處理。
根據(jù)該結(jié)構,圖形監(jiān)控單元檢測何時將具有預定的位圖形的編碼數(shù)據(jù)存儲 在外部存儲器中,由此能夠在不增加CPU負載的同時檢測預定的位圖形。而且,當存儲電路接收到檢測信號時,存儲電路將包括該預定的位圖形且作為在 包括該預定的位圖形的先前接收的檢測信號之后存儲的編碼數(shù)據(jù)作為數(shù)據(jù)塊 段進行處理,由此能夠處理在其中必須為每個預定的位圖形傳送數(shù)據(jù)包(再同
步標記)的情況,如用于RTP傳輸?shù)腗PEG-4等中的那樣。
而且,在該通信裝置中,當在編碼數(shù)據(jù)中檢測到預定的位圖形時,圖形監(jiān) 控單元可以將在所檢測的位圖形之后的編碼數(shù)據(jù)存儲在其起點是外部存儲器 中預定地址邊界的區(qū)域中。
根據(jù)該結(jié)構,例如,如果預定的字節(jié)數(shù)量邊界是4-字節(jié)邊界,當圖形監(jiān)控 單元檢測到預定的位圖形時,將在所檢測的位圖形之后的編碼數(shù)據(jù)存儲在外部 存儲器中以4-字節(jié)邊界開始的區(qū)域中,由此確保了字節(jié)對準。
而且,該通信裝置可以進一步包括代替包控制單元的標題指派電路,其對 于由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,可用于讀取對應于該段數(shù)據(jù) 塊的驗證數(shù)據(jù)并且產(chǎn)生包括所讀取的驗證數(shù)據(jù)段的標題信息段;和傳送控制單 元,其包括CPU并且可用于使該CPU執(zhí)行程序,對于由標題指派電路產(chǎn)生的 每段標題信息,該程序可用于執(zhí)行控制以傳送包括由標題指派電路產(chǎn)生的該段 標題信息和對應于包括在該標題信息中的驗證數(shù)據(jù)段的數(shù)據(jù)塊段的數(shù)據(jù)包段。
根據(jù)該結(jié)構,由于由標題指派電路產(chǎn)生標題信息,包控制單元的CPU不 需要產(chǎn)生標題信息,由此降低了CPU的負載。
而且,在該通信裝置中,標題指派電路可以通過為數(shù)據(jù)傳輸中使用的協(xié)議 等級中的每一層選擇任意標題來產(chǎn)生每段標題信息。
根據(jù)該結(jié)構,由于標題指派電路通過為每一層選擇任意標題來產(chǎn)生標題信 息,可以根據(jù)由通信裝置使用的協(xié)議而產(chǎn)生標題信息。
而且,該通信裝置可以進一步包括標題指派電路,去代替標題信息,對于 由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,該標題指派電路產(chǎn)生作為標題 信息一部分并且可以不使用驗證數(shù)據(jù)而產(chǎn)生的一段部分標題信息;和傳送控制 單元,其包括CPU且可用于使該CPU執(zhí)行程序,對于由存儲電路存儲在外部 存儲器中的每段數(shù)據(jù)塊,該程序可用于讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段、 產(chǎn)生包括所讀取的該段驗證數(shù)據(jù)和對應于該段數(shù)據(jù)塊的部分標題信息的標題 信息段、以及執(zhí)行控制以傳送包括該段標題信息和對應于該段驗證數(shù)據(jù)的數(shù)據(jù) 塊段的數(shù)據(jù)包段。根據(jù)該結(jié)構,由于標題指派電路傳輸可以不使用驗證數(shù)據(jù)而產(chǎn)生的部分標 題信息,并且包控制單元的CPU通過執(zhí)行程序而使用由標題指派電路產(chǎn)生的
部分標題信息產(chǎn)生標題信息,因而可以降低CPU的負載。
而且,在該通信裝置中,存儲電路可以產(chǎn)生多段驗證數(shù)據(jù),每段驗證數(shù)據(jù) 反映相應的數(shù)據(jù)塊及對應于該數(shù)據(jù)塊的部分標題信息段的內(nèi)容。
而且,該通信裝置可以進一步包括編碼設定單元,其可用于為通過壓縮編
碼預定單元中的視頻或音頻數(shù)據(jù)而形成的編碼數(shù)據(jù)指派數(shù)據(jù)尺寸;和編碼單 元,其在接收到視頻或音頻數(shù)據(jù)的輸入時,可根據(jù)由編碼設定單元指派的數(shù)據(jù) 尺寸而壓縮編碼預定單元中的視頻或音頻數(shù)據(jù)并將編碼數(shù)據(jù)存儲在外部存儲 器中。
根據(jù)該結(jié)構,由于編碼單元以由編碼設定單元指派的數(shù)據(jù)尺寸壓縮編碼預 定單元中的視頻或音頻數(shù)據(jù),例如,如果編碼設定單元根據(jù)網(wǎng)絡的傳送速度指 派數(shù)據(jù)尺寸,對于根據(jù)由標準等確定的幀率傳送編碼數(shù)據(jù)由此能夠抑制所謂跳 動的發(fā)生的現(xiàn)象存在很大的可能性。
而且,在該通信裝置中,外部存儲器可能具有彼此邏輯分開的第一網(wǎng)絡數(shù) 據(jù)區(qū)域和第二網(wǎng)絡數(shù)據(jù)區(qū)域,并且每次接收到由已經(jīng)在預定單元中壓縮編碼的 視頻或音頻數(shù)據(jù)構成的編碼數(shù)據(jù)的輸入時,可以在第一網(wǎng)絡數(shù)據(jù)區(qū)域和第二網(wǎng) 絡數(shù)據(jù)區(qū)域中交替布置具有第二尺寸的多個區(qū)域。
根據(jù)該結(jié)構,當將屬于一段編碼數(shù)據(jù)的具有第二尺寸的區(qū)域布置在第一網(wǎng) 絡數(shù)據(jù)區(qū)域中時,將屬于后續(xù)一段編碼數(shù)據(jù)的具有第二尺寸的區(qū)域布置在第二 網(wǎng)絡數(shù)據(jù)區(qū)域中。相對地,該能夠有利于流量控制,以便不會由后續(xù)一段編碼 數(shù)據(jù)段的數(shù)據(jù)塊段和相應的驗證數(shù)據(jù)段改寫還沒有作為數(shù)據(jù)包傳輸?shù)臄?shù)據(jù)塊。
而且,在該通信裝置,可以在具有再傳送的可能性的前提下執(zhí)行通信,外 部存儲器可以具有存儲構成再傳送可能需要的數(shù)據(jù)包段的數(shù)據(jù)塊段的再傳送 區(qū)域,并且對于每段數(shù)據(jù)包,如果在網(wǎng)絡單元傳送該數(shù)據(jù)包段之后的預定時間 周期內(nèi)沒有接收到來自該段數(shù)據(jù)包的傳送目的地的表示已經(jīng)接收到該段數(shù)據(jù) 包的答復,則包控制單元可以使CPU執(zhí)行程序以將構成沒有接收到答復的該 段數(shù)據(jù)包的該段數(shù)據(jù)塊傳送到再傳送區(qū)域。
根據(jù)該結(jié)構,如果CPU沒有接收到表示已經(jīng)在傳送之后的預定時間周期 內(nèi)從發(fā)送器接收到數(shù)據(jù)包的答復,則通過執(zhí)行程序,CPU將構成數(shù)據(jù)包的標題信息和數(shù)據(jù)塊傳輸?shù)酵獠看鎯ζ鞯脑賯魉蛥^(qū)域,具體地說,該數(shù)據(jù)包必須被 再次傳送。因此,當存儲電路對將要相繼存儲的一段編碼數(shù)據(jù)執(zhí)行處理時,設 定適當?shù)念A定時間周期能夠防止存儲構成將要被再傳送的數(shù)據(jù)包的數(shù)據(jù)的區(qū) 域被改寫。
而且,通過經(jīng)由網(wǎng)絡傳送數(shù)據(jù)的通信裝置實現(xiàn)本發(fā)明的這一目的,該通信 裝置包括檢測單元,其可用于對于數(shù)據(jù)的每個預定尺寸部分產(chǎn)生防偽檢測數(shù)據(jù)
段;數(shù)據(jù)傳輸單元,其可用于將數(shù)據(jù)傳送到預定的存儲區(qū)域;CPU,其可用于 執(zhí)行控制程序,對于數(shù)據(jù)傳輸單元已經(jīng)完成向存儲區(qū)域傳送的數(shù)據(jù)的每個預定 尺寸部分,該控制程序執(zhí)行控制以將數(shù)據(jù)的預定尺寸部分和與之對應的防偽檢 測數(shù)據(jù)作為數(shù)據(jù)包進行傳送;以及網(wǎng)絡單元,其可用于經(jīng)由網(wǎng)絡傳送多段數(shù)據(jù) 包,其中檢測單元、數(shù)據(jù)傳輸單元和CPU并行運行。
根據(jù)該結(jié)構,由于檢測單元、數(shù)據(jù)傳輸單元和CPU并行執(zhí)行處理,所以 可以實現(xiàn)數(shù)據(jù)包的高速傳送。
結(jié)合附圖,從下面的描述中,本發(fā)明的這些和其它目的、優(yōu)點及特征將變 得顯而易見,附圖示出了本發(fā)明的特定實施例。 在附圖中
圖1示出了根據(jù)實施例1的通信裝置100的結(jié)構; 圖2示出了分離式數(shù)據(jù)存儲單元103的結(jié)構; 圖3示出了外部存儲器110的存儲區(qū)域;
圖4示出了數(shù)據(jù)包400的幀結(jié)構;
圖5示出了分離式數(shù)據(jù)存儲單元103的處理流程圖6示出了 CPU 104的處理流程圖7示出了通信裝置100中各種單元的處理時序圖8示出了根據(jù)實施例2的通信裝置800的結(jié)構;
圖9示出了網(wǎng)絡數(shù)據(jù)區(qū)域302a;
圖10示出了地址控制單元802的處理流程圖11示出了分離式數(shù)據(jù)存儲單元803的處理流程圖12示出了通信裝置800中各種單元的處理時序圖;圖13示出了根據(jù)變型1的通信裝置1300的結(jié)構;
圖14示出了網(wǎng)絡數(shù)據(jù)區(qū)域302a;
圖15示出了偏移控制單元1302的處理流程圖16示出了分離式數(shù)據(jù)存儲單元1303的處理流程圖17示出了CPU 1304的處理流程圖18示出了通信裝置1300中各種單元的處理時序圖19示出了根據(jù)變型2的通信裝置1900的結(jié)構;
圖20示出了地址轉(zhuǎn)換表2000的數(shù)據(jù)結(jié)構和示意性內(nèi)容;
圖21示出了MMU1901的處理流程圖22示出了根據(jù)變型3的通信裝置2200的結(jié)構;
圖23示出了長度監(jiān)控單元2201的處理流程圖24示出了分離式數(shù)據(jù)存儲單元2202的處理流程圖25示出了通信裝置2200中各種單元的處理時序圖26示出了根據(jù)變型4的通信裝置2600的結(jié)構;
圖27示出了分離式數(shù)據(jù)存儲單元2602的處理流程圖28示出了通信裝置2600中各種單元的處理時序圖;以及
圖29示出了本發(fā)明的通信裝置的示意性應用。
具體實施例方式
下面參考附圖描述本發(fā)明的實施例。
實施例1
概述
根據(jù)實施例1的通信裝置改進了完全由軟件實現(xiàn)視頻數(shù)據(jù)的發(fā)送處理的 通信裝置,并且通過部分地由硬件實現(xiàn)該發(fā)送處理能夠?qū)崿F(xiàn)更高速度的發(fā)送處 理。
將由實施例1的通信裝置執(zhí)行的視頻數(shù)據(jù)的發(fā)送處理的描述分為數(shù)據(jù)處 理、協(xié)議處理和傳輸處理。
首先,對于作為已經(jīng)在逐幀基礎上壓縮編碼的視頻數(shù)據(jù)的每段編碼數(shù)據(jù), 數(shù)據(jù)處理是指對于將要傳輸?shù)臄?shù)據(jù)包的每個有效載荷尺寸計算校驗和,并在該 通信裝置外部的存儲器(以下將其稱為"外部存儲器")中具有預定尺寸的區(qū)域(以下將其稱為"第一區(qū)域")中存儲將要傳輸?shù)臄?shù)據(jù)包的有效載荷尺寸(以 下將其稱為"數(shù)據(jù)塊")和對應的校驗和。
這里,在該外部存儲器中以作為預定值(例如256)與每個第一區(qū)域的尺 寸的和的地址值間隔布置第一區(qū)域,換句話說,在相鄰的第一區(qū)域之間留下空 閑的預定值間隔。換句話說,將由一段數(shù)據(jù)塊和校驗和構成的數(shù)據(jù)存儲在每個 第一區(qū)域中。
此后,將具有預定值尺寸的區(qū)域稱為"第二區(qū)域",并且將由第二區(qū)域和 毗鄰該第二區(qū)域的第一區(qū)域構成的區(qū)域稱為"數(shù)據(jù)包區(qū)域"。
接下來,對于外部存儲器中的每段數(shù)據(jù)包區(qū)域,協(xié)議處理是指讀取存儲在 第一區(qū)域中的校驗和,產(chǎn)生包括所讀取的校驗和的標題信息,并將所產(chǎn)生的標 題信息存儲在第二區(qū)域中。
接下來,對于每段數(shù)據(jù)包區(qū)域,傳送處理是指讀取存儲在第一區(qū)域中的數(shù) 據(jù)塊段和存儲在第二區(qū)域中的標題信息,并經(jīng)由網(wǎng)絡傳輸由該段數(shù)據(jù)塊和該段 標題信息構成的一段數(shù)據(jù)包。需要注意的是,由于在該段標題信息中已經(jīng)包括 了存儲在第一區(qū)域中的校驗和,所以沒有傳輸該校驗和。
在視頻數(shù)據(jù)的發(fā)送處理中,根據(jù)實施例1的通信裝置使作為專門硬件的分 離式數(shù)據(jù)存儲單元執(zhí)行數(shù)據(jù)處理,并且使執(zhí)行控制程序的CPU (中央處理單 元)執(zhí)行協(xié)議處理和對傳輸處理的控制。
因此,與完全使用專門硬件實現(xiàn)發(fā)送處理的情況相比,這能夠抑制生產(chǎn)該 通信裝置的最初成本。
而且,使分離式數(shù)據(jù)存儲單元執(zhí)行作為發(fā)送處理一部分的數(shù)據(jù)處理可以實 現(xiàn)高速發(fā)送處理,這是因為一旦對于該數(shù)據(jù)已經(jīng)完成了數(shù)據(jù)處理,就可以使 CPU對已經(jīng)完成數(shù)據(jù)處理的數(shù)據(jù)執(zhí)行后續(xù)的協(xié)議處理。
而且,分離式數(shù)據(jù)存儲單元在物理上毗鄰的第一區(qū)域內(nèi)存儲每段數(shù)據(jù)塊及 其校驗和,并且CPU在毗鄰布置于第一區(qū)域之前的第二區(qū)域中存儲標題信息。
因此,在外部存儲器的毗鄰區(qū)域內(nèi)存儲產(chǎn)生將要最終傳輸?shù)亩喽螖?shù)據(jù)包所 需的多段數(shù)據(jù)塊和多段標題信息,由此與在外部存儲器的分離區(qū)域中存儲多段 數(shù)據(jù)塊和多段標題信息的情況相比,其通常能夠?qū)崿F(xiàn)程序的更高速讀取,而且 還能夠?qū)崿F(xiàn)更高速傳輸處理。
結(jié)抅下面描述根據(jù)實施例1的通信裝置100的結(jié)構。
圖1示出了根據(jù)實施例1的通信裝置100的結(jié)構。
如圖1所示,將通信裝置100與該通信裝置100外部的外部存儲器110相 連接,并且還經(jīng)由網(wǎng)絡120與終端130相連接。
需要注意的是,外部存儲器110是存儲已經(jīng)由通信裝置100處理的編碼數(shù) 據(jù)、數(shù)據(jù)塊、校驗和以及標題信息的存儲器,并且在下面的描述中,外部存儲 器110中每個地址部分的尺寸是1字節(jié),并且外部存儲器110每次傳輸?shù)臄?shù)據(jù) 尺寸,換句話說,該外部存儲器110的線寬是4字節(jié)。
而且,網(wǎng)絡120是LAN (局域網(wǎng))或WAN (廣域網(wǎng))。終端130是接收 從通信裝置IOO傳輸?shù)臄?shù)據(jù)包并回放視頻的PC (個人計算機)。
如圖1所示,通信裝置IOO包括MCU (存儲器控制單元)101、編碼單元 102、分離式數(shù)據(jù)存儲單元103、 CPU 104、網(wǎng)絡單元105和內(nèi)部總線106。
MCU 101是一種通用的判優(yōu)器電路,其執(zhí)行判優(yōu)以便在訪問外部存儲器 IIO時不發(fā)生競爭,并且在編碼單元102、分離式數(shù)據(jù)存儲單元103、 CPU 104 和網(wǎng)絡單元105訪問該外部存儲器110時執(zhí)行這種判優(yōu)。
編碼單元102是一種通用壓縮編碼電路,其根據(jù)MJPEG (活動聯(lián)合圖像 專家組)標準、MPEG (活動圖像專家組)標準、H.264標準等轉(zhuǎn)換從外部源 輸入的逐幀視頻數(shù)據(jù)、根據(jù)MCU 101的判優(yōu)結(jié)果將已經(jīng)壓縮編碼的每段編碼 數(shù)據(jù)存儲在將在后面描述的外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或編碼數(shù)據(jù) 區(qū)域301b中,并且當已經(jīng)完成存儲時,向分離式數(shù)據(jù)存儲單元103傳輸表示 完成存儲的通知。
需要注意的是,雖然可以使用任何的壓縮編碼方法,在下面的描述中使用 根據(jù)MPEG標準的編碼。
分離式數(shù)據(jù)存儲單元103是執(zhí)行視頻數(shù)據(jù)的發(fā)送處理的數(shù)據(jù)處理部分的 電路。這里,分離式數(shù)據(jù)存儲單元103對應于本發(fā)明中的存儲電路,并且在所 有的實施例和變型中都如此。
下面參考圖2詳細描述分離式數(shù)據(jù)存儲單元103。
圖2示出了分離式數(shù)據(jù)存儲單元103的結(jié)構。
如圖2所示,分離式數(shù)據(jù)存儲單元103包括緩沖器201、校驗和計算單元 202、 DTC (數(shù)據(jù)傳送控制器)206和控制單元207。緩沖器201存儲由DTC 206從將在后面描述的外部存儲器110的編碼數(shù) 據(jù)區(qū)域301a或編碼數(shù)據(jù)區(qū)域301b讀取的編碼數(shù)據(jù)。
具體地說,由于編碼數(shù)據(jù)以具有對應于外部存儲器110的線寬的預定尺寸 (4字節(jié))的多段形式進行傳輸,緩沖器201以具有該預定尺寸的多段形式存 儲該編碼數(shù)據(jù)。
而且,緩沖其201以每次2字節(jié)的多段形式將存儲的編碼數(shù)據(jù)傳輸?shù)叫r?和計算單元202。
校驗和計算單元202包括加法器,并且是用于對2字節(jié)數(shù)據(jù)段執(zhí)行加法的 電路。對于從緩沖器201接收的編碼數(shù)據(jù)的每個2字節(jié)數(shù)據(jù)段,校驗和計算單 元202將編碼數(shù)據(jù)的該段認為是數(shù)字值,并且計算作為全部數(shù)字值的總和的校 驗和。
需要注意的是,當視頻數(shù)據(jù)的發(fā)送處理開始時,將在后面描述的CPU 104 將該校驗和設定為0以作為初始值。
DTC206是執(zhí)行數(shù)據(jù)傳輸?shù)碾娐?,并且包括計?shù)器203、寄存器204和傳 輸單元205。
計數(shù)器203是這樣一種電路,其保持表示在后面描述的外部存儲器110的 編碼數(shù)據(jù)區(qū)域301a或301b中存儲編碼數(shù)據(jù)的位置的地址值(以下將其稱為"讀 取地址值")和表示在后面描述的網(wǎng)絡數(shù)據(jù)區(qū)域302a或302b中用于存儲數(shù)據(jù) 塊段及其校驗和的第一區(qū)域的位置的地址值(以下將其稱為"寫入地址值")。
當視頻數(shù)據(jù)發(fā)送處理開始時,對于讀取地址值的初始值,CPU104設定編 碼數(shù)據(jù)區(qū)域301a的開始地址值。對于寫入地址值,CPU 104設定首先將要訪 問的網(wǎng)絡數(shù)據(jù)區(qū)域302a的第一區(qū)域的開始地址值。
在傳輸數(shù)據(jù)時,由傳輸單元205更新讀取地址值和寫入地址值。同樣,當 已經(jīng)完全從編碼數(shù)據(jù)區(qū)域301a或301b中讀取編碼數(shù)據(jù)的一幀值(worth)時, 控制單元207將另一編碼數(shù)據(jù)區(qū)域的開始地址值設定為讀取地址值。具體地 說,如果已經(jīng)完全從編碼數(shù)據(jù)區(qū)域301a中讀取了編碼數(shù)據(jù)的一幀值時,控制 單元207將編碼數(shù)據(jù)區(qū)域301b的開始地址值設定為讀取地址值,并且如果已 經(jīng)完全從編碼數(shù)據(jù)區(qū)域301b中讀取編碼數(shù)據(jù)的一幀值時,則控制單元207將 編碼數(shù)據(jù)區(qū)域301a的開始地址值設定為讀取地址值。
而且,當已經(jīng)將一段數(shù)據(jù)塊及其校驗和完全存儲在網(wǎng)絡數(shù)據(jù)區(qū)域302a或302b的第一區(qū)域其中之一時,控制單元207將另一網(wǎng)絡數(shù)據(jù)區(qū)域的開始地址 值設定為寫入地址值。具體地說,如果在網(wǎng)絡數(shù)據(jù)區(qū)域302a中完成了存儲, 則控制單元207將網(wǎng)絡數(shù)據(jù)區(qū)域302b中首先將要被訪問的第一區(qū)域的開始地 址設定為寫入地址值,而如果在網(wǎng)絡數(shù)據(jù)區(qū)域302b中完成了存儲,則控制單 元207將網(wǎng)絡數(shù)據(jù)區(qū)域302a中首先將要被訪問的第一區(qū)域的開始地址設定為 寫入地址值。
寄存器204是這樣一種電路,其保持對應于第二區(qū)域尺寸的地址值、將在 后面描述的網(wǎng)絡數(shù)據(jù)區(qū)域301a或301b的開始地址值和網(wǎng)絡數(shù)據(jù)區(qū)域302a或 302b中首先將要被訪問的第一區(qū)域的開始地址,這將在后面進行描述。當視 頻數(shù)據(jù)的發(fā)送處理開始時,這些地址值由CPU104設定,這將在后面描述。
傳輸單元205是從外部存儲器IIO讀取編碼數(shù)據(jù)并在外部存儲器110中存 儲數(shù)據(jù)塊和校驗和的電路。
具體地說,在通過控制單元207從編碼單元102接收到編碼數(shù)據(jù)存儲完成 通知時,對于由在計數(shù)器203中設定的讀取地址值表示的編碼數(shù)據(jù)區(qū)域301a 或301b內(nèi)的編碼數(shù)據(jù)的每個預定尺寸(4字節(jié))值,傳輸單元205讀取編碼 數(shù)據(jù)并將讀取的編碼數(shù)據(jù)存儲在緩沖器201中。每次讀取編碼數(shù)據(jù)的預定尺寸 (4字節(jié))時,傳輸單元205使在計數(shù)器203中設定的讀取地址值增加4。
而且,對于每個預定尺寸(4字節(jié)),傳輸單元205將來自緩沖器201的 編碼數(shù)據(jù)存儲到由在計數(shù)器203中設定的寫入地址值表示的外部存儲器110的 網(wǎng)絡數(shù)據(jù)區(qū)域302a或302b的第一區(qū)域內(nèi),并使寫入地址單元增加4。
當由于在網(wǎng)絡數(shù)據(jù)區(qū)域302a或302b的第一區(qū)域內(nèi)存儲編碼數(shù)據(jù)的預定尺 寸而完成了編碼數(shù)據(jù)的數(shù)據(jù)塊尺寸值的存儲時,傳輸單元205從校驗和計算單 元202讀取校驗和,并且將該校驗和存儲在由在計數(shù)器203中設定的寫入地址 值表示的外部存儲器110的第一區(qū)域內(nèi)。
而且,每次完成校驗和的存儲時,傳輸單元205向控制單元207傳輸校驗 和存儲完成通知。
需要注意的是,傳輸單元205根據(jù)MCU 101的判優(yōu)結(jié)果而訪問外部存儲 器110。
控制單元207是對分離式數(shù)據(jù)存儲單元103內(nèi)的各種單元執(zhí)行控制的電 路。具體地說,在從編碼單元102接收到編碼數(shù)據(jù)存儲完成通知時,控制單元207將該通知傳送給傳輸單元205。
而且,在從傳輸單元205接收到校驗和存儲完成通知時,控制單元207 將校驗和計算單元202中的校驗和的值重設為0,將該校驗和存儲完成通知傳 輸給CPU 104,并且使在計數(shù)器203內(nèi)設定的寫入地址值以對應于由寄存器 204保持的第二區(qū)域尺寸的地址值增加。
增加寫入地址值的目的是以作為第二區(qū)域尺寸和每個第一區(qū)域尺寸的和 的地址值間隔布置外部存儲器110內(nèi)的第一區(qū)域,并且在使被用作第二區(qū)域的 區(qū)域空閑的同時順序?qū)⒁欢螖?shù)據(jù)塊及其校驗和存儲在第一區(qū)域內(nèi)。
而且,當已經(jīng)從編碼數(shù)據(jù)區(qū)域301a或301b中完全讀取了編碼數(shù)據(jù)的一幀 值時,控制單元207將另一編碼數(shù)據(jù)區(qū)域的開始地址值設定為讀取地址值,并 且當已經(jīng)在網(wǎng)絡數(shù)據(jù)存儲區(qū)域302a或302b的第一區(qū)域其中之一內(nèi)完全存儲了 該數(shù)據(jù)塊及其校驗和時,控制單元207將另一網(wǎng)絡數(shù)據(jù)區(qū)域內(nèi)首先將要被訪問 的開始地址設定為寫入地址值。
CPU 104是這樣一種電路,其通過執(zhí)行存儲在通信裝置100中未示出的存 儲器(以下將其稱為"間隔存儲器")內(nèi)的控制程序而執(zhí)行協(xié)議處理和視頻數(shù) 據(jù)的發(fā)送處理的傳輸處理部分的控制。CPU 104和間隔存儲器實現(xiàn)了本發(fā)明中 的包控制單元的功能,并且在下面的全部實施例和變型中都如此。
具體地說,在協(xié)議處理中,在從分離式數(shù)據(jù)存儲單元103接收到校驗和存 儲完成通知時,通過執(zhí)行該控制程序,CPU104讀取存儲在外部存儲器110的 第一區(qū)域內(nèi)的校驗和,產(chǎn)生包括所讀取的校驗和的標題信息,并且將所產(chǎn)生的 標題信息存儲到布置于存儲該校驗和的第一區(qū)域之前的第二區(qū)域內(nèi)。后面將描 述標題信息的內(nèi)容。
可以通過下述方法實現(xiàn)由控制程序執(zhí)行的讀取存儲在每個第一區(qū)域內(nèi)的 校驗和及在每個第二區(qū)域內(nèi)存儲該段標題信息的步驟,該方法定義結(jié)構變量S 和表示該變量S的地址的指針變量A,其中結(jié)構變量S的組元為,例如,表示 標題信息的變量H、表示數(shù)據(jù)塊的變量D及表示校驗和的變量C。
此時,將首先將要被訪問的數(shù)據(jù)包區(qū)域的開始地址設定為指針變量A的 初始值。通過指定作為存儲在由變量A表示的地址處的結(jié)構變量S的組元的 變量C能夠訪問校驗和,并且通過指定作為結(jié)構變量S的組元的變量H能夠 訪問標題信息。使變量A每次增加1能夠?qū)崿F(xiàn)順序訪問數(shù)據(jù)包區(qū)域的每一個。而且,具體地說,在傳輸處理的控制中,當將所產(chǎn)生的標題信息存儲在外
部存儲器110的第二區(qū)域內(nèi)時,通過執(zhí)行該控制程序,CPU104指派表示該數(shù) 據(jù)包區(qū)域的地址值,并且向網(wǎng)絡單元105傳輸用于傳輸包括存儲在第二區(qū)域內(nèi) 的標題信息和存儲在第一區(qū)域內(nèi)的數(shù)據(jù)塊的數(shù)據(jù)包的傳輸指令通知。
需要注意的是,根據(jù)由MCU 101判優(yōu)的結(jié)果而執(zhí)行對外部存儲器110的 訪問。
而且,CPU104通過執(zhí)行控制程序而執(zhí)行通信裝置100的全面控制。具體 地說,當視頻數(shù)據(jù)發(fā)送處理開始時,CPU104在分離式數(shù)據(jù)存儲單元103的校 驗和計算單元202以及DTC 206的計數(shù)器203和寄存器204內(nèi)設定初始值。
網(wǎng)絡單元105為通用網(wǎng)絡接口并且是這樣一種電路其讀取存儲在由CPU 104指派的地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域內(nèi)的數(shù)據(jù)塊和存儲在數(shù)據(jù)包 區(qū)域的第二區(qū)域內(nèi)的標題信息,并且經(jīng)由網(wǎng)絡120向終端130相繼傳輸所讀取 的存儲在第一區(qū)域內(nèi)的數(shù)據(jù)塊和存儲在第二區(qū)域內(nèi)的標題信息以作為數(shù)據(jù)包。 后面將描述數(shù)據(jù)包的內(nèi)容。
需要注意的是,根據(jù)由MCU 101判優(yōu)的結(jié)果而執(zhí)行對外部存儲器110的 訪問。
內(nèi)部總線106是用于在分離式數(shù)據(jù)存儲單元103、 CPU 104、網(wǎng)絡單元105 及外部存儲器110之間執(zhí)行數(shù)據(jù)傳輸?shù)耐ㄓ玫刂房偩€和數(shù)據(jù)總線。 數(shù)據(jù)
下面描述由通信裝置IOO使用的數(shù)據(jù)。 在夕A部存儲器徹內(nèi)布置數(shù)據(jù)
首先,下面描述存儲在外部存儲器110內(nèi)的數(shù)據(jù)布置。 圖3示出了外部存儲器110的存儲區(qū)域。
如圖3所示,外部存儲器110的存儲區(qū)域是包括編碼數(shù)據(jù)區(qū)域301a及301b 和網(wǎng)絡數(shù)據(jù)區(qū)域302a及302b的區(qū)域。
編碼數(shù)據(jù)區(qū)域301a是存儲由編碼單元102壓縮編碼成MPEG的編碼數(shù)據(jù) 的一幀值的物理毗鄰區(qū)域。
編碼數(shù)據(jù)區(qū)域301b基本上與編碼數(shù)據(jù)區(qū)域301a相同,并且是在其中編碼 單元102存儲在存儲在編碼數(shù)據(jù)區(qū)域301a的編碼數(shù)據(jù)的一個幀值之后的編碼 數(shù)據(jù)的一幀值的區(qū)域。具體地說,將已經(jīng)由編碼單元102壓縮編碼的多段編碼數(shù)據(jù)存儲在編碼數(shù)
據(jù)區(qū)域301a或301b中,以便在逐幀基礎上交替。
網(wǎng)絡數(shù)據(jù)區(qū)域302a是存儲構成將要被傳輸?shù)骄W(wǎng)絡120的數(shù)據(jù)包并且對應 于存儲在編碼數(shù)據(jù)區(qū)域301a內(nèi)的編碼數(shù)據(jù)的一幀值的數(shù)據(jù)的物理毗鄰區(qū)域, 并且如圖3所示,該網(wǎng)絡數(shù)據(jù)區(qū)域302a進一步被邏輯劃分為數(shù)據(jù)包區(qū)域310a、 310b等。
網(wǎng)絡數(shù)據(jù)區(qū)域302a基本上與網(wǎng)絡數(shù)據(jù)區(qū)域302a相同,并且是用于存儲對 應于作為存儲在編碼數(shù)據(jù)區(qū)域301b內(nèi)的編碼數(shù)據(jù)的一幀值的數(shù)據(jù)包的數(shù)據(jù)的 區(qū)域。
由于數(shù)據(jù)包區(qū)域310a、 310b等具有相同的結(jié)構,下面僅描述數(shù)據(jù)包區(qū)域 310a。
數(shù)據(jù)包區(qū)域310a是存儲構成一段數(shù)據(jù)包的數(shù)據(jù)的物理毗鄰區(qū)域,并且其 被邏輯劃分成第一區(qū)域311和第二區(qū)域312。
第一區(qū)域311是存儲一段數(shù)據(jù)塊及其校驗和的區(qū)域。
該數(shù)據(jù)塊是具有數(shù)據(jù)包的有效載荷尺寸的編碼數(shù)據(jù),并且此后將一段數(shù)據(jù) 塊的尺寸描述為1472字節(jié),UDP中的最大有效載荷尺寸。
當將一段編碼數(shù)據(jù)看作是數(shù)字值時,校驗和是2字節(jié)數(shù)據(jù)塊中的全部數(shù)字 值的總值,而且校驗和的尺寸是2字節(jié)。
雖然第一區(qū)域311可以是假定能夠存儲數(shù)據(jù)塊(1472字節(jié))和校驗和(2 字節(jié))的任何尺寸,在下面的描述中第一區(qū)域311是2千字節(jié)區(qū)域。
第二區(qū)域312是存儲包括存儲在第一區(qū)域311內(nèi)的校驗和的標題信息的區(qū)域。
雖然第二區(qū)域312可以是假定能夠存儲將在后面描述的標題信息(在后面 描述的示例中為54字節(jié))的任何尺寸,在下面的描述中第二區(qū)域312是256 字節(jié)區(qū)域。
標纖阜、
下面描述標題信息。
標題信息是指以太網(wǎng)幀中的標題信息段,并且包括由分離式數(shù)據(jù)存儲單元 103計算的校驗和。
圖4示出了由網(wǎng)絡單元105在使用RTP (實時傳輸協(xié)議)/UDP傳送視頻數(shù)據(jù)時傳輸?shù)臄?shù)據(jù)包400的幀結(jié)構。
數(shù)據(jù)包400的幀結(jié)構與IEEE 802.3標準、UDP協(xié)議和RTP協(xié)議兼容,并 且如圖4所示,數(shù)據(jù)包400包括MAC (媒體訪問控制)標題410和數(shù)據(jù)420, 而且數(shù)據(jù)420還包括IP (因特網(wǎng)協(xié)議)標題421、 UDP標題422和RTP標題 423。
標題信息是由四個標題,即MAC標題410、 IP標題42K UDP標題422 和RTP標題423構成的信息。
由于每個標題的內(nèi)容與由IEEE 802.3標準、UDP協(xié)議和RTP協(xié)議中的每 個標題的內(nèi)容相同,這里省略了其描述。將存儲在第一區(qū)域311內(nèi)的校驗和用 作UDP標題422中的校驗和。而且,由于除標題以外的其它區(qū)域也與IEEE 802.3標準、UDP協(xié)議和RTP協(xié)議兼容,這里省略了其描述。
運療
下面描述處理上述數(shù)據(jù)且具有上述結(jié)構的通信裝置100的運行。 分離式數(shù)據(jù)存儲単元
首先,描述分離式數(shù)據(jù)存儲單元103的運行。
圖5示出了分離式數(shù)據(jù)存儲單元103的運行流程圖。
在下面的描述中,將編碼數(shù)據(jù)存儲在編碼數(shù)據(jù)區(qū)域301a內(nèi)。
分離式數(shù)據(jù)存儲單元103的DTC 206內(nèi)的傳輸單元205檢查是否已經(jīng)通
過分離式數(shù)據(jù)存儲單元103的控制單元207從編碼單元102接收到表示已經(jīng)完
成編碼數(shù)據(jù)的存儲的存儲完成通知(步驟S501)。
如果還沒有接收到編碼數(shù)據(jù)存儲完成通知(步驟S501: N),則處理返回
到步驟S501。
如果在預定時間周期內(nèi)還沒有接收到編碼數(shù)據(jù)存儲完成通知(步驟S501: 超時),則處理結(jié)束。
如果接收到編碼數(shù)據(jù)存儲完成通知(步驟S501: Y),則傳輸單元205檢 查是否完全完成編碼數(shù)據(jù)的傳送處理(歩驟S502)。
如果沒有完全完成編碼數(shù)據(jù)的傳送處理(步驟S502: N),則傳輸單元205 檢查是否已經(jīng)完全完成數(shù)據(jù)塊在第一區(qū)域311內(nèi)的存儲(步驟S503)。
如果還沒有完全完成數(shù)據(jù)塊在第一區(qū)域311內(nèi)的存儲(歩驟S503: N), 則傳輸單元205從由分離式數(shù)據(jù)存儲單元103的DTC 206內(nèi)的計數(shù)器203中的讀取地址值表示的編碼數(shù)據(jù)存儲區(qū)域301a將編碼數(shù)據(jù)的預定尺寸(4字節(jié)) 讀取到該分離式數(shù)據(jù)存儲單元301的緩沖器201 (步驟S504)。
需要注意的是,在讀取編碼數(shù)據(jù)的預定尺寸(4字節(jié))時,傳輸單元205 使計數(shù)器203將讀取地址值增加4。
緩沖器201將存儲的編碼數(shù)據(jù)以一次2字節(jié)的方式傳送到校驗和計算單元 202。校驗和計算單元202將接收到的每2字節(jié)編碼數(shù)據(jù)看做是數(shù)字值,并且 計算校驗和(步驟S505)。
傳輸單元205將存儲在緩沖器201內(nèi)的編碼數(shù)據(jù)的預定尺寸(4字節(jié))存 儲在由計數(shù)器203內(nèi)的寫入地址值表示的網(wǎng)絡數(shù)據(jù)區(qū)域302a內(nèi)的第一區(qū)域311 中(步驟S506),并且處理返回到步驟S503。
需要注意的是,當在第一區(qū)域311中存儲編碼數(shù)據(jù)的預定尺寸(4字節(jié)) 時,傳輸單元205使計數(shù)器203將寫入地址值增加4。
如果已經(jīng)完全完成數(shù)據(jù)塊的存儲(歩驟S503: Y),則傳輸單元205從校 驗和計算單元202讀取校驗和,并且將該校驗和存儲在由計數(shù)器203內(nèi)的寫入 地址值表示的網(wǎng)絡數(shù)據(jù)區(qū)域302a內(nèi)的第一區(qū)域311中(步驟S507)。
當已經(jīng)完成校驗和的存儲時,傳輸單元205通過控制單元207向CPU 104 傳送表示己經(jīng)完成校驗和的存儲的通知(步驟S508)。需要注意的是,控制單 元207將校驗和計算單元202的校驗和的值重設為0。
控制單元207使計數(shù)器203將寫入數(shù)據(jù)值增加分離式數(shù)據(jù)存儲單元103 的DTC 206內(nèi)的寄存器204內(nèi)設定的第二區(qū)域312的尺寸值,并且處理返回 到步驟S502。
如果已經(jīng)完全完成編碼數(shù)據(jù)的傳輸處理(歩驟S502: Y),則傳輸單元205 返回到步驟S501。
這樣結(jié)束了編碼數(shù)據(jù)的一個幀值的處理。
需要注意的是,由編碼單元102將下一幀的編碼數(shù)據(jù)存儲在外部存儲器 IIO的編碼數(shù)據(jù)區(qū)域301b中。
因此,控制單元207為計數(shù)器203中的讀取地址值設定存儲在寄存器204 內(nèi)的編碼數(shù)據(jù)區(qū)域301b的開始地址值,并且為計數(shù)器203中的寫入地址值設 定存儲在寄存器204內(nèi)網(wǎng)絡數(shù)據(jù)區(qū)域302b中首先將要被訪問的第一區(qū)域311 的開始地址值。結(jié)果,傳輸單元205從編碼數(shù)據(jù)存儲區(qū)域301b讀取編碼數(shù)據(jù),并且將數(shù)據(jù)塊及其校驗和存儲在網(wǎng)絡數(shù)據(jù)區(qū)域302b中。
下面描述CPU 104的運行。
圖6示出了 CPU 104的運行流程圖。
在下面的描述中,將數(shù)據(jù)塊和校驗和存儲在網(wǎng)絡數(shù)據(jù)區(qū)域302a中。 通過執(zhí)行控制程序,CPU 104檢查是否已經(jīng)從分離式數(shù)據(jù)存儲單元103接
收到表示已經(jīng)完成校驗和的存儲的通知(步驟S601)。
如果還沒有接收到校驗和存儲完成通知(步驟S601: N),則處理返回到
步驟S601。
如果在預定時間周期內(nèi)還沒有接收到校驗和存儲完成通知(歩驟S601:
超時),則處理結(jié)束。
如果接收到校驗和存儲完成通知(步驟S60h Y),則通過執(zhí)行控制程序, CPU104讀取存儲在第一區(qū)域311內(nèi)的校驗和(步驟S602)。
通過執(zhí)行控制程序,CPU 104產(chǎn)生包括所讀取校驗和的標題信息(步驟 S603)。
通過執(zhí)行控制程序,CPU 104將所產(chǎn)生的包括所讀取校驗和的標題信息存 儲在數(shù)據(jù)包區(qū)域的第二區(qū)域312內(nèi)(步驟S604)。
通過執(zhí)行控制程序,CPU 104指派存儲標題信息的數(shù)據(jù)包區(qū)域的地址值, 向網(wǎng)絡單元105傳送用于傳送由所指派地址值表示的數(shù)據(jù)包區(qū)域內(nèi)的標題信 息和數(shù)據(jù)塊構成的數(shù)據(jù)包的指令通知(步驟S605),并且返回到步驟S501。
這樣完成了對一段數(shù)據(jù)包執(zhí)行的處理。通過重復上述處理可以對數(shù)據(jù)包的 一個幀值執(zhí)行處理。
需要注意的是,由分離式數(shù)據(jù)存儲單元103將下一幀的數(shù)據(jù)塊和校驗和存 儲在網(wǎng)絡數(shù)據(jù)區(qū)域302b中,并且因此,通過執(zhí)行控制程序,CPU 104從網(wǎng)絡 數(shù)據(jù)區(qū)域302b讀取校驗和并且將標題信息存儲在網(wǎng)絡數(shù)據(jù)區(qū)域302b中。
財糊
下面參考圖7描述各種單元的運行時序。
圖7示出了通信裝置100中各種單元的運行時序圖。
在下面的描述中,編碼單元102在編碼數(shù)據(jù)區(qū)域301a中存儲編碼數(shù)據(jù)的 一幀值,而分離式數(shù)據(jù)存儲單元103在網(wǎng)絡數(shù)據(jù)區(qū)域302a中存儲數(shù)據(jù)塊和校驗和。
TO是編碼單元102開始處理的時刻。
從TO到Tl,編碼單元102將從通信裝置100外部輸入的視頻數(shù)據(jù)的一個 幀值壓縮編碼成MPEG,并且將編碼數(shù)據(jù)存儲在外部存儲器110的編碼數(shù)據(jù)區(qū) 域301a中。
Tl是編碼單元102完成在編碼數(shù)據(jù)區(qū)域301a中的編碼數(shù)據(jù)的存儲、分離 式數(shù)據(jù)存儲單元103從編碼單元102接收編碼數(shù)據(jù)存儲完成通知、并且處理開 始的時刻。
根據(jù)圖5的流程圖,從Tl到T5,分離式數(shù)據(jù)存儲單元103存儲對應于一 段編碼數(shù)據(jù)中的每段數(shù)據(jù)塊的校驗和。
T2是分離式數(shù)據(jù)存儲單元103完成在數(shù)據(jù)包區(qū)域310a的第一區(qū)域311中 存儲第一段數(shù)據(jù)塊及其校驗和、CPU 104通過執(zhí)行控制程序從分離式數(shù)據(jù)存儲 單元103接收校驗和存儲完成通知、并且處理開始的時刻。
根據(jù)圖6的流程圖,從T2到T7,通過執(zhí)行控制程序,CPU104存儲每段 標題信息并且執(zhí)行對傳輸每段數(shù)據(jù)包的控制。
T3是CPU 104通過執(zhí)行控制程序完成在數(shù)據(jù)包區(qū)域310a的第二區(qū)域312 中存儲第一段標題信息、網(wǎng)絡單元105從CPU 104接收數(shù)據(jù)包傳送指令通知、 并且處理開始的時刻。
從T3到T4,網(wǎng)絡單元105通過網(wǎng)絡120將數(shù)據(jù)包傳輸?shù)浇K端130。該數(shù) 據(jù)包由存儲在CPU 104指派的地址值表示的數(shù)據(jù)包區(qū)域310a的第一區(qū)域311 內(nèi)的數(shù)據(jù)塊和存儲在數(shù)據(jù)包區(qū)域310a的第二區(qū)域312內(nèi)的標題信息構成。此 后,直到T8,在每次改變將要參考的數(shù)據(jù)包的同時重復執(zhí)行相同的處理。
根據(jù)上述過程,完成首先從通信裝置100外部輸入的視頻數(shù)據(jù)的一個幀值 的傳輸處理,并且重復上述處理能夠?qū)崿F(xiàn)發(fā)送視頻數(shù)據(jù)的全部幀。
需要注意的是,為了處理視頻數(shù)據(jù)的每個幀值,由于從T1到T6交替使 用編碼數(shù)據(jù)區(qū)域310a及301b和網(wǎng)絡數(shù)據(jù)區(qū)域302a及302b,由編碼單元102 壓縮編碼接下來從通信裝置100外部輸入的視頻數(shù)據(jù)的一個幀值并將其作為 編碼數(shù)據(jù)存儲在編碼數(shù)據(jù)區(qū)域301b中。在從T6向前各種單元的處理中,將數(shù) 據(jù)塊、校驗和及標題信息存儲在網(wǎng)絡數(shù)據(jù)區(qū)域302b中。
這完成了通信裝置100的運行時序的描述。下面描述在通信裝置100中數(shù)據(jù)處理和協(xié)議處理所需的時間周期。
在圖7中,將用于由分離式數(shù)據(jù)存儲單元103處理的從Tl到T2的時間 周期稱為"a",將用于由CPU 104處理的從T2到T3的時間周期稱為"b", 而且分離式數(shù)據(jù)存儲單元0103和CPU 104分別對每段編碼數(shù)據(jù)執(zhí)行N次數(shù)據(jù) 處理和協(xié)議處理。
如果通過使程序由一個CPU執(zhí)行來實現(xiàn)數(shù)據(jù)處理和協(xié)議處理,則對于每 段編碼數(shù)據(jù),處理數(shù)據(jù)周期為(a+b) XN。
然而,由于在通信裝置100中并行執(zhí)行數(shù)據(jù)處理和協(xié)議處理,用于除從 Tl到T2的處理之外的處理時間周期為a+bXN。
因此,與通過一個CPU實現(xiàn)數(shù)據(jù)處理和協(xié)議處理的情況相比,通信裝置 100可以將處理時間周期降低aX (N-l)。
實施例2
概述
根據(jù)實施例1的通信裝置IOO在外部存儲器110中確保了物理毗鄰的網(wǎng)絡 數(shù)據(jù)區(qū)域302a和302b,并且在所確保的網(wǎng)絡數(shù)據(jù)區(qū)域302a和302b中毗鄰地 布置數(shù)據(jù)包區(qū)域。
然而,存在當由于存儲碎片等在外部存儲器110中確保物理毗鄰區(qū)域是不 可能的情況,以及當確保物理毗鄰區(qū)域?qū)е峦獠看鎯ζ?10的使用效率降低的 情況。
通過管理表示數(shù)據(jù)包區(qū)域的地址值以便可以非毗鄰地布置外部存儲器IIO 中的數(shù)據(jù)包區(qū)域,根據(jù)實施例2的通信裝置可以有效使用外部存儲器110的存 儲區(qū)域。
結(jié)構
下面描述根據(jù)實施例2的通信裝置800的結(jié)構。 圖8示出了根據(jù)實施例2的通信裝置800的結(jié)構。
如圖8所示,與根據(jù)實施例1的通信裝置100相似,將通信裝置800與在 通信裝置800外部的外部存儲器110相連接,并通過網(wǎng)絡與終端130相連接。
需要指出的是,與實施例1相似,在下面的描述中,每個數(shù)據(jù)包區(qū)域為 2304字節(jié)區(qū)域(256字節(jié)+2千字節(jié)),外部存儲器110中每個地址部分的尺寸 為1字節(jié),而一次由外部存儲器110傳送的數(shù)據(jù)尺寸為4字節(jié)。如圖8所示,通信裝置800包括MCU101、網(wǎng)絡部件105、內(nèi)部總線106、 編碼單元801、地址控制單元802、分離式數(shù)據(jù)存儲單元803和CPU804。
由于MCU101、網(wǎng)絡單元105和內(nèi)部總線106與實施例1的通信裝置100 中的相同,這里省略了其描述。
雖然編碼單元801基本上與實施例1中的編碼單元102相同,但是該編碼 單元801與編碼單元102的不同之處在于,對于已經(jīng)壓縮編碼的每段編碼數(shù)據(jù), 當開始在外部存儲器110中存儲該段編碼數(shù)據(jù)時,編碼單元801向地址控制單 元802傳送開始處理通知的指令。
地址控制單元802包括內(nèi)部CPU,并且是這樣一種電路,其通過使該CPU 執(zhí)行存儲在通信裝置800的內(nèi)部存儲器(未示出)中的控制程序,確保可以用 作數(shù)據(jù)包區(qū)域的區(qū)域在外部存儲器110的空閑區(qū)域之外,并且將每個所確保的 數(shù)據(jù)包區(qū)域的地址值指派給分離式數(shù)據(jù)存儲單元803和CPU 804。
這里,每個數(shù)據(jù)包區(qū)域的地址值是數(shù)據(jù)包區(qū)域的開始地址值。
雖然分離式數(shù)據(jù)存儲單元803基本上是與實施例1中的分離式數(shù)據(jù)存儲單 元103相同的電路,該分離式數(shù)據(jù)存儲單元803與分離式數(shù)據(jù)存儲單元103 的不同之處在于,將一段數(shù)據(jù)塊及其校驗和存儲在由地址控制單元802指派的 地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311內(nèi)。
下面具體描述分離式數(shù)據(jù)存儲單元803。
雖然分離式數(shù)據(jù)存儲單元803的結(jié)構基本上與圖2所示分離式數(shù)據(jù)存儲單 元103的結(jié)構相同,但是該分離式數(shù)據(jù)存儲單元803的不同之處是有關將在下 面描述的DTC寄存器和控制單元。
除了保持由分離式數(shù)據(jù)存儲單元103的DTC 206的寄存器204保持的每 一個地址值之外,分離式數(shù)據(jù)存儲單元803的寄存器還保持由地址控制單元 802指派的每一個數(shù)據(jù)包區(qū)域的開始地址值。
分離式數(shù)據(jù)存儲單元803的控制單元基本上是與分離式數(shù)據(jù)存儲單元103 的控制單元207相同的電路。該控制單元與分離式數(shù)據(jù)存儲單元103的控制單 元207的不同之處在于,在分離式數(shù)據(jù)存儲單元803的寄存器203中設定一個 地址值作為第一區(qū)域311的開始地址值,該地址值是將在分離式數(shù)據(jù)存儲單元 803的寄存器中設定的表示數(shù)據(jù)包區(qū)域的地址值加到由CPU 804在分離式數(shù)據(jù) 存儲單元803的寄存器中設定的第二區(qū)域312的尺寸的地址值(256)上后得到的和。
CPU 804基本上具有與實施例1中的CPU 104相同的功能。然而,CPU804 與CPU 104的不同之處在于,通過執(zhí)行程序,從由地址控制單元802指派的 地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311讀取校驗和,并且將包括所讀取的校 驗和的所產(chǎn)生的標題信息存儲在該數(shù)據(jù)包區(qū)域的第二區(qū)域312中。
可以通過基本上與實施例1中CPU 104相同的方法實現(xiàn)由控制程序讀取 存儲在第一區(qū)域311的每一個中的校驗和以及將多段標題信息存儲在第二區(qū) 域312的每一個中,但是在本實施例中,需要通過將由地址控制單元802相繼 指派的地址值設定為指向結(jié)構變量S的地址的指針變量A來訪問數(shù)據(jù)包區(qū)域 的每一個。
數(shù)據(jù)
下面描述數(shù)據(jù)包區(qū)域的布置。
圖9示出了實施例2的外部存儲器110中的網(wǎng)絡數(shù)據(jù)區(qū)域302a。需要注 意的是,雖然這里僅描述了網(wǎng)絡數(shù)據(jù)區(qū)域302a,但是網(wǎng)絡數(shù)據(jù)區(qū)域302b是相 同的。
如圖9所示,在網(wǎng)絡數(shù)據(jù)區(qū)域302a中非毗鄰地布置數(shù)據(jù)包區(qū)域910a、910b 等。圖9中灰色陰影區(qū)域表示在這種區(qū)域中存儲有其它數(shù)據(jù)等。
由于數(shù)據(jù)包區(qū)域910a、 910b等與數(shù)據(jù)包區(qū)域310a、 310b等相似,故省略
了其描述。
、~~■ /一
下面描述處理上述數(shù)據(jù)且具有上述結(jié)構的通信裝置800的運行。 她處控劍卓元
首先描述地址控制單元802的運行。
圖10示出了地址控制單元802的運行流程圖。
通過執(zhí)行控制程序,地址控制單元802的CPU檢查是否已經(jīng)從編碼單元 801接收到開始處理通知的指令(歩驟SlOOl)。
如果還沒有接收到開始處理通知的指令(步驟S1001: N),則處理返回到 步驟S1001。
如果在預定時間周期內(nèi)沒有接收到開始處理通知的指令(歩驟S100h超
時),則處理結(jié)束。如果已經(jīng)接收到開始處理通知的指令(歩驟S1001: Y),則通過執(zhí)行控制
程序,地址控制單元802的CPU檢査是否已經(jīng)確保數(shù)據(jù)包的一個幀值(步驟 S1002)。
如果還沒有確保數(shù)據(jù)包的一個幀值(步驟S1002: N),則通過執(zhí)行控制程 序,地址控制單元802的CPU從外部存儲器110中的可用區(qū)域中確保用作數(shù) 據(jù)包區(qū)域的區(qū)域(步驟S1003)。
通過執(zhí)行控制程序,地址控制單元802的CPU將表示該確保的數(shù)據(jù)包區(qū) 域的地址值指派給分離式數(shù)據(jù)存儲單元803和CPU 804 (步驟S1004),并且 處理返回到步驟S1002。
如果已經(jīng)確保數(shù)據(jù)包的一個幀值(步驟S1002: Y),則處理返回到步驟 S腿。
分禽式數(shù)據(jù)存儲卓元
下面描述分離式數(shù)據(jù)存儲單元803的運行。
圖11示出了分離式數(shù)據(jù)存儲單元803的運行流程圖。
由于在步驟S1101到S1102和步驟S1104到S1109中的處理分別與由根據(jù) 實施例1的分離式數(shù)據(jù)存儲單元103在圖5所示的步驟S501到S502和S503 到S508中執(zhí)行的處理相同,故省略了其描述,而下面描述步驟S1103的處理。
分離式數(shù)據(jù)存儲單元803的控制單元讀取在分離式數(shù)據(jù)存儲單元803的寄 存器中設定的由地址控制單元802指派的地址值之外的一個地址值,并且將一 個地址值設定為分離式數(shù)據(jù)存儲單元803的寄存器203中的寫入地址值,所設 定的地址值是所讀取地址值與對應于在分離式數(shù)據(jù)存儲單元803的寄存器中 設定的第二區(qū)域312的尺寸的地址值的和。
C尸"
下面描述CPU 804的運行。
雖然CPU 804的運行基本上與圖6的流程圖中所示的CPU 104的運行相 同,但是在步驟S602中,從由地址控制單元802指派的地址值表示的數(shù)據(jù)包 區(qū)域的第一區(qū)域311讀取校驗和,而且,在步驟S604中,將標題信息存儲在 由地址控制單元802指派的地址值表示的數(shù)據(jù)包區(qū)域的第二區(qū)域312中。
由于運行的其它方面與CPU 104的那些相同,故省略了其描述。
好序廚接下來描述地址控制單元802的運行時序。
圖12示出了通信裝置800中各種單元的運行時序圖。
需要注意的是,由于編碼單元801、分離式數(shù)據(jù)存儲單元803、 CPU 804 和網(wǎng)絡單元105的運行時序與圖7的時序圖所示的運行時序是相同的,故省略 了其描述。
Tl是地址控制單元802的CPU從編碼單元801接收開始處理通知的指令、 并且開始處理的時刻。
根據(jù)圖10的流程圖,從Tl到T2,地址控制單元802的CPU確保數(shù)據(jù)包 區(qū)域的一個幀值,并且指派表示該數(shù)據(jù)包區(qū)域的地址值。
變型1
概述
在實施例2的通信裝置800中,由于地址控制單元802將表示數(shù)據(jù)包區(qū)域 的每一個的地址值指派給分離式數(shù)據(jù)存儲單元803和CPU 804,即使在非毗鄰 地布置數(shù)據(jù)包區(qū)域時也可以執(zhí)行處理。
與通信裝置800相似,變型1的通信裝置即使在非毗鄰地布置數(shù)據(jù)包區(qū)域 時也可以執(zhí)行處理,這是因為該通信裝置在每個數(shù)據(jù)包區(qū)域中存儲接下來將要 參考的數(shù)據(jù)包區(qū)域的地址值,并且根據(jù)變型1的分離式數(shù)據(jù)存儲單元和CPU 參考該地址值。
結(jié)抅
下面描述根據(jù)變型1的通信裝置1300的結(jié)構。 圖13示出了根據(jù)變型1的通信裝置1300的結(jié)構。
如圖13所示,與根據(jù)實施例1的通信裝置100相似,通信裝置1300與該 通信裝置外部的外部存儲器IIO相連接,并且通過網(wǎng)絡120與終端130相連接。
如圖13所示,通信裝置1300包括MCU 101、網(wǎng)絡單元105、內(nèi)部總線 106、編碼單元801、地址控制單元1301、偏移控制單元1302、分離式數(shù)據(jù)存 儲單元1303和CPU 1304。
由于MCU 101、網(wǎng)絡單元105、內(nèi)部總線106與根據(jù)實施例1的通信裝置 IOO中的相同,而編碼單元801與實施例2的通信裝置800中的相同,故省略 了其描述。
雖然地址控制單元1301基本上是與實施例2中的地址控制單元802相同的電路,但是地址控制單元1301與地址控制單元802的不同之處在于將表示 所確保的數(shù)據(jù)包區(qū)域的地址值指派給偏移控制單元1302。
需要注意的是,地址控制單元1301還將首先將要被訪問的數(shù)據(jù)包區(qū)域的 地址值指派給分離式數(shù)據(jù)存儲單元1303和CPU 1304。
偏移控制單元1302包括內(nèi)部CPU,并且是這樣一種電路,其通過使該CPU 執(zhí)行存儲在通信裝置1300的內(nèi)部存儲器(未示出)中的控制程序,對于由地 址控制單元1301指派的每個地址值,將相繼指派的地址值存儲在由該地址值 表示的數(shù)據(jù)包區(qū)域的第二區(qū)域1412中,這將在后面描述。
與CPU 804中的相似,由于通過使用由變量構成的結(jié)構的方法實現(xiàn)由控 制程序在第二存儲區(qū)域1412中存儲該地址值,故省略了其描述。
雖然分離式數(shù)據(jù)存儲單元1303基本上是與實施例1中的分離式數(shù)據(jù)存儲 單元103相同的電路,該分離式數(shù)據(jù)存儲單元1303與分離式數(shù)據(jù)存儲單元103 的不同之處在于將數(shù)據(jù)塊及其校驗和存儲在由存儲在數(shù)據(jù)包區(qū)域的第二區(qū)域 1412中的地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311中。
下面具體描述分離式數(shù)據(jù)存儲單元1303。
雖然分離式數(shù)據(jù)存儲單元1303的結(jié)構基本上與圖2所示的分離式數(shù)據(jù)存 儲單元103的結(jié)構相同,分離式數(shù)據(jù)存儲單元1303的不同之處在于DTC寄存 器和控制單元,這將在下面描述。
除了與分離式數(shù)據(jù)存儲單元103的DTC 206的寄存器204相似地保持地 址值,分離式數(shù)據(jù)存儲單元1303的寄存器還保持表示首先將要被參考的數(shù)據(jù) 包區(qū)域并且由地址控制單元802指派的開始地址值,或者表示接下來將要被訪 問的數(shù)據(jù)包區(qū)域并且由分離式數(shù)據(jù)存儲單元1303的控制單元從第二區(qū)域1412 讀取的地址值,這將在后面描述。
雖然分離式數(shù)據(jù)存儲單元1303的控制單元基本上是與分離式數(shù)據(jù)存儲單 元103的控制單元207相同的電路,但是該分離式數(shù)據(jù)存儲單元1303的控制 單元與控制單元207的不同之處在于下面的方面。當分離式數(shù)據(jù)存儲單元1303 中的DTC的傳輸單元205完成一段數(shù)據(jù)塊及其校驗和的存儲時,分離式數(shù)據(jù) 存儲單元1303的控制單元從第二區(qū)域1412將接下來將要訪問的數(shù)據(jù)包區(qū)域的 地址值讀取給分離式數(shù)據(jù)存儲單元1303的寄存器。而且,通過將上述地址值 加到作為由CPU 1304在分離式數(shù)據(jù)存儲單元1303的寄存器中設定的第二區(qū)域1412的尺寸的地址值上而獲得設定為計數(shù)器203中的寫入地址值的值。雖然CPU 1304基本上具有與實施例1中的CPU 104相同的功能,單元 CPU 1304與CPU 104的不同之處在于從由存儲在數(shù)據(jù)包區(qū)域的第二區(qū)域1412 中的地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311獲得校驗和,這將在后面描述。 雖然可以由基本上與實施例1中CPU 104相同的方法實現(xiàn)讀取由控制程 序讀取存儲在第一區(qū)域311中的校驗和并且將標題信息存儲到第二區(qū)域1412 中,但是由于在本實施例中將接下來將要訪問的數(shù)據(jù)包區(qū)域的地址值存儲在第 二區(qū)域1412中,故需要通過將表示下一個數(shù)據(jù)包區(qū)域的地址值的變量N加到 結(jié)構變量S,并且將變量N設定為表示結(jié)構變量S的地址的指針變量A來訪 問數(shù)據(jù)包區(qū)域。 數(shù)據(jù)下面描述數(shù)據(jù)包區(qū)域的布置。圖14示出了在外部存儲器110中的變型1的網(wǎng)絡數(shù)據(jù)區(qū)域302a。在圖14中,在網(wǎng)絡數(shù)據(jù)區(qū)域302a中非毗鄰布置數(shù)據(jù)包區(qū)域1410a、 1410b等。圖14中灰色陰影區(qū)域表示在這種區(qū)域中存儲其它數(shù)據(jù)等。由于數(shù)據(jù)包區(qū)域1410a、 1410b等是相似區(qū)域,下面僅描述數(shù)據(jù)包區(qū)域1410a。數(shù)據(jù)包區(qū)域1410a是邏輯劃分為第一區(qū)域311和第二區(qū)域1412的區(qū)域。 由于第一區(qū)域311與實施例1中的相同,故省略了其描述。第二區(qū)域1412是這樣一種區(qū)域,其除了與實施例1中的第二區(qū)域312相 似地存儲標題信息之外,還存儲表示在包括第二區(qū)域1412的數(shù)據(jù)包區(qū)域1410a 之后接下來將要參考的數(shù)據(jù)包區(qū)域的地址值,換句話說,表示數(shù)據(jù)包區(qū)域 1410b的地址值。由于在第二區(qū)域1412中存儲有表示接下來將要參考的數(shù)據(jù)包區(qū)域的地址 值,故該數(shù)據(jù)包區(qū)域具有所謂的線性列表結(jié)構。雖然第二區(qū)域1412可以是假定能夠存儲接下來將要參考的數(shù)據(jù)包區(qū)域的 地址值(在下面描述中為4字節(jié))和標題信息(54字節(jié))的任何尺寸,在下 面的描述中其尺寸為256字節(jié),與實施例1中相同。同樣,在本實施例中,存儲標題信息,以便從第二區(qū)域1412的開始地址 值的第五字節(jié)的地址值是開始地址值。運療下面描述處理上述數(shù)據(jù)并且具有上述結(jié)構的通信裝置1300的運行。邀處控劍単元首先,描述地址控制單元1301的運行。雖然地址控制單元1301的運行基本上與圖10的流程圖所示的地址控制單 元802的運行相同,但是地址控制單元1301的不同之處在于在偏移控制單元 1302中指派在圖10的步驟S1004中確保的數(shù)據(jù)包區(qū)域的地址值。由于運行的其它方面與地址控制單元802的相同,故省略了其描述。偏移控劍単元下面描述偏移控制單元1302的運行。圖15示出了偏移控制單元1302的運行流程圖。通過執(zhí)行控制程序,偏移控制單元1302的CPU檢查是否已經(jīng)由地址控制 單元1301指派了地址值(步驟S1501)。如果還沒有指派該地址值(步驟S150h N),則處理返回到歩驟S1501。 如果在預定時間周期內(nèi)沒有指派該地址值(步驟S1501:超時),則處理結(jié)束。如果已經(jīng)指派該地址值(歩驟S1501: Y),則通過執(zhí)行控制程序,偏移控 制單元1302的CPU保持所指派的地址值。具體地說,將所指派的地址值加到 例如使用矩陣變量實現(xiàn)的隊列。將通信裝置1300的內(nèi)部存儲器中的區(qū)域分配 給該矩陣變量。通過執(zhí)行控制程序,偏移控制單元1302的CPU檢査是否存在將要保持的 兩個或多個地址值(步驟S1503)。如果不存在將要保持的兩個或多個地址值(步驟S1503: N),則處理返回 到步驟S1501。如果存在將要保持的兩個或多個地址值(步驟S1503: Y),則除了從首先 指派的地址值開始的兩個地址值之外,S卩,除了在該隊列中的前兩個地址值之 外,將第二指派的地址值存儲在由首先指派的地址值表示的數(shù)據(jù)包區(qū)域的第二 區(qū)域1412中(步驟S1504)。對于這兩個或多個保持的地址值,該CPU停止保持首先指派的地址值, 即,刪除在該隊列的開始處的地址值(步驟S1505),并且處理返回到步驟S15(B。分離式數(shù)據(jù)存儲単元下面描述分離式數(shù)據(jù)存儲單元1303的運行。圖16示出了分離式數(shù)據(jù)存儲單元1303的運行流程圖。需要注意的是,分離式數(shù)據(jù)存儲單元1303的寄存器存儲已經(jīng)由地址控制 單元802指派的首先將要訪問的數(shù)據(jù)包區(qū)域的開始地址值,并且對于寫入地址 值,在分離式數(shù)據(jù)存儲單元1303的寄存器203中設定首先將要訪問的第一區(qū) 域311的地址值的設定。由于步驟S1601到S1608的處理與圖5中由根據(jù)實施例1的分離式數(shù)據(jù)存 儲單元103執(zhí)行的步驟S501到S508的處理相同,故省略了其描述。分離式數(shù)據(jù)存儲單元1303的控制單元讀取在分離式數(shù)據(jù)存儲單元1303 的寄存器中設定的地址值(數(shù)據(jù)包區(qū)域的開始地址值),并且讀取接下來將要 訪問的且存儲在由所讀取的地址值表示的數(shù)據(jù)包區(qū)域的第二數(shù)據(jù)區(qū)域1412中 的數(shù)據(jù)包區(qū)域的地址值(步驟S1609)。分離式數(shù)據(jù)存儲單元1303的控制單元在分離式數(shù)據(jù)存儲單元1303的寄存 器中設定接下來將要訪問的讀取數(shù)據(jù)包區(qū)域的地址值(步驟S1610)。分離式數(shù)據(jù)存儲單元1303的控制單元將通過由在分離式數(shù)據(jù)存儲單元 1303的寄存器中設定的第二區(qū)域1412的尺寸加到存儲在寄存器中的接下來將 要參考的數(shù)據(jù)包區(qū)域的開始地址值而獲得的地址值設定為寄存器203中的寫 入地址值(步驟S1611),并且處理返回到歩驟S1602。下面描述CPU 1304的運行。圖17示出了 CPU 1304的運行流程圖。由于步驟S1701的處理與圖6所示的根據(jù)實施例1的CPU 104執(zhí)行的步 驟S601的處理相同,故省略了其描述。通過執(zhí)行控制程序,CPU 1304讀取存儲在由地址控制單元1301指派的地 址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311內(nèi)的校驗和(步驟S1702)。由于從步驟S1703到S1704的處理與圖6所示的實施例1中的歩驟S603 到S604的處理相同,故省略了其描述。通過執(zhí)行控制程序,CPU 1304讀取地址值,該地址值表示接下來將要訪問的數(shù)據(jù)包區(qū)域,并且該地址值被存儲在已經(jīng)存儲有在歩驟S1702中讀取的校驗和的數(shù)據(jù)包區(qū)域的第二數(shù)據(jù)區(qū)域1412中(步驟S1705)。由于步驟S1706的處理與根據(jù)實施例1的圖6所示的由CPU 104執(zhí)行的 步驟S605的處理相同,故省略了其描述。這樣,CPU 1304可以執(zhí)行存儲一段標題信息的處理和用于傳輸數(shù)據(jù)包的 指令。此后,在步驟S1702中,通過讀取存儲在由在步驟S1705中讀取的地址 值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域311中的校驗和,CPU 1304可以在后續(xù)數(shù)據(jù) 包區(qū)域的第二區(qū)域1412中存儲標題信息。好細接下來描述偏移控制單元1302的運行時序圖。圖18示出了通信裝置1300中各種單元的運行時序圖。需要注意的是,由于編碼單元801、地址控制單元1301、分離式數(shù)據(jù)存儲 單元1303、 CPU 1304及網(wǎng)絡單元105的運行時序與圖12的時序圖中表示的 運行時序相同,故忽略了其描述。Tl是從地址控制單元1301接收的和保持的地址值的數(shù)量達到兩個或多 個,并且偏移控制單元1302的CPU開始處理的時刻。從Tl到T2,偏移控制單元1302的CPU執(zhí)行根據(jù)圖15的流程圖的處理, 而且每次所保持地址值的數(shù)量達到兩個或多個時,執(zhí)行用于將第二指派的地址 值存儲由首先指派的地址值表示的數(shù)據(jù)包區(qū)域的第二區(qū)域1412中的處理。變化2概述在根據(jù)實施例2的通信裝置800中,由于地址控制單元802指派表示在分 離式數(shù)據(jù)存儲單元803和CPU 804中的數(shù)據(jù)包區(qū)域的物理地址值,所以即使 在非毗鄰地布置數(shù)據(jù)包區(qū)域時也可以執(zhí)行處理。在變型2的通信裝置中,以與數(shù)據(jù)包區(qū)域的物理地址值相關的方式管理邏 輯地址值,由此通過指派邏輯地址值而不必關注數(shù)據(jù)包區(qū)域的實際布置是否舭 鄰就可以使根據(jù)實施例2的通信裝置、分離式數(shù)據(jù)存儲單元和CPU能夠訪問 數(shù)據(jù)包區(qū)域。結(jié)抅下面描述根據(jù)變型2的通信裝置1900的結(jié)構。圖19示出了根據(jù)變型2的通信裝置1900的結(jié)構。如圖19所示,通信裝置1900包括MCU 101、編碼單元102、分離式數(shù)據(jù) 存儲單元103、 CPU 104、網(wǎng)絡單元105、內(nèi)部總線106和MMU (存儲器管理 單元)1901。由于除了 MMU l卯l之外的組件與根據(jù)實施例1的通信裝置100中的相 同,故省略了其描述。MMU 1901是與通用MMU相同的電路。MMU 1901在內(nèi)部高速緩沖存儲 器中存儲表示彼此對應的外部存儲器110中實際物理地址值和邏輯地址值的 地址轉(zhuǎn)換表。如果分離式數(shù)據(jù)存儲單元103 、 CPU 104或網(wǎng)絡單元105對外 部存儲器110的訪問指派了邏輯地址值,則MMU 1901將指派的邏輯地址值 轉(zhuǎn)換為對應的物理地址值。需要注意的是,通過與用于產(chǎn)生頁表的通用OS (操作系統(tǒng))使用的方法 相似的方法產(chǎn)生該地址轉(zhuǎn)換表,而且CPU 104通過執(zhí)行控制程序產(chǎn)生該地址 轉(zhuǎn)換表。數(shù)據(jù)下面描述由MMU l卯l存儲的地址轉(zhuǎn)換表。如圖9所示,在下面的描述中,在物理數(shù)據(jù)區(qū)域302a的物理非毗鄰位置 布置數(shù)據(jù)包區(qū)域910a、 910b等。需要注意的是,與實施例l相似,外部存儲器110中每個地址的尺寸為1 字節(jié),第一區(qū)域311為2千字節(jié)區(qū)域,而第二區(qū)域312為256字節(jié)區(qū)域。圖20示出了地址轉(zhuǎn)換表的數(shù)據(jù)結(jié)構和示意性內(nèi)容。如圖20所示,地址轉(zhuǎn)換表2000具有這樣一種結(jié)構,對于由外部存儲器 110中地址定義的每個區(qū)域,邏輯地址值2001與物理地址值2002相關聯(lián)。這里,邏輯地址值2001是在分離式數(shù)據(jù)存儲單元103 、 CPU104和網(wǎng)絡 單元105訪問外部存儲器110時使用的地址值(數(shù)字值),并且被分配成從1 開始連續(xù)編號。物理地址值2002是表示外部存儲器110中區(qū)域的實際物理位置的地址值 (數(shù)字值)。在圖20中,將對應于圖9中數(shù)據(jù)包區(qū)域910a的第二區(qū)域312的邏輯地址 值2001編號為1到256,而將物理地址值2002編號為10001到10256。而且,將對應于數(shù)據(jù)包區(qū)域910a的第一區(qū)域311的邏輯地址值2001編號 為257到2304,而將物理地址值2002編號為10257到12304。而且,將對應于數(shù)據(jù)包區(qū)域910b的第二區(qū)域312的邏輯地址值2001編號 為2305到2560,而將物理地址值2002編號為16001到16256。如上所述,由于在物理非毗鄰位置布置數(shù)據(jù)包區(qū)域910a和數(shù)據(jù)包區(qū)域 910b,對應于數(shù)據(jù)包區(qū)域910a的第一區(qū)域311的最后區(qū)域的物理地址值2002 是"12304",而對應于數(shù)據(jù)包區(qū)域910b的第二區(qū)域312的開始區(qū)域的物理地 址值2002是"16001",并且這兩個地址值是非毗鄰的。同時,對于全部區(qū)域,將數(shù)字從l到2560連貫指派給邏輯地址值2001。因此,即使分離式數(shù)據(jù)存儲單元103 、 CPU 104和網(wǎng)絡單元105訪問物 理非毗鄰區(qū)域,指派邏輯地址值2001能夠訪問看起來好像是物理毗鄰的這些 區(qū)域。運療下面描述MMU 1901的運行。 圖21示出了MMU1901的運行流程圖。MMU 1901檢査分離式數(shù)據(jù)存儲單元103 、 CPU 104或網(wǎng)絡單元105對 外部存儲器110的訪問是否指派了邏輯地址值(歩驟S2101)。如果還沒有訪問外部存儲器110 (步驟S2101: N),則處理返回到歩驟 S2101。如果在預定時間周期內(nèi)沒有訪問外部存儲器IIO (步驟S2101:超時),則處理結(jié)束。如果已經(jīng)訪問外部存儲器110 (步驟S2101: Y),則MMU 1901將指派的 邏輯地址值轉(zhuǎn)換為物理地址值并傳送該邏輯地址值(步驟S2102),并且處理 返回到步驟S2101。需要注意的是,由于通信裝置1900中各種單元的運行時序與圖7的時序 圖中表示的運行時序相同,故省略了其描述。變型3概述在根據(jù)實施例1的通信裝置100中,在開始處理之前,分離式數(shù)據(jù)存儲單 元103在編碼單元102完成將編碼數(shù)據(jù)向外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或301b存儲之前一直處于等待狀態(tài)。根據(jù)變型3的通信裝置監(jiān)控在編碼數(shù)據(jù)區(qū)域301a或301b中正在由編碼單 元102存儲的編碼數(shù)據(jù)的尺寸,而且在該尺寸達到一段數(shù)據(jù)塊的尺寸(1472 字節(jié))時,其使根據(jù)變型3的分離式數(shù)據(jù)存儲單元處理該編碼數(shù)據(jù)。這樣,根據(jù)變型3的分離式數(shù)據(jù)存儲單元不需要等待編碼單元102完成將 編碼數(shù)據(jù)向編碼數(shù)據(jù)區(qū)域301a和301b的存儲就可以開始處理,并且減少不必 要的等待時間能夠進一步實現(xiàn)高速視頻數(shù)據(jù)發(fā)送處理。結(jié)抅下面描述根據(jù)變型3的通信裝置2200的結(jié)構。 圖22示出了根據(jù)變型3的通信裝置2200的結(jié)構。如圖22所示,通信裝置2200包括MCU 101、編碼單元102、 CPU 104、 網(wǎng)絡單元105、內(nèi)部總線106、長度監(jiān)控單元2201和分離式數(shù)據(jù)存儲單元2202。由于MCUIOI、編碼單元102、 CPU 104、網(wǎng)絡單元105和內(nèi)部總線106 與實施例1的通信裝置100中的相同,故省略了其描述。需要注意的是,在本實施例中,即使在外部存儲器中編碼數(shù)據(jù)的存儲已經(jīng) 完成,編碼單元102也不將存儲完成通知傳送到分離式數(shù)據(jù)存儲單元2202。長度監(jiān)控單元2201是這樣一種電路,其具有內(nèi)部計數(shù)器,用于計算由編 碼單元102存儲在外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或301b中的編碼數(shù)據(jù) 的尺寸,并且每次計數(shù)器達到對應一段數(shù)據(jù)塊的尺寸(1472字節(jié))時,通知 分離式數(shù)據(jù)存儲單元2202。當編碼單元102在外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或301b中存儲編 碼數(shù)據(jù)時,實際上是以對應于編碼單元102和外部存儲器IIO之間的線寬的預 定尺寸的單元傳輸編碼數(shù)據(jù)。在下面的描述中,該預定尺寸為4字節(jié)。每次編碼單元102傳輸4字節(jié)時,長度監(jiān)控單元2201以4增加計數(shù)器中 將0設定為初始值的值,當計數(shù)器中的值達到對應于一段數(shù)據(jù)塊的尺寸的值 (1472)時,將已經(jīng)完成數(shù)據(jù)塊尺寸的編碼數(shù)據(jù)的存儲的通知傳送到分離式數(shù) 據(jù)存儲單元2202,并且將計數(shù)器重設為O。分離式數(shù)據(jù)存儲單元2202基本上是與實施例1的分離式數(shù)據(jù)存儲單元 103相同的電路。然而,分離式數(shù)據(jù)存儲單元2202與實施例1的分離式數(shù)據(jù) 存儲單元103的不同之處在于下面方面。代替來自編碼單元102的表示已經(jīng)完成編碼數(shù)據(jù)的存儲的通知,從長度監(jiān)控單元2201接收表示已經(jīng)完成編碼數(shù)據(jù)的數(shù)據(jù)塊尺寸的存儲的通知,并且在接收到該通知時,分離式數(shù)據(jù)存儲單元2202開始讀取存儲在外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或301b中的編碼 數(shù)據(jù)的數(shù)據(jù)塊尺寸。需要注意的是,由于分離式數(shù)據(jù)存儲單元2202的結(jié)構與圖2所示的分離 式數(shù)據(jù)存儲單元103的結(jié)構相同,故省略了其描述。數(shù)據(jù)由于通信裝置2200使用的數(shù)據(jù)與根據(jù)實施例1的通信裝置100的相同, 故省略了其描述。 運療下面描述處理上述數(shù)據(jù)并且具有上述結(jié)構的通信裝置2200的運行。 長度監(jiān)控卓元首先描述長度監(jiān)控單元2201的運行。圖23示出了長度監(jiān)控單元2201的運行流程圖。長度監(jiān)控單元2201將內(nèi)部計數(shù)器重設為0 (步驟S2301)。長度監(jiān)控單元2201檢査是否已經(jīng)從編碼單元102傳送了編碼數(shù)據(jù)的預定尺寸(4字節(jié))(歩驟S2302)。如果還沒有傳送編碼數(shù)據(jù)的預定尺寸(步驟S2302: N),則處理返回到步驟S2302。如果在預定時間周期內(nèi)還沒有傳送編碼數(shù)據(jù)的預定尺寸(步驟S2302:超 時),則處理結(jié)束。如果已經(jīng)傳送編碼數(shù)據(jù)的預定尺寸(步驟S2302: Y),則長度監(jiān)控單元 2201將4加到計數(shù)器(步驟S2303)。長度監(jiān)控單元2201檢查計數(shù)器中的值是否是對應于一段數(shù)據(jù)塊的尺寸 (1472)的值(步驟S2304)。如果計數(shù)器中的值不是對應于一段數(shù)據(jù)塊的尺寸(步驟S2304: N)的值, 則處理返回到步驟S2302。如果計數(shù)器中的值是對應于一段數(shù)據(jù)塊的尺寸(步驟S2304: Y)的值, 則長度監(jiān)控單元2201向分離式數(shù)據(jù)存儲單元2202傳輸表示已經(jīng)完成編碼數(shù)據(jù) 的數(shù)據(jù)塊尺寸的存儲的通知(步驟S2305),并且處理返回到步驟S2301。分離式數(shù)據(jù)存儲単元下面描述分離式數(shù)據(jù)存儲單元2202的運行。圖24示出了分離式數(shù)據(jù)存儲單元2202的運行流程圖。分離式數(shù)據(jù)存儲單元2202的傳輸單元205檢查是否已經(jīng)通過分離式數(shù)據(jù)存儲單元103的控制單元207從長度監(jiān)控單元2201接收到表示已經(jīng)完成編碼數(shù)據(jù)的數(shù)據(jù)塊尺寸的存儲的通知(步驟S2401)。如果還沒有接收到通知(步驟S240h N),則處理返回到步驟S2401。 如果在預定時間周期內(nèi)沒有接收到通知(步驟S2401:超時),則處理結(jié)束。如果已經(jīng)接收到通知(步驟S2401: Y),則執(zhí)行步驟S2402。 由于步驟S2402到歩驟S2408中的處理與圖5所示的根據(jù)實施例1的分離 式數(shù)據(jù)存儲單元103在步驟S503到S509中執(zhí)行的處理相同,故省略了其描述。 時糊下面描述分離式數(shù)據(jù)存儲單元2202的運行時序。 圖25示出了通信裝置2200中各種單元的處理時序圖。 在下面的描述中,編碼單元102在編碼數(shù)據(jù)區(qū)域301a中存儲編碼數(shù)據(jù)的 一個幀值。需要注意的是,由于編碼單元102、 CPU104和網(wǎng)絡單元105的運行時序 與圖7的時序圖中表示的運行時序相同,故省略了其描述。Tl是長度監(jiān)控單元2201的計數(shù)器中的值為對應于一段數(shù)據(jù)塊的尺寸的值 (1472),分離式數(shù)據(jù)存儲單元2202從長度監(jiān)控單元2201接收表示已經(jīng)完成 編碼數(shù)據(jù)的數(shù)據(jù)塊尺寸的存儲,并且處理開始的時刻。從Tl到T2,分離式數(shù)據(jù)存儲單元2202執(zhí)行根據(jù)圖24的流程圖的處理, 并且執(zhí)行一段數(shù)據(jù)塊及其校驗和的存儲。此后,通過重復相同的處理,可以處 理編碼數(shù)據(jù)的一個幀值。變型4銜述根據(jù)變型4的通信裝置監(jiān)控由編碼單元102存儲在外部存儲器110的編碼 數(shù)據(jù)區(qū)域301a或編碼數(shù)據(jù)區(qū)域301b中的編碼數(shù)據(jù)的位圖形,并且每次檢測到 該預定位圖形時使根據(jù)變型4的分離式數(shù)據(jù)存儲單元執(zhí)行處理。例如,在用于RTP通信的MPEG-4中,已經(jīng)制定了用于基于檢測再同步 標記而傳送MPEG-4編碼數(shù)據(jù)的準則。將再同步標記設定為預定的^:圖形能夠 根據(jù)該方針傳送編碼的MPEG-4數(shù)據(jù)。同樣,基于檢測預定的位圖形,根據(jù)變型4的通信裝置將在該預定位圖形 之后的編碼數(shù)據(jù)存儲在外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或編碼數(shù)據(jù)區(qū)域 301b中以預定字節(jié)數(shù)邊界(例如,4字節(jié)邊界)開始的區(qū)域內(nèi)。這能夠確保編 碼數(shù)據(jù)的字節(jié)對準。結(jié)狗圖26示出了根據(jù)變型4的通信裝置2600的結(jié)構。如圖26所示,通信裝置2600包括MCU 101、編碼單元102、 CPU 104、 網(wǎng)絡單元105、內(nèi)部總線106、圖形檢測單元2601和分離式數(shù)據(jù)存儲單元2602。由于MCUIOI、編碼單元102、 CPU 104、網(wǎng)絡單元105和內(nèi)部總線106 與根據(jù)實施例1的通信裝置100中的相同,故省略了其描述。需要注意的是,在本實施例中,即使在完成在外部存儲器110中的編碼數(shù) 據(jù)的存儲之后,編碼單元102也不向分離式數(shù)據(jù)存儲單元2602傳輸存儲完成 通知。圖形監(jiān)控單元2601是這樣一種電路,其監(jiān)控由編碼單元102在外部存儲 器110的編碼數(shù)據(jù)區(qū)域301a和301b中正在存儲的編碼數(shù)據(jù)的位圖形,并且在 檢測到已經(jīng)由通信裝置2600的用戶等預先設定的諸如MPEG-4再同步標記的 預定的位圖形時,通知分離式數(shù)據(jù)存儲單元2602。具體地說,圖形監(jiān)控單元2601包括FIFO緩沖器、存儲器和比較電路, 而且該存儲器存儲具有作為用于提取的目標的預定位圖形的數(shù)據(jù)。圖形監(jiān)控單元2601在FIFO緩沖器中以預定尺寸(4字節(jié))的單元存儲由 編碼單元102傳送的編碼數(shù)據(jù),并且相繼比較存儲在FIFO緩沖器中的編碼數(shù) 據(jù)和存儲在存儲器中的具有預定的位圖形的數(shù)據(jù)。作為比較結(jié)果,如果檢測到該預定的位圖形,則圖形監(jiān)控單元2601向分 離式數(shù)據(jù)存儲單元2602傳送表示已經(jīng)檢測到預定的位圖形的通知。而且,圖形監(jiān)控單元2601從FIFO緩沖器以預定尺寸(4字節(jié))相繼傳輸 已經(jīng)對其執(zhí)行比較的多段編碼數(shù)據(jù),將該多段編碼數(shù)據(jù)存儲在外部存儲器110 的編碼數(shù)據(jù)存儲單元301a或301b中,并且向分離式數(shù)據(jù)存儲單元2602傳送表示已經(jīng)存儲編碼數(shù)據(jù)的預定尺寸(4字節(jié))的通知。
然而,如果檢測到該預定的位圖形,圖形監(jiān)控單元2601并不將該預定的 位圖形之后的編碼數(shù)據(jù)存儲在編碼數(shù)據(jù)存儲單元301a或301b的毗鄰區(qū)域內(nèi), 而是將其存儲在以預定字節(jié)數(shù)邊界(例如,4字節(jié)邊界)開始的區(qū)域內(nèi)。
此時,將預定的填壓數(shù)據(jù)(padding data)插入到在該預定的位圖形之前 的編碼數(shù)據(jù)和在該預定的位圖形之后的編碼數(shù)據(jù)之間的空閑區(qū)域內(nèi)。例如,該 預定的填壓數(shù)據(jù)由填充位(其中第一位為O而后面的位為1)構成。
分離式數(shù)據(jù)存儲單元2602基本上是與變型3的分離式數(shù)據(jù)存儲單元2202 相同的電路。然而,分離式數(shù)據(jù)存儲單元2602與分離式數(shù)據(jù)存儲單元2202 的不同之處在于,每次從圖形監(jiān)控單元2601接收表示已經(jīng)存儲編碼數(shù)據(jù)的預 定尺寸(4字節(jié))的通知時,其讀取存儲在外部存儲器110的編碼數(shù)據(jù)區(qū)域301a 或301b中的預定尺寸(4字節(jié))的編碼數(shù)據(jù)。
而且,分離式數(shù)據(jù)存儲單元2602與分離式數(shù)據(jù)存儲單元2202的不同之處 在于,每次從圖形監(jiān)控單元2601接收表示己經(jīng)檢測到預定的位圖形的通知時, 其將校驗和存儲在外部存儲器110的第一區(qū)域311中。
下面具體描述分離式數(shù)據(jù)存儲單元2602。
雖然分離式數(shù)據(jù)存儲單元2602的結(jié)構基本上與圖2所示分離式數(shù)據(jù)存儲 單元103的結(jié)構相同,該分離式數(shù)據(jù)存儲單元2602的不同之處在于DTC的傳 輸單元和控制單元,這將在下面描述。
在通過分離式數(shù)據(jù)存儲單元2602的控制單元從圖形監(jiān)控單元2601接收到 表示已經(jīng)存儲編碼數(shù)據(jù)的預定尺寸(4字節(jié))的通知時,分離式數(shù)據(jù)存儲單元 2602的傳輸單元從外部存儲器110的編碼數(shù)據(jù)區(qū)域301a或301b將編碼數(shù)據(jù) 的預定尺寸(4字節(jié))讀取到分離式數(shù)據(jù)存儲單元2602的緩沖器201,并且在 該方面與分離式數(shù)據(jù)存儲單元2202的傳輸單元205不同。
而且,分離式數(shù)據(jù)存儲單元2602的傳輸單元與分離式數(shù)據(jù)存儲單元2202 的傳輸單元205的不同之處在于,在通過分離式數(shù)據(jù)存儲單元2602的控制單 元從圖形監(jiān)控單元2601接收表示已經(jīng)檢測到預定的位圖形的通知時,分離式 數(shù)據(jù)存儲單元2602的傳輸單元從校驗和計算單元202讀取校驗和并將該校驗 和存儲在由計數(shù)器203中設定的寫入地址值表示的外部存儲器110的第一區(qū)域 311中。分離式數(shù)據(jù)存儲單元2602的控制單元基本上是與分離式數(shù)據(jù)存儲單元
2202的控制單元207相同的電路。然而,在從圖形監(jiān)控單元2601接收表示已 經(jīng)存儲編碼數(shù)據(jù)的預定尺寸(4字節(jié))的通知時,或者從圖形監(jiān)控單元2601 接收表示已經(jīng)檢測到預定的位圖形的通知時,分離式數(shù)據(jù)存儲單元2602的控 制單元將該通知傳輸?shù)椒蛛x式數(shù)據(jù)存儲單元2602的傳輸單元。 數(shù)據(jù)
由于通信裝置2600使用的數(shù)據(jù)與實施例1的通信裝置100使用的數(shù)據(jù)相 同,故省略了其描述。 還#
下面描述處理上述數(shù)據(jù)且具有上述結(jié)構的通信裝置2600的運行。 分離式數(shù)據(jù)存儲卓元
首先描述分離式數(shù)據(jù)存儲單元2602的運行。
圖27示出了分離式數(shù)據(jù)存儲單元2602的運行流程圖。
需要注意的是,在下面的描述中,以比一段數(shù)據(jù)塊的尺寸(1472字節(jié)) 短的間隔檢測具有預定的位圖形的數(shù)據(jù)。
分離式數(shù)據(jù)存儲單元2602的傳輸單元檢査是否己經(jīng)通過分離式數(shù)據(jù)存儲 單元2602的控制單元從圖形監(jiān)控單元2601接收表示已經(jīng)存儲編碼數(shù)據(jù)的預定 尺寸(4字節(jié))的通知(步驟S2701)。
如果還沒有接收到表示已經(jīng)存儲編碼數(shù)據(jù)的預定尺寸的通知(步驟 S2701: N),則處理返回到步驟S2701。
如果在預定時間周期內(nèi)沒有接收到通知(步驟S270h超時),則處理結(jié)束。
如果已經(jīng)接收到通知(步驟S2701: Y),則處理進行到步驟S2702。 由于從步驟S2702到S2704的處理與由圖24所示的變型3中分離式數(shù)據(jù)
存儲單元2202在步驟S2403到S2405中執(zhí)行的處理相同,故省略了其描述。 分離式數(shù)據(jù)存儲單元2602的傳輸單元檢査是否已經(jīng)通過通過分離式數(shù)據(jù)
存儲單元2602的控制單元從圖形監(jiān)控單元2601接收到表示已經(jīng)檢測到預定的
位圖形的通知(步驟S2705)。
如果還沒有檢測到該通知(步驟S2705: N),則處理返回到步驟S2701。 如果接收到該通知(步驟S2705: Y),處理進行步驟S2706。由于步驟S2706到S2708中的處理與圖24所示的根據(jù)變型1的分離式數(shù) 據(jù)存儲單元2202在步驟S2406到S2408中執(zhí)行的處理相同,故省略了其描述。 時細
下面描述分離式數(shù)據(jù)存儲單元2602的運行時序。
圖28示出了通信裝置2600中各種單元的運行時序圖。
需要注意的是,由于編碼單元102、 CPU 104和網(wǎng)絡單元105的運行時序 與圖7的時序圖所示的運行時序相同,故省略了其描述。
Tl是分離式數(shù)據(jù)存儲單元2602從圖形監(jiān)控單元2601接收表示已經(jīng)存儲 編碼數(shù)據(jù)的預定尺寸(4字節(jié))的通知,并且開始處理的時刻。
從Tl到T2,分離式數(shù)據(jù)存儲單元2602執(zhí)行根據(jù)圖27中流程圖的處理, 每次接收到表示已經(jīng)存儲編碼數(shù)據(jù)的預定尺寸(4字節(jié))的通知時,從外部存 儲器110的編碼數(shù)據(jù)區(qū)域301將預定尺寸(4字節(jié))的編碼數(shù)據(jù)讀取到緩沖器 201,計算校驗和,并且將編碼數(shù)據(jù)的預定尺寸(4字節(jié))存儲在外部存儲器 110的第一區(qū)域311中。
T2是圖形監(jiān)控單元2601檢測預定的位圖形,分離式數(shù)據(jù)存儲單元2602 從圖形監(jiān)控單元2601接收表示已經(jīng)檢測到預定的位圖形的通知,并且將校驗 和存儲在外部存儲器110的第一區(qū)域311中的時刻。
在變型4中,每次檢測到預定的位圖形時,將編碼數(shù)據(jù)存儲在不同數(shù)據(jù)包 區(qū)域的第一區(qū)域311中,并且最后,網(wǎng)絡單元105可以將編碼數(shù)據(jù)作為不同的 數(shù)據(jù)包段進行傳輸。
此后,重復從Tl到T2的處理能夠處理編碼數(shù)據(jù)的一個幀值。
膽注釋
雖然基于上述實施例進行了描述,當然不能將本發(fā)明的通信裝置限制在這 些實施例中。本發(fā)明中也包括諸如下面的變型。
(1)實施例1的編碼單元102是通過在逐幀基礎上壓縮編碼從通信裝置 IOO外部輸入的視頻數(shù)據(jù)而產(chǎn)生編碼數(shù)據(jù)的電路。這里,編碼單元102可以能 夠產(chǎn)生指定尺寸的編碼數(shù)據(jù)。具體地說,通過提供作為指定編碼數(shù)據(jù)尺寸的電 路的編碼設定單元,該編碼設定單元可以為編碼單元102指定編碼數(shù)據(jù)的尺 寸,而且編碼單元102可以產(chǎn)生由編碼設定單元指定的尺寸的編碼數(shù)據(jù)。
通信裝置的用戶可以為編碼設定單元指定編碼數(shù)據(jù)的尺寸,或者編碼設定單元可能檢測網(wǎng)絡120上的傳送速度,并且根據(jù)檢測的傳送速度指定該尺寸。
(2) 實施例1的網(wǎng)絡單元105可以能夠傳輸數(shù)據(jù)包,而與網(wǎng)絡120是有 線網(wǎng)絡還是無線網(wǎng)絡無關。
(3) 雖然實施例1的數(shù)據(jù)包區(qū)域具有在第二區(qū)域312之后布置第一區(qū)域 311的結(jié)構,假定是相繼布置第一區(qū)域311和第二區(qū)域312,可以將第二區(qū)域 312布置在第一區(qū)域311之后。
(4) 雖然實施例1描述了使用UDP傳送視頻數(shù)據(jù)的示意型情況,但是也 可能使用TCP (傳輸控制協(xié)議)傳送視頻數(shù)據(jù),并且在該情況中,將存儲在第 一區(qū)域311中的校驗和用作TCP標題中的校驗和。
當通過TCP傳輸數(shù)據(jù)包時,如果在數(shù)據(jù)包傳輸之后通信裝置100在預定 時間周期(例如,30秒)內(nèi)沒有從作為該數(shù)據(jù)包的傳輸目的地的終端130接 收到表示己經(jīng)接收該數(shù)據(jù)包的答復,則通信裝置100的CPU 104判斷還沒有 由終端130接收到傳送的數(shù)據(jù)包,并且再重新傳送該數(shù)據(jù)包。
為了能夠再傳送該數(shù)據(jù)包,通信裝置100的CPU 104使構成用于再傳送 的數(shù)據(jù)包的數(shù)據(jù)塊從外部存儲器110的網(wǎng)絡數(shù)據(jù)區(qū)域302a或302b拷貝到另一 個存儲區(qū)域(此后將其稱為"再傳送區(qū)域"),并且使用存儲在再傳送區(qū)域內(nèi)的 數(shù)據(jù)塊再傳送該數(shù)據(jù)包。
這能夠保持高速數(shù)據(jù)包傳送處理,這是因為即使當再傳輸該數(shù)據(jù)包是必須 的時,在后續(xù)處理中,不需要分離式數(shù)據(jù)存儲單元103和CPU 104跳過存儲 有構成用于再傳送的數(shù)據(jù)包的數(shù)據(jù)的數(shù)據(jù)包區(qū)域。
需要注意的是,雖然在用于數(shù)據(jù)包傳送的處理的上述描述中使用了用TCP 傳送視頻數(shù)據(jù)的示例,當將除TCP之外的協(xié)議用于數(shù)據(jù)包的再傳送時,或者 當由應用程序執(zhí)行數(shù)據(jù)包的再傳送時,也執(zhí)行相同處理。
而且,雖然在上述描述中CPU 104執(zhí)行用于再傳送數(shù)據(jù)包的處理,該處 理也可能由專門硬件執(zhí)行。
(5) 在實施例1中,DTC 206的傳輸單元205從由計數(shù)器203中設定的 讀取地址值表示的編碼數(shù)據(jù)區(qū)域相繼讀取編碼數(shù)據(jù),并且將讀取的編碼數(shù)據(jù)存 儲在由計數(shù)器203中設定的寫入地址值表示的網(wǎng)絡數(shù)據(jù)區(qū)域中。然而,在一次 指派地址值時,可以成組地連續(xù)傳送多數(shù)據(jù)段,即所謂的爆破傳送。
(6) 雖然實施例2的地址控制單元802指派數(shù)據(jù)包區(qū)域的開始地址值,但是地址控制單元802可能替代地為分離式數(shù)據(jù)存儲單元803指派表示數(shù)據(jù)包 區(qū)域的第一區(qū)域311的地址值。
這樣,分離式數(shù)據(jù)存儲單元803不需要從指派的數(shù)據(jù)包區(qū)域的開始地址值 計算表示第一區(qū)域311的地址值,由此進一步實現(xiàn)高速處理。
(7) 雖然在實施例2的描述中,地址控制單元802具有內(nèi)部CPU,但是 可以由CPU 804替代地實現(xiàn)地址控制單元802的功能。
(8) 雖然在變型1的描述中,將標題信息布置在數(shù)據(jù)包區(qū)域的第二區(qū)域 1412的地址值之后,也可以使用相反的次序。
(9) 雖然在變型1的描述中,變型1的偏移控制單元2201具有內(nèi)部CPU, 但是也可以由CPU 104實現(xiàn)偏移控制單元2201的功能。
(10) 雖然已經(jīng)將變型4的圖形監(jiān)控單元2601描述為檢測一個位圖形, 該圖形監(jiān)控單元2601也可以能夠檢測多個位圖形。
(11) 雖然在變型4中,以比一段數(shù)據(jù)塊的尺寸(1472字節(jié))短的間隔 檢測具有預定的位圖形的數(shù)據(jù),但是如果以超過一段數(shù)據(jù)塊的尺寸的間隔檢 測,每次完成數(shù)據(jù)塊向外部存儲器110的第一區(qū)域311的存儲時,分離式數(shù)據(jù) 存儲單元2602可以存儲校驗和。
(12) 雖然在實施例l中,通過使CPU104執(zhí)行程序產(chǎn)生標題信息400, 可能通過提供產(chǎn)生標題信息400的專門硬件(此后將其稱為"標題分配電路") 并使用該專門硬件來產(chǎn)生標題信息。使作為專門硬件的標題分配電路產(chǎn)生標題 信息400降低了 CPU 104的負載。
而且,可以任意地逐層選擇包括在由標題分配電路產(chǎn)生的標題信息400 中的標題(UDP標題422等)。這樣,可以根據(jù)通信裝置100所使用的協(xié)議產(chǎn) 生標題信息。
為了實現(xiàn)這一目的,例如,可以根據(jù)不同協(xié)議將標題存儲在通信裝置100 的內(nèi)部存儲器中,并且對于每一層,可以使標題分配電路對應于通信裝置IOO 所使用的協(xié)議進行選擇并組合標題,由此產(chǎn)生用于數(shù)據(jù)包的最終傳送的標題信 息。
例如,如果使用TCP傳送數(shù)據(jù)包,通過選擇MAC標題、IP標題和TCP
標題的組合來產(chǎn)生標題信息。
需要注意的是,除了通信裝置100的用戶等預先設定通信裝置100所使用的協(xié)議的情況之外,例如,可以根據(jù)CPU104的負載而自動地改變所用協(xié)議。 在這種情況中,標題分配電路從CPU 104接收表示協(xié)議改變的改變信號,并 且根據(jù)改變信號改變將要產(chǎn)生的標題信息的內(nèi)容。
(13) 由于在實施例1的標題信息中包括校驗和,直到在已經(jīng)由分離式數(shù) 據(jù)存儲單元103產(chǎn)生校驗和之后,才能完全產(chǎn)生標題信息400??紤]到這種情 況,標題分配電路可以產(chǎn)生不使用校驗和而預先產(chǎn)生的標題信息400的一部分
(此后將其稱為"部分標題信息"),并且CPU 104可能產(chǎn)生使用校驗和產(chǎn)生 的一部分。
具體地說,例如,在MAC標題中包括"類型"、"源MAC地址"和"目 的地MAC地址",并且由于可以不依賴校驗和內(nèi)容而預先產(chǎn)生這種內(nèi)容,故 標題分配電路可以作為部分標題信息而產(chǎn)生這種內(nèi)容。
這樣,由于CPU 104僅產(chǎn)生標題信息400包括校驗和的一部分,可以降 低CPU 104的負載。而且,縮短CPU 104用于產(chǎn)生標題信息400的時間能夠 實現(xiàn)數(shù)據(jù)包的更高速度傳送。
而且,由于可以不包括校驗和或相似內(nèi)容而預先產(chǎn)生部分標題信息,由分 離式數(shù)據(jù)存儲單元103產(chǎn)生的校驗和可以反映該部分標題信息和數(shù)據(jù)塊的內(nèi) 容,而且,還可以僅根據(jù)該部分標題信息產(chǎn)生校驗和。具體地說,當產(chǎn)生校驗 和時,可以選擇將要反映的數(shù)據(jù)。
(14) 可以將實施例1的結(jié)構劃分成由分離式數(shù)據(jù)存儲單元103、 CPU 104 和網(wǎng)絡單元105構成的芯片和包括編碼部件102的芯片,或者可以是單一芯片。
(15) 在實施例1中,將數(shù)據(jù)包400的幀結(jié)構描述為與正EE 802.3標準 兼容。然而,本發(fā)明并不限制于此,例如,在無線LAN的情況下可能使用IEEE 證.lla/b/g。
(16) 雖然實施例1描述了外部存儲器中的線寬為4字節(jié)的示意性情況, 當然不能將該總線寬度限制于此。而且,對該總線寬度和分離式數(shù)據(jù)存儲單元 103的校驗和計算單元202的處理單元的關系沒有特別限制。
具體地說,雖然當將編碼數(shù)據(jù)的2字節(jié)被認為是數(shù)字值時將校驗和計算單 元202描述為計算作為全部數(shù)字值的總值的校驗和,并且將該線寬描述為4 字節(jié),但是不能將該線寬限制為校驗和計算單元202的處理單元的兩倍。
(17) 雖然將實施例1中的外部存儲器110的存儲區(qū)域描述為具有兩個編碼數(shù)據(jù)區(qū)域和兩個網(wǎng)絡數(shù)據(jù)區(qū)域,但是本發(fā)明并不限制于此,并且可能僅有每 種類型的一個區(qū)域。
而且,雖然將編碼數(shù)據(jù)區(qū)域301a、網(wǎng)絡數(shù)據(jù)區(qū)域302a、編碼數(shù)據(jù)區(qū)域301b 和網(wǎng)絡數(shù)據(jù)區(qū)域302b描述為在外部存儲器110的存儲區(qū)域中以這樣的次序布 置,也可能使用下面的次序編碼數(shù)據(jù)區(qū)域301a、編碼數(shù)據(jù)區(qū)域301b、網(wǎng)絡 數(shù)據(jù)區(qū)域302a和網(wǎng)絡數(shù)據(jù)區(qū)域302b。
這能夠使編碼單元102在具有連續(xù)地址的區(qū)域中存儲編碼數(shù)據(jù)。
(18) 雖然將通信裝置2600的圖形監(jiān)控單元2601描述為通過變型4中的 通過填壓校正字節(jié)對準,還可以通過不用填壓的數(shù)據(jù)拷貝而校正字節(jié)對準。具 體地說,圖形監(jiān)控單元2601將存儲在FIFO緩沖器內(nèi)的編碼數(shù)據(jù)相繼地存儲 在外部存儲器110的編碼數(shù)據(jù)存儲區(qū)域301a或301b中。當檢測到預定的位圖 形時,如果沒有將所檢測的預定位圖形之后的數(shù)據(jù)存儲在以預定的對準邊界作 為開始的區(qū)域內(nèi),則將該數(shù)據(jù)拷貝到以預定的對準邊界作為開始的區(qū)域內(nèi)。
(19) 雖然實施例描述了在超時時結(jié)束分離式數(shù)據(jù)存儲單元、CPU、地址 控制單元、偏移控制單元和長度控制單元的運行的示意性情況,但是本發(fā)明并 不限制于此,而且也可以在關閉通信裝置、發(fā)生錯誤或用戶的預定運行時結(jié)束 實施例中的處理。
(20) 雖然實施例描述了通信裝置傳輸作為壓縮編碼的視頻數(shù)據(jù)的編碼數(shù) 據(jù)的示意性情況,當然將要傳輸?shù)臄?shù)據(jù)并不限制于此。
(21) 雖然實施例描述了通信裝置通過網(wǎng)絡120向終端130傳送從外部資 源接收的視頻數(shù)據(jù)的示意性情況,但是本發(fā)明并非限制于此。例如,如圖29 所示,可以將本發(fā)明的通信裝置用于數(shù)碼相機2900。
如圖29所示,將SD卡2901插入到數(shù)碼相機2900中,通過支架2902將 數(shù)碼相機2900連接到有線或無線網(wǎng)絡2910。
除了數(shù)碼相機的一般功能之外,數(shù)碼相機2900具有本發(fā)明的通信裝置的 功能,在SD卡2901上存儲拍攝的圖像數(shù)據(jù),并且將存儲在SD卡2901上的 圖像數(shù)據(jù)相繼傳送到打印機2920和/或終端2930。
數(shù)碼相機2900使用本發(fā)明的功能傳送存儲在SD卡2901上的圖像數(shù)據(jù), 由此實現(xiàn)高速發(fā)送處理。
需要注意的是,雖然上面將數(shù)碼相機2900描述為具有插入其中的SD卡2901,也可以使用諸如存儲棒的其它記錄介質(zhì)。而且,雖然將數(shù)碼相機2900 描述為通過支架2902將數(shù)碼相機2卯0連接到網(wǎng)絡2910,但是該數(shù)碼相機并 不限制于此,而且假定存在用于連接到網(wǎng)絡的界面,例如,可以使用通過USB 連接到數(shù)碼相機2900的LAN適配器。
權利要求
1. 一種經(jīng)由網(wǎng)絡相繼傳送多段數(shù)據(jù)包的通信裝置,每段數(shù)據(jù)包包括數(shù)據(jù)塊段,該通信裝置包括存儲電路,其可用于(i)產(chǎn)生與多段數(shù)據(jù)塊一一對應的多段驗證數(shù)據(jù),每段驗證數(shù)據(jù)反映作為具有第一尺寸的數(shù)據(jù)的相應數(shù)據(jù)塊的內(nèi)容,和(ii)將驗證數(shù)據(jù)段和相應的數(shù)據(jù)塊段的每一對存儲在外部存儲器中具有第二尺寸的多個區(qū)域中的不同區(qū)域內(nèi);包控制單元,其包括CPU并且可用于使該CPU執(zhí)行程序,對于由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,該程序讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段、產(chǎn)生包括所讀取的驗證數(shù)據(jù)段的標題信息、并執(zhí)行控制以傳送包括所產(chǎn)生的標題信息段和對應于所產(chǎn)生的標題信息段中包括的該段驗證信息的數(shù)據(jù)塊段的數(shù)據(jù)包段;網(wǎng)絡單元,可用于根據(jù)由包控制單元執(zhí)行的控制而相繼傳送每段數(shù)據(jù)包,其中產(chǎn)生多段驗證數(shù)據(jù)并存儲該多段驗證數(shù)據(jù)和相應的多段數(shù)據(jù)塊的存儲電路與執(zhí)行用于產(chǎn)生多段標題信息并執(zhí)行控制以相繼傳送每段數(shù)據(jù)包的程序的CPU并行運行。
2. 如權利要求1所述的通信裝置,其特征在于,以作為第二尺寸和預定值的和的地址值間隔布置作為外部存儲器中具有 第二尺寸的區(qū)域的第一區(qū)域,以及對于存儲在第一區(qū)域中的每段數(shù)據(jù)塊,所述程序用于讀取對應于該段數(shù)據(jù) 塊的驗證數(shù)據(jù)段,產(chǎn)生標題信息段,將該段標題信息段存儲在作為毗鄰第一區(qū) 域的區(qū)域且具有與預定值相同的尺寸的第二區(qū)域中,并且執(zhí)行控制以相繼傳送 包括存儲在第二區(qū)域中的該段標題信息和對應于存儲在第一區(qū)域中的該段驗 證數(shù)據(jù)的該段數(shù)據(jù)塊的該段數(shù)據(jù)包的控制。
3. 如權利要求1所述的通信裝置,其特征在于,還包括 地址控制單元,可用于確保多段數(shù)據(jù)包區(qū)域,其中的每一區(qū)域包括作為在外部存儲器中具有第二尺寸的區(qū)域中的空閑區(qū)域的第一區(qū)域和毗鄰該第一區(qū) 域且作為具有預定地址值的區(qū)域值的第二區(qū)域,并且該地址控制單元指派一一 對應地表示數(shù)據(jù)包區(qū)域的多個地址值,其中存儲電路將每對數(shù)據(jù)塊段和相應的驗證數(shù)據(jù)段存儲在由地址控制單元指 派的地址值表示的數(shù)據(jù)包區(qū)域的第一區(qū)域的不同區(qū)域中,以及對于由地址控制單元指派的地址值表示的每個數(shù)據(jù)包區(qū)域,所述程序用于 讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù)段、產(chǎn)生標題信息段、將該段標題信息段存 儲在第二區(qū)域中、并且執(zhí)行控制以相繼傳送包括存儲在該數(shù)據(jù)包區(qū)域中的產(chǎn)生 的標題信息段和數(shù)據(jù)塊段的數(shù)據(jù)包段。
4. 如權利要求1所述的通信裝置,其特征在于,還包括 地址控制單元,可用于確保多個數(shù)據(jù)包區(qū)域,其中的每一個區(qū)域包括作為在外部存儲器中具有第二尺寸的區(qū)域中的空閑區(qū)域的第一區(qū)域和毗鄰該第一 區(qū)域且作為具有預定地址值的區(qū)域值的第二區(qū)域,并且該地址控制單元指派一 一對應地表示數(shù)據(jù)包區(qū)域的多個地址值;偏移控制單元,其對于由地址控制單元指派的每個地址值,可用于將相繼 指派的地址值存儲在由每個地址值表示的數(shù)據(jù)包區(qū)域的第二區(qū)域中,其中,對于數(shù)據(jù)包區(qū)域的每個第二區(qū)域,存儲電路將數(shù)據(jù)塊段和對應于該段數(shù)據(jù) 塊的驗證數(shù)據(jù)段存儲在由第二區(qū)域中存儲的地址值表示的該數(shù)據(jù)包區(qū)域的第 一區(qū)域中,以及對于由存儲在數(shù)據(jù)包區(qū)域的第二區(qū)域中的地址值表示的每個數(shù)據(jù)包區(qū)域, 所述程序用于讀取存儲在第一區(qū)域中的驗證數(shù)據(jù)段、產(chǎn)生標題信息段、將該段 標題信息存儲在第二區(qū)域中、并且執(zhí)行控制以相繼傳送包括存儲在該數(shù)據(jù)包區(qū) 域中的標題信息段和數(shù)據(jù)塊段的數(shù)據(jù)包段。
5. 如權利要求1所述的通信裝置,其特征在于,還包括 存儲器管理單元,可用于存儲對應于表示外部存儲器中空閑區(qū)域的物理地址值的邏輯地址值、并且如果對該外部存儲器的訪問指派了邏輯地址值時將該 邏輯地址值轉(zhuǎn)換為相應的物理地址值,其中當在具有第二尺寸的區(qū)域中存儲數(shù)據(jù)塊段和對應于該段數(shù)據(jù)塊的驗證數(shù) 據(jù)段時,存儲電路指派邏輯地址值,并且當從具有第二尺寸的區(qū)域中讀取驗證數(shù)據(jù)段時,所述程序還用于指派邏輯 地址值。
6. 如權利要求1所述的通信裝置,其特征在于,還包括 編碼數(shù)據(jù)存儲單元,其在接收由已經(jīng)在預定單元中壓縮編碼的視頻或音頻數(shù)據(jù)構成的編碼數(shù)據(jù)的輸入時,用于在外部存儲器中存儲所述編碼數(shù)據(jù);以及長度監(jiān)控單元,其監(jiān)控由編碼數(shù)據(jù)存儲單元存儲在外部存儲器中的編碼數(shù) 據(jù)的尺寸,并且每次存儲編碼數(shù)據(jù)的第一尺寸值時,傳輸指示存儲電路讀取該 編碼數(shù)據(jù)的第一尺寸值的讀取指令信號,其中,每次存儲電路從長度監(jiān)控單元接收讀取指令信號時,每段數(shù)據(jù)塊是從外部 存儲器讀取的編碼數(shù)據(jù)的不同的第一尺寸值。
7. 如權利要求1所述的通信裝置,其特征在于,還包括 圖形監(jiān)控單元,其在接收到由已經(jīng)在預定單元中壓縮編碼的視頻或音頻數(shù)據(jù)構成的編碼數(shù)據(jù)的輸入時,(i)在外部存儲器中存儲該編碼數(shù)據(jù)、(ii)在存 儲期間在該編碼數(shù)據(jù)中檢測預定的位圖形、以及(iii)對于檢測到的每個預定 的位圖形,向存儲電路傳送表示已經(jīng)檢測到該預定的位圖形的檢測信號,其中, 在從圖形監(jiān)控單元接收到檢測信號時,存儲電路讀取存儲在外部存儲器中 的該編碼數(shù)據(jù),直到接收下一檢測信號,并且將讀取的編碼數(shù)據(jù)作為一段數(shù)據(jù) 塊進行處理。
8. 如權利要求7所述的通信裝置,其特征在于,當在編碼數(shù)據(jù)中檢測到預定的位圖形時,該圖形監(jiān)控單元將在所檢測的位 圖形之后的編碼數(shù)據(jù)存儲在其起點是外部存儲器中預定的地址邊界的區(qū)域中。
9. 如權利要求1所述的通信裝置,其特征在于,還包括 標題指派電路,其代替包控制單元,對于由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,可用于讀取對應該段數(shù)據(jù)塊的驗證數(shù)據(jù)并且產(chǎn)生包括所讀取的 驗證數(shù)據(jù)段的標題信息段;以及傳送控制單元,其包括CPU并且可用于使該CPU執(zhí)行程序,對于由標題 指派電路產(chǎn)生的每段標題信息,該程序執(zhí)行控制以傳送包括由標題指派電路產(chǎn) 生的該段標題信息和對應于包括在該標題信息中的驗證數(shù)據(jù)段的該段數(shù)據(jù)塊 的數(shù)據(jù)包段。
10. 如權利要求9所述的通信裝置,其特征在于,所述標題指派電路通過為在數(shù)據(jù)傳輸中使用的協(xié)議等級中的每一層選擇 任意標題來產(chǎn)生每段標題信息。
11. 如權利要求1所述的通信裝置,其特征在于,還包括 標題指派電路,其代替產(chǎn)生標題信息的包控制單元,并且對于由存儲電路存儲在外部存儲器中的每段數(shù)據(jù)塊,產(chǎn)生作為標題信息一部分并且可以不使用 驗證數(shù)據(jù)產(chǎn)生的一段部分標題信息;以及傳送控制單元,其包括CPU且可用于使該CPU執(zhí)行程序,對于由存儲電 路存儲在外部存儲器中的每段數(shù)據(jù)塊,該程序讀取對應于該段數(shù)據(jù)塊的驗證數(shù) 據(jù)段、產(chǎn)生包括所讀取的該段驗證數(shù)據(jù)和對應于該段數(shù)據(jù)塊的部分標題信息的 標題信息段、并且執(zhí)行控制以傳送包括該段標題信息和對應于該段驗證數(shù)據(jù)的 數(shù)據(jù)塊段的數(shù)據(jù)包。
12. 如權利要求ll所述的通信裝置,其特征在于,所述存儲電路產(chǎn)生多段驗證數(shù)據(jù),每段驗證數(shù)據(jù)反映相應的數(shù)據(jù)塊段及對 應于該數(shù)據(jù)塊的部分標題信息段的內(nèi)容。
13. 如權利要求1所述的通信裝置,其特征在于,還包括 編碼設定單元,可用于指派在預定的單元中壓縮編碼視頻或音頻數(shù)據(jù)而形成的編碼數(shù)據(jù)的數(shù)據(jù)尺寸以組成編碼數(shù)據(jù);以及編碼單元,在接收到視頻或音頻輸入時,可用于根據(jù)由編碼設定單元指派 的數(shù)據(jù)尺寸在預定的單元中壓縮編碼視頻或音頻數(shù)據(jù)并將編碼數(shù)據(jù)存儲在外 部存儲器中。
14. 如權利要求1所述的通信裝置,其特征在于,所述外部存儲器具有彼此邏輯分開的第一網(wǎng)絡數(shù)據(jù)區(qū)域和第二網(wǎng)絡數(shù)據(jù) 區(qū)域,以及每次接收到由已經(jīng)在預定的單元中壓縮編碼的視頻或音頻數(shù)據(jù)構成的編 碼數(shù)據(jù)的輸入時,在第一網(wǎng)絡數(shù)據(jù)區(qū)域和第二網(wǎng)絡數(shù)據(jù)區(qū)域中交替布置具有第 二尺寸的多個區(qū)域。
15. 如權利要求14所述的通信裝置,其特征在于,在具有再傳送可能性的前提下執(zhí)行通信,所述外部存儲器具有存儲構成可以需要再傳送的數(shù)據(jù)包段的數(shù)據(jù)塊段的 再傳送區(qū)域,以及對于每段數(shù)據(jù)包,如果在網(wǎng)絡單元傳送所述數(shù)據(jù)包段之后的預定時間周期 內(nèi)沒有接收到來自該段數(shù)據(jù)包的傳輸目的地并且表示已經(jīng)接收到該段數(shù)據(jù)包 的答復,則所述包控制單元使CPU執(zhí)行程序,以將構成還沒有接收到答復的 該段數(shù)據(jù)包的該段數(shù)據(jù)塊傳送到所述再傳送區(qū)域。
16. —種經(jīng)由網(wǎng)絡相繼傳送多段數(shù)據(jù)包的通信集成電路,其中每段數(shù)據(jù)包 包括數(shù)據(jù)塊段,該通信集成電路包括存儲電路,可用于(i)產(chǎn)生與多段數(shù)據(jù)塊一一對應的多段驗證數(shù)據(jù),每 段驗證數(shù)據(jù)反映相應的作為具有第一尺寸的數(shù)據(jù)的數(shù)據(jù)塊段的內(nèi)容,和(ii) 將驗證數(shù)據(jù)段和相應的數(shù)據(jù)塊段的每一對存儲在外部存儲器中具有第二尺寸 的多個區(qū)域中的不同區(qū)域內(nèi);包控制單元,其包括CPU且可用于使該CPU執(zhí)行程序,對于由存儲電路 存儲在外部存儲器中的每段數(shù)據(jù)塊,該程序讀取對應于該段數(shù)據(jù)塊的驗證數(shù)據(jù) 段、產(chǎn)生包括所讀取的驗證數(shù)據(jù)段的標題信息段、并執(zhí)行控制以傳送包括所產(chǎn) 生的標題信息段和對應于所產(chǎn)生的標題信息段中包括的該段驗證數(shù)據(jù)的該段 數(shù)據(jù)塊的數(shù)據(jù)包;網(wǎng)絡單元,可用于根據(jù)由包控制單元執(zhí)行的控制而相繼傳送每段數(shù)據(jù)包, 其中產(chǎn)生多段驗證數(shù)據(jù)并存儲多段驗證數(shù)據(jù)和相應的多段數(shù)據(jù)塊的存儲電路與執(zhí)行用于產(chǎn)生多段標題信息并執(zhí)行控制以相繼傳送每份數(shù)據(jù)包的程序的CPU并行運行。
17. —種經(jīng)由網(wǎng)絡傳送數(shù)據(jù)的通信裝置,包括檢測單元,對于所述數(shù)據(jù)的每個預定尺寸部分可用于產(chǎn)生一段防偽檢測數(shù)據(jù);數(shù)據(jù)傳輸單元,可用于將所述數(shù)據(jù)傳輸?shù)筋A定的存儲區(qū)域;CPU,可用于執(zhí)行控制程序,對于所述數(shù)據(jù)傳輸單元己經(jīng)完成向存儲區(qū)域 傳輸?shù)臄?shù)據(jù)的每個預定尺寸部分,該程序執(zhí)行控制以將該數(shù)據(jù)的預定尺寸部分 和與之相應的防偽檢測數(shù)據(jù)作為數(shù)據(jù)包進行傳送;以及網(wǎng)絡單元,可用于經(jīng)由網(wǎng)絡傳送多個包,其中所述檢測單元、數(shù)據(jù)傳輸單元和CPU并行運行。
全文摘要
本發(fā)明公開了一種經(jīng)由網(wǎng)絡相繼傳送多段數(shù)據(jù)包的通信裝置,其中每段數(shù)據(jù)包包括數(shù)據(jù)塊段,該通信裝置包括存儲電路、包控制單元和網(wǎng)絡單元,其中產(chǎn)生多段驗證數(shù)據(jù)并存儲該多段驗證數(shù)據(jù)和相應的多段數(shù)據(jù)塊的存儲電路與執(zhí)行用于產(chǎn)生多段標題信息并執(zhí)行控制以相繼傳送每段數(shù)據(jù)包的程序的CPU并行運行。
文檔編號H04N7/24GK101304419SQ20081009930
公開日2008年11月12日 申請日期2008年5月9日 優(yōu)先權日2007年5月9日
發(fā)明者山內(nèi)進一郎, 石渡豊史, 竹內(nèi)昭夫 申請人:松下電器產(chǎn)業(yè)株式會社