編碼設備和方法
2023-09-21 04:43:45 1
專利名稱:編碼設備和方法
技術領域:
本發明涉及具有管理緩衝器的方法中的特徵的編碼設備和方法。
背景技術:
存在有用於通過經由網絡等向解碼設備進行傳輸來提供諸如編碼的視頻數據和音頻數據之類的內容數據的系統。
這種系統中的編碼設備把編碼的數據寫入到傳輸緩衝器中,並且在預定的初始偏移延遲時間之後,從該傳輸緩衝器中讀取內容數據以便傳輸到編碼設備。
另一方面,它從解碼開始。
當在圖2所示的定時te(2)處存儲在傳輸緩衝器E_BUF中的數據量變成0時,控制電路11暫停從傳輸緩衝器E_BUF中讀取編碼流數據DBI,直到幀數據f(3)被寫入到傳輸緩衝器E_BUF中的定時ti(3)為止。
此外,控制電路11在內容數據中添加表示上溢和下溢的延遲時間信息、在開始讀取之前的初始延遲時間、以及從接收緩衝器中讀取組成內容數據的相應幀數據的定時,並且把該數據傳輸到解碼設備3的接收緩衝器D_BUF。
傳統的編碼設備通過假定上述初始偏移延遲時間的開始定時為0來指定上述初始延遲時間。因此,編碼設備除了添加上述延遲時間信息之外還添加初始偏移延遲時間信息到內容數據中,並且傳輸該內容數據到解碼設備。
然而,在上述傳統系統中,因為初始偏移延遲時間信息被添加到內容數據中,因此存在出現用於添加處理的步驟而且編碼設備的處理負載重的問題。
此外,通過添加初始偏移延遲時間信息,存在內容數據的信息量變大的問題。
發明內容
考慮到上述相關問題做出本發明,而且本發明的一個目的是提供一種能夠減少編碼設備上的處理負載以及同時減少通信量的編碼設備和方法。
此外,本發明的一個目的是提供一種能夠減少存儲器裝置所需的用於解碼的存儲容量的編碼設備和方法。
圖1是本發明第一實施例中的通信系統的整體配置視圖;圖2是用於說明圖1所示的視頻數據EBI、編碼流數據DBI和視頻數據DBO的定時的視圖;圖3是一個流程圖,用於說明圖1所示的編碼設備中的控制電路的操作;圖4是用於說明傳統編碼設備的局限性的視圖;圖5是一個視圖,用於說明本發明第二實施例的編碼設備中的控制電路的操作;圖6是本發明第三實施例中的通信系統的整體配置視圖;以及圖7是一個視圖,用於說明本發明第四實施例的編碼設備中的控制電路的操作。
具體實施例方式
下面,將描述依據本發明實施例的通信系統。
實施例1圖1是本發明第一實施例中的通信系統1的整體配置視圖。
如圖1所示,通信系統1包含例如編碼設備2和解碼設備3。
編碼設備2對應於第一發明中的編碼設備,且解碼設備3對應於本發明中的解碼目的地。
編碼設備2生成編碼數據DBI並且經由網絡傳輸該數據到解碼設備3。
如圖1所示,編碼設備2包含例如編碼電路10、控制電路11和傳輸緩衝器E_BUF。
這裡,編碼電路10對應於第一發明中的編碼裝置,控制電路11對應於第一發明中的控制裝置,且傳輸緩衝器E_BUF對應於第一發明中的存儲器裝置。
編碼電路10生成例如由多個幀數據組成的編碼視頻數據EN,並且輸出該數據到控制電路11。
視頻數據EN由例如分別包含多個幀數據的分組數據組成。
在當前實施例中,作為示例,視頻數據EN的分組數據由5個幀數據f(0)到f(4)組成。
控制電路11把從編碼電路10輸入的視頻數據EN作為視頻數據EBI寫入到傳輸緩衝器E_BUF中。
此外,控制電路11為組成視頻數據EN的每個分組數據指定初始偏移延遲時間i_of、初始延遲時間i_d和延遲時間d。
控制電路11在由初始偏移延遲時間i_of指定的定時處,從傳輸緩衝器E_BUF中讀取視頻數據EBI作為編碼流數據DBI,並且傳輸該數據到解碼設備3。
此外,控制電路11生成表示在分組數據中每一幀數據的初始延遲時間i_d和延遲時間d的延遲時間信息DTI,把該信息添加到在每個分組數據中由解碼設備3首先讀取的位置處,並且在圖2所示的定時處作為編碼流數據DBI傳輸到解碼設備3。
初始延遲時間i_d表示從解碼設備3的接收緩衝器D_BUF中讀取在屬於分組數據的多個幀數據當中的第一幀數據f(0)到解碼電路14的定時。這裡,在當前實施例中,通過如圖2所示假定開始把在視頻數據EBI中的分組數據的第一幀數據寫入到傳輸緩衝器E_BUF中的操作的定時為0,來指定初始延遲時間i_d。
此外,延遲時間d(1)到d(4)表示對於屬於該分組數據的多個幀數據從以解碼次序從接收緩衝器D_BUF中讀取該幀數據的前一幀數據到從接收緩衝器D_BUF中讀取該幀數據的時間。
控制電路11把表示每一分組數據中的初始延遲時間i_d和延遲時間d的延遲時間信息DTI添加到在編碼流數據DBI的分組數據中在幀數據之前由解碼設備3進行讀取的位置處,並且傳輸該數據到解碼設備3。
即,控制電路11不傳輸初始偏移延遲時間i_of到解碼設備3。
如圖2所示,控制電路11在由初始偏移延遲時間i_of指定的定時處開始以預定位速率R從傳輸緩衝器E_BUF中讀取編碼流數據DBI。
然後,當在圖2所示的定時te(2)處存儲在傳輸緩衝器E_BUF中的數據量變成0時,控制電路11暫停從傳輸緩衝器E_BUF中讀取編碼流數據DBI直到幀數據f(3)被寫入到傳輸緩衝器E_BUF中的定時ti(3)為止。
此外,控制電路11考慮到編碼流數據DBI的猝發(burst)特性,以確定幀數據初始偏移延遲時間i_of和初始延遲時間i_d中的至少一個,以便不會導致在解碼設備3的接收緩衝器D_BUF中的上溢和下溢。
下面將描述圖1所示的編碼設備2的操作示例。
步驟ST1編碼電路10生成例如由多個幀數據組成的編碼視頻數據EN,並且輸出該數據到控制電路11。
控制電路11把該視頻數據EN作為圖2所示的視頻數據EBI寫入到傳輸緩衝器E_BUF中。
步驟ST2控制電路11確定組成視頻數據EBI的、要被處理的分組數據的初始偏移延遲時間i_of。
步驟ST3控制電路11確定要被處理的分組數據的初始延遲時間i_d。
步驟ST4控制電路11確定屬於要被處理的分組數據的幀數據的延遲時間d。
步驟ST5控制電路11確定是否為屬於要被處理的分組數據的所有幀數據都計算了延遲時間d,並且當確定計算完成了時,繼續到步驟ST6,但是當確定計算沒有完成時,則對還要計算的幀數據執行步驟ST4中的處理。
步驟ST6控制電路11把表示在步驟ST3中確定的要被處理的分組數據的初始延遲時間i_d和在步驟ST4中確定的屬於要被處理的分組數據的所有幀數據的延遲時間d的延遲時間信息DTI,添加到在編碼流數據DBI的分組數據中在幀數據之前由解碼設備3讀取的位置處,並且傳輸該數據到解碼設備3。
即,控制電路11不傳輸初始偏移延遲時間i_of到解碼設備3。
步驟ST7控制電路11基於在步驟ST2中確定的初始偏移延遲時間i_of,從傳輸緩衝器E_BUF中讀取屬於要被處理的分組數據的幀數據,並且把該數據作為編碼流數據DBI傳輸到解碼設備3。
如上所述,依據通信系統1,編碼設備2不在延遲時間信息DTI中存儲初始偏移延遲時間i_of,所以可以減少要從編碼設備2傳輸到解碼設備3的信息量。
如圖1所示,解碼設備3包含例如接收緩衝器D_BUF和解碼電路14。
解碼設備3把從編碼設備2接收的視頻數據DBI寫入到接收緩衝器D_BUF中。
在當前實施例中,從編碼設備2的傳輸緩衝器E_BUF中讀取編碼流數據DBI的定時和向解碼設備3的接收緩衝器D_BUF中寫入這些數據的時間是匹配的。
基於包含在編碼流數據EBI中的相應分組數據的延遲時間信息DTI,解碼電路14從傳輸緩衝器E_BUF中讀取屬於要被處理的分組數據的幀數據作為視頻數據DBO,並且輸出該數據到解碼電路14。
即,解碼電路14在由延遲時間信息DTI中的初始延遲時間i_d指定的定時處開始讀取上述分組數據的第一幀數據f(0),然後基於延遲時間d(1)到d(4)從接收緩衝器D_BUF中讀取幀數據f(1)到f(4)。
在當前實施例中,因為通過假定開始把編碼流數據DBI寫入到接收緩衝器D_BUF中的定時為0來指定初始延遲時間i_d,所以解碼設備3可以指定開始讀取分組數據的第一幀數據f(0)的定時而不用使用初始偏移延遲時間i_of。
解碼電路14以幀數據為單位,解碼從接收緩衝器D_BUF讀取的視頻數據DBO。
此外,依據通信系統1,如圖2所示,通過假定開始把視頻數據EBI中的分組數據的第一幀數據寫入到傳輸緩衝器E_BUF的操作的定時為0來指定延遲時間i_d,解碼設備3能夠基於由延遲時間信息DTI表示的延遲時間i_d,指定從接收緩衝器D_BUF中讀取編碼流數據的分組數據中的第一幀數據f(0)的定時。
要注意到雖然在圖1中作為示例說明了使用單個編碼設備2的情況,但是在從多個編碼設備2向單個解碼設備3傳輸編碼流數據DBI的情況下,解碼設備3可以在多個接收的編碼流數據DBI當中依次優先從那些具有較短初始延遲時間i_of的編碼流數據開始解碼。
因而,能夠實現高響應性的系統。
第二實施例例如,如圖4所示,上述第一實施例中的編碼設備2的編碼電路10在開始向接收緩衝器D_BUF寫入屬於要被處理的分組數據G(0)的後續分組數據G(1)的、以解碼次序的最終幀數據的定時處,確定屬於要被處理的分組數據G(0)的、以解碼次序的最終幀數據f(4)的數據量,以便從接收緩衝器D_BUF中全部讀出屬於要被處理的分組G(0)的幀數據到解碼電路14(存儲在接收緩衝器D_BUF中的數據量變成0)。
除了下述幾點之外,在當前實施例中的編碼設備2a和在上述第一實施例中的編碼設備2是相同的。
即,例如如圖5所示,當前實施例中的編碼設備2a的編碼電路10a在開始向接收緩衝器D_BUF寫入屬於要被處理的分組數據G(0)的後續分組數據G(1)的、以解碼次序的第一幀數據f(0)的定時處,確定屬於要被處理的分組數據G(0)的、以解碼次序的最終幀數據f(4)的數據量,而沒有從接收緩衝器D_BUF中讀出屬於要被處理的分組G(0)的全部幀數據到解碼電路14的限制。
因此,在當前實施例中,存在某些這樣的情況,其中在開始向接收緩衝器D_BUF寫入屬於要被處理的分組數據G(0)的後續分組數據G(1)、以解碼次序的第一幀數據f(0)的時定時處,在接收緩衝器D_BUF中保持屬於要被處理的分組G(0)的幀數據。
因此,編碼電路10a不必在屬於要被處理的分組數據G(0)、要被最後解碼的幀數據f(4)中插入填充數據(例如,數據「0」),這些填充數據不會被寫入到接收緩衝器D_BUF中而且導致圖像質量變差。因此,能夠提高依據幀數據f(4)的解碼圖像的圖像質量。
第三實施例圖6是當前實施例中的通信系統1b的整體配置視圖。
如圖6所示,通信系統1b包含例如編碼設備2b和解碼設備3b。
編碼設備2b對視頻數據DBI_V和音頻數據DBI_A進行多路復用以生成編碼流數據STR,並且傳輸該數據到解碼設備3b。
解碼設備3b從編碼流數據STR中多路分解出視頻數據DBI_V和音頻數據DBI_A,並且分別解碼它們。
如圖6所示,編碼設備2包含例如編碼電路10V、控制電路11V、傳輸緩衝器E_BUF_V、編碼電路10A、控制電路11A、傳輸緩衝器E_BUF_A和多路復用電路30(MUX)。
編碼電路10V和傳輸緩衝器E_BUF_V分別和在第一實施例中說明的、如圖1所示的編碼電路10和傳輸緩衝器E_BUF相同。
這裡,視頻數據EN_V對應於第一實施例中的視頻數據EN,視頻數據EBI_V對應於第一實施例中的視頻數據EBI,且編碼流數據DBI_V對應於第一實施例中的編碼流數據DBI。
編碼電路10A生成編碼音頻數據EV_A。
控制電路11A和傳輸緩衝器E_BUF_A以與第一實施例中控制電路11和傳輸緩衝器E_BUF對視頻數據的操作相同的方式對音頻數據進行操作。
在當前實施例中,控制電路11V,除了在第一實施例中編碼電路10的操作之外,還向控制電路11A輸出表示初始偏移延遲時間i_of的信息i_of_D。
此外,編碼電路11V向控制電路11A輸出表示分組數據中各個幀數據的初始延遲時間i_d和延遲時間d的延遲時間信息DTI。
控制電路11A確定視頻數據音頻數據DBI_A的初始偏移延遲時間i_of_A,以便基於由從控制電路11V輸入的信息i_of_D表示的初始偏移延遲時間i_of,使視頻編碼流數據DBI_V和音頻編碼流數據DBI_A同步。
然後,控制電路11A基於上面確定的初始偏移延遲時間i_of_A,從傳輸緩衝器E_BUF_A中讀取在編碼流數據DBI_A中的分組數據頂部的幀數據,並且輸出該數據到多路復用電路30。
此外,控制電路11A基於從控制電路11V輸入的視頻延遲時間DTI(初始延遲時間i_d)生成音頻延遲時間DTI_A(初始延遲時間i_d_A),並且添加該數據到編碼流數據DBI_A中。
此外,控制電路11A和11V可以確定編碼流數據DBI_V和DBIA的傳輸位速率,以便使編碼流數據DBI_V和DBI_A同步。
此外,控制電路11A可以基於從控制電路11V輸入的初始偏移延遲時間i_of_A和視頻延遲時間DTI中的至少一個,確定向解碼設備3b的接收緩衝器D_BUF_A存儲編碼流數據DVI_A所需要的存儲器容量,添加表示該存儲器容量的信息並且輸到多路復用電路30。
多路復用電路30對從傳輸緩衝器E_BUF_V輸入的視頻編碼流數據DBI_V和從傳輸緩衝器E_BUF_A輸入的音頻編碼流數據DBI_A進行多路復用,以生成編碼流數據STR,並且向解碼設備3b輸出該數據。
如圖6所示,解碼設備3b包含例如多路分解電路31、接收緩衝器D_BUF_V、解碼電路14V、接收緩衝器D_BUF_A以及解碼電路14A。
幀存儲器31從編碼流數據STR中多路分解出編碼流數據DBI_V和DVI_A,向接收緩衝器D_BUF_V寫入編碼流數據DBI_V,並且向接收緩衝器D_BUF_A寫入編碼流數據DBI_A。
這裡,解碼電路14V基於存儲在編碼流數據DVI_V中的延遲時間信息DTI從接收緩衝器D_BUF_V中讀取視頻數據DBO_V,並且對其進行解碼。
此外,解碼電路14A基於存儲在編碼流數據DVI_A中的延遲時間信息DTI_A從接收緩衝器D_BUF_A中讀取音頻數據DBO_A,並且對其進行解碼。
如上所述,依據當前實施例的通信系統1b,即使在多路復用視頻和音頻用於傳輸的情況下,也能夠獲得和第一實施例相同的效果。
此外,依據編碼設備2b,通過向控制電路11A提供由控制電路11V生成的表示初始偏移延遲時間i_of的信息i_of_D和延遲時間信息DTI,能夠使視頻和音頻同步。
第四實施例除了控制電路11的一部分處理之外,當前實施例中的編碼設備2c和在圖1所示的第一實施例中的編碼設備2是相同的。
下面,將對當前實施例的編碼設備2c中的控制電路11c和控制電路11不同的處理進行描述。
圖7為一個視圖,用於說明由當前實施例的控制電路11c指定的編碼流數據DBI的定時。
如圖7所示,控制電路11c在存儲在接收緩衝器D_BUF中的幀數據的數據量變為0之前暫停向解碼設備3傳輸編碼流數據DBI的操作,而且在預定暫停周期STT之後,恢復向解碼設備3傳輸編碼流數據DBI。
具體地說,控制電路11c在圖7所示的參考定時「0」處開始讀取在分組數據中、以解碼次序的第一幀數據f(0),並且當達到完成讀取的定時tx時,暫停編碼流數據DBI的傳輸(從傳輸緩衝器E_BUF中的讀取操作)。
然後,控制電路11c在預定暫停周期STT之後的定時ty處恢復編碼流數據DBI的傳輸。
在當前實施例中,定時ty被指定為剛好在開始在解碼設備3的解碼電路14中解碼在上述分組數據中的第一幀數據f(0)之前的定時。
如上所述,依據編碼設備2c,通過如圖7所示指定編碼流數據DBI的定時,能夠減少解碼設備的接收緩衝器D_BUF所需要的存儲器容量。
工業實用性本發明能夠應用於編碼系統用於管理緩衝器。
權利要求
1.一種編碼設備,包含編碼裝置,用於生成將以預定次序被解碼的多個編碼數據,存儲器裝置,用於存儲由所述編碼裝置生成的所述編碼數據,以及控制裝置,用於從所述存儲器裝置中讀取所述編碼數據並且發送到解碼目的地;其中所述控制裝置確定從寫入在由所述編碼裝置生成的所述多個編碼數據當中、按解碼次序是第一個的所述編碼數據直到讀取該數據並且向解碼目的地傳輸該數據為止的第一延遲時間,確定從在所述解碼目的地處接收在所述多個編碼數據當中按解碼次序是第一個的所述編碼數據到解碼該第一個編碼數據的第二延遲時間,向所述解碼目的地傳輸表示所述第二延遲時間的延遲時間信息,並且基於所述確定的第一延遲時間向所述解碼目的地傳輸按解碼次序是第一個的所述第一個編碼數據。
2.如權利要求1所述的編碼設備,其特徵在於所述編碼裝置通過假定開始從所述存儲器裝置讀取所述第一個編碼數據並且向解碼目的地傳輸該數據的操作的定時為參考定時,來確定表示解碼所述第一個編碼數據的定時的所述第二延遲時間。
3.如權利要求2所述的編碼設備,其特徵在於所述編碼裝置通過假定所述參考定時為0來確定所述第二延遲時間。
4.如權利要求1所述的編碼設備,其特徵在於所述控制裝置,為所述多個編碼數據的每一個,確定從在所述解碼目的地解碼按照解碼次序位於所述編碼數據之前的前一編碼數據到解碼該編碼數據為止的第三延遲時間,並且將進一步包含第三延遲時間的所述延遲時間信息發送到所述解碼目的地。
5.如權利要求1所述的編碼設備,其特徵在於所述控制裝置不向所述解碼目的地傳輸表示所述第一延遲時間的信息。
6.如權利要求1所述的編碼設備,其特徵在於當在解碼存儲器裝置中保持在所述解碼目的地接收的所述編碼數據之後對其進行解碼時,所述編碼裝置確定從向所述解碼目的地的所述解碼存儲器裝置寫入所述第一個編碼數據到從所述解碼存儲器裝置讀取該第一個編碼數據並且進行解碼為止的所述第二延遲時間。
7.如權利要求6所述的編碼設備,其特徵在於對於由所述多個編碼數據構成的每個組,所述控制裝置確定有關屬於該組的所述編碼數據的所述延遲時間信息,並且向所述解碼目的地傳輸該延遲時間信息。
8.如權利要求7所述的編碼設備,其特徵在於所述控制裝置允許在開始向解碼存儲器裝置寫入屬於要被處理的組的後續組、按照解碼次序的所述第一個編碼數據的定時,將屬於要被處理的組的所述編碼數據保持在所述解碼存儲器裝置中以進行存儲。
9.如權利要求1所述的編碼設備,其特徵在於當對視頻的所述編碼數據和音頻的所述編碼數據進行多路復用以傳輸到所述解碼目的地時,所述控制裝置基於為所述視頻的編碼數據所確定的所述第一延遲時間和第二延遲時間中的至少一個,確定用於存儲所述音頻的所述編碼數據的所述存儲器裝置的存儲器容量以及所述音頻的所述編碼數據的所述第二延遲時間中的至少一個。
10.如權利要求1所述的編碼設備,其特徵在於當對視頻的所述編碼數據和音頻的所述編碼數據進行多路復用以向所述解碼目的地傳輸時,所述控制裝置確定所述視頻的所述編碼數據的所述第一延遲時間和所述音頻的所述編碼數據的所述第一延遲時間,以便使所述視頻和所述音頻同步。
11.如權利要求1所述的編碼設備,其特徵在於當對視頻的所述編碼數據和音頻的所述編碼數據進行多路復用以向所述解碼目的地傳輸時,所述控制裝置確定傳輸所述視頻的所述編碼數據時的位速率和在傳輸所述音頻的所述編碼數據時的位速率,以便使所述視頻和所述音頻同步。
12.如權利要求1所述的編碼設備,其特徵在於所述編碼裝置通過考慮所述編碼數據的猝發特性確定所述第一延遲時間和所述第二延遲時間中的至少一個,以便不會在所述第二存儲器裝置中導致上溢和下溢。
13.一種編碼設備,包含編碼裝置,用於生成將以預定次序被解碼的多個編碼數據,存儲器裝置,用於存儲由所述編碼裝置生成的所述編碼數據,以及控制裝置,用於向解碼目的地傳輸從所述存儲器裝置中讀取的所述編碼數據,以及用於指定在所述解碼目的地解碼所述編碼數據的定時的信息;其中在存儲在所述存儲器裝置中的所述編碼數據的數據量變為0之前所述控制裝置暫停從所述存儲器裝置中讀取所述編碼數據,並且在預定的暫停期間之後,從所述存儲器裝置中讀取所述編碼數據以恢復向所述解碼目的地的傳輸操作。
14.如權利要求13所述的編碼設備,其特徵在於所述控制裝置在完成從所述存儲器裝置中讀取按照解碼次序的所述第一個編碼數據並且傳輸到所述解碼目的地的操作的定時處,開始所述暫停周期,並且在剛好在所述解碼目的地從所述解碼存儲器裝置中讀取該第一個編碼數據並且進行解碼之前的定時處,結束所述暫停期間。
15.一種編碼方法,包含第一步驟,確定從向存儲器裝置寫入在多個編碼數據當中、按照解碼次序是第一個的所述編碼數據直到讀取該數據並且向解碼目的地傳輸該數據為止的第一延遲時間,第二步驟,確定從在所述解碼目的地接收所述多個編碼數據當中的所述第一個編碼數據直到解碼該第一個編碼數據為止的第二延遲時間,以及第三步驟,向所述解碼目的地傳輸表示在所述第二步驟中確定的所述第二延遲時間的延遲時間信息,並且基於在所述第一步驟中確定的第一延遲時間、向所述解碼目的地傳輸按照解碼次序的所述第一個編碼數據。
16.一種編碼方法,包含第一步驟,向存儲器裝置寫入多個將以預定次序被解碼的編碼數據,以及第二步驟,從所述存儲器裝置中讀取所述編碼數據,以及用於指定在解碼目的地解碼所述編碼數據的定時的信息,並且向所述解碼目的地傳輸該數據和信息;其中在存儲在所述存儲器裝置中的所述編碼數據的數據量變為0之前所述第二步驟暫停從所述存儲器裝置中讀取所述編碼數據,並且在預定暫停周期之後,恢復從所述存儲器裝置中讀取所述編碼數據。
全文摘要
編碼設備把表示每一分組數據的初始延遲時間i_d和延遲時間d的延遲時間信息DTI添加到在編碼流數據DBI的分組數據中、在幀數據之前由解碼設備讀取的位置處,並且將其傳輸到解碼設備3。即,編碼設備不向解碼設備3傳輸初始偏移延遲時間i_of。編碼設備在由初始偏移延遲時間i_of指定的定時處,開始以預定位速率R從傳輸緩衝器中讀取編碼流數據DBI並且進行傳輸。
文檔編號H04N7/24GK1717936SQ20038010445
公開日2006年1月4日 申請日期2003年11月28日 優先權日2002年11月29日
發明者馬克·維爾特曼, 矢崎陽一, 大石義明, 石川忠幸 申請人:索尼株式會社