2008年3月5日 星期三

Video Input Processer工作紀錄

設定影像輸入格式:
將影像輸入格式設定為CVBS,也就是ㄧ般的AV端子

設定影像輸出格式:
由於chip有support ITU-R BT656 Embedded Syncs 與 YCbCr 4:2:2 Discreate sync
Embedded Syncs:即表示將hsync與vsync訊號的資料包在data封包裡面傳送
Discreate sync:是指hsync與vsync訊號是個別傳送的,沒有包在資料裡面
由於cpu只支援hsync與vsync訊號個別傳送,所以必須將Video Output的輸出格式設為Discreate sync。


設定符合Chip端輸出的data順序:
由於我們選擇的chip輸出format是YCbCr 4:2:2,其中Y代表亮度、Cb代表藍色色度、Cr代表紅色
色度,而CHIP所設定的data傳送順序如下圖所示:





所以在CPU端也必須設定CbYCrY順序的動作,色彩才會與chip輸出data相符合


在Chip Init加入Chip Reset:
// VEDIO_RESET Pull Low //p13
PIO_OUTPUT_ZERO (GPIO, GPIO_GROUP(3), GPIO_INDEX(11)); PIO_OUTPUT_ENABLE (GPIO, GPIO_GROUP(3), GPIO_INDEX(11));

msWait(100);

// VEDIO_RESET Pull High //p13
IOW_REG_OR(ULONG, &(v_pGpioRegs->gpio[3].paden), GPIO11);
PIO_OUTPUT_ONE (GPIO, GPIO_GROUP(3), GPIO_INDEX(11));
PIO_OUTPUT_ENABLE (GPIO, GPIO_GROUP(3), GPIO_INDEX(11));

將16bit強制轉換成8bit:
由於driver的架構是以16bit為設計基準,然而VIP chip只有Support到8bit,故必須將將16bit強制轉換成8bit

Scale:
由於實際影像大小為720*240,但是我們實際要輸出的LCD panel只有320X240,故需做影像壓縮大小的動作,這樣的動作會透過LookUpTable來實現,也就是將實際影像大小建構在LookUpTable中,再依我們要壓縮的比例大小至table表裡,等比例的每隔幾個pixel取ㄧ次,取出實際輸出的影像大小。

16bit與8bit處理上的差異:
由於ㄧ個pixel大小為2 bytes所組成,所以以16bit的driver架構,pixel CLK為13.5MHZ,所以ㄧ次可以傳送ㄧ個Pixel。所以如果以8bit的架構,pixel CLK就必須變成27MHZ

影像重疊的處理:
由於倒車影像需要倒車警示線,所以需要在倒車影像上再新增一圖層用來顯示倒車警示線,
在LCD driver有三個圖層可供使用,ㄧ個是最底層SCN,在這邊將這層拿來顯示我們的倒車影像
而第一層OSD1,則是拿來顯示警示線,另ㄧ層OSD2則尚未使用到,如下圖所示
在最後LCD display輸出時就會將三的圖層mix在一起在輸出



在driver還需要將SCN層與OSD層的framebuffer作個別指定的動作,以免發生影像與警示線顯示在同ㄧ圖層的情況,由於OSD圖層式堆疊在SCN層上面,所以會將SCN圖層的影像蓋過去,導致只能看到OSD圖層,在這種情況下,就必須將OSD圖層作透明化的處理,再OSD圖層可指定對特定顏色作透明化以及加強或減弱透明度的效果,經過透明化後,就可以看到SCN層的影像及OSD層的警示線了

設定特定顏色透明化:
dwColorKeyHigh =0x13effe;//設定白色透明化
dwColorKeyLow = 0x13effe;//設定白色透明化

設定OSD層透明化的程度:
WriteLcdRegisterValue(OSDALPHA, 0x002f003a);//set Alpha Value

OSD影像偏移校正問題:
在ㄧ開始時,我們曾經發生在OSD層顯示影像時,會發生整個影像向右偏移的請況,所以影像左邊會跑出黑色的色塊,而且影像也無法全部顯示,影像右邊ㄧ塊也會不見,原因是因為要去設定OSD圖層的起始與結束位置,在platform.reg裡作設定,當設定的位置跟底層SCN層的位置是ㄧ致時,就不會有偏移的情形產生了

