오픈맥스
OpenMAX![]() | |
개발자 | 크로노스 그룹 |
---|---|
웹사이트 | www |
종종 "OMX"로 단축되는 OpenMAX(Open Media Acceleration)는 C 언어 프로그래밍 인터페이스의 비수용적이고 로열티 없는 교차 플랫폼 세트다.오디오, 비디오 및 스틸 이미지 처리에 특히 유용한 루틴에 대한 추상화를 제공한다.[1][2]비디오 코덱, 그래픽 라이브러리, 비디오, 이미지, 오디오, 음성, 음성, 음성 및 음성 등의 기타 기능 등 대량의 멀티미디어 데이터를 예측 가능한 방법으로 효율적으로 처리해야 하는 저전력 및 임베디드 시스템 기기(스마트폰, 게임 콘솔, 디지털 미디어 플레이어, 셋톱 박스 포함)를 대상으로 한다.[3]
OpenMAX는 애플리케이션 계층(AL), 통합 계층(IL), 개발 계층(DL)의 세 가지 인터페이스 계층을 제공한다.오픈맥스는 비영리 기술 컨소시엄 크로노스 그룹이 관리한다.[4]
역사
2004년 7월에 처음 발표되었다.[5]오픈맥스 워킹 그룹은 처음에 ARM, 모토로라, 삼성, STMicroelectronics, 텍사스 인스트루먼츠에 의해 설립되었다.규격 버전 1.0은 2005년 12월에 발표되었다.[6]OpenMAX Working Group (1.2.0)이 제작한 마지막 초안은 2011년부터[7] 작성되었으며 2012년 이후 어떤 제품도 준수 품목으로 선언되지 않았다.[8]더 오픈MAX 사양은 HEVC나 VP9와 같은 최신 코덱을 지원하도록 업데이트되지 않았으며, 안드로이드가 OpenMAX IL 표준의 사실상의 업데이트 소스가 되었다.[9]
레이어
OpenMAX AL은 미디어 플레이어와 같은 멀티미디어 어플리케이션과 플랫폼 미디어 프레임워크 사이의 인터페이스다.애플리케이션을 개발하는 기업이 오픈을 지원하는 다른 플랫폼(고객)으로 애플리케이션을 쉽게 마이그레이션할 수 있도록 한다.MAX AL 응용 프로그램 프로그래밍 인터페이스(API).[10]
OpenMAX IL은 미디어 프레임워크(Android의 StageFright 또는 MediaCodec API, Windows의 DirectShow, Linux의 FFmpeg 또는 Libav, 또는 교차 플랫폼의 GStreamer 등)와 멀티미디어 구성요소 세트(오디오 또는 비디오 코덱 등) 간의 인터페이스다.플랫폼을 구축하는 기업(예: MP3 플레이어 구현 허용)이 MP3 디코더, 이퀄라이저 효과와 같은 부품을 쉽게 변경하고 플랫폼용 부품을 다른 벤더로부터 구매할 수 있도록 한다.[11]
OpenMAX DL은 디지털 신호 프로세서(DSP) 칩, CPU, GPU, 소프트웨어 등 물리적 하드웨어와 비디오 코덱, 3D 엔진 등의 인터페이스다.기업들이 낮은 수준의 소프트웨어를 다시 가동하지 않고도 OpenMAX DL을 지원하는 새로운 하드웨어를 쉽게 통합할 수 있도록 한다.
응용 계층
![]() | |
개발자 | 크로노스 그룹 |
---|---|
안정적 해제 | 1.1 / 2011년 1월 18일; 전 |
운영 체제 | 크로스 플랫폼 |
유형 | API |
면허증 | 다양한 |
웹사이트 | www![]() |
OpenMAX AL은 대표적인 객체 집합과 그 객체들에 대한 인터페이스를 표준화하여 그것들을 제어하고 구성함으로써 일반적인 멀티미디어 어플리케이션 사용 사례를 수용한다.더 오픈MAX AL API는 다음과 같은 두 가지 프로파일로 나뉜다.미디어 플레이어 및 미디어 플레이어/레코더.플랫폼은 프로파일에 포함된 모든 기능을 제공함으로써 이들 프로파일 중 하나 또는 모두를 준수할 수 있다.
그것은 자원 제약 장치를 위해 고안된 응용 프로그램 레벨의 C 언어 멀티미디어 API이다.더 오픈MAX AL API 설계는 기본 휴대폰, 스마트 "기능" 전화, PDA 및 모바일 디지털 음악 플레이어를 포함한 모바일 임베디드 장치에 API가 적합한지 확인하는 데 특히 중점을 둔다.그럼에도 불구하고, 이는 다른 정교한 미디어 재생 및 기록 장치에 적용할 수 있는 가능성을 배제하지 않는다.
더 오픈MAX AL API 설계는 애플리케이션 개발자 친화성에 특히 주의를 기울인다.개방형 크로스 플랫폼 API로서의 지위를 통해 개발자는 최소한의 노력으로 동일한 소스를 여러 기기에 걸쳐 포팅할 수 있다.따라서 OpenMAX AL은 애플리케이션 개발을 위한 안정적인 기반을 제공한다.
특징들
OpenMAX AL 기능에는 다음이 포함된다.
디지털 TV 확장
OpenMAX AL의 DTV(Digital Television) 확장 사양은 표준에 구애받지 않는 모바일 TV 튜닝, 재생, 녹화 및 전자 프로그램 가이드 기능을 Open에 추가했다.MAX AL 멀티미디어 API, 모듈식 로열티 없는 교차 플랫폼 C언어 API로 모바일 및 임베디드 기기에서 고성능 디지털 TV 관련 애플리케이션을 위한 것이다.DTV Extension은 모든 주요 모바일 TV 표준(예: DVB-H, ISDB-T, T-DMB 등)과 호환되며 디지털 TV에 대한 방송, 유니캐스트 및 멀티캐스트 전달 방법을 지원한다.[12][13]
사양 버전
- OpenMAX AL 1.0 임시 사양 - 최종 1.0 릴리스 전에 커뮤니티의 피드백을 용이하게 하기 위해 2007-09-02년 날짜의 임시 버전.
- OpenMAX AL 1.0 사양 - 2009-06-23 날짜
- OpenMAX AL 1.0.1 사양 - 2010-03-12일자
- OpenMAX AL 1.1 사양 - 2011-01-18일자[14]
구현
- 안드로이드 4.0 이상은 NDK(Native Development Kit)[15]의 일부로 OpenMAX AL을 공개한다.
- LIM OpenMAX는 리눅스용 OpenMAX AL 및 OpenMAX IL의 오픈 소스 구현이다.
- 벨라지오는 STMicroelectronics가 유지하고 있는 Linux용 오픈 소스 OpenMAX IL 구현이다.[16]
- Tizonia는 Linux용[17] 오픈 소스 OpenMAX IL 구현
- GSTreamer(GSTreamer)는 여러 응용 프로그램이 사용하는 오픈 소스 멀티미디어 프레임워크다."gst-omx" 모듈과 함께 OpenMAX IL 모듈을 사용할 수 있다.[18]
- NEO([19]Cortex A8) 및 SIMD(ARMv6 아키텍처를 사용하는 ARM11 코어용)에 최적화된 OpenMAX DL 라이브러리는 [1]에서 이용할 수 있다.
OpenSL ES와의 비교
오픈SL ES(Open Sound Library for Embedded Systems)는 또 다른 Khronos 그룹 API로 오픈맥스 AL과 동일한 타겟 시장에 오디오 라이브러리를 제공하는 한편, 오픈맥스는 완전한 멀티미디어 서비스를 목표로 한다.OpenSL ES와 OpenMAX AL 오디오 서브셋은 동일한 공통 아키텍처를 공유하며 몇 가지 공통 기능을 가지고 있다.
- 오디오 재생 및 녹음
- 기본 MIDI 재생
- 메타데이터 추출
적분층
![]() | |
개발자 | 크로노스 그룹 |
---|---|
안정적 해제 | 1.1.2 / 2008년 9월 15일; 전 |
릴리스 미리 보기 | 1.2.0 / 2011년 11월 7일 전 ) |
운영 체제 | 크로스 플랫폼 |
유형 | API |
면허증 | 다양한 |
웹사이트 | www![]() |
OpenMAX IL API는 C 언어를 사용하는 여러 플랫폼에 걸쳐 미디어 구성요소를 이식할 수 있도록 노력한다.OpenMAX IL에서 구성요소는 개별 기능 블록을 나타낸다.구성 요소는 소스, 싱크대, 코덱, 필터, 스플리터, 믹서 또는 기타 데이터 운영자가 될 수 있다.구현에 따라 구성요소는 하드웨어, 소프트웨어 코덱, 다른 프로세서 또는 이들의 조합을 나타낼 수 있다.
인터페이스는 시스템의 하드웨어와 소프트웨어 아키텍처를 추상화한다.OpenMAX IL API를 통해 사용자는 개별 구성요소를 로드, 제어, 연결 및 언로드할 수 있다.이러한 유연한 핵심 아키텍처를 통해 통합 계층은 거의 모든 미디어 사용 사례를 쉽게 구현하고 기존의 그래프 기반 미디어 프레임워크와 매칭할 수 있다.OpenMAX IL API의 주요 초점은 미디어 구성요소의 휴대성이다.
OpenMAX IL API 설계는 사용 사례 유연성과 구성요소 간 최적화된 데이터 전송에 특히 주의를 기울인다.
OpenMAX IL API는 API가 Android의 오디오와 비디오 코덱을 통합할 수 있는 베이스로 선택되었으며, 이로 인해 대부분의 SoC 공급업체들은 Android가 요구하는 서브셋만 지원하는 최소 구현을 출하하게 된다.애플리케이션은 이러한 OpenMAX IL 구성요소를 직접 사용하지 않고 Android MediaCodec API를 통해서만 사용한다.안드로이드가 확장된 OpenMAX IL의 서브셋은 이제 사실상의 표준이 되었다.
2011년에 임시 버전 1.2.0이 출시되었다.[20]
오픈 소스 OpenMAX IL 구현 가능,
- 벨라지오는 STMicroelectronics에 의해 유지된다.
- LIM OpenMAX, AL과 IL을 모두 갖춘 구현.
- Android StageFright, 사실상의 표준인 IL의 부분 구현.
개발층
![]() | |
개발자 | 크로노스 그룹 |
---|---|
안정적 해제 | 1.0.2 / 2007년 12월 21일; 전 |
운영 체제 | 크로스 플랫폼 |
유형 | API |
면허증 | 다양한 |
웹사이트 | www![]() |
더 오픈MAX DL API는 일련의 저수준 멀티미디어 커널 또는 미디어 처리 빌딩 블록을 정의한다.빌딩 블록은 표준화된 미디어 코덱과 기타 통합 미디어 처리 엔진 내에서 전통적인 계산 핫스팟을 가속화하는 데 사용될 수 있다.오픈의 기능적 범위MAX DL 인터페이스는 신호 처리 및 이미지 처리, 오디오 코딩, 이미지 코딩 및 비디오 코딩을 포함한 여러 도메인에 걸쳐 있다.
OpenMAX DL은 5개의 애플리케이션 도메인으로 분할된다.
- AC - 오디오 코덱(MP3 디코더 및 AAC 디코더 구성 요소)
- IC - 이미지 코덱(JPEG 구성 요소)
- IP - 이미지 처리(일반 이미지 처리 기능)
- SP - 신호 처리(일반 오디오 처리 기능)
- VC - 비디오 코덱(H.264 및 MP4 구성 요소)
OpenMAX DL은 ARM에 의해 구현된 Openmax_armlibrary이며 ANSI C 샘플 코드는 웹페이지에서 다운로드할 수 있다.
더 오픈MAX API는 PlayStation 3 콘솔에서 지원한다.
워킹그룹
더 오픈MAX 워킹그룹은 2004년 7월 6일 자매 프로젝트인 OpenVG와 함께 설립되었다.2008년 AMD, Apple, ARM, Creative, Dell Inc., 에릭슨, 프리스케일, Imagination Technologies Group plc, 인텔, IBM, 모토로라, 노키아, 엔비디아 코퍼레이션, 삼성전자 등이 홍보 멤버로 활동했다. Ltd, SK 텔레콤, 소니 컴퓨터 엔터테인먼트 그리고 텍사스 인스트루먼트.
참고 항목
- 비디오 가속 API(VA API)
- VDPAU(Video Decode and Presentation API for Unix)
- X-비디오 비트스트림 가속(XvBA)
- X-비디오 모션 보상(XvMC)
- DirectX 비디오 가속(DxVA) API - Microsoft Windows 아날로그
- 분산 코덱 엔진(libdce)은 OMAP 기반 임베디드 시스템의 비디오 코덱 엔진을 위한 텍사스 인스트루먼트 API이다.
- VideoToolbox는 Apple TV와 Mac OS X에서 하드웨어 가속 디코딩을 위한 Apple Inc.의 API이다.[21]
- OpenVideo 디코드(OVD) – AMD의 새로운 개방형 크로스 플랫폼 비디오 가속 API.[22]
- Nvidia PureVideo - 하드웨어 GPU에서 비디오 디코딩을 가속화하기 위해 그래픽 칩에 사용된 NVIDIA의 비트 스트림 기술.
- UVD(Unified Video Decoder) - 하드웨어 GPU의 비디오 디코딩을 가속화하기 위해 ATI Technologies의 비트 스트림 기술.
참조
- ^ http://www.cnx-software.com/2011/11/11/openmax-open-media-acceleration/ OpenMAX(개방형 미디어 가속)
- ^ https://events.linuxfoundation.org/images/stories/pdf/lceu2012_debski.pdf Wayback Machine Video4Linux2에 2014-01-06 아카이브 - 표준화된 비디오 코덱 API의 경로
- ^ http://jan.newmarch.name/LinuxSound/Sampled/OpenMAX/ 전체 책 "리눅스 사운드"의 웨이백 머신 컨텐츠에 2016-03-12 보관 - 13장: OpenMAX/OpenSL
- ^ http://www.khronos.org/openmax/ OpenMAX - 미디어 라이브러리 이식성 표준(크로노스 그룹별)
- ^ "Khronos Group Announces New OpenMAX Open Standard for Enabling Effective Media Acceleration". 6 July 2004.
- ^ https://www.khronos.org/files/openmax_il_spec_1_0.pdf[bare URL PDF]
- ^ "Khronos OpenMAX IL Registry - the Khronos Group Inc".
- ^ "The Khronos Group". 21 November 2021.
- ^ "Include/Media/Openmax/OMX_VideoExt.h - platform/Frameworks/Native - Git at Google".
- ^ http://elinux.org/images/e/e0/The_OpenMAX_Integration_Layer_standard.pdf OpenMAX 통합 계층 표준
- ^ http://elinux.org/images/5/52/Elc2011_garcia.pdf OpenMAX IL을 사용하여 Android Stagefright에 하드웨어 비디오 코덱 통합
- ^ http://www.khronos.org/openmax/al/dtv/ OpenMAX AL - 디지털 TV(Digital Television) 확장
- ^ https://www.khronos.org/news/press/khronos-group-releases-provisional-openmax-al-digital-tv-extension-specific 크로노스 그룹, 임시 오픈 출시 임시 오픈MAX AL 디지털 TV 확장 규격
- ^ Khronos Group, 2011-03-17년 아카이빙된 모바일 및 휴대용 장치의 애플리케이션 레벨 비디오, 오디오 및 이미지 처리를 위한 OpenMAX AL 사양 출시
- ^ "Ice Cream Sandwich".
- ^ http://elinux.org/images/e/e0/The_OpenMAX_Integration_Layer_standard.pdf OpenMAX 통합 계층 표준
- ^ http://www.juanrubio.me/2013/01/announcing-tizonia-openmax-il/ Tizonia OpenMAX IL 발표
- ^ "Release notes for GStreamer OpenMAX IL wrapper plugin 1.0.0".
- ^ http://www.cnx-software.com/2011/11/11/openmax-open-media-acceleration/#ixzz2mVjgXE49 OpenMAX(개방형 미디어 가속)
- ^ https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification.pdf[bare URL PDF]
- ^ "VideoToolbox - Apple Developer Documentation". developer.apple.com. Retrieved 2018-08-05.
- ^ "Archived copy" (PDF). Archived from the original (PDF) on 2011-04-09. Retrieved 2012-01-16.
{{cite web}}
: CS1 maint: 제목(링크) OpenVideo 디코드(OVD) API로 보관