基于 KeyStone DSP 的多核視頻處理技術(shù)
多內(nèi)核視頻要求KeyStone 的功能特性能夠充分滿足要求
外部 I/O 接口 - 壓縮的視頻以太網(wǎng)接口兩個 SGMII 1G端口可支持適用于分包壓縮視頻的高比特率以太網(wǎng)接口。正如第二部分所述,典型的 HD 視頻需要高達(dá) 10 Mbps 的速率,以使以太網(wǎng)接口能夠支持多個壓縮視頻通道。此外,KeyStone DSP 還擁有分組加速器硬件子系統(tǒng),可支持多個 IP 地址且能為每個內(nèi)核分擔(dān)分組處理負(fù)載。
外部 I/O 接口 - 原始數(shù)據(jù)接口KeyStone DSP 擁有兩個標(biāo)準(zhǔn)的PCI Express通道。假定總線利用率為 60%,每個通道需要承載 5G 字節(jié),這足以傳輸 YUV 域中 1080i60 的 4 到 5 個通道、D1 的 24 個通道,或 QCIF 30 fps 的超過 300 個通道。此外,KeyStone DSP 還擁有四個 SRIO 通道,其中每個通道可傳輸 5G 比特,從而使總線利用率為 60% 時,其連接性能是之前的四倍。
外部 I/O 接口 - 語音處理兩個電信串行接口端口 (TSIP) 可提供足夠的帶寬(以每通道 32.768/16.384/8.192 Mbps 的傳輸速率以及最高 1024 DS0 支持 2/4/8 個通道)來支持與視頻應(yīng)用相關(guān)的語音處理。
處理能力首次發(fā)布的 KeyStone DSP 擁有 8 個時鐘頻率為 1.25G 的內(nèi)核,因而可提供 8G 個周期。8 個功能部件并行工作,每秒可執(zhí)行 64G 次運(yùn)算(浮點(diǎn)、定點(diǎn)和數(shù)據(jù)移動)。此外,這個 KeyStone DSP 的新型 C66x 內(nèi)核還可支持TI C64x+ DSP 內(nèi)核的所有指令、TI C67x core 內(nèi)核的所有指令,以及包含幾個支持四則運(yùn)算和兩則運(yùn)算的 SIMD 指令的其他指令。適用于操作矢量處理類型的理論操作數(shù)量是 128G 甚或 256G。這些 SIMD 指令可顯著提高采用矢量處理的視頻處理算法(如運(yùn)動估算、轉(zhuǎn)換和量化算法等)的效率。
存儲器考慮事項(xiàng) - 片上存儲器
每個內(nèi)核都擁有 32KB 的 L1 數(shù)據(jù)存儲器和 32KB 的 L1 程序存儲器。每個都可配置為純 RAM 或 L1 高速緩存,抑或二者的結(jié)合。本文引用地址:http://2s4d.com/article/166063.htm
每個內(nèi)核均擁有 512KB 的 L2 專有存儲器,其中多達(dá) 256KB 可被配置為四通道的 L2 高速緩存。另外,KeyStone DSP 還擁有 4MB 的共享 L2 存儲器。
存儲器考慮事項(xiàng) - 外部存儲器支持高達(dá) 8GB 的 DDR3,模式為 1×16、1×32 和 1×64,高達(dá) 1600 MHz 的頻率可提供每秒高達(dá) 12.8GB 原始比特率。
存儲器考慮事項(xiàng) - 多內(nèi)核共享存儲器控制器2×56 比特直接連接至外部存儲器接口 (EMIF) DDR。
2×256 比特直接連接至各個 DSP。
適用于程序和數(shù)據(jù)的多重預(yù)取媒體流。
存儲器考慮事項(xiàng) - DMA
10 個傳輸控制器和 144 個增強(qiáng)型直接存儲器接入 (EDMA) 通道使得從外部存儲器讀寫數(shù)據(jù)具有高效的資源利用率。
內(nèi)核之間的同步與全局協(xié)作全硬件支持 64 個獨(dú)立阻塞和非阻塞信號標(biāo),支持直接和間接請求。
內(nèi)核之間的緊密與松散鏈接、數(shù)據(jù)和消息傳輸多內(nèi)核導(dǎo)航器是一個硬件隊(duì)列管理器,可控制 8,192 個隊(duì)列且擁有 6 個可傳輸消息的渠化 DMA 通道。導(dǎo)航器可支持?jǐn)?shù)據(jù)和消息在緊密或松散鏈接的內(nèi)核之間進(jìn)行傳遞。此外,導(dǎo)航器還能有助于提高數(shù)據(jù)從多個源傳輸至多個目的地的高效排序。
連接兩個芯片的快速總線四通道超鏈接總線可提供高達(dá)每通道 12.5Gbps、總計(jì) 50Gbps 的傳輸速率。
附錄A - 解碼器性能相關(guān)性編碼器所采用的工具和算法以及視頻內(nèi)容都會影響解碼器的性能。下列因素將影響解碼器性能:
• CABAC 或 CAVLC 熵解碼器的選擇
• 跳幀的數(shù)量
• 幀內(nèi)預(yù)測模式的復(fù)雜性
• 預(yù)測類型—運(yùn)動估算或幀內(nèi)預(yù)測。(運(yùn)動補(bǔ)償需要消耗的解碼周期數(shù)不同于幀內(nèi)預(yù)測補(bǔ)償。采用運(yùn)動補(bǔ)償還是幀內(nèi)預(yù)測取決于編碼器。)
• 不同的運(yùn)動估算工具(每個宏模塊一個運(yùn)動矢量,每個宏模塊 4個運(yùn)動矢量,或每個宏模塊 8 個運(yùn)動矢量)能改變解碼器的復(fù)雜度和周期數(shù)。
• B 幀宏模塊的運(yùn)動補(bǔ)償涉及兩個參考宏模塊,并消耗更多周期。
• 媒體流中的運(yùn)動量不僅會更改跳過宏模塊的數(shù)目,同時還會改變解碼器的處理要求。
• 比特流在運(yùn)動矢量、模塊值、標(biāo)記等各個不同值等之間的分配取決于媒體流的內(nèi)容和編碼器算法。不同的分配會相應(yīng)改變熵解碼器的周期數(shù)。
附錄B — 運(yùn)動估算和速率控制
運(yùn)動估算是 H.264 編碼中很大一部分內(nèi)容。H.264 編碼器的質(zhì)量取決于運(yùn)動估算算法的質(zhì)量。運(yùn)動估算所需的周期數(shù)取決于運(yùn)動估算算法的功能特性及特征。以下是幾個影響運(yùn)動估算周期消耗的主要因素:
• I 幀、P 幀和 B 幀的頻率
• L0(對于 P 幀和 B 幀)和 L1(對于 B 幀)中的參考幀數(shù)目
• 搜索區(qū)域的數(shù)目
• 搜索區(qū)的大小
• 搜索算法
良好的運(yùn)動估算算法可能消耗總編碼周期的 40-50%,乃至更多。
速率控制算法是影響編碼質(zhì)量的主要因素。為了最大限度地提高視頻的感知質(zhì)量,智能速率控制算法可在宏模塊和幀之間分配可用的比特。
部分系統(tǒng)可執(zhí)行多重處理通道,以便在宏模塊之間更好的分配可用比特。多條通道雖然能提高感知質(zhì)量,但卻要求更密集的處理。
附錄C - 外部存儲器帶寬
由于運(yùn)動估算算法的原因,編碼器通常比解碼器需要更高的內(nèi)部帶寬。編碼器的要求分兩種情況計(jì)算:低比特率 QCIF 和高比特率的 1080p。
• 第一種情況 -- QCIF 264 BP 編碼器:
兩個完整的 QCIF 幀能駐留在高速緩存或 L2 乒乓緩沖器中。每個幀需要的容量不到 40 KB。采用一個參考幀對某一幀進(jìn)行編碼時,系統(tǒng)應(yīng)為每次 QCIF 處理傳輸 80KB 的數(shù)據(jù),并輸出少量數(shù)據(jù)。200 個15 fps 的 QCIF 通道所需的總內(nèi)部帶寬為:
80KB * 15 (fps) * 200(通道數(shù))+ 200(通道數(shù))* 256/8 KB(QCIF 通道的輸出比特率)= 240MB + 6.4MB = 250MB/s
• 第二種情況 -- 1080p 60 H.264 HP:
假定采用最差情況中的算法來執(zhí)行運(yùn)動參考幀的運(yùn)動估算,該參考幀可能需要從外部存儲器移至內(nèi)部存儲器多達(dá)三次。此外,也可假定采用多達(dá)四個參考幀的高級算法。因此,單個 1080p60 通道的運(yùn)動估算是:
3(復(fù)制 3 次)* 1920*1080*1(在運(yùn)動估算中,每像素僅 1 個字節(jié))*60 (fps) * 4(參考通道) = 1492.992 MBps
是否移動可進(jìn)行處理和運(yùn)動補(bǔ)償?shù)漠?dāng)前幀由以下情況來確定:
2(當(dāng)前幀和運(yùn)動補(bǔ)償)* 1920 * 1080 * 1.5(字節(jié)/像素)* 60 = 373.248 MBps
綜上所述,以上兩個匯總結(jié)果規(guī)定了輸出比特流。一個通道的總和為1866.24 MBps,即兩個 H.264 HP 1080p60 編碼器為 3732.48 MBps,這意味著約占用外部存儲器原始數(shù)據(jù)帶寬的 30%。
評論