The present invention generally relates to the field of encoding/decoding pictures, images or videos, and embodiments of the present invention concern improvements regarding the Intra prediction, more specifically, improvements regarding a decoder-side intra mode derivation, DIMD, process. More specific embodiments of the present invention relate to a DIMD intra prediction mode selection in a template area.
The encoding and decoding of a picture, an image or a video is performed in accordance with a certain standard, for example, in accordance with the advanced video coding, AVC standard (see “H.264: Advanced video coding for generic audiovisual services, https://www.itu.int/rec/T-REC-H.264-202108-P/en”), the high efficiency video coding, HEVC, standard (see “H.265: High efficiency video coding. https://www.itu.int/rec/T-REC-H.265-202108-P/en”) or the versatile video coding, VVC, standard (see “H.266: Versatile video coding, https://www.itu.int/rec/T-REC-H.266-202008-I/en”).
An intra prediction mode to be employed for decoding may be carried in a bit stream provided by the encoder and received by the decoder, the intra prediction mode may also be derived by using a gradient analysis of reconstructed pixels neighboring a currently processed coding unit, CU. In other words, the intra prediction mode is not explicitly indicated in the bit stream but is implicit. This approach is referred to as decoder-side intra mode derivation, DIMD, which may be signaled using a simple flag, and the actual intra mode is then derived during a reconstruction process. The encoder may encode into the bit stream information whether DIMD is used or not for the current CU, and in case DIMD is not used, the actual intra mode is signaled by the encoder and parsed from the bit stream by the decoder. There is a need to provide further improvements for the DIMD process.
The present invention provides a method of deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples of a coding unit, CU, of a picture, the method comprising: splitting a template area adjacent to the CU into a plurality of template area regions, separately selecting no, one or more Intra Prediction Modes, IPMs, in each template area region, wherein the selection involves a selection out of the separately determined IPMs for the entire CU or for one or more regions of the CU, determining blending weights using the selected IPMs, and generating the DIMD predictor by blending at least the selected IPMs using the determined blending weights.
The present invention provides a non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the inventive method.
The present invention provides an apparatus for deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples a coding unit, CU, of a picture, the apparatus comprising: a processor and a memory having executable instructions stored thereon. When the processor executes the executable instructions, the processor is configured to implement the inventive method.
It is to be understood that the content described in this section is not intended to identify key or critical features of the embodiment of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention become readily apparent from the following description.
The drawings are explanatory and serve to explain the present invention and are not to be construed to limit the present invention to the illustrated embodiments.
Illustrative embodiments of the present invention are described below with reference to the drawings, where various details of the embodiments of the present invention are included to facilitate understanding and are to be considered as illustrative only. Accordingly, those of ordinary skill in the art recognize that various changes and modifications of the embodiments described herein may be made without departing from the scope of the present invention. Also, descriptions of well-known functions and constructions are omitted from the following description for clarity and conciseness.
In the present invention, the term “and/or” is intended to cover all possible combinations and sub-combinations of the listed elements, including any one of the listed elements alone, any sub-combination, or all of the elements, and without necessarily excluding additional elements.
In the present invention, the phrase “at least one of . . . or . . . ” is intended to cover any one or more of the listed elements, including any one of the listed elements alone, any sub-combination, or all of the elements, without necessarily excluding any additional elements, and without necessarily requiring all of the elements.
In the present invention, the term “coding” refers to “encoding” or to “decoding” as becomes apparent from the context of the described embodiments. Likewise, the term “coder” refers to “an encoder” or to “a decoder”.
The encoding and decoding of a picture, an image or a video is performed in accordance with a certain standard, for example, in accordance with the advanced video coding, AVC standard, the high efficiency video coding, HEVC, standard or the versatile video coding, VVC, standard.
A block diagram of a standard video compression system 100 operating in accordance with the VVC standard is illustrated in
The video coder 100 as described with reference to
An encoded picture of a video sequence is decompressed and decoded by the decoder 150 as follows. The input bit stream 152 is entropy decoded by the decoder 156 which provides, for example, the block partitioning information, the coding mode for each coding unit, the transform coefficients contained in each transform block, prediction information, like intra prediction mode, motion vectors, reference picture indices, and other coding information. The block partitioning information indicates how the picture is partitioned and the decoder 150 may divide the input picture into coding tree units, CTUS, typically of a size of 64×64 or 128×128 pixels and divide each CTU into rectangular or square coding units, CUs, according to the decoded partitioning information. The entropy decoded quantized coefficients 172 are de-quantized 160 and inverse transformed 162 so as to obtain the decoded residual picture or CU 174. The decoded prediction parameters are used to predict the current block or CU, i.e., whether the predicted block is to be obtained through its intra prediction or through its motion-compensated temporal prediction. The prediction process performed at the decoder side is the same as the one performed at the encoder side. The decoded residual blocks 174 are added to the predicted block 176, thereby yielding the reconstructed current image block 164. The in-loop filters 166 are applied to the reconstructed picture or image which is also stored in the decoded picture buffer 180 to serve with the reference picture for future pictures to decode. As mentioned above, the decoded picture may further go through a post-decoding processing, for example for performing an inverse color transformation, for example a conversion from YCbCr 4:2:0 to RGB 4:4:4.
As mentioned above, the intra prediction mode to be employed for decoding may be carried in the bit stream provided by the encoder and received by the decoder, however, in accordance with other approaches, rather than introducing the actual intra prediction mode into the bit stream, the intra prediction mode may also be derived by using a gradient analysis of reconstructed pixels neighboring a currently processed CU. In other words, the intra prediction mode is not explicitly indicated in the bit stream but is implicit. This approach is referred to as decoder-side intra mode derivation, DIMD, which may be signaled using a simple flag, and the actual intra mode is then derived during the reconstruction process, like the reconstruction process performed by the prediction block 124/170 of the encoder 100 or the decoder 150. The encoder 100 may encode into the bit stream 120 information whether DIMD is used or not for the current CU, and in case DIMD is not used, the actual intra mode is signaled by the encoder and parsed from the bit stream by the decoder.
Further details of the DIMD approach in the documents, such as “E. Mora et al, “CE3-related: Decoder-side Intra Mode Derivation”, JVET-L0164, Macao, October 2018″, “CE3: Decoder-side Intra Mode Derivation (tests 3.1.1.3.1.2, 3.1.3 and 3.1.4), JVET-M0094, Marrakech, January 2019”, “M. Abdoli et al, E. Mora, T. Guionnet, M. Raulet, Non-CE3: Decoder-side Intra Mode Derivation with Prediction Fusion, JVET-N0342, Geneva, March 2019”, and “M. Abdoli et al, “Non-CE3: Decoder-side Intra Mode Derivation with Prediction Fusion Using Planar”, JVET-00449, Gothenburg, July 2019″. Conventionally, the DIMD process is based on a reconstructed template area adjacent to a currently processed CU which is three samples wide in width and height. The template area comprises a left area, an above area and an above-left area. These areas are also referred to in the following as a left template area region, an above template area region and an above-left template area region. In the template area respective edge detection filters, like 3×3 horizontal and vertical Sobel filters, are applied in order to determine the amplitude and angle of luminance directions or orientations for each middle line sample of the template area. A Histogram of Gradients, HoG, is computed, and each entry corresponds to a conventional intra angular mode and the cumulated intensities are stored:
with Ghor and Gver being the intensity of pure horizontal and vertical directions as calculated by the Sobel filters.
with w1 associated with IPM M1, w2 associated with IPM M2, and w3 associated to the Planar mode. Different modifications of the bending process are described in the prior art, for example, “J. Zhao et al, “EE2 Test 2.2: DIMD with multiple blending modes”. JVET-W0054, online, July 2021″ suggests selecting multiple blending modes based on a rate distortion optimization, “X. Li et al, “EE2-related: Implicit derivation of DIMD blend modes”, JVET-W0067, online, July 2021″ suggests deriving implicitly two out of three blending modes using the HoG, “J. Zhao et al, “EE2 Related-DIMD with implicitly derived multiple blending modes”, JVET-W0126, online, July 2021″ suggests implicitly deriving blending modes using template matching, and “S. Yoo et al, “EE2-related: Clean-up on DIMD”, JVET-Y0131, online, January 2022″ suggests different blending modes according to a number of determined DIMD modes. When DIMD is applied, one or two IPMs are derived from the reconstructed neighboring samples, i.e., from the template area, and in case two intra modes are derived, they are combined, i.e., blended, with the Planar mode predictor, conventional solutions always implement a global or CU-level weighted mixing of the two IPMs with Planar mode.
Conventionally, in the reconstructed part 252 of the picture 250 three columns and lines of reconstructed samples or pixels are used for the DIMD process, i.e., filters having fixed filtering windows of 3×3 samples and being located at the same position in the template area 258 are used to compute the HoG 260. In “CE3: Decoder-side Intra Mode Derivation (tests 3.1.1, 3.1.2, 3.1.3 and 3.1.4), JVET-M0094, Marrakech, January 2019”, a 3×3 Sobel filter 259 may be replaced by 3×2 filter when computing a gradient on a pixel located in the left column, top row or top-left sample and directly neighboring the current CU. In “Non-CE3: Decoder-side Intra Mode Derivation with Prediction Fusion Using Planar”, instead of using a 3×3 Sobel filter 259 on all pixels or samples in the middle line of the template area 258, the 3×3 Sobel filter 259 may be applied more sparsely, e.g., only at one middle line sample in the left template area and at one middle line sample in the above template area. Further aspects of the DIMD process are described, e.g., in
As described above, the HoG is computed on the basis of the entire template area that is adjacent to the currently processed CU and up to two peaks are selected as angular intra prediction modes to be blended using computed weights depending on the ratio of the cumulated amplitudes in the HoG so as to generate the DIMD predictor for the respective samples in the CU, as has been described above with reference to
There is a need to provide further improvements for the DIMD process.
S200: splitting a template area adjacent to the CU into a plurality of template area regions.
S202: separately selecting no Intra Prediction Mode, IPM, i.e., zero IPMs, one IPM or more than one IPM, in each template area region, wherein the selection involves a selection out of the separately determined IPMs for the entire CU or for one or more regions of the CU. For example, 1 or more IPMs may be selected for each template area region, however, also 0, 1, or more than 1 IPMs per each template region may be selected, i.e., IPM per region. In accordance with embodiments, a maximum IPM number may be allocated for the entire template area.
S204: determining blending weights using the selected IPMs.
S206: generating the DIMD predictor by blending at least the selected IPMs using the determined blending weights.
In other words, embodiments of the present invention provide a method which splits the template area in regions, computes a HoG per each region, determines and selects IPM(s) from peaks in HoG of these regions, and, eventually, computes the blending weights from a HoGs computed for an area including at least a plurality of the template area regions, e.g., the entire template area. Stated differently, the HoGs per each region are used to select the one or more IPMs on the basis of which the prediction is to be performed, however, for determining the blending weights a more global HoG created over some or all regions, e.g., over the entire template area, is used, more specifically the cumulated amplitudes for the selected IPM included in the global HoG.
It is noted that the present invention is not limited to determining the IPM statistics, on the basis of which the one or more IPMs are selected, on the basis of a HoG. In accordance with other embodiments, other approaches may be applied for determining g the IPM statistics, e.g., a Hough transform or a gradient-based Hough transform may be used on a filtering window size in order to determine directions for each center pixel (of the filtering window) and then a histogram of found directions may allow selecting the peak direction (and the matching IPM).
In accordance with embodiments of the present invention, the IPM selection is carried out in respective template area regions.
In accordance with embodiments of the present invention, constrains on the selection of IPMs per template area region are provided so that a portion of the current CU 256 may be better predicted. An advantage of the embodiments of the present invention is to be seen in the fact that the content characteristics may be adjusted locally as different IPMs better match to different regions of the currently processed or predicted CU 256. Contrary to the inventive approach, conventional approaches select only the two best IPMs from the entire template area, however, a certain template area region may have content characteristics showing slightly different directions or angles so that the number of possible IPMs, for example, 67 IPMs without counting wide angular intra modes, may create wide peaks in the HoG for which the selected modes may match in most of the template area regions but may not suit the best local characteristics of a specific template area region. Thus, other than conventional approaches in accordance with which the HoG is computed on the whole template area and the two highest peaks in the HoG are selected as the two IPMs, in accordance with embodiments of the present invention, an HoG is computed per template area region, i.e., there is one HoG for the above template area region 258b, one HoG for the left template area region 258a and one HoG for the above-left template area region 258c. Further, a predetermined or maximum number of IPMs are allocated for each of the mentioned template area regions, and the IPMs in each template area region are selected as the peak of cumulated amplitudes in the respective template area region HoG.
It is noted that the present invention is not limited to selecting only one IPM from the respective template area regions, rather, more than one IPMs or no IPM may be selected per template area.
In accordance with embodiments, the number of IPMs per template area region may depend on a size/shape of a currently processed CU 256. For example, if the current CU 256 has a height that is larger than the width, two IPMs may be selected for the left template area region, one IPM may be selected for the above template area region and one IPM may be selected for the above-left template area region. In accordance with other embodiments, one IPM may be selected for the left and the above-left template area regions while no IPM is selected for the above template area region. In accordance with yet other embodiments, one IPM may be selected for the left and above template area regions and no IPM may be selected for the above-left template area region.
For example, when considering the size of the current CU, the total number of IPMs (for the entire template area) is higher for a big CU size (e.g. 16×16 and above) and lower for smaller CU size (e.g. 4×4, 8×8 and less). The total number of IPMs is selected for the entire template area and then those IPMs are spread on each region with a bigger region having the most IPMs and the smaller region having less IPMs. For example, if 4 IPMs can be selected for a 16×16 CU, 2 IPMs may be in the template area region along the longer side, 1 (or 2) IPMs may be in the template area region along the shorter side and 0 (or 1) IPM may be in the above-left template area region.
In accordance with further embodiments, in case two or more angular IPMs may be selected, so that, for example, in case of selecting three IPMs, two IPMs may be selected for the larger template area region, i.e., the template area region having the most samples/pixels already reconstructed, and the remaining IPM may be selected from the second largest template area region. In case two IPMs are to be selected, for example, with a third mode being the Planar or DC mode, the two IPMs may be selected in the largest template area region.
In accordance with yet further embodiments, different IPMs or the same IPMs may be selected for each template area region. For example, the two best IPMs may be selected for the above template area region from the HOGabove, one best IPM may be selected for the above-left template area from the HOGabove-left, and the two best IPMs for the left template area region may be selected from the HoGleft, yielding a total of five different IPMs of which some or all may be the same IPMs.
In accordance with yet other embodiments, in case the number of IPMs to be selected is greater than two, two IPMs may be selected in the template area region where a maximum cumulated amplitude is present, wherein the maximum cumulated amplitude may be determined from the peak value of a cumulated amplitude provided by a global HoG computed over the entire template area 258. The remaining IPMs may be selected in those one or more template regions where the maximum cumulated amplitude as derivable from the respective local HoGs is the highest. For example, in case of three IPMs to be selected, if the greatest amplitude in the global HoG is present in above template area region, two IPMs having the highest cumulated amplitude are selected in the above template region, and then the highest amplitude from the local HoGs for the above-left and the left template area regions are compared, and the last IPM is selected from that region in which the local HoG indicates the highest cumulated amplitude. This principle may be repeated in case of selecting more IPMs.
In accordance with embodiments, only one IPM may be selected in the template area region having the maximum cumulated amplitude in the global HoG, while the other IPM may be selected in another template region, for example, one IPM may be selected in each template area region, and/or the remaining IPM may be selected from the template area region having the most samples or the template area adjacent to the longer side of the CU 256.
In accordance with yet other embodiments, the selected IPM in the different template area regions may be different. If, however, two selected IPMs are identical in different template regions, a second peak in the local HoG computed on the respective template area region may be selected. In accordance with other embodiments, in case two selected IPMs are identical in different template area regions, the selected IPMs computed on the basis of the local template area region HoG may be discarded and only the IPM associated with the first template area region may be kept.
In accordance with yet other embodiments, a total number of IPMs to be selected may be fixed. For example, if the total number of possible IPMs is two, one IPM may be selected in the above template area region and the other one may be selected in the left template area region, and no IPM may be selected in the above-left template area region.
In accordance with embodiments, the blending weights may be computed by initially selecting the IPMs using, e.g., the HoG, and then the blending weight for a selected IPM is determined by weighting a first value obtained from one or more predefined characteristics, like the cumulated amplitude or any other suitable characteristic, associated with the one or more selected IPMs on the basis of the number of selected IPMs. Optionally, in addition to the blending weights of the IPMs, also a blending weight of a Planar or DC mode may be determined only on the basis of the number of selected IPMs.
Further, more detailed embodiments for determining or setting the blending weights are now described, without limiting the present invention to these embodiments. As described above, the IPM selection may be performed on a per template area region HoG, however, the actual IPM blending weights to be used are computed on the basis of the accumulated amplitudes obtained from an HoG for the entire template area. The blending weights may be adjusted according to the number of selected different IPMs, so that, for example, in case N angular IPMs are selected and merged (optionally, also with the Planar or DC mode), the weights for each IPM may be computed as follows:
with wi being the blending weight of the i-th IPM, Mi being the i-th selected IPM, i belongs to [1, N], ampl (X) being the cumulated amplitude of the IPM X in the global HoG, N being the number of selected angular IPM, wplanar is the blending weight of Planar mode.
In the embodiments described so far, the blending weights are derived using the cumulated amplitudes obtained from a global HoG obtained over the entire template area 258. In accordance with other embodiments, the blending weights may be derived from the ratio of the cumulated amplitudes extracted from a HoG that is computed over those template area regions for which an IPM is selected.
In accordance with yet other embodiments, the Planar mode may be replaced by the DC mode in any of the described embodiments.
In accordance with yet other embodiments, only the IPMs may be used, and the blending weights may be adjusted as follows:
In accordance with yet other embodiments, the blending weights may be computed from a ratio of the selected IPM amplitude extracted from a local HoG with the other selected IPM cumulated amplitudes extracted from the global HoG or local HoG (i.e. numerator of above equation rests upon amplitude collected on local HoG and denominator on amplitudes collected on either local or global HoG).
In accordance with the above-described embodiments of the present invention, the HoGs are created for the left, above and above-left template area regions. However, the present invention is not limited to dividing the overall template area 258 in such a way. Rather, the template area may be separated in other template area regions. For example, the CU 256 may be split into a plurality of regions along one or more vertical and one or more horizontal lines, and when extending the respective vertical/horizontal lines creating the respective CU regions in the CU 256 into the template area 258, the template area 258 is separated into respective template area regions being adjacent to respective CU regions, and the template area regions may also be referred to as partial template area regions.
In accordance with further embodiments, the above principles of generating local HoGs may also be applied, so that respective local HoGs are generated for the above-described partial template area regions 258a-258c for selecting respective IPMs to be used for the DIMD process.
So far, the inventive concept has been described with reference to aspects and embodiments concerning methods for determining a DIMD predictor. In accordance with further embodiments, the present invention also provides an apparatus of deriving DIMD predictor as well as encoders/decoders including such an apparatus.
302: A template area splitting module configured to split a template area adjacent to the CU into a plurality of template area regions.
304: An Intra Prediction Mode, IPM, selection module configured to select no, one or more Intra Prediction Modes, IPMs, in each template area region, wherein the selection involves a selection out of the separately determined IPMs.
306: A blending weight determination module configured to determine blending weights using the selected IPMs.
308: A DIMD predictor generation module configured to generate the DIMD predictor by blending at least the selected IPMs using the determined blending weights.
402: a decoder module configured to decode from the encoded data stream the picture.
404: a prediction module including an apparatus for deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples of a coding unit, CU, of the picture in accordance with embodiments of the present invention.
502: an encoder module configured to receive the original picture and to encode the picture into the encoded data stream.
504: a prediction module, the prediction module including an apparatus for deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples of a coding unit, CU, in accordance with embodiments of the present invention.
The present invention provides an apparatus for encoding a picture into an encoded data stream, the encoded data stream including data representing the picture, the apparatus comprising:
The present invention provides a method of deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples of a coding unit, CU, of a picture, the method comprising:
Optionally, a number of selected IPMs per template area region depends on the size of the CU, wherein
Optionally, a number of selected IPMs per template area region depends on a size of the CU, and a first number of IPMs is selected in case the CU has a first size, and a second number of IPMs is selected in case the CU has a second size, the second size being higher larger than the first size.
Optionally, for each template area region a predefined number of IPMs is selected, wherein the predefined number is the same or is different for the respective template area regions.
Optionally, a first number of IPMs is selected in the template area region having a maximum cumulated amplitude among all template area regions, and a second number of IPMs is selected in the other template area regions, wherein the first number is higher than the second number.
Optionally, if two or more selected IPMs are identical in different template area regions, the IPM for the first or last processed template area region is selected and kept, and the other identical IPMs are discarded.
Optionally, a total number of selectable IPMs is fixed.
Optionally, the blending weight for a selected IPM is determined by weighting a first value obtained from one or more predefined characteristics associated with the one or more selected IPMs on the basis of the number of selected IPMs, and, optionally, in addition to the blending weights of the IPMs, further a blending weight of a Planar or DC mode is determined only on the basis of the number of selected IPMs.
Optionally,
Optionally, the plurality of template area regions of the template area comprises
The present invention provides a non-transitory computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to carry out the inventive method.
The present invention provides an apparatus for deriving a Decoder-side Intra Mode Derivation, DIMD, predictor for respective samples a coding unit, CU, of a picture, the apparatus comprising:
The present invention provides an apparatus for decoding an encoded data stream, the encoded data stream including data representing a picture, the apparatus comprising:
The present invention provides an apparatus for encoding a picture into an encoded data stream, the encoded data stream including data representing the picture, the apparatus comprising:
The technical solutions provided according to embodiments of the present invention have the following beneficial effects.
As has been described above with reference to conventional approaches, the HoG is computed on the basis of the entire template area. However, it has been found that the conventional approaches are disadvantageous, more specifically the computing of the HoG on the basis of the entire available template area which results in the selection of the one or more IPMs independent of their location in the template area. Due to the fine granularity of angular intra prediction modes, two consecutive modes with the same directions in the same portion of the template area may be selected while other strong directions may be present in other portions of the template area which may be closer, in terms of sample distance/similarity, to a portion of a CU that is currently predicted. This results in a suboptimal DIMD predictor generation.
Although some aspects of the disclosed concept have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or a device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.
Components in the device 900 are connected to the I/O interface 905, including: an input unit 906, such as a keyboard, a mouse; an output unit 907, such as various types of displays, speakers; a storage unit 908, such as a disk, an optical disk; and a communication unit 909, such as network cards, modems, wireless communication transceivers, and the like. The communication unit 909 allows the device 900 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks. The computing unit 901 may be formed of various general-purpose and/or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 901 include, but are not limited to, a central processing unit (CPU), graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 901 performs various methods and processes described above, such as an image processing method. For example, in some embodiments, the image processing method may be implemented as computer software programs that are tangibly embodied on a machine-readable medium, such as the storage unit 908. In some embodiments, part or all of the computer program may be loaded and/or installed on the device 900 via the ROM 902 and/or the communication unit 909. When a computer program is loaded into the RAM 903 and executed by the computing unit 901, one or more steps of the image processing method described above may be performed. In some embodiments, the computing unit 901 may be configured to perform the image processing method in any other suitable manner (e.g., by means of firmware).
Various implementations of the systems and techniques described herein above may be implemented in digital electronic circuitry, integrated circuit systems, field programmable gate arrays (FPGA), application specific integrated circuits (ASIC), application specific standard products (ASSP), system-on-chip (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpretable on a programmable system including at least one programmable processor, and the programmable processor may be a special-purpose or general-purpose programmable processor, and may receive data and instructions from a storage system, at least one input device and at least one output device, and may transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
Program code for implementing the methods of the present invention may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general computer, a dedicated computer, or other programmable data processing device, such that the program codes, when executed by the processor or controller, cause the functions and/or operations specified in the flow diagrams and/or block diagrams is performed. The program code can be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on a machine and partly on a remote machine or entirely on a remote machine or server.
In the context of the present invention, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), fiber optics, compact disc read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
To provide interaction with a user, the systems and techniques described herein may be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD)) for displaying information for the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which a user can provide an input to the computer. Other types of devices can also be used to provide interaction with the user, for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be in any form (including acoustic input, voice input, or tactile input) to receive the input from the user.
The systems and techniques described herein may be implemented on a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computer system including such a backend components, middleware components, front-end components or any combination thereof. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of the communication network includes: Local Area Networks (LAN), Wide Area Networks (WAN), the Internet and blockchain networks.
The computer system may include a client and a server. The Client and server are generally remote from each other and usually interact through a communication network. The relationship of the client and the server is generated by computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system, and solves the defects of difficult management and weak business expansion in traditional physical hosts and virtual private servers (“VPS” for short). The server may also be a server of a distributed system, or a server combined with a blockchain.
It should be understood that the steps may be reordered, added or deleted by using the various forms of flows shown above. For example, the steps described in the present invention may be executed in parallel, sequentially, or in different orders, as long as the desired results of the technical solutions in the present invention can be achieved, and no limitation is imposed herein.
The above-mentioned specific embodiments do not limit the scope of protection of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and replacements may be made depending on design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the principles of the present invention should be included within the protection scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
22167220.7 | Apr 2022 | EP | regional |
This application is the U.S. National Stage Application of International Application No. PCT/CN2023/079418, filed on Mar. 2, 2023, which is based on and claims priority to the European Patent Application No. “22167220.7”, filed on Apr. 7, 2022, the entire content of which is incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2023/079418 | 3/2/2023 | WO |