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