Archives

Сообщения от Dmitry Serkin (Intel) RSS

Dmitry Serkin (Intel)

Непростая арифметика: декодирование

Dmitry Serkin (Intel) (24 пост(а)) 27.12.2011 11:11
Комментарии (9)

Небольшая заметка-продолжение темы арифметического кодирования, на сей раз речь пойдет о декодировании.

Продолжение ›

Категория: Intel Software Network, Графика
Метки: ,

Непростая арифметика: ода индукции

Dmitry Serkin (Intel) (24 пост(а)) 26.12.2011 10:57
Комментарии (3)

Ода математической индукции на примере арифметического кодирования

Продолжение ›

Категория: Intel Software Network
Метки: ,

Непростая арифметика: кодирование

Dmitry Serkin (Intel) (24 пост(а)) 20.12.2011 14:47
Комментарии (8)

Не так давно мы бегло прошлись по основным понятиям и методам энтропийного сжатия. Сегодняшняя запись будет посвящена арифметическому кодированию, которое славится эффективностью и элегантностью.

Продолжение ›

Категория: Intel Software Network
Метки: ,

Оценка качества видеокодирования

Dmitry Serkin (Intel) (24 пост(а)) 05.12.2011 15:08
Комментарии (6)

Вы когда-нибудь задумывались, как оценивается качество закодированного видео? Как разработчики кодеков определяют влияние тех или иных алгоритмических изменений?

Продолжение ›

Категория: Intel Software Network

Слово за видео транскодирование

Dmitry Serkin (Intel) (24 пост(а)) 31.10.2011 00:35
Комментарии (5)

Если вы понимаете все четыре слова из заголовка, то вы почти уникальны.

Продолжение ›

Категория: Intel Software Network
Метки: ,

Motion Estimation Library (часть третья, интерфейсы)

Dmitry Serkin (Intel) (24 пост(а)) 24.10.2011 10:38
Комментарии (0)

Продолжение блокбастера с блэкджеком и ...

Продолжение ›

Категория: Intel Software Network
Метки: ,

Неопеределенность Клода Шеннона

Dmitry Serkin (Intel) (24 пост(а)) 17.10.2011 13:03
Комментарии (7)

Публикуя предыдущую заметку я не учел одной важной вещи. Позвольте исправиться.

Продолжение ›

Категория: Intel Software Network
Метки: ,

Уменьшая определенность: энтропийное кодирование

Dmitry Serkin (Intel) (24 пост(а)) 13.10.2011 17:58
Комментарии (4)

Энтропийное кодирование неотъемлимый элемент любого стандарта видеокодирования. Данные, пропущенные через мясорубку временной и пространственной модели, необходимо представить в виде сжатого битового потока для последующей передачи по сети или сохранения на жестком диске - финальный шаг любого видеокодека.

Продолжение ›

Категория: Intel Software Network
Метки: , , , , ,

«О эволюции рыб в белок», теперь в 3D!

Dmitry Serkin (Intel) (24 пост(а)) 29.09.2011 12:12
Комментарии (7)

В предыдущей статье я дал опрометчивое обещание завершить серию записей о математических преобразованиях. Не тут-то было.

Продолжение ›

Категория: Intel Software Network, Графика
Метки: ,

DCT или Вниз по кроличьей норе (часть третья, Фурье)

Dmitry Serkin (Intel) (24 пост(а)) 20.09.2011 15:00
Комментарии (12)

Сложно назвать область науки в которой бы не нашлось места для применения преобразования Фурье. Гений Фурье открыл уникальный инструмент, который связывает непрерывные и дискретные миры. Инструмент, полезность которого доказана не только на бумаге, но и, в больше степени, при решении реальных проблем. Инструмент, позволяющий увидеть проблему в новой, более ясной перспективе

Продолжение ›

Категория: Intel Software Network
Метки: , ,

DCT или Вниз по кроличьей норе (часть вторая, ортогональная)

Dmitry Serkin (Intel) (24 пост(а)) 29.08.2011 10:51
Комментарии (22)

В первой части сего эпоса мы разобрались в сути вопроса и пообещались построить двухмерное преобразование. Самое время начать.

Продолжение ›

Категория: Intel Software Network, Графика
Метки: ,

DCT или Вниз по кроличьей норе (часть первая, про корреляцию)

