Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

JPEG XS

From Wikipedia, the free encyclopedia
Low-latency video compression standard
JPEG XS
Filename extension.jxs
Internet media type
image/jxsc, video/jxsv[1]
Magic number0xFF10 FF50
Developed byJoint Photographic Experts Group
Initial releaseMay 1, 2019; 6 years ago (2019-05-01)
Type of formatLossy andlosslessimage compressionformat
StandardISO/IEC 21122
Websitejpeg.org/jpegxs/

JPEG XS (standardized asISO/IEC 21122) is an image and video codec that offers both visually and mathematically lossless quality. It is a special-purpose codec that is specifically designed to allow for low-complexity andlow-latency implementations.[2][3] Target applications of the standard include streaming high-quality content forprofessional video over IP (SMPTEST 2022 andST 2110) in broadcast and other applications,virtual reality, drones, autonomous vehicles using cameras, gaming.[2][4][5] Although there is not an official acronym definition, XS was chosen to highlight theextra small andextra speed characteristics of the codec.

Features

[edit]

Three main features are key to JPEG XS:

  1. Visually transparent compression: XS compressed content is indistinguishable from the original uncompressed content (passing ISO/IEC 29170-2 tests, also called AIC-2) for compression ratios between 2:1 and 10:1.
  2. Low latency: The total end-to-end latency, introduced by the JPEG XS compression-decompression cycle, is minimal. Depending on the configuration, XS typically imposes only between 1 and 32 lines of additional end-to-end latency, when compared to the same system using uncompressed video.
  3. Lightweight: JPEG XS is designed to have lowcomputational and memory complexity, allowing for efficient low-power and low-resource implementations on various platforms such asCPU,GPU,FPGA andASIC.

Relying on these key features, JPEG XS is suitable for any application where uncompressed content is the norm, yet still allowing for significant savings in the required bandwidth usage, preserving quality and low latency. Among the targeted use cases are video transport over professional video links (likeSDI andprofessional video over IP), real-time video storage, memory buffers, omnidirectional video capture and rendering, and image sensor compression (for example in cameras and in the automotive industry).[6] JPEG XS favors visually lossless quality in combination with low latency and low complexity, over data reduction through compression. It is not a direct competitor to alternative image codecs likeJPEG 2000 andJPEG XL or video codecs likeAV1,AVC/H.264 andHEVC/H.265 which tend to focus on compression efficiency.

Other important features are:

  1. Exact bitrate allocation: JPEG XS allows an accurately targeted bitrate to perfectly match the available bandwidth (also referred to asconstant bitrate).
  2. Multi-generation robustness: JPEG XS allows for at least 10 encoding-decoding cycles, without significant quality degradation.[7] This feature allows for example transparently chaining of multiple devices that recompress the signal, without any significant quality degradation taking place.
  3. Multi-platform interoperability: The algorithms used in JPEG XS allow for efficient implementations on different platforms, likeCPU,GPU,FPGA andASIC. Each of these platform architectures is best exploited when a specific degree of parallelism is available in the implementation. For instance, a multi-core CPU implementation will leverage a coarse-grained parallelism, while GPU or FPGA will work better with a fine-grained parallelism. Moreover, the choice of parallelism used in the implementation at the encoder will not affect that of the decoder. This means that real-time encoding and decoding between platforms is possible, without sacrificing the low-complexity, low-latency or high-quality properties.
  4. Support for mathematicallossless coding (MLS): JPEG XS is also capable of coding images in a mathematically lossless way, to achieve perfect reconstruction at the decoder side (new profile supported by 2nd edition).
  5. Support forHigh Dynamic Range (HDR) content: The current version of JPEG XS supports bit-depths of up to 16 bits per component, and it provides several parameterizable non-linear transforms to efficiently compress HDR content.
  6. Support for RAW Bayer/CFA compression: JPEG XS has also the capability to compresscolor filter array (CFA) content, such as RAWBayer content produced by digital cameras. A special color transform, called Star-Tetrix, allows for efficient and direct compression of the original RAW sample values, without the need for converting the Bayer samples to RGB samples first.[8]
  7. Accurate flow control: A JPEG XS encoder continuously monitors the amount of bits sent out, and adjusts its rate allocation process to neither overflow nor underflow a normatively[9] defined decoder input buffer.

Application domains

[edit]

JPEG XS is actively used in several application domains.[10]

Transport over video links and IP networks

[edit]

Video bandwidth requirements are growing as video resolutions, frame rates, bit depths, and the number of video streams are constantly increasing. Although the capacities of video links and communication channels are also growing, there are applications where the reduced data rate afforded by JPRG-XS is advantageous.

Both the broadcast and pro-AV markets are shifting towards AV-over-IP-based infrastructure, with a preference going toGigabit Ethernet links for remote production and faster fiber-based Ethernet for in-house facilities. Given the available bandwidth and infrastructure cost, relying on uncompressed video may be cost-prohibitive if 4K, 8K, increased bit depths for HDR, and higher framerates need to be supported.

With XS, it is for example possible to repurpose existing SDI cables to transport 4K60 over a single 3G-SDI (at 4:1 compression ratio), and even over a single HD-SDI (at 8:1 compression ratio). Similar scenarios can be used to transport 8K60 content over various SDI cable types (e.g. 6G-SDI and 12G-SDI). Alternatively, XS enables transporting 4K60 content over Gigabit Ethernet and 8K60 over 5G or10 Gigabit Ethernet, which would be impossible without compression.

The following table shows expected compression ranges for some typical use cases.

Video streamVideo throughputLink typeAvailable throughputCompression ratio
2k 60 fps 4:2:2 10 bpc2.7 Gbit/sHD-SDI1.33 Gbit/s~2:1
4k 60 fps 4:2:2 10 bpc10.6 Gbit/s3G-SDI2.65 Gbit/s~4:1
2k 60 fps 4:2:2 10 bpc2.7 Gbit/s1G Ethernet0.85 Gbit/s~3:1
2k 60 fps 4:4:4 12 bpc4.8 Gbit/s1G Ethernet0.85 Gbit/s~6:1
4k 60 fps 4:4:4 12 bpc19.1 Gbit/s10G Ethernet7.96 Gbit/s~2.2:1
8k 60 fps 4:2:2 10 bpc42.5 Gbit/s10G Ethernet7.96 Gbit/s~6:1
8k 120 fps 4:2:2 10 bpc84.9 Gbit/s25G Ethernet21.25 Gbit/s~4:1

Real-time video storage and playout

[edit]

Related to the transport of video streams is the storage and retrieval of high-resolution streams where bandwidth limitations similarly apply. For instance, video cameras use internal storage likeSSD drives orSD cards to record high-resolution streams of images, yet the maximum data rates of such storage devices may be below that required to store uncompressed video in real time.

Sensor compression

[edit]

JPEG XS has built-in support for the direct compression of RAWBayer/CFA images using the Star-Tetrix Color Transform. This transform takes a RAW Bayer pattern image anddecorrelates the samples into a 4-component image with each component having only a quarter of the resolution.[11] This means that the total amount of samples to further process and compress remains the same, yet the values are decorrelated similarly to a classical Multiple Component Transform.

Avoiding such conversion prevents information loss and allows this processing step to be done outside of the camera. This is advantageous because it allows deferringdemosaicing the Bayer content from the moment of capturing to the production phase, where choices regarding artistic intent and various settings can be better made; The demosaicing process is irreversible and requires certain choices, like the choice of interpolation algorithm or the level of noise reduction, to be made upfront. The demosaicing process can be power-hungry and will also introduce extra latency and complexity.

Standards

[edit]

JPEG XS (ISO/IEC 21122)

[edit]

The JPEG XS coding system is anISO/IEC suite of standards that consists of the following parts:

