CN112449188A - Video decoding method, video encoding device, video encoding medium, and electronic apparatus - Google Patents

Video decoding method, video encoding device, video encoding medium, and electronic apparatus Download PDF

Info

Publication number
CN112449188A
CN112449188A CN201910803820.7A CN201910803820A CN112449188A CN 112449188 A CN112449188 A CN 112449188A CN 201910803820 A CN201910803820 A CN 201910803820A CN 112449188 A CN112449188 A CN 112449188A
Authority
CN
China
Prior art keywords
band segment
band
video
zero
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910803820.7A
Other languages
Chinese (zh)
Other versions
CN112449188B (en
Inventor
崔静
马思伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Tencent Technology Shenzhen Co Ltd
Original Assignee
Peking University
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Tencent Technology Shenzhen Co Ltd filed Critical Peking University
Priority to CN201910803820.7A priority Critical patent/CN112449188B/en
Publication of CN112449188A publication Critical patent/CN112449188A/en
Application granted granted Critical
Publication of CN112449188B publication Critical patent/CN112449188B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The embodiment of the application provides a video decoding method, a video encoding device, a video encoding medium and electronic equipment. The video decoding method includes: acquiring coded data corresponding to each video frame coding block of a video frame to be decoded, wherein each coded data comprises a coding result of at least two band segments, and the at least two band segments are obtained by dividing coefficients contained in the video frame coding block according to a scanning sequence; determining whether each of the at least two band segments contains non-zero coefficients; if the target band segment of the at least two band segments, which is not the first band segment, contains a non-zero coefficient, decoding syntax elements for indicating whether the non-zero coefficient contained in the other band segment before the target band segment is the last non-zero coefficient in the video frame coding block is omitted when decoding the other band segment before the target band segment. The technical scheme of the embodiment of the application can improve the decoding efficiency and the coding efficiency of the video frame coding block.

Description

Video decoding method, video encoding device, video encoding medium, and electronic apparatus
Technical Field
The present application relates to the field of computer and communication technologies, and in particular, to a video decoding method, an encoding method, an apparatus, a medium, and an electronic device.
Background
In the video coding standard, coefficient coding is that the whole coding block is coded one by one in a certain scanning mode, each non-zero coefficient in the coding block needs to be bound with a previous continuous zero coefficient for coding, and even if the previous zero coefficient is 0, the coding needs to be carried out to find the corresponding coefficient position at a decoding end. Moreover, when encoding a coefficient in a coding block, it is necessary to determine whether a non-zero coefficient included in the coding block is a last non-zero coefficient, and then, for each non-zero coefficient, it is necessary to encode a syntax element for indicating whether the non-zero coefficient is the last non-zero coefficient. It can be seen that this coding scheme brings more extra coded bits, resulting in lower coding efficiency and decoding efficiency.
Disclosure of Invention
Embodiments of the present application provide a video decoding method, a video encoding method, an apparatus, a medium, and an electronic device, so that the decoding efficiency and the encoding efficiency of a video frame encoding block can be improved at least to a certain extent.
Other features and advantages of the present application will be apparent from the following detailed description, or may be learned by practice of the application.
According to an aspect of an embodiment of the present application, there is provided a video decoding method including: acquiring coded data corresponding to each video frame coding block of a video frame to be decoded, wherein each coded data comprises coding results of at least two band segments, and the at least two band segments are obtained by dividing coefficients contained in the video frame coding blocks according to a scanning sequence; determining whether each of the at least two band segments contains non-zero coefficients; if a target band segment of the at least two band segments, which is not the first band segment, contains a non-zero coefficient, decoding syntax elements for indicating whether the non-zero coefficient contained in other band segments before the target band segment is the last non-zero coefficient in the video frame coding block is omitted when decoding other band segments before the target band segment.
According to an aspect of an embodiment of the present application, there is provided a video encoding method, including: dividing coefficients contained in a video frame coding block into at least two frequency band segments according to a scanning sequence; determining whether each of the at least two band segments contains non-zero coefficients; encoding a syntax element indicating whether the respective band segments contain non-zero coefficients; if a target band segment of the at least two band segments, which is not the first band segment, contains a non-zero coefficient, when encoding other band segments located before the target band segment, encoding syntax elements for indicating whether the non-zero coefficient contained in the other band segments before the target band segment is the last non-zero coefficient in the video frame encoding block is omitted.
According to an aspect of an embodiment of the present application, there is provided a video decoding apparatus including: the device comprises an acquisition unit, a decoding unit and a decoding unit, wherein the acquisition unit is used for acquiring coded data corresponding to a video frame to be decoded, the coded data comprises coding results of at least two band segments, and the at least two band segments are obtained by dividing coefficients contained in a video frame coding block according to a scanning sequence; a determining unit for determining whether each of the at least two band segments contains a non-zero coefficient; a decoding unit, configured to, when decoding another band segment located before a target band segment in a case that the target band segment, which is not a first band segment, of the at least two band segments contains a non-zero coefficient, omit decoding a syntax element indicating whether a non-zero coefficient contained in the other band segment before the target band segment is a last non-zero coefficient in the video frame coding block.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first syntax element, where the first syntax element is used to indicate whether each frequency band includes a non-zero coefficient; the determination unit is configured to: and decoding according to the context of the first syntax element to obtain the value of the first syntax element, and determining whether each band segment contains a nonzero coefficient according to the value of the first syntax element.
In some embodiments of the present application, based on the foregoing scheme, the determining unit is further configured to: determining a context of the first syntax element according to a size of the video frame encoding block; or determining a context of the first syntax element from information of a neighboring block of the video frame encoding block; or determining a context of the first syntax element according to a size of the video frame coding block and information of a neighboring block of the video frame coding block.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit is configured to: and if the first frequency band segment and the second frequency band segment both contain non-zero coefficients, decoding the non-zero coefficients contained in the first frequency band segment and continuous zero coefficients before the non-zero coefficients, wherein the video frame coding block omits the coding of a syntax element for indicating whether each non-zero coefficient contained in the first frequency band segment is the last non-zero coefficient when coding.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit is configured to: if the first frequency band segment and the second frequency band segment both contain non-zero coefficients, decoding non-zero coefficients contained in the second frequency band segment, consecutive zero coefficients before the non-zero coefficients, and a syntax element for indicating whether each non-zero coefficient contained in the second frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit is configured to: and if the first frequency band segment does not contain the nonzero coefficient and the second frequency band segment contains the nonzero coefficient, decoding all the coefficients contained in the first frequency band segment into 0, wherein the video frame coding block omits the coding process of the first frequency band segment during coding.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit is configured to: if the first frequency band segment does not contain the non-zero coefficient and the second frequency band segment contains the non-zero coefficient, decoding the non-zero coefficient contained in the second frequency band segment, the continuous zero coefficient before the non-zero coefficient and a syntax element for indicating whether each non-zero coefficient contained in the second frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit is configured to: if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, decoding the non-zero coefficients contained in the first frequency band segment, consecutive zero coefficients before the non-zero coefficients and a syntax element for indicating whether each non-zero coefficient contained in the first frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit is configured to: and if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, decoding all the coefficients contained in the second frequency band segment into 0, wherein the video frame coding block omits the coding process of the second frequency band segment during coding.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order, where the number of coefficients included in the first band segment is smaller than the number of coefficients included in the second band segment.
According to an aspect of an embodiment of the present application, there is provided a video encoding apparatus including: a dividing unit for dividing coefficients contained in a video frame coding block into at least two band segments according to a scanning order; a processing unit for determining whether each of the at least two band segments contains a non-zero coefficient; and a coding unit, configured to perform coding processing on a syntax element indicating a case of a non-zero coefficient included in each of the at least two band segments, and omit coding of a syntax element indicating whether a non-zero coefficient included in another band segment before a target band segment is a last non-zero coefficient in the video frame coding block when the other band segment before the target band segment is coded when the target band segment other than a first band segment in the at least two band segments includes a non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment arranged in a scanning order;
the encoding unit is configured to:
omitting encoding of syntax elements indicating whether each non-zero coefficient included in the first band segment is the last non-zero coefficient if both the first band segment and the second band segment include non-zero coefficients;
if the first frequency band segment does not contain a non-zero coefficient and the second frequency band segment contains a non-zero coefficient, omitting the coding of the first frequency band segment;
and if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, omitting the coding of the second frequency band segment.
According to an aspect of embodiments of the present application, there is provided a computer readable medium having stored thereon a computer program which, when executed by a processor, implements a video decoding method or a video encoding method as described in the above embodiments.
According to an aspect of an embodiment of the present application, there is provided an electronic device including: one or more processors; a storage device for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement a video decoding method or a video encoding method as described in the above embodiments.
In the technical solutions provided in some embodiments of the present application, coefficients included in a video frame coding block are divided into at least two band segments according to a scanning order, and it is determined whether each band segment includes a non-zero coefficient, and then syntax elements used for indicating whether each band segment includes a non-zero coefficient are encoded, so that a decoding end can know whether each band segment includes a non-zero coefficient. When the target frequency band section which is not the first frequency band section contains the nonzero coefficient, the coding of the syntax element for indicating whether the nonzero coefficient contained in the other frequency band section is the last nonzero coefficient in the video frame coding block is omitted when the other frequency band section arranged before the target frequency band section is coded, and further, the coding of some unnecessary information can be omitted, thereby being beneficial to improving the coding efficiency. In addition, the video frame coding block is divided into at least two frequency band sections, so that the frequency band sections can be independently coded, and the coding efficiency of the video frame coding block is conveniently improved in a parallel coding mode.
In the technical solutions provided in some embodiments of the present application, by obtaining encoded data including encoding results of at least two band segments, and when decoding another band segment arranged before a target band segment when the target band segment that is not a first band segment includes a non-zero coefficient, omitting decoding of a syntax element used to indicate whether a non-zero coefficient included in the other band segment is a last non-zero coefficient in a video frame encoding block, so that some unnecessary information decoding processes can be omitted for coefficient characteristics included in different band segments in a scanning order, thereby facilitating improvement of decoding efficiency. In addition, because the video frame coding block is divided into at least two frequency band sections, the frequency band sections can be independently decoded respectively, and the decoding efficiency is further improved conveniently in a parallel decoding mode.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the application.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and together with the description, serve to explain the principles of the application. It is obvious that the drawings in the following description are only some embodiments of the application, and that for a person skilled in the art, other drawings can be derived from them without inventive effort. In the drawings:
FIG. 1 shows a schematic diagram of an exemplary system architecture to which aspects of embodiments of the present application may be applied;
FIG. 2 is a schematic diagram illustrating placement of video encoding and decoding devices in a streaming environment;
FIG. 3 shows a flow diagram of a video encoding method according to an embodiment of the present application;
FIG. 4A illustrates a diagram of partitioning coefficients contained in a coded block of a video frame according to one embodiment of the present application;
FIG. 4B illustrates a diagram of partitioning coefficients contained in a coded block of a video frame according to one embodiment of the present application;
FIG. 5 shows a flow diagram of a video decoding method according to an embodiment of the present application;
FIG. 6 shows a block diagram of a video decoding apparatus according to an embodiment of the present application;
FIG. 7 shows a block diagram of a video encoding apparatus according to an embodiment of the present application;
FIG. 8 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present application.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the application. One skilled in the relevant art will recognize, however, that the subject matter of the present application can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known methods, devices, implementations, or operations have not been shown or described in detail to avoid obscuring aspects of the application.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The flow charts shown in the drawings are merely illustrative and do not necessarily include all of the contents and operations/steps, nor do they necessarily have to be performed in the order described. For example, some operations/steps may be decomposed, and some operations/steps may be combined or partially combined, so that the actual execution sequence may be changed according to the actual situation.
The technical terms in the present application will first be briefly described below:
syntax elements: information representing the codestream that needs to be encoded and transmitted in video coding.
Run-level coding: run length coding, a type of coefficient coding. Wherein Run represents the number of continuous zero coefficients before a non-zero coefficient; level represents the magnitude of the non-zero coefficient.
Context (buffer): in the process of entropy coding, each syntax element reads and writes information in the corresponding buffer for calculation and updating.
Last _ flag: is a coefficient-coded syntax element used to indicate whether the current non-zero coefficient is the last non-zero coefficient in the current coding block. The 0 coefficients after the last non-zero coefficient can be skipped without transmitting the code stream, and the decoding end can decode the rest 0 coefficients through the position of the last non-zero coefficient.
Fig. 1 shows a schematic diagram of an exemplary system architecture to which the technical solution of the embodiments of the present application can be applied.
As shown in fig. 1, the system architecture 100 includes a plurality of end devices that may communicate with each other over, for example, a network 150. For example, the system architecture 100 may 100 include a first end device 110 and a second end device 120 interconnected by a network 150. In the embodiment of fig. 1, the first terminal device 110 and the second terminal device 120 perform unidirectional data transmission. For example, the first end device 110 may encode video data (e.g., a video picture stream captured by the end device 110) for transmission over the network 150 to the second end device 120. The encoded video data is transmitted in the form of one or more encoded video streams. The second terminal device 120 may receive the encoded video data from the network 150, decode the encoded video data to restore the video data, and display a video picture according to the restored video data.
In one embodiment of the present application, system architecture 100 may include a third end device 130 and a fourth end device 140 that perform bi-directional transmission of encoded video data, which may occur, for example, during a video conference. For bi-directional data transmission, each of third end device 130 and fourth end device 140 may encode video data (e.g., a stream of video pictures captured by the end device) for transmission over network 150 to the other of third end device 130 and fourth end device 140. Each of third terminal device 130 and fourth terminal device 140 may also receive encoded video data transmitted by the other of third terminal device 130 and fourth terminal device 140, and may decode the encoded video data to recover the video data, and may display video pictures on an accessible display device according to the recovered video data.
In the embodiment of fig. 1, the first terminal device 110, the second terminal device 120, the third terminal device 130, and the fourth terminal device 140 may be a server, a personal computer, and a smart phone, but the principles disclosed herein may not be limited thereto. Embodiments disclosed herein are applicable to laptop computers, tablet computers, media players, and/or dedicated video conferencing equipment. Network 150 represents any number of networks that communicate encoded video data between first end device 110, second end device 120, third end device 130, and fourth end device 140, including, for example, wired and/or wireless communication networks. The communication network 150 may exchange data in circuit-switched and/or packet-switched channels. The network may include a telecommunications network, a local area network, a wide area network, and/or the internet. For purposes of this application, the architecture and topology of the network 150 may be immaterial to the operation of the present disclosure, unless explained below.
In one embodiment of the present application, fig. 2 illustrates the placement of video encoding devices and video decoding devices in a streaming environment. The subject matter disclosed herein is equally applicable to other video-enabled applications including, for example, video conferencing, digital TV, storing compressed video on digital media including CDs, DVDs, memory sticks, and the like.
The streaming system may include an acquisition subsystem 213, and the acquisition subsystem 213 may include a video source 201, such as a digital camera, that creates an uncompressed video picture stream 202. In an embodiment, the video picture stream 202 includes samples taken by a digital camera. The video picture stream 202 is depicted as a thick line to emphasize a high data amount video picture stream compared to the encoded video data 204 (or the encoded video codestream 204), the video picture stream 202 can be processed by an electronic device 220, the electronic device 220 comprising a video encoding device 203 coupled to a video source 201. The video encoding device 203 may comprise hardware, software, or a combination of hardware and software to implement or embody aspects of the disclosed subject matter as described in greater detail below. The encoded video data 204 (or encoded video codestream 204) is depicted as a thin line compared to the video picture stream 202 to emphasize the lower data amount of the encoded video data 204 (or encoded video codestream 204), which may be stored on the streaming server 205 for future use. One or more streaming client subsystems, such as client subsystem 206 and client subsystem 208 in fig. 2, may access streaming server 205 to retrieve copies 207 and 209 of encoded video data 204. Client subsystem 206 may include, for example, video decoding device 210 in electronic device 230. Video decoding device 210 decodes incoming copies 207 of the encoded video data and generates an output video picture stream 211 that may be presented on a display 212 (e.g., a display screen) or another presentation device. In some streaming systems, encoded video data 204, video data 207, and video data 209 (e.g., video streams) may be encoded according to certain video encoding/compression standards. Examples of such standards include ITU-T H.265. In an embodiment, the Video Coding standard under development is informally referred to as next generation Video Coding (VVC), and the present application may be used in the context of the VVC standard.
It should be noted that electronic devices 220 and 230 may include other components not shown in the figures. For example, electronic device 220 may include a video decoding device not shown, and electronic device 230 may also include a video encoding device not shown.
The implementation details of the technical solution of the embodiment of the present application are set forth in detail below:
fig. 3 shows a flow chart of a video encoding method according to an embodiment of the present application, which may be performed by the video encoding apparatus described in the foregoing embodiments. Referring to fig. 3, the video encoding method at least includes steps S310 to S340, which are described in detail as follows:
in step S310, coefficients contained in a video frame coding block are divided into at least two band segments in scan order.
In an embodiment of the present application, lengths of at least two band segments obtained by dividing coefficients included in a video frame coding block according to a scanning order may be the same or different.
For example, as shown in fig. 4A, coefficients contained in a coded block of a video frame may be divided into two band segments, denoted as band0 and band1, in scan order. In order to ensure that the second band segment contains non-zero coefficients as much as possible, so as to omit the coding of last _ flag contained in the first band segment, the proportion of the first band segment can be made as small as possible, and the division can be specifically performed by combining the length and height of the coding block. As another example, as shown in fig. 4B, the coefficients contained in a coded block of a video frame may also be divided into three band segments, denoted as band0, band1, and band2, in scan order. Furthermore, in other embodiments of the present application, coefficients contained in a coded block of a video frame may also be divided into a greater number of band segments in scan order.
In step S320, it is determined whether each of the at least two band segments contains non-zero coefficients.
In one embodiment of the present application, it may be determined whether each band segment contains non-zero coefficients by scanning the coefficient cases contained by each band segment.
In step S330, a syntax element indicating whether the respective band segments contain non-zero coefficients is subjected to an encoding process.
In an embodiment of the present application, a decoding end can know whether each band segment includes a nonzero coefficient by encoding a syntax element that indicates whether the band segment includes the nonzero coefficient, and then perform decoding processing by adopting a corresponding decoding strategy.
In step S340, if a non-zero coefficient is included in a target band segment of the at least two band segments, encoding a syntax element indicating whether a non-zero coefficient included in another band segment before the target band segment is a last non-zero coefficient in the video frame encoding block is omitted when encoding another band segment before the target band segment.
In an embodiment of the present application, for example, if a video frame coding block is divided into two band segments, band0 and band1, if both band0 and band1 include non-zero coefficients, the coding of last _ flag of all non-zero coefficients in band0 can be omitted, and further some unnecessary information coding can be omitted, which is beneficial to improving coding efficiency. In addition, if the band0 does not contain a nonzero coefficient, and the band1 contains a nonzero coefficient, the coding of all run values in the band0 can be omitted, and the coding efficiency can be effectively improved; if the band0 contains non-zero coefficients and the band1 does not contain non-zero coefficients, the coding of the band1 can be omitted, and the coding efficiency can be effectively improved.
For another example, if a video frame coding block is divided into three band segments, band0, band1, and band2, then if band1 contains non-zero coefficients and band2 does not contain non-zero coefficients, then coding of last _ flag of all non-zero coefficients in band0 can be omitted; if the band2 contains non-zero coefficients, the coding of last _ flag of all non-zero coefficients in the band0 and the band1 can be omitted, and further some unnecessary information coding can be omitted, which is beneficial to improving the coding efficiency.
It should be noted that the execution sequence of each step shown in fig. 3 is only an example, and may be adjusted according to actual situations in other embodiments of the present application, for example, step S330 and step S340 may also be executed simultaneously, or step S340 is executed first, and then step S330 is executed.
Fig. 5 shows a flowchart of a video decoding method according to an embodiment of the present application, which can be performed by the video decoding apparatus described in the foregoing embodiments. Referring to fig. 5, the video decoding method at least includes steps S510 to S530, which are described in detail as follows:
in step S510, encoded data corresponding to each video frame encoding block of a video frame to be decoded is obtained, where each encoded data includes an encoding result of at least two band segments, and the at least two band segments are obtained by dividing coefficients included in the video frame encoding block according to a scanning order.
In an embodiment of the present application, as described above, the at least two band segments may be obtained by dividing according to the length and height of the coding block of the video frame, and the specific dividing manner may refer to the technical solutions of the foregoing embodiments.
In step S520, it is determined whether each of the at least two band segments contains non-zero coefficients.
In an embodiment of the present application, if the encoded data includes an encoding result of a first syntax element, where the first syntax element is used to indicate a case where a non-zero coefficient is included in each band, decoding processing may be performed according to a context of the first syntax element to obtain a value of the first syntax element, and then it is determined whether each band includes a non-zero coefficient according to the value of the first syntax element.
In one embodiment of the present application, a context of a first syntax element may be determined based on a size of an encoded block of a video frame; or the context of the first syntax element may be determined from information of neighboring blocks of the video frame encoding block; alternatively, the context of the first syntax element may be determined based on the size of the video frame coding block and information of neighboring blocks of the video frame coding block. Alternatively, the information of the neighboring blocks of the video frame coding block may be the case of non-zero coefficients contained in the neighboring blocks, and the like.
In step S530, if a non-zero coefficient is included in a target band segment of the at least two band segments, decoding syntax elements for indicating whether a non-zero coefficient included in other band segments before the target band segment is a last non-zero coefficient in the video frame coding block is omitted when decoding other band segments before the target band segment.
In one embodiment of the present application, although decoding of a syntax element indicating whether a non-zero coefficient contained in other band segments preceding a target band segment is the last non-zero coefficient in a video frame coding block is omitted, the value of the syntax element may be set to 0 after decoding.
The technical solution of the embodiment shown in fig. 5 enables some unnecessary information decoding processes to be omitted for the coefficient characteristics contained in different band segments in the scanning order, for example, syntax elements for indicating whether the non-zero coefficient contained in other band segments is the last non-zero coefficient in the video frame coding block are omitted, which is further beneficial to improving the decoding efficiency.
In an embodiment of the present application, in a case that encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order, if both the first band segment and the second band segment include non-zero coefficients, decoding processing is performed on the non-zero coefficients included in the first band segment and consecutive zero coefficients preceding the non-zero coefficients, where a video frame encoding block omits encoding of syntax elements for indicating whether each non-zero coefficient included in the first band segment is a last non-zero coefficient when encoding. In this case, since the second band segment contains non-zero coefficients, the non-zero coefficients contained in the second band segment, consecutive zero coefficients preceding the non-zero coefficients, and a syntax element indicating whether each non-zero coefficient contained in the second band segment is the last non-zero coefficient may be decoded.
In an embodiment of the present application, in a case that encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order, if the first band segment does not include a non-zero coefficient and the second band segment includes a non-zero coefficient, all coefficients included in the first band segment are decoded to 0, where a video frame encoding block omits an encoding process for the first band segment during encoding. In this case, since the second band segment contains non-zero coefficients, the non-zero coefficients contained in the second band segment, consecutive zero coefficients preceding the non-zero coefficients, and a syntax element indicating whether each non-zero coefficient contained in the second band segment is the last non-zero coefficient may be decoded.
In an embodiment of the present application, when encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order, if the first band segment includes a non-zero coefficient and the second band segment does not include a non-zero coefficient, a decoding process is performed on the non-zero coefficient included in the first band segment, consecutive zero coefficients before the non-zero coefficient, and a syntax element indicating whether each non-zero coefficient included in the first band segment is a last non-zero coefficient. In this case, since the second band segment does not contain non-zero coefficients, the video frame encoding block may omit the encoding process for the second band segment when encoding, and may decode all the coefficients contained in the second band segment to 0 when decoding.
The following describes details of implementation of the technical solution of the embodiment of the present application by taking an example of dividing coefficients included in a coding block of a video frame into two frequency bands (i.e. band0 and band 1):
in one embodiment of the present application, since the coefficients located at the front tend to be non-zero coefficients in the scanning order, the division of the bands can be divided according to the size of the coding block, and the first band is made to contain non-zero coefficients as much as possible. When coding, the coefficients in each band can be coded separately, and some unnecessary information coding, such as coding of last _ flag, run, etc., can be omitted according to the coefficient situation contained in different bands, thereby improving the coding efficiency.
In an embodiment of the present application, for an application scenario with a high code rate, the proportion of the non-zero coefficient is more than that in a case with a low code rate. In order to ensure that the second band also contains some non-zero coefficients as much as possible, the coding of last _ flag in the first band can be omitted, and therefore in the embodiment of the present application, the ratio of the first band can be made smaller. For example, when dividing according to the width (width) and height (height) of a video frame coding block, the band0 contains the previous width height/4 coefficients and the band1 contains the next 3 width height/4 coefficients. And whether non-zero coefficients are included in the band0 and the band1 can be represented by a syntax element band0_ sig _ flag and a syntax element band1_ sig _ flag, respectively, which has a value of 1 if a non-zero coefficient is included and a value of 0 otherwise.
In one embodiment of the present application, different video frame coding blocks may adopt the same division manner when dividing the band, or may also adopt different division manners.
In one embodiment of the present application, in determining whether or not non-zero coefficients are contained in band0 and band1, the determination may be made by traversing the individual coefficients contained in band0 and band 1. If the band0 contains a nonzero coefficient, the band0_ sig _ flag is 1; if the band0 does not contain a non-zero coefficient, the band0_ sig _ flag is 0. If the band1 contains a nonzero coefficient, the band1_ sig _ flag is 1; if the band1 does not contain a non-zero coefficient, the band1_ sig _ flag is 0.
In one embodiment of the present application, when encoding and decoding band0 and band1, it may be determined whether non-zero coefficients are included in band0 and band1 according to band0_ sig _ flag and band1_ sig _ flag, and then determine encoding and decoding strategies for band0 and band1 according to whether non-zero coefficients are included in band0 and band 1. It should be noted that the band0_ sig _ flag and the band1_ sig _ flag will not be 0 at the same time, because all video frame coding blocks must contain at least one non-zero coefficient when entropy coding is performed, and the non-zero coefficient is either in the band0 or in the band 1.
In one embodiment of the present application, the strategy for encoding band0 and band1 based on band0_ sig _ flag and band1_ sig _ flag may be as shown in table 1:
Figure BDA0002183065120000131
TABLE 1
As shown in table 1, for the band0, the band0_ sig _ flag needs to be encoded according to the context of the band0 when encoding. If the band0_ sig _ flag is 1 and the band1_ sig _ flag is 0, then run, level and last _ flag values of non-zero coefficients in the band0 need to be coded according to context; if the band0_ sig _ flag is 1 and the band1_ sig _ flag is 1, then the run value and the level value of the non-zero coefficient in the band0 need to be coded according to the context, and the coding of the last _ flag of the non-zero coefficient is omitted; if the band0_ sig _ flag is 0 and the band1_ sig _ flag is 1, then the encoding of the band0 may be omitted.
For the band1, the band1_ sig _ flag needs to be encoded according to the context of the band1 when encoding. If the band0_ sig _ flag is 1 and the band1_ sig _ flag is 0, then the encoding of the band1 may be omitted; if the band0_ sig _ flag is 1 and the band1_ sig _ flag is 1, then run, level and last _ flag values of non-zero coefficients in the band1 need to be coded according to context; if the band0_ sig _ flag is 0 and the band1_ sig _ flag is 1, then run, level and last _ flag values of the non-zero coefficients in the band1 need to be coded according to context.
When decoding band0 and band1, decoding needs to be performed depending on the encoding strategy. Specifically, for the band0, it is necessary to decode the band0_ sig _ flag according to the video frame code stream and the context of the band0, and decode the band1_ sig _ flag according to the video frame code stream and the context of the band 1. If the band0_ sig _ flag is 1 and the band1_ sig _ flag is 0, then the run value, level value and last _ flag of the non-zero coefficients in the band0 need to be decoded according to the video frame code stream and the context; if the band0_ sig _ flag is 1 and the band1_ sig _ flag is 1, then the run value and the level value of the non-zero coefficient in the band0 need to be decoded according to the video frame code stream and the context, and then last _ flag of each non-zero coefficient in the band0 is set to 0; if the band0_ sig _ flag is 0 and the band1_ sig _ flag is 1, the coefficients contained in the band0 may be decoded as 0.
For band1, if band0_ sig _ flag is 1 and band1_ sig _ flag is 0 at decoding time, the coefficients contained in band1 may be decoded as 0; if the band0_ sig _ flag is 1 and the band1_ sig _ flag is 1, then run, level and last _ flag of non-zero coefficients in the band1 need to be decoded according to the video frame code stream and the context; if the band0_ sig _ flag is 0 and the band1_ sig _ flag is 1, then run, level and last _ flag values of non-zero coefficients in the band1 need to be decoded according to the video frame stream and the context.
In the embodiment of the application, syntax elements of band0_ sig _ flag and band1_ sig _ flag are introduced, for band0_ sig _ flag, the value of the syntax elements has a certain correlation with the size width and height of the coding block of the video frame, and band1_ sig _ flag has a certain correlation with the size of the band0_ sig _ flag and the coding block. An example is given in the embodiment of the present application, and there are 4 contexts for defining band0_ sig _ flag, and there are 4 contexts for defining band1_ sig _ flag, and each includes two in terms of luma (luminance) and chroma (chrominance), which are specifically defined as follows:
offset0=log2(width)+log2(height)<=60:1;
ctx_band0=offset0+(ch_type==luma)?0:2;
offset1=(band0_sig_flag==1&&(log2(width)+log2(height)<=6))?0:1;
ctx_band1=offset1+(ch_type==luma)?0:2。
wherein, offset0 and offset1 are integer variables, and ch _ type represents the channel type of the scan; ctx _ band0 denotes the context index number of band0_ sig _ flag; ctx _ band1 denotes the context index number of band1_ sig _ flag.
In one embodiment of the present application, the context design of the band _ sig _ flag may be designed by using already encoded/decoded neighboring block information (such as the case of non-zero coefficients included in neighboring blocks) in addition to the size of the current coding block.
In an embodiment of the present application, the coding order between band0 and band1 may also be adjusted, for example, if band0_ sig _ flag is 0 and band1_ sig _ flag is 1, then band1 may be coded first, and then band0 may be coded. In this case, it is also necessary to decode band1 first and then band 0.
It should be noted that, in the above embodiments of the present application, the coefficient included in the coding block is divided into 2 bands as an example, and in other embodiments of the present application, the coefficient included in the coding block may be divided into more bands, for example, into 3 bands or 4 bands.
The technical scheme of the embodiment of the application can utilize the coefficient characteristics contained in different bands to perform coding processing by adopting corresponding coding strategies, can improve the coding efficiency, and can skip the coding of some unnecessary information; meanwhile, different bands can be independently coded, and parallel coding processing is facilitated. In addition, the characteristics of different bands can be fully utilized to design the contexts of the different bands respectively.
Embodiments of the apparatus of the present application are described below, which may be used to perform the methods of the above-described embodiments of the present application. For details which are not disclosed in the embodiments of the apparatus of the present application, reference is made to the embodiments of the method described above in the present application.
Fig. 6 shows a block diagram of a video decoding apparatus according to an embodiment of the present application.
Referring to fig. 6, a video decoding apparatus 600 according to an embodiment of the present application includes: an acquisition unit 602, a determination unit 604 and a decoding unit 606.
The acquiring unit 602 is configured to acquire encoded data corresponding to each video frame encoding block of a video frame to be decoded, where each encoded data includes an encoding result of at least two band segments, and the at least two band segments are obtained by dividing coefficients included in the video frame encoding block according to a scanning order; a determining unit 604 for determining whether each of the at least two band segments contains non-zero coefficients; the decoding unit 606 is configured to, when decoding another band segment located before the target band segment if a target band segment, which is not the first band segment, of the at least two band segments contains a non-zero coefficient, omit decoding of a syntax element indicating whether a non-zero coefficient contained in another band segment before the target band segment is the last non-zero coefficient in the video frame coding block.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first syntax element, where the first syntax element is used to indicate whether each frequency band includes a non-zero coefficient; the determining unit 604 is configured to: and decoding according to the context of the first syntax element to obtain the value of the first syntax element, and determining whether each band segment contains a nonzero coefficient according to the value of the first syntax element.
In some embodiments of the present application, based on the foregoing scheme, the determining unit 604 is further configured to: determining a context of the first syntax element according to a size of the video frame encoding block; or determining a context of the first syntax element from information of a neighboring block of the video frame encoding block; or determining a context of the first syntax element according to a size of the video frame coding block and information of a neighboring block of the video frame coding block.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit 606 is configured to: if the first band segment and the second band segment both contain non-zero coefficients, decoding non-zero coefficients contained in the first band segment and consecutive zero coefficients preceding the non-zero coefficients, wherein the video frame encoding block omits encoding of syntax elements indicating whether each non-zero coefficient contained in the first band segment is a last non-zero coefficient when encoding.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit 606 is configured to: if the first frequency band segment and the second frequency band segment both contain non-zero coefficients, decoding non-zero coefficients contained in the second frequency band segment, consecutive zero coefficients before the non-zero coefficients, and a syntax element for indicating whether each non-zero coefficient contained in the second frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit 606 is configured to: and if the first frequency band segment does not contain the nonzero coefficient and the second frequency band segment contains the nonzero coefficient, decoding all the coefficients contained in the first frequency band segment into 0, wherein the video frame coding block omits the coding process of the first frequency band segment during coding.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit 606 is configured to: if the first frequency band segment does not contain the non-zero coefficient and the second frequency band segment contains the non-zero coefficient, decoding the non-zero coefficient contained in the second frequency band segment, the continuous zero coefficient before the non-zero coefficient and a syntax element for indicating whether each non-zero coefficient contained in the second frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order; the decoding unit 606 is configured to: if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, decoding the non-zero coefficients contained in the first frequency band segment, consecutive zero coefficients before the non-zero coefficients and a syntax element for indicating whether each non-zero coefficient contained in the first frequency band segment is the last non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the decoding unit 606 is configured to: and if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, decoding all the coefficients contained in the second frequency band segment into 0, wherein the video frame coding block omits the coding process of the second frequency band segment during coding.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are consecutively arranged in a scanning order, where the number of coefficients included in the first band segment is smaller than the number of coefficients included in the second band segment.
Fig. 7 shows a block diagram of a video encoding apparatus according to an embodiment of the present application.
Referring to fig. 7, a video encoding apparatus 700 according to an embodiment of the present application includes: a dividing unit 702, a processing unit 704 and an encoding unit 706.
Wherein, the dividing unit 702 is configured to divide the coefficients contained in the video frame coding block into at least two band segments according to the scanning order; the processing unit 704 is configured to determine whether each of the at least two band segments contains non-zero coefficients; the encoding unit 706 is configured to perform encoding processing on a syntax element indicating a case of a non-zero coefficient included in each of the at least two band segments, and omit encoding of a syntax element indicating whether a non-zero coefficient included in another band segment before the target band segment is a last non-zero coefficient in the video frame encoding block when another band segment before the target band segment is encoded in a case that a target band segment other than a first band segment among the at least two band segments includes a non-zero coefficient.
In some embodiments of the present application, based on the foregoing scheme, the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment arranged in a scanning order;
the encoding unit 706 is further configured to: omitting encoding of syntax elements indicating whether each non-zero coefficient included in the first band segment is the last non-zero coefficient if both the first band segment and the second band segment include non-zero coefficients; if the first frequency band segment does not contain a non-zero coefficient and the second frequency band segment contains a non-zero coefficient, omitting the coding of the first frequency band segment; and if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, omitting the coding of the second frequency band segment.
FIG. 8 illustrates a schematic structural diagram of a computer system suitable for use in implementing the electronic device of an embodiment of the present application.
It should be noted that the computer system 800 of the electronic device shown in fig. 8 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 8, a computer system 800 includes a Central Processing Unit (CPU)801 that can perform various appropriate actions and processes, such as performing the methods described in the above embodiments, according to a program stored in a Read-Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the RAM 803, various programs and data necessary for system operation are also stored. The CPU 801, ROM 802, and RAM 803 are connected to each other via a bus 804. An Input/Output (I/O) interface 805 is also connected to bus 804.
The following components are connected to the I/O interface 805: an input portion 806 including a keyboard, a mouse, and the like; an output section 807 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and a speaker; a storage portion 808 including a hard disk and the like; and a communication section 809 including a Network interface card such as a LAN (Local Area Network) card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. A drive 810 is also connected to the I/O interface 805 as necessary. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as necessary, so that a computer program read out therefrom is mounted on the storage section 808 as necessary.
In particular, according to embodiments of the application, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, embodiments of the present application include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising a computer program for performing the method illustrated by the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 809 and/or installed from the removable medium 811. When the computer program is executed by the Central Processing Unit (CPU)801, various functions defined in the system of the present application are executed.
It should be noted that the computer readable medium shown in the embodiments of the present application may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM), a flash Memory, an optical fiber, a portable Compact Disc Read-Only Memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with a computer program embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program embodied on the computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. Each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software, or may be implemented by hardware, and the described units may also be disposed in a processor. Wherein the names of the elements do not in some way constitute a limitation on the elements themselves.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the electronic device described in the above embodiments; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by an electronic device, cause the electronic device to implement the method described in the above embodiments.
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the application. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.
Other embodiments of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (15)

1. A video decoding method, comprising:
acquiring coded data corresponding to each video frame coding block of a video frame to be decoded, wherein each coded data comprises coding results of at least two band segments, and the at least two band segments are obtained by dividing coefficients contained in the video frame coding blocks according to a scanning sequence;
determining whether each of the at least two band segments contains non-zero coefficients;
if a target band segment of the at least two band segments, which is not the first band segment, contains a non-zero coefficient, decoding syntax elements for indicating whether the non-zero coefficient contained in other band segments before the target band segment is the last non-zero coefficient in the video frame coding block is omitted when decoding other band segments before the target band segment.
2. The video decoding method of claim 1, wherein the encoded data includes an encoding result of a first syntax element, and wherein the first syntax element is used to indicate whether the respective band includes non-zero coefficients;
the determining whether each of the at least two band segments contains a non-zero coefficient comprises: and decoding according to the context of the first syntax element to obtain the value of the first syntax element, and determining whether each band segment contains a nonzero coefficient according to the value of the first syntax element.
3. The video decoding method of claim 2, further comprising:
determining a context of the first syntax element according to a size of the video frame encoding block; or
Determining a context of the first syntax element from information of a neighboring block of the video frame encoding block; or
Determining a context of the first syntax element as a function of a size of the video frame encoding block and information of neighboring blocks of the video frame encoding block.
4. The video decoding method according to claim 1, wherein the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are arranged consecutively in a scanning order;
the video decoding method further comprises:
if the first band segment and the second band segment both contain non-zero coefficients, decoding the non-zero coefficients contained in the first band segment and consecutive zero coefficients preceding the non-zero coefficients, wherein the video frame encoding block omits encoding of syntax elements for indicating whether each non-zero coefficient contained in the first band segment is the last non-zero coefficient when encoding.
5. The video decoding method according to claim 1, wherein the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are arranged consecutively in a scanning order;
the video decoding method further comprises:
and if the first frequency band segment does not contain the nonzero coefficient and the second frequency band segment contains the nonzero coefficient, decoding all the coefficients contained in the first frequency band segment into 0, wherein the video frame coding block omits the coding process of the first frequency band segment during coding.
6. The video decoding method of claim 4 or 5, further comprising:
decoding non-zero coefficients contained in the second band segment, consecutive zero coefficients preceding the non-zero coefficients, and syntax elements indicating whether each non-zero coefficient contained in the second band segment is the last non-zero coefficient.
7. The video decoding method according to claim 1, wherein the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are arranged consecutively in a scanning order;
the video decoding method further comprises:
if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, decoding the non-zero coefficients contained in the first frequency band segment, consecutive zero coefficients before the non-zero coefficients and a syntax element for indicating whether each non-zero coefficient contained in the first frequency band segment is the last non-zero coefficient.
8. The video decoding method of claim 7, further comprising:
and decoding all coefficients contained in the second frequency band to be 0, wherein the video frame coding block omits the coding process of the second frequency band when coding.
9. The video decoding method according to any one of claims 1 to 3, wherein the encoded data includes an encoding result of a first band segment and an encoding result of a second band segment that are arranged consecutively in a scanning order, and a number of coefficients included in the first band segment is smaller than a number of coefficients included in the second band segment.
10. A video encoding method, comprising:
dividing coefficients contained in a video frame coding block into at least two frequency band segments according to a scanning sequence;
determining whether each of the at least two band segments contains non-zero coefficients;
encoding a syntax element indicating whether the respective band segments contain non-zero coefficients;
if a target band segment of the at least two band segments, which is not the first band segment, contains a non-zero coefficient, when encoding other band segments located before the target band segment, encoding syntax elements for indicating whether the non-zero coefficient contained in the other band segments before the target band segment is the last non-zero coefficient in the video frame encoding block is omitted.
11. The video coding method of claim 10, wherein the coded data comprises a coding result of a first band segment and a coding result of a second band segment arranged in a scanning order;
the video encoding method further comprises:
omitting encoding of syntax elements indicating whether each non-zero coefficient included in the first band segment is the last non-zero coefficient if both the first band segment and the second band segment include non-zero coefficients;
if the first frequency band segment does not contain a non-zero coefficient and the second frequency band segment contains a non-zero coefficient, omitting the coding of the first frequency band segment;
and if the first frequency band segment contains non-zero coefficients and the second frequency band segment does not contain non-zero coefficients, omitting the coding of the second frequency band segment.
12. A video decoding apparatus, comprising:
the device comprises an acquisition unit, a decoding unit and a processing unit, wherein the acquisition unit is used for acquiring coded data corresponding to each video frame coding block of a video frame to be decoded, each coded data comprises coding results of at least two band sections, and the at least two band sections are obtained by dividing coefficients contained in the video frame coding block according to a scanning sequence;
a determining unit for determining whether each of the at least two band segments contains a non-zero coefficient;
a decoding unit, configured to, when decoding another band segment located before a target band segment in a case that the target band segment, which is not a first band segment, of the at least two band segments contains a non-zero coefficient, omit decoding a syntax element indicating whether a non-zero coefficient contained in the other band segment before the target band segment is a last non-zero coefficient in the video frame coding block.
13. A video encoding apparatus, comprising:
a dividing unit for dividing coefficients contained in a video frame coding block into at least two band segments according to a scanning order;
a processing unit for determining whether each of the at least two band segments contains a non-zero coefficient;
and a coding unit, configured to perform coding processing on a syntax element indicating a case of a non-zero coefficient included in each of the at least two band segments, and omit coding of a syntax element indicating whether a non-zero coefficient included in another band segment before a target band segment is a last non-zero coefficient in the video frame coding block when the other band segment before the target band segment is coded when the target band segment other than a first band segment in the at least two band segments includes a non-zero coefficient.
14. A computer-readable medium, on which a computer program is stored, which, when being executed by a processor, carries out a video decoding method according to one of claims 1 to 9, or carries out a video encoding method according to one of claims 10 to 11.
15. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the video decoding method of any one of claims 1 to 9 or the video encoding method of any one of claims 10 to 11.
CN201910803820.7A 2019-08-28 2019-08-28 Video decoding method, video encoding device, video encoding medium, and electronic apparatus Active CN112449188B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910803820.7A CN112449188B (en) 2019-08-28 2019-08-28 Video decoding method, video encoding device, video encoding medium, and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910803820.7A CN112449188B (en) 2019-08-28 2019-08-28 Video decoding method, video encoding device, video encoding medium, and electronic apparatus

Publications (2)

Publication Number Publication Date
CN112449188A true CN112449188A (en) 2021-03-05
CN112449188B CN112449188B (en) 2021-08-20

Family

ID=74741143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910803820.7A Active CN112449188B (en) 2019-08-28 2019-08-28 Video decoding method, video encoding device, video encoding medium, and electronic apparatus

Country Status (1)

Country Link
CN (1) CN112449188B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917645A (en) * 2005-08-15 2007-02-21 华为技术有限公司 Method for encoding block of coefficient
CN101267553A (en) * 2007-03-12 2008-09-17 华为技术有限公司 A method and device for coding and decoding
CN101822065A (en) * 2007-10-12 2010-09-01 高通股份有限公司 Entropy coding of interleaved sub-blocks of video block
CN102740066A (en) * 2011-04-01 2012-10-17 富士通株式会社 CAVLC decoding method and system
CN104205832A (en) * 2012-04-14 2014-12-10 高通股份有限公司 Group flag in transform coefficient coding for video coding
CN104980746A (en) * 2011-07-01 2015-10-14 三星电子株式会社 Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
CN107580224A (en) * 2017-08-08 2018-01-12 西安理工大学 A kind of adaptive scanning method towards HEVC entropy codes
CN107911699A (en) * 2012-07-02 2018-04-13 三星电子株式会社 The coding method of video and equipment and non-transitory computer-readable medium
WO2018190595A1 (en) * 2017-04-13 2018-10-18 엘지전자(주) Method and apparatus for entropy encoding and decoding video signal
US20190149829A1 (en) * 2017-11-15 2019-05-16 Google Llc Entropy coding primary and secondary coefficients of video data

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1917645A (en) * 2005-08-15 2007-02-21 华为技术有限公司 Method for encoding block of coefficient
CN101267553A (en) * 2007-03-12 2008-09-17 华为技术有限公司 A method and device for coding and decoding
CN101822065A (en) * 2007-10-12 2010-09-01 高通股份有限公司 Entropy coding of interleaved sub-blocks of video block
CN102740066A (en) * 2011-04-01 2012-10-17 富士通株式会社 CAVLC decoding method and system
CN104980746A (en) * 2011-07-01 2015-10-14 三星电子株式会社 Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
CN104205832A (en) * 2012-04-14 2014-12-10 高通股份有限公司 Group flag in transform coefficient coding for video coding
CN107911699A (en) * 2012-07-02 2018-04-13 三星电子株式会社 The coding method of video and equipment and non-transitory computer-readable medium
WO2018190595A1 (en) * 2017-04-13 2018-10-18 엘지전자(주) Method and apparatus for entropy encoding and decoding video signal
CN107580224A (en) * 2017-08-08 2018-01-12 西安理工大学 A kind of adaptive scanning method towards HEVC entropy codes
US20190149829A1 (en) * 2017-11-15 2019-05-16 Google Llc Entropy coding primary and secondary coefficients of video data

Also Published As

Publication number Publication date
CN112449188B (en) 2021-08-20

Similar Documents

Publication Publication Date Title
JP2024020203A (en) Method and device for image prediction
US9185422B2 (en) Variable localized bit-depth increase for fixed-point transforms in video coding
BR112017004490B1 (en) METHOD FOR CONSTRUCTING A HASH TABLE FOR HASH-BASED BLOCK MATCHING, COMPUTING DEVICE AND COMPUTER READABLE STORAGE MEDIA
US20190246107A1 (en) Encoding and decoding methods and corresponding devices
JP2018182770A (en) Supplemental enhancement information including reliability level and mixed content information
CN112543337B (en) Video decoding method, device, computer readable medium and electronic equipment
US20230421763A1 (en) Video coding method and apparatus, medium, and electronic device
WO2022174660A1 (en) Video coding and decoding method, video coding and decoding apparatus, computer-readable medium, and electronic device
JP2023160884A (en) Joint component secondary transform
CN112449188B (en) Video decoding method, video encoding device, video encoding medium, and electronic apparatus
CN111279694A (en) GDR code stream encoding method, terminal device and machine readable storage medium
WO2022166370A1 (en) Video encoding and decoding method and apparatus, computer program product, computer-readable storage medium, and electronic device
CN112449185B (en) Video decoding method, video encoding device, video encoding medium, and electronic apparatus
CN116805968A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
WO2021263251A1 (en) State transition for dependent quantization in video coding
CN112449187B (en) Video decoding method, video encoding device, video encoding medium, and electronic apparatus
US20160234529A1 (en) Method and apparatus for entropy encoding and decoding
CN112449184B (en) Transform coefficient optimization method, encoding and decoding method, device, medium, and electronic device
CN114402602A (en) Arithmetic codec byte stuffing signaling for video codecs
TWI794076B (en) Method for processing track data in multimedia resources, device, medium and apparatus
TWI806480B (en) Video encoding/decoding method, device, computer readable medium, and electronic apparatus
WO2023051222A1 (en) Filtering method and apparatus, encoding method and apparatus, decoding method and apparatus, computer-readable medium, and electronic device
US11917202B2 (en) Method and apparatus for frequency-dependent joint component secondary transform
WO2022174637A1 (en) Video encoding and decoding method, video encoding and decoding apparatus, computer-readable medium and electronic device
CN113329227A (en) Video coding method and device, electronic equipment and computer readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant