Кіріспе
JPEG XR (JPEG extended range) - бұл Microsoft бастапқыда әзірлеген және патенттелген HD Photo (бұрын Windows Media Photo) ерекшеліктеріне негізделген үздіксіз фотосуреттер үшін сурет сығымдалу стандарты. Ол жоғалтусыз және жоғалтусыз қысылуын қолдайды және Ecma 388 Open XML Paper Specification құжаттары үшін таңдалған кескін форматы болып табылады. Форматқа қолдау Adobe Flash Player 11.0, Adobe AIR 3.0, Sumatra PDF 2.1, Windows Imaging Component, NET Framework 3.0, Windows Vista, Windows 7, Windows 8, Internet Explorer 9, Internet Explorer 10, Internet Explorer 11, Pale Moon 27.2 бағдарламаларында қол жетімді болды. 2021 жылдың қаңтарына қарай JPEG XR форматында фотосурет түсіретін камералар әлі жоқ еді. JXR) пішімі.
JPEG XR (JPEG extended range) is an image compression standard for continuous tone photographic images, based on the HD Photo (formerly Windows Media Photo) specifications that Microsoft originally developed and patented. It supports both lossy and lossless compression, and is the preferred image format for Ecma 388 Open XML Paper Specification documents. Support for the format was made available in Adobe Flash Player 11.0, Adobe AIR 3.0, Sumatra PDF 2.1, Windows Imaging Component, NET Framework 3.0, Windows Vista, Windows 7, Windows 8, Internet Explorer 9, Internet Explorer 10, Internet Explorer 11, Pale Moon 27.2. As of January 2021, there were still no cameras that shoot photos in the JPEG XR (. JXR) format.
Тарих
Microsoft алғаш рет Windows Media Photo-ды WinHEC 2006 көрмесінде жариялады, содан кейін сол жылдың қарашасында HD Photo деп қайта атады. 2007 жылдың шілдесінде бірлескен фотосурет сарапшылары тобы мен Microsoft HD Photo JPEG XR стандартына айналуды қарастырып жатқанын жариялады. 2009 жылдың 16 наурызында JPEG XR ITU T T.832 ұсынысы ретінде түпкілікті мақұлданды және 2009 жылдың сәуірінен бастап ITU T-дан "алдын-ала жарияланған" түрінде қол жетімді болды. ITU T 2009 жылдың желтоқсанында бекітілген түзетумен өзінің жариялауын жаңартты. 2010 жылы, сурет кодтау ерекшелігі аяқталғаннан кейін, ITU T және ISO / IEC сонымен қатар JPEG XR үшін қозғалыс форматы ерекшелігін (ITU T T.833 ISO / IEC 29199 3), сәйкестік сынақ жиынтығын (ITU T T.834 ISO / IEC 29199 4) және анықтамалық бағдарламалық қамтамасыз етуді (ITU T T.835 ISO / IEC 29199 5) жариялады. 2011 жылы олар JPEG XR суреттерін қолданбаларда пайдалану үшін жұмыс ағыны архитектурасын сипаттайтын техникалық есепті жариялады (ITU T T. Sup2 ISO / IEC TR 29199 1).
In 2010, after completion of the image coding specification, the ITU T and ISO/IEC also published a motion format specification (ITU T T.833 | ISO/IEC 29199 3), a conformance test set (ITU T T.834 | ISO/IEC 29199 4), and reference software (ITU T T.835 | ISO/IEC 29199 5) for JPEG XR. In 2011, they published a technical report describing the workflow architecture for the use of JPEG XR images in applications (ITU T T. Sup2 | ISO/IEC TR 29199 1).
Контейнердің пішімі
JPEG XR кескін деректерін сақтау үшін пайдаланылатын файл контейнерінің бір форматы JPEG XR стандартының А қосымшасында көрсетілген. Бұл TIFF сияқты форматта Image File Directory (IFD) тегтерінің кестесін пайдаланады. JPEG XR файлында IFD тегтерінде бейне деректері, қосымша альфа арна деректері, метадеректер, RDF/XML ретінде сақталған қосымша XMP метадеректер және қосымша Exif метадеректер бар. Сурет деректері - бұл деректердің бір-біріне жалғасқан, өздігінен қамтылған бөлігі. Егер бар болса, ерікті альфа арнаны жеке бейне жазбасы ретінде сығылуы мүмкін, бұл ашықтық деректерін қолдайтын қолданбаларда ашықтық деректеріне тәуелсіз бейне деректерін кодтауды қамтамасыз етеді. (Біріншіден, JPEG XR сонымен қатар "жапырақталған" альфа арна форматын қолдайды, онда альфа арна деректері басқа бейне деректерімен бірге бір ғана сығылған код ағынында кодталады.) TIFF негізделген бұл формат TIFF форматының барлық шектеулерін, соның ішінде 4 ГБ файл өлшемін шектейтін, HD Photo спецификациясына сәйкес "болашақтағы жаңартуда қарастырылады". JPEG комитетінде JPEG XR бейне кодтамасын JPX файл сақтау форматында пайдалануды қамтамасыз ету үшін жаңа жұмыс басталды. Бұл JPIP протоколын пайдалануға мүмкіндік береді, ол желідегі бейнелерді интерактивті шолуды қамтамасыз етеді.
Сығу алгоритмі
JPEG XR-дің дизайны JPEG-ге тұжырымдамалық жағынан өте ұқсас: бастапқы кескін ерікті түрде luma chroma түстер кеңістігіне айналады, хрома жазықтықтары ерікті түрде субарондалады, әр жазықтық белгіленген өлшемді блоктарға бөлінеді, блоктар жиілік доменіне айналады, ал жиілік коэффициенттері квантталады және энтропия кодталады. Негізгі айырмашылықтарға мыналар жатады: JPEG 8 және 12 бит бит тереңдіктерін қолдайды; JPEG XR 32 битке дейінгі бит тереңдіктерін қолдайды. JPEG XR сонымен қатар жылжымалы нүктелік кескін деректерін жоғалтпай және жоғалтпай сығылуын қолдайды (жылжымалы нүктелік мәндерді IEEE 754 сияқты форматта бейнелеу арқылы және оларды бүтін сандар ретінде кодтау арқылы) және RGBE кескіндері. JFIF және басқа да типтік бейне кодтау әдістері RGB-дан YCbCr-ге сызықтық түрлендіруді анықтайды, бұл практикада дөңгелектеу қатесіне байланысты аз жоғалады. JPEG XR жоғалтусыз түстер кеңістігі түрлендіруін анықтайды, атап айтқанда YCoCg R, RGB үшін: JPEG жиілік түрлендіру үшін 8 × 8 блокты қолданған кезде, JPEG XR негізінен 4 × 4 блок түрлендіруін қолданады. (2 × 4 және 2 × 2 түрлендірулер хроматикалық субнақтылауды қамтитын ерекше жағдайларда да анықталады; кодтаушы нұсқаларға YUV 444, YUV 422, YUV 420 және тек монохромды Y кіреді.) JPEG бір трансформация сатысын қолданған кезде, JPEG XR өзінің 4 × 4 өзекті трансформациясын 16 × 16 макроблок аймақтарында екі деңгейлі иерархиялық түрде қолданады. Бұл трансформацияға көп резолюциялы иерархияға ұқсас толқындық береді және оның сығылу қабілетін жақсартады. DCT, JPEG қолданған жиілік түрлендіруі, айналдыру қатесіне байланысты сәл жоғалады. JPEG XR көтеру схемасын қолдана отырып бүтін санды түрлендіру түрін қолданады. Қажетті трансформация, фото ядролық трансформация (PCT) деп аталады, 4 × 4 DCT-ге ұқсайды, бірақ жоғалтусыз (дәл дәл кері). Шын мәнінде, бұл binDCT деп аталатын екілік достық көбейтуші кем трансформацияларының үлкен отбасының нақты іске асырылуы. JPEG XR өзінің 4 × 4 өзекті трансформациялайтын PCT кезеңдерінің әрқайсысынан бұрын Photo Overlap Transform (POT) деп аталатын, қосымша үстіртпелі алдын ала сүзгілеу сатысын жүргізуге мүмкіндік береді. JPEG-де DCT блоктарының DC коэффициенттері сол жақ көрші трансформация блогынан DC болжамын қолдану арқылы болжанады және басқа коэффициенттер болжанбайды. JPEG XR-де 4 × 4 блоктар 16 × 16 үлгілер макроблоктарына топтастырылады, ал әр макроблоқтың 4 × 4 блоктарынан 16 DC коэффициенттері жиілік түрлендірудің басқа деңгейінен өтеді, энтропия кодталатын коэффициенттердің үш түрі қалдырылады: макроблоктағы DC коэффициенттері (DC деп аталады), макроблоктағы деңгейдегі AC коэффициенттері (lowpass деп аталады) және төменгі деңгейдегі AC коэффициенттері (AC деп аталады). Трансформация блоктарындағы коэффициент мәндерін болжау DC коэффициенттеріне және қосымша AC коэффициенттерінің жолдарына немесе бағандарына қолданылады. JPEG XR кескінді кішірек жеке тікбұрышты плиткалар аймақтарына бөлшектеу арқылы кодтауды қолдайды. Әрбір плитканың аймағын суреттің басқа аймақтарынан тәуелсіз түрде кодтауға болады. Бұл бүкіл суретті декодтамай, суреттердің кеңістіктік аймақтарына тез қол жеткізуге мүмкіндік береді. JPEG XR-дің энтропиялық кодтау кезеңі JPEG-ге қарағанда бейімделу және күрделі, DC және AC коэффициентін болжау схемасын, бейімделу коэффициентін қайта реттеуді (JPEG-дің тұрақты зигзагтық ретке келтіруінен айырмашылығы) және коэффициенттердің өздеріне бейімделуші Хэффман кодтау түрін қамтиды. JPEG әр DC / AC компоненті үшін әр сурет үшін бір түсті жазықтықты пайдаланады. JPEG XR тақталық аймақ негізінде DC кванттау қадамдарының өлшемдерін таңдауға мүмкіндік береді және төменгі өту және AC кванттау қадамдарының өлшемдерін макроблоктан макроблоққа дейін өзгертуге мүмкіндік береді. Кванттаудан басқа барлық кодтау фазалары жоғалтусыз болғандықтан, барлық кванттау коэффициенттері 1-ге тең болған кезде JPEG XR жоғалтусыз болады. Бұл JPEG үшін дұрыс емес. JPEG DCT қолданбайтын жеке жоғалтусыз режімді анықтайды, бірақ ол libjpeg-те іске асырылмаған, сондықтан кеңінен қолдау таппайды. HD Photo бит ағыны спецификациясы "HD Photo JPEG 2000-ге тең келетін бейне сапасын ұсынады, ал есептеу және жад өнімділігі JPEG-ге қарағанда жақсы", " JPEG-ге қарағанда жақсы қабылдау сапасының жоғалған қысылған бейнесін файл өлшемі жартысынан аз" және " жоғалмайтын қысылған бейнелер әдетте бастапқы сығымдалмаған деректерге қарағанда 2,5 есе кішірек".
JPEG supports bit depths of 8 and 12 bits; JPEG XR supports bit depths of up to 32 bits. JPEG XR also supports lossless and lossy compression of floating point image data (by representing the floating point values in an IEEE 754 like format, and encoding them as though they were integers) and RGBE imagery. JFIF and other typical image encoding practices specify a linear transformation from RGB to YCbCr, which is slightly lossy in practice because of roundoff error. JPEG XR specifies a lossless colorspace transformation, namely YCoCg R, given (for RGB) by:
While JPEG uses 8 × 8 blocks for its frequency transformation, JPEG XR primarily uses 4 × 4 block transforms. (2 × 4 and 2 × 2 transformations are also defined for special cases involving chroma subsampling; encoder options include YUV 444, YUV 422, YUV 420, and a monochrome Y only.) While JPEG uses a single transformation stage, JPEG XR applies its 4 × 4 core transform in a two level hierarchical fashion within 16 × 16 macroblock regions. This gives the transform a wavelet like multi resolution hierarchy and improves its compression capability. The DCT, the frequency transformation used by JPEG, is slightly lossy because of roundoff error. JPEG XR uses a type of integer transform employing a lifting scheme. The required transform, called the Photo Core Transform (PCT), resembles a 4 × 4 DCT but is lossless (exactly invertible). In fact, it is a particular realization of a larger family of binary friendly multiplier less transforms called the binDCT. JPEG XR allows an optional overlap prefiltering step, called the Photo Overlap Transform (POT), before each of its 4 × 4 core transform PCT stages. In JPEG, the image DC coefficients of the DCT blocks are predicted by applying DC prediction from the left neighbor transform block, and no other coeffients are predicted. In JPEG XR, 4 × 4 blocks are grouped into macroblocks of 16 × 16 samples, and the 16 DC coefficients from the 4 × 4 blocks of each macroblock are passed through another level of frequency transformation, leaving three types of coefficients to be entropy coded: the macroblock DC coefficients (called DC), macroblock level AC coefficients (called "lowpass"), and lower level AC coefficients (called AC). Prediction of coefficient values across transform blocks is applied to the DC coefficients and to an additional row or column of AC coefficients as well. JPEG XR supports the encoding of an image by decomposing it into smaller individual rectangular tile area regions. Each tile area can be decoded independently from the other areas of the picture. This allows fast access to spatial areas of pictures without decoding the entire picture. JPEG XR's entropy coding phase is more adaptive and complex than JPEG's, involving a DC and AC coefficient prediction scheme, adaptive coefficient reordering (in contrast to JPEG's fixed zigzag ordering), and a form of adaptive Huffman coding for the coefficients themselves. JPEG uses a single quantization step size per DC/AC component per color plane per image. JPEG XR allows a selection of DC quantization step sizes on a tile region basis, and allows lowpass and AC quantization step sizes to vary from macroblock to macroblock. Because all encoding phases except quantization are lossless, JPEG XR is lossless when all quantization coefficients are equal to 1. This is not true of JPEG. JPEG defines a separate lossless mode which does not use the DCT, but it is not implemented by libjpeg and therefore not widely supported. The HD Photo bitstream specification claims that "HD Photo offers image quality comparable to JPEG 2000 with computational and memory performance more closely comparable to JPEG", that it "delivers a lossy compressed image of better perceptive quality than JPEG at less than half the file size", and that "lossless compressed images are typically 2.5 times smaller than the original uncompressed data".
Лицензиялау
Microsoft компаниясының JPEG XR технологиясына патенті бар. 2007 жылдың қаңтарында Microsoft өкілі HD Photo қолдануды және қолдануды ынталандыру үшін, спецификация Microsoft Open Specification Promise бойынша қол жетімді деп мәлімдеді, бұл Microsoft спецификацияны тегін іске асыруға мүмкіндік береді және оның іске асырылуы үшін патенттелген технология бойынша сотқа шағым жасамайды, деп мәлімдеді Microsoft Rich Media Group директоры Джош Вайсберг. 2010 жылдың 15 тамызынан бастап Microsoft өзінің "Қоғамдық уәдесі" бойынша JPEG XR стандартын қолжетімді етті. 2010 жылдың шілдесінде JPEG XR стандартын іске асыру үшін эталондық бағдарламалық қамтамасыз ету ITU T T.835 ұсынысы және ISO/IEC 29199 5 халықаралық стандарты ретінде жарияланды. Microsoft осы басылымдарды өзінің "Коммунитетке арналған уәдесі" бойынша қамтылған спецификациялардың тізіміне енгізді. Бұл бұрын шығарылған "HD Photo Device Porting Kit" үйлесімсіз болған GNU General Public License сияқты танымал ашық бастапқы кодтық лицензиялар бойынша таратылған бағдарламалық жасақтамаларда енгізілген кітапхананың лицензиялық мәселелерін шешті.