Abstract:
A method for providing content with streaming comprises storing a plurality of pieces of content; receiving a content retrieval request from a user; checking a network environment of the user; retrieving content according to the content retrieval request; and providing content information in which the retrieved content matches the checked network environment.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to Korean Patent Application No. 10-2013-0072598, filed on Jun. 24, 2013 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference. 
       BACKGROUND 
       [0002]    1. Field 
         [0003]    Apparatuses and methods consistent with the exemplary embodiments relate to a method and an apparatus for providing content with streaming, and more particularly, to a method and an apparatus for providing content with streaming, capable of selecting or providing content of a quality suitable for a streaming service which reflects a network environment of a user. 
         [0004]    2. Description of the Related Art 
         [0005]    In the related art, shown in  FIG. 8 , when a user wants to retrieve specific content, the user accesses a content portal  30  through a user terminal  10  to request retrieval of the specific content using a keyword. The content portal  30  performs retrieval from a database  20  to store information about content provided by content providers  40 - 1 ,  40 - 2  and  40 - 3  on the basis of the keyword input by the user. 
         [0006]    If content information corresponding to the keyword input by the user is retrieved, the content portal  30  provides the retrieved content information to the user, so that the user can move to a web page provided by the content providers  40 - 1 ,  40 - 2  and  40 - 3 . For example, if the user requests retrieval of a movie using a movie title as a keyword, the content portal  30  retrieves applications of content providers which provide the content, and provides a retrieval result to the user. Then, if the user executes a desired application to access the retrieved content, the web page goes to a page for reproduction or purchase of the movie. 
         [0007]    Specifically, if the user requests retrieval of a movie “Avatar”, the content portal  30  retrieves various content providers such as Vudu, Blockbuster and Netflix which provide “Avatar”, and provides the result to the user. Then, if the user selects Netflix, the web page goes to a page for “Avatar” of Netflix. Thus, the user may view the movie with streaming. 
         [0008]    However, in such a video content portal in the related art, retrieval and arrangement of video content is simply performed by only a keyword of a movie title. Further, in a case where various content providers provide the same movie with different qualities, a user cannot confirm the fact before reproduction. 
         [0009]    Consequently, for example, although the user has a network environment which allows viewing of high quality video content with streaming, the user may view low quality video content. Further, for example, although the user has an inadequate network environment, the user may select high quality video content, so that the user may not be provided with a smooth streaming service. 
       SUMMARY 
       [0010]    Additional aspects and/or advantages will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention. 
         [0011]    One or more exemplary embodiments may provide a method and an apparatus for providing content with streaming, capable of providing content information which matches a network environment of a user so that the user can select content of quality suitable for the network environment. 
         [0012]    One or more exemplary embodiments may provide a method and an apparatus for providing content with streaming, capable of checking a network environment of a user in real time to provide content of quality suitable for the network environment. 
         [0013]    According to an aspect of an exemplary embodiment, there is provided a method for providing content with streaming, including storing a plurality of pieces of content; receiving a content retrieval request from a user; checking a network environment of the user; retrieving content according to the content retrieval request; and providing content information in which the retrieved content matches the checked network environment. 
         [0014]    The network environment may include a data transfer bandwidth of a content receiver of the user. 
         [0015]    The method for providing content with streaming may further include downloading metadata on the retrieved content from a content provider which provides the retrieved content; parsing the downloaded metadata; obtaining a content access path which matches the data transfer bandwidth using the parsed metadata; and adding the content access path which matches the data transfer bandwidth to a retrieval result. 
         [0016]    The method for providing content with streaming may further include downloading at least one segment on the content access path to provide a sample video. 
         [0017]    The method for providing content with streaming may further include downloading a header of a content file on the content access path to provide image quality information. 
         [0018]    The method for providing content with streaming may further include providing content suitable for the checked network environment of the user with streaming. 
         [0019]    The network environment may further include a data transfer bandwidth of a content provider. 
         [0020]    According to an aspect of another exemplary embodiment, there is provided a method for providing content with streaming, including classifying a plurality of pieces of content according to a network environment and storing the classified content; receiving a content retrieval request from a user; checking a network environment of the user; retrieving content suitable for the checked network environment of the user; and providing content information in which the retrieved content matches the checked network environment. 
         [0021]    The network environment may include a data transfer bandwidth of a content receiver of the user. 
         [0022]    The method for providing content with streaming may further include providing the content suitable for the checked network environment of the user with streaming according to a selection of the user. 
         [0023]    According to an aspect of another exemplary embodiment, there is provided an apparatus for providing content with streaming, including a storage section to store a plurality of pieces of content; a communicating section which receives a content retrieval request from a user; a network environment checker which checks a network environment of the user; and a controller which retrieves content according to the content retrieval request and matches the retrieved content with the checked network environment. 
         [0024]    The network environment may include a data transfer bandwidth of a content receiver of the user. 
         [0025]    The apparatus for providing content with streaming may further include a metadata processing section which downloads metadata on the retrieved content from a content provider which provides the retrieved content and parses the downloaded metadata. 
         [0026]    The controller may obtain a content access path which matches the data transfer bandwidth using the parsed metadata, and adds the content access path which matches the data transfer bandwidth to a retrieval result. 
         [0027]    The controller may download at least one segment on the content access path to provide a sample video. 
         [0028]    The controller may parse a header of a content file on the content access path to provide image quality information. 
         [0029]    The controller may control the communicating section to provide content suitable for the checked network environment of the user with streaming. 
         [0030]    The network environment may further include a data transfer bandwidth of a content provider. 
         [0031]    According to an aspect of another exemplary embodiment, there is provided an apparatus for providing content with streaming, including a storage section which classifies a plurality of pieces of content according to a network environment and stores the classified content; a communicating section which receives a content retrieval request from a user; a network environment checker which checks a network environment of the user; and a controller which retrieves content suitable for the checked network environment of the user and provides content information in which the retrieved content matches the checked network environment. 
         [0032]    The network environment may include a data transfer bandwidth of a content receiver of the user. 
         [0033]    The controller may control the communicating section to provide content suitable for the checked network environment of the user with streaming according to a selection of the user. 
         [0034]    According to the method and apparatus for providing content with streaming, it is possible to check a network environment of a user, that is, a bandwidth, to obtain optimal content information suitable for the network environment, and to allow the user to select optimal content. 
         [0035]    Further, the user may be provided with content of quality suitable for the network environment from a content provider. That is, when the same content is provided by various content providers, the user may confirm and select the most optimal content. 
         [0036]    Thus, it is possible to cause the content providers to provide services of superior image quality through image quality competition. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0037]    The above and/or other aspects will become apparent and more readily appreciated from the following description of exemplary embodiments, taken in conjunction with the accompanying drawings, in which: 
           [0038]      FIG. 1  shows a schematic configuration of an apparatus for providing content with streaming according to a first exemplary embodiment. 
           [0039]      FIG. 2  shows a schematic configuration of an apparatus for providing content with streaming according to a second exemplary embodiment. 
           [0040]      FIG. 3  is a block diagram showing a configuration of the apparatus for providing content with streaming according to the first exemplary embodiment. 
           [0041]      FIG. 4  is a block diagram showing a configuration of the apparatus for providing content with streaming according to the second exemplary embodiment. 
           [0042]      FIG. 5  shows a configuration of metadata used in exemplary embodiments. 
           [0043]      FIG. 6  is a flowchart showing a configuration of the apparatus for providing content with streaming according to the first exemplary embodiment. 
           [0044]      FIG. 7  is a flowchart showing a configuration of the apparatus for providing content with streaming according to the second exemplary embodiment. 
           [0045]      FIG. 8  shows a schematic configuration of an apparatus for providing content with streaming in the related art. 
       
    
    
     DETAILED DESCRIPTION 
       [0046]    Below, exemplary embodiments will be described in detail with reference to accompanying drawings so as to be easily realized by a person having ordinary knowledge in the art. The exemplary embodiments may be embodied in various forms without being limited to the exemplary embodiments set forth herein. Descriptions of well-known parts are omitted for clarity, but this does not mean that the omitted parts are unnecessary for realization of apparatuses or systems to which the exemplary embodiments are applied. Like reference numerals refer to like elements throughout. 
         [0047]    Referring to  FIGS. 1 and 3 , an apparatus  300  (hereinafter, referred to as a content portal  300 ) for providing content with streaming according to an exemplary embodiment stores content information provided by content providers  400  ( 400 - 1 ,  400 - 2  and  400 - 3 ) in a storage section (DB)  360 . If the apparatus  300  receives a content retrieval request from a content receiver  100  of a user, the apparatus  300  performs retrieval on the basis of the content information stored in the storage section  360 . 
         [0048]    The content receiver  100  may employ any device as long as it is capable of requesting retrieval of content and receiving the content with streaming through wired or wireless communication, which may include a mobile terminal such as a smart phone, a tablet computer or a notebook computer, a desktop computer, a server, or the like. 
         [0049]    The content receiver  100  may include a first communicating section  110 , a user input section  120 , a first controller  130 , a data processing section  140 , and a display section  150 . 
         [0050]    The first communicating section  110  may transmit, to a content portal  300 , a keyword for content which is input by the user through a retrieval web page provided by the content portal  300 , and may receive a retrieval result from the content portal  300 . 
         [0051]    The first communicating section  110  may employ data communication such as a very high-data rate digital subscriber line (VDSL), Ethernet, Token Ring, high definition multimedia interface (HDMI), universal serial bus (USB), component, low-voltage differential signaling (LVDS) or HDMI Ethernet channel (HEC); mobile communication such as 2G, 3G, 4G or long term evolution (LTE); wireless Internet such as a wireless local area network (WLAN: Wi-Fi), wireless broadband (WiBro), world interoperability for microwave access (Wimax) or high speed downlink packet access (HSDPA); near-distance wireless communication such as Bluetooth (registered trademark), radio-frequency identification (RFID), infrared data association (IrDA), ultra wideband (UWB) or Zigbee (registered trademark); or the like. 
         [0052]    The user input section  120  may include a keyboard, a mouth, a keypad, a touch screen, a microphone, a remote controller, or the like. 
         [0053]    The first controller  130  may control the respective components of the content receiver  100 . For example, the first controller  130  may control the first communicating section  110 , the user input section  120 , the data processing section  140  and the display section  150 . The first controller  120  may control the first communicating section  110  to receive a web page on which content information is displayed from the content portal  300 , and may display the web page on the display section  150  through data processing. Further, if the user inputs a keyword through the web page, the first controller  130  may control the first communicating section  110  to transmit input data to the content portal  300 . 
         [0054]    The first controller  130  may include an application specific integrated circuit (ASIC), a digital signal processor (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a micro-controller, a microprocessor, or the like. 
         [0055]    The date processing section  140  processes various data input or received through the first communicating section  110  and the user input section  120  to be displayed on the display section  150 . 
         [0056]    The data processing section  140  may include an application such as a web browser which processes a web page received through the first communicating section  110 . 
         [0057]    Further, the data processing section  140  may perform the processes of de-multiplexing for distributing a predetermined data signal into signals having respective characteristics, decoding corresponding to a video format of a video signal, de-interlacing for converting an interlaced video signal into a progressive signal, scaling for adjusting a video signal to a preset resolution, noise reduction for improving image quality, detail enhancement, frame refresh rate conversion, and the like, for example. 
         [0058]    The data processing section  140  may be provided as a video processing board in which a circuit configuration of various chipsets for executing the processes, a memory, electronic parts, wirings and the like is mounted on a printed circuit board. 
         [0059]    The display section  150  may display data processed by the data processing section  140  to be visually viewed. 
         [0060]    The display section  150  is not limited to a particular configuration, but may include various display panels using liquid crystal, plasma, light-emitting diodes, organic light-emitting diodes, a surface-conduction electron-gun, carbon nano-tubes, nano-crystal or the like. 
         [0061]    The display section  150  may include an additional component according to its configuration. For example, in a case where the display section  150  employs a liquid crystal display panel, the display section  150  may include a backlight which supplies light and a panel drive board which drives the display panel. 
         [0062]    Hereinafter, the apparatus  300  for providing content with streaming according to the first embodiment will be described. 
         [0063]    The apparatus  300  for providing content with streaming may include the content portal  300  to store and provide content information provided by various content providers. 
         [0064]    As shown in  FIG. 3 , the content portal  300  may include a second communicating section  310 , a second controller  330 , the first storage section  360 , a network environment checker  370 , and a metadata processing section  380 . 
         [0065]    The second communicating section  310  may communicate with the content receiver  100  of the user and the plurality of content providers  400 . The second communicating section  310  may receive a content retrieval request from the first communicating section  110 , and may provide retrieved content information to the first communicating section  110 . Further, the second communicating section  310  may receive content information from the content providers  400 . 
         [0066]    The second controller  330  may control the respective components of the content portal  300 . That is, the second controller  330  may control the second communicating section  310 , the first storage section  360 , the network environment checker  370  and the metadata processing section  380 . The second controller  330  may control the second communicating section  310  to receive a content retrieval request transmitted from the content receiver  100  of the user and to transmit a web page including content information retrieved according to the request of the user. Here, the second controller  330  may transmit content information in which the retrieved content matches a network environment of the user to the content receiver  100  through the second communicating section  310 . 
         [0067]    The second controller  330  may match the network environment such as a bandwidth of the content receiver  100  and bandwidths of the content providers  400  with the retrieved content using the network environment of the user checked by the network environment checker  370  and downloaded metadata on the retrieved content, and may provide the result to the content receiver  100 . 
         [0068]    The second controller  330  may include an application specific integrated circuit (ASIC), a digital signal processor (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a micro-controller, a microprocessor, or the like. 
         [0069]    The first storage section  360  may include a database DB to store the content information provided by the content providers  400 . The stored content information may be classified according to specific identifiers of the content providers  400 . 
         [0070]    The network environment checker  370  may check the network environment of the content receiver  100  of the user, for example, its bandwidth in real time for each content retrieval request of the user. Further, the network environment checker  370  may additionally check the bandwidths of the content providers  400 . Here, the bandwidth may refer to the difference between the highest frequency and the lowest frequency of a signal which is usable in a network, or may refer to the maximum transfer rate, that is, information transfer ability which is usable in communication. 
         [0071]    The metadata processing section  380  may download metadata on the content retrieved from the content providers  400 , may parse the downloaded metadata, and may obtain an access path to content which matches a data transfer bandwidth using the parsed metadata. 
         [0072]    The second controller  330  may provide the access path to the content which matches the data transfer bandwidth, obtained by the metadata processing section  380 , in addition to the content to be provided to the content receiver  100  of the user. 
         [0073]    Further, the second controller  330  may download at least one segment on the access path to provide a sample video, or may parse a header of a content file on the access path to provide image quality information. 
         [0074]    Further, the second controller  330  may provide content suitable for the checked network environment, that is, the bandwidth of the content provider  100  or the bandwidths of the content providers  400  with streaming. 
         [0075]    Here, the metadata refers to data on data, which is given to content according to a predetermined rule to efficiently search and use desired information from a large amount of data. The metadata may include information about the position, contents, creator, copyright validity, use conditions, usage history or the like of the content. 
         [0076]    Another purpose of the metadata is to provide quick data search, which serves as an index of information in a computer. 
         [0077]    A user may easily search desired data (information) using the metadata through a search engine or the like. 
         [0078]      FIG. 5  shows an actual configuration example of a main metadata file based on the HTTP live streaming (HLS) standard. Here, EXTM3U in the first row represents a file of m3u8 format. In the second row, #EXT-X-STREAM-INF represents an indicator for content provision, PROGRAM ID=628 represents a unique value of content which is present in a play list file, and BANDWIDTH=1743236 represents a bps value expressed by decimal numeration. In the third, fifth and seventh rows, m3u8 represents a file format. 
         [0079]    In this manner, content to be serviced is mapped in the metadata files according to bandwidths. That is, network bandwidths and appropriate bit rates (bps) match with each other for the same content. 
         [0080]    An operation of the apparatus  300  for providing content with streaming according to the above-described first exemplary embodiment will be described referring to  FIGS. 3 and 6 . 
         [0081]    First, the content portal  300  stores content information provided by the content providers  400  in the first storage section  360  (S 100 ). 
         [0082]    A user requests retrieval of desired content information among the content information provided by the content portal  300  through the content receiver  100 . For example, the user may input “AVATAR” for the retrieval request. Then, the content portal  300  receives the content retrieval request from the content provider  100  (S 110 ). 
         [0083]    If the retrieval request is received from the content receiver  100 , the content portal  300  checks a network environment of the content receiver  100 , for example, a bandwidth through the network environment checker  370  (S 120 ). 
         [0084]    The content portal  300  searches content IDs of the content providers  400  which provide “AVATAR” from a content ID list which is stored, managed and updated in the first storage  360 , in addition to the bandwidth check (S 130 ). 
         [0085]    Then, the metadata processing section  380  downloads metadata through a reproduction uniform resource locator (URL) of content (video) pointed by each searched content ID (S 140 ). Here, the metadata has a size of about  200  bytes, and may thus be downloaded in a very short time, which allows real-time downloading. 
         [0086]    The metadata processing section  380  parses the downloaded metadata (S 150 ), and obtains a content access path which matches the checked bandwidth of the content receiver  100  (S 160 ). 
         [0087]    Then, the metadata processing section  380  adds the obtained content access path which matches the bandwidth of the content receiver  100  to the content retrieval result, and provides the result to the content receiver  100  (S 170 ). 
         [0088]    In addition, the metadata processing section  380  may directly download a segment of content on the obtained access path to provide a sample video, or may parse a header of a corresponding transport stream (TS) file to provide image quality information. 
         [0089]    Further, the network environment checker  370  may check network environments of the content providers  400  on the access path, for example, bandwidths. When the content receiver  100  receives desired content with streaming using the access path, the content receiver  100  may be provided with a streaming service in a better environment by referring to the bandwidths of the content providers  400 . 
         [0090]      FIGS. 2 and 4  show an apparatus  200  for providing content with streaming (hereinafter, referred to as a content streaming service apparatus  200 ) according to a second exemplary embodiment. 
         [0091]    The content streaming service apparatus  200  according to the second exemplary embodiment may directly classify and store content therein, differently from the apparatus  300  according to the first exemplary embodiment, and may provide retrieved content information according to a content retrieval request of a user. 
         [0092]    The content receiver  100  of the user is the same as in the apparatus  300  according to the first exemplary embodiment, and description thereof will not be repeated. 
         [0093]    As shown in  FIG. 4 , the content streaming service apparatus  200  may include a third communicating section  210 , a third controller  230 , a second storage section  260 , and a network environment checker  270 . 
         [0094]    The third communicating section  210  may communicate with the first communicating section  110  of the content receiver  100  of the user. The third communicating section  210  may receive a content retrieval request from the first communicating section  110 , and may provide content information and content as a retrieval result. 
         [0095]    The third controller  230  may control the respective components of the content streaming service apparatus  200 . For example, the third controller  230  may control the third communicating section  210 , the second storage section  260  and the network environment checker  270 . The third controller  230  may control the third communicating section  210  to receive a content retrieval request from the content receiver  100  and to transmit a web page on which content information is displayed according to the request of the user. Further, the third controller  230  may transmit content information in which retrieved content matches a network environment of the user to the content receiver  100  through the third communicating section  210 . 
         [0096]    The third controller  230  may retrieve content which matches the network environment of the user checked by the network environment checker  270  to provide the retrieved content to the content receiver  100 . 
         [0097]    The third controller  230  may include an application specific integrated circuit (ASIC), a digital signal processor (DSP), a programmable logic device (PLD), a field programmable gate array (FPGA), a micro-controller, a microprocessor, or the like. 
         [0098]    The second storage section  260  may store content which is mapped in various bandwidths for the same content. 
         [0099]    The network environment checker  270  may check the network environment of the content receiver  100  of the user, for example, a bandwidth for each content retrieval request of the user in real time. 
         [0100]    The third controller  230  may provide content which matches the data transfer bandwidth obtained in this way to the content receiver  100  for selection of the user. 
         [0101]    Hereinafter, a method for providing content with streaming according to the second exemplary embodiment will be described in detail referring to  FIG. 7 . 
         [0102]    First, the content streaming service apparatus  200  maps various content according to various network environments, for example, various bandwidths, and stores the mapped content in the second storage section  260  in advance (S 200 ). 
         [0103]    If a user requests content retrieval to the content streaming service apparatus  200  through the content receiver  100  by inputting “AVATAR”, for example, the content streaming service apparatus  200  receives the content retrieval request from the content receiver  100  (S 210 ). 
         [0104]    After receiving the content retrieval request from the content receiver  100 , the content streaming service apparatus  200  checks a network environment of the content receiver  100  of the user, for example, its bandwidth through the network environment checker  270  (S 220 ). 
         [0105]    Then, the content streaming service apparatus  200  retrieves the content “AVATAR” which matches the checked bandwidth from a content list which is stored, managed and updated in the second storage section  260  (S 230 ). 
         [0106]    The content streaming service apparatus  200  provides information about the retrieved content to the content receiver  100  for selection of the user (S 240 ). 
         [0107]    Finally, the content streaming service apparatus  200  transmits the content selected by the user to the content receiver  100  with streaming (S 250 ). 
         [0108]    The embodiments can be implemented in computing hardware (computing apparatus) and/or software, such as (in a non-limiting example) any computer that can store, retrieve, process and/or output data and/or communicate with other computers. The results produced can be displayed on a display of the computing hardware. A program/software implementing the embodiments may be recorded on computer-readable media comprising non-transitory computer-readable recording media. The program/software implementing the embodiments may also be transmitted over non-transitory transmission communication media. Examples of the computer-readable recording media include a magnetic recording apparatus, an optical disk, a magneto-optical disk, and/or a semiconductor memory (for example, RAM, ROM, etc.). Examples of the magnetic recording apparatus include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape (MT). Examples of the optical disk include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc-Read Only Memory), and a CD-R (Recordable)/RW. 
         [0109]    Although a few embodiments have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.