KR20040005663A - 클라이언트 단말에서 멀티미디어 데이터 플로우를재생하는 방법, 장치, 시스템 및 신호 - Google Patents

클라이언트 단말에서 멀티미디어 데이터 플로우를재생하는 방법, 장치, 시스템 및 신호 Download PDF

Info

Publication number
KR20040005663A
KR20040005663A KR1020030046198A KR20030046198A KR20040005663A KR 20040005663 A KR20040005663 A KR 20040005663A KR 1020030046198 A KR1020030046198 A KR 1020030046198A KR 20030046198 A KR20030046198 A KR 20030046198A KR 20040005663 A KR20040005663 A KR 20040005663A
Authority
KR
South Korea
Prior art keywords
entity
decoding
decoded
encoded
flow
Prior art date
Application number
KR1020030046198A
Other languages
English (en)
Other versions
KR100943738B1 (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
Application filed by 프랑스 텔레콤 filed Critical 프랑스 텔레콤
Publication of KR20040005663A publication Critical patent/KR20040005663A/ko
Application granted granted Critical
Publication of KR100943738B1 publication Critical patent/KR100943738B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/23412Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, 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/234318Processing 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 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은, 적어도 하나의 클라이언트 단말에서, 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티를 갖는 적어도 하나의 데이터 플로우를 재생하는 방법에 있어서, 복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻기 위해 상기 인코딩된 데이터 플로우를 디코딩하는 단계; 및 상기 합성 타임스탬프에 의해 정의되는 시간에 상기 디코딩된 엔티티를 합성하는 단계를 포함하고, 상기 적어도 하나의 인코딩된 엔티티에 대하여, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 디코딩하는 단계는 상기 합성 타임스탬프에 따라 실행됨을 특징으로 하는 데이터 플로우 재생 방법에 관한 것이다.

Description

클라이언트 단말에서 멀티미디어 데이터 플로우를 재생하는 방법, 장치, 시스템 및 신호{METHOD TO REPRODUCE A MULTIMEDIA DATA FLOW ON A CLIENT TERMINAL, CORRESPONDING DEVICE, SYSTEM AND SIGNAL}
본 발명은 예를 들어, 2차원 또는 3차원 애니메이션 영상(anitimatedgraphic scene), 오디오 또는 비디오 신호 등을 대표하는 멀티미디어(multimedia) 플로우(flow)를 클라이언트(client) 단말에서 재생하는 것에 관한 것이다. 더욱 상세하게는, 본 발명은 상기 단말에서 위와 같은 플로우의 재생을 위하여 상기 플로우를 디코딩(decode)하는 방법에 관한 것이다.
일반적으로, 이와 같은 멀티미디어 플로우는 단일 타임스탬프(time stamp)에 의하여 참조되는 일련의 인코딩화(encoded)되고 독립적인 유닛(autonomous units)의 형태로 배열되고, 상기 타임스탬프의 목적은 수신 단말에게 수신되는 신호를 해석 및 재생하기 위한 시간을 알려주기 위한 것이다. 일반적으로 독립적 유닛의 해석이라는 용어는 첫째로, 상기 독립적 유닛에 포함되는 정보와 둘째로, 재생 장치에 의하여 보유되는 정보로부터 재생되는 구조를 계산하는 것을 말한다. 일반적으로 재생이라는 용어는 사용자에게 전시, 시각, 청각 또는 감각적인 방법으로 보여주는 것을 말한다. 그리고, 상기 단말이 멀티미디어 신호를 재생하기 위해서는 서버(server) 또는 송신기로부터 인코딩된 형태로 수신된 독립적 유닛을 디코딩하는 과정이 필요하다.
MPEG-4("Moving Picture Coding Experts Group") 표준(ISO-IEC/14496-1) 시스템은 인코딩된 프레임(frame)의 타임스탬프에 기초하는 디코딩 모델(decoding model)을 정의한다. 이러한 표중에 따라 사용되는 디코딩 및 재생 시퀀스(sequence)는 도1에 도시되어 있다: 도1은 멀티미디어 플로우를 디코딩하고, 이와 같이 디코딩된 신호를 어셈블(assemble)하기 위하여 사용되는 보기 또는 재생 도구(tool)의 소프트웨어 모듈(modules)의 동작을 나타낸다.
여러가지의 멀티미디어 플로우들은 수신된 후, 디코딩 버퍼 메모리(1)에 저장된다. 그리고 상기 플로우들을 구성하는 여러가지의 인코딩된 엔티티(Encoded Entities: 'EE')는 디코더(2)에 공급되고, 상기 디코더(2)는 디코딩된 엔티티(Decoded Entities: 'ED')를 전달한다. 상기 디코딩된 엔티티는 합성 메모리(3)에 저장되고, 이후에 클라이언트 단말에서 합성과 어셈블리(assembly)를 담당하는 모듈인 어셈블러(assembler)(4)에 의하여 재생된다.
따라서, 클라이언트 단말이 멀티미디어 플로우를 수신할 때 사용하는 프로세스는 본질적으로 두 단계를 포함한다. 첫 번째 단계는 인코딩된 엔티티(EE)를 디코딩하는 과정으로 구성되고, 두 번째 단계는 디코딩된 엔티티(ED)를 합성하는 과정으로 구성된다.
각각의 독립적인 플로우 엔티티와 결합되는 타임스탬프는, 표준 MPEG-4에서 합성 타임스탬프(Composition Time Stamp)라고 언급되고 표준 MPEG-2에서는 프리젠테이션 타임스탬프(Presentation Time Stamp)라고 언급되며, 이하에서는 일반적으로 합성 스탬프(ETC) 또는 영어로 CTS(Composition Time Stamp)라고 언급되며, 상기 타임스탬프는 플로우 데이터가 사용자의 단말에 의하여 재생(시각, 청각적인 형태로서)되는 시간을 명시한다.
이미 알려진 대부분의 기술에서는, 프레임의 디코딩 및 에셈블리는 ETC에 의하여 지시되는 시간에 이루어지며, EE 디코딩 시간(decoding time)은 널(null)이 되도록 인위적으로 고려된다. 그러나, 특히 복잡한 플로우의 경우에는, 디코딩 시간을 항상 무시해도 되는 것은 아니며, 어셈블러(4)가 그 ETC에 의하여 정의된 시간에서 재생할 수 있도록 충분히 이른 시간에서 항상 디코딩된 엔티티(ED)를 가용할 수 있는 것은 아니다. 따라서, 재생 공정이 지연되는 것이다.
실제로, 문제되는 멀티미디어 플로우가 복잡할 때에는, 플로우와, 그 플로우의 디코딩이 복잡하고, 특히 구현하기에 오랜 시간이 걸린다는 것이 입증될 수 있다.
이와 같은 방법으로, 여러가지 프레임의 재생에 대한 비동기화(desynchronisation)가 관찰되고, 예를 들어 비디오 플로우의 경우에는 그래픽 화면이 스크램블(scramble)되는 결과를 초래한다. 예를 들어 움직이는 그림, 및 오디오 신호를 대표하는 신호에 대한 동시 재생을 보장하기 위하여 여러가지 디코딩 시퀀스가 병렬로 사용되는 때에 있어서, 그래픽 화면의 디코딩 과정의 지연은 소리 와 이미지(image)의 비동기화를 초래할 수 있다.
이와 같은 결과는 물론 허용될 수 없으며, 사용자에게 특히 불쾌감을 준다는 것이 입증될 수 있다.
몇몇 특정 기술에 따르면, 특정한 타임스탬프는 디코딩 타임스탬프(docoding time stamp), 또는 ETD(또는 영어로는 DTS, "Decoding Time Stmap")라고 언급되며, 상기 특정한 타임스탬프는 디코더(2)가 인코딩된 프레임(EE)의 압축을 푸는 시간을 명시하거나, 상기 EE의 디코딩 순서가 증가하는 ETC의 순서에 대하여 지시된 합성 또는 어셈블리 순서와 다름을 지시하기 위하여 때때로 플로우 엔티티와 연관된다.
그러나, 다시, 이와 같은 기술은 복잡한 플로우의 공정에 대하여는 별로 적합하지 않다. 이와 같은 기술은 해석 단계가 길고 많은 비용이 들며, 이로 인하여ETC에 대한 프레임 재생 시간을 지연시킨다. 이러하 시간 지연은 여러가지 프레임의 재생에 있어서 비동기화를 초래한다.
재생과정의 유동성을 증가시키고, 보기, 더욱 일반적으로는 재생 도구 자원(tool resources)를 최적으로 이용하기 위하여, 몇몇 알려진 기술, 특히 MPEG-4/BIFS와 같은 영상 디스크립션 플로우(scene description flow)또는 MPEG-4 Visual(ISO-IEC/14496-2)이나 H26L(ISO-IEC/14496-10)과 같은 새로운 비디오 플로우의 재생에 따른 기술이 구상되고 있다. 이러한 경우에, 단말에서 이용할 수 있는 계산 및 메모리 자원을 최대한 활용하기 위하여, 디코딩 과정은 신호 재생에 관하여 비동기 모드(mode)에서 기능한다. 대신에 합성 단말은 플로우 재생에 관하여 동기 모드에서 기능하여야 하고, 그 실행 속도 때문에 플로우의 재생 유동성에 의존하다.
그러나, 가장 발전된 디코딩 및 재생 기술들은, 재생과정에서 가능한 많은 유동성을 제공할 수 있도록 위와 같은 방법을 최대한 활용하려고 노력하고 있지만, 표준 플로우 처리(standard flow processing)의 제한을 받고 더욱 복잡한 플로우가 도래함에 따라 상대적으로 비효율적이라는 것이 입증된다.
본원 발명의 발명자는 이러한 여러가지 공지 기술들을 분석하고 다음의 문제들을 확인하였다: 오디오 또는 비디오 디코더의 설계를 가능한 단순화하기 위하여, 일반적으로 이러한 여러가지 기술들은 디코딩 및 합성 또는 어셈블리 공정이 비교적 독립적이고, 디코딩된 엔티티(ED)는 그 자체로서 합성하기에 충분하다는 것을 고려한다. 그 다음에 어셈블러(4)는 재생 도구(또는 "player")가 설치되는 운영 체계에 밀접하게 의존하고, 인코딩의 특이성에 의존하지 않는다.
그러나, 본원 발명의 발명자에 따르면, 이러한 방법은, BIFS 영상 디스크립션 플로우("the MPEG-4 Systems Verification Model", ISO/IEC JTCI/SC29/SG 11-N1696, MPEG 97, 1997년 4월), MPEG-7 메타데이터(metadata) 또는 H26L(ISO-IEC/14496-10)과 같은 비디오 플로우의 새로운 형태와 같이 복잡한 플로우가 처리될 때는 더 이상 이용할 수 없다.
본 발명은 특히 상술한 종래 기술의 다양한 결점들을 개선하는데 목적이 있고, 특히 본원 발명자에 의하여 확인된 문제들을 개선하는데 목적이 있다.
더욱 상세하게는, 본 발명의 목적은 문제되는 플로우의 복잡성에 관계없이 유동적인 재생을 보장하는, 하나의 멀티미디어 플로우 또는 다수의 멀티미디어 플로우를 재생하는 기술을 제공함에 잇다.
본 발명의 또 다른 목적은 수신된 신호의 최적 디코딩에 기반하여 이와 같은 재생 기술을 구현함에 있다.
또한 본 발명은 재생 단말의 메모리 및 계산 자원을 최적으로 이용할 수 있도록 하는 재생기술을 제공함에 있다.
또한 본 발명은 종래 기술에 따른 디코딩 기술에 적합한 재생 기술을 구현함에 있다.
본 발명의 또 다른 목적은 종래 기술에 따른 재생 기술과 비교하여, 자원,특히 메모리 자원과 관련하여 상당한 부가 비용을 초래하지 않는 재생 기술을 제안함에 있다.
본 발명의 또 다른 목적은 종래 기술에 따른 재생 기술과 비교하여, 자원, 특히 메모리 자원과 관련하여 상당한 부가 비용을 초래하지 않는 재생 기술을 제안함에 있다.
도 1은 재생단말에서 시퀀스를 처리하는 멀티미디어 플로우를 도시한 개략도이다.
도 2는 본 발명에 따른 다른 처리 형태를 도시한 개략도이다.
도 3은 본 발명에 따른 디코딩 예상을 실행하는 재생 장치의 개략도이다.
도 4는 도 3의 장치에 의해 실행되는 디코딩 프로세스를 상세하게 도시한 상세도이다.
도 5는 도 3의 장치에 의해 실행되는 합성 프로세스를 상세하게 도시한 상세도이다.
이와 같은 목적들은, 이하에서 제안되는 목적들과 함께, 다음의 방법을 이용하여 얻을 수 있다. 상기 방법은, 적어도 하나의 클라이언트 터미널에서, 각각 적어도 하나의 합성 타임스탬프와 결합된 다수의 인코딩된 엔티티들을 포함하는, 적어도 하나의 데이터 플로우를 재생하는 방법에 있어서,
다수의 디코딩된 엔티티를 포함하는 적어도 하나의 디코딩된 플로우를 획득하기 위하여, 상기 플로우를 디코딩하는 단계;
상기 어셈블리 타임스탬프에 의하여 정의되는 시간에서, 상기 디코딩된 엔티티를 합성하는 단계를 포함한다.
본 발명에 따르면, 상기 인코딩된 엔티티들 중 적어도 하나에 대하여, 만약 상기 인코딩된 엔티티와 결합된 합성 문맥(composition context)이 적어도 하나의 소정 기준(criterion)을 검증한다면, 상기 디코딩 단계는 상기 합성 타임스탬프와 결합하여 예상된다.
이와 같은 방법으로, 본 발명은 완전히 새롭고 창의적인 방법에 기초하여 멀티미디어 플로우를 재생하며, 특히 MPEG-4/BIFS와 같은 영상 디스크립션 플로우 또는 MPEG-4 Visual(ISO-IEC/14496-2)이나 H26L(ISO-IEC/14496-10)과 같은 새로운 비디오 플로우의 재생에 적합하다.
실제로, 본 발명은, 합성 문맥을 설명하기 위하여, 합성 타임스탬프에 결합하여 수신 플로우의 디코딩을 예상하는 방법을 제안하며, 이는 종래의 기술에서는 제시되어진 바 없는 것이다.
따라서, 이와 같은 경우에 있어서, 디코딩이라는 용어는 실제의 디코딩 단계를 지시하나, 또한 디코딩된 엔티티와 관련되어 재생되는 구조를 적어도 부분적으로 계산 가능하게 하는, 어떠한 소정의 해석 단계도 지시한다.
이와 같은 방법으로, 예상되어 디코딩된 모든 엔티티에 대하여, 합성 스탬프에 의하여 명시된 시간에서 유동적인 재생이 보장되고, 재생될 다양한 프레임들이 비동기화되는 위험이 따라서 현저히 감소된다. 게다가, 본 발명은 재생 장치의 디코딩 자원을 최적화 시킬 수 있다: 실제로, 본 발명은, 유동성 제한(fluidity constraints) 요건이 충족되도록 그래픽 플로우를 처리할 때 필수적인, "멀티-스레디드" 플랫폼("multi-threaded" platform)(즉, 병렬로 작동되는 여러 개의 소프트 웨어 작업이 가능한 플랫폼)의 계산 자원을 최적으로 활용할 수 있도록 한다. 따라서, 본 발명은 재생 장치가, 디코딩된 엔티티의 해석 및 재생과 함께 병렬로서, 이미 수신된 인코딩된 엔티티의 디코딩을 예상하기 때문에 디코딩 과정을 최적화할 수 있다.
본 발명에 따라 제안된 디코딩의 예상 과정은 문제되는 인코딩된 엔티티의합성 문맥에 의존하므로, 본원 발명자에 의하여 확인되고, 예를 들어 BIFS 영상 디스크립션 플로우, MPEG-7 메타데이터 또는 H26L(ISO-IEC/14496-10)과 같은 새로운 형태의 비디오 플로우의 재생에 있어서 지금까지 필수적이라고 여겨지는, 멀티미디어 플로우 디코딩 및 합성 단계의 독립성 요구에 관련되는 상기 문제가 해결된다.
바람직하게는, 이와 같은 재생 방법은 현재의 합성 문맥(context)과 상기 인코딩된 엔티티와 결합된 합성 문맥을 비교하는 단계와, 상기 디코딩하는 단계는 상기 비교하는 단계의 결과가 양인 경우 실시됨으로써 구현된다.
이와 같은 방법으로, 현재 합성 문맥이 문제의 인코딩된 엔티티와 결합된 합성 문맥과 동일할 때에 상기 디코딩 단계는 예상된다. 실제로, 비교의 결과가 양이라는 것은, 상기 예상되어진 인코딩된 엔티티의 디코딩 결과가 합성 단계 동안에 이용되고, 상기 단계의 구현에 앞서 현재 합성 문맥의 가능한 수정에 적용될 수 있다는 것을 명시한다.
바람직하게는, 예상에 의하여 디코딩된 상기 엔티티는 상기 합성 단계까지 상기 클라이언트 단말에 의하여 메모리에 저장된다.
바람직하게는, 비교의 결과가 음인 경우에 있어서, 상기 인코딩된 엔티티는 상기 클라이언트 단말 내의 메모리에 저장되고, 상기 디코딩 단계는 상기 결합 합성 타임스탬프에 의하여 정의되는 상기 시간에서 구현된다.
이와 같은 방법으로, 만약 현재 합성 문맥이 상기 인코딩된 엔티티와 결합된 합성 문맥과 다르면, 그 디코딩은 종래와 같이 상기 엔티티의 합성 단계 동안에 수행되며 예상되지 않는다.
바람직하게는, 적어도 예상에 의하여 디코딩된 상기 엔티티 중 몇 개에 대하여, 상기 비교 단계는 상기 합성 단계에 앞서서 반복되고, 상기 합성 단계는 상기 두 번째 비교 결과가 양일 때 구현된다.
이와 같은 방법으로, 인코딩된 엔티티의 상기 예상된 디코딩 이후로 상기 현재 합성 문맥이 변하지 않음이 입증되고, 상기 예상된 디코딩의 결과가 합성 단계 동안에 이용될 수 있음이 입증된다. 만약 현재 합성 문맥이 문제되는 엔티티와 결합된 합성 문맥과 여전히 동일한 경우에는, 상기 합성 단계는 오직 예상에 의하여 디코딩된 엔티티에 대하여 구현된다.
바람직하게는, 상기 두 번째 비교 결과가 음일 때에는, 상기 방법은 오류 처리 단계를 구현한다.
실제로, 비교 결과가 음이라는 것은 인코딩된 엔티티의 상기 예상된 디코딩 이후에 현재 합성 문맥이 변하지 않았다는 것과, 예상에 의하여 디코딩된 엔티티의 합성이 현재 문맥의 관점에서 불가능하다는 것을 명시한다. 이 경우에 구현된 오류 관리는 종래의 형태에 해당하며, 따라서 여기에서 더욱 상세하게 기술되지는 않을 것이다.
바람직하게는, 디코딩 순서 데이터 항목은 또한 상기 인코딩된 엔티티 중 최소한 몇 개와 관련된다.
실제로, 인코딩된 엔티티의 디코딩 순서는 그 어셈블리 순서와 다를 수 있다: 이는 특히 어떤 크거나 복잡하고 인코딩된 엔티티가 더 긴 디코딩 시간을 필요로 하는 경우에 해당한다. 이와 같은 경우에 있어서 이들은, 합성 타임스탬프에 의하여 명시된 시간에서 디코딩된 형태로의 가용성(availability)을 보장하기 위하여, 덜 복잡하고 인코딩된 엔티티 보다 앞서서 디코딩된다.
본 발명의 바람직한 실시예에서는, 상기 디코딩 순서 데이터 항목은 디코딩 타임스탬프이다.
바람직하게는, 상기 데이터 플로우는 다음의 그룹에 속하며, 상기 그룹은:
- 비디오 플로우;
- 적어도 2차원의 그래픽 영상의 디스크립션 플로우;
- 오디오 플로우;
- 적어도 2차원의 오브젝트의 디스크립션 플로우;
- 적어도 하나의 오브젝트의 애니메이션 플로우; 및
- 메타데이터 디스크립션 플로우를 포함한다.
바람직하게는, 상기 인코딩된 엔티티의 포맷은 다음의 그룹에 속하며, 상기 그룹은:
- MPEG 미디어 포맷;
- MPEG-7 데이터 디스크립션 포맷;
- BIFS 영상 디스크립션 포맷; 및
- H26L 포맷을 포함한다.
또한 본 발명은 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티를 갖는 적어도 하나의 데이터 플로우를 재생하는 장치에 관련되고, 상기 장치는:
복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻을 수 있게 하는, 상기 데이터 플로우를 디코딩하는 수단;
상기 합성 타임스탬프에 의해 정의되는 시간에 실행되는, 상기 디코딩된 엔티티를 합성하는 수단을 포함한다.
본 발명에 따르면, 적어도 하나의 상기 엔코딩된 엔티티에 대하여, 상기 디코딩하는 수단은, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 합성 타임스탬프 이전에 실행된다.
또한 바람직하게, 이와 같은 장치는:
디코딩 차수를 증가시키면서 상기 인코딩된 엔티티를 저장하는 디코딩 버퍼 메모리; 및
상기 디코딩된 메모리에 상기 디코딩된 엔티티를 저장하는 합성 버퍼 메모리를 포함한다.
본 발명의 첫 번째 바람직한 대체 실시예에 따르면, 상기 디코딩된 엔티티는 증가하는 합성 타임스탬프에서 상기 합성 버퍼 메모리내의 메모리에 저장된다.
따라서, 합성 단계 동안에, 디코딩된 엔티티는 상기 디코딩된 엔티티가 합성 버퍼 메모리에 저장된 순서에 의하여 처리되고, 이러한 디코딩 수단은 상기 디코딩된 엔티티를 상기 합성 버퍼 메모리에 순서대로 정렬하기 위하여 그 합성 타임스탬프에 따라서 분류한다.
본 발명의 두 번째 바람직한 대체 실시예에 따르면, 상기 디코딩된 엔티티는 디코딩이 증가하는 순서에 따라서 상기 합성 버퍼 메모리 내의 메모리에 저장된다.
이와 같은 방법으로, 상기 디코딩 수단은 상기 엔티티들을 그 디코딩된 순서에 따라 합성 버퍼 메모리에 정렬하고, 상기 합성 수단은 상기 디코딩된 엔티티를, 그 합성 타임스탬프의 증가하는 순서에 따라 처리하기 위하여, 합성 버퍼 메모리 내에서 분류한다.
또한 본 발명은 데이터 서버로부터 적어도 하나의 클라이언트 단말에 적어도 하나의 데이터 플로우를 전송하는 시스템에 관한 것으로, 상기 서버는, 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티의 형태로 상기 데이터 플로우를 인코딩하는 수단을 포함하고,
상기 클라이언트 단말은:
복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻을 수 있게 하는 상기 데이터 플로우를 디코딩하는 수단;및
상기 합성 타임스탬프에 의해 정의되는 시간에 실행되는 상기 디코딩된 엔티티를 합성하는 수단을 포함한다.
본 발명에 따르면, 상기 인코딩된 엔티티 중 적어도 하나에 대하여, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 디코딩하는 수단은 상기 합성 타임스탬프 이전에 실행된다.
또한 본 발명은 상술한 적어도 하나의 재생 장치에 의해 재생되는 데이터 플로우를 나타내고, 상기 디코딩하는 수단의 출력에서 사용될 수 있으며, 상기 장치의 합성하는 수단을 공급하는 플로우에 관한 것이다.
본 발명에 따르면, 이와 같은 플로우는 상기 플로우의 복수개의 엔티티를 포함하고, 상기 각각의 복수개의 엔티티는,
- 합성 타임스탬프;
- 상기 엔티티가 예상되는 방법으로 디코딩되었는지를 표시하는 isdecod 마커;
- presStruct로 불리우고 상기 엔티티의 재생 구조에 관련된 데이터 항목; 및
- decodInfo로 불리우고 상기 엔티티의 디코딩에 관한 데이터 항목을 포함한다.
본 발명의 다른 특징 및 이점은, 단지 본 발명의 일례로서 본 발명을 한정하지 않는 바람직한 실시형태 및 첨부된 도면이 포함된 이하의 설명을 통해 보다 명확해질 것이다.
본 발명의 일반적인 원리는, 멀티미디어 플로우에서 결합된 합성 문맥에 따라 소정의 인코딩된 엔티티의 디코딩을 예상하는데 그 기본이 있다.
도 2를 참조하면, 본 발명의 다양한 처리 형태에 대한 일 실시형태가 도시되어 있다.
상기한 바와 같이, 인코딩된 엔티티(EE:10)는 도시된 또는 보다 일반적인 번역단(rendition terminal)에 수신된다. 상기 번역단은 스크린 상에 디스플레이(12)가 가능하도록, 상기 인코딩된 엔티티(EE:10)를 연속적인 디코딩(5), 해석(6) 재생(7) 단계를 통과시킨다.
제1 프로세스(8)는 디코딩단계(5)와 상기 인코딩된 엔티티(10)로부터, 상기 인코딩된 엔티티에 상응하고, 재생(12) 때까지 뷰잉단(viewing terminal)에 의해 메모리되는 디코딩된 엔티티(11)를 생성 가능하게 하는 전해석(pre-interpretation)단계(6)를 포함한다. 이러한 제1 프로세스(8)의 목적은, 합성 타임스탬프 ETC 또는 CTS와 결합된 엔티티를 생성하는 것이다. 상기 합성 타임스탬프 ETC 또는 CTS는 구문상으로 분석하기 쉬우며, 시간이 t=ETC에서 플로우를 생성하기 위해 어셈블러(4)에 요구되는 모든 정보를 포함한다 : 이 경우, 엔티티는 디코딩된 엔티티(ED:11)로 간주된다.
제2 프로세스(9)는, 상기 디코딩된 엔티티(ED:11)의 후해석(post-interpretation) 단계 및 재생단계(7)를 포함한다. 이러한 제2 프로세스(9)의 목적은, 프레임 ETC에 의해 요구되는 재생 시간 제한(temporal reproduction constraints)을 지킬 수 있도록 가능한 신속하게 상기 디코딩된 엔티티(11)를 재생하는 것이다.
본 발명에 따르면, 상기 제1 프로세스(8)는, 프레임 ETC에 관한 디코딩의 예상을 가능하게 하도록 상기 제2 프로세스(9)와 동시에 발생하지 않는다는 이점이 있다. 따라서 사용자에게 신속하고 유동적인 플로우의 재생을 보장한다.
본 발명에 따른 두 개의 선택적인 실시예가 실제로 존재할 수 있으며, 이후 연속적으로 실시예를 설명한다.
본 발명의 제1 실시예에 따르면, 인코딩된 엔티티(10)의 디코딩 순서는, 합성 타임스탬프 ETC에 의해 정의되는 디코딩된 엔티티의 합성 순서와 동일하다.
본 발명의 제2 실시예에 따르면, 예를 들어, 소정의 보다 복잡한 엔티티는 긴 디코딩 시간을 필요로 하고, 따라서 우선적으로 디코딩되어야 하는 경우, 인코딩된 엔티티(EE)의 디코딩 순서는 ETC에 의해 정의되는 순서와 다르다. 본 발명의 제2 실시예에 따르면, 예를 들어 디코딩 타임스탬프 ETD의 형태일 경우, 디코딩 순서를 정의하는 데이터 항목은 인코딩된 엔티티(EE:10)와 결합되어야 한다.
먼저, 도 3 내지 도 5를 참조하면, 디코딩의 순서와 합성의 순서가 동일한 상기 제1 실시예가 도시되어 있다.
이 경우, 도 3에 도시된 본 발명에 따른 장치는 두 개의 플로우 디코더(30, 31)를 포함한다. 상기 각각의 디코더는 도 2의 제1 및 제2 프로세스(8, 9)에 사용된다.
상술한 바와 같이, 상기 제1 프로세스(8)는 비동기 모드에서 상기 제2 프로세스(9)에 대하여 독립적으로 작동한다. 상기 제2 프로세스는 장치에 의해 수신되는 플로우의 재생을 수행하므로 동기 모드에서는 플로우 시간에 따라 작동한다.
상기 제1 및 제2 프로세스(8, 9)는 모든 디코딩된 엔티티(RD :11)를 포함하는 동일한 버퍼 메모리(32)를 사용한다. 이후, 상기 버퍼 메모리(32)는 합성 버퍼 메모리라 한다. 디코더(30)에 의한 디코딩의 순서가 증가하는 것에 상응하는 합성 타임스탬프 ETC의 순서가 증가할 때, 디코딩된 엔티티는 상기 합성 버퍼 메모리에 저장된다.
인코딩 엔티티(EE:10)는 인코딩 플로우를 전송하는 소스(source)로부터 수신되고, ETC의 순서가 증가할 때, 상기 디코딩 버퍼 메모리로 언급된 버퍼메모리(33)에 저장된다.
도 3의 디코딩 버퍼 메모리(33)에 간략하게 도시된 바와 같이, 각각의 인코딩된 엔티티(EE:10)는 합성 타임스탬프 ETC와 결합된다. 응용할 수 있는 경우라면, 이후에 설명되는 제2 실시예에서 각각의 인코딩된 엔티티는 디코딩 타임스탬프 ETD와 결합된다.
합성 퍼버 메모리(32)에 저장된 각각의 디코딩된 엔티티(ED:11)는 다음과 같은 데이터 항목과 결합된다;
- 도 3에 도시된 장치에 사용자에게 상기 엔티티(ED:11)가 재생되는 시간을 정의하는 합성 타임스탬프(ETC);
- decodInfo로 표시되고, 디코딩된 엔티티(ED:11)의 생성을 가능하게 하는 데이터 항목, 상기 데이터 항목은 인코딩된 엔티티(EE:10)에 포함되지 않고 상기 인코딩된 엔티티(EE:10)의 디코딩되는 동안 필요하다.;
- isDecod로 표시되고, 디코더(30)에 의해 상기 인코딩된 엔티티(EE:10)의 예상되는 디코딩이 상기 제1 프로세스(8)가 진행되는 동안 수행되는지를 지시하는 마커;
- presStruct로 표시되는 구조(structure). 예상되는 디코딩이 상기 제1 프로세스가 진행되는 동안 가능하면(isDecod=1로 지시되면), 상기 구조는 상기 제2 프로세스에 의해 사용된다. 상기 디코더(30)에 의해 계산되는 비독립 함수(dependency function)에 따라, 상기 presStruct 구조는 먼저 decodInfo에 의존하고, 다음으로 인코딩된 엔티티(EE:10)에 포함된 데이터 항목에 의존한다는 점을 유의해야 한다.
마지막으로, 제1 프로세스(8)에 의한 디코딩의 예상이 불가능하면, 즉 isDecod=0이면, 상기 합성 버퍼 메모리(32)는 인코딩된 형태로 엔티티를 포함한다.
도 4를 참조하면, 인코딩된 엔티티(EE:10)에 대한 디코딩을 예상하는 상기 제1 프로세스(8)의 작동 원리가 보다 상세하게 도시되어 있다.
상기 제1 프로세스(8)에 따르면, 인코딩된 엔티티(EE:10)의 목록을 포함하는 디코딩 버퍼 메모리(33)가 스캔된다. 제1 인코딩된 엔티티(i)가 판독되고(40) 그에 상응하는 디코딩 데이터인 decodInfo는 합성 문맥(44)으로부터 복구된다. 상기 합성 문맥(44)은 표시된 플로우의 현재값에 대응된다: 예를 들어, 그래픽 영상 뷰잉(viewing)의 경우, 상기 합성 문맥은 현재 시간의 영상에서 다양한 오브젝트 표현 및 그 배열을 나타내는 계층 트리에 대응된다.
단계(45)가 진행되는 동안, 디코더(30)에 의한 상기 엔티티(i)의 예상 디코딩이 가능한지를 결정하기 위해, 상기 엔티티(i)와 결합된 상기 합성 문맥은 현재 합성 문맥과 비교된다.
예를 들어, 자동차를 포함하는 영상 디스크립션 플로우를 재생하는 경우, 현재 디코딩 시간에 자동차에 해당하는 합성 문맥이 스크린에 표현된다면, 상기 자동차의 스티어링 휠에 해당하는 상기 프레임 엔티티(i)의 디코딩은 오직 본 발명에 의해서만 예상될 수 있다.
만약, 상기 합성 문맥이 엔티티(i)에 결합된 합성 문맥과 다르다면, 상기 디코더(30)에 의한 예상된 디코딩은 불가능하고(즉, isDecod=0), 상기 인코딩된 엔티티(i)는 합성 버퍼 메모리(32) 내에 저장된다.
이어, 목록(33) 내의 다음 인코딩된 엔티티(i+1)로 프로세스가 진행된다(47).
목록의 마지막에 이르렀을 때, 판독(40)은 인코딩된 엔티티의 목록(33)의 시작에서 재개된다.
이러한 방법으로, 예상된 디코딩이 가능한 모든 인코딩된 엔티티에 대하여 상기 제1 프로세스(8)는 데이터 isDecod, preStruct를 생성하고, 디코딩된 엔티티(ED:11)을 갖는 합성 버퍼 메모리(32)를 채운다. 이러한 프로세스(8)는 비동기 모드로 작동하고, 상기 제2 프로세스(9)에 의한 플로우의 유동적인 재생을 보장하기 위해 장치에 의해 요구되는 연산 리소스를 사용하지 않도록 도 3의 재생장치에서 낮은 우선권을 할당받는다.
즉, 스탬프 ETC의 정의는 시간 'T'에서 상기 제2 프로세스에 의한 모든 디코딩된 엔티티(ED)의 재생을 보장하는 상기 재생 장치를 요구하며, 이때, 상기 합성 타임스탬프 ETC는 T보다 작다. 따라서, 가능한 신속하게 상기 합성 버퍼 메모리(32)에 포함된 디코딩된 엔티티(ED)를 재생하는 것이 가능하도록, 상기 제2 프로세스(9)는 충분한 연산 리소스를 가져야 한다.
제2 재생 프로세스(9)의 작동 모드는 도 5를 참조하여 설명한다.
상기 합성 버퍼 메모리(32)는, 그 안에 연속적으로 저장된 다른 디코딩된 엔티티(i)를 판독(50)하기 위해 브라우즈(browse)된다. 단계(51)가 진행되는 동안, 예상되는 디코딩이 상기 제1 프로세스(8)의 디코더(30)에 의해 수행되었는지를 결정하기 위해 isDecod 마커의 값이 분석된다.
만약 isDecod=1이면, 현재 합성 문맥(44)과 상기 합성 버퍼 메모리(32) 내에 저장된 decodInfo 데이터의 비교(53)가 상기 디코딩된 엔티티(i)를 참조하여 수행된다.
상기 제2 프로세스(9)에 따라 현재 합성 문맥 데이터가 복구되는 방법은 장치의 다른 사용가능한 배치에 의존하며, 본 기술분야에서 통상의 지식을 가진 자에게 잘알려진 전형적인 기술에 따른다. 따라서 본 발명의 범위 내에서는 보다 상세하게 설명하지 않는다.
decodInfo가 현재 합성 문맥과 다르면(54), 현재 합성 문맥의 함수에 따라 인코딩된 엔티티(i)의 디코딩(56)이 반복될 필요가 있다.
반면, decodInfo가 현재 합성 문맥과 일치하면(55), preStruct 구조는 유효하고 디코딩된 엔티티(i)는 합성 타임스탬프 ETC에 의해 정의되는 시간에 재생될 수 있다. 상기 제2 프로세스(9)가 합성 버퍼 메모리(32)의 다음 디코딩된 엔티티로 진행(59)하기 전에, 상기 구조 preStruct(i)는 해석되고(57), 디코딩된 엔티티(i)는 재생된다(58).
만약, isDecod=0이면, 질문에서 상기 엔티티의 디코딩 예상은 불가능하므로, 상기 인코딩된 엔티티(i)의 디코딩(52)를 수행할 필요가 있다. 만약, 디코딩이 가능하다면, 질문에서 상기 인코딩된 엔티티와 결합된 현재 복합 문맥 사이의 컴플라이언스(compliance) 때문에, 상기 해당 presStruct 구조의 해석(57) 및 상기 엔티티의 재생(58)이 수행된다. 만약, 디코딩이 불가능하면, 현재 합성 문맥이 질문에서 인코딩된 엔티티와 결합된 합성 문맥과 다르기 때문에, 일반적인 오류 처리 과정(60)이 실행된다. 자동차를 표시하는 상기 영상 디스크립션 플로우의 예에서, 예를 들어, 보여지는 영상으로부터 상기 자동차를 제거하는 사용자의 개입에 의해 자동차가 더 이상 영상 문맥의 일부가 아닌 경우에는, 스티어링 휠을 나타내는 엔티티의 디코딩은 불가능하다.
이어, 이러한 제2 프로세스(9)에 따르면, 재생 후에 상기 합성 버퍼 메모리(32)의 디코딩된 엔티티는 쓸모 없기 때문에, 이 엔티티는 삭제된다.
이하, 인코딩된 엔티티(EE:10)의 디코딩 순서가 결합된 합성 타임스탬프 ETC에 의해 정의되는 합성의 순서와 다른 경우, 본 발명의 제2 실시예를 간략하게 설명한다.
이 경우, 디코딩 버퍼 메모리(33) 내에 저장된 인코딩된 엔티티의 순서가 디코딩된 엔티티(ED)의 재생 순서와 다르다. 도 4를 참조하여 상기에 설명된 제1 프로세스(8)는 디코딩 버퍼 메모리(33) 내의 엔티티의 저장 순서에서 작동한다. 이 경우, 이러한 디코딩의 순서가, 플로우의 각각의 엔티티와 결합된 디코딩 타임스탬프 ETD에 의해 정의되면, 도 4에서 엔티티(i)에 인가된 인덱스 I는 증가하는 ETD에 상응한다.
반면, 제2 프로세스(9)에 의한 엔티티의 재생은 다음과 같은 예비적인 단계를 필요로 한다.
- 최저 스탬프 STC를 포함하는 엔티티는 합성 버퍼 메모리(32) 내에서 식별된다.;
- 시간 T가 상기 인식된 최저 합성 타임스탬프 ETCmin보다 작을 때, 상기 스탬프 ETCmin와 결합된 디코딩된 엔티티(ED)의 presStruct 구조의 재생이 실행되고 해당 디코딩 엔티티 Ed는 상기 합성 버퍼 메모리(32)로부터 삭제된다.;
본 실시예의 제1 하위 실시예에 따르면, 디코딩된 엔티티(ED)는 디코딩 순서로 합성 버퍼 메모리 내에 저장되고, 최저 스탬프 ETCmin을 갖는 엔티티(ED)를 선택하기 위해 상기 제2 프로세스(9)의 재생 기능의 역할을 한다.
본 실시예의 다른 하위 실시예에 따르면, 상기 엔티티(ED)는, 증가하는 타임스탬프 ETC의 순서로 합성 버퍼 메모리(32) 내에 저장된다. 이 경우, 제2 프로세스의 재생 기능은 도 5를 참조하여 상기에 설명된 것과 동일하다. 반면, 제2 프로세스(9)의 디코딩 기능은, 증가하는 디코딩 타임스탬프 ETD에 의해 정의되는 디코딩 순서로 상기 합성 버퍼 메포리(32)를 브라우즈해야 한다.
다음과 같은 연속적인 단계가 실행된다.
- 최저 디코딩 타임스탬프 ETCmin를 포함하는 isDecod=0의 값을 갖는 엔티티는 상기 합성 버퍼 메모리(32) 내에서 식별된다.;
- 이어, 식별된 상기 타임스탬프 ETCmin에 해당하는 인코딩된 엔티티(EE)가 디코딩된다.;
- 이어, 모든 엔티티가 isDecod=1의 값을 가질 때까지, 상기 인코딩된 엔티티(EE)는 상기 디코딩 타임스탬프 ETD의 순서로 연속적으로 디코딩된다.;
최대 가능한 인코딩된 엔티티(EE)는 이미 플로우 재생의 뛰어난 유동성을 가능하게 하는 상기 제1 프로세스(8)의 디코더(30)에 의해 디코딩되었으므로, 인코딩된 엔티티(EE)를 디코딩하는 상기 제2 프로세스에 의해 소모되는 시간은 확연히 감소된다.
이하, 본 발명의 범위 내에서 사용되는 MPEG-4/BIFS 플로우 디코딩에 대한 decodInfo 및 presStruct의 예를 간략하게 설명한다.
BIFS 타입 플로우 디코딩의 경우, 모든 인코딩된 엔티티(EE)에 대하여 디코딩 타임스탬프 ETD는 합성 타임스탬프 ETC와 동일하다. 따라서, 디코딩의 순서가 재생의 순서와 같은 상기 제1 실시예는 사용가능하다.
이 경우, decodInfo의 값을 정의하고 decodInfo를 얻는 법을 정의함으로써 본 발명에 따른 실시예는 실현될 수 있다.
상기 인코딩된 엔티티의 특성에 따라 다른 값을 얻을 수 있다.
- 만약, 상기 인코딩된 엔티티가 BIFS 노드(node) 삽입 명령(ISO/IEC 14496-1:2000(E)의 섹션 9.3.6.5에 정의된 바에 따른)이면,;
- decodInfo는 노드 및 상기 노드에 상응하는 디코딩표의 식별값이다. 즉, {nodeID, GetNDTFromID(nodeID)}.;
- presStruct는 MPEG-4/시스템 표준의 섹션 9.3.6.5.1에 기술된 구조로 정의된 것과 같은 명령을 서술하는, 쉽게 해석가능한 오브젝트이다.;
- 만약, 상기 인코딩된 엔티티(EE)가 IndexedValueInsertion 명령이면,;
- decodInfo는 노드 식별값, 노드 필드 식별값, 노드의 값 및 상기 노드에해당하는 필드의 값이다. 즉, {nodeID, inID, node=GetNodeFromID(node ID), field=node.field[node.in2all[inID]]};
- presStruct는 MPEG-4/시스템 표준의 섹션 9.3.6.6.1에 기술된 구조로 정의된 것과 같은 명령을 서술하는, 쉽게 해석가능한 오브젝트이다.;
- 만약, 상기 인코딩된 엔티티(EE)가 IndexedValueDeletion 명령이면,;
- decodInfo는 {nodeID, inID, node=GetNodeFromID(node ID), field=node.field[node.in2all[inID]]}이다.;
- presStruct는, 상기 인코딩된 엔티티(EE)의 디코딩이 진행되는 동안, 상기 구조에서 한정되고, 얻어지는 deletionPosition 위치에서의 값의 삭제의 간단한 표시와 같은 명령을 기술하는 쉽게 해석가능한 오브젝트이다.;
- 만약, 상기 인코딩된 엔티티가 FieldReplacement 명령이면(상기 표준의 섹션 9.3.6.14에 기술된 바와 같은),;
- decodInfo는 {nodeID, inID, node=GetNodeFromID(node ID), field=node.field[node.in2all[inID]]}이다.;
- presStruct는 MPEG-4/시스템 표준의 섹션 9.3.6.14.1에 기술된 구조로 정의된 것과 같은 명령을 서술하는, 쉽게 해석가능한 오브젝트이다.;
- 만약, 상기 인코딩된 엔티티(EE)가 IndexedValueReplacement 명령이면,;
- decodInfo는 {nodeID, inID, node=GetNodeFromID(node ID), field=node.field[node.in2all[inID]]}이다.;
- presStruct는, replacePosition 위치 및 상기 표준의 섹션 9.3.6.14.1에기술된 구조에서 정의된 바와 같은 명령을 기술하는 쉽게 해석가능한 오브젝트이다.;
- 만약 상기 인코딩된 엔티티(EE)가 SceneReplace 명령이면,;
- decodInfo는 공백{} 이다.
- presStruct는, 상기 표준의 섹션 9.3.7.1.1에서 정의된 바와 같은 명령을 기술하는 쉽게 해석가능한 오브젝트이다.
- 다른 모든 경우에는, 상기 인코딩된 엔티티(EE)는 예상에 의해 디코딩되지 않는다.
이와같은 인코딩된 엔티티의 예들은 명확한 디코딩 및 해석 리소스를 요구하므로, 본 발명의 잇점으로부터 이들은 특별한 잇점을 얻을 수 있다.
그러므로, 본 발명은 수신받는 플로우의 디코딩을 최적화하고 다양항 잇점을 제공할 수 있게 한다.
먼저, 본 발명은 종래 기술에서와 같이 상당한 추가적인 메모리를 필요로 하지 않으면서, 디코딩 프로세스를 최적화할 수 있다. 또한, 본 발명에 따르면, 병렬로 작동하는 두 개의 디코딩 프로세스만이 요구된다. 상기 프로세스 중의 하나는 플로우를 재생하는데 사용되는 클럭을 사용하여 동기화되며, 다른 하나(소위 예상)의 프로세스는 비동기 모드로 작동한다. 본 발명에 따르면, 상기 두 개의 프로세스가 동일한 버퍼 메모리를 공유하므로, 종래 기술에 필요한 메모리의 증가는 단일디코딩 프로세스의 크기보다 더 작아진다.
더하여, 디코딩의 예상이 디코딩 오류를 일으기는 경우, 본 발명에 따른 기술은 여분의 추가적인 디코딩을 가능하게 한다. 동기화된 프로세스의 디코더가 예상을 수행하는 디코더의 초기 디코딩 설정만을 비교하기 때문에, 이러한 디코딩 오류는 쉽게 제어될 수 있다.
또한, 본 발명에 따른 기술은 "멀티 쓰레드(multi-threaded)" 플랫폼(즉 복수개의 소프트웨어 작업을 병렬로 실행 가능하게 하는 플랫폼)의 리소스 연산의 최적으로 사용할 수 있게 한다. 이것은 유동성이 포함된 그래픽 플로우 처리가 충족될 필요가 있을 때, 필수적이다.
마지막으로 본 발명에 따른 기술은 일반적인 디코딩 기술과 완벽하게 호환이 가능하다. 즉, 디코딩을 예상하는 추가적인 디코더의 사용은 종래 기술에서 알려진 일반적인 플로우 디코딩과의 뛰어난 작동 시나리오 유연성 및 호환성을 보장한다.

Claims (16)

  1. 적어도 하나의 클라이언트 단말에서, 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티를 갖는 적어도 하나의 데이터 플로우를 재생하는 방법에 있어서,
    복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻기 위해 상기 인코딩된 데이터 플로우를 디코딩하는 단계; 및
    상기 합성 타임스탬프에 의해 정의되는 시간에 상기 디코딩된 엔티티를 합성하는 단계를 포함하고,
    상기 인코딩된 엔티티의 적어도 하나에 대하여, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 디코딩하는 단계는 상기 합성 타임스탬프에 따라 실행됨을 특징으로 하는 데이터 플로우 재생 방법.
  2. 제1항에 있어서,
    현재의 합성 문맥과 상기 인코딩된 엔티티와 결합된 합성 문맥을 비교하는 단계를 더 포함하고, 상기 디코딩하는 단계는 상기 비교하는 단계의 결과가 양인 경우 실시되는 것을 특징으로 하는 데이터 플로우 재생 방법.
  3. 제1항 또는 제2항에 있어서,
    예상에 의해 디코딩된 상기 엔티티는, 상기 합성하는 단계가 실행될 때까지상기 클라이언트 단말에 의해 메모리에 저장됨을 특징으로 하는 데이터 플로우 재생 방법.
  4. 제2항에 있어서,
    상기 비교하는 단계의 결과가 음인 경우, 상기 인코딩된 엔티티는 상기 클라이언트 단말의 메모리에 저장되고, 상기 디코딩하는 단계는 상기 결합된 합성 타임스탬프에 의해 정의되는 시간에 실행됨을 특징으로 하는 데이터 플로우 재생 방법.
  5. 제2항 또는 제3항에 있어서,
    예상에 의해 디코딩되는 상기 엔티티의 적어도 일부에 대하여, 상기 비교하는 단계는 상기 합성하는 단계 이전에 반복되고, 상기 합성하는 단계는 두 번째 비교의 결과가 양인 경우 실행되는 것을 특징으로 하는 데이터 플로우 재생 방법.
  6. 제5항에 있어서,
    상기 데이터 플로우 재생 방법은, 상기 두 번째 비교의 결과가 음인 경우 오류 처리 단계를 더 포함하는 것을 특징으로 하는 데이터 플로우 재생 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    디코딩 순서 데이터 항목은 적어도 상기 인코딩된 엔티티의 적어도 일부와 결합됨을 특징으로 하는 데이터 플로우 재생 방법.
  8. 제7항에 있어서, 상기 디코딩 순서 데이터 항목은 디코딩 타임스탬프임을 특징으로 하는 데이터 플로우 재생 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 데이터 플로우는,
    비디오 플로우;
    적어도 2차원의 그래픽 영상의 디스크립션 플로우;
    오디오 플로우;
    적어도 2차원의 오브젝트의 디스크립션 플로우;
    적어도 하나의 오브젝트의 애니메이션 플로우; 및
    메타데이터 디스크립션 플로우를 포함하는 그룹에서 선택됨을 특징으로 하는 데이터 플로우 재생 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 인코딩된 엔티티의 포맷은,
    MPEG 미디어 포맷;
    MPEG-7 데이터 디스크립션 포맷;
    BIFS 영상 디스크립션 포맷; 및
    H26L 포맷을 포함하는 그룹에서 선택됨을 특징으로 하는 데이터 플로우 재생방법.
  11. 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티를 갖는 적어도 하나의 데이터 플로우를 재생하는 장치에 있어서,
    복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻을 수 있게 하는, 상기 데이터 플로우를 디코딩하는 수단;
    상기 합성 타임스탬프에 의해 정의되는 시간에 실행되는, 상기 디코딩된 엔티티를 합성하는 수단을 포함하고, 상기 인코딩된 엔티티 중 적어도 하나에 대하여, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 디코딩하는 수단은 상기 합성 타임스탬프 이전에 실행됨을 특징으로 하는 데이터 플로우 재생 장치.
  12. 제11항에 있어서,
    상기 데이터 플로우 재생 장치는,
    디코딩 순서를 증가시키면서 상기 인코딩된 엔티티를 저장하는 디코딩 버퍼 메모리; 및
    상기 디코딩된 메모리에 상기 디코딩된 엔티티를 저장하는 합성 버퍼 메모리를 더 포함하는 것을 특징으로 하는 데이터 플로우 재생 장치.
  13. 제12항에 있어서,
    상기 디코딩된 엔티티는, 합성 타임스탬프 순서를 증가시키면서 상기 합성 퍼버 메모리의 메모리에 저장됨을 특징으로 하는 데이터 플로우 재생 장치.
  14. 제12항에 있어서,
    상기 디코딩된 엔티티는, 디코딩 순서를 증가시키면서 상기 합성 버퍼 메모리의 메모리에 저장됨을 특징으로 하는 데이터 플로우 재생 장치.
  15. 데이터 서버로부터 적어도 하나의 클라이언트 단말에 적어도 하나의 데이터 플로우를 전송하는 시스템에 있어서,
    상기 서버는, 적어도 하나의 합성 타임스탬프와 각각 결합된 복수개의 인코딩된 엔티티의 형태로 상기 데이터 플로우를 인코딩하는 수단을 포함하고,
    상기 클라이언트 단말은, 복수개의 디코딩된 엔티티를 갖는 적어도 하나의 디코딩된 플로우를 얻을 수 있게 하는 상기 데이터 플로우를 디코딩하는 수단 및 상기 합성 타임스탬프에 의해 정의되는 시간에 실행되는 상기 디코딩된 엔티티를 합성하는 수단을 포함하며, 상기 적어도 하나의 인코딩된 엔티티에 대하여, 상기 인코딩된 엔티티와 결합된 합성 문맥이 적어도 하나의 소정 기준을 검증하면, 상기 디코딩하는 수단은 상기 합성 타임스탬프 이전에 실행됨을 특징으로 하는 데이터 플로우 재생 장치.
  16. 제11항 내지 제14항 중 어느 한 항에 따른 적어도 하나의 재생 장치에 의해재생되는 데이터 플로우를 나타내고, 상기 디코딩하는 수단의 출력에서 사용될 수 있으며, 상기 장치의 합성하는 수단을 공급하는 신호에 있어서,
    상기 신호는 상기 플로우의 복수개의 엔티티를 포함하고,
    상기 각각의 복수개의 엔티티는,
    합성 타임스탬프;
    상기 엔티티가 예상되는 방법으로 디코딩되었는지를 표시하는 isdecod 마커;
    presStruct로 불리우고 상기 엔티티의 재생 구조에 관련된 데이터 항목; 및
    decodInfo로 불리우고 상기 엔티티의 디코딩에 관한 데이터 항목을 포함하며,
    상기 isdecod 마커가 제1 값일 때 상기 엔티티는 인코딩된 형태이고, 상기 isdecod 마커가 제2 값일 때 상기 엔티티는 디코딩된 형태임을 특징으로 하는 신호.
KR1020030046198A 2002-07-08 2003-07-08 클라이언트 단말에서 멀티미디어 데이터 플로우를 재생하는 방법, 장치 및 시스템 KR100943738B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR02/08587 2002-07-08
FR0208587A FR2842058B1 (fr) 2002-07-08 2002-07-08 Procede de restitution d'un flux de donnees multimedia sur un terminal client, dispositif, systeme et signal correspondants

Publications (2)

Publication Number Publication Date
KR20040005663A true KR20040005663A (ko) 2004-01-16
KR100943738B1 KR100943738B1 (ko) 2010-02-23

Family

ID=29725293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030046198A KR100943738B1 (ko) 2002-07-08 2003-07-08 클라이언트 단말에서 멀티미디어 데이터 플로우를 재생하는 방법, 장치 및 시스템

Country Status (7)

Country Link
US (1) US7634169B2 (ko)
EP (1) EP1383336B1 (ko)
JP (1) JP4279622B2 (ko)
KR (1) KR100943738B1 (ko)
CA (1) CA2434990C (ko)
FR (1) FR2842058B1 (ko)
HK (1) HK1062250A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689864B1 (ko) * 2006-03-14 2007-03-08 주식회사 타 셋 폐활성 슬러지의 감량화 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7908369B2 (en) * 2006-02-28 2011-03-15 France Telecom Method of collecting descriptions of streams pertaining to streams relating to at least one client network attached to an interconnection network
TW201125376A (en) * 2010-01-05 2011-07-16 Lite On Technology Corp Communicating module, multimedia player and transceiving system comprising the multimedia player

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262776B1 (en) 1996-12-13 2001-07-17 Microsoft Corporation System and method for maintaining synchronization between audio and video
DE69825710T2 (de) * 1997-11-28 2005-07-14 Matsushita Electric Industrial Co., Ltd., Kadoma Audio-Video Dekodierungssystem
AU4960599A (en) * 1998-06-26 2000-01-17 General Instrument Corporation Terminal for composing and presenting mpeg-4 video programs
US6539054B1 (en) * 1998-09-18 2003-03-25 Matsushita Electric Industrial Co., Ltd. Image output apparatus, image reproduction method, object composition apparatus, object composition method, and data storage medium
US20010027468A1 (en) * 2000-03-09 2001-10-04 Sanyo Electric Co., Ltd. Transmission system, reception system, and transmission and reception system capable of displaying a scene with high quality
GB0007868D0 (en) * 2000-03-31 2000-05-17 Koninkl Philips Electronics Nv Methods and apparatus for editing digital video recordings and recordings made by such methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689864B1 (ko) * 2006-03-14 2007-03-08 주식회사 타 셋 폐활성 슬러지의 감량화 장치

Also Published As

Publication number Publication date
HK1062250A1 (zh) 2004-10-21
JP4279622B2 (ja) 2009-06-17
CA2434990A1 (en) 2004-01-08
CA2434990C (en) 2010-03-16
US20050086684A1 (en) 2005-04-21
FR2842058B1 (fr) 2004-10-01
KR100943738B1 (ko) 2010-02-23
FR2842058A1 (fr) 2004-01-09
EP1383336B1 (fr) 2016-05-04
EP1383336A3 (fr) 2004-08-25
EP1383336A2 (fr) 2004-01-21
JP2004040807A (ja) 2004-02-05
US7634169B2 (en) 2009-12-15

Similar Documents

Publication Publication Date Title
JP4959504B2 (ja) 適応制御を行うことができるmpegコード化オーディオ・ビジュアルオブジェクトをインターフェイスで連結するためのシステムおよび方法
KR100618473B1 (ko) Mpeg 스트림 네비게이션을 제공하기 위한 방법, 머신 판독 가능 매체, 장치 및 시스템
US7522820B2 (en) Data storage medium in which multiple bitstreams are recorded, apparatus and method for recording the multiple bitstreams, and apparatus and method for reproducing the multiple bitstreams
JP3662129B2 (ja) マルチメディア情報編集装置
US6611262B1 (en) Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format
US7054546B2 (en) Data multiplexing method, data recorded medium, data recording apparatus and data recording program
US8368813B2 (en) Generating device, generating method, and program for reproducing subtitles from a file in which subtitle data relating to subtitles is stored
JP3768662B2 (ja) オーディオビジュアル・セグメントを貼り合わせる方法および装置、オーディオビジュアル・セグメントを接合する方法、ならびにコンピュータが読み取り可能な媒体
WO2006115151A1 (ja) 記録装置、再生装置、記録再生装置、記録プログラムとその記録媒体、再生プログラムとその記録媒体
US6292805B1 (en) System and method for processing object-based audiovisual information
RU2525483C2 (ru) Записывающее устройство, способ записи, устройство воспроизведения, способ воспроизведения, носитель записи и программа
EP1006726B1 (en) Data processing method for a data stream including object streams
JPH10243342A (ja) ビデオ・ファイルの編集方法および装置、ビデオ・ファイルからセグメントを切り取る方法、ビデオ・ファイルからセグメントをコピーする方法および装置、ビデオ・ファイル・セグメントを貼り付けるための方法および装置、コンピュータ読み取り可能な媒体
US8699846B2 (en) Reproducing device, reproducing method, program, and data structure
US6539054B1 (en) Image output apparatus, image reproduction method, object composition apparatus, object composition method, and data storage medium
JP2002521882A (ja) 符号化データを分離多重する装置
US20100186464A1 (en) Laundry refresher unit and laundry treating apparatus having the same
WO2021065605A1 (ja) 情報処理装置および情報処理方法
KR100943738B1 (ko) 클라이언트 단말에서 멀티미디어 데이터 플로우를 재생하는 방법, 장치 및 시스템
US20020080399A1 (en) Data processing apparatus, data processing method, data processing program, and computer-readable memory storing codes of data processing program
US6999090B2 (en) Data processing apparatus, data processing method, information storing medium, and computer program
US8514949B1 (en) Synchronous, multi-stream decoder
Puri et al. Overview of the MPEG Standards
JP4378157B2 (ja) データ処理方法および装置
JP2005159878A (ja) データ処理装置及びデータ処理方法、並びにプログラム、記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150213

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170213

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180212

Year of fee payment: 9