2008年12月30日 星期二

簽到:starryalley

老師、各位好,

我是去年畢業的禹鴻,照著之前小路、維城還有建龍學長們的簽到文這麼寫~

以前在實驗室有參與到SLIM的設計和實作、還有幾個小project是有關embedded system、Linux driver,平常最喜歡最常用的程式語言是python,偶爾換成perl。以前在實驗室和工研院大都寫C和C++。大學時無聊時寫過一個手機星圖軟體MobileStarChart還放在sourceforge沒有動很久了..XD

最感謝老師和實驗室的部份就是讓我開心的在這裡度過了兩年.. 收穫也特別多。還要特別再感謝老師和建龍學長一次,讓我在碩二有機會去Stanford度過了三個禮拜,這三個禮拜影響我很多~

個人經歷:台中縣大肚國小、台中縣明道中學(國高中)、成大資訊系、成大資訊所、工研院晶片中心約聘研究員(4個月)、台灣到處玩(4個月)、最後是內政部社會司中部辦公室社會發展科替代役男,預計2009年5月底退伍。

我現在的工作跟台灣地區志願服務相關業務有關,也就是關於志工的獎勵、活動等等相關業務的協助。需要的技術門檻大概是:會操作印表機、影印機、修理卡紙,裝碳粉、基本的office(如excel還有word),還有公文處理流程。最難的部份在於要常回答不太會用電腦的公務員一些奇怪的windows操作問題。上班時間是8點到5點,5點超過10分鐘才下班都會覺得今天很雖。

我的工作環境是在南投市中興新村,也就是距離台中市中心約30km、距離我家大肚32km、距離日月潭50km的某個小村落,騎單車10分鐘就會在山裡面,跟新竹一樣,頗滿意。住宿的地點則是50年歷史有的省府員工單身宿舍個人房。所以依照我的習性裡面通常會有1-2台單車、1-2把吉他、單車訓練台、電腦、網路與AP、單眼相機,以及雙筒望遠鏡,過著無憂無慮的生活..XD

所以我累積出來的興趣大概就是那些:單車、旅行、寫程式、賞鳥、爬山、攝影....

關於我的聯絡方式可以參考我用Ubuntu和Hinet ADSL架在我家裡的網站:
http://starryalley.homelinux.net,MSN是tequilakuo "at" hotmail "dot" com

有要寫好玩project或程式、騎車(MTB or Road Bike)、爬山、攝影或是出去玩都可以找我~

祝大家新年快樂~身體健康平安~

2008年12月28日 星期日

簽到,維城

Bonjour tout le monde,

我是張維城,2008年七月由實驗室畢業,算算碩士兩年、博士六年,到明年七月以前應該還是實驗室資歷最長的記錄保持人吧!我的研究興趣包括analysis and synthesisdata compressionmachine learningdigital signal processing
嗯,把學經歷唸一遍好了:
台北縣埔墘國小、台北縣海山國中、台北市建國中學、國立成功大學數學系、海巡部兼軍管區通信營通信連(實際上是在戰情中心)、國立成功大學資訊工程碩士、國立成功大學資訊工程博士、法國巴黎龐畢度中心IRCAM訪問學者(國科會千里馬計劃一年)、聯發科技數位消費事業部資深工程師。
現在的工作與Blu-ray player相關,目前有
IC chip (DSP part) emulation/verification、DSP related tools、AAC/AAC+、Digital input/output (SPDIF/HDMI)、Audio post-processing。
內容還蠻雜的,從driver layer到DSP layer (assembly code)都需要了解和處理。
平常休閒是睡覺(工作後躍升第一位)、閱讀、電視、電影、PC遊戲、攝影、小折(後面兩項是被哥哥帶壞的);題材跟歷史、軍事、科學、奇幻有關的都有興趣。

Bon courage & bonne année

2008年12月27日 星期六

SCREAM Lab 部落格開跑

長期以來, 我並不是一個善於紀錄軌跡的人, 也一向只是向前看, 而很少回顧的人, 但是隨著年紀增長, 我突然覺得應該留下一些什麼來讓人知道有些事情的曾經存在, 所以我之前在實驗室的Server先試著弄一個記錄我的生活的部落格, 當然實驗室的server也肩負儲存研究成果的任務. 實驗室的server裡應該要有管理者, 在過去, 這個人通常是同學, 管得好時, 相安無事, 管不好也不會跟我說, 而我與大家也就一直得過且過, 反正沒出 過大事, 直到唯中要畢業前出了狀況, 所以我的blog不見了, 師大音樂系的資料不見了, 義崧學長的demo不見了, 玉琳的page不見了, .... 問題當然不能怪唯中, 因為這是未能完善規劃所致. 我於是思考這件事該怎麼做才好, 於是要從事情的根本想起. 那就是:

一個實驗室為什麼要做記錄以及要怎麼做記錄呢?



第一個問題延續我之前為什麼要架一個blog, 也就是要留下一個"有些事情的曾經存在"的記錄. 我想除了對我這個常住很重要之外, 對於不管是在實驗室兩年或更久的學長姐來說, 這畢竟也佔人生中算是重要的時段了. 有一天, 各位到了我這個年紀, 應該會想要知道一些東西, 希望這個blog提供一些這樣的資訊.

藉著記錄一些軌跡, 我希望將待過SCREAM Lab的人的感情串起來. 我說過我希望SCREAM Lab. 是一個家庭, 所以我希望用經營一個家族的方式來經營它, 希望它是一個未來值得大家回憶的地方, 但是我顯然做得不夠多. 昨天我去參加信誠的婚禮, 學長裡只有維城, 小年以及義崧參加, 上月建斌結婚時到的也不多, 我想是大家平時連絡不多的緣故. 我甚至前天就在想, 以後實驗室尾牙是不是要辦在北部呢? 除了實體的聚會外, 讓大家知道彼此, 我想最方便的不外乎MSN或blog, 前者即時但只限於原本就熟的族群, 後者多一些內容, 較容易讓人知道一些資訊, 這樣連絡起來就比較不會陌生. 而我希望這是一個方便共同創作的地方, 所以就選用blog的形式.

接著是怎麼記錄.

我本來的想法還是一切自己來, 架網頁, 弄資料庫, ...可是這樣我要學的東西太多了, 請各位同學與學長姐體諒老師已經是一個即將進入中老年的老狗, 加上有兩個小女兒要照顧, 實在沒法子學太多東西, 來維護一個網站以及所有的一切. 要這樣做, 我就必須如過去一般依賴同學, 可是事情就會回到過去的運作模式, 問題總會再發生, 何況, 有一天當我不再收學生時, 要請誰來維護呢? 所以還是我這個常住來吧! 為了簡化一切, 我決定採用實驗室多人採用的google blog engine. 至於server, 我就只管備份資料, 資料庫與帳戶即可. 資料部分我還打算備到Google提供的免費storage上 此外假如SCREAM Lab.成員願意的話, 你也可以備份一些你覺得對你有意義的資料. 當然自己應該把自己的資料留一份才是. 所以假如你願意自己再架一個blog, 那麼除了跟Lab以及你有關的東西可以在你的blog看到外, 為自己留一份其他方面的記錄其實也是一件很好的事情.

為了讓事情順利一點, 統一一些做法會讓事情簡化. 所以進行的步驟請依照以下的方式進行:

1. 申請一個google帳戶

2. 寄一封email給小明: showmin@csie.ncku.edu.tw, 通知他你的google帳號. 他會在blog設定你為共同作者並且用你的google帳號為Account Name在實驗室的server上給你一個ftp帳號. password在設好後會以email通知你.

3. 假如你有blog, 那麼請你也告知你的blog的address. 以便我將之加入到Members裡面.

4. 請在SCREAM Lab. blog上發表一下測試文章, Topic屬於Others, 假如方便, 就簡介一下自己以及自己現在在做什麼, 算是簽到一下. 此文章中請包含一個連結到你放在實驗室server的任何文件. 這樣算是完成測試.

5. 我建議大家裝一下Windows Live Writer, 這是一個方便書寫的工具. 假如你也希望架一個blog在google blogspot這邊, 我會請小明提供一個簡單的使用說明. 對了, 有人需要我才請小明寫, 所以請需要的在你的第一篇測試文章提一下.

之後, 請各位三不五時來發表一下文章, 我目前的標題定得比較硬一點, 但是不是說上來寫就一定要跟學術有關, 只要跟實驗室沾上一點點邊, 都歡迎, 軟性一點的文章也是符合我的期待的. 如需要, 也請另創 Topic.

此外, 等我申請好google的storage, 我會將server的資料備份到那邊. 文章格式不定, 但是最好是一般通用的. 照片部分, 我也會開一個實驗室的Gallery, 讓大家上傳. 至於如何管理, 我跟小明討論後再公佈.

以後我會向小明學著如何管理server的種種基本的功能, 不久後我就自己接手了.

ok! 請目前還在實驗室的同學跟小明在一周內合作完成上述的步驟. 希望下星期的meeting裡, 我可以直接在這個blog連結到你要報的文件以及你對此一報告的簡要說明. 我也方便在之後回應你的報告. 你的發文請務必選擇適合的Topic or Topics, 假如可以, 請盡量選擇多個Topics.

已畢業的學長姐假如看到訊息後也請直接跟小明接洽. 並將此訊息告訴大家. 一個月後, 還沒上來的, 我會寫email去邀請.

上面的做法, 假如還有不周與窒礙難行之處, 請直接在這裡發言, 我會跟小明討論後盡快修正.

2008年12月26日 星期五

SCREAM Lab. 的共用儲存空間

在小明的協助下, 我已經可以幫各為在這個位於我辦公室的實驗室的共用儲存的Server幫各位開帳號. 原則上, 帳號名稱就是你在blog留下的email address. 所以已經成為共同作者的人, 你的帳號都已經建好了. 密碼就請各位寄email給我. 目前暫時的密碼我會請showmin告訴大家.



在這個空間, 除了你自己的root, 我開了一個Backup目錄來放每月的資料, 所以請你在上傳時, 除了你自己的目錄外, 請多傳一份到Backup這個共用目錄下面. 你的這兩個目路我都會定期備份. 前者每月一次, 後者每周一次.

ftp site: ludwig.csie.ncku.edu.tw

再跟小明討論之後, 發現要放在google的免費的空間也許會有一點問題, 所以我們會survey付費的方式看看, 目前除了暫時備份在一顆外接硬碟外, 在樓上實驗室我也會備一份.

我已經先發表了一篇文章, 是我上月在鈦思科技的年度研討發表會的演講. 文件與圖片都是在我自己在上述的空間下另外加建的目錄root/2008_11下面. 我放了ppt, pdf, 以及blog要用的圖片. 請各位看一下圖片或文件的link就知道了.

目前的Naming不是很好, showmin會公佈一個統一的Naming方式, 請大家遵守. 如果還有不周之處, 請大家提出來.

2008年12月23日 星期二

簽到,小路


各位實驗室的好朋友大家好
我叫小路,或著可以叫我Royce (勞斯萊斯的萊斯)
以前在lab是負責Audio compression的研究。
但是其實沒有作的很好XD 謝謝老師放我畢業
現在在趨勢科技服國防役二年級。

目前的技術專長:
1)Win-tel X86 platform programming.
2)Windows kernel driver/file system developing
3)Win-tel platform debugging
4)Win-tel platform reverse engineering 

目前鑽研的題目:
1)Virtual OS/File system/machine
2)Operating system design philosophy


我這個部門負責的是Behavior Monitoring

傳統的防毒軟體,辨認惡意程式的方式是靠binary的signature matching
(譬如offset X之後會看到什麼值,或是hashing、CRC...看創意)

行之有年卻發現一個問題,就是對於未知威脅太被動了。
每次新的malware或都會弄得大家人仰馬翻。
所以慢慢有人想到,我們能不能定義一些有害的"行為"
當偵測到這樣的行為時,就可以保護電腦。
Behavior Monitoring就是作這樣的事情。
跟OS綁滿緊的,所以跟微軟也常保持聯繫。

休閒的時候喜歡看漫畫、打電動 
基本上是個還沒長大的幼稚鬼 哈哈

音樂方面喜歡Bill Evans, Solo Monk ...
非常耐聽,一聽再聽 (謝謝老師的介紹!)

這邊附上聯絡方式:royce_lu@trend.com.tw
                                    fruitfoxlu@gmail.com

很高興認識大家!

2008年12月14日 星期日

欄寬問題

利用Scroll Bar
解法是利用DIV+CSS:

<div style="white-space:nowrap; overflow:auto">
原始碼...
</div>

overflow:auto 超過寬度/高度之後, 就會自己產生Scrollbar
white-space:nowrap 沒這個屬性的話他會自動換行

測試輸出:
// Author : Jung-Yin, Chine @ SCREAM LAB
// Date : 2008/11/13


  1. #include <stdio.h>
  2. #include <stdint.h>
  3. typedef struct _ELEMENT{
  4. int a;
  5. uint8_t pad[16-sizeof(int)];
  6. }ELEMENT;
  7. ELEMENT a[10] __attribute__ ((aligned (16)));
  8. int b[10] __attribute__ ((aligned (16)));
  9. int c[10];
  10. int main()
  11. {
  12. int ival __attribute__ ((aligned (16)));
  13. int ival2 = 0;
  14. // variable alignment
  15. printf("align &ival addr %d mod16: %d\n",&ival,((unsigned int)&ival)%16);
  16. printf("not_align &ival2 addr %d mod16: %d\n",&ival2,((unsigned int)&ival2)%16);
  17. // ARRAY alignment
  18. printf("align &array addr %d mod16: %d\n",b,((unsigned int)b)%16);
  19. printf("not_align &array addr %d mod16: %d\n",c,((unsigned int)c)%16);
  20. // ARRAY ELEMENT
  21. printf("align &array[1] addr %d mod16: %d\n",&b[1],((unsigned int)&b)%16);
  22. printf("not_align &array[1] addr %d mod16: %d\n",&c[1],((unsigned int)&c)%16);
  23. // compare
  24. printf("align &array addr %d mod16: %d\n",a,((unsigned int)a)%16);
  25. printf("align &array addr %d mod16: %d\n",b,((unsigned int)b)%16);
  26. // ARRAY ELEMENT
  27. printf("align element &array[1] addr %d mod16: %d\n",&a[1],((unsigned int)&a[1])%16);
  28. printf("not align element &array[1] addr %d mod16: %d\n",&b[1],((unsigned int)&b[1])%16);
  29. return 0;
  30. }


不過哪個人講一下怎樣用Syntax Highlight

2008年12月12日 星期五

2008年12月8日 星期一

DCT coefficient reorder in H.264/AVC high profile

測試四種DCT係數排序方法的結果



20081209_S.pptx

2008年12月6日 星期六

Sonicat@NY


Hi, this thanksgiving break, i went to New York to visit neq. In Nov 27, we went to a Macys' Thanksgiving Parade which was origined at 1924. This parade was awesome, and I took a photo of giant Snoopy for our teacher, haha.

2008年12月5日 星期五

OpenESL

11/17

上圖是現在OpenESL的架構,我將Eclipse加進架構圖中,而SVN的部份我不太清楚要怎麼畫進去,所以就暫時沒畫進去。

然後我把文件改完了,主要改動了部份的章節,將Eclipse的部份寫進文件中。我盡力讓Eclipse的部份看起來像是一開始就存在在OpenESL中,請各位幫忙看看有無要修改的部份。

OpenESL使用文件

------------------------------------------------------------------------

12/05

我把文件大致上改過一遍,基本上老師要我改得地方應該都有改掉了,然後我把安裝的章節改寫過,提供建置環境的詳細步驟,應該會比上一版的文件好懂。

下面連結提供了docx和pdf格式,就不提供doc了,因為轉成doc排版會跑掉...

OpenESL User Manual (docx)
OpenESL User Manual (pdf)

2008年12月4日 星期四

系辦通知

各位老師與實驗室同學,大家好:

請幫忙協助通知已畢業研究所系友至本系網頁的系友網頁填寫相關資料,謝謝您的幫忙!網址http://www.csie.ncku.edu.tw/classmate/

[Course] Computer Music - AL Bridge Program

今天上課的投影片跟第一版程式已上傳,歡迎下載服用。

Download:  PDF , Slim Code

如之後有更新,會再重置這條thread的時間以通知大家。

Semihosting

在Embedded System在Debug Software的時後
常常會利用printf把資料秀出來

一般來講, 開發環境都是在Host PC上
所以比較方便的作法, 秀出來的訊息是顯示在Host端
ARM會利用Semihosting這種技術, 把I/O的資料導回Host端

Semihosting另一個用途就當是Target沒有完整的I/O環境 (例如檔案系統)
就可以利用Host端的檔案系統來加快開發速度

參考資料

裡面有另一篇Conference Paper有不一樣的方法來Model I/O Device
ㄚ凡你找個時間看一下~

2008年12月2日 星期二

PAC v3_Architecture_Intro-3

PAC v3_Architecture_Intro-1_2008. 11. 18



大家好,我是皓鈞。
目前做的工作是把aac放到2191上面去,
然後現在也開始在看PAC的文件。
至於這次報告的內容,
主要是先講PAC v3的Architecture簡介。


投影片(2008-11-18)




--------------------------------------------------------------------------------
PAC v3_Architecture_Intro-2_2008. 11. 25
 
這禮拜是接著上禮拜繼續報告,
主要是講PAC v3的暫存器組織。


comments:
1. 下禮拜先看一下Addressing Mode相關的地方。


投影片(2008-11-25)




--------------------------------------------------------------------------------
PAC v3_Architecture_Intro-3_2008. 12. 02


這禮拜看PAC的Addressing Mode,
主要有三種(Linear、Bit-Reverse、Modulo),

comments:
1.看了一個東西之後,應該要知道這東西是在做什麼,
   它是什麼意思,要知其然,知其所以然。
2.回去看一下FFT。
   (為什麼01234567要變成04261537?)
3.要好好看這三種Addressing Mode,因為寫DCT的時候會用到。


投影片(2008-12-02)


--------------------------------------------------------------------------------

2008年11月26日 星期三

請不要同一主題每次都發一篇新文章

這樣, 你會發現你的東西最後會很難Trace, 請把新進度加在舊文章上, 假如是meeting(不管是每周或個別的meeting)上討論過的, 並加註我們討論過的事項. 記住, 請加註日期, 這樣你我才知道進度如何.

然後, 請修改發表日期為最近修改的日期再發布.

還有, 請註明標題, 尤其是關於研究的. 不要只用進度報告四字, 這樣一樣很難Trace.

最後, 請隨時看一下其他人對你發表的文章的回覆, 如果是關於你的研究的意見, 要盡量回答他們的問題, 並且不要答非所問. 到目前為止, 有的同學好像根本不理會其他人的意見, 我們討論過的議題也不加註, 請改進, 不要等我來要求.

2008/11/17的聚會

今天, 實驗室好多學長姐來台南, 據說是要來看我, 不過也順便替mobo學長送行, mobo要去當兵了. 活動從一大早5點開始的單車活動開始. 由於同型的還有電機系的楊家輝老師以及我們系的楊中平老師, 所以我們三個體力比較差的老頭子4點半就從系館出發, 沿途從開元路, 新化老街, 虎頭埤, 觀日亭, 再沿162到龍崎, 經關廟後回到學校, 全程大約60Km. 同學裡有mobo, Aaa與Vincent.

我們先出發的三人一路不太休息地到達觀日亭腳下. 略事休息. 楊家輝老師剛騎車沒多久, 不過已經展現了潛力, 但是當我們路上遇到一位72歲的阿伯, 更厲害, 從永康到觀日亭都不必休息, 猛. 這是他們的合照. 高掛天上的是月亮.

DSC01035



不久, 楊老師跟在我與楊中平老師之後到達觀日亭.

DSC01036

接著不到10分鐘後, mobo, Aaa 與Vincent也到了.

DSC01038

DSC01039

DSC01040

Aaa最勇腳了, 騎小折, 沒有前變, 後變應該只有八段, 這樣也直上觀日亭. 我們到時, 太陽很大了, 這天天氣好到可以在山上看到遠東百貨那棟圓柱形的高樓.

DSC01041

喔! 在三個勇腳旁邊, 我只有低頭認輸的份.

沿著162陵線, 我們在龍崎停一下. 老實說, 原本這條路還不錯騎, 不過今年雨太多, 所以路上遇道崩塌的地方不少.

DSC01045

DSC01046

這是mobo的背影, 特地show一下.

DSC01047

然後同學回去後又去打羽球, 我回家幫忙中午的聚餐.

下午的聚會就在我家, 買一些食物外加Lora弄了一些, 也感謝飲料王子DNA買了飲料與烤鴨來. 實驗室回來的學長姐不少, 有water, okk, kiwi, 唯中, 小鄔, Starry, mobo, 原本要來的小路與小K臨時有事沒法來, 此外就是現在實驗室的同學, 另外Daphne放大家鴿子, 據說是因為臉腫起來, 不敢來見人, 哈哈!

DSC01048

DSC01049

DSC01050

DSC01053

DSC01054

DSC01055

大家應該有吃飽, 因為留下一堆我們還吃好幾餐. 之後大家一直聊天到近五點, 聊什麼呢? 有點忘了, 八卦吧! 晚上我跟唯中聊一下我們的音樂網站以後要怎麼做, 八點時跟mobo與唯中去喝咖啡, 但是沒碰到那位我說的那位, 然後我送他們去搭高鐵.

What a happy day!!

2008年11月25日 星期二

MDTC estimation - 鈞

====== 2008/12/09 =======

於調整測試kiwi的程式碼時,發現傳入kiwi程式中的MDCT係數都與ISO Ref encoder產生的不相同,一直以為這是之前kiwi告知的系統問題。kiwi曾告知由於其預先產生的MDCT的係數表格太大,因此於VC++的debug mode中會無法完整step trace到真正的那行程式碼。結果剛剛才發現一個要命的小錯誤,原來在ISO Ref encoder的MDCT cofficients是double的指標,而kiwi程式碼所宣告的MDCT cofficients是float指標,難怪一直無法對上。附上重新跑過的vilon_mono.wav的執行結果。

http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081209/violin_mono_Compared.pdf
http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081209/20081209.ppt
http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081209/20081209.rar


====== 2008/12/02 =======
這星期首先釐清需處理的raw data block部分,因為AAC的header為固定長度,以ADTS為例共56 bits,而raw data block組成部分為
id_syn_element(3 bits) + element_instance_tag(4 bits) + global_gain(8 bits) + ics_inf(11~29 bits)
+ section_data + scalefactor_data + pulse(1 bit)+tns(1 bit)+gain_control(1 bit) + spectral_data
+fill element+byte_aligment(AAC version)
因此,假設其特效pulse,tns,gain_control沒開啟,基本上影響 bitrate 的部分為紅色部分。在此,謝謝維城學長的解答有關fill element的部分。亦即於constant bitrate下,是由fill element將剩餘的bitrate補足。

而section_data 是儲存Huffman codebook用於此frame的最佳組合,使spectral_data產生最少的 Huffman code(最少3組,最多49組)。ISO_Ref Code 由 de_scalefactor =common_scalefactor - scalefactor + SF_OFFSET 配合靜音曲線來找出最佳的 scalefactor,ISO_Ref Code於量化的內圈藉由增加scalefactor來提升單一的scalefactor band 的quantization bit數並降低NMR,而於量化的外圈藉由增加common_scalefactor來增加整體的scalefactor進而降低整個frame的全部bit數,以達到原先設定的 bitrate 要求。

因此,以單聲道128kbits的bitrate來看,每個frame可分到128000*1024/44100=2972,扣除固定消耗的 bit數為 56(ADTS)+3+4+8+11+3=85 到 56(ADTS)+3+4+8+29+3=103,故每聲道最多分到 2972-103=2869 bits。附件為加入簡易的 MDCT estimation 的 bit數在不同bitrate下比較。

http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081202/violin_mono.jpg



====== 2008/11/25 =======
計畫總趕不上變化。
原預計將試著AAC轉成以Matlab實作,到了最後於ADTS header要填入整個frame的encoded bit數(以byte為單位)時,對於需加入fill_element方式,ISO Ref encoder與FAAC的做法又不相同.昨天以MSN請教‵「維城」學長,他也沒確定答案.



====== 2008/11/18 =======
工作報告(20081118)
1. 上星期提到ISO AAC Ref encoder於rate contrl計算的bit數與寫出至raw_data_block的資料的差異。這原因是ISO AAC Ref encoder rate control有計入加入header所需的大約bit數(102 bits),但於輸出時,並未加入任何header 資訊,卻只寫出raw_data_block部分,所以會有差異。另外, ISO AAC Ref encoder於計算scalefactor data區段的bit數時,由於皆呼叫同一個function,但於rate control階段並未還原scale factor,所以計算出來的bit數與輸出時,所計算的值有誤差,已更正。2. 這星期嘗試將ISO AAC Ref encoder改寫至MATLAB,以更進一步了解其code的寫法,目前已改寫至error contrl階段,需再加入rate-control與輸出部分。希望藉此更加對於輸出的bit數的掌控,以利後續於MDCT cofficients estimation的比較。
http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081118/20081118.ppt


====== 2008/11/11 =======
工作報告(20081111)
今天的日子不錯,是1111。
昨日下午在實驗室聽到一個有趣的對話。
學弟:我不懂C語言,怎麼辦?
學長:去找你的C語言老師啊!
學弟: ....--------
以下是進度報告:
老師:沒圖沒真相,請貼圖!
研究生:但這星期沒圖 ,怎麼辦 ^^_
老師:...--------
廢話一堆,還是沒圖,不過先測一下上星期的圖. Figure-PE
本週進度是解讀 ISO AAC encoder reference code至量化與編碼。經與 FAAD v2.5交叉比對,ISO AAC encoder 其量化後數值與FAAD是一致,但是其編碼效率是於128 bitrate時,每個frame都編至最高的2972bits,但寫入其raw data block時,卻超過約10多個bits.再與FAAC v1.26比較時,其每個frame才使用1992 bits來編,顯然效率要好很多。再深入查其MDCT cofficient量化後的數值發現有差異。舉例來說MDCT Cofficient=58324.051時,ISO AAC encoder將其編為 quant=166,scafactor=64,而FAAC則編成quant=6,scafactor=150,因而FAAC編的效率高很多。所以需繼續看code來找出答案。
http://ludwig.csie.ncku.edu.tw/members/titmis/AudioMeeting/20081111/20081111.ppt

Finding Forrester

2001_finding_forrester_005

這部電影中文翻譯做"心靈訪客", 2000年發行的. 故事敘述一個黑人高中生(Jamal)無意間認識普立茲文學獎得主威廉佛瑞斯特(Forrester)的故事. Forrester教導Jamal如何寫做, 如何啟發自己的內在, 同時Jamal也打開Forrester封閉多年的心靈, 兩人亦師亦友, 故事最後, Forrester回到它蘇格蘭的家, 死後將他的公寓, 藏書以及他的作品贈給Jamal. Jamal將Forrester未完成的作品做序後發表.



Forrester是一個虛構的人物, 關於他的背景描述雖然不多, 我們知道的就是他以"Avalon Landing"一書獲得普立茲獎後就消失了. 真正的文學家需要將自己的內心掏在陽光之下, 而並不是所有人都習慣如此, 所以有人選擇隱退, 當然有可能是那一本書已經用盡他所有的才華, 因此再也寫不出一樣的程度的作品, 當然也有人厚顏地利用得獎的名氣, 少數人則選擇不再出書, 將自己最美好的一面留在世間.

我的好友, 政大歷史系教授彭明輝有一段文章, 我節錄一些提供給大家看一下:

有時我們因為葉子太多,而看不清樹的面貌。對人,對音樂,對生命的一切,每個個人都只是小水塘。
自從一九九九年英國文人學者伯麟(Isaih Berlin)過世以後,西方最後一個文人學者的傳統已戛然而止。至於近百年來努力向西方學習的中國和台灣學術界,文人傳統早已隕失殆盡。.....

史學前輩中最惜墨如金的要算沈剛伯先生,教了一輩子書,似乎只出版了幾本數量有限的著作,有一回談到撰寫學術著作的事,他老人家說了一句頗耐人尋味的話:「法國史學家古蘭吉(Fustel de Coulanges)的著作夠精彩了,難道我們會寫的比他好嗎?可是古蘭吉的著作今天還有多少人讀呢?」.........

學術與生產線畢竟不同,並非花了多少時間就會有多少成果,尤其人文學科的學者們,是否寫出別具新義的論著往往取決於一念之間,多年食桑,可能僅得一絲。..........

一位美國史學家年輕時是西部開拓史的明日之星,少作一舉成名,然而登上講台以後卻三十年未有新著,和出版社簽了許多書約,無一踐履,到老年時回顧一生,不禁茫然。有人問他何以致此?此公答曰:「學生以為我是大海,這個舀一瓢水,那個舀一瓢水,其實我只是個小水塘,舀一瓢水我就枯竭見底了,只好再努力積水,好不容易積得些許,學生一杓子又舀乾了。」這個故事給了我很大的啟示,我知道自己永遠不可能是大海,能是個小水塘於願以足,如果小水塘還能維持些許可用之水,更要歡欣鼓舞、感謝上蒼恩澤了。

[END]

任教職多年, 我的感覺也是如此,

我只是個小池塘.

雖然說我教出來的學生不算多, 不過也不少, 但是多年的行政, 管理, 教職雜務以及健康問題, 我的學問可以說是日益減損, 這小池塘終於處於快要乾枯的地步了. 論訊號處理, 我比不上勝富與維城學長, 論硬體與架構設計比不上原瑞學長, 宜豊與忠和, , 論壓縮, 我比不上景新與玉琳, 論勇氣比不上俊一學長, 論心胸寬大, 我比不上禹鴻學長, 論軟體更是差義崧與惟中學長遠甚, 連你們可能覺得我的口才不錯, 但是老實說, 我自知比小路學長還差一籌. 差幸我對系統的整體概念以及對研究的前瞻會好一點, 不過現在的勝富學長也早就遠在我之上. 那麼我還能有什麼能提供給各位的呢? 時常連我自己都會在夜深人靜時問我自己, 我到底還有什麼能讓各位獲益的呢?

每當我想來想去, 而每想到一個自己的優點或好處, 總是很快就被自己否定.

因為我終究只是個小池塘, 這裡有一點點水可以舀, 有一點點還可以風景, 旁邊有個亭子可以歇歇腳. 我努力蓄水, 渴望來過的人會想要再回來看看. 努力食桑, 希望還能吐出些些絲絮, 到死方盡.

2001_finding_forrester_003

2008年11月24日 星期一

平行H.264/AVC結果

結果如下:

Result.pptx


開始執行下一階段改良H.264/AVC high profile的CABAC效能.

2008年11月21日 星期五

大家來Walking

12/23 大家來Walking

重點是有抽獎!!

一獎 捷安特2009年新款自行車 Accend One 39,800
二獎 歐都納GORE-TEX® Pro Shell單件式外套 13,800

我抽到兩個的話, 每天跟老師去騎車!

2008年11月18日 星期二

工作報告(20081118)

1. 上星期提到ISO AAC Ref encoder於rate contrl計算的bit數與寫出至raw_data_block的資料的差異。這原因是ISO AAC Ref encoder rate control有計入加入header所需的大約bit數(102 bits),但於輸出時,並未加入任何header 資訊,卻只寫出raw_data_block部分,所以會有差異。
另外, ISO AAC Ref encoder於計算scalefactor data區段的bit數時,由於皆呼叫同一個function,但於rate control階段並未還原scale factor,所以計算出來的bit數與輸出時,所計算的值有誤差,已更正。
2. 這星期嘗試將ISO AAC Ref encoder改寫至MATLAB,以更進一步了解其code的寫法,目前已改寫至error contrl階段,需再加入rate-control與輸出部分。希望藉此更加對於輸出的bit數的掌控,以利後續於MDCT cofficients estimation的比較。

PPT檔案

2008年11月17日 星期一

視訊壓縮簡介

內容分為兩部分
首先簡介影像壓縮及視訊壓縮常用的方法
第二部分為介紹H.264/AVC

簡介pdf檔

2008年11月15日 星期六

星期六(11/15)中午的聚會

因為要帶兩個小傢伙, 尤其Joanne還在會鬧場的年紀, 實在不方便, 所以經過跟Lora 商量過後, 決定在我家裡辦就好. 我們會自外面叫菜進來, 另外買一些飲料. 時間就中午12點. 除了跟我約好的已畢業的學長姐之外, 想來的都可以來, 但是請先在這串報名一下, 我才好買足夠的食物.

實在不得已, 不周之處請見諒. 對了, 因為是Lora點菜, 所以不會都是素的.



另外我們當天早上會跟Mobo與Vincent去騎車, 預計是新化老地方, 同行的有楊家輝與楊中平兩位老師, 所以應該不會太操. 有車的歡迎參加.

2008年11月14日 星期五

Larry Wu

Hi...

This is Larry Wu. (建龍)
I graduated from MAT (UCSB), CCRMA (Stanford), and SCREAM (NCKU) (the best one).
I am currently working in Intel (Visual Computing Group) at Oregon, USA.
My job content is HD-Audio validation of the Larrabee graphic card.

Here are some descriptions.

http://zh.wikipedia.org/wiki/Intel_Larrabee
http://en.wikipedia.org/wiki/Larrabee_(GPU)

Maybe I can steal some testing boards and send back to SCREAM lab.
Our lab will have the most advanced graphic card.

Good to know we have this place to share information and get connected.
I am looking forward to seeing more and more interesting articles here.

2008年11月13日 星期四

Multicore Programming:DMA Address alignment

以下是寫給學弟的程式,了解什麼是Alignment,本來要直接貼上code,
不過Syntax Highlight的使用方式有點麻煩,還是作罷。
此篇應該也能當作日後寫書的一個小小範例。

本程式最主要說明在Multi-Core Programming時,無論是SPE要抓去External Meomory,或是去抓取其他SPE在Local Store的資料,都需要以DMA的方式去抓取。
使用API mfc_put 或 mfc_get 需要注意Alignment的問題;例如現在想要做mfc_put,想要送過去的資料、要送過去的位址都必須是16-Byte Alignment。
但我們常常使用陣列來當做我們的儲存資料,如果是以integer 4個byte來傳送,每一次間隔不足16byte,又需要一個一個去傳送與接受會造成錯誤。
簡單地解決方式以struct構成一個16Byte的單位,但此方法較容易浪費記憶體。
以下程式說明了__attribute__ ((aligned (16)))使用方法,比較使用前後的差別。

程式在此

// Author : Jung-Yin, Chine @ SCREAM LAB
// Date : 2008/11/13


  1. #include <stdio.h>
  2. #include <stdint.h>
  3. typedef struct _ELEMENT{
  4. int a;
  5. uint8_t pad[16-sizeof(int)];
  6. }ELEMENT;
  7. ELEMENT a[10] __attribute__ ((aligned (16)));
  8. int b[10] __attribute__ ((aligned (16)));
  9. int c[10];
  10. int main()
  11. {
  12. int ival __attribute__ ((aligned (16)));
  13. int ival2 = 0;
  14. // variable alignment
  15. printf("align &ival addr %d mod16: %d\n",&ival,((unsigned int)&ival)%16);
  16. printf("not_align &ival2 addr %d mod16: %d\n",&ival2,((unsigned int)&ival2)%16);
  17. // ARRAY alignment
  18. printf("align &array addr %d mod16: %d\n",b,((unsigned int)b)%16);
  19. printf("not_align &array addr %d mod16: %d\n",c,((unsigned int)c)%16);
  20. // ARRAY ELEMENT
  21. printf("align &array[1] addr %d mod16: %d\n",&b[1],((unsigned int)&b)%16);
  22. printf("not_align &array[1] addr %d mod16: %d\n",&c[1],((unsigned int)&c)%16);
  23. // compare
  24. printf("align &array addr %d mod16: %d\n",a,((unsigned int)a)%16);
  25. printf("align &array addr %d mod16: %d\n",b,((unsigned int)b)%16);
  26. // ARRAY ELEMENT
  27. printf("align element &array[1] addr %d mod16: %d\n",&a[1],((unsigned int)&a[1])%16);
  28. printf("not align element &array[1] addr %d mod16: %d\n",&b[1],((unsigned int)&b[1])%16);
  29. return 0;
  30. }

Chun-Yi@Virginia Tech

Hi, guys,
Glad to hear that we have this brand-new blog.
I take the PhD program @ Virginia Tech in HCI (Human Computer Interaction) field. I haven't found a advisor yet, but I work for a professor who do the research about the robotics.
Virginia Tech is in a small town, Blacksburg. This is a good place to do research; frash air, nice and friendly people make you feel comfortable. This is my first year in this school, everything is interesting for me. The end of this semester is approaching, and thanksgiving is coming. I may go to New York and hang around with Neq recently.
my new e-mail, sonicat@vt.edu
Chun-Yi.

2008年11月12日 星期三

Google Reader

建議大家使用Google Reader來訂閱blog
不僅是新文章可以訂閱,連回應都可以訂閱
這樣才不會漏掉新訊息,也不用一篇篇看別人是不是放了什麼新的回應上去
Google Reader在大家登入email後,就可以在上面那排找到"Reader" or "閱讀器"
其他介紹可以看這裡

(
老師,我有個回應在Matlab talk那篇,你也漏掉嚕~
我補了張demo snapshot上去,可是沒辦法加到原來的文章裡
要麻煩你加一下
謝謝
)

Fast SPIHT for VLSI

整理了一下Code 目前只能給Source, 沒有文件說明
有興趣的可以下載, 順便看有沒有Bug

這個實作的特點:
1. 編碼用的記憶體少
2. 不需要3個List
3. 每個Coefficient只會讀2次
4. 速度快
5. 編出來的Bitstream和原始的SPIHT完全一樣

2008年11月11日 星期二

進度報告+報到-冠廷

這週報告的Paper是

Polyphonic Audio Matching and Alignment for Music Retrival









========我是分隔線========

大家好! 我是冠廷

目前看過的Paper為

Onset, Alignment, Retrival 之類的Paper

今後請大家多多指教

工作報告(20081111)



今天的日子不錯,是1111。

昨日下午在實驗室聽到一個有趣的對話。

學弟:我不懂C語言,怎麼辦?
學長:去找你的C語言老師啊!
學弟: ....
--------

以下是進度報告:

老師:沒圖沒真相,請貼圖!
研究生:但這星期沒圖 ,怎麼辦 ^^_
老師:...
--------

廢話一堆,還是沒圖,不過先測一下上星期的圖. Figure-PE

本週進度是解讀 ISO AAC encoder reference code至量化與編碼。經與 FAAD v2.5交叉比對,ISO AAC encoder 其量化後數值與FAAD是一致,但是其編碼效率是於128 bitrate時,每個frame都編至最高的2972bits,但寫入其raw data block時,卻超過約10多個bits.
再與FAAC v1.26比較時,其每個frame才使用1992 bits來編,顯然效率要好很多。再深入查其MDCT cofficient量化後的數值發現有差異。舉例來說MDCT Cofficient=58324.051時,ISO AAC encoder將其編為 quant=166,scafactor=64,而FAAC則編成quant=6,scafactor=150,因而FAAC編的效率高很多。所以需繼續看code來找出答案。

附加檔案

Progress report

先來補上今天的投影片內容,
因為原本的內容不明的消失了,
所以自己稍為改一下內容重新上傳
內容在此

另外有關makefile的問題 跟DNA學長討論了一下
大致上知道該怎樣去修改(修改方式...待續)

而spe codeing 由 BBB學長稍微指導一下
有一種豁然開朗的感覺
可以自己再稍微嘗試著把簡單矩陣相乘先寫出來

2008年11月10日 星期一

簽到簽到

大家好我是DNA

我也不知道要介紹啥

有興趣就點我簡介唄

ㄎㄎㄎ







喔不 別人都有寫領域

好吧 我來說一下我有摸過啥 就別介意我偷烙英文ㄌ~

FFT/MDCT Phase Estimation (Stucked, XD)
OpenESL : A simple tool for building SystemC models
MATLAB+SystemC+FPGA CoSimulation
WaveTable based Audio Synthesis
SPIHT Fast Encoding
SPIHT+Peakmap : Peakmap Compression

Progressive Report(CSMC+PT)

例行進度報告:

有關SPIHT+Peakmap的peakmap壓縮數據(初步)

http://ludwig.csie.ncku.edu.tw/members/LunaDance/20081111-Peakmap_Compression_1-%5bCompression%5d-DNA.pdf

檔案命名法則

ftp的目錄中,root 是讓大家放web link用的,如果要讓老師備份你的檔案,記得依照下面的命名法則,將你的檔案壓縮過後,上傳到 Backup 目錄。


Date-Title-[Category]-Name.zip
ex. 20081107-Analysis_by_Synthesis-[Audio]-showmin.zip


不知這樣如何?

測試FTP與工作報告(20081104)

上星期二(11/04)的工作報告(只有一頁)。

請點選我.

上星期報告的是有關AAC中如何計算PE(Perceptual Energy)的部分。老實說,都什麼時候了還在看如何計算PE,但是我還是蠻高興能夠找到程式碼是依據ISO/IEC 13818-7的Annex C (Psychoacoustic Model)來算出PE,因為目前較易找到的FAAC是有其一套方式計算何時該切換Long-Short Block,但是沒找出其理論基礎,所以一直無法完全理解其作法,在使用上就會毛毛的。既然有完整可參考的code,也因此花了時間將此一部分改寫成Matlab的Code,方便作圖形輸出。也預備將後面quantization整合進來,方便作MDCT coffieients estimation時作比對。在改寫過程才發現ISO/IEC 13818-7的說明有些陷阱,如果照書上去編寫,還是會有問題 :(

之所以會看Psychoacoustic Model部分是因在AAC quantization時需依SMR來算出xmin(the maximum allowed error energy),因此需確認所算出的SMR是OK的。但因第一次拿到的Reference code所算出的xmin都是0,所以只好回頭看Psychoacoustic Model部分。後來又拿到一份更完整的Reference code,才算出較合理的xmin。

接下來就是quantization部分,但此Reference code所編出來的AAC檔案只是RAW format,而不含ADTS或ADIF Header,所以在計算bit數時又得傷腦筋了,加油 !

研究方向與一些建議

稱號:
titmis/大鈞

研究方向:
Audio codec

由於尚未拿到ftp account,所以暫時沒測試項目。

建議:
1.由於網路搜尋太容易,是否利用rar壓縮的方式,先將每個post上來的資料加上實驗室共同密碼,
避免所列的資料是其他人不准公開在網路上,因而造成困擾。
2.文章應該避免注音文。標點符號也應該清楚。

centcent自介

我是centcent

現階段是在做 partial tracking的研究。
利用Hidden Markov Model(HMM)來做 tracking 的動作

之前主要在 eclipse 上開發slim的圖形化介面。
eclipse的相關投影片,等星期三期中考完在陸續整理上傳囉

HMM簡介

簽到

smallnew

專長:
video coding

投影片:
image coding and H.264 encoder
介紹基本壓縮常用的技術及H.264壓縮方法

bbb簽到

大家好,我是逼逼逼。

負責在LAB打雜的。

今天要報的一頁投影片

Cell_Latency

--
老師別酸我一頁投影片 >////<

test... aaa

自介:
AAA

研究方向:
1. Computer Architecture
2. VLSI Codecs

SystemC 2.2 安裝手冊

2008年11月7日 星期五

目前有寄出但沒回應的邀請名單

已全部接受共同作者邀請,謝謝大家合作。

2008年11月6日 星期四

2008_11_6電腦音樂與音訊處理課程_MPEG Audio Coder簡介

這幾周的課我會講有關MPEG Audio Coder的基本概念, 內容涵蓋MP3到HE-AAC. 不過投影片包含太多東西, 連File Format都有, 所以我會skip一些這類跟演算法無關的部分. 這份資料是我2007年在光寶科技所做的talk. 希望同學對於傳統與現在的主流音訊編碼技術可以有一個深入淺出的認識.

感謝當初維城, 小鄔與其偉的幫忙, 完成這一份資料.



這是完整的投影片

2008年11月4日 星期二

2008_10_29在MATLAB的演講: Electronic System Level Simulation/Verification in Heterogeneous Environment Using MATLAB/Simulink and FPGA

演講的題目主要是實驗室中所做的把SystemC, FPGA與Matlab/Simulink合起來 一起進行simulation. 我們用很簡單的JPEG encoder來當例子. JPEG的source code是網路上下載的open source. 經過簡單的修改後嵌入到SystemC模組裡, 並且把DCT搬到外面來, 如此可以驗證在三個不同的DCT實做是否一致. 以FPGA來代替一般的HDL Simulato, 速度當然很快.

感謝巴菲特與DNA的協助, 這個demo很成功. 下面是demo的snapshot. webcam對著aaa的背景, 然後用上面的工具壓一張JPEG影像.

  .

 



當天有一百多人來聽, 演講後也有約7,8人來問, 其中還有Sunplus Core的技術副總監, 因為時間有限而且我知道他們的DSP是跟工研院STC技轉來的, 所以我跟他說以後我們會跟STC合作, 以後三方可以就此一議題來合作.

題目與摘要如下:

Electronic System Level Simulation/Verification in Heterogeneous Environment Using MATLAB/Simulink and FPGA

Abstract

Electronic System Level (ESL) design has become the most popular methodology for designing highly complex VLSI systems such as SoC. Instead of working on implementation details, transaction level modeling (TLM) has been considered a powerful method to speed up design process by building a reference model on which hardware and software development can be based. Currently, SystemC2.2 and TLM2.0 library have become IEEE/OSCI standard tools.

However, since modules/parts in a system may be developed separately using different tools in different design stages at different speeds of progress, it is necessary to be able to simulate and verify the system in such a heterogeneous environment. In this talk, system level simulation incorporating SystemC/TLM, MATLAB/Simulink and FPGA is presented. MATLAB which is usually used for algorithm development may sit at the highest abstraction level while FPGA which is used in emulation usually sits at the much lower abstraction level. Hence, simulation/verification across different abstraction levels can be achieved. The consistency of a module designed in different abstraction levels can be maintained. As such, functionality correctness of system can be improved.

投影片在此:

System Level Design/Simulation/Verification Using MATLAB/Simulink and FPGA

鈦思科技的活動網頁在此

進度報告-冠廷

A TEXT RETRIEVAL APPROACH TO CONTENT-BASED AUDIO RETRIEVAL


內容大概是說利用Chroma Feature來做歌曲的特徵



再經由把這些Chroma Feature分群然後做統計來當做一首歌的特徵





















註記:


1.使用K-Mean好嗎?


2.這種方法比較類似於找類似風格的歌曲

2008年10月30日 星期四