Jump to content

    

AlexZabr

Свой
  • Content Count

    921
  • Joined

  • Last visited

Everything posted by AlexZabr


  1. Да, вполне вероятно что в недорогих мыльницах Кенон например предпочел дешевые CPU типа х86 или им подобные. Но их профи цифро-зеркалки и мыльницы высокого класса обычно идут с ихними propritary DSP заточенными под ихний image processing типа семейства DIGIC/DIGIC II. Когда речь идет об камерах среднего и ниже ценового диапазона - там часто (на сегодняшний день) интересы удешевления (производства и потребительских цен) начинают серьезно превалировать над интересами качества, особенно модели производимые китайскими/тайванскими/корейскими sub-contractors (т.е. примерно 80% рынка недорогих цифро-мыльниц в целом). Там экономия в пару центов на BOM, производстве и других связанных затратах часто важнее чем 10-15% добавочного качества (например качества image processingа). А посему чем более интегрирован будет камерны процессор - тем выгодней для производителя в условиях очень жестокой рыночной конкуренции цен. Тем более учитывая что уровень image processingа достигамеый в таких интегрированных чипах сегодня более чем неплох, хотя ессно будет уступать по возможностям специализированным, значительно более дорогим DSP под image processing. Думаю согласимся, что качесво картинок сегодня даже у относительно дешевых цифро-мыльниц весьма хорошее, скажем даже очень хорошее для нужд среднего потребителя - а это и есть 80-90% рынка. Остальные 10-20% готовы заплатить в 2,3,4,5 раз больше за те добавочные 10-25% качества которые дадут камеры высокого уровня построенные именно на качество.
  2. Хмм, тут у меня есть зацепка: многие производители цифро-мыльниц среднего и дешового уровня используют (китайцы, корейцы, тайвань и т.д., некоторые японцы тоже) изпользуют в своих дизайнах специализированные цифро-камерные процессоры. Инфа ин первых рук... Я до недавнего времени работал в Zoran Microelectronics которые одна из подразделений которой проэктирует main processor chip for digital cameras - т.е. специалиривоанный процессор (точнее поколения таковых) заточенный на цифро-камеры. Я работал именно в этом подразделении, но занимался не самим процессором а его системный board design (в teamе занимающимся этим). Такого типа процессоры имеют потчи все функционально-электронные части встроенные в чип, т.е. на одном силиконе. Цорановские процессоры так и называются: COACH (Camera-On-A-Chip). Там в чипе есть куча цифровых и аналоговых блоков, таких как блоки управления питанием и потреблением, интерфейсные блоки с внешним миром (карточки памяти, опер. память, USB, и т.д. и т.п.), блоки интерфейса с видео/still сенсорами разных типов, с аудио (микрофоном) audio codec и конечно-же core процессора (может быть ARM например или другие), а то и 2 кора. Естественно, в камерах немало image processingа, нередко весьма тяжелого, но такого типа коры обычно справляются (ессно, с необходимыми ресурсами, все индивидуально). Такого типа узко-специализированные процессоры в основном и идут в камеры среднего и мелкого пошиба которые мы и видим в магазинах. Ессно знаю конкретные фирмы (китайские, тайванские а так-же японские) цифро-мыльницы которых идут с Цорановксим чипом, назвать марки и модели не могу, сорри (подписан на это), но принцип думаю понятен. Немало камер такого разряда выпускается с Цорановскими чипами внутри, есть конечо-же и конкурирующие производители такого плана чипов (Тайванцы, Штаты). Камеры высокого класса (профи и очень дорогие мыльницы от "китов" типа Кенона, Никона), часто идут со своими in-house чипами. Не знаю точно насчет Никона, но Кенон напримерсам разрабатывает свои процессоры для камер. Саша
  3. Кому-нить из уважаемых форумчан доводилось имплементоривать filter bank на основе wavelet decomposition на конкретных DSP чипах ? Интересует сложность имплементации, в плане требования к ресурсам процессора/памяти. Пример: предполагаемый subband decomposition на 32 частотных полосы (5-и уровневый) посредством DWT (discrete wavelet transform). Какие аспекты практической реализации на DSP чипах ? Какая сложность реализации (в плане коль-ва вычислений) ? Мой алгоритм успользует все это, в МАТЛАБе все хорошо и весело ибо не в реальном времени и используем встроенный в МАТЛАб (точнее в DSP toolbox) DWT, но когда дело касается реализации а реальной hardware - подозреваю могут быть серьезные проблемы... Спасибо, Саша
  4. Цитата(evg123 @ Apr 10 2007, 12:08) Мне не доводилось это делать, но когда рылся в техасовских доках, нашел, что в CCS есть целая библиотека для работы с вейвлет преобразованиями (функции реализованы на ассемблере, для вызова из C): //------------ void IMG_wave_decom_one_dim(short *in_data, short *wksp, int *wavename, int length, int level ) Description One dimensional wavelet pyramid decomposition. The wavelet filter coefficients are passed by the vector wavename. The length of the input vector should be divided by 2^level. The decomposition output is stored in the same vector of input. The IMG_wave_decom_one_dim function calls the decomInplace assembly function. Input and output data format is Q16.0. //------------ void IMG_wave_decom_two_dim(short **image, short *wksp, int width, int height, int *wavename, int level ); Description Two dimensional wavelet pyramid decomposition. The wavelet filter coefficients are passed by the vector wavename. The width and height of the image should be divided by 2^level. The decomposed image is stored in the same matrix of in_data. The IMG_wave_decom_two_dim function calls three assembly functions: decomInplace, col2row and decomCol. Input and output data format is Q16.0. //------------ void IMG_wave_recon_one_dim(short *in_data, short *wksp, int *wavename, int length, int level ); Description One dimensional wavelet pyramid reconstruction. The wavelet filter coefficients are passed by the vector wavename. The length of the input vector should be divided by 2^level. The reconstruction output is stored in the same vector of input. The IMG_wave_recon_one_dim function calls the reconInplace assembly function. Input and output data format is Q16.0. //------------ void IMG_wave_recon_two_dim(short **image, short *wksp, int width, int height, int *wavename, int level ); Description Two dimensional wavelet pyramid reconstruction. The wavelet filter coefficients are passed by the vector wavename. The width and height of the image should be divided by 2^level. The reconstructed image is stored in the same matrix of in_data. The IMG_wave_recon_two_dim function calls three assembly functions: decomInplace, col2row and decomCol. Input and output data format is Q16.0. //------------ void IMG_wavep_decom_one_dim(short *in_data, short *wksp, int *wavename, int length, int level ); Description One dimensional wavelet packet decomposition. The wavelet filter coefficients are passed by the vector wavename. The length of the input vector should be divided by 2^level. The decomposition output is stored in the same vector of input. The IMG_wavep_decom_one_dim function calls the decomInplace assembly function. Input and output data format is Q16.0. //------------ И ещё какие-то. Берите хелп и смотрите. Там есть данные о производительности. Большое спасибо, это уже что-то. Буду рыться в хелпах и их онлайновких доках. Еще раз премного благодарен, Саша
  5. Спасибо всем, действительно как оказалось - все гениальное - просто...