US12047627B2 - Encoding data generation method, encoding data generation apparatus and program - Google Patents
Encoding data generation method, encoding data generation apparatus and program Download PDFInfo
- Publication number
- US12047627B2 US12047627B2 US17/785,021 US201917785021A US12047627B2 US 12047627 B2 US12047627 B2 US 12047627B2 US 201917785021 A US201917785021 A US 201917785021A US 12047627 B2 US12047627 B2 US 12047627B2
- Authority
- US
- United States
- Prior art keywords
- bit rate
- coded data
- evaluated value
- value
- evaluated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2407—Monitoring of transmitted content, e.g. distribution time, number of downloads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
Definitions
- the present invention relates to a coded data generation method, a coded data generation apparatus, and a program.
- 4K has a resolution of 3840 pixels ⁇ 2160 lines which is four times the resolution of HD (High Definition: high definition video) with a resolution of 1920 pixels ⁇ 1080 lines.
- 8K has a resolution of 7680 pixels ⁇ 4320 lines which is four times the resolution of 4K.
- the MPEG-DASH MPEG-Dynamic Adaptive Streaming over HTTP
- HLS HTTP Live Streaming
- the ABR distribution system is a video distribution system in which a video stream is divided into segment files at intervals of several seconds to several ten seconds and, in accordance with a network status or the like of a video-viewing user, video distribution is performed by dynamically switching bit rates in units of segment files.
- the ABR distribution system performs distribution control so that video distribution is performed at a low bit rate with respect to a user who plays back a distributed video at a slow communication speed but video distribution is performed at a high bit rate with respect to a user who plays back a distributed video at a high communication speed. Therefore, an encoder that performs video distribution is required to perform video coding in each of a plurality of bit rates with respect to a single piece of video data.
- a CBR Constant Bitrate: fixed transmission rate
- coding is performed at a plurality of fixed bit rates determined in advance by a service provider.
- a throughput of a best-effort network varies in many ways depending on a time slot, usage, and the like
- distribution is desirably performed using a larger number of bit rates in order to perform stable video distribution.
- bit rates that enhance the quality of experience (QoE) of a video-viewing user must be set within a limited number of channels.
- video coding systems that enhance the quality of experience of a video-viewing user have been proposed.
- proposed video coding systems include a subjective quality estimation system in which an optimal resolution and an optimal frame rate are determined based on a bit rate (refer to NPL 3) and a bit rate selective control system in which a bit rate suitable for a video-viewing terminal is selected based on a data amount of buffer data downloaded to the video-viewing terminal (refer to NPL 4).
- the first problem is that, in the conventional video coding system, even if the video coding system takes QoE into consideration, even a small difference in throughput results in a significant change in obtained QoE if only a small number of channels are available.
- the bit rate of each channel is generally set in stages from several hundred kbps to more than ten Mbps. For example, when an ultra-high definition video is included, the bit rate is set in stages from several hundred kbps to several ten Mbps. Therefore, when the throughput of the network used is even slightly less than a desired bit rate that can be received by a video-viewing terminal, the video-viewing terminal ends up selecting a bit rate that is lower by one stage than the desired bit rate.
- the second problem is that, in the conventional system, since a bit rate is determined in advance by the encoder to perform video distribution, the setting by the encoder is unable to follow the network throughput which varies significantly depending on a time slot of use and a network environment. For example, in a state where the throughput of the used network is uniformly low, pieces of video data with a high bit rate prepared by a video distribution server are never selected and only pieces of video data with a low bit rate are to be selected. Conversely, in a state where the throughput of the used network is uniformly high, pieces of video data with a low bit rate prepared by a video distribution server are never selected and only pieces of video data with a high bit rate are to be selected. Accordingly, QoE of video-viewing users as a whole declines and, due to creation of video data that is never used despite being generated, a server resource of the video distribution server ends up being wasted.
- the present invention has been made in consideration of the points described above and an object thereof is to provide a technique which enables quality of experience of a video-viewing user to be improved while suppressing an increase in a load of simultaneous coding processing on an encoder.
- An aspect of the present invention is a coded data generation method of generating coded data of a plurality of bit rates in which an image is encoded, the coded data generation method including the steps of: acquiring an evaluated value at distribution destinations of the generated coded data when the coded data is reproduced; and changing the bit rate of the coded data to be generated based on a distribution of the acquired evaluated value in all channels.
- an aspect of the present invention is a coded data generation apparatus which generates coded data of a plurality of bit rates in which an image is encoded, the coded data generation apparatus including: an evaluation acquiring unit which acquires an evaluated value at distribution destinations of the generated coded data when the coded data is reproduced; and a bit rate changing unit which changes the bit rate of the coded data to be generated based on a distribution of the acquired evaluated value in all channels.
- an aspect of the present invention is a program for causing a computer to execute the coded data generation method described above.
- quality of experience of a video-viewing user can be improved while suppressing an increase in a load of simultaneous coding processing on an encoder.
- FIG. 1 is a system configuration diagram of a moving image playback system 1 according to a first embodiment of the present invention.
- FIG. 2 is a flow chart showing operations of an evaluation acquiring unit 101 according to the first embodiment of the present invention.
- FIG. 3 is a schematic view showing an example of an evaluated value distribution according to the first embodiment of the present invention.
- FIG. 4 is a flow chart showing operations of a bit rate changing unit 103 according to the first embodiment of the present invention.
- FIG. 5 is a diagram for describing processing for obtaining a tentative evaluated value distribution according to the first embodiment of the present invention.
- FIG. 6 is a schematic view showing an example of an evaluated value distribution according to a second embodiment of the present invention.
- FIG. 7 is a flow chart showing operations of a bit rate changing unit 103 a according to the second embodiment of the present invention.
- FIG. 8 is a flow chart showing operations of a bit rate changing unit 103 b according to a third embodiment of the present invention.
- an objective of each of the embodiments to be described below is to distribute, among a limited parameter set (intended to mean a bit rate, a frame rate, a resolution, and the like which have a major impact on a subjective quality of a video.
- a limited parameter set intended to mean a bit rate, a frame rate, a resolution, and the like which have a major impact on a subjective quality of a video.
- the limited parameter set will be referred to as a “bit rate”), a video at a bit rate suitable for as many users as possible.
- a conceivable method involves adaptively assigning, in accordance with a change in an environment where moving image playback apparatuses being distribution destinations of the coded data are located, coded data at as many bit rates as possible with respect to a high-density environment and coded data at a smaller number of bit rates with respect to a low-density environment as compared to a high-density environment in accordance with a distribution of the environment.
- each embodiment to be described below performs control so as to increase coded data with a high bit rate when a percentage of moving image playback apparatuses having an environment (for example, communication quality and decoder performance) in which reception and playback can be performed at high subjective image quality in the whole is high and to increase coded data with a low bit rate when a percentage of moving image playback apparatuses having an environment in which reception and playback are performed at low subjective image quality in the whole is high.
- an environment for example, communication quality and decoder performance
- FIG. 1 is a system configuration diagram of the moving image playback system 1 according to the first embodiment of the present invention.
- the moving image playback system 1 according to the present embodiment is configured to include a coded data generation apparatus 100 , a distribution server 200 , a moving image playback apparatus group 300 , and an evaluated value collection server 400 .
- the coded data generation apparatus 100 , the distribution server 200 , the moving image playback apparatus group 300 , and the evaluated value collection server 400 are connected to each other by a network.
- the moving image playback apparatus group 300 includes M-number (where M is an integer equal to or larger than 2) of moving image playback apparatuses (moving image playback apparatuses 301 - 1 to 301 -M).
- M is an integer equal to or larger than 2
- Each of the moving image playback apparatuses 301 - 1 to 301 -M acquires video data from the distribution server 200 and reproduces moving image data.
- the moving image playback apparatuses 301 - 1 to 301 -M need not be described by distinguishing from one another, the moving image playback apparatuses 301 - 1 to 301 -M will be simply referred to as the “moving image playback apparatus 301 ”.
- the coded data generation apparatus 100 is an apparatus that performs video distribution according to the ABR distribution system.
- the coded data generation apparatus 100 acquires video content data (hereinafter, referred to as “video data”) which is a coding object from an external apparatus or the like.
- the coded data generation apparatus 100 encodes the acquired video data at each of a plurality of bit rates (a plurality of channels).
- the coded data generation apparatus 100 accepts input of a coding/distribution control parameter and video data.
- the coded data generation apparatus 100 converts a resolution of the input video data into each of a plurality of (two or more) resolutions based on the coding/distribution control parameter.
- the coded data generation apparatus 100 need not perform conversion processing of the resolution.
- the coded data generation apparatus 100 performs coding at a bit rate corresponding to each resolution based on the input coding/distribution control parameter.
- the coded data generation apparatus 100 divides (hereinafter, referred to as “segments”) the coded video data for every predetermined period based on the coding/distribution control parameter and sequentially outputs the segmented video data to the distribution server 200 .
- the segmented video data will be referred to as “segmented data”.
- Each moving image playback apparatus 301 receives each piece of segmented data encoded at a desired bit rate from the distribution server 200 and plays back a video. At the same time, the moving image playback apparatus group 300 transmits an evaluated value corresponding to the segmented data having been received and reproduced by each moving image playback apparatus 301 to the evaluated value collection server 400 .
- the coded data generation apparatus 100 is configured to include an evaluation acquiring unit 101 , an overall evaluated value calculating unit 102 , a bit rate changing unit 103 , a moving image converting unit 104 , N-number (where N is an integer equal to or larger than 2) of coding units (coding units 105 - 1 to 105 -N), and a control unit 106 .
- N-number where N is an integer equal to or larger than 2
- the coding units 105 - 1 to 105 -N need not be described by distinguishing from one another, the coding units 105 - 1 to 105 -N will be simply referred to as the “coding unit 105 ”.
- Each coding unit 105 performs coding (bit rate adjustment) of a channel associated with the coding unit 105 itself.
- the evaluated value collection server 400 acquires and stores evaluated values transmitted from the moving image playback apparatus group 300 .
- the evaluated value collection server 400 aggregates the acquired evaluated values and stores an aggregate result.
- the evaluated value collection server 400 aggregates, for each moving image playback apparatus 301 , respective evaluated values related to all pieces of segmented data received by each moving image playback apparatus 301 within a predetermined period, and stores an aggregate result.
- the evaluated value collection server 400 is configured to include a storage medium such as a RAM (Random Access Memory), a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), or an HDD (Hard Disk Drive), or any combination of these storage media.
- the evaluation acquiring unit 101 acquires an evaluated value which has been created by aggregating, for each moving image playback apparatus 301 , segmented data received by each moving image playback apparatus 301 within a predetermined period and which is stored in the evaluated value collection server 400 .
- the evaluation acquiring unit 101 outputs the acquired evaluated value to the overall evaluated value calculating unit 102 .
- the evaluation acquiring unit 101 may acquire, from the evaluated value collection server 400 , respective evaluated values related to all pieces of segmented data received by each moving image playback apparatus 301 within a predetermined period.
- the evaluation acquiring unit 101 may aggregate the acquired evaluated values for each moving image playback apparatus 301 .
- an evaluated value is a value (hereinafter, also referred to as a “QoE value”) which indicates a quality of experience (a subjective quality) of a video-viewing user that can be calculated based on a resolution, a frame rate, a bit rate, and the like which are determined for each channel.
- QoE value a quality of experience (a subjective quality) of a video-viewing user that can be calculated based on a resolution, a frame rate, a bit rate, and the like which are determined for each channel.
- an estimated throughput that is calculated based on a required reception time and a file size of a segmented file is used as an evaluated value instead of a QoE value.
- the overall evaluated value calculating unit 102 acquires an evaluated value (QoE value) output from the evaluation acquiring unit 101 . Based on the acquired evaluated value, the overall evaluated value calculating unit 102 calculates a distribution of evaluated values in all channels and an overall average evaluated value that indicates an average value of evaluated values in all of the moving image playback apparatuses 301 within a predetermined period. The overall evaluated value calculating unit 102 calculates the ratio and the overall average evaluated value in accordance with an algorithm to be described later. The overall evaluated value calculating unit 102 outputs a calculation result to the bit rate changing unit 103 .
- QoE value evaluated value
- the bit rate changing unit 103 acquires the calculation result described above which is output from the overall evaluated value calculating unit 102 . Based on the acquired calculation result, the bit rate changing unit 103 determines each new bit rate to be set with respect to each coding unit 105 . At this point, the bit rate changing unit 103 determines each new bit rate so that an overall average evaluated value in a case where the new bit rate is set exceeds the overall average evaluated value at the current moment. The bit rate changing unit 103 determines the new bit rate in accordance with an algorithm to be described later. The bit rate changing unit 103 updates a bit rate set to each coding unit 105 with the determined new bit rate.
- the bit rate changing unit 103 does not change the bit rate of the coding unit 105 .
- the bit rates set to all coding units 105 (channels) need not always be updated to new bit rates at the same time, and only the bit rates set to a part of the coding units 105 may be updated to new bit rates. In other words, there may be a mixture of coding units 105 (channels) of which bit rates are to be updated and coding units 105 (channels) of which bit rates are not to be updated.
- bit rate changing unit 103 may be configured to change both a bit rate and a frame rate instead of just the bit rate.
- the bit rate changing unit 103 may be configured to change the frame rate instead of changing the bit rate as described above.
- the moving image converting unit 104 accepts input of video data from an external apparatus or the like.
- the moving image converting unit 104 converts the input video data into a plurality (N-number) of pieces of video data of which resolutions differ from each other in accordance with the coding/distribution control parameter so that coding is performed by each coding unit 105 in a stable manner.
- the moving image converting unit 104 converts video data into pieces of video data of the five resolutions of 2160p, 1080p, 720p, 480p, and 180p.
- the moving image converting unit 104 outputs video data with a resolution of 2160p to the coding unit 105 - 1 .
- the moving image converting unit 104 respectively outputs the pieces of video data with resolutions of 1080p, 720p, 480p, and 180p to the coding units 105 - 2 to 105 - 5 .
- the moving image converting unit 104 does not convert the resolution of video data.
- the moving image converting unit 104 outputs the resolution of the input video data to the coding unit 105 as it is.
- the moving image converting unit 104 may be configured to convert a frame rate in addition to converting a resolution.
- the moving image converting unit 104 outputs video data with a same resolution to a plurality of coding units 105 .
- the coding unit 105 acquires video data output from the moving image converting unit 104 .
- the coding unit 105 encodes the acquired video data at a bit rate of an initial value set in advance based on the coding/distribution control parameter.
- the coding unit 105 segments the coded video data and generates a segmented file.
- the coding unit 105 outputs the generated segmented file to the distribution server 200 .
- the initial value of the bit rate that is set as the coding/distribution control parameter is set in advance based on at least one of communication band information indicating a communication band in the moving image playback apparatus group 300 being a distribution destination of video data and predetermined distribution conditions.
- the coding unit 105 - 1 encodes the video data.
- the coding units 105 - 2 to 105 -N respectively encode the pieces of video data.
- the coding unit 105 When a bit rate is updated to a new bit rate by the bit rate changing unit 103 , the coding unit 105 encodes the video data at the updated bit rate. The coding unit 105 segments the coded video data and generates a segmented file. The coding unit 105 outputs the generated segmented file to the distribution server 200 .
- the coding unit 105 - 1 encodes the video data.
- the coding units 105 - 2 to 105 - 5 respectively encode the pieces of video data.
- the control unit 106 controls operations of the respective functional units included in the coded data generation apparatus 100 .
- the control unit 106 is configured to include a processor such as a CPU (Central Processing Unit).
- FIG. 2 is a flow chart showing operations of the evaluation acquiring unit 101 according to the first embodiment of the present invention.
- N denotes a variable representing a total number of channels (coding units 105 ) to be used for video distribution according to the ABR distribution system.
- a leftward arrow “ ⁇ ” represents a substitution of a value from a right side to a left side.
- the evaluation acquiring unit 101 acquires distribution information indicating a total number of channels (coding units 105 ) which are set in the coded data generation apparatus 100 and a bit rate set to each channel at the current moment from, for example, the control unit 106 .
- the evaluation acquiring unit 101 respectively sets the total number of channels and the bit rate of the channels based on the acquired distribution information to N and Cur_BR[n] that are the variables described earlier (step S 201 ).
- the evaluation acquiring unit 101 acquires an evaluated value log file which is stored in the evaluated value collection server 400 and which includes information indicating an evaluated value obtained by aggregating evaluated values within a predetermined period (step S 202 ).
- the evaluated value log file includes information indicating a file name, a reception time point, a required reception time, a file size, an evaluated value (QoE value), and the like of each segmented file received by each moving image playback apparatus 301 .
- the evaluation acquiring unit 101 generates an evaluated value distribution to be described below (step S 203 ). This concludes the operations of the evaluation acquiring unit 101 indicated by the flow chart shown in FIG. 2 .
- FIG. 3 is a schematic view showing an example of the evaluated value distribution according to the first embodiment of the present invention.
- An ordinate of a graph shown in FIG. 3 represents evaluated values, and evaluated values of the channels 1 to 5 are to be respectively represented as q[1] to q[5].
- q[n] is a positive value indicating a QoE value and represented by a value within a range of 1 to 5.
- an abscissa of the graph shown in FIG. 3 represents the number of evaluated value log files including each evaluated value, and the number of evaluated value log files of which the evaluated value is q[n] is to be represented as d[n].
- each moving image playback apparatus 301 receives segmented files of a channel [n ⁇ 1] which is a next lower order channel.
- N-number of (a number equivalent to the number of channels) QoE values are present in an evaluated value log file. Accordingly, a 5-stage stepwise distribution such as that shown in FIG. 3 is to be obtained.
- the overall evaluated value calculating unit 102 calculates an overall evaluated value Cur_E_QoE.
- the overall evaluated value Cur_E_QoE is an average evaluated value among all moving image playback apparatuses 301 (the moving image playback apparatuses 301 - 1 to 301 - 5 ) in video distribution at the current moment.
- the overall evaluated value Cur_E_QoE is calculated based on the evaluated value (QoE value) of each channel and the number of evaluated value log files which include the evaluated value. In this case, D represents the total number of evaluated value log files.
- FIG. 4 is a flow chart showing operations of the bit rate changing unit 103 according to the first embodiment of the present invention.
- a leftward arrow “ ⁇ ” represents a substitution of a value from a right side to a left side.
- the bit rate changing unit 103 acquires distribution information indicating a total number of channels (coding units 105 ) which are set in the coded data generation apparatus 100 and a bit rate set to each channel at the current moment from, for example, the control unit 106 .
- the bit rate changing unit 103 respectively sets information indicating the total number of channels and the bit rate of the channels based on the acquired distribution information to N and Cur_BR[n] that are the variables described above.
- bit rate changing unit 103 respectively sets the overall evaluated value and the evaluated value distribution calculated by the overall evaluated value calculating unit 102 to Cur_E_QoE and d[n] which are the variables described above. Furthermore, the bit rate changing unit 103 initializes a value of Max_E_QoE being a variable indicating an overall evaluated value that is maximized when the bit rate is changed by subsequent processing by adopting the value of Max_E_QoE as the value of Cur_E_QoE (step S 401 ).
- bit rate changing unit 103 generates R[i] [n] that represents a sequence indicating a combination of bit rate adjustment rates for attempting an adjustment of a bit rate (hereinafter, referred to as a “bit rate adjustment rate combination sequence”) (step S 402 ).
- ⁇ c 1, c 2, c 3 ⁇ ⁇ m 1 ,m 1, m 1 ⁇ , ⁇ m 1 ,m 1, m 2 ⁇ , ⁇ m 1, m 2, m 1 ⁇ , ⁇ m 1, m 2, m 2 ⁇ , ⁇ m 2, m 1, m 1 ⁇ , ⁇ m 2, m 1, m 2 ⁇ , ⁇ m 2, m 2, m 1 ⁇ , ⁇ m 2, m 2, m 2 ⁇ ,
- bit rate adjustment rate combination sequence R[i] [n] R[i] [n]
- an adjustment amount of a bit rate can be calculated based on, for example, the bit rate adjustment rate described above and a bit rate prior to the change.
- an adjustment amount of a bit rate may be, for example, a predetermined value or the like expressed in units of bit rates.
- the bit rate changing unit 103 When generating the bit rate adjustment rate combination sequence R[i] [n], the bit rate changing unit 103 respectively determines channels to be objects of an adjustment of a bit rate and channels not to be objects of an adjustment of a bit rate based on a value of the evaluated value distribution d[n].
- the bit rate changing unit 103 may be configured not to change a bit rate with respect to a highest-order channel and a lowest-order channel. For example, changing the bit rate of the lowest-order channel or changing the bit rate of the highest-order channel results in changing a lowest video quality or a highest video quality in the video distribution service. Generally, since changing such bit rates often affect a design of the video distribution service and the like, such bit rates are desirably left unchanged.
- the bit rate changing unit 103 determines a bit rate of the lowest-order channel as a channel to be an object of bit rate adjustment and changes the bit rate of the lowest-order channel so as to assume a lower value (step S 405 ). This is because it is surmised that the network is in an extremely poor state and that many users are unable to receive and play back even a video with a lowest quality. Changing the bit rate of the lowest-order channel enables video distribution to be performed while guaranteeing a lowest quality.
- the bit rate changing unit 103 determines a bit rate of the lowest-order channel as a channel not to be an object of bit rate adjustment and does not change the bit rate of the lowest-order channel (step S 404 ).
- bit rate adjustment rate combination sequence R[i] [n] is represented by Expression (2) below.
- R[i][n ] ⁇ 1.0,2.0,2.0,2.0,1.0 ⁇ (2)
- bit rate changing unit 103 respectively iteratively performs processing of steps S 408 to S 413 described below with respect to all combinations of bit rate adjustment rates described earlier that are set to each channel (step S 407 ).
- the bit rate changing unit 103 calculates tmp_BR[n] that is a variable representing a tentative bit rate in an i-th attempt according to Expression (3) below (step S 408 ).
- tmp _ BR[n ] Cur_ BR[n] ⁇ R[i][n] (3)
- a symbol “ ⁇ ” represents a symbol of an operation for multiplying elements with a same index in a sequence.
- bit rate changing unit 103 first calculates a tentative evaluated value distribution tmp_d[n] in the case of tmp_BR[n] based on the evaluated value distribution d[n] obtained at the current moment with respect to Cur_BR[n] (step S 409 ).
- FIG. 5 is a diagram for describing processing for obtaining a tentative evaluated value distribution according to the first embodiment of the present invention.
- FIG. 5 shows a schematic view of tmp_d[n] with respect to d[n].
- coordinate values when respectively expanding evaluated value log files represented by d[n] to coordinates on an abscissa are to be represented by d 1 to d n .
- coordinate values when respectively expanding evaluated value log files represented by tmp_d[n] to coordinates on an abscissa are to be represented by to d′ 1 to d′ n+1 .
- the bit rate changing unit 103 calculates a tentative evaluated value q′ [n] of each channel in the case of tmp_BR[n].
- tmp_BR[1] Cur_BR[1]
- an evaluation model similar to when calculating q[n] described earlier is used to calculate q′ [n].
- the evaluated value distribution tmp_d[n] in the case of q′ [n] is calculated according to Expression (4) below.
- d′ n d n (5)
- Expression (4) and Expression (5) signify that the bit rate changing unit 103 calculates the tentative evaluated value distribution tmp_d[n] in the case of q′ [n] by linear interpolation from adjacent values using q[n] and d[n].
- a calculation method of tmp_d[n] is not limited to a method of linear interpolation using adjacent values as described above and, for example, a calculation method of deriving an interpolation function using all values of q[n] and d[n] may be used instead.
- bit rate changing unit 103 calculates a tentative overall evaluated value tmp_E_QoE[i] with respect to the tentative evaluated value q′ [n] and the tentative evaluated value distribution tmp_d[n] (step S 410 ).
- tmp_E_QoE[n] is calculated according to Expression (6) below.
- bit rate changing unit 103 updates a value of Max_E_E with the value of tmp_E_QoE[i] and, at the same time, saves tmp_BR[n] as Max BR[n] that indicates a bit rate at which Max_E_QoE is obtained (step S 412 ).
- bit rate changing unit 103 returns to step S 407 and proceeds to processing for calculating an overall evaluated value with respect to a next adjustment pattern of bit rates (a combination of bit rate adjustment rates) (step S 413 ).
- bit rate changing unit 103 when the value of tmp_E_QoE[i] is equal to or lower than Max_E_QoE that is a highest overall evaluated value at the current moment (step S 411 : N), the bit rate changing unit 103 does not update the value of Max_E_QoE and the value of Max BR[n]. In addition, the bit rate changing unit 103 returns to step S 407 and proceeds to processing for calculating an overall evaluated value with respect to a next adjustment pattern of bit rates (a combination of bit rate adjustment rates) (step S 413 ).
- the bit rate changing unit 103 outputs the value of Max_E_QoE maximized during the iterative processing of steps S 407 to S 413 and a value of Max BR[n] in this case. This concludes the operations of the bit rate changing unit 103 indicated by the flow chart shown in FIG. 4 .
- the coding units 105 - 1 to 105 -N respectively set Max BR[n] output from the bit rate changing unit 103 as a new bit rate.
- the coding unit 105 performs coding using Max BR[n] that represents a new bit rate from a frame position being the beginning of a next segment.
- q ′ [ n ] ⁇ 1. , 1.9 , 2.9 , 3.5 , 5.
- the calculation result described above means that, when a ratio of cases where an evaluated value of a high-order channel (in other words, a channel with a high resolution and a high bit rate) is low, by changing the bit rates of respective channels including the high-order channel to lower bit rates, the moving image playback apparatus 301 originally configured to receive a next lower-order channel becomes capable of selecting a channel with a higher bit rate than the next lower-order channel. Accordingly, an overall average value of the QoE values becomes higher than an original overall average value.
- the coded data generation apparatus 100 iteratively performs similar bit rate adjustment M ⁇ circumflex over ( ) ⁇ N ⁇ -number of times at a maximum and specifies a value of a maximum overall evaluated value Max_E_QoE among the M ⁇ circumflex over ( ) ⁇ N ⁇ -number of iterations.
- the coded data generation apparatus 100 sets a new bit rate with respect to each coding unit 105 based on a bit rate sequence Max BR[n] in a case where the overall evaluated value Max_E_QoE is maximized.
- the coded data generation apparatus 100 is capable of increasing an overall average of QoE values. Accordingly, the coded data generation apparatus 100 can improve quality of experience (subjective quality) of a video-viewing user while suppressing an increase in a load of simultaneous coding processing on an encoder.
- a difference between a configuration of the moving image playback system 1 according to the second embodiment to be described below and the configuration of the moving image playback system 1 according to the first embodiment described earlier is that, among components of the coded data generation apparatus 100 , the evaluation acquiring unit 101 , the overall evaluated value calculating unit 102 , and the bit rate changing unit 103 according to the first embodiment have been replaced with an evaluation acquiring unit 101 a , an overall evaluated value calculating unit 102 a , and a bit rate changing unit 103 a to be respectively described below.
- the evaluation acquiring unit 101 a the overall evaluated value calculating unit 102 a
- a bit rate changing unit 103 a to be respectively described below.
- the evaluation acquiring unit 101 a uses an estimated throughput when a segmented file is received in each channel as an evaluated value.
- the evaluation acquiring unit 101 a creates an evaluated value distribution D_t[n] using the estimated throughput.
- the evaluation acquiring unit 101 a calculates an estimated throughput Th[j] according to Expression (8) below based on a required reception time t_j and a file size s_j (1 ⁇ j ⁇ Nt, where Nt denotes the number of segmented files) of segmented files included in each evaluated value log file.
- Th[j ] ⁇ ( s _ j/t _ j ) (8)
- ⁇ denotes a scaling coefficient that is a positive constant.
- Expression (8) presented above means that a value obtained by multiplying a throughput when a segmented files is received by a constant value (in other words, a value of ⁇ ) is to be used as the estimated throughput Th[j].
- the evaluation acquiring unit 101 a calculates a QoE value q_t[j] on the assumption that the estimated throughput Th[j] is a bit rate when the segmented file is encoded. It should be noted that a method similar to that used in the first embodiment described earlier can be used to calculate the QoE value. In this case, a total number of elements of the QoE value q_t[j] is Dt.
- FIG. 6 is a schematic view showing an example of the evaluated value distribution according to the second embodiment of the present invention.
- each bar in a bar graph shown in FIG. 6 represents an evaluated value (QoE value) based on an estimated throughput calculated from a single segmented file.
- QoE value an evaluated value
- D_t-number of evaluated values which is larger than the number of evaluated value used in the first embodiment described earlier are to be used.
- a finer evaluated value distribution than the first embodiment described earlier can be obtained.
- the overall evaluated value calculating unit 102 a calculates an overall evaluated value Cur_E_QoE.
- the overall evaluated value Cur_E_QoE is an average evaluated value among all moving image playback apparatuses 301 (the moving image playback apparatuses 301 - 1 to 301 - 5 ) in video distribution at the current moment.
- the overall evaluated value Cur_E_QoE is calculated based on the evaluated value of each channel and the number of evaluated value log files which include the evaluated value. In this case, D_t represents the total number of evaluated value log files.
- q[n] denotes an evaluated value at a bit rate of each channel n
- FIG. 7 is a flow chart showing operations of the bit rate changing unit 103 a according to the second embodiment of the present invention.
- a leftward arrow “ ⁇ ” represents a substitution of a value from a right side to a left side.
- the bit rate changing unit 103 a calculates a tentative evaluated value distribution tmp_d_t[n] in the case of q′ [n] according to Expression (10) below.
- Expression (10) signifies that the bit rate changing unit 103 a calculates the tentative evaluated value distribution tmp_d_t[n] in the case of q′ [n] by counting the number of elements equal to or lower than q′ [n+1] based on the original evaluated value distribution made up of D_t-number of evaluated values.
- the bit rate changing unit 103 a calculates the tentative evaluated value distribution tmp_d_t[n] in the case of q′ [n] by counting the number of elements equal to or lower than q′ [n+1] based on the original evaluated value distribution made up of D_t-number of evaluated values.
- bit rate changing unit 103 a calculates a tentative overall evaluated value tmp Et QoE[i] with respect to the tentative evaluated value q′ [n] and the tentative evaluated value distribution tmp_d_t[n] (step S 710 ).
- tmp Et QoE[n] is calculated according to Expression (11) below.
- Operations of the bit rate changing unit 103 a in steps S 711 to S 713 are respectively similar to operations of the bit rate changing unit 103 in steps S 411 to S 413 according to the first embodiment shown in FIG. 4 .
- a difference between a configuration of the moving image playback system 1 according to the third embodiment to be described below and the configuration of the moving image playback system 1 according to the first embodiment described earlier is that, among the components of the coded data generation apparatus 100 , the bit rate changing unit 103 according to the first embodiment has been replaced with a bit rate changing unit 103 b to be described below.
- the bit rate changing unit 103 according to the first embodiment has been replaced with a bit rate changing unit 103 b to be described below.
- FIG. 8 is a flow chart showing operations of the bit rate changing unit 103 b according to the third embodiment of the present invention.
- a leftward arrow “ ⁇ ” represents a substitution of a value from a right side to a left side.
- the bit rate changing unit 103 according to the first embodiment described earlier and the bit rate changing unit 103 a according to the second embodiment described earlier are configurations in which a new bit rate is constantly set with respect to each coding unit 105 .
- the bit rate changing unit 103 b according to the third embodiment is a configuration in which a combination of bit rates that produces a maximum overall evaluated value among cumulative evaluated values during a certain period of time is set with respect to each coding unit 105 .
- the present configuration will be described in greater detail below.
- the bit rate changing unit 103 b acquires information indicating bit rate information Cur_BR[n] at the current moment, an overall evaluated value Cur_E_QoE at the current moment, an evaluated value distribution d[n] at the current moment, an elapsed distribution time t, and a bit rate update interval T that represents a predetermined time interval from, for example, the control unit 106 (step S 801 ). It should be noted that the bit rate update interval T is a longer time interval than a predetermined time interval to be segmented. In addition, in a similar manner to the operation of steps S 402 of the bit rate changing unit 103 according to the first embodiment shown in FIG. 4 , the bit rate changing unit 103 b generates a bit rate adjustment combination sequence R[i] [n] (step S 802 ).
- Operations of the bit rate changing unit 103 b in steps S 803 to S 810 are respectively similar to the operations of the bit rate changing unit 103 in steps S 403 to S 410 according to the first embodiment shown in FIG. 4 .
- the bit rate changing unit 103 b calculates a difference between a tentative overall evaluated value tmp_E_QoE[i] that is an overall evaluated value when a bit rate is changed and an overall evaluated value Cur_E_QoE at the current moment.
- the bit rate changing unit 103 b adopts a cumulative value of the calculated difference as an evaluated value difference cumulative value ⁇ QoE[i] (step S 811 ).
- the bit rate changing unit 103 b determines whether or not the elapsed distribution time t has reached the bit rate update interval T (step S 813 ).
- the bit rate changing unit 103 b calculates an index Best_Idx that maximizes the evaluated value difference cumulative value ⁇ QoE[i].
- the bit rate changing unit 103 b calculates a new bit rate sequence New BR[n] according to Expression (12) below based on a bit rate adjustment rate combination sequence R[Best_Idx] [n] with respect to Best_Idx (step S 815 ).
- New_ BR[n ] Cur_ BR[n] ⁇ R [Best_Idx][ n] (12)
- bit rate changing unit 103 b When the elapsed distribution time t has not reached the bit rate update interval T (step S 813 : N) or the evaluated value difference cumulative value ⁇ QoE[i] is a value equal to or lower than 0 (step S 814 : N), the bit rate changing unit 103 b does not calculate a new bit rate sequence. In other words, coding is performed in each coding unit 105 using the bit rate sequence at the current moment as it is. This concludes the operations of the bit rate changing unit 103 b indicated by the flow chart shown in FIG. 8 .
- the bit rate changing unit 103 b sets a new bit rate sequence to each coding unit 105 based on a bit rate adjustment rate that maximizes an overall evaluated value during a bit rate update interval T.
- a bit rate sequence that increases an overall evaluated value while reducing the number of times a bit rate is updated can be obtained.
- either a configuration in which the evaluated value difference cumulative value ⁇ QoE [i] is reset to 0 every time a new bit rate sequence is obtained or a configuration in which processing is continued while retaining the evaluated value difference cumulative value ⁇ QoE[i] at the current moment may be adopted.
- the coded data generation apparatus 100 in the embodiments described above may be realized by a computer.
- a program for realizing the functions may be recorded in a computer-readable recording medium and the program recorded in the recording medium may be realized by having a computer system load and execute the program.
- a “computer system” as used herein includes an OS and hardware such as peripheral devices.
- a “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM or a recording apparatus such as a hard disk that is built into the computer system.
- a “computer-readable recording medium” may also include a recording medium that dynamically holds the program for a short period of time such as a communication wire when the program is to be transmitted via a network such as the Internet or a communication line such as a telephone line or a recording medium that holds a program for a certain period of time such as a volatile memory inside a server or a computer system to become a client.
- the program described above may be any of a program for realizing a part of the functions described above, a program capable of realizing the functions described above in combination with a program already recorded in a computer system, and a program for realizing the functions using a programmable logic device such as an FPGA (Field Programmable Gate Array).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
- [NPL 1] “Information technology-Dynamic adaptive streaming over HTTP (DASH)—Part 1: Media presentation description and segment formats”, INTERNATIONAL STANDARD ISO/IEC23009-1, pp. 8-13, 137-138, August 2019.
- [NPL 2] “HTTP Live Streaming”, [online], RFC 8216, IETF, August 2017, [retrieved Sep. 24, 2019], Internet <URL: https://tools.ietf.org/html/rfc8216>
- [NPL 3] M. Takagi, H. Fujii, and A. Shimizu, “Optimized Spatial and Temporal Resolution based on Subjective Quality Estimation without Encoding” Proc. VCIP (Visual Communications and Image Processing), pp. 33-36, December 2014.
- [NPL 4] T. Y. Huang, R. Johari, N. McKeown, M. Trunnell, and M. Watson, “A Buffer-Based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service”, ACM SIGCOMM, Volume 44
Issue 4, pp. 187-198, August 2014.
Cur_E_QoE=1/D×Σ_{n=1}{circumflex over ( )}{N}(q[n]×d[n])
D=Σ_{n=1}{circumflex over ( )}{N}(d[n]) (1)
{c1,c2,c3}={m1,m1,m1},
{m1,m1,m2},
{m1,m2,m1},
{m1,m2,m2},
{m2,m1,m1},
{m2,m1,m2},
{m2,m2,m1},
{m2,m2,m2},
R[i][n]={1.0,2.0,2.0,2.0,1.0} (2)
tmp_BR[n]=Cur_BR[n]·R[i][n] (3)
Cur_BR[n]={30000,15000,1000,500,100},
R[i][n]={1.0,0.9,0.8,0.8,1.0}
tmp_BR[n]={30000,13500,800,400,100}
(When n<N)
tmp_d[n]=d′n+1−d′ n
(When n=N)
tmp_d[n]=D−d′ n (4)
(When 1<n≤N)
d′n=(q′ n −q n−1)×(d n −d n−1)/(q n −q n−1)+d n−1
(When n=1)
d′ n =d n (5)
tmp_E_QoE[i]=1/D×Σ_{n=1}{circumflex over ( )}{N}(q′[n]×tmp_d[n])
D=Σ_{n=1}{circumflex over ( )}{N}(tmp_d[n]) (6)
q[n]={1.0,2.0,3.0,4.0,5.0},
d[n]={10,40,49,1,0}
(in other words, d n={0,10,50,99,100})
D=100
Cur_E_QoE=2.41
1/D×E{n=1}{circumflex over ( )}{N}(q′[n]×tmp_d[n])=2.512 (7)
Th[j]=α×(s_j/t_j) (8)
Cur_E_QoE=1/D_t×Σ_{n=1}{circumflex over ( )}{N}(q[n]×d_t[n])
D_t=Σ_{n=1}{circumflex over ( )}{N}(d_t[n]) (9)
(When n=1)
the number of q_t[j] satisfying q_t[j]≤q[n]
(When n=N)
the number of q_t[j] satisfying q[n]≤q_t[j]
(Otherwise)
the number of q_t[j] satisfying q[n]≤q_t[j]<q[n+1]
(When n=1)
the number of q_t[j] satisfying tmp_d_t[n]: q_t[j]≤q′≤[n]
(When n=N)
the number of q_t[j] satisfying tmp_d_t[n]: q′[n]≤q_t[j]
(Otherwise)
the number of q_t[j] satisfying tmp_d_t[n]: q′[n]≤q_t[j]<q′[n+1] (10)
tmp_Et_QoE[i]=1/D×Σ_{n=1}{circumflex over ( )}{N}(q′[n]×tmp_d_t[n])
D=E{n=1}{circumflex over ( )}{N}(tmp_d_t[n]) (11)
New_BR[n]=Cur_BR[n]·R[Best_Idx][n] (12)
-
- 100 Coded data generation apparatus
- 101, 101 a Evaluation acquiring unit
- 102, 102 a Overall evaluated value calculating unit
- 103, 103 a, 103 b Bit rate changing unit
- 104 Moving image converting unit
- 105 (105-1 to 105-N) Coding unit
- 106 Control unit
- 200 Distribution server
- 300 Moving image playback apparatus group
- 301 (301-1 to 301-M) Moving image playback apparatus
- 400 Evaluated value collection server
Claims (10)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/049136 WO2021124387A1 (en) | 2019-12-16 | 2019-12-16 | Encoded data generation method, encoded data generation device, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
US20230353808A1 US20230353808A1 (en) | 2023-11-02 |
US12047627B2 true US12047627B2 (en) | 2024-07-23 |
Family
ID=76478565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/785,021 Active 2040-04-04 US12047627B2 (en) | 2019-12-16 | 2019-12-16 | Encoding data generation method, encoding data generation apparatus and program |
Country Status (3)
Country | Link |
---|---|
US (1) | US12047627B2 (en) |
JP (1) | JP7280535B2 (en) |
WO (1) | WO2021124387A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150127848A1 (en) * | 2012-05-04 | 2015-05-07 | Thomson Licensing | Method and apparatus for providing a plurality of transcoded content streams |
WO2016125415A1 (en) | 2015-02-04 | 2016-08-11 | 日本電信電話株式会社 | Quality-of-experience optimization system, quality-of-experience optimization device, recommendation request device, quality-of-experience optimization method, recommendation request method and program |
-
2019
- 2019-12-16 WO PCT/JP2019/049136 patent/WO2021124387A1/en active Application Filing
- 2019-12-16 US US17/785,021 patent/US12047627B2/en active Active
- 2019-12-16 JP JP2021565159A patent/JP7280535B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150127848A1 (en) * | 2012-05-04 | 2015-05-07 | Thomson Licensing | Method and apparatus for providing a plurality of transcoded content streams |
JP2015520966A (en) | 2012-05-04 | 2015-07-23 | トムソン ライセンシングThomson Licensing | Method and apparatus for providing transcoded multiple content streams |
WO2016125415A1 (en) | 2015-02-04 | 2016-08-11 | 日本電信電話株式会社 | Quality-of-experience optimization system, quality-of-experience optimization device, recommendation request device, quality-of-experience optimization method, recommendation request method and program |
US20180027293A1 (en) * | 2015-02-04 | 2018-01-25 | Nippon Telegraph And Telephone Corporation | Quality-of-experience optimization system, quality-of-experience optimization apparatus, recommend request apparatus, quality-of-experience optimization method, recommend request method, and program |
Non-Patent Citations (4)
Title |
---|
HTTP Live Streaming, Independent Submission, Request for Comments: 8216, Aug. 2017, https://tools.ietf.org/html/rfc8216. |
Information technology—Dynamic adaptive streaming over HTTP (DASH)-Part 1: Media presentation description and segment formats, ISO/IEC23009-1, Aug. 2019, pp. 8-13, pp. 137-138. |
Motohiro Takagi et al., Optimized Spatial and Temporal Resolution based on Subjective Quality Estimation without Encoding, VCIP(Visual Communications and Image Processing), Dec. 7, 2014, pp. 33-36. |
Te-Yuan Huang et al., A Buffer-Based Approach to Rate Adaptation: Evidence from a Large Video Streaming Service, ACM SIGCOMM, 2014, Aug. 17, 2014. |
Also Published As
Publication number | Publication date |
---|---|
US20230353808A1 (en) | 2023-11-02 |
JP7280535B2 (en) | 2023-05-24 |
JPWO2021124387A1 (en) | 2021-06-24 |
WO2021124387A1 (en) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9872021B2 (en) | Video conversion method and apparatus | |
KR101894420B1 (en) | Adaptive video transcoding method and its system for maximizing transcoding server capacity | |
CN106688239B (en) | Method for downloading video, apparatus and system | |
CN102450014B (en) | Video optimized method and video optimizer is perceived for quality | |
US10084715B2 (en) | Packet loss mitigation | |
JP7549581B2 (en) | Optimal multi-codec ABR ladder design | |
CN109729437B (en) | Streaming media self-adaptive transmission method, terminal and system | |
CN101656887B (en) | Method and device for selecting rate control algorithm | |
CN114845106A (en) | Video coding method, video coding device, storage medium and electronic equipment | |
US20160277468A1 (en) | Adapting Encoded Bandwidth | |
JP2009530892A (en) | Method and apparatus for adapting temporal frequency of video image sequences | |
US9246830B2 (en) | Method and apparatus for multimedia queue management | |
WO2017161124A1 (en) | System for video streaming using delay-aware fountain codes | |
Chen et al. | Encoding bitrate optimization using playback statistics for HTTP-based adaptive video streaming | |
JP5756154B2 (en) | Video coding parameter calculation apparatus, video coding parameter calculation method, and program | |
JP5428702B2 (en) | Stream communication system, server device, and client device | |
US12047627B2 (en) | Encoding data generation method, encoding data generation apparatus and program | |
Le et al. | A novel adaptation method for HTTP streaming of VBR videos over mobile networks | |
KR101827427B1 (en) | Video signal transmitting apparatus and method thereof | |
JP2017175597A (en) | Moving image distribution system, distribution server, receiver, and program | |
US11582462B1 (en) | Constraint-modified selection of video encoding configurations | |
JP5837943B2 (en) | System and method for reducing cliff effect of content distribution over heterogeneous networks | |
CN104521222A (en) | Communication system, server apparatus, server apparatus controlling method and program | |
Nguyen et al. | Quality-delay tradeoff optimization in multi-bitrate adaptive streaming | |
JP6825703B2 (en) | Transmitters, communication systems, communication methods, and programs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NIPPON TELEGRAPH AND TELEPHONE CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KOBAYASHI, DAISUKE;NAKAMURA, KEN;YAMAGISHI, KAZUHISA;AND OTHERS;SIGNING DATES FROM 20210122 TO 20210209;REEL/FRAME:060186/0899 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |