Transform coding of video data for inter-frame prediction
By disabling the transform encoding operation in inter-frame prediction technology and combining affine motion compensation and other technologies, the video encoding process is optimized, and the problem of increased encoding time and signaling overhead is solved, and encoding efficiency and gain is improved.
Patent Information
- Application Number
- CN202080094008.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-27
- Filing Date
- 2020-12-24
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2040-12-24
AI Technical Summary
The existing video encoding technology has the problem of insufficient encoding gain when inter-frame prediction.
By disabling transform encoding operations related to inter prediction techniques, such as multi-transform selection (MTS) and transform skip (TrSkip), to reduce the operations associated with transform encoding of the encoding block, the encoding process is optimized using affine motion compensation, combined inter and intra prediction (CIIP), triangle partition mode (TPM), and geometric merge mode (GEO).
Reduces encoding time and signaling overhead, improves encoding efficiency, and achieves higher encoding gain.
Smart Images

Figure CN115104304B_ABST
Abstract
Description
[0001] Cross - reference to related applications
[0002] This application claims the benefit of European Patent Application No. 19306778.2, filed on December 30, 2019, the entire disclosure of which is incorporated herein by reference. Background of the invention
[0003] Video coding systems and devices can be used to compress digital video signals, for example, to reduce the storage and / or transmission bandwidth required for such signals. Video coding can utilize intra - frame and / or inter - frame prediction techniques, transform techniques, quantization techniques, etc. to compress video data. For some types of coding units, some of these techniques may increase the coding time and / or signaling overhead without providing a significant coding gain. Summary of the invention
[0004] Systems, methods, and tools associated with common video coding are described herein. A video coding device as described herein can include a video encoder configured to determine a prediction residual of a coding block (e.g., a coding unit) using inter - frame prediction techniques. The video encoder can determine that the inter - frame prediction technique is in a set of inter - frame prediction techniques, and thus at least one operation associated with transform coding will be disabled. Based on this determination, the video encoder can disable at least one operation associated with transform coding for the prediction residual of the coding block and encode the prediction residual with at least one operation associated with transform coding disabled. In an example, at least one operation associated with transform coding to be disabled can include multi - transform selection (MTS). In an example, at least one operation associated with transform coding to be disabled can include transform skip (TrSkip). In an example, disabling MTS for the prediction residual of a coding block can include based on the performance of one or more candidate transform skip rate - distortion searches for the coding block. In an example, the set of inter - frame prediction techniques that cause MTS and / or TrSkip to be disabled can include affine motion compensation, combined inter - frame and intra - frame prediction, triangular partitioning, and geometric merge.
[0005] A video coding device as described herein may include a video decoder configured to obtain video data including prediction residuals of coding blocks (e.g., coding units). The video decoder may determine, based on the video data, that the prediction residuals included in the video data are determined using an inter prediction technique that is in a set of inter prediction techniques and is thus associated with transform coding, and at least one operation associated with transform coding is disabled. Based on this determination, the video decoder may decode the prediction residuals of the coding blocks with at least one operation associated with transform coding disabled. In an example, at least one operation associated with transform coding that is disabled may include multi-transform selection (MTS). In an example, at least one operation associated with transform coding that is disabled may include transform skip (TrSkip). In an example, decoding the prediction residuals of the coding blocks with MTS disabled may include skipping obtaining an MTS index from the video data. In an example, the set of inter prediction techniques that causes MTS and / or TrSkip to be disabled may include affine motion compensation, combined inter and intra prediction, triangular partitioning, and geometric merge. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] Figure 1 is a schematic diagram showing an exemplary video encoder.
[0007] Figure 2 is a schematic diagram showing an exemplary video decoder.
[0008] Figure 3 is a schematic diagram showing an example of a system in which various aspects and examples are implemented.
[0009] Figure 4 is a schematic diagram showing an example of affine motion compensation with two control points.
[0010] Figure 5 is a schematic diagram showing an example of inter prediction based on triangular partitioning.
[0011] Figure 6A is a system schematic diagram showing an exemplary communication system in which one or more of the disclosed examples may be implemented.
[0012] Figure 6B is shown according to one example in Figure 6A is a system schematic diagram showing an exemplary wireless transmit / receive unit (WTRU) that may be used within the communication system shown.
[0013] Figure 6C is shown according to one example that may be in Figure 6A is a system schematic diagram showing an exemplary radio access network (RAN) and an exemplary core network (CN) that may be used within the communication system shown.
[0014] Figure 6D is a system schematic diagram showing another exemplary RAN and another exemplary CN that can be used within the communication system shown in Figure 6A the figure. Detailed Description
[0015] The detailed implementation of the exemplary examples will now be described in detail with reference to various drawings. Although this specification provides detailed examples of possible implementations, it should be noted that the details are intended to be exemplary and in no way limit the scope of this application.
[0016] This application describes multiple aspects, including tools, features, examples, models, methods, etc. Many of these aspects are described in a specific manner and are usually described in a way that may sound restrictive, at least to illustrate individual features. However, this is for clarity of description and does not limit the application or scope of these aspects. In fact, all different aspects can be combined and interchanged to provide further aspects. In addition, these aspects can also be combined and interchanged with the aspects described in previous submissions.
[0017] The aspects described and contemplated in this patent application can be implemented in many different forms. The Figures 1 to 6D Some examples can be provided, but other examples are considered, and Figures 1 - 6D the discussion does not limit the breadth of the specific implementation. At least one of these aspects generally relates to video encoding and decoding, and at least one other aspect generally relates to transmitting the generated or encoded bitstream. These and other aspects can be implemented as methods, apparatuses, computer-readable storage media storing instructions for encoding or decoding video data according to any of the methods, and / or computer-readable storage media storing the bitstream generated according to any of the methods.
[0018] In this application, the terms "reconstruction" and "decoding" can be used interchangeably, the terms "pixel" and "sample" can be used interchangeably, and the terms "image", "picture", and "frame" can be used interchangeably. Generally, but not necessarily, the term "reconstruction" is used at the encoding end, while "decoding" is used at the decoding end.
[0019] This document describes various methods, and each method includes one or more steps or actions for implementing the method. Unless the correct operation of the method requires steps or actions in a specific order, the order and / or use of specific steps and / or actions may be modified or combined. Additionally, in various examples, terms such as "first", "second", etc. may be used to modify elements, components, steps, operations, etc., such as "first decoding" and "second decoding". Unless specifically required, the use of such terms does not imply an order for modifying operations. Thus, in this example, the first decoding does not need to be performed before the second decoding, and may occur, for example, before, during, or in an overlapping time period with the second decoding.
[0020] The various methods and other aspects described in this application can be used to modify modules (e.g., the decoding module) of video encoder 100 and decoder 200, as Figure 1 and Figure 2 shown. Furthermore, aspects of the present invention are not limited to VVC or HEVC, and can be applied to, for example, other standards and recommendations (whether pre - existing or future - developed) and extensions of any such standards and recommendations (including VVC and HEVC). Unless otherwise specified or technically excluded, the aspects described in this application can be used alone or in combination.
[0021] Various numerical values are used in this application. For example, the size of a sub - block is 4×4, the index value ranges from 0 - 82, and so on. The specific values are for illustrative purposes, and the described aspects are not limited to these specific values.
[0022] Figure 1 Encoder 100 is shown. Variations of this encoder 100 are envisioned, but for clarity, encoder 100 is described below without describing all the expected variations.
[0023] Before encoding, the video sequence can undergo pre - encoding processing (101). For example, a color transformation can be applied to the input color picture (e.g., conversion from RGB 4:4:4 to YCbCr 4:2:0), or re - mapping of the input picture components can be performed to obtain a signal distribution that is more resilient to compression (e.g., using histogram equalization of one of the color components in the color components). Metadata can be associated with the pre - processing and appended to the bitstream.
[0024] In encoder 100, a picture is encoded by encoder elements as described below. The picture to be encoded is partitioned (102) and processed in units such as CUs for example. Each unit is encoded using, for example, an intra mode or an inter mode. When a unit is encoded in the intra mode, intra prediction (160) is performed. In the inter mode, motion estimation (175) and compensation (170) are performed. The encoder decides (105) which one of the intra mode or the inter mode is to be used for encoding the unit, and indicates the intra / inter decision by, for example, a prediction mode flag. The prediction residual is calculated, for example, by subtracting (110) the prediction block from the original image block.
[0025] Then, the prediction residual is transformed (125) and quantized (130). The quantized transform coefficients, motion vectors, and other syntax elements are entropy encoded (145) to output a bitstream. The encoder may skip the transformation and directly apply quantization to the untransformed residual signal. The encoder may bypass both the transformation and quantization, that is, directly encode the residual without applying the transformation or quantization process.
[0026] The encoder decodes the encoded block to provide a reference for further prediction. The quantized transform coefficients are dequantized (140) and inverse transformed (150) to decode the prediction residual. The decoded prediction residual and the prediction block are combined (155) to reconstruct the image block. A loop filter (165) is applied to the reconstructed image to perform, for example, deblocking effect / SAO (sample adaptive offset) filtering to reduce encoding artifacts. The filtered image is stored in a reference picture buffer (180).
[0027] Figure 2 A block diagram of video decoder 200 is shown. In decoder 200, the bitstream is decoded by decoder elements as described below. Video decoder 200 generally performs a decoding process opposite to the encoding process as Figure 1 described. Encoder 100 typically also performs video decoding as part of encoding video data.
[0028] Specifically, the input to the decoder includes a video bitstream, which may be generated by the video encoder 100. First, entropy decoding (230) is performed on the bitstream to obtain transform coefficients, motion vectors, and other encoded information. The picture partitioning information indicates how to partition the picture. Thus, the decoder can partition (235) the picture according to the decoded picture partitioning information. The transform coefficients are dequantized (240) and inverse-transformed (250) to decode the prediction residuals. The decoded prediction residuals and the prediction blocks are combined (255) to reconstruct the image blocks. The prediction blocks can be obtained (270) from intra prediction (260) or motion-compensated prediction (i.e., inter prediction) (275). A loop filter (265) is applied to the reconstructed image. The filtered image is stored in the reference picture buffer (280).
[0029] The decoded picture may also undergo post-decoding processing (285), for example, an inverse color transformation (e.g., a transformation from YCbCr 4:2:0 to RGB 4:4:4) or an inverse remapping that performs the remapping process performed in the precoding process (101). The post-decoding processing may use metadata derived in the precoding process and signaled in the bitstream.
[0030] Figure 3 A block diagram of an example of a system in which various aspects and examples are implemented is shown. The system 300 may be embodied as a device including the various components described below and is configured to perform one or more aspects described in this document. Examples of such devices include, but are not limited to, various electronic devices such as personal computers, laptop computers, smart phones, tablets, digital multimedia set-top boxes, digital television receivers, personal video recording systems, connected household appliances, and servers. The elements of the system 300 may be embodied individually or in combination in a single integrated circuit (IC), multiple ICs, and / or discrete components. For example, in at least one example, the processing and encoder / decoder elements of the system 300 are distributed across multiple ICs and / or discrete components. In various examples, the system 300 is communicatively coupled to one or more other systems or other electronic devices via, for example, a communication bus or through dedicated input ports and / or output ports. In various examples, the system 300 is configured to implement one or more of the aspects described in this document.
[0031] System 300 includes at least one processor 310 that is configured to execute instructions loaded therein for implementing various aspects as described, for example, in this document. The processor 310 may include embedded memory, input / output interfaces, and various other circuits known in the art. System 300 includes at least one memory 320 (e.g., volatile memory devices and / or non-volatile memory devices). System 300 includes a storage device 340, 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, disk drives, and / or optical disk drives. As a non-limiting example, the storage device 340 may include internal storage devices, attached storage devices (including removable and non-removable storage devices), and / or network-accessible storage devices.
[0032] System 300 includes an encoder / decoder module 350 that is configured to, for example, process data to provide encoded video or decoded video, and the encoder / decoder module 350 may include its own processor and memory. The encoder / decoder module 350 represents a module that may be included in a device to perform encoding and / or decoding functions. As is well known, a device may include one or both of an encoding module and a decoding module. Additionally, the encoder / decoder module 350 may be implemented as a stand-alone element of System 300 or may be incorporated within the processor 310 as a combination of hardware and software known to those skilled in the art.
[0033] The program code to be loaded onto the processor 310 or encoder / decoder 350 to execute the various aspects described in this document may be stored in the storage device 340 and subsequently loaded onto the memory 320 for execution by the processor 310. According to various examples, one or more of the processor 310, memory 320, storage device 340, and encoder / decoder module 350 may store one or more of various items during the execution of the processes described in this document. Such stored items may include but are not limited to input video, decoded video or partially decoded video, bitstreams, matrices, variables, and intermediate or final results of processing equations, formulas, operations, and operation logic.
[0034] In some examples, the memory internal to the processor 310 and / or the encoder / decoder module 350 is used to store instructions and provide working memory for processing required during encoding or decoding. However, in other examples, memory external to the processing device (e.g., the processing device can be the processor 310 or the encoder / decoder module 350) is used for one or more of these functions. The external memory can be the memory 320 and / or the storage device 340, such as dynamic volatile memory and / or non-volatile flash memory. In several examples, the external non-volatile flash memory is used to store, for example, the operating system of a television. In at least one example, fast external dynamic volatile memory such as RAM is used as the working memory for video encoding and decoding operations, such as MPEG-2 (MPEG refers to the Moving Picture Experts Group, MPEG-2 is also known as ISO / IEC 13818, and 13818-1 is also known as H.222, 13818-2 is also known as H.262), HEVC (HEVC refers to High Efficiency Video Coding, also known as H.265 and MPEG-H Part 2), or VVC (Versatile Video Coding).
[0035] Inputs to the elements of the system 300 can be provided via various input devices as shown in block 360. Such input devices include, but are not limited to: (i) a radio frequency (RF) section that receives, for example, RF signals transmitted over the air by a broadcaster; (ii) component (COMP) input terminals (or a set of COMP input terminals); (iii) universal serial bus (USB) input terminals; and / or (iv) high-definition multimedia interface (HDMI) input terminals. Figure 3 Other examples not shown include composite video.
[0036] In various examples, the input device of block 360 has corresponding input processing elements associated therewith as known in the art. For example, the RF section may be associated with elements suitable for: (i) selecting a desired frequency (also known as selecting a signal, or band-limiting a signal band to one band), (ii) down-converting the selected signal, (iii) again band-limiting to a narrower band to select a signal band that may be referred to as a channel in some examples, (iv) demodulating the down-converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select a desired data packet stream. The RF section of various examples includes one or more elements for performing these functions, such as a frequency selector, a signal selector, a band limiter, a channel selector, a filter, a down-converter, a demodulator, an error corrector, and a demultiplexer. The RF section may include a tuner that performs various functions of these functions, including, for example, down-converting a received signal to a lower frequency (e.g., an intermediate frequency or a near-baseband frequency) or to baseband. In one example of a set-top box, the RF section and its associated input processing elements receive an RF signal transmitted through a wired (e.g., cable) medium and perform frequency selection by filtering, down-converting, and again filtering to a desired frequency band. Various examples rearrange the order of the above (and other) elements, remove some of these elements, and / or add other elements that perform similar or different functions. Adding elements may include inserting elements between existing elements, for example, inserting an amplifier and an analog-to-digital converter. In various examples, the RF section includes an antenna.
[0037] In addition, the USB and / or HDMI terminals may include corresponding interface processors for connecting system 300 to other electronic devices across the USB and / or HDMI connections. It should be understood that various aspects of input processing (e.g., Reed-Solomon error correction) may be implemented as needed, for example, within a separate input processing IC or within processor 310. Similarly, aspects of USB or HDMI interface processing may be implemented as needed within a separate interface IC or within processor 310. The demodulated stream, error-corrected stream, and demultiplexed stream are provided to various processing elements, including, for example, processor 310 and encoder / decoder 350, which operate in conjunction with memory and storage elements to process the data stream as needed for presentation on an output device.
[0038] The various elements of system 300 may be provided in an integrated housing. Within the integrated housing, the various elements may be interconnected using a suitable connection arrangement 370 (e.g., internal buses known in the art, including inter-integrated circuit (I2C) buses, wiring, and printed circuit boards) and data may be transmitted between these elements.
[0039] System 300 includes a communication interface 380 that is capable of communicating with other devices via a communication channel 382. The communication interface 380 can include, but is not limited to, a transceiver configured to transmit and receive data over the communication channel 382. The communication interface 380 can include, but is not limited to, a modem or a network card, and the communication channel 382 can be implemented, for example, within a wired and / or wireless medium.
[0040] In various examples, a wireless network such as a Wi-Fi network, e.g., IEEE 802.11 (IEEE refers to the Institute of Electrical and Electronics Engineers), is used to stream or otherwise provide data to System 300. The Wi-Fi signals in these examples are received via the communication channel 382 and the communication interface 380 suitable for Wi-Fi communication. The communication channel 382 in these examples is typically connected to an access point or a router that provides access to an external network including the Internet to allow streaming applications and other over-the-top communications. Other examples use a set-top box to provide streaming data to System 300, and the set-top box delivers data via the HDMI connection of the input box 360. Still other examples use the RF connection of the input box 360 to provide streaming data to System 300. As described above, various examples provide data in a non-streaming manner. Additionally, various examples use wireless networks other than Wi-Fi, such as cellular networks or Bluetooth networks.
[0041] System 300 can provide output signals to various output devices, including a display 392, speakers 394, and other peripheral devices 396. The display 392 in various examples includes, 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 392 can be used in a television, a tablet, a laptop, a mobile phone (cellular phone), or other devices. The display 392 can also be integrated with other components (e.g., as in a smartphone) or be separate (e.g., an external monitor for a laptop). In various examples of the examples, the other peripheral devices 396 include one or more of a standalone digital video disc (or digital versatile disc) (DVR, for both terms), a disc player, a stereo system, and / or a lighting system. Various examples use one or more peripheral devices 396 that provide functions based on the output of System 300. For example, a disc player performs the function of playing the output of System 300.
[0042] In various examples, control signals are transmitted between system 300 and display 392, speaker 394, or other peripheral devices 396 using signaling such as AV.Link, Consumer Electronics Control (CEC), or other communication protocols capable of device-to-device control with or without user intervention. The output devices may be communicatively coupled to system 300 via dedicated connections through respective interfaces 330, 332, and 334. Alternatively, the output devices may be connected to system 300 using communication channel 382 via communication interface 380. Display 392 and speaker 394 may be integrated with other components of system 300 in a single unit in an electronic device such as a television. In various examples, display interface 330 includes a display driver such as a timing controller (T Con) chip.
[0043] Alternatively, for example, if the RF portion of input 370 is part of a separate set-top box, display 392 and speaker 394 may be separate from one or more of the other components. In various examples where display 392 and speaker 394 are external components, output signals may be provided via dedicated output connections including, for example, HDMI ports, USB ports, or COMP outputs.
[0044] These examples may be executed by computer software implemented by processor 310 or by hardware or by a combination of hardware and software. As a non-limiting example, these examples may be implemented by one or more integrated circuits. As a non-limiting example, memory 320 may be of any type suitable for the technical environment and may be implemented using any appropriate data storage technology such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory, and removable memory. As a non-limiting example, processor 310 may be of any type suitable for the technical environment and may encompass one or more of a microprocessor, a general-purpose computer, a special-purpose computer, and a processor based on a multi-core architecture.
[0045] Various embodiments are involved in decoding. As used in this application, "decoding" may encompass, for example, all or part of a process performed on a received coded sequence to produce a final output suitable for display. In various examples, such processes include one or more of the processes typically performed by a decoder, such as entropy decoding, inverse quantization, inverse transform, and differential decoding. In various examples, such processes also include or alternatively include processes performed by the decoders of the various embodiments described in this application, such as receiving a multi-transform selection (MTS) index, etc.
[0046] As another example, in one example, "decoding" refers only to entropy decoding, in another example, "decoding" refers only to differential decoding, and in another example, "decoding" refers to a combination of entropy decoding and differential decoding. Whether the phrase "decoding process" specifically refers to a subset of operations or generally refers to a broader decoding process will be clear based on the context of the specific description and is believed to be well understood by those skilled in the art.
[0047] Various specific implementations are involved in encoding. In a manner similar to the discussion above regarding "decoding", "encoding" as used in this application can cover, for example, all or part of the process performed on an input video sequence to produce an encoded bitstream. In various examples, such processes include one or more of the processes typically performed by an encoder, such as partitioning, differential encoding, transformation, quantization, and entropy encoding. In various examples, such processes also include or alternatively include processes performed by the encoders of the various specific implementations described in this application, such as determining whether MTS and / or transform skip will be disabled for an encoding unit.
[0048] As another example, in one example, "decoding" refers only to entropy decoding, in another example, "decoding" refers only to differential decoding, and in another example, "decoding" refers to a combination of differential decoding and entropy decoding. Whether the phrase "encoding process" specifically refers to a subset of operations or generally refers to a broader encoding process will be clear based on the context of the specific description and is believed to be well understood by those skilled in the art.
[0049] Note that the grammatical elements used herein, e.g., inter_affine_flag, ciip_flag, MergeTriangleFlag, wedge_merge_mode, etc., are descriptive terms. Thus, they do not exclude the use of other grammatical element names.
[0050] When the drawings are presented as flowcharts, it should be understood that they also provide block diagrams of the corresponding apparatuses. Similarly, when the drawings are presented as block diagrams, it should be understood that they also provide flowcharts of the corresponding methods / processes.
[0051] Various examples relate to rate - distortion optimization. Specifically, during the encoding process, a balance or trade - off between rate and distortion is typically considered, often taking into account constraints on computational complexity. Rate - distortion optimization is typically formulated as minimizing a rate - distortion function, which is a weighted sum of rate and distortion. There are different ways to solve the rate - distortion optimization problem. For example, these methods can be based on extensive testing of all encoding options (including all considered modes or encoding parameter values) and fully evaluating their encoding costs as well as the associated distortion of the reconstructed signal after encoding and decoding. Faster methods can also be used to reduce encoding complexity, especially for the calculation of approximate distortion based on predicted or prediction - residual signals rather than the reconstructed residual signal. A hybrid of these two methods can also be used, such as by using approximate distortion for only some of the possible encoding options and full distortion for other encoding options. Other methods only evaluate a subset of the possible encoding options. More generally, many methods employ any one of various techniques to perform the optimization, but the optimization does not necessarily involve a full evaluation of both encoding cost and associated distortion.
[0052] The specific implementations and aspects described herein can be implemented, for example, in a method or process, a device, a software program, a data stream, or a signal. Even if discussed only in the context of a single form of specific implementation (e.g., only as a method), the specific implementation of the discussed features can be implemented in other forms (e.g., a device or a program). A device can be implemented, for example, in appropriate hardware, software, and firmware. A method can be implemented, for example, in a processor, which generally refers to a processing device that includes, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. The processor also includes communication devices, such as, for example, a computer, a mobile phone, a portable / personal digital assistant (“PDA”), and other devices that facilitate information communication among end - users.
[0053] References to “an example” or “example” or “a specific implementation” or “specific implementation” and their other variants mean that the specific features, structures, characteristics, etc. described in connection with that example are included in at least one example. Thus, the phrases “in an example” or “in an example” or “in a specific implementation” or “in a specific implementation” and any other variants that appear throughout this application do not necessarily all refer to the same example.
[0054] Additionally, this application may relate to “determining” various information. Determining information can include, for example, one or more of estimating information, calculating information, predicting information, or retrieving information from a memory.
[0055] Furthermore, this application may relate to “accessing” various information. Accessing information can include, for example, one or more of receiving information, retrieving information (e.g., from a memory), storing information, moving information, copying information, calculating information, determining information, predicting information, or estimating information.
[0056] In addition, the present application may relate to "receiving" various information. Like "access", receiving is intended to be a broad term. Receiving information may include, for example, one or more of accessing information or retrieving information (e.g., from a memory). In addition, "receiving" is typically involved in one way or another during operations such as, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, computing information, determining information, predicting information, or estimating information.
[0057] In addition, the present application may relate to "obtaining" various pieces of information. Like "access" or "receiving", obtaining is intended to be a broad term. Obtaining information may include, for example, one or more of receiving information, deriving information (e.g., by computing and / or extracting), acquiring information, getting information, capturing information, accessing information, or retrieving information (e.g., from a memory). In addition, "obtaining" is typically involved in one way or another during operations such as, for example, storing information, processing information, transmitting information, moving information, copying information, erasing information, computing information, determining information, predicting information, or estimating information.
[0058] It should be understood that, for example, in the case of "A / B", "A and / or B", and "at least one of A and B", the use of any one of the following, namely " / ", "and / or", and "at least one", is intended to cover the selection of only the first-listed option (A), or only the second-listed option (B), or the selection of both options (A and B). As a further example, in the case of "A, B, and / or C" and "at least one of A, B, and C", such phrases are intended to cover the selection of only the first-listed option (A), or only the second-listed option (B), or only the third-listed option (C), or the selection of only the first-listed option and the second-listed option (A and B), or the selection of only the first-listed option and the third-listed option (A and C), or the selection of only the second-listed option and the third-listed option (B and C), or the selection of all three options (A and B and C). As will be apparent to those of ordinary skill in the art and related fields, this can be extended to as many items as are listed.
[0059] Moreover, as used herein, the term "signal" (verb) means, among other things, to indicate something to a corresponding decoder. For example, in some examples, the encoder signals whether a particular prediction technique is applied to an encoding unit. Thus, in one example, the same parameters are used on both the encoder side and the decoder side. For example, the encoder may transmit (explicit signaling) particular parameters to the decoder such that the decoder may use the same particular parameters. Conversely, if the decoder already has the particular parameters among others, signaling may be used without transmission (implicit signaling) to simply allow the decoder to know and select the particular parameters. By avoiding the transmission of any actual functions, bit savings are achieved in various examples. It should be understood that signaling may be implemented in various ways. For example, in various examples, one or more syntax elements, flags, etc. are used to signal information to a corresponding decoder. Although the foregoing relates to the verb form of the term "signal", the term "signal" (noun) may also be used herein.
[0060] It will be apparent to those of ordinary skill in the art that a particular implementation may generate various signals formatted to carry information such as may be stored or transmitted. The information may include, for example, instructions for performing a method or data generated by one implementation in the particular implementation. For example, a signal may be formatted to carry the bitstream of the foregoing example. Such a signal may be formatted, for example, as an electromagnetic wave (e.g., using the radio frequency portion of the spectrum) or a baseband signal. Formatting may include, for example, encoding a data stream and modulating a carrier with the encoded data stream. The information carried by the signal may be, for example, analog or digital information. It is known that signals may be transmitted over a variety of different wired or wireless links. Signals may be stored on a processor-readable medium.
[0061] A video processing system or apparatus such as a video encoder as described herein may be configured to use one or more inter-prediction techniques or tools to predict encoding blocks (e.g., coding units). These inter-prediction techniques may include, for example, affine motion compensation, combined inter and intra coding (CIIP), triangular partitioning mode (TPM), and / or geometric merge mode (GEO). A video coding apparatus may use these prediction techniques to achieve various coding gains. For example, with affine motion compensation, a video coding apparatus may achieve motion compensation beyond translational motion. In an example implementation of affine motion compensation, a video coding apparatus may, for example, assign motion vectors to 4×4 sub-blocks (e.g., assign to each 4×4 sub-block) based on an affine motion field based on 4×4 sub-blocks. A video coding apparatus may calculate the motion field based on one or more (e.g., two or three) control point motion vectors (CPMV). Figure 1An example of affine motion compensation with two control points A and B (e.g., located at the upper left corner and the upper right corner respectively) is shown. As shown, the video encoding device may divide a 16×16 encoding block into 4×4 sub-blocks and apply motion compensation to one or more of the sub-blocks within the sub-blocks (e.g., apply to each 4×4 sub-block) using the corresponding motion vectors associated with the sub-blocks. These motion vectors may be determined (e.g., derived, calculated, etc.) based on, for example, the control points A and B shown in the figure. The video encoding device may refine the result of the affine motion compensation based on optical flow (e.g., using one or more prediction refinements with the optical flow (PROF) technique).
[0062] The video encoding device may indicate, for example, whether affine motion compensation is to be applied to an encoding block (e.g., coding unit or CU) by including an inter-frame affine indication (e.g., such as inter_affine_flag) in the video bitstream. The video encoding device may indicate multiple CPMVs (e.g., two or three CPMVs) for an encoding block (e.g., CU), for example, by including an affine type indication (e.g., such as cu_affine_type_flag) in the video bitstream. The use of two CPMVs for an encoding block (e.g., if two CPMVs are used to calculate the sub-block-based motion field) may correspond to a 4-parameter affine motion field for the encoding block (e.g., a 4-parameter affine motion field may be calculated for the encoding block). The use of three CPMVs for an encoding block (e.g., if three CPMVs are used to calculate the sub-block-based motion field) may correspond to a 6-parameter affine motion field for the encoding block (e.g., a 6-parameter affine motion field may be calculated for the encoding block). An example syntax associated with affine motion compensation may be as follows:
[0063] Table 1 Example coding syntax associated with affine motion compensation
[0064]
[0065]
[0066] The video encoding device may perform combined inter-frame prediction and intra-frame prediction (CIIP) for an encoding block (e.g., CU). In an example, CIIP may be enabled for an encoding block encoded in the merge mode, which may include at least 64 luma samples. The width and / or height of such an encoding block may be less than 128 luma samples. The video encoding device may determine the inter-frame prediction signal (e.g., P inter ) in the CIIP mode using, for example, the same inter-frame prediction technique that may be applied in the merge mode. The video encoding device may determine the intra-frame prediction signal (e.g., P intra)。The prediction signals determined from inter - frame prediction and intra - frame prediction can be combined, for example, by weighted averaging, where the values of the applied weights can depend on the coding modes of one or more neighboring blocks of the current coding block (e.g., the current CU), such as the top and left neighboring blocks of the current coding block.
[0067] For example, by including a CIIP indication (e.g., such as ciip_flag) in the video bitstream (e.g., an indication with a value of 1 can indicate that CIIP is applied), a video coding device can indicate whether CIIP is applied to a coding block (e.g., a CU). If one or more of the following conditions for the coding block are met (e.g., all of the following conditions), the CIIP indication can be provided (e.g., signaled in the video bitstream). For example, if the prediction mode for the coding block is inter - frame prediction, the CIIP indication can be signaled and / or received. If the inter - frame prediction mode for the coding block includes the merge mode, the CIIP indication can be signaled and / or received. If intra - block copy is not applied to the coding block, the CIIP indication can be signaled and / or received. If the merge of sub - blocks is not applied to the coding block, the CIIP indication can be signaled and / or received. If the merge with motion vector difference (MMVD) is not applied to the coding block, the CIIP indication can be signaled and / or received. If the merge flag is equal to zero, the CIIP indication can be signaled and / or received. If the coding block width associated with the coding block (e.g., cbWidth) is less than a threshold (e.g., 128), the CIIP indication can be signaled and / or received. If the coding block height associated with the coding block (e.g., cbHeight) is less than 128, the CIIP indication can be signaled and / or received. If the product of the coding block width associated with the coding block and the coding block height associated with the coding block (e.g., cbWidth * cbHeight) is greater than or equal to a threshold (e.g., 64), the CIIP indication can be signaled and / or received. If the triangular partitioning mode is not applied to the coding block, the CIIP indication can be signaled and / or received.
[0068] As described herein, MMVD can be a mode in which a video coding device can signal a differential motion with a specific value, and the merge mode can be a mode in which the video coding device may not signal a motion vector. MMVD may result in higher motion accuracy. If the triangular partitioning mode is not activated, it can be inferred that the CIIP indication has a value that indicates the use of CIIP if one or more of the conditions described herein are met (e.g., all of the above conditions).
[0069] Table 2 below illustrates an example syntax for signaling CIIP at, for example, the CU level or the coding block level.
[0070] Table 2 Example syntax associated with CIIP
[0071]
[0072]
[0073] A video coding device may be configured to encode a coding block (e.g., a CU) using a triangular partitioning mode (TPM). For example, the video coding device may use the TPM for coding blocks of a particular size (e.g., 8×8 or larger) (e.g., coding blocks for inter prediction). When using the TPM, the video coding device may divide the coding block (e.g., evenly) into one or more (e.g., two) triangular partitions. The video coding device may indicate whether to perform diagonal or anti-diagonal splitting, e.g., by including a triangular split partition direction indication in the video bitstream. Figure 5 An example of inter prediction based on triangular partitioning is shown. The left diagram shows a diagonal split of a coding block, and the right diagram shows an anti-diagonal split of the coding block. Each of the partitions resulting from the diagonal or anti-diagonal split may be associated with a motion vector (e.g., with one motion vector) and / or a reference picture index.
[0074] Table 3 below shows an example coding syntax associated with the TPM.
[0075] Table 3 Example syntax associated with TPM
[0076]
[0077]
[0078] A video coding device may be configured to encode a coding block (e.g., a CU) using a geometric merge mode (GEO). The GEO may be associated with inter prediction (e.g., the GEO may be an inter prediction technique or tool). The GEO may be an extension of the TPM, where the splitting may extend from being diagonal or anti-diagonal to one or more angles and / or one or more displacements from a partition boundary in the middle with respect to the coding block.
[0079] Table 4 below shows an example coding syntax associated with the GEO, which may also be referred to by other names, such as the wedge merge mode. The enabling / disabling of the GEO may be indicated by flags such as wedge_merge_mode, MergeGpmFlag, etc.
[0080] Table 4 Example syntax associated with GEO
[0081]
[0082]
[0083] A video coding device may be configured to signal the use of GEO at the coded block or CU level, for example, by including a partition index, such as wedge_partition_idx, in the video bitstream. The value of such an index may be in the range of, for example, 0 to 82. The split angle and / or direction may be determined based on the index.
[0084] A video coding device, such as a video encoder as described herein, may be configured to enable one or more operations associated with transform coding for a first set of coding techniques or tools (e.g., intra prediction techniques or tools), and disable one or more operations associated with transform coding for a second set of coding techniques or coding modes (e.g., inter prediction techniques or tools). These disabled (or to be disabled) transform coding related operations may include, for example, multiple transform selection (MTS), transform skip (TrSkip), etc. MTS may include testing different transform types (e.g., for a coded block or CU), and selecting the one that provides the best rate-distortion performance (e.g., horizontal transform, vertical transform, etc.). TrSkip may include skipping one or more transform related operations in the encoder and decoder. For example, if TrSkip is applied, the pixel domain data may not be transformed into the transform domain at the encoder, and the transform domain data may not be transformed back to the pixel domain at the decoder.
[0085] In an example, a video coding device, such as the video encoder described herein, may be configured to apply MTS to coding blocks (e.g., CUs for intra prediction) for intra prediction because, for example, the residuals from intra prediction may have a spatially smooth distribution and MTS may provide a meaningful coding gain (e.g., 1%) for such coding blocks for intra prediction. In an example, if the video coding device determines that a coding block is coded (e.g., predicted) using one or more inter prediction techniques that are in a predetermined set of inter prediction techniques and thus MTS will be disabled, the video coding device, such as the video encoder described herein, may be configured to disable MTS for the coding block (e.g., CU). Such a predetermined set of inter techniques may include, for example, affine motion compensation, CIIP, TPM, and / or GEO. In these cases, an example reason for disabling MTS may be that the residuals predicted using discontinuous inter prediction techniques (such as affine motion compensation, TPM, etc.) may not have a spatially smooth distribution and MTS may not provide a significant coding gain for such coding blocks for inter prediction (e.g., the gain may be only about 0.2%). The video coding device may be configured to disable MTS for affine motion compensation, CIIP, TPM, GEO, and / or combinations thereof. When MTS is disabled, the video coding device may skip performing a rate distortion (RD) search for one or more candidate transform types with minimal impact on coding gain.
[0086] In an example, if one or more of affine motion compensation, CIIP, TPM, or GEO are used to code a coding block (e.g., CU), the video coding device, such as the video encoder described herein, may not code (e.g., signal) the MTS index in the video bitstream. The video coding device may use separable transform pairs, such as (DCT2, DCT2) for the coding block, where DCT2 may refer to a 2D discrete cosine transform.
[0087] A video coding device, such as the video decoder described herein, may determine whether to attempt to process (e.g., receive and / or decode) an MTS index (e.g., from the video bitstream) for a current coding block (e.g., current CU), the determination being at least partially based on whether the coding block is coded (e.g., predicted) using one or more inter prediction techniques that are in a predetermined set of inter prediction techniques and thus MTS will be disabled. Such a predetermined set of inter techniques may include, for example, affine motion compensation, CIIP, TPM, and / or GEO. If the video coding device determines that one or more of affine motion compensation, CIIP, TPM, or GEO are used to code the current coding block, the video coding device may skip processing (e.g., skip attempting to receive or extract) the MTS index (e.g., from the video bitstream) and may decode the coding block in the case where MTS is disabled.
[0088] Table 5 below shows example syntax associated with disabling MTS for affine motion compensation, CIIP, TPM, and / or combinations thereof.
[0089] Table 5 Example syntax associated with disabling MTS
[0090]
[0091] Table 6 below shows example syntax associated with disabling MTS for affine motion compensation, CIIP, GEO, and / or combinations thereof. Various prediction techniques or modes may also be referred to by other names and / or enabled / disabled via one or more flags. For example, GEO may also be referred to as a wedge merge mode and may be enabled / disabled by flags such as wedge_merge_mode, MergeGpmFlag, etc.
[0092] Table 6 Example syntax associated with disabling MTS
[0093]
[0094] In an example, a video encoding device, such as a video encoder described herein, can be configured to disable MTS for a subset of affine motion compensation, CIIP, TPM, or GEO (e.g., rather than disabling MTS for all of these modes). A flag can be used to indicate that MTS is disabled for one or a combination of affine motion compensation, CIIP, TPM, or GEO. For example, a flag (e.g., rather than multiple flags) can be used to indicate that MTS is disabled for only Geo, only CIIP, only TPM, only CIIP and Geo, only CIIP and TPM, only TPM and Geo, etc.
[0095] If a coding block is predicted using one or more inter-frame prediction techniques, which are in a predetermined set of inter-frame prediction techniques and TrSkip will be disabled, a video encoding device such as the video encoder described herein can be configured to disable transform skipping (TrSkip) for a coding block (e.g., CU). Such a predetermined set of inter-frame techniques may include, for example, affine motion compensation, CIIP, TPM and / or GEO. The video encoding device can be configured to disable TrSkip for affine motion compensation, CIIP, TPM, GEO and / or a combination thereof. In these cases, an example reason for disabling TrSkip may be that, given the encoding time involved, using TrSkip in combination with the aforementioned inter-frame prediction tools may not provide sufficient coding gain.
[0096] If one or more of affine motion compensation, CIIP, TPM, and / or GEO are used to encode a coding block (e.g., a CU), a video coding device such as a video encoder described herein may not encode (e.g., signal) a TrSkip indication in a video bitstream. On the receiving side, a video coding device such as a video decoder described herein may determine whether to process (e.g., receive and / or decode) a TrSkip indication for a current coding block, the determination being at least partially based on whether one or more of affine motion compensation, CIIP, TPM, and / or GEO are used to encode the current coding block. If one or more of affine motion compensation, CIIP, TPM, and / or GEO are used to encode the current coding block, the video coding device may skip receiving (e.g., extracting) the TrSkip indication (e.g., from the video bitstream) and decode the coding block in the case where TrSkip is disabled.
[0097] Table 7 below shows an example syntax associated with disabling TrSkip for affine motion compensation, CIIP, TPM, and / or combinations.
[0098] Table 7 Example syntax associated with disabling TrSkip
[0099]
[0100] Table 8 below shows an example syntax associated with disabling transform skip for affine motion compensation, CIIP, GEO, and / or combinations thereof. Various prediction techniques or modes may also be referred to by other names and / or enabled / disabled via one or more flags. For example, GEO may also be referred to as a wedge merge mode and may be enabled / disabled by flags such as wedge_merge_mode, MergeGpmFlag, etc.
[0101] Table 8 Example syntax associated with disabling TrSkip
[0102]
[0103] In an example, a video coding device such as a video encoder described herein may be configured to disable TrSkip for a subset of affine motion compensation, CIIP, TPM, and / or GEO (e.g., rather than disabling TrSkip for all of these modes). A flag may be used to indicate disabling TrSkip for one or a combination of affine motion compensation, CIIP, TPM, or GEO. For example, one flag (e.g., rather than multiple flags) may be used to indicate disabling TrSkip only for Geo, only for CIIP, only for TPM, for CIIP and Geo, for CIIP and TPM, for TPM and Geo, etc.
[0104] Figure 6AFIG. is a schematic diagram illustrating an exemplary communication system 1200 in which one or more of the disclosed examples may be implemented. The communication system 1200 may be a multi-access system that provides content such as voice, data, video, messages, broadcasts, etc. to a plurality of wireless users. The communication system 1200 may enable the plurality of wireless users to access such content through the sharing of system resources, including wireless bandwidth. For example, the communication system 1200 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 filtered OFDM, filter bank multi-carrier (FBMC), etc.
[0105] As Figure 6A shown, the communication system 1200 may include wireless transmit / receive units (WTRUs) 1202a, 1202b, 1202c, 1202d, RAN 1204 / 1213, CN 1206 / 1215, public switched telephone network (PSTN) 1208, Internet 1210, and other networks 1212, but it should be understood that the disclosed examples contemplate any number of WTRUs, base stations, networks, and / or network elements. Each of the WTRUs 1202a, 1202b, 1202c, 1202d may be any type of device configured to operate and / or communicate in a wireless environment. By way of example, the WTRUs 1202a, 1202b, 1202c, 1202d (any one of which may be referred to as a "station" and / or "STA") may be configured to transmit and / or receive wireless signals and may include user equipment (UE), mobile station, fixed or mobile subscriber unit, subscription-based unit, pager, cellular phone, personal digital assistant (PDA), smart phone, laptop, netbook, personal computer, wireless sensor, hotspot or Mi-Fi device, Internet of Things (IoT) device, watch or other wearable device, head-mounted display (HMD), vehicle, drone, medical device and application (e.g., remote surgery), industrial device and application (e.g., robots and / or other wireless devices operating in an industrial and / or automated processing chain environment), consumer electronic device, device operating on a commercial and / or industrial wireless network, etc. Any one of the WTRUs 1202a, 1202b, 1202c, and 1202d may be interchangeably referred to as a UE.
[0106] The communication system 1200 may further include base station 1214a and / or base station 1214b. Each of base stations 1214a, 1214b may be any type of device configured to wirelessly interface with at least one of WTRUs 1202a, 1202b, 1202c, 1202d to facilitate access to one or more communication networks such as CN 1206 / 1215, the Internet 1210, and / or other networks 1212. By way of example, base stations 1214a, 1214b may be base transceiver stations (BTSs), Node Bs, evolved Node Bs, home Node Bs, home evolved Node Bs, gNBs, NR Node Bs, site controllers, access points (APs), wireless routers, etc. Although base stations 1214a, 1214b are each depicted as a single element, it should be understood that base stations 1214a, 1214b may include any number of interconnected base stations and / or network elements.
[0107] Base station 1214a may be part of RAN 1204 / 1213, which may also include other base stations and / or network elements (not shown), such as base station controllers (BSCs), radio network controllers (RNCs), relay nodes, etc. Base station 1214a and / or base station 1214b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies, which may be referred to as cells (not shown). These frequencies may be in licensed spectrum, unlicensed spectrum, or a combination of licensed and unlicensed spectrum. A cell may provide coverage of wireless services to a particular geographic area, which may be relatively fixed or may change over time. A cell may further be divided into cell sectors. For example, the cell associated with base station 1214a may be divided into three sectors. Thus, in one example, base station 1214a may include three transceivers, i.e., one transceiver for each sector of the cell. In one example, base station 1214a may employ multiple-input multiple-output (MIMO) technology and may 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.
[0108] Base stations 1214a, 1214b may communicate with one or more of WTRUs 1202a, 1202b, 1202c, 1202d via air interface 1216, which may be any suitable wireless communication link (e.g., radio frequency (RF), microwave, centimeter wave, millimeter wave, infrared (IR), ultraviolet (UV), visible light, etc.). Any suitable radio access technology (RAT) may be used to establish air interface 1216.
[0109] More specifically, as noted above, communication system 1200 can be a multi-access system and can employ one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, etc. For example, base stations 1214a in RAN 1204 / 1213 and WTRUs 1202a, 1202b, 1202c can implement radio technologies such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which can use Wideband CDMA (WCDMA) to establish air interfaces 1215 / 1216 / 1217. WCDMA can include communication protocols such as High-Speed Packet Access (HSPA) and / or Evolved HSPA (HSPA+). HSPA can include High-Speed Downlink (DL) Packet Access (HSDPA) and / or High-Speed UL Packet Access (HSUPA).
[0110] In an example, base stations 1214a and WTRUs 1202a, 1202b, 1202c can implement radio technologies such as Evolved UMTS Terrestrial Radio Access (E-UTRA), which can use Long-Term Evolution (LTE) and / or Advanced LTE (LTE-A) and / or Advanced LTE Pro (LTE-A Pro) to establish air interface 1216.
[0111] In an example, base stations 1214a and WTRUs 1202a, 1202b, 1202c can implement radio technologies such as NR radio access, which can use New Radio (NR) to establish air interface 1216.
[0112] In an example, base stations 1214a and WTRUs 1202a, 1202b, 1202c can implement multiple radio access technologies. For example, base stations 1214a and WTRUs 1202a, 1202b, 1202c can implement LTE radio access and NR radio access together using, for example, the Dual Connectivity (DC) principle. Thus, the air interfaces used by WTRUs 1202a, 1202b, 1202c can be characterized by multiple types of radio access technologies and / or transmissions to / from multiple types of base stations (e.g., eNBs and gNBs).
[0113] In other examples, the base station 1214a and the WTRUs 1202a, 1202b, 1202c may implement radio 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, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile Communications (GSM), Enhanced Data Rate for GSM Evolution (EDGE), GSM EDGE (GERAN), etc.
[0114] Figure 6A The base station 1214b in may be, for example, a wireless router, a home Node B, a home evolved Node B, or an access point, and may utilize any suitable RAT to facilitate wireless connectivity in a local area such as a business premise, a home, a vehicle, a campus, an industrial facility, an air corridor (e.g., for use by drones), a road, etc. In one example, the base station 1214b and the WTRUs 1202c, 1202d may implement radio technologies such as IEEE 802.11 to establish a Wireless Local Area Network (WLAN). In an example, the base station 1214b and the WTRUs 1202c, 1202d may implement radio technologies such as IEEE 802.15 to establish a Wireless Personal Area Network (WPAN). In yet another example, the base station 1214b and the WTRUs 1202c, 1202d may utilize a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.) to establish a pico base station or a femto base station. As Figure 6A shown, the base station 1214b may have a direct connection to the Internet 1210. Thus, the base station 1214b may not need to access the Internet 1210 via the CN 1206 / 1215.
[0115] The RANs 1204 / 1213 may communicate with the CNs 1206 / 1215, which may be any type of network configured to provide voice, data, applications, and / or Internet Protocol Voice (VoIP) services to one or more of the WTRUs 1202a, 1202b, 1202c, 1202d. The data may have different Quality of Service (QoS) requirements such as different throughput requirements, latency requirements, error tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, etc. The CNs 1206 / 1215 may provide call control, billing services, location-based services, prepaid calls, Internet connectivity, video distribution, etc., and / or perform advanced security functions such as user authentication. Although not shown in Figure 6Ais shown, but it should be understood that RAN 1204 / 1213 and / or CN 1206 / 1215 can communicate directly or indirectly with other RANs using the same RAT as RAN 1204 / 1213 or a different RAT. For example, in addition to being connected to RAN 1204 / 1213 that can utilize NR radio technology, CN 1206 / 1215 can also communicate with another RAN (not shown) that uses GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or WiFi radio technology.
[0116] CN 1206 / 1215 can also act as a gateway for WTRUs 1202a, 1202b, 1202c, 1202d to access PSTN 1208, the Internet 1210, and / or other networks 1212. PSTN 1208 can include a circuit-switched telephone network that provides plain old telephone service (POTS). The Internet 1210 can include a global system of interconnected computer networks and devices that use common communication protocols such as the Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and / or the Internet Protocol (IP) in the TCP / IP Internet protocol suite. Networks 1212 can include wired and / or wireless communication networks owned and / or operated by other service providers. For example, networks 1212 can include another CN connected to one or more RANs, which can use the same RAT as RAN 1204 / 1213 or a different RAT.
[0117] Some or all of the WTRUs 1202a, 1202b, 1202c, 1202d in communication system 1200 can include multi-mode capabilities (e.g., WTRUs 1202a, 1202b, 1202c, 1202d can include multiple transceivers for communicating with different wireless networks via different wireless links). For example, Figure 6A the illustrated WTRU 1202c can be configured to communicate with a base station 1214a that can use a cellular-based radio technology and with a base station 1214b that can use IEEE 802 radio technology.
[0118] Figure 6B is a system schematic diagram showing an exemplary WTRU 1202. As Figure 6BAs shown, the WTRU 1202 may include a processor 1218, a transceiver 1220, a transmit / receive element 1222, a speaker / microphone 1224, a keypad 1226, a display / touchpad 1228, a non-removable memory 1230, a removable memory 1232, a power supply 1234, a global positioning system (GPS) chipset 1236, and / or other peripheral devices 1238, etc. It should be understood that while remaining consistent with the example, the WTRU 1202 may include any sub-combination of the foregoing elements.
[0119] The processor 1218 can 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 1218 can perform signal encoding, data processing, power control, input / output processing, and / or any other functions that enable the WTRU 1202 to operate in a wireless environment. The processor 1218 can be coupled to the transceiver 1220, which can be coupled to the transmit / receive element 1222. Although Figure 6B the processor 1218 and the transceiver 1220 are depicted as separate components, it should be understood that the processor 1218 and the transceiver 1220 can be integrated together in an electronic package or chip.
[0120] The transmit / receive element 1222 can be configured to transmit signals to or receive signals from a base station (e.g., base station 1214a) via an air interface 1216. For example, in one example, the transmit / receive element 1222 can be an antenna configured to transmit and / or receive RF signals. In an example, the transmit / receive element 1222 can be a transmitter / detector configured to transmit and / or receive, for example, IR, UV, or visible light signals. In yet another example, the transmit / receive element 1222 can be configured to transmit and / or receive both RF and optical signals. It should be understood that the transmit / receive element 1222 can be configured to transmit and / or receive any combination of wireless signals.
[0121] Although the transmit / receive element 1222 is depicted as a single element in Figure 6B the WTRU 1202 can include any number of transmit / receive elements 1222. More specifically, the WTRU 1202 can employ MIMO technology. Thus, in one example, the WTRU 1202 can include two or more transmit / receive elements 1222 (e.g., multiple antennas) for transmitting and receiving wireless signals via the air interface 1216.
[0122] The transceiver 1220 may be configured to modulate signals to be transmitted by the transmit / receive element 1222 and demodulate signals received by the transmit / receive element 1222. As noted above, the WTRU 1202 may have multi-mode capabilities. Accordingly, the transceiver 1220 may include multiple transceivers to enable the WTRU 1202 to communicate via multiple RATs such as NR and IEEE 802.11.
[0123] The processor 1218 of the WTRU 1202 may be coupled to the speaker / microphone 1224, keypad 1226, and / or the display / touchpad 1228 (e.g., a liquid crystal display (LCD) display unit or an organic light emitting diode (OLED) display unit) and may receive user input data therefrom. The processor 1218 may also output user data to the speaker / microphone 1224, keypad 1226, and / or the display / touchpad 1228. In addition, the processor 1218 may access information from any type of suitable memory such as the non-removable memory 1230 and / or the removable memory 1232 and store data in any type of suitable memory. The non-removable memory 1230 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 1232 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, etc. In other examples, the processor 1218 may access information from a memory that is not physically located on the WTRU 1202 (such as, on a server or a home computer (not shown)) and store data in that memory.
[0124] The processor 1218 may receive power from the power supply 1234 and may be configured to distribute and / or control power to other components in the WTRU 1202. The power supply 1234 may be any suitable device for powering the WTRU 1202. For example, the power supply 1234 may include one or more dry cell battery packs (e.g., nickel cadmium (NiCd), nickel zinc (NiZn), nickel metal hydride (NiMH), lithium ion (Li-ion), etc.), a solar cell, a fuel cell, etc.
[0125] The processor 1218 may also be coupled to a GPS chipset 1236, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 1202. In addition to or instead of the information from the GPS chipset 1236, the WTRU 1202 may receive location information via the air interface 1216 from a base station (e.g., base stations 1214a, 1214b) and / or determine its location based on the time of signals received from two or more nearby base stations. It should be understood that consistent with the examples, the WTRU 1202 may obtain location information by any suitable location determination method.
[0126] The processor 1218 may also be coupled to other peripheral devices 1238, which may include one or more software modules and / or hardware modules that provide additional features, functionality, and / or wired or wireless connections. For example, the peripheral devices 1238 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photos and / or videos), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, modules, a frequency modulation (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, a virtual reality and / or augmented reality (VR / AR) device, an activity tracker, etc. The peripheral devices 1238 may include one or more sensors, which may be one or more of the following: a gyroscope, an accelerometer, a Hall effect sensor, a magnetometer, an orientation sensor, a proximity sensor, a temperature sensor, a time sensor; a geographical location sensor; an altimeter, a light sensor, a touch sensor, a magnetometer, a barometer, a gesture sensor, a biometric sensor, and / or a humidity sensor.
[0127] The WTRU 1202 may include a full-duplex radio for which the transmission and reception of some or all signals (e.g., associated with a particular subframe for both UL (e.g., for transmission) and downlink (e.g., for reception)) may be concurrent and / or simultaneous. The full-duplex radio may include an interference management unit to reduce and / or substantially eliminate self-interference via signal processing performed by hardware (e.g., a choke) or via a processor (e.g., a separate processor (not shown) or via the processor 1218). In one example, the WTRU 1202 may include a half-duplex radio for which the transmission and reception of some or all signals (e.g., associated with a particular subframe for UL (e.g., for transmission) or downlink (e.g., for reception)).
[0128] Figure 6CFIG. 0 is a system diagram showing RAN 1204 and CN 1206 according to an example. As noted above, RAN 1204 may employ E-UTRA radio technology to communicate with WTRUs 1202a, 1202b, 1202c via air interface 1216. RAN 1204 may also communicate with CN 1206.
[0129] RAN 1204 may include evolved Node Bs 1260a, 1260b, 1260c, but it should be understood that RAN 1204 may include any number of evolved Node Bs while remaining consistent with the example. Each of evolved Node Bs 1260a, 1260b, 1260c may include one or more transceivers to communicate with WTRUs 1202a, 1202b, 1202c via air interface 1216. In one example, evolved Node Bs 1260a, 1260b, 1260c may implement MIMO technology. Thus, evolved Node B 1260a, for example, may use multiple antennas to transmit wireless signals to and / or receive wireless signals from WTRU 1202a.
[0130] Each of evolved Node Bs 1260a, 1260b, 1260c may be associated with a particular cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, scheduling of users in UL and / or DL, etc. As Figure 6C shown, evolved Node Bs 1260a, 1260b, 1260c may communicate with each other via the X2 interface.
[0131] Figure 6C The CN 1206 shown may include a Mobility Management Entity (MME) 1262, a Serving Gateway (SGW) 1264, and a Packet Data Network (PDN) Gateway (or PGW) 1266. Although each of the foregoing elements is depicted as part of CN 1206, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0132] MME 1262 may be connected to each of evolved Node Bs 1260a, 1260b, 1260c in RAN 1204 via the S1 interface and may act as a control node. For example, MME 1262 may be responsible for authenticating users of WTRUs 1202a, 1202b, 1202c, bearer activation / deactivation, selecting a particular serving gateway during the initial attachment of WTRUs 1202a, 1202b, 1202c, etc. MME 1262 may provide control plane functions for handover between RAN 1204 and other RANs (not shown) employing other radio technologies such as GSM and / or WCDMA.
[0133] The SGW 1264 can be connected via the S1 interface to each of the evolved Node Bs 1260a, 1260b, 1260c in the RAN 1204. The SGW 1264 can generally route and forward user data packets to / from the WTRUs 1202a, 1202b, 1202c. The SGW 1264 can perform other functions, such as anchoring the user plane during handovers between evolved Node Bs, triggering paging when DL data is available for the WTRUs 1202a, 1202b, 1202c, managing and storing the context of the WTRUs 1202a, 1202b, 1202c, etc.
[0134] The SGW 1264 can be connected to the PGW 1266, which can provide the WTRUs 1202a, 1202b, 1202c with access to a packet switched network (such as the Internet 1210) to facilitate communication between the WTRUs 1202a, 1202b, 1202c and IP-enabled devices.
[0135] The CN 1206 can facilitate communication with other networks. For example, the CN 1206 can provide the WTRUs 1202a, 1202b, 1202c with access to a circuit switched network (such as the PSTN 1208) to facilitate communication between the WTRUs 1202a, 1202b, 1202c and traditional landline communication devices. For example, the CN 1206 can include an IP gateway (such as an IP Multimedia Subsystem (IMS) server) that serves as an interface between the CN 1206 and the PSTN 1208 or can communicate with the IP gateway. Additionally, the CN 1206 can provide the WTRUs 1202a, 1202b, 1202c with access to other networks 1212, which can include other wired and / or wireless networks owned and / or operated by other service providers.
[0136] Although the WTRU is described as a wireless terminal in Figures 6A to 6D it is contemplated that in some representative examples, such a terminal can use (e.g., temporarily or permanently) a wired communication interface with the communication network.
[0137] In a representative example, the other network 1212 can be a WLAN.
[0138] 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 the AP. The AP may have access or an interface to a distribution system (DS) or another type of wired / wireless network that carries traffic to and / or from the BSS. Traffic originating from outside the BSS and destined for an STA may reach the STA through the AP and may be delivered to the STA. Traffic originating from an STA and destined for a destination outside the BSS may be sent to the AP for delivery to the corresponding destination. Traffic between STAs within the BSS may be sent through the AP. For example, the 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 may be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic may be sent between the source and destination STAs (e.g., directly between them) using direct link setup (DLS). In some representative examples, DLS may use 802.11e DLS or 802.11z tunnel DLS (TDLS). A WLAN using independent BSS (IBSS) mode may not have an AP, and STAs within the IBSS or using the IBSS (e.g., all STAs) may communicate directly with each other. The IBSS communication mode may sometimes be referred to as the "ad-hoc" communication mode in this document.
[0139] When using 802.11ac infrastructure operation mode or a similar operation mode, the AP may transmit beacons on a fixed channel, such as the primary channel. The primary channel may be of a fixed width (e.g., 20 MHz bandwidth) or a width dynamically set via signaling. The primary channel may be the operating channel of the BSS and may be used by the STA to establish a connection with the AP. In some representative examples, carrier sense multiple access / collision avoidance (CSMA / CA) may be implemented, for example, in an 802.11 system. For CSMA / CA, the STA (e.g., each STA) (including the AP) may sense the primary channel. If the primary channel is sensed / detected and / or determined to be busy by a particular STA, the particular STA may back off. Only one STA (e.g., only one station) may transmit at any given time in a given BSS.
[0140] High throughput (HT) STAs may communicate using 40 MHz wide channels, for example, via a combination of the primary 20 MHz channel and an adjacent or non-adjacent 20 MHz channel to form a 40 MHz wide channel.
[0141] A very high throughput (VHT) STA can support channels that are 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz wide. 40 MHz and / or 80 MHz channels can be formed by combining contiguous 20 MHz channels. A 160 MHz channel can be formed by combining eight contiguous 20 MHz channels, or by combining two non - contiguous 80 MHz channels (which can be referred to as an 80+80 configuration). For the 80+80 configuration, after channel coding, the data can pass through a segment parser that can split the data into two streams. Each stream can be processed separately with an inverse fast Fourier transform (IFFT) and time - domain processing. These streams can be mapped to two 80 MHz channels, and the data can be transmitted by the transmitting STA. At the receiver of the receiving STA, the operations for the 80+80 configuration described above can be reversed, and the combined data can be sent to the media access control (MAC).
[0142] 802.11af and 802.11ah support operation modes below 1 GHz. The channel operation bandwidth and carriers are reduced in 802.11af and 802.11ah compared to those used in 802.11n and 802.11ac. 802.11af supports 5 MHz, 10 MHz, and 20 MHz bandwidths in the television white space (TVWS) spectrum, and 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz bandwidths using non - TVWS spectrum. According to a representative example, 802.11ah can support meter - type control / machine - type communication, such as MTC devices in a macro - coverage area. MTC devices can have certain capabilities, for example, limited capabilities, including supporting (e.g., only supporting) certain bandwidths and / or limited bandwidths. MTC devices can include a battery with a battery life higher than a threshold (e.g., to maintain a very long battery life).
[0143] A WLAN system supporting multiple channels and channel bandwidths such as 802.11n, 802.11ac, 802.11af, and 802.11ah includes channels that can be designated as the primary channel. The primary channel can have a bandwidth equal to the maximum common operating bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel can be set and / or restricted by the STA (supporting the minimum bandwidth operation mode) from all STAs operating in the BSS. In the example of 802.11ah, for an STA (e.g., an MTC-type device) supporting (e.g., only supporting) the 1MHz mode, the primary channel can be 1MHz wide, even if the AP and other STAs in the BSS support 2MHz, 4MHz, 8MHz, 16MHz, and / or other channel bandwidth operation modes. Carrier sensing and / or network allocation vector (NAV) settings can depend on the state of the primary channel. If the primary channel is busy, for example, because an STA (only supporting the 1MHz operation mode) is transmitting to the AP, the entire available frequency band can be considered busy even if most of the frequency band remains idle and may be available.
[0144] In the United States, the available frequency band for 802.11ah is 902MHz to 928MHz. In 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 bandwidth available for 802.11ah is 6MHz to 26MHz, depending on the country code.
[0145] Figure 6D It is a schematic diagram of the system of RAN 1213 and CN 1215 according to an example. As pointed out above, RAN1213 can adopt NR radio technology to communicate with WTRU 1202a, 1202b, 1202c via the air interface 1216. RAN 1213 can also communicate with CN 1215.
[0146] The RAN 1213 may include gNBs 1280a, 1280b, 1280c, but it should be understood that, while remaining consistent with the example, the RAN 1213 may include any number of gNBs. Each of the gNBs 1280a, 1280b, 1280c may include one or more transceivers to communicate with the WTRUs 1202a, 1202b, 1202c via the air interface 1216. In one example, the gNBs 1280a, 1280b, 1280c may implement MIMO technology. For example, the gNBs 1280a, 1280b may utilize beamforming to transmit signals to and / or receive signals from the gNBs 1280a, 1280b, 1280c. Thus, the gNB 1280a, for example, may use multiple antennas to transmit wireless signals to the WTRU 1202a and / or receive wireless signals from the WTRU 102a. In an example, the gNBs 1280a, 1280b, 1280c may implement carrier aggregation technology. For example, the gNB 1280a may transmit multiple component carriers to the WTRU 1202a (not shown). A subset of these component carriers may be on unlicensed spectrum, while the remaining component carriers may be on licensed spectrum. In an example, the gNBs 1280a, 1280b, 1280c may implement coordinated multi-point (CoMP) technology. For example, the WTRU 1202a may receive a coordinated transmission from the gNB 1280a and the gNB 1280b (and / or the gNB 1280c).
[0147] The WTRUs 1202a, 1202b, 1202c may communicate with the gNBs 1280a, 1280b, 1280c using transmissions associated with scalable parameter sets. For example, the OFDM symbol interval and / or the OFDM subcarrier interval may vary for different transmissions, different cells, and / or different parts of the radio transmission spectrum. The WTRUs 1202a, 1202b, 1202c may communicate with the gNBs 1280a, 1280b, 1280c using various or scalable length subframes or transmission time intervals (TTIs) (e.g., containing different numbers of OFDM symbols and / or continuously varying absolute time lengths).
[0148] gNBs 1280a, 1280b, and 1280c can be configured to communicate with WTRUs 1202a, 1202b, and 1202c in a stand-alone configuration and / or a non-stand-alone configuration. In the stand-alone configuration, WTRUs 1202a, 1202b, and 1202c can communicate with gNBs 1280a, 1280b, and 1280c without accessing other RANs (e.g., evolved Node Bs 1260a, 1260b, and 1260c). In the stand-alone configuration, WTRUs 1202a, 1202b, and 1202c can use one or more of gNBs 1280a, 1280b, and 1280c as a mobility anchor point. In the stand-alone configuration, WTRUs 1202a, 1202b, and 1202c can communicate with gNBs 1280a, 1280b, and 1280c using signals in an unlicensed band. In the non-stand-alone configuration, WTRUs 1202a, 1202b, and 1202c can communicate with or connect to gNBs 1280a, 1280b, and 1280c while also communicating with or connecting to other RANs (such as evolved Node Bs 1260a, 1260b, and 1260c). For example, WTRUs 1202a, 1202b, and 1202c can implement the DC principle to communicate with one or more gNBs 1280a, 1280b, and 1280c and one or more evolved Node Bs 1260a, 1260b, and 1260c substantially simultaneously. In the non-stand-alone configuration, evolved Node Bs 1260a, 1260b, and 1260c can be used as a mobility anchor for WTRUs 1202a, 1202b, and 1202c, and gNBs 1280a, 1280b, and 1280c can provide additional coverage and / or throughput for serving WTRUs 1202a, 1202b, and 1202c.
[0149] Each of gNBs 1280a, 1280b, and 1280c can be associated with a specific cell (not shown) and can be configured to handle radio resource management decisions, handover decisions, scheduling of users in UL and / or DL, support for network slicing, dual connectivity, interworking between NR and E-UTRA, routing of user plane data towards user plane functions (UPFs) 1284a, 1284b, routing of control plane information towards access and mobility management functions (AMFs) 1282a, 1282b, etc. As Figure 6D shown, gNBs 1280a, 1280b, and 1280c can communicate with each other via the Xn interface.
[0150] Figure 6DThe CN 1215 shown may include at least one AMF 1282a, 1282b, at least one UPF 1284a, 1284b, at least one session management function (SMF) 1283a, 1283b, and possibly data networks (DN) 1285a, 1285b. Although each of the foregoing elements is depicted as part of the CN 1215, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0151] The AMF 1282a, 1282b may be connected via an N2 interface to one or more of the gNBs 1280a, 1280b, 1280c in the RAN 1213 and may serve as a control node. For example, the AMF 1282a, 1282b may be responsible for authenticating users of the WTRUs 1202a, 1202b, 1202c, supporting network slicing (e.g., handling different PDU sessions with different requirements), selecting a particular SMF 1283a, 1283b, managing the registration area, terminating NAS signaling, mobility management, etc. The AMF 1282a, 1282b may use network slicing in order to customize CN support for the WTRUs 1202a, 1202b, 1202c based on the type of service used by the WTRUs 1202a, 1202b, 1202c. For example, different network slices may be established for different use cases such as services relying on ultra-reliable low-latency (URLLC) access, services relying on enhanced mobile broadband (eMBB) access, services for machine type communication (MTC) access, etc. The AMF 1282 may provide control plane functions for handover between the RAN 1213 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.
[0152] The SMF 1283a, 1283b may be connected to the AMF 1282a, 1282b in the CN 1215 via an N11 interface. The SMF 1283a, 1283b may also be connected to the UPF 1284a, 1284b in the CN 1215 via an N4 interface. The SMF 1283a, 1283b may select and control the UPF 1284a, 1284b and configure the traffic routing through the UPF 1284a, 1284b. The SMF 1283a, 1283b may perform other functions such as managing and allocating UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, providing downlink data notifications, etc. The PDU session type may be IP-based, non-IP-based, Ethernet-based, etc.
[0153] UPF 1284a and 1284b can be connected to one or more of gNBs 1280a, 1280b, and 1280c in RAN 1213 via the N3 interface. These gNBs can provide access to a packet-switched network (such as the Internet 1210) to WTRUs 1202a, 1202b, and 1202c to facilitate communication between WTRUs 1202a, 1202b, and 1202c and IP-enabled devices. UPF 1284a and 1284b can perform other functions, such as routing and forwarding packets, implementing user plane policies, supporting multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, providing mobility anchoring, etc.
[0154] CN 1215 can facilitate communication with other networks. For example, CN 1215 can include an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that serves as an interface between CN 1215 and the PSTN 1208 or can communicate with this IP gateway. Additionally, CN 1215 can provide access to other networks 1212 to WTRUs 1202a, 1202b, and 1202c. These other networks can include other wired and / or wireless networks owned and / or operated by other service providers. In one example, WTRUs 1202a, 1202b, and 1202c can be connected to DNs 1285a and 1285b via UPF 1284a and 1284b through the N3 interface to UPF 1284a and 1284b and the N6 interface between UPF 1284a and 1284b and the local data network (DN) 1285a and 1285b.
[0155] In view of Figures 6A to 6D and Figures 6A to 6D In view of the corresponding descriptions, one or more or all of the functions described herein with reference to one or more of the following: WTRUs 1202a-d, base stations 1214a-b, evolved Node Bs 1260a-c, MME 1262, SGW 1264, PGW 1266, gNBs 1280a-c, AMFs 1282a-b, UPFs 1284a-b, SMFs 1283a-b, DNs 1285a-b, and / or any other device described herein can be performed by one or more emulation devices (not shown). The emulation device(s) can be one or more devices configured to mimic one or more or all of the functions described herein. For example, the emulation device(s) can be used to test other devices and / or simulate network and / or WTRU functions.
[0156] The simulation device(s) can be designed to implement one or more tests of other devices in a laboratory environment and / or an operator network environment. For example, the one or more simulation device(s) can perform one or more or all functions while being fully or partially implemented and / or deployed as part of a wired and / or wireless communication network to test other devices within the communication network. The one or more simulation device(s) can perform one or more functions or all functions while being temporarily implemented / deployed as part of a wired and / or wireless communication network. The simulation device can be directly coupled to another device for testing purposes and / or can perform tests using over-the-air wireless communication.
[0157] The one or more simulation device(s) can perform one or more (including all) functions while not being implemented / deployed as part of a wired and / or wireless communication network. For example, the simulation device can be used in a test laboratory and / or in a test scenario in a non-deployed (e.g., test) wired and / or wireless communication network to implement tests of one or more components. The one or more simulation device(s) can be test equipment. Direct RF coupling and / or wireless communication via an RF circuit (e.g., which can include one or more antennas) can be used by the simulation device to transmit and / or receive data.
[0158] Although the features and elements have been described above in particular combinations, one of ordinary skill in the art will understand that each feature or element can be used separately or in any combination with other features and elements. Additionally, the methods described herein can be implemented in a computer program, software, or firmware that is embodied in a computer-readable medium 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 associated with the software can be used to implement a radio frequency transceiver for a WTRU, UE, terminal, base station, RNC, or any host computer.
Claims
1. An apparatus for video decoding, the apparatus comprising one or more processors, wherein the one or more processors are configured to: Obtain video data, wherein the video data includes prediction residuals of coded blocks; Determine, based on the video data, that the prediction residuals are obtained using an inter prediction technique, where multi-transform selection (MTS) for the inter prediction technique set is disabled within the inter prediction technique set; and Decode the prediction residuals of the coded blocks when MTS is disabled; wherein the inter prediction technique set includes combined inter and intra prediction, triangular partitioning, and geometric merge.
2. The apparatus according to claim 1, wherein the one or more processors are configured to decode the prediction residual of the coded block when the MTS is disabled, including: The one or more processors are configured to skip obtaining an MTS index from the video data.
3. The apparatus according to claim 2, wherein the MTS index is not included in the video data for the coded blocks.
4. The apparatus according to claim 1, wherein the one or more processors are configured to decode the prediction residual of the coded block when MTS is disabled, including: The one or more processors are configured to apply a discrete cosine transform to the coded blocks.
5. The apparatus according to claim 1, wherein the one or more processors are further configured to: determine, based on the video data, that the prediction residuals are obtained when transform skip is disabled; and decode the prediction residuals of the coded blocks when transform skip is disabled.
6. A method for video decoding, the method comprising: Obtaining video data, wherein the video data includes prediction residuals of coded blocks; Determining, based on the video data, that the prediction residuals are obtained using an inter prediction technique, where multi-transform selection (MTS) for the inter prediction technique set is disabled within the inter prediction technique set; and Decoding the prediction residuals of the coded blocks when MTS is disabled; wherein the inter prediction technique set includes combined inter and intra prediction, triangular partitioning, and geometric merge.
7. The method according to claim 6, wherein decoding the prediction residuals of the coded blocks when MTS is disabled includes skipping obtaining an MTS index from the video data.
8. The method according to claim 7, wherein the MTS index is not included in the video data for the coded blocks.
9. The method according to claim 6, wherein decoding the prediction residuals of the coded blocks when MTS is disabled includes applying a discrete cosine transform to the coded blocks.
10. The method according to claim 6 further comprises: Determine, based on the video data, that the prediction residuals are obtained when transform skip is disabled, wherein decoding the prediction residuals of the coded blocks is performed when transform skip is disabled.
11. An apparatus for video encoding, the apparatus comprising one or more processors, wherein the one or more processors are configured to: Determine prediction residuals of a coded block using an inter prediction technique; Determine whether the inter prediction technique is within an inter prediction technique set for which multi-transform selection (MTS) will be disabled; and And Based on determining that the inter prediction technique is within the inter prediction technique set for which MTS will be disabled for the inter prediction technique set, Disable MTS for the prediction residual; and Encode the prediction residual of the coding block when MTS is disabled, where the set of inter prediction techniques includes combined inter and intra prediction, triangular partitioning, and geometric merge.
12. The apparatus according to claim 11, wherein, Based on determining that the inter prediction technique is in the set of inter prediction techniques for which MTS will be disabled, the one or more processors are further configured to skip encoding the MTS index for the coding block.
13. The apparatus according to claim 11, wherein the one or more processors being configured to disable MTS for the coding block includes the one or more processors being configured to skip performing rate distortion search based on one or more candidate transforms of the coding block.
Citation Information
Patent Citations
Decoding device, decoding method, encoding device, and encoding method
CN105594208A
Image processing apparatus and method
CN110100438A
Coefficient dependent encoding of transform matrix selection
CN110839158A
Improvement for inter PDPC mode
CN113574895A