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