Dmitry Serkin (Intel) (24 пост(а)) 24.08.2011 11:57
Комментарии (8)

До этих самых пор мы обсуждали лишь один из аспектов видеокодирования – устранение временной избыточности. Пришло время поговорить о пространственной или частотной избыточности и выяснить «глубока ли кроличья нора».

Продолжение ›

Категория: Intel Software Network, Графика, Разработка софта
Метки: ,

И снова Motion Estimation Library (часть вторая, про пять строчек кода)

Dmitry Serkin (Intel) (24 пост(а)) 10.08.2011 17:30
Комментарии (9)

В предыдущих постах мы попытались объять необъятное: хотя бы в общих чертах представить себе работу алгоритма оценки движения как самой главной составляющей современных видеокодеков. Судя по количеству комментариев, а что еще важнее – вопросов в комментариях – тема оказалась интересной и обширной. Но к хитрым нюансам Motion Estimation мы вернемся позже, а сегодня попробуем разобраться с программной реализацией.

В самом деле, желание с нуля написать что-то, связанное с обработкой видео, сильно уменьшается как только речь заходит о референс-кадрах, суммарной абсолютной разнице, векторах движения и прочих антинаучных вещах. К счастью, существует множество библиотек, позволяющих реализовать все хитрости буквально в пяти строчках кода. Попробуем?

Продолжение ›

Категория: Intel Software Network, Графика, Разработка софта
Метки: ,

«А я рыба без трусов» или «и все-таки она вертится»

Dmitry Serkin (Intel) (24 пост(а)) 05.08.2011 17:57
Комментарии (22)

Держу свое обещание, так опрометчиво данное в комментариях к предыдущей записи, и раскрываю тайну вращения заводной ручки. Вопрос изначально звучал примерно так: насколько «умен» алгоритм оценки движения? Если он не очень умен, то изображение вращающейся ручки заводной рыбки на видео сохраняется в каждом кадре. Если наоборот, очень умен, то ручка хранится только в опорных кадрах. А на остальных добавлена лишь информация о траектории ее движения.

Угадаем?

Продолжение ›

Категория: Графика, Разработка софта
Метки: ,

Жизнь в движении, Motion Estimation Library (часть первая, про заводную рыбу)

Dmitry Serkin (Intel) (24 пост(а)) 28.07.2011 11:11
Комментарии (13)

Признайтесь, вы же обожаете смотреть разные сериалы, голливудские блокбастеры и прочие бестселлеры? Все эти угрюмые доктора, оставшиеся в живых в знойной калифорнии среди отчаянных домохозяек? Все мы в той или иной степени наркоманы, подсаженные на иглу важнейшего из искусств. И привыканию немало способствуют такие блага цивилизации как многомегабитные каналы, многотерабайтные винчестеры, многодюймовые экраны и многоядерные процессоры, ага. По 500 Mb на серию – какой же, право, пустяк. Хотя еще 10 лет назад за файлы такого размера сисадмины устраивали кровавый офисный террор. Жизнь становится лучше, а технологии развиваются, но… Развитие не поспевает за потреблением. Терабайты и мегабиты все еще стоят довольно дорого.

Вернемся к сериалам. 0.5Gb на серию, 40 минут, 30 кадров в секунду, DVDRip = удовольствие ценой в ~36Gb чистого видео (кто первый правильно распишет, почему именно 36, получит ценный сувенир). И не у каждого найдется свободное место даже на пару сезонов (считайте сами), не говоря уже о времени на закачку. К счастью, на помощь приходит видеокодирование. И именно энкодер позволят превратить 36Gb в 0.5, т.е. сжать информацию в ~72 раза и при этом сохранить неплохое качество.

Как это возможно? Попробуем разобраться.

Продолжение ›

Категория: Графика, Разработка софта
Метки: , , ,

Верность железу

Dmitry Serkin (Intel) (24 пост(а)) 01.03.2010 16:02
Комментарии (17)

Кодирование видео процесс тяжкий и требует терпения. Софтовые решения не стоят на месте, но и они имеют свой гигагерцовый потолок, да и никакой софт не сравнится с железной логикой. И не далеки те времена, когда кодирование видео займет свою справедливую железную нишу.

Продолжение ›

Категория: Intel Software Network

Find Me If U Can

Dmitry Serkin (Intel) (24 пост(а)) 18.01.2010 10:10
Комментарии (9)

Еще один способ позабавиться с GPU.

Продолжение ›

Категория: Параллельное программирование, Разработка софта
Метки:

Back To The Future

Dmitry Serkin (Intel) (24 пост(а)) 13.01.2010 12:12
Комментарии (4)

После длительного перерыва, я наконец-то нашел время для размышлений на «бумаге». И тема поста некоторым покажется странной, вызывающей, а возможно даже бредовой. Но не будем торопить события...

Продолжение ›

Категория: Разработка софта

Быстрое копирование видеопамяти. Параллелизация копирования

Dmitry Serkin (Intel) (24 пост(а)) 06.07.2009 12:48
Комментарии (0)

Долго не решался опубликовать данную заметку.  Слишком много подводных камней и предположений с которыми еще предстоит разобраться. Но думаю все же некоторым будет интересно. В первой заметке этой серии, я рассказал про технику позволяющую качественно улучшить производительность копирования данных между системной и USWC памятью. Однако, это еще не предел. Еще одна оптимизация основана на том [...]

Продолжение ›

Категория: Intel Software Network, Графика, Параллельное программирование, Разработка софта
Метки: ,

Тайна третьей планеты

Dmitry Serkin (Intel) (24 пост(а)) 25.06.2009 10:47
Комментарии (13)

Ностальгирую по прошлым временам. Несколько лет назад я участвовал в проекте по разработке компьютерного планетария Stellarium. Основная функциональность программы уже была написана французскими умельцами, и мы занимались реализацией специфических возможностей или же улучшением существующих. Так, например, часть людей работала над улучшением текстурирования планет, реалистичной визуализацией поверхности Солнца. На мою же долю пришлись задачи загрузки и [...]

Продолжение ›

Категория: Intel Software Network, Графика
Метки: , , ,

Галопом по GPU: CUDA, Stream SDK & Larrabee

Dmitry Serkin (Intel) (24 пост(а)) 10.06.2009 13:31
Комментарии (10)

Как много разговоров вокруг центрального и графического процессоров. Последние прочно зарекомендовали себя как очень мощные "числодробилки". Но хватит разговоров, пора пощупать технологии своими руками и оценить сложность и подводные камни разработки под GPU. Отлично. Как раз имеется прекрасная задача, которая идеально ложится на архитектуру многоядерности современных GPU. Речь идет о вычислительно сложных алгоритмах оценки движения [...]

Продолжение ›

Категория: Intel Software Network, Графика, Параллельное программирование, Разработка софта

Поиск реального движения

Dmitry Serkin (Intel) (24 пост(а)) 15.05.2009 16:01
Комментарии (4)

Поиск реального движения - один из алгоритмов оценки движения, которые относительно точно выявляют действительное перемещение объектов в последовательности видео кадров. Видео последовательность получается путем проектирования реального 3D  мира на серию 2D картинок. Когда объекты в 3D движутся, яркость (интенсивность пикселя) 2D картинок изменяется соответственно. 2D движение проектируемое из реального 3D  мира называется реальным или действительным [...]

Продолжение ›

Категория: Intel Software Network

Оценка движения видеокадра

Dmitry Serkin (Intel) (24 пост(а)) 13.05.2009 12:12
Комментарии (1)

Давайте отвлечемся от насущных проблем всевозможной оптимизации и коснемся темы кодирования видео. Как известно, видео представляет собой не что иное, как последовательность кадров (изображений). В хорошем качестве и высоком разрешении каждый такой кадр может содержать несколько мегабайт информации. Представьте, тысяча кадров содержит несколько гигабайт информации! И это всего лишь 30-40 секунд видео. Никакого жесткого диска [...]

Продолжение ›

Категория: Intel Software Network, Графика

Быстрое копирование видео памяти

Dmitry Serkin (Intel) (24 пост(а)) 07.05.2009 14:25
Комментарии (48)

Тема оптимизации копирования памяти сильно изучена. Тут уже многое сделано, и улучшить ситуацию вряд ли представляется возможным. Стандартная функция memcpy при соответствующих настройках компилятора демонстрирует отличную производительность, не говоря уже о функциях копирования из специализированной библиотеки Intel(R) IPP. Особый интерес вызывает тот случай, когда копирование происходит не между различными регионами системной памяти, а между локальной [...]

Продолжение ›

Категория: Графика, Разработка софта