Method and system for streaming content by using buffer optimization through segment download interruption

The method and system address buffering in ABS by monitoring network speed and buffer size to dynamically adjust streaming quality, preventing interruptions by resuming from lower resolution files when necessary, ensuring smooth playback.

WO2025220909A1PCT designated stage Publication Date: 2025-10-23NAVER CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2025/004042
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-18
Filing Date
2025-03-28
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Adaptive Bitrate Streaming (ABS) systems experience buffering issues when network speed decreases during content streaming, even if the network speed is faster than the minimum required bitrate, due to the inability to adjust quality during segment file download.

Method used

A method and system that monitor network speed and buffer size during streaming, stopping the download of a segment file when both decrease simultaneously and resume from a lower resolution file to prevent buffering.

Benefits of technology

Prevents buffering by dynamically adjusting the streaming quality based on real-time network conditions, ensuring smooth playback without interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025004042_23102025_PF_FP_ABST
    Figure KR2025004042_23102025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a method and system for streaming content by using buffer optimization through segment download interruption. The content streaming method according to an embodiment may comprise the steps of: initiating streaming of segment files of a first resolution for content from a content streaming server; monitoring whether a network speed set for the initiated streaming decreases and whether the size of data loaded in a buffer for the initiated content streaming decreases; interrupting downloading of a first segment file currently being downloaded if a decrease in the network speed and a decrease in the size of data loaded in the buffer are simultaneously detected; and resuming the downloading from a second segment file of a second resolution, corresponding to the first segment file, among segment files of the second resolution for the content.
Need to check novelty before this filing date? Find Prior Art

Description

Method and system for streaming content using buffer optimization through segment download interruption

[0001] The following describes a method and system for streaming content using buffer optimization through segment download interruption.

[0002] Adaptive Bitrate Streaming (ABS) is a technology used to stream multimedia over computer networks. Adaptive Bitrate Streaming operates by detecting a user's bandwidth and CPU usage in real time and adjusting the quality of the media stream accordingly. It requires the use of an encoder capable of encoding a single source media (video or audio) at multiple bitrates. The player client can then stream different encodings based on available resources.

[0003] A method and system for streaming content using buffer optimization through segment download interruption are provided.

[0004] A content streaming method for a computer device including at least one processor, the method comprising: initiating streaming of segment files of a first resolution for content from a content streaming server by the at least one processor; monitoring, by the at least one processor, whether a network speed set for the initiated streaming has decreased and whether a size of data loaded into a buffer for streaming the initiated content has decreased; stopping, by the at least one processor, downloading of a first segment file currently being downloaded when a decrease in the network speed and a decrease in the size of data loaded into the buffer are simultaneously detected; and resuming, by the at least one processor, downloading from a second segment file of a second resolution corresponding to the first segment file among segment files of a second resolution for the content.

[0005] According to one aspect, the step of stopping the download of the first segment file may be characterized by stopping the download of the first segment file at a time determined based on the size of the data loaded into the buffer and the size of the second segment file.

[0006] According to another aspect, the point in time may be characterized as including a point in time when the size of data loaded into the buffer becomes less than or equal to the time expected to be required to download the second segment file.

[0007] According to another aspect, the second resolution may be characterized by including a minimum resolution among the resolutions set for the content.

[0008] According to another aspect, the second resolution may be characterized in that it is selected from among the resolutions set for the content in consideration of the reduced network speed.

[0009] According to another aspect, the second resolution may be characterized by including a resolution among the resolutions set for the content that can be downloaded without buffering at the reduced network speed.

[0010] According to another aspect, the first resolution may be characterized as being greater than the second resolution.

[0011] A computer program stored on a computer-readable recording medium is provided for executing the above method on a computer device in combination with a computer device.

[0012] A computer-readable recording medium having recorded thereon a program for executing the above method on a computer device is provided.

[0013] A computer device is provided, comprising at least one processor configured to execute instructions readable from a computer device, wherein the at least one processor initiates streaming of segment files of a first resolution for content to a user terminal on which a player is installed and driven, receives a request to stop downloading of a first segment file currently being downloaded from the user terminal, stops transmission of the first segment file, receives a request to download from a second segment file of a second resolution corresponding to the first segment file among segment files of a second resolution for the content from the user terminal, and resumes transmission to the user terminal from the second segment file, wherein the user terminal monitors, under the control of the player, whether a network speed set for the initiated streaming has decreased and whether a size of data loaded into a buffer for streaming of the initiated content has decreased, and transmits the request to stop downloading of the first segment file when a decrease in the network speed and a decrease in the size of data loaded into the buffer are simultaneously detected.

[0014] A method and system for streaming content using buffer optimization through segment download interruption can be provided.

[0015] Buffering can always be avoided if your current network speed is greater than the minimum quality bitrate.

[0016] FIG. 1 is a diagram illustrating an example of a network environment according to one embodiment of the present invention.

[0017] FIG. 2 is a block diagram illustrating an example of a computer device according to one embodiment of the present invention.

[0018] FIG. 3 is a drawing showing an example of a general appearance of a content streaming system according to one embodiment of the present invention.

[0019] FIGS. 4 and 5 are drawings showing examples of download interruption for a segment file in one embodiment of the present invention.

[0020] FIG. 6 is a flowchart illustrating an example of a content streaming method according to one embodiment of the present invention.

[0021] FIG. 7 is a flowchart illustrating another example of a content streaming method according to an embodiment of the present invention.

[0022] Hereinafter, the detailed description will be given with reference to the attached drawings.

[0023] A content streaming system according to embodiments of the present invention may be implemented by at least one computer device. In this case, a computer program according to an embodiment of the present invention may be installed and run on the computer device, and the computer device may perform a remote encryption method according to embodiments of the present invention under the control of the run computer program. The computer program described above may be stored on a computer-readable recording medium, which may be coupled to the computer device and cause the computer to execute the content streaming method.

[0024] FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. The network environment of FIG. 1 represents an example including a plurality of electronic devices (110, 120, 130, 140), a plurality of servers (150, 160), and a network (170). FIG. 1 is merely an example for explaining the invention, and the number of electronic devices or servers is not limited to that of FIG. 1. In addition, the network environment of FIG. 1 merely illustrates one example of environments applicable to the present embodiments, and the environments applicable to the present embodiments are not limited to the network environment of FIG. 1.

[0025] The plurality of electronic devices (110, 120, 130, 140) may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices (110, 120, 130, 140) include smart phones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, etc. For example, in FIG. 1, the shape of a smart phone is shown as an example of the electronic device (110), but in embodiments of the present invention, the electronic device (110) may actually mean one of various physical computer devices that can communicate with other electronic devices (120, 130, 140) and / or servers (150, 160) via a network (170) using a wireless or wired communication method.

