Method and device for video encoding and decoding based on nonlinear geometric partitioning mode
Non-linear geometric partitioning modes in video encoding and decoding enhance compression efficiency by improving predictive encoding precision, addressing the challenge of high compression ratios and image quality degradation in existing technologies.
Patent Information
- Application Number
- PCT/KR2025/007772
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-05
- Filing Date
- 2025-06-05
- Publication Date
- 2025-12-11
AI Technical Summary
Existing digital video encoding and decoding technologies face challenges in achieving high compression ratios while minimizing image quality degradation, particularly in terms of computational resources and time consumption, which can interfere with the production, recording, and distribution of digital videos.
Implementing a method for video encoding and decoding that utilizes geometric partitioning modes defined by non-linear functions, such as polynomial equations and Bezier curves, to segment and combine decoded images, enhancing predictive encoding precision and improving video compression efficiency.
The use of non-linear geometric partitioning modes improves predictive encoding performance, leading to enhanced video compression efficiency and reduced computational resources.
Smart Images

Figure KR2025007772_11122025_PF_FP_ABST
Abstract
Description
Method and device for video encoding and decoding based on nonlinear geometric partitioning mode
[0001] The present invention relates to the field of encoding and decoding of digital video, and relates to a method for encoding and decoding digital video, a method for recording such data, and components, devices, and systems for realizing such a method.
[0002] The present invention may be in the same technical field as at least one of the digital video compression technology standards known by the names of standards such as MPEG-2, MPEG-4 Video, H.263, H.264 / AVC, H.265 / HEVC, H.266 / VVC, VC-1, AV1, QuickTime, VP-9, VP-10, and Motion JPEG, or may be in the technical field for improving the inherent efficiency of the standards, or may be in the technical field for improving or replacing the standards.
[0003] Digital video encoding and decoding are widely used in various digital video applications. For example, digital television broadcasting, video transmission over communication networks, video calls / video conversations / video chats, recording and providing video content using optical media including video compact discs (VCDs), digital versatile discs (DVDs), and Blu-Rays, all processes for producing, editing, collecting, and distributing video content, and devices such as video recording devices and camcorders for various purposes, including personal, commercial, industrial, and security purposes, all depend on video encoding and decoding technologies.
[0004] Accordingly, implementations that may be referred to as digital video encoders and decoders may form part of a wide range of devices related to the generation, recording, and provision of digital video, including digital televisions, digital broadcasting systems, wireless broadcasting systems, computers in the form of notebooks / desktops / tablets, e-book readers, digital cameras, digital recording devices, digital multimedia playback devices, video game devices / terminals / consoles, mobile phones (including smartphones) with multimedia playback capabilities, equipment for video conferencing, and other devices.
[0005] The above digital video encoders and decoders can be implemented by a digital video compression standard that is widely used and understood by those skilled in the art. The digital video compression standard may include at least one of compression standards known by a standard name such as MPEG-2, MPEG-4 Video, H.263, H.264 / AVC, H.265 / HEVC, H.266 / VVC, VC-1, AV1, QuickTime, VP-9, VP-10, and Motion JPEG.
[0006] Video encoders and decoders can be implemented to more efficiently encode or decode digital video information while complying with the above standards, or by improving or modifying the above standards. Attempts to modify the above standards can also lead to the development of new standards. A well-known example is the so-called enhanced compression model (ECM), an attempt to improve and replace the existing H.266 / VVC standard, currently being developed by the Joint Video Experts Team (JVET), a joint international standardization group of ISO, IEC, and ITU-T.
[0007] Digital video is known to require a significant amount of information to describe its content in its uncompressed state. Therefore, recording or transmitting this information in its original form can be inefficient. Therefore, digital video is compressed using various methods prior to recording or transmission. These compression methods include lossy and lossless encoding. Lossy encoding sacrifices some image quality to achieve high compression performance, while lossless encoding sacrifices some compression performance to prevent image quality degradation. Regardless of the encoding method, there is a need to implement a technology that achieves a high compression ratio while minimizing image quality degradation to meet the growing demand for high-quality digital video within the constraints of limited memory storage capacity and communication transmission bandwidth.
[0008] As described above, the encoding process for compression requires various operations, such as spatial segmentation of digital video, segmentation and / or processing in color channels, removal of spatial redundancy, removal of temporal redundancy, tracking of motion vectors within the video, encoding of differential images, quantization, coefficient scan, run-length coding, entropy coding, and loop filtering. These encoding operations generally consume computing resources and take a certain amount of time to complete. Similarly, the decoding operation for the encoding operation also requires certain computing resources and a certain amount of time. The main goal of video encoding and decoding technology is to ensure that the above resource consumption and time consumption do not interfere with the production, recording, distribution, and viewing of digital videos.
[0009] Accordingly, the present invention provides a new technology that can contribute to at least one of the following: improvement of encoding efficiency, improvement of decoding efficiency, improvement of video quality, reduction of computational amount, reduction of software size, reduction of hardware size, and improvement of other performances related to encoding and decoding in the technical tasks in the field of video encoding and decoding.
[0010] According to an embodiment of the present invention for solving the above-described technical problem, a method for decoding an encoded video bitstream includes the steps of reading information on a geometric partitioning mode of an encoding unit from the bitstream, determining a first region and a second region by dividing the encoding unit based on the geometric partitioning mode information, decoding encoding information on the first region to generate a first decoded image, decoding encoding information on the second region to generate a second decoded image, and combining the first decoded image and the second decoded image based on the geometric partitioning mode information to generate a combined decoded image, wherein the information on the geometric partitioning mode information may include information on a partitioning boundary line defined by a non-linear function.
[0011] Information about the above division boundary line may be characterized by including at least one polynomial equation coefficient.
[0012] Information about the above division boundary is the quadratic equation y=a1x 2 It may be characterized by including at least one of the coefficients a1, a2, and a3 constituting +a2x+a3.
[0013] Information about the above division boundary is the cubic equation y=a1x 3 +a2x 2It may be characterized by including at least one of the coefficients a1, a2, a3, and a4 constituting +a3x+a4.
[0014] Information about the above division boundary is conic curve a1x 2 +a2xy+a3y 2 It may be characterized by including at least one of the coefficients a1, a2, a3, a4, a5, and a6 constituting +a4x+a5y+a6=0.
[0015] Information about the above division boundary line may be characterized by including coordinates of a starting point, an end point, and at least one control point defining a Bezier curve.
[0016] The information about the segmentation boundary line may include information about the thickness of the segmentation boundary line, and the step of generating the combined decoded image may include a step of gradually combining the first decoded image and the second decoded image based on the information about the thickness of the segmentation boundary line.
[0017] At least one of the step of generating the first decoded image and the step of generating the second decoded image may be characterized in that it is performed based on intra prediction decoding.
[0018] At least one of the step of generating the first decoded image and the step of generating the second decoded image may be characterized in that it is performed based on inter prediction decoding.
[0019] According to an embodiment of the present invention for solving the above-described technical problem, a video encoding method includes a step of calculating information on a segmentation boundary from image information of an encoding unit, a step of generating geometric segmentation type information based on the segmentation boundary, a step of determining a first region and a second region by segmenting the encoding unit based on the geometric segmentation type information, and a step of recording the geometric segmentation type information in an encoding bitstream, wherein the information on the geometric segmentation type information may be characterized in that it includes information on a segmentation boundary defined by a non-linear function.
[0020] The step of calculating information on the segmentation boundary line may include the step of detecting at least one edge from an image of the encoding unit, and the step of generating information forming the segmentation boundary line based on the at least one edge.
[0021] The step of calculating information about the above segmentation boundary line may further include the step of removing noise from at least one detected edge, and the step of sampling some of the at least one edge.
[0022] The step of generating information forming the above segmentation boundary line may include the step of calculating at least one polynomial equation coefficient based on the at least one edge.
[0023] The step of generating information forming the above division boundary line is a quadratic equation y=a1x 2 It may include a step of calculating at least one of coefficients a1, a2, and a3 constituting +a2x+a3.
[0024] The step of generating information forming the above division boundary line is the cubic equation y=a1x 3 +a2x 2It may include a step of calculating at least one of coefficients a1, a2, a3, and a4 constituting +a3x+a4.
[0025] The step of generating information forming the above division boundary line is a conic curve a1x 2 +a2xy+a3y 2 It may include a step of calculating at least one of coefficients a1, a2, a3, a4, a5, and a6 constituting +a4x+a5y+a6=0.
[0026] The step of calculating information about the above-described segmentation boundary line may include the step of calculating coordinates of a starting point, an end point, and at least one control point defining a Bezier curve based on the at least one edge.
[0027] The step of calculating information about the above segmentation boundary line may further include the step of calculating a thickness of the above segmentation boundary line based on the at least one edge.
[0028] According to an embodiment of the present invention for solving the above-described technical problem, a decoder device for decoding an encoded video bitstream includes a processor, a memory, a bitstream parser, a prediction decoding unit, and a geometric partitioning processing unit, wherein the bitstream parser is configured to read information on a geometric partitioning mode of an encoding unit from the bitstream, the prediction decoding unit is configured to determine a first region and a second region by partitioning the encoding unit based on the geometric partitioning mode information, to decode encoding information on the first region to generate a first decoded image, and to decode encoding information on the second region to generate a second decoded image, and the geometric partitioning processing unit is configured to combine the first decoded image and the second decoded image based on the geometric partitioning mode information to generate a combined decoded image, and the information on the geometric partitioning mode information may be characterized in that it includes information on a partitioning boundary line defined by a non-linear function.
[0029] According to an embodiment of the present invention for solving the above-described technical problem, a video encoding device includes a processor, a memory, a geometric segmentation unit, and a bitstream recording unit, wherein the geometric segmentation unit is configured to calculate information on a segmentation boundary line from image information of an encoding unit, generate geometric segmentation type information based on the segmentation boundary line, and segment the encoding unit based on the geometric segmentation type information to determine a first region and a second region, and the bitstream recording unit is configured to record the geometric segmentation type information in an encoding bitstream, and the information on the geometric segmentation type information may be characterized in that it includes information on a segmentation boundary line defined by a non-linear function.
[0030] According to the present invention, since the operation of the geometric division mode becomes more precise, the performance of predictive encoding is improved, and thus the video compression efficiency can be improved.
[0031] Figure 1 is a conceptual diagram of a video communication system according to one embodiment of the present invention;
[0032] FIG. 2 is a conceptual diagram of the arrangement of an encoder and decoder in a real-time video streaming environment according to one embodiment of the present invention.
[0033] Figure 3 is a conceptual diagram of a functional unit of a video decoder according to one embodiment of the present invention;
[0034] Figure 4 is a functional unit conceptual diagram of a video encoder according to one embodiment of the present invention;
[0035] Figure 5 is a conceptual diagram of a frame type according to one embodiment of the present invention;
[0036] Figure 6 is a conceptual diagram showing the structure of a video encoder using VVC.
[0037] FIG. 7 is a conceptual diagram illustrating a geometric segmentation prediction mode according to one embodiment of the present invention;
[0038] Figure 8 is an example of a nonlinear segmentation boundary line according to one embodiment of the present invention;
[0039] FIG. 9 is a conceptual diagram illustrating a process for calculating information on a segmentation boundary line according to one embodiment of the present invention; and
[0040] Figure 10 is a conceptual diagram related to the thickness of a division boundary line according to one embodiment of the present invention.
[0041] The present invention is susceptible to various modifications and embodiments. Specific embodiments are illustrated and described in detail in the drawings. However, this is not intended to limit the present invention to specific embodiments, but rather to encompass all modifications, equivalents, and alternatives falling within the spirit and technical scope of the present invention.
[0042] Although terms such as "first" and "second" may be used to describe various components, the components should not be limited by these terms. These terms are used solely to distinguish one component from another. For example, without departing from the scope of the present invention, the first component could be referred to as the "second component," and similarly, the second component could also be referred to as the "first component." The term "and / or" includes any combination of multiple related listed items or any of multiple related listed items, and is non-exclusive unless otherwise indicated. The listing of items in this specification is merely an exemplary description to facilitate the spirit and possible implementation methods of the invention herein, and therefore is not intended to limit the scope of embodiments of the present invention.
[0043] As used herein, "A or B" can mean "only A," "only B," or "both A and B." In other words, as used herein, "A or B" can be interpreted as "A and / or B." For example, as used herein, "A, B or C" can mean "only A," "only B," "only C," or "any combination of A, B and C."
[0044] As used herein, a slash ( / ) or a comma can mean "and / or." For example, "A / B" can mean "A and / or B." Accordingly, "A / B" can mean "only A," "only B," or "both A and B." For example, "A, B, C" can mean "A, B, or C."
[0045] In this specification, "at least one of A and B" may mean "only A", "only B" or "both A and B". Additionally, in this specification, the expressions "at least one of A or B" or "at least one of A and / or B" may be interpreted identically to "at least one of A and B".
[0046] Additionally, in this specification, “at least one of A, B and C” can mean “only A,” “only B,” “only C,” or “any combination of A, B and C.” Additionally, “at least one of A, B or C” or “at least one of A, B and / or C” can mean “at least one of A, B and C.”
[0047] When a component is referred to as being "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components intervening. Conversely, when a component is referred to as being "directly connected" or "connected" to another component, it should be understood that there are no other components intervening.
[0048] The terminology used herein is merely used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, it should be understood that the terms "comprises" or "has" indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0049] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by those of ordinary skill in the art to which this invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined herein.
[0050] In describing the invention herein, embodiments may be described or illustrated in terms of unit blocks that perform the described function or functions. The blocks may be expressed herein as one or more devices, units, modules, parts, etc. The blocks may be implemented in hardware by one or more logic gates, integrated circuits, processors, controllers, memories, electronic components, or information processing hardware implementation methods, but not limited thereto. Alternatively, the blocks may be implemented in software by application software, operating system software, firmware, or information processing software implementation methods, but not limited thereto. A single block may be implemented by being separated into multiple blocks that perform the same function, or conversely, a single block may be implemented to perform the functions of multiple blocks simultaneously. The blocks may also be implemented by being physically separated or combined according to any criteria. The blocks may be implemented to operate in an environment where their physical locations are not specified and are separated from each other by a communication network, the Internet, a cloud service, or a communication method, but not limited thereto. All of the above implementation methods are within the scope of various embodiments that can be taken by a person skilled in the field of information and communication technology to implement the same technical idea, and therefore, any detailed implementation method should be interpreted as being included within the scope of the technical idea of the invention in this specification.
[0051] Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings. To facilitate a comprehensive understanding of the present invention, the same reference numerals will be used for identical components in the drawings, and redundant descriptions of identical components will be omitted. Furthermore, the multiple embodiments are not mutually exclusive, and it is assumed that some embodiments may be combined with one or more other embodiments to form new embodiments.
[0052]
[0053] digital video codec
[0054] Figure 1 is a conceptual diagram of a video communication system according to one embodiment of the present invention. The video communication system (100) may be configured to include at least two terminals (110, 120) connected to each other via a network (105).
[0055] In one embodiment of the present invention, the above-described FIG. 1 may refer to a block diagram for configuring a unidirectional video communication network. A first terminal (110) among the terminals may encode video data in order to transmit (111) the video data via a network (105). A second terminal (120) among the terminals may be configured to receive (121) the encoded video data via a network and decode and display the same.
[0056] In another embodiment of the present invention, the above-described FIG. 1 may refer to a block diagram for configuring a two-way video communication network. For the two-way video communication, each terminal (110, 120) may be configured to encode video data acquired by itself for video transmission (112, 122) to each other terminal via the network. Each terminal may also be configured to receive (113, 123) video data transmitted by another terminal via the network, decode the same, and display the decoded video data.
[0057] The terminals (110, 120) shown in Fig. 1 may be exemplified as devices such as server computers, personal computers, portable computers, and smartphones, depending on the embodiment, but are not limited thereto. The present invention is applicable to all environments for establishing a one-way or two-way video communication network, and it should be understood that the network (105) may be established by any means for transporting encoded video data between the terminals (110, 120).
[0058] In one embodiment of the present invention, the network (105) may refer to a wired or wireless communication network. Depending on the embodiment, the network may be configured to communicate information using any communication standard, which may include packet-based communication. The packet communication may be understood to include packets, for example, known as TCP or UDP.
[0059] However, in another embodiment of the present invention, the network (105) may be understood to include a process of information transmission using a recording medium. In this case, the configuration of the network is not limited to a communication medium, and should be understood to include a process of temporarily storing and physically transporting information on a hard disk, a solid state disk (SSD), a flash memory, a compact disc (CD), a digital versatile disc (DVD), a Blu-ray disc, and other mechanical, electronic, or optical recording media.
[0060] Any other means of information communication or transport, regardless of the method employed, can be considered within the scope of the present invention as long as it has a structure that supports the transmission and decoding of video data in an encoded state. Therefore, in addition to the examples listed above, any means of information communication or transport, whether known in the past or newly available, can fall within the scope of application of the present invention.
[0061] FIG. 2 is a conceptual diagram illustrating the arrangement of an encoder and decoder in a real-time video streaming environment according to one embodiment of the present invention. The streaming system (200) illustrated in FIG. 2 can be applied to video data communication networks, including, for example, digital broadcasting, video telephony, and video conferencing. However, it should be noted that technical structures identical or similar to the streaming system can be equally applied even when information is transmitted via a recording medium, as described above.
[0062] According to one embodiment of the present invention, the streaming system may include a video source (210) that generates a video stream. The video source may include a digital video acquisition means (212), which may be, for example, a digital camera or other device, for acquiring uncompressed raw video. The raw video stream (215) may have a large capacity and may therefore be compressed by a video encoder (217) coupled or connected to the video source.
[0063] The above encoder (217) may be configured as a means including hardware, software, or a combination of the two, configured to implement an image encoding method and / or an implementation method thereof according to one embodiment of the present invention.
[0064] Through the encoder (217), an encoded bitstream (219) having a reduced capacity compared to the original video stream can be output. The bitstream (219) can be provided in real time via a relay device, which may be referred to as a streaming server (220), and / or can be stored in a recording medium (225) of the streaming server (220) for subsequent use.
[0065] The streaming system (200) may include at least one streaming client (230, 240) that connects to the streaming server (220) to receive the encoded bit string (229) in real time or obtain it later. The streaming client may include a video decoder (232) that obtains the encoded bit string (229) (which may also be considered as a copy of the bit string (219) received by the streaming server), decodes the bit string (229), and outputs the resulting video data as video data in a form that can be displayed by a display (235) or other visual, auditory, or other sensory display means.
[0066] As described above, the functions for encoding and decoding video data are collectively called a coder-and-decoder, or video codec.
[0067] FIG. 3 is a conceptual diagram of a functional unit of a video decoder according to an embodiment of the present invention. As shown in FIG. 3, a receiving unit (310) can receive at least one encoded video data to be decoded by a decoder (305). In an embodiment of the present invention, the encoded video data may be independent for each reception, and the decoding procedure of each independent video data may be independent from the decoding procedure of other video data. The encoded video data may be received by the receiving unit (310) through a hardware or software connection (315) to a device storing the same, and as described above, the storing device may be a type of streaming server located at the other end of a communication network, or may mean a physical recording medium, but is not limited thereto.
[0068] The above-described receiving unit (310) can receive the encoded video data together with other data accompanying it, such as encoded audio data or other auxiliary data, and each of the data can be separated from the video data and provided to an appropriate processing function unit (312) other than the video decoder.
[0069] When the video data is provided through a communication network, a buffer memory (320) may be coupled between the receiving unit (310) and the decoder (305) to minimize delay and disconnection according to the network environment. The buffer memory (320) may refer to a computer-readable recording medium that temporarily stores the received video data and stably supplies it to a parser (330) corresponding to the input terminal of the decoder (305). However, if the bandwidth of the communication network is sufficient, if video data is read from a recording medium in a local location that is not physically separated, or if the possibility of communication delay is not predicted in other environments, the buffer memory may be unnecessary.
[0070] The video decoder (305) may include the parser (330) as its input terminal to interpret the encoded video data. The parser may perform a function of separating (parsing) a plurality of pieces of information stored in the form of a bit string in the encoded video data according to a predetermined rule, and, if necessary, performing an entropy decoding (335) of entropy-coded video data, thereby performing a function of reconstructing symbols (338), which are paragraphs of video encoding information. The symbols (338) may include all information for controlling the operation of the decoder (305), and / or may further include information for controlling a device that is attached to and operable with the decoder (305), such as a display device. Control information for controlling the above display device may include information in a format called supplementary enhancement information (SEI) or video usability information (VUI).
[0071] As described above, the parser (330) may be configured to perform entropy decoding (335) of the encoded video data. The entropy encoding method of the encoded video data may vary depending on the encoding standard, and decoding may be performed accordingly. Representative examples of the entropy encoding standard may include variable length coding, Huffman coding, and arithmetic coding, and each of the encoding methods may be a context-adaptive or context-sensitive method depending on the standard, and may also be based on principles widely known to those skilled in the art.
[0072] The parser (330) may be configured to extract at least one picture from the encoded video data. The definition of the picture may vary depending on the encoding standard, and depending on the standard, one or more of the examples listed below may correspond simultaneously and overlappingly. The picture may be grouped, defined, and / or divided into encoding / decoding units such as, for example, groups of pictures (GOPs), pictures / frames, tiles, slices, macroblocks, blocks, subblocks, transform units (TUs), and prediction units (PUs).
[0073] The parser (330) may be configured to extract encoding information, such as transform coefficients, quantization parameters (QPs), and / or motion vectors, from the encoded video data. The parser (330) may be configured to perform entropy decoding (335) and parsing operations on the video data received from the buffer memory, and to selectively decode symbols (338) representing the encoding information. In addition, the parser (330) may be configured to selectively supply a specific symbol (338) to a specific decoding function unit within the decoder (305), such as an inverse quantization and inverse transform unit (340), an intra prediction unit (350), an inter prediction unit (355), or a loop filter unit (360). Control of such information supply can be determined by the information sequence contained in the encoded video, and may vary depending on the encoding standard, and is not limited within the scope of the embodiments of the present invention, and is not described in detail in this conceptual diagram.
[0074] The decoder (305) may be comprised of a number of conceptual functional units that receive and process the encoded information provided by the parser (330). It should be readily apparent that these conceptual functional units may be combined or further subdivided, depending on implementation needs. For example, they may be further separated for ease of implementation, or integrated into one for operational efficiency. In any case, each functional unit may be configured to perform close interaction with each other. However, despite the possibility of such integration or separation, the following description will be given as a combination of conceptual functional units to illustrate the video data decoding procedure applied as an embodiment of the present invention.
[0075] The decoder may include an inverse quantization and inverse transformation unit (340). The inverse quantization and inverse transformation unit (340) may be configured to receive encoding information including a method to be used for numerical transformation (transform), a block size, quantization coefficients for recovering quantized information, and distinction information of a quantization matrix that simplifies and represents the quantized coefficients from the parser (330), and may be configured to output block values (341) that can be input to an aggregator (370) as a result of processing the encoding information.
[0076] In one embodiment of the present invention, the output values of the inverse quantization and inverse transformation unit (340) may include intra-prediction encoded block values. The intra-predicted block values may refer to values that can be decoded using prediction information within a picture currently being decoded, for example, the current frame, but not using prediction information from a previously decoded picture, for example, the previous frame.
[0077] The prediction information within the current picture may be provided by the intra prediction unit (350). According to an embodiment of the present invention, the intra prediction unit (350) generates a block value of the same form as the block being decoded as the prediction information by using picture information of a spatially adjacent area derived from a picture currently being decoded and of which decoding has been partially completed. The picture information may be provided (381) from a buffer for the current picture, a so-called line buffer (380). The merging unit (370), according to an embodiment, may be configured to merge the prediction information (351) generated by the intra prediction unit (350) with the block values (341) provided by the inverse quantization and inverse transformation unit (340).
[0078] In another embodiment, the output values of the inverse quantization and inverse transformation unit (340) may include block values subjected to motion compensation as inter-prediction encoded block values, and in some cases, block values subjected to motion compensation. In this case, the inter-prediction unit (355) may extract and use sample information (386) used for motion-based prediction from a reference picture buffer (385). The information (356) derived by performing motion compensation on the sample information based on the symbols (338) included in the block values as the output values may be configured to be merged with the block values (341) provided by the inverse quantization and inverse transformation unit (340) by the merger unit (370). In this case, the block values (341) may be referred to as so-called differential or residual values.
[0079] The position information within the memory used by the inter prediction unit (355) to extract the sample information from the reference picture may be determined by a motion vector provided to the inter prediction unit (355) and composed of a combination of symbols (338) for indicating, for example, X, Y, and other specific points of the reference picture. The inter prediction unit (355) may also include a function for interpolating and using the sample values when a so-called 'subsampling'-capable motion vector is provided, and may further include a function for predicting and reinforcing the value of the motion vector.
[0080] The output values (371) of the above merging unit (370) may be provided to the loop filter unit (360) and processed by various loop filtering methods. The loop filter unit (360) may be configured to receive not only the block unit output (371) of the merging unit (370) but also the symbol (338) provided from the parser (330) to control its operation. The output of the loop filter unit (360) may be output to an external display means such as the display device through an output connection (390), but may be stored (361) in a line buffer (380) for use in prediction for interpreting a subsequent intra or inter coded block value, and may also be stored in a reference picture buffer (385) through this.
[0081] Certain pictures, such as frames, after their decoding is completed, can be utilized as reference pictures for performing predictive decoding in a subsequent decoding process. A picture (or frame) can be gradually accumulated in a line buffer (380) and decoded. When the decoding of a frame is completed, the contents of the line buffer (380) are transferred (383) to the reference picture buffer (385), and a new line buffer (380) can be allocated for decoding the new frame.
[0082] The above video decoder (305) may be configured to perform a decoding operation according to a predetermined video compression technique that may be documented by various international standards or commercial standards. The standards may include, for example, international standard recommendations such as H.264, H.265, and H.266 defined by the International Telecommunication Union Standardization Sub-Division (ITU-T). Those skilled in the art will understand that each of the above recommendations is equivalent to an international standard jointly defined by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC). The encoded video data may comply with a specific bitstream syntax defined by the relevant standards, as defined and required by the video compression standard documents and standard documents, and specifically by the profiles and levels specified within such documents. In addition, the complexity of the encoded video data may be limited to a certain level to comply with the profiles and levels. For example, a profile or level may be configured to limit a maximum picture size, a maximum decoding speed, and a maximum reference picture size. These limitations may, in some embodiments, also be further limited by metadata signals for a hypothetical reference decoder (HRD) and HRD buffer management included in the encoded video data.
[0083] According to one embodiment of the present invention, the receiver (310) may receive additional redundant data along with the encoded video. The additional data may be considered as part of the encoded video data. The additional data may include information that may be used by the decoder (305) to properly decode the data or to more accurately reconstruct an image that approximates the original image. The additional data may be provided in the form of, for example, layers for temporal, spatial, or signal-to-noise ratio (SNR) enhancement, redundant slices, redundant pictures, and forward error correction codes.
[0084] Figure 4 is a functional unit conceptual diagram of a video encoder according to one embodiment of the present invention. The encoder (405) may be configured to receive original video information (402) from a video source (401) and perform encoding.
[0085] The original video information (402) may have any suitable bit depth, for example, 8 bits, 10 bits, 12 bits, etc. In addition, the original video information (402) may have any suitable color space, for example, R / G / B, Y / U / V, Y / Cb / Cr, etc. In addition, the original video information (402) may have any suitable sampling structure corresponding to the color space, for example, Y / Cb / Cr 4:2:0, Y / Cb / Cr 4:4:4, etc. The original video information (402) having such a predetermined format may be provided to the encoder in the form of a digital video stream.
[0086] In a one-way video communication network, the original video information (402) can be obtained from a recording medium storing a previously prepared video source. In a two-way video communication network, the original video information (402) can be obtained from an image acquisition device, such as a camera, that generates at least one video transmission stream included in the two-way video communication.
[0087] The video data including the above original video information (402) may be configured as a plurality of pictures configured to simulate motion by playing them in chronological order. In addition to pictures, the pictures may also be expressed in concepts such as frames. The pictures may include one or more samples depending on the type of sampling structure, color space, etc. being used. Those skilled in the art will understand that the samples are closely related terms to pixels in digital images. The operation of the encoder will be described below with reference to such samples.
[0088] According to one embodiment of the present invention, the encoder (405) may be configured to encode and compress pictures (and / or grouped or segmented information) constituting the original video information (402) in real time (or according to other temporal requirements required according to the implementation method) into the form of encoded video information.
[0089] In the encoder (405), the control unit (450) may be a functional unit configured to control an appropriate encoding speed. The control unit (450) may be configured to control other functional units and be functionally coupled to the following functional units as described below. The parameters set by the control unit (450) may include parameters related to bitrate control, such as picture skip, quantizer, and variable values for applying image quality optimization techniques, and may also include values such as picture size, group of pictures (GOP) structure, and maximum search range of motion vectors. A person skilled in the art will be able to understand various other functions that the control unit (450) may have, and such other functions may be added or removed according to the design of a video encoder optimized for individual system design.
[0090] According to an embodiment of the present invention, the encoder (405) may be configured to operate in a structure such as a "coding loop" well known to those skilled in the art. To simplify the description by way of example, the coding loop may be configured with an internal encoder (so-called "source coder") (410) which is responsible for receiving a picture to be encoded and generating symbols based on at least one reference picture that has been encoded in the past, and a local decoder (420) configured to be connected to the internal encoder. The local decoder (420) may be configured to perform an operation to reproduce sample data to be generated by a decoder (490) located at an actual remote location that will receive encoded video information from the encoder (405) by receiving an output of the internal encoder (410).
[0091] Video data composed of sample data reconstructed by the internal decoder (420) may be configured to be input to the reference picture buffer of the encoder (405). As described above, the internal decoder (420) is implemented to reproduce the result output by the encoder (405) and to be decoded by a remote decoder, so the video data recorded in the reference picture buffer may also be identical in bit unit to the information of the reference picture buffer of the remote decoder. That is, the prediction function unit that may be included in the encoder (405) may read the same values as the sample values of the previous frame that the decoder will later refer to in the decoding process from the reference picture buffer of the encoder (405).
[0092] As described above, the principle of achieving matching of the reference picture buffers between the encoder (405) and the decoder (490) by means of the internal decoder (420) on the encoder (405) side is well known to those skilled in the art, and a method of responding to an environment in which such an environment is not guaranteed (e.g., information loss due to communication failure, etc.) can also follow what is known to those skilled in the art.
[0093] An embodiment of the operation method of the internal decoder (420) has been described in detail above with reference to FIG. 3. The decoder of FIG. 3 may be regarded as the aforementioned "remote" decoder (490). The internal decoder (420) may be implemented excluding lossless encoding and decoding sections such as the parser (330) or entropy decoding (335). This is because the internal encoder (405) is implemented to simply reproduce the operation of a decoder located at a remote location, and thus may directly decode symbols without requiring a process of compressing and then decompressing symbols. Accordingly, the functional units preceding the parser and entropy decoder as shown in FIG. 3 may not be provided or may be implemented at least partially.
[0094] As described above, according to a preferred embodiment of the present invention, any decoder function (excluding a parser and an entropy decoder) present in the decoder can naturally exist as a substantially identical function in the corresponding encoder (405).
[0095] The operation of the encoding function unit that may be included in the above encoder (405) can be considered as the reverse operation of the decoder function unit. Therefore, the embodiment can be explained by performing the operation of the decoder function unit in reverse. For example, a quantization and transform function unit corresponding to the inverse quantization and inverse transform unit may be provided, and an inter prediction encoding unit corresponding to the inter prediction unit may be provided. In addition, some additional explanations will be added.
[0096] The internal encoder (410) may be configured to perform encoding on input picture information, for example, an input frame, by a prediction encoding method executed by a prediction encoding unit (440) that operates by referencing at least one reference picture information, for example, at least one temporally previous encoded picture (or frame) from a reference picture buffer (430) from video data designated as a reference frame. In this case, the encoder (405) may be configured to encode a differential between blocks of samples constituting the input picture and blocks of samples constituting the reference picture.
[0097] The internal decoder (420) can decode video data that can be designated as the reference picture from symbols generated by the internal encoder (410). As described above, since the video data is identical to the decoding operation performed by the remote decoder, the video data used as the reference picture may be provided to the encoder (405) in a form that has undergone lossy compression and has been partially damaged, and this operation may be intended to ensure operational consistency with the decoder.
[0098] The prediction encoding unit (440) may be configured to perform a prediction search operation within the encoder (405). The prediction search operation may refer to an operation corresponding to the inter prediction or intra prediction described in the description of the decoder. For picture information that is input and scheduled to be newly encoded, the prediction unit may access the reference picture buffer (430) to retrieve information, such as a motion vector, a block shape, and metadata that may include the same, which are information indicating a point of a reference picture that can function as prediction reference information suitable for the new picture information, and a sample block to be actually referenced. The prediction encoding unit (440) may operate on the basis of a so-called "sample block by pixel block" to obtain appropriate prediction reference information. According to one embodiment of the present invention, at least one prediction reference information designating at least one reference picture information stored in the reference picture buffer (430) may be designated for the input picture, as determined based on the search results obtained by the prediction encoding unit (440).
[0099] In one embodiment of the present invention, the control unit (450) may be configured to manage the overall encoding operation of the internal encoder (410), including setting parameters used to encode video data.
[0100] All outputs of the above-described functional units may be subjected to entropy encoding (460) in order to be finally output. The entropy encoding (460) may include various entropy coding techniques, such as variable length coding, Huffman coding, and arithmetic coding, for the symbols generated by the various functional units as described above, and each encoding method may be a context-adaptive or context-sensitive method according to the standard, or may be based on principles widely known to those skilled in the art. Such entropy encoding (460) can typically achieve lossless compression, and thus can be configured to convert at least one symbol generated by the functional units into encoded video data.
[0101] The above control unit (450) may, when controlling the operation of the encoder (405), apply to each picture (or frame) the type of encoding in which a specific picture is encoded during the encoding period. Depending on the type, the method by which the picture is encoded may be affected. Depending on the embodiment, the type may include what is categorized as the following "frame type."
[0102] Fig. 5 is a conceptual diagram of a frame type according to one embodiment of the present invention. The following description will be made with reference to Fig. 5.
[0103] An intra (“I”) picture (510) may refer to a picture that can be encoded and decoded using only its own information without referring to other picture information in video data through predictive encoding. The “I” picture may be designated by names such as a key frame, an independent / instantaneous decoder referh (IDR) frame, and a clean random-access (CRA) frame, depending on the video encoding standard, and the “I” pictures designated by the various names as described above may have various modifications and application methods as permitted by each standard and may be partially different from each other. In addition to those listed above, various application methods for implementing the “I” picture may be by various methods that are already known to those skilled in the art or may be newly provided.
[0104] A prediction ("P") picture (520) may refer to a picture that can be encoded and decoded through intra or inter prediction based on at least one prediction information and / or a motion vector that designates at least one reference picture to predict sample values of a block constituting the picture. The "P" picture may be configured to refer to only one reference frame, or may be configured to refer to one or more reference frames, according to a video encoding standard. When referring to more than one reference frame, sample information and / or associated metadata derived from multiple reference pictures may be used to reconstruct a single block. However, in common cases, a picture designated as a "P" picture may be understood as a picture that performs reference only to a temporally preceding picture.
[0105] A bidirectional prediction ("B") picture (530) may refer to a picture that can be encoded and decoded through intra or inter prediction based on at least one piece of prediction information and / or a motion vector that designates at least two reference pictures in order to predict sample values of blocks constituting the picture. In a common case, a picture designated as the "B" picture is distinguished from a picture designated as the "P" picture, and may be understood as a picture that performs a reference without being limited to a temporally preceding picture.
[0106] Video data may be spatially divided into a plurality of sample blocks during the encoding and decoding process, and encoding may be performed in units of the blocks. The block units may include, but are not limited to, sizes such as 4x4, 8x8, 4x8, or 16x16 in units of horizontal / vertical pixels, as is widely known. The block may be encoded using a predictive encoding method with reference to any other (already encoded) blocks, as permitted and / or restricted by the type specified for each picture in which the block is included. For example, the blocks of the "I" picture (510) may be encoded without using a predictive encoding method, or with reference to blocks that have already been encoded within the same partial picture. That is, only the so-called intra prediction method may be used. In contrast, the "P" picture (520) may further reference a reference picture encoded in at least one previous time unit, and thus, inter prediction may also be used for encoding along with intra prediction. In the case of a "B" picture (530), reference can be made not only to a previously encoded picture in the encoding order but also to a later reference picture in terms of time unit. However, it is widely known that there may be blocks within a "P" picture or a "B" picture that are encoded without relying on predictive encoding.
[0107] The above video encoder (405) may be configured to perform encoding operations according to a predetermined video compression technique that may be documented by various international standards or commercial standards. Examples of the above standards may include all of those described in the above decoder.
[0108] According to one embodiment of the present invention, the transmitter (470) may buffer the encoded video data generated by the entropy encoding in order to provide / transmit the video data (ultimately to a remote decoder (490)) to a device storing the encoded video data via a hardware or software connection (495). According to an embodiment, when providing / transmitting the encoded video data from the video encoder (405), the transmitter (470) may receive and merge other data accompanying the encoded video data, for example, encoded audio data or other auxiliary data, from a separate source (480).
[0109] According to one embodiment of the present invention, the transmitter (470) may be configured to transmit additional data along with the encoded video. The additional data may be considered part of the encoded video data. The additional data may include information that can be used by a decoder to properly decode the data or to more accurately reconstruct an image that approximates the original image. Examples of the additional data may include all of the examples previously presented with respect to the receiver (310) of the decoder.
[0110] The present invention can be implemented by a digital video compression standard that is widely used and understood by those skilled in the art as described above. The digital video compression standard may include at least one of compression standards known by the standard name such as MPEG-2, MPEG-4 Video, H.263, H.264 / AVC, H.265 / HEVC, H.266 / VVC, VC-1, AV1, QuickTime, VP-9, VP-10, and Motion JPEG.
[0111] Fig. 6 is a conceptual diagram illustrating the structure of a video encoder according to another embodiment of the present invention. What is depicted in Fig. 6 may be a rough structure of a video encoder widely known as a standard code such as ITU-T H.266 and ISO / IEC 23090-3, and also known as MPEG-I Part 3 or versatile video coding (VVC).
[0112] According to FIG. 6, a video encoder (605) may be configured to receive uncompressed and unencoded original video data (601) as input and output an encoded bit stream (602). The video data (601) may be supplied directly to a luma mapping unit (610a) when intra-encoded, or may be supplied to a luma mapping unit (610b) via an inter-prediction unit (620) including motion vector extraction. In the intra-encoded case, the mapped luma signal may be supplied to an output merger (606) by selecting (608) at least one of an intra-prediction encoded signal via an intra-prediction unit (625) or an inter-prediction encoded signal output from the luma mapping unit (610b) via the inter-prediction unit (620). The result of the above output merger can be applied to a chroma scaling unit (615). (The operation of the luminance signal mapping unit (610) and the operation of the chroma scaling unit (615) are collectively referred to as a luma mapping / chroma scalaing (LMCS) process.) The reduced chroma signal can be provided to a transform unit (630), and the transform unit (630) can perform an adaptive color transform, particularly on the chroma signal. The coefficients derived as a result of the transform are applied to a quantization unit (640) and quantized. As a result, lossy compression is achieved, and the result of the lossy compression can be output as a bit string (602) through a multi-hypothesis CABAC (650), which is a lossless compression method.
[0113] Meanwhile, the result of the lossy compression may actually enter the decoding process by going through the processes of inverse quantization (645), inverse transform (635), and luminance signal expansion (617) to generate a coding loop. The result of the luminance signal expansion may be supplied to the internal merger (607) together with the result of selecting (608) at least one of the previously generated intra prediction encoding signal or inter prediction encoding signal. The result of the internal merger may go through inverse luma mapping (618), and then may go through processing such as a deblocking filter (660), sample adaptive offset (SAO) (670), and an adaptive loop filter (ALF) to reproduce the image quality improvement process in the decoder. The result of reproducing the operation in the decoder as described above is applied to the reference picture buffer (690) and can be reused for prediction encoding by the inter prediction unit (620).
[0114] The present invention can also be utilized by or incorporated into an enhanced compression model (ECM), which is an implementation of a next-generation video codec currently being developed by the Joint Video Experts Team (JVET), an international standardization expert organization. The enhanced compression model can include an enhanced intra prediction coding method, an enhanced inter prediction coding method, an enhanced transform and transform coefficient coding method, an enhanced adaptive loop filtering method, a bilateral filtering method, a new sample adaptive offset (SAO) method for improving image quality, an extended entropy coding method, and an improved gradual decoding refresh (GDR) technique.
[0115]
[0116] Geometric segmentation prediction mode
[0117] FIG. 7 is a conceptual diagram illustrating a geometric partitioning prediction mode according to one embodiment of the present invention. The geometric partitioning prediction mode (GPM) refers to a method for predictively encoding the values of the block samples described above, in which, instead of dividing the block into a rectangular shape, the block is re-divided into an arbitrary geometric shape, preferably a shape such as a rectangle divided by an arbitrary line, and then used for predictive encoding.
[0118] In one embodiment of the present invention, a flag indicating whether the geometric segmentation prediction mode is used may be included in the video bitstream. The flag may be, for example, "sps_gpm_enabled_flag" included in the sequence parameter RBSP syntax of section 7.3.2.4 of the 2nd edition of the H.266 / VVC standard. However, it is obvious that the signal as above may be provided with an information capacity of at least 1 bit (or less than 1 bit in case of entropy coding) at any position in the bitstream.
[0119] According to an embodiment of the present invention, the geometric segmentation prediction mode may mean dividing one block (710) into two or more regions (720) by an arbitrary line (730) and applying the same or different prediction methods to each of the divided regions (720). The prediction method is not limited. For example, the prediction method may be an intra prediction mode that refers to information of another block in the same frame, or an inter mode that refers to information in another frame. Detailed prediction methods that may be included in the intra or inter mode may include a merge mode or an intra block copy (IBC) mode. Furthermore, one of the prediction methods may include a case in which prediction is not performed, and thus an intra encoding method that codes actual image information may be included.
[0120] The above intra prediction mode, in one embodiment of the present invention, may include an intra prediction mode in intra-frame prediction defined in a video codec standard such as H.266 / VVC. For example, it may be understood to include a mode in which information on the reference direction from the block (710) is specified, a prediction estimate value is derived when at least one row of adjacent pixels formed on the boundary of an adjacent block is referred to in the reference direction, and a prediction value of the block is derived from the prediction estimate value linearly or in another algebraic manner based on the predetermined reference direction, and / or in a manner including filtering by a predetermined kernel. In the geometric prediction mode, even if two partitions (720) have the same intra prediction mode, it may mean that different intra prediction information, for example, reference directionality information, may be applied to each partition (720).
[0121] The above inter prediction mode, in one embodiment of the present invention, may include an inter prediction mode in inter-frame prediction defined in a video codec standard such as H.266 / VVC. For example, it may be understood as including a mode in which image data similar to the block (710) is searched for from a preceding frame in the encoding order (i.e., decoding order), an identifier designating a reference frame in which the similar image data is found and a reference vector (in the inter prediction mode, this may be referred to as a motion vector) designating the found point are determined, and a prediction value of the block is derived by the reference vector. In the geometric prediction mode, even if two partitions (720) have the same inter prediction mode, this may mean that different inter prediction information, for example, different reference vectors for the same or different reference frames, may be applied to each partition (720).
[0122] The above merge mode may, according to one embodiment of the present invention, mean merge mode prediction in inter-frame prediction defined in a video codec standard such as H.266 / VVC. The above merge mode may mean a method in an inter-frame prediction mode in which reference vector information for inter-frame prediction is not assigned to individual blocks, but a merge mode list composed of a specified number of reference vector information designated in advance in a block set unit including a slice and a coding tree unit (CTU) is constructed, and an index of information included in the list is designated for individual prediction to be retrieved and used. In the geometric prediction mode, this may mean that even if two partitions (720) have the same merge mode, different merge mode indices may be applied to each partition (720).
[0123] The above IBC mode, according to one embodiment of the present invention, may refer to IBC mode prediction in intra-frame prediction defined in a video codec standard such as H.266 / VVC. The IBC mode may be understood as being performed in a form similar to inter prediction within the same frame by using data of a block that has been previously encoded (and therefore, previously decoded from the perspective of a decoder) as a reference in order to predict data of a certain block. That is, for example, it may be understood as including a mode in which image data similar to the block (710) is searched for from blocks preceding in the encoding order (i.e., decoding order) within the same frame, a reference vector (in the IBC mode, this may be referred to as a block vector) that designates a point where the similar image data is found, and a prediction value of the block is derived by the reference vector. In the above geometric prediction mode, even if two partitions (720) have the same IBC mode, it may mean that different reference vectors (i.e., block vectors) can be applied to each partition (720).
[0124] In addition, in the IBC mode, the reference vector in the IBC mode may be applied in the form of listing reference vectors (which may be motion vectors or block vectors) used in blocks spatially adjacent or close to the block, and designating an index that designates one of the listed reference vectors. In addition, depending on the embodiment, a residual vector between the reference vector designated by the index and the reference vector that should actually be applied may be used by the encoder and / or decoder.
[0125] The division shape into the above region (720) may mean that it is specified by a value such as "merge_gpm_partition_idx" included in the merge data syntax of Section 7.3.11.7, for example, in the second edition of the H.266 / VVC standard. According to the above standard, the "merge_gpm_partition_idx" value represents a predetermined straight line, and may be configured to specify the division shape by embedding information related to the arrangement angle and arrangement position of the straight line. In addition, the index in the merge mode specified for each division region may mean that it is specified by the same value such as "merge_gpm_idx0" and "merge_gpm_idx1" of the same section. However, the above example is a conventionally known technology and is an example of an implementation method of the present invention based on the H.266 / VVC standard specification, and it is obvious that a person skilled in the art is not limited to the above-described example and can implement and use the geometric segmentation prediction mode by various methods including the method of the present invention.
[0126]
[0127] Composition of the present invention
[0128] FIG. 8 is an exemplary diagram of a non-linear segmentation boundary according to an embodiment of the present invention. According to an embodiment of the present invention, the geometric segmentation prediction mode may mean dividing one coding unit (block) (810) into two or more regions (820) by an arbitrary segmentation boundary (830) and applying the same or different prediction methods to each of the segmented regions (820). At this time, the segmentation boundary (830) may be characterized as being a straight line or a curve. According to a preferred embodiment of the present invention, the segmentation boundary (830) may be defined by a non-linear function. When the configuration of the image belonging to the coding unit (810) has a characteristic of having a curved boundary as illustrated in FIG. 8, dividing the regions (820) along the curved boundary (830) in the geometric segmentation prediction mode may produce better prediction encoding results.
[0129] A video encoding method according to one embodiment of the present invention may include a step of calculating information on a segmentation boundary from image information of an encoding unit, a step of generating geometric segmentation type information based on the segmentation boundary, a step of determining a first region and a second region by segmenting the encoding unit based on the geometric segmentation type information, and a step of recording the geometric segmentation type information in an encoding bitstream. In this case, the information on the geometric segmentation type information may include information on a segmentation boundary defined by a non-linear function.
[0130] The above nonlinear function may refer to a mathematical expression method for any line capable of expressing various curves, including straight lines. Examples of the above nonlinear function may include polynomial equations, Bezier curves, or conic section equations, but are not necessarily limited to the examples described above.
[0131] According to one embodiment of the present invention, the information about the partitioning boundary line may include all or part of the definition of the nonlinear function. When the nonlinear function is defined as a kind of equation, according to one embodiment of the present invention, the information about the partitioning boundary line may include information about the entire content of the nonlinear function, for example, information about the entire equation including unknowns. However, according to another embodiment of the present invention, the information about the partitioning boundary line may include information for selecting one of at least one function prototype (for example, information indicating whether the function used is a quadratic equation or a cubic equation), together with coefficients of an equation to be substituted into the prototype. Furthermore, according to another embodiment of the present invention, when only one type of function prototype is used in the video encoding method, or when the type of the function prototype can be predicted and / or defined by another signal and / or encoding procedure, only coefficients to be substituted into the equation may be included.
[0132] FIG. 9 is a conceptual diagram illustrating a process for calculating information on a segmentation boundary line according to an embodiment of the present invention. According to an embodiment of the present invention, the step of calculating information on the segmentation boundary line may include a step of detecting (915) at least one edge (921) from an image (910) of the encoding unit, a step of removing noise from the detected at least one edge (920) (925), a step of sampling (935) some of the at least one edge (930) from which noise has been removed, and a step of generating information forming a segmentation boundary line (951) based on the sampled at least one edge (940) (945). However, depending on the embodiment, the step of removing noise (925) or the step of sampling (935) may not be included, because this corresponds to a preprocessing step that improves the efficiency of the process of calculating (945) the segmentation boundary line by reducing the number of detected edges.
[0133] According to one embodiment of the present invention, the edge (921) may be understood to mean a boundary component and its position located in the image (910) of the encoding unit. The detection method used in the step (915) of detecting the edge may be selected and applied by a person skilled in the art with knowledge in the field of video encoding / decoding by any of various methods known in the art or newly provided, and for some non-limiting examples, a method of applying an edge filter may be used.
[0134] According to one embodiment of the present invention, the step (925) of removing noise from at least one detected edge (920) may mean a step of removing an edge component detected in an area unrelated to the actual segmentation boundary line by regarding it as noise. According to one embodiment of the present invention, depending on the method of extracting the edge, the step (915) of extracting the edge and the step (925) of removing noise from the edge may be performed simultaneously and not be distinguished. For example, when an edge preserving filter or an NxN median filter is used, it may be possible to remove noise while detecting an edge at the same time.
[0135] According to one embodiment of the present invention, the step (935) of sampling a portion of at least one edge (930) from which noise has been removed may mean a step of selecting a certain number or ratio of edges from the at least one edge (930). The number or ratio is not limited in the present invention and may vary depending on the embodiment. The number or ratio may be fixed, or may vary depending on the size of the encoding unit (e.g., horizontal and / or vertical pixel length), or may vary according to other criteria. The selection may be performed by sequentially removing or selecting a certain number of edges, or may be performed by leaving only one edge within a certain area and / or radius. The selected edges may be configured not to be influenced by the unselected edges, or the selected edges may be merged with each other by a calculation method such as an average, a weighted average, or a median, reflecting information of the unselected edges.
[0136] According to one embodiment of the present invention, the step of generating information forming the segmentation boundary line may include the step of calculating at least one polynomial equation coefficient based on the at least one edge. For example, if the segmentation boundary line is defined by a quadratic equation, the step of generating information forming the segmentation boundary line may include calculating the coefficient of the quadratic equation y = a1x 2 The step of calculating at least one of coefficients a1, a2, and a3 constituting +a2x+a3 may include another example, when the partitioning boundary is defined by a cubic equation, the step of generating information forming the partitioning boundary may include calculating information forming the cubic equation y=a1x 3 +a2x 2 The step of calculating at least one of coefficients a1, a2, a3, and a4 constituting +a3x+a4 may include another example, in which the partitioning boundary line is defined by an arbitrary conic curve, the step of generating information forming the partitioning boundary line may include calculating information forming the conic curve a1x 2 +a2xy+a3y 2 It may include a step of calculating at least one of coefficients a1, a2, a3, a4, a5, and a6 constituting +a4x+a5y+a6=0.
[0137] As a method for generating information forming the above-mentioned segmentation boundary, various mathematical and computational methods capable of deriving a function that reproduces and / or approximates the distribution of points from at least one determined location may be used, and the present invention is not limited to such methods. However, to facilitate understanding of the composition of the present invention and ensure its feasibility, a theoretical calculation method will be described below.
[0138] In one embodiment of the present invention, it is assumed that at least n sampled edges (940) are acquired, and the coordinates of each of the edges within the encoding unit are (x i , yi ) is defined (where i is a natural number greater than or equal to 0 and less than n), and when the function prototype of the division boundary line to be derived is determined as a quadratic equation, each edge coordinate must satisfy the equation of the following mathematical expression 1.
[0139]
[0140] If this is generalized by the determinant, it is as follows: Mathematical Formula 2.
[0141]
[0142] The above mathematical expression 2 can be re-expressed as the following mathematical expression 3.
[0143]
[0144] Therefore, when matrix X is considered as [a1; a2; a3] according to the notation of the above mathematical expression 3, XA -1 By finding the matrix X that satisfies Y, the coefficients of the quadratic equation that derives the partition boundary line can be found. From a theoretical point of view, when the number of edges is 3 or less, the inverse matrix A -1 It can be easily seen that the above coefficients can be obtained by easily deriving .
[0145] According to a preferred embodiment of the present invention, the number of edges may be selected to be less than or equal to the degree of the polynomial equation for deriving the partition boundary line. In this case, the inverse matrix A -1 The derivation of becomes easier. However, in order to derive a good segmentation by more precisely matching the segmentation boundary line to the actually detected boundary line, the number of edges may be selected to be at least three. That is, depending on the embodiment, the number of edges may exceed the degree of the polynomial equation for deriving the segmentation boundary line. In this case, since the number of rows in the matrix A composed of the edge coordinates exceeds the number of columns, the inverse matrix A -1There are cases where it is not easy to obtain. In this case, as an example, after singular value decomposition, the left pseudo-inverse matrix A is obtained as in the following mathematical expression 4. + By finding , we can derive the matrix X.
[0146]
[0147] As described above, the information about the segmentation boundary may include all or part of the definition of the nonlinear function. Therefore, in the step of recording the geometric segmentation type information in the encoded bitstream, according to one embodiment of the present invention, the information about the segmentation boundary may be recorded in the encoded bitstream in various forms. According to various embodiments of the present invention, the geometric segmentation type information may be located in either a header area or a data area of the encoded video bitstream. Non-limiting examples of the header area include a NAL unit header, a picture (frame) header, and a slice header. Non-limiting examples of the data area include picture (frame) data, slice data, macroblock data, block data, and coding tree unit data.
[0148] According to one embodiment of the present invention, at least one piece of information among various pieces of information constituting the geometric segmentation type information (for example, it may include at least one polynomial equation coefficient for indicating the segmentation boundary line) may be recorded in the encoded bitstream as a fixed-length signal of at least 1 bit.
[0149] According to one embodiment of the present invention, at least one piece of information among various pieces of information constituting the geometric segmentation type information may be recorded as at least one entropy-encoded bit string in the encoded bit stream. According to an embodiment, the entropy-encoded bit string may be encoded by various entropy-encoded and / or variable-length-encoded methods including Huffman coding, exponential Golomb coding, run-length coding, variable-length coding, context-adaptive variable-length coding, and context-adaptive binary arithmetic coding (CABAC). Depending on the encoding method, the at least one piece of information may be recorded by overlapping one encoded symbol. Depending on the encoding method, various encoding methods including the exemplary encoding methods described above may be applied in duplicate.
[0150] According to an applied embodiment of the present invention, the information on the segmentation boundary line does not necessarily have to be defined by a polygonal equation and its coefficients, and various methods capable of expressing any line can be applied and used. For example, according to one embodiment, the step of calculating the information on the segmentation boundary line may include the step of calculating the coordinates of a start point, an end point, and at least one control point defining a Bezier curve based on the at least one edge. In this case, the information on the start point, the end point, and at least one control point can be recorded in the encoded bitstream as described above.
[0151] According to one embodiment of the present invention, the step of calculating information on the segmentation boundary line may further include a step of calculating a thickness of the segmentation boundary line based on the at least one edge. Fig. 10 is a conceptual diagram related to the thickness of the segmentation boundary line according to one embodiment of the present invention. In the process of deriving the segmentation boundary line according to the present invention illustrated with reference to Fig. 9 and the like, a case in which the segmentation boundary line is gradual may be calculated. As illustrated in Fig. 10, a case in which a gradual boundary line exists due to a difference in brightness and / or color tone between a first region (1021) and a second region (1022) belonging to an encoding unit (1010) may be detected. In this case, the segmentation boundary line according to the present invention may be defined in a form including a linear boundary line (1030) drawn at a point of the boundary line, and a thickness (1035) of the boundary line centered on the boundary line (1030).
[0152] As described above, it is self-evident that the radial global motion vector encoded in the bitstream can be decoded by the reverse order of the calculation and encoding process, as is widely known.
[0153] A method for decoding an encoded video bitstream according to an embodiment of the present invention may include the steps of reading information on a geometric division type of an encoding unit from the bitstream, determining a first region and a second region by dividing the encoding unit based on the geometric division type information, decoding encoding information on the first region to generate a first decoded image, decoding encoding information on the second region to generate a second decoded image, and combining the first decoded image and the second decoded image based on the geometric division type information to generate a combined decoded image.
[0154] According to one embodiment of the present invention, at least one of the step of generating the first decoded image and the step of generating the second decoded image may be performed based on intra-prediction decoding or based on inter-prediction decoding. With respect to the process of the predictive decoding, the description of the general video encoding and decoding method described above and the description of the various encoding and decoding methods of each region that can be selected in the geometric partition prediction mode may be applied.
[0155] According to one embodiment of the present invention, the information about the segmentation boundary line may include information about the thickness of the segmentation boundary line, and in this case, the step of generating the combined decoded image may be configured to gradually combine the first decoded image and the second decoded image based on the information about the thickness of the segmentation boundary line. For example, referring to FIG. 10, when information about the segmentation boundary line (1030) and information about the thickness (1035) thereof are acquired from the bitstream, a combined decoded image may be generated by gradually combining (for example, by applying an alpha value having a predetermined gradient) the prediction decoding result for the first region (1021) and the prediction decoding result for the second region (1022) over an area of a predetermined thickness (1035) centered on the segmentation boundary line (1030).
[0156]
[0157] Encoder and decoder
[0158] The encoding method according to the present invention described above can be implemented through an encoder as a device. The encoder as a device can be implemented in a form that maintains the conventional encoder structure exemplified through FIGS. 1 to 6 above or applies a predetermined change thereto. However, the form of implementation is not necessarily limited to that exemplified, and any form of encoder structure that can function as a video encoder should be considered an encoder established by the present invention as long as it implements the technical idea of the present invention.
[0159] According to one embodiment of the present invention, a decoder device for decoding an encoded video bitstream includes a processor, a memory, a bitstream parser, a predictive decoding unit, and a geometric partitioning processing unit, wherein the bitstream parser is configured to read information on a geometric partitioning mode of an encoding unit from the bitstream, the predictive decoding unit is configured to determine a first region and a second region by partitioning the encoding unit based on the geometric partitioning mode information, to decode encoding information for the first region to generate a first decoded image, and to decode encoding information for the second region to generate a second decoded image, and the geometric partitioning processing unit may be configured to combine the first decoded image and the second decoded image based on the geometric partitioning mode information to generate a combined decoded image. It can be easily understood that the operation process of each of the above-described functional units can be implemented with reference to what has been described above as an encoding method according to the present invention.
[0160] The method for decoding an encoding result according to the present invention described above can be implemented through a decoder as a device. The decoder as a device can be implemented in a form that maintains the conventional decoder structure exemplified through FIGS. 1 to 6 above or applies a predetermined change thereto. However, the form of implementation is not necessarily limited to that exemplified, and any form of decoder structure that can function as a video decoder can be considered a decoder established according to the present invention as long as it implements the technical idea of the present invention.
[0161] According to one embodiment of the present invention, a video encoder device includes a processor, a memory, a geometric segmentation unit, and a bitstream recording unit, wherein the geometric segmentation unit is configured to calculate information on a segmentation boundary line from image information of an encoding unit, generate geometric segmentation type information based on the segmentation boundary line, and segment the encoding unit based on the geometric segmentation type information to determine a first region and a second region, and the bitstream recording unit may be configured to record the geometric segmentation type information in an encoding bitstream. It can be easily understood that the operation process of each of the above-described functional units can be implemented with reference to a method of decoding a bitstream encoded by the encoding method according to the present invention described above by applying the same or a reverse method.
[0162] The processor that may be included in the encoder and / or decoder described herein may mean one or more general purpose computers or special purpose computers, such as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding.
[0163] Even if the processor is expressed singularly for ease of understanding, those skilled in the art will appreciate that the processor may include multiple processing elements and / or multiple types of processing elements. For example, a device according to one embodiment of the present invention may include multiple processors or one processor and one controller as the processor. Furthermore, the processor may be implemented using various processing configurations, such as a parallel processor or a multi-core processor.
[0164] The processor may be configured to execute an operating system (OS) and one or more software programs running on the operating system. Furthermore, the processor may access, store, manipulate, process, and generate data in response to the execution of the software.
[0165] The software may include a computer program, code, instructions, or a combination of one or more of these, and may be configured to control the processor to perform a desired operation and to issue commands to the processor, either independently or collectively. The software may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave, for interpretation by the processor or for providing commands or data to the processor. The software may also be distributed over networked computer systems, and stored or executed in a distributed manner.
[0166] The software may also be implemented in the form of program commands that can be executed through various computer means and recorded or stored in the memory. The memory may be a computer-readable recording medium, and program commands, data files, data structures, etc. may be recorded singly or in combination in the computer-readable recording medium. The program commands stored in the memory may be based on a command system specifically designed and configured for the embodiment of the present invention, or may follow a command system known and available to those skilled in the art of computer software, such as a command system exemplified by the assembly language, C, C++, Java, Python, etc. It should be understood that the command system and the program commands therefrom include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by the device and / or the processor according to an embodiment of the present invention using an interpreter or the like.
[0167] The computer-readable recording medium constituting the device according to one embodiment of the present invention, including the memory described in this specification, may include a temporary or volatile recording medium that is maintained only while the processor is operating, such as a processor cache, a RAM, a flash memory, or a relatively non-volatile or long-term recording medium, such as a magnetic media such as a hard disk, a floppy disk, and a magnetic tape, an optical media such as a CD-ROM, a DVD, a magneto-optical media such as a floptical disk, or a solid state memory, or may include a read-only recording medium, such as a ROM arranged on hardware, and furthermore, the hardware itself configured to perform an operation equivalent to a series of program commands by a hard-wired structure by circuit wiring, and each step for performing the operation for implementing an embodiment of the present invention can be viewed as being recorded by the connection and arrangement of the hardware components, and thus the connection and arrangement method is the memory and It is obvious to a person skilled in the art that they can be considered equivalent.
[0168] The embodiments described above with respect to the processor and the memory are not mutually exclusive and may be selected or combined and implemented as needed. For example, a single hardware device may be configured to operate as a module composed of one or more of the software to perform the operations of an embodiment of the present invention, and vice versa. As another example, in the present specification, all or part of the operations assigned to a certain functional unit may be implemented by one or more of the software stored in a device according to an embodiment of the present invention (preferably, in any one of the recording media belonging to the category of the memory) and configured to be executed by the processor. In such a case, such a functional unit may be referred to as a functional unit "included" in the processor.
[0169]
[0170] Although the present invention has been described with reference to drawings and embodiments, as already mentioned above, it does not mean that the scope of protection of the present invention is limited to the drawings or embodiments presented above, and it will be understood that a person skilled in the relevant technical field can modify and change the present invention in various ways within a scope that does not depart from the spirit and scope of the present invention described in the claims of the present invention patent.
Claims
1. In a method for decoding an encoded video bitstream, A step of reading information about a geometric partitioning mode of an encoding unit from the bitstream; A step of dividing the encoding unit based on the geometric division type information to determine a first region and a second region; A step of decoding encoding information for the first region to generate a first decoded image; A step of decoding the encoding information for the second region to generate a second decoded image; and A step of generating a combined decoded image by combining the first decoded image and the second decoded image based on the geometric segmentation type information; A method, characterized in that the information on the geometric segmentation type information includes information on a segmentation boundary line defined by a non-linear function.
2. In paragraph 1, Information about the above division boundary line is: A method characterized by including at least one polynomial equation coefficient.
3. In paragraph 2, Information about the above division boundary line is: Quadratic equation y=a1x 2 A method characterized in that it includes at least one of coefficients a1, a2, and a3 constituting +a2x+a3.
4. In paragraph 2, Information about the above division boundary line is: Cubic equation y=a1x 3 +a2x 2 A method characterized in that it includes at least one of coefficients a1, a2, a3, and a4 constituting +a3x+a4.
5. In paragraph 2, Information about the above division boundary line is: conic section a1x 2 +a2xy+a3y 2 A method characterized in that it includes at least one of coefficients a1, a2, a3, a4, a5, and a6 constituting +a4x+a5y+a6=0.
6. In paragraph 1, Information about the above division boundary line is: A method characterized by including coordinates of a starting point, an end point, and at least one control point defining a Bezier curve.
7. In paragraph 1, Information about the above division boundary line is: Contains information about the thickness of the above division boundary line, The step of generating the above combined decryption image is: A method comprising: a step of gradually combining the first decoded image and the second decoded image based on information about the thickness of the segmentation boundary line.
8. In paragraph 1, At least one of the step of generating the first decrypted image and the step of generating the second decrypted image, A method characterized in that it is performed based on intra prediction decoding.
9. In paragraph 1, At least one of the step of generating the first decrypted image and the step of generating the second decrypted image, A method characterized in that it is performed based on inter prediction decoding.
10. In a video encoding method, A step of calculating information about a segmentation boundary from image information of an encoding unit; A step of generating geometric segmentation type information based on the above segmentation boundary line; A step of determining a first region and a second region by dividing the encoding unit based on the geometric division type information; and A step of recording the geometric segmentation type information into an encoding bitstream; A method, characterized in that the information on the geometric segmentation type information includes information on a segmentation boundary line defined by a non-linear function.
11. In paragraph 10, The step of calculating information about the above division boundary line is: A step of detecting at least one edge from an image of the encoding unit; and A method comprising: generating information forming the segmentation boundary line based on at least one edge.
12. In paragraph 11, The step of calculating information about the above division boundary line is: a step of removing noise from at least one edge detected; and A method further comprising the step of sampling at least some of the edges.
13. In paragraph 11, The step of generating information forming the above division boundary line is: A method comprising: calculating at least one polynomial equation coefficient based on at least one edge.
14. In paragraph 13, The step of generating information forming the above division boundary line is: Quadratic equation y=a1x 2 A method comprising the step of calculating at least one of coefficients a1, a2, and a3 constituting +a2x+a3.
15. In paragraph 13, The step of generating information forming the above division boundary line is: Cubic equation y=a1x 3 +a2x 2 A method comprising the step of calculating at least one of coefficients a1, a2, a3, and a4 constituting +a3x+a4.
16. In paragraph 13, The step of generating information forming the above division boundary line is: conic section a1x 2 +a2xy+a3y 2 A method comprising the step of calculating at least one of coefficients a1, a2, a3, a4, a5, and a6 constituting +a4x+a5y+a6=0.
17. In paragraph 11, The step of calculating information about the above division boundary line is: A method comprising: calculating coordinates of a starting point, an end point, and at least one control point defining a Bezier curve based on at least one edge; 18. In paragraph 11, The step of calculating information about the above division boundary line is: A method further comprising: calculating a thickness of the segmentation boundary line based on at least one edge.
19. In a decoding device for decoding an encoded video bitstream, processor; memory; bitstream parser; Predictive decoding unit; and including a geometric segmentation processing unit; The bitstream parser is configured to read information about a geometric partitioning mode of an encoding unit from the bitstream, The above prediction decoding unit is configured to determine a first region and a second region by dividing the encoding unit based on the geometric division type information, decode encoding information for the first region to generate a first decoded image, and decode encoding information for the second region to generate a second decoded image. The geometric segmentation processing unit is configured to generate a combined decoded image by combining the first decoded image and the second decoded image based on the geometric segmentation type information, A device characterized in that the information on the geometric segmentation type information includes information on a segmentation boundary line defined by a non-linear function.
20. In a video encoding device, processor; memory; geometric partitions; and including a bitstream recorder; The geometric segmentation unit is configured to calculate information about a segmentation boundary line from image information of an encoding unit, generate geometric segmentation type information based on the segmentation boundary line, and segment the encoding unit based on the geometric segmentation type information to determine a first region and a second region. The bitstream recording unit is configured to record the geometric segmentation type information into an encoded bitstream, A device characterized in that the information on the geometric segmentation type information includes information on a segmentation boundary line defined by a non-linear function.
Citation Information
Patent Citations
Apparatus and method for processing video data
KR101278224B1
Method for reconstructing a current block of an image and corresponding encoding method, corresponding devices as well as storage medium carrying an images encoded in a bit stream
KR101822687B1
Image decoding method for performing intra prediction and device thereof, and image encoding method for performing intra prediction and device thereof
KR1020180006915A
Adhesive tape and jig cushion for camara module including the same
KR1020230052128A
Entrance order device for flood prevention
KR1020250071407A