WO2013005917A1 - 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법 - Google Patents

멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법 Download PDF

Info

Publication number
WO2013005917A1
WO2013005917A1 PCT/KR2012/003410 KR2012003410W WO2013005917A1 WO 2013005917 A1 WO2013005917 A1 WO 2013005917A1 KR 2012003410 W KR2012003410 W KR 2012003410W WO 2013005917 A1 WO2013005917 A1 WO 2013005917A1
Authority
WO
WIPO (PCT)
Prior art keywords
multicast stream
content
image
stream channel
channel
Prior art date
Application number
PCT/KR2012/003410
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
Priority claimed from KR1020110066753A external-priority patent/KR101931653B1/ko
Priority claimed from KR1020110066754A external-priority patent/KR101931652B1/ko
Priority claimed from KR1020110072892A external-priority patent/KR101786957B1/ko
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to US14/131,068 priority Critical patent/US9769511B2/en
Priority to CN201280033573.3A priority patent/CN103650375B/zh
Priority to EP12806939.0A priority patent/EP2731278A4/en
Publication of WO2013005917A1 publication Critical patent/WO2013005917A1/ko
Priority to US14/568,628 priority patent/US9355461B2/en
Priority to US15/673,034 priority patent/US10341704B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26275Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64746Control signals issued by the network directed to the server or the client
    • H04N21/64761Control signals issued by the network directed to the server or the client directed to the server
    • H04N21/64776Control signals issued by the network directed to the server or the client directed to the server for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • H04L1/1678Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Definitions

  • the present invention relates to a multicast-based content delivery system and method, and more particularly, multicasting a large amount of content to a plurality of terminals for a short time in consideration of network usage cost, and generating an error when a transmission error occurs.
  • the present invention relates to a multicast-based content delivery system and method for adaptively transmitting content in consideration of a user's network environment.
  • the present invention also relates to an apparatus and a method for fast motion estimation. More particularly, the present invention relates to a fast motion for reducing the amount of computation required for motion estimation through block matching using the n-th order momentum of an image and encoding the image at high speed.
  • An apparatus and method for estimation are provided.
  • the service provider may push a multimedia content to a mobile terminal of a user who subscribes to the service in advance (download), so that the user can play the downloaded content even in a situation where it is difficult for the user to receive offline or streaming services. I plan a lot.
  • CDN content delivery network
  • CDN installs several cache servers (temporary storage devices) at the bottom of the network of ISPs (Internet Service Providers), and transfers the contents provided by the content providers (CPs) to the cache server in advance, and the contents according to user demand. It is a system that downloads, improves the transmission speed by moving the contents close to the user through the CDN in advance and prevents the slowdown and data loss that may occur in the middle of data transmission.
  • ISPs Internet Service Providers
  • an encoding technique of multimedia content to be transmitted is required.
  • image compression standardization techniques such as Moving Picture Experts Group (MPEG) -2, MPEG-4, H.264, etc. are generally used in relation to image compression.
  • an image compression method based on block matching is a compression method that removes temporal redundancy between blocks using a motion prediction method.
  • Block matching divides each frame of an image into blocks and finds a block matching a block of a frame currently encoded / decoded in a previous frame or a frame previously encoded / decoded, and an image compression method based on block matching is a block. It is a method of compressing and transmitting an image by using a difference between matching blocks found by matching.
  • a method for finding a matched block by motion estimation may include: presenting a region where an error value such as sum of absolute difference (SAD) or sum of square difference (SSD) of a current block and a previous block is minimal; It can be predicted as a block matching the block, and the coordinate difference between the matching blocks can be calculated as a motion vector and used for image compression.
  • SAD sum of absolute difference
  • SSD sum of square difference
  • the block size is N x N pixels and the motion search area is 32x32, 1024 * (2NxN-1) addition / subtraction operations are required. If the size of the image is about 100Nx80N, 8192000 * (2NxN-1) * (NxN) operation is required.
  • the amount of computation used for block matching occupies up to 50% of the amount of computation used in encoding, which causes a system load and delays processing speed.
  • the present invention has been made to solve the above problems, the present invention multicasts a large amount of content to a plurality of terminals for a short time in consideration of the network cost (cost), and when the transmission error occurs
  • An object of the present invention is to provide a multicast-based content delivery system and method for retransmitting and adaptively transmitting content in consideration of a user's network environment.
  • the present invention provides an apparatus and method for fast motion estimation to reduce the amount of computation required for motion prediction through block matching using the n-th order block momentum of the image, and to enable fast image encoding
  • the purpose is to provide.
  • a multicast-based content delivery system generates N ⁇ M multicast stream channels having different transmission start times and transmission rates, and N ⁇ M multicast stream channels.
  • a channel is provided, and a channel is selected from a content providing device that transmits content through one of the N ⁇ M multicast stream channels and a list of N ⁇ M multicast stream channel lists provided from the content providing device. It includes a user terminal receiving the content in the cast stream channel.
  • the content providing apparatus is a channel generating unit for generating N ⁇ M multicast stream channels, N ⁇ M multicast stream channel list including the N ⁇ M multicast stream channel information A channel list generating unit and an N ⁇ M multicast stream channel list generated by the channel list generating unit, and transmits content through one channel of the N ⁇ M multicast stream channels generated by the channel generating unit. It includes a communication unit.
  • the channel generator generates N ⁇ M multicast stream channels including N multicast stream channels having transmission start times arranged at T time intervals and M multicast stream channels each having a different transmission rate.
  • the N ⁇ M multicast stream channel information includes content information to be transmitted for each channel, transmission start time, and transmission rate.
  • the content providing apparatus may further include a content preparation unit for generating contents to be transmitted in N ⁇ M multicast stream channels in a packet form.
  • a user terminal is provided with N ⁇ M multicast stream channel lists, transmits a channel selection signal for selecting one multicast stream channel among N ⁇ M multicast stream channel lists, A communication unit receiving content through a multicast stream channel corresponding to the channel selection signal, and an available transmission rate of the network, and among the N ⁇ M multicast stream channel lists provided by the communication unit using the available transmission rate and the content transmission request time. And a channel selector for selecting an available multicast stream channel.
  • the N ⁇ M multicast stream channel list includes multicast stream channel information including content information, transmission start time, and transmission rate for each channel.
  • the channel selector selects a multicast stream channel having a transmission rate less than the available transmission rate among the provided N ⁇ M multicast stream channel lists as a candidate multicast stream channel, and selects N ⁇ M multicast stream channels among the candidate multicast stream channels. Select the multicast stream channel whose transmission start time in the list is closest to the content transmission request time.
  • the user terminal may further include a content receiving unit storing the transmitted content, and the content receiving unit restores and stores the packet lost by forward error correction when the number of lost packets of the transmitted content is equal to or less than a reference value. If the number of lost packets exceeds the reference value, the packet is requested to be retransmitted after deleting the packet of the transmitted content.
  • the channel selector selects a candidate multicast stream channel list by comparing an available transmission rate with a transmission rate of the N ⁇ M multicast stream channel list when the content retransmission request is requested, and the content retransmission request time and transmission. You can select a multicast stream channel by comparing the start times.
  • the channel selector selects a multicast stream channel having a transmission start time of the N ⁇ M multicast stream channel list after the content transmission request time as a candidate multicast stream channel among the N ⁇ M multicast stream channel lists provided.
  • a multicast stream channel having a transmission rate lower than an available transmission rate and having the highest transmission rate may be selected.
  • the multicast-based content transmission method comprising the steps of generating an N ⁇ M multicast stream channel list including N ⁇ M multicast stream channels and multicast stream channel information in the content providing apparatus; Transmitting, by the content providing apparatus, the N ⁇ M multicast stream channel list to the user terminal, and multicasting the content to be transmitted using the multicast stream channel information of the N ⁇ M multicast stream channel list transmitted from the user terminal. Transmitting a channel selection signal for selecting a stream channel to the content providing apparatus, and transmitting the content to the user terminal using a multicast stream channel corresponding to the channel selection signal in the content providing apparatus.
  • the multicast-based content transmission method of the content providing apparatus (a) generating the N ⁇ M multicast stream channels having different transmission start time and transmission rate in the content providing apparatus, the content providing apparatus (B) generating and providing an N ⁇ M multicast stream channel list including N ⁇ M multicast stream channel information in step C, and receiving a channel selection signal from a content providing device and corresponding to the channel selection signal. (C) transmitting the content on the multicast stream channel.
  • step (a) of generating N multicast stream channels in which transmission start times are arranged at T time intervals, and M multicast having different data rates for each of the N multicast stream channels.
  • step (a-2) generating the NxM multicast stream channels by generating the stream channels.
  • a multicast-based content reception method of a user terminal transmits N ⁇ M multicast stream channel lists including multicast stream channel information including content information, transmission start time, and transmission rate in the user terminal.
  • the transmission start time, transmission rate, and content information of the N ⁇ M multicast stream channel lists transmitted from the user terminal are compared with the network available transmission rate, content transmission request time, and content information to be transmitted.
  • selecting a multicast stream channel, transmitting a channel selection signal for selecting a multicast stream channel at a user terminal, and receiving content with a multicast stream channel selected at the user terminal (d) ) Step.
  • step (b) step (b-1) of selecting a multicast stream channel having a transmission rate less than the available transmission rate among candidate NxM multicast stream channel lists as a candidate multicast stream channel, and a candidate multicast stream channel. And (b-2) selecting a multicast stream channel whose transmission start time of the N ⁇ M multicast stream channel list is closest to the content transmission request time.
  • a candidate multicast stream channel is selected for a multicast stream channel having a transmission start time of the N ⁇ M multicast stream channel list among the transmitted N ⁇ M multicast stream channel lists after the content transmission request time. And (b-2) selecting the multicast stream channel having the highest transmission rate among the candidate multicast stream channels.
  • the lost packet is restored or transmitted by forward error correction by comparing the number of lost packets of the content transmitted from the user terminal with a reference value.
  • the method may further include (e) requesting retransmission of the content after deleting the packet of the content.
  • the motion estimation apparatus generates an n-th comparison image and an n-th reference image, which are obtained by multiplying the pixel value n times for each pixel of the comparison image and the reference image as the n-th order pixel value of the pixel.
  • n-th order image generation unit n-th order integrated image generator that generates n-th order integral comparison image and n-th order integration reference image by calculating pixel values up to the set pixel coordinates for n-th comparison image and n-th reference image
  • n-th order N-th momentum calculation unit for calculating n-th momentum of the comparison image and n-th momentum of the reference image with respect to a block set by using the integral comparison image and the n-th order integration reference image
  • n-th momentum of the comparison image and n of the reference image The block matching error is calculated using the difference momentum difference, and includes a motion vector estimator for estimating the coordinate difference between the block of the comparison image having the minimum block matching error and the reference image block as a motion vector.
  • the n-th order image generator generates the n-th comparison image and the n-th reference image by using the following equation.
  • i (x, y) means the original image of the comparison image or the reference image
  • O n (x, y) means the n-th comparison image or n-th reference image
  • (x, y) is the pixel coordinate Means.
  • the nth order integrated image generator generates an nth order integration comparison image and an nth order reference image by using the following equation.
  • I n (x, y) means the n-th integral comparison image or the n-th integral reference image
  • O n (x, y) means the n-th comparison image or the n-th reference image (x, y) Means pixel coordinates.
  • the n-th order momentum calculator calculates the n-th order momentum of four blocks including blocks set for the comparison image and the reference image by using the following equation.
  • I n (x, y) means an n-th integral comparison image or an n-th integral reference image of (x e , y e ) pixels or blocks
  • (x e , y e ), (x e -1 , y e -1), (x e -1, y e ), (x e , y e -1) mean pixel coordinates or block coordinates.
  • the motion vector estimator calculates the block matching error as at least one of SAD and SSD using the following equation.
  • M n ref means n-th momentum for the set block of the reference image
  • M n curr means n-th momentum for the set block of the comparison image
  • ⁇ n and ß n correspond to n-th momentum Means a weight
  • means a constant.
  • an image encoding apparatus for fast motion estimation generates an n-th comparison image and an n-th reference image with respect to the comparison image and the reference image, and the pixels set for the n-th comparison image and the n-th reference image Compute the pixel value to the coordinates to generate the n-th integral comparison image and the n-th integral reference image, and the n-th momentum of the comparison image and the reference image for the set block using the n-th integration comparison image and the n-th integration reference image
  • a motion compensator for generating a prediction image of the comparison image from the reference image, a subtraction unit for generating a difference image between the comparison image and the prediction image, and the generated It includes parts of coding for encoding an image.
  • the fast motion estimation method generates an n-th comparison image and an n-th reference image, which are obtained by multiplying the pixel value n times for each pixel of the comparison image and the reference image as the n-th order pixel value of the pixel.
  • transmission errors occurring during multicast can be solved through FEC, multistream transmission, and stream repetitive transmission, and an optimal multicast stream can be selected in consideration of the user's network environment.
  • n-th order block momentum may be used to reduce the amount of computation during block matching, improve the computation speed, enable fast motion prediction, and reduce image encoding time.
  • FIG. 1 is a block diagram showing an embodiment of a multicast-based content delivery system according to an aspect of the present invention.
  • FIG. 2 is a block diagram showing an embodiment of a content providing apparatus according to another aspect of the present invention.
  • FIG. 3 is a block diagram showing an embodiment of a user terminal according to another aspect of the present invention.
  • FIG. 4 is a flowchart illustrating a first embodiment of a multicast-based content transmission method according to another aspect of the present invention.
  • FIG. 5 is a flowchart illustrating a second embodiment of a multicast-based content transmission method according to another aspect of the present invention.
  • FIG. 6 is a flowchart illustrating a third embodiment of a multicast-based content transmission method according to another aspect of the present invention.
  • FIG. 7 is a flowchart illustrating a fourth embodiment of a multicast-based content delivery method according to another aspect of the present invention.
  • FIG. 8 is a flowchart illustrating a fifth embodiment of a multicast-based content transmission method according to another aspect of the present invention.
  • FIG. 9 is a block diagram showing an embodiment of a motion estimation apparatus according to another aspect of the present invention.
  • FIG. 10 is a block diagram illustrating an embodiment of an image encoding apparatus according to another aspect of the present invention.
  • FIG. 11 is a diagram for describing a motion estimation vector and an n-th order moment calculation method according to another aspect of the present invention.
  • FIG. 12 is a flowchart illustrating an embodiment of a motion estimation method according to another aspect of the present invention.
  • FIG. 1 is a block diagram showing an embodiment of a multicast-based content delivery system according to an aspect of the present invention.
  • the multicast-based content delivery system 1000 may include a content providing device 200 and a user terminal 300 connected through a communication network 100. .
  • the communication network 100 provides a transmission path for transmitting content, and provides a connection path for the user terminal 300 and the content providing apparatus 200 to connect.
  • the communication network 100 includes a mobile communication network such as WCDMA, HDPA, 3G, or 4G, a local area network such as Bluetooth, Zigbee, or Wi-Fi, and a wired communication network such as the Internet or PSTN.
  • a mobile communication network such as WCDMA, HDPA, 3G, or 4G
  • a local area network such as Bluetooth, Zigbee, or Wi-Fi
  • a wired communication network such as the Internet or PSTN.
  • the content providing device 200 refers to a server that downloads or streams content such as a movie, music, or video to a client terminal, and transmits the content to a user terminal located at a remote location through a wired / wireless communication network.
  • the content providing apparatus 200 generates a plurality of multicast stream channels, selects one of the plurality of multicast stream channels, and transmits the content to the first user terminal.
  • the second user terminal uses another multicast stream channel; The content is transmitted to the third user terminal.
  • the content providing apparatus 200 is to multicast the content to a plurality of user terminals at the same time.
  • the content providing apparatus 200 generates N ⁇ M multicast stream channels having different transmission start times and transmission rates, and provides the N ⁇ M multicast stream channel lists to the user terminal 300.
  • the user terminal 300 inputs a channel selection signal for selecting one channel among the N ⁇ M multicast stream channels included in the provided list and transmits the channel selection signal to the content providing apparatus 200, and the content providing apparatus 200
  • the content is transmitted to the user terminal 300 using a multicast stream channel corresponding to the channel selection signal transmitted from the user terminal 200.
  • the user terminal 300 may be a media device such as a set top box or an IPVT, and refers to a terminal having a client function such as a PDA, a mobile phone, a smartphone, a tablet PC, and the like.
  • a media device such as a set top box or an IPVT
  • a client function such as a PDA, a mobile phone, a smartphone, a tablet PC, and the like.
  • the content providing apparatus 200 first sends the N ⁇ M multicast stream channel list, and then the user terminal 300 transmits a channel selection signal to the content providing apparatus 200 to select the multicast stream channel.
  • the multicast stream channel may be selected by determining the multicast stream channel for transmitting content with each user terminal in the content providing apparatus 200 and delivering the multicast stream channel information to each user terminal.
  • FIG. 2 is a block diagram showing an embodiment of a content providing apparatus according to another aspect of the present invention.
  • the content providing apparatus 200 may include a channel generator 210, a channel list generator 220, and a communicator 230.
  • the content providing apparatus 200 may further include a content preparation unit 240.
  • the channel generator 210 generates a multicast stream channel by dividing a transmission start time at regular intervals, and generates each of the channels divided according to the transmission start time into a plurality of multicast stream channels having different transmission rates.
  • the channel generator 210 is configured such that N ⁇ multicast stream channels having a transmission start time of T time intervals and N multicast stream channels each include M multicast stream channels having different transmission rates. Create M multicast stream channels.
  • multicast stream channels are generated according to the transmission start time, and three different bit rates r for each of the six multicast stream channels.
  • r 2 , r 3 When a multicast stream channel for transmitting data is generated, 18 multicast stream channels are created.
  • the channel list generation unit 220 generates N ⁇ M multicast stream channel lists including N ⁇ M multicast stream channel information.
  • the N ⁇ M multicast stream channel information includes content information to be transmitted for each channel, transmission start time, and transmission rate, and the user terminal may use the multicast stream channel information to check status information of each channel. have.
  • the communication unit 230 provides a list of N ⁇ M multicast stream channels generated by the channel list generation unit 220, and provides content through one channel of the N ⁇ M multicast stream channels generated by the channel generation unit. Provides an interface for transmitting and receiving.
  • the content preparation unit 240 generates contents to be transmitted in N ⁇ M multicast stream channels in the form of packets.
  • FIG. 3 is a block diagram showing an embodiment of a user terminal according to another aspect of the present invention.
  • the user terminal 300 may include a communication unit 310 and a channel selector 320, and may further include a content receiver 330. .
  • the communication unit 310 refers to a connection path receiving N ⁇ M multicast stream channel lists transmitted from a content providing device, transmitting a channel selection signal, and receiving content through a multicast stream channel corresponding to the channel selection signal. do.
  • the channel selector 320 checks the available transmission rate of the network and selects an available multicast stream channel from the N ⁇ M multicast stream channel list using the available transmission rate and the content transmission request time.
  • the N ⁇ M multicast stream channel lists provided include multicast stream channel information including content information, transmission start time, and transmission rate for each channel.
  • the user terminal 300 selects a multicast stream channel from among the channels in the list in consideration of the N ⁇ M multicast stream channel information, the transmission request content information input by the user, and the network environment of the user terminal 300.
  • the channel selector 320 selects a candidate multicast stream channel based primarily on a network environment of the user terminal, and selects a final multicast stream channel in consideration of a transmission start time.
  • a multicast stream channel having a transmission rate less than the available transmission rate is selected as a candidate multicast stream channel among the provided N ⁇ M multicast stream channel lists, and a list of N ⁇ M multicast stream channels among candidate multicast stream channels. Selects the multicast stream channel whose transmission start time is closest to the content transmission request time.
  • the content receiving unit 330 checks whether the transmitted content is lost or not, and restores the lost packet or requests retransmission of the same content if the restoration is impossible.
  • the content receiving unit 330 determines that the lost packets can be restored, and restores and stores the lost packets by forward error correction. Lost packet recovery methods other than the forward error correction method may be used.
  • the content receiving unit 330 determines that the lost packet cannot be restored.
  • the content receiving unit 330 deletes the transmitted content packet and requests retransmission of the content.
  • the channel selector 320 compares the available transmission rate, which is the network environment of the user terminal when the content retransmission request, with the transmission rate of the N ⁇ M multicast stream channel list, and compares the candidate multicast stream channel list.
  • the multicast stream channel may be selected by comparing the content retransmission request time and the transmission start time.
  • the channel selector 320 selects a multicast stream channel whose content retransmission is less than or equal to the network available transmission rate as a candidate multicast stream channel, and the transmission start time of the candidate multicast stream channels is after the content retransmission request time and simultaneously. Select the multicast stream channel closest to the content retransmission request time.
  • the network available transmission rate may be different from the initial content transmission request, and the time is also not the same. Therefore, the channel should be selected using the available transmission rate and time when the content transmission request occurs.
  • the channel selector 320 is a candidate multicast stream for a multicast stream channel having a transmission start time of the N ⁇ M multicast stream channel list among the provided N ⁇ M multicast stream channel lists after a content transmission request time.
  • a channel can be selected, and a multicast stream channel having the highest transmission rate while the transmission rate is less than the network available transmission rate can be selected among the candidate multicast stream channels.
  • 4 to 8 are flowcharts illustrating first to fifth embodiments of a multicast-based content transmission method according to another aspect of the present invention.
  • the multicast-based content transmission method includes a process of generating a channel between a multicast-based content providing apparatus and a user terminal, channel selection, and transmission of content through a selection channel. do.
  • the content providing device generates N ⁇ M multicast stream channels (S410), and generates a list including channel information on the generated N ⁇ M multicast stream channels (S420).
  • the channel information includes information on content to be transmitted, transmission start time, and transmission rate.
  • the content providing apparatus transmits N ⁇ M multicast stream channel lists to the user terminal (S430).
  • the content providing apparatus selects a multicast stream channel corresponding to the channel selection signal (S450).
  • a specific content transmission channel is selected among the plurality of multicast stream channels between the content providing apparatus and the user terminal, the content is transmitted through the selected transmission channel (S460).
  • the multicast-based content providing apparatus In the multicast-based content transmission method according to the second embodiment, as shown in FIG. 5, the multicast-based content providing apparatus generates a plurality of channels, selects channels according to channel selection information, and selects a selected channel.
  • the process of transmitting content is shown as a component.
  • the content providing apparatus generates N multicast stream channels in which transmission start times are arranged at predetermined time intervals (S520), and M multicasts having different data rates for each of the N multicast stream channels are generated.
  • a cast stream channel is generated to finally generate N ⁇ M multicast stream channels (S540).
  • the NxM multicast stream channel list including the channel information is generated and transmitted by the content providing apparatus (S560), and the content is transmitted through the multicast stream channel corresponding to the channel selection signal transmitted from the outside. (S580).
  • the channel is considered in consideration of the channel information of the N ⁇ M multicast stream channel list transmitted from the user terminal and the network environment of the user terminal. , And the process of receiving content through the selected channel as a component.
  • the user terminal receives N ⁇ M multicast stream channel lists including multicast stream channel information including content information, transmission start time, and transmission rate (S620).
  • the transmission start time, transmission rate, content information of the N ⁇ M multicast stream channel list transmitted from the user terminal is compared with the network available transmission rate, content transmission request time, and content information to be transmitted (S640). ).
  • the multicast stream channel is selected by comparing the information of the channels included in the list with the information of the user terminal (S660), and the content is transmitted through the selected channel (S680).
  • the selected multicast stream channel may vary according to the priority of content information, transmission start time, or transmission rate.
  • a multicast stream channel selection process when the transmission rate is set as the first reference and the transmission start time is set as the second reference is illustrated in FIG.
  • the content storage or retransmission request process according to whether the transmitted content packet is lost is shown as a component.
  • a first transmission rate and a network available transmission rate measured at the user terminal are compared (S710), and multicast stream channels having a transmission rate lower than or equal to the network available transmission rate are selected as candidate groups. Select (S720).
  • the transmission start time which is the second criterion for the candidate group, is compared with the content request time of the user terminal (S730), so that the transmission start time of the candidate group is after the content request time and is closest to the content request time.
  • a channel is selected (S740).
  • the channel selection signal is provided to the content providing device, the content transmission multicast stream channel between the user terminal and the content providing device is selected, and the content is downloaded from the content providing device through the selected channel (S750).
  • the step S710 of transmitting the content by selecting a channel based on the network available transmission rate and the content retransmission request time of the user terminal at the time of the content retransmission request is repeatedly performed.
  • the content storage or retransmission request process according to whether the transmitted content packet is lost is shown as a component.
  • the transmission start time, which is the first criterion, for the N ⁇ M multicast stream channels is compared with the content request time of the user terminal (S810), and the multicast stream channel whose transmission start time is after the content request time is regarded as a candidate group.
  • Select (S820).
  • a multicast stream channel having a data rate of less than or equal to the network available data rate and having a data rate closest to the network available data rate is selected (S830).
  • the channel selection signal is provided to the content providing device, the content selection multicast stream channel between the user terminal and the content providing device is selected, and the content is downloaded from the content providing device through the selected channel (S840).
  • the lost packet In the process of determining whether the lost packet is recoverable, comparing the lost packet number (A) with the reference value (B) (S860), if the lost packet number (A) is less than or equal to the reference value (B), the lost packet may be restored. If it is determined that the packet is recovered (S870), and if the number of lost packets (A) exceeds the reference value (B), it is determined that the lost packet is impossible to recover and deletes the transmitted content and requests resending of the content (S880).
  • the process after S810 of selecting a channel and transmitting the content is performed based on the network available transmission rate and the content retransmission request time of the user terminal at the time of the content retransmission request.
  • the content providing device may generate a plurality of multicast stream channels to multicast the content to multiple user terminals, and the user terminal may select a channel suitable for the user terminal environment from among the plurality of multicast stream channels to download the content. Can be.
  • FIG. 9 is a block diagram showing an embodiment of a motion estimation apparatus according to another aspect of the present invention.
  • the motion estimation apparatus includes an nth order image generator 910, an nth order integrated image generator 920, an nth order momentum calculator 930, and a motion vector estimator And 940.
  • the motion estimation apparatus generates an nth order image and an nth order integrated image, calculates the nth order momentum by using the nth order image, and reduces the amount of computation and speed when estimating the motion between the reference image and the reference image.
  • the n-th order image generator 910 generates an n-th comparison image and an n-th reference image that are obtained by multiplying a pixel value n times for each pixel of the comparison image and the reference image as the n-th order pixel value of the pixel.
  • the comparison image refers to a current image for motion estimation or encoding
  • the reference image refers to a previous image or a previously encoded image in time.
  • the n-th order image generator 910 generates an n-th comparison image and an n-th reference image by using Equation 1 below.
  • i (x, y) means the original image of the comparison image or the reference image
  • O n (x, y) means the n-th comparison image or n-th reference image
  • (x, y) is the pixel coordinate Means.
  • the n th order integrated image generator 920 generates an n th order comparison image and an n th order reference image by calculating pixel values up to pixel coordinates set for the n th order comparison image and the n th order reference image.
  • the pixel value of the primary image is x
  • the pixel value of the secondary image is x 2
  • the pixel value of the tertiary image is x 3 .
  • the n-th integral image generator 920 generates an n-th integral comparison image and an n-th integral reference image by using Equation 2 below.
  • I n (x, y) means the n-th integral comparison image or the n-th integral reference image
  • O n (x, y) means the n-th comparison image or the n-th reference image (x, y) Means pixel coordinates.
  • I n (2, 3) is a value obtained by integrating O n (1, 1), O n (2, 1), O n (2, 2), and O n (2, 3). That is, the nth order integrated image I n (2,3) at coordinates (2, 3) is the nth order pixel value at (1, 1) coordinates, the nth order pixel value at (2, 1) coordinates, ( 2, 2) n-th order image pixel values of coordinates, and n-th order image pixel values of (2, 3) coordinates are integrated values.
  • the n th order momentum calculator 930 calculates the n th order momentum of the comparison image and the n th order momentum of the reference image with respect to the set block using the n th order integration comparison image and the n th order integration reference image.
  • the nth order momentum calculator 930 calculates the nth order momentum of four blocks including blocks set for the comparison image and the reference image by using Equation 3 below.
  • I n (x, y) means an n-th integral comparison image or an n-th integral reference image of (x e , y e ) pixels or blocks
  • (x e , y e ), (x e -1 , y e -1), (x e -1, y e ), (x e , y e -1) mean pixel coordinates or block coordinates.
  • the motion vector estimator 940 calculates a block matching error using the difference between the nth order momentum of the comparison image and the nth order momentum of the reference image, and calculates the coordinate difference between the block of the comparison image and the reference image block having the minimum block matching error. Estimate with a motion vector.
  • the motion vector estimator 940 calculates the block matching error as at least one of SAD and SSD using Equation 4 below.
  • M n ref means n-th momentum for the set block of the reference image
  • M n curr means n-th momentum for the set block of the comparison image
  • ⁇ n and ß n correspond to n-th momentum Means a weight
  • means a constant.
  • n The larger the value of n, the greater the accuracy and the amount of computation.
  • n the smaller the accuracy and the amount of computation.
  • FIG. 11 is a diagram for describing a motion estimation vector and an n-th order moment calculation method according to another aspect of the present invention.
  • the reference image A 'block is matched to the comparison image A block, and motion of (m x , m y ) can be estimated.
  • the nth order momentum may be calculated using an nth order integral image of four blocks (or coordinates) including blocks (or coordinates) set for the comparison image and the reference image. Can be.
  • the n th order momentum means the pixel value of the n th order integrated image of the shaded area.
  • FIG. 10 is a block diagram illustrating an embodiment of an image encoding apparatus according to another aspect of the present invention.
  • the image encoding apparatus may include a motion estimator 1010, a motion compensator 1020, a subtractor 130, a quantizer 1040, an entropy encoder 1050, The dequantization unit 1060 and the adder 1070 are configured.
  • the motion estimator 1010 compares the comparison image with the reference image in units of blocks, selects a block having a minimum block matching error as a matching block, and calculates a motion vector using a difference in coordinates between the blocks.
  • the comparison image refers to a current image for motion estimation or encoding
  • the reference image refers to a previous image or a previously encoded image in time.
  • the motion estimation unit 1010 generates an nth comparison image and an nth reference image with respect to the comparison image and the reference image, and the pixel encoding set for the nth comparison image and the nth reference image. Compute pixel values to generate nth-order integral comparison image and n-th order integral reference image, and use n-th integral comparison image and n-th order integral reference image to compare n-order momentum of the reference image and n-th reference image, respectively. Calculate a block matching error using the n-th order momentum difference, estimate a coordinate difference between the block of the comparison image and the reference image block having the minimum block matching error as a motion vector, and the detailed description of FIG. See.
  • the motion compensator 1020 generates a prediction image for the comparison image from the reference image by using the estimated motion vector, and the subtractor 1030 generates a difference image between the comparison image and the prediction image.
  • the encoder 1050 encodes the generated difference image.
  • the frequency space changer and the quantizer may be further included between the subtractor 1030 and the encoder 1050.
  • the frequency-space transform unit converts the difference between the comparison image and the predicted image generated by the subtractor 1030 from the color space into the frequency space using a method such as Discrete Hadamard Transformation (DHT) or Discrete Cosine Transformation (DCT).
  • DHT Discrete Hadamard Transformation
  • DCT Discrete Cosine Transformation
  • the encoder 1050 encodes the values quantized by the quantizer to generate a bit stream by encoding by a method such as Context-Adaptive Variable Length Coding (CAVLC) or Context-Adaptive Binary Arithmetic Coding (CABAC).
  • CAVLC Context-Adaptive Variable Length Coding
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the dequantization unit reconstructs the frequency component values by multiplying the quantized values by the quantization parameter, and the adder 1070 generates a reconstructed image by adding a difference between the predicted image generated by the motion compensator 1020 and the reconstructed image. .
  • FIG. 12 is a flowchart illustrating an embodiment of a motion estimation method according to another aspect of the present invention.
  • the n-th image and the n-th integrated image are sequentially generated (S1210 and S1220), and the n-th moment is calculated using the n-th integrated image (S1230).
  • a matching error is calculated (S1240), and a motion vector is estimated by matching blocks with the minimum block matching error (S1250).
  • the n-th order image generation S1210 generates an n-th comparison image and an n-th reference image by multiplying the pixel value n times for each pixel of the comparison image and the reference image as the n-th order pixel value of the pixel.
  • the n th order integrated image generation S1220 generates an n th order integration comparison image and an n th order integration reference image by integrating pixel values up to the pixel coordinates set for the generated n th comparison image and the n th reference image.
  • the nth order momentum calculation S1230 calculates the nth order momentum of the comparison image and the nth order momentum of the reference image for the set block using the nth order integration comparison image and the nth order integration reference image, respectively.
  • Motion vector estimation extracts a block in which the absolute value of the calculated n th momentum of the comparison image and the n th momentum difference of the reference image is the minimum from the comparison image and the reference image, and extracts the coordinate difference of the extracted block.
  • the generated n-th and n-th integral images of the current image (comparative image), the calculated n-th momentum and block matching error values can be utilized as reference images when estimating the motion of the next image.
  • the motion can be estimated.
  • the same n-th integral image may be used to calculate the motion vectors of all the blocks included in each image.
  • Operation was required, but according to the present invention, the number of (5 * n-1) circuit operations can be reduced.
  • the present invention can be applied to an apparatus, a system for performing multicasting to a plurality of clients, a system, and a recording medium recording the above method, and an apparatus for executing an application program in the field of transmitting and receiving contents in consideration of the network usage cost. .
  • the present invention provides a device, a system, and a recording medium recording the above-described method, system, and method for reducing the amount of computation required for block matching in the field of encoding an image or in the field of encoding and transmitting the image. It can be applied to devices that run applications.

Abstract

본 발명은 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법에 관한 것으로, 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하고, N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 컨텐츠 제공장치, 및 컨텐츠 제공장치로부터 제공된 N×M개의 멀티캐스트 스트림 채널 리스트 중 하나의 채널을 선택하고 선택된 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 사용자 단말기를 포함한다.

Description

멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법
본 발명은 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법에 관한 것으로, 더욱 상세하게는 네트워크 사용 비용(cost)를 고려하여 대용량의 컨텐츠를 짧은 시간 동안 다수의 단말기로 멀티캐스트하고, 전송 오류 발생시 오류가 발생한 컨텐츠를 재전송하고 사용자의 네트워크 환경을 고려하여 적응적으로 컨텐츠를 전송하기 위한 위한 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법에 관한 것이다.
또한, 본 발명은 고속 움직임 추정을 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 영상의 n차 모멘텀을 이용한 블록 정합을 통해 움직임 예측 시 소요되는 연산량을 줄이고, 영상을 고속으로 인코딩하기 위한 고속 움직임 추정을 위한 장치 및 방법에 관한 것이다.
네트워크 환경의 발달로 서비스 제공자(Service provider)는 컨텐츠를 사용자에게 푸시(push)하는 서비스(service)를 출시하기 시작했다.
특히, 서비스 제공자는 멀티미디어 컨텐츠를 서비스에 가입한 사용자의 모바일 단말기에 미리 푸시하여(다운로드하여), 사용자가 오프라인(offline) 또는 스트리밍 서비스를 받기 어려운 상황에서도 미리 다운로드 받은 컨텐츠를 재생할 수 있도록 하는 서비스를 많이 기획하고 있다.
이러한 대용량의 멀티미디어 컨텐츠 다운로드 서비스를 제공하기 위하여 네트워크 사용 비용(cost)을 최소로 하는 기술이 필요하며, CDN(Content Delivery Network)을 활용하는 방법이 널리 사용되고 있다.
CDN은 ISP(Internet Service Provider)의 네트워크 하단에 여러 대의 캐시서버(임시저장장치)를 설치하고, 컨텐츠 제공자(CP; Contents Provider)가 제공하는 컨텐츠를 캐시서버에 미리 옮겨 놓고 사용자의 수요에 따라 컨텐츠를 다운로드하는 시스템으로, CDN을 통해 컨텐츠를 사용자 가까이에 미리 옮겨놓음으로써 전송속도를 향상시키고 데이터 전송시 중간 과정에서 발생할 수 있는 속도 저하와 데이터 손실을 막을 수 있는 기술이다.
이와 같이, 대용량 멀티미디어 컨텐츠 전송시 집중되는 트래픽을 안전하고 빠르게 처리할 수 있는 컨텐츠 전송 기술 개발이 요구된다.
이와 더불어, 전송되는 컨텐츠를 안전하게 사용자 단말기로 전송하기 위하여, 전송할 멀티미디어 컨텐츠의 인코딩 기술이 필요하다. 특히, 영상 압축과 관련하여 MPEG(Moving Picture Experts Group)-2, MPEG-4, H.264 등과 같은 영상 압축 표준화 기술이 일반적으로 사용되고 있다.
영상 압축 표준화 기술 중 블록 정합(Block matching)을 기반으로 하는 영상 압축 방법은 움직임 예측 방법을 사용하여 각 블록 사이의 시간적인 중복성을 제거하는 압축 방법이다.
블록 정합은 영상의 각 프레임을 블록으로 나누고, 현재 인코딩/디코딩되는 프레임의 블록과 매칭되는 블록을 이전 프레임 또는 이전에 인코딩/디코딩된 프레임에서 찾는 것이고, 블록 정합을 기반으로 하는 영상 압축 방법은 블록 정합으로 찾은 매칭되는 블록 간의 차이를 이용하여 영상을 압축 전송하는 방법이다.
특히, 움직임 추정(motion estimation)에 의하여 매칭되는 블록을 찾는 방법은, 현재 블록과 이전 블록의 SAD(Sum of Absolute Difference)또는 SSD(Sum of Square Difference)와 같은 오차값이 최소가 되는 영역을 현재 블록에 매칭되는 블록으로 예측할 수 있고, 매칭되는 블록 간의 좌표 차를 움직임 벡터로 산출하여 영상 압축에 사용할 수 있다.
이러한 움직임 추정에 의한 블록 정합을 결정하기 위해서는 움직임 탐색 영역의 모든 픽셀에 대하여 SAD 또는 SSD를 계산할 필요가 있다.
예를 들어, 블록의 크기가 N x N 픽셀이고 움직임 탐색 영역이 32x32이면 1024*(2NxN-1)번의 덧셈/뺄셈 연산이 필요하며, 영상의 크기가 100Nx80N정도라면 8192000*(2NxN-1)*(NxN)의 연산이 필요하다.
이러한 블록 정합에 사용되는 연산량은 인코딩시 사용되는 연산량의 최대 50%를 차지할 정도이며, 이로 인해 시스템 부하를 유발하고 처리 속도를 지연시키는 문제점이 있다.
즉, 대용량 멀티미디어 컨텐츠 전송시 집중되는 트래픽을 안전하고 빠르게 처리할 수 있는 컨텐츠 전송 기술 개발이 필요하고, 연산량을 줄일 수 있는 블록 정합 기술 개발이 필요하다.
본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 본 발명은 네트워크 사용 비용(cost)을 고려하여 대용량의 컨텐츠를 짧은 시간 동안 다수의 단말기로 멀티캐스트하고, 전송 오류 발생시 오류가 발생된 컨텐츠를 재전송하고 사용자의 네트워크 환경을 고려하여 적응적으로 컨텐츠를 전송하기 위한 위한 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법에 그 목적이 있다.
또한, 본 발명은 영상의 n차 블록 모멘텀(momentum)을 이용한 블록 정합(block matching)을 통해 움직임 예측 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 고속 움직임 추정을 위한 장치 및 방법을 제공함에 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 멀티캐스트 기반 컨텐츠 전송 시스템은 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하고, N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 컨텐츠 제공장치 및 컨텐츠 제공장치로부터 제공된 N×M개의 멀티캐스트 스트림 채널 리스트 중 하나의 채널을 선택하고 선택된 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 사용자 단말기를 포함한다.
본 발명의 다른 측면에 따르면, 컨텐츠 제공장치는 N×M개의 멀티캐스트 스트림 채널을 생성하는 채널 생성부, N×M개의 멀티캐스트 스트림 채널 정보가 포함된 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하는 채널 리스트 생성부, 및 채널 리스트 생성부에서 생성된 N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, 채널 생성부에서 생성된 N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 통신부를 포함한다.
채널 생성부는 전송 시작 시각이 T시간 간격으로 배치된 N개의 멀티캐스트 스트림 채널과 N개의 멀티캐스트 스트림 채널 각각이 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널로 구성된 N×M개의 멀티캐스트 스트림 채널을 생성한다.
여기서, N×M개의 멀티캐스트 스트림 채널 정보는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률을 포함하여 구성된다.
또한, 컨텐츠 제공장치는 N×M개의 멀티캐스트 스트림 채널로 전송할 컨텐츠를 각각 패킷 형태로 생성하는 컨텐츠 준비부를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 사용자 단말기는 N×M개의 멀티캐스트 스트림 채널 리스트를 제공받고, N×M개의 멀티캐스트 스트림 채널 리스트 중 하나의 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 전송하고, 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 통신부, 및 네트워크의 가용 전송률을 확인하고, 가용 전송률과 컨텐츠 전송 요청 시간을 이용하여 통신부에서 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 이용 가능한 멀티캐스트 스트림 채널을 선택하는 채널 선택부를 포함한다.
여기서, N×M개의 멀티캐스트 스트림 채널 리스트는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함된다.
채널 선택부는 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 가용 전송률 이하의 전송률을 갖는 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 후보 멀티캐스트 스트림 채널 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 컨텐츠 전송 요청 시간과 가장 가까운 멀티캐스트 스트림 채널을 선택한다.
또한, 사용자 단말기는 전송된 컨텐츠를 저장하는 컨텐츠 수신부를 더 포함하고, 컨텐츠 수신부는 전송된 컨텐츠의 손실된 패킷 개수가 기준값 이하인 경우 순방향 에러 정정(Forward Error Correction)에 의해 손실된 패킷을 복원하여 저장하고, 손실된 패킷 개수가 기준값을 초과한 경우 전송된 컨텐츠의 패킷을 삭제한 후 컨텐츠의 재전송을 요청한다.
채널 선택부는, 컨텐츠의 재전송 요청이 있는 경우, 컨텐츠 재전송 요청시 가용 전송률과 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송률을 비교하여 후보 멀티캐스트 스트림 채널 리스트를 선택하고, 컨텐츠 재전송 요청 시간과 전송 시작 시간을 비교하여 멀티캐스트 스트림 채널을 선택할 수 있다.
또한, 채널 선택부는 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 컨텐츠 전송 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 후보 멀티캐스트 스트림 채널 중 전송률이 가용 전송률 이하이고, 전송률이 가장 높은 멀티캐스트 스트림 채널을 선택할 수 있다.
본 발명의 다른 측면에 따르면, 멀티캐스트 기반 컨텐츠 전송 방법은 컨텐츠 제공장치에서 N×M개의 멀티캐스트 스트림 채널과 멀티캐스트 스트림 채널 정보를 포함하는 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하는 단계, 컨텐츠 제공장치에서 N×M개의 멀티캐스트 스트림 채널 리스트를 사용자 단말기로 전송하는 단계, 사용자 단말기에서 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 멀티캐스트 스트림 채널 정보를 이용하여 컨텐츠가 전송될 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 상기 컨텐츠 제공장치로 전송하는 단계, 및 컨텐츠 제공장치에서 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널을 이용하여 사용자 단말기로 컨텐츠를 전송하는 단계를 포함한다.
본 발명의 다른 측면에 따르면, 컨텐츠 제공장치의 멀티캐스트 기반 컨텐츠 전송 방법은 컨텐츠 제공장치에서 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하는 (a) 단계, 컨텐츠 제공장치에서 N×M개의 멀티캐스트 스트림 채널 정보가 포함되는 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하여 제공하는 (b) 단계, 및 컨텐츠 제공장치에서 채널 선택 신호를 전송받고, 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송하는 (c) 단계를 포함한다.
(a) 단계는 전송 시작 시각이 T시간 간격으로 배치된 N개의 멀티캐스트 스트림 채널을 생성하는 (a-1) 단계, 및 N개의 멀티캐스트 스트림 채널 각각에 대하여 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널을 생성하여 N×M개의 멀티캐스트 스트림 채널을 생성하는 (a-2) 단계를 포함하여 구성된다.
본 발명의 다른 측면에 따르면, 사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법은 사용자 단말기에서 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함되는 N×M개의 멀티캐스트 스트림 채널 리스트를 전송받는 (a) 단계, 사용자 단말기에서 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간, 전송률, 컨텐츠 정보와 사용자 단말기에서 측정된 네트워크 가용 전송률, 컨텐츠 전송 요청 시간, 전송받을 컨텐츠 정보를 비교하여 멀티캐스트 스트림 채널을 선택하는 (b) 단계, 사용자 단말기에서 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 전송하는 (c) 단계, 및 사용자 단말기에서 선택한 멀티캐스트 스트림 채널로 컨텐츠를 수신하는 (d) 단계를 포함한다.
(b) 단계는 전송된 N×M개의 멀티캐스트 스트림 채널 리스트 중 가용 전송률 이하의 전송률을 갖는 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하는 (b-1) 단계, 및 후보 멀티캐스트 스트림 채널 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 컨텐츠 전송 요청 시간과 가장 가까운 멀티캐스트 스트림 채널을 선택하는 (b-2) 단계를 포함하여 구성된다.
또한, (b) 단계는 전송된 N×M개의 멀티캐스트 스트림 채널 리스트 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 상기 컨텐츠 전송 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하는 (b-1) 단계, 및 후보 멀티캐스트 스트림 채널 중 전송율이 가장 높은 멀티캐스트 스트림 채널을 선택하는 (b-2) 단계를 포함하여 구성된다.
사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법은, (d) 단계 이후에 사용자 단말기에서 전송된 컨텐츠의 손실된 패킷 개수와 기준값을 비교하여 순방향 에러 정정(Forward Error Correction)에 의한 손실된 패킷 복원 또는 전송된 컨텐츠의 패킷을 삭제한 후 상기 컨텐츠의 재전송을 요청하는 (e) 단계를 더 포함할 수 있다.
본 발명의 다른 측면에 따르면, 움직임 추정 장치는 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 픽셀의 n차 픽셀값으로 하는 n차 비교영상 및 n차 기준영상을 생성하는 n차 영상 생성부, n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지의 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하는 n차 적분 영상 생성부, n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀을 산출하는 n차 모멘텀 계산부, 및 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함한다.
n차 영상 생성부는 다음의 수학식을 이용하여 n차 비교영상 및 n차 기준영상을 생성한다.
[수학식]
Figure PCTKR2012003410-appb-I000001
여기서, i(x,y)은 비교영상 또는 기준영상의 원영상을 의미하고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고, (x,y)는 픽셀 좌표를 의미한다.
n차 적분 영상 생성부는 다음의 수학식을 이용하여 n차 적분 비교영상과 n차 적분 기준영상을 생성한다.
[수학식]
Figure PCTKR2012003410-appb-I000002
여기서, In(x,y)는 n차 적분 비교영상 또는 n차 적분 기준영상을 의미히고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고 (x,y)는 픽셀 좌표를 의미한다.
n차 모멘텀 계산부는 비교영상과 기준영상에 대하여 설정된 블록을 포함하는 4개의 블록의 n차 모멘텀을 다음 수학식을 이용하여 산출한다.
[수학식]
Figure PCTKR2012003410-appb-I000003
여기서, 상기 In(x, y)는 (xe, ye) 픽셀 또는 블록의 n차 적분 비교영상 또는 n차 적분 기준영상을 의미하고, (xe, ye), (xe-1, ye-1), (xe-1, ye), (xe, ye-1)는 픽셀 좌표 또는 블록 좌표를 의미한다.
움직임 벡터 추정부는 블록 정합 오차를 다음 수학식을 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출한다.
[수학식]
Figure PCTKR2012003410-appb-I000004
Figure PCTKR2012003410-appb-I000005
여기서, Mn,ref는 기준영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, Mn,curr는 비교영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, αn 및 ßn 는 n차 모멘텀에 대한 가중치를 의미하고, γ는 상수를 의미한다.
본 발명의 다른 측면에 따르면, 고속 움직임 추정을 위한 영상 부호화 장치는 비교영상 및 기준영상에 대하여 n차 비교영상 및 n차 기준영상을 생성하고, n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하고, n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상과 기준영상의 n차 모멘텀을 각각 산출하고, n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 움직임 추정부, 추정된 움직임 벡터를 이용하여 기준영상으로부터 비교영상에 대한 예측영상을 생성하는 움직임 보상부, 비교영상과 예측영상의 차영상을 생성하는 감산부, 및 생성된 차영상을 부호화하는 부호화부를 포함한다.
본 발명의 다른 측면에 따르면, 고속 움직임 추정 방법은 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 픽셀의 n차 픽셀값으로 하는 n차 비교영상 및 n차 기준영상을 생성하는 단계, n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지의 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하는 단계, n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀을 산출하는 단계, 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하는 단계, 및 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 단계를 포함한다.
본 발명에 따르면, 멀티캐스트(multicast)를 활용한 대용량 컨텐츠 다운로드를 통해 네트워크 부하를 최소화하면서도 많은 사용자에게 대용량 컨텐츠를 전송할 수 있다.
또한 멀티캐스트 시 발생하는 전송오류를 FEC와 멀티스트림 전송, 스트림 반복전송을 통해 해결할 수 있고, 사용자의 네트워크 환경을 고려하여 최적의 멀티캐스트 스트림을 선택할 수 있다.
또한, n차 블록 모멘텀을 이용하여 블록 정합(block matching)시 연산량을 줄이고, 연산 속도를 향상시킬 수 있고, 고속으로 움직임 예측이 가능해지며, 영상 인코딩 시간을 단축할 수 있다.
도 1은 본 발명의 일 측면에 따른 멀티캐스트 기반 컨텐츠 전송 시스템의 일 실시예를 나타내는 구성도이다.
도 2는 본 발명의 다른 측면에 따른 컨텐츠 제공장치의 일 실시예를 나타내는 구성도이다.
도 3은 본 발명의 다른 측면에 따른 사용자 단말기의 일 실시예를 나타내는 구성도이다.
도 4는 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제1 실시예를 나타내는 흐름도이다.
도 5는 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제2 실시예를 나타내는 흐름도이다.
도 6은 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제3 실시예를 나타내는 흐름도이다.
도 7은 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제4 실시예를 나타내는 흐름도이다.
도 8은 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제5 실시예를 나타내는 흐름도이다.
도 9는 본 발명의 다른 측면에 따른 움직임 추정 장치의 일 실시예를 나타내는 구성도이다.
도 10은 본 발명의 다른 측면에 따른 영상 부호화 장치의 일 실시예를 나타내는 구성도이다.
도 11은 본 발명의 다른 측면에 따른 움직임 추정 벡터와 n차 모멘텀 산출 방법을 설명하기 위한 도면이다.
도 12는 본 발명의 다른 측면에 따른 움직임 추정 방법의 일 실시예를 나타내는 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 특정한 실시형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명에 따른 멀티캐스트 기반 컨텐츠 전송 시스템, 컨텐츠 제공장치, 사용자 단말기 및 멀티캐스트 기반 컨텐츠 전송 방법, 및 고속 움직임 추정을 위한 움직임 추정 장치, 영상 부호화 장치, 및 움직임 추정 방법의 실시예를 첨부도면을 참조하여 상세히 설명하기로 한다. 첨부도면을 참조하여 설명함에 있어 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
멀티캐스트 기반 컨텐츠 전송 시스템
도 1은 본 발명의 일 측면에 따른 멀티캐스트 기반 컨텐츠 전송 시스템의 일 실시예를 나타내는 구성도이다.
본 실시예에 따르면, 도 1에 도시한 바와 같이, 멀티캐스트 기반 컨텐츠 전송 시스템(1000)은 통신망(100)을 통해 연결된 컨텐츠 제공장치(200) 및 사용자 단말기(300)를 포함하여 구성될 수 있다.
통신망(100)은 컨텐츠를 전송하는 전송 경로를 제공하고, 사용자 단말기(300)와 컨텐츠 제공장치(200)가 접속하기 위한 접속 경로를 제공한다.
예를 들어, 통신망(100)은 WCDMA, HDPA, 3G, 4G 등의 이동통신망, 블루투스, 지그비, 와이파이 등 근거리 통신망, 인터넷, PSTN 등 유선 통신망을 포함한다.
컨텐츠 제공장치(200)는 영화, 음악, 동영상 등의 컨텐츠를 클라이언트 단말기로 다운로드 또는 스트리밍하는 서버를 의미하며, 유무선 통신망을 통해 원격지에 있는 사용자 단말기로 컨텐츠를 전송한다.
컨텐츠 제공장치(200)는 다수의 멀티캐스트 스트림 채널을 생성하고 다수의 멀티캐스트 스트림 채널 중 하나를 선택하여 제1 사용자 단말기로 컨텐츠를 전송하며, 다른 멀티캐스트 스트림 채널을 이용하여 제2 사용자 단말기, 제3 사용자 단말기 등으로 컨텐츠를 전송한다.
컨텐츠 제공장치(200) 측면에서 다수의 사용자 단말기로 동시에 컨텐츠를 멀티캐스트하게 된다.
컨텐츠 제공장치(200)는 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하고, N×M개의 멀티캐스트 스트림 채널 리스트를 사용자 단말기(300)로 제공한다.
사용자 단말기(300)는 제공받은 리스트에 포함된 N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 선택하는 채널 선택 신호를 입력하여 컨텐츠 제공장치(200)로 전송하고, 컨텐츠 제공장치(200)는 사용자 단말기(200)로부터 전송된 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널을 이용하여 컨텐츠를 사용자 단말기(300)로 전송한다.
예를 들어, 사용자 단말기(300)는 셋탑박스(Set top box), IPVT 등의 미디어 장치가 될 수 있고, PDA, 휴대폰, 스마트폰, 테블릿 PC 등 클라이언트 기능을 하는 단말기를 의미한다.
본 실시예에서는 컨텐츠 제공장치(200)에서 N×M개의 멀티캐스트 스트림 채널 리스트를 먼저 보낸 후 사용자 단말기(300)에서 채널 선택 신호를 컨텐츠 제공장치(200)로 전송함으로써 멀티캐스트 스트림 채널을 선택하도록 하였으나, 컨텐츠 제공장치(200)에서 각각의 사용자 단말기와 컨텐츠를 전송할 멀티캐스트 스트림 채널을 결정한 후 각각의 사용자 단말기로 멀티캐스트 스트림 채널 정보를 전달함으로써 멀티캐스트 스트림 채널이 선택될 수 있다.
이하에서는, 멀티캐스트 기반 컨텐츠 전송 시스템을 구성하는 컨텐츠 제공장치와 사용자 단말기의 구성에 대하여 구체적으로 살펴보도록 한다.
컨텐츠 제공장치
도 2는 본 발명의 다른 측면에 따른 컨텐츠 제공장치의 일 실시예를 나타내는 구성도이다.
본 실시예에 따르면, 도 2에 도시한 바와 같이, 컨텐츠 제공장치(200)는 채널 생성부(210), 채널 리스트 생성부(220) 및 통신부(230)를 포함하여 구성될 수 있다.
또한, 컨텐츠 제공장치(200)는 컨텐츠 준비부(240)를 더 포함할 수 있다.
채널 생성부(210)는 전송 시작 시간을 일정한 간격으로 나누어 멀티캐스트 스트림 채널을 생성하고, 전송 시작 시간에 따라 나눈 채널 각각을 다시 전송율이 서로 다른 다수의 멀티캐스트 스트림 채널로 나누어 생성한다.
즉, 채널 생성부(210)는 전송 시작 시각이 T시간 간격으로 배치된 N개의 멀티캐스트 스트림 채널과 N개의 멀티캐스트 스트림 채널 각각이 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널로 구성되도록 N×M개의 멀티캐스트 스트림 채널을 생성한다.
예를 들어, 전송 시작 시간을 10분 간격으로 배치하여 전송 시작 시간에 따라 6개의 멀티캐스트 스트림 채널이 생성되고, 6개의 멀티캐스트 스트림 채널 각각에 대하여 서로 다른 3개의 전송률 r1, r2, r3로 데이터를 전송하는 멀티캐스트 스트림 채널을 생성하면, 18개의 멀티캐스트 스트림 채널이 생성된다.
채널 리스트 생성부(220)는 N×M개의 멀티캐스트 스트림 채널 정보가 포함된 N×M개의 멀티캐스트 스트림 채널 리스트를 생성한다.
여기서, N×M개의 멀티캐스트 스트림 채널 정보는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률을 포함하여 구성되며, 사용자 단말기에서 각 채널의 상태 정보를 확인하기 위하여 멀티캐스트 스트림 채널 정보를 사용할 수 있다.
통신부(230)는 채널 리스트 생성부(220)에서 생성된 N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, 채널 생성부에서 생성된 N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 송수신 인터페이스를 제공한다.
또한, 컨텐츠 준비부(240)는 N×M개의 멀티캐스트 스트림 채널로 전송할 컨텐츠를 각각 패킷 형태로 생성한다.
사용자 단말기
도 3은 본 발명의 다른 측면에 따른 사용자 단말기의 일 실시예를 나타내는 구성도이다.
본 실시예에 따르면, 도 3에 도시한 바와 같이, 사용자 단말기(300)는 통신부(310) 및 채널 선택부(320)를 포함하여 구성되고, 컨텐츠 수신부(330)를 더 포함하여 구성될 수 있다.
통신부(310)는 컨텐츠 제공장치로부터 전송된 N×M개의 멀티캐스트 스트림 채널 리스트를 제공받고, 채널 선택 신호를 전송하고, 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 접속 경로를 의미한다.
채널 선택부(320)는 네트워크의 가용 전송률을 확인하고, 가용 전송률과 컨텐츠 전송 요청 시간을 이용하여 N×M개의 멀티캐스트 스트림 채널 리스트 중 이용 가능한 멀티캐스트 스트림 채널을 선택한다.
제공된 N×M개의 멀티캐스트 스트림 채널 리스트는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함되어 있다.
사용자 단말기(300)는 N×M개의 멀티캐스트 스트림 채널 정보와 사용자가 입력한 전송 요청 컨텐츠 정보, 사용자 단말기(300)의 네트워크 환경 등을 고려하여 리스트의 채널 중 멀티캐스트 스트림 채널을 선택한다.
채널 선택부(320)는 사용자 단말기의 네트워크 환경을 1차적으로 고려하여 후보 멀티캐스트 스트림 채널을 선택하고, 전송 시작 시간을 고려하여 최종 멀티캐스트 스트림 채널을 선택한다.
즉, 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 가용 전송률 이하의 전송률을 갖는 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 후보 멀티캐스트 스트림 채널 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 컨텐츠 전송 요청 시간과 가장 가까운 멀티캐스트 스트림 채널을 선택한다.
컨텐츠 수신부(330) 전송된 컨텐츠의 패킷 손실 여부를 확인하고, 손실된 패킷을 복원하거나, 복원이 불가능한 경우 동일한 컨텐츠를 재전송 요청한다.
구체적으로, 컨텐츠 수신부(330)는 손실된 패킷 개수가 기준값 이하인 경우 손실 패킷의 복원이 가능한 것으로 판단하고, 순방향 에러 정정(Forward Error Correction) 등에 의해 손실된 패킷을 복원하여 저장한다. 순방향 에러 정정 방법 이외의 다른 손실 패킷 복원 방법도 사용할 수 있다.
컨텐츠 수신부(330)는 손실된 패킷 개수가 기준값을 초과한 경우 손실 패킷 복원이 불가능할 것으로 판단하고, 전송된 컨텐츠의 패킷을 삭제한 후 컨텐츠의 재전송을 요청한다.
채널 선택부(320)는 컨텐츠의 재전송 요청이 있는 경우, 컨텐츠 재전송 요청시의 사용자 단말기의 네트워크 환경인 가용 전송률과 N×M개의 멀티캐스트 스트림 채널 리스트의 전송률을 비교하여 후보 멀티캐스트 스트림 채널 리스트를 선택하고, 컨텐츠 재전송 요청 시간과 전송 시작 시간을 비교하여 멀티캐스트 스트림 채널을 선택할 수 있다.
즉, 채널 선택부(320)는 컨텐츠 재전송이 요청시의 네트워크 가용 전송률 이하인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 후보 멀티캐스트 스트림 채널 중 전송 시작 시간이 컨텐츠 재전송 요청 시간 이후이고 동시에 컨텐츠 재전송 요청 시간에 가장 가까운 멀티캐스트 스트림 채널을 선택한다.
컨텐츠 재전송 요청시 네트워크 가용 전송률은 초기 컨텐츠 전송 요청시와 달라질 수 있고, 시간 역시 동일하지 않으므로, 컨텐츠 전송 요청이 발생하는 시점의 가용 전송률과 시간을 이용하여 채널을 선택해야 한다.
또한, 채널 선택부(320)는 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 컨텐츠 전송 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 후보 멀티캐스트 스트림 채널 중 전송률이 네트워크 가용 전송률 이하이고 동시에 전송률이 가장 높은 멀티캐스트 스트림 채널을 선택할 수 있다.
이러한 방법에 의하여 멀티캐스트 스트림 채널이 선택된 경우 컨텐츠 전송 시간을 단축할 수 있다.
멀티캐스트 기반 컨텐츠 전송 방법
도 4 내지 도 8은 본 발명의 다른 측면에 따른 멀티캐스트 기반 컨텐츠 전송 방법의 제1 실시예 내지 제5 실시예를 나타내는 흐름도이다.
제1 실시예에 따른 멀티캐스트 기반 컨텐츠 전송 방법은, 도 4에 도시한 바와 같이, 멀티캐스트 기반 컨텐츠 제공장치와 사용자 단말기 사이의 채널 생성, 채널 선택 및 선택 채널을 통해 컨텐츠를 전송하는 과정으로 구성된다.
먼저, 컨텐츠 제공 장치에서 N×M개의 멀티캐스트 스트림 채널을 생성하고(S410), 생성된 N×M개의 멀티캐스트 스트림 채널에 대한 채널 정보를 포함하는 리스트 생성한다(S420).
여기서, 채널 정보는 전송할 컨텐츠 정보, 전송 시작 시간, 전송률에 대한 정보를 포함한다.
다음으로, 컨텐츠 제공장치는 N×M개의 멀티캐스트 스트림 채널 리스트를 사용자 단말기로 전송한다(S430).
사용자 단말기에서 특정 채널을 선택하여 채널 선택 신호를 컨텐츠 제공장치로 전송하면(S440), 컨텐츠 제공장치는 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널을 선택한다(S450).
컨텐츠 제공장치와 사용자 단말기 사이에 다수의 멀티캐스트 스트림 채널 중 특정 컨텐츠 전송 채널이 선택되면 선택된 전송 채널을 통해 컨텐츠를 전송한다(S460).
제2 실시예에 따른 멀티캐스트 기반 컨텐츠 전송 방법은, 도 5에 도시한 바와 같이, 멀티캐스트 기반 컨텐츠 제공장치 측에서 다수의 채널을 생성하고, 채널 선택 정보에 따라 채널을 선택하고, 선택된 채널로 컨텐츠를 전송하는 과정을 구성요소로 나타낸 것이다.
먼저, 컨텐츠 제공 장치에서 전송 시작 시간을 기 설정된 시간(T) 간격으로 배치한 N개의 멀티캐스트 스트림 채널을 생성하고(S520), N개의 멀티캐스트 스트림 채널 각각에 대하여 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널을 생성하여 최종적으로 N×M개의 멀티캐스트 스트림 채널을 생성한다(S540).
다음으로, 컨텐츠 제공 장치에서 각 채널 정보가 포함된 N×M개의 멀티캐스트 스트림 채널 리스트가 생성되어 전송되고(S560), 외부로부터 전송된 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송한다(S580).
제3 실시예에 따른 멀티캐스트 기반 컨텐츠 전송 방법은, 도 6에 도시한 바와 같이, 사용자 단말기 측에서 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 채널 정보와 사용자 단말기의 네트워크 환경을 고려하여 채널을 선택하고, 선택한 채널로 컨텐츠를 전송받는 과정을 구성요소로 나타낸 것이다.
먼저, 사용자 단말기에서 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함된 N×M개의 멀티캐스트 스트림 채널 리스트를 전송받는다(S620).
다음으로, 사용자 단말기에서 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간, 전송률, 컨텐츠 정보와 사용자 단말기에서 측정된 네트워크 가용 전송률, 컨텐츠 전송 요청 시간, 전송받을 컨텐츠 정보를 비교한다(S640).
리스트에 포함된 채널의 정보들과 사용자 단말기의 정보를 비교하여 멀티캐스트 스트림 채널을 선택하고(S660), 선택된 채널을 통해 컨텐츠를 전송받는다(S680).
이때, 컨텐츠 정보, 전송 시작 시간 또는 전송률의 우선 순위에 따라 선택되는 멀티캐스트 스트림 채널이 달라질 수 있다.
우선 순위에 따른 멀티캐스트 스트림 채널 선택 방법과, 전송된 컨텐츠의 패킷 손실 여부에 따른 컨텐츠 재전송 요청 여부에 대하여 도 7 및 도 8을 참조하여 구체적인 실시예를 설명하도록 한다.
제4 실시예에 따른 멀티캐스트 기반 컨텐츠 전송 방법은, 도 7에 도시한 바와 같이, 전송률을 제1 기준으로 설정하고, 전송 시작 시간을 제2 기준으로 설정한 경우의 멀티캐스트 스트림 채널 선택 과정과 전송된 컨텐츠 패킷 손실 여부에 따른 컨텐츠 저장 또는 재전송 요청 과정을 구성요소로 나타낸 것이다.
먼저, N×M개의 멀티캐스트 스트림 채널에 대하여 제1 기준인 전송률과 사용자 단말기에서 측정된 네트워크 가용 전송률을 각각 비교하고(S710), 네트워크 가용 전송률 이하의 전송률을 가지는 멀티캐스트 스트림 채널들을 후보 그룹으로 선택한다(S720).
다음으로, 후보 그룹에 대하여 제2 기준인 전송 시작 시간과 사용자 단말기의 컨텐츠 요청 시간을 비교하여(S730), 후보 그룹 중 전송 시작 시간이 컨텐츠 요청 시간 이후이고, 컨텐츠 요청 시간에 가장 가까운 멀티캐스트 스트림 채널을 선택한다(S740).
채널 선택 신호를 컨텐츠 제공장치로 제공하여, 사용자 단말기와 컨텐츠 제공장치 사이의 컨텐츠 전송 멀티캐스트 스트림 채널로 선택한 후 선택된 채널을 통해 컨텐츠 제공장치로부터 컨텐츠를 다운로드 받는다(S750).
컨텐츠 전송이 완료되면, 사용자 단말기에서 전송된 컨텐츠 패킷 손실 여부를 검사하고(S760), 패킷 손실이 발생하지 않은 경우 컨텐츠를 저장하고(S795), 패킷 손실이 발명한 경우 손실된 패킷이 복원 가능한지 판단한다.
손실된 패킷이 복원 가능한지 판단하는 과정은 손실된 패킷 개수(A)와 기준값(B)을 비교하여(S770), 손실된 패킷 개수(A)가 기준값(B) 이하아면 손실된 패킷 복원이 가능한 것으로 판단하여 패킷을 복원하고(S780), 손실된 패킷 개수(A)가 기준값(B)을 초과하면 손실된 패킷 복원이 불가능한 것으로 판단하여 전송된 컨텐츠를 삭제한 후 컨텐츠 재전송을 요청한다(S790).
컨텐츠 재전송이 요청되면, 컨텐츠 재전송 요청 시점에서 사용자 단말기의 네트워크 가용 전송률과 컨텐츠 재전송 요청 시간을 기준으로 채널을 선택하여 컨텐츠를 전송하는 S710 이후 단계를 반복하여 수행한다.
제5 실시예에 따른 멀티캐스트 기반 컨텐츠 전송 방법은, 도 8에 도시한 바와 같이, 전송 시작 시간을 제1 기준으로 설정하고, 전송률을 제2 기준으로 설정한 경우의 멀티캐스트 스트림 채널 선택 과정과 전송된 컨텐츠 패킷 손실 여부에 따른 컨텐츠 저장 또는 재전송 요청 과정을 구성요소로 나타낸 것이다.
먼저, N×M개의 멀티캐스트 스트림 채널에 대하여 제1 기준인 전송 시작 시간과 사용자 단말기의 컨텐츠 요청 시간을 비교하고(S810), 전송 시작 시간이 컨텐츠 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 그룹으로 선택한다(S820).
다음으로, 후보 그룹에 포함되는 멀티캐스트 스트림 채널 중 제2 기준인 각 채널의 전송률이 네트워크 가용 전송률 이하이고 네트워크 가용 전송률에 가장 가까운 전송률을 가지는 멀티캐스트 스트림 채널을 선택한다(S830).
채널 선택 신호를 컨텐츠 제공장치로 제공하여, 사용자 단말기와 컨텐츠 제공장치 사이의 컨텐츠 전송 멀티캐스트 스트림 채널로 선택한 후 선택된 채널을 통해 컨텐츠 제공장치로부터 컨텐츠를 다운로드 받는다(S840).
컨텐츠 전송이 완료되면, 사용자 단말기에서 전송된 컨텐츠 패킷 손실 여부를 검사하고(S850), 패킷 손실이 발생하지 않은 경우 컨텐츠를 저장하고(S890), 패킷 손실이 발명한 경우 손실된 패킷이 복원 가능한지 판단한다.
손실된 패킷이 복원 가능한지 판단하는 과정은 손실된 패킷 개수(A)와 기준값(B)을 비교하여(S860), 손실된 패킷 개수(A)가 기준값(B) 이하아면 손실된 패킷 복원이 가능한 것으로 판단하여 패킷을 복원하고(S870), 손실된 패킷 개수(A)가 기준값(B)을 초과하면 손실된 패킷 복원이 불가능한 것으로 판단하여 전송된 컨텐츠를 삭제한 후 컨텐츠 재전송을 요청한다(S880).
컨텐츠 재전송이 요청되면, 컨텐츠 재전송 요청 시점에서 사용자 단말기의 네트워크 가용 전송률과 컨텐츠 재전송 요청 시간을 기준으로 채널을 선택하여 컨텐츠를 전송하는 S810 이후 단계를 반복하여 수행한다.
따라서, 컨텐츠 제공장치는 다수의 멀티캐스트 스트림 채널을 생성하여 여러 사용자 단말기로 컨텐츠를 멀티캐스트할 수 있고, 사용자 단말기는 다수의 멀티캐스트 스트림 채널 중 사용자 단말기 환경에 적합한 채널을 선택하여 컨텐츠를 다운로드 받을 수 있다.
움직임 추정 장치
도 9는 본 발명의 다른 측면에 따른 움직임 추정 장치의 일 실시예를 나타내는 구성도이다.
본 실시예에 따르면, 도 9에 도시한 바와 같이, 움직임 추정 장치는 n차 영상 생성부(910), n차 적분 영상 생성부(920), n차 모멘텀 계산부(930) 및 움직임 벡터 추정부(940)를 포함하여 구성된다.
본 발명에 따른 움직임 추정 장치는 n차 영상 및 n차 적분 영상을 생성하고, 이를 이용하여 n차 모멘텀을 산출하여 비교영상과 기준영상 사이의 움직임 추정시 연산량을 줄이고 속도를 향상시킬 수 있다.
n차 영상 생성부(910)는 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 픽셀의 n차 픽셀값으로 하는 n차 비교영상 및 n차 기준영상을 생성한다.
여기서, 비교영상은 움직임 추정 또는 부호화를 위한 현재영상을 의미하고, 기준영상은 시간상 이전영상 또는 이전에 부호화된 영상을 의미한다.
n차 영상 생성부(910)는 다음의 [수학식 1]을 이용하여 n차 비교영상 및 n차 기준영상을 생성한다.
수학식 1
Figure PCTKR2012003410-appb-M000001
여기서, i(x,y)은 비교영상 또는 기준영상의 원영상을 의미하고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고, (x,y)는 픽셀 좌표를 의미한다.
n차 적분 영상 생성부(920)는 n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지의 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성한다.
예를 들어, 1차 영상의 픽셀값이 x이면, 2차 영상의 픽셀값은 x2이 되고, 3차 영상의 픽셀값은 x3이 된다.
n차 적분 영상 생성부(920)는 다음의 [수학식 2]를 이용하여 n차 적분 비교영상과 n차 적분 기준영상을 생성한다.
수학식 2
Figure PCTKR2012003410-appb-M000002
여기서, In(x,y)는 n차 적분 비교영상 또는 n차 적분 기준영상을 의미히고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고 (x,y)는 픽셀 좌표를 의미한다.
예를 들어, In(2, 3)은 On(1, 1), On(2, 1), On(2, 2), On(2, 3)을 적분한 값이 된다. 즉, (2, 3) 좌표의 n차 적분 영상(In(2, 3))은 (1, 1) 좌표의 n차 영상 픽셀값, (2, 1) 좌표의 n차 영상 픽셀값, (2, 2) 좌표의 n차 영상 픽셀값, (2, 3) 좌표의 n차 영상 픽셀값을 적분한 값이 된다.
n차 모멘텀 계산부(930)는 n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀을 산출한다.
n차 모멘텀 계산부(930)는 비교영상과 기준영상에 대하여 설정된 블록을 포함하는 4개의 블록의 n차 모멘텀을 다음 [수학식 3]을 이용하여 산출한다.
수학식 3
Figure PCTKR2012003410-appb-M000003
여기서, 상기 In(x, y)는 (xe, ye) 픽셀 또는 블록의 n차 적분 비교영상 또는 n차 적분 기준영상을 의미하고, (xe, ye), (xe-1, ye-1), (xe-1, ye), (xe, ye-1)는 픽셀 좌표 또는 블록 좌표를 의미한다.
움직임 벡터 추정부(940)는 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정한다.
움직임 벡터 추정부(940)는 블록 정합 오차를 다음 [수학식 4]를 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출한다.
수학식 4
Figure PCTKR2012003410-appb-M000004
Figure PCTKR2012003410-appb-I000006
여기서, Mn,ref는 기준영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, Mn,curr는 비교영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, αn 및 ßn 는 n차 모멘텀에 대한 가중치를 의미하고, γ는 상수를 의미한다.
n값이 클수록 계산의 정확도와 연산량이 커지고 n값이 작을수록 정확도와 연산량이 작아진다.
도 11은 본 발명의 다른 측면에 따른 움직임 추정 벡터와 n차 모멘텀 산출 방법을 설명하기 위한 도면이다.
본 실시예에 따르면, 도 11 (a)에 도시한 바와 같이, 기준영상 A' 블록이 비교영상 A 블록으로 매칭되는 것으로, (mx, my)의 움직임을 추정할 수 있다.
또한, 도 11 (b)에 도시한 바와 같이, n차 모멘텀은 비교영상과 기준영상에 대하여 설정된 블록(또는 좌표)을 포함하는 4개의 블록(또는 좌표)의 n차 적분 영상을 이용하여 산출할 수 있다. 결과적으로, n차 모멘텀은 빗금친 영역의 n차 적분 영상의 픽셀값을 의미한다.
영상 부호화 장치
도 10은 본 발명의 다른 측면에 따른 영상 부호화 장치의 일 실시예를 나타내는 구성도이다.
본 실시예에 따르면, 도 10에 도시한 바와 같이, 영상 부호화 장치는 움직임 추정부(1010), 움직임 보상부(1020), 감산기(130), 양자화부(1040), 엔트로피 부호화부(1050), 역양자화부(1060) 및 가산기(1070)를 포함하여 구성된다.
움직임 추정부(1010)는 비교영상과 기준영상을 블록 단위로 비교하여 블록 매칭 오류가 최소인 블록을 매칭 블록으로 선택하고, 각 블록 사이의 좌표값 차이를 이용하여 움직임 벡터를 산출한다.
여기서, 비교영상은 움직임 추정 또는 부호화를 위한 현재영상을 의미하고, 기준영상은 시간상 이전영상 또는 이전에 부호화된 영상을 의미한다.
움직임 추정부(1010)는 고속 움직임 추정을 위한 영상 부호화 장치는 비교영상 및 기준영상에 대하여 n차 비교영상 및 n차 기준영상을 생성하고, n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하고, n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상과 기준영상의 n차 모멘텀을 각각 산출하고, n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하며, 구체적인 설명은 도 9의 설명 부분을 참조한다.
움직임 보상부(1020)는 추정된 움직임 벡터를 이용하여 기준영상으로부터 비교영상에 대한 예측영상을 생성하고, 감산부(1030)는 비교영상과 예측영상의 차영상을 생성한다.
부호화부(1050)는 생성된 차영상을 부호화한다.
여기서, 감산부(1030)와 부호화부(1050) 사이에 주파수 공간 변화부, 및 양자화부를 더 포함할 수 있다.
주파수 공간 변환부는 감산부(1030)에 의해 생성된 비교영상과 예측영상의 차이를 DHT(Discrete Hadamard Transformation) 또는 DCT(Discrete Cosine Transformation) 등의 방법을 이용하여 색 공간으로부터 주파수 공간으로 변환하고, 양자와부는 주파수 공간 변화부에 의해 변환된 값들을 양자화한다.
부호화부(1050)는 양자화부에 의해 양자화된 값들을 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding) 등의 부호화 방법에 의해 부호화하여 비트 스트림을 생성한다.
역양자화부는 양자화된 값들에 양자화 파라미터를 곱함으로서 주파수 성분 값들을 복원하고, 가산기(1070)는 움직임 보상부(1020)에 의해 생성된 예측영상과 복원된 영상의 차이를 가산하여 복원영상을 생성한다.
움직임 추정 방법
도 12는 본 발명의 다른 측면에 따른 움직임 추정 방법의 일 실시예를 나타내는 흐름도이다.
본 실시예에 따르면, 도 12에 도시한 바와 같이, n차 영상, n차 적분 영상을 순차적으로 생성하고(S1210, S1220), n차 적분 영상을 이용하여 n차 모멘텀을 산출하여(S1230) 블록 정합 오차를 산출하고(S1240), 블록 정합 오차가 최소가 되는 블록을 매칭시켜 움직임 벡터를 추정한다(S1250).
n차 영상 생성(S1210)은 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 픽셀의 n차 픽셀값으로 하여 n차 비교영상 및 n차 기준영상을 생성한다.
n차 적분 영상 생성(S1220)은 생성된 n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 적분하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성한다.
n차 모멘텀 산출(S1230)은 n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀을 각각 계산한다.
움직임 벡터 추정(S1250)은 계산된 비교영상의 n차 모멘텀과 기준영상의 n차 모멘텀 차의 절대값이 최소인 블록을 비교영상과 기준영상에서 각각 추출하고, 추출된 블록의 좌표차를 움직임 벡터로 결정한다.
본 발명에 따르면, 현재영상(비교영상)의 생성된 n차 영상 및 n차 적분 영상, 산출된 n차 모멘텀 및 블록 매칭 오류값을 다음영상의 움직임 추정시, 기준영상으로 활용할 수 있으므로, 고속으로 움직임을 추정할 수 있다.
특히, 비교영상과 기준영상의 n차 적분 영상을 생성하면, 각 영상에 포함되는 모든 블록의 움직임 벡터 산출을 위해 동일한 n차 적분 영상을 사용할 수 있으므로 NxN 크기의 블록 비교시 종래에는 (2NxN-1)회의 연산이 필요했지만, 본 발명에 따르면, (5*n-1)회로 연산 회수를 감소시킬 수 있다.
H.264에서 일반적으로 사용하는 N은 8이므로, 종래의 127회 연산이 9회(n=2), 14회(n=3) 등으로 감소하게 되어, 약 9배에서 14배 정도의 속도 향상을 가져올 수 있다.
본 발명은 컨텐츠를 송수신하는 분야에서, 컨텐츠 전송 시 네트워크 사용 비용을 고려하여 다수의 클라이언트에게 멀티캐시트하는 장치, 시스템, 및 상기의 방법을 기록한 기록매체, 응용 프로그램을 실행하는 장치에 적용될 수 있다.
또한, 본 발명은 영상을 인코딩하는 분야, 또는 인코딩하여 전송하는 분야에서 블록 정합(block matching) 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 장치, 시스템 및 상기의 방법을 기록한 기록매체, 응용 프로그램을 실행하는 장치에 적용될 수 있다.

Claims (25)

  1. 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하고, 상기 N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, 상기 N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 컨텐츠 제공장치; 및
    상기 컨텐츠 제공장치로부터 제공된 상기 N×M개의 멀티캐스트 스트림 채널 리스트 중 하나의 채널을 선택하고 선택된 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 사용자 단말기;를 포함하는 멀티캐스트 기반 컨텐츠 전송 시스템.
  2. N×M개의 멀티캐스트 스트림 채널을 생성하는 채널 생성부;
    N×M개의 멀티캐스트 스트림 채널 정보가 포함된 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하는 채널 리스트 생성부; 및
    상기 채널 리스트 생성부에서 생성된 상기 N×M개의 멀티캐스트 스트림 채널 리스트를 제공하고, 상기 채널 생성부에서 생성된 상기 N×M개의 멀티캐스트 스트림 채널 중 하나의 채널을 통해 컨텐츠를 전송하는 통신부;를 포함하는 컨텐츠 제공장치.
  3. 제2항에 있어서,
    상기 채널 생성부는, 전송 시작 시각이 T시간 간격으로 배치된 N개의 멀티캐스트 스트림 채널과 상기 N개의 멀티캐스트 스트림 채널 각각이 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널로 구성된 N×M개의 멀티캐스트 스트림 채널을 생성하는 것을 특징으로 하는 컨텐츠 제공장치.
  4. 제2항에 있어서,
    상기 N×M개의 멀티캐스트 스트림 채널 정보는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률을 포함하는 것을 특징으로 하는 컨텐츠 제공장치.
  5. 제2항에 있어서,
    상기 N×M개의 멀티캐스트 스트림 채널로 전송할 컨텐츠를 각각 패킷 형태로 생성하는 컨텐츠 준비부;를 더 포함하는 것을 특징으로 하는 컨텐츠 제공장치.
  6. N×M개의 멀티캐스트 스트림 채널 리스트를 제공받고, 상기 N×M개의 멀티캐스트 스트림 채널 리스트 중 하나의 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 전송하고, 상기 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송받는 통신부; 및
    네트워크의 가용 전송률을 확인하고, 상기 가용 전송률과 컨텐츠 전송 요청 시간을 이용하여 상기 통신부에서 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 이용 가능한 멀티캐스트 스트림 채널을 선택하는 채널 선택부;를 포함하는 사용자 단말기.
  7. 제6항에 있어서,
    상기 N×M개의 멀티캐스트 스트림 채널 리스트는 각 채널별 전송할 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함되는 것을 특징으로 하는 사용자 단말기.
  8. 제7항에 있어서,
    상기 채널 선택부는, 상기 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 상기 가용 전송률 이하의 전송률을 갖는 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 상기 후보 멀티캐스트 스트림 채널 중 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 상기 컨텐츠 전송 요청 시간과 가장 가까운 멀티캐스트 스트림 채널을 선택하는 것을 특징으로 하는 사용자 단말기.
  9. 제7항에 있어서,
    상기 전송된 컨텐츠를 저장하는 컨텐츠 수신부를 더 포함하고,
    상기 컨텐츠 수신부는, 상기 전송된 컨텐츠의 손실된 패킷 개수가 기준값 이하인 경우 순방향 에러 정정(Forward Error Correction)에 의해 손실된 패킷을 복원하여 저장하고, 손실된 패킷 개수가 기준값을 초과한 경우 상기 전송된 컨텐츠의 패킷을 삭제한 후 상기 컨텐츠의 재전송을 요청하는 것을 특징으로 하는 사용자 단말기.
  10. 제9항에 있어서,
    상기 컨텐츠의 재전송 요청이 있는 경우, 상기 채널 선택부는 상기 컨텐츠 재전송 요청시 가용 전송률과 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송률을 비교하여 후보 멀티캐스트 스트림 채널 리스트를 선택하고, 상기 컨텐츠 재전송 요청 시간과 상기 전송 시작 시간을 비교하여 멀티캐스트 스트림 채널을 선택하는 것을 특징으로 하는 사용자 단말기.
  11. 제7항에 있어서,
    상기 채널 선택부는, 상기 제공받은 N×M개의 멀티캐스트 스트림 채널 리스트 중 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 상기 컨텐츠 전송 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하고, 상기 후보 멀티캐스트 스트림 채널 중 전송률이 상기 가용 전송률 이하이고 전송률이 가장 높은 멀티캐스트 스트림 채널을 선택하는 것을 특징으로 하는 사용자 단말기.
  12. 컨텐츠 제공장치에서 N×M개의 멀티캐스트 스트림 채널과 멀티캐스트 스트림 채널 정보를 포함하는 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하는 단계;
    상기 컨텐츠 제공장치에서 상기 N×M개의 멀티캐스트 스트림 채널 리스트를 사용자 단말기로 전송하는 단계;
    상기 사용자 단말기에서 상기 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 멀티캐스트 스트림 채널 정보를 이용하여 컨텐츠가 전송될 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 상기 컨텐츠 제공장치로 전송하는 단계; 및
    상기 컨텐츠 제공장치에서 상기 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널을 이용하여 상기 사용자 단말기로 컨텐츠를 전송하는 단계;를 포함하는 멀티캐스트 기반 컨텐츠 전송 방법.
  13. (a) 컨텐츠 제공장치에서 전송 시작 시간 및 전송률이 서로 다른 N×M개의 멀티캐스트 스트림 채널을 생성하는 단계;
    (b) 상기 컨텐츠 제공장치에서 상기 N×M개의 멀티캐스트 스트림 채널 정보가 포함되는 N×M개의 멀티캐스트 스트림 채널 리스트를 생성하여 제공하는 단계; 및
    (c) 상기 컨텐츠 제공장치에서 채널 선택 신호를 전송받고, 상기 채널 선택 신호에 대응되는 멀티캐스트 스트림 채널로 컨텐츠를 전송하는 단계;를 포함하는 컨텐츠 제공장치의 멀티캐스트 기반 컨텐츠 전송 방법.
  14. 제13항에 있어서,
    상기 (a) 단계는,
    (a-1) 전송 시작 시각이 T시간 간격으로 배치된 N개의 멀티캐스트 스트림 채널을 생성하는 단계; 및
    (a-2) 상기 N개의 멀티캐스트 스트림 채널 각각에 대하여 서로 다른 전송률을 가지는 M개의 멀티캐스트 스트림 채널을 생성하여 N×M개의 멀티캐스트 스트림 채널을 생성하는 단계;를 포함하여 구성되는 것을 특징으로 하는 컨텐츠 제공장치의 멀티캐스트 기반 컨텐츠 전송 방법.
  15. (a) 사용자 단말기에서, 컨텐츠 정보, 전송 시작 시간 및 전송률로 구성된 멀티캐스트 스트림 채널 정보가 포함되는 N×M개의 멀티캐스트 스트림 채널 리스트를 전송받는 단계;
    (b) 상기 사용자 단말기에서, 상기 전송된 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간, 전송률, 컨텐츠 정보와 상기 사용자 단말기에서 측정된 네트워크 가용 전송률, 컨텐츠 전송 요청 시간, 전송받을 컨텐츠 정보를 비교하여 멀티캐스트 스트림 채널을 선택하는 단계;
    (c) 상기 사용자 단말기에서, 상기 멀티캐스트 스트림 채널을 선택하는 채널 선택 신호를 전송하는 단계; 및
    (d) 상기 사용자 단말기에서, 상기 선택한 멀티캐스트 스트림 채널로 컨텐츠를 수신하는 단계;를 포함하는 사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법.
  16. 제15항에 있어서,
    상기 (b) 단계는,
    (b-1) 상기 전송된 N×M개의 멀티캐스트 스트림 채널 리스트 중 상기 가용 전송률 이하의 전송률을 갖는 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하는 단계; 및
    (b-2) 상기 후보 멀티캐스트 스트림 채널 중 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 상기 컨텐츠 전송 요청 시간과 가장 가까운 멀티캐스트 스트림 채널을 선택하는 단계;를 포함하여 구성되는 것을 특징으로 하는 사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법.
  17. 제15항에 있어서,
    상기 (b) 단계는,
    (b-1) 상기 전송된 N×M개의 멀티캐스트 스트림 채널 리스트 중 상기 N×M개의 멀티캐스트 스트림 채널 리스트의 전송 시작 시간이 상기 컨텐츠 전송 요청 시간 이후인 멀티캐스트 스트림 채널을 후보 멀티캐스트 스트림 채널로 선택하는 단계; 및
    (b-2) 상기 후보 멀티캐스트 스트림 채널 중 전송율이 가장 높은 멀티캐스트 스트림 채널을 선택하는 단계;를 포함하여 구성되는 것을 특징으로 하는 사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법.
  18. 제15항에 있어서,
    상기 (d) 단계 이후에,
    (e) 상기 사용자 단말기에서, 상기 전송된 컨텐츠의 손실된 패킷 개수와 기준값을 비교하여 순방향 에러 정정(Forward Error Correction)에 의한 손실된 패킷 복원 또는 상기 전송된 컨텐츠의 패킷을 삭제한 후 상기 컨텐츠의 재전송을 요청하는 단계;를 더 포함하는 것을 특징으로 하는 사용자 단말기의 멀티캐스트 기반 컨텐츠 수신 방법.
  19. 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 상기 픽셀의 n차 픽셀값으로 하는 n차 비교영상 및 n차 기준영상을 생성하는 n차 영상 생성부;
    상기 n차 비교영상 및 상기 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하는 n차 적분 영상 생성부;
    상기 n차 적분 비교영상 및 상기 n차 적분 기준영상을 이용하여 설정된 블록에 대한 상기 비교영상의 n차 모멘텀과 상기 기준영상의 n차 모멘텀을 산출하는 n차 모멘텀 계산부; 및
    상기 비교영상의 n차 모멘텀과 상기 기준영상의 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 상기 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 움직임 벡터 추정부;를 포함하는 움직임 추정 장치.
  20. 제19항에 있어서,
    상기 n차 영상 생성부는 다음의 수학식을 이용하여 상기 n차 비교영상 및 상기 n차 기준영상을 생성하는 것을 특징으로 하는 움직임 추정 장치.
    [수학식]
    Figure PCTKR2012003410-appb-I000007
    여기서, i(x,y)은 비교영상 또는 기준영상의 원영상을 의미하고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고, (x,y)는 픽셀 좌표를 의미한다.
  21. 제19항에 있어서,
    상기 n차 적분 영상 생성부는 다음의 수학식을 이용하여 n차 적분 비교영상과 n차 적분 기준영상을 생성하는 것을 특징으로 하는 움직임 추정 장치.
    [수학식]
    Figure PCTKR2012003410-appb-I000008
    여기서, In(x,y)는 n차 적분 비교영상 또는 n차 적분 기준영상을 의미히고, On(x,y)는 n차 비교영상 또는 n차 기준영상을 의미하고 (x,y)는 픽셀 좌표를 의미한다.
  22. 제19항에 있어서,
    상기 n차 모멘텀 계산부는 비교영상과 기준영상에 대하여 설정된 블록을 포함하는 4개의 블록의 n차 모멘텀을 다음 수학식을 이용하여 산출하는 것을 특징으로 하는 움직임 추정 장치.
    [수학식]
    Figure PCTKR2012003410-appb-I000009
    여기서, 상기 In(x, y)는 (xe, ye) 픽셀 또는 블록의 n차 적분 비교영상 또는 n차 적분 기준영상을 의미하고, (xe, ye), (xe-1, ye-1), (xe-1, ye), (xe, ye-1)는 픽셀 좌표 또는 블록 좌표를 의미한다.
  23. 제19항에 있어서,
    상기 움직임 벡터 추정부는 상기 블록 정합 오차를 다음 수학식을 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출하는 것을 특징으로 하는 움직임 추정 장치.
    [수학식]
    Figure PCTKR2012003410-appb-I000010
    Figure PCTKR2012003410-appb-I000011
    여기서, Mn,ref는 기준영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, Mn,curr는 비교영상의 설정된 블록에 대한 n차 모멘텀을 의미하고, αn 및 ßn 는 n차 모멘텀에 대한 가중치를 의미하고, γ는 상수를 의미한다.
  24. 비교영상 및 기준영상에 대하여 n차 비교영상 및 n차 기준영상을 생성하고, 상기 n차 비교영상 및 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하고, 상기 n차 적분 비교영상 및 n차 적분 기준영상을 이용하여 설정된 블록에 대한 비교영상과 기준영상의 n차 모멘텀을 각각 산출하고, 상기 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하고, 상기 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 움직임 추정부;
    상기 추정된 움직임 벡터를 이용하여 상기 기준영상으로부터 상기 비교영상에 대한 예측영상을 생성하는 움직임 보상부;
    상기 비교영상과 상기 예측영상의 차영상을 생성하는 감산부; 및
    상기 생성된 차영상을 부호화하는 부호화부;를 포함하는 고속 움직임 추정을 위한 영상 부호화 장치.
  25. 비교영상 및 기준영상의 각 픽셀에 대하여 픽셀값을 n번 곱한 값을 상기 픽셀의 n차 픽셀값으로 하는 n차 비교영상 및 n차 기준영상을 생성하는 단계;
    상기 n차 비교영상 및 상기 n차 기준영상에 대하여 설정된 픽셀 좌표까지 픽셀값을 연산하여 n차 적분 비교영상 및 n차 적분 기준영상을 생성하는 단계;
    상기 n차 적분 비교영상 및 상기 n차 적분 기준영상을 이용하여 설정된 블록에 대한 상기 비교영상의 n차 모멘텀과 상기 기준영상의 n차 모멘텀을 산출하는 단계;
    상기 비교영상의 n차 모멘텀과 상기 기준영상의 n차 모멘텀 차를 이용하여 블록 정합 오차를 산출하는 단계; 및
    상기 블록 정합 오차가 최소인 비교영상의 블록과 기준영상 블록의 좌표차를 움직임 벡터로 추정하는 단계;를 포함하는 고속 움직임 추정 방법.
