Image data encoding and decoding

JP7643350B2Active Publication Date: 2025-03-11SONY GROUP CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2021575285
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-07-31
Filing Date
2020-06-24
Publication Date
2025-03-11
Estimated Expiration
2040-06-24

Smart Images

  • Figure 0007643350000002
    Figure 0007643350000002
  • Figure 0007643350000003
    Figure 0007643350000003
  • Figure 0007643350000004
    Figure 0007643350000004
Patent Text Reader

Abstract

The image data encoding device includes an entropy encoder configured to selectively encode data items representing image data by a coding system selected from a context-adaptive binary arithmetic coding (CABAC) coding system and a bypass coding system, the data items including (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to a current image region and (ii) a second data item indicating a processing direction for operation of the MDLM chroma mode. The entropy encoder is configured to encode instances of the first data item and to encode instances of the second data item independently of encoding instances of the first data item.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This disclosure relates to image data encoding and decoding. [Background technology]

[0002] The "Background Art" section of this specification is intended to generally describe the background of this application. The inventors' techniques, to the extent described in this Background Art section, are not admitted, expressly or impliedly, as prior art to this application, as are aspects of the description that should not be considered prior art if they were not prior art at the time of filing this application.

[0003] There are several video data encoding and decoding systems that convert video data into a frequency domain representation, quantize the resulting frequency domain coefficients, and then apply some kind of entropy coding to the quantized coefficients, thereby compressing the video data. By applying corresponding decoding or decompression techniques, the original video data is reconstructed and restored.

[0004] High Efficiency Video Coding (HEVC), also known as H.265 or MPEG-H Part 2, has been proposed as a successor to H.264 / MPEG-4 AVC. It aims to improve the video quality of HEVC while doubling the data compression ratio of H.264, and to make H.264 scalable in the range of resolutions from 128x96 to 7680x4320 pixels, which corresponds to a bitrate of roughly 128 Kbit / s to 800 Mbit / s. Summary of the Invention [Problem to be solved by the invention]

[0005] The present disclosure aims to address or mitigate problems with the above processes. [Means for solving the problem]

[0006] The present disclosure includes an entropy encoder configured to selectively encode data items representing image data with a coding system selected from a context-adaptive binary arithmetic coding (CABAC), a coding system, and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for operation of said MDLM chroma mode; Including, The entropy encoder is configured to encode an instance of the first data item and to encode an instance of the second data item independently of encoding the instance of the first data item. An image data encoding device is provided.

[0007] The present disclosure provides a method for implementing a method for coding an image data item, comprising the steps of selectively coding the image data item with a coding system selected from a context-adaptive binary arithmetic coding (CABAC), a coding system and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for the operation of said MDLM chroma mode; Including, The encoding step includes encoding an instance of the first data item and encoding an instance of the second data item independently of the encoding of the instance of the first data item. A method for encoding image data is also provided.

[0008] The present disclosure provides a method for decoding image data comprising the steps of: (a) decoding an image data item by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC) decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for the operation of said MDLM chroma mode; Including, The entropy decoder is configured to decode the first data item instance and to decode the second data item instance independently of the decoding of the first data item instance. An image data decoding device is further provided.

[0009] The present disclosure provides a method for decoding a digital signal comprising the steps of: selectively decoding data items representing image data by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC), decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for the operation of said MDLM chroma mode; Including, The decoding step includes decoding the instance of the first data item and decoding the instance of the second data item independently of the decoding of the instance of the first data item. A method for decoding image data is also provided.

[0010] Further respective aspects and features of the present disclosure are defined in the appended claims.

[0011] It should be understood that the above general description and the following detailed description are examples of the present technology and are not intended to limit the present technology. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a schematic diagram showing an audio / video (A / V) data transmission and reception system that compresses and decompresses video data. [Diagram 2] FIG. 1 is a schematic diagram illustrating a video display system with video data decompression. [Diagram 3] FIG. 1 is a schematic diagram illustrating an audio / video storage system that compresses video data and decompresses video data. [Figure 4] FIG. 1 is a schematic diagram showing a video camera that performs compression of video data. [Diagram 5] FIG. 2 is a schematic diagram showing a storage medium. [Figure 6] FIG. 2 is a schematic diagram showing a storage medium. [Figure 7] 1 is a schematic diagram showing a video data compression and decompression device; [Figure 8] FIG. 2 is a schematic diagram showing a prediction unit. [Figure 9] FIG. 2 is a schematic diagram showing a partially encoded image; [Figure 10] FIG. 1 is a schematic diagram illustrating a set of possible intra-prediction directions. [Figure 11] FIG. 2 is a schematic diagram showing a set of prediction modes. [Figure 12] FIG. 13 is a schematic diagram illustrating another set of prediction modes. [Figure 13] FIG. 2 is a schematic diagram illustrating an intra-prediction process. [Figure 14] FIG. 1 is a schematic diagram showing a CABAC encoder. [Figure 15] FIG. 1 is a schematic diagram illustrating the CABAC encoding technique. [Figure 16] FIG. 1 is a schematic diagram illustrating the CABAC encoding technique. [Figure 17] FIG. 1 is a schematic diagram illustrating the CABAC decoding technique. [Figure 18] FIG. 1 is a schematic diagram illustrating the CABAC decoding technique. [Figure 19] 1 is a schematic flow chart illustrating each method. [Figure 20] 1 is a schematic flow chart illustrating each method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] A complete understanding of the present technology and many of its advantages will be readily appreciated by considering the following detailed description in conjunction with the accompanying drawings, in which:

[0014] Referring now to the drawings, FIGS. 1 to 4 show schematic diagrams of an apparatus or system that utilizes a compression device and / or a decompression device according to each embodiment of the present technology described below.

[0015] All of the data compression and / or decompression devices described below may be implemented in hardware or as programmable hardware, such as an Application Specific Integrated Circuit (ASIC) or a Field Programmable Gate Array (FPGA), or a combination thereof, or in software running on a general-purpose data processing device, such as a general-purpose computer. For embodiments implemented in software and / or firmware, it will be understood that such software and / or firmware, as well as non-transitory data recording media on which such software and / or firmware is stored or provided, are considered embodiments of the present technology.

[0016] FIG. 1 is a schematic diagram showing an audio / video data transmission / reception system that performs video data compression and video data decompression.

[0017] An input audio / video signal 10 is provided to a video data compression device 20 which compresses at least the video element of the audio / video signal 10 and is transmitted along a transmission route 30, e.g. a cable, optical fiber, wireless link, etc. The compressed signal is processed by a decompressor 40 which provides an output audio / video signal 50. On the return path, a compressor 60 compresses the audio / video signal which is transmitted along the transmission route 30 to a decompressor 70.

[0018] Thus, compressor 20 and decompressor 70 may constitute one node of a transmission link, and decompressor 40 and compressor 60 may constitute another node of the transmission link. Of course, if the transmission link is unidirectional, then only one of these nodes will require a compressor and only the other will require a decompressor.

[0019] 2 is a schematic diagram of a video display system that performs video data decompression. Specifically, a compressed audio / video signal 100 is processed by a decompressor 110, which provides a decompressed signal that can be displayed on a display device 120. The decompression device 110 may be formed integrally with the display device 120, for example, by being provided in the same housing as the display device 120. Alternatively, the decompression device 110 may be provided (for example) as a so-called set-top box (STB). Note that the term "set-top" does not imply that the box must be placed in a particular orientation or position relative to the display device 120. The term is simply used in the art to denote a device that can be connected to a display as a peripheral.

[0020] 3 is a schematic diagram of an audio / video storage system that compresses and decompresses video data. An input audio / video signal 130 is provided to a compressor 140 which produces a compressed signal which is stored in a storage device 150, for example a magnetic disk drive, optical disk drive, magnetic tape drive, or a solid state storage device such as semiconductor memory or other storage device. During playback, the compressed data is read from the storage device 150 and sent to a decompressor 160 for decompression, thereby providing an output audio / video signal 170.

[0021] It will be appreciated that compressed or encoded signals and storage media, such as non-transitory machine-readable storage media, that store the signals are considered embodiments of the technology.

[0022] Figure 4 is a schematic diagram of a video camera that compresses video data. In Figure 4, an image capture device 180, such as a Charge Coupled Device (CCD) image sensor and associated control and readout electronics, generates a video signal that is sent to a compression device 190. One or more microphones 200 generate audio signals that are sent to the compression device 190. The compression device 190 generates a compressed audio / video signal 210 (collectively represented as stage 220) for storage and / or transmission.

[0023] The techniques described below are primarily directed to the compression and decompression of video data, and it will be appreciated that many existing techniques may be used to generate compressed audio / video signals in conjunction with the video data compression techniques described below to effect compression of audio data. Therefore, compression of audio data will not be discussed separately, and it will also be appreciated that the data rates associated with video data are typically much higher than the data rates associated with audio data (whether compressed or uncompressed), particularly in broadcast quality video data. It will therefore be appreciated that uncompressed audio data can be added to compressed video data to result in a compressed audio / video signal. Furthermore, although the embodiments of the present invention (see Figures 1-4) relate to audio / video data, it will be appreciated that the techniques described below may also be used in systems that simply process (i.e. compress, decompress, store, display and / or transmit) video data. That is, the embodiments do not necessarily relate to audio data processing, but may also be applied to the compression of video data.

[0024] Figure 4 thus provides an example of a video capture device including an image sensor and an encoding device of the type described below, and Figure 2 thus provides an example of a decoding device of the type described below, and a display device on which the decoded image is output.

[0025] The combination of Figures 2 and 4 can provide a video capture device including an image sensor 180 and an encoding device 190, a decoding device 110, and a display device 120 where the decoded images are output.

[0026] Figures 5 and 6 are schematic diagrams illustrating storage media for storing (for example) compressed data generated by apparatus 20, 60, compressed data input to apparatus 110, or storage media or stages 150, 220. Figure 5 is a schematic diagram illustrating a disk-type storage medium, such as a magnetic disk or optical disk. Figure 6 is a schematic diagram illustrating a solid-state storage medium, such as a flash memory. Note that Figures 5 and 6 also illustrate examples of non-transitory device-readable storage media for storing computer software that, when executed by a computer, causes the computer to perform one or more of the methods described below.

[0027] Thus, the above arrangements provide examples of video storage, capture, transmission and reception devices embodying any of the present techniques.

[0028] FIG. 7 is a schematic diagram of a video data compression and decompression device.

[0029] The controller 343 controls the overall operation of the video data compression and decompression device, and in particular the compression mode, by acting as a selector to select various operational aspects such as block size and shape, thereby controlling the trial encoding process. The control unit 343 also controls whether the video data is encoded lossily or not. The control unit 343 is considered as part of the image encoder or image decoder (as the case may be). Successive images of the input video signal 300 are provided to a summing unit 310 and an image prediction unit 320. The image prediction unit 320 will be described in more detail below with reference to FIG. 8. An image encoder or image decoder (as the case may be) may use features from the apparatus shown in Figure 7 together with the intra image predictor of Figure 8. However, the image encoder or image decoder does not necessarily require all the features shown in Figure 7.

[0030] The adder 310 effectively performs a subtraction (negative addition) operation, receiving the input video signal 300 on its "+" input and the output of the image predictor 320 on its "-" input, thereby subtracting the predicted image from the input image, resulting in a so-called residual image signal 330, which represents the difference between the actual image and the predicted image.

[0031] One reason for generating a residual image signal is the following: the described data coding techniques, i.e. techniques applied to the residual image signal, tend to work more efficiently when there is less "energy" in the image being coded, where the term "efficient" refers to the small amount of coded data produced. For a particular image quality level, it is desirable (and considered "efficient") to produce as little data as possible. The "energy" of a residual image refers to the amount of information contained in the residual image: if the predicted image and the actual image were identical, the difference between these two images (i.e., the residual image) would contain zero information (zero energy) and could be very easily coded into a small amount of coding data. In general, if the prediction process can be performed reasonably well, such that the content of the predicted image is similar to the content of the image to be encoded, it is expected that the residual image data will contain less information (less energy) than the input image and can be easily encoded into a smaller amount of encoding data.

[0032] The remainder of the apparatus, which operates as an encoder (encoding the residual or difference image), will now be described. The residual image data 330 is fed to a transform section or circuit 340 which generates a Discrete Cosine Transform (DCT) representation of a block or region of the residual image data. The DCT technique itself is well known and will not be described in detail here. Also, the use of the DCT is merely an example of one possible configuration. Other transformations could be used, such as the Discrete Sine Transform (DST). Transforms may be combined, such as one transformation followed (directly or indirectly) by another. The choice of the transformation scheme may be decided explicitly and / or may depend on side information used to configure the encoder and decoder.

[0033] The output of the transform unit 340, i.e., the set of DCT coefficients for each transform block in the image data, is provided to a quantizer unit 350. A variety of quantization techniques are well known in the field of video data compression, ranging from simple multiplication by a quantization scaling factor to the application of complex look-up tables under the control of a quantization parameter. They generally serve two purposes: first, the quantization process reduces the possible values ​​that the transform data can take. Second, the quantization process increases the likelihood that the transformed data will have a zero value, allowing the entropy coding process (described below) to be more efficient in generating small amounts of compressed video data.

[0034] A data scanning process is applied by a scanner 360. The purpose of the scanning process is to reorder the quantized transformed data in order to group together as many non-zero quantized transformed coefficients as possible, and of course, to group together as many zero-valued coefficients as possible. These functions allow the efficient application of so-called run-length coding or similar techniques. The scanning process thus involves selecting coefficients from the quantized transformed data, and in particular blocks of coefficients that correspond to blocks of transformed and quantized image data, in a "scan order" such that (a) all coefficients are selected once as part of the scan, and (b) the scan can effect any desired reordering. One example of a scan order that produces useful results is the so-called Up-right Diagonal scan order.

[0035] The scanned coefficients are then sent to an entropy encoder (EE) 370. Again, various entropy coding techniques may be performed. Two examples are variations of the so-called Context Adaptive Binary Coding (CABAC) system and variations of the so-called Context Adaptive Variable-Length Coding (CAVLC) system. CABAC is generally considered efficient. Studies have shown that the amount of coded output data in CABAC is 10-20% less than CAVLC for comparable image quality. However, CAVLC is believed to exhibit a much lower level of complexity (in terms of implementation) than CABAC. Note that although the scanning and entropy coding processes are shown as separate processes, in practice they can be combined or treated together, i.e., data can be read into the entropy encoder in scan order, as can the inverse processes described below.

[0036] The output of the entropy encoder 370 provides a compressed output video signal 380, together with additional data (described above and / or below), for example, that defines how the prediction unit 320 generates the predicted image.

[0037] However, since the operation of the predictor 320 itself depends on the decompressed compressed output data, a return path is also provided.

[0038] The reason for this feature is as follows: At an appropriate stage in the decompression process (described below), decompressed residual data is generated. This decompressed residual data needs to be added to the predicted image to generate the output image (because the original residual data was the difference between the input image and the predicted image). To make this process equivalent on the compression and decompression side, the predicted image generated by the predictor 320 should be the same during the compression and decompression processes. Of course, the device does not have access to the original input image at decompression time, it can only access the decompressed image, so at compression time, the predictor 320 bases its predictions (at least for inter-image coding) on ​​the decompressed compressed image.

[0039] The entropy encoding process performed by entropy encoder 370 is considered (at least in some instances) to be "lossless," i.e., the data originally provided to entropy encoder 370 can be replaced with exactly the same data. Thus, in such instances, a return pass can be implemented prior to the entropy encoding stage. Indeed, the scanning process performed by the scanner 360 is also considered to be lossless, but in this embodiment the return path 390 runs from the output of the quantizer 350 to the input of the supplemental inverse quantizer 420. If a stage is lossy or potentially lossy, it may be included in the feedback loop formed by the return path. For example, the entropy encoding stage may, at least in principle, be made lossy, for example by techniques that encode bits in parity information. In such instances, the entropy encoding and decoding must form part of a feedback loop.

[0040] In general, entropy decoder 410, inverse scan unit 400, inverse quantizer unit 420, and inverse transform unit or circuit 430 provide the inverse functions of entropy encoder 370, scanner unit 360, quantizer unit 350, and transform unit 340, respectively. The compression process will continue here; the process for decompressing the input compressed video signal will be described separately below.

[0041] In the compression process, the scanned coefficients are sent from the quantizer 350 via a return path 390 to an inverse quantizer 420 which performs the inverse operation of the scanner 360. The inverse quantization and inverse transform processes are performed by the inverse quantizer 420 and the inverse transformer 430 to generate a compressed-decompressed residual image signal 440.

[0042] The image signal 440 is added to the output of the prediction unit 320 at adder 450 to produce a reconstructed output image 460. This forms one input to the image prediction unit 320, as will be described below.

[0043] The process applied to decompress a received compressed video signal 470 will now be described. The compressed video signal 470 is first supplied to an entropy decoder 410, which in turn supplies it to an inverse scanning unit 400, an inverse quantization unit 420, and an inverse transform unit 430. It is then added to the output of the image prediction unit 320 by an adder 450. Thus, at the decoder side, the decoder reconstructs the residual image and decodes each block by applying it (block by block) to the predicted image (by adder 450). In brief, the output 460 of adder 450 forms the output decompressed video signal 480. In practice, further filtering may optionally be applied before the signal is output (e.g., using filter 560), which is shown in Figure 8. In Figure 7, which shows the overall configuration in comparison with Figure 8, filter 560 has been omitted for clarity.

[0044] The apparatus shown in Figures 7 and 8 can operate as a compression (encoding) apparatus or a decompression (decoding) apparatus. The functions of the two types of apparatus are substantially overlapped. The scanner 360 and the entropy encoder 370 are not used in the decompression mode. The operation of the predictor 320 (described in more detail below) and other sections depends on the mode and parameter information contained in the received compressed bitstream, and they do not generate this information themselves.

[0045] FIG. 8 is a schematic diagram illustrating the generation of a predicted image, and in particular the operation of the image predictor 320.

[0046] Two basic prediction modes are performed by the image prediction unit 320: the so-called intra-image prediction and the so-called inter-image prediction or Motion-Compensated (MC) prediction. On the encoder side, these predictions each involve finding a prediction direction for the current block to be predicted and generating a predictive block of samples depending on other samples (in the same (intra) or another (inter) image). The adder unit 310 or 450 respectively encodes or decodes the block by encoding or decoding the difference between the predicted block and the actual block.

[0047] (At the decoder side or inverse decoding side of the encoder, this detection of the prediction direction may be in response to data associated with the data encoded by the encoder indicating which direction was used by the encoder, or the detection of the prediction direction may be in response to the same factors determined by the encoder.)

[0048] Intra-image prediction is based on the prediction of the content of image blocks or regions on data taken from within the same image. This corresponds to the so-called I-frame coding in other video compression techniques. However, in contrast to I-frame coding, where the whole image is coded by intra-coding, in this embodiment the choice between intra-coding and inter-coding can be made on a block-by-block basis. In other embodiments, the choice is still made on a picture-by-picture basis.

[0049] Motion compensated prediction is an example of inter-image prediction, where motion information is used that seeks to define the source, in other adjacent or nearby images, of the image details to be coded in the current image. Thus, in an ideal case, the content of a block of image data in a predicted image can be very easily coded as a reference (a motion vector) that points to a corresponding block in the same or slightly different position in an adjacent image.

[0050] The technique known as "block copy" prediction is in some ways a hybrid of the two above predictions, as it uses a vector that indicates a block of samples, displaced from the current predicted block within the same image, that should be copied to generate the current predicted block.

[0051] Returning to Figure 8, there are shown two image prediction configurations (corresponding to intra image prediction and inter image prediction) whose prediction results are selected by multiplication unit 500 under control of mode signal 510 (e.g. in control unit 343) to provide a block of predicted images for supply to adders 310 and 450. The selection is made on the basis of which choice results in the least "energy" (which, as discussed above, may be thought of as the amount of information that needs to be coded), and is signalled to the decoder in the coded output data stream. In this regard, image energy can be found, for example, by trial subtracting regions of the two versions of the predicted image from the input image, squaring each pixel value of the difference image, summing the multiplication values, and identifying which of the two versions has a lower average multiplication value of the difference image associated with that image region. In another example, trial encoding can be performed for each choice or for each possible choice, and the choice is made depending on the cost of each possible choice in terms of either or both of the number of bits required for encoding and the distortion to the image.

[0052] In an intra prediction system, the actual prediction is made based on the image blocks received as part of the signal 460, i.e. the prediction is made based on the encoded-decoded image blocks so that the exact same prediction can be made in the decompressor. However, data can also be derived from the input video signal 300 and the operation of the intra image predictor 530 can be controlled by the intra mode selector 520.

[0053] In inter-image prediction, a motion compensated (MC) prediction unit 540 uses motion information, e.g., motion vectors, derived from the input video signal 300 by a motion estimation unit 550. The motion compensated prediction unit 540 applies these motion vectors to the reconstructed image 460 to generate blocks of inter-image prediction.

[0054] Thus, the intra-image prediction unit 530 and the motion compensation prediction unit 540 (operating together with the estimation unit 550) respectively operate as a detection unit that detects the prediction direction for the current block to be predicted, and as a generation unit that generates a prediction block of samples (which forms part of the prediction result sent to the addition units 310 and 450) depending on other samples defined by the prediction direction.

[0055] We now turn to the processing applied to the signal 460. First, the signal 460 is optionally filtered by a filter unit 560, which will be described in more detail below. In this processing, a "deblocking" filter is applied to eliminate, or at least reduce, the effect on the block-based processing and subsequent operations performed by the transform unit 340. A Sample Adaptive Offsetting (SAO) filter may also be used. An adaptive loop filter is optionally applied using coefficients obtained by processing the reconstructed signal 460 and the input video signal 300. The adaptive loop filter is a type of filter that applies adaptive filter coefficients to the data to be filtered using known techniques. That is, the filter coefficients may vary based on various factors. Data defining which filter coefficients to use is inserted into part of the encoded output data stream.

[0056] When the device is operating as a decompressor, the filtered output from filter 560 actually forms the output video signal 480. This signal is stored in one or more image or frame stores 570. The storage of successive images is required for the motion compensated prediction process, in particular for the generation of motion vectors. To conserve the necessary memory, the images stored in image store 570 may be kept in compressed form and then decompressed for use in the generation of motion vectors. Any known compression / decompression system may be used for this particular purpose. The stored image is sent to an interpolation filter 580 which generates a higher resolution stored image. In this example, intermediate samples (sub-samples) are generated so that the resolution of the interpolated image output by the interpolation filter 580 is four times (in each dimension) the image stored in the image store 570 if the luminance channel is 4:2:0, and eight times (in each dimension) the image stored in the image store 570 if the chrominance channels are 4:2:0. The interpolated image is sent as input to a motion estimation unit 550 and a motion compensated prediction unit 540.

[0057] We now describe how to partition an image for compression purposes. At a basic level, an image to be compressed can be thought of as an array of blocks or regions of samples. Such partitioning of an image into blocks or regions can be accomplished using decision trees such as those described in Bross et al., "High Efficiency Video Coding (HEVC) text specification draft 6," JCTVC-H1003_d0 (November 2011) and "Versatile Video Coding (Draft 5)," JVET-N1001v8, the contents of which are incorporated herein by reference. In some examples, the resulting blocks or regions have different sizes and, in some cases, shapes that generally follow the arrangement of image features in the image due to the decision tree. This alone can improve coding efficiency, since samples that represent or follow similar image features tend to be grouped together due to such an arrangement. In some examples, square blocks or regions of different sizes (e.g., from 4x4 samples to, for example, 64x64, or larger blocks) are available for selection. Other configurations may use blocks or regions of different shapes, such as rectangular blocks (e.g., vertically or horizontally oriented). Other non-square and non-rectangular blocks are also encompassed. As a result of such a division of the image into blocks or regions, (at least in this example) each sample of the image is assigned to one, and even only one, such block or region sample.

[0058] We now turn to the intra prediction process. In general, intra prediction involves generating a prediction of a current block of samples from previously coded and decoded samples in the same image.

[0059] 9 is a schematic diagram of a partially coded image 800, where the image is coded block by block from the top left to the bottom right. An example of a block that is partway through coding in the processing of the entire image is shown as block 810. The upper shaded region 820 to the left of block 810 has already been coded. Any of the shaded regions 820 can be used for intra-image prediction of the content of block 810, but not the unshaded regions below.

[0060] In some examples, an image is coded block-wise such that larger blocks (called Coding Units (CUs)) are coded in an order such as that described with reference to Figure 9. For each CU, it may be processed as a set of two or more smaller blocks or Transform Units (TUs) (depending on the block partitioning process performed). This provides a hierarchical coding order in which the image is coded CU-wise. Each CU is potentially coded on a TU-by-TU basis. Note that for each TU (the largest node in the tree structure of block division) in a current Coding Tree Unit (CTU), the above-mentioned hierarchical coding order (CU-by-CU, then TU-by-TU) means that there may be previously coded samples in the current CU that are available for coding the TU. These samples may be, for example, at the top right or bottom left of the TU.

[0061] Block 810 represents a CU. As mentioned above, for intra-image prediction processing, this may be subdivided into smaller units of a set. An example of a current TU 830 is shown in CU 810. More generally, an image is divided into regions or groups of samples so that the signaling information and the transformed data can be efficiently coded. Signaling information may require a different tree structure consisting of a subdivision for the structure of the transformation, and indeed for the structure of the prediction information or the prediction itself. For this reason, a CU may have different tree structures for the structures of transform blocks or regions, prediction blocks or regions, and prediction information. In some examples, such as HEVC, the structure may be a so-called quadtree of CUs, where leaf nodes contain one or more prediction units and one or more TUs. A TU may contain multiple transform blocks corresponding to luma and chroma representations of an image, and prediction schemes may be considered as applicable at the transform block level. In some instances, the parameters that are applied to a particular set of samples can be considered to be defined primarily at the block level, which may not be at the same granularity as the transform structure.

[0062] Intra-image prediction considers samples that have been coded before considering the current TU, which may be samples above and / or to the left of the current TU. The samples from which the required sample is predicted may be in different positions or orientations relative to the current TU. To determine which orientation is suitable for the current prediction unit, the mode selection unit 520 of the exemplary encoder may try all combinations of available TU structures for each candidate orientation and select the prediction direction and TU structure that provides the best compression efficiency.

[0063] Images may be coded per "slice". In one example, a slice is a group of horizontally adjacent CUs. More generally, however, the entire residual image may constitute a slice, or a slice may be a single CU or a row of CUs, etc. Slices are coded as independent units, providing some degree of resilience to errors. Encoder and decoder states are fully reset at slice boundaries. For example, intra prediction is not performed across slice boundaries. Thus, slice boundaries are treated as image boundaries.

[0064] Fig. 10 is a schematic diagram showing a possible (candidate) set of prediction directions. All possible directions are available for a prediction unit. The direction is determined by the horizontal and vertical translation with respect to the current block position, and is coded as a prediction "mode". The set of directions is shown in Fig. 11. Note that the so-called DC mode represents a simple arithmetic mean of the surrounding top and left samples. Also, the set of directions shown in Fig. 10 is only an example. Another example is a set of (for example) 65 angular modes plus DC and planar (total of 67 modes), as shown diagrammatically in Fig. 12. Other numbers of modes are also possible.

[0065] In general, the system is operable to generate a predictive block of samples after detecting the prediction direction, depending on other samples determined by the prediction direction. In some examples, the image encoder is configured to encode data identifying the selected prediction direction for each sample or region of the image (and the image decoder is configured to detect such data).

[0066] 13 is a schematic diagram illustrating an intra-prediction process in which a sample 900 of a block or region of samples 910 is derived from other reference samples 920 of the same image according to a direction 930 determined by the intra-prediction mode associated with said sample. In this example, the reference samples 920 originate from blocks above and to the left of the block under consideration 910, and a prediction of the sample 900 is obtained by tracking along the direction 930 relative to the reference samples 920. The direction 930 may indicate a single individual reference sample, but more typically an interpolated value of surrounding reference samples is used as the prediction value. Note that the block 910 may be a square as shown in FIG. 13, or may be of other shapes such as a rectangle.

[0067] FIG. 14 is a schematic diagram illustrating the operation of the CABAC entropy encoder.

[0068] A CABAC encoder works on binary data, i.e. data that is represented only by two symbols: 0 and 1. The encoder performs a so-called context modeling process, which selects a "context", i.e. a probability model, for the next data based on the data already encoded. The selection of the context is performed in a deterministic manner, based on already decoded data, such that the same decision can be made at the decoder without requiring additional data (that identifies the context) to be added to the encoded data stream passed to the decoder.

[0069] Referring to Figure 14, the input data to be encoded may be passed to a binary converter 1400 unless it is already in binary form, in which case converter 1400 is bypassed (by switch 1410 in the figure). In this embodiment, the conversion to binary form is actually accomplished by representing the quantized DCT coefficient data as a series of binary "maps", which are described below.

[0070] The binary data may then be processed by one of two processing paths (shown diagrammatically as separate paths, but which in some embodiments of the invention described below may actually be performed in the same processing stages with only slightly different parameters) a "normal" path and a "bypass" path. The bypass path employs a so-called bypass coder 1420 which does not necessarily utilise the same form of context modelling as the normal path. In some instances of CABAC encoding, such a bypass path can be selected when a sequence of data needs to be processed particularly quickly. However, in this embodiment, we mention two characteristics of the so-called "bypass" data. The first characteristic is that the bypass data is processed by the CABAC encoder (950, 1460) only using a fixed context model that represents a fixed, e.g., 50% probability (also called "equal probability" or "EP" bin). The second feature is that bypass data relates to certain categories of data. A particular example of such data is coefficient code data. If the bypass path is not selected, the normal path is selected by the illustrated switches 1430, 1440 operating under the control of control circuitry 1435. This includes data that is processed by context modeler 1450 and subsequently by coding engine 1460.

[0071] The entropy encoder shown in Figure 14 encodes blocks of data (i.e., data corresponding to a block of coefficients for a block of a residual image, for example) as a single value if the entire block is composed of zero-valued data. For each block that does not fall into this category, i.e., a block that contains at least some non-zero data, a "significance map" is created. The significance map indicates, for each position in the block of data to be encoded, whether the corresponding coefficient in the block is non-zero or not. The importance map data itself, which is in binary form, is CABAC coded. Using the importance map aids in compression since no data needs to be coded for coefficients whose magnitudes are indicated to be zero by the importance map. The importance map may also contain a special code to indicate the last non-zero coefficient in a block. This allows all of the last high frequency / trailing zero coefficients to be omitted from coding. In the coded bitstream, the importance map is followed by data defining the values ​​of the non-zero coefficients as dictated by the importance map.

[0072] Other levels of map data are also created and CABAC coded. One example is a map that defines as a binary value (1=yes, 0=no) whether the coefficient data at the map locations indicated by the significance map to be "non-zero" actually has a value of "1". Another map specifies whether the coefficient data at the map locations indicated by the significance map to be "non-zero" actually has a value of "2". Yet another map indicates whether the coefficient data at those map locations indicated by the significance map to be "non-zero" actually has a value of "3 or greater". Yet another map indicates the sign of the data value (using a predefined binary representation such as 1 for +, 0 for -, or vice versa) for the data identified as "non-zero".

[0073] In an embodiment of the present invention, the significance map and other maps are assigned in a predetermined manner to either the CABAC encoder or the bypass encoder, and all represent different respective attributes or value ranges of the same initial data item. In one example, at least the significance map is CABAC encoded and at least a portion of the remaining map (e.g., the signature data) is bypass encoded. Thus, each data item is divided into respective subsets of data, and each subset is encoded by a first (e.g., CABAC) and a second (e.g., bypass) encoding system. The nature of the data, CABAC and bypass coding is such that for a given amount of CABAC encoded data, a variable amount of zero or more bypass data is generated for the same initial data item. Thus, for example, if the quantized, reordered DCT data contains substantially all zero values, then no bypass data or a very small amount of bypass data may be generated. This is because the bypass data only pertains to those map locations for which the significance map indicates a non-zero value. In another example, in quantized reordered DCT data with many high value coefficients, a significant amount of bypass data may be generated.

[0074] In an embodiment of the present invention, the significance map and other maps are generated from the quantized DCT coefficients, for example by scanning unit 360, and subjected to a zigzag scanning process (or a scanning process selected from zigzag, horizontal raster and vertical raster scanning) before being subjected to CABAC encoding.

[0075] In general, CABAC coding involves predicting the context, or probability model, of the next bit to be coded based on other previously coded data. If the next bit is the same as the bit identified as "most likely" by the probability model, then coding the information "the next bit matches the probability model" can be coded with great efficiency. The derivation of context data is important for the good operation of the encoder, since it is inefficient to code "the next bit does not match the probability model." The term "adaptive" means that the context or probability model is adapted or changed during encoding in an attempt to provide a good match with the next data (which has not yet been coded).

[0076] Using a simple analogy, in written English, the letter "U" is relatively rare. However, it is very common in the letter position immediately following the letter "Q." Therefore, a probabilistic model can set the probability of "U" to a very low value, but if the current letter is "Q," the probabilistic model for "U" as the next letter can be set to a very high probability value.

[0077] CABAC coding is used in the current implementation for at least the significance map and the map indicating whether a non-zero value is a 1 or a 2. Bypassing - In these embodiments, identical to CABAC encoding, but for the fact that the probability model is fixed with an equal (0.5:0.5) probability distribution of 1s and 0s, a separate so-called escape data encoding is used at least for the sign data and a map indicating whether the value is >2. For those data positions identified as >2, a separate so-called escape data encoding can be used to encode the actual value of the data. This may include Golomb-Rice encoding techniques.

[0078] The CABAC context modeling and encoding process is described in further detail in WD4: High-Efficiency Video Coding, Working Draft 4, JCTVC-F803_d5, Draft ISO I / EC 23008-HEVC; 201x(E) 2011-10-28.

[0079] Now, referring to Figures 15 and 16, an entropy encoder forming part of a video encoding apparatus includes a first encoding system (e.g., an arithmetic encoding system such as the CABAC encoder 1500) and a second encoding system (such as the bypass encoder 1510) arranged such that a particular data word or value is encoded into the final output data stream by either the CABAC encoder or the bypass encoder, but not by both.

[0080] In an embodiment of the invention, the data values ​​passed to the CABAC encoder and the bypass encoder are respective subsets of ordered data values ​​split or derived from the initial input data (in this example the reordered quantized DCT data) and represent different ones of a set of "maps" generated from the input data.

[0081] The schematic diagram treats the CABAC encoder and the bypass encoder as separate arrangements, which is often the case in practice, but another possibility, shown diagrammatically in Figure 16, is that a single CABAC encoder 1620 is used as both the CABAC encoder 1500 and the bypass encoder 1510 of Figure 15. The encoder 1620 operates under the control of the encoder 1630 such that when in CABAC encoder 1500 mode it operates with an adaptive context model (as described above), and when in bypass encoder 1510 mode it operates with a fixed 50% probability context model.

[0082] A third possibility combines these two in that two substantially identical CABAC encoders can be run in parallel (similar to the parallel arrangement of Figure 15), the difference being that the CABAC encoder operating as the bypass encoder 1510 has its context model fixed at a 50% probability context model.

[0083] The outputs of the CABAC encoding process and the bypass encoding process may be stored (at least temporarily) in respective buffers 1540, 1550. In Figure 16, a switch or demultiplexer 1660 functions under the control of a mode signal 1630 to route CABAC encoded data to buffer 1550 and bypass encoded data to buffer 1540.

[0084] 14-16 thus provide an example of an entropy encoder configured to selectively encode data items representing image data with an encoding system selected from a CABAC system and a bypass system.

[0085] 17 and 18 illustrate generally an example of an entropy decoder forming part of a video decoding apparatus. 17, respective buffers 1710, 1700 pass data to a CABAC decoder 1730 and a bypass decoder 1720, arranged so that a particular encoded data word or value is decoded by either the CABAC decoder or the bypass decoder, but not both. The decoded data is reordered by logic 1740 into the proper order for the subsequent decoding stages.

[0086] The schematic diagram of Figure 17 treats the CABAC decoder and the bypass decoder as separate arrangements, which is often the case in practice, but in another possibility, shown diagrammatically in Figure 18, a single CABAC decoder 1850 is used as both the CABAC decoder 1730 and the bypass decoder 1720 of Figure 17. The decoder 1850 operates under the control of the decoder 1860 such that when in CABAC decoder 1730 mode it operates with an adaptive context model (as described above), and when in bypass encoder 1720 mode it operates with a fixed 50% probability context model.

[0087] As mentioned above, a third possibility is that two substantially identical CABAC decoders can be operated in parallel (similar to the parallel arrangement of FIG. 17), with the difference being that the CABAC decoder operating as the bypass decoder 1720 has a fixed context model at a 50% probability context model.

[0088] In FIG. 18, a switch or multiplexer 1870 acts under the control of a mode signal 1860 to route the CABAC encoded data from buffer 1700 or buffer 1710, as appropriate, to decoder 1850.

[0089] Thus, Figures 14-16 provide examples of entropy decoders configured to selectively decode data items representing image data by a decoding system selected from a CABAC system and a bypass system.

