KR20070083861A - 어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품 - Google Patents

어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품 Download PDF

Info

Publication number
KR20070083861A
KR20070083861A KR1020077009790A KR20077009790A KR20070083861A KR 20070083861 A KR20070083861 A KR 20070083861A KR 1020077009790 A KR1020077009790 A KR 1020077009790A KR 20077009790 A KR20077009790 A KR 20077009790A KR 20070083861 A KR20070083861 A KR 20070083861A
Authority
KR
South Korea
Prior art keywords
time value
data stream
frame
coded
vop
Prior art date
Application number
KR1020077009790A
Other languages
English (en)
Inventor
이베 라만진
Original Assignee
코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20070083861A publication Critical patent/KR20070083861A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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 or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Separation By Low-Temperature Treatments (AREA)
  • Superconductors And Manufacturing Methods Therefor (AREA)

Abstract

본 발명은 제 1 데이터 스트림(ds1)을 제 2 데이터 스트림(ds2)과 어셈블링(assembling)하는 방법으로서, 각각의 데이터 스트림이 코딩된 프레임(I, P, B)을 포함하며, 각각의 코딩된 프레임은 상대 시간 값과 견관되고, 절대 시간 값이 데이터 스트림의 특정의 코딩된 프레임에 선행하는 어셈블링 방법에 관한 것이다. 상기 방법은, 이전의 레퍼런스 시간 값 및 현재의 상대 시간 값의 정수 부분에 근거하여 현재의 코딩된 프레임에 대해 현재의 레퍼런스 시간 값을 계산하는 단계와, 상기 제 1 데이터 스트림의 디스플레이 순서로 최종 프레임의 레퍼런스 시간 값에 근거하여 오프셋 시간 값을 계산하는 단계와, 상기 오프셋 시간 값에 절대 시간 값을 가산함으로써 상기 제 2 데이터 스트림의 특정의 코딩된 프레임의 상기 절대 시간 값을 수정하는 단계를 포함한다.

Description

어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품{SPLICING MPEG STREAMS}
본 발명은 2개의 데이터 스트림을 어셈블링(assembling)하는 방법에 관한 것이다.
본 발명은, 예를 들어, 이동 전화기와 같은 장치에 내장되는 임의의 MPEG4 파일의 편집기에서 사용될 수 있다.
압축된 도메인에서 현재 2개의 비디오 스트림의 어셈블링이 연구되어 왔으나 아직까지 그 구현이 제안되어 오지는 않고 있다. MPEG4 표준안의 경우 양 스트림이 동일한 파라미터로 코딩된다 하더라도, 이들은 결합될 수는 없다. 실제로, MPEG4 비디오 스트림은 VOP(Video Object Planes)를 포함하며, 각각의 VOP는 타임 스탭프와 연관된다. 타임 라인(time line)의 연속성을 보장하는데 이러한 타임 스탬프가 필요하다. MPEG4 비디오 스트림에서, 상기 타임 스탬프는 가변 길이 코드를 이용하여 코딩된다. 따라서 타임 라인 연속성을 보장하기 의해 각각의 VOP 헤더에서 단지 일부 비트만을 변경하는 것은 불가능하다.
명확한 방법으로는 어셈블링될 2개의 비티오 스트림 중 제 2 스트림의 각 VOP를 디코딩하고 2개의 비티오 스트림 중 제 1 스트림의 최종 타임 스탬프를 고려하여 수정된 타임 스탬프에 의해 이를 재코딩(re-coding)하는 것이 될 것이다.
그러나, 이러한 해결책은, 한편으로는 제 2 비디오 스트림의 시각적 품질을 저하시키고, 다른 한편으로는 자원 소모적이기 때문에, 만족스럽지 않다.
발명의 개요
본 발명의 목적은 종래 기술보다 우수한 품질을 제공하는 2개의 데이터 스트림을 어셈블링하는 디바이스 및 그 방법을 제안하는 것이다.
본 발명의 다른 목적은 종래 기술보다 자원을 덜 소모하는 2개의 데이터 스트림을 어셈블링하는 디바이스 및 그 방법을 제안하는 것이다.
이를 위해, 본 발명에 따른 2개의 데이터 스트림을 어셈블링하는 방법은,
이전의 레퍼런스(reference) 시간 값 및 현재의 상대 시간 값의 정수 부분에 근거하여 현재의 코딩된 프레임에 대해 현재의 레퍼런스 시간 값을 계산하는 단계와,
상기 제 1 데이터 스트림의 디스플레이 순서로 최종 프레임의 레퍼런스 시간 값에 근거하여 오프셋 시간 값을 계산하는 단계와,
상기 오프셋 시간 값에 절대 시간 값을 가산함으로써 상기 제 2 데이터 스트림의 특정의 코딩된 프레임의 상기 절대 시간 값을 수정하는 단계
를 포함하는 것을 특징으로 한다.
따라서, 본 발명에 따른 방법은 타임 라인 연속성을 보장하면서 임의의 코딩된 프레임을 디코딩하거나 코딩하지 않고 압축된 도메인에서 2개의 데이터 스트림을 어셈블링할 수 있다. 따라서, 상기 방법은 완전한 디코딩 및 재코딩을 필요로 하지 않으므로, 종래 기술보다 우수한 품질을 제공하고 자원을 덜 소모한다.
본 발명의 실시예에 따르면, 어셈블링 방법은,
상기 제 1 데이터 스트림의 최종 프레임 및 제 1 프레임 사이의 일시적인 갭의 중간으로 상기 제 1 프레임이 쉬프트되도록 상기 제 1 프레임의 초기 상대 시간 값으로부터 상기 제 2 데이터 스트림의 디스플레이 순서로 제 1 프레임에 대해 수정된 상대 시간 값을 계산하는 단계와,
상기 제 2 데이터 스트림에서 널 데이터 콘텐츠(null data content)를 갖고, 상기 초기 상대 시간 값과 연관되는 코딩되지 않는 프레임(non-coded frame : NCF)을 가산하는 단계
를 더 포함한다.
본 발명의 다른 실시예에 따르면, 어셈블링 방법은,
상기 제 1 데이터 스트림의 종단부에서의 코딩된 프레밈의 제 1 세트 및 상기 제 2 데이터 스트림의 개시부에서의 코딩된 프레밈의 제 2 세트를 디코딩하는 단계와,
상기 제 1 세트 및 상기 제 2 세트 사이에 완만한 천이가 보장되는 방식으로 상기 제 1 세트 및 상기 제 2 세트의 디코딩된 프레임을 수정하는 단계와,
수정된 디코딩 프레임을 코딩하고 그 연관된 상대 시간 값을 코딩하는 단계
를 더 포함한다.
바람직하게는, 상기 다른 실시예에 따른 어셈블링은, 디코딩된 프레임의 제 1 세트 및 제 2 세트 사이에 적어도 하나의 부가적인 프레임을 생성하는 단계를 더 포함한다. 제 2 세트의 최종 디코딩된 프레임은 또한 수정되지 않는다.
본 발명은 2개의 데이터 스트림을 어셈브링하는 방법을 구현하는 디바이스, 이러한 디바이스를 포함하는 모바일 장치 및 상기 방법을 구현하는 프로그램 인스트럭션을 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명의 다른 특징 및 장점은, 이하 기술된 실시예로부터 보다 명백해질 것이며 이들 실시예를 참조하여 보다 명료해질 것이다.
본 발명은 첨부 도면을 참조하여, 일례로서 보다 상세하게 기술될 것이다.
도 1은 타임 라인 분할을 틱(ticks)으로 도시한 것이고,
도 2는 타임 라인을 따라 레퍼런스 초의 값을 전개하여 도시하는 도면이며,
도 3은 본 발명에 따른 어셈블링 방법의 실시예를 도시하는 도면이고,
도 4는 본 발명에 따른 어셈블링 방법의 다른 실시예를 도시하는 도면이다.
본 발명은 2개의 MPEG4 비디오 스트림의 어셈블리인 경우로서 기술되어 있다. 그러나, 당업자라면 본 발명은 제 1 데이터 스트림을 제 2 데이터 스트림과 어셈블링하는 방법으로서, 각각의 데이터 스트림이 코딩된 프레임을 포함하며, 각각의 코딩된 프레임은 상대 시간 값과 연관되고, 데이터 스트림의 특정의 코딩된 프레임에 절대 시간 값이 선행하는 어셈블링 방법에 보다 일반적으로 적용된다는 것이 명백할 것이다. 데이터 스트림은, 다른 예로서, 오디오 스트림일 수 있다. 데이터 스트림에 대한 랜덤 액세스에 대해, 예를 들어, 절대 시간 값이 사용된다. 2개의 MPEG4 비디오 스트림의 어셈블리인 경우, 코딩된 프레임은 소위 VOP(Video Object Planes)이다.
MPEG4는 매우 유연성 있는 코딩 프레임워크(framework)를 제공하여, 기능성, 포맷, 비트 레이트, 또는 프레임 레이트의 관점에서 큰 범위의 애플리케이션을 커버하는 것을 목적으로 한다. 프레임 레이트에 관해, MPEG4는 초 당 65535 프레임 fps(frame per second) 한도까지 임의의 레이트를 지원하며, 코딩 레이트는 변수이며 정수가 아닐 수 있다. 따라서, 각각의 VOP의 합성 시간은 디코더 측에서 시간 일관적인 디스플레이를 가능하게 하기 위해 비트 스트림 내에서 송신되어야 한다. 커버된 프레임 레이트의 큰 범위를 고려하여, 시간을 코딩하는 효율적인 방식이 설계되어야 한다.
MPEG4 비디오의 기본 시간 유닛은 초이다. 1 fps보다 큰 임의의 프레임 레이트를 지원하기 위해 초의 세부 분할이 정의되어야 하며, 이러한 세부 분할은 틱(tick)이라 불리운다. 도 1은 시간 분할을 도시한다. 틱 tic는 시간 코딩의 기본 구성요소이며, 이는 모든 시간 값이 틱의 정수로서 표현된다는 것을 의미한다. 틱의 수는 vop_time_increment_resolution vtir 필드를 이용하여 VOL(Video Object Layer) 헤더로 전송된다. 이러한 vtir 필드는 1초 s에 포함된 틱의 수 tic를 표시한다. 따라서 이는 1000/vtir ms인 틱의 지속 기간을 제공한다. 이러한 vtir 필드는 코딩 프레임 레이트를 표시하지 않으며, 최소한 VOP는 각각의 틱에 대응할 것이므로, VOL에서 최대 프레임 레이트 1이 생성될 수 있음을 단지 표시한다. 도 1의 예에서, 틱의 지속 기간이 166ms이 되도록 1초에 vtir=6 틱이 존재한다.
비디오 스트림에서, 시간은 GOV(Group of VOP)이라 불리우는 특정의 헤더에 의해 또한 전달된다. GOV 헤더는 시간/분/초로서 코딩된 절대 시간 값을 전달하는 헤더이다. 상기 GOV 헤더는 인트라 코딩된 I-VOP(즉, 다른 VOP를 참조하지 않고 코딩된 VOP)가 항상 후속하므로, 비디오 스트림 내의 랜덤 액세스가 가능해짐에 따라, 디코딩을 개시하기 위해 이전에 디코딩된 정보가 요구되지 않는다.
그 다음에 각각의 VOP의 합성 시간(또는 타임 스탬프)는 VOP 헤더의 2개의 필드, 즉, vop_time_invrement vti 및 modulo_time_base mtb를 통해 코딩된다. mtb 필드는 VOP가 속하는 초를 결정하도록 하고, vti 필드는 해당 초 내에서 VOP의 틱 수의 정확한 위치를 결정한다.
VOP 합성 시간은 차동적으로 코딩되며, 이는 VOP와 연관된 vti 및 mtb 필드는 초의 정수로 표현된 레퍼런스 초의 값 sref에 대해 코딩된다(즉, vti 및 mtb 필드는 상대 시간 값을 제공함)는 것을 위미한다.
베이스층 상에서, I-VOP 및 예측 코딩된 P-VOP(즉, 이전의 P-VOP 또는 I-VOP를 참조하여 코딩된 VOP)에 대해, 이러한 레퍼런스 초 sref는 시간에 의해 정의되고, 보다 낮은 초로 라운딩(rounding)되며, 디코딩 순서로 이전의 GOV, I-VOP 또는 P-VOP로 디코딩된다. 양방향 예측 코딩된 B-VOP(즉, 이전 및 차후의 P-VOP 또는 I-VOP를 참조하여 코딩된 VOP)에 대해, 이러한 레퍼런스 초 sref는 시간에 의해 정의되고, 보다 낮은 초로 라운딩되며, 디스플레이 순서로 이전의 GOV, I-VOP 또는 P-VOP로 디코딩된다. 도 2는 주어진 비디오 스트림의 베이스층에 대해 레퍼런스 초 sref의 값을 전재하는 것을 도시한다. 증강층 상에서, 모든 VOP에 대해, 러한 레퍼런스 초 sref는 시간에 의해 정의되고, 보다 낮은 초로 라운딩되며, 디스플레이 순서로 이전의 GOV 또는 VOP로 디코딩된다.
mtb 필드는 보다 낮은 초로 라운딩된 VOP 합성 시간 및 레퍼런스 초의 값 간의 차이를 표시한다. 비디오 스트림에서, 이러한 mtb 필드는 '0'이 후속하는 그 차이의 값만큼 많은 '1'에 의해 코딩된다. vti 필드는 vtir 값을 코딩할 수 있는데 필요한 비트 수를 이용하여 코딩된다. 예를 들어, 초 당 단지 2 틱이 존재한다면, vop_time_increment 필드를 코딩하도록 단지 2 비트가 이용되는 반면, 초 당 25 틱이 존재한다면, 5 비트가 필요하다.
VOP 합성 시간은 초의 수 및 Vtir 값보다 낮은 틱의 수의 합으로서 표현된다.
VOP 합성 시간은 GOV 헤더가 생성되는 경우 각각의 VOP를 디코딩한 후에 업데이트된다.
제 1 MPEG4 비디오 스트림을 제 2 MPEG4 비디오 스트림과 어셈블링하기 위해, 본 발명에 따른 방법은 다음의 단계를 포함한다.
제 1 단계에서, 최종 GOV 헤더에 의해 주어진 이전의 레퍼런스 시간 값(즉, 레퍼런스의 초) sref[t-k]에 근거하여 제 1 비디오 스프림 ds1의 각각 코딩된 VOP F[i](여기서 F는 I. P 또는 B VOP)에 대해 합성 시간 또는 현재의 시간 값 t[i]이 계산되며, 여기서 k는 GOV 당 B 프레임의 수, 코딩층(베이스 또는 증강된 층), 및 전술한 바와 같은 값 mtb[i] 및 vti[i]에 의애 주어진 현재의 상대 시간 값에 따라 달라지는 정수이다. 즉, 틱의 수로 표현되는 현재의 합성 시간은 다음의 수학식에 따라 계산된다. 즉,
t[i]=(sref[i-k]+mtb[i]), vtir+vti[i]
그 다음에 베이층의 I-VOP 또는 증강층의 임의의 VOP에 대해 현재의 레퍼런스 시간 값 sref[i]는 다음과 같이 도출된다. 즉,
sref[i]=sref[i-k]+mtb[i]
제 2 단계에서, 오프셋 시간 값은 제 1 비디오 스트림의 디스플레이 순서로 최종 VOP P[n]의 레퍼런스 시간 값 sref[n]에 근거하여 계산된다. 상기 오프셋 시간 값 off는 다음과 같이 계산된다. 즉,
off=sref[n] if vti[n]<vti[n+1]
off=sref[n]+1 if vti[n]≥vti[n+1]
여기서 n+1은 제 2 비디오 스트림 ds2의 제 1 VOP의 인덱스이다.
제 3 단계에서, 제 2 비디오 스트림 ds2에 포함된 초기 절대 시간 값 tgov2_imi는 수정된 절대 시간 값 tgov2_mod를 획득하기 위해 이들 초기 절대 시간 값에 오프셋 시간 값 off를 가산함으로써 수정된다. 즉,
tgov2_mod=tgov2_ini+off
따라서, 제 2 비디오 스트림 ds1의 제 1 GOV로 전달된 절대 시간 값은 제 1 I-VOP I[n+1] 바로 직전에, 제 2 비지오 스트림의 제 1 VOP가 제 1 비디오 스트림의 최종 VOP에 바로 후속하고 제 1 비디오 스트림을 재생한 직후에 제 2 비디오 스트림이 재생될 수 있도록 계산된다. 그 다음에, 제 2 비디오 스트림에서 생성된 각각의 GOV에 의해 전달된 값은 계산된 오프셋 시간 값을 가산함으로써 업데이트된다.
VOP와 연관된 상대 시간 값은 레퍼런스 초의 위치로서 주어져 있으므로, 제 1 데이터 스트림의 최종 프레임 및 제 2 데이터 스트림의 제 1 프레임 사이에 일시적인 갭 δt가 존재할 수 있으며, 이 갭 δt는 틱의 수로 표현되며 1초 한도까지 확장될 수 있다. 엔드 유저(end-user) 관점으로부터 이것은 일시적인 갭 동안 제 1 데이터의 최종 프레임 상의 프리즈(freeze)를 초래하여, 그 다음에 재생(playback)이 통상 재개된다.
이러한 문제점을 해결하기 위해, 본 발명의 실시예에 따른 방법은 다음의 단계를 더 포함한다.
제 1 단계에서, 제 2 데이터 스트림의 제 1 프레임 [n+1]에 대해 새로운 레퍼런스 시간 값 sref'[n+1]이 계산되며, 즉, mtb'[n+1] 및 vti'[n+1]의 새로운 값이 계산됨에 따라, I[n+1]은 일시적인 갭의 중간으로 이동된다.
이것은 도 3에 도시되어 있다. 제 1 데이터 스트림의 디스플레이 순서에서 최종 프레임 P[n]의 합성 시간은 t[n]이고 제 2 데이터 스트림의 제 1 프레임 I[n+1]의 초기 합성 시간은 t[n+1]=t[n]+δt이다. 틱의 수가 우수이면, 프레임 I[n+1]은 합성 시간 t'[n+1]=t[n]+δt/2로 쉬프트된다. 따라서 대응하는 상대 시간 값(즉, mtb'[n+1] 및 vti'[n+1])이 도출된다. 틱의 수가 기수이면, 프레임 I[n+1]은 합성 시간 t'[n+1]=t[n]+(δt±1)2으로 쉬프트된다. 따라서 대응하는 상대 시간 값(즉, mtb'[n+1] 및 vti'[n+1])이 또한 도출된다.
그 다음에, 제 2 단계에서, 새로운 프레임 NCF, 예를 들어, 코딩되지 않은 프레임(즉, MPEG4 표준안으로 코딩되지 않은 VOP로서 또한 지칭되는 널 콘텐츠를 갖는 프레임)이 부가된다. 이러한 코딩되지 않은 프레임은 제 2 데이터 스트림의 제 1 프레임 I[n+1]의 초기 합성 시간 t[n+1] 및 그에 따른 동일한 상대 시간 값(즉, mtb[n+1] 및 vti[n+1] 필드의 동일한 값)을 갖는다. 이러한 코딩되지 않은 프레임은 제 2 데이터 스트림의 모든 후속하는 프레임의 타임 라인의 연속성을 보장한다. 엔드 유저에 대해, 엔드 유저 자신이 1/2 일시적인 갭의 2개의 프리즈를 관측하므로, 프리즈는 일시적인 갭의 지속 기간의 절반 동안 지속된다는 결과를 초래한다.
도 4를 참조하면, 본 발명의 다른 실시예가 도시되어 있다. 본 실시예에 따르면, 2개의 데이터 스트림을 어셈블링하는 방법은 다음의 단계를 포함한다.
제 1 단계(410)에서, 제 1 데이터 스트림의 종단부에서의 코딩된 프레임의 제 1 세트 S1 및 제 2 데이터 스트림의 개시부에서의 코딩된 프레임의 제 2 세트 S2가 디코딩된다. 당업자라면 디코딩은 예측적 코딩 기법에 의해 부여되는 제한 요건을 고려해야 한다는 것이 명백해질 것이다. MPEG4의 경우, 예를 들면, B-VOP B[n-1]은, 도 4에서 I[n-1] 및 P[n]으로 표시되는 그 이전 및 이후의 레퍼런스 VOP 가 각각 디코딩되는 경우에만 디코딩될 수 있다. 마찬가지로, P-VOP P[n]은, 도 4에서 I[n-3]으로 표시되는 그 이전의 VOP가 디코딩되는 경우에만 디코딩될 수 있다. 코딩된 프레임의 제 1 및 제 2 세트가 중간 데이터 스트림을 구성한다.
제 2 단계(420)에서, 중간 데이터 스트림은 코딩된 프레임의 제 1 및 제 2 세트 사이에 완만한 천이가 보장되도록 하는 방식으로 수정된다. 예를 들면, 디코딩된 프레임에 대해 일종의 블랙 커튼(black curtain)이 가산될 수 있으며, 상기 커튼은 도 4에 도시된 바와 같이, 점진적으로(progressively) "폐쇄"되고 나서 점진적으로 "개방"된다. 이와 달리, 디코딩된 프레임은 점진적으로 어두워질 수 있고 그 다음에 점진적으로 재차 스위칭될 수 있다.
선택사양적인 제 3 단계에서, 프레임의 제 1 세트 S1 및 제 2 세트 S2 간의 일시적인 갭에서 적어도 하나의 부가적인 프레임이 부가된다. 이들 부가적인 프레임은, 그 프레임의 2개의 세트 간의 천이를 개선시키고 제 1 데이터 스트림의 디스플레이 순서에서의 최종 디코딩된 프레임 및/또는 제 2 데이터 스트림의 디스플레이 순서에서의 제 1 디코딩된 프레임으로부터 연산된다,
다음 단계에서, 중간 데이터 스트림을 구성하는 수정된 디코딩 프레임 및 가능한 부가적인 프레임이 코딩되고 그 연관된 상대 시간 값은 타임 라인 각각의 위치에 따라 또한 코딩된다.
최종 단계에서, 제 2 데이터 스트림의 GOV 헤더에 포함된 절대 시간 값은 전술한 바와 같이, 오프셋 시간 값을 상기 시간 값에 가산함으로써 수정된다.
바람직하게 제 2 데이터 스트림의 최종 디코딩된 프레임은 코딩된 프레임의 제 1 세트를 갖지 않는 제 1 데이터 스트림 및 코딩된 프레임의 제 2 세트를 갖지 않는 제 2 데이터 스트림의 결합의 후속적인 디코딩을 변경하지 않기 위해 제 2 단계 동안 수정되지 않는다는 것에 주의해야 한다.
본 발명의 이러한 다른 실시예에 의해, 타임 라인 연속성이 보장된다. 또한, 인트라 코딩된 프레임으로서 중간 데이터 스트림의 제 1 프레임을 재코딩할 필요는 없다. 어셈블링 방법은 3개의 데이터 스트림의 간략한 결합에 전술한 바와 같이, 코딩된 프레임의 제 2 세트를 갖는 않는 제 2 데이터 스트림의 GOV 헤더에 의해 전달된 값의 업데이트를 가산하는 것이다.
전술한 실시예는 본 발명을 제한하는 것이 아니라 예시하는 것이며, 당업자라면 첨부되는 청구 범위에 의해 정의되는 바와 같이 본 발명의 범위로부터 벗어나지 않고 다수의 다른 실시예를 설계하는 것이 가능하다는 점에 주의해야 한다. 청구 범위에서, 괄호로 표시되는 참조 부호는 청구 범위를 제한하는 것으로 간주되지는 않을 것이다. "포함하는" 및 "포함한다" 등의 어구는 총괄적으로 임의의 청구 범위 또는 명세서에 열거되는 것 이외의 구성요소나 단계의 존재를 배제하지 않는다. 구성요소의 단일의 참조 부호는 이러한 구성요소의 복수의 참조 부호를 배제하지 않고 또한 구성요소의 복수의 참조 부호는 이러한 구성요소의 단일의 참조 부호를 배제하지 않는다. 본 발명은 몇몇 개별적인 구성요소, 및 적절하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 몇 개의 수단을 열거하는 디바이스 청구 범위에서, 이들 수단 중 몇 개는 하드웨어 중 하나 및 동일한 항목에 의해 구현될 수도 있다. 특정의 기술적 수단이 서로 상이한 종속 청구항에서 인용된다는 사실은 이러한 기술적 수단의 결합이 장점을 제공하도록 사용될 수 있음을 나타낸다.

Claims (8)

  1. 제 1 데이터 스트림(ds1)을 제 2 데이터 스트림(ds2)과 어셈블링(assembling)하는 방법으로서, 각각의 데이터 스트림이 코딩된 프레임(I, P, B)을 포함하며, 각각의 코딩된 프레임은 상대 시간 값과 연관되고, 데이터 스트림의 특정의 코딩된 프레임은 절대 시간 값만큼 선행하는 어셈블링 방법에 있어서,
    이전의 레퍼런스(reference) 시간 값 및 현재의 상대 시간 값의 정수 부분에 근거하여 현재의 코딩된 프레임에 대해 현재의 레퍼런스 시간 값을 계산하는 단계와,
    상기 제 1 데이터 스트림의 디스플레이 순서로 최종 프레임의 레퍼런스 시간 값에 근거하여 오프셋 시간 값을 계산하는 단계와,
    상기 오프셋 시간 값에 절대 시간 값을 가산함으로써 상기 제 2 데이터 스트림의 특정의 코딩된 프레임의 상기 절대 시간 값을 수정하는 단계를 포함하는
    어셈블링 방법.
  2. 제 1 항에 있어서,
    상기 제 1 데이터 스트림의 최종 프레임(F[n]) 및 제 1 프레임(I[n+1]) 사이의 일시적인 갭의 중간으로 상기 제 1 프레임이 쉬프트되도록 상기 제 1 프레임의 초기 상대 시간 값으로부터 상기 제 2 데이터 스트림의 디스플레이 순서로 제 1 프 레임에 대해 수정된 상대 시간 값을 계산하는 단계와,
    상기 제 2 데이터 스트림에서 널 데이터 콘텐츠(null data content)를 갖고, 상기 초기 상대 시간 값과 연관되는 코딩되지 않는 프레임(non-coded frame : NCF)을 가산하는 단계를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 제 1 데이터 스트림의 종단부에서의 코딩된 프레임의 제 1 세트 및 상기 제 2 데이터 스트림의 개시부에서의 코딩된 프레밈의 제 2 세트를 디코딩하는 단계와,
    상기 제 1 세트 및 상기 제 2 세트 사이에 완만한(smooth) 천이가 보장되는 방식으로 상기 제 1 세트 및 상기 제 2 세트의 디코딩된 프레임을 수정하는 단계와,
    수정된 디코딩 프레임을 코딩하고 그 연관된 상대 시간 값을 코딩하는 단계를 더 포함하는 방법.
  4. 제 3 항에 있어서,
    디코딩된 프레임의 제 1 세트 및 제 2 세트 사이에 적어도 하나의 부가적인 프레임을 생성하는 단계를 더 포함하는 방법.
  5. 제 3 항에 있어서,
    상기 제 2 세트의 최종 디코딩된 프레임은 수정되지 않는 방법.
  6. 제 1 데이터 스트림을 제 2 데이터 스트림과 어셈블링하는 디바이스로서, 각각의 데이터 스트림이 코딩된 프레임을 포함하며, 각각의 코딩된 프레임은 상대 시간 값과 연관되고, 데이터 스트림의 특정의 코딩된 프레임은 절대 시간 값만큼 선행하는 어셈블링 디바이스에 있어서,
    이전의 레퍼런스 시간 값 및 현재의 상대 시간 값의 정수 부분에 근거하여 현재의 코딩된 프레임에 대해 현재의 레퍼런스 시간 값을 계산하는 수단과,
    상기 제 1 데이터 스트림의 디스플레이 순서로 최종 프레임의 레퍼런스 시간 값에 근거하여 오프셋 시간 값을 계산하는 수단과,
    상기 오프셋 시간 값에 절대 시간 값을 가산함으로써 상기 제 2 데이터 스트림의 특정의 코딩된 프레임의 상기 절대 시간 값을 수정하는 수단을 포함하는
    어셈블링 디바이스.
  7. 청구항 6에 기재된 디바이스를 포함하는 모바일(mobile) 장치.
  8. 프로세서에 의해 프로그램이 실행되는 경우, 청구항 1에 기재된 방법을 구현하는 상기 프로그램 인스트럭션을 포함하는 컴퓨터 프로그램 제품.
KR1020077009790A 2004-10-29 2005-10-27 어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품 KR20070083861A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04300748 2004-10-29
EP04300748.3 2004-10-29

Publications (1)

Publication Number Publication Date
KR20070083861A true KR20070083861A (ko) 2007-08-24

Family

ID=35482223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077009790A KR20070083861A (ko) 2004-10-29 2005-10-27 어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품

Country Status (8)

Country Link
US (1) US8139646B2 (ko)
EP (1) EP1808022B1 (ko)
JP (1) JP2008518544A (ko)
KR (1) KR20070083861A (ko)
CN (1) CN101091391B (ko)
AT (1) ATE418842T1 (ko)
DE (1) DE602005011991D1 (ko)
WO (1) WO2006046212A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474327B2 (en) 2002-02-12 2009-01-06 Given Imaging Ltd. System and method for displaying an image stream
EP1855402A1 (en) * 2006-05-11 2007-11-14 Koninklijke Philips Electronics N.V. Transmission, reception and synchronisation of two data streams
US8045836B2 (en) * 2008-01-11 2011-10-25 Texas Instruments Incorporated System and method for recording high frame rate video, replaying slow-motion and replaying normal speed with audio-video synchronization
US8270494B2 (en) * 2008-05-14 2012-09-18 Arcsoft, Inc. Video concatenation for MPEG-4 and H.263 bit streams
US8682142B1 (en) * 2010-03-18 2014-03-25 Given Imaging Ltd. System and method for editing an image stream captured in-vivo
WO2011135573A1 (en) 2010-04-28 2011-11-03 Given Imaging Ltd. System and method for displaying portions of in-vivo images
GB2491574B (en) * 2011-06-02 2013-11-20 Nds Ltd Content insertion in adaptive streams
CN104735552A (zh) * 2013-12-23 2015-06-24 北京中传数广技术有限公司 一种直播视频标签插入的方法与系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4232209B2 (ja) * 1998-01-19 2009-03-04 ソニー株式会社 圧縮画像データの編集装置及び圧縮画像データの編集方法
JP2000013790A (ja) * 1998-06-19 2000-01-14 Sony Corp 画像符号化装置および画像符号化方法、画像復号装置および画像復号方法、並びに提供媒体
ID24586A (id) 1998-12-21 2000-07-27 Matsushita Electric Ind Co Ltd Perangkat dan metode penyelarasan waktu dengan menggunakan modul basis waktu dan resolusi peningkatan waktu
US6792047B1 (en) * 2000-01-04 2004-09-14 Emc Corporation Real time processing and streaming of spliced encoded MPEG video and associated audio
GB2364459B (en) * 2000-06-30 2004-03-31 Nokia Mobile Phones Ltd Video error resilience
FR2848766B1 (fr) * 2002-12-13 2005-03-11 Thales Sa Procede de commutation de signaux numeriques avant emission, commutateur et signal resultant

Also Published As

Publication number Publication date
CN101091391B (zh) 2011-03-16
CN101091391A (zh) 2007-12-19
US20090201985A1 (en) 2009-08-13
EP1808022B1 (en) 2008-12-24
EP1808022A1 (en) 2007-07-18
ATE418842T1 (de) 2009-01-15
US8139646B2 (en) 2012-03-20
DE602005011991D1 (de) 2009-02-05
WO2006046212A1 (en) 2006-05-04
JP2008518544A (ja) 2008-05-29

Similar Documents

Publication Publication Date Title
KR20070083861A (ko) 어셈블링 방법과 디바이스, 모바일 장치 및 프로그램 제품
US10708521B2 (en) Multimedia distribution system for multimedia files with interleaved media chunks of varying types
JP4510909B2 (ja) 動画像符号化方法
US7362906B2 (en) Computational graceful degradation method using priority information in multiple objects case
US6400768B1 (en) Picture encoding apparatus, picture encoding method, picture decoding apparatus, picture decoding method and presentation medium
US8824815B2 (en) Generalized scalability for video coder based on video objects
US7656948B2 (en) Transcoding system and method for maintaining timing parameters before and after performing transcoding process
US20070071109A1 (en) Method and apparatus for coding information
US20060129909A1 (en) Multimedia distribution system
JP2000209580A (ja) 画像処理装置およびその方法
EP2291957B1 (en) Media stream processing
KR20000069258A (ko) 부호화 스트림 스플라이싱 장치 및 방법과 부호화 스트림 생성장치 및 방법
EP3240196B1 (en) Picture decoding method and decoding device
LeGall MPEG (moving pictures expert group) video compression algorithm: a review
KR19990057100A (ko) 엠펙 디코더 및 디코딩 제어 방법
US20090147842A1 (en) Video processing
JP2000175155A (ja) 放送受信装置およびその方法
KR20010051249A (ko) 동화상 복호화 방법, 동화상 복호화 장치 및 프로그램기록 매체
JP3836701B2 (ja) 動画像を符号化する方法及び装置及びプログラム並びに動画像音声多重化の方法及び装置
JP4343411B2 (ja) 画像処理方法及び装置と再生方法とプログラム及び記憶媒体
KR20050090463A (ko) 비디오 시퀀스 내에서 에러 전달을 예방하기 위한 방법 및장치
JP2001223990A (ja) 再生方法及び装置と表示装置
JP2001127726A (ja) 信号処理装置及び方法並びに記録媒体
Psannis Interactive Compression Algorithms for Streaming Media Over High Speed Networks
Rogge et al. Analysis of multimedia formats for content description

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application