KR20030014709A - 비디오 오류 회복 - Google Patents

비디오 오류 회복 Download PDF

Info

Publication number
KR20030014709A
KR20030014709A KR1020027016878A KR20027016878A KR20030014709A KR 20030014709 A KR20030014709 A KR 20030014709A KR 1020027016878 A KR1020027016878 A KR 1020027016878A KR 20027016878 A KR20027016878 A KR 20027016878A KR 20030014709 A KR20030014709 A KR 20030014709A
Authority
KR
South Korea
Prior art keywords
video
frames
video frame
format
frame
Prior art date
Application number
KR1020027016878A
Other languages
English (en)
Other versions
KR100945548B1 (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 KR20030014709A publication Critical patent/KR20030014709A/ko
Application granted granted Critical
Publication of KR100945548B1 publication Critical patent/KR100945548B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/87Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving scene cut or scene change detection in combination with video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/142Detection of scene cut or scene change
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 데이터 손실로 인한 비디오 시퀀스에서의 인지된 이미지 품질의 열화를 감소시키는 방법을 제공한다. 이 효과는 주기적인 인트라(INTRA) 프레임 리프레시, 인트라(INTRA) 갱신 요청, 또는 장면 컷 이후에 인트라(INTRA) 부호화된 프레임(50)의 삽입을 효과적으로 지연시킴으로써 달성된다. 인트라 프레임 요청들과 연관된 프레임들은 그들 스스로 인트라 포맷으로 부호화되지 않지만, 그 대신 상기 비디오 시퀀스에서 나중에 발생한 프레임(50)이 인트라 포맷으로 부호화하기 위해 선택된다. 바람직하기로는, 실제 인트라 프레임은, 그것이 주기적인 인트라 요청들 사이의 대략 중간쯤에 있도록 선택된다. 실제 인트라 부호화된 프레임(50) 이전에 발생한 프레임들(P2, P3)은 실제 인트라 프레임에서 시작하여, 역순으로, 시간 예측을 이용하여 부호화되고, 반면에 상기 인트라 부호화된 프레임(50) 이후에 발생하는 프레임들(P4, P5)은 순방향으로 시간 예측을 이용하여 부호화된다.

Description

비디오 오류 회복{Video error resilience}
본 발명에 의해 제공되는 이점들을 이해하기 위하여, 종래 기술로부터 알려져 있는 전형적인 멀티미디어 콘텐츠 생성 및 검색 시스템의 구성을 재검토하고 압축된 비디오 시퀀스들의 특징들을 소개하는 것이 유리하다. 다음 단락들에서의 설명이, 정보가 패킷-기반 데이터 프로토콜들(예를 들어 인터넷)을 사용하여 전송되는 네트워크에서 저장된 멀티미디어 데이터의 검색에 집중될지라도, 본 발명이 고정선 일반 전화 교환망(PSTN: Public Service Telephone Network) 또는 이동 공중 육상 이동 네트워크(PLMN: Public Land Mobile Network) 전화 시스템들과 같은 회선 교환 네트워크들에 동등하게 적용될 수 있다는 것은 이해되어야 한다. 또한 본 발명은 패킷-기반 및 회선 교환 데이터 전송 프로토콜들의 조합을 사용하는 네트워크들에 적용될 수 있다. 예를 들어, 현재 표준화가 진행중인 범용 이동 전화 시스템(UMTS: Universal Mobile Telephone System)은 회선 교환 요소 및 패킷-기반 요소 양자를 포함할 수 있다. 본 발명은 비디오 전화와 같은 실시간 통신 애플리케이션들 뿐만 아니라, 비디오 스트리밍과 같은 비-실시간 애플리케이션들에 적용가능하다.
전형적인 멀티미디어 콘텐츠 생성 및 검색 시스템이 도 1에 제시된다. 일반적으로 참조 번호 1로 표시된 시스템은 하나 이상의 멀티미디어 콘텐츠 소스들(10)을 구비한다. 이들 소스들은 예를 들어, 비디오 카메라 및 마이크로폰을 포함할 수 있지만, 다른 요소들이 또한 존재할 수 있다. 예를 들어, 상기 멀티미디어 콘텐츠는 또한 컴퓨터 애니메이션 그래픽 또는 네트워킹된 하드 드라이브와 같은 대용량 저장 매체에 저장된 데이터 파일들의 라이브러리를 포함할 수 있다.
상이한 매체 유형들을 포함하는 멀티미디어 클립("트랙들"로 지칭됨)을 구성하기 위하여, 다양한 소스들(10)로부터 캡처되거나 검색된 원시 데이터(raw data)는 결합된다. 도 1에 도시된 상기 멀티미디어 생성 및 검색 시스템에서, 이 태스크는 편집기(12)에 의해 수행된다. 원시 멀티미디어 데이터를 위해 요구되는 저장 공간은 전형적으로 수 메가바이트와 같이 막대하다. 따라서, 특히 저 비트율 채널들 상에서 흥미있는 멀티미디어 검색 서비스를 용이하게 하기 위하여, 전형적으로 멀티미디어 클립들은 편집 프로세스동안 압축된다. 일단 다양한 소스들의 원시 데이터가 멀티미디어 클립들을 형성하기 위하여 결합되고 압축되면, 상기 클립들은 멀티미디어 서버(14)로 넘겨진다. 이해를 용이하게 하기 위하여 단지 하나의 클라이언트가 도 1에 도시되어 있을지라도, 전형적으로, 다수의 클라이언트들(16)은 어떤 형태의 네트워크상에서 상기 서버에 액세스할 수 있다.
상기 서버(14)는 상기 클라이언트들에 의해 제공되는 요청들 및 제어 명령들(15)에 응답할 수 있다. 상기 서버의 주 태스크는 요망되는 멀티미디어 클립을 상기 클라이언트(16)로 전송하는 것이다. 일단 상기 클립이 상기 클라이언트에 의해 수신되면, 그것은 상기 클라이언트의 단말기 장치에서 압축해제되고 상기 멀티미디어 콘텐츠가 '재생'된다. 상기 재생 단계에서, 상기 멀티미디어 클립의 각 성분은 상기 클라이언트의 단말기 장치에 제공된 적합한 재생 수단(18)상에 제공된다. 예를 들어, 비디오 콘텐츠는 상기 단말기 장치의 디스플레이상에서 표시되고, 오디오 콘텐츠는 라우드 스피커 등과 같은 것에 의해 재생된다.
이제 상기 멀티미디어 클립 편집기(12)에 의해 수행되는 동작들이 도 2를 참조하여 더 상세히 설명될 것이다. 원시 데이터는 하나 이상의 데이터 소스들(10)로부터 캡처 장치(20)에 의해 캡처된다. 상기 데이터는 하드웨어, 전용 장치 드라이버들(즉, 소프트웨어) 및 상기 장치의 드라이버들을 제어함으로써 상기 하드웨어를 사용하는 캡처링 애플리케이션을 사용하여 캡처된다. 예를 들어, 상기 데이터 소스가 비디오 카메라인 경우, 비디오 데이터를 캡처하는데 필요한 하드웨어는 개인용 컴퓨터에 부착된 비디오 그래버 카드로 구성될 수 있다. 상기 캡처 장치(20)의 출력은 보통 압축되지 않은 데이터의 스트림 또는 압축되지 않은 데이터와 비교할 때 문제가 되지 않는 품질 열화를 갖는 약간 압축된 데이터의 스트림이다. 예를 들어, 비디오 그래버 카드의 출력은 압축되지 않은 YUV 4:2:0 포맷의 비디오 프레임들이거나, 모션-JPEG 이미지 포맷의 비디오 프레임들일 수 있다. 상기 '스트림'이라는 용어는, 많은 경우에, 멀티미디어 데이터가 원시 데이터의 연속적인 '흐름(flow)'으로부터, 실시간으로 상기 다양한 소스들에서 캡처된다는 사실을 나타내는데 사용된다. 대안적으로, 상기 멀티미디어 데이터의 소스들은 네트워크 하드 드라이브와 같은 대용량 저장 매체상에 존재하는, 미리 저장된 파일들의 형태일 수 있다.
편집기(22)는 상기 개별 매체 소스들(10)로부터 획득된 개별 매체 스트림들을 함께 단일 시간-라인에 연결한다. 예를 들어, 오디오 및 비디오 콘텐츠와 같이, 동시에 재생되어야 하는 멀티미디어 스트림들은 각 프레임의 요망되는 재생 시간들의 표시들을 제공함으로써 연결된다. 다른 멀티미디어 스트림들의 요망되는 재생 시간에 관한 표시들이 또한 제공될 수 있다. 초기에 독립적인 멀티미디어 스트림들이 지금 이러한 방식으로 연결된다는 것을 나타내기 위하여, 멀티미디어 '트랙'이라는 용어가 상기 멀티미디어 콘텐츠를 기술하기 위한 일반적인 용어로서 이 시점부터 사용된다. 또한 상기 편집기(22)가 다양한 방법으로 상기 매체 트랙들을 편집하는 것이 가능하다. 예를 들어 비디오 프레임률(frame rate)은 절반까지 감소될 수 있거나 비디오 이미지들의 공간 해상도가 감소될 수 있다.
압축 단계(24)에서, 각 매체 트랙은 당해 매체 유형에 적합한 방식으로, 독립적으로 압축될 수 있다. 예를 들어, 압축되지 않은 YUV 4:2:0 비디오 트랙은 저 비트율 비디오 부호화를 위한 ITU-T 권고 H.263을 사용하여 압축될 수 있다. 다중화 단계(26)에서, 상기 압축된 매체 트랙들은 그들이 단일 비트 스트림을 형성하도록 인터리빙된다. 다수의 상이한 매체 유형들을 포함하는 이 단일 비트 스트림은 '멀티미디어 클립'이라고 지칭된다. 그러나, 다중화가 멀티미디어 비트 스트림을 제공하는데 필수적이지 않다는 것은 주목되어야 한다. 다음에 상기 클립은 멀티미디어 서버(14)로 넘겨진다.
이제 상기 멀티미디어 서버(14)의 동작이 도 3에 도시된 흐름도를 참조하여 더 상세히 설명된다. 전형적으로, 멀티미디어 서버들은 비-실시간 및 실시간의 두가지 동작 모드를 갖는다. 즉, 멀티미디어 서버는 미리 저장된 멀티미디어 클립들 또는 라이브(실시간) 멀티미디어 스트림을 전달할 수 있다. 전자의 경우, 클립들은 우선 서버 데이터베이스(30)에 저장되어야 하고, 그다음 그것은 '주문형(on-demand)' 방식으로 상기 서버에 의해 액세스된다. 후자의 경우, 멀티미디어 클립들은 상기 클라이언트들(16)에 즉시 전송되는 연속적인 매체 스트림으로서 상기 편집기(12)에 의해 상기 서버로 넘겨진다. 서버는 다중화 포맷에서 사용되는 헤더 정보중 몇몇을 제거하거나 압축할 수 있고 상기 매체 클립을 상기 네트워크상에서 전달하기에 적합한 패킷들로 캡슐화할 수 있다. 클라이언트들은 '제어 프로토콜'(15)을 사용하여 상기 서버의 동작을 제어한다. 상기 제어 프로토콜에 의해 제공되는 제어들의 최소 세트는 요망되는 매체 클립을 선택하기 위한 기능으로 구성되어 있다. 게다가, 서버들은 더 진보된 제어들을 지원할 수 있다. 예를 들어 클라이언트들(16)은 클립의 전송을 중단할 수 있거나, 그것의 전송을 잠시 중지하거나 재개할 수 있다. 더욱이, 클라이언트들은 상기 전송 채널의 처리량이 어떤 이유로 변하는 경우 상기 매체 흐름을 제어할 수 있다. 이 경우, 상기 서버는 전송을 위해 이용가능한 대역폭을 사용하기 위하여 상기 비트 스트림을 동적으로 조정한다.
전형적인 멀티미디어 검색 클라이언트(16)에 속한 모듈들이 도 4에 도시된다. 멀티미디어 서버로부터 압축되고 다중화된 매체 클립을 검색할 때, 상기 클라이언트는 상기 클립내에 포함된 상이한 매체 트랙들을 분리하기 위하여 상기 클립(40)을 우선 역다중화한다. 그다음, 상기 분리된 매체 트랙들은 압축해제된다(42). 다음 상기 압축해제된 (재구성된) 매체 트랙들은 상기 클라이언트의 출력 장치들(18)을 사용하여 재생된다. 이들 동작들에 부가하여, 상기 클라이언트는 최종-사용자와 인터페이스하고, 사용자 입력에 따라 재생을 제어하며 클라이언트-서버 제어 트래픽을 처리하는 제어기 유닛(46)을 포함한다. 상기 역다중화, 압축해제 및 재생 동작들이 여전히 상기 클립의 후속 부분들을 다운로드하면서 수행될 수 있다는 것은 주목되어야 한다. 이 접근법은 일반적으로 '스트리밍(streaming)'으로서 지칭된다. 대안적으로, 상기 클라이언트는 전체 클립을 다운로드할 수 있고, 그것을 역다중화할 수 있으며, 상기 개별 매체 트랙들의 콘텐츠를 압축해제하고, 그다음 단지 재생 기능을 시작한다.
하기에 통신 네트워크에서 전송에 적합한 디지털 비디오 시퀀스들의 특징이 설명될 것이다. 필름상에 기록된, 보통의 동 화상들과 같은, 비디오 시퀀스들은 일련의 정지 화상들을 포함하고, 움직임의 환영은 비교적 빠른 속도, 전형적으로 초당 15 - 30 프레임들로 상기 이미지들을 있따라 표시함으로써 생성된다. 비교적 빠른 프레임률 때문에, 연속적인 프레임들내의 이미지들은 아주 유사한 경향이 있어서 상당한 양의 중복된 정보를 포함한다. 예를 들어, 전형적인 장면은 예를 들어, 배경과 같은, 몇몇 정지 요소들 및 예를 들어 뉴스 해설자의 얼굴, 움직이는 기차 등과 같은 많은 상이한 형태들을 취할 수 있는 몇몇 움직이는 영역들을 포함한다.대안적으로, 상기 장면을 기록하는 카메라는 스스로 움직이고 있을 수 있는데, 그 경우, 상기 이미지의 모든 요소들은 동일한 종류의 움직임을 갖는다. 많은 경우에 있어서, 이것은 한 비디오 프레임과 다음 비디오 프레임간의 전체 변화가 다소 작다는 것을 의미한다. 물론, 이것은 움직임의 속성에 의존한다. 예를 들어, 움직임이 더 빠를수록 한 프레임에서 다음 프레임으로의 변화는 더 크다. 유사하게, 장면이 다수의 움직이는 요소들을 포함하는 경우, 한 프레임에서 다음 프레임으로의 변화는 하나의 요소만이 움직이고 있는 장면에서 보다 더 크다.
비디오 압축 방법들은 비디오 시퀀스들의 중복되고 지각적으로 관련없는 부분들을 감소시키는 것에 근거한다. 비디오 시퀀스들에서의 중복성(redundancy)은 공간적, 시간적 및 스펙트럼적 중복성으로 분류될 수 있다. '공간적 중복성'은 인접 픽셀들간의 상관을 기술하는데 사용되는 용어이다. '시간적 중복성'이라는 용어는 한 이미지내에서 나타나는 객체들이 후속 이미지들에서 나타날 가능성이 있다는 사실을 나타내고, 반면에, '스펙트럼적 중복성'은 동일한 이미지의 상이한 색 성분들간의 상관을 지칭한다.
충분히 효과적인 압축은 보통 주어진 이미지들의 시퀀스에서 단순히 다양한 형태의 중복성을 감소시킴으로써 달성될 수는 없다. 따라서, 대부분의 현재의 비디오 부호기들은 또한 주관적으로 가장 중요하지 않은 비디오 시퀀스의 부분들의 품질을 저하시킨다. 더욱이, 부호화된 비트 스트림 그 자체의 중복성은 압축 매개 변수들 및 계수들의 효과적인 무손실 부호화에 의해 감소된다. 전형적으로, 이것은 '가변장 부호화(VLC: variable length coding)'로서 알려진 기술을 사용하여 달성된다.
비디오 압축 방법들은 전형적으로 '움직임 보상 시간 예측'을 이용한다. 이것은 비디오 시퀀스에서의 몇몇 (종종 많은) 프레임들의 콘텐츠가 객체들의 움직임 또는 프레임들간의 이미지의 영역들을 추적함으로써 상기 시퀀스내의 다른 프레임들로부터 '예측'될 수 있는 시간 중복성 감소의 형태이다. 시간 중복성 감소 방법들을 이용하지 않는 압축된 이미지들은 보통 인트라(INTRA) 또는 I-프레임들이라고 불리우며, 반면에 시간적으로 예측된 이미지들은 인터(INTER) 또는 P-프레임들이라고 불리운다. 상기 인터 프레임의 경우에, 예측된 (움직임-보상된) 이미지는 충분히 매우 정밀하므로, 공간적으로 압축된 예측 오차 이미지는 또한 각 인터 프레임과 연관된다. 많은 비디오 압축 방식들은 또한 양방향으로 예측된 프레임들을 도입하는데, 이것은 일반적으로 B-픽처 또는 B-프레임들로서 지칭된다. 도 5에 도시된 바와 같이, B-픽처들은 참조 또는 소위 '앵커(anchor)' 픽처 쌍들(I 또는 P 프레임들) 사이에 삽입되고 상기 앵커 픽처들 중 하나 또는 양자로부터 예측된다. 상기 도면에서 볼 수 있는 바와 같이, 시퀀스는 인트라 또는 I 프레임(50)부터 시작한다. B-픽처들(일반적으로 참조 번호 52로 표기됨)은 보통 순방향-예측된 P-픽처들(54)과 비교하여 증가된 압축을 야기한다. 도 5에서, 화살표들 51a 및 51b는 양방향 예측 프로세스를 나타낸 것이고, 반면에 화살표 53은 순방향 예측을 나타낸다. B-픽처들은 앵커 픽처들로서 사용되지 않는다. 즉, 어떤 다른 프레임들도 그들로부터 예측되지 않아서, 그들은 장래의 픽처들의 품질의 열화를 야기함없이 상기 비디오 시퀀스로부터 버려질 수 있다. B-픽처들이 P-픽처들과 비교할 때 압축성능을 개선할 수 있을지라도, 그들은 그들의 구성을 위해 더 많은 메모리를 필요로 하고, 그들의 처리 요건들은 더 복잡하며 그들의 사용이 부가적인 지연들을 야기한다는 것은 주목되어야 한다.
주어진 프레임내의 이미지 콘텐츠의 손상을 초래하는, 데이터 손실의 영향이 상기 프레임으로부터 예측된 후속 프레임들의 손상을 야기하면서, 시간적으로 전파될 것이라는 것은 상기한 시간 예측의 논의로부터 명백해야 한다. 또한 시퀀스의 부호화가 인트라 프레임부터 시작한다는 것은 또한 명백해야 하는데, 이것은 시퀀스의 시작 부분에서 아무런 이전 프레임들도 예측을 위한 참조를 형성하는데 이용가능하지 않기 때문이다. 그러나, 예를 들어 클라이언트의 단말기 장치(18)에서 표시될 때, 상기 프레임들의 재생 순서는 부호화/복호화의 순서와 동일하지 않을 수 있다는 것은 주목되어야 한다. 따라서, 상기 부호화/복호화 동작이 인트라 프레임부터 시작할지라도, 이것은 상기 프레임들이 인트라 프레임부터 시작하여 재생되어야 한다는 것을 의미하지는 않는다.
저 비트율 비디오 부호화에서 사용되는 상이한 픽처 유형들에 대한 더 많은 정보는 다음 논문에서 발견될 수 있다: 1998년 11월, 비디오 기술을 위한 회로들 및 시스템들에 대한 IEEE 회보, 지. 코테(G. Cote), 비. 에롤(B. Erol), 엠. 갈란트(M. Gallant) 및 에프. 코센티니(F. Kossentini)의 "H.263+: 저 비트율들에서의 비디오 부호화".
현재 알려진 멀티미디어 검색 시스템들 및 비디오 부호화(압축) 기술들의 특징에 관하여 상기에 제공된 정보에 비추어, 중대한 문제가 통신 네트워크상에서 비디오 시퀀스들의 검색/스트리밍시 일어날 수 있다는 것은 이해되어야 한다. 비디오 프레임들은 전형적으로 다른 프레임으로부터 예측된 프레임이기 때문에, 압축된 비디오 시퀀스들은 특히 전송 오류들을 일으키기 쉽다. 데이터 손실은 네트워크 전송 오류에 기인하여 발생하기 때문에, 상기 비디오 스트림의 콘텐츠에 대한 정보는 손실될 것이다. 전송 오류의 영향은 변할 수 있다. 비디오 프레임의 재구성에 필수적인 정보(예를 들어 픽처 헤더에 저장된 정보)가 손실된 경우, 수신 클라이언트에서 상기 이미지를 표시하는 것은 가능하지 않을 수 있다. 따라서, 전체 프레임 및 그것으로부터 예측된 프레임들의 어떤 시퀀스도 분실된다(즉, 재구성될 수 없고 표시될 수 없다). 덜 심각한 경우, 상기 이미지 콘텐츠의 일부만 영향을 받는다. 그러나, 손상된 프레임들로부터 예측된 프레임들은 여전히 영향을 받고 상기 오류는, 다음 인트라 프레임이 전송되고 정확하게 재구성될 때까지 상기 이미지 시퀀스내에서 시간적으로 그리고 공간적으로 전파된다. 이것은 특히 인트라 프레임들이 단지 드물게 전송될 수 있는(예를 들어 매 10초마다 하나의 인트라 프레임), 매우 낮은 비트율 통신에서 심각한 문제이다.
전송 오류들의 특징은 당해 통신 네트워크에 따라 변한다. 고정선 및 이동 전화 시스템들과 같은, 회선 교환 네트워크에서, 전송 오류들은 일반적으로 비트 역전의 형태를 취한다. 즉, 예를 들어 멀티미디어 스트림의 비디오 콘텐츠를 나타내는 디지털 데이터는, 상기 이미지 콘텐츠의 부실 표시를 초래하는, 1들이 0들로 바뀌거나 0들이 1들로 바뀌는 방식으로 손상된다. 이동 전화 네트워크에서, 비트 역전 오류들은 전형적으로 무선 링크 품질의 감소의 결과로서 일어난다.
패킷 교환 데이터 통신을 이용하는 네트워크에서, 전송 오류들은 패킷 손실의 형태를 취한다. 이러한 종류의 네트워크에서, 데이터 패킷들은 보통 상기 네트워크에서의 정체의 결과로 손실된다. 상기 네트워크가 정체되는 경우, 게이트웨이 라우터들과 같은, 네트워크 요소들은 데이터 패킷들을 버릴 수 있고, 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol)과 같은 신뢰성없는 전송 프로토콜이 사용되는 경우, 손실된 패킷들은 재전송되지 않는다. 더욱이, 상기 네트워크의 관점에서, 수백 바이트를 포함하는 비교적 큰 패킷들을 전송하는 것이 유익하고, 따라서 손실된 패킷은 저 비트율 비디오 시퀀스의 몇몇 픽처들을 포함할 수 있다. 보통, 대부분의 비디오 프레임들은 시간적으로 예측된 인터 프레임들이고 따라서 하나 이상의 이러한 픽처의 손실은 상기 클라이언트 단말기에서 재구성될 때 상기 비디오 시퀀스의 품질에 심각한 결과를 초래한다. 하나 이상의 프레임들이 손실될 뿐만 아니라, 상기 프레임들로부터 예측된 모든 후속 이미지들이 손상될 것이다.
다수의 종래 기술 방법들은 전송 오류들에 기인한 압축된 비디오 시퀀스들의 손상과 관련된 문제들을 다룬다. 일반적으로, 그들은 '오류 회복(error resilience)' 방법들로서 지칭되고 전형적으로 그들은 두가지 범주에 들어간다: 오류 정정 및 은폐 방법들. 오류 정정은 아무런 오류도 맨먼저 야기되지 않은 것처럼 틀린 데이터를 완벽하게 회복시키는 능력을 지칭한다. 예를 들어, 재전송이 오류 정정 방법으로 고려될 수 있다. 오류 은폐는 전송 오류들이 재구성된 비디오에서 거의 보이지 않도록 전송 오류들의 영향을 은폐하는 능력을 지칭한다. 오류 은폐 방법들은 전형적으로 3가지 범주들에 들어간다: 순방향 오류 은폐, 후-처리에 의한오류 은폐 및 대화식 오류 은폐. 순방향 오류 은폐는, 비록 전송 오류들이 발생할지라도 수신기가 데이터를 용이하게 회복시킬 수 있도록 전송 단말기가 어느 정도의 중복성을 전송된 데이터에 부가하는 기술들을 지칭한다. 예를 들어, 전송 비디오 부호기는 압축된 비디오 신호의 예측 경로들을 단축시킬 수 있다. 다른 한편으로, 후-처리에 의한 오류 은폐는 전부 수신기-지향적이다. 이들 방법들은 틀리게 수신된 데이터의 정확한 표시를 추정하려고 시도한다. 송신기 및 수신기는 또한 전송 오류들의 영향을 최소화하기 위하여 공동으로 동작할 수 있다. 이들 방법들은 상기 수신기에 의해 제공되는 피드백 정보에 매우 의존한다. 후-처리에 의한 오류 은폐는 또한 수동적인 오류 은폐로서 지칭될 수 있고 반면에, 다른 두가지 범주들은 능동적인 오류 은폐들의 형태들을 나타낸다. 본 발명은 비디오 압축에서 사용되는 예측 경로들을 단축하는 방법들의 범주에 속한다. 하기에 소개된 방법들이 패킷 교환 네트워크 또는 회선 교환 네트워크상에서 전송된 압축된 비디오 스트림들에 동등하게 적용될 수 있다는 것은 주목되어야 한다. 하부에 있는 데이터 네트워크의 특징 및 발생하는 전송 오류들의 유형은 본질적으로 종래 기술의 논의 및 본 발명의 적용 양자와 무관하다.
비디오 시퀀스들내에서 예측 경로들을 단축하는 오류 회복 방법들은 다음 원리에 근거한다. 비디오 시퀀스가 인터 프레임들의 긴 열을 포함하는 경우, 전송 오류들의 결과로 인한 이미지 데이터의 손실은 모든 후속하여 복호화된 인터 프레임들의 손상을 초래할 것이고 상기 오류는 전파될 것이며 복호화된 비디오 스트림에서 긴 시간동안 보일 것이다. 따라서, 시스템의 오류 회복은 상기 비디오 스트림내의 상기 인터 프레임 시퀀스들의 길이를 감소시킴으로써 개선될 수 있다. 이것은, 다음에 의해 달성될 수 있다: 1. 상기 비디오 스트림내의 인트라 프레임들의 빈도를 증가시키는 것, 2. B-프레임들을 사용하는 것, 3. 참조 픽처 선택을 사용하는 것, 4. 비디오 중복 부호화로서 알려진 기술을 채용하는 것.
비디오 시퀀스들내의 예측 경로 길이를 감소시키기 위한 종래 기술의 방법들은 모두 압축된 시퀀스의 비트율을 증가시키는 경향이 있다는 것을 알 수 있다. 이것은 저 비트율 전송 채널들 또는 전체 이용가능한 대역폭이 다수의 사용자들간에 공유되어야 하는 채널들에서 특히 바람직하지 않는 영향이다. 비트율의 증가는 채용되는 방법 및 부호화되는 비디오 시퀀스의 정확한 특징에 의존한다.
멀티미디어 검색 시스템들 및 압축된 비디오 시퀀스들의 특징에 관해, 상기에 제시된 논거에 비추어, 인지된 이미지 품질에 대한 전송 오류들의 영향을 제한하는 것과 관련하여 중대한 문제가 존재한다는 것은 이해될 것이다. 몇몇 종래 기술의 방법들이 압축된 비디오 시퀀스들에서 사용되는 예측 경로 길이를 제한함으로써 이 문제를 다룰지라도, 대부분의 경우에, 그들의 사용은 상기 시퀀스를 부호화하는 데 필요한 비트율의 증가를 초래한다. 그러므로, 본 발명의 목적은 허용가능한 저 비트율을 유지하면서 전송 오류들에 대해 압축된 비디오 시퀀스들의 회복성을 개선하는 것이다.
본 발명은 통신 네트워크상에서의 멀티미디어 데이터 전송에 관한 것이다. 특히, 본 발명은 오류가 발생하기 쉬운 네트워크상에서의 비디오 데이터 전송에 관한 것이다. 본 발명은 데이터 손실에 기인한 비디오 이미지들의 인지된 품질의 열화가 경감될 수 있는 새로운 방법을 제공한다.
도 1은 종래 기술에 의한 멀티미디어 콘텐츠 생성 및 검색 시스템을 도시한 것이다.
도 2는 전형적인 멀티미디어 클립 편집기에 의해 수행되는 동작들을 도시한 것이다.
도 3은 전형적인 멀티미디어 서버의 입력들 및 출력들을 도시한 것이다.
도 4는 멀티미디어 클립의 검색동안 전형적인 클라이언트 단말기에 의해 수행되는 동작들을 도시한 것이다.
도 5는 압축된 비디오 시퀀스에서 I, P 및 B 프레임들간의 예측 의존성을 도시한 것이다.
도 6은 인터(INTER) 프레임 부호화를 채용하는 비디오 시퀀스의 예를 도시한 것이다.
도 7은 장면 컷 이후에 즉시 비디오 프레임들의 시퀀스에 인트라(INTRA) 프레임을 삽입하는 것을 도시한 것이다.
도 8은 본 발명에 의한 비디오 부호화 방법에 의해 생성된 비디오 시퀀스의 예를 도시한 것이다.
도 9는 종래 기술에 의한 비디오 부호기의 동작을 도시한 흐름도이다.
도 10은 본 발명의 바람직한 실시예에 의한 비디오 부호화 방법을 도시한 흐름도이다.
도 11은 본 발명의 방법에 의한 인트라(INTRA) 프레임들의 처리를 도시한 흐름도이다.
도 12는 본 발명의 바람직한 실시예에 의한 비디오 복호화 방법의 절차상의 단계들을 도시한 흐름도이다.
도 13은 비디오 재생중 본 발명에 의한 방법의 동작을 도시한 흐름도이다.
도 14는 B 프레임들이 사용된 본 발명의 대안적인 실시예에 의한 비디오 부호화 방법의 절차상의 단계들을 도시한 것이다.
도 15는 본 발명에 따라 구현된 비디오 부호기를 통합하는 멀티미디어 콘텐츠 생성 및 검색 시스템을 나타낸 것이다.
도 16은 본 발명에 의한 비디오 부호화 및 복호화 방법들을 구현하도록 적합화된, 비디오 부호기 및 비디오 복호기를 포함하는 비디오 코덱을 포함하는 일반적인 H.324 멀티미디어 단말기의 블록도이다.
상술된 목적에 따라 그리고 제1 태양에 있어서, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하는 방법으로서, 상기 압축된비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계; 상기 제1 표시를 제2 비디오 프레임과 연관시키는 단계; 상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하는 단계; 상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하는 단계; 상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하는 단계; 상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하는 단계; 및 상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하는 단계를 포함하는 것을 특징으로 하는 부호화 방법이 제공된다.
본 발명의 제2 태양에 의하면, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 비디오 부호기에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 수단; 상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 수단; 상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 수단; 상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 수단; 상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 수단; 상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하기 위한 수단; 및 상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 부호기가 제공된다.
본 발명의 제3 태양에 의하면, 본 발명의 제2 태양에 의한 비디오 부호기를 포함하는 비디오 코덱이 제공된다.
본 발명의 제4 태양에 의하면, 본 발명의 제2 태양에 의한 비디오 부호기를 포함하는 멀티미디어 콘텐츠 생성 시스템이 제공된다.
본 발명의 제5 태양에 의하면, 본 발명의 제2 태양에 의한 비디오 부호기를 포함하는 멀티미디어 단말기가 제공된다.
본 발명의 제6 태양에 의하면, 단말기가 무선 통신 장치인 것을 특징으로 하는 본 발명의 제5 태양에 의한 멀티미디어 단말기가 제공된다.
본 발명의 제7 태양에 의하면, 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하는 방법으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계; 상기 제1 비디오 프레임을 복호화하는 단계; 상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하는 단계; 상기 N 비디오 프레임들의 상기 제1 세트를 복호화하는 단계; 상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임들의 제1 세트의 프레임들을 재 순서화하는 단계; 상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하는 단계; 및 상기 비디오 프레임들의 제2 세트를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명의 제8 태양에 의하면, 압축된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 비디오 복호기에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를식별하기 위한 수단; 상기 제1 비디오 프레임을 복호화하기 위한 수단; 상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 수단; 상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 수단; 상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 제1 세트의 프레임들을 순서화하기 위한 수단; 상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하기 위한 수단; 및 상기 비디오 프레임들의 제2 세트를 복호화하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 복호기가 제공된다.
본 발명의 제9 태양에 의하면, 본 발명의 제8 태양에 의한 비디오 복호기를 포함하는 비디오 코덱이 제공된다.
본 발명의 제10 태양에 의하면, 본 발명의 제8 태양에 의한 비디오 복호기를 포함하는 멀티미디어 콘텐츠 검색 시스템이 제공된다.
본 발명의 제11 태양에 의하면, 본 발명의 제8 태양에 의한 비디오 복호기를 포함하는 멀티미디어 단말기가 제공된다.
본 발명의 제12 태양에 의하면, 단말기가 무선 통신 장치인 본 발명의 제11 태양에 의한 멀티미디어 단말기가 제공된다.
본 발명의 제13 태양에 의하면, 컴퓨터를, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서 동작시키기 위한 컴퓨터 프로그램으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 컴퓨터 프로그램에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드; 상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 컴퓨터 실행가능 코드; 상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하기 위한 컴퓨터 실행가능 코드; 및 상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램이 제공된다.
본 발명의 제14 태양에 의하면, 컴퓨터를, 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서 동작시키기 위한 컴퓨터 프로그램으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 컴퓨터 프로그램에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임을 복호화하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 컴퓨터 실행가능 코드; 상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 컴퓨터 실행가능 코드; 상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 제1 세트의 프레임들을 순서화하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하기 위한 컴퓨터 실행가능 코드; 및 상기 비디오 프레임들의 제2 세트를 복호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램이 제공된다.
본 발명의 제15 태양에 의하면, 본 발명의 제13 태양 및 제14 태양에 의한 컴퓨터 프로그램이 제공된다.
본 발명의 다른 태양에 의하면, 컴퓨터를, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서 동작시키기 위한 컴퓨터 프로그램을 포함하는 저장 매체로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 저장 매체에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드; 상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 컴퓨터 실행가능 코드; 상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드; 상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하기 위한 컴퓨터 실행가능 코드; 및 상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 저장 매체가 제공된다.
본 발명의 다른 태양에 의하면, 컴퓨터를, 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서 동작시키기 위한 컴퓨터 프로그램을 포함하는 저장 매체로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된포맷인, 저장 매체에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임을 복호화하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 컴퓨터 실행가능 코드; 상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 컴퓨터 실행가능 코드; 상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 제1 세트의 프레임들을 순서화하기 위한 컴퓨터 실행가능 코드; 상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하기 위한 컴퓨터 실행가능 코드; 및 상기 비디오 프레임들의 제2 세트를 복호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 저장 매체가 제공된다.
본 발명의 다른 태양에 의하면, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하는 방법으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서, 제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계; 및 상기제1 표시를, 상기 압축 비디오 시퀀스에서의 예측 경로 길이를 감소시키는 방식으로 제2 비디오 프레임과 연관시키는 단계를 포함하는 것을 특징으로 하는 방법이 제공된다.
본 발명에 의한 비디오 부호화 방법은 종래의 방법들을 사용하여 부호화된 비디오 스트림들보다 더 큰 오류 회복성을 갖는 부호화된 비디오 데이터 스트림을 제공한다. 특히, 본 발명은 시간적으로 예측된 이미지들의 손상을 초래하는 데이터 손실의 영향들이 종래 기술의 비디오 코덱들을 사용할 때보다 더 적은 정도로 전파되는 비디오 부호화/복호화 시스템을 제공한다. 본 발명에 의하면, 시간적으로 예측된 프레임들의 손상은 비디오 시퀀스들내의 예측 경로들을 단축시킴으로써 감소된다. 이것은 인트라 부호화된 프레임의 삽입을 효과적으로 지연시킴으로써 달성된다. 이것은 예를 들어, 주기적인 인트라 프레임 요청, 원격 단말기로부터의 인트라 프레임 갱신 요청 또는 장면 컷(scene cut) 이후에 행해질 수 있다. 본 발명에 의하면, 주기적인 인트라 요청들, 인트라 갱신 요청들 또는 장면 컷들과 같은, 관례적으로 인트라 포맷으로 부호화될 프레임들은 그들 스스로 인트라 포맷으로 부호화되지 않는다. 그 대신, 상기 비디오 시퀀스에서 나중에 발생하는 프레임은 인트라 포맷으로 부호화하기 위해 선택된다. 바람직하기로는, 실제로 인트라 포맷으로 부호화된 프레임('실제' 인트라 프레임이라고 지칭됨)은 그것이 주기적인 인트라 요청들, 인트라 프레임 요청들 또는 장면 컷들 사이에 대략 중간쯤에 있도록 선택된다. 상기 실제 인트라 프레임 이전에 발생한 프레임들은 상기 실제 인트라 프레임에서 시작하여, 역순으로, 시간 예측을 사용하여 부호화되고, 반면에 그 이후에 발생하는 프레임들은 순방향으로 시간 예측을 사용하여 부호화된다. 본 발명의 바람직한 실시예에 의하면, 역순으로 예측된 프레임들은 인터(INTER)(P-프레임) 포맷으로 부호화된다. 대안적인 실시예에 있어서, B-프레임 포맷으로 부호화된 프레임들을 사용하는 역방향 예측이 사용된다.
본 발명은 종래의 비디오 부호화 방법들과 비교하여 실질적으로 개선된 오류 회복성을 제공하는데, 주기적인 인트라 요청들, 인트라 프레임 갱신 요청들 또는 장면 컷들과 연관된 프레임들은 그들 스스로 인트라 포맷으로 부호화된다. 특히, 전송 오류들에 기인하여 손실된 프레임들이 비율은 본 발명에 의한 방법이 채용될 때 상당히 감소된다. 예측 경로 길이들을 감소시킴으로써 증가된 오류 회복성을 제공하려고 하는 종래의 방법들과 비교하면, 본 발명은 비트율에서의 상당한 증가를 초래하지 않는다.
본 발명은 비디오가 UDP와 같은 신뢰할 수 없는 패킷-기반 전송 프로토콜의 위에서 스트리밍되는 멀티미디어 검색 시스템에서 구현될 수 있다. 또한 본 발명은 실시간 비디오 전화 애플리케이션들에서 구현될 수 있다. 본 발명은 특히 통신 링크의 적어도 일부가 무선 채널에 의해 형성되는 이동 애플리케이션들에 적합하다. 무선 통신 링크들은 비교적 높은 비트 오류율을 나타내고 제한된 대역폭을 갖는 경향이 있기 때문에, 본 발명에 의해 제공되는 증가된 오류 회복성은 유익한데, 이것은 특히 그것이 비트율에서의 상당한 증가를 야기하지 않기 때문이다.
네트워크의 정확한 특징, 접속의 유형 및 전송 프로토콜은 본 발명의 구현을 위해 중요하지 않다는 것이 더 강조된다. 네트워크는 이동 통신 네트워크(PLMN) 뿐만 아니라 고정-선(PSTN)을 포함할 수 있는데, 상기 통신 링크의 적어도 일부는 무선 채널에 의해 형성된다. 상기 네트워크에서의 데이터 전송은 전적으로 패킷-기반이거나, 전적으로 회선 교환일 수 있거나, 회선 교환 및 패킷 교환 데이터 전송 양자를 포함할 수 있다. 예를 들어, 상기 네트워크는 회선 교환 데이터 전송이 사용되는 다른 네트워크 요소들에 연결된 패킷-기반 데이터 전송을 채용하는 몇몇 요소들(예를 들어, 핵심 네트워크)을 포함할 수 있다. 이러한 종류의 시스템의 예는 상기 네트워크의 적어도 일부가 회선 교환 전송에 의존할 수 있는, 현재 제안된 UMTS 3세대 이동 전화 네트워크이다.
상기 데이터 스트림에 영향을 미치는 전송 오류들의 정확한 특징은 또한 본 발명의 적용과 무관하다. 더욱이, 본 발명에 의한 상기 부호화, 복호화 및 재생 방법들은 라이브 (실시간) 비디오 압축 뿐만 아니라 미리 저장된 주문형(on-demand) 비디오에 적용될 수 있다. 본 발명이 상술된 것과 같이, 비디오 시퀀스들에서 예측 경로들을 단축시키기 위한 종래의 방법들을 포함하는 종래 기술의 오류 정정, 은폐 및 회복방법들과 공동으로 또는 독립적으로 사용될 수 있다는 것은 강조되어야 한다.
이제, 본 발명이 첨부된 도면들을 참조하여 단지 예로서 설명될 것이다.
본 발명의 더 나은 이해 및 본 발명이 제공하는 이점들을 획득하기 위하여, 본 발명에 의한 비디오 부호화 방법의 바람직한 실시예가 도 7과 도 8을 비교함으로써 예로서 설명될 것이다. 도 7은 종래의 방법으로 배열된 압축된 비디오 시퀀스를 도시한 것이고, 반면에 도 8은 본 발명의 방법에 의해 구성된, 압축된 비디오 시퀀스를 도시한 것이다. 양 시퀀스들은 동일한 이미지 콘텐츠를 나타내고 더 긴 시퀀스의 일부를 형성하는 소수의 연속적인 비디오 프레임들을 포함한다. 이전과 같이, 인트라 포맷으로 부호화된 프레임들은 일반적으로 참조 번호 50을 사용하여 표시되고, 인터 프레임들은 참조 번호 54로 지칭된다. 그것에 의해 인터 프레임들이 구성된 순방향 예측 프로세스는 이전에 사용된 관례에 따라 53으로 표시된다. 양 시퀀스들의 시작 부분에 장면 컷(scene cut)(70)이 존재한다. 다음 설명이 비디오 시퀀스내의 장면 컷과 관련하여 본 발명에 의한 방법의 적용에 집중될지라도, 본 발명이 장면 컷들, 원격 단말기로부터의 인트라 프레임 요청들 또는 주기적인인트라 프레임 리프레시 동작들을 포함하지만, 이에 한정되지는 않는, 인트라 포맷으로 프레임을 부호화하는 것을 관례적으로 초래할 어떤 상황에도 동등하게 잘 적용될 수 있다는 것은 이해되어야 한다.
도 7에 도시된 일련의 프레임들은 인트라 프레임(50)이 장면 컷(70) 바로 다음의 시퀀스에 삽입되는 종래의 부호화 방식을 나타낸 것이다. 장면 컷이 발생할 때, 후속 이미지 콘텐츠는 상기 컷 이전의 것과 실질적으로 다르다. 그러므로, 상기 장면 컷 바로 다음의 프레임을, 이전 프레임으로부터 순방향 예측된, 인터 프레임으로서 부호화하는 것은 불가능하거나 비현실적이다. 따라서, 종래의 부호화 방식에 따라, 인트라 프레임(50)(I1)은 상기 장면 컷 바로 다음에 삽입된다. 그다음 후속 프레임들은, 예를 들어 다음 장면 컷, 주기적인 인트라 요청 또는 인트라 프레임 갱신 요청(70)이 발생할 때까지 상기 인트라 프레임으로부터 순방향 예측(인터 부호화)된다.
일찍이 설명된 바와 같이, 본 발명에 의한 방법은 도 8에 도시된 바와 같이, 인트라 프레임의 삽입을 지연시키는 것에 근거한다. 본 발명에 의하면, 인트라 프레임은 상기 비디오 스트림에 즉시 삽입되지 않고, 그대신 상기 비디오 시퀀스에서 나중에 발생하는 프레임이 인트라 포맷으로 부호화되도록 선택된다. 상기 프레임은 도 8에서 I1으로 표시된다. 도 8에서 볼 수 있는 바와 같이, 장면 컷(70)과 I1(도 8에서 P2 및 P3으로 표시됨) 사이의 프레임들은 화살표 80으로 표시된 바와 같이, I1으로부터 역순으로 인터 프레임들로서 예측된다. 따라서, 그들은 I1이 복호화되기 이전에 복호화될 수 없는데, 이것은 I1이 이전의 이미지 콘텐츠의 복호화가 시작될 수 있기 전에 재구성될 필요가 있기 때문이다. 이것은 본 발명에 의한 방법에 따라 상기 비디오 시퀀스의 재생 동안 요구되는 초기 버퍼링 지연이 전형적으로 상기 장면 컷과 다음의 인트라 프레임 간의 시간보다 더 커야 함을 의미한다.
본 발명에 의한 방법의 주된 이점은 인터 프레임 P5의 복호화를 가능하게 하기 위하여 얼마나 많은 프레임들이 성공적으로 전송되어야 한다는 것을 고려함으로써 입증될 수 있다. 도 7에 도시된 종래의 프레임-순서화 방식을 사용하여, P5의 성공적인 복호화는 I1, P2, P3, P4 및 P5가 정확하게 전송되고 복호화될 것을 필요로 한다. 따라서, 상기 시퀀스에서 초기의, 예를 들어 프레임 I1의 데이터 손실(예를 들어 패킷 손실)은 프레임 P5까지 상기 시퀀스를 통해 전파될 복호화된 픽처 콘텐츠에서 오류들을 야기할 것이다. 본 발명에 의한 방법에서, P5의 성공적인 복호화는 I1, P4 및 P5가 정확하게 전송되고 복호화되는 것만을 요구한다. 즉, 본 발명에 의한 방법을 사용함으로써, 상기 이미지 시퀀스에서의 예측 경로는 효과적으로 감소되고 따라서 프레임 P5가 정확하게 복호화될 가능성이 증가한다. 더욱이, 상기 시퀀스내의 오류들의 시간적 전파가 감소된다. 상기 시퀀스에서의 초기의 데이터 손실, 예를 들어 프레임 P2에서의 데이터 손실은 단지 프레임 P2 및 P3의 복호화된 픽처 콘텐츠에서 오류들을 야기할 것이다.
이제 본 발명에 의한 비디오 부호화 방법이 상세히 설명될 것이다. 본 발명의 방법에 따라 구현된 비디오 부호기의 기능이, 그 동작 구조(90)가 도 9에 도시된, 종래의 비디오 부호기의 동작과 비교되고 대비될 것이다.
종래 기술의 비디오 부호기(90)에서, 부호화되지 않은 원시 픽처(rawpicture)는, 프레임 그래버에 연결된 비디오 카메라와 같은 비디오 소스 또는 원시 비디오 프레임들이 저장되는 컴퓨터 하드 드라이브와 같은 저장 장치로부터 우선 상기 부호기로 넘겨진다. 대안적으로 상기 부호기는 상기 비디오 소스 또는 저장 장치에 제어 명령을 내림으로써 압축할 새로운 프레임을 요청할 수 있다. 압축을 위해 새로운 비디오 프레임을 획득하는 이 프로세스는 도 9의 단계 91에 도시된다. 부호화되지 않은 프레임들이 상기 부호기로 전달되는 속도는 고정될 수 있거나 변할 수 있다.
전형적으로, 비디오 시퀀스의 비트율은 프레임들을 건너뜀으로써 즉, 상기 비디오 시퀀스로부터 그들을 생략함으로써 감소될 수 있다. 특정 프레임이 부호화되어야 하는지 아닌지에 대한 결정은 상기 비디오 부호기의 비트율 제어 알고리즘에 의해 행해진다. 이 프로세스는 도 9에서 단계 92로 표시된다. 주어진 프레임이 부호화될 것이라고 상기 비트율 제어 로직이 결정하는 경우, 종래의 비디오 부호기는 다음에 상기 프레임을 부호화하는 방식을 결정한다. 이 의사 결정 프로세스는 단계 94로 표시된다. 주기적인 인트라 리프레시가 요청되거나, 인트라 프레임 갱신 요청이 원격 단말기로부터 수신되거나, 장면 컷이 발생한 경우, 상기 프레임은 단계 98로 도시된 바와 같이, 인트라 포맷으로 부호화된다. 그렇지 않으면, 상기 프레임은 단계 96에서 인터 프레임 포맷으로 부호화된다. 이해를 용이하게 하기 위하여, 이 설명은 다소 단순화된 것이고 다른 프레임 유형들, 즉 양방향 예측된 B 프레임들의 처리는 여기에서 고려되지 않는다. 하지만, 이 단순화는 종래 기술에 의한 부호기의 동작을 이해하는 데 중요하지 않다.
비교를 위하여, 본 발명에 의한 비디오 부호화 방법의 절차상의 요소들이 도 10에 도시된다. 상기에 설명된 종래 기술의 비디오 부호기와 동등한 기능들을 수행하는 새로운 방법의 요소들은 도 9와 관련하여 사용된 것과 동일한 참조 번호들로 표시된다.
우선, 부호화되지 않은 원시 비디오 프레임이 상기 부호기로 넘겨지거나, 상기 부호기는 압축할 새로운 프레임을 요청할 수 있다. 이것은 도 10에서 단계 91로 표시된다. 그다음 상기 부호기는 상기 이미지 콘텐츠가 예를 들어 장면 컷, 주기적인 인트라 프레임 리프레시 간격의 만료 또는 원격 단말기로부터 인트라 프레임 갱신 요청의 수신의 결과로서, 인트라 포맷으로 부호화되어야 하는지를 결정한다(단계 94). 본 발명에 의하면, 인트라 프레임이 어떤 이유로 요구된다는 것을 상기 부호기가 결정하는 경우, 도 10, 단계 101로 도시된 바와 같이, 그것은 그러한 인트라 프레임이 필요하다는 레코드(record)를 형성한다. 인트라 프레임에 대한 필요를 나타내는 이러한 레코드는 예를 들어, 프레임에 대한 플래그를 설정하고 프레임 버퍼에 상기 플래그를 저장함으로써 형성될 수 있다. 인트라 요청이 표시되는 정확한 방법이 본 발명의 적용에 중요하지 않은 것으로 이해되어야 할지라도, 인트라 프레임에 대한 요청이 표시되는 방법은 하기에 더 상세히 설명된다. 그다음 상기 프레임은 버퍼링된다(102).
본 발명에 의한 부호기는 압축 이전에 원시 이미지 데이터를 저장하는데 사용되는 버퍼를 유지한다. 유리하게는, 상기 버퍼는 시간 기간(T)에 대응하는 다수의 원시 이미지 프레임들을 포함할만큼 충분히 크다. 어떤 소위 '메타(meta)' 데이터는 이미지 데이터의 각 프레임과 관련된다. 상기 메타 데이터는 부호화될 프레임들에 대한 정보를 제공하고, 인트라 프레임 요청이 행해지는 경우 상술된 바와 같이, 인트라 프레임 요청의 표시를 포함할 수 있다. 인터 포맷으로 부호화되는 프레임들에 대해, 상기 메타 데이터는 움직임 보상을 위해 사용되는 참조 프레임의 수를 포함할 수 있다(상기 참조 프레임이 이전에 부호화된 프레임이 아닌 경우). 모든 프레임들에 대한 메타 데이터는 압축 순서 번호(CO)를 포함하는데, 이것은 압축되지 않은 비디오 프레임들이 부호화되는 순서를 나타낸다. 각 들어오는 프레임은 상기 버퍼에 저장된다.
초기에, 부호화가 시작되기 전에, 상기 버퍼는 비어있다. 부호화가 시작할 때, 상기 버퍼는, 그것이 시간 기간(T)에 대응하는 다수의 프레임들을 포함할 때까지 채워진다(102). 상기 버퍼는 그것이 가득 찰 때를 결정하기 위해 감시된다(단계 103). 상기 버퍼가 가득 찰 때, '가장 오래된' 프레임, 즉 상기 버퍼에 첫번째로 적재된 프레임이 상기 버퍼에서 제거된다. 이 동작은 도 10에서 단계 104로 표시된다. 상기 부호기는, 예를 들어, 프레임의 대응하는 메타 데이터를 검사함으로써 그리고 인트라 요청 플래그가 설정되는지를 결정함으로써 당해 프레임이 인트라 프레임 요청과 관련되는지를 결정한다(단계 105). 상기 프레임이 인트라 요청과 관련되지 않은 경우, 상기 부호기의 비트율 제어 알고리즘은 상기 프레임이 스킵되어야 하는지를 결정하거나(단계 92), 상기 프레임을 인터 프레임으로서 부호화해야 하는지를 결정한다(단계 107). 프레임이 스킵되고, 이전 프레임 이외의 프레임이 움직임 보상을 위한 참조 프레임으로서 사용되어야 한다는 표시를 그것이 포함하는 경우, 상기 표시는 상기 버퍼내의 다음 프레임을 기술하는 메타 데이터에 복사된다. 상기 프레임을 스킵하지 않는 결정이 내려진 경우, 그것은 참조로서 상기 시퀀스내의 이전 프레임 또는 상기 메타 데이터에 의해 움직임 보상 참조로서 표시된 것을 사용하여 인터 포맷으로 부호화된다(단계 107).
상기 버퍼로부터 검색된 프레임이 인트라 프레임 요청과 관련되는 경우, 일반적으로 참조 번호 108로 표시된, 인트라 프레임 처리 절차가 실행된다. 도 11은 단계 108의 절차상의 요소들을 상세히 도시한 것이다. 현재의 인트라 프레임이 시간 T1에서 발생한다. 상기 인트라 프레임 처리 절차에서의 첫번째 단계는 다음 인트라 프레임 요청, 즉 현재 처리되고 있는 것 다음의 인트라 프레임 요청의 위치를 결정하기 위해 상기 프레임 버퍼를 탐색하는 것이다. 이것은 도 11에서 단계 110으로 도시된다. 다음 인트라 요청의 발생 시간 T2는 그것의 관련된 메타 데이터로부터 결정된다. 다음, 2개의 요청된 인트라 프레임들로부터의 시간 차가 대략 동일하도록 인트라 프레임으로 부호화될 실제 프레임이 결정된다. 즉, 현재의 인트라 요청이 그 발생 시간이 T1인 프레임과 관련되는 경우, T3 - T1이 대략 T2 - T3와 같아지도록, 그 발생 시간이 T3인 프레임이 버퍼로부터 선택된다. 이 새롭게 위치가 결정된 프레임은 인트라 포맷으로 부호화하기 위해 선택된다. 방금 설명된 프로세스는 도 11에서 참조 번호 112로 표시된다. 본 발명에 의하면, 실제로 인트라 포맷으로 부호화된 프레임(이하 '실제' 인트라 프레임이라고 함)이 초기 인트라 부호화 요청과 관련된 프레임이 아니라, 일반적으로 상기 비디오 시퀀스에서 나중에 발생하는 몇몇 다른 프레임이라는 것은 주목되어야 한다. 상기 버퍼가 인트라 프레임요청과 관련된 다른 프레임을 포함하지 않는 경우, 인트라 포맷으로 부호화될 상기 실제 프레임은, 발생 시간 T3와 시간 T1에서의 상기 인트라 요청 간의 시간 차가 T3와 상기 버퍼의 마지막 프레임간의 시간 차와 대략 같도록 선택된다.
다음, 단계 114에서, 인트라 포맷으로 부호화될 상기 실제 프레임이 상기 버퍼에서 제거되고 상기 실제 인트라 프레임 이전의 프레임들의 순서가 역전된다. 상기 실제 인트라 프레임 바로 이전의 프레임과 바로 이후의 프레임은, 상기 실제 인트라 프레임이 움직임 보상을 위한 참조로서 사용되어야 한다는 표시를 그들이 포함하도록 표시된다. 마지막으로, 인트라 포맷으로 부호화하기 위해 선택된 프레임은 인트라 프레임으로서 부호화되고(단계 116) T2에 대응하는 프레임까지 그러나 상기 T2에 대응하는 프레임은 포함하지 않는 잔여 프레임들은 움직임 보상 시간 예측 부호화를 사용하여 부호화된다. 상기 실제 인트라 프레임 이전에 발생한 프레임들은 상기 실제 인트라 프레임부터 시작하여, 역순으로 부호화되고, 반면에 그 이후에 발생한 프레임들은 순방향으로 부호화된다. 상기 실제 인트라 프레임 이전의 프레임들의 순서를 역전시키는 것은 상기 버퍼의 물리적인 재-순서화를 반드시 요구하지 않는다는 것은 주목되어야 한다. 하기에 더 상세히 설명되는 바와 같이, 상기 버퍼내에서 프레임들의 효과적인 역전은 각 프레임에 할당된 압축 순서(CO) 번호들을 사용하여 달성될 수 있다.
상술된 인트라 프레임 처리 절차의 더 완전한 이해를 위하여, 예를 고려하는 것이 유리하다. 여기에서 비디오 캡처 및 검색 시스템의 비디오 부호기는 본 발명에 의한 방법을 구현하도록 설계된 것으로 가정된다. 상기 부호기는 압축되지 않은포맷으로 5초 (더하기 한 프레임)의 비디오 데이터를 저장할 수 있는 버퍼를 포함한다. 상기 부호기에는 비디오 프레임 소스에 의해 초당 25 프레임의 일정 속도로 압축되지 않은 (즉, 원시(raw)) 비디오 프레임들이 공급되고, 따라서 연속적인 프레임들간의 시간 차는 일관성있게 40 밀리초이다. 상기 시퀀스내에서 임의의 순간에, 상기 버퍼의 내용은 표 1에 도시된 바와 같다:
비디오 부호기 버퍼의 내용 예
재생/캡처 시간 t+0 t+40 t+80 ... T+4960 t+5000
압축 순서 이용할 수 없음 이용할 수 없음 이용할 수 없음 ... 이용할 수 없음 이용할 수 없음
메타 데이터 인트라요청 인트라요청
표 1에서, 주어진 원시 비디오 프레임의 재생/캡처 시간은 시간 t에 관하여 밀리초로 표시된다. 상술된 바와 같이, 메타 데이터는, 상기 프레임들이 압축되고 압축해제되는 순서를 나타내는데 사용되는 압축 순서 번호(CO)를 포함하여, 압축되지 않은 비디오 프레임들에 대한 부가적인 정보를 저장하는데 사용된다.
본 예에서 고려된 특정 비디오 시퀀스에는, 아무런 장면 컷들도 존재하지 않고, 오히려 주기적인 인트라 리프레시가 매 5초마다 요청된다. 관련된 인트라 프레임 요청 표시들은 각 압축되지 않은 비디오 프레임에 제공된 상기 메타 데이터에 존재한다. 표 1에서 볼 수 있는 바와 같이, 본 예를 위하여, 초기 인트라 요청은 시간 t에서 발생하는 것으로 가정된다. 인트라 요청들이 매 5초마다 행해지기 때문에, 다음의 이러한 요청은 t+5000 ms에서 발생할 것이다. 상기 압축되지 않은 비디오 프레임들에 제공된 메타 데이터는 상기 부호기로 하여금 인트라 요청들이 행해지는 때를 결정할 수 있게 한다.
본 발명에 의한 방법을 이용하여, 상기 부호기는 인트라 요청들과 직접 관련된 프레임들에 인트라 부호화를 적용하지 않고, 현재의 인트라 요청과 다음 인트라 요청 간의 시간적으로 대략 절반 부근에서 인트라 포맷으로 부호화될 프레임을 선택한다. 연속적인 인트라 요청들 사이에서 정확히 등거리에 있는 프레임을 선택하는 것은 필연적으로 가능하지 않다는 것은 이해되어야 하는데, 이것은 연속하는 인트라 요청들 간의 시간 간격 및 상기 비디오 시퀀스의 프레임률에 의존하기 때문이다. 상기 프레임들이 40ms만큼 분리되어 있고 인트라 요청들이 규칙적으로 5000 ms 간격들에서 발생하는, 여기에 주어진 예에서, 본 발명에 따라, 인트라 포맷으로 부호화될 가장 적합한 프레임들은 t+2480ms 또는 t+2520ms에서 발생하는 프레임들이다(표 1 참조). 따라서, 상기 부호기는 실제 인트라 프레임이 되도록 t+2480ms에서 발생하는 프레임 또는 t+2520ms에서 발생하는 프레임을 선택할 수 있다. 이들 두 프레임들 중 어느 하나는 인트라 포맷으로 부호화하기 위한 동등하게 적합한 선택으로 고려될 수 있다. 실제 인트라 프레임의 선택을 결정하는데 사용되는 기준은 상기 방법의 구현에 따라 변할 수 있지만, 이 경우, t+2480ms에서 발생하는 프레임은 상기 실제 인트라 프레임으로서 선택된다고 가정된다.
유리하게는, 상기 부호기는 다음에 상기 버퍼내의 압축되지 않은 프레임들에 압축 순서(CO) 번호들을 할당한다. 상기 버퍼내의 모든 프레임들은 실제 인트라 프레임, 즉 인트라 포맷으로 부호화되기 위해 이전에 선택된 프레임을 참조하는 압축순서 번호들이 표시된다. 바람직하기로는, 이 압축 순서 정보는 표 2에 도시된 바와 같이, 각 프레임과 관련된 상기 메타 데이터에 저장된다.
압축 순서 번호들의 할당 및 참조 픽처 선택후의 예시적인 비디오 버퍼의 내용
재생/캡처 시간 t+0 t+40 t+80 ... t+2440 t+2480 t+2520 ... t+4960 t+5000
압축 순서 CO=62 CO=61 CO=60 ... CO=1 CO=0 CO=63 ... CO=124 NA
메타 데이터 실제인트라 참조픽처CO=0 인트라요청
상기 부호기의 버퍼내의 상기 실제 인트라 프레임 이전의 압축되지 않은 프레임들에는 상기 버퍼내에서 더 빨리 발생한 프레임들이 더 큰 압축 순서 번호들을 수신하도록 순차적으로 압축 순서 번호들이 주어진다. 상기 실제 인트라 프레임에는 압축 순서 번호 CO=0이 주어진다. 따라서, 여기에 고려된 예에서, 상기 실제 인트라 프레임 바로 이전의 프레임(즉, t+2440ms에서 발생하는 프레임)에는 압축 순서 번호 CO=1이 주어진다. 상기 프레임 이전의 프레임에는 압축 순서 번호 CO=2가 주어지며, 그 프레임 이전의 프레임에는 압축 순서 번호 CO=3이 주어지고, 그외 것들도 마찬가지로 압축 순서 번호가 주어진다. 여기에 고려된 예에서, 이러한 표시 부여 방식은 상기 버퍼내의 첫번째 프레임이 압축 순서 번호 CO=62를 수신하도록 한다. 이러한 표시 부여 방식은 상기 실제 인트라 프레임 이전의 프레임들이 상기 실제 인트라 프레임으로부터 역순으로 예측되어야 함을 사실상 나타내고, 초기 인트라 요청과 관련된 프레임(즉 시간 t에서 발생한 프레임)으로부터 순방향 예측되지 않음을 나타낸다는 것은 당업자에게 명백할 것이다.
상기 실제 인트라 프레임 바로 다음의 프레임(t+2520에서 발생하는 프레임)의 압축 순서 번호 및 후속 프레임들의 압축 순서 번호들은 상기 실제 인트라 프레임 이전의 상기 시퀀스내의 가장 빠른 프레임의 압축 순서 번호로부터 차례대로 다음에 온다. 따라서, 여기에 고려된 예에서, 상기 부호기의 버퍼에서 상기 실제 인트라 프레임 바로 뒤에 발생하는 압축되지 않은 비디오 프레임은 압축 순서 번호 CO=63이 주어지고, 그 프레임 다음의 프레임에는 압축 순서 번호 CO=64가 주어지며, 다음 프레임에는 압축 순서 번호 CO=65이 주어지고, 그외 것들도 마찬가지로 압축 순서 번호가 주어진다. 더욱이, 본 발명의 방법에 의하면, 상기 실제 인트라 프레임 바로 다음의 프레임은 그것의 참조 픽처(그것이 예측될 프레임)가 상기 이전의 압축 순서 번호를 갖는 프레임이 아니라, 압축 순서 번호 CO=0을 갖는 상기 실제 인트라 프레임이 되는 방식으로 표시된다. 유리하게는, 이 표시는 상기 실제 인트라 프레임 바로 다음에 발생하는 프레임과 관련된 상기 메타 데이터에 포함된다. 여기에 제시된 예에서, 이것은 압축 순서 번호 CO=63을 갖는, 상기 실제 인트라 프레임 바로 다음에 존재하는 프레임이 압축 순서 번호 CO=62를 갖는 프레임으로부터 예측되지 않고, 압축 순서 번호 CO=0을 갖는 상기 실제 인트라 프레임 그 자체로부터 예측된다는 것을 의미한다.
압축 순서 번호들의 할당 후의 상기 비디오 버퍼의 내용은 표 2에 도시된 바와 같다.
다음에 상기 부호기는 상기 버퍼로부터 상기 실제 인트라 프레임을 제거하고, 이전에 할당된 압축 순서 번호들에 따라 상기 버퍼를 재 순서화하며 상기 선택된 (즉 실제) 인트라 프레임을 부호화한다.
상기 버퍼의 물리적인 재 순서화를 위한 요건은 사용되는 버퍼의 유형에 의존된다는 것이 강조된다. 상기 부호기가 상기 버퍼를 탐색할 수 있고 랜덤하게 그것의 내용을 액세스하는 경우(즉 상기 버퍼는 랜덤 액세스 버퍼이다), 프레임들은 상기 압축 순서 번호들로 표시된 순서로 부호화하기 위해 직접 선택될 수 있고 아무런 물리적인 재 순서화도 요구되지 않는다. 다른 한편으로, 본 예에서 가정되는 바와 같이, 선입선출(FIFO: first-in-first-out) 방식으로 상기 버퍼를 액세스하는 것이 더 용이한 경우, 압축 순서 번호에 따라 상기 프레임들을 물리적으로 재 순서화하는 것이 유익하다.
상기 실제 인트라 프레임은 어떤 적합한 방법을 사용하여 부호화될 수 있다. 부호화 방법의 정확한 선택은 예를 들어, 압축된 비디오 데이터의 후속 전송에 사용될 통신 채널의 특성들에 의존할 수 있다. 이용가능한 비트율은 부호화 방법의 선택을 결정할 수 있는 하나의 가능한 기준이다. 예를 들어, 고정선 비디오 검색 또는 비디오 전화 시스템에 있어서, 특히 p × 64kbits/s의 이용가능한 비트율을 갖는 통신 시스템들에서 최적의 성능을 제공하도록 설계된, ITU-T 권고 H.261에 따라 선택된 (실제) 인트라 프레임을 부호화하는 것이 적합할 수 있다. 대안적으로, 상기 비디오 데이터가 멀티미디어 비트 스트림에 포함되는 경우, MPEG4 표준에 따른 부호화가 더 적합할 수 있다. 초 저 비트율 통신 및 특히 무선 통신 채널상에서, ITU-T 권고 H.263은 다른 대안적인 비디오 부호화 방식이다.
상술된 재 순서화 이후에, 상기 버퍼의 내용은 표 3에 도시된 바와 같다:
재 순서화후 예시적인 비디오 버퍼의 내용
재생/캡처 시간 t+2440 t+2400 t+2360 ... t+0 t+2520 t+2560 ... t+4960 t+5000
압축 순서 CO=1 CO=2 CO=3 ... CO=62 CO=63 CO=64 ... CO=124 NA
메타 데이터 참조픽처CO=0 인트라요청
(t+5000에 대응하는 프레임을 제외하고) 상기 버퍼내의 잔여 프레임들은 인터 포맷으로 부호화되는데, 프레임들이 차례차례 예측되는 시퀀스는 상기 프레임들의 압축 순서 번호 및 상기 연관된 메타 데이터에 제공된 참조 픽처 선택에 관한 정보에 의해 결정된다. 다시, 사용된 인터 부호화의 정확한 상세들은 본 발명에 의한 방법의 적용에 중요하지 않다. 상기 비디오 프레임들이 부호화되는 순서는 상기 프레임들의 할당된 압축 순서 번호들에 의해 결정되기 때문에, 이제 상기 부호화 프로세스는 다음과 같이 진행된다. 압축 순서 번호들 CO=1 내지 CO=62를 갖는 프레임들은 상기 실제 인트라 프레임(압축 순서 CO=0)에서 시작하여, 차례차례 순차적으로, 예측된다. 즉, 압축 순서 번호가 CO=1을 갖는 프레임은 참조 픽처로서 상기 실제 인트라 프레임을 사용하여 인터 부호화되고, 압축 순서 번호 CO=2를 갖는 프레임은 압축 순서 번호 CO=1인 복호화된 인터 부호화 프레임으로부터 예측되며, 그외 프레임도 마찬가지이다. 이 프로세스는 순방향 예측인 것 같다. 그러나, 압축되지 않은 프레임들에 역순으로 압축 순서 번호들이 주어졌다는 사실에 기인하여, 프레임들 CO=1 내지 CO=62는 사실상 상기 실제 인트라 프레임으로부터 역순으로 예측된다.
이 프로세스는 압축 순서 번호 CO=63을 갖는 프레임이 도달될 때까지 계속된다. 이 프레임은 상기 실제 인트라 프레임(CO=0)으로부터 인터 포맷으로, 순방향 예측되어야 하고, 프레임 CO=62로부터 예측되지 않아야 한다. 본 발명에 의한 방법에서, 이것은 프레임 CO=63과 관련된 메타 데이터에 표시된다. 상기 메타 데이터는 프레임 CO=63의 인터 예측 부호화에서 사용될 참조 픽처의 압축 순서 번호가 CO=0, 상기 실제 인트라 프레임이라는 것을 나타낸다. 일단 상기 예측 근원이 프레임 CO=0으로 리셋되면, 상기 부호기는 순차적으로 차례차례 상기 버퍼내의 나머지 압축되지 않은 비디오 프레임들(압축 순서 번호들 CO=63 내지 CO=124를 갖는 프레임들)을 계속 부호화한다. 즉, 프레임 CO=63은 그것의 참조 픽처로서 프레임 CO=0(즉 상기 실제 인트라 프레임)을 사용하여 인터 포맷으로 부호화되고, 프레임 CO=64는 CO=63으로부터 예측되며, 프레임 CO=65는 프레임 CO=64로부터 예측되고, 그외 프레임들도 마찬가지이다.
이전의 설명에서, 본 발명에 의한 비디오 부호화 방법은 상기 비디오 시퀀스가 주로 두가지 유형들의 비디오 프레임, 비-시간적으로 예측된 인트라 프레임들 및 시간적으로 예측된 인터 프레임들에 근거하여 부호화된 예를 사용하여 설명되었다. 그러나, 상기 방법은 또한 다른 종류의 비디오 프레임의 사용을 포함하는 방식으로 확장될 수 있다. 특히, 순방향, 역방향 또는 순방향 및 역방향 양자로 시간 예측을 채용하는 B 픽처들이 또한 본 발명과 관련하여 사용될 수 있다. 즉, 상기 실제 인트라 프레임 또는 상기 실제 인트라 프레임으로부터 역방향으로 예측된 상기 인터 포맷 프레임들 중 어느 프레임도 B 픽처들의 구성을 위한 앵커 픽처들로서 사용될 수 있다. 상기 B 픽처들은 순방향 예측, 역방향 예측 또는 이들 두가지의 조합을 사용하여 구성될 수 있다. 유사하게, B 픽처들은 또한 상기 실제 인트라 프레임으로부터 순방향 예측된 인터 포맷 프레임들을 포함하는 시퀀스의 부분에 포함될 수 있다.
방금 설명된 프로세스는 비디오 데이터의 개별 프레임들이 상기 선택된 (실제) 인트라 프레임을 참조하여 직접적인 방식으로 부호화될 수 있도록 한다. 그러나, 그들의 할당된 압축 순서 번호에 따라 비디오 프레임들을 부호화하는 것이 상기 부호화 프로세스를 용이하게 할지라도, 그것은 상기 프레임들이 복호화될 때 문제를 일으킬 수 있다. 특히, 상기 비디오 프레임들은 재생을 위해 정확한 순서로 부호화될 수 없다. 이것은 표 3에 도시된 재생/캡처 시간들을 고찰함으로써 이해될 수 있다. 따라서, 상기 프레임들이 부호화되고 후속적으로 이 순서로 통신 채널을 통해 복호기로 전송될 때, 상기 복호기는 상기 프레임들이 정확한 시퀀스로 재생된다는 것을 보장하기 위하여 그들의 의도된 재생 시간에 따라 상기 프레임들을 재 순서화한다.
이 프로세스는 나중에 본문에서 더 상세히 설명될 것이지만, 여기에서 정보는 상기 복호기에서 그것의 원하는 재생 시간에 관하여 각 프레임과 관련된다는 것은 주목된다. 이것은 상기 픽처 데이터 그 자체 및 각 프레임에 대한 상기 압축 순서 번호를 포함하는 메타 데이터와 함께 상기 복호기로 전송된다. 어떤 패킷 교환 네트워크에서, 데이터 패킷들은 그들이 전송된 동일한 순서로 상기 수신기에 도착할 수 없다는 것은 주목되어야 한다. 신뢰성있는 전송 프로토콜(RTP: Reliable Transmission Protocol)과 같은 몇몇 전송 프로토콜들은, 데이터 패킷들이 전송되는 순서의 표시, 소위 "순서 번호 지정(sequence numbering)"을 제공한다. 이것은 데이터 패킷들이 상기 수신기에서 그들의 정확한 순서로 조립될 수 있게 한다. 이러한 종류의 시스템에서, 엄밀하게는 상기 비디오 데이터와 함께 상기 압축 순서 번호를 송신할 필요가 없는데, 이것은 상기 비디오 프레임들이 부호화된 순서가 상기 수신된 데이터 패킷들의 순서 번호 지정으로부터 암시될 수 있기 때문이다. 그러나, 아무런 순서 번호 지정도 상기 전송 프로토콜에 의해 제공되지 않는 시스템들에서, 압축 순서 정보의 전송은 필요하다. 각 비디오 프레임의 예정된 재생 시간에 대한 정보는 통신 링크상에서 상기 비디오 데이터를 전송할 때 사용되는 다중화/전송 포맷 헤더들 또는 상기 파일에 용이하게 통합될 수 있고 상기 비디오 부호화 포맷/구문 그 자체에 포함될 수 있다.
본 발명은 본질적으로 인트라 요청 이후에 인트라 프레임의 삽입을 지연시키기 때문에, 또한 상기 역방향으로 예측된 인터 프레임들이 실제로 인트라 포맷으로 부호화된 프레임 이전에 표시될 필요가 있다. 도 14에 도시된 바와 같이, 본 발명에 의한 방법의 대안적인 실시예에서, B-프레임들이 사용될 수 있다. 이 접근법은 압축된 비디오 구문(syntax) 또는 주위의 파일 또는 전송 포맷이 다음 앵커 프레임(I1) 이전에 역순으로 예측된 프레임들(도 8에서 인터 부호화된 프레임들 P2 및 P3)의 재생을 허용하지 않는 경우에 유리할 수 있다. 전형적으로, 예를 들어 ITU-T 권고 H.263에서와 같이, B-프레임들은 역방향, 순방향 또는 양방향 예측을지원한다. 따라서, 본 발명에 의한 부호화 방법은 다음의 앵커 프레임(I1)으로부터 역방향 예측된 B-프레임들을 사용하여 구현될 수 있다. 그러나, 이 기술은 본 발명의 바람직한 실시예에서 이전에 설명된 방법보다 더 나쁜 압축 효율을 제공한다.
도 14를 참조하면, 본 발명의 대안적인 실시예에 의한 부호화 방법은 상기 실제 인트라 프레임이 선택된 지점까지, 상기 바람직한 실시예와 유사한 방식으로 진행된다. 그다음 상기 부호기의 버퍼내의 상기 실제 인트라 프레임 이전의 프레임들은 B-프레임들(52)로서 부호화되고, 각 B 프레임은 도 14에 도시된 바와 같이, 상기 실제 인트라 프레임으로부터 직접 역방향 예측된다(51b). B-프레임들의 역방향 예측이 ITU-T H.263과 같은, 비디오 부호화 권고들에 의해 이미 지원되기 때문에, 본 대안적인 실시예에서, 상기 실제 인트라 프레임 이전의 프레임들에 역순의 CO 번호들을 할당할 필요는 없다. 상기 프레임들 각각이 상기 예측 참조로서 상기 실제 인트라 프레임을 사용하여 B-프레임 포맷으로 부호화되어야 한다는 것을 나타내는 것으로 충분하다. 이 정보는 상기 실제 인트라 프레임 이전의 각 프레임과 관련된 메타 데이터에 포함될 수 있다. 그다음 상기 버퍼내의 상기 실제 인트라 프레임 다음의 프레임들이 하나씩 인터 포맷으로 부호화된다. 상기 실제 인트라 프레임이상기 실제 인트라 프레임 바로 다음의 프레임에 대한 예측 참조로서 사용될 것이라는 표시는 상기 프레임에 대한 메타 데이터에 포함된다.
상기 방법의 다른 대안적인 실시예는 상기 비디오 압축 방법이 참조 픽처 선택을 지원하지 않는 경우에 사용될 수 있다. 이 경우, 상기 비디오 코덱을 제어하거나 호출하는 계층(예를 들어, 제어 프로그램)은, 참조되어야 하는 순간 바로 이전에 한꺼번에, 상기 코덱의 참조 프레임 버퍼의 내용들을 상기 실제 인트라 프레임으로 대체할 수 있다. 상기에 상세히 제시된 예를 참조하면, 이것은 상기 참조 프레임 버퍼가 프레임 CO=63의 부호화 또는 복호화를 개시할 때, 프레임 CO=0으로 적재되어야 함을 의미한다. 본 발명의 이 대안적인 실시예를 가능하게 하기 위하여, 상기 압축된 비디오 구문 또는 다중화/전송 포맷은 상기 실제 인트라 프레임을 식별하는 정보 및 상기 프레임들 중 어느 것이 참조로서 그것을 요구하는지에 대한 정보를 운반해야 한다.
다음에, 이미 제시된 비디오 부호화 방법과 함께 사용하기에 적합한 복호화 방법 및 비디오 재생 방법의 예시적인 실시예들이 설명될 것이다. 본 발명에 의한 복호화 방법이 도 12에 도시된다. 상기 복호화 프로세스에서, 복호기는 상기 전송 채널로부터 부호화된 프레임들을 수신하고 상기 프레임들을 버퍼링한다(120). 그다음 상기 복호기는 상기 버퍼링된 프레임들을 복호화한다(122). 이와 관련하여, 상기 전송 채널은 압축된 비디오 또는 멀티미디어 데이터의 전송에 적합한 어떤 통신 채널일 수 있다. 전송은 인터넷, ISDN 또는 일반 전화 교환망(PSTN: Public Switched Telephone Network)과 같은 고정선 네트워크를 통해 일어날 수 있다; 대안적으로, 적어도 상기 네트워크의 일부는 공중 육상 이동 네트워크(PLMN: Public Land Mobile Network)에 의해 제공되는 것과 같은 무선 링크를 포함한다. 상기 일반적인 용어인 '전송 채널'은 또한 저장된 파일들이 표시를 위해 또는 추가 프로세싱을 위해 컴퓨터 하드 드라이브와 같은 저장 매체로부터 검색될 때 일어나는 데이터의 전송을 포함하는 것으로 이해되어야 한다.
상기 압축된 비디오 시퀀스의 각 프레임은, 그것이 부호화된 방법에 따라, 당업자에게 잘 알려진, 본질적으로 표준 방식으로 복호화된다. 이것은 본 발명에 의한 방법이 상기 인트라 및 인터 부호화된 프레임들 자체의 포맷을 반드시 변경하는 것은 아니기 때문에 가능하다. 따라서, 개별의 압축되지 않은 비디오 프레임들의 부호화는 상술된 바와 같이, 표준화되거나 독점적인 어떤 적합한 방식에 따라 일어날 수 있다.
복호화 이후, 상기 압축되지 않은 프레임들은 재생 버퍼에 저장된다(124). 상기 부호기에서 사용된 버퍼의 길이가 T인 경우(상기 부호화 단계의 이전 설명을 참조하라), 상기 복호기에서 사용되는 버퍼는 유리하게는 적어도 0.5 × T 초의 압축되지 않은 비디오 픽처들을 보유할 수 있어야 한다. 다음에, 상기 압축해제된 비디오 프레임들은 그들의 정확한 재생 순서로 순서화된다. 상기 복호기는 각 프레임과 관련된 재생 시간 정보를 사용하여 상기 프레임들을 순서화한다. 상술된 바와 같이, 이 정보는 상기 비디오 프레임들을 상기 부호기의 버퍼에 저장할 때 상기 데이터 구조에 통합될 수 있고 상기 압축된 비디오 프레임들을 상기 복호기로 전송할 때 압축된 비디오 구문내에 또는 다중화/전송 포맷을 사용하여 운반될 수 있다. 몇몇 경우에 있어서, 예를 들어 상기 통신 채널의 처리율이 떨어질 때, 상기 복호기는 그것의 예정된 재생 시간 이후에 프레임을 실제로 수신할 수 있다. 프레임이 그것의 예정된 재생 시간 이후에 수신되는 경우 또는 프레임이 그것의 예정된 재생 시간 이전에 수신되지만 그것이 시간을 지켜 재생될 것임을 보장할 만큼 신속하게 복호화될 수 없는 경우, 이러한 프레임은 상기 복호기의 입력 버퍼에 전혀 저장될수 없다. 그러나, 늦게 도착한 프레임들 또는 그들의 예정된 재생을 위해 제시간에 복호화될 수 없는 프레임들을 저장하는 것은 유리할 수 있는데, 이것은 그들이 예를 들어 다른 프레임들을 위해 오류 은폐를 개선하는데 사용될 수 있기 때문이다.
본 발명의 예시적인 실시예에 의한 비디오 재생 '엔진'의 절차상의 단계들이 도 13에 도시된다. 상기 재생 엔진은 그것의 입력으로서, 상기 비디오 복호기의 버퍼(124)로부터, 그들의 예정된 재생 시간들에 따라 정확하게 순서화된, 압축해제된 비디오 프레임들을 수신한다. 새로운 비디오 시퀀스의 재생이 시작될 때, 들어오는 비디오 프레임들은 재생 버퍼(132)에서 버퍼링된다. 휴지없는 상기 비디오 시퀀스의 재생을 보장하기 위하여, 초기 버퍼링 시간은 적어도 0.5 × T 초가 되어야 한다. 상기 초기 버퍼링 시간 이후에, 상기 재생 프로세스는 단계 134, 136 및 138을 포함하는, 정상 재생 루프에 들어간다. 상기 루프의 첫번째 단계(134)는 재생될 예정인 프레임이 상기 재생 버퍼에 존재하는지를 결정한다. 이러한 프레임이 존재하는 경우, 그것은 표시된다(136). 이러한 프레임이 존재하지 않는 경우 또는 프레임이 방금 표시된 경우, 상기 프로세스는 주기적인 대기 또는 유휴(idle) 상태로 들어간다(138). 유리하게는, 상기 재생 루프의 동작 속도는 원래의 캡처된 시퀀스의 (최대) 프레임률이다. 예를 들어, 시퀀스가 초당 25 프레임의 속도로 캡처되는 경우, 상기 재생 루프는 매 40 밀리초마다 실행된다.
도 15는 본 발명에 의한 멀티미디어 콘텐츠 생성 시스템의 예시적인 실시예를 제시한 것이다. 여기에서, 상기 시스템은 3개의 매체 소스들(10)을 포함하는 것으로 도시된다: 오디오 소스(151a), 비디오 소스(151b) 및 데이터 소스(151c). 매체 소스들의 수가 여기에 제시된 3개의 예들에 한정되지 않는다는 것은 당업자에게 명백할 것이다. 또한 각 소스가, 예를 들어 네트워킹된 하드 드라이브 등과 같은 대용량 저장 매체상에 존재하는 매체 콘텐츠의 파일들과 같은, '라이브' 즉, 실시간 매체 콘텐츠의 소스들 및 비 실시간 매체 소스들을 포함하지만 이에 한정되지 않는, 다수의 다른 형태들을 취할 수 있다는 것은 명백하다.
본 발명에 의한 멀티미디어 콘텐츠 생성 시스템은 일반적으로 참조 번호 20으로 표시된, 멀티미디어 캡처 수단을 포함한다. 여기에 제시된 예시적인 실시예에서, 전용 캡처 장치가 각 매체 소스를 위해 제공된다. 따라서, 상기 캡처 수단(20)은 오디오 캡처 장치(152a), 비디오 캡처 장치(152b) 및 데이터 캡처 장치(152c)를 포함한다. 상기 오디오 캡처 장치는 디지털화된 오디오 데이터의 프레임들을 형성하기 위하여, 예를 들어, 마이크로폰, 아날로그-디지털 변환기 및 신호 처리 전자 장치들을 포함할 수 있다. 이전에 설명된 바와 같이, 상기 비디오 캡처 장치는, 아날로그 비디오 입력으로부터 디지털 비디오 프레임들을 생성하기 위한 비디오 그래버 카드를 포함할 수 있다. 각 매체 소스를 위해, 상기 캡처 장치는 또한 상기 매체 소스들 및 그들의 관련된 캡처 장치의 동작을 제어하는데 필요한 전용 장치 드라이버들과 같은 소프트웨어 및 애플리케이션 프로그램들을 포함할 수 있다. 상기 멀티미디어 캡처 수단(20)의 출력은 일 집합의 압축되지 않은 매체 스트림들이고, 각 스트림은 상기 매체 소스들(151a - 151c) 중 하나에 대응한다.
대안적으로, 상기 매체 소스들 중 하나 이상이 상기 멀티미디어 콘텐츠 편집기(22)에 적용을 위해 이미 적합한 형태로 그것의 콘텐츠를 제공하는 경우, 상기매체 콘텐츠는 상기 편집기에 직접 인가될 수 있다. 이것은 예를 들어, 상기 매체 소스가 대용량 저장 매체에 저장된 파일들로부터 디지털 형태로 검색된 오디오 또는 비디오 프레임들의 파일일 때 그 경우가 될 수 있다.
상기 멀티미디어 콘텐츠 편집기(22)는 상기 멀티미디어 캡처 수단에 의해 제공된, 개별 매체 스트림들을 수신하고 그들을 단일 시간-라인으로 함께 링크한다. 예를 들어, 오디오 및 비디오 콘텐츠와 같이 동시에 재생되어야 하는 멀티미디어 스트림들은 각 프레임의 요망되는 재생 시간의 표시들을 제공함으로써 연결된다. 다른 멀티미디어 스트림들의 요망되는 재생 시간에 관한 표시들이 또한 제공될 수 있다. 일단 이러한 방법으로 연결되면, 상기 멀티미디어 콘텐츠의 각 성분은 '트랙'으로서 지칭된다. 상기 편집기(22)는 또한 다양한 방법으로 상기 매체 트랙들을 편집할 가능성을 제공할 수 있다. 예를 들어 상기 비디오 프레임률은 절반으로 감소될 수 있거나 비디오 이미지들의 공간 해상도가 감소될 수 있다.
상기 편집기(22)로부터, 상기 매체 트랙들은 부호화 유닛(24)에 의해 수신된다. 여기에 제시된 예시적인 실시예에서, 각 트랙은 당해 매체 유형에 적합한 방식으로 독립적으로 부호화되고 개별 부호기들이 각 매체 유형을 위해 제공된다. 따라서, 이 예에서, 오디오 부호기(157a), 비디오 부호기(157b) 및 데이터 부호기(157c), 3개의 부호기들이 제공된다. 다시 개별 부호기들의 정확한 수가 본 발명에 의한 방법의 적용에 중요하지 않다는 것은 이해될 것이다. 또한 데이터 부호기의 경우 상기 부호화 방법이 상기 데이터의 특징에 따라 상이할 수 있다는 것은 주목되어야 한다. 각 부호기들은 매체 트랙들이 예를 들어 제한된 대역폭을 갖는 통신 링크상에서의 전송에 적합한, 더 컴팩트한 형태로 표시되도록 상기 매체 트랙들 각각에서 중복된 정보를 제거한다. 사용되는 압축 기술들은 무손실 압축 방법 및 손실있는 압축 방법 양자를 포함할 수 있다. 상기 오디오 및 데이터 트랙들은 어떤 적합한 방법을 사용하여 부호화될 수 있는데, 그 방법의 선택은 수신 클라이언트로 상기 멀티미디어 데이터를 추가로 전송하는데 사용되는 통신 채널의 특징에 의존할 수 있다. 예를 들어, 상기 오디오 트랙은 GSM EFR 음성 코덱을 사용하여 부호화될 수 있다. 상기 비디오 부호기(157b)는 본문에서 일찍이 제시된 방법에 따라 구현된다. 그것은 움직임 보상 시간 예측을 채용하고, 일찍이 설명된 바와 같이, 본 발명의 방법에 따라 이미지 시퀀스들내에서 사용되는 예측 경로를 감소시키는 방식으로 동작하는데, 이것은 압축된 비디오 트랙에 데이터 손실로 인한 오류들에 대해 더 큰 회복성을 제공한다.
상기 부호화 유닛(24)에 의해 생성된 압축된 매체 트랙들은 다중화기(26)에 의해 수신된다. 여기에서 그들은 그들이 멀티미디어 '클립'으로서 지칭되는, 단일 비트 스트림을 형성하도록 인터리빙된다. 그다음 상기 클립은 그것이 수신 클라이언트에 통신 링크상에서 추가로 전송될 수 있는 형태로, 멀티미디어 서버(14)에 넘겨진다.
도 16은 본 발명에 의한 방법이 채용될 수 있는 대안적인 상황을 제시한 것이다. 도면은 ITU-T 권고 H.324에 따라 구현된 멀티미디어 단말기(160)를 도시한 것이다. 상기 단말기는 멀티미디어 송수신기 장치로서 간주될 수 있다. 그것은, 멀티미디어 콘텐츠를 수신하고 역다중화하며 복호화하고 수신된 멀티미디어 콘텐츠를재생하는 요소들 뿐만 아니라, 통신 네트워크를 통해 전송하기 위해 멀티미디어 데이터 스트림들을 캡처하고 부호화하며 다중화하기 위한 요소들을 포함한다. ITU-T 권고 H.324는 전체적으로 상기 단말기의 동작을 정의하고 상기 단말기 장치의 다양한 요소들의 동작을 결정하는 다른 권고들을 참조한다. 전형적으로, 이러한 멀티미디어 단말기는, 비록 그것의 사용이 결코 애플리케이션에 제한되지 않을지라도, 비디오 전화와 같은 실시간 멀티미디어 애플리케이션들에서 사용된다. 예를 들어, H.324 멀티미디어 단말기는 또한 예를 들어 멀티미디어 콘텐츠 서버로부터 멀티미디어 콘텐츠를 다운로드하거나 스트리밍하기 위한 멀티미디어 콘텐츠 검색 클라이언트로서 사용될 수 있다.
본 발명과 관련하여, 도 16에 도시된 상기 H.324 단말기는 본 창의적인 방법의 적용에 적합화된 다수의 대안적인 멀티미디어 단말기 구현들 중 단지 하나이다. 또한 다수의 대안들이 상기 단말기 장치의 배치 및 구현과 관련하여 존재한다는 것은 주목되어야 한다. 도 16에 도시된 바와 같이, 상기 멀티미디어 단말기는 아날로그 일반 전화 교환망(PSTN)과 같은 고정선 전화망에 연결된 통신 장치에 위치할 수 있다. 이 경우, 상기 멀티미디어 단말기에는 ITU-T 권고 V.8, V.34 및 선택적으로 V.8bis를 준수하는, 모뎀(171)이 구비된다. 대안적으로, 상기 멀티미디어 단말기는 외부 모뎀에 연결될 수 있다. 상기 모뎀은 상기 다중화된 디지털 데이터 및 상기 멀티미디어 단말기에 의해 생성된 제어 신호들을 상기 PSTN상에서 전송하기에 적합한 아날로그 형태로 변환할 수 있다. 추가로 그것은 상기 멀티미디어 단말기가 상기 PSTN 으로부터 아날로그 형태로 데이터 및 제어 신호를 수신할 수 있게 하고 그들을 역다중화될 수 있고 상기 단말기에 의해 적합한 방식으로 처리될 수 있는 디지털 데이터 스트림으로 변환할 수 있게 한다.
H.324 멀티미디어 단말기는 또한 그것이 종합 정보 통신망(ISDN: Integrated Services Digital Network)과 같은, 디지털 고정선 네트워크에 직접 연결될 수 있는 방식으로 구현될 수 있다. 이 경우, 상기 단말기는 H.324/I(ITU-T 권고 H.324의 부록 D)에 따라 구현되고 상기 모뎀(171)은 ITU-T I.400 시리즈의 권고들에 따라 ISDN 사용자-네트워크 인터페이스로 대체된다. 도 16에서, 이 ISDN 사용자-네트워크 인터페이스는 블록 172로 표시된다.
H.324 멀티미디어 단말기들은 또한 이동 통신 애플리케이션들에서 사용하기 위해 적합화될 수 있다. 권고 H.324의 부록 C는 오류가 발생하기 쉬운 전송 환경들에서 사용하기 위해 H.324 단말기를 적합화하는 다수의 변경들이 제시된다. 대부분의 이들 변경들은 특히 데이터 스트림들(ITU-T 권고 H.223)을 결합하는데 사용되는 다중화 프로토콜에 적용되고, 채널 오류들에 기인한 데이터 손실 및 손상에 더 강건한 비트-스트림을 생성하도록 의도된다. 이들 변경들의 사용이 이동 통신에 한정되지 않을지라도, 그들은 이러한 종류의 통신 링크에서 전형적으로 경험되는 비교적 높은 비트-오류율들 때문에 이동 애플리케이션들에서 사용하기에 특히 적합하다. H.324 부록 C는 또한 이동 애플리케이션들에서, 상기 모뎀(171)이 도 16에서 블록 173으로 표시된 바와 같이, 어떤 적합한 무선 인터페이스로 대체될 수 있다는 것을 기술한다(문단 C.3). 따라서, H.324 부록 C에 따라 구현된 이동 멀티미디어 단말기(일반적으로 H.324/M 단말기라고 지칭됨)는 어떤 현재의 이동 통신 네트워크또는 미래의 이동 통신 네트워크에서 사용하기에 적합한 무선부를 통합할 수 있다. 예를 들어, H.324/M 멀티미디어 단말기는 현재의 2세대 GSM 이동 전화 네트워크 또는 제안된 3세대 범용 이동 전화 시스템(UMTS: Universal Mobile Telephone System)으로의 접속을 가능하게 하는 무선 송수신기를 포함할 수 있다.
그러나, 상기 멀티미디어 단말기는 구현되고 비록 그것이 어디에 위치할지라도, 회선 교환 및 패킷-기반 통신 링크들 양자를 포함하고, 무선 링크를 포함하는 이동 통신 네트워크를 포함할 수 있는 통신 네트워크와 멀티미디어 콘텐츠를 교환할 가능성이 있다. 예를 들어, ISDN 네트워크에 연결된 H.324/I 멀티미디어 단말기는 PLMN 이동 전화 네트워크에서 H.324/M 단말기와 접속할 수 있다. 상기 네트워크를 통해 상기 단말기들 간에 전송되는 멀티미디어 데이터는 오류 및 데이터 손실의 다양한 소스들에 종속될 것이다. 이들은 예를 들어 상기 무선 통신 링크에 영향을 미치는 간섭에 기인한 비트-역전 오류들 및 핵심 ISDN 네트워크에서의 가능한 정체로 인한 패킷 손실들을 포함할 가능성이 있다. 따라서, 전송 오류들에 대해 높은 회복성을 갖는 비디오 비트-스트림을 제공하는 방식으로 통신하는 멀티미디어 단말기들의 비디오 부호기들을 구현하는 것이 유리하다. 본문에서 일찍이 설명된 바와 같이, 본 발명에 의한 비디오 부호화 방법은 부가적인 오류-회복성을 갖는 시간 예측 기술들을 사용하여 압축된 비디오 시퀀스들을 제공한다. 그러므로, 그것은 멀티미디어 단말기들, 특히 오류를 일으키기 쉬운 통신 채널들상에서 사용될 가능성이 있는 장치들에서의 구현을 위해 이상적으로 적합하다.
양방향 통신, 즉 비디오 데이터의 전송 및 수신을 위해 설계된 멀티미디어단말기들에서, 본 발명에 따라 구현된 비디오 부호기 및 비디오 복호기 양자를 제공할 필요가 있다는 것은 주목되어야 한다. 본 발명의 실시예에 의한 비디오 부호기는 프레임들이 압축되는 순서를 변경할 수 있기 때문에, 수신 단말기의 비디오 복호기가 표시하기 전에 상기 수신된 프레임들을 정확하게 순서화할 필요가 있다. 따라서, 본 발명에 의한 전형적인 멀티미디어 단말기는 이전에 설명된 부호화/복호화 방법들을 구현하는 부호기/복호기 쌍을 포함할 것이다. 이러한 부호기 및 복호기 쌍은 종종 '코덱(codec)'이라고 지칭되는 단일 결합 기능 장치로서 구현된다. 다른 한편으로, 상기 멀티미디어 단말기가 멀티미디어 검색 클라이언트로서만 사용하기 위해 의도되는 경우, 그것은 본 발명에 따라 구현된 복호기만을 포함할 필요가 있다.
이제 전형적인 H.324 멀티미디어 단말기가 도 16을 참조하여 더 상세히 설명될 것이다. 멀티미디어 단말기(160)는 다양한 소위 '단말기 장치'를 포함한다. 이것은 일반적으로 각각 참조 번호들 161, 162 및 163으로 표시된 비디오, 오디오 및 텔레마틱(telematic) 장치들을 포함한다. 비디오 장치(161)는 예를 들어 비디오 이미지들을 캡처하기 위한 비디오 카메라, 수신된 비디오 콘텐츠를 표시하기 위한 모니터 및 선택적인 비디오 처리 장치를 포함할 수 있다. 상기 오디오 장치(162)는 전형적으로 구두(spoken) 메시지들을 캡처하기 위한 마이크로폰 및 수신된 오디오 콘텐츠를 재생하기 위한 라우드스피커를 포함한다. 상기 오디오 장치는 또한 부가적인 오디오 처리 장치들을 포함할 수 있다. 상기 텔레마틱 장치(163)는 데이터 단말기, 키보드, 전자 화이트보드 또는 팩스 장치와 같은 정지 화상 송수신기를 포함할 수 있다.
상기 비디오 장치는 비디오 코덱(165)에 연결된다. 상기 비디오 코덱은 비디오 부호기 및 대응하는 비디오 복호기를 포함한다. 그것은 통신 링크상에서 추가 전송을 위해 적합한 형태로 캡처된 비디오 데이터를 부호화하고 상기 통신 네트워크로부터 수신되는 압축된 비디오 콘텐츠를 복호화하는 것을 담당한다. 도 16에 도시된 예에서, 상기 비디오 코덱은, 특히 저 비트율 비디오 회의 애플리케이션들에서 사용하기에 적합한 ITU-T 권고 H.263에 따라 구현되는데, 상기 통신 링크는 예를 들어 20kbps의 이용가능한 대역폭을 갖는 무선 채널이다.
유사하게, 상기 단말기의 오디오 장치는 참조 번호 166으로 도 16에 표시된, 오디오 코덱에 연결된다. 본 예에서, 상기 오디오 코덱은 ITU-T 권고 G.723.1에 따라 구현된다. 상기 비디오 코덱과 마찬가지로, 상기 오디오 코덱은 부호기/복호기 쌍을 포함한다. 그것은 상기 단말기의 오디오 장치에 의해 캡처된 오디오 데이터를 통신 링크상에서 전송하기에 적합한 형태로 변환하고 상기 네트워크로부터 수신되는 부호화된 오디오 데이터를 예를 들어 상기 단말기의 라우드스피커에서 재생하기에 적합한 형태로 다시 변환한다. 상기 오디오 코덱의 출력은 지연부(167)로 전달된다. 이것은 상기 비디오 부호화 프로세스에 의해 야기된 지연들을 보상하고 따라서 오디오 및 비디오 콘텐츠의 동기화를 보장한다.
상기 멀티미디어 단말기의 시스템 제어부(164)는 전송 및 수신 단말기간의 공통 동작 모드를 설정하기 위하여 종단-대-네트워크(end-to-network) 시그널링을 제어한다. H.324는 단-대-단(end-to-end) 시그널링이 ITU-T 권고 H.245에서 정의된제어 프로토콜을 사용하여 수행될 것을 명시한다. 도 16에서 참조 번호 168로 표시된, 상기 H.245 제어 프로토콜은 상기 전송 및 수신 단말기들의 부호화 및 복호화 능력들에 대한 정보를 교환하고 상기 비디오 부호기의 다양한 부호화 방식들을 가능하게 하는데 사용될 수 있다. 또한 상기 시스템 제어부(164)는 ITU-T 권고 H.233에 따라 데이터 암호화의 사용을 제어한다. 데이터 전송에서 사용될 암호화의 유형에 관한 정보는 암호화부(169)로부터 다중화기/역다중화기(MUX/DMUX 유닛)(170)로 전달된다.
상기 멀티미디어 단말기로부터의 데이터 전송 동안, 상기 다중화기/역다중화기(170)는 단일 비트-스트림을 형성하기 위하여, 부호화되고 동기화된 비디오 및 오디오 스트림들을 상기 텔레마틱 장치(163)로부터 입력된 데이터와 결합한다. 암호화부(169)에 의해 제공된, 상기 비트-스트림에 적용될 (만약에 있다면) 데이터 암호화의 유형에 관한 정보는 암호화 방식을 선택하는데 사용된다. 대응하여, 다중화되고 아마도 암호화된 멀티미디어 비트-스트림이 수신되고 있을 때, 다중화기/역다중화기(170)는 상기 비트-스트림을 해독하고, 그것을 그것의 구성하는 멀티미디어 성분들로 분할하며 복호화 및 재생을 위해 상기 성분들을 적합한 코덱(들) 및/또는 단말기 장치로 전달하는 것을 담당한다. H.324 표준에 따라, 다중화기/역다중화기(170)는 ITU-T 권고 H.223을 구현해야 한다.
본 발명에 의한 상기 멀티미디어 콘텐츠 생성 시스템, 멀티미디어 단말기, 멀티미디어 검색 클라이언트, 비디오 부호기, 복호기 및 비디오 코덱의 기능 요소들이 소프트웨어 또는 전용 하드웨어 또는 그 둘의 조합으로서 구현될 수 있다는것은 주목되어야 한다. 본 발명에 의한 상기 비디오 부호화 및 복호화 방법들은 본 발명의 기능적 단계들을 수행하기 위한 기계-독출가능 명령들을 포함하는 컴퓨터 프로그램의 형태로 구현하기에 특히 적합하다. 그것으로서, 본 발명에 의한 상기 부호기 및 복호기는 비디오 부호화 및/또는 복호화 기능을 갖는 컴퓨터를 제공하기 위하여, 저장 매체에 저장되고 개인용 데스크톱 컴퓨터와 같은, 컴퓨터에서 실행되는 소프트웨어 코드로서 구현될 수 있다.
본 발명에 의해 제공되는 이점들을 강조하기 위하여, 패킷 손실 상황에서의 그것의 행동이 시뮬레이션 장치의 결과들을 고려함으로써 조사될 것이다. 이 예에서, 본 발명에 의한 부호화 방법을 구현하도록 설계된 비디오 부호기는 초당 10 프레임의 속도로 QCIF(1/4 공통 중간 포맷) 비디오 프레임들을 부호화하는데 사용되는 것으로 가정된다. 주기적인 인트라 프레임 요청들은 5초 간격으로 발생하지만, 아무런 인트라 프레임 요청도 상기 비디오 시퀀스내의 장면 컷들로 인해 일어나지 않는다. 인트라 부호화된 프레임을 나타내는데 필요한 데이터의 양은 2000 바이트인 것으로 가정되고 인터 프레임의 크기는 대략 200 바이트이다. 이들 수치들은 ITU-T 권고 H.263과 같은 현재 사용되는 비디오 부호화 표준들에 따라 부호화된 인트라 및 인터 부호화된 QCIF 포맷 프레임들의 전형이다.
인터넷 및 근거리 통신망(LAN)에서 데이터 전송을 위해 사용되는 프로토콜 데이터 유닛의 전형적인 최대 크기는 대략 1500 바이트이다. 이 패킷 크기를 가정하면, 전형적인 인트라 부호화된 프레임은 그것의 전송을 위해 2개의 패킷들을 필요로 한다. 다른 한편으로, 하나의 패킷은 7개의 인터 프레임들을 운반할 수 있다.이것은 5초의 비디오를 구성하는, 50 프레임들을 전송하기 위하여, 총 9개의 패킷들이 요구됨을 의미한다. 상기 시퀀스가 (평소대로) 인트라 프레임에서 시작한다고 가정하면, 전형적인 5초의 비디오 시퀀스는 하나의 인트라 프레임 및 49개의 인터 부호화된 프레임들을 포함한다. 상술된 바와 같이, 상기 인트라 프레임은 그것의 전송을 위해 2개의 패킷들을 필요로 하고, 반면에 나머지 49개의 인터 부호화된 프레임들은 7개의 패킷들에 수용될 수 있어서, 총 9개의 패킷들이 요구된다. 인터넷상에서의 데이터 전송을 위해 큰 패킷들을 사용하는 것이 유리하다는 것은 주목되어야 한다. 첫째로, 인터넷 백본내에서, 패킷 손실의 가능성은 본질적으로 패킷 크기와 관계없고 둘째로, 패킷 헤더 오버헤드는 큰 패킷들이 사용되는 경우 감소된다.
본 발명에 의한 부호화 방법을 적용할 때, 상기 부호기는 들어오는 비디오 프레임들을 QCIF 포맷으로 저장하기 위하여 지속 시간이 5초 + 1 프레임인 버퍼를 사용한다. 상기 부호화 프로세스가 개시될 때, 상기 버퍼는 초기에 비어 있고, 압축되지 않은 QCIF 비디오 프레임들로 채워진다. 상기 시퀀스에서 첫번째 프레임은 인트라 요청과 관련된다. 본 예에서 상기 버퍼의 길이는 주기적인 인트라 리프레시 요청 속도와 일치하도록 선택되기 때문에 그리고 아무런 장면 컷이나 인트라 프레임 갱신 요청도 고려되는 시간 주기 동안 일어나지 않기 때문에, 상기 버퍼에 저장된 마지막 프레임은 다음 인트라 요청과 관련될 것이다. 따라서, 상기 부호기는 그 발생 시간이 대략 상기 2개의 인트라 프레임 요청들 사이에서 중간쯤인 압축되지 않은 프레임을 상기 버퍼내에 배치할 수 있다. 이 프레임은 인트라 포맷으로 부호화하기 위해 선택되고 (즉 그것은 실제 인트라 프레임이 되도록 선택된다) 이전에 설명된 부호화 프로세스들이 상기 버퍼내의 상기 프레임들에 적용된다. 여기에서 고려되는 시뮬레이션에 있어서, 부호화된 후, 이제 압축된 비디오 프레임들은 패킷-기반 통신 네트워크에서 전송되고 상기 통신 채널은 전송된 패킷들의 어떤 부분의 손실을 초래하는 정체에 종속된다고 가정된다. 상기 시뮬레이션된 비트율은 28.8kbps 모뎀을 사용하여 인터넷상에서 오디오비디오 스트리밍을 위한 목표 비트율인 18880bps이다.
다음 표들은 본 발명에 의한 부호화 방법의 오류 회복성과 종래의 부호화 방식의 오류 회복성을 비교한 것으로, 인트라 요청들과 관련된 모든 프레임들은 그들 스스로 인트라 포맷으로 부호화된다(즉 도 7에 도시된 바와 같이). 표 4는 평균적으로, 매 9개에서 하나의 패킷이 손실되는 경우(11% 패킷 손실)에 대한 프레임-손실 수치들을 나타낸 것이고, 반면에 표 5는 매 9개에서 2개의 패킷이 손실되는 상황(22% 패킷 손실)에 대한 동등한 수치들을 나타낸 것이다.
11% 패킷 손실을 갖는 종래 및 발명된 방법들의 프레임 손실률들
종래 방법 발명된 방법
예기되는 손실 픽처들의 수 33 25
예기되는 픽처 손실률 66% 49%
22% 패킷 손실을 갖는 종래 및 발명된 방법들의 프레임 손실률들
종래 방법 발명된 방법
예기되는 손실 픽처들의 수 43 35
예기되는 픽처 손실률 85% 71%
상기에 제시된 양자의 경우들은 본 발명에 의한 방법이 사용될 때 더 적은 프레임들이 손실된다는 것을 보여준다.
상기한 본문에서, 본 발명에 의한 방법이 예시적인 실시예들의 도움으로 설명되었다. 본 발명이 상기한 예시적인 실시예들의 엄밀한 상세에 한정되지 않는다는 것과 본 발명이 본 발명의 핵심적인 속성들과 특징들을 벗어나지 않고 다른 형태들로 구현될 수 있다는 것은 당업자에게 명백해야 한다. 그러므로, 상기에 제시된 예시적인 실시예들은 제한하는 것이라기 보다 예시적인 것으로 간주되어야 한다. 따라서, 본 발명의 범위의 표시로서 첨부된 특허 청구항들 및 여기에 제시된 창의적인 개념들의 일반적인 설명이 참조되어야 한다.
더욱이, 본 명세서(명세서라는 용어는 청구항들을 포함함)에 개시 및/또는 도면들에 도시된 각 특징은 다른 개시 및/또는 도시된 특징들과 관계없이 본 발명에 포함될 수 있다. 이점에 대해서, 본 발명은 그것이 청구된 발명에 관련되는지 또는 제기된 어떤 문제 또는 모든 문제들을 완화하는지에 상관없이, 어떤 신규한 특징 또는 여기에 명백하게 개시된 특징들의 조합 또는 그것의 어떤 일반화를 포함한다.
이것과 함께 제출되는 첨부된 요약서는 참조로써 본 명세서에 포함된다.

Claims (34)

  1. 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하는 방법으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계;
    상기 제1 표시를 제2 비디오 프레임과 연관시키는 단계;
    상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하는 단계;
    상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하는 단계;
    상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하는 단계;
    상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하는 단계; 및
    상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 비-시간적으로 예측된 포맷은 인트라(INTRA) 프레임 포맷이고, 상기 시간적으로 예측된 포맷은 순방향 예측된 인터(INTER) 프레임 포맷인 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 비-시간적으로 예측된 포맷은 인트라(INTRA) 프레임 포맷이고, 상기 시간적으로 예측된 포맷은 역방향 예측된 B-프레임 포맷인 것을 특징으로 하는 방법.
  4. 제2항에 있어서,
    상기 N 비디오 프레임들의 제1 세트의 부호화는,
    상기 N 비디오 프레임들 각각에 순차 압축 순서 번호를 할당하는 단계로서, 가장 나중에 발생한 상기 제1 세트의 비디오 프레임에는 최저 압축 순서 번호가 할당되고 가장 일찍 발생한 비디오 프레임에는 최고 압축 순서 번호가 할당되는 단계;
    상기 제2 비디오 프레임을, 상기 최저 압축 순서 번호를 갖는 상기 비디오 프레임을 부호화하기 위한 예측 참조 프레임으로서 나타내는 단계; 및
    압축 순서 번호의 올림차순으로 상기 비디오 프레임들의 제1 세트를 상기 순방향 예측 인터(INTER) 프레임 포맷으로 부호화하는 단계에 의해 달성되는 것을 특징으로 하는 방법.
  5. 제3항에 있어서,
    상기 비디오 프레임들의 제1 세트의 부호화는,
    상기 제2 비디오 프레임들을 상기 N 비디오 프레임들 각각에 대한 예측 참조 프레임으로서 나타내는 단계; 및
    상기 N 비디오 프레임들 각각을 상기 역방향 예측 B-프레임 포맷으로 부호화하는 단계에 의해 달성되는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 M 비디오 프레임들의 제2 세트의 부호화는,
    상기 M 비디오 프레임들 각각에 순차 압축 순서 번호를 할당하는 단계로서, 가장 일찍 발생한 상기 제2 세트의 비디오 프레임에는 최저 압축 순서 번호가 할당되고 가장 나중에 발생한 제2 세트의 비디오 프레임에는 최고 압축 순서 번호가 할당되는 단계;
    상기 제2 비디오 프레임을, 상기 최저 압축 순서 번호를 갖는 상기 비디오 프레임을 부호화하기 위한 예측 참조 프레임으로서 나타내는 단계; 및
    압축 순서 번호의 올림차순으로 상기 비디오 프레임들의 제2 세트를 인터(INTER) 프레임 포맷으로 부호화하는 단계에 의해 달성되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 제1 표시는 장면 컷(scene cut)과 연관된 인트라(INTRA) 프레임 요청인 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 제1 표시는 주기적인 인트라(INTRA) 프레임 요청인 것을 특징으로 하는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    추가 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 제2 표시를 식별하는 단계; 및
    상기 제1 비디오 프레임과, 상기 제1 비디오 프레임 및 상기 추가 비디오 프레임 간에 발생하는 프레임들을 포함하는 일 그룹의 프레임들에 대해, 상기 제2 비디오 프레임을 상기 프레임들의 그룹내에서 실질적으로 중심적으로 발생하는 프레임으로서 정의하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서, 상기 제2 표시는 장면 컷(scene cut)과 연관된 인트라(INTRA) 프레임 요청인 것을 특징으로 하는 방법.
  11. 제9항에 있어서, 상기 제2 표시는 주기적인 인트라(INTRA) 프레임 요청인 것을 특징으로 하는 방법.
  12. 제9항에 있어서, 상기 제2 표시는 수신 단말기로부터 피드백으로서 수신된 인트라(INTRA) 프레임 갱신 요청인 것을 특징으로 하는 방법.
  13. 제9항에 있어서, n을 양의 정수이고 짝수라 할 때, 일 그룹의 n 프레임들에 대해, 상기 제2 프레임은 상기 프레임들의 그룹의 n/2 프레임인 것을 특징으로 하는 방법.
  14. 제9항에 있어서, n을 양의 정수이고 짝수라 할 때, 일 그룹의 n 프레임들에 대해, 상기 제2 프레임은 상기 프레임들의 그룹의 (n/2 + 1) 프레임인 것을 특징으로 하는 방법.
  15. 제9항에 있어서, n을 양의 정수이고 홀수라 할 때, 일 그룹의 n 프레임들에 대해, 상기 제2 프레임은 상기 프레임들의 그룹의 (n+1)/2 프레임인 것을 특징으로 하는 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 압축 비디오 시퀀스의 상기 프레임들의 의도된 재생 순서에 관한 정보를 상기 압축 비디오 시퀀스와 연관시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 압축 비디오 시퀀스의 상기 프레임들의 의도된 재생 시간에 관한 정보를 상기 압축 비디오 시퀀스와 연관시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 비디오 부호기에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 수단;
    상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 수단;
    상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 수단;
    상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 수단;
    상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 수단;
    상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는비디오 프레임들의 제2 세트를 정의하기 위한 수단; 및
    상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 부호기.
  19. 제18항에 의한 비디오 부호기를 포함하는 것을 특징으로 하는 비디오 코덱.
  20. 제18항에 의한 비디오 부호기를 포함하는 것을 특징으로 하는 멀티미디어 콘텐츠 생성 시스템.
  21. 제18항에 의한 비디오 부호기를 포함하는 것을 특징으로 하는 멀티미디어 단말기.
  22. 제21항에 있어서, 상기 단말기는 무선 통신 장치인 것을 특징으로 하는 멀티미디어 단말기.
  23. 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하는 방법으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계;
    상기 제1 비디오 프레임을 복호화하는 단계;
    상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하는 단계;
    상기 N 비디오 프레임들의 상기 제1 세트를 복호화하는 단계;
    상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임들의 제1 세트의 프레임들을 순서화하는 단계;
    상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하는 단계; 및
    상기 비디오 프레임들의 제2 세트를 복호화하는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 비디오 복호기에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 수단;
    상기 제1 비디오 프레임을 복호화하기 위한 수단;
    상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 수단;
    상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 수단;
    상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 제1 세트의 프레임들을 순서화하기 위한 수단;
    상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하기 위한 수단; 및
    상기 비디오 프레임들의 제2 세트를 복호화하기 위한 수단을 포함하는 것을 특징으로 하는 비디오 복호기.
  25. 제24항에 의한 비디오 복호기를 포함하는 것을 특징으로 하는 비디오 코덱.
  26. 제24항에 의한 비디오 복호기를 포함하는 것을 특징으로 하는 멀티미디어 콘텐츠 검색 시스템.
  27. 제24항에 의한 비디오 복호기를 포함하는 것을 특징으로 하는 멀티미디어 단말기.
  28. 제27항에 있어서, 상기 단말기는 무선 통신 장치인 것을 특징으로 하는 멀티미디어 단말기.
  29. 컴퓨터를, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서 동작시키기 위한 컴퓨터 프로그램으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 컴퓨터 프로그램에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드;
    상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 컴퓨터 실행가능 코드;
    상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하기 위한 컴퓨터 실행가능 코드; 및
    상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  30. 컴퓨터를, 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서 동작시키기 위한 컴퓨터 프로그램으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 컴퓨터 프로그램에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임을 복호화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 컴퓨터 실행가능 코드;
    상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 제1 세트의 프레임들을 순서화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 M 비디오 프레임들의 제2 세트를 수신하기 위한 컴퓨터 실행가능 코드; 및
    상기 비디오 프레임들의 제2 세트를 복호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  31. 제29항 및 제30항에 의한 컴퓨터 프로그램.
  32. 컴퓨터를, 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하기 위한 비디오 부호기로서 동작시키기 위한 컴퓨터 프로그램을 포함하는 저장 매체로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 저장 매체에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드;
    상기 제1 표시를 제2 비디오 프레임과 연관시키기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임을 상기 제1 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임 이전에 발생하는 N 비디오 프레임들을 포함하는 비디오 프레임들의 제1 세트를 정의하기 위한 컴퓨터 실행가능 코드;
    상기 비디오 프레임들의 제1 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드;
    상기 제2 비디오 프레임들 이후에 발생하는 M 비디오 프레임들을 포함하는 비디오 프레임들의 제2 세트를 정의하기 위한 컴퓨터 실행가능 코드; 및
    상기 비디오 프레임들의 제2 세트를 상기 제2 압축 비디오 프레임 포맷으로 부호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 저장 매체.
  33. 컴퓨터를, 압축해제된 비디오 프레임들의 시퀀스를 형성하기 위하여 압축된 비디오 시퀀스를 복호화하기 위한 비디오 복호기로서 동작시키기 위한 컴퓨터 프로그램을 포함하는 저장 매체로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 저장 매체에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어 있다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임을 복호화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임 이전의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷의 N 프레임들의 제1 세트를 수신하기 위한 컴퓨터 실행가능 코드;
    상기 N 비디오 프레임들의 상기 제1 세트를 복호화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 세트의 상기 프레임들과 연관된 재생 정보에 따라 상기 프레임의 상기 제1 세트의 프레임들을 순서화하기 위한 컴퓨터 실행가능 코드;
    상기 제1 비디오 프레임 이후의 상기 압축해제된 비디오 시퀀스에 포함시키기 위하여 상기 제2 압축 비디오 프레임 포맷으로 M 비디오 프레임들의 제2 세트를 수신하기 위한 컴퓨터 실행가능 코드; 및
    상기 비디오 프레임들의 제2 세트를 복호화하기 위한 컴퓨터 실행가능 코드를 포함하는 것을 특징으로 하는 저장 매체.
  34. 압축된 비디오 시퀀스를 형성하기 위하여 비디오 프레임들의 시퀀스를 부호화하는 방법으로서, 상기 압축된 비디오 시퀀스는 적어도 제1 압축 비디오 프레임 포맷 및 제2 압축 비디오 프레임 포맷으로 부호화된 프레임들을 포함하고, 상기 제1 압축 비디오 프레임 포맷은 비-시간적으로 예측된 포맷이며 상기 제2 압축 비디오 프레임 포맷은 시간적으로 예측된 포맷인, 방법에 있어서,
    제1 비디오 프레임이 상기 제1 압축 비디오 프레임 포맷으로 부호화되어야 한다는 상기 제1 비디오 프레임과 연관된 제1 표시를 식별하는 단계; 및
    상기 제1 표시를, 상기 압축 비디오 시퀀스에서의 예측 경로 길이를 감소시키는 방식으로 제2 비디오 프레임과 연관시키는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020027016878A 2000-06-30 2001-06-28 비디오 오류 회복 KR100945548B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0016243A GB2364459B (en) 2000-06-30 2000-06-30 Video error resilience
