«Природа - это не то, что мы получили в наследство от предков,
а то, что мы взяли взаймы у потомков»
Древняя индийская сентенция
«Единственное,
что нужно для триумфа зла – это чтобы хорошие люди ничего не делали...»
Эдмунд Берк (1729-1797)
2012-04-22
Ричард Столлман рассмотрел проблемы сетевых служб в свете св..."
https://github.com/jancborchardt/libreprojects/wiki
https://en.wikipedia.org/wiki/StatusNet
http://scribtex.com/ LaTeX editor
http://www.opennet.ru/openforum/vsluhforumID3/84182.html#62
"К сожалению, он прав: если не иметь мозг политикой, политика будет иметь обладателя мозга. Увы."
http://www.opennet.ru/openforum/vsluhforumID3/84182.html#68
> Тогда зачем вам знать какими средствами это будет реализовано?
Чтобы понимать заранее возможные проблемы, а не резко прыгать и потирать ушибленный лоб когда грабли уже долбанули со всей дури, например. Хотя я заметил что отличительной чертой барана является желание набить пузо вотпрямща и не париться по поводу того что завтра - экскурсия на мясокомбинат.
Например, банк учитывает риски по не возврату кредита, и с удивлением относится к моему удивлению выбора банком windows платформы, в качестве средства управления счетом через интернет, и моей просьбы на опцию блокировки подключения этого сервиса, для возможности управления счетом только лично в отделении банка.
http://www.opennet.ru/openforum/vsluhforumID3/84182.html#45
1.45, Xaionaro, 10:25, 20/04/2012 [ответить] [смотреть все]
А вот большие насяльники любят SaaS :(
2.47, Куяврик, 10:31, 20/04/2012 [^] [ответить] [смотреть все] [показать ветку]
> А вот большие насяльники любят SaaS :(
это офигенный способ перераспределить ответственность и подсократить количество внутренних служб. так что неудивительно.
3.64, Аноним, 13:19, 20/04/2012 [^] [ответить] [смотреть все]
> это офигенный способ перераспределить ответственность
Ага. Скорее безответственность. Если гугл или кто там еще поменяет интерфейс, снесет твои данные со своих серверов или модифицирует их без спроса - отвечать за это как правило не будет вообще никто. По крайней мере в ToS обычно отмазки на этот счет есть.
А действительно, несет-ли руководитель ответственность за выбор решения, вне зависимости от условий договора по предоставлению решения? Т.е. наступает-ли ответственность руководителя при не получении предприятием сервиса в рамках должных параметров, вне зависимости от договорных условий с поставщиком, ведь выбор поставщика и есть ответственность руководителя.
http://www.opennet.ru/openforum/vsluhforumID3/84182.html#54
2.63, Аноним, 13:15, 20/04/2012 [^] [ответить] [смотреть все] [показать ветку]
> А мне для проектов удобнее пользоваться Google Docs чем MSO или либре.
> Мне теперь из-за Столлмана отказаться от сервиса в ущерб работе?
Прикольно будет когда гугл резко сменит ToS на неудобный тебе, например. А ты уже завязался на эту наркоту и подсел - наступает ломка. На что и рассчет хитрых корпорасов, собственно. Такой вот драгдилерский бизнес, только как бы легальный. Рассчет на идиотов которые думают только как бы вот прям ща захавать, а что потом - не парятся :)
Еще например можно убить тебе твои документы по желанию левой пятки, без спроса. Прикрыв зад DMCA или там чем еще. Или поправить их без спроса. У кого сервер тот и прав. Оспорить этот факт можно исключительно в спортлото.
Почему-то до некоторых доходит что грабли могут #@нуть по лбу только когда на лбу вырастает бааааааальшой шишак. А Столлман в отличие от таких овощей достаточно умен для того чтобы прикинуть возможную траекторию движения рукояти и силу удара и без опробования лично на своем лбу. Надеюсь теперь ты понимаешь почему я уважаю Столлмана и считаю тебя
2012-04-12
h263 и mpeg в каком случае использовать?
H.263 - обеспечивают лучшее сжатие, но дающие более высокую размытость
MPEG - более четкая картинка и меньше информации о цвете
http://rutracker.org/forum/viewtopic.php?t=2665308
amadegammus
Ради эксперимента, как то один и тот же фрагмент видео проконвертировал в DivX и XviD - визуально разныцы не увидел. Правда конвертировал Total Converter(ом) со стандартными настройками.
Т.к. DivX входит в сборки кодеков K-lite Codek Pack (правда не во все), то он поэтому и является относительно бесплатным.
h264 - замечательный кодек, только его не проигрывают большинство "железных плейеров".
Harper666
Тоже ради эксперимента - разницу видно сразу, хотя это ессесно ничего не доказывает:
Битрейт одинаковый = 890 kbps.
GarfieldX
Без разницы, везде фигня получается
Битрейт маловат.
К тому же матрица MPEG предназначена для более высоких битрейтов.
Матрица H264 все таки H.263...
Harper666
Матрица H264 все таки H.263...
На высоких битрейтах вообще нет разницы чем кодировать. По крайней мере я не видел.
К тому же матрица MPEG предназначена для более высоких битрейтов
То есть с высоким битрейтом ты вседа будешь MPEG использовать? H.263 хуже повлияет на качество картинки в таком случае?
GarfieldX
То есть с высоким битрейтом ты вседа будешь MPEG использовать?
Матрица MPEG лучше чем H.263, но требует большего битрейта. Всегда ей пользуюсь.
Harper666
GarfieldX
Понял. Спасибо.
kr60502
подскажите пож. - на каком битрейте нужно переходить с матрицы MPEG на H.263
manowar_gub
на каком битрейте нужно переходить с матрицы MPEG на H.263
на том, где видно явные артефакты компрессии вида "звон" по краям объектов изображения или квадратов квантизации на статичном фоне
kr60502
спасибо, а циферка какая (хоть примерно)
GarfieldX
спасибо, а циферка какая (хоть примерно)
~900Kbit
2012-04-08
Что такое матрицы распределения квантов и с чем их едят.
Что такое матрицы распределения квантов и с чем их едят.
Несмотря на то, что популярность стремительно набирают кодеки нового поколения, старому доброму XviD ещё жить и жить, пока люди не повыбрасывают на помойку свои старые консервные видео проигрыватели. Это ещё боюсь не год и не два. В общем дело вкуса, лично я сам давно для себя определил формат коллекции - AVC.
Тем не менее, XviD не так мало может, как может показаться на первый взгляд и у него есть одно неоcпоримое преимущество перед AVC(помимо консервной совместимости):
XviD - кодек, проверенный временем, стабильный и надёжный
Вот решил немного поделиться опытом кодирования с помощью XviD и ввести ещё несведущих в азы видеокомпресии. Если вы ничего не знаете о том, как работают видеокодеки - дальше лучше не читать, будет туго и бессмысленно.
Всем кому интересно - добро пожаловать. Материал собран с использованием информации, собранной по крупицам с doom9, моих комметнариев и дополнений. За подробные исследования respect Sharktooth, Didee, Dark Shikari и прочим мега кодерам с doom9
Приступим...
Что такое макроблоки? Плохо если вы не в курсе. Каждый фрейм mpeg4 поток состоит из типичных макроблоков размером 16x16 или 32x32. Каждый из макроблоков состоит в свою очередь из блоков 8x8, вокруг которых и пляшет алгоритм видеокомпрессии.
Самое ценное в видеокомпрессии - коэффициент сжатия, поэтому вместо того, чтобы хранить блоки в виде растрового изображения, макроблок хранится в виде сложной формулы, которая имитирует оригинальное изображение настолько точно, насколько это возможно в отведённые для конкретного макроблока биты.
Человеческий глаз наиболее чувствителен к изменениями в яркости изображения, чем к искажениям в цветах. Поэтому в mpeg4 заложено изначально резервировать больше битрейта для точной передачи яркости, чем для достоверной передачи цветов.
Каждый блок 8x8 представляется не в виде пикселей, а в виде единственной величины, которая передаёт среднее значение яркости или цвета в массиве 8x8, а все остальные значения представляют собой математические зависимости, в которых находится исходный блок от заданной величины яркости и цвета.
Другими словами, для конкретного макроблока задаётся некое значение, из которого путём математических преобразований восстанавливается блок целиком таким образом, чтобы он максимально был похож на исходный.
Всё остальное место занимают пиксели, точнее то, что мы привыкли называть пикселями, а на самом деле просто данные, которые передают геометрические детали изображения.
Присмотримся к блоку повнимательнее:
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
Значение в верхнем левом углу передаёт среднее значение макроблока. Т.е. если макроблок описывает кусочек неба, то грубо говоря в этом углу будет храниться среднее значение голубого цвета.
Вправо и вниз от этого угла расходятся значения отклонений от заданной величины.
Сверху вниз или справа налево в блоке по нарастающей описываются детали.
Если обратиться к исходному блоку 8x8, то детали трансформируются в значения в зависимости от частоты конкретной детали. Понятие частоты ту имеет несколько иной смысл. Чем тоньше деталь, тем выше частота, которая её описывает.
Таким образом, чем правее позиция в блоке, тем выше частота и соответсвенно более точно передаётся конкретная деталь.
Например:
В блоке 8x8 с кусочком неба почти нет деталей, поэтому частота в этом блоке очень низкая.
В блоке 8x8 в который попали 5 или 6 спичек появляется больше деталей, но не так много, поэтому частота такого блока находится на среднем уровне.
Блок 8x8, в который попали волосы крупным планом или трава или кусты, насыщен мелкими деталями, поэтому его частота высока.
Как видно, значение в блоках передают горизонтальные и вертикальные частоты деталей исходной картинки.
Формула, которая преобразует детали в частоты макроблока, называется Дискретная Косинусоидальная Трансформация (по англ. Discrete Cosine Transformation или DCT)
Теперь посмотрим на макроблок с учётом того, что мы уже о нём знаем.
I
I Низкие частоты (крупные детали)
I I
I I Средние частоты (обычные детали)
I I I
I I I
I I I Высокие частоты (самые мелкие детали)
I I I I
X--X--X--X--X--X--X--X
X--\--X--X--X--X--X--X
Низкие частоты -------- X--X--\--X--X--X--X--X
X--X--X--\--X--X--X--X
Средние частоты ------- X--X--X--X--\--X--X--X
X--X--X--X--X--\--X--X
X--X--X--X--X--X--\--X
Высокие частоты --------X--X--X--X--X--X--X--A
I
I
Математическое описание самой смой тонкой
детали по горизонтали и вертикали
Матрица распределения квантов (МРК) выглядит примерно так :
16 16 22 24 27 29 34 37
19 22 26 27 29 34 34 38
22 22 26 27 29 34 37 40
22 26 27 29 32 35 40 48
26 27 29 32 35 40 48 58
26 27 29 34 38 46 56 69
27 29 35 38 46 56 69 83
Чтобы приблизиться к пониманию процесса, опустимся до абстракции:
Представим себе блондинку с длинными волосами, стоящую перед светло-серой стеной за 2 прутьями тюремной решётки.
Представим, что это изображение помещается в блок 8x8
Блондинка и светлая стена будут близки по контрасту, поэтому разница между средними значениями яркости и контраста и их максимальными значениями будет невелика.
Значения в блоке будут ниже и практически могут не преодолеть порога потери детализации. Это значит, что разница между участками будет минимальной и картинка превосходно будет поддаваться компресии.
Если бы стена была чёрной, контраст был бы намного больше и разница между средними значениями и максимальными будет зашкаливать. Если в такой блок не попадёт достаточно высокий порог из значений МРК, то либо блондинка может оказаться брюнеткой за счёт стены за ней, либо стена из чёрной станет серой, а скорее всего обе потеряют свой первоначальный цвет. В любом случае при более высоком контрасте через порог DCT пройдёт значительно больше деталей и попадут дальше в конвеер видеокомпрессора, который уже будет думать как же это всё запаковать поуютнее.
Тюремные прутья перед девушкой - детали, но совсем не мелкие, они пойдут в макроблок по низкой частоте.
(По крайней мере, если они будут отличаться цветом от блондинки)
Мы забыли, что у девушки есть волосы и разумеется волосы имеют сложную текстуру. Поэтому волосы пойдут в макроблок по высокой частоте.
Как видно по МРК, порог для высоких частот намного выше, чем для низких. Поэтому, чтобы волосы попали в видеопоток, они должны значительно отличаться от среднего значение цвета, иначе, могут просто слиться со средним фоном. Поэтому если разница со средним значением невелика (как в этом случае), детализация волос просто пропадёт на этом этапе. Ситуацию могут спасти разноцветные ленточки в волосах, которые увеличат контраст. Таким образом, чтобы детали на выходе получились чётким и резким, контраст деталей должен быть как можно дальше от среднего значения, иначе чёрная кошка утонет в чёрной комнате. Это упрощённое представление процесса видеокомпрессии. Для полноты картины надо добавить, что всё, вышесказанное справедливо для I-фреймов. МРК к p- b- фреймам применяется не напрямую, а после распределения векторов направления движения, что должно учитываться при составлении матриц.
Теперь подбираемся к главному. XviD кодек (забудем про DivX вообще, для меня он умер ) по умолчанию использует либо H.263 матрицу либо MPEG. H.263 даёт на выходе более размытую картинку с более точными значениями яркости/цветов, а MPEG передаёт больше деталей, но теряет больше параметров яркость-цвет. Эти матрицы по-умолчанию хороши в среднем для обычной штамповки. С помощью спец. подобранных матриц можно значительно улучшить результаты работы видеокомпрессора за счёт снижения сжимаемости картинки. Как видно, матрица в примере - как раз снижает сжимаемость, значение в среднем очень низкие.
Для чего могут использоваться квантовые матрицы:
Матрица для максимального сжатия устанавливает жёсткий порог деталей, чтобы битрейт расходовался более эффективно
В идеале можно разработать матрицы для конкретного типа видеоряда: космические баталии, мультики, аниме т.д.
С помощью матриц можно фильтровать шумы и артефакты, вычислив помеховые частоты можно добиться довольно точной фильтрации
В заключение, привожу матрицы, разработанные уважаемым г. Sharktooth, как на мой взгляд наиболее удачные в качестве исходного материала для экспериментов. Лёгкая подгонка этих матриц к конкретному фильму - и XviD будет творить чудеса.
EQM v3hr
Матрица для высоких битрейтов для кодирования DVD в полный анаромфный размер на битрейтах 1600Kbps+ (для фильмов со средним экншном)
10 10 10 10 11 12 14 16
10 10 11 11 13 14 16 18
10 10 11 13 15 17 19 23
11 11 13 15 19 22 26 29
11 12 14 17 22 28 34 41
13 14 16 19 26 34 44 55
15 16 18 23 29 41 55 72
15 15 15 15 16 17 19 22
15 15 15 15 16 18 20 23
15 15 16 17 19 20 23 27
15 15 17 19 22 25 29 33
16 16 19 22 28 32 38 43
17 18 20 25 32 41 50 60
19 20 23 29 38 50 66 81
22 23 27 33 43 60 81 106
EQM V3LR:
Матрица для низких битрейтов до 1500Kbps для кодирования DVD на полном анаморфном разрешении. На более высоких битрейтах - отличный выбор для фильмов насыщенных экшном.
14 14 14 14 15 16 19 22
14 14 15 15 17 19 22 25
14 14 15 18 21 23 27 31
15 15 17 21 26 30 35 40
15 16 19 23 30 38 46 56
18 19 22 27 35 46 61 76
21 22 25 31 40 56 76 99
19 19 19 19 20 21 24 28
19 19 19 19 20 22 26 29
19 19 20 21 23 26 29 34
19 19 21 24 28 31 36 42
20 20 23 28 35 41 48 55
21 22 26 31 41 51 63 76
24 26 29 36 48 63 83 103
28 29 34 42 55 76 103 134
EQM V3ULR
Матрица для очень низких битретов:
- уменьшает артефакты насколько это возможно сохраняя хорошую картинку на низких битрейтах
- Одна из лучших матриц для кодирования на 1CD
14 20 26 37 44 56 64 70
20 26 36 43 55 64 70 75
28 37 43 54 63 70 76 79
38 44 55 63 70 77 80 83
45 56 64 70 77 81 84 88
56 64 70 76 80 84 89 95
65 70 75 79 83 88 95 102
18 19 20 22 24 26 28 30
19 20 22 24 26 28 30 34
20 22 24 26 29 30 34 40
22 24 26 30 32 36 44 50
24 26 29 32 38 48 55 60
26 28 30 36 48 58 74 80
28 30 34 44 55 74 92 104
30 34 40 50 60 80 104 128
EQM V3UHR
Матрица для очень высоких битрейтов для кодирования DVD в полный анаморфный размер на очень высоких битрейтах. Точка насыщенности за счёт сжимаемости на 30% выше чем в матрице Didees 6of9
8 8 8 8 8 9 10 12
8 8 8 8 9 10 12 14
8 8 8 10 11 13 15 17
8 8 9 11 14 16 19 22
8 9 10 13 16 21 25 31
10 10 12 15 19 25 33 41
11 12 14 17 22 31 41 54
10 10 10 10 10 10 10 11
10 10 10 10 10 10 10 12
10 10 10 10 10 10 12 14
10 10 10 10 11 13 15 17
10 10 10 11 14 16 19 22
10 10 10 13 16 21 25 31
10 10 12 15 19 25 33 41
11 12 14 17 22 31 41 54
EQM V3EHR
Матрица для кодирования на повышенных битрейтах разработана для кодирования только в режиме постоянное качество. Сжимаемость вообще никакая по сравнению с другими матрицами, но на то есть причины.
Сфера применения: создание резервных копий исходника или HD, не прибегая к кодекам, работающим по принципу "без потерь"
8 8 11 12 13 14 17 18
9 11 13 13 14 17 17 16
11 11 13 13 13 17 18 20
11 13 13 13 16 17 20 24
13 13 13 16 17 20 24 29
13 12 13 17 19 23 28 34
12 13 17 19 23 28 34 41
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
P.S.: Не претендую на абсолютную точность изложенной инфоромации, если найдёте в чём меня поправить, буду рад.
2012-04-06
Матрица, использованная при оцифровке видео, сильно влияет на качество картинки
Если вы кодируете видео (mpeg4, xvid, divx), то просто обязаны знать то, что написано в этой статье
Цитата: "Лёгкая подгонка этих матриц к конкретному фильму - и XviD будет творить чудеса. "
Все отлично написано, я лишь в финале подведу некоторые итоги и подерлюсь своими мыслями по поводу матриц.
Данная статья подготовленна shellgen, спасибо ему большое.
Итак.... для начала немного теории...
Что такое матрицы распределения квантов и с чем их едят.
Несмотря на то, что популярность стремительно набирают кодеки нового поколения, старому доброму XviD ещё жить и жить, пока люди не повыбрасывают на помойку свои старые консервные видео проигрыватели. Это ещё боюсь не год и не два. В общем дело вкуса, лично я сам давно для себя определил формат коллекции - AVC.
Тем не менее, XviD не так мало может, как может показаться на первый взгляд и у него есть одно неоcпоримое преимущество перед AVC (помимо консервной совместимости):
XviD - кодек, проверенный временем, стабильный и надёжный
Вот решил немного поделиться опытом кодирования с помощью XviD и ввести ещё несведущих в азы видеокомпресии. Если вы ничего не знаете о том, как работают видеокодеки - дальше лучше не читать, будет туго и бессмысленно.
Всем кому интересно - добро пожаловать. Материал собран с использованием информации, собранной по крупицам с doom9, моих комметнариев и дополнений. За подробные исследования respect Sharktooth, Didee, Dark Shikari и прочим мега кодерам с doom9
Приступим...
Что такое макроблоки? Плохо если вы не в курсе. Каждый фрейм mpeg4 поток состоит из типичных макроблоков размером 16x16 или 32x32. Каждый из макроблоков состоит в свою очередь из блоков 8x8, вокруг которых и пляшет алгоритм видеокомпрессии.
Самое ценное в видеокомпрессии - коэффициент сжатия, поэтому вместо того, чтобы хранить блоки в виде растрового изображения, макроблок хранится в виде сложной формулы, которая имитирует оригинальное изображение настолько точно, насколько это возможно в отведённые для конкретного макроблока биты.
Человеческий глаз наиболее чувствителен к изменениями в яркости изображения, чем к искажениям в цветах. Поэтому в mpeg4 заложено изначально резервировать больше битрейта для точной передачи яркости, чем для достоверной передачи цветов.
Каждый блок 8x8 представляется не в виде пикселей, а в виде единственной величины, которая передаёт среднее значение яркости или цвета в массиве 8x8, а все остальные значения представляют собой математические зависимости, в которых находится исходный блок от заданной величины яркости и цвета.
Другими словами, для конкретного макроблока задаётся некое значение, из которого путём математических преобразований восстанавливается блок целиком таким образом, чтобы он максимально был похож на исходный.
Всё остальное место занимают пиксели, точнее то, что мы привыкли называть пикселями, а на самом деле просто данные, которые передают геометрические детали изображения.
Присмотримся к блоку повнимательнее:
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
X X X X X X X X
Значение в верхнем левом углу передаёт среднее значение макроблока. Т.е. если макроблок описывает кусочек неба, то грубо говоря в этом углу будет храниться среднее значение голубого цвета.
Вправо и вниз от этого угла расходятся значения отклонений от заданной величины.
Сверху вниз или справа налево в блоке по нарастающей описываются детали.
Если обратиться к исходному блоку 8x8, то детали трансформируются в значения в зависимости от частоты конкретной детали. Понятие частоты ту имеет несколько иной смысл. Чем тоньше деталь, тем выше частота, которая её описывает.
Таким образом, чем правее позиция в блоке, тем выше частота и соответсвенно более точно передаётся конкретная деталь.
Например:
В блоке 8x8 с кусочком неба почти нет деталей, поэтому частота в этом блоке очень низкая.
В блоке 8x8 в который попали 5 или 6 спичек появляется больше деталей, но не так много, поэтому частота такого блока находится на среднем уровне.
Блок 8x8, в который попали волосы крупным планом или трава или кусты, насыщен мелкими деталями, поэтому его частота высока.
Как видно, значение в блоках передают горизонтальные и вертикальные частоты деталей исходной картинки.
Формула, которая преобразует детали в частоты макроблока, называется Дискретная Косинусоидальная Трансформация (по англ. Discrete Cosine Transformation или DCT)
Теперь посмотрим на макроблок с учётом того, что мы уже о нём знаем.
Код: Среднее значение цвета и яркости всего блока
I
I Низкие частоты (крупные детали)
I I
I I Средние частоты (обычные детали)
I I I
I I I
I I I Высокие частоты (самые мелкие детали)
I I I I
X--X--X--X--X--X--X--X
X----X--X--X--X--X--X
Низкие частоты -------- X--X----X--X--X--X--X
X--X--X----X--X--X--X
Средние частоты ------- X--X--X--X----X--X--X
X--X--X--X--X----X--X
X--X--X--X--X--X----X
Высокие частоты --------X--X--X--X--X--X--X--A
I
I
Математическое описание самой смой тонкой
детали по горизонтали и вертикали
Всё, с блоками надеюсь всё понятно, теперь перейдём к главному: квантовым матрицам.
Матрица распределения квантов (МРК) выглядит примерно так :
Код: 08 16 19 22 26 27 29 34
16 16 22 24 27 29 34 37
19 22 26 27 29 34 34 38
22 22 26 27 29 34 37 40
22 26 27 29 32 35 40 48
26 27 29 32 35 40 48 58
26 27 29 34 38 46 56 69
27 29 35 38 46 56 69 83
Теперь попробуем описать в простых словах всю сложность процесса. Для начала разберёмся что такое в принципе распределение квантов. Распределение квантов - это процесс выборочного уничтожения информации из первоисходника с как можно меньшими изменениями в визуальных ощущениях от просмотра. Каждое значение в МРК это порог для DCT формулы для преобразования описания детали в частоту. Т.е. МРК описывает на какой частоте детализации стоит выкинуть исходный материал из процесса компрессии. Все детали ниже этого порога будут просто проигнорированы при кодировании и бесследно потеряны. В этом и состоит суть компрессии с потерями. Детали просто теряются при компрессии, до того порога детализации, который указан в МРК. Как видно по матрице в примере, чем правее и ниже, тем выше порог потери детализации. Чем мельче деталь, тем больше места она займёт в видеопотоке, в противном случае она просто будет безвозвратно утеряна.
Чтобы приблизиться к пониманию процесса, опустимся до абстракции:
Представим себе блондинку с длинными волосами, стоящую перед светло-серой стеной за 2 прутьями тюремной решётки.
Представим, что это изображение помещается в блок 8x8
Блондинка и светлая стена будут близки по контрасту, поэтому разница между средними значениями яркости и контраста и их максимальными значениями будет невелика.
Значения в блоке будут ниже и практически могут не преодолеть порога потери детализации. Это значит, что разница между участками будет минимальной и картинка превосходно будет поддаваться компресии.
Если бы стена была чёрной, контраст был бы намного больше и разница между средними значениями и максимальными будет зашкаливать. Если в такой блок не попадёт достаточно высокий порог из значений МРК, то либо блондинка может оказаться брюнеткой за счёт стены за ней, либо стена из чёрной станет серой, а скорее всего обе потеряют свой первоначальный цвет. В любом случае при более высоком контрасте через порог DCT пройдёт значительно больше деталей и попадут дальше в конвеер видеокомпрессора, который уже будет думать как же это всё запаковать поуютнее.
Тюремные прутья перед девушкой - детали, но совсем не мелкие, они пойдут в макроблок по низкой частоте.
(По крайней мере, если они будут отличаться цветом от блондинки)
Мы забыли, что у девушки есть волосы и разумеется волосы имеют сложную текстуру. Поэтому волосы пойдут в макроблок по высокой частоте.
Как видно по МРК, порог для высоких частот намного выше, чем для низких. Поэтому, чтобы волосы попали в видеопоток, они должны значительно отличаться от среднего значение цвета, иначе, могут просто слиться со средним фоном. Поэтому если разница со средним значением невелика (как в этом случае), детализация волос просто пропадёт на этом этапе. Ситуацию могут спасти разноцветные ленточки в волосах, которые увеличат контраст. Таким образом, чтобы детали на выходе получились чётким и резким, контраст деталей должен быть как можно дальше от среднего значения, иначе чёрная кошка утонет в чёрной комнате. Это упрощённое представление процесса видеокомпрессии. Для полноты картины надо добавить, что всё, вышесказанное справедливо для I-фреймов. МРК к p- b- фреймам применяется не напрямую, а после распределения векторов направления движения, что должно учитываться при составлении матриц.
Теперь подбираемся к главному. XviD кодек (забудем про DivX вообще, для меня он умер ) по умолчанию использует либо H.263 матрицу либо MPEG. H.263 даёт на выходе более размытую картинку с более точными значениями яркости/цветов, а MPEG передаёт больше деталей, но теряет больше параметров яркость-цвет. Эти матрицы по-умолчанию хороши в среднем для обычной штамповки. С помощью спец. подобранных матриц можно значительно улучшить результаты работы видеокомпрессора за счёт снижения сжимаемости картинки. Как видно, матрица в примере - как раз снижает сжимаемость, значение в среднем очень низкие.
Для чего могут использоваться квантовые матрицы:
Матрица для максимального сжатия устанавливает жёсткий порог деталей, чтобы битрейт расходовался более эффективно
В идеале можно разработать матрицы для конкретного типа видеоряда: космические баталии, мультики, аниме т.д.
С помощью матриц можно фильтровать шумы и артефакты, вычислив помеховые частоты можно добиться довольно точной фильтрации
В заключение, привожу матрицы, разработанные уважаемым г. Sharktooth, как на мой взгляд наиболее удачные в качестве исходного материала для экспериментов. Лёгкая подгонка этих матриц к конкретному фильму - и XviD будет творить чудеса.
EQM v3hr
Матрица для высоких битрейтов для кодирования DVD в полный анаромфный размер на битрейтах 1600Kbps+ (для фильмов со средним экншном)
Код: 8 10 10 10 11 11 13 15
10 10 10 10 11 12 14 16
10 10 11 11 13 14 16 18
10 10 11 13 15 17 19 23
11 11 13 15 19 22 26 29
11 12 14 17 22 28 34 41
13 14 16 19 26 34 44 55
15 16 18 23 29 41 55 72
15 15 15 15 16 17 19 22
15 15 15 15 16 18 20 23
15 15 16 17 19 20 23 27
15 15 17 19 22 25 29 33
16 16 19 22 28 32 38 43
17 18 20 25 32 41 50 60
19 20 23 29 38 50 66 81
22 23 27 33 43 60 81 106
http://www.webalice.it/f.corriga/CQMs/eqm_v3hr.xcm
EQM V3LR:
Матрица для низких битрейтов до 1500Kbps для кодирования DVD на полном анаморфном разрешении. На более высоких битрейтах - отличный выбор для фильмов насыщенных экшном.
Код: 8 14 14 14 15 15 18 21
14 14 14 14 15 16 19 22
14 14 15 15 17 19 22 25
14 14 15 18 21 23 27 31
15 15 17 21 26 30 35 40
15 16 19 23 30 38 46 56
18 19 22 27 35 46 61 76
21 22 25 31 40 56 76 99
19 19 19 19 20 21 24 28
19 19 19 19 20 22 26 29
19 19 20 21 23 26 29 34
19 19 21 24 28 31 36 42
20 20 23 28 35 41 48 55
21 22 26 31 41 51 63 76
24 26 29 36 48 63 83 103
28 29 34 42 55 76 103 134
http://www.webalice.it/f.corriga/CQMs/eqm_v3lr.xcm
EQM V3ULR
Матрица для очень низких битретов:
- уменьшает артефакты насколько это возможно сохраняя хорошую картинку на низких битрейтах
- Одна из лучших матриц для кодирования на 1CD
Код: 8 14 20 28 38 45 56 65
14 20 26 37 44 56 64 70
20 26 36 43 55 64 70 75
28 37 43 54 63 70 76 79
38 44 55 63 70 77 80 83
45 56 64 70 77 81 84 88
56 64 70 76 80 84 89 95
65 70 75 79 83 88 95 102
18 19 20 22 24 26 28 30
19 20 22 24 26 28 30 34
20 22 24 26 29 30 34 40
22 24 26 30 32 36 44 50
24 26 29 32 38 48 55 60
26 28 30 36 48 58 74 80
28 30 34 44 55 74 92 104
30 34 40 50 60 80 104 128
http://www.webalice.it/f.corriga/CQMs/eqm_v3ulr_rev3.xcm
EQM V3UHR
Матрица для очень высоких битрейтов для кодирования DVD в полный анаморфный размер на очень высоких битрейтах. Точка насыщенности за счёт сжимаемости на 30% выше чем в матрице Didees 6of9
Код: 8 8 8 8 8 8 10 11
8 8 8 8 8 9 10 12
8 8 8 8 9 10 12 14
8 8 8 10 11 13 15 17
8 8 9 11 14 16 19 22
8 9 10 13 16 21 25 31
10 10 12 15 19 25 33 41
11 12 14 17 22 31 41 54
10 10 10 10 10 10 10 11
10 10 10 10 10 10 10 12
10 10 10 10 10 10 12 14
10 10 10 10 11 13 15 17
10 10 10 11 14 16 19 22
10 10 10 13 16 21 25 31
10 10 12 15 19 25 33 41
11 12 14 17 22 31 41 54
http://www.webalice.it/f.corriga/CQMs/eqm_v3uhr_rev2.xcm
EQM V3EHR
Матрица для кодирования на повышенных битрейтах разработана для кодирования только в режиме постоянное качество. Сжимаемость вообще никакая по сравнению с другими матрицами, но на то есть причины.
Сфера применения: создание резервных копий исходника или HD, не прибегая к кодекам, работающим по принципу "без потерь"
Код: 8 8 9 11 13 13 14 17
8 8 11 12 13 14 17 18
9 11 13 13 14 17 17 16
11 11 13 13 13 17 18 20
11 13 13 13 16 17 20 24
13 13 13 16 17 20 24 29
13 12 13 17 19 23 28 34
12 13 17 19 23 28 34 41
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
8 8 8 8 8 8 8 8
http://www.webalice.it/f.corriga/CQMs/eqm_v3ehr.xcm
P.S.: Не претендую на абсолютную точность изложенной инфоромации, если найдёте в чём меня поправить, буду рад.
Исходный текст отсюда
2012-03-19
2012-03-18
Arduino
Хорошее описание Ардуино:
http://robocraft.ru/blog/arduino/654.html
http://robocraft.ru/blog/arduino/18.html
Самоход с глазами
http://robocraft.ru/blog/813.html
http://robocraft.ru/blog/projects/817.html
Найди различия:
http://robocraft.ru/blog/projects/655.html
http://yandex.ru/yandsearch?text=Big+Dog
http://robocraft.ru/blog/projects/706.html
Войны роботов - роль беспилотных самолетов и роботов в текущих и будущих войнах
http://robocraft.ru/blog/news/694.html
Android - Arduino
http://robocraft.ru/blog/arduino/781.html
OpenCV - распознавание образов с камеры
http://robocraft.ru/tag/OpenCV/
http://robocraft.ru/blog/computervision/640.html
http://robocraft.ru/blog/computervision/791.html
Библиотека для C#
http://robocraft.ru/blog/computervision/575.html
Библиотека, которая строит 3D мир по точкам из изображения
http://pointclouds.org/ - библиотека облака точек
облако можно получить из:
http://habrahabr.ru/post/134225/
http://robocraft.ru/blog/projects/665.html
KinnectFusion http://robocraft.ru/blog/computervision/693.html
Видео - роботы видят
http://robocraft.ru/blog/computervision/767.html
И летают
http://robocraft.ru/blog/projects/773.html
Строим карту SLAM — Simultaneous Localization And Mapping — Метод одновременной навигации и построения карты
http://robocraft.ru/blog/technology/724.html
Визуальная одометрия — метод оценки положения и ориентации робота,
посредством анализа последовательности изображений, снятых установленной на нём камерой/камерами
http://robocraft.ru/blog/computervision/738.html
Работа с Microsoft Kinnect
http://robocraft.ru/blog/computervision/718.html
А вот еще круто:
http://www.hackengineer.com/3dcam/
http://robocraft.ru/blog/computervision/791.html
Управляем устройствами на 220в
http://robocraft.ru/blog/arduino/223.html
Ethernet
http://robocraft.ru/blog/arduino/203.html
http://robocraft.ru/blog/191.html
Радар
http://robocraft.ru/blog/electronics/772.html
LCD экраны
http://robocraft.ru/blog/821.html
http://robocraft.ru/shop/index.php?route=product/product&path=39&product_id=136
Блютус термометр
http://robocraft.ru/blog/projects/815.html
Разбирают робот пылесос:
http://robocraft.ru/blog/technology/685.html
Microsoft анонсировала новую версию Microsoft Robotics Developer Studio (RDS) 4 Beta — Windows-ориентированная среда разработки приложений для роботизированных платформ (управление роботами и их симуляция).
http://robocraft.ru/blog/news/600.html
http://www.microsoft.com/download/en/details.aspx?id=27546
BeagleBone производительней Arduino и проще Raspberry Pi
http://robocraft.ru/blog/news/623.html
Так, к слову: http://translated.by/you/what-makes-a-great-developer/
2012-03-14
Шпора по Lotus Notes
_____ client
recreate your workspace: "notes.exe -RPARAMS -resetconfig"
clear your cache: "notes.exe -RPARAMS -clean"
notes.ini: "UseBasicNotes=1|0(or remove)"