"regOSD_HSTART"=dword:22
"regOSD_VSTART"=dword:11
"regOSD_HEND"=dword:161
"regOSD_VEND"=dword:100

OSD層資料搬移(16bits轉32bits)
由於為了減少系統負荷量,原本資料搬移的型別是用WORD,也就是每次搬移16bits,現在改用int,一次搬移32bits,搬移時寬度必須每次都加2,因為寬度是320高度240,而原本每次是搬移1個pixel,所以總共要搬移320x240次,現在變成每次搬移2個pixel,所以現在總共只要搬移320x160次即可

2008年3月3日 星期一

[轉貼]克服平面電視中的音訊挑戰

轉貼至http://www.eettaiwan.com/ART_8800507035_617739_TA_660af9fb.HTM

試圖讓平面電視重現高品質音訊的設計師們正面臨著諸多挑戰,不過,數位音訊處理器和放大器可以用來彌補這些問題,並進一步改善和強化音訊體驗。

從採用CRT顯示器的標準解析度類比電視,到採用LCD和電漿顯示器的高解析度數位電視,整個電視產業正在快速轉變。雖然畫面品質獲得了大幅提升,但仍有多種因素使電視製造商很難提高甚至讓用戶維持觀看CRT電視時所體驗的音訊品質。這些因素包括:

用戶希望使用更輕薄的電視,但機箱厚度的縮小迫使製造商使用更小的揚聲器,降低了低頻時的音訊回應。

為減少電視外框尺寸,有時會將揚聲器置於螢幕背後,聲音透過很小的聲學喇叭發送,容易引起調諧共振。

與CRT電視相較,更薄的機箱較不結實,容易引起機械共振。

大多數平面電視越來越寬,也迫使製造商將揚聲器安裝在電視下方而非兩邊,影響了立體聲的分離度。

平面電視螢幕尺寸越大,意味著電視離觀眾越遠,減少了立體聲分離度。
在此同時,消費者對電視聲音的期望值越來越高,這是因為:

畫面品質的提高增加了對音訊品質的期望值。隨著越來越多的用戶擁有可重現劇院視覺品質的裝置,他們同樣會希望感受到劇院級的音訊品質。

具有多通道數位音訊(如杜比、DTS等)的DVD和數位電視節目可以提供更高品質的音訊內容。數位音訊處理和放大可以用來彌補平面電視帶來的這些問題,並提供高品質的音訊體驗。

除了能彌補這些問題外,數位音訊處理還能透過重建家庭劇院系統中常見的中央聲道和後置揚聲器感覺來提高音訊品質,增強對話解析度,並提高深夜看電視在低音量時的聲音品質。


數位電視中的音訊通道

ATSC數位電視廣播的音訊與視訊一起嵌入在MPEG傳送資料流程中。數位電視中的MPEG解碼器同時解碼視訊和音訊(通常是杜比數位),並提供數位音訊輸出(通常為I2S)和視訊輸出。

在簡單的配置中,音訊訊號可能只經過音量控制後就被發送到音訊DAC,然後輸出到放大器(圖1)。在實際應用中會增加一些額外的音訊處理電路來改善音訊品質,並使之與視訊同步(圖2)。



圖1:在簡單配置中,音訊訊號可能只經過音量控制後就被發送到音訊DAC,然後輸出到放大器。

在從類比電視向數位電視轉變的過程中,電視必須能夠同時處理類比和數位音訊。類比電視訊號中的音訊要使用一個子載頻,而類比調諧器通常有一個需要被解調的聲音中頻(SIF)輸出。DTV平台通常有一個用於解調來自類比調諧器SIF輸出的類比輸入端和一個來自解碼器的數位輸入端,後面的解碼器用於處理MPEG資料流程中的視訊和數位音訊(圖2)。





圖2:在實際應用中會增加一些額外的音訊處理電路來改善音訊品質,並使之與視訊同步。

類比電視接收電路即使在類比廣播關閉後可能還是需要的,因為要相容於VCR(錄影機)、視訊遊戲以及所有仍輸出射頻調變後訊號的音訊/視訊週邊設備。


口唇同步延遲