[0026] The communication method is not limited, and may include not only a communication method that utilizes a communication network (e.g., a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network (170) may include, but also short-range wireless communication between devices. For example, the network (170) may include any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. In addition, the network (170) may include any one or more of a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree, or a hierarchical network.

[0027] Each server (150, 160) may be implemented as a computer device or multiple computer devices that communicate with multiple electronic devices (110, 120, 130, 140) via a network (170) to provide commands, codes, files, contents, services, etc. For example, the server (150) may be a system that provides services to multiple electronic devices (110, 120, 130, 140) connected via a network (170).

[0028] FIG. 2 is a block diagram illustrating an example of a computer device according to an embodiment of the present invention. Each of the multiple electronic devices (110, 120, 130, 140) or servers (150, 160) described above can be implemented by the computer device (200) illustrated in FIG. 2.

[0029] Such a computer device (200) may include a memory (210), a processor (220), a communication interface (230), and an input / output interface (240), as illustrated in FIG. 2. The memory (210) may be a computer-readable recording medium, and may include a random access memory (RAM), a read only memory (ROM), and a non-permanent mass storage device such as a disk drive. Here, the non-permanent mass storage device such as a ROM and a disk drive may be included in the computer device (200) as a separate permanent storage device distinct from the memory (210). In addition, an operating system and at least one program code may be stored in the memory (210). These software components may be loaded into the memory (210) from a computer-readable recording medium separate from the memory (210). Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. In another embodiment, the software components may be loaded into the memory (210) via a communication interface (230) other than a computer-readable recording medium. For example, the software components may be loaded into the memory (210) of the computer device (200) based on a computer program installed by files received over a network (170).

[0030] The processor (220) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (220) via the memory (210) or the communication interface (230). For example, the processor (220) may be configured to execute instructions received according to program code stored in a storage device such as the memory (210).

[0031] The communication interface (230) may provide a function for the computer device (200) to communicate with other devices (e.g., the storage devices described above) via the network (170). For example, requests, commands, data, files, etc. generated by the processor (220) of the computer device (200) according to program codes stored in a recording device such as the memory (210) may be transmitted to other devices via the network (170) under the control of the communication interface (230). Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device (200) via the communication interface (230) of the computer device (200) via the network (170). Signals, commands, data, etc. received via the communication interface (230) may be transmitted to the processor (220) or the memory (210), and files, etc. may be stored in a storage medium (the permanent storage device described above) that the computer device (200) may further include.

[0032] The input / output interface (240) may be a means for interfacing with an input / output device (250). For example, the input device may include a device such as a microphone, a keyboard, or a mouse, and the output device may include a device such as a display or a speaker. As another example, the input / output interface (240) may be a means for interfacing with a device that integrates input and output functions, such as a touchscreen. At least one of the input / output devices (250) may be configured as a single device with the computer device (200). For example, a touchscreen, a microphone, a speaker, etc. may be implemented in a form included in the computer device (200), such as a smartphone.

[0033] Additionally, in other embodiments, the computer device (200) may include fewer or more components than those illustrated in FIG. 2. However, it is not necessary to explicitly illustrate most conventional components. For example, the computer device (200) may be implemented to include at least some of the input / output devices (250) described above, or may further include other components such as a transceiver, a database, etc.

[0034] FIG. 3 is a diagram illustrating an example of a general view of a content streaming system according to an embodiment of the present invention. The content streaming system (300) according to the embodiment of FIG. 3 may include a user terminal (310) and a content streaming server (320). Each of the user terminal (310) and the content streaming server (320) may be implemented by at least one computer device (200). Although FIG. 3 illustrates only one user terminal (310), an environment in which multiple user terminals receive content streaming through the content streaming server (320) may be considered.

[0035] A player (311) for linking with a content streaming server (320) may be installed and operated on a user terminal (310), and the player (311) may access the content streaming server (320) under the control of the player (311) to request provision of specific content (for example, media content including video, sound, etc.) to the content streaming server (320). Here, the player (311) may be installed and operated on the user terminal (310) in the form of software such as an application, and may control the user terminal (310) to receive and play specific content from the content streaming server (320) in a streaming manner.

[0036] In this case, the content streaming server (320) can transmit specific content requested by the user terminal (310) to the user terminal (310) in an adaptive bitrate streaming manner. At this time, the user terminal (310) can receive and play specific content transmitted from the content streaming server (320) in an adaptive bitrate streaming manner under the control of the player (311).

[0037] Meanwhile, the player (311) can utilize a buffer (312) to mitigate issues that may arise due to differences or inconsistencies in data transmission speeds and efficiently process data in the correct order. For example, streaming services such as adaptive bitrate streaming can minimize interruptions caused by network delays through buffering, providing users with a smooth viewing experience.

[0038] In addition, the content may be divided into multiple segment files (e.g., multiple TS (Transport Stream) files) and sequentially transmitted from the content streaming server (320) to the user terminal (310). At this time, buffering generally does not occur if the network speed of the user terminal (310) is faster than the minimum picture quality of the content. However, since the picture quality switching does not occur during the download of the segment file, there is a problem that buffering may occur even if the network speed of the user terminal (310) is faster than the minimum picture quality of the content.

[0039] For example, if the segment files are encoded to a level that requires a network speed of 10000 kbps for 1080P and a network speed of 500 kbps for 270P, and assuming that all segment files have the same length of 5 seconds, the size downloaded in 5 seconds at a network speed of 10000 kbps is approximately 5.9 MB (50000 kbps → 5 × 10000 × 1000 / 8 / 1024 / 1024). In this case, it takes approximately 100 seconds to download a size of 5.9 MB at a speed of 500 kbps. If the network speed is 10000 kbps when downloading segment files for 1080P, and the network speed is reduced to 500 kbps, and the size of the data loaded in the buffer (312) is less than 100 seconds, this situation is inevitably expected to cause buffering. Clearly, if the network speed is 500kbps, the minimum quality 270P segment files can be played without buffering. Nevertheless, since the player (311) does not change the quality while downloading the segment files, buffering occurs first, and then the download of the segment file is completed, after which the quality is changed to 270P.

[0040] To address this buffering issue, the player (311) according to the present embodiment monitors a situation in which the network speed decreases and at the same time the size of data stored in the buffer (312) decreases. If such a situation is detected, the player (311) can stop the download of the segment file currently being downloaded. Thereafter, the player (311) can restart the download of the segment file whose download was stopped at a lower quality, thereby eliminating the buffering that inevitably occurred previously.

[0041] FIGS. 4 and 5 are diagrams illustrating examples of download interruption for a segment file according to an embodiment of the present invention. In the embodiments of FIGS. 4 and 5, it is assumed that adaptive bitrate streaming is capable of providing services for the same content in one of three image qualities: 180P with a bandwidth of '258157' and a resolution of '422×180', FHD (Full HD) with a bandwidth of '4149264' and a resolution of '1921×818', and 4K with a bandwidth of '10285391' and a resolution of '4096×1744'.

[0042] Meanwhile, Fig. 4 shows an example of a 4K video (410) composed of multiple TS files, which are multiple segment files. At this time, it is assumed that the size of TS 31 (411), which is the 31st TS file of the 4K video (410), is 2.35 MB (approximately 19713228 bits).

[0043] At this time, even if the network speed is limited to 400 kbps on the player (311), content with a picture quality of 180P should generally be playable without buffering because the bandwidth is '258157'. However, if the network speed is limited to 400 kbps on the player (311) while downloading TS 31 (411), buffering may occur.

[0044] For example, it takes about 49 seconds (1913228 / 400000) to completely download TS 31 (411) at a network speed of 400 kbps. At this time, if the size of the data loaded into the buffer (312) is less than the time required to completely download TS 31 (411) at a network speed of 400 kbps, buffering may occur. In the embodiment of FIG. 4, it is considered that the size remaining for download in TS 31 (411) at the time when the network speed decreases is N, and the size of the data loaded into the buffer (312) at the time when the network speed decreases is M. At this time, if N is greater than M, buffering inevitably occurs. For example, assuming that N is 47 seconds and M is 40 seconds, buffering occurs because all the data loaded into the buffer (312) is used before the download of TS 31 (411) is completed.

[0045] To solve this problem, in the embodiment of FIG. 5, the player (311) can repeatedly monitor a decrease in the network speed and a decrease in the size of data loaded into the buffer (312) during the download of segment files. At this time, if a decrease in the network speed and a decrease in the size of data loaded into the buffer (312) are detected simultaneously, the player (311) can stop the download of the segment file (TS 31 (411) file of the 4K video (400)) currently being downloaded. Thereafter, the player (311) can resume the download from the file (for example, the TS 31 (511) file of the 180P video (510)) corresponding to the TS 31 (411) file of the 4K video (400), which is the segment file whose download was stopped, in a video of a quality selected in consideration of the reduced network speed (for example, a 180P video (510)).

[0046] According to an embodiment, the player (311) may stop downloading when the size of data loaded into the buffer (312) becomes smaller than or equal to n (for example, a size determined by the minimum time for downloading a TS 31 (511) file of a 180P video (510)). Thereafter, the player (311) may resume downloading from a file (for example, a TS 31 (511) file of a 4K video (400)) corresponding to a TS 31 (411) file of a 180P video (510)) whose downloading was stopped, in a video of a quality selected by taking into account the reduced network speed. In this case, the player (311) may secure a relatively high-quality video as much as possible.