Part1st edition2nd edition (in force)3rd editionTitleDescription
1201920222024Core coding systemDescribes the core coding system of JPEG XS. Defines the syntax and, similarly to other JPEG and MPEG image codecs, the decompression process to reconstruct a continuous-tone digital image from its encoded codestream. Provides some guidelines of the inverse process that compresses a digital image into a compressed codestream, the encoding process, but leaves implementation-specific optimizations and choices to the implementers.
2201920222024Profiles and buffer modelsBuilds on top of Part 1 to segregate different applications and uses of JPEG XS into reduced coding tool subsets with tighter constraints. The definition of profiles, levels, and sublevels allows for reducing the complexity of implementations in particular application use cases, while also safeguarding interoperability. Profiles represent interoperability subsets of the codestream syntax specified in Part 1. In addition, levels and sublevels provide limits to the maximum throughput in the encoded (codestream) and the decoded (spatial and pixels) image domains. Also specifies a buffer model, consisting of a decoder model and a transmission channel model, to enable guaranteeing low latency requirements to a fraction of the frame size.
3201920222024Transport and container formatsSpecifies transport and container formats for JPEG XS codestreams. It defines the carriage of important metadata, like color spaces, mastering display metadata (MDM), andExif, to facilitate transport, editing, and presentation. Defines the XS-specific ISOBMFF boxes, anInternet media type registration, and additional syntax to allow embedding XS in formats like MP4, MPEG-2 TS, or the HEIF image file format.
4202020222025Conformance testingProvides conformance testing and buffer model verification.
5202020222025Reference softwareA reference software implementation (written in ISO C11) of the JPEG XS Part 1 decoder, conforming to the Part 2 profiles, levels and sublevels, as well as an exemplary encoder implementation.

RFC9134 - RTP Payload Format for ISO/IEC 21122 (JPEG XS)

[edit]

RFC 9134[12] describes a payload format for theReal-Time Transport Protocol (RTP) to carry JPEG XS encoded video. In addition, the recommendation also registers the officialmedia type registration for JPEG XS video asvideo/jxsv, along with its mapping of all parameters into theSession Description Protocol (SDP).

TheRTP payload format for JPEG XS, in turn, enables the use of JPEG XS inSMPTE 2110 environments using SMPTE ST 2110-22 for CBR compressed video transport.

See also TR-08,[13] published by theVideo Services Forum.

MPEG-TS for JPEG XS

[edit]

ISO/IEC 13818-1:2023, known as MPEG-TS 9th edition, specifies carriage support for JPEG XS inMPEG transport streams.[14] See also VSF TR-07[15] published by theVideo Services Forum.

NMOS with JPEG XS

[edit]

ANetworked Media Open Specifications (NMOS) standard that enables registration, discovery, and connection management of JPEG XS endpoints uses the AMWA IS-04 and IS-05 NMOS specifications. See AMWA BCP-006-01,[16] published byAdvanced Media Workflow Association.

JPEG XS in IPMX

[edit]

Internet Protocol Media Experience (IPMX) is a suite of open standards and specifications to enable the carriage of compressed and uncompressed video, audio, and data over IP networks for the pro AV market. JPEG XS is supported under IPMX via VSF TR-10-8[17] and TR-10-11.[18]

History

[edit]

The JPEG committee started the standardization activity in 2016 with an open call for a high-performance, low-complexity image coding standard. The best-performing candidate technologies came from intoPIX and Fraunhofer IIS and formed the basis for the new standard. First implementations were demonstrated in April 2018 at theNAB Show and later that year at theInternational Broadcasting Convention. XS was also presented atCES in 2019. JPEG XS was formally standardized as ISO/IEC 21122 by theJoint Photographic Experts Group with the first edition published in 2019. A second edition was published in 2022,[19] adding support for direct compression of raw CFA Bayer content, lossless compression, and support for 4:2:0 color subsampling. Today, the JPEG committee is still actively working on further improvements to XS, with the third edition published in 2024. This edition adds support for a temporal decorrelation technology in the wavelet domain, called Temporal Differential Coding (TDC).

Technical overview

[edit]

Core coding system

[edit]

The JPEG XS standard is a classicalwavelet-based still-image codec without any frame buffer. While the standard[20] defines JPEG XS based on a hypothetical reference coder, JPEG XS is easier to explain through the steps a typical encoder performs:[21]

Component up-scaling and optional component decorrelation: In the first step, the DC gain of the input data is removed and it is upscaled to a bit-precision of 20 bits. Optionally, a multi-component generation, identical to the JPEG 2000 RCT, is applied. This transformation is a lossless approximation of an RGB to YUV conversion, generating one luma and two chroma channels.

