Cabac context (probability) model settings

By employing flexible CABAC context model settings based on multiple coded neighboring CTUs, the inefficiencies in setting CABAC models for CTUs are addressed, resulting in improved video coding efficiency and compression performance.

WO2025219119A1PCT designated stage Publication Date: 2025-10-23NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/059288
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-18
Filing Date
2025-04-04
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing video coding standards like WC and ECM face inefficiencies in setting CABAC context models at the beginning of CTUs, as they often rely on default values or neighboring CTUs that may not statistically correlate well with the current CTU, leading to suboptimal compression performance.

Method used

Implement flexible CABAC context model settings that utilize multiple coded neighboring CTUs, including spatial and temporal collocated CTUs, to determine the most suitable context models for a current CTU, allowing for improved statistical correlation and adaptability.

Benefits of technology

Enhances video coding efficiency by improving the accuracy of CABAC context modeling, leading to better compression performance and reduced bitrate without compromising visual quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025059288_23102025_PF_FP_ABST
    Figure EP2025059288_23102025_PF_FP_ABST
Patent Text Reader

Abstract

In a video encoding process using a current picture divided into CTUs, CABAC context models are set to be used at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU The current CTU is encoded using the set CABAC context models. A bitstream having information corresponding to the encoded current CTU is output. In a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU. The current CTU is decoded using the set CABAC context models. Information is output for a video having part of a picture corresponding to the decoded current CTU.
Need to check novelty before this filing date? Find Prior Art

Description

CABAC Context (Probability) Model SettingsTECHNICAL FIELD

[0001] Examples of embodiments herein relate generally to video coding and decoding and, more specifically, relate to using CABAC (Context-Adaptive Binary Arithmetic Coding) context (or probability) models for coding and decoding CTUs (coding tree units) in coded pictures for video.BACKGROUND

[0002] CABAC (Context- Adaptive Binary Arithmetic Coding) is a technique used in video compression standards to efficiently encode video data. WC (Versatile Video Coding) is one of the latest video compression standards developed by the Joint Video Experts Team (JVET). In WC, CABAC is a major component of the video compression process, specifically within the entropy coding stage. Entropy coding is the process of representing the video data in a more compact form by exploiting statistical properties of the data.

[0003] Here is a brief overview of how CABAC works in WC:

[0004] 1) Context Modeling: CABAC employs context modeling to adaptively estimate the probability of each symbol (typically binary, 0 or 1) based on the neighboring symbols in the data stream. The context represents the state of the encoding process and is updated dynamically as encoding progresses.

[0005] 2) Binary Arithmetic Coding: Once the probabilities are estimated, binary arithmetic coding is used to encode the symbols. Arithmetic coding assigns shorter codewords to more probable symbols and longer codewords to less probable symbols. This ensures efficient representation of the data.

[0006] 3) Adaptation: One of the key features of CABAC is its adaptability. It continuously updates its probability models based on the previously encoded symbols. This adaptive nature allows CABAC to achieve high compression efficiency by exploiting the statistical properties of the video data.

[0007] 4) Context Selection: WC utilizes a set of predefined contexts for different types of symbols (e.g., intra-prediction modes, motion vectors, transform coefficients). Thesecontexts are selected based on the characteristics of the data being encoded, ensuring optimal performance.

[0008] Overall, CABAC plays a role in achieving the high compression efficiency of WC by efficiently encoding video data through adaptive probability modeling and binary arithmetic coding. It contributes significantly to reducing the bitrate of compressed video while maintaining high visual quality.

[0009] In order to effect this, CABAC uses a number of context models, which are effectively probability models. There are currently somewhere around 2,000 context models, which results in implementations where deciding on how to encode one bit could require analysis of five probabilities.

[0010] WC and other codecs typically divide a picture of video into CTUs (coding tree units). There are currently rules as to how CABAC context is applied to a single CTU.BRIEF SUMMARY

[0011] This section is intended to include examples and is not intended to be limiting.

[0012] In an exemplary embodiment, a method is disclosed that includes in a video encoding process using a current picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0013] An additional exemplary embodiment includes a computer program, comprising instructions for performing the method of the previous paragraph, when the computer program is run on an apparatus. The computer program according to this paragraph, wherein the computer program is a computer program product comprising a computer-readable medium bearing the instructions embodied therein for use with the apparatus. Another example is the computer program according to this paragraph, wherein the program is directly loadable into an internal memory of the apparatus.

[0014] An exemplary apparatus includes one or more processors and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video encoding process using a current picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least onmultiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0015] An exemplary computer program product includes a computer-readable storage medium bearing instructions that, when executed by an apparatus, cause the apparatus to perform at least the following: in a video encoding process using a current picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0016] In another exemplary embodiment, an apparatus comprises means for: in a video encoding process using a current picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0017] In an exemplary embodiment, a method is disclosed that includes in a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0018] An additional exemplary embodiment includes a computer program, comprising instructions for performing the method of the previous paragraph, when the computer program is run on an apparatus. The computer program according to this paragraph, wherein the computer program is a computer program product comprising a computer-readable medium bearing the instructions embodied therein for use with the apparatus. Another example is the computer program according to this paragraph, wherein the program is directly loadable into an internal memory of the apparatus.

[0019] An exemplary apparatus includes one or more processors and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video decoding process using a current coded picture dividedinto CTUs, setting CAB AC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0020] An exemplary computer program product includes a computer-readable storage medium bearing instructions that, when executed by an apparatus, cause the apparatus to perform at least the following: in a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0021] In another exemplary embodiment, an apparatus comprises means for: in a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings use reference numerals, where the same reference numerals may be used to refer to like parts throughout, but parts having the same reference numeral can differ in operation and components. In the attached drawings:

[0023] FIG. 1 is a block diagram illustrating a system in accordance with an example;

[0024] FIG. 2 illustrates a previously coded picture and a current picture and howCABAC states at a current picture are initialized from a set of fixed tables;

[0025] FIG. 3 illustrates that a current picture may inherit CABAC context (or probability) models of a past coded picture of the same type at the same temporal layer coded with the same QP;

[0026] FIG. 4 is a flow diagram illustrating methods for CABAC context (probability) model settings for an encoding process;

[0027] FIG. 5 illustrates a previously coded picture and a current picture, where, at the beginning of a current CTU (X), CAB AC context (or probability) models may be set to CABAC context (or probability) models at the end of the neighboring CTU (L), CTU (A), CTU (AL), CTU (AR) in the current picture, or temporal collocated CTU (T) in the previously picture;

[0028] FIG. 5A illustrates a previously coded picture and a current picture and illustrates that the example of FIG. 5 can be applied to ECM, as previously illustrated in FIG. 3;

[0029] FIG. 6 illustrates a WC encoder where the encoder examples can be implemented;

[0030] FIG. 7 is a flow diagram illustrating methods for CABAC context (probability) model settings for a decoding process;

[0031] FIG. 8 illustrates a WC decoder where the decoder examples can be implemented; and

[0032] FIG. 9 is an example of a block diagram of an apparatus suitable for implementing any of the encoders or decoders described herein.DETAILED DESCRIPTION OF THE DRAWINGS

[0033] Abbreviations that may be found in the specification and / or the drawing figures are defined below, at the end of the detailed description section.

[0034] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this Detailed Description are exemplary embodiments provided to enable persons skilled in the art to make or use the examples.

[0035] When more than one drawing reference numeral, word, or acronym is used within this description withand in general as used within this description, the “ / ” may be interpreted as “or”, “and”, or “both”. As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or,” mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements.

[0036] As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be furtherunderstood that the terms “comprises”, “comprising”, “has”, “having”, “includes” and / or “including”, when used herein, specify the presence of stated features, elements, and / or components etc., but do not preclude the presence or addition of one or more other features, elements, components and / or combinations thereof.

[0037] It is noted that capital and lowercase words or phrases are considered to be the same herein. For instance, the words Slice and slice are the same, as are the phrases Network Repository Function and network repository function.

[0038] Any flow diagram (see FIGS. 4 and 7) and or signaling diagram herein is considered to be a logic flow diagram, and illustrates the operation of an exemplary method, results of execution of computer program instructions embodied on a computer readable memory, functions performed by logic implemented in hardware, and / or interconnected means for performing functions in accordance with an exemplary embodiment. Block diagrams (such as FIGS. 1, 6, 8, and 9) also illustrate the operation of an exemplary method, results of execution of computer program instructions embodied on a computer readable memory, functions performed by logic implemented in hardware, and / or interconnected means for performing functions in accordance with an exemplary embodiment. For methods, flow diagrams, and signaling diagrams, the orders of method steps, blocks in the flow, or signaling are not critical and instead are examples.

[0039] Referring to FIG. 1, this figure is a block diagram illustrating a system 100 in accordance with an example. In the example, the encoder 130 is used to encode input video 110- 1 from the scene 15, and the encoder 130 is implemented in a transmitting apparatus 180-1. There is a capture of input video at a viewpoint 10 of a scene 15, which includes a human being 20. The encoder 130 produces a bitstream 101, using the encoding process 131 on the input video 110-1, that is received by the receiving apparatus 180-2. The receiving apparatus 180-2 implements a decoder 140, which performs a decoding process 141. The decoder 140, using the decoding process 141 on the bitstream 101, forms the output video 110-2 (as a representation of the input video 110-1) for the scene 15-1, and the receiving apparatus 180-2 would present this to the user, e.g., via a smartphone, television, or projector among many other options. The scene 15-1 has a viewpoint 10-1 and contains representations of at least a human being 20-1. The encoder 130 and decoder 140 may be applied to multiple coding standards.

[0040] One such standard is Versatile Video Coding (WC), which is a new international video coding standard. Enhanced Compression Model (ECM) is built on top of WC and is potentially a future video coding standard that is currently under the development sponsored by JVET. Both WC and ECM are block-based video coding standards, where an input picture is divided into CTUs, and each CTU may be further split into CUs. A CU (or block) is coded in either inter-coding mode or intra-coding mode. If the block is in inter-coding mode, the encoder 130 searches for a temporal prediction block in reference picture(s), and signals the decoder 140 how to find the same prediction block in reference picture(s) at the decoder end. If the block is in intra coding mode, the encoder 130 constructs a spatial prediction block from the current picture, and signals the decoder 140 how to form the same spatial prediction block from the current picture at the decoder end.

[0041] At the encoder end, the residual block between a current CU (or block) and its prediction block is transformed and quantized. The quantized transform coefficients are entropy coded. The decoder 140, on the other hand, performs inverse operations, such as, entropy decoding, dequantization and inverse transform, to reconstruct the residual block, and reconstructs the CU (or block) by adding the reconstructed residual block to the prediction block.

[0042] CABAC (Context- Adaptive Binary Arithmetic Coding) is a form of entropy coding for data compression. Both WC and ECM use CABAC as entropy code for coding the syntax elements (e.g., split flag, MVs, intra or inter coding modes, quantized transform coefficients, and the like), which may be converted into a sequence of binary symbols. A CABAC engine maintains a set of context models representing the probabilities of (binary) symbols based on contextual information from previously coded symbols. As a symbol is coded, the associated context (or probability) model is updated, adapting the changing statistics observed in the data. CABAC coding process relies on those context (or probability) models that capture the likelihood of different symbols or combinations of symbols occurring. While this description uses the phrase “context (or probability) models”, it is to be understood that context models are probability models.

[0043] In WC, at the beginning of a current picture (or the first CTU row), a CABAC initialization process is invoked, in which the CABAC context (or probability) models are set to default values. Refer to FIG. 2, which illustrates a previously coded picture and a current picture and how CABAC states at a current picture are initialized from a set of fixedtables. See block 210. This figure illustrates that the CAB AC context models are set to default values at the beginning of a current picture 250, and therefore no information for CAB AC context models is used in the current picture 250 from the previously coded picture 240. Both the previously coded picture 240 and the current picture 250 contain MN CTUs 180, with M rows and N columns of CTUs 280.

[0044] At the beginning of a current CTU row (but not the first CTU row of the current picture 250), CABAC context (or probability) models are set to CABAC context (or probability) models at the end of the above CTU row. See block 220 for the row starting with CTU N.

[0045] At the beginning of a current CTU (not the first CTU in the current CTU row), CABAC context (or probability) models are set to CABAC context (or probability) models at the end of the left CTU. See block 230, where the current CTU is CTU N+l, and the CABAC context (or probability) models are set to the CABAC context (or probability) models in CTU N.

[0046] CABAC context models at a current picture 250 may be initialized from a set of fixed table(s). The previously coded picture 240 and the current picture include MN CTUs 280, with N columns and M rows. For example, in FIG. 2, at the beginning of the current picture, CABAC initialization process is invoked (block 210), where CABAC context (or probability) models are set to default values using a set of fixed tables (e.g., tables having values that are fixed prior to be used herein).

[0047] At the beginning of CTU N (the first CTU in the second CTU row), CABAC context (or probability) models are set (block 220) to CABAC context (or probability) models at the end of CTU N-l (the last CTU in the above or the first CTU row).

[0048] At the beginning of CTU N+l, CABAC context (or probability) models are set (block 230) to CABAC context (or probability) models at the end of CTU N (the left CTU).

[0049] In ECM, at the beginning of a current IRAP or GDR picture, a CABAC initialization process is still invoked, which cleans up the existing CABAC context (or probability) models and resets them to default values.

[0050] But, in order to improve the coding performance, ECM allows an inter picture to inherit CABAC context models from previously coded inter picture with the same picture type, the same temporal ID and the same quantization parameter (QP).

[0051] Hence, at the beginning of a current picture, CAB AC context (or probability) models may be set to CAB AC context (or probability) models at the end of the past coded inter picture of the same type (P or B) at the same temporal layer (e.g., TId) coded with the same quantization parameter (QP).

[0052] Note that if, at the beginning of a current picture, there is no previously coded picture of the same type (P or B) at the same temporal layer (TId) coded with the same QP, CABAC initialization process is invoked, which sets CABAC context (or probability) models to default values.

[0053] Refer now to FIG. 3, which illustrates that a current picture 250 may inherit CABAC context (or probability) models of a past coded picture 240 of the same type at the same temporal layer coded with the same QP. That is, in FIG. 3, the current picture and previously coded picture are of the same type at the same temporal layer (TId). If the same QP is used for both current picture and the previously coded picture, CABAC context (or probability) models at the beginning of the current picture may be set to CABAC context (or probability) models at the end of the previously coded picture. See block 310, which is illustrated in part via a line indicating there is inheritance from the end of the MN-1 CTU of the previously coded picture 240 to the beginning of CTU 0 (zero) in the current picture 250.

[0054] Inside the current picture 250, CABAC context (or probability) model settings at the beginning of a current CTU follows the same rule as specified in WC (see FIG. 2).

[0055] WC sets CABAC context (or probability) models at the beginning of a current picture to default values using a set of fixed tables. Meanwhile, ECM may allow a current picture to inherit CABAC context (or probability) models from a past coded picture, but with some restrictions, such as the same picture type, temporal layer and QP values, that are required. Both WC and ECM set CABAC context (or probability) models at the beginning of a current CTU (but not the first CTU of the current picture) to CABAC context (or probability) models at the end of the previously coded CTU (either the left CTU or the last CTU of the above CTU row). Improvements can be made to these issues.

[0056] The inventors have realized that a current CTU in a current picture may not necessarily statistically correlate the most with a past coded CTU (that is, a CTU that has been coded prior to the current CTU), and instead may correlate more with other coded neighboring CTUs.

[0057] The examples herein address these and other issues. The examples allow flexible CAB AC context (or probability) model settings. FIG. 4 presents an overview, and additional examples are presented below. FIG. 4 is a flow diagram illustrating methods for CAB AC context (probability) model settings for an encoding process 131. This is assumed to be performed by an encoder 130 under control of a transmitting apparatus 180-1. The main blocks are blocks 410, 430, and 440. In block 410, the encoder 130, in a video encoding process using a current picture divided into CTUs, sets CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU. The coded neighboring CTUs are the CTUs that are before the current CTU and that have been previously coded. The encoder 130, in block 430, encodes the current CTU using the set CABAC context models, and the encoder 130 in block 440 outputs a bitstream having information corresponding to the encoded current CTU.

[0058] Blocks 412, 414, and 416 illustrate additional examples of how block 410 might be performed. The setting, e.g., between the multiple coded neighboring CTUs 280, could be based on a metric. See block 412. As illustrated, one such metric could be rate distortion cost, and other metrics may be used. As indicated in block 414, the encoder and a decoder employ one or more same rules to set the CABAC context models for the current CTU to a coded neighbor CTU based on a history of coded information. Specifically, one or more rules are used to select a coded neighbor CTU based on a history of coded information. Block 416 provides another option. Specifically, in addition to the multiple coded neighboring CTUs, default values (e.g., using a set of fixed tables) can be one option. The encoder 130 performs the setting by selecting either default values to use, at the current CTU when the current CTU is not the first CTU in the current picture, or which one of the multiple neighboring CTUs to use. Block 416 can use either of the techniques of block 412 (e.g., a metric is applied to the default values and the multiple coded neighboring CTUs, and one is used to select the CABAC context modes) or block 414 (e.g., rules are used to select the CABAC context modes between the default values and the multiple coded neighboring CTUs).

[0059] Additional examples are provided below, but it is helpful to provide a visual way of looking at the techniques first. As points of reference for the description below, the term “spatial” means in the same picture, whereas the term “temporal” means in different pictures. In FIG. 5, at the beginning of a current CTU (X) 280-X in the current picture, CABAC context (orprobability) models may be set to CAB AC context (or probability) models of multiple neighboring CTUs 280-N. That is, CABAC context (or probability) models may be set to CAB AC context (or probability) model at an end of the left (L) spatial coded neighboring CTU 280-N1 via context relationship 1, the above (A) spatial coded neighboring CTU 280-N2 via context relationship 2, the above-left (AL) spatial coded neighboring CTU 280-N3 via context relationship 3, or the above-right (AR) spatial coded neighboring CTU 480-N4 via context relationship 4 in the current picture, or even the end of the temporal collocated (T) neighboring CTU 280-N5 (via context relationship 5) in the previously coded picture. Being temporal collocated means that the CTU in the previously coded picture 240 is at the same column, row position of the current CTU in the current picture 250. These are all neighboring CTUs 280: the neighbors 280-N1 to 280-N4 are physical neighbors, where a part of the CTU abuts the current CTU 280-X; and the temporal collocated 280-N5 is a neighboring in time based on the previously coded picture 240. Other non-coded spatial CTUs are shown, which are to the right of CTU-X 280-X and below CTU-X 280-X.

[0060] FIG. 5A illustrates a previously coded picture and a current picture and illustrates that the example of FIG. 5 can be applied to ECM, as previously illustrated in FIG. 3.

[0061] Further details are provided. Specifically, CABAC context (or probability) models at the beginning of a current CTU 280-X of a current picture can be set to CABAC context (or probability) models at the end of any of its coded spatial neighboring CTUs 280-N1 through 280-N4 in the current picture 250 or temporal collocated CTU 280-N5 in the previously coded picture 240. Note that the temporal collated CTU 280-N5 may be extended to a coded picture prior to the previously coded picture 240, or even farther back in time, to a previously coded picture before the immediately previously coded picture 240. That is, a previously coded picture may be from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

[0062] In an example, it is proposed that CABAC context (or probability) models at the beginning of a current CTU 280-X of a current picture 250 may be set to default values using a set of fixed tables or set to CABAC context (or probability) models at the end of one of its coded spatial neighboring CTUs 280-N in the current picture or its temporal collocated CTU(s) 280-N5 in previously coded picture(s) 240.

[0063] The encoder 130 may need to signal the decoder 140 as to which past-coded CTU is used for setting CAB AC context (or probability) models at the beginning of a current CTU 280-X. Similarly, if the default values are used for setting CAB AC context (or probability) models at the beginning of a current CTU 280-X, this could also be signaled.

[0064] Note that the coding order of CTUs in a current picture still follows the same path specified in WC and ECM. That is, CTUs are coded from left to right and top to bottom, as shown in FIGS. 5 and 5 A, and previous figures.

[0065] In one embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of the left (L) neighboring CTU of the current CTU in the current picture. This is illustrated by the context relationship 1 in FIG. 5 also.

[0066] In a second embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of the above (A) neighboring CTU of the current CTU in the current picture. This is illustrated by the context relationship 2 in FIG. 5 also.

[0067] In a third embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of the above-left (AE) neighboring coded CTU of the current CTU in the current picture. This is illustrated by the context relationship 3 in FIG. 5 also.

[0068] In a fourth embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of the above-right (AR) neighboring CTU of the current CTU in the current picture. This is illustrated by the context relationship 4 in FIG. 5 also.

[0069] In a fifth embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of the temporal (T) collocated CTU of the current CTU in previously coded picture. This is illustrated by the context relationship 5 in FIG. 5 also.

[0070] In a sixth embodiment, CAB AC context (or probability) models at the beginning of a current CTU of a current picture may be set to CAB AC context (or probability) models at the end of other previously coded CTU(s) in the current picture or previously codedpictures. In this context, “previously coded CTU(s)” means the CTU(s) where previously coded relative to a current CTU.

[0071] The encoder in an example is allowed to select and signal which past-coded CTU is used in setting CAB AC context (or probability) models for the current CTU (X).

[0072] Alternatively, the encoder and decoder may employ the same rule(s) to derive the previously coded neighbor CTU in setting CAB AC context (or probability) models for a current CTU (X) based on a history of coded information. Note that this may also include one or more rules for selecting the default values too, e.g., whether the default values or a previously coded neighbor CTU (and which one) is used in setting CABAC context (or probability) models for a current CTU (X).

[0073] Referring to FIG. 6, this figure illustrates a WC encoder 600 where the encoder examples can be implemented. The examples can be implemented in the entropy encoder 630. It is noted that the terms “image” and “picture” are considered to be the same herein. The encoder 600 is a base layer and other layers (not shown) may be added to the base layer. The encoder 600 comprises a pixel predictor 602, prediction error encoder 603, and prediction error decoder 604. FIG. 6 also shows an embodiment of the pixel predictor 602 as comprising an inter-predictor (Pinter) 606, an intra-predictor (Pintra) 608, a mode selector 610, a filter (F) 616, and a reference frame memory (RFM) 618. The pixel predictor 602 of the encoder 600 receives base layer pictures (Io,n) 601 of input video 110-1 (e.g., a video stream) to be encoded at both the inter-predictor 606 (which determines the difference between the picture and a motion compensated reference frame from the RFM 618) and the intra-predictor 608 (which determines a prediction for an image block based only on the already processed parts of current frame or picture). The output of both the inter-predictor 606 and the intra-predictor 608 are passed to the mode selector 610. The intra-predictor 608 may have more than one intraprediction mode. Hence, each mode may perform the intra-prediction and provide the predicted signal to the mode selector 610. The mode selector 610 also receives a copy of the base layer pictures (Io,n) 601.

[0074] Depending on which encoding mode is selected to encode the current block, the output of the inter-predictor 606, or the output of one of the intra-predictor 608 modes or the output of a surface encoder within the mode selector 610 is passed to the output of the mode selector 610. The output of the mode selector 610 is passed to first summing device 621. Thefirst summing device 621 may subtract the output of the pixel predictor 602 from the base layer picture 601 to produce a first prediction error signal (Dn) 620, which is input to the prediction error encoder 603.

[0075] The pixel predictor 602 further receives from a second summing device 639, which acts as a preliminary reconstructor, the combination of the prediction representation of the image block (P’n) 612 and the prediction error signal (D’n) 638 of the prediction error decoder 604. The preliminary reconstructed picture (rn) 614 may be passed to the intra-predictor 608 and to a filter (F) 616. The filter 616 receiving the preliminary representation may filter the preliminary representation and output a final reconstructed picture 640, which may be saved in the reference frame memory 618. The reference frame memory 618 may be connected to the inter-predictor 606 to be used as the reference picture against which a future base layer picture 601 is compared in inter-prediction operations.

[0076] The prediction error encoder 603 comprises a transform unit (T) 642 and a quantizer (Q) 644. The transform unit 642 transforms the first prediction error signal 620 to a transform domain. The transform is, for example, the DCT transform. The quantizer 644 quantizes the transform domain signal, e.g., the DCT coefficients, to form quantized coefficients.

[0077] The prediction error decoder 604 receives the output from the prediction error encoder 603, and performs the opposite processes of the prediction error encoder 603 to produce a decoded prediction error signal (D’n) 638 which, when combined with the prediction representation of the image block 612 at the second summing device 639, produces the preliminary reconstructed picture 614. The prediction error decoder 604 may be considered to comprise a dequantizer (Q1) 646, which dequantizes the quantized coefficient values, e.g., DCT coefficients, to reconstruct the transform signal and an inverse transformation unit648, which performs the inverse transformation to the reconstructed transform signal wherein the output of the inverse transformation unit 648 contains reconstructed block(s). The prediction error decoder 604 may also comprise a block filter (not shown) which may filter the reconstructed block(s) according to further decoded information and filter parameters.

[0078] The entropy encoder 630 receives the output of the prediction error encoder 603 and may perform a suitable entropy encoding / variable length encoding on the signal to provide error detection and correction capability. The output of the entropy encoder 630 may be inserted into a bitstream 101. Entropy coding / decoding may be performed in many ways. Forexample, context-based coding / decoding may be applied, where in both the encoder and the decoder modify the context state of a coding parameter based on previously coded / decoded coding parameters. Context based coding may for example be context adaptive binary arithmetic coding (CABAC), or context-based variable length coding (CAVLC) or any similar entropy coding. Entropy coding / decoding may alternatively or additionally be performed using a variable length coding scheme, such as Huffman coding / decoding or Exp-Golomb coding / decoding. Decoding of coding parameters from an entropy - coded bitstream or codewords may be referred to as parsing. It is noted that CABAC is used herein.

[0079] At the decoder 140, the decoder receives a coded video (as part of a bitstream 101) having a coded picture where the coded picture has CABAC context (or probability) models set at a beginning of a current CTU of a current coded picture to one of the following: default values using a set of fixed tables; or at the end of one of its spatial coded neighboring CTUs in the current picture or temporal collocated CTUs of the current CTU in previously coded picture(s). The decoder 140 performs decoding of the current coded picture based on the CABAC context (or probability) models for the current CTU to create a video representation of the coded video.

[0080] Referring to FIG. 7, this figure is a flow diagram illustrating methods for CABAC context (probability) model settings for a decoding process 141. This is assumed to be performed by a decoder 140 under control of the receiving apparatus 180-2. It is noted that decoding is - to a large extent - the inverse of encoding. So, any encoding operation performed above has an equivalent inverse operation. The main blocks are blocks 710, 730, and 740. In block 710, the decoder 140, in a video decoding process using a current coded picture divided into CTUs, set CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU. In block 730, the decoder 140 decodes the current CTU using the set CABAC context models. In block 740, the decoder 140 outputs information for a video having part of a picture corresponding to the decoded current CTU. In block 716, which is a version of block 710, the decoder 140 sets by selecting either default values to use, at the current CTU when the current CTU is not the first CTU in the current picture, or which of the multiple neighboring CTUs to use. This is similar to block 416 of FIG. 4.

[0081] Referring to FIG. 8, this figure illustrates a WC decoder 800 where the decoder examples can be implemented. The video decoder 800 is coupled to the bitstream 101.The examples herein can be implemented in the entropy decoding 830. Reference P'nstands for a predicted representation of an image block. Reference D'nstands for a reconstructed prediction error signal. Block 805 illustrates preliminary reconstructed pictures (I'n). Reference R'nstands for a final reconstructed picture in an output video 110-2. Block 803 illustrates inverse transforms (T4). Block 802 illustrates inverse quantization (Q ). Block 830 illustrates entropy decoding (E4). Block 806 illustrates a reference frame memory (RFM). Block 807 illustrates prediction (P) (either inter-prediction or intra-prediction). Block 808 illustrates filtering (F). Adder 809 may be used to combine decoded prediction error information (D’n) with predicted base layer / predicted layer pictures (P’n) to obtain the preliminary reconstructed pictures (I'n) 805.

[0082] Turning to FIG. 9, this figure is an example of a block diagram of an apparatus 980 suitable for implementing any of the encoders or decoders described herein. The apparatus 980 includes circuitry comprising one or more processors 920, one or more memories 925, one or more transceivers 930, one or more network (N / W) interface(s) (I / F(s)) 955 and user interface (UI) circuitry and elements 957, interconnected through one or more buses 927. Depending on implementation, some apparatus may not have all of the circuitry. For example, an apparatus 980 might not have UI circuitry and elements 957. An apparatus may have additional circuitry, not described here. FIG. 9 is presented merely as an example.

[0083] Each of the one or more transceivers 930 includes a receiver, Rx, 932 and a transmitter, Tx, 933. The one or more buses 927 may be address, data, and / or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. The one or more transceivers 930 are connected to one or more antennas 905, and may communicate using wireless link 911.

[0084] The one or more memories 925 include computer program code 923. The apparatus 980 includes a program 940, comprising one of or both parts 940-1 and / or 940-2. The program 940 may implement an encoder 130, a decoder 140, or a codec (130 + 140), which implements both encoding and decoding. The program itself may be implemented in a number of ways. The program 940 may be implemented in circuitry as program 940-1, such as being implemented as part of the one or more processors 920, and contains instructions implemented in circuitry. The program 940-1 may be implemented also as an integrated circuit or through othercircuitry such as a programmable gate array. In another example, the program 940 may be implemented as program 940-2, which is implemented as computer program code (having corresponding instructions) 923 and is executed by the one or more processors 920. For instance, the one or more memories 925 store instructions that, when executed by the one or more processors 920, cause the apparatus 980 to perform one or more of the operations as described herein.

[0085] The network interface(s) (N / W I / F(s)) 955 are wired interfaces communicating using link(s) 956, which could be fiber optic or other wired interfaces. The apparatus 980 could include only wireless transceiver(s) 930, only N / W I / Fs 955, or both wireless transceiver(s) 930 and N / W I / Fs 955.

[0086] The apparatus 980 may or may not include UI circuitry and elements 957. These could include a display such as a touchscreen, speakers, or interface elements such as for headsets. For instance, an apparatus 980 of a smartphone would typically include at least a touchscreen and speakers. The UI circuitry and elements 957 may also include circuity to communicate with external UI elements (not shown) such as displays, keyboards, mice, headsets, and the like.

[0087] The computer readable memories 925 may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, firmware, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The processor(s) 920 may be of any type suitable to the local technical environment, and may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-core processor architecture, as nonlimiting examples. The processor(s) 920 control the apparatus 980 to perform the operations as described herein. The processor(s) 920 may execute instructions, including microcode, but are not implemented solely in software.

[0088] The following are additional examples.

[0089] Example 1. A method, comprising: in a video encoding process using a current picture divided into CTUs, setting CAB AC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encodingthe current CTU using the set CAB AC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0090] Example 2. The method according to example 1, wherein setting further comprises setting the CAB AC context models to use at the beginning of the current CTU of the current picture to CAB AC context models at an end of a coded neighboring CTU, wherein the coded neighboring CTU comprising a spatial coded neighboring CTU in the current picture or a temporal collocated neighboring CTU in a previously coded picture.

[0091] Example 3. The method according to example 2, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

[0092] Example 4. The method according to any of examples 1 to 3, further comprising signaling the coded neighboring CTU used for setting CAB AC context models at the beginning of the current CTU.

[0093] Example 5. The method according to any of examples 1 to 4, wherein: the CAB AC context models to use at the beginning of a current CTU of the current picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0094] Example 6. The method according to any of examples 1 to 4, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0095] Example 7. The method according to any of examples 1 to 4, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CABAC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0096] Example 8. The method according to any of examples 1 to 4, wherein: the CABAC context models to use at the beginning of the current CTU of the current picture are set to CABAC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0097] Example 9. The method according to any of examples 1 to 4, wherein: the CABAC context models at the beginning of the current CTU of the current picture are set to CABAC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0098] Example 10. The method according to any of examples 1 to 9, wherein the setting the CAB AC context models to use at the beginning of the current CTU comprises setting one of the multiple coded neighboring CTUs to use for the set CAB AC context models based on a metric.

[0099] Example 11. The method according to example 1, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values to use at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CABAC context models at the beginning of the current CTU to CABAC context models at an end of one of the coded neighboring CTUs.

[0100] Example 12. The method according to example 11, further comprising signaling as to which of the default values or the one coded neighboring CTU is used for setting CABAC context models at the beginning of the current CTU.

[0101] Example 13. The method according to example 11, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0102] Example 14. The method according to any of examples 11 to 13, wherein the default values are from a set of fixed tables.

[0103] Example 15. The method according to any of examples 11 to 14, wherein the setting selects between the multiple coded neighboring CTUs of the current CTU or the default values to use at the beginning of the current CTU based on a metric.

[0104] Example 16. The method according to example 1, wherein one or more rules are used to select a coded neighbor CTU based on a history of coded information.

[0105] Example 17. A method, comprising: in a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0106] Example 18. The method according to example 17, wherein setting further comprises setting the CABAC context models to use at the beginning of the current CTU of the current coded picture to CABAC context models at an end of a coded neighboring CTU, whereinthe coded neighboring CTU comprising a spatial coded neighboring CTU in the current coded picture or a temporal collocated neighboring CTU in a previously coded picture.

[0107] Example 19. The method according to example 18, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

[0108] Example 20. The method according to any of examples 17 to 19, wherein: the method further comprises receiving signaling as to which coded neighboring CTU is used for setting CAB AC context models at the beginning of the current CTU; and setting further comprises setting which CAB AC context models have been set for use at the beginning of the current CTU by using the signaling.

[0109] Example 21. The method according to any of examples 17 to 20, wherein: the CAB AC context models to use at the beginning of a current CTU of the current coded picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0110] Example 22. The method according to any of examples 17 to 20, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0111] Example 23. The method according to any of examples 17 to 20, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0112] Example 24. The method according to any of examples 17 to 20, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0113] Example 25. The method according to any of examples 17 to 20, wherein: the CAB AC context models at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0114] Example 26. The method according to example 17, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values touse at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CABAC context models at the beginning of the current CTU to CABAC context models at an end of one of the coded neighboring CTUs.

[0115] Example 27. The method according to example 26, wherein: the method further comprises receiving signaling as to which of the default values or the one coded neighboring CTU is used for setting CABAC context models at the beginning of the current CTU; and setting further comprises setting which CABAC context models have been set for use at the beginning of the current CTU by using the signaling.

[0116] Example 28. The method according to example 26, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0117] Example 29. The method according to any of examples 26 to 28, wherein the default values are from a set of fixed tables.

[0118] Example 30. The method according to example 17, wherein one or more rules are used to select a previously coded neighbor CTU based on a history of coded information.

[0119] Example 31. An apparatus, comprising means for: in a video encoding process using a current picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0120] Example 32. The apparatus according to example 31, wherein setting further comprises setting the CABAC context models to use at the beginning of the current CTU of the current picture to CABAC context models at an end of a coded neighboring CTU, wherein the coded neighboring CTU comprising a spatial coded neighboring CTU in the current picture or a temporal collocated neighboring CTU in a previously coded picture.

[0121] Example 33. The apparatus according to example 32, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

[0122] Example 34. The apparatus according to any of examples 31 to 33, wherein the means are further configured for signaling the coded neighboring CTU used for setting CAB AC context models at the beginning of the current CTU.

[0123] Example 35. The apparatus according to any of examples 31 to 34, wherein: the CAB AC context models to use at the beginning of a current CTU of the current picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0124] Example 36. The apparatus according to any of examples 31 to 34, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0125] Example 37. The apparatus according to any of examples 31 to 34, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0126] Example 38. The apparatus according to any of examples 31 to 34, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0127] Example 39. The apparatus according to any of examples 31 to 34, wherein: the CAB AC context models at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0128] Example 40. The apparatus according to any of examples 31 to 39, wherein the setting the CAB AC context models to use at the beginning of the current CTU comprises setting one of the multiple coded neighboring CTUs to use for the set CAB AC context models based on a metric.

[0129] Example 41. The apparatus according to example 31, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values to use at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CAB ACcontext models at the beginning of the current CTU to CAB AC context models at an end of one of the coded neighboring CTUs.

[0130] Example 42. The apparatus according to example 41, wherein the means are further configured for signaling as to which of the default values or the one coded neighboring CTU is used for setting CAB AC context models at the beginning of the current CTU.

[0131] Example 43. The apparatus according to example 41, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0132] Example 44. The apparatus according to any of examples 41 to 43, wherein the default values are from a set of fixed tables.

[0133] Example 45. The apparatus according to any of examples 41 to 44, wherein the setting selects between the multiple coded neighboring CTUs of the current CTU or the default values to use at the beginning of the current CTU based on a metric.

[0134] Example 46. The apparatus according to example 31, wherein one or more rules are used to select a coded neighbor CTU based on a history of coded information.

[0135] Example 47. An apparatus, comprising means for: in a video decoding process using a current coded picture divided into CTUs, setting CABAC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0136] Example 48. The apparatus according to example 47, wherein setting further comprises setting the CABAC context models to use at the beginning of the current CTU of the current coded picture to CABAC context models at an end of a coded neighboring CTU, wherein the coded neighboring CTU comprising a spatial coded neighboring CTU in the current coded picture or a temporal collocated neighboring CTU in a previously coded picture.

[0137] Example 49. The apparatus according to example 48, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

[0138] Example 50. The apparatus according to any of examples 47 to 49, wherein: the means are further configured for receiving signaling as to which coded neighboring CTU is used for setting CABAC context models at the beginning of the current CTU; and setting furthercomprises setting which CAB AC context models have been set for use at the beginning of the current CTU by using the signaling.

[0139] Example 51. The apparatus according to any of examples 47 to 50, wherein: the CAB AC context models to use at the beginning of a current CTU of the current coded picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0140] Example 52. The apparatus according to any of examples 47 to 50, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0141] Example 53. The apparatus according to any of examples 47 to 50, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0142] Example 54. The apparatus according to any of examples 47 to 50, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0143] Example 55. The apparatus according to any of examples 47 to 50, wherein: the CAB AC context models at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0144] Example 56. The apparatus according to example 47, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values to use at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CAB AC context models at the beginning of the current CTU to CAB AC context models at an end of one of the coded neighboring CTUs.

[0145] Example 57. The apparatus according to example 56, wherein: the means are further configured for receiving signaling as to which of the default values or the one coded neighboring CTU is used for setting CAB AC context models at the beginning of the currentCTU; and setting further comprises setting which CAB AC context models have been set for use at the beginning of the current CTU by using the signaling.

[0146] Example 58. The apparatus according to example 56, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0147] Example 59. The apparatus according to any of examples 56 to 58, wherein the default values are from a set of fixed tables.

[0148] Example 60. The apparatus according to example 47, wherein one or more rules are used to select a previously coded neighbor CTU based on a history of coded information.

[0149] Example 61. The apparatus of any preceding apparatus example, wherein the means comprises: at least one processor; and at least one memory storing instructions that, when executed by at least one processor, cause the performance of the apparatus.

[0150] Example 62. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video encoding process using a current picture divided into CTUs, setting CAB AC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; encoding the current CTU using the set CABAC context models; and outputting a bitstream having information corresponding to the encoded current CTU.

[0151] Example 63. The apparatus according to example 62, wherein setting further comprises setting the CABAC context models to use at the beginning of the current CTU of the current picture to CABAC context models at an end of a coded neighboring CTU, wherein the coded neighboring CTU comprising a spatial coded neighboring CTU in the current picture or a temporal collocated neighboring CTU in a previously coded picture.

[0152] Example 64. The apparatus according to example 63, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

[0153] Example 65. The apparatus according to any of examples 62 to 64, wherein the one or more memories further store instructions that, when executed by the one or moreprocessors, cause the apparatus at least to perform signaling the coded neighboring CTU used for setting CAB AC context models at the beginning of the current CTU.

[0154] Example 66. The apparatus according to any of examples 62 to 65, wherein: the CAB AC context models to use at the beginning of a current CTU of the current picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0155] Example 67. The apparatus according to any of examples 62 to 65, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0156] Example 68. The apparatus according to any of examples 62 to 65, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0157] Example 69. The apparatus according to any of examples 62 to 65, wherein: the CAB AC context models to use at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0158] Example 70. The apparatus according to any of examples 62 to 65, wherein: the CAB AC context models at the beginning of the current CTU of the current picture are set to CAB AC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0159] Example 71. The apparatus according to any of examples 62 to 70, wherein the setting the CAB AC context models to use at the beginning of the current CTU comprises setting one of the multiple coded neighboring CTUs to use for the set CAB AC context models based on a metric.

[0160] Example 72. The apparatus according to example 62, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values to use at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CAB AC context models at the beginning of the current CTU to CAB AC context models at an end of one of the coded neighboring CTUs.

[0161] Example 73. The apparatus according to example 72, wherein the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform signaling as to which of the default values or the one coded neighboring CTU is used for setting CAB AC context models at the beginning of the current CTU.

[0162] Example 74. The apparatus according to example 72, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0163] Example 75. The apparatus according to any of examples 72 to 74, wherein the default values are from a set of fixed tables.

[0164] Example 76. The apparatus according to any of examples 72 to 75, wherein the setting selects between the multiple coded neighboring CTUs of the current CTU or the default values to use at the beginning of the current CTU based on a metric.

[0165] Example 77. The apparatus according to example 62, wherein one or more rules are used to select a coded neighbor CTU based on a history of coded information.

[0166] Example 78. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video decoding process using a current coded picture divided into CTUs, setting CAB AC context models to use at a beginning of a current CTU based at least on multiple coded neighboring CTUs of the current CTU; decoding the current CTU using the set CABAC context models; and outputting information for a video having part of a picture corresponding to the decoded current CTU.

[0167] Example 79. The apparatus according to example 78, wherein setting further comprises setting the CABAC context models to use at the beginning of the current CTU of the current coded picture to CABAC context models at an end of a coded neighboring CTU, wherein the coded neighboring CTU comprising a spatial coded neighboring CTU in the current coded picture or a temporal collocated neighboring CTU in a previously coded picture.

[0168] Example 80. The apparatus according to example 79, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

[0169] Example 81. The apparatus according to any of examples 78 to 80, wherein: the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving signaling as to which coded neighboring CTU is used for setting CAB AC context models at the beginning of the current CTU; and setting further comprises setting which CAB AC context models have been set for use at the beginning of the current CTU by using the signaling.

[0170] Example 82. The apparatus according to any of examples 78 to 81, wherein: the CAB AC context models to use at the beginning of a current CTU of the current coded picture are set to CAB AC context modes at an end of a left coded neighboring CTU of the current CTU.

[0171] Example 83. The apparatus according to any of examples 78 to 81, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above coded neighboring CTU of the current CTU.

[0172] Example 84. The apparatus according to any of examples 78 to 81, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-left coded neighboring CTU of the current CTU.

[0173] Example 85. The apparatus according to any of examples 78 to 81, wherein: the CAB AC context models to use at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of an above-right coded neighboring CTU of the current CTU.

[0174] Example 86. The apparatus according to any of examples 78 to 81, wherein: the CAB AC context models at the beginning of the current CTU of the current coded picture are set to CAB AC context models at an end of a temporal collocated CTU of the current CTU in a previously coded picture.

[0175] Example 87. The apparatus according to example 78, wherein: the setting selects between the multiple coded neighboring CTUs of the current CTU or default values to use at the beginning of the current CTU, and comprises one of the following: setting CAB AC context models at the beginning of the current CTU to the default values; or setting CAB AC context models at the beginning of the current CTU to CAB AC context models at an end of one of the coded neighboring CTUs.

[0176] Example 88. The apparatus according to example 87, wherein: the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving signaling as to which of the default values or the one coded neighboring CTU is used for setting CAB AC context models at the beginning of the current CTU; and setting further comprises setting which CAB AC context models have been set for use at the beginning of the current CTU by using the signaling.

[0177] Example 89. The apparatus according to example 87, wherein one or more rules are used to select one of the default values or a previously coded neighbor CTU based on a history of coded information.

[0178] Example 90. The apparatus according to any of examples 87 to 89, wherein the default values are from a set of fixed tables.

[0179] Example 91. The apparatus according to example 78, wherein one or more rules are used to select a previously coded neighbor CTU based on a history of coded information.

[0180] Example 92. A computer program, comprising instructions for performing the methods of any of examples 1 to 30, when the computer program is run on an apparatus.

[0181] Example 93. The computer program according to example 92, wherein the computer program is a computer program product comprising a computer-readable medium bearing instructions embodied therein for use with the apparatus.

[0182] Example 94. The computer program according to example 92, wherein the computer program is directly loadable into an internal memory of the apparatus.

[0183] As used in this application, the term “circuitry” may refer to one or more or all of the following:

[0184] (a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry) and

[0185] (b) combinations of hardware circuits and software, such as (as applicable): (i) a combination of analog and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) (including digital signal processor(s)) with software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions) and

[0186] (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.

[0187] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.

[0188] Embodiments herein may be implemented in software (executed by one or more processors), hardware (e.g., an application specific integrated circuit), or a combination of software and hardware. In an example embodiment, the software (e.g., application logic, an instruction set) is maintained on any one of various conventional computer-readable media. In the context of this document, a “computer-readable medium” may be any media or means that can contain, store, communicate, propagate or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with one example of a computer described and depicted, e.g., in FIG. 9. A computer-readable medium may comprise a computer-readable storage medium (e.g., memories 925 or other device) that may be any media or means that can contain, store, and / or transport the instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer. A computer-readable storage medium does not comprise propagating signals, and therefore may be considered to be non-transitory. The term “non-transitory”, as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM, random access memory, versus ROM, read-only memory).

[0189] If desired, the different functions discussed herein may be performed in a different order and / or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined.

[0190] Although various aspects of the invention are set out in the independent claims, other aspects of the invention comprise other combinations of features from the describedembodiments and / or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims.

[0191] It is also noted herein that while the above describes example embodiments of the invention, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications which may be made without departing from the scope of the present invention as defined in the appended claims.

[0192] The following abbreviations that may be found in the specification and / or the drawing figures are defined as follows:

[0193] CABAC Context-Adaptive Binary Arithmetic Coding

[0194] CTU coding tree unit

[0195] CU coding unit

[0196] DCT discrete cosine transform

[0197] ECM Enhanced Compression Model

[0198] GDR Gradual decoding refresh

[0199] ID identification

[0200] IRAP Intra random access point

[0201] JVET joint video experts team

[0202] MV motion vector

[0203] TId temporal layer identification

[0204] QP quantization parameter

[0205] RFM reference frame memory

[0206] WC Versatile Video Coding

Claims

What is claimed is:

1. A method, comprising: in a video encoding process using a current picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; encoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting a bitstream having information corresponding to the encoded current coding tree unit.

2. The method according to claim 1, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture to context-adaptive binary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

3. The method according to claim 2, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

4. The method according to any of claims 1 to 3, further comprising signaling the coded neighboring coding tree unit used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

5. The method according to any of claims 1 to 4, wherein:the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

6. The method according to any of claims 1 to 4, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

7. The method according to any of claims 1 to 4, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

8. The method according to any of claims 1 to 4, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

9. The method according to any of claims 1 to 4, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

10. The method according to any of claims 1 to 9, wherein the setting the context- adaptive binary arithmetic coding context models to use at the beginning of thecurrent coding tree unit comprises setting one of the multiple coded neighboring coding tree units to use for the set context-adaptive binary arithmetic coding context models based on a metric.

11. The method according to claim 1 , wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

12. The method according to claim 11, further comprising signaling as to which of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

13. The method according to claim 11, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

14. The method according to any of claims 11 to 13, wherein the default values are from a set of fixed tables.

15. The method according to any of claims 11 to 14, wherein the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or the default values to use at the beginning of the current coding tree unit based on a metric.

16. The method according to claim 1, wherein one or more rules are used to select a coded neighbor coding tree unit based on a history of coded information.

17. A method, comprising: in a video decoding process using a current coded picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; decoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting information for a video having part of a picture corresponding to the decoded current coding tree unit.

18. The method according to claim 17, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture to context-adaptive binary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current coded picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

19. The method according to claim 18, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

20. The method according to any of claims 17 to 19, wherein: the method further comprises receiving signaling as to which coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; andsetting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

21. The method according to any of claims 17 to 20, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

22. The method according to any of claims 17 to 20, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

23. The method according to any of claims 17 to 20, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

24. The method according to any of claims 17 to 20, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

25. The method according to any of claims 17 to 20, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current coded picture are set to context-adaptivebinary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

26. The method according to claim 17, wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

27. The method according to claim 26, wherein: the method further comprises receiving signaling as to which of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; and setting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

28. The method according to claim 26, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

29. The method according to any of claims 26 to 28, wherein the default values are from a set of fixed tables.

30. The method according to claim 17, wherein one or more rules are used to select a previously coded neighbor coding tree unit based on a history of coded information.

31. An apparatus, comprising means for: in a video encoding process using a current picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; encoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting a bitstream having information corresponding to the encoded current coding tree unit.

32. The apparatus according to claim 31, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture to context-adaptive binary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

33. The apparatus according to claim 32, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

34. The apparatus according to any of claims 31 to 33, wherein the means are further configured for signaling the coded neighboring coding tree unit used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

35. The apparatus according to any of claims 31 to 34, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

36. The apparatus according to any of claims 31 to 34, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

37. The apparatus according to any of claims 31 to 34, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

38. The apparatus according to any of claims 31 to 34, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

39. The apparatus according to any of claims 31 to 34, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

40. The apparatus according to any of claims 31 to 39, wherein the setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit comprises setting one of the multiple coded neighboring coding tree units to use for the set context-adaptive binary arithmetic coding context models based on a metric.

41. The apparatus according to claim 31 , wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

42. The apparatus according to claim 41, wherein the means are further configured for signaling as to which of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

43. The apparatus according to claim 41, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

44. The apparatus according to any of claims 41 to 43, wherein the default values are from a set of fixed tables.

45. The apparatus according to any of claims 41 to 44, wherein the setting selects between the multiple coded neighboring coding tree units of the current codingtree unit or the default values to use at the beginning of the current coding tree unit based on a metric.

46. The apparatus according to claim 31 , wherein one or more rules are used to select a coded neighbor coding tree unit based on a history of coded information.

47. An apparatus, comprising means for: in a video decoding process using a current coded picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; decoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting information for a video having part of a picture corresponding to the decoded current coding tree unit.

48. The apparatus according to claim 47, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture to context-adaptive binary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current coded picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

49. The apparatus according to claim 48, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

50. The apparatus according to any of claims 47 to 49, wherein:the means are further configured for receiving signaling as to which coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; and setting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

51. The apparatus according to any of claims 47 to 50, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

52. The apparatus according to any of claims 47 to 50, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

53. The apparatus according to any of claims 47 to 50, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

54. The apparatus according to any of claims 47 to 50, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

55. The apparatus according to any of claims 47 to 50, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

56. The apparatus according to claim 47, wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

57. The apparatus according to claim 56, wherein: the means are further configured for receiving signaling as to which of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; and setting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

58. The apparatus according to claim 56, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

59. The apparatus according to any of claims 56 to 58, wherein the default values are from a set of fixed tables.

60. The apparatus according to claim 47, wherein one or more rules are used to select a previously coded neighbor coding tree unit based on a history of coded information.

61. The apparatus of any preceding apparatus claim, wherein the means comprises: at least one processor; and at least one memory storing instructions that, when executed by at least one processor, cause the performance of the apparatus.

62. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video encoding process using a current picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; encoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting a bitstream having information corresponding to the encoded current coding tree unit.

63. The apparatus according to claim 62, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture to context-adaptive binary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

64. The apparatus according to claim 63, wherein the previously coded picture is from a coded picture that immediately proceeds the current picture, or from another coded picture that immediately proceeds the coded picture.

65. The apparatus according to any of claims 62 to 64, wherein the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform signaling the coded neighboring coding tree unit used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

66. The apparatus according to any of claims 62 to 65, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

67. The apparatus according to any of claims 62 to 65, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

68. The apparatus according to any of claims 62 to 65, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

69. The apparatus according to any of claims 62 to 65, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current picture are set to context-adaptivebinary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

70. The apparatus according to any of claims 62 to 65, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current picture are set to context-adaptive binary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

71. The apparatus according to any of claims 62 to 70, wherein the setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit comprises setting one of the multiple coded neighboring coding tree units to use for the set context-adaptive binary arithmetic coding context models based on a metric.

72. The apparatus according to claim 62, wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

73. The apparatus according to claim 72, wherein the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform signaling as to which of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit.

74. The apparatus according to claim 72, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

75. The apparatus according to any of claims 72 to 74, wherein the default values are from a set of fixed tables.

76. The apparatus according to any of claims 72 to 75, wherein the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or the default values to use at the beginning of the current coding tree unit based on a metric.

77. The apparatus according to claim 62, wherein one or more rules are used to select a coded neighbor coding tree unit based on a history of coded information.

78. An apparatus, comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the apparatus at least to perform: in a video decoding process using a current coded picture divided into coding tree units, setting context-adaptive binary arithmetic coding context models to use at a beginning of a current coding tree unit based at least on multiple coded neighboring coding tree units of the current coding tree unit; decoding the current coding tree unit using the set context-adaptive binary arithmetic coding context models; and outputting information for a video having part of a picture corresponding to the decoded current coding tree unit.

79. The apparatus according to claim 78, wherein setting further comprises setting the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture to context-adaptivebinary arithmetic coding context models at an end of a coded neighboring coding tree unit, wherein the coded neighboring coding tree unit comprising a spatial coded neighboring coding tree unit in the current coded picture or a temporal collocated neighboring coding tree unit in a previously coded picture.

80. The apparatus according to claim 79, wherein the previously coded picture is from a coded picture that immediately proceeds the current coded picture, or from another coded picture that immediately proceeds the previously coded picture.

81. The apparatus according to any of claims 78 to 80, wherein: the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving signaling as to which coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; and setting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

82. The apparatus according to any of claims 78 to 81, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of a current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context modes at an end of a left coded neighboring coding tree unit of the current coding tree unit.

83. The apparatus according to any of claims 78 to 81, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above coded neighboring coding tree unit of the current coding tree unit.

84. The apparatus according to any of claims 78 to 81, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-left coded neighboring coding tree unit of the current coding tree unit.

85. The apparatus according to any of claims 78 to 81, wherein: the context-adaptive binary arithmetic coding context models to use at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of an above-right coded neighboring coding tree unit of the current coding tree unit.

86. The apparatus according to any of claims 78 to 81, wherein: the context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit of the current coded picture are set to context-adaptive binary arithmetic coding context models at an end of a temporal collocated coding tree unit of the current coding tree unit in a previously coded picture.

87. The apparatus according to claim 78, wherein: the setting selects between the multiple coded neighboring coding tree units of the current coding tree unit or default values to use at the beginning of the current coding tree unit, and comprises one of the following: setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to the default values; or setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit to context-adaptive binary arithmetic coding context models at an end of one of the coded neighboring coding tree units.

88. The apparatus according to claim 87, wherein: the one or more memories further store instructions that, when executed by the one or more processors, cause the apparatus at least to perform receiving signaling as towhich of the default values or the one coded neighboring coding tree unit is used for setting context-adaptive binary arithmetic coding context models at the beginning of the current coding tree unit; and setting further comprises setting which context-adaptive binary arithmetic coding context models have been set for use at the beginning of the current coding tree unit by using the signaling.

89. The apparatus according to claim 87, wherein one or more rules are used to select one of the default values or a previously coded neighbor coding tree unit based on a history of coded information.

90. The apparatus according to any of claims 87 to 89, wherein the default values are from a set of fixed tables.

91. The apparatus according to claim 78, wherein one or more rules are used to select a previously coded neighbor coding tree unit based on a history of coded information.

92. A computer program, comprising instructions for performing the methods of any of claims 1 to 30, when the computer program is run on an apparatus.

93. The computer program according to claim 92, wherein the computer program is a computer program product comprising a computer-readable medium bearing instructions embodied therein for use with the apparatus.

94. The computer program according to claim 92, wherein the computer program is directly loadable into an internal memory of the apparatus.

Citation Information

Patent Citations

  • CTU level inheritance of cabac context initialization

    US20230345004A1