GB0016243.8 2000-06-30
PCT/EP2001/007366 WO2002001882A2 (en) 2000-06-30 2001-06-28 Video error resilience

Publications (2)

Publication Number Publication Date
KR20030014709A true KR20030014709A (ko) 2003-02-19
KR100945548B1 KR100945548B1 (ko) 2010-03-08

Family

ID=9894877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027016878A KR100945548B1 (ko) 2000-06-30 2001-06-28 비디오 오류 회복

Country Status (15)

Country Link
US (2) US20020041629A1 (ko)
EP (1) EP1300024A2 (ko)
JP (1) JP4949591B2 (ko)
KR (1) KR100945548B1 (ko)
CN (2) CN100473169C (ko)
AU (1) AU2001291657A1 (ko)
BR (1) BR0111218A (ko)
CA (1) CA2412722C (ko)
EE (1) EE200200719A (ko)
GB (1) GB2364459B (ko)
HK (1) HK1088161A1 (ko)
HU (1) HUP0302078A3 (ko)
MX (1) MXPA02011734A (ko)
WO (1) WO2002001882A2 (ko)
ZA (1) ZA200208713B (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002034021A (ja) * 2000-07-14 2002-01-31 Mitsubishi Electric Corp 画像信号蓄積再生装置および画像信号送信装置
KR20050030955A (ko) * 2002-07-24 2005-03-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 비디오 신호를 엔코딩하는 방법 및 엔코더
US7796499B2 (en) * 2003-12-05 2010-09-14 Telefonaktiebolaget L M Ericsson (Publ) Method of and system for video fast update
US7676722B2 (en) * 2004-03-31 2010-03-09 Sony Corporation Multimedia content delivery using pre-stored multiple description coded video with restart
US7958252B2 (en) * 2004-05-04 2011-06-07 Qualcomm Incorporated System for scalable transmission of content in a data network
EP1766990A1 (en) * 2004-07-07 2007-03-28 Thomson Licensing Fast channel change in digital video broadcast systems over dsl using redundant video streams
US7561620B2 (en) * 2004-08-03 2009-07-14 Microsoft Corporation System and process for compressing and decompressing multiple, layered, video streams employing spatial and temporal encoding
WO2006046212A1 (en) * 2004-10-29 2006-05-04 Koninklijke Philips Electronics N.V. Splicing mpeg streams
US8006279B2 (en) * 2004-12-10 2011-08-23 Alcatel Lucent Distributive system for marking and blocking video and audio content related to video and audio programs
JP2007214010A (ja) * 2006-02-10 2007-08-23 Seiko Epson Corp 放電灯点灯装置及びプロジェクタ
KR100775176B1 (ko) * 2006-03-10 2007-11-12 엘지전자 주식회사 동영상 정보를 썸네일로 재생하는 방법 및 이를 이용한단말기
DE102006012449A1 (de) * 2006-03-17 2007-09-20 Benq Mobile Gmbh & Co. Ohg Verfahren zum Dekodieren eines Datenstroms und Empfänger
US8279928B2 (en) * 2006-05-09 2012-10-02 Canon Kabushiki Kaisha Image encoding apparatus and encoding method, image decoding apparatus and decoding method
US7868879B2 (en) * 2006-05-12 2011-01-11 Doremi Labs, Inc. Method and apparatus for serving audiovisual content
WO2008031263A1 (en) * 2006-09-07 2008-03-20 Thomson Licensing Method and apparatus for encoding groups of pictures of a video sequence, each of said groups including an intra encoded picture and more than two predicted encoded pictures
US8711929B2 (en) * 2006-11-01 2014-04-29 Skyfire Labs, Inc. Network-based dynamic encoding
US9247260B1 (en) 2006-11-01 2016-01-26 Opera Software Ireland Limited Hybrid bitmap-mode encoding
DE102006057983A1 (de) * 2006-12-08 2008-06-12 Siemens Ag Verfahren zur Vidoecodierung einer Folge digitalisierter Bilder
WO2008092104A2 (en) * 2007-01-25 2008-07-31 Skyfire Labs, Inc. Dynamic client-server video tiling streaming
US8055779B1 (en) 2007-05-10 2011-11-08 Adobe Systems Incorporated System and method using data keyframes
WO2008139465A2 (en) * 2007-05-10 2008-11-20 Yeda Research And Development Co. Ltd. Bidirectional similarity of signals
US9979931B2 (en) * 2007-05-30 2018-05-22 Adobe Systems Incorporated Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device
US8180029B2 (en) * 2007-06-28 2012-05-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8194741B2 (en) * 2007-10-12 2012-06-05 Broadcom Corporation Method and system for processing B pictures with missing or invalid forward reference pictures
US8145780B2 (en) * 2007-10-19 2012-03-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8111713B2 (en) 2007-10-19 2012-02-07 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8391312B2 (en) 2007-10-19 2013-03-05 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8699678B2 (en) 2007-10-19 2014-04-15 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8090867B2 (en) * 2007-10-19 2012-01-03 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8682336B2 (en) * 2007-10-19 2014-03-25 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8321581B2 (en) * 2007-10-19 2012-11-27 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8380874B2 (en) 2007-10-19 2013-02-19 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US8001261B2 (en) 2007-10-19 2011-08-16 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US20090103529A1 (en) * 2007-10-19 2009-04-23 Rebelvox, Llc Telecommunication and multimedia management method and apparatus
CN101192903B (zh) * 2007-11-28 2011-08-03 腾讯科技(深圳)有限公司 数据帧编解码控制方法
CN101232619B (zh) * 2008-01-25 2011-05-11 浙江大学 嵌入帧内编码块的视频编码方法
US8902996B2 (en) 2008-02-26 2014-12-02 Richwave Technology Corp. Adaptive wireless video transmission systems and methods
US8265171B2 (en) * 2008-02-26 2012-09-11 Richwave Technology Corp. Error resilient video transmission using instantaneous receiver feedback and channel quality adaptive packet retransmission
CN101931807B (zh) * 2010-06-29 2016-07-06 无锡中感微电子股份有限公司 验证多媒体播放器容错性的方法和装置
JP5978574B2 (ja) * 2011-09-12 2016-08-24 ソニー株式会社 送信装置、送信方法、受信装置、受信方法および送受信システム
US9407923B2 (en) 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
CN105684409B (zh) 2013-10-25 2019-08-13 微软技术许可有限责任公司 在视频和图像编码和解码中使用散列值来表示各块
US10521086B1 (en) * 2013-12-17 2019-12-31 Amazon Technologies, Inc. Frame interpolation for media streaming
CN105393537B (zh) 2014-03-04 2019-08-27 微软技术许可有限责任公司 用于基于散列的块匹配的散列表构建和可用性检查
US10681372B2 (en) * 2014-06-23 2020-06-09 Microsoft Technology Licensing, Llc Encoder decisions based on results of hash-based block matching
MX2017004210A (es) 2014-09-30 2017-11-15 Microsoft Technology Licensing Llc Decisiones de codificador basadas en hash para codificar video.
US9900643B2 (en) 2014-10-10 2018-02-20 At&T Intellectual Property I, L.P. Method and apparatus for transmitting media content
CN105376595A (zh) * 2015-12-17 2016-03-02 杭州雄迈信息技术有限公司 一种视频混合编码系统和方法
US11095877B2 (en) 2016-11-30 2021-08-17 Microsoft Technology Licensing, Llc Local hash-based motion estimation for screen remoting scenarios
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
CN111641824B (zh) * 2019-03-01 2022-08-05 杭州海康威视数字技术股份有限公司 视频倒放方法及装置
US11202085B1 (en) 2020-06-12 2021-12-14 Microsoft Technology Licensing, Llc Low-cost hash table construction and hash-based block matching for variable-size blocks

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02200084A (ja) * 1989-01-30 1990-08-08 Victor Co Of Japan Ltd 高能率符号化方式
JPH02234586A (ja) * 1989-03-08 1990-09-17 Victor Co Of Japan Ltd 高能率符号化方式
US5146325A (en) 1991-04-29 1992-09-08 Rca Thomson Licensing Corporation Video signal decompression apparatus for independently compressed even and odd field data
EP0562845B1 (en) * 1992-03-24 1999-02-03 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus for a video recorder
JP2565057B2 (ja) 1992-06-30 1996-12-18 日本ビクター株式会社 フレ−ム間又はフィ−ルド間予測符号化方法
TW224553B (en) * 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
JP3711571B2 (ja) * 1994-09-29 2005-11-02 ソニー株式会社 画像符号化装置及び画像符号化方法
JP3591033B2 (ja) * 1995-02-15 2004-11-17 ソニー株式会社 符号化データの特殊再生方法および特殊再生装置
GB2301973B (en) * 1995-06-06 1999-10-20 Sony Uk Ltd Motion compensated video processing
US5774593A (en) * 1995-07-24 1998-06-30 University Of Washington Automatic scene decomposition and optimization of MPEG compressed video
JPH0974566A (ja) * 1995-09-04 1997-03-18 Sony Corp 圧縮符号化装置及び圧縮符号化データの記録装置
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6057893A (en) * 1995-12-28 2000-05-02 Sony Corporation Picture encoding method, picture encoding apparatus, picture transmitting method and picture recording medium
JP3823275B2 (ja) * 1996-06-10 2006-09-20 富士通株式会社 動画像符号化装置
JP3606306B2 (ja) * 1998-10-08 2005-01-05 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
US6526097B1 (en) * 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs

Also Published As

Publication number Publication date
WO2002001882A8 (en) 2004-04-29
WO2002001882A2 (en) 2002-01-03
JP2004502359A (ja) 2004-01-22
CN1738432A (zh) 2006-02-22
CN100473169C (zh) 2009-03-25
HUP0302078A2 (hu) 2003-09-29
AU2001291657A1 (en) 2002-01-08
MXPA02011734A (es) 2003-03-27
EP1300024A2 (en) 2003-04-09
GB0016243D0 (en) 2000-08-23
BR0111218A (pt) 2003-03-18
ZA200208713B (en) 2003-08-06
CN1449628A (zh) 2003-10-15
JP4949591B2 (ja) 2012-06-13
US20050123045A1 (en) 2005-06-09
GB2364459B (en) 2004-03-31
CA2412722A1 (en) 2002-01-03
GB2364459A (en) 2002-01-23
EE200200719A (et) 2004-08-16
CA2412722C (en) 2012-02-07
CN1738432B (zh) 2011-02-09
WO2002001882A3 (en) 2002-09-12
HK1088161A1 (en) 2006-10-27
HUP0302078A3 (en) 2005-10-28
US20020041629A1 (en) 2002-04-11
US8355437B2 (en) 2013-01-15
KR100945548B1 (ko) 2010-03-08

Similar Documents

Publication Publication Date Title
KR100945548B1 (ko) 비디오 오류 회복
KR100927159B1 (ko) 데이터 전송
JP5341629B2 (ja) ピクチャ復号化方法
KR100960282B1 (ko) 비디오 부호화
KR100711635B1 (ko) 화상 부호화 방법
JP2006524948A (ja) ピクチャをビットストリームにて符号化する方法、ビットストリームからピクチャを復号化する方法、ピクチャをビットストリームにて符号化するエンコーダ、ピクチャをビットストリームにて符号化するエンコーダを備える送信装置およびシステム、ビットストリームからピクチャを復号化するデコーダ、ならびに、ビットストリームからピクチャを復号化するデコーダを備える受信装置およびクライアント
JP4255685B2 (ja) 画像伝送方法および画像伝送装置
JP4892541B2 (ja) 画像伝送方法および画像伝送システム

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 10