Wavelet transformation: Input data is spacially decorrelated by a 5/3Daubechies wavelet filter. While a five-stage transformation is performed in the horizontal direction, only 0 to 2 transformations are run in the vertical direction. The reason for this asymmetrical filter is to minimize latency.

Prequantization: The output of the wavelet filter is converted to a sign-magnitude representation and pre-quantized by a dead zonequantizer to 16-bit precision.

Rate control and quantization: The encoder determines by a non-normative process[21] the rate of each possible quantization setting and then quantizes data by either a dead zone quantizer or a data-dependent uniform quantizer.

Entropy coding: JPEG XS uses minimalisticEntropy encoding for the quantized data which proceeds in up to four passes over horizontal lines of quantized wavelet coefficients. The steps are:

  • Significance coding: In the (optional) first pass, the significance of 32 consecutive wavelet coefficients is coded by a single bit.
  • Bitplane count coding: In the second pass, the number of non-zero bitplanes of groups of four coefficients each, the so-called "bitplane count", is entropy coded through aGolomb type code. This step may optionally use the bitplane counts of the preceding line as the source for prediction (Differential pulse-code modulation) and then encode only the prediction difference.
  • Data coding:The third pass inserts the raw bitplane values into the codestream without further coding.
  • Sign coding: In the last optional coding pass, the sign bits of all non-zero coefficients are inserted into the codestream. If this coding pass is not present, sign bits are included in the data coding pass for all coefficients.

Codestream packing: All entropy-coded data are packed into a linear stream of bits (grouped in byte multiples) along with all of the required image metadata. This sequence of bytes is called the codestream and its high-level syntax is based on the typical JPEG markers and marker segments syntax.[22]

Profiles, levels and sublevels

[edit]

JPEG XS defines profiles (in ISO/IEC 21122-2[9]) that define subsets of coding tools that conforming decoders shall support, by limiting the permitted parameter values and allowed markers. The following table represents an overview of all the profiles along with their most important properties. Please refer to the standard for a complete specification of each profile.

ProfilePpihB[i]Nbpp,maxBwBrFqQpihHorizontal DWTVertical DWTChroma sampling formatsCpihEdition
Light 422.100x15008, 1020204801 to 50, 14:0:0, 4:2:201
Light 444.120x1A008, 10, 1236204801 to 50, 14:0:0, 4:2:2, 4:4:40, 11
Light-Subline 422.100x25008, 102020480, 11 to 504:0:0, 4:2:201
Main 420.120x32408, 10, 121820480, 11 to 514:2:001
Main 422.100x35408, 102020840, 11 to 50, 14:0:0, 4:2:201
Main 444.120x3A408, 10, 123620480, 11 to 50, 14:0:0, 4:2:2, 4:4:40, 11
Main 4444.120x3E408, 10, 124820480, 11 to 50, 14:0:0, 4:2:2, 4:4:4, 4:2:2:4, 4:4:4:40, 11
High 420.120x42408, 10, 121820480, 11 to 51, 24:2:002
High 444.120x4A408, 10, 123620480, 11 to 50, 1, 24:0:0, 4:2:2, 4:4:40, 11
High 4444.120x4E408, 10, 124820480, 11 to 50, 1, 24:0:0, 4:2:2, 4:4:4, 4:2:2:4, 4:4:4:40, 11
CHigh 444.120x4A448, 10, 123620480, 11 to 50, 1, 24:0:0, 4:2:2, 4:4:40, 13
TDC 444.120x4A458, 10, 123620480, 1(3, 0) and (4, 0) if not 4:2:0,

(4, 1), (5, 1), (5, 2) otherwise

4:0:0,

4:2:0,4:2:2,4:4:4

0, 13
TDC MLS 444.120x6A458, 10, 1236B[i]400, 1(3, 0) and (4, 0) if not 4:2:0,

(4, 1), (5, 1), (5, 2) otherwise

4:0:0,

4:2:0,4:2:2,4:4:4

0, 13
MLS.120x6EC08, 10, 1248B[i]400, 11 to 50, 1, 24:0:0,

4:2:0,4:2:2,4:4:4,4:2:2:4,4:4:4:4

0, 12
MLS.160x6ED08, 10, 12, 14, 1664B[i]500, 11 to 50, 1, 24:0:0,

4:2:0,4:2:2,4:4:4,4:2:2:4,4:4:4:4

0, 13
LightBayer0x930010, 12, 14, 166418, 2046, 80, 11 to 50Bayer32
MainBayer0xB34010, 12, 14, 166418, 2046, 80, 11 to 50, 1Bayer32
HighBayer0xC34010, 12, 14, 166418, 2046, 80, 11 to 50, 1, 2Bayer32

In addition, JPEG XS defines levels to represent a lower bound on the required throughput that conforming decoders need to support in the decoded image domain (also called the spatial domain). The following table lists the levels as defined by JPEG XS. The maximums are given in the context of the sampling grid, so they refer to a per-pixel value where each pixel represents one or more component values. However, in the context of Bayer data JPEG XS internally interprets the Bayer pattern as an interleaved grid of four components. This means that the number of sampling grid points required to represent a Bayer image is four times smaller than the total number of Bayer sample points. Each group of 2x2 (four) Bayer values gets interpreted as one sampling grid point with four components. Thus sensor resolutions should be divided by four to calculate the respective width, height and amount of sampling grid points. For this reason, all levels also bear double names. Please refer to the standard for a complete specification of each level.

LevelMax widthMax heightMax pixels (Lmax)Max pixel rate (Rs,max)Plev High Byte
Unrestricted6553565535--0x00
1k-1, Bayer2k-1128051202621440835584000x04
2k-1, Bayer4k-12048819241943041336934400x10
4k-1, Bayer8k-140961638489128962673868800x20
4k-2, Bayer8k-2409616384167772165347737600x24
4k-3, Bayer8k-34096163841677721610695475200x28
8k-1, Bayer16k-18192327683565158410695475200x30
8k-2, Bayer16k-28192327686710886421390950400x34
8k-3, Bayer16k-38192327686710886442781900800x38
10k-1, Bayer20k-1102404096010485760033423360000x40

Similarly to the concept of levels, JPEG XS defines sublevels to represent a lower bound on the required throughput that conforming decoders need to support in the encoded image domain. Each sublevel is defined by a nominal bit-per-pixel (Nbpp) value that indicates the maximum amount of bits per pixel for an encoded image of the maximum permissible number of sampling grid points according to the selected conformance level. Thus, decoders conforming to a particular level and sublevel shall conform to the following constraints derived from Nbpp:

The following table lists the existing sublevels and their respective nominal bpp values. Please refer to the standard for a complete specification of each level.

SublevelNominal bpp (Nbpp)Plev Low Byte
Unrestricted-0x00
FullNative image bpp0x80
Sublev12bpp120x10
Sublev9bpp90x0C
Sublev6bpp60x08
Sublev4bpp40x06
Sublev3bpp30x04
Sublev2bpp20x03

Patents and RAND

[edit]

JPEG XS contains patented technology which is made available for licensing via the JPEG XS Patent Portfolio License (JPEG XS PPL). This license pool covers essential patents owned by Licensors for implementing the ISO/IEC 21122 JPEG XS video coding standard and is available underRAND terms.[23]

References

[edit]
  1. ^"Video format JXSV". Archived fromthe original on 2021-09-27.
  2. ^ab"Overview of JPEG XS".jpeg.org. Retrieved2019-07-31.
  3. ^T. Richter, J. Keinert, S. Foessel, A. Descampe, G. Rouvroy and J. -B. Lorent, "JPEG-XS -- A High-Quality Mezzanine Image Codec for Video Over IP," in SMPTE Motion Imaging Journal, vol. 127, no. 9, pp. 39-49, Oct. 2018, doi: 10.5594/JMI.2018.2862098link.
  4. ^Pessina, Laure-Anne (September 4, 2018),A new JPEG format for virtual reality, drones and self-driving cars,archived from the original on 2023-06-05 – via actu.epfl.ch
  5. ^Keinert, Joachim; Lorent, Jean-Baptiste; Descampe, Antonin; Rouvroy, Gaël; Fößel, Siegfried."Introduction to JPEG XS".IBC.Archived from the original on 2023-04-02.
  6. ^"JPEG White paper: JPEG XS, a new standard for visually lossless low-latency lightweight image coding system"(PDF).
  7. ^Richter, Thomas; Keinert, Joachim; Descampe, Antonin; Rouvroy, Gael; Willeme, Alexandre (December 2017). "Multi-generation-robust Coding with JPEG XS".2017 IEEE International Symposium on Multimedia (ISM). pp. 6–13.doi:10.1109/ISM.2017.12.ISBN 978-1-5386-2937-6.S2CID 32986247.
  8. ^T. Richter, S. Fößel, A. Descampe and G. Rouvroy, "Bayer CFA Pattern Compression With JPEG XS," in IEEE Transactions on Image Processing, vol. 30, pp. 6557-6569, 2021, doi: 10.1109/TIP.2021.3095421link.
  9. ^abInternational Organization for Standardization."ISO/IEC 21122-2:2024".ISO.
  10. ^"ISO/IEC JTC 1/SC29/WG1 N100633, REQ "Use Cases and Requirements for JPEG XS v3.2""(PDF).
  11. ^Richter, Thomas; Fößel, Siegfried; Descampe, Antonin; Rouvroy, Gaël (2021)."Bayer CFA Pattern Compression With JPEG XS".IEEE Transactions on Image Processing.30:6557–6569.Bibcode:2021ITIP...30.6557R.doi:10.1109/TIP.2021.3095421.hdl:2078.1/249445.ISSN 1941-0042.PMID 34270422.S2CID 236001190.
  12. ^RTP Payload Format for ISO/IEC 21122 (JPEG XS).RFC 9134.
  13. ^TR-08: Transport of JPEG XS Video in ST 2110-22
  14. ^"ISO/IEC 13818-1:2023".
  15. ^TR-07: Transport of JPEG XS Video in MPEG-2 TS over IP
  16. ^AMWA BCP-006-01: NMOS With JPEG XS
  17. ^TR-10-8:2023-Internet Protocol Media Experience (IPMX): NMOS Requirements - DRAFT
  18. ^TR-10-11:2023-Internet Protocol Media Experience (IPMX): Constant Bit-Rate Compressed Video - DRAFT
  19. ^A. Descampe et al., "JPEG XS--A New Standard for Visually Lossless Low-Latency Lightweight Image Coding," in Proceedings of the IEEE, doi: 10.1109/JPROC.2021.3080916PDF.
  20. ^International Organization for Standardization."ISO/IEC 21122-1:2024".ISO.
  21. ^abDescampe, Antonin; Richter, Thomas; Ebrahimi, Touradj; Foessel, Siegfried; Keinert, Joachim; Bruylants, Tim; Pellegrin, Pascal; Buysschaert, Charles; Rouvroy, Gaël (September 2021). "JPEG XS—A New Standard for Visually Lossless Low-Latency Lightweight Image Coding".Proceedings of the IEEE.109 (9):1559–1577.doi:10.1109/JPROC.2021.3080916.hdl:2078.1/248275.ISSN 1558-2256.S2CID 236727596.
  22. ^"codestream-parser". June 16, 2022 – via GitHub.
  23. ^"JPEG XS Patent Pool".JPEG XS Patent Pool.
Video
compression
ISO,IEC,
MPEG
ITU-T,VCEG
SMPTE
TrueMotion and AOMedia
Chinese Standard
  • AVS1 P2/AVS+(GB/T 20090.2/16)
  • AVS2 P2(GB/T 33475.2,GY/T 299.1)
    • HDR Vivid(GY/T 358)
  • AVS3 P2(GY/T 368)
Others
Audio
compression
ISO,IEC,
MPEG
ITU-T
IETF
3GPP
ETSI
Bluetooth SIG
Chinese Standard
Others
Image
compression
IEC,ISO,IETF,
W3C,ITU-T,JPEG
Others
Containers
ISO,IEC
ITU-T
IETF
SMPTE
Others
Collaborations
Methods
Lists
SeeCompression methods for techniques andCompression software for codecs
Raster
Raw
Vector
Compound
Metadata
Retrieved from "https://en.wikipedia.org/w/index.php?title=JPEG_XS&oldid=1334844258"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp