Method and apparatus for intra prediction, storage medium and electronic device
By adjusting the processing order of coding units in intra-frame prediction and adopting prediction loop technology, the decoding order of prediction units is optimized, solving the problem of low decoding efficiency in intra-frame prediction and achieving a more efficient decoding process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-13
- Publication Date
- 2026-03-10
AI Technical Summary
In existing video decoding technologies, intra-frame prediction has low decoding efficiency, mainly because the serial processing between coding units leads to dependencies between prediction units, which affects decoding speed.
By adjusting the processing order of prediction units in the coding unit, the reference region is decoded first and then the non-reference region is decoded, eliminating the dependency between prediction units. Furthermore, the prediction loop technique is used for parallel processing, reducing the reading time of reference edge data.
It improves the efficiency of intra-frame prediction, reduces system load, and increases decoding speed.
Smart Images

Figure CN118488198B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of video decoding technology, and in particular to methods and apparatuses, storage media and electronic devices for intra-frame prediction. Background Technology
[0002] In video coding, intra-frame prediction obtains a better estimate of the current pixel block by applying a pre-set weighted processing to the already encoded neighboring pixels, thereby effectively reducing spatial redundancy and improving compression efficiency. Correspondingly, intra-frame prediction in video decoding may require the use of neighboring pixel information from the lower left, left, upper left, upper, and upper right of the current pixel block to reconstruct the predicted value of the current pixel block.
[0003] In a video decoding stream, a coding unit typically includes one or more prediction units (PUs). For example... Figure 1 As shown, a coding unit contains prediction units PU1, PU2, PU3, PU4, PU5… For PU4, it has a dependency relationship with PU1 to the left and PU2 above, so it must be decoded after PU1 and PU2 are decoded. Therefore, according to the dependency relationship between the prediction units, decoding must be performed in a serial processing manner of PU1->PU2->PU3->PU4. Figure 2 As shown, each prediction unit is internally divided into multiple prediction calculation units (PCUs). These PCUs process data sequentially from top to bottom and from left to right. However, this sequential processing method is relatively slow, resulting in low decoding efficiency. Summary of the Invention
[0004] The embodiments of this disclosure provide methods and apparatus, storage media and electronic devices for intra-frame prediction, which effectively improve the efficiency of intra-frame prediction by adjusting the processing order of prediction units in the coding unit to eliminate the dependency between prediction units as early as possible.
[0005] In a first aspect, this disclosure provides a method for intra-frame prediction. The method includes: acquiring prediction units in coding units, each prediction unit including a reference region and a non-reference region, the reference region being a region in the prediction unit that has a decoding dependency with adjacent prediction units, and the non-reference region being a region in the prediction unit that does not have a decoding dependency with adjacent prediction units; for a first prediction unit, first decoding the reference region of the first prediction unit, and then decoding the non-reference region of the first prediction unit; and in response to the completion of decoding of the reference region that has a decoding dependency with a second prediction unit, initiating decoding of the second prediction unit.
[0006] In one implementation of the first aspect, enabling decoding of the second prediction unit includes: enabling decoding of the second prediction unit in response to the completion of decoding of the reference region of an associated prediction unit that has a decoding dependency with the second prediction unit, without waiting for the completion of decoding of the non-reference region of the associated prediction unit.
[0007] In one implementation of the first aspect, the reference region includes reference column units that have a decoding dependency relationship with a first adjacent prediction unit adjacent along the row direction, and reference row units that have a decoding dependency relationship with a second adjacent prediction unit adjacent along the column direction, wherein decoding the reference region of the first prediction unit includes: successively decoding the reference column units and the reference row units of the first prediction unit.
[0008] In one implementation of the first aspect, the second prediction unit is adjacent to the first prediction unit along the row direction, wherein enabling the decoding of the second prediction unit includes: enabling the decoding of the second prediction unit in response to the completion of decoding of the reference column unit of the first prediction unit, which has a decoding dependency relationship with the second prediction unit.
[0009] In one implementation of the first aspect, enabling the decoding of the second prediction unit includes: in response to the completion of decoding of the reference column unit of the first prediction unit, enabling the decoding of the second prediction unit without waiting for the completion of decoding of the reference row unit and the non-reference region of the first prediction unit, which have no decoding dependency with the second prediction unit.
[0010] In one implementation of the first aspect, decoding of the reference row unit of the first prediction unit and the reference row unit of the second prediction unit, which have a decoding dependency with the third prediction unit, is initiated, wherein the third prediction unit is adjacent to the first prediction unit along the column direction.
[0011] In one implementation of the first aspect, the prediction unit includes multiple prediction calculation units, which include multiple reference prediction calculation units corresponding to the reference region and multiple non-reference prediction calculation units corresponding to the non-reference region. Decoding the reference region of the first prediction unit first, and then decoding the non-reference region of the first prediction unit, includes: using a prediction loop to decode the multiple prediction calculation units of the first prediction unit. The prediction loop contains all the steps required for the decoding of the prediction calculation units to be executed sequentially, and the steps are sequentially connected to complete the first step of the next prediction calculation unit based on the last step of the current prediction calculation unit.
[0012] In one implementation of the first aspect, enabling the decoding of the second prediction unit includes: when there is only one prediction loop, the reference region of the second prediction unit can be preloaded after the decoding of the reference prediction calculation unit of the reference region of the first prediction unit is completed; and after the last non-reference prediction calculation unit of the non-reference region of the first prediction unit completes the first step of the prediction loop, the first reference prediction calculation unit of the reference region of the second prediction unit is input into the first step of the prediction loop.
[0013] In one implementation of the first aspect, enabling the decoding of the second prediction unit further includes: when multiple prediction loops are included, after the decoding of the reference prediction calculation unit of the reference region of the first prediction unit is completed, the reference prediction calculation unit of the reference region of the second prediction unit can be preloaded and input into the available prediction loop.
[0014] In one implementation of the first aspect, the plurality of prediction calculation units are determined to adopt a horizontal or vertical shape based on the prediction mode of the decoding standard used.
[0015] In one implementation of the first aspect, determining whether there is a decoding dependency between adjacent prediction units includes: obtaining the right reference region and the lower reference region of the preceding prediction unit; determining whether the reference region required by the current prediction unit is contained within the right reference region and the lower reference region of the preceding prediction unit; if so, determining that the current prediction unit depends on the preceding prediction unit.
[0016] Secondly, this disclosure provides an apparatus for intra-frame prediction. The apparatus includes: an acquisition module configured to acquire prediction units in coding units, each prediction unit including a reference region and a non-reference region, the reference region being a region in the prediction unit that has a decoding dependency with adjacent prediction units, and the non-reference region being a region in the prediction unit that does not have a decoding dependency with adjacent prediction units; and a decoding module configured to: for a first prediction unit, first decode the reference region of the first prediction unit, and then decode the non-reference region of the first prediction unit; and in response to the completion of decoding of the reference region that has a decoding dependency with a second prediction unit, initiate decoding of the second prediction unit. Thirdly, this disclosure provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed to implement the above-described method.
[0017] Fourthly, this disclosure provides an electronic device. The electronic device includes: a memory configured to store an executable program; and a processor configured to execute the program to cause the electronic device to perform the methods described above.
[0018] According to embodiments of this disclosure, the dependencies between prediction units are eliminated as early as possible by adjusting the processing order of prediction units in the coding unit, allowing the next prediction unit to be processed earlier. Simultaneously, by flexibly changing the shape of the prediction calculation units in the prediction unit, the number of reference edges used by the prediction unit is reduced, effectively reducing the reference edge data reading time, thereby effectively improving the efficiency of intra-frame prediction and reducing the system load. Attached Figure Description
[0019] Figure 1 The diagram shown is a structural schematic of a prediction unit in an embodiment of a coding unit in the prior art;
[0020] Figure 2 The diagram shows a structural schematic of a prediction calculation unit in a prediction unit in an embodiment of the prior art.
[0021] Figure 3 The flowchart shown is an embodiment of the method for intra-frame prediction of this disclosure;
[0022] Figure 4 The diagram shows a structural schematic of the reference region and non-reference region of the prediction unit of the present invention in one embodiment.
[0023] Figure 5 A schematic diagram showing a reference area for the prediction unit of this disclosure in one embodiment;
[0024] Figure 6A sampling schematic diagram of a prediction unit shown in one embodiment of this disclosure.
[0025] Figure 7 The diagram shown is a structural schematic of the predictive loop of this disclosure in one embodiment;
[0026] Figure 8 The diagram shows a comparison of decoding in one embodiment of the prior art and the prediction unit of this disclosure;
[0027] Figure 9 This diagram illustrates a comparison of decoding between the prior art and the prediction unit of this disclosure in another embodiment.
[0028] Figure 10 The diagram shows the shape of the prediction calculation unit in one embodiment of the present disclosure.
[0029] Figure 11 The diagram shows the shape of the prediction calculation unit in another embodiment of this disclosure.
[0030] Figure 12 The diagram shown is a schematic representation of the apparatus for intra-frame prediction according to this disclosure in one embodiment.
[0031] Figure 13 The diagram shown is a structural schematic of an electronic device according to an embodiment of the present disclosure. Detailed Implementation
[0032] The following specific examples illustrate the implementation of this disclosure. Those skilled in the art can easily understand other advantages and effects of this disclosure from the content disclosed in this specification. This disclosure can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of this disclosure.
[0033] It should be noted that the illustrations provided in this embodiment are only schematic representations of the basic concept of this disclosure. Therefore, the drawings only show the components related to this disclosure and are not drawn according to the number, shape and size of the components in actual implementation. In actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.
[0034] In the following, embodiments according to this disclosure will be described with reference to the accompanying drawings and specific implementation details.
[0035] Figure 3 The flowchart shown is an embodiment of the method for intra-frame prediction disclosed herein. Figure 3 As shown, the method for intra-frame prediction includes steps S1 to S3.
[0036] In step S1, each prediction unit in the coding unit is obtained. The prediction unit includes a reference region and a non-reference region. The reference region is the region in the prediction unit that has a decoding dependency relationship with the adjacent prediction units, and the non-reference region is the region in the prediction unit that does not have a decoding dependency relationship with the adjacent prediction units.
[0037] In some embodiments, the encoding unit comprises prediction units, and decoding is performed on a unit-by-unit basis. Since there are decoding dependencies between the prediction units, regions within a prediction unit that have decoding dependencies with adjacent prediction units are defined as reference regions, and regions within a prediction unit that do not have decoding dependencies with adjacent prediction units are defined as non-reference regions. Figure 4 As shown, prediction unit PU2 depends on region PU1a in prediction unit PU1, but not on region PU1c in prediction unit PU1. Therefore, for prediction unit PU2, region PU1a is the reference region, and regions PU1b and PU1c are non-reference regions. For prediction unit PU3, it depends on region PU1b in prediction unit PU1. Therefore, for prediction unit PU3, region PU1b is the reference region, and regions PU1a and PU1c are non-reference regions. Therefore, in prediction unit PU1, regions PU1a and PU1b serve as reference regions to support the decoding of adjacent prediction units; region PU1c is a non-reference region and is unrelated to the decoding of adjacent prediction units. Therefore, in prediction unit PU1, its reference regions include reference column unit PU1a, which has a decoding dependency with prediction unit PU2 adjacent along the row direction, and reference row unit PU1b, which has a decoding dependency with prediction unit PU3 adjacent along the column direction. Specifically, the left boundary information of prediction units PU1 and PU3 is directly obtained from the prediction data that has already been reconstructed on the left; the upper boundary information of prediction units PU1 and PU2 is also directly obtained from the prediction data that has already been reconstructed on the left. It should be noted that... Figure 4 This is merely one type of dependency between prediction units. The dependency patterns of a prediction unit on its neighboring prediction units can be diverse. The dependency patterns described in this disclosure are not limited to this. Figure 4 In this way.
[0038] In some embodiments, when determining whether there is a decoding dependency between adjacent prediction units, the right-hand and lower-hand reference regions of the preceding prediction unit are first obtained. These reference regions are stored in external RAM. When applying these reference regions, they need to be read from the external RAM. Figure 5As shown, if the current prediction unit is PU3, then the preceding prediction units are PU0 to PU2, which are prediction units that have completed prediction or are currently predicting. For each preceding prediction unit, a right-side reference region and a lower-side reference region need to be stored. When the current prediction unit completes prediction, the stored right-side and lower-side reference regions need to be released. Next, it is determined whether the reference region required by the current prediction unit is included in the right-side and lower-side reference regions of the preceding prediction units. Figure 6 As shown, assuming the reference region used by the current prediction unit PU3 (16x16) only involves the left, top left, and top edges, then the top and left edges are sampled at intervals of 4, plus the top left corner point. Figure 6 Both sampling methods are acceptable. It is determined whether each sampling point falls within the right and lower reference regions of the previous prediction unit. If so, it indicates that the current prediction unit depends on the prediction unit corresponding to that region. It should be noted that if the right and lower reference regions of the previous prediction unit have been released, it means that the relevant region decoding of the current prediction unit has been completed, and there is no need to compare whether the sampling points fall within these regions. For example, if prediction unit PU0 has finished decoding but prediction units PU1 and PU2 have not, the reference region of prediction unit PU0 is released. When decoding prediction unit PU3, each sampling point of PU3 is compared to see if it falls within the reference regions of prediction units PU1 and PU2. If a sampling point of prediction unit PU3 falls within the reference region of prediction unit PU1, but no sampling point falls within the reference region of prediction unit PU2, it indicates that prediction unit PU3 depends on prediction unit PU1, but not on prediction unit PU2.
[0039] In step S2, for the first prediction unit, the reference region of the first prediction unit is first decoded, and then the non-reference region of the first prediction unit is decoded.
[0040] In traditional intra-frame prediction algorithms, prediction units are decoded sequentially from top to bottom and from left to right. In some embodiments of this disclosure, to improve prediction speed, the reference region of the current prediction unit is decoded first, followed by the non-reference region. This decoding order allows for the immediate commencement of decoding adjacent prediction units dependent on the reference region after decoding, thereby fully utilizing decoding resources and effectively reducing idle time in the decoding process.
[0041] In step S3, in response to the completion of decoding of the reference region that has a decoding dependency with the second prediction unit, decoding of the second prediction unit is started.
[0042] In some embodiments, in response to the completion of decoding of the reference region of an associated prediction unit that has a decoding dependency with the second prediction unit, decoding of the second prediction unit is initiated without waiting for the completion of decoding of the non-reference region of the associated prediction unit.
[0043] In some embodiments, when the reference region of the first prediction unit includes a reference column unit that has a decoding dependency with a first adjacent prediction unit adjacent along the row direction, and a reference row unit that has a decoding dependency with a second adjacent prediction unit adjacent along the column direction, the reference column unit and the reference row unit of the first prediction unit are decoded sequentially. If the second prediction unit is adjacent to the first prediction unit along the row direction, in response to the completion of decoding of the reference column unit of the first prediction unit that has a decoding dependency with the second prediction unit, decoding of the second prediction unit is initiated without waiting for the completion of decoding of the reference row unit and the non-reference region of the first prediction unit that does not have a decoding dependency with the second prediction unit.
[0044] In some embodiments, decoding of the reference row unit of the first prediction unit and the reference row unit of the second prediction unit, which have a decoding dependency with the third prediction unit, is initiated, wherein the third prediction unit is adjacent to the first prediction unit along the column direction.
[0045] In some embodiments, each prediction unit is divided into multiple prediction computation units. Therefore, the multiple prediction computation units include multiple reference prediction computation units corresponding to the reference region and multiple non-reference prediction computation units corresponding to the non-reference region. Both the reference region and the non-reference region are decoded on a unit-by-unit basis. When decoding the prediction computation units in the reference region and the non-reference region, each prediction computation unit is decoded sequentially from top to bottom and from left to right.
[0046] When decoding the prediction calculation unit (PCU), a prediction loop is used. Figure 7 The diagram shown is a structural schematic of the predictive loop of this disclosure in one embodiment. For example... Figure 7As shown, the prediction loop contains all the steps that the prediction computation unit needs to execute sequentially for decoding, such as Pred stage1->Pred stage2->Pred stage3->Pred stage4->Pred stage5. The result of Pred stage5 of the current prediction computation unit is input into stage1 of the next prediction computation unit, Pred, thus completing the first step of the next prediction computation unit based on the last step of the current prediction computation unit.
[0047] For each prediction computation unit, they enter the prediction loop sequentially, like a flowing stream. For example, when prediction computation unit PCU1 flows to pred stage 2, PCU2 can flow to pred stage 1, while PCU3 waits outside the prediction loop to enter pred stage 1. However, when prediction unit PU2 has a decoding dependency on prediction unit PU1, according to the traditional decoding method, prediction computation unit PCU1 of prediction unit PU2 needs to wait until the last prediction computation unit PCU of prediction unit PU1 flows out of the prediction loop before it can enter the prediction loop. This introduces many "bubbles," leading to performance degradation. In this disclosure, to improve decoding speed, the decoding order of the prediction units is optimized. The reference region of the current prediction unit is decoded first, followed by the non-reference region. In this way, once the reference region of the current prediction unit is decoded, the decoding of the next prediction unit that depends on it can be started, thereby eliminating the decoding dependency between adjacent prediction units.
[0048] In some embodiments, when only one prediction loop is included, the reference region of the second prediction unit can be preloaded after the reference prediction calculation unit of the reference region of the first prediction unit has finished decoding, and the first reference prediction calculation unit of the reference region of the second prediction unit is input into the first step of the prediction loop after the last non-reference prediction calculation unit of the non-reference region of the first prediction unit has completed the first step of the prediction loop. For example, as Figure 8As shown, the prediction loop consists of 5 steps. For prediction unit PU1, decoding is performed in the order of PU1a-PU1b-PU1c. When the reference region PU1a of prediction unit PU1 is decoded, the decoding dependency of prediction unit PU2 on prediction unit PU1 is removed. At this time, the reference region of prediction calculation unit PU2 can be preloaded to wait for entry into the prediction loop. When the last non-reference prediction calculation unit PU1(c8) of prediction unit PU1 is in pred stage 2, the first reference prediction calculation unit PU2(a) of prediction unit PU2 can enter pred stage 1 for calculation, thus eliminating the need to wait for the last non-reference prediction calculation unit PU1(c8) of prediction unit PU1 to flow out of pred stage 5 before the first reference prediction calculation unit PU2(a) of prediction unit PU2 can enter the prediction loop. Similarly, for prediction unit PU3, after the decoding of its reference regions PU2a and PU2b, which depend on prediction unit PU2, is completed, the information of prediction unit PU3 can be preloaded.
[0049] In some embodiments, when multiple prediction loops are included, parallel processing of the prediction units can be implemented, thereby further improving the prediction speed. Specifically, after the decoding of the reference prediction calculation unit for the reference region of the first prediction unit is completed, the reference prediction calculation unit for the reference region of the second prediction unit can be preloaded and input into the available prediction loop. For example... Figure 9 As shown, assume there are three prediction loops. For prediction unit PU2, decoding of prediction unit PU2 can begin as soon as the reference region PU1a of prediction unit PU1 is decoded, without waiting for the last non-reference prediction computation unit of prediction unit PU1 to reach pred stage2 before entering the prediction loop. For prediction unit PU3, decoding of prediction unit PU3 can begin as soon as the reference region PU2b of prediction unit PU2 is decoded. Compared to a single prediction loop, the larger the prediction unit, the more significant the speed improvement in intra-frame prediction. This is because the next prediction unit does not need to wait for the last prediction computation unit of the current prediction unit to enter the loop before waiting outside the prediction loop, but can directly enter the idle prediction loop to perform computation.
[0050] To further improve intra-frame prediction speed, the intra-frame prediction method disclosed herein can also determine the horizontal or vertical shape of the plurality of prediction calculation units based on the prediction mode of the adopted decoding standard. The prediction calculation unit PCU0 can be horizontal or vertical, determined by the prediction mode of the adopted decoding standard. In some embodiments, different decoding standards correspond to different prediction modes. For different prediction modes, the size of the reference region required by the prediction unit will differ when the prediction calculation unit adopts a horizontal or vertical shape. The size of the reference region is represented by the number of reference points. A larger number of reference points indicates a longer reference data readout, resulting in a longer intra-frame prediction time. Conversely, a smaller number of reference points indicates a shorter reference data readout, resulting in a shorter intra-frame prediction time. Therefore, the shape corresponding to the prediction mode with a smaller number of reference points is preferred. The shapes of the prediction calculation units corresponding to different prediction modes are shown in Table 1.
[0051] Table 1. Correspondence between prediction modes and prediction computation unit shapes
[0052]
[0053] As shown in the table above, the "Sequence" column indicates the shape of the prediction computation unit (PCU). The horizontal axis represents a row of prediction units, and the vertical axis represents a column of prediction units, as shown below. Figure 10 and 11 As shown. The prediction mode represents the prediction mode of each prediction unit. Each decoding standard has different prediction modes, with up to dozens. Different prediction modes are categorized horizontally and vertically. Taking a prediction computation unit (PCU) consisting of 8 points and a predmode of 13 in the Hevc mode as an example, for a 32×32 prediction unit, if the PCU is in a horizontal 8-point mode, a maximum of 12 reference points are needed to predict any one PCU; if the PCU is in an 8-point vertical mode, a maximum of 25 reference points are needed. More reference points mean a longer reference data reading time. Therefore, when the predmode of the Hevc mode is 13, a horizontal 8-point shape for the PCU is selected.
[0054] The scope of protection of the method for intra-frame prediction described in this disclosure is not limited to the execution order of the steps listed in this embodiment. Any solution implemented by adding, subtracting, or replacing steps in the prior art based on the principles of this disclosure is included within the scope of protection of this disclosure.
[0055] This disclosure also provides a method system for intra-frame prediction. The method system for intra-frame prediction can implement the method for intra-frame prediction described in this disclosure. However, the implementation apparatus of the method system for intra-frame prediction described in this disclosure includes, but is not limited to, the structure of the method system for intra-frame prediction listed in this embodiment. All structural modifications and substitutions of the prior art made based on the principles of this disclosure are included within the protection scope of this disclosure.
[0056] Figure 12 The diagram shown is a structural schematic of an embodiment of the apparatus for intra-frame prediction according to this disclosure. Figure 12 As shown, the apparatus for intra-frame prediction disclosed herein includes an acquisition module 121 and a decoding module 122.
[0057] The acquisition module 121 is configured to acquire each prediction unit in the coding unit. The prediction unit includes a reference region and a non-reference region. The reference region is a region in the prediction unit that has a decoding dependency relationship with adjacent prediction units, and the non-reference region is a region in the prediction unit that does not have a decoding dependency relationship with adjacent prediction units.
[0058] The decoding module 122 is configured to, for the first prediction unit, first decode the reference region of the first prediction unit, and then decode the non-reference region of the first prediction unit. The decoding module 122 is also configured to, in response to the completion of decoding of the reference region that has a decoding dependency with the second prediction unit, initiate decoding of the second prediction unit.
[0059] In some embodiments, the structure and principle of the acquisition module 121 and the decoding module 122 correspond one-to-one with the steps in the method for intra-frame prediction described above, so they will not be repeated here.
[0060] In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, apparatuses, or methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules / units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or units may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of apparatuses or modules or units may be electrical, mechanical, or other forms.
[0061] The modules / units described as separate components may or may not be physically separate. The components shown as modules / units may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules / units can be selected to achieve the objectives of the embodiments of this disclosure, depending on actual needs. For example, the functional modules / units in the various embodiments of this disclosure may be integrated into one processing module, or each module / unit may exist physically separately, or two or more modules / units may be integrated into one module / unit.
[0062] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0063] This disclosure also provides a computer-readable storage medium. Those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing a processor. The program can be stored in a computer-readable storage medium, which is a non-transitory medium, such as random access memory, read-only memory, flash memory, hard disk, solid-state drive, magnetic tape, floppy disk, optical disk, and any combination thereof. The storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state drive (SSD)).
[0064] This disclosure also provides an electronic device. The electronic device includes a processor and a memory.
[0065] The memory is used to store computer programs. The memory includes various media capable of storing program code, such as ROM, RAM, magnetic disk, USB flash drive, memory card, or optical disk.
[0066] The processor is connected to the memory and is used to execute the computer program stored in the memory so that the electronic device performs the above-described method for intra-frame prediction.
[0067] In some embodiments, the processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc. In other embodiments, the processor may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0068] like Figure 13 As shown, the electronic device disclosed herein is represented in the form of a general-purpose computing device. The components of the electronic device may include, but are not limited to: one or more processors or processing units 131, memory 132, and bus 133 connecting different system components (including memory 132 and processing unit 131).
[0069] Bus 133 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0070] Electronic devices typically include a variety of computer-readable media. These media can be any available media that can be accessed by the electronic device, including volatile and non-volatile media, and removable and non-removable media.
[0071] Memory 132 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1321 and / or cache memory 1322. The electronic device may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 1323 may be used to read and write non-removable, non-volatile magnetic media (…). Figure 13 Not shown; usually referred to as a "hard drive"). Although Figure 13Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 133 via one or more data media interfaces. Memory 132 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of this disclosure.
[0072] A program / utility 1324 having a set (at least one) of program modules 13241 may be stored, for example, in memory 132. Such program modules 13241 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 13241 typically perform the functions and / or methods described in the embodiments of this disclosure.
[0073] The electronic device can also communicate with one or more external devices (e.g., keyboard, pointing device, display, etc.), one or more devices that enable a user to interact with the electronic device, and / or any device that enables the electronic device to communicate with one or more other computing devices (e.g., network interface card, modem, etc.). This communication can be performed through input / output (I / O) interface 134. Furthermore, the electronic device can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) through network adapter 135. Figure 13 As shown, network adapter 135 communicates with other modules of the electronic device via bus 133. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0074] The above embodiments are merely illustrative of the principles and effects of this disclosure and are not intended to limit this disclosure. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this disclosure. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this disclosure should still be covered by the claims of this disclosure.
Claims
1. A method for intra prediction, characterized in that, The method comprises: obtaining each prediction unit in a coding unit, the prediction unit comprising a reference region and a non-reference region, the reference region being a region in the prediction unit having a decoding dependency with a neighboring prediction unit, the non-reference region being a region in the prediction unit not having a decoding dependency with a neighboring prediction unit, and the prediction unit comprising a plurality of prediction calculation units, the plurality of prediction calculation units comprising a plurality of reference prediction calculation units corresponding to the reference region and a plurality of non-reference prediction calculation units corresponding to the non-reference region; decoding the reference region of the first prediction unit before decoding the non-reference region of the first prediction unit; and starting decoding of a second prediction unit in response to completion of decoding of the reference region of the second prediction unit having a decoding dependency with the second prediction unit, wherein decoding the reference region of the first prediction unit before decoding the non-reference region of the first prediction unit comprises decoding the plurality of prediction calculation units of the first prediction unit using a prediction loop, wherein the prediction loop comprises all steps required to be executed in sequence for decoding the prediction calculation units, and the steps are connected in a loop such that a last step of a current prediction calculation unit is connected to a first step of a next prediction calculation unit. Starting decoding of the second prediction unit comprises:
2. The method of claim 1, wherein, starting decoding of the second prediction unit in response to completion of decoding of the reference region of an associated prediction unit having a decoding dependency with the second prediction unit, without waiting for completion of decoding of the non-reference region of the associated prediction unit. The reference region comprises a reference column unit having a decoding dependency with a first neighboring prediction unit adjacent to the first prediction unit along a row direction, and a reference row unit having a decoding dependency with a second neighboring prediction unit adjacent to the first prediction unit along a column direction, 3. The method of claim 1, wherein, wherein decoding the reference region of the first prediction unit comprises decoding the reference column unit and the reference row unit of the first prediction unit in sequence. The second prediction unit is adjacent to the first prediction unit along the row direction, and wherein starting decoding of the second prediction unit comprises:
4. The method of claim 3, wherein, starting decoding of the second prediction unit in response to completion of decoding of the reference column unit of the first prediction unit having a decoding dependency with the second prediction unit. Starting decoding of the second prediction unit comprises:
5. The method of claim 4, wherein, starting decoding of the second prediction unit in response to completion of decoding of the reference column unit of the first prediction unit, without waiting for completion of decoding of the reference row unit and the non-reference region of the first prediction unit not having a decoding dependency with the second prediction unit. The method further comprises:
6. The method of claim 4, wherein, starting decoding of a third prediction unit in response to completion of decoding of the reference row unit of the first prediction unit and the reference row unit of the second prediction unit having a decoding dependency with the third prediction unit, wherein the third prediction unit is adjacent to the first prediction unit along the column direction. 7. The method of claim 1, wherein, The decoding of the second prediction unit is started including: When only one prediction loop is included, the reference region of the second prediction unit is preloaded after the decoding of the reference prediction calculation unit of the reference region of the first prediction unit is completed; and After the last non-reference prediction calculation unit of the non-reference region of the first prediction unit completes the first step of the prediction loop, a first reference prediction calculation unit of the reference region of the second prediction unit is input to the first step of the prediction loop.
8. The method of claim 1, wherein, The decoding of the second prediction unit is started including: When multiple prediction loops are included, the reference prediction calculation unit of the reference region of the second prediction unit is preloaded and input to the available prediction loop after the decoding of the reference prediction calculation unit of the reference region of the first prediction unit is completed.
9. The method of claim 1, wherein, Further including: The prediction mode of the decoding standard adopted is determined to determine whether the multiple prediction calculation units adopt a horizontal shape or a vertical shape.
10. The method of claim 1, wherein, Further including: It is determined whether there is a decoding dependency relationship between adjacent prediction units, including: The right side reference region and the lower side reference region of a previous prediction unit are obtained; It is determined whether the reference region required by a current prediction unit is included in the right side reference region and the lower side reference region of the previous prediction unit; If yes, it is determined that the current prediction unit depends on the previous prediction unit.
11. An apparatus for intra prediction, the apparatus comprising: Including: An obtaining module configured to obtain each prediction unit in a coding unit, the prediction unit including a reference region and a non-reference region, the reference region being a region of the prediction unit having a decoding dependency relationship with adjacent prediction units, the non-reference region being a region of the prediction unit not having a decoding dependency relationship with adjacent prediction units, and the prediction unit including multiple prediction calculation units, the multiple prediction calculation units including multiple reference prediction calculation units corresponding to the reference region and multiple non-reference prediction calculation units corresponding to the non-reference region; and A decoding module configured to: For a first prediction unit, decode the reference region of the first prediction unit first, and then decode the non-reference region of the first prediction unit; and Start the decoding of a second prediction unit in response to the completion of the decoding of the reference region having a decoding dependency relationship with the second prediction unit, Wherein the decoding module is configured to decode the multiple prediction calculation units of the first prediction unit using a prediction loop, wherein the prediction loop includes all steps required for the decoding of the prediction calculation units to be executed in sequence, and the steps are connected at both ends to complete the first step of a next prediction calculation unit based on the last step of a current prediction calculation unit.
12. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed to implement the method according to any one of claims 1-10.
13. An electronic device, comprising: Including: A memory configured to store an executable program; and A processor configured to execute the program to enable the electronic device to perform the method according to any one of claims 1-10.
Citation Information
Patent Citations
Parallel intra prediction method for video data
US20130266234A1
Image processing device and method, and program
US20200162756A1