基于 KeyStone DSP 的多核視頻處理技術(shù)
高性能與多核處理器
摘要
隨著越來越多的移動手持終端支持視頻功能,對于流媒體內(nèi)容及實時通信的網(wǎng)絡(luò)支持需求也在顯著上升。雖然對已部署的 3G 媒體網(wǎng)關(guān)進行升級可以支持較低的分辨率和幀速率,但這種由于自身的有限處理能力而進行的升級并不能滿足視頻成為主流應(yīng)用的需求。
為了使可擴展視頻應(yīng)用能夠支持高密度 (HD),需要顯著提高視頻處理能力,而多核數(shù)字信號處理器 (DSP) 不但擁有能滿足此類需求的增強型視頻處理功能,同時還能充分滿足運營商在可擴展性和低功耗方面的需求。
本文旨在介紹一種全新的多內(nèi)核平臺,其能夠通過優(yōu)化內(nèi)核通信、任務(wù)管理及存儲器接入實現(xiàn)高密度視頻處理能力,此外,本文還闡述了擴展實施的結(jié)果如何支持多通道和多內(nèi)核 HD 視頻應(yīng)用的高密度視頻處理。
目錄
1 介紹 ……………………………………………………………………………………………2
2 基礎(chǔ)局端 HD 視頻面臨的挑戰(zhàn) ………………………………………………………………2
2.1 外部 I/O 接口 ………………………………………………………………………………4
2.2 處理性能 ……………………………………………………………………………………5
2.3 存儲器設(shè)計的考慮事項 ……………………………………………………………………6
2.4 多內(nèi)核協(xié)作與同步 …………………………………………………………………………7
2.5 多芯片系統(tǒng) ……………………………………………………………………………………7
3. KeyStone DSP - TI 最新多內(nèi)核處理器 ……………………………………………………8
表目錄
表 1 KeyStone DSP與視頻要求 …………………………………………………………………8
圖目錄
圖 1 通過網(wǎng)絡(luò)進行視頻通信……………………………………………………………………3
圖 2 KeyStone DSP 方框圖 ……………………………………………………………………8
商標(biāo) C64x+ 與 C67x 均為德州儀器公司的商標(biāo)。
所有其他商標(biāo)均是其各自所有者的財產(chǎn)。
1 介紹
1 介紹
3G 與 4G 移動網(wǎng)絡(luò)在全球范圍內(nèi)的廣泛部署以及無線創(chuàng)新熱點的不斷涌現(xiàn),催生了手持終端用戶所需的關(guān)鍵數(shù)據(jù)帶寬。除了 web/數(shù)據(jù)應(yīng)用以外,視頻已成為移動數(shù)據(jù)普及的另一推動力。
隨著越來越多的用戶轉(zhuǎn)而使用視頻應(yīng)用,網(wǎng)絡(luò)基礎(chǔ)局端需要實現(xiàn)顯著的性能提升才能支持視頻內(nèi)容,這從最近蘋果公司 Facetime 視頻呼叫應(yīng)用及類似應(yīng)用的流行上可見一斑。
手持終端能夠以更高的分辨率和幀速率支持視頻捕獲與播放。傳統(tǒng)部署的 3G 媒體網(wǎng)關(guān)專用于支持低分辯率視頻應(yīng)用中的高密度多語音通道,但通常不能滿足用戶對于高質(zhì)量的預(yù)期。
此外,由于手持終端因電池使用壽命和存儲器大小等技術(shù)局限性,通常僅能以有限的參數(shù)集支持幾種標(biāo)準(zhǔn),因而媒體網(wǎng)關(guān)需要支持更多的編解碼器和轉(zhuǎn)碼模式,如轉(zhuǎn)碼、傳輸量以及傳輸速率等。例如,當(dāng)移動手機用戶駕車高速駛過某個區(qū)域時,讓網(wǎng)絡(luò)去適應(yīng)由當(dāng)時瞬時鏈接條件提供的帶寬并提供相應(yīng)的壓縮、分辨率及比特率更具高效性,這樣視頻鏈不致中斷,而且手持終端也不會因支持縮放或剪輯造成帶寬或電池電量的浪費。
為了充分滿足這些需求,我們需要顯著提高高密度媒體網(wǎng)關(guān)的視頻處理能力。多內(nèi)核 DSP 能夠以較低運營成本提供可擴展的解決方案,從而全面解決運營商重點關(guān)注的功耗與空間占用問題。
本文的組織結(jié)構(gòu)如下:
首先,闡述了處理高分辨率視頻面臨的挑戰(zhàn)和資源需求,以及如何有效地實現(xiàn)帶可擴展實施功能的視頻編碼算法,以便同時支持低分辨率和高分辨率通道。
其次,還對軟硬件選項如何提高多內(nèi)核運行的效率展開了討論。
最后,本文回顧性介紹了多內(nèi)核 DSP 領(lǐng)域前沿技術(shù)的發(fā)展歷程,并探討了開發(fā)人員可資利用的平臺。
2 基礎(chǔ)局端 HD 視頻面臨的挑戰(zhàn)
圖 1 描述了基于基礎(chǔ)局端網(wǎng)絡(luò)的視頻通信系統(tǒng)。一個典型的系統(tǒng)應(yīng)支持多種功能,其中包括:
• 高密度媒體的碼制轉(zhuǎn)換與速率適應(yīng)
• 與視頻轉(zhuǎn)碼相關(guān)的音頻轉(zhuǎn)碼
• 大型多方視頻會議
• 諸如語音等其他媒體形式的處理
圖 1 基于網(wǎng)路的視頻通信
轉(zhuǎn)碼是一種典型的通信基礎(chǔ)局端視頻應(yīng)用,我們可在其中通過已壓縮的輸入流對 YUV 域視頻流進行解碼,然后再使用不同的標(biāo)準(zhǔn)(轉(zhuǎn)碼)、不同的比特率(碼流速率)、分辨率(傳輸大?。┗蛏鲜龈黜椀娜我饨M合重新進行編碼。從高質(zhì)量的高清專業(yè)相機到低分辨率的智能電話錄制,視頻內(nèi)容來源廣泛;而視頻內(nèi)容接收器也是種類繁多,從大型的高清電視屏幕到低分辨率的手持終端,無所不包。視頻基礎(chǔ)局端必須全方位滿足各種需求,其中包括:
• 多重編碼和解碼標(biāo)準(zhǔn),如 DV、MPEG2/4、H.264 以及未來的 H.265 等。
• 多種分辨率和幀速率,從 128×96 像素的次 1/4 公用中分辨率格式 (SQCIF) 乃至更低分辨率,到高清 (1920x1080) 甚至是超高清 (4320P, 8K),從每秒 10 幀到每秒 60 幀不等。
• 各種編碼的輸入/輸出 (I/O) 比特率,如從低分辨率低質(zhì)量手持終端視頻流的 48 Kbps 到專業(yè)質(zhì)量的 50 Mbps(H.264 級 4.2)甚至更高。YUV域視頻流的帶寬要求非常高,例如,采用 4:2:0 配色方案的 YUV 1080p60 視頻流需要 1.5 Gbps 左右的帶寬。
延遲要求因應(yīng)用而異:視頻會議和實時游戲應(yīng)用對延遲的要求非常嚴格,不能超過 100 毫秒;視頻點播應(yīng)用則可以接受中等延遲(可達幾秒鐘),而且存儲等非實時應(yīng)用的處理能夠允許更長時間的延遲。[!--empirenews.page--]
通信基礎(chǔ)局端網(wǎng)絡(luò)面臨的挑戰(zhàn)在于,如何才能夠?qū)⑺械膬?nèi)容交付給所有所需用戶,同時又能維持硬件資源的高利用率和高效性。為了進一步闡述這一挑戰(zhàn),不妨考慮一下這個事實,單個 1080i60 通道要求的處理負載與 164 個幀速率為 15 fps(假定負載與分辨率和幀數(shù)量之間呈線性關(guān)系)的 1/4 公用中分辨率格式 (QCIF)的通道相同。因此,支持單個 1080i60 通道的硬件也應(yīng)該能夠以同等的高效性和高利用率支持 164 個 QCIF 通道。但是,以如此數(shù)量級實現(xiàn)的可擴展性是一大挑戰(zhàn)。
為了符合高可擴展性要求,必須采用可編程的硬件解決方案。部分視頻應(yīng)用要求處理器具有極高比特率的信號輸入與輸出,因此,基于處理器的解決方案必須擁有可支持足夠外部接口的理想外設(shè)。這種處理器必須具備足夠的處理能力,可處理實時的高清高質(zhì)量視頻,同時還需配備足夠的本機資源,如快速存儲器、內(nèi)部總線和 DMA 支持等,以使處理器的處理能力獲得高效利用。
單內(nèi)核 DSP 具有高度的靈活,能夠高效執(zhí)行各種算法。DSP 不僅能夠處理話音、音頻、視頻,還可以執(zhí)行其他功能。但是,由于單內(nèi)核 DSP 的計算能力不足,因而不能自由地處理任何分辨率的實時視頻,而只能處理 SQCIF、QCIF 以及公用中分辨率格式 (CIF) 等較低分辨率的視頻;而且,單內(nèi)核 DSP 的功耗也使其無法應(yīng)用在高密度視頻處理系統(tǒng)中。
新型的多內(nèi)核 DSP 具備非常高的處理能力,且其每次運行的功耗也比單內(nèi)核 DSP 低。為了確定多內(nèi)核處理器對于通信基礎(chǔ)局端而言是否能夠成為有效的硬件解決方案,需要對其接口、處理性能、存儲器要求以及多內(nèi)核合作與同步機制針對各種不同的使用案例進行符合性驗證。
2.1 外部 I/O 接口
典型轉(zhuǎn)碼應(yīng)用的比特流是以 IP 數(shù)據(jù)包形式進行打包。轉(zhuǎn)碼應(yīng)用所需的帶寬與分辨率以及用戶所需網(wǎng)絡(luò)的可用帶寬相關(guān)。以下針對單通道消費類質(zhì)量 H.264 編碼視頻流作為分辨率函數(shù)時列出的公用帶寬要求:
• HD 分辨率,720p 或 1080i - 6 至 10 Mbps
• D1 分辨率,720×480,30 幀/秒 (fps),或 720×576,25 幀/秒 – 1 至 3 Mbps
• CIF 分辨率,352×288,30 幀/秒 – 300 至 768 Kbps
• QCIF 分辨率,176×144,15 幀/秒 – 64 至 256 Kbps
轉(zhuǎn)碼應(yīng)用所需的總外部接口是輸入媒體流與輸出媒體流所需帶寬的總和。為了支持多個 HD 分辨率通道或大量較低分辨率通道,至少需要一個串行千兆位介質(zhì)獨立接口 (SGMII)。
非轉(zhuǎn)碼視頻應(yīng)用涉及從 YUV(或同等)域?qū)υ家曨l媒體流進行編碼或解碼。原始視頻流具有較高的比特率,且通常通過 PCI、PCI Express 或串行快速輸入/輸出 (SRIO) 等高比特率的快速多通道總線直接從處理器輸入或輸出信號。
以下列出了使用 8 位像素數(shù)據(jù)和 4:2:0 或 4:1:1 配色方案傳輸 YUV 域中單通道原始視頻流所需的帶寬:
• 1080i60 - 745.496 Mbps
• 720p60 - 663.552 Mbps
• D1(30fps NTSC 或 25 fps PAL)- 124.415 Mbps
• CIF(30 fps)- 36.49536 Mbps
• QCIF(15 fps)- 4.56192 Mbps
因此,可對 4 個 1080i60 H.264 通道進行解碼的處理器要求能夠支持超過 4 Gbps 速率的總線,從而可假定總線的利用率為 60%。
2.2 處理性能
在可編程處理器的 H.264 通道上進行視頻處理所需的處理性能取決于眾多參數(shù),其中包括分辨率、比特率、影像質(zhì)量以及視頻剪輯內(nèi)容等。本章不僅將討論影響周期消耗的因素,而且還將給出普通應(yīng)用實例平均周期消耗的經(jīng)驗法則。
與其他視頻標(biāo)準(zhǔn)一樣,H.264 僅定義解碼器算法。對于既定編碼媒體流而言,所有的解碼器都可生成相同的 YUV 視頻域數(shù)據(jù)。
因此,解碼器不決定影像質(zhì)量,而由編碼器決定。不過,編碼器質(zhì)量能影響解碼器的周期消耗。
熵解碼器的周期消耗取決于熵解碼器的類型和比特率。H.264 MP/HP 為熵解碼器定義了兩種無損算法,即上下文環(huán)境自適應(yīng)二進制算術(shù)編碼 (CABAC) 和上下文環(huán)境自適應(yīng)可變長度編碼 (CAVLC)。CABAC 能提供更高的壓縮比,因此,比特數(shù)相同時影像質(zhì)量會更佳,但相比 CAVLC 在每個媒體流比特上約多消耗 25% 的周期。用于解碼 CABAC 或者 CAVLC 媒體流所需的周期量是比特數(shù)的一個非線性單調(diào)函數(shù)。
所有其他解碼器功能的處理負載均是分辨率的函數(shù)。更高分辨率需要更多的周期,幾乎與宏模塊的總數(shù)量呈線性關(guān)系。視頻流內(nèi)容、編碼器算法與工具能在一定程度上影響解碼器的周期消耗。附錄 A – 解碼器性能依賴性 (Decoder Performance Dependency) 列舉了可能會影響解碼器周期消耗的編碼器算法和工具。
在可編程器件上實施既定比特率的編碼器需要在質(zhì)量與處理負載之間進行權(quán)衡。附錄 B – 運動估算與比特率控制 分析了可能影響編碼器質(zhì)量并消耗大量周期的兩種編碼器算法。
對于典型的運動消費類電子設(shè)備的高質(zhì)量視頻流而言,以下列表給出的經(jīng)驗法則,可用以判斷常見使用案例中 H.264 編碼器消耗的周期數(shù)。
• QCIF 分辨率、15 fps、128 Kbps - 每通道 2,700 萬個周期
• CIF 分辨率、30 fps、300 Kbps – 每通道 2 億個周期
• D1 分辨率、NTSC 或 PAL、2 Mbps –每通道 6.6 億個周期
• 720p 分辨率、30 fps、6 Mbps – 每通道 18.5 億個周期
• 1080i60、每秒 60 場、9 Mbps – 每通道 34.5 億個周期
與此類似,H.264 解碼器消耗的周期數(shù)為:
• QCIF 分辨率、15 fps、128IKbps – 每通道 1400 萬個周期
• CIF 分辨率、30 fps、300 Kbps – 每通道 7050 萬個周期
• D1 分辨率、NTSC 或 PAL、2 Mbps –每通道 2.92 億個周期
• 720p 分辨率、30 fps、6 Mbps – 每通道 7.8 億個周期
• 1080i60、每秒 60 場、9 Mbps –每通道 16.6 億個周期
轉(zhuǎn)碼應(yīng)用(包括完整的解碼器和編碼器)消耗的周期數(shù)是編碼器和解碼器所消耗的總和,在需要的情況下也會加上擴展的消耗。
2.3 存儲器的考慮事項
在成本與存儲器要求之間進行權(quán)衡折中是任何硬件設(shè)計都需要考慮的重要因素。在分析多核視頻處理解決方案的存儲器要求時,需要明確以下幾個問題:
• 需要多大存儲量的存儲器,以及存儲器的類型(專有還是共享)是什么?
• 存儲器的速度是否足夠支持流量需求?
• 接入總線的速度是否足以支持流量需求?
• 存儲器架構(gòu)是否能夠以最少的多核性能損失支持多核接入?
• 存儲器架構(gòu)是否能以最小的數(shù)據(jù)沖突支持處理器數(shù)據(jù)流的輸入與輸出?
• 支持存儲器接入(諸如 DMA 通道、DMA 控制器、預(yù)取機制和快速智能高速緩沖架構(gòu) )的現(xiàn)有硬件有哪些?所需存儲器的存儲量取決于應(yīng)用。以下三個應(yīng)用實例介紹了三種不同的存儲器要求:
- 無線傳輸速率:在單幀運動估算參考 (single-motion estimation reference frame) 中以極低的延遲從 QCIF H.264BP 轉(zhuǎn)換至 QCIF H.264BP 需要足夠的存儲容量才能存儲 5 個幀。每幀需要 38016 個字節(jié),那么一個通道(包括輸入和輸出媒體流的存儲)所需存儲器的存儲量為每通道不足 256KB。同時處理 200 個通道則需 50MB 的數(shù)據(jù)存儲。
- 多通道解碼器應(yīng)用實例:對于 H264 HP 1080p 解碼器,如果兩個連續(xù)的 P 幀和 I 幀之間的 B 幀數(shù)目等于或少于 5,那么我們只需要足夠存儲 7~8 個幀的存儲空間,因而單個通道(包含存儲輸入和輸出媒體流)所需的存儲量應(yīng)少于每通道 25MB。同時處理 5 個通道需要 125MB 的數(shù)據(jù)存儲器。
- 包含實時電視廣播的高質(zhì)量視頻流示例:應(yīng) FCC 的要求在系統(tǒng)中有 7 秒的延遲時,對實時電視節(jié)目采用 H.264HP 720P60 編碼需要每個通道存儲 600MB。并行處理兩個通道需要 1.2GB 的數(shù)據(jù)存儲量。
為了最大限度地提高視頻處理系統(tǒng)的低成本優(yōu)勢,數(shù)據(jù)必須駐留在外部存儲器中,其大小需要根據(jù)系統(tǒng)存儲器最差的應(yīng)用狀態(tài)來選擇。與此同時,處理過的數(shù)據(jù)必須存放在內(nèi)部存儲器中才能支持處理器的高吞吐量。優(yōu)化的系統(tǒng)會使用乒乓機制將數(shù)據(jù)從外部存儲器移至內(nèi)部存儲器,而將數(shù)據(jù)從內(nèi)存移至外部存儲器的同時還要處理來自內(nèi)部存儲器的數(shù)據(jù)。典型的處理器具有一個可配置為高速緩存或 RAM 的小型 L1 存儲器,用于每個內(nèi)核(可配置為高速緩存或 RAM)的較大型專用 L2 存儲器,以及處理器中每個內(nèi)核都能夠存取的共享 L2 存儲器均可使用。為加強乒乓機制,需要用多個相互獨立的 DMA 通道從外部存儲器中讀寫數(shù)據(jù)。
附錄C 外部存儲器帶寬-為支持乒乓機制用于上述三個應(yīng)用實例,估算了將數(shù)據(jù)從外部存儲器移至內(nèi)部存儲器所需的帶寬。外部存儲器的有效帶寬必須大于 3.5Gbps。
[!--empirenews.page--]
2.4 多內(nèi)核間的協(xié)作與同步
當(dāng)多個內(nèi)核處理同一視頻通道時,這些內(nèi)核之間必須相互通信,才能實現(xiàn)對輸入數(shù)據(jù)的同步、分離或共享,合并輸出數(shù)據(jù)或者在處理過程中交換數(shù)據(jù)。附錄 A - 解碼器性能依賴闡述了將視頻處理功能劃分成多個內(nèi)核的幾種算法。
并行處理法和流水線處理法是兩種常用的分區(qū)算法。并行處理的范例是兩個或兩個以上的內(nèi)核可以處理同一輸入通道。必須有一個不受競態(tài)條件影響的機制在多個內(nèi)核之間共享信息??蓪⑿盘枠?biāo)用來保護全局區(qū)域免受競態(tài)條件的干擾。硬件需要支持阻塞性和非阻塞性信號標(biāo),以有效消除競態(tài)條件,即消除兩個內(nèi)核同時占用同一存儲器地址的可能性。
如果使用流水線算法,一個或一個以上的內(nèi)核可執(zhí)行運算的第一部分,然后再將中間結(jié)果傳遞第二組內(nèi)核繼續(xù)處理。由于視頻處理負載取決于處理的內(nèi)容,因而這種傳遞機制可能面臨如下問題:
• 如果一個以上的內(nèi)核處理流水線的第一階段,那么第 N+1 幀可能先于第 N 幀被處理好。因此該傳遞機制必須能夠?qū)敵?輸入進行排序。
• 即使流水線上的各內(nèi)核總體是均衡的(在處理負載方面),但個別幀未必如此。該傳遞機制必須在不同的流水線階段之間提供緩沖,以使內(nèi)核沒完成工作時不至于影響其他內(nèi)核停滯等待。
• 如果算法要求流水線的兩個階段間能穩(wěn)固實現(xiàn)緊密的鏈接(例如,為解決依賴性的問題),則該機制就必須能夠支持緊密鏈接與松散鏈接。
2.5 多芯片系統(tǒng)
實時處理超級視頻 (SVGA)、4K 及更高分辨率,或處理 5 級 H.264HP可能需要不止一個芯片一起協(xié)作。要構(gòu)建一個具有超高處理能力的雙芯片系統(tǒng),擁有可連接兩個芯片的超快速總線至關(guān)重要。
第三部分描述了可滿足上述所有要求及難題的 KeyStone系列 DSP架構(gòu)。
3.KeyStone DSP – TI 最新多內(nèi)核處理器
TI KeyStone 架構(gòu)描述了廣泛應(yīng)用于視頻處理等要求高性能和高帶寬的系列多內(nèi)核設(shè)備。圖 2 對 KeyStone DSP進行了概括性描述。本章針對在第二部分中闡述的視頻處理硬件要求對 KeyStone DSP 特性進行了介紹。
圖 2 KeyStone DSP 方框圖
|
特性
新 C6x 內(nèi)核
- 頻率為 1GHz 的 8 個新型 C6x DSP 內(nèi)核
- 浮點處理能力
- 性能:256 GMAC、128 GFLOPS
存儲器
- 每個內(nèi)核配備32 KB L1P&L1D
- 每個內(nèi)核配備 512 KB 局域 L2
- 4MB 共享 L2 存儲器
分組加速器
開關(guān)結(jié)構(gòu)和 EDMA3
外設(shè)
-帶以太網(wǎng)轉(zhuǎn)換器的
2x SGMII(數(shù)據(jù)/控制)– 4x SRIO,速率為 5 Gbps
– 2x PCIe,2x TSIP
– 16/32/64b DDR3
– EMIF-16、SPI、I2C、UART、GPIO
系統(tǒng)監(jiān)控器
- JTAG
-嵌入式跟蹤緩沖器-跟蹤端口
設(shè)備規(guī)格參數(shù)表
-功率:75 C 時 7.5 W ,105 C時為 9 W - 封裝尺寸:目標(biāo) 24x24
- 40 nm 引腳工藝
- 引腳數(shù)為 841(全陣列)
- 內(nèi)核電壓:運用 SmartReflex 技術(shù),1GHz時 1V;800MHz 時 0.9V。
|
多內(nèi)核視頻要求
|
KeyStone 的功能特性能夠充分滿足要求
|
外部 I/O 接口 - 壓縮的視頻以太網(wǎng)接口
|
兩個 SGMII 1G端口可支持適用于分包壓縮視頻的高比特率以太網(wǎng)接口。正如第二部分所述,典型的 HD 視頻需要高達 10 Mbps 的速率,以使以太網(wǎng)接口能夠支持多個壓縮視頻通道。此外,KeyStone DSP 還擁有分組加速器硬件子系統(tǒng),可支持多個 IP 地址且能為每個內(nèi)核分擔(dān)分組處理負載。
|
外部 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 次運算(浮點、定點和數(shù)據(jù)移動)。此外,這個 KeyStone DSP 的新型 C66x 內(nèi)核還可支持TI C64x+ DSP 內(nèi)核的所有指令、TI C67x core 內(nèi)核的所有指令,以及包含幾個支持四則運算和兩則運算的 SIMD 指令的其他指令。適用于操作矢量處理類型的理論操作數(shù)量是 128G 甚或 256G。這些 SIMD 指令可顯著提高采用矢量處理的視頻處理算法(如運動估算、轉(zhuǎn)換和量化算法等)的效率。
|
存儲器考慮事項 - 片上存儲器
|
每個內(nèi)核都擁有 32KB 的 L1 數(shù)據(jù)存儲器和 32KB 的 L1 程序存儲器。每個都可配置為純 RAM 或 L1 高速緩存,抑或二者的結(jié)合。
每個內(nèi)核均擁有 512KB 的 L2 專有存儲器,其中多達 256KB 可被配置為四通道的 L2 高速緩存。另外,KeyStone DSP 還擁有 4MB 的共享 L2 存儲器。
|
存儲器考慮事項 - 外部存儲器
|
支持高達 8GB 的 DDR3,模式為 1×16、1×32 和 1×64,高達 1600 MHz 的頻率可提供每秒高達 12.8GB 原始比特率。
|
存儲器考慮事項 - 多內(nèi)核共享存儲器控制器
|
2×56 比特直接連接至外部存儲器接口 (EMIF) DDR。
2×256 比特直接連接至各個 DSP。
適用于程序和數(shù)據(jù)的多重預(yù)取媒體流。
|
存儲器考慮事項 - DMA
|
10 個傳輸控制器和 144 個增強型直接存儲器接入 (EDMA) 通道使得從外部存儲器讀寫數(shù)據(jù)具有高效的資源利用率。
|
內(nèi)核之間的同步與全局協(xié)作
|
全硬件支持 64 個獨立阻塞和非阻塞信號標(biāo),支持直接和間接請求。
|
內(nèi)核之間的緊密與松散鏈接、數(shù)據(jù)和消息傳輸
|
多內(nèi)核導(dǎo)航器是一個硬件隊列管理器,可控制 8,192 個隊列且擁有 6 個可傳輸消息的渠化 DMA 通道。導(dǎo)航器可支持數(shù)據(jù)和消息在緊密或松散鏈接的內(nèi)核之間進行傳遞。此外,導(dǎo)航器還能有助于提高數(shù)據(jù)從多個源傳輸至多個目的地的高效排序。
|
連接兩個芯片的快速總線
|
四通道超鏈接總線可提供高達每通道 12.5Gbps、總計 50Gbps 的傳輸速率。
|
表 1 KeyStone DSP 和視頻處理要求(第一部分,共兩部分)[!--empirenews.page--]
多內(nèi)核視頻要求 KeyStone 的功能特性能夠充分滿足要求
外部 I/O 接口 - 壓縮的視頻以太網(wǎng)接口 兩個 SGMII 1G端口可支持適用于分包壓縮視頻的高比特率以太網(wǎng)接口。正如第二部分所述,典型的 HD 視頻需要高達 10 Mbps 的速率,以使以太網(wǎng)接口能夠支持多個壓縮視頻通道。此外,KeyStone DSP 還擁有分組加速器硬件子系統(tǒng),可支持多個 IP 地址且能為每個內(nèi)核分擔(dān)分組處理負載。
外部 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 次運算(浮點、定點和數(shù)據(jù)移動)。此外,這個 KeyStone DSP 的新型 C66x 內(nèi)核還可支持TI C64x+ DSP 內(nèi)核的所有指令、TI C67x core 內(nèi)核的所有指令,以及包含幾個支持四則運算和兩則運算的 SIMD 指令的其他指令。適用于操作矢量處理類型的理論操作數(shù)量是 128G 甚或 256G。這些 SIMD 指令可顯著提高采用矢量處理的視頻處理算法(如運動估算、轉(zhuǎn)換和量化算法等)的效率。
存儲器考慮事項 - 片上存儲器
每個內(nèi)核都擁有 32KB 的 L1 數(shù)據(jù)存儲器和 32KB 的 L1 程序存儲器。每個都可配置為純 RAM 或 L1 高速緩存,抑或二者的結(jié)合。
每個內(nèi)核均擁有 512KB 的 L2 專有存儲器,其中多達 256KB 可被配置為四通道的 L2 高速緩存。另外,KeyStone DSP 還擁有 4MB 的共享 L2 存儲器。
存儲器考慮事項 - 外部存儲器 支持高達 8GB 的 DDR3,模式為 1×16、1×32 和 1×64,高達 1600 MHz 的頻率可提供每秒高達 12.8GB 原始比特率。
存儲器考慮事項 - 多內(nèi)核共享存儲器控制器 2×56 比特直接連接至外部存儲器接口 (EMIF) DDR。
2×256 比特直接連接至各個 DSP。
適用于程序和數(shù)據(jù)的多重預(yù)取媒體流。
存儲器考慮事項 - DMA
10 個傳輸控制器和 144 個增強型直接存儲器接入 (EDMA) 通道使得從外部存儲器讀寫數(shù)據(jù)具有高效的資源利用率。
內(nèi)核之間的同步與全局協(xié)作 全硬件支持 64 個獨立阻塞和非阻塞信號標(biāo),支持直接和間接請求。
內(nèi)核之間的緊密與松散鏈接、數(shù)據(jù)和消息傳輸 多內(nèi)核導(dǎo)航器是一個硬件隊列管理器,可控制 8,192 個隊列且擁有 6 個可傳輸消息的渠化 DMA 通道。導(dǎo)航器可支持數(shù)據(jù)和消息在緊密或松散鏈接的內(nèi)核之間進行傳遞。此外,導(dǎo)航器還能有助于提高數(shù)據(jù)從多個源傳輸至多個目的地的高效排序。
連接兩個芯片的快速總線 四通道超鏈接總線可提供高達每通道 12.5Gbps、總計 50Gbps 的傳輸速率。
附錄A - 解碼器性能相關(guān)性編碼器所采用的工具和算法以及視頻內(nèi)容都會影響解碼器的性能。下列因素將影響解碼器性能:
• CABAC 或 CAVLC 熵解碼器的選擇
• 跳幀的數(shù)量
• 幀內(nèi)預(yù)測模式的復(fù)雜性
• 預(yù)測類型—運動估算或幀內(nèi)預(yù)測。(運動補償需要消耗的解碼周期數(shù)不同于幀內(nèi)預(yù)測補償。采用運動補償還是幀內(nèi)預(yù)測取決于編碼器。)
• 不同的運動估算工具(每個宏模塊一個運動矢量,每個宏模塊 4個運動矢量,或每個宏模塊 8 個運動矢量)能改變解碼器的復(fù)雜度和周期數(shù)。
• B 幀宏模塊的運動補償涉及兩個參考宏模塊,并消耗更多周期。
• 媒體流中的運動量不僅會更改跳過宏模塊的數(shù)目,同時還會改變解碼器的處理要求。
• 比特流在運動矢量、模塊值、標(biāo)記等各個不同值等之間的分配取決于媒體流的內(nèi)容和編碼器算法。不同的分配會相應(yīng)改變熵解碼器的周期數(shù)。
附錄B — 運動估算和速率控制
運動估算是 H.264 編碼中很大一部分內(nèi)容。H.264 編碼器的質(zhì)量取決于運動估算算法的質(zhì)量。運動估算所需的周期數(shù)取決于運動估算算法的功能特性及特征。以下是幾個影響運動估算周期消耗的主要因素:
• I 幀、P 幀和 B 幀的頻率
• L0(對于 P 幀和 B 幀)和 L1(對于 B 幀)中的參考幀數(shù)目
• 搜索區(qū)域的數(shù)目
• 搜索區(qū)的大小
• 搜索算法
良好的運動估算算法可能消耗總編碼周期的 40-50%,乃至更多。
速率控制算法是影響編碼質(zhì)量的主要因素。為了最大限度地提高視頻的感知質(zhì)量,智能速率控制算法可在宏模塊和幀之間分配可用的比特。
部分系統(tǒng)可執(zhí)行多重處理通道,以便在宏模塊之間更好的分配可用比特。多條通道雖然能提高感知質(zhì)量,但卻要求更密集的處理。
附錄C - 外部存儲器帶寬
由于運動估算算法的原因,編碼器通常比解碼器需要更高的內(nèi)部帶寬。編碼器的要求分兩種情況計算:低比特率 QCIF 和高比特率的 1080p。
• 第一種情況 -- QCIF 264 BP 編碼器:
兩個完整的 QCIF 幀能駐留在高速緩存或 L2 乒乓緩沖器中。每個幀需要的容量不到 40 KB。采用一個參考幀對某一幀進行編碼時,系統(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í)行運動參考幀的運動估算,該參考幀可能需要從外部存儲器移至內(nèi)部存儲器多達三次。此外,也可假定采用多達四個參考幀的高級算法。因此,單個 1080p60 通道的運動估算是:
3(復(fù)制 3 次)* 1920*1080*1(在運動估算中,每像素僅 1 個字節(jié))*60 (fps) * 4(參考通道) = 1492.992 MBps
是否移動可進行處理和運動補償?shù)漠?dāng)前幀由以下情況來確定:
2(當(dāng)前幀和運動補償)* 1920 * 1080 * 1.5(字節(jié)/像素)* 60 = 373.248 MBps
綜上所述,以上兩個匯總結(jié)果規(guī)定了輸出比特流。一個通道的總和為1866.24 MBps,即兩個 H.264 HP 1080p60 編碼器為 3732.48 MBps,這意味著約占用外部存儲器原始數(shù)據(jù)帶寬的 30%。