Кіріспе
Жоғалған аудионы сығыстыру форматы
Advanced Audio Coding (AAC) – жоғалған цифрлық аудионы сығыстыруға арналған аудио кодтау стандарты. Ол MP3 форматының ізбасары ретінде әзірленген және әдетте бірдей бит жылдамдығында MP3-ге қарағанда жоғары дыбыс сапасына қол жеткізеді. AAC ISO және IEC ұйымдарымен MPEG-2 және MPEG-4 спецификацияларының бөлігі ретінде стандартталған. AAC-тің бір бөлігі – HE AAC ("AAC+") MPEG-4 Audio құрамына кіреді және DAB+ және Digital Radio Mondiale цифрлық радио стандарттарына, сондай-ақ DVB-H және ATSC M/H мобильді теледидар стандарттарына енгізілген. AAC бір ағында 48 толық жолақты (96 кГц дейін) аудио арналарын, сонымен қатар 16 төмен жиілікті эффекттер (LFE, 120 Гц дейін шектелген) арналарын, 16 «байланыс» немесе диалог арналарын және 16 дерек ағынын қолдайды. Стерео үшін сапа 96 кбит/с жылдамдықтағы бірлескен стерео режимінде қарапайым талаптарды қанағаттандырады; алайда, жоғары сапалы түсініктілікке кемінде 128 кбит/с (VBR) деректер қажет. MPEG-4 аудиосының сынақтары AAC-тің 128 кбит/с стерео және 384 кбит/с 5.1 аудио үшін ITU анықтаған «мөлдір» талаптарға сай келетінін көрсетті. AAC тек модификацияланған дискретті косинус түрлендіру (MDCT) алгоритмін пайдаланады, бұл MP3-ге қарағанда сығылу тиімділігін арттырады, ол MDCT және FFT бөліктерінен тұратын гибридтік кодтау алгоритмін қолданады.
Өмірбаян
Дискретті косинус түрлендіруі (DCT) 1972 жылы Насыр Ахмед ұсынды, ал 1973 жылы Ахмед Т. Натаражан және К. Р. Раомен бірге әзірледі, нәтижелерін 1974 жылы жариялады. Бұл Ж. П. Принсен, А. В. Джонсон және А. Б. Брэдлидің 1987 жылы, Принсен мен Брэдлидің 1986 жылғы бұрынғы жұмыстарынан кейін модификацияланған дискретті косинус түрлендіруінің (MDCT) жасалуына әкелді. 1994 жылы ұсынылған MP3 аудио кодегінің стандарты, MDCT және FFT алгоритмдерінің аралас гибридтік коделеу алгоритмін қолданды. AAC таза MDCT алгоритмін қолданады, бұл MP3-ге қарағанда жоғары қысылу тиімділігін қамтамасыз етеді. AAC, Bell Labs, Fraunhofer IIS, Dolby Laboratories, LG Electronics, NEC, Panasonic, Sony Corporation, ETRI, JVC Kenwood, Philips, Microsoft және NTT сияқты компаниялардың ынтымақтастығымен және үлесімен жасалды. Ол 1997 жылдың сәуір айында Moving Picture Experts Group ұйымымен халықаралық стандарт деп жарияланды. Ол MPEG 2 стандартының 7-бөлігі ретінде, сондай-ақ MPEG 4 стандартының 3-бөлігіндегі 4-қосымшасында сипатталған.
Стандарттау
1997 жылы AAC алғаш рет MPEG 2 Part 7 ретінде енгізілді, ресми түрде ISO/IEC 13818 7:1997 деп аталды. MPEG 2-нің бұл бөлігі жаңа болды, себебі MPEG 2-ге бұрыннан ISO/IEC 13818 3: MPEG 2 BC (кері үйлесімді) ретінде белгілі MPEG 2-нің 3-бөлігі кірген еді. Сондықтан MPEG 2 Part 7, MPEG 2 NBC (кері үйлесімсіз) деп те аталады, өйткені ол MPEG 1 аудио форматтарымен (MP1, MP2 және MP3) үйлесімсіз. MPEG 2 Part 7 үш профильді анықтады: төмен күрделілік профилі (AAC LC / LC AAC), негізгі профиль (AAC Main) және масштабталатын үлгілеу жылдамдығы профилі (AAC SSR). AAC LC профилі AT&T Perceptual Audio Coding (PAC) кодтау форматына өте ұқсас, сонымен қатар уақытша шуды қалыптастыру (TNS), Кайзер терезесі (төменде сипатталған), біркелкі емес кванттау және 16 стерео каналға, 16 моно каналға, 16 төмен жиілікті эффект (LFE) каналға және 16 түсіндірме каналға дейін қолдау көрсету үшін биттік ағын форматының қайта өңделуі бар. Негізгі профиль сүзгі банкінің әрбір қадамында есептелетін рекурсивті болжамдағыштар жиынтығын қосады. SSR 4 жолақты PQMF сүзгі банкін пайдаланады, одан кейін масштабталатын үлгілеу жылдамдықтарын қамтамасыз ету үшін төрт қысқа сүзгі банкі келеді. 1999 жылы MPEG 2 Part 7 жаңартылды және MPEG 4 стандарттар отбасының құрамына енді, MPEG 4 Part 3, MPEG 4 Audio немесе ISO/IEC 14496 3:1999 деп аталды. Бұл жаңарту бірнеше жақсартуларды қамтыды. Осы жақсартулардың бірі – TwinVQ, CELP, HVXC, Text To Speech Interface және MPEG 4 Structured Audio сияқты әртүрлі аудио форматтармен өзара іс-қимылға мүмкіндік беретін Аудио нысандарының түрлерін қосу болды. AAC стандартының осы нұсқасындағы тағы бір маңызды толықтыру – қабылдауды шумен алмастыру (PNS). Осыған байланысты AAC профильдері (AAC LC, AAC Main және AAC SSR профильдері) қабылдауды шумен алмастырумен біріктіріледі және MPEG 4 аудио стандартында Аудио нысандарының түрлері ретінде анықталады. MPEG 4 Аудио нысандарының түрлері төрт MPEG 4 аудио профилінде біріктірілген: Негізгі (MPEG 4 Аудио нысандарының көпшілігін қамтиды), Масштабталатын (AAC LC, AAC LTP, CELP, HVXC, TwinVQ, Wavetable Synthesis, TTSI), Сөйлеу (CELP, HVXC, TTSI) және Төмен жылдамдықты синтез (Wavetable Synthesis, TTSI). MPEG 4 Part 3 үшін анықтамалық бағдарламалық қамтамасыз ету MPEG 4 Part 5-те, ал сәйкестік биттік ағындары MPEG 4 Part 4-те көрсетілген. MPEG 4 Audio MPEG 2 Part 7-мен кері үйлесімді болып қалады. MPEG 4 Audio Version 2 (ISO/IEC 14496 3:1999/Amd 1:2000) жаңа аудио нысандарының түрлерін анықтады: төмен кешіктірілісті AAC (AAC LD) нысанының түрі, бит-кестелі арифметикалық кодтау (BSAC) нысанының түрі, гармоникалық және жеке сызықтарды пайдалана отырып, параметрлік аудио кодтау, сондай-ақ шуға және қатеге төзімді (ER) нысандардың түрлері. Сондай-ақ, төрт жаңа аудио профилін анықтады: Жоғары сапалы аудио профилі, Төмен кешіктірілісті аудио профилі, Табиғи аудио профилі және Мобильді аудио желілік профилі. HE AAC профилі (AAC LC SBR-мен) және AAC профилі (AAC LC) алғаш рет ISO/IEC 14496 3:2001/Amd 1:2003 стандартында стандартталды. HE AAC v2 профилі (AAC LC SBR және Параметрлік стереомен) алғаш рет ISO/IEC 14496 3:2005/Amd 2:2006 стандартында көрсетілген. HE AAC v2-де қолданылатын Параметрлік стерео аудио нысанының түрі алғаш рет ISO/IEC 14496 3:2001/Amd 2:2004 стандартында анықталды. AAC стандартының қазіргі нұсқасы ISO/IEC 14496 3:2009 стандартында анықталған. AAC+ v2 стандарты сонымен қатар ETSI (Еуропалық телекоммуникациялық стандарттар институты) TS 102005 ретінде стандартталған.
Лицензиялау және патенттер
Пайдаланушы аудионы AAC форматында ойнату немесе тарату үшін ешқандай лицензиялар немесе төлемдер қажет емес. Осы себептің өзі AAC-ті аудио тарату үшін, әсіресе интернет-радио сияқты аудио ағынын тарату үшін, оның алдыңғы форматы MP3-ден гөрі тартымдырақ етуі мүмкін, бұл қолданылу жағдайына байланысты. Дегенмен, AAC "соңғы пайдаланушыға" арналған кодектерді өндірушілер мен әзірлеушілердің барлығы үшін патенттік лицензия талап етіледі. Шарттары (SEC-ке жарияланғандай) бірлік бағасын қолдануды көздейді. Бағдарламалық жасақтама жағдайында, бағдарламалық жасақтаманы іске қосатын әрбір компьютер жеке "бірлік" ретінде қарастырылады. Бұрын FFmpeg және FAAC сияқты ашық және тегін бағдарламалық жасақтамалар AAC кодегін "басқаша ұсынбау" үшін тек бастапқы код түрінде таратқан. Алайда, FFmpeg патенттік мәселелерге қатысты көбірек кешірімділік танытты: ресми сайтта ұсынылған "gyan.dev" жинақтарында енді AAC кодегі бар, ал FFmpeg-тің құқықтық бетінде патенттік заңнамаға сәйкес келу пайдаланушының жауапкершілігінде екені айтылған. (ААК қолдауын көрсететін өнімдер, Бағдарламалық қамтамасыз ету бөліміне қараңыз.) Құрметтісіміз, Red Hat қолдауымен жүзеге асырылған Fedora жобасы 2018 жылдың 25 қыркүйегінде "Android үшін Fraunhofer FDK AAC кодек кітапханасының үшінші тараптан өзгертілген нұсқасын" өзінің репозиторийлеріне импорттады және 2023 жылдың 31 қаңтарында FFmpeg-тің тегін ffmpeg жинағы үшін AAC кодектеушісі мен декодерін қосты. AAC патенттерінің иелеріне Bell Labs, Dolby, ETRI, Fraunhofer, JVC Kenwood, LG Electronics, Microsoft, NEC, NTT (және оның еншілес компаниясы NTT Docomo), Panasonic, Philips және Sony Corporation кіреді.
Контейнерлер пішімі
Файлдарды сақтау үшін ISO базалық медиа файл пішіміне негізделген MP4, 3GP және басқа контейнерлік форматтармен қатар, AAC аудио деректері алғаш рет MPEG 2 стандарты үшін Audio Data Interchange Format (ADIF) форматында файлға жинақталды, ол бір бас тақырыптан және одан кейін шикі AAC аудио деректері блоктарынан тұрады. Дегенмен, егер деректер MPEG 2 тасымалдау ағынында таратылатын болса, Audio Data Transport Stream (ADTS) деп аталатын өзін-өзі синхрондау форматы қолданылады, ол кадрлар тізбегінен тұрады, әрбір кадрдың басында AAC аудио деректері болады. Видео үшін H.264 қысымын пайдаланатын DVB хабар таратулары көбінесе аудио үшін HE AAC қолданады.
iTunes және iPod
2003 жылдың сәуірінде Apple компаниясы AAC технологиясына кеңінен назар аударды, өзінің iTunes және iPod өнімдері MPEG 4 AAC форматындағы әндерді қолдайтынын жариялады (ескі iPod-тар үшін бағдарламалық құралды жаңарту арқылы). Тұтынушылар iTunes Store арқылы 128 кбит/с AAC (FairPlay қараңыз) форматындағы, жабық кодты Digital Rights Management (DRM) құрылғысымен шектелген музыканы жүктей алады немесе iTunes арқылы өз CD-лерінен DRM-сіз файлдарды жасай алады. Кейінгі жылдары Apple музыкалық бейнероликтер мен фильмдерді де ұсына бастады, олар аудионы кодтау үшін AAC-ті пайдаланады. 2007 жылдың 29 мамырында Apple компаниясы қатысушы жазбалар компанияларынан әндер мен музыкалық бейнероликтерді жоғары битрейтте (256 кбит/с cVBR) және DRM-сіз, "iTunes Plus" деп аталатын форматта сатуды бастады. Бұл файлдар көбінесе AAC стандартына сәйкес келеді және көптеген Apple емес құрылымдарда ойнатылады, бірақ олар альбом обложкасы және сатып алу квитанциясы сияқты жеке iTunes ақпаратын қамтиды, файл бір-бірімен байланысқан желілерге тарап кеткен жағдайда тұтынушыны анықтау үшін. Дегенмен, AAC спецификациясына қатаң сәйкес келетін ойнатқыштармен өзара әрекеттесуді қалпына келтіру үшін осы бейімделген тегтерді жоюға болады. 2009 жылдың 6 қаңтарынан бастап АҚШ аймақтық iTunes Store-дағы барлық музыка DRM-сіз болды, ал қалған бөлігі 2009 жылдың наурыз айының соңына дейін DRM-сіз болады. iTunes "Айнымалы бит жылдамдығы" кодтау опциясын ұсынады, ол AAC тректерін шектелген айнымалы бит жылдамдығы схемасында (ABR кодтамасының кем қатаң нұсқасы) кодтайды; бірақ, негізгі QuickTime API шынайы VBR кодтау профилін ұсынады. 2009 жылдың қыркүйегінен бастап Apple тек радио ағындары үшін ғана HE AAC-ті (MP4 стандартының толық бөлігі) қолдайды, файлдарды ойнату үшін емес, сондай-ақ iTunes-та шынайы VBR кодтау үшін қолдау жоқ.
iTunes offers a "Variable Bit Rate" encoding option which encodes AAC tracks in the Constrained Variable Bitrate scheme (a less strict variant of ABR encoding); the underlying QuickTime API does offer a true VBR encoding profile however. As of September 2009, Apple has added support for HE AAC (which is fully part of the MP4 standard) only for radio streams, not file playback, and iTunes still lacks support for true VBR encoding.
Nero Digital Audio (Nero Digital Audio) дегенді
2006 жылдың мамыр айында Nero AG тегін AAC кодтау құралын шығарды, Nero Digital Audio (AAC кодегінің бөлігі Nero AAC Codec аталды), ол LC AAC, HE AAC және HE AAC v2 ағындарын кодтауға қабілетті. Бұл құрал тек командалық жол интерфейсі ретінде ғана қолжетімді. PCM WAV форматына декодтау үшін жеке қосымша да бар. Foobar2000 аудио ойнатқышы және MediaCoder сияқты түрлі бағдарламалар осы кодек үшін графикалық интерфейс (GUI) ұсынуы мүмкін.
FAAC және FAAD2
FAAC және FAAD2 сәйкесінше Freeware Advanced Audio Coder және Decoder 2 дегенді білдіреді. FAAC LC, Main және LTP аудио нысандарының түрлерін қолдайды. FAAD2 LC, Main, LTP, SBR және PS аудио нысандарының түрлерін қолдайды. FAAD2 ақысыз бағдарламалық құрал болғанымен, FAAC ақысыз бағдарламалық құрал емес.
Fraunhofer FDK AAC
Fraunhofer авторлық құқығындағы ашық кодты кодтаушы/декодтаушы, Android құрылғыларына енгізілген, басқа платформаларға да көшірілді. FFmpeg-тің түпкілікті AAC кодтаушысы HE AAC және HE AACv2 форматтарын қолдамайды, бірақ ffmpeg-тің GPL 2.0+ лицензиясы FDK AAC-мен үйлесімсіз, сондықтан libfdk aac кітапханасы бар ffmpeg қайта таратылмайды. Apple-дің Core Media Audio технологиясын пайдаланатын QAAC кодтаушысы FDK-дан сапасы жақсырақ.
FFmpeg және Libav
FFmpeg-тің libavcodec-інде жасалған және Libav-пен тармақталған AAC кодекшісі эксперименталды және нашар саналды. FFmpeg 3.0 нұсқасы үшін (2016 жылдың ақпаны) көп жұмыс жасалды, оның нұсқасын пайдалануға жарамды және қалған AAC кодекшілерімен бәсекелесе алатындай ету үшін. Libav бұл жұмысты қоспады және AAC кодекшісінің ескі нұсқасын пайдалануды жалғастыруда. Бұл кодекшілер LGPL лицензиясымен ашық кодты және FFmpeg немесе Libav аяларын құрастыруға болатын кез келген платформаға орнатылуы мүмкін. FFmpeg және Libav екеуі де Fraunhofer FDK AAC кітапханасын libfdk aac арқылы пайдалана алады, ал FFmpeg кодекшісі тұрақты болып, әдеттегі қолдану үшін жеткілікті жақсы болғанымен, FDK әлі де FFmpeg-пен пайдалану үшін ең жоғары сапалы кодекші саналады. Libav та FDK AAC-ты қолдануды ұсынады, егер ол қолжетімді болса. FFmpeg 4.4 және одан жоғары нұсқалары Apple audiotoolbox кодекшісін де пайдалана алады. Негізгі AAC кодекшісі тек AAC LC ғана шығара алса да, ffmpeg кодекшісі енгізілетін форматтардың кең ауқымын өңдей алады.