Кіріспе
Жоғалған суретті сығыстыру алгоритмі. Толқындық трансформациялардың енгізілген нөлдік ағаштары (EZW) — жоғалған суретті сығыстыру алгоритмі. Төмен біттік жылдамдықтарда, яғни жоғары сығылу коэффициенттерінде, субдиапазондық түрлендіру (мысалы, толқындық түрлендіру) арқылы алынған коэффициенттердің көпшілігі нөлге тең болады немесе нөлге өте жақын болады. Бұл «нақты әлемдегі» суреттер көбінесе төмен жиілікті ақпараттан (көп байланысты) тұратындығына байланысты. Дегенмен, жоғары жиілікті ақпарат пайда болған кезде (мысалы, суреттегі шеттер), бұл адамның сурет сапасын қабылдауы үшін өте маңызды және сондықтан кез келген жоғары сапалы кодтау схемасында дәл көрсетілуі керек. Трансформацияланған коэффициенттерді тамыр түйініндегі ең төменгі жиілікті коэффициенттері бар ағаш (немесе ағаштар) ретінде қарастыра отырып, және әрбір ағаш түйінінің балалары келесі жоғары жиілікті субдиапазондағы кеңістіктік байланысты коэффициенттер болып табылады. Онда бір немесе бірнеше кіші ағаштар толығымен нөлге тең немесе нөлге жақын коэффициенттерден тұруы мүмкін, мұндай кіші ағаштар нөлдік ағаштар деп аталады. Осыған байланысты, түйін және коэффициент терминдерін бір-бірімен алмастыра қолданамыз, ал коэффициенттің балалары туралы айтқанда, сол коэффициент орналасқан ағаштағы түйіннің бала коэффициенттерін білдіреміз. Ағаштың төменгі жағындағы тікелей байланысты түйіндерге сілтеме жасау үшін «балалар» терминін, ал ағаштағы белгілі бір түйіннен төменгі жатқан барлық түйіндерге сілтеме жасау үшін «немерелер» терминін қолданамыз, тіпті тікелей байланыста болмаса да. EZW және SPIHT сияқты нөлдік ағаштарға негізделген суретті сығыстыру схемаларында маңызды коэффициенттердің орналасуын тиімді кодтау үшін ағаштардың статистикалық қасиеттерін пайдалану көзделеді. Коэффициенттердің көпшілігі нөлге тең немесе нөлге жақын болғандықтан, маңызды коэффициенттердің кеңістіктегі орналасуы әдеттегі сығылған суреттің жалпы көлемінің үлкен бөлігін құрайды. Коэффициент (сондай-ақ ағаш) егер оның абсолюттік шамасы (немесе ағаш жағдайында түйіннің және оның барлық немерелерінің абсолюттік шамалары) белгілі бір шектен жоғары болса, маңызды деп есептеледі. Ең жоғары коэффициент шамаларына жақын шектен бастап және оны қайталап азайту арқылы, суреттің прогрессивті түрде егжей-тегжейлі болатын сығылған нұсқасын жасауға болады. Ағаштардың құрылымына байланысты, егер белгілі бір жиілік диапазонындағы коэффициент маңызды болмаса, оның барлық немерелері (кеңістіктік байланысты жоғары жиілікті диапазондағы коэффициенттер) де маңызды болмайды. EZW төрт символ қолданады: (а) нөлдік тамыр, (б) оқшауланған нөл (маңызды емес, бірақ маңызды немерелері бар коэффициент), (в) маңызды оң коэффициент және (г) маңызды теріс коэффициент. Символдар екі бинарлық битпен көрсетілуі мүмкін. Сығыстыру алгоритмі басым және бағынышты өтулерден тұратын бірнеше итерациялардан тұрады, әр итерациядан кейін шек жаңартылады (екі есеге азайтылады). Басым өту бұрынғы итерацияларда әлі маңызды болып табылмайтын коэффициенттердің маңыздылығын кодтайды, ағаштарды сканерлеу және төрт символдың біреуін шығару арқылы. Коэффициенттің балалары тек коэффициент маңызды деп табылса немесе коэффициент оқшауланған нөл болса ғана сканерленеді. Бағынышты өту әрбір коэффициент үшін бір бит шығарады (осы уақытқа дейін шығарылмаған ең маңызды бит), бұл коэффициенттер алдыңғы маңызды өтулерде маңызды деп табылған. Сондықтан бағынышты өту бит жазылымдағы кодтауға ұқсас. Бірнеше маңызды ескертулер бар. Біріншіден, сығыстыру алгоритмін кез келген уақытта тоқтатуға болады және бастапқы суреттің жуық нұсқасын алуға болады, ал алынған биттердің саны неғұрлым көп болса, суреттің сапасы соғұрлым жақсы болады. Екіншіден, сығыстыру алгоритмі шешімдер сериясі ретінде құрылғандықтан, сол алгоритм декодерде коэффициенттерді қайта құру үшін де қолданылуы мүмкін, бірақ шешімдер кіріс бит ағынына сәйкес қабылданады. Практикалық іске асыруда, басым өтудің жұмысын жақсарту үшін арифметикалық код сияқты энтропиялық кодты пайдалану әдеттегідей. Бағынышты өтуден алынған биттер көбінесе жеткілікті түрде кездейсоқ болады, сондықтан энтропиялық кодтау қосымша сығылуды қамтамасыз етпейді. EZW-нің кодтау өнімділігі SPIHT және оның көптеген туындыларымен асып кетті.
Embedded zerotrees of wavelet transforms (EZW) is a lossy image compression algorithm. At low bit rates, i. e. high compression ratios, most of the coefficients produced by a subband transform (such as the wavelet transform) will be zero, or very close to zero. This occurs because "real world" images tend to contain mostly low frequency information (highly correlated). However where high frequency information does occur (such as edges in the image) this is particularly important in terms of human perception of the image quality, and thus must be represented accurately in any high quality coding scheme. By considering the transformed coefficients as a tree (or trees) with the lowest frequency coefficients at the root node and with the children of each tree node being the spatially related coefficients in the next higher frequency subband, there is a high probability that one or more subtrees will consist entirely of coefficients which are zero or nearly zero, such subtrees are called zerotrees. Due to this, we use the terms node and coefficient interchangeably, and when we refer to the children of a coefficient, we mean the child coefficients of the node in the tree where that coefficient is located. We use children to refer to directly connected nodes lower in the tree and descendants to refer to all nodes which are below a particular node in the tree, even if not directly connected. In zerotree based image compression scheme such as EZW and SPIHT, the intent is to use the statistical properties of the trees in order to efficiently code the locations of the significant coefficients. Since most of the coefficients will be zero or close to zero, the spatial locations of the significant coefficients make up a large portion of the total size of a typical compressed image. A coefficient (likewise a tree) is considered significant if its magnitude (or magnitudes of a node and all its descendants in the case of a tree) is above a particular threshold. By starting with a threshold which is close to the maximum coefficient magnitudes and iteratively decreasing the threshold, it is possible to create a compressed representation of an image which progressively adds finer detail. Due to the structure of the trees, it is very likely that if a coefficient in a particular frequency band is insignificant, then all its descendants (the spatially related higher frequency band coefficients) will also be insignificant. EZW uses four symbols to represent (a) a zerotree root, (b) an isolated zero (a coefficient which is insignificant, but which has significant descendants), (c) a significant positive coefficient and (d) a significant negative coefficient. The symbols may be thus represented by two binary bits. The compression algorithm consists
of a number of iterations through a dominant pass and a subordinate pass, the threshold is updated (reduced by a factor of two) after each iteration. The dominant pass encodes the significance of the coefficients which have not yet been found significant in earlier iterations, by scanning the trees and emitting one of the four symbols. The children of a coefficient are only scanned if the coefficient was found to be significant, or if the coefficient was an isolated zero. The subordinate pass emits one bit (the most significant bit of each coefficient not so far emitted) for each coefficient which has been found significant in the previous significance passes. The subordinate pass is therefore similar to bit plane coding. There are several important features to note. Firstly, it is possible to stop the compression algorithm at any time and obtain an approximation of the original image, the greater the number of bits received, the better the image. Secondly, due to the way in which the compression algorithm is structured as a series of decisions, the same algorithm can be run at the decoder to reconstruct the coefficients, but with the decisions being taken according to the incoming bit stream. In practical implementations, it would be usual to use an entropy code such as arithmetic code to further improve the performance of the dominant pass. Bits from the subordinate pass are usually random enough that entropy coding provides no further coding gain. The coding performance of EZW has since been exceeded by SPIHT and its many derivatives.
Кіріспе
1993 жылы J. Shapiro әзірлеген кіріктірілген нөлдік ағаш толқын алгоритмі (EZW) бейнелерді өлшемелі түрде беруге және декодтауға мүмкіндік береді. Ол төрт негізгі ұғымға негізделген: біріншіден, дискретті толқындық түрлендіру немесе иерархиялық поддиапазондық жіктелу болуы керек; екіншіден, бейнелердегі өзіне ұқсастықты зерттегенде маңызды ақпараттың болмауын болжауы керек; үшіншіден, энтропиялық кодталған кезекті жақындату квантталуына ие болуы керек, және төртіншіден, адаптивті арифметикалық кодтау арқылы жалпы жоғалтусыз деректерді сығуға қабілетті болуы керек. Сонымен қатар, EZW алгоритмі келесі мүмкіндіктерге ие:
(1) Бейнеде ықшам көп ажыратымдылықтағы бейнелеуді пайдалана алатын дискретті толқындық түрлендіру. (2) Маңызды карталардың ықшам көп ажыратымдылықтағы бейнелеуін қамтамасыз ететін нөлдік ағаш кодтау. (3) Маңызды коэффициенттердің ықшам көп дәлдігін көрсету үшін кезекті жақындату. (4) Басымдық протоколы, онда маңыздылығы толқындық коэффициенттердің дәлдігі, шамасы, масштабы және кеңістіктік орналасуы бойынша анықталады. (5) Көп деңгейлі адаптивті арифметикалық кодтау, бұл символдар тізбектерін энтропиялық кодтаудың жылдам және тиімді әдісі.
А. Маңыздылық картасының коэффициентін кодтау
Маңыздылық картасында коэффициенттер келесі төрт түрлі символдармен көрсетілуі мүмкін. Осы символдарды сурет ақпаратын көрсету үшін пайдалану кодирование процесін жеңілдетеді.
1. Нөлдік ағаштың түбірі
Егер коэффициенттің мөлшері T шегінен кем болса және оның барлық туыстастары T-дан кем болса, онда бұл коэффициент нөлдік тамыр деп аталады. Егер коэффициент нөлдік тамыр деп белгіленген болса, оның барлық туыстастары маңызсыз дегенді білдіреді, сондықтан олардың туыстастарын белгілеудің қажеті жоқ.
2. Оқшауланған нөл
Егер коэффициенттің шамасы T шегінен кіші болса, бірақ оның маңызды түрғандары болса, онда бұл коэффициент оқшауланған нөл деп аталады.
3. Оң мәнді коэффициент
Егер коэффициенттің шамасы T деңгейіндегі T шегінен жоғары болса және оң болса, онда ол маңызды оң коэффициент болып саналады.
4. Теріс маңызды коэффициент
Егер коэффициенттің шамасы T деңгейіндегі T шегінен жоғары болса және теріс болса, онда ол маңызды теріс коэффициент болып саналады.
B. Шекті деңгейді анықтау
Жоғарыда айтылған шекті мән мына түрде анықталады.
C. Коэффициенттердің сканерлеу тәртібі
Растрлық сканерлеу – суретті түсіру және қайта құрудың тіктөртбұрышты үлгісі. EZW түрлендіруінде осы сканерлеуді қолдану – коэффициенттерді осылай етіп сканерлеу, яғни кез келген дочерный түйін өзінің аталық түйінінен бұрын сканерленбеуі керек. Сондай-ақ, келесі субдиапазонға өту алдында берілген субдиапазонның барлық позициялары сканерленеді.
(1) Тазарту (немесе бағынысты өту)
Бұл коэффициент [Ti, 2Ti] аралығында екенін анықтайды. Әрбір маңызды коэффициент үшін нақтылау биті кодталады. Бұл әдіс бойынша маңызды коэффициенттер суббайтақтар ішінде шамасы және растр тәртібі бойынша қарастырылады.
(2) Елеулі өту (немесе басым өту)
Бұл әдіс әлі маңызды емес деп табылған әрбір коэффициент үшін бит кодтайды. Маңыздылығы анықталғаннан кейін, маңызды коэффициент келесі өңдеу үшін тізімге қосылады. Ал егер коэффициент бұрыннан нөл екені белгілі болса, ол қайтадан кодталмайды.