[0090] The data items that can be generated, encoded, and decoded in an image data processing system are respectively: (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for the MDLM chroma mode of operation (e.g., use the upper or left sample); (iii) An instance with a flag indicating an intra-plane prediction mode.

[0091] In their previously proposed configuration (i.e., as defined by the most recent specification version available as of the priority date of this application, i.e., JVET-N1001-v8 (Draft 5)), Brass et al. state that these items (i)-(iii) are treated as CABAC encoded data. In particular, with regard to items (i) and (ii), the two data items are addressed using a common CABAC context (see 9.5.4.2.1 and especially Table 9.17 of the JVET document cited above).

[0092] Using a common CABAC context for data items (i) and (ii) could lead to potential inefficiencies.

[0093] For example, efficient use of CABAC contexts is based on the context tracking the likelihood of a particular outcome of the coded variables, which is achieved by updating the context in response to coding the variables. In the context of MDLM chroma mode use, the actual use of this mode has a particular probability for a given image or image region, but once the encoder has decided to use MDLM chroma mode (data item (i)), the likelihood of selecting a particular motion direction (data item (ii)) tends to be roughly 50:50. Thus, any potential coding efficiency gains achieved by tracking possible use of MDLM chroma modes by using a context common to data items (i) and (ii) are potentially negated, or at least partially addressed, by also tracking the same context for substantially equivalent use of a different processing direction (data item (ii)). The resulting context variables are inappropriate for encoding data item (ii), which may be less efficient than or substantially equivalent to encoding data item (i).

[0094] As an example, referring to the so-called intra_chroma_pred_mode values ​​4 to 6 defined in JVET-N1001-V8 (draft 5), the first and second data items can be expressed as follows: [Table 1]

[0095] In some implementations, encoding method 2 is bypass encoding using EP bins.

[0096] Therefore, data item (i) indicating that LM chroma mode is being used (note that if LM chroma mode is not being used, then MDLM does not apply) and an indication of whether MDLM is also being used use at least CABAC context 1.

[0097] In some other example configurations, encoding method 2 is CABAC encoding using a second CABAC context 2. Thus, the first data item indicating that LM chroma mode is being used (note that if LM chroma mode is not being used, then MDLM does not apply) and an indication of whether MDLM is also being used use at least CABAC context 1 and also CABAC context 2. With respect to manifestations of the present technology where a first data item is encoded using at least a first CABAC context, in these example arrangements, the first CABAC context may be interpreted as either context 1 or context 2.

[0098] In some implementations, encoding method 3 further uses an independent CABAC context, while in other implementations, encoding method 3 represents bypass coding using EP bins.

[0099] It will be understood that the term "encoding an instance of a data item" can mean starting from an initial representation of the data item and generating an encoded representation. Similarly, the term "decoding an instance of a data item" can mean starting from an encoded representation of the data item and generating an output representation.

[0100] Thus, on the encoding side, the entropy encoder is configured to encode an instance of a first data item and to encode an instance of a second data item independently of the encoding of the instance of the first data item. On the decoding side, the entropy decoder is configured to decode an instance of a first data item and to decode an instance of a second data item independently of the decoding of the instance of the first data item.

[0101] In at least some of the above examples, the entropy encoder is configured to encode an instance of a first data item with a CABAC encoding system using at least a first CABAC context (e.g., by including the use of CABAC context 1) and to encode an instance of a second data item independently of the first CABAC context (e.g., with encoding method 3).

[0102] In at least some examples, the first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. In at least some examples, the entropy encoder is configured to encode data indicating whether a linear mode chroma prediction mode is applied to the current image region using at least the first CABAC context, even if a flag indicating whether MDLM is used is encoded using a further CABAC context or a bypass method.

[0103] Corresponding considerations apply on the decode side.

[0104] In some exemplary embodiments, the entropy encoder of FIG. 14 is configured to encode an instance of data item (i) with a CABAC encoding system using a first CABAC context, and to encode an instance of data item (ii) independent of the first CABAC context.

[0105] In the exemplary embodiment, this is accomplished in a variety of ways. In some embodiments of the present disclosure, instances of data items (i) and (ii) are encoded using CABAC, but using separate contexts.

[0106] In other embodiments of the present disclosure, instances of data item (i) are encoded using CABAC and the first context, while instances of data item (ii) are encoded as bypass data, e.g., by a binary arithmetic coding system (e.g., 1420) using a fixed 50% probability (EP) model.

[0107] In an embodiment, it is also proposed that an instance of data item (iii), i.e. a flag indicating planar intra-prediction mode, is treated as an EP bin. This proposal is independent of the agreement regarding data items (i) and (ii) above.

[0108] FIG. 19 is a schematic flow chart showing an image data encoding method. Data items representing image data are selectively encoded (at step 1900) with a coding system selected from a context-adaptive binary arithmetic coding (CABAC), coding system and a bypass coding system. The data items are: (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for MDLM chroma mode operation; Including, The encoding step includes encoding an instance of a first data item and encoding an instance of a second data item independently of the encoding of the instance of the first data item.

[0109] FIG. 20 is a schematic flow chart showing an image data decoding method. A data item representing image data selected from a context-adaptive binary arithmetic coding (CABAC), decoding system, and a bypass decoding system is selectively decoded (at step 2000). The data items include: (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for the MDLM chroma mode of operation. Here, the decoding step includes decoding an instance of a first data item and decoding an instance of a second data item independently of the decoding of the instance of the first data item.

[0110] In any case, the embodiments of the present disclosure are represented by computer software that, when executed by a computer, causes the computer to perform the respective methods, and are implemented by a machine-readable non-transitory storage medium storing such computer software. In the case of the encoding methods, embodiments of the present disclosure are represented by a data signal that includes encoded data produced according to the respective method.

[0111] To the extent that embodiments of the present disclosure are described as being implemented, at least in part, by a software-controlled data processing apparatus, it will be understood that non-transitory machine-readable media carrying such software, such as optical disks, magnetic disks, semiconductor memories, and the like, are also considered to represent an embodiment of the present disclosure. Similarly, a data signal containing encoded data produced according to the above-described methods (whether or not embodied on a non-transitory machine-readable medium) is also considered to represent an embodiment of the present disclosure.

[0112] Obviously, numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that, within the scope of the appended provisions, the technology may be practiced otherwise than as specifically described herein.

[0113] Each aspect and feature is defined by the following set of numbered clauses. (1) an entropy encoder configured to selectively encode data items representing image data by a context-adaptive binary arithmetic coding (CABAC) encoding system or a bypass encoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, the entropy encoder encodes an instance of the first data item with the CABAC encoding system using a first CABAC context; configured to encode an instance of the second data item independent of the first CABAC context. Image data encoding device. (2) The image data encoding device according to (1), The entropy encoder is configured to encode an instance of the second data item using the bypass encoding system. Image data encoding device. (3) The image data encoding device according to (2), The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding device. (4) The image data encoding device according to (1), The entropy encoder is configured to encode the second data item instance with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. Image data encoding device. (5) A video storage device, a capture device, or a transmission / reception device, comprising an image data encoding device according to any one of (1) to (4). (6) selectively encoding data items representing image data by a context-adaptive binary arithmetic coding (CABAC), coding system or a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The encoding step includes encoding, by the CABAC encoding system using a first CABAC context, an instance of the first data item, and encoding, independent of the first CABAC context, an instance of the second data item. Image data encoding method. (7) The image data encoding method according to (6), The encoding step includes encoding an instance of the second data item using the bypass encoding system. Image data encoding method. (8) The image data encoding method according to (7), The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding method. (9) The image data encoding method according to (6), The encoding step includes encoding the second data item instance with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. Image data encoding method. (10) Computer software which, when executed by a computer, causes the computer to execute the method according to any one of (6) to (9). (11) A machine-readable non-transitory storage medium for storing the computer software described in (10). (12) A data signal including encoded data generated according to the method according to any one of (6) to (9). (13) An entropy decoder configured to selectively decode data items representing image data by a context-adaptive binary arithmetic coding (CABAC) decoding system or a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, the entropy decoder decodes an instance of the first data item by the CABAC encoding system using a first CABAC context; configured to decode the instance of the second data item independent of the first CABAC context. Image data decoding device. (14) The image data decoding device according to (13), the entropy decoder is configured to decode the instance of the second data item using the bypass decoding system. Image data decoding device. (15) The image data decoding device according to (14), The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding device. (16) The image data decoding device according to (13), the entropy decoder is configured to decode the second data item instance with the CABAC decoding system using a second CABAC context that is independent of the first CABAC context. Image data decoding device. (17) A video storage device, a capture device, or a transmission / reception device, comprising an image data decoding device according to any one of (13) to (16). (18) Selectively decoding data items representing image data by a context-adaptive binary arithmetic coding (CABAC) decoding system or a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The decoding step includes decoding, by the CABAC decoding system using a first CABAC context, an instance of the first data item, and decoding, independent of the first CABAC context, an instance of the second data item. Image data decoding method. (19) The image data decoding method according to (18), The decoding step includes decoding the instance of the second data item using the bypass decoding system. Image data decoding method. (20) The image data decoding method according to (19), The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding method. (21) The image data decoding method according to (18), The decoding step includes decoding, by the CABAC decoding system, the second instance of the data item using a second CABAC context that is independent of the first CABAC context. Image data decoding method. (22) Computer software that, when executed by a computer, causes the computer to execute the method according to any one of (18) to (21). (23) A machine-readable non-transitory storage medium for storing the computer software described in (18).

[0114] Further aspects and features are defined by the following set of numbered clauses: (1) an entropy encoder configured to selectively encode data items representing image data with a coding system selected from a context-adaptive binary arithmetic coding (CABAC), a coding system, and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The entropy encoder is configured to encode an instance of the first data item and to encode an instance of the second data item independently of encoding the instance of the first data item. Image data encoding device. (2) The image data encoding device according to (1), The entropy encoder is configured to encode an instance of the first data item with the CABAC encoding system using at least a first CABAC context, and to encode an instance of the second data item independently of the first CABAC context. Image data encoding device. (3) The image data encoding device according to (1), The entropy encoder is configured to encode an instance of the first data item with the CABAC encoding system using a first CABAC context, and to encode an instance of the second data item independent of the first CABAC context. Image data encoding device. (4) The image data encoding device according to any one of (1) to (3), The entropy encoder is configured to encode an instance of the second data item using the bypass encoding system. Image data encoding device. (5) The image data encoding device according to any one of (1) to (4), The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding device. (6) The image data encoding device according to (2), The entropy encoder is configured to encode the second data item instance with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. Image data encoding device. (7) The image data encoding device according to any one of (1) to (6), The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data encoding device. (8) An image data encoding device according to any one of (2) to (7) as dependent on (2), the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The entropy encoder is configured to use the first CABAC context to encode data indicating whether at least a linear mode chroma prediction mode is applied to the current image region. Image data encoding device. (9) A video storage device, a capture device, or a transmission / reception device, comprising an image data encoding device according to any one of (1) to (8). (10) selectively encoding data items representing image data with a coding system selected from a context-adaptive binary arithmetic coding (CABAC), a coding system, and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The encoding step includes encoding an instance of the first data item and encoding an instance of the second data item independently of the encoding of the instance of the first data item. Image data encoding method. (11) The image data encoding method according to (10), The encoding step includes encoding an instance of the first data item by the CABAC encoding system using at least a first CABAC context, and encoding an instance of the second data item independent of the first CABAC context. Image data encoding method. (12) The image data encoding method according to (10), The encoding step includes encoding an instance of the first data item by the CABAC encoding system using a first CABAC context, and encoding an instance of the second data item independent of the first CABAC context. Image data encoding method. (13) The image data encoding method according to any one of (10) to (12), The encoding step includes encoding an instance of the second data item using the bypass encoding system. Image data encoding method. (14) The image data encoding method according to any one of (10) to (13), The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding method. (15) The image data encoding method according to (11), The encoding step includes encoding the second data item instance with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. Image data encoding method. (16) The image data encoding method according to any one of (10) to (15), The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data encoding method. (17) The image data encoding method according to any one of (11) to (16) as dependent on (11), the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The encoding step includes encoding data indicating whether at least a linear mode chroma prediction mode is applied to the current image region using the first CABAC context. Image data encoding method. (18) Computer software which, when executed by a computer, causes the computer to execute the method according to any one of (10) to (17). (19) A machine-readable non-transitory storage medium for storing the computer software described in (18). (20) A data signal including encoded data generated according to the method according to any one of (10) to (19). (21) An entropy decoder configured to selectively decode data items representing image data by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC) decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The entropy decoder is configured to decode instances of the first data item and to decode instances of the second data item independently of the decoding of the instances of the first data item. Image data decoding device. (22) The image data decoding device according to (21), the entropy decoder is configured to decode instances of the first data item with the CABAC decoding system using at least a first CABAC context, and to decode instances of the second data item independent of the first CABAC context. Image data decoding device. (23) The image data decoding device according to (21), The entropy decoder is configured to decode an instance of the first data item with the CABAC decoding system using a first CABAC context, and to decode an instance of the second data item independent of the first CABAC context. Image data decoding device. (24) The image data decoding device according to any one of (21) to (23), the entropy decoder is configured to decode the instance of the second data item using the bypass decoding system. Image data decoding device. (25) The image data decoding device according to any one of (21) to (24), The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding device. (26) The image data decoding device according to (23), the entropy decoder is configured to decode the second data item instance with the CABAC decoding system using a second CABAC context that is independent of the first CABAC context. Image data decoding device. (27) The image data decoding device according to any one of (21) to (26), The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data decoding device. (28) An image data decoding device according to any one of (22) to (27) as dependent on (22), the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The entropy decoder is configured to use the first CABAC context to decode data indicating whether at least a linear mode chroma prediction mode is applied to the current image region. Image data decoding device. (29) A video storage device, a capture device, or a transmission / reception device, comprising an image data decoding device according to any one of (21) to (28). (30) selectively decoding data items representing image data by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC), decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The step of decoding includes decoding the instance of the first data item and decoding the instance of the second data item independently of the decoding of the instance of the first data item. Image data decoding method. (31) The image data decoding method according to (30), The decoding step includes decoding, by the CABAC decoding system using at least a first CABAC context, an instance of the first data item, and decoding, independent of the first CABAC context, an instance of the second data item. Image data decoding method. (32) The image data decoding method according to (30), The decoding step includes decoding, by the CABAC decoding system using a first CABAC context, an instance of the first data item, and decoding, independent of the first CABAC context, an instance of the second data item. Image data decoding method. (33) The image data decoding method according to any one of (30) to (32), the step of decoding includes decoding the instance of the second data item using the bypass decoding system. Image data decoding method. (34) The image data decoding method according to any one of (30) to (33), The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding method. (35) The image data decoding method according to (30), The decoding step includes decoding, by the CABAC decoding system, the second instance of the data item using a second CABAC context that is independent of the first CABAC context. Image data decoding method. (36) The image data decoding method according to any one of (30) to (35), The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data decoding method. (37) The image data decoding method according to any one of (31) to (36) as dependent on (31), the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The decoding step includes decoding data indicating whether at least a linear mode chroma prediction mode is applied to the current image region using the first CABAC context. Image data decoding method. (38) Computer software which, when executed by a computer, causes the computer to execute the method according to any one of (30) to (37). (39) A machine-readable non-transitory storage medium for storing the computer software described in (38).

Claims

1. an entropy encoder configured to selectively encode data items representing image data by a coding system selected from a context-adaptive binary arithmetic coding (CABAC) coding system and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The entropy encoder comprises: encoding an instance of the first data item with the CABAC encoding system using a first CABAC context and encoding an instance of the second data item using the bypass encoding system. Or, encoding an instance of the first data item with the CABAC encoding system using a first CABAC context, and encoding an instance of the second data item with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. It is configured as follows: Image data encoding device.

2. 2. The image data encoding device according to claim 1, The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding device.

3. 2. The image data encoding device according to claim 1, The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data encoding device.

4. 2. The image data encoding device according to claim 1, the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The entropy encoder is configured to use the first CABAC context to encode data indicating whether at least a linear mode chroma prediction mode is applied to the current image region. Image data encoding device.

5. A video storage device, a capture device, and a transmitting / receiving device, comprising the image data encoding device according to claim 1.

6. an encoding step of selectively encoding data items representing image data by a coding system selected from a context-adaptive binary arithmetic coding (CABAC) coding system and a bypass coding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The encoding step includes: encoding an instance of the first data item with the CABAC encoding system using a first CABAC context and encoding an instance of the second data item using the bypass encoding system. Or, encoding an instance of the first data item with the CABAC encoding system using a first CABAC context, and encoding an instance of the second data item with the CABAC encoding system using a second CABAC context that is independent of the first CABAC context. Image data encoding method.

7. 7. The image data encoding method according to claim 6, further comprising the steps of: The bypass coding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data encoding method.

8. 7. The image data encoding method according to claim 6, further comprising the steps of: The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data encoding method.

9. 7. The image data encoding method according to claim 6, further comprising the steps of: the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The encoding step includes encoding data indicating whether at least a linear mode chroma prediction mode is applied to the current image region using the first CABAC context. Image data encoding method.

10. Computer software which, when executed by a computer, causes the computer to carry out the method of claim 6.

11. 11. A machine-readable non-transitory storage medium storing the computer software of claim 10.

12. an entropy decoder configured to selectively decode data items representing image data by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC) decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The entropy decoder comprises: decoding an instance of the first data item with the CABAC decoding system using a first CABAC context and decoding an instance of the second data item using the bypass decoding system; Or, decoding an instance of the first data item by the CABAC decoding system using a first CABAC context, and decoding an instance of the second data item by the CABAC decoding system using a second CABAC context that is independent of the first CABAC context; It is configured as follows: Image data decoding device.