[0047] Therefore, the player (311) can always avoid buffering when the current network speed is greater than the minimum quality bitrate.

[0048] FIG. 6 is a flowchart illustrating an example of a content streaming method according to an embodiment of the present invention. The content streaming method according to the present embodiment can be performed by a computer device (200) that implements a user terminal (310) in which a player (311) is installed and operated. At this time, the processor (220) of the computer device (200) can be implemented to execute control instructions according to the code of the operating system included in the memory (210) or the code of at least one computer program. Here, the processor (220) can control the computer device (200) so that the computer device (200) performs steps (610 to 640) included in the method of FIG. 6 according to the control instructions provided by the code stored in the computer device (200).

[0049] In step (610), the computer device (200) may initiate streaming of segment files of a first resolution for content from a content streaming server. Here, the content streaming server may correspond to the content streaming server (320) described above. Here, the first resolution may be a resolution determined based on a network speed currently set by the player (311). For example, if the content is a video, the resolution may correspond to the image quality described above (e.g., 180P, FHD, 4K, etc.). The initiation of streaming may be initiated when the computer device (200) requests streaming of a specific content to the content streaming server (320) under the control of the player (311).

[0050] In step (620), the computer device (200) can monitor whether the network speed set for the initiated streaming decreases and whether the size of data loaded into the buffer for the streaming of the initiated content decreases. For example, the computer device (200) can monitor whether the network speed set for the initiated streaming decreases under the control of the player (311). Meanwhile, the buffer may correspond to the buffer (312) described above and may be implemented in the computer device (200) under the control of the player (311). This buffer may be used to store and buffer at least some of the segment files received from the content streaming server (320) according to the initiated streaming. At this time, the computer device (200) can monitor whether the size of data loaded into this buffer decreases.

[0051] In step (630), if a decrease in network speed and a decrease in the size of data loaded into the buffer are detected simultaneously, the computer device (200) may stop the download of the first segment file currently being downloaded. For example, if a seek to a playback position occurs in the player (311), the buffer may be initialized, and a buffer drop may occur as the resolution changes to a higher resolution. In this case, the size of the data loaded into the buffer decreases, but this is not due to a decrease in network speed, and in this case, the download should not be stopped. Therefore, the computer device (200) may stop the download of the first segment file currently being downloaded by predicting that buffering will occur when the network speed decreases and the size of data loaded into the buffer decreases simultaneously.

[0052] In addition, the computer device (200) may stop downloading the first segment file at a time determined based on the size of the data loaded into the buffer and the size of the second segment file in step (630). For example, in order to fully utilize the data of the first resolution loaded into the buffer, the computer device (200) may not unconditionally stop downloading the first segment file, but may stop downloading the first segment file at a time determined based on the size of the data loaded into the buffer and the size of the second segment file. As a more specific example, the time may include a time when the size of the data loaded into the buffer becomes smaller than the time expected to be required to download the second segment file. In other words, the computer device (200) may process playback of the content at the first resolution by maximizing the use of the data loaded into the buffer, and may stop downloading the first segment file at a time when the minimum time for downloading the second segment file is left without buffering occurring. As previously explained, since the computer device (200) knows all the values ​​such as the size of the segment file, the network speed, and the size of the data loaded into the buffer, it can easily calculate the time it takes to download the segment file without buffering occurring. For example, the computer device (200) can determine whether buffering occurs by comparing the time required to download the segment file, which is obtained by dividing the size of the segment file by the download speed, with the size of the data loaded into the buffer (the size of the time that can be played back with the data).

[0053] At step (640), the computer device (200) may resume downloading from a second segment file of a second resolution corresponding to a first segment file among the segment files of a second resolution for the content. Naturally, the second resolution may be smaller than the first resolution, and conversely, the first resolution may be larger than the second resolution.

[0054] Here, the second resolution may include the minimum resolution among the resolutions set for the content. In this case, the computer device (200) can always prevent buffering from occurring if the current network speed is greater than the bitrate of the minimum resolution (quality).

[0055] Additionally, the second resolution may be selected from among the resolutions set for the content, taking into account the reduced network speed. For example, the second resolution may include a resolution among the resolutions set for the content that can be downloaded without buffering at the reduced network speed. In other words, rather than unconditionally changing the resolution to the minimum resolution, if there is a resolution among the resolutions set for the content that can be downloaded without buffering at the reduced network speed, the computer device (200) may select that resolution as the second resolution, even if it is not the minimum resolution. In this case, the computer device (200) can resume downloading from the second segment file of the selected second resolution, thereby allowing the content to be streamed without buffering.

[0056] FIG. 7 is a flowchart illustrating another example of a content streaming method according to an embodiment of the present invention. The content streaming method according to the present embodiment can be performed by a computer device (200) that implements a content streaming server (320) that streams content to a user terminal (310) in an adaptive bitrate streaming manner. At this time, the processor (220) of the computer device (200) can be implemented to execute control instructions according to the code of an operating system included in the memory (210) or the code of at least one computer program. Here, the processor (220) can control the computer device (200) so that the computer device (200) performs steps (710 to 750) included in the method of FIG. 7 according to the control instructions provided by the code stored in the computer device (200).

[0057] In step (710), the computer device (200) may initiate streaming of segment files of a first resolution for content to a user terminal on which a player is installed and operated. Here, the player and the user terminal may correspond to the player (311) and the user terminal (310) described above, respectively. The computer device (200) may initiate streaming of segment files of a first resolution for content in response to a streaming request for the content transmitted by the user terminal (310) under the control of the player (311).

[0058] In step (720), the computer device (200) may receive a request from the user terminal to stop downloading the first segment file currently being downloaded. At this time, the user terminal may, under the control of the player, monitor whether the network speed set for the initiated streaming has decreased and whether the size of the data loaded into the buffer for streaming the initiated content has decreased. In addition, if a decrease in the network speed and a decrease in the size of the data loaded into the buffer are simultaneously detected under the control of the player, the user terminal may transmit a request to stop downloading the first segment file to the computer device (200) according to the present embodiment. In one embodiment, the user terminal may transmit a request to stop downloading the first segment file at a time determined based on the size of the data loaded into the buffer and the size of the second segment file. As a more specific example, the determined time may include a time when the size of the data loaded into the buffer becomes less than or equal to the time expected to be required to download the second segment file.

[0059] In step (730), the computer device (200) may stop transmitting the first segment file. In this case, the download of the first segment file may be stopped at the user terminal.

[0060] In step (740), the computer device (200) may receive a download request from the user terminal for a second segment file of a second resolution corresponding to a first segment file among segment files of a second resolution for content. As described above, the second resolution may include a minimum resolution among the resolutions set for the content, may be selected from the resolutions set for the content in consideration of a reduced network speed, or may include a resolution among the resolutions set for the content that can be downloaded without buffering at a reduced network speed. Additionally, the first resolution may be greater than the second resolution.

[0061] At step (750), the computer device (200) can resume transmission of the second segment file to the user terminal. The second resolution for the second segment file can be selected or set to the lowest resolution considering the reduced network speed, thereby preventing buffering at the user terminal.

[0062] In this way, according to embodiments of the present invention, a method and system for streaming content can be provided using buffer optimization through segment download interruption, thereby always avoiding buffering as long as the current network speed is greater than the minimum quality bitrate.

[0063] The systems or devices described above may be implemented as hardware components, or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be implemented using one or more general-purpose computers or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing instructions and responding to them. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing device is sometimes described as being used alone; however, one of ordinary skill in the art will recognize that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, a processing unit may include multiple processors, or a processor and a controller. Other processing configurations, such as parallel processors, are also possible.

[0064] Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing device to perform a desired operation or may independently or collectively command the processing device. The software and / or data may be embodied in any type of machine, component, physical device, virtual equipment, computer storage medium, or device for interpretation by the processing device or for providing instructions or data to the processing device. The software may also be distributed over networked computer systems and stored or executed in a distributed manner. The software and data may be stored on one or more computer-readable recording media.

[0065] The method according to the embodiment may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., singly or in combination. The medium may continuously store a computer-executable program, or may temporarily store it for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or multiple hardware combinations, and is not limited to a medium directly connected to a computer system, but may also be distributed over a network. Examples of the medium may include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and those configured to store program commands, including ROM, RAM, and flash memory. In addition, examples of other media may include recording media or storage media managed by app stores that distribute applications, sites that supply or distribute various software, servers, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

[0066] Although the embodiments described above have been described by way of limited examples and drawings, those skilled in the art will appreciate that various modifications and variations can be made based on the above teachings. For example, appropriate results can still be achieved even if the described techniques are performed in a different order than described, and / or components of the described systems, structures, devices, circuits, etc. are combined or combined in a different manner than described, or are replaced or substituted with other components or equivalents.

[0067] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.

Claims

1. A computer program stored in a computer-readable recording medium for executing a content streaming method in combination with a computer device, The above content streaming method is, A step of initiating streaming of segment files of a first resolution for content from a content streaming server. A step of monitoring whether the network speed set for the above-described streaming decreases and whether the size of data loaded into a buffer for streaming the above-described content decreases; A step of stopping the download of the first segment file currently being downloaded when a decrease in the network speed and a decrease in the size of data loaded into the buffer are detected simultaneously; and A step of resuming downloading from the second segment file of the second resolution corresponding to the first segment file among the segment files of the second resolution for the above content. including A computer program characterized by .

