Выбор битрейта для записи мультимедиа

  • 0поделились
  • 0Facebook
  • 0Twitter
  • 0VKontakte
  • 0Odnoklassniki

Реалии современного экономического положения таковы, что далеко не все книголюбы могут позволить себе собрать хорошую библиотеку печатных изданий, поэтому волей-неволей приходится обращаться к более доступным источникам, а именно к интернету. Чтение с экрана – не самый лучший вариант, но зато не нужно тратиться на покупку недешевых бумажных книг. Электронные книги чаще всего распространяются в форматах FB2, EBUP и MOBI, но есть отдельный жанр литературы, для которого используется «свой» формат. Этот жанр – комиксы.

CBR – что это за формат

Содержимое комиксов представлено в основном графикой, в них практически не используются шрифты, почти все комиксы – это наборы изображений. Понятно, распространять их в таком исходном виде неудобно, поэтому для них был создан формат CBR. Вообще-то, если честно, CBR это не столько формат, сколько расширение, указывающее приложению-ридеру, как нужно обрабатывать файл. CBR расшифровывается как Comic Book RAR Archive и представляет собой обычный переименованный архив RAR, и если вы откроете файлы CBR и RAR редактором Notepad++, то увидите, что у них совершенно одинаковые заголовки.

Аналогичным образом «построен» другой популярный формат комиксов CBZ, представляющий собой переименованный архив ZIP.

Содержимое архивов CBR и CBZ – это набор изображений JPEG, PNG или GIF, отсортированных в определенном порядке, который может быть нарушен, если архив распаковать. Если произвести извлечение всё же необходимо, достаточно переименовать расширение файла CBR в RAR, а затем открыть его архиватором WinRAR.

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

Общее описание формата CBR

Расширение CBR — это псевдоформат архива RAR. Сканированные страницы журнала комиксов сохраняются в формате PNG или JPEG. Такой архив содержит дополнительную информацию (метаданные) в XML-файле: сведения о художнике, встроенные комментарии, авторские метки.

Характерно, что изображения в таком архиве хранятся в заданном порядке.

История возникновения

Автором формата стал разработчик программы CDisplay от Microsoft Windows Дэвид Айтон. Программа используется для каталогизации комиксов, удобного последовательного просмотра изображений в формате JPEG, PNG и статического GIF.

Изображения автоматически упорядочиваются в алфавитном порядке и представляются для просмотра по одному или двум одновременно. Чтобы изменить размер изображения и сохранить качество исходника, используется ресэмплинг Lanczos.

Если архив содержит файл в формате txt, он отображает текстовое содержимое комикса при открытии файла.

Лучшие программы для чтения файлов CBR в Windows

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

ComicRack

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

Кроме того, ComicRack может похвастать внушительным арсеналом всевозможных настроек. В параметрах ридера можно настроить яркость, контрастность и цветность изображения, управлять поведением приложения во время чтения, включить или отключить применение визуальных эффектов. Минус – поддержка русского языка реализована частично.

CDisplay Ex

Популярная программа для чтения комиксов на Windows. В отличие от ComicRack не обладает столь широким набором функций, но зато она более удобна. Программой поддерживаются несколько режимов чтения, функция Leap Motion, автопрокрутка (слайд-шоу), показ эскизов страниц, автоматическая цветокоррекция, использование виртуальной лупы, масштабирование с применением разных алгоритмов, экспорт страниц в графические файлы, создание закладок и вывод на печать. Имеется возможность просмотра в полноэкранном режиме.

CDisplay Ex укомплектована удобным интерфейсом на русском языке, пролистывание осуществляется с помощью колесика мыши, клавиш-стрелок и кнопок на панели управления, содержимое которой можно изменить в общих настройках. Недостаток приложения – файлы нельзя открывать в отдельных вкладках.

YACReader

В плане функционала эта программа для чтения комиксов и манги на Windows похожа на CDisplay Ex. Она столь же проста и удобна, но есть у ней и некоторые особенности. Например, просмотр эскизов страниц в YACReader реализован в 3D-формате (функция называется поток страниц). Поддерживается масштабирование и поворот страниц, сохранение их в графический файл, создание закладок, есть лупа, доступны несколько режимов просмотра.

Из дополнительных функций следует отметить наличие встроенного переводчика. В настройках просмотрщика можно указать путь к папке с комиксами, заменить фоновый цвет, выбрать режим для функции поток страниц, отрегулировать параметры изображения, задать «горячие» клавиши. Как и в CDisplay Ex, открывать файлы можно только в отдельных окнах, работа с вкладками не поддерживается.

Что такое CBR, ABR, VBR?

Автор: Александр Радзишевский (Alex Y. Radzishevsky) Copyright (C) 1998-2007, Alex Y. Radzishevsky
Что такое CBR и VBR?
Как известно, результатом кодирования сигнала с помощью такого алгоритма, как, например, MPEG-1 Layer III (MP3) (и множества других алгоритмов), является бит-поток с фреймовой (блочной) структурой. Это объясняется тем, что кодирование исходного потока производится не целиком, а по частям. То есть фактически исходный поток разделяется на блоки определенной фиксированной длины, затем каждый блок (фрейм) в отдельности подвергается кодированию и результат (кодированный блок информации) направляется в результирующий поток (будь то файл или поток данных).

CBR (Constant Bit Rate — постоянный битрейт) — это такой способ кодирования исходного аудио потока, при котором все его блоки (фреймы) кодируются с одинаковыми параметрами (с одинаковым битрейтом). Иными словами, битрейт на всей протяженности (всех фреймов) результирующего потока является постоянным.

VBR (Variable Bit Rate — переменный битрейт) — это такой способ кодирования исходного аудио потока, при котором каждый отдельный блок (фрейм) кодируется со своим битрейтом. Выбор битрейта, оптимально подходящего для кодирования данного фрейма, осуществляется самим кодером путем анализа «сложности сигнала» в каждом отдельном фрейме.

Каковы отличия режимов CBR, VBR и ABR применительно к кодеру Lame?

Прежде чем начать разговор, уточним две детали:

1. Кодирование в MP3 происходит поблочно: кодируемый файл разбивается на фреймы (кадры) с одинаковым интервалом, каждый кадр кодируется и записывается в выходной поток; таким образом, выходной поток также имеет кадровую структуру.

2. Фреймы могут быть закодированы не на любом битрейте, а только на одном из входящих в таблицу стандартных для MPEG1 Layer III битрейтов: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. Кодирование на любых промежуточных битрейтах («freeformat») стандартом не предусмотрено.

Вступление

Люди, использующие VBR в Lame, обычно аргументируют это фразой: «я хочу получать постоянное качество, а не постоянный битрейт». Действительно, ведь в музыке бывают простые пассажи, на которые вполне хватает и 128 Кбит/сек (например паузы между песнями), а бывают и сложные, на которых человек с хорошим слухом, хорошей аудио картой и прочей аудиоаппаратурой услышит дефекты компрессии даже на 320 Кбит/сек. На самом деле такой аргумент не совсем правомочен.

CBR

Даже в режиме CBR, mp3-кодер может перераспределять биты во времени, выделяя большее или меньшее количество бит во время сложного или простого пассажей, что позволяет в целом улучшить качество звучания. Такое перераспределение бит делается за счёт так называемого резервуара бит: во время кодирования простых пассажей кодер тратит на них не весь заданный пользователем битрейт, а лишь около 90%, около 10% экономится в резервуаре для кодирования сложных мест (изначально резервуар пуст). При кодировании сложных пассажей кодер будет использовать все 100% указанного битрейта и добавлять дополнительные биты из резервуара (если таковые имеются, то есть если резервуар не пуст). К сожалению, в соответствии со стандартом, размер резервуара ограничен. Это означает, что если простой сигнал продолжается достаточно долго, резервуар накапливает свой объем до определенных максимально допустимых пределов и далее кодирование идёт уже с использованием всех 100% битрейта. И обратная ситуация: если сложный сигнал продолжается достаточно долго, из резервуара (постепенно) забираются все сэкономленные биты и далее кодирование идёт с использованием уже теперь всех 100% битрейта.

ABR: Пояснение

Можно было бы сказать что резервуар неплохо справляется со своей основной обязанностью — накопление «лишних» битов во время простых пассажей и их выдача в качестве дополнительных при кодировании сложных пассажей, если бы не одно «но»: он обладает конечным и причём весьма ограниченным размером, что означает, что копить его можно лишь до определенных пределов, и вынимать, соответственно, тоже, пока резервуар не опустошится. Именно для того чтобы убрать этот главный недостаток резервуара и был разработан ABR.

Главное отличие ABR от CBR в том, что в CBR все фреймы обязаны быть одного размера (то есть битрейт для всех фреймов должен быть одинаков), в ABR же это ограничение снято, соответственно, существует возможность вместо стандартного весьма ограниченного по размеру резервуара использовать практически бесконечный «виртуальный» резервуар. Выглядит это приблизительно следующим образом.

ABR: Механизм

Допустим, что пользователь указал режим ABR и определенный битрейт B (пользователь может указывать абсолютно любой битрейт от 32 до 320, даже не из стандартной сетки битрейтов, например можно указать в качестве желаемого среднего битрейта 129). Кодер принимает кусок аудио (фрейм), который необходимо закодировать. Таким же образом, как и в CBR, определяет его сложность (об этом мы поговорим ниже). Если пассаж сложный, то кодер также берёт на него больше битов, но уже не из резервуара (как в CBR), а просто на просто увеличивая битрейт на необходимое количество ступеней (выбранный битрейт должен входить в сетку стандартных), создавая таким образом «виртуальный резервуар» (поднять битрейт здесь можно — это не CBR). Что значит «виртуальный резервуар»? Это просто: мы предположили, что указанного пользователем битрейта B кодеру мало, ему нужно K бит (K > B), тогда кодер подбирает такой минимальный стандартный битрейт N, при котором выполняется: N >= K (такой выбор битрейта мы и называем «виртуальный резервуар»). Затем происходит кодирование с помощью K бит взятого куска аудио. Однако N >= K, то есть мы использовали меньше бит, чем есть во взятом фрейме, так не будем же мы выбрасывать эти лишние биты? Вот эти лишние биты мы и записываем в уже настоящий резервуар. Так как в ABR есть возможность использовать «виртуальный резервуар» не имеет смысла строить стандартный резервуар, поэтому когда придет следующий кусок аудио, для его кодирования сначала будут использованы биты из резервуара, а потом кодер решит какой битрейт необходим дальше. Другими словами, если в CBR кодер все время старается накопить как можно больше бит в резервуаре, то в ABR кодер наоборот, старается избавиться от бит в резервуаре, так как копить их незачем — можно просто поднять битрейт.

Простые пассажи кодируются меньшим количеством бит, на них берётся примерно 95% от указанного битрейта B, но теперь остаток не откладывается в резервуар, кодер просто берёт фрейм с меньшим битрейтом. Возникающая разница (оставшиеся биты) записывается в стандартный резервуар (не выбрасывать же оставшиеся биты…). Пример. Допустим пришел «простой» пассаж. Тогда кодер берет все биты (если таковые есть) в резервуаре (настоящем), потом ищет ближайший стандартный битрейт, при котором суммарное количество бит, получившееся для этого фрейма (все биты из резервуара + взятый битрейт), составит 95% от заданного пользователем битрейта B, производит кодирование, а лишние биты (если они остались) снова сохраняет в резервуаре.

ABR: Итог

Таким образом, использование резервуара в ABR отлично от CBR. В CBR битрейт менять нельзя и резервуар специально копят путем сохранения там бит, которые остались (были сэкономлены) от кодирования фрейма на заданном изначально фиксированном битрейте во время простого пассажа; если для кодирования нужны биты и резервуар пуст — то пуст, ничего с этим поделать нельзя и кодирование идет просто на указанном битрейте в ущерб качеству. В ABR битрейт переменный и стандартный резервуар фактически не нужен, однако поскольку поднятие (опускание) битрейта происходит обязательно до определенного табличного значения, которое может оказаться выше необходимого кодеру количества бит, то лишние биты, конечно, не выбрасывают, а сохраняют в резервуаре. Иными словами, в CBR накопление стандартного резервуара — основная задача, в ABR же есть неограниченный «виртуальный резервуар» и стандартный используется только для хранения лишних бит, образовавшихся в результате разницы между табличными значениями битрейтов и реально необходимым битрейтом.

VBR

VBR — переменный битрейт. Пользователь указывает желаемое качество. Lame опираясь на свою психоакустическую модель выделяет для каждого фрейма ровно то количество бит, которое необходимо для достижения заданного качества. В выходном потоке фреймы соответственно имеют разные битрейты (которые всегда ложатся в таблицу стандартных битрейтов). Использование резервуара в VBR абсолютно идентично ABR — туда попадают только неиспользованные хвостики фреймов.

Методы оценки сложности сигнала

Таким образом, основное отличие CBR, ABR и VBR, как вы уже наверное поняли из сказанного выше, состоит в использовании разных методов подсчёта необходимого для кодирования каждого фрейма количества бит.

Методы оценки сложности сигнала: метод 1 (VBR)

Первый метод основан на вычислении «психоакустической маскировки» и «ошибки кодирования». Этот метод используется в VBR и теоретически должен был бы давать максимальное качество если бы психоакустическая модель Lame’а была идеальна. В основе этого метода лежит очень простая идея: на кодирование выделяется минимальное количество бит, необходимое для выполнения условия: [ошибка_кодирования] < [порога_маскировки] (то бишь дефекты кодирования должны маскироваться основным сигналом и не должны быть различимы на слух).

Пояснение по поводу маскировки. Основная масса «аудио компрессоров с потерями» использует для сжатия аудио сигнала особенности человеческого слуха (в противовес существуют аудиокомпрессоры использующие особенности звукоизвлечения), а именно его не идеальность. Можно указать несколько основных «дефектов» слуха используемых в сжатии звука: 1) ограниченный динамический диапазон. Человек не слышит слабых сигналов или иначе говоря существует некий порог слышимости. 2) громкие сигналы (особенно шумовые, а не тональные) обладают маскирующим действием, при чем как во временной, так и в частотной области (если кто-то «жахнул» из пушки вы можете и совсем слух потерять 8-) ), т.е. любой мощный, особенно шумовой сигнал определённой частоты маскирует достаточно слабый сигнал, особенно если он лежит в близком частотном диапазоне и такой замаскированный сигнал можно не кодировать, ведь человек его не слышит. Порог маскировки может быть увеличен на несколько децибел уменьшением качества кодирования (объяснение этому: чем хуже качество кодирования, тем больше артефактов и помех в звучании, и тем более мощный сигнал необходим, чтобы замаскировать эти помехи).

Плюс такого метода: теоретически максимальное качество. Минусы: невысокая скорость а также то, что из-за не идеальности психоакустической модели в Lame, постоянно занижается битрейт, соответственно не рекомендуется использовать без фиксированной нижней границы около 112- 128 кБ/с, а следовательно режим VBR вообще не рекомендуется использовать на низких средних битрейтах. Резервуар в VBR минимизирован, а следовательно не рекомендуется использовать ограничение битрейта сверху (объяснение: так как практически резервуара в VBR нет, если ограничить битрейт сверху, то некоторым фреймам со «сложной» музыкой может оказаться недостаточно бит для кодирования звука, поскольку дополнительные биты взять неоткуда — резервуара нет и битрейт ограничен; такие фреймы будут кодироваться только тем количеством бит, которое имеется в наличии — то есть на максимально допустимом битрейте, что может привести к плохому качеству кодирования).

Методы оценки сложности сигнала: метод 2 (ABR / CBR)

Второй метод основан на вычислении Perceptual Entropy (PE), характеризующей сложность кодируемого сигнала (чем сложнее сигнал, тем PE больше). Этот метод используется при кодировании CBR и ABR. Механизм расчета сложности сигнала с помощью PE полностью отличается от механизма, использованного в VBR. Не вдаваясь глубоко в подробности следует сказать, что если в первом методе расчет сложности сигнала проводился опираясь на свойства маскировки, то в данном методе сложность сигнала оценивается путем попытки его предсказания: чем более сложный сигнал (огибающая ведет себя хаотично), тем труднее он предсказуем и, соответственно, тем больше бит требуется для кодирования сигнала. Во время кодирования кодер пытается предсказать сигнал, затем сравнивает предсказанный сигнал с оригиналом, чем менее предсказанный сигнал совпадает с оригиналом, тем больше бит уходит на кодирование. Очень важно отметить, что используемые методы вычисления сложности сигнала принципиально влияют на отличия использующих их механизмов. Так, принципиальная разница между ABR/CBR (использующих описываемый метод) и VBR (который использует метод 1, описанный выше) заключаются еще и в том, что выбор битрейта в ABR/CBR лежит не на кодере, а на пользователе, при этом Lame лишь добавляет/отнимает небольшое количество бит во время кодирования сложных/простых мест соответственно (для чего и рассчитывается PE). Другими словами, в зависимости от рассчитанного PE, к выбранному пользователем битрейту добавляется (или отнимается от него) нужное число бит, что реализуется с помощью механизма работы с резервуаром (виртуальным или настоящим). Таким образом, при использовании второго метода именно пользователь выбирает битрейт (когда в VBR кодер сам решает величину битрейта), PE же лишь корректирует его с помощью резервуара в зависимости от сложности музыки. Происходит это примерно следующим образом.

CBR

. для каждого фрейма выделяется «основное», постоянное количество бит, 90% от указанного битрейта и «дополнительное», переменное. Простые пассажи кодируются с помощью этих 90-а процентов, а оставшиеся 10% процентов накапливаются в резервуаре битов (как было описано вначале), вплоть до его заполнения, после чего на кодирование простых пассажей уходит весь битрейт (так как экономить биты некуда). Сложные пассажи кодируются используя полный битрейт плюс из резервуара изымаются дополнительные биты, если только в нём ещё есть биты. Плюсы: совместимость, минусы: из-за малого размера резервуара очень часто нахватает дополнительных бит для кодирования сложных мест.

ABR

. При кодировании ABR использование резервуара минимизировано, он просто на-просто не нужен, ведь в ABR мы можем использовать фреймы с разным битрейтом и, соответственно, не накапливать биты в резервуаре (механизм работы ABR пояснен на примере выше). После вычисления PE и необходимого «дополнительного количества» бит, Lame просто выбирает минимальный битрейт в который укладывается полное необходимое количество бит (битрейт выбирается из таблицы). Остаток бит не выбрасывается, а накапливается в резервуаре.

Замечание: неправильно было бы думать, что в CBR и ABR совсем не используется психоакустика — конечно же это не так. Такая вещь как перераспределение битов отведённых на кодирование фрейма между всеми частотными полосами лежит именно на психоакустике.

Заключение

Итак, кратко. CBR/ABR и VBR в Lame отличаются разными методами подсчёта необходимого для кодирования количества бит и, как следствие, разной «философией» использования резервуара. В CBR и ABR основное количество бит выделяемых на кодирование фрейма определяется пользователем при запуске программы: ключами -b или —abr для CBR или ABR соответственно. Количество дополнительных бит необходимых для кодирования сложных мест рассчитывается по одинаковой формуле на основе расчета PE. Разница между CBR и ABR лишь в том, что в режиме CBR битрейт постоянен и возможности кодера по использованию дополнительных битов из резервуара сильно ограничены размером резервуара, в режиме же ABR у кодера есть возможность изменять битрейт, как бы используя «виртуальный резервуар» неограниченных размеров, а настоящий резервуар используется лишь для хранения невостребованных бит.

В VBR используется абсолютно другой метод. Пользователь задаёт качество, а LAME самостоятельно, на основании психоакустической модели (порою не совершенной), рассчитывает количество бит, необходимых для кодирования с заданным качеством каждого отдельного фрейма. Работа с резервуаром в ABR и VBR одинакова.

Таким образом, в режиме VBR кодер сам выбирает битрейт для фреймов, в ABR/CBR кодер выбирает лишь дополнительное количество бит к указанному пользователем битрейту.

Автор: Александр Радзишевский (Alex Y. Radzishevsky) Copyright (C) 1998-2007, Alex Y. Radzishevsky

Чем открыть формат CBR на Андроид

Perfect Viewer

Одна из самых популярных программ для чтения CBR на Андроид. Поддерживает также форматы CBZ, CB7 и LZH, отличается широким набором функций. При первом запуске приложение предлагает выполнить базовую настройку – выбрать режимы чтения и отображения, указать направление чтения и папку с комиксами, настроить общее поведение, определиться с зонами управления жестами. Эти зоны представляют собой отдельные участки экрана, касанием которых можно управлять перелистыванием, вызовом меню и т.д., каждая зона может быть настроена в индивидуальном порядке.

Perfect Viewer поддерживается применение фильтров сглаживания, цветокоррекция, регулировка яркости, контрастности и цветности, автоматическая прокрутка. Настроек очень много, имеется возможность быстрого переключения между ними. Ридер бесплатен, не содержит рекламы, но есть и donate-версия с дополнительными функциями.

ComicScreen – Comic Viewer

Более простое, чем Perfect Viewer, приложение для чтения комиксов на Андроид. Помимо просмотра CBR и CBZ-файлов, программа поддерживает цветокоррекцию, инвертирование цветов, обрезку отдельных страниц, настройку яркости, захват скриншотов и масштабирование. Есть несколько режимов просмотра – полноэкранный, расположение картинки по ширине или высоте. Из достоинств приложения можно отметить хорошо проработанную систему управления жестами, из недостатков – показ рекламных баннеров, избавиться от которых можно лишь перейдя на платную версию.

На этом пока всё. Как и чем открыть файл CBR вы теперь знаете, выбирайте наиболее удобный вам способ. На наш взгляд самым лучшим вариантом будет использования простых приложений-ридеров вроде YACReader для Windows и Comic Viewer для Андроид. Эти программы просты, но при этом обладают всеми необходимыми функциями и настройками, обеспечивающими комфортное чтение комиксов. Конечно, можно обойтись и без сторонних приложений, изменив расширение архива CBR на RAR и распаковав его, но в этом случае никто не сможет вам гарантировать, что порядок следования страниц не будет нарушен.

  • 0поделились
  • 0Facebook
  • 0Twitter
  • 0VKontakte
  • 0Odnoklassniki

Чтение CBR на Andro >

Для чтения комиксов в формате CBR на мобильных устройствах Android и iOS есть не один десяток приложений, отличающиеся функциями, интерфейсом, иногда не бесплатные.

Из тех, которые бесплатны, доступны в официальных магазинах приложений Play Маркет и App Store, и которые можно порекомендовать в первую очередь:

    Andro >Если указанные приложения вам по какой-то причине не подойдут, вы легко сможете найти другие, используя поиск в магазине приложений (по ключевым словам CBR или Comics).

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]