ogg에 대해..

ddoman의 이미지

제가 국산 mp3 player인..I사...의 mp3 player를 가지고 있습니다만,
그 I사는 펌웨어 업그레이드를 통해 ogg를 지원할수있다고 광고를 하였지만
오랜기간 ogg지원을 하지못하여 게시판에 그에대한 문의가
많습니다.
I사 게시판에서 ogg에 관련된글을 읽다가, 어떤분이
지금 I사에서 나오는 제품군들의 하드웨어 사양으로는 ogg를 돌리기힘들다!
라는 주장을 하시더라구요.
글을 붙여보면..

현재 모든회사에서 기존의 MP3, WMA Decoder 칩으로의 펨웨어 업그레이드로의
Ogg 지원은 거짓말이당.(저의 의견임)


현재 Portable 로써는 Strong ARM 206Mhz 구현(PDA용) 됐다고 하는데..
q10 까지 될런지는 의문??

PDA용 Ogg Player 소스는 공개용도 있다.(찾아보세요)
http://www.cyanwerks.com/pocketogg/

애플에 ipod 도 있다고 한다..
그밖에도 몇군데 더 있는것 같다..

Ogg?
http://my.netian.com/~cajunlee/vorbis/vorbisfaq.htm


요점은 
현재 Wma 와 mp3 decoder 칩가지고는 - arm7 코어기준
절대 펨웨어 업그레이드로는 Ogg 구현 불가능이당!! (realtime)
Ogg 개발자들은 다 알고 있는 사실이다.
http://www.xiph.org/archives/tremor/masterindex.html 
위사이트에 가보면 Ogg 펨웨어 개발자 mailing list 이당 꼭 읽어보장!!

위 사이트의 주된 내용은 이렇다!
1..일단 허프만 테이블이 고정되어 있지 않다..(VQ- 벡터양자화로 Codebook 생성)
..내가 해본결과 최근 encoder 의 코드북이 보통 q10 일경우 
90kbyte 정도 한다..(엄청 큰 size)
이 코드북은 Ogg 화일에서 읽어서 codebook을 만들게 된다.

2. IMDCT,Window lookup 테이블 크기도 거진 80kbyte 이상 하는것 같다..

아직 Working buffer size도 mp3,wma보다 큰것같다.

모두 internal ram 에도 올리고 싶지만 말도안되는 소리라고 혼났당!

1,2를 보아서 메모리 문제가 있다.

3. 일단 Ogg vorbis 는 mp3와 wma 보다 계산량이 많다.
( VC++ 에서 integer wma decoder와 integer Ogg tremor 결과 
Wav Decoder 시간 거의 5배 이상 차이남) 
tremor: Integer-only Ogg Vorbis decoder

4. Arm7tdmi core 비슷하게 나오는것 같다.
(현재 진행중) - q0 realtime만 되어도 성공인데..
- 안될듯 싶당

3,4를 보아 ARM Core 74Mhz 로는 부족한것 같당.

미루어봐서.위에 개발자 mailing list 를 보아서 

Floor 및 IMDCT를 HW로 구현한다고 하장(ASIC) 그리고 ARM 100mhz 이상이고
internal ram을 64k 이상이라고 하자..
이러면 될까? (realtime이 관건)

-floor0 LSP 이방식은 현제 엔코더에서는 사용안하는데..꼭 있어야 하나..

하여간 끝으로.
현재 모든회사에서 기존의 MP3, WMA Decoder 칩으로의 펨웨어 업그레이드로의
Ogg 지원은 거짓말이당.(저의 의견임)- 최소 스토롱ARM 정도 되면 모를깡 ^^

물론 저 글을 올리신분은 개인적인 사견이라고 하시지만
ogg에 대해 잘모르는 저는 얼핏보기에 타당성있게 들리더군요.
그래서 현재 ogg기술에 대해 궁금해서 글을 올려봅니다.
ogg그룹쪽에서는 임베디드장비같은 저사양 하드웨어에서 돌리기위한
프로젝트나 여러 시도들이 되어지고있는지 궁금합니다.
저 글을 쓰신 분 말대로 ogg를 대부분의 mp3 player급 사양에서는 돌리기
힘든것인지..궁금합니다.

