誤差的時空域轉化

前言:這是問題的原型是由看迅雷視頻引發的。假如下載了一半的1020p的高清電影,爲什麼就不能把它當做一個完整的510p的非高清電影來看呢?下面就是基於這問題,給出一個你能讓下載了1020p的高清當成完整的510p的非高清來看的方案。

問題的本質:把時間維度上的殘缺轉化爲空間維度的殘缺,時間上的殘缺怎麼轉化到空間上來?

外傳:看到這問題的時候讓我想到了一個很有趣的名詞——全息照相。全息相片的一個特點是,無論底片剩下的是一半還是四分之一看到的都是完整的相片,受損的照片清晰度而不是完整性。

解決的方法:受全息技術的啓發,我想到了一個辦法,能很好的模仿這點,實現“全息存儲”:無論下載的內容是下載了一半還是下載了四分之一都能看完整的情節,受損的是視頻的清晰度,而不是時間完整性。

存儲方案的變化:本來存儲的方案視頻數據是一幀幀的畫面,按時間順序來存的,導致下載一段,電影能播放的時間也減少了。但是如果存數據時把像素位置相同的所有時間的信息全部存儲在一段,這個時候當我們丟一部分數據時,丟掉的就是一些像素的所有時間的數據,但通過其他像素的所有記錄我們可以看到完整的但是不夠清晰的視頻(只要我們選取像素時取得相對均勻就好了)。當然在播放的時候也需要做一些處理。說到這裏我就不再多說了,留給讀者去發散了。

最優方案:假如一部視屏把它看做x,y,t 的三維矩陣(前兩個是空間維度,後一個是時間維度),如果只能取30%的部分,你會怎麼選這些像素點?大部分人應該都會說:我希望這些點都儘可能均勻的分佈在這個三維矩陣裏。我們的直覺很接近正確答案了(只是接近正確,後面會提原因)。但是當在前30%點的已經分佈最均勻的時候,再下載10%的時候,這些像素的分佈還能做到最接近均勻嗎?答案是 no。也就是說我不能保證下載過程中,在任意情況下停止下載,所得到的像素分佈都達到最優分佈(均勻)。但真的完全不可能嗎?

濾波和插值——神奇左眼鍵:任何一個矩陣中的點都和周圍的點(包括空間相鄰以及時間相鄰)有着千絲萬縷的聯繫,怎樣利用這些聯繫呢(暴風的神奇左眼鍵就是一個運用的實例)?利用這些聯繫能對原始圖像還原多少呢?在上面的最優方案中,假如考慮到插值和濾波,你希望這些數據怎樣分佈呢?如果我告訴你,空間相鄰的點之間的相關度和時間相鄰的點之間的相關度不同,你又該如何選取呢(這個相關性的不同就直接影響到均勻的定義了:空間維度和時間維度怎麼才能均勻起來)?

最優方案續:之前說到,取像素的方法不能實現在任意時刻停止下載都能做到最優。但是真的不可能嗎?讓我們想想一個方形波的傅里葉變換過程。假如方形波被分解爲100個正弦波疊加,每去掉一個最高頻之後,剩下的合成方形波後,仍然是某種意義上的最“均勻”。即要實現在任意時刻停止下載,所得的部分繼續最優也不是不可能,需要實現一個變換就有可能。正弦波似乎也不必要,奇異值分解(SVD)或許是最終的正解。

結束語:問題就說到這裏,由於我並非磚家,不過在廁所無聊時想到,並無過多深究。感興趣的盆友可以嘗試去完善這一技術。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章