Communication device, control method, and program
The communication device adjusts video frame encoding bit rates based on uplink scheduling methods to address mismatches in 5G networks, enhancing video transmission efficiency and quality by aligning encoding with scheduling methods.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2026-03-06
AI Technical Summary
Existing video transmission systems face challenges in managing video frame encoding bit rates due to mismatches between traffic characteristics and scheduling methods, leading to data transmission delays or inefficient resource use, particularly in 5G networks where scheduling methods like Dynamic Scheduling (DS) and Configured Scheduling (CS) do not align with application requirements.
A communication device that adjusts video frame encoding bit rates based on uplink scheduling methods, using information from the base station to set appropriate bit rates for video frames, enabling adaptive encoding and transmission.
This approach allows for effective control of video frame encoding bit rates, optimizing video quality and resource utilization by aligning encoding with scheduling methods, thereby reducing delays and improving transmission efficiency.
Smart Images

Figure 2026036727000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a communication device, a control method, and a program. [Background technology]
[0002] The Third Generation Partnership Project (3GPP (registered trademark)) has formulated cellular communication standards. The 3GPP cellular communication standards (hereinafter referred to as "3GPP standards") are currently in the process of standardizing XR (eXtended Reality), which represents virtual reality technology. Furthermore, Technical Report (TR) 26.928 describes various use cases related to XR.
[0003] In addition to XR, use cases for real-time video distribution using 3GPP standards are also expanding. These use cases require high-quality, low-latency video transmission, and to reduce the amount of data transmitted, video codecs are used to compress and expand the data. Video codecs include H.264 / MPEG (Moving Picture Experts Group)-4 AVC, H.265 / HEVC, and H.266 / VVC. AVC stands for Advanced Video Coding, HEVC stands for High Efficiency Video Coding, and VVC stands for Versatile Video Coding.
[0004] Furthermore, a base station in a 5G network (hereinafter also referred to as a 5G base station or gNodeB (gNB)) is responsible for scheduling uplink (UL) traffic (referred to as UL scheduling). The gNB allocates radio resources to each communication device (user terminal, also simply referred to as terminal or UE (User Equipment)) based on the UL scheduling method described below.
[0005] There are two types of UL scheduling: Dynamic Scheduling (DS) (hereinafter simply referred to as DS) and Configured Scheduling (CS) (hereinafter simply referred to as CS). DS dynamically allocates resources based on the Buffer Status Report (BSR) from the UE, which indicates the amount of data available for UL transmission, and the communication status. On the other hand, CS allows the UE to use a certain amount of resources periodically from the gNB, and the UE can use the resources implicitly until it receives a CS update from the gNB.
[0006] Patent Document 1 describes a technique in which a terminal that receives resource allocation by CS and transmits frames calculates communication fluctuations of the frames and requests a base station to change the timing of resource allocation based on the calculation results. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Publication No. 2024-47106 Summary of the Invention [Problem to be solved by the invention]
[0008] However, there are cases where the traffic characteristics of an application do not match the differences in scheduling methods such as DS and CS, or the communication conditions.
[0009] When the UL scheduling method is DS, setting the target bit rate for video frame coding without considering the possibility that the allocated transmission opportunities and resources may dynamically decrease due to deterioration in communication conditions may result in data transmission delays or data discarding. Also, when the UL scheduling method is CS, setting a low target bit rate in preparation for the decrease in allocated transmission opportunities and resources may result in ineffective use of resources for transmission opportunities, which may result in a decrease in video quality. Furthermore, when the UE requests the gNB to control UL scheduling, as in the above-mentioned conventional technology, whether the gNB accepts the request depends on the usage status of the gNB and other UEs. Thus, there is room for further consideration regarding the method for setting the video frame coding bit rate.
[0010] In view of the above, one object of the present disclosure is to provide a technique for appropriately controlling a video frame encoding bit rate. [Means for solving the problem]
[0011] A communication device according to one aspect of the present disclosure includes a receiving means for receiving uplink scheduling information from a base station that notifies the base station of an uplink scheduling method, a setting means for setting a bit rate of a plurality of video frames using information that differs depending on the uplink scheduling method, an encoding means for encoding the plurality of video frames at the set bit rate, and a transmitting means for transmitting at least some of the encoded plurality of video frames to the base station. [Effects of the Invention]
[0012] According to one aspect of the present disclosure, the video frame encoding bit rate can be appropriately controlled. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a system configuration diagram illustrating an example of a system including a communication device according to an embodiment of the present disclosure. [Figure 2] FIG. 2 is a block diagram illustrating an example of a hardware configuration of a communication device. [Figure 3] FIG. 2 is a block diagram illustrating an example of a functional configuration of a communication device. [Figure 4] 10 is a flowchart illustrating an example of a processing flow from reception of UL scheduling scheme information by a communication device to transmission of video frame encoded data. [Figure 5] 10 is a flowchart illustrating an example of a transmission process of coded video frame data performed by a communication device. [Figure 6] FIG. 10 is a sequence diagram showing an example of processing by a communication device and a base station when the scheduling method is the DS method. [Figure 7] FIG. 10 is a sequence diagram showing an example of processing by a communication device and a base station when the scheduling method is the CS method. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the claims. Although the embodiments describe multiple features, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations may be omitted.
[0015] (Embodiment) <System configuration> 1 is a system configuration diagram illustrating an example of a system including a communication device 100 according to an embodiment of the present disclosure. Note that, although this embodiment will be described using a 5G system as an example, the present disclosure is not limited to the 5G system. For example, the present disclosure may be applied to next-generation mobile communication systems such as 6G, LTE (Long Term Evolution), LTE-Advanced (LTE-A), combinations thereof, and the like.
[0016] As shown in Fig. 1, the system includes a communication device (hereinafter sometimes referred to as UE) 100, a 5G base station (hereinafter sometimes referred to as gNB) 200, a 5G core network (CN) 201, the Internet 202, and a server 203. Assuming that the system is a real-time video transmission system, for example, the communication device 100 equipped with an imaging device compresses and encodes video data captured by the communication device 100, and transmits the encoded video data in real time to the server 203 via a 5G network. In this specification, encoded data and encoded data refer to encoded data.
[0017] The communication device 100 communicates with a 5G CN201 as a UE via a gNB200. The gNB200 is a network node that provides an access point to the CN201 for the UE100. The server 203 is, for example, an XR application server. The encoded video data transmitted by the communication device 100 is transmitted to the server 203 via the gNB200, the CN201, and the Internet 202. The encoded video data transmitted to the server 203 is processed as appropriate by the server 203 and transmitted to the communication device 100, another communication device, or the like via the Internet 202, or the like.
[0018] <Configuration of communication device> 2 is a block diagram showing an example of the hardware configuration of communication device 100. Communication device 100 is a device equipped with a communication function, and may be, for example, a camera, a smartphone, a tablet, a PC (Personal Computer), a head-mounted display, or the like.
[0019] 2, the communication device 100 includes a system bus 101, a CPU (Central Processing Unit) 102, and a ROM (Read Only Memory) 103. The communication device 100 also includes a RAM (Random Access Memory) 104, an image capture device 105, a video codec 106 (also simply referred to as the codec 106), and a wireless communication interface (I / F) 107. The system bus 101 interconnects these devices 102 to 107 and serves as a path for transferring various types of data between the connected devices.
[0020] The CPU 102 controls the communication device 100 by comprehensively controlling the hardware devices 103 to 107 via an OS (Operating System) or device drivers.
[0021] The ROM 103 stores the OS and control programs such as device drivers executed by the CPU 102 .
[0022] The RAM 104 functions as a main memory and work area for the CPU 102, and can temporarily store programs and data.
[0023] The image capturing device 105 is a device that captures an image of a subject. Video data captured by the image capturing device 105 is output to the video codec .
[0024] The video codec 106 compresses and encodes the video data (video frames) input from the imaging device 105 according to a compression encoding method. Examples of compression encoding methods include H.264 and H.265. When the video codec performs compression encoding, a target bit rate (hereinafter simply referred to as bit rate) can be set. Here, if the target bit rate is set high, the data size after encoding increases but the video quality increases. Conversely, if the target bit rate is set low, the data size after encoding decreases but the video quality decreases. Therefore, the video codec 106 encodes the video frames at a bit rate set as described below. Part or all of the video codec 106 may be implemented by the CPU 102. Part or all of the video codec 106 may be a software-only function implemented by the CPU 102. The video codec 106 is an example of an encoding means according to the present disclosure.
[0025] The wireless communication interface 107 is a device for realizing bidirectional communication with other wireless communication devices (e.g., gNB 200) in a 5G network. The wireless communication interface 107 includes hardware such as a transceiver that provides a modem and frequency shifter, and an antenna set compatible with the spectrum of a frequency-transposed signal issued from the baseband modem. The wireless communication interface 107 also includes firmware for controlling the establishment of communication between the communication device 100 and a radio access network (RAN).
[0026] 3 is a block diagram showing an example of a functional configuration of the communication device 100. Each function will be described assuming that it is realized by software, but it may also be realized by hardware.
[0027] As shown in FIG. 3, the communication device 100 includes an image capture device control unit 300, an encoding control unit 301, a bit rate setting unit 302, a receiving unit 303, a transmitting unit 304, and a redundant data generating unit 305.
[0028] The imaging device control unit 300 controls the imaging device 105. The imaging device control unit 300 has functions such as controlling the start and stop of imaging by the imaging device 105, setting the resolution and frame rate of video recorded by the imaging device 105, detecting a signal indicating the generation of recorded video, and notifying the encoding control unit 301 of video generation.
[0029] When the encoding control unit 301 receives a video generation notification from the imaging device control unit 300, it instructs the video codec 106 to compress and encode the video frame in accordance with the encoding parameters including the bit rate notified by the bit rate setting unit 302. When the video codec 106 completes the compression and encoding of the video frame, the encoding control unit 301 detects a signal indicating the completion of encoding from the video codec 106 and notifies the transmission unit 304 of the completion of encoding.
[0030] The bit rate setting unit 302 calculates (sets) a bit rate using information about the UL scheduling method and information about the allocated resource blocks from the receiving unit 303. The information about the UL scheduling method is also referred to as UL scheduling method information, and the information about the allocated resource blocks is also referred to as allocated resource block information. These pieces of information are collectively referred to as information about UL scheduling or UL scheduling information. Specifically, the information about UL scheduling is CS information or a UL Grant in an RRC (Radio Resource Control) message, which will be described in detail below. The bit rate setting unit 302 calculates (sets) bit rates for multiple video frames using information that differs depending on the UL scheduling method. The bit rate setting unit 302 notifies the coding control unit 301 of the calculated bit rate. A bit rate calculation method will be described later. The bit rate setting unit 302 is an example of a setting means according to the present disclosure.
[0031] The receiver 303 controls the wireless communication interface 107, receives UL scheduling scheme information and information on allocated resource blocks from the gNB 200, and outputs this information to the bit rate setting unit 302. The UL scheduling scheme information and allocated resource block information (collectively referred to as UL scheduling information) differ depending on the UL scheduling scheme, and therefore, as described below, are information for notifying the UL scheduling scheme. For example, in the case of the DS scheme, the receiver 303 receives, as the UL scheduling information, a UL grant including UL allocated resource information from the gNB 200 via a PDCCH (Physical Downlink Control Channel). In the case of the CS scheme, the receiver 303 receives, as the UL scheduling information, CS information including periodicity information indicating the period of a configured UL grant from the gNB 200 via an RRC message. More specifically, the CS information includes information indicating the period of transmission opportunities allocated to the communication device 100, or whether the resource blocks allocated to the communication device 100 are constant over a predetermined period. Therefore, the receiving unit 303 monitors the channel so that it can receive information (messages) related to both the DS method and the CS method. The receiving unit 303 also performs reception protocol processing in accordance with the communication protocol used. The receiving unit 303 is an example of a receiving means according to the present disclosure.
[0032] The transmitter 304 controls the wireless communication interface 107 and transmits messages and data to the gNB 200. When video transmission starts, the transmitter 304 transmits a scheduling request (SR) indicating a UL data transmission request to the gNB 200 via a PUCCH (Physical Uplink Control Channel). The transmitter 304 also transmits video frame encoded data to the gNB 200 via a PUSCH (Physical Uplink Shared Channel).
[0033] The redundant data generator 305 generates redundant data for the video frame encoded data generated by the video codec 106. The redundant data may be data, such as an error correction code, that enables the receiving side to detect and restore the video frame encoded data when it is lost or corrupted during communication, or may be dummy data without error correction capabilities. The redundant data is data for using up the resource block bandwidth allocated by the gNB 200.
[0034] <System Operation> 4 is a flowchart showing an example of the processing flow from reception of UL scheduling scheme information by the communication device 100 (receiving unit 303) to transmission of coded video frame data by the communication device 100 (transmitting unit 304). This flowchart shows the overall processing flow, and each function (step) may operate in parallel.
[0035] At S400, the receiver 303 waits until it receives UL scheduling method information from the gNB 200.
[0036] When UL scheduling scheme information is received (S400; Yes), in S401, bit rate setting unit 302 determines the UL scheduling scheme from the UL scheduling scheme information. As described with reference to Fig. 3, the UL scheduling scheme information differs depending on the UL scheduling scheme. When receiving unit 303 receives a UL Grant via PDCCH, bit rate setting unit 302 determines the DS scheme, and the flow proceeds to S407. On the other hand, when receiving unit 303 receives CS information via an RRC message, bit rate setting unit 302 determines the CS scheme, and the flow proceeds to S402.
[0037] In S402, the bit rate setting unit 302 calculates a bit rate in the CS scheme. In the CS scheme, the bit rate setting unit 302 calculates the bit rate from periodicity information and allocated resource block information in the configured UL Grant notified in the RRC message, other antenna settings, 5G communication settings, etc. The periodicity information is an example of information related to the period of transmission opportunities allocated to the communication device 100, and the allocated resource block information is an example of information related to resource blocks allocated to the communication device 100. The bit rate setting unit 302 calculates, as the bit rate, an allocated resource block bandwidth (an example of an available bandwidth according to the present disclosure) calculated by multiplying the entire resource block bandwidth by the proportion of time slots that are periodically allocated. As a specific example, the bit rate setting unit 302 calculates the entire resource block bandwidth (bps), for example, according to the following Equation 1: (Number of MIMO layers) × (Number of modulation symbol bits) × (Maximum coding rate) × (Number of resource blocks) × (Number of subcarriers) / (OFDM symbol duration (seconds)) × (1 - (Radio frame overhead rate)) × (UL allocation rate) (Equation 1)
[0038] The number of MIMO (Multiple Input Multiple Output) layers in the UL of communication device 100 depends on the number of antennas, but in the case of SU-MIMO (Single User MIMO), the number of layers is a maximum of four.
[0039] The "number of modulation symbol bits" is the number of bits per modulation symbol, and for example, in the case of 64QAM (Quadrature Amplitude Modulation), it is 6 bits.
[0040] The "maximum coding rate" is the ratio of data to coded bits, and for example, in the case of a Low Density Parity Check (LDPC) code, the maximum is 948 / 1024.
[0041] The "number of resource blocks" is the number of resource blocks per component carrier, and is 132 for example, when the subcarrier spacing in the 28 GHz band is 120 kHz and the component carrier width is 200 MHz.
[0042] The "number of subcarriers" is the number of subcarriers that make up one resource block, and is 12, for example.
[0043] "OFDM symbol duration" is the duration of one OFDM symbol, which is 8.93 microseconds (0.00000893 seconds) when the subcarrier spacing is 120 kHz. OFDM is an abbreviation for Orthogonal Frequency Division Multiplexing.
[0044] The "wireless frame overhead rate" is the overhead rate per wireless frame, and for example, for millimeter waves, it is about 0.2.
[0045] The "UL allocation ratio" is the ratio of UL in TDD (Time Division Duplex), and is 0.2 if, for example, DL:UL is 4:1.
[0046] For example, when each parameter has the above-mentioned value, the total resource block bandwidth is calculated as 4×6×948 / 1024×132×12 / 0.00000893×(1−0.2)×0.2, which is approximately 630 Mbps.
[0047] For example, assume that resources are allocated in a 1 slot cycle out of 10 UL slots based on the periodicity information included in the CS information. In this case, the bit rate setting unit 302 multiplies the total resource block bandwidth of 630 Mbps by 1 / 10 to calculate the allocated resource block bandwidth of 63 Mbps as the bit rate.
[0048] In S403, the encoding control unit 301 sets the bit rate calculated in S402 as the target bit rate and sets the video frame encoding setting in the video codec 106.
[0049] In S404, the transmitter 304 waits for an opportunity to transmit the coded video frame data by determining an opportunity to transmit the coded video frame data according to the periodicity defined by the RRC message.
[0050] If it is not an opportunity to transmit video frame coded data (S404; No), in S406, the receiver 303 monitors the PDCCH to see if there is an update to the UL scheduling information. If there is an update to the UL scheduling information (S406; Yes), the flow returns to S400, and if there is no update to the UL scheduling information (S406; No), the flow returns to S404.
[0051] In S404, if an opportunity to transmit the coded video frame data arrives (S404; Yes), the flow proceeds to S405. In S405, the transmitting unit 304 performs a process of transmitting the coded video frame data. The details of the process of transmitting the coded video frame data in S405 will be described later.
[0052] In S407, bit rate setting unit 302 calculates the bit rate in the DS scheme. As in S402, bit rate setting unit 302 also calculates the total resource block bandwidth in the DS scheme, for example, according to the calculation formula shown in Equation 1. Next, bit rate setting unit 302 multiplies the calculated total resource block bandwidth by the ratio of the number of time slots allocated by the UL Grant to the total number of time slots to calculate the allocated resource block bandwidth. The number of time slots allocated by the UL Grant is an example of information related to resource blocks allocated to communication device 100. For example, if the total resource block bandwidth is 630 Mbps and 2 slots out of 10 UL slots are allocated, the allocated resource block bandwidth is 126 Mbps.
[0053] The bit rate is calculated using the allocated resource block bandwidth. For example, the bit rate setting unit 302 calculates the average value of the allocated resource block bandwidth calculated using information on resource blocks received within a recent fixed period (e.g., a fixed period from the present to the past) as the bit rate.
[0054] Alternatively, the bit rate setting unit 302 may calculate the minimum value of the allocated resource block bandwidth as the bit rate, calculated using information about resource blocks received within a recent fixed period (e.g., a fixed period from the present to the past).
[0055] Alternatively, the bit rate setting unit 302 may calculate the bit rate by multiplying the allocated resource block bandwidth calculated using information about the most recently received (latest) resource block by a predetermined ratio (e.g., 0.8).
[0056] In this case, the bit rate setting unit 302 may adaptively change the ratio by which the calculated allocated resource block bandwidth is multiplied, depending on the communication status with the gNB 200 (e.g., received power, reception quality, etc.). That is, the above-mentioned predetermined ratio may change depending on the communication status between the communication device 100 and the gNB 200. For example, when the communication status is good (e.g., when the received power value, etc. is equal to or greater than a predetermined threshold), the bit rate setting unit 302 may calculate, as the bit rate, a value obtained by multiplying the calculated allocated resource block bandwidth by a first ratio (e.g., 0.8). When the communication status is bad (e.g., when the received power value, etc. is smaller than a threshold), the bit rate setting unit 302 may calculate, as the bit rate, a value obtained by multiplying the calculated allocated resource block bandwidth by a second ratio (e.g., 0.7) that is smaller than the first ratio. Here, an example has been described in which two ratios, one for when the communication status is good and one for when the communication status is bad, are used. However, more detailed ratios, i.e., three or more ratios may be used. When three or more ratios are used, two or more corresponding thresholds may be set. This allows the bit rate to be more appropriately controlled according to the communication conditions.
[0057] In S408, the encoding control unit 301 sets the bit rate calculated in S407 as the target bit rate and sets the video frame encoding setting in the video codec 106.
[0058] In S409, the transmitter 304 determines an opportunity to transmit the coded video frame data from the allocated time slot indicated by the UL Grant, and waits for an opportunity to transmit the coded video frame data.
[0059] When an opportunity to transmit coded video frame data arrives (S409; Yes), the flow proceeds to S410. In S410, the transmitter 304 performs a process to transmit coded video frame data. Note that the process to transmit coded video frame data in S410 is the same as the process to transmit coded video frame data in S405. Thereafter, the flow proceeds to S400, and waits for resource allocation by the next UL Grant.
[0060] 5 is a flowchart showing an example of the transmission process (S405, S410 in FIG. 4) of coded video frame data performed by the communication device 100 (transmitter 304). In this embodiment, the transmission process of coded video frame data shown in FIG. 5 is performed in units of GOPs (Group Of Pictures). However, the unit in which the transmission process is performed is not limited to GOPs.
[0061] In S500, the transmitter 304 determines whether transmission of the coded video frame data will be completed within a predetermined allowable delay time in the system. For example, if transmission of buffered coded video frame data is not completed at the current transmission opportunity, the coded video frame data will be transmitted over to the next transmission opportunity, resulting in a transmission delay. If this transmission delay is within the allowable delay time (if transmission of the coded video frame data is completed within the predetermined time), the flow proceeds to S501. If the transmission delay exceeds the allowable delay time, the flow proceeds to S502.
[0062] In S501, the transmitting unit 304 transmits the video frame encoded data to the gNB 200, and the transmission process is completed.
[0063] In S502, the transmitter 304 determines whether frame skipping of the coded video frame data is possible. Frame skipping is a technique for reducing the amount of data transmitted by canceling the transmission of some coded video frames rather than transmitting all of them. However, in coding methods involving inter-frame prediction, such as H.264 and H.265, the number of frames that can be skipped is limited due to dependencies between frames during data decoding. For example, assume that video frame data of 60 frames per GOP has a frame structure in which the first frame is an I frame, followed by alternating P and B frames. Here, the I frame is intra-frame coded and does not reference other frames, so decoding is completed within that frame. P and B frames are inter-frame coded and refer to other frames during coding, and therefore also refer to the frame data referenced during coding during decoding. The difference between P frames and B frames is whether the reference direction is unidirectional (P frames) or bidirectional (B frames). In this example, a P frame references the preceding I frame or P frame, and a B frame references the preceding P frame and the following P frame. However, it goes without saying that the determination and skipping described below can be performed in a similar manner even with other references. In such a GOP structure, determining whether frame skipping is feasible is performed in two stages. First, the transmitter 304 determines whether skipping a B frame, which is not referenced in the decoding of other frames, will complete transmission within the allowable delay time. If skipping a B frame alone is insufficient, the transmitter 304 then determines in a second stage whether skipping a B frame and a P frame will complete transmission within the allowable delay time. If either of these two stages determines that transmission will be completed within the allowable delay time (S502; Yes), the flow proceeds to S503. On the other hand, if neither of the two stages determines that transmission will be completed within the allowable delay time (S502; No), the flow proceeds to S505.
[0064] In S503, the transmitting unit 304 performs frame skipping using the method determined in S502 to complete transmission within the allowable delay time. As described above, if transmission of encoded video frames is not (determined to be) completed within a predetermined time, the transmitting unit 304 cancels the transmission of one or more of these video frames. In this case, the transmitting unit 304 determines the one or more video frames to cancel transmission of based on the reference relationship between these video frames.
[0065] In S504, the transmitting unit 304 transmits to the gNB 200 the video frame encoded data that was not frame skipped in S503.
[0066] In S505, the transmitting unit 304 skips the entire GOP and cancels its transmission.
[0067] In S506, the transmitting unit 304 transmits the redundant data generated by the redundant data generating unit 305 so as to use up all the resource blocks allocated at this transmission opportunity.
[0068] FIG. 6 is a sequence diagram showing an example of processing by the communication device 100 and the gNB 200 when the scheduling method is the DS method.
[0069] In S600, at the start of video transmission, the communication device 100 transmits a scheduling request indicating an uplink data transmission request to the gNB 200.
[0070] In S601, the gNB200 transmits an UL Grant to the communication device 100.
[0071] When the wireless communication interface 107 receives the UL Grant, the bit rate setting unit 302 calculates the bit rate, and the encoding control unit 301 updates the bit rate setting for the video codec 106 (S602).
[0072] Thereafter, in S603, the communication device 100 transmits the coded video frame data as UL data via PUSCH to the gNB 200. The coded video frame data transmitted here is not necessarily coded at the bit rate set and updated in S602, but may also be coded at the bit rate set before S602.
[0073] Next, in S604, the communication device 100 transmits a BSR to the gNB 200 notifying the amount of video frame encoded data accumulated in the buffer (referred to as the amount of buffered data).
[0074] In S605, the gNB 200 transmits the next UL Grant to the communication device 100, to which a resource block is allocated according to the amount of buffered data notified in the BSR.
[0075] Thereafter, the bit rate setting update (S606), UL data transmission (S607), and BSR transmission (S608) are repeated until video transmission from the communication device 100 to the server 203 is completed.
[0076] FIG. 7 is a sequence diagram showing an example of processing by the communication device 100 and the gNB 200 when the scheduling method is the CS method.
[0077] In S700, similar to S600, the communication device 100 transmits a scheduling request indicating an uplink data transmission request to the gNB 200 at the start of video transmission.
[0078] At S701, the gNB 200 transmits CS information to the communication device 100 via an RRC message.
[0079] When the wireless communication interface 107 receives the CS information, the bit rate setting unit 302 calculates the bit rate, and the encoding control unit 301 updates the bit rate setting for the video codec 106 (S702).
[0080] Then, in S703, the communication device 100 transmits the video frame encoded data as UL data to the gNB 200 via PUSCH.
[0081] If the UL scheduling scheme is the CS scheme, the communication device 100 continues to transmit the coded video frame data to the gNB 200 in accordance with the periodicity information defined by the CS information (S704 and S705). If the UL scheduling scheme is the CS scheme, the communication device 100 transmits the coded video frame data to the gNB 200 without receiving resource allocation information from the gNB 200.
[0082] At S706, gNB200 transmits a CS information update notification to communication device 100 via PDCCH.
[0083] When the wireless communication interface 107 receives the CS information update notification, the bit rate setting unit 302 calculates the bit rate, and the encoding control unit 301 updates the bit rate setting for the video codec 106 (S707).
[0084] Thereafter, the communication device 100 continues to transmit the video frame encoded data in accordance with the periodicity information contained in the updated CS information until the video transmission from the communication device 100 to the server 203 is completed or the communication device 100 receives another CS information update notification.
[0085] As described above, according to the present embodiment, the communication device 100 changes the method of setting the video frame coding bit rate (information used for bit rate setting) depending on the UL scheduling method (depending on whether it is the DS method or the CS method). This makes it possible to appropriately control the video frame coding bit rate without relying on the gNB and other communication devices.
[0086] (Other embodiments) 5, if it is determined that the transmission of the coded video frame data will not be completed within the allowable delay time, re-encoding may be performed instead of the above-described process. In this case, the coding control unit 301 may instruct the video codec 106 to perform compression coding at a bit rate lower than the previously set bit rate (for example, a value obtained by multiplying the previously set bit rate by 0.9, 0.8, etc.). Therefore, in this case, the video codec 106 may encode the video frame at a bit rate lower than the previously set bit rate. If it is determined that the transmission will not be completed within the allowable delay time even after re-encoding, such re-encoding may be performed recursively.
[0087] Regarding the DS scheme, in the above embodiment, an example has been described in which the bit rate setting unit 302 calculates the bit rate using information about resource blocks received within a certain period of time immediately preceding the current time. However, the present disclosure is not limited to this example. For example, the bit rate setting unit 302 may calculate, as the bit rate, the average value of the allocated resource block bandwidth calculated using information about N consecutive resource blocks received before the current time, including information about the most recently received resource block. Similarly, the bit rate setting unit 302 may calculate, as the bit rate, the minimum value of the allocated resource block bandwidth calculated using information about N consecutive resource blocks received before the current time, including information about the most recently received resource block. N is a predetermined integer equal to or greater than 2, such as 5 or 10.
[0088] Regarding the DS scheme, several bit rate calculation methods have been described in the above embodiment and other embodiments. The communication device 100 may determine which calculation method to use from some or all of these calculation methods based on, for example, communication conditions (received power, reception quality, etc.). In this case, for example, if the communication conditions are poor, the communication device 100 may calculate the bit rate using a calculation method that minimizes the bit rate. Alternatively, the gNB 200 may configure or notify the communication device 100 which calculation method to use from some or all of these calculation methods. In this case, for example, the gNB 200 may configure or notify the communication device 100 using an RRC message (RRC signaling), MAC CE, and / or DCI. MAC is an abbreviation for Medium Access Control, CE is an abbreviation for Control Element, and DCI is an abbreviation for Downlink Control Information.
[0089] The present disclosure can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. The present disclosure can also be realized by a circuit (e.g., ASIC or FPGA) that realizes one or more functions. ASIC is an abbreviation for Application Specific Integrated Circuit, and FPGA is an abbreviation for Field Programmable Gate Array.
[0090] Any two or more of the above-described components of communication device 100 may be integrated, or one component may be divided into two or more (sub)components. For example, encoding control unit 301 and bit rate setting unit 302 (and video codec 106, if necessary) may be integrated into one component.
[0091] The names of the components, parameters, etc. of the communication device 100 described above are merely examples and may be changed to other names.
[0092] The order of the procedures, sequences, flowcharts, etc. of the above-described embodiments may be interchanged as long as it is not inconsistent. Also, for example, the methods described above present various step elements using an exemplary order and are not limited to the particular order presented. For example, the order of S700 and S701 in FIG. 7 may be interchanged. Also, some steps may not be present, or additional steps may be present, in the procedures, sequences, flowcharts, etc. of the above-described embodiments. For example, S700 in FIG. 7 may not be present.
[0093] In addition, the following supplementary notes are disclosed regarding the above-described embodiment.
[0094] [Appendix 1] a receiving means for receiving uplink scheduling information notifying an uplink scheduling method from a base station; a setting means for setting bit rates of a plurality of video frames using different information according to the uplink scheduling method; encoding means for encoding the plurality of video frames at the set bit rate; a transmitting means for transmitting at least some of the encoded video frames to the base station; A communication device having:
[0095] [Appendix 2] A communication device as described in Appendix 1, wherein, when the uplink scheduling method is a configured scheduling method, the uplink scheduling information includes information regarding the period of transmission opportunities assigned to the communication device and information regarding resource blocks assigned to the communication device.
[0096] [Appendix 3] 3. The communication device according to claim 2, wherein the setting means sets the bit rate based on an available bandwidth calculated using information about a periodicity of the transmission opportunity and information about the resource block.
[0097] [Appendix 4] A communication device described in any one of Supplementary Notes 1 to 3, wherein, when the uplink scheduling method is a dynamic scheduling method, the uplink scheduling information includes information regarding resource blocks allocated to the communication device.
[0098] [Appendix 5] The communication device according to claim 4, wherein the setting means sets the bit rate based on an average value of available bandwidth calculated using information about resource blocks received within a certain period of time from the present.
[0099] [Appendix 6] The communication device according to claim 4 or 5, wherein the setting means sets the bit rate based on the minimum value of the available bandwidth calculated using information about resource blocks received within a certain period of time from the present.
[0100] [Appendix 7] 7. The communication device according to claim 4, wherein the setting means sets the bit rate based on a value obtained by multiplying an available bandwidth calculated using information about the most recently received resource block by a predetermined ratio.
[0101] [Appendix 8] 8. The communication device according to claim 7, wherein the predetermined ratio varies depending on the status of communication between the communication device and the base station.
[0102] [Appendix 9] A communication device described in any of Appendixes 1 to 8, wherein if transmission of the encoded plurality of video frames to the base station is not completed within a predetermined time, the transmitting means cancels transmission of all video frames except for the some of the encoded plurality of video frames.
[0103] [Appendix 10] The communication device described in Appendix 9, wherein the transmitting means determines video frames excluding the some of the video frames from the encoded video frames based on a reference relationship between the plurality of video frames.
[0104] [Appendix 11] A control method performed by a communication device, receiving uplink scheduling information from a base station, the uplink scheduling information indicating an uplink scheduling scheme; setting bit rates for a plurality of video frames using different information according to the uplink scheduling scheme; encoding the plurality of video frames at the set bit rate; transmitting at least some of the encoded video frames to the base station; A control method comprising:
[0105] [Appendix 12] A program for causing a computer to execute the control method described in Appendix 11. [Explanation of symbols]
[0106] 100 Communication equipment (UE) 200 5G base stations (gNB) 201 5G Core Network (CN) 202 Internet 203 Server 101 System Bus 102 CPU 103 ROM 104 RAM 105 Imaging device 106 Video Codec 107 Wireless communication interface 300 Imaging device control section 301 Encoding control unit 302 Bitrate setting section 303 Receiving Unit 304 Transmission Unit 305 Redundant Data Generation Unit
Claims
1. a receiving means for receiving uplink scheduling information notifying an uplink scheduling method from a base station; a setting means for setting bit rates of a plurality of video frames using different information according to the uplink scheduling method; encoding means for encoding the plurality of video frames at the set bit rate; a transmitting means for transmitting at least some of the encoded video frames to the base station; A communication device having:
2. 2. The communication device of claim 1, wherein, when the uplink scheduling method is a configured scheduling method, the uplink scheduling information includes information about a period of transmission opportunities allocated to the communication device and information about resource blocks allocated to the communication device.
3. The communication device according to claim 2 , wherein the setting means sets the bit rate based on an available bandwidth calculated using information about a period of the transmission opportunity and information about the resource block.
4. The communication device of claim 1 , wherein, when the uplink scheduling scheme is a dynamic scheduling scheme, the uplink scheduling information includes information about resource blocks allocated to the communication device.
5. 5. The communication device according to claim 4, wherein the setting means sets the bit rate based on an average value of an available bandwidth calculated using information about resource blocks received during a certain period of time from the present.
6. 5. The communication device according to claim 4, wherein the setting means sets the bit rate based on a minimum value of an available bandwidth calculated using information about resource blocks received during a certain period of time from the present.
7. 5. The communication device according to claim 4, wherein the setting means sets the bit rate based on a value obtained by multiplying an available bandwidth calculated using information on a most recently received resource block by a predetermined ratio.
8. The communication device according to claim 7 , wherein the predetermined ratio varies depending on a state of communication between the communication device and the base station.
9. 2. The communication device according to claim 1, wherein if transmission of the encoded plurality of video frames to the base station is not completed within a predetermined time, the transmitting means cancels transmission of all video frames except for the part of the encoded plurality of video frames.
10. The communication device according to claim 9 , wherein the transmitting means determines, from the plurality of encoded video frames, video frames excluding the part of the video frames, based on a reference relationship between the plurality of video frames.
11. A control method performed by a communication device, receiving uplink scheduling information from a base station, the uplink scheduling information indicating an uplink scheduling scheme; setting bit rates for a plurality of video frames using different information according to the uplink scheduling scheme; encoding the plurality of video frames at the set bit rate; transmitting at least some of the encoded video frames to the base station; A control method comprising:
12. A program for causing a computer to execute the control method according to claim 11.
Citation Information
Patent Citations
Terminal device for efficiently changing communication parameters according to traffic characteristics
JP2024047106A