Базовый формат медиафайлов ISO ( ISOBMFF ) — это формат файла-контейнера , который определяет общую структуру для файлов, содержащих временные мультимедийные данные, такие как видео и аудио. [3] [4] Он стандартизирован в ISO / IEC 14496-12, также известном как MPEG-4 Часть 12, и ранее был также опубликован как ISO/IEC 15444-12, также известный как JPEG 2000 Часть 12.
Он разработан как гибкий, расширяемый формат, который облегчает обмен, управление, редактирование и представление медиа. Представление может быть локальным или через сеть или другой механизм потоковой доставки. Формат файла разработан так, чтобы быть независимым от какого-либо конкретного сетевого протокола, при этом обеспечивая поддержку для них в целом. [4]
Формат стал очень широко использоваться для хранения медиафайлов и в качестве основы для различных других форматов медиафайлов (например, форматов контейнеров MP4 и 3GP ), а его широкое использование было отмечено премией «Эмми» в области технологий и инжиниринга, врученной 4 ноября 2021 года Национальной академией телевизионных искусств и наук . [5] [6] [7]
Базовый формат медиафайлов ISO напрямую основан на контейнерном формате QuickTime компании Apple . [8] [9] [10] [11] [12] Он был разработан MPEG (в ISO/IEC JTC 1/SC 29 , изначально Рабочая группа 11 MPEG, в настоящее время Рабочая группа 3 MPEG Systems). Первая спецификация формата файла MP4 была создана на основе спецификации формата QuickTime, опубликованной в 2001 году. [13] Формат файла MP4, известный как «версия 1», был опубликован в 2001 году как ISO/IEC 14496-1:2001, как пересмотр MPEG-4 Часть 1: Системы. [14] [15] [16] В 2003 году первая версия формата файла MP4 была пересмотрена и заменена на MPEG-4 Часть 14: Формат файла MP4 (ISO/IEC 14496-14:2003), обычно известный как формат файла MPEG-4 «версия 2». [17]
Формат файла MP4 был обобщен в базовый формат медиафайлов ISO (ISO/IEC 14496-12:2004 или ISO/IEC 15444-12:2004), который определяет общую структуру для медиафайлов на основе времени. Он используется в качестве основы для других форматов файлов в этом семействе, таких как MP4, 3GP и Motion JPEG 2000 ). [8]
Исторически текст был также опубликован как ISO/IEC 15444-12 (JPEG 2000 Часть 12), хотя версия стандарта JPEG 2000 была отозвана в январе 2017 года, поскольку она была избыточной по сравнению с публикацией MPEG-4. [18] [19]
Базовый формат медиафайлов ISO разработан как расширяемый формат файла. Список всех зарегистрированных расширений для базового формата медиафайлов ISO опубликован на официальном сайте регистрирующего органа www.mp4ra.org. [34] Регистрирующим органом для кодовых точек (значений идентификаторов) в файлах «MP4 Family» является Apple Inc., и он назван в Приложении D (информативном) в MPEG-4 Часть 12. [9] Разработчики кодеков должны регистрировать коды, которые они изобретают, но регистрация не является обязательной [35] , и некоторые из изобретенных и используемых кодовых точек не регистрируются. [36] Когда кто-то создает новую спецификацию, производную от базового формата медиафайлов ISO, все существующие спецификации должны использоваться как в качестве примеров, так и в качестве источника определений и технологий. Если существующая спецификация уже охватывает, как определенный тип медиа хранится в формате файла (например, аудио или видео MPEG-4 в MP4), следует использовать это определение и не следует придумывать новое. [9]
MPEG стандартизировал ряд спецификаций, расширяющих базовый формат медиафайлов ISO: Формат файла MP4 (ISO/IEC 14496-14) определил некоторые расширения базового формата медиафайлов ISO для поддержки визуальных/аудиокодеков MPEG-4 и различных функций систем MPEG-4, таких как дескрипторы объектов и описания сцен. Стандарт MPEG-4 Часть 3 (MPEG-4 Аудио) также определил хранение некоторых форматов сжатия звука. Хранение MPEG-1/2 Аудио ( MP3 , MP2 , MP1 ) в базовом формате медиафайлов ISO было определено в ISO/IEC 14496-3:2001/Amd 3:2005. [37] Формат файла Advanced Video Coding (AVC) (ISO/IEC 14496-15) определил поддержку сжатия видео H.264/MPEG-4 AVC . [38] Формат файла изображения High Efficiency Image File Format (HEIF) — это формат контейнера изображений, использующий в качестве основы базовый формат медиафайлов ISO. Хотя HEIF может использоваться с любым форматом сжатия изображений, он специально включает поддержку изображений с внутренним кодированием HEVC и последовательностей изображений с кодированием HEVC, используя преимущества межкадрового предсказания.
Некоторые из вышеупомянутых стандартных расширений MPEG используются другими форматами, основанными на базовом формате медиафайлов ISO (например, 3GP). [33] Спецификация формата файла 3GPP (.3gp) также определила расширения для поддержки видео H.263 , аудио AMR-NB , AMR-WB , AMR-WB+ и 3GPP Timed Text в файлах, основанных на базовом формате медиафайлов ISO. [39] Формат файла 3GPP2 (.3g2) определил расширения для использования форматов сжатия голоса EVRC , SMV или 13K ( QCELP ). [33] Спецификация JPEG 2000 (ISO/IEC 15444-3) определила использование сжатия видео Motion JPEG 2000 и несжатого звука ( PCM ) в базовом формате медиафайлов ISO (.mj2). «Формат файла DVB» (.dvb), определенный проектом DVB, позволял хранить службы DVB в базовом формате медиафайлов ISO. Он позволяет хранить аудио, видео и другой контент тремя основными способами: инкапсулированный в транспортный поток MPEG , сохраненный как дорожка подсказок приема; инкапсулированный в поток RTP , сохраненный как дорожка подсказок приема или сохраненный непосредственно как медиатреки. [40] [41] Формат файла MPEG-21 (.m21, .mp21) определял хранение цифрового элемента MPEG-21 в базовом формате медиафайлов ISO с некоторыми или всеми его вспомогательными данными (такими как фильмы, изображения или другие не-XML данные) в том же файле. [42] [43] Спецификация формата содержимого OMA DRM (.dcf) от Open Mobile Alliance определяла формат содержимого для зашифрованных медиаобъектов, защищенных DRM , и связанных метаданных. [44] [45] Существуют также другие расширения, такие как спецификация ISMA ISMACryp для зашифрованного/защищенного аудио и видео, [46] [47] спецификация сжатия звука G.719 , [48] сжатие звука AC3 и E-AC-3 , [49] сжатие звука DTS , [50] сжатие видео Dirac , [51] [52] спецификация сжатия видео VC-1 и другие, которые указаны на веб-сайте органа регистрации MP4. [34]
Существуют некоторые расширения базового формата медиафайлов ISO, которые не были зарегистрированы органом регистрации MP4. Adobe Systems представила формат файла F4V для Flash Video в 2007 году и заявила, что он основан на базовом формате медиафайлов ISO. Формат файла F4V не был зарегистрирован органом регистрации MP4, но техническая спецификация F4V общедоступна. Этот формат может содержать сжатие видео H.264 и сжатие аудио MP3 или AAC. Кроме того, формат файла F4V может содержать данные, соответствующие формату сообщений ActionScript , и неподвижные кадры видеоданных с использованием форматов изображений GIF , JPEG и PNG. [36] [53] [54] Корпорация Microsoft анонсировала в 2009 году формат файла, основанный на базовом формате медиафайлов ISO, под названием ISMV (Smooth Streaming format), также известный как защищенный совместимый формат файла (PIFF). Как было объявлено, этот формат может, например, содержать форматы сжатия VC-1, WMA , H.264 и AAC. [55] Microsoft опубликовала спецификацию Protected Interoperable File Format (PIFF) в 2010 году. Она определила другое использование нескольких систем шифрования и DRM в одном контейнере файлов. [56] [57] Бренд PIFF был зарегистрирован органом регистрации MP4 в 2010 году. Некоторые расширения, используемые этим форматом (например, для поддержки WMA), не были зарегистрированы. Использование формата сжатия WMA в базовом формате медиафайлов ISO не было публично задокументировано. [58]
Базовый формат медиафайлов ISO включает в себя хронометраж, структуру и информацию о медиа для хронометрированных последовательностей медиаданных, таких как аудиовизуальные презентации. Структура файла является объектно-ориентированной. Файл можно очень просто разложить на базовые объекты, а структура объектов вытекает из их типа.
Файлы, соответствующие базовому формату файлов мультимедиа ISO, формируются как ряд объектов, называемых «ящиками». Все данные содержатся в ящиках, и в файле нет других данных. Это включает любую начальную подпись, требуемую определенным форматом файла. «Ящик» — это объектно-ориентированный строительный блок, определяемый уникальным идентификатором типа и длиной. В некоторых спецификациях он назывался «атомом» (например, первое определение формата файла MP4). [3]
Презентация (последовательность движения) может содержаться в нескольких файлах. Вся информация о времени и кадрировании (положение и размер) должна быть в базовом медиафайле ISO, а вспомогательные файлы могут по сути использовать любой формат. [3]
Для того чтобы определить спецификации, которым соответствует файл на основе базового формата медиафайлов ISO, в качестве идентификаторов в формате файла используются «бренды». Они устанавливаются в поле с именем «поле типа файла» («ftyp»), которое должно быть размещено в начале файла. Это в некоторой степени аналогично так называемому коду fourcc , используемому для аналогичной цели для медиафайлов, встроенных в формат контейнера AVI . [59] Бренд может указывать на тип используемой кодировки, способ хранения данных каждой кодировки, ограничения и расширения, применяемые к файлу, совместимость или предполагаемое использование файла. Бренды представляют собой печатаемые четырехсимвольные коды. Поле типа файла содержит два вида брендов. Один из них — «major_brand», который определяет спецификацию наилучшего использования файла. За ним следует «minor_version», информативное 4-байтовое целое число для второстепенной версии основного бренда. Второй вид бренда — «compatible_brands», который определяет несколько спецификаций, которым соответствует файл. Все файлы должны содержать поле типа файла, но по причинам совместимости с более ранней версией спецификации файлы могут соответствовать базовому формату медиафайлов ISO/IEC и не содержать поля типа файла. В этом случае их следует читать так, как если бы они содержали ftyp с основным и совместимым брендом "mp41" (MP4 v1 – ISO 14496-1, Глава 13). [3] Некоторые используемые бренды (ftyps) не зарегистрированы и могут быть найдены на некоторых веб-страницах. [36]
Мультимедийный файл, структурированный на основе базового формата медиафайла ISO/IEC, может быть совместим с более чем одной конкретной спецификацией, и поэтому не всегда можно говорить об одном «типе» или «бренде» для файла. В связи с этим полезность типа Multipurpose Internet Mail Extension и расширения имени файла несколько снижается. Несмотря на это, при написании производной спецификации будет использоваться новое расширение файла, новый тип MIME и новый тип файла Macintosh. [3]
Базовый формат медиафайлов ISO/IEC поддерживает потоковую передачу медиаданных по сети, а также локальное воспроизведение. Файл, поддерживающий потоковую передачу, включает информацию о единицах данных для потоковой передачи (как обслуживать элементарные потоковые данные в файле по потоковым протоколам). Эта информация размещается в дополнительных дорожках файла, называемых дорожками «подсказок». Отдельные дорожки «подсказок» для разных протоколов могут быть включены в один и тот же файл. Медиа будет воспроизводиться по всем таким протоколам без создания дополнительных копий или версий медиаданных. Существующие медиа можно легко сделать потоковыми для других определенных протоколов, добавив соответствующие дорожки подсказок. Сами медиаданные не нужно переформатировать каким-либо образом. Потоки, отправляемые серверами под управлением дорожек подсказок, не должны содержать никаких следов специфичной для файла информации. Когда презентация воспроизводится локально (не потоково), дорожки подсказок можно игнорировать. Дорожки подсказок могут быть созданы инструментом разработки или добавлены в существующий файл (презентацию) инструментом подсказок. [3] В медиафайлах, созданных для прогрессивной загрузки, поле moov , содержащее индекс кадров, должно предшествовать полю mdat с данными фильма . [60]
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка ){{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )