[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2022103017A1 - 캐싱 데이터 제공 방법 및 시스템 - Google Patents

캐싱 데이터 제공 방법 및 시스템 Download PDF

Info

Publication number
WO2022103017A1
WO2022103017A1 PCT/KR2021/015001 KR2021015001W WO2022103017A1 WO 2022103017 A1 WO2022103017 A1 WO 2022103017A1 KR 2021015001 W KR2021015001 W KR 2021015001W WO 2022103017 A1 WO2022103017 A1 WO 2022103017A1
Authority
WO
WIPO (PCT)
Prior art keywords
auxiliary information
caching
information
value
top box
Prior art date
Application number
PCT/KR2021/015001
Other languages
English (en)
French (fr)
Inventor
신재섭
류성걸
손세훈
송문섭
이경택
유훈찬
Original Assignee
주식회사 픽스트리
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 주식회사 픽스트리 filed Critical 주식회사 픽스트리
Publication of WO2022103017A1 publication Critical patent/WO2022103017A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream

Definitions

  • One embodiment of the present invention relates to a method and system for providing caching data.
  • a general digital cable broadcasting network is largely composed of a structure in which a cable network connects a local cable broadcasting station and a subscriber side.
  • Equipment on the subscriber side includes a set-top box with a cable modem and an MPEG (Moving Picture Experts Group) decoder, and a TV.
  • a local cable broadcasting station includes devices such as a System Information (SI) server, a Certificate Authority (CA) server, a Cable Modem Termination System (CMTS), a digital broadcasting server, and a broadcasting headend that transmit broadcast channel information.
  • SI System Information
  • CA Certificate Authority
  • CMTS Cable Modem Termination System
  • digital broadcasting server and a broadcasting headend that transmit broadcast channel information.
  • a method for a user to change a channel using a digital cable broadcasting network is as follows.
  • the user first selects a channel in order to watch the audio and video desired by the user.
  • the set-top box finds out by parsing the PAT (Program Association Table) and PMT (Program Map Table) that transmit the PID (Packet Identifier) corresponding to the frequency, audio and video of the channel selected by the user from the headend.
  • PAT Program Association Table
  • PMT Program Map Table
  • the set-top box decodes and displays only data matching the acquired PID among broadcast data transmitted from the broadcast headend to the user.
  • the set-top box searches for the frequency or address corresponding to the input channel using the SI (System Information) database that the headend transmits. After tuning/joining the searched frequency/address, the set-top box filters PAT and PMT information among received data using the tuned/joined frequency/address.
  • SI System Information
  • the set-top box parses the filtered PAT and PMT to extract the PID included in the PAT and PMT.
  • the set-top box displays only data including the PID after decoding using an MPEG decoder.
  • the set-top box In order to change a channel, the set-top box must perform all of the tuning/joining, PAT and PMT filtering and parsing processes after searching for a frequency/address according to the channel requested to change the channel.
  • CAS Conditional Access System
  • An object of the present invention is to provide a caching data providing method and system for generating and providing caching data extracted as much as a necessary section without a descrambling process for a scrambled service stream based on the auxiliary information extracted in advance.
  • a CAS Consumer Access System
  • receive a scrambled stream from a media service network and descrambles the stream to generate auxiliary information, and the a set-top box (STB) for periodically or aperiodically transmitting auxiliary information;
  • STB set-top box
  • the caching data extracted as much as a necessary section with reference to the pre-stored auxiliary information value is generated.
  • It provides a caching data providing system comprising a; caching server for transmitting the caching data response of the set-top box.
  • the CAS release key receiving unit for receiving the CAS release key value from the external server; a CAS decommissioning unit that receives a scrambled stream to which a CAS (Conditional Access System) is applied from a media service network, and descrambles the stream using the CAS deactivation key value; an auxiliary information extraction unit for extracting auxiliary information from the descrambled information; an auxiliary information update control unit receiving the auxiliary information periodically or aperiodically, converting it into a database, and storing the auxiliary information in the auxiliary information DB; And when there is a request for caching data from the set-top box, a caching data generation module for generating caching data extracted as much as a necessary section with reference to the pre-stored auxiliary information and transmitting the caching data in response to the request for caching data of the set-top box. It provides a caching server that features.
  • auxiliary information periodically or aperiodically received from the set-top box or the server itself in advance Based on the extracted auxiliary information, there is an effect of generating and providing the caching data extracted as much as a necessary section without the descrambling process for the service stream when generating the caching data.
  • the caching server since the caching server stores the information in which the CAS is released in a table, it is possible to reduce the computational complexity from the server side, and there is an effect that the information in which the CAS is set can be processed.
  • 1 is a diagram showing a structure for providing a stream service using a caching server.
  • FIG. 2 is a diagram illustrating a structure for providing a high-speed channel switching service using a caching server.
  • FIG. 3 is a diagram illustrating a caching server and a set-top box that provide a stream service.
  • FIG. 4 is a diagram illustrating a structure for providing caching data using auxiliary information extracted from the set-top box according to the first embodiment.
  • FIG. 5 is a diagram showing a structure for providing caching data using auxiliary information extracted by itself from the caching server according to the second embodiment.
  • Figure 6a is an exemplary view showing a method of extracting caching data by using the auxiliary information received from the set-top box in the caching server.
  • 6b is an exemplary diagram illustrating a method of extracting caching data using auxiliary information extracted after releasing CAS directly from the caching server.
  • 1 is a diagram showing a structure for providing a stream service using a caching server.
  • the set-top box 110 receives and outputs a service stream from a media service network.
  • the set-top box 110 includes a caching client and an application system.
  • the set-top box 110 receives a service stream using an application system.
  • the set-top box 110 transmits a caching data request to the caching server 120 using a caching client, and receives a response corresponding to the request (Request).
  • the set-top box 110 uses the information received from the caching server 120 within the spare time in order to process or recover data at high speed to replace the pre-stored information.
  • the set-top box 110 receives a channel change signal (channel 1 ⁇ channel 2) from the remote control while receiving a service stream from the media service network.
  • the set-top box 110 requests the switch channel address information (channel 2) corresponding to the channel switch signal to the media service network, and then receives switch channel stream data (channel 2) corresponding to the switch channel address information from the media service network. do.
  • the set-top box 110 receives a channel change signal (channel 1 ⁇ channel 2), and the first output frame (generally I frame) of the service stream corresponding to the channel change signal (channel 2) (Intra Frame)) takes about 2.5 seconds to output.
  • FIG. 2 is a diagram illustrating a structure for providing a high-speed channel switching service using a caching server.
  • the set-top box 210 When the set-top box 210 receives a channel change signal (channel 1 ⁇ channel 2) from the remote control, additional characteristic information (index, for example, the first A part of the received conversion channel (channel 2) stream or a feature value) is extracted. The set-top box 210 transmits additional characteristic information (index) to the caching server 220 together with the switching channel information (channel 2) corresponding to the channel switching signal.
  • a channel change signal channel 1 ⁇ channel 2
  • index for example, the first A part of the received conversion channel (channel 2) stream or a feature value
  • the caching server 220 receives stream data corresponding to the service channel addresses from the service supply network or media service network after requesting the service channel addresses to provide the caching service to the service supply network or media service network, and receives stream data corresponding to the service channel addresses for a preset time (eg, 3 sec) by caching each channel.
  • a preset time eg, 3 sec
  • the caching server 220 uses the conversion channel information (channel 2) and additional feature information (index) received from the set-top box 210, from the caching information for each channel being cached, from the set-top box 210 After checking the caching information for the received conversion channel (channel 2), finding a location matching the additional feature information (index) in this caching information, and determining the current location, from this caching stream data corresponding to a specific location is extracted and transmitted to the set-top box 210 .
  • the caching server 220 checks the caching information for the conversion channel (channel 2) from the caching information for each channel that is caching, and in this caching information, from the current location matching additional characteristic information (index) to a specific location Since the corresponding caching stream data is transmitted to the set-top box 210, the channel is switched at high speed.
  • FIG. 3 is a view showing a caching server and a set-top box that provide a stream service, and is a caching service processing structure for a stream when CAS is not applied or only partially applied.
  • the caching server 320 When the caching server 320 performs Media Loss Recovery (MLR), high-speed channel switching, etc., a PTS (Presentation Time Stamp)-PCR (Program Clock Reference) gap value of the received stream, such as a value necessary for generating caching data
  • MLR Media Loss Recovery
  • PTS Presentation Time Stamp
  • PC Program Clock Reference
  • the range of caching data can be determined using the corresponding value, or values such as PCR and PTS in the stream can be adjusted.
  • the caching server 320 receives the stream data corresponding to the service channel address and caches it for a preset amount of time, finds a location matching the additional characteristic information (index) from the caching information being cached, and sets it as the current location and determines a specific location or range from the current location based on the auxiliary information, or adjusts PCR and PTS values in a stream existing in the corresponding location or range.
  • index additional characteristic information
  • the caching server 320 When the caching server 320 is partially hung on a part of the CAS (Conditional Access System) in the stream it receives, it is enough to acquire auxiliary information by using the part on which the CAS is not hung.
  • the caching server 320 can release the CAS only after receiving a key value capable of descrambling the CAS and performing a descramble algorithm.
  • the key value capable of descrambling the CAS is generally not stored in the 3rd party server, but is stored only in the client terminal or the set-top box 310 . Therefore, since the server cannot release the CAS of a stream received without a key value, it is difficult to calculate auxiliary information such as a PTS-PCR gap value.
  • the caching server 320 extracts up to a specific range (eg, ⁇ or 1GOP (Group Of Pictures) + ⁇ , or 2GOP (Group Of Pictures) + ⁇ ) as caching stream data for fast channel switching. Assuming that the current location is determined from the caching information for the switch channel and the nearest I frame is ⁇ , 1 GOP + ⁇ from ⁇ to one additional GOP (Group Of Pictures), and two additional GOPs from ⁇ ( Group Of Pictures) is defined as 2GOP + ⁇ , etc.
  • a specific range eg, ⁇ or 1GOP (Group Of Pictures) + ⁇ , or 2GOP (Group Of Pictures) + ⁇
  • the caching server 320 determines a caching data range such as ⁇ or 1GOP + ⁇ or 2GOP + ⁇ based on the auxiliary information in the switched channel caching information, extracts it as caching data, and transmits it to the set-top box 310 .
  • 4 bytes are allocated to the TS header in the TS packet structure in the stream, and 184 bytes are allocated to the payload.
  • the caching server 320 finds a location (current location) corresponding to the index in the TS packet structure in the stream, and then searches for a random access indicator (RAI) that exists in front of the location. Thereafter, the caching server 320 may find a first RAI location, a second RAI location, etc. located in front of the searched RAI. Since the caching server 320 may include a lot of unnecessary sections when searching for the first RAI location and the second RAI location, it is necessary to determine the optimal range of caching data based on auxiliary information.
  • RAI random access indicator
  • the caching server 320 cannot obtain a value such as PTS included in the scrambled payload, and cannot calculate auxiliary information such as a PTS-PCR gap.
  • PCR exists in the TS header of the TS packet structure.
  • the PTS is present in the payload of the TS packet structure.
  • the PTS exists in 184 bytes allocated to the payload, which exist separately from the video PTS and the audio PTS.
  • the caching server 320 should check the payload in order to check the PTS, but the payload is scrambled by applying CAS to the payload, so it is impossible to check the payload.
  • information necessary for generating caching data periodically/aperiodically from the set-top box 410 is received as auxiliary information and converted into a database.
  • information necessary for generating caching data periodically/aperiodically from the auxiliary information extraction unit 526 in the caching server 520 is obtained as auxiliary information in advance and converted into a database, and then the necessary values are referred to when generating the caching data.
  • the caching server 320 may set the gap value of the farther of the gap between the PCR and the video PTS and the gap between the PCR and the audio PTS as auxiliary information.
  • the caching server 320 performs caching on all of the plurality of channels communicating with the plurality of set-top boxes 310 before receiving the switch channel information from the set-top box 310 at all times.
  • the caching server 320 always performs caching for the entire service channel, and among these caching information, the caching data extracted by the appropriate section determined based on the auxiliary information for the channel caching information corresponding to the switched channel information generated and transmitted to the set-top box 310 .
  • the set-top box 310 attaches the caching data received from the caching server to the front of the normal service stream data received after channel switching.
  • the set-top box 310 transmits the initial data received after channel switching to the index and then receives the caching data corresponding to the front part of the index, and thus adds the caching data to the front part.
  • the set-top box 310 quickly switches the channel using the data added to the front part of the caching data.
  • FIG. 4 is a diagram illustrating a structure for providing caching data using auxiliary information extracted from the set-top box according to the first embodiment.
  • the set-top box 410 periodically (eg, once a day) or aperiodically transmits the auxiliary information to the caching server 420 to form the auxiliary information table in the caching server 420 . Since the set-top box 410 receives and decodes the stream and outputs an image to the screen, since the CAS set in the stream is descrambled, the video PTS and the audio PTS present in the payload of the TS packet structure can be checked.
  • the set-top box 410 since the set-top box 410 outputs the service screen in a state in which the CAS set in the stream is descrambled, the PCR present in the TS header of the TS packet structure is checked, and the CAS of the payload of the TS packet structure is descrambled. In this way, information necessary for generating auxiliary information such as video PTS and audio PTS existing in the payload is checked.
  • the set-top box 410 uses each of the video PTS and the audio PTS present in the payload, and periodically or aperiodically using the larger value of the video PTS-PCR gap value and the audio PTS-PCR gap value as auxiliary information. It is sent to the caching server 420 .
  • the caching server 420 receives the auxiliary information from the set-top box 410 periodically or aperiodically and then stores it in the internal DB.
  • Caching server 420 may check the auxiliary information on the conversion channel from the internal DB if necessary.
  • the set-top box 410 obtains the gap value of the PCR at a specific time point and the video PTS at that time, and the PCR at the specific time point and the audio PTS at that time, and then caches the larger value as auxiliary information. may be transmitted to the server 420 .
  • the set-top box 410 checks the gap between the PCR and the video PTS at a specific time, checks the gap between the PCR and the audio PTS, generates auxiliary information, and then transmits it to the caching server.
  • the set-top box 410 transmits various auxiliary information obtainable from the set-top box in this way to the caching server 420 periodically or aperiodically so that the caching server 420 forms a kind of table.
  • the caching server 420 When the caching server 420 receives the switching channel information from the set-top box 410, the most recently updated auxiliary information (eg, PTS-PCR gap value) for the corresponding channel in the DB is checked, and the caching information of the corresponding channel. In order to find the position corresponding to the PTS-PCR gap value from the current position of The position corresponding to the previous time direction is searched for by the PCR gap value.
  • auxiliary information eg, PTS-PCR gap value
  • the caching server 420 is a suitable location in the previous time location corresponding to the PTS-PCR gap value (auxiliary information) based on the current location PCR (for example, the closest location in the previous time direction (FIG. 6a) or regardless of the direction) Finds the RAI (Random Access Indicator) of the nearest location (FIG. 6b, etc.), extracts the data from the I frame (Intra Frame) indicated by the RAI to the current location, and transmits it to the set-top box 410 as caching data for a high-speed channel make the transition happen.
  • the RAI Random Access Indicator
  • the caching server 420 provides auxiliary information for each channel to a database, table, etc. regardless of the number of communication set-top boxes 410 even if there are a plurality (eg, 200) of channels communicating with the plurality of set-top boxes 410. Save in the same format. For example, for a fast channel switching service, gap value information of PTS-PCR according to the encoder characteristics of the headend for each channel is stored in the form of an auxiliary information value table.
  • the caching server 420 receives auxiliary information from the set-top box 410 periodically (eg, once a day) or aperiodically. The caching server 420 does not update the information previously stored in the DB when the received auxiliary information is the same as the information previously stored in the DB. If the received auxiliary information is not the same as the information previously stored in the DB, the caching server 420 updates the information previously stored in the DB.
  • the caching server 420 When the caching server 420 is unable to check the payload of the TS packet due to the scrambled values of the CAS in the stream, the caching data extracted as much as a necessary section based on the auxiliary information periodically or aperiodically received from the set-top box 410 is retrieved. create
  • the caching server 420 when the caching server 420 receives switch channel information from the set-top box 410, the gap value of PTS-PCR, which is auxiliary information for the corresponding switch channel, is checked from the internal database, and then Generates caching data extracted as much as the section and transmits it to the set-top box 410, or generates caching data extracted as much as the section needed for other purposes and transmits it to the set-top box 410.
  • the set-top box 410 updates the auxiliary information for each channel (eg, PTS-PCR gap value information) to the caching server 420 periodically or aperiodically.
  • the caching server 420 stores the auxiliary information for each channel received from the set-top box 410 (eg, PTS-PCR gap value information) into a DB.
  • the caching server 420 uses the information stored in DB to generate caching data.
  • the caching server 420 compares and updates the auxiliary information received from the set-top box 410 with pre-stored information.
  • the caching server 420 retains the auxiliary information to assist in generating the caching data after receiving it from the set-top box 410 .
  • the caching server 420 is periodically updated with auxiliary information from the set-top box (410).
  • Caching server 420 may request an update of auxiliary information to the set-top box 410 periodically / aperiodically.
  • the set-top box 410 receives and processes caching data, when it is determined that the length or content of the caching data is inappropriate, it obtains ancillary information for the corresponding channel again and transmits it to the caching server 420, and the caching server 420 performs an update on this value.
  • Caching server 420 periodically (eg, once an hour) or non-reported auxiliary information for generating caching data (eg, a gap value of PTS-PCR in the case of a high-speed channel switching service) from the set-top box 410 It receives and stores periodically (eg, when it is determined that the caching data is inappropriate in the set-top box), and generates caching data extracted as much as necessary based on this value.
  • caching data eg, a gap value of PTS-PCR in the case of a high-speed channel switching service
  • the caching server 420 sets the initial value of the auxiliary information database appropriately to enable efficient response at the beginning of the service. For example, in the case of a high-speed channel switching service, the caching server 420 may be set to an appropriate value such as 1xGOP length value, 0.5xGOP length value, etc. as an initial value of the auxiliary information database. In addition, the caching server 420 may set the initial value of the auxiliary information database as the auxiliary information value for each channel investigated in advance, and use it without updating or updating only when necessary.
  • the viewing channel requesting/receiving unit 412 receives a scrambled stream to which a Conditional Access System (CAS) is applied from the media service network.
  • CAS Conditional Access System
  • the auxiliary information extractor 414 descrambles the stream to generate auxiliary information.
  • the auxiliary information extraction unit 414 descrambles the scrambled portion in the stream to extract stream information such as PTS (Presentation Time Stamp) and PSI (Program Specific Information), and based on this, Generate auxiliary information.
  • the auxiliary information transmitter 416 transmits the auxiliary information to the caching server 420 periodically or aperiodically.
  • the auxiliary information update control unit 422 receives auxiliary information from the set-top box 410 and stores it in the auxiliary information DB 424 . Thereafter, the auxiliary information update control unit 422 compares the newly received auxiliary information with the pre-stored auxiliary information.
  • the auxiliary information update control unit 422 updates the previously stored information with the newly received auxiliary information when the newly received auxiliary information and the previously stored auxiliary information have different values. When the newly received auxiliary information and the previously stored auxiliary information have the same value, the auxiliary information update control unit 422 does not update the previously stored information.
  • the set-top box 410 aperiodically extracts the auxiliary information again and transmits it to the caching server. Thereafter, the auxiliary information update control unit 422 receives the aperiodic auxiliary information from the set-top box 410 and, when there is a non-identical value between the received auxiliary information and the pre-stored information, the pre-stored information is used as the received auxiliary information. update
  • the auxiliary information update control unit 422 stores auxiliary information for each channel regardless of the number of communication set-top boxes 410 even if there are a plurality (eg, 200) of channels communicating with the plurality of set-top boxes 410, and update For example, for a high-speed channel switching service, auxiliary information values (PTS-PCR gap values, etc.) according to encoder characteristics of a headend for each channel are stored and updated in a database.
  • auxiliary information values PTS-PCR gap values, etc.
  • the caching data generation module 426 periodically or aperiodically receives auxiliary information from the set-top box 410 and stores it in a database.
  • the caching data extracted as much as the required section is generated and transmitted as a caching response of the set-top box 410 .
  • the caching data generation module 426 When the caching data generation module 426 receives a caching data request for a high-speed channel switching service from the set-top box 410, PCR (Program Clock) in the TS header of the TS packet structure at the current location in the caching information for the channel Reference).
  • the caching data generation module 426 refers to the auxiliary information (PTS-PCR gap value) for the corresponding channel, and the previous time corresponding to the auxiliary information (PTS-PCR gap) value for the corresponding channel based on the PCR of the current location. After extracting an appropriate amount of information including the section and generating it as caching data, it is transmitted to the set-top box 410.
  • the auxiliary information database checks the most recently updated value (eg, a value corresponding to the PTS-PCR gap) among previously stored auxiliary information for the corresponding channel, and generates caching data based on this auxiliary information.
  • the caching data generation module 426 finds the PCR closest to the current position in order to find the previous time position corresponding to the auxiliary information (eg, PTS-PCR gap value) from the current position, and based on the PCR value Check the position corresponding to the previous time as much as the auxiliary information (eg, PTS-PCR gap) value, and the nearest RAI (Random Access Indicator) position (FIG. 6b) from the position or the first RAI (Random Access Indicator) in the previous time direction ) to find the location (Fig. 6a).
  • the caching data generation module 426 extracts data from the I-frame (Intra Frame) position indicated by the RAI found in this way to the current position and transmits it to the set-top box 410 as caching data so that the high-speed channel switching is performed.
  • FIG. 5 is a diagram showing a structure for providing caching data using auxiliary information extracted by itself from the caching server according to the second embodiment.
  • the caching server 520 descrambles the scrambled stream by using the received key value, obtains auxiliary information (eg, PTS-PCR gap value) from the descrambled stream data, and converts it into a DB and save it
  • auxiliary information eg, PTS-PCR gap value
  • the caching server 520 Since it takes time until the caching server 520 calculates the PTS-PCR gap value information after receiving the switch channel information, the auxiliary information (eg, the PTS-PCR gap value) is periodically/ It is obtained non-periodically and converted into DB.
  • the auxiliary information eg, the PTS-PCR gap value
  • the caching server 520 does not DB and store PTS-PCR gap value information using the key values received for all streams, but key values received for some streams among all streams (eg, 1 hour).
  • the auxiliary information eg, PTS-PCR gap value
  • PTS-PCR gap value can be obtained by using the key value corresponding to the 1-second section once in a DB, and stored.
  • the caching server 520 uses the auxiliary information stored in DB to generate caching data.
  • the caching server 520 by itself obtains auxiliary information after the CAS release, compares it with pre-stored auxiliary information, and updates it.
  • the caching server 520 holds auxiliary information in which CAS (Conditional Access System) is released for all service channels in advance (regular/irregular update is implemented).
  • CAS Consumer Access System
  • the caching server 520 receives a caching data request, it checks the auxiliary information for the corresponding channel, extracts the necessary section based on this, and generates the caching data.
  • the CAS release key receiving unit 522 receives a CAS release key value from an external server.
  • the caching server 520 always internally retains the CAS release key, and may release the CAS using this.
  • the CAS release unit 524 receives a scrambled stream to which a CAS (Conditional Access System) is applied from the media service network.
  • the CAS release unit 524 descrambles the stream using the CAS release key value.
  • the auxiliary information extraction unit 526 extracts auxiliary information from the descrambled information.
  • the auxiliary information extraction unit 526 extracts stream information such as PCR, PTS (Presentation Time Stamp), and PSI (Program Specific Information)) from the TS header and payload in the TS packet structure in the stream, and based on this, Create auxiliary information suitable for purpose.
  • stream information such as PCR, PTS (Presentation Time Stamp), and PSI (Program Specific Information)
  • the auxiliary information update control unit 527 periodically or aperiodically receives auxiliary information, converts it into a database, and stores it in the auxiliary information DB 528 .
  • the auxiliary information update control unit 527 periodically (eg, once a day) receives auxiliary information from the auxiliary information extraction unit 526 and compares the newly received auxiliary information with pre-stored information.
  • the auxiliary information update control unit 527 updates pre-stored information with newly received auxiliary information when non-identical values exist in the auxiliary information. When the newly received auxiliary information and the previously stored information have the same value, the auxiliary information update control unit 527 does not update the previously stored information.
  • the auxiliary information update control unit 527 requests to retransmit auxiliary information to the auxiliary information extraction unit 526 aperiodically. Thereafter, the auxiliary information update control unit 527 receives auxiliary information aperiodically from the auxiliary information extraction unit 526, and when there is a non-identical value between the newly received auxiliary information and the pre-stored information, the previously stored information is newly received. Update with ancillary information.
  • the auxiliary information update control unit 527 stores auxiliary information for each channel regardless of the number of communication set-top boxes 510 even if there are a plurality (eg, 200) of channels communicating with the plurality of set-top boxes 510, and update For example, for a high-speed channel switching service, auxiliary information values (PTS-PCR gap values, etc.) according to encoder characteristics of a headend for each channel are stored and updated in a database.
  • auxiliary information values PTS-PCR gap values, etc.
  • the caching server 520 sets the initial value of the auxiliary information database appropriately to enable efficient response at the beginning of the service. For example, in the case of a high-speed channel switching service, the caching server 520 may be set to an appropriate value such as an initial value of the auxiliary information database, 1xGOP length value, 0.5xGOP length value. In addition, the caching server 520 may set the initial value of the auxiliary information database as an auxiliary information value for each channel investigated in advance, and use it without updating or updating only when necessary.
  • the caching data generation module 529 When there is a caching data request from the set-top box 510, the caching data generation module 529 generates caching data extracted as much as a necessary section based on pre-stored auxiliary information and transmits it as a caching response of the set-top box 510.
  • the caching data generation module 529 When the caching data generation module 529 receives a caching data request for a high-speed channel switching service from the set-top box 510, the current location is determined using a PCR (Program Clock Reference) in the TS header of the TS packet structure in the caching information. Check, and check the PTS-PCR gap value from the auxiliary information for the corresponding channel. Thereafter, the caching data generation module 529 extracts an appropriate amount of information including a section corresponding to the PTS-PCR gap value from the current location to the previous time direction, generates it as caching data, and transmits it to the set-top box 510 .
  • PCR Program Clock Reference
  • the caching data generation module 529 receives the switch channel information from the set-top box 510, the most recently updated value (eg, corresponding to the PTS-PCR gap) among the auxiliary information pre-stored for the corresponding channel in the auxiliary information database. value) and create caching data based on this auxiliary information.
  • the most recently updated value eg, corresponding to the PTS-PCR gap
  • the caching data generation module 529 finds a PCR closest to the current position in order to find a previous time position corresponding to the auxiliary information (eg, PTS-PCR gap value) from the current position, and assists based on the PCR Check the position corresponding to the previous time as much as the information (eg, PTS-PCR gap value) value, and the nearest RAI (Random Access Indicator) position (FIG. 6b) from the position or the first RAI (Random Access Indicator) in the previous time direction ) to find the location (Fig. 6a).
  • the caching data generation module 529 extracts data from the I-frame (Intra Frame) position indicated by RAI to the current position and transmits it to the set-top box 510 as caching data to achieve high-speed channel switching.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)

Abstract

캐싱 데이터 제공 방법 및 시스템을 개시한다. 본 실시예는 캐싱 서버에서 스트림에 CAS(Conditional Access System)가 적용되어 스크램블된 값들로 인해 TS 패킷의 페이로드 확인이 불가능할 때, 셋탑 박스로부터 주기적 또는 비주기적으로 미리 수신된 보조 정보 또는 서버 자체적으로 미리 추출한 보조 정보를 기반으로, 스크램블링된 서비스 스트림에 대하여 디스크램블링 과정 없이 필요한 구간만큼을 추출한 캐싱 데이터를 생성하여 제공하도록 하는 캐싱 데이터 제공 방법 및 시스템을 제공한다.

Description

캐싱 데이터 제공 방법 및 시스템
본 발명의 일 실시예는 캐싱 데이터 제공 방법 및 시스템에 관한 것이다.
이하에 기술되는 내용은 단순히 본 실시예와 관련되는 배경 정보만을 제공할 뿐 종래기술을 구성하는 것이 아니다.
일반적인 디지털 케이블방송 네트워크는 크게 지역 케이블 방송국과 가입자 측을 케이블 네트워크가 연결하고 있는 구조로 이루어져 있다.
가입자 측의 장비는 케이블 모뎀과 MPEG(Moving Picture Experts Group) 디코더를 포함하는 셋탑 박스와 TV 등을 포함한다. 지역 케이블 방송국은 방송 채널 정보를 송신하는 SI(System Information) 서버, CA(Certificate Authority) 서버, CMTS(Cable Modem Termination System), 디지털 방송 서버, 방송용 헤드엔드 등의 장치를 포함한다.
디지털 케이블 방송 네트워크를 이용하여 사용자가 채널을 변경하는 방법은 다음과 같다.
셋탑 박스는 사용자가 원하는 음성과 영상을 시청하기 위하여 사용자가 채널을 먼저 선택한다. 셋탑 박스는 사용자가 선택한 채널의 주파수, 음성 및 영상에 해당하는 PID(Packet Identifier)를 헤드엔드에서 전송하는 PAT(Program Association Table), PMT(Program Map Table)를 파싱해서 알아낸다. 셋탑 박스는 PID를 획득한 후 방송용 헤드엔드에서 전송되는 방송 데이터 중 획득된 PID와 일치하는 데이터만을 디코딩하여 사용자에게 디스플레이한다.
셋탑 박스는 입력받은 채널에 대응하는 주파수 혹은 주소를 헤드엔드에서 전송하는 SI(System Information) 데이터베이스를 이용하여 검색한다. 셋탑 박스는 검색된 주파수/주소로 튜닝/Join을 수행한 후 튜닝/Join된 주파수/주소를 이용하여 수신되는 데이터 중 PAT와 PMT 정보를 필터링한다.
셋탑 박스는 필터링한 PAT와 PMT를 파싱하여 PAT와 PMT에 포함되어 있는 PID를 추출한다. 셋탑 박스는 PID를 포함하는 데이터만을 MPEG 디코더를 이용하여 디코딩한 후 디스플레이한다.
채널을 변경하기 위하여 셋탑 박스는 채널 변경 요청받은 채널에 따른 주파수/주소를 검색한 후 튜닝/Join 과정, PAT와 PMT의 필터링 및 파싱 과정을 모두 수행하여야 하므로 채널 변환까지 소요되는 시간이 길어지는 문제가 있다.
또한 서비스에 CAS(Conditional Access System)가 적용되어 서비스 스트림이 스크램블링 되어 있는 경우, 특정 정보를 이용한 서비스를 디스크램블링 이전에는 이용할 수 없는 경우도 발생한다.
본 실시예는 캐싱 서버에서 스트림에 CAS(Conditional Access System)가 적용되어 스크램블된 값들로 인해 TS 패킷의 페이로드 확인이 불가능할 때, 셋탑 박스로부터 주기적 또는 비주기적으로 미리 수신된 보조 정보 또는 서버 자체적으로 미리 추출한 보조 정보를 기반으로, 스크램블링된 서비스 스트림에 대하여 디스크램블링 과정 없이 필요한 구간만큼을 추출한 캐싱 데이터를 생성하여 제공하도록 하는 캐싱 데이터 제공 방법 및 시스템을 제공하는 데 목적이 있다.
본 실시예의 일 측면에 의하면, 미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신하고, 상기 스트림을 디스크램블(Descramble)하여 보조 정보를 생성하고, 상기 보조 정보를 주기적 또는 비주기적으로 전송하는 셋탑 박스(STB); 및 상기 셋탑 박스로부터 상기 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 저장하다가 상기 셋탑 박스로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 상기 보조 정보 값을 참조하여 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 상기 셋탑 박스의 캐싱 데이터 응답으로 전송하는 캐싱 서버;를 포함하는 것을 특징으로 하는 캐싱 데이터 제공 시스템을 제공한다.
본 실시예의 다른 측면에 의하면, 외부서버로부터 CAS 해제 키값을 수신하는 CAS 해제키 수신부; 미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신하고, 상기 CAS 해제 키값을 이용하여 상기 스트림을 디스크램블(Descramble)하는 CAS 해제부; 상기 디스크램블한 정보로부터 보조 정보를 추출하는 보조 정보 추출부; 상기 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 보조 정보 DB에 저장하는 보조정보 업데이트 제어부; 및 상기 셋탑 박스로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 상기 보조 정보를 참조하여 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 상기 셋탑 박스의 캐싱 데이터 요청에 대한 응답으로 전송하는 캐싱 데이터 생성모듈을 포함하는 것을 특징으로 하는 캐싱 서버를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 캐싱 서버에서 스트림에 CAS의 스크램블된 값들로 인해 TS 패킷의 페이로드 확인이 불가능할 때, 셋탑 박스로부터 주기적 또는 비주기적으로 수신된 보조 정보 또는 서버 자체적으로 사전에 추출한 보조 정보를 기반으로, 캐싱 데이터 생성시 서비스 스트림에 대한 디스크램블링 과정 없이 필요한 구간만큼을 추출한 캐싱 데이터를 생성하여 제공할 수 있는 효과가 있다.
본 실시예에 의하면, 캐싱 서버가 CAS가 해제된 정보를 테이블화하여 저장하고 있으므로, 서버측 입장에서 계산 복잡도를 줄일 수 있고, CAS가 설정된 정보를 처리할 수 있는 효과가 있다.
도 1은 캐싱 서버를 이용하여 스트림 서비스를 제공하는 구조를 나타낸 도면이다.
도 2는 캐싱 서버를 이용하여 고속 채널 전환 서비스를 제공하는 구조를 나타낸 도면이다.
도 3은 스트림 서비스를 제공하는 캐싱 서버와 셋탑 박스를 나타낸 도면이다.
도 4는 제1 실시예에 따른 셋탑 박스에서 추출한 보조 정보를 이용하여 캐싱 데이터를 제공하는 구조를 나타낸 도면이다.
도 5는 제2 실시예에 따른 캐싱 서버에서 자체적으로 추출한 보조 정보를 이용하여 캐싱 데이터를 제공하는 구조를 나타낸 도면이다.
도 6a는 캐싱 서버에서 셋탑박스에서 수신한 보조 정보를 이용하여 캐싱 데이터를 추출하는 방법을 나타낸 예시 도면이다.
도 6b는 캐싱 서버에서 직접 CAS 해제 후 추출한 보조 정보를 이용하여 캐싱 데이터를 추출하는 방법을 나타낸 예시 도면이다.
<도면의 주요부분에 대한 부호의 설명>
110, 210, 310, 410, 510: 셋탑 박스
120, 220, 320, 420, 520: 캐싱 서버
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 캐싱 서버를 이용하여 스트림 서비스를 제공하는 구조를 나타낸 도면이다.
셋탑 박스(110)는 미디어 서비스 네트워크로부터 서비스 스트림을 수신하여 출력한다. 셋탑 박스(110)는 캐싱 클라이언트와 응용 시스템을 포함한다. 셋탑 박스(110)는 응용 시스템을 이용하여 서비스 스트림을 수신한다. 셋탑 박스(110)는 캐싱 클라이언트를 이용하여 캐싱 서버(120)로 캐싱 데이터 리퀘스트(Request)를 전송하고, 리퀘스트(Request)에 대응하는 리스폰스(Response)를 수신한다.
셋탑 박스(110)는 고속으로 데이터를 처리하거나 복구하기 위해서 여유 시간 내에 캐싱 서버(120)로부터 수신된 정보를 이용하여 기 저장된 정보를 대체하여 사용한다.
셋탑 박스(110)는 미디어 서비스 네트워크로부터 서비스 스트림을 수신하다가 리모컨으로부터 채널 전환 신호(1번 채널 → 2번 채널)를 입력받는다. 셋탑 박스(110)는 채널 전환 신호에 대응하는 전환 채널 주소 정보(2번 채널)를 미디어 서비스 네트워크로 요청한 후 미디어 서비스 네트워크로부터 전환 채널 주소 정보에 대응하는 전환 채널 스트림 데이터(2번 채널)를 수신한다. 예를 들어서, 일반적으로 셋탑 박스(110)는 채널 전환 신호(1번 채널 → 2번 채널)를 입력받고, 채널 전환 신호(2번 채널)에 대응하는 서비스 스트림 중 첫번째 출력 프레임(일반적으로 I 프레임(Intra Frame))을 출력하는데 까지 대략 2.5초 정도 소요된다.
도 2는 캐싱 서버를 이용하여 고속 채널 전환 서비스를 제공하는 구조를 나타낸 도면이다.
셋탑 박스(210)는 리모컨으로부터 채널 전환 신호(1번 채널 → 2번 채널)를 입력받으면, 고속 채널 전환을 위해 채널 전환 신호(2번 채널)에 대응하는 추가 특징 정보(인덱스, 예를들면 최초 수신되는 전환 채널(2번 채널) 스트림의 일부 혹은 특징값)를 추출한다. 셋탑 박스(210)는 채널 전환 신호에 대응하는 전환 채널 정보(2번 채널)와 함께 추가 특징 정보(인덱스)를 캐싱 서버(220)로 전송한다.
캐싱 서버(220)는 서비스 공급망 또는 미디어 서비스 네트워크로 캐싱 서비스를 제공할 서비스 채널 주소들을 요청한 후 서비스 공급망 또는 미디어 서비스 네트워크로부터 서비스 채널 주소들에 대응하는 스트림 데이터들을 수신하여 기 설정된 시간(예컨대, 3초) 분량만큼 각 채널들을 캐싱하고 있다.
캐싱 서버(220)는 셋탑 박스(210)로부터 수신된 전환 채널 정보(2번 채널)와 추가 특징 정보(인덱스)를 이용하여, 캐싱하고 있는 각 채널에 대한 캐싱 정보로부터, 셋탑 박스(210)로부터 수신된 전환 채널(2번 채널)에 대한 캐싱 정보를 확인하고, 이 캐싱 정보에서 추가 특징 정보(인덱스)와 매칭되는 위치를 찾아 현재 위치로 확정한 후, 이로부터 특정 위치에 해당하는 캐싱 스트림 데이터를 추출하여 셋탑 박스(210)로 전송한다.
캐싱 서버(220)는 캐싱하고 있는 각 채널에 대한 캐싱 정보로부터 전환 채널(2번 채널)에 대한 캐싱 정보를 확인하고, 이 캐싱 정보에서 추가 특징 정보(인덱스)와 매칭되는 현재 위치로부터 특정 위치에 해당하는 캐싱 스트림 데이터를 셋탑 박스(210)로 전송하므로 고속으로 채널이 전환되도록 한다.
도 3은 스트림 서비스를 제공하는 캐싱 서버와 셋탑 박스를 나타낸 도면이며 CAS가 적용 되어 있지 않거나 일부에만 부분적으로 적용되어 있는 경우의 스트림에 대한 캐싱 서비스 처리 구조이다.
캐싱 서버(320)는 MLR(Media Los Recovery), 고속 채널 전환 등을 수행할 때, 수신된 스트림의 PTS(Presentation Time Stamp)-PCR(Program Clock Reference) 갭 값 등, 캐싱 데이터 생성에 필요한 값을 보조 정보로 산출한 후 해당값을 이용하여 캐싱 데이터의 범위를 결정하거나, 스트림 내의 PCR, PTS 등의 값을 조정할 수 있다.
다시 말해, 캐싱 서버(320)는 서비스 채널 주소에 대응하는 스트림 데이터를 수신하여 기 설정된 시간 분량만큼 캐싱하고, 캐싱되고 있는 캐싱 정보로부터 추가 특징 정보(인덱스)에 매칭되는 위치를 찾아 현재 위치로 설정하고, 보조 정보에 기반하여 현재 위치로부터 특정 위치 혹은 범위를 결정하거나, 해당 위치 혹은 범위에 존재하는 스트림 내의 PCR, PTS등의 값을 조정한다.
캐싱 서버(320)는 수신하는 스트림에 CAS(Conditional Access System)가 일부에만 부분적으로 걸려 있는 경우, CAS가 걸려 있지 않은 부분을 이용하여 보조 정보를 취득하면 된다. 캐싱 서버(320)는 수신하는 스트림 전체에 CAS가 걸려 있는 경우, CAS를 디스크램블(Descramble)할 수 있는 키 값을 수신한 후 디스크램블 알고리즘을 수행해야 CAS를 해제할 수 있다. 이때, CAS를 디스크램블(Descramble)할 수 있는 키 값은 일반적으로 3rd 파티 서버에는 저장되지 않고, 클라이언트 단말기 또는 셋탑 박스(310) 내에만 저장된다. 따라서, 서버에서는 키값 없이 수신하는 스트림의 CAS를 해제할 수 없으므로, PTS-PCR 갭 값 등의 보조 정보를 산출하기 어렵다.
캐싱 서버(320)는 고속 채널 전환을 위해 특정 범위(예를 들면, α 혹은 1GOP(Group Of Pictures) + α, 혹은 2GOP(Group Of Pictures) + α)까지를 캐싱 스트림 데이터로 추출한다. 전환 채널에 대한 캐싱 정보로부터 현재 위치를 확정하고, 이로부터 가장 가까운 I frame까지를 α라 가정하면, α에서 추가적인 1개의 GOP(Group Of Pictures)까지를 1GOP + α, α에서 추가적인 2개의 GOP(Group Of Pictures)까지를 2GOP + α 등으로 정의한다. 캐싱 서버(320)는 전환 채널 캐싱 정보에서, 보조 정보에 기반하여 α 혹은 1GOP + α 혹은 2GOP + α 등의 캐싱 데이터 범위를 결정하고, 이를 캐싱 데이터로 추출하여 셋탑 박스(310)로 전송한다. 스트림 내의 TS 패킷 구조 내의 TS 헤더에 4 바이트(Bytes)가 할당되고, 페이로드(Payload)에 184 바이트가 할당된다.
캐싱 서버(320)는 인덱스를 이용하는 경우, 스트림 내의 TS 패킷 구조 중 인덱스에 대응되는 위치(현재 위치)를 찾은 다음에, 해당 위치 앞에 존재하는 RAI(Random Access Indicator)를 찾는다. 이후 캐싱 서버(320)는 검색된 RAI 앞에 위치하는 첫 번째 RAI 위치, 두 번째 RAI 위치 등을 찾을 수 있다. 캐싱 서버(320)는 첫 번째 RAI 위치와 두 번째 RAI 위치 등을 검색하는 경우 불필요한 구간을 많이 포함하게 될 수 있으므로,보조 정보에 기반하여 최적의 캐싱 데이터 범위를 결정하여야 한다..
캐싱 서버(320)는 스트림에 CAS가 설정되어 있으면, 스크램블링 되어 있는 페이로드에 포함되어 있는 PTS 등의 값을 얻을 수 없어, PTS-PCR 갭 등의 보조 정보를 산출할 수 없다. PCR은 TS 패킷 구조의 TS 헤더에 존재한다. PTS는 TS 패킷 구조의 페이로드에 존재한다. 여기서, PTS는 비디오 PTS와 오디오 PTS가 별도로 존재하는 데 페이로드에 할당된 184 바이트 내에 존재한다.
캐싱 서버(320)는 PTS를 확인하기 위해서 페이로드를 확인해야 하나, 페이로드에는 CAS가 적용되어 스크램블 되어 있어서 페이로드 확인이 불가능하다.
이러한 경우 도 4에서와 같이, 미리 셋탑박스(410)로부터 주기적/비주기적으로 캐싱 데이터 생성에 필요한 정보를 보조 정보로서 수신하여 데이터베이스화 하였다가, 캐싱 데이터 생성시 필요한 값을 참조하거나, 도 5에서와 같이, 미리 캐싱 서버(520) 내 보조 정보 추출부(526)로부터 주기적/비주기적으로 캐싱 데이터 생성에 필요한 정보를 보조 정보로서 획득하여 데이터베이스화 하였다가, 캐싱 데이터 생성시 필요한 값을 참조하도록 할 수 있다.
캐싱 서버(320)는 PCR과 비디오 PTS의 갭과 PCR과 오디오 PTS의 갭 중 더 먼쪽의 갭 값을 보조 정보로 설정할 수 있다.
캐싱 서버(320)는 셋탑 박스(310)로부터 전환 채널 정보를 수신하기 전부터 복수의 셋탑 박스(310)와 통신하는 복수의 채널 모두에 대해서 상시적으로 캐싱을 수행하고 있다. 캐싱 서버(320)는 상시적으로 전체 서비스 채널에 대하여 캐싱을 수행하고, 이들 캐싱 정보 중, 전환 채널 정보에 대응하는 채널 캐싱 정보에 대하여 보조 정보를 기반으로하여 결정되는 적정구간만큼 추출한 캐싱 데이터를 생성하여 셋탑 박스(310)로 전송한다.
셋탑 박스(310)는 채널 전환 후 수신한 정상 서비스 스트림 데이터 앞부분에, 캐싱 서버로부터 수신한 캐싱 데이터를 붙인다. 셋탑 박스(310)는 채널 전환 후 수신한 초기 데이터를 인덱스로 전송한 후 인덱스의 앞부분에 해당하는 캐싱 데이터를 수신하였으므로, 캐싱 데이터를 앞부분에 추가한다. 셋탑 박스(310)는 캐싱 데이터를 앞부분에 추가한 데이터를 이용하여 채널을 빠르게 전환한다.
도 4는 제1 실시예에 따른 셋탑 박스에서 추출한 보조 정보를 이용하여 캐싱 데이터를 제공하는 구조를 나타낸 도면이다.
셋탑 박스(410)는 주기적(예컨대, 하루에 한번) 또는 비주기적으로 캐싱 서버(420)로 보조 정보를 전송하여 캐싱 서버(420)에서 보조정보 테이블을 형성하도록 한다. 셋탑 박스(410)는 스트림을 수신하여 디코딩한 후 화면에 영상을 출력하므로, 스트림에 설정된 CAS를 디스크램블한 상태이므로 TS 패킷 구조의 페이로드에 존재하는 비디오 PTS와 오디오 PTS 등을 확인할 수 있다.
다시 말해, 셋탑 박스(410)는 스트림에 설정된 CAS를 디스크램블한 상태로 서비스 화면을 출력하므로, TS 패킷 구조의 TS 헤더에 존재하는 PCR을 확인하고, TS 패킷 구조의 페이로드의 CAS를 디스크램블하여 페이로드에 존재하는 비디오 PTS와 오디오 PTS 등 보조 정보 생성에 필요한 정보를 확인한다.
예를 들면, 셋탑 박스(410)는 페이로드에 존재하는 비디오 PTS와 오디오 PTS 각각을 이용하여 비디오 PTS-PCR 갭 값 및 오디오 PTS-PCR 갭 값 중 큰 값을 보조 정보로 하여 주기적 또는 비주기적으로 캐싱 서버(420)로 전송한다. 캐싱 서버(420)는 셋탑 박스(410)로부터 보조 정보를 주기적 또는 비주기적으로 수신한 후 내부 DB에 저장한다. 캐싱 서버(420)는 전환 채널에 대한 보조 정보를 필요 시 내부 DB로부터 확인할 수 있다.
여기서, 셋탑 박스(410)는 특정 시점에서의 PCR과 그 때의 비디오 PTS의 갭 값과 특정 시점에서의 PCR과 그 때의 오디오 PTS의 갭 값을 얻은 후, 그 중 큰 값을 보조 정보로 캐싱 서버(420)로 전송할 수 있다. 다시 말해, 셋탑 박스(410)는 특정 시점에 PCR과 비디오 PTS의 갭을 확인하고, PCR과 오디오 PTS의 갭을 확인하여 보조 정보를 생성 후 캐싱 서버로 전송한다. 셋탑 박스(410)는 이러한 방식으로 셋탑박스에서 얻을 수 있는 다양한 보조 정보를 주기적 또는 비주기적으로 캐싱 서버(420)로 전송하여 캐싱 서버(420)가 일종의 테이블을 형성하도록 한다.
캐싱 서버(420)는 셋탑 박스(410)로부터 전환 채널 정보를 수신하면, DB에서 해당 채널에 대하여 가장 최근에 업데이트된 보조 정보(예, PTS-PCR 갭 값)를 확인하고, 해당 채널의 캐싱 정보의 현재 위치로부터 PTS-PCR 갭 값에 대응하는 위치를 찾아가기 위해, TS 패킷 구조의 TS 헤더에 존재하는 현재 위치의 PCR을 확인하고, 그 PCR을 기준으로, 해당 채널에 대한 보조 정보인 PTS-PCR 갭 값만큼 이전 시간 방향에 대응하는 위치를 찾아간다.
캐싱 서버(420)는 현재 위치 PCR 기준으로 PTS-PCR 갭 값(보조 정보)에 대응하는 이전 시간 위치에서 적절한 위치(예를들면, 이전 시간 방향으로 가장 가까운 위치(도 6a) 혹은 방향에 관계 없이 가장 가까운 위치(도 6b) 등)의 RAI(Random Access Indicator)을 찾고, RAI로 표시된 I 프레임(Intra Frame)부터 현재 위치까지의 데이터를 추출하여 캐싱 데이터로서 셋탑 박스(410)로 전송하여 고속 채널 전환이 이루어지도록 한다.
캐싱 서버(420)는 복수의 셋탑 박스(410)와 통신하는 채널이 복수 개(예컨대, 200개)가 존재하더라도 통신하는 셋탑 박스(410)의 개수와 무관하게 채널별로 보조 정보를 데이터베이스, 테이블 등과 같은 형태로 저장한다. 예를 들면, 고속 채널 전환 서비스를 위해서는 채널별 헤드엔드의 인코더 특성에 따른 PTS-PCR의 갭 값 정보를 보조 정보값 테이블 형태로 저장한다.
캐싱 서버(420)는 주기적(예컨대, 하루에 한번) 또는 비주기적으로 셋탑 박스(410)로부터 보조 정보를 수신한다. 캐싱 서버(420)는 수신된 보조 정보가 DB에 기 저장된 정보와 동일한 경우 DB에 기 저장된 정보에 대한 업데이트를 미수행한다. 캐싱 서버(420)는 수신된 보조 정보가 DB에 기 저장된 정보와 비동일한 경우 DB에 기 저장된 정보에 대한 업데이트를 수행한다.
캐싱 서버(420)는 스트림에 CAS의 스크램블된 값들로 인해 TS 패킷의 페이로드 확인이 불가능할 때, 셋탑 박스(410)로부터 주기적 또는 비주기적으로 수신된 보조 정보를 기반으로 필요한 구간만큼 추출한 캐싱 데이터를 생성한다.
예컨대, 고속 채널 전환 서비스일 경우, 캐싱 서버(420)는 셋탑 박스(410)로부터 전환 채널 정보를 수신하면, 해당 전환 채널에 대한 보조 정보인 PTS-PCR의 갭 값을 내부 데이터베이스로부터 확인한 후, 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 셋탑 박스(410)로 전송하거나, 기타 다른 목적으로 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 셋탑 박스(410)로 전송한다.
셋탑 박스(410)는 채널별 보조 정보(예, PTS-PCR 갭 값 정보)를 주기적 또는 비주기적으로 캐싱 서버(420)에 업데이트한다. 캐싱 서버(420)는 셋탑 박스(410)로부터 수신된 채널별 보조 정보(예, PTS-PCR 갭 값 정보)를 DB화해서 저장한다. 캐싱 서버(420)는 DB화해서 저장된 정보를 캐싱 데이터를 생성할 때 이용한다. 캐싱 서버(420)는 셋탑 박스(410)로부터 수신된 보조 정보를 기 저장된 정보와 비교해서 업데이트한다.
캐싱 서버(420)는 캐싱 데이터 생성을 보조하는 보조 정보를 셋탑 박스(410)로부터 수신한 후 보유한다. 캐싱 서버(420)는 주기적으로 셋탑 박스(410)로부터 보조 정보를 업데이트 받는다. 캐싱 서버(420)는 주기적/비주기적으로 셋탑 박스(410)로 보조 정보의 업데이트를 요청할 수도 있다. 셋탑 박스(410)는 캐싱 데이터를 수신하여 처리할 때, 캐싱 데이터의 길이 혹은 내용 등이 부적절하다고 판단되는 경우, 해당 채널에 대한 보조 정보를 다시 구하여, 캐싱 서버(420)로 전송하고, 캐싱 서버(420)는 이 값에 대한 업데이트를 수행한다.
캐싱 서버(420)는 캐싱 데이터를 생성하기 위한 보조 정보(예컨대, 고속 채널 전환 서비스일 경우, PTS-PCR의 갭 값)를 셋탑 박스(410)로부터 주기적(예컨대, 1시간에 1번) 또는 비주기적(예컨대, 셋탑 박스에서 캐싱 데이터가 부적절하다고 판단되는 경우)으로 수신하여 저장하고 있다가, 이 값을 기반으로 필요한 구간만큼 추출한 캐싱 데이터를 생성한다.
캐싱 서버(420)는 보조 정보 데이터베이스의 초기값을 적절히 설정하여 서비스 초기에 효율적인 대응이 가능하도록 한다. 예컨대, 고속 채널 전환 서비스일 경우, 캐싱 서버(420)는 보조 정보 데이터베이스의 초기값으로, 1xGOP 길이값, 0.5xGOP 길이값 등 적절한 값으로 설정할 수 있다. 또한, 캐싱 서버(420)는 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정하고, 이를 업데이트 없이 사용하거나, 필요 시에만 업데이트하여 사용할 수도 있다.
시청 채널 요청/수신부(412)는 미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신한다.
보조 정보 추출부(414)는 스트림을 디스크램블(Descramble)하여 보조 정보를 생성한다. 보조 정보 추출부(414)는 스트림 내의 스크램블(Scramble)된 부분을 디스크램블(Descramble)하여 PTS(Presentation Time Stamp), PSI(Program Specific Information) 등의 스트림 정보를 추출하고, 이를 기반으로 목적에 맞는 보조 정보를 생성한다. 보조 정보 송신부(416)는 보조 정보를 주기적 또는 비주기적으로 캐싱 서버(420)로 전송한다.
보조정보 업데이트 제어부(422)는 셋탑 박스(410)로부터 보조 정보를 수신하여 보조 정보 DB(424)에 저장한다. 이후 보조정보 업데이트 제어부(422)는 새로 수신한 보조 정보와 기 저장된 보조 정보를 비교한다.
보조정보 업데이트 제어부(422)는 새로 수신한 보조 정보와 기 저장된 보조 정보가 비동일한 값일 경우 기 저장된 정보를 새로 수신한 보조 정보로 업데이트한다. 보조정보 업데이트 제어부(422)는 새로 수신한 보조 정보와 기 저장된 보조 정보가 동일한 값일 경우 기 저장된 정보에 대한 업데이트를 미수행한다.
셋탑 박스(410)가 캐싱 서버로부터 수신한 캐싱 데이터가 적절한 캐싱 데이터가 아닐 경우, 비주기적으로 셋탑 박스(410)가 보조 정보를 다시 추출하여 캐싱 서버로 전송한다. 이후 보조정보 업데이트 제어부(422)는 셋탑 박스(410)로부터 비주기적인 보조 정보를 수신한 후 수신된 보조 정보와 기 저장된 정보 간에 비동일한 값이 존재하는 경우에 기 저장된 정보를 수신한 보조 정보로 업데이트한다.
보조정보 업데이트 제어부(422)는 복수의 셋탑 박스(410)와 통신하는 채널이 복수 개(예컨대, 200개)가 존재하더라도 통신하는 셋탑 박스(410)의 개수와 무관하게 채널별로 보조 정보를 저장 및 업데이트 한다. 예를 들면, 고속 채널 전환 서비스를 위해서는 채널별 헤드엔드(Headend)의 인코더(Encoder) 특성에 따른 보조 정보값(PTS-PCR 갭 값 등)을 데이터베이스화하여 저장 및 업데이트 한다.
캐싱 데이터 생성모듈(426)은 셋탑 박스(410)로부터 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 저장하다가 셋탑 박스(410)로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 보조 정보 값을 확인하여 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 셋탑 박스(410)의 캐싱 응답으로 전송한다.
캐싱 데이터 생성모듈(426)은 셋탑 박스(410)로부터 고속 채널 전환 서비스 에 대한 캐싱 데이터 요청을 수신한 경우, 해당 채널에 대한 캐싱 정보 내의 현재 위치에서의 TS 패킷 구조의 TS 헤더 내의 PCR(Program Clock Reference)을 확인한다. 캐싱 데이터 생성모듈(426)은 해당 채널에 대한 보조 정보(PTS-PCR 갭 값)를 참조하여, 현재 위치의 PCR을 기준으로 해당 채널에 대한 보조 정보(PTS-PCR 갭) 값에 해당하는 이전 시간 구간을 포함하는 적절한 만큼의 정보를 추출하여 캐싱 데이터로 생성한 후 셋탑 박스(410)로 전송한다.캐싱 데이터 생성모듈(426)은 셋탑 박스(410)로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 값(예, PTS-PCR 갭에 해당하는 값)을 확인하고, 이 보조 정보를 기반으로 캐싱 데이터를 생성한다.
캐싱 데이터 생성모듈(426)은 현재 위치로부터 보조 정보(예, PTS-PCR 갭 값)에 해당하는 만큼의 이전 시간 위치를 찾아가기 위해, 현재 위치에서 가장 가까운 PCR을 찾고, 그 PCR값을 기준으로 보조 정보(예, PTS-PCR 갭)값 만큼 이전 시간에 해당하는 위치를 확인하고, 그 위치로부터 가장 가까운 RAI(Random Access Indicator) 위치(도 6b) 혹은 이전 시간 방향으로 첫 번째 RAI(Random Access Indicator) 위치(도 6a)를 찾는다. 캐싱 데이터 생성모듈(426)은 이렇게 찾은 RAI로 표시된 I 프레임(Intra Frame) 위치로부터 현재 위치까지의 데이터를을 추출하여 캐싱 데이터로서 셋탑 박스(410)로 전송하여 고속 채널 전환이 이루어지도록 한다.
도 5는 제2 실시예에 따른 캐싱 서버에서 자체적으로 추출한 보조 정보를 이용하여 캐싱 데이터를 제공하는 구조를 나타낸 도면이다.
제2 실시예에 따른 캐싱 서버(520)는 수신된 키 값을 이용하여 스크램블된 스트림을 디스크램블하고, 이 디스크램블된 스트림 데이터로부터 보조 정보(예, PTS-PCR 갭 값)를 구하고 이를 DB화해서 저장한다.
캐싱 서버(520)는 전환 채널 정보를 수신한 후 PTS-PCR 갭 값 정보를 계산하기까지 시간이 소요되므로, 평소에 전 채널에 대하여 백그라운드에서 보조 정보(예, PTS-PCR 갭 값)를 주기적/비주기적으로 얻어 DB화 한다.
기본적으로 캐싱 서버(520)는 모든 스트림에 대해서 수신된 키 값을 이용하여 PTS-PCR 갭 값 정보를 DB화해서 저장하는 것이 아니라, 전체 스트림 중 일부 스트림에 대해서 수신된 키 값(예컨대, 1시간에 한번 1초 구간에 해당하는 키값)을 이용하여 보조 정보(예, PTS-PCR 갭 값)를 구하여 이를 DB화해서 저장할 수 있다.
캐싱 서버(520)는 DB화해서 저장된 보조 정보를 캐싱 데이터를 생성할 때 이용한다. 캐싱 서버(520)는 자체적으로 CAS 해제 후에 보조 정보를 구하여 기 저장된 보조 정보와 비교해서 업데이트한다.
캐싱 서버(520)는 미리 전 서비스 채널에 대하여 CAS(Conditional Access System)를 해제한 보조 정보를 보유(정기/비정기 업데이트 시행)한다. 캐싱 서버(520)는 캐싱 데이터 요청을 받으면, 해당 채널에 대한 보조 정보를 확인하고, 이를 기반으로 필요한 구간을 추출하여 캐싱 데이터를 생성한다.
CAS 해제키 수신부(522)는 외부서버로부터 CAS 해제 키값을 수신한다. 물론 캐싱 서버(520)가 CAS 해제 키를 항시 내부 보유하고, 이를 이용하여 CAS를 해제할 수도 있다. CAS 해제부(524)는 미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신한다. CAS 해제부(524)는 CAS 해제 키값을 이용하여 스트림을 디스크램블(Descramble)한다.
보조 정보 추출부(526)는 디스크램블한 정보로부터 보조 정보를 추출한다. 보조 정보 추출부(526)는 스트림 내의 TS 패킷 구조 내의 TS 헤더와 페이로드(Payload)로부터 PCR, PTS(Presentation Time Stamp), PSI(Program Specific Information) ) 등의 스트림 정보를 추출하고, 이를 기반으로 목적에 맞는 보조 정보를 생성한다.
보조정보 업데이트 제어부(527)는 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 보조 정보 DB(528)에 저장한다. 보조정보 업데이트 제어부(527)는 주기적(예컨대, 하루에 한번)으로 보조 정보 추출부(526)로부터 보조 정보를 수신한 후 새로 수신한 보조 정보와 기 저장된 정보를 비교한다.
보조정보 업데이트 제어부(527)는 보조 정보에 비동일한 값이 존재하는 경우 기 저장된 정보를 새로 수신한 보조 정보로 업데이트한다. 보조정보 업데이트 제어부(527)는 새로 수신한 보조 정보와 기 저장된 정보가 동일한 값을 갖는 경우 기 저장된 정보에 대한 업데이트를 미수행한다.
보조정보 업데이트 제어부(527)는, 기 저장된 보조 정보를 이용하여 생성한 캐싱 데이터가 부적절하다고 판단된 경우, 비주기적으로 보조 정보 추출부(526)로 보조 정보를 다시 전송하기를 요청한다. 이후 보조 정보 업데이트 제어부(527)는 보조 정보 추출부(526)로부터 비주기적으로 보조 정보를 수신한 후 새로 수신한 보조 정보와 기 저장된 정보 간에 비동일한 값이 존재하는 경우에 기 저장된 정보를 새로 수신한 보조 정보로 업데이트한다.
보조정보 업데이트 제어부(527)는 복수의 셋탑 박스(510)와 통신하는 채널이 복수 개(예컨대, 200개)가 존재하더라도 통신하는 셋탑 박스(510)의 개수와 무관하게 채널별로 보조 정보를 저장 및 업데이트 한다. 예를 들면, 고속 채널 전환 서비스를 위해서는 채널별 헤드엔드(Headend)의 인코더(Encoder) 특성에 따른 보조 정보값(PTS-PCR 갭 값 등)을 데이터베이스화하여 저장 및 업데이트 한다.
캐싱 서버(520)는 보조 정보 데이터베이스의 초기값을 적절히 설정하여 서비스 초기에 효율적인 대응이 가능하도록 한다. 예컨대, 고속 채널 전환 서비스일 경우, 캐싱 서버(520)는 보조 정보 데이터베이스의 초기값으로, 1xGOP 길이값, 0.5xGOP 길이값 등 적절한 값으로 설정할 수 있다. 또한, 캐싱 서버(520)는 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정하고, 이를 업데이트 없이 사용하거나, 필요 시에만 업데이트하여 사용할 수도 있다.
캐싱 데이터 생성모듈(529)은 셋탑 박스(510)로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 보조 정보 를 기반으로 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 셋탑 박스(510)의 캐싱 응답으로 전송한다.
캐싱 데이터 생성모듈(529)은 셋탑 박스(510)로부터 고속 채널 전환 서비스 에 대한 캐싱 데이터 요청을 수신한 경우, 캐싱 정보 내의 TS 패킷 구조의 TS 헤더 내의 PCR(Program Clock Reference)를 이용하여 현재 위치를 확인하고, 해당 채널에 대한 보조 정보로부터 PTS-PCR 갭 값을 확인한다. 이후 캐싱 데이터 생성모듈(529)은 현재 위치에서 이전 시간 방향으로 PTS-PCR 갭 값에 해당하는 구간을 포함하는 적절한 만큼의 정보를 추출하여 캐싱 데이터로 생성한 후 셋탑 박스(510)로 전송한다.
캐싱 데이터 생성모듈(529)은 셋탑 박스(510)로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 값(예, PTS-PCR 갭에 해당하는 값)을 확인하고, 이 보조 정보를 기반으로 캐싱 데이터를 생성한다.
캐싱 데이터 생성모듈(529)은 현재 위치로부터 보조 정보(예, PTS-PCR 갭 값)에 해당하는 만큼의 이전 시간 위치를 찾아가기 위해, 현재 위치에서 가장 가까운 PCR을 찾고, 그 PCR을 기준으로 보조 정보(예, PTS-PCR 갭 값)값 만큼 이전 시간에 해당하는 위치를 확인하고, 그 위치로부터 가장 가까운 RAI(Random Access Indicator) 위치(도 6b) 혹은 이전 시간 방향으로 첫 번째 RAI(Random Access Indicator) 위치(도 6a)를 찾는다. 캐싱 데이터 생성모듈(529)은 RAI로 표시된 I 프레임(Intra Frame) 위치로부터 현재 위치까지의 데이터를 추출하여 캐싱 데이터로서 셋탑 박스(510)로 전송하여 고속 채널 전환이 이루어지도록 한다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (26)

  1. 미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신하고, 상기 스트림을 디스크램블(Descramble)하여 보조 정보를 생성하고, 상기 보조 정보를 주기적 또는 비주기적으로 전송하는 셋탑 박스(STB); 및
    상기 셋탑 박스로부터 상기 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 저장하다가 상기 셋탑 박스로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 상기 보조 정보 값을 참조하여 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 상기 셋탑 박스의 캐싱 데이터 응답으로 전송하는 캐싱 서버;
    를 포함하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  2. 제1항에 있어서,
    상기 캐싱 서버는,
    주기적으로 상기 셋탑 박스로부터 상기 보조 정보를 수신한 후 상기 보조 정보와 기 저장된 정보를 비교하고, 상기 보조 정보에 비동일한 값이 존재하는 경우 기 저장된 정보를 상기 보조 정보로 업데이트하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  3. 제1항에 있어서,
    상기 캐싱 서버는,
    주기적으로 상기 셋탑 박스로부터 상기 보조 정보를 수신한 후 상기 보조 정보와 기 저장된 정보를 비교하고, 상기 보조 정보와 기 저장된 정보가 동일한 값을 갖는 경우 기 저장된 정보에 대한 업데이트를 미수행하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  4. 제1항에 있어서,
    상기 캐싱 서버는,
    상기 셋탑 박스가 캐싱 서버로부터 수신한 캐싱 데이터가 적절한 캐싱 데이터가 아닐 경우, 비주기적으로 상기 셋탑 박스가 상기 보조 정보를 다시 생성하여 캐싱 서버로 전송하고, 캐싱 서버는 상기 셋탑 박스로부터 비주기적으로 상기 보조 정보를 수신한 후 상기 보조 정보와 기 저장된 정보 간에 비동일한 값이 존재하는 경우에만 기 저장된 정보를 상기 보조 정보로 업데이트하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  5. 제1항에 있어서,
    상기 캐싱 서버는,
    복수의 상기 셋탑 박스와 통신하는 채널이 복수 개가 존재하더라도 통신하는 상기 셋탑 박스의 개수와 무관하게, 전체 서비스 채널의 채널별 보조 정보를 데이터베이스화하여 저장하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  6. 제1항에 있어서,
    상기 셋탑 박스는
    상기 스트림 내의 TS 패킷 구조 내의 TS 헤더와 페이로드(Payload) 중 상기 페이로드에만 CAS 적용을 위해 스크램블(Scramble)되므로, 상기 페이로드를 디스크램블(Descramble)하여 PTS(Presentation Time Stamp), PSI(Program Specific Information), PTS-PCR 갭값을 포함하는 상기 보조 정보를 생성하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  7. 제1항에 있어서,
    상기 캐싱 서버는,
    상기 셋탑 박스로부터 고속 채널 전환을 위한 캐싱 데이터 요청을 수신한 경우, 해당 채널에 대한 상기 캐싱 정보 내의 TS 패킷 구조의 상기 TS 헤더 내의 현재 위치의 PCR(Program Clock Reference)을 확인하고, 해당 채널에 대한 상기 보조 정보 중 상기 PTS-PCR 갭값을 참조하여, 상기 현재 위치의 PCR을 기준으로 상기 PTS-PCR 갭 값에 해당하는 이전 시간 구간을 포함하는 적절한 만큼의 정보를 추출하여 상기 캐싱 데이터로 생성한 후 상기 셋탑 박스로 전송하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  8. 제7항에 있어서,
    상기 캐싱 서버는,
    상기 셋탑 박스로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 상기 PTS-PCR 갭값을 확인하고, 현재 위치로부터 상기 PTS-PCR 갭값에 해당하는 만큼의 이전 시간 위치를 찾아가기 위해, 현재 위치에서 가장 가까운 PCR을 찾고, 그 PCR값을 기준으로 상기 PTS-PCR 갭값만큼 이전 시간에 해당하는 위치를 확인하고, 상기 이전 시간에 해당하는 위치로부터 이전 시간 방향으로 첫 번째 RAI(Random Access Indicator)를 찾고, 상기 RAI로 표시된 I 프레임(Intra Frame)부터 현재 위치까지의 데이터를 추출하여 상기 캐싱 데이터로서 상기 셋탑 박스로 전송하여 고속 채널 전환이 이루어지도록 하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  9. 제7항에 있어서,
    상기 캐싱 서버는,
    상기 셋탑 박스로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 상기 PTS-PCR 갭 값을 확인하고, 현재 위치로부터 상기 PTS-PCR 갭 값에 해당하는 만큼의 이전 시간 위치를 찾아가기 위해 현재 위치에서 가장 가까운 PCR을 찾고, 상기 가장 가까운 PCR을 기준으로 상기 PTS-PCR 갭 값만큼 이전 시간에 해당하는 위치를 확인하고, 상기 이전 시간에 해당하는 위치로부터 가장 가까운 RAI(Random Access Indicator)를 찾고, 상기 RAI로 표시된 I 프레임(Intra Frame)부터 현재 위치까지의 데이터를 추출하여 상기 캐싱 데이터로서 상기 셋탑 박스로 전송하여 고속 채널 전환이 이루어지도록 하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  10. 제8항에 있어서,
    상기 캐싱 서버는,
    상기 보조 정보 데이터베이스의 초기값을 각 채널의 특성을 보편적으로 반영한 값으로 설정하여 서비스 초기에 보조 정보 업데이트 전이라도 캐싱 서비스가 이루어지도록 하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  11. 제10항에 있어서,
    상기 캐싱 서버는,
    상기 보조 정보 데이터베이스의 초기값으로, GOP 길이값을 기준으로 GOP 길이값에 특정 비율을 곱하여 얻어진 값을 설정하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  12. 제11항에 있어서,
    상기 캐싱 서버는,
    상기 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  13. 제12항에 있어서,
    상기 캐싱 서버는,
    상기 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정한 후 업데이트 없이 사용하거나, 필요 시에만 업데이트하는 것을 특징으로 하는 캐싱 데이터 제공 시스템.
  14. 외부서버로부터 CAS 해제 키값을 수신하는 CAS 해제키 수신부;
    미디어 서비스 네트워크로부터 CAS(Conditional Access System)가 적용되어 스크램블(Scramble)된 스트림(Stream)을 수신하고, 상기 CAS 해제 키값을 이용하여 상기 스트림을 디스크램블(Descramble)하는 CAS 해제부;
    상기 디스크램블한 정보로부터 보조 정보를 추출하는 보조 정보 추출부;
    상기 보조 정보를 주기적 또는 비주기적으로 수신하여 데이터베이스화하여 보조 정보 DB에 저장하는 보조정보 업데이트 제어부; 및
    상기 셋탑 박스로부터 캐싱 데이터 요청이 있는 경우, 기 저장된 상기 보조 정보를 참조하여 필요한 구간만큼 추출한 캐싱 데이터를 생성하여 상기 셋탑 박스의 캐싱 데이터 요청에 대한 응답으로 전송하는 캐싱 데이터 생성모듈
    을 포함하는 것을 특징으로 하는 캐싱 서버.
  15. 제14항에 있어서,
    상기 보조정보 업데이트 제어부는,
    주기적으로 상기 보조 정보 추출부로부터 수신된 상기 보조 정보와 기 저장된 정보를 비교하고, 상기 보조 정보에 비동일한 값이 존재하는 경우 기 저장된 정보를 상기 보조 정보로 업데이트하는 것을 특징으로 하는 캐싱 서버.
  16. 제14항에 있어서,
    상기 보조정보 업데이트 제어부는,
    주기적으로 상기 보조 정보 추출부로부터 상기 보조 정보를 수신한 후 상기 보조 정보와 기 저장된 정보를 비교하고, 상기 보조 정보와 기 저장된 정보가 동일한 값을 갖는 경우 기 저장된 정보에 대한 업데이트를 미수행하는 것을 특징으로 하는 캐싱 서버.
  17. 제14항에 있어서,
    상기 보조정보 업데이트 제어부는,
    상기 보조 정보를 이용하여 생성된 캐싱 데이터가 부적절하다고 판단되는 경우, 비주기적으로 상기 보조 정보 추출부로 상기 보조 정보를 다시 추출하여 전송하기를 요청한 후 상기 보조 정보 추출부로부터 비주기적으로 상기 보조 정보를 수신한 후 상기 보조 정보와 기 저장된 정보 간에 비동일한 값이 존재하는 경우에만 기 저장된 정보를 상기 보조 정보로 업데이트하는 것을 특징으로 하는 캐싱 서버.
  18. 제14항에 있어서,
    상기 보조정보 업데이트 제어부는,
    복수의 셋탑 박스와 통신하는 채널이 복수 개가 존재하더라도 통신하는 셋탑 박스의 개수와 무관하게, 전체 서비스 채널의 채널별 보조 정보를 데이터베이스화하여 저장하는 것을 특징으로 하는 캐싱 서버.
  19. 제14항에 있어서,
    상기 보조 정보 추출부는
    상기 스트림 내의 TS 패킷 구조 내의 TS 헤더와 페이로드(Payload) 중 상기 페이로드에만 CAS 적용을 위한 스크램블(Scramble)되므로, 상기 페이로드를 디스크램블(Descramble)하여 PTS(Presentation Time Stamp), PSI(Program Specific Information), PTS-PCR 갭 값을 포함하는 상기 보조 정보를 생성하는 것을 특징으로 하는 캐싱 서버.
  20. 제19항에 있어서,
    상기 캐싱 데이터 생성모듈은,
    상기 셋탑 박스로부터 고속 채널 전환을 위한 캐싱 데이터 요청을 수신한 경우, 해당 채널에 대한 상기 캐싱 정보 내의 TS 패킷 구조의 상기 TS 헤더 내의 현재 위치의 PCR(Program Clock Reference)을 확인하고, 해당 채널에 대한 상기 보조 정보 중 PTS-PCR 갭값을 참조하여, 상기 현재 위치의 PCR을 기준으로 상기 PTS-PCR 갭 값에 해당하는 이전 시간 구간을 포함하는 적절한 만큼의 정보를 추출하여 상기 캐싱 데이터로 생성한 후 상기 셋탑 박스로 전송하는 것을 특징으로 하는 캐싱 서버.
  21. 제20항에 있어서,
    상기 캐싱 데이터 생성모듈은,
    상기 셋탑 박스로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 상기 PTS-PCR 갭값을 확인하고, 현재 위치로부터 상기 PTS-PCR 갭값에 해당하는 값 만큼의 이전 시간 위치를 찾아가기 위해, 현재 위치에서 가장 가까운 PCR을 찾고, 그 PCR값을 기준으로 상기 PTS-PCR 갭값 만큼 이전 시간에 해당하는 위치를 확인하고, 상기 이전 시간에 해당하는 위치로부터 이전 시간방향으로 첫 번째 RAI(Random Access Indicator)를 찾고, 상기 RAI로 표시된 I 프레임(Intra Frame)부터 현재 위치까지의 데이터를 추출하여 상기 캐싱 데이터로서 상기 셋탑 박스로 전송하여 고속 채널 전환이 이루어지도록 하는 것을 특징으로 하는 캐싱 서버.
  22. 제20항에 있어서,
    상기 캐싱 데이터 생성모듈은,
    상기 셋탑 박스로부터 전환 채널 정보를 수신하면, 보조 정보 데이터베이스에서 해당 채널에 대하여 기 저장된 보조 정보 중 가장 최근에 업데이트된 상기 PTS-PCR 갭 값을 확인하고, 현재 위치로부터 상기 PTS-PCR 갭 값에 해당하는 값 만큼의 이전 시간 위치를 찾아가기 위해, 현재 위치에서 가장 가까운 PCR을 찾고, 상기 가장 가까운 PCR을 기준으로 상기 PTS-PCR 갭 값 만큼 이전 시간에 해당하는 위치를 확인하고, 상기 이전 시간에 해당하는 위치 위치로부터 가장 가까운 RAI(Random Access Indicator)를 찾고, 상기 RAI로 표시된 I 프레임(Intra Frame)부터 현재 위치까지의 데이터를 추출하여 상기 캐싱 데이터로서 상기 셋탑 박스로 전송하여 고속 채널 전환이 이루어지도록 하는 것을 특징으로 하는 캐싱 서버.
  23. 제14항에 있어서,
    상기 캐싱 데이터 생성모듈은
    상기 보조 정보 데이터베이스의 초기값을 각 채널의 특성을 보편적으로 반영한 값으로 설정하여 서비스 초기에 보조 정보 업데이트 전이라도 캐싱 서비스가 이루어지도록 하는 것을 특징으로 하는 캐싱 서버.
  24. 제23항에 있어서,
    상기 캐싱 데이터 생성모듈은
    상기 보조 정보 데이터베이스의 초기값으로, GOP 길이값을 기준으로 GOP 길이값에 특정 비율을 곱하여 얻어진 값을 설정하는 것을 특징으로 하는 캐싱 서버.
  25. 제23항에 있어서,
    상기 캐싱 데이터 생성모듈은
    상기 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정하는 것을 특징으로 하는 캐싱 서버.
  26. 제 25항에 있어서,
    상기 캐싱 데이터 생성모듈은
    상기 보조 정보 데이터베이스의 초기값을 사전에 조사한 채널별 보조 정보 값으로 설정한 후 업데이트 없이 사용하거나, 필요 시에만 업데이트하는 것을 특징으로 하는 캐싱 서버.
PCT/KR2021/015001 2020-11-10 2021-10-25 캐싱 데이터 제공 방법 및 시스템 WO2022103017A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200149461A KR102447259B1 (ko) 2020-11-10 2020-11-10 캐싱 데이터 제공 방법 및 시스템
KR10-2020-0149461 2020-11-10

Publications (1)

Publication Number Publication Date
WO2022103017A1 true WO2022103017A1 (ko) 2022-05-19

Family

ID=81601462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/015001 WO2022103017A1 (ko) 2020-11-10 2021-10-25 캐싱 데이터 제공 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102447259B1 (ko)
WO (1) WO2022103017A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070016037A (ko) * 2005-08-02 2007-02-07 삼성전자주식회사 방송 수신 장치 및 방송 수신 장치의 채널 전환 방법
JP2013055638A (ja) * 2011-09-05 2013-03-21 Zapple Inc ザッピングデータ提供システム、ザッピングデータ提供方法及びその方法のための記録媒体
KR20190032671A (ko) * 2017-09-18 2019-03-28 쿠도커뮤니케이션 주식회사 실시간 iptv 방송에서의 채널 전환 시스템
KR20200008346A (ko) * 2018-07-16 2020-01-28 주식회사 케이티 방송 채널을 제공하는 장치, 서버 및 방법
KR20200053177A (ko) * 2018-11-08 2020-05-18 에스케이텔레콤 주식회사 시간 정보 변경을 이용한 미디어 서비스 채널 전환 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070016037A (ko) * 2005-08-02 2007-02-07 삼성전자주식회사 방송 수신 장치 및 방송 수신 장치의 채널 전환 방법
JP2013055638A (ja) * 2011-09-05 2013-03-21 Zapple Inc ザッピングデータ提供システム、ザッピングデータ提供方法及びその方法のための記録媒体
KR20190032671A (ko) * 2017-09-18 2019-03-28 쿠도커뮤니케이션 주식회사 실시간 iptv 방송에서의 채널 전환 시스템
KR20200008346A (ko) * 2018-07-16 2020-01-28 주식회사 케이티 방송 채널을 제공하는 장치, 서버 및 방법
KR20200053177A (ko) * 2018-11-08 2020-05-18 에스케이텔레콤 주식회사 시간 정보 변경을 이용한 미디어 서비스 채널 전환 방법 및 장치

Also Published As

Publication number Publication date
KR102447259B1 (ko) 2022-09-27
KR20220063512A (ko) 2022-05-17

Similar Documents

Publication Publication Date Title
WO2011136496A2 (en) Method and apparatus for playing live content
WO2010059005A2 (en) Apparatus for receiving a signal and method of receiving a signal
WO2016117908A1 (ko) 멀티미디어 콘텐츠를 송수신하는 방법 및 장치
WO2013043000A1 (en) Apparatus and method of playing broadcast content in broadcasting system
WO2012099400A2 (en) Apparatus and method for storing and playing content in a multimedia streaming system
WO2009134105A2 (en) Method of receiving broadcasting signal and apparatus for receiving broadcasting signal
MXPA03006913A (es) Cambio rapido de canal digital.
WO2011159093A2 (en) Hybrid delivery mechanism in a multimedia transmission system
WO2018174367A1 (ko) 방송 신호 송수신 방법 및 장치
WO2012121571A2 (ko) 비실시간 스테레오스코픽 방송 서비스 송신 및 수신 장치, 그리고 송신 및 수신 방법
WO2020096148A1 (ko) 미디어 서비스 채널 전환 방법 및 장치
WO2012033339A2 (en) Manifest mechanism in broadcast involved system
WO2012141501A2 (ko) Cas 서비스를 제공하기 위한 cas 서비스 시스템 및 그 운용방법
WO2015046724A1 (en) Image display apparatus, server for synchronizing contents, and method for operating the server
WO2012015288A2 (en) Method and apparatus for transmitting and receiving extended broadcast service in digital broadcasting
WO2022103017A1 (ko) 캐싱 데이터 제공 방법 및 시스템
WO2010110605A2 (ko) Iptv 수신기 및 그의 컨텐트 다운로드 방법
WO2015105348A1 (ko) 멀티미디어 데이터 재생 방법 및 장치
WO2016043432A1 (ko) 멀티미디어의 전송 또는 수신 방법 및 그 장치
WO2017142347A1 (ko) 멀티미디어 서비스의 컨텐츠 관련 정보 제공 방법 및 장치
WO2011010777A1 (ko) 방송 수신 방법 및 장치, 그를 이용한 디스플레이 장치
WO2011019224A2 (ko) 3d 상태 정보 진단 방법 및 방송 수신기
WO2020263025A1 (en) Method and apparatus for playing multimedia streaming data
WO2021157866A1 (ko) 지상파 uhd 방송 재전송 시스템 및 그 방법
WO2010024646A2 (en) A digital broadcasting receiver and a method for updating broadcasting content in a digital broadcasting receiver

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21892187

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21892187

Country of ref document: EP

Kind code of ref document: A1