KR101044213B1 - 비디오 전송 방법 - Google Patents

비디오 전송 방법

Info

Publication number
KR101044213B1
KR101044213B1 KR1020057008950A KR20057008950A KR101044213B1 KR 101044213 B1 KR101044213 B1 KR 101044213B1 KR 1020057008950 A KR1020057008950 A KR 1020057008950A KR 20057008950 A KR20057008950 A KR 20057008950A KR 101044213 B1 KR101044213 B1 KR 101044213B1
Authority
KR
South Korea
Prior art keywords
sequence
segment
bit rate
per frame
segments
Prior art date
Application number
KR1020057008950A
Other languages
English (en)
Other versions
KR20050086731A (ko
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 GB0226872A external-priority patent/GB0226872D0/en
Priority claimed from GB0322767A external-priority patent/GB0322767D0/en
Application filed by 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 filed Critical 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니
Publication of KR20050086731A publication Critical patent/KR20050086731A/ko
Application granted granted Critical
Publication of KR101044213B1 publication Critical patent/KR101044213B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/80Responding to QoS
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network

Abstract

압축되어 기록된 비디오는 대역폭 예약을 사용하여 가변 비트율 링크를 통해 전송된다. 낭비된 대역폭을 최소화하기 위해, 사용되는 전송률과 예약된 전송률을 매칭하는 방식으로, 임의의 주어진 시간에 사용되는(및 예약되는) 전송률을 판정하기 위해서, 데이터 스트림은 전체 청크(chunk)에 대한 평균 비트율이 동일 포인트에서 출발하는 임의의 더 짧은 청크에 대한 평균 비트율 보다 작지 않게끔 선택된 청크로 나뉘어진다. 그러면 청크는 어떤 버퍼링 문제도 없이 이러한 평균 비트율을 사용하여 전송될 수 있다. 청크에 대한 평균 비트율이 동일 포인트에서 출발하는 임의의 더 짧거나 또는 더 긴 청크에 대한 평균 비트율 보다 작지 않게끔 청크를 선택하는 것이 바람직하다. 이는 대역폭에 대한 요청이 임의의 이전의 이러한 요청에서 특정된 것보다 높은 할당을 요구할 필요가 없는 장점을 가진다. 다른 정도의 압축을 갖는 스트림 사이에서 스위칭하는 시스템에서, 스위칭 포인트는 유리하게도 청크간 경계와 일치하도록 선택될 수 있다.

Description

비디오 전송 방법{TRANSMISSION OF VIDEO}
[기술분야]
본 발명은 디지털로 코딩된 비디오 신호, 더욱 상세하게는 압축 알고리듬을 사용하여 인코딩된 비디오 신호를, 예컨대 통신 네트워크를 통해 전송하는 것에 관한 것이다.
[배경기술]
압축 알고리듬의 원리는 전송되는 것이 필요한 비트 수를 줄이기 위해서 본래의 비디오 신호의 고유의 리던던시(redundancy)을 이용하는 것이다. 이러한 많은 알고리듬은 ITU H.263 및 ISO MPEG 표준과 같은 국제적인 표준에 정의된다. 이들에 대한 유용한 리뷰는 Ghanbari, M., Video Coding, an introduction to standard codecs, IEE, London, 1999에 제공된다.
리던던시의 정도는 자연적으로 화상 콘텐츠에 따라 변화하고, 결과적으로 압축 효율도 또한 마찬가지이고, 프레임당 코딩된 비트수의 변화로 귀착된다. 일 옵션은 전송률이 시간에 따라 크게 변화하는 소위 가변 비트율(VBR : Variable Bit Rate) 시스템에서와 같이, 비트가 생성될 때 비트를 전송하는 것이다. 다른 옵션 - 고정 비트율(CBR : Constant Bit Rate) 시스템 - 은 이러한 변화를 완화하기 위해, 전송기 및 수신기 양자에 버퍼를 사용하고, 전송 버퍼로부터 수신 버퍼로 고정된 비트율로 전송하는 것이다. CBR 시스템은 버퍼 오버플로를 방지하기 위해서 데이터가 생성되는 비트율을 변화시키기 위해(예컨대 사용된 양자화의 조잡성 (coarseness), 또는 프레임 드롭(frame dropping)을 조절함으로써) 피드백 메커니즘을 사용한다. 버퍼링의 사용은 필연적으로 지연을 유발하고, 시작 레이턴시(LOS : Latency of Start)를 증가시킨다 - 즉, 사용자는 화상의 디코딩 및 디스플레이 시작 전에 수신 버퍼가 필요한 레벨로 채워지는 동안 대기하여야 한다. 피드백 메카니즘은 화상 품질의 저하에 관련된다.
비트율 변화를 완전히 제거하지 않고 감소시키는 어느 정도의 버퍼링을 사용하는 것이 또한 제안되어 있다(예컨대 Furini, M. 및 Towsley, D. F., "Real-Time Traffic transmissions over the Internet", IEEE Transactions on Multimedia, Vol. 3, No. 1, March 2001 참조).
통신 네트워크, 특히 인터넷과 같은 패킷 네트워크를 통해 전송하는 경우, 주요 관심은 패킷 손실 및 예기치 못한 지연이 문제를 발생시킬 수 있는 네트워크 혼잡(congestion)의 영향이다. 이는 전송기가 한주기 동안 전송에 관해 특정하게 보장된 비트율을 할당하도록 네트워크에 요청할 수 있는 예약 시스템의 제안을 야기시켰다. "RSVP"로 불리우는 이러한 일 시스템이 IETF(Internet Engineering Task Force) 문서 RFC 2205에 설명되어 있다. 그러나, 차등 서비스의 급증(Expedited Forwarding of Differentiated Service), 또는 CR-LDP와 같은 다른 시스템이 또한 사용될 수 있다.
라이브 비디오 제공의 경우에, 코딩되는 비트스트림의 향후 특징은 알려져 있지 않다; 그러나 기록된 자료에 대해서는 알 수 있다. 예약 시스템이 예약된 비트율의 양이 변경되는 것을 허용한다는 사실은 코딩된 자료에 대한 지식에 기초하여 얼마나 많은 네트워크 용량을 임의 시간에 예약할 것인가에 관한 정책을 판정하는 기회를 제공한다. 단순한 접근은 피크(VBR, 버퍼링되지 않음) 비트율을 계산하고 전송의 전체 기간 중에 이를 요청하는 것이나, 이는 네트워크 용량의 낭비이며, 당연히 요청되는 용량이 많으면 많을수록 네트워크가 그것을 제공할 수 없을 가능성이 더 크고 그러므로 예약 요청의 거절 가능성이 더 커지게 된다. 요청되는 비트율을 최소화하는 다른 단순한 접근은 전체 전송의 평균 비트율을 계산하고 이를 요청하는 것이다; 그러나 이는 수신기에 매우 큰 버퍼를 필요로 하고, 더욱 중요한 것은(큰 용량의 저장장치가 요즈음 상대적으로 저렴한 것을 감안할 때) 큰 LOS로 귀착된다. 피크율 접근에 대한 변경은 Furini 및 Towsley의 상기 인용된 논문에서 고찰되었다. 그들의 스킴은 비디오 시퀀스에서 피크율이 최대에 접근하는 포인트를 식별하고, 그 포인트 까지의 시간동안 이러한 비트율을 요청하는 것을 포함한다. 그러면 시퀀스의 나머지에 대해서 최대 피크율이 할당되고, 이러한(낮은) 비트율이 요청된다. 이 프로세스는 전체 시퀀스에 걸쳐서 동일한 방식으로 지속된다. 상기 논문은 또한 어느 정도의 버퍼링이 적용될 수 있고, 이에 의해 예약 알고리듬이 적용되기 전에 유효한 피크율을 감소시키는 것을 제안한다. 비록 이 시스템은 단일 피크율 시스템과 비교하여 네트워크 사용의 효율을 개선하지만, 여전히 많이 낭비되는 네트워크 용량이 존재하고(즉, 예약되고 사용되지 않음), 당연히 최대 피크율이 시퀀스의 끝으로 발생한다면 이점은 작아진다. 그러나 요청된 네트워크 용량의 양이 감소하고, 특히 예약 요청이 이전의 요청을 초과하는 비트율을 결코 요구하지 않으며, 이에 의해 거절되는 예약 요청의 위험이 감소되는 이점을 갖는다.
[발명의 상세한 설명]
본 발명의 일 측면에 따르면, 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩된 비디오 신호의 디지털 시퀀스를 전송하는 방법에 있어서,
(a) 상기 시퀀스를 세그먼트로 분할하는 단계와,
(b) 각 세그먼트에 대한 비트율을 판정하는 단계와,
(c) 상기 판정된 비트율로 상기 신호를 전송하는 단계를
포함하고,
제 1 세그먼트는 상기 시퀀스의 시작의 일부분이고, 상기 시퀀스는 임의의 짧은 상기 일부분의 프레임 당 평균 코딩수 이상인 프레임 당 평균 코딩 비트수를 갖고, 각 계속되는 세그먼트는 임의의 짧은 상기 일부분의 프레임 당 평균 코딩 비트수 이상인 프레임 당 평균 코딩 비트수를 갖는 이전 세그먼트를 바로 뒤따르는 일부분인 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법이 제공된다.
다른 측면에 있어서, 본 발명은 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩되고, 소스 비디오가 각각 다른 압축률을 갖는 제 1 시퀀스 및 제 2 시퀀스로 코딩되는 비디오 신호의 디지털 시퀀스를 전송하는 방법에 있어서,
(a) 스트림의 적어도 하나를 분석하여 세그먼트로 분할하는 단계와,
(b) 상기 단계 (a)에서 식별된 세그먼트 사이의 전이 부분 근방에서 스위칭 포인트를 선택하는 단계와,
(c) 상기 제 1 시퀀스가 단계 (a)에서 분석되지 않는다면, 상기 제 1 시퀀스를 분석하여 세그먼트로 분할하는 단계와,
(d) 상기 제 1 시퀀스의 상기 또는 각 세그먼트에 대한 비트율을 상기 스위칭 포인트까지 판정하는 단계와,
(e) 상기 제 1 시퀀스의 상기 스위칭 포인트까지의 신호를 상기 판정된 비트율 전송하는 단계와,
(f) 상기 스위칭 포인트로부터 전방으로의 상기 제 2 시퀀스를 포함하는 변형된 시퀀스를 분석하여 세그먼트로 분할하는 단계와,
(g) 상기 변형된 시퀀스의 세그먼트에 대한 비트율을 판정하는 단계와,
(h) 상기 변형된 시퀀스의 상기 신호를 상기 판정된 비트율로 전송하는 단계를
포함하고,
상기 분석은 각각 상기 관련된 시퀀스를 세그먼트로 분할함으로써 실행되고, 상기 제 1 세그먼트는 상기 시퀀스의 시작의 일부분이고, 상기 시퀀스는 임의의 짧은 상기 일부분의 프레임 당 평균 코딩 비트수 이상인 프레임 당 코딩된 비트의 상기 평균 개수를 갖고, 각 계속되는 세그먼트는 임의의 짧은 상기 일부분의 프레임 당 평균 코딩 비트수 이상인 프레임 당 코딩된 비트의 상기 평균 개수를 갖는 이전 세그먼트를 바로 뒤따르는 일부분인 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법이 제공된다.
본 발명의 다른 측면은 이하의 종속항에서 명백해질 것이다.
[도면의 간단한 설명]
본 발명의 약간의 실시예는 첨부되는 도면을 참조하여 예를 통해 설명될 것이다.
도 1A ~ 3C는 실행된 테스트의 결과를 도시적으로 나타낸다;
도 4는 본 발명을 실행하는 장치의 일 형태의 블록도이다;
도 5는 도 4의 장치의 동작을 설명하는 흐름도이다; 및
도 6 ~ 10은 미래의 테스트 결과를 나타내는 그래프이다.
[실시예]
수신기에서, 수신기가 프레임 g를 디코딩하기 시작하는 시간 tg부터 프레임 h를 디코딩하기 시작하는 시간 th까지의 약간의 임의의 시간 세그먼트(그러나 프레임 주기의 전체 개수와 동일하다)을 고려하자. 이 세그먼트의 지속 기간은 h-g이다. 추가로, 이 세그먼트 동안 전송률이 A bits/프레임주기 라고 가정하자.
명백하게, 시간 tg에서 수신기는 프레임 g를 포함하여 프레임 g까지 모든 프레임에 대한 비트 즉,
Figure 112008077583888-pct00001
비트를 이미 수신했음에 틀림이 없다.
여기서, dj는 프레임 j에 대해 인코더에 의해 생성된 코딩된 비트의 개수임.
그러나 수신기가 시간 g 이전에 p 추가 비트, 즉 전체적으로
Figure 112005026012987-pct00002
비트
를 수신한 것을 가정하자.
수신기가 프레임 k를 디코딩하기 시작한 임의의 시간 tk(tg
Figure 112005026012987-pct00003
tk
Figure 112005026012987-pct00004
th) 에서, 수신기는 또한 (k-g)A 비트를 수신하고, 그래서: 시간 tk에서 수신된 전체 비트는
Figure 112005026012987-pct00005
이다.
여기서, 수신기는 프레임 k를 포함하여 프레임 k까지 프레임에 대한 모든 비트, 즉: 시간 tk에서 필요한 전체 비트인
Figure 112005026012987-pct00006
를 갖는 것을 필요로 한다.
수신된 비트의 개수가 적어도 필요한 개수와 같아야 하기 때문에, 버퍼 언더플로를 피하기 위해 만족시켜야 할 필요한 조건은
Figure 112005026012987-pct00007
또는,
Figure 112005026012987-pct00008
이다.
이것이 프리로드(preload) 비트 p를 전송하지 않고 얻어진다면, 이것은
Figure 112005026012987-pct00009
또는,
Figure 112005026012987-pct00010
인 것을 필요로한다.
따라서, 전송률 A는 임의의 값 k(g+1
Figure 112005026012987-pct00011
k
Figure 112005026012987-pct00012
h)에 대해 프레임 g+1 ~ k에 대해서 프레임당 평균적으로 생성된 비트 보다 크거나 또는 같아야 하며, 이는
Figure 112005026012987-pct00013
라면 얻어질 수 있다.
이러한 비트율의 사용은, 최대값이 h = k에 대해, 즉 세그먼트의 끝에서 발생하지 않으면, 상기 세그먼트 동안 전송된 비트 (h-g)A의 개수가 상기 세그먼트 동안 생성된 비트의 개수를 초과하는 것을 의미한다. 최대값이 경과된 이후에 이같이 계산된 전송률의 계속된 사용이 절대적으로 필요한 것보다 높은 비트율의 사용을 나타내는 것으로 여겨지는 전제 상에서, 이제 설명되는 발명의 제 1 측면은 이러한 최대값들이 세그먼트의 끝에서 항상 발생하는 방식으로, 전송되는 데이터를 세그먼트로 나누는 것을 목적으로 한다.
설명되는 제 1 방법은 인터넷과 같은 패킷 네트워크를 통해 MPEG와 같은 압축 알고리듬을 사용하여 이미 인코딩된 저장된 비디오 자료의 전송을 목적으로 한다. 네트워크가 비트율 용량의 예약을 대비하고 있는 것을 미리 가정한다. 비록, 이들 요구사항은 충돌하기 때문에 임의의 해법이 절충되는 것이 반드시 필요로 하 지만,
- 작은 시작 레이턴시;
- 낮은 전송률; 및
- 높은 전송 효율(즉, 적은 낭비);을 얻는 것과 같은 방식으로 시간의 함수로서 사용되는 비트율을 판정하는 것을 목적으로 한다.
이 예에서, 선택될 수 있는 비트율에 제약이 존재하지 않고, 전송을 위해 사용된 비트율과 네트워크 상에 예약된 비트율이 동일한 것으로 가정한다.
이러한 제 1 측면은 또한 요청된 비트율이 결코 증가할 수 없는 제약을 받는다. 즉, 이것은 단조(monotonically) 감소하는 시간의 함수이다: 상기에서 언급한 바와 같이, 이는 예약 실패의 위험을 줄이는데 바람직하다.
거대한 저장 하드웨어는 현재 사용자에게 문제가 아니기 때문에, 이 해법에서, 디코더에서 필요한 버퍼 사이즈를 줄이는 것은 주요한 관심는 아니지만, 사실상 이 방법으로부터 야기되는 필요한 버퍼 사이즈는 또한 VBR 비디오 전송을 얻기 위해 평균 비트율을 사용하는 것과 비교하여 크게 감소된다. 실제로 드물게 마주치지만 심지어 최악의 경우에, 필요한 버퍼 사이즈는 평균 비트율로 VBR 비디오 스트림을 전송하는 경우에 필요한 것보다 크지 않을 수 있다.
다음의 알고리듬은 사용되는 "전송 함수"("FOT" : Function of Transmission)를 판정한다.
비디오 시퀀스에서 N 프레임이 존재하고, 각 프레임에 대해 인코딩된 비트의 개수가 각각 d0, d1,.....,dN-1 인 것으로 가정한다.
상기에서 언급한 바와 같이, 이러한 알고리듬은 전송 함수가 결코 증가할 수 없고, 단지 감소하는 제약을 받는다.
개념상으로, 전송률 변화는 FOT의 임의의 프레임 간격에서 발생할 수 있다. 실제로, 사용중인 특정한 예약 시스템의 제약에 의존하여 비트율이 얼마나 자주 변화될 수 있는가에 관한 한계가 존재할 수 있다; 그러나, 단조 감소하는 FOT와 함께, 단지 그 영향이 실제로 필요한 것보다 많은 용량의 예약이기 때문에 비트율 변화의 지연은(비록 네트워크 용량의 낭비가 있지만) 품질의 어떤 손실도 발생시키지 않는다. 알고리듬의 제 1 단계는 FOT가 얼마나 많은 "단계"를 갖는가, 및 각 단계가 언제 발생하는가를 구하는 것이다.
먼저, 시작부터 프레임 i를 포함하여 프레임 i까지 비디오 시퀀스의 평균 비트율을 나타내는
Figure 112005026012987-pct00014
를 정의한다.
그다음, A0,A1,...,AN-1가 계산되고, 이들로부터 i의 값은 가장 큰 Ai를 갖는다. 이 값이 k0 인 것으로 가정하자. 제 1 "단계" 끝은 프레임 k0의 끝에서 발생하는 것으로 정의된다. 이는 프레임 k0의 끝까지, FOT가 그의 가장 높은 전송률을 필요로하는 것을 의미한다.
제 1 "단계"를 구한 이후에, 프레임(k0+1)는 다음 프레임에 대해 제 "1" 프레임으로서 간주되고 Ai+1 (1)은 i=k0+1, k0+2,..., N-1에 대해 계산된다. 이에 대한 공식은
Figure 112005026012987-pct00015
또는,
일반적인 경우에,
Figure 112005026012987-pct00016
이다.
또한, 가장 큰 값이 프레임 k1의 끝에서, 제 2 "단계" 끝으로서 선택되고, k1은 i의 상응하는 값이다. 상기 과정은 프레임 N-1에서 최종 "단계" 끝이 도달될 때까지 반복된다. 일반적으로 이는 비디오 시퀀스를 M-1 세그먼트로 나누는 것으로써 간주될 수 있는 m=0,...,M-1(여기서 kM-1은 항상 N-1과 같다)인 M의 값 km으로 귀결된다: 세그먼트 0은 프레임 0 ~ k0을 포함한다; 다른 세그먼트 m은 각각 프레임 km-1+1 ~ km을 포함한다.
알고리듬의 제 2 단계의 목적은 각 "단계"의 "레벨"에 대한 적절한 전송률을 선택하는 것이다. 현재, 이론적으로, 모든 필요한 비트가 심지어 어떤 프리로드 비트도 없이 각 "단계"의 끝까지 전달되는 것을 보장할 수 있는 최저 비트율은 세그먼트를 만드는 프레임의 평균 비트율이다. 더 낮은 비트율은 프리로드 비트 및 결과적으로 높은 LOS를 반드시 필요로 하지만, 반면 높은 비트율로 네트워크 용량이 낭비될 수 있다. 또한, 전송률이 높을수록 자원을 예약하는데 더 많은 실패의 위험을 발생시킨다.
m = 0,1,...,M-1인 M 세그먼트가 존재한다. 또한,
Si는 세그먼트 i에서 생성된 비트의 합계이다 - 즉,
Figure 112005026012987-pct00017
이다;
Ri는 세그먼트 i의 FOT의 전송률이다;(K0=k0+1 임을 유의)
Ki는 세그먼트 i의 프레임의 개수이다 - 즉, ki-ki-1;
이 경우에 필요한 비트율은 단순히 평균 비트율 Ri=Si/Ki 이다; i=1,2,...M-1.
이 방법은 K-1=-1이라고 정의하면, 세그먼트 0에 대한 비트율 R0를 계산하는데 또한 사용될 수 있다.
MPEG 비디오 코딩에서, 제 1 프레임은 항상 I 프레임이고 P 또는 B 프레임 보다 많은 비트를 생성함을 유의해야 한다. 그래서, 종종 결과는 제 1 세그먼트는 단지 한 프레임을 포함하고 전송률 R0가 R1 보다 훨씬 큰 것을 나타낸다. 사용자는 자원 예약 성공의 좋은 기회를 갖기 위해서 몇개의 프레임 간격을 대기할 수 있기 때문에, R0=R1 로 설정되는 것이 좋다.
제 3 단계: 전체 FOT를 판정한 이후에, 디코더에서 필요한 버퍼 사이즈가 판정될 수 있다.
지금부터 선택될 수 있는 비트율에 제약을 받는 제 2 변형 측면을 설명한다. 예컨대 상기 제약은 비트율이 프레임당 비트의 정수이어야 한다거나, 또는 더욱 일반적으로 비트율이 다수의 불연속적인 비트율 중의 하나이어야 하는 것일 수 있다. 분석에서 다음과 같이 정의된 양자화 오퍼레이터를 사용할 것이다:
Q+(X)는 X보다 크거나 또는 같은 허용된 가장 낮은 비트율을 의미한다(또한 "실링(ceiling)" 비트율로서 참조됨);
Q-(X)는 X보다 작거나 또는 같은 허용된 가장 높은 비트율을 의미한다(또한 "플로어(floor)" 비트율로서 참조됨).
두가지 옵션이 논의될 것이다:
(a) 실링 비트율로 잘라 올림: 이 경우 사용된 비트율은 특별한 세그먼트에 대해 엄밀히 필요한 것보다 높게 될 수 있으며, 이는 다음의 세그먼트에 대해 더 낮은 비트율을 사용하는 기회를 제공한다;
(b) 플로어 비트율로 잘라 내림: 이 경우 사용된 비트율은 특별한 세그먼트 에 대해 필요한 것보다 낮게 될 수 있으며, 결과적으로 이전 세그먼트에 대해 더 높은 비트율을 사용할 필요가 있게 된다.
먼저 실링 옵션을 고려하자. 먼저 새로운 FOT의 정제된 제 1 "단계"의 "절정(height)"으로서 본래의 FOT의 제 1 "단계"의 "절정"의 실링값을 정의한다. 이 방식에서 제 1 "단계" 이후에, 제 "1" 단계에 속하는 프레임의 비트 합계 보다 많은 비트가 수신기로 전송된 것을 유의해야 한다. 따라서, 제 2 "단계"를 정제하는 경우, 이전 "단계"에서 전송된 것을 제외하고 다음 "단계"에 속하는 비트의 개수를 배제시켜야 하며 제 2 "단계"의 평균 비트율을 재계산해야 한다. 새로운 평균 비트율의 실링값이 이전 제 3 "단계"의 평균 비트율의 실링값 보다 작지 않다면, 정제된 제 2 "단계"의 "절정"으로서 정확히 정의된다. 그렇지 않으면, 정제된 제 2 "단계"의 "절정"으로서 이전 제 3 "단계"의 평균 비트율의 실링값을 정의한다. 정제된 마지막 "단계"의 "절정"이 고정될 때까지 이 과정을 따라야 한다. 항상 각 "단계"의 실링값을 취하기 때문에, VBR 비디오 스트림 전송은 비디오 시퀀스의 지속 기간 보다 짧은 수개의 프레임 간격으로 취해지는 것이 가능하다. 새로운 FOT에 기초한 전송을 시뮬레이팅하면서, FOT의 라이프타임 지속 기간은 정확히 특정될 수 있다. 일단 VBR 비디오 스트림 전송이 이루어지면, 예약된 네트워크 자원은 즉시 해제될 수 있다. 따라서, 100% 대역폭 활용이 여전히 보장된다. 정제된 제 1 "단계"의 "절정"으로, LOS는 정밀하게 재계산될 수 있다. 결국, 전송 과정의 시뮬레이팅을 통해, 오버플로를 막기위해 필요한 버퍼 사이즈도 또한 고정될 수 있다.
선택된 과정은 다음과 같다. 세그먼트로 분할은 전과 같이 진행된다.
상기에서 정의한 양 Si, Ri, Ki 뿐만 아니라, 또한 세그먼트 i의 전송률에 대한 임시값 R1 i를 도입한다.
Ⅰ. 모든 평균 비트율 R1 i = Si/Ki;i = 0,1,... M-1 을 계산한다.
Ⅱ. R0 = Q+( R1 0 )으로서 세그먼트 0에 대한 비트율로 설정한다.
(이전에 논의된 것과 같이 제 1 세그먼트에 대해 더 낮은 비트율을 사용하길 원한다면, 대신에 세그먼트 1로 시작할 수 있음을 유의해야 한다)
Ⅲ. 양자화 전에 이전 세그먼트 동안 송신된 여분 비트를 뺌으로써 세그먼트 1에 대한 비트율을 설정:
Figure 112005026012987-pct00018
또는
Figure 112005026012987-pct00019
중 더 큰 것.
Ⅳ. 잔여 세그먼트 i = 2,... M-1에 대해:
Figure 112005026012987-pct00020
또는
Figure 112005026012987-pct00021
중 더 큰 것을 설정.
자연적으로 제 2 대안은 i = M-1 에 대해 발생하지 않는다.
설명되는 제 3 측면은 "플로어" 비트율을 사용한다. 이 경우에, 처리는 최종 "단계"로부터 시작하여 역 순서로 실행되어야 한다. 이는 특별한 세그먼트에서 전송될 수 없는 비트가 이전 세그먼트에서 미리-전송될 수 있도록 하기 위해 필요하다. 특정 과정은 먼저 새로운 FOT의 정제된 최종 "단계"의 새로운 전송률로서 최종 "단계"의 평균 비트율의 플로어 값을 정의한다. 전송될 수 없으나 상기 정제된 최종 "단계"에 의해 필요한 비트의 개수는 그다음 판정될 수 있다. 이전 "단계"는 새로운 최종 "단계" FOT가 시작하기 전에 이와 같은 다수의 여분의 비트가 전송된 것을 보장해야 한다. 따라서, 둘째 "단계"를 정제하는 경우, 그것이 자체적으로 필요한 비트 외에, 최종 "단계"에 의해 필요한 여분의 비트를 운반하는 것을 목적으로 해야 한다. 그래서, 새로운 평균 비트율은 제 2 최종 "단계"를 위해 다시 계산되어야 한다. 제 2 최종 "단계"의 새로운 평균 비트율의 플로어가 본래의 FOT의 제 3 최종 "단계"의 평균 비트율의 플로어 보다 크지 않다면, 그것을 새로운 제 2 최종 "단계"로서 정의한다. 그렇지 않다면, 새로운 제 2 최종 "단계"의 "절정"으로서 이전 제 3 최종 "단계"의 평균 비트율의 플로어를 정의하라. 제 1 "단계"까지 이 과정을 따르면, 정제가 이루어지고, 정제된 FOT가 얻어진다. 실링의 경우에서와 같이: 이전에-가져온 비트 및 정제된 제 1 "비트"의 "절정"으로, LOS는 정밀하게 재계산될 수 있다; 결국, 전송 과정의 시뮬레이션을 통해, 오버플로를 막기위한 필요한 버퍼 사이즈가 또한 고정될 수 있다.
이전에서와 같이, M 세그먼트 m = 0,1,...M-1 이 존재한다. 또한, 다음을 정의한다:
Si는 세그먼트 i에서 생성된 비트의 합계이다 - 즉,
Figure 112005026012987-pct00022
이다;
Ri는 세그먼트 i의 FOT의 전송률이다;
Ki는 세그먼트 i의 프레임의 개수이다 - 즉, ki-ki-1;
R1 i은 세그먼트 i의 임시 전송률이라고 가정하자.
Ⅰ. 모든 평균 비트율 R1 i = Si/Ki;i = 0,1,... M-1 을 계산한다.
Ⅱ. 세그먼트 M-1에 대한 전송률 RM-1을 이 세그먼트에 대한 평균 비트율의 플로어 값과 동일하게 설정한다. 즉,
Figure 112005026012987-pct00023
이다.
Ⅲ. 세그먼트 M-1의 언더플로를 방지하기 위해 세그먼트 M-1의 시작의 수신 기 버퍼 내에 존재하는 것이 필요한 프리로드된 비트, PM-1의 개수를 계산한다.
Figure 112005026012987-pct00024
Ⅳ. 그러면 다음 세그먼트에 대한 비트율은 다음과 같이 계산될 수 있다.
Figure 112008077583888-pct00070
삭제
또는
Figure 112005026012987-pct00026
중 낮은 것.
Figure 112005026012987-pct00027
Ⅴ. 그러면 이 프로세스는 m= M-3,...,0인 일반적인 공식을 사용하여 반복된다:
Figure 112005026012987-pct00028
또는
Figure 112005026012987-pct00029
중 낮은 것.
그리고,
Figure 112005026012987-pct00030
임.
또한, 원한다면, 이러한 반복은 m=1에서 정지될 수 있고, R1은 세그먼트 0에 대해 사용된다.
이 프로세스는 제 1 세그먼트에 대한 프리로드인 P0에 대한 값을 제공하고, 먼저 전송되는 것을 필요로 한다. 사실, 수신기가 t=0 에서 제 1 프레임의 디코딩을 시작하기 전에 전송되는 모든 비트를 포함하는 프리로드 b0를 정의하는 것이 편리하다.
R0가 상기와 같이 계산되는 것으로 가정하면,
Figure 112005026012987-pct00031
이다.
그러나 비트율 R1이 세그먼트 0에 대해 사용된다면, 단지 (K0-1)R1 비트가 t=0과 세그먼트의 끝 사이에서 전송될 수 있고 그러므로 전체 프리로드는:
Figure 112005026012987-pct00032
이다.
시작 레이턴시(LOS)는, R1이 사용되는 것으로 가정하면, b0/R1이다.
지금부터 버퍼 사이즈의 문제가 논의될 것이다. 확실히 FOT를 가지고, 합리적인 전송률 및 LOS를 얻을 수 있다. 네트워크 전송 효율은 거의 100%일 수 있고, 고정된 평균 비트율 대역폭을 직접 사용하는 것보다 작은 버퍼 사이즈를 필요로 한 다. 그러나, 어떤 경우에는, 피크 비트율 대역폭의 예약에 의해 필요로 한 것보다 훨씬 더 크다. 피크 비트율 대역폭을 예약하는 스킴에서, 디코더의 버퍼 사이즈가 가장 복잡한 프레임에서 소모된 비트의 개수 만큼 만이라면 충분하다. 그러나, 본 스킴에서, 그보다 큰 버퍼를 필요로한다. 고정적인 평균 비트율과 비교하여, 본 스킴은 대부분의 상황에서 훨신 작은 버퍼를 얻을 수 있지만, 최악의 경우 본 스킴에 의해 필요한 버퍼 사이즈는 고정적인 평균 비트율에 의해 필요한 버퍼 사이즈에 근접한다. 이 상황은 가장 큰 Ai 가 비디오 시퀀스의 최종 프레임에서 나타나는 경우 발생한다. 이러한 상황에서, 이 "다운 스테어즈(downstairs)" 곡선은 거의 하나의 "단계"만을 갖는다. 따라서, 이는 "단계"의 변화를 통해 버퍼 사이즈를 줄이기에는 충분히 효과적이지 않을 것이다.
그럼에도 불구하고, 이러한 상황은 "피크 비트"가 늦게 나타날수록, Ai에 대한 효과는 작아지기 때문에 거의 나타나지 않는다. 시퀀스의 끝에서, 아주 약간의 예외적으로 복잡한 프레임이 비정상적으로 나타나지 않는다면, 이는 결코 발생하지 않을 것이다. 비록 상황이 발생한다 하더라도, LOS는 결코 본 스킴에 문제가 되지 않을 것이다. 현재, 사용자가 조금 큰 저장소를 갖는 하드웨어를 갖는 것은 문제가 되지 않은 것으로 믿어진다. 작은 LOS 및 양호한 네트워크 전송 효율이 사용자에게는 더 큰 관심사일 것이다.
또한, 비록 사용자가 본 스킴이 필요로 하는 큰 버퍼 사이즈를 제공할 여유가 없다고 하더라도, 전송 효율과 디코더에서 필요한 버퍼 사이즈 사이에서 절충이 취해질 수 있다. 이러한 절충에 따라서, 필요한 버퍼 사이즈는 사용자가 원하는 것 만큼 추가로 감소될 수 있다.
말하자면, 현재 알고리듬 설명은 단지 기초 단위로서 프레임당 비트를 기초하지만, 당연히 상기 단위는 GOP 또는 특정 개수의 화상 또는 패킷으로서 함께 정의될 수 있다. 알고리듬에서 어떤 단위를 정의하더라도, 그 원리는 일반적이고 공통이어야 한다.
지금부터 "플로어" 방법을 사용하여 비디오 시퀀스 코딩 테스트의 몇몇 예를 설명한다. 각각의 경우에 전송 함수 f(t)(또는 Ri)의 값, b0의 값, 및 b0의 전송에 대한 제안된 비트율이 (a) 상기 알고리듬에 대해 (b) Furini 및 Towsley의 방법을 사용하여, 및 (c) 단일, 평균 비트율을 사용하여 제공된다.
예 1. "JacknBox"
(a) H.263+ 를 사용하는 스텝 사이즈 16의 고정 양자화기로 CIF(common intermediate format) 테스트 시퀀스(Jacknbox라 칭함), 140 프레임을 코딩하여, 상기 알고리듬으로 FOT 함수를 유도했다.
Figure 112005026012987-pct00033
본 명세서에서, 디코더가 프레임 i를 디스플레이하는 시간으로서 Ti를 정의한다.
본 명세서에서의 모든 측정 비트율의 측정 단위를 프레임 간격 당 비트로서 정의한다. b0 = 39824 비트; b0에 대해 제안된 전송률 : 프레임 간격 당 5100비트
(b) Furini 및 Towsley의 방법을 사용하면,
Figure 112005026012987-pct00034
를 얻는다.
b0 = 39824 비트
이들의 전송 스킴에서, b0는 프레임 간격 당 39824 비트에 의해 얻어질 수 있다.
(c) 고정 평균 비트율로, 상기 함수는
f(t) = 3699일 수 있다.
b0 = 108488 비트;
b0 는 프레임 간격 당 3699 비트에 의해 얻어진다.
도 1은 이 결과를 그래프로 나타낸다.
분석 결과는 표 1이 된다.
JacknBox 140 프레임, H.263+
스킴 (c) 평균 비트율의 고정된 대역폭 채널 (a) 본 스킴 (b) Furini & Towsley

대역폭 활용(%)

100

100

63.46

시작 예약 비트율(비트/프레임 간격)

3,669

5,100

39,824

LOS(프레임)

108488/3669 =
29.57

39824/5100=7.8

39824/39824 = 1

버퍼 사이즈(비트)

108,488

60,336

39,824
발명자는 CBR 비트율 제어로 동일한 비디오 시퀀스를 또한 인코딩했다. 이 경우에, LOS는 29656/3735 = 7.94 프레임이다. 그러나, 10 프레임이 일반적인 CBR 비트율 제어로 건너뛰었고, 제공하는 비트 버짓(bits budget)은 VBR 인코딩의 평균 비트수와 동일하다.
예 2. H.263+를 사용하는 8400 프레임의 TV 프로그램
이 테스트는 8400 프레임을 갖는 정상적인 TV 프로그램 QCIF(quarter-CIF) 시퀀스를 사용했고 H.263+를 사용하는 스텝 사이즈 16의 고정 양자화기로 코딩했다. 화상 형태는 H.263+ 권고안에서의 132 프레임 마다 강제 업데이트되는 IPPPP...이다.
(a)
Figure 112005026012987-pct00035
b0 = 13944 비트;
이전과 같이, b0 는 프레임 간격 당 4977의 제 1 비트율로 얻어질 수 있다.
(b)
Figure 112005026012987-pct00036
b0 = 13944 비트;
b0는 프레임 간격 당 29762 비트로 전송될 수 있다.
(c) 고정 평균 비트율로, FOT는
f(t) = 3966일 수 있다.
b0 = 3348584 비트;
b0 는 프레임 간격 당 3669 비트로 설정될 수 있다.
도 2는 H.263+를 갖는 8400 프레임의 TV 프로그램에 대한 이러한 FOT 곡선을 도시한다.
분석 결과는 표 2가 된다.
8400 프레임, H.263+
스킴 (c) 평균 비트율의 고정된 대역폭 채널 (a) 본 스킴 (b) Furini & Towsley

대역폭 활용(%)

100

100

14.36

시작 예약 비트율(비트/프레임 간격)

3,966

4,977

27,672

LOS(프레임 간격)

3348584/3966 =
844.322

13944/4977=2.8

13944/27672 = 0.5

버퍼 사이즈(비트)

6,116,362

3,908,218

27,672
예 3. MPEG4로 코딩된 8400 프레임의 TV QCIF 프로그램
동일한 8400 프레임의 TV 프로그램 QCIF 시퀀스가 스텝 사이즈 10의 고정 양자화기를 가지고, MPEG4를 사용하여 코딩되었다. 화상 형태는 IBBPBBPBBPBB(N=12, M=3) 이다. B 화상에서, 화상의 인코딩 시퀀스가 화상의 디스플레이 시퀀스와 차이가 있음을 유의해야 한다. 그래서 관련 I 및 P 화상은 B 화상 이전에 전송되어야 한다. 약간의 전처리가 본 알고리듬을 사용하기 전에 필요하다.
(a) 결국, 본 FOT는
Figure 112005026012987-pct00037
이다.
b0 = 16548 비트;
b0 는 프레임 간격 당 7426 비트를 사용하여 송신될 수 있다.
(b)
Figure 112005026012987-pct00038
b0 = 16040 비트;
b0는 프레임 간격 당 57472 비트로 설정될 수 있다.
(c) 고정 평균 비트율에서, FOT는
f(t) = 6825일 수 있다.
b0 = 2874758 비트;
b0 는 프레임 간격 당 6825 비트로 설정될 수 있다.
도 3은 MPEG4(N=12, M=3)를 갖는 8400 프레임의 TV 프로그램에 대한 이러한 FOT 곡선을 도시한다.
분석 결과는 표 3이 된다.
8400 프레임, MPEG4
스킴 (c) 평균 비트율의 고정된 대역폭 채널 (a) 본 스킴 (b) Furini & Towsley

대역폭 활용(%)

100

100

11.897

시작 예약 비트율(비트/프레임 간격)

6,825

7,426

57,472

LOS(프레임)

2874758/6825 =
421.21

16548/7426=2.228

16040/57472 = 0.279

버퍼 사이즈(비트)

6,236,252

3,997,072

57,472
상기 실험결과로부터, 100% 전송 효율을 계속 유지하면서 LOS가 크게 감소된 것을 알 수 있다. 어떤 네트워크 자원도 낭비되지 않았다. 여전히 추가로 개선될 수 있는 유일한 것은 디코더에서 필요한 버퍼 사이즈를 추가로 줄이는 것이다.
도 4는 본 발명에 따라서 동작가능한 서버의 블록도이다. 이것은 일반적인 컴퓨터 구성요소, 즉 프로세서(10), 메모리(11), 디스크 저장소(12), 키보드(13), 디스플레이(14), 및 통신 네트워크(16)와 연결을 위한 네트워크 인터페이스(15)를 포함한다. 전송되는데 이용가능한 비디오 시퀀스는 인코딩된 파일(20)의 형태로 통상의 방식으로 디스크 저장소(12)에 저장된다.
또한 서버의 동작 제어를 실행하는 컴퓨터 프로그램(21)은 디스크 저장소(12)에 저장된다. "플로어" 방법을 사용하는 이 프로그램의 동작은 지금부터 도 5에 도시된 흐름도를 참조하여 설명될 것이다.
단계 100
원하는 비디오 시퀀스의 전송에 대한 요청이 원격 단말로부터 인터페이스(15)를 통해 수신된다; 이러한 요청은 상기 시퀀스를 포함하는 파일(20) 중의 하나의 파일명을 포함한다.
단계 101
프로세서(10)는 디스크 저장소(12)로부터 해당 파일을 판독하고 저장된 시퀀스의 N 프레임의 각각에 대한 파일 내의 코딩된 비트수 dj를 판정하며, N의 값 및 dj(j=0...N-1)를 메모리(11) 내에 저장한다.
단계 102
프로세서는 상기에서 설명한 바와 같이 k0...kM-1를 계산하고 메모리(11)에 M 및 k0...kM-1 를 저장한다.
단계 103
모든 i에 대한 R1 i 을 계산한다.
단계 104
Figure 112005026012987-pct00039
설정하고
Figure 112005026012987-pct00040
를 계산한다.
단계 106
포인터 m=M-2 설정한다.
단계 107
Rm 및 Pm 계산한다.
단계 109
m을 감소시킨다. m
Figure 112005026012987-pct00041
0 이라면, 단계 107로 간다.
단계 111
Figure 112005026012987-pct00042
를 계산한다.
단계 112
세그먼트 지속 기간을 계산한다. - 이 실행에서 프리로드 및 세그먼트 0은 전송 목적을 위한 단일 세그먼트로서 간주된다. 따라서
Figure 112005026012987-pct00043
Figure 112005026012987-pct00044
여기서,
Figure 112005026012987-pct00045
는 프레임 주기의 길이.
단계 113
i를 0으로 설정한다.
단계 114
비트율 Ri 및 최소
Figure 112005026012987-pct00046
i 의 지속 기간을 특정하는 예약 요청을 전송한다.
단계 115
비트율 Ri 로 세그먼트 i를 전송한다(i=0이면, P0 프리로드 비트가 선행됨).
단계 116
모든 세그먼트가 전송됐다면, 정지한다; 그렇지 않다면, 단계 117에서 i를 증가하고 및 단계 114로 진행한다.
상기 언급한 RSVP 시스템과 같은 일부 예약 시스템은 멀티캐스팅을 수용하기 위해서 예약 요청이 수신 단말에 의해 제공되는 것을 필요로 한다. 이러한 경우에 단계 113은 Ri
Figure 112008077583888-pct00047
i 를 특정하는 수신 단말로 메시지의 전송을 특정하기 위해서 변경될 수 있다. 그후에 상기 단말은 요구된 예약 요청을 네트워크로 전송할 수 있다.
일부 네트워크에서, 예약된 비트율이 변경될 수 있는 시간 상에 약간의 제약이 존재할 수 있다. 그러나 상기에서 선택된 접근은 첫번째를 제외한 모든 예약 요청이 이전보다 낮은 비트율을 요청하기 때문에 이러한 문제들에 대해 강하다. 이와 같은 요청의 처리 지연은 결국 실제 전송률이 감소된 후에 예약된 비트율이 높게 유지되게 한다. 이 경우에 네트워크 활용 효율은 떨어지나, 전송 품질은 영향을 받지 않는다.
상기에서 설명한 예약 알고리듬은 예약 비트율이 결코 증가되지 않아야 하는 제약 상에서 형성된다. 그러나 이는 필수적인 것은 아니고, 이러한 제약을 받지 않는 본 발명의 제 2 실시예가 지금부터 설명될 것이다.
이 경우에, 각 세그먼트는 이전과 같이 상기 세그먼트에 대한 평균 생성 비트율
Figure 112008077583888-pct00048
가 상기 세그먼트의 출발에서 시작하는 비디오 시퀀스의 임의의 짧은 부분에 대한 평균 보다 크거나 같은 방식으로 선택되나, 지금부터는 동일 포인트에서 시작하는 일부 긴 부분에 대한 평균 보다 작을 수 있다.
일반적인 세그먼트 q(=0...M-1)에 대해 과정이 설명될 것이다.
Figure 112005026012987-pct00049
를 사용하여 모든 kq-1+1
Figure 112005026012987-pct00050
i
Figure 112005026012987-pct00051
kq-1+H(또는 이것이 짧다면, kq-1+1
Figure 112005026012987-pct00052
i
Figure 112005026012987-pct00053
N-1)에 대한 Ai (q) 계산한다. 여기서 H는 허용될 수 있는 약간의 한정된 최대 길이이다.
가장 큰 Ai (q) 에 대한 i의 값을 구하고, 이 i의 값과 동일한 kq를 설정한다.
이는 최대 평균 비트율에 대한 탐색이 그 범위에서 제한된다는 것을 제외하고 이전에 설명된 과정과 동일하다.
일단 kq(q = 0,...,M-1)가 판정되었다면, 실제 전송률은 비트율이 이전 세그먼트의 비트율을 초과하지 못하도록 또는 다음 세그먼트의 비트율 이하로 떨어지지 않도록 하기 위해 정해진 임의의 제한이 생략되는 것을 제외하고는 상기에서 설명한 것과 같이 엄격하게 판정될 수 있다.
본 발명의 제 2 실시예는 비디오 비트율 스위칭의 가능성을 조사한다. 여기서, 다른 화상 품질을 갖고 그러므로 다른 데이터 비트율을 갖는 두개(또는 그 이상)의 비디오 스트림이 생성된다. 통상적으로, 이들은 양자화의 다른 조잡성(coarseness) - 즉, 낮은 품질 -을 사용함으로써 생성될 수 있고, 낮은 데이터 비트율 스트림은 조잡한 양자화기를 사용하고, 높은 데이터 비트율을 갖는 고품질 스트림은 덜 조잡한 양자화기를 사용한다.
비디오 비트율-스위칭의 가능성은 아마도 비트율 예약 실패가 전송의 시작에서 발생하는 경우의 현재 상황에서 특히 흥미롭고, 상기 상황은 신호의 성질 및/또는 네트워크 환경이 허용하는 경우 먼저 상대적으로 열악한 품질의 스트림을 송신하고, 이후 높은 품질 스트림으로 스위칭함으로써 치료될 수 있다. 그러나, 설명되는 시스템은 또한 비디오 비트율-스위칭이 약간의 다른 이유로 사용되는 경우에 유용하다.
인터-프레임 코딩이 사용되는 경우, 두개의 다른 스트림 사이의 스위칭은 코더 및 디코더에서 프리딕터(predictor)의 미스트래킹(mistracking) 때문에 화상의 심각한 변질을 야기할 수 있다: 그러나, 스위칭은 스위칭되는 스트림의 프레임과 프레임 사이의 차이를 필수적으로 코딩하는 전이적인 코딩된 프레임을 때때로 생성함으로써 화상 품질의 이러한 열화 없이 수용될 수 있다. 그래서 제 1 스트림으로부터의 프레임의 전송에는 많은 전이적인 프레임 중의 하나가 뒤따르고, 다음에 제 2 스트림으로부터의 프레임이 이어진다. 이러한 전이 프레임의 생성은 새로운 것이 아니며 추가로 설명되지 않는다. 이 시스템의 설명에 관하여, 국제특허출원 WO 98/26604(및 상응하는 미국 특허 제6,002,440호)를 참조하라. 소위 "SP-frames"을 사용하는 이 시스템의 다른 것은 2001년 1월 09-12일, 독일, 아이브제(Eibsee), ITU-T 비디오 코딩 전문가 그룹 미팅, 문서 VCEG-L-27, Marta Karczewicz 및 Ragip Kurceren, "A Proposal for SP-frames", 및 2001년 9월 24-27일, 미국, 캘리포니아주, 산타 바바라, ITU-T 비디오 코딩 전문가 그룹 미팅, 문서 VCEG-N42, Ragip Kurceren 및 Marta Karczewicz, "SP-frame demonstrations"에서 설명된다.
상기에서 설명한 "FOT" 접근의 전후관계에서, 두개의 스트림 사이의 스위칭의 문제는 중점을 두어 다룰 필요가 있는 약간의 의문이 존재한다. 만약 제 1 스트림으로부터 제 2 스트림으로 임의의 포인트에서 스위칭을 고려한다면, 일반적으로 디코더 버퍼는 제 1 스트림의 프레임을 포함할 것이며, 이는 제 2 스트림을 디코딩하는데 유용하지 않다. 따라서, 디코더가 제 2 스트림의 디코딩으로 바로 스위칭하는 것을 가정하면, 이러한 프레임은 사용되지 않고 낭비된 전송 용량을 나타낼 것이다. 더 나쁘게는, 제 2 스트림을 디코딩하는데 필요한 프레임은 버퍼 내에 존재하지 않을 것이다. 이론적으로 이것은, 실제로 전송되는 제 2 스트림의 일부의 시작을 스트림의 출발이 되도록 고려할 때, 제 2 스트림에 대한 FOT가 다시 계산된다면 수용될 수 있으나, 실제로 이것은 결국 디스플레이된 화상의 방해를 피할 수 있다면 엄청나게 높은 전송 데이터 비트율의 필요로 귀결될 수 있다.
낭비된 비트의 문제는 디코더가 버퍼 내에 남아있는 제 1 스트림의 프레임을 계속해서 디코딩하게 함으로써 피할 수 있고, 이 기간 동안 버퍼는 제 2 스트림의 디코딩을 위해 필요한 프레임 중 일부를(즉, 제 2 스트림의 프레임들과 전이 프레임(들)) 축적할 수 있으나, 그럼에도 불구하고 과도한 전송 비트율 요구의 위험은 여전히 남아 있다.
이상적으로, 비트스트림 스위칭은 가용한 대역폭이 나타나자 마자 일어나야 한다. 그러나, 방금 논의된 문제들 때문에 이는 실용적이지 않다. 또한, 전이 프레임 - 매 프레임에 대한 것보다는 선택된 포인트에서만 정상적으로 생성 됨 - 이 생성되어야 한다면, 이들이 제공되는 포인트(스위칭 포인트)는 바람직하게는 미리 계획되어야 한다.
이러한 고려에 기초하여, FOT의 "단계"의 "끝"과 일치하는 시간에서 스위칭의 가능성을 먼저 고려한다. 각 "단계"의 "끝"에서, 모든 전송된 비트는 화상으로 디코딩됐기 때문에, 수신기 버퍼가 어떤 비트도 저장하지 않는 것이 본 스킴의 특징이다. 따라서, 본래의 스트림의 "끝"에서 스위칭하고자 한다면, 모든 전송된 비트는 수신기 버퍼로부터 비워질 것이고 어떤 비트도 비트스트림 스위칭 때문에 낭비되지 않을 것이다.
비록 본래의 비트 스트림의 "단계의 끝"에서 스위칭 포인트를 설정하는 것이 어떤 전송된 비트도 낭비하지 않지만, 새로운 스트림의 스위칭 포인트가 "단계의 끝"에 존재하지 않는다면 여전히 문제는 있을 수 있다. 그 이유는 스위칭 포인트가 새로운 스트림의 "단계의 끝"에 존재하지 않는다면, 새로운 스트림에 대해 약간의 미리-축적된 비트는 수신기에서 연속적으로 비디오를 재생하기 위해서 매우 짧은 시간 내에서 전송되어야 하는 것일 수 있다. 이는 아마도 새로운 스트림이 수반하는 예약 비트율 보다 훨씬 높은, 아주 높은 비트율의 예약 요청으로 인도할 수 있다. 새로운 비트 스트림의 스위칭 포인트가 "단계"의 중간에 존재한다면, 축적된 비트의 소진은 높은 비트율의 예약으로 귀결된다. 따라서, 이상적으로 새로운 비디오 스트림의 스위칭 포인트 역시 "단계의 끝"에 존재해야 한다.
상기 분석에 따르면, 두개의 스트림에 대한 최적의 스위칭 포인트를 갖는 유일한 기회는 그들이 동일한 "끝 포인트"를 갖는 장소일 것 같다. 다르게는, 비트스트림 스위칭 후에 둘 중 하나의 비트가 낭비되거나 매우 높은 비트율을 요구한다. 추가적인 조사에 따라서, 다행히도, 다른 양자화기로부터 생성된 FOT 곡선이, 비록 그들이 절대적으로 동일하지는 않지만 유사하게 배치된 "단계의 끝"을 갖는다는 것을 알 수 있었다. 그 이유는 비디오 시퀀스에서, 복잡한 화상은 어떤 양자화기가 선택되더라도 보통의 화상 보다 더 많은 비트를 사용해야 하기 때문이다.
몇몇의 실험으로 이것을 증명했다. 실험에서, 140 CIF Jacknbox 비디오 시퀀스가 선택되었다.
제 1 실험에서, 동일한 비디오 시퀀스에 기초한 다른 비디오 스트림이 그들의 FOT에서 그들의 "단계의 끝"에 함께 접근하는가의 여부를 명백히하는 것을 원한다. 도 6에서, 다른 양자화기에 기초한 FOT 곡선의 유사점이 나타난다. 상기 곡선은 2, 3, 4, 10, 16 및 31의 단계 사이즈의 양자화기에 상응하고 Q2, Q3,…등으로 표시된다. 양자화기 단계 사이즈가 증가하면서, FOT가 더욱 편평해지는 것을 알 수 있다. 그러나, 그들은 거의 동일한 시간에 "단계의 끝"을 여전히 갖는다. 또한, 비록 다른 FOT의 "끝" 포인트가 유사하지만, 그들은 정확히 동일하지 않음을 유의해야 한다. 도 7 및 도 8은 "단계의 끝"에서의 다른 FOT 곡선의 더욱 상세한 것을 개시한다. 비록 그들이 정확히 동일하지 않지만, 근사한 위치에서 비트스트림을 스위칭하는 것에 거의 해를 끼치지 않는다. 다음의 실험은 그것을 추가로 증명할 수 있다.
제 2 실험에서, 고정 양자화기(16)로 생성된 비트 스트림(Q16 스트림)를 고정 양자화기(8)에 의해 생성된 제 2 비트 스트림(Q8 스트림)으로 각 프레임 간격에서 스위칭하는 것을 가정한다. 도 9에서, 프레임 35, 42, 45, 49, 50 및 52에서 비트스트림을 각각 스위칭하는 조건으로 몇몇의 예약 곡선이 도시된다. 도 10에서, 비트스트림이 다른 프레임 간격에서 스위칭되는 경우 낭비된 비트의 개수가 도시된다. 도 9 및 도 10은 "끝" 포인트 또는 다른 포인트에서 스트림을 스위칭하는 것 사이의 차이점을 나타내기에 충분하다. 도 9에서, 스위칭 포인트가 "단계의 끝"과 떨어져 있다면, 필요한 전송률은 Q8 스트림의 본래 필요한 전송률 보다 훨씬 더 높음을 알 수 있다. 이것은 바로 이전에 분석한 것과 같다. 이 상황에서, 비트스트림 스위칭 이후에 적절한 디스플레이를 실행하기 위해서 짧은 시간 내에 필요한 비트 축적을 이루는 것이 필요하다. 따라서, 필요한 전송률은 매우 높을 수 있고 이러한 비트스트림 스위칭을 완료하는 것은 비현실적이 된다. 한편, 비트스트림이 "끝" 포인트 근처에서 스위칭된다면, FOT의 각 "단계"는 독립적이기 때문에 필요한 비트 축적을 이루기 위해 매우 높은 전송률이 필요치 않다. 도 10에서, "끝" 포인트 근처에서 비트스트림을 스위칭하는 것은 더욱 권장할 만한 것임을 알 수 있다. FOT 곡선에서, 다음 프레임에 대해 약간의 비트를 미리-축적하는 것은 항상 필요하다. 비트스트림 스위칭이 적용된다면, 본래의 스트림에 대해 미리-축적된 비트가 쓸모없을 것이다. 이 비트는 낭비되게 된다.
도 10에서, "단계의 끝"에서만 비트스트림을 스위칭하는 것은 어떤 비트도 낭비할 수 없음을 쉽게 알 수 있다. "단계의 끝"에 가까울수록, 더 적은 비트가 낭비된다. 도 9 및 도 10 으로 부터, FOT에서의 최적의 스위칭 포인트는 그들의 "단계의 끝"임이 증명된다.
실제 제 1 스트림으로부터 제 2 스트림으로 스위칭을 위한 스위칭 포인트를 정확히 어떤 포인트에서 선택할 것인가에 대한 문제에 관하여, 만약 두개의 스트림의 단계가 일치한다면, 당연히 어떤 모호성도 존재하지 않는다. 그러나 시간적인 차이가 존재한다면,
a) 제 1 스트림에서 단계를 선택하고(쉬운 실행으로);
b) 제 2 스트림에서 단계를 선택하고(마찬가지로 실행하기 쉽게);
c) 상기 두개의 단계 중의 앞선 것을 선택하고(이에 의해 낭비된 비트를 최소화);
d) 상기 두개의 단계 중의 늦은 것을 선택(이에 의해 제 2 스트림에 관한 예약 대역폭에서의 임의의 증가를 피함)할 수 있다.
그러나 성능의 관점에서 그들 사이의 차이가 상당히 작기 때문에 어떤 옵션을 선택하는가는 실제로 거의 문제가 되지 않는다: 실제로, 선택된 스위칭 포인트가 "단계"로부터 옵셋된 수개의 프레임이라면, 만족할 만한 품질이 종종 얻어질 수 있다.
이러한 관점에서, 제안된 방법은 다음과 같이 진행한다(상기와 같은 옵션(a)을 가정):
ⅰ) 제 1 스트림에 대한 FOT를 계산한다;
ⅱ) 이 FOT의 단계와 일치하도록 스위칭 포인트를 선택한다;
ⅲ) 전이 프레임을 생성한다;
ⅳ) 전이 프레임을 제 2 스트림의 나머지에 더한 것의 FOT를 계산한다;
ⅴ) 제 1 스트림을 스위칭 포인트까지 전송한다;
ⅵ) 전이 프레임을 제 2 스트림의 나머지에 더하여 전송한다.
옵션 (b), (c) 또는 (d)가 사용되는 경우에, 단계 (ⅰ)는 또한 제 2 스트림의 FOT 계산과 관련될 수 있고, 단계 (ⅱ)는 선택된 옵션에 따른 선택과 관련될 수 있다. 그럼에도 불구하고, 제 2 스트림에 대한 FOT는 여전히 단계 4에서 다시 계산되어야 한다. 단계 (ⅳ)에서의 (재)계산은 제 2 스트림에 대해 본래 계산된 단계와 스위칭 포인트의 불일치 때문에, 및/또는 이전에 논의한 것과 같은 "실링" 또는 "플로어" 비트율의 사용 때문에 필요한 임의의 수정을 자동적으로 고려하는 것을 또한 유의해야 한다.
물론, 필요하다면, 예컨대 제 1 스트림으로 되돌아 가거나, 또는 제 3 스트림으로 스위칭하기 위해, 하나 이상의 스위칭 포인트가 선택될 수 있다.
단조 감소 FOT를 갖도록 제약되는 시스템의 상황에서 스위칭 문제가 논의되었지만, 스위칭에 대한 이러한 접근은 이러한 제약이 적용되지 않는 곳에 또한 사용될 수 있다. 동일하게, 이는 높은 품질 스트림으로부터 낮은 품질 스트림으로 스위칭하는 경우 또한 유용하다.

Claims (19)

  1. 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩된 비디오 신호의 디지털 시퀀스를 전송하는 방법에 있어서,
    (a) 상기 시퀀스를 세그먼트로 분할하는 단계,
    (b) 바로 이전의 세크먼트를 위한 비트율보다 작거나 같은 비트율이 되도록, 각 세그먼트에 대한 비트율을 결정하는 단계, 및
    (c) 결정된 비트율로 상기 신호를 전송하는 단계를 포함하고,
    상기 시퀀스가 세그먼트로 분할될 때, 제 1 세그먼트는 상기 시퀀스의 시작 부분의 일부분으로서, 상기 시퀀스의 상기 시작 부분에서 개시되는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖고,
    각 계속되는 세그먼트는 이전 세그먼트를 바로 뒤따르는 일부분으로서, 상기 이전 세그먼트를 바로 뒤따르는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  2. 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩되는 비디오 신호의 디지털 시퀀스를 전송하는 방법에 있어서,
    소스 비디오는 각각 다른 압축률을 갖는 제 1 시퀀스 및 제 2 시퀀스로 코딩되고,
    (a) 상기 제 1 시퀀스 및 제 2 시퀀스 중 하나 이상을 세그먼트로 분할하되, 제 1 세그먼트는 상기 시퀀스의 시작 부분의 일부분으로서, 상기 시퀀스의 상기 시작 부분에서 개시되는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖고, 이후 계속되는 세그먼트는 이전 세그먼트를 바로 뒤따르는 일부분으로서, 상기 이전 세그먼트를 바로 뒤따르는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖도록 하는 단계,
    (b) 상기 단계 (a)에서 식별된 두 개의 세그먼트 사이의 경계에서 스위칭 포인트를 선택하는 단계,
    (c) 상기 제 1 시퀀스가 단계 (a)에서 분석되지 않았다면, 상기 제 1 시퀀스를 분석하여 세그먼트로 분할하는 단계,
    (d) 상기 제 1 시퀀스의 제 1 세그먼트 또는 각 세그먼트에 대한 비트율을 상기 스위칭 포인트까지 결정하는 단계,
    (e) 상기 제 1 시퀀스의 상기 스위칭 포인트까지의 신호를 결정된 비트율로 전송하는 단계, 및
    (f) 상기 스위칭 포인트로부터 전방으로의 상기 제 2 시퀀스를 포함하는 변형된 시퀀스를 제 1 항에 기재된 방법을 이용하여 전송하는 단계를 포함하는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  3. 제 2 항에 있어서,
    상기 단계 (b)에서, 상기 스위칭 포인트는 상기 제 1 시퀀스의 두 개의 세그먼트 사이의 경계에 존재하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  4. 제 2 항에 있어서,
    상기 단계 (b)에서, 상기 스위칭 포인트는 상기 제 2 시퀀스의 두 개의 세그먼트 사이의 경계에 존재하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  5. 제 2 항에 있어서,
    상기 단계 (a)에서, 상기 제 1 및 제 2 시퀀스가 모두 세그먼트로 분할되고,
    상기 단계 (b)에서, 상기 스위칭 포인트는 상기 제 1 및 제 2 시퀀스 모두의 두 개의 세그먼트 사이의 경계에서 존재하도록 선택되거나, 또는 상기 경계들이 일치하지 않는 경우, 상기 두 개의 경계 중 앞서는 경계에서 존재하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  6. 제 2 항에 있어서,
    상기 단계 (a)에서, 상기 제 1 및 제 2 시퀀스가 모두 세그먼트로 분할되고,
    상기 단계 (b)에서, 상기 스위칭 포인트는 상기 제 1 및 제 2 시퀀스 모두의 두 개의 세그먼트 사이의 경계에서 존재하도록 선택되거나, 또는 상기 경계들이 일치하지 않는 경우, 상기 두 개의 경계 중 나중의 경계에서 존재하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  7. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 스위칭 포인트는 관련된 경계를 갖는 네 개의 프레임 내에서 발생하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  8. 제 7 항에 있어서,
    상기 스위칭 포인트는 관련된 경계와 일치하도록 선택되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  9. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 제 1 시퀀스는 상기 제 2 시퀀스 보다 큰 압축률로 인코딩되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  10. 제 9 항에 있어서,
    상기 제 1 시퀀스는 상기 제 2 시퀀스 보다 거친(coarser) 양자화를 사용하여 인코딩되는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  11. 제 2 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 시퀀스는 인터-프레임 코딩을 사용하여 인코딩되고,
    프리딕터(predictor)로서 상기 제 1 시퀀스의 디코딩된 프레임을 사용하여 인코딩된 상기 제 2 시퀀스의 프레임으로 이루어지거나 또는 함께 시작하는 전이 시퀀스를 상기 스위칭 포인트에서 생성하는 단계를 포함하고,
    상기 변형된 시퀀스는 상기 제 2 시퀀스의 프레임이 뒤따르는 상기 전이 시퀀스를 포함하는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  12. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 시퀀스 또는 임의의 시퀀스의 적어도 나중의 세그먼트들의 각각에 대하여 결정된 상기 비트율은 그 세그먼트의 프레임당 평균 코딩 비트와 같은 프레임 주기당 비트수인 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  13. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 시퀀스 또는 임의의 시퀀스의 적어도 나중의 세그먼트들의 각각에 대해 결정된 상기 비트율은,
    (i) 그 세그먼트에 대한 공칭율(nominal rate) 이상인 한 세트의 허용된 비트율 중의 가장 낮은 것, 및
    (ii) 그 다음 세그먼트에 대한 프레임당 평균 코딩된 비트 이상인 상기 한 세트의 허용된 비트율 중의 가장 낮은 것
    중에서 큰 것과 같은 프레임 주기 당 비트수이고,
    상기 공칭율은, 이전 시퀀스를 위해 결정된 비트율이 그 이전 세그먼트에 대한 공칭율을 초과하는 결과로 허용되는 임의의 감소를 뺀, 그 세그먼트에 대한 프레임당 평균 코딩된 비트인 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  14. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 시퀀스 또는 임의의 시퀀스의 적어도 나중의 세그먼트들의 각각에 대해 결정된 상기 비트율은,
    (i) 그 세그먼트에 대한 공칭율 이하인 한 세트의 허용된 비트율 중의 가장 높은 것, 및
    (ii) 선행하는 세그먼트를 위한 프레임당 평균 코딩된 비트 이하인 상기 한 세트의 허용된 비트율 중의 가장 높은 것
    중에서 낮은 것과 같은 프레임 주기 당 비트수이고,
    상기 공칭율은, 뒤따르는 시퀀스를 위해 결정된 비트율이 그 이전 세그먼트에 대한 공칭율보다 작은 결과로 필요해지는 임의의 증가를 더한, 그 세그먼트에 대한 프레임당 평균 코딩된 비트인 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  15. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 결정된 비트율의 예약을 요청하는 명령을 통신 네트워크로 전송하는 단계를 포함하는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 방법.
  16. 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩된 비디오 신호의 디지털 시퀀스를 전송하는 장치에 있어서,
    (a) 상기 시퀀스를 세그먼트로 분할하는 분할 수단,
    (b) 바로 이전의 세크먼트를 위한 비트율보다 작거나 같은 비트율이 되도록, 각 세그먼트에 대한 비트율을 결정하는 결정 수단, 및
    (c) 결정된 비트율로 상기 신호를 전송하는 전송 수단을 포함하고,
    상기 시퀀스가 상기 분할 수단에 의해 세그먼트로 분할될 때, 제 1 세그먼트는 상기 시퀀스의 시작 부분의 일부분으로서, 상기 시퀀스의 상기 시작 부분에서 개시되는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖고,
    각 계속되는 세그먼트는 이전 세그먼트를 바로 뒤따르는 일부분으로서, 상기 이전 세그먼트를 바로 뒤따르는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 장치.
  17. 프레임당 코딩 비트수가 고정되지 않는 압축 알고리듬을 사용하여 인코딩되는 비디오 신호의 디지털 시퀀스를 전송하는 장치에 있어서,
    소스 비디오는 각각 다른 압축률을 갖는 제 1 시퀀스 및 제 2 시퀀스로 코딩되고,
    (a) 상기 제 1 시퀀스 및 제 2 시퀀스 중 하나 이상을 세그먼트로 분할하되, 제 1 세그먼트는 상기 시퀀스의 시작 부분의 일부분으로서, 상기 시퀀스의 상기 시작 부분에서 개시되는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖고, 이후 계속되는 세그먼트는 이전 세그먼트를 바로 뒤따르는 일부분으로서, 상기 이전 세그먼트를 바로 뒤따르는 다른 임의의 가능한 일부분의 프레임당 평균 코딩 비트수 이상인 프레임당 평균 코딩 비트수를 갖도록 하는 수단,
    (b) 상기 단계 (a)에서 식별된 두 개의 세그먼트 사이의 경계에서 스위칭 포인트를 선택하는 수단,
    (c) 상기 제 1 시퀀스가 단계 (a)에서 분석되지 않았다면, 상기 제 1 시퀀스를 분석하여 세그먼트로 분할하는 수단,
    (d) 상기 제 1 시퀀스의 제 1 세그먼트 또는 각 세그먼트에 대한 비트율을 상기 스위칭 포인트까지 결정하는 수단, 및
    (e) 상기 제 1 시퀀스의 상기 스위칭 포인트까지의 신호를 결정된 비트율로 전송하는 수단을 포함하고,
    제 16 항에 기재된 전송 수단를 이용하여 상기 스위칭 포인트로부터 전방으로의 상기 제 2 시퀀스를 포함하는 변형된 시퀀스를 전송하는 것을 특징으로 하는 인코딩된 비디오 신호의 디지털 시퀀스 전송 장치.
  18. 삭제
  19. 삭제
KR1020057008950A 2002-11-18 2003-11-18 비디오 전송 방법 KR101044213B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0226872A GB0226872D0 (en) 2002-11-18 2002-11-18 Video transmission
GB0226872.0 2002-11-18
GB0322767.5 2003-09-29
GB0322767A GB0322767D0 (en) 2003-09-29 2003-09-29 Transmission of video

Publications (2)

Publication Number Publication Date
KR20050086731A KR20050086731A (ko) 2005-08-30
KR101044213B1 true KR101044213B1 (ko) 2011-06-29

Family

ID=32328068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008950A KR101044213B1 (ko) 2002-11-18 2003-11-18 비디오 전송 방법

Country Status (10)

Country Link
US (1) US7760801B2 (ko)
EP (1) EP1563689B1 (ko)
JP (1) JP4087852B2 (ko)
KR (1) KR101044213B1 (ko)
AT (1) ATE410029T1 (ko)
AU (1) AU2003283600A1 (ko)
CA (1) CA2505853A1 (ko)
DE (1) DE60323860D1 (ko)
ES (1) ES2314259T3 (ko)
WO (1) WO2004047455A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
AU2003277198A1 (en) 2002-10-05 2004-05-04 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
JP4773356B2 (ja) 2003-10-06 2011-09-14 デジタル ファウンテン, インコーポレイテッド 単一の送信機または多数の送信機を有する通信システムのためのエラー訂正マルチステージ符号生成器および復号器
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
CN103124182B (zh) 2004-05-07 2017-05-10 数字方敦股份有限公司 文件下载和流系统
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
US8782267B2 (en) 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
EP2408204A1 (en) 2010-07-12 2012-01-18 British Telecommunications public limited company Video streaming
US8996713B2 (en) 2010-06-30 2015-03-31 British Telecommunications Public Limited Company Video streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
EP2426923A1 (en) 2010-09-02 2012-03-07 British Telecommunications Public Limited Company Adaptive streaming of video at different quality levels
EP2469774A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company Video streaming over data networks
EP2469773A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company A method for delivering video content encoded at one or more quality levels over a data network
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
EP2490447A1 (en) 2011-02-16 2012-08-22 British Telecommunications Public Limited Company Compact cumulative bit curves
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9160778B2 (en) 2011-10-26 2015-10-13 Nokia Solutions And Networks Oy Signaling enabling status feedback and selection by a network entity of portions of video information to be delivered via wireless transmission to a UE
KR101854469B1 (ko) * 2011-11-30 2018-05-04 삼성전자주식회사 오디오 컨텐츠의 비트레이트 판단장치 및 방법
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9363473B2 (en) * 2012-12-17 2016-06-07 Intel Corporation Video encoder instances to encode video content via a scene change determination
US9349304B2 (en) * 2013-02-04 2016-05-24 Bose Corporation Demonstrating an active vibration isolation system
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
US10298985B2 (en) 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US5991811A (en) * 1995-09-04 1999-11-23 Kabushiki Kaisha Toshiba Information transmission system utilizing both real-time data transmitted in a normal-in-time direction and in a retrospective-in-time direction
AU726129B2 (en) 1996-12-10 2000-11-02 British Telecommunications Public Limited Company Video coding
JP2001237828A (ja) * 2000-02-18 2001-08-31 Sony Corp データ伝送管理装置及び方法、データ伝送システム及びデータ伝送方法
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
US6937770B1 (en) * 2000-12-28 2005-08-30 Emc Corporation Adaptive bit rate control for rate reduction of MPEG coded video

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FURINI, MARCO et al., 'Real-Time Rraffic Transmissions Over the Internet', IEE Tr. on multimedia, vol. 3, no. 1 2001., page 33-40
RAY-I CHANG ED et al., Dynamic window-based traffic-smoothing for optimal delivery of online VBR media streams', IEEE COMPUT. SOC, 4 July 2000, page 127-134

Also Published As

Publication number Publication date
EP1563689A1 (en) 2005-08-17
JP4087852B2 (ja) 2008-05-21
DE60323860D1 (de) 2008-11-13
US20060045180A1 (en) 2006-03-02
KR20050086731A (ko) 2005-08-30
US7760801B2 (en) 2010-07-20
AU2003283600A1 (en) 2004-06-15
ATE410029T1 (de) 2008-10-15
ES2314259T3 (es) 2009-03-16
JP2006506926A (ja) 2006-02-23
WO2004047455A1 (en) 2004-06-03
CA2505853A1 (en) 2004-06-03
EP1563689B1 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
KR101044213B1 (ko) 비디오 전송 방법
CN100481956C (zh) 视频传输
US9313529B2 (en) Video streaming
CA2185704C (en) Method, rate controller, and system for preventing overflow and underflow of a decoder buffer
EP1605347B1 (en) Method and system for buffering streamed data
US6493388B1 (en) Rate control and buffer protection for variable bit rate video programs over a constant rate channel
US6327421B1 (en) Multiple speed fast forward/rewind compressed video delivery system
US9060189B2 (en) Multiplexed video streaming
US7826530B2 (en) Use of out of order encoding to improve video quality
US20080137735A1 (en) Processing Video Signals
US8996713B2 (en) Video streaming
AU2002231829A1 (en) Method and system for buffering streamed data
KR20020037160A (ko) 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템
EP1183871A2 (en) A method and apparatus for streaming scalable video
US6674804B1 (en) Method for generating a multiplexed sequence of media units
EP2247110A2 (en) Image encoding apparatus, image encoding method and medium on which image enoding program is recorded
KR100433508B1 (ko) 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체
JPH11234671A (ja) 信号処理装置
US20050207501A1 (en) Method of and system for video bit allocation for scene cuts and scene changes
AU678927C (en) Method, rate controller, and system for preventing overflow and underflow of a decoder buffer
CN114245178A (zh) 一种传输视频的方法、装置、设备和存储介质
Hoang et al. A lexicographic framework for mpeg rate control

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140605

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150604

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160609

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170608

Year of fee payment: 7