Initialization of context-adaptive binary arithmetic coding for stepwise decoder refresh pictures

By initializing CABAC for GDR pictures and storing their states for inheritance, the solution addresses inefficiencies and synchronization issues in video encoding, enhancing encoder-decoder consistency and encoding performance.

JP2026511865APending Publication Date: 2026-04-14NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
NOKIA TECHNOLOGIES OY
Filing Date
2024-02-22
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing video encoding standards like VVC require CABAC initialization for each input picture, leading to inefficiencies and potential synchronization issues between encoders and decoders due to the lack of inheritance of CABAC states across inter-pictures, particularly in GDR applications.

Method used

The proposed solution involves initializing CABAC for a GDR picture and storing its state, which can then be inherited by other inter-pictures, while maintaining separate context-adaptive binary arithmetic coding state tables for different picture types and sorting entries based on time identifiers and quantization parameters.

Benefits of technology

This approach enhances encoding efficiency by ensuring encoder-decoder synchronization and reduces inconsistencies in reconstructed pictures, particularly for GDR and recovery pictures, thereby improving overall video encoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026511865000001_ABST
    Figure 2026511865000001_ABST
Patent Text Reader

Abstract

According to exemplary embodiments of the present invention, as shown in Figure 6, a method and apparatus are provided for at least identifying a GDR picture within a GDR interval of a sequence of pictures, wherein the GDR picture is a first picture within a GDR interval of a sequence of pictures; performing initialization of context-adaptive binary arithmetic coding to determine at least one context-adaptive binary arithmetic coding state; and using at least one context-adaptive binary arithmetic coding state for either coding or decoding the GDR picture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The teachings according to exemplary embodiments of the present invention generally relate to the initialization operation of new context-adaptive binary arithmetic coding, and more specifically, to the initialization operation of new context-adaptive binary arithmetic coding in which, after encoding a GDR picture, the CABAC state of the encoded GDR picture is stored and can be inherited by other inter pictures.

Background Art

[0002] This section is intended to provide the background or context of the invention described in the claims. The descriptions herein may include concepts that can be pursued, but are not necessarily concepts that have been previously devised or pursued. Thus, unless otherwise indicated herein, the content described in this section is not prior art to the description and claims of this application and is not admitted to be prior art by inclusion in this section.

[0003] Specific abbreviations found in the description and / or drawings are defined as follows. CABAC Context-Adaptive Binary Arithmetic Coding CRA Clean Random Access ECM Extended Compression Module GDR Gradual Decoder Refresh IDR Instantaneous Decoder Refresh IRAP Intra Random Access Point

[0004] CABAC (Context-Adaptive Binary Arithmetic Coding) is a type of entropy coding for data compression. The CABAC engine maintains a set of context model tables that represent the probability of a particular symbol occurring, given the context of previously coded symbols, and updates the probability estimates in the context model tables after each symbol is coded. CABAC has been used in video coding standards such as AVC (H.264) / HEVC (H.265) / VVC (H.266). In AVC / HEVC / VVC[1], CABAC initialization is called for each input picture, whether intra-picture or inter-picture. [Overview of the project] [Problems that the invention aims to solve]

[0005] Exemplary embodiments of the present invention provide at least improved operation for CABAC initialization. [Means for solving the problem]

[0006] This section includes, but does not limit, examples of possible implementations.

[0007] In another exemplary aspect of the present invention, there is a device such as a communication network device such as a UE or gNB, or other network device, which comprises at least one processor and at least one non-temporary memory storing instructions that, when executed by the at least one processor, cause the device to perform at least: identify a Stepwise Decoder Refresh (GDR) picture within a Stepwise Decoder Refresh Period of a sequence of pictures, wherein the Stepwise Decoder Refresh picture is a first picture within a Stepwise Decoder Refresh Period of a sequence of pictures; perform initialization of context-adaptive binary arithmetic coding to determine at least one context-adaptive binary arithmetic coding state; and use at least one context-adaptive binary arithmetic coding state for either coding or decoding the Stepwise Decoder Refresh picture.

[0008] In another exemplary aspect of the present invention, there is a method for identifying a GDR picture within a GDR period of a sequence of pictures, wherein the GDR picture is a first picture within the GDR period of the sequence of pictures, and further comprising: performing initialization of context-adaptive binary arithmetic coding to determine at least one context-adaptive binary arithmetic coding state, and using at least one context-adaptive binary arithmetic coding state for either coding or decoding the GDR picture.

[0009] Further exemplary embodiments include apparatus and method comprising the apparatus and method of the preceding paragraph, wherein the stepwise decoder refresh picture is an interpicture, and other pictures in the sequence of pictures within the stepwise decoder refresh period comprise a stepwise decoder refresh (GDR) picture and a plurality of associated recovery pictures, wherein a sequence level flag can indicate whether an interpicture can inherit context-adaptive binary arithmetic coding state from a previously coded interpicture, context-adaptive binary arithmetic coding is coding for data compression, and based on the sequence level flag indication, an interpicture can inherit context-adaptive binary arithmetic coding state from a previously coded interpicture, the stepwise decoder refresh picture does not inherit context-adaptive binary arithmetic coding state from a previously coded interpicture, regardless of the indication from the sequence level flag indication, and the stepwise decoder refresh picture is initialized regardless of the sequence level flag. Using the context-adaptive binary arithmetic coding state, after either encoding or decoding a stepwise decoder refresh picture, at least one context-adaptive binary arithmetic coding state may be stored or updated, and storing or updating at least one context-adaptive binary arithmetic coding state of the stepwise decoder refresh picture is performed after encoding the stepwise decoder refresh picture, the stepwise decoder refresh picture is at least one of type B picture or type P picture, and for each inter-type B picture type or inter-type P picture, a separate context-adaptive binary arithmetic coding state table is maintained, the sequence of pictures comprises at least one of stepwise decoder refresh pictures, recovery pictures, or intra-random access point pictures, and each of the at least one entry in the separate context-adaptive binary arithmetic coding state table is associated with a unique pair of time identifier and quantization parameters.Each individual context-adaptive binary arithmetic coding state table has at least one entry, and for each of the multiple pictures, an individual context-adaptive binary arithmetic coding state table state is maintained, each of the at least one state entry is associated with a unique pair of time identifier and quantization parameter, and at least one entry is sorted first by the time identifier and then by the quantization parameter, and after an interpicture with a time identifier and quantization parameter is coded, if no entry with the same time identifier and the same quantization parameter is found in the context-adaptive binary arithmetic coding state table, the CABAC state of the coded interpicture replaces the first entry in the context-adaptive binary arithmetic coding state table, and then the entries in the context-adaptive binary arithmetic coding state table are sorted by the time identifier and quantization parameter, and if no state entry with the same time identifier and quantization parameter is found in the context-adaptive binary arithmetic coding state table, at least one state entry is sorted by the time identifier and quantization parameter Replace the first state entry in the context-adaptive binary arithmetic coding state table sorted by the time identifier and quantization parameter, where at least one state entry is sorted in the context-adaptive binary arithmetic coding state table according to the formula: Tid(m)≦Tid(m+1),m=0,1,..., then Qp(m)≦Qp(m+1),m=0,1,..., where Tid is the time identifier, Qp is the quantization parameter, and m is an integer representing the number of state entries, and based on coding that performs extended compression using the extended compression module for multiple picture pictures, coding is either coding or decoding multiple pictures, and based on coding that starts with a stepwise decoder refresh interpicture, the stepwise decoder refresh interpicture inherits the context-adaptive binary arithmetic coding state from a previously coded interpicture and generates the same reconstructed intra-random access point picture used as a reference for at least one picture after the stepwise decoder refresh picture,Encoding and decoding are synchronized.

[0010] A non-temporary computer-readable medium for storing program code, the program code being executed by at least one processor in the manner described in the paragraph above.

[0011] In another exemplary aspect of the present invention, there is an apparatus comprising means for identifying a stepwise decoder refresh picture of a sequence of pictures during a stepwise decoder refresh period, wherein the stepwise decoder refresh picture is a first picture in the stepwise decoder refresh period of the sequence of pictures; means for performing initialization of context-adaptive binary arithmetic coding to determine at least one context-adaptive binary arithmetic coding state; and means for using at least one context-adaptive binary arithmetic coding state for either coding or decoding the stepwise decoder refresh picture.

[0012] According to the exemplary embodiments described in the paragraphs above, the means for encoding, calling, and using comprises at least a network interface and computer program code stored in a computer-readable medium and executed by at least one processor.

[0013] The communication system comprises a network-side device and a user-side device that perform the operations described above.

[0014] The above and other aspects, features, and advantages of various embodiments of this disclosure will be better understood by referring to the following detailed description and accompanying drawings. In the drawings, the same reference numerals are used to indicate identical or equivalent elements. The drawings are provided to facilitate a better understanding of the embodiments of this disclosure and are not necessarily drawn to actual scale. [Brief explanation of the drawing]

[0015] [Figure 1] This diagram shows that CABAC initialization is called for each picture, regardless of whether it is an intrapicture or an interpicture. [Figure 2] This figure shows that an interpicture can inherit the CABAC state from a previously encoded interpicture. [Figure 3] This figure shows that CABAC initialization still needs to be performed for GDR pictures. [Figure 4] This figure shows the CABAC status table for M entries. [Figure 5] This is a high-level block diagram of various devices used when implementing various aspects of the present invention. [Figure 6] This figure shows a method according to an exemplary embodiment of the present invention, which can be performed by the apparatus. [Modes for carrying out the invention]

[0016] In exemplary embodiments of the present invention, at least a method and apparatus for initializing a novel context-adaptive binary arithmetic coding of a GDR picture is proposed, wherein the CABAC state of the coded GDR picture is stored after coding and may be inherited by other interpictures.

[0017] As similarly mentioned above, the CABAC engine maintains a set of context model tables that represent the probability of a particular symbol occurring, given the context of previously encoded symbols, and updates the probability estimates in the context model tables after each symbol is encoded. CABAC initialization is called for each input picture, whether intrapicture or interpicture.

[0018] Figure 1 shows an example of a low-latency configuration where the picture output order is the same as the picture encoding order.

[0019] As shown in step 110 of FIG. 1, CABAC initialization is called for inter-picture (n-2). As shown in step 120 of FIG. 1, CABAC initialization is called for inter-picture (n-1). As shown in step 130 of FIG. 1, CABAC initialization is called for IRAP picture (n). Also, as shown in step 140 of FIG. 1, CABAC initialization is called for inter-picture (n+1). Next, as shown in step 150 of FIG. 1, CABAC initialization is called for inter-picture (n+2).

[0020] As shown in FIG. 1, the initialization process generally includes setting the initial probability estimation value for each symbol in each context model table, the initial values of several parameters used in probability adaptation, the initial arithmetic coding range, etc. From the perspective of CABAC, the analysis of the encoded picture can be executed independently.

[0021] An intra-picture is a stand-alone picture that is decoded without depending on any other picture. In VVC, an IRAP (Intra Random Access Point) picture is an intra-encoded picture and includes a CRA (Clean Random Access) picture and an IDR (Instantaneous Decoder Refresh) picture.

[0022] An inter-picture is a picture that uses inter-prediction in the decoding process. For example, in FIG. 1, inter-picture (n+2) may refer to IRAP picture (n) and inter-picture (n+1) temporally. An inter-picture may be a B picture or a P picture. In a B picture, an inter-CU can refer to two reference lists, while in a P picture, there is only one reference list that an inter-CU can refer to. A reference list is a list of previously encoded pictures that is used as a reference for future pictures.

[0023] ECM (Extended Compression Model) is a candidate for a new video encoding standard currently under development with the support of JVET. ECM allows interpictures to inherit the CABAC state of previously encoded interpictures. However, this can cause problems in GDR applications.

[0024] An exemplary embodiment of the present invention provides that CABAC initialization is invoked for a GDR picture.

[0025] ECM (Extended Compression Model) is a candidate for a new video encoding standard currently under development with the support of JVET. ECM also uses CABAC to compress encoding information such as encoding mode, motion information, quantization parameter changes, and residuals.

[0026] To improve encoding performance, ECM allows interpictures to inherit the CABAC state from previously encoded interpictures that have the same picture type, time ID, and quantization parameters. Therefore, in ECM, the CABAC state of an intercoded picture is stored in a CABAC state table and can be inherited by subsequent encoded interpictures.

[0027] Figure 2 shows an example of a low-latency configuration.

[0028] As shown in step 210 of Figure 2, the interpicture (n-2) uses the CABAC state inherited from the previously encoded interpicture, and after the interpicture (n-2) is encoded, its CABAC state is stored. As shown in step 220 of Figure 2, the interpicture (n-1) uses the CABAC state inherited from the interpicture (n-1), and after the interpicture (n-1) is encoded, its CABAC state is stored. As shown in Figure 2, steps 210 and 220 are linked. As shown in step 230 of Figure 2, CABAC initialization is called for the IRAP picture (n). As shown in step 240 of Figure 2, CABAC initialization is called for the interpicture (n+1), and after the interpicture (n+1) is encoded, its CABAC state is stored. As shown in step 250 of Figure 2, interpicture(n+2) uses the CABAC state inherited from interpicture(n+1), and after interpicture(n+1) is encoded, its CABAC state is stored for future interpictures. As shown in Figure 2, steps 240 and 250 are linked.

[0029] As can be seen in Figure 2, it should be noted that the ECM still invokes CABAC initialization for the IRAP picture, which includes cleaning up the CABAC state table and resetting the initial probability estimates for each symbol in each model table, the initial values ​​of several parameters used in probability adaptation, and the initial arithmetic coding range.

[0030] Before describing in detail the exemplary embodiments disclosed herein, Figure 5 shows a simplified block diagram of various electronic devices suitable for use in carrying out exemplary embodiments of the present invention.

[0031] Figure 5 is a block diagram of one possible, non-limiting, exemplary system in which exemplary embodiments may be implemented. In Figure 5, as shown in Figure 5, the user equipment (UE) 10 is communicating wirelessly with wireless network 1 or network 1. Wireless network 1 or network 1 in Figure 5 may comprise a communication network such as a mobile network, for example, mobile network 1 or first mobile network disclosed herein. References to wireless network 1 in Figure 5 herein can be considered as references to any wireless network disclosed herein. Furthermore, wireless network 1 in Figure 5 may also comprise hardwired functionality if required by the communication network. The UE is a wireless, typically mobile device, capable of accessing the wireless network. For example, the UE may be a mobile phone (or "cellular" phone) and / or a computer with mobile terminal capabilities. For example, the UE or mobile terminal may be a portable, pocket-sized, handheld, computer-integrated, or vehicle-mounted mobile device that performs language signaling and / or data exchange with the RAN.

[0032] UE10 includes one or more processors DP10A, one or more memory MEM10B, and one or more transceivers TRANS10D, which are interconnected via one or more buses. Each of the one or more transceivers TRANS10D includes a receiver and a transmitter. The one or more buses may be an address bus, a data bus, or a control bus, and may include a series of lines on a motherboard, or any interconnection mechanism such as an integrated circuit, optical fiber, or other optical communication equipment. One or more transceivers TRANS10D can optionally be connected to one or more antennas for communication with NN12. One or more memory MEM10B contains computer program code PROG10C. UE10 communicates with NN12 via wireless links 11 or 16.

[0033] NN12 (NR / 5G Node B, Evolutionary NB, or LTE device) is a network node, such as a master or secondary node base station (for NR or LTE Long Term Evolution), that communicates with devices such as UE10 and NN12 in Figure 5. NN12 enables wireless devices such as UE10 to access the wireless network 1. NN12 includes one or more processors DP12A, one or more memory MEM12B, and one or more transceivers TRANS12D, which are interconnected via one or more buses. According to an exemplary embodiment, these TRANS12D may include X2 and / or Xn interfaces used to perform the exemplary embodiment. Each of the one or more transceivers TRANS12D includes a receiver and a transmitter. One or more transceivers TRANS12D can optionally be connected to one or more antennas to communicate with UE10 via at least link 11. One or more memory MEM12B and computer program code PROG12C, together with one or more processors DP12A, are configured to cause NN12 to perform one or more of the operations described herein. NN12 can communicate with another gNB or eNB, for example, via link 16. Furthermore, links 11, 16, and / or other links can be wired, wireless, or both, and can implement, for example, X2 or Xn interfaces. Additionally, links 11 and / or 16 may be configured through other network devices, such as NCE / MME / SGW / UDM / PCF / AMF / SMF14 devices, as shown in Figure 5, but are not limited to these. NN12 can perform MME (Mobility Management Entity) or SGW (Service Gateway) functions, such as user plane functions and / or access management functions for LTE, and similar functions for 5G.

[0034] LMF13 (NR / 5G, evolved NB, or LTE device) is a network device including a location management function device (e.g., for NR or LTE Long Term Evolution) that communicates with devices such as NN12 and UE10 in Figure 5. LMF13 can be associated with mobility function devices such as AMF or SMF, and further LMF13 can communicate with devices such as NN12 and / or UE10 and / or wireless network 1. LMF13 includes one or more processors DP13A, one or more memory MEM13B, one or more network interfaces, and one or more transceivers TRANS13D, which are interconnected via one or more buses. According to an exemplary embodiment, these network interfaces of LMF13 may include X2 and / or Xn interfaces used to perform the exemplary embodiment. Each of the one or more transceivers TRANS13D includes a receiver and a transmitter, which are optionally connectable to one or more antennas. One or more memory MEM13B includes computer program code PROG13C. For example, one or more memory MEM13B and computer program code PROG13C, together with one or more processors DP13A, are configured to cause the LMF13 to perform one or more of the operations described herein. The LMF13 can communicate with other mobility function devices and / or eNBs such as NN12 and UE10, or any other devices, or with NCE / MME / SGW / UDM / PCF / AMF / SMF14, using, for example, link 11, link 16, or another link. Link 16, shown in Figure 5, can be used for communication between NN12 and NN13. These links can be wired or wireless, or both, and can implement, for example, an X2 or Xn interface.Furthermore, as described above, links 11 and / or 16 may be configured through other network devices, such as NCE / MME / SGW devices like the NCE / MME / SGW / UDM / PCF / AMF / SMF14 shown in Figure 5, but are not limited to these.

[0035] The NCE / MME / SGW / UDM / PCF / AMF / SMF14 device is a network device that provides NCE / MME / SGW / UDM / PCF / AMF and / or SMF services (for example, for NR or LTE Long Term Evolution) and communicates with devices such as LMF13, NN12, and UE10 in Figure 5. The NCE / MME / SGW / UDM / PCF / AMF / SMF14 can be associated with mobility function devices such as AMF or SMF, and further, the NCE / MME / SGW / UDM / PCF / AMF / SMF14 can communicate with devices such as NN12 and / or UE10 and / or wireless network 1. The NCE / MME / SGW / UDM / PCF / AMF / SMF14 includes one or more processors DP14A, one or more memory MEM14B, one or more network interfaces, and one or more transceivers TRANS14D interconnected via one or more buses. According to exemplary embodiments, these network interfaces of the NCE / MME / SGW / UDM / PCF / AMF / SMF14 may include X2 and / or Xn interfaces for use in performing exemplary embodiments. Each of one or more transceivers TRANS14D includes a receiver and a transmitter, and the transmitter may optionally be connected to one or more antennas. One or more memories MEM14B include computer program code PROG14C. For example, one or more memories MEM14B and computer program code PROG14C are configured to cause the NCE / MME / SGW / UDM / PCF / AMF / SMF14 to perform one or more of the operations described herein using one or more processors DP14A. The NCE / MME / SGW / UDM / PCF / AMF / SMF14 can communicate with other mobility function devices and / or eNBs such as NN12 and UE10, or any other devices, or with the NCE / MME / SGW / UDM / PCF / AMF / SMF14, for example, using link 11, link 16, or another link.Link 16, shown in Figure 5, can be used for communication between NN12 and NN13. These links may be wired, wireless, or both, and can implement, for example, an X2 or Xn interface. Furthermore, at least Link 16 may pass through other network devices such as UE10, NN12, and / or LMF13 in Figure 5, but are not limited to these.

[0036] One or more buses in the device shown in Figure 5 may be address buses, data buses, or control buses, and may include any interconnection mechanisms such as a series of lines on a motherboard or integrated circuit, optical fibers or other optical communication equipment, or wireless channels. For example, one or more transceivers TRANS12D, TRANS13D, and / or TRANS10D may be implemented as a remote radio head (RRH), with the other elements of NN12 located in a physically separate location from the RRH, and these devices may include one or more buses, some of which may be implemented as optical fiber cables, to connect the other elements of NN12 to the RRH.

[0037] Figure 5 shows a network node such as NN12, but note that this node can incorporate or be incorporated into eNodeB, eNB, or gNB such as LTE and NR, and is still configurable to perform the exemplary embodiment.

[0038] While the descriptions herein indicate that a “cell” performs a function, it should be clear that the gNB and / or user equipment and / or mobility management device forming the cell perform the function. Furthermore, a cell constitutes part of a gNB, and there may be multiple cells in a single gNB.

[0039] Wireless network 1 or any network it may represent may include or may not include NCE / MME / SGW / UDM / PCF / AMF / SMF14, which may include (NCE) Network Control Element functions, MME (Mobility Management Entity) / SGW (Service Gateway) functions, and / or Service Gateway (SGW), as well as / or MME (Mobility Management Entity) and / or SGW (Service Gateway) functions, as well as / or User Data Management Function (UDM), as well as / or PCF (Policy Control) functions, as well as / or Access and Mobility Management Function (AMF) functions, as well as / or Session Management (SMF) functions, as well as / or Location Management Function (LMF), and / or Authentication Server (AUSF) functions, and provide connectivity to further networks such as telephone networks and / or data communication networks (e.g., the Internet), and are configured to perform 5G and / or NR operations in addition to or instead of other standard operations as of the present filing date. The NCE / MME / SGW / UDM / PCF / AMF / SMF14 can be configured to perform the operations described in the exemplary embodiments in any communication technology, including communication technologies based on LTE, NR, 5G, and / or any standards that are being implemented or discussed at the time of this filing. Furthermore, it should be noted that the operations described in the exemplary embodiments performed by NN12 and / or LMF13 are also possible in the NCE / MME / SGW / UDM / PCF / AMF / SMF14.

[0040] The NCE / MME / SGW / UDM / PCF / AMF / SMF14 includes one or more processors DP14A, one or more memory MEM14B, and one or more network interfaces (N / WI / F), which are interconnected via one or more buses and coupled to link 13 and / or link 16. According to an exemplary embodiment, these network interfaces may include X2 and / or Xn interfaces used to perform the exemplary embodiment. One or more memory MEM14B includes computer program code PROG14C. One or more memory MEM14B and computer program code PROG14C, together with one or more processors DP14A, are configured to cause the NCE / MME / SGW / UDM / PCF / AMF / SMF14 to perform one or more operations that may be necessary to support the operation according to the exemplary embodiment.

[0041] It should be noted that NN12 and / or LMF13 and / or UE10 can be configured (for example, based on standard practices) to perform location management function (LMF) functions. The LMF function may be embodied in any of these network devices or any other device associated with these devices. Furthermore, the LMF function, such as LMF13, may be located in the same position as UE10, separated from NN12 and / or LMF13 in Figure 5, in order to perform the operation according to the exemplary embodiments disclosed herein.

[0042] Wireless Network 1 can implement network virtualization, which is the process of combining hardware and software network resources and network functions into a virtual network, a single software-based management entity. Network virtualization includes platform virtualization and is often combined with resource virtualization. Network virtualization is classified into external types, which consolidate many networks, or parts of networks, into a single virtual unit, and internal types, which provide network-like functionality to software containers on a single system. It should be noted that the virtualized entities resulting from network virtualization still have technical effects because they are implemented to some extent using hardware such as processors DP10, DP12A, DP13A, and / or DP14A, and memory MEM10B, MEM12B, MEM13B, and / or MEM14B.

[0043] The computer-readable memories MEM10B, MEM12B, MEM13B, and MEM14B may be of any type suitable for the local technical environment and can be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory, and removable memory. The computer-readable memories MEM10B, MEM12B, MEM13B, and MEM14B may also be means for performing storage functions. The processors DP10, DP12A, DP13A, and DP14A may be of any type suitable for the local technical environment and, as non-limiting examples, may include one or more general-purpose computers, dedicated computers, microprocessors, digital signal processors (DSPs), and processors based on multicore processor architectures. The processors DP10, DP12A, DP13A, and DP14A may be means for performing functions such as controlling UE10, NN12, LMF13, and other functions described herein.

[0044] Generally, various embodiments of any of these devices, though not limited to them, may include cellular phones such as smartphones, tablets, personal digital assistants (PDAs) with wireless communication capabilities, portable computers with wireless communication capabilities, image capture devices such as digital cameras with wireless communication capabilities, gaming devices with wireless communication capabilities, music storage and playback devices with wireless communication capabilities, internet devices enabling wireless internet access and browsing, tablets with wireless communication capabilities, and portable units or terminals incorporating combinations of such capabilities.

[0045] Furthermore, various embodiments of any of these devices can be used in UE vehicles associated with a ground network, high-altitude platform stations, or any other such type of node, or in any drone-type radio, aircraft or other aircraft-mounted radio, or on waterborne vehicles such as ships.

[0046] As similarly described above, exemplary embodiments of the present invention provide that CABAC initialization is invoked for a GDR picture.

[0047] In ECM, an interpicture can inherit the CABAC state from a previously encoded interpicture that has the same picture type, time ID, and quantization parameters.

[0048] In ECM, the CABAC state of an inter-encoded picture is stored in a CABAC state table and can be inherited by a subsequently encoded interpicture.

[0049] In ECM, decryption can be initiated from an IRAP picture or a GDR picture.

[0050] We assume that decoding starts with the IRAP picture. Since CABAC initialization is called on the IRAP picture in both the encoder and decoder, the encoder and decoder are synchronized and can generate identical reconstructed IRAP pictures that will be used as references for future pictures.

[0051] GDR pictures and recovery pictures[3-6] are interpictures and can be of either type B-picture or P-picture. According to the current ECM design, current interpictures may inherit the CABAC state of a previously encoded interpicture having the same picture type / time ID / quantization parameters. There is a sequence-level control flag that specifies whether such inheritance of CABAC state is allowed for all interpictures in a sequence.

[0052] Therefore, if a sequence-level control flag indicates that an interpicture can inherit the CABAC state from a previously encoded interpicture, the encoder will, as an interpicture, inherit the CABAC state from a previously encoded interpicture.

[0053] Let's assume decoding starts with the GDR picture. The decoder has no prior knowledge of the encoding history of the GDR picture. That is, the CABAC state table may be empty in the decoder, or the CABAC state inherited by the GDR picture may not be available in the encoder. Therefore, the encoder and decoder may not be synchronized and may not generate the same refreshed region in the reconstructed GDR picture that will be used as a reference for the interpicture to be encoded later (e.g., the associated recovery picture), resulting in leaks or inconsistencies in the recovery point picture.

[0054] To address the above issue, it has been proposed that GDR pictures do not inherit the CABAC state from previously encoded interpictures, even if sequence-level control flags indicate that an interpicture can inherit the CABAC state from a previously encoded interpicture. Specifically, the CABAC state table must be cleaned up and CABAC initialization called in both the encoder and decoder before encoding a GDR picture. After encoding a GDR picture, the CABAC state of the encoded GDR picture is stored and can be inherited by other interpictures other than the GDR picture.

[0055] Figure 3 illustrates the basic concept of the present invention in a low-latency configuration, where CABAC initialization is called before encoding the GDR picture(n), and the CABAC state of the GDR picture(n) is stored after encoding and can be inherited by subsequent interpictures.

[0056] As shown in step 310 of Figure 3, the interpicture (n-2) uses the CABAC state inherited from the previously encoded interpicture, and after the interpicture (n-2) is encoded, its CABAC state is stored. As shown in step 320 of Figure 3, the interpicture (n-1) uses the CABAC state inherited from the interpicture (n-2), and after the interpicture (n-1) is encoded, its CABAC state is stored. As shown in Figure 2, steps 310 and 320 are linked. As shown in step 330 of Figure 3, CABAC initialization is called for the GDR picture (n) (which is also an interpicture), and after the GDR picture (n) is encoded, its CABAC state is stored. As shown in step 340 of Figure 3, the interpicture (n+1) uses the CABAC state inherited from the GDR picture (n), and after the interpicture (n+1) is encoded, its CABAC state is stored. As shown in step 350 of Figure 3, interpicture(n+2) uses the CABAC state inherited from interpicture(n+1), and after interpicture(n+2) is encoded, its CABAC state is stored for future interpictures. As shown in Figure 2, steps 330, 340, and 350 are interconnected.

[0057] A separate CABAC state table is maintained for each interpicture type B or P. Figure 4 shows the CABAC state table with M entries for a given picture type.

[0058] As shown in Figure 4, entries 410 (Tid(M-1),Qp(m-1)), 430 (Tid(2),Qp(2)), 440 (Tid(1),Qp(1)), and 450 (Tid(0),Qp(0)) exist. As shown in Figure 4, entry 420 is blank.

[0059] Each entry is associated with a unique pair of time IDs (Tid) and quantization parameters (Qp). The M entries are first sorted by time ID as follows: Tid(m)≦Tid(m+1),m=0,1,...(1) Next, the data is sorted according to the quantization parameters as follows: Qp(m) ≤ Qp(m+1), m = 0, 1, ... (2)

[0060] The CABAC state table may be updated after the encoding of interpictures, including GDR pictures.

[0061] Assume the interpicture has just been encoded. Let Tid and Qp be the time ID and quantization parameters of the encoded interpicture. If an entry with the same time ID and quantization parameters is found in the CABAC state table, the CABAC state of this entry is replaced with the CABAC state of the encoded interpicture. If no entry with the same time ID and quantization parameters is found in the CABAC state table, the CABAC state of the first entry with Tid(0) and Qp(0) is removed, and the CABAC state of the encoded interpicture is added. Then, all entries are sorted according to equation (1-2).

[0062] In exemplary embodiments of the present invention, interpictures excluding the GDR picture can still inherit the CABAC state from a previously encoded interpicture that contains the GDR picture. However, even if the GDR picture is an interpicture, the GDR picture does not inherit the CABAC state from a previously encoded interpicture. Instead, CABAC initialization is called for the GDR picture. The CABAC state of the interpicture containing the GDR picture is stored in a CABAC state table for future interpictures.

[0063] Figure 6 shows a method that can be carried out by an apparatus according to an exemplary embodiment of the present invention disclosed herein.

[0064] Figure 6 shows operations that may be performed by network devices such as network node NN12 in Figure 5, or network devices such as UEs, but are not limited to these. As shown in step 610, a Stepwise Decoder Refresh (GDR) picture may be identified within the Stepwise Decoder Refresh Period of the sequence of pictures. As shown in step 620 of Figure 6, the Stepwise Decoder Refresh picture is the first picture within the Stepwise Decoder Refresh Period of the sequence of pictures. As shown in step 630 of Figure 6, initialization of context-adaptive binary arithmetic coding may be performed to determine at least one context-adaptive binary arithmetic coding state. Then, as shown in step 640 of Figure 6, at least one context-adaptive binary arithmetic coding state may be used for either coding or decoding the Stepwise Decoder Refresh picture.

[0065] According to the exemplary embodiment described in the above paragraph, the stepwise decoder refresh picture is an interpicture.

[0066] According to the exemplary embodiments described in the paragraph above, other pictures in a sequence of pictures during a stepwise decoder refresh period include a stepwise decoder refresh (GDR) picture and a plurality of associated recovery pictures.

[0067] According to the exemplary embodiment described in the paragraph above, the sequence level flag can indicate whether the interpicture can inherit a context-adaptive binary arithmetic coding state from a previously coded interpicture, where context-adaptive binary arithmetic coding is coding for data compression.

[0068] According to the exemplary embodiments described in the paragraph above, based on sequence-level flag indication, an interpicture can inherit context-adaptive binary arithmetic coding state from a previously coded interpicture, while a stepwise decoder refresh picture does not inherit context-adaptive binary arithmetic coding state from a previously coded interpicture, regardless of indication from sequence-level flag indication.

[0069] According to the exemplary embodiment described in the paragraph above, the stepwise decoder refresh picture uses an initialized context-adaptive binary arithmetic coding state, regardless of the sequence level flag.

[0070] According to the exemplary embodiments described in the paragraph above, after either encoding or decoding the stepwise decoder refresh picture, at least one context-adaptive binary arithmetic encoding state is stored or updated.

[0071] According to the exemplary embodiments described in the paragraph above, storing or updating at least one context-adaptive binary arithmetic coding state is performed after coding the stepwise decoder refresh picture.

[0072] According to the exemplary embodiments described in the paragraph above, the stepwise decoder refresh picture is at least one of type B pictures or type P pictures.

[0073] According to the exemplary embodiments described in the paragraph above, a separate context-adaptive binary arithmetic coding state table is maintained for each intertype B picture type or intertype P picture.

[0074] According to the exemplary embodiments described in the paragraph above, the sequence of pictures comprises at least one of a stepwise decoder refresh picture, a recovery picture, or an intra-random access point picture.

[0075] According to the exemplary embodiment described in the paragraph above, each of at least one entries in a separate context-adaptive binary arithmetic coding state table is associated with a unique pair of time identifiers and quantization parameters.

[0076] According to the exemplary embodiment described in the paragraph above, each context-adaptive binary arithmetic coding state table comprises at least one entry.

[0077] According to the exemplary embodiment described in the paragraph above, a separate context-adaptive binary arithmetic coding state table state is maintained for each of the multiple pictures.

[0078] According to the exemplary embodiments described in the paragraph above, each of at least one state entry is associated with a unique pair of time identifiers and quantization parameters.

[0079] According to the exemplary embodiment described in the paragraph above, at least one entry is first sorted by a time identifier and then sorted by a quantization parameter.

[0080] According to the exemplary embodiment described in the paragraph above, if, after an interpicture having a time identifier and quantization parameters is encoded, no entry with the same time identifier and the same quantization parameters is found in the context-adaptive binary arithmetic encoding state table, the CABAC state of the encoded interpicture replaces the first entry in the context-adaptive binary arithmetic encoding state table, and the entries in the context-adaptive binary arithmetic encoding state table are then sorted by the time identifier and quantization parameters.

[0081] According to the exemplary embodiment described in the paragraph above, if no state entry with the same time identifier and quantization parameters is found in the context-adaptive binary arithmetic coding state table, at least one state entry is replaced with a first state entry sorted by the time identifier and quantization parameters in the context-adaptive binary arithmetic coding state table.

[0082] According to the exemplary embodiment described in the paragraph above, at least one state entry is sorted in a context-adaptive binary arithmetic coded state table according to the expression: Tid(m) ≤ Tid(m+1), m=0,1,... and then sorted according to Qp(m) ≤ Qp(m+1), m=0,1,..., where Tid is a time identifier, Qp is a quantization parameter, and m is an integer representing the number of state entries.