由於用於顯示的視訊訊號處理越來越複雜,輸入和顯示器之間的視訊延遲也越來越長。這就要求電視能延遲音訊訊號,使之與視訊訊號保持同步。

有三種方法可實現口唇同步延遲:1. 利用音訊處理器中的口唇同步延遲記憶體;2. 利用與音訊處理器連接的外部口唇同步延遲記憶體;3. 將音訊環回到視訊處理器,利用視訊器的DRAM實現音訊延遲。在音訊處理器中實現口唇同步延遲是最簡單的方法,但它會增加音訊處理器的成本,且缺乏靈活性。

與整合式口唇同步記憶體相較,使用專門的外部記憶體實現口唇同步延遲成本增加得的更多,但它也很簡單,並更加靈活。使用視訊處理器的DRAM是成本最低的一種方法,但它也增加了系統的複雜性。


繪圖均衡

頻率回應校正的第一步是繪圖均衡。繪圖均衡使用帶通濾波器來提升或降低特定頻段的增益。這是一個能讓用戶良好控制頻率回應的好方法,因為他們非常熟悉這種處理介面。

繪圖均衡可用來彌補由於小型揚聲器、機箱諧振等引起的音訊問題,但它不是最好的方法,因為頻段的寬度和頻率是固定的。




圖3:採用參數化均衡的LCD電視音訊系統具有更佳的頻率回應。


參數化均衡



參數濾波器也可以用來調整電視放大器的回應曲線。在修正由於小型揚聲器和超薄機箱等引起的不良頻率回應和諧振問題方面,參數濾波器優於繪圖等化器,因為參數濾波器可透過編程來調整總濾波器回應、中心頻率和Q值。


雙二階濾波器常用於參數化均衡。數位雙二階濾波器也具有很大的靈活性,因為它有兩個極點和兩個零點可用來調整濾波器回應,因而形成低通、高通或帶通甚至陷波濾波器。雙二階濾波器中的極點和零點位置可透過調整濾波器係數來改變。


提高立體聲分離度



隨著數位電視長寬比的增加,立體聲分離度也應越來越大,但越來越多的電視製造商將揚聲器放在顯示器下方,而不是兩側,這是為了減少電視的整體寬度。而將揚聲器放在顯示器下方將減少立體聲的分離度,而且還會使聲音中心從顯示器中心移到顯示器下方。


SRS Labs、BBE Sound和QSound Labs等公司的演算法可用來增加音訊聲像的尺寸,提高可感知的低音性能,並使兩個揚聲器產生中置和後置通道揚聲器的效果。這些演算法可以改善電視的可感知音訊品質,並產生更像是多通道家庭劇院系統的聆聽系統。
圖4顯示了BBE ViVA如何改善音訊聲像(BBE Sound公司)。







圖4:BBE VIVA是一種雙揚聲器的3D處理,其中央聲道是虛擬的。


動態範圍最佳化


小型電視揚聲器很難重現數位音訊軌跡中包含的全部動態範圍。當你在晚上想避免竊竊私語和戰爭場面之間音量的極大差異時,擴展動態範圍也很困難。為了最佳化目前節目的整體音量,音訊處理器可提供從寬頻帶到多頻帶等多種動態範圍壓縮選項。

更高的功率電平


採用大顯示器的平面電視觀看距離通常要大於CRT電視,因此需要更大的音訊功率。另外,平面電視缺少AB類放大器需要的散熱空間。這兩大因素使得數位音訊放大器成為平面電視的更好選擇。

共有兩種基本的數位音訊放大器類型。傳統的D類放大器接收類比輸入訊號,利用類比電路產生脈寬調變開關輸出。傳統的D類放大器非常適合具有類比訊號源的產品使用,但數位D類放大器更適合具有數位音訊源的產品(如數位電視)使用。

數位D類放大器接受數位音訊輸入,利用數位電路產生開關輸出,因此在音訊處理器輸出端無需再使用DAC。數位放大器具有很高的訊息噪音比和動態範圍,因為訊號路徑已經完全數位化。另外,如果需要額外的處理能力,還可以在放大器本身中整合音訊處理功能。



作者:Vianney Taufour
音訊系統架構師
John Widder
市場開發經理
意法半導體公司