這是我之前寫的,今天才分享出來
一:標準理解的程度等級:
標準的理解分為3個部分:
系統級理解:了解標準的概括,提煉流程圖,
演算法級理解:分析各個演算法的原理,演算法的在標準中的實現步驟。一般地說,演算法是乙個公式(如量化,變換等)或一種方法(如huffman,golomb編碼等)。
實現級理解:軟體優化和硬體實現。
軟體優化:演算法優化級,彙編級,處理器結構級,**級優化。
演算法級主要是包括對複雜函式(如指數函式,log函式等)在誤差允許的情況下使用泰勒展開式或者查表法進行逼近(常見**上都有),以及對演算法公式利用演算法本身的特性對演算法進行優化,如利dct/imdct/fft的對稱性,週期性,可分解性(針對2維)進行優化(常見**上都有)。
彙編優化主要是減少不必要的指令操作以及利用處理器的增強指令級。但要熟悉處理器結構和組合語言。
處理器結構級是利用處理器結構的特點如cache使用,進行優化頻寬效能。
**級優化主要是針對編譯原理對**進行整理,如if語句最好要放在for外邊等。
硬體實現:
最基本的使用硬體實現出來,其次要對硬體特性加以要求,如利用流水或是並行的方法提高時鐘週期。減少對ram的消耗等。
內容較多,未系統總結好,略。
二:演算法級理解的執行步驟。
step1.首先要有這個標準所在領域的基礎。如沒有,要惡補。
step2.其次了解該標準的編碼部分,從編碼流程圖開始。逐個部分理解每個部分內容的概況。輸入輸出,作了那些處理。目的是什麼。但不分析演算法步驟。只講演算法原理。(注意演算法原理和演算法步驟是有區別的,演算法步驟是演算法原理在乙個標準中的具體實現)。
step3.搭建參考**除錯平台。
step4.該標準的碼流結構和解析方法。
拆分碼流,類似從stream → frame → block 的分析。抓緊for迴圈。
step5.演算法在碼流中的體現
如果關注編碼。
就分析編碼演算法是如何應用到標準中的。分析演算法的步驟。參考軟體(c或m**)實現,該演算法用了哪幾個標誌位。如何體現在碼流中。演算法的流程。效能分析。
如果關注解碼
就分析解碼演算法是如何應用到標準中的。分析演算法的步驟,參考軟體(c或m**)實現,該演算法用了哪幾個標誌位。如何體現在碼流中。演算法的流程。效能分析。
step6.演算法的軟體優化或硬體實現。
軟體優化提議,硬體實現建議。其他**的觀點。
step7.編寫文件。(step6會穿插在step2,3,4,5中進行)
有以下幾類文件:(可能包括,根據工作內容確定)
第一. 標準理解文件
第二. 演算法分析文件
第三. 演算法軟體優化文件(注意圖表分析法:rd曲線或rd圖表,演算法優化-失真度分析圖表或圖表等文件)。
第四. 演算法硬體實現文件。結構說明。包括門級數的統計。ram使用分析。功耗分析等。
抓住三方資料:
標準,**,**。
緊扣碼流結構,碼流結構是標準組織的靈魂。一定要以碼流結構為主線。
標準學習方法 2023年6月寫
這是我之前寫的,今天才分享出來 一 標準理解的程度等級 標準的理解分為3個部分 系統級理解 了解標準的概括,提煉流程圖,演算法級理解 分析各個演算法的原理,演算法的在標準中的實現步驟。一般地說,演算法是乙個公式 如量化,變換等 或一種方法 如huffman,golomb編碼等 實現級理解 軟體優化和...
2023年11月6日總結
昨天晚上外網執行了上線通知有問題,又出現了上次的問題,執行一段時間之後程式慢慢退出。查了好久,終於找到原因,特此寫下,作為乙個總結。編譯錯誤已經排除,g wall能排除大部分的錯誤 按照一般的思路,1.程式出錯退出,都會產生core檔案,分析core檔案就能查詢到 出錯了,但是由於我的程式是繼承公司...
2023年9月6日 學習
一 一條sql執行時間過長,你如何優化,從哪些方面?1.檢視sql是否涉及多表的聯表查詢或者子查詢,如果有的話,看是否能進行業務拆分,相關字段冗餘的話合併成臨時表 2.涉及鍊錶的查詢,是否能進行分表查詢,單錶查詢後的結果進行字段整合 3.如果上述兩種方式都不管用的話,非要鍊錶查詢的話,那麼考慮對相應...