PCT/KR2012/003410 2011-07-06 2012-05-02 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법 WO2013005917A1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/131,068 US9769511B2 (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
CN201280033573.3A CN103650375B (zh) 2011-07-06 2012-05-02 基于多播的内容传输系统和方法以及用于高速地估算运动的设备和方法
EP12806939.0A EP2731278A4 (en) 2011-07-06 2012-05-02 SYSTEM AND METHOD FOR CONTENT TRANSMISSION ON A MULTI-DESTINATION BASE AND HIGH SPEED TRAVEL ESTIMATING APPARATUS AND METHOD
US14/568,628 US9355461B2 (en) 2011-07-06 2014-12-12 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US15/673,034 US10341704B2 (en) 2011-07-06 2017-08-09 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2011-0066753 2011-07-06
KR1020110066753A KR101931653B1 (ko) 2011-07-06 2011-07-06 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법
KR1020110066754A KR101931652B1 (ko) 2011-07-06 2011-07-06 사용자 네트워크 환경에 적응적인 멀티캐스트 기반 컨텐츠 전송 시스템 및 방법
KR10-2011-0066754 2011-07-06
KR10-2011-0072892 2011-07-22
KR1020110072892A KR101786957B1 (ko) 2011-07-22 2011-07-22 고속 움직임 추정을 위한 장치 및 방법

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US14/131,068 A-371-Of-International US9769511B2 (en) 2011-07-06 2012-05-02 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US14/568,628 Division US9355461B2 (en) 2011-07-06 2014-12-12 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement
US15/673,034 Continuation US10341704B2 (en) 2011-07-06 2017-08-09 Multicast-based content transmitting system and method, and device and method for estimating high-speed movement

Publications (1)

Publication Number Publication Date
WO2013005917A1 true WO2013005917A1 (ko) 2013-01-10

Family

ID=47437239

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/003410 WO2013005917A1 (ko) 2011-07-06 2012-05-02 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법

Country Status (4)

Country Link
US (2) US9355461B2 (ko)
EP (2) EP3171603A1 (ko)
CN (3) CN103650375B (ko)
WO (1) WO2013005917A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104823179B (zh) * 2012-12-12 2018-08-07 Sk 普兰尼特有限公司 用于提供用户输入的即时结果的方法及其系统和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973741A (en) * 1994-08-25 1999-10-26 Sony Corporation Motion vector detection apparatus and predictive coding system for compensating for movement with the apparatus
KR100648596B1 (ko) * 1998-05-20 2006-11-23 소니 일렉트로닉스 인코포레이티드 움직임 벡터를 획득하기 위한 방법 및 움직임 추정 시스템과, 컴퓨터-판독가능 매체와, 디지털 비디오 데이터 프레임을 변환하기 위한 방법 및 시스템
US20070211665A1 (en) * 2006-03-07 2007-09-13 Akihiko Yoshida Area management system
US20080024663A1 (en) * 2006-07-27 2008-01-31 Oki Electric Industry Co., Ltd. Content receiver terminal device with zapping response improved in viewing multi-channel video content

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2317525B (en) * 1996-09-20 2000-11-08 Nokia Mobile Phones Ltd A video coding system
US6430317B1 (en) * 1997-12-31 2002-08-06 Sarnoff Corporation Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
US6289054B1 (en) 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6256673B1 (en) 1998-12-17 2001-07-03 Intel Corp. Cyclic multicasting or asynchronous broadcasting of computer files
US6665872B1 (en) 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US6567469B1 (en) * 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
US6973667B2 (en) 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs
US8209429B2 (en) 2001-07-19 2012-06-26 British Telecommunications Public Limited Company Video stream switching
US7218610B2 (en) 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
WO2003032628A1 (en) * 2001-10-08 2003-04-17 Koninklijke Philips Electronics N.V. Device and method for motion estimation
JP3757857B2 (ja) * 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
KR100453714B1 (ko) * 2001-12-31 2004-10-20 (주)펜타마이크로 Mpeg 영상 압축 기술을 이용한 디지털 영상 저장장치에서의 움직임 검출 장치 및 그 방법
EP1359722A1 (en) 2002-03-27 2003-11-05 BRITISH TELECOMMUNICATIONS public limited company Data streaming system and method
CN1147806C (zh) * 2002-08-20 2004-04-28 西安交通大学 基于ip网的多媒体实时授课系统
KR20040049214A (ko) 2002-12-05 2004-06-11 삼성전자주식회사 고속 모션벡터 추정장치 및 방법
KR100573696B1 (ko) * 2003-07-31 2006-04-26 삼성전자주식회사 패턴 분석에 기반한 움직임 벡터 보정 장치 및 방법
US20050157949A1 (en) * 2003-09-30 2005-07-21 Seiji Aiso Generation of still image
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications
EP1781034A4 (en) * 2004-07-27 2011-04-27 Sharp Kk PSEUDO VIDEO ON DEMAND SYSTEM, CONTROL PROCEDURE FOR A PSEUDO VIDEO ON DEMAND SYSTEM AND PROGRAM AND RECORDING MEDIUM THEREFOR
US20090064242A1 (en) 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
US8000304B2 (en) * 2005-12-12 2011-08-16 Motorola Mobility, Inc. System and method for determining a forward channel rate for wirelessly communicating information to a wireless communication device
KR100860770B1 (ko) 2005-12-28 2008-09-30 (주)주인네트 무선 환경에서 멀티캐스트/브로드캐스트 데이터를안정적으로 전송하는 방법 및 장치
US8612619B2 (en) 2006-03-31 2013-12-17 Alcatel Lucent Method and apparatus for improved multicast streaming in wireless networks
US7869657B2 (en) * 2006-06-12 2011-01-11 D & S Consultants, Inc. System and method for comparing images using an edit distance
CN101523908A (zh) * 2006-10-02 2009-09-02 艾利森电话股份有限公司 多媒体管理
CN101222305B (zh) 2007-01-09 2012-04-04 华为技术有限公司 一种重传数据的方法、系统及装置
JP4405523B2 (ja) * 2007-03-20 2010-01-27 株式会社東芝 コンテンツ配信システム、このコンテンツ配信システムで使用されるサーバ装置及び受信装置
KR100880893B1 (ko) * 2007-09-14 2009-01-30 한국전자통신연구원 복수의 멀티캐스트를 이용한 iptv 고속 채널 전환을위한 장치 및 그 방법
CN101861709B (zh) * 2007-10-23 2014-06-11 汤姆森特许公司 用于具有合并的自动重复请求的自适应前向纠错以在无线局域网中进行可靠多播的方法和装置
BRPI0822262A2 (pt) * 2008-02-14 2015-06-23 Ericsson Telefon Ab L M Método, aparelho adequado, nó receptor de serviço adequado, e nó de provisão de serviço adequado para otimizar o uso da largura de banda em um sistema de controle de serviços de multidifusão, aparelho do nó de provisão de serviço, e, artigo de manufatura
US8555149B2 (en) 2008-03-26 2013-10-08 Ikanos Communications, Inc. Systems and methods for protecting DSL systems against impulse noise
US20090262838A1 (en) 2008-04-21 2009-10-22 Qualcomm Incorporated Method and apparatus for encoding transmission data blocks for enhanced switching performance
JP5142828B2 (ja) 2008-05-29 2013-02-13 キヤノン株式会社 送信装置、送信方法及びプログラム
WO2009149601A1 (en) * 2008-06-13 2009-12-17 Shanghai Hewlett-Packard Co., Ltd Processing a super-resolution target image
JP2010130326A (ja) 2008-11-27 2010-06-10 Fujitsu Ltd ビデオオンデマンドシステムのコンテンツ配信・再生方法、送信側装置及び受信側装置
US8358696B2 (en) * 2008-12-31 2013-01-22 Intel Corporation Motion estimation techniques
KR101519622B1 (ko) 2009-02-25 2015-05-13 삼성전자 주식회사 영상 정합 장치 및 영상 정합 방법
CN101835037B (zh) * 2009-03-12 2015-02-04 索尼株式会社 对视频中的运动矢量进行可靠性分类的方法和系统
CN101924910B (zh) * 2009-06-12 2012-10-03 华为技术有限公司 频道切换过程中数据发送方法及接收方法和装置
JP5397059B2 (ja) * 2009-07-17 2014-01-22 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US20110051646A1 (en) * 2009-08-26 2011-03-03 Rice Christopher T Dynamic multicasting
KR101036552B1 (ko) 2009-11-02 2011-05-24 중앙대학교 산학협력단 적응적 탐색 영역 및 부분 정합 오차 기반의 고속 움직임 추정 장치 및 방법
KR20110056837A (ko) * 2009-11-23 2011-05-31 삼성전자주식회사 3차원 영상 디스플레이 장치 및 디스플레이 방법
US9185335B2 (en) * 2009-12-28 2015-11-10 Thomson Licensing Method and device for reception of video contents and services broadcast with prior transmission of data
US8392810B2 (en) 2010-01-25 2013-03-05 Qualcomm Incorporated Majority vote error correction
WO2011121942A1 (ja) * 2010-03-31 2011-10-06 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、ならびに動画像復号装置、動画像復号方法及び動画像復号プログラム
US8502859B2 (en) 2010-04-27 2013-08-06 Lifesize Communications, Inc. Determining buffer size based on forward error correction rate
CN101888546B (zh) * 2010-06-10 2016-03-30 无锡中感微电子股份有限公司 一种运动估计的方法及装置
WO2012001339A1 (en) 2010-06-30 2012-01-05 British Telecommunications Public Limited Company Video streaming
JP5091994B2 (ja) * 2010-09-02 2012-12-05 株式会社東芝 動きベクトル検出装置
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
US8826349B2 (en) 2011-02-01 2014-09-02 Verizon Patent And Licensing Inc. Multicast adaptive stream switching for delivery of over the top video content
JP5887764B2 (ja) * 2011-08-29 2016-03-16 株式会社Jvcケンウッド 動き補償フレーム生成装置及び方法
US9025822B2 (en) * 2013-03-11 2015-05-05 Adobe Systems Incorporated Spatially coherent nearest neighbor fields

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973741A (en) * 1994-08-25 1999-10-26 Sony Corporation Motion vector detection apparatus and predictive coding system for compensating for movement with the apparatus
KR100648596B1 (ko) * 1998-05-20 2006-11-23 소니 일렉트로닉스 인코포레이티드 움직임 벡터를 획득하기 위한 방법 및 움직임 추정 시스템과, 컴퓨터-판독가능 매체와, 디지털 비디오 데이터 프레임을 변환하기 위한 방법 및 시스템
US20070211665A1 (en) * 2006-03-07 2007-09-13 Akihiko Yoshida Area management system
US20080024663A1 (en) * 2006-07-27 2008-01-31 Oki Electric Industry Co., Ltd. Content receiver terminal device with zapping response improved in viewing multi-channel video content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2731278A4 *

Also Published As

Publication number Publication date
US9355461B2 (en) 2016-05-31
CN103650375A (zh) 2014-03-19
EP2731278A1 (en) 2014-05-14
CN106875416B (zh) 2020-11-06
EP2731278A4 (en) 2015-04-29
US20150092859A1 (en) 2015-04-02
CN106131572B (zh) 2019-04-16
CN106875416A (zh) 2017-06-20
CN106131572A (zh) 2016-11-16
US20170339445A1 (en) 2017-11-23
EP3171603A1 (en) 2017-05-24
US10341704B2 (en) 2019-07-02
CN103650375B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
WO2020071830A1 (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
WO2020071829A1 (ko) 히스토리 기반 영상 코딩 방법 및 그 장치
WO2011087323A2 (en) Method and apparatus for encoding and decoding image by using large transform unit
WO2011087321A2 (en) Method and apparatus for encoding and decoding motion vector
WO2011053021A2 (en) Method and apparatus for encoding and decoding image by using rotational transform
WO2011053050A2 (en) Method and apparatus for encoding and decoding coding unit of picture boundary
WO2011090313A2 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
WO2011053022A2 (en) Method and apparatus for encoding/decoding image with reference to a plurality of frames
WO2015009036A1 (ko) 시간적 서브 레이어 정보에 기반한 인터 레이어 예측 방법 및 장치
WO2015009132A1 (en) Hierarchical motion estimation method and apparatus based on adaptive sampling
WO2016010319A2 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
WO2020141879A1 (ko) 영상 코딩 시스템에서 서브 블록 기반 시간적 머지 후보를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2015102367A1 (ko) 다시점 비디오를 부호화하는 방법 및 그 장치, 다시점 비디오를 복호화하는 방법 및 그 장치
WO2015194913A1 (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
WO2021125700A1 (ko) 예측 가중 테이블 기반 영상/비디오 코딩 방법 및 장치
WO2020251340A1 (ko) 움직임 벡터 예측 기반 영상/비디오 코딩 방법 및 장치
WO2018097466A1 (ko) 영상 복잡도 정보를 이용한 화면 영역별 차등 대역폭 할당 방법 및 장치
WO2013005917A1 (ko) 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법
WO2010098556A2 (ko) 영상 부호화/복호화 장치 및 방법
EP4268470A1 (en) Apparatus and method for providing media streaming
WO2021125702A1 (ko) 가중된 예측에 기반한 영상/비디오 코딩 방법 및 장치
WO2021091214A1 (ko) 크로마 양자화 파라미터 오프셋 관련 정보를 코딩하는 영상 디코딩 방법 및 그 장치
WO2020180044A1 (ko) Lmcs에 기반한 영상 코딩 방법 및 그 장치
WO2023022578A1 (ko) 영상 신호 처리 방법 및 장치
WO2023200243A1 (ko) Mvd 부호 예측에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

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: 12806939

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012806939

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012806939

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14131068

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE