회원 및 비회원 모두 열람이 가능합니다. 최대 업로드 가능한 용량은 20MB 입니다.

부담없이 편안하게 읽어주세요 ...   저의 코덱개발 관련 히스토리 입니다 ...  KELP 에 올렸던 내용을 여기에도 올려봅니다 ...
제가 올해 나이가 45 인데요 대학원을 졸업하고 대기업도 다녀봤고, 그후 프리랜서로 간간이 개발용역을 맡아서 처리했었고요 펌웨어 개발을 주로 개발용역을 하다보니 신경쓸 일은 많은데 들어오는 수입이 많지 않더군요 ... 그래서 4 - 5 년전에 생각한것이 OS 포팅쪽도 생각해 보다가 요근래 3 년 동안은 이동방송용 멀티미디어 코덱개발 관련한 일을 주로 하고 있읍니다 현재는 OS 에서 하는 작업은 WinCE 상에서 코덱을 최적화 설계하는쪽을 손대고 있구요

오디오 코덱쪽도 제일 처음에 시작한 일이 MPEG 규격문서를 찬찬히 분석하는 일이었고 규격문서 분석하다가 부족한 부분은 레퍼런스 소스를 분석하니까 어느정도 해결이 되는것 같읍니다

맨 처음에 분석한 오디오 디코더가 T-DMB 용 BSAC 이었는데 스펙트럼 데이타를 비트슬라이스로 디코딩하는 부분을 쉽게 이해가 안갔었는데 한 두달 보니까 이해가 가더군요 스펙트럼 데이타 디코딩을 분석하고나서 역양자화, PNS, TNS, 윈도우/필터뱅크 등을 분석하는데에도 한달 정도는 걸린것 같구요

오디오 디코더를 테스트 하려면 오디오 렌더링 기술이 필요한데 이것도 VS2005 에서 코덱출력인 PCM 데이타를 웨이브 파일로 만든후 WAVE 파일을 플레이하는 방식으로 테스트하고 있죠

WAVE 파일도 2 채널을 처리하는게 일반적인데 5.1 채널까지 처리할수 있는 WAVE 파일구조까지 분석이 끝나갑니다.

HE-AAC V2 디코더가 요즘 많이 사용되고 있는데 AAC LC 디코더 설계기술이 필요하고 여기에 SBR 디코더 설계기술과 PS 디코더 설계기술이 필요하지요 저는 다행히 이 설계기술을 85 % 분석이 끝난 상태라서 크게 걱정할 부분은 없는것 같읍니다

현재 서라운드 코덱의 개발을 많이들 하시는데요 서라운드 디코더의 경우 aacPlus 설계기술이 있으면 큰 어려움 없이 설계할수 있을것 같읍니다 서라운드 디코더의 경우 레퍼런스 소스를 어느 사이트에서 공개중인지 알지 못한데 MPEG 포럼에 정식회원 가입을 하면 정보를 얻을수 있으니 추후 가입해서 서라운드 코덱 관련한 레퍼런스 소스를 얻을 생각 입니다

어떤 자료를 보니까 HE-AAC V2 디코더의 출력이 2 채널 QMF 필터뱅크 인데 서라운드 코덱은 이것을 5.1 채널채널 QMF 필터뱅크로 확장해서 설계하는 구조인것 같읍니다.

H.264 디코더를 VS2005 로 올초에 코딩을 시작했는데요 코덱 코딩작업전에 약 일년정도 MPEG 규격자료를 찬찬히 분석작업을 했구요 MPEG 규격자료 분석작업이 어느정도 성과가 있어서 2009 년 1 월초부터 코딩을 시작한거지요

T-DMB 용용 H.264 디코더 S/W 설계를 1 월에 코딩을 시작하면서 처음에 가장 막혔던 부분이 T-DMB 스트림에서 H.264 비디오 압축데이타만을 따로 분리해내는 과정도 힘들구요 또 T-DMB 방송스트림에서 H.264 파싱을 오류없이 처리하는게 쉽지 않더군요  지금까지도 이것과 관련된 오류가 있을 정도로 아주 까다로운 처리가 필요합니다. 현재는 해결방법을 겨우 찾아서 다행이긴하지만요

저의 경우 H.264 디코더 S/W 설계를 하면서 MPEG 규격자료를 참조해서 소스를 코딩했거든요 대부분의 사람들이 JM 소스를 50 % 이상 사용하고 나머지 JM 소스를 최적화해서 상용화하는게 일반적인데요

저의 경우 JM 소스를 한줄도 제 소스에 사용하지 않았기 때문에 예상치 못했던 오류가 많이 발생해서 이걸 디버깅하느라 짧게는 하루 잇틀에 해결되지만 길게는 한달이 넘게 걸려서 해결되는 경우도 꽤 있었거든요

현재는 하두 시행착오를 겪다보니 T-DMB 방송스트림을 하나는 JM 소스에 입력하고 다른 하나는 제가 설계한 소스에 입력해서 두 소스가 동작하는 과정에서 어떤 차이를 보이면서 동작하는지 추적을 통해 오류가 발견되면 디버깅 작업을 하고 있죠

현재 Visual Studio 2005 에서 H.264 디코더 S/W 를 설계중 인데 이제서야 코덱 제품화에 앞길이 보인다고 할까요 코딩을 시작해서 한 7 달 고생하니까 서광이 비추는것 같읍니다.

전에는 VS2005 를 사용을 못하다가 이번에 사용해봤는데 디버깅하기 편리하게 만든 개발툴인것 같구요

한번 사용해 보세요 괜찮읍니다 ...

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 교육 홍보 및 광고는 "교육 및 세미나 홍보" 게시판을 이용해 ... 관리자 2010-07-15 108005
910 Android에 부팅 로고를 바꿔 보았습니다. [4] 전호철 2009-09-11 6789
909 linux sound device driver 틀 좀 알려주세요~ㅠㅠ [1] 김동래 2009-09-10 4036
908 OpenRISC OR1200 Processor에 U-Boot 1.3.2 및 DM9000EP ... [6] 김재훈 2009-09-04 6921
907 [정보] 삼성 스마트폰 M480(미라지)에 안드로이드 올라간 화면 file [2] 유형목 2009-09-03 7080
906 [잡담] Nokia의 Linux smartphone N900과 Internet tablet... [1] 고현철 2009-09-02 4425
905 바이러스 조심하세요!!! file [4] 김재훈 2009-09-02 3286
904 [정보] 유럽에 출시된 삼성 안드로이드폰(갤럭시) 커널소스 [1] 유형목 2009-09-01 4353
» 나의 코덱개발 히스토리 .... 장석원 2009-08-25 4491
902 피곤해서 눈이 밤탱이 된 듯 하네요....쩝 [2] 고도리 2009-08-25 3601
901 데이터 시트는 찬찬히 읽어 보아야 합니다. [1] 김유석 2009-08-18 3804
900 [질문]싸이트 해상도문제. [2] 이성호 2009-08-17 3861
899 Android Gstreamer빌드중.. external/webkit/JavaScriptCore/run... [1] 2009-08-15 16410
898 수원지역 안드로이드 플랫폼 스터디원 모집 [5] 박지훈 2009-08-12 6193
897 삼성 공식 커널 2.6.28.6-samsung-v2 release [7] 주재경 2009-08-08 6469
896 안드로이드 포팅 관련... [1] 박병선 2009-08-01 6693
895 [잡담] 사라지는 안드로이드 관련 분석자료들.... [8] 고도리 2009-07-29 6526
894 [잡담] 안드로이드 미들웨어 및 binder [1] 고도리 2009-07-29 6721
893 혹시 DAVINCI DM355 용 jtag 장비 대여 가능할까요? [3] 김유석 2009-07-28 9300
892 코덱개발 하면서 - 1 .... 장석원 2009-07-26 4897
891 Cortex A8 보드 제작 [17] 이제현 2009-07-24 16005

사용자 로그인