[0083] According to the exemplary embodiment described in the paragraph above, the encoding is based on performing extended compression on multiple picture pictures using an extended compression module.

[0084] According to the exemplary embodiment described in the paragraph above, encoding is either encoding or decoding multiple pictures, and based on encoding starting with a stepped decoder refresh interpicture, the stepped decoder refresh interpicture inherits a context-adaptive binary arithmetic encoding state from a previously encoded interpicture.

[0085] According to the exemplary embodiment described in the paragraph above, based on decoding starting from an intra-random access point picture, the encoder and decoder are synchronized to generate the same reconstructed intra-random access point picture which is used as a reference for at least one subsequent picture.

[0086] A non-temporary computer-readable medium (MEM10B and / or MEM12B in Figure 5) that stores program code (PROG10C and / or PROG12C in Figure 5), the program code being executed by at least one processor (DP10A and / or DP12A in Figure 5) to perform at least the operations described in the above paragraph.

[0087] According to the exemplary embodiments of the present invention described above, means for identifying a stepwise decoder refresh picture within a stepwise decoder refresh period of a sequence of pictures (one or more transceivers 10D and / or one or more transceivers 12D, MEM10B and / or MEM12B, PROG10C and / or PROG12C, and DP10A and / or DP12A in Figure 5), wherein the stepwise decoder refresh picture is a first picture within a stepwise decoder refresh period of a sequence of pictures; and means for performing initialization of context-adaptive binary arithmetic coding to determine at least one context-adaptive binary arithmetic coding state. There is an apparatus that includes means for doing so (one or more transceivers 10D and / or one or more transceivers 12D, MEM10B and / or MEM12B, PROG10C and / or PROG12C, and DP10A and / or DP12A in Figure 5) and means for using at least one context-adaptive binary arithmetic coding state for either encoding or decoding a stepwise decoder refresh picture (one or more transceivers 10D and / or one or more transceivers 12D, MEM10B and / or MEM12B, PROG10C and / or PROG12C, and DP10A and / or DP12A in Figure 5).

[0088] In the exemplary embodiments of the present invention as described in the paragraphs above, at least the means for identifying, executing, and using comprises non-temporary computer-readable media [MEM10B and / or MEM12B shown in Figure 5] encoded using a computer program [PROG10C and / or PROG12C] executable by at least one processor [DP10A and / or DP12A shown in Figure 5].

[0089] Furthermore, according to exemplary embodiments of the present invention, a circuit is provided for performing the operation according to the exemplary embodiments of the present invention disclosed herein. This circuit may include any type of circuit, such as a content encoding circuit, a content decoding circuit, a processing circuit, an image generation circuit, or a data analysis circuit. Furthermore, this circuit may include discrete circuits, application-specific integrated circuits (ASICs), and / or field-programmable gate array circuits (FPGAs), as well as a dual-core processor with a processor specifically configured to perform its respective functions by software, or a digital signal processor corresponding to the software. Furthermore, necessary inputs to and outputs from the circuit, the functions performed by the circuit, and interconnections (possibly via inputs and outputs) between the circuit and other components, which may include other circuits, are provided for performing the exemplary embodiments of the present invention described herein.

[0090] According to exemplary embodiments of the present invention disclosed in this application, the “circuit” provided may include at least one or more, or all of, the following: (a) Implementation of circuits using only hardware (such as implementation using only analog and / or digital circuits) (b) A combination of hardware circuitry and software, for example (if applicable) (i) combinations of analog and / or digital hardware circuits and software / firmware, and (ii) Any part of a hardware processor, software, and memory having software (including a digital signal processor) that works in conjunction with a device such as a mobile phone or server to perform various functions such as functions or operations according to exemplary embodiments of the present invention disclosed herein, and (c) Hardware circuits and / or processors, such as a microprocessor or part of a microprocessor, that require software (e.g., firmware) to operate, but may not be present if such software is not necessary for operation.

[0091] According to exemplary embodiments of the present invention, there exists sufficient circuitry to perform at least the novel operations described in the embodiments of the present invention disclosed herein, and as used herein, “circuitry” means at least the following: (a) Hardware-only circuit implementation (such as implementation in analog and / or digital circuits only), and (b) combinations of circuitry and software (and / or firmware), for example (where applicable): (i) combinations of processors, or (ii) a portion of processors / software (including digital signal processors), software, and memory that work together to cause a device such as a mobile phone or server to perform various functions, (c) A circuit such as a microprocessor or part of a microprocessor that requires software or firmware to operate, even if the software or firmware is not physically present.

[0092] This definition of “circuit” applies to all uses of the term in this application, including in the claims. As a further example, as used in this application, the term “circuit” also encompasses a mere processor (or more processors) or a part of a processor and / or its associated software and / or firmware implementation. The term “circuit” also, as applied to a particular claim element, encompasses, for example, a baseband integrated circuit or application processor integrated circuit for a mobile phone, or a similar integrated circuit in a server, cellular network device, or other network device.

[0093] Generally, various embodiments can be implemented by hardware or dedicated circuitry, software, logic, or any combination thereof. For example, some embodiments may be implemented in hardware, while others may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device, but the present invention is not limited to these. Various embodiments of the present invention may be described and illustrated using block diagrams, flowcharts, or any other illustrative representation, but it is well understood that these blocks, apparatus, systems, techniques, or methods described herein can be implemented, in non-limiting examples, by hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers, or other computing devices, or a combination thereof.

[0094] Embodiments of the present invention can be implemented in various components, such as integrated circuit modules. Designing integrated circuits is generally a highly automated process. Complex and powerful software tools are available to translate logic-level designs into semiconductor circuit designs that can be etched and formed on semiconductor substrates.

[0095] As used herein, the term “exemplary” means “serving as an example, case, or illustration.” Embodiments described herein as “exemplary” should not necessarily be construed as being preferable or advantageous to other embodiments. All embodiments described herein for carrying out the invention are exemplary embodiments provided to enable those skilled in the art to carry out or use the invention and do not limit the scope of the invention as defined by the claims.

[0096] The above description provides a complete and useful explanation, using illustrative and non-limiting examples, of the best methods and apparatus currently devised by the inventors for carrying out the present invention. However, reading the above description in conjunction with the accompanying drawings and claims will make it clear to those skilled in the art that various modifications and adaptations are possible. Nevertheless, such changes and similar modifications to the teachings of exemplary embodiments of the present invention remain within the scope of the present invention.

[0097] It should be noted that the terms “connected,” “joined,” or variations thereof, mean any direct or indirect connection or joining between two or more elements, and may also include the presence of one or more intermediate elements between two “connected” or “joined” elements. The joining or connection between elements may be physical, logical, or a combination thereof. In this specification, as some non-exclusive and exhaustive examples, two elements may be considered “connected” or “joined” by one or more conductors, cables, and / or printed wiring connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency domain, microwave domain, and optical (including visible and invisible light) domains.

[0098] Furthermore, some features of preferred embodiments of the present invention can be advantageously used without corresponding to other features. Therefore, the above description is merely illustrative of the principles of the present invention and should not be considered as a limitation thereof.

Claims

1. At least one processor, When executed by the aforementioned at least one processor, the device has at least Identifying a Stepwise Decoder Refresh (GDR) picture within the stepwise decoder refresh period of a picture sequence, Identifying that the stepwise decoder refresh picture is the first picture in the sequence of pictures within the stepwise decoder refresh period, To determine at least one context-adaptive binary arithmetic coding state, the initialization of the context-adaptive binary arithmetic coding is performed, The encoding or decoding of the stepwise decoder refresh picture is performed using at least one context-adaptive binary arithmetic coding state. At least one non-temporary memory that stores the instruction to execute and A device equipped with the following features.

2. The apparatus according to claim 1, wherein the stepwise decoder refresh picture is an interpicture.

3. The apparatus according to claim 1, wherein other pictures in the stepwise decoder refresh period of the sequence of pictures include a plurality of associated recovery pictures with the stepwise decoder refresh (GDR) picture.

4. The apparatus according to claim 1, wherein a sequence level flag can indicate whether an interpicture can inherit a context-adaptive binary arithmetic coding state from a previously coded interpicture, and the context-adaptive binary arithmetic coding is coding for data compression.

5. The apparatus according to claim 4, wherein, based on the sequence-level flag indication, an interpicture can inherit a context-adaptive binary arithmetic coding state from a previously encoded interpicture, and a stepwise decoder refresh picture does not inherit a context-adaptive binary arithmetic coding state from a previously encoded interpicture, regardless of the indication from the sequence-level flag indication.

6. The apparatus according to claim 5, wherein the stepwise decoder refresh picture uses an initialized context-adaptive binary arithmetic coding state regardless of the sequence level flag.

7. The at least one non-temporary memory for storing instructions is located in the device. The apparatus according to claim 1, wherein the at least one processor is executed to cause the stepwise decoder refresh picture to store or update at least one context-adaptive binary arithmetic coding state after either encoding or decoding the stepwise decoder refresh picture.

8. The apparatus according to claim 1, wherein storing or updating the at least one context-adaptive binary arithmetic coding state is performed after the coding of the stepwise decoder refresh picture.

9. The apparatus according to claim 1, wherein the stepwise decoder refresh picture is at least one of type B pictures or type P pictures.

10. The apparatus according to claim 9, wherein a separate context-adaptive binary arithmetic coding state table is maintained for each intertype B picture or intertype P picture.

11. The apparatus according to claim 1, wherein the sequence of pictures comprises at least one of a stepwise decoder refresh picture, a recovery picture, or an intra-random access point picture.

12. The apparatus according to claim 10, wherein the individual context-adaptive binary arithmetic coding state table comprises at least one entry.

13. The apparatus according to claim 12, wherein each of the at least one entries in the individual context-adaptive binary arithmetic coding state tables is associated with a unique pair of time identifiers and quantization parameters.

14. The apparatus according to claim 13, wherein the at least one entry is first sorted by the time identifier and then sorted by the quantization parameter.

15. The apparatus according to claim 14, wherein, after an interpicture having a time identifier and quantization parameters has been encoded, if no entry with the same time identifier and the same quantization parameters is found in the context-adaptive binary arithmetic coding state table, the CABAC state of the encoded interpicture replaces the first entry in the context-adaptive binary arithmetic coding state table, and then the entries in the context-adaptive binary arithmetic coding state table are sorted by the time identifier and quantization parameters.

16. The at least one entry in the context-adaptive binary arithmetic coding state table is expressed as: Tid(m)≦Tid(m+1), m=0,1, . .. .. Sort according to, then, Qp(m)≦Qp(m+1), m=0,1, . .. .. The apparatus according to claim 14, wherein the data is sorted by the above formula, where Tid is a time identifier, Qp is a quantization parameter, and m is an integer representing the number of state entries.

17. The apparatus according to claim 1, wherein encoding and decoding are synchronized to generate the same refreshed region in a reconstructed GDR picture used as a reference for at least one picture after the stepwise decoder refresh picture.

18. Identifying a stepwise decoder refresh picture within the stepwise decoder refresh period of a picture sequence, Identifying that the stepwise decoder refresh picture is the first picture in the sequence of pictures within the stepwise decoder refresh period, To determine at least one context-adaptive binary arithmetic coding state, the initialization of the context-adaptive binary arithmetic coding is performed, The encoding or decoding of the stepwise decoder refresh picture is performed using at least one context-adaptive binary arithmetic coding state. A method that includes [a certain feature].

19. The method according to claim 18, wherein other pictures in the sequence of pictures during the stepwise decoder refresh period include a stepwise decoder refresh (GDR) picture and a plurality of associated recovery pictures.

20. The method according to claim 18, wherein a sequence level flag can indicate whether an interpicture can inherit a context-adaptive binary arithmetic coding state from a previously coded interpicture, and the context-adaptive binary arithmetic coding is coding for data compression.