Инженерные технологии

Новости:

Все новости

Новости партнёров:

Все новости партнёров

Все статьи

Н.264. Некоторая правда о заблуждениях
Журнал Системы безопасности №2, 2009

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

Итак, о чем собственно речь? О сжатии видео в формате Н.264, уже понятно. Но мы вернемся к спору вокруг его использования в цифровом видеонаблюдении.

Мир и Н.264

А мир тем временем выбрал Н.264. Это не голословное утверждение. Давайте посмотрим, кто использует этот формат сжатия. Все кому не лень. Оставим извращенные проприетарные его ревизии на совести производителей, так как даже хорошую идею можно испортить плохим воплощением. Посмотрим, а кто же из производителей его не использует? В основном дело касается мегапиксельных IP-видеокамер, так как производительности встроенных процессоров в них по большей части все еще недостает для сжатия нескольких мегапикселей в реальном времени. Только-только на рынке стали появляться довольно недорогие процессоры с возможностью сжатия видео в Н.264 при разрешении хотя бы 2 Мпкс (да, широко рекламируемое HDTV это всего лишь 2 Мпкс, умножьте сами 1920 на 1080). Чего уже говорить о большем разрешении? Широким массам, ориентирующимся на нижний и средний ценовой сегмент, это будет доступно еще не скоро. Зато аппаратных кодеков-микросхем для встраивания в IP-камеры с разрешением D1 (720x576) хоть отбавляй: тут тебе и DSP-процессоры и ASIC-чипы, и все, что душе угодно, -сегодня сложно найти камеру стандартного разрешения, не поддерживающую этот формат.

Опять покадровые против межкадровых

Однако находятся апологеты, ратующие за другие варианты сжатия видео. В их арсенале доводы о более качественном сжатии и пригодности форматов в качестве доказательства в суде. Но вдумайтесь, какая суду разница, каким кодеком это сжато? Разве суду важен формат сжатия, а не то, может ли свидетель подтвердить правонарушение, а эксперт неизменность видео? Или может быть кто-то будет утверждать, что видео, сжатое покадровым кодеком, более сложно изменить (подделать) нежели межкадровое? И покадровому кодеку совсем не нужна цифровая подпись?

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

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

"Все кадры, кроме I, являются синтезированными, так как в них берется информация из предыдущих и просто указывается, куда сдвинуть этот участок изображения на новое место. То есть, как если бы я в фотошопе выделил участок кадра и передвинул на новое место. То есть фактически кадр не является достоверным". 

На самом деле с точностью до наоборот. Именно блоки в IР-кадрах, сжимаются как изменившиеся, а те которые не изменились (то есть там не было движения), останутся неизменными. В целом IР-кадр состоит только из изменившейся информации (блоков), значит в них информация не повторена, а обновлена, ну а l-кадр сжимается целиком вне зависимости от изменений

Еще туда же: "Кодек использует психофизическое сжатие, то есть часть изображения, которая двигается, огрубляется - убираются все мелкие детали. Это потому, что человек не различает деталей на быстро движущихся предметах. Так есть ли смысл в кодеке для кино тратить место и трафик под детали?" 

Любой кодек, включая покадровые, основан на психофизическом сжатии, но вы неверно употребляете термин. Если вы заглянете в теорию сжатия, то узнаете, что оно проводится за счет "убиения" лишней по мнению кодека информации. В большинстве кодеков это высокие частоты, то есть мелкие детали. И неважно, что он покадровый -он работает так же. 

Межкадровые кодеки вносят новые возможности в процесс сжатия: не устранять высокие частоты, а фактически вести запись только изменившихся областей.

Можно рассмотреть два идеальных, с точки зрения параноиков от видеонаблюдения, варианта - покадровую запись без сжатия и запись только межкадровой разницы, тоже без любого сжатия. Межкадровый кодек однозначно выиграет по меньшему объему записи. Конечно, в данном случае остается ошибка детектора движения (межкадровая разница записывается на основании информации о движении). Но даже если представить себе параноидальный детектор движения, срабатывающий на любой всплеск активности, межкадровый кодек будет более эффективен Все остальные варианты - суть производная от этих.

Н.264 - низкое качество видео из Интернета?

Еще одно распространенное мнение, основанное на материалах, часто представленных неверно или не к месту. Здесь так же, как и в предыдущем случае, очень большую роль играет отсутствие практики и нежелание учиться. Ведь получить плохое качество записи из-за кривых настроек одинаково вероятно как в покадровых, так и в MPEG-подобных кодеках. Просто в угоду рекордным показателям многие поставщики систем ужимают качество, что приводит к такому вот результату. Еще большинство потребителей-неспециалистов сталкивается с Н.2б4-видео в Интернете, где оно сильно сжато и предназначено в основном для общего представления о комичности сцен или ситуации в целом.

Вот опять же с форума: "Если, например, едет вдалеке машина и у нее отваливается на ходу колесо, кодек в синтезированные кадры может врисовать машинку из давно прошедшего опорного кадра целиком, прямо вместе с колесом, которого уже нет". Такое возможно только в случае сильного занижения битрейта. Интернет наполнен пережатым развлекательным видео, в том числе и авариями, и другими ситуациями, связанными с видеонаблюдением Только очень странно считать качество этого видео, полученное, тем не менее, сжатием в формате Н.264, равным качеству архива и делать какие-то выводы о качестве формата сжатия вообще. Разве вы не видите разницы в задаче -выложить видео в Интернет или записать качественный архив?

Н.264 более требователен к ресурсам?

Многие суждения на тему Н.264 пропиарены отдельными производителями сетевых видеокамер. Вот, например, статья "The Hidden Cost of Н.264", существующая даже в видеоварианте, рассказывает о том, что стоимость решения на Н.264 оказывается существенно выше, чем на MPEG или даже на покадровые кодеки. Действительно, требовательность к ресурсам для декодирования видео, особенно многоканального и высокого разрешения, будет несколько выше, чем у MPEG-4, ведь все кодеки в целом симметричны с точки зрения ресурсов для кодирования и декодирования (в смысле, если кодеку нужно больше ресурсов для кодирования, а это нормальное явление, так какчем более эффективен кодек, тем больше ресурсов, в том числе для декодирования, для него необходимо). Вопрос только в двух моментах. 

Во-первых, насколько Н.264 более требователен к CPU компьютера для мониторинга. Наша практика показывает, что нагрузка на процессор при декодировании Н.264 зависит от битрейта, однако даже при максимальном битрейте загрузка будет сравнима с декодированием покадрового потока JPEG (MJPEG). Авторы статьи "The Hidden Cost of Н.264" акцентируют внимание именно на более высокой стоимости клиентских станций и хранилищ (так как потребуется больше процессоров, причем более производительных), отодвигая на второй план серьезное снижение требований к пропускной способности сетей. Но даже если говорить о 30%-ном выигрыше по сравнению с несильно отстающим MPEG-4, не говоря уже об MPEG-2 и, тем более, покадровых кодеках, разве 30% это мало? Разве для небольших "безопасных городов", где аренда у провайдеров каналов передачи данных стоит 70 условных рублей против 100 (те самые 30%) - это малая экономия? Или разве неважно, что мы сможем передать на 30% камер больше по существующей сети?

Во-вторых, многие "нормальные" (я имею в виду более-менее профессиональные) сетевые видеокамеры на данный момент умеют вещать видео в двух независимых потоках, с различным разрешением, частотой кадров и битрейтом. И "нормальное" программное обеспечение для таких камер тоже умеет работать с двумя потоками. Для мультиэкранного отображения мы можем выбрать поток низкого разрешения, для полноэкранного- максимально доступное, переключение происходит автоматически; запись в архив, разумеется, ведется при высоком разрешении. Возможно, вы скажете, что я противоречу сам себе, второй поток по каждому каналу в сети и экономия минимум в 30% несовместимы. Однако, смею вас заверить, что при правильных настройках, второй поток никак не займет и 5% от общей необходимой пропускной способности.

Только вперед

Я не пытаюсь выступать здесь как защитник Н.264, я просто за то, чтобы не поощрять дилетантство, за то, чтобы пиар не главенствовал над разумом. Все должно соответствовать задаче. Если вам очень важно, чтобы ваше видео было максимально качественным, если вы хотите быть уверенным, что оно ничего не потеряло - ZIP ваш помощник. Только сжатие без потерь, которое не даст ни один из кодеков, используемых в видеонаблюдении, будет соответствовать вашим требованиям. Ни один другой кодек, покадровый или межкадровый, не может быть заявлен как не снижающий качество. Но будет ли такая система цифровой видеорегистрации востребована потребителем? Большинство заявок касается прежде всего времени хранения архива, и тут, возвращаясь к примеру со сжатием без потерь, очевидно, что межкадровый кодек выиграет. Кроме того, я за то, чтобы поощрять прогресс, чтобы технологии не разбивались о стены непонимания, несмотря на консерватизм отрасли в целом и ее отставание от других отраслей, связанных с видео'. Только вперед, только к более высокой эффективности и новым технологиям на защиту нашей жизни и собственности. Общение с потребителями и специалистами дает свой результат. Я начинаю замечать правильную тенденцию - разговор смещается уже в сторону правильности реализации и использования кодека типа Н.264, а не его преимуществ по сравнению с покадровыми. Почему "типа Н.264"? Потому что то, что сейчас на рынке продается с лейблами 264, зачастую отстоит далеко от него или представляет самые простые реализации Нужно много работать в направлении обучения -как выбрать "правильный 264" и как его правильно использовать. И эта задача будет, думаю, посложнее, чем наш спор о сравнении межкадрового сжатия с покадровыми.

PS. В данной небольшой статье мы только затронули одну из самых важных тем цифровой видеорегистрации - сжатие видео. Впереди еще много заблуждений, непонимания и просто консерватизма. У нас еще будет о чем поговорить! "Все кадры, кроме I, являются синтезированными, так как в них берется информация из предыдущих и просто указывается, куда сдвинуть этот участок изображения на новое место. То есть, как если бы я в фотошопе выделил участок кадра и передвинул на новое место. То есть фактически кадр не является достоверным". 

На самом деле с точностью до наоборот. Именно блоки в IР-кадрах, сжимаются как изменившиеся, а те которые не изменились (то есть там не было движения), останутся неизменными. В целом IР-кадр состоит только из изменившейся информации (блоков), значит в них информация не повторена, а обновлена, ну а l-кадр сжимается целиком вне зависимости от изменений

Еще туда же: "Кодек использует психофизическое сжатие, то есть часть изображения, которая двигается, огрубляется - убираются все мелкие детали. Это потому, что человек не различает деталей на быстро движущихся предметах. Так есть ли смысл в кодеке для кино тратить место и трафик под детали?" 

Любой кодек, включая покадровые, основан на психофизическом сжатии, но вы неверно употребляете термин. Если вы заглянете в теорию сжатия, то узнаете, что оно проводится за счет "убиения" лишней по мнению кодека информации. В большинстве кодеков это высокие частоты, то есть мелкие детали. И неважно, что он покадровый -он работает так же. 

Межкадровые кодеки вносят новые возможности в процесс сжатия: не устранять высокие частоты, а фактически вести запись только изменившихся областей.

Можно рассмотреть два идеальных, с точки зрения параноиков от видеонаблюдения, варианта - покадровую запись без сжатия и запись только межкадровой разницы, тоже без любого сжатия. Межкадровый кодек однозначно выиграет по меньшему объему записи. Конечно, в данном случае остается ошибка детектора движения (межкадровая разница записывается на основании информации о движении). Но даже если представить себе параноидальный детектор движения, срабатывающий на любой всплеск активности, межкадровый кодек будет более эффективен Все остальные варианты - суть производная от этих.

Н.264 - низкое качество видео из Интернета?

Еще одно распространенное мнение, основанное на материалах, часто представленных неверно или не к месту. Здесь так же, как и в предыдущем случае, очень большую роль играет отсутствие практики и нежелание учиться. Ведь получить плохое качество записи из-за кривых настроек одинаково вероятно как в покадровых, так и в MPEG-подобных кодеках. Просто в угоду рекордным показателям многие поставщики систем ужимают качество, что приводит к такому вот результату. Еще большинство потребителей-неспециалистов сталкивается с Н.2б4-видео в Интернете, где оно сильно сжато и предназначено в основном для общего представления о комичности сцен или ситуации в целом.

Вот опять же с форума: "Если, например, едет вдалеке машина и у нее отваливается на ходу колесо, кодек в синтезированные кадры может врисовать машинку из давно прошедшего опорного кадра целиком, прямо вместе с колесом, которого уже нет". Такое возможно только в случае сильного занижения битрейта. Интернет наполнен пережатым развлекательным видео, в том числе и авариями, и другими ситуациями, связанными с видеонаблюдением Только очень странно считать качество этого видео, полученное, тем не менее, сжатием в формате Н.264, равным качеству архива и делать какие-то выводы о качестве формата сжатия вообще. Разве вы не видите разницы в задаче -выложить видео в Интернет или записать качественный архив?

Н.264 более требователен к ресурсам?

Многие суждения на тему Н.264 пропиарены отдельными производителями сетевых видеокамер. Вот, например, статья "The Hidden Cost of Н.264", существующая даже в видеоварианте, рассказывает о том, что стоимость решения на Н.264 оказывается существенно выше, чем на MPEG или даже на покадровые кодеки. Действительно, требовательность к ресурсам для декодирования видео, особенно многоканального и высокого разрешения, будет несколько выше, чем у MPEG-4, ведь все кодеки в целом симметричны с точки зрения ресурсов для кодирования и декодирования (в смысле, если кодеку нужно больше ресурсов для кодирования, а это нормальное явление, так какчем более эффективен кодек, тем больше ресурсов, в том числе для декодирования, для него необходимо). Вопрос только в двух моментах. 

Во-первых, насколько Н.264 более требователен к CPU компьютера для мониторинга. Наша практика показывает, что нагрузка на процессор при декодировании Н.264 зависит от битрейта, однако даже при максимальном битрейте загрузка будет сравнима с декодированием покадрового потока JPEG (MJPEG). Авторы статьи "The Hidden Cost of Н.264" акцентируют внимание именно на более высокой стоимости клиентских станций и хранилищ (так как потребуется больше процессоров, причем более производительных), отодвигая на второй план серьезное снижение требований к пропускной способности сетей. Но даже если говорить о 30%-ном выигрыше по сравнению с несильно отстающим MPEG-4, не говоря уже об MPEG-2 и, тем более, покадровых кодеках, разве 30% это мало? Разве для небольших "безопасных городов", где аренда у провайдеров каналов передачи данных стоит 70 условных рублей против 100 (те самые 30%) - это малая экономия? Или разве неважно, что мы сможем передать на 30% камер больше по существующей сети?

Во-вторых, многие "нормальные" (я имею в виду более-менее профессиональные) сетевые видеокамеры на данный момент умеют вещать видео в двух независимых потоках, с различным разрешением, частотой кадров и битрейтом. И "нормальное" программное обеспечение для таких камер тоже умеет работать с двумя потоками. Для мультиэкранного отображения мы можем выбрать поток низкого разрешения, для полноэкранного- максимально доступное, переключение происходит автоматически; запись в архив, разумеется, ведется при высоком разрешении. Возможно, вы скажете, что я противоречу сам себе, второй поток по каждому каналу в сети и экономия минимум в 30% несовместимы. Однако, смею вас заверить, что при правильных настройках, второй поток никак не займет и 5% от общей необходимой пропускной способности.

Только вперед

Я не пытаюсь выступать здесь как защитник Н.264, я просто за то, чтобы не поощрять дилетантство, за то, чтобы пиар не главенствовал над разумом. Все должно соответствовать задаче. Если вам очень важно, чтобы ваше видео было максимально качественным, если вы хотите быть уверенным, что оно ничего не потеряло - ZIP ваш помощник. Только сжатие без потерь, которое не даст ни один из кодеков, используемых в видеонаблюдении, будет соответствовать вашим требованиям. Ни один другой кодек, покадровый или межкадровый, не может быть заявлен как не снижающий качество. Но будет ли такая система цифровой видеорегистрации востребована потребителем? Большинство заявок касается прежде всего времени хранения архива, и тут, возвращаясь к примеру со сжатием без потерь, очевидно, что межкадровый кодек выиграет. Кроме того, я за то, чтобы поощрять прогресс, чтобы технологии не разбивались о стены непонимания, несмотря на консерватизм отрасли в целом и ее отставание от других отраслей, связанных с видео'. Только вперед, только к более высокой эффективности и новым технологиям на защиту нашей жизни и собственности. Общение с потребителями и специалистами дает свой результат. Я начинаю замечать правильную тенденцию - разговор смещается уже в сторону правильности реализации и использования кодека типа Н.264, а не его преимуществ по сравнению с покадровыми. Почему "типа Н.264"? Потому что то, что сейчас на рынке продается с лейблами 264, зачастую отстоит далеко от него или представляет самые простые реализации Нужно много работать в направлении обучения -как выбрать "правильный 264" и как его правильно использовать. И эта задача будет, думаю, посложнее, чем наш спор о сравнении межкадрового сжатия с покадровыми.

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