13. 13. The image data decoding device according to claim 12, The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding device.

14. 13. The image data decoding device according to claim 12, The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data decoding device.

15. 13. The image data decoding device according to claim 12, the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The entropy decoder is configured to use the first CABAC context to decode data indicating whether at least a linear mode chroma prediction mode is applied to the current image region. Image data decoding device.

16. A video storage device, a capture device, or a transmitting / receiving device, comprising the image data decoding device according to claim 12.

17. a decoding step of selectively decoding data items representing image data by a decoding system selected from a context-adaptive binary arithmetic coding (CABAC) decoding system and a bypass decoding system; This data item is (i) a first data item indicating whether a multi-directional linear model (MDLM) chroma mode is applied to the current image region; (ii) a second data item indicating a processing direction for said MDLM chroma mode of operation; Including, The decoding step includes: decoding an instance of the first data item with the CABAC decoding system using a first CABAC context, and decoding an instance of the second data item using the bypass decoding system. Or, decoding an instance of the first data item by the CABAC decoding system using a first CABAC context, and decoding an instance of the second data item by the CABAC decoding system using a second CABAC context that is independent of the first CABAC context. Image data decoding method.

18. 18. A method for decoding image data according to claim 17, comprising the steps of: The bypass decoding system is a binary arithmetic coding system that uses a fixed 50% probability context model. Image data decoding method.

19. 18. A method for decoding image data according to claim 17, comprising the steps of: The first data item includes data indicating whether a linear mode chroma prediction mode is applied to the current image region. Image data decoding method.

20. 18. A method for decoding image data according to claim 17, comprising the steps of: the first data item comprises data indicating whether a linear mode chroma prediction mode is applied to the current image region; The decoding step includes decoding data indicating whether at least a linear mode chroma prediction mode is applied to the current image region using the first CABAC context. Image data decoding method.

21. Computer software which, when executed by a computer, causes the computer to carry out the method of claim 17.

22. 22. A machine-readable non-transitory storage medium storing the computer software of claim 21.