Кіріспе

JPEG стандартына қосымша

Lossless JPEG – Joint Photographic Experts Group тобының 1993 жылы JPEG стандартына енгізген, жоғалтусыз қысылуды қамтамасыз ететін мүмкіндік. Алайда, бұл термин топтың әзірлеген барлық жоғалтусыз қысылу схемаларына, соның ішінде JPEG 2000, JPEG LS және JPEG XL-ға да қатысты қолданылуы мүмкін. Жоғалтусыз JPEG 1993 жылы JPEG-ке соңғы қосымша ретінде, жоғалтқыш JPEG стандартынан мүлдем өзгеше техниканы пайдалана отырып жасалды. Ол үш жақын (себептік) көршіге (жоғары, сол және жоғарғы сол) негізделген болжау схемасын қолданады, ал болжау қатесіне ентропиялық кодтау қолданылады. Independent JPEG Group кітапханалары оны кодтауға немесе декодтауға қабілетсіз, бірақ Oceana Matrix Ltd. компаниясының Кен Мурчисон Lossless JPEG-ті өңдеуге IJG кітапханасын кеңейтетін жаңарту жасады. Жоғалтусыз JPEG медициналық бейнелеуде белгілі бір дәрежеде танымал және DNG мен кейбір цифрлық камераларда шикі суреттерді қысу үшін қолданылады, бірақ басқа жағдайларда кеңінен қолданылмады. Adobe DNG SDK үлгіге 16 битке дейін жоғалтусыз JPEG-ті кодтау және декодтау үшін бағдарламалық кітапхананы ұсынады. ISO/IEC Joint Photography Experts Group негізгі JPEG (ISO/IEC 10918 1 және 18477 1) және JPEG XT кеңейтімдерін (ISO/IEC 18477 2 және 6 9 бөлімдері), сондай-ақ JPEG LS (ISO/IEC 14495) кодтай алатын анықтамалық бағдарламалық жасақтаманы ұстап тұрады.

Жалпы сипаттама

JPEG LS – үздіксіз тоналды суреттерді жоғалтусыз/шамалы жоғалтусыз қысу стандарты. Оның ресми белгісі ISO 14495 1/ITU T.87. Бұл қарапайым және тиімді базалық алгоритм, ол модельдеу және кодтау деп аталатын екі тәуелсіз және ерекше кезеңнен тұрады. JPEG LS жоғалтусыз және шамалы жоғалтусыз суреттерді төмен күрделілікпен қысу стандартын ұсыну мақсатымен әзірленді, ол жоғалтусыз JPEG-ге қарағанда жақсы қысу тиімділігін қамтамасыз ете алады. Бұл стандарт сол кездегі Хэффман кодтамасына негізделген жоғалтусыз JPEG стандарты және басқа стандарттардың қысу өнімділігінің шектеулі болуына байланысты әзірленді. Осы нашар стандарттар қолданатын болжамдық қалдықтарының бірінші реттік энтропиясымен толық декорреляцияға қол жеткізу мүмкін емес. Ал JPEG LS жақсы декорреляцияға қол жеткізе алады. Осы стандарттың 1-бөлігі 1999 жылы аяқталды. 2003 жылы шыққан 2-бөлімде арифметикалық кодтау сияқты кеңейтімдер енгізілді. JPEG LS-тің негізгі бөлігі LOCO I алгоритміне негізделген, ол болжам жасауға, қалдықты модельдеуге және қалдықтарды контекстке сәйкес кодтауға негізделген. Бұл техниканың төмен күрделілігінің көп бөлігі болжамдық қалдықтарының екі жақты геометриялық үлестірілімге (дискретті Лаплас үлестірімі деп те аталады) сәйкес келуінен және геометриялық үлестірілімдер үшін шамамен оңтайлы деп танылған Голомб сияқты кодтарды пайдаланудан туындайды. Жоғалтусыз қысудан басқа, JPEG LS сонымен қатар жойғыш режимді ("жоғалтуға жақын") ұсынады, онда максималды абсолютті қателік кодтаушымен бақылана алады.

Өнер көрсету

JPEG LS үшін қысу әдетте JPEG 2000-ден әлдеқайда жылдам және бастапқы жоғалмайтын JPEG стандартынан әлдеқайда жақсы. JPEG LS үшін қысу әдетте JPEG 2000-ға қарағанда сәл нашар, бірақ бұл сурет мазмұнына қатты байланысты. JPEG LS үшін декомпрессия JPEG 2000-ға қарағанда әлдеқайда жылдам, бірақ бұл бағдарламалық жасақтаманың нақты декодер іске асырылуына байланысты. Бұл мәлімдеме ашық кодты іске асырулар үшін қолданылады.

LOCO-I алгоритмі

Кодтау алдында модельдеу сатысында екі қажетті қадам орындалуы тиіс: деректердің өзара тәуелсіздігін жою (болжамдау) және қателіктерді модельдеу.

Қарым-қатынасты жою/есептеу

LOCO I алгоритмінде, көлденең немесе тік жиектердің бастапқы анықталуы, ағымдағы X пикселінің көрші пикселдерін қарастыру арқылы жүзеге асырылады, бұл 3-суретте көрсетілгендей. Тік жиек жағдайында B деп белгіленген пиксель қолданылады, ал көлденең жиек жағдайында A орналасқан пиксель қолданылады. Бұл қарапайым болжаушы Медиандық жиек анықтау (MED) болжаушысы немесе LOCO I болжаушысы деп аталады. LOCO I болжаушысы X пикселін келесідей болжайды:

Үш қарапайым болжаушы келесі шарттарға сәйкес таңдалады: (1) X-тен сол жақта тік жиек болған жағдайда B-ні таңдауға бейім, (2) X-тен жоғары көлденең жиек болған жағдайда A, немесе (3) егер жиек анықталмаса A + B – C.

Контексттік модельдеу

JPEG LS алгоритмі әрбір контекст Ctx ішіндегі сәйкес үлгілік орташа мәндерді пайдалана отырып, болжау қателерінің шартты күтімін бағалайды. Контексттік модельдеудің мақсаты – текстуралық үлгілер мен кескіннің жергілікті белсенділігі сияқты жоғары реттік құрылымдарды болжау қателігін контексттік модельдеу арқылы пайдалану. Контекстер жергілікті градиентті білдіретін көршілес үлгілердің айырмашылықтарын алу арқылы анықталады: Жергілікті градиент көршілес үлгілердің тегіс және жиектілігі сияқты белсенділік деңгейін көрсетеді. Бұл айырмашылықтар болжау қателерінің статистикалық мінез-құлқымен тығыз байланысты екенін ескеріңіз. Жоғарыдағы теңдеуде табылған әрбір айырмашылық шамамен тең ықтимал және байланысты аймақтарға квантталады. JPEG LS үшін g1, g2 және g3 айырмашылықтары 9 аймаққа квантталады және аймақтар -4-тен 4-ке дейін индекстеледі. Кванттаудың мақсаты – жоғары реттік тәуелділіктерді анықтауға мүмкіндік беретін ағымдағы үлгілік мән мен оның контексі арасындағы өзара ақпаратты барынша арттыру. Контекстерді оң және теріс белгілері біріктірілгеннен кейін, контекстердің жалпы саны контекстер болып табылады деген болжамға негізделген. Көлденеңді бағалауды әрбір контексттегі жиынтық болжау қателерін контекст кездесу санына бөлу арқылы алуға болады. LOCO I алгоритмінде бұл процедура өзгертіліп, жақсартылды, соның салдарынан қосу және алу операцияларының саны азайтылды. Бөлу операциясынсыз көлденеңді есептеу процедурасы болжауды жетілдіруде көрсетілген, содан кейін осы бағалауларды кері байланыс механизмінде қолдану арқылы әртүрлі контекстерде болжау қателіктерін жоюға болады.

Кодтау түзетілген болжау қалдықтары

JPEG LS-тің қалыпты режимінде стандарт Golomb-Rice кодтарын қолданады, олар теріс емес тізбектердің ұзындығын кодтаудың бір жолы. Оның оптималды кодтау шамасы 2k болатын ерекше жағдайы, кодтау процедураларын жеңілдетуге мүмкіндік береді.

Біркелкі аймақтарда ұзындықты кодтау

Голомб-Райс кодтары төмен энтропиялы үлестірілімдерді кодтау үшін тиімсіз, себебі кодтау жылдамдығы символға кемінде бір битті құрайды. Суреттегі тегіс аймақтарды символға бір биттен кем кодтауға болатындықтан, маңызды артық код пайда болуы мүмкін. Энтропиядан артық код ұзындығын болдырмау үшін, жеке символдарды кодтаудың орнына символдар блогын кодтайтын әліпби кеңейтуін қолдануға болады. Бұл артық код ұзындығын көптеген символдарға бөліп таратады. Бұл JPEG LS форматының "жүгіру" режимі болып табылады және ол нөлдік градиенттері бар тегіс немесе жазық контекст аймағы анықталғаннан кейін іске қосылады. "a" батыс символы күтіледі, ал жүгіру жаңа символ пайда болғанда немесе жолдың соңына жеткенде аяқталады. Жүгірудің жалпы ұзындығы кодталады, содан кейін кодтаушы "қалыпты" режимге оралады.

JPEG 2000

JPEG 2000 арнайы бүтін сан толқын сүзгісіне (биортогональды 3/5) негізделген жоғалтусыз режимді қамтиды. JPEG 2000-нің жоғалтусыз режимі жасанды және құрама суреттерде JPEG LS-тен баяу жұмыс істейді және көбінесе нашар қысу қатынастарын көрсетеді, бірақ цифрлық камерада түсірілген суреттерде JPEG LS-тің UBC нұсқасынан жақсы нәтижелер береді. JPEG 2000 сонымен қатар масштабталатын, прогрессивті және кеңінен қолданылатын мүмкіндіктерге ие.

JPEG XT

JPEG XT JPEG 2000-нан алынған толқындық сығылу негізіндегі, жоғалтусыз бүтін санды бүтін санға түрлендіретін DCT режимін қамтиды.

JPEG XL

JPEG XL жоғалтусыз/шамалы жоғалтулы/жауапты режимді қамтиды, ол "модульді" деп аталады және қалау бойынша өзгертілген Haar трансформациясын ("сығу" деп аталады) пайдаланады. Бұл режим VarDCT режиміндегі DC (1:8 масштабтағы) кескінді кодтау үшін, сондай-ақ адаптивті кванттау өрістері немесе альфа сияқты қосымша арналар сияқты әртүрлі қосымша кескіндерді кодтау үшін де қолданылады.