Template-based geometric section mode blending region width
Patent Information
- Application Number
- JP2026517376
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-22
- Filing Date
- 2024-09-20
- Publication Date
- 2026-10-14
Smart Images

Figure 2026534169000001_ABST
Abstract
Description
TECHNICAL FIELD
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of European Patent Application No. 23306583.8 filed on September 22, 2023, the entire disclosure of which is incorporated herein by reference.
BACKGROUND ART
[0002] Background
[0002] Video coding systems may be used to compress digital video signals, for example to reduce the storage and / or transmission bandwidth required for such signals. Video coding systems may include, for example, block-based, wavelet-based, and / or object-based systems.
SUMMARY OF THE INVENTION
[0003] Summary
[0003] Systems, methods, and means may be configured for template-based geometric partition mode (GPM) blend region width. An exemplary video decoding device may determine that a geometric partition mode (GPM) is enabled for a coding block. The device may test the blend region width based on prediction samples associated with reconstructed neighboring samples of the coding block. The device may select a blend region width from the blend region widths. The device may decode the coding block based on the selected blend region width.
[0004]
[0004] The device may create a template including reconstructed neighboring samples of the coding block. The device may divide the template into sub-partitions based on a partition angle of the coding block. The device may generate prediction samples for the sub-partitions. The device may blend the prediction samples for the blend region width, and the blend region width may be selected based on blending the prediction samples for the blend region width.
[0005]
[0005] The reconstructed adjacent samples may include left adjacent samples, upper adjacent samples, and / or left and upper adjacent samples of the coded block. The template size may be based on at least the slice type or the block size of the coded block. The selected blend region width may correspond to the blend region width that yields the minimum template cost among the blend region widths.
[0006]
[0006] The device may receive from the video data the residual between the blend region width index derived from the template and the best blend region width index. The device may adjust the selected blend region width based on the residual, and the coded block may be decoded further based on the adjusted selected blend region width.
[0007]
[0007] An exemplary video encoding device may determine that a geometric segmentation mode (GPM) is enabled for a coded block. The device may test blend region widths based on predicted samples associated with reconfigured adjacent samples of the coded block. The device may select a blend region width from a plurality of blend region widths. The device may encode the coded block based on the selected blend region width.
[0008]
[0008] The device may create a template containing reconfigured adjacent samples of coded blocks. The device may divide the template into sub-sections based on the partitioning angles of the coded blocks. The device may generate predictive samples for the sub-sections. The device may blend the predictive samples against a blending region width, which may be selected based on blending the predictive samples against a blending region width.
[0009]
[0009] The reconstructed adjacent samples may include one or more of the left adjacent samples, upper adjacent samples, or left and upper adjacent samples of the coded block. The template size may be based on at least the slice type or the block size of the coded block. The selected blend region width may correspond to the blend region width that yields the minimum template cost among the blend region widths.
[0010]
[0010] The device may determine the residual between the blend region width index derived from the template and the best blend region width index. The device may include the residual in the video data. The device may adjust the selected blend region width based on the residual, and the coded block may be further coded based on the adjusted selected blend region width.
[0011]
[0011] Systems, methods, and means may be configured for template-based geometric segmentation mode (GPM) blended region widths. An exemplary video decoding device may determine that geometric segmentation mode (GPM) is enabled for a coded block. The device may test multiple blended region widths based on multiple predicted samples associated with adjacent samples of the coded block. The device may select a blended region width from the multiple blended region widths. The device may decode the coded block based on the selected blended region width. Testing multiple blended region widths may include generating predicted samples for two sub-partitions of the coded block template and blending the predicted samples using the multiple blended region widths. The selected blended region width may correspond to the blended region width that yields the minimum template cost among the multiple blended region widths.
[0012]
[0012] An exemplary video coding device may determine that a geometric segmentation mode (GPM) is enabled for a coding block. The device may test multiple blend region widths based on multiple predicted samples associated with adjacent samples of the coding block. The device may select a blend region width from the multiple blend region widths. The device may code the coding block based on the selected blend region width. Testing multiple blend region widths may involve generating predicted samples for two sub-segments of the coding block template and blending the predicted samples using the multiple blend region widths. The selected blend region width may correspond to the blend region width that yields the minimum template cost among the multiple blend region widths. [Brief explanation of the drawing]
[0013] Brief explanation of the drawing [Figure 1A]
[0013] This is a system diagram illustrating an exemplary communication system in which one or more of the disclosed embodiments may be implemented. [Figure 1B]
[0014] This is a system diagram illustrating an exemplary wireless transmit / receive unit (WTRU) that may be used in the communication system illustrated in Figure 1A, according to one embodiment. [Figure 1C]
[0015] This is a system diagram illustrating an exemplary radio access network (RAN) and an exemplary core network (CN) that may be used in a communication system illustrated in Figure 1A according to one embodiment. [Figure 1D]
[0016] This is a system diagram illustrating further exemplary RANs and further exemplary CNs that may be used in the communication system illustrated in Figure 1A according to one embodiment. [Figure 2]
[0017] This is a diagram illustrating an example video encoder. [Figure 3]
[0018] This is a diagram illustrating an exemplary video decoder. [Figure 4]
[0019] This is a diagram illustrating an example of a system in which various aspects and examples may be implemented. [Figure 5]
[0020] This is a diagram illustrating an example of partitioning in Geometric Partition Mode (GPM). [Figure 6]
[0021] This is a diagram illustrating an exemplary blend weight w0. [Figure 7]
[0022] This is a diagram illustrating an example of IPM candidate modes. [Figure 8A]
[0023] This is a diagram illustrating an exemplary spatial GPM (SGPM, spatial Geometric Partition Mode) in which the candidate list includes signaled video data. [Figure 8B]
[0023] This is a diagram illustrating the content of the candidate list. [Figure 9]
[0024] This is a diagram illustrating an example of slanted weighting values. [Figure 10]
[0025] This is a diagram illustrating a discrete ramp function for determining weights. [Figure 11]
[0026] This illustrates an example of several blend region sizes. [Figure 12]
[0027] This is a diagram illustrating an exemplary template used to generate the SGPM candidate list. [Figure 13]
[0028] This is a diagram illustrating an exemplary flowchart of SGPM. [Figure 14]
[0029] This is a diagram illustrating an L-shaped template that may be used to derive a blend region width index. [Figure 15]
[0030] This is a diagram illustrating a flowchart for selecting a blend region width index based on a template. [Figure 16]
[0031] This figure illustrates the use of fixed weights to blend predicted sample values within a template. [Figure 17A]
[0032] This figure illustrates an example of creating a template based on segmentation angles using adjacent samples. [Figure 17B]
[0032] This figure illustrates an example of creating a template based on the division angle using adjacent samples. [Figure 17C]
[0032] This figure illustrates an example of creating a template based on the division angle using adjacent samples. [Figure 18]
[0033] This figure illustrates an example of creating a template using adjacent samples around a segmented angle. [Modes for carrying out the invention]
[0014] Detailed explanation
[0034] A more detailed understanding can be gained from the following explanation, which is provided as an example along with the attached drawings.
[0015]
[0035] Figure 1A illustrates an exemplary communication system 100 in which one or more of the disclosed embodiments may be implemented. The communication system 100 may be a multiple access system that provides content such as voice, data, video, messaging, and broadcast to multiple wireless users. The communication system 100 may enable multiple wireless users to access such content through the sharing of system resources, including wireless bandwidth. For example, the communication system 100 may employ one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), zero-tail unique-word DFT-Spread OFDM (ZT UW DTS-s OFDM), unique-word OFDM (UW-OFDM), resource block filter OFDM, filter bank multicarrier (FBMC), and similar methods.
[0016]
[0036] As shown in Figure 1A, the communication system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, RAN 104 / 113, CN 106 / 115, public switched telephone network (PSTN) 108, the Internet 110, and other networks 112, but it should be understood that the disclosed embodiments intend any number of WTRUs, base stations, networks, and / or network elements. Each of the WTRUs 102a, 102b, 102c, and 102d may be any type of device configured to operate and / or communicate in a wireless environment. For example, WTRU 102a, 102b, 102c, and 102d (any of which may be referred to as “station” and / or “STA”) may be configured to transmit and / or receive radio signals and may include user equipment (UE), mobile stations, fixed or mobile subscriber units, subscriber base units, pagers, mobile phones, personal digital assistants (PDAs), smartphones, laptops, netbooks, personal computers, wireless sensors, hotspots or Mi-Fi devices, Internet of Things (IoT) devices, watches or other wearables, head-mounted displays (HMDs), vehicles, drones, medical devices and applications (e.g., remote surgery), industrial devices and applications (e.g., robots and / or other wireless devices operating in industrial and / or automated processing chain settings), consumer electronics devices, and devices operating on commercial and / or industrial wireless networks. Any of WTRU 102a, 102b, 102c, and 102d may be interchangeably referred to as UE.
[0017]
[0037] The communication system 100 may also include base stations 114a and / or base stations 114b. Each of the base stations 114a and 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, and 102d to facilitate access to one or more communication networks such as CN 106 / 115, the Internet 110, and / or other networks 112. As an example, base stations 114a and 114b may be base transceiver station (BTS), node B, enode B, home node B, home enode B, gNB, NR node B, site controller, access point (AP), wireless router, and similar. Although base stations 114a and 114b are each represented as single elements, it will be understood that base stations 114a and 114b may include any number of interconnected base stations and / or network elements.
[0018]
[0038] Base station 114a may be part of RAN 104 / 113, which may also include other base stations and / or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), and relay nodes. Base stations 114a and / or base stations 114b may be configured to transmit and / or receive radio signals on one or more carrier frequencies, which may be called cells (not shown). These frequencies may exist in the licensed spectrum, the unlicensed spectrum, or a combination of the licensed and unlicensed spectrum. A cell may provide coverage of radio services to a particular geographic area, which may be relatively fixed or change over time. A cell may be further divided into cell sectors. For example, a cell associated with base station 114a may be divided into three sectors. Thus, in one embodiment, base station 114a may include three transceivers, i.e., one transceiver per sector of the cell. In one embodiment, the base station 114a may employ multiple-input multiple output (MIMO) technology and utilize multiple transceivers for each sector of the cell. For example, beamforming may be used to transmit and / or receive signals in a desired spatial direction.
[0019]
[0039] Base stations 114a and 114b may communicate with one or more WTRUs 102a, 102b, 102c, and 102d via a radio interface 116 which may be any suitable radio communication link (e.g., radio frequency (RF), microwave, centimeter wave, micrometer wave, infrared (IR), ultraviolet (UV), visible light, etc.). The radio interface 116 may be established using any suitable radio access technology (RAT).
[0020]
[0040] More specifically, as described above, the communication system 100 may be a multiple access system and may employ one or more channel access schemes such as CDMA, TDMA, FDMA, OFDMA, and SC-FDMA. For example, base stations 114a and WTRUs 102a, 102b, and 102c within RAN 104 / 113 may implement radio technologies such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA) that can establish radio interfaces 115 / 116 / 117 using wideband CDMA (WCDMA). WCDMA may include communication protocols such as High-Speed Packet Access (HSPA) and / or Advanced HSPA (HSPA+). HSPA may include High-Speed Downlink (DL) Packet Access (HSDPA) and / or High-Speed UL Packet Access (HSUPA).
[0021]
[0041] In one embodiment, base stations 114a and WTRUs 102a, 102b, and 102c may implement radio technologies such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which can establish a radio interface 116 using Long Term Evolution (LTE) and / or LTE-Advanced (LTE-A) and / or LTE-Advanced Pro (LTE-A Pro).
[0022]
[0042] In one embodiment, the base station 114a and WTRUs 102a, 102b, and 102c may implement radio technologies such as NR radio access, which can establish a radio interface 116 using New Radio (NR).
[0023]
[0043] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, base station 114a and WTRUs 102a, 102b, 102c may implement LTE radio access and NR radio access together, for example, using the dual connectivity (DC) principle. Thus, the radio interface utilized by WTRUs 102a, 102b, 102c may be characterized by transmissions between multiple types of radio access technologies and / or multiple types of base stations (e.g., eNB and gNB).
[0024]
[0044] In other embodiments, base stations 114a and WTRUs 102a, 102b, and 102c may implement wireless technologies such as IEEE 802.11 (i.e., Wireless Fidelity (WiFi)), IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, Provisional Standard 2000 (IS-2000), Provisional Standard 95 (IS-95), Provisional Standard 856 (IS-856), Global System for Mobile Communications (GSM), GSM Advanced High Speed Data Rate (EDGE), and GSM EDGE (GERAN).
[0025]
[0045] The base station 114b in Figure 1A may be, for example, a wireless router, home node B, home e-node B, or access point, and may utilize any suitable RAT to facilitate wireless connectivity in localized areas such as offices, homes, vehicles, campuses, industrial facilities, aerial walkways (e.g., for use by drones), and roads. In one embodiment, the base station 114b and WTRUs 102c, 102d may establish a wireless local area network (WLAN) by implementing wireless technologies such as IEEE 802.11. In another embodiment, the base station 114b and WTRUs 102c, 102d may establish a wireless personal area network (WPAN) by implementing wireless technologies such as IEEE 802.15. In yet another embodiment, the base station 114b and WTRUs 102c, 102d may establish a picocell or femtocell using a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.). As shown in Figure 1A, base station 114b may be directly connected to the internet 110. Therefore, base station 114b may not need to access the internet 110 via CN 106 / 115.
[0026]
[0046] RAN 104 / 113 may communicate with CN 106 / 115, which may be any type of network configured to provide voice, data, applications, and / or Voice over Internet Protocol (VoIP) services to one or more of WTRU 102a, 102b, 102c, and 102d. The data may have various quality of service (QoS) requirements, such as different throughput requirements, latency requirements, error tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, and so on. CN 106 / 115 may provide call control, billing services, mobile location-based services, prepaid calls, internet connectivity, video distribution, and / or perform high-level security functions such as user authentication. Although not shown in Figure 1A, it should be understood that RAN 104 / 113 and / or CN 106 / 115 may communicate directly or indirectly with other RANs employing the same or different RATs as RAN 104 / 113. For example, in addition to connecting to RAN 104 / 113 which may be using NR radio technology, CN 106 / 115 may also communicate with another RAN (not shown) employing GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or WiFi radio technology.
[0027]
[0047] CN 106 / 115 may also function as a gateway for WTRU 102a, 102b, 102c, and 102d to access PSTN 108, the Internet 110, and / or other networks 112. PSTN 108 may include a circuit-switched telephone network providing plain old telephone service (POTS). The Internet 110 may include a global system of interconnected computer networks and devices using common communication protocols such as the transmission control protocol (TCP), user datagram protocol (UDP), and / or Internet protocol (IP) within the TCP / IP Internet Protocol suite. Network 112 may include wired and / or wireless networks owned and / or operated by other service providers. For example, network 112 may include another CN connected to one or more RANs that may employ the same RAT as RAN 104 / 113 or a different RAT.
[0028]
[0048] Some or all of the WTRUs 102a, 102b, 102c, and 102d in the communication system 100 may include multimode functionality (for example, WTRUs 102a, 102b, 102c, and 102d may include multiple transceivers for communicating with different radio networks via different radio links). For example, WTRU 102c shown in Figure 1A may be configured to communicate with base station 114a, which may employ cellular-based radio technology, and base station 114b, which may employ IEEE 802 radio technology.
[0029]
[0049] Figure 1B is a system diagram illustrating an exemplary WTRU 102. As shown in Figure 1B, the WTRU 102 may include, in particular, a processor 118, a transceiver 120, a transmit / receive element 122, a speaker / microphone 124, a keypad 126, a display / touchpad 128, non-removable memory 130, removable memory 132, a power supply 134, a Global Positioning System (GPS) chipset 136, and / or other peripherals 138. It will be understood that the WTRU 102 may include any partial combination of the above elements while maintaining consistency with one embodiment.
[0030]
[0050] The processor 118 may be a general-purpose processor, a dedicated processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), a state machine, etc. The processor 118 may perform signal coding, data processing, power control, input / output processing, and / or any other functions that enable the WTRU 102 to operate in a wireless environment. The processor 118 may be coupled to a transceiver 120 which may be coupled to a transmit / receive element 122. Although Figure 1B shows the processor 118 and the transceiver 120 as separate components, it will be understood that the processor 118 and the transceiver 120 may be integrated together in an electronic package or chip.
[0031]
[0051] The transmit / receive element 122 may be configured to transmit or receive signals to and from a base station (e.g., base station 114a) via the radio interface 116. For example, in one embodiment, the transmit / receive element 122 may be an antenna configured to transmit and / or receive RF signals. In one embodiment, the transmit / receive element 122 may be an emitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In yet another embodiment, the transmit / receive element 122 may be configured to transmit and / or receive both RF signals and optical signals. It will be understood that the transmit / receive element 122 may be configured to transmit and / or receive any combination of radio signals.
[0032]
[0052] In Figure 1B, the transmit / receive element 122 is shown as a single element, but the WTRU 102 may include any number of transmit / receive elements 122. More specifically, the WTRU 102 may employ MIMO technology. Thus, in one embodiment, the WTRU 102 may include two or more transmit / receive elements 122 (e.g., multiple antennas) that transmit and receive radio signals via the radio interface 116.
[0033]
[0053] The transceiver 120 may be configured to modulate the signal to be transmitted by the transmit / receive element 122 and to demodulate the signal received by the transmit / receive element 122. As described above, the WTRU 102 may have multimode capabilities. Therefore, the transceiver 120 may include multiple transceivers to enable the WTRU 102 to communicate via multiple RATs, such as NR and IEEE 802.11.
[0034]
[0054] The processor 118 of WTRU 102 may be coupled to a speaker / microphone 124, a keypad 126, and / or a display / touchpad 128 (e.g., a liquid crystal display (LCD) display unit or an organic light-emitting diode (OLED) display unit) and may receive user input data from them. The processor 118 may also output user data to the speaker / microphone 124, the keypad 126, and / or the display / touchpad 128. In addition, the processor 118 may access information from any type of suitable memory, such as non-removable memory 130 and / or removable memory 132, and store data in memory. Non-removable memory 130 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. Removable memory 132 may include a subscriber identification module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 118 may access information from memory that is not physically located in the WTRU 102, for example, a server or home computer (not shown), and store data in memory.
[0035]
[0055] The processor 118 may receive power from the power supply 134 and may be configured to distribute and / or control power to other components within the WTRU 102. The power supply 134 may be any suitable device for supplying power to the WTRU 102. For example, the power supply 134 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium ion (Li ion), etc.), a solar cell, a fuel cell, etc.
[0036]
[0056] The processor 118 may also be coupled to a GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 102. In addition to, or as an alternative to, information from the GPS chipset 136, the WTRU 102 may receive location information from base stations (e.g., base stations 114a, 114b) via the radio interface 116 and / or determine its location based on the timing of signals received from two or more neighboring base stations. It will be understood that the WTRU 102 may acquire location information by any suitable localization method while maintaining consistency with one embodiment.
[0037]
[0057] The processor 118 may further be coupled to other peripherals 138 which may include one or more software modules and / or hardware modules that provide additional features, functions and / or wired or wireless connectivity. For example, peripherals 138 may include an accelerometer, e-compass, satellite transceiver, digital camera (for photos and / or video), Universal Serial Bus (USB) port, vibration device, TV transceiver, hands-free headset, Bluetooth® module, frequency modulation (FM) radio unit, digital music player, media player, video game player module, internet browser, virtual reality and / or augmented reality (VR / AR) device, activity tracker, etc. Peripherals 138 may include one or more sensors, which may be one or more of a gyroscope, accelerometer, Hall effect sensor, magnetometer, compass sensor, proximity sensor, temperature sensor, time sensor, geolocation sensor, altimeter, light sensor, touch sensor, magnetometer, barometer, gesture sensor, biometric sensor, and / or humidity sensor.
[0038]
[0058] WTRU 102 may include a full-duplex radio where the transmission and reception of some or all of the signals (e.g., associated with specific subframes of both UL (e.g., for transmission) and downlink (e.g., for reception) may be parallel and / or simultaneous. The full-duplex radio may include an interference management unit that reduces and / or substantially eliminates self-interference either through hardware (e.g., chokes) or processor (e.g., via a separate processor (not shown) or processor 118) signal processing. In one embodiment, WTRU 102 may include a half-duplex radio for the transmission and reception of some or all of the signals (e.g., associated with specific subframes of either UL (e.g., for transmission) or downlink (e.g., for reception)).
[0039]
[0059] Figure 1C is a system diagram illustrating RAN 104 and CN 106 according to one embodiment. As described above, RAN 104 employs E-UTRA wireless technology and can communicate with WTRU 102a, 102b, and 102c via wireless interface 116. RAN 104 can also communicate with CN 106.
[0040]
[0060] RAN 104 may include e-nodes B 160a, 160b, and 160c, but it should be understood that RAN 104 may include any number of e-nodes B while maintaining consistency with one embodiment. Each of e-nodes B 160a, 160b, and 160c may include one or more transceivers for communicating with WTRUs 102a, 102b, and 102c via the radio interface 116. In one embodiment, e-nodes B 160a, 160b, and 160c may implement MIMO technology. For example, e-node B 160a may use multiple antennas to transmit radio signals to and / or receive radio signals from WTRU 102a.
[0041]
[0061] Each of the e-nodes B 160a, 160b, and 160c may be associated with a specific cell (not shown) and may be configured to handle wireless resource management decisions, handover decisions, user scheduling in UL and / or DL, etc. As shown in Figure 1C, the e-nodes B 160a, 160b, and 160c may communicate with each other via the X2 interface.
[0042]
[0062] The CN 106 shown in Figure 1C may include a mobility management entity (MME) 162, a serving gateway (SGW) 164, and a packet data network (PDN) gateway (or PGW) 166. Although each of the above elements is depicted as part of CN 106, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0043]
[0063] The MME 162 may be connected to each of the e-nodes B 162a, 162b, and 162c within RAN 104 via the S1 interface and may function as a control node. For example, the MME 162 may be responsible for user authentication of WTRUs 102a, 102b, and 102c, bearer activation / deactivation, and selecting a specific serving gateway during the initial attachment of WTRUs 102a, 102b, and 102c. The MME 162 may provide control plane functionality for switching between RAN 104 and other RANs (not shown) employing other radio technologies such as GSM and / or WCDMA.
[0044]
[0064] SGW 164 can be connected to each of the e-nodes B 160a, 160b, and 160c in RAN 104 via the S1 interface. SGW 164 can generally route and forward user data packets to and from WTRUs 102a, 102b, and 102c. SGW 164 can perform other functions such as anchoring the user plane during e-node B handovers, triggering paging when DL data is available for WTRUs 102a, 102b, and 102c, managing and remembering the context of WTRUs 102a, 102b, and 102c, and similar functions.
[0045]
[0065] SGW 164 may be connected to PGW 166, which can provide WTRU 102a, 102b, and 102c with access to packet-switched networks such as the Internet 110, and facilitate communication between WTRU 102a, 102b, and 102c and IP-enabled devices.
[0046]
[0066] CN 106 may facilitate communication with other networks. For example, CN 106 may provide WTRU 102a, 102b, and 102c with access to a circuit-switched network such as PSTN 108 to facilitate communication between WTRU 102a, 102b, and 102c and conventional land communication devices. For example, CN 106 may include or communicate with an IP gateway (e.g., an IP multimedia subsystem (IMS (IP multimedia subsystem)) server) that acts as an interface between CN 106 and PSTN 108. In addition, CN 106 may provide WTRU 102a, 102b, and 102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers.
[0047]
[0067] In Figures 1A to 1D, the WTRU is described as a wireless terminal, but in certain representative embodiments, it is intended that such a terminal may be able to use a wired communication interface with a communication network (for example, temporarily or permanently).
[0048]
[0068] In a typical embodiment, the other network 112 may be a WLAN.
[0049]
[0069] A WLAN in Infrastructure Basic Service Set (BSS) mode may have an access point (AP) for the BSS and one or more stations (STAs) associated with that AP. The AP may have access to or an interface with a distribution system (DS) or another type of wired / wireless network that carries traffic to and from the BSS. Traffic originating from outside the BSS to an STA may arrive via the AP and be delivered to the STA. Traffic originating from an STA to a destination outside the BSS may be sent to the AP and delivered to its respective destination. Traffic between STAs within the BSS may be transmitted via the AP; for example, a source STA may send traffic to the AP, and the AP may deliver the traffic to the destination STA. Traffic between STAs within the BSS is considered and / or sometimes referred to as peer-to-peer traffic. Peer-to-peer traffic may be transmitted (e.g., directly) between a source STA and a destination STA using a direct link setup (DLS). In certain representative embodiments, the DLS may use 802.11e DLS or 802.11z tunneled DLS (TDLS (tunneled DLS)). A WLAN using Independent BSS (IBSS (Independent BSS)) mode may not have APs, and STAs within or using IBSS (e.g., all STAs) may communicate directly with each other. The IBSS communication mode may sometimes be referred to as “ad hoc” communication mode in this specification.
[0050]
[0070] When using the 802.11ac infrastructure operating mode or a similar operating mode, an AP may transmit beacons on a fixed channel, such as the primary channel. The primary channel may be of a fixed width (e.g., a 20 MHz bandwidth) or a width that is dynamically set via signal transmission. The primary channel may be the operating channel of the BSS, and an STA may be used to establish a connection with the AP. In certain typical embodiments, for example, Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA) may be implemented in the 802.11 system. In the case of CSMA / CA, an STA, including the AP (e.g., any STA), may detect the primary channel. If the primary channel is detected / discovered by a particular STA and / or identified as busy, that particular STA may backoff. In a given BSS, one STA (e.g., only one station) may transmit at any given time.
[0051]
[0071] A high-throughput (HT) STA can use a 40MHz wide channel for communication, for example, by combining a primary 20MHz channel with adjacent or non-adjacent 20MHz channels to form a 40MHz wide channel.
[0052]
[0072] Very High Throughput (VHT) STAs can support 20MHz, 40MHz, 80MHz, and / or 160MHz wide channels. 40MHz and / or 80MHz channels can be formed by combining consecutive 20MHz channels. 160MHz channels can be formed by combining eight consecutive 20MHz channels, or by combining two non-consecutive 80MHz channels, sometimes referred to as an 80+80 configuration. In the 80+80 configuration, the channel-coded data can pass through a segment parser that can split the data into two streams. Inverse Fast Fourier Transform (IFFT) and time-domain processing can be performed separately for each stream. The streams can be mapped to two 80MHz channels, and the data can be transmitted by the transmitting STA. At the receiver of the receiving STA, the operation described above for the 80+80 configuration may be reversed, and the combined data can be transmitted to Medium Access Control (MAC).
[0053]
[0073] Operating modes below 1 GHz are supported in 802.11af and 802.11ah. Channel operating bandwidth and carrier are reduced in 802.11af and 802.11ah compared to those used in 802.11n and 802.11ac. 802.11af supports bandwidths of 5 MHz, 10 MHz, and 20 MHz in the TV White Space (TVWS) spectrum, while 802.11ah supports bandwidths of 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz using the non-TVWS spectrum. According to a typical embodiment, 802.11ah may support meter-type control / machine-type communications, such as MTC devices in a macro coverage area. MTC devices may have limited functionality, including support for specific and / or limited bandwidths (e.g., support only). MTC devices may include batteries with battery life exceeding a threshold (e.g., to maintain very long battery life).
[0054]
[0074] WLAN systems that support multiple channels and channel bandwidths, such as 802.11n, 802.11ac, 802.11af, and 802.11ah, include a channel that can be designated as the primary channel. The primary channel may have a bandwidth equal to the maximum common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel may be set and / or limited by the STA that supports the minimum bandwidth operating mode among all STAs operating in the BSS. In the 802.11ah example, even if the AP and other STAs in the BSS support operating modes of 2MHz, 4MHz, 8MHz, 16MHz and / or other channel bandwidths, the primary channel may be 1MHz wide for an STA (e.g., an MTC type device) that supports 1MHz mode (e.g., only 1MHz mode). Carrier sensing and / or Network Allocation Vector (NAV) settings may depend on the status of the primary channel. For example, if an STA (which only supports 1MHz operating mode) has its primary channel busy transmitting to an AP, the entire available frequency band may be considered busy, even though a large portion of the frequency band remains idle and could be available.
[0055]
[0075] In the United States, the available frequency band for 802.11ah is 902MHz to 928MHz. In South Korea, the available frequency band is 917.5MHz to 923.5MHz. In Japan, the available frequency band is 916.5MHz to 927.5MHz. The total available bandwidth for 802.11ah is 6MHz to 26MHz, depending on the country code.
[0056]
[0076] Figure 1D is a system diagram illustrating RAN 113 and CN 115 according to one embodiment. As described above, RAN 113 employs NR radio technology and can communicate with WTRU 102a, 102b, and 102c via the radio interface 116. RAN 113 can also communicate with CN 115.
[0057]
[0077] RAN 113 may include gNBs 180a, 180b, and 180c, but it will be understood that RAN 113 may include any number of gNBs while maintaining consistency with the embodiment. Each of the gNBs 180a, 180b, and 180c may include one or more transceivers for communicating with WTRUs 102a, 102b, and 102c via the radio interface 116. In one embodiment, the gNBs 180a, 180b, and 180c may implement MIMO technology. For example, the gNBs 180a and 180b may utilize beamforming to transmit signals to and / or receive signals from the gNBs 180a, 180b, and 180c. Therefore, for example, gNB 180a may use multiple antennas to transmit radio signals to and / or receive radio signals from WTRU 102a. In one embodiment, gNBs 180a, 180b, and 180c may implement carrier aggregation technology. For example, gNB 180a may transmit multiple component carriers to WTRU 102a (not shown). A subset of these component carriers may be on the unlicensed spectrum, and the remaining component carriers may be on the licensed spectrum. In one embodiment, gNBs 180a, 180b, and 180c may implement Coordinated Multi-Point (CoMP) technology. For example, WTRU 102a may receive coordinated transmissions from gNBs 180a and 180b (and / or gNB 180c).
[0058]
[0078] WTRU 102a, 102b, and 102c may communicate with gNB 180a, 180b, and 180c using transmissions associated with scalable neurology. For example, OFDM symbol intervals and / or OFDM subcarrier intervals may vary for different transmissions, different cells, and / or different parts of the radio transmission spectrum. WTRU 102a, 102b, and 102c may communicate with gNB 180a, 180b, and 180c using subframes or transmission time intervals (TTIs) of varying or scalable lengths (e.g., containing varying numbers of OFDM symbols and / or lasting for varying absolute times).
[0059]
[0079] gNBs 180a, 180b, and 180c can be configured to communicate with WTRUs 102a, 102b, and 102c in standalone and / or non-standalone configurations. In a standalone configuration, WTRUs 102a, 102b, and 102c can communicate with gNBs 180a, 180b, and 180c without accessing other RANs (e.g., e-nodes B 160a, 160b, and 160c). In a standalone configuration, WTRUs 102a, 102b, and 102c can utilize one or more gNBs 180a, 180b, and 180c as mobility anchor points. In a standalone configuration, WTRUs 102a, 102b, and 102c can communicate with gNBs 180a, 180b, and 180c using signals in unauthorized bands. In a non-standalone configuration, WTRUs 102a, 102b, and 102c can communicate / connect with gNBs 180a, 180b, and 180c, while also communicating / connecting with other RANs such as enodes B 160a, 160b, and 160c. For example, WTRUs 102a, 102b, and 102c can implement DC principles for substantially simultaneous communication with one or more gNBs 180a, 180b, and 180c and one or more enodes B 160a, 160b, and 160c. In a non-standalone configuration, e-nodes B 160a, 160b, and 160c can function as mobility anchors for WTRUs 102a, 102b, and 102c, and gNBs 180a, 180b, and 180c can provide additional coverage and / or throughput to serve WTRUs 102a, 102b, and 102c.
[0060]
[0080] Each of the gNBs 180a, 180b, and 180c may be associated with a specific cell (not shown) and may be configured to address wireless resource management decisions, handover decisions, user scheduling in UL and / or DL, support for network slicing, dual connectivity, interaction between NR and E-UTRA, routing of user plane data to User Plane Functions (UPFs) 184a and 184b, and routing of control plane information to Access and Mobility Management Functions (AMFs) 182a and 182b. As shown in Figure 1D, the gNBs 180a, 180b, and 180c may communicate with each other via the Xn interface.
[0061]
[0081] The CN 115 shown in Figure 1D may include at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one Session Management Function (SMF) 183a, 183b, and optionally a Data Network (DN) 185a, 185b. Although each of the above elements is depicted as part of CN 115, it should be understood that any of these elements may be owned and / or operated by entities other than the CN operator.
[0062]
[0082] AMF 182a and 182b may be connected to one or more gNB 180a, 180b, and 180c within RAN 113 via the N2 interface and may function as control nodes. For example, AMF 182a and 182b may be responsible for user authentication of WTRU 102a, 102b, and 102c, support for network slicing (e.g., handling different PDU sessions with different requirements), selection of specific SMF 183a and 183b, management of registration areas, termination of NAS signaling, and mobility management. Network slicing may be used by AMF 182a and 182b to customize CN support for WTRU 102a, 102b, and 102c based on the type of services utilized by WTRU 102a, 102b, and 102c. For example, different network slices may be established for different use cases, such as services that rely on ultra-reliable low latency (URLLC) access, services that rely on enhanced massive mobile broadband (eMBB) access, services for machine type communication (MTC) access, and / or similar. The AMF 162 may provide control plane functionality for switching between RAN 113 and other RANs (not shown) employing other radio technologies such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies such as WiFi.
[0063]
[0083] SMF 183a and 183b can be connected to AMF 182a and 182b in CN 115 via the N11 interface. SMF 183a and 183b can also be connected to UPF 184a and 184b in CN 115 via the N4 interface. SMF 183a and 183b can select and control UPF 184a and 184b and configure the routing of traffic passing through UPF 184a and 184b. SMF 183a and 183b can perform other functions such as managing and assigning UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, and providing downlink data notifications. PDU session types can be IP-based, non-IP-based, Ethernet-based, etc.
[0064]
[0084] UPF 184a, 184b may be connected to one or more gNB 180a, 180b, 180c in RAN 113 via the N3 interface, thereby providing WTRU 102a, 102b, 102c with access to packet-switched networks such as the Internet 110, facilitating communication between WTRU 102a, 102b, 102c and IP-enabled devices. UPF 184, 184b may perform other functions such as packet routing and forwarding, enforcement of user plane policies, support for multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, providing mobility anchoring, and similar functions.
[0065]
[0085] CN 115 can facilitate communication with other networks. For example, CN 115 may include, or communicate with, an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that functions as an interface between CN 115 and PSTN 108. In addition, CN 115 may provide WTRU 102a, 102b, 102c with access to other networks 112, which may include other wired and / or wireless networks owned and / or operated by other service providers. In one embodiment, WTRU 102a, 102b, 102c may be connected to local data networks (DNs) 185a, 185b via UPF 184a, 184b through an N3 interface to UPF 184a, 184b and an N6 interface between UPF 184a, 184b and DNs 185a, 185b.
[0066]
[0086] Considering Figures 1A to 1D and their corresponding descriptions, one or more of the functions described herein with respect to one or more of the WTRU 102a to d, base stations 114a to b, e-node B 160a to c, MME 162, SGW 164, PGW 166, gNB 180a to c, AMF 182a to b, UPF 184a to b, SMF 183a to b, DN 185a to b, and / or any other devices described herein, one or more of the functions described herein may be performed by one or more emulation devices (not shown). An emulation device may be one or more devices configured to emulate one or more of the functions described herein. For example, an emulation device may be used to test other devices and / or to simulate network and / or WTRU functions.
[0067]
[0087] Emulation devices may be designed to perform one or more tests on other devices in a laboratory and / or operator network environment. For example, one or more emulation devices may perform one or more or all functions in a fully or partially implemented and / or deployed state as part of a wired and / or wireless network to test other devices in a communication network. One or more emulation devices may perform one or more or all functions in a temporarily implemented / deployed state as part of a wired and / or wireless network. Emulation devices may be directly coupled to another device for testing purposes and / or perform tests using wireless communication.
[0068]
[0088] One or more emulation devices may perform one or more functions, including all of the above, in a state where they are not implemented / deployed as part of a wired and / or wireless communication network. For example, an emulation device may be used in a test scenario in a test laboratory and / or an undeployed (e.g., under test) wired and / or wireless communication network to perform testing of one or more elements. One or more emulation devices may be test equipment. Wireless communication via direct RF coupling and / or RF circuitry (e.g., which may include one or more antennas) may be used by an emulation device to transmit and / or receive data.
[0069]
[0089] This application describes various embodiments, including tools, features, examples, models, and methods. Many of these embodiments are described in detail, often in a manner that may seem restrictive, at least in order to illustrate their individual characteristics. However, this is for the purpose of clarifying the description and not to limit the application or scope of those embodiments. In fact, all of the different embodiments can be combined and interchangeable to provide further embodiments. Moreover, these embodiments can also be combined and interchangeable with embodiments described in previous applications.
[0070]
[0090] The embodiments described and intended in this application can be implemented in many different forms. Figures 5 to 18 described herein may provide some examples, but other examples are also intended. The consideration of Figures 5 to 18 is not limited to the scope of implementation forms. At least one of the embodiments generally relates to video encoding and decoding, and at least one other embodiment generally relates to transmitting a generated or encoded bitstream. These embodiments and other embodiments can be implemented as a computer-readable storage medium storing instructions for encoding or decoding video data according to any of the methods, apparatus, or described methods, and / or a computer-readable storage medium storing a bitstream generated according to any of the described methods.
[0071]
[0091] In this application, the terms “reconstructed” and “decoded” may be used interchangeably, the terms “pixel” and “sample” may be used interchangeably, and the terms “image,” “picture,” and “frame” may be used interchangeably.
[0072]
[0092] Various methods are described herein, each of which includes one or more steps or actions to achieve the described method. Unless a particular order of steps or actions is required for the proper operation of the method, the order and / or use of any particular steps and / or actions may be modified or combined. In addition, terms such as “first,” “second,” etc., may be used in various examples to modify elements, components, steps, actions, etc. (e.g., “first decryption” and “second decryption”). The use of such terms does not implicitly imply an ordering of the modified actions unless specifically required. Thus, in this example, the first decryption does not need to be performed before the second decryption, but may be performed, for example, before the second decryption, during the second decryption, or during a period overlapping with the second decryption.
[0073]
[0093] Various methods and other embodiments described herein may be used to modify modules of the video encoder 200 and decoder 300, such as the decoding module, as shown in Figures 2 and 3. Furthermore, the subject matter disclosed herein may be applied to any type, format, or version of video encoding, whether existing or future, whether described in standards or recommendations, and any extensions of such standards and recommendations. Unless otherwise indicated or technically excluded, the embodiments described herein may be used individually or in combination.
[0074]
[0094] Various numerical values such as 1, 2, 4, 7, 8, 16, 32, and 64 are used in the examples described in this application. These and other specific values are for illustrative purposes only, and the embodiments described are not limited to these specific values.
[0075]
[0095] Figure 2 shows an exemplary video encoder 200. While variations of the exemplary encoder 200 are intended, the encoder 200 is described below for clarity, and not all expected variations are described.
[0076]
[0096] Before encoding, the video sequence may undergo pre-encoding processing (201), such as applying a color conversion to the input color picture (e.g., from RGB4:4:4 to YCbCr4:2:0) or performing a remapping of the input picture components to obtain a signal distribution more resistant to compression (e.g., using histogram equalization of one of the color components). Metadata (e.g., including film grain parameters determined by the pre-processing described herein) may be associated with the pre-processing and attached to the bitstream.
[0077]
[0097] In encoder 200, the picture is encoded by encoder elements as described below. The picture to be encoded is divided into units, for example, coding units (CUs) (202), and processed. Each unit is encoded using either intra-mode or inter-mode, for example. If a unit is encoded in intra-mode, it performs intra-prediction (260). In inter-mode, motion estimation (275) and compensation (270) are performed. The encoder decides whether to use intra-mode or inter-mode to encode a unit (205), and indicates the intra / inter decision, for example, by a prediction mode flag. For example, the prediction residual is calculated by subtracting the prediction block from the original image block (210).
[0078]
[0098] The predicted residual is then transformed (225) and quantized (230). The quantized transformation coefficients, as well as the motion vector and other syntactic elements, are entropy coded (245) to output a bitstream. The encoder can skip the transformation and apply quantization directly to the untransformed residual signal. The encoder can bypass both the transformation and quantization, i.e., the residual is coded directly without applying either the transformation or quantization process.
[0079]
[0099] The encoder decodes the encoded blocks to provide a reference for further prediction. The quantized transformation coefficients are inversely quantized (240) and inversely transformed (250) to decode the prediction residuals. The image blocks are reconstructed by combining the decoded prediction residuals with the prediction blocks (255). To reduce encoding artifacts, an in-loop filter (265) is applied to the reconstructed picture, for example, to perform deblocking / SAO (Sample Adaptive Offset) filtering. The filtered image is stored in a reference picture buffer (280).
[0080]
[0100] Figure 3 shows an example of a video decoder. In the exemplary decoder 300, the bitstream is decoded by the decoder elements as described below. The video decoder 300 generally performs a decoding path in the reverse direction of the encoding path described in Figure 2. The encoder 200 also generally performs video decoding as part of the encoding of the video data.
[0081]
[0101] In particular, the decoder input includes a video bitstream that may be generated by the video encoder 200. The bitstream is first entropy-decoded to obtain transformation coefficients, motion vectors, and other coded information (330). Picture partitioning information indicates how the picture is partitioned. Thus, the decoder may partition the picture according to the decoded picture partitioning information (335). The transformation coefficients are inversely quantized (340) and inversely transformed (350) to decode the prediction residuals. The image blocks are reconstructed by combining the decoded prediction residuals with the prediction blocks (355). The prediction blocks may be obtained from intra-prediction (360) or motion-compensated prediction (i.e., inter-prediction) (375) (370). An in-loop filter (365) is applied to the reconstructed image. The filtered image is stored in a reference picture buffer (380).
[0082]
[0102] The decoded picture may undergo further post-decoded processing (385), such as reverse color transformation (e.g., conversion from YCbCr4:2:0 to RGB4:4:4), or reverse remapping, which performs the reverse of the remapping process performed in pre-encoded processing (201). Post-decoded processing can use metadata derived in pre-encoded processing and signaled in a bitstream. For example, the decoded image (e.g., after applying the in-loop filter (365) and / or after post-decoded processing (385) if post-decoded processing is used) may be sent to a display device for rendering to the user.
[0083]
[0103] Figure 4 shows an example of a system in which the various embodiments and examples described herein may be implemented. System 400 may be embodied as a device including the various components described below and configured to perform one or more of the embodiments described herein. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected consumer electronics, and servers. The elements of System 400 may be embodied individually or in combination as a single integrated circuit (IC), multiple ICs, and / or separate components. For example, in at least one example, the processing elements and encoder / decoder elements of System 400 are distributed across multiple ICs and / or separate components. In various examples, System 400 is communicably coupled to one or more other systems or other electronic devices, for example, via a communication bus or through dedicated input and / or output ports. In various examples, System 400 is configured to implement one or more of the embodiments described herein.
[0084]
[0104] System 400 includes, for example, at least one processor 410 configured to execute loaded instructions in order to implement various embodiments described herein. The processor 410 may include embedded memory, input / output interfaces, and various other circuits well known in the art. System 400 includes at least one memory 420 (e.g., a volatile memory device and / or a non-volatile memory device). System 400 includes a storage device 440, which may include non-volatile memory and / or volatile memory, including, but not limited to, electrically erasable programmable read-only memory (EEPROM), read-only memory (ROM), programmable read-only memory (PROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, magnetic disk drives, and / or optical disk drives. The storage device 440 may, in non-limiting examples, include internal storage devices, external storage devices (including removable and non-removable storage devices), and / or network-accessible storage devices.
[0085]
[0105] System 400 includes, for example, an encoder / decoder module 430 configured to process data and provide encoded or decoded video, the encoder / decoder module 430 of which may include its own processor and memory. The encoder / decoder module 430 represents a module that may be included in a device that performs encoding and / or decoding functions. As is well known, the device may include one or both of the encoding and decoding modules. In addition, the encoder / decoder module 430 may be implemented as a separate element of System 400 or may be incorporated into the processor 410 as a combination of hardware and software, as is known to those skilled in the art.
[0086]
[0106] Program code loaded onto the processor 410 or encoder / decoder 430 to perform various embodiments described herein may be stored in the storage device 440 and subsequently loaded into memory 420 for execution by the processor 410. According to various examples, one or more of the processor 410, memory 420, storage device 440, and encoder / decoder module 430 may store one or more of various items during the execution of the processes described herein. Such stored items may include, but are not limited to, input video, decoded video or a portion of decoded video, bitstreams, matrices, variables, and intermediate or final results from the processing of mathematical formulas, equations, operations, and operational logic.
[0087]
[0107] In some examples, the internal memory of the processor 410 and / or the encoder / decoder module 430 is used to store instructions and provide working memory for the processing required during encoding or decoding. However, in other examples, memory outside the processing device (for example, the processing device may be either the processor 410 or the encoder / decoder module 430) is used for one or more of these functions. The external memory may be memory 420 and / or storage device 440, such as dynamic volatile memory and / or non-volatile flash memory. In some examples, external non-volatile flash memory is used to store, for example, the television's operating system. In at least one example, high-speed external dynamic volatile memory, such as RAM, is used as working memory for video encoding and decoding operations.
[0088]
[0108] Inputs to the elements of system 400 can be provided through various input devices as shown in block 445. Such input devices include, but are not limited to, (i) a radio frequency (RF) portion for receiving RF signals transmitted by broadcast by a broadcasting station, (ii) a component (COMP) input terminal (or a set of COMP input terminals), (iii) a universal serial bus (USB) input terminal, and / or (iv) a high-definition multimedia interface (HDMI) input terminal. Another example, although not shown in Figure 4, is composite video.
[0089]
[0109] In various examples, the input device of block 445 has corresponding input processing elements, as is well known in the art. For example, the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a frequency band), (ii) down-converting the selected signal, (iii) again band-limiting to a narrower frequency band in order to select a signal frequency band that may be called a channel in a particular example, (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and / or (vi) multiplexing to select a desired stream of data packets. The RF portion of various examples includes one or more elements for performing these functions, e.g., frequency selectors, signal selectors, band limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers. The RF portion may include a tuner that performs various of these functions, e.g., down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a frequency near the baseband) or to the baseband. In one example of a set-top box, the RF section and its associated input processing elements receive an RF signal transmitted via a wired (e.g., cable) medium and perform frequency selection by filtering, down-converting, and re-filtering to a desired frequency band. Various examples involve rearranging the order of the elements described above (and others), removing some of these elements, and / or adding other elements that perform similar or different functions. Adding elements can include inserting elements between existing elements, such as inserting an amplifier and an analog-to-digital converter. In various examples, the RF section includes an antenna.
[0090]
[0110] The USB and / or HDMI terminals may include their respective interface processors for connecting the system 400 to other electronic devices via USB and / or HDMI connections. It should be understood that various aspects of input processing, such as Reed-Solomon error correction, may be implemented, for example, in a separate input processing IC or within the processor 410 as needed. Similarly, aspects of USB or HDMI interface processing may be implemented, for example, in a separate interface IC or within the processor 410 as needed. Demodulated, error-corrected, and demultiplexed streams are provided to various processing elements, including, for example, the processor 410 and an encoder / decoder 430, which operate in conjunction with memory and storage elements, to process the data stream as needed for presentation to an output device.
[0091]
[0111] Various elements of system 400 may be housed within an integrated housing. Within the integrated housing, the various elements can be interconnected and data can be transmitted between them using an appropriate connection configuration 425, such as an internal bus known in the art, including an Inter-IC (I2C) bus, wiring, and a printed circuit board.
[0092]
[0112] System 400 includes a communication interface 450 that enables communication with other devices via a communication channel 460. The communication interface 450 may, but is not limited to, include transceivers configured to transmit and receive data via the communication channel 460. The communication interface 450 may, but is not limited to, include a modem or a network card, and the communication channel 460 may be implemented, for example, in a wired and / or wireless medium.
[0093]
[0113] In various embodiments, data is streamed to system 400 or provided in other ways using a wireless network such as a Wi-Fi network, e.g., IEEE 802.11 (IEEE stands for Institute of Electrical and Electronics Engineers). In these examples, the Wi-Fi signal is received via a communication channel 460 and a communication interface 450 adapted for Wi-Fi communication. In these examples, communication channel 460 is typically connected to an access point or router that provides access to an external network, including the Internet, to enable streaming applications and other over-the-top communications. Other examples provide the streamed data to system 400 using a set-top box that delivers data via an HDMI connection on input block 445. Yet another example provides the streamed data to system 400 using an RF connection on input block 445. As shown above, various examples provide data in non-streaming manners. In addition, various examples use wireless networks other than Wi-Fi, e.g., cellular networks or Bluetooth® networks.
[0094]
[0114] System 400 can provide output signals to various output devices, including a display 475, a speaker 485, and other peripheral devices 495. Various examples of the display 475 include, for example, one or more of a touchscreen display, an organic light-emitting diode (OLED) display, a curved display, and / or a foldable display. The display 475 may be for a television, tablet, laptop, mobile phone, or other device. The display 475 may also be integrated with other components (for example, in a smartphone) or be separate (for example, an external monitor for a laptop). Other peripheral devices 495, in various examples, include one or more of a standalone digital video disc (or digital multipurpose disc) (both terms refer to DVD), a disc player, a stereo system, and / or a lighting system. Various examples utilize one or more peripheral devices 495 that provide functions based on the output of System 400. For example, a disc player performs the function of playing the output of System 400.
[0095]
[0115] In various examples, control signals are transmitted between the system 400 and the display 475, speaker 485, or other peripheral devices 495 using signal transmission such as AV.Link, Consumer Electronics Control (CEC), or other communication protocols that enable control between devices with or without user intervention. Output devices may be communicably coupled to the system 400 via dedicated connections through their respective interfaces 470, 480, and 490. Alternatively, output devices may be connected to the system 400 via the communication interface 450 using the communication channel 460. The display 475 and speaker 485 may be integrated into a single unit with other components of the system 400, for example, in an electronic device such as a television. In various examples, the display interface 470 includes a display driver, such as a timing controller (TCon) chip.
[0096]
[0116] For example, if the RF portion of input 445 is part of a separate set-top box, the display 475 and speaker 485 can, alternatively, be separated from one or more of the other components. In various examples where the display 475 and speaker 485 are external components, the output signal may be provided via a dedicated output connection, such as an HDMI port, a USB port, or a COMP output.
[0097]
[0117] These examples may be implemented by computer software or hardware implemented by the processor 410, or by a combination of hardware and software. In a non-limiting example, these examples may be implemented by one or more integrated circuits. Memory 420 may be of any type appropriate to the technical environment, and in a non-limiting example, may be implemented using any suitable data storage technology such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory, and removable memory. Processor 410 may be of any type appropriate to the technical environment, and in a non-limiting example, may include one or more of microprocessors, general-purpose computers, dedicated computers, and processors based on multi-core architectures.
[0098]
[0118] Various implementations involve decoding. As used in this application, “decoding” can encompass all or part of the processes performed on a received encoded sequence to produce a final output suitable for display. In various examples, such processes include one or more processes typically performed by a decoder, e.g., entropy decoding, inverse quantization, inverse transform, and differential decoding. In various examples, such processes also, or alternatively, include processes performed by the decoder in the various implementations described in this application, e.g., determining that a geometrically segmented mode (GPM) is enabled for a coded block, testing multiple blended region widths based on multiple predicted samples associated with reconfigured adjacent samples of the coded block, selecting a blended region width from the multiple blended region widths, and decoding the coded block based on the selected blended region width.
[0099]
[0119] For further examples, in one instance, "decoding" refers only to entropy decoding; in another instance, "decoding" refers only to differential decoding; and in yet another instance, "decoding" refers to a combination of entropy decoding and differential decoding. Whether the term "decoding process" is intended to refer specifically to a subset of operations or to a broader decoding process in general should become clear from the context of the specific description and should be easily understood by those skilled in the art.
[0100]
[0120] Various implementations involve encoding. Similar to what is discussed above with respect to "decoding," as used in this application, "encoding" can encompass all or part of the processes performed on an input video sequence to generate an encoded bitstream. In various examples, such processes typically include one or more processes performed by an encoder, e.g., segmentation, differential coding, transformation, quantization, and entropy coding. In various examples, such processes also, or alternatively, include processes performed by an encoder in the various implementations described in this application, e.g., determining that a geometric segmentation mode (GPM) is enabled for a coded block, testing multiple blended region widths based on multiple predicted samples associated with reconfigured adjacent samples of the coded block, selecting a blended region width from the multiple blended region widths, and encoding the coded block based on the selected blended region width.
[0101]
[0122] For further examples, in one instance, "encoding" refers only to entropy coding; in another instance, "encoding" refers only to differential coding; and in yet another instance, "encoding" refers to a combination of differential and entropy coding. Whether the term "encoding process" is intended to refer specifically to a subset of operations or to a broader encoding process in general should become clear from the context of the specific description and should be easily understood by those skilled in the art.
[0102]
[0123] It should be noted that the coding syntax for syntactic elements used herein, such as intensity intervals, grain parameters, block offsets, and scaling factors, are descriptive terms.
[0103]
[0124] Therefore, they do not exclude the use of other syntactic element names. When a diagram is presented as a flowchart, it should be understood that the diagram also provides a block diagram of the corresponding device. Similarly, when a diagram is presented as a block diagram, it should be understood that the diagram also provides a flowchart of the corresponding method / process.
[0104]
[0125] The implementation forms and embodiments described herein may be implemented, for example, in the form of methods or processes, apparatus, software programs, data streams, or signals. Even when a single implementation form is discussed only in the context of a single form (e.g., discussed only as a method), the implementation form of the feature discussed may also be implemented in other forms (e.g., apparatus or program). Apparatus may be implemented, for example, in the form of appropriate hardware, software, and firmware. Methods may be implemented, for example, in a processor, where processor generally refers to processing devices including, for example, computers, microprocessors, integrated circuits, or programmable logic devices. Processors also include communication devices such as, for example, computers, mobile phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate the communication of information between end users.
[0105]
[0126] References to "one example" or "one implementation" or "one implementation," and other variations thereof, mean that the specific features, structures, characteristics, etc. described in relation to that example are included in at least one example. Therefore, the phrases "one example" or "one example" or "in one implementation" or "in one implementation," and any other variations appearing in various places throughout this application, do not necessarily all refer to the same example.
[0106]
[0127] In addition, this application may refer to “determining” various types of information. Determining information may include, for example, one or more of the following: estimating information, calculating information, predicting information, or retrieving information from memory. Acquiring may include receiving, retrieving, creating, generating, and / or determining.
[0107]
[0128] Furthermore, this application may refer to “accessing” various types of information. Accessing information may include, for example, receiving information, retrieving information (e.g., from memory), storing information, transferring information, copying information, calculating information, determining information, predicting information, or estimating information.
[0108]
[0129] In addition, this application may refer to "receiving" various types of information. Receiving is intended to be a broad term, similar to "accessing." Receiving information may include, for example, accessing information or retrieving information (for example, from memory). Furthermore, "receiving" is typically included in some way during operations such as, for example, storing information, processing information, transmitting information, transferring information, copying information, erasing information, calculating information, determining information, predicting information, or estimating information.
[0109]
[0130] It should be understood that the use of any of the following " / ", "and / or", and "at least one of" is intended to encompass the selection of only the first enumerated option (A), or only the second enumerated option (B), or both options (A and B), for example, in the cases of "A / B", "A and / or B", and "at least one of A and B". As further examples, in the cases of "A, B and / or C" and "at least one of A, B and C", such phrases are intended to encompass the selection of only the first enumerated option (A), or only the second enumerated option (B), or only the third enumerated option (C), or only the first and second enumerated options (A and B), or only the first and third enumerated options (A and C), or only the second and third enumerated options (B and C), or all three options (A, B, and C). This can be extended as many times as there are enumerated items, as will be apparent to those skilled in the art.
[0110]
[0131] Furthermore, as used herein, the word “signal” specifically refers to indicating something to the corresponding decoder. Encoder signals may include, for example, the number of intensity intervals, the number of model values, grain parameters, grain identification, scaling factors, etc. In this way, in one example, the same parameters are used on both the encoder and decoder sides. Thus, for example, the encoder may transmit certain parameters to the decoder so that the decoder can use the same particular parameters (explicit signaling). Conversely, if the decoder already has certain parameters and other parameters, signaling may be used without transmission, simply allowing the decoder to know and select certain parameters (implicit signaling). Bit saving is achieved in various examples by avoiding the transmission of arbitrary actual functions. It should be understood that signaling can be achieved in various ways. For example, in various examples, one or more syntactic elements, flags, etc., are used to signal information to the corresponding decoder. The above concerns the verb form of the word “signal,” but the word “signal” may also be used as a noun in this specification.
[0111]
[0132] As will be apparent to those skilled in the art, multiple implementations can generate various signals formatted to carry information that can be stored or transmitted, for example. This information may include, for example, instructions for performing a method, or data generated by one of the implementations described. For example, a signal may be formatted to carry the bitstream of the example described. Such a signal may be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or as a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier wave using the encoded data stream. The information carried by the signal may be, for example, analog or digital information. The signal may be transmitted, as is well known, through various different wired or wireless links. The signal may be stored on a processor-readable medium or accessed or received from a processor-readable medium.
[0112]
[0133] This specification provides numerous examples. The features of the examples may be provided individually or in any combination across various categories and types of claims. Furthermore, the examples may include, individually or in any combination across various categories and types of claims, one or more of the features, devices, or embodiments described herein. For example, the features described herein may be implemented in the form of a bitstream or signal containing information generated as described herein. This information may enable a decoder to decode the bitstream, and the encoder, bitstream, and / or decoder may follow any of the embodiments described. For example, the features described herein may be implemented by creating and / or transmitting and / or receiving and / or decoding a bitstream or signal. For example, the features described herein may be implemented in the form of a method, process, apparatus, medium for storing instructions, medium for storing data, or signal. For example, the features described herein may be implemented by a television, set-top box, mobile phone, tablet, or other electronic device that performs decoding. Televisions, set-top boxes, mobile phones, tablets, or other electronic devices may display the resulting image (e.g., an image from residual reconstruction of a video bitstream) (e.g., using a monitor, screen, or other type of display). Televisions, set-top boxes, mobile phones, tablets, or other electronic devices may receive and decode a signal containing an encoded image.
[0113]
[0134] Features associated with geometric segmentation modes (GPMs) (also known as geometric merge modes (GEOs)) are provided herein.
[0114]
[0135] GPM (for example, having a total of 64 divisions) can be used for interpretation. When GPM is used, a block (e.g., a coded unit (CU)) can be divided into divisions (e.g., two divisions) by geometrically arranged straight lines, as illustrated in Figure 5. The position of the dividing line is the angle φ of a particular division. i and distance offset ρ i It can be derived from (e.g., mathematically). The segments within the CU (e.g., each segment) can be interpreted using their own motion parameters. Single prediction (e.g., single prediction only) may be allowed for a segment (e.g., each segment). For example, a segment (e.g., each segment) may have a motion vector (e.g., one) and a reference index (e.g., one). Sample values along the division edges can be adjusted (e.g., after predicting each of the segments). For example, sample values along the division edges can be adjusted using a blending process with adaptive weights.
[0115]
[0136] Blend weights for the CU's position (e.g., each position) can be derived based on the distance between the position (e.g., individual positions) and the piecewise edge. The distance from position (x,y) to the piecewise edge can be derived as follows: d(x,y)=(2x+1-w)cos(φ i )+(2y+1-h)sin(φ i )-ρ i (1)
[0116]
[0137] The weights of parts of a geometric division (e.g., each part) can be derived as follows: wIdxL(x,y)=partIdx?32+d(x,y):32-d(x,y) (2)
number
[0117]
[0138] This specification provides features associated with the creation of single prediction candidate lists for GPM.
[0118]
[0139] The features described herein may be associated with GPM (GPM-Intra) with inter-prediction and intra-prediction. An intra-mode added to GPM to combine inter-prediction with intra-prediction may also be described herein.
[0119]
[0140] In the example of GPM with inter-prediction and intra-prediction (GPM-Intra), the final predicted samples may be generated by weighting inter-prediction samples and intra-prediction samples against the GPM isolation region. Inter-prediction samples may be derived using the same scheme as GPM, while intra-prediction samples may be derived from an intra-prediction mode (IPM) candidate list and an index signaled from the encoder. The size of the IPM candidate list may be predefined as 3. Available IPM candidates may be parallel-angle modes (parallel modes), perpendicular-angle modes (perpendicular modes), or planar modes relative to the GPM block boundary, as shown in Figure 7.
[0120]
[0141] Spatial GPM (SGPM) can extend GPM to intra-prediction.
[0121]
[0142] In the example, as illustrated in Figure 8A, the SGPM may include a partition mode and two associated IPMs, a candidate list may be adopted, and the candidate index may be signaled in a bitstream. The candidates in the list may include combinations of partition modes and two intra-prediction modes, as illustrated in Figure 8B. To reduce the complexity in creating the candidate list, the number of possible partition modes and intra-prediction modes may be reduced, and 26 out of 64 partition modes may be used. An IPM candidate list with three entries may be created using a method (e.g., similar to that for GPM intra).
[0122]
[0143] When intrablock copying using the geometric partitioning mode (IBC-GPM (intra block copy-Geometry Partitioning Mode)) is used, the CU predicted by the IBC may be geometrically divided into two subpartitions. The CU flag may be signaled to indicate the use of IBC-GPM (IBC_GPM_flag). The predicted signals for the two subpartitions may be generated using IBC and intra-prediction. An IPM candidate list with three entries may be created using the same method as GPM-Intra. There are a total of 48 geometric partitioning modes, which may be divided into two sets of geometric partitioning modes.
[0123]
[0144] IBC-GPM can be extended by enabling the generation of predictive samples for both segments using IBC.
[0124]
[0145] The examples described herein may be associated with adaptive blending. One or more geometric divisions may be predicted. In one example, after predicting the geometric divisions, sample values along the division edges may be adjusted using a blending process with adaptive weights. Blend weights with respect to the CU locations may be derived based on the distance between individual locations and the division edges, as described herein.
[0125]
[0146] A soft blending process may be applied. As shown in Figure 9, a sloped weighting value in the range (0,8) may be used when the sample is located within the soft blend region (e.g., between the dashed lines). A full weighting value of 0 or 8 may be selected. The weights may be given by a discrete ramp function with displacement and two thresholds (-τ,τ), as shown in Figure 10. The threshold τ may define the blend intensity or blend region width and may be selected as a fixed value 2 (e.g., τ=1,2) sample.
[0126]
[0147] A fixed blend area width may not provide the best blend quality for various types of video content. For example, screen video content may contain strong textures and sharp edges, and a narrow blend area may be referenced to preserve edge information. Blending may also be used for camera-captured content. The blend area width may depend on several factors, such as the boundaries of moving objects and the movement of the two segments (e.g., motion discriminability).
[0127]
[0148] Adaptive blending may be applied for GPM, in which the width of the blend region surrounding the GPM partition boundary can be adjusted (for example, dynamically).
[0128]
[0149] In addition to the existing blend regions, additional blend region sizes, for example, 1 / 4, 1 / 2, 2x, and 4x of the existing region sizes (τ / 4, τ / 2, 2τ, and 4τ), may be added for GPM mode as shown in Figure 11. The selected blend region size may be signaled from the encoder to the decoder at the CU level based on the syntax element gpm_blending_width_idx. With extended weighting precision, the maximum weight may be changed from 8 to 32 to accommodate the extended blend region size.
[0129]
[0150] The blending region width index gpm_blending_width_idx can be transmitted as shown in Table 1.
[0130] [Table 1]
[0131]
[0151] The blend region width τ is considered the most frequently used blend region width and can be used to transmit signals with the minimum number of bits (1 bit).
[0132]
[0152] Adaptive blending can be applied to SGPM. In adaptive blending of SGPM, a block size-based blend width may be used without encoder selection or signal transmission. The blend width may be selected as follows: 1 / 2τ is selected if the minimum (width, height) is equal to 4; τ is selected if the minimum (width, height) is equal to 8; 2τ is selected if the minimum (width, height) is equal to 16; 4τ is selected if the minimum (width, height) is equal to 32; otherwise, 8τ is selected.
[0133]
[0153] SGPM can be used without blending for SCC. The blend width can be 16 samples on one side of the dividing line if the blend width is 8τ for a large block, regardless of whether the block is camera-captured content or screen content. Blending with SGPM may not be used for screen content because the blend filter can over-smooth screen content that contains sharp edges.
[0134]
[0154] In one example, SGPM is performed without blending for SCC, corresponding to 1 / 4τ for blocks of all sizes. A picture parameter set (PPS) flag may be signaled to indicate whether blending is used for SGPM coded blocks.
[0135]
[0155] Adaptive blending applied to IBC-GPM uses the same or a similar scheme as GPM, where the selected blend region size from {τ / 4,τ / 2,τ,2τ,4τ} is signaled at the CU level from the encoder to the decoder based on the syntactic element ibc_gpm_blending_width_idx for I slices. In one example, for inter-slices (e.g., B and P slices), blending is not used in IBC-GPM.
[0136]
[0156] The binarization of the IBC-GPM blending region width index (ibc_gpm_blending_width_idx) may differ from the GPM blending region width index, as can be transmitted as shown in Table 2.
[0137] [Table 2]
[0138]
[0157] IBC tools can affect (for example, improve) the coding efficiency of screen content material, and blend filters can make screen content with sharp edges excessively smooth. A blend region width of τ / 4 (for example, this could mean no blending) can be considered the most frequently used blend region width in IBC-GPM.
[0139]
[0158] Templates can be used for GPM and SGPM. This specification provides features associated with GPM with template matching (GPM-TM (geometric partition mode-template matching)). Template matching (TM (template matching)) can be applied to GPM. When the GPM mode is enabled for CU, a CU level flag may be signaled to indicate whether TM is applied to one or more (e.g., both) geometric partitions. Motion information for geometric partitions (e.g., each geometric partition) can be fine-tuned using TM. When Tm is selected, templates can be created using left-side adjacent samples, upper-side adjacent samples, or left and upper-side adjacent samples (e.g., according to the partition angle), as shown in Table 3. Motion can be fine-tuned. For example, motion can be fine-tuned by minimizing the difference between the current template and the template in the reference picture. For example, motion can be fine-tuned by minimizing the difference between the current template and the template in the reference picture using the same search pattern in merge mode where the half-pixel interpolation filter is disabled.
[0140] [Table 3]
[0141]
[0159] Table 3. Templates for the first and second geometric divisions, where A is represented using the upper sample, L is represented using the left sample, and L+A is represented using both the left and upper samples.
[0142]
[0160] A template may be used to construct an SGPM candidate list. To efficiently represent the partition and prediction information in a bitstream, the candidate list may be adopted for SGPM, and the candidate index may be signaled in the bitstream. A template may be used to generate this candidate list. The template size may be set to equal 1; for example, the height of the upper template portion may be 1, and the width of the left template portion may be 1. For a combination of (e.g., one) partition mode and two intra-prediction modes, predictions may be generated for a template with partition weights extended to the template, as shown in Figure 12. Combinations may be ranked in ascending order of their SATDs between the prediction and reconstruction of the template. The length of the candidate list may be set to equal 16, and the candidates may be considered the most likely SGPM combination for the current block. A flowchart of the SGPM algorithm is shown in Figure 13. In 401, predictions may be generated for the possible partition and intra-prediction modes in the template. The SATD may be calculated. In step 402, possible combinations of partition modes (e.g., one partition mode) and two partition modes may be checked, and the SATDs may be ranked in ascending order to create a candidate list. In step 403, predictions may be generated for the possible candidates in the current block. The SATDs may be sorted to determine the complete (e.g., final complete) RD candidate. The encoder and decoder may create the same candidate list based on the template.
[0143]
[0161] In adaptive blend schemes, the selected blend region width can be signaled from the encoder to the decoder at the CU level, as in GPM / GPM-Intra / IBC-GPM, or it can be limited based on the current block size, as in SGPM.
[0144]
[0162] To avoid limitations imposed by block size while reducing signal transmission overhead and encoder execution time, the blend region width can be selected based on a template (for example, in the same way for both the encoder and decoder).
[0145]
[0163] The blend region width of a GPM / GPM-Intra / SGPM / IBC-GPM block can be derived based on a template. The blend region width is stored as part of the candidate information and can be reused in the following GPM / GPM-Intra / SGPM / IBC-GPM blocks.
[0146]
[0164] The derivation of the blended region width may be template-based. In the example, the blended region width value may be derived based on the template cost for GPM / GPM-Intra / SGPM / IBC-GPM blocks. For the blended region width index gpm_blending_width_idx, a prediction may be generated for a template with a blended region width extended to the template, as shown in Figure 14. The SATD between the prediction and reconstruction of the template for the blended region width can be calculated. The blended region width index with the minimum SATD cost may be used for GPM / GPM-Intra / SGPM / IBC-GPM blocks. Encoders and decoders may derive the same blended region width based on the template.
[0147]
[0165] An exemplary L-shaped template used to derive the blend region width index, i.e., adjacent samples in the left column and upper row of the current block, is illustrated in Figure 14.
[0148]
[0166] The template sample can be divided into two sub-sub
[0149]
[0167] The illustrative flowchart in Figure 15 illustrates an example of a decoder in which the best blended region width index is selected for a GPM block based on the template's SATD cost criterion. The block's GPM flag may be checked at 501. If GPM is applied to the current block, the reconstructed adjacent template samples of the current block may be obtained. Using GPM prediction information (e.g., motion vector and criterion index, or block vector and criterion index, or intra-prediction mode), prediction samples for two sub-partitions of the template may be generated at 502, respectively. For the blended region width index gpm_blending_width_idx, at 503, the prediction template sample values along the selected splitting edge in the blended region may be blended with the corresponding adaptive weights, and at 504, the difference to the reconstructed template sample may be calculated. After testing the allowed blended region widths, the best width index with the minimum template SATD cost may be selected at 505. The final prediction sample for the current block may be generated at 506 by blending the two sub-partition predictions along the splitting edge in the selected best blended region. The same template search procedure may be performed in the encoder.
[0150]
[0168] In the example, the template-based blend region width derivation process can be applied to GPM blocks, GPM-Intra blocks, SGPM blocks, and / or IBC-GPM blocks.
[0151]
[0169] For example, the template-based blend region width derivation process may be measured by metrics such as the sum of absolute differences (SAD), the sum of squared differences (SSD), the mean squared error (MSE), and / or similar.
[0152]
[0170] In some examples, location-adaptive weights may be used to blend predicted template sample values. In some examples, a fast template-based blend region width derivation process may be used. Predicted template sample values may be blended along the partition edges using fixed weights (for example, to reduce computational complexity). In the example, the location-adaptive weights of the first and second subdivisions of the current block, as well as the template extension, are illustrated on the left side of Figure 16. To save the multiplication of the template samples, the fixed weights of the template extension for the first and second subdivisions w=4 (for example, as illustrated on the left side of Figure 16) may be used in the template SATD cost calculation.
[0153]
[0171] The template can be used to derive the blend region width. The nb generated for the template GPMBlending Since there are predictions (e.g., five) and the associated SATD cost is calculated to select the best blend region width, the template design can impact the trade-off between complexity and performance. The blend region width can determine the blend region of the template samples along the selected split edges, which can affect the SATD cost. Template samples outside the blend region may have a negligible or no impact at all on the SATD cost of the blend region width candidates.
[0154]
[0172] A template for deriving the blend region width can be identified. The template can be created according to the segmentation angle using left adjacent samples, upper adjacent samples, or left and upper adjacent samples. As shown in Figure 17A, if the segmentation angle intersects with the upper adjacent sample, the upper adjacent sample may be used to create the corresponding template. As shown in Figure 17B, if the segmentation angle intersects with the left adjacent sample, the left adjacent sample may be used to create the template. As shown in Figure 17C, if the segmentation angle intersects with upper and left adjacent samples, the left and upper adjacent samples may be used to create the template.
[0155]
[0173] In the example, the template may be created using left-side adjacent samples, upper-side adjacent samples, or left-side and upper-side adjacent samples, depending on the maximum blend region width. If the maximum blend region, for example (-4τ, 4τ) of a GPM block, intersects with the upper-side adjacent sample, the upper-side adjacent sample may be used to create the template accordingly.
[0156]
[0174] In the example, a template may be created using adjacent samples within a certain (e.g., limited) range around a division angle. To create a template for a GPM block, such as the gray parallelogram shape shown in Figure 18, adjacent samples within the (-4τ, 4τ) range around a division edge may be used. In the example, a template may be created using left adjacent samples, upper adjacent samples, or left and upper adjacent samples according to a syntax that can be signaled in a bitstream.
[0157]
[0175] Larger template sizes can increase the computational complexity of the memory used to access the encoder and decoder, as well as adjacent samples. Larger template sizes can also lead to more accurate estimation and selection of the blend region width.
[0158]
[0176] The template size can vary depending on the slice type or block size. In the example, for an I-slice, the corresponding template may include the four upper adjacent rows and / or the four left adjacent columns of the current block. For an inter-slice (i.e., a P / B slice), the corresponding template may include the (e.g., one) upper adjacent row and / or the (e.g., one) left adjacent column of the current block. The template size may be block-dependent, and as a result, if the block size (e.g., width and / or height) satisfies a certain number (e.g., less than, greater than, equal to, etc.), a smaller or larger template size may be applied to the block. In the example, if the block size is less than 8x8, the corresponding template may include the (e.g., one) upper adjacent row and / or the (e.g., one) left adjacent column of the current block. If the block size is greater than 16x16, the corresponding template may include the four upper adjacent rows and / or the four left adjacent columns of the current block. In the example, larger blocks may use templates with fewer upper adjacent rows and left adjacent columns (for example, to reduce computational complexity and memory access), and vice versa.
[0159]
[0177] The blend region width can be derived based on the stored blend region widths in the candidate list. The candidate list may be used in GPM / GPM-Intra / SGPM / IBC-GPM blocks, and the candidate blend region widths may be reused to predict the blend region width to be used in the current block.
[0160]
[0178] In the example, the blend region width value is stored as part of the information for the MVP / BVP / Intra candidate and can be used to derive the blend region width for subsequent GPM / GPM-Intra / SGPM / IBC-GPM blocks.
[0161]
[0179] The blend region width can be stored in the motion field / block field / intra information storage of the current GPM / GPM-Intra / SGPM / IBC-GPM block. For the next GPM / GPM-Intra / SGPM / IBC-GPM block, the blend region width can be determined based on the selected candidate.
[0162]
[0180] In the example, the blended region width for a GPM block can be inferred as follows: If one predictor of two subdivisions originates from a GPM block, the blended region width index can be inferred from the blended region width index of this predictor. If both predictors of two subdivisions originate from a GPM block and they share the same blended region width index, the blended region width index can be inferred from the same blended region width index of the two predictors. If the predictors of two subdivisions originate from a GPM block and they have different blended region width indices, the blended region width can be inferred as the most frequent blended region width τ.
[0163]
[0181] In the example, the blended region width of a GPM block can be derived using a template as follows: If (e.g., one) predictor of (e.g., two) subdivisions originates from a GPM block, the blended region width index of the predictor and its ±1 can be used for the deriving of the blended region width index based on the template SATD cost. If (e.g., both) predictors of (e.g., two) subdivisions originate from a GPM block and they share the same blended region width index, the same blended region width index of (e.g., two) predictors and its ±1 can be used for the deriving of the blended region width index based on the template SATD cost. If (e.g., both) predictors of (e.g., two) subdivisions originate from a GPM block and they have different blended region width indices, the two blended region width indices of the two predictors (and their ±1) can be used for the deriving of the blended region width index based on the template SATD cost, or in this case, (e.g., all) possible blended region width indices can be tested.
[0164]
[0182] The blend region width index residual can be signaled. The residual between the blend region width index derived from the template and the best blend region width index determined by the encoder can be shown in the video data (e.g., signaled in the bitstream). This can minimize signal transmission overhead while maintaining accuracy in selecting the blend region width index.
[0165]
[0183] While the features and elements described above are presented in specific combinations, those skilled in the art will understand that each feature or element can be used individually or in any combination with other features and elements. In addition, the methods described herein may be implemented in computer programs, software, or firmware embedded in computer-readable media for execution by a computer or processor. Examples of computer-readable media include electronic signals (transmitted via wired or wireless connections) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks and digital versatile disks (DVDs). A processor, along with software, may be used to implement radio frequency transceivers used in WTRUs, UEs, terminals, base stations, RNCs, or any host computer.
Claims
1. A video decoding device, It is a processor, It is determined that the Geometric Partition Mode (GPM) is enabled for the coded block. Multiple blended region widths are tested based on multiple predicted samples associated with the reconfigured adjacent samples of the coded block. Select a blend region width from the aforementioned multiple blend region widths, The coded block is decoded based on the selected blend region width. A processor configured in such a way A video decoding device, including one.
2. The aforementioned processor further, Create a template that includes the reconfigured adjacent samples of the aforementioned coded block, Based on the division angle of the coded block, the template is divided into multiple subdivisions. For the aforementioned sub-categories, the aforementioned multiple prediction samples are generated. The plurality of predicted samples are blended with the plurality of blend region widths. The device according to claim 1, configured such that the blend region width is selected based on blending the plurality of predicted samples with respect to the plurality of blend region widths.
3. The device according to claim 1 or 2, wherein the reconstructed adjacent sample includes one or more of the left adjacent sample, the upper adjacent sample, or the left and upper adjacent samples of the coded block.
4. The device according to claim 2, wherein the size of the template is based at least on the slice type or the block size of the coded block.
5. The device according to any one of claims 1 to 4, wherein the selected blend region width corresponds to the blend region width that yields the minimum template cost among the plurality of blend region widths.
6. The aforementioned processor further, The residual between the blend region width index derived from the template and the best blend region width index is received from the video data. The width of the selected blend region is adjusted based on the residual. The device according to any one of claims 1 to 5, wherein the coded block is further decoded based on the adjusted selected blend region width.
7. A device for video encoding, It is a processor, It is determined that the Geometric Partition Mode (GPM) is enabled for the coded block. Multiple blended region widths are tested based on multiple predicted samples associated with the reconfigured adjacent samples of the coded block. Select a blend region width from the aforementioned multiple blend region widths, The coded block is encoded based on the selected blend region width. Processor configured in such a way A device that includes this.
8. The aforementioned processor further, Create a template that includes the reconfigured adjacent samples of the aforementioned coded block, Based on the division angle of the coded block, the template is divided into multiple subdivisions. For the aforementioned sub-categories, the aforementioned multiple prediction samples are generated. The plurality of predicted samples are blended with the plurality of blend region widths. The device according to claim 7, configured such that the blend region width is selected based on blending the plurality of predicted samples with respect to the plurality of blend region widths.
9. The device according to claim 7 or 8, wherein the reconstructed adjacent sample includes one or more of the left adjacent sample, the upper adjacent sample, or the left and upper adjacent samples of the coded block.
10. The device according to claim 8, wherein the size of the template is based at least on the slice type or the block size of the coded block.
11. The device according to any one of claims 7 to 10, wherein the selected blend region width corresponds to the blend region width that yields the minimum template cost among the plurality of blend region widths.
12. The aforementioned processor further, Determine the residual between the blend region width index derived from the template and the best blend region width index. The residuals mentioned above are included in the video data. The width of the selected blend region is adjusted based on the residual. The device according to any one of claims 7 to 11, wherein the coded block is further encoded based on the adjusted selected blend region width.
13. The device according to any one of claims 1 to 12, further comprising memory operably connected to the processor.
14. A method for video decoding, Determining that the Geometric Partition Mode (GPM) is enabled for the coded block, Test multiple blend region widths based on multiple predicted samples associated with the reconfigured adjacent samples of the coded block, Selecting a blending region width from the aforementioned multiple blending region widths, Decoding the coded block based on the selected blend region width. Methods that include...
15. The aforementioned method, Creating a template that includes reconfigured adjacent samples of the aforementioned coded block, The template is divided into multiple subdivisions based on the division angle of the coded block, To generate the multiple prediction samples for the multiple subcategories, Blending the multiple predicted samples with respect to the multiple blend region widths The method according to claim 14, further comprising, wherein the blend region width is selected based on blending the plurality of predicted samples with respect to the plurality of blend region widths.
16. The method according to claim 14 or 15, wherein the reconstructed adjacent sample includes one or more of the left adjacent sample, the upper adjacent sample, or the left and upper adjacent samples of the coded block.
17. The method according to claim 15, wherein the size of the template is based at least on the slice type or the block size of the coded block.
18. The method according to any one of claims 14 to 17, wherein the selected blend region width corresponds to the blend region width that yields the minimum template cost among the plurality of blend region widths.
19. The aforementioned method, The residual between the blend region width index derived from the template and the best blend region width index is received from the video data, The selected blend region width is adjusted based on the residual. The method according to any one of claims 14 to 18, further comprising the coding block being decoded based on the adjusted selected blend region width.
20. A method for video encoding, Determining that the Geometric Partition Mode (GPM) is enabled for the coded block, Test multiple blend region widths based on multiple predicted samples associated with the reconfigured adjacent samples of the coded block, Selecting a blending region width from the aforementioned multiple blending region widths, Encoding the coded block based on the selected blend region width. Methods that include...
21. The aforementioned method, Creating a template that includes reconfigured adjacent samples of the aforementioned coded block, The template is divided into multiple subdivisions based on the division angle of the coded block, To generate the multiple prediction samples for the multiple subcategories, Blending the multiple predicted samples with respect to the multiple blend region widths The method according to claim 20, further comprising, wherein the blend region width is selected based on blending the plurality of predicted samples with respect to the plurality of blend region widths.
22. The method according to claim 20 or 21, wherein the reconstructed adjacent sample includes one or more of the left adjacent sample, the upper adjacent sample, or the left and upper adjacent samples of the coded block.
23. The method according to claim 21, wherein the size of the template is based at least on the slice type or the block size of the coded block.
24. The method according to any one of claims 20 to 23, wherein the selected blend region width corresponds to the blend region width that yields the minimum template cost among the plurality of blend region widths.
25. The aforementioned method, Determine the residual between the blend region width index derived from the template and the best blend region width index, The aforementioned residuals are included in the video data, The selected blend region width is adjusted based on the residual. The method according to any one of claims 20 to 24, further comprising the encoding block being further encoded based on the adjusted selected blend region width.
26. A computer-readable medium comprising a medium containing instructions for causing one or more processors to perform the method according to any one of claims 14 to 25.
27. A computer program product stored in a non-temporary computer-readable medium, which, when executed by a processor, includes program code instructions for performing steps of the method according to at least one of claims 14 to 25.
28. Video data including information representing coded blocks encoded according to one of the methods described in any one of claims 20 to 25.