혹시..노파심에 한마디..
I모사에 대한 얘기나, 현재 ogg지원한다고 홍보하는회사는 다 거짓말이다
라는 발언에 대한 답변은 삼가하겠습니다.
ogg지원에을 홍보하는 회사에대한 비판을 듣고 싶은게 아니라,
저 글대로 ogg를 재생하기위해서는 스트롱암 정도는 되야하는건지..
기술경향(??)을 알고 싶어..글을 올려봅니다.

ydongyol의 이미지

제가 알기론 저가형 mp3 player에서는 대부분 mas라는 칩을 사용해서 mp3를 디코딩하는걸로 아는데, mp3에 최적화 된 칩이 ogg를 디코딩할수 있을까 의문이 갑니다.
요즘나오는 mp3,wma지원 player는 arm7으로 디코딩하나 보군요.. cdMp3 player에서 arm7칩을 사용해서 별도의 많은 기능을 제공한다고 어디서 들은것 기억이 있습니다만, 디코딩도 arm7이 하는군요..
또한 74Mhz나 200Mhz 성능차이는 그리 크지 않을꺼라 생각합니다.. CPU 2-3배차라도 메모리의 속도나 양에 따라서 실현 불or가 하지 않을까 생각됩니다..
요즘 나오는 wma,mp3플레이어는 내부 램이 어느 정도나 되는지 궁금하네요..

--
Linux강국 KOREA
http://ydongyol.tistory.com/

Prentice의 이미지

안녕하세요, 링크된 한글 Ogg Vorbis FAQ를 번역한 검은해입니다.

모든 회사의 경우 불가능하다고요? 국내 MCS Logic사에서는 기존 칩에 Ogg Vorbis 펌웨어를 포팅하는데 성공했습니다. 조만간 이 칩을 기반으로한 상용 제품도 나올 예정입니다.

칩 링크 http//www.mcslogic.com/m3_product/MLC3300.html

iRiver사의 제품은 74MHz ARM7 CPU를 씁니다. iMP제품군의 경우 Cirrus Logic EP7212, 7312를 쓰는데 EP7212 사용 제품에서 Ogg Vorbis 재생은 충분히 가능합니다. 50% 정도의 리소스 점유율로, 리얼타임 디코딩 지원 완성을 하는데 한달 남짓 걸려 성공한 사례도 있습니다.

메모리 문제는 CVS 버젼의 Tremor 디코더에서는 해결되어 있는 상태입니다. libogg2-zerocopy branch의 ogg, lowmem-branch branch의 Tremor를 CVS에서 체크아웃해보시면 아실 수 있습니다.

제가 보기에 인용된 저 글 쓴 사람은 아무것도 제대로 모르면서 헛소리를 하는 사람 같습니다.

Prentice의 이미지

2001년 6월 당시 74MHz ARM7에서 50% CPU 점유율로 실시간 디코딩이 가능했습니다.

요즘 인코더로 인코딩한 파일들은 더 가볍게 디코딩되고, 디코더 관련 최적화도 꾸준히 이루어지고 있으므로 디코딩은 점점 더 쉬워질 것입니다.

현재 Texas Instruments사의 TI TMS320c5416 16bit DSP로의 디코더 이식도 진행중이므로 앞으로 전망은 밝다고 하겠습니다.

---

휴대기기용 디코더는 Tremor라고 해서 나온 것이 있습니다. CVS 버젼의 경우 코드북 메모리 사용량이 9kb 정도이고, 전체 footprint도 30kb 정도라고 하니 플래시 기반 플레이어에도 적용이 가능할 것입니다.

vacancy의 이미지

128k, 192k 정도에서는 문제가 없다고 합니다만,
그 이상이 되면 ARM7으로는 무리가 있다고 들었습니다.
그리고 ogg로 듣는 사람들은 높은 값을 많이 쓴다더군요.
그래서 기업측에서 내질 못한다고 알고 있습니다.

저도 모르고 해당사의 CDP를 샀는데
그런 얘길 듣고나서 좀 씁쓰름하더군요.

그리고, 제 생각엔 StrongARM보다는 ARM9 쪽으로 가지 않을까 싶네요.
근거는 없고요. -_-

Prentice의 이미지

ARM7이더라도 높은 비트레이트 파일 재생은 잘 됩니다. Kenwood Music Keg, PhatNoise PhatBox에서 높은 비트레이트 Ogg Vorbis 파일도 재생 됩니다...