Chapter 7 數字視頻處理——舍入、SDTV與HDTV的轉換
很久沒更新了,確實沒什麼人看更新動力不足。
Chapter 7是數字視頻處理。內容很多,很雜,這樣的概念圖如下,挑自己想看的地方入手。
舍入
將原來的多位數據捨棄部分低位的操作,就是舍入。
這裡介紹四種舍入方法:截斷、傳統舍入、誤差反饋舍入、動態舍入。
截斷
將小數部分直接丟棄,如1.5舍入成1。
傳統舍入
傳統舍入即四捨五入,1.5舍入成2,1.4舍入成1。
誤差反饋舍入
誤差反饋舍入的實現方式是,保存截斷後的誤差,並將其加入到下一個視頻樣本點中。
如上圖所示,輸入為16位數據,輸出為8位數據(高8位)。該舍入方法不能作用與一個數而要作用於一組數。
如一組數1.2,2.9,3.6,5.8,10.2。(舉例選擇小數,只為了說明,和上圖二進位數據並不相同)
最開始寄存器中數據為0,輸入1.2,1.2和0相加得到1.2,其中0.2存入寄存器,輸出1。
此時寄存器中數據為0.2,輸入2.9,0.2和2.9相加得到3.1,其中0.1存入寄存器,輸出3。
此時寄存器中數據為0.1,輸入3.6,0.1和3.6相加得到3.7,其中0.7存入寄存器,輸入3。
此時寄存器中數據為0.7,輸入5.8,0.7和5.8相加得到6.5,其中0.5存入寄存器,輸入6。
此時寄存器中數據為0.5,輸入10.2,0.5和10.2相加得到10.7,其中0.7存入寄存器,輸入10。
之後依次類推。輸出1,3,3,6,10。而傳統舍入輸出1,3,4,6,10。
動態舍入
動態舍入是Quantel公司註冊的專利,根據丟棄小數位的權重對最低有效位(LSB)進行抖動處理。相同的輸入可能有不同的輸出。
如圖所示,該方法需要一個偽隨機數發生器,它生成8位2進位數據,和輸入的16位二進位數據的低八位進行比較。如果輸入數據的低8位大,則將高8位加1輸出;否則直接輸出高8位。由於偽隨機發生序列每次的輸出不同,因此輸入一系列相同的數字,每次的舍入情況也會不同。
SDTV和HDTV的轉換
SDTV和HDTV的轉換其實是先將SDTV/HDTV的數據轉換成RGB數據,再進一步轉換成HDTV/SDTV數據。
如果要進行直接轉換,首先進行去直流化,再進行矩陣變換,再加上直流量。
SDTV到HDTV的變換矩陣1 -0.11554975 –0.207937640 1.01863972 0.114617950 0.07504945 1.02532707HDTV到SDTV的變換矩陣1 0.09931166 0.191699550 0.98985381 -0.110652510 -0.07245296 0.98339782
推薦閱讀: