Мультимедиа форматы PlayStation One

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

Мультимедиа форматы

Формат Описание
 Stream (STR)
*.str, *.mov, *.bin, *.fmv
 Формат видеороликов на PSX. Такой же стандартный формат на PSX, как AVI на Windows. Большинство роликов закодировано именно в этом формате.Видеоряд закодирован в MDEC (формат, близкий к MPEG-1 и JPEG). Разрешение видеороликов обычно составляет 320×240 пикселей (или менее).Частота кадров в среднем не превышает 15 кадров/сек. В некоторых играх можно найти ролики с частотой 30 кадров/сек (Toy Story 2). По заявлениям Sony, приставка технически может отображать до 60 кадров/сек. для NTSC видео.

  • Формат поддерживает функцию Leap Sector, которая выполняет синхронизацию видеоряда с некорректной частотой кадров и звуковой дорожки.
  • Аудиодорожка в STR-роликах закодирована в формате XA (в моно или стерео формате с качеством от 18.9 до 37.8 кГц, 16 бит).
  • В одном STR-файле может быть запаковано несколько видеороликов (т.е. несколько STR-файлов в одном STR)
  • Потоковый формат: читается напрямую с диска в реальном времени БЕЗ загрузки в оперативную память. Кстати, «STR» — сокращенно «Stream» (англ. «поток» :-).
  • Файлы STR, при наличии звуковой дорожки, нельзя скопировать на жесткий диск компьютера обычным проводником (выскочит ошибка MS-DOS).

Спецификация:

Видео Аудио
Формат STR Формат XA
Кодек MDEC Кодек ADPCM
Разрешение 320×240 (или менее) Частотный диапазон 18.9 — 37.8 кГц
Кадр./сек. 10 — 30 (по заявлениям Sony — до 60) Битность 16 бит
Битрейт В цифрах — неизвестен. В Movie Converter указан, как «CD-ROM speed»: Normal и Double. Обычно ролики кодируются в Double. Исходя из качества картинки и размера файла, битрейт может быть предположительно: 900 кб/с для Double, и меньше (768?) для Normal Каналы Mono, Stereo
XA*.xa, *.str Формат звуковых файлов на PSX. Такой же стандартный формат на PSX, как WAV на Windows. Формат, близкий к WAV (имеет RIFF заголовок).Обычно в данном формате хранится: музыка, речь (включая диалоги персонажей), фоновые шумы (Ambient) и заранее подготовленный звуковой ряд к Cut-сценам на движке игры (прим. Bugs Bunny — Lost in Time).Звуковые данные кодируются в формат ADPCM (Adaptive Differential Pulse Code Modulation) с использованием стандарта CD-ROM XA (XA — сокращение «eXtended Audio«). Полноценное название данного формата на PSX — «XA-ADPCM audio«. Такие аудиоданные записываются на CD-ROM с чередованием данных в секторе. В основном это «флаги», прописанные в Subheader (заголовок сектора в стандарте CD-ROM XA) позволяющие отличать аудио от видео и остальных данных.

  • Потоковый формат: читается напрямую с диска в реальном времени и загружается в SPU (звуковой процессор), не используя оперативную память.
  • В одном XA-файле может быть запаковано несколько аудиодорожек (т.е. XA-файлов) (прим. Tony Hawk’s Pro Skater 2, Crash Team Racing), между которыми переключается игра.
  • Файлы XA (из-за их записи в стандарте CD-ROM XA) нельзя скопировать на жесткий диск компьютера обычным проводником (выскочит ошибка MS-DOS).

Спецификация:

Аудио Структура секторов в стандарте CD-ROM XA
Формат XA Сектор данных (данные и аудио) (2336 байт) Сектор аудио (данные и аудио) (2336 байт)
Кодек ADPCM Подзаголовок (Subheader)(8 байт) Подзаголовок (Subheader)(8 байт)
Частотный диапазон 18.9 — 37.8 кГц Заголовок сектора(32 байта) XA-ADPCM аудио(2324 байт)
Битность 16 бит Данные(2016 байт) Dummy-данные(4 байта)
Каналы Mono, Stereo Dummy-данные(280 байт)
Кол-во дорожек в одном файле  до 32
Тип данных Subheader (CD-ROM XA)

 

  • Подзаголовок (Subheader): размер задается в соответствии со стандартом CD-ROM XA. Содержит Флаги для разграничения секторов данных и аудио секторов.
  • Dummy-данные: добавляются в конец сектора, чтобы размер аудио-сектора для XA-ADPCM был идентичен размеру сектора для других данных
TIM *.tim Формат статичных двухмерных изображений на PSX. Такой же стандартный формат на PSX, как BMP на Windows.Обычно в данном формате обычно хранятся: текстуры 3D-моделей, шрифты, тайлы, составляющие спецэффектов (звездочки и т.д.), заранее отрендерированные кадры двухмерных анимаций или фоны уровней, сплэшы (экранные заставки — прим. Need For Speed — Porsche Unleashed), элементы меню и даже иконки сейвов для карты памяти.Сплэши обычно имеют разрешение 512×240 (с последующим анаморфингом под соотношение сторон экрана 4:3) и глубиной цвета 8-16 бит. (прим. Crash Team Racing)

  • Поддерживает альфа-канал (прозрачный цвет).
  • Цветовая палитра прописана внутри файла.
  • Может быть загружен в VRAM (видеопамять) приставки.
  • Аббревиатура «TIM» скорее всего означает «Tile IMage».

Спецификация:

Формат TIM
Максимальное разрешение 1024×512
Глубина цвета 4 — 24 бит
Альфа-канал Поддерживается
CD-DA *.cda, *.wav Compact Disk Digital Audio — международный стандарт хранения звуковых данных на компакт дисках, разработанный Sony и Philips.Именно в этом формате записывались все аудио-диски в 90-е (пока не появились другие форматы, вроде MP3 и WMA).Некоторые игры для PSX также используют этот формат для хранения музыки (прим. Ridge Racer, Rage Racer, Sled Storm, Re-Volt, Need For Speed — Porsche Unleashed, Mile Miglia, Lucky Luke, Colin McRae Rally, V-Rally 2, Lifeforce Tenka и т.д.).Музыка в формате CD-DA на таких игровых дисках записывается отдельными треками: первый трек — это сами игровые данные, а последующие треки — музыка.По сути, такой диск является наполовину игровым, наполовину аудиодиском, что дает возможность слушать игровую музыку не только непосредственно в игре, но и на CD-плеере, музыкальном центре, DVD-плеере и других устройствах, поддерживающих воспроизведение AudioCD. Если ничего такого нет, можно включить приставку без диска, перевести ее в режим воспроизведения аудиодиска и вставить игровой диск. Если загорится более чем 1 трек, значит на диске, скорее всего, есть CD-DA-музыка.

  • Формат CD-DA представляет собой обыкновенный WAV-файл. Иногда WAV‘ы можно найти прямо в корне диска обычным проводником (прим. Tyco R/C — Assault with Battery).
  • В формате CD-DA обычно хранится игровая музыка, однако бывают и исключения. Например, в игре Tomb Raider в этом формате хранятся звуковые дорожки с диалогами персонажей к CUT-сценам на движке игры и STR (!) видеороликам.

Пожалуй, CD-DA — самый качественный формат на PlayStation, по сей день опережающий даже современные форматы, вроде MP3. Именно тип носителя (диск) и его объем позволили поместить в игру музыку, в максимальном несжатом качестве AudioCD.

Спецификация:

Частотный диапазон 44,100 кГц
Битрейт 1411,2 кб/с
Битность 16 бит
Каналы Стерео
VAG *.vag Еще один стандартный звуковой «single waveform» формат на PSX, также использующий ADPCM-кодирование, как и XA. В отличие от XA, может быть загружен в оперативную память приставки.Обычно в данном формате хранятся звуковые эффекты, речь в игровом процессе (прим. Ridge Racer, Metal Gear Solid), диалоги персонажей и музыка (прим. Harry Potter and the Sorcerer’s Stone), а в случае наличия в игре трекерной музыки — звуки и сэмплы.
VAB *.vab Представляет собой архив с набором VAG-файлов. Как вы, возможно догадались, ~B на конце означает «Bank». Как правило в данном формате хранятся звуки (регистры) и сэмплы для трекерной музыки (прим. Gran Turismo, Rage Racer, Crash Bandicoot, Disney’s Hercules, Oddworld Abe’s Odysee и т.д.). Но не ограничиваясь только этим. Звуковые эффекты к трассам и речь также может содержаться в «банке». Помимо VAG-файлов, VAB‘ы могут содержать и SEQ-файлы
VH и VB *.vh *.vb То же самое, что VAB, с той лишь разницей, что заголовок «банка» (*.VH) (включающий идентификаторы (имена?) и адреса смещения к файлам) и само содержимое банка (*.VB) (структура данных) находятся в разных файлах.Скорее всего, это применимо для больших «банков», которые не помещаются в оперативную память приставки. А вот загнать туда заголовок в несколько килобайт, к которому проще будет обратиться для загрузки одного из нескольких тысяч VAG-ов — это в самый раз :-)
SEQ *.seq MIDI-файл. Причем не какой-то плейстейшновский аналог, а тот самый MIDI файл, имеющий лишь другой заголовок. Как правило, используется в купе с VAB-банками, содержащими регистры и сэмплы, которыми будет играть «синтезатор» приставки, что превращает обычный MIDI файл в трекерную музыку (сравнимую с *.XM, *.MOD, *.IT, *.S3M и т.д.).Сам же SEQ хранит лишь информацию о нотах (включая длину и силу нажатия, а также информацию о настройке эффектов, вроде реверберации и т.д.).Для «особо одаренных» MIDI-файл — это «ноты» для компьютера, содержащие информацию о нажатых клавишах. MIDI-файл «скармливают» компьютерному или настоящему (например, через дискету) синтезатору, а тот уже играет музыку по данной «инструкции». Потому MIDI файлы имеют столь малый размер (в пределах 100 кб), т.к. они не содержат в себе звука как такового.Среди игр, использующих трекерную музыку, стоит отметить серию игр Crash Bandicoot (по крайней мере, с 1 по 4 части): именно там почти вся музыка была трекерной и хранилась в этом формате (с подхватом «ва-банковских» сэмплов). Правда, файлы были запакованы в игровых «псевдоархивах».
SEP *.sep Архив SEQ файлов (почти как VAB с VAG-файлами).
TMD *.tmd Стандартный формат 3D-объектов на PSX. К слову, логотип PlayStation, появляющийся на черном загрузочном экране хранится именно в этом формате.

  • Файл может быть загружен в оперативную память приставки.
TOD *.tod Формат анимации для 3D-моделей. Может включать кадр (или их последовательность) для анимации трехмерного объекта.

  • Файл может быть загружен в оперативную память приставки.
RSD *.rsd Формат, который используется для представления 3D-моделей. Большинство утилит от Sony работают именно с этим форматом.RSD-модели представлены в виде четырех файлов:

  • RSD
    Является связующим звеном между файлами PLY/MAT/GRP, текстурами и другими внешними файлами.
  • PLY
    Содержит информацию о позиции полигонов
  • MAT
    Содержит информацию о материале для полигонов
  • GRP
    Содержит информацию о группировании полигонов.

 

Прим. автор: возможно, данный формат является промежуточным (исходником) для моделирования моделек в утилитах от Sony и последующей конвертацией в TMD.

RAW Sound Data*.??? RAW — означает «сырые» (необработанные) данные (не путать с «несжатыми»).Звук, закодированный в сжатом ADPCM-формате. Чем-то напоминает VAG, но с другой структурой данных и БЕЗ заголовка (где, по-идее, должна быть информация о частоте (кГц), каналах (моно, стерео), и другие данные).Обычно, в таком виде хранятся интерактивные звуковые эффекты (прим. Tony Hawk’s Pro Skater 2) и другие звуки, которые должны быть загружены в оперативную память приставки. В основном это Low-Fi звуки с качеством 11,02522,000 кГц. Соответственно, имеют довольно малый размер.
RAW Image Data*.??? RAW — означает «сырые» (необработанные) данные (не путать с «несжатыми»).Если утилиты для работы с TIM-графикой не нашли (или не нашли всей) графики в игре, скорее всего часть графики хранится в RAW-формате.

Обычно, в таком виде хранятся текстуры интерактивного геймплея, которые должны быть загружены в оперативную память (прим. Tony Hawk’s Pro Skater 2).

Особенность такого хранения данных — наличие картинки, но отсутствие заголовка (палитры цветов, информации о разрешении изображения и прочих данных). Выигрыш здесь, судя по всему, в производительности: если взглянуть на огромное кол-во текстур в уровне (учитывая также, что некоторые текстуры «тайлятся», т.е. «размножаются» по объекту, подобно «плитке»), это должно вызвать если не перегрузку оперативной памяти консоли, то хотя бы нагрузку на процессор. Ведь в каждой мельчайшей текстуре присутствовал бы заголовок с информацией о палитре (CLUT), битности и разрешении. Куда разумнее — один раз где-нибудь в недрах игры прописать несколько стандартных шаблонов с параметрами изображения, и сделать их «кураторами» определенной группы файлов (пример: файлы с 0 по 249 открывать с разрешением 64×64, 8 бит и такой-то палитрой). Сами же файлы содержат лишь структуру данных.

Обычно для просмотра таких изображений требуется специальное ПО, позволяющее открывать файлы без заголовка и подобрать к ним разрешение и битность (к слову, с этим может справиться и Photoshop, если поменять расширение файла на *.raw, перетащить его в программу и выставить разрешение).

Разрешение может быть разным, поэтому здесь стоит поэкспериментировать. Однако, вот несколько наводок от меня:

  • Сплэши: ширина — 512 пикс (иногда стоит попробовать и 1024 пикс :-).
  • Текстуры: ширина — 32, 64 пикс.
  • Большие текстуры, картинки: — 128, 256 пикс.
  • Шрифты в Tony Hawk’s: — 10 пикс. :-)

Среди игр, использующих RAW-графику можно отметить: Crash Bandicoot (1, 2, 3), Gran Turismo, Tony Hawk’s Pro Skater 2, Harry Potter and the Sorcerer’s Stone, NHL 2001 (не уверен), и т.д.

Подробнее