2. In paragraph 1, The step of stopping the download of the above first segment file is: Stopping the download of the first segment file at a point in time determined based on the size of the data loaded into the buffer and the size of the second segment file. A computer program characterized by .

3. In paragraph 2, The above point in time includes a point in time when the size of the data loaded into the buffer becomes less than the time expected to be required to download the second segment file. A computer program characterized by .

4. In paragraph 1, The second resolution includes the minimum resolution among the resolutions set for the content. A computer program characterized by .

5. In paragraph 1, The second resolution is selected from among the resolutions set for the content in consideration of the reduced network speed. A computer program characterized by .

6. In paragraph 1, The second resolution includes a resolution that can be downloaded without buffering at the reduced network speed among the resolutions set for the content. A computer program characterized by .

7. In paragraph 1, The above first resolution is greater than the above second resolution A computer program characterized by .

8. A method for streaming content in a computer device including at least one processor, Initiating streaming of segment files of a first resolution for content from a content streaming server by at least one processor; A step of monitoring, by at least one processor, whether a network speed set for the initiated streaming is reduced and whether a size of data loaded into a buffer for streaming of the initiated content is reduced; A step of stopping the download of the first segment file currently being downloaded when a decrease in the network speed and a decrease in the size of data loaded into the buffer are simultaneously detected by the at least one processor; and A step of resuming downloading from the second segment file of the second resolution corresponding to the first segment file among the segment files of the second resolution for the content by at least one processor. A method of streaming content including:

9. In paragraph 8, The step of stopping the download of the above first segment file is: Stopping the download of the first segment file at a point in time determined based on the size of the data loaded into the buffer and the size of the second segment file. A method of streaming content characterized by:

10. In paragraph 9, The above point in time includes a point in time when the size of the data loaded into the buffer becomes less than the time expected to be required to download the second segment file. A method of streaming content characterized by:

11. In paragraph 8, The second resolution includes a minimum resolution among the resolutions set for the content, or is selected from among the resolutions set for the content in consideration of the reduced network speed, or includes a resolution among the resolutions set for the content that can be downloaded without buffering at the reduced network speed. A method of streaming content characterized by:

12. In paragraph 8, The above first resolution is greater than the above second resolution A method of streaming content characterized by:

13. A computer-readable recording medium having recorded thereon a computer program for executing the method of any one of claims 8 to 12 on a computer device.

14. At least one processor implemented to execute instructions readable by a computer device. Including, By at least one processor, The player initiates streaming of segment files of the first resolution for the content to the user terminal on which the player is installed and running, Receive a request to stop downloading a first segment file currently being downloaded from the user terminal, Stop transmission of the above first segment file, Receive a download request from the user terminal for the second segment file of the second resolution corresponding to the first segment file among the segment files of the second resolution for the content, Resume transmission from the second segment file to the user terminal, The user terminal monitors whether the network speed set for the initiated streaming decreases under the control of the player and whether the size of data loaded into the buffer for streaming the initiated content decreases, and if the decrease in the network speed and the size of data loaded into the buffer are detected simultaneously, transmits a request to stop the download of the first segment file. A computer device characterized by:

15. In paragraph 14, The user terminal transmits a request to stop downloading the first segment file at a time determined based on the size of the data loaded into the buffer and the size of the second segment file. A computer device characterized by:

16. In paragraph 15, The above point in time includes a point in time when the size of the data loaded into the buffer becomes less than the time expected to be required to download the second segment file. A computer device characterized by:

17. In paragraph 14, The second resolution includes a minimum resolution among the resolutions set for the content, or is selected from among the resolutions set for the content in consideration of the reduced network speed, or includes a resolution among the resolutions set for the content that can be downloaded without buffering at the reduced network speed. A computer device characterized by:

Citation Information

Patent Citations

  • A system and process for controlling the coding bitrate of streaming media data

    KR1020060065482A

  • Information processing apparatus, information processing method, and computer-readable recording medium

    KR1020170070856A

  • Bandwidth estimation based on buffer and adaptive bitrate publish in real-time live environment

    KR1020180077379A

  • Method and system for effective adaptive bitrate streaming

    KR102165837B1

  • Multimedia data transmission system and multimedia data transmission method

    US20180278667A1