Кіріспе
OpenMAX (Open Media Acceleration), көбінесе "OMX" деп қысқартылады, C тіліндегі бағдарламалау интерфейстерінің меншік құқығына ие емес және роялти төленбейтін, платформадан тәуелсіз жиынтығы. Ол әсіресе аудио, бейне және тұрақты суреттерді өңдеу үшін пайдалы процедураларға арналған абстракцияларды ұсынады. OpenMAX төмен қуатты және кіріктірілген жүйелердегі құрылғыларға (соның ішінде смартфондар, ойын консольдары, цифрлық медиа плеерлер және теледидарға қосылатын декодерлер) үлкен көлемдегі мультимедиа деректерін болжауға болатын тәсілдермен тиімді өңдеу үшін жасалған, мысалы бейне кодектері, графикалық кітапханалар және бейне, сурет, аудио, дауыс және сөйлеуге арналған басқа да функциялар. OpenMAX интерфейстердің үш деңгейін ұсынады: қолданба деңгейі (AL), интеграция деңгейі (IL) және әзірлеу деңгейі (DL). OpenMAX коммерциялық емес технологиялық консорциум Khronos Group басқарады.
Тарих
Алғашқыда 2004 жылдың шілдесінде хабарланды. OpenMAX жұмыс тобы бастапқыда ARM, Motorola, Samsung, STMicroelectronics және Texas Instruments компанияларымен құрылған. Анықтаманың 1.0 нұсқасы 2005 жылдың желтоқсан айында жарияланды. OpenMAX жұмыс тобы жасаған (1.2.0) соңғы нұсқа 2011 жылға дейін дайындалды және 2012 жылдан бері ешбір өнім осы стандартқа сәйкес деп жарияланбады. OpenMAX спецификациясы HEVC немесе VP9 сияқты жаңа кодектерді қолдау үшін жаңартылмады, сондықтан Android OpenMAX IL стандартын жаңартудың негізгі көзіне айналды.
Қабаттар
OpenMAX AL – мультимедиалық қолданбалар, мысалы, медиа-плеер мен платформалық мультимедиалық құрылғы арасындағы интерфейс. Ол қолданбаларды әзірлейтін компанияларға өз қолданбаларын OpenMAX AL қолданбалық бағдарламалау интерфейсін (API) қолдайтын әртүрлі платформаларға (тұтынушыларға) оңай көшіруге мүмкіндік береді. OpenMAX IL – мультимедиалық құрылғы (мысалы, Android-дегі StageFright немесе MediaCodec API, Windows-тағы DirectShow, Linux-тағы FFmpeg немесе GStreamer) және мультимедиалық компоненттер жиынтығы (мысалы, аудио немесе бейне кодектері) арасындағы интерфейс. Ол платформа құрастыратын компанияларға (мысалы, MP3 ойнатқышын іске асыруға мүмкіндік беретін) MP3 декодерлері мен эквалайзер эффектілері сияқты компоненттерді оңай өзгертуге және әртүрлі жеткізушilerden өз платформалары үшін компоненттерді сатып алуға мүмкіндік береді. OpenMAX DL – физикалық аппараттық құралдар, мысалы, цифрлық сигналды өңдеу (DSP) чиптері, процессорлар (CPU), графикалық процессорлар (GPU) және бағдарламалық жасақтама, мысалы, бейне кодектері мен 3D қозғалтқыштар арасындағы интерфейс. Ол компанияларға OpenMAX DL-ді қолдайтын жаңа аппараттық құралды төменгі деңгейдегі бағдарламалық жасақтаманы қайта оңтайландырмай-ақ оңай интеграциялауға мүмкіндік береді.
Қолданбалық қабат
OpenMAX AL көптеген мультимедиалық қолданбалардың қолданылу сценарийлерін стандарттау арқылы, сондай-ақ оларды басқару және конфигурациялау үшін осы объектілердегі интерфейстерді стандартизациялау арқылы жеңілдетеді. OpenMAX AL API екі профильге бөлінеді: Медиа Ойнатқыш және Медиа Ойнатқыш/Жазу құралы. Платформа осы профильдердің біріне немесе екеуіне де сәйкес болуы мүмкін, егер ол профильге кіретін барлық мүмкіндіктерді қамтамасыз етсе. Бұл – ресурстары шектеулі құрылғылар үшін арналған, C тілінде жазылған мультимедиалық API. OpenMAX AL API дизайны API-нің қарапайым ұялы телефондар, смарт "функционалды" телефондар, PDA және мобильді цифрлық музыка ойнатқыштарды қоса, мобильді кіріктірілген құрылғыларға қолайлы болуын қамтамасыз етуге ерекше мән береді. Бірақ бұл оның басқа да күрделі медиа ойнату және жазу құрылғыларына қолданылуына кедерес келтірмейді. OpenMAX AL API дизайны қолданба жасаушыларға ыңғайлы болуына ерекше назар аударады. Оның ашық, кросс-платформалық API статусы жасаушыларға бірдей бастапқы кодты бірнеше құрылғыға минималды күш-жігермен ауыстыруға мүмкіндік береді. Осылайша OpenMAX AL қосымшаны әзірлеу үшін сенімді негізді қамтамасыз етеді.
Цифрлық теледидар кеңейтілімі
OpenMAX AL цифрлық теледидар (DTV) кеңейту спецификациясы OpenMAX AL мультимедиялық API-ге стандарттарға тәуелсіз мобильді теледидарды іздеу, ойнату, жазу және электрондық бағдарламалар жетелеушісі функционалдығын қосады. Бұл мобильді және кіріктірілген құрылғыларда жоғары өнімділіктегі цифрлық теледидарға қатысты қосымшалар үшін модульдік, роялти төлеусіз, платформааралық C тілі API-сі болып табылады. DTV Extension барлық негізгі мобильді теледидар стандарттарымен (мысалы, DVB-H, ISDB-T, T-DMB және т.б.) үйлесімді және цифрлық теледидар үшін тарату, бір абонентке тарату және көп абонентке тарату әдістерін қолдайды.
Анықтама нұсқалары
OpenMAX AL 1.0 Алдын ала нұсқасы – 2007 жылғы 02 қыркүйекте жарияланған, соңғы 1.0 нұсқасы шығармас бұрын қауымдастықтан пікір алуға арналған алдын ала нұсқа. OpenMAX AL 1.0 2009 жылғы 23 маусымдағы сипаттамасы. OpenMAX AL 1.0.1 2010 жылғы 12 наурыздағы сипаттамасы. OpenMAX AL 1.1 2011 жылғы 18 қаңтардағы сипаттамасы.
OpenMAX AL 1.0.1 Specification dated 2010 03 12
OpenMAX AL 1.1 Specification dated 2011 01 18
Қолданылу
Android 4.0 және одан кейінгі нұсқалары OpenMAX AL-ді NDK (Native Development Kit) бөлігі ретінде ұсынады. LIM OpenMAX – Linux жүйесі үшін OpenMAX AL және OpenMAX IL ашық бастапқы кодты жүзеге асыру.
Интеграциялық қабат
OpenMAX IL API C тілін қолдана отырып, медиа компоненттерін түрлі платформаларға тасымалдауға мүмкіндік беруге тырысады. OpenMAX IL-де компоненттер жеке функционалдық блоктарды көрсетеді. Компоненттер дереккөздер, қабылдағыштар, кодектер, сүзгілер, бөлігіштер, араластырғыштар немесе кез келген басқа дерек операторы бола алады. Іске асылуына байланысты, компонент аппараттық құралдың бөлігін, бағдарламалық кодекті, тағы бір процессорды немесе олардың комбинациясын көрсете алады. Интерфейс жүйенің аппараттық және бағдарламалық архитектурасын абстракциялайды. OpenMAX IL API пайдаланушыға жеке компоненттерді жүктеуге, басқаруға, қосуға және жоюға мүмкіндік береді. Бұл икемді негізгі архитектура интеграциялық қабатқа кез келген медиа қолданысын оңай іске асыруға және қолданыстағы график негізгі медиа-фреймворктармен үйлестіруге мүмкіндік береді. OpenMAX IL API-нің басты назары медиа компоненттерінің тасымалдануы болып табылады. OpenMAX IL API дизайны қолданыс жағдайларының икемділігіне және компоненттер арасындағы оңтайландырылған деректерді беруге ерекше көңіл бөледі. OpenMAX IL API Android-те аудио және бейне кодектерін біріктіруге арналған API-дің негізі ретінде таңдалды, нәтижесінде көптеген SoC өндірушілері Android-те қажетті жиынтықты ғана қолдайтын минималды іске асыруды ұсынады. Қолданбалар OpenMAX IL компоненттерін тікелей пайдаланбайды, тек Android MediaCodec API арқылы ғана қолданады. Android-тің OpenMAX IL жиынтығы және оның кеңейтімдері қазіргі таңда де-факто стандарты болып табылады. 2011 жылы 1.2.0 нұсқасының сынақ үлгісі жарияланды.
Қолданылу
Tizonia — Linux үшін 1.2.0 нұсқасын қолдайтын ашық бастапқы кодты OpenMAX IL іске асыру. Bellagio — STMicroelectronics компаниясы күтіп бағдарлайтын Linux үшін ашық бастапқы кодты OpenMAX IL іске асыру. LIM OpenMAX — Linux үшін OpenMAX AL және OpenMAX IL ашық бастапқы кодты іске асыру. Mesa, Bellagio немесе Tizonia-мен бірге қолданылатын аппараттық үдетілген драйверлерді қамтамасыз етеді. Android StageFright — IL-дің толық емес іске асырылуы, ол де-факто стандарт болып табылады.
Қолданылу
NEON (Cortex A8 процессорлары үшін) және SIMD (ARM11 процессорлары үшін) оңтайландырылған нұсқалары, сондай-ақ ANSI C анықтамалық нұсқасы бұрын ARM компаниясы тіркелген пайдаланушыларға қолжетімді болған. OpenMAX API PlayStation 3 консолімен үйлесімді.
Жұмыс тобы
OpenMAX жұмыс тобы OpenVG бауырлас жобасымен бірге 2004 жылдың 6 шілдесінде құрылды. 2008 жылы қолдау көрсеткен мүшелері: AMD, Apple, ARM, Creative, Dell Inc, Ericsson, Freescale, Imagination Technologies Group plc, Intel, IBM, Motorola, Nokia, Nvidia Corporation, Samsung Electronics Co. Ltd, SK Telecom, Sony Computer Entertainment Inc және Texas Instruments.